dora-dataset-record
Project description
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.
Project details
Release history Release notifications | RSS feed
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 dora_dataset_record-0.1.0.tar.gz.
File metadata
- Download URL: dora_dataset_record-0.1.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
902502169ab122282ae4c9869520f0e49708f1a8adb98a8a35f8c5c1022cee80
|
|
| MD5 |
56ee8b75277a1e76c2257c7c10444454
|
|
| BLAKE2b-256 |
c5e1d2b7ab9bb4a7f1704e55924fa76147e9ca6637d023d03070aff7e204b8f5
|
File details
Details for the file dora_dataset_record-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dora_dataset_record-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0397fa5d2dd9207b091d8a3458471d58fe706f6dbc620fd6e3a8b6525a31323b
|
|
| MD5 |
f5e136d4799061569e71b874ab8b3736
|
|
| BLAKE2b-256 |
98e8e06e9f802b6844f843100264afcdd1ff457bcf9f94c28b8d04b53d2da625
|