Skip to content

Chap. 2. Lyapunov for Nonlinear System

Two Methods of Lyapunov for Nonlinear Systems

Section titled “Two Methods of Lyapunov for Nonlinear Systems”

Let x\boldsymbol{x}^* be an equilibrium of

x˙=f(x),xXRn\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x}), \quad \boldsymbol{x} \in \mathcal{X} \subseteq \mathbb{R}^n

and f:XRn\boldsymbol{f} : \mathcal{X} \rightarrow \mathbb{R}^n twice continuously differentiable in an environment of x\boldsymbol{x}^*. The linearization

Δx˙=AΔx,A=f(x)xx(2.16)\Delta \dot{\boldsymbol{x}} = \boldsymbol{A}\Delta \boldsymbol{x}, \quad \boldsymbol{A} = \left. \frac{\partial \boldsymbol{f}(\boldsymbol{x})}{\partial \boldsymbol{x}} \right|_{\boldsymbol{x}^*} \tag{2.16}

with Δx=xx\Delta \boldsymbol{x} = \boldsymbol{x} - \boldsymbol{x}^*, is a local approximation of the dynamics of the nonlinear system. σ(A)\sigma(\boldsymbol{A}) denotes the spectrum of the matrix A\boldsymbol{A} (the entirety of all eigenvalues) and λi(A)\lambda_i(\boldsymbol{A}) denotes a single eigenvalue. The equilibrium x\boldsymbol{x}^* is

  • asymptotically stable if σ(A)C\sigma(\boldsymbol{A}) \in \mathbb{C}^-,
  • unstable if at least one eigenvalue λi(A)C+\lambda_i(\boldsymbol{A}) \in \mathbb{C}^+.
  • If at least one eigenvalue lies on the imaginary axis (while the others are in C\mathbb{C}^-), the equilibrium is called “non-hyperbolic” and no direct stability statement is possible.
  • Example: Nonlinear System x˙=x(1x)\dot{x} = x(1-x) two Equilibrium Points: x1=0x2=1x^*_1 = 0 \quad x^*_2 = 1 let f(x)=xx2f(x) = x - x^2, find the deriviate
A=f(x)x=12xA = \frac{\partial f(x)}{\partial x} = 1 - 2x
  1. Substitute x1=0x^*_1 = 0 in to the derivative formula. eigenvalue is 1 C+\in \mathbb{C}^+, so this equilibrium point is unstable.
  2. Substitute x2=1x^*_2 = 1 in to the derivative formula. eigenvalue is λ=1<0\lambda = -1<0, so it is asymptotically stable.

if eigenvalue λ=0\lambda = 0 lies on the imaginary axis, the equilibrium is called “non-hyperbolic” and no direct stability statement is possible.

Let x\boldsymbol{x}^* be an equilibrium of

x˙=f(x),xXRn.\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x}), \quad \boldsymbol{x} \in \mathcal{X} \subseteq \mathbb{R}^n.

Let V:DRV : D \rightarrow \mathbb{R}, DXD \subseteq \mathcal{X}, be a continuously differentiable function with V(x)=VV(\boldsymbol{x}^*) = V^* such that

(i)V(x)>VonD{x},(ii)V˙(x)=V(x)xf(x)0onD.\begin{aligned} \text{(i)} \quad & V(\boldsymbol{x}) > V^* \quad \text{on} \quad D \setminus \{\boldsymbol{x}^*\},\\ \text{(ii)} \quad & \dot{V}(\boldsymbol{x}) = \frac{\partial V(\boldsymbol{x})}{\partial \boldsymbol{x}}\boldsymbol{f}(\boldsymbol{x}) \leq 0 \quad \text{on} \quad D. \end{aligned}

Then V(x)V(\boldsymbol{x}) is called a Lyapunov function and the equilibrium x\boldsymbol{x}^* is stable (in the sense of Lyapunov). If, in addition,

V˙(x)<0onD{x},(2.19)\dot{V}(\boldsymbol{x}) < 0 \quad \text{on} \quad D \setminus \{\boldsymbol{x}^*\}, \tag{2.19}

then x\boldsymbol{x}^* is asymptotically stable.

1. Condition (i) — V(x)V(\boldsymbol{x}) is Positive Definite

Section titled “1. Condition (i) — V(x)V(\boldsymbol{x})V(x) is Positive Definite”
  • Academic English Expression: > V(x)V(\boldsymbol{x}) is locally positive definite. (Or: V(x)V(\boldsymbol{x}) is strictly positive for all non-zero states in the neighborhood of x\boldsymbol{x}^*).
  • Standard Sentence for Papers: “The candidate Lyapunov function V(x)V(\boldsymbol{x}) must be zero at the equilibrium point x\boldsymbol{x}^* and strictly positive everywhere else in the domain D{x}D \setminus \{\boldsymbol{x}^*\}.“

