基于ARM处理器的无人飞行器飞控导航系统一体化设计
   来源:现代电子技术     2021年01月24日 23:15

陈亚锋

摘 要: 为实现无人飞行器飞控导航系统功耗低、体积小、低成本、高集成度等目标,提出一种基于ARM架构STM32F405微处理器和MEMS传感器芯片的无人飞行器飞控导航一体化控制系统设计方案。详细介绍了控制系统的原理、组成以及软硬件设计过程,并引入非线性鲁棒控制算法以提高控制系统的精度及抗干扰能力。仿真结果表明,采用非线性鲁棒控制算法的控制系统性能稳定,并且具有控制精度良好、鲁棒性较强等特点。

关键词: 无人飞行器; ARM微处理器; MEMS传感器; 非线性鲁棒控制

中图分类号: TN967?34; V249 文献标识码: A 文章编号: 1004?373X(2015)17?0093?04

Integration design of UAV flight control navigation system based on ARM microprocessor

CHEN Yafeng

(The 27th Research Institute of China Electronics Technology Group Corporation, Zhengzhou 450047, China)

Abstract: To realize the targets of low power consumption, small size, low cost and high integration density of UAV flight control navigation system, the design scheme of integration control system for UAV flight control navigation based on ARM?STM32F405 microprocessor and MEMS sensor chip is proposed. The principle, constitution, and the design process of hardware and software of the control system are introduced in detail. The nonlinear robust control algorithm is introduced to improve the accuracy of the control system and the ability of resisting disturbance. The simulation results show that this control system is stable and has good control precision and strong robustness by using the nonlinear robust control algorithm.

Keywords: UAV; ARM microprocessor; MEMS sensor; nonlinear robust control

0 引 言

无人飞行器在军用和民用方面的需求日益增多,特别是小型无人飞行器,已经在侦察打击、航拍测绘、消防减灾、电力巡线、农林植保等诸多领域得以研究应用。无人飞行器种类繁多,从机体结构方面可以分为固定翼无人机、单旋翼无人直升机、共轴双旋翼无人直升机、多旋翼无人飞行器等构型。其中,多旋翼无人飞行器因其成本较低、尺寸较小、结构简单、控制灵活等特点,其研究及应用得到广泛关注。同时,多旋翼飞行器平台具有欠驱动、非线性、静不稳定等特点,对导航及控制算法设计要求较高[1],是进行无人飞行器飞控系统设计、导航解算以及控制算法研究的理想平台。

由于小型无人飞行器具有较小的尺寸结构及重量,因此对飞行器飞控及导航系统尺寸、重量以及功耗的要求较为苛刻。通常无人飞行器飞控系统采用PC104[2],DSP等微处理器作为主控计算机,尺寸重量较大、功耗较大、成本较高,并且由于所用处理器的处理能力有限,多采用导航计算机同飞控计算机相分离的设计方式[3],人为增加了尺寸及重量。因此,将无人飞行器飞控与导航系统进行一体化设计是减小飞控系统尺寸、重量及功耗的有效手段,但一体化设计需要处理器有较高的主频及内存,对用于进行飞控与导航解算的处理器提出了较高要求。基于ARM Cortex?M4内核的STM32F405微处理器是一款具备高性能、低成本、低功耗要求的嵌入式微处理器,主频高达168 MHz,并且带有单精度浮点运算单元,可以进行复杂的导航姿态解算以及控制率计算等工作,使得飞控导航一体化设计成为可能。

本文以四旋翼无人飞行器平台为研究对象,利用基于ARM Cortex_M4内核的STM32F405微处理器和MEMS传感器组件设计无人飞行器飞控导航一体化控制系统,并引入非线性鲁棒控制算法,以提高控制系统的抗干扰能力。

1 系统组成及原理

作为小型无人飞行器经典构型中的一种,四旋翼飞行器由成对布置的电机、螺旋桨提供升力以及俯仰、滚转控制力,偏航由螺旋桨差动产生的反扭矩实现。

