文章来源于Apollo社区,分享人是 百度美研 Yifei Jiang老师。
本次分享包含以下部分:
- 参考路径
- 交规决策
- 路径决策
- 速度决策
- 决策场景
决策模块相当于无人驾驶系统的大脑,保障无人车的行车安全,同时也要理解和遵守交通规则。
为了实现这样的功能,决策模块为无人车提供了各种的限制信息包括:
- 路径的长度以及左右边界限制;
- 路径上的速度限制;
- 时间上的位置限制。
此外,决策模块几乎利用了所有和无人驾驶相关的环境信息,包括:
- Routing 信息;
- 道路结构,比如当前车道,相邻车道,汇入车道,路口等信息;
- 交通信号和标示,比如红绿灯,人行横道,Stop Sign,Keep Clear 等;
- 障碍物状态信息,比如障碍物类型,大小,和速度;
- 障碍物预测信息,比如障碍物未来可能的运动轨迹。
正是因为决策模块处理了所有上层业务逻辑信息,并输出了抽象的限制信息,我们保证了下游路径和速度优化的抽象性,并完全和上层的地图,感知,预测的解耦。
参考路径
参考路径(Reference Line)在 Apollo 决策中起着非常重要和关键的作用。
- 首先,参考路径是在没有障碍物路况下的默认行车路径;
- 其次,后续的交规决策,路径决策,和速度决策都是基于参考路径或者参考路径下的 Frenet Frame 完成的;
- 最后,参考路径也用于表达换道的需求,一般换道时会有两条参考路径,分别有不同的优先级。其中,优先级高的路径表示目标路径,优先级低的路径为当前路径(如右图所示)。
参考路径的获取可以有多种方式。
在 Apollo 里,参考路径的计算是根据 routing 的线路,找到相应的高精地图中的道路中心线,然后进行平滑。
交规决策
有了参考路径之后,我们会沿着该路径找到所有在该路径上的交通标示和交通信号灯,并根据一系列的交通规则来决定是否在需要停止在交通标示或者交通信号灯的停止线前。
如果需要停止,决策模块会在停止线上生成一个虚拟的墙。虚拟墙会影响后续的路径及速度决策。
如果是红灯,决策模块会在交通灯的停止线上生成一道虚拟的墙。
如果是绿灯,不生成任何虚拟墙。这样我们就完成了绿灯行红灯停的交通规则。
其他的交通规则也采取类似的方法,根据规则决定是否在相应的地方放置虚拟墙。
路径决策
有了根据交通标示和交通信号灯产生的虚拟墙,再加上从感知模块得到的障碍物信息,我们就可以开始进行路径决策。路径决策的过程类似于上图中的决策树。