Giter Site home page Giter Site logo

decnashplanning's Introduction

DecNashPlanning

Decentralized game-theoretic planning with v0.0.2 of the Interaction Simulator, which uses the Interaction Dataset scenarios to determine vehicle paths and spawn times.

Code for "Multi-Vehicle Control in Roundabouts using Decentralized Game-Theoretic Planning" at IJCAI 2021 AI4AD Workshop.

If you find this repository useful, please cite the paper:

@inproceedings{jamgochian2021multivehicle,
  author = {Arec Jamgochian and Kunal Menda and Mykel J. Kochenderfer},
  title = {Multi-Vehicle Control in Roundabouts using Decentralized Game-Theoretic Planning}
  series = {Artificial Intelligence for Autonomous Driving Workshop},
  booktitle = {International Joint Conference on Artificial Intelligence (IJCAI)},
  year = {2021}
}

Getting started

Clone the DecNashPlanning repository

git clone https://github.com/sisl/DecNashPlanning.git
cd DecNashPlanning

Clone InteractionSimulator with the decnash tag and install requirements using poetry.

git clone --branch decnash https://github.com/sisl/InteractionSimulator.git
cd InteractionSimulator
poetry install
poetry shell
cd ..
export PYTHONPATH=$(pwd):$PYTHONPATH

Copy INTERACTION Dataset files: The INTERACTION dataset contains a two folders which should be copied into a folder called ./InteractionSimulator/datasets:

  • the contents of recorded_trackfiles should be copied to ./InteractionSimulator/datasets/trackfiles
  • the contents of maps should be copied to ./InteractionSimulator/datasets/maps

Install additional requirements for DecNashPlanning:

pip install -r requirements.txt

Copy INTERACTION Dataset files: The INTERACTION dataset contains a two folders which should be copied into a folder called ./InteractionSimulator/datasets:

  • the contents of recorded_trackfiles should be copied to ./InteractionSimulator/datasets/trackfiles
  • the contents of maps should be copied to ./InteractionSimulator/datasets/maps

Download and install Julia . We use version 1.5.3.

Running experiments

You can run all experiments to generate trajectories and videos using python experiments/exp_wrapper.py (which makes successive calls to experiments/experiment.py with appropriate settings.

To calculate metrics from already generated trajectories, run python experiments/metrics.py.

To generate plots used in paper for single game solution, run python experiments/single_game.py.

You can manually make animations from saved states, graphs, lengths, and widths (post-process) using python experiments/animate.py.

decnashplanning's People

Contributors

jamgochiana avatar

Stargazers

 avatar  avatar Yoon, Seungje avatar  avatar  avatar  avatar hmq avatar Back2Zero avatar JackWind avatar Manasvi Saxena avatar Zhang Kun avatar Kanghoon Lee avatar Jun Zeng avatar Yuwei Wu avatar

Watchers

Jayesh K. Gupta avatar Tim Wheeler avatar Zachary Sunberg avatar Mykel Kochenderfer avatar Maxime avatar  avatar  avatar  avatar

Forkers

lassepe lxjlu

decnashplanning's Issues

Update manifest

Update the julia manifest to the correct environment settings
Screen Shot 2021-07-30 at 4 56 02 PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.