Topic # /31 Feedback Control Systems

Similar documents
Topic # Feedback Control Systems

Topic # /31 Feedback Control Systems

Topic # Feedback Control Systems

Topic # /31 Feedback Control Systems

Topic # /31 Feedback Control Systems. State-Space Systems Closed-loop control using estimators and regulators. Dynamics output feedback

Topic # Feedback Control Systems

Topic # Feedback Control

State Space Design. MEM 355 Performance Enhancement of Dynamical Systems

D(s) G(s) A control system design definition

CONTROL DESIGN FOR SET POINT TRACKING

Topic # Feedback Control. State-Space Systems Closed-loop control using estimators and regulators. Dynamics output feedback

Control Systems. Design of State Feedback Control.

Control System Design

Robust Control 5 Nominal Controller Design Continued

Topic # Feedback Control Systems

Course Outline. Higher Order Poles: Example. Higher Order Poles. Amme 3500 : System Dynamics & Control. State Space Design. 1 G(s) = s(s + 2)(s +10)

Topic # Feedback Control Systems

State Regulator. Advanced Control. design of controllers using pole placement and LQ design rules

EE C128 / ME C134 Fall 2014 HW 9 Solutions. HW 9 Solutions. 10(s + 3) s(s + 2)(s + 5) G(s) =

MEM 355 Performance Enhancement of Dynamical Systems

Linear State Feedback Controller Design

Advanced Control Theory

5. Observer-based Controller Design

Variable Structure Control ~ Disturbance Rejection. Harry G. Kwatny Department of Mechanical Engineering & Mechanics Drexel University

Topic # /31 Feedback Control Systems. Analysis of Nonlinear Systems Lyapunov Stability Analysis

6.241 Dynamic Systems and Control

Control Systems Design

Principles of Optimal Control Spring 2008

EL 625 Lecture 10. Pole Placement and Observer Design. ẋ = Ax (1)

1. LQR formulation 2. Selection of weighting matrices 3. Matlab implementation. Regulator Problem mm3,4. u=-kx

1 (30 pts) Dominant Pole

Root Locus. Motivation Sketching Root Locus Examples. School of Mechanical Engineering Purdue University. ME375 Root Locus - 1

MAE 143B - Homework 7

6 OUTPUT FEEDBACK DESIGN

TRACKING AND DISTURBANCE REJECTION

EECS C128/ ME C134 Final Wed. Dec. 15, am. Closed book. Two pages of formula sheets. No calculators.

MAE 143B - Homework 8 Solutions

Power Systems Control Prof. Wonhee Kim. Ch.3. Controller Design in Time Domain

Fall 線性系統 Linear Systems. Chapter 08 State Feedback & State Estimators (SISO) Feng-Li Lian. NTU-EE Sep07 Jan08

Control Systems Design, SC4026. SC4026 Fall 2010, dr. A. Abate, DCSC, TU Delft

EECS C128/ ME C134 Final Thu. May 14, pm. Closed book. One page, 2 sides of formula sheets. No calculators.

State Feedback and State Estimators Linear System Theory and Design, Chapter 8.

EECS C128/ ME C134 Final Wed. Dec. 14, am. Closed book. One page, 2 sides of formula sheets. No calculators.

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering 2.04A Systems and Controls Spring 2013

Topic # Feedback Control

An overview of key ideas

Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science : MULTIVARIABLE CONTROL SYSTEMS by A.

16.30/31, Fall 2010 Recitation # 2

Separation Principle & Full-Order Observer Design

Lec 6: State Feedback, Controllability, Integral Action

Systems Analysis and Control

POLE PLACEMENT. Sadegh Bolouki. Lecture slides for ECE 515. University of Illinois, Urbana-Champaign. Fall S. Bolouki (UIUC) 1 / 19

EE C128 / ME C134 Final Exam Fall 2014

Linear Quadratic Regulator (LQR) Design II

MS-E2133 Systems Analysis Laboratory II Assignment 2 Control of thermal power plant

Lecture 9. Introduction to Kalman Filtering. Linear Quadratic Gaussian Control (LQG) G. Hovland 2004

Control System Design

Internal Model Principle

Recent Advances in Positive Systems: The Servomechanism Problem

School of Mechanical Engineering Purdue University. DC Motor Position Control The block diagram for position control of the servo table is given by:

SYSTEMTEORI - ÖVNING 5: FEEDBACK, POLE ASSIGNMENT AND OBSERVER

10/8/2015. Control Design. Pole-placement by state-space methods. Process to be controlled. State controller

MODERN CONTROL DESIGN

NPTEL >> Mechanical Engineering >> Modeling and Control of Dynamic electro-mechanical System Module 4- Lecture 31. Observer Design

Homework Solution # 3

Topic # /31 Feedback Control Systems

DO NOT DO HOMEWORK UNTIL IT IS ASSIGNED. THE ASSIGNMENTS MAY CHANGE UNTIL ANNOUNCED.

1 Steady State Error (30 pts)

Chapter 3. State Feedback - Pole Placement. Motivation

Inverted Pendulum: State-Space Methods for Controller Design

Exam. 135 minutes, 15 minutes reading time

Topic # Feedback Control Systems

6.1 Sketch the z-domain root locus and find the critical gain for the following systems K., the closed-loop characteristic equation is K + z 0.

Pole Placement Design

Review: stability; Routh Hurwitz criterion Today s topic: basic properties and benefits of feedback control

Lecture 15: H Control Synthesis

State Feedback and State Estimators Linear System Theory and Design, Chapter 8.

Chapter 7 Interconnected Systems and Feedback: Well-Posedness, Stability, and Performance 7. Introduction Feedback control is a powerful approach to o

Essence of the Root Locus Technique

Plan of the Lecture. Review: stability; Routh Hurwitz criterion Today s topic: basic properties and benefits of feedback control

Control System Design

State Space: Observer Design Lecture 11

Vortex Model Based Adaptive Flight Control Using Synthetic Jets

Computer Problem 1: SIE Guidance, Navigation, and Control

Principles of Optimal Control Spring 2008

EEE582 Homework Problems

Systems Analysis and Control

Principles of Optimal Control Spring 2008

Laboratory 11 Control Systems Laboratory ECE3557. State Feedback Controller for Position Control of a Flexible Joint

Note. Design via State Space

Automatic Control II Computer exercise 3. LQG Design

ECEN 605 LINEAR SYSTEMS. Lecture 20 Characteristics of Feedback Control Systems II Feedback and Stability 1/27

Today s goals So far Today 2.004

Lecture 7 LQG Design. Linear Quadratic Gaussian regulator Control-estimation duality SRL for optimal estimator Example of LQG design for MIMO plant

ECE382/ME482 Spring 2005 Homework 7 Solution April 17, K(s + 0.2) s 2 (s + 2)(s + 5) G(s) =

Extensions and applications of LQ

Control Systems I. Lecture 2: Modeling. Suggested Readings: Åström & Murray Ch. 2-3, Guzzella Ch Emilio Frazzoli

Chapter 2. Classical Control System Design. Dutch Institute of Systems and Control

Chapter Stability Robustness Introduction Last chapter showed how the Nyquist stability criterion provides conditions for the stability robustness of

Denis ARZELIER arzelier

Transcription:

Topic #17 16.30/31 Feedback Control Systems Improving the transient performance of the LQ Servo Feedforward Control Architecture Design DOFB Servo Handling saturations in DOFB

Fall 2010 16.30/31 17 1 LQ Servo Revisited Earlier (13-??) we described how to use an integrator to achieve zero steady state error that is a bit more robust to modeling errors than the N formulation. An issue with this architecture is that the response to the reference is only driven by the integrated error there is no direct path from the reference input to the system transient might be slow. If the relevant system output is y = C y x and reference r, previously added extra states x I, where ẋ I = e Then penalize both x and x I in the cost Caveat: note we are free to define e = r y or e = y r, but the implementation must be consistent As before, if the state of the original system is x, then the dynamics are modified to be [ ] [ ] [ ] [ ] [ ] ẋ A 0 x B u 0 = + u + r ẋ I C y 0 x I 0 I [ ] T and define x = x T x I T The optimal feedback for the cost [ ] J = x T R xx x + u T R uu u dt is of the form: 0 [ ] x u = [ K K I ] = Kx x I

Fall 2010 16.30/31 17 2 Once have used LQR to design control gains K and K I, we have the freedom to choose how we implement it the control system. Provided that we don t change the feedback path and thus modify the closed loop pole locations The first controller architecture on (13-??) was of the form: r e 1 x I s K I K u G(s) y x And the suggestion is that we modify it to this revised form: r e 1 x I s K I R K u G(s) y ˇx Fig. 1: Revised implementation of the LQ servo Note key difference from above architecture is the feedforward term of the e through R. This actually adds another feedback loop, so we need to clarify how this is done.

