智能控制理论概论结课作业_第1页
智能控制理论概论结课作业_第2页
智能控制理论概论结课作业_第3页
智能控制理论概论结课作业_第4页
智能控制理论概论结课作业_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

智能控制理论概论结课作业题目:基于MATLAB的倒立摆模糊控制学生姓名:蒙龙华学号:1067112303专业:测控技术与仪器班级:测控3班2013年12月30日摘要倒立摆的控制问题就是使摆杆尽快地到达一个平衡位置,并且使之没有大的振荡和过大的角度和速度。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。本文主要针对较为简单的单级倒立摆控制系统而进行的设计分析。通过建立微分方程模型,求出相关参数,设计出对应的模糊控制器,并运用MATLAB软件进行系统模型的软件仿真,从而到达预定控制效果。目前,一级倒立摆的研究成果应用于火箭发射推进器和控制卫星的飞行状态等航空航天领域。关键词:单级倒立摆;微分方程;模糊控制;MATLAB仿真1概述1.1模糊控制器简介模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学根底的新型计算机控制方法。显然,模糊控制的根底是模糊数学,模糊控制的实现手段是计算机。模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB那么系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。1.2模糊控制的特点模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。模糊控制的任务正是要用计算机来模拟这种人的思维和决策方式,对这些复杂的生产过程进行控制和操作。所以,模糊控制有以下特点:1〕模糊控制的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定的、定量的条件语句。2〕不需要根据机理与分析建立被控对象的数学模型,对于某些系统,要建立数学模型是很困难的,甚至是不可能的。3〕与传统的控制方法相比,模糊控制系统依赖于行为规那么库,由于是用自然语言表达的规那么,更接近于人的思维方法和推理习惯。因此,便于现场操作人员的理解和使用,便于人机对话,以得到更有效的控制规律。4〕模糊控制与计算机密切相关。从控制角度看,它实际上是一个有很多条语句组成的软件控制器。目前,模糊控制还是应用二值逻辑的计算机来实现。模糊规律经过运算,最后还是进行确定性的控制。模糊推理硬件的研制与模糊计算机的开发,使得计算机将像人脑那样工作。1.3模糊控制的工作原理模糊自动控制就是通过计算机来模拟人们用自然语言来描述的控制过程,从而实现对工业生产的自动控制。在模拟自动控制的过程中,由于计算机智能化还不高,无法自己思维,所以我们须将整个控制过程抽象为计算机能识别的语句、规那么等信息,让其按规那么作出判断进行控制,其原理如图1.1所示。因此,整个计算机控制过程可以按如下步骤进行:根据实际情况进行采样将采样信息转化为计算机能识别的信息输入计算机。根据事先计算机内规定好的判断规那么进行判断,并进行相应调整,得出调整决策。调整完毕后将判断的结果输出给被控对象,实现工业控制过程。图1.1模糊控制原理简图1.4模糊控制器的结构模糊控制器主要有四大部件,如图1.2所示:1〕规那么库:由if-then语句构成,是控制思想经验的总结。2〕推理器:由于当前的输入,运用规那么库进行推理,求取相应的对策。3〕模糊化:因模糊推理是在语言值〔模糊集合〕集上进行的,因此输入也应是语言值〔如NB,NM,NS,Z,PS,PM,PB〕。而实际被控制对象的测量值是实数值。因此,需要把实数值变成语言值,这个过程就是模糊化。4〕模糊判决:推理机的推理结果是一个语言值,而执行器需要的是一个具体的数值,这就需要把语言值变成确定值,这个转换过程就称为模糊判决。图1图1.2模糊控制器构成图1.5倒立摆控制问题倒立摆控制问题是展示智能控制方法由于传统控制方法的典型范例。一级倒立摆的背景源于火箭发射助推器;二级倒立摆于双足机器人控制有关。这里只讨论一级倒立摆的控制问题。有一个倒立摆控制系统如图1.3所示。图1.3倒立摆控制系统它由小车和倒立摆构成,小车在控制器的作用下,沿滑轨在水平方向运动,使倒立摆在垂直平面内稳定。倒立摆的控制问题就是使摆杆尽快地到达一个平衡位置,并且使之没有大的振荡和过大的角度和速度。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。倒立摆系统的输入为小车的位移〔即位置〕和摆杆的倾斜角度期望值,计算机在每一个采样周期中采集来自传感器的小车与摆杆的实际位置信号,与期望值进行比拟后,通过控制算法得到控制量,再经数模转换驱动直流电机实现倒立摆的实时控制。直流电机通过皮带带动小车在固定的轨道上运动,摆杆的一端安装在小车上,能以此点为轴心使摆杆能在垂直的平面上自由地摆动。作用力平行于铁轨的方向作用于小车,使杆绕小车上的轴在竖直平面内旋转,小车沿着水平铁轨运动。当没有作用力时,摆杆处于垂直的稳定的平衡位置〔竖直向下〕。为了使杆子摆动或者到达竖直向上的稳定,需要给小车一个控制力,使其在轨道上被往前或朝后拉动。2建立控制模型首先假设:=1\*GB3①摆杆为刚体;=2\*GB3②忽略摆杆与支点之间的摩擦;=3\*GB3③忽略小车与导轨之间的摩擦。一级倒立摆系统可抽象成小车与匀质杆组成的系统,假设:M为小车的质量;m为摆杆质量;为摆杆转动轴心到杆质心的长度;I为摆杆惯量;U为加在小车上的力;为小车位置;θ为摆杆与垂直向上方向的夹角。应用Newton第二定律的方法可得到系统方向的运动方程为规定逆时针方向的力矩为正,以摆与小车的连接点为原点,列出摆的力矩方程:考虑到摆的惯性力矩,求得系统的运动方程为〔未考虑摆旋转的摩擦阻力矩〕由式〔2-1〕和式〔2-2〕可得3设计模糊控制器3.1确定输入输出变量以摆角θ、摆角角速度、小车位移、速度为状态变量。将这些状态变量作为控制器输入量,以作用在小车的力F作为模糊控制器输出量。所以分别在四个输入变量的空间建立相应的隶属度函数。图3.1四输入变量单级倒立摆以下分别在MATLAB的仿真图中来说明情况。确定摆角θ的论域[-0.3,0.3],将其划分为两个语言变量“大”和“小”,隶属度函数如图3.2;摆角角速度的论域[-1,1],划分两个语言变量为“快”和“慢”;隶属度函数如图3.3;小车位移的论域[-3,3],划分两个语言变量为“远”和“近”;隶属度函数如图3.4;速度的论域[-3,3],划分两个语言变量为“快”和“慢”;隶属度函数如图3.5;输出变量的论域为[-10,10],如图3.6。图3.2摆角θ的隶属度函数图3.3摆角角速度的隶属度函数图3.4位移的隶属度函数图3.5速度的隶属度函数图3.6输出变量3.2设计模糊规那么库这里选取T-S的控制器,控制器根据这4个输入变量,综合得出作用于小车的控制信号。然后,列出每种输入所对应的输出量的模糊规那么,共计设置了16条规那么:1.If(in1isin1mf1)and(in2isin2mf1)and(in3isin3mf1)and(in4isin4mf1)then(outismf1)(1)2.If(in1isin1mf1)and(in2isin2mf1)and(in3isin3mf1)and(in4isin4mf2)then(outismf2)(1)3.If(in1isin1mf1)and(in2isin2mf1)and(in3isin3mf2)and(in4isin4mf1)then(outismf3)(1)4.If(in1isin1mf1)and(in2isin2mf1)and(in3isin3mf2)and(in4isin4mf2)then(outismf4)(1)5.If(in1isin1mf1)and(in2isin2mf2)and(in3isin3mf1)and(in4isin4mf1)then(outismf5)(1)6.If(in1isin1mf1)and(in2isin2mf2)and(in3isin3mf1)and(in4isin4mf2)then(outismf6)(1)7.If(in1isin1mf1)and(in2isin2mf2)and(in3isin3mf2)and(in4isin4mf1)then(outismf7)(1)8.If(in1isin1mf1)and(in2isin2mf2)and(in3isin3mf2)and(in4isin4mf2)then(outismf8)(1)9.If(in1isin1mf2)and(in2isin2mf1)and(in3isin3mf1)and(in4isin4mf1)then(outismf9)(1)10.If(in1isin1mf2)and(in2isin2mf1)and(in3isin3mf1)and(in4isin4mf2)then(outismf10)(1)11.If(in1isin1mf2)and(in2isin2mf1)and(in3isin3mf2)and(in4isin4mf1)then(outismf11)(1)12.If(in1isin1mf2)and(in2isin2mf1)and(in3isin3mf2)and(in4isin4mf2)then(outismf12)(1)13.If(in1isin1mf2)and(in2isin2mf2)and(in3isin3mf1)and(in4isin4mf1)then(outismf13)(1)14.If(in1isin1mf2)and(in2isin2mf2)and(in3isin3mf1)and(in4isin4mf2)then(outismf14)(1)15.If(in1isin1mf2)and(in2isin2mf2)and(in3isin3mf2)and(in4isin4mf1)then(outismf15)(1)16.If(in1isin1mf2)and(in2isin2mf2)and(in3isin3mf2)and(in4isin4mf2)then(outismf16)(1)其中,in1mf1和in1mf2表示角θ是“大”和“小”,in2mf1和in2mf2表示角速度是“快”和“慢”,in3mf1和in3mf2表示位移的“远”和“近”、in4mf1和in4mf2表示速度是“快”和“慢”。在多输入多输出的模糊逻辑系统中,常可能会有很多规那么,并且这些规那么的前提局部和结论局部也可以由许多语句组成。前面介绍的IF.THEN规那么只是最简单的形式,是最根本的模糊系统单元。对于复杂的模糊逻辑系统,如果满足“输出一输入解耦的,各输入间、输出间分别是独立的”,就可以用连接词“and”、“or”和“also”连接的一系列简单的模糊规那么组成的模糊规那么库来表示。其中,“and”和“or”用来连接同一规那么的多个输入或多个输出,“also”用来连接多条不同的模糊规那么。模糊推理的规那么通常来源于专家的知识,对于多输入多输出系统,其规那么库可以看成由n个子规那么库所组成,每一个子规那么库由n个多输入单输出规那么所组成,而且每个子规那么库是相互独立的,因此通常只要考虑一个多输入单输出规那么库的模糊推理问题,分别求出每一个单输出,组合起来就是最终结果。然后将上述实施规那么录入到MATLAB仿真结构中,具体如下列图3.7所示。图3.7模糊规那么录入结束后要对所指定的输入输出规那么进行保存,以便在具体的仿真过程中实现调用,保存的文件扩展名为单级倒立摆Caymi.fis。图3.8模糊推理规那么通过view直观显示图此外,在建立起具体的模糊推理规那么以后,可以通过view功能来得到规那么的直观显示,这些图形可以帮助更好的理解建立的模糊推理规那么。如图3.8所示。设置完后保存为单级倒立摆Caymi.fis文件。对应的源代码如下:[System]Name='单级倒立摆Caymi'Type='sugeno'Version=2.0NumInputs=4NumOutputs=1NumRules=16AndMethod='prod'OrMethod='probor'ImpMethod='prod'AggMethod='sum'DefuzzMethod='wtaver'[Input1]Name='in1'Range=[-0.30.3]NumMFs=2MF1='in1mf1':'gbellmf',[0.32.5-0.3]MF2='in1mf2':'gbellmf',[0.32.50.3][Input2]Name='in2'Range=[-11]NumMFs=2MF1='in2mf1':'gbellmf',[12.5-1]MF2='in2mf2':'gbellmf',[12.51][Input3]Name='in3'Range=[-33]NumMFs=2MF1='in3mf1':'gbellmf',[32.5-3]MF2='in3mf2':'gbellmf',[32.53][Input4]Name='in4'Range=[-33]NumMFs=2MF1='in4mf1':'gbellmf',[32.5-3]MF2='in4mf2':'gbellmf',[32.53][Output1]Name='out'Range=[01]NumMFs=16MF1='mf1':'constant',[0]MF2='mf2':'constant',[0.125]MF3='mf3':'constant',[0.25]MF4='mf4':'constant',[0.375]MF5='mf5':'constant',[0.5]MF6='mf6':'constant',[0.625]MF7='mf7':'constant',[0.75]MF8='mf8':'constant',[0.875]MF9='mf9':'constant',[1]MF10='mf10':'constant',[0]MF12='mf12':'constant',[0.333333333333333]MF13='mf13':'constant',[0.5]MF14='mf14':'constant',[0.666666666666667]MF15='mf15':'constant',[0.833333333333333]MF16='mf16':'constant',[1][Rules]1111,1(1):11112,2(1):11121,3(1):11122,4(1):11211,5(1):11212,6(1):11221,7(1):11222,8(1):12111,9(1):12112,10(1):12121,11(1):12122,12(1):12211,13(1):12212,14(1):12221,15(1):12222,16(1):1根据控制器和倒立摆模型的分析,通过MATLAB可以得到单级倒立摆控制系统的结构如下图。图3.9单级倒立摆控制系统的结构4根据控制模型,分析动稳态特性根据控制器和倒立摆模型得出图3.9所示的单级倒立摆控制系统的结构后,设置不同的隶属度函数,分别对上述过程进行仿真,得到不同情况下的线速度和角位移的变化情况,说明选取不同的隶属度函数曲线在控制效果上有着明显的差异,其中系统默认的隶属度函数是较好的控制方法。

温馨提示

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

评论

0/150

提交评论