飞控导航一体化控制系统主要由导航定位单元、惯性测量单元以及主控单元三部分组成。采用一体化设计思想,将三个单元组件集成到一块电路板上。其中导航定位单元由GPS模块、磁传感器组成,外接GPS天线;惯性测量单元集成了具有较高性能的基于MEMS芯片的加速度计、陀螺仪模拟器件,并包含气压高度计;主控处理单元为STM32F405微处理器,主要实现传感器数据采集、滤波处理、姿态解算、指令接收、控制律解算、通道分配、PWM输出以及状态信息发送等功能。

2 硬件设计

飞控导航一体化控制系统硬件电路是无人飞行器导航、控制功能实现的支撑和保障。控制系统采用集成化设计,其组成框图如图1所示,包含传感器组件、主控芯片、电子调速器组件以及电机等部分。其中,传感器组件主要包含导航定位单元及惯性测量单元,与主控单元芯片集成到同一块电路板上;电调组件及电机作为控制系统的执行机构分散布置到飞行器机体结构中,主要接收PWM控制指令,实现电机转速控制,完成飞行器各种飞行动作。

2.1 导航定位单元

为使无人飞行器能够实时获取当前位置、速度、航向等相关导航信息,并且可以沿着预定航线飞行,导航定位单元主要由GPS模块和磁传感器组成。

其中GPS采用U?Blox?6H模组,外接GPS天线,可以实现5 Hz定位数据输出。磁传感器芯片选用HMC5883,量程±3.5 gauss,可以实现三轴磁通量测量,采用I2C总线输出。

2.2 惯性测量单元

惯性测量单元传感器组件为飞行器实时提供三轴角速度、三轴加速度等信息。主要使用到的传感器有测量线加速度的加速度计,测量角速度的陀螺仪。

为采集三轴加速度、三轴角速度,选用3颗ADXRS620单轴陀螺仪芯片,量程为±300 (°)/s;2颗ADXL203双轴加速度计芯片,量程为±5 gauss。陀螺仪及加速度芯片采用正交排列的方式放置。由于陀螺仪及加速度芯片均为模拟量输出,需要通过A/D转换实现模拟量数字量转换。A/D转换选用AD7689芯片,16位分辨率,可实现8通道的模拟电压采集,经SPI总线输出转换后的数字量。另外,为了能够实现飞行器定高,选用气压高度芯片MS5611,SPI总线输出。

2.3 主处理单元

主处理单元采用ST公司最新推出的基于ARM Cortex?M4内核的STM32F405微处理器。主频高达168 MHz,处理能力更强;增加了单精度浮点运算单元(FPU),通过内置单精度FPU提升控制算法的执行速度;采用32位多重AHB总线矩阵和多通道DMA控制器,支持程序执行和数据传输并行处理,有着较快的数据传输速度;增加了数字信号控制器(DSC)功能,可以替换只有整数运算能力的DSP产品。如上所述,STM32F405是一款具有较强数据处理能力以及数据传输能力的MCU,并且功耗极低,可以实现较为复杂的数据滤波、姿态解算等算法,使得飞控导航一体化设计成为可能。

STM32F405微处理器采用10个16位定时器、2个32位定时器可以实现多路PWM信号输出,满足飞行器多路电机或舵机的控制需求;1 MB FLASH存储器,192 KB SRAM,满足应用程序存储及运行所需;6个USART,3个SPI,3个I2C通信接口,满足与传感器、无线通信等设备的通信需求;另外,处理器内嵌2通道的12位DAC模块以及3个12位的ADC模块,可以实现电池电压采集等功能。

3 软件设计

3.1 导航及姿态解算

卡尔曼滤波及互补滤波是导航及姿态解算中经常用到的滤波算法。其中卡尔曼滤波是一种最优化自回归数据处理算法,在计算机图形图像处理、姿态解算[4]、多传感器数据融合导航[5]等诸多场合得以应用。但是卡尔曼滤波参数较难确定,而且其计算量很大,对处理器的运算速度和精度有很高的要求。互补滤波算法相对卡尔曼滤波较为简单可靠,对惯性器件的精度要求较低,在飞行器姿态解算中的应用十分广泛[6]。

