Adaptive Learning Model Predictive Control for Autonomous Racing
This project builds on the Learning Model Predictive Control (LMPC) framework applied to the autonomous racing problem. We developed a LMPC for the autonomous racing problem that safely drives the test car around a racetrack while minimizing the lap time with successive iterations. The controller collects data from each lap to learn a control invariant terminal set and a value function approximation.
The goal of this project is to use the LMPC framework to build an adaptive controller which learns the vehicle model parameters. This would allow to reduce model mismatch between the true car dynamics and the controller model and consequqntly to increase the performance of the closed loop system increases.
The video shows the results of two experiments. In the first experiment the controller uses a simple kinematic bicycle model to predict the motion of the car. After an initial path following lap the LMPC controller starts the learning successfully reducing the lap time at each iteration. However, the model mismatch between controller model and car increases with higher velocities. Therefore, the car does not steer enough while passing the curves. During the second experiment the proposed adaptive controller model was used. The vehicle model is adapted online by the LMPC controller, this leads to a reduction of model mismatch and to lower lap times. The video ends with a side-by-side comparison of the two fastest laps of each approach.
MS Thesis of Michael Garstka