|
Apollo 11.0
自动驾驶开放平台
|
EmergencyPullOverScenario: 紧急靠边停车场景,车辆在行驶过程中如果收到PadMessage命令“PULL_OVER”,车辆就近找到合适的位置在当前车道内停车,相比于直接停车,这样保证了行驶过程中的停车安全性和舒适性。

PadMessage::PULL_OVER| 阶段名 | 类型 | 描述 |
|---|---|---|
EMERGENCY_PULL_OVER_SLOW_DOWN | apollo::planning::EmergencyPullOverStageSlowDown | 停车前减速阶段,修改参考线主车限速,主车速度达到阈值后退出 |
EMERGENCY_PULL_OVER_APPROACH | apollo::planning::EmergencyPullOverStageApproach | 减速后PULL_OVER_PATH task 计算停车点,主车靠近停车终点,主车速度和距离达到阈值后退出该阶段 |
EMERGENCY_PULL_OVER_STANDBY | apollo::planning::EmergencyPullOverStageStandby | 主车在停车点保持停车,PadMessage从 PULL_OVER 切换至其他状态后退出该阶段 |
EmergencyPullOverStageSlowDown : 该阶段用于主车停车前减速,修改参考线主车限速,主车速度达到阈值后退出。
Process: 该阶段处理的主函数,输入为规划初始点 planning_init_point、Frame;输出为当前阶段处理状态StageResult
target_slow_down_speed,调用reference_line_info.LimitCruiseSpeed()函数进行限速修改,达到主车减速目的。planning_init_point、Frame信息,按照该stage配置的task列表,依次进行规划。FinishStage,结束当前Stage,进入EMERGENCY_PULL_OVER_APPROACH阶段。如果未达到目标速度,则仍处于EMERGENCY_PULL_OVER_SLOW_DOWN阶段,返回状态值StageStatusType::RUNNING。FinishStage: 该阶段的退出函数。
EMERGENCY_PULL_OVER_SLOW_DOWN阶段, 设置主车pull_over_status->set_plan_pull_over_path(true),进入EMERGENCY_PULL_OVER_APPROACH阶段。EmergencyPullOverStageApproach : 该阶段用于主车减速后,接近停车目标点。
Process: 该阶段处理的主函数,输入为规划初始点 planning_init_point、Frame;输出为当前阶段处理状态StageResult
reference_line_info.LimitCruiseSpeed;打开转向灯表明靠边临时停车,reference_line_info.SetTurnSignal(VehicleSignal::TURN_RIGHT)。EMERGENCY_PULL_OVER的虚拟障碍物。planning_init_point、Frame信息,按照该stage配置的task列表,依次进行规划。FinishStage,结束当前Stage,进入EMERGENCY_PULL_OVER_STANDBY阶段。如果不满足,则仍处于EMERGENCY_PULL_OVER_APPROACH阶段,返回状态值StageStatusType::RUNNING。FinishStage: 该阶段的退出函数。
EMERGENCY_PULL_OVER_APPROACH阶段, 进入EMERGENCY_PULL_OVER_STANDBY阶段。EmergencyPullOverStageStandby : 该阶段用于主车保持紧急靠边停车状态。
Process: 该阶段处理的主函数,输入为规划初始点 planning_init_point、Frame;输出为当前阶段处理状态StageResult
reference_line_info.LimitCruiseSpeed;打开危险报警闪光灯,reference_line_info.SetEmergencyLight();关闭转向灯,reference_line_info.SetTurnSignal(VehicleSignal::TURN_NONE)。EMERGENCY_PULL_OVER的虚拟障碍物。planning_init_point、Frame信息,按照该stage配置的task列表,依次进行规划。PadMessage从 PULL_OVER 切换至其他状态后,进入FinishStage,结束当前Stage;否则仍处于EMERGENCY_PULL_OVER_STANDBY阶段,返回状态值StageStatusType::RUNNING。FinishStage: 该阶段的退出函数。
EMERGENCY_PULL_OVER_STANDBY阶段, 进入EmergencyPullOverScenario场景。apollo::planning::EmergencyPullOverScenario
modules/planning/planning_component/conf/planning_config.pb.txt文件中增加standard_planning_config的配置,配置使用当前场景插件。 modules/planning/scenarios/emergency_pull_over/conf/pipeline.pb.txt中编辑该场景下所有Stage,以及各Stage对应的Task列表。Stage插件,需要添加至modules/planning/scenarios/emergency_pull_over/plugins.xml。 proto文件配置:modules/planning/scenarios/emergency_pull_over/proto/emergency_pull_over.protomodules/planning/scenarios/emergency_pull_over/conf/scenario_conf.pb.txt- 各Stage参数配置,位于modules/planning/scenarios/emergency_pull_over/conf/<stage_name>/文件夹下
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。