一、前言
在之前的博文坐标旋转中,简单介绍了平面坐标系以及三维坐标系中的绕坐标轴旋转运动。在机器人运动中,除了坐标系的旋转外,往往还要考虑平移运动,在三维空间中,刚体的旋转运动可以用绕一根轴的螺旋运动来描述。接下来,我们将逐步引出旋量的概念。
二、预备知识
刚体在坐标系中的运动,一般情况下是平移运动与旋转运动的结合,特殊情况是纯平移运动或纯旋转运动。
2.1 平移运动

2.2 旋转运动

坐标旋转运动的基本思想在博客坐标旋转中已经有了介绍,这篇文章中只是介绍了绕单轴旋转的情况,对于不是绕单轴的旋转运动,可以由多次绕不同的单轴旋转运动来得到,例如上图中从 A A A系(即参考坐标系)到 B B B系(即本体坐标系),可以通过先绕 A A A的 Z Z Z轴旋转得到 C C C系(图中未画出),再绕 C C C系的 Y Y Y轴来旋转得到 B B B系(这里只是举例说明,也可以有其他的旋转方式)。那么, B B B系中的点在 A A A中的表示方式可为:
p A = A T C ⋅ p C p C = C T B ⋅ p B p A = A T C ⋅ C T B ⋅ p B = A T B ⋅ p B (2-2) \pmb p_A = ^A\pmb T_C\cdot\pmb p_C \\ \pmb p_C = ^C\pmb T_B\cdot\pmb p_B \\ \pmb p_A = ^A\pmb T_C \cdot^C\pmb T_B\cdot\pmb p_B = ^A\pmb T_B\cdot\pmb p_B\tag{2-2} pppA=ATTTC⋅pppCpppC=CTTTB⋅pppBpppA=ATTTC⋅CTTTB⋅pppB=ATTTB⋅pppB(2-2)
上式中, A T B = A T C ⋅ C T B ^A\pmb T_B = ^A\pmb T_C \cdot^C\pmb T_B ATTTB=ATTTC⋅CTTTB,表示从A系旋转到B系的旋转矩阵
总的来说,旋转运动是通过旋转矩阵来描述的。
2.3 一般运动

在上图中, B B B系可由 A A A系先旋转再平移得到,令 q b \pmb q_b qqqb表示 B B B系中 q q q点的坐标, q a \pmb q_a qqqa表示 q q q在 A A A系中的坐标,根据前两节的知识,有:
q a = p a b + A T B ⋅ q b (2-3) \pmb q_a = \pmb p_{ab} +^A\pmb T_B\cdot\pmb q_b \tag{2-3} qqqa=pppab+ATTTB⋅qqqb(2-3)
将上式表示成矩阵形式,有:
[ q a 1 ] = [ A T B p a b 0 1 ] [ q b 1 ] (2-4) \begin{bmatrix} \pmb q_a \\ 1 \end{bmatrix}=\begin{bmatrix} ^A\pmb T_B & \pmb p_{ab} \\ 0 & 1 \end{bmatrix}\begin{bmatrix} \pmb q_b \\ 1 \end{bmatrix} \tag{2-4} [qqqa1]=[ATTTB0pppab1][qqqb1](2-4)
即:
q ‾ a = a g ‾ b ⋅ q ‾ b (2-5) \overline{\pmb q}_a = ^a\overline{\pmb g}_b\cdot\overline{\pmb q}_b \tag{2-5} qqq