Control Synthesis & BRS Maximization using Occupation Measures and LMI Relaxations

Bernhard Paus Graesdal

6.7230 Algebraic Techniques & Semidefinite Optimization

 

Class project

  • Based on the work by Majumdar et al.,
  • As well as several other papers by:
    • Henrion
    • Korda
    • Lasserre
    • Han
    • ++

Attributions

Problem Formulation

1. Problem Statement

\dot x(t) = f(t, x(t)) + g(t, x(t)) u(t,x(t))

We define bounding set, target set, and input sets:

\newcommand\Set[2]{\{\,#1\mid#2\,\}} \begin{aligned} x(t) \in X &:= \Set{x \in \mathbb{R}^n}{g_{X_i}(x) \geq 0 \, X_i = 1, \ldots, n_X}, \\ x(T) \in X_T &:= \Set{x \in \mathbb{R}^n}{g_{T_i}(x) \geq 0 \, X_i = 1, \ldots, n_T}, \\ u(t, x) \in U &:= [-1, 1]^m, \end{aligned}

Consider control-affine dynamics:

1. Problem Statement

\newcommand\Set[2]{\{\,#1\mid#2\,\}} \begin{aligned} \mathcal{X}(u) := \Set{ x_0 \in \mathbb{R}^n}{\exists \ x \ \text{s.t.}& \\ \ x(0) &= x_0, \, x(T) \in X_T, \\ \dot x (t) &= f(t,x(t)) + g(t, x(t)) u(t,x(t)), \\ x(t) &\in X, \, \forall t \in [0, T]}, \end{aligned}

Define Backwards Reachable Set (BRS):

(Same as the Region of Attraction (ROA))

1. Problem Statement

  • Our goal is to find \(u^*\) that maximizes "size" of \( \mathcal{X} \)
  • Denote by \( \lambda \) the Lebesgue measure
  • Our problem:
\begin{aligned} \max_{u} \quad& \lambda(\mathcal{X}(u)) \\ \text{subject to} \quad& u \in U \end{aligned}

for \( \mathcal{X}(u) \) as defined on previous slide

2. Occupation Measures

Nonlinear ODE in \( t, x(t), u(t) \) \( \rightarrow \) Linear PDE in measures

\dot x(t) = f(t, x(t)) + g(t, x(t)) u(t,x(t))
\delta_T \otimes \mu_t = \delta_0 \otimes \mu_0 + \mathcal{L}_f' \mu + \mathcal{L}_g' \sigma^+ - \mathcal{L}_g' \sigma^-
\downarrow

Result:

Idea:

2. Occupation Measures

\begin{aligned} \mu(A \times B \mid x_0) &:= \int^T_0 \mathbb{I}_{A\times B}(t, x(t \mid x_0)) dt, \\ &A \in \mathcal{B}([0,T]), \; B \in \mathcal{B}(X) \end{aligned}
  • Define occupation measure as

(\( \mathcal{B}(S) \) is the \(\sigma\)-algebra of set \(S\))

"How much time is spent by a system trajectory starting at \(x_0\) in a set \(A\times B\)"

  • Key point: Time-integration over a system trajectory \( \iff\) integration w.r.t \(\mu\)

2. Occupation Measures

\mu(A \times B) := \int_X \mu(A \times B \mid x_0) \mu_0(dx_0),
  • Let \(x_0\) be a random variable, distributed according to \( \mu_0 \)
  • Define average occupation measure
  • And target measure
\mu_T(B) := \int_X \mathbb{I}_{B}(x(T \mid x_0) \mu_0(dx_0)

"How much time is spent in a set \(A\times B\) on average"

"How much of the state-space ends up in \(B\) on average"

2. Occupation Measures

\begin{aligned} \sigma_j(A \times B) &:= \sigma_j^+(A \times B) - \sigma_j^-(A \times B) \\ &= \int_{A} \int_{B} u_j (t, x(t)) \mu(dt, dx) \end{aligned}
  • Define signed control measure as

2. Occupation Measures

Nonlinear ODE \(\rightarrow\) linear PDE

  • Look at time-integration of a test function \(v(t,x)\) over a system trajectory
  • Integrate w.r.t to \( \mu_0 \)
  • \( \implies \) a relationship between measures!
\int_X v(T,x) \mu_T(dx) = \int_X v(t, x) \mu_0(dx) + \int_0^T \int_X [\mathcal{L}_f v(t,x) + \mathcal{L}_g v(t,x) u(t,x) ] \mu(dt, dx)
\delta_T \otimes \mu_t = \delta_0 \otimes \mu_0 + \mathcal{L}_f' \mu + \mathcal{L}_g' \sigma^+ - \mathcal{L}_g' \sigma^-
\Updownarrow

"Controlled Lioville's Equation"

2. Occupation Measures

Nonlinear ODE \(\rightarrow\) linear PDE

  • Investigate time-integration of a test function \(v(t,x)\) over a system trajectory:
\begin{aligned} v(T, x(T \mid x_0)) &= v(0, x_0) + \int^T_0 \dot v(t, x(t \mid x_0)) dt \\ &= v(0, x_0) + \int^T_0 [ \mathcal{L}_f v(t, x(t \mid x_0)) + (\mathcal{L}_g v(t,x(t \mid x_0))) u(t, x(t, \mid x_0)) ] dt \end{aligned}
\int_X v(T,x) \mu_T(dx) = \int_X v(t, x) \mu_0(dx) + \int_0^T \int_X [\mathcal{L}_f v(t,x) + \mathcal{L}_g v(t,x) u(t,x) ] \mu(dt, dx)
  • Idea: Integrate with respect \(\mu_0\)

Relation w.r.t to measures

\(\uparrow\)

2. Occupation Measures

  • Must hold for all test functions \( v(t,x) \)
  • Rewrite as relation between operators:
  • Controlled Lioville's Equation
  • A linear PDE in measures!
\delta_T \otimes \mu_t = \delta_0 \otimes \mu_0 + \mathcal{L}_f' \mu + \mathcal{L}_g' \sigma^+ - \mathcal{L}_g' \sigma^-
\int_X v(T,x) \mu_T(dx) = \int_X v(t, x) \mu_0(dx) + \int_0^T \int_X [\mathcal{L}_f v(t,x) + \mathcal{L}_g v(t,x) u(t,x) ] \mu(dt, dx)

3. Maximizing the BRS

  • Represent BRS as \( \text{spt}(\mu_0) \)
  • Maximize BRS as: enforce \( \mu_0 \leq \lambda \), maximize \( \mu_0(X) \)
\begin{aligned} \sup \quad& \mu_0(X) \\ \text{subject to} \quad& \delta_T \otimes \mu_t - \delta_0 \otimes \mu_0 = \mathcal{L}_f' \mu + \mathcal{L}_g'(\sigma^+ - \sigma^-) \\ & \sigma^+ + \sigma^- + \hat \sigma = \mu \\ & \mu_0 + \hat \mu_0 = \lambda \end{aligned}
  • Inifinite-dimensional LP over measures
  • Measures are nonnegative
  • Their supports model bounding set and target set

3. Maximizing the BRS

  • Dual problem in space of continuous functions
\begin{aligned} \inf \quad& \langle \lambda, w \rangle \\ \text{subject to} \quad& \mathcal{L}_f v + 1^\intercal p \leq 0, \quad \forall t, x \in [0,T] \times X \\ \quad& p \geq 0, \quad \lvert \mathcal{L}_g v \rvert \leq p, \quad \forall t, x \in [0,T] \times X \\ \quad& w \geq 0, \quad \forall x \in X \\ \quad& w \geq v(0, \cdot) + 1, \quad \forall x \in X \\ \quad& w(T, \cdot) \geq 0, \quad \forall x \in X_T \end{aligned}
  • Decision variables: \( v(t,x), p_j(t,x), w(x) \)

4. SOS Relaxation

\begin{aligned} \inf \quad \sum_\alpha w_\alpha \lambda_\alpha & \\ \text{subject to} \quad -\mathcal{L}_f v - 1^\intercal p &\in Q_{2k}([0,T]\times X) \\ \quad p, p - \lvert \mathcal{L}_g v \rvert &\in Q_{2k}([0,T]\times X) \\ \quad w &\in Q_{2k}(X) \\ \quad w - v(0, \cdot) - 1 &\in Q_{2k}(X) \\ \quad w(T, \cdot) &\in Q_{2k}(X_T) \end{aligned}
  • We solve this problem
  • Equivalent to solving the k-th step of Lasserre's Hierarchy on the primal side
  • Relax the dual using SOS:

5. Extracting a controller

M_k(y_{k,\mu}) \text{vec}(u_j) = y_{k, \sigma^+_j} - y_{k, \sigma^-_j}
  • Bad news: don't get \(u\) directly
  • Solve linear system for coefficients of \(u\):
  • \(M_k\) generally only PSD
  • Use generalized inverse \(\rightarrow\) Numerical issues

Numerical Results

1. Double Integrator

\newcommand\Set[2]{\{\,#1\mid#2\,\}} \begin{aligned} \dot x_1 &= x_2 \\ \dot x_2 &= u \\ \end{aligned}
\newcommand\Set[2]{\{\,#1\mid#2\,\}} \begin{aligned} X &= \Set{x \in \mathbb{R}^2}{-1 \leq x \leq 1} \\ X_T &= \Set{x \in \mathbb{R}^2}{-\epsilon \leq x \leq \epsilon}, \quad \epsilon = 0.001 \\ U &= [-1,1] \end{aligned}
  • Dynamics:
  • Sets:

1. Double Integrator

Outer-approximation to BRS

1. Double Integrator

Synthesizing a stabilizing controller with LSE

1. Double Integrator

Adding regularization

1. Double Integrator

Look at numerical properties

M_k(y_{k,\mu}) \text{vec}(u_j) = y_{k, \sigma^+_j} - y_{k, \sigma^-_j}

2. Van der Pol Oscillator

\begin{aligned} \dot x_1 &= -2 x_2 \\ \dot x_2 &= 0.8 x_1 + 10 (x_1^2 - 0.21) x_2 + 0.1 u \end{aligned}
  • Dynamics:
  • Uncontrolled phase-space plot:

2. Van der Pol Oscillator

Outer-approximation to BRS

2. Van der Pol Oscillator

Synthesizing a stabilizing controller

Discussion & Conclusion

Key takeaways

  • Appealing on a theoretical level
  • Deals with any nonlinear, polynomial system
  • Has extensions to the hybrid and discrete case
  • Numerical issues when extracting the controller
  • Numerical issues for big SOS problems

Future Work

  • Output feedback
  • Hybrid systems
  • Test "pure" Optimal Control instead of BRS

Controller Synthesis for Maximization of the Backwards Reachable Set using Occupation Measures and LMI Relaxations

By Bernhard Paus Græsdal

Controller Synthesis for Maximization of the Backwards Reachable Set using Occupation Measures and LMI Relaxations

  • 204