Fall 2010 16.30/31 17 3 Design Approach Control law for the revised implementation can be written as: u = K (xˇ + Re) K I x I Note that the tracking error is in the output of the integrator and the state feedback components. So this approach has the potential to correct the slow response problems identified in the original implementation. But how do we determine R? Assume that the state can be partitioned into parts we care about for tracking (T x) that we assume are directly available from y and parts we don t (xˇ = T x) Can think of T and T as selector matrices with a diagonal of 1 s and 0 s - but not always this form But must have T + T = I. Example: Consider position control case, where location x is part of state vector x = [x, v,...] T, and y = x = Cx Scalar position reference r, and e = r y, ẋ I = e In this example it is clear that we have x 1 x 0 = 0 v..... 1 0 T = 0 and T = 1......

Fall 2010 16.30/31 17 4 So the control is u = K(xˇ + Re) K I x I = K(xˇ + R[r y]) K I x I = K(xˇ RCx +Rr) K }{{} I x I key To proceed, note what happens if we define RC = T xˇ RCx = T x ( T )x = x Then the control signal becomes: u = K(x + Rr) K I x I This choice of T = RC ensures that we avoid double counting in the feedback the elements of x are not fedback more that once Appears to be useful to choose R = αc T, with α < 1 Closed-loop dynamics Two control laws being compared are: u 1 = K(x) K I x I (1) u 2 = K(x + Rr) K I x I (2) with dynamics ẋ = Ax + Bu, y = Cx (3) augmented with an integrator ẋ I = r y

Fall 2010 16.30/31 17 5 Closed-loop: [ ] [ ] [ ] [ ] ẋ A BK BK = I x 0 + r (4) ẋ I C 0 x I I and [ ] [ ] [ ] [ ] ẋ A BK BK = I x BKR + r (5) ẋ I C 0 x I I (s+2) Example G(s) = (s 1)(s s+2) 1.4 1.2 1 0.8 y 0.6 0.4 0.2 LQ Servo without R With R 0 0 1 2 3 4 5 Time 10 0 G cl 10 2 LQ Servo without R With R 10 2 10 1 10 0 10 1 10 2 w phase G cl 0 100 200 300 10 2 10 1 10 0 10 1 10 2 w Fig. 2: LQ servo implementation comparison

Fall 2010 16.30/31 17 6 Code: LQservo Comparison 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 % LQR servo % Fall 2010 % Jonathan How, MIT close all;clear all;j=sqrt( 1); G=tf([1 2],conv([1 1],[1 1 2])); [a,b,c,d]=ssdata(g); % consider possibility that c is wrong in the design % use c in design of K's and N's, but simulate with cpert ns=size(a,1); z=zeros(ns,1); Rxx=c'*c; Ruu=.001; Rxx1=[Rxx z;z' 10]; R= c'/1.75; abar=[a z; c 0]; bbar=[b;0]; % for Nbar calc kbar1=lqr(abar,bbar,rxx1,ruu); K1=kbar1(1,1:ns);Ki1=kbar1(ns+1); % for R calc kbar2=lqr(abar,bbar,rxx1,1*ruu); K2=kbar2(1,1:ns);Ki2=kbar2(ns+1); acl1=abar bbar*kbar1; acl2=abar bbar*kbar2; % implementation as on 17 5 bcl1=[zeros(ns,1);1]; bcl2=[ b*k2*r;1]; ccl=[c 0]; dcl=0; Gcl1=ss(acl1,bcl1,ccl,dcl); Gcl2=ss(acl2,bcl2,ccl,dcl); figure(1); t=[0:.01:5]'; [y1,t1]=step(gcl1,t); [y2,t2]=step(gcl2,t); plot(t,y1,t,y2,' ') xlabel('time') ylabel('y') legend('lq Servo without R','With R','Location','SouthEast') export fig lqrservo2 1 pdf w=logspace( 2,2,300); figure(2) [mag1,ph1]=bode(gcl1,w);mag1=squeeze(mag1);ph1=squeeze(ph1); [mag2,ph2]=bode(gcl2,w);mag2=squeeze(mag2);ph2=squeeze(ph2); subplot(211); loglog(w,mag1,w,mag2,' ');grid on legend('lq Servo without R','With R','Location','SouthWest') ylabel(' G {cl} ');xlabel('w');axis([1e 2 1e2 1e 2 5]) subplot(212); semilogx(w,ph1,w,ph2,' ');grid on axis([1e 2 1e2 300 60]);ylabel('phase G {cl}');xlabel('w') export fig lqrservo2 2 pdf

