数据收集
使用 Orca Hand 记录灵巧的操作数据与简单的抓手数据收集有着根本的不同——17 个手指关节、可选的触觉流和手套远程操作都需要仔细的同步。 本指南涵盖了完整的工作流程。
用于灵巧数据收集的硬件设置
Orca Hand 录制设置比简单的夹臂具有更多的流 - 手指关节、可选的触觉、摄像头和手臂关节都需要同步。
Orca Hand(USB 串口)
频率高达 100 Hz 时的 17 自由度手指状态。 核实: python -c "from orca_core import OrcaHand; h=OrcaHand('/dev/ttyUSB0'); h.connect(); print(h.get_positions())"
遥控装置
聚桥手套(推荐)或VR手部追踪。 将操作员手指的姿势实时映射到 Orca Hand 关节目标。
掌上/手腕相机
手掌内的小型 USB 摄像头指向指尖和物体。 对于接触丰富的任务至关重要,指尖物体的接触决定了抓取的成功。
触觉传感器(可选)
Paxini 或兼容的指尖传感器。 独立的 USB 连接。 将接触力流添加到您的数据集中,以进行接触指导的政策培训。
分步录制工作流程
举起手臂+手+手套
# Terminal 1: Arm (if using OpenArm)
source ~/openarm_ws/install/setup.bash
ros2 launch openarm_ros2 openarm.launch.py use_fake_hardware:=false can_interface:=can0
# Terminal 2: Orca Hand
source ~/orca_ws/install/setup.bash
ros2 launch orca_ros2 orca_hand.launch.py port:=/dev/ttyUSB0 handedness:=right
# Terminal 3: Juqiao Glove (see Juqiao Glove software page)
python -m juqiao_glove.stream --port /dev/ttyUSB1
验证所有流都是实时的
# Check finger joint states
ros2 topic hz /orca_hand/joint_states # expect ~100 Hz
# Check glove stream
ros2 topic hz /juqiao_glove/finger_angles # expect ~100 Hz
# Check camera
python -c "import cv2; cap=cv2.VideoCapture(0); print('Camera OK:', cap.isOpened())"
校准手套到手的映射
运行手套校准,将您的手指尺寸映射到 Orca Hand 的关节范围。 此步骤确保自然的远程操作 - 你张开的手 = Orca 张开,你的拳头 = Orca 拳头。
python -m orca_core.scripts.calibrate_teleop \
--hand_port /dev/ttyUSB0 \
--glove_port /dev/ttyUSB1 \
--handedness right
设置任务场景
将物体放置在一致的起始位置。 灵巧的抓握对物体的姿势高度敏感——使用固定装置(胶带、油灰)来保持不同场景中物体位置的一致。
开始录制会话
python -m orca_core.scripts.record_episodes \
--hand_port /dev/ttyUSB0 \
--glove_port /dev/ttyUSB1 \
--camera_id 0 \
--fps 30 \
--output_dir ~/datasets/orca-grasp-v1 \
--num_episodes 50 \
--task "Pick up the pen using a precision pinch grasp"
记录器将同步的手指关节位置、手套角度、相机框架和(如果已连接)触觉读数保存到 Parquet 数据集。
复习把握质量
重播每一集。 寻找:滑动事件(突然的位置跳跃)、不完整的抓握、肌腱饱和(抓握过程中关节处于硬限制)、不一致的接近路径。
python -m orca_core.scripts.visualize_episode \
--dataset_dir ~/datasets/orca-grasp-v1 \
--episode_index 0
推送至 HuggingFace Hub
python -m orca_core.scripts.push_dataset \
--dataset_dir ~/datasets/orca-grasp-v1 \
--repo_id your-username/orca-grasp-v1
Orca 手数据集架构
Orca Hand 数据集格式通过额外的手指特定和触觉流扩展了标准 LeRobot 模式。
灵巧的数据质量检查表
灵巧的操纵数据比简单的取放有更多的故障模式。 在推送到集线器之前先运行一遍此操作。
-
1在整个情节中,所有 17 个关节都有有效的位置读数 NaN 或卡住值表示伺服丢失。 检查
observation.hand_state对于所有帧中任何关节的恒定值。 -
2手套到手的延迟低于 20 毫秒 检查时间戳之间的对齐情况
action(来自手套)和observation.hand_state。 高延迟导致策略从因果不一致的对中学习。 -
3任务中的抓取类型是一致的 如果一些示威活动使用了权力抓握,那么精确捏捏的政策就不会普遍化。 将每个数据集保留为一种主要抓取策略,或按抓取类型进行标记。
-
4接触事件在联合位置可见 当手与物体接触时,指关节应表现出明显的减速和顺应性偏转。 手指在没有接触变形的情况下卡入位置的情况可能会错过抓握。
-
5掌上相机在整个操作阶段显示物体 从接近到释放,该物体必须在掌上相机中可见。 检查相机安装座是否未受到碰撞,并且 FOV 是否覆盖任务工作区。
-
6触觉流在预期的地方有接触事件 在捏握过程中,拇指和食指的触觉应该显示出力量的增加。 确认接触期间缺少力信号表明传感器已断开或校准错误。