四轴FPV无人机手动操作简明介绍
通常航拍机都是有自稳算法 + GPS导航 + 辅助功能(避障)的支持,从而保证飞手能够相对容易且稳定的操作模型飞机,通常通过阅读说明书都能很快上手,这里就不在赘述。
本文主要侧重对手动FPV无人机的操控介绍,这里涉及到6个自由度的控制,难度较地面车辆的控制有所显著提升。通过经验逐步摸索,当然是一个方法,这里还是比较推荐从理论模型出发,这样可以知其然,知其所以然。以便我们更好的训练肌肉的记忆控制(有点像人工智能,通过不断的训练提升熟练度,精准度)。
通过以下几个步骤逐步理解:
- 物理学基础
- 飞控动力学&运动学模型
- 六自由度遥控操作
- 模拟&演示教学
- 飞控操作介绍回顾
(一)物理学基础
这个物理学经典力学,相信并不陌生。因为有些内容可能高中,甚至初中阶段就已经接触。这里我们重温下知识内容。
牛顿运动三个定律
- 牛顿第一运动定律:在没有外力作用下孤立质点保持静止或做匀速直线运动。
- 牛顿第二运动定律:动量在外力的作用下,其动量随时间的变化率同该质点所受的外力成正比,并与外力的方向相同。
- 牛顿第三运动定律:相互作用的两个质点之间的作用力和反作用力总是大小相等,方向相反,作用在同一条直线上。
牛顿定律基本假设
- 空间是绝对的,可以认为是数学上的抽象空间,和空间内的填充物质无关;
- 时间是连续的、均匀流逝的、无穷无尽的;
- 时间和空间无关;
- 时间和运动状态无关;
- 物体的质量和物体的运动状态无关。
牛顿定律适用范围
- 适用于质点;
- 适用于惯性参考系;
- 适用宏观问题;
- 适用低速问题
注:从四轴无人机的角度,还需要引入牛顿第二运动定律推倒出来的欧拉定律(角速度问题),以理解转动的问题。
(二)飞控动力学&运动学模型
注:这里的公式编辑还是花了不少时间学习,可以参考KaTex。
牛顿第二定律
F → = m a → = m d V → d t \overrightarrow{F} = m\overrightarrow{a}= m\cfrac{d\overrightarrow{V}}{dt} F=ma=mdtdV
欧拉运动定律
M → = I ω ˙ → + ω → × I ω → \overrightarrow{M} = I\overrightarrow{\dot{\omega}} + \overrightarrow{\omega} \times I \overrightarrow{\omega} M=Iω˙+ω×Iω
欧拉运动定律是牛顿运动定律的延伸,在牛顿发表牛顿运动定律超过半个世纪后,于1750年,欧拉才成功的用欧拉方程表述了该定律。
四轴模型前提假设
- 四轴是均匀对称的刚体
- 四轴的质量和转动惯量不发生改变
- 四轴的几何中心与其重心重合
- 四轴只受重力和螺旋桨拉力
- 螺旋桨1、4为顺时针转动,螺旋桨2、3为逆时针转动
飞控动力学模型
四轴模型在空中飞行,需要满足牛顿第二定律和欧拉运动定律:
{
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ω
- ψ \psi ψ:偏航角(yaw),机体轴在水平面上的投影与地轴之间的夹角,以机头右偏为正,又称方位角;
- θ \theta θ:俯仰角(pitch),机体轴与地平面(水平面)之间的夹角,飞机抬头为正;
- ϕ \phi ϕ:滚转角(roll),飞机对称面绕机体轴转过的角度,右滚为正,又称倾斜角。
- g → \overrightarrow{g} g:重力加速度
- m:飞控模型整体质量
- ω \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)]
- 电机角速度: Ω = ω 1 − ω 2 − ω 3 + ω 4 \varOmega = \omega_1 - \omega_2 - \omega_3 + \omega_4 Ω=ω1−ω2−ω3+ω4
飞控运动学模型
{ S e ˙ → = V e → Θ b = W ω b \begin{cases} \overrightarrow{\dot{S^e}}=\overrightarrow{V^e} \\ \Theta^b=W \omega^b \end{cases} {Se˙=VeΘb=Wωb
- 坐标位置: S e = [ x y z ] T S^e=\lbrack x \space \space y \space \space z \rbrack^T Se=[x y z]T
- 飞控姿态角: Θ b = [ ϕ ˙ θ ˙ ψ ˙ ] T \Theta^b=\lbrack\dot{\phi} \space \space \dot{\theta} \space \space \dot{\psi} \rbrack^T Θb=[ϕ˙ θ˙ ψ˙]T
- 姿态角的变化率:
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)]
(三)六自由度遥控操作
通常来说:任何一个没有受约束的物体,在空间均具有6个独立的运动。3个平移运动分别是沿x,y,z轴的平移运动,3个转动分别是绕x,y,z轴的转动。
【1】FFT-GYRO 多自由度多旋翼无人机测试台架
【2】无人机控制系统-六自由度
约束控制操作
从遥控器的角度,六自由度实际上是通过4个通道进行远程控制。
遥控操作
├──> 1.油门(Throttle)
├──> 2.偏航(Yaw)
├──> 3.俯仰(Pitch)
└──> 4.翻滚(Roll)
基本运动操控
从运动的角度,控制层面往往需要1个甚至多个通道,并根据实际期望调整通道的控制度量来达到。
运动控制
├──> 0. 姿态调整 (会影响1,2,3,4)
│ └──> Pitch + Roll + Yaw
├──> 1.升降操作
│ └──> Throttle (当level up时)
│ ├──> Throttle > Gravity 上升
│ ├──> Throttle = Gravity 悬停
│ └──> Throttle < Gravity 下降
├──> 2.前进/后退(控高)
│ └──> Pitch(方向:前进/后退) + Throttle+(由于前进/后退分解原有动力,提升升力弥补重力方向平衡)
├──> 3.旋转操控
│ └──> Yaw
└──> 4.转弯(控高)
└──> Roll(方向:左转/右转) + Throttle+(由于左转/右转向心力分解原有动力,提升动力弥补重力方向和前进阻力平衡)
(四)模拟&演示教学
网上有很好的经验角度模拟教学,软件可以使用Acro或者Auto模式,非常适合穿越机或者航拍机的朋友。详见FPV Freerider,steam游戏上也有。
网络教程(主要是YouTube,可能需要VPN,不过后面有bilibili链接,大家可以使用。)
How To Fly An FPV Multirotor - Lesson 1 - Managing Altitude In Hover ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 2 - Slow Forward Flight ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 3 - Safety Position ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 4 -Turning ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 5 - Putting It All Together ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 6 - Low Altitude Maneuvering ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 7 - Intro To Landing ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 8 - Drop And Catch ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 9 - Precision Landing ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 10 - Advanced Altitude Control ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 11 - Flat 180 Turns ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 12 - Low-Altitude Coordinated Turns ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 13 - Flips and Rolls ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 14 - Intermediate Flips And Rolls ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 15 - Somersault Over Obstacle ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 16 - Split S Turns ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 17 - Nose Down 180 ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 18 - Nose Down 360 ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 19 - Figure 8 Plus Drill ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 20 - Slow is Smooth and Smooth is Fast ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 21 - Nose-in Circles ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 22 - Slow Precision Flight ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 23 - Racing Turns ==>bilibili链接
How To Fly An FPV Multirotor - Lesson 24 - Pylon Turns ==>bilibili链接
1000 Subscriber Special: A new way to coordinate turns?
FPV Freerider: Use Camera Uptilt To Fly Fast
最近又出一套liftoff的FPV教程
Learn to fly an FPV drone TODAY (for total beginners)
(五)飞控操作介绍回顾
本文主要温故了物理学基本原理,并推导了飞控动力学&运动学模型,如有兴趣的朋友可以看下网上教程多旋翼飞行器设计与控制。
通过理解遥控操作和分析飞控动力学模型,有如下感悟:
- 速度与角度并非线性关系,尤其当姿态角度不同,对于初学者来说,多变量调整尤其难以控制。
- 垂直速度仅仅与俯仰(Pitch)&翻滚(Roll)相关,与偏航角(Yaw)无关,初学者尽量保持水平(控高)。
- 前进/后退/转弯与三个姿态角度都有关系,换句话说取决于飞行姿态。当Pitch/Roll角度增加时,需要适当增加油门以保持垂直方向动力降低,做好控高。
无论是理论分析和经验分享,还是视频教学,可以给大家一个初步入门指导。了解如何操作,如何调整遥控器上的四个因素Throttle,Yaw,Pitch,Roll,以及判断什么场景下,那个因素,做出何种趋势的调整。作为强大的人脑神经网络,通过不断的训练和优化,让视觉==》大脑==》肌肉==》遥控器==》模型,做到人机统一的效果。
有点像学开车,也要人车统一的效果,上路就不会如刚学习那般吃力了! _
补充:转弯小技巧:
- 先动Yaw,目视前进方向
- 前进Yaw操作会抬升机头,减速,需要补Throttle保持高度
- 补Throttle时,要注意速度
- 同时调整Roll/Pitch水平,再适当减少Throttle控制速度和高度
注:按照上述操作,180度转弯可以快速将飞机停下来并很好的控制高度。