Berkeley Notes
  • Introduction
  • EE120
    • Introduction to Signals and Systems
    • The Fourier Series
    • The Fourier Transform
    • Generalized transforms
    • Linear Time-Invariant Systems
    • Feedback Control
    • Sampling
    • Appendix
  • EE123
    • The DFT
    • Spectral Analysis
    • Sampling
    • Filtering
  • EECS126
    • Introduction to Probability
    • Random Variables and their Distributions
    • Concentration
    • Information Theory
    • Random Processes
    • Random Graphs
    • Statistical Inference
    • Estimation
  • EECS127
    • Linear Algebra
    • Fundamentals of Optimization
    • Linear Algebraic Optimization
    • Convex Optimization
    • Duality
  • EE128
    • Introduction to Control
    • Modeling Systems
    • System Performance
    • Design Tools
    • Cascade Compensation
    • State-Space Control
    • Digital Control Systems
    • Cayley-Hamilton
  • EECS225A
    • Hilbert Space Theory
    • Linear Estimation
    • Discrete Time Random Processes
    • Filtering
  • EE222
    • Real Analysis
    • Differential Geometry
    • Nonlinear System Dynamics
    • Stability of Nonlinear Systems
    • Nonlinear Feedback Control
Powered by GitBook
On this page
  • Control Lyapunov Functions
  • Feedback Linearization
  • SISO Case
  • MIMO Case
  • Dynamic Extension
  • Sliding Mode Control
  • Backstepping

Was this helpful?

  1. EE222

Nonlinear Feedback Control

In nonlinear control problems, we have a system

dxdt=f(x,u).\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}, \boldsymbol{u}).dtdx​=f(x,u).

x\boldsymbol{x}x is the state of the system, and u\boldsymbol{u}u is the input to the system. Note that for simplicity, the system is time-invariant. Further assume, without loss of generality, that f(0,0)=0f(0, 0) = 0f(0,0)=0. The goal of nonlinear feedback control is to find a state feedback law α(x)\alpha(\boldsymbol{x})α(x) such that the equilibrium point xe=0\boldsymbol{x}_e = 0xe​=0 is globally asymptotically stable for the closed loop system

dxdt=f(x,α(x)).\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}, \alpha(\boldsymbol{x})).dtdx​=f(x,α(x)).

Sometimes, the control impacts the state evolution in an affine manner.

Definition 52

A control affine system is given by the differential equation

dxdt=f(x)+G(x)u\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}) + G(\boldsymbol{x})\boldsymbol{u}dtdx​=f(x)+G(x)u

where G(x)G(\boldsymbol{x})G(x) is a matrix dependent on the state vector x\boldsymbol{x}x.

When designing controllers, there is a wide variety of techniques we can use. Some simple techniques involve canceling out various types of nonlinearities in the system using the input. Here are some examples.

  1. Set u\boldsymbol{u}u such that it cancels out nonlinear terms and adds a stable linear term, effectively making the nonlinear system behave linear in the closed loop.

  2. Set u\boldsymbol{u}u to cancel destabilitizing nonlinear terms and add a stable linear term, so the stable nonlinearities help the input drive the system to equilibrium.

  3. Set u\boldsymbol{u}u to cancel destabilizing nonlinear terms, so the nonlinear system dynamics drive the system to equilibrium.

  4. Set u\boldsymbol{u}u to dominate destabilizing terms so they have a minimal impact on the overall system behavior.

While these techniques can work, there are also more principled ways of designing controllers to satisfy different criteria, particularly for the case of control affine systems.

Control Lyapunov Functions

If we can find an α(x)\alpha(\boldsymbol{x})α(x) that makes the origin globally asymptotically stable, then the converse Lyapunov theorem says that we can find a corresponding Lyapunov function for the system.

∀x≠0,dVdt<0  ⟹  (∇xV)⊤f(x,α(x))<0  ⟹  ∃u s.t (∇xV)⊤f(x,u)<0⇔inf⁡u(∇xV)⊤f(x,u)<0\begin{aligned} \forall \boldsymbol{x} \neq 0, \frac{d^{}V}{dt^{}} < 0 &\implies (\nabla_{\boldsymbol{x}}V)^\top f(\boldsymbol{x}, \alpha(\boldsymbol{x})) < 0 \\ &\implies \exists \boldsymbol{u} \text{ s.t } (\nabla_{\boldsymbol{x}}V)^\top f(\boldsymbol{x}, \boldsymbol{u}) < 0\\ & \Leftrightarrow \inf_{\boldsymbol{u}} (\nabla_{\boldsymbol{x}}V)^\top f(\boldsymbol{x}, \boldsymbol{u}) < 0\end{aligned}∀x=0,dtdV​<0​⟹(∇x​V)⊤f(x,α(x))<0⟹∃u s.t (∇x​V)⊤f(x,u)<0⇔uinf​(∇x​V)⊤f(x,u)<0​

