Skip to content

OpenAI Gym robotics environments implemented with Ignition Gazebo

License

Notifications You must be signed in to change notification settings

paolo-viceconte/gym-ignition

 
 

Repository files navigation

gym-ignition

DescriptionSetupCitationWebsite


General C++ Standard Size Size
CI/CD CICD Docker Images Codacy Badge
gym-ignition


Description

gym-ignition is a framework to create reproducible robotics environments for reinforcement learning research.

The project consists of the following components:

  • ScenarI/O: Scene Interfaces for Robot Input / Output is a C++ abstraction layer to interact with simulated and real robots.
  • Gazebo ScenarI/O: Implementation of the ScenarI/O interfaces to interact with the Ignition Gazebo simulator. We provide Python bindings with functionalities comparable to popular alternatives like pybullet and mujoco-py.
  • gym_ignition: A Python package with the tooling to create OpenAI Gym environments for robot learning. It provides abstractions like Task and Runtime to help developing environments that can be executed transparently on all the ScenarI/O implementations (different simulators, real robots, ...). The package also contains resources for inverse kinematics and multi-body dynamics supporting floating-based robots based on the iDynTree library.
  • gym_ignition_environments: Demo environments created with gym_ignition and gym-ignition-models that show the recommended structure.

This project provides the complete implementation of ScenarI/O for the Ignition Gazebo simulator. We expose all the physics engines supported by Ignition Gazebo. Currently, the default and only physics engine is DART.

We are currently working on backends based on robotic middleware to transparently execute the environments developed with gym_ignition on real robots.

If you're interested to know the reasons why we started developing gym-ignition and why we selected Ignition Gazebo for our simulations, visit the Motivations section of the website.

Setup

  1. Install the latest Ignition suite following the official instructions.
  2. Execute pip install gym-ignition, preferably in a virtual environment.

Note: gym-ignition currently only supports the latest version of the ignition suite. For more information on supported versions please refer to the Support Policy.

Then, for some simple examples, visit the Getting Started section of the website.

You can decide to install only the C++ resources if you are not interested in using Python. We also offer a constantly updated pre-release channel with the last development updates. You can find all the details about the different types of installations we support in the website.

Citation

@INPROCEEDINGS{ferigo2020gymignition,
    title={Gym-Ignition: Reproducible Robotic Simulations for Reinforcement Learning},
    author={D. {Ferigo} and S. {Traversaro} and G. {Metta} and D. {Pucci}},
    booktitle={2020 IEEE/SICE International Symposium on System Integration (SII)},
    year={2020},
    pages={885-890},
    doi={10.1109/SII46433.2020.9025951}
} 

Disclaimer: Gym-Ignition is an independent project and is not related by any means to OpenAI and Open Robotics.

About

OpenAI Gym robotics environments implemented with Ignition Gazebo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 52.0%
  • Python 28.6%
  • CMake 17.7%
  • SWIG 0.8%
  • Dockerfile 0.6%
  • C 0.2%
  • Shell 0.1%