机器人

使用仿真构建医院自动化机器人系统

医疗健康行业面临着需求 – 能力的结构化危机:预计到 2030 年,全球将短缺约 1000 万临床医生,每年将进行数十亿次诊断检查,但大量需求未得到满足,数亿次手术的访问缺口很大,以及昂贵的手术室 (OR) 效率低下 (以每分钟几十美元计) 。

因此,未来的医院必须实现自动化,其中的机器人技术可扩展临床医生的能力,提高程序吞吐量,降低可变性,并普及高质量护理。想象一下,自主成像机器人在患者解剖结构中导航,为未获得服务的数十亿人提供 X 光片,而在手术室中,“手术子任务自动化”负责处理重复性缝合,以便外科医生可以专注于关键决策。在病床边之外,服务机器人通过自主配送物资来恢复浪费的几分钟时间,从而为护士节省数英里的行走时间。

数据鸿沟和现实世界的限制

核心瓶颈在于数据。医院是异构、混乱和高风险的环境,每个设施都有不同的布局、工作流程、设备、患者群体和政策。在不同的医院中部署机器人以捕获详尽的现实世界数据,在经济和运营上都是不可行的。即使有可能,现实世界的数据也无法捕获每个边缘案例 — — 拥挤的走廊、紧急中断、罕见的并发症、压力下的人机交互 — — 根本不存在。在实时临床环境中测试每个场景不仅不安全,而且不切实际。

解决方案包括仿真、数字生和合成数据生成。

因此,仿真和合成数据生成并非可有可无,而是基础。虚拟医院环境允许机器人在部署前大规模、安全地体验数千种导航模式、工作流程变化、任务排列和人机交互场景。高保真仿真支持压力测试、长视野策略学习、罕见事件暴露和闭环训练,而这些是仅凭在现实世界中无法实现的。这种方法可加速开发、降低临床风险,并提供实现复杂医院系统的可靠、智能自动化所需的数据基板。

Project Rheo 引入了另一种方法。

开发者如何使用 Project Rheo Blueprint 来训练 AI 系统

开发者现在无需在医院内教授机器人,而是可以在自动化到来之前在仿真中训练医院。

本指南将介绍开发者如何使用 Project Rheo Blueprint 构建其首个智慧医院数字孪生,并开始训练物理 AI 系统。

作为智能医院自动化和物理 AI 开发的 blueprint,Project Rheo 结合了:

  • 物理智能体:由 NVIDIA Isaac GR00T 视觉-语言-动作 (VLA) 模型和/或强化学习 (RL) 后训练驱动的现场操作和操作策略 (例如,手术托盘拾放、病例推车、手动工具处理) 。
  • 数字智能体: 由手术基础模型驱动的监控和辅助智能体 (例如,由视觉语言模型 (VLM) 驱动的智能体,可观察实时摄像头流并提出行动建议) 。
  • 数字孪生和 SimReady 资产: 使用 NVIDIA Isaac Sim / Isaac Lab 构建的 OR 仿真,用于安全地对任务、数据和策略进行迭代。

Rheo 支持两条互补的仿真轨道,每条轨道都针对工作流程的不同部分进行了优化:

  • Isaac Lab-Arena 追踪: 用于 OR – Scale 任务的快速环境合成和迭代 (例如定位操作) ,您希望在其中以最少的摩擦交换场景、对象、实施方案和评估运行程序。
  • Isaac Lab track:以任务为中心、基于管理器的环境,与用于精度操作的课程设计和大规模 RL 后训练自然搭配。

在下一节中,“数字医院”使用 Isaac Lab-Arena 合成模型 构建:选择命名素材,选择具身,附加任务,然后运行。

第 1 步:创建数字医院

将场景任务合成到 Isaac Lab-Arena 环境中

Rheo Blueprint 的核心功能之一是使用Isaac Lab-Arena模型这使得开发者能够通过结合现有资产、机器人形态和任务定义来快速定义临床场景。

以下 Python 代码块演示了如何在术前场景中定义运动操纵任务,具体而言,让 Unitree G1 机器人拿起手术托盘并将其放置到推车上。

