VLAI L1
数据收集
VLAI L1 专为大规模远程操作数据收集而设计。 其一键式记录管道、双臂同步和内置 VR teleop 使其成为从机器人交付到训练就绪数据集的最快路径。
录音工作流程
双手VR遥操作录制
1
连接并验证所有系统
rc connect --device l1 --host 192.168.1.45
rc status # check: arms, base, cameras, battery all green
2
将L1移动到录音位置
使用浏览器面板中的 WASD 将 L1 驱动到任务工作区。 设置任务的提升高度(例如,桌面操作为 130 厘米)。 将其停放并锁定车轮。
rc teleop --device l1 # open browser panel
# Drive to position, then lock:
python -c "from roboticscenter import L1; r=L1('192.168.1.45'); r.connect(); r.base.lock_wheels(); r.disconnect()"
3
设置任务场景和摄像机
将任务对象放置在一致的起始位置。 验证浏览器面板中的摄像头视图 - 腕式摄像头 (Developer Max) 和任何外部摄像头都应覆盖任务工作区。
4
通过 CLI 开始录制会话
rc record \
--device l1 \
--task "Pick up the bottle and pour into the glass" \
--num_episodes 50 \
--output ~/datasets/l1-pour-v1 \
--teleop_mode vr # or: browser, leader_arms
# Press ENTER in VR to start each episode, ENTER again to end
5
回顾剧集
rc replay \
--dataset ~/datasets/l1-pour-v1 \
--episode 0
查看器显示所有摄像机流+同步的联合状态时间序列。 在推送之前删除糟糕的剧集。
6
推送至 HuggingFace Hub
huggingface-cli login
rc push_dataset \
--dataset ~/datasets/l1-pour-v1 \
--repo_id your-username/l1-pour-v1
数据集格式
L1 数据集架构
L1 记录管道生成包含双臂、移动底座、所有摄像头和可选语言注释的多模式数据集。
每集 Parquet 文件中的字段
观察.left_arm_state
浮点数32[8]
左臂关节位置(以弧度表示)(8 个自由度)
观察.right_arm_state
浮点数32[8]
右臂关节位置(以弧度表示)(8 个自由度)
观察.base_state
浮点数32[3]
移动基准 x、y,航向(以米和弧度为单位)
观察.lift_height
浮动32
躯干提升高度(米)
观察.图像.*
视频路径
腕式摄像头(左、右)、头部摄像头、外部工作区摄像头
动作.左臂
浮点数32[8]
VR teleop 中的目标左臂关节位置
动作.right_arm
浮点数32[8]
VR teleop 中的目标右臂关节位置
语言指令
细绳
VLA 条件反射的自然语言任务描述
时间戳
浮动64
Unix 时间戳(以秒为单位)
下一步完成
布尔值
每集最后一帧为真
品质保证
质量检查表
L1 的 VR teleop 可能会引入有关延迟和双手协调的独特数据质量问题。 在推送到集线器之前先运行一遍此操作。
-
1录制期间 VR 延迟低于 50 毫秒 录制期间检查浏览器面板中的延迟监视器。 超过 50 毫秒,操作员的手部动作滞后于机器人的动作,从而在数据集中产生因果不匹配。 如果需要,请在延迟较低的 WiFi 通道上重新录制。
-
2双臂按预期移动(无单臂发作) 对于双手任务,验证双臂在以下方面表现出明显的运动
observation.left_arm_state和observation.right_arm_state。 单臂主导的事件可能表明操作者更喜欢一只手。 -
3手臂操纵期间移动底座保持静止 除非您正在录制移动操作任务,
observation.base_state每集中应该几乎恒定。 操作过程中的底座移动会导致工作空间相对于摄像机移动。 -
4整集的所有摄像机流 L1 的 WiFi 带宽在负载下可能会丢帧。 跑步
rc validate_dataset --dataset ~/datasets/l1-pour-v1检查所有摄像机流中是否有丢失的帧。 -
5语言教学与演示相符 语言指令在录音开始前设置。 如果操作员临时采取了不同的方法(例如,使用一只手臂而不是两只手臂),请更新说明或删除该片段。
下一步
从您的数据集训练 VLA
一旦您的数据集位于 HuggingFace Hub 上,请使用 L1 操作空间微调 VLA。
在 L1 数据上微调 OpenVLA
pip install roboticscenter[vla]
python -m roboticscenter.scripts.finetune_vla \
--model openvla/openvla-7b \
--dataset your-username/l1-pour-v1 \
--action_space l1_bimanual \ # registers the 16-DOF bimanual action head
--epochs 50 \
--output_dir outputs/openvla-l1-pour
在设备上部署经过微调的 VLA (Developer Pro/Max)
rc 部署 vla \ --模型输出/openvla-l1-pour \ --量化 int4 \ --设备 l1 \ --主机192.168.1.45 # 运行策略: rc 运行策略 \ --任务“拿起瓶子并倒入玻璃杯中”\ --最大步数 100