第三章 轨迹规划核心概念:关节空间 vs 笛卡尔空间、轨迹插值原理、速度与加速度规划、S型曲线与梯形曲线
各位工程师朋友,今天我们来聊聊轨迹规划里最核心的几个概念。说实话,我刚入行那会儿,觉得轨迹规划不就是让机械臂从A点走到B点嘛,能有多复杂?后来在产线上被狠狠教育了几次,才明白这里面的门道有多深。
嗯,咱们直接进入正题。
3.1 关节空间 vs 笛卡尔空间
这两个概念,说白了就是「怎么描述机械臂的运动」。
关节空间,就是直接用每个关节的角度来描述位置。比如六轴机械臂,就是 (θ₁, θ₂, θ₃, θ₄, θ₅, θ₆)。你想想看,这就像你胳膊的每个关节转了多少度。好处是啥?计算简单,没有奇异性问题。我做过一个项目,晶圆传输时末端执行器需要快速伸缩,用关节空间规划,计算量小,响应快。
笛卡尔空间,就是用三维坐标 (x, y, z) 加上姿态 (Rx, Ry, Rz) 来描述末端位置。这更直观,因为操作员关心的是「晶圆放在哪个位置」,而不是「关节3转了30度还是40度」。
我个人的习惯是:点到点运动用关节空间,直线或圆弧路径用笛卡尔空间。为什么?因为笛卡尔空间能保证末端走直线,但需要做逆运动学求解,计算量大,还容易碰到奇异点。
核心区别总结:
- 关节空间:无奇异点,计算快,但末端路径不可控
- 笛卡尔空间:路径可控,但计算复杂,有奇异风险
我的经验:在晶圆传输中,如果只是简单的取放动作,用关节空间就够了。但如果要绕过传感器或对准晶圆槽,必须用笛卡尔空间。我曾经在一条产线上,就因为用了关节空间,末端走了一条弧线,差点撞到旁边的传感器——从那以后,关键路径我都用笛卡尔空间验证一遍。
3.2 轨迹插值原理
轨迹插值,说白了就是「怎么让机械臂平滑地走过中间点」。
你想想看,我们只给了起点和终点,但机械臂不能「瞬移」过去,中间需要生成一系列的点。这就是插值要做的事。
常见的插值方法有:
- 线性插值:最简单,但速度不连续,启停有冲击
- 多项式插值:三次、五次多项式,能保证速度和加速度连续
- 样条插值:多段多项式拼接,适合复杂路径
我记得有一次调试,用线性插值做关节空间规划,结果机械臂启动时「咯噔」一下,晶圆差点飞出去。后来换成三次多项式插值,启停就平滑多了。
注意:插值阶数不是越高越好。高阶多项式容易产生「龙格现象」,就是中间点之间出现大幅振荡。我一般用三次或五次多项式,够用且稳定。
3.3 速度与加速度规划
速度和加速度规划,决定了机械臂「跑得多快」以及「加减速多猛」。
这里有个关键点:加速度直接影响晶圆的安全性。晶圆很脆,加速度太大,晶圆会在末端执行器上滑动甚至飞出去。我见过一个案例,加速度设到 2g,结果晶圆直接飞了,碎了一地。
速度规划的核心是:
- 最大速度:受电机和减速器限制
- 最大加速度:受晶圆摩擦力和结构刚度限制
- 加加速度(Jerk):受机械冲击限制
我个人建议,晶圆传输的加速度一般控制在 0.5g 以内,加加速度控制在 1000 rad/s³ 以内。当然,具体数值要看你的机械臂型号和晶圆尺寸。
3.4 S型曲线与梯形曲线
这两种曲线,是速度规划中最常用的两种模式。
梯形曲线:速度先匀加速,再匀速,最后匀减速。形状像个梯形。优点是简单,计算量小。缺点呢?加速度突变,启停时有冲击。
S型曲线:速度变化更平滑,加速度连续变化,没有突变。形状像个S。优点是运动平滑,冲击小。缺点是计算复杂,总时间稍长。
我画了一张图,帮你理解这两种曲线的区别:
从图上能看出来,梯形曲线在拐角处加速度突变,会产生冲击。S型曲线则平滑过渡,适合精密操作。
我的建议:
- 晶圆传输这种精密操作,优先用S型曲线
- 如果对时间要求极严,可以适当用梯形曲线,但加速度要设低一些
- 我一般用S型曲线,加加速度设到 500-800 rad/s³,既平滑又不太慢
避坑指南:我曾经在一个项目中,为了赶节拍,把S型曲线的加加速度设得很大,结果机械臂末端抖动明显,晶圆定位精度差了 0.5mm。后来把加加速度降下来,虽然慢了 0.2 秒,但精度完全达标。记住:在晶圆传输中,精度永远比速度重要。
3.5 实际应用中的选择策略
说了这么多,到底怎么选?我总结了一个表格,方便你对照:
| 应用场景 | 空间选择 | 曲线选择 | 加速度建议 |
|---|---|---|---|
| 晶圆取放(简单点对点) | 关节空间 | S型曲线 | 0.3-0.5g |
| 晶圆对准(精密定位) | 笛卡尔空间 | S型曲线 | 0.2-0.3g |
| 高速传输(节拍优先) | 关节空间 | 梯形曲线 | 0.5-0.8g |
| 避障路径(复杂轨迹) | 笛卡尔空间 | S型曲线 | 0.3-0.4g |
嗯,这张表是我多年调试经验的总结。你可以根据实际情况微调,但大方向不会错。
最后说一句:轨迹规划没有「万能公式」,每个项目都要根据机械臂型号、晶圆尺寸、节拍要求来调整。我建议你从保守参数开始,逐步优化,别一上来就追求极限速度。