一种多机器人救援任务分配方法组成比例

技术编号:20076420 阅读:29 留言:0更新日期:2019-01-15 01:01
本发明专利技术公开了一种多机器人救援任务分配方法,包括如下步骤:将救援灾区分成多个区域;对所述的多个区域的每一区域的被困人员进行分组;并统计每组中被困人员的个数以及救援序列;估算需要投入救援的机器人个数;对所述的每组被困人员救援序列采用微粒群算法优化得到机器人救援任务分配序列。本发明专利技术根据被困人员的位置信息,将被困人员分组,集中对同一组中被困人员救援,如此,同一组中被困人员在短时间便可以得到救援,提高了救援效率;采用微粒群算法对救援任务分配序列进行优化,保证救援时,不会发生一个被困人员被多个机器人重复救援的情况,避免了冲突的发生,可以使机器人在尽可能短的时间内完成救援任务。

A Multi-Robot Rescue Task Assignment Method

The invention discloses a multi-robot rescue task allocation method, which comprises the following steps: dividing the rescue disaster area into multiple areas; grouping the trapped persons in each area of the said multiple areas; counting the number of trapped persons in each group and rescue sequence; estimating the number of robots that need to be put into rescue; and adopting particles for each group of trapped persons rescue sequence. The task assignment sequence of robot rescue is optimized by swarm algorithm. According to the location information of the trapped person, the trapped person is grouped and rescued in the same group. Thus, the trapped person in the same group can be rescued in a short time and the rescue efficiency is improved. The particle swarm optimization algorithm is used to optimize the rescue task allocation sequence to ensure that no one trapped person is rescued repeatedly by multiple robots. The situation avoids the occurrence of conflict and enables the robot to complete the rescue task in as short a time as possible.

【技术实现步骤摘要】
一种多机器人救援任务分配方法
本专利技术涉及机器人救援方法,尤其涉及一种用于多机器人灾后救援任务分配方法。
技术介绍
受天文事件,地壳运动,奇异事件以及其他自然和社会因素的影响,长期以来,人类经常受到各种灾难的严重危害,灾难给人类的生产和生活造成了不可逆转的破坏。人类在抵抗灾难的过程中,积累了大量的防灾和救灾经验,现有的应对灾难的方法主要有灾前预测和灾后救援,对于部分自然灾难,比如地震、海啸,以及人为造成的灾难,比如爆炸,这些都无法预测,一旦发生,只能采取灾后救援的方式。一般地,灾后环境复杂且恶劣,救援人员深入灾区进行救援,如果发生二次灾难,势必对救援人员的生命安全造成威胁。考虑到机器人可以深入灾区,有效代替人类来完成各种复杂的救援任务,因此,越来越多的灾后救援机器人被用来代替救援人员来完成救援任务。灾难发生后,环境地貌大都遭到破坏,出现凹凸不平的现象,从而导致灾后地貌高低不一。此外,灾难发生后,被困人员的存活时间是有限的,而且不同被困人员的存活时间也不是不一样的,存活时间是随着时间递减的。救援的主要目标是在有限的时间内,要求机器人在考虑救援环境的复杂性,以及被困人员的存活时间约束等问题的同时,尽可在最短的时间以最小的成本完成救援任务。当灾难发生后,如何合理高效的对机器人分配救援任务,是机器人救援的难题。
技术实现思路
专利技术目的:本专利技术提供一种在最短的时间内,用最少的机器人去完成救援任务的多机器人救援任务分配方法。技术方案:为了达到上述专利技术目的,本专利技术给出一种多机器人救援任务分配方法,包括如下步骤:(1)将救援灾区分成多个区域;(2)对所述的多个区域的每一区域的被困人员进行分组:计算任意两个被困人员之间的距离,得到一个距离矩阵;针对某一区域,随机选择一个被困人员(i),以其为中心,将距离矩阵中的距离与被困人员(i)之间距离小于机器人搜索半径的被困人员与被困人员(i)归为同一组;如果没有满足上述条件的被困人员,则被困人员(i)自成一组;并统计每组中的被困人员的救援序列;(3)估算需要投入救援的机器人个数:计算所有被困人员与机器人起始点之间的直线距离,并将被困人员序号按照距离的长短从小到大进行排序,得到一个基于距离排序的整数序列,计算该整数列所需的投入救援机器人总个数;将所有被困人员按照生命期限从小到大的顺序进行排序,得到一个基于生命期限排序的整数序列,计算该整数列所需的投入救援机器人总个数;比较上述两个所投入救援的总机器人个数,取其最小值作为投入救援的机器人个数;(4)对步骤(2)中所述的每组中的被困人员救援序列采用微粒群优化算法求解出机器人救援任务分配序列。进一步,在步骤(1)中,根据救援灾区的地势的高低和地貌倾斜度将所述的救援灾区分成多个区域。进一步,在步骤(2)中需要检查每一区域以及各组中有无重复分配的被困人员,如果存在重复分配的被困人员,则统计重复分配组的被困人员个数,将重复分配的被困人员保留在被困人员个数最少的组内;如果组内被困人员个数相等,则保留在被困人员最密集的那组;统计分组数G;统计每组中被困人员的个数,如果被困人员的个数大于平均值,则需要将组内多余的被困人员移除并重新分组;针对其他区域的被困人员采用上述方法,统计并更新分组个数G、每组的被困人员个数gn以及每组中的被困人员救援序列GN。进一步,将组内多余的被困人员移除并重新分组,具体方法如下:(21)根据每组被困人员在三维空间坐标的位置,构造一个三维空间,并将此空间分为d1*d2*d3个三维网格,其中d1为x轴方向等分的个数,d2为y轴方向上等分的个数,d3为z轴方向上等分的个数;(22)查找每个网格中被困人员的个数,以被困人员个数最多的网格为基准,计算每个被困人员到该网格中心的距离,依次将距离最大的被困人员移出该组,直到该组中被困人员的个数等于平均值;(23)对移出的被困人员采用步骤(2)方法进行分组,统计每组中的被困人员个数,如果依然大于平均值,进行移除和重组操作,直到满足个数要求。5、根据权利要求1所述的一种多机器人救援任务分配方法,其特征在于:在步骤(3)中,估算需要投入救援的机器人个数的步骤如下:(31)计算所有被困人员与机器人起始点之间的直线距离,并将被困人员序号按照距离的长短从小到大进行排序,得到一个基于距离排序的整数序列;(32)选择步骤(31)中的所得序列的第一个被困人员,根据分组结果找出其所在的分组,采用机器人(1)对该组的所有被困人员实施救援,如果能够完成救援,则该组仅需一个机器人便能完成救援;反之,则再加一个机器人,直到能够将所有的被困人员救起,记录该组被困人员救援需要的机器人个数,记为(33)接着将步骤(31)所得序列移除掉步骤(32)救援的被困人员,得到一个新的序列,采用步骤(32)的方法,计算新序列第一个被困人员所在组所需要的机器人个数,记为以此类推,估算出完成整个救援行动所需的机器人总个数,记为(34)将所有被困人员按照他们生命期限从小到大的顺序进行排序,得到一个基于生命期限排序的整数序列:(35)选择步骤(34)中第一个被困人员,根据分组结果找出其所在的分组,采用机器人(1)对整个分组去实施救援,如果能够完成救援,则该组仅需一个机器人便能完成救援;反之,则再加一个机器人,直到能够将所有的被困人员救起,记录该组被困人员救援需要的机器人个数,记为(36)从步骤(34)中的序列中移除步骤(35)救援的被困人员,得到一个新的基于生命期限排序的序列,采用步骤(35)相同的方法,计算新序列第一个被困人员所在组所需要的机器人个数,记为以此类推,估算出完成整个救援行动所需的机器人总个数,记为(37)比较步骤(33)与步骤(36)中所投入救援的总机器人个数和取其最小值作为投入救援的机器人个数。进一步,在步骤(4)中,根据步骤(2)和步骤(3)所确定的被困人员的分组数和机器人个数,每组中的被困人员救援序列采用微粒群算法优化出机器人救援任务分配序列,具体步骤如下:(61)将机器人救援任务分配序列看作一个微粒,微粒群则表示多个救援任务分配序列,采用整数编码,初始化该微粒群,并对微粒一一解码,迭代次数(t)=0;(62)将所有被困人员的平均救援时间定义为微粒的适应值,并计算出每个微粒的适应值,同时,根据适应值的大小选出个体极值和全局极值;(63)更新微粒;(64)计算更新后微粒的适应值,并更新微粒的个体极值和全局极值;(65)判断是否满足算法达到设定的最大迭代次数,满足则结束;否则转步骤(62),迭代次数(t)=(t)+1。7、根据权利要求6所述的一种多机器人救援任务分配方法,其特征在于:在步骤(61)中,所述的微粒的编码解码方法的计算步骤如下:(611)随机初始化生成微粒,采用如下整数编码方法,设一微粒(Xi),该微粒可以表示为:其中,为前G个整数,该G个整数表示每组救援任务分配到哪个机器人来救援;为后m个整数,该m个整数表示对所有被困人员的救援顺序进行编码;(612)对所述的前G个整数的每个整数执行取余加1操作,得到每组目标点具体的由哪个救援机器人进行救援;(613)判断步骤(612)得到的救援分配序列中有无一个机器人救援两个或两个以上组,如果存在,则判断机器人距离两个组中任意一个目标点的距离,哪个距离近,则先救援哪个本文档来自技高网...

