i4h-workflow-dataset-teleop

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Record Teleop Demonstrations

记录Teleop演示

Purpose

目的

Run the workflow's declared teleop graph through the shared
SimulationRunner
so actions, state, cameras, segments, attempts, and outcomes use the normal HDF5 contract.
通过共享的
SimulationRunner
运行工作流中声明的teleop图,使动作、状态、摄像头、片段、尝试和结果遵循标准的HDF5协议。

Instructions

操作步骤

  1. Resolve the base checkout and live teleop device contract.
  2. Choose a supported human-input device.
  3. Record in the foreground through
    run.sh
    .
  4. Inspect visible motion and HDF5 content.
  1. 解析基础代码库和实时遥操作设备协议。
  2. 选择支持的人工输入设备。
  3. 通过
    run.sh
    在前台进行记录。
  4. 检查可见运动和HDF5内容。

Resolve support

解析支持环境

bash
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
Treat the resolver above as part of the skill contract: a hosted copy may run outside the base repository, so never assume the current checkout contains
workflows/i4h_workflows
.
I4H_WORKFLOWS_REPO_URL
selects the clone source. When
I4H_WORKFLOWS
is unset, derive the fallback directory from that URL; set
I4H_WORKFLOWS
only to reuse or choose a specific destination. Never replace an existing checkout.
Require
teleop
in the live mode list. Read the workflow builder, its scene manifest
teleop
override, and the embodiment manifest's
teleop_devices
. Do not maintain a static support table in the skill.
bash
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
覆盖配置,以及embodiment清单的
teleop_devices
。请勿在技能中维护静态支持表。

Choose input

选择输入设备

  • Use the named device when supported.
  • Otherwise use the workflow builder's default device.
  • Keep interactive keyboard/leader/VR/bus sessions visible and in the foreground. Surface the device controls and require the human operator to complete the task.
  • Never pretend to provide human input in an unattended shell.
  • 使用支持的指定设备。
  • 否则使用工作流构建器的默认设备。
  • 保持交互式键盘/引导器/VR/总线会话可见并处于前台。显示设备控制界面,要求人工操作员完成任务。
  • 切勿在无人值守的shell中模拟人工输入。

Record

记录演示

bash
./run.sh <workflow> --teleop <device> \
  --episodes <N> --attempts 3 \
  --record
Omit
<device>
to use the workflow default. Bare
--record
writes
demos.hdf5
inside the launcher's automatic run directory. Read the absolute directory from the
==> run dir ...
line or
run.json
; do not recreate its timestamp in the shell. When a larger pipeline requires a caller-selected shared directory, pass
--run-dir "$RUN_DIR" --record demos.hdf5
; the launcher creates the directory and anchors the relative recording name inside it. An absolute
--record
path remains supported.
bash
./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
参数同样受支持。

Verify

验证结果

Require the final
N/N episodes succeeded
summary. Then inspect content:
bash
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"
Visually confirm that the operator completes the requested task, robot motion matches the input device, and all expected cameras record the same behavior. Treat zero saved episodes, missing observations, absent action motion, or an unsuccessful task outcome as failure. Stop leftovers with
./stop.sh all
.
要求显示最终的
N/N episodes succeeded
摘要。然后检查内容:
bash
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
停止残留进程。

Troubleshooting

故障排除

On device or width errors, compare the workflow teleop builder, Scene mode override, and embodiment devices.
遇到设备或宽度错误时,对比工作流teleop构建器、场景模式覆盖配置和embodiment设备。

Prerequisites

前提条件

Require a workflow with
teleop
, a supported device, a working simulator, and a present operator for interactive input.
需要包含
teleop
的工作流、支持的设备、可用的模拟器,以及提供交互式输入的人工操作员。

Limitations

限制

Teleop records human input and requires an operator for interactive devices. Record autonomous rule-based Tasks with
i4h-workflow-validate
instead.
Teleop记录人工输入,交互式设备需要操作员在场。如需记录基于规则的自主任务,请使用
i4h-workflow-validate

Examples

示例

  • Record 5 keyboard teleop demonstrations for locomanip tray pick and place.
    → use G1's supported keyboard device, require a human operator, and verify the recorded action motion.
  • 为locomanip托盘取放任务记录5次键盘Teleop演示。
    → 使用G1支持的键盘设备,要求人工操作员,并验证记录的动作运动。

Completion gate

完成标准

Report workflow, mode/device, controls, requested/saved episodes, attempts, visual result, HDF5 path, dimensions/segments, and whether a human operator completed the task.
报告工作流、模式/设备、控制方式、请求/保存的片段数、尝试次数、可视化结果、HDF5路径、维度/片段信息,以及人工操作员是否完成任务。