概述
Apollo Prediction
- 基本概念
- 流程概览
- 预处理模块
- 评价模块(参考文献)
- 轨迹生成模块(简)
定义:对无人车周围的障碍物未来N秒的行为轨迹进行预测。
目标:接收原始的感知/定位/地图信息,预测周围障碍物未来的行为轨迹,用以知道无人车下一步的运动规划。
难点:
- 上游输入的局限性(误差,干扰,延迟,etc.)
- 交通参与者意向的不可预测性 (目标障碍物变不变道?)
- 具体行驶路线的不可预测性(加速变道还是怎么变道?)
责任边界:
- 只将常规的交通状况纳入考虑范畴,预测最大的几个可能性。
- 尽可能确保粗动作的可靠性的基础上,降低细化轨迹的误差。
预测并不是处理道路上所有行为和一切情况。
预处理:
把障碍物值得考虑的信息综合整理成算法能够理解的内容
评价器:
评估障碍物将会执行各种动作的可能性
轨迹生成器:
相当于后处理,将障碍物可能采取的动作细化描述为运动轨迹
函数调用顺序:
PredictionComponent::Proc()调用PredictionEndToEndProc()
PredictionEndToEndProc()调用OnPerception()
Apollo所有Component,都应该看Proc()函数。
预测流程
预处理模块:
-
将障碍物投影到高精地图上
-
使用分段树粗略地找出障碍物附近的车道。分段树的具体实现方式可查看AABoxKDTree2dNode类
-
尝试将障碍物投影到粗筛出的车道上,查看其Frenet坐标是否再车道的给定范围内。对应函数SetCurrentLanes()
-
除了所在车道以外,也同时找出其附近车道。对应函数:SetNearbyLanes()
-
建立用车道id来检索障碍物和交汇口的类:ObstacleClusters
-
-
忽略部分障碍物:
不满足以下全部4个条件的障碍物将被忽略(任意满足一条都不会ignore)- 在车道附近、在自车后方-2m往前的行人障碍物
- 在自车前方80m,左右6m范围内的障碍物
- 在车道线上的障碍物
- 在自车将会经过的那个交叉口附近的障碍物
-
生成障碍物可能选择的动作(BuildLaneGraph)
为什么分成那么多Lane?障碍物出现投影的时候,一段一段进行比对。如果特别长的时候,比对的效率就特别低。也就是把Lane多层分级,会增加搜索效率。
- 从障碍物出发的位置开始,向前搜索一段固定距离,或障碍物速度乘以固定时间的距离
- 先搜索障碍物所在车道的所有可能车道序列(LaneSequence)
- 再搜索障碍物附近车道的所有可能车道序列
-
设置重点关注障碍物(CAUTION),对应函数AssignCautionLevel()
-
基本判断根据:距离自车60m范围内对应函数:SetCautionIfCloseToEgo()
-
如果自车再交叉路由附近,将交叉路口内的障碍物都设为CAUTION,对应函数:AssignCautionLevelInJunction()
-
在自车车道序列上,自车前方最近的障碍物设为CAUTION
-
在自车的目标车道序列上,在自车前后方最近的障碍物设为CAUTION,对应函数为:AssignCautionLevelCruiseChangeLane()
-
找出自车将要行驶的道路上的交叉口和汇入口,分两种形式:
- 并道 (Merge)
- 交叠 (Overlap)
- 对应函数:AssignCautionLevelByEgoReference()
使用ObstacleClusters在这条Lane上,有什么障碍物。
-
即将横穿你要形式的车道的行人
对应函数:AssignCautionLevelPedestrainByEgoReferenceLine()
-
如果重点关注障碍物过多,根据距离远近,筛选出距离自车最近的几个障碍物重点关注。Apollo Caution设置的是6,剩余的还原成NORMAL,暂时不考虑。
-
评估模块Evaluator
-
LaneSequencePredictor
生成的轨迹就是灰色虚线。
-
MoveSequencePredictor
MoveSequencePredictor 生成的轨迹合理很多。
作业:
- 预测判断”重点关注障碍物“的标准有哪些,流程是怎么样的?你还想到有哪些判断标准应该被纳入考虑?
- 轨迹生成器是如何针对车辆在道路上的行动生成具体轨迹的?LaneSequence和MoveSequence的生成方式有什么不同。
最后
以上就是激动小蚂蚁为你收集整理的Apollo 星火计划课程笔记 ---- PredictionApollo Prediction的全部内容,希望文章能够帮你解决Apollo 星火计划课程笔记 ---- PredictionApollo Prediction所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复