Skip to main content

Robot Data Audit (RDA)

PyPI Python License: MIT

Audit robot dataset quality. Local only.

RDA checks LeRobot-format datasets for data integrity, temporal consistency, and motion anomalies. It flags problematic episodes and reports what's wrong. RDA is a diagnostic tool only — it does not guarantee training success rate improvements.


Quick Start

pip install robot-data-audit           # install
rda audit /path/to/dataset             # audit → text + JSON report in <dataset>/rda_report.json

Sample Output

$ rda audit ~/datasets/my_robot_data

  ── Verdict ──
  PASS:    180 (90.0%)
  REVIEW:   15 ( 7.5%)
  EXCLUDE:   5 ( 2.5%)

  ── Top Issues ──
  1. [HIGH ★] Action discontinuity: 3421 spikes across 195 episodes
  2. [MEDIUM] High idle ratio: median 72% idle, 28% effective motion
  3. [LOW] Extreme acceleration spikes: 2847 across 180 episodes

Output options: --format json for scripting, -o FILE to save elsewhere.


Real Audit Results

Audited on ArmnetBench (SO-101 arm, 2,499 episodes) and DROID (100 episodes):

Metric ArmnetBench (200 ep subset) DROID (100 ep)
Action spikes detected 5,229 1,428
Median idle ratio 68.6% 70.7%
Median episode duration 22.4s 15.0s
Verdict All PASS All PASS

Both are curated benchmark datasets — all episodes pass. RDA also runs on noisier, real-world collections where REVIEW/EXCLUDE verdicts appear more frequently.

Full calibration analysis (ArmnetBench, comparing successful vs failure episodes by label): docs/ARMNETBENCH_CALIBRATION_REPORT.md


Design

  • Local only — No data leaves your machine. Runs entirely offline.
  • Diagnostic, not predictive — RDA identifies data issues. Whether fixing them improves training is a separate question and depends on your task, model, and setup.
  • Statistical anomaly detection — Uses MAD on reference distributions instead of fixed thresholds (no hardcoded 3σ rules). Adapts to each dataset's characteristics.
  • Universal core metrics — Primary ranking uses 3 platform-independent metrics (duration, spike_count, effective_motion_ratio). Platform-specific signals (velocity, path_length) are optional diagnostics.

See docs/MVP_PRODUCT_SPEC.md for full metric definitions.


Metrics

Tier Metric Detects Cross-platform?
L1 Timestamp monotonicity Clock resets, duplicates ✅
L1 Frame interval consistency Irregular sampling ✅
L1 Schema compliance Missing/extra fields ✅
L2 Temporal gap detection Time discontinuities ✅
L2 Sensor synchronization Multi-sensor drift ⚠️
L2 Temporal sufficiency Idle vs active structure ✅
L3 Velocity spikes Implausible jumps ️
L3 Motion discontinuities Jerky trajectories ⚠️
L3 Idle frame detection Paused segments ✅
L4 Duration outliers Too short / too long ✅
L4 Spike count outliers Unusual jerk profiles ✅
L4 Effective motion ratio Low-activity episodes ✅

CLI Reference

rda audit

rda audit /path/to/dataset [OPTIONS]
Option Description
-o, --output FILE Save JSON report (default: <path>/rda_report.json)
--format [json|text] Output format (default: text)
--platform TEXT Robot platform name for Tier 3 normalization
-v, --verbose Verbose output

Exit codes: 0 = no EXCLUDE, 1 = error, 2 = at least one EXCLUDE.


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"PASS: {result.verdict_counts['PASS']}")

Development

git clone https://github.com/liesliy/rda.git
cd rda
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/rda}
}

License

MIT

Metadata

Release files for robot-data-audit 0.9.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robot-data-audit 0.9.15
File Size Uploaded
robot_data_audit-0.9.15.tar.gz 259.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for robot-data-audit 0.9.15
File Interpreter ABI Platform
robot_data_audit-0.9.15-py3-none-any.whl Python 3 none any Details

Total release size: 512.8 kB

Release files / robot_data_audit-0.9.15.tar.gz

Download URL robot_data_audit-0.9.15.tar.gz
Size 259.1 kB
Tags Source
SHA-256 checksum
How to use checksums
915eda4ff71347108ea908080bb927416fa7568ae9106878298ea1e2906a87bb
BLAKE2b-256 checksum
How to use checksums
131948ffa40ccf1dabade112d1fc4566874de4041bf9cf80af6fb1d4a2556d2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / robot_data_audit-0.9.15-py3-none-any.whl

Download URL robot_data_audit-0.9.15-py3-none-any.whl
Size 253.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
808908ccfdfb8b629a84e4ced1f85e83a4a6bd17063db389cb934d40c1ee814d
BLAKE2b-256 checksum
How to use checksums
f1fce4b0a076d4984ed6184d82afd20d0990945c72aaf545749231b535f0cb33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

0.9.18

2 release files

0.9.17

2 release files

0.9.16

2 release files

This release

0.9.15 This release

2 release files

0.9.14

2 release files

0.9.13

2 release files

0.9.12

2 release files

0.9.11

2 release files

0.9.9

2 release files

0.9.8

1 release file

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

1 release file

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

1 release file

0.5.9

1 release file

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.15

2 release files

0.4.14

2 release files

0.4.13

1 release file

0.4.12

1 release file

0.4.11

1 release file

0.4.10

1 release file

0.4.9

1 release file

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

1 release file

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page