1、 系统仿真 课程设计报告题 目:一阶倒立摆系统的双闭环模糊控制方案专业、班级: 学生姓名: 学 号: 指导教师: 分 数 : 2012 年 6 月 9 日1目 录摘要: 2一、 引言 2二、设计目的 3三、设计要求 3四、设计原理 3五、设计步骤 31、 单级倒立摆系统的构成 .32、 单级倒立摆的数学模型 .43、模糊控制器的设计 .63.1 单阶倒立摆模糊控制的基本思路 63.2 隶属函数的定义 .63.3 模糊控制器规则 .73.4 解模糊 .84、仿真实验 .84.1MATLAB 模糊逻辑工具箱 84.2 系统数字仿真模型的建立 .115、基于 MATLAB 的数字仿真结果 .12六、
2、结论 .13七、感想和建议 .13八、致谢 .14九、参考文献 .152摘要:通过对单阶倒立摆的双闭环的控制数学模型的分析,采用模糊控制理论对倒立摆的控制系统进行计算机仿真。其中,内环控制倒立摆的角度,外环控制倒立摆的位置。在 Matlab 环境下的仿真步骤包括:定义隶属函数及模糊控制规则集,解模糊。结果表明,摆杆角度和小车位置的控制过程均具有良好的动态性能和稳定性能。关键词:倒立摆;模糊逻辑控制;计算机仿真;MATLABAbstract:based on the ChanJie inverted pendulum double closed loop control mathematical
3、 model analysis, the fuzzy control theory of the inverted pendulum control system by computer simulation. Among them, the inner loop control the point of view of the inverted pendulum, outside loop control the position of the inverted pendulum. In the Matlab environment simulation steps include: def
4、inition membership function and fuzzy control rule sets, solution is fuzzy. The results show that, swinging rod Angle and the car position control process are good dynamic performance and stable performance.Keywords: inverted pendulum; Fuzzy logic control; The computer simulation; Matlab一、引言在人类自然科学的
5、发展历史上,人们总是以追求事物的精确描述为目的来进行研究,并取得了大量的成果。随着科学技术的进步,在社会生产和生活中存在的大量的不确定性开始引起人们的注意。有关模糊不确定性的研究直到1965 年,美国的 L.A.Zadeh 教授首次提出模糊集合的概念之后得到广泛开展。“模糊”是与“精确”相对而言的概念,模糊性普遍存在于人类的思维和语言交流中,是一种不确定性的表现。随机性则是客观存在的另一类不确定性,两者虽然都是不确定性,单存在本质上的区别。模糊性主要是人对概念外延的主观理解上的不确定性,而随机性则主要反映客观上的自然的不确定性,即对事件或行为的发生与否的不确定性。一阶直线倒立摆系统是一个典型的
6、“快速、多变量、非线性、自不稳定系统” ,将模糊控制方法应用于一阶倒立摆系统的控制问题,能够发挥模糊控制在非线性系统控制、复杂对象系统控制方面的优势,简化设计,提高控制系统的3鲁棒性。倒立摆系统是典型的多变量、非线性、强耦合和快速运动的自然不稳定系统。故针对单级倒立摆系统,通过数学建模,采用模糊控制理论研究倒立摆控制系统仿真控制问题。二、设计目的 倒立摆是一个非线性、不稳定系统,经常作为研究比较不同控制方法的典型例子。设计一个倒立摆的控制系统,使倒立摆这样一个不稳定的被控对象通过引入适当的控制策略使之成为一个能够满足各种性能指标的稳定系统。 三、设计要求倒 立 摆 的 设 计 要 求 是 使
7、摆 杆 尽 快 地 达 到 一 个 平 衡 位 置 , 并 且 使 之 没 有 大的 振 荡 和 过 大 的 角 度 和 速 度 。 当 摆 杆 到 达 期 望 的 位 置 后 , 系 统 能 克 服 随 机 扰动 而 保 持 稳 定 的 位 置 。 实验参数自己选定,但要合理符合实际情况,使用模糊控制方式,并利用 MATLAB 进行仿真,并用 simulink 对相应的模块进行仿真。四、设计原理倒立摆控制系统的工作原理是:由轴角编码器测得小车的位置和摆杆相对垂直方向的角度,作为系统的两个输出量被反馈至控制计算机。计算机根据一定的控制算法,计算出空置量,并转化为相应的电压信号提供给驱动电路,以
8、驱动直流力矩电机的运动,从而通过牵引机构带动小车的移动来控制摆杆和保持平衡。五、设计步骤1、倒立摆系统的构成图 1 倒立摆系统的组成框图4如图 1 所示为倒立摆的结构图。系统包括计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分,组成了一个闭环系统。光电码盘 1 将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的位置、速度信号由光电码盘 2 反馈回控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等) ,并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,带动小车运动,保持摆杆平衡。2、单级倒立摆的数学模型图 2 一阶倒立摆系
9、统示意图如图 2,系统有沿导轨运动的小车和通过转轴固定在小车上的摆杆组成。建模时,忽略系统中难以建模因素,如空气阻力、伺服电机由于安装而产生的静摩擦力、系统连接处的松弛程度、摆杆连接处质量分布不均匀、传动皮带弹性、传动齿轮间隙等。并将小车抽象为质点,摆杆抽象为匀质刚体,摆杆绕转轴转动,即可通过力学原理建立系统较为精确的数学模型。系统如下假设:摆杆为匀质刚体;摩擦力和相对速度(角速度)成正比。经对小车和摆杆分别进行受力分析,得到以下 2 个微分方程:摆杆在竖直向上状态时称为系统平衡位置,即 时,可近似成rad1.0, 。在平衡位置处线性化,取状态变量=1-cos0sin=,可得系统的状态方程:5
10、表 1 一阶倒立摆的参数表倒立摆的参数如表 1,将其带入式(4) 、 (5)得:63、控制器的设计采用双闭环的倒立摆模糊控制方案,内环控制倒立摆的角度,外环控制倒立摆的位置,如图 3。图 3 倒立摆双闭环模糊控制系统结构图对每个输入变量定义 5 个模糊子集,规则最多有 条,每条有 2 个502=输入 1 个输出,使控制规则设计简单。采用模糊逻辑控制,即实时模糊化、模糊推理、解模糊等运算的模糊控制法。该方法便于调整隶属度、控制规则、比率因子等参数。3.1 单阶倒立摆模糊控制的基本思想理论上模糊控制可以由人的直觉和经验来确定模糊控制规则,但多次仿真证明,倒立摆的模糊控制规则很难确定,原因在于,对倒
11、立摆的任一给定位置,难以确定用多大的力来使它稳定,甚至连力的方向都无法确定,如果控制规则不全,系统极易失控。故模糊控制中,模糊规则的获取是关键问题。对于单级倒立摆的任意位置,虽无法确定所需控制力的大小和方向,但若把摆杆控制范围限定在一定区域内,则可在这个区域内选定若干参考位置,用极点配置法或最优控制法算出稳定每个参考位置所需的力,当摆处于该控制区域内任一位置时,就可以用这一位置附近的所有参考位置估算出该位置所需的控制力。3.2 定义隶属函数由模糊控制理论可知,在进行模糊控制算法的设计之前必须将系统精确量的输入输出转换成对应的语言值,即必须首先确定各个输入输出量的论域及隶属函数。论域的确定可通过
12、对实物装置的测量(如倒立摆的摆角范围和小车位移范围) 、实验辨识或者通过经验知识确定(角速度和线速度范围) 。对于隶属函数形式的选择,为了简化运算、缩短控制周期,对输入、输出变量的隶属函数均采用较为简单的形式。出入变量的隶属函数定义成三角形或7梯形隶属函数,输出变量则采用单点隶属函数。经过这样的定义后系统的模糊化和解模糊过程将变得十分简单。为加快运算速度,对输入变量采用简单的三角形、梯形隶属度函数,对输出变量采用单点的隶属度函数。图 4(a)和(b)分别为内环和外环控制器输入、输出变量的隶属度函数。(a)内环的隶属函数 (b)外环的隶属度函数图 4 隶属度函数3.3 模糊控制规则集模糊控制规则
13、是模糊控制器的核心,它是将操作者的实践经验加以总结,而得到的一条条模糊条件语句的集合。在一阶倒立摆双闭环模糊控制系统中,内、外环控制器的输入量均为偏差及其对应的偏差变化率,输出为控制量。在这种情况下, 对输入为偏差和偏差变化率,输出为控制量的简单模糊控制器,可采用以下经验公式设计控制规则:将 5 个模糊子集(nb,ns,ze,ps,pb)分别用(-2,-1,0,1,2)表示,其结论数字大约是 2 个条件数字和的一半。用此经8验方法先求出控制规则集的初值,再经过调整得到内环和外环的模糊控制规则集如表 2。 表 2 模糊控制规则集3.4 解模糊解模糊过程是模糊化过程的逆过程,即将由模糊控制算法得到
14、的模糊控制输出语言值,依据输出量隶属函数和解模糊规则转换成对应的精确化输出量。由于在一阶倒立摆双闭环模糊控制系统中,内外模糊控制器的输出量的隶属函数均为单点集,所以这里采用重心解模糊的单点公式作为解模糊算法。根据重心法解模糊的单点计算公式可以方便的推导出控制系统内外环解模糊的计算公式。由于输出隶属度函数为单点,解模糊运算简单。以内环为例,有:式中: 为个规则的激活强度, 为输出隶属度函数中各单点值。4、仿真实验首先对 MATLAB 的模糊控制器进行编程,电路图进行设计并且在运行。模糊控制定义了三个不同阶段:一是模糊化阶段,即定义输入输出变量的模糊集;二是模糊推理阶段,即建立模糊规则,这些规则能
15、根据推理阶段得到的值计算实际的输出值。4.1 MATLAB 模糊控制逻辑工具箱使用 MATLAB 模糊逻辑工具箱中的图形界面工具(GUI)可以方便地建立起模糊逻辑系统。MATLAB 模糊逻辑工具箱有五个主要的图形界面工具(GUI),可以用来方便快捷地建立、编辑和观察模糊推理系统。这五个 GUI 工具中包括三9个编辑器:模糊推理系统(FIS)编辑器、隶属函数编辑器、模糊规则编辑器;两个观察器:模糊规则观察器和输出曲面观察器。而且这五个 CUI 工具之间为动态连接-使用中任何一个 GUI 工具中的参数被修改,其他打开的 GUI 工具的相应参数或性质也将自动改变。在 MATLAB 中,打开的 FIS
16、 编辑器,并且设计好它的输入和输出。结果如图5 所示。图 5 FIS 编辑器图形界面双击 FIS 编辑器的输入/输出变量图标,可得隶属函数编辑器的页面,并且编辑好,所得的图形如图 6 所示。10图 6 隶属函数编辑器然后用下表 2 所示的规则建立具体的输入输出规则,并且将上述该规则录入到matlab 仿真结构中,具体如下图 7 所示。图 7 模糊规则编辑器11录入结束后要对所指定的输入输出规则进行保存,以便在具体的仿真过程中实现调用,保存的文件扩展名为.fis。此外,在建立起具体的模糊推理规则以后,可以通过 view 功能来得到规则的直观显示,这些图形可以帮助更好的理解建立的模糊推理规则。4.
17、2 系统数字仿真模型的建立利用 Simulink 基本模块库和 Fuzzy logic Toolbox 建立如图 8 所示的仿真模块。图 8 系统仿真模型作为受控对象的一阶倒立摆的模型(inverted pendulum) ,这里采用的是系统数学模型的状态空间表达式。其中系统仿真型中的差分模块子系统(difference)的内部结构如图 9 所示。图 9 差分模块子系统的内部结构运行 Simulink 仿真结束后,仿真结果被保存到仿真数据文本 mohu.mat 中,可在 MATLAB 中建立一个 m 文件调用此数据文件绘制仿真结果曲线,m 文件程序如下:% Inverted pendulum%
18、 Model test in open loop% Singnals recuperation12% 将导入到 xy.mat 中的仿真试验数据读出load mohu.matt=ans(1,:);q=ans(2,:);x=ans(3,:);% Drawing control and x(t) response signals%画出在控制力的作用下的系统响应曲线%定义曲线的横纵坐标、标题、坐标范围和曲线的颜色等特征figure (1)hf=line(t,q(:);grid on;xlabel (时间 (s)ylabel(摆角 (N)axis(0 25 -0.02 0.16)axet=axes(Po
19、sition,get (gca,Position),.XAxisLocation,bottom,.YAxisLocation,right,Color,None,.XColor,k,YColor,k);ht=line (t,x,color,r,parent,axet);ylabel (位置 (m)axis(0 25 -0.02 0.16)title (theta (t) and x (t) Response to step input)5、基于 MATLAB 的数字仿真结果以 Matlab 6.5 的编辑环境,对直线一阶倒立摆的双闭环模糊系统进行仿真实验,结果如图 10,可见倒立摆具有良好的动态
20、响应和稳态响应。 13图 10 仿真实验结果及摆角响应曲线大图 六、结论1)双闭环模糊控制方案能够有效控制一阶倒立摆系统的稳定,并且实现小车 的有效定位,而且双闭环结构使得系统的控制规则和执行时间大幅减少,大大降低了系统设计和实现难度。2)仿真实验证明,一阶倒立摆系统的双闭环模糊控制方案具有较强的鲁桳性。3)本节内容对于一类有多个反馈量、非线性、自不稳定的系统的控制问题具有一定的参考价值。以单级直线倒立摆为控制对象,设计了双闭环模糊控制方案。该方案将多变量系统的模糊控制问题转化为 2 个传统的二维模糊控制器的设计问题,降低设计难度,得到较高控制精度。仿真结果表明设计方案的正确性和有效性。七、感
21、想和建议实验系统是一个非最小相位系统,让它稳定着实让我费了不少心血。我曾想过各种措施,各种貌似精巧的控制器,或用补根轨迹,或用肺最小相位校正器等等,虽然仿真效果很好,但一旦加入实际系统中就不稳定或效果非常不理14想。直到最后,抛弃一切美妙的幻想,从最简单的思路下手,补根轨迹加添加零点。系统的根轨迹是在难以令其稳定,于是采用补根轨迹设计:添加零点时可以让系统的根轨迹向左便宜点。本着这个知道原则不断尝试,终于发现了一组不错的解。当然,由于纯微分不可实现,还需要添加一个不致引起什么影响的极点。为了对角度扰动无静差,需要积分器:为了不改变系统稳定性,再添加一个距原点很近的零点一系列措施下来,终于系统稳
22、定了,各项指标也基本达标,真是很有成就感。硬件最然需要不断尝试,但不是盲目的调试,而是需要有理论作为指导,指明调整的方向,这样设计系统就会事半功倍。同时 Matlab 软件的使用也大大提高了设计系统的速度。这些都是我试验中的收获。最后再一次感谢老师的耐心讲解与精心的教诲,让我渡过难关,顺利完成实验。八、致谢大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇毕业论文的时候,有一种如释重负的感觉,感慨良多。首先诚挚的感谢我的论文指导老师覃老师。他在忙碌的教学工作中挤出时间来审查、修改我的论文。还有教过我的所有老师们,你们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教
23、导和不拘一格的思路给予我无尽的启迪。感谢三年中陪伴在我身边的同学、朋友,感谢他们为我提出的有益的建议和意见,有了他们的支持、鼓励和帮助,我才能充实的度过了三年的学习生活。本论文是在导师覃教授和辅导员的悉心指导下完成的。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。本论文从选题到完成,每一步都是在导师的指导下完成的,倾注了导师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!15本论文的顺利完成,离
24、不开各位老师、同学和朋友的关心和帮助。没有他们的帮助和支持是没有办法完成我的学士学位论文的,同窗之间的友谊永远长存。通过这次毕业设计,使我对自动化专业的认识有了很大的提高。在经过大量的实验后我把理论同实践结合起来,对我将来的工作有很大的帮助。此次毕业设计我不但完成了设计的任务,也从中得到了训练,这些都与李老师的悉心指导和帮助分不开。在此,我对辛勤培育我的导师致以最崇高的敬意和衷心的感谢!其次,在这次毕业设计中,我还得到了海洋学院其他老师提供的帮助,谨在此对他们表示衷心的感谢!我还要感谢我的父母和朋友们,是他们在我一次次失败中鼓励我前进的!最后,对评审论文的各位老师表示忠心的感谢!九、参考文献1
25、丛爽,张冬军,魏衔,单级倒立摆三种控制方法的对比研究J。系统工程与电子技术,2001,266(11):47-49.2张乃基于神经网络的模糊自适应控制研究综述A.首都高校第三届自动控制学术报告会论文集C。1994.173-176.3黄忠霖。控制系统 MATLAB 计算机及仿真M.北京:国防工业出版社,2001.4王卫华,单级倒立摆的专家模糊控制J。湖北大学学报(自然科学版) ,1999, (6):117-120.5张飞舟,陈伟基,沈程智。拟人智能控制三级倒立摆机理的研究J.北京航空航天大学,1999,25(2):151-155.6彭良智,戴金海,桂先洲,等。小车-倒立摆控制系统的 Takagi-Sugeno 模糊模型研究J。计算机仿真,2000, (4):43-46.