预测模块是将对感知到的障碍物在未来一段时间内的运动轨迹进行估计,输出的预测消息将会打包感知信息,预测模块将订阅定位、规划和感知障碍等消息。 Apollo预测模块按照物体不同的特征,采用不同的模型,分别预测各自轨迹,并对不同类型的输入特征,选择合适的模型分别提取。在算法上,由于实时算例存在限制,预测模块会划分优先级对机动车周围进行处理。 以下,ENJOY 预测模块是研究并预测感知模块检测到的所有障碍物的行为。预测模块接收障碍物数据以及基本的感知信息,包括位置、方向、速度、加速度,然后为这些感知到的障碍物生成概率预测轨迹。 注意:预测模块只预测障碍物的行为, 而不预测汽车本身。规划模块规划汽车本身的轨迹。
如下图所示,预测模块由四个主要功能模块组成:容器、场景分析器、评估器和预测器。Apollo 3.0中已经有容器、评估器和预测器。在Apollo 3.5中,因为我们已经采用一个基于多场景的方法来提升Apollo的自动驾驶能力,所以引入了场景功能模块。 ▲预测模块的组成 容器存储来自订阅通道的输入数据,当前支持的输入包括感知障碍物、自车定位信息和自车规划轨迹。 场景分析子模块包含自车在内的场景,当前,我们定义了两类场景:
评估器为任意给定的障碍物预测路径和速度。评估程序使用存储在prediction/data/中的模型给车道序列预测一个概率值,以此来预测一条路径。 当前有五类评估器,其中两个是Apollo 3.5新添加的。因为巡航和交叉路口两种场景被新添加到Apollo中,所以他们对应的评估器(巡航MLP(多层感知机)和交叉路口MLP)也被添加到Apollo 3.5。当前的评估器包括以下几个:
预测器生存障碍物的预测轨迹,当前,主要支持以下预测器:
预测模块估计所有感知障碍物的未来运动轨迹,输出的预测消息打包了感知信息。预测模块订阅感知障碍物消息并由其触发,代码如下所示: 预测模块同样采用定位模块和规划模块的输出信息作为输入,其结构如下所示: 更多话题讨论、技术交流 可以添加『Apollo小哥哥』为好友 进开发者交流群 |
|
来自: Mosquitochen > 《Apollo》