第四节:速度规划与控制
速度规划,说白了就是让电机按照我们想要的方式跑起来。不是简单的「快」或「慢」,而是怎么加速、怎么减速、拐弯时会不会抖。我做了这么多年运动控制,见过太多因为速度没规划好导致的问题——要么加工表面有振纹,要么电机过载报警,甚至还有把机械结构震散架的。
这一节,我们聊聊四种最核心的速度控制手段:梯形曲线、S形曲线、加加速度控制,还有速度前瞻。嗯,一个一个来。
4.1 梯形速度曲线
梯形曲线是最基础的速度规划方式。名字很形象,速度曲线画出来像个梯形——匀加速、匀速、匀减速三段。
先看公式:
加速段:v(t) = v0 + a * t (0 ≤ t ≤ t1)
匀速段:v(t) = v_max (t1 ≤ t ≤ t2)
减速段:v(t) = v_max - a * (t - t2) (t2 ≤ t ≤ t3)
其中 a 是加速度,v0 是起始速度,v_max 是目标速度。
我在项目中遇到过一件事。有次调试一台点胶机,用梯形曲线跑矩形轨迹。结果每次到拐角处,胶水都会堆积——因为减速太猛,胶量没跟上速度变化。后来我加了段过渡圆弧,才把问题解决。
梯形曲线的优点是简单、计算量小、容易实现。缺点也很明显——加速度不连续,导致柔性冲击。所以它适合对启停平稳性要求不高的场合,比如传送带、简单的点位运动。
4.2 S形速度曲线
S形曲线,就是为了解决梯形曲线的「硬伤」而生的。它把加速度也做了平滑处理,让速度变化更柔和。
S形曲线分七段:加加速、匀加速、减加速、匀速、加减速、匀减速、减减速。名字听着绕,其实逻辑很清楚——就是让加速度从0开始,慢慢增加到最大值,再慢慢降回0。
核心公式:
加加速度段:j(t) = J (0 ≤ t ≤ t1)
匀加速段: j(t) = 0 (t1 ≤ t ≤ t2)
减加速段: j(t) = -J (t2 ≤ t ≤ t3)
匀速段: a(t) = 0, v(t) = v_max (t3 ≤ t ≤ t4)
...
其中 J 是加加速度(Jerk),也就是加速度的变化率。
你想想看,为什么叫S形?因为速度曲线从起点到终点,整体形状像个拉长的「S」。它没有梯形那种尖锐的拐角,所有过渡都是圆滑的。
关键点:S形曲线虽然计算复杂一些,但它带来的好处是实实在在的——
- 启停无冲击,机械寿命更长
- 加工表面质量更高,没有振纹
- 适合高精度、高速度的场合
我个人习惯,凡是做精密加工的设备,比如雕铣机、激光切割机,一律用S形曲线。梯形曲线?只用在粗定位或者快速移动的场合。
4.3 加加速度(Jerk)控制
加加速度,英文叫Jerk,是加速度对时间的导数。单位是 m/s³。说白了,就是「加速度的变化有多快」。
为什么要控制Jerk?
我举个例子。你坐过那种急加速的出租车吗?司机一脚油门下去,你整个人被按在座椅上——这就是加速度大。但如果司机是慢慢踩油门,你几乎感觉不到推背感——这就是Jerk小。
在运动控制里,Jerk直接决定了设备的「体感」。Jerk太大,机械结构会感受到冲击,产生振动甚至共振。Jerk太小,加速过程太长,影响生产效率。
实际工程中,Jerk的设定有个经验范围:
| 设备类型 | 推荐Jerk值 (m/s³) | 说明 |
|---|---|---|
| 重型龙门铣 | 50 - 200 | 大惯量,Jerk要小 |
| 中型加工中心 | 200 - 500 | 兼顾效率与平稳 |
| 高速贴片机 | 500 - 2000 | 轻载,追求速度 |
| 精密磨床 | 20 - 100 | 表面质量优先 |
一个小技巧:如果你不确定Jerk设多少合适,可以先设一个保守值(比如100),然后逐步增大。观察设备运行时的振动情况,找到那个「刚好不抖」的临界点。我曾经用这个方法,帮客户把一台五轴机床的加工效率提升了30%。
4.4 速度前瞻
速度前瞻,英文叫Look-ahead。它不是一种曲线类型,而是一种策略——提前看未来几个路径点,决定当前该不该减速。
为什么要做前瞻?
你想想看,如果控制器只盯着当前段路径,遇到一个急转弯,它只能临时急刹车。结果就是速度波动大、加工质量差。而有了前瞻,控制器提前知道前面有弯,提前开始减速,过弯时速度平稳。
前瞻的核心逻辑:
1. 读取未来N个路径点(N通常为10-50)
2. 计算每个拐角处的允许最大速度
3. 从后往前反推,确定每个段的实际速度
4. 生成平滑的速度曲线
这里有个关键参数——前瞻窗口长度。窗口越长,规划越平滑,但计算量也越大。窗口太短,效果不明显。
我曾经调试一台高速雕刻机,默认前瞻窗口是20个点。加工小圆弧时总是有停顿感。我把窗口调到50个点,问题解决了。但代价是CPU占用率从30%升到了70%。嗯,这就是取舍。
知识体系总览
下面这张图,把四种速度控制手段的关系画清楚了。你可以看到,从梯形到S形,再到Jerk控制,是一步步「精细化」的过程。而速度前瞻,则是从「只看眼前」到「放眼未来」的思维转变。
最后说一句,速度规划没有银弹。梯形简单但粗暴,S形平滑但计算量大,Jerk控制精细但参数难调,前瞻效果好但吃算力。实际项目中,我通常是组合使用——粗加工用梯形,精加工用S形加Jerk控制,再配上适当的前瞻窗口。嗯,这就是工程思维,没有最好,只有最合适。