# Control-Lyapunov function

In control theory, a control-Lyapunov function (CLF) is an extension of the idea of Lyapunov function $V(x)$ to systems with control inputs. The ordinary Lyapunov function is used to test whether a dynamical system is (Lyapunov) stable or (more restrictively) asymptotically stable. Lyapunov stability means that if the system starts in a state $x\neq 0$ in some domain D, then the state will remain in D for all time. For asymptotic stability, the state is also required to converge to $x=0$. A control-Lyapunov function is used to test whether a system is asymptotically stabilizable, that is whether for any state x there exists a control $u(x,t)$ such that the system can be brought to the zero state asymptotically by applying the control u.
The theory and application of control-Lyapunov functions were developed by Zvi Artstein and Eduardo D. Sontag in the 1980s and 1990s.

## Definition

Consider an autonomous dynamical system with inputs
| ${\dot {x}}=f(x,u)$ | (1) |
where $x\in \mathbb {R} ^{n}$ is the state vector and $u\in \mathbb {R} ^{m}$ is the control vector. Suppose our goal is to drive the system to an equilibrium $x_{*}\in \mathbb {R} ^{n}$ from every initial state in some domain $D\subset \mathbb {R} ^{n}$. Without loss of generality, suppose the equilibrium is at $x_{*}=0$ (for an equilibrium $x_{*}\neq 0$, it can be translated to the origin by a change of variables).
Definition. A control-Lyapunov function (CLF) is a function $V:D\to \mathbb {R}$ that is continuously differentiable, positive-definite (that is, $V(x)$ is positive for all $x\in D$ except at $x=0$ where it is zero), and such that for all $x\in \mathbb {R} ^{n}(x\neq 0),$ there exists $u\in \mathbb {R} ^{m}$ such that
    ${\dot {V}}(x,u):=\langle \nabla V(x),f(x,u)\rangle <0,$
where $\langle u,v\rangle$ denotes the inner product of $u,v\in \mathbb {R} ^{n}$.
The last condition is the key condition; in words it says that for each state x we can find a control u that will reduce the "energy" V. Intuitively, if in each state we can always find a way to reduce the energy, we should eventually be able to bring the energy asymptotically to zero, that is to bring the system to a stop. This is made rigorous by Artstein's theorem.
Some results apply only to control-affine systems—i.e., control systems in the following form:
| ${\dot {x}}=f(x)+\sum _{i=1}^{m}g_{i}(x)u_{i}$ | (2) |
where $f:\mathbb {R} ^{n}\to \mathbb {R} ^{n}$ and $g_{i}:\mathbb {R} ^{n}\to \mathbb {R} ^{n}$ for $i=1,\dots ,m$.

## Theorems

Eduardo Sontag showed that for a given control system, there exists a continuous CLF if and only if the origin is asymptotic stabilizable. It was later shown by Francis H. Clarke, Yuri Ledyaev, Eduardo Sontag, and A.I. Subbotin that every asymptotically controllable system can be stabilized by a (generally discontinuous) feedback. Artstein proved that the dynamical system (2) has a differentiable control-Lyapunov function if and only if there exists a regular stabilizing feedback u(x).

### Constructing the Stabilizing Input

It is often difficult to find a control-Lyapunov function for a given system, but if one is found, then the feedback stabilization problem simplifies considerably. For the control affine system (2), Sontag's formula (or Sontag's universal formula) gives the feedback law $k:\mathbb {R} ^{n}\to \mathbb {R} ^{m}$ directly in terms of the derivatives of the CLF.$^{:Eq.5.56}$ In the special case of a single input system $(m=1)$, Sontag's formula is written as
    $k(x)={\begin{cases}\displaystyle -{\frac {L_{f}V(x)+{\sqrt {\left[L_{f}V(x)\right]^{2}+\left[L_{g}V(x)\right]^{4}}}}{L_{g}V(x)}}&{\text{ if }}L_{g}V(x)\neq 0\\0&{\text{ if }}L_{g}V(x)=0\end{cases}}$
where $L_{f}V(x):=\langle \nabla V(x),f(x)\rangle$ and $L_{g}V(x):=\langle \nabla V(x),g(x)\rangle$ are the Lie derivatives of $V$ along $f$ and $g$, respectively.
For the general nonlinear system (1), the input $u$ can be found by solving a static non-linear programming problem
    $u^{*}(x)={\underset {u}{\operatorname {arg\,min} }}\nabla V(x)\cdot f(x,u)$
for each state x.

## Example

Here is a characteristic example of applying a Lyapunov candidate function to a control problem.
Consider the non-linear system, which is a mass-spring-damper system with spring hardening and position dependent mass described by
    $m(1+q^{2}){\ddot {q}}+b{\dot {q}}+K_{0}q+K_{1}q^{3}=u$
Now given the desired state, $q_{d}$, and actual state, $q$, with error, $e=q_{d}-q$, define a function $r$ as
    $r={\dot {e}}+\alpha e$
A Control-Lyapunov candidate is then
    $r\mapsto V(r):={\frac {1}{2}}r^{2}$
which is positive for all $r\neq 0$.
Now taking the time derivative of $V$
    ${\dot {V}}=r{\dot {r}}$
    ${\dot {V}}=({\dot {e}}+\alpha e)({\ddot {e}}+\alpha {\dot {e}})$
The goal is to get the time derivative to be
    ${\dot {V}}=-\kappa V$
which is globally exponentially stable if $V$ is globally positive definite (which it is).
Hence we want the rightmost bracket of ${\dot {V}}$,
    $({\ddot {e}}+\alpha {\dot {e}})=({\ddot {q}}_{d}-{\ddot {q}}+\alpha {\dot {e}})$
to fulfill the requirement
    $({\ddot {q}}_{d}-{\ddot {q}}+\alpha {\dot {e}})=-{\frac {\kappa }{2}}({\dot {e}}+\alpha e)$
which upon substitution of the dynamics, ${\ddot {q}}$, gives
    $\left({\ddot {q}}_{d}-{\frac {u-K_{0}q-K_{1}q^{3}-b{\dot {q}}}{m(1+q^{2})}}+\alpha {\dot {e}}\right)=-{\frac {\kappa }{2}}({\dot {e}}+\alpha e)$
Solving for $u$ yields the control law
    $u=m(1+q^{2})\left({\ddot {q}}_{d}+\alpha {\dot {e}}+{\frac {\kappa }{2}}r\right)+K_{0}q+K_{1}q^{3}+b{\dot {q}}$
with $\kappa$ and $\alpha$, both greater than zero, as tunable parameters
This control law will guarantee global exponential stability since upon substitution into the time derivative yields, as expected
    ${\dot {V}}=-\kappa V$
which is a linear first order differential equation which has solution
    $V=V(0)\exp(-\kappa t)$
And hence the error and error rate, remembering that $V={\frac {1}{2}}({\dot {e}}+\alpha e)^{2}$, exponentially decay to zero.
If you wish to tune a particular response from this, it is necessary to substitute back into the solution we derived for $V$ and solve for $e$. This is left as an exercise for the reader but the first few steps at the solution are:
    $r{\dot {r}}=-{\frac {\kappa }{2}}r^{2}$
    ${\dot {r}}=-{\frac {\kappa }{2}}r$
    $r=r(0)\exp \left(-{\frac {\kappa }{2}}t\right)$
    ${\dot {e}}+\alpha e=({\dot {e}}(0)+\alpha e(0))\exp \left(-{\frac {\kappa }{2}}t\right)$
which can then be solved using any linear differential equation methods.