【技术实现步骤摘要】
一种面向开放场景的多机器人协同多目标采样方法
本专利技术涉及利用智能机器人系统领域知识和多智能体强化学习技术,在开放的未知环境中如何让分布式多机器人快速协同完成多目标采样任务。尤其涉及一些多机器人对未曾训练过的无法预知的采样任务场景时(例如月球车对月球土壤进行采样,对疫情区域进行采样等),实现自主地形成协作策略以完成搜索采样目标、追踪采样目标以及规划路线并按规划路线进行采样等任务的方法。
技术介绍
移动机器人因其可移动性及可复制性,可以代替人在一些复杂的、危险的、受到环境制约的环境中执行侦查、搜救和操作等任务,能够极大程度上忽视地形的限制并且降低人力成本,并且经过多年的发展,移动机器人已经逐步在物流、制造、服务等领域崭露头角。同时,在国防和军队的重大项目中也起到至关重要的作用,例如战场侦查、太空探索、战场救助等任务中移动机器人都发挥出了显著的效果,也展现出了移动机器人广泛地应用前景。而相较于单机器人,多机器人系统更加具有高效、可靠的特点,并且能够通过对任务的学习展现出一定程度上的群体智能,超过“1+1=2”的效果,从而能够更加理想地完成任务同时提高任务的完成效率,例如在灾后救援等实际场景中多机器人的自主协同已经体现出了成熟的智能,在提高搜救效率的同时也极大提升了人员存活率,并且节约了人力与物力。目前常见的多机器人协作任务还包括协作导航、协作运输、协作追踪等。然而现今已有的一些多机器人协作策略往往需要提前设计或训练,并且策略与任务之间的关系是紧耦合的,设计或训练得到的策略仅能用于单一任务。然而现实中的任 ...
【技术保护点】
1.一种面向开放场景的多机器人协同多目标采样方法,其特征在于包括以下步骤:/n第一步,构建多机器人系统,多机器人系统由N个机器人节点和云端服务器节点构成,N为正整数;每个机器人节点工作方式相同,都是可运行软件程序的且具有运动、观测、通信等能力的机器人硬件设备,每个机器人节点都包括第一通信模块、探测模块、第一计算模块、第一存储模块、运动模块;/n探测模块是采集任务环境数据的传感器;探测模块与第一存储模块相连,探测模块每隔t秒周期性地对可见范围内的环境和除所属机器人节点以外的另N-1台机器人节点进行拍摄或扫描,得到当前任务场景状态,将当前场景状态发送给第一存储模块;/n第一存储模块是可用空间1GB以上的存贮器,与探测模块和第一计算模块相连,第一存储模块中有一个经验回放池,经验回放池用于存储第一存储模块所属机器人即机器人节点n的最近的H条轨迹经验信息,1≤n≤N,其中第h条轨迹经验信息的格式为[s
【技术特征摘要】
1.一种面向开放场景的多机器人协同多目标采样方法,其特征在于包括以下步骤:
第一步,构建多机器人系统,多机器人系统由N个机器人节点和云端服务器节点构成,N为正整数;每个机器人节点工作方式相同,都是可运行软件程序的且具有运动、观测、通信等能力的机器人硬件设备,每个机器人节点都包括第一通信模块、探测模块、第一计算模块、第一存储模块、运动模块;
探测模块是采集任务环境数据的传感器;探测模块与第一存储模块相连,探测模块每隔t秒周期性地对可见范围内的环境和除所属机器人节点以外的另N-1台机器人节点进行拍摄或扫描,得到当前任务场景状态,将当前场景状态发送给第一存储模块;
第一存储模块是可用空间1GB以上的存贮器,与探测模块和第一计算模块相连,第一存储模块中有一个经验回放池,经验回放池用于存储第一存储模块所属机器人即机器人节点n的最近的H条轨迹经验信息,1≤n≤N,其中第h条轨迹经验信息的格式为[sh,ah,rh,sh+1],1≤h≤H,sh代表探测模块第h次观察到的场景状态,sh包括第h次观察到的除机器人节点n以外的另N-1台机器人节点、所有采样目标、所有环境障碍物的位置坐标和另外N-1台机器人节点的速度;ah代表在探测模块第h次观测和第h+1次观测两个时间点之间,机器人节点n所采取的行动,表现为机器人节点n向某个方向加速或施加作用力的动作;机器人节点n在执行时,自动记录下ah;rh是探测模块在第h+1次观察时,根据第h次观察到的场景状态计算出的任务完成度评价得分;sh+1是探测模块第h+1次观测到的场景状态,sh+1包括第h+1次观察到的除本机器人节点n以外的另N-1台机器人节点、所有采样目标、所有环境障碍物的位置坐标和另外N-1台机器人节点的速度;sh+1为由sh经过机器人行为ah后所得到的新的场景状态;
第一计算模块负责制定和优化搜救策略,并根据搜救策略向运动模块发送行动指令;第一计算模块与第一存储模块、运动模块、第一通信模块相连,安装有Ubuntu16.04操作系统以及基于Ubuntu16.04操作系统的ROS以及深度学习框架;第一计算模块包含4个全连接神经网络以及公共计算子模块,4个全连接神经网络均使用深度学习框架创建,分属用于形成行动指令的Actor结构和用于优化策略的Critic结构,Actor结构包括Actor结构策略网络、Actor结构目标网络;Critic结构包括Critic结构评价网络、Critic结构目标网络;这四个神经网络结构相同,为四个神经网络随机赋予初始参数,包括每个神经元的权重,每个神经网络的层数a、每层的神经元个数b,a、b为正整数;Actor结构策略网络从第一存储模块的经验回放池中读取W条轨迹经验信息和当前状态,W<H;根据当前状态制定下一步的行动指令,将自身的网络参数即策略网络参数发送给Actor结构目标网络,将下一步的行动指令发送给运动模块;Actor结构目标网络从Actor结构策略网络获取策略网络参数,完成Actor结构策略网络的更新;Critic结构评价网络同样从第一存储模块接收W条轨迹经验信息,从Critic结构目标网络接收损失函数度量值,该度量值代表Critic结构评价网络对该状态下机器人节点动作价值判断的准确程度,从而帮助自己更准确的对动作价值作出评价,并将自身网络参数发送给Critic结构目标网络,完成Critic结构目标网络的更新;Critic结构评价网络向Actor结构策略网络发送当前Actor结构策略网络所采取的动作的评价值,Actor结构策略网络通过学习如何获取更高的动作评价值来制定更理想的动作指令;Critic结构目标网络从Critic结构评价网络接收Critic结构评价网络的网络参数,并将损失函数度量值发送给Critic结构评价网络;第一计算模块将Actor结构策略网络参数保存为一个.data参数格式文件并发送到第一通信模块;机器人节点每隔t秒进行一次观测并执行一个动作指令,定义为机器人节点每隔t秒执行一步行动;每一步行动后,第一计算模块从第一存储模块接收到W条轨迹经验信息和当前状态,一方面第一计算模块从W条轨迹经验信息中找到当前状态,将当前状态输入到Actor结构策略网络中,得到并输出下一步的行动指令;另一方面,第一计算模块根据这W条轨迹信息,对全部四个神经网络的参数进行更新,在行动完成后,将保存有Actor结构策略网络的参数文件发送给第一通信模块;公共计算子模块与Actor结构策略网络、Critic结构目标网络、第一存储模块、探测模块相连,负责完成各类计算任务,根据损失函数公式计算损失函数度量值并将损失函数度量值发送给对应的Actor结构策略网络、Critic结构目标网络,同时根据多目标任务完成度评价指标计算任务完成度评分并发送给第一存储模块以及将从探测模块收到的状态信息与目标点位置信息进行组合,完成第一计算模块中的各类判断任务;
在面向真实的开放场景时,第一计算模块创建一个与预训练阶段中多机器人系统中Actor结构策略网络结构相同的教师网络,并加载由第一通信模块发来的预训练阶段训练好的Actor结构策略网络的.data参数格式文件中的信息,将.data参数格式文件中保存的Actor结构策略网络参数赋值给教师网络,教师网络根据机器人节点状态得到教师动作即教师网络根据预训练中获得的策略和当前机器人节点的状态作出的最佳动作;
Actor结构策略网络从第一存储模块读取第k步的状态sk,经过与Actor结构策略网络每层神经元之间权重矩阵相乘、与每层神经元之间偏置向量相加的逐层传递过程,最终在Actor结构策略网络最后一层计算得到行动指令ak;每个机器人节点拥有独立的Actor结构策略网络参数,能自主决定自身行为,并依靠互相观察实现自主协同;除Actor结构策略网络外的其他三个神经网络用于指导和辅助Actor结构策略网络进行更新;
运动模块由数模转换器和马达、轮胎等驱动装置构成;运动模块与第一计算模块相连,从第一计算模块接收行动指令,通过内置的数模转换器将数字信号转换为模拟信号,并将模拟信号传输给驱动装置,使机器人根据行动指令做出相应动作,导致场景发生改变;
第一通信模块与第一计算模块、云端服务器节点相连,第一通信模块从第一计算模块接收记录参数的.data参数格式文件,将.data参数格式文件发送给云端服务器节点;
云端服务器节点是指工作站或服务器,安装有第二通信模块、第二存储模块;
云端服务器节点的第二存储模块与第二通信模块相连,第二存储模块安装有Ubuntu16.04操作系统以及与机器人节点相同版本的深度学习框架,用于存储预训练好的.data参数格式文件;第二通信模块与第二存储模块、N个机器人节点的第一通信模块相连,同时与N个机器人节点进行通信;
第二步,安装Gazebo仿真环境,并构建M个多目标采样仿真场景,为预训练做准备,M为正整数;具体步骤如下:
2.1在任意一台装有Ubuntu16.04以及以上版本的电脑上安装并运行Gazebo仿真环境,并仿照第一步构建的多机器人系统中N个机器人节点的实际结构、尺寸,构建对应N个机器人节点仿真模型;
2.2在仿真环境中,对多目标采样环境中可能出现的多种环境要素进行等比例建模,得到各种场景要素的仿真模型;
2.3随机选择N个机器人节点模型和数量随机的多种环境要素,并随机模拟机器人和各种要素的初始位置,从而形成多个多目标采样任务场景,用于模拟真实场景中的各种现实条件;随机选取以上设计的机器人节点仿真模型和场景要素仿真模型的种类、数目和初始位置坐标,形成M个多目标采样任务场景,用来模拟M次多目标采样的现场条件;
2.4设计多目标采样任务完成度评价指标;
第三步,将N个机器人节点仿真模型在第二步构建好的M个多目标采样任务仿真场景中进行预训练,得到记录了机器人在对应的仿真场景下的协同多目标采样策略的N个.data参数格式文件;N台机器人节点仿真模型并行执行以下步骤,机器人节点仿真模型n的执行过程如下:
3.1机器人节点仿真模型n的第一计算模块进行初始化,即第一计算模块中的四个神经网络对参数进行初始化,参数包括每个神经网络内部每层之间的权重矩阵和偏置向量,按照期望为0、方差为2的正态分布随机生成每个神经网络内部每层之间的权重矩阵和偏置向量中的每个数字,N个机器人节点仿真模型的初始化过程相互独立;
3.2初始化循环变量m=1;
3.3从M个多目标采样任务仿真场景选取第m个任务场景,并命名为仿真多目标采样场景m;初始化训练周期序号i=0,并设定最大训练周期序号I,I为正整数;
3.4在仿真环境中随机初始化每个机器人节点以及目标点、环境中各类元素的初始位置;
3.5初始化在第i个训练周期中机器人行动的步数q=0,并设定第i个训练周期中机器人可执行的第一最大步数Q,Q的取值应保证在每个周期中,机器人可在Q步之内取得最佳策略;
3.6机器人节点仿真模型n的第一计算模块从第一存储模块获取当前多目标采样仿真场景的状态sq,并将sq输入到Actor结构策略网络,得到网络的输出即动作指令aq,将aq其发送给运动模块及第一存储模块;
3.7运动模块执行动作aq;
3.8按照步骤2.4中设计的评价指标,Gazebo仿真环境自动计算aq当前的任务完成度评分rq,将rq发送到机器人节点仿真模型n中的第一存储模块;
3.9机器人节点执行动作导致多目标采样环境的状态发生改变,机器人节点仿真模型的探测模块观察到新的场景状态sq+1,将sq+1发给第一存储模块;
3.10机器人节点仿真模型n的第一存储模块整合信息sq、sq+1、aq、rq,得到第q组轨迹经验信息[sq,aq,rq,sq+1],并将[sq,aq,rq,sq+1]存入第一存储模块的经验回放池;
3.11机器人节点仿真模型n的第一计算模块判断:若经验回放池中已经存满W条轨迹经验,则从经验回放池中随机抽取W条用于神经网络模型的训练,并执行步骤3.12;否则,令i=i+1,转步骤3.6;
3.12机器人节点仿真模型n的第一计算模块按照抽取的先后顺序对W条轨迹经验进行编号1~W,同时初始化序号值p=0;
3.13机器人节点仿真模型n的第一计算模块从序号p开始按照抽取的先后顺序选取前w条轨迹经验,并将p更新为选取轨迹经验中最后一条的序号;w为小于等于W的正整数;
3.14机器人节点仿真模型n的第一计算模块训练选取的w轨迹经验,并利用梯度下降法最小化损失函数L,从而优化Critic结构评价网络:
其中,Q代表Critic结构评价网络,Q′代表Critic结构目标网络,μ′代表Actor结构目标网络,这三个字母紧跟的括号中的符号代表相应网络的输入信息;μ′(sq+1)代表将sq+1输入到Actor结构目标网络中得到的行动指令,Q′(sq+1,μ′(sq+1))代表将状态sq+1和动作指令μ′(sq+1)输入到Critic结构目标网络得到的得分,Q(sq,aq)代表将状态sq和行动aq输入到Critic结构评价网络得到的得分,(rq+αQ′(sq+1,μ′(sq+1))-Q(sq,aq))代表对任务完成度评分以及两个神经网络得到的得分进行加权计算;
折扣因子α是0~1的常数;
3.15机器人节点仿真模型n的第一计算模块训练选取的w轨迹...
【专利技术属性】
技术研发人员:许可乐,王怀民,冯大为,高梓健,丁博,刘惠,贾宏达,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。