失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab模拟神经模糊自适应控制器

matlab模拟神经模糊自适应控制器

时间:2021-10-11 15:58:47

相关推荐

matlab模拟神经模糊自适应控制器

神经模糊自适应控制器

神经模糊自适应控制器的结构

该分析系统由一个普通的反馈控制器(FC)和一个神经控制器(NNC)组成,两控制器的输出信号之和作为实际控制量对系统进行控制,即

而神经控制器的输出可以表示为

上式中,r是参考输入;e为系统跟踪误差;ω(k)和θ(k)分别是神经网络的连接权和神经元的输入偏置; 最后一项是神经元激发函数,取其形式为对称Sigmoid函数。

反馈控制器FC起着监控作用,在NNC训练初期,FC对系统实施启动控制,并保证闭环系统的稳定性。神经控制器NNC是一个在线学习的自适应控制器,其作用是综合系统的参考输入和跟踪误差,利用模糊推理机FIE的输出信号进行学习,不断逼近被控对象的逆动力学模型,使FC的输出及其变化趋于零,从而逐步取消FC的作用,实现对系统的高精度跟踪。

在控制初期,神经控制器NNC未经训练,反馈控制器起主要作用,NNC通过FIE的输出信号不断得到训练,并逐渐在控制行为中占据主导地位,最终取代反馈控制器单独对系统实施高精度控制,当系统受到干扰或对象发生变化时,反馈控制器重新起作用,通过补偿控制,消除上述因素对控制系统的影响,同时为NNC提供训练误差。

NNC的设计

由于一个3层神经网络就具有任何逼近能力,因此,NNC采用一个单隐含层线性输出前馈网络,其模型结构如下图所示,输入/输出关系可描述为

式中,

是网络的输入向量,W_OH (k)、W_HI (k)分别是NNC输出层到隐含层和隐含层到输入层的权值矩阵;θ_H (k)是隐含单元的输入偏置。

网络权值的学习规则为

神经网络首先要设计网络结构(输入4个神经元,一层隐藏层,隐藏层具有6个神经元,输出层具有一个神经元),初始化权重,前向传播计算输出,反向传播更新权重。(附代码)

`

模糊控制器的设计

为改善神经网络的学习效果,使NNC的输出变换与系统的运动特性匹配,根据误差和误差变化,将系统的最终目标分解成若干目标。分目标学习误差由模糊推理机的一组模糊规则给出,如下表所示,

为实现上述模糊推理规则,必须对FIE的输入变量进行模糊化处理。为此,引入引入反馈控制器的输出变量及其变化变量的量化因子。

最后以重心法进行模糊判决,得到分目标学习误差

∆E需要还原到其基本论域中,才可用于NNC的学习,因此将其乘上一个比例因子。量化因子和比例因子选配时应兼顾响应速度和超调量。在本次仿真中,量化因子分别为0.01和0.1,比例因子为12。确定分目标学习误差后,定义NNC的训练误差函数如下

神经模糊自适应控制器的算法

1、初始化FC及NNC的结构、参数及各种训练参数

2、在时刻k,采样y(k)、r(k),并计算系统输出误差

3、计算反馈控制器FC的输出信号及其变化量

4、根据模糊推理规则,求出NNC分目标学习误差

5、如果分目标学习误差大于某一设定值,修正NNC的权值,否则,继续下一步

6、构造NNC的输入向量,并计算其输出

7、计算控制器输出,并送给被控对象,产生下一步输出y(k+1)

8、令k=k+1,对{y(k)},{u(k)},{e(k)}进行移位处理,返回步骤2

在控制过程中,NNC利用模糊推理机的分目标学习误差进行学习和在线调整,逐渐使FC的输出趋于零,从而在控制中占据主导地位,最终取消FC的作用。随着NNC权值的调整,当分目标学习误差收敛到一个给定精度时,NNC的训练暂告结束。此时,NNC已经能很好地代表对象的逆动力学特性,完全取代FC,对系统实行高品质控制。当系统出现干扰或对象发生变化时,反馈控制器FC重新起作用,NNC也将重新进入学习状态。这种控制策略具有良好的完备性,不仅可确保控制系统的稳定性和鲁棒性,而且可有效提高系统的精度和自适应能力。

matlab仿真

设定参考输入为step time=0.1,initial value=0,final value=1的阶跃信号(见下图)

当训练10次时,

训练100次时,

训练1000次时,

训练10000次时,

由上可知,反馈控制器机器输出及其变化量逐渐趋于零,神经网络控制器的输出逐渐趋于1,神经控制器逐渐取代了反馈控制器的作用。

跟踪曲线图见下图:

如果觉得《matlab模拟神经模糊自适应控制器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。