模糊数学倒立摆优化

上传人:ail****e1 文档编号:53732686 上传时间:2022-02-11 格式:DOCX 页数:18 大小:196.48KB
收藏 版权申诉 举报 下载
模糊数学倒立摆优化_第1页
第1页 / 共18页
模糊数学倒立摆优化_第2页
第2页 / 共18页
模糊数学倒立摆优化_第3页
第3页 / 共18页
资源描述:

《模糊数学倒立摆优化》由会员分享,可在线阅读,更多相关《模糊数学倒立摆优化(18页珍藏版)》请在装配图网上搜索。

1、小车倒摆模糊系统控制简介迄今为止,相当多的模糊神经网络都是结合控制问题,特别是倒摆控制问题提出的。作为智能控制研究中的一个经典对象,在倒摆问题中应用神经网络方法, 首推Widrow等人的工作。但较具代表性的结果则主要是由加州大学伯克利分校, 以L.A.Zadeh为首的“fuzzy group ”作出的。1992年J.S.Jang 提出的自适应 神经网络模糊控制的方法对于倒摆控制系统这个经典问题又有了极大的发展。下面我们使用基于自适应网络的模糊推理系统 ANFIS来研究倒摆的控制问题。二、小车倒摆动力学模型图1中给出了二维的杆和滑车系统,滑车可以沿轨道运动。如图1所示。倒 立摆不是稳定的,如果没

2、有适当的控制力作用在它上面,它将随时可能向任何方向倾倒。这里只考虑二维问题,即认为倒立摆只在图2所示平面内运动。控制力 F作用于小车上。假设摆杆白重心位于其几何中心 Ao在滑车的质量重心的控制力为F,现设计其控制器,使杆尽可能平衡,同时滑车的水平位置也得到控制, 跟踪一个指令信号xd(t)。其中M为滑车的质量;m为杆的质量;l为杆长的一八c ,2半;g 9.8m/s为重力加速度图1倒立摆系统图2隔离体受力图建立该系统的运动方程式,首先设输入作用力为 F ,输出为摆角o设摆杆(Xa, Ya)于是:Xax l sinYal cos摆杆围绕中心A点转动方程为:d2J2- Vl sin Hl cosd

3、t2式中J为摆杆围绕重心A的转动惯量。摆杆重心A沿x轴的运动方程为:mH dt2d2m2(x lsin ) H dt2杆重心A沿y轴方向运动方程:md yA V mg dt2d2m dt2( l cos ) V mg小车沿x轴方向运动方程式为:MdF FJ 1ml23ml( sincos2) VMgm(xdt2l sin )m(x l (cos sin2)(M m) x ml cosmlsin 24ml2 3lmcos xMgml cos43ml2ml cosmlsinMg此倒摆系统为非线性系统。为了运用线性系统理论和模糊控制中的 Takagi-Sugeno模型进行控制器的分析和设计,可考虑将

4、其先进行局部线性化, 使之成为若干子系统,再将这些子系统进行综合。其物理意义是:将整个四维状 态空间分为L个模糊子空间集合,对每个模糊子空间,系统的动力学特性可用一 个局部线性状态方程来描述。整个系统动力学的特性则是这些局部线性模型的加 权和。该模糊建模方法的本质在于将一个整体非线性的动力学模型用多个局部线 性模型进行模糊逼近。三、车杆系统的MATLA嚷型MATLA提供了函数linmod ,从而可以在不同状态点处对非线性系统进行线 性化。下面利用这个函数来对小车模型进行线性化。首先,把车杆系统输入到 MATLAB在Simulink编辑环境中创建如图3所示 的一个车杆系统模型,将其存盘为In.m

5、dl o图3车棒系统动力学模型四、对象模糊线性化为了对小车模糊进行分析,可以将小车模型用开环子系统封装起来。用Create Subsystem命令产生一个车体动力学*S型子系统。模型如图4所示:图4车棒对象系统封装模型在初始化项中加入初始状态设置和系统参数的设置:初始状态设置为0,0,0,0(即平衡位置);小车质量M 1;杆的质量为m 0.1;杆的长度的一半l 0.5;重力加速度 g 9.8。右击 Cart&Pole Dynamics 选择 Mask Parameters ,弹出Function Block Parameters对话框,修改参数设置如图 5所示:图5参数设置在系统的仿真模型中采

6、用了系统的, 完全的,非线性的模型,但是在设计系 统的控制器时,上述非线性的模型虽然精确,但由于过于复杂,非常不利于设计 出简单、实用的的系统控制器。因为在设计系统控制器时,希望利用一些不那么 精确却简单的系统模型,例如,线性系统模型,这就需要把非线性模型转化为线性模型。通常的做法是将非线性模型在系统的某个工作状态进行线性化,这时可用MATLAB勺命令linmod将系统线性化,其调用格式为A, B, C, D=linmod( In.mdl ,0,0,0,0, 0)得到的系统线性模型如下:系统状态变量为x=,系统输入为控制力U=F,系统卒&出为yxx系统状态方程为 x Ax Bu系统输出方程为_

7、 一y Cx Du这样我们就得到了系统的一个线性化模型。基于这种线性模型,用线性系统理论很容易就能够设计出其控制器。五、 Takagi-Sugeno型自适应神经网络模型控制器的设计用Takagi-Sugeno模型设计的模糊控制器,对应于其用 also连接的第一条 模糊规则。可以将该模糊控制器看作一个线性控制器, 而整体的控制器由多条模 糊推理规则处理,经过模糊综合、清晰化等过程后,逼近一个非线性的控制器。它的物理意义是:将一个非线性系统在不同的若干状态下进行线性化,然后分别设计控制器,将分别设计的线性控制器用模糊控制的理论进行综合,使之成为一个非线性的控制器。可以看出,如果选择了合适的线性化状

8、态、模糊空间划分、 模糊隶属度函数、局部线性控制器,其最终得到的控制系统将优于一般的线性理 论所得到控制器。控制器模型可直接使用Simulink中的Fuzzy controller 来实现,控制的参 数和类型只需对Fuzzy controller模块的参数Fismatrix进行设置来实现。Takagi-Sugeno型模糊控制器的设计关键是得到输入的模糊集合隶属度函 数以及输入、输出规则。可以根据经验和习惯来确定输入的模糊集合及其隶属度 函数,而模糊规则 可以在相应的模糊集合隶属度函数的最大值点来 设计 (Takagi-Sugeno型控制器的输入、输出规则为线性函数,可以设计为该点处的车杆闭环系

9、统模型结构如最优控制或是用极点配置等方法得到线必性控制器)图6所示:六、确定输入变量空间根据实际控制要求,可以大致确定的状态变量和控制变量的范围如下:设定杆平衡指标0.3,0.3,1 1,1;跟踪目标指标xd(t) 2.5,2.5;控制位置偏差指标x 3,3;跟踪速度指标x 3,3;控制力限制F 10,10。七、输入空间数据点的选取根据上述的范围分析,可以划分状态空间。这里采用MATLA却度来自动产生状态空间中的点集,程序 genstate.m 和order.m用来产生状态空间的点。 order.m用来将输入各个变量的分割数目的排列组合,genstate.m 用来调用order.m 来生成输入

10、变量数据点。函数 order.m 和genstate.m 原代码如下:刷数 order. mfunction h=order(x) %x=3,2,4,5;n=length(x);%计算输入变量个数w=prod(x,2); h=;%+算总数据点数N = n1 x n2 x n3 x n4 for i=1:n a=w/prod(x(1:i),2); b=w/x(i)/a; c=;m=;for k=1 :x(i);c=c;k*ones(a,1);endfor j=1:b;m=m;c;endh=h,m;endreturn ;%S 数 genstate. mfunction h=genstate()n1

11、=5;%输入变量一的分割点数目n2=5;%输入变量二的分割点数目n3=5;%输入变量三的分割点数目n4=5;%输入变量四的分割点数目%止述数目不必相等难们在每个变量方向上都选5个点data=order(n1 n2 n3 n4);al =linspace(-0.3,0.3,n1);a2=linspace(-1,1,n2);a3=linspace(-3,3,n3);a4=linspace(-3,3,n4);%h面是进行均匀分割呦口果不想使用均匀分割可以直接给定其他的分割点%且是个数必须与前面指定的相当涮如 al=-0.25 -0.15 0 0.2 0.3;for i=1:length(data);

12、data(i,1)=al (data(i,1);data(i,2)=a2(data(i,2);data(i,3)=a3(data(i,3);data(i,4)=a4(data(i,4);end;%h述语句将各个输入变量组合成数据h=data;return ;编写好上述函数并存盘在MATLAB工作目录下,可以通过下列命令来观察这 两个函数的作用:order(3,2,4,5) genstate()八、数据点输出计算对于上面划分的模糊BO心间,用上述的每个离散状态空间点 X1,X2,.,Xn线性化线性车杆模型,选择合适的 LQR控制参数Q,R,N ,设计出线性最优控制0000器2,心,.,(。根据控

13、制要求和仿真结果选择一组 Q,R,N :500 1000,R 0.5, N10 000经仿真发现闭环系统的系统动态性能比较能符合要求。在MATLAB提供函数K,S,E lqr(A,B,Q,R,N)来针对每个空间输入点来设计最优控制器Kl ,这里A,B是前面线性化得到的九、训练生成ANFIS模糊推理系统当获得了足够的数据,就可以用自适应神经网络模糊系统来模糊这些离散状 态的和并且模糊综合那些线性控制器Ki, K2,,Kn ,即训练产生模糊规则和隶属度函数。下面,用模糊神经网络并根据上述的离散状态空间采样点及其相应的控 制力Fi,F2,.Fn ,来训练产生模糊控制器。MATLA中提供函数ANFIS

14、A完成,经过 训练得到的模糊控制参数矩阵包括输入的模糊隶属度函数及输出Sugen那模糊控制规则。下面函数genfismat.m来完成ANFISS统的训练过程:炉中k为前面生成的输入空间数据function h= genfismat(k) q=10 0 0 0;0 5 0 0;0 0 100 0;0 0 0 5;%最优控制参数Qr=0.5;%最优控制参数Rn=0 ;0 ; 0; 0;%1优控制参数Nlk=size(k);lk=lk(1);data=;for i=1:lk;a,b,c,d=linmod( ln ,k(i,:); 照4所生成的对象模型K,S,E=lqr(a,b,q,r,n);X=k(

15、i,:)*K;R=k(i,:),-X;data=data;R; end h=data;return下面这段命令用来结合前面的所有程序和过程来完整地生成车杆系统的模糊控制器。在确认前面所编写的函数 genfismat.m、genstate.m、genrules.m、 order.m以及模型cp1.mdl文件都已经存在之后,输入下面命令来生成该车杆系统 的模糊控制器:state=genstate;fismatrix=genrules(state);输出结果如下图所示firis =nan.eztype1andJletlLod: orllet?ied! defuz Method: inpffetiod

16、:input: output :rule:anfis1stif eno?* prodjitaj!,f vrt avex?ptotTr imi3工1x4 struct1x1 s-t ruct1x16 st met 还可以通过图形化的工具来进一步观察和修改结果模糊系统,如下图所示10 Rule- Virrrz arflsFile Edrt 曲ew Oprt dhs输入命令:fuzzy(fismatrix) 皿如 IK百Id 匚1ifiSIMI 一 L - IH . L J I-IB L - - -1 - L=J - L B - II -LJ -0K MUInp4l域隼ip可hpirt2L pduJ

17、put.15必:邑gU心期1 MN|911皿中0|1 rsr十、模型仿真根据上述的倒摆模型和线性化理论,用模糊神经网络训练产生模糊规则,用 MATLA般计函数genrules来产生控制参数矩阵fismatrix ,利用命令save xz.fis fismatrix 来生成xz.fis 文件,以后可以使用前调 用命令fiamatrix=readfis ( xz.fis )就可以进行仿真了。MATLA中自带了车棒系统的仿真本K型以及一个设计好的Sugeno型模糊控制系统。仿真模型可以通过 SLCP可以打开这个仿真模块。如果我们希望使用刚才自己所创建的模糊推理系统xz.fis ,可以在打开模型以后,

18、在MATLAB!作命令行环境里输入命令 fiamatrix=readfis ( xz.fis ) 用我们创建好的模糊模型来替换系统自带的推理系统。仿真图如下。卜一、对控制参数进行修改已达到最优控制1、先对R0.5进行修改,当Rfi从0.5减小到0.1时,图形变化如下:R=0.1时的仿真将上图与R=0.5时的仿真进行对比,可以看出,仿真结果变化不大,系统 能达到控制的效果。当Rfi从0.5逐渐增大时,图形变化如下:R=1R=2将上述两图与R0,5时进行对比,可以看出,R逐渐增大时,系统不能达到 控制的效果。综上所述:最优控制参数RR好维持在0.1 ,1.0的区间内,系统才能达到控制的效果。2、对

19、控制参数n=0 ;0 ; 0;0 进行修改,当n=10 ;0 ; 0; 0 时,仿真结果如 下:当门=0 ;10 ; 0; 0时,仿真结果如下:当时0 ;0 ; 10; 0时,仿真结果会出现错误,无法仿真。当时0 ;0 ; 0; 10时,当时10;0 ; 10;0时,将上述仿真结果与n=0 ;0 ; 0;0时进行对比,可以发现第一项、第三项对 系统的控制引起的变化较大,第二项、第四项对系统的控制引起的变化较小。3、对4=10 0 0 0; 0 5 0 0; 0 0 100 0;0 0 0 5进行修改,当 q=1 0 0 0;0 5 0 0; 0 0 100 0;0 0 0 5 时,仿真结果如下

20、:时,仿真结果如下:当4=10 0 0 0; 0 50 0 0; 0 0 100 0;0 0 0 5当|=10 0 0 0; 0 5 0 0; 0 0 10 0;0 0 0 5时,仿真结果如下:时,仿真结果如下当|=10 0 0 0; 0 5 0 0; 0 0 100 0;0 0 0 50通过以上仿真结果进行对比,可以发现第一行、对系统的控制引起的变化较 小,第二行、第三行、第四行对系统的控制引起的变化较大。经过修改各个参数,并进行仿真结果对比,可以发现,当q=40 0 0 0;0 5 0 0;0 0 50 0;0 0 0 1;%R优控制参数Qr=0.1;%ft优控制参数Rn=0 ;60; 0; 0;%最优控制参数N时,系统可以达到最优控制,仿真结果如下:十二、 结论通过matlab对小车倒立摆模型进行建模、仿真、优化控制分析、参数对比等处理,可以找到哪些参数对系统的优化控制调节较大,哪些较小。对各个参数进行修改,并进行仿真结果对比,可以找到最优控制的控制参数。学习 matlab,可 以解决我们在实际问题中无法解决的问题, 操作简单,为我们以后的学习打下了 坚实的基础。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!