上篇博客简要的介绍了多旋翼飞行器的建模过程,但是在动力学建模过程中,我们忽略了比较重要的陀螺力矩;电机高速旋转的时候,相当于一个陀螺,高速旋转的陀螺是非常稳定的个体,具有保持自身轴向不变的能力(定轴性),因此如果有外力想改变陀螺转轴的方向,那么会产生一个陀螺力矩来抵抗这种改变。
下面来看考虑陀螺力矩的动力学方程:
J ⋅ b ω ˙ = − b ω × ( J ⋅ b ω ) + G a + τ \mathbf{J} \cdot^{b} \dot{\boldsymbol{\omega}}=-^{b} \boldsymbol{\omega} \times\left(\mathbf{J} \cdot^{b} \boldsymbol \omega\right)+\mathbf{G}_{a}+\boldsymbol{\tau} J⋅bω˙=−bω×(J⋅bω)+Ga+τ
G a \mathbf{G}_{a} Ga表示陀螺力矩
G a = J R P Ω × ω \mathbf{G}_{a}=\boldsymbol{J}_{R P}\mathbf \Omega \times \boldsymbol{\omega} Ga=JRPΩ×ω
其中
Ω
\mathbf \Omega
Ω为螺旋桨角速向量。
ω
\boldsymbol{\omega}
ω表示电机转轴的旋转角速度,我们认为转轴角速度等于机体角速度。
旋翼组件k(含电机和螺旋桨)的陀螺力矩为:
G a , k = J R P Ω k b 3 × ω \mathbf{G}_{a,k}=J_{R P}\mathbf \Omega_{k} \mathbf b_{3} \times \boldsymbol \omega Ga,k=JRPΩkb3×ω
其中 b 3 \mathbf b_3 b3为螺旋桨角速度方向,因为在机体坐标系中,螺旋桨只有 z z z轴方向有角速度所以, b 3 \mathbf b_3 b3为 [ 0 , 0 , 1 ] T [0,0,1]^T [0,0,1]T , J R P J_{RP} JRP 为电机转子和螺旋桨绕轴的总转动惯量。
其中
b
3
×
ω
=
b
3
×
ω
=
−
ω
×
b
3
\mathbf b_{3} \times \boldsymbol \omega=\mathbf b_{3}^{\times} \boldsymbol \omega=-\boldsymbol \omega^{\times}\mathbf b_{3}
b3×ω=b3×ω=−ω×b3
×
\times
×表示叉乘算子。即:
ω
=
[
ω
x
w
y
w
z
]
⟺
[
0
−
w
z
w
y
w
z
0
−
w
x
−
w
y
w
x
0
]
=
ω
×
\boldsymbol \omega=\left[ \begin{array}{c}{\omega_{x}} \\ {w_{y}} \\ {w_{z}}\end{array}\right] \Longleftrightarrow \left[ \begin{array}{ccc}{0} & {-w_{z}} & {w_{y}} \\ {w_{z}} & {0} & {-w_{x}} \\ {-w_{y}} & {w_{x}} & {0}\end{array}\right]=\boldsymbol \omega^{\times}
ω=⎣⎡ωxwywz⎦⎤⟺⎣⎡0wz−wy−wz0wxwy−wx0⎦⎤=ω×
则有:
G a , k = − J R P Ω k [ w y − w x 0 ] \mathbf{G}_{a,k}=-J_{R P} \mathbf\Omega_{k} \left[ \begin{array}{c}{w_{y}} \\ {-w_{x}} \\ {0}\end{array}\right] Ga,k=−JRPΩk⎣⎡wy−wx0⎦⎤
其中
Ω
k
\mathbf \Omega _k
Ωk为第k个螺旋桨角速度,根据右手定则,机体z轴的旋转正方向为顺时针。
k
=
1
k=1
k=1时,螺旋桨转速为负,
Ω
1
=
−
Ω
1
\mathbf \Omega _1 = -\Omega _1
Ω1=−Ω1,其余螺旋桨的转速以此类推;最终得到陀螺力矩
G
a
\mathbf{G}_{a}
Ga的表达形式如下:
{
G
a
x
=
J
R
P
ω
y
(
Ω
1
−
Ω
2
+
Ω
3
−
Ω
4
)
G
a
y
=
J
R
P
ω
x
(
−
Ω
1
+
Ω
2
−
Ω
3
+
Ω
4
)
G
a
z
=
0
\left\{\begin{array}{l}{{G}_{ax}=J_{R P} \omega_{y}\left(\Omega_{1}-\Omega_{2}+\Omega_{3}-\Omega_{4}\right)} \\ {{G}_{ay}=J_{R P} \omega_{x}\left(-\Omega_{1}+\Omega_{2}-\Omega_{3}+\Omega_{4}\right)} \\ {{G}_{az}=0}\end{array}\right.
⎩⎨⎧Gax=JRPωy(Ω1−Ω2+Ω3−Ω4)Gay=JRPωx(−Ω1+Ω2−Ω3+Ω4)Gaz=0