NVIDIA Isaac Sim Documentation

repository·main·Indexed 25 days ago

https://github.com/isaac-sim/isaacsim

A high-fidelity simulation platform built on NVIDIA Omniverse for developing, testing, and training AI-powered robots. It features GPU-accelerated physics, RTX rendering, and workflows for synthetic data generation and reinforcement learning. The documentation covers source installation for Linux and Windows, Python wheel and standalone binary packaging, Docker build environments, and specialized tools like the USD to URDF exporter and the Conveyor Belt Sample using NVIDIA Warp.

Tokens
246.6K
Snippets
354
Records
1.4K
Agent score
87%

What's inside NVIDIA Isaac Sim

  1. Overview of the omni.pip.compute extension

    main

    The omni.pip.compute extension provides essential general-purpose compute packages required by Isaac Sim extensions. It bundles libraries such as OpenCV (cv2) and other tools used for image processing and numerical computation.

    Because it is loaded early in the extension startup sequence, it ensures that these dependencies are available before other extensions attempt to initialize and use them.

  2. Overview of isaacsim.ros2.core

    main
    The isaacsim.ros2.core extension is the foundational C++ backend for ROS 2 integration in Isaac Sim. It provides the Ros2Bridge Carbonite plugin interface, manages per-distribution factory libraries (e.g., Humble, Jazzy), and supplies Python utilities for environment setup, camera information, and namespace collection. All other ROS 2 bridge extensions, such as isaacsim.ros2.bridge, depend on this core extension.
  3. Overview of MobilityGen Synthetic Data Generation

    main

    MobilityGen is a two-phase pipeline for generating synthetic sensor datasets for mobile robots.

    1. Phase 1: Automated Trajectory Recording (Headless): Records physics-based trajectories without rendering to save time.
    2. Phase 2: Replay & Render: Replays the recorded trajectories with sensors enabled to generate RGB, depth, segmentation, normals, and pose data.

    Use this skill when you need robot-trajectory-driven training data. It is distinct from data-collection-sim, which is used for static-scene SDG with randomized object/camera poses but no robot motion.

  4. Overview of the Episode Recorder extension

    main

    The isaacsim.replicator.episode_recorder extension is a manifest-first HDF5 recorder and replayer. It allows you to capture simulation state per-episode and replay that state back onto a live USD stage.

    It uses a plugin-based architecture via the Recordable protocol. Every recorded channel (such as articulation DOFs, rigid-body velocities, camera intrinsics, or simulation time) is implemented as a Recordable that declares its schema, samples data every tick, and applies it during replay. All metadata is round-tripped through a JSON manifest stored within the HDF5 file.

  5. Overview of isaacsim.core.nodes functionality

    main

    The isaacsim.core.nodes extension provides OmniGraph nodes for Isaac Sim workflows. It serves as the computational backbone for synthetic data generation and robotics simulation.

    Key Capabilities:

    • Articulation Control & Physics: Handling physics step events and simulation timing.
    • Annotator Registration: Automatic registration of time-based annotators, camera info readers, world pose readers, and image conversion utilities (e.g., RGBA to RGB).
    • Data Processing: Utilities for depth-to-point-cloud conversion and simulation gates to control data flow.
    • Viewport & Camera Management: Reading camera information and managing viewports.

    Technical Implementation:

    • The nodes are implemented as a C++ Carbonite plugin (isaacsim::core::nodes::CoreNodes) for high performance.
    • Python bindings are exposed via the _isaacsim_core_nodes module.
    • Integrates with omni.replicator.core and omni.graph.
  6. Overview of the isaacsim.ucx.bridge extension

    main
    The isaacsim.ucx.bridge extension enables high-performance, low-latency communication for distributed simulation scenarios in Isaac Sim. It acts as an integration layer that combines UCX (Unified Communication X) networking infrastructure with node-based processing components to facilitate efficient data transfer between distributed Isaac Sim instances.
  7. Overview of the Core Experimental API

    main

    The Core Experimental API (provided via isaacsim.core.experimental.* extensions) is a rewritten implementation of the standard Isaac Sim Core API. It is designed to be more robust and flexible, moving towards a Warp-based implementation for numeric data.

    Key improvements include:

    • Warp-based implementation: Uses Warp arrays (CPU/GPU) for numeric data containers instead of NumPy or Torch. Methods return Warp arrays and support input from Python basic types, lists, or NumPy arrays.
    • View wrappers: All wrappers support wrapping one or more USD prims (e.g., shapes, meshes, lights, materials). There are no single-prim wrappers in this API.
    • Automatic conversion: Supports automatic device, dtype, and broadcasting (following NumPy rules) for input data.
    • Backend selection: Supports multiple backends (usd, usdrt, fabric, tensor) with a fallback mechanism.

    Note: This API is experimental and subject to change without deprecation cycles. It is intended to eventually replace the current Core API.

  8. Overview of Isaac Sim Replicator NuRec Utils

    main

    The isaacsim.replicator.nurec_utils module is an experimental toolkit designed for rendering and validating NuRec (neural reconstruction) USD assets within Isaac Sim. It is primarily used for validation, regression testing, and debugging workflows that require rendering NuRec assets from specific camera views and comparing them against reference imagery.

    Warning: This module is experimental. APIs, CLI behavior, supported formats, and output file structures are subject to change and are not guaranteed to be future-compatible.

  9. Overview of Conveyor Belt Sample Files

    main

    The sample is composed of several specialized modules:

    FileDescription
    cb_app.pyApplication entry point. Manages the World, simulation loop, and CUDA graph capture.
    cb_scene.pyBuilds the conveyor circuit scene and registers velocity fields and rigid bodies.
    cb_scene_building_utils.pyHelpers for USD geometry and rigid body prim configuration.
    cb_actuators.pyContains VelocityFieldActuator, which runs the Warp kernel for tangential force/torque computation.
    cb_kernels.pyDefines Warp kernels for data preparation, patch assignment, and normal force redistribution.
    cb_conveyor_belt_manager.pyConveyorBeltManager for registering conveyor belt prims and properties.
    cb_body_manager.pyBodyManager for managing transported rigid bodies and their data.
    cb_material_pair_manager.pyMaterialPairManager for defining friction coefficients via material indices.
    cb_visualizers.pyVelocityFieldVisualizer for debugging belt speeds/directions via debug-draw.
    cb_utils.pyGeneral utility functions.
  10. Overview of Holoscan Sensor Bridge Core (isaacsim.hsb.core)

    main

    The isaacsim.hsb.core extension serves as the backend library for the Holoscan Sensor Bridge (HSB). It provides the core infrastructure for managing sensor data transmission and format conversion.

    Key components include:

    • HSBSender: Manages the lifecycle of the HSB emulator and handles the transmission of DLTensor data across two supported data planes: Linux (RoCEv2) or COE (IEEE 1722B).
    • RGBToVB1940 CUDA kernels: Provides GPU-accelerated conversion of RGB images into the VB1940 CSI RAW10 format.
    • Carbonite plugin: Provides the IHsbCore interface, which enables Python bindings for the core functionality.

    This extension is a required dependency for isaacsim.hsb.nodes and isaacsim.hsb.bridge.

  11. Overview of isaacsim.test.collection testing framework

    main
    The isaacsim.test.collection extension provides a comprehensive integration testing framework for Isaac Sim. It is designed to validate cross-system functionality and core capabilities rather than testing isolated extensions. It ensures that robot simulations, physics engines, rendering components, and various subsystems work correctly in concert.