四旋翼飞行平台控制系统设计*
2016-12-02余单奕嵇佳辉郝立果
余单奕,嵇佳辉,郝立果
(1.天津职业技术师范大学 自动化与电气工程学院,天津 300222;2.天津职业技术师范大学 工程实训中心,天津 300222)
四旋翼飞行平台控制系统设计*
余单奕1,嵇佳辉1,郝立果2
(1.天津职业技术师范大学 自动化与电气工程学院,天津 300222;2.天津职业技术师范大学 工程实训中心,天津 300222)
以Atmega128单片机为核心,通过MPU6050传感器采集3轴加速度和陀螺仪数据,将采集到的数据经过卡尔曼滤波,然后通过四元素与欧拉角的转换,最终求解出飞行器在空中的飞行姿态。将遥控模块给定的期望信号与当前飞行器所处的姿态进行对比,然后经过系统中PID的自动调节,消除期望值与实际姿态之间存在的误差,使其可以在较恶劣的环境下稳定地飞行,完成各种飞行动作。最终实现四旋翼飞行器稳定飞行的控制要求。
Atmega128;MPU6050;卡尔曼滤波;四元素;欧拉角
0 引言
四旋翼飞行平台作为一种利用旋翼产生的空气动力来克服自身重力飞行的动力装置模型,飞控人员只需通过操控地面站就能对飞行器进行控制,具有成本低、无人化、灵活高效和隐蔽性好等优点,被广泛运用于军事、民用和科学研究领域。本文介绍了一种基于Atmega128单片机的四旋翼飞行控制系统,通过采集三轴加速度和陀螺仪数据,解算出飞行器的姿态,并通过控制四个旋翼的转速输出实现对飞行平台的稳定控制。
1 总体方案与飞行原理
1.1总体设计方案
该飞行控制系统主要由主控模块、无线遥控模块、MPU6050运动处理模块、驱动模块、电源控制等组成。系统框图如图1所示。
图1 飞行控制系统框图
主控模块是系统的数据处理核心,运动处理模块负责采集姿态数据,无线遥控模块进行指令发送,电源控制和驱动模块控制电机转速的输出。
主控模块由 Atmega128单片机作为核心处理器,通过MPU6050运动处理模块采集三轴加速度和陀螺仪数据,原始数据经过卡尔曼滤波算法优化后就可得到相应的欧拉角,即解算获得了飞行器的姿态。通过无线遥控模块将姿态调整指令发送到主控模块的输入捕获端,主控模块再将采集到的指令与飞行器自身的姿态数据进行比对,经过PID自动控制的反馈调节,输出给电源控制和驱动模块调控旋翼的转速输出,最终实现各种环境下的稳定飞行。
1.2动力学飞行原理
四旋翼飞行平台有六种基本运动状态,具有六个自由度,可以分别沿X轴、Y轴、Z轴平移或旋转,属于欠驱动系统。这六个自由度的控制均可以通过调节不同无刷电机的转速输出来实现。设作为刚体的飞行器质量为m,质心为O,作用在飞行器上的合外力矢量为F,M是相对于O点的合外力矩矢量,I为刚体绕坐标轴的转动惯量。根据牛顿第二定律,其相对于质心的动力学方程在惯性坐标系O′XYZ中的投影式为:
根据对质心的动量矩定理,飞行器绕质心O运动的姿态动力学方程在本体坐标系OXYZ中的投影式为:
式中,Mx、My、Mz是 M 沿飞行器主惯量轴的分量;ωx、ωy、ωz为飞行器空间转动角速度 ω沿主惯量轴的分量,它们与欧拉角 θ、ψ、φ的关系是:
其中第一组的3个二阶微分方程描述了飞行器的3个质心平动自由度;另外两组方程确定了3个转动自由度,描述了飞行器绕质心的运动规律,即姿态运动。联立三组方程就得到了刚性六自由度飞行器一般运动的全部运动方程。
四旋翼飞行平台的四个螺旋桨分为一组正桨和一组反桨,两个相对的桨为一组,当四个电机旋转时桨所产生的气流均向下,由于正桨和反桨的旋转方向相反,飞行器平稳飞行时的陀螺效应和空气动力扭矩可以互相抵消。
2 硬件电路的设计
2.1控制系统工作原理及设计
系统采用 Atmega128单片机作为主控模块芯片,通过 IIC通信方式将MPU6050运动处理模块的六个数据(三轴加速度AD值和三轴角速度AD值)读出,经过姿态融合后得到飞行器的三个欧拉角 θ、ψ、φ,即解算出了当前的飞行姿态。再将输入捕获管脚采集到的不同通道的PPM控制指令数据与当前飞行姿态数据进行PID自动调节,最后利用快速PWM输出功能实现对多个无刷电机驱动器的控制和电源控制。
其中,姿态融合所采用的就是卡尔曼滤波算法。卡尔曼滤波是一种线性最小方差估计,其算法是递推的,因此适用于多维随机过程的估计,并采用动力学方程即状态方程描述被估计量的动态变化规律,同时也适用于非平稳过程,其离散型算法可以直接在单片机上实现。卡尔曼滤波理论为一种重要的最优估计理论被广泛应用于组合导航系统的设计。
设tk时刻的被估计状态 Xk受系统噪声序列Wk-1驱动,驱动机理由下述状态方程描述。
对Xk的量测满足线性关系,量测方程为:
式中,Φk,k-1为 tk-1时刻至 tk时刻的一步转移阵,Γk-1为系统噪声驱动阵,Hk为量测阵,Vk为量测噪声序列,Wk为系统激励噪声序列。若系统噪声方差阵Qk非负定,量测噪声方差阵Rk正定,则Xk的估计Xˆk按下述方程求解:
2.2PPM信号采集的工作原理及设计
无线遥控模块采用的是八通道的2.4 GHz无线射频遥控技术,以无线的方式将油门、方向等指令信号发送到主控模块的单片机。无线遥控模块发出的信号是PPM信号,而PPM信号可以理解为多个PWM信号的合成。
首先要将PPM信号分解成多通道PWM信号,一帧PPM信号的长度为20 ms,而分离出来的PWM信号脉宽为0~2 ms,变化范围为1~2 ms之间。因此一帧PPM信号至多可以包含1个同步信号和9个通道的PWM信号,示波器测试的PPM波形如图2所示。
图2 示波器测试的PPM波形
本系统采用主控芯片自带的输入捕获功能来对PPM信号进行采集,然后通过CD4051模拟电子开关将PPM信号分离成4路PWM信号,输出控制驱动模块各个驱动器改变无刷电机的转速,从而间接实现无线遥控模块对飞行器飞行姿态的控制。
3 软件程序的设计与分析
3.1程序框架的设计
在系统中,软件应用模块化设计。首先主控模块对单片机的功能及其与各模块的接口进行初始化,其次运动处理模块对MPU6050的DMP功能进行初始化,分为加载固件和刷新数据两部分。MPU6050先调用内部数据库的数据进行计算获得原始数据,并将此原始数据加载到FIFO存储器里,其中包括四元素数据、陀螺仪数据和加速度数据。单片机再通过IIC通信方式将MPU6050的数据读出,通过编程输入的动力学公式计算出相应的欧拉角,即得到飞行器的飞行姿态,之后单片机通过输入捕获功能获取遥控模块发来的PPM信号,将接收到的PPM信号分离出油门、俯仰、翻滚和偏航数据,并将这些数据与采集到的姿态数据进行对比,如存在偏差则通过PID自动调节来进行调整,调整过程直到消除这些偏差为止。程序的设计流程图如图3所示。
图3 程序设计流程图
3.2程序控制算法的实现
本系统采用的控制算法是PID控制。主控模块需要将无线遥控模块给定的期望姿态和运动处理模块解算出的实时姿态进行比对,当存在偏差量时,驱动模块同时控制四个电机的转速使其快速稳定地达到预期给定的效果消除偏差,PID控制器结构如图4所示。
图4 飞行器姿态PID控制原理图
比例系数P是对系统最直接的调节,在控制过程中需要提供合适的P值,过大或过小的P值,都将导致系统的不稳定,合适的P值应该使系统处在一个等幅震荡的状态。积分系数I是对过去的控制过程中存在的偏差进行积分,只要系统存在控制与期望之间的偏差,积分运算就会一直进行下去直到消除偏差。微分系数D能预测系统的变化趋势,从而提前控制以遏制不稳定情况的产生。
3.3上位机软件
在软件调试的过程中,采用了具有基本收码、高级收码、波形显示和飞控状态显示等功能的四轴上位机调试软件。计算机与单片机采用串口的通信方式,通过制定好的协议和波特率便可将数据发送到计算机,在计算机上以三维动态图的效果显示出来。在飞控状态界面,可以将遥控模块发送过来的油门、俯仰角、翻滚角、偏航角的值以柱状图的形式进行显示;在波形显示界面,可以根据需要将数据绘制成多条曲线进行对比和分析,上位机调试软件的界面如图5所示。
图5 四轴上位机调试软件
将上位机的波特率设置为115 200 b/s。每秒钟可传输约10 472帧数据,可以满足飞控系统对传输率的要求。
4 测试结果
4.1加速度、陀螺仪数据测试结果
采用MPU6050的DMP功能求解有关数据,通过发送数据到上位机观察,得到加速度和陀螺仪数据,数据测试结果如图6所示。
图6 加速度、陀螺仪测试数据
4.2PPM解码测试与分析
通过程序将遥控模块发出的PPM信号进行解码,把各通道数据通过串口发送到上位机调试软件,得到的数据如表1所示。在数据处理中,PPM解码的最小值为250,最大值为500,而单片机的快速PWM输出功能满值为255,因此将PPM解码的变化差值设计为 250就可以与PWM产生模块值对应。
表1 遥控器PPM信号解码数据
4.3飞行姿态解算测试与分析
对飞行器姿态解算的准确性进行验证和分析时,分别对绕X轴、Y轴、Z轴旋转产生的翻滚角、俯仰角和偏航角进行验证,并测试测量范围,姿态解算测试结果如表2所示。通过表2中的数据可知,俯仰角、翻滚角、偏航角的测量范围均接近正负180°,解算的数据与实际数据存在的偏差较小,满足本系统的设计要求。
表2 姿态解算测试数据
5 结论
从测试结果来看,各指标均达到了本系统的设计要求,可以较为精确地控制四旋翼飞行平台的飞行姿态。使用MPU6050的DMP库进行数据的整合纳入和标准化细分,将单片机从繁重的计算工作中解放了出来,同时减少了大量的封装空间,使系统较好地实现了实时性和稳定性,提高了抗干扰能力,达到了预期的效果。
[1]秦永元.卡尔曼滤波与组合导航原理[M].西安:西北工业大学出版社,2012.
[2]何献忠.位置随动系统软件控制的研究[J].仪表技术与传感器,2010(4):45-47.
[3]巫华芳.基于三轴陀螺仪传感器的无线位置伺服算法应用[J].仪表技术与传感器,2016(1):1002-1841.
[4]梅硕基.惯性仪器测试及数据分析[M].西安:西北工业大学出版社,1984.
[5]以光衢.惯性导航原理[M].北京:航空工业出版社,1987.
[6]赵晨,杜勇.四旋翼无人机在输电线路巡视中的应用[J].湖北电力,2012,36(6):35-36.
[7]吴东国.基于四旋翼飞行器平台的低空遥感技术在公路环境调查中的应用[J].公路交通技术,2012(6):137-138.
[8]蒋庆仙.关于MEMS惯性传感器的发展及在组合导航中的应用前景[J].测绘通报,2006(9):5-8.
Design of control system for four rotor flight platform
Yu Danyi1,Ji Jiahui1,Hao Liguo2
(1.Automation Department,Tianjin University of Technology and Education,Tianjin 300222,China;2.Engineering Training Center,Tianjin University of Technology and Education,Tianjin 300222,China)
This design uses Atmega128 single-chip microcomputer as the core,with the help of MPU6050 3 axis acceleration sensors and 3 axis of gyroscope.The collected data gose through Kalman filter.Then by the transformation of the four elements and Euler Angle,we finally solve the problem of four rotors of the aircraft in the air flight attitude.Given desired signal by remote control,compared with the current vehicle's attitude,and then through the system PID automatic adjustment,we eliminate the error between expectations and the actual position,making it good in the take-off and landing and stable hover,finishing all kinds of flight movements in relatively poor conditions.Finally realize the four rotor aircraft flying stability control requirements.
Atmega128;MPU6050;Kalman filtering;four elements;Euler angles
TP272
A
10.16157/j.issn.0258-7998.2016.10.006
国家级大学生创新创业训练计划项目(201510066012)
(2016-04-15)
余单奕(1993-),男,本科,主要研究方向:测控技术。
嵇佳辉(1992-),男,本科,主要研究方向:自动化。
郝立果(1978-),男,本科,高级实验师,主要研究方向:自动化。
中文引用格式:余单奕,嵇佳辉,郝立果.四旋翼飞行平台控制系统设计[J].电子技术应用,2016,42(10):29-32.
英文引用格式:Yu Danyi,Ji Jiahui,Hao Liguo.Design of control system for four rotor flight platform[J].Application of Electronic Technique,2016,42(10):29-32.