2. Condition (ii) — V˙(x)\dot{V}(\boldsymbol{x}) is Negative Semi-Definite

Section titled “2. Condition (ii) — V˙(x)\dot{V}(\boldsymbol{x})V˙(x) is Negative Semi-Definite”
  • Academic English Expression: > The time derivative V˙(x)\dot{V}(\boldsymbol{x}) is negative semi-definite along the system trajectories.
  • Standard Sentence for Papers: “The time derivative of V(x)V(\boldsymbol{x}) along the system trajectories is non-positive (V˙(x)0\dot{V}(\boldsymbol{x}) \leq 0), which implies that the system’s total energy is non-increasing over time, guaranteeing Lyapunov stability.”

3. Additional Condition — V˙(x)\dot{V}(\boldsymbol{x}) is Negative Definite (for Asymptotic Stability)

Section titled “3. Additional Condition — V˙(x)\dot{V}(\boldsymbol{x})V˙(x) is Negative Definite (for Asymptotic Stability)”
  • Academic English Expression: > The time derivative V˙(x)\dot{V}(\boldsymbol{x}) is strictly negative definite.
  • Standard Sentence for Papers: “If, in addition, the time derivative V˙(x)\dot{V}(\boldsymbol{x}) is strictly negative (V˙(x)<0\dot{V}(\boldsymbol{x}) < 0) for all xD{x}\boldsymbol{x} \in D \setminus \{\boldsymbol{x}^*\}, the system energy strictly dissipates, ensuring that the equilibrium x\boldsymbol{x}^* is asymptotically stable.”

Mathematical PropertyAcademic TerminologyChinese Translation
V(x)>0V(\boldsymbol{x}) > 0Positive definite正定
V(x)0V(\boldsymbol{x}) \geq 0Positive semi-definite半正定
V˙(x)0\dot{V}(\boldsymbol{x}) \leq 0Negative semi-definite半负定
V˙(x)<0\dot{V}(\boldsymbol{x}) < 0Negative definite负定

Domain of attraction A Lyapunov function V(x)V(\boldsymbol{x}) provides an estimate of the domain of attraction of x\boldsymbol{x}^*. Let

XV={xXV(x)>V}x(2.20)\mathcal{X}_V = \{\boldsymbol{x} \in \mathcal{X} \mid V(\boldsymbol{x}) > V^*\} \cup \boldsymbol{x}^* \tag{2.20}

and

XV˙={xXV˙(x)<0}x.(2.21)\mathcal{X}_{\dot{V}} = \{\boldsymbol{x} \in \mathcal{X} \mid \dot{V}(\boldsymbol{x}) < 0\} \cup \boldsymbol{x}^* . \tag{2.21}

We consider the level sets of V(x)V(\boldsymbol{x})

Ωc:={xXVV(x)c}.(2.22)\Omega_c := \{\boldsymbol{x} \in \mathcal{X} \mid V^* \leq V(\boldsymbol{x}) \leq c\}. \tag{2.22}

Let cˉ\bar{c} be the value of V(x)V(\boldsymbol{x}) on the largest closed and bounded (i.e., compact) level set Ωcˉ\Omega_{\bar{c}}, which is completely contained in XVXV˙\mathcal{X}_V \cap \mathcal{X}_{\dot{V}}. Then all trajectories that start in Ωcˉ\Omega_{\bar{c}} remain in Ωcˉ\Omega_{\bar{c}} and approach x\boldsymbol{x}^* asymptotically for tt \rightarrow \infty. Ωcˉ\Omega_{\bar{c}} is an estimate of the domain of attraction of x\boldsymbol{x}^*.

  • x\boldsymbol{x}^* is an isolated equilibrium, there is no other point s.t. x˙=0\dot{\boldsymbol{x}} = \mathbf{0} in Ωcˉ\Omega_{\bar{c}}.
  • In Ωcˉ\Omega_{\bar{c}}, except for x\boldsymbol{x}^*, V˙(x)=V(x)xx˙<0\dot{V}(\boldsymbol{x}) = \frac{\partial V(\boldsymbol{x})}{\partial \boldsymbol{x}}\dot{\boldsymbol{x}} < 0 holds, and hence V(x)x0T\frac{\partial V(\boldsymbol{x})}{\partial \boldsymbol{x}} \neq \mathbf{0}^T. \Rightarrow There are no further stationary points of V(x)V(\boldsymbol{x}).
  • \Rightarrow Every point in Ωcˉ\Omega_{\bar{c}} is “transient” (x˙0\dot{\boldsymbol{x}} \neq \mathbf{0}) and V(x)V(\boldsymbol{x}) decreases strictly: V˙(x)<0\dot{V}(\boldsymbol{x}) < 0.
  • \Rightarrow As V(x)V(\boldsymbol{x}) is bounded from below by V=V(x)V^* = V(\boldsymbol{x}^*), every trajectory which starts in Ωcˉ\Omega_{\bar{c}} must end asymptotically in x\boldsymbol{x}^*.

Remark 2.1. The quadratic Lyapunov function V(Δx)=12ΔxTPΔxV(\Delta \boldsymbol{x}) = \frac{1}{2}\Delta \boldsymbol{x}^T \boldsymbol{P} \Delta \boldsymbol{x}, where P=PT>0\boldsymbol{P} = \boldsymbol{P}^T > 0 is the solution of a Lyapunov equation (2.14) and the state matrix A\boldsymbol{A} represents the linearization according to (2.16), serves also as a Lyapunov function for the nonlinear system x˙=f(x)\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x}) –- in a region around the equilibrium x\boldsymbol{x}^*, where the linearization is a sufficiently good approximation of the nonlinear system. This can be seen as follows. We consider w.l.o.g. x=0\boldsymbol{x}^* = \mathbf{0} and write the differential equation as

x˙=f(x)=0+Ax+r(x),\dot{\boldsymbol{x}} = \underbrace{\boldsymbol{f}(\boldsymbol{x}^*)}_{=\mathbf{0}} + \boldsymbol{A}\boldsymbol{x} + \boldsymbol{r}(\boldsymbol{x}),

where r(x)\boldsymbol{r}(\boldsymbol{x}) represents a residual term of order O(x2)\mathcal{O}(\|\boldsymbol{x}\|^2). Express now the time derivative of the quadratic Lyapunov function:

V˙=12xTP(Ax+r(x))+12(xTAT+rT(x))Px=12xT(PA+ATP)=12xTQx,Q>0x+xTPr(x)perturbation.\begin{aligned} \dot{V} &= \frac{1}{2}\boldsymbol{x}^T \boldsymbol{P} (\boldsymbol{A}\boldsymbol{x} + \boldsymbol{r}(\boldsymbol{x})) + \frac{1}{2}(\boldsymbol{x}^T \boldsymbol{A}^T + \boldsymbol{r}^T(\boldsymbol{x}))\boldsymbol{P}\boldsymbol{x} \\ &= \frac{1}{2}\boldsymbol{x}^T \underbrace{(\boldsymbol{P}\boldsymbol{A} + \boldsymbol{A}^T \boldsymbol{P})}_{=-\frac{1}{2}\boldsymbol{x}^T \boldsymbol{Q}\boldsymbol{x}, \quad \boldsymbol{Q}>0} \boldsymbol{x} + \underbrace{\boldsymbol{x}^T \boldsymbol{P}\boldsymbol{r}(\boldsymbol{x})}_{\text{perturbation}}. \end{aligned}

As long as the quadratic first term dominates the second non-quadratic perturbation term, V(x)V(\boldsymbol{x}) is a Lyapunov function for the nonlinear system.

Control Lyapunov Functions While Lyapunov functions were defined for autonomous systems, the concept of Control Lyapunov Functions (CLFs) for input-affine systems takes into account rendering the time derivative V˙(x)\dot{V}(\boldsymbol{x}) negative by means of the control input. For the discussion of CLFs, we assume that the input-affine system (2.23) has an equilibrium (x,u)=(0,0)(\boldsymbol{x}^*, \boldsymbol{u}^*) = (\mathbf{0}, \mathbf{0}), which implies f(0)=0\boldsymbol{f}(\mathbf{0}) = \mathbf{0}. Note that this can always be achieved by a simple coordinate shift (x,u)(xx,uu)(\boldsymbol{x}, \boldsymbol{u}) \mapsto (\boldsymbol{x} - \boldsymbol{x}^*, \boldsymbol{u} - \boldsymbol{u}^*).

Definition 2.3 (Control Lyapunov Function, CLF). A scalar function V:XRV : \mathcal{X} \rightarrow \mathbb{R} is a Control Lyapunov Function (CLF) for the system (2.23) with equilibrium (x,u)=(0,0)(\boldsymbol{x}^*, \boldsymbol{u}^*) = (\mathbf{0}, \mathbf{0}) if the following implication holds for x0\boldsymbol{x} \neq \mathbf{0}:

