highwayenv

A minimalist environment for decision-making in autonomous driving

https://github.com/farama-foundation/highwayenv

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, academia.edu, springer.com, nature.com, ieee.org
  • Committers with academic emails
    4 of 44 committers (9.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

autonomous-driving gym-environment reinforcement-learning

Keywords from Contributors

deepmind-control-suite deepmind-lab gymnasium
Last synced: 6 months ago · JSON representation ·

Repository

A minimalist environment for decision-making in autonomous driving

Basic Info
Statistics
  • Stars: 2,990
  • Watchers: 29
  • Forks: 820
  • Open Issues: 80
  • Releases: 16
Topics
autonomous-driving gym-environment reinforcement-learning
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Funding License Citation

README.md

highway-env

build Documentation Status Downloads Codacy Badge GitHub contributors

A collection of environments for autonomous driving and tactical decision-making tasks, developed and maintained by Edouard Leurent.


An episode of one of the environments available in highway-env.

Try it on Google Colab! Open In Colab

The environments

Highway

python env = gymnasium.make("highway-v0")

In this task, the ego-vehicle is driving on a multilane highway populated with other vehicles. The agent's objective is to reach a high speed while avoiding collisions with neighbouring vehicles. Driving on the right side of the road is also rewarded.


The highway-v0 environment.

A faster variant, highway-fast-v0 is also available, with a degraded simulation accuracy to improve speed for large-scale training.

Merge

python env = gymnasium.make("merge-v0")

In this task, the ego-vehicle starts on a main highway but soon approaches a road junction with incoming vehicles on the access ramp. The agent's objective is now to maintain a high speed while making room for the vehicles so that they can safely merge in the traffic.


The merge-v0 environment.

Roundabout

python env = gymnasium.make("roundabout-v0")

In this task, the ego-vehicle if approaching a roundabout with flowing traffic. It will follow its planned route automatically, but has to handle lane changes and longitudinal control to pass the roundabout as fast as possible while avoiding collisions.


The roundabout-v0 environment.

Parking

python env = gymnasium.make("parking-v0")

A goal-conditioned continuous control task in which the ego-vehicle must park in a given space with the appropriate heading.


The parking-v0 environment.

Intersection

python env = gymnasium.make("intersection-v0")

An intersection negotiation task with dense traffic.


The intersection-v0 environment.

Racetrack

python env = gymnasium.make("racetrack-v0")

A continuous control task involving lane-keeping and obstacle avoidance.


The racetrack-v0 environment.

Examples of agents

Agents solving the highway-env environments are available in the eleurent/rl-agents and DLR-RM/stable-baselines3 repositories.

See the documentation for some examples and notebooks.

Deep Q-Network


The DQN agent solving highway-v0.

This model-free value-based reinforcement learning agent performs Q-learning with function approximation, using a neural network to represent the state-action value function Q.

Deep Deterministic Policy Gradient


The DDPG agent solving parking-v0.

This model-free policy-based reinforcement learning agent is optimized directly by gradient ascent. It uses Hindsight Experience Replay to efficiently learn how to solve a goal-conditioned task.

Value Iteration


The Value Iteration agent solving highway-v0.

The Value Iteration is only compatible with finite discrete MDPs, so the environment is first approximated by a finite-mdp environment using env.to_finite_mdp(). This simplified state representation describes the nearby traffic in terms of predicted Time-To-Collision (TTC) on each lane of the road. The transition model is simplistic and assumes that each vehicle will keep driving at a constant speed without changing lanes. This model bias can be a source of mistakes.

The agent then performs a Value Iteration to compute the corresponding optimal state-value function.

Monte-Carlo Tree Search

This agent leverages a transition and reward models to perform a stochastic tree search (Coulom, 2006) of the optimal trajectory. No particular assumption is required on the state representation or transition model.


The MCTS agent solving highway-v0.

Installation

pip install highway-env

Usage

```python import gymnasium as gym

env = gym.make('highway-v0', render_mode='human')

obs, info = env.reset() done = truncated = False while not (done or truncated): action = ... # Your agent code here obs, reward, done, truncated, info = env.step(action) ```

Documentation

Read the documentation online.

Development Roadmap

Here is the roadmap for future development work.

Citing

If you use the project in your work, please consider citing it with: bibtex @misc{highway-env, author = {Leurent, Edouard}, title = {An Environment for Autonomous Driving Decision-Making}, year = {2018}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/eleurent/highway-env}}, }

