单级倒立摆系统的建模与控制器设计摘要:本文主要研究的是单级倒立摆的建模、控制与仿真问题。倒立摆是一类典型的快速、多变量、非线性、强耦合、自然不稳定系统。由于在实际中有很多这样的系统,因此对它的研究在理论上和方法论上均有深远的意义。本文首先建立了单级倒立摆的数学模型,对其进行了近似线性化处理,得到了它的状态空间描述,并对系统的开环特性进行了仿真和分析。然后,基于极点配置方法设计了单级倒立摆系统的控制器。最后,用Matlab对系统进行了数值仿真,验证了所设计的控制算法的有效性。关键词:单级倒立摆;极点配置;建模与控制目录1绪论.............................................................32单级倒立摆系统的建模与分析.......................................42.1单级倒立摆系统的建模..........................................42.2单级倒立摆系统的模型分析......................................73单级倒立摆系统的极点配置控制器设计..............................123.1单级倒立摆系统控制器设计的目标...............................123.2单级倒立摆系统的能控性分析...................................123.3单级倒立摆系统的极点配置控制器设计...........................133.4闭环系统仿真分析.............................................154结论............................................................19致谢..............................................................20参考文献..........................................................211绪论倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。通过对它的研究不仅可以解决控制中的理论和技术实现问题,还能将控制理论涉及的主要基础学科:力学,数学和计算机科学进行有机的综合应用。其控制方法和思路无论对理论或实际的过程控制都有很好的启迪,是检验各种控制理论和方法的有效的“试金石”。倒立摆的研究不仅有其深刻的理论意义,还有重要的工程背景。在多种控制理论与方法的研究与应用中,特别是在工程实践中,也存在一种可行性的实验问题,使其理论与方法得到有效检验,倒立摆就能为此提供一个从理论通往实践的桥梁,目前,对倒立摆的研究已经引起国内外学者的广泛关注,是控制领域研究的热门课题之一。倒立摆不仅仅是一种优秀的教学实验仪器,同时也是进行控制理论研究的理想实验平台。由于倒立摆系统本身具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法,相关的科研成果在航天科技和机器人学方面获得了广阔的应用。二十世纪九十年代以来,更加复杂多种形式的倒立摆系统成为控制理论研究领域的热点,每年在专业杂志上都有大量的优秀论文出现。因此,倒立摆系统在控制理论研究中是一种较为理想的实验装置。倒立摆主要应用在以下几个方面:(1)机器人的站立与行走类似于双倒立摆系统,尽管第一台机器人在美国问世至今已有三十年的历史,机器人的关键技术--机器人的行走控制至今仍未能很好解决。(2)在火箭等飞行器的飞行过程中,为了保持其正确的姿态,要不断进行实时控制。(3)通信卫星在预先计算好的轨道和确定的位置上运行的同时,要保持其稳定的姿态,使卫星天线一直指向地球,使它的太阳能电池板一直指向太阳。(4)侦察卫星中摄像机的轻微抖动会对摄像的图像质量产生很大的影响,为了提高摄像的质量,必须能自动地保持伺服云台的稳定,消除震动。(5)为防止单级火箭在拐弯时断裂而诞生的柔性火箭(多级火箭),其飞行姿态的控制也可以用多级倒立摆系统进行研究。由于倒立摆系统与双足机器人、火箭飞行控制和各类伺服云台稳定有很大相似性,因此对倒立摆控制机理的研究具有重要的理论和实践意义。倒立摆有多种控制方法[1,2]。对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。不仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。当前,倒立摆的控制方法可分为:(1)线性理论控制方法将倒立摆系统的非线性模型进行近似线性化处理,获得系统在平衡点附近的线性化模型,然后再利用各种线性系统控制器设计方法,如PID控制、状态反馈控制、LQR控制等,得到期望的控制器。(2)非线性理论控制方法由于线性控制理论与倒立摆系统多变量、非线性之间的矛盾,人们意识到针对多变量、非线性对象,采用具有非线性特性的多变量控制是解决多变量、非线性系统的必由之路。因此人们先后开展了倒立摆系统的非线性控制方法研究,如文献[3]等。2单级倒立摆系统的建模与分析2.1单级倒立摆系统的建模单级倒立摆系统的建模属于单一刚性铰链、两自由度动力学问题,因此,依据经典力学的牛顿定律即可满足要求。在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如图1所示。图1单级倒立摆模型示意图图1中,各量的含义如下:M小车质量0.5Kgm摆杆质量0.2Kgl摆杆转动轴心到杆质心的长度0.3mI摆杆惯量0.006kg·m2F加在小车上的力x小车位移φ摆杆与垂直向上方向的夹角θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)下面对这个系统进行受力分析。下图2是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。图2倒立摆模型受力分析应用Newton方法来建立系统的动力学方程过程如下所述。分析小车水平方向所受的力,可以得到以下方程:MxFN(1)由摆杆水平方向的受力进行分析可以得到下面等式:)sin(22lxdtdmN(2)即sincos2mlmlxmN(3)把式(3)代入式(1)中,得系统的第一个运动方程:2()cossinMmxmlmlF(4)对摆杆垂直方向上的受力进行分析,可以得到下面方程:22(cos)dPmgmldt(5)即2sincosPmgmlml(6)摆杆的力矩平衡方程如下:INlPlcossin(7)合并方程(6)和(7),约去P和N,并由231mlI得到系统的第二个运动方程:cossin234xmlmglml(8)设(是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即1,则可以进行近似处理:1cos,sin,0)(2dtd。用u来代表被控对象的输入力F,线性化后两个运动方程如下:43()lgxMmxmlu(9)方程组(9)对,x解代数方程,得到解如下:34(4)(4)3()3(4)(4)xxmgxuMmMmgMmuMmlMml(10)令xxX,xy,01003000(4)00013()000(4)mgMmAgMmMml,04(4)03(4)MmBMml,10000010C,00D于是可得系统的状态空间表达式如下所示:XAXBuyCxDu(11)2.2单级倒立摆系统的模型分析根据小车质量,摆杆质量,摆杆转动轴心到杆质心的长度和摆杆质量的具体数值,用Matlab求出系统的状态空间方程各矩阵,其m-文件内容如下所示:程序1:M=0.5;m=0.2;I=0.006;g=9.8;l=0.3;A=[0100003*M*g/(4*M+m)00001003*(M+m)*g/((4*M+m)*l)0];B=[04/(4*M+m)03/((4*M+m)*l)];C=[10000010];D=[00];执行上面的文件,就可以在Matlab的命令窗口中得到如下所示的系统状态空间方程的A,B,C和D矩阵:a=x1x2x3x4x10100x2006.6820x30001x40031.180b=u1x10x21.818x30x44.545c=x1x2x3x4y11000y20010d=u1y10y20Continuous-timemodel.根据经验可知,对于一阶倒立摆,如果没有加以控制,当摆杆有一个小的偏角时,或者摆杆初始位置在竖直状态但小车受到一个初始干扰外力,摆杆必然会倒下来,也就是说,上述倒立摆模型中的零平衡点是不稳定平衡点。下面我们将进一步通过Matlab仿真来对这一现象进行考证。首先,我们考证摆杆不受外力干扰,但是摆杆有一个小的初始偏角的情况。源程序如下:程序2:M=0.5;m=0.2;I=0.006;g=9.8;l=0.3;A=[0100003*M*g/(4*M+m)00001003*(M+m)*g/((4*M+m)*l)0];B=[04/(4*M+m)03/((4*M+m)*l)];C=[10000010];D=[00];T=0:0.005:10;U=zeros(size(T));X0=[000.0010];[Y,X]=lsim(A,B,C,D,U,T,X0);plot(T,Y(:,1),T,Y(:,2),'-.')axis([02.50100])gridon于是可以得到系统的开环初值响应的曲线如下:00.511.522.50102030405060708090100小车位移摆杆摆角图3系统开环初值响应曲线由系统的开环初值响应曲线可知,系统是不稳定的,这与我们的经验是相符合的。其次,我们考证摆杆初始位置在竖直状态,但是小车受到一个脉冲干扰的情况。源程序如下:程序3:M=0.5;m=0.2;I=0.006;g=9.8;l=0.3;A=[0100003*M*g/(4*M+m)00001003*(M+m)*g/((4*M+m)*l)0];B=[04/(4*M+m)03/((4*M+m)*l)];C=[10000010];D=[00];T=0:0.005:10;U=zeros(size(T));U(1)=0.1;X0=[0000];[Y,X]=lsim(A,B,C,D,U,T,X0);plot(T,Y(:,1),T,Y(:,2),'-.')axis([02.50100])gridon于是可以得到系统的开环脉冲干扰响应的曲线如下:00.511.522.50102030405060708090100小车位移摆杆摆角图3系统开环脉冲响应曲线由系统的开环脉冲干扰响应曲线可知,系统是不稳定的,这与我们的经验也是相符合的。最后,我们通过比较严格的手段来分析系统的稳定性。我们知道,线性定常系统的稳定性由系统矩阵的特征值决定,若系统矩阵的特征值的实部均不大于零,则系统就是稳定的;否则系统就是不稳定的。下面,我们将根据开环系统矩阵的特征值来判断开环系统的的稳定性。求开环系统矩阵特征值的Matlab源程序为:程序4:M=0.5;m=0.2;I=0.006;g=9.8;l=0.3;A=[0100003