4. 多项式速度规划:三次、五次、七次多项式的数学推导与实战对比

多项式速度规划,说白了就是用一条光滑的数学曲线来描述运动过程。你想想看,电机从静止加速到目标速度,再减速停止——如果直接给阶跃指令,那冲击力能把机械结构打坏。多项式就是来解决这个问题的。

我个人习惯把多项式规划分成三个档次:三次、五次、七次。档次越高,曲线越光滑,但计算量也越大。咱们一个一个来拆。

4.1 三次多项式:最基础的平滑

三次多项式的形式很简单:

s(t) = a₀ + a₁·t + a₂·t² + a₃·t³

它有4个未知系数,所以需要4个边界条件。通常我们给定起点和终点的位置与速度:

边界 条件
t = 0 s(0) = s₀, v(0) = v₀
t = T s(T) = s₁, v(T) = v₁

把边界代入,解一个4元线性方程组,就能得到系数。我在项目中遇到过用三次多项式做点对点定位——比如一个机械臂从A点抓取到B点放下。速度连续,但加速度在起点和终点有跳变。说白了,加速度不连续。

注意:三次多项式的加速度在t=0和t=T处是突变的。如果系统对冲击敏感(比如精密装配),三次多项式可能会引起末端抖动。我曾经吃过这个亏,后来才换的五次。

4.2 五次多项式:加速度也连续了

五次多项式长这样:

s(t) = a₀ + a₁·t + a₂·t² + a₃·t³ + a₄·t⁴ + a₅·t⁵

6个系数,需要6个边界条件。除了位置和速度,我们还要约束起点和终点的加速度:

边界 条件
t = 0 s(0) = s₀, v(0) = v₀, a(0) = a₀
t = T s(T) = s₁, v(T) = v₁, a(T) = a₁

解这个方程组,你会得到一组封闭解。我建议你直接记住公式,或者写一个通用求解器——每次手算太容易出错。

五次多项式的好处是加速度连续,没有突变。这意味着电机电流更平滑,机械冲击更小。我在做高速贴片机时,所有运动轨迹都用五次多项式——贴片头每秒要完成几十次取放,加速度不连续的话,振动根本压不住。

实战技巧:如果起点和终点的加速度都设为0,五次多项式会变成一个对称的S形曲线。这是最常用的配置,适合大多数点到点运动。

4.3 七次多项式:加加速度也连续

七次多项式是:

s(t) = a₀ + a₁·t + a₂·t² + a₃·t³ + a₄·t⁴ + a₅·t⁵ + a₆·t⁶ + a₇·t⁷

8个系数,8个边界条件。除了位置、速度、加速度,还要约束加加速度(Jerk):

边界 条件
t = 0 s(0) = s₀, v(0) = v₀, a(0) = a₀, j(0) = j₀
t = T s(T) = s₁, v(T) = v₁, a(T) = a₁, j(T) = j₁

七次多项式能保证加加速度连续。加加速度是什么?就是加速度的变化率。如果加加速度有跳变,电机力矩会突然变化,产生高频振动。

说实话,七次多项式在工业机器人里用得不多——计算量大了不少,但实际效果和五次多项式差别不大。除非你是在做超高精度的场景,比如光刻机、晶圆搬运,否则五次多项式已经够用了。

4.4 三种多项式的对比

特性 三次多项式 五次多项式 七次多项式
连续阶数 速度连续 加速度连续 加加速度连续
边界条件数 4 6 8
计算复杂度 低 中 高
适用场景 低速、低精度 通用工业运动 超高精度、超高速
冲击程度 有加速度跳变 无加速度跳变 无加加速度跳变

我个人的选型原则很简单:能用五次就不用三次,能用五次就不用七次。五次多项式是性价比最高的选择。

4.5 知识体系结构图

下面这张图帮你理清三种多项式的核心逻辑:

多项式速度规划知识体系 三次多项式 边界:位置+速度 连续阶:速度 ⚠ 加速度跳变 五次多项式 边界:位置+速度+加速度 连续阶:加速度 ✓ 通用首选 七次多项式 边界:位置+速度+加速度+加加速度 连续阶:加加速度 ★ 超高精度 选型建议 一般工业运动 → 五次多项式(性价比最高) 超高精度/超高速 → 七次多项式 | 低速低精度 → 三次多项式 边界条件数量对比 三次: 4个 → 五次: 6个 → 七次: 8个 边界条件越多,曲线越光滑,但计算量也越大

4.6 实战选型建议

最后给你一个我自己的决策流程:

  1. 先看系统对冲击的容忍度——如果机械结构刚性差,直接上五次或七次。
  2. 再看控制器算力——低端MCU跑七次多项式可能吃力,五次多项式是安全牌。
  3. 最后看精度要求——普通定位用三次就够了,但要做好加速度跳变的心理准备。

核心总结:三次多项式是入门,五次多项式是主力,七次多项式是锦上添花。别盲目追求高阶,适合你的系统才是最好的。