第三章 运动曲线基础理论:梯形曲线、S型曲线、多项式曲线
各位同学,今天我们来聊聊运动曲线的那些事儿。
做电子凸轮,说白了就是让电机按照我们想要的轨迹去跑。但怎么跑得稳、跑得快、跑得准?这就得靠运动曲线来定义了。我做了十几年运动控制,见过太多因为曲线选型不当导致的抖动、过冲甚至机械损坏。嗯,这一章我们就把基础打牢。
3.1 梯形曲线:最简单,也最“暴力”
梯形曲线,顾名思义,速度曲线像个梯形。它分为三段:加速段、匀速段、减速段。
为什么叫梯形?你想想看,速度从0开始线性增加,到目标速度后保持一段,再线性减到0。画出来就是个梯形。
核心公式:
- 加速段:v(t) = a * t,位移 s(t) = 0.5 * a * t²
- 匀速段:v(t) = Vmax,位移 s(t) = Vmax * t
- 减速段:v(t) = Vmax - a * t,位移 s(t) = Vmax * t - 0.5 * a * t²
我在项目中遇到过一个问题:用梯形曲线驱动一个高速贴片机,结果每次加减速时机器都在抖。为什么?因为梯形曲线的加速度在拐点处是突变的——从0瞬间跳到a,再从a瞬间跳到0。这会产生无穷大的加加速度(Jerk),机械结构受不了。
避坑指南:我曾经在包装机械上吃过亏。梯形曲线只适合对启停平稳性要求不高的场合,比如简单的传送带。如果你做的是精密定位,千万别用梯形曲线做末端加减速。
3.2 S型曲线:让运动更“温柔”
S型曲线解决了梯形曲线的痛点。它的加速度不是突变的,而是线性变化的。速度曲线从梯形变成了S形,所以叫S型曲线。
S型曲线分七段:加加速段、匀加速段、减加速段、匀速段、加减速段、匀减速段、减减速段。听着复杂,其实核心就一句话:让加速度的变化率(加加速度)可控。
关键参数:
- 最大加速度 Amax
- 最大加加速度 Jmax
- 目标速度 Vtarget
我个人的习惯是,只要设备对振动有要求,优先选S型曲线。比如数控机床的进给轴、机器人的关节运动,S型曲线几乎是标配。
小技巧:实际项目中,S型曲线的参数调优有个经验公式:Jmax = Amax / (0.1 * T),其中T是加速段时间。这样算出来的曲线,既不会太“肉”,也不会太“冲”。
3.3 多项式曲线:数学家的“万能钥匙”
梯形和S型曲线都有固定的形状。但有些场景,比如凸轮机构的特殊运动规律,需要自定义曲线形状。这时候多项式曲线就派上用场了。
3.3.1 三次多项式曲线
三次多项式:s(t) = a₀ + a₁t + a₂t² + a₃t³
它有4个系数,可以满足4个边界条件。比如:起点位置、终点位置、起点速度、终点速度。说白了,就是让曲线在两端的速度都为零。
我记得有一次做印刷机的飞达凸轮,要求启停位置速度为零,中间速度要平滑。用三次多项式,4个方程解4个未知数,搞定。
3.3.2 五次多项式曲线
五次多项式:s(t) = a₀ + a₁t + a₂t² + a₃t³ + a₄t⁴ + a₅t⁵
6个系数,可以满足6个边界条件。除了位置和速度,还能约束起点和终点的加速度。
为什么用五次?因为三次多项式只能保证速度连续,但加速度在端点处可能突变。五次多项式可以保证加速度也连续。说白了,就是更平滑。
我建议你在做高速凸轮时,至少用五次多项式。三次多项式在高速下容易产生冲击。
3.3.3 七次多项式曲线
七次多项式:s(t) = a₀ + a₁t + a₂t² + a₃t³ + a₄t⁴ + a₅t⁵ + a₆t⁶ + a₇t⁷
8个系数,可以约束位置、速度、加速度、加加速度(Jerk)在起点和终点的值。
七次多项式是“终极武器”。它能保证运动曲线的加加速度连续,机械冲击最小。但代价是计算量大,而且曲线形状不容易直观理解。
注意:我曾经在半导体设备上用过七次多项式,结果发现因为计算周期太长,导致控制周期跟不上。后来改用五次多项式加S型曲线组合,效果反而更好。所以,不是次数越高越好,要结合实际硬件能力。
3.4 三种曲线的对比与选型
| 曲线类型 | 加速度连续性 | 加加速度连续性 | 计算复杂度 | 适用场景 |
|---|---|---|---|---|
| 梯形曲线 | 不连续 | 无穷大 | 极低 | 低速、简单启停 |
| S型曲线 | 连续 | 分段常数 | 中等 | 通用运动控制 |
| 三次多项式 | 不连续 | 不连续 | 低 | 简单轨迹插补 |
| 五次多项式 | 连续 | 不连续 | 中等 | 精密定位、凸轮 |
| 七次多项式 | 连续 | 连续 | 高 | 超精密、低振动 |
选型时我有个原则:够用就好。梯形曲线能解决的,别用S型;S型能解决的,别用五次多项式。因为越复杂的曲线,调试越麻烦,对硬件要求也越高。
3.5 知识体系总览
下面这张图,是我自己总结的运动曲线选型逻辑。你可以把它当作一个决策树来用。
这张图的核心逻辑很简单:先问自己对平稳性的要求有多高。要求低,梯形曲线走起;要求高,再往下分——S型曲线适合通用场景,多项式曲线适合需要精确控制边界条件的场景。
我的经验:如果你刚开始做电子凸轮,我建议先从S型曲线入手。它比梯形曲线平滑,又比多项式曲线容易调参。等你把S型曲线吃透了,再根据实际需求去研究多项式曲线。一口吃不成胖子,运动控制这东西,得慢慢来。
好了,这一章的内容就到这里。梯形曲线、S型曲线、多项式曲线,这三种是电子凸轮最基础的“建筑材料”。后面我们会用这些曲线去搭建复杂的凸轮运动规律。嗯,先把基础打牢,后面才能盖高楼。