rosidl is a set of ROS 2 core packages for defining communication interfaces — messages (msg), services (srv) and actions (action) — in the ROS IDL language, a subset of the OMG IDL 4.2 specification, and for generating source code from those definitions for C, C++ and Python.
The rosidl packages parse .msg/.srv/.action files and convert them to the .idl format (rosidl_adapter, rosidl_parser); code generators (rosidl_generator_c, rosidl_generator_cpp and the Python generators) then produce the data structures and type support code. Runtime libraries (rosidl_runtime_c, rosidl_runtime_cpp) and the introspection mechanism (rosidl_typesupport_introspection) handle these types at runtime and bind them to the middleware layer (RMW/DDS).
rosidl is a foundational ROS 2 component — every interface in any ROS 2 package passes through this toolchain. It is developed as open source under the Apache-2.0 license in the ros2 organization on GitHub.
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.
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.).
Ships with every ROS 2 distribution; generates the types for all msg/srv/action interfaces across the ROS 2 ecosystem.
Ubuntu 24.04 LTS 'Noble Numbat' — supported until April 2029. The host for ROS 2 Jazzy.
A family of open-source operating systems based on the Linux kernel, common on servers, in the cloud and in robotics.
License family: Permissive
No version history.