版权声明:本文为博主原创文章,转载注明来源。
2010年,斯坦福首次提出一种满足车辆运动学的算法(Hybrid A*),并在(DARPA)的城市挑战赛中得以运用。
2、Hybrid A*和A*区别
| Hybrid A* | A* |
维数 | | |
H(n) | Max(Rends_Shepp, A*) | Manhattan/Euclidean |
节点 | 车辆的运动学模型为节点(2) | 二维平面坐标点(1) |
节点与节点连接处 | 交点可以不是栅格顶点(4) | 交点是栅格顶点(3) |
缺点 | 不具有完备性 | 不满足车辆运动学特性 |
(1) (2) (3) (4)
注:在实现Hybrid A*的过程中,要维持好A* 搜索树(和RRT类似)。当我们成功使用Reeds-Shepp曲线时,我们需要从节点反向从树枝到树根保留路径(在反向保留路径时,不仅仅是路径点,而是上图(2)中的一个运动模式----一段一段保存),然后在加上Reeds-Shepp曲线。一共两个部分,共同构成了Hybrid A*的路径。
注:本人在具体实现过程中,启发函数只用A*算法来进行估计,因为在斯坦福使用该算法的时候,使用Reeds-shepp来估计H(n)时,是离线的(貌似提前在计算出各个点到各个点的Reeds-shepp距离,然后直接调用加快速度)。
相关视频,欢迎访问
https://www.bilibili.com/video/av53164012/?p=1(本人使用ROS系统实现的hybrid a*)