modules/prediction/README_cn.md
预测模块研究并预测感知模块检测到的所有障碍物的行为。预测接收障碍物数据以及包括位置、航向、速度、加速度在内的基本感知信息,然后生成具有这些障碍物的概率的预测轨迹。预测模块由四个子模块组成: 容器, 场景, 评估器 和 预测器.
注意:
预测模块仅预测障碍物的行为,而不预测主车的行为。规划模块规划主车的轨迹。
容器存储来自订阅频道的输入数据。当前支持的输入为: perception obstacles, vehicle localization 和 vehicle planning.
场景子模块分析包括主车在内的场景。目前,我们有两种定义的场景:
我们还定义了三种类型的障碍优先级:
评估器分别预测任何给定障碍物的路径和速度。评估器通过使用存储在 prediction/data/ 中的给定模型来评估路径,并输出车道序列的概率
可用评估器列表包括:
Cost evaluator: 用一组成本函数计算概率。
MLP evaluator: 用MLP模型计算概率。
RNN evaluator: 用RNN模型计算概率。
Cruise MLP + CNN-1d evaluator: 使用MLP和CNN-1d混合模型计算巡航场景的概率。
Junction MLP evaluator: 使用交叉口场景的MLP模型计算概率。
Junction Map evaluator: 路口场景下,使用基于语义图的CNN模型来计算概率. 此评估器是为Caution级别的障碍而创建的。
Social Interaction evaluator: 该模型用于行人的短期轨迹预测。它使用Social LSTM。此评估器是为Caution级别的障碍而创建的。
Semantic LSTM evaluator: 该评估器被用于新的Caution Obstructure模型中,以生成使用CNN和LSTM计算的短期轨迹点。车辆和行人都使用相同的模型,但参数不同。
Vectornet LSTM evaluator: 该评估器用于代替语义LSTM评估器,为Caution级别的障碍物生成短期轨迹点。
Jointly prediction planning evaluator: 该评估器用于新的交互式障碍物(车辆类型)模型中,以生成短期轨迹点,该轨迹点使用Vectornet和LSTM进行计算。通过考虑ADC的轨迹信息,可以在交互场景下更准确地预测障碍物的轨迹。
预测器生成障碍物的预测轨迹。目前,支持的预测器包括:
├── prediction
├── common // common code
├── conf // configuration folder
├── container // container sub-module
│ ├── adc_trajectory
│ ├── obstacles
│ ├── pose
│ └── storytelling
├── dag // module startup file
├── data // module configuration parameters
├── evaluator // evaluator sub-module
│ ├── cyclist
│ ├── model_manager
│ ├── pedestrian
│ ├── vehicle
│ └── warm_up
├── images // demo images
├── launch // launch file
├── network // network code
├── pipeline // VectorNet code
├── predictor // predictor sub-module
│ ├── empty
│ ├── extrapolation
│ ├── free_move
│ ├── interaction
│ ├── junction
│ ├── lane_sequence
│ ├── move_sequence
│ ├── sequence
│ └── single_lane
├── proto // configuration proto file
├── scenario // scenario sub-module
│ ├── analyzer
│ ├── feature_extractor
│ ├── interaction_filter
│ ├── prioritization
│ ├── right_of_way
│ └── scenario_features
├── submodules // manage evaluator and predictor submodules
├── testdata // test data
├── BUILD // compile file
├── cyberfile.xml // package management file
├── prediction_component.cc //component entrance
├── prediction_component.h
└── prediction_component_test.cc
| 名称 | 类型 | 描述 |
|---|---|---|
frame | apollo::perception::PerceptionObstacles | 障碍物信息 |
| 名称 | 类型 | 描述 |
|---|---|---|
frame | apollo::prediction::PredictionObstacles | 障碍物预测信息 |
modules/prediction/dag/prediction.dagmodules/prediction/conf/prediction_conf.pb.txttopic_conf: 不同主题的名称
evaluator_model_conf: 不同评估器的配置文件
obstacle_conf: 不同类型障碍物的配置文件
cyber_launch start modules/prediction/launch/prediction.launch