基于Simulink的神经网络_第1页
基于Simulink的神经网络_第2页
基于Simulink的神经网络_第3页
基于Simulink的神经网络_第4页
基于Simulink的神经网络_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Simulink的神经网络23.1 基于Simulink的神经网络模块 神经网络工具箱中提供了一套可在Simulink中用来建立神经网络的模块,对于在MATLAB工作空间中建立的网络,也能够使用函数gensim( )生成一个相应的Simulink 网络模块。 第1页/共59页33.1.1 模块的设置 在 Simulink库浏览窗口的Neural Network Blockset节点上,通过单击鼠标右键后,便可打开如图3-1所示的Neural Network Blockset模块集窗口。图3-1 Neural Network Blockset模块集 在Neural Network Block

2、set模块集中包含了四个模块库,用鼠标的左键双击各个模块库的图标,便可打开相应的模块库。 第2页/共59页41. 传输函数模块库(Transfer Functions) 用鼠标的左键双击Transfer Functions模块库的图标,便可打开如图3-2所示的传输函数模块库窗口。传输函数模块库中的任意一个模块都能够接受一个网络输入向量,并且相应地产生一个输出向量,这个输出向量的组数和输入向量相同。 图3-2 传输函数模块库窗口 第3页/共59页52. 网络输入模块库(Net Input Functions) 用鼠标的左键双击Net Input Functions模块库的图标,便可打开如图3-3

3、所示的网络输入模块库窗口。 网络输入模块库中的每一个模块都能够接受任意数目的加权输入向量、加权的层输出向量,以及偏值向量,并且返回一个网络输入向量。 图3-3 网络输入模块库窗口 第4页/共59页63. 权值模块库(Weight Functions) 用鼠标的左键双击Weight Functions模块库的图标,便可打开如图3-4所示的权值模块库窗口。权值模块库中的每个模块都以一个神经元权值向量作为输入,并将其与一个输入向量(或者是某一层的输出向量)进行运算,得到神经元的加权输入值。 图3-4 权值模块库窗口 上面的这些模块需要的权值向量必须定义为列向量。这是因为Simulink中的信号可以为

4、列向量,但是不能为矩阵或者行向量。 第5页/共59页74. 控制系统模块库(Control Systems) 用鼠标的左键双击Control Systems模块库的图标,便可打开如图3-5所示的控制系统模块库窗口。图3-5 控制系统模块库窗口 神经网络的控制系统模块库中包含三个控制器和一个示波器。关于它们的使用方法将在下一节专门介绍。 第6页/共59页83.1.2 模块的生成 在MATLAB工作空间中,利用函数gensim( ),能够对一个神经网络生成其模块化描述,从而可在Simulink中对其进行仿真。gensim( ) 函数的调用格式为:gensim(net,st )其中 第一个参数指定了

5、MATLAB工作空间中需要生成模块化描述的网络,第二个参数指定了采样时间,它通常情况下为一正数。如果网络没有与输入权值或者层中权值相关的延迟,则指定第二个参数为-1,那么函数gensim( )将生成一个连续采样的网络。 第7页/共59页9例3-1 设计一个线性网络,并生成其模块化描述。定义网络的输入为:X=1 2 3 4 5,相应的目标为:T=1 3 5 7 9。解 实现以上任务的MATLAB命令为:Ex3_1结果显示:y= 1 3 5 7 9可以看出,网络已经正确地解决了问题。gensim(net,-1)第8页/共59页10 3.2 基于Simulink的神经网络控制系统 神经网络在系统辨识

6、和动态系统控制中已经得到了非常成功的使用。由于神经网络具有全局逼近能力,使得其在对非线性系统建模和对一般情况下的非线性控制器的实现等方而应用的比较普遍。本节将介绍三种在神经网络工具箱的控制系统模块(Control Systems)中利用Simulink实现的比较普遍的神经网络结构,它们常用于预测和控制,并已在MATLAB对应的神经网络工具箱中给出了实现。第9页/共59页11这三种神经网络结构分别是:神经网络模型预测控制(NN Predictive Controller)反馈线性化控制(NARMA-L2 Controller)模型参考控制(Model Reference Controller)

7、使用神经网络进行控制时,通常有两个步骤:系统辨识和控制设计。 第10页/共59页12 在系统辨识阶段,主要任务是对需要控制的系统建立神经网络模型;在控制设计阶段,主要使用神经网络模型来设计(训练)控制器。在本节将要介绍的三种控制网络结构中,系统辨识阶段是相同的,而控制设计阶段则各不相同。 对于模型预测控制,系统模型用于预测系统未来的行为,并且找到最优的算法,用于选择控制输入,以优化未来的性能。对于NARMA-L2(反馈线性化)控制,控制器仅仅是将系统模型进行重整。 对于模型参考控制,控制器是一个神经网络,它被训练以用于控制系统,使得系统跟踪一个参考模型,这个神经网络系统模型在控制器训练中起辅助

8、作用。 第11页/共59页133.2.1 神经网络模型预测控制1. 模型预测控制理论 神经网络预测控制器是使用非线性神经网络模型来预测未来模型性能。控制器计算控制输入,而控制输入在未来一段指定的时间内将最优化模型性能。模型预测第一步是要建立神经网络模型(系统辨识);第二步,使用控制器来预测未来神经网络性能。 第12页/共59页141) 系统辨识 模型预测的第一步就是训练神经网络未来表示网络的动态机制。模型输出与神经网络输出之间的预测误差,用来作为神经网络的训练信号,该过程用图3-11来表示。 图3-11 训练神经网络第13页/共59页15 神经网络模型利用当前输入和当前输出预测神经未来输出值。

9、神经网络模型结构如图3-12所示,该网络可以以批量再线训练。 图3-12 神经网络模型结构第14页/共59页162) 模型预测 模型预测方法是基于水平后退的方法,神经网络模型预测在指定时间内预测模型响应。预测使用数字最优化程序来确定控制信号,通过最优化如下的性能准则函数:式中 N2为预测时域长度;Nu为控制时域长度;u(t) 为控制信号;yr为期望响应,ym为网络模型响应,为控制量加权系数。 uNjNjmrjtujtujtyjtyJ1212)2() 1()()(2第15页/共59页17 图3-13描述了模型预测控制的过程。控制器由神经网络模型和最优化方块组成,最优化方块确定u(通过最小化J),

10、最优u值作为神经网络模型的输入,控制器方块可用Simulink实现。图3-13 预测模型控制的过程第16页/共59页182. 模型预测神经网络控制实例分析搅拌器控制系统 在 MATLAB神经网络工具箱中实现的神经网络预测控制器使用了一个非线性系统模型,用于预测系统未来的性能。接下来这个控制器将计算控制输入,用于在某个未来的时间区间里优化系统的性能。进行模型预测控制首先要建立系统的模型,然后使用控制器来预测未来的性能。下面将结合 MATLAB神经网络工具箱中提供的一个演示实例,介绍Simulink中的实现过程。 第17页/共59页191)问题的描述 要讨论的问题基于一个搅拌器(CSTR),如图3

