自控与现控的区别于联系1
|
自控 |
现控 | |
| 一、主要数学模型 |
传递函数:描述系统输出与输入的拉斯变换之比 求取传递函数:将描述系统的常系数微分方程进 行拉式变换,或者由结构图、信号流图等获得 |
状态空间:不仅能反映系统输出与输入之比 更重要的是反映系统中各个中间变量(Xi) 与输入(u)之间的关系。 求取状态空间表达式:由常系数微分方程将系 统分为无零点、有零点两类,具体参考 [1]刘豹.现代控制理论[M].北京:机械工业出版社,2006:22-29. |
| 二、主要研究目的 |
通过对系统开环传递函数的分析,确定系统闭环 单位负反馈的稳定性 |
通过对系统矩阵A,B,C,D分析,确定系统的能控 性、能观性,进而完成最小实现、极点配置、状 态观测器的设计等 |
| 三、分析方法 |
1、根轨迹:开环传函的参数K确定闭环系统的极 点位置,全在左半平面时系统稳定 2、频域分析:令S=jω 幅相图:横轴为实部,纵轴为虚部 奈奎斯特稳定判据:Z=P-N P:开环传函正实部极点个数(非最小相位环节) N:半闭合曲线逆时针包围临界点(-1,j0)的圈数 伯德图:稳定裕度(反应系统的相对稳定性) 相角裕度:γ=180°+∠(G(jωc)H(jωc)) 含义:如果开环相频特性在滞后γ度,系统临界稳定 幅值裕度:h=1/|G(jωx)H(jωx)| 含义:如果开环幅频特性再增大h倍,系统临界稳定 3、系统矫正 :当系统的结构、参数等确定以后 传递函数就确定了,但此时的系统一般不能满足 我们对于稳定性的要求,还需要串联一个控制器 构成串联超前(滞后)矫正等,进而获得一个新 的开环传递函数,再利用之前的稳定性判据对系 统重新分析 |
1、能控性:不同的输入u能够控制各个状态变量 Xi到达任一状态; 能观性:通过输出y能够知道每个状态变量Xi 此时的状态 2、状态反馈与极点配置:与单位负反馈做对比 状态反馈是将各个状态变量(Xi)的值引入输入端 构成闭环系统,求出[A-BK]的特征值 (|λI-(A-BK)|=0)结合期望的极点确定反馈矩 阵K的值(对比根轨迹法) 3、系统解耦 将多输入多输出系统转变为一 一对应关系 即一个输入控制一个输出,且一个输出仅受一个 输入控制 4、状态观测器(分离特性) 并非所有的状态变量都是可观测的; 以u为输入,(y-y1)为反馈信号输入,使x1趋近于x, y1趋近于y,构造新的状态空间表达式: x1=(A-GC)x+Gy+Bu |
| 四、其他 |
传递函数只能反映系统中能控且能观子系统的动 力学行为,即一个传递函数阵描述了无穷多个内 部结构不同的系统,其中维数最小的一类系统就 最小实现(能控且能观) |
分析工具:MATLAB |
G1=tf([1],[1 10]); G2=tf([1],[1 1]); G3=tf([1 0 1],[1 4 4]); numg4=[1 1];deng4=[1 6];G4=tf(numg4,deng4); H1=zpk([-1],[-2],1); numh2=[2];denh2=[1];H3=1; nh2=conv(numh2,deng4);dh2=conv(denh2,numg4); H2=tf(nh2,dh2); sys1=series(G3,G4); sys2=feedback(sys1,H1,+1); sys3=series(sys2,G2); sys4=feedback(sys3,H2,-1); sys5=series(G1,sys4); sys6=feedback(sys5,H3)
zeta=0.707; num=[16]; den=[1 8*zeta 16]; sys=tf(num,den); p=roots(den) t=0:0.01:3; figure(1) impulse(sys,t);grid xlabel('t');ylabel('c(t)');title('impulse response'); figure(2) step(sys,t);grid xlabel('t');ylabel('c(t)');title('step response'); figure(3) u=t; lsim(sys,u,t,0);grid xlabel('t');ylabel('c(t)');title('ramp respose');
G=tf([1 4],[1 4 20]); figure(1) pzmap(G); figure(2) rlocus(G);
G=tf([1280 640],[1 24.2 1604.81 320.24 16]); figure(1) margin(G); figure(2) nyquist(G); axis equal
K=1/0.1; G0=zpk([],[0 -1],K) [h0,r,wx,wc]=margin(G0); wm=4.4; L=bode(G0,wm); Lwc=20*log10(L); a=10^(-0.1*Lwc); T=1/(wm*sqrt(a)); phi=asin((a-1)/(a+1)); Gc=(1/a)*tf([a*T 1],[T 1]); Gc=a*Gc G=G0*Gc; bode(G,'r',G0,'b--');grid; [h,r,wx,wc]=margin(G); sys1=feedback(G0,1) sys2=feedback(G,1) t=0:0.01:10; figure(2) step(sys1,t);grid figure(3) step(sys2,t);
A=[-2 2 -1;0 -2 0;1 -4 0]; b=[0 1 1]'; c=[1 0 1]; d=0; %系统矩阵A、B、C、D N=size(A);n=N(1); Q=eye(n); %选定n*n的单位阵Q P=lyap(A',Q); %求对称阵P;当P的各阶顺序主子行列式>0,P正定,系统稳定 e1=eig(P); %利用特征值判断对称阵P是否正定;特征值全>0与P正定等价??? e2=eig(A); %计算系统的特征根;系统的特征根==矩阵A的特征值|λI-A|=0中λ的值==系统的极点??? %特征根全部为负即极点全部位于左半平面,系统稳定,取代第2~5行 sys=ss(A,b,c,d); %建立系统的状态空间模型 [y,t,x]=initial(sys,[1 -2 3]'); %计算系统的零输入响应;[1 -2 3]'系统的初始状态 figure(1) plot(t,x);grid %绘制系统零输入响应状态曲线 xlabel('t(s)');ylabel('x(t)');title('initial response'); figure(2) plot(t,y);grid %绘制系统零输入响应输出曲线 xlabel('t(s)');ylabel('y(t)');title('initial response'); [num,den]=ss2tf(A,b,c,d); %将系统状态空间模型转换为传递函数模型 S=ctrb(A,b); %计算可控性矩阵S;即判断能控性时构造的矩阵,判断是否满秩 f=rank(S); %通过rank命令求可控性矩阵的秩 if f==n %判断系统的可控性 disp('system is controlled') else disp('system is no controlled') end V=obsv(A,c); %计算可观测性矩阵V;同上 m=rank(V); %求可观测性矩阵的秩 if m==n %判断系统的可观测性 disp('system is observable') else disp('system is no observable') end S1=inv(S); %通过inv命令求矩阵的逆S-? T=[S1(3,:);S1(3,:)*A;S1(3,:)*A^2]; %求变换矩阵T sys1=ss2ss(sys,T); %通过相似变换矩阵T将系统化为可控标准型 [A1,b1,c1,T1]=obsvf(A,b,c) %系统可观测性分解???并非表达式里面不含y就是不可观的 [A2,b2,c2,T2]=ctrbf(A,b,c) %系统可控性分解???并非表达式里面不含u就是不可控的 sysr=minreal(sys) %求系统的最小实现???
A=[-2 -2.5 -0.5;1 0 0;0 1 0];b=[1 0 0]';c=[1 4 3.5];d=0; N=size(A);n=N(1); sys0=ss(A,b,c,d); %建立系统状态空间模型 S=ctrb(A,b); %求{A,b}可控性判别矩阵 f=rank(S); %求可控性判别矩阵的秩 if f==n %判断系统的可控性 disp('system is controlled') else disp('system is no controlled') end V=obsv(A,c); %求{A,c}可观测性判别矩阵 m=rank(V); %求可观测性判别矩阵的秩 if m==n %判断系统的可观测性 disp('system is observable') else disp('system is no observable') end P_s=[-1 -2 -3]; %系统期望配置的极点 k=acker(A,b,P_s) %计算系统的反馈增益向量K;充要条件是系统可控 P_o=[-3 -5 -7]; %观测器的期望配置极点 h=(acker(A',c',P_o))' %计算观测器输出反馈向量h;全维状态观测器 sys1=ss(A-b*k,b,c,d) e1=eig(A-b*k) %利用状态反馈实现极点配置 A1=[A -b*k;h*c A-b*k-h*c];b1=[b;b];c1=[c zeros(1,3)];d1=0; sys2=ss(A1,b1,c1,d1) %建立复合系统动态模型;分离定理P488 e2=eig(A1);e3=eig(A-h*c);e4=eig(A-b*k-h*c); %验证极点配置结果 x0=[1 -0.75 0.4]';x10=[0 0 0]'; t=0:0.01:4; [y,t,x]=initial(sys2,[x0;x10],t); %计算系统的零输入响应 figure(1) plot(t,x(:,1:3));grid %零输入响应系统状态曲线 xlabel('t(s)');ylabel('x(t)'); x1=x(:,1:3); figure(2) plot(t,x(:,4:6));grid %零输入响应观测状态曲线 xlabel('t(s)');ylabel('x(t)'); figure(3) plot(t,(x(:,1:3)-x(:,4:6)));grid %零输入响应状态误差曲线 xlabel('t(s)');ylabel('e(t)');

浙公网安备 33010602011771号