角速度和广义角度微分关系
角速度和广义角度微分关系
角速度和广义角度微分关系
定义
在机器人运动分析中存在很多种对姿态变换的描述方式,比如 RPY角和Euler角 等。除了位置分析意外,自然的会联想到速度分析,比如 stewart 并联机构 Jacobi 矩阵推导 ,此时需要实现角速度和广义角度微分之间的转换,本文对其进行分析。
预先假设
以 表示角速度矢量,以 表示广义姿态描述矢量。
RPY 角方式
具体来说实际上指的是围绕定坐标系旋转的方式,以 RPY 角为例。这种旋转模式下,始终围绕着一个定坐标系的三轴进行旋转,那么对这三次变换的角速度,其分别在定坐标系下表示就是广义角度微分的形式,因此 。
Euler 角方式
以 ZYX 的欧拉角描述模式为例,此时坐标系旋转为绕着动坐标系旋转,分别记旋转角度为 ,,,即 。
分别记三次坐标旋转对应的旋转矩阵为 ,,,总的旋转矩阵为 。下面进行运动的理论分析。
对每次旋转的角速度分别进行分析。注意到角速度满足性质:在同一个坐标系下可以进行叠加,那么最终的角速度应该满足 ,分别对应三次旋转的角速度。
以 为例,将其表示在末端坐标系下,结合其旋转轴为 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