结论
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]×=R−1R˙
[
ω
S
]
×
=
R
˙
R
−
1
[\bf{\omega}^S]_{\times} =\dot{R} \bf{R}^{-1}
[ωS]×=R˙R−1
其中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=R−1
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,v∈Rn×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}
u⋅v=v⋅u=uTv=vTu;
2、针对向量
u
,
v
∈
R
1
×
n
\bf{u},\bf{v} \in \mathbb{R}^{1\times n}
u,v∈R1×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
u⋅v==v⋅u=uvT=vuT;
3、列向量
u
,
v
∈
R
n
×
1
\bf{u},\bf{v} \in \mathbb{R}^{n\times1}
u,v∈Rn×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)=(∂w∂u)Tv+(∂w∂v)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}
R−1得:
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}
R−1vS=R−1R˙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=R−1R˙uB=[ωB]×uB(15)
由此可以得到
[
ω
B
]
×
=
R
−
1
R
˙
(16)
[\bf{\omega}^B]_{\times} = \bf{R}^{-1}\bf{\dot R} \tag{16}
[ωB]×=R−1R˙(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。
参考文献:
旋转矩阵求导出现角速度的理解