基于模糊神经网络PID算法的舵机控制与仿真*

2016-06-16 03:12文建刚
中北大学学报(自然科学版) 2016年2期
关键词:Matlab仿真

和 江,文建刚,侯 文

(1. 中北大学 仪器与电子学院,山西 太原 030051; 2. 中国航天科技集团第四研究院第四十一所,陕西 西安 710025;3. 中北大学 信息与通信工程学院,山西 太原 030051)



基于模糊神经网络PID算法的舵机控制与仿真*

和江1,文建刚2,侯文3

(1. 中北大学 仪器与电子学院,山西 太原 030051; 2. 中国航天科技集团第四研究院第四十一所,陕西 西安 710025;3. 中北大学 信息与通信工程学院,山西 太原 030051)

摘要:针对某型号导弹舵机系统在非线性时变的复杂条件下传统的PID控制器控制精度低、 适应能力差的缺点,本文通过对模糊神经网络算法的研究,并结合传统PID控制器,设计了模糊神经网络PID控制器. 通过对系统进行仿真可以看出: 舵机最大舵偏角反馈值从19.12°增大到19.62°,相位滞后减小了6°; 提高了系统的频率响应; 阶跃响应超调明显减小,上升时间从40 ms减小到30 ms,并且大大减小了系统稳态误差. 研究表明,相比于传统的PID控制器,模糊神经网络PID控制器在对电动舵机位置环控制上效果有很大提升.

关键词:电动舵机; PID控制器; 模糊神经网络PID算法; MATLAB仿真

0引言

在导弹系统中,舵机作为执行机构发挥着重要作用,对于舵机控制器的设计也尤为重要. 因此,研究更加灵活精确的控制算法对于舵机性能的提升有着非常重要的意义[1].

传统PID控制由于算法简单,易于实现等优点被广泛应用于舵机系统的控制中. 然而,电动舵机系统是典型的非线性时变系统[2],而传统PID控制对被控对象的特性变化不敏感,很难实现精确控制. 相比传统PID控制算法,模糊PID控制对于非线性时变系统有着更好的适应能力,可以改善传统PID控制效果[3]. 虽然模糊PID控制不会过多依赖被控对象的模型变化,但却较依赖操作人员的经验,自学习能力较差. 如果操作人员的相关经验知识不足,则对被控对象的控制效果依旧不太理想[4]. 神经网络的特点是容错能力、 自学习能力强[5],可以弥补模糊PID在灵活性方面的不足,然而神经网络又有着不能很好利用已有经验知识的缺点.

针对模糊PID控制和神经网络控制的优缺点,本文设计了模糊神经网络控制器,将模糊PID控制与神经网络控制相结合,使它既具有神经网络自学习能力强的特点,又具有模糊PID控制可以很好利用已有经验知识的特点,能够自适应地调整控制规则和控制参数,从而达到对舵机位置环地精确控制.

1电动舵机数学模型

电动舵机主要由伺服电机、 减速传动机构、 PWM驱动器以及反馈电位器组成. 通过舵机各组成部分的数学模型可以得到舵机系统的数学模型[6]. 本文的研究对象为该系统的位置环控制器,其传递函数结构如图 1 所示.

图 1 系统传递函数结构图Fig.1 The block diagram of the system transfer function

图 1 中,U为位置指令信号;Ra为电枢总电阻;La为电枢总电感;Km为转矩系数;TL为折算到电机轴上的负载转矩,与舵偏转角成正比;JM为折算到电机轴上转动惯量,包括电机转子的转动惯量、 减速传动机构转动惯量以及舵片折算到电机轴上的转动惯量;N为总减速比;KE,KF分别为反电势系数、 位置反馈系数.

2模糊神经网络PID控制器设计

2.1模糊神经网络PID控制器原理

本文所设计的模糊神经网络PID控制器原理如图 2 所示.

图 2 模糊神经网络PID控制器原理图Fig.2 The schematic of the fuzzy neural network controller

该控制器由传统PID控制器和模糊神经网络两部分组成. 传统的PID控制器可以直接对被控对象的位置环进行控制,其PID控制参数Kp,Kd,Ki可进行实时整定. 模糊神经网络控制器部分以位置误差e和误差变化率ec作为输入变量,其中ec(k)=e(k)-e(k-1),输出控制量为u(k). 模糊神经网络是将神经网络的自学习能力应用于模糊算法中,使得模糊算法的各步骤如模糊化变量、 模糊推理及清晰化变量融于神经网络的各层[7]. 通过神经网络的学习能力修正网络权值,最后输出最优PID控制器的控制参数Kp,Kd,Ki.

2.2模糊神经网络PID结构

本文所设计的基于BP网络的模糊神经网络是一种多层前馈神经网络,各层分别为输入层、 隐层、 输出层,前层结点与后层节点通过权值连接[8].

BP网络的特点是输入信号自输入层向输出层正向传播,如果输出结果达到期望值,则算法停止,否则以期望输出和实际输出的差作为误差信号进行反向传播,通过调整各层神经元结点的权值和阈值,使得误差信号最小化,从而达到控制目标的目的[9].

根据上述BP网络的结构与原理,本文设计的模糊神经网络分为5层,分别为输入层、 模糊化层、 模糊规则层、 归一化层、 清晰化层,如图 3 所示.

图 3 模糊神经网络结构示意图Fig.3 The block diagram of the fuzzy neural network

该模糊神经网络各层的处理过程如下[10]:

1) 输入层,该层由2个神经元组成,输入分别为x1和x2,其中x1和x2分别代表系统的位置误差e和误差变化率ec. 输入层可将这两个输入信号直接传递给下一层,故作用函数为f1(x)=x.

(1)

(2)

式中:cij和σij分别表示第i个输入变量的第j个隶属度函数的均差和标准差.

3) 模糊规则层(隐层),该层的每个神经元代表一条模糊控制规则,通过匹配模糊规则的前件来完成模糊“与”运算,这里用“乘”实现“与”运算,从而计算出每条规则的适应度. 该层共49个神经元,其作用函数为f3(x)=x,具体实现为

(3)

(4)

一般情况下,输入变量对于其附近的语言变量有较大的隶属度值,远离输入点语言变量值的隶属度值很小(有时可近似取值为零).

4) 归一化层(隐层),其神经元节点的数目与第三层的相同,即49个神经元结点,对第三层输出值归一化计算可得

(5)

5) 输出层,实现反模糊化计算

(6)

由此可得,该模糊神经网络中可调的参数为有权系数ωkp、 高斯型隶属度函数的均值cij和标准差σij.

本文采用增量式PID控制器,其控制规律为

(7)

(8)

(9)

(10)

(11)

式中:e(k)为系统给定值与实际值的差值,即系统偏差;Kp,Kd,Ki分别为比例系数、 微分系数、 积分系数.

2.3模糊神经网络学习算法

模糊神经网络学习算法本质上是一个求取误差函数最小值的问题,解决这类问题最直接有效的办法是采用梯度法,即对误差函数通过负梯度下降的方式进行寻优[11].

利用该学习算法可以对舵机控制系统PID的比例系数Kp、 微分系数Kd、 积分系数Ki进行实时整定,从而提高系统的控制效果.

假设系统的期望输出为rm(k),实际输出为yout(k),则误差函数为

(12)

模糊神经网络权值及参数的学习算法为

(13)

(14)

(15)

式中:η1,η2,η3为学习速率;k为神经网络迭代步骤;α为网络学习动量因子,加该动量项可以提高网络收敛速率.

(16)

(17)

(18)

其中:

(19)

(20)

(21)

(22)

3系统仿真

3.1Matlab仿真模型建立

为了验证模糊神经网络PID控制算法对电动舵机的控制效果,根据电动舵机数学模型,利用Matlab中的Simulink模块基于模糊神经网络建立了该系统的仿真模型[12],如图 4 所示. 其中模糊神经网络PID控制器仿真模型如图 5 所示. 该电动舵机系统采用位置环、 速度环、 电流环的三闭环控制,本文所设计的模糊神经网络PID控制器为位置环控制器,速度环采用传统PID控制器,电流环为伺服电机驱动器内部过流保护,即限幅环节.

图 4 电动舵机系统仿真模型Fig.4 The simulation model of the electronical servo system

该电动舵机系统的伺服电机选用瑞士MAXON公司的某型号直流无刷电机. 该电机额定电压24 V,额定功率70 W,额定转速为8 050 r/min,可得反电动势系数0.028 Vs/rad; 转矩常数KT=25.9 mN·m/A,转子转动惯量51.2 gcm2,舵片折算到电机轴上的转动惯量为23.67 gcm2,减速器折算到电机轴上的转动惯量为0.01 gcm2(可忽略不计),舵片相间电阻Ra=1.35 Ω,相间电感La=0.186 mH,总减速比i=220,减速器效率为80%.

图 5 模糊神经网络PID控制器Fig.5 The controller of the fuzzy neural network PID

系统仿真模型中模糊神经网络PID控制器利用M函数实现[13],其中取神经网络学习速率初值η1=η2=η3=0.15,动量因子α=0.02.

