Skip to content

NVIDIA Robotics Ecosystem

NVIDIA is building a full-stack robotics AI ecosystem spanning from simulation training to edge deployment. This article surveys NVIDIA's major platforms, tools, and models related to robotics.

This note focuses on the position of NVIDIA's stack and the relationships between its components, not on being a full simulation encyclopedia. For how USD-backed robot, object, scene, and sensor assets are actually built, see Simulation Assets. For how worlds are organized, randomized, and tuned physically, see Simulation World Building & Physics Rules.


Ecosystem Overview

graph TB
    subgraph Foundation["Foundation Layer"]
        CUDA[CUDA / cuDNN / TensorRT]
        USD[OpenUSD Standard]
    end

    subgraph Platform["Platform Layer"]
        OV[Omniverse<br/>Collaboration & Digital Twin Platform]
    end

    subgraph Simulation["Simulation Layer"]
        IS[Isaac Sim<br/>Photorealistic Physics Simulation]
        IL[Isaac Lab<br/>Large-scale Parallel RL Training]
    end

    subgraph Perception["Perception & Inference"]
        IR[Isaac ROS<br/>GPU-accelerated Perception]
        CUR[cuRobot<br/>GPU-accelerated Planning]
    end

    subgraph Models["Foundation Models"]
        COSMOS[Cosmos<br/>World Foundation Model]
        GROOT[GR00T N1<br/>Humanoid Robot Foundation Model]
    end

    subgraph Edge["Edge Deployment"]
        JETSON[Jetson Series<br/>Orin / Thor]
    end

    USD --> OV
    CUDA --> IS & IL & IR & CUR
    OV --> IS
    IS --> IL
    IL -- "Trained policies" --> IR
    COSMOS -- "World knowledge" --> GROOT
    GROOT -- "Inference deployment" --> JETSON
    IR --> JETSON
    CUR --> JETSON

    style Foundation fill:#e8eaf6
    style Platform fill:#fff3e0
    style Simulation fill:#e8f5e9
    style Perception fill:#e1f5fe
    style Models fill:#fce4ec
    style Edge fill:#f3e5f5

Omniverse: Collaboration and Digital Twin Platform

Omniverse is NVIDIA's real-time 3D collaboration and simulation platform, built on the OpenUSD (Universal Scene Description) standard.

Core Capabilities

Capability Description
USD Native All assets, scenes, and physical properties described in USD format
RTX Rendering Real-time ray tracing with PBR material support
PhysX 5 GPU-accelerated rigid body, soft body, fluid, and particle physics
Multi-user Collaboration Multiple users edit the same scene simultaneously (similar to Google Docs)
Digital Twin Connect IoT data, synchronize physical world state in real time
Extension System Build custom applications with Kit SDK

USD Format Essentials

USD is a scene description format developed by Pixar. NVIDIA promotes it as a universal scene format for robot simulation:

# USD scene manipulation example
from pxr import Usd, UsdGeom, UsdPhysics

stage = Usd.Stage.CreateNew("robot_scene.usda")
xform = UsdGeom.Xform.Define(stage, "/World/Robot")
UsdPhysics.RigidBodyAPI.Apply(xform.GetPrim())
UsdPhysics.CollisionAPI.Apply(xform.GetPrim())
stage.Save()

If your question is not about the USD API itself but about how USD carries robots, objects, materials, scenes, and sensors as simulation assets, continue with Simulation Assets.


Isaac Sim: Photorealistic Physics Simulation

Isaac Sim is an Omniverse-based robot simulator providing photo-level rendering and high-fidelity physics.

Key Features

Feature Description
Physics Engine PhysX 5 (GPU), supports rigid/soft body/particles/fluids
Rendering RTX ray tracing, supports Path Tracing and Ray Tracing
Sensor Simulation RGB, Depth, LiDAR, IMU, Ultrasonic, Contact
Domain Randomization Built-in lighting/texture/physics parameter randomization
Data Generation Synthetic Data Generation (SDG), automatic annotation
ROS2 Bridge Built-in ROS2 Bridge, direct topic/service/TF passthrough

Domain Randomization Configuration

Domain randomization is a key technique for Sim2Real; Isaac Sim provides built-in support:

