For more than 20 years, robotics developers have relied on Gazebo as a trusted collection of open source software libraries that have made it easy, fast, and free to run simulations. Testing in sim is a critical step in building and preparing robotic applications for the real world, making it possible to iterate on everything from algorithms to hardware designs. The global open source community has made Gazebo an essential toolkit for users around the world, and the Open Robotics team at Intrinsic is pleased to contribute as always. The latest Gazebo release – named Ionic – creates a more seamless integration with ROS 2 and improved overall usability and performance.

Better integration with ROS 2

When ROS 2 Jazzy Jalisco rolled out a few months ago, the developer community highlighted improved ROS 2 and Gazebo integration and usability — and the ease of getting started. Whether developers are long-time users or just getting started with the Ionic release, they’ll find a dedicated community working to make Gazebo even simpler and more natural to integrate new devices, concepts, and algorithms in simulation and to iterate without hardware.

Ionic ships with a number of key performance improvements and usability enhancements that make it easier to build a robot simulation, to integrate with ROS, and to use within the context of a CI / CD (continuous integration / continuous delivery) pipeline to make code changes reliably. These features include:

  • Collision mesh optimization – With Ionic, we’ve added two different algorithms for collision mesh optimization. A collision mesh is the 3D model that determines how an object interacts with the world around it in a simulation. In most video games these meshes are often simple boxes, but for high-fidelity simulations these meshes often require much more complexity. These new optimization algorithms now enable users to strike a balance between high-fidelity physics simulation and simulation speed. 

  • ROS’s Composable Nodes come to Gazebo – Composable nodes in ROS 2 make it possible for users to group multiple ROS nodes into a single process, which contributes to better performance. This feature has now been added in the ROS-Gazebo bridge, helping to make the relay of data between the two programs faster than ever.

  • Improved launch file integration with ROS – A more compact and idiomatic launch file syntax now starts Gazebo simulations from ROS launch files. Users who are building complex launch files will find that they’re shorter and easier to read.

  • New documentation framework – The migration of Gazebo’s documentation to use the Sphinx framework makes it much simpler for users to share ROS and Gazebo documentation across the projects. It also lowers internal maintenance overhead while providing users with requested features like searchability and dark mode.

  • New “Setup Gazebo” Github action – The addition of a GitHub action to set up a Gazebo environment will make a huge difference to developers. This action makes it simpler than ever to use Gazebo as part of a continuous integration and deployment pipeline for testing and validation. The setup-gazebo Github action will automatically install Gazebo on a CI instance, which can be used for automated simulation testing.

  • Introduction of “Follow Mode” – With the addition of a “Follow Mode,” it’s now possible for Gazebo users to track and follow entities automatically using the Gazebo GUI (Graphical User Interface) without needing to manually follow a robot or other entity. Selecting “track” from the GUI now has the camera follow the selected entity.

Gazebo usage has continued to surge, with the number of users of modern Gazebo (as opposed to Gazebo Classic) increasing by 113% over the past twelve months. These latest updates give all the more reason for remaining users of Gazebo Classic to manage their transition to Gazebo, especially as Classic will no longer be supported beginning in January 2025. For anybody still in need of updating both ROS and Gazebo, this Discourse post includes additional context.

 

As the Open Robotics team at Intrinsic work to support the development of ROS, Gazebo, and Open-RMF, our investments in open source projects remain unchanged and we’re excited by the role these tools will play in making industrial robotics more accessible and interoperable. We hope to see you at ROSCon 2024!