基于改进型BP神经网络的四旋翼控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于改进型BP神经网络的四旋翼控制系统
余后明;刘彦臣;郑士振;常建龙
【摘要】为了实现对四旋翼无人机的自稳定控制,首先对四旋翼无人机进行了动力学建模,提出了一种改变学习率的BP神经网络算法与PID控制相结合的姿态控制方法,并在相同环境下与常规PID控制器进行了仿真试验对比.仿真试验结果表明:基于改进型BP神经网络的PID控制器能够有效地实现无人机的自稳定控制,相比于常规PID控制器,基于改进型BP神经网络的PID控制器具有响应速度快、超调量低、鲁棒性强等优点.
【期刊名称】《甘肃科学学报》
【年(卷),期】2019(031)002
【总页数】5页(P87-91)
【关键词】四旋翼无人机;动力学建模;学习率;BP神经网络
【作者】余后明;刘彦臣;郑士振;常建龙
【作者单位】中北大学机电工程学院,山西太原 030051;中北大学机电工程学院,山西太原 030051;中北大学机电工程学院,山西太原 030051;中北大学机电工程学院,山西太原 030051
【正文语种】中文
【中图分类】V279
四旋翼无人机的自主飞行技术在农业植保、森林火灾勘察、军事侦察等方面都有着
极为广泛的应用场景。
然而四旋翼无人机是一个典型的具有4个控制输入和6个输出的非线性欠驱动系统,而一般的控制系统并不能达到期望的控制效果。
目前最常用的控制方法为PID控制,由于四旋翼无人机在执行任务时经常会遇到意外的环境变量,如果要使其稳定飞行的话就得实时对Kp、Ki、Kd 3个参数进行在线整定,但常规PID控制器却无法满足此需求[1-3]。
而BP神经网络具有强大的非线性映射能力,能够进行自学习和并行处理。
研究是在BP神经网络的基础上,采用改变学习率η的方法对BP神经网络算法进行了改进,使得基于此算法的PID控制器的3个参数能够进行在线整定,以此来达到对四旋翼无人机的自适应控制。
仿真结果表明,改进型BP神经网络算法的PID控制器具有良好的稳定性和自适应性。
1 四旋翼飞行器系统建模
首先建立地面坐标系B(Xa,Ya,Za)与机体坐标系E(Xb,Yb,Zb),如图1所示。
图1 地面坐标系与机体坐标系Fig.1 Ground coordinate system and body coordinate system
图1中机体坐标系与地面坐标系之间的夹角为欧拉角(θ,φ,ψ),分别表示俯仰角、横滚角和偏航角,由此可推导出机体坐标系与惯性坐标系之间的转换矩阵R:
(1)
其中:C和S分别表示三角函数cos和sin函数。
设在地面坐标系下四旋翼无人机的坐标为G=[x,y,z],则由牛顿运动学定律和转动学定律可推导四旋翼无人机的动力学方程如下:
(2)
其中:I表示转动惯量;F表示各旋翼产生的力;l表示四旋翼无人机的质心到各旋翼之间的距离;u1、u2、u3、u4分别表示垂直、滚转、俯仰、偏航4个通道的控制量,
其表达式为
(3)
通过以上简单推导可知,四旋翼无人机是一个具有六自由度四输入的欠驱动强耦合非线性系统[4-5],如果采用常规PID控制器的话,将不能很好的适应复杂飞行环境的变化,因此我们有必要设计一种自适应控制器。
2 改进型BP神经网络PID控制器设计
2.1 改进型BP神经网络
BP神经网络一般具有多层结构,包括输入层、隐含层和输出层,其中隐含层也可以是多层,具体与实际系统训练程度相关,而且每一层都可以具有多个节点,也就是可以包含多个输入与输出值。
在PID控制器的设计中,遇到的实际系统一般都是非线性的,采用BP神经网络算法可以通过梯度下降法来利用梯度搜索的技术使得神经网络的实际输出值和我们期望的输出值的误差均方差降为最小[6]。
传统的BP神经网络在训练时,大都采用梯度下降法来求解权值和阈值,这种算法是先初始化一个解,然后在此基础上确定搜索方向和步长,这样初始解就会根据这个搜索方向和步长进行移动,从而使得待求解的目标函数输出下降,然后不断迭代下去,使得最后的误差比较小,在此过程中步长的选取显得尤为重要,因为搜索算法确定之后整个求解过程都是基于此进行计算的,其运行过程是固定不变的,然而步长不一样,如果步长设置的过大,会使得搜索不仔细,可能引起系统的剧烈震荡,但是设置过小又会导致收敛速度太慢,从而达不到四旋翼无人机控制系统快速性的要求,所以步长的选定在这里就显得很重要了。
学习率η就是用来对原步长进行调整的,但在传统的BP 神经网络算法里它又是固定不变的,而研究将采取自适应改变学习率的方法,对其进行了合理的调节,就是在训练误差比较大时,适当减小学习率,在训练误差比较小时,适当增加学习率,以期达到对传统BP神经网络算法优化的目的。
根据整个系统的实时
运行状态来不断调整权值系数,不断学习,使得输出层神经元的输出状态对应于PID
控制器的3个参数Kp、Ki、Kd,使其处于实时变化中[7],以此达到参数的在线整定。
当然,这个变化根据系统的运行状态而变,是一个动态调节的过程,而且最终的网络输出值也是在我们给定的某种最优化控制律下的参数,这样也就实现了我们需要的对
整个四旋翼无人机系统的自适应控制。
采用3-5-3的神经网络结构,即输入层、隐含层、输出层分别含3个、5个、3个
神经元的3层结构,如图2所示。
图2 BP神经网络结构Fig.2 Schematic diagram of BP neural network structure
改进型BP神经网络的学习算法如下:
(1)输入层。
输入为整个PID控制系统的期望值rin(k),实际输出值为yout(k)与偏差e(k)。
输出
(4)
(2)隐含层。
输入
(5)
输出
(6)
其中:为隐含层加权系数。
隐含层的神经元活化函数在这里取正负对称的Sigmoid函数:
(3) 输出层。
输入
输出
(8)
输出层由于其输出的PID 3个参数都不是负数,所以我们在这里将神经元活化函数取为非负的Sigmoid函数:
(4) 权系数修正。
性能指标函数取为
按照梯度下降法对网络的权系数进行修正,为了使搜索快速收敛,我们在本算法中附加了一项能加快收敛速度的惯性项,具体推导过程为[8]
输出层权系数修正:
(9)
(10)
此处我们对学习率进行改进,其表达式为
(11)
其中:ΔE(k)是性能指标函数E(k)的改变量;a>1,0<b<1;m是适当的参数,以下隐含层中学习率也同样适用。
同理能得到隐含层权系数修正:
(12)
在式(10)、式(13)中,有
g′(·)=g(x)(1-g(x)),f′(·)=(1-f2(x))/2,
在式(4)~(10),式(12)~(13)中的上标数字(1)、(2)、(3)分别表示BP神经网络的输入层、隐含层、输出层。
2.2 控制器设计与算法实现
研究所采用的控制系统结构如图3所示。
图3 控制系统结构Fig.3 Control system structure
神经网络算法编写步骤如下:
(1) 确定BP神经网络结构,包括层数、各层神经元个数等;
(2) 初始化S函数参数,包括8个输入,4个输出,3个离散状态变量等;
(3) 开始采样,包括rin(k)和yout(k),并计算该时刻的偏差等;
(4) 计算各层神经元输入输出,并给定初始学习速率和惯性因子,输出层的输出即为Kp、Ki、Kd,计算u(k),并将其返回到Simulink仿真模块接口;
(5) 进行BP神经网络学习,在线调整权系数和和学习率η等;
(6) 更新离散状态;
(7) 计算下一个采样时间点;
(8) 仿真结束。
具体的M文件S函数流程如图4所示。
图4 S函数流程Fig.4 S function flow chart
3 Simulink模型搭建与仿真
S函数编写好之后,建立被控系统的Simulink图形化仿真模型,如图5所示。
为了验证所设计的控制器控制效果,以文献[9]中的四旋翼对象进行仿真实验,其数学模型如下:
图5 BP神经网络PID控制模型Fig.5 BP neural network PID control model 俯仰方向:
横滚方向:
偏航方向:
仿真时间为5 s,步长设定为0.01 s,采用的计算方法为ode4(Runge-Kutta)[10],且在2 s时改变输入信号,仿真结果如图6、图7所示。
图6 俯仰方向与横滚方向仿真效果Fig.6 Simulation effect of pitch direction and roll direction
由图6、图7仿真结果可知,基于改进型BP神经网络PID控制器能够在0.5 s 内达到稳定值,完成姿态的调整,而常规PID控制器只能在1 s左右达到稳定值,且明显可以看出其超调量要高于基于BP神经网络PID控制器,对于外界控制信号的改变,基于BP神经网络PID控制器能够实时的调整控制器参数,快速完成调整,具有较强的鲁棒性。
图7 偏航方向仿真效果Fig.7 Yaw direction simulation effect
4 结论
研究针对四旋翼无人机姿态控制问题,提出了一种改变学习率的BP神经网络算法的PID控制器,且在相同环境下和常规PID控制器共同对四旋翼无人机的俯仰方向、横滚方向和偏航方向的姿态控制进行了仿真实验。
实验结果表明,基于改变学习率的BP神经网络PID控制器与常规PID控制器都能够对其产生有效控制,但明显可以看出,改进型BP神经网络PID控制器比常规PID控制器的响应更为迅速,达到稳定值的时间更短、超调量低、鲁棒性强,且对外界信号改变的反应也更为迅速。
参考文献:
【相关文献】
[1] 刘焕晔.小型四旋翼飞行器飞行控制系统研究与设计[D].上海:上海交通大学,2009.
[2] Mian A,Wang Daobo.Nonlinear Flight Control Strategy for an Underactuated Quadrotor Aerial Robot[J].IEEE AQTR,2008(1):8-16.
[3] 孟佳东,赵志刚.小型四旋翼无人机建模与控制仿真[J].兰州交通大学学报,2013,32(1):63-64
[4] 余后明,刘彦臣,刘玉斌,等.基于动态调节的小型四旋翼飞行器的控制系统[J].电光与控
制,2018,25(9):106-109.
[5] 李俊,李运堂.四旋翼飞行器的动力学建模及PID控制[J].辽宁工程技术大学学报:自然科学
版,2012,31(1):116-117
[6] 王敬志,任开春,胡斌.基于BP神经网络整定的PID控制[J].工业控制计算机,2011,24(3):72-73.
[7] 高觐悦.PID控制器参数优化中的仿真研究[J].计算机仿真,2011,28(3):259-262.
[8] 高富强,李萍,张磊敏,等.基于BP神经网络整定的PID控制及仿真[J].山东陶瓷,2017,40(3):27-31.
[9] 江杰,冯旭光,苏建彬.四旋翼无人机仿真控制系统设计[J].电光与控制,2015,22(2):27-30.
[10] 李献,骆志伟,于晋臣.MATLAB/Simulink系统仿真[M].北京:清华大学出版社,2017.。