模糊控制在倒立摆中的MATLAB仿真应用

合集下载

倒立摆PID调节模糊控制

倒立摆PID调节模糊控制

倒立摆系统的简介倒立摆系统发展倒立摆系统的研究意义倒立摆系统的简介倒立摆系统是日常生活中所见到的任何重心在上,支点在下的控制问题的抽象。

例如杂技顶杆表演,人们常为演员的精湛技艺叹服,然而其机理更引发了人们的深思。

它深刻的揭示了自然界的一种基本规律.即一个自然不稳定的被控对象,通过控制手段可使之具有良好的稳定性。

不难看出杂技演员顶杆的物理机制可简化为一个倒置的倒立摆,也就是人们常称之为倒立摆或一级倒立摆系统。

一级倒立摆系统是一个复杂的非线性系统,小车可以自由地在限定的轨道上左右移动,小车上的倒立摆一端被铰链链接在小车顶部,另一端可以在小车轨道所在的垂直平面上自由转动。

系统的控制目的是通过电机带动小车运动,使倒立摆平衡并保持小车不与轨道两端相撞。

倒立摆已经由原来的直线倒立摆扩大很多种类,典型的有直线倒立摆,环形倒立摆,平面倒立摆等,倒立摆系统是运动模块上装有倒立摆装置,由于在相同的运动模块上可以装载不同的倒立摆装置,倒立摆的种类由此而丰富很多倒立摆的控制方法倒立摆作为一个典型的被控对象,适合用多种理论和方法进行控制。

当前,倒立摆的控制规律有: (1)PID 控制,通过对倒立摆物理模型的分析,建立倒立摆的动力学模型,然后使用状态空间理论推导出其非线性模型,再在平衡点处进行线性化得到倒立摆系统的状态方程和输出方程,于是就可设计出PID 控制器实现其控制;(2) 状态反馈H ∞控制,通过对倒立摆物理模型的分析,建立倒立摆的动力学模型,然后使用状态空间理论推导出状态方程和输出方程,于是就可应用H ∞状态反馈和Kalman 滤波相结合的方法,实现对倒立摆的控制; (3) 利用云模型实现对倒立摆的控制,用云模型构成语言值,用语言值构成规则,形成一种定性的推理机制。

这种拟人控制不要求给出被控对象精确的数学模型,仅仅依据人的经验、感受和逻辑判断,将人用自然语言表达的控制经验,通过语言原子和云模型转换到语言控制规则器中,就能解决非线性问题和不确定性问题; (4) 神经网络控制,业已证明,神经网络(Neural Network ,NN) 能够任意充分地逼近复杂的非线性关系,NN 能够学习与适应严重不确定性系统的动态特性,所有定量或定性的信息都等势分布贮存于网络内的各种神经元,故有很强的鲁棒性和容错性;也可将Q 学习算法和BP 神经网络有效结合,实现状态未离散化的倒立摆的无模型学习控制; (5) 遗传算法( Genetic Algorithms , GA) ,高晓智在Michine 的倒立摆控制Boxes 方案的基础上,利用GA 对每个BOX 中的控制作用进行了寻优,结果表明GA 可以有效地解决倒立摆的平衡问题; (6) 自适应控制,主要是为倒立摆设计出自适应控制器; (7) 模糊控制,主要是确定模糊规则,设计出模糊控制器实现对倒立摆的控制; (8) 使用几种智能控制算法相结合实现倒立摆的控制,比如模糊自适应控制,分散鲁棒自适应控制等等; (9) 采用GA 与NN 相结合的算法,这也是我们采用的方法,首先建立倒立摆系统的数学模型,然后为其设计出神经网络控制器,再利用改进的贵传算法训练神经网络的权值,从而实现对倒立摆的控制,采用GA 学习的NN 控制器兼有NN 的广泛映射能力和GA 快速收敛以及增强式学习等性能。

一阶倒立摆与模糊控制

一阶倒立摆与模糊控制

一阶倒立摆与模糊控制作者:朱玖斌来源:《数字化用户》2013年第23期【摘要】倒立摆系统是一个复杂的、不稳定的非线性系统,为了使其具有更好的适应性和稳定性,我们采用模糊控制器方法来对其进行控制。

通过MATLAB环境下的仿真并对仿真结果进行分析,验证了此方法按照预定的要求精确、稳定、快速地控制倒立摆系统,实现既定目标的性能。

【关键词】单级倒立摆模糊控制 MATLAB仿真一、引言倒立摆控制系统是进行控制理论研究的理想实验平台,在工业复杂对象的控制有着不可估量的工程应用价值,对倒立摆的研究在双足机器人行走、火箭发射过程的姿态调整和直升机飞行控制等领域中有着广阔的应用空间。

而倒立摆的控制方法同样广阔,典型的有线性PID控制、常规PID控制、LQR 控制、智能控制等。

这里我们要研究的是智能控制中的一种—模糊控制。

二、建立倒立摆模型M :小车质量 m:摆杆质量 b:小车摩擦系数 l:摆杆转动轴心到杆质心的长度 I:摆杆惯量 F:加在小车上的力 x:小车位置图1-1 一级直线倒立摆模φ摆杆与垂直向上方向的夹角θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)通过牛顿力学方法分析,拉普拉斯变换,我们可以得出以下方程:由于输出为角度,求解(1-1),可以得出新方程:整理后,得出有式子(1-3)可以得出式子(1-2)式子代入式子(1-1),得出整理后得出传递函数:其中由于篇幅有限,这不介绍手算系统状态空间方程求解方法,而利用MATLAB中tf2ss命令对(1-4)式进行转化来得到状态方程,如下:系统物理参数把上述参数代入,可以得到系统的实际模型。

摆杆角度和小车位移的传递:(1-7)摆杆角度和小车加速度之间的传递函数为:(1-8)摆杆角度和小车所受外界作用力的传递函数:(1-9)以小车加速度作为输入的系统状态方程:三、模糊控制系统与一阶倒立摆的建立(一)模糊控制系统的组成(见图A)(二)Matlab搭建模糊控制器(见图B)(三)Matlab搭建程序框图(见图C)把模糊控制器导入到程序框图中Fuzzy Logic Controller观察仿真运行结果四、结论从仿真图中看出,一级倒立摆与模糊控制能够很好的结合,且没有超调现象,能够稳定控制。

倒立摆模糊控制MATLAB

倒立摆模糊控制MATLAB

模糊控制课程设计报‎告题目:基于mat‎lab的倒‎立摆模糊控‎制专业、班级:09级电气‎四班学生姓名:学号:指导教师:分数:2012年‎ 6 月15 日绪论倒立摆控制‎系统是一个‎复杂的、不稳定的、非线性系统‎,是进行控制‎理论设计及‎测试的理想‎实验平台。

倒立摆系统‎控制涉及到‎机器人技术‎、控制理论、计算机控制‎等多个领域‎。

其被控系统‎本身是一个‎绝对不稳定‎、高阶次、多变量、强耦合的非‎线性系统,可以作为一‎个典型的控‎制对象对其‎进行研究[1]。

同时,由于实际机‎械系统中存‎在的各种摩‎擦力,实际倒立摆‎系统亦具有‎一定的不确‎定性。

