Difference between revisions of "State Feedback"
(16 intermediate revisions by the same user not shown)  
Line 1:  Line 1:  
{{chheaderLinear SystemsState FeedbackOutput Feedback}}  {{chheaderLinear SystemsState FeedbackOutput Feedback}}  
−  This chapter describes how feedback can be used shape the local behavior of a system. The concept of reachability is introduced and used to investigate how to "design" the dynamics of a system through placement of its eigenvalues. In particular, it will be shown that under certain conditions it is possible to assign the system eigenvalues to arbitrary values by appropriate feedback of the system state.  +  This chapter describes how feedback can be used to shape the local behavior of a system. The concept of reachability is introduced and used to investigate how to "design" the dynamics of a system through placement of its eigenvalues. In particular, it will be shown that under certain conditions it is possible to assign the system eigenvalues to arbitrary values by appropriate feedback of the system state. 
{{chaptertable begin}}  {{chaptertable begin}}  
{{chaptertable left}}  {{chaptertable left}}  
== Textbook Contents ==  == Textbook Contents ==  
−  {{am05pdfam08statefbk  +  {{am05pdfam08statefbk28Sep12State Feedback}} 
* 1. Reachability  * 1. Reachability  
* 2. Stabilization by State Feedback  * 2. Stabilization by State Feedback  
+  ** Example: [[Vectored thrust aircraft#LQR state feedback designVectored thrust aircraft]]  
* 3. State Feedback Design Issues  * 3. State Feedback Design Issues  
* 4. Integral Action  * 4. Integral Action  
Line 35:  Line 36:  
\end{aligned}  \end{aligned}  
</amsmath></center>  </amsmath></center>  
−  is said to be ''reachable'' if we can find an input <  +  is said to be ''reachable'' if we can find an input <amsmath>u(t)</amsmath> defined on the interval <amsmath>[0, T]</amsmath> that can steer the system from a given final point <amsmath>x(0) = x_0</amsmath> to a desired final point <amsmath>x(T) = x_f</amsmath>. 
</p></li>  </p></li>  
Line 42:  Line 43:  
W_r = \left[\begin{matrix} B & AB & \cdots & A^{n1}B \end{matrix}\right].  W_r = \left[\begin{matrix} B & AB & \cdots & A^{n1}B \end{matrix}\right].  
</amsmath></center>  </amsmath></center>  
−  A linear system is reachable if and only if the reachability matrix <  +  A linear system is reachable if and only if the reachability matrix <amsmath>W_r</amsmath> is invertible (assuming a single intput/single output system). Systems that are not reachable have states that are constrained to have a fixed relationship with each other. 
</p></li>  </p></li>  
Line 62:  Line 63:  
\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>  </amsmath></center>  
−  A reachable linear system can be transformed into reachable canonical form through the use of a coordinate transformation <  +  A reachable linear system can be transformed into reachable canonical form through the use of a coordinate transformation <amsmath>z = T x</amsmath>. 
</p></li>  </p></li>  
Line 69:  Line 70:  
u = K x + k_r r  u = K x + k_r r  
</amsmath></center>  </amsmath></center>  
−  where <  +  where <amsmath>r</amsmath> is the reference value for the output. The closed loop dynamics for the system are given by 
<center><amsmath>  <center><amsmath>  
\dot x = (A  B K) x + B k_r r.  \dot x = (A  B K) x + B k_r r.  
</amsmath></center>  </amsmath></center>  
−  The stability of the system is determined by the stability of the matrix <  +  The stability of the system is determined by the stability of the matrix <amsmath>A  BK</amsmath>. The equilibrium point and steady state output (assuming the systems is stable) are given by 
<center><amsmath>  <center><amsmath>  
x_e = (ABK)^{1} B k_r r \qquad y_e = C x_e.  x_e = (ABK)^{1} B k_r r \qquad y_e = C x_e.  
</amsmath></center>  </amsmath></center>  
−  Choosing <  +  Choosing <amsmath>k_r</amsmath> as 
<center><amsmath>  <center><amsmath>  
k_r = {1}/\left(C (ABK)^{1} B\right).  k_r = {1}/\left(C (ABK)^{1} B\right).  
</amsmath></center>  </amsmath></center>  
−  gives <  +  gives <amsmath>y_e = r</amsmath>.</p></li> 
<li><p>If a system is reachable, then there exists a feedback law of the form  <li><p>If a system is reachable, then there exists a feedback law of the form  
Line 90:  Line 91:  
</p></li>  </p></li>  
−  <li><p>''Integral feedback'' can be used to provide zero steady state error instead of careful calibration of the gain <  +  <li><p>''Integral feedback'' can be used to provide zero steady state error instead of careful calibration of the gain <amsmath>K_r</amsmath>. An integral feedback controller has the form 
<center><amsmath>  <center><amsmath>  
u =  k_p (x  x_e)  k_i z + k_r r.  u =  k_p (x  x_e)  k_i z + k_r r.  
</amsmath></center>  </amsmath></center>  
where  where  
−  <center><  +  <center><amsmath> 
\dot z = y  r  \dot z = y  r  
−  </  +  </amsmath></center> 
−  is the integral error. The gains <  +  is the integral error. The gains <amsmath>k_p</amsmath>, <amsmath>k_i</amsmath> and <amsmath>k_r</amsmath> can be found by designing a stabilizing state feedback for the system dynamics augmented by the integrator dynamics. 
</p></li>  </p></li>  
Line 110:  Line 111:  
u = Q_u^{1} B^T P x.  u = Q_u^{1} B^T P x.  
</amsmath></center>  </amsmath></center>  
−  where <  +  where <amsmath>P \in R^{n \times n}</amsmath> is a positive definite, symmetric 
matrix that satisfies the equation  matrix that satisfies the equation  
<center><amsmath>  <center><amsmath>  
P A + A^T P  P B Q_u^{1} B^T P + Q_x = 0.  P A + A^T P  P B Q_u^{1} B^T P + Q_x = 0.  
</amsmath></center>  </amsmath></center>  
−  This equation is called the''algebraic  +  This equation is called the ''algebraic 
Riccati equation'' and can be solved numerically.  Riccati equation'' and can be solved numerically.  
</p></li>  </p></li>  
</ol>  </ol>  
−  == Exercises ==  +  {{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>State Feedback Exercises</ncl>  <ncl>State Feedback Exercises</ncl>  
== Frequently Asked Questions ==  == Frequently Asked Questions ==  
<ncl>State Feedback FAQ</ncl>  <ncl>State Feedback FAQ</ncl>  
== Errata ==  == Errata ==  
−  <ncl>State Feedback errata v2.  +  <ncl>State Feedback errata v2.11b</ncl> 
* [[:Category:State Feedback errataFull list of errata starting from first printing]]  * [[:Category:State Feedback errataFull 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 6.6: {{matlabfilestatefbksteering_place.m}}  
+  * Figure 6.7: {{matlabfilestatefbkpredprey_control.m}}, {{matlabfile.predprey.m}}, {{matlabfilestatefbkpredprey_rh.m}}  
+  * Figure 6.8: {{matlabfilestatefbksecord_stepresp.m}}  
+  * Figure 6.9: {{matlabfilestatefbksecord_bode.m}}  
+  * Figure 6.10: {{matlabfilestatefbkcompartment_statefbk.m}}  
+  * Figure 6.11: {{matlabfilestatefbkpvtol_lqr.m}}, {{matlabdirpvtol}}  
+  * Figure 6.12: {{matlabfilestatefbkbalance_place.m}}, {{matlabfile.balance_params.m}}  
+  * Figure 6.14: {{matlabfilestatefbkwebserver_control.m}}, {{matlabfile.apache_lin.m}}  
+  * Figure 6.15: {{matlabfilestatefbkcruise_integral.m}}, {{matlabfile.cruise_conpar.m}}, {{matlabfile.cruise_lin.m}}  
+  See the [[softwaresoftware page]] for more information on how to run these scripts.  
+  
== Additional Information ==  == Additional Information ==  
+  More information on optimal control and the linear quadratic regulator can be found in the {{obc}} supplement:  
+  * {{obc chlinkOptimal Control}}  
+  {{chaptertable end}} 
Latest revision as of 04:06, 19 November 2012
Prev: Linear Systems  Chapter 6  State Feedback  Next: Output Feedback 
This chapter describes how feedback can be used to shape the local behavior of a system. The concept of reachability is introduced and used to investigate how to "design" the dynamics of a system through placement of its eigenvalues. In particular, it will be shown that under certain conditions it is possible to assign the system eigenvalues to arbitrary values by appropriate feedback of the system state.
Textbook Contents

Lecture MaterialsSupplemental Information

Chapter Summary
This chapter describes how state feedback can be used to design the (closed loop) dynamics of the system:

A linear system with dynamics
is said to be reachable if we can find an input defined on the interval that can steer the system from a given final point to a desired final point .
The reachability matrix for a linear system is given by
A linear system is reachable if and only if the reachability matrix is invertible (assuming a single intput/single output system). Systems that are not reachable have states that are constrained to have a fixed relationship with each other.
A linear system of the form
is said to be in reachable canonical form. A system in this form is always reachable and has a characteristic polynomial given by
A reachable linear system can be transformed into reachable canonical form through the use of a coordinate transformation .
A state feedback law has the form
where is the reference value for the output. The closed loop dynamics for the system are given by
The stability of the system is determined by the stability of the matrix . The equilibrium point and steady state output (assuming the systems is stable) are given by
gives . If a system is reachable, then there exists a feedback law of the form
the gives a closed loop system with an arbitrary characteristic polynomial. Hence the eigenvalues of a reachable linear system can be placed arbitrarily through the use of an appropriate feedback control law.
Integral feedback can be used to provide zero steady state error instead of careful calibration of the gain . An integral feedback controller has the form
where
is the integral error. The gains , and can be found by designing a stabilizing state feedback for the system dynamics augmented by the integrator dynamics.
A linear quadratic regulator minimizes the cost function
The solution to the LQR problem is given by a linear control law of the form
where is a positive definite, symmetric matrix that satisfies the equation
This equation is called the algebraic Riccati equation and can be solved numerically.
Additional ExercisesThe following exercises cover some of the topics introduced in this chapter. Exercises marked with a * appear in the printed text.
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 InformationMore information on optimal control and the linear quadratic regulator can be found in the OptimizationBased Control supplement: 