您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 倒立摆MATLAB建模
线控大作业如图所示的倒立摆系统。图中,倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题。图倒立摆系统假定倒立摆系统的参数如下。摆杆的质量:m=0.1g摆杆的长度:2l=1m小车的质量:M=1kg重力加速度:g=10/s2摆杆惯量:I=0.003kgm2摆杆的质量在摆杆的中心。设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量%≤10%,调节时间ts≤4s,使摆返回至垂直位置,并使小车返回至参考位置(x=0)。要求:1、建立倒立摆系统的状态方程2、定量分析,定性分析系统的性能指标——能控性、能观性、稳定性3、极点配置设计分析报告1系统建模在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。如下如所示。图一级倒立摆模型其中:φ摆杆与垂直向上方向的夹角θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向。分析小车水平方向所受的合力,可以得到以下方程:NxbFxM由摆杆水平方向的受力进行分析可以得到下面等式:)sin(22lxdtdmN即:sincos2mlmlxmN把这个等式代入式(3-1)中,就得到系统的第一个运动方程:FmlmlxbxmMsincos)(2为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:)cos(22ldtdmmgPcossin2mlmlmgP力矩平衡方程如下:INlPlcossin注意:此方程中力矩的方向,由于sinsin,coscos,,故等式前面有负号。合并这两个方程,约去P和N,得到第二个运动方程:cossin)(2xmlmglmlI设(是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即1,则可以进行近似处理:0)(,sin,1cos2dtd。用u来代表被控对象的输入力F,线性化后两个运动方程如下:2(+)()ImlmglmlxMmxbxmlu对式(3-9)进行拉普拉斯变换,得到)()()()()()()()()(22222sUssmlssbXssXmMssmlXsmglssmlI注意:推导传递函数时假设初始条件为0。由于输出为角度,求解方程组的第一个方程,可以得到:)(])([)(22ssgmlmlIsX或mglsmlImlssXs222)()()(如果令xv,则有:mglsmlImlsVs22)()()(把上式代入方程组的第二个方程,得到:)()()()()()(2222sUssmlsssgmlmlIbsgmlmlImM整理后得到传递函数:sqbmglsqmglmMsqmlIbssqmlsUs23242)()()()(其中22)())((mlmlImMq设系统状态空间方程为:DuCXyBuAXX方程组对,x解代数方程,得到解如下:uMmlmMImlMmlmMImMmglxMmlmMImlbuMmlmMImlIMmlmMIglmxMmlmMIbmlIxxx2222222222)()()()()()()()()(整理后得到系统状态空间方程:uMmlmMImlMmlmMImlIxxMmlmMImMmglMmlmMImlbMmlmMIglmMmlmMIbmlIxx2222222222)(0)(00)()()(010000)()()(00010uxxxy0001000001代入倒立摆系统的参数。摆杆的质量:m=0.1g摆杆的长度:2l=1m小车的质量:M=1kg重力加速度:g=10/s2摆杆惯量:I=0.003kgm2010000010100010001101xxxxuuxxxy0001000001另外,也可以利用MATLAB中tf2ss命令对(3-13)式进行转化,求得上述状态方程。2系统分析2.1判断系统能控性和能观性在MATLAB中,可以利用ctrb()和obsv()函数直接求出能控性和能观性矩阵A=[0100;0010;0001;00110];B=[0;1;0;1];C=[1000;0010];D=[0;0];Uc=ctrb(A,B);rc=rank(Uc);n=size(A);ifrc==ndisp('systemiscontrolled.')elseifrcndisp('systemisuncontrolled.')endVo=obsv(A,C);ro=rank(Vo);ifro==ndisp('systemisobservable.')elseifro~=ndisp('systemisnoobservable.')End运行情况如下:2.2系统稳定性A=[0100;0010;0001;00110];B=[0;1;0;1];C=[1000;0010];D=[0;0];P=poly(A),v=roots(P)运行结果如下:特征值为0(二重),3.3166,-3.3166,显然,其中一个极点在右半平面,该系统不稳定。3系统设计极点配置与控制器设计极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法,将闭环系统的极点配置到任意期望的位置。()()()XtAxtBut=+,其中x是状态变量(n维),u是控制信号,这里选取控制信号为uKx=-,()()()xtABKxt=-?,该方程的解为()()(0)ABKtxtex-=?,系统的稳态响应和瞬态响应特性由矩阵A-BK的特征决定。()1234KKKKKx=-?,闭环系统的方程为()xAxBfABKx=+=-,选取所希望的极点值为,1234pppp设计状态反馈阵时,要使系统的极点设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定。最大超调量小于等于10%,调节时间为4S,运用超调量的计算公式,21%100%ezpzd--=?,其中z为阻尼系数,有该公式可求得,阻尼系数z=0.59,小于1,是欠阻尼。33()sntszws==-为极点实部,可以求得nw=1.27则极点公式为21,21nnpjzwzw=-?,得到两个共轭极点为1,20.751.025pj=-?.配置非主导极点3415,15pp=-=-,在MATLAB的控制系统工具箱中提供了单变量系统极点配置acker(),其格式为K=acker(A,B,p)程序如下:A=[0100;00-20;0001;00220];B=[0;1;0;-1];C=[1000;0100;0010;0001];D=0;rc=rank(ctrb(A,B));p=[-0.75+1.025j,-0.75-1.025j,-15,-15];K=acker(A,B,p)运行结果如下:4程序及其执行结果该二阶系统的阶跃响应为下图所示脉冲响应:
本文标题:倒立摆MATLAB建模
链接地址:https://www.777doc.com/doc-2694156 .html