11、-14所示。对于这个系统,其动力学模型为:221221121)(1 ()()()()()()()()()(2 . 0)()()(tCktCkthtwtCCthtwtCCdttdCthtwtwdttdhbbbbbbb图3-14 搅拌器 第18页/共59页20其中 h(t)为液面高度,Cb(t)为产品输出浓度,w1(t)为浓缩液Cb1的输入流速,w2(t)为稀释液Cb2的输入流速。输入浓度设定为:Cb1=24.9,Cb2=0.1。消耗常量设置为:k1=1,k2=1。 控制的目标是通过调节流速w2(t)来保持产品浓度。为了简化演示过程,不妨设w1(t)=0.1。在本例中不考虑液面高度h(t)。 第1

12、9页/共59页212)建立模型 在 MATLAB神经网络工具箱中提供了这个演示实例。只需在MATLAB命令窗口中输入命令:predcstr。就会自动地调用Simulink,并且产生如图3-15所示的模型窗口。 图3-15 模型窗口 第20页/共59页22 其中神经网络预测控制模块(NN Predctive Controller)和X(2Y) Graph模块由神经网络模块集(Neurai Network Blockset)中的控制系统模块库(Control Systems)复制而来。 图3-20中的Plant(Continuous Stirred Tank Reactor)模块包含了搅拌器系统的

13、Simulink模型。双击这个模块,可以得到具体的Simulink实现,此处将不加以深入讨论。 NN Predictive Controller模块的Control Signal端连接到搅拌器系统模型的输入端,同时搅拌器系统模型的输出端连接到NN Predictive Controller模块的Plant Output端,参考信号连接到NN Predictive Controller模块的Reference端。 第21页/共59页23 双击NN Predctive Controller模块,将会产生一个神经网络预测控制器参数设置窗口(Neural Network Predctive Contr

14、ol),如图3-16所示。这个窗口用于设计模型预测控制器。 图3-16 神经网络模型预测控制器参数设置窗口第22页/共59页24 在这个窗口中,有多项参数可以调整,用于改变预测控制算法中的有关参数。将鼠标移到相应的位置,就会出现对这一参数的说明。第23页/共59页25 3)系统辨识 在神经网络预测控制器的窗口中单击Plant Identification按钮,将产生一个模型辨识参数设置窗口(Plant Identification),用于设置系统辨识的参数,如图3-17所示。 图3-17 模型辨识参数设置窗口 第24页/共59页264)系统仿真 在Simulink模型窗口图3-15中,首先选择

15、【Simulation】菜单中的【parameter】命令设置相应的仿真参数,然后从【Simulation】菜单中单击【Start】命令开始仿真。仿真的过程需要一端时间。当仿真结束时,将会显示出系统的输出和参考信号。如图3-21。 图3-21 输出和参考信号 第25页/共59页275)数据保存 在图3-17中,利用Import Data和Export Data命令,可以将设计好的网络和训练数据保存到工作空间中或是保存到磁盘文件中。 神经网络预测控制是使用神经网络系统模型来预测系统未来的行为。优化算法用于确定控制输入,这个控制输入优化了系统在一个有限时间段里的性能。系统训练仅仅需要对于静态网络的

16、成批训练算法,当然,训练速度非常快。控制器不要在线的优化算法,这就需要比其他控制器更多的计算。 第26页/共59页283.2.2 反馈线性化控制 1. 反馈线性化控制理论 反馈线性化(NARMA-L2)的中心思想是通过去掉非线性,将一个非线性系统变换成线性系统。 第27页/共59页291)辨识NARMAL2模型 与模型预测控制一样,反馈线性化控制的第一步就是辨识被控制的系统。通过训练一个神经网络来表示系统的前向动态机制,在第一步中首先选择一个模型结构以供使用。一个用来代表一般的离散非线性系统的标准模型是:非线性自回归移动平均模型(NARMA),用下式来表示:式中,u(k)表示系统的输入,y(k

17、)表示系统的输出。在辨识阶段,训练神经网络使其近似等于非线性函数N。 )1(,),1(),(),1(,),1(),()(nkukukunkykykyNdky第28页/共59页30 如果希望系统输出跟踪一些参考曲线y(k+d)=yr(k+d),下一步就是建立一个有如下形式的非线性控制器: 使用该类控制器的问题是,如果想训练一个神经网络用来产生函数G(最小化均方差),必须使用动态反馈,且该过程相当慢。由 Narendra和Mukhopadhyay提出的一个解决办法是,使用近似模型来代表系统。 )1(,),1(),(),1(,),1(),()(nkukudkynkykykyGkur第29页/共59页

18、31 在这里使用的控制器模型是基于NARMA-L2 近似模型 该模型是并联形式,控制器输入u(k)没有包含在非线性系统里。这种形式的优点是,能解决控制器输入使系统输出踉踪参考曲线y(k+d)=yr(k+d)。 最终的控制器形式如下:)()1(,),1(),1(,),1(),()1(,),1(),1(,),1(),()( kunkukunkykykygnkukunkykykyfdky)1(,),1(),(),1(,),1(),()1(,),1(),(),1(,),1(),()()(nkukukunkykykygnkukukunkykykyfdkykur第30页/共59页32 直接使用该等式会引起

19、实现问题,因为基于输出y(k)的同时必须同时得到u(k),所以采用下述模型:式中 d2。 2)NARMA-L2控制器 利用NARMA-L2模型,可得到如下的控制器:式中 d2。 )1(,),1(),(),1(,),1(),()1(,),1(),(),1(,),1(),()() 1(nkukukunkykykygnkukukunkykykyfdkyku) 1()1(,),(),1(,),1(),()1(,),(),1(,),1(),()(kunkukunkykykygnkukunkykykyfdky第31页/共59页332. NARMA-L2(反馈线性化)控制实例分析磁悬浮控制系统 l)问题的描

