基于AVR单片机的四旋翼飞行器的设计

2019-04-28 12:24曹鲁成何晋李珂苏颖晋春杰
现代电子技术 2019年24期

曹鲁成 何晋 李珂 苏颖 晋春杰

摘要:四旋翼飞行器具有机械结构简单、成本低、事故率低、重量轻等优点,因此应用前景广泛。文章以Arduin。Mega2560单片机为核心控制器设计一架小型四旋翼飞行器。首先,通过主控制器、惯性测量单元、遥控通信模块、电源与驱动模块完成系统的硬件结构设计。其次,采用卡尔曼滤波来消除干扰,以及利用四元数算法解算出飞行姿态角控制电机的转速,并通过双闭环串级PID控制来调节飞行器的平衡性。最后采用C語言编写控制程序,软硬件联机调试并进行实地飞行测试。测试结果证明,四旋翼飞行器可以很好地平稳起飞,并且可以完成自稳、悬停等运作,达到了设计目的。

关键词:四旋翼飞行器;AVR单片机;飞行器设计;PID参数设置;惯性测量单元;飞行测试

中图分类号:TN911-34;TD368.2

文献标识码:A

文章编号:1004-373X( 2019) 24-0108-04

0 引言

四旋翼飞行器是一个多功能性的工作系统,在无人机中具有滞空时间长、便携性好、飞行平稳的优点。它的用法多种多样,无论是在军用还是民用,四旋翼都体现出了其他飞行器无法比拟的优点,被社会各行各业所认可,因此四旋翼的利用价值非常高。

四旋翼飞行器的研究可以追溯到20世纪初,然而当时由于机械结构和控制技术的掣肘,四旋翼飞行器的发展相当缓慢。近年来随着微控制技术、信息技术、传感技术的突破,四旋翼飞行器进入快速发展的阶段。国外很多著名的高校和实验室都开发出了不同的四旋翼飞行器和控制算法,比如宾夕法尼亚大学Vijay和他的团队开发出的微型四旋翼飞行器采用视觉信息测量姿态融合惯性测量元件,可在复杂的三维环境中实现进行巡航[1]。

国内对四旋翼飞行器的研究正处于方兴未艾的阶段,和国外相比还有一段不小的距离,但我国已在飞行器上取得过许多良好的成绩,无论是在四旋翼飞行器的控制算法上还是在现实应用中都取得了斐然的成绩。目前国网供电公司在多省运用无人机搭载激光雷达进行输电线路巡检工作。

1 四旋翼飞行器的硬件设计

四旋翼飞行器核心部分是飞行控制系统,四旋翼的所有飞行动作都是在飞行控制系统的指令下完成的,是四旋翼的大脑。四旋翼的一套完整控制系统应由主控芯片、遥控通信模块、惯性测量模块、电源模块和驱动模块组成[2]。四旋翼的整体结构框架如图1所示。

2 四旋翼飞行器控制器的设计

2.1 四旋翼姿态解算

四旋翼的姿态解算算法实质是坐标系转化问题,就是如何将飞行器载体坐标系转化为地理坐标系的问题[3]。式(1)中的α是坐标轴旋转的角度,3个余弦分量则是代表在坐标系中3个轴上的分量。

从式(2)中可以看出,利用简单的四则运算就可以转化成欧拉角,与单纯的欧拉角计算相比,减少了复杂多次的三角函数换算,从计算量上来看简单很多。

2.2 四元数运算流程

四元数的运算流程也是模数转化的过程,首先把惯性测量单元模块里取加速度计中沿x,y,z坐标轴的16位的数值,并分别转化为单位为g的沿x,y,z坐标轴的矢量力accx,accy,accz,从陀螺仪中读取3个ADC值,并且将读取的这3个值转换为单位为度秒的绕3个轴的角速率陀螺仪Wx,Wy,Wz。向量之间的误差计算是在载体坐标系上进行的,而速度传感器的积分误差同样也在机体坐标系上的,向量误差的大小与速度传感器的积分误差成正比,它们之间存在一个比例系数,因此可以用加速度计来标定速度传感器积分。同样对误差进行积分,实际也是进行了一次比例控制,将误差比例后补偿到速度传感器上,这样可以得到速度传感器3个更新后的值Wxint,Wyirit,Wzint,也就是补偿零点漂移,速度传感器3个修正后的值Wxint,Wyint,Wzint用于更新四元数。把上面得到的四元数规范化后,就完成了一次运算,然后将此四元数重新递归到开头。

2.3 卡尔曼滤波及数据融合

