Denavit–Hartenberg Convention被设计用于针对开环机械臂中的direct kinematics equation计算问题,其目的是寻求一种适用于dke递归表示的表征两个consecutive manipulator间的相对位姿关系。
DH Convention的问题可以提炼为:如何定义固连在两个links上的坐标系,并且计算它们之间的坐标变换关系。
坐标系建立
记 Axis i i i表示连接Link i − 1 i-1 i−1和Link i i i的joint;之后,可以采用Denavit–Hartenberg Convention来定义link Frame i i i ,其方法如下。
- 选定axis z i z_i zi为Joint i + 1 i+1 i+1;
- 将原点 O i O_i Oi设定在axis z i z_i zi,同axis z i z_i zi与axis z i − 1 z_{i-1} zi−1common normal的交点上;
- 将原点 O i ′ O_{i}^{'} Oi′设定在axis z i z_{i} zi,同axis z i z_i zi与axis z i − 1 z_{i-1} zi−1common normal的交点上;
- 沿着axis z i z_i zi与axis z i − 1 z_{i-1} zi−1common normal选定axis x i x_i xi,定义其正方向为由Joint i i i指向Joint i + 1 i+1 i+1;
- 依据右手定则选定axis y i y_i yi。
非唯一情况
在如下的情况下Denavit-Hartenberg Convention会给出不唯一的link frame:
- 对Frame 0 0 0而言,仅axis z 0 z_0 z0方向被指定, O 0 O_0 O0与axis x 0 x_0 x0可以被任意指定;
- 对Frame n n n而言,由于Joint n + 1 n+1 n+1不存在,axis z n z_n zn未被唯一定义,axis x n x_n xn仍然需要垂直于axis z n − 1 z_{n-1} zn−1。典型地,Joint n n n是revolute类型的,因此 z n z_n zn可以选定为与 z n − 1 z_{n-1} zn−1的方向;
- 当两个consencutive axises是平行的,则它们的common normal不被唯一定义;
- 当两个consencutive axises是相交的,则axis x i x_i xi的正方向可以选取两个方向中的任意一个;
- 当Joint i i i是prismatic时,仅指定axis z i − 1 z_{i-1} zi−1的方向。
位姿描述
当以上的坐标系被建立以后,Frame i {i} i相对于Frame i − 1 {i-1} i−1的位置和取向可以完全由以下四个参数指定:
a i a_i ai:distance between O i O_i Oi and O i ′ O_{i}^{'} Oi′
d i d_i di:coordinate of O i ′ O_{i}^{'} Oi′ along z n − 1 z_{n-1} zn−1
α i \alpha_i αi:angle between axes z i − 1 z_{i−1} zi−1 and z i z_i zi about axis x i x_i xi to be taken positive when rotation is made counter-clockwise
θ i \theta_i θi:angle between axes x i − 1 x_{i−1} xi−1 and x i x_{i} xi about axis z i − 1 z_{i−1} zi−1 to be taken positive when rotation is made counter-clockwise.
其中,参数 a i a_i ai和 α i \alpha_i αi总是恒定的,它们取决于joint之间连接的几何关系;剩下的两个参数中的一个参数也是恒定的,具体是哪个参数取决于joint的类型:
- Joint i i i是revolute,则 θ i \theta_i θi是恒定的;
- Joint i i i是prismatic,则 d i d_i di是恒定的;
在此情况下,Frame i i i和 Frame i − 1 i-1 i−1之间的坐标变换可以依据如下步骤进行。(详细见教材P63)