20、述 如图1-22所示,有一块磁铁,被约束在垂直方向上运动。在其下方有一块电磁铁,通电以后,电磁铁就会对其上的磁铁产生小电磁力作用。目标就是通过控制电磁铁,使得其上的磁铁保持悬浮在空中,不会掉下来。 图1-22悬浮磁铁控制系统第32页/共59页34建立这个实际问题的的动力学方程为:式中y(t)表示磁铁离电磁铁的距离,i(t)代表电磁铁中的电流,M代表磁铁的质量,g代表重力加速度,代表粘性摩擦系数,它由磁铁所在的容器的材料决定;代表场强常数,它由电磁铁上所绕的线圈圈数,以及磁铁的强度所决定。 ttyMtMytigttyd)(d)()(d)(d222第33页/共59页352)建立模型 MATLAB的

21、神经网络工具箱中提供了这个演示实例。只需在MATLAB命令窗口中输入:narmamaglev,就会自动地调用Simulink,并且产生如图3-23所示模型窗口。图3-23 模型窗口 第34页/共59页363)系统辨识 双击NARMA-L2 Controller模块,将会产生一个新的窗口,如图3-24所示。图3-24 系统辨识参数设置窗口 第35页/共59页37 4)系统仿真 在Simulink模型窗口图3-23中,首先选择【Simulation】菜单中的【parameter】命令设置相应的仿真参数,然后从【Simulation】菜单中单击【Start】命令开始仿真。仿真的过程需要一端时间。当仿

22、真结束时,将会显示出系统的输出和参考信号。如图3-25。 051015202530-1012345X AxisY AxisX Y Plot图3-25 输出和参考信号 第36页/共59页383.2.3 模型参考控制 1. 模型参考控制理论 神经模型参考控制采用两个神经网络:一个控制器网络和一个实验模型网络,如图3-26中所示。首先辨识出实验模型,然后训练控制器,使得实验输出跟随参考模型输出。 图3-26 神经模型参考控制系统第37页/共59页392. 模型参考神经网络控制实例分析机械臂控制系统 图3-27显示了神经网络实验模型的详细情况,每个网络由两层组成,并且可以选择隐含层的神经元数目。 图3

23、-27 神经网络实验模型 第38页/共59页40 有三组控制器输入:延迟的参考输入、延迟的控制输出和延迟的系统输出。对于每一个这种输入,可以选择延迟值。通常,随着系统阶次的增加,延迟的数目也增加。对于神经网络系统模型,有两组输入:延迟的控制器输出和延迟的系统输出。 下而结合MATLAB神经网络工具箱中提供的一个实例,来介绍神经网络控制器的训练过程。 第39页/共59页411) 问题的描述 图3-28中显示了一个简单的单连接机械臂,目的是控制它的运动。 首先,建立它的运动方程式,如下所示:式中 代表机械臂的角度,u代表 DC(直流)电机的转矩。目标是训练控制器,使得机械臂能够跟踪参考模型:式中

