一种面向动态噪声环境的全覆盖任务分配方法组成比例

技术编号:24946228 阅读:42 留言:0更新日期:2020-07-17 22:56
本发明专利技术公开了一种面向动态噪声环境的全覆盖任务分配方法。先构建由机器人节点和中心控制节点构成的多机器人环境;机器人节点装有感知信息获取模块、输入状态估值模块、位置关系判定模块、交互权重估计模块和动作估计模块;中心控制节点装有环境状态监测模块、经验采集模块和网络更新模块;感知信息获取模块获取局部视图,输入状态估值模块得到输入状态估值向量和编号独热编码向量,位置关系判定模块计算邻接特征矩阵集合,交互权重估值模块计算邻接加权向量,动作估计模块挑选估值最大动作作为决策;中心控制节点采用强化学习方法对各模块中网络进行优化;本发明专利技术边执行边优化,不但任务分配准确高效,且机器人下次执行任务时间更短。

【技术实现步骤摘要】
一种面向动态噪声环境的全覆盖任务分配方法
本专利技术涉及智能机器人系统领域和多智能体强化学习技术,具体涉及一种基于多智能体强化学习的多机器人全覆盖任务分配方法,可用于有噪声存在的动态环境。
技术介绍
移动机器人由于具有可移动性,可以代替人到各种复杂或危险的环境执行探险、探测和操作等任务。移动机器人经过多年的研究与发展,已经逐步走向实用化,在制造业、物流业、服务业等传统领域,已经有不少使用移动机器人提高生产效率或者替代人工作业的实例。而在一些对国家经济、社会、国防等领域具有重大战略意义的项目中,移动机器人的需求也日益明显。随着人类活动范围的不断扩展,移动机器人在星球探测、海洋开发、军事反恐、灾难救助、危险品处理等领域逐渐发挥出巨大的作用,并显现出广泛的应用前景,而这些领域都存在着很大程度的不确定性,有的甚至是完全未知的新环境,探索周围环境成为移动机器人的基本任务,机器人若要在一个不确定、非结构化的环境内完成复杂任务,关键是感知周围环境并创建地图,这也是完成其他任务的基础。实际上,机器人经常在危险环境下作业,如在坍塌的建筑物内进行搜救等,因此研究未知环境中移动机器人的探索问题,对提高移动机器人的实用性至关重要,并有着广泛的经济和社会价值。在未知环境中,全覆盖任务分配往往要求机器人在较短时间内完成对未知环境全覆盖的任务分配,相比于单机器人而言,多机器人协作探索具有更加高效、可靠和鲁棒的优势,因此受到了移动机器人领域的广泛关注。多机器人全覆盖任务分配面临的主要问题包括:1)如何有效地协调多机器人的全覆盖任务分配行为。如果缺少协调,多个机器人可能跟踪相同的路径探索环境,导致与单机器人类似的探索结果,因此需要为多个机器人选择不同的运动方式,使它们能够探索环境的不同区域,实现分布式探索。2)在执行全覆盖任务分配任务的时候,环境中往往会存在很多噪声干扰,比如恶劣的环境条件可能会导致单个机器人的环境感知信息有误,或者黑客可能会控制某些机器人使它们的历史轨迹记录信息有误。在这种强噪声环境下,如何使得机器人保持协同,高效率地完成全覆盖任务分配是一个丞待解决的问题。现有的多机器人全覆盖任务分配方法大多基于传统事先“预设”的协同方法。比如,最近边界点方法是基于贪心技术,即每个机器人都选择到最近边界点的最短路径;基于协同边界点的方法使用简单的智能体边界分配算法来实现协同。简而言之,每个机器人为自己和附近的队友确定边界点的收益值,然后迭代地计算分配方案,从而最大化联合收益;基于市场的方法要求机器人对探索的子任务进行投标,出价通常基于预期信息增益和到达目标点的花费值。此类解决方案的有效性已经得到实践检验,但其执行过程基于对目标任务、环境等的可预期性和不变假设性,需要事先获得任务和环境的全面、具体的信息,相应系统仅限于执行那些专门为其设计的任务,无法适应超出程序设计的情况。在真实环境中,往往不能提前预知环境可能会发生的各种变化以及非预期因素,事先“预设”的协同方法将很难应对,这将会限制多机器人系统适应动态变化环境的能力和应用到现实场景中的潜能。强化学习作为机器学习的方法之一,又称再励学习、增强学习,来源于生物学中的条件反射理论,其基本思想是对所希望的结果予以奖励,对不希望的结果予以惩罚,逐渐形成一种趋向于好结果的条件反射。智能体在完成某项任务时,首先通过动作A与周围环境进行交互,在动作A和环境的作用下,智能体会产生新的状态S,同时环境会给出一个奖惩信息R,即如果智能体在状态S采取动作A符合设定的奖励情况,则会收到正信号奖励;反之则收到负信号惩罚。如此循环下去,智能体与环境不断地交互从而产生很多数据。强化学习算法利用产生的数据修改自身的动作策略,再与环境交互,产生新的数据,进一步改善自身行为,经过数次迭代学习后,智能体能够学到完成相应任务的最优动作,也就是最优策略。正是由于强化学习算法所具有的简单、灵活的特性,使得强化学习算法符合人们对多智能体策略学习算法的各种需求,进而在多智能体领域有着广阔的前景,多智能体强化学习应运而生。多智能体强化学习已被成功应用于计算机技术、移动通信技术、自动化技术等领域。每个具有强化学习能力的智能体能够在训练中学会如何与动态变化的环境进行交互,观察环境的状态并采取行动,使得所在环境到达一个新的状态,同时智能体会收到一个量化的反馈值,以使得智能体能够不断适应有其他智能体存在的新的环境,学会如何在动态开放环境中做出决策。多个这样彼此相互影响相互适应的智能体,通过强化学习的方法学习策略,以达到整体的期望目标。现有的多智能体强化学习方法直接应用到多机器人全覆盖任务分配场景也是有一定的不足,因为在分布式多机器人全覆盖任务分配问题中,每个机器人需要记录自己的历史轨迹并告知其他队友以避免重复区域探索。这就需要机器人学会关注那些虽然目前距离相对较远,但是历史轨迹在机器人当前位置周围的机器人传递的消息,这需要一个准确的衡量每一对机器人之间交互权重的注意力机制,而现有的多智能体强化学习算法大多只能实现近距离的消息关注权重计算,无法对历史轨迹告知问题和局部目标区域冲突问题做出平衡。比如,如果机器人1和机器人3由于距离比较近,存在潜在的目标冲突问题应该紧密交互;同样地,机器人1因即将要探索机器人0的已探索区域,而机器人0的历史轨迹需要通过消息传递的形式才能告知机器人1,虽然二者此时距离较远,但是二者也应紧密交互以避免重复探索,而现有的多智能体强化学习算法很难平衡这两部分消息的权重。因此,如何能够将多智能体强化学习方法应用于多机器人全覆盖任务分配问题,且能够有效应对环境的动态变化,同时能够应对环境中的噪声,是目前智能机器人系统领域技术人员面临的一个技术难题。
技术实现思路
本专利技术要解决的技术问题是提供一种基于多智能体强化学习的多机器人动态噪声环境全覆盖任务分配方法,该方法利用边训练边学习的方法让多机器人在执行对未知环境的全覆盖分配任务的同时优化多机器人的交互及行动策略,应对环境中存在的噪声及随机分布的动态障碍达到指定的环境覆盖率,进而掌握协同策略,无需事先获得任务和环境的全面、具体的信息。本专利技术提出的多头注意力机制可以帮助机器人在通信时选择正确且对自己有价值的消息,减小对噪声信息和对自己无用信息的关注权重,进而正确地完成状态价值估计过程,以有效应对动态和噪声环境的干扰。本专利技术的技术方案是:首先将地图离散化为网格信息,每个网格被设置为一个网格点,每个机器人配备定位装置和通信装置,机器人之间可以互相通信以获取机器人编号信息以及局部环境感知信息(即当前局部视图)。机器人通过感知信息获取模块在获取当前局部视图后,将当前局部视图与历史坐标集合发送至输入状态估值模块,输入状态估值模块得到输入状态估值向量和编号独热编码向量并将其发送给位置关系判定模块,位置关系判定模块接收来自其余机器人的输入状态估值向量和编号独热编码向量计算出邻接特征矩阵集合,然后这些信息经过交互权重估值模块的处理后得到邻接加权向量,动作估计模块对邻接加权向量和输入状态估值向量进行处理,得到当前状态对应的动作概率分布,进而挑选估值最大动作作为决策。当到达指定探索时间后,中心本文档来自技高网
...

【技术保护点】
1.一种面向动态噪声环境的全覆盖任务分配方法,其特征在于包括以下步骤:/n第一步,构建多机器人环境,它由N个机器人节点和中心控制节点构成,N为机器人节点全数,N为正整数,N个机器人节点的工作方式一致;机器人节点是可以运行软件程序的异构机器人硬件设备,中心控制节点是具有计算能力的资源可控的计算设备;中心控制节点监控地图状态,为每个机器人更新行为策略参数,多个机器人节点和中心控制节点通过网络设备互联;/n机器人节点i除了装有操作系统外,还装有感知信息获取模块、输入状态估值模块、位置关系判定模块、交互权重估计模块和动作估计模块,1≤i≤N;/n中心控制节点除了装有操作系统以及深度学习框架外,还装有环境状态监测模块、经验采集模块和网络更新模块;/n定义离散化地图中的每个网格为网格点,使用占用网格法来表示地图,根据每个网格上的不同情况,将网格的当前状态分为障碍、已探索和未探索三种地图状态,如公式1所示:/n

【技术特征摘要】
1.一种面向动态噪声环境的全覆盖任务分配方法,其特征在于包括以下步骤:
第一步,构建多机器人环境,它由N个机器人节点和中心控制节点构成,N为机器人节点全数,N为正整数,N个机器人节点的工作方式一致;机器人节点是可以运行软件程序的异构机器人硬件设备,中心控制节点是具有计算能力的资源可控的计算设备;中心控制节点监控地图状态,为每个机器人更新行为策略参数,多个机器人节点和中心控制节点通过网络设备互联;
机器人节点i除了装有操作系统外,还装有感知信息获取模块、输入状态估值模块、位置关系判定模块、交互权重估计模块和动作估计模块,1≤i≤N;
中心控制节点除了装有操作系统以及深度学习框架外,还装有环境状态监测模块、经验采集模块和网络更新模块;
定义离散化地图中的每个网格为网格点,使用占用网格法来表示地图,根据每个网格上的不同情况,将网格的当前状态分为障碍、已探索和未探索三种地图状态,如公式1所示:



P(x,y)为在离散化地图上横坐标为x,纵坐标为y位置的当前状态;
定义机器人节点i的局部环境感知信息为当前状态oi,oi描述了以机器人节点i为中心,以机器人节点i通信范围为半径的正方形网格区域内是否包含障碍物或其余的机器人,半径指正方形边长的一半;定义机器人节点i前往的下一网格点方向的移动为动作ai,到达的下一个状态为o′i,下一网格点方向包括向上、向下、向左、向右;定义机器人节点从到达当前网格点至到达下一网格点的过程中,与障碍物或其余机器人节点的碰撞与否以及下一节点是否为机器人群体已探索过的区域,为当前状态下选择该动作后获得的奖惩信息ri;定义机器人节点i从一个状态开始选择一个动作后直至全覆盖任务结束所得到的奖惩信息之和为该状态下选择该动作后获得的累积回报Ri;将机器人节点i将编号i以及Ki个邻居的编号转化为独热编码向量,得到(Ki+1)×N维的矩阵,定义该矩阵为邻接矩阵Ci,Ki为机器人节点i的邻居机器人的个数,0≤Ki≤N-1;邻接矩阵Ci定义为的第一行代表机器人节点i的编号独热编码,其余Ki行代表Ki个邻居机器人的编号独热编码,由上到下的顺序为机器人编号由小到大的顺序,代表机器人的数目;
中心控制节点的经验采集模块中有一个经验池,经验池存储各个机器人的经验五元组,经验五元组为[当前状态,动作,奖惩信息,下一状态,邻接矩阵];
定义机器人节点i的动作估计模块估计机器人节点i在当前状态oi,采取动作ai得到的累积回报值为Q(oi,ai;θ3),θ3为动作估计模块的网络参数,当前状态oi记录了当前环境状态内的其他机器人节点的相对位置,当前环境状态内的其他机器人节点指机器人节点i视觉范围内的机器人;通过计算当前状态oi对应的所有动作的累积回报值,并挑选出使得累积回报值最大的动作a,即maxaQ(oi,ai;θ3),得到当前状态应该采取的动作a;
下一状态指从当前状态采取了动作后到达的状态;
机器人节点i的感知信息获取模块与机器人节点i的输入状态估值模块、中心控制节点的环境状态监测模块和经验采集模块相连,用于从环境获取当前局部视图,记录机器人节点i的历史轨迹信息以避免重复探索;感知信息获取模块从环境获取机器人节点i的实时位置(xi,yi),(xi,yi)为二维数组,代表实时位置在离散化地图中的坐标值,将实时位置(xi,yi)存储到机器人节点i的历史坐标集合li中;使用机器人节点i的传感器获取机器人节点i的当前状态oi,将oi和li发送给机器人节点i的输入状态估值模块;机器人节点i执行动作后,感知信息获取模块根据传感器获取机器人节点i的下一时刻环境状态o′i,并将oi和o′i发送给环境状态监测模块和经验采集模块;
机器人节点i的输入状态估值模块是包含一个一层的多层感知机的软件模块,与机器人节点i的感知信息获取模块、机器人节点i的位置关系判定模块、机器人节点i的动作估计模块、机器人节点i的交互权重估值模块、Ki个邻居机器人节点的位置关系判定模块相连,它从机器人节点i的感知信息获取模块获取oi和li,对oi和li进行拼接后输入多层感知机,得到输入状态估值向量hi,Ki为机器人节点i的邻居机器人的个数,Ki为小于N的正整数;输入状态估值模块创建机器人节点i的编号独热编码向量,将hi和编号独热编码向量发送给机器人节点i的位置关系判定模块和Ki个邻居机器人节点的位置关系判定模块;将hi发送给机器人节点i的动作估计模块;机器人节点i的输入状态估值模块从中心控制节点的网络更新模块接收更新参数,用于更新输入状态估值模块中多层感知机的网络参数θ1;
机器人节点i的位置关系判定模块与机器人节点i的输入状态估值模块、机器人节点i的交互权重估值模块和Ki个邻居机器人节点的输入状态估值模块相连,它从机器人节点i的输入状态估值模块接收hi和编号独热编码向量,从邻居机器人的输入状态估值模块接收Ki个输入状态估值向量和Ki个编号独热编码向量将hi和整合成N×H维的特征矩阵Fi;机器人节点i的位置关系判定模块利用编号独热编码向量和建立(Ki+1)×N维的邻接矩阵Ci,计算Ci×Fi,得到邻接特征矩阵集合Gi,将Gi发送给机器人节点i的交互权重估值模块和中心控制节点的经验采集模块;机器人节点i视觉范围外的机器人输入状态估值向量用单位向量代替,H代表输入状态估值向量的维度;
单位向量的维度是输入状态估值向量的维度,除第一位为1之外,向量的其余位置均为0;机器人节点i的交互权重估值模块与机器人节点i的位置关系判定模块、机器人节点i的动作估计模块、机器人节点i的输入状态估值模块相连,交互权重估值模块是包含M个注意力头的软件模块,1≤M≤4;注意力头是计算两个机器人的输入状态估值向量之间匹配程度的软件子模块,每个注意力头由查询转换子模块、键值转换子模块和价值转换子模块组成,查询转换子模块、键值转换子模块和价值转换子模块均是包含一层的多层感知机的软件模块;
注意力头的功能是根据Query和Key计算对应Query的Value的权重系数,然后对Source中的Value值进行加权求和,得到邻接加权向量;Query指机器人节点i应该关注的邻居机器人消息的权重查询;Key指交互权重计算时的键值;Value值即价值指每个机器人局部视图中信息的有效信息;Value的权重系数指Value占整个邻接加权向量的百分比;Source指邻居机器人集合;邻接加权向量指所有邻居机器人Value的权重系数与Value值的乘积之和;
机器人节点i的交互权重估值模块从机器人节点i的位置关系判定模块接收机器人节点i的邻接特征矩阵集合Gi,将邻接特征矩阵集合等分为M份,将M份邻接特征矩阵子集合分别分配给M个注意力头并行进行权重估值,得到针对机器人i的来自Ki个邻居机器人的邻接加权向量Qi;机器人节点i的交互权重估值模块从中心控制节点的网络更新模块接收更新参数,用于更新查询转换子模块、键值转换子模块和价值转换子模块中多层感知机的网络参数θ2;
机器人节点i的动作估计模块与机器人节点i的交互权重估值模块、机器人节点i的输入状态估值模块、中心控制节点的环境状态监测模块、经验采集模块和网络更新模块相连,从机器人节点i的交互权重估计模块接收邻接加权向量Qi,从机器人节点i的输入状态估值模块接收输入状态估值向量hi,从中心控制节点的网络更新模块接收动作估计模块的参数,从中心控制节点的环境状态监测模块接收机器人步数;动作估计模块是包括一个两层的多层感知机的软件模块,主要用于计算累积回报值;该两层的多层感知机称为状态估计神经网络,状态估计神经网络将mi和hi转化为状态oi下执行动作ai的累积回报值Q(oi,ai;θ3),;机器人节点i的动作估计模块以∈概率随机挑选的动作a或者以(1-∈)的概率选择累积回报值最大的动作a,a=maxaQ(oi,ai;θ3),∈为不按当前策略采取动作随机采样新动作的概率;机器人节点i的动作估计模块从中心控制节点的网络更新模块接收更新参数,用于更新θ3;
中心控制节点的环境状态监测模块与机器人节点i的动作估计模块、机器人节点i的感知信息获取模块和中心控制节点的经验采集模块相连,从N个机器人节点的感知信息获取模块分别接收N个机器人节点当前时刻状态o1,...,oi,...,oN和下一时刻状态o′1,...,o′i,...,o′N,将o1,...,oi,...,oN简写为o1...N,将o′1,...,o′i,...,o′N简写为o′1...N,根据o1...N更新地图状态,即记录地图哪些位置已经被探索,并记录N个机器人每一步来自环境状态检测模块的决策奖惩信息r1,...,ri,...,rN,将r1,...,ri,...,rN简写为r1...N,将奖惩信息r1...N发送给经验采集模块;记录机器人步数,将机器人步数发送给机器人节点i的动作估计模块;
经验采集模块与N个机器人节点的动作估计模块、N个机器人节点的感知信息获取模块、N个机器人节点的位置关系判定模块、中心控制节点的环境状态监测模块、中心控制节点的网络更新模块相连,从N个机器人节点的动作估计模块接收N个机器人节点分别采取的动作a1...N、从N个机器人节点的感知信息获取模块分别接收N个机器人节点当前时刻状态o1...N和下一时刻状态o′1...N、从N个机器人节点的位置关系判定模块分别接收N个机器人节点的邻接特征矩阵集合G1,...,Gi,...,GN、从环境状态监测模块接收N个机器人节点获得的奖惩信息r1...N,将G1,...,Gi,...,GN简写为G1...N,将经验五元组[o1...N,a1...N,r1...N,o′1...N,G1...N]存入经验池;如果当前时刻到达了预设的网络更新周期,经验采集模块将经验池中的p个经验五元组发送给网络更新模块,p为2的整数次幂;
网络更新模块与机器人节点i的动作估计模块和中心控制节点的经验采集模块相连,从经验采集模块接收p个经验五元组;网络更新模块是一个包含一个2层的多层感知机的软件模块,该2层的多层感知机称为状态现实神经网络;网络更新模块功能是计算状态现实神经网络下一时刻状态及动作的累积回报值,更新现实神经网络的网络参数θ4;并更新动作估计模块、交互权重模块和输入状态估值模块的参数,将更新后的参数发送给相应模块;
第二步,对地图、经验池以及输入状态估值模块、交互权重估计模块、动作估计模块和网络更新模块的多层感知机参数进行初始化,方法是:
2.1初始化地图网格的当前状态,障碍位置标记为0,其余位置标记为-1;
2.2初始化经验池为空;
2.3初始化历史坐标集合为空;
2.4初始化机器人步数t=0,令全覆盖任务周期T1=40;令网络更新周期T2=T1*1000;令策略优化周期T3=T1*50000;
2.5将输入状态估值模块的多层感知机参数θ1、交互权重估值模块的多层感知机参数θ2、及动作估计模块的多层感知机参数θ3以及网络更新模块的多层感知机参数θ4初始化为0至1之间的随机数,其中交互权重估值模块中M个注意力头的θ2分别初始化为不同的随机数;
2.6将N个机器人节点选择各个动作的概率均初始化为1/动作空间维度,动作空间维度指机器人所有可能执行的不同动作个数;
第三步,N个机器人节点的感知信息获取模块并行接收环境感知信息,输入状态估值模块、位置关系判定模块、交互权重估计模块、动作估计模块相互配合决策下一步的动作,N个机器人节点执行动作,N个机器人节点的决策过程完全相同,机器人节点i的决策过程是:
3.1机器人节点i的感知信息获取模块从环境获取机器人节点i的实时位置坐标(xi,yi),将(xi,yi)加入至历史坐标集合li;机器人节点i用传感器获取当前状态oi,将li和oi发送给输入状态估值模块;
3.2机器人节点i的输入状态估值模块从机器人节点i的感知信息获取模块接收li和oi,通过多层感知机得到输入状态估值向量hi;并根据机器人的数目N对编号i进行独热编码得到独热编码向量ei,将hi和ei发送给机器人i的位置关系判定模块和视觉范围内的邻居机器人节点的位置关系判定模块;
3.3机器人节点i的位置关系判定模块从邻居机器人节点的输入状态估值模块接收输入状态估值向量和编号独热编码向量从机器人节点i的输入状态估值模块接收hi和ei,将ei和经过进行转化,得到(Ki+1)×N维的邻接矩阵Ci,将hi和进行转化,得到N×H维的特征矩阵Fi;计算Ci×...

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

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

1