📄 18.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0044)http://www.jgchina.com/ednns/ednnsbk/7.2.htm -->
<HTML><HEAD><TITLE>4.2神经模糊控制系统</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId><LINK
href="18.files/style.css" type=text/css rel=stylesheet></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0>
<TABLE height=941 cellSpacing=0 cellPadding=0 width=778 border=0>
<TBODY>
<TR>
<TD width="100%" height=8>
<P><A
href="http://www.jgchina.com/ednns/ednnsbk/director.htm">回目录</A>
<A
href="http://www.jgchina.com/ednns/ednnsbk/7.htm">上一页</A>
<A href="http://www.jgchina.com/ednns/ednnsbk/7.21.htm">下一页</A></P></TD></TR>
<TR>
<TD width="100%" height=17>
<P align=center>4.2神经模糊控制系统</P></TD></TR>
<TR>
<TD width="100%" height=145>
<P>神经模糊控制系统是用神经网络作为控制器实现模糊推理控制的系统。 </P>
<P>模糊控制系统有一个很明显的缺点:这就是它缺乏有效的学习机制。神经模糊控制系统的优异之处则在于可以用神经网络的学习机制补偿模糊控制系统原有的缺点;</P>
<P>神经模糊控制系统是以基于网络的适应模糊推理系统ANFIS(Adaptive Network-based Fuzzy Inference
System)组成的。ANFIS也称适应神经模糊推理系统(Adaptive Neuro-Fuzzy Inference
System)。在前面有关章节中所介绍的神经模糊控制器也就是典型的ANFIS。</P>
<P>典型的反馈控制系统框图如图4—8所示,它由控制器和被控对象组成。被控对象一般由一组差分方程描述。这些方程说明了被控对象状态x(t)的特性。而对于控制器而言,通常是用g表示其静态函数,这也就是被控对象x(t)状态对控制作用u(t)的影射。</P>
<P align=center><IMG height=73 src="18.files/7.2.ht15.gif" width=416
border=0></P>
<P align=center>图4-8 反馈控制系统框图</P></TD></TR>
<TR>
<TD width="100%" height=488>
<P>对于框图,可以有以下方程 </P>
<P>x(k+1)=f(x(k),u(k))</P>
<P>u(k)=g(x(k))</P>
<P>在控制工程中,其中心的问题是:为了达到预期的控制目的,就是要找出作为对象输出状态x的函数的控制作用u。</P>
<P>用神经网络构成模糊控制器,就是用神经网络实现模糊映射;并且对一个被控对象进行控制。</P>
<P>在这一节中,先介绍神经模糊控制系统的有关结构,再介绍神经模糊控制系统的具体应用情况。</P>
<P>4.2.1 神经模糊控制系统结构</P>
<P>神经模糊控制系统的结构是和所采用的控制方式有关的。神经模糊控制有多种不同的控制方式,这些方式包括模仿经验控制,逆控制,专门学习控制,反馈线性化及滑模控制,其它方式控制。在这一部分,分别简要介绍这些控制方式及控制系统的结构。</P>
<P>一、模仿经验控制</P>
<P>模仿经验控制在本质上是把人们的经验加以总结,然后用神经模糊控制器模仿人的有关经验,从而实现对被控对象的控制。模仿专家的经验进行控制是模糊控制器的本来的目的。对一些复杂的系统,例如化学反应过程,地下铁道,交通系统等,人类的专家可以很好的实现控制,神经模糊控制器可以模仿这些专家,实现对复杂系统的有效控制。</P>
<P>一船而言,专家给出的经验是以模糊条件语句的方式给出的,而条件语句中的模糊量隶属函数也较粗糙;所以在应用时还需要进行较多的试验和误差处理,以重新定义隶属函数。</P>
<P>采用神经模糊控制器来进行模仿经验控制,则可以采用神经网络的学习机制,并利用其对数字信息,如输入输出数据的学习处理,从而可以对隶属函数进行重新定义。最后,取得较合理的结果。</P>
<P>这种方法不但可以用于控制系统;如果,目标系统可以用人类经验进行模仿;那么.所得到的模糊推理系统是模糊专家系统。故而,这种方法也可以用于系统诊断和分析。</P>
<P>二、逆控制</P>
<P>逆控制是神经模糊控制的一种控制方式,这种控制方式来自于神经网络控制方法。</P>
<P>神经模糊逆控制的作用如图4—9所示。为了简便起见,假设被控设备只有一个输出状态x(k)和一个输人u(k)。控制分成两个阶段:即学习阶段和应用阶段。</P>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width="80%" border=0>
<TBODY>
<TR>
<TD align=middle width="50%"><IMG height=197
src="18.files/7.2.ht16.gif" width=296 border=0>
<P align=center>(a)</P></TD>
<TD align=middle width="50%"><IMG height=183
src="18.files/7.2.ht17.gif" width=318 border=0>
<P align=center>(b)</P></TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR>
<TR>
<TD width="100%" height=310>
<P align=center>图4-9 神经模糊逆控制</P>
<P>在学习阶段,采用随机输入集,可以得到被控对象所产生的相应输出。学习阶段如图4-9(a)所示。在图中,ANFIS用于学习被控对象的逆模型。在学习时,采用随机输入信号u(k)以及输出信号x(k),x(k+1)这些信息。</P>
<P>在应用阶段,系统的结构如图4—9(b)所示。被控对象的逆模型用作控制器直接对被控对象进行控制。如果对象的逆模型是精确的,也即是x(k),x(k+1)到u(k)的映射是精确的,确的,则用u(k)去对对象进行控制必定能产生结果x(k+1)。这个结果会逼近给定x<SUB>d</SUB>(k)。这个系统在控制的角度讲是一个纯单周期延时系统。</P>
<P>这种控制方法看起来只需一个唯一的学习任务,也就是寻找对象的逆模型。这就要求有一个先决的条件,即对象的逆模型存在。但是,并非所有的对象存在逆模型.进一步讲,网络络误差[c<SUB>u</SUB>(k)]<SUP>2</SUP>的最小化并不能确保整个系统误差<SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">‖</SPAN>x<SUB>d</SUB>(k)-x(k)<SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">‖</SPAN><SUP>2</SUP>的最小化。</P>
<P>要克服这个问题,可采用ANFIS构成适应逆控制系统。</P>
<P>三、专门学习控制</P>
<P>逆控制所存在的主要问题是以神经网络的误差最小化取代整个系统的误差最小化。在神经模糊控制中,直接使系统误差最小化的一种方法是所谓“专门学习”方法。这种方法如图4-10中所示:</P>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width="80%" border=0>
<TBODY>
<TR>
<TD align=middle width="50%"><IMG height=178
src="18.files/7.2.ht18.gif" width=337 border=0>
<P align=center>(a)</P></TD>
<TD align=middle width="50%"><IMG height=196
src="18.files/7.2.ht19.gif" width=332 border=0>
<P align=center>(b)</P></TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR>
<TR>
<TD width="100%" height=1219>
<P align=center>图4-10 神经模糊逆控制</P>
<P>为了使反向传播误差信号通过图4—10中的对象框图,故而需要求取可以代表对象性能的模型。事实上,为了采用BP学习算法,需要知道对象的雅可比矩阵(Jacobian
matrix),在该矩阵中,其i行j列的元素等于对象的第i次输出对其第i次输入的导数。</P>
<P>如果对象的雅可比矩阵不容易求取,则可以在两个连续的时刻对对象在线进行输入和输出变化处理,以估计雅可比矩阵。</P>
<P>专门学习控制的结构如图4—10(a)中所示。给定信号为x<SUB>d</SUB>(k+1),在ANFIS控制器中输入系统的输出x(k),然后把ANFIS输出u(k)以及系统输出x(k)作为对象的输人。把对象输出x(k+1)和给定信号x<SUB>d</SUB>(k+1)进行比较,产生的误差e<SUB>x</SUB>用于对ANFIS控制器校正。校正过程采用BP算法。很明显,这是以整个系统的误差最小化为目标进行学习的。</P>
<P>通常人们不习惯在每个时刻k去表明所需的对象输出x(k),在参考模型适应控制中,所需的整个系统的性能可以用一个通常是线性的模型来表示,这个模型可以成功地满足控制目的。这种方法如图4—10(b)中所示。在图中,所需的输出x<SUB>d</SUB>(k+1)通过所需模型产生。</P>
<P>四、反馈线性化及滑模糊控制</P>
<P>在连续时间域中,动态系统的运动方程可以用典型的形式表达如下</P>
<P>x<SUP>(n)</SUP>(t)=f(x(t),x(t),x<SUP>(2)</SUP>(t),......,x<SUP>(n-1)</SUP>(t))+bu(t)
(4.39)</P>
<P>其中:f是未知连续函数,</P>
<P>b是控制增益。</P>
<P>系统控制的目的是使状态向量</P>
<P>X=[x,x,x<SUP>(2)</SUP>,......,x<SUP>(n-1)</SUP>]<SUP>T</SUP>
(4.40)</P>
<P>即随所需的轨迹</P>
<P>X<SUB>d</SUB>=[x<SUB>d</SUB>,x<SUB>d</SUB>,x<SUB>d</SUB><SUP>(2)</SUP>,......,x<SUB>d</SUB><SUP>(n-1)</SUP>]<SUP>T</SUP>
(4.41)
<P>如果定义误差向量为
<P>e=X-X<SUB>d</SUB>
(4.42)
<P>则控制目的是设计一个控制u(t),使得在t——<SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">∞</SPAN>时,e——0。
<P>如果f是已知的,则式(4—39)可以简化为线性系统,故它是一个典型线性化系统。
<P>在f已知时,采用下面控制u(t):
<P>u(t)=-f(X(t))+X<SUB>d</SUB><SUP>(n)</SUP>+k<SUP>T</SUP><SUB>e</SUB>
(4.43)
<P>将把原有的非线性系统转换成线性系统:
<P>e<SUP>(n)</SUP>(t)+k<SUB>1</SUB>e<SUP>(n-1)</SUP>+……+k<SUB>(n-1)</SUB>e+k<SUB>n</SUB>=0
(4.44)
<P>这里,K=[k<SUB>n</SUB>,k<SUB>(n-1)</SUB>,……,k<SUB>1</SUB>]<SUP>T</SUP>是恰当选择的向量,它应保证满足式(4.44)闭环线性系统的特性。<BR>但在式(4.39)中,f是未知函数,从直觉上应选择控制u(t)为:
<P>u(t)=-F(X,p)+x<SUB>d</SUB><SUP>(n)</SUP>+k<SUP>T</SUP><SUB>e</SUB>+V
(4.45)
<P>其中:F是足以逼近f的参数化函数,
<P>V是附加输入。
<P>当采用控制u(t)时,则得到的闭环系统按如下求出:
<P>1.在式(4.43)中,k<SUP>T</SUP>e满足式(4.44),即有:
<P>u(t)=-f(X(t))+x<SUB>d</SUB>(n)
(4.46)
<P>2.从式(4.45),(4.46)则有
<P>-f(x(t))+x<SUB>d</SUB><SUP>(n)</SUP>=-F(X,p)+x<SUB>d</SUB><SUP>(n)</SUP>+k<SUP>T</SUP>e+V
<P>从而有
<P>kTe=F(X,p)-f(X(t))-V
<P>即有:
<P>e<SUP>(n)</SUP>+k<SUB>1</SUB>e<SUP>(n-1)</SUP>+......+k<SUB>(n-1)</SUB>e+k<SUB>u</SUB>=(F-f)-V
(4.47)
<P>式(4.47)表述了用式(4.45)所示的控制时得到的闭环系统。
<P>很显明,存在两个问题:
<P>1.需要逐渐修改参数向量P,使到对于所有的X,有F(X,p)<SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">≈</SPAN>f(x)
<P>2.在F逼近f的整个过程中,需要加上附加控制V以保证总体稳定性。
<P>解决策一个问题不难,采用模糊神经网络就可以通过参数学习逼近f。
<P>解决第二个问题则可以采用滑模控制。
<P>这种控制方式只能用于反馈可线性化的系统。
<P>五、其他控制方式
<P>其它控制方式还有增益排表控制(Gain Scheduling Control),随机方法,增强学习(Reinforcement
learning)法等。增益排表控制一般用于一阶Sugeno模糊模型,而随机方法一般用于复杂控制系统。对于对象模型不清楚的或不是很有效的,则可以用增强学习方法。
<P>4.2.2典型的神经模糊控制系统
<P>神经模糊控制系统可以用多种神经网络来实现。这些神经网络可以是正向前馈网络,也可以是反馈网络。既可以用模糊神经网络,也可以用径向基函数,也可以用单向线性响应函数作为激发函数的神经元。在这一节中,给出两十分典型的例子,一个是采用模糊推理网络的例子,一个是采用单向线性响应激发函数的例子。它们构成了结构不同的神经模糊控制系统。而它们各自有着明显不同的特点,但在学习上都是取得较好的效果。
<P>一、模糊推理网络构成的控制系统
<P>这是一个采用简化模糊推理网络SFIN(Simplified Fuzzy Inference
Network)组成的神经模糊控制系统,由于采用了神经网络,故而在系统中的控制器是自校正模糊逻辑控制器STFLC(Self-Tuning Fuzzy
Logic Controller)。下面对这个系统进行简要介绍。
<P>1.简化模糊推理网络
<P>模糊逻辑控制器是执行Takagi-Sugeno推理的控制器.考虑控制器为多输入单输出结构。控制规则有如下形式:
<P>if X is A<SUB>i</SUB> then y<SUB>i</SUB>=f<SUB>i</SUB>(X)
<P>其中:X=[x<SUB>1</SUB>,x<SUB>2</SUB>,......,x<SUB>m</SUB>]<SUP>T</SUP>
<P>
A<SUB>i</SUB>=[A<SUB>1i</SUB>,A<SUB>2i</SUB>,......,A<SUB>mi</SUB>]
<P>
f<SUB>i</SUB>(X)=[P<SUB>0i</SUB>+P<SUB>1i</SUB>x<SUB>1</SUB>+......+P<SUB>mi</SUB>x<SUB>m</SUB>]
<P> i=1,2,......,n。
<P>在控制规则中,X是输入;A<SUB>i</SUB>是模糊量;A<SUB>ki</SUB>是第k一个输入分量x<SUB>k</SUB>的第i个模彻量。f<SUB>i</SUB>(X)是对应于输人x的输出,P<SUB>ki</SUB>是第6规则中后件二项式中的输入量系数。
<P>对于第i条规则,其匹配度用D<SUB>i</SUB>表示,并且有
<P>D<SUB>i</SUB>=A<SUB>1i</SUB>(x<SUB>1</SUB>)*A<SUB>2i</SUB>(x<SUB>2</SUB>)*......*A<SUB>mi</SUB>(x<SUB>m</SUB>)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -