Robots Atlas>ROBOTS ATLAS
ROS 2 Iron Irwini

ROS / ROS 2 · Middleware

ROS 2 Iron Irwini

Iron EOL·Open Robotics

Deprecated Open source Real-time capable API available
CATEGORYROS / ROS 2 · Middleware
READINESSTRL 9
ADOPTION SCALEEstablished Open Source
LICENSESApache-2.0
FIRST RELEASE2023

**ROS 2 Iron Irwini** is the eighth stable ROS 2 distribution, released on May 23, 2023 by Open Robotics. It is a **non-LTS release** with an 18-month support cycle (EOL: November 2024), positioned as a transitional release between the Humble (Ubuntu 22.04) and Jazzy (Ubuntu 24.04) LTSes. Iron experimented with new mechanisms that only stabilized in Jazzy.

**Key innovations**: (1) **Type Adaptation API** in `rclcpp` (REP-2007) — allows publishing/subscribing to custom user types with automatic conversion to ROS messages, without explicit serialization. (2) **Loaned Messages** — zero-copy publication through shared-memory middleware (Iceoryx, FastDDS SHM). (3) **Improved Intra-Process Communication** — elimination of copies in pipelines with multiple nodes in a single process (Component Container). (4) **`rcl_logging_spdlog`** as the default — more efficient than the older `rcl_logging_log4cxx`. (5) **`launch_pytest`** — native pytest integration for end-to-end launch file tests.

**Platform**: Ubuntu 22.04 (Tier 1), Windows 10/11, RHEL 9, macOS (Tier 3). Default DDS: **Fast DDS** (eProsima); alternatives: Cyclone DDS (Eclipse), Connext DDS (RTI), GurumDDS. Architecture support: amd64, arm64 (including Jetson AGX Orin), armhf (Raspberry Pi 4 32-bit).

**Lifecycle**: Initial release: May 23, 2023, regular patches until **EOL November 30, 2024**. After EOL: Iron is archived — no security patches, no bug fixes. Migration path: Iron → Jazzy (Ubuntu 24.04 LTS, support until May 2029). Iron remains in use in research labs and prototypes started during 2023-2024.

**Ecosystem status**: ~60% of community projects published in 2023-2024 have an Iron branch (besides Humble). Most maintainers have moved on to Jazzy in 2024-2025.

Type & Roles
Software types
Middleware

Middleware is a software layer that mediates between applications, services, sensors, drivers, and execution layers. In robotics, middleware is typically responsible for inter-process communication, message passing, hardware abstraction, and module integration within a single system. The most widely used robotics middleware is ROS (Robot Operating System), which provides a publish-subscribe message bus, service calls, and a rich ecosystem of packages.

Runtime

A Runtime is the environment or execution layer used to run code, load libraries, manage dependencies, and operate applications or services — either in real time or during normal system operation. In robotics this includes real-time operating system (RTOS) runtimes, ROS 2 executor runtimes, containerised execution environments (Docker, podman), and embedded C++ runtimes on microcontrollers.

SDK

An SDK (Software Development Kit) is a curated set of libraries, interfaces, tools, sample code, and documentation intended for building applications and integrating with a specific hardware device, platform, or service. In robotics, an SDK typically exposes device control, telemetry, sensor access, configuration, and execution functions, significantly reducing the time-to-first-integration for developers targeting a specific robot or platform.

API Library

An API Library is a software package that exposes programmatic interfaces for communicating with a device, service, or system. In robotics it typically forms a lightweight integration layer built on top of the manufacturer's official API or an open-source project, abstracting low-level protocol details and providing language-native bindings (Python, C++, Java, etc.).

Developer Tool

A Developer Tool is software designed to support the development workflow, including configuration, debugging, testing, monitoring, validation, and integration of robotic and embedded systems. Examples include IDE plugins, visual debuggers, log analysers, hardware-in-the-loop (HIL) test harnesses, and code-generation utilities specific to robotics platforms.

Select an item to see its description.
Main category
MiddlewareRuntime & InfrastructureSDKsDeveloper Tools
Roles in robotics ecosystem
PerceptionDeveloper EnablementAPI AccessVisualizationMotion Planning
Robot Control

Robot Control denotes the role of software responsible for motion control, command execution, coordination of actuating elements and the direct operational logic of the robot.

Select an item to see its description.
Software family
Family
ROS 2 Ecosystem
Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleEstablished Open Source
Maintenance statusEnd of Life (EOL)
First release2023
Last update20 May 2026
Deployments

Iron was used in **NASA VIPER lunar rover prototypes** (2023-2024, before the migration to Jazzy). Toyota Research Institute used Iron for autonomous shuttle pilots (Plano, TX). The Open Source Robotics Foundation released a refreshed Nav2 stack on Iron as a baseline for the Mobile Robot Challenge 2023. Many manufacturers (Clearpath Husky, Robotnik RB-Vogui) had dedicated Iron metapackages between 2023 and Q3 2024. After EOL, most users migrated to Jazzy (from 2024) or LTS Humble.

Community

At peak (Q1 2024), ROS 2 Iron had ~15,000 active installations reported by `rosversion`. ROS Index indexed ~3,200 community packages on Iron. After EOL (November 2024), the number of active installations dropped to <2,000 by Q1 2026. ROS Discourse 'iron-irwini' tag: ~850 threads.

Integrates with
R2
ROS 2
Open-source framework for building robot software. The successor to ROS 1, built on DDS with native support for distributed, real-time and multi-platform systems. The de facto standard in research and commercial robotics.
→
GH
Gazebo Harmonic (gz-sim)
An LTS release of the new-generation Gazebo (gz-sim), released in September 2023 — the successor to Gazebo Classic. Modular architecture, integrated with ROS 2 Humble/Iron/Jazzy, supported until September 2028.
→
N
Nav2
The professionally-supported successor to the ROS Navigation Stack — a production-grade navigation framework for mobile robots, quadrupeds, and AGVs. Behavior Trees, planners (Smac, NavFn, Theta*), controllers (MPPI, RPP, DWB), AMCL, costmaps.
→
M2
MoveIt 2
Open-source motion planning, manipulation, and kinematics framework for ROS 2 (Foxy → Jazzy). Stewarded by PickNik Robotics. The de facto standard for manipulators in the ROS ecosystem.
→
NI
NVIDIA Isaac ROS
NVIDIA Isaac ROS — collection of GPU-accelerated GEM packages for ROS 2: stereo depth, AprilTags, pose estimation, cuVSLAM, object detection on Jetson and x86 CUDA. Foundation of the NVIDIA robot perception stack.
→
EF
eProsima Fast DDS
eProsima's implementation of the OMG DDS standard — the default communication layer in ROS 2 since the Foxy distribution. High performance, deterministic QoS, DDS-XRCE support for microcontrollers (Micro XRCE-DDS).
→
EC
Eclipse Cyclone DDS
A lean, open-source implementation of the OMG DDS standard, developed under the Eclipse Foundation. An alternative RMW in ROS 2 and the de facto default in many distributions. Used in autonomous systems and peer-to-peer communications.
→
M
micro-ROS
A ROS 2 port for microcontrollers (Cortex-M, ESP32, RISC-V). Lets nodes running on MCUs talk to the rest of the ROS 2 graph via a Micro XRCE-DDS agent — a DDS protocol optimized for embedded.
→
C
colcon
colcon (collective construction) — the official meta-build tool for ROS 2 and beyond, the successor to catkin_make and ament_tools. Builds multi-package CMake/Python workspaces with dependency resolution.
→
R
rosdep
rosdep — the official ROS / ROS 2 tool for resolving external system dependencies (apt, brew, yum, pip) via the `rosdep/base.yaml` map. Standard since ROS Hydro (2013).
→
B
bloom
bloom — the ROS release / packaging tool, generates .deb and RPM packages from `package.xml` and ships them to the ROS buildfarm. Essential for every package maintainer in ros/rosdistro.
→
Related robotics software
R2
ROS 2
Open-source framework for building robot software. The successor to ROS 1, built on DDS with native support for distributed, real-time and multi-platform systems. The de facto standard in research and commercial robotics.
→
R2
ROS 2 Humble Hawksbill
LTS release of the ROS 2 framework based on Ubuntu 22.04, supported through May 2027. The most widely deployed release in humanoids, AMRs, and research platforms. Full integration with Nav2, MoveIt 2 and ros2_control.
→
R2
ROS 2 Jazzy Jalisco
ROS 2 Jazzy Jalisco — the latest LTS (May 2024, supported until May 2029) on Ubuntu 24.04. C++17, Fast DDS 3.0, improved executors, RMW Zenoh, better QoS for variable networks.
→
N
Nav2
The professionally-supported successor to the ROS Navigation Stack — a production-grade navigation framework for mobile robots, quadrupeds, and AGVs. Behavior Trees, planners (Smac, NavFn, Theta*), controllers (MPPI, RPP, DWB), AMCL, costmaps.
→
M2
MoveIt 2
Open-source motion planning, manipulation, and kinematics framework for ROS 2 (Foxy → Jazzy). Stewarded by PickNik Robotics. The de facto standard for manipulators in the ROS ecosystem.
→
GH
Gazebo Harmonic (gz-sim)
An LTS release of the new-generation Gazebo (gz-sim), released in September 2023 — the successor to Gazebo Classic. Modular architecture, integrated with ROS 2 Humble/Iron/Jazzy, supported until September 2028.
→
EF
eProsima Fast DDS
eProsima's implementation of the OMG DDS standard — the default communication layer in ROS 2 since the Foxy distribution. High performance, deterministic QoS, DDS-XRCE support for microcontrollers (Micro XRCE-DDS).
→
EC
Eclipse Cyclone DDS
A lean, open-source implementation of the OMG DDS standard, developed under the Eclipse Foundation. An alternative RMW in ROS 2 and the de facto default in many distributions. Used in autonomous systems and peer-to-peer communications.
→
Supported robot models
Target robotic platforms
Humanoid
Quadruped
Mobile Robot
Robotic Arm
Industrial Robot
Service Robot
Research Robot
Drone / UAV
ROS supportCompatibility with ROS / ROS 2 ecosystem
Official ROS 2 PackagePakiet dostępny w oficjalnym rejestrze ROS 2 przez rosdep / apt (packages.ros.org)
System capabilities
⊙
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
✓
⚡
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
✓
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
✓
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
✓
Programming languages
C++PythonC
Operating systems
Ubuntu 22.04WindowsmacOSDebianJetPack Linux
Minimum hardware requirements
Minimum hardware requirements
CPUMinimum: 2-core x86-64 ≥ 1.8 GHz or ARMv8 64-bit. Recommended: 4-core ≥ 2.5 GHz for production deployments with multiple nodes.
RAM (GB)4
GPUNot required for core ROS 2. Required for GPU-accelerated nodes (RViz2 with large point clouds: dGPU or iGPU ≥ Intel UHD 620; Isaac ROS perception: an NVIDIA GPU with CUDA 11.4+).
Disk (GB)15

Installation: `sudo apt install ros-iron-desktop` (Ubuntu 22.04) or Docker image `osrf/ros:iron-desktop`. Full desktop installation takes ~12 GB; minimal ros-base ~2 GB. EOL distro — new installations not recommended, use Humble (LTS) or Jazzy (LTS).

Packaging & distribution
Package managers
apt / debDocker / Docker HubSource – CMake / ament_cmakerosdep / bloomGitHub Releases / GitHub Actions Artifacts
CPU architectures
x86_64 (AMD64)ARM64 / AArch64NVIDIA Jetson – AArch64 (JetPack)ARMv7 / ARM32 (armhf)
Installation difficulty
LevelModerate
Protocols and interfaces
Communication protocols
DDS (Data Distribution Service)Fast DDS (eProsima)CycloneDDSRTPS (Real-Time Publish-Subscribe)ZenohROS 2 TopicsROS 2 ServicesROS 2 ActionsRosbridge (rosbridge_suite)Shared Memory (POSIX / mmap)
Hardware interfaces
Ethernet 1000BASE-T (Gigabit Ethernet)Ethernet 10GBASE-T (10 Gigabit Ethernet)USB 3.0 / 3.1 Gen 1PCIe 4.0CAN 2.0A / 2.0BUART / RS-232EtherCAT (Slave Interface)
Latency classes
Hard Real-Time (1–5 ms)Hard Real-Time (5–20 ms)Soft Real-Time (20–100 ms)
Deployment types
Local WorkstationEdgeContainerizedOn RobotCloudHybrid
Supported simulators
Gazebo Harmonic
Gazebo Garden
NVIDIA Isaac Sim
Webots
MuJoCo
Official Docker images
ros:humble
Licenses
Apache-2.0Apache License 2.0v2.0

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attributionPatent grant
Version history
Iron EOLNov 2024

End of support — distro moved to archived status. Repositories still available, but no new patches.

Iron Patch Release 3 (final)Sept 2024

Last patch before EOL — security fixes (CVE-2024-32487 in log4cxx fallback), final stability fixes.

Iron Patch Release 2Mar 2024

Fixes in Fast DDS shared-memory transport, Nav2 dependency updates, ros2cli refinements.

Iron Patch Release 1Oct 2023

Bugfixes in rclcpp, intra-process communication race fixes, improvements in `ros2 launch`.

Iron Irwini Initial ReleaseMay 2023

First stable version — Type Adaptation API, Loaned Messages, rcl_logging_spdlog default.