Code Monkey home page Code Monkey logo

kairproject / gazebodomainrandom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from near32/gazebodomainrandomization

0.0 3.0 0.0 428 KB

Implementation of some Domain Randomization tools within the ROS+Gazebo framework, following the work of Tobin et al. "Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real Worl" (https://arxiv.org/abs/1703.06907)

CMake 3.25% Makefile 0.11% Shell 0.14% Python 96.50%

gazebodomainrandom's Introduction

GazeboDomainRandom

This is an implementation of some Domain Randomization tools within the ROS+Gazebo framework, following the work of Tobin et al. "Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real Worl".

It can be used to generate virtual datasets for an object recognition task of your choice, as it will automatically generate the bounding boxes for the object we seek to recognize in every generated pictures. The object has to be rendered in a .dae file compatible with Gazebo, first.

sample sample1

Requirements

This has been developped and tested using ROS Indigo and Gazebo v2.2.6.

Installation :

Install the 3D model :

Once the object you seek to recognize in real applications has been modeled in 3D, in a dae file, you need to place that file as follows : ./models/GazeboDomainRandom/models/robot/mesh.dae.

You will now need to install all the required models so that ROS and Gazebo will be able to find them.

Install all the required model dependencies :

To install the model dependencies for ROS and Gazebo to find them, you need to execute :

./install_models.sh

It will install the models into the hidden folder .gazebo of your home directory.

Generate a Dataset :

In order to generate a dataset, execute :

python createDataset_auto.py

The following command keys apply :

  • n : create a new scene with random objects and colors. You will need to wait 5 seconds for the unloading and loading of the objects.
  • c : change the orientation of the objects that are currently in the scene.
  • v : change the position of the objects that are currently in the scene.
  • p : save the current picture in the ./src/dataset_test/images/ folder and create an XML annotation file with the bounding boxes for the object we seek to recognize in the ./src/dataset_test/annotations/ folder.

Development Status

This work is still a work in progress with many flaws and every contributions and/or advices are welcome :).

gazebodomainrandom's People

Contributors

near32 avatar

Watchers

 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.