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.18

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.18
File Size Uploaded
robot_data_audit-0.9.18.tar.gz 218.3 kB Details

Built distribution (wheel)

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

Total release size: 475.7 kB

Release files / robot_data_audit-0.9.18.tar.gz

Download URL robot_data_audit-0.9.18.tar.gz
Size 218.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a0c414b14976b4959a378e71e4797b894350ffc465fbb19a2a32c09b1f0b43fe
BLAKE2b-256 checksum
How to use checksums
3c78e1671aeea053e3c80f2650a04af28ba511fad2ccdb6ad0d023221f118344
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.18-py3-none-any.whl

Download URL robot_data_audit-0.9.18-py3-none-any.whl
Size 257.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b1432d2701c7e5a99453311a4a5ad3c80bb9142d6ace62b3937de1e277e9526
BLAKE2b-256 checksum
How to use checksums
2ae0e6537b9ffe7975bae014e0b03b6a6765b3ea19ff79675348027b11f4697a
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

This release

0.9.18 This release

2 release files

0.9.17

2 release files

0.9.16

2 release files

0.9.15

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