《现代控制理论综合设计报告》问题重述:图示为单倒立摆系统的原理图,其中摆的长度l=1m,质量m=0.1kg,通过铰链安装小车上,小车质量M=1kg,重力加速度g=9.8m/s2。控制的目的是当小车在水平方向上运动时,将倒立摆保持在垂直位置上。分别列写小车水平方向的力平衡方程和摆的转矩平衡方程,通过近似线性化处理建立系统的状态空间表达式;绘制带状态观测器状态反馈系统的模拟仿真图,要求系统期望的特征值为:-1,-2,-1+j,-1-j;状态观测器的特征值为:-2,-3,-2+j,-2-j;根据模拟仿真图,分别绘制系统综合前后的零输入响应曲线本文的仿真实验亮点如下:对单倒立摆进行传统的传递函数、状态空间建模,全面分析了单倒立摆的物理性质。在物理模型建立时,强调了角速度不能近似为0。建立状态空间表达时,选择位移x和角度作为输出,是一个多输出系统。但增加了状态观测器设计的复杂度。在摆运动过程中,初始扰动角可达60度左右;而且调节过程中,倒立摆在(-90,90)范围内变化,符合实际情况。在仿真波形图中,展示了状态观测器的跟踪过程,体现了其在反馈控制中起到的作用。在初始扰动60度下,分别在原始系统、状态反馈系统、带状态观测器反馈系统,进行了零输入响应、阶跃输入响应的仿真实验。解释了带状态观测器反馈时,阶跃输入,但系统前1秒处于稳态的现象的原因。Muzmlθ1单级倒立摆数学模型的建立倒立摆系统是一个典型的非线性、强耦合、多变量和不稳定系统,作为控制系统的被控对象,许多抽象的控制概念都可以通过倒立摆直观地表现出来。本设计是以一阶倒立摆为被控对象来进行设计的。传递函数法:对SISO系统进行分析设计,在这个系统中作为输出,因为它比较直观,作用力u作为输入。状态空间法:状态空间法可以进行单输入多输出系统设计,因此在这个实验中,我们将尝试同时对摆杆角度和小车位置进行控制,并给小车加一个阶跃输入信号。本文利用Matlab,对系统的传递函数和状态空间进行分析,并用指令计算状态空间的各种矩阵,仿真系统的开环阶跃响应。Matlab将会给出系统状态空间方程的A,B,C和D矩阵,并绘出在给定输入为阶跃信号时系统的响应曲线。在忽略了空气阻力、各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。假设系统内部各相关参数为:和都表示摆杆与垂直向上方向的夹角lL、都表示摆杆长度1mM小车质量1kgm摆杆质量0.1kgx小车位置单倒立摆系统力的平衡方程分析小车、摆杆力的分析图如下所示:小车的平衡方程:uHMx摆杆的X轴方向力的平衡方程:22(sin)dHmxldt摆杆Y轴方向,力的平衡方程:22(lcos)dVmgmdt摆杆的转矩平衡方程:sincosVLHLI选择摆杆的质心在端点处,则惯性惯量212mlI方程的线性化处理当很小时,可对方程进行线性化。由于控制的目的当小车在水平方向上运动时,将倒立摆保持在垂直位置上。在施加合适的外力下,比较小,接近于0,sin,cos1,对以上方程进行线性化。但要注意的是,不能约等于0,因为摆杆的角速度在实际情况中是比较快的。但对以上方程先求导会产生及其平方项,但这些项都和sin相乘,于是这些项还是约等于0。另外,如果先线性化,再求导,则不会产生以上需要考虑的问题。线性化后方程如下:线性化方程:2+12uHMxHmxmlVmgmlVLHL1.1系统的传递函数分析对SISO系统进行分析设计,可选择传递函数法,在这个系统中作为输出,因为它比较直观,作用力u作为输入。根据前面所建的数学模型,消除中间项后,可得到传递函数如下:21131(Mm)1212(Mm)g13()1212LusMmL带入题目中的数据后可得到传递函数:20.9169.874us在matlab中,求单倒立摆传递函数的阶跃响应:G=tf(num,den)step(G)传递函数阶跃响应00.511.522.533.544.55-3.5-3-2.5-2-1.5-1-0.500.51x105StepResponseTime(sec)AmplitudeFigure1零初始扰动系统的零输入响应(和预期效果一样,若无初始扰动,系统处于稳态)Figure2初始扰动0.1弧度,传递函数的零输入响应Figure3传递函数的波特图以及相角裕度00.20.40.60.811.21.41.61.82-1-0.8-0.6-0.4-0.200.20.40.60.81ResponsetoInitialConditionsTime(sec)Amplitude00.511.522.533.544.55-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20x105ResponsetoInitialConditionsTime(sec)Amplitude-100-80-60-40-20Magnitude(dB)10-1100101102-1-0.500.51Phase(deg)BodeDiagramFrequency(rad/sec)Figure4原始系统传递函数的根轨迹分析由以上分析可得原系统是一个不稳定的系统,存在两个极点,其中一个在右半平面1.2系统的状态空间分析系统状态方程为:XAXBuYCXDu应用牛顿-欧拉方法,可得到系统状态空间方程为:222222201()0()()0()0()()xImlbmglxIMmMmlIMmMmllbmglMmIMmMmlIMmMml 00 0 000m 0 2220()0()xImlxIMmMmlumlIMmMml1000000100xxxYu以上就是单倒立摆系统的状态空间表达式。表达式中:x为小车的位移;x为小车的速度;()为摆杆的角度;()为摆杆的角速度;u为输入;y为输出。代入题目中的数据后可得单倒立摆的状态空间表达式(其中转动惯量为212mlI):-15-10-5051015-1.5-1-0.500.511.50.7070.70710RootLocusRealAxisImaginaryAxis0100000.897700001009.8748000.99241000=0000100.916ABCDA=[0100;00-0.89770;0001;009.87480];B=[0;0.9924;0;-0.916];C=[1000;0010]D=[0;0]GSS=ss(A,B,C,D)eig(GSS)ans=003.1424-3.1424开环系统的阶跃响应:图中上方是位移输出,下方是角度输出。Figure5阶跃响应,图中上方是位移输出,下方是角度输出从状态空间分析可知,原系统不稳定,存在四个极点,有两个位于原点处,一个处于右半平面。阶跃响应也呈发散状。-10123x104To:Out(1)00.511.522.533.544.55-4-3-2-101x105To:Out(2)StepResponseTime(sec)Amplitude2系统的状态反馈闭环系统设计Figure6状态反馈闭环系统在状态空间中,可通过状态反馈求取K阵,以任意配置极点,达到设计要求。但状态反馈必须要求系统完全可控,现进行可控性分析。AC=A-B*K;B矩阵不变;u=r-K*x;C矩阵不变在MATLAB中,输入Tc=ctrb(A,B);rank(Tc);Tc=00.992400.82230.992400.822300-0.91600-9.0453-0.91600-9.04530Ans=4.可知,可控性矩阵满秩,系统完全可控。要求系统期望的特征值为:-1,-2,-1+j,-1-j由以上指令可求得K矩阵:K=-0.445560408906477-1.11390102226619-22.1801027836232-6.66532246124124验证配置的极点是否正确:P=[-1-2-1+i-1-i];K=place(A,B,P);AC=A-B*K;eig(AC)GCS=ss(AC,B,C,D);eig(AC)ans=-2.0000-1.0000+1.0000i-1.0000-1.0000i-1.0000Figure7零初始条件下,状态反馈系统的阶跃响应,图中上方是位移输出,下方是角度输出。由图可知,倒立摆在阶跃输入下,摆动角度范围是(-4.6,2.29)度。最终位移输出是-2.25m。Figure8初始扰动弧度为1(60度),系统的零输入响应小结:此节内容设计了系统的状态反馈,并按要求配置了系统极点。分析了系统的阶跃响应和60度初始扰动情况下,系统的零输入响应。由于系统极点配置在S平面的左半平面,可知是一个稳定的系统,从系统的阶跃响应和零输入响应可得到验证。-2.5-2-1.5-1-0.500.5To:Out(1)0123456789-0.08-0.06-0.04-0.0200.020.04To:Out(2)StepResponseTime(sec)Amplitude0123456To:Out(1)012345678910-0.500.51To:Out(2)ResponsetoInitialConditionsTime(sec)Amplitude3状态观测器的设计Figure9观测器设计图,上方为原系统,下方为观测器在设计系统的观测器前,必须对系统可观性进行判定,否则不能设计系统的状态观测器。系统可观性判定:由上可知,系统可观测。根据系统的要求配置极点,由于一般要求观测器响应速度要快所以配置的极点更靠左些。状态观测器的特征值为:-2,-3,-2+j,-2-j根据以下指令求出观测器的G矩阵Step1StepState-Space1x'=Ax+Buy=Cx+DuState-Spacex'=Ax+Buy=Cx+DuFloatingScope1FloatingScopeTo=obsv(A,C)To=1.0000000001.0000001.0000000001.000000-0.89770009.87480000-0.89770009.8748rank(To)ans=4现在测试系统的跟踪性能。设计状态观测器,并将观测器输出和原始系统输出进行比较。Figure10观测器的跟踪性能(四条曲线,表示原始系统的两个输出)放大后可以看到,观测器输出并不是和系统输出完全一致。00.511.522.533.544.55-16-14-12-10-8-6-4-202x104PS=[-2-3-2+i-2-i];G=place(A',C',PS)'G=4.81040.00845.8233-0.4745-1.10744.1896-1.898514.8885AO=A-G*CAO=-4.81041.0000-0.00840-5.82330-0.423201.10740-4.18961.00001.89850-5.01370Figure11放大后观察观测器输出(虚线为实际系统输出,实线为观测器跟踪)小结:此节设计了状态观测器,并且测试了其跟踪性能。4带状态观测器的状态反馈闭环系统B∫ACGyB∫ACˆxˆy闭环状态观测器+K状态反馈部分xuv-++++-+-x'ˆxFigure12带观测器的闭环控制系统带状态观测器的闭环控制系统,如上图所示。由图可知,我们需要设计G矩阵和K矩阵。在前文中,我们已经设计了K矩阵和G矩阵,所以按系统框图搭建即可。在搭建仿真图时,由于G矩阵是个两列的矩阵,所以观测器的闭环系统会复杂不少。搭建的仿真图如下所示:4.614.624.634.644.654