倒立摆系统‎的控制涉及‎到许多典型‎的控制问题‎:非线性问题‎、随动及跟踪‎问题、鲁棒性问题‎、非最小相位‎系统的镇定‎问题等等。

正是由于倒‎立摆系统的‎特殊性,许多不同领‎域的专家学‎者在检验新‎提出理论的‎正确性和实‎际可行性时‎,都将倒立摆‎系统作为实‎验测试平台‎。

再将经过测‎试后的控制‎理论和控制‎方法应用到‎更为广泛的‎领域中去[1]。

如:把一级倒立‎摆的研究成‎果应用到对‎航空航天领‎域中的火箭‎发射推进器‎和卫星飞行‎状态控制的‎研究;把二级倒立‎摆的研究成‎果应道到双‎足机器人行‎走控制中[2]。

所以说,对倒立摆系‎统控制理论‎的研究不仅‎具有理论研‎究价值,也具有相当‎的实际工程‎应用价值。

倒立摆系统‎的传统控制‎方法主要是‎使用经典控‎制理论和现‎代控制理论‎。

它们都以精‎确的系统数‎学模型为控‎制对象。

经典控制理‎论在线性定‎常、输入输出量‎较少的系统‎中能很好的‎完成控制设‎计指标,经典控制理‎论的数学基‎础是拉普拉‎斯变换,占主导地位‎的分析和综‎合方法是频‎率域方法。

而现代控制‎理论是建立‎在状态空间‎分析法上的‎,基本分析方‎法是时域分‎析法。

这种方法能‎够克服经典‎控制理论的‎缺陷:能够解决系‎统的输入输‎出变量过多‎、系统的非线‎性等问题。

模糊控制的Matlab仿真实例

模糊控制的Matlab仿真实例

其他例子
模型Shower.mdl―淋浴温度调节模糊控制系统仿真; 模型slcp.mdl―单级小车倒摆模糊控制系统仿真; 模型 slcp1.mdl―变长度倒摆小车模糊控制系统仿
真; 模型 slcpp1.mdl—定长、变长二倒摆模糊控制系
统仿真; 模型slbb.mdl―球棒模糊控制系统仿真; 模型sltbu.mdl―卡车智能模糊控制倒车系统仿真; 模型sltank2.mdl ― 用子系统封装的水箱控制仿
为简单起见,我们直接利用系统里已经编辑好的 模糊推理系统,在它的基础上进行修改。这里我 们采用与tank . fis中输入输出变量模糊集合完 全相同的集合隶属度函数定义,只是对模糊规则 进行一些改动,来学习模糊工具箱与仿真工具的 结合运用。对于这个问题,根据经验和直觉很显 然可以得到如下的模糊度示 波器
冷水阀子系统
这个仿真模型的输出是用示波器来表示的,如 图所示。通过示波器上的图形我们可以清楚地 看到温度和水流量跟踪目标要求的性能。
水温示波器
水流示波器
水温偏差区间模糊划分及隶属度函数
水流量偏差区间模糊划分及隶属度函数
输出对冷水阀控制策略的模糊化分及隶属度函数
选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部 框内将显示相应的规则。本例中用9条左右的规 则,依次加入。如下图所示:
模糊逻辑工具箱仿真结果
模糊规则浏览器用于显示各条模糊控制规则对 应的输入量和输出量的隶属度函数。通过指定 输入量,可以直接的显示所采用的控制规则, 以及通过模糊推理得到相应输出量的全过程, 以便对模糊规则进行修改和优化。
这样的结果与实际情况还是有些不符。通常顾客都是给15%的 小费,只有服务特别好或特别不好的时候才有改变,也就是说, 希望在图形中间部分的响应平坦些,而在两端(服务好或坏) 有凸起或凹陷。这时服务与小费是分段线性的关系。例如,用 下面 MATLAB 语句绘出的下图的情况。

一阶倒立摆模糊控制matlab仿真

一阶倒立摆模糊控制matlab仿真

