GitHunt
KO

konsim83/rosx_introspection

Deserialize any ROS message, without compilation time information.

ROS X Introspection

Unified successor of the following libraries:

The library compiles either using:

  • ROS1 (catkin),
  • ROS2 (colcon/ament) or
  • without any ROS dependency (vanilla cmake).

To parse any ROS message at runtime, it requires:

  • The name of the type (for instance "sensors_msgs/JointState")
  • The definition of the type
    (for instance this one),
  • The raw memory buffer to be deserialized into individual key/values pairs.

The raw memory buffer is usually obtained by:

Python binding

Compilation instructions:

cmake -S. -B build_python -DCMAKE_BUILD_TYPE=Release -DROSX_PYTHON_BINDINGS=ON
cmake --build build_python

If you have a rosbag (MCAP file) you can test it with this command

PYTHONPATH=build_python/python python3 python/mcap_ros_parser.py path_to_your_rosbag.mcap

Note that we are providing the folder where the dynamic library is using PYTHONPATH.

Contributors

Mozilla Public License 2.0
Created January 23, 2026
Updated January 23, 2026