Skip to content

Differentiable Collision Detection for autonomous driving

Notifications You must be signed in to change notification settings

CogSP/DCOL-autonomous-driving

Repository files navigation

AMR24-FP6-DCOL

This repo contains a trajectory optimization and differentiable collision detection algorithm, using several shapes as convex primitives.

Two Primitives

By Simone Palumbo, Benedetta Rota and Camilla Rota.

Table of Contents

Introduction

This project is based on 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 autonomous driving

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages