一、速度规划概述

各位同学好,我是你们的速度规划课讲师。今天咱们聊聊速度规划在自动驾驶里到底扮演什么角色。

说实话,我刚入行那会儿,觉得路径规划才是核心——车能走就行,速度嘛,加减速谁不会?结果第一次实车测试就给我上了一课。车是能走了,但坐上去像坐过山车,乘客差点投诉我们。嗯,从那以后我才真正重视起速度规划。

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

自动驾驶系统里,规划模块通常分两层:路径规划和速度规划。路径规划告诉你「往哪走」,速度规划告诉你「怎么走」。

你可以把路径规划想象成地图上的路线,而速度规划就是司机脚下的油门和刹车。没有速度规划,车要么猛冲猛停,要么龟速爬行——这两种体验,乘客都受不了。

核心观点:速度规划是连接「规划」与「控制」的桥梁。它把路径上的每个点赋予时间属性,让车能安全、舒适、高效地通过。

我在项目中遇到过最典型的场景:前方有个弯道,路径规划已经画好了弧线,但如果不做速度规划,车以60km/h入弯,侧向加速度直接超标,轻则乘客东倒西歪,重则车辆失控。速度规划的任务就是提前告诉你:这里必须减速到30km/h。

1.2 速度规划与路径规划的关系

这两者的关系,我习惯用一个比喻:路径是骨架,速度是血肉。

  • 路径规划:输出一条几何曲线,包含位置(x, y)和朝向(θ)。它不考虑时间,只考虑空间。
  • 速度规划:在路径上叠加时间信息,输出每个点的速度v、加速度a、甚至加加速度jerk。

你想想看,如果只有路径没有速度,控制模块根本不知道该用多大力踩油门。反过来,如果速度规划不考虑路径的曲率变化,那减速点就会算错——要么提前刹停,要么入弯才急刹。

维度 路径规划 速度规划
输出内容 (x, y, θ) 序列 (v, a, t) 序列
约束来源 道路边界、障碍物位置 动力学、舒适性、法规
优化目标 最短路径、避障 最小时间、最小能耗、最舒适
耦合方式 先路径后速度(解耦) 路径速度联合优化(耦合)

个人经验:实际工程中,90%的场景用解耦方式就够了——先算路径,再算速度。但遇到狭窄通道、紧急避障这类场景,必须用联合优化。我曾经在泊车场景里吃过亏,解耦方案怎么调都卡住,换成联合优化一次通过。

1.3 速度规划的核心目标

速度规划到底要达成什么?我总结为三个字:安、舒、快。

  1. 安全(Safety):这是底线。不能碰撞、不能超速、不能超出车辆物理极限。说白了,速度规划的第一原则是「别出事」。
  2. 舒适(Comfort):这是用户体验。急加速、急刹车、频繁点头,乘客会晕车。舒适性通常用 jerk(加加速度)来量化,一般控制在 ±2 m/s³ 以内。
  3. 高效(Efficiency):这是商业价值。同样的路程,谁跑得快谁先到。但高效不能牺牲安全和舒适。

这三个目标经常打架。比如前方有车加塞,安全要求急刹,舒适要求缓刹,高效要求尽快通过。怎么平衡?这就是速度规划算法的核心挑战。

避坑指南:我曾经在一个项目中过度追求舒适,把 jerk 上限设得太低。结果遇到前车急刹,我们的车刹不住,差点追尾。后来我调整策略:紧急情况下可以突破舒适性约束,安全永远是第一优先级。

1.4 速度规划的评价指标

怎么判断一个速度规划做得好不好?不能光靠感觉。我常用的评价指标有这几个:

  • 最大加速度/减速度:一般控制在 ±3 m/s² 以内,紧急情况可放宽到 ±5 m/s²。
  • 最大 jerk:舒适性核心指标,建议 ≤ 2 m/s³。
  • 行程时间:从起点到终点的时间,越短越好,但不能违反限速。
  • 能耗:对于电动车尤其重要,急加速急减速都会增加能耗。
  • 跟踪误差:规划的速度曲线,控制模块能不能跟得上?跟不上的规划就是废纸。

我习惯把这些指标做成一个打分表,每次算法迭代后跑一遍仿真,看看分数变化。下面是我常用的一个模板:

指标 优秀 合格 不合格
最大加速度 (m/s²) ≤ 2.0 2.0 ~ 3.5 > 3.5
最大 jerk (m/s³) ≤ 1.0 1.0 ~ 2.0 > 2.0
行程时间偏差 ≤ 5% 5% ~ 15% > 15%
跟踪误差 (m/s) ≤ 0.3 0.3 ~ 0.8 > 0.8

小技巧:评价指标不能只看平均值,要看最大值和分布。我见过很多算法平均 jerk 只有 0.5,但偶尔蹦出一个 3.0 的尖峰——乘客就在那个瞬间晕车。所以我会额外关注 95% 分位值。

1.5 速度规划知识体系总览

讲了这么多,咱们用一张图把速度规划的知识体系串起来。这张图是我自己整理的,涵盖了从输入到输出的完整链路。

速度规划知识体系总览 速度规划知识体系总览 路径信息 车辆状态 环境感知 任务需求 速度规划核心算法 ST图 / 优化 / 采样 动力学约束 舒适性约束 法规约束 任务约束 速度曲线 (v-t) 评价指标:安全 / 舒适 / 高效 说明 输入 → 核心算法 → 约束检查 → 输出 → 评价反馈 闭环迭代优化

这张图把速度规划的流程拆成了五层:输入层收集路径、状态、感知和任务信息;核心算法层做速度曲线的生成;约束层确保输出不越界;输出层给出最终的 v-t 曲线;评价层反馈迭代。

后面的课程,我们会逐一深入每一层。今天先把框架搭好,后面学起来才不会迷路。

本章小结:速度规划不是简单的加减速,它是在安全、舒适、高效三个目标之间找平衡。路径规划告诉你「去哪」,速度规划告诉你「怎么去」。两者缺一不可。