全局路径规划,是指在已知的环境中为机器人规划一条最优行驶路径。本文将对比经典的A*算法,深度探讨机器人常用全局路径规划算法——Hybrid A*算法的原理,包括Hybrid A*算法特性、RS曲线、代价函数与启发式、节点拓展、碰撞检测,以及局部优化与平滑等内容。
01 Hybrid A*算法特性
Hybrid A*算法是一种图搜索算法,是基于A*算法的一种「变形」。
A*算法采用贪心策略,结合启发式的引导,在静态网路中求解最短路径有着非常不错的效果。但它在规划过程中,将机器人看做一个质点,只考虑(x,y)两个维度,未考虑机器人的实际运动约束。
而Hybrid A*算法增加了θ维度,优化了节点的扩展方式,可以更好地满足车辆的运动特性,在有障碍物、低速等场景的阿克曼底盘、无人车等存在运动约束的机器人中,具有更好的使用表现。至于差速、全向机器人等不存在运动约束的机器人场景中,则不需要用到Hybrid A*算法。
应用中,A*算法规划的路径点,都在各个栅格的中心;Hybrid A*算法的路径点可以在栅格的任意位置,并且通常使用Reeds-Shepp曲线连接,生成平滑路径。
相较于Dubins曲线只允许车辆向前运动,Reeds-Shepp曲线运动模型既允许车辆向前运动,也允许车辆向后运动。
据J Reeds和L.A. Shepp证明,Reeds-Shepp Car从起点qI到终点qG的最短路径,一定在下面的word之中:
且所有word组合不超过48种:
注:word中的"|"表示车辆运动朝向