This result motivates the following definition.

Definition 53

A continuously differentiable, PDF, radially unbounded V:Rn→RV: \mathbb{R}^n \to \mathbb{R}V:Rn→R is a Control Lyapunov Function for the system dxdt=f(x,u)\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}, \boldsymbol{u})dtdx​=f(x,u) if

∀x≠0,inf⁡u(∇xV)⊤f(x,u)<0\forall \boldsymbol{x} \neq 0, \inf_{\boldsymbol{u}} (\nabla_{\boldsymbol{x}}V)^\top f(\boldsymbol{x}, \boldsymbol{u}) < 0∀x=0,infu​(∇x​V)⊤f(x,u)<0

Once we have a control lyapunov function, we can prove that it is possible to find a state feedback law that will make the origin globally asymptotically stable.

Theorem 27

Suppose fff is Lipschitz and VVV is a control Lyapunov function, then there exists a smooth function α\alphaα such that the origin is a globally asympototically stable equilibrium point of dxdt=f(x,α(x))\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}, \alpha(\boldsymbol{x}))dtdx​=f(x,α(x)).

Suppose that we have a control affine system, and we want to construct a control lyapunov function for the system.

inf⁡u∂V∂xf(x,u)=inf⁡uLfV+∑iLgiVui<0\inf_{\boldsymbol{u}} \frac{\partial V}{\partial \boldsymbol{x}}f(\boldsymbol{x}, \boldsymbol{u}) = \inf_{\boldsymbol{u}} L_f V + \sum_i L_{g_i} V u_i < 0infu​∂x∂V​f(x,u)=infu​Lf​V+∑i​Lgi​​Vui​<0

Here, each gi(x)g_i(\boldsymbol{x})gi​(x) is a column of G(x)G(\boldsymbol{x})G(x). If ∀i, LgiV=0\forall i,\ L_{g_i} V = 0∀i, Lgi​​V=0, then Definition 53 is satisfied so long as LfV<0L_f V < 0Lf​V<0.

Theorem 28

A function VVV is a control lyapunov function for a control affine system

dxdt=f(x)+∑igi(x)ui\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}) + \sum_i g_i(\boldsymbol{x}) u_idtdx​=f(x)+∑i​gi​(x)ui​

if

LgiV ∀i  ⟹  LfV≤0L_{g_i} V\, \forall i \implies L_f V \leq 0Lgi​​V∀i⟹Lf​V≤0

Notice that the condition in Theorem 28 is essentially saying that the l2l_2l2​-norm of the vector composed of the LgiVL_{g_i} VLgi​​V is equal to 0. The choice of CLF is important because different CLFs have different properties when used to derive controllers.

Definition 54

A CLF V(x)V(\boldsymbol{x})V(x) satisfies the small control property if ∀ϵ>0\forall \epsilon > 0∀ϵ>0, ∃δ>0\exists \delta > 0∃δ>0 such that x∈Bδ(0)\boldsymbol{x}\in B_\delta(0)x∈Bδ​(0), then if x≠0,∃u∈Bϵ(0)\boldsymbol{x}\neq0, \exists \boldsymbol{u}\in B_\epsilon(0)x=0,∃u∈Bϵ​(0) satisfying

dVdt=LfV+LGVTu<0.\frac{d^{}V}{dt^{}} = L_fV + L_GV^T\boldsymbol{u} < 0.dtdV​=Lf​V+LG​VTu<0.

The small control property means that CLF will lead to a controller which has a small value that does not get too large when close to the equilibrium.

Given a control lyapunov function for a control affine system V(x,u)V(\boldsymbol{x}, \boldsymbol{u})V(x,u), we can devise a controller which stabilizes the system. In particular, we need

dVdt(x,u)=LfV(x)+LGV(x)⊤u≤0.\frac{dV}{dt}(x, u) = L_f V(\boldsymbol{x}) + L_GV(\boldsymbol{x})^\top \boldsymbol{u} \leq 0.dtdV​(x,u)=Lf​V(x)+LG​V(x)⊤u≤0.

Hence, let

u={0,if LfV<0,(LGVLGV⊤)−1(−LfVLGV⊤),if LfV>0.\boldsymbol{u} = \begin{cases} 0, & \text{if } L_f V < 0,\\ (L_GVL_GV^\top)^{-1}(-L_fV L_GV^\top), & \text{if } L_f V > 0. \end{cases}u={0,(LG​VLG​V⊤)−1(−Lf​VLG​V⊤),​if Lf​V<0,if Lf​V>0.​

When the plant dynamics are naturally stabilizing, this controller exerts no control effort. When the plant dynamics are not naturally stabilizing, then the controller applies some control to stabilize the system. We can show that this is a minimum norm controller as it solves the optimization problem

min⁡u⊤us.tLfV+LGV⊤u≤0.\begin{aligned} \min &\quad \boldsymbol{u}^\top \boldsymbol{u}\\ \text{s.t} &\quad L_fV + L_GV^\top \boldsymbol{u} \leq 0. \end{aligned}mins.t​u⊤uLf​V+LG​V⊤u≤0.​

Another type of controller is known as the Sontag controller.

Theorem 29

Suppose V:Rn→RV:\mathbb{R}^n\to\mathbb{R}V:Rn→R is a CLF for SISO control affine system dxdt=f(x)+g(x)u\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}) + g(\boldsymbol{x})udtdx​=f(x)+g(x)u where f(0)=0f(0) = 0f(0)=0 where fff and ggg are Lipschitz. Then the Sontag feedback control law is given by

αS(x)={−LfV−(LfV)2+(LgV)4LgV,if LgV≠0,0,else.\alpha_S(\boldsymbol{x}) = \begin{cases} \frac{-L_fV - \sqrt{(L_fV)^2 + (L_gV)^4}}{L_gV}, & \text{if } L_gV \neq 0,\\ 0, & \text{else.} \end{cases}αS​(x)={Lg​V−Lf​V−(Lf​V)2+(Lg​V)4​​,0,​if Lg​V=0,else.​

makes the origin globally asymptotically stable. Moreover, αS(x)\alpha_S(\boldsymbol{x})αS​(x) is continuous everywhere except x=0\boldsymbol{x} = 0x=0, is continuous at x=0\boldsymbol{x}=0x=0 if VVV satisfies the small control property, and if V(x)V(\boldsymbol{x})V(x) is K+1K+1K+1 times continuously differentiable and f(x),g(x)f(\boldsymbol{x}), g(\boldsymbol{x})f(x),g(x) are KKK times continously differentiable ∀x≠0\forall \boldsymbol{x}\neq0∀x=0, then αS\alpha_SαS​ is KKKtimes continuously differentiable.

Feedback Linearization

Since we have a large number of tools which allow us to control linear systems, it would be ideal if we could somehow leverage those tools for nonlinear control. Feedback linearization is the process of finding a feedback control law u=α(x)\boldsymbol{u} = \alpha(\boldsymbol{x})u=α(x) such that under a nonlinear change of coordinates z=Φ(x)z = \Phi(\boldsymbol{x})z=Φ(x), the system dxdt=f(x,α(x))\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}, \alpha(\boldsymbol{x}))dtdx​=f(x,α(x)) behaves like a linear system dzdt=Az\frac{d^{}\boldsymbol{z}}{dt^{}} = A\boldsymbol{z}dtdz​=Az. When the system is control-affine, there are well-established results which help us do this.

SISO Case

Suppose we have a SISO control-affine system

dxdt=f(x)+g(x)uy=h(x)\begin{aligned} \frac{d^{}\boldsymbol{x}}{dt^{}} &= f(\boldsymbol{x}) + g(\boldsymbol{x})u\\ y &= h(\boldsymbol{x}) \end{aligned}dtdx​y​=f(x)+g(x)u=h(x)​

Definition 55

A SISO control affine system with an equilibrium point xe\boldsymbol{x}_exe​ has strict relative degree γ\gammaγ if in a neighborhood UUU around the equilibirum point, LgLfγ−1h(x)L_gL_f^{\gamma-1}h(\boldsymbol{x})Lg​Lfγ−1​h(x) is bounded away from 0 and

∀i=0,⋯ ,γ−2, LgLfγ−1h(x)=0\forall i=0,\cdots,\gamma-2,\ L_gL_f^{\gamma - 1}h(\boldsymbol{x}) = 0∀i=0,⋯,γ−2, Lg​Lfγ−1​h(x)=0

To understand relative degree, suppose we differentiate yyy once

dydt=Lfh+Lghu.\frac{d^{}y}{dt^{}} = L_fh + L_gh u.dtdy​=Lf​h+Lg​hu.

If ∀x∈U, Lgh(x)=0\forall \boldsymbol{x}\in U,\ L_gh(\boldsymbol{x}) = 0∀x∈U, Lg​h(x)=0 where UUU is some region around the equilibrium, then

∀x∈U, dydt=Lfh(x).\forall \boldsymbol{x}\in U,\ \frac{d^{}y}{dt^{}} = L_fh(\boldsymbol{x}).∀x∈U, dtdy​=Lf​h(x).

If we differentiate again, then

∀x∈U, d2ydt2=Lf2h(x)+LgLfh(x).\forall \boldsymbol{x}\in U,\ \frac{d^{2}y}{dt^{2}} = L_f^2h(\boldsymbol{x}) + L_gL_fh(\boldsymbol{x}).∀x∈U, dt2d2y​=Lf2​h(x)+Lg​Lf​h(x).

Suppose that ∀x∈U, LgLfh(x)=0\forall \boldsymbol{x}\in U,\ L_gL_fh(\boldsymbol{x}) = 0∀x∈U, Lg​Lf​h(x)=0, then we can differentiate again. At some point, after γ\gammaγ differentiations, we will get

∀x∈U, dγydtγ=Lfγh(x)+LgLfγ−1h(x)u.\forall \boldsymbol{x}\in U,\ \frac{d^{\gamma}y}{dt^{\gamma}} = L_f^\gamma h(\boldsymbol{x}) + L_gL_f^{\gamma-1}h(\boldsymbol{x})u.∀x∈U, dtγdγy​=Lfγ​h(x)+Lg​Lfγ−1​h(x)u.

Therefore, the relative degree of the system is essentially telling us which derivative of the output that we can control. By sequentially taking derivatives, we are essentially looking at the system

y=h(x)dydt=Lfh(x)d2ydt2=Lf2h(x)⋮dγydtγ=Lfγh(x)+LgLfγ−1h(x)\begin{aligned} y &= h(\boldsymbol{x})\\ \frac{d^{}y}{dt^{}} &= L_fh(\boldsymbol{x})\\ \frac{d^{2}y}{dt^{2}} &= L_f^2h(\boldsymbol{x})\\ &\vdots\\ \frac{d^{\gamma}y}{dt^{\gamma}} &= L_f^\gamma h(\boldsymbol{x}) + L_gL_f^{\gamma-1}h(\boldsymbol{x}) \end{aligned}ydtdy​dt2d2y​dtγdγy​​=h(x)=Lf​h(x)=Lf2​h(x)⋮=Lfγ​h(x)+Lg​Lfγ−1​h(x)​

Suppose ∀i=0,⋯ ,γ−1,\forall i=0,\cdots,\gamma-1,∀i=0,⋯,γ−1, we let ξi(x)=diydti\xi_i(\boldsymbol{x}) = \frac{d^{i}y}{dt^{i}}ξi​(x)=dtidiy​. These are γ\gammaγ linearly independent coordinates. Since the distribution

Δ(x)=span{g(x)}\Delta(\boldsymbol{x}) = \text{span}\{g(\boldsymbol{x})\}Δ(x)=span{g(x)}

is involutive, it is integrable, and so there must be n−1n-1n−1 functions ηi\eta_iηi​ such that

∀x∈U, (∇xηi)⊤g(x)=0.\forall \boldsymbol{x}\in U,\ (\nabla_{\boldsymbol{x}}\eta_i)^\top g(\boldsymbol{x}) = 0.∀x∈U, (∇x​ηi​)⊤g(x)=0.

We can now choose n−γn-\gamman−γ of them which are linearly independent of the ξi\xi_iξi​ and linearly independent with each other, and this forms a change of coordinates

[ξ1⋮ξγη1⋮ηn−γ]=Φ(x)=[h(x)Lfh(x)⋮Lfγ−1η1⋮ηn−γ].\begin{bmatrix} \xi_1\\ \vdots\\ \xi_{\gamma}\\ \eta_1\\ \vdots\\ \eta_{n-\gamma} \end{bmatrix} = \Phi(\boldsymbol{x}) = \begin{bmatrix} h(\boldsymbol{x})\\ L_fh(\boldsymbol{x})\\ \vdots\\ L_f^{\gamma-1}\\ \eta_1\\ \vdots\\ \eta_{n-\gamma} \end{bmatrix}.​ξ1​⋮ξγ​η1​⋮ηn−γ​​​=Φ(x)=​h(x)Lf​h(x)⋮Lfγ−1​η1​⋮ηn−γ​​​.

This change of coordinates allows us to put the system into a canonical form.

Definition 56

The normal form of a SISO control affine system is given by

dξ1dt=ξ2dξ2dt=ξ3⋮dξγdt=b(ξ,η)+a(η,ξ)udηdt=q(ξ,η),y=η1\begin{aligned} \frac{d^{}\xi_1}{dt^{}} &= \xi_2\\ \frac{d^{}\xi_2}{dt^{}} &= \xi_3\\ &\vdots\\ \frac{d^{}\xi_{\gamma}}{dt^{}} &= b(\boldsymbol{\xi}, \boldsymbol{\eta}) + a(\boldsymbol{\eta}, \boldsymbol{\xi})u\\ \frac{d^{}\boldsymbol{\eta}}{dt^{}} &= q(\boldsymbol{\xi}, \boldsymbol{\eta}),\\ y &= \eta_1 \end{aligned}dtdξ1​​dtdξ2​​dtdξγ​​dtdη​y​=ξ2​=ξ3​⋮=b(ξ,η)+a(η,ξ)u=q(ξ,η),=η1​​

When the original system is given by dxdt=f(x)+g(x)u\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x})+g(\boldsymbol{x})udtdx​=f(x)+g(x)u, then

b(ξ,η)=Lfγh(Φ−1(ξ,η))a(ξ,η)=LgLfγ−1h(Φ−1(ξ,η))b(\boldsymbol{\xi},\boldsymbol{\eta}) = L_f^\gamma h(\Phi^{-1}(\boldsymbol{\xi}, \boldsymbol{\eta})) \qquad a(\boldsymbol{\xi}, \boldsymbol{\eta}) = L_gL_f^{\gamma-1} h(\Phi^{-1}(\boldsymbol{\xi}, \boldsymbol{\eta}))b(ξ,η)=Lfγ​h(Φ−1(ξ,η))a(ξ,η)=Lg​Lfγ−1​h(Φ−1(ξ,η))

With this parameterization, it is quite easy to see how we can make our system behave linearly. In particular, choose

u=1a(ξ,η)(−b(ξ,η)+v)u = \frac{1}{a(\boldsymbol{\xi}, \boldsymbol{\eta})}\left(-b(\boldsymbol{\xi}, \boldsymbol{\eta}) + v\right)u=a(ξ,η)1​(−b(ξ,η)+v)

where vvv is some control input. Then the system becomes

dξ1dt=ξ2dξ2dt=ξ3⋮dξγdt=vdηdt=q(ξ,η)y=η1\begin{aligned} \frac{d^{}\xi_1}{dt^{}} &= \xi_2\\ \frac{d^{}\xi_2}{dt^{}} &= \xi_3\\ &\vdots\\ \frac{d^{}\xi_{\gamma}}{dt^{}} &= v\\ \frac{d^{}\boldsymbol{\eta}}{dt^{}} &= q(\boldsymbol{\xi}, \boldsymbol{\eta})\\ y &= \eta_1 \end{aligned}dtdξ1​​dtdξ2​​dtdξγ​​dtdη​y​=ξ2​=ξ3​⋮=v=q(ξ,η)=η1​​

, which is a linear system. Therefore, we can design a linear feedback controller v=α(x)v = \alpha(\boldsymbol{x})v=α(x) where we have all of the tools of linear control at our disposal. However, notice that the ηi\eta_iηi​ cannot be impacted by the control effort. These are known as the internal dynamics of the system. When ξ=0\boldsymbol{\xi} = 0ξ=0, then

dηdt=q(0,η)\frac{d^{}\boldsymbol{\eta}}{dt^{}} = q(0, \boldsymbol{\eta})dtdη​=q(0,η)

are known as the Zero Dynamics of the system. Zero dynamics for a system can be dangerous because if they are unstable, then the system could be blowing up. When γ=n\gamma = nγ=n, then there are no zero dynamics. When this happens, we say the system is Full State Linearizable. Fortunately, there are necessary and sufficient conditions which guarantee full state linearization.

Theorem 30

There exists a function hhh such that a control affine system dxdt=f(x)+g(x)u\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}) + g(\boldsymbol{x})udtdx​=f(x)+g(x)u has relative degree nnn at x0\boldsymbol{x}_0x0​ if and only if

[g(x)⋯adfn−2g(x)adfn−1g(x)]\begin{bmatrix} g(\boldsymbol{x}) & \cdots & \text{ad}_f^{n-2}g(\boldsymbol{x}) & \text{ad}_f^{n-1}g(\boldsymbol{x}) \end{bmatrix}[g(x)​⋯​adfn−2​g(x)​adfn−1​g(x)​]

