移动机器人的运动规划器建立在解决两个步骤的算法基础上:表示环境和机器人;根据表示进行路径搜索。当前已有方法缺少一个通用的对这两个步骤进行组合的方法。该文章就是挑选适合的方法解决这两个步骤的运动规划,并且选择合适方法进行组合这不同的类。
运动规划即在一个包含动态静态障碍物的环境下(通常是不确定的),为机器人规划出一个路径。运动规划器服务于三个不同的目标:构图,覆盖和导航。该文是地面导航。
通常运动规划包括表示机器人和它的环境,并在表示的环境中搜索路径。这两个都有很多方法,但是单一方法都不太适合于实际应用,实际中往往是多个的结合。
当前确实一种通用的结合方法能够处理所有的要求。通常需要满足各种条件,这些条件转为7个要求:
Completeness(完备性): 如果解存在则被返回,不存在解返回失败。通常和搜索算法有关,但是如果表示方面有问题的话,设计的不好,会导致所有算法都不会返回解,即使存在一个解。
optimality(最优性): 可以根据时间,距离等指标,解决方案是最优的。
correctness(准确性): 返回的解确实可以导航到目标
Deal with kinodynamic constraints 能够处理运动学约束
对动态环境的鲁棒性,如果环境变化了也能够导航
对不确定性的鲁棒性 障碍物不确定或者是环境部分未知
计算复杂度要求
目前没有任何规划器可以满足要求。因此当前都用简化的来近似,[2]介绍了一种多个要求之间的权衡。
后文提到了一些文章的不足。
本文将结合不同的算法分为三步:结合搜索和表示算法,选择表示算法,选择搜索算法
结合方法有:耦合,解耦,层次, relative approach(反应?)
选择合适方法结合是很重要的,是后边两步(选择搜索和选择表示)的指导。在这个环节会用一些可以得到的环境模型,如模型中的可用性到或者是不确定性。还会讨论移动障碍不确定性和出现性。根据应用所需,结合方法需要结合一些其他特征,比如重规划或者有限不确定性区域。一种方法如下:
耦合: 直接满足了动力学约束,是在状态空间进行搜索。会结合时间,不足就是计算量比较大,为了减小计算量,会采取近似,但是此时不能证明完备性。
解耦: 也可以称为 path planning。通常包括:path planning,在C空间中获得无碰撞路径。 path transformation, 确保路径在状态空间S满足运动学约束。Trajectory planning:用时间函数把路径转换为满足动力学约束的轨迹。
用解耦的三个步骤,也是可以解决移动的障碍物。解耦到路径规划和motion timing。同时,第三步的轨迹规划本来也是要考虑移动障碍物的。最近的一些从路径创建到轨迹的方法有 Covariant Hamiltonian Optimization for Motion Planning 和 Stochastic Trajectory Optimization for Motion Planning. 用最优化去优化代价函数,同时满足机器人动力学约束。此类方法计算量小,但是在完备性和最优性上产生负面影响。如带有急转弯的路径,对于车来说可能是不能完成的。也可以将C空间的轨迹转换为带有时间最优的轨迹,但是不保证全局最优。
hierarchical层次: 使用规划器在配置或者状态空间搜索到目标的解,然后使用状态空间在机器人附近搜索解。全局规划+局部规划。同解耦方法一样,牺牲了最优性。但是不一定是不完整的。
reactive approach: 反应式或者基于传感器的方法,也称为obstacle avoidance algorithm。 不是在确定地图上搜索路径或者轨迹,而是根据传感器信息进行实时避障。此类方法不需要之前的那种度量图的地图。主要分为势场法,一阶或者速度障碍法(the first order or velocity obstacle methods),滚动时域控制(the recediing horizon control),全局近场图(the (global) nearness diagram)
不足就是会有局部最小值,可能不能到目标点,通常是和全局规划进行结合。此外,还应该考虑如果每个规划器都不能计算结果,系统该如何反应。
图1的方法,A1–A7
地图表示的三类:精确表示,近似表示,拓扑表示。
需要进行表示的:机器人,工作空间,障碍。
本文是mobile robot,所以工作空间是2维,机器人可以由,x,y,o三个维度表示。所以配置空间是三维,加上时间就是状态空间。
配置空间的概念就是将规划机器人的运动问题,转换为在配置空间中规划一系列配置问题。为了能够在解空间中搜索配置或状态的序列,解空间必须以连接配置或状态的方式来表示,即必须捕获自由空间的连通性。
显式表示和隐式表示障碍物区域。隐式避免了显式的构造,采用碰撞检测来检测配置是否自由。被称为,基于采样的运动规划。
请注意,在本术语中,采样不一定意味着随机采样,而是指执行碰撞检查的配置。存在两种采样,确定的和随机的。
除了显式和隐式表达,还有精确或者近似。精确需要用模型表示,2D或者3D多边形。精确表示通常能够捕捉曲线网络中的自由空间的连通性,称为路线图。精确表示通常是在C空间下,由于动力学约束存在,还可能失去完备性。近似表示允许结合动力学约束,可以来表示状态空间。近似表示会将自由空间和占有空间显示为单元的集合。这些单元有预先指定的相同的简单形状,如超矩形。由于是近似,所以仅能满足分辨率完备和最优,但是能够处理任意形状障碍 (比如啥方法??目前没想到)
确定性采样使用放置在机器人解空间上的网格,也是分辨率完备和最优。网格大小随维度指数增长,所以确定采样适用于低维度解空间。
随机采样会在采样时评估是否冲突,所以是隐式的。基于随机抽样的表示的一个例子是概率路线图(PRM) [25]。其概率上是完备的,并且存在多种变体方法。
单查询规划器和增量式规划器如RRT等,是搜索和表示一起进行的。最近的算法RRG RRT* 也概率完备和最优。
拓扑表示抽象,相比于其他表示,更稳定和紧凑。但是由于不考虑动力学,并且不能够识别动态障碍,所以不能控制机器人,需要和其他方法结合。
对于“组合算法类的方法”一节中的反应式规划器和本节中的单查询规划器,表示和搜索是紧密耦合的,因此很难或不可能明确区分这俩步骤。但是在其他运动规划法中,还是可以区别的,并且有利于对运动规划更加清晰。
搜索类:有信息搜索和无信息搜索。(启发式和非启发式)
这些方法可以根据设计者要求与其他功能结合,如重规划,随时行为等。
无信息搜索对目标的任何信息都不知道,如深度和广度优先搜索算法。有信息搜索,比如知道目标点的位置,可以偏向目标的位置搜索。然后引入了启发式搜索。著名的A-star。
为了确保完备性和最优性,启发式搜索算法必须满足consistency, admissbility(一致性和可容许性?) 似乎也就是之前说过的,启发式信息估计的到目标的距离要不高于实际值。
然后评估了文献中涉及运动规划器在实践中的应用的三个用例,以验证所提出的方法。分别是PR2服务机器人在真实环境下实现了42.15km的自主导航、城市挑战赛的自主车辆boss、部分结构化仓库中的灵活自动引导车辆。