首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >医院机器人仿真与AI训练技术蓝图

医院机器人仿真与AI训练技术蓝图

原创
作者头像
用户11764306
发布2026-05-25 22:28:12
发布2026-05-25 22:28:12
890
举报

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

2026年3月16日

作者:Mingxin Zheng, Nic Ma and Mostafa Toloui

AI生成摘要

Project Rheo提供了一个通过使用NVIDIA Isaac Sim和Isaac Lab构建的高保真数字孪生来模拟和自动化医院工作流程的蓝图。它能够在物理部署前,为物理和数字代理实现快速原型设计、压力测试和策略学习。该工作流程涵盖环境组合、专家演示捕捉,以及为移动操作和精密双手操作任务生成大规模合成数据,并利用NVIDIA Isaac GR00T视觉-语言-动作模型和强化学习来实现在不同医院场景下的鲁棒泛化。开发者可以使用监督学习和在线强化学习(例如通过RLinf的PPO算法)对策略进行微调和后训练,通过任务级和端到端集成测试进行验证,并利用域随机化和生成式迁移来确保对现实医院环境变化的适应性。

医疗行业面临的挑战与仿真技术的必要性

医疗保健行业正面临结构性的需求-能力危机:预计到2030年,全球临床医生缺口约为1000万;每年有数十亿的诊断检查需求未能得到满足;数亿个手术存在巨大的可及性差距;以及成本高昂的手术室低效问题(每分钟损失数十美元)。因此,未来的医院必须能够实现自动化——通过机器人技术扩展临床医生的能力,提高手术吞吐量,减少 variability,并使高质量护理的获取更加普及。想象一下,自主成像机器人在患者解剖结构中导航,为数十亿得不到服务的人群提供X光服务;同时在手术室里,“手术子任务自动化”处理重复的缝合工作,让外科医生能专注于关键决策。在病床之外,服务机器人通过自主运送物资来挽回被浪费的每一分钟,为护士节省数英里的行走路程。

数据缺口与现实世界的限制

核心瓶颈在于数据。医院是异构、混乱且高风险的环境——每家机构都有不同的布局、工作流程、设备、患者群体和规章制度。在不同医院中部署机器人团队来收集详尽的现实世界数据,在经济和操作上都是不可行的。即使可能,覆盖所有边缘情况(拥挤的走廊、紧急中断、罕见并发症、压力下的人机交互)的现实世界数据也根本不存在。在真实的临床环境中测试每一个场景既不安全也不现实。解决方案就是仿真、数字孪生和合成数据生成。

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

开发者如何使用Project Rheo蓝图训练AI系统

开发者现在可以在自动化到来之前,先在仿真环境中“训练医院”。

本指南将引导开发者如何使用Project Rheo蓝图构建他们的第一个智能医院数字孪生,并开始训练物理AI系统。

Project Rheo是一个面向智能医院自动化和物理AI开发的蓝图,它结合了以下要素:

  • 物理代理:移动操作和操作策略(例如,手术托盘取放、病例车推运、双手工具操作),由NVIDIA Isaac GR00T视觉-语言-动作模型和/或强化学习后训练驱动。
  • 数字代理:由手术基础模型驱动的监控和辅助代理(例如,由视觉语言模型驱动的代理,观察实时摄像头流并建议操作)。
  • 数字孪生与SimReady资产:使用NVIDIA Isaac Sim / Isaac Lab构建的手术室仿真,用于安全地迭代任务、数据和策略。

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

  • Isaac Lab-Arena路径:用于手术室规模任务(例如移动操作)的快速环境组合和迭代,您可以轻松地切换场景、对象、实体和评估运行器。
  • Isaac Lab路径:以任务为中心的、基于管理器的环境,自然与课程设计和用于精密操作的大规模强化学习后训练相结合。

在下一节中,“数字医院”将使用Isaac Lab-Arena组合模型构建:选择指定资产,选择实体,附加任务,然后运行。

步骤1:创建您的数字医院

将场景和任务组合成一个Isaac Lab-Arena环境

Rheo蓝图的核心特性之一是使用Isaac Lab-Arena模型快速组合新环境和任务。这允许开发者通过组合现有资产、机器人实体和任务定义来快速定义临床场景。

下面的Python代码块演示了如何定义一个移动操作任务——具体来说,让Unitree G1机器人在一个术前房间场景中拿起一个手术托盘并将其放在推车上。

代码语言:python
复制
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. 定义场景组件(USD资产)
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. 定义机器人实体
embodiment = asset_registry.get_asset_by_name("g1_wbc_joint")(enable_cameras=True)

