Difference between revisions of "State Feedback"
(→Chapter Summary) |
|||
(47 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| | + | {{am05pdf|am08-statefbk|28Sep12|State Feedback}} |
− | * 1. | + | * 1. Reachability |
− | * 2 | + | * 2. Stabilization by State Feedback |
− | + | ** Example: [[Vectored thrust aircraft#LQR state feedback design|Vectored thrust aircraft]] | |
− | * | + | * 3. State Feedback Design Issues |
− | * | + | * 4. Integral Action |
− | * | + | * 5. Further Reading |
− | + | * Exercises | |
− | * | + | |
{{chaptertable right}} | {{chaptertable right}} | ||
== Lecture Materials == | == Lecture Materials == | ||
* [[Lecture: State Feedback]] | * [[Lecture: State Feedback]] | ||
− | * [[# | + | * [[#Exercises|Additional Exercises]] |
== 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]] | ||
{{chaptertable end}} | {{chaptertable end}} | ||
− | |||
== Chapter Summary == | == Chapter Summary == | ||
This chapter describes how state feedback can be used to design the (closed loop) dynamics of the system: | This chapter describes how state feedback can be used to design the (closed loop) dynamics of the system: | ||
<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 &\quad y &\in R | |
− | + | \end{aligned} | |
− | + | </amsmath></center> | |
− | + | 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> | |
− | + | ||
− | + | ||
− | + | ||
− | </center> | + | |
− | is said to be ''reachable'' if we can find an input < | + | |
− | </p> | + | |
<li><p>The ''reachability matrix'' for a linear system is given by | <li><p>The ''reachability matrix'' for a linear system is given by | ||
− | <center>< | + | <center><amsmath> |
− | W_r = \left[\begin{matrix} | + | W_r = \left[\begin{matrix} B & AB & \cdots & A^{n-1}B \end{matrix}\right]. |
− | </ | + | </amsmath></center> |
− | A linear system is | + | 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>A state feedback law has the form | + | <li><p>A linear system of the form |
− | <center>< | + | <center><amsmath> |
− | + | \frac{dz}{dt}= | |
− | </ | + | \left[\begin{matrix} |
− | where < | + | -a_1 & -a_2 & -a_3 & \dots & -a_n \\ |
− | <center>< | + | 1 & 0 & 0 & \dots & 0 \\ |
− | \dot x = (A - B K) x + B | + | 0 & 1 & 0 & \dots & 0 \\ |
− | </ | + | \vdots & & \ddots & \ddots & \vdots \\ |
− | The stability of the system is determined by the stability of the matrix < | + | 0 & & & 1 & 0\\ |
− | <center>< | + | \end{matrix}\right] z+ \left[\begin{matrix} |
− | x_e = -(A-BK)^{-1} B | + | 1 \\ 0 \\ 0 \\ \vdots \\ 0 |
− | </ | + | \end{matrix}\right] u |
− | Choosing < | + | </amsmath></center> |
− | <center>< | + | is said to be in ''reachable canonical form''. A system in this form is always reachable and has a characteristic polynomial given by |
− | + | <center><amsmath> | |
− | </ | + | \det(sI-A) = s^n+a_1 s^{n-1} + \cdots + a_{n-1}s + a_n, |
− | gives < | + | </amsmath></center> |
+ | 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> | ||
+ | |||
+ | <li><p>A state feedback law has the form | ||
+ | <center><amsmath> | ||
+ | u = -K x + k_r r | ||
+ | </amsmath></center> | ||
+ | where <amsmath>r</amsmath> is the reference value for the output. The closed loop dynamics for the system are given by | ||
+ | <center><amsmath> | ||
+ | \dot x = (A - B K) x + B k_r r. | ||
+ | </amsmath></center> | ||
+ | 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> | ||
+ | x_e = -(A-BK)^{-1} B k_r r \qquad y_e = C x_e. | ||
+ | </amsmath></center> | ||
+ | Choosing <amsmath>k_r</amsmath> as | ||
+ | <center><amsmath> | ||
+ | k_r = {-1}/\left(C (A-BK)^{-1} B\right). | ||
+ | </amsmath></center> | ||
+ | gives <amsmath>y_e = r</amsmath>.</p></li> | ||
+ | |||
+ | <li><p>If a system is reachable, then there exists a feedback law of the form | ||
+ | <center><amsmath> | ||
+ | u = -K x + k_r r | ||
+ | </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. | ||
+ | </p></li> | ||
+ | |||
+ | <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> | ||
+ | u = - k_p (x - x_e) - k_i z + k_r r. | ||
+ | </amsmath></center> | ||
+ | where | ||
+ | <center><amsmath> | ||
+ | \dot z = y - r | ||
+ | </amsmath></center> | ||
+ | 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> | ||
+ | |||
+ | <li><p>A ''linear quadratic regulator'' minimizes the cost function | ||
+ | <center><amsmath> | ||
+ | \tilde J = \int_0^\infty \left(x^T Q_x x + u^T Q_u u \right)\,dt. | ||
+ | </amsmath></center> | ||
+ | The solution to the LQR problem is given by a linear control law of | ||
+ | the form | ||
+ | <center><amsmath> | ||
+ | u = -Q_u^{-1} B^T P x. | ||
+ | </amsmath></center> | ||
+ | where <amsmath>P \in R^{n \times n}</amsmath> is a positive definite, symmetric | ||
+ | matrix that satisfies the equation | ||
+ | <center><amsmath> | ||
+ | P A + A^T P - P B Q_u^{-1} B^T P + Q_x = 0. | ||
+ | </amsmath></center> | ||
+ | This equation is called the ''algebraic | ||
+ | Riccati equation'' and can be solved numerically. | ||
+ | </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>State Feedback Exercises</ncl> | ||
== Frequently Asked Questions == | == Frequently Asked Questions == | ||
− | < | + | <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
|
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 Optimization-Based Control supplement: |