Skip to main content

The oatomobile is a tool for developing and testing driving agents on the CARLA simulator

Project description

OATomobile: A research framework for autonomous driving

Overview | Installation | Baselines | Paper

PyPI Python Version PyPI version arXiv GitHub license

OATomobile is a library for autonomous driving research. OATomobile strives to expose simple, efficient, well-tuned and readable agents, that serve both as reference implementations of popular algorithms and as strong baselines, while still providing enough flexibility to do novel research.

Overview

If you just want to get started using OATomobile quickly, the first thing to know about the framework is that we wrap CARLA towns and scenarios in OpenAI gyms:

import oatomobile

# Initializes a CARLA environment.
environment = oatomobile.envs.CARLAEnv(town="Town01")

# Makes an initial observation.
observation = environment.reset()
done = False

while not done:
  # Selects a random action.
  action = environment.action_space.sample()
  observation, reward, done, info = environment.step(action)

  # Renders interactive display.
  environment.render(mode="human")

# Book-keeping: closes
environment.close()

Baselines can also be used out-of-the-box:

# Rule-based agents.
import oatomobile.baselines.rulebased

agent = oatomobile.baselines.rulebased.AutopilotAgent(environment)
action = agent.act(observation)

# Imitation-learners.
import torch
import oatomobile.baselines.torch

models = [oatomobile.baselines.torch.ImitativeModel() for _ in range(4)]
ckpts = ... # Paths to the model checkpoints.
for model, ckpt in zip(models, ckpts):
  model.load_state_dict(torch.load(ckpt))
agent = oatomobile.baselines.torch.RIPAgent(
  environment=environment,
  models=models,
  algorithm="WCM",
)
action = agent.act(observation)

Installation

We have tested OATomobile on Python 3.5.

  1. To install the core libraries (including CARLA, the backend simulator):

    # The path to download CARLA 0.9.6.
    export CARLA_ROOT=...
    mkdir -p $CARLA_ROOT
    
    # Downloads hosted binaries.
    wget http://carla-assets-internal.s3.amazonaws.com/Releases/Linux/CARLA_0.9.6.tar.gz
    
    # CARLA 0.9.6 installation.
    tar -xvzf CARLA_0.9.6.tar.gz -C $CARLA_ROOT
    
    # Installs CARLA 0.9.6 Python API.
    easy_install $CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.6-py3.5-linux-x86_64.egg
    
  2. To install the OATomobile core API:

    pip install --upgrade pip setuptools
    pip install oatomobile
    
  3. To install dependencies for our PyTorch- or TensorFlow-based agents:

    pip install oatomobile[torch]
    # and/or
    pip install oatomobile[tf]
    

Citing OATomobile

If you use OATomobile in your work, please cite the accompanying technical report:

@inproceedings{filos2020can,
    title={Can Autonomous Vehicles Identify, Recover From, and Adapt to Distribution Shifts?},
    author={Filos, Angelos and
            Tigas, Panagiotis and
            McAllister, Rowan and
            Rhinehart, Nicholas and
            Levine, Sergey and
            Gal, Yarin},
    booktitle={International Conference on Machine Learning (ICML)},
    year={2020}
}

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

oatomobile-0.1.0.tar.gz (62.7 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: oatomobile-0.1.0.tar.gz
  • Upload date:
  • Size: 62.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.9

File hashes

Hashes for oatomobile-0.1.0.tar.gz
Algorithm Hash digest
SHA256 760d4f61f3a9e984d890e2933c3754e311d3ac971f06919d7fab41dff848b018
MD5 60832c7624c513df0993f52a12aea981
BLAKE2b-256 964e62d53d32b14e190eb38a132e329c0c583c82c9b8e69ecb3b9704a8aacbbe

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