一阶倒立摆模糊控制仿真实验分析报告%mainclearclose all%load table.matglobal Table;global RULE;global UCenter;global Width;global num;global RuleMatch; %前件匹配方式0 取小;1乘积global Defuzzy; %反模糊化方法0: COG ; 1:COA; 2:MAXglobal g0;global g1;global h;x=[0.4,0,0];RuleMatch = 1; %前件匹配方式0 取小;1乘积Defuzzy = 0;%反模糊化方法0: COG ; 1:COA; 2:MAXg0=1.5;g1=0.1;h=1;% u=0;% Table = u;% [m,n]=size(u);% num = (m-1)/2;%u=[];RULE =[2, 2, 2, 1, 0; ...2, 2, 1, 0,-1;...2, 1, 0,-1,-2;...1, 0,-1,-2,-2;...0,-1,-2,-2,-2];%% RULE =[2,2,1,1,0; ...% 2,1,1,0,-1;...% 1,1,0,-1,-1;...% 1,0,-1,-1,-2;...% 0,-1,-1,-2,-2];RULE=RULE + 3*ones(size(RULE));%原始的%UCenter=[-20,-10,0,10,20];%改进的%UCenter=[-25,-15,0,15,25];UCenter=[-20,-15,0,15,20];Width(1)=(UCenter(5)-UCenter(4))/2;Width(2)=(UCenter(5)-UCenter(3));Width(3)=(UCenter(4)-UCenter(3))*2;Width(4)=Width(2);Width(5)=Width(1);x=x';[t,y]= ode45('P_Pendulum',[0,5],x);% [t,y]= ode45('P_Pendulum_tab',[0,10],x);% y2=y.*y;% inty = intnum(t,y2)%% int_e2 = inty(1)+inty(2);% int_u2 = inty(3);%int_y2 = sum(y.^2);%int_e2 = int_y2(1)+int_y2(2);%int_u2 = int_y2(3);figuresubplot(2,1,1)plot(t,y(:,1 ),'r',t,y(:,2),'k')%xlabel('t(sec)')% str1 = sprintf('x(0)=[%2.2f,%2.2f]',x(1),x(2)); % Title(str1,'Interpreter','latex','fontsize',14)%% str1=sprintf('t(sec)---index:$\\int{e^{T}(t)e(t)dt}=$ %f', int_e2);%str1 = '$\int{e^2}dt$'% text(6,0,str1,'Interpreter','latex','fontsize',14)%% xlabel(str1,'Interpreter','latex','fontsize',14)legend('x1(rad)', 'x2(rad/s)')title('输出隶属函数中心值:[-20,-15,0,15,20]')subplot(2,1,2)plot(t,y(:,3),'r')xlabel('t(sec)')ylabel('u(N)')% str1=sprintf('t(sec)--index:$\\int{u^{2}(t)dt}$= %f', int_u2);% %H = Title(str1,'Interpreter','latex','fontsize',14)% xlabel(str1,'Interpreter','latex','fontsize',14)% inverted pendulum stabilized% program on 2006,10,26function xdot = P_Pendulum(t,x)global RULE;global UCenter;global step;global k;global Kc;global QQ;global Width;global RuleMatch; %前件匹配方式0 取小;1乘积global Defuzzy; %反模糊化方法0: COG ; 1:COA; 2:MAXglobal g0;global g1;global h;M = 1;m =0.5;g = 9.8;l = 0.5;a = 1/(m+M);%计算隶属度mu_e= emembershipdegree(-x(1)*g0);mu_de = demembershipdegree(-x(2)*g1);%pausemu_e_id = find(mu_e>0);mu_de_id = find(mu_de>0);eLen= length(mu_e_id);deLen = length(mu_de_id);mu_pre= zeros(1,4);fuzzy_out = zeros(1,4);weight = zeros(1,4);in =1;%规则匹配for (i=1:eLen)for(j=1:deLen)switch RuleMatchcase 0%前件采用取小推理mu_pre(in)= min(mu_e(mu_e_id(i)),mu_de(mu_de_id(j)));case 1%前件采用乘积推理mu_pre(in)= mu_e(mu_e_id(i))*mu_de(mu_de_id(j));end%计算规则匹配度fuzzy_out(in) = RULE(mu_e_id(i),mu_de_id(j));in=in+1;endendnRule = eLen *deLen;u = 0;summu =0;%反模糊化for(i=1:nRule)switch Defuzzycase 0%按照重心法计算(COG)weight(i)= Width(fuzzy_out(i))*(mu_pre(i)-mu_pre(i)*mu_pre(i)/2);case 1% 按照中心平均法weight(i)=mu_pre(i);case 2% 取大法(大中求中)[max_v,max_id] = max(mu_pre);weight(max_id)=1;endu = weight(i)*UCenter(fuzzy_out(i))+u;summu =summu + weight(i);end%u=0;u=h*u/summu;if (u>20)u=20;endif (u<-20)u=-20;endt% if(t>2.5 && t<2.6 )% u=u+20;% end% if (u>20)% u=20;% end%% if (u<-20)% u=-20;% end% xdot(1)=x(2);% xdot(2)=(g*sin(x(1))-a*m*l*x(2)*x(2)*sin(2*x(1))/2-a*cos(x(1))*x(3))/(4*l/3-a*m*l*cos(x(1))*cos(x(1))); % xdot(3)=-100*x(3)+100*u;% x(3) = u;xdot(1)=x(2);xdot(2)=(g*sin(x(1))-a*m*l*x(2)*x(2)*sin(2*x(1))/2-a*cos(x(1))*x(3))/(4*l/3-a*m*l*cos(x(1))*cos(x(1))); xdot(3)=-100*x(3)+100*u;xdot = xdot';y=zeros(1,5);if (x<= -pi/2)y(1) =1 ;elseif (x<=-pi/4)y(1) = abs(x+pi/4)/(pi/4);y(2) = 1-abs(x+pi/4)/(pi/4); elseif (x<= 0)y(2) = 1-abs(x+pi/4)/(pi/4);y(3) = 1- abs(x)/(pi/4);elseif (x<=pi/4)y(3) = 1- abs(x)/(pi/4);y(4) = 1-abs(x-pi/4)/(pi/4); elseif (x<=pi/2)y(4) = 1-abs(x-pi/4)/(pi/4);y(5) = abs(x-pi/4)/(pi/4);elseif (x>pi/2)y(5) =1;endfunction y = demembershipdegree(x) y=zeros(1,5);if (x<= -pi/4)y(1) =1 ;elseif (x<=-pi/8)y(1) = abs(x+pi/8)/(pi/8);y(2) = 1-abs(x+pi/8)/(pi/8); elseif (x<= 0)y(2) = 1-abs(x+pi/8)/(pi/8);y(3) = 1- abs(x)/(pi/8);elseif (x<=pi/8)y(3) = 1- abs(x)/(pi/8);y(4) = 1-abs(x-pi/8)/(pi/8); elseif (x<=pi/4)y(4) = 1-abs(x-pi/8)/(pi/8);y(5) = abs(x-pi/8)/(pi/8);elseif (x>pi/4)y(5) =1;endy=zeros(1,5); if (x<= -30) y(1) =0 ; elseif (x<=-20)y(1) = 1-abs(x+20)/(10); elseif (x<=-10)y(1) = 1-abs(x+20)/(10); y(2) = 1-abs(x+10)/(10); elseif (x<= 0)y(2) = 1-abs(x+10)/(10); y(3) = 1- abs(x)/(10); elseif (x<=10)y(3) = 1- abs(x)/(10); y(4) = 1-abs(x-10)/(10); elseif (x<=20)y(4) = 1-abs(x-10)/(10); y (5) = 1-abs(x-20)/(10); elseif (x>30) elseif (x<=30)y(5) = 1-abs(x-20)/(10); elseif (x>30) y(5) =0; end不同的推理方式,反模糊化方法初始值:x0=[0.1 0]’t(sec)u (N )t(sec)u (N )t(sec)u (N )t(sec)u (N )t(sec)u (N )t(sec)u (N )不同的初始条件前件隶属度函数计算方法:乘积模糊蕴含关系计算方法:取小 反模糊化方法:COGt(sec)u (N )t(sec)u (N )t(sec)u (N )t(sec)u (N )结论:当初始角达到一定程度时,控制力趋向饱和,系统不稳定。

dq075阶倒立摆系统的双闭环模糊控制与MATLAB仿真

dq075阶倒立摆系统的双闭环模糊控制与MATLAB仿真

