Open Journal of Acoustics and Vibration
Vol. 08  No. 01 ( 2020 ), Article ID: 34041 , 8 pages
10.12677/OJAV.2020.81001

PID Control of Quadrotor UAV Based on BP Neural Network

Junling Cao1, Shun Zhong2*, Zihan Sun2, Jiajie Han3, Chao Wang3

1Tianjin Lianda Communication Development Co., LTD., Tianjin

2Department of Mechanics, Tianjin University, Tianjin

3Hebei Ruizhao Laser Remanufacturing Technology Stock Co., Ltd., Tangshan Hebei

Received: Jan. 2nd, 2020; accepted: Jan. 12th, 2020; published: Jan. 19th, 2020

ABSTRACT

The quadrotor UAV is a strong coupling and underactuated multi-degree of freedom nonlinear system, so the control of the quadrotor UAV is very important. This work optimizes the parameters of PID controller based on BP neural network. The results indicate that compared with the traditional PID control, the results from BP neural network have better performance, which would provide a new method and idea for the control design of small quadrotor UAV.

Keywords:PID, Quadrotor, BP Neural Network, Machine Learning

基于BP神经网络的小型四旋翼无人机的PID 控制

曹俊灵1,钟顺2*,孙子涵2,韩佳杰3,王超3

1天津市联大通讯发展有限公司,天津

2天津大学力学系,天津

3河北瑞兆激光再制造股份有限公司,河北 唐山

收稿日期:2020年1月2日;录用日期:2020年1月12日;发布日期:2020年1月19日

摘 要

四旋翼无人机是一个强耦合、欠驱动的多自由度非线性系统,因此对四旋翼无人机的控制十分的重要。本文基于BP神经网络训练的方式对PID控制器中的参数进行优化。结果表明,和传统PID控制相比,BP神经网络得到的结果有更佳的控制效果,为小型四旋翼无人机的控制提供了新的方法和思路。

关键词 :PID控制,四旋翼无人机,BP神经网络,机器学习

Copyright © 2020 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

无人机(Unmanned Aerial Vehicle)是一类自主控制的或是利用无线电遥控技术对机体进行飞行控制的无人驾驶飞行器 [1]。近些年来,无人机引起了广泛的关注和应用。民用上可以用于航拍、观测森林和建筑火灾、喷洒农业化学品、气象观测等;军事上可用于监察、侦测、协助反恐作战甚至于直接加入战场投射炸弹等复杂任务 [2]。

四旋翼无人机是旋翼无人机中较为典型的一类无人机,它的整个机身结构相比于固定翼无人机较小,因此具有较高的机动性以及较低的制造成本。四旋翼无人机是一个强耦合、欠驱动、非线性的多自由度系统 [3],具有较高的研究价值。由于质量轻体积小,四旋翼无人机对外界的干扰较为敏感,因此在有噪声的环境下,要保持良好的飞行品质,那么控制器的设计就显得尤其重要。

目前有许多种控制策略应用在四旋翼无人机的控制上面,吴成富 [4] 验证了PID控制器能有效地控制四旋翼无人机在重心不存在偏移和有重心存在偏移情况下的姿态角和速度。Rinaldi [5] 将LQR控制器和神经网络控制器对四旋翼无人机的控制进行了对比。Lee [6] 对比了反馈线性化控制和自适应滑模控制两个非线性控制器对四旋翼无人机的控制状况。Das [7] 用反步法设计了一个非线性的控制器对四旋翼无人机进行控制。Efe [8] 基于神经网络调节PID控制器的参数。Muliadi [9] 对比了神经网络控制和PID控制对四旋翼无人机的控制。

通过文献可以看出,PID控制是普遍被使用的控制方法,其原理简单、方便使用、鲁棒性好。但是由于它忽视了非线性因素,因此在有噪声的环境中的表现不是很好。机器学习是近几年兴起的一门交叉学科。它能通过以往的经验和数据来训练所设计的网络模型。依靠这个模型,可以实现对算法的优化。因此运用机器学习来对传统的PID控制算法进行改进,可以提高系统的抗干扰能力,增强四旋翼无人机在现实作业中的飞行稳定性。

因此,本文首先运用牛顿–欧拉法推导出了四旋翼无人机的动力学方程,利用动力学方程进行训练数据的生成,基于机器学习当中的反向传播机制设计并训练BP神经网络控制器,来进行控制参数的预测和优化,通过和传统PID控制算法的比较验证了方法的有效性。

2. 四旋翼无人机系统的动力学建模

对四旋翼无人机进行数学模型的构建。首先提出三点假设:

1) 四旋翼无人机机身不发生任何的形变,即认为无人机为刚体;

2) 在机体的质心上建立机体坐标系,整机质量均匀分布,质心在飞行过程中不发生偏移;

3) 在四旋翼无人机的飞行过程当中,重力加速度不随着飞行高度的变化而改变,保持一个定值。

建立机体坐标系G和地面坐标系E如图1所示。相应的得到地面坐标系到机体坐标系的转换矩阵如公式(1)所示:

Figure 1. Coordinate system of quadrotor UAV

图1. 四旋翼无人机的坐标系

R = [ cos ψ cos θ sin θ sin φ cos ψ sin ψ cos φ sin θ cos φ cos ψ + sin ψ sin φ sin ψ cos θ sin θ sin φ sin ψ + cos φ cos ψ sin θ sin ψ cos φ sin φ cos ψ sin θ sin φ cos θ cos θ cos φ ] (1)

其中, θ 为俯仰角, φ 为横滚角, ψ 为偏航角。

在地面坐标系下,四旋翼无人机在飞行过程中一般受到三个外力,即重力G、阻力 D i ( i = 1 , 2 , 3 , 4 ) 和旋翼的升力 T i ( i = 1 , 2 , 3 , 4 ) ,如公式(2)~(4)所示:

G = m g (2)

D i = 1 2 ρ C d ω i 2 = K d ω i 2 (3)

T i = 1 2 ρ C t ω i 2 = K t ω i 2 (4)

其中, ω i ( i = 1 , 2 , 3 , 4 ) 表示的是四个电机的转速, K d 为无人机的升力系数, K t 是无人机的阻力系数。这两个系数一般经由经验公式算出,如公式(5)和(6)所示:

K d = C d ρ A r 2 (5)

K t = C t ρ A r 2 (6)

其中, C d C t 是四旋翼无人机的螺旋桨的翼型的一些常数, ρ 是所处位置的空气密度,A是四旋翼无人机机翼旋转一周所扫过的面积,r是螺旋桨的长度。

将其通过转换矩阵得到四旋翼无人机的线运动方程如(7)所示:

{ x ¨ = ( F x K 1 x ˙ ) / m = [ K t i = 1 4 ω i 2 cos ψ sin θ cos φ + sin ψ sin φ K 1 x ˙ ] / m y ¨ = ( F y K 2 y ˙ ) / m = [ K t i = 1 4 ω i 2 ( sin ψ sin θ cos φ cos ψ sin φ ) K 2 y ˙ ] / m z ¨ = ( F z K 3 z ˙ m g ) / m = ( K t i = 1 4 ω i 2 cos θ cos φ K 3 z ˙ ) / m (7)

进一步,通过转换矩阵,可以得到机体的角速度 [ p , q , r ] 和欧拉角的角速度 [ φ ˙ , θ ˙ , ψ ˙ ] 之间的换算关系如(8)所示:

[ p q r ] = [ φ ˙ ψ ˙ sin θ θ ˙ cos φ + ψ ˙ sin φ cos θ θ ˙ sin φ + ψ ˙ cos φ cos θ ] (8)

再进行变换可以得到用机体角速度表示的欧拉角的角速度的表达式如(9)所示:

[ φ ˙ θ ˙ ψ ˙ ] = [ ( p cos θ + q sin θ sin φ + r sin θ cos φ ) / cos θ q cos φ + r sin φ ( q sin φ + r cos φ ) / cos θ ] (9)

在之前,假定了四旋翼无人机质量是均匀分布的,并且整个机身关于十字对称轴对称,因此四旋翼无人机的惯性矩阵I为对角阵如(10)所示:

I = [ I x 0 0 0 I y 0 0 0 I z ] (10)

根据飞行器的动力学方程,可以得到四旋翼无人机的角运动方程如(11)所示:

[ p ˙ q ˙ r ˙ ] = [ [ M x + ( I x I z ) q r ] / I x [ M y + ( I z I x ) r p ] / I y [ M z + ( I x I y ) p q ] / I z ] (11)

通过在四个螺旋桨上的电机,可以实现四旋翼无人机的飞行动作。为此,定义U1、U2、U3、U4为四旋翼飞行器的四个独立控制通道的控制输入量来实现无人机的控制,如(12)所示:

[ U 1 U 2 U 3 U 4 ] = [ K t i = 1 4 ω i 2 K t ( ω 4 2 ω 2 2 ) K t ( ω 3 2 ω 1 2 ) K t ( ω 3 2 ω 1 2 ) K d ( ω 2 2 + ω 3 2 ω 4 2 ) ] (12)

为了得到四旋翼无人机的动力学模型,进一步提出三点假设:

1) 不考虑无人机与空气之间的摩擦,即忽略空气中的摩擦阻力;

