Computation of the Control Law for Exact Input Output Linearization using Automatic Differentiation

The controller design by eact input output linearization or feedback linearization compensates nonlinearities in the input output relation. The control law consists of Lie derivatives are usually computed using computer algebra software. This can result in very large expressions. We suggest an alternative approach using algorithmic of automatic differentiation.

Nonlinear Control Systems

Consider a nonlinear control system

\[\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})+\mathbf{g}(\mathbf{x})u,\quad y=h(\mathbf{x})\]

with the state vector $\mathbf{x}$, the input $u$, the output $y$, vector fields $\mathbf{f},\mathbf{g}:\mathbb{R}^{n}\to\mathbb{R}^{n}$ and a scalar field $ $$h:\mathbb{R}^{n}\to\mathbb{R}$. The Lie derivative $L_{\mathbf{f}}h$ of $h$ along $\mathbf{f}$ is given by

\[L_{\mathbf{f}}h(\mathbf{x})=\frac{\partial h(\mathbf{x})}{\partial\mathbf{x}}\mathbf{f}(\mathbf{x}).\]

Similarly, the mixed Lie derivative $L_{\mathbf{g}} L_{\mathbf{f}}\,h(\mathbf{x})$ is given by

\[L_{\mathbf{g}} L_{\mathbf{f}} \,h(\mathbf{x})=\frac{\partial L_{\mathbf{f}} h(\mathbf{x})}{\partial \mathbf{x}}\,\mathbf{g}(\mathbf{x}).\]

The system is said to have the relative degree $r$ at $\mathbf{x}_0\in\mathbb{R}^n$

  1. if $L_{\mathbf{g}} L_{\mathbf{f}}^k h(\mathbf{x})=0$ for all $\mathbf{x}$ in a neighbourhood of~$\mathbf{x}_0$, and
  2. all $k\in{0,\ldots,r-2}$, and $L_{\mathbf{g}} L_{\mathbf{f}}^{r-1} h(\mathbf{x}_0)\neq0$,

see [1,2]. If the relative degree is well-defined, the control law has the form \(u=-\frac{1}{L_{\mathbf{g}} L_{\mathbf{f}}^{r-1}\,h(\mathbf{x})} \left[ k_0L_{\mathbf{f}}^0\,h(\mathbf{x})+ \cdots+k_{r-1}L_{\mathbf{f}}^{r-1}\,h(\mathbf{x})+L_{\mathbf{f}}^{r}\,h(\mathbf{x})-w \right]\)

with the reference input $w$. In addition, the parameters $k_1,\ldots,k_{r-1}\in\mathbb{R}$ are the coefficients of the characteristic polynomial of the desired linear dynamics.

Automatic Differentiation

To implement the above mentioned control law ones needs the function values of the Lie derivatives $L_{\mathbf{f}}^0\,h(\mathbf{x}),\ldots,L_{\mathbf{f}}^n\,h(\mathbf{x}), L_{\mathbf{g}} L_{\mathbf{f}}^{r-1}\,h(\mathbf{x})$. The computation of these Lie derivative values using the forward mode of automatic differentiation is described in [3,4]. The case of multi-input multi-output systems is considered in [5], where the reverse mode is used to computed the mixed Lie derivatives. An overview of the considered methods is given in [6].


  1. Isidori, A. (1985). Nonlinear control systems: an introduction. Berlin, Heidelberg: Springer Berlin Heidelberg.
  2. Nijmeijer, H., & Van der Schaft, A. (1990). Nonlinear dynamical control systems. New York: Springer-Verlag.
  3. Röbenack, K. & Reinschke, K. (2000). Reglerentwurf mit Hilfe des Automatischen Differenzierens (Controller Design using Automatic Differentiation). at - Automatisierungstechnik, 48(2), 60.
  4. Röbenack, K. (2005). Automatic differentiation and nonlinear controller design by exact linearization. Future Generation Computer Systems, 21(8), 1372-1379.
  5. Röbenack, K. (2007). Controller design for nonlinear multi-input–multi-output systems based on an algorithmic plant description. Mathematical and Computer Modelling of Dynamical Systems, 13(2), 193-209.
  6. Röbenack, K. (2005). Regler-und Beobachterentwurf für nichtlineare Systeme mit Hilfe des Automatischen Differenzierens. Shaker, Aachen.