Extremum-Seeking-Based Ultra-local Model Predictive Control and Its Application to Electric Motor Speed Regulation
This project proposes the extremum-seeking-based ultra-local model predictive control (ULMPC-ES) method to control the motor speed of a scaled car while satisfying the current constraint. It uses extremum seeking (ES) method to online tune a control gain in the ULMPC controller to enable better control performances. For detailed problem formulation and the ULMPC-ES algorithm, we refer the reader to read our paper.
For a full description of the algorithm itself and the lane detection resuls from both a simulation environment and a hardware implementation, please refer to the paper.
If you find this repository useful, please do cite the paper:
TBD
The primary contributor is Yujing "Bryant" Zhou, an incoming Ph.D. student at Princeton University. If you have specific questions about this repository, please post an issue.
MATLAB and Simulink are primarily used for this project. A minimum version of MATLAB-R-2020-a is required. CVXGEN is used to formulate the optimization problem.
The QUARC real-time control software is required to run the Simulink files for simulation tests.
A scaled car developed by Quanser, named QCar, is required to run the hardware tests.
Algorithms in this folder are the motor speed control using ULMPC-ES following different reference profiles.
Algorithms in this folder are the motor speed control in the simulatied environment.
Some collected reference speed profiles in the MATLAB data format can be accessed from here