Apollo路径-速度规划轨迹生成方法

Apollo路径-速度规划轨迹生成方法

Apollo是百度开源的无人驾驶解决方案,其中规划中会按照不同的场景生成一条临时的路径,通过临时路径来障碍物规避,或者临时变道。

情况

假设前面有一个缓慢行驶的汽车离我们越来越近。
Apollo路径-速度规划轨迹生成方法_第1张图片

生成位置路点

那么Apollo首先会根据当前的情况,生成很多个不同的运动路径,这些运动路径都可以躲避开这个社会车辆。
1、这里首先会将这里的道路按照前进方向划分为若干个片段;
2、然后在每个片段上进行随机撒点;
3、将所有的点随机连接起来,生成一系列前进路径;
Apollo路径-速度规划轨迹生成方法_第2张图片
Apollo路径-速度规划轨迹生成方法_第3张图片

路线评估

然后Apollo会根据评估函数,对生成的这么多条路线,进行评估和打分,并选取出最合适的那一条。
Apollo路径-速度规划轨迹生成方法_第4张图片
其中具体的评估因素有:
1、安全系数;
2、离道路中心的距离;
3、车辆模型限制,例如转向最大角度等等;
4、曲线的平滑度;
5、速度和曲率的变化关系;
6、与障碍物的距离;
7、车辆自身的压力;

根据ST图进行速度规划

获取到最佳的行驶路径后,我们根据ST图来进行行驶路径的速度规划。
Apollo路径-速度规划轨迹生成方法_第5张图片
ST图,顾名思义就是行驶长度和Time的一条曲线,反应了SL坐标系下的长度和时间的曲线关系

ST图对障碍物的处理

如果在行驶过程中出现了一些障碍物,需要停下 或者躲避,那么在ST图上就表现出是一个在t1-t2阶段的障碍物方块。
Apollo路径-速度规划轨迹生成方法_第6张图片

根据障碍物生成速度-时间曲线

Apollo路径-速度规划轨迹生成方法_第7张图片
这样就获取了多条在当前路径下的ST曲线,然后我们再根据不同的限制,再次进行评估,选取出一条最适宜的ST曲线。

Apollo路径-速度规划轨迹生成方法_第8张图片

使用二次规划平滑ST曲线

Apollo路径-速度规划轨迹生成方法_第9张图片
之前获取的ST曲线是一条折线,但是这是不平滑的,对于无人车来说,曲线越平滑,规划出来的路径才是越好的。所以再次通过二级规划平滑ST曲线。

合并曲线

最后将我们选出的最合适的路径,和最合适的ST曲线,合并起来,得到了Apollo规划出来的临时轨迹,无人车将会按照这个轨迹躲避前车,继续前行。
根据ST图可知,在红色部分我们的速度较快,在蓝色部分,我们的速度较慢。
Apollo路径-速度规划轨迹生成方法_第10张图片

你可能感兴趣的:(无人驾驶,无人驾驶:弯道超车的利器)