4. 连续性要求
在连续曲率轨迹生成中,“连续性”并不是一个抽象数学口号,而是直接决定车辆、机器人或加工头在运动过程中是否抖动、冲击、异响甚至失稳的核心约束。工程上常说的 C0、C1、C2、C3 连续性,分别对应位置、切线方向、曲率、曲率变化率的连续。理解它们的几何含义与物理后果,才能在轨迹平滑性、计算复杂度和实时性之间做出合理取舍。
一、几何含义:从“连得上”到“曲率不跳变”
设轨迹参数方程为 r(u),则各级连续性可形式化描述为:
- C0 连续:位置连续,即
r(u)无断点。几何上表现为两段轨迹首尾相接,但连接处可能出现尖角。 - C1 连续:一阶导数连续,即切线方向连续。几何上表现为连接处没有折角,速度方向平滑过渡,但曲率可能突变。
- C2 连续:二阶导数连续,即曲率连续。几何上表现为连接处曲率不跳变,法向加速度连续,是乘坐舒适性的关键门槛。
- C3 连续:三阶导数连续,即曲率变化率连续。几何上表现为曲率变化“无阶跃”,加加速度(jerk)连续,常用于高速高精度场景。
二、对运动平滑性的影响:每一级都对应一种“不舒服”
把几何连续性与运动学量对应起来,可以更直观地看到工程后果:
| 连续性等级 | 几何约束 | 运动学表现 | 典型不良后果 |
|---|---|---|---|
| C0 | 位置连续 | 速度可突变 | 尖角、停顿、冲击 |
| C1 | 切线连续 | 速度连续,加速度可突变 | 法向加速度跳变、侧向冲击 |
| C2 | 曲率连续 | 加速度连续,jerk 可突变 | 舒适性下降、机构磨损 |
| C3 | 曲率变化率连续 | jerk 连续 | 高速下微振、轨迹跟踪误差 |
对于乘用车轨迹规划,C2 连续通常是“舒适性底线”。因为曲率 κ 与方向盘转角近似成正比,曲率跳变意味着方向盘转角跳变,乘员会感到明显的侧向晃动。C3 连续则进一步约束了方向盘转动的角加速度,使转向动作更柔和,常用于高速变道、自动超车等场景。
三、方法流程:如何构造高连续轨迹
工程中实现高连续轨迹,通常遵循以下流程:
- 路径点预处理:对原始离散点去噪、重采样,避免输入本身存在尖角。
- 选择基函数:常用五次多项式、B 样条、贝塞尔曲线或回旋曲线。五次多项式可保证 C2,七次多项式可保证 C3。
- 分段拼接:在连接点处施加连续性约束,令左右导数相等。
- 曲率校核:计算每段曲率及曲率变化率,检查是否超过车辆或机构允许上限。
- 参数化与速度规划:在几何连续基础上,结合速度、加速度、jerk 限制生成时间参数化轨迹。
以五次多项式为例,单段轨迹可写为:
q(t) = a0 + a1*t + a2*t^2 + a3*t^3 + a4*t^4 + a5*t^5
边界条件:
q(0)=q0, q'(0)=v0, q''(0)=a0
q(T)=q1, q'(T)=v1, q''(T)=a1
可解出 6 个系数,保证位置、速度、加速度连续,即 C2 连续。
若需要 C3 连续,则需将多项式提高到七次,并增加 jerk 边界条件。代价是系数求解更复杂,且高阶多项式容易产生过冲,需要额外约束。
四、工程取舍:不是越高越好
连续性等级越高,轨迹越平滑,但计算量、约束复杂度和数值敏感性也越高。实际项目中需要根据场景做取舍:
- 低速泊车、园区物流:C1 甚至 C0 加圆角即可满足,优先保证路径可行和计算实时性。
- 中速乘用车巡航、自动变道:推荐 C2,兼顾舒适性与计算效率。
- 高速行驶、高精度加工、无人机:考虑 C3,以抑制 jerk 引起的振动和跟踪误差。
- 实时性受限的嵌入式平台:可局部降级,在直线段用低阶,在弯道和连接处用高阶。
五、案例与误区复盘
某自动泊车项目早期采用圆弧拼接直线,连接点仅 C0 连续。实车表现为方向盘在入弯瞬间“咯噔”一下,乘员感到明显冲击。改为回旋曲线过渡后,曲率线性变化,达到 C2 连续,冲击感消失,但计算量增加约 18%。后续通过查表法预计算回旋曲线参数,将实时计算量降低到可接受范围。
常见误区包括:
- 把 C1 当 C2:切线连续不等于曲率连续,连接点仍可能有加速度跳变。
- 盲目追求 C3:高阶多项式在长距离外推时容易振荡,反而破坏平滑性。
- 忽略参数化:几何 C2 不代表时间域加速度连续,速度规划不当仍会产生 jerk 尖峰。
- 只看连接点:曲率超限可能出现在段中间,必须全程校核。
总结来看,C0 到 C3 的连续性要求,本质上是把“几何光滑”逐级翻译成“运动学量连续”。工程中应优先保证 C2,再根据速度、精度和算力决定是否提升到 C3。理解每一级连续性的几何含义与物理后果,才能在轨迹生成中做出既舒适又可行的设计决策。