互补滤波器姿态解算基于加速度计、陀螺仪及磁传感器自身特性。陀螺仪动态响应特性良好,但计算姿态时会产生累积误差;磁传感器和加速度计测量姿态没有累积误差,但动态响应较差。它们在频域上特性互补,可以采用互补滤波器融合这三种传感器的数据,提高测量精度和系统的动态性能[6]。互补滤波器的解算流程,如图2所示。

以[R]表示飞行器真实姿态的方向余弦矩阵,[R]为互补滤波器计算出的姿态方向余弦矩阵,[Ro]为由加速度计和磁传感器观测到的姿态方向余弦矩阵,[Rc]为由陀螺仪数据计算出的姿态。

[Rnb=RnbΩbnb]

式中:

[Ωbnb=0-wzωyωz0-ωx-ωyωx0]

式中:[ωx,ωy]和[ωz]分别为陀螺仪测得的机体坐标系下[x,y,z]轴的角速度,从而有[sRc(s)=R(s)Ω(s),]互补滤波器模型[6]为:

[sR(s)=C(s)Ro(s)-R(s)+R(s)Ω(s)]

式中:[C(s)]为滤波器系数,代表陀螺仪及加速度计的数据权重。

飞行器导航数据取自GPS,GPS更新速率为5 Hz,在输出定位数据的同时,可以输出北向、东向速度,但由于GPS较低的更新速率,采用航位推算算法提高飞行器导航定位更新频率至10 Hz,以满足飞行器导航定位的需求。

3.2 控制算法设计

四旋翼无人飞行器作为被控对象具有欠驱动、非线性、静不稳定等特点,并且机构简单,便于实现,是控制算法研究的理想平台。经典PID[7]、自抗扰[8]、LQR[9]以及滑模变结构[10]等控制器在四旋翼飞行器飞控中的应用研究均有涉及。本文将非线性鲁棒控制器(Nonlinear Robust Controller,NRC)应用到四旋翼姿态控制中去。NRC不依赖精确的被控对象模型,在反馈线性化的基础上引入包含积分环节的扩张状态观测器补偿系统各种未知因素的干扰,具有很强的鲁棒性[11]。四旋翼飞行器基于机体坐标系的姿态动力学方程如下所述[12]:

[?=Jy-JzJxθψ+lJxu2θ=Jz-JxJx?ψ+lJyu3]

[ψ=Jx-JyJz?θ+1Jzu4]

式中:[u2,u3]和[u4]分别为滚转、俯仰和偏航通道控制输入。为便于表述,将其转化为如下形式:

[x1=? x1=x2x2=? x2=Jy-JzJxx4x6+lJxu2x3=θ x3=x4x4=θ x4=Jz-JxJxx2x6+lJyu3x5=ψ x5=x6x6=ψ x6=Jx-JyJzx2x4+1Jzu4]

通常四旋翼飞行器采用轴对称形式的机体结构,其俯仰与滚转通道有着相同的动力学表现,因此在设计姿态控制器时,以其中一个通道进行描述。为便于表述,将四旋翼姿态动力学模型滚转通道转化为标准型的系统:

[z1=z2z2=a(z,w)+b(z,w)uy=z1]

式中:[z1=y-yd,z2=y,][a(z,w)]和[b(z,w)]是通道耦合产生的非线性项。从而,滚转通道NRC控制器可以表述为:

[u=-h0z1-h1z2-dd=ξ+k0z1+k1z2ξ=-k1ξ-k1k0z1+k1z2-k1u]

俯仰通道的NRC控制器设计方法同滚转通道,在此不再赘述。分散NRC姿态控制结构如图3所示,其中俯仰和滚转通道分别采用两个二阶的NRC控制器,以滚转通道为例,控制器输入为滚转角、滚转角速度以及滚转角控制指令,控制器输出为经控制器解算后的滚转通道控制量。航向及高度通道的控制相对较为简单,采用经典PID控制。

4 仿真计算

针对四旋翼飞行器数学模型设计相应非线性鲁棒控制器,并进行仿真试验。由于四旋翼飞行器为轴对称结构,俯仰与滚转通道控制效应相近,本文仅给出滚转通道的控制效果。为验证控制系统的鲁棒性,加入幅值为±0.2 rad/s的噪声信号。图4为滚转通道滚转角阶跃响应输出,为便于对比分析,分别绘出PID与NRC两种控制算法下滚转角响应曲线;图5为PID与NRC两种控制算法下滚转角速度曲线。可以看出,NRC阶跃响应输出平缓,控制精度较高,并且相较于PID对噪声干扰的抑制能力更强,对角速度噪声干扰的抑制效果更为明显,表明NRC具有良好的鲁棒性。

5 结 语

本文采用基于ARM Cortex?M4内核的STM32F405微处理器作为主控芯片,结合MEMS传感器及GPS模块设计无人飞行器飞控导航一体化系统,引入互补滤波进行姿态解算,并且采用航位推算算法提高GPS导航定位的更新频率,在保证导航及姿态解算精度的同时降低数据滤波的计算量。以四旋翼飞行器作为研究平台,采用非线性鲁棒算法作为飞行器姿态控制器,仿真计算表明,采用非线性鲁棒控制算法的飞行器飞控导航一体化控制系统相较于采用传统PID算法的飞控系统,具有良好的控制精度以及较强的鲁棒性。

另外,本文设计的飞控导航一体化控制系统经过控制参数适当调整、控制通道进行适当分配后可以作为一种通用型飞控导航一体化飞行控制器,应用于固定翼无人机、无人直升机等多种构型的无人飞行器平台中。

参考文献

[1] 张垚,鲜斌,殷强,等.基于ARM处理器的四旋翼无人机自主控制系统研究[J].中国科学技术大学学报,2012,42(9):753?760.

[2] 顾冬雷,夏先明,高正.无人直升机飞控系统设计与应用[J].南京航空航天大学学报,2005,37(4):476?478.

[3] 王伟,徐平,林德福,等.基于MCU和DSP的无人机控制系统设计[J].测试技术学报,2011,25(6):494?498.

[4] WANG Shaohua, YANG Ying. Quadrotor aircraft attitude estimation and control based on Kalman filter [J]. Control Theory & Applications, 2013, 30(9): 1109?1114.

[5] MARTIN P, SALAUN E. Generalized multiplicative extended Kalman filter for aided attitude and heading reference system [C]// Proceedings of 2010 the AIAA Guidance, Navigation, and Control Conference. Toronto: AIAA, 2010: 423?428.

[6] 梁延德,程敏,何福本,等.基于互补滤波器的四旋翼飞行器姿态解算[J].传感器与微系统,2011,30(11):56?59.

[7] POUNDS P, MAHONY R, CORKE P. Modelling and control of a large quadrotor robot [J]. Control Engineering Practice, 2010, 18(7): 691?699.

[8] 王俊生,马宏绪,蔡文澜,等.基于ADRC的小型四旋翼无人直升机控制方法研究[J].弹箭与制导学报,2008,28(3):31?40.

[9] BOUABDALLAH S, NOTH A, SIEGWART R. PID vs LQ control techniques applied to an indoor micro quadrotor [C]// 2004 IEEE International Conference on Intelligent Robots and Systems. Piscataway: IEEE, 2004: 2451?2456.

[10] 李波波,贾秋玲.基于滑模控制的四旋翼飞行器控制器设计[J].电子设计工程,2013,21(16):76?78.

[11] TORNAMBE A. A decentralized controller for the robust stabilization of a class of MIMO dynamical systems [J]. Journal of Dynamic Systems, Measurement, and Control, 1994, 116(2): 293?304.

[12] HU Qiong, FEI Qing, WU Qinghe. Research and application of nonlinear control techniques for quadrotor UAV [J]. Journal of University of Science and Technology of China, 2012, 42(8): 656?663.

无人机 飞行器 文章