Model Predictive Control(MPC) for trajectory tracking on Unmanned Ground Vehicle (UGV) with waypoint generation in an unknown environment using perception.
- Dynamic obstacle avoidance
- Implementation and demonstration on hardware
This is the setup for Ubuntu (22.04). Not sure how it works on Windows/Mac.
(Recommended) Make a separate conda environment and install the package in that environment:
conda create -n FOR_Project python=3.8
conda activate FOR_Project
First clone the repository:
git clone https://github.com/prakrutk/FOR_Project.git
Checkout to the branch named 'Prakrut':
git checkout Prakrut
Then go into the directory and install the package using pip:
cd FOR_Project
pip install --upgrade pip
pip install -e .
pip install -r requirements.txt
To run MPC code:
python3 dynamics/MPC.py
(disclaimer: Something is working now we have to figure out what exactly is working)
To run Waypoint generation code:
python3 Waypoint_generation/Waypoint_new.py
Slides for more details: [link]
State variable: $ X = (x,y,\psi , \dot x, \dot y, \dot \psi )$
Input/control variable:
Where,
Assuming a small slip angle and small slip ratio, the forces acting on the car can be written as:
With the assumptions and substituting the above equations in the dynamics equation of the car, we get:
Also,
Where:
Now,
Where,
Hence we can write,
Now writing in a condensed form,
Where,
- Prakrut Kotecha
- Aastha Mishra
- Ishita Ganjoo
- Mehul Nakra
- Sayli Sawant
- Tirth D Shiyala