四旋翼飞行器的神经网络PID控制算法研究

2019-06-20 06:07余润芝赵文龙程若发
现代电子技术 2019年10期
关键词:神经网络

余润芝 赵文龙 程若发

摘  要: 针对四旋翼飞行器的强耦合、欠驱动、非线性且无法精确建模等问题,设计一种能够自主调节飞行器控制参数,且在工程实践中易于实现的径向基神经网络PID控制算法。该算法以高斯激活函数为主体,采用梯度下降法训练网络的中心矢量及权值参数,得出网络输入/输出之间的非线性关系,最后用于修正位置环PID的控制参数。搭建四旋翼飞行器实物平台,通过实验研究算法的控制性能。实验结果表明,神经网络PID控制算法控制效果优良,不依赖系统的精确建立且具有较强的鲁棒性及自适应能力。

关键词: 四旋翼飞行器; 神经网络; PID; 径向基; 高斯激活函数; 梯度下降法

中图分类号: TN876?34; TP391.9; TP242.6          文献标识码: A            文章编号: 1004?373X(2019)10?0108?05

Research on neural network PID control algorithm for quadrotor aircraft

YU Runzhi, ZHAO Wenlong, CHENG Ruofa

(College of Information Engineering, Nanchang Hangkong University, Nanchang 330063, China)

Abstract: Since the quadrotor aircraft has the problems such as strong coupling, underactuation, non?linearity and incapability of accurate modeling, a radial basis neural network PID control algorithm that can autonomously adjust the control parameters of the aircraft and is easy to be implemented in engineering practice is designed. In the algorithm, with the Gaussian activation function as the main body, the center vector and weight parameters of the network are trained by using the gradient descent method. The nonlinear relationship between the input and output of the network is obtained to modify the PID control parameters of the position loop. The physical platform of the quadrotor aircraft was built. The control performance of the algorithm was researched in virtue of experiments. The experimental results show that the neural network PID control algorithm has a good control effect, does not depend on the precise construction of the system, and has strong robustness and self?adaptability.

Keywords: quadrotor aircraft; neural network; PID; radial basis; Gaussian activation function; gradient descent method

无人机全称为无人驾驶飞机(UAV),是利用无线遥控设备和自备的程序控制装置操纵的不载人飞机[1]。四旋翼飞行器作为无人机的一种,由于其体积小、价格低、可操作性强等优势得到了广泛运用。在军用方面既可以用来侦查敌情,也可以作为攻击武器;在民用方面可以用于航拍、救灾、电力巡视、快递运输等各方面。但四旋翼飞行器存在多输入/多输出、强耦合、欠驱动、非线性且容易受外界环境干扰等问题[2],针对这些问题国内外提出了很多经典的控制方法,如反步法、变结构滑膜控制法、自抗干扰控制法、自适应控制法等。文献[3?4]采用反步法设计控制器,该方法对强耦合、非线性的控制系统具有良好的控制效果,但需要系统的精确模型,故对四旋翼这种无法精确建模的控制系统来说控制效果并不是很好;文献[5?6]通过改变结构的滑膜控制方法设计控制器,该方法设计的算法具有响应迅速、实现简单且不需要对系统进行精确建模等优势,但连续性较差会出现“抖振”现象,导致控制效果并不理想;文献[7?8]先对四旋翼飞行器进行姿态解耦,再加入自抗干扰控制方法设计控制器,增强了系统的抗干扰能力,但对四旋翼飞行器这种多输入/多输出的非线性拟合度不够,很难精确控制。

本文提出径向基神经网络PID控制算法,径向基神经网络是利用仿生动物神经元细胞的工作原理而演绎出来的一种局部逼近网络,能以任意精度逼近任一连续函数。相比传统PID控制算法,径向基神经网络PID控制算法在结构上加了一个在线辨识网络,该辨识网络通过系统的输入/输出实时优化PID的控制参数,使得系统具有很强的自适应能力。实验结果表明,径向基神经网络PID控制算法控制效果良好,且具有很强的鲁棒性及抗干扰能力。

1  四旋翼飞行器动力学模型

1.1  四旋翼结构方位示意图

图1a)为四旋翼飞行器的结构框架示意图,其中F1~F4为飞行器在运行时电机1~电机4所产生的升力,4个椭圆中的箭头方向表示电机的旋转方向,中间方框箭头为机头朝向;图1b)中,xyz表示地面参考坐标系,x1y1z1表示机身三个轴线方向。定义x轴的正方向与机头方向一致,当飞行器沿着y轴方向旋转时,机身轴线x1方向与地面参考坐标系x轴在xOz平面形成的夹角[θ]为俯仰角(pitch),表示飞行器的俯仰运动;当飞行器沿着x轴方向旋转时,机身轴线z1方向与地面参考坐标系z轴在yOz平面形成的夹角[?]为滚转角(roll),表示机体的滚转运动;当飞行器沿着z轴方向旋转时,机身轴线y1方向与地面参考坐标系y轴在xOy平面形成的夹角[ψ]为偏航角(yaw),表示机体的偏航运动。

图1  四旋翼飞行器方位结构示意图

1.2  四旋翼的数学模型

对图1a)进行受力分析可得:

[FxFyFz=i=14Fisin θ cos ? cos ψ+sin ? sin ψsin θ cos ? sin ψ-sin θ cos ψ                cos θ cos ?]   (1)

式中,Fx,Fy,Fz分别为升力沿x,y,z轴的分量。已知飞行器在各个方向的受力,再根据牛顿第二定律可以推導出飞行器的线性运动方程:

[x=Fx-ξxx2my=Fy-ξyy2mz=Fz-ξzz2m]  (2)

式中:m为四旋翼飞行器的质量;ξx,ξy,ξz分别为空气中各个方向的阻力系数。定义四旋翼飞行器的输入为[9]:

[u=u1u2u3u4=F1+F2+F3+F4F2+F4-F1-F3F2+F3-F1-F4F1+F2-F3-F4   =kr(ω21+ω22+ω23+ω24)kr(ω22+ω24-ω21-ω23)kr(ω22+ω23-ω21-ω24)kd(ω21+ω22-ω23-ω24)] (3)

式中:[u1]为高度控制输入;[u2]为滚转运动控制输入;[u3]为俯仰运动控制输入;[u4]为偏航运动控制输入;[kr]为飞行器升力系数;[kd]表示飞行器的阻力系数;ωi(i=1,2,3,4)表示电机1~电机4的转速。

通过对飞行器刚体转动动力学方程及机身姿态角的变化进行分析,可以得到四旋翼的动力学模型[10?11]:

[x=sinθcos ?cosψ+sin?sinψu1my=(sinθ cos ? sin ψ-sin? cos ψ)u1mz=(cos?cosψ)u1m-g?=bu2+(Jy-Jz)θψ+JrθafJxθ=bu3+(Jz-Jx)?ψ-Jr?afJyψ=u4+(Jx-Jy)?θJz]     (4)

式中:ɑf=(ω2+ω4-ω1-ω3)表示系统的干扰;b为旋翼中心与机体重心的距离;Jx,Jy,Jz分别为飞行器在x,y,z三轴线的转动惯量;Jr为电机外转子与螺旋桨的转动惯量。

本文采用科学严谨的数学方法对四旋翼飞行器进行建模,利用建立好的模型可以反复对其进行实验来验证自己提出的算法理论。但理论和实际还是有相当的差距,如式(4)中参数的选型,往往会因为传感器精度有限,机体坐标和重心不在同一位置,系统状态变化太快等各种环境因素影响,导致无法确定四旋翼飞行器的精确模型。

2  神经网络控制器设计

2.1  控制系统位置环结构

四旋翼飞行器的控制系统位置环结构如图2所示。由式(4)可知,四旋飞行器状态量中x和y是间接驱动状态,状态量z,[?],[θ]和[ψ]为直接驱动状态,即进入四旋翼飞行器的输入分别为控制高度的u1、控制滚转运动的u2、控制俯仰运动的u3、控制偏航运动的u4。图2中神经网络PID位置控制器不对姿态角度进行处理,仅对高度进行控制,神经网络PID姿态控制器则是对系统的姿态角度进行控制。位置状态观测器和姿态状态观测器分别由GPS模块、MS5611气压计、LSM303三轴加速度计、L3GD20陀螺仪组成。

