Difference between revisions of "State Feedback"

From FBSwiki
Jump to: navigation, search
(Chapter Summary)
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{chheader|Linear Systems|State Feedback|Output Feedback}}
 
{{chheader|Linear Systems|State Feedback|Output 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 ==
{{am05pdf|am06-statefbk|16Sep06|State Feedback|}}
+
{{am05pdf|am08-statefbk|28Sep12|State Feedback}}
* 1. Introduction
+
* 1. Reachability
* 2. Reachability
+
* 2. Stabilization by State Feedback
* 3. Stabilization by State Feedback
+
** Example: [[Vectored thrust aircraft#LQR state feedback design|Vectored thrust aircraft]]
* 4. State Feedback Design Issues
+
* 3. State Feedback Design Issues
* 5. Integral Action
+
* 4. Integral Action
* 6. Linear Quadratic Regulators
+
* 5. Further Reading
* 7. Further Reading
+
* Exercises
* 8. Exercises
+
 
{{chaptertable right}}
 
{{chaptertable right}}
  
Line 22: 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/Controllability Controllability (reachability)], [http://en.wikipedia.org/wiki/State_space_%28controls%29#Feedback state feedback], [http://en.wikipedia.org/wiki/Optimal_control#Linear_quadratic_control LQR]
 
* Wikipedia entries: [http://en.wikipedia.org/wiki/Controllability Controllability (reachability)], [http://en.wikipedia.org/wiki/State_space_%28controls%29#Feedback state feedback], [http://en.wikipedia.org/wiki/Optimal_control#Linear_quadratic_control LQR]
 
* [[#Additional Information|Additional Information]]
 
* [[#Additional Information|Additional Information]]
Line 36: Line 36:
 
\end{aligned}
 
\end{aligned}
 
</amsmath></center>
 
</amsmath></center>
is said to be ''reachable'' if we can find an input <math>u(t)</math> defined on the interval <math>[0, T]</math> that can steer the system from a given final point <math>x(0) = x_0</math> to a desired final point <math>x(T) = x_f</math>.
+
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>
+
</p></li>
  
 
<li><p>The ''reachability matrix'' for a linear system is given by
 
<li><p>The ''reachability matrix'' for a linear system is given by
Line 43: Line 43:
 
W_r = \left[\begin{matrix} B & AB & \cdots & A^{n-1}B \end{matrix}\right].
 
W_r = \left[\begin{matrix} B & AB & \cdots & A^{n-1}B \end{matrix}\right].
 
</amsmath></center>
 
</amsmath></center>
A linear system is reachable if and only if the reachability matrix <math>W_r</math> 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 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>
+
</p></li>
  
 
<li><p>A linear system of the form
 
<li><p>A linear system of the form
Line 63: Line 63:
 
   \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>
A reachable linear system can be transformed into reachable canonical form through the use of a coordinate transformation <math>z = T x</math>.   
+
A reachable linear system can be transformed into reachable canonical form through the use of a coordinate transformation <amsmath>z = T x</amsmath>.   
</p>
+
</p></li>
  
 
<li><p>A state feedback law has the form
 
<li><p>A state feedback law has the form
Line 70: Line 70:
 
   u = -K x + k_r r
 
   u = -K x + k_r r
 
</amsmath></center>
 
</amsmath></center>
where <math>r</math> is the reference value for the output.  The closed loop dynamics for the system are given by
+
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 <math>A - BK</math>.  The equilibrium point and steady state output (assuming the systems is stable) are given by
+
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 = -(A-BK)^{-1} B k_r r \qquad y_e = C x_e.
 
     x_e = -(A-BK)^{-1} B k_r r \qquad y_e = C x_e.
 
</amsmath></center>
 
</amsmath></center>
Choosing <math>k_r</math> as
+
Choosing <amsmath>k_r</amsmath> as
 
<center><amsmath>
 
<center><amsmath>
 
   k_r = {-1}/\left(C (A-BK)^{-1} B\right).
 
   k_r = {-1}/\left(C (A-BK)^{-1} B\right).
 
</amsmath></center>
 
</amsmath></center>
gives <math>y_e = r</math>.</p>
+
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 89: Line 89:
 
</amsmath></center>
 
</amsmath></center>
 
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.
 
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.
</p>
+
</p></li>
  
<li><p>''Integral feedback'' can be used to provide zero steady state error instead of careful calibration of the gain <math>K_r</math>.  An integral feedback controller has the form
+
<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><math>
+
<center><amsmath>
 
\dot z = y - r
 
\dot z = y - r
</math></center>
+
</amsmath></center>
is the integral error.  The gains <math>k_p</math>, <math>k_i</math> and <math>k_r</math> can be found by designing a stabilizing state feedback for the system dynamics augmented by the integrator dynamics.
+
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>
+
</p></li>
  
 
<li><p>A ''linear quadratic regulator'' minimizes the cost function
 
<li><p>A ''linear quadratic regulator'' minimizes the cost function
Line 111: Line 111:
 
     u = -Q_u^{-1} B^T P x.
 
     u = -Q_u^{-1} B^T P x.
 
</amsmath></center>
 
</amsmath></center>
where <math>P \in R^{n \times n}</math> is a positive definite, symmetric
+
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>
+
</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 ==
 +
<ncl>State Feedback errata v2.11b</ncl>
 +
* [[:Category:State 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 6.6: {{matlabfile|statefbk|steering_place.m}}
 +
* Figure 6.7: {{matlabfile|statefbk|predprey_control.m}}, {{matlabfile|.|predprey.m}}, {{matlabfile|statefbk|predprey_rh.m}}
 +
* Figure 6.8: {{matlabfile|statefbk|secord_stepresp.m}}
 +
* Figure 6.9: {{matlabfile|statefbk|secord_bode.m}}
 +
* Figure 6.10: {{matlabfile|statefbk|compartment_statefbk.m}}
 +
* Figure 6.11: {{matlabfile|statefbk|pvtol_lqr.m}}, {{matlabdir|pvtol}}
 +
* Figure 6.12: {{matlabfile|statefbk|balance_place.m}}, {{matlabfile|.|balance_params.m}}
 +
* Figure 6.14: {{matlabfile|statefbk|webserver_control.m}}, {{matlabfile|.|apache_lin.m}}
 +
* Figure 6.15: {{matlabfile|statefbk|cruise_integral.m}}, {{matlabfile|.|cruise_conpar.m}}, {{matlabfile|.|cruise_lin.m}}
 +
See the [[software|software 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 chlink|Optimal 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

State Feedback (pdf, 28Sep12)

  • 1. Reachability
  • 2. Stabilization by State Feedback
  • 3. State Feedback Design Issues
  • 4. Integral Action
  • 5. Further Reading
  • Exercises

Lecture Materials

Supplemental Information

Chapter Summary

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

  1. A linear system with dynamics

    math

    is said to be reachable if we can find an input math defined on the interval math that can steer the system from a given final point math to a desired final point math.

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

    math

    A linear system is reachable if and only if the reachability matrix math 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.

  3. A linear system of the form

    math

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

    math

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

  4. A state feedback law has the form

    math

    where math is the reference value for the output. The closed loop dynamics for the system are given by

    math

    The stability of the system is determined by the stability of the matrix math. The equilibrium point and steady state output (assuming the systems is stable) are given by

    math

    Choosing math as

    math
    gives math.

  5. If a system is reachable, then there exists a feedback law of the form

    math

    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.

  6. Integral feedback can be used to provide zero steady state error instead of careful calibration of the gain math. An integral feedback controller has the form

    math

    where

    math

    is the integral error. The gains math, math and math can be found by designing a stabilizing state feedback for the system dynamics augmented by the integrator dynamics.

  7. A linear quadratic regulator minimizes the cost function

    math

    The solution to the LQR problem is given by a linear control law of the form

    math

    where math is a positive definite, symmetric matrix that satisfies the equation

    math

    This equation is called the algebraic Riccati equation and can be solved numerically.

Additional Exercises

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

More information on optimal control and the linear quadratic regulator can be found in the Optimization-Based Control supplement: