自动驾驶面经总结(三)

本文介绍了BaiduApollo的EMMotionPlanner算法,该算法用于L4级别自动驾驶的路径规划。EMPlanner通过并行计算每条车道的轨迹,结合动态规划和二次规划寻找最优路径。它处理多车道策略,包括主动和被动换道,并考虑交通法规、驾驶舒适度和安全因素。算法将路径和速度优化分开处理,以适应动态障碍物。文章还讨论了软件架构、决策机制和实际案例,展示了EMPlanner在解决复杂规划问题时的效率和适应性。

EM planner

本文主要是对英文论文《Baidu Apollo EM Motion Planner》(By Haoyang Fan, Fan Zhu)的学习总结。

自动驾驶的技术,从软件层面来说,分成基于嵌入式系统的软件平台部分,以及算法部分。前者提供类似OS(如Windows、MacOs,或手机上的IOS、Android)一样的运行支持和资源分配管理功能,后者更接近于提供具体功能的APP。

自动驾驶的算法一般主要分成感知、融合、规划、控制,其中规划处于承上启下的位置,作用是根据感知结果和环境信息,产生车辆的移动轨迹,从而让控制算法按照这个轨迹控制车辆的移动。

这篇文章说的就是规划算法之中一个常用的算法:EM Planner。它针对的是L4级别的自动驾驶场景。

EM planner同时覆盖多车道和单车道的自动驾驶,基于EM-type iterative algorithm。

一、从总体来看

整体思路:

并行计算每条车道的轨迹,基于Frenet frame来迭代计算最优的path和speed。
比较每条车道的轨迹,判断换道策略。
计算最优的path和speed:结合动态规划和基于样本的二次规划求解。

主要考虑的自动驾驶安全角度:

交通法规
覆盖范围:8秒或200米的轨迹
工作周期:100ms内
紧急安全:当前方输入模块出错,输出紧急保险策略

阿波罗顶层软件架构:
在这里插入图片描述

考虑的驾驶体验及优化方向:

场景覆盖(基本行驶、换道、拥堵等)
交通法规
舒适度(轨迹的smoothness)

多车道策略

对于L4自动驾驶,必须考虑换道策略。要决定车辆在不同车道中,走哪一条车道的哪个轨迹,常规做法是在所有车道中,基于cost来搜索最优轨迹,但这样的弊端在于:

搜索空间太大成本高;
交规在不同车道是不同的;
应避免突然换道。
EM中的换道策略分成主动换道和被动换道,主动换道由routing模块触发,默认车道被阻挡则触发被动换道。

所有障碍物和环境信息都会投射到每个备选车道的Frenet frames,每个车道再各自符合交规,每个车道都会根据cost生成一条最优轨迹,再选出全局最优轨迹。

求解最有轨迹的算法:Path-Speed Iterative Algorithm

在F坐标里面找最优轨迹是一个3D约束最优化问题,一般有两种方式:

1、直接求解:

轨迹采样或栅格(lattice)搜索。受限于随着空间时间而增加的搜索复杂度,因此得出的轨迹是suboptimal次优的。path主要考虑静态障碍,然后在生成的路径上计算速度。对于动态障碍可能找不到最优解。

2、path-speed去耦求解:

首先,由最新的speed信息评估未来的、低速的动态障碍,从而得出基于这个速度的最优path。然后生成的这个path又返回给speed计算针对新的path的最优的speed。

注意,这里的speed不会再马上传给path,所以迭代不是在同一个计算周期里进行,而是在下一个周期再进行迭代的。这里最好想一想,理解一下。

对于高速障碍,EM采用换道而不是闪躲来处理,因此对于高速障碍,EM也能处理。至于为什么要换道而不是闪躲,我猜测是因为闪躲对于动态障碍物的预测精度要求更高,而去耦求解的EM的预测前提是“预测都是基于当前周期的speed和path来进行的”,并不会考虑基于这个预测作出的行动会影响到障碍物的轨迹,这种交互对于高速动态障碍物来说,足够产生无法忽略的预测偏差,导致不能进行安全闪躲。

决策和交规

EM中,为了平滑轨迹,在规划开始之前就进行决策。

常见决策有两种模式:

Hand-tuning decision:可以调,但受限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值