【《倒立摆的模糊控制器的MATLAB仿真分析案例》2800字】_第1页
【《倒立摆的模糊控制器的MATLAB仿真分析案例》2800字】_第2页
【《倒立摆的模糊控制器的MATLAB仿真分析案例》2800字】_第3页
【《倒立摆的模糊控制器的MATLAB仿真分析案例》2800字】_第4页
【《倒立摆的模糊控制器的MATLAB仿真分析案例》2800字】_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第页,共45页倒立摆的模糊控制器的MATLAB仿真分析案例目录TOC\o"1-3"\h\u5532倒立摆的模糊控制器的MATLAB仿真分析案例 1186891.1SIMULINK模糊逻辑工具箱 1242331.2单极倒立摆模糊系统仿真 161081.2.1单极倒立摆系统模块建立 183671.2.2模糊控制器的设计 2164191.4倒立摆系统仿真 9282741.1.1倒立摆系统的仿真图 9200161.1.2仿真结果 101.1SIMULINK模糊逻辑工具箱模糊逻辑工具箱包括各种模糊分析和模糊系统设计方法。工具箱提供了生成和编辑模糊推理系统(FIS)的常用工具功能,如news、addmf、addrule等,它包含了生成新的FIS、给FIS加入隶属度函数、规则等功能,用户可以用命令调用这些函数生成新的FIS。工具箱还提供了图形用户界面(GUI)编辑函数,利用它用户可以非常直观并且快速地生成FIS。在MATLAB环境中键入fuzzy,敲回车键,屏幕上就会出现一个基本的FIS编辑器,用户可以在窗口菜单中修改它的各种特性,如修改输入/输出的变量数、编程隶属度函数、编程模糊的规则等等,从而生成新的FIS。1.2单极倒立摆模糊系统仿真1.2.1单极倒立摆系统模块建立由第1章中建立的数学模型我们可以很清楚的了解倒立摆系统的状态方程为: 图4-1倒立摆系统仿真模块图图4-1为倒立摆的SIMULINK仿真模块。图4-2状态方程仿真内部数据图4-2为状态方程的内部数据,值得注意的是状态方程为一个输入四个输出的方程,所以C矩阵输入的时候应该注意是4×4的矩阵。1.2.2模糊控制器的设计本课题的主要目的就是要让倒立摆能够保持在竖直的位置,小车稳定在平衡位置附近,这样,就得控制4个量,为了避免复杂,将采取2个模糊控制器并将它们串联控制。一个是位置控制,以小车位置和速度为输入,另一个是角度控制器,以角度作为输入,位置控制器输出的同时也将作为角度控制器的输入来运行,从而达到将2个控制器进行耦合的目的。(1)输入输出量的模糊分割对于时间问题输入的模块化是建立模糊推理的第一步,也就是挑选系统的输入的变量并根据它响应的隶属度函数来明确输入分别归属于与之相匹配的模糊集合。在MATLAB模糊逻辑的工具箱里我们发现,模糊化过程的输入必须是一个确定的数值,这也对输入变量的广泛性起到了一些限制作用,而输出则是一个特定的模糊集合上的隶属程度。输入的模糊化相当于一个对应的查表或是函数计算。当输入已经被模糊化后,就可以知道这些输入满足相应的模糊推理规则的程度。但是如果给定的模糊规则的条件部分不是单一输入,而是多输入,就需要运用模糊合成运算对这些多输入进行综合考虑和分析。经过模糊合成运算,这多个输入可以得到一个数值来表示对该多条件输入规则的综合满足程度,继而被用于输出函数中。模糊综合运算的输入对象是两个或多个模糊输入变量的隶属度值,输入是唯一的、确定的值。此外,任何完善合理的模糊综合方法都可以通过and或or实现。位置模糊控制器是以小车位移误差和小车速度误差作为模糊控制器输入的二维模糊控制器。输入-输出Simulink图如图4-3所示。在MATLAB的编辑界面中输入fuzzy,会出现fuzzy控制器的编辑图,然后设置一个两输入一输出的控制器。我们确定两个输入和一个输出控制量,并在编辑器中进行设置。图4-3模糊控制器输入-输出简图(2)输入输出量的模糊化位移误差,速度误差,控制输出均使用三角形隶属度函数,模糊化曲线如图4-4,4-5,4-6所示。图4-4模糊控制器位移误差隶属函数图4-5模糊控制器速度误差隶属函数图4-6模糊控制器输出隶属函数小车位置的模糊控制器采用二维控制器,小车的位移e和速度误差为输入,u为输出。把位移偏差e和速度偏差以及输出的论域进行7级分割。位移偏差和速度误差以及输出均采用三角形隶属函数。输出量的模糊运算采用中心法。模糊规则的制定定义输入、输出模糊集。对误差e、误差变化ec及控制量Kp、Ki、Kd的模糊集及其论域定义如下:  NB和PB采用zmf和smf隶属函数,其它均采用trimf隶属函数。e、ec、Kp、Ki和Kd的模糊集均为:{NB,NM,NS,ZO,PS,PM,PB}  e的论域为:{-2,-1.5,-1,-0.5,0,0.5,1,1.5,2}  ec的论域为:{-0.5,-0.4,-0.3,-0.2,-0.1,0,0.1,0.2,0.3,0.4,-0.5}  Kp的论域为:{-0.5,-0.4,-0.3,-0.2,-0.1,0,0.1,0.2,0.3,0.4,-0.5}  Ki的论域为:{-0.1,-0.08,-0.06,-0.04,-0.02,0,0.02,0.04,0.06,0.08,0.1}  Kd的论域为:{-2,-1.5,-1,-0.5,0,0.5,1,1.5,2}  将第一步中的输入变量和输出变量分别模糊化,形成模糊化集;确定变量的范围。在确定误差e、误差变化ec和控制量Kp、Ki和Kd的模糊集和宇宙后,需要确定模糊变量的隶属函数,即为模糊变量赋值,并确定宇宙中元素对模糊变量的隶属度。根据系统输出误差和误差的变化趋势,设计了消除系统误差的模糊控制规则。所以我们要制定迷糊规则,表4-1为模糊控制规则,一共是49条规则。模糊规则的推理一般采取的方法是Mamdani的max-min合成算法如下图。图4-7模糊控制器的规则编辑界面uueNBNMNSZOPSPMPBNBNBNBNBNMNMNSNSNMNBNBNMNMNSNSZONSNMNMNSNSZOPSPSZONMNSNSZOPSPSPMPSNSNSZOPSPSPMPMPMZOZOPSPSPMPMPBPBPSPSPMPMPBPBPB表4-1小车位置模糊控制器的控制规则假设位移误差的实际范围为[-0.60.6],则=6÷0.6=10,速度误差实际范围为[-1,1],则=6,本文只讨论平衡点附近的倒立摆的稳定,设输出量(虚拟角)实际范围为[-0.180.18],则=0.18÷6=0.03。在SIMULINK下搭建如图4-8所以的位置模糊控制器。图4-8位置模糊控制器仿真图(3)角度模糊控制器角度模糊控制器作为二维的控制器,把摆角偏差e和角速度误差作为输入,u作为输出,和位置模糊控制器一样,均采用三角形隶属函数。角度控制器采用Mamdani的max-min合成算法进行推理,使用重心法对输出进行解模糊运算,输出量即是施加在小车上的推力。把摆角偏差和角速度误差以及输出做7级分割,表示为{NBNMNSZOPSPMPB}。角度模糊控制的e、、u的设置和位置控制的一样,不同的是控制规则,角度模糊控制器的规则如表4-2.uueNBNMNSZOPSPMPBNBNBNBNBNBNMZOZONMNBNBNBNMNMZOZONSNMNMNMNSZOPSPSZONMNMNSZOPSPMPMPSNSNSZOPSPMPMPMPMZOZOPMPMPBPBPBPBZOZOPMPMPBPBPB表4-2角度模糊控制规则图4-9,4-10,4-11分别角度控制器的摆角误差,角速度误差和输出的仿真图。图4-9摆角误差隶属函数图4-10角速度误差隶属函数图4-11输出隶属函数假设摆角误差的实际范围为[-0.30.3],则=20,角速度误差实际范围为[-1.21.2],则=5,设输出量u实际范围为[-6060],则=10。如图4-12为角度模糊控制器的SIMULINK仿真结构图:图4-12角度控制器仿真图1.4倒立摆系统仿真1.1.1倒立摆系统的仿真图如图为倒立摆系统模糊控制的SIMULINK仿真图:图4-13倒立摆系统仿真图在MATLAB中使用readfis命令将编辑好的控制器和SIMULINK仿真图里的速度控制器和位置控制器相连接起来。1.1.2仿真结果小车位置示波器图如图4-14图4-14位置仿真曲线纵坐标为小车偏离平衡位置的距离,横坐标为时间。图4-15角度仿真曲线纵坐标为摆杆偏离平衡位置的角度,横坐标为时间。仿真过程中对该模型参数进行多次的寻优,得到如下仿真结果:仿真的初始条件:r=0,

温馨提示

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

评论

0/150

提交评论