4. 常用曲线类型(下):多项式曲线与三角函数曲线
上一章我们聊了梯形、S形这些基础曲线。说实话,做电子凸轮调优越往后走,你会发现基础曲线越来越不够用。为什么?因为实际工况往往有特殊要求——比如启停必须绝对平滑,或者某个区间需要精准的速度控制。
这时候就该多项式曲线和三角函数曲线登场了。这两种曲线在工业现场用得非常多,但很多人对它们的理解停留在「高阶=更平滑」这个层面。今天我就把它们的底细掰开来讲。
4.1 多项式曲线:阶次决定命运
多项式曲线说白了就是用多项式函数来拟合运动轨迹。它的核心参数就一个——阶次。阶次越高,曲线越平滑,但计算量也越大。
4.1.1 3次多项式曲线
3次多项式,也叫三次样条。它的数学形式是:
s(t) = a₀ + a₁·t + a₂·t² + a₃·t³
这个曲线能保证位置和速度连续,但加速度是线性变化的。我刚开始做凸轮时,觉得3次多项式已经够用了,直到有一次在高速贴片机上试——嗯,结果机器抖得跟筛子似的。
核心特性:
- 位置连续 ✓
- 速度连续 ✓
- 加速度连续 ✗(只有线性变化)
- 加加速度(Jerk)不连续 ✗
适用场景:
- 低速、低精度要求的场合
- 对冲击不敏感的物料搬运
- 作为过渡曲线与其他曲线拼接
避坑指南:我曾经在包装机的切刀机构上直接用3次多项式做启停曲线,结果切刀在高速下产生明显振动,切出来的包装袋边缘全是毛边。后来换成5次多项式才解决。记住——3次多项式只适合低速场景,别贪便宜。
4.1.2 5次多项式曲线
5次多项式是工业现场最常用的曲线之一。它的形式是:
s(t) = a₀ + a₁·t + a₂·t² + a₃·t³ + a₄·t⁴ + a₅·t⁵
多了两个系数,换来的是加速度连续。这意味着什么?意味着运动过程中的力不会突变,机械冲击大幅降低。
| 对比项 | 3次多项式 | 5次多项式 |
|---|---|---|
| 位置连续 | ✓ | ✓ |
| 速度连续 | ✓ | ✓ |
| 加速度连续 | ✗ | ✓ |
| 加加速度连续 | ✗ | ✗ |
| 计算复杂度 | 低 | 中 |
我个人习惯在大多数通用场景下首选5次多项式。它比3次多项式多不了多少计算量,但平滑度提升了一个档次。
实用技巧:如果你用5次多项式做点对点运动,边界条件通常这样设置:
位置边界:s(0)=0, s(T)=S
速度边界:v(0)=0, v(T)=0
加速度边界:a(0)=0, a(T)=0
六个边界条件正好解六个系数。这样出来的曲线启停都非常柔和。
4.1.3 7次多项式曲线
7次多项式是多项式家族里的「高阶选手」。它的形式我就不写了,你想想看——多了两个系数,意味着可以多控制两个边界条件。
7次多项式最大的优势是:加加速度(Jerk)连续。这意味着整个运动过程中,力的变化率也是平滑的。对于精密光学设备、医疗设备这类对微振动极其敏感的场合,7次多项式几乎是标配。
7次多项式的边界条件(典型设置):
位置:s(0)=0, s(T)=S
速度:v(0)=0, v(T)=0
加速度:a(0)=0, a(T)=0
加加速度:j(0)=0, j(T)=0
八个边界条件,八个系数,完美闭合。
适用场景:
- 高精度定位设备(如晶圆搬运)
- 对振动敏感的检测设备
- 需要极低残余振动的场合
注意:7次多项式不是万能的。它的计算量比5次多项式大不少,在低端控制器上可能跑不动。另外,阶次越高,曲线在中间段的「过冲」风险也越大。我曾经在调试一台高速点胶机时,7次多项式在中间段产生了约3%的位置过冲,差点把工件撞坏。后来加了限幅才解决。
4.2 三角函数曲线
三角函数曲线在电子凸轮里用得相对少一些,但在某些特定场景下,它的表现比多项式更好。
4.2.1 正弦曲线
正弦曲线的运动规律是:
s(t) = S/2 · [1 - cos(π·t/T)]
这个曲线的特点是:启停加速度为零,中间段加速度最大。说白了就是「两头轻、中间重」。我最早接触正弦曲线是在老式印刷机的飞达机构上,那个年代的控制器算力有限,正弦曲线计算简单,效果也不错。
优点:
- 计算量极小(只需要一个cos函数)
- 启停无冲击
- 速度曲线平滑
缺点:
- 加速度峰值较高(比5次多项式高约10%)
- 中间段加速度变化剧烈
4.2.2 余弦曲线(修正正弦)
修正正弦曲线是在正弦曲线基础上改进的。它把正弦曲线的加速段和减速段做了调整,让加速度变化更均匀。数学形式稍微复杂一些:
s(t) = S · [t/T - sin(2π·t/T)/(2π)]
这个曲线在工业机器人上用得比较多。为什么?因为它能兼顾平滑度和加速度峰值。我见过不少机器人厂商在关节运动中使用修正正弦曲线,效果相当不错。
| 曲线类型 | 加速度峰值 | 计算量 | 平滑度 | 典型应用 |
|---|---|---|---|---|
| 正弦曲线 | 较高 | 低 | 中 | 低速搬运、老式设备 |
| 修正正弦 | 中等 | 中 | 较高 | 工业机器人、通用运动 |
| 5次多项式 | 中等 | 中 | 高 | 通用场景、包装机械 |
| 7次多项式 | 较低 | 较高 | 极高 | 精密设备、光学设备 |
4.3 曲线选择框架
说了这么多,到底怎么选?我画了一张图,把选择逻辑理清楚了。
4.4 实战经验总结
做了这么多年运动控制,我总结了几条选型经验,分享给你:
- 别盲目追求高阶。我见过有人不管什么场景都用7次多项式,结果控制器算力不够,运动周期反而变长了。够用就好。
- 三角函数在低速场景有优势。它的计算量小,在老旧控制器上也能跑得很流畅。如果你在维护老设备,优先考虑正弦曲线。
- 5次多项式是「万金油」。如果你不确定选什么,选5次多项式大概率不会错。它在平滑度和计算量之间取得了很好的平衡。
- 注意边界条件。同样的曲线类型,不同的边界条件设置,出来的效果天差地别。我建议你在调试时先跑仿真,看看加速度曲线是否平滑。
一个小技巧:如果你需要更高的平滑度但又担心7次多项式的过冲问题,可以试试「5次多项式+末端修正」的方案。具体做法是:先用5次多项式生成基础曲线,然后在末端叠加一个小的修正函数来消除残余振动。这个方法我在半导体设备上用过,效果接近7次多项式,但计算量只增加了20%。