# Domain randomization example: randomize object color, lighting, physics parameters
from omni.isaac.core.utils.randomization import randomize

randomize.light_intensity(min=500, max=5000)         # Light intensity
randomize.object_color(prim_path="/World/object")     # Object color
randomize.physics_material(
    static_friction=(0.3, 0.8),
    dynamic_friction=(0.2, 0.6),
    restitution=(0.0, 0.3)
)
randomize.camera_pose(
    position_noise=0.02,  # 2cm position noise
    rotation_noise=2.0     # 2-degree rotation noise
)

For a more systematic discussion of world randomization, timing, sensor rules, and contact tuning, see Simulation World Building & Physics Rules and Sim2Real.


Isaac Lab: Large-scale Parallel RL Training

Isaac Lab is the successor to Isaac Gym and Orbit, focusing on large-scale parallel reinforcement learning training.

Relationship with Predecessors

Project Status Description
Isaac Gym (Preview) Archived First GPU-parallel RL environment
Orbit Merged Manipulation-focused framework
Isaac Lab Currently active Unified successor

Core Architecture

# Isaac Lab environment definition
from omni.isaac.lab.envs import ManagerBasedRLEnv, ManagerBasedRLEnvCfg
from omni.isaac.lab.scene import InteractiveSceneCfg

class FrankaCubePickCfg(ManagerBasedRLEnvCfg):
    scene: InteractiveSceneCfg = InteractiveSceneCfg(num_envs=4096)

    # Observation definition
    observations = ObservationsCfg(
        policy=ObsGroup(
            joint_pos=ObsTerm(func=mdp.joint_pos_rel),
            joint_vel=ObsTerm(func=mdp.joint_vel_rel),
            object_pos=ObsTerm(func=mdp.object_position_in_robot_root_frame),
        )
    )

    # Reward definition
    rewards = RewardsCfg(
        reaching=RewardTerm(func=mdp.approach_object, weight=1.0),
        grasping=RewardTerm(func=mdp.grasp_success, weight=10.0),
    )

    # Termination conditions
    terminations = TerminationsCfg(
        time_out=DoneTerm(func=mdp.time_out, time_out=True),
    )

Training Workflow

# Train using RSL-RL
python source/standalone/workflows/rsl_rl/train.py \
    --task Isaac-Franka-Cube-Pick-v0 \
    --num_envs 4096 \
    --max_iterations 1000

# Train using rl_games
python source/standalone/workflows/rl_games/train.py \
    --task Isaac-Ant-v0 \
    --num_envs 8192

For more on reinforcement learning combined with robotics, see Reinforcement Learning in Robotics.


Isaac ROS: GPU-accelerated ROS2

Isaac ROS provides a series of GPU-accelerated ROS2 packages that replace traditional CPU implementations, significantly improving real-time perception performance.

Key Packages

Package Function Speedup (vs CPU)
isaac_ros_visual_slam Visual-inertial odometry (cuVSLAM) ~10x
isaac_ros_nvblox 3D reconstruction + costmap ~20x
isaac_ros_dnn_inference TensorRT inference ~5-15x
isaac_ros_image_pipeline Undistortion/crop/resize ~5x
isaac_ros_apriltag AprilTag detection ~10x
isaac_ros_freespace_segmentation Drivable area segmentation GPU native
isaac_ros_object_detection Object detection (SSD/YOLO) GPU native
isaac_ros_foundationpose 6-DoF object pose estimation GPU native

Deployment Architecture

# Isaac ROS deploys via Docker
# Pull Isaac ROS base container
docker pull nvcr.io/nvidia/isaac/ros:humble-3.1.0

# Start container (mount GPU)
docker run --runtime nvidia -it --rm \
    --network host \
    -v /dev:/dev \
    nvcr.io/nvidia/isaac/ros:humble-3.1.0

# Launch cuVSLAM inside container
ros2 launch isaac_ros_visual_slam isaac_ros_visual_slam.launch.py \
    image_topic:=/camera/image_raw \
    camera_info_topic:=/camera/camera_info

Cosmos: World Foundation Model

Cosmos is a World Foundation Model released by NVIDIA at CES 2025, designed to understand and generate the physical world.

