Apollo 10.0
自动驾驶开放平台
|
BareIntersectionUnprotectedScenario
: 无保护裸露交叉路口场景,在交通路口既没有停止标志,也没有交通灯,车辆在路口前一段距离范围内切换到此场景。
lane_follow_command
获取overlap信息:从参考线信息的first_encounter_overlaps_
中获取最先遇到的traffic_sign_overlap
和pnc_junction_overlap
。
pnc_junction_overlap
,主车距离路口小于start_bare_intersection_scenario_distance
,大于0米,表示进入无保护裸露交叉路口场景。阶段名 | 类型 | 描述 |
---|---|---|
BARE_INTERSECTION_UNPROTECTED_APPROACH | apollo::planning::BareIntersectionUnprotectedStageApproach | 主车减速接近无保护路口区域 |
BARE_INTERSECTION_UNPROTECTED_INTERSECTION_CRUISE | apollo::planning::BareIntersectionUnprotectedStageIntersectionCruise | 主车通过路口 |
BareIntersectionUnprotectedStageApproach
: 该阶段用于主车减速接近无保护路口区域,主车距离达到阈值后退出。
Process: 该阶段处理的主函数,输入为规划初始点 planning_init_point
、Frame
;输出为当前阶段处理状态StageResult
planning_init_point
、Frame
信息,按照该stage配置的task列表,依次进行规划。FinishScenario()
,直接退出BareIntersectionUnprotectedScenario
场景。distance_adc_to_pnc_junction < -kPassStopLineBuffer
,进入FinishStage
,结束当前Stage,进入BARE_INTERSECTION_UNPROTECTED_INTERSECTION_CRUISE
阶段。reference_line_info.SetJunctionRightOfWay
,主车处于非保护状态。ExecuteTaskOnReferenceLine
。wait_for_obstacle_ids
。stop = true
,为wait_for_obstacle_ids
障碍物建立STOP虚拟墙。在连续5帧不需要等待的情况下,stop = false
。CheckClear: 检查当前是否由障碍物阻塞。
const ReferenceLineInfo& reference_line_info, std::vector<std::string>* wait_for_obstacle_ids
。wait_for_obstacle_ids
,在函数执行之后,返回阻塞需要等待的障碍物序列。FinishStage: 该阶段的退出函数。
BARE_INTERSECTION_UNPROTECTED_APPROACH
阶段,进入BARE_INTERSECTION_UNPROTECTED_INTERSECTION_CRUISE
阶段。FLAGS_default_cruise_speed
。BareIntersectionUnprotectedStageApproach
: 该阶段用于主车通过路口。
Process: 该阶段处理的主函数,输入为规划初始点 planning_init_point
、Frame
;输出为当前阶段处理状态StageResult
planning_init_point
、Frame
信息,按照该stage配置的task列表,依次进行规划。FinishStage
,结束当前Stage。否则,返回状态值StageStatusType::RUNNING
。CheckDone: 基类BaseStageCruise
的一个成员函数。
const Frame& frame, const PlanningContext* context, const bool right_of_way_status
。right_of_way_status = false
。检查主车是否依然处于路口。FinishStage: 该阶段的退出函数。
BARE_INTERSECTION_UNPROTECTED_INTERSECTION_CRUISE
阶段,退出BareIntersectionUnprotectedScenario
场景。apollo::planning::BareIntersectionUnprotectedScenario
modules/planning/planning_component/conf/planning_config.pb.txt
文件中增加standard_planning_config
的配置,配置使用当前场景插件。 modules/planning/scenarios/bare_intersection_unprotected/conf/pipeline.pb.txt
中编辑该场景下所有Stage
,以及各Stage
对应的Task
列表。Stage
插件,需要添加至modules/planning/scenarios/bare_intersection_unprotected/plugins.xml
。 proto
文件配置:modules/planning/scenarios/bare_intersection_unprotected/proto/bare_intersection_unprotected_scenario.proto
modules/planning/scenarios/bare_intersection_unprotected/conf/scenario_conf.pb.txt
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。