rosx_introspection
- Software
- Middleware
- Library
A C++ library that parses any ROS or DDS IDL message at runtime into key/value pairs, without compile-time knowledge of its type. It works with ROS 1 and ROS 2 setups and with MCAP files.
Source on GitHub: github.com/facontidavide/rosx_introspection (opens in a new tab). Facts read at commit eb87164 (opens in a new tab).
Licenses
- Code
- MPL-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MPL-2.0) at commit eb87164 (opens in a new tab), on 22 Oct 2026.
- Commercial use
- Yes
What it does
- Deserializes messages from schema definitions: ROS .msg files or a subset of OMG IDL 4.2, including enums, unions, @key, @optional, multi-dimensional arrays and struct inheritance.
- Needs the type name, the schema text and a raw buffer holding the serialized message to parse one.
- Builds in a ROS 2 (colcon/ament) mode or as a standalone CMake library with no ROS dependency.
- Supports ROS 1 .msg schemas and the ROS 1 serialization format at runtime, though the catkin build is no longer maintained.
- Provides interchangeable output writers: a flat key/value list by default, MessagePack, and JSON when enabled, and custom writers can be added.
- Includes benchmark programs for MCAP bag files and CDR deserialization, plus a Python binding that parses MCAP files.
Written by Robotheca from the project's README (opens in a new tab) at commit eb87164.
Getting started
- Difficulty
- Advanced
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 12 Sept 2026 on master
- Latest release
- 3.1.2 (12 Sept 2026)
Checked on GitHub on 22 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.