Difference between revisions of "Output Feedback"
(→Supplemental Information) 

(28 intermediate revisions by the same user not shown)  
Line 1:  Line 1:  
{{chheaderState FeedbackOutput FeedbackTransfer Functions}}  {{chheaderState FeedbackOutput FeedbackTransfer 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  +  {{am05pdfam08outputfbk28Sep12Output 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 QuestionsFrequently Asked Questions]]  * [[#Frequently Asked QuestionsFrequently Asked Questions]]  
+  * [[#ErrataErrata]]  
* Wikipedia entries: [http://en.wikipedia.org/wiki/State_observer State observer]  * Wikipedia entries: [http://en.wikipedia.org/wiki/State_observer State observer]  
* [[#Additional InformationAdditional Information]]  * [[#Additional InformationAdditional Information]]  
Line 30:  Line 31:  
<ol>  <ol>  
<li> <p> A linear system with dynamics  <li> <p> A linear system with dynamics  
−  <center>  +  <center><amsmath> 
−  {  +  \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}  
−  +  </amsmath></center>  
−  +  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>  
−  +  
−  +  
−  +  
−  </center>  +  
−  is said to be ''observable'' if we can determine the state of the system through measurements of the input <  +  
−  </p>  +  
<li><p>The ''observability matrix'' for a linear system is given by  <li><p>The ''observability matrix'' for a linear system is given by  
−  <center><  +  <center><amsmath> 
−  W_o =  +  W_o = \begin{bmatrix} C \\ CA \\ \vdots \\ C A^{n1} \end{bmatrix}. 
−  </  +  </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  
−  <center>  +  <center><amsmath> 
−  {  +  \begin{aligned} 
−  +  \frac{dz}{dt} &= \begin{bmatrix}  
−  +  
−  +  
−  +  
a_1 & 1 & 0 & \cdots & 0 \\  a_1 & 1 & 0 & \cdots & 0 \\  
a_2 & 0 & 1 & & 0\\  a_2 & 0 & 1 & & 0\\  
Line 64:  Line 56:  
a_{n1} & 0 & 0 & & 1 \\  a_{n1} & 0 & 0 & & 1 \\  
a_n & 0 & 0 & & 0\\  a_n & 0 & 0 & & 0\\  
−  \end{  +  \end{bmatrix} z+ \begin{bmatrix} 
b_1 \\ b_2 \\ \vdots \\ b_{n1} \\ b_n  b_1 \\ b_2 \\ \vdots \\ b_{n1} \\ b_n  
−  \end{  +  \end{bmatrix} u \\ 
−  +  y &= \begin{bmatrix}  
−  +  
−  +  
−  +  
1 & 0 & 0 \cdots & 0  1 & 0 & 0 \cdots & 0  
−  \end{  +  \end{bmatrix} z+ Du. 
−  </  +  \end{aligned} 
−  +  </amsmath></center>  
−  </center>  +  
is said to be in ''observable canonical form''. A system in this form is always observable and has a characteristic polynomial given by  is said to be in ''observable canonical form''. A system in this form is always observable and has a characteristic polynomial given by  
−  <center><  +  <center><amsmath> 
\det(sIA) = s^n+a_1 s^{n1} + \cdots + a_{n1}s + a_n,  \det(sIA) = s^n+a_1 s^{n1} + \cdots + a_{n1}s + a_n,  
−  </  +  </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  
−  <center><  +  <center><amsmath> 
\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> 
−  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  
−  <center>  +  <center><amsmath> 
−  {  +  \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}  
−  +  </amsmath></center>  
−  +  </p></li>  
−  +  
−  +  
−  </center>  +  
−  </p>  +  
<li><p>A discrete time, linear process with noise is given by  <li><p>A discrete time, linear process with noise is given by  
−  <center>  +  <center><amsmath> 
−  {  +  \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}  
−  +  </amsmath></center>  
−  +  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>  +  
−  where <  +  
−  <center><  +  
\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))  
−  </  +  </amsmath></center> 
where the observer gain satisfies  where the observer gain satisfies  
−  <center>  +  <center><amsmath> 
−  {  +  \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}  
−  +  </amsmath></center>  
−  +  This estimator is an example of a ''Kalman filter''.  
−  +  </p></li>  
−  +  
−  +  
−  +  
−  </center>  +  
−  </p>  +  
</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 errataFull 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: {{matlabfileoutputfbkcompartment_sim.m}}  
+  * Figure 7.6: {{matlabfileoutputfbksteering_obs.m}}  
+  * Figure 7.8: {{matlabfileoutputfbksteering_outputfbk.m}}  
+  * Figure 7.9: {{matlabfileoutputfbkpvtol_est.m}}, {{matlabdirpvtol}}  
+  * Figure 7.11: {{matlabfileoutputfbksteering_twodof.m}}, {{matlabfileoutputfbksteering_twopoint.m}}, {{matlabfileoutputfbksteering_makepath.m}}, {{matlabfileoutputfbksteering_basis.m}}  
+  See the [[softwaresoftware 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 chlinkStochastic Systems}}  
+  * {{obc chlinkKalman 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 OptimizationBased Control supplement: 