Apollo 10.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.proto
modules/planning/scenarios/emergency_pull_over/conf/scenario_conf.pb.txt
- 各Stage
参数配置,位于modules/planning/scenarios/emergency_pull_over/conf/<stage_name>/
文件夹下
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。