赞
踩
输入量
为
机体角速度
,
输出量
为
机体姿态
的微分方程:
输入量
为
力或者力矩
(对于姿态而言,肯定是力矩啦),
输出量
为
机体角速度
的微分方程。下面进行分析与推导。
在下面的推导中,将会出现大量的符号,下面对符号标识进行大致说明。符号右下标,表示当前符号所归属的物理域;右上标,表示对符号进行描述的物理域。如符号 ω B O \omega_{B}^{O} ωBO,表示 坐标系 B 坐标系B 坐标系B的角速度在 坐标系 O 坐标系O 坐标系O中的描述。
对于纯转动(无平动)的情况,我们先讨论无限小转动的情况。
如图所示,在
参考系
S
参考系S
参考系S中建立直角坐标系
O
x
y
z
Oxyz
Oxyz;在参考系
S
′
S'
S′中,建立直角坐标系
O
′
x
′
y
′
z
′
O'x'y'z'
O′x′y′z′。令参考系
S
S
S为惯性系,让
参考系
S
′
参考系S'
参考系S′相对
S
系
S系
S系以角速度
ω
\omega
ω转动,瞬时转轴为
z
′
轴
z'轴
z′轴,令
O
z
轴
Oz轴
Oz轴与
O
′
z
′
轴
O'z'轴
O′z′轴重合。
在极短时间 Δ t \Delta{t} Δt内, 参考系 S ′ 参考系S' 参考系S′相对 S 系 S系 S系发生了无限小转动,角位移是 Δ θ ⃗ \Delta \vec{\theta} Δθ (这是一个矢量,方向根据右手定则,指向 O z → \overrightarrow{Oz} Oz 的方向,大小为 Δ θ \Delta \theta Δθ)。
设某一个矢量 r ⃗ \vec{r} r 在 S ′ 系 S'系 S′系上,也跟随着 S ′ 系 S'系 S′系发生了转动,得到了 r ′ ⃗ \vec{r'} r′ (图中未画出),矢量 r ⃗ \vec{r} r 的变化量是 Δ r ⃗ \Delta \vec{r} Δr 。
由于
Δ
θ
⃗
\Delta \vec{\theta}
Δθ
是无限小量,那么
Δ
r
⃗
\Delta \vec{r}
Δr
也是无限小量,此时
Δ
r
⃗
\Delta \vec{r}
Δr
必与
r
⃗
\vec{r}
r
和
Δ
θ
⃗
\Delta \vec{\theta}
Δθ
构成的平面垂直。且有以下关系成立
∣
Δ
r
⃗
∣
=
A
M
‾
⋅
∣
Δ
θ
∣
=
∣
r
⃗
∣
sin
φ
⋅
∣
Δ
θ
⃗
∣
根据垂直和长度,我们可以根据叉乘
的定义,将上面的关系表达为
Δ
r
⃗
=
Δ
θ
⃗
×
r
⃗
\Delta \vec{r} = \Delta \vec{\theta}\times\vec{r}
Δr
=Δθ
×r
对上式两边分别除以
Δ
t
\Delta{t}
Δt并取极限有
lim
Δ
t
→
0
Δ
r
Δ
t
=
lim
Δ
t
→
0
(
Δ
θ
Δ
t
×
r
)
=
lim
Δ
t
→
0
(
Δ
θ
Δ
t
)
×
r
其中
lim
Δ
t
→
0
Δ
r
⃗
Δ
t
=
d
r
⃗
d
t
=
v
lim
Δ
t
→
0
Δ
θ
⃗
Δ
t
=
d
θ
⃗
d
t
=
ω
d
r
⃗
d
t
=
ω
×
r
⃗
=
v
\boxed{ \frac{\mathrm{d}\vec r}{\mathrm{d}t}=\omega\times \vec r =v }
dtdr
=ω×r
=v其中,
v
v
v可以表示为这个矢量的速度。
可见,一个
非惯性系
S
′
非惯性系S'
非惯性系S′对一个
惯性系
S
惯性系S
惯性系S做纯转动时,
非惯性系
S
′
非惯性系S'
非惯性系S′上跟随转动的某一矢量
r
⃗
\vec r
r
的微分可以表示为转动的角速度
ω
\omega
ω和矢量本身
r
⃗
\vec r
r
的叉乘;又因为微分可以看作是速度,而矢量
r
⃗
\vec r
r
又是跟随着
非惯性系
S
′
非惯性系S'
非惯性系S′转动,那么
ω
×
r
⃗
\omega\times\vec r
ω×r
又可以看作是
非惯性系
S
′
非惯性系S'
非惯性系S′于
惯性系
S
惯性系S
惯性系S的牵连速度。
(科里奥利公式)
定性分析
首先,可以不失一般性地假设所研究的矢量是表达位移的矢量(即位矢),那么对位矢的微分,得到的便是速度矢量。我们可以假设所研究的位矢在一个非惯性系上(比如无人机的机体坐标系),这时候位矢的所有平面运动,都可以分解成位矢跟随非惯性系对惯性系的转动
+位矢在非惯性系上的平动
。
有一个概念是很显然的:
绝对速度
=
相对速度
+
牵连速度
绝对速度=相对速度+牵连速度
绝对速度=相对速度+牵连速度
所以我们可以说,对于任何位矢
P
⃗
\vec{P}
P
在
非惯性系
B
非惯性系B
非惯性系B中,
非惯性系
B
非惯性系B
非惯性系B相对于
惯性系
O
惯性系O
惯性系O的纯转动角速度是
ω
B
O
\omega_{B}^{O}
ωBO的情况,结合前面纯转动(无平动)矢量的微分
分析结尾的结论:
d
P
⃗
O
d
t
=
d
P
B
⃗
d
t
+
ω
B
O
×
P
⃗
O
\boxed{ {\mathrm{d}\vec{P}^O \over \mathrm{d}t}={\mathrm{d}\vec{P^B} \over \mathrm{d}t} +\omega_{B}^{O} \times \vec{P}^O }
dtdP
O=dtdPB
+ωBO×P
O
其中位矢
P
⃗
\vec{P}
P
在
惯性系
O
惯性系O
惯性系O下的微分
d
P
⃗
O
d
t
{\mathrm{d}\vec{P}^O \over \mathrm{d}t}
dtdP
O便是绝对速度,
P
⃗
\vec{P}
P
在
非惯性系
B
非惯性系B
非惯性系B下的微分
d
P
⃗
B
d
t
{\mathrm{d}\vec{P}^B \over \mathrm{d}t}
dtdP
B便是相对速度,
ω
B
O
×
P
⃗
O
\omega_{B}^{O} \times \vec{P}^O
ωBO×P
O便是
非惯性系
B
非惯性系B
非惯性系B于
惯性系
O
惯性系O
惯性系O的牵连速度。
严格推导
严格的推导可以查阅:【清华大学 理论力学 高云峰】 【精准空降到 04:53】 ,此处不赘述。
推广至矩阵形式
上面是对矢量进行讨论,我们知道矢量是可以用列矩阵来表示的,如3维矢量可以用3行1列的列矩阵来表示,那么m行n列的矩阵,可以视作n个m维矢量的合集。假设当前存在矩阵
M
=
[
r
⃗
m
1
r
⃗
m
2
⋯
r
⃗
m
n
]
\mathbb{M}=
M
˙
=
[
d
r
⃗
m
1
O
d
t
d
r
⃗
m
2
O
d
t
⋯
d
r
⃗
m
n
O
d
t
]
=
[
d
r
⃗
m
1
B
d
t
+
ω
×
r
⃗
m
1
O
d
r
⃗
m
2
B
d
t
+
ω
×
r
⃗
m
2
O
…
d
r
⃗
m
n
B
d
t
+
ω
×
r
⃗
m
n
O
]
根据角动量定理,可以得到
M
O
=
d
d
t
(
J
O
ω
B
O
)
M^O= {\mathrm{d}\over\mathrm{d}t}(J^O\omega^O_B)
MO=dtd(JOωBO)其中
M
O
M^O
MO是无人机机体在
惯性系
O
惯性系O
惯性系O下受到的合外力矩,
J
O
J^O
JO是机体转动惯量3*3矩阵在
惯性系
O
惯性系O
惯性系O下的表达,
ω
B
O
\omega_B^O
ωBO是和
非惯性系
B
非惯性系B
非惯性系B固连的机体角速度在
惯性系
O
惯性系O
惯性系O下的表达。
根据求导链式法则(用符号上加点代表对符号进行微分)
d
d
t
(
J
O
ω
B
O
)
=
J
O
˙
ω
B
O
+
J
O
ω
B
O
˙
J
O
˙
=
[
J
1
B
˙
+
ω
B
O
×
J
1
O
J
2
B
˙
+
ω
B
O
×
J
2
O
J
3
B
˙
+
ω
B
O
×
J
3
O
]
\dot{J^O}=
J
O
˙
=
[
ω
B
O
×
J
1
O
ω
B
O
×
J
2
O
ω
B
O
×
J
3
O
]
=
ω
B
O
×
[
J
1
O
J
2
O
J
3
O
]
=
ω
B
O
×
J
O
M
O
=
d
d
t
(
J
O
ω
B
O
)
=
ω
B
O
×
J
O
ω
B
O
+
J
O
ω
B
O
˙
\boxed{ M^O={\mathrm{d}\over\mathrm{d}t}(J^O\omega^O_B)=\omega_B^O\times J^O\omega^O_B+{J^O}\dot{\omega^O_B} }
MO=dtd(JOωBO)=ωBO×JOωBO+JOωBO˙
我们希望得到一条输入量
为力或者力矩
(对于姿态而言,肯定是力矩啦),输出量
为机体角速度
的微分方程为作为姿态动力学模型,同时,因为在机体坐标系研究姿态更直观,所以姿态动力学模型中的参数最好是在机体坐标系下的表达。则输出量为
ω
B
\omega_B
ωB,输入量为
M
B
M^B
MB。
首先对于
L
=
J
ω
L=J\omega
L=Jω,有
L
B
=
J
B
ω
B
L
O
=
J
O
ω
O
=
J
O
R
B
O
ω
B
=
R
B
O
L
B
=
R
B
O
J
B
ω
B
所以可以得到
J
O
R
B
O
ω
B
=
R
B
O
J
B
ω
B
J
O
=
R
B
O
J
B
R
B
O
−
1
则由刚体转动欧拉方程
M
O
=
ω
B
O
×
J
O
ω
B
O
+
J
O
ω
B
O
˙
R
B
O
M
B
=
(
R
B
O
ω
B
)
×
(
R
B
O
J
B
R
B
O
−
1
)
R
B
O
ω
B
+
R
B
O
J
B
R
B
O
−
1
(
R
B
O
ω
B
)
˙
R
B
O
M
B
=
R
B
O
[
ω
B
]
x
R
B
O
−
1
R
B
O
J
B
ω
B
+
R
B
O
J
B
R
B
O
−
1
(
R
B
O
ω
B
)
˙
M
B
=
[
ω
B
]
x
J
B
ω
B
+
J
B
R
B
O
−
1
(
R
B
O
˙
ω
B
+
R
B
O
ω
B
˙
)
根据【旋转矩阵】对旋转矩阵导数的推导,可以知道
R
B
O
˙
=
ω
B
O
×
R
B
O
=
[
ω
B
O
]
x
R
B
O
=
R
B
O
[
ω
B
]
x
R
B
O
−
1
R
B
O
=
R
B
O
[
ω
B
]
x
\dot{R_B^O}=\omega_B^O \times {R_B^O}=[\omega_B^O]_\mathrm{x}R_B^O=R_B^O [\omega_B]_\mathrm{x}{R_B^O}^{-1}R_B^O=R_B^O[\omega_B]_\mathrm{x}
RBO˙=ωBO×RBO=[ωBO]xRBO=RBO[ωB]xRBO−1RBO=RBO[ωB]x,则
M
B
=
[
ω
B
]
x
J
B
ω
B
+
J
B
R
B
O
−
1
(
R
B
O
˙
ω
B
+
R
B
O
ω
B
˙
)
M
B
=
[
ω
B
]
x
J
B
ω
B
+
J
B
R
B
O
−
1
(
R
B
O
[
ω
]
x
ω
B
+
R
B
O
ω
B
˙
)
M
B
=
ω
B
×
J
B
ω
B
+
J
B
R
B
O
−
1
(
R
B
O
ω
B
×
ω
B
+
R
B
O
ω
B
˙
)
又根据叉乘的定义,
a
×
a
=
0
a\times a = 0
a×a=0,则
M
B
=
ω
B
×
J
B
ω
B
+
J
B
R
B
O
−
1
R
B
O
ω
B
˙
M
B
=
ω
B
×
J
B
ω
B
+
J
B
ω
B
˙
由此便在机体坐标系下建立了姿态动力学模型。又因为
M
B
=
τ
+
G
a
M^B=\bm\tau+\bm{G_a}
MB=τ+Ga,其中
τ
\bm \tau
τ为螺旋桨为机体提供的力矩,
G
a
\bm{G_a}
Ga为机体的陀螺力矩,则姿态动力学模型又可以表达为
τ
+
G
a
=
ω
B
×
J
B
ω
B
+
J
B
ω
B
˙
\bm\tau+\bm{G_a}= \omega_B\times J^B \omega_B+J^B \dot{\omega_B}
τ+Ga=ωB×JBωB+JBωB˙
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。