3.2仿真实验项目设置

1) 最大摆角输入指令: 由于正弦波变化缓慢,所以采用频率为1 Hz、 幅值为20的正弦波进行仿真,即

(23)

2) 阶跃特性输入指令: 阶跃特性的仿真可以得到数字舵机系统的超调量、 上升时间. 该项目采用幅值为1的阶跃信号.

(24)

3) 频率特性输入指令: 根据设计指标,采用最大偏角1/10的正弦信号,即频率为20 Hz,幅值为2的正弦信号进行仿真,即

(25)

3.3仿真结果及分析

分别将正弦跟踪信号和阶跃信号输入该仿真模型中,对系统进行加载条件下的仿真. 仿真结果如图 6~图 11 所示.

1) 最大舵偏角仿真结果

从仿真结果图 6 可以看出,当指令为1 Hz,20°的正弦信号时,利用传统的PID位置环控制,舵机系统实际最大舵偏角为19.12°,相移约为14°. 从图 7 可以看出,利用了模糊神经网络PID的位置环控制,在指令为1 Hz,20°的正弦信号时,舵机系统实际最大舵偏角为19.62°,相移有明显减小,约为8°,相比于传统PID的位置环控制跟随性能有了明显的提升.

图 6 传统PID控制下最大舵偏角仿真曲线Fig.6 The simulation curve of the maximum rudder angle by using the traditional PID controller

图 7 模糊神经网络PID下最大舵偏角仿真曲线Fig.7 The simulation curve of the maximum rudder angle by using the FNN-PID controller

2) 系统频率特性仿真结果

从仿真结果图 8 可以看出,指令为20 Hz,2°的正弦信号时,利用传统的PID位置环控制,舵机系统实际最大舵偏角反馈值为1.52°,相移为60°,衰减为-2.38 dB. 从图 9 可以看出,利用了模糊神经网络PID的位置环控制,在指令为20 Hz,2°的正弦信号时,舵机系统实际最大舵偏角为1.62°,相移为43.8°,衰减为-1.83 dB. 对比二者的仿真结果可知,模糊神经网络PID位置环控制相比于传统PID的位置环控制对于高频信号相应要更好,也可以说系统位置环频率响应有了提升.

图 8 传统PID控制频率特性仿真曲线Fig.8 The simulation curve of the frequency characteristics by using PID Controller

图 9 模糊神经网络PID控制频率特性仿真曲线Fig.9 The simulation curve of the frequency characteristics by using FNN-PID controller

3) 阶跃特性仿真结果

图 10 和图 11 中可以看出,在输入1°阶跃信号时,传统的PID控制器具有较大的超调,约10%左右,上升时间40 ms; 模糊神经网络PID控制器系统的阶跃响应基本无超调,上升时间30 ms,稳态误差相比传统PID更小. 可以得到当位置环利用模糊神经网络PID控制时,系统的阶跃响应比传统PID控制好很多.

图 10 传统PID控制系统的阶跃特性Fig.10 The step characteristics of the system by using PID controller

图 11 模糊神经网络PID控制系统的阶跃特性Fig.11 The step characteristics of the system by using FNN-PID controller

4结论

本文基于模糊神经网络PID控制算法,对电动舵机的位置环控制算法进行了改进. 通过分别将传统PID控制器和模糊神经网络PID控制器应用于某导弹舵机系统位置环,并且分别对系统位置环进行了最大舵偏角跟随特性、 系统频率响应特性以及系统阶跃响应特性3个项目进行了仿真,对比结果可以看出: 相比于传统的PID控制器,模糊神经网络PID控制器在非线性、 时变的复杂环境下有如下的优点: ① 对舵机最大舵偏角指令的反馈准确,相移小,舵片实际偏转角度能够更好地跟随指令信号的变化; ② 对系统位置环的频率响应有了明显提升; ③ 系统位置环的阶跃响应更加迅速,超调基本消除. 综上所述,采用模糊神经网络PID控制器时,系统位置环的控制效果有了显著的提升.

参考文献:

[1]王天辉,李阳,王峰. 基于模糊神经网络的伺服系统的PID控制[J]. 火力与指挥控制,2014,39(4): 153-156.

Wang Tianhui,Li Yang,Wang Feng. Study of PID controller to servo system base on fuzzy-neural network[J]. Fire Control & Command Control,2014,39(4): 153-156. (in Chinese)

[2]杨尧,王民钢,闫杰. 一种数字电动舵机的非线性PID控制算法研究[J]. 西北工业大学学报,2010,28(3): 323-326.

Yang Yao,Wang Mingang,Yan Jie. A better non-linear PID controller of digital electromechanical actualor system[J]. Journal of Northwestern Polytechnical University,2010,28(3): 323-326. (in Chinese)

[3]曹菁. 电动舵机模糊自适应PID控制方法[J]. 微电机,2004,40(10): 89-92.

Cao Jing. Method of fuzzy self-turning PID control of electrom echanical actor[J]. Micromotors Servo Technique,2004,40(10): 89-92. (in Chinese)

[4]张元,周长省. 模糊神经网络PID在电动舵机控制中的应用[J]. 计算机仿真,2012,29(5): 77-80.

Zhang Yuan,Zhou Changxing. Application of improved fuzzy neural network PID controller in brushless DC motor control[J]. Computer Simulation,2012,29(5): 77-80. (in Chinese)

[5]Li Jianqiang. Using BP nerual networks for the simulation of energy consumption[J]. 2014 IEEE International Conference on Systems,Man and Cybernetics,2014: 3542-3547.

[6]张元. 基于DSP的小型电动舵机伺服控制系统研究[D]. 南京: 南京理工大学,2012.

[7]Zhao Chunyu. Control of electro-hydraulic servo system for a material test system using fuzzy neural network[J]. The World Congress on Intelligent Control and Automation,2008: 9351-9355.

[8]张妤,荣盘祥. 一种基于模糊神经网络的PID控制器[J]. 哈尔滨理工大学学报,2005,10(6): 63-67.

Zhang Shu,Rong Panxiang. A kind of PID controller based on fuzzy neural network[J]. Journal of Harbin University of Science and Technology,2005,10(6): 63-67. (in Chinese)

[9]刘益民. 基于改进BP神经网络的PID控制方法的研究[D]. 西安: 中国科学院西安光学精密机械研究所,2007.

[10]Hultmann Ayala,Helon Vicente. A new efficient hybrid intellingent method for nonlinear dynamical systems identification: The Wavelet Kernel Fuzzy Neural Network[J]. Mechanical Systems and Signal Processing,2015,68-69: 378-393.

[11]Li Xinghua. Application of fuzzy neural PID controller based on PSO for high precision servo system[J]. ISCID 2011,2011: 291-294.

[12]孔祥吉. 导弹执行机构伺服控制系统设计[D]. 太原: 中北大学,2014.

[13]刘金琨. 先进PID控制MATLAB仿真(第三版)[M]. 北京: 电子工业出版社,2013.

Control and Simulation of Servo Based on Fuzzy Neural Network PID Algorithm

HE Jiang1, WEN Jian-gang2, HOU Wen3

(1. School of Instrument and Electronics, North University of China, Taiyuan 030051, China;2. China Aviation Technology Group Corp. No.4 Research Institute No.41 Institute, Xi’an 710025, China;3. School of Information and Communication Engineering, North University of China, Taiyuan 030051, China)

Abstract:Under the complicated condition of the nonlinear time variation, the traditional PID controller of one missile servo has shortages of low-accuracy and bad self-adaptation. Acorrding to the study of the fuzzy neural network algorithm, the fuzzy neural network PID controller which combines the traditional PID controller with the fuzzy neural network controller is designed. Through some simulation of the system, we can get the results as follow.Firstly, the feedback value of the maximum rudder angle increases from 19.12 degree to 19.62 degree, and the phase lag is reduced by 6 degree.Secondly, the frequency response of the system has been improved.Thirdly, the FNN-PID decreases the overshoot of the step response, the rise-time reduces from 40ms to 30ms, and the steady-state error decreases greatly. In a word, in comparison to the traditional PID controller, the results of the new controller designed in this paper are much better.

Key words:electronic servo system; PID controller; FNN PID algorithm; MATLAB simulation

文章编号:1673-3193(2016)02-0150-07

*收稿日期:2015-08-10

基金项目:总装国防科技基金

作者简介:和江(1989-),男,硕士生,主要从事动态测试与自动控制研究.

中图分类号:TJ765.2

文献标识码:A

doi:10.3969/j.issn.1673-3193.2016.02.010

猜你喜欢
Matlab仿真
微信网络的信息传播模型研究
常规PID控制和常规模糊控制的比较
感应电机低速运行时自适应状态观测器研究
人工神经网络的改进及其在入侵检测中的应用
基于相关分析法的系统辨识算法对比及仿真
MATLAB仿真在《控制工程基础》教学中的应用
基于相似度算法的伪码起始位置变步长估计
基于运动单站的多观测点交叉角无源定位技术
基于FPGA实现直接数字频率合成脉冲线性调频信号
小波变换在信号奇异性特征检测中的应用