一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种改进群机器人进化能力的异质同质群体协同进化方法与流程

2021-10-09 00:33:00 来源:中国专利 TAG:机器人 进化 群体 同质 协同


1.本发明属于群体机器人控制领域,具体公开了一种改进群机器人策略进化能力的异质同质群体协同进化方法。


背景技术:

2.近几十年来,机器人系统的发展为人类社会带来了巨大变革。在不久的将来,机器人系统将被广泛应用于娱乐、体育、工作等领域。随着科学技术的发展,机器人系统需要完成越来越复杂的任务。虽然机器人系统具有许多优点,但单个机器人由于其内部结构复杂、损伤后难以修复、成本高等原因,出现故障概率高。因此,群体机器人系统(swarm robotics systems, srss)逐渐成为人们关注的焦点。由于个体自主执行任务的特点,群体机器人系统具有单体机器人系统所不具备的强大鲁棒性和抗毁性。目前,群体机器人系统已经应用于一些场景中,如物体运输和区域覆盖。
3.随着机器人技术的发展和人们需求的不断增长,群体机器人的任务场景将呈现多样化和动态化的趋势,如各种任务场景、动态任务目标等。单任务机器人系统应用场景有限,难以广泛应用。然而,目前的群体机器人系统大多是针对特定场景而设计的,因此在大多数情况下无法使群体机器人在切换场景后仍准确地完成任务。因此,期望群体机器人系统能够自主地进化策略,以适应不同的任务场景,即群体机器人的策略进化能力。作为一项关键技术,群机器人的策略进化能力直接影响到群体机器人系统在现实中的功能和普遍适用性。在群体机器人应用中,群体自主策略进化问题已经得到了广泛的研究,但仍然面临许多挑战。
4.(1)首先,群体机器人系统的策略进化效率较低,往往需要多次迭代才能演化出有效的策略。这导致了对强大计算和存储容量的需求。
5.(2)许多策略进化方法依赖于控制中心。然而,这要求机器人对场景有一个全面的了解,这些方法只适用于仿真,进化的结果很难适应分布式任务场景。
6.(3)当前群体机器人的策略表达大多基于神经网络,机器人的下一步行动由网络的权重和偏差决定。这种方法的进化过程是一个参数调整的过程,因此进化得到的策略是不可解释的。
7.策略进化是群体机器人应用中的一个重要研究课题,大量的研究都集中在如何使得机器人学会自主进化出新的策略,从而减少人力消耗上。为了实现这一目标,广泛应用了两种基本技术:启发式方法(heuristic algorithm, ha)和强化学习(reinforcement learning, rl)。搜索问题的启发式方法可以被认为是解决算法问题的“经验法则”。它们不能保证产生最优解,相反,目标是快速产生高质量的解。当无法在可行的时间内使用精确的方法时,通常会使用它们。超启发式被用来进化群体机器人的区域清扫策略,群体通过交互给启发式集中的行为打分,并为当前环境状态选择得分最高的最合适的启发式动作。启发式方法也被用于对行为进行排序,从而找到特定任务的最佳行为序列。然而这些方法都只针对特定、已知的任务环境,环境变化时,不可避免地要重新开始学习。此外,生物体细胞生
长机制启发了机器人学的研究。通过将控制策略编码为人工染色体,模拟生物学中的达尔文进化论来实现策略的进化。这种在机器人学中生成控制策略的方法被定义为进化机器人学(evolutionary robotics, er)。除了解决单智能体问题,进化计算也有利于群体产生群体行为,例如物品运输、聚集和群体觅食。遗传算法(genetic algorithm, ga)和粒子群优化算法(particle swarm optimization, pso)被使用来让机器人学习避障,并观察机器人控制器在整个学习过程中的多样性,试图更好地理解进化过程。但这些方法往往需要较长的学习时间,短时间内难以进化出有效的策略。因此,本发明旨在研究群体中基于环境反馈自主进化行为策略的高效的策略进化方法。
8.另一方面,强化学习(reinforcement learning , rl)已被应用于群体机器人。多智能体强化学习(multi

agent reinforcement learning, marl)是研究基于多智能体系统的强化学习技术,并研究生成这种自适应代理的算法设计的研究领域。基于多智能体系统的强化学习允许个体通过与环境和其他因素的反复试验来学习行为。一些被认为是marl的学习方法已经被实现,例如,气味定位机器人群和robocup足球。但是,强化学习方法需要长时间的训练,这通常要求离线学习和强大的计算能力。启发式方法被利用来加快强化学习的收敛速度。marl的进化出来的策略大多用神经网络表示,很难看出具体的策略结构,不具备可解释性。本发明提出的进化方法,期望能有效协调策略的进化性能和可解释性,使得机器人群体能够迅速进化出有效且结构清晰的策略。
9.flocking是群体机器人系统的许多应用的基础技术。在军事行动中,一队机器人可能被命令移动到一个特定的地方。群体转移的速度是重要的,这样它们可以出其不意而在对抗中取得优势。为了探究所提出的策略进化方法的可行性和有效性,flocking被选择。在机器人群中,集体运动是一种基本的操作,在这种操作中,一组机器人以一种聚集的方式从初始位置移动到目标区域。基于这些一般策略,已经出现了数百种模型来描述生物现象以及细胞的迁移运动。在实用方面,大量的研究致力于增强flocking的目的性,以使flocking行为能够更加有益于人类。然而当前对flocking行为策略表达大多是参数式,相对应的优化过程是对参数的调整过程。这导致进化出来的策略没有清晰的结构,不具备很强的可解释性。本发明提出的方法希望实现群体机器人行为策略的结构化表达,使得进化出的策略结构清晰,可解释性强。


