四旋翼设计与实现_第1页
四旋翼设计与实现_第2页
四旋翼设计与实现_第3页
四旋翼设计与实现_第4页
四旋翼设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四旋翼设计与实现毕业设计论文摘要四轴无人机是一种结构新颖的多旋翼飞行器,其通过调节四个电机的转速来实现飞行控制。与常规旋翼式飞行器相比,对称分布的四个桨叶可使旋翼的反扭矩相互抵消,不需要额外的反扭矩尾桨。在民用和工业应用领域,无人机因其因其独特的结构和优秀的性有着广泛的应用前景,如灾情救援、交通检测、货物运输等领域都有实际应用的意义。本文根据无人机的特性,采用了基于ARM CortexM4 架构的STM32F3微处理器作为飞控平台。利用板载的陀螺仪和加速度计MPU-6050内部的DMP功能进行姿态解算,通过PID姿态控制器来实现无人机准确的姿态控制。同时,在无人机上加装了超声波传感器和GPS模

2、块,可通过2.4G频段的遥控器进行无线控制,以定点定高的悬停功能来实现精准的货物投放。四轴无人机上又可加装OSD等模块进行数据的实时传输和数据采集,以在实际中有更多应用。关键词:四轴飞行器;STM32F3;MPU6050;PID控制;超声波传感器ABSTRACTFour-axis unmanned aerial vehicle is a novel multi-rotor aircraft, which adjusts the speed of four motors to achieve flight control. Compared with the conventional rotor

3、craft, the symmetrical distribution of the four blades of the rotor torque can cancel each other, without additional anti-torque tail rotor. In civil and industrial applications, unmanned aerial vehicles because of its unique structure and excellent sex has a wide range of applications, such as disa

4、ster relief, traffic detection, cargo transportation and other fields have practical significance. According to the characteristics of unmanned aerial vehicles, the STM32F3 microprocessor based on ARM CortexM4 is adopted as the flight control platform. The posture of the unmanned aerial vehicle (UAV

5、) can be controlled by the PID attitude controller based on the onboard gyro and the DMP function of the accelerometer MPU-6050. At the same time, in the unmanned aerial vehicles to install the ultrasonic sensor and GPS module, through the 2.4G band remote control for wireless control to fixed-point

6、 high hover function to achieve accurate delivery of goods. 4-axis unmanned aerial vehicles can be installed on the OSD and other modules for real-time data transmission and data acquisition, in practice there are more applications.Key words: four-axis vehicle; STM32F3; MPU6050; PID control; ultraso

7、nic sensor目录1 概论11.1 选题背景11.2 国内外现状研究11.2.1 四旋翼飞行器的国内发展现状11.2.2 四旋翼飞行器的国外发展现状12 四旋翼飞行模型结构与硬件电路设计32.1 四旋翼飞行器的结构与原理32.2飞行器控制硬件电路设计需求分析42.3元器件的选型52.3.1微控制器的选型52.3.2传感器的选型62.3.3电机、桨叶及机臂的选型82.4硬件电路的设计92.4.1电源部分92.4.2 MCU选型102.4.3 传感器部分122.4.4 动力部分123控制器软件设计133.1 控制算法选择133.2 基于MPU6050传感器的姿态角求解143.2.1 欧拉角与

8、四元数143.2.3 获取四旋翼飞行器姿态183.3 飞行器控制算法设计194测试与分析214.1 姿态解析测试214.2 飞行控制测试215 总结与展望23致谢25附录271 概论1.1 选题背景四轴无人机是一种垂直起降的无人机,有着广阔的应用前景。在军用和工业应用领域,可用于敌情侦查、灾情监测等。在民用领域,可用于航拍摄像、搭载物品等。四旋翼有多个螺旋桨,结构紧凑,能提供强大的升力。四个螺旋桨同时转动能够抵掉单个螺旋桨旋转产生的反扭矩,而不需要额外的反扭矩桨。因其较为简单的结构和出色的性能近些年来引起了广泛的关注,迅速成为国内国外研究的热点。各大高校也先后研究出了有多种用途的无人机,如北航

9、的用作单兵作战的毒蜂II,Upenn的倒立摆无人机等。顺丰、Amazon等公司也在探索无人机在偏远山区的速递配送业务,相对于人力物流,具有效率高、成本低的优势。我们注意到身边同学们在高峰时间取寄快递时需要排较长时间的队,可能会耽误到上课时间。另外,现在同学们购买外卖的频次也很高,在校约九成的外卖都是送到校门口或者宿舍楼下的,有诸多不便。因此,我们试想用稳定性高、定位准确、负载能力强的低成本无人机来解决这两个痛点。1.2 国内外现状研究1.2.1 四旋翼飞行器的国内发展现状国内对于四旋翼无人机的研究处于稳步发展阶段,四旋翼无人机因其硬件简单,并且可以很方便的搭载其他辅助设备,近年来已成为各大高校

10、和企业的研究热点。目前,市场上我国商用无人机占据全球市场份额的70%,以大疆公司为第一梯队,主要用于航空拍摄,航空摄影等。搭载高精度GPS的大疆lily将在16年正式上市,可实现调解追踪方式,跟踪拍摄等。目前国内较多四旋翼无人机搭载有简易GPS,定位精度在10米以内,可实现坠机找寻等功能。根据2013年我们出台的民用无人驾驶航空器系统驾驶员管理暂行规定指出,重量小于等于7公斤的微型无人机,飞行范围在目视视距内半径500米,相对高度低于120米范围内,无须证照管理。所以现在市场上很多无人机都是违规的.一是需可能避免遥控飞机进入过高空域;二是在重量上不能高于上述标准,这样的无人机才有实际应用价值。

11、1.2.2 四旋翼飞行器的国外发展现状目前国外的研究水平略领先于我国,宾夕法尼那样大学的Raffaello D'Andrea教授的机器人试验室在TED演讲中利用倒立摆系统、模型预测控制(MPC)实现了鲁棒性及时相应、组队飞行拦截小球等场景,目前还未民用化。2014,谷歌公布实施“翼计划”送货无人机研发项目,希望在两年内推出小型无人机快递服务。其送货无人机的原型机宽约1.5米,高约0.8米,有4个推进器,能从距地约46米的高度向地面递送包裹。另外,亚马逊的无人机已经研究到第十代,可以通过视频来捕捉标记板,实现精确定点位,降落。然而这个标记板可复制性强,很容易造成无人机的丢失。四旋翼无人机

12、因其不稳定性,非线性和强耦合等特点。除了受自身机械结构和旋翼影响外,也很容易受到外界的干扰。所以目前无人机的稳定性是国内外研究的重点。现在主要有通过改进飞行控制算法、改变无人机结构等方法来改进飞行性能。2 四旋翼飞行模型结构与硬件电路设计2.1 四旋翼飞行器的结构与原理四旋翼的四个桨叶使用两对正反桨,对角的旋翼使用相同的桨叶。1号电机和3号电机逆时针旋转,同时2号电机和4号电机顺时针旋转,所以当四旋翼飞行器在平衡飞行的时候,陀螺效应与空气动力扭矩的效应该都被抵消掉。每个旋翼分别对四旋翼飞行器本身所施加的反扭矩作用的方向与旋翼旋转的方向相反,所以当1号电机和3号电机在逆时针旋转,此时2号电机和4

13、号电机顺时针旋转,就可以平衡旋翼对四旋翼飞行器机体的反扭矩。图2-1 飞行结构原理图四旋翼飞行器有6个自由度,分别是沿3个坐标轴方向的平移运动和绕三个坐标轴坐旋转动作,对这6个自由度的控制都可以通过调节不同电机的转速来实现。向上和向下的运动可以通过对4个电机同时做加速或者减速得到,旋翼旋转所产生的升力和与四旋翼飞行器所收到的引力相等时,飞行器就可以保持悬停状态。在水平面内做前后运动的方法是通过对1号和2号电机做增速或者减速的同时,3号与4号电机做减速或者增速,与此同时保持1号与3号旋翼对四旋翼飞行器机体的反扭矩作用等于2号和4号旋翼对四旋翼机体的反扭矩,此时飞行器在1,2号电机所提供的升力与3

14、,4号电机所提供的动力之差下发生倾斜,这样就可以向前或者向后运动。向左向右的运动原理与前后运动的原理相同。1,3号电机的速度不变,2号电机加速(减速)的同时,4号电机减速(增速)就可以得到俯仰动作。依此类推,横滚动作是对1号电机执行加速(减速)的同时,对3号电机执行减速(增速),同时2号四号电机速度保持不变。由于升力差的原因四旋翼飞行器便可以完成横滚动作。偏航运动是在1号和3号电机增速或者减速的同时,让3号和4号电机减速或者增速,在这时1,3号旋翼提供的反扭矩大于或者小于2,4号旋翼提供的反扭矩,飞行器便在扭矩的效果下得到偏航旋转的运动。可以通过表1简单清晰表达四旋翼飞行器的基本运动与旋翼转速

15、的关系。表1-1 四旋翼飞行器动作与旋翼转速关系表旋翼1旋翼2旋翼3旋翼4升降+(-)+(-)+(-)+(-)俯仰/前后+(-)0-(+)0横滚/左右0+(-)0-(+)偏航+(-)-(+)+(-)-(+)在表1中“+”表示增加旋翼转速,“-”便是降低旋翼转速,“0”表示转速不变。2.2飞行器控制硬件电路设计需求分析飞行控制器需要配备各种传感器,用来实现对飞行器姿态、飞行高度以及位置的测量;配备微控制器经过程序的设计以此实现控制系统的核心,对传感器所测量的数据进行融合计算,依据姿态与位置,结合所设定的控量来实现符合要求的控制输出;设计电机控制接口,根据控制器所运算出的结果输出相应的控制信号对电

16、机转速进行控制,使电机调节到合适的转速。通过测量、运算、输出完成整个闭环控制系统。通过以上分析可得,飞行控制器的硬件设计应包含传感器、微控制器、电机调速系统以及电机等。上述功能模块能够正常工作都需要提供正确的工作电压,然而所选择的锂电池只能提供3.7V的电压,因此还需要设计出适当的稳压模块用来确保飞行控制器的各个模块都能正常工作。四旋翼飞行器在有限的载重能力基础上需要完成各种复杂的控制,在系统硬件设计元器件选型上应考虑低密度、低功耗、高性价比的电子产品。而且,在四旋翼飞行器设计的实现阶段,要完成对飞行控制器的程序设计等,在这个期间会有相当多的调试工作需要进行;考虑到之后要对系统进行升级或者再次

17、开发的问题,在硬件系统设计的时候需要考虑到对接口进行标准化设计,注意模块化设计等。GPS 位置信息 2.4G射频PWM波地面控制信号 电机 STM32F3主板 (Cortex M4) 三轴欧拉角数据高度数据超声波模块陀螺仪加速度计MPU-6050 图2-2 项目原理示意图2.3元器件的选型2.3.1微控制器的选型微控制器在四轴飞行器中有着相当重要的地位。在飞行时,微处理器MCU通常需要执行各种复杂运算,例如与周围传感器通讯和输出控制电机组。一般集成CPU、RAM和FLASH等。在对比了市面上比较主流的几款微处理器,选用了ST公司的STM32F3系列芯片。表2-2 部分主流MCU微处理器公司芯片

18、型号字长Flash(k)RAM(k)工作电压(V)最高工作频率(MHZ)STSTM32f10332165126642.03.672STSTM32f30332128256402.03.672SamSungS3C641032外部外部1.8/2.5/3.3400通过对比看出,STM32的芯片相对于SamSung的MCU各方面性能都较好。虽然SamSung的芯片主频要比ST公司的高,但其不带Flash和RAM,给设计增加了难度。而STM32f303芯片是在Cortex-M3基础上升级的ATM Cortex-M4内核,处理速度提高了20%。综合考虑后,选用STM32F303CCT6芯片作为主控芯片。2.

19、3.2传感器的选型本次设计的飞行控制器所需要的主要参数有两个:飞行姿态和飞行高度。接下来针对介绍针对飞行姿态以及飞行高度的传感器选择。1. 姿态检测传感器四旋翼飞行器的3个轴向的加速度和旋转角速度的测量需要分别使用加速度计和电子陀螺仪来测量。A.电子陀螺仪传感器角动量守恒定责是电子陀螺仪工作的理论基础。一个高速旋转的东西,它转轴的指向不会跟随它的支架旋转从而发生变化,并且外力不容易使转轴的指向改变。由此我们就能够制造一种保持方向的仪器陀螺仪。陀螺仪转轴旋转时受到的阻力很小,提供一定的外力就可以使他以几十万每分钟的速度旋转,并且能够长时间工作。之后就可以用不同的方式测量轴向,并将轴向转换成数字信

20、号以便于控制器识别。电子式的陀螺仪采用微型电子机械技术制造,因为很难使用微型电子机械技术在硅片衬底上加工出一个旋转机构,所以其工作原理与机械式陀螺仪完全不同。科里奥利力,即旋转物体在径向运动时所受到的切向力,是电子陀螺仪工作的基础原理。电子陀螺仪有两对可移动的电容板,用来检测科里奥利力,径向的电容板加震荡电压迫使振子作径向运动,横向的电容板测量由于横向科里奥利运动带来的电容变化。因为科里奥利力正比于角速度,所以由电容的变化可以计算出角速度。B.加速度计加速度计就是测量物体加速时候作用在物体上的力。加速度计的在测量方式大致可以分为三种:压电式加速度计、容感式加速度计、热感式加速度计。压电式加速度

21、计内部有一个质量块,此质量块被一个刚体支架支撑着,质量块在运动的时候会产生压里。此时刚体就会发生形变,通过形变量将加速度力转换为电信号。 容感式加速度计,也是通过内部质量块在运动时产生的力,使其内部平板电容器的相对面积和相对距离发生改变。通过电容个变化量来测量加速度量。 热感式加速度计内部就没有质量块的存在了,通过对密闭气腔中的气体加热,在运动的时候热气团的运动会引起热场的变化,通过四周的温度传感器测量热场的变化从而计算出加速度的值。 因为压电式加速度计内部的质量块有刚体的支撑,在静态的情况下基本没有形变量,所以对于静态的加速度没有办法的到很好的测量。而容感式和热感式,在静态的情况下也能够测量

22、到加速度值,当然动态的加速度值三种方式则都可以测量到。对于飞行姿态的检测我采用了MPU6050。免除了组合陀螺仪与加速计时存在的轴差问题,减少了大量的包装空间。它将三轴MEMS陀螺仪以及三轴MEMS加速度计融合在一起封装子啊一个小小的芯片内,并且内置DMP(DigitalMotionProcessor数字运动处理器),可能够通过IIC接口连接其他的数字传感器,譬如磁力计。在经过扩展之后MPU-6050能够使用它的I2C接口或SPI接口输出一个9轴数字信号。压力传感器等非惯性数字传感器也可以通过IIC接口与MPU-6050相连接。MPU60X0有两种通讯方式IIC接口通讯通讯速率为400KHz,

23、和SPI接口通讯通讯速率为1MHz。内嵌了一个工作中变动仅有1%的振荡器,和一个温度传感器可以用做温度校准。使用无引线方形封装方式LQFN封装,10kg以内的冲击基本不会对它造成损伤,并且拥有可编程的低通滤波器方便用户使用。2. 飞行高度测量传感器常用的高度测量传感器一般有三种方式:光学测距,超声波测距以及气压高度。这三种方式各有利弊,下面通过分析几种高度测量传感器的优缺点来为本系统选择合适的高度测量传感器。光学测距传感器常见的有两种,一种为红外测距传感器,一种为激光测距传感器。红外测距传感器的测量距离较小,容易受到自然光的影响,而四轴飞行器飞行到一定高度后红外测距传感器将会失效。激光测距传感

24、器相对于红外测距传感器来说测量精度以及测量距离都有很大的提升,并且不易受到自然光的影响。但是激光传感器若照射到人眼睛或者身体其他敏感部位会对个人健康有一定的影响。并且其价格比较昂贵。超声波传感器工作稳定,但因其需要发送和接收超声波,所以最小测量距离受到限制。但价格低廉,最大测量距离也不低。也不会对危及身体健康。而空气高度传感器是通过测量气压间接测量海拔高度,因此对环境要求较高,并且在运输型飞行器的设计中,桨叶距离飞行控制器很近,桨叶转动时,产生的气流对气压传感器的影响会很大。综合以上因素,最终在本次设计中使用超声波传感器作为高度的检测传感器。超声波传感器发送出一种固定频率的超声波信号,用来消除

25、杂波的影响。通过计算从发送超声波开始到传感器接收到因为反射效应所返回的超声波的时间来计算此时超声波与在造成超声波反射的障碍物的距离。这与雷达测距原理相似。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2。指向性强,能够传播较远的距离是超声波传感器的两大优点,所以超声波传感器常常用会被用在距离的测量方面。使用超声波传感器能够快速,的检测到距离,能够满足大多数系统的实时要求。并且没有复杂的计算与转换。本系统中使用的超声波测距模块型号为KS-103,它具有单孔收发超声波的功能,最高测量高度10米。2.3.3电机、桨叶及机臂的

26、选型电机是四旋翼飞行器的飞行控制器的执行机构,电机能够将飞行控制器的输出转变为四个旋翼的转速,通过旋翼的转速改变各个旋翼所提供的升力和反扭矩,从而起到调节飞行器的姿态的功效。本系统所要完成的是一个运输四轴飞行器控制系统,具有承重大、灵活性高、稳定性好等特点。机臂则选用铝合金材质,四个仅100g,坚固耐冲撞。无刷电机依靠改变输入到无刷电机定子线圈上的电流波交变频率和波形,在绕组线圈周围形成一个绕电机几何轴心旋转的磁场,这个磁场驱动转子上的永磁磁钢转动,电机就转起来了,电机的性能和磁钢数量、磁钢磁通强度、电机输入电压大小等因素有关,更与无刷电机的控制性能有很大关系,因为输入的是直流电,电流需要电子

27、调速器将其变成3相交流电,还需要从遥控器接收机那里接收控制信号,控制电机的转速,以满足模型使用需要。 总的来说,无刷电机的结构是比较简单的,真正决定其使用性能的还是无刷电子调速器,好的电子调速器需要有单片机控制程序设计、电路设计、复杂加工工艺等过程的总体控制,所以价格要比有刷电机高出很多。经过对电机参数的考量最终选用了RS2205S无刷电机合1045的正反桨叶可提供足够的升力。720电机参数如下图2示图2-3无刷电机参数2.4硬件电路的设计本系统的主控芯片为STM32F303CCT6,使用MPU6050传感器作为姿态测量芯片,使用四个N沟道场效应管用来驱动四个无刷电机,而且对每个电机增加了二极

28、管用来续流,避免电机停止时存在的反电动势对电路造成破坏。2.4.1电源部分本四旋翼飞行器使用用3.7V 500mA的锂电池进行供电。但是飞行控制器中的各种电子元器件都需要有供给特定的电压才能正常工作。微控制器、mpu6050电子陀螺仪传感器的工作电压均需要为3.3V的稳定电压。而且电池不仅为控制器供电也为电机供电,电机运转时电压会产生波动。所以必须要针对所使用的元器件为飞行控制器设计可靠稳定的供电电路。为此本系统采用了TPS76333低功耗线性稳压器。负载电流150mA,完全符合电机及控制板的需求。并且有着低压差、低功耗、价格便宜的特点。电路原理图如下:图2-4电源部分原理图飞本系统使用3.7

29、V锂电池为系统供应电力。微控制器与MPU6050用两路独立电源供电,这样能保证系统的稳定运行以及MPU6050测量的准确度。2.4.2 MCU选型MCU部分包括了STM32最小系统和SWD仿真下载接口,最小系统保证了主控芯片的正常工作,SWD仿真下载接口为系统的开发与调试提供方便。STM32主要负责的任务是控制MPU6050芯片和HM5883L磁罗盘芯片将传感器的数据利用MPU6050的内置DMP进行数据融合和滤波处理,并使MPU6050芯片解析飞行器姿态并且通过IIC输出四元数,使用从MPU6050获得的四元数计算出欧拉角确定四旋翼飞行器的姿态,控制超声波传感器测量飞行器与地面的相对距离。之

30、后根据所检测到的四旋翼飞行器的飞行信息,结合所制定的控制方案,计算出各个电机所需要的输出控制量,输出PWM驱动电机使四旋翼飞行器能够稳定的飞行。在MCU部分我们将芯片的BOOT0接地,而没有使用做成选择的模式,目的是为了减少PCB空间,并且减轻四旋翼飞行器的重量。这样做使我们无法使用ISP下载模式(BOOT0=1,BOOT1=0),但是不影响我们的正常开发和调试。STM32上存在着两个决定着程序的起始位置的管脚BOOT0及BOOT1,STM32复位后从芯片的哪一区域开始执行指令由他们复位时的状态决定。图2-5晶振及复位电路在晶振电路中我选择使用封装格式为3213的村田8M无源贴片晶振,体积小质

31、量轻。复位按键也使用3x6x2.5mm的小巧型按键。配上104电容和2.7K电阻构成RC复位电路。下载接口使用四线SWD仿真下载方式,避免了JTAG接口占用板子空间加重四旋翼飞行器。在标准的SWD仿真下载接口上应给SWDIO接上拉电阻,SWCLK接下拉电阻,但是在我以往使用经验上来看无需接上拉和下拉也可使用,而且接上上拉下拉电阻之后也可造成下载时Jlink无法找到芯片的问题。图2-6 SWD仿真下载接口我们只需要将JLINK的1号脚连接VDD,7号脚连接SWDIO,9号脚连接SWCLK,20号脚连接GND便可以完成JLINK的SWD仿真下载模式的连接。在KEIL中设置下载方式为SW便可正常下载

32、程序。2.4.3 传感器部分MPU6050使用I2C与主控芯片进行通讯,电路部分仅需要分配好I2C接口,设置好I2C地址。当MPU6050芯片连接到STM32微控制器的时候,MPU6050就作为IIC总线上的一个从设备。AD0引脚是从设备MPU6050在IIC总线上的地址控制引脚,这个引脚控制从设备的IIC地址的最低位。如果这个引脚连接到GND,则MPU6050芯片的IIC总线地址为:0X68,如果此引脚连接到VDD,则芯片的IIC地址为0X69。 图2-7 MPU6050模块原理图2.4.4 动力部分本系统使用PWM来对直流无刷电机的转速进行调节。四旋翼飞行器的动力供应由四个电机和两对正反旋

33、翼组成。无刷直流电机是一种功率器件,因此需要较大的电流才能驱动此电机使电机按照要求工作,STM32控制器的输出能力有限不能直接驱动无刷电机使其正常运转,所以需要选用适当的功率器件来驱动。本次设计使用了四个N沟道的场效应管用来驱动四个无刷直流电机,A2SHB具有较大的漏极输出电流,当VGS为3.7V时能通过的最大的电流为2.8A。因为本系统所使用的无刷电机在转动的时候会产生很大的冲击电流,因此需要加上二极管给电机工作时所产生的反电动势提供一个放电回路。下拉电阻R3防止上电时电机转动。如图2-8所示。 图2-8电机驱动电路3控制器软件设计3.1 控制算法选择因为四旋翼飞行器在飞行时可能会受到气流或

34、者其他非线性因素的影响,这样会使四旋翼飞行器的飞行环境变的更为复杂,而且四旋翼飞行器在飞行过程中会同时受到多种物理效应的影响,使得四旋翼飞行器自身变成了一个完全不确定的复杂系统。所以,四旋翼飞行器很难建立一个非常准确的动力学模型。另外旋翼飞行器的四个旋翼易发生变形的情况,而且随着转速变化形变量会有所不同,因而很难得到一个相对准确的转速和动力之间的相对确定性的参数,使得建模仿真过程变的更加的困难。同时四旋翼飞行器所安装使用的传感器的精度不同,以及传感器因为受到的不确定的干扰时会产生不定漂移,也使得数学模型很难精确的表达四旋翼飞行器的实际飞行状态。数学模型的不确定性直接造成的后果就是很难用设计相对

35、有效的控制算法。 四旋翼飞行器是一个拥有6个自由度的系统,其中包括3个位置量和3个姿态量,但是四旋翼飞行器仅仅只拥有4个控制输入量,所以它是一个欠驱动的系统,而且四旋翼飞行器还具有强耦合性、强非线性和干扰敏感的不良特性,这同样也使得四旋翼飞行器的飞行控制系统设计异常复杂。另外,不能够建立精准的动力学模型也同样使得控制器的性能大打折扣。由于四旋翼飞行器的在完成俯仰动作或者横滚的时候必然会引起四旋翼飞行器的机体向四周运动。由于存在这种耦合关系给我们控制飞行器的姿态和位置增添了许多麻烦。在国际上有着很多相关的研究着重设计和验证了姿态控制器,研究的结果表明:如果能够建立一个准确的模型,可以设

36、计非线性的控制器来控制飞行器的位置和姿态。但是因为模型的准确性很难得到保证,所以它的实际控制效果反而并不如PID控制理想。因此,将控制算法的适用性与模型的准确度相结合,研制出既能够精准的控制四旋翼飞行器的位置和姿态,又能适应各种环境拥有着良好的自适应能力的控制器是一个非常重要的任务,对四旋翼飞行器的研究有着重大的意义。滑膜控制、鲁棒控制与模糊控制都拥有很好的处理不确定系统的能力和抗干扰性能较强的特点,对所建立模型精确度的要求相对较低,但是算法非常复杂;非线性控制鲁棒性强、跟踪能力好,但对模型的精确程度依赖性很高,难以实现;而PID控制虽然属于传统控制方法,但是因其便于使用、结果精确,因此在实际

37、飞行中往往采用PID控制方法控制飞行器的姿态。本次设计的主要任务设计一种基于STM32系列单片机的飞行控制器,并制作出一种微型的四旋翼飞行器,编写控制算法,最终使完成的四旋翼飞行器能够稳定飞行,为后期的研究奠定基础。MPU6050除了提供三轴陀螺仪和三轴加速度计传感器的16位ADC信号采集功能之外,还集成了数字低通滤波器和数字运动处理器DMP,因此为避免欧拉角姿态解算大角度时存在的万象节锁,可直接将输出低通滤波器和四元数姿态结算后的四元数数据转换为欧拉角最终得出准确的俯仰角、横滚角和航偏角。系统程序流程如图3-1所示。图3-1 系统程序流程图3.2 基于MPU6050传感器的姿态角求解3.2.

38、1 欧拉角与四元数欧拉角是用来唯一地确定定点转动明体位置的三个一组独立角参量,由章动角、进动角和自转角组成。将一次刚体的旋拆分成三个坐标轴上的三次旋转,三次转动的旋转角度就是所谓的欧拉角。图3-2 欧拉角坐标如图所示,由定点O作出固定坐标系Oxyz以及固连于刚体的坐标系Ox'y'z'。以轴Oz和Oz'为基本轴,其垂直面Oxy和Ox'y'为基本平面.由轴Oz量到Oz'的角度称为章动角。平面zOz'的垂线ON称为节线,它又是基本平面Ox'y'和Oxy的交线。在右手坐标系中,由ON的正端看,角应按逆时针方向计量。由固定轴

39、Ox量到节线ON的角度称为进动角,由节线ON量到动轴Ox'的角度称为自转角。由轴Oz和Oz'正端看,角和也都按逆时针方向计量。我们可以很直观的理解欧拉角,同时使用欧拉角也方便我们计算。但是传统的欧拉角和我们在做平衡控制中所用到的 Yaw、Pitch、Roll 并不能同一而论。因为传统意义上的欧拉角就是指的刚体的一次转动分解到三个坐标轴上的旋转角度,并没有参考系。载体相对于参考系地球的三个角度量就是我们平时多说的Yaw、Pitch、Roll,选择了地球作为参考系也就产生了万向节死锁Gimbal Lock 即自由度丧失。四元数是由实数加上三个虚数单位 i、j、k 组成的。每个四元数

40、都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bk+ cj + di,其中a、b、c 、d是实数。对于i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表X轴与Y轴相交平面中X轴正向向Y轴正向的旋转,j旋转代表Z轴与X轴相交平面中Z轴正向向X轴正向的旋转,k旋转代表Y轴与Z轴相交平面中Y轴正向向Z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。四元数与姿态矩阵具有如公式(1),公式(2)所示: (1) (2)而欧拉角与姿态矩阵的关系如下公式(3)所示 (3)通过两式可得到欧拉角的四元数表达,如公式(4),(5),(6)所示 (4) (5) (6) 图

41、3-2MPU6050的内部框图使用MPU6050的步骤1.初始化I2C2.复位MPU6050这一步骤是为了让MPU6050传感器内部的所有的寄存器恢复到默认值,需要通过对电源管理寄存器1中bit7来置1完成。将所有寄存器恢复到默认值之后,MPU6050处于休眠状态,此时需要设定电源电源管理寄存器为0x00唤醒MPU6050。唤醒之后MPU6050才能开始工作。3.陀螺仪与加速度计的量程等级设定陀螺仪与加速度计的配置传感器分别为0x1B,0x1C。在本系统中我们将陀螺仪的量程设定为±2000dps,加速度计的量程设定为±2g。4.设置采样率以及滤波器对采样率分频寄存器进行操作

42、就可以设定陀螺仪的采样速率。寄存器(0X1A)管理着数字低通滤波器。我们一般将DLPF设置为带宽的1/2就可以了。5.系统时钟源的配置与惯性传感器的使能电源管理寄存器1同时也控制着系统时钟源的设置,时钟源的选择由此寄存器的低三位状态决定,0是默认值表示将系统的时钟源设定为内部8M震荡电路。1表示系统时钟源选为陀螺仪的X轴的PLL作为时钟源,此时的时钟相对内部时钟要准确得多。电源管理寄存器2(0X6C)管理着陀螺仪与加速度计的使能,将对应位设置为0即可使能相应传感器。到此为止,对于MPU6050的初始化工作可以说是基本完成了,此时我们的传感器就可以正常运行了。其他没有设置过的寄存器全部使用默认值

43、就可以。3.2.3 获取四旋翼飞行器姿态经过对MPU6050的初始化处理之后我们就能够获取到MPU6050的加速度传感器和角速度传感器的原始数据。不过这些原始的数据,对于我们用处不大而且复杂难以观察,我们希望得到的是能够准确清晰的描述姿态的相关数据,也就是我们所说的欧拉角,它包括:航向角(yaw)、横滚角(roll)和俯仰角(pitch)。有了这三个数据,我们就可以简单准确的得到当前四旋翼飞行器的姿态。要获得欧拉角数据,我们就需要通过对我们的之前所获得的原始数据,进行姿态的融合解算。由于MPU6050传感器自身就配置了数字运动处理器DMP,而且InvenSense也为用户提供了一个基于MPU6

44、050的嵌入式运动处理器的驱动库,使用MPU6050的DMP,能够轻松直接的输出四元数数据,在得到四元数之后,我们就能够计算出欧拉角,并得到yaw、roll和pitch三个数据。使用MPU6050内置的DMP,极大的简化了四旋翼飞行器的代码编写,且STM32微处理器也不需要进行姿态解算的运算也不用再次设计滤波算法就能得到相对稳定的数据,在很大程度上降低了MCU的负担,这让MCU有了更多的时间去完成其他运算,提高了飞控系统的实时性。使用MPU6050的DMP输出的四元数是q30格式的,也就是浮点数放大了2的30次方倍。在将四元数换算成欧拉角之前,需要先将四元数转化成浮点数,即除以2的30次方,之

45、后再通过一系列的计算,从而得到欧拉角。计算公式为:#define q30 1073741824.0ffloat q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f; /初始化四元数q0=quat0 / q30; /将q30格式转换为浮点数q1=quat1 / q30;q2=quat2 / q30;q3=quat3 / q30;/计算得到俯仰角/横滚角/航向角pitch=asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3; /俯仰角roll=atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 +

46、 1)* 57.3; /横滚角yaw=atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3) * 57.3; /航向角上述计算公式的57.3是弧度转换为角度,即180/,这样得到的结果就是以度(°)为单位的。3.3 飞行器控制算法设计当我们将飞行器的姿态正确的解析与表达出来之后,我们就可以编写控制程序控制四个电机,使四旋翼飞行器可以飞上天空翱翔了。控制的思路为:设定一个目标姿态,调整四个直流电机的转速,使测量出的姿态接近目标姿态。在过程控制中使用PID控制器,他是应用最为广泛,并且原理非常简单的一种自动控制器。PID调节器的三个控制参数没有相

47、关性,参数整定的方法较为简单,但是需要耗费一定量的时间去调整参数。PID控制器在对而待存在着滞后环节的系统时,有着很好的控制效果。而我们的四旋翼飞行器便存在着之后环节。PID控制器的结构可以很灵活的改动,例如PD控制,PI控制,纯比例控制等等。PID是比例、积分、微分的缩写,将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称PID控制器。图3-3 PID控制系统原理图在一部分场合中我们可以通过对系统进行理论建模,从而分析计算出PID的参数,这样得到的参数效果会很好。但是我们的四旋翼飞行器,甚至大多数时候我们无法对系统进行精确的建模。

48、此时我们就需要用到凑试法来整定PID的参数。比例系数P的增大会引起系统响应速度的加快,但是比例系数如果设定的过大,会使系统的超调变得很大,振荡环节时间加长,影响系统的稳定性。积分系数I的增大会使系统的超调变小,减弱振荡环节。从而使系统的稳定性能得到提升,但是由于积分的存在会使系统消除静差的时间加长。微分时间D的增大会使系统响应速度加快,并且减少系统的超调量,但是这样会使得系统抑制扰动的能力变差。四旋翼飞行器在飞行的过程中,突然受到风或者磁场的干扰,加速度传感器的数据就会失真,从而造成系统的不稳定。而角速度是由陀螺仪采集到的,陀螺仪的采集并不会受到这些环境变量的影响,所以应添加上角速度的控制。此

49、旋翼飞行器在姿态控制上使用PD控制器,在位置计高度控制上使用PI控制器。比例调节使误差快速减小,而微分环节具有超前调节作用减小滞后,通过PD控制器使飞行器姿态得到稳定。在高度控制上PI控制可消除余差使飞行器高度固定,稳定飞行能力得到提升。4测试与分析4.1 姿态解析测试通过串口将所得到的yaw、roll和pitch数据发送到PC机,选择开源的CleanFlight作为上位机可以进行调试和学习。它支持4-8轴飞行器的性能测试和简单调试,下图是陀螺仪和加速度计MPU-6050的上位机仿真图形,可做出姿态动作并演示。通过对比发现所得到yaw、roll和pitch正确,可以准确的表达出飞行器的姿态。下

