2. 机器人运动学基础:DH参数法与关节空间描述
大家好,我是你们的讲师。今天咱们聊聊机器人运动学里最核心的一块——DH参数法。说实话,我刚入行那会儿,看到DH矩阵就头疼,觉得这玩意儿太抽象了。后来在调试一个六轴协作臂时,发现标定不准,追根溯源,就是DH参数没搞对。从那以后,我彻底服了——DH参数是机器人建模的基石,绕不过去。
2.1 为什么要用DH参数?
你想想看,一个机器人手臂,从基座到末端,中间有好多关节和连杆。每个关节转动,末端位置就变了。怎么描述这种变化?
最直接的办法,是在每个关节上建一个坐标系,然后通过矩阵乘法,把末端坐标从最后一个关节一直变换回基座。DH参数法,就是一套标准化规则,告诉你每个坐标系怎么建、变换矩阵怎么写。
核心思想:用四个参数(a, α, d, θ)唯一确定相邻两个关节坐标系之间的变换关系。
我个人习惯,把DH参数理解为「关节与连杆的身份证」。每个关节和它连接的连杆,都有这四个参数来描述。只要参数对了,整个机器人的运动学模型就搭起来了。
2.2 四个参数的含义
咱们一个一个说。这四个参数分别是:
| 参数 | 符号 | 含义 | 单位 |
|---|---|---|---|
| 连杆长度 | ai | 沿Xi轴,从Zi-1到Zi的距离 | mm |
| 连杆扭角 | αi | 绕Xi轴,从Zi-1到Zi的转角 | rad |
| 关节距离 | di | 沿Zi-1轴,从Xi-1到Xi的距离 | mm |
| 关节转角 | θi | 绕Zi-1轴,从Xi-1到Xi的转角 | rad |
嗯,这里要注意:对于旋转关节,θi是变量;对于移动关节,di是变量。其他参数在机器人设计时就固定了。
我的经验:在标定现场,最容易出问题的是αi(扭角)。因为它是绕X轴旋转,很多人搞错正负号。我曾经因为一个扭角符号标反,导致末端位置差了5厘米,查了整整两天才找到原因。
2.3 DH参数法的坐标系建立规则
建坐标系有标准步骤,我总结成四句话:
- 找Z轴:Zi-1轴沿关节i的轴线方向
- 找原点:Zi-1与Zi的公垂线与Zi-1的交点
- 找X轴:沿公垂线方向,从Zi-1指向Zi
- 找Y轴:右手定则,Y = Z × X
说白了,就是先定关节轴线,再找它们之间的最短连线。这个连线方向就是X轴。
避坑指南:当相邻两个Z轴平行时,公垂线不唯一。这时候我建议选择使di = 0的那条公垂线,能简化计算。我曾经在这个问题上纠结过,后来发现标准做法就是「取最方便的」。
2.4 变换矩阵的推导
有了四个参数,相邻坐标系之间的变换矩阵长这样:
T = Rot(z, θ) · Trans(z, d) · Trans(x, a) · Rot(x, α)
展开后:
T = | cosθ -sinθ·cosα sinθ·sinα a·cosθ |
| sinθ cosθ·cosα -cosθ·sinα a·sinθ |
| 0 sinα cosα d |
| 0 0 0 1 |
这个矩阵,我建议你手推一遍。别偷懒,推完你就理解为什么是「先绕Z转,再沿Z移,再沿X移,最后绕X转」这个顺序了。
2.5 关节空间描述
关节空间,说白了就是用所有关节变量的值来描述机器人的位姿。对于一个六轴机器人,关节空间就是一个六维向量:
q = [θ₁, θ₂, θ₃, θ₄, θ₅, θ₆]ᵀ
每个关节角度变化,末端执行器就跟着动。从关节空间到末端位姿的映射,就是正运动学。反过来,从末端位姿求关节角度,叫逆运动学。
你想想看,为什么我们要用关节空间?因为控制电机时,你只能控制每个关节的角度,不能直接控制末端位置。所以关节空间是「底层语言」,笛卡尔空间是「上层语言」。标定的时候,我们通常是在关节空间里调参数,然后看末端精度是否达标。
2.6 知识体系总览
下面这张图,是我用SVG画的本章知识结构。你可以把它当作一个「地图」,学完本章后对照着检查自己是否都掌握了。
2.7 一个简单的例子
咱们拿一个两连杆平面机械臂来举例。假设:
- 连杆1:a₁ = 300mm,α₁ = 0°,d₁ = 0
- 连杆2:a₂ = 200mm,α₂ = 0°,d₂ = 0
- 关节变量:θ₁ = 30°,θ₂ = 45°
那么从基座到连杆2末端的变换矩阵就是两个DH矩阵相乘:
T_02 = T_01 · T_12
其中:
T_01 = | cos30 -sin30 0 300·cos30 |
| sin30 cos30 0 300·sin30 |
| 0 0 1 0 |
| 0 0 0 1 |
T_12 = | cos45 -sin45 0 200·cos45 |
| sin45 cos45 0 200·sin45 |
| 0 0 1 0 |
| 0 0 0 1 |
算出来末端位置在X方向约 436mm,Y方向约 291mm。这个结果,你可以用几何法验证一下——说白了就是三角形余弦定理。
我的建议:刚开始学DH参数,别急着搞六轴。先用两轴、三轴的简单例子手算,把矩阵乘法的物理意义搞明白。我当年就是靠一个两轴模型,把正运动学彻底吃透的。
2.8 本章小结
咱们这一章,核心就三件事:
- DH参数:四个参数(a, α, d, θ)描述相邻关节关系
- 坐标系建立:先Z轴、再原点、再X轴、最后Y轴
- 关节空间:用关节变量向量描述机器人位姿,是底层控制语言
这些内容,是后续标定优化的基础。你想想看,如果DH参数都不准,那标定出来的模型肯定也是错的。所以,把基础打牢,后面才能事半功倍。
可可精品资料库