小车倒摆模糊系统控制作业

上传人:鲁** 文档编号:458900436 上传时间:2023-05-01 格式:DOC 页数:21 大小:986.50KB
返回 下载 相关 举报
小车倒摆模糊系统控制作业_第1页
第1页 / 共21页
小车倒摆模糊系统控制作业_第2页
第2页 / 共21页
小车倒摆模糊系统控制作业_第3页
第3页 / 共21页
小车倒摆模糊系统控制作业_第4页
第4页 / 共21页
小车倒摆模糊系统控制作业_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《小车倒摆模糊系统控制作业》由会员分享,可在线阅读,更多相关《小车倒摆模糊系统控制作业(21页珍藏版)》请在金锄头文库上搜索。

1、 . 模糊数学题目:小车倒摆模糊系统控制学 院:机 械 工 程 学 院 专 业:机械电子 班 级:学 号:学生:指导老师:提交日期: 2013年 1月 14日 小车倒摆模糊系统控制问题1:如何区分模糊与可能性?模糊性通常是指对概念的定义以及语言意义的理解上的不确定性。模糊性只要是人为的主观理解上的不确定性。例如老人、温度高、数量大的不确定性都是模糊性。可能性是指:事物发生的概率,是包含在事物之中并预示着事物发展趋势的量化指标。两者的区别是,前者是指一件事情的程度问题,后者则是指事情发生的概率问题。问题2与问题3的解答请详见如下一、 简介 “fuzzy group”二、 小车倒摆的数学模型分析图

2、1中给出了二维的杆和滑车系统,滑车可以沿轨道运动。如图1所示。倒立摆不是稳定的,如果没有适当的控制力作用在它上面,它将随时可能向任何方向倾倒。这里只考虑二维问题,即认为倒立摆只在图2所示平面运动。控制力作用于小车上。假设摆杆的重心位于其几何中心A。在滑车的质量重心的控制力为,现设计其控制器,使杆尽可能平衡,同时滑车的水平位置也得到控制,跟踪一个指令信号。其中为滑车的质量;为杆的质量;为杆长的一半;为重力加速度。图1 倒立摆系统 图2 隔离体受力图建立该系统的运动方程式,首先设输入作用力为,输出为摆角。设摆杆,于是:摆杆围绕中心A点转动方程为:式中为摆杆围绕重心的转动惯量。摆杆重心沿轴的运动方程

3、为:杆重心沿轴方向运动方程:小车沿轴方向运动方程式为:此倒摆系统为非线性系统。为了运用线性系统理论和模糊控制中的Takagi-Sugeno模型进行控制器的分析和设计,可考虑将其先进行局部线性化,使之成为若干子系统,再将这些子系统进行综合。其物理意义是:将整个四维状态空间分为L个模糊子空间集合,对每个模糊子空间,系统的动力学特性可用一个局部线性状态方程来描述。整个系统动力学的特性则是这些局部线性模型的加权和。该模糊建模方法的本质在于将一个整体非线性的动力学模型用多个局部线性模型进行模糊逼近。三、 车杆系统的MATLAB模型MATLAB提供了函数linmod,从而可以在不同状态点处对非线性系统进行

4、线性化。下面利用这个函数来对小车模型进行线性化。首先,把车杆系统输入到MATLAB,在Simulink编辑环境中创建如图3所示的一个车杆系统模型,将其存盘为ln.mdl。图3车棒系统动力学模型四、 对象模糊线性化为了对小车模糊进行分析,可以将小车模型用开环子系统封装起来。用Create Subsystem命令产生一个车体动力学模型子系统。模型如图4所示:图4 车棒对象系统封装模型在初始化项中加入初始状态设置和系统参数的设置:初始状态设置为(即平衡位置);小车质量;杆的质量为;杆的长度的一半;重力加速度。右击Cart&Pole Dynamics选择Mask Parameters,弹出Functi

5、on Block Parameters对话框,修改参数设置如图5所示:图5 参数设置在系统的仿真模型中采用了系统的,完全的,非线性的模型,但是在设计系统的控制器时,上述非线性的模型虽然精确,但由于过于复杂,非常不利于设计出简单、实用的的系统控制器。因为在设计系统控制器时,希望利用一些不那么精确却简单的系统模型,例如,线性系统模型,这就需要把非线性模型转化为线性模型。通常的做法是将非线性模型在系统的某个工作状态进行线性化,这时可用MATLAB的命令linmod将系统线性化,其调用格式为A,B,C,D=linmod(ln.mdl,0,0,0,0,0)得到的系统线性模型如下:系统状态变量为x=,系统

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

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

