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
- Synthetic data generation: Generate diverse scene data for robot training
- Action planning: Preview action effects in "imagination space"
- 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
- Large-scale pretraining: Generate massive training data using the Cosmos world model
- Simulation fine-tuning: Fine-tune for specific tasks in Isaac Lab
- 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
- Modeling: Build scenes in Omniverse using USD
- Simulation training: Large-scale parallel RL policy training in Isaac Lab
- Perception integration: Run GPU-accelerated perception with Isaac ROS on Jetson
- Motion planning: Millisecond-level planning with cuRobot
- 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
Related Links
- NVIDIA Isaac Official Documentation
- Isaac Lab GitHub
- Isaac ROS GitHub
- Related notes: Simulation Platforms | Simulation Assets | Simulation World Building & Physics Rules | World Models and Video Generation | Reinforcement Learning in Robotics | Computing Platforms