Hybrid A*论文解析(4)

本文解析Autonomous driving in semi-structured environments: Mapping and planning,这篇文章其实是Hybrid A*论文解析(1)中的作者的文章的加强版,这个是上一篇文章基础上两年后作者发布的混合A*泊车方案。这里解析的内容就以两者的区别进行解析。

1,variable resolution search
通过叠加障碍物距离和voronoi边距两项值来判定向前拓展的弧长。这个方案的好处在于首先在宽阔区域能够拓展更远的距离,而在狭窄通道上拓展较小的距离。同时就算在障碍物附近也能够保证不失去拓展large free space的机会,原因就是这里还有voronoi的项,因为如果这里附近有free space那么到图边距一定是很大的,所以这个两项值得第一项虽然小但是第二项很大,所以这样做比单纯的只用障碍物距离一项要好。

2,保证平滑后的曲线的安全性
第一次CG平滑后我们得到的曲线怎么保证曲线不发生碰撞呢,毕竟平滑后的曲线是微小偏离原始线的,而且在某些情况下,优化的曲线方向会被错误引导向发生碰撞的危险方向。
Hybrid A*论文解析(4)
虽然我们可以通过将这个软约束变成硬约束的方案来绝对保证不发生碰撞,但是实际使用中实在是太耗计算资源了。所以用了另一个比较划算的方案,对于碰撞点的state进行anchor锁定,意思就是发生碰撞的位置直接使用原来原始曲线上的点,这样这里就绝对不会发生碰撞了,然后在做平滑,如果还有发生碰撞的地方,那就再做一次锁定碰撞点一直到所有state都不发生碰撞。最不济就是混合A*的原始曲线全部被锁定,等于没做平滑处理,但是大多数情况下,只会有很少的点被锁定。这个方法和minimum snap一类的基于优化的曲线规划中的锁定点是一个意思。而且对于minimum snap这类parametric优化,用什么五阶曲线规划,或者贝塞尔曲线规划这个锁定点的作用更强,因为像上面的non parametric的方案,新规划出来的曲线其实离原曲线不会很远,但是基于曲线的优化结果,往往很有可能有些部分偏离原始曲线很明显,这时候用锁定点的方案尤为重要了。

heuristic
这里在计算h部分的时候,需要考虑nonholonomic without obstacle 和 hol with obstacle, 这个在两篇文章中均已提及。值得一提的是在计算hol with obstacle时,我找到了两个比较好的方案,第一个就是本文中的直接用dp的方法,回溯出最短路径。另一个在KTH的方案中提到的使用A来计算最短距离。比较巧妙的一点就是将终点作为起始点,当前点作为终点进行A搜索,这样子对于A*计算最短距离这个功能,起点一直是不变的,只有终点随着当前点的变化在变化,搜索中的拓展信息是可以被复用的。

剩下的其他部分论文解析(1)中均已提及,所以这里就不再赘述了。