Skip to main content

Design multi-agent environments and simple reward functions such that social driving behavior emerges

Project description

Social Driving

Emergent Road Rules In Multi-Agent Driving Environments

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Documentation License PyPI version Website arXiv Hits

For autonomous vehicles to safely share the road with human drivers, autonomous vehicles must abide by specific "road rules" that human drivers have agreed to follow. "Road rules" include rules that drivers are required to follow by law -- such as the requirement that vehicles stop at red lights -- as well as more subtle social rules -- such as the implicit designation of fast lanes on the highway. In this paper, we provide empirical evidence that suggests that -- instead of hard-coding road rules into self-driving algorithms -- a scalable alternative may be to design multi-agent environments in which road rules emerge as optimal solutions to the problem of maximizing traffic flow. We analyze what ingredients in driving environments cause the emergence of these road rules and find that two crucial factors are noisy perception and agents' spatial density. We provide qualitative and quantitative evidence of the emergence of seven social driving behaviors, ranging from obeying traffic signals to following lanes, all of which emerge from training agents to drive quickly to destinations without colliding. Our results add empirical support for the social road rules that countries worldwide have agreed on for safe, efficient driving.

Installation

Stable Release version is available through pip

pip install sdriving

Alternatively you can install using the latest (unreleased) version using

pip install git+https://github.com/fidler-lab/social-driving.git

Nuscenes Maps

Preprocessed nuScenes Maps are provided here, with the tagged release of this software. If you use these maps in your research consider citing the nuScenes Paper.

Questions/Requests

Please file an issue if you have any questions or requests about the code or the paper. If you prefer your question to be private, you can alternatively email me at avikpal@cse.iitk.ac.in.

Citation

If you found this codebase useful in your research, please consider citing

@misc{pal2020emergent,
    title={Emergent Road Rules In Multi-Agent Driving Environments}, 
    author={Avik Pal and Jonah Philion and Yuan-Hong Liao and Sanja Fidler},
    year={2020},
    eprint={2011.10753},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sdriving-0.1.0.tar.gz (66.3 kB view details)

Uploaded Source

Built Distribution

sdriving-0.1.0-py3-none-any.whl (92.8 kB view details)

Uploaded Python 3

File details

Details for the file sdriving-0.1.0.tar.gz.

File metadata

  • Download URL: sdriving-0.1.0.tar.gz
  • Upload date:
  • Size: 66.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for sdriving-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f772db6b547db38dd1ad9a2b47b9da225c3c3686fea4a27bfbf33c2a13596b73
MD5 95cec15f828e87c997a8d78c089969aa
BLAKE2b-256 1aff80849941d804815c50a95f1c9573c7bd98866e2e3f0b12658481a6200b85

See more details on using hashes here.

File details

Details for the file sdriving-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sdriving-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 92.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.3 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for sdriving-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b48ef64077b41ba9020f723478ffe2443f75ba1437fec058c122858d29ad304a
MD5 2dab9c3daa612f4156796f0f3a6c5469
BLAKE2b-256 66ddfc51b525fdf9927e91c3423f8167468d5e6abdc9a5641a05db23de0f91c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page