# 3. 组合场景
scene = Scene(assets=[background, pick_up_object, destination_cart])

# 4. 通过组合实体、场景和任务来创建环境
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进行精密操作

对于精密的、多阶段的双手操作任务(例如,组装套管针),Rheo使用一个聚焦的Isaac Lab路径,其中手术室孪生被明确定义为一个场景配置:机器人、摄像头、USD场景、对象和照明。

代码语言:python
复制
@configclass
class AssembleTrocarSceneCfg(InteractiveSceneCfg):
    """为 assemble_trocar 任务配置场景。"""

    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(...))

步骤2:捕捉专家经验

Rheo通过在仿真中使用适合每个任务的设备来捕捉这些经验作为演示。

为移动操作录制演示

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

代码语言:bash
复制
./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

关键设计点:录制数据的同一个运行器也与后续的合成生成对齐,减少了格式差异。

为精密双手操作录制演示

对于“组装套管针”任务:

代码语言:bash
复制
./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) 回放演示
代码语言:bash
复制
./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) 标注演示
代码语言:bash
复制
./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) 生成更大的合成数据集
代码语言:bash
复制
./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

如果有多个标注源,可以合并它们:

代码语言:bash
复制
./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格式
代码语言:bash
复制
./workflows/rheo/docker/run_docker.sh -g1.6 \
  python scripts/utils/convert_hdf5_to_lerobot.py \
    --config scripts/config/g1_locomanip_dataset_config.yaml
通过生成式迁移实现跨场景泛化

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支持两种互补的训练路径:

  • 在精选数据集上对GR00T模型进行监督微调。
  • 在线强化学习后训练,以攻克困难的精密操作阶段。
4a) GR00T微调
代码语言:bash
复制
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
  • 操作(组装套管针)gr00t_config.py
4b) 精密阶段的在线强化学习后训练

对于“组装套管针”任务,Rheo提供一个即用型启动器:

代码语言:bash
复制
bash /workspaces/workflows/rheo/scripts/sim/rl/train_gr00t_assemble_trocar.sh train \
  --model_path /models/<your_gr00t_checkpoint>

可以调整并行环境数量或为内存降低配置:

代码语言:bash
复制
# 增加/减少环境数量
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

# 低内存配置
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的强化学习教程将“组装套管针”分解为四个阶段,并报告了在课程式强化学习后训练后,后期困难阶段的大幅提升:

模型

阶段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) 任务级评估示例

组装套管针评估

代码语言:bash
复制
./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

手术托盘取放评估

代码语言:bash
复制
./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

病例车推运评估

代码语言:bash
复制
./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) 端到端集成冒烟测试

作为系统级检查,Rheo提供了一个运行器,它可以:(1) 通过WebRTC流式传输摄像头观察数据,(2) 暴露一个触发器端点,以便外部编排器决定何时执行操作。

代码语言:bash
复制
./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

要将基于视觉语言模型的数字代理用户界面附加到此流:

代码语言:bash
复制
./tools/env_setup/install_vlm_surgical_agent_fx.sh

然后打开 http://127.0.0.1:8050 并将UI直播流连接到WebRTC服务器。

开始使用

开始使用Project Rheo构建:

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

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

工作流程自然会从此扩展。医疗机器人正超越静态设备,迈向自主、学习型系统。Project Rheo将医院转变为持续的训练环境,使系统能够在与患者交互之前就进行学习和适应。

现在是构建的时候了。立即使用Project Rheo蓝图开始设计您的下一代医疗AI。FINISHED

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用仿真技术为医院自动化构建机器人系统
    • AI生成摘要
    • 医疗行业面临的挑战与仿真技术的必要性
    • 数据缺口与现实世界的限制
    • 开发者如何使用Project Rheo蓝图训练AI系统
    • 步骤1:创建您的数字医院
      • 将场景和任务组合成一个Isaac Lab-Arena环境
      • 通过Isaac Lab进行精密操作
    • 步骤2:捕捉专家经验
      • 为移动操作录制演示
      • 为精密双手操作录制演示
    • 步骤3:通过合成数据倍增经验
      • 3a) 回放演示
      • 3b) 标注演示
      • 3c) 生成更大的合成数据集
      • 3d) 转换为LeRobot格式
      • 通过生成式迁移实现跨场景泛化
    • 步骤4:训练物理AI策略
      • 4a) GR00T微调
      • 4b) 精密阶段的在线强化学习后训练
    • 步骤5:部署前验证
      • 5a) 任务级评估示例
      • 5b) 端到端集成冒烟测试
    • 开始使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档