本文主要记录本人之前调研过在三维复杂环境下的路径规划算法。
RRT快速随机搜索树
快速扩展随机树(Rapidly-exploring Random Trees,RRT)算法,是近十几年得到广泛发展与应用的基于采样的运动规划算法,它由美国爱荷华州立大学的Steven M. LaValle教授在1998 年提出。RRT 算法是一种在多维空间中有效率的规划方法。原始的RRT 算法是通过一个初始点作为根节点,通过随机采样,增加叶子节点的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便可以在随机树中找到一条由树节点组成的从初始点到目标点的路径。
RRT是一种通过随机构建空间填充树来有效搜索非凸,高维空间的算法。树是从搜索空间中随机抽取的样本逐步构建的,并且本质上倾向于朝向大部分未探测区域生长。由于它可以轻松处理障碍物和差分约束(非完整和动力学)的问题,并被广泛应用于自主机器人运动规划。
RRT也可以被看作是一种为具有状态约束的非线性系统生成开环轨迹的技术。一个RRT也可以被认为是一个蒙特卡罗方法。用来将搜索偏向一个配置空间中图形的最大Voronoi区域。一些变化甚至可以被认为是随机分形。
改进的RRT算法:
-
基于概率P的RRT;
-
RRT_Connect’
-
RRT*;
-
Parallel-RRT;
-
Real-time RRT;
-
Dynamic domain RRT;
基于RRT的运动规划算法综述
介绍:
在过去的十多年中, 机器人的运动规划问题已经收到了大量的关注,因为机器人开始成为现代工业和日常生活的重要组成部分。最早的运动规划的问题只是考虑如何移动一架钢琴从一个房间到另一个房间而没有碰撞任何物体。早期的算法则关注研究一个最完备的运动规划算法(完备性指如果存在这么一条规划的路径,那么算法一定能够在有限时间找到它),例如用一个多边形表示机器人,其他的多边形表示障碍物体, 然后转化为一个代数问题去求解。 但是这些算法遇到了计算的复杂性问题,他们有一个指数时间的复杂度。在 1979 年,Reif则证明了钢琴搬运工问题的运动规划是一个 PSPACE-hard 问题[1]。所以这种完备的规划算法无法应用在实际中。
在实际应用中的运动规划算法有胞分法[2],势场法[3],路径图法[4]等。这些算法在参
数设置的比较好的时候,可以保证规划的完备性,在复杂环境中也可以保证花费的时间上限。然而,这些算法在实际应用中有许多缺点。 例如在高维空间中这些算法就无法使用, 像胞分法会使得计算量过大。 势场法会陷入局部极小值,导致规划失败[5],[6]。
基于采样的运动规划算法是最近十几年提出的一种算法,并且已经吸引了极大的关注。
概括的讲,基于采样的运动规划算法一般是连接一系列从无障碍的空间中随机采样的点,试图建立一条从初始状态到目标状态的路径。 与最完备的运动规划算法相反,基于采样的方法通过避免在状态空间中显式地构造障碍物来提供大量的计算节省。即使这些算法没有实现完整性, 但是它们是概率完备, 这意味着规划算法不能返回解的概率随着样本的数量趋近无穷而衰减到零[7],并且这个下降速率是指数型的。
快速扩展随机树(Rapidly-exploring Random Trees, RRT)算法,是近十几年得到广泛发展
与应用的基于采样的运动规划算法,它由美国爱荷华州立大学的 Steven M. LaValle教授在1998 年提出, 他一直从事 RRT 算法的改进和应用研究,他的相关工作奠定了 RRT 算法的基础。 RRT 算法是一种在多维空间中有效率的规划方法。原始的 RRT 算法是通过一个初始点作为根节点,通过随机采样,增加叶子节点的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便可以在随机树中找到一条由树节点组成的从初始点到目标点的路径。
快速扩展随机树(RRT) 也是一种数据结构和算法,其设计用途是用来有效搜索高维非
凸空间,可应用于路径规划、虚拟现实等研究。 RRT 是一种基于概率采样的搜索方法,它采用一种特殊的增量方式进行构造,这种方式能迅速缩短一个随机状态点与树的期望距离。该方法的特点是能够快速有效的搜索高维空间,通过状态空间的随机采样点,把搜索导向空白区域,从而寻找到一条从起始点到目标点的规划路径。它通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效的解决高维空间和复杂约束的路径规划问题。 RRT算法适合解决多自由度机器人在复杂环境下和动态环境中的路径规划问题