Giter VIP home page Giter VIP logo

drive_simulator's Introduction

DRIVE: Digital twin for self-dRiving Intelligent VEhicles

DRIVE is an open-source vehicular network simulator that merges the world of Cooperative Intelligent Transportation Systems (C-ITSs) and Artificial Intelligence.

It is designed with a scalable and modular architecture in mind to reduce the computation complexity, but still maintain a high true-to-life representation of the world.

A detailed description about the capabilities of DRIVE, and information on how to set it up and use it, can be found in our User Manual. Also, a detailed description on how to generate a SUMO scenario and integrate it with DRIVE can be found in our Wiki page.

Requirements

  • Recent version of MATLAB (tested with MATLAB 2019a and 2018b).
  • SUMO Traffic Generator version >v1.0.0 (tested with SUMO v1.2.0 and v1.6.0).
  • Any operating system (tested on Windows 10, Ubuntu 18.04 LTS, and macOS 10.14/10.15).
  • TraCI4Matlab (link).

License and Citing DRIVE

This code is freely available under the terms found in the LICENCE file. If this code is used for drafting a manuscript, we ask the authors to cite our recent paper DRIVE: A Digital Network Oracle for Cooperative Intelligent Transportation Systems.

@inproceedings{driveSimulator
    author={{Mavromatis}, I. and {Piechocki}, R. and {Sooriyabandara}, M. and {Parekh}, A.},
    booktitle={Proc. of IEEE Symposium on Computers and Communications (ISCC)},
    title={{DRIVE: A Digital Network Oracle for Cooperative Intelligent Transportation Systems}},
    year={2020},
    month={jul},
    address={Rennes, France},
}

DRIVE At-a-Glance

DRIVE provides a flexible framework that users can develop, train and optimise Machine Learning-based C-ITS solutions with minimal overhead. It can also be used for more traditional communication-related investigation, within large-scale vehicular communication scenarios.

DRIVE leverages from real-world maps, downloaded from OpenStreetMap, and a bidirectional connection with SUMO traffic generator via Traffic Control Interface (TraCI). It can simulate realistic city-scale 3D scenarios, and the communication interactions between vehicles, pedestrians and the infrastructure network. In alignment with SUMO mobility traces, indoor users are introduced, contributing to the overall network load. Our framework is designed to tackle shortcomings of traditional vehicular network simulators, and dynamically interact with Intelligent Agents, sharing the “state of the world” and applying decision policies.

The framework is designed in a highly parallelized and vertorized fashion. Intelligently manipulating the buildings, roads and foliage polygons, it can minimize the execution time. Being developed in MATLAB, it can be easily linked with existing optimization and Machine-learning toolboxes provided by MathWorks, as well as external libraries from different programming languages (e.g., this link describes how Python libraries can be called from within MATLAB).

DRIVE In-detail

More details about DRIVE simulation framework capabilities can be found in:

This repository contains:

  • DRIVE code.
  • DRIVE Licence.
  • DRIVE User Manual.
  • Three example use-cases, demonstrating the different functionalities of DRIVE:
    • A scenario based on just an OSM map, simulating indoor traffic and a macro-cell communication plane that calculates the average datarate for the given technology.
    • A scenario with both indoor traffic and SUMO mobility traces, that changes the configuration of the given communication planes based on the user density.
    • A scenario that calculates the number of established links between vehicles and pedestrians, in a Vehicle-to-Vehicle and Pedestrian-to-Pedestrian fashion.
  • Three example maps and mobility traces, provided as the default DRIVE scenarios:
    • City of Manhattan: ~9km2 of buildings, foliage and roads, with vehicular (2 different types of vehicles) and pedestrian mobility traces generated.
    • City of London: ~4km2 of buildings, foliage and roads, with vehicular (2 types of vehicles) mobility traces generated.
    • Smart Junction: An artificially generated cross-junction (one lane per road), and with the corresponding vehicular (2 types of vehicles) mobility traces generated.

Useful Links

drive_simulator's People

Contributors

ioannismavromatis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  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.