has rank nnn and

[g(x)⋯adfn−3g(x)adfn−2g(x)]\begin{bmatrix} g(\boldsymbol{x}) & \cdots & \text{ad}_f^{n-3}g(\boldsymbol{x}) & \text{ad}_f^{n-2}g(\boldsymbol{x}) \end{bmatrix}[g(x)​⋯​adfn−3​g(x)​adfn−2​g(x)​]

has rank n−1n-1n−1 and is involutive in the neighborhood of x0\boldsymbol{x}_0x0​. The hhh is chosen to satisfy

(∇xh)⊤[g(x)⋯adfn−3g(x)adfn−2g(x)]=0(\nabla_{\boldsymbol{x}}h)^\top \begin{bmatrix} g(\boldsymbol{x}) & \cdots & \text{ad}_f^{n-3}g(\boldsymbol{x}) & \text{ad}_f^{n-2}g(\boldsymbol{x}) \end{bmatrix} = 0(∇x​h)⊤[g(x)​⋯​adfn−3​g(x)​adfn−2​g(x)​]=0

MIMO Case

Suppose instead we have a MIMO control affine system where

dxdt=f(x)+G(x)uy=h(x)\begin{aligned} \frac{d^{}\boldsymbol{x}}{dt^{}} &= f(\boldsymbol{x}) + G(\boldsymbol{x})\boldsymbol{u}\\ \boldsymbol{y} &= h(\boldsymbol{x}) \end{aligned}dtdx​y​=f(x)+G(x)u=h(x)​

We will assume that the number of outputs is equal to the number of inputs (i.e y,u∈Rm\boldsymbol{y}, \boldsymbol{u} \in \mathbb{R}^my,u∈Rm). To linearize the system, we can take the same idea of relative degree from the SISO case and apply it to the MIMO case. Define γj\gamma_jγj​ to be the lowest derivative of yjy_jyj​ which is impacted by at least one input.

[dγ1y1dtγ1⋮dγmymdtγm]=[Lfγ1h1(x)⋮Lfγmhm(x)]+A(x)u,A(x)=[Lg1Lfγ1−1h1(x)⋯LgmLfγ1−1h1(x)⋮⋱⋮Lg1Lfγm−1hm(x)⋯LgmLfγm−1hm(x)]\begin{bmatrix} \frac{d^{\gamma_1}y_1}{dt^{\gamma_1}}\\ \vdots\\ \frac{d^{\gamma_m}y_m}{dt^{\gamma_m}} \end{bmatrix} = \begin{bmatrix} L_f^{\gamma_1}h_1(\boldsymbol{x})\\ \vdots\\ L_f^{\gamma_m}h_m(\boldsymbol{x})\\ \end{bmatrix} + A(\boldsymbol{x})\boldsymbol{u}, \qquad A(\boldsymbol{x}) = \begin{bmatrix} L_{g_1}L_f^{\gamma_1-1}h_1(\boldsymbol{x}) & \cdots & L_{g_m}L_f^{\gamma_1-1}h_1(\boldsymbol{x})\\ \vdots & \ddots & \vdots\\ L_{g_1}L_f^{\gamma_m-1}h_m(\boldsymbol{x}) & \cdots & L_{g_m}L_f^{\gamma_m-1}h_m(\boldsymbol{x}) \end{bmatrix}​dtγ1​dγ1​y1​​⋮dtγm​dγm​ym​​​​=​Lfγ1​​h1​(x)⋮Lfγm​​hm​(x)​​+A(x)u,A(x)=​Lg1​​Lfγ1​−1​h1​(x)⋮Lg1​​Lfγm​−1​hm​(x)​⋯⋱⋯​Lgm​​Lfγ1​−1​h1​(x)⋮Lgm​​Lfγm​−1​hm​(x)​​

Definition 57

A square control affine system has a vector relative degree (γ1,⋯ ,γm)(\gamma_1, \cdots, \gamma_m)(γ1​,⋯,γm​) at x0∈U\boldsymbol{x}_0\in Ux0​∈U if A(x0)A(\boldsymbol{x}_0)A(x0​) is nonsingular and

∀1≤i≤m, 1≤j≤m, 0≤k≤γj−2, ∀x∈U, LgiLfkhj(x)=0\forall 1\leq i\leq m,\ 1\leq j \leq m,\ 0 \leq k \leq \gamma_j-2,\ \forall \boldsymbol{x}\in U,\ L_{g_i}L_f^kh_j(\boldsymbol{x}) = 0∀1≤i≤m, 1≤j≤m, 0≤k≤γj​−2, ∀x∈U, Lgi​​Lfk​hj​(x)=0

\label{thm:vector-relative-degree}

As before, we can assign diyjdti=ξij\frac{d^{i}y_j}{dt^{i}} = \xi_i^jdtidiyj​​=ξij​ as a partial change of coordinates and then choose linearly independent η\boldsymbol{\eta}η.

Definition 58

The normal form of a square MIMO system is given by

dηdt=q(ξ,η)+p(ξ,η)udξijdt=ξi+1j,∀j, ∀i<γj−1dξγj−1jdt=bj(ξ,η)+aj(ξ,η)⊤u\begin{aligned} \frac{d^{}\boldsymbol{\eta}}{dt^{}} &= q(\boldsymbol{\xi},\boldsymbol{\eta}) + p(\boldsymbol{\xi}, \boldsymbol{\eta})\boldsymbol{u}\\ \frac{d^{}\xi_i^j}{dt^{}} &= \xi_{i+1}^j, &\quad \forall j,\ \forall i < \gamma_j-1\\ \frac{d^{}\xi_{\gamma_j-1}^j}{dt^{}} &= b^j(\boldsymbol{\xi},\boldsymbol{\eta}) + \boldsymbol{a}^j(\boldsymbol{\xi},\boldsymbol{\eta})^\top\boldsymbol{u} \end{aligned}dtdη​dtdξij​​dtdξγj​−1j​​​=q(ξ,η)+p(ξ,η)u=ξi+1j​,=bj(ξ,η)+aj(ξ,η)⊤u​∀j, ∀i<γj​−1​

As before the dηdt\frac{d^{}\boldsymbol{\eta}}{dt^{}}dtdη​ represent the internal dynamics of the system that are not impacted by the control. As with the linear case, we can design a controller

u=A−1(x)([Lfγ1h1(x)⋮Lfγmhm(x)]+v)\boldsymbol{u} = A^{-1}(\boldsymbol{x})\left( \begin{bmatrix} L_f^{\gamma_1}h_1(\boldsymbol{x})\\ \vdots\\ L_f^{\gamma_m}h_m(\boldsymbol{x})\\ \end{bmatrix} + \boldsymbol{v}\right)u=A−1(x)​​Lfγ1​​h1​(x)⋮Lfγm​​hm​(x)​​+v​

which renders the system linear. We can now choose v\boldsymbol{v}v where each entry of v\boldsymbol{v}v controls a different output. For this reason, we call A(x)A(\boldsymbol{x})A(x) the decoupling matrix. As in the SISO case, unless ∑jγj=n\sum_j \gamma_j = n∑j​γj​=n, there are zero dynamics to the system.

Theorem 31

A control affine square system dxdt=f(x)+G(x)u\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x}) + G(\boldsymbol{x})\boldsymbol{u}dtdx​=f(x)+G(x)u has vector relative degree ∑jγj=n\sum_j \gamma_j = n∑j​γj​=n if and only if Δi\Delta_iΔi​ is involutive for all i≤n−2i \leq n-2i≤n−2, Δi\Delta_iΔi​ has constant rank for all 1≤i≤n−11 \leq i \leq n-11≤i≤n−1 and Δn−1\Delta_{n-1}Δn−1​ has rank nnn where

Δ0(x)=span{g1(x),⋯ ,gm(x)}Δi(x)=span{adfkgi(x) ∣ ∀0≤k≤i,1≤j≤m},∀1≤i≤n−1\begin{aligned} \Delta_0(\boldsymbol{x}) &= \text{span}\{g_1(\boldsymbol{x}),\cdots,g_m(\boldsymbol{x})\}\\ \Delta_i(\boldsymbol{x}) &= \text{span}\{\text{ad}_f^kg_i(\boldsymbol{x})\ |\ \forall 0 \leq k \leq i, 1 \leq j \leq m\}, &\quad \forall 1 \leq i \leq n-1 \end{aligned}Δ0​(x)Δi​(x)​=span{g1​(x),⋯,gm​(x)}=span{adfk​gi​(x) ∣ ∀0≤k≤i,1≤j≤m},​∀1≤i≤n−1​

Dynamic Extension

Sometimes, we can use full-state linearization even if hhh does not satisfy the conditions in Theorem 30. We do this by adding additional states to the system and corresponding pseudo-control inputs which help control these states. Sometimes, this can be done in a way which makes the extended system full-state linearizable.

