3. 运动学基础:正运动学与逆运动学的基本概念,DH参数模型简介
大家好,我是老张。今天咱们聊聊机器人运动学里最核心的两个概念——正运动学和逆运动学。说白了,就是搞清楚「我的关节怎么动,末端会到哪」以及「我想让末端到哪,关节该怎么动」这两个问题。
我记得刚入行那会儿,带我的师傅扔给我一本厚厚的机器人学教材,第一句话就是:「先把正逆解搞明白,不然你连标定都无从下手。」当时我还不太理解,后来踩了不少坑才明白——运动学是标定的数学基础,不懂这个,你连误差从哪来的都说不清楚。
3.1 正运动学:从关节到末端
正运动学,英文叫 Forward Kinematics。它的任务很简单:给定每个关节的角度(或位移),计算机器人末端执行器的位置和姿态。
你想想看,一个六轴机器人,六个关节各转一个角度,末端到底在哪?正运动学就是回答这个问题的数学工具。
核心公式(简化表达)
末端位姿 = f(关节角度₁, 关节角度₂, ..., 关节角度ₙ)
其中 f 是由一系列齐次变换矩阵连乘得到的函数。
我在项目中遇到过一件事:有一次调试一台协作机器人,示教器上显示末端位置是 (500, 300, 200),但我用尺子一量,实际差了将近 5 毫米。后来发现,是正运动学模型里的连杆参数和实际机械尺寸对不上。这就是标定要解决的问题。
3.2 逆运动学:从末端到关节
逆运动学(Inverse Kinematics)正好反过来:已知末端想要到达的位置和姿态,反算出每个关节应该转多少度。
嗯,这里要注意。逆运动学比正运动学复杂得多。为什么?因为正运动学通常只有一个解,而逆运动学可能有多个解,甚至无解。
举个例子:你让机器人去抓桌子上的一个杯子。末端位置固定了,但机器人的「肘部」可以朝上,也可以朝下——这就是两个不同的关节角度组合,都能让末端到达同一个点。
我的个人习惯:在做标定之前,我会先确认逆运动学求解器是否稳定。如果逆解跳变,标定数据会非常难看。我曾经因为逆解不稳定,浪费了整整一周的数据采集时间。
3.3 DH参数模型简介
讲运动学,绕不开 DH 参数。DH 是 Denavit 和 Hartenberg 两位老先生的姓氏缩写。他们提出了一种标准化的方法,用四个参数来描述相邻两个关节坐标系之间的变换关系。
这四个参数分别是:
| 参数符号 | 名称 | 含义 |
|---|---|---|
| a | 连杆长度 | 相邻两关节轴线之间的公垂线距离 |
| α | 连杆扭转角 | 相邻两关节轴线之间的夹角 |
| d | 连杆偏距 | 沿关节轴方向,相邻两连杆之间的距离 |
| θ | 关节角 | 绕关节轴旋转的角度(对于旋转关节) |
说白了,你只要把每个关节的这四个参数定下来,就能用一套统一的矩阵乘法,把整个机器人的运动学模型搭起来。
避坑指南:我曾经在标定一个六轴机器人时,发现 DH 参数表里 a 和 d 的符号搞反了。结果正运动学算出来的末端位置,和实际差了十几毫米。后来花了三天才排查出来。所以,拿到机器人的 DH 参数表,第一件事就是验证——让机器人走几个已知点位,用尺子量一下,确认参数没错。
3.4 知识体系结构图
下面这张图,是我自己整理的运动学知识结构。你可以把它当作本章的「地图」:
3.5 一个简单的正运动学计算示例
光讲理论太枯燥,咱们来点实际的。假设一个两连杆机器人,两个关节都是旋转关节。DH 参数如下:
| 关节 i | a (mm) | α (°) | d (mm) | θ (°) |
|---|---|---|---|---|
| 1 | 100 | 0 | 0 | θ₁ |
| 2 | 80 | 0 | 0 | θ₂ |
当 θ₁ = 30°,θ₂ = 45° 时,末端位置怎么算?
嗯,这里我直接给出结果:
# 简化计算(单位:mm)
x = a₁ * cos(θ₁) + a₂ * cos(θ₁ + θ₂)
= 100 * cos(30°) + 80 * cos(75°)
= 100 * 0.866 + 80 * 0.259
= 86.6 + 20.7
= 107.3 mm
y = a₁ * sin(θ₁) + a₂ * sin(θ₁ + θ₂)
= 100 * sin(30°) + 80 * sin(75°)
= 100 * 0.5 + 80 * 0.966
= 50 + 77.3
= 127.3 mm
你看,正运动学就是这么直接。你给角度,我算坐标。但反过来,如果告诉你末端在 (107.3, 127.3),让你反推 θ₁ 和 θ₂,那就没那么简单了——这就是逆运动学要干的事。
一个小技巧:我习惯在标定前,先用正运动学算几个已知点,和实际测量值对比。如果偏差在 1mm 以内,说明 DH 参数基本靠谱。如果偏差很大,别急着标定,先检查参数。
3.6 本章小结
正运动学和逆运动学,是机器人标定的数学根基。DH 参数则是连接机械结构和数学模型的桥梁。你不需要成为运动学专家才能做标定,但至少要理解:
- 正运动学:从关节到末端,唯一解,计算简单
- 逆运动学:从末端到关节,多解,需要选最优解
- DH 参数:四个参数描述一个关节,连乘得到整机模型
下一章,我们会把这些知识用到实际标定中。到时候你会发现,今天打下的基础,全都会用上。