Difference between revisions of "Output Feedback"

From FBSwiki
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 37: Line 37:
 
\end{aligned}
 
\end{aligned}
 
</amsmath></center>
 
</amsmath></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>.
+
is said to be ''observable'' if we can determine the state of the system through measurements of the input <amsmath>u(t)</amsmath> and the output <amsmath>y(t)</amsmath> over a time interval <amsmath>[0, T]</amsmath>.
 
</p></li>
 
</p></li>
  
Line 44: Line 44:
 
W_o = \begin{bmatrix} C \\ CA \\ \vdots \\ C A^{n-1} \end{bmatrix}.
 
W_o = \begin{bmatrix} C \\ CA \\ \vdots \\ C A^{n-1} \end{bmatrix}.
 
</amsmath></center>
 
</amsmath></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.
+
A linear system is observable if and only if the observability matrix <amsmath>W_o</amsmath> is full rank.  Systems that are not reachable have "hidden" states that cannot be determined by looking at the inputs and outputs.
 
</p></li>
 
</p></li>
  
Line 68: Line 68:
 
   \det(sI-A) = s^n+a_1 s^{n-1} + \cdots + a_{n-1}s + a_n,
 
   \det(sI-A) = s^n+a_1 s^{n-1} + \cdots + a_{n-1}s + a_n,
 
</amsmath></center>
 
</amsmath></center>
An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation <math>z = T x</math>.   
+
An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation <amsmath>z = T x</amsmath>.   
 
</p></li>
 
</p></li>
  
Line 75: Line 75:
 
\frac{d\hat x}{dt} = A \hat x + B u + L(y - C \hat x)
 
\frac{d\hat x}{dt} = A \hat x + B u + L(y - C \hat x)
 
</amsmath></center>
 
</amsmath></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.
+
generates an estimate of the state that converges to the actual state if <amsmath>A - LC</amsmath> 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.
+
If a system is observable, then there exists a an ''observer gain'' <amsmath>L</amsmath> 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>
 
</p></li>
  
Line 95: Line 95:
 
\end{aligned}
 
\end{aligned}
 
</amsmath></center>
 
</amsmath></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
+
where <amsmath>v</amsmath> is a vector, white, Gaussian random process with mean 0, autocovariance <amsmath>R_w</amsmath>, <amsmath>w</amsmath> is a white, Guassian random process with mean 0, variance <amsmath>R_v</amsmath>.  We take the initial condition to be random with mean 0 and covariance <amsmath>P_0</amsmath>. The optimal estimator is given by
 
<center><amsmath>
 
<center><amsmath>
 
\hat x(k+1) = A \hat x(k) + B u(k) + L(y(k) - C \hat x(k))
 
\hat x(k+1) = A \hat x(k) + B u(k) + L(y(k) - C \hat x(k))
Line 111: Line 111:
 
</ol>
 
</ol>
  
== Homework ==
+
{{chaptertable begin}}
 +
{{chaptertable left}}
 +
 
 +
<!--
 +
== Additional Exercises ==  
 +
The following exercises cover some of the topics introduced in this chapter.  Exercises marked with a * appear in the printed text.
 
<ncl>Output Feedback Exercises</ncl>
 
<ncl>Output Feedback Exercises</ncl>
 +
-->
 
== Frequently Asked Questions ==
 
== Frequently Asked Questions ==
 
<ncl>Output Feedback FAQ</ncl>
 
<ncl>Output Feedback FAQ</ncl>
Line 119: Line 125:
 
* [[:Category:Output Feedback errata|Full list of errata starting from first printing]]
 
* [[:Category:Output Feedback errata|Full list of errata starting from first printing]]
 
* {{submitbug}}
 
* {{submitbug}}
 +
{{chaptertable right}}
 +
 +
== MATLAB code ==
 +
The following MATLAB scripts are available for producing figures that appear in this chapter.
 +
* Figure 7.4: {{matlabfile|outputfbk|compartment_sim.m}}
 +
* Figure 7.6: {{matlabfile|outputfbk|steering_obs.m}}
 +
* Figure 7.8: {{matlabfile|outputfbk|steering_outputfbk.m}}
 +
* Figure 7.9: {{matlabfile|outputfbk|pvtol_est.m}}, {{matlabdir|pvtol}}
 +
* Figure 7.11: {{matlabfile|outputfbk|steering_twodof.m}}, {{matlabfile|outputfbk|steering_twopoint.m}}, {{matlabfile|outputfbk|steering_makepath.m}}, {{matlabfile|outputfbk|steering_basis.m}}
 +
See the [[software|software page]] for more information on how to run these scripts.
 +
 
== Additional Information ==
 
== Additional Information ==
More information on two degree of freedom design techniques, trajectory generation and state space tracking can be found in the {{obc}} supplement:
 
* {{obc chlink|Trajectory Generation and Tracking}}
 
* {{obc chlink|Optimal Control}}
 
 
Additional information about Kalman filtering, including an introduction to stochastic processes in continuous and discrete time, is also available in the {{obc}} supplement:
 
Additional information about Kalman filtering, including an introduction to stochastic processes in continuous and discrete time, is also available in the {{obc}} supplement:
 
* {{obc chlink|Stochastic Systems}}
 
* {{obc chlink|Stochastic Systems}}
 
* {{obc chlink|Kalman Filtering}}
 
* {{obc chlink|Kalman Filtering}}
 +
{{chaptertable end}}

Latest revision as of 02:50, 29 October 2012

Prev: State Feedback Chapter 7 - Output Feedback Next: Transfer Functions

In the last chapter we considered the use of state feedback to modify the dynamics of a system through feedback. In many applications, it is not practical to measure all of the states directly and we can measure only a small number of outputs (corresponding to the sensors that are available). In this chapter we show how to use output feedback to modify the dynamics of the system, through the use of state estimators (also called "observers"). We introduce the concept of observability and show that if a system is observable, itis possible to recover the state from measurements of the inputs and outputs to the system.

Textbook Contents

Output Feedback (pdf, 28Sep12)

  • 1. Observability
  • 2. State Estimation
  • 3. Control Using Estimated State
  • 4. Kalman Filtering*
  • 5. State Space Control Systems
  • 6. Further Reading
  • Exercises

Lecture Materials

Supplemental Information

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

    math

    is said to be observable if we can determine the state of the system through measurements of the input math and the output math over a time interval math.

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

    math

    A linear system is observable if and only if the observability matrix math 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

    math

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

    math

    An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation math.

  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

    math

    generates an estimate of the state that converges to the actual state if math is has eigenvalues with negative real part. If a system is observable, then there exists a an observer gain 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.

  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

    math

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

    math

    where math is a vector, white, Gaussian random process with mean 0, autocovariance math, math is a white, Guassian random process with mean 0, variance math. We take the initial condition to be random with mean 0 and covariance math. The optimal estimator is given by

    math

    where the observer gain satisfies

    math

    This estimator is an example of a Kalman filter.

Frequently Asked Questions

Errata

MATLAB code

The following MATLAB 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

Additional information about Kalman filtering, including an introduction to stochastic processes in continuous and discrete time, is also available in the Optimization-Based Control supplement: