一种面向开放场景的多机器人自主协同搜救方法技术

技术编号:22873669 阅读:42 留言:0更新日期:2019-12-21 03:46
本发明专利技术公开了一种面向开放场景的多机器人自主协同搜救方法,目的是快速构建多机器人在新任务场景下的自主协同策略,实现在开放场景中的多机器人自主协同搜救。技术方案是在多机器人系统在仿真搜救环境中应对各种可能出现的状况,形成基本多机器人协同搜救策略,使得多机器人系统面对无法预知的实际搜救场景时,能够仅使用少量时间进行策略优化,便可在开放场景下有效完成多机器人自主协同完成搜救任务。采用本发明专利技术能够基于仿真搜救环境中形成的预训练策略,快速形成对真实搜救场景的协同搜救策略,有效应对面对新场景制定策略的时间消耗问题。且本发明专利技术构建的搜救策略具有泛化性,能够适用于不同的搜救场景。

A multi robot autonomous cooperative search and rescue method for open scene

【技术实现步骤摘要】
一种面向开放场景的多机器人自主协同搜救方法
本专利技术涉及在地震灾区等无法提前预知的开放场景中,如何让分布式多机器人自主协同完成目标搜救任务。尤其涉及多机器人在面对从未见过的、无法提前预知的灾后搜救任务场景时,实现自主形成协同策略以完成路径规划和目标追踪等任务的方法。
技术介绍
目前常见的多机器人协同任务包括协同搜索、协同搬运、协同侦察等,相比于单机器人,多机器人能够处理合作型任务,具有更加灵活、高效、可靠的优点;并且能够实现群体智能涌现,达到“1+1>2”的效果。目前,多机器人自主协同已经被广泛用于灾后搜救等实际应用场景,极大地提升了搜救效率,同时降低了人力成本。但是目前的多机器人自主协同完成任务的策略(不论是人为设计协同策略还是基于机器学习方法),通常需要提前设计或训练,并且得到的策略只能针对单一任务进行测试并投入使用。但是现实环境并非是静态封闭的,多机器人执行任务时常常面对的是开放场景,需要应对任务过程中某机器人因故退出、障碍物突然出现等突发情况,因此开放场景会给多机器人完成任务带来更多挑战。本专利技术中所考虑的一类典型的开本文档来自技高网...

【技术保护点】
1.一种面向开放场景的多机器人自主协同搜救方法,其特征在于包括以下步骤:/n第一步,构建多机器人系统,多机器人系统由M个机器人节点和一个云端服务器节点构成,云端服务器节点与M个机器人节点均相连;/n机器人节点指能够运动、观测、通信、具有软件运行能力的机器人;每个机器人节点上均部署有探测模块、第一存储模块、计算模块、运动模块和第一通信模块;探测模块是能采集搜救场景环境数据的传感器,探测模块与第一存储模块相连,从开始运行后每隔α秒周期性地对传感器可见范围内的搜救场景和除自己以外的另M-1台机器人节点进行拍摄或扫描,得到当前搜救场景状态,并将当前搜救场景状态发送给第一存储模块;/n第一存储模块是存贮...

