Full-Order Observers

Similar documents
Pole Placement (Bass Gura)

Separation Principle & Full-Order Observer Design

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

Controllability and Observability

Lecture 7 and 8. Fall EE 105, Feedback Control Systems (Prof. Khan) September 30 and October 05, 2015

Note. Design via State Space

Lecture 2 and 3: Controllability of DT-LTI 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)

1. Find the solution of the following uncontrolled linear system. 2 α 1 1

EE451/551: Digital Control. Chapter 8: Properties of State Space Models

Chap 8. State Feedback and State Estimators

5. Observer-based Controller Design

Full State Feedback for State Space Approach

1 (30 pts) Dominant Pole

University of Toronto Department of Electrical and Computer Engineering ECE410F Control Systems Problem Set #3 Solutions = Q o = CA.

Advanced Control Theory

Extensions and applications of LQ

MEM 355 Performance Enhancement of Dynamical Systems

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

Control Systems Design

Review: control, feedback, etc. Today s topic: state-space models of systems; linearization

Robust Control 5 Nominal Controller Design Continued

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

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

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

Control System Design

State Space Design. MEM 355 Performance Enhancement of Dynamical Systems

Lecture 2: Discrete-time Linear Quadratic Optimal Control

CBE507 LECTURE III Controller Design Using State-space Methods. Professor Dae Ryook Yang

= 0 otherwise. Eu(n) = 0 and Eu(n)u(m) = δ n m

x(n + 1) = Ax(n) and y(n) = Cx(n) + 2v(n) and C = x(0) = ξ 1 ξ 2 Ex(0)x(0) = I

Control Systems. Design of State Feedback Control.

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

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

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

Chapter 3. State Feedback - Pole Placement. Motivation

Inverted Pendulum: State-Space Methods for Controller Design

5HC99 Embedded Vision Control. Feedback Control Systems. dr. Dip Goswami Flux Department of Electrical Engineering

Linear Quadratic Regulator (LQR) Design I

EE221A Linear System Theory Final Exam

ACM/CMS 107 Linear Analysis & Applications Fall 2016 Assignment 4: Linear ODEs and Control Theory Due: 5th December 2016

Lecture 18 : State Space Design

Math 3191 Applied Linear Algebra

Linear Estimation of Y given X:

Case Study: Space Flight and Control Systems

Module 07 Controllability and Controller Design of Dynamical LTI Systems

Chapter 4: The State Space and Numerical Simulation

Applied Matrix Algebra Lecture Notes Section 2.2. Gerald Höhn Department of Mathematics, Kansas State University

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

EEE582 Homework Problems

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

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science : Dynamic Systems Spring 2011

4F3 - Predictive Control

Linear Quadratic Regulator (LQR) I

Stability, Pole Placement, Observers and Stabilization

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

Linear Algebra Practice Problems

Control engineering sample exam paper - Model answers

EC Control Engineering Quiz II IIT Madras

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

CDS 101: Lecture 5-1 Reachability and State Space Feedback

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

Linear Algebra Review. Vectors

Identification Methods for Structural Systems

Lab 6a: Pole Placement for the Inverted Pendulum

Controls Problems for Qualifying Exam - Spring 2014

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

Linear Algebra and Matrices

MATH 304 Linear Algebra Lecture 10: Linear independence. Wronskian.

State Feedback MAE 433 Spring 2012 Lab 7

Chapter 5. Linear Algebra. A linear (algebraic) equation in. unknowns, x 1, x 2,..., x n, is. an equation of the form

Linear control of inverted pendulum

Observability. It was the property in Lyapunov stability which allowed us to resolve that

EK102 Linear Algebra PRACTICE PROBLEMS for Final Exam Spring 2016

Linear Algebra 1 Exam 1 Solutions 6/12/3

RECURSIVE ESTIMATION AND KALMAN FILTERING

Introduction to Modern Control MT 2016

Chapter 5. Linear Algebra. Sections A linear (algebraic) equation in. unknowns, x 1, x 2,..., x n, is. an equation of the form

CONTROL DESIGN FOR SET POINT TRACKING

Introduction to Matrix Algebra

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

Math Linear Algebra Final Exam Review Sheet

Intermediate Process Control CHE576 Lecture Notes # 2

Designing Information Devices and Systems II Spring 2018 J. Roychowdhury and M. Maharbiz Homework 7

Suppose that we have a specific single stage dynamic system governed by the following equation:

Multi-Model Adaptive Regulation for a Family of Systems Containing Different Zero Structures

Math 115 HW #10 Solutions

Introduction to Feedback Control

