MPC solves an online optimization problem over a finite horizon. However, without care, it can destabilize nonlinear systems. The robust solution: add a Lyapunov-based stability constraint. At each step, enforce (V(\mathbfx_k+1) \leq V(\mathbfx_k) - \alpha V(\mathbfx_k)). This Lyapunov-based MPC (LMPC) guarantees closed-loop stability even with model mismatch, provided the terminal cost is a CLF.
A nonlinear system in state space form is written as:
[ \beginaligned \dot\mathbfx(t) &= \mathbff(\mathbfx(t), \mathbfu(t), \boldsymbol\theta(t)) + \boldsymbol\Delta(\mathbfx, \mathbfu, t) \ \mathbfy(t) &= \mathbfh(\mathbfx(t)) \endaligned ]
where:
Key idea: Uncertainty is often described in a structured or unstructured manner. Robust control seeks to guarantee properties (e.g., boundedness, convergence) for all possible uncertainties within a known set.
To design a robust nonlinear controller:
For polynomial systems, sum-of-squares (SOS) programming uses semidefinite optimization to search for Lyapunov functions of a fixed degree (e.g., quartic). Toolboxes like SOSTOOLS (MATLAB) or SumOfSquares.jl (Julia) automate robust nonlinear design. Example: find (V(\mathbfx)) and control (u(\mathbfx)) such that: MPC solves an online optimization problem over a
[ V(\mathbfx)\ \textis SOS,\quad -\dotV(\mathbfx)\ \textis SOS ]
This is a convex relaxation of the nonlinear control problem.
SMC forces the system onto a user-defined sliding surface (s(\mathbfx)=0) and maintains it there. The Lyapunov function candidate is (V = \frac12s^2). The control law has two parts: A nonlinear system in state space form is
[ u = u_\texteq + u_\textsw ]
With (\dotV = s \dots = s(\dots) \leq -\eta |s|), Lyapunov stability guarantees reachability of the surface. The price? Chattering – high-frequency switching. Modern solutions include boundary layer smoothing and higher-order sliding modes.