路径规划算法根据规划场景不同可以分为全局路径规划算法和局部路径规划算法。
一般来说,全局的算法只适用于静态障碍物的规划,不适用于动态环境;
而局部的算法适用于动态障碍的避障,但容易陷入局部最优。
接下来将分别介绍各种类型的代表性算法
1 全局路径规划算法
1.1基于采样的算法
1.1.1RRT系列算法
1.1.1RRT算法 (快速扩展随机树法)
主要思想:通过构建一颗从起点开始生长的随机树来探索地图,当随机树扩展到目标区域,通过回溯即可得到从起点到目标区域的无碰撞路径。
优点:①适用于高维空间的路径规划问题;②具有概率完备性,即只要存在可行路径,当算法运行时间足够长的时候,一定可以找到这条可行路径。
缺点:①生成的路径 的曲折度高;②具有生成的路径具有不确定性
简要伪代码如下:
Initialize map, starting point, random tree T and target area
while not find path:
randPoint = randSample(map) //Get random points by random sampling in map space
nearestPoint = findNearestPoint(randPoint,T) //Get the nearest point to randPoint from the nodes of the random tree T
newPoint = extend