Feedback linearization is the process of determining a feedback law and a change of coordinates that transform a nonlinear system into a linear and controllable one.
Contents |
Consider a single-input nonlinear system (without output) \[\tag{1} \dot x = f(x) + g(x)u \]
with internal state \(x \in \mathbb{R}^n\) and input \(u \in \mathbb{R}\ .\) Given a point \(x^\circ \in \mathbb{R}^n\ ,\) the problem of feedback linearization consists in finding a neighborhood \(U\) of \(x^\circ\ ,\) a coordinate transformation \(z=\phi(x)\) defined on \(U\ ,\) and a feedback law \[ u=\alpha(x)+\beta(x)v \] where \(x \in U\) and \(v \in \mathbb{R}\) is an external input, such that the resulting closed loop system \[ \dot x = f(x) + g(x)\alpha(x)+g(x)\beta(x)v \] expressed in the \(z\) coordinates is linear and controllable.
Let \(\lambda\) be a real-valued function defined on a subset \(U\) of \(\mathbb{R}^n\ ;\) the differential of \(\lambda\ ,\) denoted \(d\lambda(x)\ ,\) is the row vector \[ d\lambda(x) := \left( \frac{\partial \lambda}{\partial x_1}(x) \ \frac{\partial \lambda}{\partial x_2}(x) \ \cdots \ \frac{\partial \lambda}{\partial x_n}(x) \right):= {\partial \lambda \over \partial x}(x)\,.\] Let \(f\) be an \(n\)-vector-valued function defined on \(U\ .\) The function \(L_f\lambda\) is the real-valued function defined as \[L_f\lambda(x):=\sum_{i=1}^n{\partial\lambda\over\partial x_i}f_i(x) = {\partial\lambda\over\partial x}f(x)\,.\] This function is sometimes called derivative of \(\lambda\) along \(f\ .\) If \(\lambda\) is being differentiated \(k\) times along \(f\ ,\) the notation \(L_f^k \lambda\) is used; in addition \(L_f^0 \lambda=\lambda\ .\)
Let \(g\) be another \(n\)-vector-valued function defined on \(U\ .\) The Lie product (or bracket) of \(f\) and \(g\) denoted by \([f,g]\) is the \(n\)-vector-valued function defined by \[ [f,g](x):=\frac{\partial g}{\partial x}f(x)-\frac{\partial f}{\partial x}g(x)\;. \] If \(g\) is bracketed with \(f\) several times the notation \(ad^k_fg\) is used, which is defined as \(ad^k_fg=[f,ad^{k-1}_fg]\ ,\) with \(ad^0_f g=g\ .\)
Let \(f_i \ i=1,\ldots,d\) be \(n\)-vector-valued functions defined on \(U\ .\) The assignment, with each \(x \in U\ ,\) of the subspace \[ \Delta(x)=\mathrm{span} \{f_1(x), \ldots, f_d(x) \} \] defines a distribution \(\Delta\ .\) It is said that \(f \in \Delta\) if \(f(x) \in \Delta(x)\ \forall x \in U\ .\) The distribution \(\Delta\) is involutive if \( \tau_1~\in~\Delta\) and \(\tau_2 \in~\Delta \Rightarrow [\tau_1, \tau_2] \in \Delta\;. \) It can be proved that \(\Delta\) is involutive if and only if \( [f_i, f_j] \in \Delta\) for all \(i,j=1,\ldots,d \ .\)
The point of departure of the whole analysis is the notion of relative degree of a system, which is formally described in the following way. The single-input single-output nonlinear system \[\tag{2} \begin{array}{rcl} \dot x&=& f(x)+g(x)u\\ y&=& h(x) \end{array} \]
with internal state \(x \in \mathbb{R}^n\ ,\) input \(u \in \mathbb{R}\ ,\) and output \(y \in \mathbb{R}\) is said to have relative degree \(r\) at a point \(x^\circ\) if
(i) \(L_gL_f^kh(x)=0\) for all \(x\) in a neighborhood of \(x^\circ\) and all \(k =0, \ldots, r-2\)
(ii) \(L_gL_f^{r-1}h(x^\circ )\ne 0\;.\)
It is possible to show that the functions \(h(x)\ ,\) \(L_fh(x),\ldots,L_f^{r- 1}h(x)\) can be used in order to define, at least partially, a local coordinates transformation around \(x^\circ\ .\) This fact is based on the following property.
Lemma 1. If system (2) has relative degree \(r\) at \(x^\circ\ ,\) then the row vectors \[dh(x^\circ ),dL_fh(x^\circ ),\ldots,dL_f^{r-1}h(x^\circ )\] are linearly independent.
Lemma 1 shows that necessarily \(r \le n\) and that the \(r\) functions \(h(x), L_fh(x), \ldots, L_f^{r-1}h(x)\) qualify as a partial set of new coordinate functions around the point \(x^\circ\ .\) If \(r\) is strictly less than \(n\ ,\) the set of new coordinates can be completed as described in the following.
Lemma 2. Suppose that system (2) has relative degree \(r\) at \(x^\circ\ .\) Then \(r\le n\ .\) If \(r\) is strictly less than \(n\ ,\) it is always possible to find \(n-r\) more functions \(\psi_{1}(x),\ldots,\psi_{r-r}(x)\) such that the mapping \[\Phi(x)=\left(\begin{array}{c} \psi_1(x)\\ \ldots\\ \psi_{n-r}(x)\\ h(x)\\ L_fh(x)\\ \ldots\\ L_f^{r-1}h(x) \end{array} \right)\] qualifies as a local coordinates transformation in a neighborhood of \(x^\circ\ .\) Moreover, it is always possible to choose \(\psi_{1}(x), \ldots, \psi_{n-r}(x)\) in such a way that \(L_g \psi_i(x)=0\) for all \(i = 1, \ldots, n-r\) and all \(x\) around \(x^\circ.\)
Setting \[ z = \left( \begin{array}{c} \psi_{1}(x)\\ \psi_{2}(x) \\ \cdots \\ \psi_{n-r}(x) \end{array} \right), \quad \xi = \left( \begin{array}{c} h(x)\\ L_fh(x) \\ \cdots \\ L_f^{r-1}h(x) \end{array} \right)\;, \] the description of the system in the new coordinates is as follows \[\tag{3} \begin{array}{rcl} \dot z &=& f_0(z,\xi) \\ \dot \xi_1&=& \xi_2\\ \dot \xi_2&=& \xi_3\\ &&\cdots\\ \dot \xi_{r-1}&=&\xi_r\\ \dot \xi_r&=& q(z,\xi)+b(z,\xi)u\\ y &=& \xi_1 \end{array} \]
where \[ \begin{array}{rcl} f_0(z,\xi) &=& \left( \begin{array}{c} L_f\psi_1(\Phi^{-1}(z,\xi))\\ \cdots\\ L_f\psi_{n-r}(\Phi^{-1}(z,\xi))\end{array} \right) \\ q(z,\xi)&=&L_f^rh(\Phi^{-1}(z,\xi))\\ b(z,\xi)&=&L_gL_f^{r-1}h(\Phi^{-1}(z,\xi))\;. \end{array} \] Note that \(b(z^\circ,\xi^\circ) \ne 0\) where \((z^\circ,\xi^\circ)=\Phi(x^\circ )\ .\) Thus, the function \(b(z,\xi)\) is nonzero for all \((z,\xi)\) in a neighborhood of \((z^\circ,\xi^\circ)\ .\)
Equations (3) are said to be in normal form.
In this section conditions and constructive procedures are given for finding a solution to the feedback linearization problem.
Consider the nonlinear system with output (2) and suppose that at some point \(x^\circ\) the system has relative degree equal to the dimension of the state, i.e. \(r=n\ .\) In this case, the change of coordinates that puts the system in normal form is given by \[\tag{4} \Phi(x)= \left( \begin{array}{c} h(x)\\ L_f h(x)\\ \cdots\\ L_f^{n-1}h(x) \end{array} \right) \;. \]
Performing the change of coordinates \(\xi=\Phi(x)\) and neglecting the output, the system is described by \[ \begin{array}{rcl} \dot \xi_1&=& \xi_2\\ \dot \xi_2&=& \xi_3\\ &&\cdots\\ \dot \xi_{n-1}&=&\xi_n\\ \dot \xi_n&=& q(\xi)+b(\xi)u \end{array} \] where \[ \begin{array}{rcl} q(\xi)&=&L_f^rh(\Phi^{-1}(\xi))\\ b(\xi)&=&L_gL_f^{r-1}h(\Phi^{-1}(\xi))\;. \end{array} \] Recall that in a neighborhood of \(\xi^{\circ}=\Phi(x^{\circ})\) the function \(b(\xi)\) is nonzero.
Apply now the following feedback control law \[ u=\frac{1}{b(\xi)}(-q(\xi)+v) \] which is well defined in a neighborhood of \(\xi^{\circ}\ .\) The resulting closed loop system is given by \[ \begin{array}{rcl} \dot \xi_1&=& \xi_2\\ \dot \xi_2&=& \xi_3\\ &&\cdots\\ \dot \xi_{n-1}&=&\xi_n\\ \dot \xi_n&=& v \end{array} \] which is linear and controllable. Thus, we conclude that any nonlinear system with relative degree \(n\) at some point \(x^{\circ}\) can be transformed, using a coordinate transformation and a feedback, into a linear and controllable system.
In general, the two transformations used in order to obtain a linear and controllable system can be interchanged: one can first apply a feedback and then change the coordinates without modifying the result. Note that the feedback just used expressed in the \(x\) coordinates is given by \[ u=\frac{1}{b(\Phi(x))}(-q(\Phi(x))+v)=\frac{1}{L_gL_f^{n-1}h(x)}(-L_f^nh(x)+v)\;. \] The above feedback is called linearizing feedback and the coordinates defined by (4) are called linearizing coordinates.
Of course, the basic feature that made feedback linearization possible was that system (2) had relative degree \(n\) (at \(x^{\circ}\)). Thus, the system without output (1) can be feedback linearized if it is possible to find an "output" function \(h(x)\) such that the corresponding system with output (2) has relative degree \(n\) (at \(x^{\circ}\)). The above condition turns out to be also necessary for solving the feedback linearization problem as stated in the following.
Lemma 3. The feedback linearization problem is solvable if and only of there exists a neighborhood \(U\) of \(x^{\circ}\) and a real-valued function \(h(x)\) defined on \(U\ ,\) such that system (2) has relative degree \(n\) at \(x^{\circ}\ .\)
The question now arises of when, given a system of the form (1) (namely a pair of \(n\)-vector-valued functions \(f(x)\) and \(g(x)\)) there exists an "output function" \(h(x)\) such that the resulting system (2) has relative degree \(n\) at \(x^{\circ}\ .\) This is answered by the following result.
Theorem 1. Let \(f(x)\ ,\) \(g(x)\ ,\) and \(x^{\circ}\) be given. The feedback linearization problem is solvable (i.e. there exists an "output" function \(h(x)\) for which system (2) has relative degree \(n\) at \(x^{\circ}\)) if and only if the following conditions are satisfied
(i) the matrix \(\left( g(x^{\circ}) \ ad_f g(x^{\circ}) \cdots \ ad_f^{n-2} g(x^{\circ}) \ ad_f^{n-1} g(x^{\circ}) \right)\) is nonsingular
(ii) the distribution \(\mathrm{span} \{ g,\ ad_f g, \cdots, ad_f^{n-2}g \}\) is involutive near \(x^{\circ}\ .\)
It can be shown that the "output" function \(h(x)\) for which the system has relative degree \(n\) at \(x^{\circ}\) is a solution of the following system of first order partial differential equations \[ L_gh(x)=L_{ad_{f}g}h(x)= \ldots = L_{ad^{n-2}_{f}g}h(x)=0\;. \] If the assumptions of Theorem 1 are satisfied, then it is guaranteed that there exist solutions to the above system of equations. Once \(h(x)\) has been determined, the linearizing feedback and the linearizing coordinates can be obtained as discussed before.
Consider the system \[ \dot x = \left(\begin{array}{c} x_3(1+x_2) \\x_1 \\x_2(1+x_1) \end{array}\right) +\left(\begin{array}{c}0 \\1+x_2 \\-x_3 \end{array}\right) u\;. \]
In order to check whether or not this system is feedback linearizable around \(x=0\ ,\) we compute the functions \(ad_f g(x)\) and \(ad^2_f g(x)\) and test the conditions of Theorem 1.
Appropriate calculations show that \[ ad_f g(x)=\left(\begin{array}{c}0 \\x_1 \\-(1+x_1)(1+2 x_2) \end{array}\right) \] and that \[ ad^2_f g(x)=\left(\begin{array}{c}(1+x_2)(1+2 x_2)(1+x_1)-x_3 x_1 \\ x_3(1+x_2) \\-x_3(1+x_2)(1+2 x_2) \end{array}\right) \] The matrix \[ \left( g(0) \ ad_f g(0) \ ad_f^{2} g(0) \right)= \left(\begin{array}{ccc}0 & 0 & 1 \\1 & 0 & 0 \\0 & -1 & 0\end{array}\right) \] has rank 3 and therefore the condition (i) is satisfied. It is also easily checked that the product \([g,ad_f g](x)\) has the form \[ [g,ad_f g](x)=\left(\begin{array}{c}0 \\ \star \\ \star \end{array}\right) \] and therefore also the condition (ii) is satisfied, because the matrix \[ \left( g(x) \ ad_f g(x) \ [g,ad_f g](x) \right) \] has rank 2 for all \(x\) near \(x=0\ .\)
In the present case, it is easily seen that a function \(h(x)\) that solves the system of equations \[ L_g h(x)=L_{ad_{f}g}h(x)= 0 \] is given by \[ h(x)=x_1\;. \]
From our previous discussion, we know that considering this as "output" will yield a system having relative degree 3 at the point \(x=0\ .\) Then, locally around \(x=0\ ,\) the system will be transformed into a linear and controllable one by means of the state feedback \[ u=\frac{-L_f^3h(x)+v}{L_g L_f^2 h(x)}= \frac{-x_3^2(1+x_2)-x_2 x_3(1+x_2^2)-x_1(1+x_1)(1+2x_2)-x_1x_2(1+x_1)+v} {(1+x_1)(1+x_2)(1+2x_2)-x_1x_3} \] and the coordinate tranformation \[ \begin{array}{rcl} \xi_1 &=& h(x) = x_1\\ \xi_2 &=& L_f h(x)=x_3(1+x_2)\\ \xi_3 &=& L_f^2 h(x)=x_3 x_1+(1+x_1)(1+x_2)x_2\;. \end{array} \]