Development and Comparative Analysis of MPC and PID Controllers
MPC Controller for Autonomous Vehicles
This project explores two essential control strategies for autonomous vehicle trajectory tracking: Model Predictive Control (MPC) and Proportional-Integral-Derivative (PID). As the author and developer, I implemented both controllers entirely in Python and evaluated their performance in a simulated environment using a realistic vehicle dynamics model.
MPC stands out for its ability to predict future states and handle constraints through optimization, while PID offers a simpler, classical approach with faster implementation. The project compares both controllers in terms of accuracy, smoothness, and computational efficiency.
Key technologies used include Python, NumPy, Matplotlib for visualization, and CVXOPT to solve the MPC optimization problem. The codebase includes modular files for each controller and the vehicle model, with all dependencies managed through a virtual environment.
This project not only deepened my understanding of control theory but also sharpened my practical skills in simulation, numerical optimization, and clean code architecture for autonomous systems.
Project information
- Category Autonomous Driving
- Project date 10 February, 2025
- PDF URL: Dissertation Oxford Brookes
- Code URL: Code in GitLab
- Video URL: Video Demonstration