阮旭日 王史春

(台州职业技术学院电气信息学院,浙江 台州318000)

0 引言

四旋翼飞行器能够自由悬停和垂直起降,结构简单,易于控制,这些优势决定了其具有广泛的应用领域,在民用,医疗,军事等领域都有着无限的潜力[1]。然而,作为一个MIMO非线性系统,四旋翼飞行器输入变量与输出变量之间的耦合作用、时变非线性的动力学特征、系统本身的不确定性及外部的干扰等的引入,使得系统的控制问题变得十分复杂。如何能够设计出有足够的飞行动力并且具有良好稳定性的控制系统,是四旋翼飞行器如今面临的主要问题,这也使得强大而又易于控制的发动机和控制飞行器协调工作的控制系统成为四旋翼飞行器设计的关键。

1 具体设计内容

(1)系统硬件设计。通过分析四旋翼飞行器的飞行原理,确定结构模块化的硬件设计思路,分别进行系统控制模块、PWM驱动模块、IMU(惯性测量)模块和遥控器信号捕捉模块硬件原理的分析和实物电路的设计[2]。

(2)结合四旋翼飞行器的硬件结构,进行软件编程部分的工作。按照四旋翼飞行器的飞行原理和控制特性进行系统飞行控制主程序以及各模块软件编程。

(3)对四旋翼飞行器系统的控制方法进行研究,根据飞行原理进行动力学建模,并完成系统控制器的设计。

(4)系统调试和实验结果分析。首先对系统的各个模块进行相关调试和检测,然后组装模型,进行四旋翼飞行器实物系统的飞行实验,验证理论设计方案的合理性。

2 硬件设计

整个系统硬件部分根据模块化思想进行设计,结构框图如图1所示。

从上图可以看出整个系统主要包含的模块有遥控器信号捕捉模块、IMU(姿态测量模块)、PID控制器模块[3]、PWM输出模块、IIC模块和USART(无线串口)模块。

3 软件设计

本系统软件开发环境是IAR Embedded Workbench IDE for ARM[4],这个环境具有高度优化的IAR AVR C/C++编译器;一个强大的编辑器;一个工程管理器;一个具有世界先进水平的高级语言调试器。使用户在开发新的项目时也能在所熟悉的开发环境中进行。一般基于ARM开发系统用的开发环境有两个,一个就是IAR,另外一个是MDK,明显后者在编译的时候速度很慢,而且调试环境前者比后者简单且容易直观,所以选择前者作为开发环境。图2是整个系统的软件流程。

首先必须对系统的各个硬件模块进行初始化,初始化完毕以后需要读出保存在Flash的控制参数,这些控制参数都是在上一次试飞过程中调试完毕并保存在Flash中的,读取完参数后把这些参数赋值给相应的运算变量以备之后的PID运算,紧接着依据捕捉的遥控器2通道的信号上升沿是否大于1700判断是否需要对电子调速器进行行程的校准,接着就是进入姿态解算模块对姿态数据进行更新,再对发送给上位机的缓冲区数据进行更新。之后就是判断系统是否处于解锁和关闭状态,这些都是出于安全防护的考虑,因为如果对整个系统没有锁定这一功能,而操作者在对系统上电的时候系统就处于运行状态,假如这个时候遥控器信号不是正常值,很容易出现危险的情况。同理为什幺要判断遥控器是否关闭,原因是遥控器关闭的时候信号处于异常状态,如果不加这个判断,即遥控器关闭状态下对系统上电,且解锁完毕,飞行器会出现异常的工作状况。接着就是等待控制周期标志置位,对控制量进行更新,本系统的控制周期是2.5ms,之所以采用这个控制周期是因为控制电调的PWM波周期是2.5ms。这里还需要说明一点是程序流程图里面没有提到好几个子模块的程序,它们分别是遥控器信号捕捉模块,主要应用的是中断子程序,算法在下面小节会具体说明;还有控制周期定时子模块,主要是控制周期一到对标志置位;还有数据发送子程序,应用DMA发送;姿态传感器数据接收子模块,通信协议是IIC;还有上位机数据接收子程序,应用的是中断子程序;还有PWM控制量输出子程序;还有“X”模式四个电机控制量耦合关系子程序和Flash读取存储子程序[5]。

本实验室的飞行器姿态角度的检测由加速度计、陀螺仪、微控制器STM32、电机等组成,通过无线模块的发射和接收,跟上位机通信,测试数据。为了检验设计的效果,把表1数据应用于实验室的飞行器,通过多次飞行试验,测试数据得到结果见表1所示,稳定效果较好。

表1 飞行测试数据

4 结论

本文对实验室四旋翼飞行器进行建模,通过改进后的遗传算法优化PID参数,仿真实验证明达到稳定状态快,精度高的特点,相比同类文献有非常明显的优势,通过查阅其它文献,一般达到稳定时间在1S多,而本算法优化的PID参数,达到稳定时间在0.1S左右,提高了10倍。为了验证仿真的效果,实验室飞行器通过多次试飞,测试数据表明,具有较好的鲁棒性和良好的控制效果。证明了本文基于遗传算法的PID参数的优化是有效的。

[1]Ly Dat Minh.Modeling and control of quadrotor MAV using vision based measurement[J].IEEE Trans.Cricuits Syst,2010,33(4):10-80.

[2]黄溪流.一种四旋翼无人直升机飞行控制器的设计[D].南京理工大学,2010:12-15.

[3]刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,2012.

[4]Abhijzt Das,Kamesh Subbarao,Frank Lewis.Dynamic inversion of quadrotor with zero-dynamics stabilization[C]//IEEE Multi-conference on Systems and Control.2008:1100-1191.

[5]BOUABDALLAH S,SIEGWRT R.Designandcontrolofquadrotorswith application to autonomous flying[D].EPFL,2006.