微分几何在机器人领域的应用(二)深入理解三维空间变换
|
空间几何变换 空间中的几何变换分为多类,从简单,到逐渐复杂的变换,分别有如下几种: 1. 等距变换(Isometries)。等距变换下点到点的欧式距离保持不变。刚体变换是典型的等距变换。 2. 相似变换(Similarity)。在等距变换的基础上加上一个各向同性的缩放。矩阵表示上需要在旋转矩阵部分乘以一个非零系数s。 3. 仿射变换(Affine)。是一个非奇异的线性变换加上一个平移向量组成的变换。 4. 投影变换(Projective)。任意非奇异的4×4矩阵所构成的变换。 变换的分类和特征如下图所示。
三维刚体的空间变换属于种情况。如果物体不变形,那么刚体变换涵盖物理世界中的所有情况。刚体变换包含三个平移自由度和三个旋转自由度,总共6个自由度。应用刚体变换,点到点的距离保持不变,同时矢量的点积和叉积保持不变。平移自由度易于理解,故本文重点讨论旋转分量,即旋转矩阵R。 旋转矩阵 在理解高维理论时,我们一般采用降维的方式理解,由易到难。首先回到二维空间的变换。二维平面中,刚体变换有三个自由度,x, y 和旋转角θ。用矩阵的形式表示: 其中
分别为旋转矩阵和平移向量。可以看到旋转矩阵只有一个自由度,因其只有一个变量θ。 旋转矩阵R的性质: 1. 旋转矩阵的逆矩阵是它的转置矩阵,故旋转矩阵是正交矩阵。(如果不理解逆矩阵和转置矩阵,请首先恶补线性代数)。 2. 一个矩阵是旋转矩阵,当且仅当它是正交矩阵,且它的行列式是1。正交矩阵的行列式是±1。读者可思考行列式为-1的情况对应什么变换。 二维旋转矩阵可用旋转角唯yi表示。正角表示逆时针旋转。
如下图表示的是当θ=20°的情况。
二位旋转矩阵的许多性质在三维空间中同样满足。 让我们回到三维空间。旋转可以有三个旋转组合而成。在右手(笛卡尔)坐标系下分别绕x,y, z轴旋转。其旋转矩阵分别对应为
任意旋转矩阵可写作一定角度下的三个矩阵的乘积。 注意:矩阵乘法不符合交换律!故顺序不同,得到的旋转矩阵并不相同。
欧拉角 航空领域,一般定义飞机前后轴为x轴,沿x轴旋转的角度一般称为Roll,中文称作翻滚角;两翼方向称作Pitch,中文称作俯仰角;垂直地面的方向是航向角(Yaw),如下图所示。作者觉得中文翻译很符合愿意,更易于理解。可以记住在驾驶飞机时,如何操纵翻滚角,俯仰角,航向角。Roll,Pitch,Yaw,又称作欧拉角。习惯上,三个欧拉角的方向是z-y-x,使用时需要特别重要,欧拉角顺序错了,旋转矩阵也会发生变化。
程序实现: |







