系列文章目录
路径规划之Dijkstra算法
路径规划之Best-First Search算法
路径规划之A *算法
路径规划之D *算法
路径规划之PRM算法
路径规划之RRT算法
前言
PRM方法相比于传统的A *算法,只是多了一步构建PRM地图,本质上还是在图上进行搜索;相比之下,本文所提到的RRT算法是基于采样的基础上构建树,同时在树结构上进行搜索。
一、RRT算法
1.起源
RRT(Rapidly-exploring Random Tree)算法是由Steven M. LaValle于1998年提出的,中文翻译为快速探索随机树。它可以快速扩张以此在图上找到可行的路径。
2.流程
- 建立树,根节点为起始点,指定目标点,设置扩展的步长距离distance
- 在地图中随机得到一个采样点,记作p_rand
- 遍历当前树,找到距离随机点最近的点,记作p_near
- 由p_near向随机点p_rand扩展一个步长的距离,扩展后的点记作p_new
- 检测此p_new点是否在障碍物上,如果在障碍物上,则从第2步重新开始
- 将新产生的点p_new插入到整个树中
- 当p_new点距离目标点小于某个范围时,退出搜索,然后将整个路径画出来
3. 优缺点
3.1 优点
- 搜索效率比较高,搜索速度比较快;
- 适用于高维空间,不会产生维度灾难的问题;
- 只需对状态空间采样点进行碰撞检测,避免了对空间的建模。
3.2 缺点
- 规划出的路径质量一般,可能存在棱角、不够光滑;
- RRT算法不太适用于存在狭长空间的环境;
- 规划出的路径可能不是最优路径;
- 不适用于动态环境的路径规划。