Skip to content

Visualizing AgileBot Robot Models in Isaac Sim

This tutorial will guide you through loading and displaying AgileBot robot models in NVIDIA Isaac Sim.

GBT-C5A Robot

Prerequisites

Make sure you have completed the Isaac Sim Environment Configuration.

Loading Robot Models

Method 1: Loading Using Python Script

python
#!/usr/bin/env python3
"""
Simplest USD Display Example - Using Isaac Sim Default Ground Plane
Load and display the specified USD file directly
"""

import sys
import os

# Specify USD file path directly (please modify to your file path)
USD_PATH = "/home/gbt/ws/usd/gbt-c5a/gbt-c5a.usd"  # Modify to your USD file path

# Check if file exists
if not os.path.exists(USD_PATH):
    print(f"Error: File not found: {USD_PATH}")
    print("Please modify the USD_PATH variable in the script to the correct file path")
    sys.exit(1)

try:
    # Start Isaac Sim
    from isaacsim import SimulationApp

    # Create simulation application (display window)
    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

    # Create new stage
    stage_utils.create_new_stage()

    # Add ground plane (Isaac Sim official API)
    print("Adding default ground plane...")
    GroundPlane(prim_path="/World/defaultGroundPlane", z_position=0)

    # Add lighting
    print("Adding environment lighting...")
    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)

    # Add USD file to stage
    print(f"Loading: {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("Warning: Unable to load USD file")
    else:
        print("USD file loaded successfully!")

    # Play simulation
    timeline = omni.timeline.get_timeline_interface()
    timeline.play()

    print("Model displayed, press Ctrl+C to exit...")
    # Keep running
    while simulation_app.is_running():
        simulation_app.update()

except ImportError as e:
    print(f"Import error: {e}")
    print("Please ensure Isaac Sim is correctly installed and configured")
    sys.exit(1)
except KeyboardInterrupt:
    print("\nExiting...")
except Exception as e:
    print(f"Runtime error: {e}")
    sys.exit(1)

Method 2: Loading Using Isaac Sim GUI

  1. Start Isaac Sim GUI
  2. Navigate to the folder downloaded in the previous chapter using menu File->open
  3. Open the corresponding USD file

Supported Robot Models

AgileBot Isaac Sim supports the following robot models:

ModelDescriptionUSD File Name
gbt-c5a5kg payload collaborative robotgbt_c5a.usd
gbt-c7a7kg payload collaborative robotgbt_c7a.usd
gbt-c12a12kg payload collaborative robotgbt_c12a.usd
gbt-c16a16kg payload collaborative robotgbt_c16a.usd

FAQ

Q: Robot USD file fails to load

A: Please check if the USD file path is correct

Q: Robot appears gray or missing textures

A: Ensure the USD file contains correct materials and texture references. Check if the asset directory structure is complete.

Next Steps

After successfully loading the robot model, you can try the following examples: