机器人学之旋转矩阵

一、旋转矩阵

如图,绕z轴旋转,

机器人学之旋转矩阵_第1张图片

可以表示为矩阵:

机器人学之旋转矩阵_第2张图片

式中,每一个列向量都表示O‘ 坐标系的坐标轴相对于O坐标系的方向向量。

同理,绕y,x轴的旋转矩阵表示为:

机器人学之旋转矩阵_第3张图片

机器人学中,使用旋转矩阵表示两个坐标系的旋转。坐标系转换方式有以下两种:

1.绕固定坐标系旋转

顾名思义,旋转过程始终以一个固定的坐标系为参考:

机器人学之旋转矩阵_第4张图片

此时,应按照矩阵依次左乘的方式计算旋转后的矩阵,例如依次绕x旋转x’,绕y旋转y’,绕z旋转z’,

则得到转换后的矩阵为:

​ R‘ = rot(z’)*rot(y’)*rot(x’)

2.绕当前坐标系旋转

机器人学之旋转矩阵_第5张图片

与前一种不同的是,按照矩阵依次右乘的方式计算旋转后的矩阵,例如依次绕z旋转z’,绕y旋转y’,绕x旋转x’,则得到转换后的矩阵为:

R‘ = rot(z’)*rot(y’)*rot(x’)

由此可见,绕当前轴进行ZYX旋转,最终得到的结果和绕固定轴进行XYZ旋转一致!

二、关于旋转矩阵的几个性质

  1. R_i_j = inv(R_j_i) = trans(R_j_i),

    R_i_j 表示坐标系j相对于坐标系i的旋转矩阵,inv表示矩阵逆,trans表示矩阵转置;

  2. 有上述性质可知,R_i_j 的列向量表示坐标系j的轴在坐标系i中的方向向量,R_i_j 的行向量表示坐标系i的轴在坐标系j中的方向向量;

你可能感兴趣的:(机器人运动学,线性代数,算法)