ROS 2 Iron Irwini Released!
Crikey, it’s that time of year already! May 23rd, World Turtle Day and ROS release day. Today we are happy to announce the ninth release of ROS 2, Iron Irwini! Iron is a short term release that will be supported until the end of November 2024. In accordance with REP-2000, ROS Iron supports three Tier 1 operating systems: Ubuntu 22.04 Jammy Jellyfish (both arm64 and amd64 architectures) and Windows 10. If you want to try it out, our installation instructions and tutorials are now up and ready to go on docs.ros.org.
This release features the Elseya irwini river turtle, a rare species of turtle that was only recently described from the Burdekin River in Australia. The Elseya irwini, or Irwin's turtle, was first discovered by none other than conservationist and TV personality Steve "The Crocodile Hunter" Irwin. As always, Iron Irwinii t-shirts and swag are available, with all proceeds going to fund open-source development and education at the Open Source Robotics Foundation.
This ROS 2 release is notable for both its size and the amount of support we've received from the ROS community. It has been a massive team effort, with over 239 contributors providing code changes, documentation, and testing. Iron Irwini is our largest ROS 2 release yet in terms of features, and the community turned out in force to help us exhaustively test this ROS distro prior to release day. The community also contributed many of the major features that were added in this ROS release; and if there is a theme for this release it is "developer ergonomics''. Many of the new features make it easier for developers to use ROS to build robust robotics applications.
Here are some of the highlights of this release:
Python API documentation is now hosted on docs.ros.org, making it easier to find, read, and update.
REP-2012 Service Introspection -- Debugging services is hard. We wanted a simple way to watch a service in a running ROS system. You can now see service events in a separate topic, e.g. /myservice/_service_event.
Pre and Post Parameter Callbacks now give parameter users more flexibility without breaking ABI. This approach allows users to add validation and sanitization to complex ROS parameter lists.
ROS node computations can be expensive, and some users don’t want to publish unless the right nodes are listening. Matched ROS events enable this feature by letting you know when a publisher/subscriber pair establish or drop a connection!
External logger configuration is now available in ROS Iron. This feature lets you set fine-grained logging levels for each ROS node in your robot.
Miscellaneous launch improvements, including TTY colors in YAML and XML launch files, a new LaunchLogDir macro, lifecycle node transitions, and many, many more.
A new NodeInterface class to unify the interfaces for classic ROS Nodes and newer Lifecycle Nodes. This new interface should streamline ROS code and reduce redundancy.
We've revamped messages assertions in Python, and disabled them by default to eek out more performance on large messages.
New and Improved ROS Bagging using MCAP -- Thanks to MCAP ROS Bags now have message definitions baked right in making them much more portable. Preliminary performance evaluations indicate a ~2-5x increase in message throughput over SQLite.
Small RVIZ Improvements: including a binary map display, a new camera ROI camera display, and loads STL files from solidworks.
A full list of the new features in Iron Irwini can be found in the Iron release notes and the Iron changelogs. We would like to thank everyone who helped make the ROS Iron release possible and we look forward to working with you for the release of the next ROS LTS Release, Jazzy Jalisco, in 2024!