🤖 AI Summary
Model Predictive Control (MPC) faces significant challenges in autonomous driving due to high computational complexity and difficulties in embedded deployment.
Method: This paper proposes a robust nonlinear MPC code-generation framework tailored for trajectory tracking. It innovatively integrates the active-set method with robustification strategies, supporting user-defined vehicle dynamics models and numerical integration schemes. The framework automatically generates highly efficient, statically allocated C code—free of dynamic heap allocation—to minimize real-time computational overhead.
Contribution/Results: The framework is compatible with MATLAB/Simulink and ROS, and has been validated across diverse driving scenarios—including low-speed navigation, high-speed cruising, and drifting—demonstrating guaranteed solution feasibility, strong robustness against disturbances and model uncertainty, enhanced deployment flexibility, and broad applicability. It delivers a production-ready MPC solution for resource-constrained automotive embedded platforms.
📝 Abstract
Model Predictive Control (MPC) is a powerful technique to control nonlinear, multi-input multi-output systems subject to input and state constraints. It is now a standard tool for trajectory tracking control of automated vehicles. As such it has been used in many research and development projects. However, MPC faces several challenges to be integrated into industrial production vehicles. The most important ones are its high computational demands and the complexity of implementation. The software packages AutoMPC aims to address both of these challenges. It builds on a robustified version of an active set algorithm for Nonlinear MPC. The algorithm is embedded into a framework for vehicle trajectory tracking, which makes it easy to used, yet highly customizable. Automatic code generation transforms the selections into a standalone, computationally efficient C-code file with static memory allocation. As such it can be readily deployed on a wide range of embedded platforms, e.g., based on Matlab/Simulink or Robot Operating System (ROS). Compared to a previous version of the code, the vehicle model and the numerical integration method can be manually specified, besides basic algorithm parameters. All of this information and all specifications are directly baked into the generated C-code. The algorithm is suitable driving scenarios at low or high speeds, even drifting, and supports direction changes. Multiple simulation scenarios show the versatility and effectiveness of the AutoMPC code, with the guarantee of a feasible solution, a high degree of robustness, and computational efficiency.