4. 运动学基础(三):逆运动学推导(解析法)、奇异位形分析、工作空间边界计算
好,咱们接着聊Delta机器人的运动学。前两讲我们把正运动学讲透了,说白了就是知道三个电机的角度,算出末端在哪儿。这一讲反过来——已知末端位置,求三个电机的角度。这就是逆运动学。
你想想看,实际干活的时候,我们肯定是告诉机器人“去这儿、去那儿”,而不是手动拧每个电机。所以逆运动学才是控制的核心。我个人习惯,先把逆运动学吃透,再回头看正运动学,会豁然开朗。
4.1 逆运动学推导——解析法
Delta机器人的逆运动学,其实比正运动学简单。为什么?因为正运动学是“多对一”的映射,而逆运动学是“一对多”——给定一个末端位置,理论上有多组解。但Delta的结构决定了,我们通常只取其中一组合理的解。
推导思路是这样的:
- 把Delta机器人拆成三个独立的支链
- 每个支链都是一个平面五杆机构
- 已知末端位置,反推每个主动臂的角度
我直接给结论吧。对于Delta机器人的第i个支链,逆运动学方程可以写成:
// 伪代码:Delta机器人第i个支链的逆运动学
// 输入:末端位置 (x, y, z)
// 输出:主动臂角度 θ_i
function inverseKinematicsSingleChain(x, y, z, i) {
// 1. 将末端位置转换到第i个支链的局部坐标系
// 2. 计算从动臂长度约束方程
// 3. 求解一元二次方程,得到两个解
// 关键公式(简化版):
// A * sin(θ_i) + B * cos(θ_i) + C = 0
// 其中 A, B, C 由末端位置和机构参数决定
// 解为:
// θ_i = atan2(A, B) ± acos(C / sqrt(A² + B²))
// 通常取“肘部向下”的解(即负号)
return θ_i;
}
嗯,这里要注意:每个支链都会得到两个解。三个支链组合起来,理论上最多有8组解。但Delta机器人的实际装配方式,决定了我们只取“所有主动臂都朝内”的那一组。
核心要点:逆运动学解析法的本质,就是把空间几何问题降维成三个平面几何问题。每个支链独立求解,最后组合成完整的关节角度。
4.2 奇异位形分析
奇异位形,说白了就是机器人“卡住”的位置。在这个位置,机器人会失去某个方向的自由度,或者某个关节速度会变得无穷大。
我在项目中遇到过一回,调试一台Delta机器人分拣糖果,末端突然剧烈抖动。我一看,好家伙,正好在奇异位形附近。从那以后,我每次做轨迹规划都会先检查奇异点。
Delta机器人的奇异位形主要有两种:
| 类型 | 描述 | 后果 |
|---|---|---|
| 边界奇异 | 主动臂或从动臂完全伸直或折叠 | 末端无法继续向外运动 |
| 内部奇异 | 三个支链的从动臂共面 | 末端失去一个方向的刚度 |
判断奇异位形的方法,就是看雅可比矩阵的行列式是否为零。对于Delta机器人,雅可比矩阵是3×3的,行列式为零的地方就是奇异点。
避坑指南:我曾经在写轨迹规划时,没考虑奇异点,结果机器人跑到奇异位置附近时,电机速度指令瞬间爆表,差点烧了驱动器。后来我加了一个“奇异点回避”的软约束,才彻底解决这个问题。
4.3 工作空间边界计算
工作空间,就是机器人末端能到达的所有点的集合。Delta机器人的工作空间,形状像个倒扣的碗,中间有个空洞(因为三个支链的约束)。
计算工作空间边界,最直接的方法是蒙特卡洛法:随机生成大量关节角度组合,计算对应的末端位置,然后画出这些点的包络。但这个方法精度不够,边界会有点毛刺。
我更推荐用解析法+数值搜索:
- 固定两个关节角度,改变第三个,找到末端能到达的最远点
- 遍历所有角度组合,得到边界点云
- 用凸包算法或Alpha Shape提取边界
下面是我画的一个Delta机器人工作空间示意图:
从图上可以清楚看到,工作空间不是完整的球体,中间有个空洞。这个空洞的大小和位置,取决于Delta机器人的几何参数——主动臂长度、从动臂长度、基座半径等。
实用技巧:在设计Delta机器人时,我一般会先画出工作空间的截面图。如果发现空洞太大,就调整从动臂和主动臂的长度比。经验值是主动臂:从动臂 ≈ 1:2 到 1:3 之间,工作空间比较理想。
4.4 三者之间的关系
逆运动学、奇异位形、工作空间,这三者是紧密相关的:
- 逆运动学告诉你“怎么去”
- 奇异位形告诉你“哪里不能去”
- 工作空间告诉你“能去哪里”
在实际控制中,我每次下发运动指令前,都会先做三步检查:
- 目标点是否在工作空间内?
- 路径上是否经过奇异点?
- 逆运动学解是否连续(不会跳变)?
这三步都通过了,我才敢让机器人动起来。你想想看,如果目标点在工作空间外面,逆运动学根本解不出来,电机就会乱转。如果路径上有奇异点,机器人就会剧烈抖动。这些都是实际工程中血的教训换来的经验。
好了,这一讲的内容就到这里。逆运动学是Delta机器人控制的基石,奇异位形分析是安全运行的保障,工作空间计算是轨迹规划的前提。把这三块吃透了,Delta机器人的运动控制就算入门了。