collection/planning/README_cn.md
planning 模块包含planning模块的整体架构和流程。planning模块根据上游模块输入的感知周围环境信息,地图定位导航信息,以及全局路径信息,为自动驾驶车辆规划出一条运动轨迹(包含坐标,速度,加速度,jerk加加速度,时间等信息),然后将这些信息传递给控制模块。
Planning模块需要获取外部环境信息,车辆自身信息进行轨迹规划,以下是planning的外部输入信息:
| Channel 名 | 类型 | <div style="width: 300pt">描述</div> |
|---|---|---|
/apollo/prediction | apollo::prediction::PredictionObstacles | 障碍物预测信息,可通过 modules/planning/planning_component/dag/planning.dag 启动文件修改channel名 |
/apollo/perception/traffic_light | apollo::perception::TrafficLight | perception模块输出的交通灯感知信息,包含交通灯亮起的颜色,id等信息 |
/apollo/localization/pose | apollo::localization::LocalizationEstimate | 定位信息,可通过 modules/planning/planning_component/dag/planning.dag 配置文件修改channel名 |
/apollo/canbus/chassis | apollo::canbus::Chassis | canbus模块输出的车辆底盘信息,包含底盘速度,油门,刹车,档位,灯光等状态, modules/planning/planning_component/dag/planning.dag 配置文件修改channel名 |
此外,planning模块还需要外部输入的导航命令信息,用户首先向external_command发送导航命令请求,external_command再将这些命令进行处理后转发给planning模块。下面介绍用户可以发送的几种导航命令:
| Channel 名 | 类型 | <div style="width: 300pt">描述</div> |
|---|---|---|
/apollo/external_command/lane_follow | apollo::external_command::LaneFollowCommand | 基于高精地图导航的命令,给定终点的位置或朝向,从当前车辆位置导航到目标终点位置 |
/apollo/external_command/valet_parking | apollo::external_command::ValetParkingCommand | 从当前位置导航泊车到停车位上 |
/apollo/external_command/action | apollo::external_command::ActionCommand | HMI发送的流程操作命令 |
| Channel 名 | 类型 | <div style="width: 300pt">描述</div> |
|---|---|---|
/apollo/planning | apollo::planning::ADCTrajectory | 输出规划轨迹,包含轨迹点,速度和时间等信息 |
/apollo/planning/command_status | apollo::external_command::CommandStatus | 导航命令的执行状态 |
/apollo/external_command/lane_follow | apollo::external_command::LaneFollowCommand | 在道路被阻塞,换道失败超时时,发送重新路由的申请 |
| 文件路径 | 类型/结构 | <div style="width: 300pt">说明</div> |
|---|---|---|
modules/planning/planning_component/conf/planning_config.pb.txt | apollo::planning::PlanningConfig | planning组件的配置文件 |
modules/planning/planning_component/conf/public_road_planner_config.pb.txt | apollo::planning::PlannerOpenSpaceConfig | PublicRoadPlanner的配置文件 |
modules/planning/planning_component/conf/traffic_rule_config.pb.txt | apollo::planning::TrafficRulesPipeline | 支持的traffic rules列表的配置文件 |
modules/planning/planning_component/conf/discrete_points_smoother_config.pb.txt | apollo::planning::ReferenceLineSmootherConfig | 参考线使用离散点平滑时的配置文件 |
modules/planning/planning_component/conf/qp_spline_smoother_config.pb.txt | apollo::planning::ReferenceLineSmootherConfig | 参考线使用五次多项式平滑时的配置文件 |
modules/planning/planning_component/conf/spiral_smoother_config.pb.txt | apollo::planning::ReferenceLineSmootherConfig | 参考线使用五次螺旋线平滑时的配置文件 |
modules/planning/planning_component/conf/planner_open_space_config.pb.txt | apollo::planning::PlannerOpenSpaceConfig | 开放空间规划算法的配置文件 |
| 文件路径 | <div style="width: 300pt">说明</div> |
|---|---|
modules/planning/planning_component/conf/planning.conf | planning模块的flag配置文件 |