robotology-legacy / gym-ignition

Framework for developing OpenAI Gym robotics environments simulated with Ignition Gazebo
https://robotology.github.io/gym-ignition
GNU Lesser General Public License v3.0
231 stars 26 forks source link
gazebo gym gym-ignition ignition ignition-gazebo ignitionrobotics openai openai-gym openai-gym-environment reinforcement-learning robotics scenario simulation

gym-ignition

CICD Docker Images Codacy Badge

⚠️ Warning ⚠️

This project is no longer actively maintained, and development has stalled. For an in-depth description of the current status and actionable steps to revive development, please consult robotology/gym-ignition#430.

Description

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

It is based on the ScenarIO project which provides the low-level APIs to interface with the Ignition Gazebo simulator. By default, RL environments share a lot of boilerplate code, e.g. for initializing the simulator or structuring the classes to expose the gym.Env interface. Gym-ignition provides the Task and Runtime abstractions that help you focusing on the development of the decision-making logic rather than engineering. It includes randomizers to simplify the implementation of domain randomization of models, physics, and tasks. Gym-ignition also provides powerful dynamics algorithms compatible with both fixed-base and floating-based robots by exploiting robotology/idyntree and exposing high-level functionalities.

Gym-ignition does not provide out-of-the-box environments ready to be used. Rather, its aim is simplifying and streamlining their development. Nonetheless, for illustrative purpose, it includes canonical examples in the gym_ignition_environments package.

Visit the website for more information about the project.

Installation

  1. First, follow the installation instructions of ScenarIO.
  2. pip install gym-ignition, preferably in a virtual environment.

Contributing

You can visit our community forum hosted in GitHub Discussions. Even without coding skills, replying user's questions is a great way of contributing. If you use gym-ignition in your application and want to show it off, visit the Show and tell section! You can advertise there your environments created with gym-ignition.

Pull requests are welcome.

For major changes, please open a discussion first to propose what you would like to change.

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}
} 

License

LGPL v2.1 or any later version.


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