PANOC  v0.2 (alpha)
Fast nonlinear MPC
 All Pages
PANOC: Fast nonlinear model predictive control

PANOC in a nutshell

This is a C implementation of PANOC, a Proximal Averaged Newton-type method for Optimal Control.

PANOC is a fast solver for nonlinear optimal control problems which arise in nonlinear model predictive control (NMPC) and other applications.

Features of the method:

Features of the implementation:

The main API with which end-users interact is provided in panoc.h.

Obstacle avoidance

PANOC comes with a MATLAB toolbox that allows the design of obstacle avoidance controllers based on nonlinear model predictive control while it produces C code (following the C89 standard) which can be used on embedded devices.

Below we see a collection of trajectories from different initial points \((x_0, y_0)\) and different initial headings \(\theta_0\) towards the target point \((x_r, y_r, \theta_r) = (3.5, 0.5, 0)\).


The associated nonlinear model predictive problem consists in solving the following optimization problem:

Here is a video of PANOC in action:

See some more obstacle avoidance examples here.


Please, cite PANOC as follows:


The logo of PANOC, which is in the header of this page, was designed by Ker'is from the Noun Project It is licensed with a CC 3.0 BY US licence.