第1章引言1.1 模糊控制理的发展历史、研究现状及展望1.1.1 模糊控制理论的发展历史模糊逻辑控制(Fuzzy Logic Control)简称模糊控制(Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。

在人类自然科学的发展历史上,人们总是以追求事物的精确性描述为目的来进行研究,并取得了大量的成果。

随着科学技术的进步,在社会生产和生活中存在的大量的不确定性开始引起人们的注意。

1965年,美国的L.A.Zadeh教授创立了模糊集合论;1973年他给出了模糊逻辑控制的定义和相关的定理。

1974年,英国的E.H.Mamdani首先用模糊控制语句组成模糊控制器,并把它应用于锅炉和蒸汽机的控制,在实验室获得成功。

这一开拓性的工作标志着模糊控制论的诞生。

模糊控制实质上是一种非线性控制,从属于智能控制的范畴。

模糊控制的一大特点是既具有系统化的理论,又有着大量实际应用背景。

模糊控制的发展最初在西方遇到了较大的阻力;然而在东方尤其是在日本,却得到了迅速而广泛的推广应用。

近20多年来,模糊控制不论从理论上还是技术上都有了长足的进步,成为自动控制领域中一个非常活跃而又硕果累累的分支。

其典型应用的例子涉及生产和生活的许多方面,例如在家用电器设备中有模糊洗衣机、空调、微波炉、吸尘器、照相机和摄录机等;在工业控制领域中有水净化处理、发酵过程、化学反应釜、水泥窑炉等的模糊控制;在专用系统和其它方面有地铁靠站停车、汽车驾驶、电梯、自动扶梯、蒸汽引擎以及机器人的模糊控制等。

目前,模糊控制技术日趋成熟和完善。

各种模糊产品充满了日本、西欧和美国市场,如模糊洗衣机、模糊吸尘器和模糊摄像机等等,模糊技术几乎变得无所不能,各国都争先开发模糊新技术和新产品。

多年来一直未解决的稳定性分析问题正在逐步解决。

模糊芯片也已研制成功且功能不断加强,成本不断下降。

直接采用模糊芯片开发产品己成为趋势。

基于matlab的倒立摆模糊控制

基于matlab的倒立摆模糊控制

智能控制理论及应用课程设计报告题目:基于matlab的倒立摆模糊控制院系:西北民族大学电气工程学院专业班级:10级自动化(3)班学生姓名:蔡余敏学号:P101813455指导教师:刁晨2013.10基于MATLAB的倒立摆模糊控制作者:蔡余敏指导老师:刁晨摘要:倒立摆的控制问题就是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。

当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。

本文主要针对较为简单的单级倒立摆控制系统而进行的设计分析。

通过建立微分方程模型,求出相关参数,设计出对应的模糊控制器,并运用MATLAB软件进行系统模型的软件仿真,从而达到预定控制效果。

目前,一级倒立摆的研究成果应用于火箭发射推进器和控制卫星的飞行状态等航空航天领域。

关键词:单级倒立摆;微分方程;模糊控制;MATLAB仿真1背景分析倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。

对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。

通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。

同时,其控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫星飞行中的姿态控制等。

正是由于倒立摆系统的特殊性,许多不同领域的专家学者在检验新提出理论的正确性和实际可行性时,都将倒立摆系统作为实验测试平台。

再将经过测试后的控制理论和控制方法应用到更为广泛的领域中去。

现代控制理论已经在工业生产过程、军事科学、航空航天等许多方面都取得了成功的应用。

例如极小值原理可以用来解决某些最优控制问题;利用卡尔曼滤波器可以对具有有色噪声的系统进行状态估计;预测控制理论可以对大滞后过程进行有效的控制。

但是它们都有一个基本的要求:需要建立被控对象的精确数学模型。

第三章模糊控制模糊控制的MATLAB仿真优秀课件

第三章模糊控制模糊控制的MATLAB仿真优秀课件
>> r=2; % 键入半径
>> area=pi*r^2; % 计算面积
Hale Waihona Puke 三、变量和数值显示格式1、变量
(1)变量名称
MATLAB对使用变量名称的规定:
1. 变量名称的英文大小写是有区别的(apple, Apple, AppLe,三个变量不同)。
2. 变量的长度上限为 31 个字元。
3. 变量名的第一个字必须是一英文字,随后可 以掺杂英文字、数字或是底线。变量中不能 包含有标点符号。
>> r=2, area=pi*r^2
>> r=2; area=pi*r^2;
请注意上述二式的差异,前者有计算值显示, 而后者则无。
另外一个符号注解是由%起头,也就是说在%之后 的任何文字都被视为程式的注解。注解的功能是 简要的说明程式的内容。任何可能产生混淆的地 方都应该加注解,适量的注解可在以后想了解程 式时能节省一些不必要的时间。例如:
❖ format只是影响结果的显示,不影响其计算与存储; MATLAB总是以双字长浮点数(双精度)来执行所 有的运算。
MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可 以直接在指令视窗键入以下的各个数字显示格式的指令,以π值 为例 :
>> pi ans = 3.1416 >> format long >> pi ans = 3.14159265358979 >> format short e >> pi ans = 3.1416e+000
如果结果为整数,则显示没有小数;如果结果不是整数, 则输出形式有:
四、简单的数学运算(例exp02_01.m)

倒立摆模糊控制系统仿真

倒立摆模糊控制系统仿真

倒立摆模糊控制系统仿真Champagne【摘要】在模糊系统控制模型中,倒立摆模型是一个较为典型的实例,针对多变量输入、非线性结构的倒立摆系统,可以通过matlab 仿真平台对具体的模型对象进行认识和研究。

首先是对这样一个具有实际物理意义的模型进行建模,通过对模型的数学分析来选择适当的模糊控制途径,最后通过仿真来获得更多的有关模型的信息。

本文站在一个初学者的角度,通过相关资料的检索以及matlab 的具体实践,用图形的方法来描述这种模型的处理过程。

这种方案实现了摆干角度与小车位置的双重控制的功能,而且实现的良好的动态性能以及稳态性能的输出。

验证了使用模糊控制方案对倒立摆模型进行描述和控制的有效性。

关键词:模糊控制 倒立摆 系统仿真 matlab倒立摆系统的控制是控制理论应用的一个典型范例,其结构简单、成本较低,便于用模拟或数字的方法进行控制。

其结构形式虽然多种多样,但无论何种结构就其本身而言,都是一个非最小相位、多变量、绝对不稳定的非线性系统。

由于倒立摆系统的绝对不稳定性,必须采用有效的措施控制其达到相对稳定的状态。

同时由于摩擦等因素的存在,使系统具有一定的不确定性。

因而需要寻找一种非传统的控制方式。

目前已经相对发展成熟的是模糊控制系统,而这种控制方式的典型应用之一就是倒立摆系统。

倒立摆系统的简化物理模型如下图所示:该系统的微分方程是:)()sin(lg)(/222t u m dt d ml ==+-τθθ其中m 是摆杆的质量,l 是摆长,θ是从垂直方向上的顺时针偏转角,τ=u(t)为作用于杆的逆时针扭矩,t 是时间,g 是重力加速度常数。

假设x1=θ,x2=d θ/dt 为状态变量,则由微分方程式给出的非线性系统的状态表达式为 21/x dt dx =)()/1()sin()/(/212t u ml x l g dt dx -=由于偏转角很小时,sin θ=θ,可以将状态空间线性化表示: 21/x dt dx =)()/1()/(/212t u ml x l g dt dx -=线性离散时间状态空间表达式可以用矩阵差分方程来表示: )()()1(211k x k x k x +=+ )()()()1(212k u k x k x k x -+=+两个输入变量的论域为[-2,2]和[-5,5]所以分别在两个输入变量的空间建立相应的隶属度函数。

基于ADAMS与MATLAB的倒立摆联合仿真实验5篇

基于ADAMS与MATLAB的倒立摆联合仿真实验5篇

基于ADAMS与MATLAB的倒立摆联合仿真实验5篇第一篇:基于ADAMS与MATLAB的倒立摆联合仿真实验基于ADAMS与MATLAB的倒立摆联合仿真实验一、实验目的在传统的机电一体化研究设计过程中,机械工程师和控制工程师虽然在共同设计开发一个系统,但是他们各自都需要建立自己的模型,然后分别采用不同的分析软件,对机械系统和控制系统进行独立的设计、调试和试验,最后进行机械系统和控制系统各自的物理样机联合调试,如果发现问题又要回到各自的模型中分别修改,然后再联合调试,显然这种方式费时费力。

基于多领域的建模与联合仿真技术很好的解决了这个问题,为机械和控制系统进行联合分析提供了一种全新的设计方法。

机械工程师和控制工程师就可以享有同一个样机模型,进行设计、调试和试验,可以利用虚拟样机对机械系统和控制系统进行反复联合调试,直到获得满意的设计效果,然后进行物理样机的建造和调试。

ADAMS与MATLAB是机械系统仿真和控制系统仿真领域应用较为广泛的软件,其中ADAMS为用户提供了强大的建模、仿真环境,使用户能够对各种机械系统进行建模、仿真和分析,具有十分强大的运动学和动力学分析功能;而MATLAB具有强大的计算功能、极高的编程效率及模块化的建模方式,因此,把ADAMS与MATLAB联合起来仿真,可以充分将两者的优势相结合,将机械系统仿真分析同控制系统设计有机结合起来,实现机电一体化的联合分析。

本实验以倒立摆为例,进行ADAMS与MATLAB的联合仿真,对倒立摆的运动性能和运动规律进行分析。

二、实验方法软件环境:MD ADAMS R3,MATLAB R2009b 2.1 建立倒立摆的动力学模型启动ADAMS/View模块弹出如图1所示对话框,建立小车及摆杆模型。

首先选择“Create a new model”选项,创建一个新的模型,将该文件保存在相应的文件夹下,本实验将结果保存在E:daolibai_adams文件夹下,将文件名取为“daolibai_adams”,其余选项保持默认。

基才Matlab的倒立摆系统实时模糊控制研究

基才Matlab的倒立摆系统实时模糊控制研究

基才Matlab的倒立摆系统实时模糊控制研究徐雄,石曙东(湖北师范学院计算机科学系,湖北黄石 435002)1 引言倒立摆系统是一种是非最小相位系统,它具有非线性、多变量和不稳定的特点,因而成为控制理论教学和科研的典型对象,以往主要通过软件仿真或在精密倒立摆上实现各种控制算法,而对倒立摆硬件系统开发的相关报道却甚少。

目前,国内各高校基本上都采用香港固高公司和加拿大Quanser公司生产的系统,由于采用高精度的零部件,因此,硬件成本较高;其软件大多采用VC等可视化编程软件来开发,研发周期长,并且不提供源代码,缺乏可读性和再利用性。

本文介绍一种倒立摆系统的软硬件开发,其硬件系统具有低成本、高可靠性和稳定性等优点;其软件系统在Matlab环境下编程和实时控制,源代码完全开放,而且可调用丰富的Matlab工具箱函数,非常适用于教学和科研上的再学习和开发。

2 倒立摆系统的硬件设计一级水平倒立摆硬件系统框图如图1所示,多级水平倒立摆也相类似,区别之处只是摆杆不同。

倒立摆系统由导轨、力矩电机、滑块与摆杆、皮带等部件组成。

摆杆连接滑块,滑块由皮带拖动在导轨上滑行。

滑块离中心点的水平位移和摆杆的角度分别由旋转编码器1和2检测,通过旋转编码器信息采集卡转换后对应于θ和x的计数值。

在导轨的两侧各有一个限位开关(常闭),当滑块滑行到两侧时,将碰到限位开关并使其断开,用来判断滑块的位置是否超出限定范围以及是否立即停止电机运行。

限位开关的通断信号由数据采集卡I/O采集,控制电压通过数据采集卡D/A输出,经过力矩电机控制器转换后作用于电机。

硬件系统组成部件说明如表1 所列。

2.1 力矩电机控制器设计数据采集卡D/A输出电压一般为0 V~+5 V或0 V~+10 V,而力矩电机的伺服驱动电压为-24 V~+24 V,因此需要设计一个控制器,将数据采集卡的输出电压按比例转换成力矩电机控制所需的伺服电压。

力矩电机控制器采用不带MPU的分立元件反馈方法设计,以提高可靠性。

单级倒立摆的模糊控制以及在MATLAB中的仿真

单级倒立摆的模糊控制以及在MATLAB中的仿真

单级倒立摆的模糊控制以及在MATLAB中的仿真摘要倒立摆系统是一个典型的多变量、非线性、强藕合和快速运动的自然不稳定系统。

因此倒立摆在研究双足机器人直立行走、火箭发射过程的姿态调整和直升机飞行控制领域中有重要的现实意义,相关的科研成果己经应用到航天科技和机器人学等诸多领域。

本文围绕一级倒立摆系统,采用模糊控制理论研究倒立摆的控制系统仿真问题。

仿真的成功证明了本文设计的模糊控制器有很好的稳定性。

主要研究工作如下:(1)使用了牛顿力学和Lagrange方程对倒立摆进行数学建模,推导出倒立摆系统传递函数和状态空间方程。

(2)分析了模糊控制理论的数学基础,对模糊控制的方法进行了研究:介绍了模糊子集、模糊关系和模糊推理等相关知识。

(3)介绍了如何利用Simulink建立倒立摆系统模型,特别是利用Mask封装功能,使模型更具灵活性,给仿真带来很大方便。

(4)进行一级倒立摆系统的控制器设计与仿真。

通过matlab的Simulink实现倒立摆模糊控制系统的仿真。

说明仿真结果的趋向。

关键词:倒立摆模糊控制仿真MATLAB第一章绪论1.1 倒立摆系统的重要意义倒立摆系统是研究控制理论的一种典型实验装置,具有成本低廉,结构简单,物理参数和结构易于调整的优点,是一个具有高阶次、不稳定、多变量、非线性和强藕合特性的不稳定系统。

在控制过程中,它能有效地反映诸如可镇定性、鲁棒性、随动性以及跟踪等许多控制中的关键问题,是检验各种控制理论的理想模型。

迄今人们已经利用经典控制理论、现代控制理论以及各种智能控制理论实现了多种倒立摆系统的控制稳定。

倒立摆主要有:有悬挂式倒立摆、平行倒立摆、环形倒立摆、平面倒立摆;倒立摆的级数有一级、二级、三级、四级乃至多级;倒立摆的运动轨道可以是水平的,也可以是倾斜的:倒立摆系统己成为控制领域中不可或缺的研究设备和验证各种控制策略有效性的实验平台。

同时倒立摆研究也具有重要的工程背景:如机器人的站立与行走类似双倒立摆系统;火箭等飞行器的飞行过程中,其姿态的调整类似于倒立摆的平衡等等。

模糊控制的Matlab仿真

模糊控制的Matlab仿真
模糊控制的Matlab仿真
为简单起见,我们直接利用系统里已经编辑好的 模糊推理系统,在它的基础上进行修改。这里我 们采用与tank . fis中输入输出变量模糊集合完 全相同的集合隶属度函数定义,只是对模糊规则 进行一些改动,来学习模糊工具箱与仿真工具的 结合运用。对于这个问题,根据经验和直觉很显 然可以得到如下的模糊控制规则:
上图表示当温度为45度、磁能为45瓦时,输出 干度为约70个单位。左右拉动界面中的两支红 线,拉到欲选的近似值,右边图顶显示相应的 干度结果。
上图中选菜单View, 选择Surface,弹出一新界 面Surface Viewer,弹出该课题结果的三维图。 如下图所示。
模糊控制的Matlab仿真
模糊控制技术
模糊控制的Matlab仿真
模糊控制的Matlab仿真
用MATLAB的模糊逻辑工具箱 (Fuzzy toolbox)实现
Matlab4.2以后的版本中推出的模糊工具箱 (Fuzzy Toolbox),为仿真模糊控制系统提供了 很大的方便。
在Simulink环境下对PID控制系统进行建模是 非常方便的,而模糊控制系统与PID控制系统 的结构基本相同,仅仅是控制器不同。
选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部 框内将显示相应的规则。本例中用9条左右的规 则,依次加入。如下图所示:
模糊控制的Matlab仿真
模糊控制的Matlab仿真
模糊逻辑工具箱仿真结果 模糊规则浏览器用于显示各条模糊控制规则对
If (水位误差小)then(阀门大小不变(权重 1 ) If (水位低) then (阀门迅速打开)(权重 1 ) If (水位高) then (阀门迅速关闭)(权重 1 )

旋转倒立摆的模糊控制

旋转倒立摆的模糊控制

WORD文档下载可编辑旋转倒立摆的模糊控制摘要:该文针对一级旋转倒立摆系统进行研究。

基于Lagrange方程进行了对旋转倒立摆的系统建模,并在Matlab环境下使用了模糊控制,实现了倒立摆的良好控制,采用积分消除了稳态误差。

实验证明,此种模糊控制方法有一定的鲁棒性并且控制效果较好。

关键词:一级旋转倒立摆;模糊控制;Matlab一、控制对象一级旋转倒立摆倒立摆系统是自动控制理论中比较典型的控制对象,许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统直观地表现出来。

因此它成为自动控制理论研究的一个较为普遍的研究对象。

倒立摆系统作为一个被控对象,是快速、多变量、开环不稳定、非线性的高阶系统,必须施加十分有力的控制手段才能使之稳定。

对倒立摆的研究在现实中也有一定的指导意义,航天器的发射就是很好的例子, 未来仿人类机器人的发展也离不开倒立摆模型。

一直以来,很多种控制方法已经应用到倒立摆的控制当中本文采用了一种模糊控制方法实现了对一级旋转倒立摆的控制。

目标是使倒立摆在保持平衡的同时,旋臂还能够快速跟踪一个位置给定信号。

该次设计所研究的旋转倒立摆系统模型如图1所示,倒立摆模块由倒立摆的摆杆和一个支撑摆杆的旋转臂组成,摆杆固定在旋转臂一端,可以在垂直于转臂的方向上做360度的转动。

旋臂的另一端安装在一个旋转伺服装置上,伺服装置通过电机驱动齿轮转动来实现旋臂在水平面内做360度的旋转。

在摆杆的底端以及旋臂的里端均装有光电编码器,用来检测角度的变化并将信号传送给计算机。

涉及到的参数有:θ1 ——旋转臂的旋转角l1 ——旋转臂从电机轴到摆支撑点的长度——0 . 25mJ1 ——为旋转臂的转动惯量——0 . 01kg ·m2θ2 ——倒立摆的旋转角l2 ——倒立摆的旋转轴到重心的长度——0 . 1mm2 ——倒立摆的质量——0 . 1kgJ2 ——倒立摆的转动惯量——0 . 001kg·m2M ——电机产生的转矩二、设计方案既涉及设计过程(一)、建模:系统采用拉格朗日动力学分析法[1] 建立运动方程为:因摆杆摆动幅度小, 可认为sinθ1≈θ1 , sinθ2≈θ2 , cos (θ2 +θ1) ≈1 , 由此将(1) 式和(2) 式作线性化处理,得:由(3) 式和(4) 式可求出:令系统的状态矢量为x = [ x1 x2 x3 x4 ]′=[θ1 θ2 θ1′θ2′]′,得状态空间方程:即输入而输出部分的故输出为由于旋转倒立摆系统自身的特点,在没有控制或控制效果不佳的情况下很难稳定。

倒立摆模糊控制(课堂用)

倒立摆模糊控制(课堂用)

角位置θ(t)的模糊调整
角位置模糊调整定义三阶段
– 输入模糊化,定义隶属函数 – 定义推理规则,由从模糊输入变量中定义
的模糊输出变量组成,使用算术和蕴含法 则 – 输入非模糊化,从定义的模糊输出集合中 找到输出信估计。
摆杆运动的Sugeno规则表
角位置θ(t)的隶属函数图像
小车位置和角度的模糊控制
数学建模(二)
质元动能
势能:
–其中 –p是摆杆线密度
系统总动能量与总势能由对Kdm和Pdm积分获得
数学建模(三)
拉格朗日方程
欧拉-拉格朗日方程
数学建模(四)
得到摆Байду номын сангаас运动方程
简化得:
倒立摆系统的过程状态模型
系统状态矢量
实时角度摄动模糊制导
三个阶段
角度传感 器输入
模糊化
参考
去除模 糊化
输出到制 导模块
模糊控制器对角度摄动的反应
结论及改进
倒立摆的偏角很小 角度摄动模糊制导方案对摆角的控制
– 很高的精确度 – 快速的反应能力
改进
– 提高传感器的灵敏度 – 提高系统集成度,减少信号延迟 – ……
致谢
原文作者:吴楠, 《单级倒立摆系统角 运动控制方案建模及仿真》,《系统仿 真学报》sept.2003
控制倒立摆的稳定
简化模型:
令fp和fc均为o (摩擦阻力)
物理模型图示
图1 单机倒立摆系统的物理模型
数学建模(一)
令小车水平位移为x,运动速度为x’,加速度x” 小车动能Kc=(1/2)Mx’2
选择特定参考平面使得小车势能为0 摆杆长度为l,某时刻摆角为θ 选择质元dm(摆杆上与固定连接点距离q处)

毕业设计基于模糊控制的倒立摆系统及MATLAB仿真

毕业设计基于模糊控制的倒立摆系统及MATLAB仿真

摘要倒立摆系统是研究控制理论的一种典型的实验装置,广泛应用于控制理论研究,航空航天控制等领域,其控制研究对于自动化控制领域具有重要的价值。

然而,倒立摆装置是一个绝对不稳定系统,具有高阶次、非线性、强耦合等特性,本文应用模糊控制策略对其进行控制研究。

本文应用牛顿力学定律建立了直线一级倒立摆的状态方程数学模型并推导了简化的传递函数数学模型,分析了其稳定性,可控性和可观测性。

研究了控制系统整体结构,建立了模糊控制器,在MATLAB平台上对模糊控制系统进行了仿真研究,并对获得的控制系统输出图进行了性能分析。

关键词:一阶倒立摆,数学模型,模糊控制, MATLAB仿真AbstractInverted pendulum control system is to study the theory of a typical experimental device, widely used in control theory, the field of aerospace control, its control is important for the automation and control value. However, the inverted pendulum device is an absolute unstable system, with high time, nonlinear, strong coupling and other features, this fuzzy control strategy to control research.In this paper, Newton's laws of mechanics to establish a line-level inverted pendulum equation of state mathematical model to derive the simplified transfer function model to analyze its stability, controllability and observability. Of the control system as a whole structure of a fuzzy controller, in the MATLAB platform for fuzzy control system was simulated, and access control system output graph of the performance analysis.Keywords: inverted pendulum, mathematical model, fuzzy control, MATLAB simulation目录摘要 (i)Abstract (ii)第一章倒立摆系统简介 (1)1.1倒立摆系统概述 (1)1.2倒立摆的控制目标及研究意义 (1)1.3倒立摆系统控制方法简介 (2)1.4论文的主要工作 (4)第二章模糊控制概述 (6)2.1控制理论简介 (6)2.1.1经典控制理论 (6)2.1.2现代控制理论 (6)2.1.3模糊控制与经典控制理论的比较 (8)2.2模糊控制的数学基础 (9)2.2.1模糊子集与运算 (9)2.2.2模糊关系与模糊关系合成 (11)2.2.3模糊推理 (12)第三章控制系统分析与模糊控制方法研究 (15)3.1控制系统结构及工作原理 (15)3.1.1控制系统结构 (15)3.1.2模糊控制器的工作原理 (16)3.2精确量的模糊化 (17)3.2.1模糊控制器的语言变量 (17)3.2.2量化因子与比例因子 (17)3.2.3语言变量值的选取 (18)3.2.4语言变量论域上的模糊子集 (18)3.3常见的模糊控制规则 (19)3.4输出信息的模糊判决 (20)3.4.1基于推理合成规则进行模糊推理 (20)3.4.2输出信息的模糊判决 (20)3.5本章小结 (21)第四章倒立摆系统建模 (21)4.1常见的倒立摆类型 (21)4.2倒立摆系统建模 (23)4.3系统可控性分析 (27)第五章倒立摆模糊控制器的设计及仿真 (29)5.1倒立摆的稳定模糊控制器的设计 (29)5.1.1位置模糊控制器的设计 (29)5 .1.2角度模糊控制器的设计 (34)5.1.3稳定控制器的实现 (34)5. 2一级倒立摆系统仿真 (35)5.2.1 Simulink简介 (36)5.2.2系统仿真 (37)第六章总结 (44)致谢 (45)参考文献 ......................................................................................................................... 错误!未定义书签。

单级倒立摆的模糊控制应用1

单级倒立摆的模糊控制应用1

单级倒立摆的模糊控制应用1.摘要:随着被控对象的日趋复杂,对控制性能的要求不断提高,传统控制理论对解决复杂系统无能为力。

该文将人工智能中的模糊控制引入倒立摆控制系统,以提高控制要求,改善控制精度。

通过仿真实验表明这种控制思路是可行的,效果良好。

2.关键词:倒立摆,模糊控制,双闭环模糊控制器,模糊推理系统,MATLAB仿真3.引言倒立摆系统是一个复杂的非线性系统。

从形式上倒立摆系统可以分为直线型、环型和平面型,按照摆杆的数量可以分为一级、二级、三级倒立摆系统.倒立摆控制是一个经典的控制平衡问题。

作为典型的快速、多变量、非线性、绝对不稳定系统,一直是控制理论与应用的热点问题,不但是验证现代控制理论方法的典型实验装置,而且其控制方法和思路对处理一般工业过程亦有广泛的用途,因此倒立摆系统的研究具有重要的理论研究和实际应用价值。

许多抽象的控制概念如控制系统的稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以通过倒立摆系统直观的表现出来。

倒立摆系统的高阶次、不稳定、多变量、非线性和强耦合等特性使得许多现代控制理论的研究人员一直将它视为研究对象。

他们不断从研究倒立摆控制方法中发掘出新的控制方法,并将其应用于航天科技和机器人学等各种高新科技领域。

由于它的行为与火箭以及两足机器人行走有很大的相似性,因而对其研究具有重大的理论和实践意义。

本文阐述了倒立摆系统控制的研究发展过程和现状;研究了倒立摆系统的各种控制策略。

把倒立摆系统的动态方程在其工作点附近进行线性化,得出其线性化方程,然后运用MA TLAB 程序对极点配置控制器和LQR控制器进行了仿真,针对实际系统总结出这两种理论的经验参数,并对两种理论的控制效果进行了对比。

由于被控对象的日趋复杂,对控制性能的要求不断提高,传统控制理论对解决复杂系统效果不好。

本文将人工智能中的模糊控制引入控制系统,设计了一个四维基本模糊控制器,并在此基础上设计了一个双闭环模糊控制器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY题目:院(系):专业:学生姓名:学号:模糊控制在倒立摆中的仿真应用1、倒立摆系统简介倒立摆有许多类型,例如图1-1的a和b所示的分别是轮轨式一级倒立摆系统和二级倒立摆系统的模型。

倒立摆是一个典型的快速、多变量、非线性、本质不稳定系统,它对倒置系统的研究在理论上和方法论上具有深远的意义。

对倒立摆的研究可归结为对非线性多变量本质不稳定系统的研究,其控制方法和思路在处理一般工业过程中也有广泛的用途。

近些年来国内外不少专家学者对一级、二级、三级、甚至四级等倒立摆进行了大量的研究,人们试图寻找不同的控制方法实现对倒立摆的控制,以便检查或说明该方法的严重非线性和本质不稳定系统的控制能力。

2002年8月11日,我国的李洪兴教授在国际上首次成功实现了四级倒立摆实物控制,也标志着我国学者采用自己提出的控制理论完成的一项具有原创性的世界领先水平的重大科研成果。

图1-1 倒立摆模型(a)一级倒立摆模型(b)二级倒立摆模型倒立摆系统可以简单地描述为小车自由地在限定的轨道上左右移动。

小车上的倒立摆一端用铰链安装在小车顶部,另一端可以在小车轨道所在的垂直平面内自由转动,通过电机和皮带传动使小车运动,让倒立摆保持平衡并保持小车不和轨道两端相撞。

在此基础上在摆杆的另一端铰链其它摆杆,可以组成二级、三级倒立摆系统。

该系统是一个多用途的综合性试验装置,它和火箭的飞行及步行机器人的关节运动有许多相似之处,其原理可以用于控制火箭稳定发射、机器人控制等诸多领域。

倒立摆系统控制原理单级倒立摆系统的硬件包括下面几个部分:计算机、运动控制卡、伺服系统、倒立摆和测量元件,由它们组成的一个闭环系统,如图1-2所示,就是单级倒立摆系统的硬件结构图。

图1-2 单级倒立摆硬件结构图通过角度传感器可以测量摆杆的角度,通过位移传感器可以得到小车的位置,然后反馈给运动控制卡,运动控制卡与计算机双向通信。

计算机获得实时数据,确定控制策略,发送到运动控制卡,运动控制卡执行计算机确定的控制策略,产生相应的控制量,由伺服电机转动来带动小车在水平轨道往复的运动,使摆杆保持倒立。

倒立摆系统状态方程θf图1-3 单级倒立摆模型图θ为杆与垂线的夹角,f为作用力,杆的质量m=,杆和小车的总重量m=,半杆长l=,重力加速度g=s2,采样周期T=.倒立摆的数学模型为:πθθπθθθθ180cos )3/4(]sin )180/([cos sin 22⨯-+-=•≈l m ml l m f mg p p (式 我们可以实时量测角度θ,并计算出角速度,控制的任务是产生合适的作用力f ,以使倒立摆保持直立状态。

采用C-FC 的控制系统如图1-4图1-4 倒立摆模糊控制系统 2、 模糊控制 简介众所周知,人类的思维是极其粗略的,语言表达是模糊的,它的逻辑是定性的,因此“模糊概念”更适合于人们地观察、思维、理解与决策,这也更适合于客观现象和事物的模糊性(fuzzienss)。

于是由此便产生了模糊数学和模糊控制的概念。

模糊数学和模糊控制的概念由美国加利福尼亚大学著名教授查得在他的《Fuzzy Sets 》、《Fuzzy Algorithm))和《A Retionnale for Fuzzy Control 》心著名论著中首先提出。

1972年2月,日本以东京工业大学为中心,发起成立“模糊系统研究会”,1973年公开使用了“模糊工程”这一名词。

从那以后,模糊控制理论在全世界范围内迅速蔓延。

尽管模糊集理论的提出至今只有30年,但是其发展迅速。

历年来在模糊理论与算法、模糊推理、工业控制应用、模糊硬件与系统集成,以及稳定性理论研究等方面,发表了很多对模糊控制理论和模糊系统的研究和发展有重大促进意义的论文。

80年代以来,自动控制系统被控对象的复杂化,它不仅表现在控制系统具有多输入一多输出的强耦合性、参数时变性和严重的非线性特性,更突出的是从系统对象所能获得的知识信息量相对地减少,以及与此相反地对控制性能的要求却日益高度化。

然而“当一个系统复杂性增大时,人们能使它精确化地能力将降低,当达到一定的阐值时,复杂性和精确性将相互排斥”(即“不相容原理”)。

也就是说,在多变量、非线性、时变的大系统中,系统的复杂性与人类要求的精确性之间形成了尖锐矛盾。

因此,要想精确地描述复杂对象与系统的任何物理现象和运动状态,实际上己经是不可能的。

关键的是如何使准确和简明之间取得平衡,而使问题的描述具有实际意义。

这种描述的模糊性对问题的求解并非有害,却能高效率地对复杂事物作出正确无误的判断和处理。

因此模糊控制理论的研究和应用在现代控制领域中有着重要的地位和意义。

经典控制理论首先被使用线性小规模系统的自动化领域,然而随着计算机技术的发展,现代控制理论在大规模线性多变量系统也得到应用。

但是对于非线性复杂系统,这些控制策略却难以适用,它不仅算法极其复杂,而且无望获得满意的结果。

今年来,采用专家知识的人工智能和智能信息处理技术,虽然引起了人们的重视,但它不能作为模拟控制,且其知识库庞大,设计也十分困难。

模糊控制不仅适用于小规模线性单变量系统,而且逐渐向大规模、非线性复杂系统扩展,从己经实现的控制系统来看,它具有易于熟悉、输入量连续、可靠性高、能发挥熟练专家操作的良好自动化效果等优点。

至今,世界上研究“模糊”的学者己经越来越多,研究的范围从单纯的模糊数学到模糊理论应用、模糊系统及其硬件集成。

与知识工程和控制方面有关的研究有模糊建模理论、模糊序列、模糊识别、模糊知识库、模糊语言规则、模糊近似推理等。

近年来,已经将神经网络和模糊技术互相结合,取长补短,形成一种模糊神经网络技术,由此可以组成一种更接近人脑的智能信息处理系统其发展前景十分广阔。

我国模糊控制理论及其应用方面的研究工作是从1979年开始的,至今己有20多年的时间,大多数是在著名的高等院校和研究所中进行理论研究,如对模糊控制系统的结构、模糊推理算法、自学习或自组织模糊控制器,以及模糊控制稳定性等问题的研究,而其成果应用主要集中于工业炉窑方面,如退火炉、电弧冶炼炉、水泥窑以及造纸机的控制等。

模糊控制理论的基本概念模糊控制是基于模糊数学的理论知识,模仿人类大脑的思维方式,识别和判断模糊现象的。

通过模糊推理得到精确的控制量,实现对被控对象的控制。

关于模糊控制的基本概念:1) 论域论域是指所研究的事物的范围或全部的研究对象。

