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 梯形曲线的知识体系

下面这张图是我自己整理的梯形曲线知识结构,方便你快速把握全貌:

梯形速度曲线知识体系 梯形速度曲线(T-Curve)知识体系 梯形速度曲线 数学模型 参数计算 优缺点分析 三段速度公式 位移积分公式 加速/减速时间 匀速段判断 加速度突变 机械冲击 适用场景:低速搬运 / 大行程 / 快速原型验证 核心矛盾:梯形曲线用加速度突变换来了实现简单 在高速高精场景下,这个矛盾会直接暴露

3.6 一个实际案例

讲个真实经历。去年我帮一家锂电设备厂调试极片裁切机。切刀需要往复运动,行程 200mm,要求节拍 120 次/分钟。一开始用的梯形曲线,速度 1.2m/s,加速度 15m/s²。

结果呢?切刀在换向时振动明显,裁切边缘有毛刺。我用示波器抓了速度曲线,发现梯形拐点处的加速度突变正好激发了机架的 80Hz 谐振频率。

后来我把加速度降到 10m/s²,稍微牺牲了一点节拍,毛刺问题解决了。但如果你遇到类似情况,别急着降速——试试在梯形曲线的拐点处加一个小的圆弧过渡,也就是后面会讲的「修正梯形曲线」,效果往往更好。

嗯,梯形曲线就先聊到这儿。它就像工具箱里的螺丝刀——不是万能的,但少了它还真不行。理解透它的数学模型和局限性,后面学 S-Curve 和其他高阶曲线时,你就能明白为什么需要那些「花里胡哨」的改进。