ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Check out gym-gazebo2 and ROS2Learn!

Hello everyone,

I am software engineer at Acutronic Robotics and I would like to present our latest open-sourced work. We have released gym-gazebo2, an upgraded, real world application oriented version of gym-gazebo, the ROS and Gazebo based Reinforcement Learning (RL) toolkit, which complies with OpenAI’s Gym. This time fully focused on ROS2.

We have also released ROS2Learn, a novel framework for Deep Reinforcement Learning (DRL) in modular robotics, which uses the environments created in gym-gazebo2. We are including training scripts and creating tutorials so that anyone can replicate and improve our results.

The following tutorials will help you get an idea of what you can achieve using our tools.

Join the discussion on reddit or share your thoughts below! We invite everyone in the community to provide us feedback and contribute to both of the projects.

gym-gazebo2: paper, code, tutorials.
ROS2Learn: paper, code, tutorials.



As a side note, the launch of gym-gazebo2 comes supported by work that has been happening over the last 16 months in our group while supported by external parties:

After researching the problem we decided to request help and engaged into a small project we funded with Open Robotics. The project named Gazebo4AI aimed at improving the overall dynamics of Gazebo. Details of the original project can be found at Of particular interest was the problem statement at the time:

Many of the interesting problems in RL for robotics involve some sort of collision detection. Currently, in gym-gazebo, using Gazebo, we are able to detect collisions between different elements/links in the world. For the simplest environments where collisions can represent the end of the training process (e.g.: learning to navigate without colliding), existing wirings with the physic engines are enough and allow us to reset the environment and re-start the training.

For more complicated problems where collisions happen dynamically and often, we need the robot simulation to preserve its integrity (e.g.: not deformate, penetrate or drift away from its configuration). Currently this is not happening. We have approached the problem with ODE in detail and also tried briefly to reproduce it with other physic engines which derived into another limitation.

Gazebo4AI successfully finished and the support of Open Robotics was crucial for the improvement of our toolkit. The result of such collaboration is freely available at We’d like to thank Open Robotics for their help and support throughout the process.

Edit: I’ll leave here the original source of those paragraphs above: