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

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

Topic # Feedback Control Systems

Topic # /31 Feedback Control Systems

Topic # /31 Feedback Control Systems

Topic # Feedback Control Systems

Topic # Feedback Control

Topic # /31 Feedback Control Systems

Control Systems Design

Mechanical Systems Part A: State-Space Systems Lecture AL12

Systems Analysis and Control

Introduction to Feedback Control

Topic # Feedback Control Systems

Topic # Feedback Control Systems

CDS 101/110a: Lecture 8-1 Frequency Domain Design

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

Professor Fearing EE C128 / ME C134 Problem Set 7 Solution Fall 2010 Jansen Sheng and Wenjie Chen, UC Berkeley

MODERN CONTROL DESIGN

Outline. Classical Control. Lecture 5

1 (30 pts) Dominant Pole

(Continued on next page)

CONTROL DESIGN FOR SET POINT TRACKING

Topic # Feedback Control Systems

ECSE 4962 Control Systems Design. A Brief Tutorial on Control Design

MAE 143B - Homework 9

Design Methods for Control Systems

Control System Design

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

Today (10/23/01) Today. Reading Assignment: 6.3. Gain/phase margin lead/lag compensator Ref. 6.4, 6.7, 6.10

INTRODUCTION TO DIGITAL CONTROL

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

Stability of CL System

FREQUENCY-RESPONSE DESIGN

Topic # Feedback Control Systems

Plan of the Lecture. Goal: wrap up lead and lag control; start looking at frequency response as an alternative methodology for control systems design.

Topic # Feedback Control

Outline. Classical Control. Lecture 1

Dr Ian R. Manchester Dr Ian R. Manchester AMME 3500 : Review

Bangladesh University of Engineering and Technology. EEE 402: Control System I Laboratory

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)

Lecture 12. Upcoming labs: Final Exam on 12/21/2015 (Monday)10:30-12:30

Richiami di Controlli Automatici

Control Systems. Design of State Feedback Control.

Synthesis via State Space Methods

Return Difference Function and Closed-Loop Roots Single-Input/Single-Output Control Systems

MAE143a: Signals & Systems (& Control) Final Exam (2011) solutions

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

ECEn 483 / ME 431 Case Studies. Randal W. Beard Brigham Young University

Due Wednesday, February 6th EE/MFS 599 HW #5

SAMPLE SOLUTION TO EXAM in MAS501 Control Systems 2 Autumn 2015

Overview of Bode Plots Transfer function review Piece-wise linear approximations First-order terms Second-order terms (complex poles & zeros)

School of Mechanical Engineering Purdue University. ME375 Feedback Control - 1

ESE319 Introduction to Microelectronics. Feedback Basics

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

Chapter 6 - Solved Problems

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering Dynamics and Control II Fall 2007

Frequency methods for the analysis of feedback systems. Lecture 6. Loop analysis of feedback systems. Nyquist approach to study stability

2.010 Fall 2000 Solution of Homework Assignment 8

Review: transient and steady-state response; DC gain and the FVT Today s topic: system-modeling diagrams; prototype 2nd-order system

ELECTRONICS & COMMUNICATIONS DEP. 3rd YEAR, 2010/2011 CONTROL ENGINEERING SHEET 5 Lead-Lag Compensation Techniques

Chapter 9 Robust Stability in SISO Systems 9. Introduction There are many reasons to use feedback control. As we have seen earlier, with the help of a

Control Systems! Copyright 2017 by Robert Stengel. All rights reserved. For educational use only.

Pole placement control: state space and polynomial approaches Lecture 2

MEM 355 Performance Enhancement of Dynamical Systems

Advanced Control Theory

Exercise 1 (A Non-minimum Phase System)

VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur

Positioning Servo Design Example

1 Steady State Error (30 pts)

Time Response Analysis (Part II)

Multivariable MRAC with State Feedback for Output Tracking

Classify a transfer function to see which order or ramp it can follow and with which expected error.

K(s +2) s +20 K (s + 10)(s +1) 2. (c) KG(s) = K(s + 10)(s +1) (s + 100)(s +5) 3. Solution : (a) KG(s) = s +20 = K s s

Module 5: Design of Sampled Data Control Systems Lecture Note 8

Exercises for lectures 13 Design using frequency methods

Controls Problems for Qualifying Exam - Spring 2014

ECE 388 Automatic Control

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

Compensation 8. f4 that separate these regions of stability and instability. The characteristic S 0 L U T I 0 N S

Linear State Feedback Controller Design

MAE 143B - Homework 7

Topic # /31 Feedback Control Systems

MAE 142 Homework #5 Due Friday, March 13, 2009

LINEAR QUADRATIC GAUSSIAN

ECE 486 Control Systems

Control Systems I Lecture 10: System Specifications

Internal Model Principle

(a) Find the transfer function of the amplifier. Ans.: G(s) =

CDS 101/110a: Lecture 10-2 Control Systems Implementation

100 (s + 10) (s + 100) e 0.5s. s 100 (s + 10) (s + 100). G(s) =

Systems Analysis and Control

STABILITY OF CLOSED-LOOP CONTOL SYSTEMS

to have roots with negative real parts, the necessary and sufficient conditions are that:

Inverted Pendulum. Objectives

5. Observer-based Controller Design

EE 4343/ Control System Design Project LECTURE 10

Frequency (rad/s)

Raktim Bhattacharya. . AERO 422: Active Controls for Aerospace Vehicles. Frequency Response-Design Method

Control Systems. Root Locus & Pole Assignment. L. Lanari

EE C128 / ME C134 Fall 2014 HW 6.2 Solutions. HW 6.2 Solutions

Transcription:

Topic #15 16.3/31 Feedback Control Systems State-Space Systems Closed-loop control using estimators and regulators. Dynamics output feedback Back to reality Reading: FPE 7.6

Fall 21 16.3/31 15 2 Combined Estimators and Regulators Now evaluate stability and/or performance of a controller when K designed assuming u(t) = Kx(t) but implemented as u(t) = Kxˆ(t) Assume we have designed a closed-loop estimator with gain L xˆ (t) = (A LC)xˆ(t) + Bu(t) + Ly(t) ŷ(t) = Cxˆ(t) The closed-loop system dynamics are given by: ẋ(t) = Ax(t) + Bu(t) xˆ (t) = (A LC)xˆ(t) + Bu(t) + Ly(t) y(t) = Cx(t) ŷ(t) = Cxˆ(t) u(t) = Kxˆ(t) Which can be compactly written as: [ ] [ ] [ ] x (t) A BK x(t) = xˆ(t) LC A BK LC xˆ(t) ẋ cl (t) = A cl x cl (t) This does not look too good at this point not even obvious that the closed-system is stable. λ i (A cl ) =?? November 5, 21

Fall 21 16.3/31 15 3 Can fix this problem by introducing a new variable x = x xˆ and then converting the closed-loop system dynamics using the similarity transformation T [ ] [ ] [ ] x(t) I x(t) x cl (t) = = T x cl (t) x (t) I I xˆ(t) Note that T = T 1 Now rewrite the system dynamics in terms of the state x cl (t) A cl T A cl T 1 Ā cl Since similarity transformations preserve the eigenvalues we are guaranteed that λ i (A cl ) λ i (Ā cl ) Work through the math: [ ] [ ] [ ] I A BK I Ā cl = I I LC A BK LC I I [ ] [ ] A BK I = [ A LC A + LC I I ] A BK BK = A LC Because A cl is block upper triangular, we know that the closed-loop poles of the system are given by det(si Ā cl ) det(si (A BK)) det(si (A LC)) = November 5, 21

Fall 21 16.3/31 15 4 Observation: Closed-loop poles for this system consist of the union of the regulator poles and estimator poles. So we can just design the estimator/regulator separately and combine them at the end. Called the Separation Principle. Keep in mind that the pole locations you are picking for these two sub-problems will also be the closed-loop pole locations. Note: Separation principle means that there will be no ambiguity or uncertainty about the stability and/or performance of the closed-loop system. The closed-loop poles will be exactly where you put them!! And we have not even said what compensator does this amazing accomplishment!!! November 5, 21

Fall 21 16.3/31 15 5 The Compensator Dynamic Output Feedback Compensator is the combination of the regulator and estimator using u(t) = Kxˆ(t) xˆ (t) = (A LC)xˆ(t) + Bu(t) + Ly(t) xˆ (t) = (A BK LC)xˆ(t) + Ly(t) u(t) = Kxˆ(t) Rewrite with new state x c (t) xˆ(t) ẋ c (t) = A c x c (t) + B c y(t) u(t) = C c x c (t) where the compensator dynamics are given by: A c A BK LC, B c L, C c K Note that the compensator maps sensor measurements to actuator commands, as expected. Closed-loop system stable if regulator/estimator poles placed in the LHP, but compensator dynamics do not need to be stable. λ i (A BK LC) =?? November 5, 21

Fall 21 16.3/31 15 6 For consistency with the implementation of classical controllers, define the compensator transfer function as G c (s) = C c (si A c ) 1 B c so that u(t) = G c (s)y(t) Note that it is often very easy to provide classical interpretations (such as lead/lag) for the compensator G c (s). Can implement this compensator with a reference command r(t) using feedback on e(t) = r(t) y(t) rather than just y(t) r e u y G c (s) G p (s) u(t) = G c (s)e(t) = G c (s)(r(t) y(t)) Still have u(t) = G c (s)y(t) if r(t) =. So now write state space model of the compensator as ẋ c (t) = A c x c (t) + B c e(t) u(t) = C c x c (t) Intuitively appealing setup because it is the same approach used for the classical control, but it turns out not to be the best approach More on this later. November 5, 21

Fall 21 16.3/31 15 7 Mechanics Basics: e(t) = r(t) y(t), u(t) = G c e(t), y(t) = Gu(t) G c (s) : ẋ c (t) = A c x c (t) + B c e(t), u(t) = C c x c (t) G(s) : ẋ(t) = Ax(t) + Bu(t), y(t) = Cx(t) Loop dynamics L(s) = G(s)G c (s) y(t) = L(s)e(t) ẋ(t) = Ax(t) +BC c x c (t) ẋ c (t) = +A c x c (t) +B c e(t) [ ] [ ] [ ] [ ] ẋ(t) A BC c x(t) L(s) : = + e(t) ẋ c (t) A c x c (t) B c [ ] [ ] x(t) y(t) = C x c (t) To close the loop, note that e(t) = r(t) y(t), then [ ] [ ] [ ] [ ] ( [ ]) ẋ(t) A BC c x(t) [ ] x(t) = + r(t) C ẋ c (t) A c x c (t) B c x c (t) [ ] [ ] [ ] A BC c x(t) = + r(t) B c C A c x c (t) B c [ ] [ ] x(t) y(t) = C x c (t) A cl is not exactly the same as on page 15-2 because we have rearranged where the negative sign enters into the problem. Same result though. November 5, 21

Fall 21 16.3/31 15 8 Scaling DOFB Compensator DOFB = Dynamic Output Feedback Assume that the closed-loop system has been written for the system on 15-6, then it is still possible that the DC gain of the response from r to y is not unity Scalar input/output assumed for now Need to scale the closed-loop to fix this using r Nr Closed-loop dynamics are ẋ cl (t) = A cl x cl (t) + B cl Nr(t) y(t) = C cl x cl (t) So to have the TF of y/u have unity gain at DC, must have ( ) N = C cl (A cl ) 1 1 B cl November 5, 21

Fall 21 16.3/31 15 9 Simple Compensator Example Let G(s) = 1/(s 2 + s + 1) with state-space model given by: [ ] [ ] 1 [ ] A =, B =, C = 1, D = 1 1 1 Design the regulator to place the poles at s = 4 ± 4j [ ] λ i (A BK) = 4 ± 4j K = 31 7 Regulator pole time constant τ c = 1/ζω n 1/4 =.25 sec Put estimator poles with faster time constant τ e 1/1 Use real poles, so Φ e (s) = (s + 1) 2 [ ] 1 [ ] C L = Φ e (A) CA 1 [ ] 2 [ ] [ ] [ ] 1 [ ] 1 1 1 1 = + 2 + 1 1 1 1 1 1 1 [ ] [ ] [ ] 99 19 19 = = 19 8 1 8 November 5, 21

Fall 21 16.3/31 15 1 Compensator: A c = = = B c = L = [ A BK ] LC [ 1 1 1 [ ] 19 1 112 8 [ 19 8 ] C c = K = [ 31 7 ] 1 ] [ 31 7 ] [ 19 8 ] [ 1 ] 1 a=[ 1; 1 1];b=[ 1]';c=[1 ];d=; 2 k=acker(a,b,[ 4+4*j; 4 4*j]); 3 l=acker(a',c',[ 1 1]')'; 4 % 5 % For state space for G c(s) 6 % 7 ac=a b*k l*c;bc=l;cc=k;dc=; Compensator transfer function: U G c (s) = C c (si A c ) 1 B c E s + 2.553 = 1149 s 2 + 27s + 264 Note that the compensator has a low frequency real zero and two higher frequency poles. Thus it looks like a lead compensator. November 5, 21

Fall 21 16.3/31 15 11 Fig. 1: Simple plant compensator lead 2 1 rads/sec. Fig. 2: Loop transfer function L(s) shows the slope change near ω c = 5 rad/sec. Note that we have a large PM and GM. November 5, 21

Fall 21 16.3/31 15 12 Fig. 3: Freeze compensator poles and zeros; look at root locus of closedloop poles versus an additional loop gain (nominally α = 1.) Fig. 4: Closed-loop transfer function. November 5, 21

Fall 21 16.3/31 15 13 Code: Dynamic Output Feedback Example 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 26 27 28 29 3 31 32 33 34 35 36 37 38 39 4 41 42 43 44 45 46 47 48 49 5 51 52 53 54 55 56 57 58 59 6 61 62 63 64 65 66 67 68 69 7 71 72 73 74 75 76 % Combined estimator/regulator design for a simple system % G= 1/(sˆ2+s+1) % Jonathan How % Fall 21 % %close all;clear all set(,'defaultlinelinewidth',2) set(,'defaultfigurecolor','none') set(,'defaultlinemarkersize',8);set(,'defaultlinemarkerface','b') set(, 'DefaultAxesFontSize', 12);set(, 'DefaultTextFontSize', 12); % a=[ 1; 1 1];b=[ 1]';c=[1 ];d=; k=acker(a,b,[ 4+4*j; 4 4*j]); l=acker(a',c',[ 1 11]')'; % % For state space for G c(s) % ac=a b*k l*c;bc=l;cc=k;dc=; G=ss(a,b,c,d); Gc=ss(ac,bc,cc,dc); f=logspace( 1,2,4); g=freqresp(g,f*j);g=squeeze(g); gc=freqresp(gc,f*j);gc=squeeze(gc); figure(1);clf;orient tall subplot(211) loglog(f,abs(g),f,abs(gc),' ');axis([.1 1e2.2 1e2]) xlabel('');ylabel('') legend('plant G','Compensator Gc','Location','East'); grid subplot(212) semilogx(f,18/pi*angle(g),f,18/pi*angle(gc),' '); axis([.1 1e2 2 5]) xlabel('');ylabel('');grid L=g.*gc; figure(2);clf;orient tall subplot(211) loglog(f,abs(l),[.1 1e2],[1 1]);axis([.1 1e2.2 1e2]) xlabel('');ylabel('') legend('loop L'); grid subplot(212) semilogx(f,18/pi*phase(l.'),[.1 1e2], 18*[1 1]); axis([.1 1e2 29 ]) xlabel('');ylabel('');grid % % loop dynamics L = G Gc % al=[a b*cc;zeros(2) ac]; bl=[zeros(2,1);bc]; cl=[c zeros(1,2)]; dl=; figure(3) rlocus(al,bl,cl,dl) % % closed loop dynamics % unity gain wrapped around loop L % acl=al bl*cl;bcl=bl;ccl=cl;dcl=d; % % scale closed loop to get zero SS error N=inv(ccl*inv( acl)*bcl) hold on;plot(eig(acl),'d','markerfacecolor','b');hold off grid on axis([ 25 5 15 15]) % % closed loop freq response % Gcl=ss(acl,bcl*N,ccl,dcl*N); gcl=freqresp(gcl,f*j);gcl=squeeze(gcl); November 5, 21

Fall 21 16.3/31 15 14 77 figure(4);clf 78 loglog(f,abs(g),f,abs(gcl),' '); 79 axis([.1 1e2.1 1e2]) 8 xlabel('');ylabel('') 81 legend('plant G','closed loop G {cl}');grid 82 title(['factor of N=',num2str(round(1*N)/1),' applied to Closed loop']) 83 84 figure(5);clf 85 margin(al,bl,cl,dl) 86 87 figure(1);export fig reg est1 pdf; 88 figure(2);export fig reg est2 pdf; 89 figure(3);export fig reg est3 pdf; 9 figure(4);export fig reg est4 pdf; 91 figure(5);export fig reg est5 pdf; 92 93 figure(6);clf 94 % new form on 16 7 95 bcl=[ b; b]; 96 N=inv(ccl*inv( acl)*bcl) 97 Gnew=ss(acl,bcl*N,ccl,dcl*N); 98 [yorig,t]=step(gcl,2.5); 99 [ynew]=step(gnew,t); 1 plot(t,yorig,t,ynew);setlines(2); 11 legend('original','new');grid on 12 ylabel('y');xlabel('time (s)') 13 figure(6);export fig reg est6 pdf; November 5, 21

Fall 21 16.3/31 15 15 Fig. 5: Example #1: G(s) = 8 14 2 (s+8)(s+14)(s+2) 1 G G c 1 1 1 1 1 1 2 1 3 5 5 1 G 15 G c 2 1 1 1 1 1 1 2 1 3 1 Loop L 1 2 1 1 1 1 1 1 2 1 3 5 1 15 2 25 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 16 5 Fig. 6: Example #1: G(s) = 8 14 2 (s+8)(s+14)(s+2) Bode Diagram Gm = 11 db (at 4.4 rad/sec), Pm = 69.7 deg (at 15.1 rad/sec) nitude (db) 5 1 15 9 18 27 36 1 1 1 1 1 1 2 1 3 1 2 1 1 Frequency (rad/sec) Plant G Gcl unscaled Gcl scaled 1 1 1 1 2 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 17 Fig. 7: Example #1: G(s) = 8 14 2 (s+8)(s+14)(s+2) Root Locus Imaginary Axis 15 1 5 5 1.7.56.42.28.82.91.975.975.91.82 14.14 12 1 8 6 4 2 2 4 6 8 1 12.7.56.42.28.14 15 14 15 1 5 5 1 Real Axis Root Locus 25.86.76.64.5.34.16 2 15.94 Imaginary Axis 1 5 5.985 4 3 2 1 1.985 15.94 2.86.76.64.5.34.16 25 5 45 4 35 3 25 2 15 1 5 Real Axis p closed-loop poles, o -- Plant poles, a Plant zeros, g Compensator poles, a Compensator zeros Two compensator zeros at -21.54±6.63j draw the two lower frequency plant poles further into the LHP. Compensator poles are at much higher frequency. Looks like a lead compensator. November 5, 21

Fall 21 16.3/31 15 18 Fig. 8: Example #2: G(s) = 2.94 s.297 1 G G c 1 1 1 1 1 1 2 1 3 5 5 1 G 15 G c 2 1 1 1 1 1 1 2 1 3 1 Loop L 1 2 1 1 1 1 1 1 2 1 3 5 1 15 2 25 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 19 5 Fig. 9: Example #2: G(s) =.94 s 2.297 Bode Diagram Gm = 11.8 db (at 7.41 rad/sec), Pm = 36.6 deg (at 2.76 rad/sec) nitude (db) 5 1 15 135 18 225 27 1 2 1 1 1 1 1 1 2 1 3 1 2 1 1 Frequency (rad/sec) Plant G Gcl unscaled Gcl scaled 1 1 1 1 2 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 2 Fig. 1: Example #2: G(s) = 2.94 s.297 Root Locus 15.82.7.56.42.28.14 1.91 Imaginary Axis 5.975 17.5 15 12.5 1 7.5 5 2.5 5.975 1.91.82.7.56.42.28.14 15 2 15 1 5 5 Real Axis Root Locus Imaginary Axis 2 1.5 1.5.64.76.86.94.985.5.34.161.75 1.5 1.25.75.5.25.985.25.5.5.94.75 1.86 1 1.25 1.5.76 1.5.64.5.34.161.75 2 2 1.5 1.5.5 1 1.5 2 Real Axis 1 p closed-loop poles, o -- Plant poles, a Plant zeros, g Compensator poles, a Compensator zeros Compensator zero at -1.21 draws the two lower frequency plant poles further into the LHP. Compensator poles are at much higher frequency. Looks like a lead compensator. November 5, 21

Fall 21 16.3/31 15 21 Fig. 11: Example #3: G(s) = 8 14 2 (s 8)(s 14)(s 2) 1 G G c 1 1 1 1 1 1 2 1 3 5 5 1 G 15 G c 2 1 1 1 1 1 1 2 1 3 1 Loop L 1 2 1 1 1 1 1 1 2 1 3 5 1 15 2 25 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 22 nitude (db) 5 5 1 15 2 135 18 225 27 315 Fig. 12: Example #3: G(s) = 8 14 2 (s 8)(s 14)(s 2) Bode Diagram Gm =.9 db (at 24.2 rad/sec), Pm = 6.67 deg (at 35.8 rad/sec) 36 1 1 1 1 1 1 2 1 3 1 4 1 2 1 1 Frequency (rad/sec) Plant G Gcl unscaled Gcl scaled 1 1 1 1 2 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 23 Fig. 13: Example #3: G(s) = 8 14 2 (s 8)(s 14)(s 2) Root Locus 2.76.64.5.34.16 15.86 1.94 Imaginary Axis 5 5.985.985 2 15 1 5 1.94 15.86.76.64.5.34.16 2 25 2 15 1 5 5 1 15 Real Axis Root Locus 25 2.64.76.5.34.16 2 15.86 15 Imaginary Axis 1 5 5 1.94.985.985.94 1 5 5 1 15.86 15 2.76 2.64.5.34.16 25 25 2 15 1 5 5 1 15 2 25 Real Axis p closed-loop poles, o -- Plant poles, a Plant zeros, g Compensator poles, a Compensator zeros Compensator zeros at 3.72±8.3j draw the two higher frequency plant poles further into the LHP. Lowest frequency one heads into the LHP on its own. Compensator poles are at much higher frequency. Not sure what this looks like. November 5, 21

Fall 21 16.3/31 15 24 Fig. 14: Example #4: G(s) = (s 1) (s+1)(s 3) 1 G G c 1 1 1 1 1 1 2 1 3 5 5 1 G 15 G c 2 1 1 1 1 1 1 2 1 3 1 Loop L 1 2 1 1 1 1 1 1 2 1 3 5 1 15 2 25 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 25 nitude (db) 2 2 4 6 8 12 Fig. 15: Example #4: G(s) = (s 1) (s+1)(s 3) Bode Diagram Gm = 3.4 db (at 4.57 rad/sec), Pm = 22.4 deg (at 1.41 rad/sec) 15 18 21 1 2 1 1 1 1 1 1 2 1 3 1 2 1 1 Frequency (rad/sec) Plant G Gcl unscaled Gcl scaled 1 1 1 1 2 1 1 1 1 1 1 2 1 3 November 5, 21

Fall 21 16.3/31 15 26 Fig. 16: Example #4: G(s) = Root Locus (s 1) (s+1)(s 3) 5 4.76.64.5.38.24.12 4 3 2.88 3 2 Imaginary Axis 1 1.97.97 1 1 2 3.88 2 3 4.76 4.64.5.38.24.12 5 5 4 3 2 1 1 2 Real Axis Root Locus 1 8.64.76.5.34.16 8 6.86 6 Imaginary Axis 4 2 2 4.94.985.985.94 4 2 2 4 6.86 6 8.76 8.64.5.34.16 1 1 8 6 4 2 2 4 6 8 1 Real Axis p closed-loop poles, o -- Plant poles, a Plant zeros, g Compensator poles, a Compensator zeros Compensator zero at -1 cancels the plant pole. Note the very unstable compensator pole at s = 9!! Needed to get the RHP plant pole to branch off the real line and head into the LHP. Other compensator pole is at much higher frequency. Note sure what this looks like. November 5, 21

Fall 21 16.3/31 15 27 B747 DOFB The previous B747 controller assumed full state feedback - would like to extend that now to consider output feedback using the output of the washout filtered yaw rate e To place the estimator poles, take the approach of just increasing the frequency of the LQR closed-loop poles by a factor of 2: λ d (A est ) = 2 λ(a lqr ) Then use pole placement to determine the estimator gains place.m 1 Gp=WashFilt*sys*H; 2 set(gp, 'statename', {'xwo' 'beta' 'yaw rate' 'roll' 'phi' 'xa'}); 3 set(gp, 'inputname', {'rudder inputs' 'aileron'},... 4 'outputname', {'filtered yaw rate' 'bank angle'}); 5 [Ap,Bp,Cp,Dp]=ssdata(Gp); 6 [Klqr,S,Elqr]=lqr(Ap,Bp(:,1),Cp(1,:)'*Cp(1,:),.1) 7 8 Eest=real(Elqr)*2+2*imag(Elqr)*sqrt( 1); 9 Kest=place(Ap',Cp(1,:)',Eest);Kest=Kest'; Note the transposes on the A and C here in the place command Yields the gains [ L est = 31.5 5.2985 7.854 122.6895 121.7798 54.858 ] Much larger that LQR gains because the poles are moving further November 5, 21

Fall 21 16.3/31 15 28 Now form DOFB compensator as before: 1 na=size(ap,1); 2 % Form compensator and closed loop 3 % see 15 5 4 ac=ap Bp(:,1)*Klqr Kest*Cp(1,:);bc=Kest;cc=Klqr;dc=; 5 Gc=ss(ac,bc,cc,dc); 6 % see 15 7 7 acl=[ap Bp(:,1)*cc; bc*cp(1,:) ac];bcl=[zeros(na,1);bc];ccl=[cpbeta,zeros(1,na)];dcl=; 8 Gcl=ss(acl,bcl,ccl,dcl); Consider the DOFB compensator for this system it is 6th order because the augmented plant is (4+1+1) G c pole-zero map and closed-loop poles shown 3 2 1 1 2 Gc zeros Gc poles 3 5 4 3 2 1 Root Locus 3 2 1 Imaginary Axis 1 2 3 5 4 3 2 1 Real Axis November 5, 21

Fall 21 16.3/31 15 29 Now consider the time response again to an initial perturbation in β: 1.8.6 OL LQR Gain DOFB.4.2 β.2.4.6.8 1 5 1 15 2 25 3 Time Time response looks good perhaps even better than LQR, but note that is not inconsistent as this DOFB might be using more control effort, and LQR balances that effort with the state cost 1.9.8.7 LQR x 2 DOFB x 2 LQR u 2 DOFB u 2 x 2 and u 2.6.5.4.3.2.1 2 4 6 8 1 Time November 5, 21

Fall 21 16.3/31 15 3 Code: B747 LQR, Estimator and DOFB 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 24 25 26 27 28 29 3 31 32 33 34 35 36 37 38 39 4 41 42 43 44 45 46 47 48 49 5 51 52 53 54 55 56 57 58 59 6 61 62 63 64 65 66 67 68 69 7 71 72 73 74 % B747 lateral dynamics % Jonathan How, Fall 21 % working from Matlab Demo called jetdemo clear all;%close all % A=[.558.9968.82.415;.598.115.318 ; 3.5.388.465 ;.85 1 ]; B=[.729 ;.475.775;.153.143; ]; C=[ 1 ; 1];D=[ ; ]; sys = ss(a,b,c,d); set(sys, 'inputname', {'rudder' 'aileron'},... 'outputname', {'yaw rate' 'bank angle'}); set(sys, 'statename', {'beta' 'yaw rate' 'roll rate' 'phi'}); [Yol,Tol]=initial(ss(A,B,[1 ],zeros(1,2)),[1 ]',[:.1:3]); [V,E]=eig(A) % % CONTROL actuator dynamics are a lag at 1 actn=1;actd=[1 1]; % H(s) in notes H=tf({actn ; 1},{actd 1;1 1}); % tau=3;washn=[1 ];washd=[1 1/tau]; % washout filter on yaw rate WashFilt=tf({washn ; 1},{washd 1;1 1}); % Gp=WashFilt*sys*H; set(gp, 'statename', {'xwo' 'beta' 'yaw rate' 'roll' 'phi' 'xa'}); set(gp, 'inputname', {'rudder inputs' 'aileron'},... 'outputname', {'filtered yaw rate' 'bank angle'}); [Ap,Bp,Cp,Dp]=ssdata(Gp); [Klqr,S,Elqr]=lqr(Ap,Bp(:,1),Cp(1,:)'*Cp(1,:),.1);rifd(Elqr) % % gain feedback on the filter yaw rate figure(1);clf rlocus(ap,bp(:,1), Cp(1,:),); sgrid([.1.2.3.4],[.7.8.9 1]);grid on;axis([ 1.4.1 1.2 1.2]) Kgain= 2; Egain=eig(Ap Bp(:,1)*Kgain*Cp(1,:));rifd(Egain) hold on;plot(egain+eps*sqrt( 1),'bd');hold off export fig b747 lqr1 pdf Cpbeta=[ 1 ]; % performance output variable Ggain=ss(Ap Bp(:,1)*Kgain*Cp(1,:),Bp,Cpbeta,); xp=[ 1 ]'; [Ygain,Tgain]=initial(Ggain,xp,Tol); %' figure(2);clf srl(ss(ap,bp(:,1),cp(1,:),)); sgrid([.1.2.3.4],[.7.8.9 1]) axis([ 1.25 1.25 1.25 1.25]);grid on hold on;plot(elqr+eps*sqrt( 1),'bd');hold off export fig b747 lqr2 pdf % close the LQR loop Acl=Ap Bp(:,1)*Klqr; Bcl=Bp(:,1); % choose output to just state beta and control u Ccl=[Cpbeta;Klqr]; Dcl=[;]; Glqr=ss(Acl,Bcl,Ccl,Dcl); [Y,T]=initial(Glqr,xp,Tol); %' figure(3);clf plot(tol,yol,t,y(:,1),tgain,ygain);axis([ 3 1 1]); setlines(2) legend('ol','lqr','gain') ylabel('\beta');xlabel('time') grid on export fig b747 lqr3 pdf % estimator poles made faster by jfactor November 5, 21

Fall 21 16.3/31 15 31 75 jfactor=2.5; 76 Eest=jfactor*Elqr; 77 Kest=place(Ap',Cp(1,:)',Eest);Kest=Kest'; 78 79 na=size(ap,1); 8 % Form compensator and closed loop 81 % see 15 5 82 ac=ap Bp(:,1)*Klqr Kest*Cp(1,:);bc=Kest;cc=Klqr;dc=; 83 Gc=ss(ac,bc,cc,dc); 84 % see 15 7 85 acl=[ap Bp(:,1)*cc; bc*cp(1,:) ac]; 86 bcl=[zeros(na,1);bc]; 87 % choose output to be state beta and control u 88 ccl=[cpbeta,zeros(1,na);zeros(1,na) cc]; 89 dcl=[;]; 9 Gcl=ss(acl,bcl,ccl,dcl); 91 92 figure(5);clf 93 [p,z]=pzmap(gc(1,1)); 94 plot(z+sqrt( 1)*eps,'mo','MarkerFace','m') 95 hold on 96 plot(p+sqrt( 1)*eps,'bs','MarkerFace','b') 97 hold off 98 legend('gc zeros','gc poles','location','northwest') 99 grid on;axis([ 5.5.5 3 3]) 1 export fig b747 lqr5 pdf 11 12 figure(4);clf 13 rlocus(gp(1,1)*gc);axis([ 5.5.5 3 3]) 14 hold on 15 [p,z]=pzmap(gp(1,1)); 16 plot(p+sqrt( 1)*eps,'rx','MarkerFace','r') 17 plot(z+sqrt( 1)*eps,'ro','MarkerFace','r') 18 [p,z]=pzmap(gc(1,1)); 19 plot(p+sqrt( 1)*eps,'mx','MarkerFace','m') 11 plot(z+sqrt( 1)*eps,'mo','MarkerFace','m') 111 p=eig(acl); 112 plot(p+sqrt( 1)*eps,'bd') 113 hold off 114 export fig b747 lqr4 pdf 115 116 % initial comp at zero 117 [Ycl,Tcl]=initial(Gcl,[xp;xp*],Tol); %' 118 119 figure(3);clf 12 plot(tol,yol,t,y(:,1),tgain,ygain,tcl,ycl(:,1));axis([ 3 1 1]); 121 setlines(2) 122 legend('ol','lqr','gain','dofb') 123 ylabel('\beta');xlabel('time') 124 grid on 125 export fig b747 lqr3a pdf 126 127 figure(6);clf 128 plot(t,y(:,1).ˆ2,tcl,ycl(:,1).ˆ2,t,y(:,2).ˆ2,tcl,ycl(:,2).ˆ2); 129 axis([ 1 1]); 13 hold off 131 setlines(2) 132 legend('lqr xˆ2','dofb xˆ2','lqr uˆ2','dofb uˆ2') 133 ylabel('xˆ2 and uˆ2');xlabel('time') 134 grid on 135 export fig b747 lqr3b pdf November 5, 21

Fall 21 16.3/31 15 32 Satellite Control Design Simple system model goal is to point payload device (J 2 =.1) using torque inputs on the larger spacecraft (J 1 = 1) Sensor is star tracker on payload (angle), and actuator is torque applied to spacecraft Can form the state space model using the state x = [ θ 2 θ 2 θ 1 θ 1 ] T 1bs + 1k Plant: G p (s) =, k =.1 and b =.5 s2 (s 2 + 11bs + 11k) Rigid body part easily controlled using a lead, such as 3s + 1 K lead (s) = 1.5 s + 5 1 2 1 2 Loop L 1 1 Plant G Compensator Gc 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 3 1 1 1 1 1 1 2 Root Locus 3.5.38.28.17.8 2.5.64 2 2.8 1.5 1 1.94.5 Imaginary Axis.94.5 1 1.8 1.5 2 2.64 2.5.5.38.28.17 3 2 1.5 1.5.5 1 Real Axis.8 November 5, 21

Fall 21 16.3/31 15 33 So problems with this non-collocated control is apparent the flexible modes are driven unstable by the lead controller The problem with the lightly damped poles is that the loop phase changes very rapidly get wrong departure angle for the root locus. Can improve the design using notch filtering The notch has a lightly damped zero pair at a frequency just below the resonant frequency of the system, resulting in a rapid phase change, but in the opposite direction. Result is that the departure angle now to the left, not the right. Fixes instability problem - but damping of the resonant pole is quite limited need to find a better location for the notch zeros. 1 2 1 2 Loop L 1 1 Plant G Compensator Gc 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 3 1 1 1 1 1 1 2 Root Locus 3.5.38.28.17.8 2.5.64 2 2.8 1.5 1 1 Imaginary Axis.94.5.94.5 1 1.8 1.5 2 2.64 2.5.5.38.28.17.8 3 2 1.5 1.5.5 1 Real Axis November 5, 21

Fall 21 16.3/31 15 34 Lets try to do it using DOFB nothing particularly complicated here in the weights 1 kk=.1;bb=.5*sqrt(kk/1);j1=1;j2=.1; 2 a=[ 1 ; kk/j2 bb/j2 kk/j2 bb/j2; 1;kk/J1 bb/j1 kk/j1 bb/j1];na=size(a,1); 3 b=[ 1/J1]';c=[1 ];d=; 4 k=lqr(a,b,c'*c,.1); 5 l=lqr(a',c',b*b',.1);l=l' 6 % 7 % For state space for G c(s) 8 % 9 ac=a b*k l*c;bc=l;cc=k;dc=; Look at the resulting DOFB controller - are the plant poles; the compensator zeros; are the compensator poles Root Locus are 3.78.64.5.34.18 2.5.87 2 Imaginary Axis 1.5 1.5.94.985 4 3.5 3 2.5 2 1.5 1.5.5.985 1 4 3.5 3 2.5 2 1.5 1.5 Real Axis So the DOFB controller puts zeros right near the plant poles similar to the notch filter ensures that the departure angle of the poles is to the left, not the right, so all the poles are stabilized. Appears to achieve much higher levels of damping in that pole than the classical/notch filter design did. November 5, 21

Fall 21 16.3/31 15 35 1 2 1 2 Loop L 1 1 Plant G Compensator Gc 1 1 1 1 1 1 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 2 3 1 1 1 1 1 1 2 1 2 1 1 Factor of N=1 applied to Closed loop Plant G closed loop G cl nitude (db) 1 1 2 Bode Diagram Gm = 1.87 db (at 1.89 rad/sec), Pm = 11.6 deg (at 1.49 rad/sec) 1 3 1 1 1 2 1 1 1 1 1 1 2 9 18 27 36 45 1 2 1 1 1 1 1 1 2 1 3 Frequency (rad/sec) November 5, 21

Fall 21 16.3/31 15 36 DOFB Summary Separation principle gives a very powerful and simple way to develop a dynamic output feedback controller Note that the designer now focuses on selecting the appropriate regulator and estimator pole locations. Once those and the implementation architecture (i.e., how reference input is applied, as on 15 5) are set, the closed-loop response is specified. Can almost consider the compensator to be a by-product. The examples show that the design process is extremely simple. November 5, 21

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