四轴模型在空中飞行,需要满足牛顿第二定律和欧拉运动定律:
{
m
a
→
=
m
d
V
→
d
t
=
m
g
→
+
M
L
→
G
→
+
τ
→
=
I
ω
˙
→
+
ω
→
×
I
ω
→
\begin{cases} m\overrightarrow{a}= m\cfrac{d\overrightarrow{V}}{dt} = m \overrightarrow{g} + M \overrightarrow{L} \\ \overrightarrow{G} + \overrightarrow{\tau} = I\overrightarrow{\dot{\omega}} + \overrightarrow{\omega} \times I \overrightarrow{\omega} \end{cases}
⎩⎨⎧ma=mdtdV=mg+MLG+τ=Iω˙+ω×Iω
ω
\omega
ω:飞控模型的角速度,
ω
b
→
=
ω
x
b
→
+
ω
y
b
→
+
ω
z
b
→
\overrightarrow{\omega^b}=\overrightarrow{\omega^b_x}+\overrightarrow{\omega^b_y}+\overrightarrow{\omega^b_z}
ωb=ωxb+ωyb+ωzb
V
→
\overrightarrow{V}
V:飞机模型的速度
G
→
\overrightarrow{G}
G:陀螺力矩
τ
\tau
τ:螺旋桨在机体轴上产生的力矩
I:3×3的惯性矩阵
T:每个电机和桨叶提供的升力
L:模型自身动力(升力),
L
→
=
T
1
→
+
T
2
→
+
T
3
→
+
T
4
→
\overrightarrow{L}=\overrightarrow{T_1}+\overrightarrow{T_2}+\overrightarrow{T_3}+\overrightarrow{T_4}
L=T1+T2+T3+T4
注:四旋翼飞行器动力学及运动学方程参考,这个也重新从牛顿第二定律温习推倒了一遍。
位置动力学模型
{
V
x
e
˙
=
−
L
m
⋅
(
cos
ϕ
⋅
sin
θ
⋅
cos
ψ
+
sin
ϕ
⋅
sin
ψ
)
V
y
e
˙
=
−
L
m
⋅
(
cos
ϕ
⋅
sin
θ
⋅
sin
ψ
−
sin
ϕ
⋅
cos
ψ
)
V
z
e
˙
=
g
−
L
m
⋅
(
cos
ϕ
⋅
cos
θ
)
\begin{cases} \dot{V^e_{x} }= -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\cos\psi + \sin\phi\cdot\sin\psi) \\ \dot{V^e_{y}} = -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\sin\psi - \sin\phi\cdot\cos\psi) \\ \dot{V^e_{z}} = g-\cfrac{L}{m}\cdot(\cos\phi\cdot\cos\theta) \end{cases}
⎩⎨⎧Vxe˙=−mL⋅(cosϕ⋅sinθ⋅cosψ+sinϕ⋅sinψ)Vye˙=−mL⋅(cosϕ⋅sinθ⋅sinψ−sinϕ⋅cosψ)Vze˙=g−mL⋅(cosϕ⋅cosθ)
姿态动力学模型
{
ω
x
b
˙
(
ϕ
)
=
1
I
x
x
[
τ
x
+
ω
y
b
ω
z
b
(
I
y
y
−
I
z
z
)
−
I
R
P
ω
y
b
Ω
]
ω
y
b
˙
(
θ
)
=
1
I
y
y
[
τ
y
+
ω
x
b
ω
z
b
(
I
z
z
−
I
x
x
)
+
I
R
P
ω
x
b
)
Ω
]
ω
z
b
˙
(
ψ
)
=
1
I
z
z
[
τ
z
+
ω
x
b
ω
y
b
(
I
x
x
−
I
y
y
)
]
\begin{cases} \dot{\omega^b_x}(\phi)= \cfrac{1}{I_{xx}}[\tau_x + \omega^b_y\omega^b_z(I_{yy} - I_{zz}) - I_{RP\omega^b_y}\varOmega] \\ \dot{\omega^b_y}(\theta)= \cfrac{1}{I_{yy}}[\tau_y + \omega^b_x\omega^b_z(I_{zz} - I_{xx}) + I_{RP\omega^b_x)}\varOmega] \\ \dot{\omega^b_z}(\psi)= \cfrac{1}{I_{zz}}[\tau_z + \omega^b_x\omega^b_y(I_{xx} - I_{yy})] \end{cases}
⎩⎨⎧ωxb˙(ϕ)=Ixx1[τx+ωybωzb(Iyy−Izz)−IRPωybΩ]ωyb˙(θ)=Iyy1[τy+ωxbωzb(Izz−Ixx)+IRPωxb)Ω]ωzb˙(ψ)=Izz1[τz+ωxbωyb(Ixx−Iyy)]
姿态角的变化率:
W
=
[
1
tan
(
θ
)
sin
(
ϕ
)
tan
(
θ
)
cos
(
ϕ
)
0
cos
(
ϕ
)
−
sin
(
ϕ
)
0
sin
(
ϕ
)
/
cos
(
θ
)
cos
(
ϕ
)
/
cos
(
θ
)
]
W=\begin{bmatrix} 1 & \tan(\theta)\sin(\phi) & \tan(\theta)\cos(\phi) \\ 0 & \cos(\phi) & -\sin(\phi) \\ 0 & \sin(\phi)/\cos(\theta) & \cos(\phi)/\cos(\theta) \end{bmatrix}
W=⎣⎡100tan(θ)sin(ϕ)cos(ϕ)sin(ϕ)/cos(θ)tan(θ)cos(ϕ)−sin(ϕ)cos(ϕ)/cos(θ)⎦⎤
在小扰动的情况下,即各个角度的变化较小的前提下,姿态角的变化率与机体的旋转角速度近似相等,则有:
[
ϕ
˙
θ
˙
ψ
˙
]
=
[
ω
x
b
ω
y
b
ω
z
b
]
\begin{bmatrix} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix}=\begin{bmatrix} \omega^b_x \\ \omega^b_y \\ \omega^b_z \end{bmatrix}
⎣⎡ϕ˙θ˙ψ˙⎦⎤=⎣⎡ωxbωybωzb⎦⎤
飞控刚体模型
{
x
e
¨
=
−
L
m
⋅
(
cos
ϕ
⋅
sin
θ
⋅
cos
ψ
+
sin
ϕ
⋅
sin
ψ
)
y
e
¨
=
−
L
m
⋅
(
cos
ϕ
⋅
sin
θ
⋅
sin
ψ
−
sin
ϕ
⋅
cos
ψ
)
z
e
¨
=
g
−
L
m
⋅
(
cos
ϕ
⋅
cos
θ
)
ϕ
¨
=
1
I
x
x
[
τ
x
+
ω
y
b
ω
z
b
(
I
y
y
−
I
z
z
)
−
I
R
P
ω
y
b
Ω
]
θ
¨
=
1
I
y
y
[
τ
y
+
ω
x
b
ω
z
b
(
I
z
z
−
I
x
x
)
+
I
R
P
ω
x
b
)
Ω
]
ψ
¨
=
1
I
z
z
[
τ
z
+
ω
x
b
ω
y
b
(
I
x
x
−
I
y
y
)
]
\begin{cases} \ddot{x^e }= -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\cos\psi + \sin\phi\cdot\sin\psi) \\ \ddot{y^e} = -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\sin\psi - \sin\phi\cdot\cos\psi) \\ \ddot{z^e} = g-\cfrac{L}{m}\cdot(\cos\phi\cdot\cos\theta) \\ \ddot{\phi}= \cfrac{1}{I_{xx}}[\tau_x + \omega^b_y\omega^b_z(I_{yy} - I_{zz}) - I_{RP\omega^b_y}\varOmega] \\ \ddot{\theta}= \cfrac{1}{I_{yy}}[\tau_y + \omega^b_x\omega^b_z(I_{zz} - I_{xx}) + I_{RP\omega^b_x)}\varOmega] \\ \ddot{\psi}= \cfrac{1}{I_{zz}}[\tau_z + \omega^b_x\omega^b_y(I_{xx} - I_{yy})] \end{cases}
⎩⎨⎧xe¨=−mL⋅(cosϕ⋅sinθ⋅cosψ+sinϕ⋅sinψ)ye¨=−mL⋅(cosϕ⋅sinθ⋅sinψ−sinϕ⋅cosψ)ze¨=g−mL⋅(cosϕ⋅cosθ)ϕ¨=Ixx1[τx+ωybωzb(Iyy−Izz)−IRPωybΩ]θ¨=Iyy1[τy+ωxbωzb(Izz−Ixx)+IRPωxb)Ω]ψ¨=Izz1[τz+ωxbωyb(Ixx−Iyy)]
网络教程(主要是YouTube,可能需要VPN) How To Fly An FPV Multirotor - Lesson 1 - Managing Altitude In Hover How To Fly An FPV Multirotor - Lesson 2 - Slow Forward Flight How To Fly An FPV Multirotor - Lesson 3 - Safety Position How To Fly An FPV Multirotor - Lesson 4 -Turning How To Fly An FPV Multirotor - Lesson 5 - Putting It All Together How To Fly An FPV Multirotor - Lesson 6 - Low Altitude Maneuvering How To Fly An FPV Multirotor - Lesson 7 - Intro To Landing How To Fly An FPV Multirotor - Lesson 8 - Drop And Catch How To Fly An FPV Multirotor - Lesson 9 - Precision Landing How To Fly An FPV Multirotor - Lesson 10 - Advanced Altitude Control How To Fly An FPV Multirotor - Lesson 11 - Flat 180 Turns How To Fly An FPV Multirotor - Lesson 12 - Low-Altitude Coordinated Turns How To Fly An FPV Multirotor - Lesson 13 - Flips and Rolls How To Fly An FPV Multirotor - Lesson 14 - Intermediate Flips And Rolls How To Fly An FPV Multirotor - Lesson 15 - Somersault Over Obstacle How To Fly An FPV Multirotor - Lesson 16 - Split S Turns How To Fly An FPV Multirotor - Lesson 17 - Nose Down 180 How To Fly An FPV Multirotor - Lesson 18 - Nose Down 360 How To Fly An FPV Multirotor - Lesson 19 - Figure 8 Plus Drill How To Fly An FPV Multirotor - Lesson 20 - Slow is Smooth and Smooth is Fast How To Fly An FPV Multirotor - Lesson 21 - Nose-in Circles How To Fly An FPV Multirotor - Lesson 22 - Slow Precision Flight How To Fly An FPV Multirotor - Lesson 23 - Racing Turns How To Fly An FPV Multirotor - Lesson 24 - Pylon Turns 1000 Subscriber Special: A new way to coordinate turns? FPV Freerider: Use Camera Uptilt To Fly Fast