1、PublicRoadPlanner 的 LaneFollowStage 配置了以下几个task 来实现具体的规划逻辑,LaneChangeDecider是第一个task: scenario_type: LANE_FOLLOW stage_type: LANE_FOLLOW_DEFAULT_STAGE stage_config: { stage_type: LANE_FOLLOW_DEFAULT_STAGE enabled: true task_type: LANE_CHANGE_DECIDER task_type: PATH_REU...
if (prev_status->status() == ChangeLaneStatus::CHANGE_LANE_FINISHED) { } else if (prev_status->status() == ChangeLaneStatus::IN_CHANGE_LANE) { UpdateStatus(now, ChangeLaneStatus::CHANGE_LANE_FINISHED, path_id); } else if (prev_status->status() == ChangeLaneStatus::CHANGE_LANE_FAIL...
在lane_change_decider的配置中有一项reckless_change_line,默认关闭,打开后直接执行优先换道然后退出task,和正常的相比少了failed_freeze_time和success_freeze_time. PrioritizeChangeLane()函数,传True表示优先处理换道path,False表示优先处理当前path。 具体做法为:遍历Reference_line_inf(std::list type),找到第一个...
首先获取第一条参考线的迭代器,然后遍历所有的参考线,根据第一个参数选择下面一个逻辑执行:更新当前迭代器里面最先查到的可换道参考线为第一条参考线。更新当前迭代器里面最先查到的非换道参考线为第一条参考线。IsChangeLanePath的判断标准就是当前车辆是否在该参考线所在的车道里。迭代器里都是按照顺序排放参考...