有效
一种面向动态噪声环境的全覆盖任务分配方法
丁博、王怀民、耿明阳、张捷、贾宏达、巩旭东、怀智博、刘宸羽
中国人民解放军国防科技大学
摘要
本发明公开了一种面向动态噪声环境的全覆盖任务分配方法。先构建由机器人节点和中心控制节点构成的多机器人环境;机器人节点装有感知信息获取模块、输入状态估值模块、位置关系判定模块、交互权重估计模块和动作估计模块;中心控制节点装有环境状态监测模块、经验采集模块和网络更新模块;感知信息获取模块获取局部视图,输入状态估值模块得到输入状态估值向量和编号独热编码向量,位置关系判定模块计算邻接特征矩阵集合,交互权重估值模块计算邻接加权向量,动作估计模块挑选估值最大动作作为决策;中心控制节点采用强化学习方法对各模块中网络进行优化;本发明边执行边优化,不但任务分配准确高效,且机器人下次执行任务时间更短。
1.一种面向动态噪声环境的全覆盖任务分配方法,其特征在于包括以下步骤:第一步,构建多机器人环境,它由N个机器人节点和中心控制节点构成,N为机器人节点全数,N为正整数,N个机器人节点的工作方式一致;机器人节点是可以运行软件程序的异构机器人硬件设备,中心控制节点是具有计算能力的资源可控的计算设备;中心控制节点监控地图状态,为每个机器人更新行为策略参数,多个机器人节点和中心控制节点通过网络设备互联;机器人节点i除了装有操作系统外,还装有感知信息获取模块、输入状态估值模块、位置关系判定模块、交互权重估计模块和动作估计模块,1≤i≤N;中心控制节点除了装有操作系统以及深度学习框架外,还装有环境状态监测模块、经验采集模块和网络更新模块;定义离散化地图中的每个网格为网格点,使用占用网格法来表示地图,根据每个网格上的不同情况,将网格的当前状态分为障碍、已探索和未探索三种地图状态,如公式1所示:P(x,y)为在离散化地图上横坐标为x,纵坐标为y位置的当前状态;定义机器人节点i的局部环境感知信息为当前状态o i ,o i 描述了以机器人节点i为中心,以机器人节点i通信范围为半径的正方形网格区域内是否包含障碍物或其余的机器人,半径指正方形边长的一半;定义机器人节点i前往的下一网格点方向的移动为动作a i ,到达的下一个状态为o′ i ,下一网格点方向包括向上、向下、向左、向右;定义机器人节点从到达当前网格点至到达下一网格点的过程中,与障碍物或其余机器人节点的碰撞与否以及下一节点是否为机器人群体已探索过的区域,为当前状态下选择该动作后获得的奖惩信息r i ;定义机器人节点i从一个状态开始选择一个动作后直至全覆盖任务结束所得到的奖惩信息之和为该状态下选择该动作后获得的累积回报R i ;将机器人节点i的编号i以及K i 个邻居的编号转化为独热编码向量,得到(K i +1)×N维的矩阵,定义该矩阵为邻接矩阵C i ,K i 为机器人节点i的邻居机器人的个数,0≤K i ≤N-1;邻接矩阵C i 定义为的第一行代表机器人节点i的编号独热编码,其余K i 行代表K i 个邻居机器人的编号独热编码,由上到下的顺序为机器人编号由小到大的顺序,代表机器人的数目;中心控制节点的经验采集模块中有一个经验池,经验池存储各个机器人的经验五元组,经验五元组为[当前状态,动作,奖惩信息,下一状态,邻接矩阵];定义机器人节点i的动作估计模块估计机器人节点i在当前状态o i ,采取动作a i 得到的累积回报值为Q(o i ,a i ;θ 3 ),θ 3 为动作估计模块的网络参数,当前状态o i 记录了当前环境状态内的其他机器人节点的相对位置,当前环境状态内的其他机器人节点指机器人节点i视觉范围内的机器人;通过计算当前状态o i 对应的所有动作的累积回报值,并挑选出使得累积回报值最大的动作a,即max a Q(o i ,a i ;θ 3 ),得到当前状态应该采取的动作a;下一状态指从当前状态采取了动作后到达的状态;机器人节点i的感知信息获取模块与机器人节点i的输入状态估值模块、中心控制节点的环境状态监测模块和经验采集模块相连,用于从环境获取当前局部视图,记录机器人节点i的历史轨迹信息以避免重复探索;感知信息获取模块从环境获取机器人节点i的实时位置(x i ,y i ),(x i ,y i )为二维数组,代表实时位置在离散化地图中的坐标值,将实时位置(x i ,y i )存储到机器人节点i的历史坐标集合l i 中;使用机器人节点i的传感器获取机器人节点i的当前状态o i ,将o i 和l i 发送给机器人节点i的输入状态估值模块;机器人节点i执行动作后,感知信息获取模块根据传感器获取机器人节点i的下一时刻环境状态o′ i ,并将o i 和o′ i 发送给环境状态监测模块和经验采集模块;机器人节点i的输入状态估值模块是包含一个一层的多层感知机的软件模块,与机器人节点i的感知信息获取模块、机器人节点i的位置关系判定模块、机器人节点i的动作估计模块、机器人节点i的交互权重估值模块、K i 个邻居机器人节点的位置关系判定模块相连,它从机器人节点i的感知信息获取模块获取o i 和l i ,对o i 和l i 进行拼接后输入多层感知机,得到输入状态估值向量h i ,K i 为机器人节点i的邻居机器人的个数,K i 为小于N的正整数;输入状态估值模块创建机器人节点i的编号独热编码向量,将h i 和编号独热编码向量发送给机器人节点i的位置关系判定模块和K i 个邻居机器人节点的位置关系判定模块;将h i 发送给机器人节点i的动作估计模块;机器人节点i的输入状态估值模块从中心控制节点的网络更新模块接收更新参数,用于更新输入状态估值模块中多层感知机的网络参数θ 1 ;机器人节点i的位置关系判定模块与机器人节点i的输入状态估值模块、机器人节点i的交互权重估值模块和K i 个邻居机器人节点的输入状态估值模块相连,它从机器人节点i的输入状态估值模块接收h i 和编号独热编码向量,从邻居机器人 的输入状态估值模块接收K i 个输入状态估值向量 和K i 个编号独热编码向量 将h i 和 整合成N×H维的特征矩阵F i ;机器人节点i的位置关系判定模块利用编号独热编码向量和 建立(K i +1)×N维的邻接矩阵C i ,计算C i ×F i ,得到邻接特征矩阵集合G i ,将G i 发送给机器人节点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的邻接特征矩阵集合G i ,将邻接特征矩阵集合等分为M份,将M份邻接特征矩阵子集合分别分配给M个注意力头并行进行权重估值,得到针对机器人i的来自K i 个邻居机器人的邻接加权向量Q i ;机器人节点i的交互权重估值模块从中心控制节点的网络更新模块接收更新参数,用于更新查询转换子模块、键值转换子模块和价值转换子模块中多层感知机的网络参数θ 2 ;机器人节点i的动作估计模块与机器人节点i的交互权重估值模块、机器人节点i的输入状态估值模块、中心控制节点的环境状态监测模块、经验采集模块和网络更新模块相连,从机器人节点i的交互权重估计模块接收邻接加权向量Q i ,从机器人节点i的输入状态估值模块接收输入状态估值向量h i ,从中心控制节点的网络更新模块接收动作估计模块的参数,从中心控制节点的环境状态监测模块接收机器人步数;动作估计模块是包括一个两层的多层感知机的软件模块,主要用于计算累积回报值;该两层的多层感知机称为状态估计神经网络,状态估计神经网络将m i 和h i 转化为状态o i 下执行动作a i 的累积回报值Q(o i ,a i ;θ 3 );机器人节点i的动作估计模块以∈概率随机挑选的动作a或者以(1-∈)的概率选择累积回报值最大的动作a,a=max a Q(o i ,a i ;θ 3 ),∈为不按当前策略采取动作随机采样新动作的概率;机器人节点i的动作估计模块从中心控制节点的网络更新模块接收更新参数,用于更新θ 3 ;中心控制节点的环境状态监测模块与机器人节点i的动作估计模块、机器人节点i的感知信息获取模块和中心控制节点的经验采集模块相连,从N个机器人节点的感知信息获取模块分别接收N个机器人节点当前时刻状态o 1 ,...,o i ,...,o N 和下一时刻状态o′ 1 ,...,o′ i ,...,o′ N ,将o 1 ,...,o i ,...,o N 简写为o 1...N ,将o′ 1 ,...,o′ i ,...,o′ N 简写为o′ 1...N ,根据o 1...N 更新地图状态,即记录地图哪些位置已经被探索,并记录N个机器人每一步来自环境状态检测模块的决策奖惩信息r 1 ,...,r i ,...,r N ,将r 1 ,...,r i ,...,r N 简写为r 1...N ,将奖惩信息r 1...N 发送给经验采集模块;记录机器人步数,将机器人步数发送给机器人节点i的动作估计模块;经验采集模块与N个机器人节点的动作估计模块、N个机器人节点的感知信息获取模块、N个机器人节点的位置关系判定模块、中心控制节点的环境状态监测模块、中心控制节点的网络更新模块相连,从N个机器人节点的动作估计模块接收N个机器人节点分别采取的动作a 1...N 、从N个机器人节点的感知信息获取模块分别接收N个机器人节点当前时刻状态o 1...N 和下一时刻状态o′ 1...N 、从N个机器人节点的位置关系判定模块分别接收N个机器人节点的邻接特征矩阵集合G 1 ,...,G i ,...,G N 、从环境状态监测模块接收N个机器人节点获得的奖惩信息r 1...N ,将G 1 ,...,G i ,...,G N 简写为G 1...N ,将经验五元组[o 1...N ,a 1...N ,r 1...N ,o′ 1...N ,G 1...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的实时位置坐标(x i ,y i ),将(x i ,y i )加入至历史坐标集合l i ;机器人节点i用传感器获取当前状态o i ,将l i 和o i 发送给输入状态估值模块;3.2机器人节点i的输入状态估值模块从机器人节点i的感知信息获取模块接收l i 和o i ,通过多层感知机得到输入状态估值向量h i ;并根据机器人的数目N对编号i进行独热编码得到独热编码向量e i ,将h i 和e i 发送给机器人i的位置关系判定模块和视觉范围内的邻居机器人节点 的位置关系判定模块;3.3机器人节点i的位置关系判定模块从邻居机器人节点 的输入状态估值模块接收输入状态估值向量 和编号独热编码向量 从机器人节点i的输入状态估值模块接收h i 和e i ,将e i 和 经过进行转化,得到(K i +1)×N维的邻接矩阵C i ,将h i 和 进行转化,得到N×H维的特征矩阵F i ;计算C i ×F i ,得到邻接特征矩阵集合G i ,将邻接特征矩阵集合G i 发送给机器人节点i的交互权重估计模块和中心控制节点的经验采集模块;3.4机器人节点i的交互权重估计模块从机器人节点i的位置关系判定模块接收机器人节点i的邻接特征矩阵集合G i ,将邻接特征矩阵集合G i 交由M个注意力头并行进行权重估值,获得邻接加权向量Q i ,将Q i 发送给机器人节点i的动作估计模块, M个注意力头子模块并行进行权重估值的方法相同,第m个注意力头进行权重估值的方法是:3.4.1第m个注意力头的查询转化子模块接收来自机器人节点i的位置关系判定模块的邻接特征矩阵,其中包含了h i ,以及机器人节点i的所有邻居机器人节点的输入状态估值向量;查询转化子模块将机器人节点i的输入状态估值向量输入一层的多层感知机,通过一层的多层感知机转化为机器人i的查询向量 3.4.2初始化独热编码向量的当前维度v为1;3.4.3第m个注意力头的键值转化子模块将邻居机器人节点j v 的输入状态估值向量通过一层的多层感知机转化为机器人j的第m个注意力头的键值向量 第m个注意力头的价值转化子模块将邻居机器人节点j v 的输入状态估值向量的第m份通过一层的多层感知机转化为机器人j的第m个注意力头的价值向量 j v 属于 3.4.4令v=v+1,若v≤K i ,转步骤3.4.3;若v>K i ,转3.4.5;3.4.5第m个注意力头按公式2计算交互权重 指第m个注意力头计算出的机器人i与机器人j之间的交互权重, 指机器人i的邻居机器人j u 的第m个注意力头的键值向量,Neigh i 表示机器人i节点的邻居机器人节点集合, 3.4.6第m个注意力头计算邻居机器人j对于机器人i的有价值消息m ij , 3.4.7第m个注意力头估算来自机器人节点i的邻居机器人节点的有价值消息E m ,方法是将来自邻居机器人节点 的有价值消息求和,即令 3.4.8机器人节点i的交互权重估值模块将有价值消息E 1 ,...,E m ,...,E M 顺序拼接,得到融合了多类不同特征的针对于机器人i的邻接加权向量Q i :Q i =σ(Concat[E 1 ,...,E m ,...,E M ])公式3;公式3中Concat代表拼接,σ(x)代表参数x的非线性激活函数;3.4.9机器人节点i的交互权重估值模块将邻接加权向量Q i 发送到机器人节点i的动作估计模块;3.5机器人节点i的动作估计模块估算当前状态对应的动作,方法是:3.5.1机器人节点i的动作估计模块将h i 和Q i 顺序拼接后输入到动作估计模块的两层的多层感知机中,计算选择不同动作a i 对应的累积回报值Q(o i ,a i ;θ 3 );3.5.2机器人节点i的动作估计模块从中心控制节点的环境状态监测模块接收机器人步数,判断机器人步数t是否大于T3,如果t>T3,则执行步骤3.5.3;否则,机器人节点i生成一个随机数,如果随机数>∈,执行步骤3.5.3;否则,令a i 为向上、向下、向左、向右中的任意一个,执行步骤3.6;3.5.3取使得累积回报值最大的动作a i =max a Q(o i ,a i ;θ 3 ),此动作代表机器人i通过与邻居机器人交互后,得到机器人i下一步的决策方向;3.6机器人节点i执行动作a i ,机器人节点i的坐标位置以及历史轨迹发生变化;3.7机器人节点i的动作估计模块将采取的动作a i 发送给中心控制节点的经验采集模块;3.8感知信息获取模块获取机器人节点i此时的状态o′ i ,将o i 和o′ i 发送给中心控制节点的环境状态监测模块;第四步,环境状态监测模块根据N个机器人的当前位置信息更新地图状态,并将N个机器人的奖惩信息发送给经验采集模块,方法是:4.1初始化节点编号变量i=1;4.2环境状态监测模块从机器人节点i的感知信息获取模块接收当前状态o i 和下一时刻状态o′ i ,从o i 中获取机器人节点i当前坐标(x i ,y i ),更新地图网格状态;4.3环境状态监测模块根据公式4为机器人i计算奖励值 并将 发送给经验采集模块:B back ·r back +C t ·r coll 代表个人奖励,B back 是判断机器人是否此时探索的是整个群体已经探索过的区域的布尔向量,为1表示已探索过,为0表示未探索过;r back 指机器人i当前步如果走的是已探索区域应该给予的惩罚值,C t 代表机器人i与其余机器人或障碍物的碰撞次数;r coll 为碰撞的惩罚值;B final ·is succ ·r succ +B final ·(1-is succ )·r fail 代表平均全局奖励和惩罚B final 是判断此时是否是全覆盖任务周期最后一步的布尔向量;is succ 是判断这一全覆盖任务周期是否成功的布尔向量;r succ 为奖励值,r fail 为惩罚值;4.4环境状态监测模块判断i≤N是否成立,若i≤N,令i=i+1,令 执行步骤4.2;若i>N,执行步骤4.5;4.5令机器人步数t=t+1,环境状态监测模块将奖惩信息r 1...N 发送给经验采集模块;将机器人步数发送给所有机器人节点的动作估计模块;第五步,经验采集模块接收N个机器人节点动作估计模块采取的动作a 1...N 、从环境状态监测模块接收的奖励值r 1...N ,从N个机器人节点感知信息获取模块接收当前时刻状态o 1...N 和下一时刻状态o′ 1...N ,从N个机器人节点位置关系判定模块接收邻接特征矩阵集合G 1...N ,将五元组[o 1...N ,a 1...N ,r 1...N ,o′ 1...N ,G 1...N ]存入经验池;第六步,环境监测模块判断任务是否达到指定的全覆盖任务周期,即判断t’=t%T1是否为0,%为取余计算,如果t’不为0,转第三步;如果为0,转第七步;第七步,环境状态监测模块判断N个机器人节点是否达到了策略优化周期T3,即t>T3是否为真,如果为真,则中心控制节点停止对N个机器人节点的输入状态估值模块、交互权重估值模块和动作估计模块的参数进行优化;否则继续判断当前是否到达了指定的网络更新周期T2,如果是,网络更新模块逐步更新动作估计模块、交互权重估计模块和输入状态估值模块多层感知机的网络参数,方法是:7.1环境状态监测模块获取当前步数t,如果t>T3,执行第八步;否则执行步骤7.2;7.2环境状态监测模块进行判断,如果t”=t%T2≠0,转第三步;否则到达网络更新周期,从经验池中取出p个经验五元组,转7.3;7.3网络更新模块从环境状态监测模块处获取p个经验五元组,从p个经验五元组中获得N个机器人在当前状态下采取的动作信息及到达的下一时刻状态信息,根据N个机器人的下一时刻状态o′ i ,挑选使得Q(o′ i ,a′ i ;θ 4 )值最大的动作a′ i ,即max a′ Q(o′ i ,a′ i ;θ 4 ),Q(o i ′,a i ′;θ 4 )指在状态为o i ′时采取动作a i ′的累积回报值;7.4网络更新模块通过公式5所示的损失函数L(θ 3 ),对动作估计模块的参数进行优化:其中y i =r i +γmax a′ Q(o′ i ,a′ i ;θ 4 );γ代表折扣因子,网络更新模块通过把L(θ 3 )对θ求偏导得到梯度 然后将动作估计模块的参数θ 3 更新为 其中α为预设的学习率;7.5N个机器人的网络更新模块按照动作估计模块的参数θ 4 进行更新,即令θ 4 =τθ 3 +(1-τ)θ 4 公式6;7.6网络更新模块通过反向传播算法计算损失函数L(θ 3 )对于交互权重估计模块以及输入状态估值模块参数的梯度,并对交互权重估计模块的参数θ 2 和输入状态估值模块的参数θ 1 进行更新,即令 令 7.7网络更新模块将优化后的动作估计模块、交互权重估计模块和输入状态估值模块参数即各机器人节点相应的θ 3 、θ 2 、θ 1 分别发送给N个机器人的动作估计模块、交互权重估计模块和输入状态估值模块,N个机器人的动作估计模块、交互权重估计模块和输入状态估值模块接收到参数后,更新多层感知机的参数;7.8转第三步;第八步,环境状态监测模块判断当前地图中的所有网格点是否已被覆盖完,如果已经覆盖完,转第九步;否则转第三步继续进行目标区域探索;第九步,当前地图的全覆盖分配任务结束。
2.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于所述机器人节点、中心控制节点上安装的操作系统指Ubuntu16.04,安装的深度学习框架指Pytorch0.3.0.post4。
3.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于所述地图状态记录在地图状态数组里,地图状态数组是一个H 1 ×W 1 的二维数组,地图状态数组的每个元素表示每个网格点的状态,H 1 和W 1 均为正整数。
4.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于所述输入状态估值向量h i 是128维的向量,每一维的数值范围是0到1之间的实数;机器人节点i视觉范围外的机器人输入状态估值向量用单位向量代替,H代表输入状态估值向量的维度,H=128;所述不按当前策略采取动作随机采样新动作的概率∈满足,0≤∈≤0.1。
5.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于所述经验池的容量大小设置为100000个经验五元组,当经验池填满后,新加入的经验五元组将顶替经验池顶端的经验五元组;所述p为1024。
6.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于3.2步所述机器人节点i的输入状态估值模块得到输入状态估值向量h i 和独热编码向量e i ,将h i 和e i 发送给机器人i的位置关系判定模块和视觉范围内的邻居机器人节点 的位置关系判定模块的方法是:3.2.1机器人节点i的输入状态估值模块从机器人节点i的感知信息获取模块接收l i 和o i ,将l i 拼接到o i 的尾端,然后将拼接了l i 的o i 输入到一层的多层感知机中,得到输入状态估值向量h i ;3.2.2机器人节点i的输入状态估值模块根据机器人的数目N对编号i进行独热编码得到独热编码向量e i ;3.2.3机器人节点i的输入状态估值模块将h i 和e i 发送给机器人i的位置关系判定模块和机器人i的视觉范围内的邻居机器人节点 的位置关系判定模块,并将h i 发送到机器人节点i的动作估计模块。
7.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于3.3步所述机器人节点i的位置关系判定模块得到邻接特征矩阵集合G i ,将邻接特征矩阵集合G i 发送给机器人节点i的交互权重估计模块和中心控制节点的经验采集模块的方法是:3.3.1机器人节点i的位置关系判定模块从邻居机器人 的输入状态估值模块接收 和 从机器人节点i的输入状态估值模块接收h i 和e i ;3.3.2机器人节点i的位置关系判定模块将e i 和 经过进行转化得到(K i +1)×N维的邻接矩阵C i ,转化方法是将e i 作为C i 的第一行, 按 由小到大排序,分别作为C i 的其余K i 行;3.3.3机器人节点i的位置关系判定模块将h i 和 进行转化,得到N×H维的特征矩阵集合F i ,转化方法是:F i 的第一行为h i , 按 由小到大排序,分别作为F i 的 行,F i 除第一行、第 行以外的其它N-1-K i 行为其余视觉范围外机器人的输入状态估值向量,直接用视觉范围外机器人输入状态估值向量的单位向量按机器人的编号由小到大排序代替,H代表输入状态估值向量的维度;3.3.4机器人i的位置关系判定模块计算C i ×F i ,得到邻接特征矩阵集合G i ,将G i 发送给交互权重估计模块和中心控制节点的经验采集模块。
8.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于4.2步所述环境状态监测模块更新地图网格状态的方法是:标记(x i ,y i )状态为已探索,值为1。
9.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于4.3步公式4中所述B back 为1表示已探索过,为0表示未探索过;r back 的值为-10,r coll 是-10;B final 为1表示是最后一步,为0表示不是最后一步;is succ 为1表示成功,为0表示不成功;r succ 设置为40;r fail 设置为-5。
10.如权利要求1所述的一种面向动态噪声环境的全覆盖任务分配方法,其特征在于7.4步所述α设置为0.01。