图2  控制系统位置环结构示意图

2.2  RBF神经网络结构

多变量插值的径向基函数(Radial Basis Function,RBF)是一种局部逼近的神经网络方法。RBF神经网络一般由三层网络结构组成,分别为输入层、隐含层、输出层。输入层是由r个源节点组成,用于接收外界信号;隐含层由m个隐藏单元构成,m的大小与信号特征及其所描述的问题有关,输入层到隐含层是一个无监督混合学习的过程,之间的变换往往是非线性的;输出层要对输入信号做出一定的响应,是一个线性且有监督的混合学习过程。

图3  RBF网络结构

2.2.1  RBF网络输出

由图3可知网络输入x为r维向量,隐含层[δ]为m维向量,输出y为n维向量。要实现RBF网络中输入层至输出层x→δj(x)的非线性映射,较为常用的径向基网络节点函数为高斯激活函数[12],其定义为:

[δj(x)=δx-cj=exp-x-cj22σ2j]      (5)

式中:j=1,2,…,m;x=[x1,x2,…,xr]T为输入量;cj=[cj1,

cj2,…,cjr]T是第j个节点的中心矢量;δj(x)是第j个隐含节点的输出;[σj]为节点j的基宽度常量。由式(5)可知,隐含层节点δj(x)输出结果在0和1之间,其输出的值越大,说明输入量越接近节点中心。

在RBF神经网络中隐含层到输出层是线性的,所以δj(x)→yi可以表示为:

[yi=j=1mδjωij-υk=j=1mexp-x-cj22σ2jωij-υk]  (6)

式中:i=1,2,…,n为输出层节点序号;m表示隐含层节点数;yi为输出层第i个节点的输出;δj表示隐含层第j个节点的输出;ωij为隐含层至输出层的加权系数;[υk]为隐含层的阈值。

2.2.2  RBF网络误差修正学习算法

由式(6)可知,只需确定δj,cj,ωij参数的值,便可得输出yk与输入[x]非线性方程。用于训练RBF神经网络的误差模型为:

[e(k)=y(k)-yi(k)]  (7)

该神经网络性能指标为:

[E(k)=12e2(k)=12(y(k)-yi(k))2]  (8)

式中:y(k)為系统实际输出;yi(k)为神经网络模型输出。

由梯度下降法、输出节点中心及节点基宽参数的迭代算法如下:

[Δωij(k)=-η?E?ωij=-η?E?yi·?yi?ωij=ηe(k)δjωij(k)=ωij(k-1)+Δωij(k)+a(ωij(k-1)-ωij(k-2))]               (9)

[Δσj(s)=-η?E?σj=-η?E?yi·?yi?σj=ηe(k)ωijδjx-cj2σ3jσj(s)=σj(k-1)+Δσj(k)+a(σj(k-1)-σj(k-2))]             (10)

[Δcjb(s)=-η?E?cjb=-η?E?yi·?yi?cjb=ηe(k)ωijx-cjbσ2jcjb(s)=cjb(k-1)+Δcjb(k)+a(cjb(k-1)-cjb(k-2))]               (11)

式中:b=1,2,…,r;η为学习速率;[a]为动量因子。

2.3  RBF神经网络用于整定PID控制参数

由式(3)可知,四旋翼有4个输入u1,u2,u3,u4,分别控制四旋翼飞行器的高度、俯仰、滚转、偏航运动,定义这4个状态的实际输出与模型输出差值为[eh],[epit],[erol],[eyaw], 采用增量式PID设计控制算法,以高度误差[eh]为例求出参与四旋翼高度控制的PID参数。

首先高度控制PID三项输入为:

[xh(1)=eh(k)-eh(k-1)] (12)

[xh(2)=eh(k)]  (13)

[xh(3)=eh(k)-2eh(k-1)+eh(k-2)]  (14)

PID控制器的控制算法为:

[uh(k)=uh(k-1)+Δuh(k)]  (15)

[Δuh(k)=kP_h(eh(k)-eh(k-1))+kI_heh(k)+                  kD_h(eh(k)-2eh(k-1)+eh(k-2))] (16)

高度控制的神经网络整定指标为:

