摘要
四轴飞行器拥有四个旋翼,属于多旋翼直升机。四轴飞行器具有四个成对称分布的旋翼。它通过控制四个旋翼的旋转速度而非机械结构来实现各种飞行动作。四轴飞行器具有成本低、机体结构简单、没有机械结构、飞行稳定性好、重量轻、有利于小型化无人化等特点。因此可以应用在人无法到达的一些复 杂环境之中。目前四旋翼飞行器等多旋翼飞行器已经在很多行业比如航空拍摄、遥感勘测、实时监控、军事侦察、喷洒农药中得到了广泛的应用,并已经形成了相关产业。四旋翼飞行器具有非线性控制、控制量多、飞行姿 态控制过程复杂等特性。
本课题基于实现四轴飞行器低成本小型化通用化的思路,通过研究剖析四旋翼飞行器飞行的原理,根据其数学模型和控制系统的功能要求,在MCU上实现了四旋翼飞行器的姿态数据的获取、飞行姿 态解算以及飞行姿态控制。本课题硬件上采用stm32系列STM32F103C8T6 32位处理器作为主控制器负责分析处理数据,根据姿态运算结果,输出电机控制信号:主要使用惯性测量单元MPU-6050等传感器模块用于姿态信息的检测;采用场效应管驱动电路来驱动空心杯电机;蓝牙模块负责和上位机进行通信以实时采集飞行数据便于分析测试。整个软硬件系统均基于模块化设计的思想。各传感器采集飞行器的传感器数据都使用通用数字接口和MCU进行数据交换和通信。软件上,编写飞行姿态控制软件,在stm32单片机上实现了四元数法和卡尔曼滤波算法,解算出飞行器正确的姿态角,并使用PID控制进行姿态角的闭环控制,稳定飞行姿态。实验结果表明,本课题设计的四轴飞行器能够较好的自主达到稳定飞行状态,抗扰动能力强。飞行姿态控制算法完全实现了使四旋翼飞行器能在室内平稳飞行的控制要求。
关键词:四旋翼飞行器:姿态控制算法; STM32;
Abstract
Quadrotor, also known as Four -rotor aircraft, is a basic form of multi- rotor helicopter which has four symtrically rotors. It floats and moves by adjusting the speed of rotor wings, instead of modulating its mechanical structure. Quadrotor enjoys lots of strong points such as low cost, straightforward and lightweight body without complicated mechanical structure, as well as excellent flight stability. Besides, it also has the advantagcous character of miniature and laborless. So it can be applied in some complex environments such as aerial photography, telemetry, real time monitoring. military reconnaissance and pesticide spraying. thus has formed a considerable industry interrelated. Yet this kind of four -rotor aircraft still has certain blind side such as nonlinear control, heavy control volume and complex process of controlling flying postures. This research was based on the idea of enduing Quadrotors with practicality like low cost, miniaturization and general service through analyzing the flying principle of this kind of four-rotor airaft, as well as acquiring and calculating data about flying postures and cotolling them on the basis of MCU according to its mathematical model and the functional requirements of the operating system. The STM32F103C8T6 32-bit processor in stm32 series was applied as the main contoller to analyze and process data, and to output the signals of motors in terms of the results calculated. In addition, sensor modules like MPU-6050 were mainly used for detecting gestures and other information, FET circuit was capitalized on driving the coreless motors and Bluetooth module to communicate with the host computer for collecting and analyzing the real-time fight data. The entire system of software and hardware was based on the idea of modularized design. Sensor data collected were all used to communicate with MCU through the IIC bus. Quaternion and Kalman filter algorithm was implemented on stm32 SCM by the writing order sequences into fight postures controlling software, and thus the corret atude angle was resolved. Besides, PID was also adopted as closed-loop control for contolling the attitude angle and stabilizing the flight ttitude. Results of this research show that this four-rotor aircraft designed in this projet can eficienty achieve the objective of stabilizing flight atitude autonomously with outstanding anti-disturbance capability. What's more, the algorithm in calculating fight atitude control fully meets the requirements of stable flying for which the four-rotor aircraft should perform.
Key words: Quadrotor; Attitude control; STM32
目录
第一章绪论
1.1选题背景
多旋翼~飞行器最早出现于百年前的欧洲,由于其控制算法的复杂性,超过了当时的科技水平,早期的多旋翼飞行器因性能较差和体积庞大而无法实用化,仅仅停留于科研阶段凹。近年来由于新材料(碳纤雄等)、新型微机电(MEMS)传感器、微型惯性导航控制器(MIMU)以及计算机自动控制算法的不断发展和进步,以四旋翼飞行器为代表的多旋翼飞行器得以在控制技术上取得巨大飞跃,.
开始迅速实用化产业化。井星现小型化微型化的趋势。逐步在许多行业崭露头角,进入了人们的生活中心。四轴飞行器作为一种有代表性的多旋翼飞行器凹,具有体积小,重量轻,结构简单、性能可靠、控制灵活、飞行稳定的特点。因为四轴飞行器比起传统直升机更为稳定和简便可靠,几乎不会出现机械结构上的问题,它能够成为非常好的无人机平台,以执行一些目前需要小型飞行器来执行的任务,可以进入-一些不易进入的环境之中进行勘察和拍摄等任务。如火山、地震、洪水灾区等。目前四轴飞行器的应用主要在以下几个领域:
(I)航空拍摄因为四轴飞行器的小型化和灵活稳定的飞行性能又具有一-定的载重能力和续航能力,使得其可以搭哉拍摄云台和摄像设备,实现一定范園内的航空拍摄任务。比起传统的出动有人操控直开机或者固定翼飞机成本更为低康而且安全便捷。目前几乎各种比赛赛事都有多轴飞行器执行航拍任务,是四轴飞行器应用最为广泛的民用领域。
(2)小范围实时监控四轴飞行器可搭载监控设备进行--定范園内的侦查和监控任务,如军事侦查、火灾或犯罪现场监控等".四轴飞行器同时在军事和民事警务领域有很广阁的前最(3)地形勘察和农业四轴飞行器可以在一定范围内携带勘察设备进行农业、林业等拗察任务,有效节省人力资源。喷酒农药也成为目前四轴飞行器商业运用的一个重要领域凹。
1.2国内外研究现状
1.2.1国内四旋翼飞行器的研究现状
当前四轴飞行器的研究在国内蓬勃发展起来并形成产业。已经有许多的公司(如Dj大疆公司)将四轴飞行器等多轴飞行器实现了商业化应用。目前主要研究点主要集中在:
(1)四轴飞行器乃至多轴飞行器的婆态控制。
多轴飞行器的主要技术难点在于其飞行姿态控制系统。因为其旋翼多(一般为偶数个),因此多输"飞行器的飞行婆态控制远比传统单轴直升机复杂。目前在此领域的研究主要是飞行姿志的数学建模。控制算法以及滤波理论。目前主要的有刚体旋转理论、四元数理论、非线性数字滤波、级联惯性导航、神经元PID算法等控制理论的综合研究和应用间。
(2)适用于多轴飞行器的新的传感器技术发展及新材料的应用国内外目前也致力于新传感器技术的发展和运用。出现了通用的整合一体的传感器模块,以及这些模块小型化微型化,精度也越来越高,使得多轴飞行器的体积大大缩小。新的材料如碳纤維也运用于机架使得目前机体重量进-一步降低,载重和续航能力进-步提高。
(3)电机、电池领城技术的发展。
近年来,电机技术不断发展。无刷电机和空心杯电机进一步普及应用于多旋翼飞行器上。大大提高了多旋翼飞行器的动力。锂电池甚至燃料电池的出现和应用使得续航能力大大提高".
1.2.2国外四输飞行器的研究现状
目前国外在四轴飞行器的研究也是主要集中在飞行控制系统的新的理论的研究,比如神经元网络控制算法、模糊控制算法等。国外还致力于四轴飞行器的脱离人遥控的自主飞行以及多机协同运作等方面的研究圆。
1.3四旋翼飞行器主要优点和技术难点
1.3.1四旋翼飞行器主要优点
(1)拥有简单的机械结构。没有传统直升机复杂的旋翼控制机构。
(2)稳定得多的飞行姿态。
四轴飞行器有四个旋翼,没有复杂的机械结构。同时飞行控制系统通过传感器采集飞行委态数据,实时监测和控制飞行姿态,可以实飞行器保持平稳飞行。
相比传统单旋翼直升飞机,四轴飞行器的飞行更为稳定。
(3)由于机械结构简单,容易将体积做得很小,可以实现自主飞行器的小型化微型化。
(4)四轴飞行器拥有四个电机。机身结构简单轻巧。所以其具有更大载重力1.3.2四轴飞行器的技术难点(1)在飞行过程中它不但受到本身软硬件、机体结构等等因素的影响。还容易受到气流等外部条件的干扰。比如其驱动四个旋翼的电机产生的震动和干扰。
使得加速度计的数据变化剧烈,含有大量振动噪声:电机产生的磁场会干扰电子罗盘模块的测量数据。
(2)四轴飞行器空间上具有6个自由度,有4个控制输入啊。其控制变量多、传感器多、数据量大、算法复杂、运算量大和干扰大的特性,使得飞行控制系统的软件比一般直升机复杂得多。
(3)四轴飞行器的主要的姿态传感器陀螺仪传感器输出变化缓慢。但是时间长了有较大的累积误差,而且还有温度漂移。利用陀螺仪进行物体安态检测需要考虑到累计误差的消除。加速度计比较敏感、变化速度快,使得加速度计在飞行过程中的采集到的数据带有大量的噪声(主要是由震动产生的)。因此在四轴飞行器的飞行麦态控制系统中。必须將陀螺仪和加速度计的数据通过数据滤波算法进行融合和滤除噪声干扰,以此来得到正确的姿态数据。
1.4本文研究的主要内容
本设计课题研究的主要内容和思路就是尝试使用通用的MCU小系统板,通用的运动姿态传感器模块、无线通信模块、简单的空心杯小电机、简单机架等。
设计并制作--个小型的四轴飞行器。研究在MCU上应用相关的旋转理论来解算飞行姿态、滤波和数据融合算法。实现对加速度计、陀螺仪等传感器测量的数据进行计算,使传感器数据合成正确的飞行姿态数据。通过MCU对姿态数据解算,并控制电机,根据地理坐标系,调整和控制飞行姿态,从而初步实现飞行器自主的稳定的飞行控制。
本课题的主要技术难点在于:
(1)传感器主要有加速度计和陀螺仪。这二者得到的数据分别是加速度(归化到重力加速度场)和角加速度,必须对这两个数据进行运算。计算出欧拉角。
但是采用直接计算出欧拉角的的方法运算量巨大,处理速度缓慢。我们采用了四元数算法来实现将加速度和角加速度合成为欧拉角。我们就是要在MCU板上实现四元数算法和四元数到欧控角的转换。
(2)四元数法将这二者的数据进行四元数运算然后变换成欧拉角得到,然后是角度数据的滤波和融合,消除掉陀螺仪数据的累积误差。从而得到较为准确的飞行器姿态数据。我们主要是通过四元数算法加上卡尔曼滤波算法,三轴加速度计和三轴陀螺仪的数据进行滤波和融合,就能将二者数据合成为三个欧拉角的飞行婴态数据。
(3)由得到姿态数据对比飞行器静止水平时的要态值,得到偏差量。然后用偏差量控制四个电机通过PID控制方法来使飞行器达到平稳的飞行状态。
本课题基于实现四轴飞行器小型化通用化的思路利用小型机架、空心杯电机等,采用加速度计、陀螺仪、电子罗盘、气压计等传感器模块,利用四元数法、滤波融合算法等设计并制作了小型的四轴飞行器,自主达到平稳飞行的状态.
1.5本文结构安排
本文的机构安排是这样的:第-章是绪论。介绍四轴飞行器的性能和目前的应用现状和研究现状。第二章主要介绍四轴飞行器的原理、飞行器的坐标系、飞行姿态的数学表达和姿态数据的换算以及滤波算法,将卡尔曼滤波算法和互补滤波算法进行比较论证。第三章主要介绍了四轴飞行器的软硬件设计思路。硬件方面是硬件模块选择和设计。软件方面是平稳飞行控制实现的思路,先进行四元数姿态运算然后进行卡尔曼滤波。第四章主要介绍了四轴飞行器稳定飞行姿态控制算法的实现。按照软件思路介绍了基于四元数的姿态算法得出欧拉角。然后进行卡尔曼滤波,最后描述了卡尔曼滤波的实现。第四章的最后分析了获取的实飞姿态数据。最后一-章第五章是总结和展望。
第二章四轴飞行器飞行原理、飞行姿态及滤波算法
2.1四轴飞行器的飞行原理
2.2四轴飞行器姿态的表示和运算
2.2.1坐标系统的建立
2.2.2四轴飞行器飞行姿态的表示和换算
2.3滤波算法以及修正融合
2.3.1卡尔曼滤波
2.3.2互补滤波算法
2.4本章小结
第三章四轴飞行器的软硬件系统架构
3.1硬件结构框图
3.2硬件电路设计
3.2.1电机及其驱动电路
3.2.2控制电路部分及传感器模块
3.3系统板实物图
3.4软件框图及思路
3.5本章小结
第四章飞行姿态控制算法实现
4.1软件初始化过程
4.2四元数法及其姿态解算的算法实现
4.2.1四元数运算及四元数转欧拉角算法流程
4.2.2四元数运算流程
4.2.3卡尔曼滤波的算法实现
4.3PID算法、参数整定及其控制。
4.3.1PID算法的原理。
4.3.2四轴飞行器的PID调节原理
4.3.3四轴飞行器PID参数的整定
4.4四轴飞行器平飞实测数据及分析
4.4.1加速度计数据波形及分析
4.4.2陀螺仪数据波形及分析
4.4.3卡尔曼滤波融合后实测波形
4.5本章小结
第五章总结与展
望经过反复设计、验证和调试,本课题设计的四轴飞行器可以达到稳定飞行的状态。本课题的思路是从小型化通用化的目标入手,探索了在arduio平台上实现四轴^飞行器平稳飞行姿态的控制算法。
本次设计主要完成了:
1.小型四轴飞行器的硬件电路设计本课题的思路是实现四旋翼飞行器的低成本小型化通用化,以期构建一-个验证多旋翼飞行器控制算法的平台。具有易于调试和移植等特性。在此恩路的指导下,硬件上我们选用了通用的基于开源架构的arduino stm32小系统板作为四轴飞行器的主控部分,以及相应的通用姿态测量传感器MPU-6050等。在arduino的灵活开放的架构下,可实现硬件模块的灵活调整和快速地平台转换及移植。
2、在arduino开源软硬件架构下,研究了四轴飞行器平稳姿态控制算法的实现本课题主要的任务是在MCU上完成四轴飞行器飞行姿态控制系统的实现。
我们通过对于姿态传感器测得的加速度和角速度读取。通过使用四元数法将加速度和角速度运算得出四轴飞行器的姿态角即歌拉角,再通过卡尔曼滤波将得出的欧拉角与原先的角速度进行融合和滤波,以消除干扰和累积误差,最终得出了正确的飞行器姿态角,并最终成功达到了使四轴飞行器在室内平稳飞行的目的。
3、研究了四旋翼飞行器的测试飞行数据的方法和调试方法测试平台上,我们采用了自制平衡木平台来对四轴飞行器进行参数测试和调整,主要用以调试飞行器的PID参数。
软件上。我们使用了上位机软件,和机载蓝牙模块进行通信,以获取飞行器的事实飞行姿态数据。以方便方便进行分析和计算。
本课题探索出了一条四轴飞行器低成本小型化通用化的设计思路,研究并讨论了数据滤波融合的两种种算法,实现了四元数和卡尔曼滤波算法,测定了相关的数据。成功实现了四轴飞行器姿态的自主稳定。为今后多轴飞行器的设计和研究创新提供了思路。由于时间紧迫,井未做到四旋翼飞行器的无需人工遇控的自主飞行控制以及定高定点等功能,这些也是今后努力的方向。
参考文献
[1]维基百科四辅飞行器[DB/0L]hp/h.wikiei anp/wikiAESS98%08%E8SBD%B4%E9%A3%9E%E8%A188CMES%99%A8 2013年12月9日
[2]妊博文。微小型四旋興飞行器的硼究现状与关键技术[A] . 电光」控制2007年12月
[3]杨庆华,四旋冀飞行赛建模、控制与仿真[A].海平航空I程学院学报,2009 年05刚
[4]奉俊具有公共安全功能的四旋翼飞行器的研究[D].中国计址学院学报, 2013年06
[5]李维宁。四旋冤飞行器农田位置信息采集平台设计与实验[J].农业机械学报。2013年05期
[6]周谟。四旋荑飞行器的自适应单神经元PID控制研究[].军事通信技术,2013 年03
[7]祝彬,国外超高空长航时无人机发展分析[R].中国航大。2013年 11期
[8]林林。基于协同机制的多无人机任务规划研究[D].北京邮电大学,2013年12 期
[9]董龙雷。凹旋興飞行器的地面效应分析[A].第八届中国CAE T程分析技术年会赀
2012全国计算机辅助C程(CAE) 技术与应用高级研讨会论文集2012年7月1日
[10]钟厨娜,基子磁传感器的四施翼飞行器白主导航设计[A].重庆理I大学学报,2013年12翔
[11]张浩,四旋翼飞行器航姿测暈系统的数据融合方法[J], 兵工白动化,2013年01期
[12]张1"玉四旋與微型飞行器设计[A].哈尔滨理工大学学报,2012 年6月
[14]维基百科。 arduino[D6/OL]. hp/ wilnia.cnzh.cnArduin 2014年3月 12日
[15] LafLabs. Maple Mini, [DB/0L]ht:/:/w/weaabs co/decshardwre/maple minllchnicalsesiain 2014年3 月
[16] Qi Nie. Separate-bias Quaternion Estination of siNs Aligmpent Under Large
Initial Heading Error[A].算25届中国控制与决策会议论文集,2013年5月 25日
[17]陈向堅,微型八旋虎飞行器的姿态角回路智能控制[J].江苏航空。2013年11月15日
[18]曾青山。 面向外骨骼机墨人的空心杯电机位置问服控制研究[D].电f科技人学,2014年01期
[19]谢疑。基于四轴飞行器的无刷电机驱动设计[J].自动化与仪器仪表。2013 年05期
[20]王冬来基于非线性指敷趋近律的飞行器拟向要态控制[J].计算机工程与设计,2012年10期
[21]王催。基于气压高度计的多旋冀飞行器高度控制[J].控制工程, 2011年07期
[22]李杰小型四旋翼飞行器新型非线性PID安态控制器设计[J].机械科学与技术,2013年08期
[23]秦永元。卡尔曼滤波与组合导航原理D].西北工业大学出版杜, 199年
[24]夏喜旺,关于大角度范围内四元数与欧拉角转换的思考导弹与航天运载技术,2012年05期
[25] 叶军。自适应Kanen就被算法在加速度计自标定中的应用[].电子设计工程,2011年0期
[26]魏伟。卡尔曼滤波系统和量测噪声自适应估计的关联性[J],测控技术, 2012 年12期。
[27]余小翠,扩晨卡尔量滤波算法韧值选取方法[J].声学与电子工程。2012 年01期。
[2B]黄波一种卡尔曼滤波自适应算法D].大众科技。2012 年03期。
[29]占荣辉,基于Hatlab的Kalnan滤波教学实践[J].电气电子教学学报。 2011 年12月15日。
[30]徐华中。卡尔曼滤波在四轴飞行器导航中的应用[J].武汉理工大学学报,2012年03
[31] 员丽琼。SINS/GPS 组台导航系统Kalen滤波仿真研究[J].自动化仪表, 2011 年01
[32] 梁延德,基于互补滤波器的四旋翼飞行器婆志解算[J],传感器与微系统, 2011年11月20日,
[33] 李俊。四旋翼飞行器的动力学建模及PID控制[J].辽宁工程技术大学学报。2012 年01期
[34]百度百科。 WPU-6050[DB/0L].hpt/aik bad.compvv/88706132 hmtfiom. 11377810&tpe sfomtiempu65a&rsnladim 2013年 10月21日
[35] niroduino官网。 niroduinoDB/OL].hp/:/wkimicowiwonctindcia pap2iDe-Main D'a2014年3月20日
[36]百度文库GY-27 HC5853CD8B0].hp//w/k balda com/ink2urs-ARPOOuBZoh7Giy89 yxhGXMyndURCUVC2pD7BcGmJZWVNiOiC
5CsO6bDBBxdk9cQurCskzeS1cRGHHUxaExljuZ.kqr2EqWm6NOK2011-08-14
[37] open source hardware. arduino nano[DB/OL].h:tp:b.o.n.e.eotc cmndesxanpitle Arduimo Nane 2011 年11月23日
[38]百度文库BLK-V0- B004-B8蓝牙模块技术手册[D:/O].hp:/:/hwu.haidu cmlVinknu-J3eLnzvdOKQKiXO0MwWBWcpv94E3QoIRKUxPDOE iUnd zlFaSHIoKZFvGpWnETPnrGUJ7B6pFFfA3m2AhF782WTEHkpU8TuD6Bk 2012 年5月30日
致谢
几年的厦大学习生涟即将结束这篇硕士学位论文是对我几年学习成果的-个总结,而这最后的致谢则想要表达对这三年来帮助过我的老师和同学们的深深的谢意,师恩如海,衔草难报,同窗情深,亲如手足。
首先,我要对我的导师---郑灵翔老师, 表示我最由衷的感谢。感谢那灵翔老师在我攻读硕士学位的期间中对我所付出的一切心血。在论文的选题、搜集资料和写作阶段,郑灵翔老师都倾注了极大的关心和鼓励。他的谇谆教诲令我茅塞顿开。在我初稿完成之后,郑老师在百忙中抽出时间来对我的论文认真的审阅和批改,字字句句把关,提出许多中肯的指导意见。郑老师严谨的治学之风和对技术的孜孜不倦的追求,在今后的道路上将不断地影响和激励我。我将永远铭记郑老师的教诲。在此对郑灵翔老师表示由衷的感谢和崇敬。我要感谢校外导师华侨大学的戴再平教投。戴教投平时给予了我许多算法上的理论指导。戴教授渊博的学识和优异的理论术平令我尊敬不已。在此同样感谢戴教授给子的耐心细致的指导。
我还要感谢这三年来与我互勉互励的诸位同学。陪我一起走过这段人生难忘的历程。在各位同学的共同努力之下,我们始终拥有一个良好的生活环境和一个积极向,上的学习氛围,能在这样一个团队中度过,是我极大的荣幸。
最后,我要感谢我挚爱的父母、爱人,在论文写作期间,他们给我极大的鼓励和莫大的支持。感谢我可爱的儿子,正是活泼、可爱的他。使我在工作和学习时有了源源不断的动力!
在此感谢大家对我的支持与厚爱!
(如您需要查看本篇毕业设计全文,请您联系客服索取)