Difference between revisions of "Output Feedback"
(→Chapter Summary: updated equations to amsmath) |
|||
(26 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{chheader|State Feedback|Output Feedback|Transfer Functions}} | {{chheader|State Feedback|Output Feedback|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 | + | 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. |
{{chaptertable begin}} | {{chaptertable begin}} | ||
{{chaptertable left}} | {{chaptertable left}} | ||
== Textbook Contents == | == Textbook Contents == | ||
− | {{am05pdf| | + | {{am05pdf|am08-outputfbk|28Sep12|Output Feedback|}} |
* 1. Observability | * 1. Observability | ||
− | * 2. | + | * 2. State Estimation |
− | * 3. | + | * 3. Control Using Estimated State |
− | * 4. | + | * 4. Kalman Filtering* |
− | * 5. | + | * 5. State Space Control Systems |
* 6. Further Reading | * 6. Further Reading | ||
− | * | + | * Exercises |
{{chaptertable right}} | {{chaptertable right}} | ||
Line 21: | Line 21: | ||
== Supplemental Information == | == Supplemental Information == | ||
* [[#Frequently Asked Questions|Frequently Asked Questions]] | * [[#Frequently Asked Questions|Frequently Asked Questions]] | ||
+ | * [[#Errata|Errata]] | ||
* Wikipedia entries: [http://en.wikipedia.org/wiki/State_observer State observer] | * Wikipedia entries: [http://en.wikipedia.org/wiki/State_observer State observer] | ||
* [[#Additional Information|Additional Information]] | * [[#Additional Information|Additional Information]] | ||
Line 32: | Line 33: | ||
<center><amsmath> | <center><amsmath> | ||
\begin{aligned} | \begin{aligned} | ||
− | \dot x &= A x + B u &\quad x &\in {R}^n, u \in {R} \\ | + | \dot x &= A x + B u & \quad x &\in {R}^n, u \in {R} \\ |
y &= C x + D u & y &\in {R} | y &= C x + D u & y &\in {R} | ||
\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 < | + | 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> | + | </p></li> |
<li><p>The ''observability matrix'' for a linear system is given by | <li><p>The ''observability matrix'' for a linear system is given by | ||
Line 43: | 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 < | + | 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> | + | </p></li> |
<li><p>A linear system of the form | <li><p>A linear system of the form | ||
Line 67: | 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 < | + | An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation <amsmath>z = T x</amsmath>. |
− | </p> | + | </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 | <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 | ||
Line 74: | 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 < | + | 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'' < | + | 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> | + | </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 | <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 | ||
Line 85: | Line 86: | ||
\end{aligned} | \end{aligned} | ||
</amsmath></center> | </amsmath></center> | ||
− | </p> | + | </p></li> |
<li><p>A discrete time, linear process with noise is given by | <li><p>A discrete time, linear process with noise is given by | ||
Line 94: | Line 95: | ||
\end{aligned} | \end{aligned} | ||
</amsmath></center> | </amsmath></center> | ||
− | where < | + | 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 107: | Line 108: | ||
</amsmath></center> | </amsmath></center> | ||
This estimator is an example of a ''Kalman filter''. | This estimator is an example of a ''Kalman filter''. | ||
− | </p> | + | </p></li> |
</ol> | </ol> | ||
− | == | + | {{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> | ||
+ | == Errata == | ||
+ | <ncl>Output Feedback errata v2.11b</ncl> | ||
+ | * [[:Category:Output Feedback errata|Full list of errata starting from first printing]] | ||
+ | * {{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 == | ||
+ | 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|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 ContentsOutput Feedback (pdf, 28Sep12)
|
Lecture MaterialsSupplemental Information
|
Chapter Summary
This chapter describes how to estimate the state of a system through measurements of its inputs and outputs:
-
A linear system with dynamics
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
.
The observability matrix for a linear system is given by
A linear system is observable if and only if the observability matrix
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 of the form
is said to be in observable canonical form. A system in this form is always observable and has a characteristic polynomial given by
An observable linear system can be transformed into observable canonical form through the use of a coordinate transformation
.
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
generates an estimate of the state that converges to the actual state if
is has eigenvalues with negative real part. If a system is observable, then there exists a an observer gain
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.
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
A discrete time, linear process with noise is given by
where
is a vector, white, Gaussian random process with mean 0, autocovariance
,
is a white, Guassian random process with mean 0, variance
. We take the initial condition to be random with mean 0 and covariance
. The optimal estimator is given by
where the observer gain satisfies
This estimator is an example of a Kalman filter.
Frequently Asked Questions
Errata
|
MATLAB codeThe 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 InformationAdditional information about Kalman filtering, including an introduction to stochastic processes in continuous and discrete time, is also available in the Optimization-Based Control supplement: |