Fall 2010 16.30/31 17 7 DOFB Servo Now back up a bit add address how to add an integrator into the DOFB compensator to obtain robust tracking performance. For the DOFB problem, xˆ = Axˆ + Bu + L(y ŷ) = (A LC)xˆ + Bu + Ly (6) ẋ I = r y [ ] [ ] xˆ u = K K I Augment integrator state used in LQR design, since it must be part of the compensator (does not need to be estimated) [ ] T x = xˆt x T I Which gives the DOFB servo compensator as: [ ] [ ] [ ] A LC BK BK x = I L x + y + 0 r 0 0 I I u = Kx (7) x I Resulting closed-loop system (apply (7) to (3)) [ ] ẋ [ A BK ] [ ] [ x ] [ 0 ] = LC A LC BK BK I + 0 r x x C 0 0 I [ ] [ ] x y = C 0 x

Fall 2010 16.30/31 17 8 DOFB Servo Example System (s + 2) G(s) = (s 1)(s s + 2) Use LQR and its dual to find K and L using the dynamics augmented with an integrator. Implement as in Eq. 7 to get the following results Note root locus as a function of scalar loop gain multiplier α, where nominally α = 1 Int Penalty 10 5 4 3 2 vs α CLP OL P OL Z Gc Z Gc P Imaginary Axis 1 0 1 2 3 4 5 4 3 2 1 0 1 2 Real Axis Fig. 3: DOFB servo root locus Obviously a pretty complex structure for the controller often see that the compensator zeros are close to the plant poles.

Fall 2010 16.30/31 17 9 Int Penalty 1 5 4 3 2 vs α CLP OL P OL Z Gc Z Gc P Imaginary Axis 1 0 1 2 3 4 5 4 3 2 1 0 1 2 Real Axis 1.4 Fig. 4: DOFB servo root locus 1.2 1 Response 0.8 0.6 0.4 0.2 Int Penalty 10 Int Penalty 1 Nbar Form 0 0 1 2 3 4 5 time Fig. 5: Step response of the DOFB servo interplay now between the various weightings - all give zero SS error, but transient response quite different.

Fall 2010 16.30/31 17 10 DOFB Servo II Now, as before, consider changing the implementation to improve the transient response. Consider same modification as on 17-2 and add a more direct feedback of parts of e other than through integrator state. As before, assume that we can partition the state into parts we care about for tracking T x and parts we don t T x Require that T + T = I For the DOFB problem, basic form of the estimator is xˆ = (A LC)xˆ + Bu + Ly ẋ I = e = r y Note: can also define an error based on the state estimate ê = r ŷ = r Cxˆ Let us define the control signal to be (note similarities to u equation on 17-4): u = K(T xˆ + Rê) K I x I = K(T xˆ + R(r Cxˆ)) K I x I = K((T RC)xˆ + Rr) K I x I Again set RC = T, so T RC = I and u = K(xˆ + Rr) K I x I = Kx KRr (8)

Fall 2010 16.30/31 17 11 1.4 1.2 1 Response 0.8 0.6 0.4 0.2 Int Penalty 10 no R Int Penalty 10 with R Nbar Form 0 0 1 2 3 4 5 time Fig. 6: DOFB servo step response with and without R formulations compared to N formulation (see Figure 5). Closed-loop system (apply (8) and first line of (7) to (3)) [ ] ẋ [ A BK [ ] ] [ ] BKR BK I x + [ BKR ] = LC A LC BK r x x C 0 0 I [ ] [ ] x y = C 0 x Example for same system as 17-5: G(s) = (s+2) (s 1)(s s+2) Adding extra reference input like this increases the bandwidth of the controller and speeds up the response. But perhaps too much - so further tuning required.

Fall 2010 16.30/31 17 12 DOFB Implementation with Saturations Closed-loop implementation of DOFB assumes that the system and compensator both see u = Kxˆ. If actuator saturates, then possible that the system sees α if u > α sat(u) = u if α < u < α α if u < α whereas the input to the estimator is u. Can improve the response to some extent if the compensator is modified so that it also sees sat(u) rather than u. Compensator for the saturated DOFB problem xˆ = (A LC)xˆ + Bsat(u) + Ly u = Kxˆ sat( ) sat(u) G p (s) y u K ˆx ˆx = (A LC)ˆx + Bsat(u) + Ly

