首页 › 具身智能 › 02-机器人基础和控制、手眼协调 › 02机器人运动学与 DH 参数

02机器人运动学与 DH 参数

1. 简介​

正运动学 (Forward Kinematics) 解决的问题是:已知所有关节角度,计算机器人末端执行器的位姿。Denavit-Hartenberg (DH) 参数法是建立连杆坐标系的标准方法。​

2. DH 参数详解 (标准型)​

描述相邻两个连杆 ​和 ​之间的关系,仅需 4 个参数:​

​

​
参数​
​
​
符号​
​
​
物理含义​
​
​
测量基准​
​
​
连杆长度​
​
​
​
​
​
​
沿 ​
轴,从 ​
到 ​
的距离​
​
​
连杆本身结构​
​
​
连杆扭角​
​
​
​
​
​
​
绕 ​
轴,从 ​
旋转到 ​
的角度​
​
​
连杆本身结构​
​
​
关节偏距​
​
​
​
​
​
​
沿 ​
轴,从 ​
到 ​
的距离​
​
​
关节变量 (移动副)​
​
​
关节角度​
​
​
​
​
​
​
绕 ​
轴,从 ​
旋转到 ​
的角度​
​
​
关节变量 (旋转副)​
​

​

相邻连杆的变换矩阵 ​公式为:​

​​

3. 架构流程 (Mermaid)​

​

代码块​

Plain Text

graph TD​

Input[输入: 关节角度 q1, q2, ..., qn] --> Step1[建立DH参数表]​

Step1 --> Step2[计算每个连杆的变换矩阵 T_01, T_12...]​

Step2 --> Step3[链式乘法 T_total = T_01 * T_12 * ...]​

Step3 --> Output[输出: 末端位姿 T_0n]​

​

4. Python 代码验证​

以下代码实现了一个通用的 DH 矩阵生成器,并验证了一个简单的 2连杆平面机械臂 (2-Link Planar Arm)。​

​

代码块​

Python

import numpy as np​

​

def dh_matrix(theta, d, a, alpha):​

"""​

根据标准DH参数计算变换矩阵 T_{i-1, i}​

单位: 角度使用弧度, 长度使用米​

"""​

ct, st = np.cos(theta), np.sin(theta)​

ca, sa = np.cos(alpha), np.sin(alpha)​

​

return np.array([​

[ct, -st*ca, st*sa, a*ct],​

[st, ct*ca, -ct*sa, a*st],​

[0, sa, ca, d ],​

[0, 0, 0, 1 ]​

])​

​

​