explaingit

fastlabel/open-lutra

15TypeScriptAudience · researcherComplexity · 4/5Setup · hard

TLDR

OpenLUTRA is a web-based data recording and quality monitoring system for ROS2 robots, helping teams collect clean training data for robot learning by saving sensor streams as MCAP files with real-time quality checks.

Mindmap

mindmap
  root((OpenLUTRA))
    What it does
      Records robot data
      Monitors topic quality
      Generates video previews
    Key concepts
      ROS2 topics
      MCAP file format
      Quality analysis
    Interface
      Browser UI
      Start and stop recording
      Live statistics
    Configuration
      YAML robot configs
      Custom validation rules
      Environment variables
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Record robot demonstration sessions as MCAP files with real-time topic quality monitoring from a browser UI.

USE CASE 2

Define custom validation rules to automatically flag recordings where sensor data loss exceeded your team's threshold.

USE CASE 3

Browse past robot recordings and generate video previews from camera streams stored in MCAP files.

Tech stack

TypeScriptROS2YAMLDocker

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a running ROS2 environment, Docker images are not yet published so the project must be installed from source.

In plain English

OpenLUTRA is a data-recording system for robots that run ROS2, which is a widely used framework for building and controlling robots. The project is aimed at teams collecting training data for robot learning, a process sometimes called robot teaching. When teaching a robot to perform physical tasks, you typically need to record what the robot sees and does during demonstrations so that a model can learn from those recordings later. The system captures data streams coming from a robot, referred to as topics in ROS2, and saves them as MCAP files. MCAP is a file format designed specifically for storing timestamped robotics data. Rather than writing a custom recording engine, OpenLUTRA delegates the actual recording to the standard ROS2 bag tool and uses a separate lightweight process to monitor topic quality in real time. A web-based interface sits on top of all of this. From the browser, you can select which topics to record, start and stop recordings with a single button, and watch live statistics such as the data rate per topic and any gaps or missed messages. When a recording stops, the system automatically runs a quality analysis and flags topics where data loss exceeded a threshold. You can then browse past recordings, inspect per-topic timelines, and generate video previews from camera streams stored in the MCAP file. The project also provides a way to define custom validation rules, so teams can encode their own checks for what a valid recording looks like beyond the built-in metrics. Robot configurations, including which topics to monitor and at what expected rates, are defined in YAML files and switched via an environment variable. The project is at version 0.1.0 and is described as beta. APIs and data formats may change before a stable release. Docker images are not published yet, so the project is installed from source. External code contributions are not accepted at this stage, but bug reports and feature requests in English or Japanese are welcome through the GitHub issue tracker.

Copy-paste prompts

Prompt 1
I have OpenLUTRA running with my ROS2 robot. Help me write a YAML configuration file that monitors a camera topic, a joint state publisher, and a force sensor at their expected data rates.
Prompt 2
My OpenLUTRA recording shows data gaps flagged in the quality report. Explain what the gap threshold setting controls and how to tune it for a low-bandwidth sensor.
Prompt 3
Walk me through defining a custom validation rule in OpenLUTRA that fails a recording if the gripper force topic dropped more than 5 percent of messages.
Open on GitHub → Explain another repo

← fastlabel on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.