50、图4-1和4-2为飞行器姿态3D演示效果图和仿真波形图。 图4-1 飞行器姿态3D演示效果图图4-2 MPU-6050仿真波形图4.2 飞行控制测试为测量四轴飞行器的实地飞行效果与参数,本文对本项目研制的四轴飞行器进行了多次实地飞行试验。测试中飞行器基本可保持稳定飞行,俯仰角横滚角偏差在5度以内。控制系统的应用验证了PID控制的有效性。飞行试验表明,PID控制器可以控制四轴飞行器稳定地完成各种飞行姿态。以下为飞行器飞行效果图。下图4-3和4-4为成果图和悬停图。图4-3 成果图图4-4 悬停5 总结与展望四轴无人机的发展历史达一个世纪之久,但其早期的发展却十分缓慢,知道单片机的普及才使得四轴无

51、人机在近几年得到突飞猛进的发展。其实际应用价值和广阔前景已经越来越受到重视,同时各大高校和公司都展现了浓厚的兴趣和深入的研究。虽然无人机的关键技术已经得到了解决,但本项目的研究方向和内容对四轴飞行器的发展有一定的意义。在开始PID控制器参数选择设计时进行数学探究与数学建模在中学中学习的重要性,知道了什么是数学建模,数学建模就是把一个具体的实际问题转化为一个数学问题,然后用数学方法去解决它,之后再把它放回到实际当中去。四轴飞行器在飞行过程中,其飞行姿态将动态变化,即使保持电机转速不变也不能使飞行器稳定在固定姿态,因此需要不断的对电机转速进行调整,使飞行姿态逼近期望姿态,PID控制器即实现将期望姿

52、态与实际姿态之间的误差解算为电机控制量的过程。从PID模型到程序设计及最后的电机输出可以看出,再复杂的执行过程都可以经过简单的数学模型表示出来。/将输出值融合到四个电机 Motor2 = (int16_t)(Thro - Pitch -Roll- Yaw ); /M3 Motor0 = (int16_t)(Thro + Pitch +Roll- Yaw ); /M1Motor3 = (int16_t)(Thro - Pitch +Roll+ Yaw ); /M4 Motor1 = (int16_t)(Thro + Pitch -Roll+ Yaw ); /M2问题源于实际应用当中,了解和经历解

53、决实际问题的过程,并且从已有的经验想办法解决问题。真正上手后发现并不用基于互补滤波或是卡尔曼滤波算法也能将三轴数据解给MCU。可使用MPU-6050陀螺仪和加速度计中的DMP功能采集的数据直观的表达。在探索学习过程中感受到了数学的实用价值,获得了良好的情感体验。首先就是四轴无人机对于在校大学生大多数是一个崭新的东西。一开始写项目申请书的时候提出的解决方案不是很实用,实际验证起来有点困难。经过制作PCB板、焊接元件才体会到了硬件制作的辛苦。当一个版飞控做出来时发现有设计缺陷,为了安全性和稳定性的考虑采用更换了开源的F3飞控。这样要有一个尝试之后发现效果喜人,飞行稳定性很高。在这过程中,不断地查询

54、资料、询问导师来获取信息,在老师的帮助下,组员的合作下终于才把项目做出来。 对于PID控制器,也有了一点小思考。飞行器在飞行过程中,其飞行姿态将动态变化,即使保持电机转速不变也不能使飞行器稳定在固定姿态,因此需要不断的对电机转速进行调整,使飞行姿态逼近期望姿态,PID控制器即实现将期望姿态与实际姿态之间的误差解算为电机控制量的过程。1.调节PID首先要明白最基本PID三项的意义P是回复力是系统平衡的主力,D是阻尼力,始终是抑制作用,I虽然能使系统回复但是I大了容易激发震荡,所以I只能是辅助P 2.一般从P开始调节时候首先要找到临界震荡点,要学会便是系统临界震荡点的特点,不同系统临界状态可能不同

55、。 3.P不一定就比D大,切不可经验主义,一切遵循实际,多尝试可能性 4.调节PID最麻烦的就是会产生震荡,只要参数不合适都会产生震荡,初学者往往心急不知如何下手,其实是不同参数不合适而产生的震荡都有所区别,要细心观察,最好是能看PID输出,被调量,设定值三者的曲线图,通过图来对比特征曲线得出震荡产生的原因,关于曲线特征判别我推荐下面附件中的篇文献。 5.调节参数一定要心平气和,切莫急躁,多多尝试,平静的心态是在调PID时很重要,能让脑子清醒的看清问题。参数选择刚开始不知道大致范围时参数尝试变化范围可以大一点。确定范围后就要耐心的一点点的加。6.调节PID最好能看曲线图,判别特征曲线,又曲线来

56、看特征比直接看物体表现好得多。本次设计使用的超声波传感器,仅能用于在平地实现定高悬停,可增加气压计或其他高度测量传感器,并完成数据融合使所获得的高度能够更加准确。相信在以后四旋翼飞行器的应用还会更加广泛,更加普遍,在各个领域发挥出它的魅力。致谢本次毕业设计是在郁海华和杨文博老师精心指导和大力支持下完成的。郁老师和杨老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。再遇到问题是,老师们总能给我详细的解析,并且扩展性的讲解跟多的问题。同时,在此次毕业设计过程中我也学到了许多了关于嵌入式芯片和传感器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论