VxG(x)=0Vxf(x)<0.(2.27)\frac{\partial V}{\partial \boldsymbol{x}}\boldsymbol{G}(\boldsymbol{x}) = \mathbf{0} \quad \Rightarrow \quad \frac{\partial V}{\partial \boldsymbol{x}}\boldsymbol{f}(\boldsymbol{x}) < 0. \tag{2.27}

In words: Whenever the decrease of V(x)V(\boldsymbol{x}) cannot be induced by the control input (through the vector field Gu\boldsymbol{G}\boldsymbol{u}), V(x)V(\boldsymbol{x}) must decrease due to the drift term f(x)\boldsymbol{f}(\boldsymbol{x}).

Input Affine System x˙=f(x)+G(x)u\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x}) + \boldsymbol{G}(\boldsymbol{x})\boldsymbol{u}

  • f(x)f(x) is the drift term. The inherent tendency of a system to move when left unctrolled and to its own devicces.
  • G(x)uG(x)u is the control term. How the controller u apply weights to the system.
V˙=Vxx˙=Vxf(x)a(x)+VxG(x)bT(x)u=a(x)+bT(x)u\dot{V} = \frac{\partial V}{\partial \boldsymbol{x}}\dot{\boldsymbol{x}} = \underbrace{\frac{\partial V}{\partial \boldsymbol{x}}\boldsymbol{f}(\boldsymbol{x})}_{a(\boldsymbol{x})} + \underbrace{\frac{\partial V}{\partial \boldsymbol{x}}\boldsymbol{G}(\boldsymbol{x})}_{\boldsymbol{b}^T(\boldsymbol{x})}\boldsymbol{u} = a(\boldsymbol{x}) + \boldsymbol{b}^T(\boldsymbol{x})\boldsymbol{u}

如果Controller失灵了,需要能够通过系统惯性降下来。可以通过设计信号u,把整体的 V˙\dot{V} 降下来,能够做到这一点的V(x)V(x)就叫CLF。如果找到了CLF,就需要算出来u。

Sontag’s Formula Once a CLF V(x)V(\boldsymbol{x}) according to the previous definition is found, an asymptotically stabilizing feedback control law can be constructed, the so-called Sontag’s formula. Define

a(x):=V(x)xf(x)andb(x):=(V(x)xG(x))T.(2.28)a(\boldsymbol{x}) := \frac{\partial V(\boldsymbol{x})}{\partial \boldsymbol{x}}\boldsymbol{f}(\boldsymbol{x}) \quad \text{and} \quad \boldsymbol{b}(\boldsymbol{x}) := \left(\frac{\partial V(\boldsymbol{x})}{\partial \boldsymbol{x}}\boldsymbol{G}(\boldsymbol{x})\right)^T. \tag{2.28}

Recall that a(x)<0a(\boldsymbol{x}) < 0 must hold whenever b(x)=0\boldsymbol{b}(\boldsymbol{x}) = \mathbf{0} for x0\boldsymbol{x} \neq \mathbf{0}. Sontag’s formula is then given by

uS(x)={b(x)a(x)+a2(x)+(bT(x)b(x))2bT(x)b(x),b(x)0,0,b(x)=0.(2.29)\boldsymbol{u}_S(\boldsymbol{x}) = \begin{cases} -\boldsymbol{b}(\boldsymbol{x})\frac{a(\boldsymbol{x}) + \sqrt{a^2(\boldsymbol{x}) + (\boldsymbol{b}^T(\boldsymbol{x})\boldsymbol{b}(\boldsymbol{x}))^2}}{\boldsymbol{b}^T(\boldsymbol{x})\boldsymbol{b}(\boldsymbol{x})}, & \boldsymbol{b}(\boldsymbol{x}) \neq \mathbf{0}, \\ \mathbf{0}, & \boldsymbol{b}(\boldsymbol{x}) = \mathbf{0}. \end{cases} \tag{2.29}

The control law has an interpretation in terms of optimal control, as it minimizes a certain cost functional.

  • 平滑性(Small Control Property): 随着状态x越来越接近远点,算出来的控制量usu_s会丝滑的减小到0,不会产生剧烈的震荡或突变。
  • b(x)=0b(x) = 0 时,没有输入,输出为0,系统靠天然drift。
  • b(x)0\boldsymbol{b}(\boldsymbol{x}) \neq \mathbf{0} 时, 根号可以用最省力的方式抵消掉不稳定的趋势,让 V˙<0\dot{V}<0