四旋翼飞行器从惯性测量单元采集姿态数据质量对系统的稳定性影响很大,而姿态传感器易受到来自外界的干扰,故需要对扰动较大姿态数据先进行滤波处理。卡尔曼滤波算法可以预测处于许多干扰数据中的系统下一时刻的系统的动态。卡尔曼滤波算法和编程都相对简单,能实时更新预处理数据,因而本文采用卡尔曼滤波算法对采集到的飞行姿态数据进行预测处理,以得到校准后的飞行的姿态角嗍。为了整合四旋翼的每个传感器获取的信息,以及减少加速度和陀螺仪传感器受到外界的干扰,所以需要根据每一个传感器的特点,组合使用传感器,来弥补由于传感器单一性造成采集信息的片面性。

本文采用陀螺仪和加速度计互补的方法,即用陀螺仪采集数据来修正加速度计传感器采集到的数据误差,类似闭环控制,再把加速度计采集到的姿态信息进行加权处理,再反馈给陀螺仪,用来修正陀螺仪存在的偏差。

2.4 双闭环串级PID控制

简单的PID控制无法适应如此复杂的飞行环境,因此本文采用双闭环串级PID控制,外环采用飞行姿态角PID控制,在内环采用角速度PID控制[5]。

与传统的PID相比,双闭环串级PID的抗干扰能力更强,控制系统性能也更加稳定。四旋翼飞行器双闭环串级PID控制框图如图3所示。

2.5 软件流程

本文选择基于开源平台的Arduino Mega 2560最小系统板作为四旋翼的主控制器,通过Arduino IDE进行软件编程与开发,主程序设计流程图如图4所示,中断包括SPI中断、串口中断、定时器中断、遥控通信中断。定时器中断使用定时器完成10 ms中断,并且要在中断函数中完成飞行姿态传感器的采样、算法融合、PID控制器运算与实现电机输出和数据通信等功能[6]。其工作流程图如图5所示。

3 四旋翼飞行器飞行实验及结果分析

3.1 上位機软件

APM飞控的参数调试工作、四旋翼飞行数据的采集、四旋翼飞行状态的监控、飞行模式的调整都离不开上位机软件Mission Planner[7]。安装完成后打开界面如图6所示。

3.2 PID参数设置

PID参数的调试对四旋翼的飞行有着举足轻重的作用,如果PID参数调整过大或过小都会对四旋翼产生较大影响,甚至导致四旋翼左右摇摆无法起飞[8]。在对加速度计、罗盘校准后,开始对PID参数进行整定,为了保证PID参数的准确性和操作的安全性,此次调试在“烤机”情况下进行[9]。“烤机”调试示意图如图7所示。

上述过程都是在上位机操作下完成的,上位机软件可以将修正后的PID参数烧录到飞行控制板中,可以进一步提高四旋翼的抗干扰能力㈣。

3.3 校准后的PID数据分析

通过翻滚机身,在上位机软件的模拟飞行界面中可以看到滚转角和俯仰角的动态曲线图的变化。当四旋翼受到扰动时,Mission Planner就可以检测到飞行器当前的欧拉角的信息。

四旋翼欧拉角曲线图如图8所示。图中,绿色曲线为偏航角,红色曲线为滚转角,在对四旋翼施加一个外界扰动后可以看到曲线的波动,但是可以看到四旋翼很快又趋于原来的稳定状态。

3.4 实地飞行测试

为了测试四旋翼飞行器的自稳特性,本文选择室外空旷草地进行试飞工作,试验地点选在校医院旁空旷草地上,试验当天微风。给四旋翼上电后,逐渐调整飞行器为自稳模式,该模式飞行器可以自我调整平衡,并测试飞行器的定高悬停模式。最后得出结论,本文设计的飞行器能稳定起飞,并在风力的干扰下可以自稳[11],如图9所示。

3.5 实验结果分析

由于风力不稳定,因此外界干扰是动态的,这样可以更好地反应出四旋翼的平衡性能。图10展现了本次飞行试验四旋翼局部姿态角变化曲线图。从图上来看,前3 min是四旋翼准备起飞阶段,由于风力的干扰,四旋翼的抖动很大;4-5 min时间段是四旋翼在定点悬停模式,曲线波动很小,证明飞行器的抗干扰能力强。

4 结语

本文的任务是设计一架能够成功平稳的起飞,并且可以实现飞行器自稳、悬停、返航等功能的四旋翼飞行器。因为控制算法的实现尤为重要,从惯性测量元件中提取加速度与角速度,利用四元数法解算出初步的欧拉角,再利用卡尔曼滤波及融合算法对解算后的欧拉角进行滤波和融合,消除外界因素对惯性测量元件的影响,得到正确的飞行姿态角(欧拉角),同时配合双闭环串级PID控制算法对四旋翼飞行器进行控制。最后利用上位机软件进行联机调试。经户外实地飞行测试证明,四旋翼可以很好地平稳起飞,并且可以完成自稳,悬停等动作,达到了设计的目的。

注:本文通讯作者为何晋。

参考文献

[1]高红,无人机的多种用途[J]交通与运输,2011,27(5):44-45.GAO Hong. Multipurpose UAV [J]. Traffic and transportation,2011. 27(5):44-45.

[2]杜永博,王欣伟,石航,四旋翼白主飞行器[J]电脑迷:数码生活(上旬刊),2013(5):41.

DU Yongbo, WANG Xinwei. SHI Hang. Four- rotor autono- mous aircraft [J]. Computer fans: digital life (Ten-day issue),2013(5):41.

[3]李荣冰,刘建业,赖际舟,等.微小型飞行器惯性组合姿态确定与航路导航研究[J]航空学报,2008( z1):178-182.

LI Rongbing, LIU Jianye, LAI Jizhou, et al.Inertial attitudedetermination and air route navigation of micro and small air-craft[J].Acta aerologica sinica. 2008( S1): 178-182.

[4]李潇,小型四旋翼飞行器发展研究综述[J].中国科技博览,2016(5):376.

LI Xiao. Summary of the development of small four rotor air-craft[J1.China science and technology expo, 2016(5): 376.

[5]吴江,梁敬,陈诗豪,倾转四旋翼无人机垂直起降阶段控制系统研究[J]电子技术与软件T程,2016(13):173.

WU Jiang. LIANG Jing, CHEN Shihao. Research on verticaltakeoff and landing phase control system of tilting four-rotorUAV [J]. Electronic technology and software engineering. 2016(13):173.

[6]李尧.四旋翼飞行器控制系统设计[D].大连:大连理工大学. 2013.

LI Yao. Four-rotor aircraft control system design [D]. Dalian: Dalian University of Technology, 2013.

[7]佚名.惯性测量单元[EB/OL].[2016-03 -28].http://baike.baidu.

com/link? url=lxcfRIBqe03QojZedhf - MgMHaN7PESk4hQUB-Liz_vzKGINpFMIIMlgygV5G057awteDLypkOnFOliyCinUNO-K.Anon. Inertial measurement unit [EB/OL]. [2016-03-28]. http://baike. baidu. com/link? url=lxcfRIBqe03QojZedhf - MgM-HaN7PESk4hQUBLiz_vzKGINpFMIIMlgygV5G057awteDLyp —kOnFOliyCinUNO-K.

[8]卢敬元,曾祥烨,王静宜,等.四旋翼飞行器的双回路PID控制器的设计与实现[J]河北工业大学学报,2016,45(5):16-22.

LU Jingyuan, ZENG Xiangye, WANG Jingyi, et al.Designand implementation of double-loop PID controller for quad-ro-tor aircraftJ]. Journal of Hebei University of Technology,2016. 45(5):16-22.

[9]何嘉继.四旋翼飞行器建模與控制方法的研究[D].沈阳:东北大学,2012.

HE Jiaji. Research on modeling and control method of four ro-tor aircraft [D]. Shenyang: Northeastern University. 2012.

[10]聂晓华,徐一鸣.面向NSHV目标跟踪的飞行轨迹建模与仿真比较[J]计算机仿真,2016. 33(3):41-46.

NIE Xiaohua. XU Yiming. Comparison of flight trajectorymodeling and simulation for NSHV target tracking [J]. Comput-er simulation, 2016. 33(3): 41-46.

[11]孟磊,蒋宏,罗俊,等.四旋翼飞行器无刷直流电机调速系统的设计[J]电子设计工程,2011. 19( 12):140-142.

MENG Lei, JIANG Hong, LUO Jun, et al.Design of BLDCmotor speed regulation system for four rotor aircraft[J]. Elec-tronic design engineering, 2011, 19( 12): 140-142.

作者简介:曹鲁成(1993-),男,回族,山东菏泽人,硕士研究生,主要研究领域为计算机控制与仿真。

何晋(1965-),男,四川绵阳人,博士,教授,主要研究领域为控制理论与控制工程。

李珂(1994-),男,陕西成阳人,硕士研究生,主要研究领域为控制工程。