2) 忽略无人机的螺旋桨的螺旋陀螺效应,则螺旋桨产生的升力和力矩与转速的平方有一定的线性关系;

3) 认为无人机的转动角度较小,因此绝对角速度 [ p , q , r ] T 可由欧拉角速度 [ φ ˙ , θ ˙ , ψ ˙ ] T 代替。

由此,得到六自由度的四旋翼无人机的动力学方程如(13)所示:

{ x ¨ = ( cos φ sin θ cos ψ + sin φ sin ψ ) U 1 / m y ¨ = ( cos φ sin θ sin ψ sin φ cos ψ ) U 1 / m z ¨ = g + cos φ cos θ U 1 / m φ ¨ = θ ˙ ψ ˙ ( I y I z ) / I x + l U 2 / I x θ ¨ = φ ˙ ψ ˙ ( I z I x ) / I y + l U 3 / I y ψ ¨ = φ ˙ θ ˙ ( I x I y ) / I z + U 4 / I z (13)

3. 基于神经网络的PID控制器设计

PID控制参数的选取关系到控制效果的好坏,越精准的参数带来更优的控制效果。但是可以得到精确数值的理论计算整定法对于具有高度非线特点的四旋翼无人机模型显然适应性不强。而工程整定法虽然可以通过调试得到较好的控制效果的参数值,但是也存在着两个问题。第一,调试的效率较低。即使有着经验公式的帮助,参数的调试也不能一蹴而就,仍需要不断地试验。第二,调试的精度较差。要想在进一步的提升控制效果,单单靠不断地试验显然是不太现实的。因此工程整定法一般情况下不可能达到最优的参数设定。考虑到BP神经网络对于非线性函数出色的拟合能力,通过大量数据的训练,可以输出较为准确的参数。

因此,本文提出的控制策略将BP神经网络和PID控制器相结合。这个控制器分为两部分,一部分是PID控制部分,这一部分与传统的PID控制没有相比没有特别的区别;另一部分则是BP神经网络对PID控制器的参数学习部分,通过BP神经网络的反向传播机制进行网络参数的训练,通过理想目标输出对PID控制器的参数进行预测,预测值作为第一部分的控制器参数,以使PID控制器的参数更精准,控制更为优良,系统的鲁棒性更好。

Table 1. The structure of the BP neural network

表1. BP神经网络结构

因此,提出如表1所示的BP神经网络,该网络结构由五个隐藏层、一个输入层和一个输出层组成,输入层包含了60个神经元,有780个参数;前四个隐藏层由60个神经元组成,包含着3660个参数;第五个隐藏层由30个神经元组成,包含着1830个参数;最后连接着输出层,共计17,281可训练参数。层与层之间都采用的是全连接的方式,即不同层的神经元之间都相互连接着。在第五个隐藏层与输出层之间,夹着一个Dropout层。它的用途是在模型训练的时候,通过随机让某些神经元不工作来防止过拟合情况的发生。

在训练过程中,首先给定待训练参数初始值,以系统响应作为输入,此响应所对应的控制参数值作为标记,进一步定义损失函数(通常选取均方误差),利用梯度下降的原理对参数进行更新(反向传播机制),当损失值达到一定要求时,即可停止训练。

通过保持PID控制器的其中五个参数不变,在一个区间范围内改变剩余的一个参数的取值,得到了六组数据。通过这六组数据,训练神经网络,并在Sigmoid和ReLU两种不同的激活函数及Adam和SGD两种不同的优化器下进行了对比。其中对 k p x 的训练结果如图2图3所示。

Figure 2. The training process of under Adam optimizer

图2. Adam优化器下对 k p x 的训练

Figure 3. The training process of k p x under SGD optimizer

图3. SGD优化器下对 k p x 的训练

4. 算例

同样的,对其他控制参数进行预测。本文选取了其中一组预测值加以比较。在其他参数值不变的情况下,选取在Adam优化器和ReLU激活函数下神经网络对各参数的预测值,可以看到对系统的控制情况的影响如表2所示:

Table 2. Performances of predictive values

表2. 预测值对控制系统的影响

图4给出了基于工程整定法确定的控制参数( k p x = 2 ; k p y = 2 ; k d x = 2 ; k d y = 2 ; k p = 80 ; k d = 20 )条件下,系统的控制效果。

Figure 4. Response curves under engineering setting method

图4. 工程整定法下的响应曲线

将PID控制器的参数都换成神经网络所给出的预测值,可以发现控制效果有了较大的提升,达到稳态的时间缩短、超调量减小,如图5所示。这说明机器学习方法(BP神经网络)能有效地预测出PID控制器的参数使其达到较好的控制效果。

Figure 5. Response curves under parameters predicted by BP neural network

图5. BP神经网络得到参数下的系统响应曲线

5. 结论

本文对四旋翼无人机的控制行为进行了一些研究,主要是通过一定的假设和简化建立了四旋翼无人机的动力学模型。在动力学建模的基础上,设计了一个PID控制器来控制四旋翼无人机的飞行过程,并通过MATLAB进行仿真来验证所设计的PID控制器的有效性。结果表明:

1) 利用四旋翼无人机的动力学模型,进行数据的生成,通过生成的数据来训练网络可满足控制效果,在没有足够多的实验数据时,此方法不失为一种数据增强的有效方法。

