Skip to content

在 Isaac Sim 中显示捷勃特机器人模型

本教程将指导您如何在 NVIDIA Isaac Sim 中加载和显示捷勃特机器人模型。

GBT-C5A 机器人

前置条件

确保您已经完成了 Isaac Sim 环境配置

加载机器人模型

方法 1:使用 Python 脚本加载

python
#!/usr/bin/env python3
"""
最简单的 USD 显示示例 - 使用 Isaac Sim 默认地面
直接加载指定的 USD 文件并显示
"""

import sys
import os

# 直接指定 USD 文件路径(请修改为你的文件路径)
USD_PATH = "/home/gbt/ws/usd/gbt-c5a/gbt-c5a.usd"  # 修改为你的 USD 文件路径

# 检查文件是否存在
if not os.path.exists(USD_PATH):
    print(f"错误:文件不存在:{USD_PATH}")
    print("请修改脚本中的 USD_PATH 变量为正确的文件路径")
    sys.exit(1)

try:
    # 启动 Isaac Sim
    from isaacsim import SimulationApp

    # 创建模拟应用(显示窗口)
    simulation_app = SimulationApp({"headless": False})

    import isaacsim.core.experimental.utils.stage as stage_utils
    import omni.timeline
    from isaacsim.core.api.objects.ground_plane import GroundPlane

    # 创建新舞台
    stage_utils.create_new_stage()

    # 添加地面 (Isaac Sim 官方 API)
    print("正在添加默认地面...")
    GroundPlane(prim_path="/World/defaultGroundPlane", z_position=0)

    # 添加光照
    print("正在添加环境光照...")
    from pxr import Sdf, UsdLux
    import omni.usd

    stage = omni.usd.get_context().get_stage()
    distantLight = UsdLux.DistantLight.Define(stage, Sdf.Path("/DistantLight"))
    distantLight.CreateIntensityAttr(1500)

    # 添加 USD 文件到舞台
    print(f"正在加载:{USD_PATH}")
    usd_prim = stage_utils.add_reference_to_stage(
        usd_path=USD_PATH, path="/World/gbt_c5a"
    )
    usd_prim.GetVariantSet("Gripper").SetVariantSelection("None") # without gripper

    if usd_prim is None:
        print("警告:无法加载 USD 文件")
    else:
        print("USD 文件加载成功!")

    # 播放模拟
    timeline = omni.timeline.get_timeline_interface()
    timeline.play()

    print("模型已显示,按 Ctrl+C 退出...")
    # 保持运行
    while simulation_app.is_running():
        simulation_app.update()

except ImportError as e:
    print(f"导入错误:{e}")
    print("请确保 Isaac Sim 已正确安装和配置")
    sys.exit(1)
except KeyboardInterrupt:
    print("\n正在退出...")
except Exception as e:
    print(f"运行时错误:{e}")
    sys.exit(1)

方法 2:使用 Isaac Sim GUI 加载

  1. 启动 Isaac Sim GUI
  2. 菜单 File->open 导航到上一章节下载的文件夹
  3. 打开对应的 usd 文件

支持的机器人型号

Agilebot Isaac Sim 支持以下机器人型号:

型号描述USD 文件名
gbt-c5a5kg 负载协作机器人gbt_c5a.usd
gbt-c7a7kg 负载协作机器人gbt_c7a.usd
gbt-c12a12kg 负载协作机器人gbt_c12a.usd
gbt-c16a16kg 负载协作机器人gbt_c16a.usd

常见问题

Q: 机器人 USD 文件无法加载

A: 请检查 USD 文件路径是否正确

Q: 机器人显示为灰色或缺少纹理

A: 确保 USD 文件包含正确的材质和纹理引用。检查资产目录结构是否完整。

下一步

成功加载机器人模型后,您可以尝试以下示例: