一、速度规划概述
各位同学好,我是你们的速度规划课讲师。今天咱们聊聊速度规划在自动驾驶里到底扮演什么角色。
说实话,我刚入行那会儿,觉得路径规划才是核心——车能走就行,速度嘛,加减速谁不会?结果第一次实车测试就给我上了一课。车是能走了,但坐上去像坐过山车,乘客差点投诉我们。嗯,从那以后我才真正重视起速度规划。
1.1 速度规划在自动驾驶中的角色
自动驾驶系统里,规划模块通常分两层:路径规划和速度规划。路径规划告诉你「往哪走」,速度规划告诉你「怎么走」。
你可以把路径规划想象成地图上的路线,而速度规划就是司机脚下的油门和刹车。没有速度规划,车要么猛冲猛停,要么龟速爬行——这两种体验,乘客都受不了。
核心观点:速度规划是连接「规划」与「控制」的桥梁。它把路径上的每个点赋予时间属性,让车能安全、舒适、高效地通过。
我在项目中遇到过最典型的场景:前方有个弯道,路径规划已经画好了弧线,但如果不做速度规划,车以60km/h入弯,侧向加速度直接超标,轻则乘客东倒西歪,重则车辆失控。速度规划的任务就是提前告诉你:这里必须减速到30km/h。
1.2 速度规划与路径规划的关系
这两者的关系,我习惯用一个比喻:路径是骨架,速度是血肉。
- 路径规划:输出一条几何曲线,包含位置(x, y)和朝向(θ)。它不考虑时间,只考虑空间。
- 速度规划:在路径上叠加时间信息,输出每个点的速度v、加速度a、甚至加加速度jerk。
你想想看,如果只有路径没有速度,控制模块根本不知道该用多大力踩油门。反过来,如果速度规划不考虑路径的曲率变化,那减速点就会算错——要么提前刹停,要么入弯才急刹。
| 维度 | 路径规划 | 速度规划 |
|---|---|---|
| 输出内容 | (x, y, θ) 序列 | (v, a, t) 序列 |
| 约束来源 | 道路边界、障碍物位置 | 动力学、舒适性、法规 |
| 优化目标 | 最短路径、避障 | 最小时间、最小能耗、最舒适 |
| 耦合方式 | 先路径后速度(解耦) | 路径速度联合优化(耦合) |
个人经验:实际工程中,90%的场景用解耦方式就够了——先算路径,再算速度。但遇到狭窄通道、紧急避障这类场景,必须用联合优化。我曾经在泊车场景里吃过亏,解耦方案怎么调都卡住,换成联合优化一次通过。
1.3 速度规划的核心目标
速度规划到底要达成什么?我总结为三个字:安、舒、快。
- 安全(Safety):这是底线。不能碰撞、不能超速、不能超出车辆物理极限。说白了,速度规划的第一原则是「别出事」。
- 舒适(Comfort):这是用户体验。急加速、急刹车、频繁点头,乘客会晕车。舒适性通常用 jerk(加加速度)来量化,一般控制在 ±2 m/s³ 以内。
- 高效(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 速度规划知识体系总览
讲了这么多,咱们用一张图把速度规划的知识体系串起来。这张图是我自己整理的,涵盖了从输入到输出的完整链路。
这张图把速度规划的流程拆成了五层:输入层收集路径、状态、感知和任务信息;核心算法层做速度曲线的生成;约束层确保输出不越界;输出层给出最终的 v-t 曲线;评价层反馈迭代。
后面的课程,我们会逐一深入每一层。今天先把框架搭好,后面学起来才不会迷路。
本章小结:速度规划不是简单的加减速,它是在安全、舒适、高效三个目标之间找平衡。路径规划告诉你「去哪」,速度规划告诉你「怎么去」。两者缺一不可。