基于Simulink的神经网络ppt课件.ppt_第1页
基于Simulink的神经网络ppt课件.ppt_第2页
基于Simulink的神经网络ppt课件.ppt_第3页
基于Simulink的神经网络ppt课件.ppt_第4页
基于Simulink的神经网络ppt课件.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第3章基于Simulink的神经网络控制系统3 1基于Simulink的神经网络模块3 2基于Simulink的三种典型神经网络控制系统 1 3 1基于Simulink的神经网络模块神经网络工具箱中提供了一套可在Simulink中用来建立神经网络的模块 对于在MATLAB工作空间中建立的网络 也能够使用函数gensim 生成一个相应的Simulink网络模块 2 3 1 1模块的设置在Simulink库浏览窗口的NeuralNetworkBlockset节点上 通过单击鼠标右键后 便可打开如图3 1所示的NeuralNetworkBlockset模块集窗口 图3 1NeuralNetworkBlockset模块集在NeuralNetworkBlockset模块集中包含了四个模块库 用鼠标的左键双击各个模块库的图标 便可打开相应的模块库 3 1 传输函数模块库 TransferFunctions 用鼠标的左键双击TransferFunctions模块库的图标 便可打开如图3 2所示的传输函数模块库窗口 传输函数模块库中的任意一个模块都能够接受一个网络输入向量 并且相应地产生一个输出向量 这个输出向量的组数和输入向量相同 图3 2传输函数模块库窗口 4 2 网络输入模块库 NetInputFunctions 用鼠标的左键双击NetInputFunctions模块库的图标 便可打开如图3 3所示的网络输入模块库窗口 网络输入模块库中的每一个模块都能够接受任意数目的加权输入向量 加权的层输出向量 以及偏值向量 并且返回一个网络输入向量 图3 3网络输入模块库窗口 5 3 权值模块库 WeightFunctions 用鼠标的左键双击WeightFunctions模块库的图标 便可打开如图3 4所示的权值模块库窗口 权值模块库中的每个模块都以一个神经元权值向量作为输入 并将其与一个输入向量 或者是某一层的输出向量 进行运算 得到神经元的加权输入值 图3 4权值模块库窗口上面的这些模块需要的权值向量必须定义为列向量 这是因为Simulink中的信号可以为列向量 但是不能为矩阵或者行向量 6 4 控制系统模块库 ControlSystems 用鼠标的左键双击ControlSystems模块库的图标 便可打开如图3 5所示的控制系统模块库窗口 图3 5控制系统模块库窗口神经网络的控制系统模块库中包含三个控制器和一个示波器 关于它们的使用方法将在下一节专门介绍 7 3 1 2模块的生成在MATLAB工作空间中 利用函数gensim 能够对一个神经网络生成其模块化描述 从而可在Simulink中对其进行仿真 gensim 函数的调用格式为 gensim net st 其中第一个参数指定了MATLAB工作空间中需要生成模块化描述的网络 第二个参数指定了采样时间 它通常情况下为一正数 如果网络没有与输入权值或者层中权值相关的延迟 则指定第二个参数为 1 那么函数gensim 将生成一个连续采样的网络 8 例3 1设计一个线性网络 并生成其模块化描述 定义网络的输入为 X 12345 相应的目标为 T 13579 解实现以上任务的MATLAB命令为 Ex3 1结果显示 y 13579可以看出 网络已经正确地解决了问题 gensim net 1 9 3 2基于Simulink的神经网络控制系统神经网络在系统辨识和动态系统控制中已经得到了非常成功的使用 由于神经网络具有全局逼近能力 使得其在对非线性系统建模和对一般情况下的非线性控制器的实现等方而应用的比较普遍 本节将介绍三种在神经网络工具箱的控制系统模块 ControlSystems 中利用Simulink实现的比较普遍的神经网络结构 它们常用于预测和控制 并已在MATLAB对应的神经网络工具箱中给出了实现 10 这三种神经网络结构分别是 神经网络模型预测控制 NNPredictiveController 反馈线性化控制 NARMA L2Controller 模型参考控制 ModelReferenceController 使用神经网络进行控制时 通常有两个步骤 系统辨识和控制设计 11 在系统辨识阶段 主要任务是对需要控制的系统建立神经网络模型 在控制设计阶段 主要使用神经网络模型来设计 训练 控制器 在本节将要介绍的三种控制网络结构中 系统辨识阶段是相同的 而控制设计阶段则各不相同 对于模型预测控制 系统模型用于预测系统未来的行为 并且找到最优的算法 用于选择控制输入 以优化未来的性能 对于NARMA L2 反馈线性化 控制 控制器仅仅是将系统模型进行重整 对于模型参考控制 控制器是一个神经网络 它被训练以用于控制系统 使得系统跟踪一个参考模型 这个神经网络系统模型在控制器训练中起辅助作用 12 3 2 1神经网络模型预测控制1 模型预测控制理论神经网络预测控制器是使用非线性神经网络模型来预测未来模型性能 控制器计算控制输入 而控制输入在未来一段指定的时间内将最优化模型性能 模型预测第一步是要建立神经网络模型 系统辨识 第二步 使用控制器来预测未来神经网络性能 13 1 系统辨识模型预测的第一步就是训练神经网络未来表示网络的动态机制 模型输出与神经网络输出之间的预测误差 用来作为神经网络的训练信号 该过程用图3 11来表示 图3 11训练神经网络 14 神经网络模型利用当前输入和当前输出预测神经未来输出值 神经网络模型结构如图3 12所示 该网络可以以批量再线训练 图3 12神经网络模型结构 15 2 模型预测模型预测方法是基于水平后退的方法 神经网络模型预测在指定时间内预测模型响应 预测使用数字最优化程序来确定控制信号 通过最优化如下的性能准则函数 式中N2为预测时域长度 Nu为控制时域长度 u t 为控制信号 yr为期望响应 ym为网络模型响应 为控制量加权系数 16 图3 13描述了模型预测控制的过程 控制器由神经网络模型和最优化方块组成 最优化方块确定u 通过最小化J 最优u值作为神经网络模型的输入 控制器方块可用Simulink实现 图3 13预测模型控制的过程 17 2 模型预测神经网络控制实例分析 搅拌器控制系统在MATLAB神经网络工具箱中实现的神经网络预测控制器使用了一个非线性系统模型 用于预测系统未来的性能 接下来这个控制器将计算控制输入 用于在某个未来的时间区间里优化系统的性能 进行模型预测控制首先要建立系统的模型 然后使用控制器来预测未来的性能 下面将结合MATLAB神经网络工具箱中提供的一个演示实例 介绍Simulink中的实现过程 18 1 问题的描述要讨论的问题基于一个搅拌器 CSTR 如图3 14所示 对于这个系统 其动力学模型为 图3 14搅拌器 19 其中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 20 2 建立模型在MATLAB神经网络工具箱中提供了这个演示实例 只需在MATLAB命令窗口中输入命令 predcstr 就会自动地调用Simulink 并且产生如图3 15所示的模型窗口 图3 15模型窗口 21 其中神经网络预测控制模块 NNPredctiveController 和X 2Y Graph模块由神经网络模块集 NeuraiNetworkBlockset 中的控制系统模块库 ControlSystems 复制而来 图3 20中的Plant ContinuousStirredTankReactor 模块包含了搅拌器系统的Simulink模型 双击这个模块 可以得到具体的Simulink实现 此处将不加以深入讨论 NNPredictiveController模块的ControlSignal端连接到搅拌器系统模型的输入端 同时搅拌器系统模型的输出端连接到NNPredictiveController模块的PlantOutput端 参考信号连接到NNPredictiveController模块的Reference端 22 双击NNPredctiveController模块 将会产生一个神经网络预测控制器参数设置窗口 NeuralNetworkPredctiveControl 如图3 16所示 这个窗口用于设计模型预测控制器 图3 16神经网络模型预测控制器参数设置窗口 23 在这个窗口中 有多项参数可以调整 用于改变预测控制算法中的有关参数 将鼠标移到相应的位置 就会出现对这一参数的说明 24 3 系统辨识在神经网络预测控制器的窗口中单击 PlantIdentification 按钮 将产生一个模型辨识参数设置窗口 PlantIdentification 用于设置系统辨识的参数 如图3 17所示 图3 17模型辨识参数设置窗口 25 4 系统仿真在Simulink模型窗口图3 15中 首先选择 Simulation 菜单中的 parameter 命令设置相应的仿真参数 然后从 Simulation 菜单中单击 Start 命令开始仿真 仿真的过程需要一端时间 当仿真结束时 将会显示出系统的输出和参考信号 如图3 21 图3 21输出和参考信号 26 5 数据保存在图3 17中 利用 ImportData 和 ExportData 命令 可以将设计好的网络和训练数据保存到工作空间中或是保存到磁盘文件中 神经网络预测控制是使用神经网络系统模型来预测系统未来的行为 优化算法用于确定控制输入 这个控制输入优化了系统在一个有限时间段里的性能 系统训练仅仅需要对于静态网络的成批训练算法 当然 训练速度非常快 控制器不要在线的优化算法 这就需要比其他控制器更多的计算 27 3 2 2反馈线性化控制1 反馈线性化控制理论反馈线性化 NARMA L2 的中心思想是通过去掉非线性 将一个非线性系统变换成线性系统 28 1 辨识NARMA L2模型与模型预测控制一样 反馈线性化控制的第一步就是辨识被控制的系统 通过训练一个神经网络来表示系统的前向动态机制 在第一步中首先选择一个模型结构以供使用 一个用来代表一般的离散非线性系统的标准模型是 非线性自回归移动平均模型 NARMA 用下式来表示 式中 u k 表示系统的输入 y k 表示系统的输出 在辨识阶段 训练神经网络使其近似等于非线性函数N 29 如果希望系统输出跟踪一些参考曲线y k d yr k d 下一步就是建立一个有如下形式的非线性控制器 使用该类控制器的问题是 如果想训练一个神经网络用来产生函数G 最小化均方差 必须使用动态反馈 且该过程相当慢 由Narendra和Mukhopadhyay提出的一个解决办法是 使用近似模型来代表系统 30 在这里使用的控制器模型是基于NARMA L2近似模型该模型是并联形式 控制器输入u k 没有包含在非线性系统里 这种形式的优点是 能解决控制器输入使系统输出踉踪参考曲线y k d yr k d 最终的控制器形式如下 31 直接使用该等式会引起实现问题 因为基于输出y k 的同时必须同时得到u k 所以采用下述模型 式中d 2 2 NARMA L2控制器利用NARMA L2模型 可得到如下的控制器 式中d 2 32 2 NARMA L2 反馈线性化 控制实例分析 磁悬浮控制系统l 问题的描述如图1 22所示 有一块磁铁 被约束在垂直方向上运动 在其下方有一块电磁铁 通电以后 电磁铁就会对其上的磁铁产生小电磁力作用 目标就是通过控制电磁铁 使得其上的磁铁保持悬浮在空中 不会掉下来 图1 22悬浮磁铁控制系统 33 建立这个实际问题的的动力学方程为 式中y t 表示磁铁离电磁铁的距离 i t 代表电磁铁中的电流 M代表磁铁的质量 g代表重力加速度 代表粘性摩擦系数 它由磁铁所在的容器的材料决定 代表场强常数 它由电磁铁上所绕的线圈圈数 以及磁铁的强度所决定 34 2 建立模型MATLAB的神经网络工具箱中提供了这个演示实例 只需在MATLAB命令窗口中输入 narmamaglev 就会自动地调用Simulink 并且产生如图3 23所示模型窗口 图3 23模型窗口 35 3 系统辨识双击NARMA L2Controller模块 将会产生一个新的窗口 如图3 24所示 图3 24系统辨识参数设置窗口 36 4 系统仿真在Simulink模型窗口图3 23中 首先选择 Simulation 菜单中的 parameter 命令设置相应的仿真参数 然后从 Simulation 菜单中单击 Start 命令开始仿真 仿真的过程需要一端时间 当仿真结束时 将会显示出系统的输出和参考信号 如图3 25 图3 25输出和参考信号 37 3 2 3模型参考控制1 模型参考控制理论神经模型参考控制采用两个神经网络 一个控制器网络和一个实验模型网络 如图3 26中所示 首先辨识出实验模型 然后训练控制器 使得实验输出跟随参考模型输出 图3 26神经模型参考控制系统 38 2 模型参考神经网络控制实例分析 机械臂控制系统图3 27显示了神经网络实验模型的详细情况 每个网络由两层组成 并且可以选择隐含层的神经元数目 图3 27神经网络实验模型 39 有三组控制器输入 延迟的参考输入 延迟的控制输出和延迟的系统输出 对于每一个这种输入 可以选择延迟值 通常 随着系统阶次的增加 延迟的数目也增加 对于神经网络系统模型 有两组输入 延迟的控制器输出和延迟的系统输出 下而结合MATLAB神经网络工具箱中提供的一个实例 来介绍神经网络控制器的训练过程 40 1 问题的描述图3 28中显示了一个简单的单连接机械臂 目的是控制它的运动 首先 建立它的运动方程式 如下所示 式中 代表机械臂的角度 u代表DC 直流 电机的转矩 目标是训练控制器 使得机械臂能够跟踪参考模型 式中yr代表参考模型的输出 r代表参考信号 图3 28简单的单连接机械臂 41 2 模型的建立MATLAB的神经网络工具箱中提供了这个演示实例 控制器的输入包含了两个延迟参考输入 两个延迟系统输出和一个延迟控制器输出 采样间隔为0 05秒 42 只需在MATLAT命令行窗口中输入 mrefrobotarm 就会自动地调用Simulink 并且产生如图3 29所示的模型窗口 图3 29模型窗口 43 3 系统辨识神经网络模型参考控制体系结构使用两个神经网络 一个控制器神经网络和一个系统模型神经网络 首先 对系统模型神经网络进行辨识 然后 对控制器神经网络进行辨识 训练 使得系统输出跟踪参考模型的输出 44 1 对系统模型神经网络进行辨识双击模型参考控制模块 将会产生一个模型参考控制参数 ModeReferenceControl 设置窗口 如图3 31所示 这个窗口用于训练模型参考神经网络 窗口中各参数的设置说明参前解释 图3 31模型参考控制参数设置窗口 45 在图3 31所示的模型参考控制窗口中单击 PlantIdentification 按钮 将会弹出一个如图3 37所示的系统辨识窗口 系统辨识过程的操作同前 当系统辨识结束后 单击图3 32 OK 按钮 返回到模型参考控制窗口图3 31 图3 32系统辨识参数设置窗口 46 2 对控制器神经网络进行辨识 训练 当系统模型神经网络辨识完成后 首先在图3 36所示的模型参考控制窗口中单击 GenerateTrainingData 按钮 程序就会提供一系列随机阶跃信号

温馨提示

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

评论

0/150

提交评论