matlab基于模糊控制的倒立摆系统的设计 第7页
图5-1 倒立摆模糊控制器结构框图
上图就是基于Simulink的倒立摆模糊控制原理图,此图中主要包括以下部分:给定的信号源,扰动源,倒立摆等效模型,逻辑模糊控制器,输出检测器,采样等。
5.1.1倒立摆系统等效模型
Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,可以构造出复杂的仿真模型,如一级倒立摆控制系统。在介绍倒立摆控制系统的仿真之前,需要先根据第二章给出的倒立摆线性方程,利用Simulink实现倒立摆系统模型,然后根据模糊控制倒立摆系统的方法实现倒立摆的系统仿真
由第二章倒立摆建模可知:设倒立摆系统的线性化状态方程:
其中:若令
若在把 代入上述公式则A、B简写成
则 可转换为如下形式: (5.1)
根据上式,在Matlab中,用Simulink构建一级倒立摆模块SingleInvPend,具体步骤如下:
1)双击Matlab7.0图标,启动Matlab7.0,在工具栏双击Simulink图标启动Simulink模块库浏览窗口,然后单击其工具栏的新建个mode,生成一个新的Simulink模型窗口。
2)从Simulink模块库浏览器的菜单Simulink的子菜单端口和子系统模块(Port & Subsystems)下选中子系统Subsystems,并用左键拖入到新建的Simulink模型窗口中。双击系统框图字符串”Subsystem”,删除后键入”Pendulum”,实现子系统重命名。结果如图5-2。
图5-2 Pendulum Module
3)双击图5-1中的pendulum Module,从Port & Subsystems下再拖出三个输出模块out,把一个输入模块和四个输出模块分别重新命名:u和x、x’、theta、theta’,分别代表系统的输入变量u和输出变量x、 。 (Matlab中不能使用公式编辑器和希腊字母)结果如图5-3。
图5-3 Pendulum Module原文请找腾讯752018766优-文^论,文.网
http://www.youerw.com4)双击Pendulum Module ,然后从Simulink下子菜单“(User-Defined Functions)中拖出Fcn子模块,单击Fcn子模块下的Fcn,删除Fcn重新命名为 ;再双击Fcn子模块并将对话框中的“Expression”中内容修改为: ,然后确认,定义好 。
5)重复上述步骤依次定义 。
6)在窗口中再加入四个积分模块和两个加法模块,双击积分模块,重新命名为“init-cond(1)、init-cond(2)、init-cond(3)、init-cond(4)” 。它们表示倒立摆初始条件。
7)按公式(5.1)运算关系,把所有模块,连接起来。如图5-4
8)最后利用Simulink的Mask功能进行封装,得到一级倒立摆系统模块。
图5-4子系统内部结构图
上文详细介绍了这个倒立摆系统等效模型建立的方式,这种做法的好处是,将整个子系统整合到一起,在使用时整个子系统只占用一个元件大小的位置,可以很好的节省空间。
双击等效模型图标,弹出一个如图5-5所示的对话框,设置其参数。了方便后面的仿真图形,现规定M=2kg,m=0.1kg,l=0.5m(后面的数据均以此为准)。
图5-5 倒立摆等效模型参数
5.1.2 逻辑模糊控制器
参照倒立摆等效系统模块的建立模式,建立起逻辑模糊控制器模块。在逻辑模糊控制器控制图标上双击左键后弹出图5-6所示对话框
图5-6 倒立摆逻辑模糊控制器参数
如图所示,我们将逻辑控制规则名称定义为AAA,更新速度是0.5秒。得到模糊规则图像图5-7。
图5-7 模糊推理编辑器
其中input经过mamdani推理方法得出模糊控制输出output。Input输入的是角度 。若将这两个输入变量代入则图像变为图5-8所示上一页 [1] [2] [3] [4] [5] [6] [7]
matlab基于模糊控制的倒立摆系统的设计 第7页下载如图片无法显示或论文不完整,请联系qq752018766