Course project implementing Model Predictive Control (MPC) for Unmanned Ground Vehicles (UGV) navigating unknown environments with obstacle avoidance. The system generates optimal waypoints and controls in real-time using perception-based waypoint generation.
The system uses a bicycle model with the following state and control variables:
Perception module that converts camera images into navigable waypoints:
Successfully demonstrated obstacle avoidance in static and dynamic environments with replanning frequency of 10 Hz. Tested in both PyBullet simulation and ROS/Gazebo environments on Husky robot platform.
Recommended: Create a separate conda environment
conda create -n FOR_Project python=3.8
conda activate FOR_Project
git clone https://github.com/prakrutk/MPC-for-UGV.git
cd MPC-for-UGV
pip install --upgrade pip
pip install -e .
pip install -r requirements.txt
Run MPC: python3 dynamics/MPC.py
Run Waypoint Generation: python3 Waypoint_generation/Waypoint_new.py