本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,本篇文章主要参考了康日晖的《四旋翼无人机建模》与南京邮电大学周帆同学的硕士毕业论文,最后我会给出参考文章网址,有兴趣的同学可以看看。
一、无人机建模过程
1.坐标系建立
为了更好的描述无人机的姿态,需要建立两个坐标系:一是地面坐标系;二是机体坐标系。首先建立地面坐标系。
地面坐标系,顾名思义就是一种固定在地球表面的坐标系。在地面上任选一点O作为原点,X轴指向地球表面任意一个方向,Z轴沿着铅直方向指向天空,Y轴在水平面内与X轴垂直,指向通过右手法则来确定。飞行器的位姿,速度,角速度等都是相对于这一坐标系来衡量的,在这里,我们将地面坐标系记为{E-OXYZ}系,其图如下所示:
机体坐标系,很显然,该坐标系建立在飞行器上。原点o位于飞行器的质心处,对于四旋翼而言,其实为四旋翼中心;x轴在飞机的对称平面内,并且平行于飞行器的设计轴线,指向机头前方;y轴垂直于机身对称平面,并指向机身右方;z轴过o点并于xoy平面垂直,指向飞行器上方。该坐标系我们一般记为{B-oxyz}系,其示意图如下:
机体坐标系和地面坐标系之间的转换关系可以通过三个欧拉角进行描述,分别是俯仰角
θ
\theta
θ,横滚角
ϕ
\phi
ϕ,偏航角
ψ
\psi
ψ。记地面坐标系为E系,机体坐标系为B系,从地面坐标系变换到机体坐标系的变换过程如下:
1.{B}的初始方位与坐标系{E}重合,首先{B}绕
X
E
轴
X_{E}轴
XE轴,即地面坐标系的X轴旋转横滚角
ϕ
\phi
ϕ,得到新坐标系记作
B
1
B_{1}
B1
2.将
B
1
B_{1}
B1坐标系绕
Y
E
Y_{E}
YE轴,即地面坐标系的Y轴旋转俯仰角
θ
\theta
θ,得到新坐标系记作
B
2
B_{2}
B2
3.将
B
2
B_{2}
B2坐标系绕
Z
E
Z_{E}
ZE轴,即地面坐标系的Z轴旋转偏航角
ψ
\psi
ψ,得到新坐标系记作
B
3
B_{3}
B3,该坐标系就是我们飞行器运动后的机体坐标系
由于上述一系列坐标系变换都是相对于固定坐标系{E}旋转合成得到,因此可以通过左乘基本旋转矩阵得到机体坐标系{B}转换到地面坐标系{E}的旋转矩阵,计算公式如下:
B
E
R
=
R
z
(
ψ
)
R
y
(
θ
)
R
x
(
ϕ
)
(
1
)
_{B}^{E}\textrm{R}=R_{z}(\psi)R_{y}(\theta)R_{x}(\phi) (1)
BER=Rz(ψ)Ry(θ)Rx(ϕ)(1)其中
B
E
R
_{B}^{E}\textrm{R}
BER是机体坐标系B转换到地面坐标系{E}的旋转矩阵,
R
x
,
R
y
,
R
z
R_{x},R_{y},R_{z}
Rx,Ry,Rz分别是绕x,y,z轴旋转的基本旋转矩阵,将(1)式展开
B
E
R
=
[
c
o
s
(
ψ
)
−
s
i
n
(
ψ
)
0
s
i
n
(
ψ
)
c
o
s
(
ψ
)
0
0
0
1
]
[
c
o
s
(
θ
)
0
s
i
n
(
θ
)
0
1
0
−
s
i
n
(
θ
)
0
c
o
s
(
θ
)
]
[
1
0
0
0
c
o
s
(
ϕ
)
−
s
i
n
(
ϕ
)
0
s
i
n
(
ϕ
)
c
o
s
(
ϕ
)
]
_{B}^{E}\textrm{R}=\begin{bmatrix} cos(\psi) &-sin(\psi) &0 \\ sin(\psi) &cos(\psi) &0 \\ 0 &0 &1 \end{bmatrix}\begin{bmatrix} cos(\theta) &0 &sin(\theta) \\ 0 &1 &0 \\ -sin(\theta) &0 &cos(\theta) \end{bmatrix}\begin{bmatrix} 1 &0 &0 \\ 0 &cos(\phi) &-sin(\phi) \\ 0 &sin(\phi) &cos(\phi) \end{bmatrix}
BER=⎣⎡cos(ψ)sin(ψ)0−sin(ψ)cos(ψ)0001⎦⎤⎣⎡cos(θ)0−sin(θ)010sin(θ)0cos(θ)⎦⎤⎣⎡1000cos(ϕ)sin(ϕ)0−sin(ϕ)cos(ϕ)⎦⎤将上式化简,可得
B
E
R
=
[
c
o
s
(
θ
)
c
o
s
(
ψ
)
s
i
n
(
θ
)
s
i
n
(
ϕ
)
c
o
s
(
ψ
)
−
s
i
n
(
ψ
)
c
o
s
(
ϕ
)
s
i
n
(
ψ
)
s
i
n
(
ϕ
)
+
s
i
n
(
θ
)
c
o
s
(
ϕ
)
c
o
s
(
ψ
)
s
i
n
(
ψ
)
c
o
s
(
θ
)
c
o
s
(
ϕ
)
c
o
s
(
ψ
)
+
s
i
n
(
ϕ
)
s
i
n
(
ψ
)
s
i
n
(
θ
)
s
i
n
(
θ
)
s
i
n
(
ψ
)
c
o
s
(
ϕ
)
−
s
i
n
(
ϕ
)
c
o
s
(
ψ
)
−
s
i
n
(
θ
)
s
i
n
(
ϕ
)
c
o
s
(
θ
)
c
o
s
(
θ
)
c
o
s
(
ϕ
)
]
(
2
)
_{B}^{E}\textrm{R}=\begin{bmatrix} cos(\theta )cos(\psi ) &sin(\theta )sin(\phi )cos(\psi )-sin(\psi )cos(\phi ) &sin(\psi )sin(\phi )+sin(\theta )cos(\phi )cos(\psi ) \\ sin(\psi )cos(\theta ) &cos(\phi )cos(\psi )+sin(\phi )sin(\psi )sin(\theta ) &sin(\theta )sin(\psi )cos(\phi )-sin(\phi )cos(\psi) \\ -sin(\theta ) &sin(\phi )cos(\theta ) &cos(\theta )cos(\phi ) \end{bmatrix}(2)
BER=⎣⎡cos(θ)cos(ψ)sin(ψ)cos(θ)−sin(θ)sin(θ)sin(ϕ)cos(ψ)−sin(ψ)cos(ϕ)cos(ϕ)cos(ψ)+sin(ϕ)sin(ψ)sin(θ)sin(ϕ)cos(θ)sin(ψ)sin(ϕ)+sin(θ)cos(ϕ)cos(ψ)sin(θ)sin(ψ)cos(ϕ)−sin(ϕ)cos(ψ)cos(θ)cos(ϕ)⎦⎤(2)则机体坐标系{B}与地面坐标系{E}之间的转换关系满足下式:
[
X
Y
Z
]
=
B
E
R
[
x
y
z
]
(
3
)
\begin{bmatrix} X\\ Y\\ Z \end{bmatrix}=_{B}^{E}\textrm{R}\begin{bmatrix} x\\ y\\ z \end{bmatrix}(3)
⎣⎡XYZ⎦⎤=BER⎣⎡xyz⎦⎤(3)其中
[
X
,
Y
,
Z
]
T
\begin{bmatrix} X, &Y, &Z \end{bmatrix}^{T}
[X,Y,Z]T是某点p在地面坐标系中的表示,
[
x
,
y
,
z
]
T
\begin{bmatrix} x, &y, &z \end{bmatrix}^{T}
[x,y,z]T是某点p在机体坐标系中的表示。至此,无人机系统的坐标系建立完成,接下来进行动力学建模。
2.无人机动力学建模
(1)无人机位置模型
无人机动力学建模主要依据牛顿第二定律,即
{
F
→
=
m
d
V
→
d
t
M
→
=
d
H
→
d
t
(
4
)
\left \{ \begin{matrix} \overrightarrow{F}= &m\frac{d\overrightarrow{V}}{dt} \\ \overrightarrow{M}= &\frac{d\overrightarrow{H}}{dt} \end{matrix} \right.(4)
{F=M=mdtdVdtdH(4)
F
→
\overrightarrow{F}
F是作用于四旋翼上所有外力的和;
V
→
\overrightarrow{V}
V是四旋翼质心速度;m为四旋翼质量;
H
→
\overrightarrow{H}
H为四旋翼相对于地面坐标系的动量矩。
首先考虑四旋翼所受外力,则可以得到如下公式:
m
a
=
F
D
+
F
G
+
f
+
D
i
(
5
)
ma=F_{D}+F_{G}+f+D_{i}(5)
ma=FD+FG+f+Di(5)其中:
a
=
[
x
¨
y
¨
z
¨
]
T
a=\begin{bmatrix} \ddot{x} &\ddot{y} &\ddot{z} \end{bmatrix}^{T}
a=[x¨y¨z¨]T表示无人机位置信息的加速度,
F
D
F_{D}
FD表示四旋翼无人机四个旋翼产生的升力之和,上面的公式是在地面坐标系下表示,因此四旋翼四个旋翼的升力之和需要在地面坐标系下表示,定义四旋翼无人机四个旋翼产生的升力之和在机体坐标系下的表示为
B
F
D
_{}^{B}\textrm{F}_{D}
BFD,则其大小为
B
F
D
=
∑
j
=
1
4
ρ
ω
j
2
(
6
)
_{}^{B}\textrm{F}_{D}=\sum_{j=1}^{4}\rho \omega _{j}^{2}(6)
BFD=j=1∑4ρωj2(6)其中
ρ
\rho
ρ是升力系数,
ω
j
\omega _{j}
ωj是电机旋转的角速度。该力的方向与机体坐标系的z轴方向一致,因此可以将其写为:
B
F
D
=
[
0
0
∑
j
=
1
4
ρ
ω
j
2
]
(
7
)
_{}^{B}\textrm{F}_{D}=\begin{bmatrix} 0\\ 0\\ \sum_{j=1}^{4}\rho \omega _{j}^{2} \end{bmatrix}(7)
BFD=⎣⎡00∑j=14ρωj2⎦⎤(7)将其转换到地面坐标系
F
D
=
E
F
D
=
B
E
R
B
F
D
(
8
)
F_{D}=_{}^{E}\textrm{F}_{D}=_{B}^{E}\textrm{R}_{}^{B}\textrm{F}_{D}(8)
FD=EFD=BERBFD(8)
F
G
F_{G}
FG表示四旋翼受到的重力,在地面坐标系中方向垂直向下,大小为mg;
f
f
f表示四旋翼所受空气阻力,其大小为
f
=
k
v
f=kv
f=kv,k为空气阻力系数,v为飞行器速度;
D
i
D_{i}
Di表示四旋翼无人机内部不可建模的部分及外部扰动,其表达式:
D
i
=
[
d
1
d
2
d
3
]
(
9
)
D_{i}=\begin{bmatrix} d_{1}\\ d_{2}\\ d_{3} \end{bmatrix}(9)
Di=⎣⎡d1d2d3⎦⎤(9)将(8),(9)代入(5)中,可得下式:
m
[
x
¨
y
¨
z
¨
]
=
B
E
R
[
0
0
∑
j
=
1
4
ρ
ω
j
2
]
−
m
[
0
0
g
]
−
[
k
1
x
˙
k
2
y
˙
k
3
z
˙
]
+
[
d
1
d
2
d
3
]
(
10
)
m\begin{bmatrix} \ddot{x}\\ \ddot{y}\\ \ddot{z} \end{bmatrix}=_{B}^{E}\textrm{R}\begin{bmatrix} 0\\ 0\\ \sum_{j=1}^{4}\rho\omega _{j}^{2} \end{bmatrix}-m\begin{bmatrix} 0\\ 0\\ g \end{bmatrix}-\begin{bmatrix} k_{1}\dot{x}\\ k_{2}\dot{y}\\ k_{3}\dot{z} \end{bmatrix}+\begin{bmatrix} d_{1}\\ d_{2}\\ d_{3} \end{bmatrix}(10)
m⎣⎡x¨y¨z¨⎦⎤=BER⎣⎡00∑j=14ρωj2⎦⎤−m⎣⎡00g⎦⎤−⎣⎡k1x˙k2y˙k3z˙⎦⎤+⎣⎡d1d2d3⎦⎤(10)其中
k
1
,
k
2
,
k
3
k_{1},k_{2},k_{3}
k1,k2,k3分别是x,y,z三个方向的阻力系数,
x
˙
,
y
˙
,
z
˙
\dot{x},\dot{y},\dot{z}
x˙,y˙,z˙代表了在x,y,z三个方向的速度,将
B
E
R
_{B}^{E}\textrm{R}
BER的值代入上式,可得
{
x
¨
=
∑
j
=
1
4
ρ
ω
j
2
m
(
s
ψ
s
ϕ
+
c
ψ
c
ϕ
s
θ
)
−
k
1
m
x
˙
+
d
1
y
¨
=
∑
j
=
1
4
ρ
ω
j
2
m
(
s
ψ
s
θ
c
ϕ
−
c
ψ
s
ϕ
)
−
k
2
m
y
˙
+
d
2
z
¨
=
∑
j
=
1
4
ρ
ω
j
2
m
c
θ
c
ϕ
−
g
−
k
3
m
z
˙
+
d
3
(
11
)
\left\{\begin{matrix} \ddot{x}=&\frac{\sum_{j=1}^{4}\rho \omega _{j}^{2}}{m}(s\psi s\phi +c\psi c\phi s\theta )&-\frac{k_{1}}{m}\dot{x}+d_{1}& \\ \ddot{y}=&\frac{\sum_{j=1}^{4}\rho \omega _{j}^{2}}{m}(s\psi s\theta c\phi - c\psi s\phi)&-\frac{k_{2}}{m}\dot{y}+d_{2}& \\ \ddot{z}=&\frac{\sum_{j=1}^{4}\rho \omega _{j}^{2}}{m}c\theta c\phi -g-\frac{k_{3}}{m}\dot{z}+d_{3}& & \end{matrix}\right.(11)
⎩⎪⎪⎨⎪⎪⎧x¨=y¨=z¨=m∑j=14ρωj2(sψsϕ+cψcϕsθ)m∑j=14ρωj2(sψsθcϕ−cψsϕ)m∑j=14ρωj2cθcϕ−g−mk3z˙+d3−mk1x˙+d1−mk2y˙+d2(11)上式就是无人机位置模型,其中
s
θ
=
s
i
n
(
θ
)
,
c
θ
=
c
o
s
(
θ
)
s\theta =sin(\theta ),c\theta =cos(\theta )
sθ=sin(θ),cθ=cos(θ)
(2)无人机姿态模型
在获得无人机位置模型后,要考虑四旋翼的姿态,为了更加方便描述姿态,下面公式描述是在机体坐标系下描述。根据(4)式,对四旋翼进行力矩分析,设M为作用于四旋翼无人机上的合力矩,则
M
=
M
L
+
M
f
(
12
)
M=M_{L}+M_{f}(12)
M=ML+Mf(12)
M
f
M_{f}
Mf是空气阻力对旋翼产生的反力矩。当飞行器两组旋翼产生的力矩不相等时,便会导致四旋翼无人机的偏航运动。由此可得,空气阻力对旋翼产生的反力矩为
M
f
=
M
f
2
+
M
f
4
−
M
f
1
−
M
f
3
=
[
0
0
∑
j
=
1
4
(
−
1
)
j
γ
ω
j
2
]
(
13
)
M_{f}=M_{f2}+M_{f4}-M_{f1}-M_{f3}=\begin{bmatrix} 0\\ 0\\ \sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2} \end{bmatrix}(13)
Mf=Mf2+Mf4−Mf1−Mf3=⎣⎡00∑j=14(−1)jγωj2⎦⎤(13)其中,
γ
\gamma
γ为转动空气阻力系数。
M
L
=
[
M
L
x
,
M
L
y
,
M
L
z
]
T
M_{L}=[M_{Lx},M_{Ly},M_{Lz}]^{T}
ML=[MLx,MLy,MLz]T表示四旋翼无人机四个旋翼产生的升力矩之和。
L
L
L表示每个旋翼到四旋翼无人机重心的距离,可由右手定则得到旋翼产生的升力矩如下 (示意图见上面)
M
L
=
[
M
L
x
M
L
y
M
L
z
]
=
[
L
(
F
L
4
−
F
L
2
)
L
(
F
L
3
−
F
L
1
)
0
]
(
14
)
M_{L}=\begin{bmatrix} M_{Lx}\\ M_{Ly}\\ M_{Lz} \end{bmatrix}=\begin{bmatrix} L(F_{L4}-F_{L2})\\ L(F_{L3}-F_{L1})\\ 0 \end{bmatrix}(14)
ML=⎣⎡MLxMLyMLz⎦⎤=⎣⎡L(FL4−FL2)L(FL3−FL1)0⎦⎤(14)其中,
F
L
1
,
F
L
2
,
F
L
3
,
F
L
4
F_{L1},F_{L2},F_{L3},F_{L4}
FL1,FL2,FL3,FL4分别是Motor1----Motor4四个电机产生的力,将(13),(14)式代入(12)中,可得下式
M
=
M
L
+
M
f
=
[
L
(
F
L
4
−
F
L
2
)
L
(
F
L
3
−
F
L
1
)
∑
j
=
1
4
(
−
1
)
j
γ
ω
j
2
]
(
15
)
M=M_{L}+M_{f}=\begin{bmatrix} L(F_{L4}-F_{L2})\\ L(F_{L3}-F_{L1})\\ \sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2} \end{bmatrix}(15)
M=ML+Mf=⎣⎡L(FL4−FL2)L(FL3−FL1)∑j=14(−1)jγωj2⎦⎤(15)由角动量定理及哥式定理有转动方程
M
=
I
ϖ
˙
+
ϖ
×
I
ϖ
(
16
)
M=I\dot{\varpi }+\varpi \times I\varpi (16)
M=Iϖ˙+ϖ×Iϖ(16)其中,
I
I
I表示四旋翼无人机在机体坐标系下的转动惯量,为对角矩阵,表达式如下
I
=
[
I
x
x
0
0
0
I
y
y
0
0
0
I
z
z
]
(
17
)
I=\begin{bmatrix} I_{xx} &0 &0 \\ 0&I_{yy} &0 \\ 0&0 &I_{zz} \end{bmatrix}(17)
I=⎣⎡Ixx000Iyy000Izz⎦⎤(17)
ϖ
=
[
p
,
q
,
r
]
T
\varpi=[p,q,r]^{T}
ϖ=[p,q,r]T,
p
,
q
,
r
p,q,r
p,q,r是机体坐标系下的横滚,俯仰,偏航角速度,所以(16)式可改写如下:
M
=
[
I
x
x
0
0
0
I
y
y
0
0
0
I
z
z
]
[
p
˙
q
˙
r
˙
]
+
[
p
q
r
]
×
[
I
x
x
0
0
0
I
y
y
0
0
0
I
z
z
]
[
p
q
r
]
(
18
)
M=\begin{bmatrix} I_{xx} &0 &0 \\ 0&I_{yy} &0 \\ 0&0 &I_{zz} \end{bmatrix}\begin{bmatrix} \dot{p}\\ \dot{q}\\ \dot{r} \end{bmatrix}+\begin{bmatrix} p\\ q\\ r \end{bmatrix}\times \begin{bmatrix} I_{xx} &0 &0 \\ 0&I_{yy} &0 \\ 0&0 &I_{zz} \end{bmatrix}\begin{bmatrix} p\\ q\\ r \end{bmatrix}(18)
M=⎣⎡Ixx000Iyy000Izz⎦⎤⎣⎡p˙q˙r˙⎦⎤+⎣⎡pqr⎦⎤×⎣⎡Ixx000Iyy000Izz⎦⎤⎣⎡pqr⎦⎤(18)结合式(15)与式(18),可得四旋翼的姿态方程
{
p
˙
=
q
r
(
I
y
y
−
I
z
z
I
x
x
)
+
L
(
F
L
4
−
F
L
2
)
I
x
x
q
˙
=
p
r
(
I
z
z
−
I
x
x
I
y
y
)
+
L
(
F
L
3
−
F
L
1
)
I
y
y
r
˙
=
p
q
(
I
x
x
−
I
y
y
I
z
z
)
+
∑
j
=
1
4
(
−
1
)
j
γ
ω
j
2
I
z
z
(
19
)
\left\{\begin{matrix} \dot{p}=qr(\frac{I_{yy}-I_{zz}}{I_{xx}})+\frac{L(F_{L4}-F_{L2})}{I_{xx}}\\ \dot{q}=pr(\frac{I_{zz}-I_{xx}}{I_{yy}})+\frac{L(F_{L3}-F_{L1})}{I_{yy}}\\ \dot{r}=pq(\frac{I_{xx}-I_{yy}}{I_{zz}})+\frac{\sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2}}{I_{zz}} \end{matrix}\right.(19)
⎩⎪⎪⎨⎪⎪⎧p˙=qr(IxxIyy−Izz)+IxxL(FL4−FL2)q˙=pr(IyyIzz−Ixx)+IyyL(FL3−FL1)r˙=pq(IzzIxx−Iyy)+Izz∑j=14(−1)jγωj2(19)
由于角速度
ϖ
=
[
p
,
q
,
r
]
T
\varpi=[p,q,r]^{T}
ϖ=[p,q,r]T是在机体坐标系下的描述,而前面四旋翼运动方程是在地面坐标系下的描述,角速度
ϖ
\varpi
ϖ与欧拉角
[
ϕ
,
θ
,
ψ
]
T
[\phi ,\theta ,\psi ]^{T}
[ϕ,θ,ψ]T有如下转换关系(坐标变换,乘以旋转矩阵):
{
ϕ
˙
=
p
+
q
s
i
n
(
ϕ
)
t
a
n
(
θ
)
+
r
c
o
s
(
ϕ
)
t
a
n
(
θ
)
θ
˙
=
q
c
o
s
(
ϕ
)
−
r
s
i
n
(
ϕ
)
ψ
˙
=
q
s
i
n
(
ϕ
)
/
c
o
s
θ
+
r
c
o
s
(
ϕ
)
/
c
o
s
(
θ
)
(
20
)
\left\{\begin{matrix} \dot{\phi }=&p+qsin(\phi )tan(\theta )+rcos(\phi )tan(\theta ) \\ \dot{\theta }= &qcos(\phi )-rsin(\phi ) \\ \dot{\psi }= & qsin(\phi )/cos\theta +rcos(\phi )/cos(\theta ) \end{matrix}\right.(20)
⎩⎨⎧ϕ˙=θ˙=ψ˙=p+qsin(ϕ)tan(θ)+rcos(ϕ)tan(θ)qcos(ϕ)−rsin(ϕ)qsin(ϕ)/cosθ+rcos(ϕ)/cos(θ)(20)当姿态角小位移运动时,
s
i
n
ϕ
≈
s
i
n
θ
≈
s
i
n
ψ
≈
0
sin\phi \approx sin\theta \approx sin\psi \approx 0
sinϕ≈sinθ≈sinψ≈0
c
o
s
ϕ
≈
c
o
s
θ
≈
c
o
s
ψ
≈
1
cos\phi \approx cos\theta \approx cos\psi \approx 1
cosϕ≈cosθ≈cosψ≈1因此(20)改写如下
{
ϕ
˙
=
p
θ
˙
=
q
ψ
˙
=
r
(
21
)
\left\{\begin{matrix} \dot{\phi }=p\\ \dot{\theta }=q\\ \dot{\psi }=r \end{matrix}\right.(21)
⎩⎨⎧ϕ˙=pθ˙=qψ˙=r(21)将(21)代入(19),可得四旋翼姿态方程
{
ϕ
¨
=
θ
˙
ψ
˙
(
I
y
y
−
I
z
z
I
x
x
)
+
L
(
F
L
4
−
F
L
2
)
I
x
x
θ
¨
=
ϕ
˙
ψ
˙
(
I
z
z
−
I
x
x
I
y
y
)
+
L
(
F
L
3
−
F
L
1
)
I
y
y
ψ
¨
=
ϕ
˙
θ
˙
(
I
x
x
−
I
y
y
I
z
z
)
+
∑
j
=
1
4
(
−
1
)
j
γ
ω
j
2
I
z
z
(
22
)
\left\{\begin{matrix} \ddot{\phi }=\dot{\theta }\dot{\psi }(\frac{I_{yy}-I_{zz}}{I_{xx}})+\frac{L(F_{L4}-F_{L2})}{I_{xx}}\\ \ddot{\theta }=\dot{\phi }\dot{\psi }(\frac{I_{zz}-I_{xx}}{I_{yy}})+\frac{L(F_{L3}-F_{L1})}{I_{yy}}\\ \ddot{\psi }=\dot{\phi }\dot{\theta }(\frac{I_{xx}-I_{yy}}{I_{zz}})+\frac{\sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2}}{I_{zz}} \end{matrix}\right.(22)
⎩⎪⎪⎨⎪⎪⎧ϕ¨=θ˙ψ˙(IxxIyy−Izz)+IxxL(FL4−FL2)θ¨=ϕ˙ψ˙(IyyIzz−Ixx)+IyyL(FL3−FL1)ψ¨=ϕ˙θ˙(IzzIxx−Iyy)+Izz∑j=14(−1)jγωj2(22)
(3)无人机完整非线性模型
现定义 u i ( i = 1 , 2 , 3 , 4 ) u_{i}(i=1,2,3,4) ui(i=1,2,3,4)为四旋翼无人机的实际控制输入量,表达式如下 [ u 1 u 2 u 3 u 4 ] = [ F L 1 + F L 2 + F L 3 + F L 4 L ( F L 4 − F L 2 ) L ( F L 3 − F L 1 ) M f 2 + M f 4 − M f 1 − M f 3 ] = [ ∑ j = 1 4 ρ ω j 2 L ρ ( ω 4 2 − ω 2 2 ) L ρ ( ω 3 2 − ω 1 2 ) ∑ j = 1 4 ( − 1 ) j γ ω j 2 ] ( 23 ) \begin{bmatrix} u_{1}\\ u_{2}\\ u_{3}\\ u_{4} \end{bmatrix}=\begin{bmatrix} F_{L1}+F_{L2}+F_{L3}+F_{L4}\\ L(F_{L4}-F_{L2})\\ L(F_{L3}-F_{L1})\\ M_{f2}+M_{f4}-M_{f1}-M_{f3} \end{bmatrix}=\begin{bmatrix} \sum_{j=1}^{4}\rho \omega _{j}^{2}\\ L\rho(\omega _{4}^{2}-\omega _{2}^{2})\\ L\rho(\omega _{3}^{2}-\omega _{1}^{2})\\ \sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2} \end{bmatrix}(23) ⎣⎢⎢⎡u1u2u3u4⎦⎥⎥⎤=⎣⎢⎢⎡FL1+FL2+FL3+FL4L(FL4−FL2)L(FL3−FL1)Mf2+Mf4−Mf1−Mf3⎦⎥⎥⎤=⎣⎢⎢⎡∑j=14ρωj2Lρ(ω42−ω22)Lρ(ω32−ω12)∑j=14(−1)jγωj2⎦⎥⎥⎤(23)其中, u 1 u_{1} u1控制四旋翼无人机的垂直运动; u 2 u_{2} u2控制四旋翼无人机的滚转运动; u 3 u_{3} u3控制四旋翼无人机的俯仰运动; u 4 u_{4} u4控制四旋翼无人机的偏航运动。
将式(23)代入(11)与(22)中,可得无人机完整非线性方程 { x ¨ = u 1 m ( s ψ s ϕ + c ψ c ϕ s θ ) − k 1 m x ˙ + d 1 y ¨ = u 1 m ( s ψ s θ c ϕ − c ψ s ϕ ) − k 2 m y ˙ + d 2 z ¨ = u 1 m c θ c ϕ − g − k 3 m z ˙ + d 3 ϕ ¨ = θ ˙ ψ ˙ ( I y y − I z z I x x ) + u 2 I x x + d 4 θ ¨ = ϕ ˙ ψ ˙ ( I z z − I x x I y y ) + u 3 I y y + d 5 ψ ¨ = ϕ ˙ θ ˙ ( I x x − I y y I z z ) + u 4 I z z + d 6 ( 24 ) \left\{\begin{matrix} \ddot{x}=\frac{ u_{1}}{m}(s\psi s\phi +c\psi c\phi s\theta )-\frac{k_{1}}{m}\dot{x}+d_{1}\\ \ddot{y}=\frac{ u_{1}}{m}(s\psi s\theta c\phi - c\psi s\phi)-\frac{k_{2}}{m}\dot{y}+d_{2}\\ \ddot{z}=\frac{ u_{1}}{m}c\theta c\phi -g-\frac{k_{3}}{m}\dot{z}+d_{3}\\ \ddot{\phi }=\dot{\theta }\dot{\psi }(\frac{I_{yy}-I_{zz}}{I_{xx}})+\frac{u_{2}}{I_{xx}}+d_{4}\\ \ddot{\theta }=\dot{\phi }\dot{\psi }(\frac{I_{zz}-I_{xx}}{I_{yy}})+\frac{u_{3}}{I_{yy}}+d_{5}\\ \ddot{\psi }=\dot{\phi }\dot{\theta }(\frac{I_{xx}-I_{yy}}{I_{zz}})+\frac{u_{4}}{I_{zz}}+d_{6} \end{matrix}\right.(24) ⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧x¨=mu1(sψsϕ+cψcϕsθ)−mk1x˙+d1y¨=mu1(sψsθcϕ−cψsϕ)−mk2y˙+d2z¨=mu1cθcϕ−g−mk3z˙+d3ϕ¨=θ˙ψ˙(IxxIyy−Izz)+Ixxu2+d4θ¨=ϕ˙ψ˙(IyyIzz−Ixx)+Iyyu3+d5ψ¨=ϕ˙θ˙(IzzIxx−Iyy)+Izzu4+d6(24)式中, d i , ( i = 1 , 2...6 ) d_{i},(i=1,2...6) di,(i=1,2...6)是系统扰动,四旋翼模型建立完毕。
二、无人机simulink模型
为了简化模型,我们令
k
i
=
0
(
i
=
1
,
2
,
3
)
k_{i}=0(i=1,2,3)
ki=0(i=1,2,3),即忽略空气阻力;令
d
i
=
0
(
i
=
1
,
2...6
)
d_{i}=0(i=1,2...6)
di=0(i=1,2...6),即认为不存在系统扰动,有需要的同学这两样可以自己加,我建立的模型不包括这两部分。
由于simulink不方便打希腊字母,我用了一些简单符号替代,具体替代如下表:
原符号 | simulink中替代符号 | 含义 |
---|---|---|
ϕ \phi ϕ | fan | 横滚角 |
θ \theta θ | theta | 俯仰角 |
ψ \psi ψ | psi | 偏航角 |
ρ \rho ρ | rho | 四旋翼升力系数 |
γ \gamma γ | gama | 空气阻力系数 |
模型无人机参数选择如下:
可以根据自己需要修改;模型已经上传,可自行下载(两个版本:Matlab2020b与Matlab2013b)
https://github.com/hjl-up/Quadrotor
三、模型推导补充
关于公式(20)的推导,参考链接: 欧拉角速率与机体角速度转换详细推导
.