一种面向开放场景的多机器人协同多目标采样方法技术

技术编号:29487915 阅读:16 留言:0更新日期:2021-07-30 18:59
本发明专利技术公开了一种面向开放场景的多机器人协同多目标采样方法。技术方案是构建由N个机器人节点和云端服务器节点构成的多机器人系统,机器人节点上安装通信模块、探测模块、计算模块、存储模块、运动模块;云端服务器节点上安装通信模块、存储模块;构建多目标采样场景,将N个机器人节点仿真模型预训练,得到N个记录了机器人在对应仿真场景下协同多目标采样策略的.data参数格式文件;将多机器人系统部署在真实的开放场景,利用.data参数格式文件训练,得到多机器人自主协同多目标采样策略;多机器人系统根据采样策略协同完成多目标采样任务。本发明专利技术能解决目前多目标采样方法时效性不高、训练数据量大、训练时间长、强任务相关性等问题。

【技术实现步骤摘要】
一种面向开放场景的多机器人协同多目标采样方法
本专利技术涉及利用智能机器人系统领域知识和多智能体强化学习技术,在开放的未知环境中如何让分布式多机器人快速协同完成多目标采样任务。尤其涉及一些多机器人对未曾训练过的无法预知的采样任务场景时(例如月球车对月球土壤进行采样,对疫情区域进行采样等),实现自主地形成协作策略以完成搜索采样目标、追踪采样目标以及规划路线并按规划路线进行采样等任务的方法。
技术介绍
移动机器人因其可移动性及可复制性,可以代替人在一些复杂的、危险的、受到环境制约的环境中执行侦查、搜救和操作等任务,能够极大程度上忽视地形的限制并且降低人力成本,并且经过多年的发展,移动机器人已经逐步在物流、制造、服务等领域崭露头角。同时,在国防和军队的重大项目中也起到至关重要的作用,例如战场侦查、太空探索、战场救助等任务中移动机器人都发挥出了显著的效果,也展现出了移动机器人广泛地应用前景。而相较于单机器人,多机器人系统更加具有高效、可靠的特点,并且能够通过对任务的学习展现出一定程度上的群体智能,超过“1+1=2”的效果,从而能够更加理想地完成任务同时提高任务的完成效率,例如在灾后救援等实际场景中多机器人的自主协同已经体现出了成熟的智能,在提高搜救效率的同时也极大提升了人员存活率,并且节约了人力与物力。目前常见的多机器人协作任务还包括协作导航、协作运输、协作追踪等。然而现今已有的一些多机器人协作策略往往需要提前设计或训练,并且策略与任务之间的关系是紧耦合的,设计或训练得到的策略仅能用于单一任务。然而现实中的任务环境存在很大程度的不确定性,多机器人每次执行的任务往往也有很大的差异性,通常需要应对任务中避障、避免相互干扰等问题,因此在这样的非确定性环境中完成复杂任务的高要求为多机器人带来了严厉的挑战。因此,本专利技术考虑的开放式应用场景是,多机器人在非确定性的无法预知未来任务的具体场景。例如,在新冠疫情爆发之时,往往需要对病人的生活区域进行采样,但是病人的生活环境是无法预知的,包括社区中的生产生活废料、树木等各种障碍的位置、采样的目标位置等等信息都需要在灾害发生过后才可获取。目前已有的常用方案是根据现场情况人工设计环境探索方案和采样方案等,然而人民的生命财产安全重于泰山,人工设计方案的方法会不可避免地浪费掉部分宝贵的采样时间,从而导致疫情控制不及时等问题的发生。如何在对时间和效率有高要求的未知环境中,实现多机器人快速地应对场景中环境的动态变化,从而在疫情发生后可以快速地通过协作来实现多目标的采样,是本领域技术人员目前急于要解决的难点和热点问题。针对这样的问题,本专利技术实现了多机器人在从未见过的多目标采样等任务场景中能够经过短暂的训练就取得较好的效果并快速投入到任务中。多机器人多目标采样任务面临的主要问题包括:1)如何有效地协调多机器人的行为。如果缺少协调,可能导致多个机器人环境探索区域的重合、重复对相同的目标采样,导致环境探索不充分及任务完成不充分,因此需要协调多机器人之间的关系,实现充分地探索和对目标进行采样。2)在执行任务时,环境中往往会存在很多干扰因素包括障碍物等,例如环境中的瓦砾、生活废料等。因此在这样动态变化的环境中,如何让多机器人快速地克服动态环境中的各类干扰因素并实现多目标的采样是一个丞待解决的问题。以往的一些人工设计策略的方法往往基于对目标位置、环境等的可预估和不变的性质,需要事先对场景有一定的强假设性,需要事先获取有关任务和环境的具体信息并且为机器人制定好固定的采样策略。在真实场景中,环境在不断演化,同时任务目标也需要不断调整,而这一类人工设计策略的方法很难应对这样的动态变化问题,无法适应不同于程序预设的场景,因而无法解决多机器人多目标采样任务面临的主要问题。在现阶段的机器人领域,大多由图像识别来负责模拟机器人的视觉,而机器人的行为往往依靠深度强化学习,两者结合的多机器人自主协同技术逐渐在生活实践中得到广泛应用。深度强化学习方法是一类“数据驱动”方法,机器人可通过对数据的不断学习从而实现对任务的自主适应,而并不依赖于人为设计策略或方法,其基本思想在于对那些导致不理想结果的动作进行惩罚,而对那些得到理想结果的动作给予奖励,从而训练得到一种根据环境来得到理想动作的策略。机器人在执行任务时,在当前的状态S下采取了动作A,得到新的状态S’,同时获得了环境的立即奖励R,通过这样一个动作得到了一个经验元组<S,A,R,S’>并保存为经验样本,通过与环境不断地交流,机器人可获取大量的经验样本,并通过对奖励R的判断来区分样本的正负,从而实现在不断地探索和试错中,自主地形成策略,从而得到任务中的最优动作。强化学习算法因为其适应性、灵活性等特性,从而能够解决多机器人多目标采样任务面临的主要问题。通过强化学习方法,机器人能够在训练中学会如何与环境动态交互,从而在开放式的应用场景中取得优异、高效的整体表现。然而,深度强化学习方法也存在局限性。由于其“数据驱动”的特征,深度强化学习不可避免地存在需要较大的数据量和训练时间长等问题。同时,在某个任务场景中训练得到模型往往与当前任务场景具有较强的相关性,这种性质也被称作强任务相关性,意味着当任务场景发生较大变化时,已经训练好的旧模型往往不适合新的环境乃至于在新环境中失效。例如机器人在预演的灾害场景下学习到的协同策略被用于真实场景中时,由于真实场景与预演场景之间存在障碍物、地形等多种差异,导致已有的策略失效。除了环境因素以外,多机器人本身的角色划分和数目变化也是一个重要的因素。机器人在某个时刻的动作组成了一个元组,并在环境中执行这样的动作,从而从环境中得到一个奖励,因此当机器人数目或角色发生变化时,多机器人的最佳策略可能存在着差异,对应地,任务的复杂度也会随之变化。多机器人系统中机器人相互影响和关联的特性,为实现快速训练多机器人多目标采样任务策略的目标带来了不确定性和极大的复杂度。为了解决上述提到的一些局限性(需要大量数据、训练时间长、任务变化快、强任务相关性)中的部分,比如论文《DualPolicyDistillation》(译为“对偶知识蒸馏”,发表在arXiv预印本论文网站,网址为https://arxiv.org/abs/2006.04061,出版时间2020年4月)成功实现了单机器人在任务中快速训练的实验。类似的,论文《TransferHeterogeneousKnowledgeAmongPeer-to-PeerTeammates:AModelDistillationApproach》(译为“在点对点队友之间转移异构知识:一种模型蒸馏方法”,发表在arXiv预印本论文网站,网址为https://arxiv.org/abs/2002.02202,出版时间2020年2月)成功实现了多机器人系统在任务中快速训练的实验。而在训练的基础算法上,论文《Multi-AgentActor-CriticforMixedCooperative-CompetitiveEnvironments》(译为“面向合作和竞争混合环境的多机器人演员评论家方法”,发表在arXiv预印本论文本文档来自技高网...

【技术保护点】
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

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

1