机器人学——1.2-三维空间位姿描述

三维情况实际上是之前讨论的二维情况的延伸。我们在二维坐标系上增加一个额外的坐标轴,通常用 zz 表示,它同时与 xx 轴和 yy 轴正交。zz 轴的方向服从右手规则,并构成右手坐标系。与各坐标轴平行的单位向量记作 xxyyzz
z~=x~×y~x~=y~×z~y~=z~×x~ ilde{z} = ilde{x} imes ilde{y} quad ilde{x} = ilde{y} imes ilde{z} quad ilde{y} = ilde{z} imes ilde{x}
坐标系中的一个点 PP 可用其 xxyyzz 的坐标值 (x,y,z)(x, y, z) 或者一个约束向量表示:
p=xx~+yy~+zz~ p= ext{x} ilde{x}+ ext{y} ilde{y}+ ext{z} ilde{z}
下图展示了一个相对于参考坐标系 {A}{A} 的坐标系 {B}{B} 。可以清楚地看到,{B}{B} 的原点通过向量 t=(x,y,z)t=(x,y,z)进行平移,然后再通过某种复杂方式进行了旋转。正如二维情况一样,我们如何表示坐标系之间的方向是非常重要的。
在这里插入图片描述
我们的做法还是从相对于每个坐标系的任意一点 PP 出发,然后再确定 AP^APBP^BP 之间的关系。我们仍然从两方面考虑:旋转和平移。

三维空间姿态描述

任何两个独立的正交坐标系都可以通过一系列(不超过3次)相对于坐标轴的旋转联系起来,但其中连续的两次旋转不能绕同一轴线。

——欧拉旋转定理

之前的图中显示了两个右手坐标系,其方向差异很大,我们如何相对于一个坐标系去表示另一个坐标系呢?可以想象一下,将坐标系 {A}{A} 拿在我们手里旋转,直到与坐标系 {B}{B} 方向一致。欧拉旋转定理指出,任何旋转都可以看作是由一系列相对不同坐标轴的旋转组合而成的。
  首先考虑绕单个坐标轴的旋转。下图显示了一个右手坐标系,以及它绕不同坐标轴旋转不同角度的情形。
在这里插入图片描述
但绕坐标轴连续旋转就没那么简单了,其中存在一些微妙的变化。如下图所示,它演示了一个坐标系按不同的顺序旋转的情形。可以看到,虽然旋转角度相同,但最终得到的坐标系方向完全不同,它取决于旋转的顺序。这是三维世界里一个深奥且让人迷惑的特征,而且它曾困扰了数学家们很长一段时间。我们之前一直在讨论的位姿代数的意义就在于运算符 oplus 是不可交换的,它体现了上述旋转顺序的重要性。下图中,在上面一排中坐标系先绕 xx 轴旋转 π/2pi/2,然后绕 yy 轴旋转 π/2pi/2。在下面一排旋转顺序正好颠倒了。两种旋转的结果明显不同。
在这里插入图片描述
数学家已经提炼出许多表示旋转的方法,我们之后会讨论其中几种:正交旋转矩阵,欧拉和卡尔丹角,旋转轴与角度,以及单位四元数。它们都可以表示为向量或矩阵,即MATLAB的自然数据类型,或者表示为机器人工具箱自定义的类。机器人工具箱中提供了许多函数可以将这些表示法相互转换,我们后面也会有介绍。

原文地址:https://www.cnblogs.com/thewaytotheway/p/12847254.html