1. 多旋翼螺旋桨动力学模型
1.1. 螺旋桨几何位置基本描述
坐标系分为多旋翼机体重心坐标系 o b − x b y b z b o_b-x_by_bz_b ob−xbybzb及螺旋桨坐标系 o p − x p y p z p o_p-x_py_pz_p op−xpypzp,右手系, z z z轴向下,其中 o b o_b ob至 o p o_p op的距离向量为 r ⃗ \vec{r} r,机体系到螺旋桨系的旋转矩阵为 R b p R_b^p Rbp(由螺旋桨安装姿态角确定)。
螺旋桨几何位置:

1.2. 螺旋桨拉力及拉力力矩
螺旋桨拉力在螺旋桨坐标轴下记为
F
f
b
⃗
=
[
F
x
p
F
y
p
F
z
p
]
\vec{F_{fb}} = \left[ \begin{matrix}F_{xp}\\F_{yp}\\F_{zp}\end{matrix} \right]
Ffb=⎣⎡FxpFypFzp⎦⎤
考虑常规螺旋桨,拉力方向垂直于旋转平面,即只有
z
z
z轴拉力不为零,其他两轴的拉力为零。
体轴下螺旋桨拉力为:
F
f
b
⃗
=
(
R
b
p
)
−
1
⋅
F
f
b
⃗
=
(
R
b
p
)
−
1
⋅
[
F
x
f
p
F
y
f
p
F
z
f
p
]
\vec{F_{fb}} = (R_b^p)^{-1} \cdot \vec{F_{fb}} = (R_b^p)^{-1} \cdot \left[ \begin{matrix} F_{xfp}\\F_{yfp}\\F_{zfp} \end{matrix} \right]
Ffb=(Rbp)−1⋅Ffb=(Rbp)−1⋅⎣⎡FxfpFyfpFzfp⎦⎤
考虑螺旋桨安装位置,螺旋桨对机体产生的力矩为:
M
f
b
⃗
=
r
⃗
×
F
f
b
⃗
=
r
⃗
×
(
(
R
b
p
)
−
1
⋅
[
F
x
f
p
F
y
f
p
F
z
f
p
]
)
\vec{M_{fb}} = \vec{r} \times \vec{F_{fb}} = \vec{r} \times \left((R_b^p)^{-1} \cdot \left[ \begin{matrix} F_{xfp}\\F_{yfp}\\F_{zfp} \end{matrix} \right]\right)
Mfb=r×Ffb=r×⎝⎛(Rbp)−1⋅⎣⎡FxfpFyfpFzfp⎦⎤⎠⎞
考虑螺旋桨安装位置常规与重心处于同一平面,结合图示中螺旋桨位置,位置矢量可写为:
r
⃗
=
[
l
⋅
c
o
s
(
θ
)
l
⋅
s
i
n
(
θ
)
0
]
\vec{r} = \left[ \begin{matrix} l \cdot cos(\theta)\\ l \cdot sin(\theta)\\ 0 \end{matrix} \right]
r=⎣⎡l⋅cos(θ)l⋅sin(θ)0⎦⎤
1.3. 螺旋桨反扭力矩
螺旋桨反扭力矩在螺旋桨坐标轴下记为
M
m
p
⃗
=
[
M
x
m
p
M
y
m
p
M
z
m
p
]
\vec{M_{mp}} = \left[ \begin{matrix}M_{xmp}\\M_{ymp}\\M_{zmp}\end{matrix} \right]
Mmp=⎣⎡MxmpMympMzmp⎦⎤
考虑常规螺旋桨,反扭力矩方向垂直于旋转平面,即只有
z
z
z轴反扭力矩不为零,其他两轴的反扭力矩为零。
体轴下螺旋桨反扭力矩为
M
m
b
⃗
=
(
R
b
p
)
−
1
⋅
M
m
p
⃗
=
(
R
b
p
)
−
1
⋅
[
M
x
m
p
M
y
m
p
M
z
m
p
]
\vec{M_{mb}} = (R_b^p)^{-1} \cdot \vec{M_{mp}} = (R_b^p)^{-1} \cdot \left[ \begin{matrix} M_{xmp}\\M_{ymp}\\M_{zmp} \end{matrix} \right]
Mmb=(Rbp)−1⋅Mmp=(Rbp)−1⋅⎣⎡MxmpMympMzmp⎦⎤
1.4. 螺旋桨陀螺力矩
螺旋桨作为旋转部件,在其旋转过程中由于随飞行器姿态变动,其转轴方向会发生变动,因此会引起陀螺力矩作用于机体。
当螺旋桨以角速度 ω p ⃗ \vec{\omega_p} ωp(螺旋桨坐标系)绕旋转轴旋转时,飞行器姿态变化引起螺旋桨转轴方向发生变动,变化为角速率 Ω ⃗ \vec{\Omega} Ω,则由赖柴耳定理及陀螺的近似理论知,此时作用于螺旋桨的外力矩 M 0 ⃗ = Ω ⃗ × I ω ⃗ = Ω ⃗ × H ⃗ \vec{M_0} = \vec{\Omega} \times I\vec{\omega} = \vec{\Omega} \times \vec{H} M0=Ω×Iω=Ω×H, 而陀螺力矩 M G ⃗ = − M 0 ⃗ = I ω ⃗ × Ω ⃗ = H ⃗ × Ω ⃗ \vec{M_G} = -\vec{M_0} = I\vec{\omega} \times \vec{\Omega} = \vec{H} \times \vec{\Omega} MG=−M0=Iω×Ω=H×Ω。式中 I I I是螺旋桨对自转轴轴的转动惯量, H ⃗ \vec{H} H是螺旋桨的角动量。(参考百度百科陀螺力矩词条) 注意:上述公式中各向量应为同一坐标系下的向量。 考虑体轴角速率为 [ p q r ] ′ [p\ q\ r]' [p q r]′,则可分别写出螺旋桨轴下螺旋桨陀螺力矩和机体轴下陀螺力矩如下:
螺旋桨轴
M
g
p
⃗
=
H
p
⃗
×
Ω
p
⃗
=
[
H
x
p
H
y
p
H
z
p
]
×
(
R
b
p
⋅
[
p
q
r
]
)
\vec{M_{gp}} = \vec{H_p} \times \vec{\Omega_p} =\left[ \begin{matrix} H_{xp}\\H_{yp}\\H_{zp} \end{matrix} \right] \times \left( R_b^p \cdot \left[ \begin{matrix} p\\q\\r \end{matrix} \right] \right)
Mgp=Hp×Ωp=⎣⎡HxpHypHzp⎦⎤×⎝⎛Rbp⋅⎣⎡pqr⎦⎤⎠⎞
机体轴
M
g
b
⃗
=
H
b
⃗
×
Ω
b
⃗
=
[
H
x
b
H
y
b
H
z
b
]
×
[
p
q
r
]
=
(
(
R
b
p
)
−
1
⋅
[
H
x
p
H
y
p
H
z
p
]
)
×
[
p
q
r
]
\vec{M_{gb}} = \vec{H_b} \times \vec{\Omega_b} =\left[ \begin{matrix} H_{xb}\\H_{yb}\\H_{zb} \end{matrix} \right] \times \left[ \begin{matrix} p\\q\\r \end{matrix} \right] = \left( (R_b^p)^{-1} \cdot \left[ \begin{matrix} H_{xp}\\H_{yp}\\H_{zp} \end{matrix} \right] \right) \times \left[ \begin{matrix} p\\q\\r \end{matrix} \right]
Mgb=Hb×Ωb=⎣⎡HxbHybHzb⎦⎤×⎣⎡pqr⎦⎤=⎝⎛(Rbp)−1⋅⎣⎡HxpHypHzp⎦⎤⎠⎞×⎣⎡pqr⎦⎤
考虑常规螺旋桨,旋转轴与螺旋桨
z
z
z轴重合,即只有
z
z
z轴角动量不为零,其他两轴的角动量为零。
1.5. 螺旋桨动力学方程
综合上述力、力矩方程,可写出螺旋桨动力学方程如下:
[
F
b
⃗
M
b
⃗
]
=
[
F
f
b
⃗
M
f
b
⃗
+
M
m
b
⃗
+
M
g
b
⃗
]
=
[
(
R
b
p
)
−
1
⋅
[
F
x
f
p
F
y
f
p
F
z
f
p
]
r
⃗
×
(
(
R
b
p
)
−
1
⋅
[
F
x
f
p
F
y
f
p
F
z
f
p
]
)
+
(
R
b
p
)
−
1
⋅
[
M
x
m
p
M
y
m
p
M
z
m
p
]
+
(
(
R
b
p
)
−
1
⋅
[
H
x
p
H
y
p
H
z
p
]
)
×
[
p
q
r
]
]
\begin{aligned} \left[ \begin{matrix} \vec{F_b} \\ \vec{M_b} \end{matrix} \right] =& \left[ \begin{matrix} \vec{F_{fb}} \\ \vec{M_{fb}} + \vec{M_{mb}} + \vec{M_{gb}} \end{matrix} \right] \\ =& \left[ \begin{matrix} (R_b^p)^{-1} \cdot \left[ \begin{matrix} F_{xfp}\\F_{yfp}\\F_{zfp} \end{matrix} \right] \\ \vec{r} \times \left( (R_b^p)^{-1} \cdot \left[ \begin{matrix} F_{xfp}\\F_{yfp}\\F_{zfp} \end{matrix} \right] \right) + (R_b^p)^{-1} \cdot \left[ \begin{matrix} M_{xmp}\\M_{ymp}\\M_{zmp} \end{matrix} \right] + \left( (R_b^p)^{-1} \cdot \left[ \begin{matrix} H_{xp}\\H_{yp}\\H_{zp} \end{matrix} \right] \right) \times \left[ \begin{matrix} p\\q\\r \end{matrix} \right] \end{matrix} \right] \end{aligned}
[FbMb]==[FfbMfb+Mmb+Mgb]⎣⎢⎢⎢⎢⎢⎢⎡(Rbp)−1⋅⎣⎡FxfpFyfpFzfp⎦⎤r×⎝⎛(Rbp)−1⋅⎣⎡FxfpFyfpFzfp⎦⎤⎠⎞+(Rbp)−1⋅⎣⎡MxmpMympMzmp⎦⎤+⎝⎛(Rbp)−1⋅⎣⎡HxpHypHzp⎦⎤⎠⎞×⎣⎡pqr⎦⎤⎦⎥⎥⎥⎥⎥⎥⎤
考虑常规螺旋桨,以图示螺旋桨为例,螺旋桨顺时针旋转,螺旋桨拉力为
F
F
F,反扭力矩为
M
M
M,Z轴转动惯量为
I
z
z
I_{zz}
Izz,螺旋桨转速为
ω
\omega
ω,位置矢量为
[
l
c
o
s
(
θ
)
l
s
i
n
(
θ
)
0
]
′
[lcos(\theta)\ lsin(\theta)\ 0]'
[lcos(θ) lsin(θ) 0]′,上述各量均为标量,螺旋桨动力学方程可简化为:
[
F
b
⃗
M
b
⃗
]
=
[
(
R
b
p
)
−
1
⋅
[
0
0
−
F
]
[
l
c
o
s
(
θ
)
l
s
i
n
(
θ
)
0
]
×
(
(
R
b
p
)
−
1
⋅
[
0
0
−
F
]
)
+
(
R
b
p
)
−
1
⋅
[
0
0
−
M
]
+
(
(
R
b
p
)
−
1
⋅
[
0
0
ω
I
z
z
]
)
×
[
p
q
r
]
]
\begin{aligned} \left[ \begin{matrix} \vec{F_b} \\ \vec{M_b} \end{matrix} \right] =& \left[ \begin{matrix} (R_b^p)^{-1} \cdot \left[ \begin{matrix} 0\\0\\-F \end{matrix} \right] \\ \left[ \begin{matrix} lcos(\theta)\\ lsin(\theta)\\ 0 \end{matrix} \right] \times \left( (R_b^p)^{-1} \cdot \left[ \begin{matrix} 0\\0\\-F \end{matrix} \right] \right) + (R_b^p)^{-1} \cdot \left[ \begin{matrix} 0\\0\\-M \end{matrix} \right] + \left( (R_b^p)^{-1} \cdot \left[ \begin{matrix} 0\\0\\\omega I_{zz} \end{matrix} \right] \right) \times \left[ \begin{matrix} p\\q\\r \end{matrix} \right] \end{matrix} \right] \end{aligned}
[FbMb]=⎣⎢⎢⎢⎢⎢⎢⎡(Rbp)−1⋅⎣⎡00−F⎦⎤⎣⎡lcos(θ)lsin(θ)0⎦⎤×⎝⎛(Rbp)−1⋅⎣⎡00−F⎦⎤⎠⎞+(Rbp)−1⋅⎣⎡00−M⎦⎤+⎝⎛(Rbp)−1⋅⎣⎡00ωIzz⎦⎤⎠⎞×⎣⎡pqr⎦⎤⎦⎥⎥⎥⎥⎥⎥⎤
PS1:螺旋桨顺时针旋转,在机体坐标系下, z z z轴反扭力矩为负, z z z轴角动量为正。
PS2:上述公式中“
×
\times
×”运算符代表求向量积,对于向量
A
,
B
A,B
A,B及其向量积
C
C
C,运算关系如下:
A
=
a
1
i
⃗
+
a
2
j
⃗
+
a
3
k
⃗
B
=
b
1
i
⃗
+
b
2
j
⃗
+
b
3
k
⃗
C
=
A
×
B
=
∣
i
⃗
j
⃗
k
⃗
a
1
a
2
a
3
b
1
b
2
b
3
∣
=
(
a
2
b
3
−
a
3
b
2
)
i
⃗
+
(
a
3
b
1
−
a
1
b
3
)
j
⃗
+
(
a
1
b
2
−
a
2
b
1
)
k
⃗
\begin{aligned} A =&\ a_1\vec{i}+a_2\vec{j}+a_3\vec{k}\\ B =&\ b_1\vec{i}+b_2\vec{j}+b_3\vec{k}\\ C =&\ A \times B =\ \left| \begin{matrix} \vec{i}&\vec{j}&\vec{k}\\ a_1&a_2&a_3\\ b_1&b_2&b_3 \end{matrix} \right|\\ =&\ (a_2b_3 - a_3b_2)\vec{i} + (a_3b_1 - a_1b_3)\vec{j} + (a_1b_2 - a_2b_1)\vec{k} \end{aligned}
A=B=C== a1i+a2j+a3k b1i+b2j+b3k A×B= ∣∣∣∣∣∣ia1b1ja2b2ka3b3∣∣∣∣∣∣ (a2b3−a3b2)i+(a3b1−a1b3)j+(a1b2−a2b1)k
(参考matlab向量积定义)