模糊控制一级倒立摆matlab实现
- 格式:doc
- 大小:273.50 KB
- 文档页数:11
模糊控制一级倒立摆MATLAB实现
课 程: 现代仿真技术及应用
专 业: 控制理论与控制工程
学 号:
姓 名:
模糊控制一级倒立摆MATLAB实现
摘要:一级倒立摆是一个典型的非线性,强耦合,多变量的不稳定系统,为了控制其平衡性,对一级倒立摆系统建立了数学模型,采用模糊控制法设计了控制器,并用MATLAB/SIMULINK对控制系统进行了仿真实验研究,实验结果表明,模糊控制器具有良好的控制效果。
关键词:一级倒立摆;模糊控制;MATLAB/SIMULINK
一 引言
倒立摆最初研究开始于20世纪50年代,麻省理工学院的控制论专家根据火箭发射器原理设计出一级倒立摆实验设备,而后倒立摆就成了验证控制方法和理论的实验平台,被广泛应用与实验教学中。一级倒立摆具有结构简单,便于模拟的优点,同时它在控制过程中能够优先的反应控制中的许多关键问题,如系统的非线性、鲁棒性等。因此对倒立摆的研究一直是控制领域中经久不衰的课题。
二 一级倒立摆数学模型的建立
在忽略各种摩擦之后,一级倒立摆系统是由小车、质量块和匀质杆组成的系统,通过控制小车位置,以使小车上的倒立摆始终处于反转垂直位置,左右倾斜角在 5.0范围内,原理结构图如图1.1所示。
MmxuXY
图1.1 一级倒立摆原理结构图
对该模型进行受力分析,作如下假设: M 小车质量 1.096Kg
m 摆杆质量 0.109Kg
b 小车摩擦系数 0.1N/m/sec
I 摆杆惯量 0.0034Kg*m*m
T 采样频率 0.005s
l 摆杆转动轴心到杆质心的长度 0.25m
F 夹在小车上的力
x 小车位置
摆杆与垂直向上方向的夹角
摆杆与垂直向下方向的夹角
分析小车水平方向所受的合力:
NxbFxM
摆杆水平方向的合力:
)sin(22lxdtdmN
即: sincos2mlmlxmN
把这个等式代入上式中,得到系统的第一个运动方程:
FmlmlxbxmMsincos)(2
对摆杆垂直方向上的合力进行分析,得到以下方程:
cos2mlmlmgP
力矩平衡方程如下:
INlPlcossin 合并以上两个方程,得到第二个运动方程:
cossin)(2xmlmglmlI
线性化后两个运动方程如下:
umlxbxmMxmlmglmlI)()(2
对方程组进行拉普拉斯变换,得到摆杆角度和小车位移之间的传递函数:
mglsmlImlsXs22)()()(
将实际参数代入后得到实际模型:
26705.00102125.002725.0)()(2ssXs
三 模糊控制器控制
3.1 模糊控制原理
模糊逻辑控制简称模糊控制,是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字智能控制技术。
模糊控制的基本思想是把人类专家对特定的被控对象或过程控制策略总结成一系列以“IF条件THEN作用”形式表示的控制规则,通过模糊推理得到控制作用集,构成相应的算法,作用于被控对象或过程。
模糊控制的基本原理图如图3.1所示。
模糊控制器主要可以分为四个部分:输入量模糊化接口、知识库、模糊推理和输出量解模糊接口。
1、输入量模糊化接口
模糊逻辑控制器的输入量必须要经过模糊化才能够用于模糊控制系统输出的求解,模糊化接口是模糊控制器的输入接口。模糊控制器的输入语言变量一般取系统误差和误差变化率,它的主要作用是将确定量转化为模糊域的模糊量。
给定值 +计算系统误差模糊量化处理模糊控制规则模糊决策非模糊化处理D/AA/D传感器被控对象执行机构—模糊控制器(微机)
图3.1 模糊控制的基本原理图
2、知识库
知识库包括数据库和规则库,它存放着模糊控制器的全部知识,决定模糊控制器的主要性能,知识库是模糊控制器的核心组成。
(1) 数据库
模糊逻辑控制中的数据库主要包括量化等级的选择、量化方式、比例因子和模糊子集的隶属度函数。在模糊推理规则的模糊关系方程的求解过程中,向推理机提供具体数据。
(2) 规则库
规则库中存放着全部的模糊控制规则,它根据控制目的和控制策略给出了一套由语言变量描述的通过如专家或者手动操作人员经验的积累产生的控制规则集合,主要是在推理时向推理机提供控制规则。它一般的表示形式如下: (1)(1)(1)(1)1122(2)(2)(2)(2)1122()()()()1122 is , is is then y is
is , is is then y is
is , is is then y is nnnnmmmmnnIfxAxAxABIfxAxAxABIfxAxAxAB
3、模糊推理
在模糊控制中,最常用的表达知识的语句形式是模糊语句。模糊语句包括模糊直言语句和模糊条件语句,即判断句和推理句。模糊控制规则通常表述为“IF前提THEN结论”,基于已知的前提条件得到相应的结论的过程,就是推理。
4、输出量解模糊接口
经过模糊推理得到的模糊控制器输出结果仍然是一个模糊概念,然而实际控制中需要从输出的模糊集合中判决出一个确定的控制量u作用于被控对象来驱动执行机构,所以为了得到实际的用于控制的精确量还必须要对模糊量进行一次转换计算,即为解模糊。通常我们把输出端具有转换功能的部分叫做解模糊接口。
3.2 模糊控制器设计步骤
实现模糊控制一般步骤如下:
1、确定模糊控制器的输入变量和输出变量(即控制量);
2、设计模糊控制器的控制规则;
3、进行模糊化和去模糊化;
4、选择模糊控制器的输入变量及输出变量的论域,并确定模糊控制器的参数。
5、编制模糊控制算法的应用程序。
3.3 模糊控制器 1、定义输入输出变量并命名
在MATLAB提示符下键入下列名字启动系统“Fuzzy”。打开一个标记为input1的单输入,标记为output1的单输出的一个没有标题的FIS编辑器。打开Edit菜单并选择Add Variable...分别添加输入、输出,并分别命名为e,ec,u。将控制器命名为“jiaodu”,如图3.2所示。
图3.2 设置好的fis编辑器
2、编辑隶属函数
在上图所示窗口中,打开View下拉式菜单并选择Edit Membership
Functions...通过双击各个变量,设置Range和Display Range以及定义其论域和每支隶属函数的范围。将输入误差e、误差变化率ec,输出u分别划分为7个模糊集:NB (负大),NM(负中),NS(负小),ZO(零),PS(正小),PM(正中),PB(正大)。即模糊子集为e=ec=u={NB,NM,NS,ZO,PS,PM,PB}。经计算得论域分别为[-0.526,0.526],[-1,1],[-6,6]。如图3.3所示。 8
图3.3 隶属函数编辑器
3、编辑模糊规则库
根据电机输出力的大小与摆杆角度的关系,确定角度控制的模糊规则库,如表3.1所示。在上图所示窗口中,点击“Edit”,选中“Rules...”按照表中的关于e、ec、u的模糊规则,参照编辑器的提示,将规则一条一条的录入其中,如图3.4所示。
表3.1 模糊规则表
模糊规则 e
NB NM NS ZE PS PM PB
ec NB NB NB NB NB NB NM PB
NM NB NB NB NB NM ZE PB
NS NB NB NB NM ZE PM PB
ZE NB NB NM ZE PM PB PB
PS NB NM ZE PM PB PB PB
PM NB ZE PM PB PB PB PB
PB NB PM PB PB PB PB PB
9
图3.4 模糊规则库
将规则输入后,通过viewer菜单得到直观图,可以看到它有明显的梯度分布,如图3.5所示。
图3.5 模糊规则直观图
模糊控制器设计完成后,保存为“jiaodu.fis”文件,在MATLAB命令窗口中执行jiaodu=readfis(jiaodu.fis)命令,将模糊控制器与simulink中的模块相连接。
四 SIMULINK仿真
在SIMULINK中搭建仿真框图,如图4.1所示。
图4.1 控制系统SIMULINK模型
对该系统进行仿真,得到仿真结果,如图4.2所示。
图4.2 仿真结果
从图中可以看出,系统在3s左右达到稳定,系统平衡在0附近,证明该控制器对该系统进行了有效的控制。
五 结论
在MATLAB环境下,通过Fuzzy和SIMULINK建立模糊控制器,使得一级倒立摆系统在较短时间内达到期望稳定值,从仿真结果来看,模糊控制系统在对不稳定系统的控制上具有响应速度快,稳定性好的优点。
六 参考文献
1 王广雄, 张静, 罗晶, 等. 倒立摆的模型和控制问题. 电机与控制学报, 2004,
8(3):247-249
2 杨治明, 宋乐鹏, 杨清林, 等. 基于模糊控制和PID控制的一阶倒立摆系统建模与仿真. 北华大学学报, 2012, 13(3):356-359
3 黎君, 阎世梁. 一级倒立摆模糊PID控制器设计. 研究与开发, 2012, 31(4):50-52
4 关文祥, 陈炜, 罗俊奇, 等. 一级倒立摆的建模、仿真与实时控制. 深圳信息职业技术学院学报, 2007, 5(2):67-69
5 赵文杰, 张丽娟, 刘延泉, 等. 基于模糊加权的倒立摆混合控制. 控制理论与应用,
2004, 21(5):689-692