如何记录一个与LeRobot兼容的数据集
通过雷罗бот记录CLI捕获基于节目的游乐队 + 视频片段. 清洁数据集,HuggingFace Hub准备,在约2小时内,包括机器人设置.
勒罗бот是HuggingFace的开源机器人学习堆
收集数据总时间:约2小时 难度:初学者 更新于2026年4月
你将实现什么
在本教程结束时,您将有:一个50集的乐罗伯特数据集在磁盘上,一个视觉检查通过,正常化统计数据,以及一个公开或私人数据集发表在 HuggingFace Hub.
勒罗波特数据集格式将每个集集作为一个组档中的一行范围,并包含在单独的MP4片段中存储的视频框架的联合状态,行动和参考.该格式旨在从Hub中高效地流动,清洁地加载到PyTorch DataLoaders,并通过JSON元数据文件进行自我描述.
条件
- **一个LeRobot支持的机器人臂.**SO-100 / SO-101,OpenArm,Koch v1.1,Moss,Aloha,WidowX,UR系列
支持的列表定期增长.浏览 [机器人商店] T25 ) 查看选项. - 至少有一个相机. USB 网络摄像机或英特尔RealSense
手腕+上下是理想的. - Ubuntu 22.04工作站,使用Python 3.10+和 ffmpeg.
- HuggingFace账户用于发布 (可选).
- 如果您也需要一个电话设备,请参阅 [ALOHA电话教程]
T26 ) 双手册或[学院] T27 ) 单臂的领导者跟随者指南.
步骤
- ###安装LeRobot
根据硬件类型,可选的附加设备:
```
conda create -n lerobot python=3.10 -y
conda activate lerobot
pip install --upgrade pip
pip install lerobot
# hardware-specific extras (pick yours)
pip install 'lerobot[feetech]' # SO-100, Koch
pip install 'lerobot[dynamixel]' # Aloha, WidowX
pip install 'lerobot[intelrealsense]' # for RealSense cameras
```
查看安装:
准你的手臂
每个支持的臂臂都有一个校准子指挥.
```
lerobot-calibrate \
--robot.type=so100 \
--robot.port=/dev/ttyACM0
```
通过此,可检测机器的身份,设置关节零位置,并将校准存储到
- 检查摄像头和电话
通过电话视频进行直播预览,检查一切:
```
lerobot-teleoperate \
--robot.type=so100 \
--robot.port=/dev/ttyACM0 \
--robot.cameras='{"top": {"type":"opencv","index":0}, "wrist": {"type":"opencv","index":2}}' \
--display_data=true
```
确认两部摄像头都在30FPS的流量,不撕裂,手臂轨迹清洁,预览窗口更新.如果手臂震动,首先检查USB电缆质量.
- 定义任务和指令
选择一个**** 精确定义的任务,为您的第一个数据集. "选择红立方体,将其放进蓝碗"每次比"用立方体做东西".您的自然语言指令将在每个集中被保存字面上,将是下游政策看到的唯一文本.
**提示:**保持任务成功标准是二进制的,并且可以从数据中观察到. "立方体在碗里"是明确的. "立方体在缓慢地放置"不是.
- 录制50集
现在主要事件. 记录50集的
```
lerobot-record \
--robot.type=so100 \
--robot.port=/dev/ttyACM0 \
--robot.cameras='{"top": {"type":"opencv","index":0}, "wrist": {"type":"opencv","index":2}}' \
--dataset.repo_id=<your-username>/red_cube_blue_bowl \
--dataset.num_episodes=50 \
--dataset.single_task="Pick the red cube and place it in the blue bowl." \
--dataset.fps=30 \
--dataset.episode_time_s=20
```
剧集之间,重置场景到稍微不同的初始配置
- ###检查数据集
通过内置的可视化器扫描节目:
```
lerobot-dataset-visualize --repo-id=<your-username>/red_cube_blue_bowl
```
监视:摄像头失效,关节中断,错过任务的事件,
- 放弃坏剧情和计算统计
删除数据集的重数据中失败或混乱的事件.LeRobot支持按事件索引过
推到拥抱面孔中心
```
huggingface-cli upload <your-username>/red_cube_blue_bowl \
~/.cache/huggingface/lerobot/<your-username>/red_cube_blue_bowl \
--repo-type=dataset
```
现在数据集是公开的 (或私人).你可以随地加载它
接下来要做什么?
一旦你有一个清洁的LeRobot数据集,两个高价值的后续: (1) 训练一个政策它
常见故障模式
** 剧情长度不同:** 预计
** 大数据集尺寸:** LeRobot 视频片段编码为 H.264. 如果尺寸仍然是一个问题,则降至15FPS或480p,对于不需要更高分辨率的摄像头.
** 政策过度即时:** 收集过程中没有足够的场景变化.
**Hub上传失败:**通常存在 repo 或许可错误.先使用
深度潜水:勒罗波特数据集格式
雷罗伯特数据集布局在磁盘上:包含
这种设计是故意的:在公寓中的尺度器为批量数据加载提供快速的柱状访问,MP4则比每框图像文件提供更好的磁盘压缩,而不会牺牲随机访问.CRF 18编码的H.264几乎是无损的操作;CRF 23为您提供大约3倍的较小的文件,对大多数任务的政策培训没有明显的质量影响.
深度潜水:场景变化是唯一最大的质量杆
如果有2小时录制,请花30分钟的时间来规划场景变化,而不是90分钟的时间来录制基线剧集.
- 物体姿势. 工作空间内的网格中至少有10个起始位置.
- 照明.
光灯与温 灯与自然窗 最低3个条件. - 没有干扰器的政策在你的工程办公室上有一杯咖啡时就会断裂.
- 背景. 旋转在2或3个桌面表面或桌面盖上.
- "选择红立方体,把它放进碗里" / "把红立方体放进蓝立方体" / "把红立方体移到碗里".每项任务的三个句子是最好的最小值.
沉浸深度:从录音到训练在一个下午
记录一个LeRobot数据集的全部目的是训练一个政策.一旦录制完成,基线配方是:
深度潜水:什么时候停止录音,开始训练
团队经常记录得多.正确的
常见问题
我可以用我自己的自定义机器人 LeRobot? 是的. 实现一个匹配 LeRobot
** 典型的50集数据集的尺寸是多少?** 根据相机数量和分辨率大约为1到5GB.
我可以记录模拟数据吗 是的
** 关于超越关节角的自觉感知怎么办?** LeRobot支持任意状态维度.







