向量知识记录 - 旋转矩阵与角速度

本文通过三个不同的思路,探讨了如何利用旋转矩阵的性质和向量的运算规则,推导出在体坐标系和惯量坐标系下,旋转矩阵关于时间的导数与角速度的关系。主要展示了角速度与旋转矩阵的叉乘表示以及与逆矩阵的关系。
摘要由CSDN通过智能技术生成

结论

R ˙ = R [ ω B ] × \bf \dot{R}=\bf{R}[\bf{\omega}^B]_{\times} R˙=R[ωB]×
R ˙ = [ ω S ] × R \bf \dot{R}=[\bf{\omega}^S]_{\times}\bf{R} R˙=[ωS]×R
[ ω B ] × = R − 1 R ˙ [\bf{\omega}^B]_{\times} = \bf{R}^{-1} \dot{R} [ωB]×=R1R˙
[ ω S ] × = R ˙ R − 1 [\bf{\omega}^S]_{\times} =\dot{R} \bf{R}^{-1} [ωS]×=R˙R1
其中B表示体坐标系,S表示惯量坐标系。

推导

思路1

旋转矩阵的性质:
1、旋转矩阵是正交矩阵,即 R T R = R R T = I R^TR=RR^T=I RTR=RRT=I
2、旋转矩阵的转置=旋转矩阵的逆,即 R T = R − 1 R^T = R^{-1} RT=R1
3、{B}相对于{A}的旋转矩阵={A}相对于{B}的旋转矩阵的装置,即 B A R = A B R T {}^A_BR={}^B_AR^T BAR=ABRT
4、正交矩阵的每一列都是单位矩阵,并且两两正交;
5、 ∣ ∣ R ∣ ∣ = 1 || \bf{R} || = 1 ∣∣R∣∣=1
向量的性质:
1、针对向量 u , v ∈ R n × 1 \bf{u},\bf{v} \in \mathbb{R}^{n\times1} u,vRn×1 u ⋅ v = v ⋅ u = u T v = v T u \bf{u} \cdot \bf{v} =\bf{v} \cdot \bf{u} = \bf{u}^T\bf{v}= \bf{v}^T\bf{u} uv=vu=uTv=vTu
2、针对向量 u , v ∈ R 1 × n \bf{u},\bf{v} \in \mathbb{R}^{1\times n} u,vR1×n u ⋅ v = = v ⋅ u = u v T = v u T \bf{u} \cdot \bf{v} = =\bf{v} \cdot \bf{u} =\bf{u}\bf{v}^T =\bf{v}\bf{u}^T uv==vu=uvT=vuT
3、列向量 u , v ∈ R n × 1 \bf{u},\bf{v} \in \mathbb{R}^{n\times1} u,vRn×1点积的结果对w求导,为 ∂ ( u T v ) ∂ w = ( ∂ u ∂ w ) T v + ( ∂ v ∂ w ) T u \frac{{\partial \left( {{u^T}v} \right)}}{{\partial w}} = {\left( {\frac{{\partial u}}{{\partial w}}} \right)^T}v + {\left( {\frac{{\partial v}}{{\partial w}}} \right)^T}u w(uTv)=(wu)Tv+(wv)Tu
4、两向量点积为0,即两向量正交,互相垂直。

旋转矩阵可以按列分块为
R = [ i ^ j ^ k ^ ] (1) \bf{R} = \left[ \begin{array}{c} \hat{\bf{i}} & \hat{\bf{j}} & \hat{\bf{k}} \end{array} \right] \tag{1} R=[i^j^k^](1)

因为只需证明:
d d t i ^ = ω × i ^ d d t j ^ = ω × j ^ d d t k ^ = ω × k ^ \begin{align} & \frac{d}{{dt}}{\bf{\hat i}} = {\bf{\omega }} \times {\bf{\hat i}} \tag{2a}\\ &\frac{d}{{dt}}{\bf{\hat j}} = {\bf{\omega }} \times {\bf{\hat j}} \tag{2b}\\ &\frac{d}{{dt}}{\bf{\hat k}} = {\bf{\omega }} \times {\bf{\hat k}} \tag{2c}\\ \end{align} dtdi^=ω×i^dtdj^=ω×j^dtdk^=ω×k^(2a)(2b)(2c)
根据旋转矩阵性质4,可知旋转矩阵的每一列满足
∣ ∣ u ^ ∣ ∣ = 1 (3) || \bf{\hat u} || = 1 \tag{3} ∣∣u^∣∣=1(3)
结合旋转矩阵性质1,可以得到
d d t u ^ T u ^ = 0 (4) \frac{d}{dt}\bf{\hat u}^T\bf{\hat u}=0 \tag{4} dtdu^Tu^=0(4)
根据向量性质1和3,式(4)可以得到
u ^ ⋅ d d t u ^ = 0 (5) \bf{\hat u} \cdot \frac{d}{dt}\bf{\hat u}=0 \tag{5} u^dtdu^=0(5)
根据向量性质4可知,旋转矩阵每一列和其微分项垂直,其微分可以表示为叉乘形式,以保证垂直关系,即:
u ^ ⋅ ( ω × u ^ ) = 0 (6) \bf{\hat u} \cdot (\bf{\omega} \times \bf{\hat u})=0 \tag{6} u^(ω×u^)=0(6)
因此,根据式(5)、(6)可以得到
d d t u ^ = ( ω × u ^ ) (7) \frac{d}{dt}\bf{\hat u} = (\bf{\omega} \times \bf{\hat u}) \tag{7} dtdu^=(ω×u^)(7)
则进一步可得:
d d t R = ( ω × R ) = [ ω ] × R (8) \frac{d}{dt}\bf{R} = (\bf{\omega} \times \bf{ R})=[\bf{\omega}]_{\times} \bf{ R} \tag{8} dtdR=(ω×R)=[ω]×R(8)
[ ω ] × = [ 0 − ω z ω y ω z 0 − ω x − ω y ω x 0 ] (9) [\bf{\omega}]_{\times} = \left [ \begin{array}{c} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{array} \right] \tag{9} [ω]×= 0ωzωyωz0ωxωyωx0 (9)

思路2

定义全局坐标系{S},体坐标系{B},空间任一矢量 u \bf{u} u
u S = R u B (10a) \bf{u}_S = \bf{R} \bf{u}_B \tag{10a} uS=RuB(10a)
v S = d d t R u B (10b) \bf{v}_S = \frac{d}{dt} \bf{R} \bf{u}_B \tag{10b} vS=dtdRuB(10b)
注意, v B \bf{v}_B vB是0,因为在体坐标系内 u \bf{u} u没有变化。
于是可以得到:
v S = ω × u S = ω × R u B (11) \begin{align} \bf{v}_S &= \bf{\omega} \times \bf{u}_S \\ & =\bf{\omega} \times \bf{R} \bf{u}_B \end{align} \tag{11} vS=ω×uS=ω×RuB(11)
同理可以得到:
d d t R = ω × R = [ ω ] × R (12) \frac{d}{dt}\bf{R} = \bf{\omega} \times \bf{ R} =[\bf{\omega}]_{\times} \bf{ R} \tag{12} dtdR=ω×R=[ω]×R(12)
注意:上述角速度 ω \omega ω是在全局惯性坐标系定义的空间角速度,即 [ ω S ] × [\bf{\omega}^S]_{\times} [ωS]×
若角速度是体坐标系定义的空间角速度,即 [ ω B ] × [\bf{\omega}^B]_{\times} [ωB]×,则旋转矩阵的导数为 d d t R = R ˙ = R [ ω B ] × \frac{d}{dt}\bf{R} = \dot{R}=\bf{R}[\bf{\omega}^B]_{\times} dtdR=R˙=R[ωB]×

在体坐标系定义物体角速度,则有
v S = R v B (13a) \bf{v}_S=\bf{R}\bf{v}_B \tag{13a} vS=RvB(13a)
ω S = R ω B (13b) \bf{\omega}_S=\bf{R}\bf{\omega}_B \tag{13b} ωS=RωB(13b)
对式(10b)两边同左乘 R − 1 \bf{R}^{-1} R1得:
R − 1 v S = R − 1 R ˙ u B (14) \bf{R}^{-1}\bf{v}_S = \bf{R}^{-1}\bf{\dot R} \bf{u}_B \tag{14} R1vS=R1R˙uB(14)
结合式13a和14可得:
v B = R − 1 R ˙ u B = [ ω B ] × u B (15) \bf{v}_B = \bf{R}^{-1}\bf{\dot R} \bf{u}_B = [\bf{\omega}^B]_{\times}\bf{u}_B \tag{15} vB=R1R˙uB=[ωB]×uB(15)
由此可以得到
[ ω B ] × = R − 1 R ˙ (16) [\bf{\omega}^B]_{\times} = \bf{R}^{-1}\bf{\dot R} \tag{16} [ωB]×=R1R˙(16)

思路3

根据旋转矩阵性质1, R T R = I R^TR=I RTR=I,两边对时间求导:
R T R ˙ + R ˙ T R = 0 (17) \bf{R}^T \bf{\dot R} + \bf{\dot R}^T \bf{R} = 0 \tag{17} RTR˙+R˙TR=0(17)
因为 [ ω B ] × = R T R ˙ [\bf{\omega}^B]_{\times} = \bf{R}^{T} \dot{R} [ωB]×=RTR˙,则 [ ω B ] × + [ ω B ] × T = 0 [\bf{\omega}^B]_{\times} + [\bf{\omega}^B]_{\times}^T = 0 [ωB]×+[ωB]×T=0,有 R ˙ = R [ ω B ] × \bf \dot{R}=\bf{R}[\bf{\omega}^B]_{\times} R˙=R[ωB]×
同理,根据 R R T = I RR^T=I RRT=I,两边对时间求导:
R ˙ R T + R R ˙ T = 0 (18) \bf{\dot R}\bf{R}^T + \bf{R}\bf{\dot R}^T = 0 \tag{18} R˙RT+RR˙T=0(18)
因为 [ ω S ] × = R ˙ R T [\bf{\omega}^S]_{\times} = \dot{R}\bf{R}^{T} [ωS]×=R˙RT,则 [ ω S ] × + [ ω S ] × T = 0 [\bf{\omega}^S]_{\times} + [\bf{\omega}^S]_{\times}^T = 0 [ωS]×+[ωS]×T=0,有 R ˙ = [ ω S ] × R \bf \dot{R}=[\bf{\omega}^S]_{\times}\bf{R} R˙=[ωS]×R

参考文献:
旋转矩阵求导出现角速度的理解

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余加木

想喝蜜雪冰城柠檬水(≧≦)/

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值