技术实现要素:

10.本发明要解决的技术问题是提供一种改进群机器人进化能力的异质同质群体协同进化方法,以解决现有技术中存在的技术缺陷。
11.为实现上述目的,本发明提供了一种改进群机器人进化能力的异质同质群体协同进化方法,具体包括:群机器人中的每个个体交替处于异质阶段和同质阶段,在异质阶段,群机器人中的每个个体选择不同的策略,其策略组是,n为群机器人总数,通过群机器人与环境的相互作用,分别对每个个体选择的策略进行评价,得到异质阶段的高适应度策略,高适应度策略为适应度排名前的策略;在同质阶段,群机器人将评估在异质阶段得到的高适应度策略,群体机器人中的每个个体选择相同的策略,其策略组是,随着迭代次数的增加,从1变化到,其中是在异质阶
段保留的高适应度策略的数量,也是同质阶段的迭代数,通过群机器人与环境的相互作用,对群机器人的策略进行评价,获得准确的策略评价,准确评价的策略序列作为下一个异质阶段的输入,引导新一轮的异质

同质协同进化过程。
12.群体中所有机器人都处于任务环境中,并且通过与环境的交互获取奖励,奖励值包含群体评价和个体评价,每个机器人的当前策略和奖励值会综合存入记忆池,同时,相邻的机器人与环境交互获取奖励值,相邻的机器人的策略与奖励值通过通信交互,存入机器人本地的记忆池,不同的阶段,策略和奖励值被储存在不同的记忆池中,新策略以不同的方式进化,在异质阶段,策略和奖励值被存储在异质记忆池中,异质记忆池同时被用来支持新策略的产生,在同质阶段,将异质阶段保留的高适应度策略添加到同质记忆池中并进行评价,在同质阶段结束时,这些策略及其评价被返回到异质记忆池中,作为新的异质进化的基础,新策略与环境相互作用产生的新评价一并进入下一个迭代。
13.所述策略评价的函数包括适应度函数和奖励值函数,适应度函数用于在一轮任务执行完成后,综合群体指标和个体指标,对策略给出综合评价,奖励值函数在任务执行过程中实时计算,用于对个体的单步动作做出评价,奖励作为强化学习的重要组成部分,引导整个训练过程或进化过程。
14.适应度函数值计算公式为:其中,*表示对该度量进行了归一化处理,为个体度量和为群体度量,度量分别为分布奖励中的到目标区域的距离变化量、与障碍物距离、速度平滑度、聚集度、速度相关性,和分别为适应度函数中的到达目标区域的时间、群体时间消耗,为策略复杂度。在异质进化过程中,将是一个较小的值,以减弱群体度量的影响。
15.由于群体策略进化过程中没有集中统一的控制,个体本地记忆池是实现群体协同的重要部分,充当了传统遗传算法中种群的角色。机器人个体本地记忆池存储了个体自己的策略

策略适应度对,以及从邻居处通过通信获取的策略

策略适应度对,每对策略

策略适应度将作为本地记忆池中的一条记忆存储。由于群体机器人的存储能力较弱,为了能够尽可能减少信息储存并且增加对记忆的利用,个本地记忆池具有增加记忆和删除记忆的机制。当获取到新的策略

策略适应度对时,首先,判断该策略是否已存储在记忆池中,如果已存在,评价值替换为新旧评价值的平均;如果不存在,则作为新的记忆添加进记忆库中。记忆的删除,在一轮任务执行结束后,将对个体本地记忆池中的记忆按照评价值大小降序排列,指定最大存储容量,并按顺序保留不超过最大存储容量的记忆。
16.在策略进化的过程中,由于没有集中中心控制,因此通信是实现群体中个体的协同的必要手段。本方法中的通信的功能主要在于统一群体中的策略共识,该方法要求群体尽可能地获取邻居的策略和策略适应度对。因此本发明采用的是共识主动性协同方法,通过设置最大通信范围,计算邻居的通信邻接矩阵来保证个体的局部通信。所提出的异质同质协同进化方法中通信的内容:策略和策略适应度,假设机器人个体的通信带宽足够用于该内容的传递。
17.在群体机器人的策略进化中,每个机器人对应一个策略,通过进化这个策略来适应环境。这个行为策略必须是可进化的。受到表达式树的启发,本发明对表达式树方法进行改进,提出了使用行为表达式树作为机器人的策略控制结构,行为表达式树是一种使用树形结构来对机器人的行为结构进行层次化结构化表达的方法,行为表达式树由节点和连线构成,其中节点包括叶子节点和中间节点。叶子节点为机器人可以执行的动作或输入到函数的参数,中间节点为组合这些动作的函数。函数节点的子节点数目被设置为3。从根节点出发,通过树的递归结构遍历树的所有节点,就能得到机器人的最终执行的结果动作。为了减少机器人交互的通信量,同时便于机器人的策略进化,行为表达式树被编码为一个行为表达式。在选择动作时,行为表达式被解码为行为表达式树。
18.节点是行为表达式树的重要组成部分,它决定了行为表达式树所能执行的功能。节点分为函数节点,参数节点和行为节点,其中,函数节点也是中间节点,其他节点也是叶子节点。行为表达式树就是对函数节点和叶子节点的结构化组合。
19.行为节点是行为表达式树的终端节点,所有行为节点的度为0。行为节点包含了该任务场景内单个机器人能够执行的元动作。函数节点是行为表达式树的中间节点,它用来组合叶子节点的动作。函数节点的度不能为0。每个函数节点都用符号表示,执行不同的功能。参数节点作为部分函数节点的输入,完善函数节点的功能。参数应当能够根据任务环境调整。
20.行为表达式树与行为表达式之间的转换是通过编码、解码实现的。行为表达式树按照层级顺序编码。行为表达式树的第一层只有一个根节点,这个节点被编码为行为表达式的第一个符号,后续依次按照广度优先的算法,遍历行为树,节点遍历的顺序即为行为表达式的符号排序。
21.在任务过程中,每个机器人都有一套自己的控制策略,这个策略用行为表达式树来表达。因此,通过行为表达式树的进化,进化机器人控制策略。
22.进化操作可以发生在行为表达式内的任何位置。然而,行为表达式的结构组织必须保持完整。由于变异可能导致原本是叶子节点的节点变异为函数节点,从而导致行为表达式没有足够的叶子节点来保证行为表达式树的完整,因此在变异操作后,需要进行行为表达式合法化来保证生成的新行为表达式结构是完整的。由于机器人个体通信带宽的限制,为了尽量精简机器人个体的行为表达式。因此,在合法化行为表达式后,进行行为表达式简化操作,即保留用于生成完整行为表达式树的最短行为表达式。最终产生合法且最短的新行为表达式。
23.行为表达式由一头一尾两部分构成。头部由包含函数节点、行为节点和函数节点的符号构成,而尾部仅包含终止节点。对于每一个问题而言,行为表达式头部的长度是由最后一个函数节点之前的表达式序列长度决定的,为了限制问题的复杂度,需要限制头部的最大长度。头部的长度选定后,尾部的最小长度是和的函数,其中是所需变量数最多的函数的参数个数(也称为最大操作数),的大小由下面的方程得到:因此,在行为表达式进行选择、复制、突变、重组等操作后,生成的新行为表达式应当满足以下要求:
如果行为表达式的头部长度不满足不等式头部将被从的位置截断,多余的部分被丢弃。如果行为表达式的尾部长度不满足不等式t>h*(k

1) 1,行为表达式将被用随机生成的行为表达式片段补充,使得其满足长度需求。
24.此外,由于每个函数节点都规定了输入的个数,因此其叶子节点必须满足输入的要求。根节点为叶子节点的行为表达式也被认为是不合法的,因为它意味着机器人只执行单个元动作,难以产生有效的行为。当一个行为表达式被检测为非法时,它会重新进化并产生一个新的行为表达式。
25.在群体机器人策略进化阶段,个体将结合记忆池中获取到的策略信息,选出适应度最高的行为表达式作为基本行为表达式,进行进化操作、产生新的行为表达式。这个过程中,行为表达式的进化操作包含复制、单点突变、两点突变、单点插入、片段插入、单点重组和片段重组。进化操作的概率分别为和。其中,单点突变和两点突变仅发生在单个行为表达式上,不需要选择记忆库中的行为表达式辅助进化过程。而插入和重组操作需要在机器人个体的记忆池中选择辅助进化操作的行为表达式,辅助产生新的行为表达式。
26.本发明的有益效果是,本发明重点研究群机器人的进化性能和可解释性,提出了torch方法,即异构同质群体协同进化方法。本发明提出的一种群机器人策略进化方法torch,旨在协调策略进化和策略的分布特性,同时使进化策略具有可解释性。torch包括一个群体协同进化机制来加速进化过程,以及一个行为表达树来进行策略表达。该方法的进化过程仅利用环境感知和邻居通信获得的局部信息,而没有全局信息。torch可以应用于一类场景,并且局部信息进化出的策略更适合于分布式任务场景。因此,在执行任务时,群体可以通过环境的反馈,独立地进化出结构清晰的策略,并适应任务场景。
27.本发明的主要贡献如下:(1)设计了异构同质群协同进化机制来同时评估多个策略,以提高策略进化的效率。
28.(2)基于提出的torch,群体机器人可以通过与环境的交互来进化策略。群机器人的策略进化是在局部信息条件下进行的,进化后的策略更适合于分布式任务场景。
29.(3)提出了一种基于行为表达树的行为策略表达方法。一方面使机器人的行为策略结构清晰,易于理解,另一方面有利于简化进化过程。
30.(4)提出了一种使机器人能够适应某一类任务场景而不是特定的任务场景的方法,以提高进化策略的适应性。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图示出的结构获得其他的附图。
32.图1为异质

同质协同进化机制;图2为群体中个体策略进化模型;图3为完整的行为表达式树的结构示例;图4为单个机器人在flocking任务中元动作的具体方向;图5为编码行为表达式树的过程;图6为解码行为表达式树的过程;图7为单点突变和两点突变;图8为单点重组和两点重组;图9为单点插入和片段插入;图10为不同规模下同质和异质群体机器人的估计适应度与精确适应度的相关性;图11为不同规模的异质群体和同质群体计算的120个策略的适应度相关性系数图;图12为flocking任务进化过程中的最优适应度及其策略变化;图13为fitness = 1.1148时的行为表达式和该策略下群体机器人的运动轨迹;图14为fitness = 1.5219时的行为表达式和该策略下群体机器人的运动轨迹;图15为群体机器人在新设定的任务场景中的轨迹;图16为群体机器人在有窄道障碍的任务场景中的轨迹;图17为4种方法在3000次迭代下的适应度;图18为4种方法的群体机器人移动路径。
具体实施方式
33.策略进化的群体由多个机器人组成,每个机器人选择一个行为策略。进化的目标是找到一个最优策略。当群体中的所有机器人都执行该策略时,该群体将获得最高的奖励。许多研究集中于策略演化,但大多需要多次迭代,通常每次迭代只评估一个策略。本发明提出了torch,其中异构同质群体协同进化机制可以在一次迭代中评估多种策略,提高进化速度,为在线进化提供可能。
34.图1显示了所提出的异质

