当前位置:首页 » 操作系统 » 无人机飞控算法

无人机飞控算法

发布时间: 2023-04-17 08:50:04

A. 无人机飞控类别

四轴之所以能够流行起来,全仰仗于飞控技术的提升。飞控是飞机的大脑,它基本上就是一块集成了很多传感器的大脑。它接收飞手发送的指令,并通过控制马达让飞机达到预期姿态。几乎所有的飞控都内置惯性导航系统IMU.一些高级的点飞控还会内置气压传感器和电子指南针。除了内置的传感器以外,飞控还可以外接很多其他外围设备,比如GPS、LED、雷达等。接下来我将教大家如何选择无人机飞控。

选择飞控固件

固件就是在硬件上跑的飞控软件,一般情况的不同的硬件对应有不同的固件,但是有些流行的固件也可以同时兼容好多种硬件。比较流行的固件有 Betaflight、PX4、Cleanflight、KISS、Raceflight 等。

由于飞控理论相对来说相对来说还是开放的,很多固件也都是开源的,所以对于本身飞行算法来说其实并没有什么好烂之分。在选择的时候主要考虑固件的成熟度,扩展能力,以及上位机配套软件的便利性。由于每个固件的上位机软件区别还是比较大的,所以有一定的学习成本需要考虑进去。

如果你不知道怎么选的话这里有个建议就是,单纯飞穿越机选择Betaflight,如果想深入学习飞控算法并在将来尝试进行飞控开发,选择PX4。

处理器

[图]

2/9

选择处理器

这里的处理器指的是飞控 上面主MCU,飞控的MCU一般会选择stm32系列,所以会有F1, F3, F4 and F7等。 目前来说F1的性能已经不太够用了,现在主流的是F3和F4的MCU,当然高端点的飞控就直接上F7了,尤其是PX4的高级飞控。

3/9

选择接口

这里说的接口主要说的是可以外接外围设备的接口,一般有UART、IIC、SPI等。接口的数量受所选的MCU所限制,最终由硬件电路决定留出多少接口,有些飞控为了减少板子尺寸并没有把所有可用的接口给预留出来。下表是每种MCU可以支持的串口数量。

F1F3F4F72 UART’s3-5 UART’s3-6 UART’s7+ UART’s

接口数量决定了可以外接多少个外围设备,可以根据实际情况进行选择。

另外,SPI能够达到的速度比IIC好高,IIC最大只能达到4KHz。而且SPI是全双工的,所以在SPI和

4/9

选择惯性导航芯片

典型的惯性导航芯片可参考下表

IMU支持的通讯协议最大的采样频率MPU6000SPI, i2c8KMPU6050i2c4KMPU6500SPI, i2c32KMPU9150*i2c4KMPU9250*SPI, i2c32KICM20602SPI, i2c32KICM20608SPI, i2c32KICM20689SPI, i2c32K

*其中MPU9150 相当于MPU6050加AK8975指南针,而MPU9250相当于MPU6500加AK8975。

目前来说,使用最广泛的是MPU6000,虽然说它的采样频率只有8kHz,但是它的抗噪鲁棒性很好,一般不推荐使用MPU6500和MPU9250,它们虽然采样频率很快但是采样出来的数据噪声也很高。

采样频率本身是个双刃剑,如果在干净的电源下面,采样频率越高,数据越平滑。但是如果是带有电调和马达干扰的电源下面,采样频率过高并不能带来好处,数据可能比低采样频率采出来的数据更糟糕。

有些飞控会单独把惯性导航模块外置,然后垫个海绵垫进行缓冲。如果没有外置的话,最好在飞控安装的时候将整个飞控安装在海绵垫上面。

[图]

5/9

选择功能模块

飞行控制算法是飞控的基本功能,但是还有很多其他的功能也很值得考虑。

6/9

选择OSD