Sliding Mode Control

In sliding mode control, we design a controller

u=β(x)sgn(s)u = \beta(\boldsymbol{x})\text{sgn}(s)u=β(x)sgn(s)

where s(x)s(\boldsymbol{x})s(x) describes a manifold called the “sliding manifold”. Sliding mode controllers have two states

  1. Reaching Mode

  2. Sliding Mode

During the reaching mode, the controller drives the state towards the sliding manifold s(x)=0s(\boldsymbol{x}) = 0s(x)=0. We choose sss such that on the manifold, when the system is in sliding mode, the system naturally converges asymptotically to the equilibrium. If s(x)=0s(\boldsymbol{x}) = 0s(x)=0 is an invariant manifold, then the system will smoothly travel along the manifold to equilibrium. If the sliding manifold is not invariant, then the state will chatter around the manifold towards equilibrium as the controller continuously drives it back to the manifold once it leaves. To choose sss, we need to find a CLF V(s)V(s)V(s) which converges to 000 in finite time when applying the sliding mode controller.

Backstepping

Definition 59

A system expressed in strict feedback form is given by

dxdt=f0(x)+g0(x)ξ1dξ1dt=f1(x,ξ1)+g1(x,ξ1)ξ2⋮dξkdt=fk(x,ξ1,⋯ ,ξk)+gk(x,ξ1,⋯ ,ξk)u\begin{aligned} \frac{d^{}\boldsymbol{x}}{dt^{}} &= f_0(\boldsymbol{x}) + g_0(\boldsymbol{x})\xi_1\\ \frac{d^{}\xi_1}{dt^{}} &= f_1(\boldsymbol{x}, \xi_1) + g_1(\boldsymbol{x}, \xi_1)\xi_2\\ &\vdots\\ \frac{d^{}\xi_k}{dt^{}} &= f_k(\boldsymbol{x}, \xi_1,\cdots,\xi_k) + g_k(\boldsymbol{x}, \xi_1,\cdots,\xi_k)u\\ \end{aligned}dtdx​dtdξ1​​dtdξk​​​=f0​(x)+g0​(x)ξ1​=f1​(x,ξ1​)+g1​(x,ξ1​)ξ2​⋮=fk​(x,ξ1​,⋯,ξk​)+gk​(x,ξ1​,⋯,ξk​)u​

When systems are expressed in this way, we have a convenient method of designing controllers.

Theorem 32 (Backstepping Lemma)

Suppose there is a continuously differentiable u=α(x)u=\alpha(\boldsymbol{x})u=α(x) and a CLF V(x)V(\boldsymbol{x})V(x) such that

LfV+LgVα≤−WL_fV + L_gV\alpha \leq -WLf​V+Lg​Vα≤−W

where WWW is a positive semi-definite function for the system dxdt=f(x)+g(x)u\frac{d^{}\boldsymbol{x}}{dt^{}} = f(\boldsymbol{x})+g(\boldsymbol{x})udtdx​=f(x)+g(x)u. Then for the system

dxdt=f(x)+g(x)ξdξdt=u\begin{aligned} \frac{d^{}\boldsymbol{x}}{dt^{}} &= f(\boldsymbol{x}) + g(\boldsymbol{x})\xi\\ \frac{d^{}\xi}{dt^{}} &= u \end{aligned}dtdx​dtdξ​​=f(x)+g(x)ξ=u​

the function

Va(x,ξ)=V(x)+12(ξ−α(x))2V_a(\boldsymbol{x},\xi) = V(\boldsymbol{x}) + \frac{1}{2}(\xi - \alpha(\boldsymbol{x}))^2Va​(x,ξ)=V(x)+21​(ξ−α(x))2

is a valid CLF and the control input

u=−c(ξ−α(x))+(∇xα)⊤(f(x)+g(x)ξ)−(∇xV)⊤g(x),c>0u = -c(\xi-\alpha(\boldsymbol{x})) + (\nabla_{\boldsymbol{x}}\alpha)^\top(f(\boldsymbol{x}) + g(\boldsymbol{x})\xi) - (\nabla_{\boldsymbol{x}}V)^\top g(\boldsymbol{x}), \qquad c > 0u=−c(ξ−α(x))+(∇x​α)⊤(f(x)+g(x)ξ)−(∇x​V)⊤g(x),c>0

is a stabilizing controller.

If we apply Theorem 32 to a system expressed in strict feedback form, then we can recursively define controllers until we arrive at a controller for the full system.

PreviousStability of Nonlinear Systems

Last updated 2 years ago

Was this helpful?