2. 自动驾驶规划系统概述
自动驾驶规划系统并不是一个单一算法,而是一条从“去哪里”到“怎么走”再到“每一秒如何动”的决策链。理解任务规划、行为规划与运动规划三者的分工与接口,是读懂 Autoware 规划模块架构的前提。本节先建立三层规划的概念模型,再落到 Autoware 的模块定位与数据流。
一、三层规划的核心原理与区别
任务规划(Mission Planning)回答的是“全局目标与路线”问题。它接收地图、起点、终点与途经点,输出一条从起点到终点的全局路径(Route),通常基于高精地图的路网拓扑做图搜索,如 Dijkstra 或 A*。任务规划的时间尺度最长,通常在行程开始或路线偏离时触发一次,不关心实时障碍物。
行为规划(Behavior Planning)回答的是“在当前交通场景下应采取什么驾驶行为”。它接收全局路径、实时感知结果、交通规则与地图语义,输出的是宏观决策,例如“跟车”“变道”“让行”“停车等待”“通过路口”。行为规划的时间尺度在秒级到十秒级,输出的是离散的行为意图或决策状态,而不是具体的轨迹点。
运动规划(Motion Planning)回答的是“未来几秒内车辆具体沿什么轨迹行驶”。它接收行为决策、当前车辆状态、障碍物预测轨迹与车辆运动学约束,输出一条带时间戳的平滑轨迹,包含位置、速度、加速度、曲率等信息。运动规划的时间尺度在毫秒到秒级,要求满足动力学可行性、舒适性与安全性。
一句话区分:任务规划决定“走哪条路”,行为规划决定“现在该做什么动作”,运动规划决定“方向盘和油门具体怎么打”。
二、三者的联系与数据流
三层规划是逐级细化、逐级约束的关系。任务规划输出的全局路径为行为规划提供空间参考;行为规划输出的行为意图为运动规划提供决策约束;运动规划输出的轨迹再交给控制模块执行。反过来,运动规划如果发现无法生成可行轨迹,会向上反馈给行为规划,触发行为重决策,例如从“变道”退回“跟车”。
这种“自上而下分解、自下而上反馈”的闭环,是自动驾驶规划系统稳定运行的关键。缺少反馈,行为规划可能做出运动规划无法执行的决策;缺少分解,运动规划会在全局搜索空间中陷入组合爆炸。
三、Autoware 规划模块的定位与架构
在 Autoware 中,规划模块位于感知与定位之上、控制之下,是决策链的中枢。其典型架构可对应三层规划:
- mission_planner:对应任务规划,基于 Lanelet2 高精地图与路由图,计算从起点到终点的全局路径,输出
LaneletRoute。 - behavior_path_planner / behavior_velocity_planner:对应行为规划。前者处理变道、避障、绕行等路径级行为;后者处理路口、人行横道、停止线等基于速度的行为约束。
- motion_planner:对应运动规划,接收行为规划输出的路径与速度约束,结合障碍物预测,生成满足运动学约束的平滑轨迹。
- control:接收轨迹,输出油门、刹车、转向指令,完成闭环执行。
Autoware 规划模块的输入包括:高精地图、定位位姿、感知障碍物、预测轨迹、交通信号状态;输出为一条带时间信息的轨迹。模块之间通过 ROS 2 话题与服务通信,形成清晰的数据流。
四、典型场景案例:路口右转
以城市道路路口右转为例,三层规划协同如下:
- 任务规划:根据终点生成经过该路口的全局路径,标记右转车道与路口区域。
- 行为规划:识别路口停止线、行人横道与信号灯,决策“减速让行”或“停车等待”,输出速度约束与路径约束。
- 运动规划:在让行约束下生成一条先减速、确认安全后平滑右转的轨迹。
- 控制执行:跟踪轨迹完成转向与速度控制。
如果行人突然进入横道,行为规划会从“通过”切换为“停车等待”,运动规划随之重新生成制动轨迹。这正是行为层与运动层解耦带来的灵活性。
五、常见误区与复盘
| 误区 | 问题 | 正确理解 |
|---|---|---|
| 把行为规划当成运动规划 | 行为输出的是意图,不是轨迹 | 行为决定“做什么”,运动决定“怎么走” |
| 认为任务规划一次即可 | 路线偏离或封路时需要重规划 | 任务规划可被触发重算,但频率低 |
| 忽略自下而上的反馈 | 运动不可行时行为不调整 | 运动规划失败应反馈触发行为重决策 |
| 三层模块耦合过紧 | 难以独立测试与替换 | 保持清晰接口,便于模块化验证 |
工程实践中,最常见的排障思路是:先确认任务规划路径是否正确,再检查行为规划是否给出合理决策,最后验证运动规划轨迹是否满足动力学与安全约束。逐层定位,避免在错误层级反复调参。
掌握三层规划的区别与联系,以及 Autoware 中 mission_planner、behavior_path_planner、behavior_velocity_planner、motion_planner 的定位与数据流,是后续深入学习行为决策算法与轨迹优化方法的基础。