%\setcounter{chapter}{8}
\chapter{Vector Field Methods}
\begin{flushright}
\parbox{5in}{{\bf 1.} If your postage stamps get stuck together, place them in the freezer for an hour or two. They'll usually come apart and be usable.\\
{\bf 2.} To remove a stamp from an envelope for collecting purposes, put it in the freezer overnight; then take it out and slide a knife between it and the envelope.\\
{\bf 3.} Or cut off the corner of the envelope with the stamp and float---don't immerse---it in lukewarm water until the paper comes off. Dry the stamp on blotting paper, then flatten it between the pages of a book. Or lay a thin paper over the stamp and run moderately hot iron over it.\\
{\bf Caution:} Never put an antique stamp in water because the ink might run. And don't use steam to loosen such a stamp: it might be ruined as a collector's item.~\cite[page~195]{rd91}}
\end{flushright}

\bigskip

In this chapter, we discuss methods that use vector fields in the controller construction for a class of nonlinear dynamical systems. The control design process, as in the case of linear systems, involves three steps. The first step is the design of a state-feedback control law. The second step involves the design of a state estimator. The third step is to combine the first two steps to obtain a combined controller-estimator compensator. We use the so-called {\em feedback linearization\/} method to construct a state-feedback control strategy in the first stage of the above design algorithm. The basic idea of the feedback linearization approach is to use a control consisting of two components, one of which cancels out the plant's nonlinearities and the other controls the resulting linear system. The method is limited to a class of dynamical systems, plants, whose models are sufficiently smooth, that is, the plant models whose right-hand sides of the modeling differential equations are sufficiently many times differentiable. In the next section, we recall some basic definitions from differential geometry that we will be using in our further analysis. We then describe the class of plants for which the feedback linearization method is applicable.


\section{Definitions from Differential Geometry}\label{sec:diif_geo_defns}

All functions that we encounter in this Chapter are assumed to have continuous partial derivative to any order, that is, the functions that we work with are smooth.
\begin{defn}
A vector-valued function of $n$ variables,
\[
\b f: {\cal D} \to \mb{\Bb R}^n, \quad\mb{where}\quad {\cal D}\subseteq \mb{\Bb R}^n \quad\mb{is a domain},
\]
is called a vector field on ${\cal D}$. A vector field is an $n$-dimensional column.
\end{defn}

\begin{defn}
The transpose of a vector field is called a covector field. A covector field is an $n$-dimensional row.
\end{defn}
\begin{defn}
A differential of a real-valued function on $n$ variables
\[
h: {\cal D} \to \mb{\Bb R}, \quad\mb{where}\quad {\cal D}\subseteq \mb{\Bb R}^n \quad\mb{is a domain},
\]
is a covector field, denoted $dh$, and defined as
\[
dh=Dh=\nabla_{\b x} h^{\top}=\left[\begin{array}{cccc}
\frac{\partial h}{\partial x_1} & \frac{\partial h}{\partial x_2} & \cdots & \frac{\partial h}{\partial x_n}
\end{array}\right],
\]
where $\nabla_{\b x} h$ is the gradient of $h$, which is a vector field.
\end{defn}
In our controller construction for a class of nonlinear systems, we will be using three types of {\em Lie derivatives}. They are as follows:
\begin{enumerate}
\item Derivative of a vector field with respect to a vector field, also known as the {\em Lie bracket}.

Given the vector valued functions $\b f:\mb{\Bb R}^n \to \mb{\Bb R}^n$ and $\b g:\mb{\Bb R}^n \to \mb{\Bb R}^n$, where $\b f$ and $\b g$ are ${\cal C}^{\infty}$ vector fields. Their Lie bracket is defined as
\begin{equation}
[\b f,\b g]=\frac{\partial \b f}{\partial \b x}\b g-\frac{\partial \b g}{\partial \b x}\b f,
\label{eq:liebracde}
\end{equation}
where $\frac{\partial \b f}{\partial \b x}$ and $\frac{\partial \b g}{\partial \b x} $ are the Jacobian matrices of $\b f$ and $\b g$, respectively. Sometimes in the literature the negative of the above definition is used. For convenience we will also be using an alternative notation of the form
\begin{equation}
[\b f,\b g]=(\mb{ad}^1\b f,\b g).
\label{eq:altliebde}
\end{equation}
We define
\[
(\mb{ad}^k\b f,\b g)=[\b f,(\mb{ad}^{k-1}\b f,\b g)],
\]
where
\[
(\mb{ad}^0\b f,\b g)=\b g.
\]
For a single input linear system model, $\b f(\b x)=\b A\b x$ and $\b g(\b x)=\b b$. Hence,
\begin{eqnarray*}
(\mb{ad}^0\b f,\b g) &=& \b b\\
(\mb{ad}^1\b f,\b g) &=& \b A\b b\\
{}&\vdots{}\\
(\mb{ad}^k\b f,\b g) &=& \b A^k\b b.
\end{eqnarray*}
Thus, the controllability matrix of the linear system can be expressed in terms of Lie brackets as
\[
\left[\begin{array}{cccc}
\b b, & \b A\b b,&\ldots, & \b A^{n-1}\b b
\end{array}\right]=\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right].
\]
We will call the $n\times n$ matrix
\begin{equation}
\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right],
\label{eq:contrmasi}
\end{equation}
the controllability matrix of the single input nonlinear system modeled by
\begin{equation}
\dot{\b x}=\b f(\b x)+\b g(\b x)\b u.
\label{eq:sinosywo}
\end{equation}
\item Derivative of a function with respect to a vector field.

Let $h:\mb{\Bb R}^n \to \mb{\Bb R}$ be a ${\cal C}^{\infty}$ function on $\mb{\Bb R}^n$. Let $Dh=\nabla h^{\top}$, where $\nabla h$ is the gradient (a column vector) of $h$ with respect to $\b x$. Then, the Lie derivative of the function $h$ with respect to the vector field $\b f$, denoted $L_{\b f}h$ or $L_{\b f}(h)$, is defined as
\[
L_{\b f}h=L_{\b f}(h)=\langle \nabla h,\b f \rangle=Dh\,\b f=\frac{\partial h}{\partial x_1}f_1+\frac{\partial h}{\partial x_2}f_2+\cdots+\frac{\partial h}{\partial x_n}f_n.
\]
We use the following notation:
\begin{eqnarray*}
L_{\b f}^0 h &=& h\\
L_{\b f}^1 h &=& L_{\b f}h\\
L_{\b f}^2 h&=& L_{\b f}L_{\b f}h\\
{}&\vdots&{}\\
L_{\b f}^k h&=& L_{\b f}L_{\b f}^{k-1}h.
\end{eqnarray*}
\item Derivative of $Dh$ with respect to the vector field.

The Lie derivative of $Dh$ with respect to the vector field $\b f$, denoted $L_{\b f}(Dh)$, is defined as
\begin{equation}
L_{\b f}(Dh)=\left( \frac{\partial \nabla h}{\partial x}\b f\right)^{\top}+Dh\frac{\partial \b f}{\partial x}.
\label{eq:lideofdhwf}
\end{equation}
Note that
\begin{equation}
L_{\b f}(Dh)=DL_{\b f}h=\nabla L^{\top}_{\b f}h.
\label{eq:impproofdhf}
\end{equation}
\end{enumerate}
The above three Lie derivatives satisfy the {\em Leibniz formula\/},
\begin{equation}
\fbox{$\displaystyle L_{[\b f,\b g]}h=\langle \nabla h,[\b f,\b g]\rangle = L_{\b g}L_{\b f}h-L_{\b f}L_{\b g}h $}
\label{eq:lebniform}
\end{equation}
\section{A Nonlinear Plant Model}
Dynamical systems, that we consider in this chapter, are modeled by the equations
\begin{eqnarray}
\dot{\b x}&=&\b f(\b x)+\b G(\b x)\b u\label{eq:nonlinstsmo}\\
\b y &=& \b h(\b x)
\label{eq:nolioueq},
\end{eqnarray}
where $\b f:\mb{\Bb R}^n \to \mb{\Bb R}^n$, $\b G:\mb{\Bb R}^n \to \mb{\Bb R}^{n \times m}$, and the output map $\b h:\mb{\Bb R}^n \to \mb{\Bb R}^p$. Note that $\b G(\b x)$ may be written as $\b G(\b x)=\left[\begin{array}{cccc}
\b g_1(\b x) & \b g_2(\b x) & \cdots & \b g_m(\b x)
\end{array}\right]$, where $\b g_i:\mb{\Bb R}^n \to \mb{\Bb R}^n$, $i=1,2,\ldots,m$. We write $\b f\in {\cal C}^{\infty}$ if $\b f$ is in all ${\cal C}^k$ for $k=1,2,\ldots$. The functions $\b f$, $\b g_i$, and $\b h$ are assumed to be ${\cal C}^{\infty}$ vector fields on $\mb{\Bb R}^n$. We also assume that $\b f(\b 0)=\b 0$ and $\b h(\b 0)=\b 0$. We note that the linear system model $\dot{\b x}=\b A\b x+\b B\b u$, $\b y=\b C\b x$ is a special case of the above more general model. Indeed, we have $\b f(\b x)=\b A\b x$, $\b G(\b x)=\b B$, and $\b h(\b x)=\b C\b x$. A simple example of a nonlinear dynamic system whose model fits into the above class of systems is a model of one-link robot manipulator presented in Subsection~\ref{subsection:one_link_robot}.
%\begin{example}\rm
%\label{ex:one_link}
%The example comes from~\cite{zak86}. It is a simple model of a one-link robot manipulator whose reduced-order model we analyzed in Example~\ref{example:onelink}. The motion of the robot arm is controlled by a DC motor via a gear as shown in Figure~\ref{fig:onelinkex}. The DC motor is armature-controlled and its schematic is shown in Figure~\ref{fig:dcmotorex}. We used Newton's second law to write the equation modeling the arm dynamics,
%\[
%ml^2\frac{d^2\theta_p}{dt^2}=mgl\sin \theta_p+ NK_m i_a,
%\]
%where $g=9.8\;\mb{m}/\mb{s}^2$ is the gravitational constant. We next applied Kirchhoff's voltage law to the armature circuit to obtain
%\[
%L_a\frac{d i_a}{dt}+Ri_a+e_b=L_a\frac{d i_a}{dt}+Ri_a+K_b N\frac{d\theta_p}{dt}=u,
%\]
%where $K_b$ is the back emf constant.  We can now construct a third-order state-space model of the one-link robot. For this we choose the following state variables:
%\[
%x_1=\theta_p, \quad x_2=\frac{d\theta_p}{dt}=\omega_p,\quad x_3=i_a.
%\]
%Then, the model in state-space format is:
%\begin{equation}
%\left[\begin{array}{c}
%\dot{x}_1\\
%\dot{x}_2\\
%\dot{x}_3
%\end{array} \right] = \left[\begin{array}{c}
%x_2\\
%\frac{g}{l}\sin x_1+\frac{NK_m}{ml^2}x_3\\
%-\frac{K_bN}{L_a}x_2-\frac{R_a}{L_a}x_3
%\end{array}\right]+\left[\begin{array}{c}
%0\\
%0\\
%\frac{1}{L_a}
%\end{array}\right]u,
%\label{eq:nomooolima}
%\end{equation}
%Reasonable parameters of the robot are: $l=1\,\mb{m}$, $m=1\,\mb{kg}$, $N=10$, $K_m=0.1\,\mb{Nm}/\mb{A}$, $K_b=0.1\,\mb{Vs}/\mb{rad}$, $R_a=1\,\Omega$, $L_a=100\,\mb{mH}$. With the above parameters the robot model takes the form:
%\begin{equation}
%\left[\begin{array}{c}
%\dot{x}_1\\
%\dot{x}_2\\
%\dot{x}_3
%\end{array} \right] = \left[\begin{array}{c}
%x_2\\
%9.8\,\sin x_1+x_3\\
%-10\,x_2-10\,x_3
%\end{array}\right]+\left[\begin{array}{c}
%0\\
%0\\
%10
%\end{array}\right]u.
%\label{eq:nomoolinum}
%\end{equation}
%We assume that the output, $y$, is
%\begin{equation}
%y=x_1.
%\label{eq:ouoonlima}
%\end{equation}
%\end{example}\markex

\section{Controller Form}
\label{sec:confofononl}
One of the objectives of this chapter, is to devise a method for constructing state-feedback stabilizing control law for a class of dynamical systems modeled by~(\ref{eq:nonlinstsmo}). To construct such a law it is advantageous to work with an equivalent system model rather than with the original one. We thus first discuss a method for transforming a nonlinear system model into an equivalent form that is a generalization of the controller form known from the linear system theory. We accomplish this using a transformation, described below, that is a generalization of the similarity transformation for linear systems.

A transformation $\b T:{\cal D} \to \mb{\Bb R}^n$ is a {\em diffeomorphism\/} on ${\cal D}$ if it is invertible on ${\cal D}$, that is, there exists a function ${\b T}^{-1}$ such that
\[
{\b T}^{-1}(\b T(\b x))=\b x\quad\mb{for all}\quad \b x \in {\cal D},
\]
and both $\b T$ and $\b T^{-1}$ are continuously differentiable

If the Jacobian matrix $\frac{\partial \b T}{\partial \b x}$ is nonsingular at a point $\b x_0\in {\cal D}$, then it follows form the inverse function theorem, see Exercise~\ref{ex:invfunc}, that there is a neighborhood ${\cal N}$ of $\b x_0$ such that $\b T$ restricted to ${\cal N}$ is a diffeomorphism on ${\cal N}$.

A transformation $\b T$ is a {\em global diffeomorphism\/} if it is a diffeomorphism on $\mb{\Bb R}^n$ and
\[
\b T(\mb{\Bb R}^n) = \mb{\Bb R}^n.
\]
We now give necessary and sufficient conditions for a transformation $\b T$ to be a global diffeomorphism. This theorem comes from Khalil~\cite[p.561]{khalil96}.
\begin{thm}
A transformation $\b T$ is a global diffeomorphism if and only if
\begin{enumerate}
\item the Jacobian matrix $\frac{\partial \b T}{\partial \b x}$ is nonsingular for all $\b x\in \mb{\Bb R}^n$;
\item $\b T$ is proper, that is,
\[
\lim_{\|\b x\|\to \infty} \|\b T(\b x)\| =\infty .
\]
\end{enumerate}
\end{thm}

%$\b z=\b T(\b x)$ such that $\b T(\b 0)=\b 0$ and for which there is a ${\cal C}^{\infty}$ inverse $\b x={\b T}^{-1}(\b z)$ is called a {\em diffeomorphism\/}.



Our goal is to construct a diffeomorphism such that
\[
\b z=\b T(\b x),\quad \b T(\b 0)=\b 0,
\]
with an inverse $\b x={\b T}^{-1}(\b z)$, such that system model $\dot{\b x}=\b f(\b x)+\b g(\b x)u$ in the new coordinates has the form
\begin{equation}
\left[\begin{array}{c}
\dot{z}_1\\
\dot{z}_2\\
\vdots\\
\dot{z}_{n-1}\\
\dot{z}_n
\end{array}\right]=\left[\begin{array}{c}
{z}_2\\
{z}_3\\
\vdots\\
{z}_{n}\\
\tilde{f}_n(z_1,z_2,\ldots,z_n)
\end{array}\right]+\left[\begin{array}{c}
0\\
0\\
\vdots\\
0\\
1
\end{array}\right]u.
\label{eq:contrfosi}
\end{equation}



We devise a method for constructing the desired transformation. In our subsequent discussion, we will be using three types of Lie derivatives defined in Section~\ref{sec:diif_geo_defns}. Suppose that such a transformation exists. Differentiating $\b z(t)$ with respect to time $t$ gives
\begin{equation}
\dot{\b z}(t) = \frac{\partial \b T}{\partial \b x}\dot{\b x}
= \frac{\partial \b T}{\partial \b x}\left( \b f(\b x)+\b g(\b x)u \right).
\label{eq:zdotxadot}
\end{equation}
Comparing the right hand sides of~(\ref{eq:contrfosi}) and~(\ref{eq:zdotxadot}), we obtain
\begin{equation}
\left.\frac{\partial \b T}{\partial \b x}\b f (\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}=\left[\begin{array}{c}
{z}_2\\
{z}_3\\
\vdots\\
{z}_{n}\\
\tilde{f}_n(z_1,z_2,\ldots,z_n)
\end{array}\right],
\label{eq:firpaofzdo}
\end{equation}
and
\begin{equation}
\left.\frac{\partial \b T}{\partial \b x}\b g (\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}=\left[\begin{array}{c}
0\\
0\\
\vdots\\
0\\
1
\end{array}\right].
\label{eq:secopaofzd}
\end{equation}
We first consider~(\ref{eq:firpaofzdo}). We have
\[
\left[\begin{array}{c}
{z}_2\\
{z}_3\\
\vdots\\
{z}_{n}\\
\tilde{f}_n(z_1,z_2,\ldots,z_n)
\end{array}\right]=\left[\begin{array}{c}
{T}_2\\
{T}_3\\
\vdots\\
{T}_{n}\\
\tilde{f}_n(z_1,z_2,\ldots,z_n)
\end{array}\right]
\]
because $\b z=\b T(\b x)$. We conclude that
\[
\frac{\partial T_i}{\partial \b x}\b f(\b x)=T_{i+1},\quad i=1,2,\ldots,n-1,
\]
or equivalently
\[
T_{i+1}=L_{\b f}T_i,\quad i=1,2,\ldots,n-1.
\]
Therefore, the transformation $\b z=\b T(\b x)$ has the form
\begin{equation}
\b T=\left[\begin{array}{c}
T_1\\
L_{\b f}T_1\\
\vdots\\
L_{\b f}^{n-2}T_1\\
L_{\b f}^{n-1}T_1
\end{array}\right].
\label{eq:tratafuofx}
\end{equation}
The above means that the problem of constructing the desired transformation $\b z=\b T(\b x)$ is reduced to finding its first component $T_1$. The remaining components of $\b T$ can be successively computed using $T_1$. To specify $T_1$, we use~(\ref{eq:secopaofzd}), which we represent componentwise as
\[
L_{\b g}T_i=0,\quad i=1,2,\ldots,n-1,
\]
and
\[
L_{\b g}T_n=1.
\]
Note that $L_{\b g}T_1=0$ can be represented as
\[
\frac{\partial T_1}{\partial \b x}(\mb{ad}^0\b f,\b g)=0.
\]
Next, consider the relation $L_{\b g}T_2=0$. We will show that
\begin{equation}
L_{\b g}T_2=\frac{\partial T_1}{\partial \b x}(\mb{ad}^1\b f,\b g)=0.
\label{eq:secldefcf}
\end{equation}
By the Leibniz formula,
\begin{eqnarray}
L_{\b g}T_2 &=& L_{\b g}L_{\b f}T_1\nonumber\\
&=& L_{\b f}L_{\b g}T_1+L_{[\b f,\b g]}T_1\nonumber\\
&=& L_{[\b f,\b g]}T_1,
\label{eq:reofleifor}
\end{eqnarray}
because $L_{\b g}T_1=0$, and hence $L_{\b f}L_{\b g}T_1=0$. Using~(\ref{eq:reofleifor}), we obtain~(\ref{eq:secldefcf}). Continuing in this manner, we get
\[
\frac{\partial T_1}{\partial \b x}(\mb{ad}^i\b f,\b g)=0,\quad i=0,1,\ldots,n-2,
\]
and
\[
\frac{\partial T_1}{\partial \b x}(\mb{ad}^{n-1}\b f,\b g)=1.
\]
We represent the above $n$ equations in matrix form as
\begin{eqnarray*}
{}&{}&\frac{\partial T_1}{\partial \b x}\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g),& (\mb{ad}^1\b f,\b g),&\ldots,&(\mb{ad}^{n-1}\b f,\b g)
\end{array}\right]\\
&=&\left[\begin{array}{cccc}
L_{\b g}T_1,& L_{(\mb{ad}^1\b f,\b g)}T_1,&\ldots,&L_{(\mb{ad}^{n-1}\b f,\b g)}T_1
\end{array}\right]\\
&=&\left[\begin{array}{cccc}
0 & 0 & \cdots & 1
\end{array}\right].
\end{eqnarray*}
Thus the derivative of $T_1$, that is, the row vector $\frac{\partial T_1}{\partial \b x}$, is the last row of the inverse of the controllability matrix, provided the controllability matrix is invertible. We denote the last row of the inverse of the controllability matrix by $\b q(\b x)$. Then, the problem we have to solve is to find $T_1:\mb{\Bb R}^n \to \mb{\Bb R}$ such that
\begin{equation}
\frac{\partial T_1(\b x)}{\partial \b x}=\b q(\b x),\quad T_1(\b 0)=0,
\label{eq:solvfoqwzic}
\end{equation}
or equivalently
\begin{equation}
\nabla T_1=\b q(\b x)^{\top},\quad T_1(\b 0)=0.
\label{eq:eqreofsofqwoic}
\end{equation}
The above problem can be viewed as finding a potential function $T_1$ for a given vector field $\b q^{\top}$. A necessary and sufficient condition for a given vector field to have a potential function is given by Theorem~\ref{thm:nascfopofu} on page~\pageref{thm:nascfopofu}. We will show that if $\b q^{\top}$ has a potential function, then the resulting state variable transformation is a diffeomorphism. Before we proceed with the proof, we first illustrate the results obtained so far with a numerical example.
\begin{example}\label{ex:transonelinkcf}\rm
Consider a nonlinear model of one-link robot manipulator presented in Subsection~\ref{subsection:one_link_robot}. The controllability matrix of this system model is
\[
\left[\begin{array}{ccc}
(\mb{ad}^0\b f,\b g),& (\mb{ad}^1\b f,\b g),&(\mb{ad}^{2}\b f,\b g)
\end{array}\right]=\left[\begin{array}{ccc}
0 & 0 & 10 \\
0 & 10 & -100 \\
10 & -100 & 900
\end{array}\right].
\]
The above controllability matrix is of full rank on $\mb{\Bb R}^3$. The last row of its inverse is
\[
\b q=\left[\begin{array}{ccc}
0.1 & 0 & 0
\end{array}\right].
\]
Hence,
\[
T_1=0.1\,x_1.
\]
Having obtained $T_1$, we construct the desired transformation $\b z=\b T(\b x)$, where
\[
\b T(\b x)=\left[\begin{array}{c}
T_1\\
L_{\b f}T_1\\
L_{\b f}\left(L_{\b f}T_1\right)
\end{array}\right]=\left[\begin{array}{c}
0.1\,x_1\\
0.1\,x_2\\
0.98\sin x_1+0.1x_3
\end{array}\right].
\]
Note that the inverse transformation $\b x={\b T}^{-1}(\b z)$ exists and has the form
\[
{\b T}^{-1}(\b z)=\left[\begin{array}{c}
10\,z_1\\
10\,z_2\\
10z_3-9.8\sin (10\,z_1)
\end{array}\right].
\]
Furthermore,
\[
\frac{\partial \b T}{\partial \b x}=\left[\begin{array}{ccc}
0.1 & 0 & 0\\
0 & 0.1 & 0\\
0.98\cos x_1 & 0 & 0.1
\end{array}\right].
\]
Applying the transformation $\b z=\b T(\b x)$ to the model of the one-link robot manipulator yields
\begin{eqnarray}
\dot{\b z} &=& \left.\frac{\partial \b T}{\partial \b x} \b f(\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}+\left.\frac{\partial \b T}{\partial \b x}\b g(\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}u\nonumber\\
&=& \left[\begin{array}{c}
z_2 \\
z_3 \\
9.8\sin (10z_1)+\left( 9.8\cos (10z_1)-10\right)z_2 - 10 z_3
\end{array}\right]+\left[\begin{array}{c}
0 \\
0 \\
1
\end{array}\right]u.
\label{eq:onliincofo}
\end{eqnarray}
\end{example}\markex

We will now show that if there is a potential function for $\b q(\b x)^{\top}$, then the resulting transformation is indeed a diffeomorphism. By construction $\b T$ is of ${\cal C}^{\infty}$ class, and $\b T(\b 0)=\b 0$. We now show that $\b T$ is locally ${\cal C}^{\infty}$-invertible. By the inverse function theorem, stated in Exercise~\ref{ex:invfunc}, if the Jacobian matrix of $\b T$ evaluated at $\b 0$ is invertible, then $\b T$ is locally ${\cal C}^{\infty}$-invertible. The Jacobian matrix of $\b T$ is
\[
D\b T=\left[\begin{array}{c}
DT_1\\
DL_{\b f}T_1\\
\vdots\\
DL_{\b f}^{n-2}T_1\\
DL_{\b f}^{n-1}T_1
\end{array}\right].
\]
We compute the product of the above Jacobian matrix and the controllability matrix
\[
\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right]
\]
to get
\[
\left[\begin{array}{c}
DT_1\\
DL_{\b f}T_1\\
\vdots\\
DL_{\b f}^{n-2}T_1\\
DL_{\b f}^{n-1}T_1
\end{array}\right] \left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right].
\]
Performing multiplications yields
\begin{eqnarray*}
{}&{}&D\b T\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right]\\
&{}&\qquad =\left[\begin{array}{cccc}
L_{\b g}T_1, & L_{(\mb{ad}^1\b f,\b g)}T_1,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}T_1\\
L_{\b g}L_{\b f}T_1, & L_{(\mb{ad}^1\b f,\b g)}L_{\b f}T_1,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}L_{\b f}T_1\\
\vdots & \vdots & {} & \vdots\\
L_{\b g}L_{\b f}^{n-1}T_1, & L_{(\mb{ad}^1\b f,\b g)}L_{\b f}^{n-1}T_1,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}L_{\b f}^{n-1}T_1
\end{array}\right]\\
&{}&\qquad =\left[\begin{array}{cccc}
L_{\b g}T_1, & L_{(\mb{ad}^1\b f,\b g)}T_1,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}T_1\\
L_{\b g}T_2, & L_{(\mb{ad}^1\b f,\b g)}T_2,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}T_2\\
\vdots & \vdots & {} & \vdots\\
L_{\b g}T_n, & L_{(\mb{ad}^1\b f,\b g)}T_n,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}T_n
\end{array}\right]\\
&{}&\qquad =\left[\begin{array}{cccc}
L_{\b g}T_1, & L_{(\mb{ad}^1\b f,\b g)}T_1,&\ldots, & L_{(\mb{ad}^{n-1}\b f,\b g)}T_1\\
L_{(\mb{ad}^1\b f,\b g)}T_1,&L_{(\mb{ad}^2\b f,\b g)}T_1, &\ldots, & L_{(\mb{ad}^{n}\b f,\b g)}T_1\\
\vdots & \vdots & {} & \vdots\\
L_{(\mb{ad}^{n-1}\b f,\b g)}T_1,&L_{(\mb{ad}^n\b f,\b g)}T_1, &\ldots, & L_{(\mb{ad}^{2n-2}\b f,\b g)}T_1
\end{array}\right]\\
&{}&\qquad =\left[\begin{array}{ccccc}
0, & 0, & \ldots,&0,& 1\\
0, & 0, & \ldots,&1,&x\\
\vdots & \vdots & {} & \vdots&\vdots\\
1,& x,& \ldots,& x,&x
\end{array}\right],
\end{eqnarray*}
where we use $x$ to denote ``don't care'' elements. It follows from the above that at $\b x =\b 0$ the Jacobian matrix $D\b T$ is invertible, that is,
\[
\mb{rank}\,D\b T(\b 0)=n.
\]
In conclusion, a diffeomorphic state variable transformation exists, in a neighborhood of $\b x=\b 0$, if
\begin{enumerate}
\item in a neighborhood of $\b x=\b 0$,
\[
\mb{rank}\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right]=n,
\]
\item \[\b q(\b x)=\left[\begin{array}{ccccc}
0, & 0,& \ldots,&0,&1
\end{array}\right]\left[\begin{array}{cccc}
(\mb{ad}^0\b f,\b g), & (\mb{ad}^1\b f,\b g),&\ldots, & (\mb{ad}^{n-1}\b f,\b g)
\end{array}\right]^{-1}\] has a potential function in a neighborhood of $\b x=\b 0$, that is, $\b q(\b x)^{\top}$ is a conservative vector field in a neighborhood of $\b x=\b 0$.
\end{enumerate}

The above method of transforming a class of single input nonlinear systems into the controller form can be generalized to multi input systems in a similar way as in the linear case discussed in Subsection~\ref{subsec:controform}. We illustrate the method with a numerical example.
\begin{example}\rm
Consider the model of the permanent stepper motor given by~(\ref{eq:nomoopmstep}). We first represent the model as
\begin{equation}
\dot{\b x}=\b f(\b x)+\b g_1 u_1 + \b g_2 u_2,
\label{eq:twoinrepopm}
\end{equation}
where
\[
\b f(\b x)=\left[\begin{array}{c}
x_2\\
-K_1x_2-K_2x_3\sin(K_3x_1)+K_2x_4\cos(K_3x_1)\\
K_4x_2\sin(K_3x_1)-K_5x_3\\
-K_4x_2\cos(K_3x_1)-K_5x_4
\end{array}\right],\; \b g_1=\left[\begin{array}{c}
0 \\
0 \\
1 \\
0
\end{array}\right],\;\mb{and}\; \b g_2=\left[\begin{array}{c}
0\\
0\\
0\\
1
\end{array}\right].
\]
We next form the controllability matrix for the above model to get
\begin{equation}
\left[\begin{array}{cccccccc}
\b g_1&\b g_2&\left( \mb{ad}^1\b f,\b g_1\right)&\left(\mb{ad}^1\b f,\b g_2\right)&\left(\mb{ad}^2\b f,\b g_1\right)&\left(\mb{ad}^2\b f,\b g_2\right)&\left(\mb{ad}^3\b f,\b g_1\right)&\left(\mb{ad}^3\b f,\b g_2\right)
\end{array}\right],
\label{eq:comafopmsm}
\end{equation}
where, for example,
\[
\left( \mb{ad}^1\b f,\b g_1\right)=\left[\begin{array}{c}
0\\
-K_2\sin(K_3 x_1)\\
-K_5\\
0
\end{array}\right],\quad \left( \mb{ad}^1\b f,\b g_2\right)=\left[\begin{array}{c}
0\\
K_2\cos(K_3 x_1)\\
0\\
-K_5
\end{array}\right],
\]
\begin{eqnarray}
{}&{}&\left( \mb{ad}^2\b f,\b g_1\right)\nonumber\\
&{}&\qquad =\left[ \b f,\left(\mb{ad}^1\b f,\b g_1\right)\right] =\frac{\partial \b f}{\partial \b x}\left(\mb{ad}^1\b f,\b g_1\right)-\frac{\partial \left(\mb{ad}^1\b f,\b g_1\right)}{\partial \b x}\b f\nonumber\\
&{}&\qquad =\left [\begin {array}{c} -{K_2}\,\sin({K_3}\,{x_1})
\\\noalign{\medskip}{K_1}\,{K_2}\,\sin({K_3}\,{x_1})+{
K_2}\,{K_5}\,\sin({K_3}\,{x_1})+{K_2}\,{K_3}\,{x_2}\,\cos({K_3}\,{x_1
})\\\noalign{\medskip}-{K_4}\,{K_2}\,\sin^2({K_3}\,{
x_1})+{K_5}^{2}\\\noalign{\medskip}{K_4}\,{K_2}\cos({
K_3}\,{x_1})\,\sin({K_3}\,{x_1})\end {array}
\right ],
\label{eq:adtwfgo}
\end{eqnarray}
and
\begin{eqnarray}
{}&{}&\left( \mb{ad}^2\b f,\b g_2\right)\nonumber\\
&{}&\qquad =\left[ \b f,\left(\mb{ad}^1\b f,\b g_2\right)\right] =\frac{\partial \b f}{\partial \b x}\left(\mb{ad}^1\b f,\b g_2\right)-\frac{\partial \left(\mb{ad}^1\b f,\b g_2\right)}{\partial \b x}\b f\nonumber\\
&{}&\qquad =\left [\begin {array}{c} {K_2}\,\cos({K_3}\,{x_1})
\\\noalign{\medskip}-{K_1}\,{K_2}\,\cos({K_3}\,{x_1})-{
K_2}\,{K_5}\,\cos({K_3}\,{x_1})+{K_2}\,{K_3}\,{x_2}\,\sin({K_3}\,{x_1
})\\\noalign{\medskip}{K_4}\,{K_2}\cos({
K_3}\,{x_1})\,\sin({K_3}\,{x_1})\\\noalign{\medskip}-{K_4}\,{K_2}\,\cos^2({K_3}\,{
x_1})+{K_5}^{2}\end {array}
\right ].
\label{eq:adtwfgtw}
\end{eqnarray}
Observe that
\begin{equation}
\left(\mb{ad}^1\b f,\b g_2\right)=-K_5\cot(K_3\,x_1)\,\b g_1-K_5\,\b g_2-\cot(K_3\,x_1)\left(\mb{ad}^1\b f,\b g_1\right),
\label{eq:lideofadfgt}
\end{equation}
that is, $\left(\mb{ad}^1\b f,\b g_2\right)$ is a linear combination of $\b g_1$, $\b g_2$, and $\left(\mb{ad}^1\b f,\b g_1\right)$. We will use this fact when selecting columns to construct a transformation into a controller form. Proceeding from left to right and using~(\ref{eq:lideofadfgt}), we select linearly independent columns from the controllability matrix~(\ref{eq:comafopmsm}). The PM stepper motor system is controllable because we have found four linearly independent columns, $\b g_1$, $\left(\mb{ad}^1\b f,\b g_1\right)$, $\left(\mb{ad}^2\b f,\b g_1\right)$, and $\b g_2$ in its controllability matrix. Thus, the controllability indices of the PM stepper motor system are $d_1=3$ and $d_2=1$. Therefore, the controller form of the PM stepper motor model is
\begin{equation}
\left[\begin{array}{c}
\dot{z}_1\\
\dot{z}_2\\
\dot{z}_3\\
\dot{z}_4
\end{array}\right]=\left[\begin{array}{c}
{z}_2\\
{z}_3\\
\tilde{f}_3(z_1,z_2,z_3,z_4)\\
\tilde{f}_4(z_1,z_2,z_3,z_4)
\end{array}\right]+\left[\begin{array}{cc}
0 & 0\\
0 & 0\\
\tilde{g}_{31} &\tilde{g}_{32}\\
\tilde{g}_{41}& \tilde{g}_{42}
\end{array}\right]\left[\begin{array}{c}
u_1\\
u_2
\end{array}\right],
\label{eq:pmstemoincofo}
\end{equation}
where the elements $\tilde{g}_{ij}$ may depend on $z_k$, $k=1,2,3,4$, and
\begin{equation}
\det\,\left[\begin{array}{cc}
\tilde{g}_{31} &\tilde{g}_{32}\\
\tilde{g}_{41}& \tilde{g}_{42}
\end{array}\right]\ne 0.
\label{eq:nodeoltrim}
\end{equation}
The transformation we are looking for has the form,
\begin{equation}
\b z=\b T(\b x)=\left[\begin{array}{c}
T_1\\
T_2\\
T_3\\
T_4
\end{array}\right]=\left[\begin{array}{c}
T_1\\
L_{\b f}T_1\\
L_{\b f}^2 T_1\\
T_4
\end{array}\right],
\label{eq:traofpmsm}
\end{equation}
where $T_1$ and $T_4$ are functions that we have to find. There is no unique solution for $T_1$ and $T_4$. Differentiating $\b z=\b T(\b x)$ and using~(\ref{eq:twoinrepopm}) yields
\begin{eqnarray}
\dot{\b z}&=&\frac{\partial \b T}{\partial \b x}\dot{\b x}\nonumber\\
&=&\left.\frac{\partial \b T}{\partial \b x}\b f (\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}+u_1\left.\frac{\partial \b T}{\partial \b x}\b g_1 (\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}+u_2\left.\frac{\partial \b T}{\partial \b x}\b g_2 (\b x)\right\arrowvert_{\b x={\b T}^{-1}(\b z)}
\label{eq:derofzwitwi}
\end{eqnarray}
where
\[
\frac{\partial \b T}{\partial \b x}=D\b T=\left[\begin{array}{c}
DT_1\\
DT_2\\
DT_3\\
DT_4
\end{array}\right].
\]
Comparing~(\ref{eq:pmstemoincofo}) and~(\ref{eq:derofzwitwi}), we obtain
\begin{equation}
z_2=T_2=DT_1 \b f =L_{\b f}T_1,\quad z_3=T_3=DT_2 \b f=L_{\b f}T_2,
\label{eq:relbetzafi}
\end{equation}
and
\begin{eqnarray}
{}&{}& L_{\b g_1}T_1=0,\quad L_{\b g_1}T_2=L_{\b g_1}L_{\b f}T_1=0,\label{eq:derfogone}\\
&{}& L_{\b g_2}T_1=0,\quad L_{\b g_2}T_2=L_{\b g_2}L_{\b f}T_1=0.\label{eq:lderfogt}
\label{eq:relsfoing}
\end{eqnarray}
Applying the Leibniz formula~(\ref{eq:lebniform}) to the right hand sides of~(\ref{eq:derfogone}) and~(\ref{eq:lderfogt}) gives
\[
L_{\b f}L_{\b g_1}T_1=L_{[\b f,\b g_1]}T_1\quad\mb{and}\quad
L_{\b f}L_{\b g_2}T_1=L_{[\b f,\b g_2]}T_1.
\]
Because by~(\ref{eq:derfogone}) and~(\ref{eq:lderfogt}), $L_{\b g_1}T_1=0$ and $L_{\b g_2}T_1=0$, we can write
\begin{equation}
D T_1 \left[\begin{array}{cccc}
\b g_1 & \left( \mb{ad}^1\b f,\b g_1\right) & \b g_2 & \left( \mb{ad}^1\b f,\b g_2\right)
\end{array}\right]=\b 0,
\label{eq:getalltog}
\end{equation}
that is,
\[
\left[\begin{array}{cccc}
\frac{\partial T_1}{\partial x_1}&\frac{\partial T_1}{\partial x_2}&\frac{\partial T_1}{\partial x_3}&\frac{\partial T_1}{\partial x_4}
\end{array}\right]
\left[\begin{array}{cccc}
0 & 0 & 0 & 0\\
0 & -K_2\sin(K_3x_1) & 0 & K_2 \cos(K_3 x_1)\\
1 & -K_5 & 0 &0\\
0 & 0 & 1 & -K_5
\end{array}\right]=\left[\begin{array}{cccc}
0 & 0 & 0 & 0
\end{array}\right].
\]
By inspection, a nontrivial solution to the above is
\begin{equation}
D T_1 =\left[\begin{array}{cccc}
\frac{\partial T_1}{\partial x_1}&0&0&0
\end{array}\right],
\label{eq:nosotofone}
\end{equation}
where the function $T_1$  may only be a function of $x_1$ for $D T_1$ to be integrable. We will specify $T_1$ later. To proceed, we note that by~(\ref{eq:traofpmsm}) and~(\ref{eq:derofzwitwi}),
\begin{equation}
\left[\begin{array}{cc}
\tilde{g}_{31} &\tilde{g}_{32}\\
\tilde{g}_{41}& \tilde{g}_{42}
\end{array}\right]=\left[\begin{array}{cc}
\left(D T_3\right) \b g_1 &\left(D T_3\right)\b g_2\\
\left( D T_4\right)\b g_1& \left( D T_4\right)\b g_2
\end{array}\right],
\label{eq:expsfoinma}
\end{equation}
Using the structure of the state transformation~(\ref{eq:traofpmsm}) and the Leibniz formula~(\ref{eq:lebniform}), we express the element $\tilde{g}_{31}=\left( D T_3\right)\b g_1$ as
\begin{eqnarray}
\left( D T_3\right)\b g_1&=&L_{\b g_1}L_{\b f}T_2\nonumber \\
&=& L_{[\b f,\b g_1]}T_2 + L_{\b f}L_{\b g_1}T_2\nonumber\\
&=& L_{[\b f,\b g_1]}T_2,
\label{exprgtoaf}
\end{eqnarray}
because $L_{\b g_1}T_2=0$ and therefore $L_{\b f}L_{\b g_1}T_2=0$. Observing that $T_2=L_{\b f}T_1$, employing the Leibniz formula, and taking into account the fact that $L_{\b g_1}T_1=0$, we get
\begin{eqnarray}
L_{[\b f,\b g_1]}T_2&=&L_{[\b f,\b g_1]}L_{\b f}T_1\nonumber\\
&=& L_{[\b f,[\b f,\b g_1]]}T_1+L_{\b f}L_{[\b f,\b g_1]}T_1\nonumber\\
&=& L_{[\b f,[\b f,\b g_1]]}T_1+L_{\b f}\left(L_{\b g_1}L_{\b f}T_1-L_{\b f}L_{\b g_1}T_1 \right)\nonumber\\
&=& L_{[\b f,[\b f,\b g_1]]}T_1\nonumber\\
&=& D T_1\left( \mb{ad}^2\b f,\b g_1\right).
\label{eq:suexfttia}
\end{eqnarray}
Hence,
\begin{equation}
\tilde{g}_{31}=D T_1\left( \mb{ad}^2\b f,\b g_1\right).
\label{eq:exfgtoadt}
\end{equation}
Similarly, we find
\begin{equation}
\tilde{g}_{32}=D T_1\left( \mb{ad}^2\b f,\b g_2\right).
\label{eq:exfgttadt}
\end{equation}
Substituting~(\ref{eq:adtwfgo}), (\ref{eq:adtwfgtw}), and~(\ref{eq:nosotofone}) into~(\ref{eq:exfgtoadt}) and~(\ref{eq:exfgttadt}), we find
\begin{equation}
\tilde{g}_{31}=-\frac{\partial T_1}{\partial x_1}K_2\,\sin(K_3 x_1),
\label{eq:compgtro}
\end{equation}
and
\begin{equation}
\tilde{g}_{32}=\frac{\partial T_1}{\partial x_1}K_2\,\cos(K_3 x_1).
\label{eq:compgtrto}
\end{equation}
Substituting the above expressions into~(\ref{eq:nodeoltrim}) yields
\begin{eqnarray}
\tilde{g}_{31}\tilde{g}_{42}-\tilde{g}_{32}\tilde{g}_{41}&=&\left(D T_1\left( \mb{ad}^2\b f,\b g_1\right)\right)\left(\left( D T_4\right)\b g_2\right)-\left(D T_1\left( \mb{ad}^2\b f,\b g_2\right)\right)\left(\left( D T_4\right)\b g_1\right)\nonumber\\
&=&-\frac{\partial T_1}{\partial x_1}K_2\,\sin(K_3 x_1)\frac{\partial T_4}{\partial x_4}-\frac{\partial T_1}{\partial x_1}K_2\,\cos(K_3 x_1)\frac{\partial T_4}{\partial x_3}\nonumber\\
&\ne& 0.
\label{eq:nosininma}
\end{eqnarray}
Suppose that we choose
\begin{equation}
\frac{\partial T_1}{\partial x_1}=\frac{1}{K_2},\quad \frac{\partial T_4}{\partial x_3}=\cos(K_3x_1),\quad\mb{and}\quad\frac{\partial T_4}{\partial x_4}=\sin(K_3x_1).
\label{eq:makingdemo}
\end{equation}
Substituting~(\ref{eq:makingdemo}) into~(\ref{eq:nosininma}) gives
\[
\det\,\left[\begin{array}{cc}
\tilde{g}_{31} &\tilde{g}_{32}\\
\tilde{g}_{41}& \tilde{g}_{42}
\end{array}\right]=-1.
\]
Using~(\ref{eq:nosotofone}), (\ref{eq:makingdemo}), and~(\ref{eq:traofpmsm}), we obtain
\begin{equation}
\left.\begin{array}{ccl}
T_1 &=& x_1/K_2\\
T_2&=&L_{\b f}T_1=x_2/K_2\\
T_3&=&L_{\b f}T_2 = -\frac{K_1}{K_2}x_2-x_3\sin(K_3 x_1)+x_4\cos(K_3 x_1)\\
T_4&=& x_3\,\cos(K_3 x_1)+x_4\,\sin(K_3 x_1)
\end{array}\right\}
\label{eq:expefotrt}
\end{equation}
The Jacobian matrix of $\b T$ is
\begin{equation}
D\b T=\left[\begin{array}{cccc}
1/K_2 & 0 & 0 & 0\\
0 & 1/K_2 & 0 & 0\\
-K_3 x_3\,\cos(K_3 x_1)-K_3 x_4\,\sin(K_3 x_1) & -K_1/K_2 & -\sin(K_3 x_1) & \cos(K_3 x_1)\\
-K_3 x_3\,\sin(K_3 x_1)+K_3 x_4\,\cos(K_3 x_1)&0& \cos(K_3 x_1) & \sin(K_3 x_1)
\end{array}\right]
\label{eq:jacooftb}
\end{equation}
We have
\begin{equation}
\b T(\b 0)=\b 0\quad \mb{and}\quad \det\, D \b T =-1/K_2^2 \ne 0\quad\mb{for all}\quad \b x\in \mb{\Bb R}^4,
\label{eq:globtransc}
\end{equation}
which means that we were able to find a global transformation into the controller form. The inverse, $\b x=\b T^{-1}(\b z)$ is
\begin{equation}
\left.\begin{array}{ccl}
x_1 &=& K_2z_1\\
x_2 &=& K_2z_2\\
x_3 &=& -K_1z_2\,\sin(K_3K_2 z_1)-z_3\,\sin(K_3K_2z_1)+z_4\,\cos(K_3K_2z_1) \\
x_4 &=& K_1z_2\,\cos(K_3K_2 z_1)+z_3\,\cos(K_3K_2z_1)+z_4\,\sin(K_3K_2z_1)
\end{array}\right\}
\label{eq:invofstr}
\end{equation}
We transform the PM stepper motor model into the new coordinates using~(\ref{eq:traofpmsm}), (\ref{eq:expefotrt}), and (\ref{eq:expefotrt}) to obtain
\begin{eqnarray}
\left[\begin{array}{c}
\dot{z}_1\\
\dot{z}_2\\
\dot{z}_3\\
\dot{z}_4
\end{array}\right]&=&\left[\begin{array}{c}
z_2\\
z_3\\
-K_2K_3z_2z_4-K_1z_3-K_2K_4z_2-K_5z_3-K_5K_1z_2\\
K_2K_3z_2z_3+K_1K_2K_3z_2^2-K_5z_4
\end{array}\right]\nonumber\\
&{}&\qquad +\left[\begin{array}{cc}
0 & 0\\
0 & 0\\
-\sin(K_3K_2 z_1) & \cos(K_3K_2 z_1)\\
\cos(K_3K_2 z_1) & \sin(K_3K_2 z_1)
\end{array}\right]\left[\begin{array}{c}
u_1\\
u_2
\end{array}\right].
\label{eq:pmstepinnco}
\end{eqnarray}
\end{example}\markex
\section{Linearizing State-Feedback Control}
Once the plant model is transformed into the controller form, we can construct a state-feedback controller in the new coordinates and then using the inverse transformation, represent the controller in the original coordinates. While constructing the controller in the new coordinates, a part of the controller is used to cancel nonlinearities thus resulting in a linear system in the new coordinates. This procedure, as we mentioned at the beginning of this chapter, is called the feedback linearization. Then, we proceed to construct the other part of the controller. This part can be designed using linear control methods because the feedback linearized system is linear.

We illustrate the above method of state feedback design on a numerical example involving the one-link manipulator whose model was described in Subsection~\ref{subsection:one_link_robot}. The state space model of the manipulator, given by~(\ref{eq:nomoolinum}), was transformed into the controller form in Example~\ref{ex:transonelinkcf}. The controller form of the one-link manipulator model is given by~(\ref{eq:onliincofo}). It is easy to design a stabilizing state-feedback controller in the new coordinates. It takes the form
\begin{equation}
u=-\tilde{f}_3\left(z_1,z_2,z_3\right)-(k_1 z_1+k_2 z_2+k_3 z_3),
\label{eqn:stsfeeiz}
\end{equation}
where $\tilde{f}_3\left(z_1,z_2,z_3\right)=9.8\sin (10z_1)+\left( 9.8\cos (10z_1)-10\right)z_2 - 10 z_3$. Suppose that the desired closed-loop poles of the feedback linearized one-link manipulator are to be located at $\{-3.5, -4, -5\}$. Then, the linear feedback gains $k_i$, $i=1,2,3$ that shift the poles to these desired locations are:
\[
k_1=70,\quad k_2=51.5,\quad k_3=12.5.
\]
Applying~(\ref{eqn:stsfeeiz}) with the above values of the linear feedback gains to the model~(\ref{eq:onliincofo}) gives
\[
\dot{\b z}=\left[\begin{array}{ccc}
0 & 1 & 0\\
0 & 0 & 1\\
-70 & -51.5 & -12.5
\end{array}\right]\b z .
\]
Next, applying the inverse transformation yields the controller in the original coordinates,
\begin{equation}
u=-7x_1-4.15 x_2-0.25x_3-0.98 x_2\cos(x_1)-12.25 \sin(x_1) .
\label{eq:lincoinorcoo}
\end{equation}
In Figure~\ref{fig:olinkouttr}, three plots of the manipulator's link angle, $x_1=\theta$, versus time are presented. The initial conditions have the form, $\b x(0)=\left[\begin{array}{ccc}
\theta(0)&0&0
\end{array}\right]^{\top}$. The control law applied to the manipulator is given by~(\ref{eq:lincoinorcoo}).
\begin{figure}
\centering
\includegraphics[scale=0.5]{onelink.ps}
%\vspace{2.5in}
%\hskip1.75in\special{ps:c:/mybook/onelink.ps y=2.5in}
\caption{Plots of the one-link manipulator's link angle, $x_1=\theta$, versus time for three different initial angles $\theta(0)$. The manipulator is driven by the state-feedback control law~(\ref{eq:lincoinorcoo}).}
\label{fig:olinkouttr}
\end{figure}

\section{Observer Form}
In this section, we discuss the problem of transforming a class of nonlinear system models into an observer form, which is then used to construct state estimators for these systems. We consider a single output nonlinear system model of the form
\begin{equation}
\left.\begin{array}{ccl}
\dot{\b x} & = & \b f(\b x)+\b G(\b x)\b u\\
y&=&h(\b x)
\end{array}\right\}
\label{eq:nonsoutsobfo}
\end{equation}
First, we analyze the case of unforced system when $\b u=\b 0$. In such a  case~(\ref{eq:nonsoutsobfo}) reduces to
\begin{equation}
\left.\begin{array}{ccl}
\dot{\b x} & = & \b f(\b x)\\
y&=&h(\b x)
\end{array}\right\}
\label{eq:nonsoutnoin}
\end{equation}

We desire to find a state variable transformation, written as $\b x=\b T(\b z)$ such that the model~(\ref{eq:nonsoutnoin}) in the $\b z$-coordinates is
\begin{equation}
\left.\begin{array}{ccl}
\dot{\b z} &=& \left[\begin{array}{ccccc}
0 & 0 & \cdots & 0 & 0\\
1 & 0 & \cdots & 0 & 0\\
\vdots &{}&\ddots& {}&\vdots\\
0&0&\cdots&1&0
\end{array}\right]\b z+\left[\begin{array}{c}
\alpha_0(y)\\
\alpha_1(y)\\
\vdots\\
\alpha_{n-1}(y)
\end{array}\right]=\b A\b z+\b{\alpha}(y)=\tilde{\b f}(\b z),\\
y&=&\left[\begin{array}{ccccc}
0&0&\cdots &0&1
\end{array}\right]\b z=\b c\b z.\end{array}\right\}
\label{eq:obserforfsosy}
\end{equation}
It is easy to verify that the state $\tilde{\b z}$ of the dynamical system
\begin{equation}
\dot{\tilde{\b z}}=\left(\b A-\b l\b c\right)\tilde{\b z}+\b{\alpha}(y)+\b ly,
\label{eq:obserforsinosy}
\end{equation}
will asymptotically converge to the state $\b z$ of~(\ref{eq:obserforfsosy}) if the matrix $\b A-\b l\b c$ is asymptotically stable. This is because the dynamics of the error, $\b e=\tilde{\b z}-\b z$, are described by
\begin{equation}
\dot{\b e}=\left(\b A-\b l\b c\right)\b e,\quad \b e(t_0)=\tilde{\b z}(t_0)-\b z(t_0)
\label{eq:errodynosoe}
\end{equation}
We will now derive a sufficiency condition for the existence of a state variable transformation that brings~(\ref{eq:nonsoutnoin}) into the observer form~(\ref{eq:obserforfsosy}).

Taking the derivative of $\b x=\b T(\b z)$ with respect to time yields
\begin{equation}
\dot{\b x}=\frac{\partial \b T}{\partial \b z}\dot{\b z}=\frac{\partial \b T}{\partial \b z}\tilde{\b f}(\b z),
\label{eq:timderoftr}
\end{equation}
where we represent the Jacobian matrix of $\b T(\b z)$, denoted $\frac{\partial \b T}{\partial \b z}$, as
\begin{equation}
\frac{\partial {\b T}}{\partial \b z}=D\b T=\left[\begin{array}{ccc}
\frac{\partial {\b T}}{\partial z_1}&\cdots &\frac{\partial {\b T}}{\partial z_n}
\end{array}\right].
\label{eq:deroftasafz}
\end{equation}
Equating the right-hand sides of $\dot{\b x}=\b f(\b x)$ and~(\ref{eq:timderoftr}) yields
\begin{equation}
\b f(\b x)=\b f(\b T(\b z))=\frac{\partial \b T}{\partial \b z}\tilde{\b f}(\b z).
\label{eq:funfoxandz}
\end{equation}
Taking the partial derivative of~(\ref{eq:funfoxandz}) with respect to $z_k$ yields
\begin{equation}
\fbox{$\displaystyle \frac{\partial \b f(\b T(\b z))}{\partial z_k}=\frac{\partial \left( \frac{\partial \b T}{\partial \b z}\right)}{\partial z_k}\tilde{\b f}(\b z)+\frac{\partial \b T}{\partial \b z}\frac{\partial \tilde{\b f}(\b z)}{\partial z_k} $}
\label{eq:pardeofwzk}
\end{equation}
On the other hand, using the chain rule gives
\begin{equation}
\frac{\partial \b f(\b T(\b z))}{\partial z_k}=\frac{\partial \b f}{\partial \b x}\frac{\partial \b T(\b z)}{\partial z_k}.
\label{eq:padefchru}
\end{equation}
Using~(\ref{eq:funfoxandz}) and the fact that $\b x=\b T(\b z)$, the first term on the right-hand side of~(\ref{eq:pardeofwzk}) evaluates to
\begin{equation}
\frac{\partial \left( \frac{\partial \b T}{\partial \b z}\right)}{\partial z_k}\tilde{\b f}(\b z)=\frac{\partial \left( \frac{\partial \b T}{\partial z_k}\right)}{\partial \b z}\tilde{\b f}(\b z)=\frac{\partial \left( \frac{\partial \b T}{\partial z_k}\right)}{\partial \b z}\frac{\partial \b x}{\partial \b x}\tilde{\b f}(\b z)=\frac{\partial \left( \frac{\partial \b T}{\partial z_k}\right)}{\partial \b x}\frac{\partial \b T(\b z)}{\partial \b z}\tilde{\b f}(\b z)=\frac{\partial \left( \frac{\partial \b T}{\partial z_k}\right)}{\partial \b x}\b f(\b x).
\label{eq:fiteonrsofpf}
\end{equation}
Employing~(\ref{eq:obserforfsosy}) and~(\ref{eq:deroftasafz}), we evaluate the second term on the right-hand side of~(\ref{eq:pardeofwzk}) to get
\begin{equation}
\frac{\partial \b T}{\partial \b z}\frac{\partial \tilde{\b f}(\b z)}{\partial z_k}=
\frac{\partial \b T}{\partial z_{k+1}},\quad k=1,2,\ldots,n-1.
\label{eq:seteofrchratf}
\end{equation}
Using the above and substituting~(\ref{eq:padefchru}) and~(\ref{eq:fiteonrsofpf}) into~(\ref{eq:pardeofwzk}) gives
\begin{equation}
\fbox{$\displaystyle \frac{\partial \b T}{\partial z_{k+1}}=\frac{\partial \b f}{\partial \b x}\frac{\partial \b T(\b z)}{\partial z_k}-\frac{\partial \left( \frac{\partial \b T}{\partial z_k}\right)}{\partial \b x}\b f(\b x),\quad k=1,2,\ldots,n-1. $}
\label{eq:patwrtzkpo}
\end{equation}
%and
%\begin{equation}
%\frac{\partial \b T}{\partial \b z}\frac{\partial \tilde{\b f}(\b %z)}{\partial z_n}=\frac{\partial \b f}{\partial \b x}\frac{\partial \b T(\b %z)}{\partial z_n}-\frac{\partial \left( \frac{\partial \b T}{\partial z_n} %\right)}{\partial \b x}\b f(\b x).
%\label{eq:padetwrxn}
%\end{equation}
With the help of the Lie-derivative notation introduced in Section~\ref{sec:confofononl}, we express~(\ref{eq:patwrtzkpo}) in an alternative way. Specifically, using~(\ref{eq:liebracde}) and~(\ref{eq:altliebde}), we represent~(\ref{eq:patwrtzkpo}) as
\begin{equation}
\frac{\partial \b T}{\partial z_{k+1}}=\left[\b f,\frac{\partial \b T}{\partial z_k}\right]=\left(\mb{ad}^1\b f,\frac{\partial \b T}{\partial z_k}   \right),\quad k=1,2,\ldots,n-1.
\label{eq:altptwxpolb}
\end{equation}
%and similarly,
%\begin{equation}
%\frac{\partial \b T}{\partial \b z}\frac{\partial \tilde{\b f}(\b %z)}{\partial z_n}=\left[\b f,\frac{\partial \b T}{\partial %z_n}\right]=\left(\mb{ad}^1\b f,\frac{\partial \b T}{\partial z_n}   \right).
%\label{eq:inasimffon}
%\end{equation}
Observe that
\begin{eqnarray*}
\frac{\partial \b T}{\partial z_2}&=&\left(\mb{ad}^1\b f,\frac{\partial \b T}{\partial z_1}  \right),\\
\frac{\partial \b T}{\partial z_3}&=&\left(\mb{ad}^1\b f,\frac{\partial \b T}{\partial z_2}  \right)=\left(\mb{ad}^2\b f,\frac{\partial \b T}{\partial z_1}  \right),\\
\vdots &{}& \qquad\vdots
\end{eqnarray*}
and in general
\begin{equation}
\fbox{$\displaystyle\frac{\partial \b T}{\partial z_k}=\left(\mb{ad}^{k-1}\b f,\frac{\partial \b T}{\partial z_1}    \right),\quad k=1,2,\ldots,n $}
\label{eq:iterafoth}
\end{equation}
With the aid of the above, we express all the columns of the Jacobian matrix~(\ref{eq:deroftasafz}) of $\b T(\b z)$ in terms of the starting vector $\partial \b T/\partial z_1$, that is,
\begin{equation}
\frac{\partial \b T}{\partial \b z}=\left[\begin{array}{cccc}
\left(\mb{ad}^0\b f,\frac{\partial \b T}{\partial z_1}   \right)&\left(\mb{ad}^1\b f,\frac{\partial \b T}{\partial z_1}  \right)&\cdots&\left(\mb{ad}^{n-1}\b f,\frac{\partial \b T}{\partial z_1}   \right)
\end{array}\right]
\label{eq:jacintstv}
\end{equation}
To obtain an expression for the starting vector $\partial \b T/\partial z_1$, we use the output equation
\begin{equation}
y=h(\b x)=z_n.
\label{eq:oueqyanzn}
\end{equation}
We use the chain rule when taking the partial derivative of~(\ref{eq:oueqyanzn}) with respect to $\b z$ to get
\begin{equation}
\frac{\partial h(\b x)}{\partial \b x}\frac{\partial \b T}{\partial \b z}=\left[\begin{array}{ccccc}
0&0&\cdots&0&1
\end{array}\right].
\label{eq:padeoywbz}
\end{equation}
We utilize~(\ref{eq:lideofdhwf}) to express the first component on the left-hand side of the above as
\begin{equation}
\frac{\partial h(\b x)}{\partial \b x}\frac{\partial \b T}{\partial z_1}=L_{\b f}^0(Dh)\frac{\partial \b T}{\partial z_1}=0.
\label{eq:fstcoofdh}
\end{equation}
Using the Leibniz formula, we represent the second component of the left-hand side of~(\ref{eq:padeoywbz}) as
\begin{eqnarray}
0&=&\frac{\partial h(\b x)}{\partial \b x}\frac{\partial \b T}{\partial z_2}\nonumber\\
&=&\left\langle \nabla h, \left[\b f,\frac{\partial \b T}{\partial z_1}\right]\right\rangle\nonumber\\
&=& L_{\frac{\partial \b T}{\partial z_1}}L_{\b f}h-L_{\b f}L_{\frac{\partial \b T}{\partial z_1}}h\nonumber\\
&=&L_{\frac{\partial \b T}{\partial z_1}}L_{\b f}h,
\label{eq:secoofdh}
\end{eqnarray}
because $\frac{\partial h(\b x)}{\partial \b x}\frac{\partial \b T}{\partial z_1}=0$ by~(\ref{eq:fstcoofdh}). We use~(\ref{eq:impproofdhf}) to represent~(\ref{eq:secoofdh}) as
\begin{eqnarray}
0&=&L_{\frac{\partial \b T}{\partial z_1}}L_{\b f}h\nonumber\\
&=&D L_{\b f}h \frac{\partial \b T}{\partial z_1}\nonumber\\
&=& L_{\b f}^1(Dh) \frac{\partial \b T}{\partial z_1}.
\label{eq:secousado}
\end{eqnarray}
By repeated application of the Leibniz formula and~(\ref{eq:jacintstv}), we express~(\ref{eq:padeoywbz}) equivalently as
\begin{equation}
\left[\begin{array}{c}
L^0_{\b f}(D h)\\
L^1_{\b f}(D h)\\
\vdots\\
L^{n-2}_{\b f}(D h)\\
L^{n-1}_{\b f}(D h)
\end{array}\right]\frac{\partial \b T}{\partial z_1}=\left[\begin{array}{c}
0\\
0\\
\vdots\\
0\\
1
\end{array}\right].
\label{eq:obsermaforsonn}
\end{equation}
The matrix
\begin{equation}
\left[\begin{array}{c}
L^0_{\b f}(D h)\\
L^1_{\b f}(D h)\\
\vdots\\
L^{n-2}_{\b f}(D h)\\
L^{n-1}_{\b f}(D h)
\end{array}\right]
\label{eq:obmannlsy}
\end{equation}
is called the observability matrix of the nonlinear system model~(\ref{eq:nonsoutnoin}). It follows from~(\ref{eq:obsermaforsonn}) that the starting vector $\partial \b T/\partial z_1$ is equal to the last column of the inverse of the observability matrix given by~(\ref{eq:obmannlsy}).

We now discuss the case of transforming a nonlinear system model with inputs, described by~(\ref{eq:nonsoutsobfo}), into its observer form. We proceed as recommended by Krener and Respondek~\cite[Section~6]{krener85}. First transform the unforced system into the observer form~(\ref{eq:obserforfsosy}). Then, check if the vector field $\b G(\b x)\b u$ is transformed into the form
\begin{equation}
\left(\frac{\partial \b T}{\partial \b z}\right)^{-1}\left.\b G(\b x)\right\arrowvert_{\b x=\b T(\b z)}\b u=\b{\beta}(y,\b u).
\label{eq:trsguinbyu}
\end{equation}
If this is the case, then set
\[
\b{\gamma}(y,\b u)=\b{\alpha}(y)+\b{\beta}(y,\b u).
\]
The above means that the system with inputs is transformed into the observer form,
\begin{equation}
\left.\begin{array}{ccl}
\dot{\b z} &=& \b A\b z+\b{\gamma}(y,\b u)\\
y&=&\b c\b z
\end{array}\right\}
\label{eq:obsforfosywins}
\end{equation}
where the matrices $\b A$ and $\b c$ are as in~(\ref{eq:obserforfsosy}). If the unforced system cannot be transformed into the observer form or $\b G(\b x)\b u$ does not transform into~(\ref{eq:trsguinbyu}), then the original system~(\ref{eq:nonsoutsobfo}) cannot be transformed into the observer form~(\ref{eq:obsforfosywins}).
\begin{example}\rm
Consider the one-link robot manipulator model that we analyzed in Subsection~\ref{subsection:one_link_robot}. The observability matrix for the system is
\begin{equation}
\left[\begin{array}{c}
L^0_{\b f}(D h)\\
L^1_{\b f}(D h)\\
L^{2}_{\b f}(D h)
\end{array}\right]=\left[\begin{array}{ccc}
1 & 0 & 0\\
0 & 1 & 0\\
9.8 \cos(x_1) & 0 & 1
\end{array}\right].
\label{eq:obsermaslm}
\end{equation}
The starting vector $\partial \b T/\partial z_1$ is the last column of the inverse of the above observability matrix,
\begin{equation}
\partial \b T/\partial z_1=\left[\begin{array}{c}
0\\
0\\
1
\end{array}\right].
\label{eq:strvecfol}
\end{equation}
We will now find the Jacobian matrix of the desired transformation:
\begin{equation}
\frac{\partial \b T}{\partial \b z}=\left[\begin{array}{ccc}
\left(\mb{ad}^0\b f,\frac{\partial \b T}{\partial z_1}   \right)&\left(\mb{ad}^1\b f,\frac{\partial \b T}{\partial z_1}  \right)&\left(\mb{ad}^{2}\b f,\frac{\partial \b T}{\partial z_1}    \right)
\end{array}\right]=\left[\begin{array}{ccc}
0 & 0 & 1\\
0 & 1 & -10\\
1 & -10 & 90
\end{array}\right].
\label{eq:jamaotfsim}
\end{equation}
Therefore, we can take
\begin{equation}
\b x=\b T(\b z)=\left[\begin{array}{ccc}
0 & 0 & 1\\
0 & 1 & -10\\
1 & -10 & 90
\end{array}\right]\b z.
\label{eq:trfosili}
\end{equation}
Note that $\b T(\b 0)=\b 0$. The inverse transformation is
\begin{equation}
\b z=\b T^{-1}\b x=\left[\begin{array}{ccc}
10 & 10 & 1\\
10 & 1 & 0\\
1 & 0 & 0
\end{array}\right]\b x.
\label{eq:invtrsiman}
\end{equation}
The system in the new coordinates has the form
\begin{eqnarray*}
\dot{\b z}&=&\left.\left(\frac{\partial \b T}{\partial \b z}\right)^{-1}\b f (\b x)\right\arrowvert_{\b x={\b T}(\b z)}+\left.\left(\frac{\partial \b T}{\partial \b z}\right)^{-1}\b g(\b x)\right\arrowvert_{\b x={\b T}(\b z)}u=\b A\b z+\b{\gamma}(y,u)\\
y&=&\b c\b z.
\end{eqnarray*}
Performing simple manipulations yields
\begin{eqnarray}
\dot{\b z}&=&\left[\begin{array}{ccc}
0&0&0\\
1&0&0\\
0&1&0
\end{array}\right]\b z+\left[\begin{array}{c}
98\sin(y)+10 u\\
9.8\sin(y) - 10 y\\
-10y
\end{array}\right]\label{eq:obsfoonl}\\
y&=&\left[\begin{array}{ccc}
0&0&1
\end{array}\right]\b z=z_3.
\label{eq:simainncoo}
\end{eqnarray}
\end{example}\markex

\section{Asymptotic State Estimator}
Once the nonlinear system model~(\ref{eq:nonsoutsobfo}) is in the observer form, we can proceed with the construction of an asymptotic state estimator using the technique from the linear systems. The state estimator dynamics in the new coordinates are
\begin{equation}
\dot{\tilde{\b z}}=\left(\b A-\b l\b c\right)\tilde{\b z}+\b l y+\b{\gamma}(y,\b u),
\label{eqn:nonestidy}
\end{equation}
where the estimator gain vector $\b l$ is chosen so that the matrix $(\b A-\b l\b c)$ has its eigenvalues in the desired locations in the open left-hand complex plane. It is easy to verify that the state estimation error, $\b z-\tilde{\b z}$, satisfies the linear differential equation,
\[
\frac{d}{dt}(\b z-\tilde{\b z})=\left(\b A-\b l\b c\right)\left(\b z-\tilde{\b z}\right).
\]
Applying the inverse transformation to~(\ref{eqn:nonestidy}), we obtain the state estimator dynamics in the original coordinates.

We illustrate the above method of constructing a state estimator using the model of the one-link manipulator from Subsection~\ref{subsection:one_link_robot}. We first construct a state estimator for the one-link manipulator model in the observer form given by~(\ref{eq:obsfoonl}) and~(\ref{eq:simainncoo}). Suppose that we wish the eigenvalues of the state estimator matrix, $\b A-\b l\b c$, to be located at $\{-9, -10, -11\}$. Then, the estimator gain vector is $\b l=\left[\begin{array}{ccc}
990 & 299 & 30
\end{array}\right]^{\top}$. With the above choice of the state estimator design parameters, its dynamics in the new coordinates become
\begin{eqnarray}
\dot{\tilde{\b z}}&=&\left[\begin{array}{ccc}
0&0&-990\\
1&0&-299\\
0&1&-30
\end{array}\right]\tilde{\b z}+\left[\begin{array}{c}
990\\
299\\
30
\end{array}\right]y+\left[\begin{array}{c}
98\sin(y)+10 u\\
9.8\sin(y) - 10 y\\
-10y
\end{array}\right]\label{eq:estiinzcoo}\\
y&=&\left[\begin{array}{ccc}
0&0&1
\end{array}\right]\b z=z_3.
\label{eq:estisouinz}
\end{eqnarray}
Using transformations~(\ref{eq:trfosili}) and~(\ref{eq:invtrsiman}), we represent the state estimator dynamics in the original coordinates,
\begin{eqnarray}
\dot{\tilde{\b x}}&=&\left[\begin{array}{ccc}
-20&1&0\\
-89 & 0 & 1\\
100&-10&-10
\end{array}\right]\tilde{\b x}+\left[\begin{array}{c}
30\\
-1\\
700
\end{array}\right]y+\left[\begin{array}{c}
-10y\\
9.8\sin(y) + 90 y\\
-800y + 10u
\end{array}\right]\label{eq:estioldcoo}\\
y&=&\left[\begin{array}{ccc}
1&0&0
\end{array}\right]\b x=x_1.
\label{eq:estiooldcoo}
\end{eqnarray}
Performing simple manipulations, we represent the above state estimator as:
\begin{eqnarray}
\dot{\tilde{\b x}}&=&\left[\begin{array}{ccc}
0&1&0\\
0&0&1\\
0&-10&-10
\end{array}\right]\tilde{\b x}+\left[\begin{array}{c}
0\\
9.8\sin(y)\\
0
\end{array}\right]-\left[\begin{array}{c}
20\\
89\\
-100
\end{array}\right](\tilde{y}-y)+\left[\begin{array}{c}
0\\
0\\
10
\end{array}\right]u\label{eq:estisim}\\
y&=&\left[\begin{array}{ccc}
1&0&0
\end{array}\right]\b x=x_1
\label{eq:estioutsim}\\
\tilde{y} &=& \left[\begin{array}{ccc}
1&0&0
\end{array}\right]\tilde{\b x}=\tilde{x}_1\label{eq:xonetild}
\end{eqnarray}

\section{Combined Controller-Estimator Compensator}
Having constructed a state estimator, we use the state estimates, rather than the states themselves, in the state-feedback control law implementation. The question now is how the incorporation of the state estimator affects the stability of the closed-loop system with the combined estimator-controller compensator in the loop. Recall that in the case of linear systems, we were able to show that the closed-loop system was asymptotically stable. In the present case, one has to be careful when analyzing the stability of the closed-loop system with the combined estimator-controller compensator in the loop. The plant's nonlinearities
may cause difficulties in stabilizing the closed-loop system using the combined controller-estimator compensator. However, for certain ``nice'' nonlinearities, for example the ones for which the Lipschitz condition is satisfied, one should be able to find stability conditions in terms of the nonlinearity's Lipschitz constant and the location of the estimator's poles rather easily.

We now illustrate the implementation of the combined estimator-controller compensator on the one-link manipulator model. In this example, the controller is
\begin{equation}
u=-7\tilde{x}_1-4.15 \tilde{x}_2-0.25\tilde{x}_3-0.98 \tilde{x}_2\cos(\tilde{x}_1)-12.25 \sin(\tilde{x}_1) .
\label{eq:comboestcon}
\end{equation}
In Figure~\ref{fig:onl_com}, plots of the one-link manipulator output for three different initial conditions are shown. The manipulator is driven by the combined controller-estimator compensator consisting of the state estimator~(\ref{eq:estisim}), (\ref{eq:estioutsim}), and~(\ref{eq:xonetild}) and the control law~(\ref{eq:comboestcon}). The initial conditions of the estimator were set to zero while the initial conditions of the plant were the same as when we implemented the state-feedback control alone.
\begin{figure}
\centering
\includegraphics[scale=0.5]{onl_com.ps}
%\vspace{2.5in}
%\hskip1.75in\special{ps:c:/mybook/onl_com.ps y=2.5in}
\caption{Plots of the one-link manipulator's link angle, $x_1=\theta$, versus time for three different initial angles $\theta(0)$. The manipulator is driven by the combined controller-estimator compensator.}
\label{fig:onl_com}
\end{figure}
Comparing plots of Figures~\ref{fig:olinkouttr} and~\ref{fig:onl_com}, we can see that the presence of the estimator alters the system output in a noticeable way.
\section{Notes}
Friedland~\cite[page~123]{friedland96}  has the following remarks to offer on the method of feedback linearization: ``The idea underlying feedback linearization is fairly obvious. The method probably was used for many years in practical control system design without anyone having reported it. Concurrently, a number of mathematical investigations on the use of differential geometry in dynamical systems were conducted without much notice by control system designers.''

Our exposition of feedback linearization is based on the papers of Sommer~\cite{sommer80} and \.{Z}ak and MacCarley~\cite{zak86}. The research in applying differential geometric methods to the control design intensified after the papers by Su~\cite{su82}, and by Hunt, Su, and Meyer~\cite{hunt83} appeared. Bakker and Nijmeijer~\cite{bakker85} showed the equivalence of the Sommer's approach and that of Hunt, Su, and Meyer. Our treatment of the subject of state estimation follows the approach of Bestle and Zeitz~\cite{bestle83}, which in turn was presented, using the differential geometry notation, in the paper by Walcott, Corless, and \.{Z}ak~\cite{walcott87b}. Zeitz~\cite{zeitz87} offers a generalization of the method proposed by Walcott et al.~\cite{walcott87b}.
For further study of differential geometric techniques in nonlinear feedback design, we recommend books by Isidori~\cite{isidori95}, and Marino and Tomei~\cite{marino95}.
\section{Exercises}
\begin{exercise}\rm
Verify the Leibniz formula~(\ref{eq:lebniform}).
\end{exercise}
\begin{exercise}\label{exer:one_linkman}\rm
Consider the one-link robot manipulator of Example~\ref{ex:one_link} whose model is given by~(\ref{eq:nomoolinum}) and~(\ref{eq:ouoonlima}). Treat this model as a simulation model. In order to obtain a design model, eliminate the armature inductance from the design model. In other words, neglect high-frequency parasitics represented by $L_a$ in the simulation model. For this set $L_a=0$, compute $x_3$ from the equation obtained by setting $L_a=0$ and substitute the result into the second of the state equations. The result will be a second-order design model. Represent the design model in the form
\[
\dot{\b x}=\b A\b x+\b b(u+\xi),
\]
where $\xi=9.8 \sin(x_1)$ represents the model nonlinearity.
Use the design model to construct:
\begin{itemize}
\item[(a)] the sliding surface, $\sigma=\b s\b x=0$, so that the design model restricted to this surface will have a pole at -3;
\item[(b)] construct a control law of the form
\[
u=-k_1x_1\mb{sign}(x_1\sigma)-k_2x_2\mb{sign}(x_2 \sigma)
\]
so that $\sigma\dot{\sigma}<0$ for all $\b x\in\mb{\Bb R}^2$ for which $\sigma(\b x)\ne 0$. While constructing the controller $u$ use the fact that
\[
-1\le \frac{\sin(x_1)}{x_1}\le 1.
\]
\item[(c)] Apply the above control law to the simulation model in which $L_a=10$~mH. Plot $x_1$, $x_2$ and $x_3$ versus time and compare these plots with the plots of $x_1$ and $x_2$ versus time when the above controller was applied to the design model. Investigate a destabilizing effect of increasing $L_a$ on the behavior of the closed-loop system composed of the simulation model and the control law from part~(b).
\end{itemize}
\end{exercise}
\begin{exercise}\label{ex:invfunc}\rm
Let ${\cal S}$ be an open set in $\mb{\Bb R}^n$ and let $\b f:{\cal S} \to \mb{\Bb R}^n$, where
\[
\b f(\b x)=\left[\begin{array}{cccc}
f_1(\b x) & f_2(\b x) & \cdots & f_n(\b x)
\end{array}\right]^{\top}.
\]
Recall that if all partial derivatives of all functions $f_i$ exist and are continuous in ${\cal S}$, then we say that $\b f$ is a ${\cal C}^1$ function, map, in ${\cal S}$. We say that $\b f$ is a ${\cal C}^p$ function, map, in ${\cal S}$ if each component $f_i$ is continuous and has continuous partial derivatives in ${\cal S}$ for all $k=1,2,\ldots,p$.

Let $\b f:\mb{\Bb R}^n \to \mb{\Bb R}^n$ be a ${\cal C}^p$-map, $p>0$, on an open subset ${\cal S}$ of $\mb{\Bb R}^n$, and let $\b a$ be a point of ${\cal S}$. We say that $\b f$ is locally ${\cal C}^p$-invertible at $\b a$ if there is an open set ${\cal U} \subset {\cal S}$ containing $\b a$ and an open set ${\cal V}$ containing $\b f(\b a)$ such that $\b f:{\cal U} \to {\cal V}$ has a ${\cal C}^p$ inverse $\b h:{\cal V} \to {\cal U}$ so that for all $\b x \in {\cal U}$,
\[
\b h( \b f(\b x))=\b x.
\]
Figure~\ref{fig:inverse} illustrates the sets ${\cal U}$ and ${\cal V}$ for one variable case.
\begin{figure}
\centering
\includegraphics[scale=0.5]{inverse_map.eps}
%\centerbmp{3.33in}{2.5in}{c:/mybook/inverse.bmp}
%\vspace{3in}
%\hskip1in\special{bmp:c:/mybook/inverse.bmp x=4in y=3in}
\caption{An illustration of the sets ${\cal U}$ and ${\cal V}$ that appear in the inverse function theorem.}
\label{fig:inverse}
\end{figure}
The Jacobian matrix of $\b f:\mb{\Bb R}^n \to \mb{\Bb R}^n$, denoted $\b J(\b x)$, is defined as
\[
\b J(\b x)=D\b f(\b x)=\left[\begin{array}{c}
\nabla f_1(\b x)^{\top}\\
\nabla f_2(\b x)^{\top}\\
\vdots\\
\nabla f_n(\b x)^{\top}
\end{array}\right]=\left[\begin{array}{c}
D f_1(\b x)\\
D f_2(\b x)\\
\vdots\\
D f_n(\b x)
\end{array}\right].
\]
Prove the inverse function theorem for maps:
\begin{thm}
\label{invfuntgen}
Let $\b f:\mb{\Bb R}^n \to \mb{\Bb R}^n$ be a ${\cal C}^p$-map, $p>0$, on an open subset ${\cal S}$ of $\mb{\Bb R}^n$, and let $\b a$ be a point of ${\cal S}$ such that the Jacobian matrix $\b J(\b a)$ is invertible, and $\b b=\b f\left(\b a \right)$. Then, there exist open sets ${\cal U}$ and ${\cal V}$ in $\mb{\Bb R}^n$ such that $\b a \in {\cal U}$, $\b b \in {\cal V}$, $\b f$ is one-to-one on ${\cal U}$, $\b f({\cal U})={\cal V}$, and $\b f$ is locally ${\cal C}^p$-invertible at $\b a$.
\end{thm}
\end{exercise}

\begin{exercise}\rm
For the dynamical system model
\[
\left[\begin{array}{c}
\dot{x}_1\\
\dot{x}_2
\end{array}\right]=\left[\begin{array}{c}
x_1x_2+x_2\\
x_1+x_2
\end{array}\right]+\left[\begin{array}{c}
1\\
0
\end{array}\right]u,
\]
\begin{itemize}
\item[(i)] Construct a smooth state-space transformation, $\b z=\b T(\b x)$, that transforms the system into the controller form;
\item[(ii)] Transform the system into the controller form;
\item[(iii)] In the $\b z$-coordinates, design a linearizing state-feedback  controller so that the linear closed-loop system has poles at $-2\pm 2j$;
\item[(iv)] Represent the control law in the $\b x$-coordinates.
\end{itemize}
\end{exercise}
\begin{exercise}\label{exer:confoalin}\rm
Consider the following model of a dynamical system:
\[
\left[ \begin{array}{c}
\dot{x}_1\\
\dot{x}_2
\end{array}
\right] = \left[ \begin{array}{c}
x_1^2+x_2\\
x_1^3+x_2
\end{array}
\right] + \left[ \begin{array}{c}
0\\
1
\end{array}
\right]u.
\]
\begin{itemize}
\item[(i)] Transform the system into the controller form;
\item[(ii)] Design the linearizing state-feedback controller such that the closed-loop system in the new coordinates has its poles at $-1$ and $-2$;
\item[(iii)] Linearize the closed-loop system about $\b x=\b 0$ and find the poles of the linearized model;
\item[(iv)] Perform numerical simulations of the dynamical behavior of the closed-loop system for a few initial conditions. Plot $x_1$ versus time as well as $x_2$ versus time.
\end{itemize}

\end{exercise}
\begin{exercise}\rm
Consider the following model of a dynamical system,
\[
\dot{\b x}=\left[\begin{array}{c}
x_2+2x_2^2\\
2x_2
\end{array}\right]+\left[\begin{array}{c}
x_2\\
1
\end{array}\right]u.
\]
\begin{itemize}
\item[(i)] Construct a smooth state-space transformation $\b z=\b T(\b x)$ that transforms the system into the controller form, then transform the system into the controller form;
\item[(ii)] In the $\b z$-coordinates, design a linearizing state-feedback controller so that the linear closed-loop system has poles at $-2\pm 2j$, then represent the control law in the $\b x$-coordinates;
\item[(iii)] Perform numerical simulations of the dynamical behavior of the closed-loop system for a few initial conditions. Plot $x_1$ versus time as well as $x_2$ versus time.
\end{itemize}
\end{exercise}
\begin{exercise}\rm
Consider a dynamical system modeled by the equations,
\begin{eqnarray*}
\left[\begin{array}{c}
\dot{x}_1\\
\dot{x}_2
\end{array}\right]&=&\left[\begin{array}{c}
-x_1\\
x_1-x_2-x_2^3
\end{array}\right]+\left[\begin{array}{c}
1\\
0
\end{array}\right]u,\\
y&=&x_2.
\end{eqnarray*}
\begin{itemize}
\item[(i)] Find a smooth state-space transformation $\b z=\b T(\b x)$ that brings the above system model into the controller form;
\item[(ii)] Find the system's equations in the new coordinates;
\item[(iii)] Find a smooth state-space transformation $\b x=\b T(\b z)$ that brings the above system model into the observer form;
\item[(iv)] Find the system's observer form.
\end{itemize}

\end{exercise}
\begin{exercise}\rm
Consider a dynamical system modeled by the following equations:
\begin{eqnarray*}
\left[\begin{array}{c}
\dot{x}_1\\
\dot{x}_2
\end{array}\right]&=&\left[\begin{array}{c}
x_1^2+x_2\\
x_1^3+x_2
\end{array}\right]+\left[\begin{array}{c}
0\\
1
\end{array}\right]u\\
y&=&\left[\begin{array}{cc}
1 & 0
\end{array}\right]\left[\begin{array}{c}
x_1\\
x_2
\end{array}\right].
\end{eqnarray*}
Note that this is the same plant as in Exercise~\ref{exer:confoalin} plus the output map.
\begin{itemize}
\item [(i)] Transform the above model into the observer form;
\item[(ii)] Design a state estimator so that the poles of the linearized error dynamics are located at $-3$ and $-4$;
\item[(iii)] Use the control law developed in Exercise~\ref{exer:confoalin} and the state estimator from the previous part of this exercise to construct a combined controller-estimator compensator. Simulate the behavior of the closed-loop system for a few different initial conditions. Note that because the state variables of the state estimator are available to you, you can always set zero initial conditions on the estimator if you wish to do so. Plot the output of the plant versus time.

\end{itemize}

\end{exercise} 