OSD能将飞行信息显示在FPV屏幕上,比如电池电压,飞行时间。摄像头将图像数据传入飞控,飞控会将飞行信息跟图像数据融合并一并发给图传,图传可以将带有OSD的信息发回FPV显示器显示。有些还可以支持通过OSD调整参数。

7/9

选择电流计

飞控能够通过电流计能够计算出当前剩余的电量,这比单单测量电池电压要好的多。它能更准确的让你留出降落时间。

8/9

选择黑盒子

黑盒子听起来高达上,其实这里只是一个SD卡,飞控可以把飞行数据写到SD卡上方便后面的分析。这个对于调节PID来说是特别有用的。

9/9

选择安装尺寸

安装尺寸在写机架的时候也有聊到过,主要是为了保证飞控能够准确的安装在飞机上。

通用的飞控尺寸有 30.5×30.5mm, 20x20mm和16x16mm等. 5寸浆或者更大的机架一般使用30.5×30.5mm的飞控,更小点的使用20x20mm的飞控,而16x16mm也在100mm以下的机架上流行起来了。

[图]

注意事项

如果有帮助到你的麻烦点个赞。

B. 多旋翼无人机飞行控制方法讲解

多旋翼无人机飞行控制方法讲解

为了克服某些线性控制方法的限制,一些非线性的控制方法被提出并且被运用到飞行器的控制中。下面是我为大家分享多旋翼无人机飞行控制方法讲解,欢迎大家阅读浏览。

1 线性飞行控制方法

常规的飞行器控制方法以及早期的对飞行器控制的尝试都是建立在线性飞行控制理论上的,这其中就又有诸如PID、H∞、LQR以及增益调度法。

1.PID PID控制属于传统控制方法,是目前最成功、用的最广泛的控制方法之一。其控制方法简单,无需前期建模工作,参数物理意义明确,适用于飞行精度要求不高的控制。

2.H∞ H∞属于鲁棒控制的方法。经典的控制理论并不要求被控对象的精确数学模型来解决多输入多输出非线性系统问题。现代控制理论可以定量地解决多输入多输出非线性系统问题,但完全依赖于描述被控对象的动态特性的数学模型。鲁棒控制可以很好解决因干扰等因素引起的建模误差问题,但它的计算量非常大,依赖于高性能的处理器,同时,由于是频域设计方法,调参也相对困难。

3.LQR LQR是被运用来控制无人机的比较成功的方法之一,其对象是能用状态空间表达式表示的线性系统,目标函数为是状态变量或控制变量的二次函数的积分。而且Matlab软件的使用为LQR的控制方法提供了良好的仿真条件,更为工程实现提供了便利。

4.增益调度法 增益调度(Gain scheling)即在系统运行时,调度变量的变化导致控制器的参数随着改变,根据调度变量使系统以不同的控制规律在不同的区域内运行,以解决系统非线性的问题。该算法由两大部分组成,第一部分主要完成事件驱动,实现参数调整。 如果系统的运行情况改变,则可通过该部分来识别并切换模态;第二部分为误差驱动,其控制功能由选定的模态来实现。该控制方法在旋翼无人机的垂直起降、定点悬停及路径跟踪等控制上有着优异的性能。

2 基于学习的飞行控制方法

基于学习的飞行控制方法的特点就是无需了解飞行器的动力学模型,只要一些飞行试验和飞行数据。其中研究最热门的有模糊控制方法、基于人体学习的方法以及神经网络法。

1.模糊控制方法(Fuzzy logic)模糊控制是解决模型不确定性的方法之一,在模型未知的情况下来实现对无人机的控制。

2.基于人体学习的方法(Human-based learning) 美国MIT的科研人员为了寻找能更好地控制小型无人飞行器的控制方法,从参加军事演习进行特技飞行的飞机中采集数据,分析飞行员对不同情况下飞机的操作,从而更好地理解无人机的输入序列和反馈机制。这种方法已经被运用到小型无人机的自主飞行中。