List of publications & preprints using highway-env (please open a pull request to add missing entries): * Approximate Robust Control of Uncertain Dynamical Systems (Dec 2018) * Interval Prediction for Continuous-Time Systems with Parametric Uncertainties (Apr 2019) * Practical Open-Loop Optimistic Planning (Apr 2019) * α^α-Rank: Practically Scaling α-Rank through Stochastic Optimisation (Sep 2019) * Social Attention for Autonomous Decision-Making in Dense Traffic (Nov 2019) * Budgeted Reinforcement Learning in Continuous State Space (Dec 2019) * Multi-View Reinforcement Learning (Dec 2019) * Reinforcement learning for Dialogue Systems optimization with user adaptation (Dec 2019) * Distributional Soft Actor Critic for Risk Sensitive Learning (Apr 2020) * Bi-Level Actor-Critic for Multi-Agent Coordination (Apr 2020) * Task-Agnostic Online Reinforcement Learning with an Infinite Mixture of Gaussian Processes (Jun 2020) * Beyond Prioritized Replay: Sampling States in Model-Based RL via Simulated Priorities (Jul 2020) * Robust-Adaptive Interval Predictive Control for Linear Uncertain Systems (Jul 2020) * SMART: Simultaneous Multi-Agent Recurrent Trajectory Prediction (Jul 2020) * Delay-Aware Multi-Agent Reinforcement Learning for Cooperative and Competitive Environments (Aug 2020) * B-GAP: Behavior-Guided Action Prediction for Autonomous Navigation (Nov 2020) * Model-based Reinforcement Learning from Signal Temporal Logic Specifications (Nov 2020) * Robust-Adaptive Control of Linear Systems: beyond Quadratic Costs (Dec 2020) * Assessing and Accelerating Coverage in Deep Reinforcement Learning (Dec 2020) * Distributionally Consistent Simulation of Naturalistic Driving Environment for Autonomous Vehicle Testing (Jan 2021) * Interpretable Policy Specification and Synthesis through Natural Language and RL (Jan 2021) * Deep Reinforcement Learning Techniques in Diversified Domains: A Survey (Feb 2021) * Corner Case Generation and Analysis for Safety Assessment of Autonomous Vehicles (Feb 2021) * Intelligent driving intelligence test for autonomous vehicles with naturalistic and adversarial environment (Feb 2021) * Building Safer Autonomous Agents by Leveraging Risky Driving Behavior Knowledge * Quick Learner Automated Vehicle Adapting its Roadmanship to Varying Traffic Cultures with Meta Reinforcement Learning (Apr 2021) * Deep Multi-agent Reinforcement Learning for Highway On-Ramp Merging in Mixed Traffic (May 2021) * Accelerated Policy Evaluation: Learning Adversarial Environments with Adaptive Importance Sampling (Jun 2021) * Learning Interaction-aware Guidance Policies for Motion Planning in Dense Traffic Scenarios (Jul 2021) * Automatic Overtaking on Two-way Roads with Vehicle Interactions Based on Proximal Policy Optimization (Jul 2021) * Robust Predictable Control (Sep 2021) * Adapting Autonomous Agents for Automotive Driving Games (Nov 2021) * Improving Robustness of Deep Reinforcement Learning Agents: Environment Attack based on the Critic Network (Jul 2022) * Autonomous Highway Merging in Mixed Traffic Using Reinforcement Learning and Motion Predictive Safety Controller (Oct 2022) * High-Level Decision-Making Non-player Vehicles (Nov 2022) * Designing an Interpretability Analysis Framework for Deep Reinforcement Learning (DRL) Agents in Highway Automated Driving Simulation (Feb 2023) * Explaining a Deep Reinforcement Learning (DRL)-Based Automated Driving Agent in Highway Simulations (Mar 2023) * Investigating High-Level Decision Making for Automated Driving (Apr 2023) * Implementing Deep Reinforcement Learning (DRL)-based Driving Styles for Non-Player Vehicles (Nov 2023) * Investigating Adversarial Policy Learning for Robust Agents in Automated Driving Highway Simulations (Jan 2024) * Enhancing Autonomous Vehicle Training with Language Model Integration and Critical Scenario Generation (Apr 2024)

PhD theses * Reinforcement learning for Dialogue Systems optimization with user adaptation (2019) * Safe and Efficient Reinforcement Learning for Behavioural Planning in Autonomous Driving (2020) * Many-agent Reinforcement Learning (2021)

Master theses * Multi-Agent Reinforcement Learning with Application on Traffic Flow Control (Jun 2021) * Deep Reinforcement Learning for Automated Parking (Aug 2021) * Deep Reinforcement Learning and Imitation Learning for Autonomous Driving in a Minimalist Environment (Jun 2021)

