When Intrinsic and the Open Source Robotics Corporation (OSRC) combined efforts late last year, it was because our missions were aligned toward accelerating a new generation of robotics developers by making robotics much more accessible. Since then, we have been able to provide more resources than before for the Open Robotics team at Intrinsic to work on ROS, Gazebo, and Open-RMF, and we’re eager to continue supporting the ROS community.
Many robot developers are familiar with ROS as the backbone of robotics projects the world over — from human-assisted assembly tasks to deep sea explorations and space missions. Anybody interested in programming robots will find the open source ROS libraries and tools to be free, accessible, and often crucial resources. Today, we celebrate with the community the latest release of ROS 2, Iron Irwini, and we’re proud of the contributions made by the Open Robotics team at Intrinsic to this milestone.
From Box Turtle in 2010 to the Humble Hawksbill in 2022, each ROS distribution has been named after a different turtle species. Since 2015, each release has taken place on World Turtle Day — a day dedicated to the global protection of turtles and tortoises. For the Open Robotics team and the ROS community, the date nods not only to the reptilian, but also the robotic — from W. Grey Walter's turtle-like Machina Speculatrix to the argument of infinite regress to a decades-old programming language to classic educational robots (plus, appreciation for the World Turtle in Sir Terry Pratchett’s Discworld novels and those Teenage Mutant heroes in a halfshell). And the theme even continues into the TurtleBot. The latest release, Iron Irwini, recognizes an Australian freshwater rarity discovered by Steve and Bob Irwin. Crikey!
Amongst the many new features that should make a splash for developers building with ROS, we’d like to highlight:
API documentation generation for Python packages: In addition to the existing C++ automatic API documentation, Python packages such as rclpy now have generated API documentation.
Service introspection: It’s now possible to externally debug what’s happening within individual ROS Services. This feature allows for the debugging of specific services, including visibility into all the different stages of the remote procedure call — from initial connection to final result.
Pre- and post-set parameter callback support: ROS developers can now create callbacks, enabling parameter preconditioning prior to being set as well as callbacks after a parameter has changed to allow the node to trigger behaviors based on the parameter change. This enables nodes to respond immediately when parameters change without requiring extra monitoring.
rosbag default storage updated to the MCAP file format: The improved data storage format will make it easier for people to use and share rosbag files. Other improvements to the rosbag tool include support for replaying a subset of the bag selected by a regex and the ability to trigger recording from a ROS service.
Matched events: The addition of “matched events” helps developers receive callbacks when connections are made or lost, making it easier to create more efficient “lazy execution” modes. This can save significant computational effort in instances where data streams and processing are particularly intensive.
External configuration services of loggers: The logging capabilities in the platform now allows for external configuration, not only at startup or with manual local changes. This update can accelerate the debugging of errors discovered in running systems.
To learn more about ROS 2 and the latest updates with Iron Irwini, read the Open Robotics blog, review the documentation, and join in the discussion with other developers, roboticists, and the open source community by participating in the ROS Discourse forum and Discord chat.
Last week, we introduced our first developer product, Intrinsic Flowstate, which is built on top of the Intrinsic platform (apply here to participate in our early private beta). While you may not see many ROS-specific features at the moment, over time we plan to combine the best of ROS with the best of Intrinsic. In the short term, we’re building bridges to deliver better developer experiences for ROS and Intrinsic developers alike. Then, we’ll focus on deeper levels of interoperability and compatibility to make it easier to qualify and use ROS components with the Intrinsic platform. In the long term, we aim to converge the capabilities of ROS and Intrinsic so they’re increasingly interchangeable and easier to access and use from either perspective.
Over the past few months, the Open Robotics team at Intrinsic has shared their insight and expertise — as well as their dedication and passion for the global ROS community. We’re proud to play a part in investing in accessibility and openness for robotics. Turtles aside, we also look forward to Gazebo’s next release, Harmonic, later this year. Please allow me to close this post with a big word of thanks to all the contributors who made the release of ROS Iron Irwini happen, an important next milestone for the robotics community.