Dalaran Unifies Robot Data Logging, Visualization, and Analysis in One Rust Stack 🔗
Replays multimodal sensor streams on a shared timeline with ROS 2-native URDF-aware logging and Arrow-backed storage
Dalaran is a robotics-first observability platform that ingests, stores, and visualizes multimodal time-series data from LiDAR, cameras, IMU, and ROS 2 topics on a single synchronized timeline. Built in Rust with an Apache-2.
0 license, it reads existing .rrd recordings and replays them via a unified 3D/2D viewer that keeps all sensor streams in lockstep. Data is stored in an Arrow-backed columnar chunk store, enabling efficient retrieval as dataframes for computation or saving to .dlr files for later analysis.
The project provides a high-level dalaran.robot API that automates URDF-driven link transforms, joint state logging, and frame semantics, eliminating manual quaternion math and entity path management. It includes a ROS 2 bridge for live topic subscription and rosbag2 replay, with an extensible message registry to support custom .msg types without core patches. Recordings use .dlr files, blueprints use .dbl, and streams are addressable via dalaran:// URIs. The binary serves as both viewer and CLI, with a Python wheel available for SDK integration in CMakeLists.txt via dalaran_sdk.
The catch: While Dalaran supports MCAP and common ROS schemas today, its extensibility for novel or non-ROS message types relies on community-contributed registry extensions, leaving adoption of niche or proprietary sensors dependent on external contributions rather than out-of-the-box readiness.
- Robotics teams synchronize LiDAR, camera, and IMU data for debugging
- Developers replay rosbag2 files with URDF-aware joint state visualization
- Researchers save multimodal sessions as `.dlr` for later dataframe analysis
Source: Flaminis/Dalaran — based on the project README.