Nonovershooting output regulation for feedback linearisable MIMO systems
Extracted source text · arXiv 1910.07726
\documentclass[12pt,a4]{article}
\usepackage{graphicx}
\usepackage{epsfig}
\usepackage{psfrag}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{color}
\usepackage{bbm}
\textwidth= 169mm % 177mm
\textheight = 243mm % 227mm
\topmargin = -22mm
\oddsidemargin= -4mm %-9mm %-12mm % -9.4mm % fiddle with these till your text is centred on page
\evensidemargin= -4mm %-9mm % -12mm % -9.4mm %
\setlength{\parindent}{0pt}
%\input{probstat.tex}
\newtheorem{lemma}{Lemma}[section]
\newtheorem{theorem}{Theorem}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{definition}{Definition}[section]
\newtheorem{problem}{Problem}[section]
\newtheorem{example}{Example}[section]
\newtheorem{assumption}{Assumption}[section]
\newtheorem{algorithm}{\underline{Algorithm}}[section]
\newlength{\subtextwidth}
\setlength{\subtextwidth}{\textwidth}
\addtolength{\subtextwidth}{-2ex}
\newcommand{\fullwidthbox}[1]{\framebox[\textwidth]{\parbox{\subtextwidth}{#1}}}
\newcommand{\diag}{\operatorname{diag}}
\newcommand{\blkdiag}{\operatorname{blkdiag}}
\pagestyle{empty}
\def\proof{\noindent{\bf{\em Proof:}\ \ }}
\def\QED{\mbox{\rule[0pt]{1.5ex}{1.5ex}}}
\def\endproof{\hspace*{\fill}~\QED\par\endtrivlist\unskip}
%\textheight=25cm
%\textwidth=17cm
%\baselineskip=2pt
\normalbaselineskip=\baselineskip
\newenvironment{eqtarraya}{\begin {displaymath}%
\begin {array}{rcl@{\extracolsep{1cm}}l}}{\end{array}\end{displaymath}}
\newenvironment{eqtarrayb}{\begin {displaymath}%
\begin {array}{r@{\extracolsep{.1cm}}rcl}}{\end{array}\end{displaymath}}
\newenvironment{eqtarrayc}{\begin {displaymath}%
\begin {array}{llll@{\extracolsep{.5cm}}l}}{\end{array}\end{displaymath}}
\def\dsty{\displaystyle}
\def\tsquare{{\vcenter{\hbox{\vrule height7.5pt width7.5pt}}}}
\def\bsqr{\hfill$\tsquare$}
\def\grad{\hbox{\bf grad\,}}
\def\v0{\hbox{\bf 0}}
\def\va{\hbox{\bf a}}
\def\vb{\hbox{\bf b}}
\def\ve{\hbox{\bf e}}
\def\vf{\hbox{\bf f}}
\def\vg{\hbox{\bf g}}
\def\vi{\hbox{\bf i}}
\def\vj{\hbox{\bf j}}
\def\vk{\hbox{\bf k}}
\def\vn{\hbox{\bf n}}
\def\vp{\hbox{\bf p}}
\def\vq{\hbox{\bf q}}
\def\vr{\hbox{\bf r}}
\def\vs{\hbox{\bf s}}
\def\vu{\hbox{\bf u}}
\def\vv{\hbox{\bf v}}
\def\vw{\hbox{\bf w}}
\def\vx{\hbox{\bf x}}
\def\vy{\hbox{\bf y}}
\def\vz{\hbox{\bf z}}
\def\vB{\hbox{\bf B}}
\def\vC{\hbox{\bf C}}
\def\vE{\hbox{\bf E}}
\def\vF{\hbox{\bf F}}
\def\vG{\hbox{\bf G}}
\def\vI{\hbox{\bf I}}
\def\vL{\hbox{\bf L}}
\def\vM{\hbox{\bf M}}
\def\vN{\hbox{\bf N}}
\def\vP{\hbox{\bf P}}
\def\vR{\hbox{\bf R}}
\def\R{\hbox{\bf R}}
\def\vT{\hbox{\bf T}}
\def\vV{\hbox{\bf V}}
\def\vW{\hbox{\bf W}}
\def\vZ{\hbox{\bf Z}}
\def\N{\mbox{\BB N}}
\def\I{\mbox{\BB I}}
\def\Z{\mbox{\BB Z}}
\def\notin{\in\!\!\!\!\! / \,\,}
\def\quad{\hspace{1 cm}}
\def\qquad{\hspace{.5 cm}}
\def\nparvs{\vspace{0.15in}\noindent}
\def\iint{\int\!\!\!\int\relax}
\def\iiint{\int\!\!\!\int\!\!\!\int\relax}
\def\day{\partial}
\def\diag{\mbox{diag}}
\def\da{\downarrow}
\def\ua{\uparrow}
\def\ra{\rightarrow}
\def\la{\leftarrow}
\def\ra{\rightarrow}
\def\la{\leftarrow}
\def\longra{\longrightarrow}
\def\longla{\longleftarrow}
\def\lra{\leftrightarrow}
\def\Lra{\Leftrightarrow}
\def\longlra{\longleftrightarrow}
\def\Longlra{\Longleftrightarrow}
\def\np{\newpage}
\def\Ra{\Rightarrow}
\def\Longra{\Longrightarrow}
\def\Longla{\Longleftarrow}
\def\und{\underline}
\def\bn{\begin{enumerate}}
\def\en{\end{enumerate}}
\def\bq{\begin{eqnarray}}
\def\eq{\end{eqnarray}}
\def\bqn{\begin{eqnarray}}
\def\eqn{\end{eqnarray}}
\def\bqta{\begin{eqtarraya}}
\def\eqta{\end{eqtarraya}}
\def\bqtb{\begin{eqtarrayb}}
\def\eqtb{\end{eqtarrayb}}
\def\bqtc{\begin{eqtarrayc}}
\def\eqtc{\end{eqtarrayc}}
\def\be{\begin{equation}}
\def\ee{\end{equation}}
\def\bea{\begin{eqnarray}}
\def\eea{\end{eqnarray}}
\def\beann{\begin{eqnarray*}}
\def\eeann{\end{eqnarray*}}
\def\bsea{\begin{subeqnarray}}
\def\esea{\end{subeqnarray}}
\def\bmat{\left[ \begin{array}}
\def\emat{\end{array} \right]}
\def\nn{\nonumber}
\def\bd{\begin{displaymath}}
\def\ed{\end{displaymath}}
\def\bi{\begin{itemize}}
\def\ei{\end{itemize}}
\def\bem{\begin{em}}
\def\eem{\end{em}}
\newcommand{\real}{{\mathbb{R}}}
\def\dots{\hbox{ ...}}
\newcommand{\vect}[1]
{{ \bf#1}}
\newcommand {\set}[2]
{\{ #1 \, \colon \, #2\} }
\newcommand{\qn}[1]
{\itelatex ed.tex m[#1]}
\begin{document}
\title {Nonovershooting output regulation for feedback linearisable MIMO systems}
\author{Robert Schmid \thanks{Robert Schmid is with the Department of Electrical and Electronic Engineering, University of Melbourne. email: rschmid@unimelb.edu.au } }
\date{ \ }
\maketitle
\vspace{-1.5cm}
\begin{abstract} We consider the problem of designing a state feedback control law to achieve nonovershooting tracking for feedback linearisable multiple-input multiple-output nonlinear systems. The reference signal is assumed to be obtained from a linear exosystem. The design method adopts known methods for the nonovershooting tracking of linear systems and extends them to the output regulation of feedback linearisable nonlinear systems. The method accommodates arbitrary initial conditions and offers design choice of the tracking convergence speed.
\end{abstract}
\section{Introduction}
The problem of ensuring the system response tracks a desired reference signal with zero steady-state error and desirable transient performance is one of the classic problems of control systems theory. The twin performance of objectives of obtaining a rapid response while avoiding or minimising overshoot have traditionally been viewed as competing objectives, with control methods seeking a suitable trade-off between the two \cite{Chen-03}. The problem of entirely avoiding overshoot has most been considered for linear systems. The early works
\cite{Lin-97}-\cite{Bement-04} considered the step response of linear single-input single output (SISO) systems. The problem of avoiding overshoot in the step response of a multiple-input multiple output (MIMO) linear system was first considered in \cite{SN10}, and this was extended to the nonovershooting tracking of time-varying signals in \cite{SN14}. Recently \cite{Ntog-16} gave necessary and sufficient conditions for the existence of static state feedback controller to achieve a monotonic step response, for MIMO linear systems.
To date only a little consideration has been given to the problem of nonovershoot for nonlinear systems, the principal contributions being \cite{Krstic-06} and \cite{Zhu-13}. Both of these papers pointed to notable `gaps' in the linear control systems literature.
The authors of \cite{Krstic-06} contemplated approaching the problem of designing nonovershooting controllers for feedback linearisable systems \cite{Shastry-99} by first converting the nonlinear system into a linear system in chain of integrators form via a suitable coordinate change and feedback, and then using ''some standard linear technique'' to achieve a nonovershooting response. However the authors noted that the coordinate change would, in general, yield a non-zero initial condition, and (at their time of writing) the techniques available for linear systems assumed zero initial conditions. Thus the feedback linearization approach was not adopted in \cite{Krstic-06}. Instead the authors considered
nonlinear systems in strict feedback form with the first state as output, and employed a modified back-stepping technique to obtain a closed-loop system with a cascaded structure that was shown to have a nonovershooting response, if the feedback gains were chosen appropriately.
Continuing this line of research, the authors of \cite{Zhu-13} noted that converting the nonlinear system into chain-of-integrator normal form made the problem of avoiding overshoot relatively more challenging than for other conventional linear systems, as integrators are known to be an important source of overshoot. To address this problem, the authors combined the feedback linearisation method with a global coordinate transformation that they applied to the chain-of-integrators system. The problem of ensuring the error signal did not change sign
(and hence yield nonovershooting tracking) was shown to be equivalent to ensuring a certain closed-loop transfer function had a non-positive impulse response. For chain-of-integrator systems with relative degree of at most four, the authors established sets of feedback gains to ensure a nonovershooting response from an arbitrary initial condition.
The present work advances upon these two papers in several directions. Following the direction contemplated in \cite{Krstic-06} and utilised in \cite{Zhu-13}, we assume the system may be rendered in chain-of-integrators form by feedback linearisation; the resulting zero dynamics are also required to be stable. However, unlike \cite{Zhu-13}, we do not employ an additional coordinate change to the chain-of-integrators system. Instead we adapt the nonovershooting control methods of \cite{SN10} and \cite{SN14} to linear chain-of-integrator systems. These methods involve selecting candidate sets of closed-loop eigenvalues and applying simple analytic tests to determine the shape of the closed-loop system response arising from the specified initial condition. When the tests indicate a suitable set of closed-loop eigenvalues has been found, the pole-placing feedback matrix that delivers the nonovershooting response can easily be computed from Moore's method \cite{Moore76}. While \cite{Krstic-06} and \cite{Zhu-13} considered only SISO systems, the methods of \cite{SN10} and \cite{SN14} are presented for MIMO systems and hence our presentation will also be given in a MIMO setting.
The paper is organised as follows. In Section 2 we introduce the problem of nonovershooting output regulation for nonlinear systems, and present the system assumptions required for feedback linearisation. Section 3 revisits some results from \cite{SN10} and \cite{SN14} and adapts them to linear systems in chain-of-integrators form. Section 4 presents the main results of the paper on the controller design method. Section 5 considers an example system that was also considered in \cite{Krstic-06} and \cite{Zhu-13}, to enable comparisons of the design methods and their relative performance.
\section{Output regulation of feedback linearizable MIMO nonlinear systems}
We consider an affine nonlinear square MIMO system $\Sigma_{nonlin}$ in the form
\bea
\Sigma_{nonlin}:\; \left\{ \begin{array}{rcl}
\dot x & = & f(x) + g(x) u(x), \quad x_0 = x(0) \\
y & = & h(x)
\end{array} \right. \label{nonlineq}
\eea
where $x \in \real^n$, $u \in \real^p$, $y \in \R^p$, and $f$, $g$ and $h$ are smooth vector fields.
The problem of {\it nonovershooting output regulation} is to find a state feedback control law $u(x)$ that stabilizes the closed-loop system and ensures the system output tracks a reference signal $r \in \real^p$ without overshoot; thus $e(t) = r(t) - y(t) \rightarrow 0$ without changing sign in all components. We shall assume the reference signal is obtained as the output of a linear exosystem
\be
\Sigma_{exo}:\; \left\{
\begin{array}{rcl}
\dot{w}(t) & = & S\,w(t), \quad w_0=w(0) \\
r(t) & = & H w(t) \end{array} \right. \label{exosyseq}
\ee
where $w \in \real^m$ is the state of exosystem, and $(x_0,w_0)$ is an arbitrary known initial condition for the nonlinear system \eqref{nonlineq} with exosystem \eqref{exosyseq}.
\subsection{Normal forms for feedback linearizable MIMO systems}
Our methods will assume the system \eqref{nonlineq} is feedback linearizable by state feedback, so we briefly review the
standard assumptions needed to ensure the existence of suitable linearizing state feedback law exists \cite{Shastry-99}:
\begin{assumption} \label{Ass1}
The origin is an equilibrium point of \eqref{nonlineq}.
\end{assumption}
\begin{assumption} \label{Ass2}
The system \eqref{nonlineq} has a well-defined relative degree vector $(\gamma_1, \dots, \gamma_p)$, i.e. there exists $x_0 \in \R^n$ such that
\bn
\item
\bq
L_{g_i} L_f^k h_i(x) & \equiv & 0, \quad k \in \{0,1,\dots, \gamma_i -2\} \\
L_gL_f^{\gamma-1} h(x) & \neq & 0
\eq
where $g_i$ and $h_i$ are the $i$-th components of the vector fields $g$ and $h$, for $i \in \{1,\dots, p\}$.
\item The matrix
\be
A(x) = \left[ \begin{array}{ccc}
L_{g_1} L_f^{\gamma_1 -1} h_i & \dots & L_{g_p} L_f^{\gamma_1 -1} h_i \\
\vdots & \ddots & \vdots \\
L_{g_1} L_f^{\gamma_p -1} h_i & \dots & L_{g_p} L_f^{\gamma_p -1} h_i
\end{array}\right]
\ee
is nonsingular at $x= x_0$.
\en
\end{assumption}
Under these assumptions, there is neighbourhood $U$ of $x_0$ on which there exists a change of coordinates
\be
\left[ \begin{array}{c} T_1(x) \\
\hline
T_2(x) \end{array}\right]
= \left[ \begin{array}{c} \eta_1(x) \\
\vdots \\
\eta_{n-\gamma}(x) \\
\hline
\xi^1 \\
\vdots \\
\xi^p
\end{array}\right]
= \left[ \begin{array}{c} \eta \\
\hline
\xi \end{array}\right] \label{diffeo}
\ee
where $\gamma = \gamma_1 + \dots + \gamma_p$, $\frac{\day \eta_i}{\day x}g(x) = 0$ for $i \in \{1,\dots,n- \gamma\}$, and for each $j \in \{1,\dots, p\}$,
\be \xi^j = (\xi_1^j, \xi_2^j, \dots, \xi_{\gamma_j}^j)^T = (h_j(x), L_f h_j(x), \dots, L_f^{\gamma_j -1} h_j(x))^T
\ee
Applying the feedback linearizing control law
\be u = -A^{-1}(x) \left[\begin{array}{c}
L_f^{\gamma_1} h_1 \\
\vdots \\
L_f^{\gamma_p } h_p \end{array}\right] + A^{-1}(x) v \label{mimoulaw}
\ee
to \eqref{nonlineq} yields the linear closed-loop system in chain-of-integrator normal form coordinates
\be
\Sigma_{normal}:\; \left\{ \begin{array}{rcl}
\dot \eta & = & f_o(\eta, \xi) \\
\dot \xi & = & A_c \xi + B_c v, \quad \xi_0 = \xi(0) \label{normalsys} \\
y & = & C_c \xi
\end{array} \right.
\ee
where $\xi \in \R^\gamma$, $\eta \in \R^{n-\gamma}$, and $(A_c,B_c,C_c)$ is a decoupled MIMO chain-of-integrator system
in block diagonal form with \be
A_c = \blkdiag(A_1,\dots, A_{p}), \
B_c = \blkdiag(B_1,\dots, B_{p}), \
C_c = \blkdiag(C_1,\dots, C_{p}), \label{Brunsubsys}
\ee where, for each $j \in \{1,\dots,p\}$ each system is $(A_j,B_j,C_j)$ is a SISO chain-of-integrator system of order $\gamma_j$.
Finally we also require
\begin{assumption} \label{Ass3}
The zero dynamics $ \dot \eta = f_0(\eta,0)$ is stable.
\end{assumption}
\subsection{Nonovershooting output regulation for Linear systems}
For the case where \eqref{nonlineq} is an LTI system, we have
\bea
\Sigma_{lin}:\; \left\{ \begin{array}{lclc}
%\dot{x}(t) & = & A\,x(t) + B\,u(t) + E \,w(t), & \;\; \; x(0)=x_0 \\
\dot{x}(t) & = & A\,x(t) + B\,u(t) & \;\; \; x(0)=x_0 \\
y(t) & = & C\,x(t) & \\
\dot{w}(t) & = & S\,w(t), & \;\; \; w(0)=w_0 \\
%y(t) & = & C_y\,x(t) + D_{yw}\,w(t) & \\
%d(t) & = & E w(t) & \\
r(t) & = & H w(t) &
\end{array} \right. \label{Sigmae2}
\eea
For linear systems, the problem of {\it output regulation by linear state feedback} \cite{Saberi-SS-00} can be solved by finding a control input of the form
\bea
\label{claw}
u(t)=F\,x(t)+G \,w(t),
\eea
Here $F$ can be any matrix such that $A + B\,F$ is Hurwitz-stable. The matrices $\Gamma$ and $\Pi$ are obtained by solving the Sylvester equations
\bea
\Pi\,S & = & A\,\Pi+B\,\Gamma \label{Pi1}\\
0 & = & C\,\Pi +H \label{CPi2}
\eea
and finally $G = \Gamma-F\,\Pi$. Then $u$ as in (\ref{claw}) achieves output feedback regulation for $\Sigma_{lin}$. Additionally, in (\cite{SN14}, Theorem 3.1), it was shown that the control input \eqref{claw} yields a nonovershooting tracking response from $(x_0,w_0)$ provided the nominal system $\Sigma_{nom} $, defined by
\bea
\Sigma_{nom}:\; \left\{ \begin{array}{lclc}
\dot{\tilde{x}}(t) & = & A\,\tilde{x}(t) + B\,\tilde{u}(t), & \tilde x(0)= \tilde x_0 \\
\tilde e(t) & = & C\,\tilde{x}(t) &
\end{array} \right. \label{Sigmanom}
\eea
and subject to control input $\tilde u = F \tilde x$, has a nonovershooting response from initial condition $\tilde x_0 = x_0 - \Pi w_0$.
\cite{SN10} gave a range of results for obtaining a nonovershooting step response from an LTI system, and in the next section we adapt these to linear chain-of-integrator systems.
\section{Nonovershooting natural response for linear systems in chain-of-integrator normal form} \label{Brunsec}
We consider a $n$-th order LTI SISO system
\be
\left\{ \begin{array}{lcr}
\dot x(t) = A\,x(t)+B\,u(t),\;\; x(0)=x_0 \in \real^n, \hfill\cr
y(t)=C\,x(t),\hfill \end{array} \right.
\label{sys}
\ee
whose input-output map is a chain of integrators. Thus $A \in \real^{n \times n}$,
$B \in \real^{n \times 1}$, and $C \in \real^{1 \times n}$, with
\be
A = \left[ \begin{array}{ccccc}
0 & 1 & 0 & \dots & 0 \\
0 & 0 & 1 & \ddots & 0 \\
\vdots & \vdots & \ddots & \ddots & 0 \\
0 & 0 & \dots & 0 & 1 \\
0 & 0 & \dots & 0 & 0
\end{array} \right], \quad
B = \left[ \begin{array}{c}
0 \\
0 \\
\vdots \\
0 \\
1
\end{array} \right], \quad
C = \left[ \begin{array}{ccccc}
1 & 0 & 0 & \dots & 0
\end{array} \right] \label{ABCsys}
\ee
Our aim is to obtain a feedback matrix $F$ such that the state feedback
control law $u = Fx$ will ensure that the system natural response $y$ from $x_0$ converges to $ 0$ without overshoot.
% To do this we adapt the NOS algorithm of \cite{SN10}.
Firstly let ${\mathcal L} = \{ \lambda_1, \lambda_{2}, \dots, \lambda_n \} $ be a set of desired real stable closed-loop poles with $\lambda_1 < \lambda_2 < \dots < \lambda_n <0$, to be assigned by a state feedback matrix $F$. For each $i \in \{1,\dots, n\}$, we solve the Rosenbrock equation
\be
\left[ \begin{array}{cc}
A - \lambda_i I & B \\
C & 0 \end{array}
\right]
\left[ \begin{array}{c}
v_i \\
w_i \end{array}
\right]
= \left[ \begin{array}{c}
0 \\ 1 \end{array}
\right] \label{roseneq}
\ee
where $I$ is the $n \times n$ identity matrix and the zeros represent zero matrices of appropriate dimension.
Solving \eqref{roseneq}
yields vectors ${\mathcal V} = \{v_1, v_2, \dots, v_n \} \subset \real^n$ and eigendirections ${\mathcal W} = \{w_1, w_2, \dots, w_n \} \subset \real$ given by
\be
v_i = \left(
\begin{array}{c}
1 \\
\lambda_i \\
\lambda_i^2 \\
\vdots \\
\lambda_i^{n-1}
\end{array}
\right), \quad
w_i = \lambda_i^n. \label{viwieq}
\ee
We let $V = [ v_1 \ v_2 \ \dots \ v_n]$ and $W = [w_1 \ w_2 \ \dots \ w_n]$ and, following Moore's method \cite{Moore76}, obtain the feedback matrix
\be
F = WV^{-1} \label{Feq}
\ee
that ensures the eigenstructure of $A + BF$ consist of eigenvalues ${\mathcal L}$ and eigenvectors ${\mathcal V}$.
Introducing $\Lambda = \diag(\lambda_1, \dots, \lambda_n)$, and $\alpha = (\alpha_1, \dots, \alpha_n)^T = V^{-1}x_0 $ we see the natural response of the closed-loop system
\be
\left\{ \begin{array}{lcr}
\dot x(t) = (A+BF)x(t)\; \quad x(0)=x_0, \hfill\cr
y(t)=C\,x(t),\hfill \end{array} \right.
\label{sys}
\ee
is given by
\bq
y(t) &= & Ce^{(A+BF)t}x_0 \nn \\
& = & CVe^{\Lambda t}V^{-1}x_0 \nn \\
& = & \sum_{i=1}^n \ \alpha_i e^{\lambda_i t} \label{natresp}
\eq
since $Cv_i = 1$ for all $i$, from \eqref{roseneq}. Our next lemma provides a sufficient condition for $y$ to not change sign, for $t \geq 0$.
\begin{lemma} \label{NOSlemma}
For a desired set of real stable poles $\mathcal L$ and initial condition $x_0$, let the natural response $y$ of the closed-loop system be given by \eqref{natresp}. For $ k \in \{1, \dots, n-1\}$, we introduce
\be
c_k:= \left\{ \begin{array}{cc} 1 & \mbox{ if $a_k a_n < 0$} \\
0 & \mbox{ otherwise}
\end{array} \right. \label{ckdef}
\ee
and
\be
p(x_0, \mathcal L):= |\alpha_{n}| +(1-c_{n-1}) |\alpha_{n-1} | - \sum_{k=1}^{n-1} c_k |\alpha_{k}| \label{p0def}
\ee
Then $y(t) $ does not change sign for $t \geq 0$ if $p(x_0, \mathcal L) >0$.
\end{lemma}
\proof Assume $p(x_0, \mathcal L) >0$, and also that $\alpha_{n} >0$ and $ \alpha_{n-1} <0$. Then $c_{n-1} =1$, and for all $t \geq 0$, by \eqref{p0def}
\bq
-(\alpha_1 e^{\lambda_1 t} + \dots + \alpha_{n-1} e^{\lambda_{n-1} t})
& \leq & e^{\lambda_{n-1} t} \sum_{k=1}^{n-1} c_k |\alpha_{k}| \nn \\
& < & | \alpha_n| e^{\lambda_{n-1} t} \nn \\
& \leq & \alpha_n e^{\lambda_n t}
\eq
Hence
\be
0 < \alpha_1 e^{\lambda_1 t} + \alpha_2 e^{\lambda_2 t} + \dots + \alpha_n e^{\lambda_n t} =y(t)
\ee
Thus $y(t) >0$ for all $t \geq 0$, and hence does not change sign. The proof for $\alpha_{n} >0$ and $ \alpha_{n-1} >0$ is similar. Corresponding arguments hold when $\alpha_{n} <0$ . \endproof
In the Appendix, we give some more detailed discussion on how to choose suitable $\mathcal L$ for a given $x_0$, for systems with dimension $n= 2$ and $n =3$.
\section{Main Result}
Under Assumptions \ref{Ass1}-\ref{Ass3}, our task is to design a suitable control input $v$ in \eqref{normalsys} such that applying $ u $ in \eqref{mimoulaw} to \eqref{nonlineq} stabilizes the closed-loop dynamics and also ensures the output tracks the reference signal of \eqref{exosyseq} without overshoot. We propose the following algorithm for this problem:
\begin{algorithm} \label{mainalg}
\bn
\item For each chain-of-integrators subsystem $(A_j,B_j,C_j)$ of order $\gamma_j$ in \eqref{Brunsubsys}, obtain matrices $\Gamma_j$ and $\Pi_j$ satisfying
\bea
\Pi_j\,S & = & A_j\,\Pi+B_j\,\Gamma_j \label{Sylv1}\\
0 & = & C_j\,\Pi_j +H_j \label{Sylv2}
\eea
where $H_j$ denotes the $j$-th row of $H$ in \eqref{exosyseq}.
Let $\xi_0 = T_2(x_0)$ be decomposed as
\be \xi_0= ( \xi_0^1, \xi_0^2, \dots,\ \xi_0^p)^T
\label{Xi0}
\ee and compute, for each $ j \in \{1, \dots, p\}$,
\be \tilde{\xi}_0^j = \xi_0^j - \Pi_j w_0 \label{txi0j}
\ee
\item Let $\Sigma_{nom}^j$ be the nominal system in \eqref{Sigmanom} with respect to $(A_j,B_j,C_j)$, with initial condition $\tilde{\xi}_0^j $.
Select candidate closed-loop poles $\mathcal L_j = \{\lambda_1^j, \dots, \lambda_{\gamma_j}^j\}$ and solve \eqref{roseneq} to obtain eigenvectors $\mathcal V_j = \{v_1^j, v_2^j, \dots, v_n^j \}$. Compute $\alpha_j = V_j^{-1}\tilde{\xi}_0^j $ and test $p( \tilde{\xi}_0^j , \mathcal L_j) >0$. If the test fails, select alternative poles.
\item Use \eqref{Feq} to obtain the feedback matrix $F_j$, and compute $G_j = \Gamma_j-F_j\,\Pi_j$.
\item Combine $F = [ F_1^T \ F_2^T \ \dots \ F_p^T ]^T$ and $G = [ G_1^T \ G_2^T \ \dots \ G_p^T ]^T$ to obtain the control law
\be v = F\xi + Gw \label{vlaw}
\ee
and include $v$ in \eqref{mimoulaw} to obtain the feedback linearizing controller $u$.
\en
\end{algorithm}
Our main theorem sums up the controller design method:
\begin{theorem}
Assume the nonlinear system \eqref{nonlineq} meets Assumptions \ref{Ass1}-\ref{Ass3}. Let $r$ denote a reference signal obtained as the output of the linear exosystem \eqref{exosyseq}, and let $(x_0,w_0)$ be a known initial condition for \eqref{nonlineq}-\eqref{exosyseq}. Let $(\gamma_1, \dots, \gamma_p)$ be the relative degree vector of \eqref{nonlineq}, and let \eqref{normalsys} be its chain-of-integrator normal form under the coordinate change \eqref{diffeo}, with initial condition $\xi_0= T_2(x_0)$.
Assume that for each SISO subsystem $(A_j,B_j,C_j)$ of \eqref{normalsys}, where $j \in \{1,\dots,p\}$, the Sylvester matrix equations \eqref{Sylv1}-\eqref{Sylv2} admit solutions $\Gamma_j$ and $\Pi_j$. Further assume that for each subsystem with initial condition $\tilde \xi_0^j$ given by \eqref{txi0j}, there exist suitable sets of closed-loop poles $\mathcal L_j$ such that $p( \tilde{\xi}_0^j , \mathcal L_j) >0$. Finally, let $F$ and $G$ be constructed according to Steps 3 and 4 of Algorithm \ref{mainalg}. Then the feedback linearizing control law \eqref{mimoulaw}, with $v$ given by \eqref{vlaw}, yields nonovershooting output regulation for the system \eqref{nonlineq}-\eqref{exosyseq}, from initial condition $(x_0,w_0)$.
\end{theorem}
{\bf Proof} The decoupled structure of \eqref{normalsys} ensures that its $j$-th output component is the output of the $j$-th SISO subsystem $(A_j,B_j,C_j)$, which have been designed to be nonovershooting. Since the outputs of \eqref{nonlineq}-\eqref{exosyseq} under the control law $u$ exactly match those of \eqref{normalsys} under the control $v$, we see that nonovershooting output regulation is achieved.
\section{Examples}
{\bf Example 4.1}
We consider the system \eqref{nonlineq} with
\be
f(x) = \left[ \begin{array}{c} x_2 + x_1^2 \\
x_3 \\
x_4 \\
0
\end{array} \right], \
g(x) = \left[ \begin{array}{c} 0 \\
0 \\
0 \\
1
\end{array} \right], \
h(x) = x_1, \
x_0 = \left( \begin{array}{c}1 \\ 2 \\ -5 \\ -4\end{array}\right)
\label{ex1sys}
\ee
that was considered in \cite{Krstic-06} Example 3, and \cite{Zhu-13}, Example 2. The reference signal was $r(t) = \cos(t)$, which can be generated by the exosystem \eqref{exosyseq} with
\be
S= \bmat{cc} 0 & 1 \\ -1 & 0 \emat, \ H = \bmat{cc} 1 & 0\emat, \ \omega_0 = (1, 0)^T
\ee
The coordinate transformation
\be
\xi = T(x) = \left( \begin{array}{c}
x_1 \\
x_2 + x_1^2 \\
x_3 +2x_1(x_2+x_1^2) \\
x_4 + 2x_1x_3 +(2x_2+6x_1^2)(x_2+x_1^2)
\end{array}\right)
\ee
is globally singular, the relative degree is 4, and from \eqref{mimoulaw}, the linearizing control input \be
u(x) = -(24x_1^5 +40x_2x_3^3 + 10x_3x_1^2 +(2x_4+16x_2^2)x_1 + 6x_2x_3) + v \label{ex1ulaw}
\ee
renders the system into normal form coordinates \eqref{normalsys} with $(A_c,B_c,C_c)$ a fourth-order chain of integrator system. We apply Algorithm \ref{mainalg} as follows. In Step 1, we solve the Sylvester equations \eqref{Pi1}-\eqref{CPi2} yields
\be
\Pi = \bmat{cc}
1 & 0 \\
0 & 1 \\
-1 & 0 \\
0 & -1
\emat, \ \Gamma = \bmat{cc} 1 & 0 \emat
\ee
We design three feedback matrices for a nonovershooting system response from $x_0$ as follows
Assuming the non-zero initial condition $x_0 = (1, 2, -5, -4)^T$, we have
$\xi_0 = T(x_0) = (0, 2, -5, 4)^T$ and $\tilde{\xi}_0 = \xi_0 - \Pi w_0 = (-1, 2, -4, 4)^T$. In Step 2, we select closed-loop eigenvalues $\mathcal L$ with $\lambda_1 \in [-6.0 \ -4.5] $, $ \lambda_2 \in [-4.5 \ -3.0]$, $\lambda_3 \in [-3.0 \ -1.5]$ and $\lambda_4 \in [-1.5 \ 0 ]$, obtain $V$ from \eqref{viwieq} and compute $\alpha = V^{-1}\tilde \xi_0$. We use Lemma \ref{NOSlemma} to test the suitability of a given choice of $\mathcal L$. The choice
$\mathcal L_1 = \{ -4.847, \ -4.017, \ -2.432, \ -0.1032\}$ yields $\alpha =
( 0.2468, -0.3236, -0.7734, -0.1499)$, satisfying $p(x_0, \mathcal L) >0$. Moving to Step 3, we compute the
feedback and feedforward matrices $F_1 = -[ 4.89\ 51.6\ 42.2 \ 11.4 ]$ and $G_1 = [ -36.3 \ 40.2 ] $.
In Step 4 we form the control input $v_1$ in \eqref{vlaw}, and include it in \eqref{ex1ulaw} to obtain the control input $u_1$ for \eqref{ex1sys}.
To obtain faster convergence we also sought closed-loop eigenvalues $\mathcal L_2$ with $\lambda_1 \in [-12 \ -9] $, $ \lambda_2 \in [-9 \ -6 ]$, $\lambda_3 \in [-6 \ -3]$ and $\lambda_4 \in [-3 \ 0 ]$, and $\mathcal L_3$ with $\lambda_1 \in [-16 \ -12] $, $ \lambda_2 \in [-12 \ -8 ]$, $\lambda_3 \in [-8 \ -4]$ and $\lambda_4 \in [-4 \ 0 ]$. The selections $\mathcal L_2 = \{ -10.91, \ -6.55, \ -3.61, \ -2.73 \} $ and
$\mathcal L_3 = \{ -15.79, \ -10.20, \ -4.63, \ -3.67\}$ were found to yield $\alpha$ satisfying Lemma \ref{NOSlemma}, leading to control matrix pairs $F_2 = -[704 \ -625 -192 -23.8 ] $ and $G_2 = [ 513 \ 601] $; and finally $F_3 = -[2740\ 1780 \ 394 \ 34]$ and $G_3 = [ 2347 \ 1746]$.
\begin{figure}
\begin{tabular}{cc}
\includegraphics[height=5.5cm]{Ex1errors.pdf} & \
\includegraphics[height=5.5cm]{Ex1inputs.pdf} \\
(a) & (b)
\end{tabular}
\caption{(a) Tracking errors \ (b) Control inputs }
\label{Fig1}
\end{figure}
Figure \ref{Fig1}(a) shows the error signals $e_i = y_i - r$ arising from each of the three control inputs; we observe the error signals do not change sign and hence in each case we achieve a nonovershooting tracking response. The control input signals $u_i$ are shown in Figure \ref{Fig1}(b), including the control $u_0$ obtained from setting $v =0$. This input represents the control effort required to linearize the plant dynamics.
Compared with \cite{Krstic-06}, the advantages of the proposed method lies in its greater generality, being applicable to any feedback linearisable nonlinear system. Comparing with \cite{Zhu-13}, both methods assume the system is feedback linearizable into a chain-of-integrators normal form.
The method presented here involves the selection of candidate closed-loop eigenvalues from within specified subintervals of the negative real axis, and then testing them for suitability via Lemma \ref{NOSlemma}. Thus the method offers the designer a direct choice between convergence speed and the magnitude of the controller gains. Also the selection of the controller gains is apparently rather more straightforward than the methods proposed in \cite{Zhu-13}, as it does not involve any further coordinate transformation of the chain-of-integrators system. The author's own MATLAB implementation of Algorithm \ref{mainalg} on the chain-of-integrator system requires a modest 40 lines of code, and the search for the feedback matrix $F_1$ required 20 milliseconds of computation time.
\section*{Appendix}
Here we consider some refinements to the results of Section \ref{Brunsec} that are available when the chain of integrators system \eqref{ABCsys} are of second or third order. Firstly, assume the state matrices $(A_c,B_c,C_c) $ are of second order, and let ${\mathcal L} = \{ \lambda_1, \lambda_{2}\} $ be a set of candidate stable closed-loop poles with $\lambda_1 < \lambda_2 <0$. Solving the Rosenbrock equation \eqref{roseneq} yields matrices $V$, $W$ and $F$ in \eqref{Feq}. Letting $x_0 = (x_{01}, x_{02})^T$ be any initial condition, we obtain scalars $\alpha_1, \ \alpha_2$ such that
\be
\left[
\begin{array}{c}
\alpha_1 \\
\alpha_2 \\
\end{array}
\right] = V^{-1} x_0
= \frac{1}{D} \left[
\begin{array}{c}
\lambda_2 x_{01} - x_{02} \\
- \lambda_1 x_{01} + x_{02} \\
\end{array}
\right] \label{al1al2}
\ee
where $D = \lambda_2 - \lambda_1 >0$.
We introduce
\be
q(x_0,\mathcal L) := \alpha_1 \alpha_2 + \alpha_2^2 = \frac{x_{01}x_{02} - \lambda_1x_{01}^2 }{D}
\ee
By Lemma A.1 of \cite{SN10}, the system has a nonovershooting response from $x_0$ if $q(x_0,\mathcal L) > 0$. Thus if $x_0$ lies in the first or third quadrants of $\real^2$, we may chose any stable closed-loop poles.
If $x_0$ lies in the second or fourth quadrants, we may choose any $\lambda_2 <0$, but we must choose $\lambda_1 < \frac{x_{02}}{x_{01}}$.
Next assume the state matrices $(A_c,B_c,C_c) $ are of third order, let ${\mathcal L} = \{ \lambda_1, \lambda_{2},\lambda_3\} $ be a set of candidate stable closed-loop poles with $\lambda_1 < \lambda_2 < \lambda_3 <0$, and again obtain $V$, $W$ and $F$ in \eqref{Feq}. Letting $x_0 = (x_{01}, x_{02},x_{03})^T$ be any initial condition, we obtain scalars $\alpha_1, \ \alpha_2$, $\alpha_3$ such that
\be
\left(\begin{array}{c} \alpha_1 \\ \alpha_2 \\ \alpha_3 \end{array} \right)
= V^{-1} x_0
= \left(\begin{array}{c}
\dsty \frac{x_{03}\lambda_{2}\,x_{02}\lambda_{3}\,x_{02}+\lambda_{2}\,\lambda_{3}\,x_{01}}{\lambda_{1}^2\lambda_{2}\lambda_{3}}\\
\dsty -\frac{x_{03}\lambda_{1}\,x_{02}\lambda_{3}\,x_{02}+\lambda_{1}\,\lambda_{3}\,x_{01}}{\lambda_{1}\lambda_{2}^2\lambda_{3}}\\
\dsty \frac{x_{03}\lambda_{1}\,x_{02}\lambda_{2}\,x_{02}+\lambda_{1}\,\lambda_{2}\,x_{01}}{\lambda_{1}\lambda_{2}\lambda_{3}^2} \end{array}\right)
\ee
From Lemma \ref{NOSlemma}, \eqref{ckdef} and \eqref{p0def}
\bq
c_1 & = & \frac{f_1(x_0,\mathcal L)f_2(x_0,\mathcal L)
}{\left(\lambda_{1}-\lambda_{2}\right)\,{\left(\lambda_{1}-\lambda_{3}\right)}^2\,\left(\lambda_{2}-\lambda_{3}\right)} \\
c_2 & = &
-\frac{f_1(x_0,\mathcal L)f_3(x_0,\mathcal L)
}{\left(\lambda_{1}-\lambda_{2}\right)\,\left(\lambda_{1}-\lambda_{3}\right)\,{\left(\lambda_{2}-\lambda_{3}\right)}^2} \\
p(x_0,\mathcal L)
& = & \frac{\left|f_1(x_0,\mathcal L)\right|}{\left(\lambda_{1}-\lambda_{3}\right)\,\left(\lambda_{2}-\lambda_{3}\right)}-\frac{\left|f_3(x_0,\mathcal L)\right|\,\left(2\,c_{2}-1\right)}{\left(\lambda_{1}-\lambda_{2}\right(\,\left(\lambda_{2}-\lambda_{3}\right)} -\frac{c_{1}\,\left|f_2(x_0,
\mathcal L)\right|}{\left(\lambda_{1}-\lambda_{2}\right)\,\left(\lambda_{1}-\lambda_{3}\right)}
\eq
where \bq
f_1(x_0,\mathcal L) & = &
x_{03}-(\lambda_{1}+\lambda_{2})\,x_{02}+\lambda_{1}\,\lambda_{2}\,x_{01} \\
f_2(x_0,\mathcal L) & = &
x_{03}-(\lambda_{2}+\lambda_{3})\,x_{02}+\lambda_{2}\,\lambda_{3}\,x_{01} \\
f_3(x_0,\mathcal L) & = &
x_{03}-(\lambda_{1}+\lambda_{3})\,x_{02}+\lambda_{1}\,\lambda_{3}\,x_{01}
\eq
Thus to ensure a nonovershooting response from a given $x_0$, we need to find suitable $\mathcal L$ to satisfy the nonlinear inequality $p(x_0,\mathcal L) >0 $.
\bibliographystyle{plainnat}
\begin{thebibliography}{99}
\bibitem{Chen-03}
Chen B.M., Lee T.H., Peng K., and Venkataramanan V.
\newblock Composite nonlinear feedback control for linear systems with input saturation:
theory and an application.
\newblock \emph{IEEE Transactions on Automatic Control}, 48(3),427--439, 2003.
\bibitem{Lin-97}
Lin S.K., Fang C.J.
\newblock Nonovershooting and monotone nondecreasing step responses of a third order SISO linear system.
\newblock \emph{IEEE Transactions on Automatic Control}, 48(5), 1299--1303, 1997.
\bibitem{Darba-03}
Darbha S., Bhattacharyya S.P.
\newblock On the synthesis of controllers for a nonovershooting step response.
\newblock \emph{IEEE Transactions on Automatic Control}, 48(9), 797--799, 2003.
\bibitem{Bement-04}
Bement M., Jayasuriya S.
\newblock Use of state feedback to achieve a nonovershooting step response for a class of nonminimum phase systems.
\newblock\emph{Journal of dynamical systems, measurement and control}, 126, (2004) pp. 657--660.
\bibitem{SN10}
R.~Schmid and L.~Ntogramatzidis,
\newblock A unified method for the design of nonovershooting linear multivariable state-feedback tracking controllers,
\newblock {\em Automatica}, 46 (2010), pp.~312--321.
\bibitem{SN14}
R.~Schmid and L.~Ntogramatzidis,
\newblock Nonovershooting and nonundershooting exact output regulation,
{\it Systems \& Control Letters}, 70 (2014) pp. 30--37.
\bibitem{Ntog-16}
Ntogramatzidis, L., J-F. Tregouet, R. Schmid and A. Ferrante, Globally monotonic tracking control of multivariable systems, {\it IEEE Transactions on Automatic Control}, 61 (2016) pp. 2559--2564.
\bibitem{Krstic-06}
Krstic, M. and M. Bement, Nonovershooting control of
strict-feedback nonlinear systems. {\it IEEE Transactions on Automatic Control}, 51 (2006), pp.~1938–1943.
\bibitem{Zhu-13}
Zhu, B. and C. Zhao, Non-overshooting output tracking of feedback linearisable nonlinear systems,
{\it International Journal of Control}, 86, (2013), pp.~821--832.
\bibitem{Shastry-99}
S.~Shastry, Nonlinear systems: analysis, stability and control, Springer, 1999.
\bibitem{Moore76}
B.C.~Moore, On the Flexibility Offered by State Feedback in Multivariable systems Beyond Closed Loop Eigenvalue Assignment',
{\it IEEE Transactions on Automatic Control}, vol.~21(5),
pp.~689--692, 1976.
\bibitem{Saberi-SS-00}
A.~Saberi, A.~Stoorvogel and P.~Sannuti, Control of linear systems with regulation and
input constraints, {\em ser. Communications and Control Engineering}, Springer, 2000.
\end{thebibliography}
\end{document}
\section{Brunovsky systems} \label{Brun}
\bq
f_0(\eta,\xi) &= & \left. \frac{\day \eta}{\day x} f(x) \right|_{x = T^{-1}(z)} \\
v & = & \gamma(x)[u - \alpha(x)] \\
\gamma(x) & = & L_gL_f^{\gamma-1} h(x) \\
\alpha(x) & = & - \frac{L_f^\gamma h(x) }{ L_g L_f^{\gamma -1} h(x) }
\eq