8、处的最优控制或是用极点配置等方法得到线必性控制器)。车杆闭环系统模型结构如图6所示: 图6 车杆闭环控制系统六、 确定输入变量空间根据实际控制要求,可以大致确定的状态变量和控制变量的围如下:设定杆平衡指标,;跟踪目标指标;控制位置偏差指标;跟踪速度指标;控制力限制。七、 输入空间数据点的选取%函数order. m function h=order(x)%x=3,2,4,5;n=length(x);%计算输入变量个数w=prod(x,2);h=;%计算总数据点数 Nn1 x n2 x n3 x n4for i=1:n a=w/prod(x(1:i),2); b=w/x(i)/a; c=; m=;

9、 for k=1 :x(i); c=c;k*ones(a,1);endfor j=1:b; m=m;c;end h=h,m;endreturn; %函数genstate. m function h=genstate()n1=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=l

10、inspace(-3,3,n4);%上面是进行均匀分割%如果不想使用均匀分割可以直接给定其他的分割点 %但是个数必须与前面指定的相当 %例如al=-0.25 -0.15 0 0.2 0.3;for i=1:length(data); 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=data; return;编写好上述函数并存盘在MATLAB的工作目录下,可以通过下列命令来观察这两个函数的作用:order

11、(3,2,4,5)genstate()八、 数据点输出计算对于上面划分的模糊BOX空间,用上述的每个离散状态空间点来线性化线性车杆模型,选择合适的控制参数,设计出线性最优控制器。根据控制要求和仿真结果选择一组:,经仿真发现闭环系统的系统动态性能比较能符合要求。在MATLAB中提供函数来针对每个空间输入点来设计最优控制器,这里是前面线性化得到的。九、 训练生成ANFIS模糊推理系统当获得了足够的数据,就可以用自适应神经网络模糊系统来模糊这些离散状态的和并且模糊综合那些线性控制器,即训练产生模糊规则和隶属度函数。下面,用模糊神经网络并根据上述的离散状态空间采样点及其相应的控制力,来训练产生模糊控制

12、器。MATLAB中提供函数ANFIS来完成,经过训练得到的模糊控制参数矩阵包括输入的模糊隶属度函数及输出Sugeno型模糊控制规则。下面函数genfismat.m来完成ANFIS系统的训练过程:%其中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; %最优控制参数Nlk=size(k);lk=lk(1);data=;for i=1:lk; a,b,c,d=linmod(ln,k(i,:);%图4所生成的对象模型 K

13、,S,E=lqr(a,b,q,r,n); X=k(i,:)*K; R=k(i,:),-X; data=data;R;endh=data;return下面这段命令用来结合前面的所有程序和过程来完整地生成车杆系统的模糊控制器。在确认前面所编写的函数genfismat.m、genstate.m、genrules:state=genstate;fismatrix=genrules(state);输出结果如下图所示还可以通过图形化的工具来进一步观察和修改结果模糊系统,如下图所示十、 模型仿真根据上述的倒摆模型和线性化理论,用模糊神经网络训练产生模糊规则,用MATLAB设计函数genrules来产生控制参

14、数矩阵fismatrix,离线生成模糊控制参数矩阵后可以存盘为cp.fis文件。以后使用前调用命令fiamatrix=readfis(cp.fis)就可以进行仿真了。MATLAB中自带了车棒系统的仿真模型以及一个设计好的Sugeno型模糊控制系统。仿真模型可以通过SLCP可以打开这个仿真模块。如果我们希望使用刚才自己所创建的模糊推理系统CP.FIS,可以在打开模型以后,在MATLAB工作命令行环境里输入命令fiamatrix=readfis(cp.fis)用我们创建好的模糊模型来替换系统自带的推理系统。仿真图如下。十一、 对控制参数进行修改已达到最优控制R=0.1时的仿真将上图与R=0.5时的仿真进行对比,可以看出,仿真结果变化不大,系统能达到控制的效果。当R值从0.5逐渐增大时,图形变化如下:R=1R=2将上述两图与R0.5时进行对比,可以看出,R逐渐增大时,系统不能达到控制的效果。综上所述:最优控制参数R最好维持在0.1 ,1.0的区间,系统才能达到控制的效果。2、对控制参数n=0 ;0 ; 0;0进行修改,当n=10 ;0 ; 0; 0时,仿真结果如下:当n=0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号