This repo contains the code for a differentiable collision detection system, using several shapes as convex primitives.
By Benedetta Rota (1936424), Camila Rota (1936447), Simone Palumbo (1938214)
This project aims to develop a differentiable collision detection system, re-implementing in Python this Julia library
To install and set up this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/DIAG-Robotics-Lab/AMR24-FP6-DCOL.git
-
Navigate to the project directory:
cd AMR24-FP6-DCOL
-
(optional) Create a virtual environment
python -m venv venv source venv/bin/activate
This will keep things cleaner
-
Install dependencies:
pip install -r requirements.txt
After installation, you can use the project as follows:
- Run the application:
Run the script speciying the system you want to simulate
python main.py --system <system_name>
The available systems in this repo are
- Piano Mover: a piano must maneuver around a 90-degree turn in a hallway. The walls are 1 meter apart, and the “piano” (a line segment) is 2.6 meters long, making the path around the corner nontrivial.
- Quadrotor: a classic 6-DOF quadrotor model traverses a cluttered hallway with 12 objects in it.
- Cone Through a Wall: a cone must be routed through a square hole in a wall.
Running
python main.py --system piano_mover
the result is the following:
Running
python main.py --system quadrotor
the result is the following:
Running
python main.py --system coneThroughWall
the result is the following: