《旋转倒立摆模糊控制》由会员分享,可在线阅读,更多相关《旋转倒立摆模糊控制(14页珍藏版)》请在金锄头文库上搜索。
1、- 16 -南京工程学院-电力工程学院-控制理论课程设计旋转倒立摆的模糊控制摘要:该文针对一级旋转倒立摆系统进行研究。基于Lagrange方程进行了对旋转倒立摆的系统建模,并在Matlab环境下使用了模糊控制,实现了倒立摆的良好控制,采用积分消除了稳态误差。实验证明,此种模糊控制方法有一定的鲁棒性并且控制效果较好。关键词:一级旋转倒立摆;模糊控制;Matlab一、控制对象 一级旋转倒立摆 倒立摆系统是自动控制理论中比较典型的控制对象,许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统直观地表现出来。因此它成为自动控制理论研究的一个较为普遍的研究对象。倒立摆系统作
2、为一个被控对象,是快速、多变量、开环不稳定、非线性的高阶系统,必须施加十分有力的控制手段才能使之稳定。对倒立摆的研究在现实中也有一定的指导意义,航天器的发射就是很好的例子, 未来仿人类机器人的发展也离不开倒立摆模型。一直以来,很多种控制方法已经应用到倒立摆的控制当中本文采用了一种模糊控制方法实现了对一级旋转倒立摆的控制。目标是使倒立摆在保持平衡的同时,旋臂还能够快速跟踪一个位置给定信号。 该次设计所研究的旋转倒立摆系统模型如图1所示,倒立摆模块由倒立摆的摆杆和一个支撑摆杆的旋转臂组成,摆杆固定在旋转臂一端,可以在垂直于转臂的方向上做360度的转动。旋臂的另一端安装在一个旋转伺服装置上,伺服装置
3、通过电机驱动齿轮转动来实现旋臂在水平面内做360度的旋转。在摆杆的底端以及旋臂的里端均装有光电编码器,用来检测角度的变化并将信号传送给计算机。 涉及到的参数有: 1 旋转臂的旋转角 l1 旋转臂从电机轴到摆支撑点的长度0 . 25m J1 为旋转臂的转动惯量0 . 01kg m2 2 倒立摆的旋转角 l2 倒立摆的旋转轴到重心的长度0 . 1m m2 倒立摆的质量0 . 1kg J2 倒立摆的转动惯量0 . 001kgm2 M 电机产生的转矩二、设计方案既涉及设计过程(一)、建模: 系统采用拉格朗日动力学分析法1 建立运动方程为:因摆杆摆动幅度小, 可认为sin11 , sin22 , cos
4、 (2 +1) 1 , 由此将(1) 式和(2) 式作线性化处理,得: 由(3) 式和(4) 式可求出:令系统的状态矢量为x = x1 x2 x3 x4 =1 2 12,得状态空间方程: 即输入 而输出部分的 故输出为 由于旋转倒立摆系统自身的特点,在没有控制或控制效果不佳的情况下很难稳定。对于倒立摆的控制有和两个变量,只是对于这两个变量的控制并不能使倒立摆达到平衡,因为除了位置信号以外还缺少了反映运动情况的信号,控制器必须在兼顾这些因素的情况下进行对倒立摆的控制。所以在倒立摆的控制中要对1和1,2和2一同考虑。(二)、分析:1、该次设计涉及到两个方面的控制,一个是向上摆动控制(起摆控制),即
5、使的摆杆由静止位置(垂直向下)旋转到向上并且以零角速度靠近垂直位置;一个是摆杆的平衡控制。2、由于旋转倒立摆系统自身的特点,在没有控制或控制效果不佳的情况下很难稳定。对于倒立摆的控制有和两个变量,只是对于这两个变量的控制并不能使倒立摆达到平衡,因为除了位置信号以外还缺少了反映运动情况的信号,控制器必须在兼顾这些因素的情况下进行对倒立摆的控制。所以在倒立摆的控制中要对1和1, 2和2一同考虑。虽然选定了控制的参量,但是这里有一个问题:如果设计的模糊控制器有4个输入,而每个输入又选定7个词集的话,那么规则将有74 = 2401条,规则的编辑将变得十分复杂。而且由于这些变量之间又存在着较强的耦合关系
6、,控制的效果也将不是十分理想。于是我们这样来设计,把1和1分为一组单独设计一个模糊控制器, 2和2分为一组单独设计一个PD控制器。这样分开后,不仅减少了模糊控制规则的数量,也使每个控制器有了明确的控制对象,控制规则的编写也变得相对简单了。本次设计我们主要进行的是模糊设计,PD设计不作多少说明和分析。(三)、模糊控制器的设计:设计一个二维模糊控制器,其结构如图2所示 图2 模糊控制器的结构将2和2的控制都分别:“负大”(NB) 、“负中”(NM) 、“负小”(NS) 、“零”(ZE) 、“正小”(PS) 、“正中”(PM) 和“正大”(PB) 这7 个语言变量值来描述,即NB,NM,NS,ZE,
7、PS,PM,PB模糊集, 其中NB=负方向大的偏差(Negative Big)NM=负方向中的偏差(Negative Medium)NS=负方向小的偏差(Negative Small)ZO=近于零的偏差(Zero)PS=正方向小的偏差(Positive Small)PM=正方向中的偏差(Positive Medium)PB=正方向大的偏差(Positive Big)控制规则是模糊控制器的核心,规则的正确与否直接影响控制器的性能,而规则数目的多也是一个重要因素,通常用if.then的型式来表示。在这次课程设计中,我们把7*7=49条模糊规则全部写出,有:1If theta is PB and d
8、theta is ZO then u is PB 2If theta is ZO and dtheta ix NB then u is NB3If theta is NB and dtheta is ZO then u is NB49If theta is ZO and dtheta is PB then u is PB要是列表则有如下模糊控制规则表: 在模糊集合论域的选择上,这里取2的论域为对称的 - 12 + 12 ,2的论域也为对称的 - 12 + 12 , 输出mu 的论域为对的 - 2.1 + 2.1 。在输入端或者输出端, 论域与实际控制量的匹配都以通过添加增益环节来进行调节。只要
9、正确地调节增益的大小, 便可以达到良好的匹配。在隶属曲线的选择上, 3个模糊控制量都使用Matlab模糊工具箱中的默认三角型曲线, 7个三角形在论域上平均分配,解决模糊的方法使用重心法。 (a) 控制器输入theta 的隶属度函数图像(b) 控制器输入dtheta 的隶属度函数图像(c) 控制器输出变量mu的隶属度函数图像 如此,一个二维的模糊控制器就建立好了,截面图如下图所示: 图3 两输入一输出系统的图形界面 图4 隶属函数编辑器界面 图5 模糊规则编辑器界面 在View菜单下执行ViewRules,激活模糊规则浏览器,观察规则推理是否正确。模糊规则浏览器如图12所示。设有两个输入变量、一
10、个输出变量,输入的论域均为-12 12,输出变量的论域为-2.1 2.1,每个变量都有七个语言值,即在模糊集合论域上有七个三角形隶属函数,那么最多有49条规则。调整输入值的方法有两种,一种是用鼠标直接拖拽红线到指定的位置,另一种是在input的输入框中输入数字。如图12所示,输入-1 0 ,可以发现推理出来的结果为0.193。 图6 模糊规则浏览器图形界面选择ViewSurface,就会出现输出结果的三维立体图,如图13所示。用鼠标可以直接改变视角。观察模糊推理系统的输入、输出曲面。 图7 模糊推理后的三维空间图(四)、仿真图的建立:在Simulink里建立完整的旋转倒立摆的模糊控制系统图如图
11、8所示:图8 模糊控制系统模型图根据专家经验,悬臂摆角的偏差e1的论域维-90o 90o,即-1.57 1.57; 偏差e2的论域为-80o 80o,即-1.43 1.43;输出偏差e3的论域为-2.4 2.4。则三个K的取值为:1.57 x K1 = 12 则 K1 = 7.31.43 x K2 = 12 则 K2 = 8.42.1 x K = 2.4 则 K = 1.15 图8中的一些设定如下图所示: 图9 Step的设置界面 图10 Saturation的设置界面图11 state space的设置界面图 经多次实验调整,最后确定取比例增益为24.6、微分增益为3.1、模糊控制器角的比例
12、增益为7.3、微分增益为8.4, 输出电压增益设为1.15。三、仿真结果及分析 图12 模糊输出mu波形 图13 vote的输出波形 图14 旋臂转动角度1的输出波形 图15 摆杆的转动角度2的输出波形由上面的仿真图可以看出倒立摆可以很好的跟踪位置信号的给定而运动,且运动过程分为三个阶段:1)加速摆起过程:在最初的大概0.4秒内电机作加速运动,且速度很快,旋臂在电机的带动下转动角度由开始的零逐渐增加,且随着电机转动的速度增加而便增加,同时摆杆在旋臂带动下迅速摆起,具备相当的动能,这是摆起的第一步; 2)摆起制动过程:在摆起过程中,由图可看出摆杆一直落后于旋臂的运动,因此,必须在加速结束之后给旋
13、臂一个制动的信号,迅速减小旋臂的动能,同时给摆杆形成一个惯性加速度,使摆杆再次加速,迅速达到倒立状态附近.。如果控制得比较好的话,就有可能使得旋臂与摆杆都达到了控制要求; 3) 自由运动阶段:由图可看出,大约在2-5s的过程中,所有的运动都处于一个缓慢的阶段,这起到一个缓冲的作用,保证比较平稳的过渡; 4)平衡阶段:在5s后,旋臂的转动达到一个稳定值,而相对应的时间下,摆臂的角度误差趋于0,这就意味着倒立摆已经趋于平衡稳定了,这正是我们这一个多星期的期望效果。四、设计过程中遇到的问题比例增益为24.6、微分增益为3.1,但考虑到是负反馈,所以在电路图中设置应用-24.6、-3.1,缺少了这个负号仿真结果就大错特错,只能是发散的,不可能收敛,其仿真图如下: 图16 错误的vote的输出波形图17