左骨O6
数据收集
LinkerBot O6 的完整录制工作流程。 领导者-跟随者远程操作、LeRobot 数据集格式、事件质量检查表以及更广泛的数据收集管道的链接。
步步
O6 的录音工作流程
从硬件准备好到第一个数据集的完整过程。 按顺序执行步骤。
1
验证硬件和 CAN 接口
确认 O6 已安装、上电且 CAN 接口已启动。 跑步 candump can0 并在继续之前验证电机心跳包是否出现。
2
配置任务和相机布局
定义任务描述,以正确的角度设置相机,并将任务对象放置在工作区中。 跨剧集的一致场景设置对于政策泛化至关重要。
3
开始录制会话
使用以下命令启动 LeRobot 控制脚本 record 模式。 这使系统能够进行剧集录制。 会话将在捕获之前等待您的开始触发。
python -m lerobot.scripts.control_robot \
--robot.type=linkerbot_o6 \
--control.type=record \
--control.fps=30 \
--control.repo_id=your-username/o6-task-name \
--control.num_episodes=50 \
--control.single_task="Pick up the blue block"
4
远程操作并记录剧集
使用引导臂(或用于简单测试的键盘)远程操作 O6。 按开始/停止键将每个剧集包围起来。 重置剧集之间的场景以保持一致性。
5
查看和过滤剧集
使用乐机器人重播工具直观地回顾每一集。 丢弃任何未通过下面质量检查表的产品。 质量重于数量:30 部优秀剧集胜过 100 部平庸剧集。
python -m lerobot.scripts.control_robot \
--robot.type=linkerbot_o6 \
--control.type=replay \
--control.repo_id=your-username/o6-task-name \
--control.episode=0
6
上传至 HuggingFace Hub
将过滤后的数据集推送到 HuggingFace Hub 进行共享和训练。 该数据集可立即用于乐机器人的政策培训。
huggingface-cli login
python -m lerobot.scripts.push_dataset_to_hub \
--repo_id=your-username/o6-task-name
数据集架构
O6 的乐机器人数据集格式
每个录制的片段都以标准的 LeRobot HuggingFace 数据集格式存储。 该格式直接兼容 ACT、Diffusion Policy 以及所有其他 LeRobot 支持的训练算法。
剧集结构
dataset/
data/
episode_000000/
observation.state.npy # [T, 12] — 6 joint positions + 6 velocities
action.npy # [T, 6] — 6 target joint positions
observation.images.wrist_cam/
frame_000000.png # 640x480 @ 30 fps
...
observation.images.overhead_cam/
frame_000000.png
...
episode.json # {task, success, duration_s, num_frames}
meta_data/
info.json # dataset schema version, robot type, fps
stats.json # per-channel mean, std, min, max
状态和行动维度
# observation.state: [T, 12]
# Columns: [j0_pos, j1_pos, j2_pos, j3_pos, j4_pos, j5_pos,
# j0_vel, j1_vel, j2_vel, j3_vel, j4_vel, j5_vel]
# Units: radians and radians/second
# action: [T, 6]
# Columns: [j0_target, j1_target, j2_target, j3_target, j4_target, j5_target]
# Units: radians
从 O6 数据集训练策略
python -m lerobot.scripts.train \
--dataset_repo_id=your-username/o6-task-name \
--policy.type=act \
--output_dir=./checkpoints/o6-act-v1 \
--training.num_epochs=100
添加到训练数据之前
剧集质量检查表
在将其添加到训练数据集中之前,请将此清单应用到每一集。 坏数据比少数据更糟糕。
- ✓任务成功完成 — 手臂无需人工干预即可达到目标状态。 没有部分完成。
- ✓动作流畅且从容 — 没有不稳定的修正、超调或突然的方向改变。 顺利的示威训练出更顺畅的政策。
- ✓所有相机帧都存在 — 没有丢帧,没有遮挡与任务相关的工作空间区域。
- ✓联合状态是连续的 — 状态日志中没有大于 40 毫秒的时间步间隔。
- ✓剧集时长一致 — 短于 3 秒或长于 30 秒的事件通常是异常值。 在包含之前先检查它们。
- ✓场景同样重置 — 任务对象在剧集开始前返回到相同的起始位置。
- ✓记录期间没有 CAN 错误 - 查看
candump can0会话期间的错误帧日志。