Difference between revisions of "Output Feedback"

From FBSwiki
Jump to navigation Jump to search
Line 28: Line 28:
 
:: Exercises
 
:: Exercises
 
}}
 
}}
 +
 +
== Chapter Summary ==
 +
 +
This chapter describes how to estimate the state of a system through measurements of its inputs and outputs:
 +
<ol>
 +
<li> <p> A linear system with dynamics
 +
<center><math>
 +
\begin{aligned}
 +
  \dot x &= A x + B u & \quad x &\in {R}^n, u \in {R} \\
 +
  y &= C x + D u & y &\in {R}
 +
\end{aligned}
 +
</math></center>
 +
is said to be ''observable'' if we can determine the state of the system through measurements of the input <math>u(t)</math> and the output <math>y(t)</math> over a time interval <math>[0, T]</math>.
 +
</p></li>
 +
 +
<li><p>The ''observability matrix'' for a linear system is given by
 +
<center><math>
 +
W_o = \begin{bmatrix} C \\ CA \\ \vdots \\ C A^{n-1} \end{bmatrix}.
 +
</math></center>
 +
A linear system is observable if and only if the observability matrix <math>W_o</math> is full rank.  Systems that are not reachable have "hidden" states that cannot be determined by looking at the inputs and outputs.
 +
</p></li>
 +
 +
<li><p>A linear system of the form
 +
<center><math>
 +
\begin{aligned}
 +
  \frac{dz}{dt} &= \begin{bmatrix}
 +
      -a_1 & 1 & 0 & \cdots & 0 \\
 +
      -a_2 & 0 & 1 &      & 0\\
 +
      \vdots \\
 +
      -a_{n-1} & 0 & 0 &  & 1 \\
 +
      -a_n & 0 & 0 &  & 0\\
 +
  \end{bmatrix} z+ \begin{bmatrix}
 +
      b_1 \\  b_2 \\  \vdots \\ b_{n-1}  \\  b_n
 +
  \end{bmatrix} u \\
 +
  y &= \begin{bmatrix}
 +
    1 & 0 & 0 \cdots & 0
 +
    \end{bmatrix} z+ Du.
 +
\end{aligned}
 +
</math></center>
 +
is said to be in ''observable canonical form''.  A system in this form is always observable and has a characteristic polynomial given by
 +
<center><math>
 +
  \det(sI-A) = s^n+a_1 s^{n-1} + \cdots + a_{n-1}s + a_n,
 +
</math></center>
 +
An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation <math>z = T x</math>. 
 +
</p></li>
 +
 +
<li><p>An ''observer'' is a dynamical system that estimates the state of another system through measurement of inputs and outputs.  For a linear system, the observer given by
 +
<center><math>
 +
\frac{d\hat x}{dt} = A \hat x + B u + L(y - C \hat x)
 +
</math></center>
 +
generates an estimate of the state that converges to the actual state if <math>A - LC</math> is has eigenvalues with negative real part.
 +
If a system is observable, then there exists a an ''observer gain'' <math>L</math> such that the observer error is governed by a linear differential equation with an arbitrary characteristic polynomial.  Hence the eigenvalues of the error dynamics for an observable linear system can be placed arbitrarily through the use of an appropriate observer gain.
 +
</p></li>
 +
 +
<li><p>A state feedback controller and linear observer can be combined to form a stabilizing controller for a reachable and observable linear system by using the estimate of the state in the feedback control law.  The resulting controller is given by
 +
<center><math>
 +
\begin{aligned}
 +
  \frac{d\hat x}{dt} &= A \hat x + B u + L(y - C \hat x) \\
 +
  u &= -K \hat x + K_r r
 +
\end{aligned}
 +
</math></center>
 +
</p></li>
 +
 +
<li><p>A discrete time, linear process with noise is given by
 +
<center><math>
 +
\begin{aligned}
 +
  x(k+1) &= A x(k) + B u(k) + v(k) &\quad x &\in R^n, u \in R \\
 +
  y(k) &= C x(k) + D u(k) + w(k) &  y &\in R
 +
\end{aligned}
 +
</math></center>
 +
where <math>v</math> is a vector, white, Gaussian random process with mean 0, autocovariance <math>R_w</math>, <math>w</math> is a white, Guassian random process with mean 0, variance <math>R_v</math>.  We take the initial condition to be random with mean 0 and covariance <math>P_0</math>. The optimal estimator is given by
 +
<center><math>
 +
\hat x(k+1) = A \hat x(k) + B u(k) + L(y(k) - C \hat x(k))
 +
</math></center>
 +
where the observer gain satisfies
 +
<center><math>
 +
\begin{aligned}
 +
  P(k+1) &= A^T P(k) A^T + R_v - A P(k)C^T(R_w + C P C^T)^{-1} C P^T(k) A^T \\
 +
  P(0) &= P_0 \\
 +
  L &= A^T P(k) C^T (R_w + C P C^T)^{-1}
 +
\end{aligned}
 +
</math></center>
 +
This estimator is an example of a ''Kalman filter''.
 +
</p></li>
 +
</ol>
 +
 +
{{Chapter footer}}

Revision as of 05:15, 7 October 2021

Prev: State Feedback Chapter 8 - Output Feedback Next: Transfer Functions
Outputfbk-firstpage.png

In this chapter we show how to use output feedback to modify the dynamics of the system through the use of observers. We introduce the concept of observability and show that if a system is observable, it is possible to recover the state from measurements of the inputs and outputs to the system. We then show how to design a controller with feedback from the observer state. A general controller with two degrees of freedom is obtained by adding feedforward. We illustrate by outlining a controller for a nonlinear system that also employs gain scheduling.

Contents

  1. Frequency Domain Modeling
  2. Determining the Transfer Function
    • Transmission of Exponential Signals
    • Transfer Functions for Linear Differential Equations
    • Time Delays and Partial Differential Equations
    • State Space Realizations of Transfer Functions
  3. Laplace Transforms
  4. Block Diagrams and Transfer Functions
    • Control System Transfer Functions
    • Algebraic Loops
  5. Zero Frequency Gain, Poles, and Zeros
    • Zero Frequency Gain
    • Poles and Zeros
    • Pole/Zero Cancellations
  6. The Bode Plot
    • Sketching and Interpreting Bode Plots
    • Poles and Zeros in the Right Half-Plane
    • System Insights from the Bode Plot
    • Determining Transfer Functions Experimentally
  7. Further Reading
Exercises


Chapter Summary

This chapter describes how to estimate the state of a system through measurements of its inputs and outputs:

  1. A linear system with dynamics

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \begin{aligned} \dot x &= A x + B u & \quad x &\in {R}^n, u \in {R} \\ y &= C x + D u & y &\in {R} \end{aligned} }

    is said to be observable if we can determine the state of the system through measurements of the input and the output over a time interval Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle [0, T]} .

  2. The observability matrix for a linear system is given by

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W_o = \begin{bmatrix} C \\ CA \\ \vdots \\ C A^{n-1} \end{bmatrix}. }

    A linear system is observable if and only if the observability matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle W_o} is full rank. Systems that are not reachable have "hidden" states that cannot be determined by looking at the inputs and outputs.

  3. A linear system of the form

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \begin{aligned} \frac{dz}{dt} &= \begin{bmatrix} -a_1 & 1 & 0 & \cdots & 0 \\ -a_2 & 0 & 1 & & 0\\ \vdots \\ -a_{n-1} & 0 & 0 & & 1 \\ -a_n & 0 & 0 & & 0\\ \end{bmatrix} z+ \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_{n-1} \\ b_n \end{bmatrix} u \\ y &= \begin{bmatrix} 1 & 0 & 0 \cdots & 0 \end{bmatrix} z+ Du. \end{aligned} }

    is said to be in observable canonical form. A system in this form is always observable and has a characteristic polynomial given by

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \det(sI-A) = s^n+a_1 s^{n-1} + \cdots + a_{n-1}s + a_n, }

    An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle z = T x} .

  4. An observer is a dynamical system that estimates the state of another system through measurement of inputs and outputs. For a linear system, the observer given by

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \frac{d\hat x}{dt} = A \hat x + B u + L(y - C \hat x) }

    generates an estimate of the state that converges to the actual state if Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle A - LC} is has eigenvalues with negative real part. If a system is observable, then there exists a an observer gain Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle L} such that the observer error is governed by a linear differential equation with an arbitrary characteristic polynomial. Hence the eigenvalues of the error dynamics for an observable linear system can be placed arbitrarily through the use of an appropriate observer gain.

  5. A state feedback controller and linear observer can be combined to form a stabilizing controller for a reachable and observable linear system by using the estimate of the state in the feedback control law. The resulting controller is given by

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \begin{aligned} \frac{d\hat x}{dt} &= A \hat x + B u + L(y - C \hat x) \\ u &= -K \hat x + K_r r \end{aligned} }

  6. A discrete time, linear process with noise is given by

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \begin{aligned} x(k+1) &= A x(k) + B u(k) + v(k) &\quad x &\in R^n, u \in R \\ y(k) &= C x(k) + D u(k) + w(k) & y &\in R \end{aligned} }

    where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle v} is a vector, white, Gaussian random process with mean 0, autocovariance Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle R_w} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle w} is a white, Guassian random process with mean 0, variance Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle R_v} . We take the initial condition to be random with mean 0 and covariance Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle P_0} . The optimal estimator is given by

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \hat x(k+1) = A \hat x(k) + B u(k) + L(y(k) - C \hat x(k)) }

    where the observer gain satisfies

    Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle \begin{aligned} P(k+1) &= A^T P(k) A^T + R_v - A P(k)C^T(R_w + C P C^T)^{-1} C P^T(k) A^T \\ P(0) &= P_0 \\ L &= A^T P(k) C^T (R_w + C P C^T)^{-1} \end{aligned} }

    This estimator is an example of a Kalman filter.


Teaching Materials

None available

Additional Exercises

None available

Frequently Asked Questions

None available

Errata

Python Code

The following Python scripts are available for producing figures that appear in this chapter.

See the software page for more information on how to run these scripts.

Additional Information