多机器人路径规划研究方法(一)

张亚鸣 雷小宇 杨胜跃 樊晓平 瞿志华 贾占朝

摘 要:在查阅大量文献的基础上对多机器人路径规划的主要研究内容和研究现状进行了分析和总结,讨论了多机器人路径规划方法的评判标准,并阐述了研究遇到的瓶颈问题,展望了多机器人路径规划方法的发展趋势。?
  
  关键词:多机器人;路径规划;强化学习;评判准则?
  
 ?Abstract:This paper analyzed and concluded the main method and current research of the path planning research for multi?robot.Then discussed the criterion of path planning research for multi?robot based large of literature.Meanwhile,it expounded the bottleneck of the path planning research for multi?robot,forecasted the future development of multi?robot path planning.?

  Key words:multi?robot;path planning;reinforcement learning;eva luating criteria ??
  
  近年来,分布式人工智能(DAI)成为人工智能研究的一个重要分支。DAI研究大致可以分为DPS(distributed problem solving)和MAS(multi?agent system)两个方面。一些从事机器人学的研究人员受多智能体系统研究的启发,将智能体概念应用于多机器人系统的研究中,将单个机器人视做一个能独立执行特定任务的智能体,并把这种多机器人系统称为多智能体机器人系统(MARS)。因此,本文中多机器人系统等同于多智能体机器人系统。目前,多机器人系统已经成为学术界研究的热点,而路径规划研究又是其核心部分。?
  机器人路径规划问题可以建模为一个带约束的优化问题,其包括地理环境信息建模、路径规划、定位和避障等任务,它是移动机器人导航与控制的基础。单个移动机器人路径规划研究一直是机器人研究的重点,且已经有许多成果[1~3],例如在静态环境中常见的有连接图法、可视图法、切线图法、Voronoi图法、自由空间法、栅格法、拓扑法、链接图法、Dempster?Shafer证据理论建图等;动态环境中常见的有粒子群算法、免疫算法、遗传算法、神经网络、蚁群算法、模拟退火算法、人工势场法等。然而,多机器人路径规划研究比单个机器人路径规划要复杂得多,必须考虑多机器人系统中机器人之间的避碰机制、机器人之间的相互协作机制、通信机制等问题。?
  
  1 多机器人路径规划方法?
  
  单个机器人的路径规划是找出从起始点至终点的一条最短无碰路径。多个机器人的路径规划侧重考虑整个系统的最优路径,如系统的总耗时间最少路径或是系统总路径最短等。从目前国内外的研究来看,在规划多机器人路径时,更多考虑的是多机器人之间的协调和合作式的路径规划。?
  
  
  目前国内外多机器人路径规划研究方法分为传统方法、智能优化方法和其他方法三大类。其中传统方法主要有基于图论的方法(如可视图法、自由空间法、栅格法、Voronoi图法以及人工势场方法等);智能优化方法主要有遗传算法、蚁群算法、免疫算法、神经网络、强化学习等;其他方法主要有动态规划、最优控制算法、模糊控制等。它们中的大部分都是从单个机器人路径规划方法扩展而来的。?
  1)传统方法 多机器人路径规划传统方法的特点主要体现在基于图论的基础上。方法一般都是先将环境构建成一个图,然后再从图中寻找最优的路径。其优点是比较简单,比较容易实现;缺点是得到的路径有可能不是最优路径,而是次优路径。薄喜柱等人[4]提出的一种新路径规划方法的基本思想就是基于栅格类的环境表示和障碍地图的。而人工势场方法的基本思想是将移动机器人在环境中的运动视为一种虚拟人工受力场中的运动。障碍物对移动机器人产生斥力,目标点产生引力,引力和斥力周围由一定的算法产生相应的势,机器人在势场中受到抽象力作用,抽象力使得机器人绕过障碍物。其优点是适合未知环境下的规划,不会出现维数爆炸问题;但是人工势场法也容易陷入局部最小,并且存在丢失解的部分有用信息的可能。顾国昌等人[5]提出了引用总体势减小的动态调度技术的多机器人路径规划,较好地解决了这个问题。?
  2)智能优化方法 多机器人路径规划的智能优化方(算)法是随着近年来智能计算发展而产生的一些新方法。其相对于传统方法更加智能化,且日益成为国内外研究的重点。?
  遗传算法是近年来计算智能研究的热点,作为一种基于群体进化的概率优化方法,适用于处理传统搜索算法难以解决的复杂和非线性问题,如多机器的路径规划问题。在路径规划中,其基本思想是先用链接图法把环境地图构建成一个路径节点链接网,将路径个体表达为路径中一系列中途节点,并转换为二进制串;然后进行遗传操作(如选择、交叉、复制、变异),经过N次进化,输出当前的最优个体即机器人的最优路径。遗传算法的缺点是运算速度不快,进化众多的规划要占据很大的存储空间和运算时间;优点是有效避免了局部极小值问题,且计算量较小。 ?
  孙树栋等人[6,7]在这方面较早地展开了研究,提出的基于集中协调思想的一种混合遗传算法来规划多机器人路径方法较好地解决了避障问题。但不足的是该方法必须建立环境地图,在环境未知情况下的规划没有得到很好的解决;且规划只能保证找到一个比较满意的解,在求解全局最优解时仍有局限。?
  文献[8]中提出的一种基于定长十进编码方法有效降低了遗传算法的编码难度,克服了已有的变长编码机制及定长二进制编码机制需特殊遗传操作算子和特殊解码的缺陷, 使得算法更加简单有效。?
  智能计算的另一种常见的方法――蚁群算法属于随机搜索的仿生算法。其基本思想是模拟蚂蚁群体的觅食运动过程来实现寻优,通过蚂蚁群体中各个体之间的相互作用,分布、并行地解决组合优化问题。该算法同样比较适合解决多机器人的路径规划问题。
朱庆保[9]提出了在全局未知环境下多机器人运动蚂蚁导航算法。该方法将全局目标点映射到机器人视野域边界附近作为局部导航子目标,再由两组蚂蚁相互协作完成机器人视野域内局部最优路径的搜索,然后在此基础上进行与其他机器人的碰撞预测与避碰规划。因此,机器人的前进路径不断被动态修改,从而在每条局部优化路径引导下,使机器人沿一条全局优化的路径到达目标点。但其不足是在动态不确定的环境中路径规划时间开销剧增,而且机器人缺乏必要的学习,以至于整个机器人系统路径难以是最优路径。?
  强化学习[10,11] (又称再激励学习)是一种重要的机器学习方法。它是一种智能体从环境状态到行为映射的学习,使得行为从环境中获得积累奖赏值最大。其原理如图1所示。?
  
  强化学习算法一般包含了两个步骤:a)从当前学习循环的值函数确定新的行为策略;b)在新的行为策略指导下,通过所获得的瞬时奖惩值对该策略进行评估。学习循环过程如下所示,直到值函数和策略收敛:?
  ?v0→π1→v1→π2→…→v*→π*→v*
  目前比较常见的强化学习方法有:Monte Carlo方法、动态规划方法、TD(时间差分)方法。其中TD算法包含Sarsa算法、Q学习算法以及Dyna-Q算法等。其Q值函数迭代公式分别为?
  TD(0)策略: V(si)←V(si)+α[γi+1+γV(si+1)-V(si)]
  Sarsa算法: Q(st,at)←Q(st,at)+α[γt+1+γQ(st+1,at.+1)-Q(st,at)]?Qs'学习算法: Qπ(s,a)=∑Pαss'[Rass'+γVπ(s')]?
  近年来,基于强化学习的路径规划日益成为国内外学者研究的热点。M. J. Mataric[12]首次把强化学习引入到多机器人环境中。而基于强化学习的多机器人路径规划的优点主要体现在:无须建立精确的环境模型,简化了智能体的编程;无须构建环境地图;强化学习可以把路径规划、避碰、避障、协作等问题统一解决。?
  张芳等人[13]提出了基于再激励协调避障路径规划方法,把再励函数设计为基于行为分解的无模型非均匀结构,新的再励函数结构使得学习速度得以提高且有较好的鲁棒性。同时,证明了在路径规划中,机器人的趋向目标和避障行为密切相关,对反映各基本行为的再励函数取加权和来表示总的再励函数要优于取直接和的表示方式,也反映了再励函数设计得合理与否及其确切程度将影响再励学习的收敛速度。王醒策等人[14]在动态编队的强化学习算法方面展开了研究。宋一然[15]则提出了分段再励函数的强化学习方法进行路径规划。其缺点是学习次数较多、效率不高,当机器人数目增加时,它有可能面临维数灾难的困难。所以,基于强化学习的路径规划在多机器人环境下的学习将变得比较困难,需要对传统的强化学习加以优化,如基于人工神经网络的强化学习[16]等。?
  3)其他方法 除了以上国内外几种比较常见且研究较多的方法外,还有唐振民等人[17]提出的基于动态规划思想的多机器人路径规划,把运筹学中的动态规划思想与Dijkstra算法引入到多机器人的路径规划中,用动态规划的基本思想来解决图论中的费用流问题和路径规划中的层级动态联盟问题。其选择距离邻近法作为联盟参考依据。一个机器人的邻居是指在地理位置上分布在这个机器人周围的其他机器人;与该机器人最近邻的机器人为第一层邻居,第一层邻居的邻居为该机器人的第二层邻居, 依此类推。那么层级越高(即越近)的邻居,它满足协作要求的可能性越大。动态规划算法实质上是一种以空间换时间的技术,它在实现的过程中,必须存储产生过程中的各种状态,其空间复杂度要大于其他算法,故动态规划方法比较适合多机器人的全局路径规划。?
  孙茂相等人[18]提出了最优控制与智能决策相结合的多移动机器人路径规划方法。其首先构造一个以各机器人最优运动状态数据库为核心的实时专家系统, 在离线状态下完成; 然后各机器人在此专家系统的支持下, 以最优规划策略为基础, 采用速度迁移算法, 自主决定其控制。该方法拥有较好的稳定性与复杂度。焦立男等人[19]提出的基于局部传感和通信的多机器人运动规划框架较好地解决了多机器人路径规划在局部在线规划的系统框架问题。沈捷等人[20]提出了保持队形的多移动机器人路径规划。以基于行为的导航算法为基础,把机器人队列的运动过程划分为正常运动、避障和恢复队形三个阶段。在避障阶段,引入虚拟机器人使队形保持部分完整;当队形被严重打乱时,规划机器人的局部目标位姿使队列快速恢复队形。其算法重点为避障机器人进入避障状态,暂时脱离队列,并以虚拟机器人代替避障机器人。?
  
  2 多机器人避碰和避障?
  
  避障和避碰是多机器人路径规划研究中需要考虑的重点问题之一。避障和避碰主要讨论的内容有防止碰撞;冲突消解、避免拥塞;如何避免死锁。在路径规划中常见的多机器人避障方法[21]有主从控制法、动态优先法(建立在机器人之间的通信协商上)、交通规则法、速率调整法,以及障碍物膨胀法、基于人工势场的方法等。?
  目前国内外对于多机器人避障展开的研究还不是很多,比较典型的有徐潼等人[22]以Th.Fraichard的思想为基础,扩充并完善了路径/速度分解方案来协调多机器人,设立集中管理?agent?进行整体规划,为每个机器人规划路径;并根据优先级规则对运动特征进行分布式规划以避免机器人间的冲突。周明等人[23]提出分布式智能避撞规划系统,将原来比较复杂的大系统转换为相对简单的子系统问题,由各智能机器人依据任务要求和环境变化, 独立调整自身运动状态,完成任务的分布式智能决策体系结构。任炎等人[24]提出了基于过程奖赏和优先扫除的强化学习多机器人系统的冲突消解方法。该算法能够显著减少冲突,避免死锁,提高了系统整体性能。欧锦军等人?[25]提出了通过调整机器人的运动速度实现多机器人避碰,将避碰问题转换为高维线性空间的优化问题, 并进一步将其转换为线性方程的求解。该方法的缺点是系统的复杂度较高、计算量太大。?
  人工势场方法的特点是计算简洁、实时性强、便于数学描述,且适合于多自由度机器人环境,但容易产生抖动和陷入局部极小。为了克服其缺点,景兴建等人[26]提出了人工协调场的方法,在传统排斥力场中增加一个协调力,并将吸引力、排斥力和协调力与局部环境下机器人的运动状态和运动要求结合起来,有效地保证机器人的安全性,提高机器人在复杂动态环境下行为决策的准确性和鲁棒性。?
  3 多机器人协作和协调机制?
  
  多机器人间的运动协调[27~31]是多机器人路径规划的关键,也是多机器人与单机器人路径规划相区别的根本所在。多机器人系统在复杂动态实时环境下,由于受到时间、资源及任务要求的约束,需要在有限时间、资源的情况下进行资源分配、任务调配、冲突解决等协调合作问题,而机器人间的协调与协作,能够大大地提高整个系统的效率和鲁棒性,成为系统完成控制或解决任务的关键。?
  目前已有的协调方式分为集中式、分布式和混合式三种。在集中式协调中,集中规划器详细地规划出每个机器人的动作,通常的做法是将多个机器人看做一个多自由度的机器人进行规划;而分布式协调规划中,机器人之间进行合作,将一个任务分成多个子任务,根据各自的特点完成不同的子任务,从而共同完成总任务;混合式协调是集中式和分布式混合在一起的形式。?