3.神经网络法(Neural networks) 经典PID控制结构简单、使用方便、易于实现, 但当被控对象具有复杂的非线性特性、难以建立精确的数学模型时,往往难以达到满意的控制效果。神经网络自适应控制技术能有效地实现多种不确定的、难以确切描述的非线性复杂过程的控制,提高控制系统的鲁棒性、容错性,且控制参数具有自适应和自学习能力。

3 基于模型的非线性控制方法

为了克服某些线性控制方法的限制,一些非线性的控制方法被提出并且被运用到飞行器的控制中。这些非线性的控制方法通常可以归类为基于模型的非线性控制方法。这其中有反馈线性化、模型预测控制、多饱和控制、反步法以及自适应控制。

1.反馈线性化(feedback linearization) 反馈线性化是非线性系统常用的一种方法。它利用数学变换的方法和微分几何学的知识,首先,将状态和控制变量转变为线性形式,然后,利用常规的线性设计的方法进行设计,最后,将设计的结果通过反变换,转换为原始的状态和控制形式。反馈线性化理论有两个重要分支:微分几何法和动态逆法,其中动态逆方法较微分几何法具有简单的推算特点,因此更适合用在飞行控制系统的设计上。但是,动态逆方法需要相当精确的飞行器的模型,这在实际情况中是十分困难的。此外,由于系统建模误差,加上外界的各种干扰,因此,设计时要重点考虑鲁棒性的因素。动态逆的'方法有一定的工程应用前景,现已成为飞控研究领域的一个热点话题。

2.模型预测控制(model predictive control)模型预测控制是一类特殊的控制方法。它是通过在每一个采样瞬间求解一个有限时域开环的最优控制问题获得当前控制动作。最优控制问题的初始状态为过程的当前状态,解得的最优控制序列只施加在第一个控制作用上,这是它和那些预先计算控制律的算法的最大区别。本质上看模型预测控制是求解一个开环最优控制的问题,它与具体的模型无关,但是实现则与模型相关。

3.多饱和控制(nested saturation)饱和现象是一种非常普遍的物理现象,存在于大量的工程问题中。运用多饱和控制的方法设计多旋翼无人机,可以解决其它控制方法所不能解决的很多实际的问题。尤其是对于微小型无人机而言,由于大倾角的动作以及外部干扰,致动器会频繁出现饱和。致动器饱和会限制操作的范围并削弱控制系统的稳定性。很多方法都已经被用来解决饱和输入的问题,但还没有取得理想的效果。多饱和控制在控制饱和输入方面有着很好的全局稳定性,因此这种方法常用来控制微型无人机的稳定性。

4.反步控制(Backstepping)反步控制是非线性系统控制器设计最常用的方法之一,比较适合用来进行在线控制,能够减少在线计算的时间。基于Backstepping的控制器设计方法,其基本思路是将复杂的系统分解成不超过系统阶数的多个子系统,然后通过反向递推为每个子系统设计部分李雅普诺夫函数和中间虚拟控制量,直至设计完成整个控制器。反步方法运用于飞控系统控制器的设计可以处理一类非线性、不确定性因素的影响,而且已经被证明具有比较好稳定性及误差的收敛性。

5.自适应控制(adaptive control) 自适应控制也是一种基于数学模型的控制方法,它最大的特点就是对于系统内部模型和外部扰动的信息依赖比较少,与模型相关的信息是在运行系统的过程中不断获取的,逐步地使模型趋于完善。随着模型的不断改善,由模型得到的控制作用也会跟着改进,因此控制系统具有一定的适应能力。但同时,自适应控制比常规反馈控制要复杂,成本也很高,因此只是在用常规反馈达不到所期望的性能时,才会考虑采用自适应的方法。

;
热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:331
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:371
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:606
java用什么软件写 发布:2025-05-18 03:56:19 浏览:27
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:100
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:935
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:730
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:798
网卡访问 发布:2025-05-18 03:35:04 浏览:506
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:367