工业机器人的正向运动学:是指已知各关节的类型、相邻关节之间的尺寸和相邻关节相对运动量的大小时,如何确定工业机器人末端操作器在固定坐标系中的位姿。
DH模型:1955年,Denavit和Hartenberg(迪纳维特和哈坦伯格)提出了这一方法,后成为表示机器人以及对机器人建模的标准方法,应用广泛。
总体思想:首先给每个关节指定坐标系,然后确定从一个关节到下一个关节进行变化的步骤,这体现在两个相邻参考坐标系之间的变化,将所有变化结合起来,就确定了末端关节与基座之间的总变化,从而建立运动学方程,进一步对其求解。
参考资料:台大机器人学之运动学——林沛群https://www.bilibili.com/video/av54047883
目录
01 连杆描述
与地面等连接的固定端,记为 Link 0
之后依次记为 Link 1,Link 2,Link 3……
02 D-H表示法
①描述
描述一个关节,需要4个参数:
连杆扭转角
α
(
i
−
1
)
α_(i-1)
α(i−1):与下一关节轴的交错角度(可以将 轴i 投影到 轴i-1,使其相交)
连杆长度
a
(
i
−
1
)
a_(i-1)
a(i−1):与下一关节轴的直线距离(与 轴i-1 和 轴i 均垂直)
连杆偏距
d
i
d_i
di:两侧距离垂足间的距离
关节角
θ
i
θ_i
θi:连杆距离
a
i
a_i
ai 与
a
i
−
1
a_{i-1}
ai−1间的交错角
对于旋转关节,θ是自变量
对于移动关节,d是自变量
个人理解:
d可以理解为X轴间的距离
a可以理解为Z轴间的距离
②建立坐标系
Z轴:转动或移动轴的方向
X轴:沿下一连杆垂直距离的方向(若距离为0,即关节轴相交,则X方向与这两个关节轴都垂直)
Y轴:根据右手定则确定
③对于地杆的坐标系建立
对于转动关节:
θ
n
θ_n
θn任意,可取0
对于移动关节:
d
n
d_n
dn任意,可取0
取0时,即与 轴1 坐标系方向相同
④对于最后一个杆件的坐标系建立
对于转动关节:
θ
n
θ_n
θn任意,可取0
对于移动关节:
d
n
d_n
dn任意,可取0
取0时,即与 轴n-1 坐标系方向相同
⑤杆件间的转换矩阵
从 蓝色坐标系 到 红色坐标系:
过程:
- 蓝色到绿色:绕X轴转动α角(使得绿色与红色Z轴方向一致)
- 绿色到橙色:沿X轴移动a长度(使得橙色Z轴与红色Z轴重合)
- 橙色到紫色:绕Z轴转动θ角(使得紫色X轴与红色X轴方向一致,即紫色与红色坐标系方向一致)
- 橙色到红色:沿Z轴移动d长度(X轴重合,即坐标系重合)
按照 转动角度α --> 移动位移a --> 转动角度θ --> 移动位移d 的顺序
可以得到两个相邻轴之间的转换矩阵:
由此,可以得到 对于多个轴之间的转换矩阵:
在应用中,可以先对每一关节列出它们的D-H参数表,然后求转换矩阵~
(注意也要标记出 到 夹持器中心 的 位移向量
3
P
=
{
L
n
,
0
,
0
}
^3 P =\{L_n,0,0\}
3P={Ln,0,0}
(记录参数表时,a参数可以理解为z的偏移量,d参数可以理解为是x的偏移量)
⑥小结
注意各参数方向和正负
α是从X轴利用右手定则确定正负
θ是从Z轴利用右手定则确定正负
图中的α、a、θ、d参数放置顺序 即为 每一关节轴的旋转矩阵各位姿相乘的顺序
03 改进D-H表示法 和 标准D-H表示法
-
改进的D-H表示法(也就是上文所使用的方法~)总结如下
-
标准D-H表示法如下
-
二者的区别:
- 两者转动移动顺序不一致
(改进是α、a、θ、d)
(标准是θ、d、a、α) - 两者对杆件定义顺序不一致
(改进是 axis i-1后面跟杆件i-1)
(标准是 joint i-1后面跟杆件i) - 两者X轴的方向不同
(改进是 杆i 前是 轴 i)
(标准是 杆i 前是 关节 i-1) - 3 P ^3P 3P不一样(一个是( L n L_n Ln ,0,0),一个是(0,0,0))
- 关于标准和改进的D-H表示法之间的转换:
改进的转换矩阵:
标准的转换矩阵:
可以看到左上角的旋转姿态部分相同,右上角的位置部分标准更为复杂。这是因为标准D-H表示把夹持器的位置放入其中
把改进D-H的旋转矩阵 ×
3
P
^3P
3P =标准D-H旋转矩阵
二者区别在文章https://blog.csdn.net/qq_27170195/article/details/79936518中也进行了详细的总结
04驱动器空间与关节空间
05 例1:SCARA机器人
06 例2:六轴机械臂
07 总结
对于改进D-H参数法,其计算过程为
- 建立各关节坐标系
- 得到D-H参数表
- 计算每个关节的转换矩阵
- 对于六轴机器人等自由度机器人,定位环节和定向环节分别计算总的转换矩阵,即 6 3 T _6^3T 63T和 3 1 T _3^1T 31T(其中 6 3 T = 4 3 T 6 4 T _6^3T =_4^3T\ _6^4T 63T=43T 64T)
- 得到总的转换矩阵 6 1 T _6^1T 61T,对于矩阵量特别大的,矩阵内每一参数可以在矩阵外表示
- 将总的转换矩阵,转为对固定坐标系的 6 0 T _6^0T 60T
- 得到相对于夹持器中心点的转换矩阵