一、DH参数表
DH参数表表述的是连杆坐标系之间的关系,而不是关节坐标系之间的关系,这一点一定要搞清楚,而连杆是由关节相互连接的。首先介绍一下DH参数中各个参数的含义
(1)连杆长度
a
i
−
1
a_{i-1}
ai−1:沿
x
i
−
1
x_{i-1}
xi−1方向
z
i
−
1
z_{i-1}
zi−1到
z
i
z_i
zi的距离
(2)连杆转角
α
i
−
1
\alpha_{i-1}
αi−1:沿
x
i
−
1
x_{i-1}
xi−1方向
z
i
−
1
z_{i-1}
zi−1旋转到
z
i
z_i
zi的角度
(3)连杆偏距
d
i
d_i
di:沿
z
i
z_i
zi方向,
x
i
−
1
x_{i-1}
xi−1到
x
i
x_i
xi的距离
(4)关节角
θ
i
\theta_i
θi:沿
z
i
z_i
zi方向,
x
i
−
1
x_{i-1}
xi−1旋转到
x
i
x_i
xi的角度
以下面DH参数表为例进行进一步的解释。
连杆 | α i − 1 \alpha_{i-1} αi−1 | a i − 1 a_{i-1} ai−1 | d i d_i di | θ i \theta_i θi |
---|---|---|---|---|
1 | 0 | 0 | 0 | θ 1 \theta_1 θ1 |
2 | 0 | L 1 L_1 L1 | 0 | θ 2 \theta_2 θ2 |
3 | 0 | L 2 L_2 L2 | 0 | θ 3 \theta_3 θ3 |
例如第一行连杆1,连杆1两端是关节1和关节2,是第几个连杆,那么连杆前端连得就是第几个关节。这时需要关注,关节1的相关信息。
二、URDF文件
可以从urdf文件中的joint标签获取DH表中的参数,该标签表示的是关节坐标系,可以从中得出连杆的数据,例如:
在这段代码中表示了坐标系2,其origin项表示了该坐标系与前一个坐标系,即坐标系1的相对位置。从XYZ参数标签可以得到连杆的长度和连杆偏距,从RPY标签可以得到连杆偏距和关节角