Core Concepts

Concept Description
World Model Predicts future environment states given actions
Physical AI AI that understands physical laws (gravity, collision, friction)
Video Generation Generates physically consistent future video frames

Application Scenarios

  1. Synthetic data generation: Generate diverse scene data for robot training
  2. Action planning: Preview action effects in "imagination space"
  3. Anomaly detection: Predict normal behavior, detect deviations

For more on world models, see World Models and Video Generation.


GR00T N1: Humanoid Robot Foundation Model

GR00T (Generalist Robot 00 Technology) is NVIDIA's foundation model series for humanoid robots.

N1 Model Architecture

Component Description
Vision Encoder Processes multi-view RGB inputs
Language Understanding Accepts natural language task instructions
Action Generation Outputs whole-body joint action sequences
Training Data Cosmos synthetic data + teleoperation data
Deployment Hardware Jetson Thor

Training Pipeline

  1. Large-scale pretraining: Generate massive training data using the Cosmos world model
  2. Simulation fine-tuning: Fine-tune for specific tasks in Isaac Lab
  3. Real-robot adaptation: Fine-tune with a small amount of real-robot data to complete Sim2Real

cuRobot: GPU-accelerated Motion Planning

cuRobot (CUDA Robot) migrates core motion planning computations to the GPU, achieving millisecond-level planning.

Performance Comparison

Algorithm MoveIt2 (CPU) cuRobot (GPU) Speedup
Collision checking ~10ms ~0.1ms ~100x
Inverse kinematics ~5ms ~0.05ms ~100x
Motion planning ~500ms ~5ms ~100x
Batch planning (1000) ~500s ~5s ~100x

Key Features

  • CUDA-accelerated collision checking: Based on Signed Distance Field (SDF)
  • Batch inverse kinematics: Solve thousands of IK problems simultaneously
  • Trajectory optimization: CUDA-accelerated CHOMP/TrajOpt
  • MoveIt 2 integration: Serves as an accelerated backend for MoveIt 2
from curobo.types.robot import RobotConfig
from curobo.wrap.reacher.motion_gen import MotionGen, MotionGenConfig

# Load robot configuration
robot_cfg = RobotConfig.from_dict({
    "robot_file": "franka.yml",
    "ee_link": "panda_hand",
})

# Create motion generator
motion_gen_config = MotionGenConfig.load_from_robot_config(
    robot_cfg, world_model="shelf_scene.yml",
    num_ik_seeds=32, num_trajectories=4
)
motion_gen = MotionGen(motion_gen_config)

# GPU-accelerated planning
result = motion_gen.plan_single(start_state, goal_pose)
trajectory = result.get_interpolated_plan()  # Completed in milliseconds

Jetson Deployment Platform

Jetson is NVIDIA's embedded computing platform for edge AI, the preferred choice for robot inference deployment.

Model GPU Cores AI Performance (TOPS) Memory Power Suitable Scenarios
Jetson Orin Nano 1024 CUDA 40 8GB 7-15W Entry-level robots
Jetson Orin NX 1024 CUDA 70-100 8/16GB 10-25W Mid-range robots
Jetson AGX Orin 2048 CUDA 200-275 32/64GB 15-60W High-end/humanoid robots
Jetson Thor (next gen) Blackwell GPU 800 128GB ~100W Humanoid robot foundation models

For more computing platform details, see Computing Platforms.


Ecosystem Integration Recommendations

Typical Development Workflow

  1. Modeling: Build scenes in Omniverse using USD
  2. Simulation training: Large-scale parallel RL policy training in Isaac Lab
  3. Perception integration: Run GPU-accelerated perception with Isaac ROS on Jetson
  4. Motion planning: Millisecond-level planning with cuRobot
  5. Deployment: TensorRT-optimized models, Jetson edge deployment

Considerations

  • NVIDIA ecosystem has strong hardware dependency, requiring NVIDIA GPUs
  • Some components only support specific GPU architectures (e.g., Isaac Sim requires RTX)
  • Version compatibility requires attention: CUDA version, JetPack version, and ROS2 version must match
  • Academic research can combine open-source tools like MuJoCo; full commitment to the NVIDIA ecosystem is not necessary


评论 #