Skip to content

Data Collection

QDS accepts three distinct structured robotics source formats: LeRobot 2.1 directories (lerobot_v2_1), LeRobot v3 directories (lerobot_v3), and ROS 2 MCAP sessions (mcap_ros2). It does not require a Hugging Face dataset import or Hub token; publish the local recording through the Qualia SDK, which validates and pairs its Git history with lakehouse rows.

Qualia supports several collection workflows for vision-language-action (VLA) models:

  • Manual data collection - Record demonstrations manually
  • Automated collection - Use scripts to gather data at scale
  • Existing recordings - Upload a local LeRobot 2.1, LeRobot v3, or ROS 2 MCAP recording

LeRobotDataset v3.0 stores synchronized robot trajectories, camera video, and indexing metadata. Record with a LeRobot release that writes the v3 layout, then upload the local dataset directory:

from qualia import Qualia
client = Qualia()
result = client.data.upload(
"/data/record-test",
name="record-test",
source_format="lerobot_v3",
)
print(result["dataset_id"], result["episode_count"])

For an existing LeRobot 2.1 directory, pass source_format="lerobot_v2_1". QDS treats 2.1 and v3 as separate source contracts; it never aliases one literal or layout to the other.

Lay out one episode directory per recording, with exactly one .mcap file in each directory, and upload with source_format="mcap_ros2". An optional episode.json sidecar can supply task and recording-purpose fallbacks.