3、经典曲线模型(一):梯形速度曲线(T-Curve)的原理、数学模型、优缺点分析
梯形速度曲线,圈内人常叫它 T-Curve。说白了,就是让电机先匀加速、再匀速、最后匀减速。速度-时间图像画出来像个等腰梯形,因此得名。
我刚开始做运动控制那会儿,第一个接触的就是它。为什么?因为它简单、直观、好调。你想想看,一个运动过程无非就是「加速-匀速-减速」三段,谁都能理解。但后来在实际项目中踩过几次坑,才发现这玩意儿水也挺深。
3.1 梯形速度曲线的数学模型
先看数学定义。假设我们要让轴从位置 P0 运动到 P1,最大速度为 Vmax,加速度为 Aacc,减速度为 Adec。整个运动分为三个阶段:
- 加速段(0 ≤ t ≤ t1):速度从 0 线性增加到 Vmax
- 匀速段(t1 ≤ t ≤ t2):速度保持 Vmax
- 减速段(t2 ≤ t ≤ t3):速度从 Vmax 线性减到 0
对应的速度公式很简单:
v(t) = A_acc · t (0 ≤ t ≤ t₁)
v(t) = V_max (t₁ ≤ t ≤ t₂)
v(t) = V_max - A_dec · (t - t₂) (t₂ ≤ t ≤ t₃)
位置公式就是速度的积分。我习惯把位移拆成三段算:
加速段位移:S_acc = ½ · V_max · t₁
匀速段位移:S_cruise = V_max · (t₂ - t₁)
减速段位移:S_dec = ½ · V_max · (t₃ - t₂)
总位移 Stotal = Sacc + Scruise + Sdec。
这里有个关键点——加速度和减速度不一定相等。我在做一台高速贴片机时,发现加速段电机出力大,减速段负载惯性大,两段设成一样反而容易过冲。后来我习惯把 Aacc 和 Adec 分开标定,效果好了不少。
3.2 梯形曲线的核心参数计算
实际工程中,我们通常已知总位移 S、最大速度 Vmax、加速度 Aacc 和减速度 Adec。需要反推各段时间。
先算加速和减速所需时间:
t_acc = V_max / A_acc
t_dec = V_max / A_dec
再算加速和减速段的位移:
S_acc = ½ · V_max · t_acc
S_dec = ½ · V_max · t_dec
如果 Sacc + Sdec ≥ S,说明根本跑不到 Vmax。这时候梯形退化成三角形——只有加速和减速,没有匀速段。这种情况我遇到过好几次,尤其是在短行程、高加减速的场景下。
有匀速段时,匀速时间:
t_cruise = (S - S_acc - S_dec) / V_max
总时间:
t_total = t_acc + t_cruise + t_dec
工程经验:梯形曲线总时间的最小值,理论上出现在 Vmax 刚好能跑到的临界点。但实际中我建议留 5%-10% 的余量,避免因负载波动导致速度饱和。
3.3 梯形曲线的优缺点分析
做了这么多年运动控制,我对 T-Curve 的感情很复杂。它好用,但局限性也明显。
优点
- 实现简单:数学模型只有三段线性函数,任何控制器都能跑。我当年用 8 位单片机都能算得过来。
- 参数直观:Vmax、Aacc、Adec 三个参数,每个都有明确的物理意义。现场调试时,操作员一看就懂。
- 计算量小:不需要查表、不需要插值,实时性极高。在高速 IO 扫描周期下,梯形曲线几乎不占 CPU。
- 调试友好:我曾经在一条包装产线上,用梯形曲线半小时就调通了 6 个轴。换成 S-Curve 至少得半天。
缺点
- 加速度突变:这是最要命的。在加速段起点、匀速段起点、减速段起点和终点,加速度瞬间跳变。说白了就是 Jerk(加加速度)无穷大。
- 机械冲击大:加速度突变会产生冲击力。我在做一台精密点胶机时,梯形曲线导致胶头在拐点处抖动,点胶精度直接超差。
- 容易过冲:尤其在高速大惯量负载下,梯形曲线的急停特性会让系统产生明显超调。我记得有次调试一台龙门架,梯形曲线减速时直接冲过了 3mm。
- 不适合高速高精场景:当速度超过 1m/s 或定位精度要求 ±0.01mm 时,梯形曲线基本就不够用了。
注意:梯形曲线在加速段终点和减速段起点的加速度突变,会激发机械系统的谐振频率。如果你发现设备在某个速度区间振动特别大,先检查是不是梯形曲线在作怪。
3.4 梯形曲线的适用场景
虽然梯形曲线有缺点,但它绝不是过时的东西。我个人的选型原则是这样的:
| 场景 | 推荐程度 | 说明 |
|---|---|---|
| 低速搬运(< 0.5 m/s) | ★★★★★ | 冲击小,梯形完全够用 |
| 大行程、长匀速段 | ★★★★☆ | 匀速段占比大,加减速影响小 |
| 高精度定位(±0.01mm) | ★★☆☆☆ | 建议用 S-Curve 或更高阶曲线 |
| 高速轻载(> 2 m/s) | ★★☆☆☆ | 加速度突变容易引发振动 |
| 重载大惯量 | ★☆☆☆☆ | 过冲风险高,慎用 |
我的建议:如果你刚接触运动控制,或者项目对精度要求不高,先用梯形曲线跑通流程。等系统稳定了,再考虑换成更平滑的曲线。别一上来就搞 S-Curve,容易把自己绕进去。
3.5 梯形曲线的知识体系
下面这张图是我自己整理的梯形曲线知识结构,方便你快速把握全貌:
3.6 一个实际案例
讲个真实经历。去年我帮一家锂电设备厂调试极片裁切机。切刀需要往复运动,行程 200mm,要求节拍 120 次/分钟。一开始用的梯形曲线,速度 1.2m/s,加速度 15m/s²。
结果呢?切刀在换向时振动明显,裁切边缘有毛刺。我用示波器抓了速度曲线,发现梯形拐点处的加速度突变正好激发了机架的 80Hz 谐振频率。
后来我把加速度降到 10m/s²,稍微牺牲了一点节拍,毛刺问题解决了。但如果你遇到类似情况,别急着降速——试试在梯形曲线的拐点处加一个小的圆弧过渡,也就是后面会讲的「修正梯形曲线」,效果往往更好。
嗯,梯形曲线就先聊到这儿。它就像工具箱里的螺丝刀——不是万能的,但少了它还真不行。理解透它的数学模型和局限性,后面学 S-Curve 和其他高阶曲线时,你就能明白为什么需要那些「花里胡哨」的改进。