\(\newcommand{\footnotename}{footnote}\)
\(\def \LWRfootnote {1}\)
\(\newcommand {\footnote }[2][\LWRfootnote ]{{}^{\mathrm {#1}}}\)
\(\newcommand {\footnotemark }[1][\LWRfootnote ]{{}^{\mathrm {#1}}}\)
\(\let \LWRorighspace \hspace \)
\(\renewcommand {\hspace }{\ifstar \LWRorighspace \LWRorighspace }\)
\(\newcommand {\mathnormal }[1]{{#1}}\)
\(\newcommand \ensuremath [1]{#1}\)
\(\newcommand {\LWRframebox }[2][]{\fbox {#2}} \newcommand {\framebox }[1][]{\LWRframebox } \)
\(\newcommand {\setlength }[2]{}\)
\(\newcommand {\addtolength }[2]{}\)
\(\newcommand {\setcounter }[2]{}\)
\(\newcommand {\addtocounter }[2]{}\)
\(\newcommand {\arabic }[1]{}\)
\(\newcommand {\number }[1]{}\)
\(\newcommand {\noalign }[1]{\text {#1}\notag \\}\)
\(\newcommand {\cline }[1]{}\)
\(\newcommand {\directlua }[1]{\text {(directlua)}}\)
\(\newcommand {\luatexdirectlua }[1]{\text {(directlua)}}\)
\(\newcommand {\protect }{}\)
\(\def \LWRabsorbnumber #1 {}\)
\(\def \LWRabsorbquotenumber "#1 {}\)
\(\newcommand {\LWRabsorboption }[1][]{}\)
\(\newcommand {\LWRabsorbtwooptions }[1][]{\LWRabsorboption }\)
\(\def \mathchar {\ifnextchar "\LWRabsorbquotenumber \LWRabsorbnumber }\)
\(\def \mathcode #1={\mathchar }\)
\(\let \delcode \mathcode \)
\(\let \delimiter \mathchar \)
\(\let \LWRref \ref \)
\(\renewcommand {\ref }{\ifstar \LWRref \LWRref }\)
\(\newcommand {\intertext }[1]{\text {#1}\notag \\}\)
\(\newcommand {\mathllap }[2][]{{#1#2}}\)
\(\newcommand {\mathrlap }[2][]{{#1#2}}\)
\(\newcommand {\mathclap }[2][]{{#1#2}}\)
\(\newcommand {\mathmbox }[1]{#1}\)
\(\newcommand {\clap }[1]{#1}\)
\(\newcommand {\LWRmathmakebox }[2][]{#2}\)
\(\newcommand {\mathmakebox }[1][]{\LWRmathmakebox }\)
\(\newcommand {\cramped }[2][]{{#1#2}}\)
\(\newcommand {\crampedllap }[2][]{{#1#2}}\)
\(\newcommand {\crampedrlap }[2][]{{#1#2}}\)
\(\newcommand {\crampedclap }[2][]{{#1#2}}\)
\(\newenvironment {crampedsubarray}[1]{}{}\)
\(\newcommand {\crampedsubstack }{}\)
\(\newcommand {\smashoperator }[2][]{#2\limits }\)
\(\newcommand {\adjustlimits }{}\)
\(\newcommand {\SwapAboveDisplaySkip }{}\)
\(\require {extpfeil}\)
\(\Newextarrow \xleftrightarrow {10,10}{0x2194}\)
\(\Newextarrow \xLeftarrow {10,10}{0x21d0}\)
\(\Newextarrow \xhookleftarrow {10,10}{0x21a9}\)
\(\Newextarrow \xmapsto {10,10}{0x21a6}\)
\(\Newextarrow \xRightarrow {10,10}{0x21d2}\)
\(\Newextarrow \xLeftrightarrow {10,10}{0x21d4}\)
\(\Newextarrow \xhookrightarrow {10,10}{0x21aa}\)
\(\Newextarrow \xrightharpoondown {10,10}{0x21c1}\)
\(\Newextarrow \xleftharpoondown {10,10}{0x21bd}\)
\(\Newextarrow \xrightleftharpoons {10,10}{0x21cc}\)
\(\Newextarrow \xrightharpoonup {10,10}{0x21c0}\)
\(\Newextarrow \xleftharpoonup {10,10}{0x21bc}\)
\(\Newextarrow \xleftrightharpoons {10,10}{0x21cb}\)
\(\newcommand {\LWRdounderbracket }[3]{\mathinner {\underset {#3}{\underline {\llcorner {#1}\lrcorner }}}}\)
\(\newcommand {\LWRunderbracket }[2][]{\LWRdounderbracket {#2}}\)
\(\newcommand {\underbracket }[1][]{\LWRunderbracket }\)
\(\newcommand {\LWRdooverbracket }[3]{\mathinner {\overset {#3}{\overline {\ulcorner {#1}\urcorner }}}}\)
\(\newcommand {\LWRoverbracket }[2][]{\LWRdooverbracket {#2}}\)
\(\newcommand {\overbracket }[1][]{\LWRoverbracket }\)
\(\newcommand {\LaTeXunderbrace }[1]{\underbrace {#1}}\)
\(\newcommand {\LaTeXoverbrace }[1]{\overbrace {#1}}\)
\(\newenvironment {matrix*}[1][]{\begin {matrix}}{\end {matrix}}\)
\(\newenvironment {pmatrix*}[1][]{\begin {pmatrix}}{\end {pmatrix}}\)
\(\newenvironment {bmatrix*}[1][]{\begin {bmatrix}}{\end {bmatrix}}\)
\(\newenvironment {Bmatrix*}[1][]{\begin {Bmatrix}}{\end {Bmatrix}}\)
\(\newenvironment {vmatrix*}[1][]{\begin {vmatrix}}{\end {vmatrix}}\)
\(\newenvironment {Vmatrix*}[1][]{\begin {Vmatrix}}{\end {Vmatrix}}\)
\(\newenvironment {smallmatrix*}[1][]{\begin {matrix}}{\end {matrix}}\)
\(\newenvironment {psmallmatrix*}[1][]{\begin {pmatrix}}{\end {pmatrix}}\)
\(\newenvironment {bsmallmatrix*}[1][]{\begin {bmatrix}}{\end {bmatrix}}\)
\(\newenvironment {Bsmallmatrix*}[1][]{\begin {Bmatrix}}{\end {Bmatrix}}\)
\(\newenvironment {vsmallmatrix*}[1][]{\begin {vmatrix}}{\end {vmatrix}}\)
\(\newenvironment {Vsmallmatrix*}[1][]{\begin {Vmatrix}}{\end {Vmatrix}}\)
\(\newenvironment {psmallmatrix}[1][]{\begin {pmatrix}}{\end {pmatrix}}\)
\(\newenvironment {bsmallmatrix}[1][]{\begin {bmatrix}}{\end {bmatrix}}\)
\(\newenvironment {Bsmallmatrix}[1][]{\begin {Bmatrix}}{\end {Bmatrix}}\)
\(\newenvironment {vsmallmatrix}[1][]{\begin {vmatrix}}{\end {vmatrix}}\)
\(\newenvironment {Vsmallmatrix}[1][]{\begin {Vmatrix}}{\end {Vmatrix}}\)
\(\newcommand {\LWRmultlined }[1][]{\begin {multline*}}\)
\(\newenvironment {multlined}[1][]{\LWRmultlined }{\end {multline*}}\)
\(\let \LWRorigshoveleft \shoveleft \)
\(\renewcommand {\shoveleft }[1][]{\LWRorigshoveleft }\)
\(\let \LWRorigshoveright \shoveright \)
\(\renewcommand {\shoveright }[1][]{\LWRorigshoveright }\)
\(\newenvironment {dcases}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {dcases*}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {rcases}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {rcases*}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {drcases}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {drcases*}{\begin {cases}}{\end {cases}}\)
\(\newenvironment {cases*}{\begin {cases}}{\end {cases}}\)
\(\newcommand {\MoveEqLeft }[1][]{}\)
\(\def \LWRAboxed #1!|!{\fbox {\(#1\)}&\fbox {\(#2\)}} \newcommand {\Aboxed }[1]{\LWRAboxed #1&&!|!} \)
\( \newcommand {\LWRABLines }[1][\Updownarrow ]{#1 \notag \\}\newcommand {\ArrowBetweenLines }{\ifstar \LWRABLines \LWRABLines } \)
\(\newcommand {\shortintertext }[1]{\text {#1}\notag \\}\)
\(\newcommand {\vdotswithin }[1]{\hspace {.5em}\vdots }\)
\(\newcommand {\LWRshortvdotswithinstar }[1]{\vdots \hspace {.5em} & \\}\)
\(\newcommand {\LWRshortvdotswithinnostar }[1]{& \hspace {.5em}\vdots \\}\)
\(\newcommand {\shortvdotswithin }{\ifstar \LWRshortvdotswithinstar \LWRshortvdotswithinnostar }\)
\(\newcommand {\MTFlushSpaceAbove }{}\)
\(\newcommand {\MTFlushSpaceBelow }{\\}\)
\(\newcommand \lparen {(}\)
\(\newcommand \rparen {)}\)
\(\newcommand {\ordinarycolon }{:}\)
\(\newcommand {\vcentcolon }{\mathrel {\unicode {x2236}}}\)
\(\newcommand \dblcolon {\mathrel {\unicode {x2237}}}\)
\(\newcommand \coloneqq {\mathrel {\unicode {x2236}\!=}}\)
\(\newcommand \Coloneqq {\mathrel {\unicode {x2237}\!=}}\)
\(\newcommand \coloneq {\mathrel {\unicode {x2236}-}}\)
\(\newcommand \Coloneq {\mathrel {\unicode {x2237}-}}\)
\(\newcommand \eqqcolon {\mathrel {=\!\unicode {x2236}}}\)
\(\newcommand \Eqqcolon {\mathrel {=\!\unicode {x2237}}}\)
\(\newcommand \eqcolon {\mathrel {-\unicode {x2236}}}\)
\(\newcommand \Eqcolon {\mathrel {-\unicode {x2237}}}\)
\(\newcommand \colonapprox {\mathrel {\unicode {x2236}\!\approx }}\)
\(\newcommand \Colonapprox {\mathrel {\unicode {x2237}\!\approx }}\)
\(\newcommand \colonsim {\mathrel {\unicode {x2236}\!\sim }}\)
\(\newcommand \Colonsim {\mathrel {\unicode {x2237}\!\sim }}\)
\(\newcommand {\nuparrow }{\mathrel {\cancel {\uparrow }}}\)
\(\newcommand {\ndownarrow }{\mathrel {\cancel {\downarrow }}}\)
\(\newcommand {\bigtimes }{\mathop {\Large \times }\limits }\)
\(\newcommand {\prescript }[3]{{}^{#1}_{#2}#3}\)
\(\newenvironment {lgathered}{\begin {gathered}}{\end {gathered}}\)
\(\newenvironment {rgathered}{\begin {gathered}}{\end {gathered}}\)
\(\newcommand {\splitfrac }[2]{{}^{#1}_{#2}}\)
\(\let \splitdfrac \splitfrac \)
\(\newcommand {\mC }{\mathbb C}\)
\(\newcommand {\mR }{\mathbb R}\)
\(\newcommand {\mN }{\mathbb N}\)
\(\newcommand {\mZ }{\mathbb Z}\)
\(\newcommand {\mL }{\mathcal L}\)
\(\newcommand {\mF }{\mathcal F}\)
\(\newcommand {\ipd }[2]{\langle #1 , #2 \rangle }\)
\(\newcommand {\Ipd }[2]{\left \langle #1 , #2 \right \rangle }\)
\(\newcommand {\sbm }[1]{\left [\begin {smallmatrix}#1\end {smallmatrix}\right ]}\)
\(\newcommand {\bbm }[1]{\begin {bmatrix}#1\end {bmatrix}}\)
\(\newcommand {\re }{{\rm Re}}\)
\(\newcommand {\imag }{{\rm Im}}\)
\(\newcommand {\e }{{\rm e}}\)
\(\newcommand {\HS }{{\rm HS}}\)
\(\newcommand {\cl }{{\rm cl}}\)
\(\newcommand {\wt }{\widetilde {w}}\)
\(\newcommand {\zt }{\widetilde {z}}\)
\(\newcommand {\xu }{\underline {x}}\)
\(\newcommand {\uu }{\underline {u}}\)
\(\DeclareMathOperator {\vecc }{vec}\)
\(\DeclareMathOperator {\trace }{trace}\)
\(\)
Part II Control
Chapter 8 Control
We consider input-state-output systems with a state \(x:[0,\infty )\to \mR ^n\), external input \(w:[0,\infty )\to \mR ^{m_1}\), control input \(u:[0,\infty )\to \mR ^{m_2}\), performance output
\(z:[0,\infty )\to \mR ^{p_1}\) and measured output \(y:[0,\infty )\to \mR ^{p_2}\) described by
\(\seteqnumber{0}{8.}{0}\)
\begin{equation}
\label {eq:control:xzy} \dot {x}=Ax+B_1w+B_2u,\qquad z=C_1x+D_{11}w+D_{12}u,\qquad y=C_2x+D_{21}w+D_{22}u,
\end{equation}
with the initial condition \(x(0)=x^0\) where \(x^0\in \mR ^n\) and
\(\seteqnumber{0}{8.}{1}\)
\begin{gather}
\label {eq:control:ABCDmatrices} A\in \mR ^{n\times n},~ B_1\in \mR ^{n\times m_1},~ B_2\in \mR ^{n\times m_2},\notag \\ C_1\in \mR ^{p_1\times n},~ D_{11}\in \mR ^{p_1\times m_1},~ D_{12}\in \mR ^{p_1\times m_2},~
C_2\in \mR ^{p_2\times n},~ D_{21}\in \mR ^{p_2\times m_1}, D_{22}\in \mR ^{p_2\times m_2}.
\end{gather}
We are free to choose the control input \(u\). There are three typical forms that this can take:
-
• Full Information Feedback: \(u=F_1w+F_2x\) where \(F_1\in \mR ^{m_2\times m_1}\) and \(F_2\in \mR ^{m_2\times n}\);
-
• State Feedback: \(u=Fx\) where \(F\in \mR ^{m_2\times n}\);
-
• Output Feedback:
\[ \dot {x}_c=A_cx_c+B_cy,\qquad u=C_cx_c+D_cy, \]
where \(x_c:[0,\infty )\to \mR ^{n_c}\) is the controller state with initial condition \(x_c(0)=x_c^0\in \mR ^{n_c}\) and
\[ A_c\in \mR ^{n_c\times n_c},~B_c\in \mR ^{n_c\times p_2},~ C_c\in \mR ^{m_2\times n_c},~D_c\in \mR ^{m_2\times p_2}. \]
We obtain the closed-loop system by combining the equations (8.1) and the relevant feedback equation for \(u\). We can usually eliminate \(u\) from
consideration entirely as follows.
-
• For Full Information Feedback the closed-loop system is
\[ \dot {x}=(A+B_2F_2)x+(B_1+B_2F_1)w,\qquad z=(C_1+D_{12}F_2)x+\left (D_{11}+D_{12}F_1\right )w, \]
-
• for State Feedback the closed-loop system is
\[ \dot {x}=(A+B_2F)x+B_1w,\qquad z=(C_1+D_{12}F)x+D_{11}w, \]
-
• for Output Feedback with \(D_c=0\) the closed-loop system is
\[ \bbm {\dot {x}\\\dot {x}_c} =\bbm {A&B_2C_c\\B_cC_2&A_c+B_cD_{22}C_c}\bbm {x\\x_c} +\bbm {B_1\\B_cD_{21}}w,\qquad z=\bbm {C_1&D_{12}C_c}\bbm {x\\x_c}+D_{11}w. \]
(when \(D_c\neq 0\) but with \(I-D_{22}D_c\) invertible a similar but more complicated formula holds).
The objective for choosing \(u\) will be (some combination of) the following.
-
• (internal) Closed-loop Stability: if \(w=0\), then for all initial conditions \(x^0\) and \(x_c^0\), we have \(\lim _{t\to \infty }x(t)=0\) and \(\lim _{t\to \infty }x_c(t)=0\).
-
• Regulation: assuming that \(w\) is given by
\[ \dot {x}_e=A_ex_e,\qquad w=C_ex_e, \]
with the initial condition \(x_e(0)=x^0_e\in \mR ^{n_e}\) where
\[ A_e\in \mR ^{n_e\times n_e},~C_e\in \mR ^{m_1\times n_e}, \]
for all \(x^0\), \(x_c^0\) and \(x_e^0\) we have
\[ \lim _{t\to \infty }z(t)=0. \]
-
• \(H^2\) minimization: minimize
\[ \int _{-\infty }^\infty \|F_{zw}(\omega )\|^2_\HS \,d\omega , \]
where \(F_{zw}\) is the frequency response of the closed-loop system (from \(w\) to \(z\)) and \(\|\cdot \|_\HS \) denotes a certain norm on matrices (the Hilbert-Schmidt norm) or equivalently (by Plancherel’s Theorem) minimize
\[ \int _0^\infty \|h_{zw}(t)\|^2_\HS \,dt, \]
where \(h_{zw}\) is the impulse response of the closed-loop system (from \(w\) to \(z\)).
-
• \(H^\infty \) minimization: minimize
\[ \sup _{\omega \in \mR }\|F_{zw}(\omega )\|, \]
where \(F_{zw}\) is the frequency response of the closed-loop system (from \(w\) to \(z\)) and \(\|\cdot \|\) denotes a certain norm on matrices (the operator/spectral norm).
-
. For the \(H^\infty \) problem we will actually study only the suboptimal case: for a given
\(\gamma >0\) find a control of the relevant form which achieves
\[ \sup _{\omega \in \mR }\|F_{zw}(\omega )\|<\gamma . \]