Linear Algebra: Matrix Eigenvalue Problems

ẋ n = f n (x 1,...,x n,u 1,...,u m ) (5) y 1 = g 1 (x 1,...,x n,u 1,...,u m ) (6) y p = g p (x 1,...,x n,u 1,...,u m ) (7)

Module 03 Linear Systems Theory: Necessary Background

SAMPLE SOLUTION TO EXAM in MAS501 Control Systems 2 Autumn 2015

Chap 3. Linear Algebra

LMI Methods in Optimal and Robust Control

AMS10 HW7 Solutions. All credit is given for effort. (-5 pts for any missing sections) Problem 1 (20 pts) Consider the following matrix 2 A =

Digital Workbook for GRA 6035 Mathematics

Control Systems. Laplace domain analysis

Some definitions. Math 1080: Numerical Linear Algebra Chapter 5, Solving Ax = b by Optimization. A-inner product. Important facts

Robotics. Control Theory. Marc Toussaint U Stuttgart

Math 315: Linear Algebra Solutions to Assignment 7

Transcription:

Full-Order Observers Problem: The previous design requires measurements of all of the system's states. Sometimes you only have access to a few states. Can you estimate the states based upon the inputs, outputs, and dynamics of the system? If so, you could use these estimates of the states for the full-state feedback controllers we looked at previously. U Plant Y Plant Model State Estimates Observer: Estimate the states based upon the input, output, and model of the plant Solution: Given a system with states X: sx = AX + BU Y = CX Define a model of the system with estimates of the states, X. Add a term based upon the error between the plant's output (Y) and it's estimate. sx = AX + BU + H Y Y Y = CX U sx X Y B C A Plant H B ^ ^ sx^ X Y C A Plant Model Plant along with it's model (observer) JSG 1 March 6, 217

Define the error between the states and their estimate: E = X X If you can drive the error to zero, you know that the estimates are the same as the states. Take the difference between the dynamics sx sx = (AX + BU) AX + BU H Y Y Do some algebra to find the dynamics of the error: s X X = A X X + BU BU H CX CX se = AE HCE se = (A HC)E Note what this says: Presumably, there is an initial condition on E. That just means your initial guess on the states will be wrong. If you can make (A - HC) stable, the error will be driven to zero. Furthermore, the error between the actual states and state estimates has no input - meaning this system is uncontrollable. That is actually good: the error goes to zero no matter what you do with the input. Problem: How to you select the gain matrix, H? Solution: Essentially, the problem is how to select the gain, H, so that the poles of (A-HC) at some desired spot: eig(a HC) = {λ 1, λ 2, λ 3,... } Note that the eigenvalues of A are identical to the eigenvalues of A T. Taking the transpose eig(a HC) T = {λ 1, λ 2, λ 3,... } eig(a T C T H T ) = {λ 1, λ 2, λ 3,... } This is identical to the previous problem of placing the poles of system (A, B) eig(a BK x ) = {λ 1, λ 2, λ 3,... } Likewise, you can use Bass-Gura to place the poles of (A T, C T ). The result (Kx) will actually be HT. Note that in order to use Bass-Gura, the controllability matrix must be full rank (i.e. the system must be controllable) JSG 2 March 6, 217

ρ[b, AB, A 2 B,, A N 1 B] = N Substituting (A T, C T ) for (A, B) results in ρ C T, A T C T, (A T ) N 1 C T = N Since the rank of a matrix is equal to the rank of the transpose of the matrix, ρ C CA CA 2. CA N 1 = N This is termed the observability matrix. The requirement for being able to estimate the system's states is that the system is observable. Once you're done, the system becomes sx = AX + BU sx = AX + BU + H Y Y Combining, the augmented system becomes: s X = X A HC A HC X + X B B Y = C X X U Example 1: Assume you can only measure the 4th state for a heat equation. Design a full-order observer to estimate all four states 2 1 sx = 1 2 1 1 2 1 X + 1 1 Y = 1 X 1 U Solution: First, check that the system is observable (i.e. that it can be done) JSG 3 March 6, 217

-->rank([c; C*A; C*A*A; C*A*A*A]) 4. Yup - the observability matrix is full rank. You can place the observer poles wherever you like. Place the observer poles at {-1, -2, -3, -4} -->H = ppl(a', C', [-1, -2, -3, -4])' 1. 2. 2. 3. -->eigc(a-h*c) - 1. - 2. - 4. - 3. The augmented system (plant plus observer) is then -->A8 = [A, zeros(4,4); H*C, A-H*C] - 2. 1... :.... 1. - 2. 1.. :..... 1. - 2. 1. :...... 1. - 1. :.... - - - - - - - - - - - - - - - - - - - - - - - - -... 1. : - 2. 1.. - 1.... 2. : 1. - 2. 1. - 2.... 2. :. 1. - 2. - 1.... 3. :.. 1. - 4. -->B8 = [B; B] B8 = 1.... - - - 1.... The poles of the augmented system are the poles of the plant (A) and the observer poles: -->eig(a8) JSG 4 March 6, 217

-.126148-4. - 3.532889-3. - 2.3472964-2. - 1. - 1. Note that the augmented system is uncontrollable: -->rank([b8,a8*b8,(a8^2)*b8,(a8^3)*b8,(a8^4)*b8,(a8^5)*b8,(a8^6)*b8,(a8^7)*b8]) 4. That's actually expected: the error in the observer states goes to zero regardless of what the input, U, does. The error in the observer estimates is uncontrollable. (that's good). To simulate, add a state to create the step input (U) U B sx X C Y A H B sx ^ ^ X C ^ Y A System for simulating the plant and observer. An additional integrator is used for U to allow initial conditions along with a step input. Simulate the following 8x8 system with initial conditions: s X X = A HC A HC X X Give it an initial condition (X =, estimate = [.2,.4,.6,.8] so you can see the error driven to zero) JSG 5 March 6, 217

>> X = [;;;;.2;.4;.6;.8] initial states on the plant - - - - -.2.4 initial states for the model.6.8 Output all eight states: >> C8 = eye(8,8); >> D8 = zeros(8,1); Simulate using the function step2: >> y = step2(a8, B8, C8, D8, X, t); >> plot(t,y); Plant states and their estimates. Note that the estimates converge to the plant states in about 4 seconds. eig( A - HC ) = { -1, -2, -3, -4 } JSG 6 March 6, 217

You can even make the observer poles complex if you like: -->H = ppl(a', C', [-1+j*3, -1-j*3, -3, -4])' 28. 28. 9. 2. -->A8 = [A, zeros(4,4); H*C, A-H*C] -->B8 = [B; B] >> C8 = eye(8,8); >> D8 = zeros(8,1); >> X = [;;;;.2;.4;.6;.8] >> y = step2(a8, B8, C8, D8, x, t); >> plot(t,y); Plant states and their estimates. Note that the estimates converge to the plant states in about 4 seconds. eig( A - HC ) = { -1 + j3, -1 - j3, -3, -4 } JSG 7 March 6, 217

Example 2: Gantry System Design a full-order observer for an inverted pendulum: s x θ sx sθ = 1 1 19.6 29.4 Option 1: Use measurement of angle (θ) x θ sx sθ x Y =θ= θ 1 sx sθ Check that the system is observable from angle: + 1 1 F -->A = [,,1,;,,,1;,19.6,,;,-29.4,,] -->C = [,1,,] -->rank([c; C*A; C*A*A; C*A*A*A]) 2. You cannot estimate all four states just by measuring only the angle. Option 2: Use measurements of position (x) Y = x = 1 x θ sx sθ -->A = [,,1,;,,,1;,19.6,,;,-29.4,,] -->C = [1,,,] 1.... -->rank([c; C*A; C*A*A; C*A*A*A]) 4. -->H = ppl(a', C', [-1, -2, -3, -4])' 1. - 12.44898 5.6-7.175512 JSG 8 March 6, 217

>> eig(a - H*C) -4. -3. -2. -1. >> A8 = [A, zeros(4,4) ; H*C, A-H*C ] plant model 1 : 1 : 19.6 : -29.4 : - - - - - - - - - - - - - - - - - - - - - - - - 1 : -1 1-12.4 : 12.4 1 5.6 : -5.6 19.6-7.1 : 7.1-29.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> X = [;;;;.2;.4;.6;.8] initial condition for the plant - - - - - - -.2.4 initial condistion for the estimator.6.8 >> X = [;;;;.2;.4;.6;.8] >> y = step2(a8, B8, C8, D8, X, t); >> plot(t,y); JSG 9 March 6, 217

States and their estimates: Note that the estimates converge to the plant's states in about 7 seconds with no overshoot eig(a - HC) = { -1, -2, -3, -4 } function Step2.m function [ y ] = step2( A, B, C, D, X, t) npt = length(t); [m,n] = size(c); y = zeros(npt, m); X = X; T = t(2) - t(1); Ad = expm(a*t); Bd = T*B; y(1,:) = (C*X + D)'; for i=2:npt X = Ad*X + Bd; Y = C*X + D; y(i,:) = Y'; end end JSG 1 March 6, 217