【技术保护点】
1.一种多机器人救援任务分配方法,其特征在于:包括如下步骤:(1)将救援灾区分成多个区域;(2)对所述的多个区域的每一区域的被困人员进行分组:计算任意两个被困人员之间的距离,得到一个距离矩阵;针对某一区域,随机选择一个被困人员(i),以其为中心,将距离矩阵中的距离与被困人员(i)之间距离小于机器人搜索半径的被困人员与被困人员(i)归为同一组;如果没有满足上述条件的被困人员,则被困人员(i)自成一组;并统计每组中的被困人员的救援序列;(3)估算需要投入救援的机器人个数:计算所有被困人员与机器人起始点之间的直线距离,并将被困人员序号按照距离的长短从小到大进行排序,得到一个基于距离排序的整数序列,计算该整数列所需的投入救援机器人总个数;将所有被困人员按照生命期限从小到大的顺序进行排序,得到一个基于生命期限排序的整数序列,计算该整数列所需的投入救援机器人总个数;比较上述两个所投入救援的总机器人个数,取其最小值作为投入救援的机器人个数;(4)对步骤(2)中所述的每组中的被困人员救援序列采用微粒群优化算法求解出机器人救援任务分配序列。

【技术特征摘要】
1.一种多机器人救援任务分配方法,其特征在于:包括如下步骤:(1)将救援灾区分成多个区域;(2)对所述的多个区域的每一区域的被困人员进行分组:计算任意两个被困人员之间的距离,得到一个距离矩阵;针对某一区域,随机选择一个被困人员(i),以其为中心,将距离矩阵中的距离与被困人员(i)之间距离小于机器人搜索半径的被困人员与被困人员(i)归为同一组;如果没有满足上述条件的被困人员,则被困人员(i)自成一组;并统计每组中的被困人员的救援序列;(3)估算需要投入救援的机器人个数:计算所有被困人员与机器人起始点之间的直线距离,并将被困人员序号按照距离的长短从小到大进行排序,得到一个基于距离排序的整数序列,计算该整数列所需的投入救援机器人总个数;将所有被困人员按照生命期限从小到大的顺序进行排序,得到一个基于生命期限排序的整数序列,计算该整数列所需的投入救援机器人总个数;比较上述两个所投入救援的总机器人个数,取其最小值作为投入救援的机器人个数;(4)对步骤(2)中所述的每组中的被困人员救援序列采用微粒群优化算法求解出机器人救援任务分配序列。2.根据权利要求1所述的一种多机器人救援任务分配方法,其特征在于:在步骤(1)中,根据救援灾区的地势的高低和地貌倾斜度将所述的救援灾区分成多个区域。3.根据权利要求1所述的一种多机器人救援任务分配方法,其特征在于:在步骤(2)中需要检查每一区域以及各组中有无重复分配的被困人员,如果存在重复分配的被困人员,则统计重复分配组的被困人员个数,将重复分配的被困人员保留在被困人员个数最少的组内;如果组内被困人员个数相等,则保留在被困人员最密集的那组;统计分组数G;统计每组中被困人员的个数,如果被困人员的个数大于平均值,则需要将组内多余的被困人员移除并重新分组;针对其他区域的被困人员采用上述方法,统计并更新分组个数G、每组的被困人员个数gn以及每组中的被困人员救援序列GN。4.根据权利要求3所述的一种多机器人救援任务分配方法,其特征在于:将组内多余的被困人员移除并重新分组,具体方法如下:(21)根据每组被困人员在三维空间坐标的位置,构造一个三维空间,并将此空间分为d1*d2*d3个三维网格,其中d1为x轴方向等分的个数,d2为y轴方向上等分的个数,d3为z轴方向上等分的个数;(22)查找每个网格中被困人员的个数,以被困人员个数最多的网格为基准,计算每个被困人员到该网格中心的距离,依次将距离最大的被困人员移出该组,直到该组中被困人员的个数等于平均值;(23)对移出的被困人员采用步骤(2)方法进行分组,统计每组中的被困人员个数,如果依然大于平均值,进行移除和重组操作,直到满足个数要求。5.根据权利要求1所述的一种多机器人救援任务分配方法,其特征在于:在步骤(3)中,估算需要投入救援的机器人个数的步骤如下:(31)计算所有被困人员与机器人起始点之间的直线距离,并将被困人员序号按照距离的长短从小到大进行排序,得到一个基于距离排序的整数序列;(32)选择步骤(31)中的所得序列的第一个被困人员,根据分组结果找出其所在的分组,采用机器人(1)对该组的所有被困人员实施救援,如果能够完成救援,则该组仅需一个机器人便能完成救援;反之,则再加一个机器人,直到能够将所有的被困人员救起,记录该组被困人员救援需要的机器人个数,记为(33)接着将步骤(31)所得序列移除掉步骤(32)救援的被困人员,得到一个新的序列,采用步骤(32)的方法,计算新序列第一个被困人员所在组所需要的机器人个数,记为以此类推,估算出完成整个救援行动所需的机器人总个数,记为(34)将所有被困人员按照他们生命期限从小到大的顺序进行排序,得到一个基于生命期限排序的整数序列:(35)选择步骤(34)中第一个被困人员,根据分组结果找出其所在的分组,采用机器人(1)对整个分组去实施救援,如果能够完成救援,则该组仅需一个机器人便能完成救援;反之,则再加一个机器人,直到能够将所...

【专利技术属性】
技术研发人员:耿娜巩敦卫王栋金鑫林思梦
申请(专利权)人:江苏师范大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1