Fall 2010 16.30/31 17 13 Code: DOFB servo (lqservo.m) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 % DOFB servo % Jonathan How, MIT, Fall 10 clear all;close all;j=sqrt( 1); % G=tf([1 2],conv([1 1],[1 1 2])); [N,D]=tfdata(G,'v');roots(N); [a,b,c,d]=ssdata(g);ns=size(a,1); Ruu=.001; Rxx=c'*c; [klqr,p,e]=lqr(a,b,rxx,ruu); z=zeros(ns,1); Rxx1=[Rxx z;z' 10]; Rxx2=[Rxx z;z' 1]; abar=[a z; c 0];bbar=[b;0]; kbar1=lqr(abar,bbar,rxx1,ruu); kbar2=lqr(abar,bbar,rxx2,ruu); % use dual of LQR to design estimator [l,qq,ee]=lqr(a',c',b*b',.01);l=l'; % form compensators ac1=[a l*c b*kbar1(1:ns) b*kbar1(end);z' 0]; ac2=[a l*c b*kbar2(1:ns) b*kbar2(end);z' 0]; by=[l; 1];br=[l*0;1]; cc1= [kbar1];cc2= [kbar2]; % form closed loop dynamics acl1=[a b*kbar1;[l; 1]*c ac1]; acl2=[a b*kbar2;[l; 1]*c ac2]; bcl=[b*0;br]; % r input matrix for basic form changed below ccl=[c c*0 0]; % not changed below % using the Nbar form of closed loop acl3=[a b*klqr;l*c a b*klqr l*c]; bcl3=[b;b]; ccl3=[c c*0]; Nbar= inv(ccl3*inv(acl3)*bcl3); bcl3=bcl3*nbar; figure(1);t=[0:.01:5]'; [y2,t2]=step(ss(acl2,bcl,ccl,0),t); [y1,t1]=step(ss(acl1,bcl,ccl,0),t); [y3,t3]=step(ss(acl3,bcl3,ccl3,0),t); plot(t1,y1,t2,y2,'r ',t3,y3,'m:','linewidth',2) xlabel('time');ylabel('response') legend('int Penalty 10','Int Penalty 1','Nbar Form','Location','SouthEast') export fig lqservo1 pdf Gc uy=tf(ss(ac1,by,cc1,0)); [nn,dd]=tfdata(gc uy,'v'); figure(2); rlocus( G*Gc uy) % is a positive feedback loop now hold on;plot(eig(acl1)+j*eps,'bd','markerfacecolor','b');hold off hold on;plot(eig(a)+j*eps,'mv','markerfacecolor','m');hold off hold on;plot(roots(n)+j*eps,'ro');hold off hold on;plot(roots(nn)+j*eps,'ro','markerfacecolor','r');hold off hold on;plot(roots(dd)+j*eps,'gs','markerfacecolor','g','markersize',5);hold off legend('vs \alpha','clp','ol P','OL Z','Gc Z','Gc P','Location','NorthEast') title('int Penalty 10') axis([ 4 2 5 5]) export fig lqservo2 pdf Gc uy=tf(ss(ac2,by,cc2,0)); [nn,dd]=tfdata(gc uy,'v'); figure(3); rlocus( G*Gc uy) % is a positive feedback loop now hold on;plot(eig(acl2)+j*eps,'bd','markerfacecolor','b');hold off hold on;plot(eig(a)+j*eps,'mv','markerfacecolor','m');hold off hold on;plot(roots(n)+j*eps,'ro');hold off hold on;plot(roots(nn)+j*eps,'ro','markerfacecolor','r');hold off hold on;plot(roots(dd)+j*eps,'gs','markerfacecolor','g','markersize',5);hold off legend('vs \alpha','clp','ol P','OL Z','Gc Z','Gc P','Location','NorthEast') title('int Penalty 1')

Fall 2010 16.30/31 17 14 75 axis([ 4 2 5 5]) 76 export fig lqservo3 pdf 77 78 % Use R=/= formulation 79 R= c'/1.75; 80 figure(4);t=[0:.01:5]'; 81 [y4,t4]=step(ss(acl1,[ b*kbar1(1:ns)*r; b*kbar1(1:ns)*r;1],ccl,0),t); 82 %[y4,t4]=step(ss(acl2,[ b*kbar2(1:ns)*r; b*kbar2(1:ns)*r;1],ccl,0),t); 83 plot(t1,y1,t4,y4,t3,y3,'m:','linewidth',2) 84 %plot(t2,y2,t4,y4,t3,y3,'m:','linewidth',2) 85 xlabel('time');ylabel('response') 86 legend('int Penalty 10 no R','Int Penalty 10 with R','Nbar Form','Location','SouthEast') 87 export fig lqservo4 pdf

MIT OpenCourseWare http://ocw.mit.edu 16.30 / 16.31 Feedback Control Systems Fall 2010 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.