基于STM32的四旋翼飞行器控制系统设计与应用

2017-05-13 11:16史丛乐
电子设计工程 2017年9期
关键词:旋翼飞行器姿态

周 雷,史丛乐

(辽宁石油化工大学 信息与控制工程学院,辽宁 抚顺113001)

基于STM32的四旋翼飞行器控制系统设计与应用

周 雷,史丛乐

(辽宁石油化工大学 信息与控制工程学院,辽宁 抚顺113001)

针对四旋翼飞行器是由4个控制量输入,6个自由度输出的欠驱动系统,其控制系统的设计尤为关键。本文采用反步法控制策略作为四旋翼飞行器的导航以及控制方法,设计出渐进稳定控制器。结合系统的动力学模型与matlab进行仿真实验。通过仿真实验得到反步法设计的控制系统快速稳定,角度偏差小,在0.3度之内,跟踪性良好。

四旋翼飞行器;反步算法;渐近稳定;导航;仿真

四旋翼飞行器具有4个对称分布的电机,其飞行控制原理简单,通过控制4个电机的转速和方向来实现各种飞行姿态,是一种六自由度的垂直起降机。由于其为4个输入量,6个输出量的欠驱动系统,对控制器的设计要求高。文中采用Backstepping原理进行控制器设计,跟踪性良好,稳定性高。

1 四旋翼飞行器工作原理

图1 飞行器模型结构

四旋翼飞行器在结构上具有十字形,X形和H形3种常见布局形态,本实验采用的为X形,4个电机分别对称的排布在4个顶点,如图1所示。其基本运动姿态包括垂直运动,俯仰运动,翻滚运动,偏航运动,前后运动,侧向运动[1]。

俯仰(翻滚)运动:同时提高(降低)电机2,3的转速,降低(提高)电机1,4的转速。可以实现飞行器俯(仰)姿态。同时改变电机1,2和电机3,4可以实现飞行器的翻滚运动。

偏航运动:当电机1,3和电机2,4的速度不相等时,会由于不平衡的反扭矩引起四旋翼转动,引起飞行器偏航运动

前后(侧向)运动:飞行器俯仰或者翻滚运动造成的偏移,使其前后(侧向)运动。

2 系统硬件简介

本系统采用模块化设计,结构简单,易于编程控制,飞行器通过处理MPU6050和数字罗盘等传感器采集的数据信息,进行姿态解算,并根据遥控器指令结合控制规律控制飞行器的姿态及位置。系统硬件系统如图2所示。

图2 系统硬件结构

2.1 主控芯片

本设计采用ARMCortexM3内核的stm32f103vctb芯片作为主控制器,该系列芯片具有多路数据捕获功能接收遥控器信号,多路自带PWM输出功能控制电机转速。自带SPI,IIC功能,多路串口,可实现飞行器和上位机的连接,方便调试。72 MHz的主频满足了系统对于运算速度的要求。

从现场施工的视角来看,水利工程本身体现为较大的现场施工难度。探究其中根源,就在于较多的水利施工现场都表现为复杂性,其中包含软弱土层与其他疑难性的地质因素。针对不同种类的水利现场施工来讲,与之有关的施工管理模式也应当蕴含某些差异。因此可以得知,关于施工现场管理就是要秉持因地制宜的核心管理思路,并且紧密结合水利施工所处的真实地质状况来展开综合性的水利施工监管。

2.2 传感器模块

本设计主要采用MPU6050,三轴数字罗盘,气压高度计,NRF24L01,ADNS3080,HC-SRO4等模块实现数据的采集以及通信等功能。

MPU6050是集成3轴陀螺仪,3轴MEMS加速度计,其测量范围可根据器件寄存器数据位进行设置,主控芯片通过400 kHz的IIC与其进行通讯获得飞行器实时数据进行姿态结算。

三轴数字罗盘与高度气压计同样采用IIC与主控芯片进行通讯,对飞行器姿态进行校正以及在室外飞行时获得高度,本设计为室内定位飞行,主要使用超声波模块进行高度实时测量。

ADNS3080为光流传感器,通过SPI与主控芯片进行通讯,可以实时测得飞行器在二维平面内的位移,加入超声波高度数据,对飞行器进行三维空间的定位控制。

NRF24L01为飞行器和PC机进行实时无线通讯模块,将飞行器的实时姿态中各角度值,高度值,以及位置等信息及时的传递给上位机,直观形象的监视飞行器动态。

3 数学建模及仿真

3.1 数学建模

为了准确描述飞行器各个时刻的姿态,一般选取两个坐标系,地面坐标系和机体坐标系,地面以“东北天”为各个轴方向,建立坐标系为:OXYZ,机体坐标系以飞行器质心为原点,方向右为x轴正方向,前为y轴正方向,建立坐标系oxyz。根据物理意义建立数学模型:

机体坐标系到地面坐标系的转换矩阵R[2]

为了研究方便对数学模型进行简化[4],忽略空气阻力,忽略陀螺仪对角运动产生的影响,设U1,U2,U3,U4分别为系统的4个输入量。系统模型为:

其中{x,y,z}为飞行器的质心在地面坐标系下的偏移量,{φ,θ,ψ}表示机体坐标系相对于地面坐标系转动的角度,即欧拉角。Ix,Iy,Iz表示相应旋转轴的转动惯量。l表示飞行器质心到电机的距离。其中U1表示垂直输入,U2表示翻滚输入,U3表示俯仰输入,U4表示偏航输入。

3.2 Backstepping控制器设计与仿真

