3、多项式曲线(一):三次多项式曲线的推导、特性与适用场景

各位做运动控制的同行,咱们今天聊聊多项式曲线里最基础、也最常用的一种——三次多项式曲线。说实话,我刚入行那会儿,觉得凸轮曲线不就是画个S型嘛,随便拉几个点就能跑。直到有一次,一台高速贴片机在加减速阶段出现了肉眼可见的抖动,我才意识到,曲线背后的数学特性,直接决定了设备的命运。

三次多项式,说白了就是最高次数为3的多项式函数。它结构简单,计算量小,但已经能解决很多实际问题了。我个人习惯把它当作“入门级但绝不简陋”的工具——就像一把瑞士军刀,虽然不如专业工具那么强大,但日常80%的场景都能应付。

3.1 三次多项式的数学推导

我们先从定义入手。一个三次多项式的一般形式是:

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

其中,s(t) 是位移,t 是时间(或角度),a₀~a₃ 是四个待定系数。为什么是四个?因为三次多项式有四个自由度,可以满足四个边界条件。

在电子凸轮里,我们通常关心的是运动段的起点和终点。假设一个运动段从 t=0 到 t=T,起点和终点的位移和速度都已知。那么边界条件就是:

边界 位移条件 速度条件
起点 (t=0) s(0) = s₀ v(0) = v₀
终点 (t=T) s(T) = s₁ v(T) = v₁

四个条件,四个未知数,方程组可解。我们把 s(t) 对时间求导,得到速度表达式:

v(t) = a₁ + 2·a₂·t + 3·a₃·t²

代入边界条件,得到方程组:

s₀ = a₀
v₀ = a₁
s₁ = a₀ + a₁·T + a₂·T² + a₃·T³
v₁ = a₁ + 2·a₂·T + 3·a₃·T²

解这个方程组,就能得到四个系数。嗯,这里要注意,解的过程其实有固定公式,我一般直接写成矩阵形式,方便编程实现:

a₀ = s₀
a₁ = v₀
a₂ = (3·(s₁ - s₀) - (2·v₀ + v₁)·T) / T²
a₃ = (2·(s₀ - s₁) + (v₀ + v₁)·T) / T³

你想想看,只要知道起点终点的位置和速度,就能唯一确定一条三次曲线。这就是它的魅力——简单、直接、可预测。

3.2 三次多项式的核心特性

搞定了推导,咱们来看看它的特性。我总结了几点,都是实际项目中必须关注的:

  • 位移连续:s(t) 本身是三次函数,自然连续,没有跳变。
  • 速度连续:v(t) 是二次函数,也是连续的。这意味着运动过程中不会出现速度突变,避免了冲击。
  • 加速度线性变化:加速度 a(t) = 2·a₂ + 6·a₃·t,是一条直线。这是三次多项式最显著的特征——加速度不会突变,而是线性变化。
  • 加加速度(Jerk)恒定:加加速度是加速度的导数,对于三次多项式,Jerk = 6·a₃,是一个常数。这意味着加速度的变化率是恒定的。

关键点:三次多项式能保证位移、速度、加速度三阶连续。加加速度虽然恒定但不为零,这是它与更高次多项式的主要区别。

我在项目中遇到过这样一个情况:一个搬运机构,要求起点和终点速度都为零,但中间需要快速通过。用三次多项式规划,加速度从零开始线性增加到某个值,再线性减到零。整个过程非常平滑,没有冲击感。但如果用梯形速度曲线,加速度在拐点处突变,机构就会“咯噔”一下。

3.3 三次多项式的适用场景

不是所有场合都适合用三次多项式。我根据自己的经验,整理了一个适用性表格:

场景类型 推荐程度 原因
低速到中速的点到点运动 ★★★★★ 加速度线性变化,冲击小,计算简单
启停频繁的短行程运动 ★★★★☆ 曲线生成快,适合实时计算
对加速度变化率有严格要求的场合 ★★★☆☆ 加加速度恒定,但无法单独控制其大小
高速高精度运动(如芯片封装) ★★☆☆☆ 加加速度突变会引起残余振动,需更高次曲线
需要精确控制加速度峰值的场合 ★★☆☆☆ 三次多项式无法独立调节加速度峰值

说白了,三次多项式最适合那些“不求极致,但求稳定”的场景。比如自动化产线上的搬运、分拣、简单的同步跟随。我早期做的一个食品包装项目,每分钟60次的拾放动作,用的就是三次多项式,跑了三年没出过问题。

我的经验:如果你不确定该用哪种曲线,先从三次多项式开始试。它计算量小,调试方便,能快速验证运动逻辑。等发现性能瓶颈了,再考虑升级到五次或更高次曲线。

3.4 三次多项式的局限性

当然,三次多项式不是万能的。它的局限性也很明显:

  • 加速度峰值不可控:加速度的峰值由边界条件决定,无法独立调节。如果起点和终点速度差太大,加速度峰值可能会超出电机或机构的承受范围。
  • 加加速度恒定但不可调:Jerk 是常数,但你不能单独设置它的大小。在某些对振动敏感的场合,这可能会成为问题。
  • 对称性限制:三次多项式生成的加速度曲线是线性的,这意味着加速和减速阶段是对称的(如果起点和终点速度相同)。如果你需要不对称的加减速特性,三次多项式做不到。

避坑指南:我曾经在一个高速贴标机上用了三次多项式,结果在高速段(每分钟300次以上)出现了明显的残余振动。后来分析发现,是加加速度的恒定值在高速时激发了机构的固有频率。所以,如果你的设备运行速度很高,或者对振动特别敏感,建议直接上五次多项式或S型曲线。

3.5 三次多项式的知识体系

为了让你更直观地理解三次多项式的整体脉络,我画了一张结构图:

三次多项式曲线知识体系 三次多项式曲线 数学推导 核心特性 适用场景 一般形式 s(t)=a₀+a₁t+a₂t²+a₃t³ 四个边界条件确定系数 矩阵形式求解 位移、速度、加速度连续 加速度线性变化 加加速度(Jerk)恒定 低速到中速点到点运动 启停频繁的短行程 对振动不敏感的场合 三次多项式是凸轮曲线的基础 掌握它才能理解更高次曲线

从这张图你可以看到,三次多项式曲线虽然结构简单,但它串联了数学推导、特性分析和工程应用三个维度。我个人觉得,理解它最好的方式就是动手算一遍——拿一组实际的边界条件,手算系数,然后画位移、速度、加速度曲线。你会发现,理论上的“线性加速度”在图形上看起来特别直观。