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
- API Reference — Full Python API documentation
- MVP Product Spec — Product requirements (v0.2.0)
- Technical Design — Architecture and design decisions
- Project Charter — Mission, goals, and scope
- Roadmap — Release plan and milestones
- Changelog — Version history
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robot_data_audit-0.4.6.tar.gz.
File metadata
- Download URL: robot_data_audit-0.4.6.tar.gz
- Upload date:
- Size: 126.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3c7221974bae57685c3ef56ed06675144c5d9090596466645793301f1d569a9
|
|
| MD5 |
84b5b9328877809f9026b7c89fc05cdc
|
|
| BLAKE2b-256 |
e283b13f1648963b940bfa7c50f322c1d2e7e571ed99689f0e814a5e7049d430
|
File details
Details for the file robot_data_audit-0.4.6-py3-none-any.whl.
File metadata
- Download URL: robot_data_audit-0.4.6-py3-none-any.whl
- Upload date:
- Size: 118.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc8bf374117de0f32abfcf4c74e5a70d2e56a7465fc45fbaadd4efb440bce42d
|
|
| MD5 |
05ccb4b7754980c37c9bc49e6b263d29
|
|
| BLAKE2b-256 |
231687e33d92093ad82e0a1e6c3c4b38b32820dce06ef22f1745aaa97742e11f
|