[Eh(k)=12e2h(k)=12(y(k)-yh(k))2] (17)

采用梯度下降法可得

[ΔkP_h=-η?Eh?kP_h=-η?Eh?yh·?yh?Δuh·?Δuh?kP_h          =ηeh(k)?yh?Δuhxh(1)ΔkI_h=-η?Eh?kI_h=-η?Eh?yh·?yh?Δuh·?Δuh?kI_h         =ηeh(k)?yh?Δuhxh(2)ΔkD_h=-η?E?kD_h=-η?Eh?yh·?yh?Δuh·?Δuh?kD_h         =ηeh(k)?yh?Δuhxh(3)] (18)

式中,[?yh?Δuh]为被控对象的Jacobian信息,即对象的输出对控制输入变化的灵敏度信息,可以通过神经网络训练获得,算法为

[?y(k)?Δuh(k)≈?yh(k)?Δuh(k)=j=1mωjδjcjb-Δuh(k)σ2j]  (19)

把式(9)~式(11)代入式(19)可得[?yh?Δuh],之后便可求出式(18)中[ΔkP_h],[ΔkI_h],[ΔkD_h]的值,根据梯度下降法调整PID参数:

[kP_h(k)=kP_h(k-1)+ΔkP_h(k)+a1(kP_h(k-1)-                 kP_h(k-2))]  (20)

[kI_h(k)=kI_h(k-1)+ΔkI_h(k)+a1(kI_h(k-1)-                 kI_h(k-2))]  (21)

[kD_h(k)=kD_h(k-1)+ΔkD_h(k)+a1(kD_h(k-1)-                 kD_h(k-2))] (22)

同理可以分别得出控制俯仰、滚转、偏航运动的PID控制参数,即能够完成PID参数阵。

[KPID=kPkIkD=kP_hkP_pitkP_rolkP_yawkI_hkI_pitkI_rolkI_yawkD_hkD_pitkD_rolkD_yaw]   (23)

3  控制算法研究实验

为了验证算法的控制性能,搭建一个四旋翼飞行器实物平台,分别做了高度控制和姿态抗干扰控制实验,把实验得出的数据在Matlab环境下进行处理分析。四旋翼飞行器空中悬停如图4所示。

3.1  高度控制

四旋翼飞行器切换成定高模式,高度设定为5 m,高度数据曲线如图5所示,由图可知飞行器在3 s时开始拉升,6.89 s时达到最高点,这时飞行器的高度为5.37 m,由此可得超调量为7.4%;若稳态误差设定为5%,飞行器在7.06 s时便达到稳定,之后高度一直在5 m上下浮动。

图4  四旋翼飞行器空中悬停

图5  实际飞行高度曲线

3.2  姿态抗干扰实验

四旋翼飞行器在空中悬停状态下,分别在29 s和38.5 s时,通过拉扯飞行器的一端作为干扰,得出的姿态角度变化如图6所示。由图可知,在外加干扰的情况下,滚转角和俯仰角产生-4.5°的偏差,但控制器能夠迅速响应并调节回来,抗干扰能力极强。

图6  姿态控制曲线

4  结  语

本文针对四旋翼飞行器多输入/多输出难以精确建模的非线性特征系统,设计径向基神经网络PID控制算法,并给出系统模型及算法步骤,通过搭建实物平台验证算法的性能。由实验结果可知,径向基神经网络PID控制效果良好,能够满足四旋翼飞行器的正常飞行。但是本文实验还有两个缺点:

1) 缺乏普通PID和径向基神经网络PID控制性能的对比,这个是由于实验过程中所选取的普通PID参数,对四旋翼飞行器这种难以精确建模的非线性系统控制效果非常不理想,导致飞行器根本不能正常飞行,且抗干扰能力极差,无法正常进行实验;

2) 文中分别对高度、滚转、俯仰运动进行了参数测试,并没有对偏航PID参数进行探究,原因是偏航运动没有具体参考值,比如悬停模式下滚转和俯仰角度肯定在0附近波动,但是偏航可以是任意角度,所以就算给了一定干扰,其控制效果也很难分辨。

参考文献

[1] 张立庭.无人机在船舶引航领域的应用[J].中国港口,2016(9):50?51.