论域中的事物称为个体,具有某种特定属性的全部事物可以称为集合,一部分个体组成的集合称为子集。

2) 隶属函数由某种特定的属性形成的集合A,它的论域为U,在康托创立的经典集合理论中,把属于集合A的元素 u的特征函数值定义为1,把不属于集合A的元素u的特征函数值定义为0.3) 模糊推理模糊推理是以模糊逻辑为基础的,它是一种不确定性推理方法。

当推理判断具有模糊性时,称之为模糊推理。

在这个过程中,推理判断的依据称为模糊控制律。

假设集合A是论域U上的模糊子集,集合B和集合C是论域Y上的模糊子集,则模糊推理可以用下面的条件语句表示:If x = A Then y = B else y = c该条件语句可以表示为从论域U到论域Y的一个模糊关系R,可表示为:此时,隶属函数为:模糊控制原理如图2-1所示表示模糊控制的基本原理,模糊控制器是模糊控制的核心部分。

通过传感器采样,计算机可以获得被控量的精确值,然后把精确值与给定值作出比较,得到误差信号,误差信号通常可以作为模糊控制器的输入量。

首先把精确的误差信号值模糊化,得到误差信号的模糊子集,然后通过模糊控制规律进行模糊推理,得到一个模糊的控制量,接着把模糊的控制量进行解模糊处理,得到精确的数字控制量,经D/A 转换输入到执行机构,实现对被控对象的控制。

图2-1 模糊控制原理框图如图2-2所示是模糊控制器的组成部分,它包括输入量模糊化接口、知识库、模糊推理机和解模糊化接口四个部分图2-2模糊控制器结构图1) 模糊化接口系统的输入量通常是一个精确值,必须由模糊化接口处理之后,才能适用于模糊控制器的求解。

因此模糊化接口实际上是模糊控制器的输入接口,它的作用是把精确的输入量转化为一个模糊量。

对于模糊变量 e,通常可以将它的模糊子集划分为a) e={负,零,正}={N,Z,P}b) e={负大,负小,零,正小,正大}={NB,NS,Z,PS,PB}c) e={负大,负中,负小,零,正小,正中,正大}={NB,NM,NS,Z,PS,PM,PB}2) 知识库知识库是由数据库和规则库构成。

输入变量和输出变量的模糊子集的隶属度值都存放在数据库中;规则库用来存储所有的模糊控制规则,为模糊推理机推理时提供控制律。

,3) 模糊推理机模糊控制量是由模糊推理机得到的,它是根据输入模糊量,由模糊控制规则推理得到的。

目前模糊推理方法很多,常用的有 Mamdani 推理法、Larsen 推理法、Zadel推理法等4) 解模糊接口模糊推理得到的结果通常是一个模糊量,不能直接作为控制量作用到被控系统上。

因此,需要把它转换为一个可以被执行机构识别的精确值,该过程就叫做解模糊。

通常采用的解模糊方法也有很多种,例如重心法、最大隶属度法、加权平均法、中位数法等.3、倒立摆在仿真中的应用连续的模糊控制S函数function [sys,x0,str,ts] = whatisit(~,x,u,flag )switch flagcase 0[sys,x0,str,ts]=mdlInitializeSizes;case 1sys=mdlDerivatives(x,u);case 3sys=mdlOutputs(x);case {2,4,9}sys=[];otherwiseerror(['Unhandled flag=',num2str(flag)]);endfunction [sys,x0,str,ts]=mdlInitializeSizes()sizes=simsizes;=2;=0;=1;=1;=0;=1;sys=simsizes(sizes);x0=[10;10];str=[];ts=[0 0];function sys=mdlDerivatives(x,u)sys(1,1)=x(2);sys(2,1)=*sin((x(1)*pi)/180)-cos(x(1)*pi/180)*(u+*(x(2)*pi/180)^2*sin(x(1)*pi/180)))/((4/3)* sys=mdlOutputs(x)sys=x(1);simulink模块图图仿真模块图将设置好的模糊规则放进模块fuzzy logic controller,编写好的s函数放进模块s-function中。

相关文档
最新文档