一、速度规划概述:它在自动驾驶里到底干什么?

大家好,我是你们这趟速度规划之旅的向导。说实话,每次带新人入门,我总会被问到同一个问题:「路径规划我懂,速度规划不就是让车走慢点走快点吗?」

嗯,这么说对,也不全对。今天咱们就把这事彻底聊透。

1.1 速度规划在自动驾驶中的角色

先打个比方。你想想看,自动驾驶系统就像一个司机团队:

  • 感知负责「看」—— 前面有没有车、路有多宽。
  • 预测负责「猜」—— 那辆车下一秒会往哪走。
  • 路径规划负责「选路」—— 走哪条车道、怎么拐弯。
  • 速度规划负责「决定怎么踩油门和刹车」—— 什么时候加速、什么时候减速、减到多慢。

我个人的理解是:路径规划给了车一条「路」,速度规划给了这条路「节奏」。没有节奏,再好的路线也是白搭。

核心观点:速度规划是连接「决策层」和「执行层」的桥梁。它把高层的驾驶意图(比如「让行」、「超车」、「靠边停车」)翻译成具体的、可执行的油门/刹车指令。

我在项目中遇到过最典型的例子:路径规划给出了一条完美的避障轨迹,但速度规划没处理好,车在障碍物前急刹,后排乘客差点撞到前排座椅。你看,路径没问题,体验全砸在速度上了。

1.2 速度规划 vs 路径规划:到底有什么区别?

很多初学者容易把这两者混为一谈。我习惯用一个表格来帮团队新人快速建立认知:

对比维度 路径规划 速度规划
输出是什么 一系列离散路径点 (x, y, heading) 每个路径点上的速度/加速度/时间 (s, v, a, t)
核心约束 道路边界、障碍物位置、车辆运动学 限速、舒适度、跟车距离、红绿灯时间
优化目标 路径最短、最平滑、避障安全 时间最短、能耗最低、体感最舒适
典型算法 A*、Dijkstra、Lattice Planner ST图、QP优化、PID、MPC
通俗理解 「走哪条路」 「这条路怎么走」

说白了,路径规划告诉你「前方50米右转」,速度规划告诉你「现在开始减速,用3秒完成变道,右转时速度控制在15km/h以内」。两者缺一不可。

一个小技巧:我在做系统架构时,习惯把速度规划放在路径规划之后、控制模块之前。这样路径规划只负责「空间上的可行性」,速度规划负责「时间上的可行性」,职责清晰,调试起来也方便。

1.3 速度规划的核心目标:安全、舒适、效率

这三个词听起来很空,对吧?但每一个背后都有血泪教训。我一个个说。

安全 —— 这是底线,没得商量

速度规划里的「安全」,不是简单地「别撞车」。它要保证:

  • 跟车距离安全:前车急刹时,你的车能刹住。
  • 路口通行安全:绿灯倒计时3秒,是冲过去还是停下来?速度规划必须给出合理决策。
  • 限速合规:弯道、匝道、施工区,速度必须降下来。

我曾经踩过一个坑:某次测试中,感知模块把路边的垃圾桶误识别为行人,速度规划直接触发紧急制动。虽然没出事,但后面的车差点追尾。后来我加了一条规则——速度规划必须对「置信度低」的障碍物做降级处理,不能一棍子打死。

避坑指南:安全不是「越慢越好」。在高速上开30km/h,反而是安全隐患。速度规划要找到「当前场景下最安全的速度区间」,而不是一味求慢。

舒适 —— 用户买单的理由

说实话,安全是及格线,舒适才是加分项。我见过太多技术很强的团队,车开得稳如老狗,但乘客晕车晕到吐。为什么?

问题出在加速度和加加速度(jerk)上。速度规划不仅要控制速度,还要控制速度的变化率:

  • 加速度 (a):一般控制在 ±2.0 m/s² 以内,急加速/急刹车会让人不适。
  • 加加速度 (jerk):控制在 ±0.5 m/s³ 以内,否则会有「顿挫感」。

我个人的经验是:舒适度优化的核心不是「慢」,而是「平滑」。一个平滑的速度曲线,比一个「快但忽快忽慢」的曲线,体感好得多。

效率 —— 商业化的命门

如果一辆自动驾驶车开得比老年代步车还慢,谁会买单?效率就是「在安全和舒适的前提下,尽快到达目的地」。

效率的衡量指标通常包括:

  1. 通行时间:从A到B花了多久。
  2. 平均速度:整体车速是否接近道路限速。
  3. 停车次数:等红灯、让行、避障导致的停车越少越好。

这里有个经典的 trade-off:安全和效率天生矛盾。跟车距离越大越安全,但通行效率越低;加速越平缓越舒适,但通过路口的时间越长。速度规划的本质,就是在三者之间找到最优解。

1.4 一张图看懂速度规划全景

下面这张图是我自己总结的,每次给新人培训都会拿出来讲。它展示了速度规划在整个自动驾驶系统中的位置,以及它内部的核心模块。

速度规划全景框架图 速度规划全景框架图 感知 & 预测 路径规划 决策模块 速度规划核心引擎 ST 图构建 速度曲线优化 约束检查 输出:s(t), v(t), a(t) 控制模块(油门/刹车/转向) 三大核心目标 🔴 安全:跟车、限速、避障 🟢 舒适:加速度 & jerk 控制 🔵 效率:通行时间 & 平均速度

从这张图你能看到:速度规划不是孤立存在的。它接收感知、预测、路径规划和决策模块的信息,经过内部的一系列处理(ST图构建、优化、约束检查),最终输出一条包含时间、位置、速度、加速度的轨迹,交给控制模块去执行。

而安全、舒适、效率这三个目标,贯穿了整个流程的始终。任何一个环节的决策,都要在这三者之间做权衡。

1.5 小结:速度规划到底在解决什么问题?

聊了这么多,我想你应该明白了。速度规划不是简单的「加减速」,它解决的是:

  • 在什么时间点,以什么速度,以多大的加速度,通过路径上的哪个点。
  • 同时保证不撞车、不晕车、不迟到。

我个人觉得,速度规划是自动驾驶系统里最「人性化」的模块。它不像感知那样冷冰冰地识别物体,也不像控制那样机械地执行指令。它需要理解场景、预判风险、照顾乘客感受——说白了,它得有点「情商」。

接下来的课程,我会带你一步步拆解速度规划的每一个环节。从ST图怎么画,到优化问题怎么建,再到实车调试的坑怎么填。准备好了吗?咱们开始动手。