A Penalty Method Based Approach for Autonomous Navigation using Nonlinear Model Predictive Control

Source

@article{hermans_2018_penalty,
    title={A penalty method based approach for autonomous navigation using nonlinear model predictive control},
    author={Hermans, Ben and Patrinos, Panagiotis and Pipeleers, Goele},
    journal={IFAC Conference on Nonlinear Model Predictive Control},
    volume={51},
    number={20},
    pages={234--240},
    year={2018},
    publisher={Elsevier}
}

(KU Leuven) | Elsevier | arXiv

TL;DR

Penalty method + General-shape obstacles

Flash Reading

Basics

Key Points

Optimization Problem based on Penalty Method

The final optimization problem (single-shooting) is formulated as \(\begin{align*} \min_{\bm{u}_{1:N} \in U_{1:N}} & J_N(\bm{q}_N) + \sum_{k=0}^{N-1} J_k(\bm{q}_k, \bm{u}_k) + \frac{1}{2}\sum_{k=0}^{N-1} \sum_{i=1}^m \mu_{i,k} \Psi^2_i(\bm{z}_k), \\ \text{s.t. } & \bm{q}_{k+1} = f(\bm{q}_k, \bm{u}_k) \end{align*}\)

Penalty Method

The objective function depends on the penalty term, thus can be written as $\mathcal{L}(\bm{u}|\bm{\mu})$. The process of the penalty method is

Input: Initial guess '$\bm{u}_0$', penalty parameter '$\mu_0$'.
while (not converged) do: # Outer loop
    Solve the problem and get '$\bm{u}^*$'. # Inner loop
    Update the penalty parameter '$\mu$'.

Solution with increasing penalty parameter

An increasing penalty parameter has a better chance to converge to the target, while a fixed high penalty parameter may lead to convergence to a local minimum.

Issues with Penalty Method

If the penalty parameter is too high, the problem may become ill-conditioned (vanishing and exploding gradients). PANOC uses an estimate of the Lipschitz constant of the objective to determine the step size, which linearly increases with the penalty parameter. Therefore, the penalty factor needs to be capped to stay within a reasonable range. However, this leads to no guarantee of finding a feasible solution.

Heuristics for Local Minima Bypassing

  1. To avoid collision, if the obstacle cost is not smaller than a threshold within a certain number of time steps, an emergency stop is triggered.
  2. (If the agent gets stuck) Use grid-based A* algorithm to find an intermediate waypoint to bypass the local minima.

References

Extension

First-Order vs Second-Order Optimization Solvers

Method / Solver Type Derivative Used Reference / Link
FISTA First-order Gradient only Beck & Teboulle (2009)
ADMM First-order Gradient only Boyd et al. (2011)
Chambolle–Pock First-order primal-dual Gradient only Chambolle & Pock (2011)
PANOC First-order + quasi-Newton Gradient only + limited-memory Stella et al. (2017)
Proximal Gradient First-order Gradient only Parikh & Boyd (2013)
OSQP First-order splitting Gradient only Stellato et al. (2020)
SQP (SNOPT) Second-order Gradient + Hessian Gill et al. (2005)
IPOPT Second-order (Interior Point) Gradient + Hessian Wächter & Biegler (2006)
Numerical Optimization Book Reference book Gradient + Hessian (for SQP & IP) Nocedal & Wright (2006)