From skoge Thu Jan 25 13:39:53 1996 To: hhn@iau.dtu.dk,jacobsen@elixir.e.kth.se,ixp@le.ac.uk,y.cao@exeter.ac.uk,pack@jagger.me.berkeley.edu,baf@itk.unit.no Subject: 43917 - week 1 Status: RO Hello, I am giving a course in multivariable control this spring (43917 refers to the course number). The course meets weekly for 10 weeks and we then have a 4 week project. I am sending out some information about the course to the students as it goes along. *** Please send me a email if you want me to keep sending you *** *** this information. *** ANY comments are welcome! Best regards, Sigurd *************************************************************************** Sigurd Skogestad, Professor Fax: +47-7359-4080 Chemical Engineering Phone: +47-7359-4154 Norwegian University of Science and Technology Home: +47-7393-6855 N-7034 Trondheim e-mail: skoge@kjemi.unit.no Norway http://www.kjemi.unit.no/~skoge *************************************************************************** ****************************************************** WEEK 1. ****************************************************** ---------------------------------------------------- Ojectives of course: --------------------------------------------------- Generalize classical control theory to MIMO systems. Understand MIMO feedback. Be able to do practical designs (Matlab) --------------------------------------------------- Short overview of course --------------------------------------------------- The plan for the semester is as follows: Week 1 (24 Jan): Overview, Chapter 1 and 2. Week 2 (30 Jan): Review of Chapter 2. Start Chapter 3. Appendix. Week 3 (06 Feb): Finish Chapter 3. Week 4 (13 Feb): Chapter 4 (including zeros and norms). Week 5 (20 Feb): Chapter 5 (SISO controllability) Week 6 (27 Feb): Chapter 6 (MIMO) Week 7 (05 Mar): Chapter 7 (SISO uncertainty) Week 8 (12 Mar): Chapter 8 (MIMO, Structured singular value) Week 9 (19 Mar): Finish Chapter 8. Chapter 9. Start thinking about project! Week 10(26 Mar): Chapter 10 and 11 Week 11 (2 Apr): Summary and approval of plan for project (item 1) Final 4 weeks (which includes Easter): Work on project Lectures/discussions are Tuesday 13.15-15.00 Chapters 1 and 2 are mainly intended to be read individually by the students. Important topics are notation, scaling (!!) and classical SISO control including understanding loopshaping in the frequency domain. IMPORTANT! In Chapter 2 read carefully the section on Weighted sensitivity. Chapter 3 is important for the course and gives a tutorial introduction to MIMO control systems. Chapter 4 covers system theory - parts of it will be covered. Chapter 5 and 6 discusses inherent control limitations imposed by the plan G(s) which cannot be overcome by any controller - most of this will be covered. Chapters 7 and 8 discusses uncertainty (how to model) and how to test if the system is robust with respect to the uncertainty. An important tool is the structured singular value. Most of this chapter will be covered. Note that there are two main approaches to get a robust design: 1. Make it robust to some general class of uncertainty. For SISO systems one may consider GM and PM or the peak of S or T. For MIMO systems the normalized coprime uncertainty provides a good general class, and the corresponding Glover-McFarlane H-infinity loopshaping design has proved useful in many applications. 2. Model the uncertainty in detail and make the system robust with respect to it. This may require a large effort both in terms if uncertainty modelling (in particular for parametric uncertainty) and in terms of analysis and design (which involves the structured singular value). In pratice, one will therefore often start with approach 1, and switch to approach 2 if the resulting control performance is not satisfactory. Chapter 9 discusses controller design. In this book we are mainly users of the methods, so most of this material is left for a separate course. But you should look up this material when doing practical designs for the project. Chapter 10 discusses control structure design and decentralized control. We will cover parts of this in the course (it is very interesting but we do not have time to cover everything). Chapter 11 discusses model reduction. This is usueful for applications and we will cover most of this (but briefly). Chapter 12 provides three case studies. Appemdix A gives an overview of matrix theory. Appendix B gives the text for the project work. ---------------------------------------------------- A little about the Appendix ---------------------------------------------------- Note that matrix theory and norms overview given in Appendix. Note in particular the eigenvalue decomposition A = T Lambda T^-1 (T contains the eigenvectors, Lambda the eigenvalues) and the (for us more useful) singular value decomposition (SVD) A = U Sigma V^H (U and V contain the output and input singular values) The first (maximum) element in the diagonal matrix Sigma is the maximum singular value, which is equal to the induced 2-norm of the matrix A. Note that the columns in U and V are orthonormal, but that this is not the case for the eigenvectors in T. Norms are used to generalize the concept of gain, and are extensively discussed in the Appendix. The Appendix also lists the properties of the RGA-matrix Lambda(A) = RGA(A) = A x A^-T (x denotes element-by-element multiplication) Note that Lambda is here used for the RGA-matrix (and NOT the eigenvalue matrix). In the book Lambda (as a matrix) always means the RGA-matrix, and lambda_ij (as a scalar with two indices) refers to the ij'th element in the RGA-matrix, whereas lambda_i (as a scalar with one index) referes to the i'th eigenvalue. -------------------------------------------- Chapter 1. -------------------------------------------- 1.1: This course covers more than the traditional controller design and control system analysis (steps 9-10). 1.2 Note defs of NS,NP,RS and RP 1.3 Note definition of proper, strictly proper, etc. 1.4 SCALING!! Very IMPORTANT in applications, both for model analysis (input-output controllability) and for controller design. Main idea: Variables are dimensionless with 1 as maximum value. With scaling you make initial decision regarding performance. Makes weight selection simple later (may often select identity weights if initial scaling is reasonable!) 1.5 Linear models. Everything in this book is based on linear models which are often obtained by numerical differentiation of first-principle model. This is illustrated by an example (room hesating). 1.6 Notation Most important notation: G,K,L,S and T=I-S. Other implementations of two deegrees-of-freedom controller: see Fig. 4.5. General control configuration: P and K (will get back to in Chapter 3), see for example Fig. 3.13 which shows one-degree-freedom control system in PK-structure. P is "generalized" plant Generalized control system: Let all signals affecting the system (which we cannot do anything about) be collected in w (disturbances, noise, reference changes). Let the signals we want to be small be collected in z (typically control errors and manipulated inputs). The control objective is then: based on measurements and other signal information in v (including references), use a controller (algorithm) K to generate maniuplated input signals u, such that the norm from w to z is small (z remains small in spite of variations in w). Note: A reference r can be included in both w (exogeneous signals) and v (sensed signals) and indirectly also in z (e.g. as y-r). What other signals can be included several places? ------------------------------------------------------ Chapter 2. ------------------------------------------------------ This chapter is mostly intended for individual reading. It is a review on classical feedback control, except for the section on weighted sensitivity which should be read carefully. Most of the same ideas are used for MIMO systems later. Some points worth noting: 2.1 Nin-mimimum phase systems are systems with time delays or RHP-zeros (inverse response for SISO system). 2.2 Note agin the definition of L, S and T and how they are related to the closed-loop response. 2.4 The time domain specifications in Fig. 2.9 are not used later, mainly because of difficulties in formulating easily solvable mathematical problems. Note maximum peaks of S and T, denoted Ms amd Mt - these are the H-infinity norms! Note definitions of bandwidth (wB in terms of S) and gain crossover frequency (wc in terms of L). 2.6 Loop shaping. This is the classical trial-and-error approach where we at the end of the section show how the phase correction step can be "automized" by the Glover-McFarlane H-infinity loopshaping. Note that for disturbance rejection we typically want |L|=|Gd| if we want to avoid using excessive inputs. For disturbances at the inputs, Gd=G, this means that we want a controller which is a constant gain, |K|=1 (no dynamics required for performance, but may need it for robustness, and may also want some integral action at low frequencies). 2.7 A reasonable design specification is weighted sensitivity, p1= |wP S| < 1. To avoid excessive inputs we also want p2= |w_u KS| small . We combine these into sqrt(p1*p1 + p2*p2), see (2.80) which should be minimized. This is equivalent to a mixed sensitivity (S/KS) problem as discussed in Exercise 2.11 *** Important *** Make sure you understand the meaning of the performance weight wp. Weight which requires slope of -1 for L at lower frequencies: wp(s) = s/M + wB / s + wB A M = max peak on S wB = frequency where magnitude of S crosses 1 A = steady-state offset Study Fig. 2.26 and 2.27 carefully !!!! --------------------------------------------------------- Homework for this week : -------------------------------------------------------- Use H-infinity loopshaping and H-infinity S/KS to design controllers for the disturbance process. More precicely: Do Exercise 2.3 AND redo Example 2.11. (also see files given below) This will: 1. Give a good introduction to the software (MATLAB and mu-toolbox and robust control toolbox). 2. Introduce you to design methods which by introducing the max. singular value can be extended directly to MIMO systems. --------------------------------------------------------------- Some useful MATLAB files for chapter 2. --------------------------------------------------------------- Includes: A. Inverse response process B. Flexible structure C. Disturbance process (with H-infinity loopshaping design and H-infinity weighted sensitivity, S/KS) ---------------------------- A. INVERSE RESPONSE PROCESS. --------------------------- % This is a simple second-order plant with RHP-zero at z=2. g=nd2sys([-2,1],[50 15 1],3); % frequency response of G points=301; omega=logspace(-3,1,points); g_f=frsp(g,omega); vplot('bode',g_f); % P-control Kc=0.5 gc=mmult(g,Kc); s = minv(madd(1,gc)); t = msub(1,s); u=1; y1 = trsp(t,u,50); Kc=1.5 gc=mmult(g,Kc); s = minv(madd(1,gc)); t = msub(1,s); u=1; y2 = trsp(t,u,50); Kc=2.5 gc=mmult(g,Kc); s = minv(madd(1,gc)); t = msub(1,s); u=1; y3 = trsp(t,u,50); Kc=3 gc=mmult(g,Kc); s = minv(madd(1,gc)); t = msub(1,s); u=1; y4 = trsp(t,u,50); subplot(111),vplot(y1,y2,y3,y4,':',1) axis([0 50 -0.5 2.5]); text(11,1.95,'Kc=2.5'); text(14,1.3,'Kc=1.5'); text(8,0.2,'Kc=0.5'); text(10,2.35,'Kc=3 (Unstable)'); xlabel('Time');ylabel('y'); % PI-control Kc=2.5/2.2; ti=15.2/1.2; %1.136,12.7 c=nd2sys([ti,1],[ti 1.e-4],Kc); gc = mmult(g,c); s = minv(madd(1,gc)); t = msub(1,s); u=1; y1 = trsp(t,u,50); %input signal gs = mmult(c,s); u1=trsp(gs,u,50); subplot(111),vplot(y1,u1,1,':') axis([0 50 -0.5 2.5]); text(40,1.3,'OUTPUT (y)');text(40,0.0,'INPUT (-u)'); xlabel('Time');%ylabel('y'); % Nyquist plot of 1+L ny1 = madd(1,gc_f); ny2=cjt(ny1); subplot(111); vplot('nyq',ny1,ny2,'--',0,':'); axis([-1,1.5,-3,3]); % Frequency responses of L, S, T gc_f = frsp(gc,omega); s_f = frsp(s,omega); t_f = frsp(t,omega); subplot(211),vplot('liv,lm',abs(gc_f),abs(s_f),abs(t_f),1,':') ylabel('Magnitude'); xlabel('Frequency') axis([.01,10,.01,100]) subplot(212), vplot('liv,p',gc_f,s_f,t_f) ylabel('Phase'); xlabel('Frequency') axis([.01,10,-270,100]) % Find GM, PM and the peak values of $S$ and $T$ [A,B,C,D]=unpck(gc); [Gm,Pm,Wcp,Wcg]=margin(A,B,C,D) hinfnorm(s) % find peak is 3.92 at w=0.27 hinfnorm(t) % find peak is 3.35 at w=0.26 ---------------------- B. FLEXIBLE STRUCTURE ----------------------- % This is a flexible loop shaping design with input disturbance. omega=logspace(-2,3,410); g1 = nd2sys([1 1.e-4], [1 1.e-4 0.25], 2.5); g2 = nd2sys([1 1.e-4 1],[1 1.e-4 4]); g = mmult(g1,g2); gd=g; c=1; l = mmult(g,c); s = minv(madd(1,l)); sgd = mmult(s,gd); r1=abs(frsp(l,omega)); u=1; time=20; y1 = trsp(sgd,u,time); yol= trsp(gd,u,time); subplot(211),vplot('liv,lm',r1,1,':') axis([.01,100,.01,100]); xlabel('Frequency');ylabel('Magnitude');text(10,10, 'G = Gd') drawnow; subplot(212),vplot(y1,yol,0,':') xlabel('Time');ylabel('y(t)'); text(5,1.5,'OPEN LOOP');text(13,-0.5,'CLOSED LOOP (solid line)') --------------------------- C. DISTURBANCE PROCESS. -------------------------- % Disturbance process gd = nd2sys(1,[10 1],100); g1 = nd2sys(1,[10 1],200); g2 = nd2sys(1,[0.05 1]); g = mmult(g1,g2,g2); % g(0)=200 % Some settings dist=1; time=3; w=logspace(-2,3,41); c2 = nd2sys([1 2],[1 0],1); w1=c2; % PI controller with gain 1 gs = mmult(g,w1); % Now do H-infinity loopshaping % ALT. 1 : ROBUST CONTROL TOOLBOX (see coprimeunc.m below) [a,b,c,d]=unpck(gs); % Robustify this shaped plant with respect to coprime uncertainty gamrel=1.1; [Ac,Bc,Cc,Dc,gammin]=coprimeunc(a,b,c,d,gamrel); % see function below cr=pck(Ac,-Bc,Cc,-Dc); % Change from positive to negative feedback % ALT.2: USE MATLAB MUTOOLS INSTEAD [sysk,emax]= ncfsyn(gs,gamrel); cr=mmult(-1,sysk); 1/emax % NOW ANALYZE DESIGN: ctotr = mmult(w1,cr); lr = mmult(g,ctotr); l=gs; % original shaped plant s = minv(madd(1,l)); sgd = mmult(s,gd); omega=logspace(-2,2,41); rs=abs(frsp(l,omega)); sgd = mmult(s,gd); ksgd = mmult(mmult(-1,w1),sgd); ys = trsp(sgd,dist,time); us = trsp(ksgd,dist,time); l=lr; % robustified design s = minv(madd(1,l)); sgd = mmult(s,gd); rr=abs(frsp(l,omega)); sgd = mmult(s,gd); ksgd = mmult(mmult(-1,ctotr),sgd); yr = trsp(sgd,dist,time); ur = trsp(ksgd,dist,time); subplot(211); vplot('liv,lm',rr,rs,1,':'); axis([.01,1000,.001,10000]); drawnow; title('LOOP SHAPES'); xlabel('Frequency'); %subplot(212),vplot(y3,ys,yr,0,':') subplot(212),vplot(yr,ys,0,':') axis([0,3,-0.5,1]); title('RESPONSE TO DISTURBANCE'); xlabel('Time');ylabel('y'); % Check margins, etc. [A,B,C,D]=unpck(gs); [Gm,Pm,Wcp,Wcg]=margin(A,B,C,D) [A,B,C,D]=unpck(lr); [Gm,Pm,Wcp,Wcg]=margin(A,B,C,D) % Now do "regular" mixed-sensitivity H-infinity %weight Wp1: Require wb, slope 1 and peak less than 1.5 M=1.5; wb=10; Wp1 = nd2sys([1/M wb], [1 1.e-6]); %weight Wp2: Require wb, slope 2 and peak less than 1.5 M=1.5; wb=10; break1 = [1/sqrt(M) wb]; break2 = [1 wb*1.e-3]; wtnum = conv(break1,break1); wtden = conv(break2,break2); Wp2 = nd2sys(wtnum, wtden); Wp=Wp1; %Wp=Wp2; Wu = 1; G=g; systemnames = 'G Wp Wu' inputvar = '[ r(1); u(1)]'; outputvar = '[Wp; Wu; r-G]'; input_to_G = '[u]'; input_to_Wp = '[r-G]'; input_to_Wu = '[u]'; sysoutname = 'P'; cleanupsysic = 'yes'; sysic; nmeas=1; nu=1; gmn=0.667; gmx=20; tol=0.001; [khinf,ghinf,gopt] = hinfsyn(P,nmeas,nu,gmn,gmx,tol); % Let final controller have 10% higher hinf-norm %[khinf,ghinf] = hinfsyn(P,nmeas,nu,1.1*gopt,1.1*gopt,tol); K=khinf; l = mmult(g,K); l_f = frsp(l,omega); s = minv(madd(1,l)); t=msub(1,s); r=abs(frsp(l,omega)); sgd = mmult(s,gd); ksgd = mmult(mmult(-1,K),sgd); y = trsp(sgd,dist,time); u = trsp(ksgd,dist,time); t=msub(1,s); yr=trsp(t,dist,time); w1=minv(frsp(Wp,omega)); s1=frsp(s,omega); subplot(111),vplot('liv,lm',s1,w1,'--',1,':'); axis([.01,100,.0001,10]); subplot(211),vplot(yr,1,':') axis([0,3,-0.2,1.5]); xlabel('Time');ylabel('y'); title('RESPONSE TO CHANGE IN REFERENCE'); subplot(212),vplot(y,0,':') axis([0,3,-0.2,1.5]); xlabel('Time');ylabel('y'); title('RESPONSE TO DISTURBANCE'); %------------------------------------------------------------------ % For the H-infinity loopshaping with robust control toolbox: % ******* coprimeunc.m ***************: %function [Ac,Bc,Cc,Dc,gammin] = coprimeunc(a,b,c,d,gamrel) % % Finds the controller which optimally robustifies a given % shaped plant in terms of tolerating maximum coprime uncertainty. % Used in McFarlane-Glover H-infinity loopshaping procedure. % % a,b,c,d: State-space description of (shaped) plant % gamrel: Final gamma used is gamrel*gammin [default: 1.1] % Ac,Bc,Cc,Dc: State-space description of "robustifying" controller % assuming positive feedback function [Ac,Bc,Cc,Dc,gammin] = coprimeunc(a,b,c,d,gamrel) if nargin <4, disp('usage: [Ac,Bc,Cc,Dc] = coprimeunc(a,b,c,d,gamrel)'); return; end if nargin <5, gamrel=1.1; end % Find Normalized Coprime factors of the shaped plant S=eye(size(d'*d))+d'*d; R=eye(size(d*d'))+d*d'; Rinv=inv(R);Sinv=inv(S); A1 = a-b*Sinv*d'*c; Q1 = c'*Rinv*c; R1 = b*Sinv*b'; [X1,X2,XAMP,XERR,XWELLPOSED,X]=aresolv(A1,Q1,R1); XWELLPOSED A2 = A1'; Q2 = R1; R2 = Q1; [Z1,Z2,ZAMP,ZERR,ZWELLPOSED,Z]=aresolv(A2,Q2,R2); ZWELLPOSED % display optimal gamma XZ = X*Z; gammin=sqrt(1+max(eig(XZ))) % Use higher gamma gam=gamrel*gammin; gam2 = gam*gam; gamconst = (1-gam2)*eye(size(XZ)); Lc = gamconst + XZ; Li = inv(Lc'); Fc = -Sinv*(d'*c+b'*X); Ac = a + b*Fc + gam2*Li*Z*c'*(c+d*Fc); Bc = gam2*Li*Z*c'; Cc = b'*X; Dc = -d'; %--------------------------------------------------------------------- From skoge Mon Jan 29 09:28:07 1996 To: ansatte@itk.unit.no,drstud@itk.unit.no, prost Subject: Fag 43917 - Multivariabel frekvensanalyse Cc: hofsten@itk.unit.no,jaffi@itk.unit.no,spb@itk.unit.no Status: RO Hallo, Forelesninger/dikusjoner blir tirsdager 13-15 i rom B333 (Elektro). Laerbok er forelopig utgave av: S. Skogestad and I. Postlethwaite: Multivariable feedback control. (Utkommer paa Wiley en gang i 1996). Forelopig plan: Week 1 (24 Jan): Overview, Chapter 1 and 2. Week 2 (30 Jan): Review of Chapter 2 (Classical SISO control). Start Chapter 3 (Introduction to MIMO control). Appendix. Week 3 (06 Feb): Finish Chapter 3. Week 4 (13 Feb): Chapter 4 (including zeros and norms). Week 5 (20 Feb): Chapter 5 (limits on performance - SISO controllability) Week 6 (27 Feb): Chapter 6 (MIMO) Week 7 (05 Mar): Chapter 7 (SISO uncertainty) Week 8 (12 Mar): Chapter 8 (MIMO, Structured singular value) Week 9 (19 Mar): Finish Chapter 8. Chapter 9 (design; LQG, H-infinity) Start thinking about project! Week 10(26 Mar): Chapter 10 (control structure design, decentralized control) and 11 (model reduction) Week 11 (2 Apr): Summary and approval of plan for project (item 1) Final 4 weeks (which includes Easter): Work on project Extensive use of MATLAB (Mu and Robust toolboxes) throughout the course. -Sigurd Skogestad From Svein.Berge@itk.unit.no Mon Jan 29 17:33:40 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id RAA17846 (8.6.12/IDA-1.6 for ); Mon, 29 Jan 1996 17:33:38 +0100 Received: from rut.itk.unit.no by adam.itk.unit.no with SMTP id AA13999 (5.65c/IDA-1.4.4 for ); Mon, 29 Jan 1996 17:33:32 +0100 From: "Svein P. Berge" Message-Id: <9601291733.ZM4742@itk.unit.no> Date: Mon, 29 Jan 1996 17:33:29 +0100 In-Reply-To: Sigurd Skogestad "Fag 43917 - Multivariabel frekvensanalyse" (Jan 29, 9:28am) References: <199601290828.JAA02294@asker.kjemi.unit.no> X-Mailer: Z-Mail (3.2.0 06sep94) To: Sigurd Skogestad Subject: Re: Fag 43917 - Multivariabel frekvensanalyse Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="PART-BOUNDARY=.19601291733.ZM4742.unit.no" Status: RO Hei ! Jeg er dessverre borte fra forelesingen paa tirsdag, men har sett litt paa eksempel 2.3. Hvordan finner du enkelt fasemargin og forsterkningsmargin for dette SISO-systemet ? Bruker rutinen margin vanligvis, men kan vel ikke bruke denne siden systemet er paa en spesiell form SYSTEM/VARYING matriser ? -- Regards, Svein P. Berge Department of Engineering Cybernetics Norwegian University of Science and Technology N-7034 TRONDHEIM NORWAY Phone : +47 73 594360, +47 73 594376 (switchboard) Fax : +47 73 594399 E-mail : spb@itk.unit.no Homepage : http://www.itk.unit.no/ansatte/Berge_Svein/ From Sigurd.Skogestad Mon Jan 29 18:01:37 1996 Received: from asker.kjemi.unit.no (skoge@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id SAA18211 (8.6.12/IDA-1.6); Mon, 29 Jan 1996 18:01:37 +0100 From: Sigurd Skogestad Received: by asker.kjemi.unit.no ; Mon, 29 Jan 1996 18:01:36 +0100 Date: Mon, 29 Jan 1996 18:01:36 +0100 Message-Id: <199601291701.SAA05999@asker.kjemi.unit.no> To: hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, skoge Subject: margins SYSTEM?VARYING Status: RO Fra Svein Berge: Hvordan finner du enkelt fasemargin og forsterkningsmargin for dette SISO-systemet ? Bruker rutinen margin vanligvis, men kan vel ikke bruke denne siden systemet er paa en spesiell form SYSTEM/VARYING matriser ? Svar: Bruk [A,B,C,D] = unpck(G) hvor G er SYSTEM matrise. From Sigurd.Skogestad Wed Jan 31 15:32:07 1996 Received: from asker.kjemi.unit.no (skoge@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id PAA01344 (8.6.12/IDA-1.6); Wed, 31 Jan 1996 15:31:41 +0100 From: Sigurd Skogestad Received: by asker.kjemi.unit.no ; Wed, 31 Jan 1996 15:31:40 +0100 Date: Wed, 31 Jan 1996 15:31:40 +0100 Message-Id: <199601311431.PAA17467@asker.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenhn@itk.unit.no, hallgeirn@itk.unit.no, bvikn@itk.unit.no, tovekrok@kjemi.unit.no, ivarh@itk.unit.no, cao@kjemi.unit.no, litto@kjemi.unit.no, acc@kjemi.unit.no, ekh@kjemi.unit.no, morud@kjemi.unit.no, wittgens@kjemi.unit.no, zhao@kjemi.unit.no, flatby@kjemi.unit.no, havre@kjemi.unit.no, hovd@kjemi.unit.no, mejdell@kjemi.unit.no Subject: Course 43917 - week 2 Status: RO ------------------------------------------------------------------ Chapter 3 ------------------------------------------------------------------ This chapter provides an introduction to MIMO systems and MIMO feedback control. It may form the basis for a first course on multivariable control. 3.1 Introduction ----------------- A plant G is INTERACTIVE if its offdiagonal elements are nonzero. It is one-way interactive if it can be rearranged to a upper or lower triangular matrix. For SISO systems the GAIN |Gd|/|d| is independent of the input magnitude. Also for MIMO systems the GAIN ||Gd|| / ||d|| (where ||d|| is some norm) is independent of the magnitude ||d||, but it DOES depend on its direction. For example, the following inputs generally have different gain: d = [1 0]^T, d=[0 1]^T, d = [0.71 0.71]^T, d=[0.71 -0.71]^T, etc. (although they all have the same 2-norm, || d ||_2 = 1). A plant is said to be ILL-CONDITIONED if the gain depends strongly on the input direction. It is quantified by the condition number gamma(G) (which is much larger than 1 for an ill-conditioned plant). 3.2 Transfer functions ----------------- *** Misprints: p. 69, Feedback rule: G1 G2 should be G2 G1. Figure 3.3: Need negative sign in feedback loop For MIMO systems the order of the transfer functions matter, so in general GK is not the same as KG (even when G and K are square matrices). The main rule for evaluating transfer functions is: Start from the output and write down the transfer functions as you meet them going to the input. If you exit a feedback loop then we get a term (I-L)^-1 where L is the transfer function around the loop (gain going backwards). Note that the order (left to right) in the block diagram and the formulas is reversed! The rules etc. given in this section are important and should be memorized! 3.3 MIMO frequency response ----------------- Essentially the same as for SISO systems except for the issue of directions. Make sure you understand the singular value decomposition. G = U Sigma V^H V: columns give input directions U: columns give output directions Sigma: Gains relating these directions The largest singular value (smax) is the induced 2-norm. Condition number (gamma): max. singular value / min. singular value For a square matrix, gamma = smax(G) smax(G^-1) so the condition number is large if the product of the largest element in G and G^-1 is large. Note that the condition number depends strongly on scaling. It may be scaled (minimized) at the input or output or both. Relative Gain Array (RGA) for square G: RGA = Lamda(G) = G x G^-T Useful measure - easy to compute. The difference between RGA and I (the identity matrix) says something about two-way interactions. But the RGA also has many other uses! Note that our definition says nothing about decentralized control (although the RGA is useful for decentralized control). We have that || RGA ||_sum is approximately equal to the minimized condition number. ****** Example MATLAB (Distillation process): G0 = [87.8 -86.4; 108.2 -109.6]; [U,sval,V]=svd(G0) % or use: [U,sval,V]=vsvd(G0) for G freq.-varying rga = G0.*pinv(G0.') % or use: rga = vrga(G0) - see function vrga rgasum = sum(sum(abs(rga))) % sum-norm of RGA (sum of elements) gamma = cond(G0) % or use: gamma = vcond(G) for G freq.-varying gammamin = condmin(G0) % see function condmin gammamini = condmini(G0) % see function condmini gammamino = condmino(G0) % see function condmino Homework: 1. Exrecise 3.4 2. Do MATLAB design examples form Chapter 2. ----------------------------------------------------- MATLAB routines for RGA and minimized condition no. ----------------------------------------------------- RGA. For a regular matrix use: >>rga=G.*pinv(G.') For a frequency-varying matrix in mu-toolbox use function vrga: function rga = vrga(Gf); if (nargin == 0) | (nargin > 1), disp('usage: vrga(mat)') return end rga = veval('.*',Gf,vpinv(vtp(Gf))); Minimized condition number. May compute using upper bound on structured singular value (see Appendix). In mu toolbox use function condmin: function gmin = condmin(Gf) % Minimize cond.no. with both input and output scaling % WARNING: May be inaccurate because of inaccurate mu-calculation [dum1,n,m,dum2]=minfo(Gf); zero = 0*eye(n); H = abv( sbs(zero, minv(Gf)), sbs(Gf, zero)); blk0=[1 1]; blk1=blk0; for k=2:n blk1 = [blk1; blk0]; end blk2=blk1; blk=[blk1; blk2]; mu1=mu(H,blk,'Uc'); gmin1=sel(mu1,':',1); gmin=mmult(gmin1,gmin1); For INPUT minimized condition number use function condmini: function gmin = condmini(Gf) % Minimize cond.no. with input scaling [dum1,n,m,dum2]=minfo(Gf); zero = 0*eye(n); H = abv( sbs(zero, minv(Gf)), sbs(Gf, zero)); blk0=[1 1]; blk1=blk0; for k=2:n blk1 = [blk1; blk0]; end blk2=[n n]; blk=[blk1; blk2]; gmin1=sel(mu(H,blk,'Uc'),':',1); gmin=mmult(gmin1,gmin1); For OUTPUT minimized condition number use function condmino: function gmin = condmino(Gf) % Minimize cond.no. with output scaling [dum1,n,m,dum2]=minfo(Gf); zero = 0*eye(n); H = abv( sbs(zero, minv(Gf)), sbs(Gf, zero)); blk0=[1 1]; blk1=blk0; for k=2:n blk1 = [blk1; blk0]; end blk2=[n n]; blk=[blk2; blk1]; gmin1=sel(mu(H,blk,'Uc'),':',1); gmin=mmult(gmin1,gmin1); From Sigurd.Skogestad Tue Feb 13 11:09:21 1996 Received: from asker.kjemi.unit.no (skoge@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id LAA07308 (8.6.12/IDA-1.6); Tue, 13 Feb 1996 11:09:15 +0100 From: Sigurd Skogestad Received: by asker.kjemi.unit.no ; Tue, 13 Feb 1996 11:09:15 +0100 Date: Tue, 13 Feb 1996 11:09:15 +0100 Message-Id: <199602131009.LAA21991@asker.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, gm@sun.engg.le.ac.uk, skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no Subject: Course 43917 (week3) Cc: tovekrok@kjemi.unit.no, ivarh@itk.unit.no, cao@kjemi.unit.no, litto@kjemi.unit.no, acc@kjemi.unit.no, ekh@kjemi.unit.no, morud@kjemi.unit.no, wittgens@kjemi.unit.no, zhao@kjemi.unit.no, flatby@kjemi.unit.no, havre@kjemi.unit.no, hovd@kjemi.unit.no, mejdell@kjemi.unit.no Status: RO Hello, This is what I covered in week 3 (this is almost an introductory course in MIMO control). Next week (today) I will talk about chapter 4 (system theory). -Sigurd Skogestad ------------------------------------------------------------------ Chapter 3, continue ------------------------------------------------------------------ 3.4 Control of MIMO plants --------------------------- A few "simple-minded" approaches to MIMO control: 1. Decentralized control; K is diagonal o Does nothing about interaction - poor performance (even nominally) o But normally robust o May often tune on-line (little modelling effort) o Important issue: Select pairing (to achieve G diagonally dominant) 2. Compensator approaches and decoupling o First make something simple which takes care of interactions o Then design diagonal controller for performance etc. o Decoupler: E,g. inverse -based controller K = l G^{-1} Often sensitive to uncertainty, Also: Decoupling may not be required, e.g. for disturbance rejection. o SVD-controller: More flexible. Usually based on SVD of G around crossover frequency. 3.5 Introduction to MIMO RHP-zeros ---------------------------------- Square MIMO plant: Poles and zeros are in most cases poles and zeros of det G(s). More generally: Zeris are where G(s) looses rank. NOTE: Poles are essentially poles of elements of G, but zeros are NOT usually zeros of elements of G !! Right half plane (RHP) zero: Fundamental limitation on achievable control (as for SISO). Why? G(s)^-1 is unstable. MIMO pole and zeros have directions. Poles: Look at SVD of G(p): Pole direction is direction where G(p) is infinite. Zeros: Look at SVD of G(z). Zero direction is where gain of G(z) is zero (i.e. it goes to zero for s=z). Numerical: Use state-space form, see ch. 4 See 2x2 example with H-infinity design: Note that we can MOVE effect of RHP-zero to particular outputs (unless zero is pinned). Matlab-file is given below. 3.6 Introduction to robustness for MIMO plants ----------------------------------------------- Example 1: Spinning satellite ***************************** Usual stability margins (GM, PM) one loop at a time: Looks OK BUT singular value of S and T has peak around 10. This ALWAYS signals a robustness problem (and performance is alo poor). Matlab file given below. Example 2: Distillation process ******************************** Here usual margins are OK + there is NO large peak on S and T. Still poor robustness with input uncertainty, see simulation. Whats wrong? The input uncertainty moves large input signals over to direction where plant has large gain. NOTE: We use an inverse-based controller. This problem CANNOT happen with a diagonal controller with no peak on S or T. Matlab file given below. 3.7 General control problem formulation ---------------------------------------- Important section! Note that we can handle non-square plants, we need not measure all the outputs, etc. etc. Note that the general formulation (P) has already been used in the files for H-infinty design (S/KS). May use sysic in the MATLAB mu-toolbox to generate P. Exercise: Find P for two-degrees of freedom controller with noise and disturbance. z=[y-r u]^T. Also find N from w to z with two methods. *** End lecture week 3 ********* ________________________________________________________________________ THREE MATLAB FILES ARE GIVEN BELOW (RHP-zero, Satellite, distillation) ----------------------------------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Simple 2x2 plant with RHP zero. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% g11 = nd2sys(1, [0.2 1.2 1]); g12=g11; g22=mmult(g11,2); g21 = nd2sys([2 1],[0.2 1.2 1]); G = abv(sbs(g11,g12),sbs(g21,g22)); spoles(G) % 8 poles G = sysbal(G); spoles(G) % minimal realization only 4 poles format short e; szeros(G) % Mu-tools command yields extra zeros at infinity [A,B,C,D]=unpck(G); tzero(A,B,C,D) % Try Robust control toolbox instead, zero at z=0.5 % Analyze zero direction G05 = frsp(G,-0.5i) [u,s,v]=vsvd(G05) % look at last column in u and v %Open-loop simulation y1=trsp(G,[1;0],10,0.1); y2=trsp(G,[0;1],10,0.1); y3=trsp(G,[1;-1],10,0.1); subplot(231);vplot('iv,d',y1) subplot(232);vplot('iv,d',y2) subplot(233);vplot('iv,d',y3) title('OPEN-LOOP SIMULATION') % H-INFINITY S-KS design % Require wb, slope 1 and peak less than M M=1.5; wb=0.5*z; wp1 = nd2sys([1/M wb], [1 1.e-6]); wp2=wp1; %weight1 Wp=daug(wp1,wp2); Wu=1.0*eye(2); systemnames = 'G Wp Wu' inputvar = '[ r(2); u(2)]'; outputvar = '[Wp; Wu; r-G]'; input_to_G = '[u]'; input_to_Wp = '[r-G]'; input_to_Wu = '[u]'; sysoutname = 'P'; cleanupsysic = 'yes'; sysic; nmeas=2; nu=2; gmn=0.667; gmx=20; tol=0.001; [khinf,ghinf,gopt] = hinfsyn(P,nmeas,nu,gmn,gmx,tol); K=khinf; L = mmult(G,K); i = eye(2); S = minv(madd(i,L)); T=msub(i,S); omega=logspace(-3,2,121); Sf=frsp(S,omega); [u,Sfssav,v]=vsvd(Sf); % Simulation of bad (y1) and good (y2) direction y1sav=trsp(T,[1;-1],10,0.1); % new performance weight M=1.5; wb=50*z; wp2 = nd2sys([1/M wb], [1 1.e-6]); %weight2 % when wb2=10 we require much better performance for output 2 Wp=daug(wp1,wp2); systemnames = 'G Wp Wu' inputvar = '[ r(2); u(2)]'; outputvar = '[Wp; Wu; r-G]'; input_to_G = '[u]'; input_to_Wp = '[r-G]'; input_to_Wu = '[u]'; sysoutname = 'P'; cleanupsysic = 'yes'; sysic; nmeas=2; nu=2; gmn=0.667; gmx=20; tol=0.001; [khinf,ghinf,gopt] = hinfsyn(P,nmeas,nu,gmn,gmx,tol); K=khinf; L = mmult(G,K); S = minv(madd(i,L)); T=msub(i,S); Sf=frsp(S,omega); [u,Sfs,v]=vsvd(Sf); y1=trsp(T,[1;-1],10,0.1); % Plot figure(1); subplot(211);vplot('liv,lm',Sfssav,Sfs,'--',1,':') title('SINGULAR VALUES OF S:'); text(4,0.02,'DESIGN 1: SOLID LINE');text(4,0.005,'DESIGN 2: DASHED LINE'); axis([0.01,100,0.001,10]); subplot(212);vplot('iv,d',y1sav,y1,'--',1,':',-1,':') title('RESPONSE TO CHANGE IN REFERENCE, r = [1 -1]:');xlabel('Time'); text(4,-1.4,'OUTPUT 2');text(4,1.4,'OUTPUT 1'); axis([0,5,-2,2]); drawnow; ------------------------------------------------------------------------ %%%%%%%%%%%%%%%%%%%%% % Spinning satellite %%%%%%%%%%%%%%%%%%%%% alpha = 10; a = [0 alpha ; -alpha 0]; b = [1 0; 0 1]; c = [1 alpha; -alpha 1]; d = [ 0 0; 0 0]; G = pck(a,b,c,d); I2 = eye(2); K=I2; % KG and GK are both equal to G L = mmult(G,K); S = minv(madd(I2,L)); T = msub(I2,S); hinfnorm(S) % H-infinity norm of S is 10.05 (peak of singular value of S). hinfnorm(T) % H-infinity norm of T is 10.05 (peak of singular value of T). -------------------------------------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%% % DISTILLATION PROCESS %%%%%%%%%%%%%%%%%%%%%%%% % % The example process is from: % Skogestad, Morari and Doyle,``Robust Control of Ill-Conditioned % Plants: High-Purity Distillation'', IEEE Atomat. Control 33, % 1092-1105 (1988). % G0 = [87.8 -86.4; 108.2 -109.6]; [U,sval,V]=svd(G0); dyn = nd2sys(1,[75 1]); Dyn = daug(dyn,dyn); G = mmult(Dyn,G0); % Inverse-based controller dynk = nd2sys([75 1],[1 1.e-6],0.7); Dynk = daug(dynk,dynk); Kinv = mmult(Dynk,minv(G0)); I2=eye(2); K = Kinv; % Nominal GK = mmult(G,K); %% May perform minimal realization to get rid of the extra states GK = sysbal(GK); S = minv(madd(I2,GK)); T = msub(I2,S); % With 20% INPUT uncertainty Unc = [1.2 0; 0 0.8]; GKu = mmult(G,Unc,K); Su = minv(madd(I2,GKu)); Tu = msub(I2,Su); hinfnorm(S), hinfnorm(Su) % Peak of S; 1 nominally and 14.2 with uncertainty hinfnorm(T), hinfnorm(Tu) % Peak of T; 1 nominally and 14.2 with uncertainty % TIME simulation kr=nd2sys(1,[5 1]); % 5 min filter on reference change Kr=daug(kr,kr); Tr = mmult(T,Kr); y = trsp(Tr,[1;0],100,.1); u = trsp(mmult(K,S,Kr),[1;0],100,.1); Tru = mmult(Tu,Kr); yu = trsp(Tru,[1;0],100,.1); uu = trsp(mmult(K,Su,Kr),[1;0],100,.1); subplot(211); vplot(y,yu,'--'); axis([0 100 -0.2 2.7]);text(77,1.2,'y1'),text(77,0.2,'y2');title('OUTPUTS'); subplot(212);vplot(u,uu,'--'),title('INPUTS');figure(1);xlabel('TIME (min)'); % For EXERCISE. % Now with relative uncertainty del BOTH at the input and output del=0.11; % Inverse-controller: Unstable for del larger than 0.12 Unci = [1+del 0; 0 1-del]; Unco = [1-del 0; 0 1+del]; GKu = mmult(Unco,G,Unci,K); Su = minv(madd(I2,GKu)); Tu = msub(I2,Su); Tru = mmult(Tu,Kr); yu = trsp(Tru,[1;0],100,.1); subplot(111);vplot(y,yu,'--'); title('11 percent UNC. ON INPUTS AND OUTPUTS:'); axis([0 100 -0.2 2.7]); text(77,1.2,'y1'), text(77,0.2,'y2'); xlabel('TIME (min)'); %---------------------------------------------------------------------- From hofsten@itk.unit.no Tue Feb 13 15:34:59 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id PAA14352 (8.6.12/IDA-1.6 for ); Tue, 13 Feb 1996 15:34:59 +0100 Received: from robert.itk.unit.no by adam.itk.unit.no with SMTP id AA10232 (5.65c/IDA-1.4.4 for ); Tue, 13 Feb 1996 15:34:54 +0100 From: "Kai Hofsten" Message-Id: <9602131534.ZM805@itk.unit.no> Date: Tue, 13 Feb 1996 15:34:51 +0100 X-Mailer: Z-Mail (3.2.0 06sep94) To: Sigurd.Skogestad@kjemi.unit.no Subject: Reservering av B333 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Status: RO Hei! Jeg kontaktet fakultet for elektro og datateknikk og fikk reservert rom B333 for mandag 19/2-1996 ifra kl.13.00 til kl.15.00. Hilsen Kai Hofsten From Sigurd.Skogestad Tue Feb 13 15:50:34 1996 Received: from asker.kjemi.unit.no (skoge@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id PAA14716 (8.6.12/IDA-1.6); Tue, 13 Feb 1996 15:50:34 +0100 From: Sigurd Skogestad Received: by asker.kjemi.unit.no ; Tue, 13 Feb 1996 15:50:34 +0100 Date: Tue, 13 Feb 1996 15:50:34 +0100 Message-Id: <199602131450.PAA25178@asker.kjemi.unit.no> To: skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Fag 43917: Eksamen Status: RO Foreslaatt eksamensdato i Multivariabel frekvensanalyse er fredag 7. juni. Vennligst meld fra snarest om det ikke passer. -Sigurd Skogestad From Sigurd.Skogestad Tue Feb 13 15:52:50 1996 Received: from asker.kjemi.unit.no (skoge@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id PAA14833 (8.6.12/IDA-1.6); Tue, 13 Feb 1996 15:52:49 +0100 From: Sigurd Skogestad Received: by asker.kjemi.unit.no ; Tue, 13 Feb 1996 15:52:49 +0100 Date: Tue, 13 Feb 1996 15:52:49 +0100 Message-Id: <199602131452.PAA25231@asker.kjemi.unit.no> To: skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Fag 43917: Ekstra forelesning Status: RO Hallo, Det blir en ektra forelesning paa mandag 19. feb. kl. 13-15 for aa komme igjennom kap. 4 (system-teori). Denne kommer i tillegg til forelesning tirsdag 20. feb. 13-15. -Sigurd Skogestad From Sigurd.Skogestad Tue Feb 13 16:39:55 1996 Received: from asker.kjemi.unit.no (skoge@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id QAA15953 (8.6.12/IDA-1.6); Tue, 13 Feb 1996 16:39:54 +0100 From: Sigurd Skogestad Received: by asker.kjemi.unit.no ; Tue, 13 Feb 1996 16:39:55 +0100 Date: Tue, 13 Feb 1996 16:39:55 +0100 Message-Id: <199602131539.QAA25388@asker.kjemi.unit.no> To: skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: 43917 - ovinger til 20.feb. Status: RO Hallo, Her er ovinger til neste uke. De blir diskutert paa tirsdag 20/2. Exercise 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.22, 3.23 samt Exercise 4.11 og 4.16 -Sigurd Skogestad From Svein.Berge@itk.unit.no Wed Feb 21 14:57:58 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id OAA00750 (8.6.12/IDA-1.6 for ); Wed, 21 Feb 1996 14:57:57 +0100 Received: from rut.itk.unit.no by adam.itk.unit.no with SMTP id AA20373 (5.65c/IDA-1.4.4 for ); Wed, 21 Feb 1996 14:57:51 +0100 From: "Svein P. Berge" Message-Id: <9602211457.ZM12050@itk.unit.no> Date: Wed, 21 Feb 1996 14:57:50 +0100 In-Reply-To: Sigurd Skogestad "Fag 43917: Eksamen" (Feb 13, 3:50pm) References: <199602131450.PAA25178@asker.kjemi.unit.no> X-Mailer: Z-Mail (3.2.1 10oct95) To: Sigurd Skogestad Subject: Kommentarer Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Status: RO Hei ! Noen kommentarer: 1) Skal ikke matrisen A_cl paa side 91 ha vaere diagonal med verdier -1 ? 2) Fortegn mellom matrisene A-B'C side 92 skal vaere minus ? 3) Forskjellig font er brukt paa "open-loop" og "closed-loop" characteristic polynom side 145 (rett over lign 4.90) og side 146 (rett over lign 4.94). hilsen Svein P. From Sigurd.Skogestad Sat Feb 24 12:53:27 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id MAA22358 (8.6.12/IDA-1.6); Sat, 24 Feb 1996 12:53:11 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Sat, 24 Feb 1996 12:53:08 +0100 Date: Sat, 24 Feb 1996 12:53:08 +0100 Message-Id: <199602241153.MAA21202@oslo.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, gm@sun.engg.le.ac.uk, skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no, tovekrok@kjemi.unit.no, ivarh@itk.unit.no, cao@kjemi.unit.no, litto@kjemi.unit.no, acc@kjemi.unit.no, ekh@kjemi.unit.no, morud@kjemi.unit.no, wittgens@kjemi.unit.no, zhao@kjemi.unit.no, flatby@kjemi.unit.no, havre@kjemi.unit.no, hovd@kjemi.unit.no, mejdell@kjemi.unit.no Subject: Course 43917: More MATLAB files for Ch.3 Status: RO Hello, Here are a few additional Matlab files for exercises in Chapter 3. -Sigurd % % Chapter 3. % This m-file contains simulations using various controllers % for the distillation process. % File name: ieee_more.m % % Includes: % 1. Remark 3: S/KS-design % 2. Ex. 3.6: Attempt to robustify inverse-based controller % 3. Ex. 3.7: SVD-controllers % 4. Ex. 3.8: Combined input and output uncertainty % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % S-KS DESIGN (see Remark 3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% G0 = [87.8 -86.4; 108.2 -109.6]; dyn = nd2sys(1,[75 1]); Dyn = daug(dyn,dyn); G = mmult(Dyn,G0); A= 1.e-4; M=2; wb=0.05; wp = nd2sys([1/M wb], [1 wb*A]); Wp=daug(wp,wp); wu = 1; Wu = daug(wu,wu); systemnames = 'G Wp Wu' inputvar = '[ r(2); u(2)]'; outputvar = '[Wp; Wu; r-G]'; % NEGATIVE feedback input_to_G = '[u]'; input_to_Wp = '[r-G]'; input_to_Wu = '[u]'; sysoutname = 'P'; cleanupsysic = 'yes'; sysic; nmeas=2; nu=2; gmn=1; gmx=100; tol=0.01; [khinf,ghinf,gopt] = hinfsyn(P,nmeas,nu,gmn,gmx,tol); K=khinf; % TIME simulation % Nominal GK = mmult(G,K); I2=eye(2); S = minv(madd(I2,GK)); T = msub(I2,S); kr=nd2sys(1,[5 1]); Kr=daug(kr,kr); Tr = mmult(T,Kr); y = trsp(Tr,[1;0],100,.1); u = trsp(mmult(K,S,Kr),[1;0],100,.1); % With 20% uncertainty Unc = [1.2 0; 0 0.8]; GKu = mmult(G,Unc,K); Su = minv(madd(I2,GKu)); Tu = msub(I2,Su); Tru = mmult(Tu,Kr); yu = trsp(Tru,[1;0],100,.1); uu = trsp(mmult(K,Su,Kr),[1;0],100,.1); subplot(211);vplot(y,yu,'--');title('OUTPUTS') subplot(212);vplot(u,uu,'--');title('INPUTS'); xlabel('TIME (min)'); % Simulation shows that the controller is very sensitive % to uncertainty. Large and Long peak in y1 and y2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ex. 3.6: Try to robustify inverse-based %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% G0 = [87.8 -86.4; 108.2 -109.6]; dyn = nd2sys(1,[75 1]); Dyn = daug(dyn,dyn); G = mmult(Dyn,G0); % Inverse-based controller dynk = nd2sys([75 1],[1 1.e-6],0.7); Dynk = daug(dynk,dynk); Kinv = mmult(Dynk,minv(G0)); % Try to robustify with respect to coprime uncerainty Gs = mmult(G,Kinv); [a,b,c,d]=unpck(Gs); gamrel=1.1; [Ac,Bc,Cc,Dc,gammin]=coprimeunc(a,b,c,d,gamrel); % gammin=1.4142 Ks=pck(Ac,-Bc,Cc,-Dc); % Change from positive to negative feedback K = mmult(Kinv,Ks); % TIME simulation % Nominal GK = mmult(G,K); I2=eye(2); S = minv(madd(I2,GK)); T = msub(I2,S); kr=nd2sys(1,[5 1]); Kr=daug(kr,kr); Tr = mmult(T,Kr); y = trsp(Tr,[1;0],100,.1); u = trsp(mmult(K,S,Kr),[1;0],100,.1); % With 20% uncertainty Unc = [1.2 0; 0 0.8]; GKu = mmult(G,Unc,K); Su = minv(madd(I2,GKu)); Tu = msub(I2,Su); Tru = mmult(Tu,Kr); yu = trsp(Tru,[1;0],100,.1); uu = trsp(mmult(K,Su,Kr),[1;0],100,.1); subplot(211);vplot(y,yu,'--');title('OUTPUTS') subplot(212);vplot(u,uu,'--');title('INPUTS'); xlabel('TIME (min)'); % Not very successful - almost identical with the original Kinv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ex. 3.7 SVD designs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% G0 = [87.8 -86.4; 108.2 -109.6]; dyn = nd2sys(1,[75 1]); Dyn = daug(dyn,dyn); G = mmult(Dyn,G0); [U,sval,V]=svd(G0); % You must try these one at a time: c1=0.005; c2=0.005; % Decentralized: Robust, but poor response %c1 = 0.005; c2=0.05; % Good response and also robust %c1=0.7/197; c2=0.7/1.39;% Inverse-based: Excellent nominal, but not robust k1 = nd2sys([75 1],[1 1.e-6],c1); k2 = nd2sys([75 1],[1 1.e-6],c2); Kdiag = daug(k1,k2); K = mmult(V, Kdiag,U'); % TIME simulation % Nominal GK = mmult(G,K); I2=eye(2); S = minv(madd(I2,GK)); T = msub(I2,S); kr=nd2sys(1,[5 1]); Kr=daug(kr,kr); Tr = mmult(T,Kr); y = trsp(Tr,[1;0],100,.1); u = trsp(mmult(K,S,Kr),[1;0],100,.1); % With 20% uncertainty Unc = [1.2 0; 0 0.8]; GKu = mmult(G,Unc,K); Su = minv(madd(I2,GKu)); Tu = msub(I2,Su); Tru = mmult(Tu,Kr); yu = trsp(Tru,[1;0],100,.1); uu = trsp(mmult(K,Su,Kr),[1;0],100,.1); subplot(211);vplot(y,yu,'--');title('OUTPUTS') subplot(212);vplot(u,uu,'--');title('INPUTS'); xlabel('TIME (min)'); % Time simulation with higher-order dynamics at the input dyni1 = nd2sys(1,[0.2 1]); dyni = mmult(dyni1,dyni1,dyni1,dyni1,dyni1); dyni2 = daug(dyni,dyni); GKu2 = mmult(G,dyni2,Unc,K); Su2 = minv(madd(I2,GKu2)); Tu2 = msub(I2,Su2); hinfnorm(Su2), hinfnorm(Tu2) Tru2 = mmult(Tu2,Kr); yu2 = trsp(Tru2,[1;0],100,.1); uu2 = trsp(mmult(K,Su2,Kr),[1;0],100,.1); subplot(211);vplot(y,yu,'--',yu2,'-.');title('OUTPUTS') subplot(212);vplot(u,uu,'--',uu2,'-.');title('INPUTS'); % The inverse-based is the only one affected by this higher-order dynamics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ex. 3.8 Combined input and output unc. for inverse-based control %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% G0 = [87.8 -86.4; 108.2 -109.6]; dyn = nd2sys(1,[75 1]); Dyn = daug(dyn,dyn); G = mmult(Dyn,G0); % Inverse-based controller dynk = nd2sys([75 1],[1 1.e-6],0.7); Dynk = daug(dynk,dynk); Kinv = mmult(Dynk,minv(G0)); K=Kinv; % TIME simulation % Nominal GK = mmult(G,K); I2=eye(2); S = minv(madd(I2,GK)); T = msub(I2,S); kr=nd2sys(1,[5 1]); Kr=daug(kr,kr); Tr = mmult(T,Kr); y = trsp(Tr,[1;0],100,.1); u = trsp(mmult(K,S,Kr),[1;0],100,.1); % With relative uncertainty del both at the input and output del=0.12; % Inverse-controller: Unstable for del larger than 0.12 Unci = [1+del 0; 0 1-del]; Unco = [1-del 0; 0 1+del]; GKu = mmult(Unco,G,Unci,K); Su = minv(madd(I2,GKu)); Tu = msub(I2,Su); Tru = mmult(Tu,Kr); Su=sysbal(Su);spoles(Su) yu = trsp(Tru,[1;0],100,.1); uu = trsp(mmult(K,Su,Kr),[1;0],100,.1); subplot(211);vplot(y,yu,'--');title('OUTPUTS') subplot(212);vplot(u,uu,'--');title('INPUTS'); xlabel('TIME (min)'); From Sigurd.Skogestad Tue Mar 5 11:31:29 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id LAA27242 (8.6.12/IDA-1.6); Tue, 5 Mar 1996 11:31:28 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Tue, 5 Mar 1996 11:31:26 +0100 Date: Tue, 5 Mar 1996 11:31:26 +0100 Message-Id: <199603051031.LAA28320@oslo.kjemi.unit.no> To: skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Forelesning idag 14-16 (fag 43917) Status: RO Hallo, Forelesningene paa tirsdager er flyttet fra kl. 13 til kl. 14 fordi kaj hadde en kollisjon. Jeg haaper det passer for alle. -Sigurd From Sigurd.Skogestad Thu Mar 7 18:46:34 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id SAA27955 (8.6.12/IDA-1.6); Thu, 7 Mar 1996 18:46:33 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Thu, 7 Mar 1996 18:46:30 +0100 Date: Thu, 7 Mar 1996 18:46:30 +0100 Message-Id: <199603071746.SAA13008@oslo.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, gm@sun.engg.le.ac.uk, skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Course 43917 week 4-7 Status: RO Hello, This is just to update on how my course 43917 is progressing. There are no new Matlab files or anything..... We are a bit delayed compared to our original plan. The last lectures has been as follows: Week 4 (13 Feb): Chapter 4: System theory Coprime factorization, State controllability and observability, Stability, Zeros, Internal stability, Nyquist stability Week 5 (19 Feb): More on system theory. Norms. H2-norm. H-infinity-norm. Hankel norm. Week 5-more (20 Feb): More norms. Exercises from Chapter 3 and 4. Week 6 (27 Feb): Chapter 5: SISO controllability analysis. Went through some transparancies I have. Week 7 (5 Mar): Controllability analysis continued. Peaks on S and T. Went through SISO example of neutralization process. Further plans: Before the next lecture (12 Mar) the students should finish reading Chapters 5 and 6 on SISO and MIMO controllability analysis. We will discuss this at the beginning of the lecture, and ithen cover the basics of SISO robustness analysis (Chapter 7). From Sigurd.Skogestad Tue Mar 12 18:13:24 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id SAA05292 (8.6.12/IDA-1.6); Tue, 12 Mar 1996 18:13:14 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Tue, 12 Mar 1996 18:13:12 +0100 Date: Tue, 12 Mar 1996 18:13:12 +0100 Message-Id: <199603121713.SAA14060@oslo.kjemi.unit.no> To: skoge, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Course 43917, week 8 Cc: skoge Status: RO Hello, This is a short report of today lecture, Tuesday 12 March 96. We first discussed Chapters 5 and 6 on controllability and tried to get an overview of the "main lines". We tried to make a table of the main results in the two chapters - also to highlight the difference between MIMO and SISO. It is recommended that each student makes such a table (I think probably the learn the most from doing it themselves). At the end of the lecture I went through the main points of Chapter 7: 1. Why use freqeuncy-domain uncertainty (neglected dynamics, etc.) 2. Additive uncertainty in Nyquist plot 3. Multiplicative uncertainty. Typical shape of weight w_I 4. Graphical derivation of RS-condition, |w_I T|<1. 5. Graphical derivation of RP-condition, |w_IT| + |w_P S| < 1. Next week we will rederive this using M Delta- structure and structured singulkar value (mu). EXERCISE FOR NEXT WEEK (I forgot to tell the sudents at the lecture): Do Exercise 6.8 and 6.9 !!! (We will start the lecture by discussing these) -Sigurd Skogestad From Sigurd.Skogestad Thu Mar 14 10:24:49 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id KAA15663 (8.6.12/IDA-1.6); Thu, 14 Mar 1996 10:24:48 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Thu, 14 Mar 1996 10:24:45 +0100 Date: Thu, 14 Mar 1996 10:24:45 +0100 Message-Id: <199603140924.KAA19263@oslo.kjemi.unit.no> To: skoge, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Korrekturlesning Status: RO Hallo, Det naermer seg innpurten paa boka (Multivariable feedback control - analysis and design, Wiley, 1996) og jeg trenger hjelp til litt korrekturlesning. Den vil naermere bestemt skje i perioden fredag 22. mars til fredag 29. mars. Dvs. kommentarene maa vaere meg I HENDE SENEST lordag 30. mars. Er det mulig for deg aa vaere med paa dette ??? Du vil da faa i oppgave aa gaa igjennom et kapittel (ca.). Vennligst si meg hvor du er (adresse e.l.) dersom det skulle vaere noen tvil om det. Jeg vil vaere evig takknemlig for alle feil dere finner! Hilsen Sigurd *************************************************************************** Sigurd Skogestad, Professor Fax: +47-7359-4080 Chemical Engineering Phone: +47-7359-4154 Norwegian University of Science and Technology Home: +47-7393-6855 N-7034 Trondheim e-mail: skoge@kjemi.unit.no Norway http://www.kjemi.unit.no/~skoge *************************************************************************** From alf@s3.kth.se Fri Mar 15 17:02:11 1996 Received: from elixir.e.kth.se (root@elixir.e.kth.se [130.237.48.5]) by hitra.kjemi.unit.no with ESMTP id RAA16959 (8.6.12/IDA-1.6 for ); Fri, 15 Mar 1996 17:02:10 +0100 Received: from cascade.e.kth.se (alf@cascade.e.kth.se [130.237.43.136]) by elixir.e.kth.se (8.6.12/8.6.12) with ESMTP id RAA17318 for ; Fri, 15 Mar 1996 17:02:10 +0100 Received: (alf@localhost) by cascade.e.kth.se (8.6.12/8.6.6) id RAA05201; Fri, 15 Mar 1996 17:02:09 +0100 Message-Id: <199603151602.RAA05201@cascade.e.kth.se> X-Mailer: exmh version 1.6.5 12/11/95 To: Sigurd Skogestad Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 15 Mar 1996 17:02:08 +0100 From: Alf Isaksson Status: RO Dear Sigurd, Here are some comments on your book, from the team that taught the course, i.e. Bo, myself and the TA Magnus Jansson. Notice that our course is the advanced (second) control course for the undergraduates. Some of the comments below should therefore probably be filtered accordingly. Generally we found that the book was too hard for our students, but that by having the book we managed to teach them a lot of important stuff that was not included in the previous course. In terms of technical content etc, the book is extremely good. However, we feelt it perhaps has some pedagogical weaknesses. Sometimes there is no clear line in terms of when and where results are presented. For example, the first chapters introduce and use facts that relies on the coming chapters. All throughout the book there are lots of forward references. Just to mention one, on page 24 there is a discussion on handling of model uncertainty where LQG is mentioned before it has been formally introduced. This is probably okey in a graduate course where the students have already heard of LQG, but for our students it must have been a bit annoying. Another example is RGA, which is described at least in 4 different places. Another thing that we find very strange is your definition of the control error. In almost all other books it is defined as r-y, but you are using y-r. In our opinion all possible advantages with this definition pale before the disadvantage that in a block diagram you now find -e instead of e, which is weird from an implementation point of view . Below you also find a list of some scattered detailed remarks. We make no claims that it is complete, since most of our reading has not been in proof reading mode... Finally, bear in mind that when one gives comments on something one is often over-critical. We have learnt a lot from your very ambitious book. Best regards, Alf ========================================================================= p48. just before eq 2.56: to give to realizable => to give the p50. rtilde = 1 should be rtilde=R p69. feedback rule:L=G2G1 p70. fig.3.3 missing minus sign (negative feedback) p 84. paragraph starting "The idea of using..." seen => seem p91. eq after eq 3.67 : Acl=... should be equal to -I (not +I) p94. sing values after eq. 3.73 should not be a function of s, but the absolute value of the frequency function p96. between eq 3.76 and eq 3.77 : an "xs" to much p108. before eq 3.100 : fond => found p117. line 7 : function => functions , and just before eq 4.23 "is a called a" p125. eq 4.45 : a lot of missing transposes and it should be A^2 p133. top row: One => On p137. Exercise 4.3: How many poles... Exercise 4.5 the zeros of a.. p138. Exercise 4.7: b12 => b21 to conform with standard notation p141. Exercise 4.11: Do you really mean G1,G2 and not L1, L2? In the second case I could not find out wether the RHP zero is in G2 or in the controller. (I do agree that the pole should be in G1 !) p 143. eq 4.85: GQ => QG p153. after eq 4.116 : minimizing the square => minimizing the sum of the squares... p183. after eq 5.38 : w_p => w_T p186 third line from bottom: y_1 => y_2 p188 third line from bottom: G_d => G_d d p190. line 7: the the p197. Rule 1 should be 1/Gd p199 fig5.17: last M_5 should be M_6 p213. Chapter 6.1, end of 3rd line, "where we WERE able..." p215. line after (6.5): has has p217. Remark 7th line: plants => plant p228. Chapter 6.9.1 1st line: remove either "a" or s in "plants" p247. Chapter 6.11.2, 4th line: "noT TO expect" p251: top row : Plot that => Plot the p257 middle theses => these p260. bottom line: w_a => w_A p269 midlle: plant => plants p285 before eq 7.89: can BE written as p293 eq 8.2 : should shift places of N_22 and N_11 p295 top row: perturbations => perturbation first row after fig 8.2: N_22 should be N_11 p301 line 4 : delete "we" p307 eq 8.44 : missing \infty index p311. 7lines from bottom : the same eigenvalues of(?) the matrix... p322 3rd line from bottom: out => our p330 STEP A : D => \delta_P p331. bottom line : missing minus sign p353. point 4.: be => by p360 The Kalman filter minimizes: E xx^T and thus in particular E x^T x p361. same remark as above p362 Exercise 9.2: in the matrix Kr => K_r What do you mean by closed loop poles, the observer poles cancels (in theory) p363. before the matlab code: Example 1.6 => 2.5 p 364. sensitivity function AT THE INPUT p365 line 6 : Example 8.2 => 9.2 p366 line 5 from below: labelled => labeled p367. bottom line : maximum => minimum p371. 8th line from bottom: missing trace and the conjugate should be hermitian transpose. p372. line 7: missing trace and the conjugate should be hermitian transpose. p374. 2nd line: (9.9)-(9.9) p384. line 5: (7.67) => (8.69) missing definition of R in (9.16) R=I+DD^T p403. line5: contrpl => control p409. middle : the one which has a SMALL(?) sigma(G(0)).. extra "which" at the end of the sentence p410. line 7 from bottom: missing transpose on G^\dagger p411. line 8: missing transpose p413 line 6: missing element in matrix (=10), "large RGA-elementS" p414. line 2: controller p416. end of page : Is it really good to have integral actions in both loops? I think I have read somewhere that one should avoid that because it may lead to stability problems. p417. line 9 from bottom: advantage OF p419. remark 2 : are tuned ONE at a time line 10 from bottom: missing word "decentralized ??? each ... p485. (12.14): \Lambda instead of \Gamma ?? p485. Figure 12.12: Missing y in Frequency p486. line 13: hey => they p488. design step 5: T_o (second time T_0?) is called T_{ref} in Chap 9.4.3 p504. eq A.50 is only true if sigma(A) > 1 p505. middle : missing square on x_2 p512. RGA = G.*pinv(G.') (that is, a transpose and not complex conjugate transpose) p518. before A.110 : between tWo p522. eq. A.128 : absolute value on e_i (even if the norm is OK) - ------- End of Forwarded Message ------- End of Forwarded Message From Sigurd.Skogestad Fri Mar 15 17:25:36 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id RAA17479 (8.6.12/IDA-1.6); Fri, 15 Mar 1996 17:25:36 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Fri, 15 Mar 1996 17:25:34 +0100 Date: Fri, 15 Mar 1996 17:25:34 +0100 Message-Id: <199603151625.RAA25803@oslo.kjemi.unit.no> To: alf@s3.kth.se Subject: Book Cc: ixp@le.ac.uk, skoge Status: RO Dear Alf, First I want to tell you that I am very grateful for your comments. You comments about the forward referencing are appropriate, and we have already done some changes to reduce them, and we will look a bit more into it. The idea has been to give the main ideas in chapter 3 such that it can be read almost independently. I still think is a good idea, but we must change the style of writing some places so that the students do not feel they need to read the later chapters in order to follow chapter 3. The only thing I diagree on is the use of e. In other areas than control an error is always the actual value minus the desired, e = y-r. I have also found by checking control books that lately this convention has become more common in control, at least in graduate books (Morari and Zafiriou, Boyd and Barratt, Mu control toolbox manual). Also, in the one-degree feedback control system the input to the controller is ym-r = y + n - r, which is not the error, but the measured one. I think we have a comment about this in the book already. I would be happy to receive additional comments from you regarding inappropriate forward referencing. Best regards, Sigurd Skogestad ~ From Sigurd.Skogestad Thu Mar 21 13:33:13 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id NAA09856 (8.6.12/IDA-1.6); Thu, 21 Mar 1996 13:33:12 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Thu, 21 Mar 1996 13:33:10 +0100 Date: Thu, 21 Mar 1996 13:33:10 +0100 Message-Id: <199603211233.NAA19055@oslo.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, gm@sun.engg.le.ac.uk, skoge, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Course 43917, week 9 Status: RO Hello, This is a short report of the lecture on Tuesday 19 March. We first briefly summarized the SISO RS and RP-conditions. We then went on to the more general approach in Chapter 8. 1. Discussed why RS could be tested using M-Delta structure. 2. Derived M for a couple of cases. 3. Delta full matrix: Derived RS-condition |M|<1 and its MIMO generalization smax(M) < 1 (Sufficiency is obvious from small gain theorem, necessaity follows since any phase in Delta is allowed and any direction in Delta is allowed). 4. More generally for concex set of perturbations: For real/complex Delta: RS iff det(I - M Delta) neq 0, forall Delta, forall freq. For complex Delta: RS iff rho(M Delta) <1 forall freq. 4. Delta block diagonal: By definition of mu: RS iff mu(M)<1 5. Derived upper bound smax(D M D^-1) on mu(M) by i. Noting that rho(M Delta) = rho(D M D^{-1} Delta) when D is such that D \Delta D^-1 = Delta ii. By using the idea of scaling in the M Delta block diagram as in the book. 6. Showed that H-infinity robust performance (RP) is a special case of RS by using the "block-diagram" proof in the book. Best regards, Sigurd PS. The book is now ready for proof reading. From Sigurd.Skogestad Fri Mar 22 10:56:24 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id KAA01562 (8.6.12/IDA-1.6); Fri, 22 Mar 1996 10:56:23 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Fri, 22 Mar 1996 10:56:21 +0100 Date: Fri, 22 Mar 1996 10:56:21 +0100 Message-Id: <199603220956.KAA23787@oslo.kjemi.unit.no> To: finnare@itk.unit.no, pjohan@itk.unit.no, skoge, ivarh@itk.unit.no, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Korrektuelesning Status: RO Hallo, I lopet av dagen (fredag) vil du faa et kapittel til korrekturlesning. Det er: Per Johan: 4 Finn Are: 12 Ivar: 10 Kaj 0-1-2, Jan Fredrik 3, Svein 4, Espen 5, Hallgeir 9, Bjornar 7, Jan Petter 8, Einar 6 Hvis dere onsker aa se paa hele boka, f.eks. for aa sjekke kryssrefereranser etc., saa kan du finne den i ~skoge/book/book.ps Jeg maa ha korrekturen tilbake SENEST lordag 30. mars. Tusen Takk! -Sigurd *************************************************************************** Sigurd Skogestad, Professor Fax: +47-7359-4080 Chemical Engineering Phone: +47-7359-4154 Norwegian University of Science and Technology Home: +47-7393-6855 N-7034 Trondheim e-mail: skoge@kjemi.unit.no Norway http://www.kjemi.unit.no/~skoge *************************************************************************** From Sigurd.Skogestad Wed Mar 27 14:03:24 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id OAA15599 (8.6.12/IDA-1.6); Wed, 27 Mar 1996 14:03:22 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Wed, 27 Mar 1996 14:03:19 +0100 Date: Wed, 27 Mar 1996 14:03:19 +0100 Message-Id: <199603271303.OAA15605@oslo.kjemi.unit.no> To: skoge, Jann.Peter.Strand@itk.unit.no, ivarh@itk.unit.no, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Prosjekt i fag 43917 Status: RO Prosjektarbeid! Vi skal ha en ekstra "time" fredag 29. mars kl. 10 for aa diskutere prosjekt. Innen da maa alle ha med seg den forelopige beskrivelsen! Du kan enten: - foreslaa egen oppgave eller - ta en oppgave fra boka. I sistenevnte tilfelle kan folgende vaere aktuelle: 1. Aero-engine case study (sjekke resultater i boka) 2. Helicopter case study (sjekke resultater i boka) 3. FCC- reaktor, se modell i slutten av kap. 6 - se paa 3x3 problem. 4. Destillasjonskolonne (se slutten av "nye" kap, 12): a. Destillasjon med LV konfigurasjon (2x2) b. Destllasjon (4x4) c. Desatillasjon (DV-konfigurasjon) d. Destillasjon (DB-konfigurasjon) Ta kontakt med meg snarest hvis du har sporsmaal!! Det er OK aa samarbeide 2 stk (mot et lite fradrag paa 0.25 paa karakteren). Frist innlevering: fredag 10. mai (men helst foer). Etter paaske skal jeg ta en time og gaa igjenom design (H2, H-uendelig, desentralisert). Er dere tilbake tirsdag 7. april? Hilsen Sigurd Skogestad From Sigurd.Skogestad Wed Mar 27 14:29:10 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id OAA16436 (8.6.12/IDA-1.6); Wed, 27 Mar 1996 14:29:08 +0100 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Wed, 27 Mar 1996 14:29:06 +0100 Date: Wed, 27 Mar 1996 14:29:06 +0100 Message-Id: <199603271329.OAA15877@oslo.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, gm@sun.engg.le.ac.uk, skoge, Jann.Peter.Strand@itk.unit.no, ivarh@itk.unit.no, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Course 43917, week 10 Status: RO A short report of what we covered on Tuesday 26 Match. We mainly discussed applications of mu (Ch. 8) 1. We derived P, N and M for the case with input uncertainty and performance in terms of weighted sensitivity. 2. We derived requirements for NP, NP (hinfnorm = with full deltaP) RS and RP. 3. We discussed computation of mu and its bounds; rho and sigma 4. We applied the requirements in 2 to the SISO case and rederived the results from Chapter 7. After this we discussed model reduction very briefly and looked at the MATLAB commands. We started discussing the projects and the preliminary report is due on Friday (29 March). Next lecture (Tuesday 2 april): I plan to talk about design (h2, LQG, Hinfinity, decentralized). -Sigurd Skogestad From Svein.Berge@itk.unit.no Thu Mar 28 12:12:14 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id MAA08308 (8.6.12/IDA-1.6 for ); Thu, 28 Mar 1996 12:12:13 +0100 Received: from rut.itk.unit.no by adam.itk.unit.no with SMTP id AA21305 (5.65c/IDA-1.4.4 for ); Thu, 28 Mar 1996 12:11:57 +0100 From: "Svein P. Berge" Message-Id: <9603281211.ZM497@itk.unit.no> Date: Thu, 28 Mar 1996 12:11:56 +0100 In-Reply-To: Sigurd Skogestad "Prosjekt i fag 43917" (Mar 27, 2:03pm) References: <199603271303.OAA15605@oslo.kjemi.unit.no> X-Mailer: Z-Mail (3.2.1 10oct95) To: Sigurd Skogestad Subject: Re: Prosjekt i fag 43917 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Status: RO On Mar 27, 2:03pm, Sigurd Skogestad wrote: > Subject: Prosjekt i fag 43917 > > Prosjektarbeid! > > Vi skal ha en ekstra "time" fredag 29. mars kl. 10 for aa diskutere prosjekt. OK. Jeg har vaert sjuk et par dager, men er naa paa jobb igjen. Skal proeve aa lage en prosjektbeskrivelse til i morgen. > > Innen da maa alle ha med seg den forelopige beskrivelsen! > > Du kan enten: > - foreslaa egen oppgave > eller > - ta en oppgave fra boka. > > I sistenevnte tilfelle kan folgende vaere aktuelle: > 1. Aero-engine case study (sjekke resultater i boka) > 2. Helicopter case study (sjekke resultater i boka) > 3. FCC- reaktor, se modell i slutten av kap. 6 - se paa 3x3 problem. > 4. Destillasjonskolonne (se slutten av "nye" kap, 12): > a. Destillasjon med LV konfigurasjon (2x2) > b. Destllasjon (4x4) > c. Desatillasjon (DV-konfigurasjon) > d. Destillasjon (DB-konfigurasjon) > > Ta kontakt med meg snarest hvis du har sporsmaal!! > > Det er OK aa samarbeide 2 stk (mot et lite fradrag paa 0.25 paa > karakteren). > > Frist innlevering: fredag 10. mai (men helst foer). > > Etter paaske skal jeg ta en time og gaa igjenom design (H2, > H-uendelig, desentralisert). > Er dere tilbake tirsdag 7. april? > Jeg er tilbake tirsdag kveld etter paaske. > > Hilsen Sigurd Skogestad > > > > > >-- End of excerpt from Sigurd Skogestad Hilsen Svein P. Berge From Espen.Helle@itk.unit.no Fri Mar 29 09:02:05 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id JAA00438 (8.6.12/IDA-1.6 for ); Fri, 29 Mar 1996 09:02:04 +0100 Received: from david (david.itk.unit.no) by adam.itk.unit.no with SMTP id AA03867 (5.65c/IDA-1.4.4 for ); Fri, 29 Mar 1996 09:01:47 +0100 Date: Fri, 29 Mar 1996 09:01:47 +0100 (MET) From: Espen Helle X-Sender: espenh@david To: Sigurd Skogestad Subject: Re: Prosjekt i fag 43917 In-Reply-To: <199603271303.OAA15605@oslo.kjemi.unit.no> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO On Wed, 27 Mar 1996, Sigurd Skogestad wrote: > Date: Wed, 27 Mar 1996 14:03:19 +0100 > From: Sigurd Skogestad > To: skoge@kjemi.unit.no, Jann.Peter.Strand@itk.unit.no, ivarh@itk.unit.no, > einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, > spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, > halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no > Subject: Prosjekt i fag 43917 > > > Prosjektarbeid! > > Vi skal ha en ekstra "time" fredag 29. mars kl. 10 for aa diskutere prosjekt. > > Innen da maa alle ha med seg den forelopige beskrivelsen! > > Du kan enten: > - foreslaa egen oppgave > eller > - ta en oppgave fra boka. > > I sistenevnte tilfelle kan folgende vaere aktuelle: > 1. Aero-engine case study (sjekke resultater i boka) > 2. Helicopter case study (sjekke resultater i boka) > 3. FCC- reaktor, se modell i slutten av kap. 6 - se paa 3x3 problem. > 4. Destillasjonskolonne (se slutten av "nye" kap, 12): > a. Destillasjon med LV konfigurasjon (2x2) > b. Destllasjon (4x4) > c. Desatillasjon (DV-konfigurasjon) > d. Destillasjon (DB-konfigurasjon) > > Ta kontakt med meg snarest hvis du har sporsmaal!! > > Det er OK aa samarbeide 2 stk (mot et lite fradrag paa 0.25 paa > karakteren). > > Frist innlevering: fredag 10. mai (men helst foer). > > Etter paaske skal jeg ta en time og gaa igjenom design (H2, > H-uendelig, desentralisert). > Er dere tilbake tirsdag 7. april? > > Hilsen Sigurd Skogestad > > Jeg rekker ikke aa bli ferdig med beskrivelsen fordi jeg har vaert innlagt paa RiT i det siste. Kan jeg faa vente med aa levere en prosjektbeskrivelse til over helga, og sende den pr mail? Korrekturlesninga skal du i allefall faa i timen. Espen > > > > From havre Fri Mar 29 10:49:25 1996 Received: from asker.kjemi.unit.no (havre@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id KAA04431 (8.6.12/IDA-1.6); Fri, 29 Mar 1996 10:49:25 +0100 From: Kjetil Havre Received: by asker.kjemi.unit.no ; Fri, 29 Mar 1996 10:49:23 +0100 Message-Id: <199603290949.KAA10898@asker.kjemi.unit.no> Subject: Helicopter modell. To: halgeir@itk.unit.no Date: Fri, 29 Mar 1996 10:49:22 +0100 (MET) Cc: skoge (Sigurd Skogestad) X-Mailer: ELM [version 2.4ME+ PL5 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 10853 Status: RO Her folger modellen vi fikk fra Ian. - kjetil >From npf@sun.engg.le.ac.uk Tue May 9 09:16:49 1995 Received: from venus.le.ac.uk by jagger.ME.Berkeley.EDU (8.6.9/1.28) id JAA27698; Tue, 9 May 1995 09:15:27 -0700 From: npf@sun.engg.le.ac.uk Received: from wolverhampton.engg.le.ac.uk by venus.le.ac.uk with SMTP (PP); Tue, 9 May 1995 17:15:02 +0100 Date: Tue, 9 May 95 17:15:11 BST Message-Id: <13531.9505091615@wolverhampton.engg.le.ac.uk> To: sigurd@jagger.ME.Berkeley.EDU Subject: Helicopter Design Example Status: RO Dear Sigurd, The following file produces the results which will probably be in Ian's chapter about the Helicopter. Then I will email the ps files, that is the graphical output from the program. They will arrive in separate emails so that I do not violate any email size constraints. The email order will be: sks_sen.ps fig.3. (as labelled in Ians chapter) sks_ks.ps fig.4. sks_gks.ps extra new_sen.ps fig.6. new_ks.ps fig.7. new_gks.ps extra These next plots are the associated output from the nonlinear helicopter model simulation. turb.ps fig.8. sks_time.ps fig.9. new_time.ps fig.10. If there are any problems do not hesitate to let me know. The two email contact addresses are in the header of the following program ( the Leicester address is only valid for when I am in Leicester at weekends, while the British Aerospace address will get me at work during the week. Best Regards, Neale Foster. -------start of m.file------- clear clc disp('***********************************************************************') disp('* H-infinity Design for Gust Turbulence Rejection *') disp('* *') disp('* Also, H-infinity Mixed Sensitivity Design *') disp('* *') disp('***********************************************************************') disp('* *') disp('* Further Description in the Paper: *') disp('* Rotorcraft Control Law Design for Rejection of *') disp('* Atmospheric Turbulence *') disp('* I.Postlethwaite, N.P.Foster, D.J.Walker *') disp('* 1994 Control94, Warwick, May 1994. *') disp('* *') disp('* Written by Neale P. Foster *') disp('* Control Systems Research *') disp('* Engineering Department *') disp('* Leicester University *') disp('* University Road *') disp('* Leicester LE1 7RH *') disp('* England *') disp('* email: (Leicester University): npf@sun.engg.le.ac.uk *') disp('* or *') disp('* email: (British Aerospace, Bristol)neale.foster@def.bae.co.uk *') disp('***********************************************************************') %------------------------------------------------------------------------------- disp('******* helicopter matrices -- Unscaled plant') a01 = [ 0 0 0 0.99857378005981; 0 0 1.00000000000000 -0.00318221934140; 0 0 -11.57049560546880 -2.54463768005371; 0 0 0.43935656547546 -1.99818229675293; 0 0 -2.04089546203613 -0.45899915695190; -32.10360717773440 0 -0.50335502624512 2.29785919189453; 0.10216116905212 32.05783081054690 -2.34721755981445 -0.50361156463623; -1.91097259521484 1.71382904052734 -0.00400543212891 -0.05741119384766]; a02 = [ 0.05338427424431 0 0 0; 0.05952465534210 0 0 0; -0.06360262632370 0.10678052902222 -0.09491866827011 0.00710757449269; 0 0.01665188372135 0.01846204698086 -0.00118747074157; -0.73502779006958 0.01925575733185 -0.00459562242031 0.00212036073208; 0 -0.02121581137180 -0.02116791903973 0.01581159234047; 0.83494758605957 0.02122657001019 -0.03787973523140 0.00035400385968; 0 0.01398963481188 -0.00090675335377 -0.29051351547241]; a0=[a01 a02]; b0=[ 0 0 0 0; 0 0 0 0; 0.12433505058289 0.08278584480286 -2.75247764587402 -0.01788876950741; -0.03635892271996 0.47509527206421 0.01429074257612 0; 0.30449151992798 0.01495801657438 -0.49651837348938 -0.20674192905426; 0.28773546218872 -0.54450607299805 -0.01637935638428 0; -0.01907348632812 0.01636743545532 -0.54453611373901 0.23484230041504; -4.82063293457031 -0.00038146972656 0 0]; c0 = [ 0 0 0 0 0 0.0595 0.05329 -0.9968; 1.0 0 0 0 0 0 0 0; 0 1.0 0 0 0 0 0 0; 0 0 0 -0.05348 1.0 0 0 0; 0 0 1.0 0 0 0 0 0; 0 0 0 1.0 0 0 0 0]; d0 = zeros(6,4); %------------------------------------------------------------------------------- disp('*******Constructing Weights') % aw1 n11=0.5*[1 12]; d11=[1 0.012]; n12=0.89*[1 2.81]; d12=[1 0.005]; n13=0.89*[1 2.81]; d13=[1 0.005]; n14=0.5*[1 10]; d14=[1 0.01]; n15=2*[1 0]; d15=[1 8.5 18]; n16=2*[1 0]; d16=[1 8.5 18]; [aw11,bw11,cw11,dw11]=tf2ss(n11,d11); [aw12,bw12,cw12,dw12]=tf2ss(n12,d12); [aw13,bw13,cw13,dw13]=tf2ss(n13,d13); [aw14,bw14,cw14,dw14]=tf2ss(n14,d14); [aw15,bw15,cw15,dw15]=tf2ss(n15,d15); [aw16,bw16,cw16,dw16]=tf2ss(n16,d16); aw1=daug(aw11,aw12,aw13,aw14,aw15,aw16); bw1=daug(bw11,bw12,bw13,bw14,bw15,bw16); cw1=daug(cw11,cw12,cw13,cw14,cw15,cw16); dw1=daug(dw11,dw12,dw13,dw14,dw15,dw16); % aw2 n21=0.5*[1 0.0001]; d21=[1 10]; n22=0.5*[1 0.0001]; d22=[1 10]; n23=0.5*[1 0.0001]; d23=[1 10]; n24=0.5*[1 0.0001]; d24=[1 10]; [aw21,bw21,cw21,dw21]=tf2ss(n21,d21); [aw22,bw22,cw22,dw22]=tf2ss(n22,d22); [aw23,bw23,cw23,dw23]=tf2ss(n23,d23); [aw24,bw24,cw24,dw24]=tf2ss(n24,d24); aw2=daug(aw22,aw22,aw23,aw24); bw2=daug(bw22,bw22,bw23,bw24); cw2=daug(cw22,cw22,cw23,cw24); dw2=daug(dw22,dw22,dw23,dw24); % dw3 aw3=[];bw3=[];cw3=[]; dw3=daug(1,1,1,1,0.1,0.1); % Sizes [n,n]=size(a0); [p,m]=size(d0); [n1,n1]=size(aw1); [n2,n2]=size(aw2); [n3,n3]=size(aw3); %------------------------------------------------------------------------------- % Output Scaling scaleyue=daug(0.1,5,2,2,2,5); c0sc=scaleyue*c0; ki=menu('Select the Design Method','H-infinity Mixed Sensitivity Design','Disturbance Rejection Design'); if ki==1 %------------------------------------------------------------------------------- disp('*******Standard H-infinity Mixed Sensitivity Design - No Extra Disturbance') disp('Forming Standard Plant Configuration') A=[ a0 zeros(n,n1+n2+n3); -bw1*c0sc aw1 zeros(n1,n2) bw1*cw3; zeros(n2,n+n1) aw2 zeros(n2,n3); zeros(n3,n+n1+n2) aw3]; B1=[zeros(n,p); bw1*dw3; zeros(n2,p); bw3]; B2=[ b0; -bw1*d0; bw2; zeros(n3,m)]; C1=[-dw1*c0sc cw1 zeros(p,n2) dw1*cw3; zeros(m,n+n1) cw2 zeros(m,n3); c0sc zeros(p,n1+n2+n3)]; C2=[-c0sc zeros(p,n1+n2) cw3]; D11=[dw1*dw3; zeros(m,p); zeros(p,p)]; D12=[dw1*d0; dw2; d0]; D21=dw3; D22=-d0; else %------------------------------------------------------------------------------- disp('*******Disturbance Representation') Bg=a0(:,(6:8)); disp('******* multiplying Bg by 30') Bg=Bg.*30; [bg1,bg2]=size(Bg); disp('Forming Standard Plant Configuration') A=[ a0 zeros(n,n1+n2+n3); -bw1*c0sc aw1 zeros(n1,n2) bw1*cw3; zeros(n2,n+n1) aw2 zeros(n2,n3); zeros(n3,n+n1+n2) aw3]; B1=[zeros(n,p) Bg; bw1*dw3 zeros(bg1,bg2); zeros(n2,p) zeros(n2,bg2); bw3 zeros(n3,bg2)]; B2=[ b0; -bw1*d0; bw2; zeros(n3,m)]; C1=[-dw1*c0sc cw1 zeros(p,n2) dw1*cw3; zeros(m,n+n1) cw2 zeros(m,n3); c0sc zeros(p,n1+n2+n3)]; C2=[-c0sc zeros(p,n1+n2) cw3]; D11=[dw1*dw3 zeros(p,bg2); zeros(m,p) zeros(m,bg2); zeros(p,p) zeros(p,bg2)]; D12=[dw1*d0; dw2; d0]; D21=[dw3 zeros(p,bg2)]; D22=-d0; end %------------------------------------------------------------------------------- disp('*******H-infinity solving with gamma of 4') tol=0.2; gmin=4; gmax=4; p=pck(A,[B1 B2],[C1;C2],[D11 D12;D21 D22]); [k,g,gfin,ax,ay,hamx,hamy]=hinfsyn(p,6,4,gmin,gmax,tol,2); [ak,bk,ck,dk]=unpck(k); %------------------------------------------------------------------------------- % Combine Original Output Scaling With Controller bk=bk*scaleyue; %------------------------------------------------------------------------------- % Cascade Controller With Original Plant [as,bs,cs,ds]=series(ak,bk,ck,dk,a0,b0,c0,d0); %------------------------------------------------------------------------------- % Closed Loop System [ac,bc,cc,dc]=feedbk(as,bs,cs,ds,2); %------------------------------------------------------------------------------- % Sensitivity: S = inv(I+GK), and KS [asen,bsen,csen,dsen]=feedbk(as,bs,cs,ds,1); [acs,bcs,ccs,dcs]=series(asen,bsen,csen,dsen,ak,bk,ck,dk); %------------------------------------------------------------------------------- % Singular Values for Frequency Response Evaluation w=logspace(-3,3,100); svrob=sigma(ac,bc,cc,dc,w); svrob=svrob((1:4),:); svsen=sigma(asen,bsen,csen,dsen,w); svgsr=sigma(acs,bcs,ccs,dcs,w); subplot(111);clg; figure(1) plot(log10(w),db(svsen)); grid title('inv(I+GK)') ylabel('mag (dB)') xlabel('rad/s') print -dps new_sen.ps figure(2) plot(log10(w),db(svrob)); grid title('GK.inv(I+GK)') ylabel('mag (dB)') xlabel('rad/s') print -dps new_gks.ps figure(3) plot(log10(w),db(svgsr)); grid title('K.inv(I+GK)') ylabel('mag (dB)') xlabel('rad/s') print -dps new_sk.ps -------end of m.file------- From Bjornar.Vik@itk.unit.no Fri Mar 29 11:58:58 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id LAA06677 (8.6.12/IDA-1.6 for ); Fri, 29 Mar 1996 11:58:57 +0100 Received: from berit.itk.unit.no by adam.itk.unit.no with SMTP id AA05564 (5.65c/IDA-1.4.4 for ); Fri, 29 Mar 1996 11:58:40 +0100 From: "Bjoernar Vik" Message-Id: <9603291158.ZM5079@itk.unit.no> Date: Fri, 29 Mar 1996 11:58:35 +0100 X-Mailer: Z-Mail (3.2.1 10apr95) To: Sigurd.Skogestad@kjemi.unit.no Subject: Prosjekt Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Status: RO Jeg har funnet ut at modellen av HIMAT flyet jeg har valgt til prosjektet er brukt som designeksempel i mu-tools manualen vi fikk utdelt. Saa vidt jeg kan se er eksempelet gjennomgaatt ganske noeye, med Matlab kommandoer og det hele. Jeg lurer paa om jeg kanskje burde se paa en modell av et annet fly for at prosjektet ikke skal bli for likt eksempelet. Hva mener du ? Bjoernar From Halgeir.Ludvigsen@itk.unit.no Mon Apr 1 09:18:19 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id JAA14152 (8.6.12/IDA-1.6 for ); Mon, 1 Apr 1996 09:18:18 +0200 Received: from olav.itk.unit.no by adam.itk.unit.no with SMTP id AA27599 (5.65c/IDA-1.4.4 for ); Mon, 1 Apr 1996 09:18:02 +0200 Date: Mon, 1 Apr 1996 09:18:02 +0200 From: Halgeir Ludvigsen Message-Id: <199604010718.JAA10439@olav.itk.unit.no> To: Sigurd.Skogestad@kjemi.unit.no Subject: Helikopter Status: R Katalogen Helicopter var ikke aapnet saa jeg fikk ikke sett paa den modellen. Den matlabfilen jeg fikk fra Kjetil genererer de figurene som staar i boka. Den uskalerte modellen, utgangsskalering og vekter staar i filen. I tillegg utfoeres delvis pkt 7 i prosjektbeskrivelsen. (H-uendelig design.) Siden modellen allerede er linearisert vet jeg ikke hvordan den ulineaere modellen er, eller hvilket arbeidspunkt som er valgt (pkt 2 i prosjektbeskrivelsen). Jeg kan sikkert faa disse opplysningene fra Neale Foster hvis det er noedvendig. Resten av oppgavene skulle vaere greie aa loese med denne modellen. - halgeir - From havre Wed Apr 3 12:59:10 1996 Received: from asker.kjemi.unit.no (havre@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id MAA21940 (8.6.12/IDA-1.6); Wed, 3 Apr 1996 12:58:11 +0200 From: Kjetil Havre Received: by asker.kjemi.unit.no ; Wed, 3 Apr 1996 12:58:11 +0200 Message-Id: <199604031058.MAA12389@asker.kjemi.unit.no> Subject: Sigurds & Ians baby is born !!! To: alle, prost, ixp@le.ac.uk, gm@sun.le.ac.uk Date: Wed, 3 Apr 1996 12:58:11 +0200 (MET DST) Cc: peter@ife.no X-Mailer: ELM [version 2.4ME+ PL5 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 245 Status: R For thoose interested, Sigurd's and Ian's baby is now born. (Meaning that a ``final''? version of the book has been made, and shall be shipped to England this afternoon). The weight of the baby is 559 pages! CONGRATULATIONS Sigurd and Ian From zhao Wed Apr 3 12:53:28 1996 Received: from asker.kjemi.unit.no (zhao@asker.kjemi.unit.no [129.241.12.9]) by hitra.kjemi.unit.no with ESMTP id MAA21752 (8.6.12/IDA-1.6); Wed, 3 Apr 1996 12:53:27 +0200 From: Ying Zhao Received: by asker.kjemi.unit.no ; Wed, 3 Apr 1996 12:53:27 +0200 Date: Wed, 3 Apr 1996 12:53:27 +0200 Message-Id: <199604031053.MAA12365@asker.kjemi.unit.no> To: Sigurd.Skogestad Subject: CONGRATULATION Cc: zhao Status: R Dear Sigurd and Ian, Now your `baby' is born!!! Many Congratulations! _Ying From gm@sun.engg.le.ac.uk Wed Apr 3 13:09:50 1996 Received: from venus.le.ac.uk (pp@venus.le.ac.uk [143.210.16.123]) by hitra.kjemi.unit.no with ESMTP id NAA22064 (8.6.12/IDA-1.6 for ); Wed, 3 Apr 1996 13:09:49 +0200 From: gm@sun.engg.le.ac.uk Received: from sun.engg.le.ac.uk by venus.le.ac.uk with SMTP (PP); Wed, 3 Apr 1996 12:13:51 +0100 Date: Wed, 3 Apr 96 12:09:34 BST Message-Id: <17923.9604031109@warrington.engg.le.ac.uk> To: Sigurd.Skogestad@kjemi.unit.no Subject: Re: FInished! Status: R Hi Sigurd, Congradualtions on a job well done. It has been a pleasure helping you edit the book and a great joy reading it. I look forward to see the completed version. Best regards, Ghassan From Espen.Helle@itk.ntnu.no Thu Apr 11 14:35:30 1996 Received: from adam.itk.unit.no (adam.itk.unit.no [129.241.10.24]) by hitra.kjemi.unit.no with SMTP id OAA19800 (8.6.12/IDA-1.6 for ); Thu, 11 Apr 1996 14:35:29 +0200 Received: from david (david.itk.unit.no) by adam.itk.unit.no with SMTP id AA04554 (5.65c/IDA-1.4.4 for ); Thu, 11 Apr 1996 14:35:11 +0200 Date: Thu, 11 Apr 1996 14:35:11 +0200 (MET DST) From: Espen Helle X-Sender: espenh@david To: Sigurd Skogestad Subject: Re: prosjekt multivariable frekvensanalyse In-Reply-To: <199604091705.TAA05933@oslo.kjemi.unit.no> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO On Tue, 9 Apr 1996, Sigurd Skogestad wrote: > Date: Tue, 9 Apr 1996 19:05:12 +0200 > From: Sigurd Skogestad > To: stemic01@odin.mimer.no > Cc: espenh@itk.unit.no > Subject: Re: prosjekt multivariable frekvensanalyse > > Hallo Espen, > > Jeg greide ikke aa faa ut postscriptfilen... > > Kan du sende en kopi i internposten. > Greit, det var mye problem med aa faa det til, og saa gikk det ikke alikevel... (Trolig har det noe aa si at det er send via msdos maskin.) Men jeg oppdaget at Einar holder paa med DV kollonne(som jeg innbiller meg at jeg valgte). Derfor lurer jeg paa om jeg boer bytte. Da kunne LV og DB konfigurering vaere greit. Jeg tror jeg da boer velge DB siden den ikke er brukt i alle eksemplene i boka. Er det greit eller har du noen synspunkter paa det ? Jeg er egentlig helt aapen. Espen > -Sigurd > > *************************************************************************** > Sigurd Skogestad, Professor Fax: +47-7359-4080 > Chemical Engineering Phone: +47-7359-4154 > Norwegian University of Science and Technology Home: +47-7393-6855 > N-7034 Trondheim e-mail: skoge@kjemi.unit.no > Norway www.kjemi.unit.no/~skoge > *************************************************************************** > > From andersh@joakim.isy.liu.se Wed Apr 17 16:16:11 1996 Received: from isy.liu.se (root@isy.liu.se [130.236.1.3]) by hitra.kjemi.unit.no with SMTP id QAA24000 (8.6.12/IDA-1.6 for ); Wed, 17 Apr 1996 16:16:10 +0200 Received: from fedtmule.isy.liu.se by isy.liu.se (5.65b/isy.minimaster-V1.0b2) id AA05529; Wed, 17 Apr 96 16:16:08 +0200 Received: by fedtmule.isy.liu.se (SMI-8.6/SMI-SVR4) id QAA00571; Wed, 17 Apr 1996 16:15:50 +0200 Date: Wed, 17 Apr 1996 16:15:50 +0200 From: andersh@isy.liu.se (Anders Helmersson) Message-Id: <199604171415.QAA00571@fedtmule.isy.liu.se> To: skoge@kjemi.unit.no Subject: Multivariable feedback control book Content-Type: text X-Sun-Charset: ISO-8859-1 Status: R Prof. Skogestad Jag arbetar i Lennart Ljungs grupp i Linköping. Jag doktorerade i december med en avhandling med namnet: Methods for robust gain scheduling. Om du är intresserad kan jag skicka dig ett exemplar. Jag tittar nu på alternativ till nya böcker i vår kurs multivariabel reglering. Tidigare har vi använt Maciejowskis bok. Jag undrar nu vilken status din och Postlethwaites bok har. När är den planerad att ges ut och vilket är det förväntade priset? Med vänliga hälsingar Anders Helmersson email: andersh@isy.liu.se From ixp@leicester.ac.uk Fri Apr 19 10:12:42 1996 Received: from venus.le.ac.uk (pp@venus.le.ac.uk [143.210.16.123]) by hitra.kjemi.unit.no with ESMTP id KAA08513 (8.6.12/IDA-1.6 for ); Fri, 19 Apr 1996 10:12:42 +0200 Received: from mango.le.ac.uk by venus.le.ac.uk with SMTP (PP); Fri, 19 Apr 1996 09:17:04 +0100 Received: from MANGO/SpoolDir by mango.le.ac.uk (Mercury 1.21); 19 Apr 96 09:12:33 +0100 (BST) Received: from SpoolDir by MANGO (Mercury 1.21); 19 Apr 96 09:12:13 +0100 (BST) From: IXP To: Sigurd.Skogestad@kjemi.unit.no Date: Fri, 19 Apr 1996 9:12:58 +0100 (BST) Subject: Re: H-infinity poles etc. Priority: normal X-mailer: Pegasus Mail/Mac (v2.1.2) Message-ID: <199C00C2FFE@mango.le.ac.uk> Status: R >From: Sigurd Skogestad >Date: Thu, 18 Apr 1996 19:27:09 +0200 >To: ixp@leicester.ac.uk >Subject: Re: H-infinity poles etc. > >Dear Ian, > >Thanks for pointing me to the page. In a revised edition we may make >some note earlier (e.g. on p. 373) about pole-zero cancellations >in S/T and S/KS and how it may be avoided (e.g. use SG_d with G_d=G). >A simple reference for SISO is Kwakernaak (1993) - he refers to the >two papers you mention. > >-Sigurd > > Dear Sigurd It is all much easier to see in the SISO case. We gave a presentation on the scalar casr at the 1990 CDC. Anyway I agree that we should say more in the next edition, which I look forward to. Regards Ian From Sigurd.Skogestad Mon May 6 15:11:47 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id PAA14932 (8.6.12/IDA-1.6); Mon, 6 May 1996 15:11:32 +0200 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Mon, 6 May 1996 15:11:30 +0200 Date: Mon, 6 May 1996 15:11:30 +0200 Message-Id: <199605061311.PAA11568@oslo.kjemi.unit.no> To: hhn@iau.dtu.dk, jacobsen@elixir.e.kth.se, ixp@le.ac.uk, y.cao@exeter.ac.uk, gm@sun.engg.le.ac.uk, skoge, Jann.Peter.Strand@itk.unit.no, ivarh@itk.unit.no, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Course 43917 Cc: Rolf.Henriksen@itk.ntnu.no, skoge Status: R Course 43917 Multivariable frekvensanalyse Spring 1996. Exam date: Friday 07 June (5 hour written exam) Textbook: "Multivariable feedback control" av Skogestad og Postlethwaite. ___________________________________________________________________ Required material from the book (syllabus) (Pensum) The numbers refer to the March/April version of the book. The complete table of contents is given below. Ch. 1 Ch. 2 (assumed known from previous courses with exception of 2.7 on H-infinity etc.) Ch. 3 Ch. 4.4, 4.5, 4.6, 4.7, 4.9.4, 4.9.5, 4.10 (the rest is for orientation or is assumed known) Ch. 5: The most importants parts are: 5.1, 5.3.4 (but not Thm. 5.5), 5.5, 5.6.4, 5.8, 5.14 (summary). You must be able to derive the rules given in the summary. Ch. 6: 6.1, 6.2.3, 6.3, 6.5 (need not remember details of Thm 6.4), 6.6, 6.7 (need not remember details), 6.8, 6.9.1, 6.10.2, 6.10.4 (only last page with Conclusions on input uncertainty and feedback control), 6.10, 6.11 Ch. 7: 7.1, 7.2, 7.4, 7.5, 7.6 Ch. 8: 8.1, 8.2.4, 8.3, 8.4, 8.5, 8.6, 8.7, know the most important results in 8.8 (definition of mu, eq. 8.82, 8.86, 8.87, 8.98), 8.9, 8.10 8.11, 8.14. Ch. 9: 9.1 (the rest is not required for the exam, but it is assumed that you are familiar with most of it during the project) Ch. 10: 10.1, 10.4, 10.6 is assumed known from previous courses, 10.8 (most important results are in 10.8.1 and 10.8.5 (summary)). Ch. 11: For orientation only. Ch. 12: For orientation only Appendix A: It is recommended that you read though this! ________________________________________________________________________ TABLE OF CONTENTS (final version): 1 INTRODUCTION 1.1 The process of control system design 1.2 The control problem 1.3 Transfer functions 1.4 Scaling 1.5 Deriving linear models 1.6 Notation 2 CLASSICAL FEEDBACK CONTROL 2.1 Frequency response o Frequency-by-frequency sinusoids 2.2 Feedback control 2.2.1 One degree-of-freedom controller 2.2.2 Closed-loop transfer functions 2.2.3 Why feedback? 2.3 Closed-loop stability 2.4 Evaluating closed-loop performance 2.4.1 Typical closed-loop responses 2.4.2 Time domain performance 2.4.3 Frequency domain performance o Gain and phase margins o Maximum peak criteria 2.4.4 Relationship between time and frequency domain peaks 2.4.5 Bandwidth and crossover frequency 2.5 Controller design 2.6 Loop shaping 2.6.1 Trade-offs in terms of $L$ 2.6.2 Fundamentals of loop-shaping design o Limitations imposed by RHP-zeros and time delays 2.6.3 Inverse-based controller design 2.6.4 Loop shaping for disturbance rejection 2.6.5 Two degrees-of-freedom design o Loop shaping applied to a flexible structure 2.6.6 Conclusions on loop shaping 2.7 Shaping closed-loop transfer functions 2.7.1 The terms ${\cal H}_\infty$ and ${\cal H_2}$ 2.7.2 Weighted sensitivity 2.7.3 Stacked requirements: mixed sensitivity 2.8 Conclusion 3 INTRODUCTION TO MULTIVARIABLE CONTROL 3.1 Introduction 3.2 Transfer functions for MIMO systems o Negative feedback control systems 3.3 Multivariable frequency response analysis 3.3.1 Obtaining the frequency response from $G(s)$ 3.3.2 Directions in multivariable systems 3.3.3 Eigenvalues are a poor measure of gain 3.3.4 Singular value decomposition o Non-Square plants o Use of the minimum singular value of the plant 3.3.5 Singular values for performance 3.4 Control of multivariable plants 3.4.1 Decoupling 3.4.2 Pre- and post-compensators and the SVD-controller 3.4.3 Diagonal controller (decentralized control) 3.4.4 What is the shape of the ``best'' feedback controller? 3.4.5 Multivariable controller synthesis 3.4.6 Summary of mixed-sensitivity ${\cal H}_\infty $ design ($S/KS$) 3.5 Introduction to multivariable RHP-zeros 3.6 Condition number and RGA 3.6.1 Condition number 3.6.2 Relative Gain Array (RGA) 3.7 Introduction to MIMO robustness 3.7.1 Motivating robustness example no. 1: Spinning Satellite 3.7.2 Motivating robustness example no. 2: Distillation Process 3.7.3 Robustness conclusions 3.8 General control problem formulation 3.8.1 Obtaining the generalized plant $P$ 3.8.2 Controller design: Including weights in $P$ 3.8.3 Partitioning the generalized plant $P$ 3.8.4 Analysis: Closing the loop to get $N$ 3.8.5 Generalized plant $P$: Further examples 3.8.6 Deriving $P$ from $N$ 3.8.7 Problems not covered by the general formulation 3.8.8 A general control configuration including model uncertainty 3.9 Additional exercises 3.10 Conclusion 4 ELEMENTS OF LINEAR SYSTEM THEORY 4.1 System descriptions 4.1.1 State-space representation 4.1.2 Impulse response representation 4.1.3 Transfer function representation - Laplace transforms 4.1.4 Frequency response 4.1.5 Coprime factorization 4.1.6 More on state-space realizations 4.2 State controllability and state observability 4.3 Stability 4.4 Poles 4.4.1 Poles and stability 4.4.2 Poles from state-space realizations 4.4.3 Poles from transfer functions 4.5 Zeros 4.5.1 Zeros from state-space realizations 4.5.2 Zeros from transfer functions 4.6 More on poles and zeros 4.6.1 Directions of poles and zeros 4.6.2 Remarks on poles and zeros 4.7 Internal stability of feedback systems 4.7.1 Implications of the internal stability requirement 4.8 Stabilizing controllers 4.8.1 Stable plants 4.8.2 Unstable plants 4.9 Stability analysis in the frequency domain 4.9.1 Open and closed-loop characteristic polynomials o Relationship between characteristic polynomials 4.9.2 MIMO Nyquist stability criteria 4.9.3 Eigenvalue loci 4.9.4 Small gain theorem 4.10 System norms 4.10.1 ${\cal H}_2$\ norm 4.10.2 ${\cal H}_\infty $\ norm 4.10.3 Difference between the ${\cal H}_2$\ and ${\cal H}_\infty $\ norms 4.10.4 Hankel norm 4.11 Conclusion 5 LIMITATIONS ON PERFORMANCE IN SISO SYSTEMS 5.1 Input-Output Controllability 5.1.1 Input-output controllability analysis 5.1.2 Scaling and performance 5.1.3 Remarks on the term controllability 5.2 Perfect control and plant inversion 5.3 Constraints on $S$ and $T$ 5.3.1 $S$ plus $T$ is one 5.3.2 The waterbed effects (sensitivity integrals) o Pole excess of two: First waterbed formula o RHP-zeros: Second waterbed formula 5.3.3 Interpolation constraints 5.3.4 Sensitivity peaks 5.4 Ideal ISE optimal control 5.5 Limitations imposed by time delays 5.6 Limitations imposed by RHP-zeros 5.6.1 Inverse response 5.6.2 High-gain instability 5.6.3 Bandwidth limitation I 5.6.4 Bandwidth limitation II o Performance at low frequencies o Performance at high frequencies 5.6.5 Limitations at low or high frequencies 5.6.6 Remarks on the effects of RHP-zeros 5.7 Non-causal controllers 5.8 Limitations imposed by RHP-poles 5.9 Combined RHP-poles and RHP-zeros 5.10 Performance requirements imposed by disturbances and commands 5.11 Limitations imposed by input constraints 5.11.1 Inputs for perfect control 5.11.2 Inputs for acceptable control 5.11.3 Unstable plant and input constraints 5.12 Limitations imposed by phase lag 5.13 Limitations imposed by uncertainty 5.13.1 Feedforward control 5.13.2 Feedback control 5.14 Controllability analysis with feedback control 5.15 Controllability analysis with feedforward control 5.16 Applications of controllability analysis 5.16.1 First-order delay process 5.16.2 Application: Room heating 5.16.3 Application: Neutralization process 5.16.4 Additional exercises 5.17 Conclusion 6 LIMITATIONS ON PERFORMANCE IN MIMO SYSTEMS 6.1 Introduction 6.2 Constraints on $S$ and $T$ 6.2.1 $S$ plus $T$ is the identity matrix 6.2.2 Sensitivity integrals 6.2.3 Interpolation constraints 6.2.4 Sensitivity peaks 6.3 Functional controllability 6.4 Limitations imposed by time delays 6.5 Limitations imposed by RHP-zeros 6.5.1 Moving the effect of a RHP-zero to a specific output 6.6 Limitations imposed by RHP-poles 6.7 RHP-poles combined with RHP-zeros 6.8 Performance requirements imposed by disturbances 6.9 Limitations imposed by input constraints 6.9.1 Inputs for perfect control 6.9.2 Inputs for acceptable control o Exact conditions o Approximate conditions in terms of the SVD 6.10 Limitations imposed by uncertainty 6.10.1 Input and output uncertainty 6.10.2 Effect of uncertainty on feedforward control 6.10.3 Uncertainty and the benefits of feedback 6.10.4 Uncertainty and the sensitivity peak o Upper bound on $\sigma (S')$ for output uncertainty o Upper bounds on $\sigma (S')$ for input uncertainty o Lower bound on $\sigma (S')$ for input uncertainty o Conclusions on input uncertainty and feedback control 6.10.5 Element-by-element uncertainty 6.10.6 Steady-state condition for integral control 6.11 Input-output controllability 6.11.1 Controllability analysis procedure 6.11.2 Plant design changes 6.11.3 Additional exercises 6.12 Conclusion 7 UNCERTAINTY AND ROBUSTNESS FOR SISO SYSTEMS 7.1 Introduction to robustness 7.2 Representing uncertainty 7.3 Parametric uncertainty 7.4 Representing uncertainty in the frequency domain 7.4.1 Uncertainty regions 7.4.2 Representing uncertainty regions by complex perturbations 7.4.3 Obtaining the weight for complex uncertainty 7.4.4 Choice of nominal model 7.4.5 Neglected dynamics represented as uncertainty 7.4.6 Unmodelled dynamics uncertainty 7.5 SISO Robust stability 7.5.1 RS with multiplicative uncertainty 7.5.2 Comparison with gain margin 7.5.3 RS with inverse multiplicative uncertainty 7.6 SISO Robust performance 7.6.1 SISO nominal performance in the Nyquist plot 7.6.2 Robust performance 7.6.3 The relationship between NP, RS and RP 7.6.4 The similarity between RS and RP 7.7 Examples of parametric uncertainty 7.7.1 Parametric pole uncertainty 7.7.2 Parametric zero uncertainty 7.7.3 Parametric state-space uncertainty 7.8 Additional exercises 7.9 Conclusion 8 ROBUST STABILITY AND PERFORMANCE ANALYSIS 8.1 General control configuration with uncertainty 8.2 Representing uncertainty 8.2.1 Differences between SISO and MIMO systems 8.2.2 Parametric uncertainty 8.2.3 Unstructured uncertainty o Lumping uncertainty into a single perturbation o Moving uncertainty from the input to the output 8.2.4 Diagonal uncertainty 8.3 Obtaining $P$, $N$ and $M$ 8.4 Definitions of robust stability and robust performance 8.5 Robust stability of the $M\Delta $-structure 8.6 RS for complex unstructured uncertainty 8.6.1 Application of the unstructured RS-condition 8.6.2 RS for coprime factor uncertainty 8.7 RS with structured uncertainty: Motivation 8.8 The structured singular value 8.8.1 Remarks on the definition of $\mu $ 8.8.2 Properties of $\mu $ for real and complex $\Delta $ 8.8.3 $\mu $ for complex $\Delta $ o Properties of $\mu $ for complex perturbations 8.9 Robust stability with structured uncertainty 8.9.1 What do $\mu \not =1$ and skewed-$\mu $ mean? 8.10 Robust performance 8.10.1 Testing RP using $\mu $ o Block diagram proof of Theorem 8.7 o Algebraic proof of Theorem 8.7 8.10.2 Summary of $\mu $-conditions for NP, RS and RP 8.10.3 Worst-case performance and skewed-$\mu $ 8.11 Application: RP with input uncertainty 8.11.1 Interconnection matrix 8.11.2 RP with input uncertainty for SISO system 8.11.3 Robust performance for $2\times 2$ distillation process 8.11.4 $\mu $ and the condition number o Worst-case performance (any controller) 8.11.5 Comparison with output uncertainty 8.12 $\mu $-synthesis and $DK$-iteration 8.12.1 $DK$-iteration 8.12.2 Adjusting the performance weight 8.12.3 Fixed structure controller 8.12.4 Example: $\mu $-synthesis with $DK$-iteration o Analysis of $\mu $-``optimal'' controller $K_3$ 8.13 Further remarks on $\mu $ 8.13.1 Further justification for the upper bound on $\mu $ 8.13.2 Real perturbations and the mixed $\mu $ problem 8.13.3 Computational complexity 8.13.4 Discrete case 8.13.5 Relationship to linear matrix inequalities (LMIs) 8.14 Conclusion o Practical $\mu $-analysis 9 CONTROLLER DESIGN 9.1 Trade-offs in MIMO feedback design 9.2 LQG control 9.2.1 Traditional LQG and LQR problems 9.2.2 Robustness properties 9.2.3 Loop transfer recovery (LTR) procedures 9.3 ${\cal H}_2$ and ${\cal H}_\infty$ control 9.3.1 General control problem formulation 9.3.2 ${\cal H}_2$ optimal control 9.3.3 LQG: a special ${\cal H}_2$ optimal controller 9.3.4 ${\cal H}_\infty $ optimal control 9.3.5 Mixed-sensitivity ${\cal H}_\infty $ control 9.3.6 Signal-based ${\cal H}_\infty $ control 9.4 ${\cal H}_\infty $ loop-shaping design 9.4.1 Robust stabilization 9.4.2 A systematic ${\cal H}_\infty $ loop-shaping design procedure 9.4.3 Two degrees-of-freedom controllers 9.4.4 Observer-based structure for ${\cal H}_\infty $ loop-shaping controllers 9.4.5 Implementation issues 9.5 Conclusion 10 CONTROL STRUCTURE DESIGN 10.1 Introduction 10.2 Optimization and control 10.3 Selection of controlled outputs o Measurement selection for indirect control 10.4 Selection of manipulations and measurements 10.5 RGA for non-square plant 10.6 Control configuration elements 10.6.1 Cascade control systems 10.6.2 Cascade control: Extra measurements 10.6.3 Cascade control: Extra inputs 10.6.4 Extra inputs and outputs (local feedback) 10.6.5 Selectors 10.6.6 Why use cascade and decentralized control? 10.7 Hierarchical and partial control 10.7.1 Partial control 10.7.2 Hierarchical control and sequential design o Sequential design of cascade control systems 10.7.3 ``True'' partial control 10.8 Decentralized feedback control 10.8.1 RGA as interaction measure for decentralized control 10.8.2 Stability of decentralized control systems o Sufficient conditions for stability o Necessary steady-state conditions for stability 10.8.3 The RGA and right-half plane zeros 10.8.4 Performance of decentralized control systems 10.8.5 Summary: Controllability analysis for decentralized control 10.8.6 Sequential design of decentralized controllers 10.8.7 Conclusions on decentralized control 10.9 Conclusion 11 MODEL REDUCTION 11.1 Introduction 11.2 Truncation and residualization 11.2.1 Truncation 11.2.2 Residualization 11.3 Balanced realizations 11.4 Balanced truncation and balanced residualization 11.5 Optimal Hankel norm approximation 11.6 Two practical examples 11.6.1 Reduction of a gas turbine aero-engine model 11.6.2 Reduction of an aero-engine controller 11.7 Reduction of unstable models 11.7.1 Stable part model reduction 11.7.2 Coprime factor model reduction 11.8 Model reduction using MATLAB 11.9 Conclusion 12 CASE STUDIES 12.1 Introduction 12.2 Helicopter control 12.2.1 Problem description 12.2.2 The helicopter model 12.2.3 ${\cal H}_\infty $ mixed-sensitivity design 12.2.4 Disturbance rejection design 12.2.5 Comparison of disturbance rejection properties of the two designs 12.2.6 Conclusions 12.3 Aero-engine control 12.3.1 Problem description 12.3.2 Control structure design: output selection 12.3.3 A two degrees-of-freedom ${\cal H}_\infty $ loop-shaping design 12.3.4 Analysis and simulation results 12.3.5 Conclusions 12.4 Distillation process 12.4.1 Idealized $LV$-model 12.4.2 Detailed $LV$-model 12.4.3 Idealized $DV$-model 12.4.4 Further distillation case studies 12.5 Conclusion A MATRIX THEORY AND NORMS A.1 Basics A.1.1 Some useful matrix identities A.1.2 Some determinant identities A.2 Eigenvalues and eigenvectors A.2.1 Eigenvalue properties A.2.2 Eigenvalues of the state matrix A.2.3 Eigenvalues of transfer functions A.3 Singular Value Decomposition A.3.1 Rank A.3.2 Singular values of a $2\times 2$ matrix A.3.3 SVD of a matrix inverse A.3.4 Singular value inequalities A.3.5 SVD as a sum of rank $1$ matrices A.3.6 Singularity of matrix $A+E$ A.3.7 Economy-size SVD A.3.8 Pseudo-inverse (Generalized inverse) o Principal component regression (PCR) A.3.9 Condition number A.4 Relative Gain Array A.4.1 Properties of the RGA A.4.2 RGA of a non-square matrix A.4.3 Computing the RGA with MATLAB A.5 Norms A.5.1 Vector norms A.5.2 Matrix norms o Induced matrix norms o Implications of the multiplicative property A.5.3 The spectral radius A.5.4 Some matrix norm relationships A.5.5 Matrix and vector norms in MATLAB A.5.6 Signal norms A.5.7 Signal interpretation of various system norms A.6 Factorization of the sensitivity function A.6.1 Output perturbations A.6.2 Input perturbations A.6.3 Stability conditions A.7 Linear fractional transformations A.7.1 Interconnection of LFTs A.7.2 Relationship between $F_l$ and $F_u$. A.7.3 Inverse of LFTs A.7.4 LFT in terms of the inverse parameter A.7.5 Generalized LFT: The matrix star product B PROJECT WORK and SAMPLE EXAM B.1 Project work B.2 Sample exam BIBLIOGRAPHY INDEX From Sigurd.Skogestad Tue May 7 08:54:42 1996 Received: from oslo.kjemi.unit.no (skoge@oslo.kjemi.unit.no [129.241.12.12]) by hitra.kjemi.unit.no with ESMTP id IAA00133 (8.6.12/IDA-1.6); Tue, 7 May 1996 08:54:39 +0200 From: Sigurd Skogestad Received: by oslo.kjemi.unit.no ; Tue, 7 May 1996 08:54:37 +0200 Date: Tue, 7 May 1996 08:54:37 +0200 Message-Id: <199605070654.IAA13782@oslo.kjemi.unit.no> To: bvest@itk.unit.no, skoge, Jann.Peter.Strand@itk.unit.no, ivarh@itk.unit.no, einarr@itk.unit.no, hofsten@itk.unit.no, jaffi@itk.unit.no, spb@itk.unit.no, skumar@idt.unit.no, espenh@itk.unit.no, halgeir@itk.unit.no, bvik@itk.unit.no, lorentz@stud.unit.no Subject: Prosjekt fag 43917 Cc: tlarsson@kjemi.unit.no, tovekrok@kjemi.unit.no, ivarh@itk.unit.no, acc@kjemi.unit.no, ekh@kjemi.unit.no, morud@kjemi.unit.no, wittgens@kjemi.unit.no, zhao@kjemi.unit.no, flatby@kjemi.unit.no, havre@kjemi.unit.no, hovd@kjemi.unit.no, mejdell@kjemi.unit.no Status: R Hallo, Innleveringsfrist ble satt til 10. mai, men for at jeg skal faa se paa dem litt paa forhaand vil jeg gjerne ha dem torsdag 9. mai kl. 18. (Kai: Kan du samle dem inn og bringe bort til meg). Selve presentasjonene blir paa fredag (15 min pr. pers inkl. sporsmaal - bruk ca. 7-10 transparenter). Jeg foreslaar forlgende program: 13.15 Kai Hofsten: Ustabil reaktor 13.30 Einar Ronning: Destillasjon (DV) 13.45 Espen Helle: Destillasjon (DB) 14.15 Jan Fredrik Hansen: Power supply system 14.30 Svein Berge: Foilborne high-speed vessel 14.45 Jann-Petter Strand: Vessel positioning 15.15 Hallgeir Ludviksen: Helicopter control 15.30 Bjornar Vik: HIMAT airplane (Kai: Kan du ordne rom). Alle interesserte er velkommen. Dere maa gjerne invitere veiledere og andre interesserte. Hilsen Sigurd