Skip to content

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

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.

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.