from isaaclab_arena.environments.isaaclab_arena_environment import IsaacLabArenaEnvironment
from isaaclab_arena.scene.scene import Scene
from sim.tasks.g1_tray_pick_and_place_task import G1TrayPickPlaceTask
 
# 1. Define the scene components (USD assets)
background = asset_registry.get_asset_by_name("pre_op")()
pick_up_object = asset_registry.get_asset_by_name("surgical_tray")()
destination_cart = asset_registry.get_asset_by_name("cart")()
 
# 2. Define the robot embodiment
embodiment = asset_registry.get_asset_by_name("g1_wbc_joint")(enable_cameras=True)
 
# 3. Compose the Scene
scene = Scene(assets=[background, pick_up_object, destination_cart])
 
# 4. Create the Environment by combining the Embodiment, Scene, and Task
env = IsaacLabArenaEnvironment(
    name="g1_locomanip_tray_pick_and_place",
    embodiment=embodiment,
    scene=scene,
    task=G1TrayPickPlaceTask(pick_up_object, destination_cart, background, episode_length_s=30.0),
    teleop_device=None,
)

通过 Isaac Lab 进行精度操作

对于精确的多阶段双手操作 (如 Assemble Trocar ) ,Rheo 使用聚焦 Isaac Lab 轨道 ,其中 OR 生明确定义为场景配置:机器人、摄像头、USD 场景、物体和照明。

@configclass
class AssembleTrocarSceneCfg(InteractiveSceneCfg):
    """Scene configuration for the assemble_trocar task."""
 
    robot: ArticulationCfg = G1RobotPresets.g1_29dof_dex3_base_fix(...)
    front_camera = CameraPresets.g1_front_camera(...)
    left_wrist_camera = CameraPresets.left_dex3_wrist_camera(...)
    right_wrist_camera = CameraPresets.right_dex3_wrist_camera(...)
 
    scene = AssetBaseCfg(..., spawn=UsdFileCfg(usd_path="..."))
    trocar_1 = RigidObjectCfg(..., spawn=UsdFileCfg(usd_path="..."), init_state=...)
    trocar_2 = RigidObjectCfg(..., spawn=UsdFileCfg(usd_path="..."), init_state=...)
    tray = ArticulationCfg(..., spawn=UsdFileCfg(usd_path="..."), init_state=..., actuators={})
   light = AssetBaseCfg(..., spawn=sim_utils.DomeLightCfg(...))

在 Isaac Lab 中评估 Trocar 组件

第 2 步:获取专家体验

Rheo 使用适合每项任务的设备,将这种体验捕捉为仿真演示。

录制演示以进行操纵 (Meta Quest)

对于手术托盘拾放和病例推车等任务:

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/record_demos_localmanip.py \
    --dataset_file /datasets/demo.hdf5 \
    --num_demos 1 \
    --num_success_steps 50 \
    --enable_pinocchio \
    --enable_cameras \
    --xr \
    --teleop_device motion_controllers \
    g1_locomanip_tray_pick_and_place \
    --object surgical_tray \
    --embodiment g1_wbc_pink

关键设计点:记录数据的相同运行器也与之后的合成生成保持一致 (--mimic) ,减少格式漂移。

录制精确手动操作的演示 (Meta Quest)

对于 Assemble Trocar 任务 ( GR00T N1.5 微调/ RL 后训练轨道) :

./workflows/rheo/docker/run_docker.sh -g1.5 \
  python scripts/sim/record_demos_assemble_trocar.py \
    --task Isaac-Assemble-Trocar-G129-Dex3-Teleop \
    --teleop_device motion_controllers \
    --enable_pinocchio \
    --enable_cameras \
    --num_demos 1 \
    --xr

第 3 步:倍增合成数据使用体验

在您进行了少量成功的演示后,提高覆盖率的最快方法就是系统地实现多样化。

Rheo 支持使用 Isaac Lab Mimic/ SkillGen 式工作流生成仿真驱动的合成数据,用于本地操作任务。

3a) 回放演示 (完整性检查)

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/replay_demos.py \
    --dataset_file /datasets/demo.hdf5 \
    --enable_cameras \
    g1_locomanip_tray_pick_and_place \
    --object surgical_tray \
    --embodiment g1_wbc_pink

3b) 标注演示 (为生成做好准备)

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/annotate_demos.py \
    --input_file /datasets/demo.hdf5 \
    --output_file /datasets/demo_annotated.hdf5 \
    --enable_cameras \
    --mimic \
    g1_locomanip_tray_pick_and_place \
    --object surgical_tray \
    --embodiment g1_wbc_pink

3c) 生成更大的合成数据集

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/generate_dataset.py \
    --enable_cameras \
    --mimic \
    --num_steps 150 \
    --headless \
    --input_file /datasets/demo_annotated.hdf5 \
    --output_file /datasets/demo_generated.hdf5 \
    --generation_num_trials 10 \
    g1_locomanip_tray_pick_and_place \
    --object surgical_tray \
    --embodiment g1_wbc_pink

如果您标注了多个来源,则可以对其进行合并:

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/merge_demos.py \
    --input /datasets/demo_annotated*.hdf5 \
    --output /datasets/demo_merged.hdf5

3d) 转换为 LeRobot 格式 (用于下游训练工具)

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/utils/convert_hdf5_to_lerobot.py \
    --config scripts/config/g1_locomanip_dataset_config.yaml

借助生成式传输实现跨场景泛化

Isaac for Healthcare v0.5 包含一个教程,该教程引用了 Cosmos Transfer 2.5+ 引导生成来增强训练数据。在随附的手术托盘拾放基准测试快照 (四个场景的成功率) 中,Cosmos 增强模型提高了场景切换的鲁棒性:

模型 场景 1 场景 2 场景 3 场景 4
基础模型 0.64 0.31 0.00 0.00
Cosmos 增强模型 0.60 0.49 0.37 0.30

实际要点:域偏移是在医院环境中训练机器人的关键推动因素,医院环境中的照明、杂乱无章、房间几何图形等都有不同的模式。借助合成多样化,您可以在迭代成本低廉的情况下更早地强调这些变化。

第 4 步:训练物理 AI 策略

Rheo 支持两种互补训练路径:

  1. 监督式微调 (SFT) of GR00T 模型在精选数据集上
  2. 在线 RL 后训练 (通过 RL 基础设施进行近端策略优化,或通过 RLinf 进行 PPO) ,以在生产线上推进硬精度阶段

4a) GR00T 微调 (切入点:launch_finetune.py)

如需微调自定义具身,GR00T 文档将 gr00t/experiment/launch_finetune.py 用作切入点 (请参阅微调自定义具身 (“NEW_EMBODIMENT”)

export NUM_GPUS=1
CUDA_VISIBLE_DEVICES=0 python \
  gr00t/experiment/launch_finetune.py \
  --base-model-path nvidia/GR00T-N1.6-3B \
  --dataset-path <your-lerobot-v2-dataset> \
  --embodiment-tag NEW_EMBODIMENT \
  --modality-config-path <your-modality-config>.py \
  --num-gpus $NUM_GPUS \
  --output-dir <output-dir> \
  --save-steps 2000 \
  --max-steps 2000

Rheo 提供特定于任务的模态定义:

  • 运动/ 操纵: custom_g1_locomanip_modality_config.py (一个 --modality-config-path 模块,使用 ego_view 视频以及 G1 状态/ 操作键 (包括导航命令) 注册新的 EMBODIMENT 模式配置) 。
  • 操作 (Assemble Trocar): gr00t_config.py (定义 UnitreeG1SimDataConfig—trocar 数据集的视频/ 状态/ 动作键和 transforms—用于 trocar 微调和 RL 后训练工作流程) 。

4b) 用于精度阶段的在线 RL 后训练 (通过 RLinf 实现 PPO)

对于 Assemble Trocar,Rheo 提供了一个一站式启动程序:

bash /workspaces/workflows/rheo/scripts/sim/rl/train_gr00t_assemble_trocar.sh train \
  --model_path /models/<your_gr00t_checkpoint>

您可以扩展并行环境或降低内存偏移:

# scale up/down environments
bash /workspaces/workflows/rheo/scripts/sim/rl/train_gr00t_assemble_trocar.sh train \
  --model_path /models/<your_gr00t_checkpoint> \
  env.train.total_num_envs=32 env.eval.total_num_envs=4
   
# low-memory configuration
bash /workspaces/workflows/rheo/scripts/sim/rl/train_gr00t_assemble_trocar.sh train \
  --model_path /models/<your_gr00t_checkpoint> \
  env.train.total_num_envs=8 actor.micro_batch_size=2

Rheo 的 RL 教程将“Assemble Trocar” (汽车组装) 分解为四个阶段 (提升+ 对齐+ 插入+ 放置) ,并报告在完成 RL 课程后的后期训练后,在更高难度的阶段获得了巨大的收益:

模型 第 1 阶段 第 1+ 2 阶段 第 1+ 2+ 3 阶段 阶段 1+ 2+ 3+ 4
基础模型 (SFT) 83% 72% 32% 29%
RL 后训练阶段 1 100%
RL 后训练阶段 2 92%
RL 后训练阶段 3 85%
RL 后训练阶段 4 82%

第 5 步:部署前验证

5a) 任务级评估 (示例)

组装 Trocar 评估 ( GR00T N1.5,具有可选的 RL 检查点行为补丁) :

./workflows/rheo/docker/run_docker.sh -g1.5 \
  python -u -m sim.examples.eval_assemble_trocar \
    --enable_cameras \
    --task Isaac-Assemble-Trocar-G129-Dex3-Joint \
    --model_path /models/GR00T-N1.5-RL-Rheo-AssembleTrocar \
    --rl_ckpt \
    --num_episodes 10 \
    --max_steps 500

手术托盘拾放评估 ( GR00T 闭环) :

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/examples/policy_runner.py \
    --policy_type gr00t_closedloop \
    --policy_config_yaml_path scripts/config/g1_gr00t_closedloop_pick_and_place_config.yaml \
    --num_steps 15000 \
    --enable_cameras \
    --success_hold_steps 150 \
    g1_locomanip_tray_pick_and_place \
    --object surgical_tray \
    --embodiment g1_wbc_joint

机箱购物车推送评估:

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/examples/policy_runner.py \
    --policy_type gr00t_closedloop \
    --policy_config_yaml_path scripts/config/g1_gr00t_closedloop_push_cart_config.yaml \
    --num_steps 20000 \
    --enable_cameras \
    --success_hold_steps 45 \
    g1_locomanip_push_cart \
    --object cart \
    --embodiment g1_wbc_joint

5b) 端到端集成烟雾测试 (WebRTC+ 触发器 API)

作为系统级检查,Rheo 提供了一个运行器,用于 (1) 通过 WebRTC 流式传输摄像头观察结果,以及 (2) 公开触发器端点,以便外部编排器决定何时执行动作。

./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/sim/examples/triggered_policy_runner.py \
    --enable_cameras \
    --webrtc_cam \
    --webrtc_host 0.0.0.0 \
    --webrtc_port 8080 \
    --webrtc_fps 30 \
    --trigger_port 8081 \
    --trigger_host 0.0.0.0 \
    g1_locomanip_tray_pick_and_place \
    --object surgical_tray \
    --embodiment g1_wbc_joint

要将基于 VLM 的数字智能体 UI 附加到此流中,请执行以下操作:

./tools/env_setup/install_vlm_surgical_agent_fx.sh

然后打开http://127.0.0.1:8050并将 UI 直播连接到 WebRTC 服务器 (例如http://localhost:8080) 。

开始使用

要开始使用 Project Rheo 进行构建,请执行以下操作:

  • 搭建 Isaac Sim 环境
  • 导入或重建医院空间
  • 录制一个专家工作流程
  • 生成合成变体
  • 在 Isaac Lab 中训练简单策略
  • 运行验证场景

从小处着手。一个房间。一项任务。一个机器人。

工作流程由此自然扩展。

医疗健康机器人正在从静态设备转向自主学习系统。Rheo 项目将医院转变为持续的训练环境,使系统能够在与患者互动之前进行学习和适应。

是时候构建了。立即开始使用 Project Rheo Blueprint 构建新一代医疗 AI。

精选图片来源/ PeritasAi

 

 

 

 

标签