ZHANG Liting. Application of UAV in ship pilotage [J]. China ports, 2016(9): 50?51.

[2] 周蕾,赵文龙,程若发.四旋翼飞行器控制系统稳定性优化设计仿真[J].计算机仿真,2017,34(9):83?87.

ZHOU Lei, ZHAO Wenlong, CHENG Ruofa. Simulation of stability optimization design of quadrotor aircraft control system [J]. Computer simulation, 2017, 34(9): 83?87.

[3] 陈奕梅,陈增辉,修春波.四旋翼无人飞行器反步法的控制[J].天津工业大学学报,2015,34(5):32?36.

CHEN Yimei, CHEN Zenghui, XIU Chunbo. Backstepping control of quadrotor unmanned aerial vehicle [J]. Journal of Tianjin Polytechnic University, 2015, 34(5): 32?36.

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

ZHAO Yuanwei, LU Jingchao. Modeling and control of a quadrotor based on the backstepping method [J]. Science technology and engineering, 2013, 13(34): 10425?10430.

[5] 王璐,李光春,王兆龙,等.欠驱动四旋翼无人飞行器的滑模控制[J].哈尔滨工程大学学报,2012,33(10):1248?1253.

WANG Lu, LI Guangchun, WANG Zhaolong, et al. Sliding mode control of underactuated quadrotor UAV [J]. Journal of Harbin Engineering University, 2012, 33(10): 1248?1253.

[6] 侯明冬,刘金琨,田杰.欠驱动四旋翼飞行器全局轨迹跟踪滑模控制[J].控制工程,2016,23(6):928?932.

HOU Mingdong, LIU Jinkun, TIAN Jie. Global stability trajectory tracking of underactuated quadrotor [J]. Control engineering of China, 2016, 23(6): 928?932.

[7] 于占东,王庆超.飞行器姿态的一种鲁棒自适应模糊解耦控制[J].宇航学报,2003,24(4):368?373.

YU Zhandong, WANG Qingchao. Robust adaptive fuzzy decoupling control of aircraft attitude [J]. Journal of astronautics, 2003, 24(4): 368?373.

[8] 李杰,齐晓慧,韩帅涛.基于自抗扰技术的四旋翼姿态解耦控制方法[J].电光与控制,2013,20(3):44?48.

LI Jie, QI Xiaohui, HAN Shuaitao. Attitude decoupling control for quadrotor aircraft based on active disturbance rejection control technique [J]. Electronics optics & control, 2013, 20(3): 44?48.

[9] 杨立本,章卫国,黄得刚.基于ADRC姿态解耦的四旋翼飞行器鲁棒轨迹跟踪[J].北京航空航天大学学报,2015,41(6):1026?1033.

YANG Liben, ZHANG Weiguo, HUANG Degang. Robust trajectory tracking for quadrotor aircraft based on ADRC attitude decoupling control [J]. Journal of Beijing University of Aeronautics and Astronautics, 2015, 41(6): 1026?1033.

[10] 赵玥,陈奕梅.四旋翼无人飞行器控制算法设计[J].计算机工程与应用,2017,53(21):49?53.

ZHAO Yue, CHEN Yimei. Design of four rotor unmanned spacecraft control algorithm [J]. Computer engineering and applications, 2017, 53(21): 49?53.

[11] 焦金彦,薛建平,董新民,等.基于间接型迭代学习控制的四旋翼轨迹跟踪[J].现代电子技术,2017,40(23):113?118.

JIAO Jinyan, XUE Jianping, DONG Xinmin, et al. Quadrotor trajectory tracking based on indirect iterative learning control [J]. Modern electronics technique, 2017, 40(23): 113?118.

[12] 李砚浓,李汀兰,姜艺,等.基于RBF神经网络自适应PID四旋翼飞行器控制[J].控制工程,2016,23(3):378?382.

LI Yannong, LI Tinglan, JIANG Yi, et al. Adaptive PID control of quadrotor based on RBF neural network [J]. Control engineering of China, 2016, 23(3): 378?382.

猜你喜欢
神经网络
神经网络抑制无线通信干扰探究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源
基于GA-BP神经网络的光伏阵列MPPT研究