机械臂动力学
1 Rotation matrix
1.1 Definition
符号指的是下标frame相对于上标frame
用于描述一个frame相对于另一个frame的姿态。即body frame坐标轴在world frame坐标轴下的投影,每一column相当于body frame的是三个基向量在A frame里的坐标。由于点乘的可交换性,有:
1.2 Traits
容易验证旋转矩阵为正交矩阵,其逆矩阵为其转置
即有:
$$
A_BRT=A_BR{-1}=^B_AR
$$
1.3 Application
-
描述一个frame相对于另一个frame的姿态
-
将point由一个frame的表达换到另一个和此frame由相对转动的frame来表达
$$
AP=A_BR^BP
$$
-
进一步描述物体转动的状态:
绕X轴转动$\theta$:
e.g.
1.4 Fixed Angles and Euler Angles
1.4.1 Fixed Angles
Fixed Angles是固定旋转轴的旋转方式(可以理解为是对静参考系三轴的旋转):
-
正算(知道绕哪三个轴旋转多少度,求rotation matrix):对X轴转动$\gamma$,再对Y轴转动$\beta$,最后对Z轴转动$\alpha$:
$$
^A_BR_{XYZ}(\gamma,\beta,\alpha)=R_{Z}(\alpha)R_{Y}(\beta)R_{X}(\gamma)
$$
先转的角度放后,后转的放前
-
反算(知道rotation matrix,求绕哪三个轴旋转多少度):
1.4.2 Euler Angles
Euler Angles是转动旋转轴的旋转方式(可以理解为是对动参考系三轴的旋转):
-
正算(知道绕哪三个轴旋转多少度,求rotation matrix):对Z’轴转动$\alpha$,再对Y’轴转动$\beta$,最后对X’轴转动$\gamma$:
$$
^A_BR_{Z’Y’X’}(\alpha,\beta,\gamma)=R_{Z’}(\alpha)R_{Y’}(\beta)R_{X’}(\gamma)
$$
先转的角度放前,后转的放后
-
反算(知道rotation matrix,求绕哪三个轴旋转多少度):
1.4.3 Summary
-
Fixed Angles和Euler Angles是等价的,只是旋转顺序不同。从它们的表达式中可以看出来,Fixed Angles正转等效于Euler Angles的反转。
-
两种旋转方式可以选择的转轴可以变化,共有只要与前一根轴不同即可,故有3
*
2*
2=12种组合方式,其中最常用的是ZYZ和ZXY。 -
rotation matrix在使用时相对于静坐标系转动左乘,相对与动坐标系转动右乘。
2 Homogeneous transformation matrix(齐次变换矩阵)
2.1 Definition
定义齐次变换矩阵$^A_BT$为:
其中$^A_BR$为rotation matrix,$^AP_{B\ org}$为B frame’s origin在A frame下的坐标。
2.2 Application
2.2.1 Only moving or rotating
2.2.2 Moving and rotating
2.2.3 Attention
先移动后转动和先转动后移动的matrix不同。如下:
先移动后转动相当于会先加移动算子再加转动算子会多出一项
2.3 Continuous computation
两个frame:
多个frame:
连续运算法则:
2.4 Inverse matrix
即有
$$
B_AT=A_BT{-1}=\begin{pmatrix}&B_AR&&^BP_{A\ org}\0&0&0&1\end{pmatrix}
$$
3 Manipulator forward kinematics(机械臂顺向运动学)
3.1 Denavit- Hartenberg parameters(DH parameters)
四个参数:
-
$a_i$:连杆长度(Link length)
-
$\alpha_i$:连杆扭转(Link twist)
-
$d_i$:连杆偏移(Link offset)
-
$\theta_i$:关节角度(Joint angle)
具体如图:
特别地,在Revolute joint和Prismatic joint中,四个参数只变动一个参数。(很容易想象,因为Link一般为rigid body,Link length一般不变;Axis一般也是固定的,Link twist一般不变)
3.2 Bulid frames
-
对于地杆(相对地面固定的杆):
-
对于末杆:
四个参数的与XYZ轴的关系:
3.3 Link transformation
e.g.1:
e.g.2: