Assistenza e sviluppo Unitree · Contattaci →

Blog Assistenza Contatti

NVIDIA · Simulazione

NVIDIA Isaac e Omniverse: guida all'uso, hardware e alternative

NVIDIA Isaac è la piattaforma di riferimento per simulare, allenare e validare robot prima del deploy su hardware reale. Non è un singolo prodotto: è uno stack composto da Isaac Sim (il simulatore), Isaac Lab (il framework di reinforcement learning) e Omniverse (la base di collaborazione 3D). In questa guida completa CALIGO vediamo come si usa, che hardware serve, quanto costa farlo girare e quali alternative esistono per hostare e trainare.

Stack NVIDIA Isaac: Isaac Sim, Isaac Lab e deploy sul robot reale con i livelli di hardware
Il flusso completo: simulare in Isaac Sim, allenare in Isaac Lab, deployare su hardware reale (Jetson/ROS 2).

Che cosa sono Isaac Sim, Isaac Lab e Omniverse

Spesso si confondono i tre nomi. In pratica sono tre livelli dello stesso ecosistema:

  • Omniverse — la piattaforma di collaborazione 3D in tempo reale basata su OpenUSD. È il "mondo" condiviso dove si costruiscono scene, digital twin e rendering. Dal 2025 NVIDIA ha semplificato il packaging: la maggior parte dei flussi robotica usa direttamente Isaac Sim senza Omniverse Launcher.
  • Isaac Sim — il simulatore fisico di robot: importa modelli URDF/USD, simula sensori (camera, LiDAR, IMU), fisica con PhysX e rendering fotorealistico. Supporta ROS 2 nativamente.
  • Isaac Lab — il framework di training per robot basato su Isaac Sim: definisce ambienti, osservazioni, azioni, reward e lancia il training con librerie RL standard (RSL-RL, RL-Games, SB3). È il successore di Isaac Gym.

Il flusso è: costruisci la scena in Sim, alleni la policy in Lab, la esporti e la deployi sul robot reale.

Come si usa: il flusso sim-to-real

  1. Importa il robot — URDF (da CAD o ROS) convertito in USD, oppure asset già pronti (Franka, UR, ANYmal, Unitree G1…).
  2. Configura la scena — ground plane, luci, sensori, task e posa iniziale.
  3. Definisci l'ambiente in Isaac Lab — observation space, action space, reward function.
  4. Allena la policy — RL con migliaia di ambienti paralleli in GPU (es. PPO con RSL-RL).
  5. Valida in simulazione — riproduci la policy con il visualizer e misura la success rate.
  6. Esporta e deploya — esporta in ONNX, converti in TensorRT e caricalo su NVIDIA Jetson (AGX Orin/Thor) o sul robot via ROS 2.

Installazione passo-passo

Su una workstation Ubuntu 22.04/24.04 o Windows 11 (Linux è più stabile per il training), il percorso consigliato è pip + Isaac Lab:

# 1. Installa Isaac Sim via pip (circa 15 GB, 20-30 min)
pip install isaacsim==5.0.0 --extra-index-url https://pypi.nvidia.com

# 2. Clona Isaac Lab e installa le dipendenze
git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
./isaaclab.sh --install

# 3. Verifica: deve aprirsi il viewport Omniverse con una scena vuota
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py

Per il training headless (senza GUI, su server o cloud) aggiungi --headless ai comandi. Esempio di training di una policy di manipolazione:

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py   --task Isaac-Lift-Cube-Franka-v0 --num_envs 2048 --headless

Metriche da monitorare durante il training: episode_rew_mean (deve crescere), success_rate (obiettivo 70%+ prima dell'export) e value_loss (se diverge, riduci il learning rate).

Hardware necessario

I requisiti cambiano tra rendering (Isaac Sim) e training (Isaac Lab): il training spinge di più su VRAM e parallelismo. Riferimento indicativo:

LivelloGPUVRAMRAMNote
MinimoRTX 408016 GB32 GBScene semplici, pochi sensori
ConsigliatoRTX 508016 GB64 GBFlusso standard Lab
IdealeRTX PRO 600048 GB64+ GBTraining RL pesante
aarch64DGX Spark--Solo Linux, alcuni moduli non supportati

Requisiti e note pratiche

  • RT Core obbligatori: le GPU datacenter A100/H100 senza RT Core non sono supportate da Isaac Sim.
  • Sistema operativo: Ubuntu 22.04/24.04 o Windows 11; il container ufficiale è Linux-only. Windows 10 non è supportato.
  • Driver: branch production recente (es. 580.xx su Linux).
  • Storage: 50 GB SSD minimo, 500 GB-1 TB NVMe se lavori su tanti asset.
  • Connettività: serve accesso HTTPS agli asset online di Omniverse.

Domain randomization: il segreto del sim-to-real

Il transfer dal simulatore al robot reale non avviene mai "pulito". La tecnica standard è la domain randomization: randomizzare massa, attrito, damping, guadagni motori, rumore e ritardo azioni durante il training, così la policy impara a essere robusta.

ParametroRange tipicoImpatto
Massa oggetto0,5x-2x nominaleAlto
Attrito0,3-1,2Alto (contatto)
Damping giunti0,8x-1,5xMedio
Forza motori0,7x-1,3xAlto (locomozione)
Rumore osservazionisigma 0,01-0,05Medio
Ritardo azioni0-3 stepAlto

Regola pratica: se in simulazione la policy con randomization non arriva al 60% di successo, i range sono troppo ampi. Rientra fino all'80%+, poi allarga gradualmente monitorando il comportamento reale.

Deploy sul robot reale

Isaac Lab esporta la policy in ONNX, che puoi convertire in TensorRT per l'inferenza a bassa latenza su Jetson. Su AGX Orin, policy fino a ~10M di parametri girano in 5-15 ms — ben sotto il requisito di real-time del controllo. Il deploy avviene tipicamente via ROS 2 + DDS: il robot pubblica osservazioni e riceve azioni dalla rete neurale.

Alternative per hostare e trainare

Non tutti hanno una RTX in casa o vogliono dipendere dall'ecosistema NVIDIA. Le alternative si dividono in due assi: dove lo fai girare e con quale framework.

OpzioneChiProContro
Workstation RTXLocaleIterazione rapida, dati privatiCosto, niente scalabilità
Cloud GPU a orerunpod, Lambda, Vast.ai, PaperspaceEconomico per sessioniSetup, storage, latenza
Cloud GPU gestitoCoreWeave, Brev, NGC su AWS/GCPPronto all'uso, scalabileCosto continuo
DGX SparkLocale aarch64Potenza da datacenter in casaLinux-only, moduli limitati

Per il framework di training, le alternative più valide oggi:

  • MuJoCo — leggero, velocissimo per RL, usato da DeepMind; ottimo per politiche di locomozione.
  • Genesis — simulatore di nuova generazione con generazione di scene a velocità elevatissima.
  • Gazebo / ROS 2 — lo standard per integrazione ROS, meno adatto a RL massivo.
  • CoppeliaSim / PyBullet — semplici per didattica e prototyping.

Quando conviene NVIDIA e quando un'alternativa

  • Scegli NVIDIA Isaac se ti serve rendering, sensori realistici, training RL massivo e un ecosistema completo con supporto Jetson.
  • Scegli MuJoCo/Genesis se fai solo ricerca di RL (locomozione, control) e vuoi velocità massima senza costo GPU alto.
  • Mista: molti team allenano in MuJoCo e validano in Isaac, oppure viceversa, prima del deploy.

FAQ

  • Isaac Lab è gratis? Sì, è MIT licensed (uso commerciale incluso). Isaac Sim è gratuito per uso di sviluppo; per il training scalato servono GPU.
  • Posso usare Isaac con un robot Unitree? Sì: i modelli EDU (G1, Go2, H2) hanno URDF/USD e si integrano con lo stack — vedi la programmazione G1 / SDK.
  • Serve ROS 2 per forza? No, Isaac Lab gira anche standalone; ROS 2 serve per il deploy e l'integrazione con il resto dello stack.
  • Quanto tempo per una policy? Locomozione base: ~20 min su RTX 4090 con 4.096 ambienti. Manipolazione (lift): ore su GPU dedicata.

Best practice di reward design

La reward function è la decisione di engineering più importante: gran parte dei fallimenti sim-to-real non sono problemi di algoritmo ma di reward e randomizzazione. Regole pratiche che funzionano:

  • Reward sparse + dense: parti da una reward sparsa che cattura l'obiettivo, poi aggiungi shaping denso per guidare l'apprendimento. Includi sempre penalità per comportamenti pericolosi o dispendiosi (energia, violazione dei limiti di giunto, impulsi di collisione).
  • Kernel esponenziali: usa termini del tipo exp(-||errore||^2 / sigma^2) invece di errori lineari: saturano vicino allo zero e danno un gradiente denso anche con errori grandi.
  • Penalizza il costo meccanico: coppie, rate di azione e accelerazione angolare con un peso piccolo (1e-4 .. 1e-3) producono traiettorie efficienti che trasferiscono meglio sull'hardware.
  • Separa task da style: un gruppo di termini per il successo (velocità, raggiungimento goal) e uno per lo stile (fluidità, energia, postura). Il task deve dominare all'inizio del training, lo style si stringe a fine training.
  • Curriculum learning: parti da versioni semplici (terreno piano, oggetti rigidi) e aumenta la difficoltà solo quando la reward media supera una soglia — non a tempo fisso.

Metriche da monitorare e debug

Durante il training, oltre a episode reward e success rate, tieni d'occhio:

  • Episode length e cause di terminazione — capisci se la policy si "arrende" o va in timeout.
  • Entropia della policy — se cala troppo in fretta, convergenza prematura.
  • Value loss ed explained variance — se divergono, il learning rate è troppo alto.
  • FPS e num_envs — più ambienti paralleli = più dati; oltre una soglia i rendimenti calano e il tempo per step cresce.

Gli errori OOM sono frequenti: riduci il numero di ambienti, semplifica le mesh di collisione e usa la modalità headless per il training. I NaN nelle osservazioni indicano simulazione instabile: controlla limiti e guadagni, riduci il timestep o aumenta le iterazioni del solver.

Prima del deploy su hardware, fai un controllo sim-to-sim: allena in Isaac e fai rollout in un secondo simulatore (MuJoCo/PyBullet). Se la policy trasferisce tra simulatori, l'implementazione è corretta. Esporta sempre la policy insieme al normalizer (media e deviazione standard delle osservazioni): una policy senza normalizer è inutile sul robot.

Integrazione con ROS 2

Isaac Sim si integra nativamente con ROS 2 (Humble su Ubuntu 22.04, Jazzy su 24.04): importi il robot da URDF, aggiungi sensori (camera RGB-D, RTX LiDAR, IMU, contact) e colleghi lo stack al simulatore tramite il ROS 2 Bridge. Puoi validare interi stack — dalla navigazione con Nav2 alla manipolazione — prima di toccare l'hardware. Il middleware DDS è configurabile: FastDDS di default, CycloneDDS o Zenoh a seconda delle esigenze di rete.

Nel deploy, Isaac ROS esegue le policy DNN in inferenza mentre Isaac Sim pubblica osservazioni e riceve azioni: è il ponte tra il training (Isaac Lab) e il robot reale. Su AGX Orin le policy fino a ~10M di parametri girano in 5-15 ms.

Manipolazione: distillazione teacher-student

Per i task ricchi di contatto (manipolazione), la randomizzazione da sola non basta: le meccaniche di contatto in simulazione divergono dalla compliance reale. Il pattern più efficace è la distillazione teacher-student: alleni un "teacher" con osservazioni privilegiate (es. sensori tattili) e poi distilli uno "student" che usa solo propriocezione e può girare sul robot reale a bassa latenza.

Che hardware ti serve? Calcolalo

Due domande rapide per capire da quale configurazione partire.

Calcolatore hardware Isaac2 domande

1. Che scenario prevedi?

Come si collega al lavoro su Unitree

Molti progetti su G1 e SDK2 o ROS 2 usano Isaac per allenare la locomozione prima del deploy. CALIGO ti supporta nella scelta tra lo stack NVIDIA e le alternative open source in base a budget e obiettivo, e nello sviluppo della policy fino al deploy sul robot.

Fonti e link utili

Questa guida sintetizza documentazione ufficiale NVIDIA e tutorial indipendenti (aggiornati al 2026). Approfondisci direttamente dalle fonti:

Richiedi assistenza Unitree Tutti gli articoli