轨迹规划入门:点到点运动与连续轨迹
大家好,我是老张。今天咱们聊聊轨迹规划。
说实话,刚入行那会儿,我觉得轨迹规划不就是让电机从A点转到B点嘛,有啥难的?后来被现实狠狠教育了一顿——电机是动了,但要么抖得像筛糠,要么停的时候咣当一声,把机械结构都震松了。
嗯,这里要注意:轨迹规划的核心,不是让电机动起来,而是让电机“优雅地”动起来。
点到点运动 vs 连续轨迹
先搞清楚两个基本概念。
点到点运动,说白了就是只关心起点和终点。中间怎么走?不关心。比如工业机器人从抓取位移动到放置位,你只要求它“到了就行”,中间路径无所谓。
连续轨迹就不一样了。它要求每个时刻的位置、速度、加速度都精确可控。比如激光切割,刀头必须沿着特定曲线走,偏差0.1毫米都不行。
我做过一个项目,客户要求用伺服电机驱动一个涂胶头。一开始我用的点到点运动,结果胶水涂得歪歪扭扭。后来换成连续轨迹,每个插补点都算好,效果立竿见影。
核心区别一句话:点到点只保证终点精度,连续轨迹保证全程精度。
梯形速度曲线
梯形速度曲线,也叫T型曲线。为什么叫梯形?你画个速度-时间图就明白了——加速段、匀速段、减速段,连起来像个梯形。
它的数学表达很简单:
// 梯形速度曲线参数
v_max = 目标最大速度
a = 加速度
t_acc = v_max / a // 加速时间
t_dec = v_max / a // 减速时间
t_const = (总位移 - 0.5*a*t_acc^2 - 0.5*a*t_dec^2) / v_max // 匀速时间
梯形曲线最大的优点是计算量小。在早期的MCU上,算这个几乎不占CPU。但缺点也很明显——加速度在切换点处突变,导致冲击力。
我曾经调试一台高速贴片机,用梯形曲线时,每次加减速切换,机器都会“咯噔”一下。后来发现是加速度突变引起的机械共振。嗯,这就是梯形曲线的硬伤。
避坑指南:梯形曲线不适合对冲击敏感的场景,比如精密装配、医疗设备。我曾经在晶圆搬运项目上吃过这个亏,后来老老实实换了S型曲线。
S形速度曲线
S形曲线,也叫S型曲线。它比梯形曲线多了一个“加加速度”的概念。说白了,就是让加速度也平滑变化,而不是突变。
它的速度-时间图看起来像字母S,所以叫S形曲线。数学上,它通常用七段式描述:
// S形曲线七段式
段1: 加加速度段 (jerk > 0, 加速度从0增加到a_max)
段2: 匀加速段 (jerk = 0, 加速度保持a_max)
段3: 减加速度段 (jerk < 0, 加速度从a_max降到0)
段4: 匀速段 (加速度=0)
段5: 加减速度段 (jerk < 0, 加速度从0降到-a_max)
段6: 匀减速段 (jerk = 0, 加速度保持-a_max)
段7: 减减速度段 (jerk > 0, 加速度从-a_max升到0)
你想想看,七段式虽然复杂,但换来的是极其平滑的运动。没有冲击,没有抖动,机械寿命也长。
我个人习惯在以下场景必用S形曲线:
- 精密定位(比如光刻机、晶圆检测)
- 高速高加速度(比如贴片机、点胶机)
- 负载变化大的场合(比如机器人抓取不同重量的工件)
小技巧:如果计算资源有限,可以用“简化版S形曲线”——只保留加加速和减加速段,去掉匀加速段。这样计算量小一半,效果也还不错。
T型 vs S型曲线对比
咱们直接上表格,一目了然:
| 对比项 | T型曲线 | S型曲线 |
|---|---|---|
| 加速度变化 | 突变 | 连续变化 |
| 冲击力 | 大 | 小 |
| 计算量 | 小 | 大 |
| 运动时间 | 短 | 略长(约5-10%) |
| 适用场景 | 简单搬运、低速定位 | 精密控制、高速高加速度 |
为什么会这样?说白了,S形曲线用“多花一点时间”换来了“平滑的运动”。在大多数工业场景中,这点时间成本完全可以接受。
我记得有一次调试一个高速分拣机器人,客户要求节拍时间不能超过0.5秒。用T型曲线勉强达标,但机器人抖得厉害。换成S形曲线后,时间多了0.03秒,但抖动完全消失。客户看了半天,说了句:“这才像样。”
知识体系总览
下面这张图,帮你理清本章的核心逻辑:
选型建议
说了这么多,到底怎么选?我个人的经验是:
- 先看机械结构:刚性差、间隙大的,必须用S型曲线。否则冲击会放大机械误差。
- 再看控制周期:如果控制周期在1ms以上,S型曲线的计算量完全扛得住。如果只有100μs,那得掂量掂量。
- 最后看成本:S型曲线对伺服驱动器的要求更高。如果用的是普通步进电机,T型曲线就够用了。
一句话总结:梯形曲线是“能用”,S形曲线是“好用”。在条件允许的情况下,我建议优先上S形曲线。省下来的调试时间,比那点计算成本值钱多了。
好了,这一章就到这里。下一章咱们深入讲讲S形曲线的具体实现,包括七段式的参数计算和代码实现。到时候我会分享一个我实际项目中用过的代码模板,保证拿来就能用。
公众号:蓝海资料掘金营,微信deep3321