dora-dataset-record
Node for recording robot datasets in LeRobot format. You can captures synchronized camera feeds and robot poses to create high-quality datasets for imitation learning and robot training.
- Robot pose recording - Capture both state and action data
- Multi-camera support - Record from multiple cameras simultaneously
- LeRobot dataset format (v2.1) - Direct integration with HuggingFace LeRobot datasets
- Episode management - Automatic episode segmentation with reset phases
Quick Start
1. Installation
# Source your venv
cd dora/node-hub/dora-dataset-record
uv pip install -e .
2. Usage Guide
Create a dataflow file, see examples/lerobot-dataset-record/dataset_record.yml:
nodes:
# Dataset recorder
- id: dataset_recorder
build: pip install -e ../../dora-dataset-record
path: dora-dataset-record
inputs:
laptop: laptop_cam/image
front: front_cam/image
robot_state: robot_follower/pose
robot_action: leader_interface/pose
outputs:
- text
env:
# Required settings
REPO_ID: "your_username/your_dataset_name"
SINGLE_TASK: "Pick up the cube and place it in the box"
ROBOT_TYPE: "your_robot_type"
# Recording settings
FPS: "30"
TOTAL_EPISODES: "50"
EPISODE_DURATION_S: "60"
RESET_DURATION_S: "15"
# Camera configuration
CAMERA_NAMES: "laptop,front"
CAMERA_LAPTOP_RESOLUTION: "480,640,3"
CAMERA_FRONT_RESOLUTION: "480,640,3"
# Robot configuration
ROBOT_JOINTS: "joint1,joint2,joint3,joint4,joint5,gripper"
# Optional settings
USE_VIDEOS: "true"
SAVE_AVIF_FRAMES: "true" # This will additionally save frames
PUSH_TO_HUB: "false"
PRIVATE: "false"
TAGS: "robotics,manipulation,imitation_learning"
# Visualization with rerun
- id: plot
build: pip install dora-rerun
path: dora-rerun
inputs:
text: dataset_recorder/text
3. Start Recording the dataset
dora build dataset_record.yml
dora run dataset_record.yml
The node will send instructions on dora-rerun, about episode starting, reset time, Saving episodes etc.
Configuration
Required Environment Variables
| Variable | Description | Example |
|---|---|---|
REPO_ID |
HuggingFace dataset repo | "username/dataset_name" |
SINGLE_TASK |
Task description | "Pick and place objects" |
CAMERA_NAMES |
Comma-separated camera names | "laptop,front,top" |
CAMERA_*_RESOLUTION |
Resolution for each camera | "480,640,3" |
ROBOT_JOINTS |
Comma-separated joint names | "joint1,joint2,gripper" |
Optional Settings
| Variable | Default | Description |
|---|---|---|
FPS |
30 |
Recording frame rate (match camera fps) |
TOTAL_EPISODES |
10 |
Number of episodes to record |
EPISODE_DURATION_S |
60 |
Episode length in seconds |
RESET_DURATION_S |
15 |
Break between episodes to reset the environment |
USE_VIDEOS |
true |
Encode as MP4 videos, else saves images |
PUSH_TO_HUB |
false |
Upload to HuggingFace Hub |
PRIVATE |
false |
Make dataset private |
ROOT_PATH |
~/.cache/huggingface/lerobot/your_repo_id |
Local storage path where you want to save the dataset |
License
This project is released under the MIT License.
Metadata
Release files for dora-dataset-record 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dora_dataset_record-0.1.0.tar.gz | 7.6 kB | Without provenance | Details for dora_dataset_record-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dora_dataset_record-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for dora_dataset_record-0.1.0-py3-none-any.whl |
Total release size: 15.5 kB
Release files / dora_dataset_record-0.1.0.tar.gz
| Download URL | dora_dataset_record-0.1.0.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
902502169ab122282ae4c9869520f0e49708f1a8adb98a8a35f8c5c1022cee80
|
|
BLAKE2b-256 checksum How to use checksums |
c5e1d2b7ab9bb4a7f1704e55924fa76147e9ca6637d023d03070aff7e204b8f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / dora_dataset_record-0.1.0-py3-none-any.whl
| Download URL | dora_dataset_record-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0397fa5d2dd9207b091d8a3458471d58fe706f6dbc620fd6e3a8b6525a31323b
|
|
BLAKE2b-256 checksum How to use checksums |
98e8e06e9f802b6844f843100264afcdd1ff457bcf9f94c28b8d04b53d2da625
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Security for dora-dataset-record 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.