Owner

  • Name: Farama Foundation
  • Login: Farama-Foundation
  • Kind: organization
  • Email: contact@farama.org

The Farama foundation is a nonprofit organization working to develop and maintain open source reinforcement learning tools.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Leurent"
  given-names: "Edouard"
title: "An Environment for Autonomous Driving Decision-Making"
version: 1.4
date-released: 2018-05-01
url: "https://github.com/eleurent/highway-env"

GitHub Events

Total
  • Issues event: 38
  • Watch event: 351
  • Delete event: 1
  • Issue comment event: 44
  • Push event: 21
  • Pull request review comment event: 1
  • Pull request review event: 7
  • Pull request event: 23
  • Fork event: 76
  • Create event: 1
Last Year
  • Issues event: 38
  • Watch event: 351
  • Delete event: 1
  • Issue comment event: 44
  • Push event: 21
  • Pull request review comment event: 1
  • Pull request review event: 7
  • Pull request event: 23
  • Fork event: 76
  • Create event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,319
  • Total Committers: 44
  • Avg Commits per committer: 29.977
  • Development Distribution Score (DDS): 0.132
Past Year
  • Commits: 39
  • Committers: 6
  • Avg Commits per committer: 6.5
  • Development Distribution Score (DDS): 0.564
Top Committers
Name Email Commits
Edouard Leurent e****t@g****m 1,145
lorandcheng l****g@u****u 34
pseudo-rnd-thoughts m****s@g****m 20
Lucas Schott l****7@g****m 10
freemedom 5****m 10
mhtb m****2@g****m 10
snow-fox t****t@h****m 9
ashishrana160796 a****6@g****m 7
Lucas Alegre l****e@g****m 6
Martin Stoll M****l@d****m 6
lucasBOYER b****l@g****m 6
tibigg t****8@i****k 5
scaling-up-brl s****l@p****m 4
KexianShen s****n@g****m 4
Vinny v****3@g****u 4
Manuel Goulão m****o@g****m 3
Martin Rapp m****p@k****u 3
Lucas Alegre l****e@d****m 2
Michael Walters w****3@g****m 2
Antonin Raffin a****n@e****g 2
KohMat K****t 2
Maxim Dolgov m****v@d****m 2
Maximilian Naumann M****n@d****m 2
parmaski 8****i 1
dongleecsu d****u@g****m 1
admin 1****6@q****m 1
Clément HUBER c****r@n****h 1
mehmetozturan m****e 1
Zhenning Yang z****9@g****m 1
Zerong Xi x****g@g****m 1
and 14 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 180
  • Total pull requests: 65
  • Average time to close issues: 4 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 125
  • Total pull request authors: 29
  • Average comments per issue: 2.72
  • Average comments per pull request: 0.68
  • Merged pull requests: 38
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 25
  • Pull requests: 18
  • Average time to close issues: 3 days
  • Average time to close pull requests: 1 day
  • Issue authors: 23
  • Pull request authors: 9
  • Average comments per issue: 1.92
  • Average comments per pull request: 0.22
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • HodaHo (7)
  • AHPUymhd (6)
  • izvvv (6)
  • yshichseu (4)
  • AntaiXie (4)
  • Davinho10 (4)
  • favu100 (4)
  • seominseok00 (4)
  • SEUCGX (3)
  • Rza-A (3)
  • shile1998 (3)
  • xiaofutongxuo (3)
  • huang6668 (2)
  • Yuvraj-Dhepe (2)
  • eleurent (2)
Pull Request Authors
  • eleurent (21)
  • Faering666 (8)
  • Tosuma (7)
  • pseudo-rnd-thoughts (6)
  • m-walters (6)
  • freemedom (4)
  • LucasAlegre (3)
  • zhum86 (3)
  • emilylondon (2)
  • BachiriWahiba (2)
  • favu100 (2)
  • 9Xxi8Q4f (2)
  • lucalazzaroni (2)
  • christophluther (2)
  • apighetti (2)
Top Labels
Issue Labels
enhancement (3) help wanted (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 10
proxy.golang.org: github.com/Farama-Foundation/HighwayEnv
  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/farama-foundation/highwayenv
  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • gym *
  • jupyter-sphinx *
  • matplotlib *
  • numpy *
  • pandas *
  • pygame *
  • pygments ==2.4.1
  • pytest *
  • scipy *
  • sphinx_rtd_theme *
  • sphinxcontrib-bibtex <2.0.0
.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • codecov/codecov-action v1 composite
.github/workflows/release.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/build-docs-dev.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/build-docs-version.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • dawidd6/action-get-tag v1 composite
.github/workflows/manual-build-docs-version.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pre-commit.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
setup.py pypi