Skip to content

j3soon/nvidia-isaac-summary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 

Repository files navigation

NVIDIA Isaac Summary

A list of NVIDIA Isaac components. [link]

Component Descriptions

  • Omniverse [link][docs]

    The platform for connecting and developing OpenUSD applications.

    -- NVIDIA Omniverse

    It is worth noting that Omniverse is a platform, and is not a standalone application. Therefore, the term Omniverse, should not be used to refer to a specific component, but to the entire platform. Technically speaking, there is no such thing as an Omniverse app/component in the entire software stack. For an example, Omniverse USD Composer (formerly Omniverse Create) and Omniverse USD Presenter (formerly Omniverse View) are apps built upon Omniverse Kit. They are software components that run on the Omniverse platform.

  • Isaac [link]

    The NVIDIA Isaac robotics platform includes a full suite of GPU-accelerated innovations in AI perception, manipulation, simulation, and software.

    -- NVIDIA Isaac

    Isaac stands as NVIDIA's GPU-accelerated solution for robotics, which refers to the robotics platform instead of a specific software component. Alongside essential tools for general AI applications (such as TensorRT, TAO Toolkit, and Triton Inference Server), NVIDIA Isaac components can be categorized into two main branches: (1) Isaac Sim (including Isaac Gym, Isaac Orbit, etc.) for simulation, which currently requires x86 CPUs and RTX GPUs for acceleration. (2) Isaac ROS for deployment, which can run on both PCs (x86 CPUs) and on Jetson hardware (ARM CPUs).

  • (Omniverse) Isaac Sim [link][docs][ngc][dli][dli][youtube]
    a robotics simulation toolkit based on Omniverse.

    a scalable robotics simulation application and synthetic data-generation tool that powers photorealistic, physically accurate virtual environments.

    -- NVIDIA Isaac Sim

    Before starting, please make sure your hardware and software meet the system requirements.

    Technically, Isaac Sim is an app built upon Omniverse Kit, which is a SDK for building apps upon the Omniverse platform. The simulation is accelerated by PhysX, while the scene is rendered through RTX rendering.

    Isaac Sim can be downloaded through Omniverse Launcher here:

    The assets are accessed through Omniverse Nucleus, which requires setting up a (local) Nucleus account. In addition, installing Omniverse Cache can speed up the access to Nucleus. If no custom assets are used, the built-in assets can be accessed through the default remote Nucleus server.

    • Isaac Sim Unity3D [docs]
      Unity3D support has been deprecated (source). The term Isaac Sim now refer to the Omniverse-based version.

      allows you to use Unity3D as the simulation environment for Isaac robotics.

      -- NVIDIA Isaac SDK

    • ROS & ROS 2 Bridges [docs][docs]

      tools to facilitate integration with ROS systems.

      -- NVIDIA Isaac Sim

    • Isaac Cortex [docs]
      A behavior programming tool.

      enables programming task awareness and adaptive decision making into robots, and easily switching between simulation and reality.

      -- NVIDIA Isaac Cortex (slightly rephrased)

    • Isaac Core API [docs]
      A Python abstraction API (for Pixar USD API).

      a set of APIs that are designed to be used in robotics applications, APIs that abstract away the complexity of USD APIs and merge multiple steps into one for frequently performed tasks.

      -- NVIDIA Isaac Core API

    • Isaac Sim Assets [docs]
      A collection of USD assets including environments, robots, sensors, props, and other featured assets.
    • other features such as OmniGraph, Importers, etc.
  • (Omniverse) Isaac Gym [docs][github]
    a light-weight repository based on Isaac Sim that provides a variety of GPU-accelerated reinforcement learning environments and algorithms.
    The repository is named as Omniverse Isaac Gym Environments (OIGE), and is released under the BSD 3-Clause License (source).

    an interface for performing reinforcement learning training and inferencing in Isaac Sim.

    -- NVIDIA Isaac Gym

    • Isaac Gym (Preview Release) [link][github][arxiv][site][youtube]
      the predecessor of (Omniverse) Isaac Gym that does not base on Isaac Sim (and Omniverse).
      The repository is named as Isaac Gym Environments (IGE), and is released under the BSD 3-Clause License (source). The documentation is provided in an offline form that can be accessed after download.

      NVIDIA’s physics simulation environment for reinforcement learning research.

      -- NVIDIA Isaac Gym

      The term Isaac Gym is ambiguous when viewed from a technical perspective. It's better to specify whether the mentioned Isaac Gym is based on Isaac Sim, or the preview version that does not base on Isaac Sim.

      Until Omniverse Isaac Gym functionality is feature complete, this standalone Isaac Gym Preview release will remain available.

      -- NVIDIA Isaac Gym

      The latest release of Isaac Gym (Preview Release) is Preview 4, and will not be further updated.

  • Isaac Orbit [docs][docs][arxiv][site][github]
    a general repository based on Isaac Sim that features a number of GPU-accelerated simulation environments, a variety of motion generators, integrations with several reinforcement learning libraries, utilities for imitation learning, etc.
    Released under the BSD 3-Clause License (source).

    a unified and modular framework for robot learning that aims to simplify common workflows in robotics research (such as RL, learning from demonstrations, and motion planning).

    -- NVIDIA Isaac Orbit

    Omniverse Isaac Gym is a light-weight framework focusing on reinforcement learning tasks, while Isaac Orbit is a more general and modular framework that focuses on robotics applications. (source, source)

    Personally, I think Isaac Orbit is preferred for general usages such as creating custom environments. However, if you are writing a research paper and just want to use built-in Omniverse Isaac Gym Environments for benchmarking, Omniverse Isaac Gym may be enough.

  • Isaac Robot Operating System (ROS) [link][github][docs]
    a collection of GPU-accelerated ROS2 packages (i.e., Isaac GEMs) and pipelines.

    a collection of hardware-accelerated packages that make it easier for ROS developers to build high-performance solutions on NVIDIA hardware.

    -- Isaac ROS

    In legacy robotics deployment systems, ROS1 is commonly used but lacks support for key use cases such as multi-robot systems, real-time systems, and production-ready environments. Therefore, ROS2 was developed to address these issues. However, using ROS2 can still present challenges, such as reproducibility across different systems and efficient GPU communication between ROS nodes. Isaac ROS, a collection of GPU-accelerated ROS2 packages and pipelines, addresses these challenges by (1) adopting a workflow based on the NVIDIA Container Toolkit (previously NVIDIA Docker) to ensure reproducibility across systems, allowing near-identical deployment experiences across systems with x86 and ARM CPUs, and (2) enabling efficient GPU communication between ROS nodes by reducing memory copies between GPUs and CPUs through NITROS.

    The term Isaac ROS refer to the packages for ROS 2, instead of Isaac SDK. Isaac ROS should not be confused with the ROS & ROS 2 Bridges in Isaac Sim, or the ROS Bridge in Isaac SDK.
    The packages (i.e., Isaac GEMs) are named as Isaac ROS <Package_Name>. Unfortunately, ambiguous terms such as Isaac Elbrus still exist (source). Since the Elbrus package exist in both Isaac ROS and Isaac SDK, Elbrus should be refered to as Isaac ROS Elbrus for preciseness.

    Before starting, please make sure your PC/Jetson hardware and software meet the system requirements. After checking the requirements, I suggest you start from the Nvblox tutorial below.

    • (Isaac ROS) Nvblox [github]

      processes depth and pose to reconstruct a 3D scene in real-time and outputs a 2D costmap for Nav2. The costmap is used in planning during navigation as a vision-based solution to avoid obstacles.

      -- Isaac ROS Nvblox

      You can quickly experience the power of Isaac ROS by simply following the the quick start guide of Nvblox.

      This packages includes the use of the Isaac ROS Visual SLAM package, which uses cuVSLAM as the underlying algorithm.

    • (Isaac ROS) NVIDIA Isaac for Transport for ROS (NITROS) [github]

      the NVIDIA implementation of type adaption and negotiation for ROS2 that eliminates software/CPU overhead and improves performance of hardware acceleration.

      -- Isaac ROS (slightly rephrased)

    • etc.

  • Isaac SDK [docs]
    a toolkit for deploying GPU-accelerated algorithms on physical robots.

    a toolkit that includes building blocks and tools that accelerate robot developments that require the increased perception and navigation features enabled by AI.

    -- NVIDIA Isaac SDK

    Personally, I suggest using Isaac ROS instead of Isaac SDK for simplicity. Since researchers/engineers working on robotics tend to be more familiar with the Robot Operating System (ROS) than the bazel command used in Isaac SDK. The Isaac GEMs and Isaac Applications included in Isaac SDK are also available in Isaac ROS.

    Isaac includes Isaac GEMs for both NVIDIA’s Isaac SDK Engine and ROS2. Isaac ROS has been more recently updated to contribute hardware acceleration to the growing ROS ecosystem. You can choose whichever one is more suitable for your project.

    -- NVIDIA Forum Moderator (slightly rephrased)

    The latest release of Isaac SDK is 2021.1, since the future roadmap of Isaac SDK is still under development (source, source, source, source).

    The Isaac Sight GUI also belongs to Isaac SDK.

    • Isaac GEMs

      a collection of high-performance algorithms, also called GEMs, to accelerate the development of challenging robotics applications.

      -- NVIDIA Isaac SDK

    • Isaac Applications

      provides various sample applications, which highlight features of Isaac SDK Engine or focus on the functionality of a particular Isaac SDK GEM.

      -- NVIDIA Isaac SDK

    • Isaac (Robotics) Engine

      a feature-rich framework for building modular robotics applications.

      -- NVIDIA Isaac SDK

  • Isaac Manipulator [link]

    a collection of foundation models and modular GPU-accelerated libraries that help build scalable and repeatable workflows for dynamic manipulation tasks by accelerating AI model training and task (re)programming. It’s revolutionizing how robotics software developers can leverage customized software components for specific tasks such as machine tending, assembly tasks, etc., enabling manipulation arms to seamlessly perceive and interact with their surroundings.

    -- NVIDIA Isaac Manipulator

    Personally, I think these GPU-accelerated packages would be released as Isaac ROS packages in the future. For an example, the cuRobo library may be packaged as a cuMotion ROS 2 package. This means we can expect more versatile and powerful Isaac ROS packages than currently released packages such as Isaac ROS Pose Estimation for manipulation tasks.

    The developer preview is planned for Q2, 2024. (source)

  • Isaac Perceptor [link]
    Formerly Isaac for AMRs and Isaac AMR.

    a collection of hardware-accelerated packages for visual AI, tailored for Autonomous Mobile Robot (AMR) to perceive, localize, and operate robustly in unstructured environments. Robotics software developers can now easily access turnkey AI-based perception capabilities, ensuring reliable operations and obstacle detection in complex scenarios.

    -- NVIDIA Isaac Perceptor

    Personally, I think these GPU-accelerated packages would be released as Isaac ROS packages in the future. This means we can expect more versatile and powerful Isaac ROS packages than currently released packages such as Isaac ROS Nvblox for navigation tasks.

    The developer preview is planned for Q2, 2024. (source)

    • Isaac Nova Orin [link]
      a reference architecture for AMRs based on NVIDIA Jetson AGX Orin.

      a state-of-the-art compute and sensor reference architecture to accelerate AMR development and deployment. It features up to two Jetson AGX Orin computers and a full sensor suite for next-gen AMRs that enable surround vision-based perception with lidar-based solutions.

      -- NVIDIA Isaac Nova Orin

    • Nova Carter [link] [spec]
      a reference design robot based on the Isaac Nova Orin architecture.

      a reference design robot that uses the Nova Orin compute and sensor architecture. It’s a complete robotics development platform that accelerates the development and deployment of next-generation Autonomous Mobile Robots (AMRs). You can learn more about it from our partner, Segway Robotics

      -- NVIDIA Isaac Nova Orin

  • Isaac AMR (before Isaac Perceptor) [link]

    Isaac AMR 2.0 features an autonomous navigation stack that includes lidar-based grid mapping, global and continuous localization, a global route planner, a mission client, a behavior planner, and wheel-IMU odometry, as well as a new path and trajectory planner and controller.

    This release also includes tools for data collection and a cloud-based map creation service. You can use the on-premises data center-based mission control for optimizing route planning with the NVIDIA cuOpt engine and delivering up-to-date maps to the robots.

    -- NVIDIA Isaac AMR

    Personally, I think Isaac AMR is an extension of Isaac SDK. This is based on the Isaac Sight UI screenshots in source, and I've noticed some Isaac SDK docs have been redirected/moved to Isaac AMR docs.

  • Isaac Lab [link]

    a lightweight reference application built on the Isaac Sim platform specifically optimized for robot learning and is pivotal for robot foundation model training. Isaac Lab optimizes for reinforcement, imitation, and transfer learning, and is capable of training all types of robot embodiments including the Project GR00T foundation model for humanoids.

    -- NVIDIA Isaac Lab

    Isaac Lab is built upon Isaac Sim. However, I'm not sure about its relationship with Omniverse Isaac Gym or Isaac Orbit yet.

  • OSMO [link]

    a cloud-native workflow orchestration platform that lets you easily scale your workloads across distributed environments—from on-premises to private and public cloud. It provides a single pane of glass for scheduling complex multi-stage and multi-container heterogeneous computing workflows.

    -- NVIDIA OSMO

    OSMO refers to an orchestration platform, which can take a workflow spec and run the specified workloads on Omniverse Cloud or DGX Cloud.

  • Project GR00T (Generalist Robot 00 Technology) [link]

    a general-purpose foundation model that promises to transform humanoid robot learning in simulation and the real world. Trained in NVIDIA GPU-accelerated simulation, GR00T enables humanoid embodiments to learn from a handful of human demonstrations with imitation learning and NVIDIA Isaac Lab for reinforcement learning, as well as generating robot movements from video data. The GR00T model takes multimodal instructions and past interactions as input and produces the actions for the robot to execute.

    -- NVIDIA Project GR00T

    The GR00T model refers to a general-purpose foundation model for humanoid robots trained in Isaac Lab with imitation learning and reinforcement learning.

  • cuOpt [link][docs][ngc][dli][github]
    a GPU-accelerated solver for vehicle routing problem.
    Formerly ReOpt.

    a GPU-accelerated logistics solver that uses heuristics and optimizations to calculate complex vehicle routing problem variants with a wide range of constraints.

    -- NVIDIA cuOpt

    • cuOpt for Isaac Sim [docs][github]

      a reference for the use of NVIDIA cuOpt to solve routing optimization problems in simulation.

      -- NVIDIA Isaac Sim

  • cuRobo [link][github]

    a CUDA accelerated library containing a suite of robotics algorithms that run significantly faster than existing implementations leveraging parallel compute.

    -- NVIDIA cuRobo

    cuRobo is shipping as NVIDIA cuMotion with NVIDIA Isaac Manipulator in Q2 2024. (source)

    • cuRobo with Isaac Sim [docs]
  • (Omniverse) Replicator [link][docs][blog]
    a synthetic data generation (SDG) toolkit based on Omniverse.

    an advanced, extensible SDK to generate physically accurate 3D synthetic data, and easily build custom synthetic data generation (SDG) tools to accelerate the training and accuracy of perception networks.

    -- NVIDIA Replicator

    • Isaac Sim Replicator [docs]

      a collection of extensions, python APIs, workflows, and tools such as Replicator Composer that enable a variety of synthetic data generation tasks.

      -- NVIDIA Isaac Sim

    • (Omniverse) Replicator Insight [link]

      an app that enables developers to quickly view, navigate, and inspect their synthetically generated renders.

      -- NVIDIA Replicator Insight

  • Omniverse Cloud [link]

    a platform of APIs, SDKs, and services available within a full-stack cloud environment for enterprise developers to easily integrate Universal Scene Description (OpenUSD) and RTX rendering technologies into their 3D industrial digitalization applications.

    -- NVIDIA Omniverse Cloud

  • Omniverse Farm [docs]

    Omniverse Farm Queue and Omniverse Farm Agent allow you to run tasks in the background, and to run automated jobs defined by you or others.

    -- NVIDIA Omniverse Farm

    Omniverse Farm is actually flexible enough to run arbitrary tasks, not just rendering tasks. See the j3soon/omni-farm-isaac repository for more information.

OpenUSD Coding References

Omniverse Kit Coding References

(Omniverse) Isaac Sim Coding References

Others

Please open an issue if you have spotted any errors or have questions regarding this document. For questions regarding the Isaac components, I recommend first going through the Known Issues, then considering asking in the NVIDIA Developer Forums under the Isaac topic.

I have documented some bug fixes and workarounds for Isaac in the j3soon/isaac-extended repository. I recommend also checking out that repository for reference.

Last updated on 2024/04/26.

Releases

No releases published

Packages

No packages published