文章目录
- 前言
- 一、路径截取
- 二、绕障
- 三、轨迹优化
- 四、速度规划
- 总结
前言
在规控中,局部路径模块是作为输出最终路径,随后控制模块接收其输出的路径进行后续跟踪控制。
本文主要讲解局部路径所需要实现的功能,帮大家了解局部路径模块的组成。
一、路径截取
这是局部路径的一个基础功能,在接收到全局路径之后,需要从当前位置在全局路径上截取之后的一段路径,作为局部路径。
这个功能就去除了大量的冗余信息,就像人开车一样,只关注接下来一段时间要走的路。
在路径截取时,首先需要找到全局路径距离当前位置的最近点。
这个最近点的选择不能光用距离判断,否则遇到交叉路,u型弯等情况就很容易出现错误。
为了解决这些问题,用以下两种方式:
1.方向约束的最近点
2.滑动窗口最近点(防止跳变)
找到最近点之后,在全局路径上往前延伸一段距离,然后截取出来。往前延伸的距离和速度有关,用当前速度进行计算。
二、绕障
只要讨论局部路径规划,讨论的最多的就是绕障这个功能。
因为它最难,考虑的各种情况也最为繁琐,绕障这部分的算法是一个非常大的模块了,在此不细讲了。
但是在绕障路径规划的第一步,需要先进行一步:局部地图截取。
障碍物有可能有提前标注的,有可能有感知到的,这个范围太大了,并且障碍物还有后面的,侧面的等,还有离得特别远的。总不能所有的障碍物都要考虑。
所以我们需要先以当前的位置画个半径多少的圈。只考虑圈里的障碍物,这个就叫做局部地图截取。
三、轨迹优化
经过上面的路径截取,绕障规划之后,得到了一段局部路径,但是这个局部路径有可能间隔杂乱,有可能有各种杂点,于是就需要轨迹优化。
轨迹优化包括重采样,轨迹平滑等。
四、速度规划
上面都做完了,得到了一段平滑的局部路径,然后就得加入速度了。
速度规划当然得放到局部路径里面,毕竟还有绕障等因素,需要先在局部路径里面考虑完之后再进行相关的速度规划。
速度规划也算一个比较大的模块,但是实际上使用的更多的就是梯形速度规划和s形速度规划。
总结
局部路径的构成基本就是这四项,当然了,还有像是行为决策,模式切换,和其他无人车和机器人的交互等等,不过只要实现了以上四个功能,就算是一个基础的局部路径模块了。