Skip to main content

Robot Data Audit (RDA)

PyPI Python License: MIT Downloads

Quality auditing + optimization recommendations for robot datasets. Diagnose data quality issues. Get actionable, confidence-graded suggestions. RDA is a diagnostic tool — it does NOT guarantee training success rate improvements.

RDA audits robot manipulation datasets (LeRobot format) for integrity, temporal consistency, motion quality, and distribution coverage. It then generates optimization recommendations calibrated to your target model architecture.

Demo

Features

  • 13 quality metrics across 3 tiers: integrity, temporal, motion, and distribution
  • rda recommend — Data optimization suggestions calibrated to your model type
    • Frame-wise models (MLP/BC): mild idle trimming suggestions
    • Temporal models (ACT/DP/Transformer): conservative "do not prune" guidance
    • All suggestions include confidence levels (HIGH / EXPERIMENTAL / NOT_RECOMMENDED)
  • LeRobot v2.1 + v3.0 dual-format auto-detection
  • Three-tier verdicts: PASS / REVIEW / EXCLUDE
  • CLI-first design: JSON + text output, pipe-friendly
  • Temporal sufficiency analysis: idle detection, active run distribution, valid window ratios

Installation

pip install robot-data-audit

With LeRobot dependency (for .parquet dataset loading):

pip install robot-data-audit[lerobot]

Quick Start

1. Audit a dataset

rda audit /path/to/lerobot/dataset

Runs all 13 metrics, prints a text summary. JSON report saved to <dataset>/rda_report.json.

2. Get optimization recommendations

# For frame-wise models (MLP, BC, etc.)
rda recommend /path/to/dataset --policy frame-wise

# For temporal models (ACT, Diffusion Policy, Transformer)
rda recommend /path/to/dataset --policy temporal

# JSON output for scripting
rda recommend /path/to/dataset --policy frame-wise --format json

What recommend tells you:

  • Whether your dataset has excessive idle frames
  • Whether trimming is advisable (and how aggressively)
  • Model-specific warnings (e.g., "DO NOT prune for temporal models")
  • Confidence levels and experimental caveats for every suggestion

3. JSON output & piping

# JSON to stdout
rda audit /path/to/dataset --format json

# Save report to custom path
rda audit /path/to/dataset -o /tmp/my_report.json

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

4. Python API

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

dataset_info = load_lerobot_dataset("/path/to/dataset")
auditor = DatasetAuditor()
result = auditor.audit_dataset(dataset_info, iter_episodes("/path/to/dataset"))
print(f"DHI: {result.quality['dhi']} / 100")

CLI Reference

rda audit

rda audit [OPTIONS] PATH
Option Description
-o, --output FILE Save JSON report (default: <path>/rda_report.json)
--format [json|text] Output format (default: text)
--platform TEXT Robot platform (e.g. so101, droid) for Tier 3 metrics
-v, --verbose Verbose output

rda recommend

rda recommend [OPTIONS] PATH
Option Description
--policy [frame-wise|temporal] Target model architecture type (required)
-o, --output FILE Save JSON recommendation report
--format [json|text] Output format (default: text)
-v, --verbose Verbose output

rda example

Show example usage and sample dataset paths.

Exit Codes

Code Meaning
0 Completed, no EXCLUDE verdicts
1 Error (invalid path, load failure, etc.)
2 Completed, at least one EXCLUDE verdict

Understanding Recommendations

RDA recommendations follow a conservative, evidence-graded approach:

Confidence Meaning
HIGH Well-supported by optimization experiments; low risk
EXPERIMENTAL Directionally consistent but not yet validated for your setup
NOT_RECOMMENDED Likely harmful for your model type; proceed with caution

Key principles:

  • All suggestions are hypotheses, not guarantees
  • Effects vary by task domain and model architecture
  • Always validate on a held-out set before applying to training data
  • Temporal models (ACT, DP) are generally more sensitive to data trimming

Metrics Overview

Tier Metric What it detects
L1 Timestamp monotonicity Clock resets, duplicate timestamps
L1 Frame interval consistency Jittery or irregular sampling
L1 Schema compliance Missing/extra fields, type mismatches
L2 Temporal gap detection Large time discontinuities
L2 Sensor synchronization Cross-sensor timestamp drift
L2 Temporal sufficiency Idle/active structure, valid window analysis
L3 Joint limit violations Actuators driven beyond safe range
L3 Velocity spikes Sudden implausible jumps
L3 Motion discontinuities Non-smooth trajectory segments
L3 Idle frame detection Stationary/paused segments
L4 Duration outliers Episodes too short/long vs. cohort
L4 Spike count outliers Episodes with unusual jerk profiles
L4 Effective motion ratio Low-activity episodes

Project Structure

rda/
├── cli/          # Click CLI entry points
├── io/           # Data loading and schema definitions (LeRobot v2.1/v3.0)
├── metrics/      # 13 audit metric implementations
├── recommend/    # Optimization recommendation engine
├── audit/        # Dataset and episode-level audit orchestration
└── report/       # Report generation and summary

Development

git clone https://github.com/liesliy/robot-data-audit.git
cd robot-data-audit
pip install -e ".[dev]"
pytest

Citation

@software{robot_data_audit,
  title = {Robot Data Audit: Quality Auditing for Robot Manipulation Datasets},
  author = {Niu Su Tech},
  year = {2026},
  url = {https://github.com/liesliy/robot-data-audit}
}

License

MIT

Download files

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

Source Distribution

robot_data_audit-0.4.15.tar.gz (146.6 kB view details)

Uploaded Source

Built Distribution

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

robot_data_audit-0.4.15-py3-none-any.whl (135.2 kB view details)

Uploaded Python 3

File details

Details for the file robot_data_audit-0.4.15.tar.gz.

File metadata

  • Download URL: robot_data_audit-0.4.15.tar.gz
  • Upload date:
  • Size: 146.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for robot_data_audit-0.4.15.tar.gz
Algorithm Hash digest
SHA256 d6008ec9a165eacfb6b69183164d5d2921f99369d480c65ffd9d467ecdb3be71
MD5 fff9c099d88183f1a9337d706c1e0519
BLAKE2b-256 c7c392b66fc9e3a6fd2298589d6d0eb26786b6d539f63cb76875dfa6555d9f05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robot_data_audit-0.4.15-py3-none-any.whl
Algorithm Hash digest
SHA256 f27fdb39417dcea98780f7588323b4dd782e217f76205702de54e53a3f1d9a59
MD5 18b3e99734977feb4aafe654147d2a95
BLAKE2b-256 f5c85ee49e999a41fe3934c3c1799c18dffb8a01c96db3da74771b31ddc9b60b

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