Skip to main content

Robot Data Audit (RDA)

Quality auditing tool for robot datasets. RDA provides comprehensive metrics for evaluating the integrity, temporal consistency, motion quality, and distribution coverage of robot trajectory datasets.

Features

  • Integrity Metrics: Missing frames, NaN values, schema validation
  • Temporal Metrics: Timestamp consistency, sensor sync, jitter analysis
  • Motion Metrics: Joint limits, velocity profiles, discontinuities, idle detection
  • Distribution Metrics: Distribution statistics, coverage analysis
  • Three-tier classification: PASS / REVIEW / EXCLUDE
  • CLI-first design: Easy to integrate into data pipelines
  • Streamlit UI (coming in v0.2.0): Interactive dashboard for exploring results

Installation

From PyPI

Note: PyPI publishing is planned for the v0.2.0 release. Until then, install from source as described below.

# Coming soon — PyPI package name: robot-data-assurance
# pip install robot-data-assurance

From source (development)

git clone <repository-url>
cd robot-data-audit
pip install -e .

With UI support (v0.2.0+)

pip install -e ".[ui]"

Quick Start

1. Audit a dataset

rda audit /path/to/lerobot/dataset

This will run all 12 RDA metrics against every episode in the dataset and print a text summary to the console. A JSON report is automatically saved to <dataset_path>/rda_report.json.

2. Use example datasets

# See examples and usage tips
rda example

3. Customize output

# Save report to a specific path
rda audit /path/to/dataset --output my_report.json

# Output JSON to stdout (for piping)
rda audit /path/to/dataset --format json

# Verbose mode with platform info
rda audit /path/to/dataset --platform so101 -v

4. Preview the UI (coming soon)

rda audit /path/to/dataset --ui

CLI Reference

rda audit

Audit a LeRobot dataset at the given PATH.

rda audit [OPTIONS] PATH
Option Description
-o, --output FILE Path to save the JSON audit report. Defaults to <path>/rda_report.json.
--format [json|text] Output format for the audit report. Default: text.
--platform TEXT Robot platform name (e.g. so101, droid). Used for Tier 3 platform-specific metrics.
--ui Launch the Streamlit web UI after the audit completes. (v0.2.0 preview)
-v, --verbose Enable verbose output.
-V, --version Show version and exit.
-h, --help Show help message and exit.

rda example

Show example usage and sample dataset paths.

rda example

Exit Codes

Code Meaning
0 Audit completed successfully, no EXCLUDE verdicts
1 Error (invalid path, dataset loading failed, etc.)
2 Audit completed successfully, at least one EXCLUDE verdict

Project Structure

rda/
├── cli/          # Click CLI entry points
├── io/           # Data loading and schema definitions
├── metrics/      # Audit metric implementations (12 metrics total)
├── audit/        # Dataset and episode-level audit orchestration
└── report/       # Report generation and summary

docs/             # API documentation and design specs
examples/         # Example scripts
  ├── basic_audit.py       # Core workflow demo (synthetic data ready)
  └── custom_metrics.py    # How to write custom audit metrics
tests/            # 155 unit tests

Documentation

Python API Quick Start

from rda.audit.dataset_audit import DatasetAuditor
from rda.io.lerobot_loader import iter_episodes, load_lerobot_dataset
from rda.report import generate_dataset_report

dataset_info = load_lerobot_dataset("/path/to/dataset")
auditor = DatasetAuditor()
result = auditor.audit_dataset(dataset_info, iter_episodes("/path/to/dataset"))

report = generate_dataset_report(result)
print(f"DHI: {report['quality']['dhi']} / 100")

See docs/API.md for the complete API reference, or examples/ for runnable scripts.

Development

Running tests

pytest

Linting

pip install -e ".[dev]"
ruff check rda/

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robot_data_audit-0.2.1-py3-none-any.whl (61.9 kB view details)

Uploaded Python 3

File details

Details for the file robot_data_audit-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for robot_data_audit-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 202c9dbd359f9e6b29aae9a51c1bf3a3ef8a00a8fcaf32777bafb5b7057960c8
MD5 1fe2af74d41992d85259b0fa1ef21242
BLAKE2b-256 2222f582fb7f75acb04d2c3328fcce662e66482502b0493307e2328f4c12d42b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page