根据Backstepping原理设计控制器步骤如下,假设某一变量模型为[5]:

若z2=0,则系统稳定。

将李亚普诺夫函数扩展为:

根据已经建立的数学模型,将系统表达为X′=F(X,U),其中X表示系统状态量,U表示系统的输入。将系统划分为六部分

根据Backstepping原理以及系统模型,可得系统各状态的控制器为:

根据对飞行器系统建立的数学模型,利用MATLAB进行仿真实验,对飞行器姿态角,位置偏移量,设定路径的跟踪结果如图3~图5所示。

图3 系统姿态角度跟踪

通过matlab仿真结果说明,飞行器姿态角度偏移误差在0.3度以内,随后系统快速稳定的达到稳定,水平位移偏移小,快速稳定。最后进行设定路线跟踪,控制器设计能较理想的满足设定要求。

图4 系统位移跟踪

图5 系统设定路径跟踪

4 实际飞行试验

本实验采用超声波模块进行高度控制,利用ADNS-3080模块进行二维水平位移检测,通过stm32的中断进行数据采集,完成高度和水平位移的控制,最终利用NRF24L01模块使电脑和飞行器进行通讯,在匿名上位机实时显示飞行器姿态变化。飞行器实物如图6所示。

图6 飞行器实物图

通过匿名上位机,可以实时显示飞行器在任一时刻各个角度的变化情况,在飞行器悬浮状态下,飞行器各角度变化如图7~图9所示。

5 结 论

通过系统数学建模和MATLAB仿真,仿真结果表明,系统能快速稳定的达到设定值,偏移角度和水平位移偏移量较小,系统控制器能快速稳定的对方形路径进行跟踪,满足设计要求,最后在飞行器上进行实际飞行,通过上位机显示表明,飞行器各个姿态角快速,精准,稳定的对设定值进行跟踪,波动小,响应快,满足稳定,高精度飞行要求。

图7 横滚角变化

图8 俯仰角变化

图9 俯仰角变化

[1]贾峰,孙曼,秦磊.基于STM32的四旋翼飞行器飞行姿态串级控制[J].科学技术与工程,2015,15(6): 221-225.

[2]Wang J,Huang Y,Ma L.Extending the Player Project for flexible cooperation of multiple robots [C]//International Conference on Mechatronics and Automation(ICMA),2012,2012:1657-1662.

[3]贾燕波,杨峰,秦绪菲.基于滑模控制的四旋翼飞行器控制 算法研究[J].山东师范大学学报:自然科版,2014,29(4):26-30

[4]赵元伟,卢京朝.四旋翼飞行器的建模及基于反步法的控制 [J].科学技术与工程,2013,34:10425-10430.

[5]黄兵兵,李春娟,何墉,等.基于反步法的微型四旋翼欠驱动控制[J].洛阳理工学院学报:自然科学版,2013(2):56-61.

[6]黄依新.四旋翼飞行器姿态控制方法研究[D].成都:西南交通大学,2014.

[7]Madani T,Benaclegue A.Backstepping control with exact 2-sliding mode estimation for a quadrotor unmanned aerial vehicle[C]//Proceeding of IEEE Conference on Intelligent Robtsand Systems.San Diego:IEEE,2007:141-146.

[8]许云清,孙取.基于MWC飞控的四旋翼飞行器飞行控制研究[J].冶金自动化.2014,38(1):547-549.

[9]陆伟男,蔡启仲,李刚,等.基于四轴飞行器的双闭环PID控制[J].科学技术与工程,2014,14(33): 127-131.

[10]杨 萌,雷建和胡廷轩,等.基于 STM32的四旋翼飞行器控制系统设计[J].微型机与应用,2015,34(12):76-78.

[11]王福超.四旋翼无人飞行器控制系统设计与实现[D].哈尔滨:哈尔滨工程大学,2013.

[12]Baviskar A,Feemste M,Dawson D,et al.Tracking control of an underactuated unmanned underwater vehicle[C]//Proceedings of the American Control Conference.Portland:[s.n.],2005:4321-4326.

[13]Das A,Lewis F,Subbarao K.Backstepping approach for controlling a quadrotor using lagrange form dynamics[J].Journal of Intelligent Robotic System,2009,56(1/2):127-151.

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

[15]刘焕晔.小型四旋翼飞行器飞行控制系统研究与设计[D].上海:上海交通大学,2009.

The design and application of quadrotor system based on the STM32

ZHOU Lei,SHI Cong-le
(School of Information and Control Engineering,Liaoning Shihua University,Fushun 113001,China)

The quadrotor is a underactuated control system which has six degrees of freedom outputs and only four control variables inputs,So the design of its control system is particularly important.A asymptotically stable controller is designed through the backstepping algorithm,which used to be its navigation and control method.Numerical simulations are provided to illustrate the quadrotor is full of certain quickness and can fly steadily with small angle devition,less than 0.3 degrees,and good tarcking based on the model and matlab.

quadrotor;backstepping algorithm;asymptotical stable;navigation;simulation

TN6

A

1674-6236(2017)09-0145-04

2016-03-29稿件编号:201603388

周 雷(1989—),男,河北沧州人,硕士研究生。研究方向:嵌入式系统。

猜你喜欢
旋翼飞行器姿态
高超声速飞行器
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
攀爬的姿态
基于STM32的四旋翼飞行器的设计
全新一代宋的新姿态
跑与走的姿态
复杂飞行器的容错控制
四旋翼无人机动态面控制
神秘的飞行器