现代控制理论课程设计
subplot(2,2,1);
plot(t,x(:,1));grid
xlabel('t(s)');ylabel('x(t)'); title('z');
subplot(2,2,2);
plot(t,x(:,2));grid;
xlabel('t(s)');ylabel('x(t)'); title('z的微分'); subplot(2,2,3); plot(t,x(:,3));grid
xlabel('t(s)');ylabel('x(t)'); title('\\theta') subplot(2,2,4);
plot(t,x(:,4));grid
xlabel('t(s)');ylabel('x(t)'); title('\\theta的微分') 结果:
?、采用全状态反馈。取状态变量z、zθ、
好、静态性能的要求。因此我们需要设计两种控制器方案来使系统到达控制的目的,分
别为:全维状态观测器的设计和降维观测器的设计。
4.状态观测器的设计
4.1单倒置摆全状态反馈
??为反馈信号,状态控制规律为
u?v?kx (13) 设 k??k0k1k2k3?
?、θ、??反馈至式中,k0~k3分别为z、z参考输入v的增益。则闭环控制系统的状态方
程
为
??(A?bk)x?bv x设置期望闭环极点为-1,-2,-1+i,-1-i
由matlab可求得:
k0=-0.4,k1=-1,k2=-21.4,k3=-6
如下图画出状态反馈系统结构图:
图2 单倒置摆开环系统的个变量的阶跃响应曲线
由上面两个方面对系统模型进行分析,可知被控系统是具有能控性的,但是被控系统是不稳定的,需对被控系统进行反馈综合,使四个特征值全部位于根平面S左半平面的适当位置,以满足系统的稳定工作已达到良
西北民族大学电气工程学院
4
现代控制理论课程设计
图3 单倒置摆全反馈系统结构图 仿真: 代码:
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];d=0; N=size(A);n=N(1); sys0=ss(A,b,c,d); P_s=[-1,-2,-1+i,-1-i]; k=acker(A,b,P_s) A1=A-b*k; sys=ss(A1,b,c,d); t=0:0.01:5;
[y,t,x]=step(sys,t); >> subplot(2,2,1);
plot(t,x(:,1));grid
xlabel('t(s)');ylabel('x(t)'); title('z');
subplot(2,2,2);
plot(t,x(:,2));grid;
xlabel('t(s)');ylabel('x(t)'); title('z的微分');
subplot(2,2,3);
plot(t,x(:,3));grid
xlabel('t(s)');ylabel('x(t)'); title('\\theta') subplot(2,2,4);
plot(t,x(:,4));grid
xlabel('t(s)');ylabel('x(t)'); title('\\theta的微分') >> t=0:0.01:10; [y,t,x]=step(sys,t); subplot(2,2,1);
plot(t,x(:,1));grid
xlabel('t(s)');ylabel('x(t)'); title('z');
subplot(2,2,2); plot(t,x(:,2));grid;
xlabel('t(s)');ylabel('x(t)'); title('z的微分'); subplot(2,2,3);
plot(t,x(:,3));grid
xlabel('t(s)');ylabel('x(t)'); title('\\theta') subplot(2,2,4);
图4 单倒置摆全状态反馈的阶跃响应曲线 如仿真图可知,单倒置摆的全状态反馈为稳定的闭环系统。观察仿真曲线:单位阶跃的作用下,输出变量逐渐趋于某一常数,状态变量θ则是逐渐趋于0。当参考输入v单位阶跃时,状态向量在单位阶跃的作用下相应逐渐趋于稳定,这时摆杆回到原始位置(即θ=0),小车也保持稳定(即z=某一常数)。如果不将4个状态变量全用作反馈,该系统则不能稳定。 plot(t,x(:,4));grid
xlabel('t(s)');ylabel('x(t)'); title('\\theta的微分') 结果: k =
-0.4000 -1.0000 -21.4000 -6.0000
4.2 方案一:全维观测器的设计
为实现单倒置摆控制系统的全状态反馈,必
?、须获取系统的全部状态,即z、zθ、??的?、θ、??的四信息。因此,需要设置z、z个传感器。在实际的工程系统中往往并不是所有的状态信息都是能检测到的,或者,虽有些可以检测,但也可能由于检测装置昂贵或安装上的困难造成难于获取信息,从而使
5
西北民族大学电气工程学院
现代控制理论课程设计
状态反馈在实际中难于实现,甚至不能实现。在这种情况下设计全维状态观测器,解决全维状态反馈的实现问题。 (1)判定系统状态的能观测性
将式(9)中的数值代入能观测性秩判据,得:
rankN?rankc代码1:
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];d=0; >> V=obsv(A,c); m=rank(V); if m==n
disp('系统能观') disp('系统不能观') end 结果1:
代码2:
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];d=0; N=size(A);n=N(1); sys0=ss(A,b,c,d);
P_s=[-1,-2,-1+i,-1-i]; P_o=[-2,-3,-2+i,-2-i]; k=acker(A,b,P_s)
g=(acker(A',c',P_o))'
A1=[A ,-b*k;g*c,A-b*k-g*c];
b1=[b;b];c1=[c zeros(1,4)];d1=0; sys=ss(A1,b1,c1,d1); t=0:0.01:10;
[y,t,x]=step(sys,t);
figure(1);
plot(t,x(:,1:4),'--');grid
xlabel('t(s)');ylabel('x(t)'); figure(2);
plot(t,x(:,5:8),'--');grid xlabel('t(s)');ylabel('x(t)'); figure(3)
>> subplot(4,1,1);
plot(t,(x(:,1)-x(:,5)));grid ylabel('z');
subplot(4,1,2);
plot(t,(x(:,2)-x(:,6)));grid ylabel('z的微分'); subplot(4,1,3);
?TAcTT(A)cT2T(A)cT3T??4else
(14)
或者由matlab中的obsv(A,c)命令来求秩,可得秩为4(见仿真)。可见被控系统的4个状态均是可观测的,即意味着其状态可由一个全维(四维)状态观测器给出估值。 其中,全维观测器的运动方程为
???(A?GC)x??Bu?Gy(15) x 式中G??g0g1g2g3?
T全维观测器已G配置极点,决定状态向量估计误差衰减的速率。
设置状态观察器的期望闭环极点为-2,-3,-2+i,-2-i。由于最靠近虚轴的希望闭环极点为-2,这意味着任一状态变量估计值至少以e?2t规律衰减。 由matlab可求的出G:
g0=9,g1=42,g2=-148,g3=-492
图5单倒置摆全反馈的全维观测器的结构图 仿真:
plot(t,(x(:,3)-x(:,7)));grid
ylabel('\\theta'); figure(3)
6
西北民族大学电气工程学院
现代控制理论课程设计
subplot(4,1,1);
plot(t,(x(:,1)-x(:,5)));grid subplot(4,1,2);
plot(t,(x(:,2)-x(:,6)));grid ylabel('z的微分');
subplot(4,1,3);
plot(t,(x(:,3)-x(:,7)));grid ylabel('\\theta'); subplot(4,1,4);
plot(t,(x(:,4)-x(:,8)));grid ylabel('\\theta的微分'); 结果:
图8 系统状态与全维观测器得到的估计状态之间的误差曲线
由上图可知,全维状态观测器观测到的4个变量的阶跃响应曲线与全状态反馈时的阶跃响应曲线基本相似(如图6与图7所示),但是二者还是有误差的,只不过误差很小(如系统状态与全维观测器得到的估计状态之间的误差曲线图8所示,它们的误差都在10?10级别的,很小),全维状态观测器所得的性能基本满足要求(系统能控且稳定),但是由于观测器的数目多,导致中间过程的损耗也大。实际上,本系统中的小车位移z,可由输出传感器获得,因而无需估 计,可以设计降维观测器,这样可减小误差)。 图7 带全维观测器的状态反馈下的状态变量的阶跃响应曲线
图6 状态反馈下的状态变量的阶跃响应曲线
4.3 方案二:降维观测器的设计
由于单倒置摆控制系统中的小车位移,可由输出传感器测量,因而无需估计,可以设计降维(3维)状态的观测器。通过重新排列被控系统状态变量的次序,把需由降维状态观测器估计变量与输出传感器测得的状态变量分开,也就是说,将z作为第四个状态变量,则按照被控系统的状态和输出方程可变换为:
西北民族大学电气工程学院
7
现代控制理论课程设计
???0?z???d????0?????0dt?????z??1???100??z???010?????1100????????000??z??1???0??u (16) ??1????0????0?zd?????0???dt????????0?1011???1?0??z?????1??0u??????0??????????1??
(18)
z???1
???z????1?? ???????0?0y??000???z??0?? ????????(19)
使用matlab对其的观测性检查,结果是客观的。
因为降维状态观测器动态方程的一般形
式为
简记为
???A?x111??????x2??A21A12??x1??b1???????uA22??x2??b2?(17) 式中
y?y??0?x1?I1??? ?x2???(A11?hA21)w?(b1?hb2)u?[(A11?hA21)h?A12?hw (20)
??w?hy x1(21) 式中,h??h0,
h1h2?。
T???z?? x1???????????0??0???0?10110??1?0???0????0????0??使用matlab可求出降维状态观测器特征多
项式为
?I?(A11?hA21)???h0??(?11?h1)??(?11h0?h2),
(22)
设期望的观测器闭环极点为-3,?2?i,则由matlab 仿真可得,期望特征多项式为
(??3)(??2?i)(??2?i)???7??17??153232A11,
A12?1???b?0
?????1?? x2?z?y,A21??1b2?0,I1?1,
00?A22?0,
(23) 由matlab可得,h0=7,h1=-28,h2 =-92 所以由matlab的仿真可得降维观测器的动
态方程为
故单倒置摆三维子系统动态方程为
西北民族大学电气工程学院
8