关于 i4h-workflow-dataset-teleop
通过共享的 SimulationRunner 录制遥操作示范的工作流技能。它指导操作者检查设备支持、在前台录制,并验证 HDF5 数据。
主要功能
- 01解析工作流检出目录和设备支持
- 02通过统一启动器录制
- 03在前台进行交互控制
- 04检查 HDF5 动作与片段
- 05验证运动和回合结果
适用场景
- 01录制键盘控制的机器人示范
- 02采集用于创建数据集的遥操作回合
- 03检查录制动作是否对应机器人运动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ skills --skill i4h-workflow-dataset-teleop安装后在 Claude Code 中输入/i4h-workflow-dataset-teleop确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.json详细介绍
记录遥操作演示
用途
通过共享的 SimulationRunner 运行工作流声明的遥操作图,使动作、状态、摄像头、片段、尝试次数和结果遵循标准 HDF5 契约。
说明
- 确定基础检出目录和实时遥操作设备契约。
- 选择受支持的人机输入设备。
- 通过
run.sh在前台录制。 - 检查可见动作和 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 路径、维度/片段,以及是否由人类操作员完成任务。