Skip to content

Repository files navigation

Databotics

End-to-end robotics data collection, annotation, export & quality scoring pipeline.

Built for VLA model training (OpenVLA, RT-2, π0) with the SO-101 robot arm.


Architecture

Record (MCAP) → Annotate (NL Grounding) → Score (Quality) → Export (HDF5 / RLDS / LeRobot)

Pipeline Modules

Module Purpose
praxis.core MCAP recording with synchronized camera + motor telemetry
praxis.export Format conversion: MCAP → HDF5, RLDS (TFRecord), LeRobot v2.1
praxis.annotation Natural language grounding — manual + CLIP zero-shot classification
praxis.kinematics URDF/MJCF parsing, automated calibration, forward kinematics
praxis.versioning Hardware manifests and session metadata versioning
praxis.quality Per-episode quality scoring (completeness, smoothness, coverage, NL)
praxis.ui Tkinter collection UI + Foxglove review server

Quick Start

# Install
pip install -e ".[dev]"

# Record a session (mock hardware)
python scripts/record_session.py --mock --cameras 0 --output ./recordings/session.mcap

# Annotate with CLIP
python scripts/annotate_dataset.py ./recordings/ --auto --output annotations.json

# Score quality
python scripts/score_dataset.py ./recordings/ --output quality_report.json --print

# Export to all formats
python scripts/export_dataset.py ./recordings/ --format hdf5 rlds lerobot --output ./exports/

Export Formats

Format Target Consumer Structure
HDF5 robomimic, custom training data/demo_N/obs/... hierarchy
RLDS TensorFlow Datasets, Open X-Embodiment TFRecord with observation/image, action, language_instruction
LeRobot v2.1 HuggingFace LeRobot Parquet + MP4 + meta/ directory

Quality Scoring

Each episode receives a composite score (0–100) from five dimensions:

  • Completeness (25%) — all channels present, no dropped frames
  • Smoothness (25%) — jerk metric on joint trajectories
  • Coverage (20%) — end-effector workspace diversity
  • NL Presence (20%) — language instruction attached and validated
  • Calibration (10%) — recency of kinematic calibration

Development

# Run tests
pytest tests/ -v

# Format check
ruff check praxis/

About

An industrial-grade software stack designed to bridge the gap between raw hardware telemetry and production-ready Vision-Language-Action (VLA) models. Optimized for high-fidelity data acquisition in unstructured environments

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages