Feedback Linearization, Part 3
Feedback Linearization Theorem
We talked about feedback linearization theorem last time. As a recap:
Feedback Linearization Theorem: Nonlinear system $\Sigma: \dot{x} = f(x) + g(x)u$ is feedback linearizable if:
- $[g(x), ad_fg(x), \ldots, ad_f^{n-1}g(x)]$ has rank $n$ $\forall x$.
- $\Delta = \text{span}\{g(x), ad_fg(x), \ldots, ad_f^{n-2}g(x)\}$ is involutive.
The first condition guarantees controllability, while the second condition guarantees that we can always find an output $y = h(x)$ that has relative degree equal to the system degree, according to Forbenius theorem. Actually, this is also just observability.
We now look at some examples.
Consider the system
$$ \dot{x} = \begin{pmatrix} a \sin x_2 \\ -x_1^2 \end{pmatrix} + \begin{pmatrix}0 \\ 1 \end{pmatrix}u $$
We would like to ask 2 questions:
- Is the system feedback linearizable?
- If so, how shall we find the output $y = h(x)$?
To answer the first question, we first validate if the first condition is met from feedback linerization theorem.
$$
g(x) = \begin{pmatrix}0 \\ 1 \end{pmatrix}
$$
$$ad_fg = [f, g] = \begin{pmatrix} -a \cos x_2 \\ 0 \end{pmatrix}$$
Therefore,
$$
[g(x), ad_fg(x)] = \begin{pmatrix}0 & -a \cos x_2 \\ 1 & 0 \end{pmatrix}
$$
This new matrix is always rank 2, for all $x$, except when $\cos x_2 = 0$.
The distribution $\Delta = \text{span}\{g(x) \}$ has only one element, so it’s trivially involutive. Therefore we conclude the system is feedback linearizable.
Now, how shall we find the output $y$? We would like to find an output $y = h(x)$ such that it has relative degree of $2$, i.e.:
$$\begin{cases}
\begin{align}
\frac{\partial h}{\partial x} g(x) &= 0 \\
\frac{\partial L_f h}{\partial x} g(x) &\neq 0
\end{align}
\end{cases}
$$
The first PDE will give us
$$ \frac{\partial h}{\partial x_2} = 0 $$
meaning $h(x)$ shall be independent of $x_2$. We sub this fact into the second PDE:
$$ \frac{\partial L_f h}{\partial x} g(x) = \frac{\partial L_fh}{\partial x_2} = \frac{\partial h}{\partial x_1}a \cos x_2 \neq 0$$
Therefore, we can pick a few candidate $h(x)$, for example: $x_1$, $x_1^5$, and so forth. If we pick $h(x) = x_1$, then we can linearize the system as
$$ \ddot{y} = v$$
where the state and control transform is given by
$$ \begin{cases}
\begin{align}
y &= x_1 \\
\dot{y} &= a\sin x_2 \\
u &= (x_1^2 + v) \frac{1}{a\cos x_2}
\end{align}
\end{cases}
$$
The audience is encouraged to verify the linearization by substituting the transforms back into the original system.
As a result, we are able to design a linear control between $y$ and $v$ by LQR or pole placement, and we utilize the state and control transform to convert the system back into the original nonlinear system.