同质群体共同进化机制的策略选择。在torch的进化过程中,群体中的个体交替选择不同的策略和相同的策略。因此,这种机制被称为异质同质协同进化。在异质阶段,群体中的每个个体选择不同的策略,即群体机器人携带的策略组是。通过机器人与环境的相互作用,分别对机器人携带的策略进行估计评价。在同质阶段,群体将准确地评估在异质阶段得到的高适应度策略。群中的每个机器人选择相同的策略,也就是说,群体机器人策略组是。随着迭代次数的增加,从1变化到,其中是在异质阶段保留的高适应度策略的数量,也是同质阶段的迭代数。通过群体与环境的相互作用,对群体的策略进行评价,以获得准确的策略评价。准确评估的策略序列将作为下一个异质阶段的输入,引导新一轮的异质

同质协同进化
过程。通过该机制,群机器人可以通过一次任务的执行,得到多个策略的估计值,而不是一个策略的评价值,从而加速进化过程。
35.本发明的重点是群体机器人的策略进化,对于没有集中中心控制的机器人群体来说,聚焦单个机器人个体的策略进化过程是重要的。因此,将机器人群体建模为,其中,分别代表不同的机器人。假设群体中个体机器人的策略用表示,在群体执行任务的过程中,单个机器人通过与环境的交互实现策略进化,其具体的流程如图2所示。
36.群体中所有机器人都处于任务环境中,并且通过与环境的交互获取奖励。每个机器人都有各自执行动作的策略,这个策略用行为表达式来表达。为了对策略进行全面的评价,奖励值包含群体评价和个体评价。该机器人的当前策略和奖励值会综合存入记忆库。同时,邻居与环境交互获取奖励值,邻居的策略与奖励值通过通信交互,存入机器人本地的记忆池。根据torch,在不同的阶段,这对策略被储存在不同的记忆池中,新策略以不同的方式进化。在异质阶段,适应度被存储在记忆池(异质)中,该记忆池同时被用来支持新策略的产生。在同质阶段,将异质阶段保留的高适应度策略添加到记忆池(同质)中,并进行精确的序列评估。在同质阶段结束时,这些策略及其精确的评价被返回到记忆池(异质)中,作为新的异质进化的基础,新策略与环境相互作用产生新的评价值并进入下一个迭代。
37.策略评价:对策略的评价函数通常包含适应度函数和奖励值函数。适应度函数通常用于进化算法,用于在一轮任务执行完成后,综合群体指标和个体指标,对策略给出综合评价。另一方面,奖励值函数在任务执行过程中实时计算,用于对个体的单步动作做出评价。奖励通常作为强化学习的重要组成部分,引导整个训练过程或是进化过程。为了实现更准确的策略评价,本发明设计了通过与环境交互获得的奖励值反馈,以辅助对策略的评价,从而准确引导进化的方向。因此,在所提出的策略进化方法中,利用适应度函数和奖励值函数协作辅助进化。
38.群体在任务执行过程中能够获取一些属性指标,这些属性指标从各个方面评价群体策略的优劣。属性指标分为两类:个体属性和群体属性。对于群集任务,本发明选择的属性指标如表1所示。在任务执行中,机器人会计算单步奖励来计算其策略的适应度。
39.(1)单步奖励受限于硬件与软件条件,个体与环境的交互通常被离散化。对于强化学习方法,个体在与环境的交互过程中,每一步都将从环境中获取奖励。参考强化学习方法,在个体策略进化模型中,分步奖励被设置。群体中的个体每一次与环境交互,都将对自身状态变化进行评估,综合个体内部状态变化情况和环境(包括邻居位置状态等)变化情况,计算出个体该次交互得到的奖励。记录在个体内部,作为策略评价的依据。
40.表1 flocking任务的属性指标设置
以flocking任务为例,设置的属性指标如表1所示,其中,度量是分布奖励。对于机器人从到的分布奖励的具体计算公式被列举,其中,表示当前时刻,为上一次奖励计算的时刻。是到目标区域的距离,是到最近障碍物的距离,是速度方向,是机器人当前在坐标系中的位置,为机器人在通信范围内的邻居。和分别是邻居机器人当前在坐标系中的位置和速度方向。
41.值得注意的是,由于在异质进化过程中个体的策略不一致,因此分布奖励尽可能地排除邻居的干扰,因此在异质群体计算过程中应当降低群体度量所占的权重。另一方面,由于在进化过程的目标是使得机器人学会避障,因此,每一步会对机器人所处位置进行判断,如果机器人处于障碍物内部,则给与机器人一个巨大的负奖励。
42.适应度函数:在一轮任务结束后,个体将对本次任务执行情况进行综合评价,获取该策略的适应度值。这个评价值代表了策略对当前任务环境的适应度, 评估的内容依据进化目标确定。以flocking任务为例,适应度增加了对完成任务的时间消耗的计算,如表1中和所示。其中,表示机器人到达目标区域的用时,表示群体中的所有机器人。
43.同时,机器人的策略复杂度被设置为,因为希望进化出来的策略更简单。策略的复杂度简单地通过行为表达式的长度来计算。
44.个体度量和群体度量被赋予了不同的权重,分别是和。在异质进化过程中,将是一个较小的值,以减弱群体度量的影响。适应度函数值计算公式为:其中,*表示对该度量进行了归一化处理。
45.由于群体策略进化过程中没有集中统一的控制,个体本地记忆池是实现群体协同的重要部分,充当了传统遗传算法中种群的角色。个体本地记忆池储存了个体自己的策略和策略适应度对,以及从邻居处通过通信获取的策略和策略适应度对。每对策略和策略适应度对将作为本地记忆池中的一条记忆存储。由于群体机器人的存储能力较弱,为了能够尽可能减少信息储存并且增加对记忆的利用。因此,接下来简要说明个体本地记忆池增加记忆和删除记忆的机制。
46.记忆的增加:当获取到新的策略和策略适应度对时,需要将其添加到本地记忆池中。首先,判断该策略是否已存储在记忆库中,如果已存在,评价值替换为新旧评价值的平均;如果不存在,则作为新的记忆添加进记忆库中。
47.记忆的删除:在一轮任务执行结束后,将对个体本地记忆库中的记忆按照评价值大小降序排列,指定最大存储容量,并按顺序保留不超过最大存储容量的记忆。
48.机器人在torch的不同阶段有不同的记忆池。在异构阶段,机器人广泛地获取邻居的策略和策略适应度对,并将其存储在本地存储池(异构)中。这个记忆池存储了估计的策略适合度,并且新的策略在这个记忆池的辅助下进化得到。在同质阶段,记忆池(异质)中的高适应度策略转移到记忆池(同质)。随着进化的不断迭代,这个策略库中的策略得到了准确的评价值。在同质阶段结束时,它们被返回到记忆池(异质)以校准策略评价值。
49.在策略进化的过程中,由于没有集中中心控制,因此通信是实现群体中个体的协同的必要手段。本方法中的通信的功能主要在于统一群体中的策略共识,该方法要求群体尽可能地获取邻居的策略和策略适应度对。因此本发明采用的是共识主动性协同方法,通过设置最大通信范围,计算邻居的通信邻接矩阵来保证个体的局部通信。所提出的torch方法中通信的内容:策略和策略适应度对,假设机器人个体的通信带宽足够用于该内容的传递。
50.在群体机器人的策略进化中,每个机器人对应一个策略,通过进化这个策略来适应环境。机器人的行为策略必须是可进化的。受到表达式树的启发,本发明对表达式树方法进行改进,提出了行为表达式树作为机器人的策略。行为表达式树方法是一种使用树形结构来对机器人的行为结构进行层次化结构化表达的方法。该方法具有以下优势:(1)该方法的适用范围广泛,该方法能适用于多种任务,只需要调整相应节点的内容;(2)行为表达式树可以通过特定的编码方式编码为行为表达式,降低了机器人进化过程中的通信复杂度;(3)行为表达式树的结构清晰且有可解释性。行为表达式树的结构如图3所示。图3展示了一个完整的行为表达式树。行为表示树由节点和连线构成,其中节点包括叶子节点和中间节点。叶子节点为机器人可以执行的动作或输入到函数的参数,中间节点为组合这些动作的函数。函数节点的子节点数目被设置为3。从根节点出发,通过树的递归结构遍历树的所有节点,就能得到机器人的最终执行的结果动作。为了减少机器人交互的通信量,同时便于机器人的策略进化,行为表达式树被编码为一个行为表达式。在选择动作时,行为表达式被解
码为行为表达式树。
51.节点是行为表达式树的重要组成部分,它决定了行为表达式树所能执行的功能。节点分为函数节点,参数节点和行为节点,其中,函数节点也是中间节点,其他节点也是叶子节点。行为表达式树就是对函数节点和叶子节点的结构化组合。
52.动作节点:行为节点是行为表达式树的终端节点,所有行为节点的度为0。行为节点包含了该任务场景内单个机器人能够执行的元动作。以群体机器人的flocking任务为例,设置单个机器人能够通过执行器执行的行为为移动的各个方向,即::朝向目标的方向、:朝向初始位置的方向、:朝向距离障碍物最近的方向、:朝向最近邻居的方向、:朝向邻居中心方向、:朝向邻居平均速度指向这六个方向。具体的指向情况如图4所示。
53.函数节点:函数节点是行为表达式树的中间节点,它用来组合叶子节点的动作。函数节点的度不能为0。每个函数节点都用符号表示,执行不同的功能。以flocking任务为例,因为其叶子节点都是单位方向向量,因此该任务的函数节点都被定义为方向向量的矢量和。矢量的权重也通过叶子节点输入到函数节点中。在本任务中,本发明定义了几个函数,对单位方向向量赋予了不同的权重。函数节点表如表2所示。在表中,每个函数的输入个数是2或3。这是因为,当函数节点的子节点没有参数节点时,参数μ被设置为默认值1。在这种情况下,行为节点为顺序选择的前两个子节点,第三个子节点不会发挥作用。
54.表2 flocking任务的函数节点参数节点:参数节点作为部分函数节点的输入,完善函数节点的功能。参数应当能够根据任务环境调整。flocking任务中设置的参数节点为三个距离:与目标位置的距离,与障碍物的最近距离,与最近邻居的距离。
55.生物体的遗传物质被存储在染色体中,染色体由基因序列构成,基因序列决定了染色体所携带的遗传信息。进化论中,种群的每个个体携带了一个染色体,通过染色体中基因片段的交叉变异实现种群的进化。行为表达式树可以通过转换为行为表达式,作为生物体的染色体,从而模拟生物体的遗传进化过程,实现种群的进化。行为表达式树与行为表达式之间的转换是通过编码、解码实现的。
56.行为表达式树按照层级顺序编码。行为表达式树的第一层只有一个根节点,这个节点被编码为行为表达式的第一个符号,后续依次按照广度优先的算法,遍历行为树,节点遍历的顺序即为行为表达式的符号排序。如图5,行为表达式树的根节点为,这是行为表达式的第一个节点。第二层的第一个节点为,则该行为表达式树可以被编码为。
57.行为表达树编码为行为表达式,是为了简化通信从而易于进化。在机器人需要依据策略执行动作时,行为表达式需要被还原为树形结构。按照图6的步骤,依据行为表达式
树的结构,依次填充表达式,从而将行为表达式解码为行为表达式树。
58.在任务过程中,每个机器人都有一套自己的控制策略,这个策略用行为表达式树来表达。因此,通过行为表达式树的进化,进化机器人控制策略。
59.进化操作可以发生在行为表达式内的任何位置。然而,行为表达式的结构组织必须保持完整。由于变异可能导致原本是叶子节点的节点变异为函数节点,从而导致行为表达式没有足够的叶子节点来保证行为表达式树的完整,因此在变异操作后,需要进行行为表达式合法化来保证生成的新行为表达式结构是完整的。由于机器人个体通信带宽的限制,为了尽量精简机器人个体的行为表达式。因此,在合法化行为表达式后,进行行为表达式简化操作,即保留用于生成完整行为表达式树的最短行为表达式。最终产生合法且最短的新行为表达式。
60.行为表达式由一头一尾两部分构成。头部由包含函数节点和行为节点的符号构成,而尾部仅包含终止节点。对于每一个问题而言,行为表达式头部的长度是由最后一个函数节点之前的表达式序列长度决定的,为了限制问题的复杂度,需要限制头部的最大长度。头部的长度选定后,尾部的最小长度是和的函数,其中是所需变量数最多的函数的参数个数(也称为最大操作数),的大小由下面的方程得到:因此,在行为表达式进行选择、复制、突变、重组等操作后,生成的新行为表达式应当满足以下要求:当满足以下要求:如果行为表达式的头部长度不满足不等式头部将被从的位置截断,多余的部分被丢弃。如果行为表达式的尾部长度不满足不等式,行为表达式将被用随机生成的行为表达式片段补充,使得其满足长度需求。
61.此外,由于每个函数节点都规定了输入的个数,因此其叶子节点必须满足输入的要求。根节点为叶子节点的行为表达式也被认为是不合法的,因为它意味着机器人只执行单个元动作,难以产生有效的行为。当一个行为表达式被检测为非法时,它会重新进化并产生一个新的行为表达式。
62.在群体机器人策略进化阶段,个体将结合记忆库中获取到的策略信息,选出适应度最高的行为表达式作为基本行为表达式,进行进化操作、产生新的策略。这个过程中,行为表达式的进化操作包含复制、单点突变、两点突变、单点插入、片段插入、单点重组和片段重组。进化操作的概率分别为和。其中,单点突变和两点突变仅发生在单个行为表达式上,不需要选择记忆库中的行为表达式辅助进化过程。而插入和重组操作需要在机器人个体的记忆池中选择辅助进化操作的行为表达式,辅助产生新的行为表达式。
63.(1)复制
个体有一定的概率直接复制基本行为表达式为新的行为表达式,而不进行进化操作。从而尽可能避免优质行为表达式被替换。
64.(2)突变突变是所有具有修饰能力的算子中最高效的算子, 它使得行为表达式中的单个点突变为符号库中的任意符号。在突变存在的情况下,个体的适应过程将非常有效,它几乎能够对所有的问题进化得到很好的解。类似的,单轮操作中两个点同时突变的操作称为两点变异。
65.图7比较了单点突变和两点突变两种突变方式下,基本行为表达式所对应的行为表达式树突变前和突变后的情况。单点突变情况下,基本行为表达式复制过程中只出现了一个点突变,即4号位的突变成,两点突变过程中的行为表达式上出现了两个点突变:一个是4号位上的变成,同时5号位上的变成。值得注意的是,突变产生的影响也可能很小,比如两点突变仅改变了两个叶子节点的顺序。 另一方面,我们将看到,突变虽然只突变了个别节点,但引起了行为表达式树结构的明显变化,例如单点突变导致行为表达式树多加入了一层结构。
66.(3)重组重组指的是两个随机选中的父代染色体配对并相互交换部分成分。这里主要考虑两种重组:单点重组和两点重组。重组操作总是涉及到两个父代染色体并产生两个新的个体。因此,在行为表达式树的进化中,父代染色体被指定为基本行为表达式和辅助行为表达式。
67.单点重组:父代染色体相互配对并在各自选择的重组点位置切断,两个染色体相互交换重组点之后的部分。为了演示单点重组的工作机理,图8给出了基本行为表达式的重组情况。单点重组过程中,基本行为表达式和辅助行为表达式交换重组点后的整个行为表达式片段。示例中,基本行为表达式的重组点在后,辅助行为表达式的重组点在后。因此,基本行为表达式的片段被辅助行为表达式重组点后的片段替换,最终产生新的行为表达式。
68.两点重组:进行两点重组时,父代染色体相互配对,在染色体中随机选择两个重组点,将染色体切断。两个染色体相互交换重组点之间的部分,形成两个新的子代染色体。图8显示了两点重组的工作过程。基本行为表达式的片段被辅助行为表达式重组点之间的片段替换。由于突变导致加入了新的函数节点,行为表达式合法化过程中随机生成了新的叶子节点,并在行为表达式简化过程中保留了有效的叶子节点,最终产生新的行为表达式。
69.(4)插入插入指的是随机选中父代染色体中的单个位点或行为表达式片段,激活后插入到染色体中的其他位置。与重组操作类似,插入操作同样涉及到两个父代染色体并产生两个新的个体。父代染色体被指定为基本行为表达式和辅助行为表达式。
70.单点插入:在其中一个父代行为表达式中选出单个位点,在被选中插入的行为表达式中选择一个插入位点,将单个位点插入到该位点中。
71.片段插入:在其中一个父代行为表达式中选出行为表达式片段,在被选中插入的行为表达式中选择一个插入位点,将行为表达式片段插入到该位点中,位点后的行为表达式序列不会被覆盖。
72.图9展示了插入过程的示例,基本行为表达式和辅助行为表达式的突变点都与重组过程相同,不同的是,突变点之后的行为表达式片段被保留,相反地,重组过程中突变点后的行为表达式片段被覆盖。在单点插入中,参考行为表达式的位点“ ”被插入基本行为表达式的位点“a”和“b”之间。在片段插入中,参考行为表达式的位点“d ”被插入基本行为表达式的位点“ ”和“*”之间以获得新行为表达式。
73.实验结果为了对所提出的方法进行验证,本发明设计了四个实验进行验证。首先验证了所提出方法的可行性;在flocking任务中有效地进化出一种策略;然后将进化得到的策略放入改变后的任务环境中,验证了方法对不同任务环境中的适应性;最后,设计对比实验,验证了所提出的方法对进化性能和可解释性的提升。
74.群体机器人的任务是在一个有障碍物分布的环境中,从初始位置群体性地移动到目标区域。群体机器人的任务为flocking,任务区域大小为50m
×
50m,在这个场景中,群体机器人被期望到达目标位置,即以[50,50]为圆心,半径为10m的范围内。群体机器人没有中心集中控制,每个机器人按照其策略和当前所处的环境状态决定下一步的动作。个体移动速度为1m/s。最大任务执行步数为200。即即使群体在200步内没有到达任务区域,任务也将被强制停止。
[0075]
其他参数被设置如下:最大通信距离,同质进化阶段的权重,异质进化阶段的权重。行为表达式树的进化操作的概率为。行为表达式树的进化操作的概率为。行为表达式树的进化操作的概率为和。由于需要辅助策略辅助进化,当个体本地记忆池为空时,概率为助进化,当个体本地记忆池为空时,概率为助进化,当个体本地记忆池为空时,概率为和。
[0076]
在相关性实验中,本发明分别探究了不同规模的机器人群体,同质与异质策略组适应度函数值的相关性。
[0077]
规模大小的群体被设置进行了实验。首先,随机产生一个策略组,该策略中包含的策略数目与群体规模大小一致,即。然后,将这些策略序列分别赋予同质机器人群体和异质机器人群体。同质机器人群体中,每个机器人选择相同的策略,群体通过一次任务执行来对该策略进行准确评价,从而通过次任务执行来对个随机策略进行评价。异质机器人群体中,每个机器人选择策略组中的一个策略,群体通过一次任务执行来对策略组中的所有策略进行估计评价。
[0078]
不同规模下同质与异质群体机器人的估计评价与准确评价的相关性如图10所示,图10中(a)为n=10,(b)为n=20,(c)为n=30,(d)为n=40。其中横坐标为异质群体获取的对策略的估计评价值,纵坐标为同质群体评估得到的策略的准确评价值。采用pearson相关性系数来衡量这两个适应度的相似度,依据以下计算出他们之间的相关性为,0代
表无相关性,负值为负相关,正值为正相关。图中的直线表示相关性为1,点距离直线越近表明相关性越大,即估计评价近似等于精确评价。
[0079]
其中,为策略组中策略的个数。为策略的估计适应度,为策略的的准确适应度。
[0080]
从图10中可以看出,对于不同规模的群体,其相关性的值分别为0.93195, 0.92868, 0.93023和0.93692,位于区间[0.8,1]内,属于极强相关。因此,异质群体的估计评价与同质群体的准确评价之间具有强相关性,能够一定程度上通过异质群体的估计评价来评估策略的适应度。
[0081]
本发明分别在n=10,20,30,40不同规模群体下评价了120个策略,并计算他们的估计适应度与准确适应度,其相关性系数图如图11所示,其中,异质群体和同质群体的评价被表示为, ,群体的规模为10, 20, 30,和40,

10表示规模为10的异质群体计算的适应度。
[0082]
从图11中可以看出,各类群体的适应度相关性都在0.9上下浮动,表示各类的群体对策略的适应度的计算结果差异不大,可以使用异质群体进化来加速策略的评价。其中,不同规模的异质群体,即的相关性接近1,异质群体的规模大小对策略的适应度评价影响较小。因此可以灵活选择异质群体的规模。考虑到计算效率的因素,在接下来的实验中,群体规模n被固定为10。
[0083]
上述实验的相关性证明基础,提出的群体同质

异质协同进化方法的可行性得到了验证。为了验证所提出方法的有效性,本发明使用该方法进化包含10个机器人的群体执行flocking任务的策略。进化过程中最优适应度和其对应的策略变化如图12所示。
[0084]
随着进化过程的不断推进,群体机器人不断搜索到适应度更高的策略来替换之前选出的策略,因此最优策略的适应度逐渐提高。当进化达到1200轮时,群体的策略进化已经基本收敛。本发明着重分析进化过程中和最终得到的两个策略,同时也是群体机器人执行适应度任务的策略。
[0085]
在进化的前期,群体机器人的最优策略所对应的行为表达式为,此时的适应度为:1.1148。其解码为行为表达式树后的具体结构以及该策略下群体机器人的运动轨迹如图13所示,图13中(1)为行为表达式树,(2)为群体机器人的运动轨迹。通过对该行为表达式树的解码,该机器人群体的行为策略,即下一步运动方向的行为表达式为:
其中,是机器人的下一步移动方向。o,t,n为参数,分别代表到达最近障碍、最近邻居、目标的距离。t,o,s为方向,分别为指向目标、指向障碍、邻居的平均速度。
[0086]
在该策略的控制下,群体机器人基本稳定地到达终点区域,然而,群体没有实现平滑的避障,并且群体的聚集度和速度平滑性都有提升的空间。在进化过程运行到第2600轮次时,机器人的最优策略进化为,此时的适应度为1.5219。其解码为行为表达式树后的具体结构以及该策略下群体机器人的运动轨迹如图14所示,图14中(1)为行为表达式树,(2)为群体机器人的运动轨迹。进化得到的最优策略解码为行为表达式树如图14所示,该机器人群体的行为策略表达式为:其中,是机器人的下一步移动方向。为参数,代表最近障碍的距离。为方向,分别为指向目标、指向障碍。
[0087]
这个行为表达式清晰地展示了群体机器人flocking任务中需要考虑的主要影响因素:到达目标区域的方向、与最近障碍的方向、与障碍之间的距离。以及关联他们的函数操作:。清晰的策略表达有利于对该任务的结构化分析和进一步研究。进化策略表明,目标区域是主要方向,机器人离障碍物越近,需要越大的偏转才能远离最近的障碍物。群体机器人的策略逐渐指导群体机器人迅速、密集地到达目标区域。并且避障过程更平滑,进化得到的策略表达式更简洁。
[0088]
群体的策略进化的目标是进化出一种策略,这种策略能够适用于一类环境,而非某一固定的任务场景。因此,为了验证进化出来的策略对不同任务环境的适应性,本发明调整了任务环境中的障碍物形状和位置。本发明给群体赋予进化得到的策略,让他们执行flocking任务。
[0089]
该策略下群体的运动轨迹如图15所示,图15中(a)为fitness=1.5992,(b)为fitness=1.1697。在不同的场景中,群体都能够平滑地避开障碍物。在场景图15中(b)的适应度小于(a),这是因为障碍物导致到达目标区域的时间被延长。
[0090]
为了进一步增加场景的复杂度,本发明利用两个障碍物组合设置了窄道。在复杂场景中,群体想要快速到达目标区域,就必须能够通过设置的窄道。图16展示了群体机器人在复杂的新型障碍物环境中的运动轨迹,图16中(a)为fitness=0.4148,(b)为fitness=0.3492,在进化得到的策略规则下,尽管有移动位置的波动,群体机器人仍能够顺利通过窄道,在较短的时间内到达目标区域。然而由于在窄道障碍物对群体机器人运动的阻碍,该策略的适应度减小。
[0091]
为了验证torch方法对性能的提升,本发明将torch与传统的群体同质进化方法进行了定量比较。同时,本发明所提出的torch采用行为表达式树来作为策略的表达,这相对于传统的参数表达式来说,更具备可解释性。本发明将行为表达式树与参数式进行了定量对比。两种前人提出方法简述如下:同质群体进化方法:群体在进化过程中受到中心控制。每一次进化迭代都得到一个策略的评价,并通过多次迭代得到整个策略组的评价。由控制中心统计策略组的评价值,进化得到新的策略组,再由多次迭代获得新策略组的评价。
[0092]
参数式方法:个体在进行动作选择时,计算出所有可能的运动方向,通过将这些运动方向加权平均,获取当前状态下的下一步运动方向。
[0093]
为了验证本发明所提出方法的性能,定量比较了四种方法:(1)基于行为表达树的异质同质群体协同进化方法,(2)基于参数表达的异质同质群体协同进化方法(pehh),(3)基于行为表达树的同质群体进化方法(beth),(4)基于参数表达的异构同质群体进化方法(peh)。
[0094]
初始任务环境和进化参数的设置不变,图17显示了3000次迭代下,4种方法的最优策略适应度变化情况。torch以最快的速度提升fitness,并且稳定地保持在高值。beth的搜索速度仅次于方法torch,且最优策略适应度比其他的方法高,说明行为表达式树方法不仅能够使得策略具有可解释性,同时进化出来的策略的flocking性能也优于表达式树。torch无论是在进化性能还是在搜索速度上都优于其他的方法,验证了所提出方法的优越性。
[0095]
在第3000步时,各个方法的最优策略的群体flocking任务路径如图18所示,图18中(a)为torch,(b)为pehh,(c)为beth,(d)为peh。结果表明,利用行为表达树的方法可以找到近似的最优策略。在图18(a)和图18(c)中,群机器人的运动轨迹相似,但由于机器人的策略的长度更长,图18(c)中计算的适应度较低。然而,用参数表达式进化出的策略难以实现避障。在图18(b)中,群体机器人只是快速到达目标区域,减少了进入障碍物的时间,但没有稳定地避开障碍物。在图18(d)中,群体在初始区域来回移动,这是因为他们没有搜索到不经过障碍物到达目标区域的方法。而由于进入障碍物的负奖励,徘徊在初始区域周围是一个有效的方法避免过低的奖励值。
[0096]
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