Model Predictive Control

# Resources

* Interval Based MPC
* Model Predictive Control
* Learning Based MPC
* MPC Controller on a FPGA
* Towards a Systematic Design for Turbocharged Engine Control
* Economic and Distributed Model Predictive Control of Nonlinear Systems

## Github

* Ferreau
* qpOASES
* LTI MPC in Python
* Fault Tolerant MPC
* MPC for the Gigatronik Car
* MPC for Solar Hot Water Systems
* Deep Learning MPC
* NMPC for VirtualME
* model predictive control emulation of an Arctic sea ice geoengineering campaign
* Optimization algorithm based on matrix calculus for reference trajectory tracking/model predictive control

# Research Groups

* Uni-Stuttgart
* Opt-Net
* Dysco
* HD-MPC

## OPTEC

* Software by OPTEC
* ACADO Toolkit
* ACADO Introduction Talk
* Code generation for crane control
* ACADO code generation
* qpOASES
* Embedded Optimization for Nonlinear Model Predictive Control

# Books

* MPC for Linear and Hybrid Systems, Francesco Borrelli
* Nonlinear Model Predictive Control, Lars Grüne and Jürgen Pannek
* Automotive Model Predictive Control, James B. Rawlings and David Q. Mayne
* Model Predictive Control: Theory and Design
* Nonlinear Model Predictive Control
* Calculus of Variation and Optimal Control by Liberzon

# Papers

* Addressing the Myths of Model Predictive Control (MPC)
* Model Predictive Control: A Survey
* The Development of Model Predictive Control in Automotive Industry: A Survey
* Robust Model Predictive Control: A Survey
* MPC: A Convex Optimization Approach
* 300 years of optimal control
* Real Time MPC
* NMPC for Turbo Charged Diesel Engine

# Presentations

* Model Predictive Control: A History
* HD\_MPC Workshop
* OMPC 2013 - SADCO SUMMER SCHOOL AND WORKSHOP ON OPTIMAL AND MODEL PREDICTIVE CONTROL
* Geromel
* Numerical Methods for Fast Nonlinear Model Predictive Control on Embedded Hardware

# Courses

* Model Predictive Control - Gabriele Pannocchia - Italy
* RPI Lectures
* Wisc
* Embedded Optimization for Nonlinear Model Predictive Control
* MPC Stuttgart 2011

# Convex Optimization and MPC

* Forces
* Convex Optimization II: MPC - Stephen Boyd - Stanford

# Applications

## Automotive Engines

* Model Predictive Control of a Turbocharged Engine
* Model Predictive Control of Diesel Engine Airpath

# Commercial

* embotech
* OnRAMP: Honeywell MPC controller for diesel engines

# Tools

* MPT Toolbox
* MPC Toolbox
* MOBY-DIC Toolbox: MPC on FPGA
* APmonitor
* ACADO
* jMPC
* OPTI
* muAO-MPC
* qpOASES
* CasADi
* MPC tools
* BLOM
* fast MPC
* PnPMPC
* Yalmip
* EMBOCON

## Numerical Solvers

* NLP solvers
	+ IPOPT (primal-dual interior point) Ipopt tips
	+ Ceres Solver
	+ LiftOpt (lifted Newton)
	+ WORHP (SQP)
	+ KNITRO (interior point or SQP)
* Linear solvers
	+ References
		- Iterative Methods for Sparse Linear Systems
		- PyMAG
		- Krylov subspace methods
	+ GMRES
		- SIAM Templates
		- GMRES by PyAMG
		- A Simpler GMRES
	+ LAPACK (LU and QR dense)
		- SuperLU
		- SuiteSparse
	+ QP solvers
		- OOQP
		- qpOASES (source included)
* Integrators
	+ CVODES and IDAS from the Sundials suite, version 2.4 or 2.5 (sensitivity capable multi-step methods for ODE:s and DAE:s)
* Nonlinear algebraic solver
	+ KINSOL from the Sundials suite (Note: Extended with sensitivity capabilities)
* Optimal control software
	+ ACADO Toolkit
* SDP solvers
	+ DSDP
* QCQP solvers
	+ CPLEX
* DAE Solvers
	+ SUNDIALS

# Books

* MPC for Linear and Hybrid Systems
* Model Predictive Control: Theory and Design
* Model Predictive Control - Book
* NMPC by Larse Grüne and Jürgen Pannek

# Theses and Dissertations

* H.J. Ferreau. Model Predictive Control Algorithms for Applications with Millisecond Timescales. PhD thesis, KU Leuven, 2011
* Model-based predictive control using Modelica and open source components
* Model Predictive Control of Hybrid Systems: Stability and Robustness
* Motion Planning for Manipulator Robots using Optimal Control

# People

* Prashant Mhaskar - McMaster
* Francesco Borelli - Berkeley
* HD-MPC
* Matthias Gerdts

# Companies

* Artelys
* Cybernetica
* embotech
* Odys

# Canada

* Non-linear model predictive control for autonomous vehicles