Inexact methods for nonlinear model predictive control

Stability, applications and software

Andrea Zanelli

Monday, March 08, 2021, 16:00

remote

Due to the current restrictions, the public defense will take place remotely on Zoom: 

Join Zoom Meeting
https://uni-freiburg.zoom.us/j/62791737415

Meeting ID: 627 9173 7415
Passcode: syscop2021

Abstract: This thesis is about numerical methods for nonlinear model predictive control (NMPC) with a focus on system theoretic guarantees. Although considerable progress has been made since its early application in the late 1970s in the process industry, NMPC still requires a computational effort that is prohibitive for many applications due to fast dynamics or the low computational power available. For this reason, despite NMPC being nowadays the state-of-the-art control strategy in many applications, its applicability to a broader range of systems, still hinges on the development of efficient methods for numerical optimization.

In particular, we propose inexact methods that can speed up the computations associated with the solution of the underlying nonconvex programs. Although drawing from rather diverse areas, from an abstract point of view, such methods exploit a common idea. In fact, in many cases, carefully chosen perturbations to exact solutions and formulations do not jeopardize stability properties and can be leveraged to alleviate the computational burden of NMPC. The algorithmic contributions of the thesis revolve around three main ideas. First, we analyze and extend a class of inexact methods, the so-called real-time methods. These strategies take inspiration from the popular real-time iteration (RTI) and rely on a limited number of iterations of the optimizer in order to compute an approximate solution to the underlying nonconvex programs. By warmstarting the iterates it is possible to “track” a parametric solution as the state of the system evolves. We prove asymptotic stability of the system-optimizer dynamics for a class of RTI-like methods that need not be based on standard sequential quadratic programming. This class of methods encompasses different strategies proposed in the thesis. Second, we propose and analyze numerical methods that exploit inexact first- and second-order derivatives in order to efficiently compute suboptimal, but feasible solutions to nonconvex programs. These methods, which have strong ties with the celebrated second-order corrections in numerical optimization, can be used to reduce the computational cost associated with derivatives computation and linear algebra. We show that the feedback policy resulting from such methods is locally stabilizing and enjoys favorable asymptotic suboptimality bounds.

The third class that we analyze is the one of progressive tightening methods. In this case, the main idea lies in exploiting stage-varying constraints and costs that give rise to increasingly conservative predictions the farther we look into the future. We prove asymptotic stability of progressive tightening NMPC and propose a numerical method that can exploit a specific barrier-based tightening in order to reduce the computational burden.

Finally, real-time variants of the second and third class of methods are proposed and analyzed from a system theoretic point of view and numerically validated. In addition to the proposed algorithms and system theoretic results, we experimentally validate the classical RTI strategy as implemented in the software package acados on the task of controlling a reluctance synchronous machine. We present the experimental results of a current controller based on indirect NMPC running with a sampling time of 250 μs.

Lastly, motivated by the high degree of interaction between software components involved in the implementation of complex numerical strategies, we propose a high-level software framework for embedded high-performance computing. This framework, named prometeo, provides a Python-to-C transpiler and a static analysis tool that allows one to combine the performance of low-level languages (such as C) with the user-friendliness of high-level ones.