Coder Social home page Coder Social logo

cornet2.0's Introduction

CORNET2.0

Co-Simulation Framework for applications involving Networked Robots like Connected Autonomous Vehicles, Network of UAVs.


CORNET 1.0 integrates Ardupilot SITL in Gazebo and NS3 and the source code is available here.

CORNET 2.0 is more generic framework that can be integrated with any robotic framework that supports ROS. This code was tested on an Ubuntu 16.04 and Ubuntu 18.04 system.

For network realization, we use Mininet Wi-Fi; the dependent packages need to installed as mentioned in mininet wifi documentation. This work is submitted for review (COMSNETS 2022). If you find this code useful in your research, please consider citing:

@misc{acharya2021cornet,
    title={CORNET 2.0: A Co-Simulation Middleware for Robot Networks}, 
    author={Srikrishna Acharya and Bharadwaj Amrutur and Mukunda Bharatheesha and Yogesh Simmhan},
    year={2021},
    eprint={2109.06979},
    archivePrefix={arXiv},
    primaryClass={cs.RO}
}

Installation

mininet-WiFi + Containernet Support

We highly recommend using Ubuntu version 16.04 or higher. Some new hostapd features might not work on Ubuntu 14.04.

sudo apt install libnl-route-3-dev
pip3 install docker-py
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 

sudo apt-get install git
sudo apt-get install ansible git aptitude
git clone https://github.com/ramonfontes/containernet.git
cd containernet/ansible
~/containernet/ansible$ sudo ansible-playbook -i "localhost," -c local install.yml
cd ..
~/containernet$ sudo python setup.py install

ROS2

The Docker with ROS2 support provided in docker_container folder along with other wireless tools for testing and evaluation.

build.sh script will build and tag the images required for running. you can add you own Dockerfile based on the file Dockerfile

Prebuilt docker image

You can also use a pre-built docker image which can be downloaded from here then you can load the image with the following command:

docker load -i containernet_foxy.tar

cornet2.0's People

Contributors

gjacquenot avatar shubham1337 avatar srikrishna3118 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cornet2.0's Issues

Refactor network_config.py:topology(args)

I've selected network_config.py:topology(args) for refactoring, which is a unit of 50 lines of code. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Short Units of Code guideline rating! ๐Ÿ‘

Here's the gist of this guideline:

  • Definition ๐Ÿ“–
    Limit the length of code units to 15 lines of code.
  • Whyโ“
    Small units are easier to analyse, test and reuse.
  • How ๐Ÿ”ง
    When writing new units, don't let them grow above 15 lines of code. When a unit grows beyond this, split it in smaller units of no longer than 15 lines.

You can find more info about this guideline in Building Maintainable Software. ๐Ÿ“–


โ„น๏ธ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the ๐Ÿ”ฒ next to them. The risk profile below the candidates signals (โœ…) when it's enough! ๐Ÿ


Good luck and happy coding! :shipit: โœจ ๐Ÿ’ฏ

Request for Documentation Enhancement

Hi guys,

CORNET2.0 is what I need in my research which has integrate Gazebo+ROS 2 and Mininet-WiFi network emulator. Thanks to the contributors for releasing this repository.

However, I was confused to read the code without whole picture of project.

Could you please provide some illustration about:

  1. 'Getting Start' doc the give the overview of the project and example demos
  2. Brief illustration on the project files and the relationship of the CORNET2.0 paper's experiments

Thank you

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.