线性系统实验报告姓名:院系:学号:导师:2015年12月一、概述日常生活中所见到的任何重心在上、支点在下的杆都可以称之为倒立摆。从工程背景来讲,一级倒立摆的背景源于火箭发射助推器,二级倒立摆与双足机器人控制有关,三级倒立摆应当说由一、二级倒立摆演绎而来,背景相当复杂。倒立摆仿真或实物控制实验是控制领域中用来检验某种控制理论或方法的典型方案。倒立摆研究的意义是,作为一个实验装置,它形象直观,简单,而且参数和形状易于改变;但它又是一个高阶次、多变量、非线性、强耦合、不确定的绝对不稳定系统的被控系统,必须采用十分有效的控制手段才能使之稳定。因此,许多新的控制理论,都通过倒立摆试验对理论加以实物验证,然后在应用到实际工程中去。因此,倒立摆成为控制理论中经久不衰的研究课题,是验证各种控制算法的一个优秀平台,故通过设计倒立摆的控制器,可以对控制学科中的控制理论有一个学习和实践机会。二、实验目的1.建立二级倒立摆系统的数学模型对于倒立摆系统,由于其本身是自不稳定的系统,实验建立模型存在一定的困难,但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。对于直线二级倒立摆,由于其复杂程度,在这里利用拉格朗日方程推导运动学方程。2.模型线性化由于模型的动力学方程中存在三角函数,因此方程是非线性的,通过小角度线性化处理,将动力学非线性方程变成线性方程,便于后续的工作的进行。3.控制器设计利用Matlab对已经建立好模型的系统进行分析。分析内容主要包括得出原未加控制器时系统的极点分布,系统的能观性,能控性;然后根据上步的结论采用相应的控制策略,设计具体的控制器,加入到系统中,然后通过仿真调节具体参数,得到最优的控制器参数。4.实物仿真通过实验室提供的倒立摆实物以及控制计算机,将设计的控制算法加入到控制器中,通过倒立摆实物来验证设计的控制算法的正确性,并在控制器能够有效控制系统的情况下,改变控制器参数,分析系统控制特性的变化,并且得到系统实时的数据采集,画出图形。三、实验步骤1.根据建模结果仔细计算并寻找合适的理论控制器参数。2.进入matlabcommand窗口,键入仿真文件,进行仿真实验。通过调节参数请仔细观察思考控制器参数对系统瞬态响应和稳态响应的影响。找到几组合适的控制器参数作为实际控制的参数。3.倒立摆系统实物调试具体步骤如下:(1)将小车推到导轨的中央,并且使摆杆处于自由下垂的静止状态,(2)给小车的驱动器的电源接通电源,进入MATLAB的SIUMLINK中,(3)调出实物仿真文件,填入设计的控制器参数,编译,连接实物,双手将倒立摆竖直的缓慢的立起,倒立摆进入到与竖直方向夹角小于10度的范围内,控制器启动,观察控制器的控制效果。(4)将保存的实验数据画出图形,分析实际控制效果与仿真曲线的区别。四、实验报告1.倒立摆系统模型在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车、匀质杆和质量块组成的系统,如图所示。直线两级倒立摆系统参数:M小车质量1.32Kg1m摆杆1质量0.04Kg2m摆杆2质量0.132Kg3m质量块的质量0.208Kg1摆杆1与垂直向上方向的夹角2摆杆2与垂直向上方向的夹角1l摆杆1转动中心到杆质心的距离0.09m2l摆杆2转动中心到杆质心的距离0.27mF作用在系统上的外力利用拉格朗日方程推导运动学方程为:2.写出系统在(0,0,0,0,0,0,0)和(0,pi,0,0,0,0,0)两种平衡状态下的进行泰勒级数展开并线性化得到的状态矩阵。将(3),(4)式对21,求解代数方程,得到以下两式111213122122221121212212211213121222112321(3(2sin4sin4sin3cos()sin6cos()sin()4sin()2cos4cos4cos3cos()cos))/(2(412129cos(gmgmmgmgmlmlmxmxmxmxlmmmm2)))(5)22221231221112222212122221212311222222212312212124((3())(3sin6sin()3cos)92cos()(6sin()3(2())(sincos)))/316((3())4cos())9mmmmllglxmllmlmmmgxmmmmllmll(6)表示成以下形式:111212(,,,,,,)fxxx(7)221212(,,,,,,)fxxx(8)取平衡位置时各变量的初值为零,1212(,,,,,,)(0,0,0,0,0,0,0)0Axxx(9)将(7)式在平衡位置进行泰勒级数展开,并线性化,令:11100AfKx(10)1231120112313(244)2(4312)AgmgmgmfKmmml(11)121302123192(4312)AfmgKmmml(12)11400AfKx(13)115010AfK(14)116020AfK(15)123117012313(24)2(4312)AmmmfKxmmml(16)带入(8)式,得到线性化之后的公式112113217KKKx(17)将(8)式在平衡位置进行泰勒级数展开,并线性化,令22100AfKx(18)123222012212322(2())164(3())9AgmmmfKmlmmml(19)123223022212324(3())163(4(3()))9AgmmmfKmlmmml(20)22400AfKx(21)225010AfK(22)226020AfK(23)123123227022123242(2())(3()3164(3())9AmmmmmmfKxmlmmml(24)带入(20)式,得到222123227KKKx(25)即:112113217KKKx(26)222123227KKKx(27)现在得到了两个线性微分方程,由于我们采用加速度作为输入,因此还需加上一个方程ux(28)取状态变量如下:1213245162xxxxxxxx(29)由(26),(27),(29)式得到状态空间方程如下:112233445121351762223627000100000001000000010000000100000000xxxxxxuxxxKKxKxKKxK(30)3.分析这两种状态下系统的开环特性并设计两种状态下的控制器。由以上方程,将以下参数代入123121.320.040.1320.2089.80.090.27Mmmmgll(31)求出各个K值:12221323172777.0642-38.5321-21.192737.81865.7012-0.0728KKKKKK(32)得到状态矩阵为:A=0001.00000000001.00000000001.0000000000086.6907-21.61720000-40.311239.4500000B=0001.00006.6402-0.0877C=100000010000001000000100000010000001D=[000000]'4.给出理论仿真的结果,画出系统零输入状态下并且具有非零初值情况下的系统响应曲线(系统的初值是小车位置x=0,两个摆杆的角度分别是0,0.1745,其余状态是0)。下面是matlab仿真:由图可见,未加控制器的原系统是发散的。2.实物数据采集,画出相应的采集数据的曲线。3.改变控制器参数,比较控制器参数改变后,控制效果的变化,用曲线说明。五、实验总结本实验的控制对象为二阶倒立摆系统,这个系统是一个非线性系统,同时也是一个非最小相位系统。倒立摆系统本身所具有的高阶次、不稳定、多变量、非线性和强耦合特性。本次采用的控制方法为LQR控制。LQR控制通过matlab的程序,根据期望性能指标选取Q和R,就可以得到反馈矩阵K的值。改变矩阵Q的值,可以得到不同的响应结果,Q的值越大,系统抵抗干扰能力越强,调整时间越短。从实验的结果来看,LQR控制在快速性和抗干扰性上,都要强于PID控制,这是因为LQR是多变量控制。这次实验过程中,我也学习到了很多平时接触不到的知识,复习了matlab的应用,了解了simulink模块的应用,而且也对现代控制理论有了深入的理解,为将来的学习打下基础。