【技术特征摘要】
1.一种面向开放场景的多机器人自主协同搜救方法,其特征在于包括以下步骤:
第一步,构建多机器人系统,多机器人系统由M个机器人节点和一个云端服务器节点构成,云端服务器节点与M个机器人节点均相连;
机器人节点指能够运动、观测、通信、具有软件运行能力的机器人;每个机器人节点上均部署有探测模块、第一存储模块、计算模块、运动模块和第一通信模块;探测模块是能采集搜救场景环境数据的传感器,探测模块与第一存储模块相连,从开始运行后每隔α秒周期性地对传感器可见范围内的搜救场景和除自己以外的另M-1台机器人节点进行拍摄或扫描,得到当前搜救场景状态,并将当前搜救场景状态发送给第一存储模块;
第一存储模块是存贮器,与探测模块和计算模块相连,第一存储模块中有一个元经验回放池,以数组的形式存放所属机器人节点m的D条轨迹信息,D为正整数;第一存储模块从探测模块接收搜救场景状态,将搜救场景状态转化成轨迹信息,轨迹信息是一个四元组,第j条轨迹信息的格式为(sj,aj,rj,sj+1),其中,sj表示探测模块第j次观察到的搜救场景状态,sj涵盖第j次观察到的除机器人节点m以外的另M-1台机器人节点、搜救场景中所有目标点、搜救场景中所有障碍物的位置坐标和另M-1台机器人节点的速度;aj表示探测模块在第j次观测到第j+1次观测两个时间点之间,机器人节点m所采取的行动,表现为机器人节点m往某个方向进行加速或施加作用力的动作,机器人节点m在执行行动时自动记录aj;rj是探测模块在第j+1次观察时,对于第j次观察到的搜救场景状态的任务完成度进行评价的得分;sj+1表示探测模块第j+1次观察到的搜救场景状态,sj+1涵盖第j+1次观察到的除机器人节点m以外的另M-1台机器人节点、搜救场景中所有目标点、搜救场景中所有障碍物的位置坐标和另M-1台机器人节点的速度;
计算模块负责制定和优化搜救策略,并根据搜救策略向运动模块发送行动指令;计算模块与第一存储模块、运动模块、第一通信模块相连,计算模块中安装有操作系统,并安装有与操作系统相匹配的ROS即“机器人操作系统”和TensorFlow深度学习框架;计算模块使用TensorFlow深度学习框架创建6个全连接神经网络,分属用于形成行动指令的Actor结构和用于优化搜救策略的Critic结构,Actor结构包括策略网络、目标网络、元策略网络;Critic结构包括评价网络、目标网络、元评价网络,这6个网络是结构相同的神经网络;Actor结构策略网络从第一存储模块中获取多条轨迹信息和当前状态,将自身的网络参数发送给Actor结构目标网络和Actor结构元策略网络,并发送行动指令给运动模块,Actor结构策略网络主要功能是根据当前状态制定下一步的行动指令;Actor结构目标网络从Actor结构策略网络获取Actor结构策略网络的参数,辅助Actor结构策略网络进行更新,并将损失函数度量值发送给Critic结构目标网络;Critic结构评价网络从第一存储模块接收多条轨迹信息,从Critic结构目标网络接收损失函数度量值,指导Actor结构策略网络制定更佳的行动指令,并将自身网络参数发送给Actor结构策略网络、Critic结构目标网络和Critic结构元评价网络;Critic结构目标网络从Critic结构评价网络接收Critic结构评价网络的网络参数,从Actor结构目标网络接收损失函数度量值,辅助Critic结构评价网络进行更新,并将损失函数度量值发送给Critic结构评价网络;Actor结构元策略网络从Actor结构策略网络接收Actor结构策略网络的网络参数,将不同搜救场景中得到的Actor结构策略网络参数进行提炼和保存;Critic结构元评价网络从Critic结构评价网络接收Critic结构评价网络参数,将不同搜救场景中得到的Critic结构评价网络参数进行提炼和保存;计算模块将Actor结构元策略网络和Critic结构元评价网络的两个网络参数保存成一个.data格式文件,发送到第一通信模块;机器人节点每隔α秒进行一次观测并执行一个动作指令,定义为机器人节点每隔α秒执行一步行动;每一步行动后,计算模块从第一存储模块接收到多条轨迹信息和当前状态,一方面计算模块从多条轨迹信息中找到当前状态,将此状态输入到Actor结构策略网络中,得到并输出下一步的行动指令;另一方面,计算模块根据这多条轨迹信息,对六个神经网络的参数进行更新,在行动完成后,将保存有Actor结构元策略网络的网络参数和Critic结构元评价网络的网络参数的文件发送给第一通信模块;
运动模块由数模转换器和驱动装置构成;运动模块与计算模块相连,从计算模块接收行动指令,通过内置的数模转换器将数字信号转换为模拟信号,并将模拟信号传输给驱动装置,使机器人根据行动指令做出相应动作,导致搜救场景发生改变;
第一通信模块与计算模块、云端服务器节点相连,第一通信模块从计算模块接收记录参数的.data格式文件,将.data格式文件发送给云端服务器节点中的第二通信模块;
云端服务器节点指网络服务器、工作站,安装有第二通信模块和第二存储模块;第二存储模块与第二通信模块相连,第二存储模块上安装有Ubuntu16.04/18.04操作系统,以及与机器人节点相同版本的TensorFlow深度学习框架;第二通信模块与第二存储模块、M个机器人节点的第一通信模块相连,同时与M个机器人节点进行通信;
第二步,在Gazebo仿真环境中构建多种仿真搜救场景:
2.1在任意一台电脑上运行Gazebo仿真环境,并在Gazebo仿真环境中,仿照第一步构建的多机器人系统中M个机器人节点的实际结构和尺寸,构建对应的M个机器人节点仿真模型;
2.2在Gazebo仿真环境中,对搜救场景可能出现的各个要素以相同比例进行仿真建模,得到各种场景要素仿真模型;
2.3随机选取以上设计的机器人节点仿真模型和场景要素仿真模型的种类、数目和初始位置坐标,形成N个搜救任务场景,N为正整数,用来模拟在N次灾难后搜救的现场条件;
2.4设计搜救任务完成度评价指标,搜救任务完成度评价指标的设定原则是对促进完成任务目标的行为进行加分,对干扰任务完成的行为进行扣分;
第三步,让M个机器人节点仿真模型在N个仿真搜救场景中进行预训练,使机器人节点掌握具有泛化性的基本协同搜救策略;M台机器人节点仿真模型并行执行以下步骤,机器人节点仿真模型m的执行过程如下,1≤m≤M:
3.1机器人节点仿真模型m的计算模块进行初始化,即计算模块中的六个神经网络对参数进行初始化,参数包括每个神经网络内部每层之间的权重矩阵和偏置向量,按照期望为0、方差为2的正态分布随机生成每个神经网络内部每层之间的权重矩阵和偏置向量中的每个数字;M个机器人节点仿真模型的初始化过程相互独立,机器人节点仿真模型m和机器人节点仿真模型mm选取的参数可以相同也可以不同,1≤mm≤M且mm≠m;
3.2初始化循环变量n=1;
3.3在Gazebo仿真环境中从N个搜救任务场景选取第n个搜救任务场景,命名为仿真搜救场景;
3.4初始化已经探索的轮数k=0,并设定在仿真搜救场景中最大探索轮数KK为正整数;
3.5在仿真搜救场景中随机设置机器人节点仿真模型m和多个目标点的初始位置;
3.6初始化机器人节点仿真模型m在第k轮探索中已经完成的行动步数i=0,并设定第k轮探索中机器人节点仿真模型m可以执行的行动步数最大值I,I为正整数;
3.7机器人节点仿真模型m的计算模块从第一存储模块获得搜救场景的当前状态si,输入到Actor结构策略网络μ中,将μ的输出,即行动指令ai发送给运动模块和第一存储模块;运动模块执行动作ai;
3.8Gazebo仿真环境按照搜救任务完成度评价指标,自动计算ai当前的搜救任完成度评价得分ri,并发送到机器人节点仿真模型m的第一存储模块;
3.9ai的执行导致搜救场景状态发生变化,机器人节点仿真模型m的探测模块观测到搜救场景状态si+1,将si+1发送给第一存储模块;
3.10机器人节点仿真模型m的第一存储模块整合信息si、si+1、ai、ri,得到一组轨迹信息(si,ai,ri,si+1),存入到第一存储模块的元经验回放池;
3.11机器人节点仿真模型m的计算模块判定元经验回放池是否已有P条信息,若已有P条信息,则计算模块从元经验回放池随机抽取P条轨迹信息,并执行步骤3.14,P为正整数;否则,令i=i+1,转步骤3.7;
3.12机器人节点仿真模型m的计算模块按照抽取的先后顺序对P条轨迹信息进行编号1~P,同时初始化序号值np=0;
3.13机器人节点仿真模型m的计算模块从序号np开始顺序选取前p条轨迹信息,并将np更新为选取轨迹信息中最后一条的序号,p为小于等于P的正整数;
3.14机器人节点仿真模型m的计算模块采用梯度下降法最小化如公式(1)所示的损失函数L,得到新的评价网络参数,实现评价网络优化:



其中,Q′是Critic结构目标网络,Q是Critic结构评价网络,μ′是Actor结构目标网络,μ′(si+1)表示将si+1输入到μ′中得到的行动指令,Q′(si+1,μ′(si+1))表示将状态si+1和行动指令μ′(si+1)输入到Q′得到的得分,α是0~1的常数,作为权重,Q(si,ai)表示将状态si和行动ai输入到Q中得到的得分,(ri+αQ′(si+1,μ′(si+1))-Q(si,ai))是对三项得分进行加权计算;
3.15机器人节点仿真模型m的计算模块根据p条轨迹信息,通过梯度下降法,使得机器人节点仿真模型m表现评价函数Jθ(μ)值增大;在增大评价函数Jθ(μ)值的过程中,Actor结构策略网络参数得到更新,从而实现对Actor结构策略网络优化:
Jθ(μ)=∫0Iρi(si)Q(si,ai)di公式(2)
其中,ρi(si)表示在第i步时,计算模块根据探测模块观测到的搜救场景状态si,采取不同行动的概率分布,这个概率分布由Actor结构策略网络确定;
3.16判断np+p>P是否满足,若满足,执行步骤3.17;否则,转步骤3.13;
3.17机器人...

【专利技术属性】
技术研发人员:刘惠丁博王怀民贾宏达史佩昌张捷骆杰怀智博巩旭东耿铭阳
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1