2) 工程上通过经验所确定的PID控制器参数,传统的PID在无噪声的环境下可以使无人机到达指定的位置并保持稳定,但在有噪声的环境下,传统的PID控制器的表现并不是很好,即鲁棒性较差。

3) BP神经网络的预测能力能够有效地提高PID控制器的参数选取的精度,从而拥有更好的控制效果。

基金项目

国家自然科学基金青年项目(批准号:11502161)、天津市自然科学基金青年项目(合同号:13JCQNJC04300)。

文章引用

曹俊灵,钟 顺,孙子涵,韩佳杰,王 超. 基于BP神经网络的小型四旋翼无人机的PID控制
PID Control of Quadrotor UAV Based on BP Neural Network[J]. 声学与振动, 2020, 08(01): 1-8. https://doi.org/10.12677/OJAV.2020.81001

参考文献

  1. 1. 李德仁, 李明. 无人机遥感系统的研究进展与应用前景[J]. 武汉大学学报•信息科学版, 2014, 39(5): 505-513.

  2. 2. Park, S., Won, D.H., Kang, M.S., et al. (2005) RIC (Robust Internal-Loop Compensator) Based Flight Control of a Quad-Rotor Type UAV. IEEE International Conference on Intelligent Robots and Systems, Edmonton, 2-6 August 2005. https://doi.org/10.1109/iros.2005.1545113

  3. 3. Mian, A.A. and Wang, D. (2008) Nonlinear Flight Control Strategy for an Underactuated Quadrotor Aerial Robot. IEEE International Conference on Intelligent Robots and Systems, Sanya, 6-8 April 2008, 938-942. https://doi.org/10.1109/icnsc.2008.4525351

  4. 4. 吴成富, 刘小齐, 袁旭. 四旋翼无人机建模及其PID控制律设计[J]. 电子设计工程, 2012(16): 74-76.

  5. 5. Rinaldi, F., Chiesa, S. and Quagliotti, F. (2012) Linear Quadratic Control for Quadrotors UAVs Dynamics and Formation Flight. Journal of Intelligent & Robotic Systems, 70, 203-220. https://doi.org/10.1007/s10846-012-9708-3

  6. 6. Lee, D., Kim, H.J. and Sastry, S. (2009) Feedback Linearization vs. Adaptive Sliding Mode Control for a Quadrotor Helicopter. International Journal of Control, Automation and Systems, 7, 419-428. https://doi.org/10.1007/s12555-009-0311-8

  7. 7. Das, A., Lewis, F. and Subbarao, K. (2009) Backstepping Approach for Controlling a Quadrotor Using Lagrange form Dynamics. Journal of Intelligent and Robotic Systems, 56, 127-151. https://doi.org/10.1007/s10846-009-9331-0

  8. 8. Efe, M.Ö. (2011) Neural Network Assisted Computationally Simple 〖PI〗^λ D^μ Control of a Quadrotor UAV. IEEE Transactions on Industrial Informatics, 7, 354-361. https://doi.org/10.1109/tii.2011.2123906

  9. 9. Muliadi, J. and Kusumoputro, B. (2018) Neural Network Control System of UAV Altitude Dynamics and Its Comparison with the PID Control System. Journal of Advanced Transportation, 2018, 1-18. https://doi.org/10.1155/2018/3823201

  10. NOTES

    *通讯作者。

期刊菜单