Welcome to the homepage of the Learning-Based Model Predictive Control (LBMPC) project. From here, you can access various repositories related to LBMPC, and catch up with the latest developments. Feel free to explore the repositories, check out the available example files, and fork your own projects. The majority of the code is freely available for use.
LBMPC is a new method to design controllers , based on Model Predictive Control (MPC). It uses statistical and learning methods to improve the model of the system dynamics from measured data, which can then be used to more accurately control the system. Stability and recursive constraint satisfaction are deterministically maintained by using robustness techniques. Remarkably, its formulation and safety properties are independent of the statistical method used, allowing for the use of advanced statistical or machine learning methods that further improve performance.
LBMPC has been successfully applied in experiments involving energy-efficient building control , , and quadrotor helicopters , . In both cases, it has exhibited improved performance and efficiency compared to linear methods.
Numerical Solvers and Optimization Algorithms
Similar to MPC, LBMPC requires solving an optimization problem at each time step. In general, the type of numerical solver required depends on the type of statistical method used with LBMPC. If the system dynamics and constraints are linear, the cost function quadratic, and the learning provides linear model updates, then LBMPC can by described by a quadratic program (QP-LBMPC). Such QP-LBMPC formulations occur in quadrotor flight control , , and energy-efficient building automation .
Careful analysis shows that QP-LBMPC has sparsity pattern that can be used to develop sparse solvers which scale computationally well. In particular, we have implemented a interior point method called LBmpcIPM with computational complexity linear in prediction horizon. For testing purposes, it is compared to other numerical solvers applicable to such cases. In particular, we compare three solvers, and evaluate their performance through simulations of a quadrotor helicopter. Each solver can be found in its respective repository:
LBmpcIPM: A sparse interior point method implementation. This open-source solver is written in C++ and freely available under the BSD licence. It is tailored for QP-LBMPC problems, and is provided freely to enable the rapid implementation of LBMPC on other platforms. Another salient feature is that its solving times scales linearly in the prediction horizon.
qpOASES: A C++ implementation of a dense online active-set strategy suited for MPC. It is freely available under the LGPL licence. Solving time scales cubicly in the prediction horizon.
LSSOL: A dense active-set solver that is not freely available. The user must acquire a licensed copy of LSSOL to use this code. Solving time scales cubicly in the prediction horizon.
- Dual EKF: A "dual" Extended Kalman Filter is used to estimate both the state and parameters of a system.
 A. Aswani, N. Master, J. Taneja, D. Culler, and C. Tomlin, “Reducing transient and steady state electricity consumption in HVAC using learning-based model predictive control,” Proceedings of the IEEE, vol. 100, no. 1, pp. 240–253, 2011. paper, bibtex
 A. Aswani, N. Master, J. Taneja, A. Krioukov, D. Culler, and C. Tomlin, “Energy-efficient building HVAC control using hybrid system LBMPC,” in Proceedings of IFAC Conference on Nonlinear Model Predictive Control, 2012. paper, bibtex