2. 梯形速度曲线:原理、数学模型、加加速度无穷大的问题。适用场景与局限性。
大家好,我是你们的老朋友。今天我们来聊聊轨迹规划里最基础、也最经典的一个家伙——梯形速度曲线。
说实话,我刚入行那会儿,第一个上手的运动控制项目用的就是它。那时候觉得这东西太简单了,不就是加速、匀速、减速三段嘛。后来踩了坑才发现,越是简单的东西,背后的门道越深。
2.1 梯形速度曲线的原理
梯形速度曲线,顾名思义,它的速度-时间图像是一个梯形。你想想看,一个运动过程,无非就是三个阶段:
- 加速阶段:从0速度开始,以恒定加速度a加速到目标速度v_max
- 匀速阶段:以v_max匀速运动一段时间
- 减速阶段:以恒定加速度-a减速到0
说白了,就是「先猛踩油门,然后稳住速度,最后踩刹车」。这个逻辑非常符合人类的直觉,所以它被广泛应用在工业机器人、数控机床、AGV小车等场景中。
我习惯把梯形曲线叫做「三阶段模型」。为什么?因为它的加速度曲线只有三个值:a、0、-a。简单粗暴,但有效。
2.2 数学模型
我们来把刚才说的东西写成数学公式。假设总位移为S,最大速度为v_max,加速度为a,减速度也为a(对称情况)。
首先,加速和减速阶段需要的位移:
S_acc = v_max² / (2 * a)
S_dec = v_max² / (2 * a)
如果总位移S大于S_acc + S_dec,说明存在匀速段。匀速段的时间:
T_const = (S - S_acc - S_dec) / v_max
如果总位移不够大,那就没有匀速段,直接加速到某个峰值速度然后减速。这种情况我们叫「三角形速度曲线」,是梯形曲线的一个特例。
完整的运动时间:
T_total = v_max / a + T_const + v_max / a
嗯,这里要注意,上面的公式假设了加速和减速的加速度大小相等。如果不等,那就得分开算。我在项目中遇到过不对称的情况,比如负载变化导致加速能力下降,那时候就得重新推导公式。
2.3 加加速度无穷大的问题
好,重点来了。梯形曲线最大的问题是什么?
加加速度(Jerk)无穷大。
为什么会这样?你想想看,加速度从0瞬间跳变到a,又从a瞬间跳变到0。这个跳变在数学上意味着加速度的导数——也就是加加速度——是无穷大。
我给大家画个图就明白了:
看到没?加速度曲线上的那些「直角拐弯」,就是问题所在。在实际系统中,这种突变会导致:
- 机械冲击:电机和传动机构会受到冲击力,长期运行会加速磨损
- 振动和噪声:突然的力变化会激发机械结构的共振
- 跟踪误差:伺服系统来不及响应这种突变,实际轨迹会偏离规划轨迹
我曾经在一个高速贴片机项目里吃过这个亏。当时用的梯形曲线,机器跑起来「哐哐」响,贴装精度死活达不到要求。后来换成S形曲线,问题就解决了。嗯,从那以后,我对加加速度这个问题就特别敏感。
我曾经在调试一个六轴机器人时,发现末端执行器在加减速切换点有肉眼可见的抖动。查了半天,罪魁祸首就是梯形曲线的加加速度无穷大。如果你对运动平滑性有要求,梯形曲线要慎用。
2.4 适用场景
虽然梯形曲线有加加速度的问题,但它并不是一无是处。相反,在很多场景下它依然是首选。
| 场景 | 推荐原因 | 我的经验 |
|---|---|---|
| 低速、轻载的简单运动 | 冲击小,梯形曲线足够 | 比如小型传送带、点胶机 |
| 对实时性要求极高的系统 | 计算量小,一个周期就能算完 | 我做过一个每秒更新1000次轨迹的系统,梯形曲线是唯一选择 |
| 硬件资源受限的嵌入式系统 | 只需要加减乘除,不需要三角函数 | 8位单片机也能跑得动 |
| 点到点运动,中间路径不重要 | 梯形曲线能最快到达目标位置 | 仓库里的堆垛机,只管起点和终点 |
2.5 局限性
说完优点,咱们也得聊聊它的短板。除了加加速度无穷大之外,梯形曲线还有几个明显的局限:
- 平滑性差:速度曲线有尖点,加速度有跳变。对于高精度加工,这会导致表面粗糙度变差。
- 柔性不足:无法处理复杂的约束条件,比如最大加加速度限制、力矩限制等。
- 对长距离运动效率低:如果距离很长,匀速段占比太大,其实可以适当提高速度来缩短时间,但梯形曲线做不到自适应。
- 不适合连续轨迹:在多段轨迹拼接时,梯形曲线在衔接点会产生速度不连续。
核心总结:
梯形速度曲线是轨迹规划的「入门必修课」。它简单、高效、易于实现,但代价是运动平滑性差。我个人习惯把它作为「保底方案」——当系统资源紧张或者对平滑性要求不高时,就用它。但如果你的项目对振动、噪声、精度有要求,那就得考虑更高级的曲线了,比如S形曲线或者多项式曲线。
💡 一个小技巧:
如果你暂时不能换掉梯形曲线,但又想减少冲击,可以在加速度跳变点加一个「软过渡」。比如用一段很短的斜坡来代替直角跳变。虽然这会让加加速度从无穷大变成有限值,但实现起来很简单,效果也不错。我试过,振动能降低30%左右。
好了,关于梯形速度曲线,我们就聊到这里。记住它的数学模型,记住它的加加速度问题,也记住它适用的场景。下一节我们会讲S形速度曲线,那才是真正解决平滑性问题的利器。
公众号:蓝海资料掘金营,微信deep3321