uoe-agents / IGP2

Official Repository for "Interpretable Goal-based Prediction and Planning for Autonomous Driving" (ICRA 2021)
Other
82 stars 18 forks source link

Interpretable Goal-based Prediction and Planning (IGP2)

A motion planning and prediction system for autonomous driving.

Latest stable version: 0.3.0; Read the documentation.


Project Description

This code-repository contains the open-source implementation of Interpretable Goal-based Prediction and Planning (IGP2) for autonomous driving, based on Albrecht et al. (ICRA'21). If you would like to get a more detailed understanding of IGP2, please see this blog post for an introduction.

This implementation of IGP2 is powered by the open-source ASAM OpenDrive 1.6 standard for road layout definition and the similarly open-source simulated driving environment CARLA 0.9.13. IGP2 also runs without CARLA using a simple 2D simulator, which obfuscates realistic physical simulation in favour of speed and reproducibility.

The goal recognition module of this implementation also supports both the inD and rounD datasets. This module was also used as a baseline for comparison to the GRIT goal recognition method.

Please cite:

If you use this code, please cite "Interpretable Goal-based Prediction and Planning for Autonomous Driving" by Albrecht et al. [1] published at ICRA 2021:

@inproceedings{albrecht_interpretable_2021,
  title = "Interpretable Goal-based Prediction and Planning for Autonomous Driving",
  author = "Stefano V. Albrecht and Cillian Brewitt and John Wilhelm and Balint Gyevnar and Francisco Eiras and Mihai Dobre and Subramanian Ramamoorthy",
  booktitle = "IEEE International Conference on Robotics and Automation (ICRA)",
  year = "2021"
}

Acknowledgements

  1. The igp2.opendrive module is based on the opendriveparser module of Althoff et al. [2]. Their original code is available here.
  2. The gui module is based on the inD Dataset Python Tools available on GitHub.
  3. The CARLA visualiser is based on example code provided as part of CARLA [3].

Remarks

This project contains an implementation of a queryable road-layout Map based on OpenDrive with partial support of the whole standard. Notably, signals and controllers are currently not supported, and there is no immediate plan to implement them either, as IGP2 does not rely on these features.

New maps can be created for IGP2 using various tools, e.g. RoadRunner from MathWorks.

A useful GUI to visualise the outputs of the goal recognition method is included in the project.

Documentation

Guidance on how to get started and full documentation of IGP2 is available on a separate website of this repository, as well as under the docs folder.

References

[1] S. V. Albrecht, C. Brewitt, J. Wilhelm, B. Gyevnar, F. Eiras, M. Dobre, S. Ramamoorthy, "Interpretable Goal-based Prediction and Planning for Autonomous Driving", in Proc. of the IEEE International Conference on Robotics and Automation (ICRA), 2021

[2] M. Althoff, S. Urban, and M. Koschi, "Automatic Conversion of Road Networks from OpenDRIVE to Lanelets," in Proc. of the IEEE International Conference on Service Operations and Logistics, and Informatics, 2018

[3] A. Dosovitskiy, G. Ros, F. Codevilla, A. Lopez, V. Koltun, "CARLA: An Open Urban Driving Simulator" in Proc. of the 1st Annual Conference on Robot Learning, 2017