角速度和广义角度微分关系

randolf2022年8月9日
大约 6 分钟

角速度和广义角度微分关系

角速度和广义角度微分关系

定义

在机器人运动分析中存在很多种对姿态变换的描述方式,比如 RPY角和Euler角 等。除了位置分析意外,自然的会联想到速度分析,比如 stewart 并联机构 Jacobi 矩阵推导 ,此时需要实现角速度和广义角度微分之间的转换,本文对其进行分析。

预先假设

表示角速度矢量,以 表示广义姿态描述矢量。

RPY 角方式

具体来说实际上指的是围绕定坐标系旋转的方式,以 RPY 角为例。这种旋转模式下,始终围绕着一个定坐标系的三轴进行旋转,那么对这三次变换的角速度,其分别在定坐标系下表示就是广义角度微分的形式,因此

Euler 角方式

以 ZYX 的欧拉角描述模式为例,此时坐标系旋转为绕着动坐标系旋转,分别记旋转角度为 ,,,即

分别记三次坐标旋转对应的旋转矩阵为 ,,,总的旋转矩阵为 。下面进行运动的理论分析。

对每次旋转的角速度分别进行分析。注意到角速度满足性质:在同一个坐标系下可以进行叠加,那么最终的角速度应该满足 ,分别对应三次旋转的角速度。

image-20210901204843770

为例,将其表示在末端坐标系下,结合其旋转轴为 Z 轴,因此有:

类似的,最终的角速度 满足:

表示成矩阵形式,

这里的 是表示在最终的动坐标系下的,将其转换为初始的静坐标系应该有:

可以发现,此时出现了第一个旋转的角度。


此外,足够细致的话还可以发现,上面的在动静两坐标系下表现形式很接近。考虑这样一个变换,将 x 和 z 方向的分量进行交换,即一个反射矩阵 ,其表示空间中的一个反射变换,那么考虑到线性变换在不同坐标系下的表示形式 (矩阵的相似),即:

带入可以发现有:

这意味着,在反射空间 下,实现 Euler 变换方式描述的姿态变换关于角度对称。或者说,将 ZYX(a,b,c) 转换为 XYZ(a,b,c) 描述,此时动静坐标表示结构相同,这一点从几何上来看也是直观的。

从数字的角度来看,注意到 XYZ(-c,-b,-a) 表示下的 的结构如下 (仍然用 ):

和 ZYX 结构的转换矩阵之间互相相反,这和我们直观的几何认识相符(直接作为前面 ZYX 矩阵的逆)。

Mathematica 代码

rot = EulerMatrix[{\[Psi][t], \[Theta][t], \[Phi][t]}, {3, 2, 1}];
rot /. formatStyle // MatrixForm
(*transfer angular velocity of moving platform respect to the moving \
platform*)
wTransP = 
  Transpose[{(Transpose@(RotationMatrix[\[Theta][t], {0, 1, 
           0}].RotationMatrix[\[Phi][t], {1, 0, 0}])).{ 0, 0, 
      1}, (Transpose@RotationMatrix[\[Phi][t], {1, 0, 0}]).{0, 1, 
      0}, {1, 0, 0}}];
wTransP /. formatStyle // MatrixForm(*ZYX*)
rot.wTransP // FullSimplify /. formatStyle // MatrixForm

(*XYZ*)
ClearAll[a, b, c];
(*XYZ*)
rot1 = EulerMatrix[{-c, -b, -a}, {1, 2, 3}];
wTransP1 = 
  Transpose[{{0, 0, 
     1}, (Transpose@RotationMatrix[-a, {0, 0, 1}]).{0, 1, 
      0}, (Transpose@(RotationMatrix[-b, {0, 1, 
           0}].RotationMatrix[-a, {0, 0, 1}])).{ 1, 0, 0}}];
wTransP1 /. formatStyle // MatrixForm
(rot1.wTransP1) // FullSimplify /. formatStyle // MatrixForm

角速度定义理解这一关系

一般可以把我们的这个旋转变换 表示为如下形式:

其中 是正交的旋转矩阵,分别代表三个广义角速度.

注意到角速度的矩阵形式可以定义出角速度为下面式子:

因此带入式子 (8) 得到:

对应的, 代表的是广义角速度对应的反对称矩阵,参考 旋转矩阵求导.

进一步得到:

对应到角速度矢量有:

其中 代表在原始坐标系观察的角速度, 代表在原始坐标系下观察的角速度, 代表在Ra 作用后的新坐标系下的角速度, 代表在RaRb 作用后的新坐标系下的角速度。这可以从两个角度理解:

  • 我们推导这个式子使用了式子 (9),其中的 代表的是在 (9) 中 R 的作用的原始坐标系下的角速度,因此回来就是上面的结果
  • 另一方面,参考 矩阵坐标意义和变换意义 的理解,矩阵是一个向量存在的标记,代表其存在于那个空间中,因此这个意义上看,得到的式子不难理解。

因此以上面的ZYX为例,得到的计算可以为:

矩阵为:

对 RPY 角方式,可以注意到,在前面推导过程中使用的式子 (9),其意义与前面的不同。统一使用坐标系意义的坐标变换:

考虑到 定义的相反性 (来源于 RPY 表示的向量意义),大概就得到理论的结果。

#todo

参考

  • None
Loading...