首先需要理解Planning模块是基于Scenario、Stage、Task这样的层次来进行的,即:场景->步骤->具体的决策方法。Apollo可以应对自动驾驶所面临的不同道路场景,都是通过Scenario统一注册与管理。Scenario通过一个有限状态机来判断选择当前行车场景,每个Scenario下又有多个Stage,指当前场景下需要执行的粗略步骤。
Planning模块根据routing(导航模块),prediction(感知模块)感知的周围环境信息,以及地图定位导航信息为自动驾驶车辆规划出一条运动轨迹(包含坐标,速度,加速度,jerk加加速度,时间等信息),然后将这些信息传递给控制模块。
1、stage_approach
代码路径:modules/planning/scenarios/traffic_light/unprotected_left_turn/stage_approach.cc
本部分实现的功能实现直行红绿灯的判断,等待直行绿灯后进入待转区。
/**
* @file
**/