http://www.paper.edu.cn
基于 Matlab 神经网络控制仿真研究
(青岛科技大学 自动化与电子工程学院,山东 青岛 266042)
袁 健,张文霞
摘 要:介绍了基于神经网络的直接逆控制和模型参考自适应控制的基本原理,然后把它应
用在一个简单的二阶系统控制中,并对其进行了仿真,该仿真是使用 MATLAB 神经网络工具
箱完成的。最后对比了不同的控制方法以及不同的训练样本容量对控制结果的影响。
关键词:神经网络 直接逆控制 模型参考自适应控制
1.简介
近年来,随着社会经济的发展,对控制系统的设计要求日益提高,传统的控
制理论及传统的智能控制方法已经很难满足需要。神经网络控制一起独特的优点
受到控制界的关注,在控制系统中得到日益广泛的应用,这主要来自以下三方面
的动力:处理越来越复杂系统的需要;实现越来越高的设计目标的需要;在越来
越不确定情况下进行控制的需要。用神经网络设计的控制系统,具有高度的自适
应性和鲁棒性,对于非线性和不确定性系统也取得了满意的控制效果,这些效果
是传统的控制方法难以达到的[1]。
本文对一简单的二阶系统分别采用了直接逆控制和模型参考自适应控制,通
过仿真来分析其控制效果。并研究了不同样本容量对仿真结果的影响。
2. 直接逆控制原理
这种方法是将神经网络直接作为控制器串联于实际系统之前,其系统结构如
图 1 所示。它的主要思想是利用神经网络的逼近能力对系统的逆动态进行建模,
以使得整个系统的输入输出为恒等映射,从而实现高性能的控制。该方法结构简
单,可充分利用神经网络的建模能力,但系统的初始响应取决于网络的初始权值,
控制开始投入时系统鲁棒性欠佳[2]。系统控制特性取决于模型的精确程度,当模
Fig.1 Neural network direct inverse control
图1 神经网络直接逆控制
型存在误差或对象有扰动时,容易造成系统不稳定。直接逆动态控制的原理可描
1
http://www.paper.edu.cn
述为:
ty
(
+
)1
=
tyg
((
),
Λ
,
ty
(
+−
n
),1
tu
(
),
Λ
mtu
(,
−
))
;
神经网络的训练过程可描述为:
)(ˆ
tu
ˆ
g
= −
1
ty
((
+
),1
ty
(
),
Λ
,
ty
(
+−
n
),1
tu
(
),
Λ
mtu
(,
−
))
。
3.模型参考自适应控制原理
如图 2 所示。当非线性系统为仿射系统时,控制器特性由辨识模型直接获得。
图 2 自适应控制系统模型
Fig.2 System model of adaptive control
当非线性系统为非仿射系统时,控制器也采用神经网络实现。这时神经网络控制
器的训练方式用类似于逆动态辨识的方案,但这时的误差函数为 et=||yp-yt||。式中,
yp 为对象实际输出,yt 为参考模型的输出。由于辨识模型和控制器均采用神经网
络,因此增加了系统的鲁棒性[3]。
4.直接逆控制设计
4.1 被控对象:如图 3 所示,本文的控制对象是一简单的二阶系统。
其传递函数是:
4.2 神经网络设计:采用单隐层神经网络,输入层 4 个神经元,隐层 5 个神经元,
Fig.3 Controlled object
图 3 被控对象
ty
)(
′′
ty
)(
′+
+
ty
)(
+
ty
)(
3
=
tu
)(
2
输出层 1 个神经元。隐层作用函数为:
y
=
1
1
−
+
−
x
−
x
e
e
,输出层为线性输出[4]。
http://www.paper.edu.cn
4.3 训练算法:采用 MaLevenberg-rquardt 算法,系统模型如图 4。
5.模型参考自适应控制的设计
Fig.4 System model of direct inverse control
图 4 直接逆控制系统模型
模型参考自适应控制是采用 Gauss-Newton 算法,系统模型如图 2。前向网
e
d
u
t
i
l
p
m
a
e
d
u
t
i
l
p
m
a
图 5 产生的输入输出数据
Fig.5 Input and output data
络的训练仍采用直接逆控制时的数据对,神经网络控制器的结构也同直接逆控制
时的一样[5]。
6.系统仿真过程
6.1 产生训练数据:产生一个最大幅值为 12、频率不定的方波序列,通过被控对
象,得到输出。这样总共产生 1000 组数据,其中前 500 组用作训练,后 500 组
可以用来检验控制结果[6]。如图 5 所示。
6.2 训练和仿真结果:
3
http://www.paper.edu.cn
e
d
u
t
i
l
p
m
a
e
d
u
t
i
l
p
m
a
time (samples)
图 6 500 次直接逆控制结果
Fig.6 Training result of 500 times direct inverse control
在控制过程中,当参考信号为方波时,经过 500 次训练后,其控制结果如图 6。
经过 1000 次训练后,其控制结果如图 7。当采用模型参考自适应控制时,每 200
次采样,
更新一次权值,总共更新 8 次,以达到较好的效果。其控制结果如图 8。
7.结论
通过仿真结果可以看出,神经网络直接逆控制基本上可以达到好的控制效
果,但是阶越时超调量都比较大。其中 500 次训练后的控制结果最差,阶越时收
敛速度最慢;1000 次训练后的控制结果比经过 500 次训练的控制结果有所改善,
Fig.7 Training result of 1000 times direct inverse control
Fig.8 Model reference adaptive control
100
80
time (samples)
图 8 模型参考自适应控制结果
图 7 1000 次直接逆控制结果
Reference and output signal
120
140
160
180
200
20
40
60
time (samples)
e
d
u
t
i
l
p
m
a
2
0
-2
0
但在稳态时仍然有波动;经过模型参考自适应控制的结果最理想,阶越时的响应
4
非常好,超调量基本为零。但是由于神经网络自适应控制是在线学习,因此当系
统模型变化或出现扰动时,系统需要修改大量的网络权值,从而会降低系统的响
http://www.paper.edu.cn
应速度。
参考文献
[1] 王树青.先进控制技术及应用[M].北京:化学工业出版社,2001.
[2] 徐丽娜.神经网络控制[M].黑龙江:哈尔滨工业大学出版社,1999.
[3] 何玉彬,李新忠.神经网络控制技术及其应用[M].北京:科学出版社,2000.
[4] 焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1999.
[5] 楼顺天,施阳.基于 MATLAB 的系统分析与设计——神经网络[M].西安:西安电子科技大学出版社,
1998.
[6] 闻新,周露,王丹力,等.MATLAB 神经网络应用设计[M].北京:科学出版社,2001.
Neural Network Control and Simulation Based on Matlab
(College of Information and Control Engineering, Qingdao University of Science and Technology,
Yuan Jian,Zhang wenxia
Qingdao 266042, China)
Abstract
In this paper, I introduced the theory about the direct inverse control and the adaptive control used in
NN control. Then I applied them in a simple two-order system and got the simulation result. The
simulation was operated with the NN toolbox in MATLAB. At last, I compared the control result under
different conditions.
Keywords: Neural Network Direct Inverse Control Adaptive Control
5