24、yr代表参考模型的输出,r代表参考信号。 udtddtd2sin1022rdtdyydtydrrr96922图3-28 简单的单连接机械臂 第40页/共59页422) 模型的建立 MATLAB的神经网络工具箱中提供了这个演示实例。控制器的输入包含了两个延迟参考输入、两个延迟系统输出和一个延迟控制器输出,采样间隔为0.05秒。第41页/共59页43 只需在MATLAT命令行窗口中输入:mrefrobotarm,就会自动地调用Simulink,并且产生如图3-29所示的模型窗口。 图3-29 模型窗口 第42页/共59页443) 系统辨识 神经网络模型参考控制体系结构使用两个神经网络:一个控制器神

25、经网络和一个系统模型神经网络。首先,对系统模型神经网络进行辨识,然后,对控制器神经网络进行辨识(训练),使得系统输出跟踪参考模型的输出。 第43页/共59页45(1)对系统模型神经网络进行辨识 双击模型参考控制模块,将会产生一个模型参考控制参数(Mode Reference Control)设置窗口,如图3-31所示。这个窗口用于训练模型参考神经网络。窗口中各参数的设置说明参前解释。 图3-31 模型参考控制参数设置窗口第44页/共59页46 在图3-31所示的模型参考控制窗口中单击【Plant Identification】按钮,将会弹出一个如图3-37所示的系统辨识窗口。系统辨识过程的操作

26、同前,当系统辨识结束后,单击图3-32【OK】按钮,返回到模型参考控制窗口图3-31 。 图3-32 系统辨识参数设置窗口 第45页/共59页47(2)对控制器神经网络进行辨识(训练) 当系统模型神经网络辨识完成后,首先在图3-36所示的模型参考控制窗口中单击【Generate Training Data】按钮,程序就会提供一系列随机阶跃信号,来对控制器产生训练数据。当接受这些数据后,就可以利用图3-31中的【Train Controller】按钮对控制器进行训练。控制器训练需要的时间比系统模型训练需要的时间多得多。这是因为控制器必须使用动态反馈算法。 第46页/共59页48 训练过程误差曲线

27、如图3-33所示。训练结束后,返回到模型参考控制器窗口图3-31中,如果控制器的性能不准确,那么,可以再次单击【Train Controller】按钮,这样就会继续使用同样的数据对控制器进行训练。 图3-33 训练过程误差曲线第47页/共59页49 如果需要使用新的数据继续训练,可以在单击【Train Controller】按钮之前再次单击【Generate Training Data】按钮或者【Import Data】按钮(注意,要确认 Use Current Weights被选中)。另外,如果系统模型不够准确,也会影响控制器的训练。 在模型参考控制窗口中单击【OK】按钮,将训练好的神经网络

28、控制器权值导入Simulink模型窗口的,并返回到Simulink模型窗口。 第48页/共59页504)系统仿真 在Simulink模型窗口图3-34中,首先选择【Simulation】菜单中的【parameter】命令设置相应的仿真参数,然后从【Simulation】菜单中单击【Start】命令开始仿真。仿真的过程需要一端时间。当仿真结束时,将会显示出系统的输出和参考信号。如图3-34所示。 图3-34 系统的输出和参考信号 第49页/共59页51 小 结 本章首先介绍了基于Simulink的神经网络系统模块的使用方法和神经网络的Simulink模块的生成方法;最后介绍了基于Simulink的神经网络模型预测控制系统、反馈线性化控制系统和模型参考控制系统等三种典型神经网络控制系统。第50页/共59页523.1 基于Simulink的神经网络模块 神经网络工具箱中提供了一套可在Simulink中用来建立神经网络的模块,对于在MATLAB工作空间中建立的网络,也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论