GithubHelp home page GithubHelp logo

mczhi / predictive-decision Goto Github PK

View Code? Open in Web Editor NEW
81.0 3.0 13.0 64.79 MB

[ITSC 2023] Predictive Decision-making Framework with Interaction-aware Motion Forecasting Model

Python 100.00%
motion-planning prediction-model

predictive-decision's Introduction

Predictive-Decision-making

This repository contains the code for the following paper:

Learning Interaction-aware Motion Prediction Model for Decision-making in Autonomous Driving
Zhiyu Huang, Haochen Liu, Jingda Wu, Wenhui Huang, Chen Lv
AutoMan Research Lab, Nanyang Technological University
[arXiv]

If you are looking for or interested in our winning solutions (Team AID) at NeurIPS 2022 Driving SMARTS Competition, please go to track 1 solution and track 2 solution.

Framework

We propose an interaction-aware predictor to forecast the neighboring agents' future trajectories around the ego vehicle conditioned on the ego vehicle's potential plans. A sampling-based planner will do collision checking and select the optimal trajectory considering the distance to the goal, ride comfort, and safety. The overall framework of our method is given below.

Overview of our method

Results

Examples of our framework navigating in various scenarios are shown below.

Left turn

left_turn.mp4

Merge

highway_merge.mp4

Overtake

overtake.mp4

How to use

Create a new Conda environment

conda create -n smarts python=3.8

Install the SMARTS simulator

conda activate smarts

Install the SMARTS simulator.

# Download SMARTS
git clone https://github.com/huawei-noah/SMARTS.git
cd <path/to/SMARTS>
git checkout comp-1

# Install the system requirements.
bash utils/setup/install_deps.sh

# Install smarts with comp-1 branch.
pip install "smarts[camera-obs] @ git+https://github.com/huawei-noah/SMARTS.git@comp-1"

Install Pytorch

conda install pytorch==1.12.0 -c pytorch

Training

Run train.py. Leave other arguments vacant to use the default setting.

python train.py --use_exploration --use_interaction

Testing

Run test.py. You need specify the path to the trained predictor --model_path. You can aslo set --envision_gui to visualize the performance of the framework in envision or set --sumo_gui to visualize in sumo.

python test.py --model_path /training_log/Exp/model.pth

To visualize in Envision (some bugs exist in showing the road map), you need to manually start the envision server and then go to http://localhost:8081/.

scl envision start -p 8081

Citation

If you find this repo to be useful in your research, please consider citing our work

@article{huang2023learning,
  title={Learning Interaction-aware Motion Prediction Model for Decision-making in Autonomous Driving},
  author={Huang, Zhiyu and Liu, Haochen and Wu, Jingda and Huang, Wenhui and Lv, Chen},
  journal={arXiv preprint arXiv:2302.03939},
  year={2023}
}

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.