mcpField
I
i4h-workflow-dataset-teleop

i4h-workflow-dataset-teleop

github.com/nvidia数据与数据库3.8k72 次安装今天更新
代码仓库

关于 i4h-workflow-dataset-teleop

通过共享的 SimulationRunner 录制遥操作示范的工作流技能。它指导操作者检查设备支持、在前台录制,并验证 HDF5 数据。

主要功能

  1. 01解析工作流检出目录和设备支持
  2. 02通过统一启动器录制
  3. 03在前台进行交互控制
  4. 04检查 HDF5 动作与片段
  5. 05验证运动和回合结果

适用场景

  1. 01录制键盘控制的机器人示范
  2. 02采集用于创建数据集的遥操作回合
  3. 03检查录制动作是否对应机器人运动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill i4h-workflow-dataset-teleop

安装后在 Claude Code 中输入/i4h-workflow-dataset-teleop确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

详细介绍

记录遥操作演示

用途

通过共享的 SimulationRunner 运行工作流声明的遥操作图,使动作、状态、摄像头、片段、尝试次数和结果遵循标准 HDF5 契约。

说明

  1. 确定基础检出目录和实时遥操作设备契约。
  2. 选择受支持的人机输入设备。
  3. 通过 run.sh 在前台录制。
  4. 检查可见动作和 HDF5 内容。

确认支持情况

export I4H_WORKFLOWS_REPO_URL="${I4H_WORKFLOWS_REPO_URL:-https://github.com/isaac-for-healthcare/i4h-workflows}"
I4H_REPO_DIR_NAME="${I4H_WORKFLOWS_REPO_URL%/}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME##*/}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME##*:}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME%.git}"
[ -n "$I4H_REPO_DIR_NAME" ] || { echo "Cannot derive a checkout name from I4H_WORKFLOWS_REPO_URL" >&2; exit 2; }
ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/i4h_workflows" ]; then
  ROOT="${I4H_WORKFLOWS:-$HOME/$I4H_REPO_DIR_NAME}"
  [ -d "$ROOT/workflows/i4h_workflows" ] || git clone "$I4H_WORKFLOWS_REPO_URL" "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"
cd "$ROOT"
./run.sh list
./run.sh show <workflow> --mode teleop

将上述解析器视为此技能契约的一部分:托管副本可能在基础仓库之外运行,因此绝不要假设当前检出目录包含 workflows/i4h_workflows。I4H_WORKFLOWS_REPO_URL 用于选择克隆源。当未设置 I4H_WORKFLOWS 时,根据该 URL 推导备用目录;仅在要复用或选择特定目标目录时设置 I4H_WORKFLOWS。绝不要替换现有检出目录。

要求实时模式列表中包含 teleop。读取工作流构建器、其场景清单中的 teleop 覆盖项,以及具身清单中的 teleop_devices。不要在技能中维护静态支持列表。

选择输入设备

  • 如果支持指定设备,则使用该设备。
  • 否则使用工作流构建器的默认设备。
  • 让交互式键盘/主端设备/VR/总线会话保持可见并在前台运行。展示设备控制方式,并要求人类操作员完成任务。
  • 绝不要假装能在无人值守的 Shell 中提供人类输入。

录制

./run.sh <workflow> --teleop <device> \
  --episodes <N> --attempts 3 \
  --record

省略 <device> 即使用工作流默认设备。单独使用 --record 会在启动器自动创建的运行目录中写入 demos.hdf5。从 ==> run dir ... 行或 run.json 中读取绝对目录;不要在 Shell 中重新生成其时间戳。若更大的流水线需要调用方指定共享目录,则传入 --run-dir "$RUN_DIR" --record demos.hdf5;启动器会创建该目录,并将相对录制文件名放在其中。仍支持使用绝对路径作为 --record 参数。

验证

要求最终出现 N/N episodes succeeded 摘要。然后检查内容:

RUN_DIR="<absolute run_dir from run.json or launcher output>"
uv run --project tools/dataset i4h-dataset inspect "$RUN_DIR/demos.hdf5" --segments
uv run --project tools/dataset i4h-dataset actions "$RUN_DIR/demos.hdf5"

通过目视确认操作员完成了请求的任务、机器人动作与输入设备相符,并且所有预期摄像头都记录了相同行为。将零个已保存回合、缺失观测、没有动作导致的运动,或任务结果不成功视为失败。使用 ./stop.sh all 停止残留进程。

故障排除

遇到设备或宽度错误时,对照工作流遥操作构建器、Scene 模式覆盖项和具身设备。

前提条件

需要包含 teleop 的工作流、受支持的设备、可正常工作的模拟器,以及在交互式输入时在场的操作员。

限制

遥操作会记录人类输入;使用交互式设备时必须有操作员在场。请改用 i4h-workflow-validate 记录自主的基于规则的 Tasks。

示例

  • Record 5 keyboard teleop demonstrations for locomanip tray pick and place. → 使用 G1 支持的键盘设备,要求人类操作员在场,并验证录制的动作。

完成门槛

报告工作流、模式/设备、控制方式、请求/保存的回合数、尝试次数、目视结果、HDF5 路径、维度/片段,以及是否由人类操作员完成任务。

评论

支持 Markdown