本公开实施例涉及异构机器人空地协同,尤其涉及一种异构机器人空地协同搜索救援的方法。
背景技术:
1、相较于单机器人系统,多机器人协同系统具有功能强大、空间分布广、任务执行效率高、容错能力强等优势,现已成功应用于搜索救援、安防巡逻、军事作战、智慧农业等场景。空地协同是一种典型的多机器人系统,空中机器人(如无人机)往往具有机动灵活的优势,具有广阔的视角与探测范围,能够快速覆盖大面积区域;地面机器人(如无人车)负载较大、续航时间长,可携带更多的高算力机载设备执行任务。将空中与地面互补的优势结合得到空地异构多机器人协作系统,其协作效率更高、鲁棒性更强,更加适应复杂动态变换的环境。搜索与救援(search and rescue,sar)一直以来均受到人类的关注,研究环境自适应能力更强的空地协同系统是目前的研究热点。
2、空地协同系统是多机器人协同系统中备受关注的研究领域,主要包括三种类型:无人车支援无人机、无人机支援无人车、无人机和无人车共同执行任务。第一种是无人车支援无人机问题,无人机在无人车上的着陆为其中重点研究方向。第二种是无人机支援无人车问题,无人机使用自身的传感器来提供无人车所需的功能辅助。第三种是无人机/无人车共同作业,需要将无人机和无人车的传感器优势综合起来,协同完成任务。目前,无人机和无人车在不同视角下观察的目标信息不同,导致目标物识别的准确度不够准确。
技术实现思路
1、为了避免现有技术的不足之处,本技术提供一种异构机器人空地协同搜索救援的方法,用以解决现有技术中存在无人机和无人车在不同视角下观察的目标信息不同,导致目标物识别的准确度不够准确的问题。
2、根据本公开实施例的第一方面,提供一种异构机器人空地协同搜索救援的方法,该方法包括:
3、利用空中机器人感知地面环境,以得到初始全局地图;
4、边缘节点利用sam算法对所述初始全局地图进行语义分割,以得到目标全局地图;
5、所述边缘节点对所述目标全局地图进行处理,以转化成栅格地图;
6、基于所述栅格地图,针对地面机器人依次利用amcl算法进行自主定位、利用a*算法进行全局路径规划、利用dwa算法进行局部路径规划和在所述栅格地图上添加膨胀层以对所述地面机器人的转向进行保护,以使所述搜索救援能够完成搜索救援。
7、所述sam算法的核心模块包括:
8、任务、模型和数据;
9、其中,所述任务为通过提供图片以及多个提示来分割出所需区域,所述提示至少包含描述文本,空间中的点、方框,以及掩码。
10、所述模型包括:
11、image encoder、prompt encoder和mask encoder;
12、所述image encoder的内部是用mae训练的vit模型,所述image encoder每幅图像运行一次;
13、所述prompt encoder先将所述提示分为稀疏的提示和密集的提示,对于所述稀疏的提示,使用位置编码结合学习到的embedding,对于所述密集的提示,通过卷积嵌入并于图像元素相加;
14、所述mask encoder有效的将图像embedding、提示embedding和输出token映射到所述掩码。
15、所述模型的解码器基于transformer的解码器块修改,在所述解码器后添加了动态掩码预测头,所述解码器块使用了提示自注意力和双向的交叉注意力来更新所有的embedding。
16、所述边缘节点对所述目标全局地图进行处理,以转化成栅格地图的步骤中,还包括:
17、根据所述目标全局地图和所述栅格地图建立映射关系:
18、
19、其中,g(x,y)表示坐标(x,y)处的栅格地图单元值,m为第m个像素;
20、所述栅格地图存储格式为.pgm,所述目标全局地图存储格式为.png,这两种格式都是从左上角开始存储数据,将所述栅格地图的每个单元与所述目标全局地图中每个像素一一对应,则所述栅格地图的每个单元存储的状态值为:
21、g′(k)=i*g(x,y)+j
22、其中,g′(k)表示栅格地图在一维存储下的值,k为一维存储下的索引,i为二维存储下的行数,j为列数;
23、在所述栅格地图中找到参照物并明确所述参照物的实际尺寸。
24、所述针对地面机器人依次利用amcl算法进行自主定位的步骤中,包括:
25、预测、更新和重采样;
26、在所述预测中,根据所述地面机器人上一时刻的状态、控制信息和运动模型,预测所述地面机器人当前时刻的状态;
27、在所述更新中,使用传感器信息和地图信息,计算每个粒子的权重;
28、在所述重采样中,根据所述粒子的权重,选择一部分粒子并对其进行复制和修正,以维持粒子集大小不变;
29、多次进行所述更新和所述重采样的循环,所述粒子的权重则更符合实际情况,最终得到所述地面机器人的位置估计结果。
30、所述利用a*算法进行全局路径规划的步骤中,包括:
31、使用一个评估函数来为每个搜索节点赋予一个值,该值代表从起始点到目标点的预估成本;所述评估函数通常表示为:
32、f(n)=g(n)+h(n)
33、其中:f(n)是节点n的总成本,g(n)是从起始点到节点n的实际成本,h(n)是从节点n到目标点的估计成本;
34、所述a*算法的工作原理如下:
35、1)将起始节点放入一个开放列表(通常使用优先队列实现);
36、2)从开放列表中选择具有最低f值的节点;
37、3)对该节点进行扩展,即查找其所有邻居节点;
38、4)对于每个邻居节点,计算其g值和h值,并更新其f值;
39、5)如果邻居节点不在开放列表和关闭列表中,将其添加到开放列表中;
40、6)如果邻居节点已经在开放列表中,并且新的g值更小,则更新其g值;
41、7)如果当前节点是目标节点,算法结束;
42、8)否则,将当前节点移动到关闭列表,并返回步骤2)。
43、所述利用dwa算法进行局部路径规划的步骤中,包括:
44、动态窗口:定义所述地面机器人在一个预设的时间段能够达到的速度范围;
45、速度采样:在所述动态窗口内,对线速度和角速度进行采样,生成若干个速度命令;
46、评估函数:对于每一个所述速度命令,使用一个所述评估函数计算评估得分,以评估所述速度命令的优劣性;
47、选择最佳速度命令:选择所述评估得分最高的所述速度命令作为下一个动作;
48、反馈控制:所述地面机器执行选择的所述速度命令,并根据环境的反馈进行调整。
49、所述评估函数标准如下:
50、到目标的距离:所述速度命令使所述地面机器人更接近目标;
51、机器人的速度:所述速度命令使所述地面机器人保持在一个预设的速度;
52、避障:所述速度命令使所述地面机器人能够避免与与障碍物碰撞。
53、本公开的实施例提供的技术方案可以包括以下有益效果:
54、本公开的实施例中,通过上述异构机器人空地协同搜索救援的方法,一方面,在搜救范围确定的前提下,空中机器人利用全局的视野优势来感知地面环境,向下俯视拍摄得到全局范围的初始全局地图,空中机器人将初始全局地图传输给边缘节点,边缘节点利用sam算法对初始全局地图进行语义分割以得到目标全局地图,边缘节点再对目标全局地图进行处理最终转换成栅格地图,并将栅格地图传输给地面机器人。地面机器人根据栅格地图,利用amcl算法进行自主定位、利用a*算法进行全局路径规划、利用dwa local planner算法(即dwa算法)进行局部路径规划和在栅格地图上添加膨胀层以对地面机器人的转向进行保护,以选定前往搜救的目标点进行路径规划,并利用其局部精准定位优势导航达到目标点完成搜救。另一方面,空中机器人和地面机器人在不同视角下观察的目标信息不同,通过视角的变换以及几何的相关性实现二者信息互补,大大地提高了目标物识别的准确度。