isaac-patterns
NVIDIA Isaac Sim and Isaac ROS integration patterns for Physical AI applications.
When & Why to Use This Skill
This Claude skill provides specialized integration patterns for NVIDIA Isaac Sim and Isaac ROS, designed to accelerate the development of Physical AI applications. It bridges the gap between simulation and reality by offering structured templates for USD scene organization, hardware-accelerated perception pipelines, and automated sim-to-real workflows, ensuring optimal performance on NVIDIA Jetson and RTX platforms.
Use Cases
- Designing scalable USD-based simulation environments for humanoid and mobile robots with proper physics and sensor integration.
- Implementing high-performance VSLAM and perception pipelines using Isaac ROS nodes for real-time navigation on Jetson Orin.
- Developing sim-to-real strategies using Python-based domain randomization to improve the robustness of AI models in unpredictable real-world environments.
- Optimizing hardware resource allocation and VRAM usage for complex, ray-traced robotic simulations.
| name | isaac-patterns |
|---|---|
| description | NVIDIA Isaac Sim and Isaac ROS integration patterns for Physical AI applications. |
Isaac Sim USD Scene Structure
Asset Organization (Universal Scene Description)
/World
├── /Environment
│ ├── /Ground_Plane (physics material: friction 0.8)
│ ├── /Obstacles (procedurally generated for domain randomization)
│ └── /Lighting
│ ├── /DomeLight (HDRI environment map)
│ └── /DistantLight (sun simulation)
├── /Robot
│ ├── /Humanoid (USD reference to robot asset)
│ ├── /Sensors
│ │ ├── /Camera_RGB (1920x1080, 60 FPS)
│ │ ├── /Camera_Depth (640x480, 30 FPS)
│ │ └── /Lidar (360°, 0.1° resolution)
│ └── /ActionGraph (OmniGraph for ROS 2 bridge)
└── /PhysicsScene (gravity: -9.81 m/s², time step: 1/60s)
Isaac ROS VSLAM Pipeline
Hardware-Accelerated Workflow
RealSense D435i → isaac_ros_visual_slam → nav2_map_server → nav2_planner → cmd_vel
↓ (CUDA accelerated)
Pose Estimation (30-60 FPS on Jetson Orin)
Key Isaac ROS Nodes
- visual_slam:
isaac_ros_visual_slam(NOT ORB-SLAM2, NOT RTAB-Map) - stereo_matching:
isaac_ros_ess(Enhanced Semi-Global Matching, GPU-based) - object_detection:
isaac_ros_dnn_inference(TensorRT optimized)
Performance Expectations (Jetson Orin Nano)
- VSLAM: 30-60 FPS (vs 5-10 FPS on CPU-based SLAM)
- Object Detection: 30 FPS (YOLOv5 with TensorRT)
- Depth Estimation: 30 FPS (ESS model)
Isaac Sim Python API Patterns
Create Scene Programmatically
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.objects import DynamicCuboid
# Add ground plane
stage_utils.add_ground_plane()
# Spawn robot
robot_prim_path = "/World/Robot"
stage_utils.add_reference_to_stage(
usd_path="omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Unitree/unitree_g1.usd",
prim_path=robot_prim_path
)
# Add camera sensor
from omni.isaac.sensor import Camera
camera = Camera(prim_path=f"{robot_prim_path}/camera", position=[0, 0, 1.5])
camera.initialize()
Domain Randomization for Sim-to-Real
from omni.isaac.core.utils.stage import randomize_shader_properties
# Randomize material properties every episode
randomize_shader_properties(
prim_path="/World/Environment",
parameters=["inputs:roughness", "inputs:metallic"],
ranges=[(0.1, 0.9), (0.0, 1.0)]
)
RTX VRAM Allocation (Isaac Sim 4.x)
- Base Sim: 4-6 GB
- Robot Asset (Humanoid): 1-2 GB
- Ray Tracing: 3-4 GB
- Physics: 2-3 GB
- Total: 10-15 GB → 12GB minimum, 24GB recommended