Chapter 8 Output regulation and disturbance rejection: the full information case I

We consider the input-state-output system with 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}\) and performance output \(z:[0,\infty )\to \mR ^{p_1}\) described by

\begin{equation} \label {eq:control:xz} \dot {x}=Ax+B_1w+B_2u,\qquad z=C_1x+D_{11}w, \end{equation}

with the initial condition \(x(0)=x^0\) where \(x^0\in \mR ^n\) and

\begin{equation} \label {eq:control:xzmatrices:reg} A\in \mR ^{n\times n},~ B_1\in \mR ^{n\times m_1},~ B_2\in \mR ^{n\times m_2},~ C_1\in \mR ^{p_1\times n},~ D_{11}\in \mR ^{p_1\times m_1}. \end{equation}

We assume that the external input \(w\) is generated by an exo-system

\[ \dot {x}_e=A_ex_e,\qquad w=C_ex_e, \]

with the initial condition \(x_e(0)=x_e^0\) where \(x_e^0\in \mR ^{n_e}\) and

\begin{equation} \label {eq:control:exo:reg} A_e\in \mR ^{n_e\times n_e},\qquad C_e\in \mR ^{m_1\times n_e}. \end{equation}

  • Remark 8.1. The two must common forms of an exo-system are the following. The first is:

    \[ n_e=m_1=1,\qquad A_e=0,\quad C_e=1, \]

    in which case we obtain \(w=x_e^0\), i.e. the external input \(w\) is constant. The second is:

    \[ n_e=2,~m_1=1,\qquad A_e=\bbm {0&1\\-\omega _e^2&0},\quad C_e=\bbm {1&0}, \]

    where \(\omega _e>0\) is given, which is the first order form of the second order equation \(\ddot {w}=-\omega _e^2w\) which means that the external input \(w\) is a sinusoid of frequency \(\omega _e\), i.e. \(w(t)=R\sin (\omega _e t-\varphi )\) for \(R\geq 0\) and \(\varphi \in \mR \).

    The reason for introducing the exo-system is that instead of working with functions (like sinusoids), we can work with matrices.

  • Definition 8.2. [Full information output regulation and disturbance rejection problem] The objective is to find a matrix

    \[ F\in \mR ^{m_2\times (n+n_e)}, \]

    such that with the control

    \[ u=F\bbm {x\\x_e}, \]

    the following two conditions are both satisfied:

    • 1. for all \(x^0\) and \(x_e^0\) we have \(\lim _{t\to \infty }z(t)=0\);

    • 2. for \(x_e^0=0\) and all \(x^0\) we have \(\lim _{t\to \infty }x(t)=0\).

    The first of these is the regulation requirement, the second is the stability requirement.

  • Remark 8.3. The output regulation problem has \(B_1=0\) and the disturbance rejection problem has \(D_{11}=0\).

  • Definition 8.4. For given matrices as in (8.2) and (8.3), the regulator equations are

    \[ A\Pi +B_1C_e+B_2V=\Pi A_e,\qquad C_1\Pi +D_{11}C_e=0, \]

    where the unknowns are

    \[ \Pi \in \mR ^{n\times n_e},\qquad V\in \mR ^{m_2\times n_e}. \]

  • Definition 8.5. The pair \((A,B)\) with \(A\in \mR ^{n\times n}\) and \(B\in \mR ^{n\times m}\) is called stabilizable if there exists a \(F\in \mR ^{m\times n}\) such that \(A+BF\) is asymptotically stable.

  • Theorem 8.6. Assume that \((A,B_2)\) is stabilizable and that the regulator equations have a solution \(\Pi \), \(V\). Let \(F_1\in \mR ^{m_2\times n}\) be such that \(A+B_2F_1\) is asymptotically stable. Then \(F=\bbm {F_1&V-F_1\Pi }\) solves the full information output regulation and disturbance rejection problem.

    Moreover, for all \(x^0\) and \(x_e^0\) we have \(\lim _{t\to \infty } x(t)-\Pi x_e(t)=0\).

  • Remark 8.7. Because of the stability requirement, stabilizability of \((A,B_2)\) is necessary for the full information output regulation and disturbance rejection problem to be solvable. If \(A_e\) has only eigenvalues with nonnegative real part (as is the case for the exo-systems in Remark 8.1), then solvability of the regulator equations is also necessary for the full information output regulation and disturbance rejection problem to be solvable.

  • Remark 8.8. The regulator equations do not necessarily have a unique solution (but any solution will give a solution of the full information output regulation and disturbance rejection problem).

8.1 Examples

  • Example 8.9. Consider the first order scalar differential equation

    \[ \dot {x}(t)+x(t)=u(t). \]

    The objective is to find a control \(u\) such that for a given \(r\in \mR \) we have \(\lim _{t\to \infty }x(t)=r\) no matter what \(x(0)\) is.

    To put this in the framework of the full information output regulation and disturbance rejection problem, define the performance output and exo-system

    \[ z=x-w,\qquad \dot {x}_e=0,\qquad w=x_e,\qquad x_e(0)=r. \]

    We then have \(w(t)=x_e(t)=r\) for all \(t\) so that \(z(t)=x(t)-r\) and the regulation requirement is that \(\lim _{t\to \infty }x(t)=r\) no matter what \(x(0)\) is.

    We have \(n=n_e=m_1=m_2=p_1=1\) and

    \[ A=-1,\quad B_1=0,\quad B_2=1,\quad C_1=1,\quad D_{11}=-1,\quad A_e=0,\quad C_e=1. \]

    The regulator equations are

    \[ -\Pi +V=0,\qquad \Pi -1=0. \]

    Hence \(\Pi =1\) and \(V=1\). Since \(A\) is asymptotically stable we can take \(F_1=0\). From Theorem 8.6 we have that (using that \(x_e=r\))

    \[ u=r, \]

    solves our problem.

    We explicitly check that this indeed works. Substituting \(u=r\) into the differential equation gives

    \[ \dot {x}(t)+x(t)=r, \qquad x(0)=x^0, \]

    which has solution \(x(t)=r+(x^0-r)\e ^{-t}\), which we see indeed satisfies \(\lim _{t\to \infty }x(t)=r\) no matter what \(x^0\) is.

    We note that with a general \(F_1\) we obtain

    \[ u=F_1x+\left (1-F_1\right )r, \]

    and substituting this into the differential equation gives

    \[ \dot {x}(t)+\left (1-F_1\right )x(t)=\left (1-F_1\right )r, \]

    which has general solution \(x(t)=r+(x^0-r)\e ^{-t(1-F_1)}\). Therefore if \(F_1\) is such that \(1-F_1>0\) (i.e. \(A+B_2F_1\) is asymptotically stable), then we again have \(\lim _{t\to \infty }x(t)=r\) no matter what \(x(0)\) is. We now have the freedom to choose \(F_1\) in such as a way as to make this convergence faster.