(绮惧搧)鍩轰簬MATLAB鐨勬櫤鑳芥帶鍒剁郴缁熺殑浠嬬粛涓庤璁″疄渚嬫渶鏂版瘯涓氳鏂?- 鐧惧害鏂囧簱 联系客服

发布时间 : 星期二 文章(绮惧搧)鍩轰簬MATLAB鐨勬櫤鑳芥帶鍒剁郴缁熺殑浠嬬粛涓庤璁″疄渚嬫渶鏂版瘯涓氳鏂?- 鐧惧害鏂囧簱更新完毕开始阅读2108ef2c82c4bb4cf7ec4afe04a1b0717fd5b397

到下面方程:

??sin??ml??2cos? P?mg??ml?力矩平衡方程如下:

注意:此方程中力矩的方向,由于?????,cos???cos?,sin???sin?,故等式前面有负号。

合并这两个方程,约去和,得到第二个运动方程:

???mglsin???ml??cos? (I?ml2)?x设(是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即,则可以进行近似处理:cos???1,sin????,(性化后两个运动方程如下:

对式(3-9)进行拉普拉斯变换,得到

222??(I?ml)?(s)s?mgl?(s)?mlX(s)s ?22??(M?m)X(s)s?bX(s)s?ml?(s)s?U(s)d?2)?0。用来代表被控对象的输入力,线dt 注意:推导传递函数时假设初始条件为0。

由于输出为角度,求解方程组的第一个方程,可以得到: 或

如果令,则有:

把上式代入方程组的第二个方程,得到:

?(I?ml2)g??(I?ml2)g?(M?m)????b??2??(s)s?ml?(s)s2?U(s)

s??mls??ml整理后得到传递函数:

ml2s?(s)q? 2b(I?ml)(M?m)mglbmglU(s)s4?s3?s2?sqqq其中 q?(M?m)(I?ml2)?(ml)2 设系统状态空间方程为:

方程组 对解代数方程,得到解如下:

??

??x??x??(I?ml2)bm2gl2(I?ml2)??????xx??u222?I(M?m)?MmlI(M?m)?MmlI(M?m)?Mml? ?????????mlbmgl(M?m)ml????x???u??222?I(M?m)?MmlI(M?m)?MmlI(M?m)?Mml?整理后得到系统状态空间方程:

0????x??????0x???????0?????????????0?1?(I?ml2)bI(M?m)?Mml20?mlbI(M?m)?Mml20mgl2I(M?m)?Mml20mgl(M?m)I(M?m)?Mml220?0??2x?????I?ml0?????x?I(M?m)?Mml2????u ??1?????0?ml?????0????2????I(M?m)?Mml???x????0?x??1000??x????u y????????????0010?????0???????代入倒立摆系统的参数可得:

???0?x?????0x???????0?????????0??10??x??0??x???1?010???????u?

001?????0?????????1?0110???0?x????0?x??1000??x????u? y????????????0010?????0???????2.系统分析

①判断系统能控性和能观性

在MATLAB中,可以利用ctrb()和obsv()函数直接求出能控性和能观性矩阵 A=[0 1 0 0;0 0 1 0;0 0 0 1;0 0 11 0]; B=[0;1;0;1]; C=[1 0 0 0;0 0 1 0]; D=[0;0];

Uc=ctrb(A,B);rc=rank(Uc); n=size(A); if rc==n

disp('system is controlled.')

elseif rc

disp('system is uncontrolled.') end

Vo=obsv(A,C); ro=rank(Vo); if ro==n

disp('system is observable.') elseif ro~=n

disp('system is no observable.') End

运行情况如下:

②系统稳定性

A=[0 1 0 0;0 0 1 0;0 0 0 1;0 0 11 0]; B=[0;1;0;1]; C=[1 0 0 0;0 0 1 0]; D=[0;0];

P=poly(A),v=roots(P) 运行结果如下:

特征值为0(二重),3..3166,显然,其中一个极点在右半平面,该系统不稳定。 3.系统设计:极点配置与控制器设计

极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法 ,将闭环系统的极点配置到任意期望的位置。

=Ax(t)+Bu(t),其中x是状态变量(n维),u是控制信号,这里选取控制信号为u=-Kx,

=(A-BK)x(t)该方程的解为x(t)、、x(0),系统的稳态响应和瞬态响应特性由矩阵A-BK的特征决定。K=-(K1 K2 K3 K4)x,闭环系统的方程为=Ax+Bf=(A-BK)x,选取所希望的极点值为p1、p2、p3、p4。设计状态反馈阵时,要使系统的极点设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定。 最大超调量小于等于10%,调节时间为4S,运用超调量的计算公式,,其中z为阻尼系数,有该公式可求得,阻尼系数z=0.59,小于1,是欠阻尼。(-s为极点实部),可以求得Wn=1.27,则极点公式为Wn,得到两个共轭极点为:p1,2=-0.75±j1.025,配置非主导极点p3=-15、p4=-15。

在MATLAB的控制系统工具箱中提供了单变量系统极点配置acker(),其格式为 K=acker(A,B,p)

程序如下:

A=[0 1 0 0;0 0 -2 0;0 0 0 1;0 0 22 0]; B=[0;1;0;-1];

C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; D=0;

rc=rank(ctrb(A,B));

p=[-0.75+1.025j,-0.75-1.025j]; K=acker(A,B,p) 运行结果如下:

4.仿真结果

该二阶系统的阶跃响应为下图所示: