4. 轨迹平滑性指标:曲率连续性、曲率变化率(Jerk)、加加速度(Snap)

各位同学,咱们今天聊点实在的。轨迹平滑性,说白了就是你的车跑起来舒不舒服、稳不稳。我见过太多新手工程师,只盯着路径长度和碰撞检测,结果车一上路,方向盘跟抽风似的来回打。嗯,这里面的门道,就在我们今天要讲的三个指标里。

4.1 曲率连续性:从几何角度看轨迹

先说说曲率。曲率描述的是曲线弯曲的程度。数学上,对于参数曲线 r(s),曲率定义为:

κ = |dT/ds| = |r'(s) × r''(s)| / |r'(s)|³

其中 T 是单位切向量,s 是弧长参数。说白了,曲率就是方向角对弧长的变化率。

曲率连续性,指的是轨迹上每一点的曲率值连续变化,没有突变。我把它分成三个等级:

等级 数学含义 工程表现
G¹ 连续 切线方向连续 路径没有尖角,但方向盘会突然转动
G² 连续 曲率连续 方向盘转动平滑,但加速度会突变
G³ 连续 曲率变化率连续 乘坐体验舒适,无冲击感

核心观点:对于自动驾驶轨迹规划,G² 连续是底线,G³ 连续是追求。我个人的习惯是,在高速场景(>60km/h)强制要求 G³ 连续,低速泊车场景 G² 就够了。

我在项目中遇到过一个问题:用三次样条插值生成的路径,看起来挺平滑,但曲率图一画出来,在节点处有明显的跳变。结果就是,车辆在通过每个插值点时,方向盘都要猛打一下。后来我改用五次样条,曲率连续了,问题就解决了。

4.2 曲率变化率(Jerk):加速度的导数

Jerk,中文叫加加速度,是加速度对时间的导数。数学定义很简单:

Jerk = da/dt = d³r/dt³

但它的工程意义可不简单。你想想看,加速度突变意味着什么?意味着你身体感受到的力突然变化。在车上,就是那种「被推一下」的感觉。

Jerk 与曲率的关系:

对于以速度 v 行驶的车辆,横向 Jerk 可以表示为:

J_lat = v · dκ/dt = v² · dκ/ds

这里 dκ/ds 就是曲率对弧长的变化率。所以,控制 Jerk 本质上就是控制曲率的变化快慢。

工程经验:我一般把横向 Jerk 限制在 2 m/s³ 以内。超过这个值,乘客就会明显感到不适。如果是 L4 级无人出租车,我建议限制在 1 m/s³ 以下。

为什么会有这个阈值?我记得有一次做实车测试,一个同事把 Jerk 上限设到了 5 m/s³。结果测试员下车后说:「这车是不是新手开的?」——嗯,从那以后我就记住了这个教训。

4.3 加加速度(Snap):Jerk 的导数

Snap,加加速度,是 Jerk 对时间的导数:

Snap = dJ/dt = d⁴r/dt⁴

你可能觉得,都到四阶导数了,是不是有点过度设计?其实不然。Snap 控制的是 Jerk 的变化率,它直接影响的是转向系统的执行器寿命。

为什么 Snap 重要?

  • 执行器保护:高 Snap 意味着转向电机需要频繁改变输出力矩,容易导致过热和磨损
  • 系统稳定性:高 Snap 会激发车辆的弹性模态,引起车身抖动
  • 控制精度:高 Snap 要求更高的控制频率和更精确的模型,否则容易失控

注意:不要为了追求极低的 Snap 而牺牲路径的跟踪精度。我见过有人把 Snap 限制得太死,结果路径变得过于保守,在狭窄路段根本过不去。这是个平衡问题。

我个人习惯,在规划层把 Snap 限制在 10 m/s⁴ 以内。这个值是基于我们团队多次实车测试总结出来的。当然,不同车型、不同执行器会有差异,你需要自己标定。

4.4 三个指标的内在联系

这三个指标不是孤立的。它们构成了一个从几何到动力学的完整链条:

曲率 κ → 曲率变化率 dκ/ds → Jerk → Snap
   ↓            ↓               ↓       ↓
 几何平滑     转向平滑       体感舒适  执行器寿命

说白了,曲率是基础,曲率变化率是桥梁,Jerk 和 Snap 是最终的用户体验指标。我在做轨迹评价时,会把这四个指标加权求和,形成一个综合的平滑性得分。

我的评价公式(仅供参考):

Score = w₁·max(|κ|) + w₂·max(|dκ/ds|) + w₃·max(|Jerk|) + w₄·max(|Snap|)

权重 w₁~w₄ 根据场景调整。高速场景 w₃、w₄ 权重大,低速场景 w₁、w₂ 权重大。

4.5 知识体系总览

下面这张图,是我自己梳理的轨迹平滑性知识框架。你可以把它当作一个快速索引:

轨迹平滑性指标知识体系 轨迹平滑性 曲率 κ 几何平滑性 曲率变化率 dκ/ds 转向平滑性 Jerk 体感舒适性 Snap 执行器寿命 工程应用建议 • 高速巡航:优先控制 Jerk 和 Snap,限制 Jerk < 1 m/s³ • 城区道路:平衡曲率变化率和 Jerk,限制 Jerk < 2 m/s³ • 泊车场景:主要关注曲率连续性,G² 连续即可

这张图把四个指标和它们的工程意义串起来了。你从上往下看,就是从几何到执行器的完整链路。我建议你把它打印出来贴在工位上,做轨迹规划时对照着看。

好了,关于轨迹平滑性指标,今天就聊这么多。记住一句话:曲率是骨架,Jerk 是血肉,Snap 是灵魂。三个指标都照顾到了,你的车才能跑得又稳又舒服。

一个小技巧:如果你手头没有实车数据,可以用仿真环境先跑一遍,画出曲率、Jerk、Snap 的曲线图。看到有尖峰的地方,就是你需要优化的位置。我每次做轨迹优化,第一件事就是看这三条曲线。

可可精品资料库