WARNING: DEPRECATED / 已废弃
This repository is archived and no longer maintained. Use the public repo instead:
本仓库自 v0.4.16 起停止同步,后续 v0.5.x 版本、盲测与 benchmark 证据均只在公开仓库发布。
Robot Data Audit (RDA)
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.
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
Release files for robot-data-audit 0.9.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| robot_data_audit-0.9.11.tar.gz | 237.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robot_data_audit-0.9.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 477.2 kB
Release files / robot_data_audit-0.9.11.tar.gz
| Download URL | robot_data_audit-0.9.11.tar.gz |
|---|---|
| Size | 237.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8c346f10ce1dadf94fb157b20fb4ea30513471f1f6b127094519608c24690f4
|
|
BLAKE2b-256 checksum How to use checksums |
76609576f07b88b41b491779c403e45b84d55dcece1b30c334c9a967f97db2ea
|
| 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.11-py3-none-any.whl
| Download URL | robot_data_audit-0.9.11-py3-none-any.whl |
|---|---|
| Size | 239.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3102209df0b83e7b4e45905312fa480bd5b14ec1f65cdd6e047a40d35724060
|
|
BLAKE2b-256 checksum How to use checksums |
b169dacfceb1728d11a2ee0b442e8d2ddf3c45dfc9ab24ca5170e9d4079833c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|