Table of Contents
Fetching ...

Learning How to Autonomously Race a Car: a Predictive Control Approach

Ugo Rosolia, Francesco Borrelli

TL;DR

The first contribution is to propose a local LMPC which reduces the computational burden associated with existing LMPC strategies, and shows how to construct a local safe set and approximation to the value function, using a subset of the stored data.

Abstract

In this paper we present a Learning Model Predictive Controller (LMPC) for autonomous racing. We model the autonomous racing problem as a minimum time iterative control task, where an iteration corresponds to a lap. In the proposed approach at each lap the race time does not increase compared to the previous lap. The system trajectory and input sequence of each lap are stored and used to systematically update the controller for the next lap. The first contribution of the paper is to propose a LMPC strategy which reduces the computational burden associated with existing LMPC strategies. In particular, we show how to construct a safe set and an approximation to the value function, using a subset of the stored data. The second contribution is to present a system identification strategy for the autonomous racing iterative control task. We use data from previous iterations and the vehicle's kinematics equations to build an affine time-varying prediction model. The effectiveness of the proposed strategy is demonstrated by experimental results on the Berkeley Autonomous Race Car (BARC) platform.

Learning How to Autonomously Race a Car: a Predictive Control Approach

TL;DR

The first contribution is to propose a local LMPC which reduces the computational burden associated with existing LMPC strategies, and shows how to construct a local safe set and approximation to the value function, using a subset of the stored data.

Abstract

In this paper we present a Learning Model Predictive Controller (LMPC) for autonomous racing. We model the autonomous racing problem as a minimum time iterative control task, where an iteration corresponds to a lap. In the proposed approach at each lap the race time does not increase compared to the previous lap. The system trajectory and input sequence of each lap are stored and used to systematically update the controller for the next lap. The first contribution of the paper is to propose a LMPC strategy which reduces the computational burden associated with existing LMPC strategies. In particular, we show how to construct a safe set and an approximation to the value function, using a subset of the stored data. The second contribution is to present a system identification strategy for the autonomous racing iterative control task. We use data from previous iterations and the vehicle's kinematics equations to build an affine time-varying prediction model. The effectiveness of the proposed strategy is demonstrated by experimental results on the Berkeley Autonomous Race Car (BARC) platform.

Paper Structure

This paper contains 13 sections, 28 equations, 6 figures, 1 table.

Figures (6)

  • Figure 1: Representation of the vehicle's position in the curvilinear reference frame.
  • Figure 2: Lap time of the LMPC on the oval-shaped and L-shaped tracks.
  • Figure 3: Recorded lateral acceleration of the vehicle running on the oval-shaped track (top row) and L-shaped track (bottom row).
  • Figure 4: The first row in the above figure shows the closed-loop trajectory used to initialize the LMPC and the closed-loop trajectories after few laps of learning. The second row shows the steady state trajectories at which the LMPC has converged. Notice that the scale of the color bar changes from the first to the second row, as the vehicle runs at higher speed after the learning process has converged.
  • Figure 5: Data points used in the LMPC design at each lap.
  • ...and 1 more figures