直线一级倒立摆模糊控制算法的设计与仿真.docx
《直线一级倒立摆模糊控制算法的设计与仿真.docx》由会员分享,可在线阅读,更多相关《直线一级倒立摆模糊控制算法的设计与仿真.docx(13页珍藏版)》请在冰豆网上搜索。
直线一级倒立摆模糊控制算法的设计与仿真
模糊控制算法的设计与仿真
4.1模糊控制理论研究的历史、背景与现状
模糊理论是由美国著名控制论学者LotfiA.Zadeh于1965年在名为“模糊集合”(《Fuzzysets》)(Zadeh【1965】)的开创性文章中创立的。
Zadeh教授早在20世纪60年代初期认为经典控制论过于强调精确性而无法处理复杂的系统,他认为“在处理生物系统时,需要一种彻底不同的数学——关于模糊量的数学,该数学不能用概率分布来描述”。
后来,他将这些思想正式形成文章“模糊集合”。
模糊理论的大多数基本概念都是由Zadeh在02世纪60年代末07年代初提出来的。
他在1965年提出模糊集合后,又在1968年提出模糊算法的概念(Zadeh【1968】),在1970年提出模糊决策(Bellman和Zadeh【1970】),在1971年提出了模糊排序(Zadeh【1971】)。
1973年他发表了另一篇开创性文章《分析复杂系统和决策过程的新方法纲要》,该文建立了研究模糊控制的基础理论,在引入语言变量这一概念的基础上,提出了用模糊IF-THEN规则来量化人类知识。
20世纪70年代的一个重大事件就是诞生了处理实际系统的模糊控制器。
在1975年,Mamdani和Assilian创立了模糊控制器的基本框架,并将模糊控制器用于控制蒸汽机。
他们的研究成果发表在文章《带有模糊逻辑控制器的语言合成实验》(Mamdani和Assilian【1975】)中,这是关于模糊理论的另一篇具有开创性的文章。
他们发现模糊控制器非常易于构造且运作效果较好。
后来,在1978年,Holmblad和Ostergaard为整个工业过程开发出了第一个模糊控制器-模糊水泥窑控制器。
1980年,Sugeno。
开创了日本的首次模糊应用——控制一家富士(Fuji)电子水净化工厂。
1983年,他又开始研究模糊机器人,这种机器人能够根据呼唤命令来自动控制汽车的停放(Sugeno和Nishicla[1985])。
20世纪50年代初,来自于日立公司的Yasunobu和Miyamot。
开始给仙台地铁开发模糊系统。
他们于1987年结束了该项目,并创造了世界上最先进的地铁系统。
模糊控制的这一应用非常振奋人心并引起了模糊领域的一场巨变。
到了20世纪90年代初,市场上已经出现了大量的模糊消费产品。
我国的模糊控制理论及其应用研究工作是从20世纪07年代开始的,至今快有40年的时间,大多数是在一些著名的高校和研究所中进行的理论研究,如对模糊控制系统的结构、模糊推理算法、自学习和自组织模糊控制器、以及模糊控制稳定性等问题的研究。
模糊控制理论经过了40多年的发展,已经进入了实用化的时期,这主要表现在:
(1)不但在大型机械设备和生产过程中得到了很好应用,而且在普通大众的日常生活中也得到了广泛的应用,如空调机、洗衣机、吸尘器和电冰箱中都采用了模糊控制技术。
(2)向复杂系统、智能系统、人类与社会系统以及自然系统等方向扩展,可见模糊控制己经涵盖了社会和生活的各个方面。
(3)在硬件方面的研究也取得了突破性的进展,模糊控制器和模糊推理专用芯片也应运而生。
4.2模糊控制理论的特点
模糊控制具有如下主要特点:
(1)在设计系统时不需要建立被控对象的数学模型,只要求掌握现场操作人员或者有关专家的经验、知识或者操作数据;
(2)模糊控制的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定性的、定量的条件语句;
(3)与传统控制方法相比,模糊控制更接近于人的思维方法和推理习惯。
因此,更便于现场操作人员的理解和使用,从而得到更为有效的控制规律;
(4)模糊控制系统的鲁棒性强,尤其适用于非线性、时变、滞后系统的控制。
在生产实践中,存在着大量的模糊现象,对于那些无法获得数学模型或模型复杂的、非线性的、时变的或者耦合严重的系统,无论用经典控制,还是用现代控制理论的算法都很难实现控制。
但是,一个熟练的操作工人或技术人员,凭借自己的经验,靠眼、耳等“传感器”的观察,经过大脑的思维判断给出控制量,可以用手动操作,达到了较好的控制效果。
操作者得观察和思维判断过程,际上就是一个模糊化或模糊计算的过程。
把人的操作经验归纳成一系列的规则,存放于计算机中,利用模糊集理论将它量化,使控制器模仿人的操作策略,这就是模糊控制器,而用模糊控制器组成的系统就是模糊控制系统。
4.3模糊控制理论的基本原理
模糊控制器的结构如图4.3所示。
控制器由4个基本部分组成,即模糊化接口、知识库、推理机、解模糊接口。
图4.3模糊控制器结构图
Fig,4.3Fuzzycontrollerstructurediagram
1)模糊化
将输入变量的实际论域变换到相应的模糊论域,将输入数据转换成合适的语言值,{PB,,PM,PS,Z0,NS,NM,NB}表示{“正大”,“正中”,“正小”,“零”,“负小”,“负中”,“负大”}。
2)知识库
知识库包含应用领域的知识和控制目标,它由数据和模糊语言控制规则组成如:
IFEisA1ANDECisB1THENUisC
其中,么EC是控制对象状态变量的误差量,U是对控制对象的控制变量。
3)推理机
推理是从一些模糊前提条件推导出某一结论。
目前模糊推理方法有很多种,其中最常用的是Mamdani丽的max-min的合成法,具体如下:
当把知识库中的Ai、Bi、Ci的空间分作X、Y、Z论域时,可以得到每条控制规则的关系:
Ri的隶属函数为:
全部控制规则所对应的模糊关系,用取并的方法得到,即:
R的隶属函数为:
当输入变量E、EC分别取模糊集A、B时,控制器的输出(控制量)U可根据模糊推理合成得到:
U的隶属函数为:
4)解模糊
解模糊的方法有重心法、最大隶属度法、中位数方法等。
其中较常用的是重心法,也即控制量可由输出Ui的隶属度函数加权平均得到,计算公式为:
4.4模糊控制器的设计
4.4.1模糊控制器的设计步骤
模糊控制器一般是靠软件编程实现的,实现模糊控制一般设计步骤如下:
(1)确定模糊控制器的输入变量和输出变量(即控制量);
(2)设计模糊控制器的控制规则;
(3)进行模糊化和解模糊化;
(4)选择模糊控制器的输入变量及输出变量的论域,并确定模糊控制器的参数(如量化因子、比例因子);
(5)编制模糊控制算法的应用程序;
4.4.2模糊控制器的设计思想
由于倒立摆的稳定控制不仅要考虑到摆杆的倒立平衡,而且还要控制小车,使它稳定在期望的位置。
因为,倒立摆系统是个双输入双输出系统,所以在本文中,采用两个模糊控制器(位移模糊控制器和角度模糊控制器)把小车的位移和速度,以及摆杆角度和角速度这四个状态变量作为这两个控制器的输入量,建立的控制器的模糊规则。
4.4.3位移模糊控制器的设计
(1)输入输出量的模糊分割
位置模糊控制器是二维模糊控制器,以小车位移误差xc和小车速度误差xc_dot为该模糊控制器的输入,Vm为输出量。
如图4.4.3_1所示。
图4.4.3_1位置模糊控制器输入输出图
Fig,4.4.3_1Diagramoffuzzycontrollerinputandoutputposition
位移误差xc,速度误差xc_dot控制输出Vm的论域分别选为[-0.25,0.25]、[-3,3]、[-12,12],均采用七级分割,表示为【NB,NM,NS,Z0,PS,PM,PB】。
(2)输入输出量的模糊化
位移误差xc,速度误差xc_dot,控制输出Vm均使用三角形隶属度函数,位移xc的模糊化曲线如下图所示:
图4.4.3_2输入量xc的模糊化曲线图
Fig,4.4.3_2FuzzygraphinputXc
速度误差xc_dot的模糊曲线如下图所示:
图4.4.3_3输入量xc_dot的模糊化曲线图
Fig,4.4.3_3FuzzygraphinputXc_dot
控制输出Vm的模糊曲线如下图所示:
图4.4.3_4输入量Vm的模糊化曲线图
Fig,4.4.3_4FuzzygraphoutputVm
(3)模糊控制规则的制定
规则表如下,在进行模糊推理运算时,采用Mamdani的max_min合成算法,而输出量的解模糊运算则采用常用的重心法。
(4)位移模糊控制器的Simulik实现
用Simulik来搭建位移模糊控制器,通过模糊控制器模块,可以和包含模糊控制器的Xc_04.fis文件联系起来,还可以随时改变输入输出论域,隶属度函数以及模糊规则,方便仿真和调试。
其仿真框图在这不特别画出,结合角度模糊控制器及整个系统在后面给出。
4.4.4角度模糊控制器的设计
(1)输入输出量的模糊分割
角度模糊控制器也是一个二维模糊控制器,以摆杆角度误差alpha和摆杆角速度误差alpha_dot为该模糊控制器的输入,Vm为输出量。
如图4.4.4_1所示。
图4.4.4_1角度模糊控制器输入输出图
Fig,4.4.4_1Diagramoffuzzycontrollerinputandoutputangle
位移误差alpha,速度误差alpha_dot控制输出Vm的论域分别选为[-0.35,0.35]、[-3,3]、[-12,12],均采用七级分割,表示为【NB,NM,NS,Z0,PS,PM,PB】。
(2)输入输出量的模糊化
角度误差alpha,角速度误差alpha_dot,控制输出Vm均使用三角形隶属度函数,角度误差alpha的模糊化曲线如下图所示:
图4.4.4_2输入量alpha的模糊化曲线图
Fig,4.4.4_2FuzzygraphinputAlpha
角速度误差alpha_dot的模糊化曲线如下图所示:
图4.4.4_3输入量alpha_dot的模糊化曲线图
Fig,4.4.4_3FuzzygraphinputAlpha_dot
控制输出Vm的模糊化曲线如下图所示:
图4.4.4_4输出量Vm的模糊化曲线图
Fig,4.4.4_4FuzzygraphoutputVm
3)模糊控制规则的制定
规则表如下,在进行模糊推理运算时,采用Mamdani的max_min合成算法,而输出量的解模糊运算则采用常用的重心法。
(4)位移模糊控制器的Simulik实现
用Simulik来搭建角度模糊控制器,通过模糊控制器模块,可以和包含模糊控制器的Alpha_04.fis文件联系起来,还可以随时改变输入输出论域,隶属度函数以及模糊规则,方便仿真和调试。
其仿真框图在这不特别画出,结合上面设计的位移模糊控制器及整个系统在后文中给出。
4.5稳定控制器的实现
根据角度和位移模糊控制器的设计,将其有机的结合,则可有望将倒立摆处于一个平衡的状态,实现倒立摆的稳定控制。
使用Simulink将各部分有机结合,得出系统控制框图如下:
图4.5一级倒立摆稳定控制Simulink框图
Fig,4.5StabilitycontrolofaninvertedpendulumSimulinkdiagram
根据图4.5所示,对一级倒立摆仿真实验,将位移和角度模糊控制器分别与Xc_fis和Alpha_fis联系起来,在这里我们使用MatLab文件来设置状态方程中的ABCD。
编写一个ABCD文件,里面内容如下:
%PendulumMass(withT-fitting)
Mp=0.230;
Mc=1.0731;
%DistancefromPivottoCentreOfGravity
lp=0.3302;
%PendulumMomentofInertia(kg.m^2)-approximation
Ip=0.0079;
%EquivalentViscousDampingCoefficient(N.m.s/rad)
Bp=0.0024;
%GravityConstant
g=9.81;
Beq=5.4;
%Specificationsofasecond-orderlow-passfilter
wcf=2*pi*10.0;%filtercuttingfrequency
zetaf=0.9;%filterdampingratio
A(1,1)=0;
A(1,2)=0;
A(1,3)=1;
A(1,4)=0;
A(2,1)=0;
A(2,2)=0;
A(2,3)=0;
A(2,4)=1;
A(3,1)=0;
A(3,2)=Mp^2*lp^2*g/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
A(3,3)=-Beq*(Ip+Mp*lp^2)/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
A(3,4)=-Mp*lp*Bp/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
A(4,1)=0;
A(4,2)=Mp*g*lp*(Mc+Mp)/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
A(4,3)=-Beq*Mp*lp/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
A(4,4)=-Bp*(Mc+Mp)/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
B(1,1)=0;
B(2,1)=0;
B(3,1)=(Ip+Mp*lp^2)/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
B(4,1)=Mp*lp/(Ip*Mc+Mc*Mp*lp^2+Mp*Ip);
C(1,1)=1;
C(1,2)=0;
C(1,3)=0;
C(1,4)=0;
C(2,1)=0;
C(2,2)=1;
C(2,3)=0;
C(2,4)=0;
C(3,1)=0;
C(3,2)=0;
C(3,3)=1;
C(3,4)=0;
C(4,1)=0;
C(4,2)=0;
C(4,3)=0;
C(4,4)=1;
D(1,1)=0;
D(2,1)=0;
D(3,1)=0;
D(4,1)=0;
通过调节控制器中的各增益环节的大小,观察示波器Scope的变化。
当曲线近似于达到要求时,获取仿真图形如下:
图4.5_1Scope对应的小车位移变化曲线
Fig,4.5_1ThecardisplacementcurveofthecorrespondingScope
通过分析上图中的曲线我们可以看出,小车在开始的时候,发生振荡相对较为剧烈,且振荡次数有4次左右。
同时,我们可以近似看作在第3秒的时候,系统在位移上达到了一个平衡。
下面我们在来看角度的变化曲线,点击示波器Scope2,观察曲线如下:
图4.5_2Scope2对应的小车角度(弧度)变化曲线
Fig,4.5_2TheScope2correspondingtothevehicleangle(inradians)curve
由这个曲线我们可以看出,同样,在角度方面也是经过了近四次振荡,系统才几乎趋于平稳。
同时,在第3秒左右,角度的控制保持良好。
我们将这个控制系统时间延长至100s以后,观察曲线变化能保持平稳,并没有大的波动。
所以我们可以得出结论:
通过以上数据,我们可以判断出,在这个模糊控制器的控制下,一级倒立摆能够较为快速的实现稳定,并且在稳定之后的状态保持良好。
但是相对不足的是,系统在起振时振荡幅度还是稍微偏大,振荡次数相对较多,未达到起振振荡在1~2次的理想范围。
总体来说,该控制器实现了对倒立摆的一级稳定控制。