干货满满丨Apollo 5.0公开课集锦,等你GET
Apollo 5.0开源平台自发布起便足够引人注目。近两个月来,阿波君对2019年百度AI开发者大会上公开课的内容进行了整理并陆续发布,想必各位开发者小伙伴都是收获满满,甚至有些意犹未尽吧!
下面将由社区开发者——吕伊鹏为我们分享他整理的公开课笔记,内容详尽,肯定有你想了解的,一起来看看吧。
Apollo Fuel 算是 Apollo5.0 版本新开源的一个工具,是数据流生产线,通过挂载式数据访问开发者上传的数据,为开发者提供动力学参数标定、控制在环模拟仿真等服务。
完整版学习 请点击《Apollo公开课丨Apollo Fuel 技术分享》
首先,决策在整个自动驾驶中的位置:
▲自动驾驶整体流程图
感知:主要针对动态物体或者障碍物;
地图:主要针对静态物体;
预测:主要针对动态障碍物,预测障碍物运动轨迹;
定位:自车定位;
车辆状态:加速度、速度等底盘信息等;
Routing:未经优化处理的,连接当前点和目的地的规划轨迹线;
决策:则是要综合道路信息、车辆信息、轨迹信息等大量信息,做出综合判断,为轨迹优化做准备。
轨迹优化:针对相关约束条件等对 Routing 轨迹做优化;
控制:基于优化后的轨迹,控制车辆达到目的地。
而对决策有影响的约束,主要分为三种:交通规则限制、路径限制和速度限制。结合以上信息及各种约束,进行决策的一般步骤为:
根据选定的目的地,先用折线连接起当前位置点和目的地点,建立参考线:
▲建立参考线
a、沿 Routing,每隔 0.25m 采样一个点;
b、对每个点根据车道边界,算出可调整范围;
c、对参考点进行优化;
优化其遵循以下三点:
相邻两点间距离尽可能小;
相邻三点间,左右两点与中间点的夹角尽可能小;
优化后的点不应离原始点距离过远。
d、基于上述三个规则,参考线平滑问题转化为二次规划问题。
▲参考线平滑问题转化为二次规划问题
利用二次规划平滑后的参考线:
▲二次规划平滑后的参考线
沿平滑后的参考线寻找交通道路标示,主要有红绿灯、车道边界、道路边界等。
路径限制主要包括车道内路径限制、借道路径限制、换道路径限制等,是对车辆道内行驶、是否变道等作出的约束,主要考虑车道限制和道路限制。
▲车道内路径限制
▲借道路径限制
▲换道路径限制
交规限制和路径限制一起组成了路径规划的约束条件。
▲路径限制决策
速度限制分静态速度限制和动态速度限制。静态速度限制主要包括:道路限速、侧向较近行人、减速带等对速度造成的影响;动态速度限制主要是超车或者避让时对速度的限制。
a、静态速度限制
速度规划首先应满足交规的限制,也就是道路限速;其次,当车身侧向有距离较近的行人时也应当降速;最后就是有减速带时,为保证驾乘的舒适性,也需要降速。当然,静态限速不仅仅局限于以上三种因素。
▲静态速度限制决策
b、动态速度限制
动态速度限制针对车辆的超车或避让操作,下图中菱形蓝色区域为预测的障碍车辆的可行区域,当选择避让操作时,可在菱形区域以下进行速度规划,超车则在其上进行速度规划。在预测障碍车辆可行域时,假设障碍车辆匀速或者匀加速行驶,在规划和控制过程中应时刻注意障碍车辆运动状态。
▲动态速度限制决策
综上所述,速度限制决策过程如下:
在决策时需要遵循以下三条原则:
舒适度。
车身物理特性。
道路限制。
Apollo 对场景的定义如下:地图中有一定特征的路段,或者是无人车想要完成的一系列复杂动作。
场景之间互不干扰,可以并行开发和调参,可以实现一系列有时序或者依赖关系的复杂任务。
对场景的定义是为了解决某些场景下,控制参数或者规划参数不适用的问题,通过场景划分,实现场景的细化,让工程简单化。
Apollo 主要场景划分为以下四种:
▲Apollo 现有场景
Lane Follow:常规场景,包含诸如跟车行驶、普通道路行驶等场景;
Intersection:主要指十字路口场景;
Pull Over:路边停车场景;
Parking:泊车场景 。
场景间可以相互转化,通过内置的场景管理器,将驾驶化境转换成各种场景,进行分场景规划、决策和控制等。而场景又可以进一步细化成不同的阶段。每个场景的决策流程相似,但算法和限制可能不同。
▲场景的转化
以右转场景为例:
接近路口 5m 左右进入路口场景;(进入条件)
若为红灯,则减速,并在停止线前停车;(场景细化,阶段 1)
然后路口缓慢探头,确认安全后完成右转。(阶段 2)
若为绿灯,则直接完成右转。
▲红绿灯右转场景
完整版学习,请点击《Apollo公开课丨Apollo决策技术分享》
规划模块综述如下图所示:
▲规划模块综述
轨迹规划包含两部分:决策和运动轨迹规划。
决策:主要是接受离散化信息,并进行处理;
运动轨迹规划:接收决策信息,生成可用于控制的轨迹。
而运动轨迹规划又包括路径规划和速度规划,规划过程可分为:决策和优化。
目的:安全、高效、舒适。
路径规划:步骤 1~2。
路径优化:步骤 3~7。
主要是为了使问题复杂问题简单化,因为它将道路场景投影到了二维坐标上,而且该坐标系的建立不受道路几何形状等的影响,便于问题的理解。
根据道路边界、交规、障碍物等特征作出大致的决策,如下图所示:
▲路径决策
以距离为采样间隔,大约 0.5m 采样一个点;采样距离可根据场景自定义,若为行人密集区则可缩短采样间隔。
▲路径优化—间隔采样
▲路径优化—明确约束条件
▲路径优化—明确目标
▲路径优化—转化为二次规划问题
▲路径优化—输出路径规划
目标:安全、高效、舒适
规划:步骤 1~7。
将复杂问题降至二维。以下图为例,中间车道为主车,左右车道为障碍车,根据障碍车运动规律,建立如下 s-t 坐标系:
▲建立 s-t 坐标系
▲速度决策
▲速度优化—间隔采样
▲速度优化—明确约束条件
▲速度优化—明确目标
▲速度优化—转化为二次规划问题
▲速度优化—输出速度规划
感知/预测模块输出不准确;
概率化的输出信息;
路径规划和速度规划更紧密的耦合;
对于紧急状况的处理。
完整版学习,请点击《Apollo公开课丨Apollo运动轨迹规划技术》
Apollo 对于开放场景的定义如下图所示:
▲ 开放场景定义
对于开放场景下的轨迹规划主要考虑以下几点:
▲开放场景指导思想
比较了几种常见 Planning 算法的优劣,结论如下:
Model Based Optimization 是开放环境下的首选,是常规 Planning 算法的有力补充。
利用 算法一次性生成复合车辆非和谐动力学特征(第一次生成的路径不一定完全符合动力学特征,后续还需优化),允许车辆前向后向档位切换的轨迹。
▲轨迹行驶决策
目的是为了减少曲率的变化,保证控制的可追踪性,以及驾乘的舒适性,同时能顺利避开障碍物。
轨迹优化主要利用的算法是:Distance Approach Optimization。
▲轨迹优化—Distance Approach Optimization
算法步骤描述:
▲算法步骤
下图垂直车位泊车的场景,展示了一个有车位边界线,且泊车过程无障碍物的室外场景。
▲范例与应用视频
与架构 I 的区别是优化算法的不同,其优化算法 Iterative Anchoring Smoothing。
▲轨迹优化—With Iterative Anchoring
算法步骤描述:
▲算法步骤
▲范例与应用
感知障碍物几何形状的跳变。
开放环境下障碍物行为预测不准确与不稳定 。
复杂且拥挤的环境下,轨迹顺滑与实时性的取舍。
车辆控制在低速高曲率下的追踪性能。
本节公开课原版PPT获取方式:
进入公众号
回复关键词『0704开放空间规划』
根据提示获得原版PPT资料
行为轨迹预测是对无人车周围的障碍物未来 n 秒的行为进行预测,来辅助决策和规划的。它通过接收原始的感知/定位/地图信息,预测周围障碍物未来的行为轨迹,用以指导无人车下一步的运动规划。
考虑不同类型障碍物的不同运动特征,可将障碍物分为行人和机动车,因此行为预测也可分为机动车行为预测和行人行为预测;
全面的运用合适的模型处理不同类型的输入特征;
考虑实施算力的局限。
▲指导思想
机动车行为有以下两个特征:
轨迹受车辆运动力学限制;
强依赖于地理信息,如车道线、路口形状等。
常规道路处理的一般过程为:
▲机动车意图预测—常规道路
▲机动车意图预测—常规道路
交叉路口的轨迹预测核心是沿车辆行进方向,对车身圆周进行 12 等分,选择与路口有交汇的扇区进行分析,将问题转化为 12 元分类问题,简化问题。
▲机动车意图预测—交叉路口
▲机动车意图预测—交叉路口
与主车交互的预测的一般步骤如下图所示为:
假设障碍车与主车(蓝色车辆)如下图所示,障碍物车并道的先验概率为 0.8,直线行驶的概率为 0.2。
▲考虑与主车交互的轨迹预测
▲考虑与主车交互的轨迹预测
▲考虑与主车交互的轨迹预测
▲参数训练方法
行人的行为较机动车,轨迹更为发散,更为多元化,对地理信息的依赖较小,且轨迹易受周围障碍物影响,如遮挡等,对预测造成一定的困难。
因此在预测时,着重考虑各个障碍物间的交互,并对每个轨迹点做概率化的预测。
只参考行人自身的历史运动轨迹,然后对行人轨迹进行预测。
▲一般模型
对于多个行人的场景,若行人相互距离较近,可通过象限法,将行人划分到不同象限,然后分开进行轨迹预测,如下图所示。
▲近距离人群轨迹预测
当行人相互间相距较远时,需要对行人的运动趋势进行一定的预测,也就是预测行人,接下来可能是与其他人群汇合,还是继续单独运动等。预测模型如下:
▲远距离人群轨迹预测
综上所述,行人轨迹预测可概括如下:
▲行人轨迹预测总结
感知信息的信噪比过低。
障碍物的意图不明显 。
障碍物被遮挡 。
突发事件/违背交规的障碍物 。
复杂模型的线上预测较为耗时。
完整版学习,请点击《Apollo公开课丨Apollo行为轨迹预测技术》
其它如 Apollo 的控制仿真平台,以及 Apollo 的传感器方案在此不做描述,了解更多相关技术内容,进入社群进行交流。
更多话题讨论、技术交流
可以添加『Apollo小哥哥』为好友
进开发者交流群