Skip to content

Differentiable Collision Detection for trajectory optimization

Notifications You must be signed in to change notification settings

CogSP/DCOL-trajectory-optimization

Repository files navigation

AMR24-FP6-DCOL

This repo contains the code for a differentiable collision detection system, using several shapes as convex primitives.

Two Primitives

Table of Contents

Introduction

This project aims to develop a differentiable collision detection system, re-implementing in Python this Julia library

Installation

To install and set up this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/DIAG-Robotics-Lab/AMR24-FP6-DCOL.git
  2. Navigate to the project directory:

    cd AMR24-FP6-DCOL
  3. (optional) Create a virtual environment

    python -m venv venv
    source venv/bin/activate

    This will keep things cleaner

  4. Install dependencies:

    pip install -r requirements.txt

Usage

After installation, you can use the project as follows:

  1. Run the application: Run the script speciying the system you want to simulate
    python main.py --system <system_name>

Systems

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.

Results

Piano Mover

Running

python main.py --system piano_mover

the result is the following:

piano mover scene

Quadrotor

Running

python main.py --system quadrotor

the result is the following:

quadrotor scene

Cone Through Wall

Running

python main.py --system coneThroughWall

the result is the following:

cone scene size az 90 view

Acknowledgements

About

Differentiable Collision Detection for trajectory optimization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages