Adaptive Planning with Model Predictive Control (MPC)

An adaptive planning approach for avoiding static and dynamic obstacles for autonomous racing

This project is built on an autonomous racecar that is one-tenth the scale of an F1 vehicle. The car utilizes a Hokuyo planar LIDAR sensor to obtain information about the environment.

Picture of the car (Source - https://f1tenth.org/build.html)

The project proposes a practical method for map based autonomous racing that avoids both static and dynamic obstacles. We use off the shelf SLAM algorithm with TUM raceline optimization to determine the optimal raceline. We generate dynamically feasible trajectories and utilize an MPC to determine the best switching maneuver that avoids obstacles while making maximal progress with respect to the optimal raceline

Raceline picture from ROS2 Gazebo simulator. Green - optimal raceline & Blue - ego vehicle.
Left - obstacle free navigation. Right - obstacle avoidance

The algorithm generates dynamically feasible (imagined) trajectories (blue) and chooses one that makes maximal progress (yellow). When the ego vehicle encounters an obstacle (orange), it chooses the best possible alternative (yellow).

Video demonstrating obstacle avoidance in simulation. Blue - Ego vehicle, Orange - Opponent vehicle
Video demonstrating obstacle avoidance in the actual vehicle

The code is provided here