Giter VIP home page Giter VIP logo

behaviormetrics's Introduction

Publish Docker image Publish 10.1-cudnn7 Docker image Publish cuda 11 Docker image

Behavior Metrics

This software tool provides evaluation capabilities for autonomous driving solutions using simulation. We provide a series of quantitative metrics for the evaluation of autonomous driving solutions with support for two simulators, CARLA (main supported simulator) and gazebo (partial support). Currently supported tasks include:

  • Follow-lane
  • Driving in traffic
  • Navigation

Each task comes with its custom evaluation metrics that can help compare autonomous driving solutions. The main component of the ego vehicle is the controller (brain), which receives sensor data, manipulates it and generates robot control commands based on it. The inner part of the brain can be controlled by an end-to-end deep learning model, written in Tensorflow or PyTorch, a reinforcement learning policy, or even an explicitly programmed policy.

The software provides two main pipelines, a graphical user interface (GUI) and a headless mode (scripted). The first one is intended for testing one brain+model (controller) at a time and debugging it visually while the headless mode is intended for running lots of experiments at the same time for comparison of a batch of brain+models (controllers) in different scenarios.

alt text

Installation

For more information about the project and how to install it, you can consult the website of Behavior Metrics.

Examples

We provide examples for the follow-lane task using CARLA:

  • For an example of a robot brain using a Tensorflow model for control with GUI pipeline, run:
python3 driver_carla.py -c configs/CARLA/default_carla_tensorflow.yml -g
  • For an example of a robot brain using a PyTorch model for control with GUI pipeline, run:
python3 driver_carla.py -c configs/CARLA/default_carla_torch.yml -g
  • For an example of an explicitly programmed robot brain with GUI pipeline, run:
python3 driver_carla.py -c configs/CARLA/default_carla.yml -g
  • For an example of the headless pipeline, run:
python3 driver_carla.py -c configs/CARLA/default_carla_multiple.yml -s

Contributing to the project

If you want to contribute, please first check out CONTRIBUTING.md section.

config

Evaluation modes

Behavior Metrics provides two different evaluation modes, GUI evaluation and headless.

GUI

In this mode, activated with flag -g, the simulator and software application are displayed.

  • Video:

GUI video

  • Scheme:

GUI scheme

Headless

In this mode, activated with flag -s, the evaluation is conducted without graphical interface.

  • Video:

Headless video

  • Scheme:

Headless scheme

Robot controller

The robot controller (brain folder) is the main controller of the ego vehicle.

alt text

Behavior Metrics uses a publish/subscribe design to communicate with the simulator

alt text

behaviormetrics's People

Contributors

sergiopaniego avatar utkarshmishra04 avatar fqez avatar dcharrezt avatar dependabot[bot] avatar igarag avatar nik1806 avatar jmplaza avatar sakshaymahna avatar rubenlucas93 avatar laukikk avatar dhruv2012 avatar qi-zha0 avatar jessiffmm avatar predator4hack avatar tejalbarnwal avatar vmartinezf avatar

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.