草庐IT

基于串级 PID 控制算法的四旋翼无人机控制系统设计与实现

studyer_domi 2023-04-14 原文

1、内容简介


489-可以交流、咨询、答疑

2、内容说明

  无人机,英文名称UAV C Unmanned Aerial Vehicle,是一种特殊的飞行器,

可以按照预先设定的轨迹进行各种运动,无需人操纵。它的运动是依据空气动力学,再利用合理的控制算法来实现稳定的运动。在飞行过程中,无人机的飞行位置以及飞行姿态是依靠机身携带的微处理器和各种传感器在飞行运动中收集各项数据并进行处理,然后将调节指令输出给动力系统来实现对自身位置及姿态的控制。随着微电子技术以及计算机技术的高速发展,无人机的体积在不断变小,使得无人机在进行飞行任务时的运动更加灵活;无人机的性能不断提升,使得无人机自身可以在不依赖大型计算机的情况下有着更快的对数据处理的速度,可以完成更加复杂的任务。

随着科学技术的不断进步,无人机的技术的也在突飞猛进,这就使得其应用领域越来越广泛。在军事领域,无人机的轻便性和灵活性让其拥有代替军人完成危险环境的侦查及探索任务且更加的隐蔽,不容易被发现;在遭遇恐怖袭击等特殊情况时,可以在无人机上装载武器等攻击型武器对恐怖分子进行军事打击。在民用方面,无人机可以进行危险环境下的数据采集、灾害时的通信与救援、复杂路况时的道路交通监测、影视航拍以及农作物的高空施肥喷药等工作具备很高的研究价值和研究意义。

 一般情况下,无人机可以大致分为以下三类:固定翼无人机、旋翼无人机和扑翼无人机,如图1.1所示。固定翼无人机的结构就是常见的载人客机,由于不具备垂直起降能力,对起飞和降落场地大小和地形的要求较为苛刻,缺乏灵活性,很难完成较为复杂的任务。相比之下,旋翼无人机的结构就相对比较简单,对起飞场地的要求不高,一般可以实现垂直起降,且灵活性及操纵性强,对需要完成复杂任务的场景具有很强的适应性。

旋翼无人机也有着旋翼数量不同的区分,如二旋翼、三旋翼、六旋翼等,但奇数翼类型的无人机会使几个旋翼产生的内部转矩无法抵消,从而导致系统的稳定控制更加困难,旋翼数量的增加也会加大控制难度。对众多不同旋翼数量的多旋翼进行综合对比分析,可以得出,四旋翼无人机相对结构简单,但同样具备较大的负载,且加工装配难度及制造成本低,易于实际生产应用。此外,它还能实现6个自由度上的运动,极具灵活性,但在进行户外飞行作业时容易受到气流、压强及其他外界环境因素的影响,导致四旋翼无人机的飞行稳定性降低,其中飞行控制算法的设计是最关键的内容,它影响着无人机在进行飞行任务时的效率和稳定性。控制器的优劣直接决定了无人机的性能,只有基础打的牢靠,使用在无人机上的其他上层算法才会得到更好的效果,因此四旋翼无人机的控制算法具备很高的研究价值。

1.2国内外研究现状和发展趋势

1.2.1研究现状

四旋翼受到越来越多的关注,国内外对其飞行策略的研究也越来越深入,以求在这一领域能够有所突破。由于飞行器本身是一个复杂系统,加上外界环境也很复杂,所以对无人机的控制非常困难。飞行器是通过建立机体坐标系和地理坐标系来进行分析建模,结合自身受力和外界环境的变化,根据内外的联系,实时做出反应,以维持飞行器的稳定飞行。对四旋翼控制系统的设计常用的方法和理论如下:

 PID控制:主要有经典PID控制和现代LQ两种技术。经典PID控制目前仍旧是工业中应用最广泛的控制方式,它的适应性较强,易于在工程上去实现,其基本原理就是对偏差的修正,其中比例环节是用来修正当前时刻的偏差,积分是过去时刻偏差的修正,微分是将来时刻偏差的修正。现代LQ控制是具有状态反馈的线性二次型最优控制,在模型较精确的情况下进行控制系统的研究。

 模糊控制:模糊控制是几个模块组合的控制技术,包括模糊集合、模糊语言变量以及模糊逻辑推理,如果被控对象的精确模型无法得到或者难以建立,可以选用该种控制方式,对于非线性、大时滞、时变系统「16],模糊控制可以将设计变得相对简单。浙江大学利用模糊PID控制设计一款农用无人机,控制效果更为稳定,具有较好的自适应能力,对于随机的干扰有较强的抑制能力。

反步法控制:文献[f171中,假设四旋翼飞行器飞行环境理想,没有外界干

扰,使用backstepping控制算法,可以实现比较好的控制效果。文献「18]是针对外界环境变化,以及自身机构受到的外界影响,运用反步法结合PID控制算法,有效抑制外界干扰对飞行稳定度的影响。

    神经网络控制:在控制系统中,运用神经网络的技术,对难以建立精确模

型的复杂控制对象进行辨识,进行优化计算,此种控制方式具有很强的自适应

能力、鲁棒性和学习能力。但是神经网络控制仅停留在理论层面,目前并未应

用于实际工程中。文献「19]以神经网络作为主导,利用黎卡笛微分方程来实现

控制系统的设计。

    滑模控制:此种控制方式的优点是可以克服系统的不确定性,对外界的干

扰和未建模动态具有比较强的鲁棒性,尤其是对于非线性系统具备很好的控制

效果。针对参数不确定性提出分等级控制结构以简化控制器的设计[}ZO}。国防科技大学在2006年对四旋翼应用滑模控制算法完成了全自主飞行[[21-23]

1.2.2发展趋势:

当前在应用领域飞行控制技术仍以PID控制为主流,其技术较为成熟,其他先进的控制技术在飞行控制方面的应用呈现多点开花的形势。随着军事领域和民用领域市场需求的发展结合当前四旋翼飞行控制的缺陷可以判断,四旋翼飞行器的自主化控制技术和集群化控制技术将是未来飞行控制技术的发展趋势。

实现自主控制和智能化是四旋翼发展的主要方向。未来智能化的四旋翼不仅要具备自主飞行能力,还需具备自主决策能力,要能够借助自身搭载的传感器实时分析周围环境,并对环境中的动态因素和不确定性因素做出及时判断和处理,进而实现自主避障、自主航迹规划、自主导航等功能。近两年,许多新的尝试和探索不断推动四旋翼智能化的发展。例如,Ait-Jellal R 和 Zell A 两人将基于特征的 SLAM 和直接构建的 SLAM 相结合,设计了一种基于关键帧的即时定位与地图构建算法,使控制系统能即时高效地获取周围环境信息,并使用RRT*算法规划安全航迹,帮助四旋翼在 GPS 失效区域确定自身所处空间位置并实现自主避障飞行[19];为使基于视觉导航的四旋翼连续穿越位置实时变化的多个目标拱门,如图 7 所示,Kaufmann E 等人将卷积神经网络(CNN)与路径规划和四旋翼控制系统相结合,采取多次实验训练四旋翼系统处理即时图像,并生成合理航迹的能力,最终实现了四旋翼在动态环境中的自主航迹规划以及自主导航飞行[20]。

集群化控制技术是指实现多飞行器之间组网编队,协同执行任务的控制技术,在控制策略上可分为集中式和分布式的控制策略。近年来,飞行器集群化控制技术正在快速发展。在理论研究方面, 程鹏研究了基于 Mesh 通信网络的多个四旋翼分布式编队控制和协同避障的问题,实现了多个飞行器之间自组织和协同控制的功能[21];马鸣宇等人分析了以往基于特殊正交群 SO(3)的编队协同控制存在的问题并做出改进,采用 SO(3)统一描述飞行器姿态[22]。可见,无论是在理论研究方面还是在实际应用方面,飞行器集群化控制技术都体现出了重要意义,其巨大价值正在被不断发掘。

3、仿真分析

 

 

4、参考论文


 

有关基于串级 PID 控制算法的四旋翼无人机控制系统设计与实现的更多相关文章

  1. Ruby Readline 在向上箭头上使控制台崩溃 - 2

    当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby​​安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少

  2. ruby-on-rails - 带 Spring 锁的 Rails 4 控制台 - 2

    我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.

  3. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  4. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  5. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  6. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  7. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  8. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  9. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

  10. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

随机推荐