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)对所述的多 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。