Cos’è la simulazione robotica?

La simulazione robotica è una tecnica che permette di riprodurre il comportamento di un robot in un ambiente virtuale.

I robot stanno trasportando merci nei magazzini, confezionando cibi e aiutando ad assemblare veicoli – quando non stanno girando hamburger o servendo lattes.

Come hanno acquisito così rapidamente tanta abilità? La simulazione robotica.

Facendo grandi progressi, sta trasformando le industrie intorno a noi.

Sintesi della Simulazione Robotica

Un simulatore robotico posiziona un robot virtuale in ambienti virtuali per testare il software del robot senza richiedere il robot fisico. E gli ultimi simulatori possono generare set di dati da utilizzare per addestrare modelli di apprendimento automatico che verranno eseguiti sui robot fisici.

In questo mondo virtuale, gli sviluppatori creano versioni digitali di robot, ambienti e altri elementi che i robot potrebbero incontrare. Questi ambienti possono rispettare le leggi della fisica e imitare la gravità, l’attrito, i materiali e le condizioni di illuminazione del mondo reale.

Chi Utilizza la Simulazione Robotica?

I robot potenziano le operazioni su larga scala oggi. Alcuni dei nomi più grandi e innovativi nel settore dei robot si affidano alla simulazione robotica.

I centri di evasione gestiscono decine di milioni di pacchi al giorno, grazie alle efficienze operative scoperte nella simulazione.

Amazon Robotics la utilizza per supportare i suoi centri di evasione. Il Gruppo BMW fa affidamento su di essa per accelerare la pianificazione dei suoi impianti di assemblaggio automobilistico. Soft Robotics la applica per perfezionare la presa per il prelievo e il posizionamento di cibi per l’imballaggio.

I costruttori di automobili di tutto il mondo stanno supportando le loro operazioni con la robotica.

“Le case automobilistiche impiegano quasi 14 milioni di persone. La digitalizzazione aumenterà l’efficienza, la produttività e la velocità del settore”, ha detto il CEO di NVIDIA Jensen Huang durante l’ultima presentazione di GTC.

Come Funziona la Simulazione Robotica, in Breve

Un simulatore robotico avanzato inizia applicando le equazioni fondamentali della fisica. Ad esempio, può utilizzare le leggi del moto di Newton per determinare come gli oggetti si muovono in un breve incremento di tempo, o timestep. Può anche incorporare vincoli fisici di un robot, come essere composto da giunti simili a cerniera o non essere in grado di passare attraverso altri oggetti.

I simulatori utilizzano vari metodi per rilevare possibili collisioni tra oggetti, identificare punti di contatto tra oggetti in collisione e calcolare forze o impulsi per evitare che gli oggetti passino attraverso gli altri. I simulatori possono anche calcolare segnali dei sensori cercati da un utente, come coppie di torsione ai giunti del robot o forze tra il gripper di un robot e un oggetto.

Il simulatore ripeterà quindi questo processo per quante timesteps l’utente richiede. Alcuni simulatori, come NVIDIA Isaac Sim, un’applicazione costruita su NVIDIA Omniverse, possono anche fornire visualizzazioni fisicamente accurate dell’output del simulatore ad ogni timestep.

Utilizzare un Simulatore Robotico per Ottenere Risultati

Un utente di un simulatore robotico di solito importerà modelli di progettazione assistita al computer del robot e importerà o genererà oggetti di interesse per creare una scena virtuale. Uno sviluppatore può utilizzare un insieme di algoritmi per eseguire la pianificazione delle attività e la pianificazione dei movimenti, e quindi prescrivere segnali di controllo per realizzare quei piani. Ciò consente al robot di eseguire un’attività e muoversi in modo particolare, ad esempio prendere un oggetto e posizionarlo in una posizione target.

Lo sviluppatore può osservare l’esito dei piani e dei segnali di controllo e quindi modificarli se necessario per garantire il successo. Più di recente, c’è stato un passaggio verso metodi basati sull’apprendimento automatico. Quindi, invece di prescrivere direttamente segnali di controllo, l’utente prescrive un comportamento desiderato, come spostarsi in una posizione senza collisioni. In questa situazione, un algoritmo basato sui dati genera segnali di controllo basati sui segnali dei sensori simulati del robot.

Questi algoritmi possono includere l’apprendimento per imitazione, in cui le dimostrazioni umane possono fornire riferimenti, e l’apprendimento per rinforzo, in cui i robot imparano a ottenere comportamenti attraverso una prova ed errore intelligente, raggiungendo anni di apprendimento velocemente con un’esperienza virtuale accelerata.

La Simulazione Conduce a Svolte

La simulazione risolve grandi problemi. Viene utilizzata per verificare, convalidare e ottimizzare progetti e sistemi robotici e i loro algoritmi. La simulazione aiuta anche a progettare strutture per essere ottimizzate per massime efficienze prima che inizi la costruzione o la ristrutturazione. Ciò aiuta a ridurre costosi ordini di modifiche di produzione.

Perché i robot lavorino in sicurezza tra le persone, è necessaria una pianificazione del movimento impeccabile. Per gestire oggetti delicati, i robot devono essere precisi nel contatto e nell’afferrare. Queste macchine, così come i robot mobili autonomi e i sistemi di veicoli, vengono addestrati su vaste quantità di dati per sviluppare movimenti sicuri.

Attingendo ai dati sintetici, le simulazioni stanno consentendo progressi virtuali che non erano precedentemente possibili. I robot di oggi, nati e cresciuti nella simulazione, verranno utilizzati nel mondo reale per risolvere ogni tipo di problema.

La Ricerca sulla Simulazione Sta Spingendo il Progresso

Guidati dai ricercatori, i recenti progressi nella simulazione stanno migliorando rapidamente le capacità e la flessibilità dei sistemi robotici, accelerando le implementazioni.

Ricercatori universitari, spesso in collaborazione con NVIDIA Research e team tecnici, stanno risolvendo problemi di simulazione con un impatto concreto nel mondo reale. Il loro lavoro sta ampliando il potenziale di commercializzazione delle nuove capacità robotiche in numerosi mercati.

Tra questi, i robot stanno imparando a tagliare materiali morbidi come carne bovina e pollo, fissare dadi e bulloni per l’assemblaggio automobilistico, nonché manovrare con pianificazione del movimento priva di collisioni per magazzini e manipolare mani con nuovi livelli di destrezza.

Tali ricerche hanno promesse commerciali in settori che valgono trilioni di dollari.

Svolte nella simulazione ad alta fedeltà basata sulla fisica

La capacità di modellare la fisica, visualizzata ad alta risoluzione, ha dato inizio a molti progressi industriali.

Le simulazioni basate sulla fisica, oggetto di ricerche per decenni, offrono oggi importanti progressi commerciali.

NVIDIA PhysX, parte della tecnologia di base di Omniverse, offre simulazioni basate sulla fisica ad alta fedeltà, consentendo sperimentazioni reali in ambienti virtuali.

PhysX consente lo sviluppo della capacità di valutare la qualità della presa in modo che i robot possano imparare a afferrare oggetti sconosciuti. PhysX è anche molto adatto per lo sviluppo di abilità come la manipolazione, la locomozione e il volo.

Lanciato come open source, PhysX 5 apre le porte allo sviluppo di applicazioni industriali ovunque. Oggi, i robotici possono accedere a PhysX come parte di Isaac Sim, basato su Omniverse.

Le basi della simulazione di assemblaggio

Dopo aver reso possibile l’aggrappaggio efficace, basato sulla fisica, il passo successivo è stato simulare una manovrabilità robotica più avanzata applicabile a diversi settori industriali.

L’assemblaggio è uno degli aspetti più importanti. È una parte essenziale nella produzione di prodotti per l’automotive, l’elettronica, l’aerospaziale e l’industria medica. Le attività di assemblaggio includono il serraggio di dadi e bulloni, la saldatura, l’inserimento di connessioni elettriche e il cablaggio.

Tuttavia, l’assemblaggio robotico è un lavoro in corso da molto tempo. Ciò accade perché la complessità della manipolazione fisica, la variabilità delle parti e i requisiti di alta precisione e affidabilità rendono particolarmente difficile completarlo con successo, anche per gli esseri umani.

Ciò non ha impedito ai ricercatori e agli sviluppatori di cercare soluzioni, mettendo la simulazione al lavoro in queste interazioni che coinvolgono molti contatti, e ci sono segni di progresso.

Nei suoi studi del 2022, NVIDIA ha proposto un nuovo approccio di simulazione per superare la sfida dell’assemblaggio robotico utilizzando Isaac Sim. Il loro articolo di ricerca, intitolato Factory: Fast Contact for Robotic Assembly, illustra una serie di metodi di simulazione fisica e strumenti di apprendimento dei robot per ottenere una simulazione in tempo reale più rapida per una vasta gamma di interazioni che richiedono molti contatti, compreso l’assemblaggio.

Risolvere il divario tra simulazione e realtà negli scenari di assemblaggio

Proseguendo il lavoro di simulazione sviluppato nell’articolo, i ricercatori hanno affrontato l’obiettivo di risolvere ciò che viene chiamato divario tra simulazione e realtà.

Tale divario è la differenza tra ciò che un robot ha imparato in simulazione e ciò che deve imparare per essere pronto per il mondo reale.

In un altro articolo, IndustReal: Transferring Contact-Rich Assembly Tasks from Simulation to Reality, i ricercatori hanno delineato una serie di algoritmi, sistemi e strumenti per risolvere compiti di assemblaggio in simulazione e trasferire queste competenze ai robot reali.

I ricercatori di NVIDIA hanno anche sviluppato un nuovo metodo più rapido ed efficiente per insegnare compiti di manipolazione robotica in scenari reali, come aprire cassetti o distribuire sapone, riducendo significativamente il tempo di addestramento rispetto allo standard attuale.

L’articolo di ricerca RVT: Robotic View Transformer for 3D Object Manipulation utilizza un tipo di rete neurale chiamata trasformatore multi-vista per produrre viste virtuali dall’input della telecamera.

Il lavoro combina indicazioni testuali, input video e simulazione per ottenere un tempo di addestramento 36 volte più rapido rispetto allo stato dell’arte attuale, riducendo il tempo necessario per insegnare al robot da settimane a giorni, con un miglioramento del 26% nel tasso di successo dei compiti del robot.

Le mani dei robot afferrano la destrezza

I ricercatori si sono impegnati nella sfida di creare mani più agili che possano lavorare in ogni tipo di ambiente e affrontare nuovi compiti.

Gli sviluppatori stanno costruendo sistemi di presa robotica per prendere e posizionare oggetti, ma creare mani altamente capaci con destrezza simile a quella umana si è rivelato finora troppo complesso. L’utilizzo del deep reinforcement learning può richiedere miliardi di immagini etichettate, rendendolo impraticabile.

I ricercatori di NVIDIA, lavorando su un progetto chiamato DeXtreme, hanno utilizzato NVIDIA Isaac Gym e Omniverse Replicator per dimostrare che possono essere utilizzati per addestrare una mano robotica a manipolare rapidamente un cubo in una posizione desiderata. Compiti come questo rappresentano una sfida per i simulatori robotici perché coinvolgono un gran numero di contatti e richiedono movimenti rapidi per completare la manipolazione in un tempo ragionevole.

I progressi nella destrezza manuale aprono la strada ai robot per gestire gli strumenti, rendendoli più utili in ambienti industriali.

Il progetto DeXtreme, che applica le leggi della fisica, è in grado di addestrare i robot all’interno del suo universo simulato 10.000 volte più velocemente rispetto ad un addestramento nel mondo reale. Questo corrisponde a giorni di addestramento rispetto ad anni.

Questa caratteristica del simulatore dimostra la sua capacità di modellare i contatti, il che consente un trasferimento dalla simulazione al mondo reale, un obiettivo ambizioso nella robotica per la destrezza manuale.

Ricerca all’avanguardia sul taglio robotizzato

I robot capaci di tagliare possono creare nuove opportunità di mercato.

Nel 2021, un team di ricercatori provenienti da NVIDIA, University of Southern California, University of Washington, University of Toronto e Vector Institute, e University of Sydney ha vinto il “Miglior articolo per studenti” alla conferenza Robotics: Science and Systems. Il lavoro, intitolato DiSECt: un motore di simulazione differenziabile per il taglio robotizzato autonomo, descrive un “simulatore differenziabile” per insegnare ai robot a tagliare materiali morbidi. In precedenza, i robot addestrati in questa area erano poco affidabili.

Il simulatore DiSECt può prevedere con precisione le forze su un coltello mentre preme e taglia materiali biologici comuni.

DiSECt si basa sul metodo degli elementi finiti, che viene utilizzato per risolvere equazioni differenziali nel modellamento matematico e ingegneristico. Le equazioni differenziali mostrano come un tasso di cambiamento, o derivata, in una variabile sia correlato ad altre. Nella robotica, le equazioni differenziali descrivono solitamente la relazione tra forze e movimento.

Applicando questi principi, il progetto DiSECt promette di addestrare i robot in chirurgia e lavorazione alimentare, tra le altre aree.

Insegnare il movimento senza collisioni per l’autonomia

Quindi, la presa, l’assemblaggio, la manipolazione e il taglio robotizzati stanno tutti facendo progressi. Ma cosa succede con i robot mobili autonomi che possono navigare in sicurezza?

Attualmente, gli sviluppatori possono addestrare i robot per ambienti specifici, come un pavimento di fabbrica, un centro di evasione o un impianto di produzione. All’interno di questi ambienti, le simulazioni possono risolvere problemi per robot specifici, come carrelli per pallet, bracci robotici e robot bipedi. In mezzo a queste configurazioni caotiche e tipi di robot, ci sono molte persone e ostacoli da evitare. In scene del genere, la generazione di movimento senza collisioni per ambienti sconosciuti e caotici è un componente essenziale delle applicazioni robotiche.

I tradizionali approcci di pianificazione del movimento che cercano di affrontare queste sfide possono fallire in ambienti sconosciuti o dinamici. SLAM – o localizzazione simultanea e mappatura – può essere utilizzato per generare mappe 3D di ambienti con immagini della telecamera da punti di vista multipli, ma richiede modifiche quando gli oggetti si muovono e gli ambienti cambiano.

Per contribuire a superare alcune di queste limitazioni, il team di ricerca di NVIDIA Robotics ha co-sviluppato con l’Università di Washington un nuovo modello, chiamato Motion Policy Networks (o MπNets). MπNets è una politica neurale end-to-end che genera movimenti senza collisioni in tempo reale utilizzando un flusso continuo di dati provenienti da una singola telecamera fissa. MπNets è stato addestrato su oltre 3 milioni di problemi di pianificazione del movimento utilizzando una pipeline di materiali geometrici provenienti da NVIDIA Omniverse e 700 milioni di punti cloud renderizzati in simulazione. Addestrarlo su grandi dataset consente la navigazione di ambienti sconosciuti nel mondo reale.

Oltre a imparare direttamente un modello di traiettoria come in MπNets, il team ha anche recentemente presentato un nuovo modello di collisione basato su cloud di punti chiamato CabiNet. Con il modello CabiNet, è possibile implementare politiche di presa e posizionamento di oggetti sconosciuti al di là di una configurazione su tavolo. CabiNet è stato addestrato con oltre 650.000 scene simulate generate proceduralmente ed è stato valutato in NVIDIA Isaac Gym. L’addestramento con un ampio dataset sintetico gli ha permesso di generalizzare anche a scene fuori distribuzione in un vero ambiente da cucina, senza la necessità di dati reali.

Vantaggi della simulazione per le aziende

Gli sviluppatori, gli ingegneri e i ricercatori possono sperimentare rapidamente diversi tipi di progettazione di robot in ambienti virtuali, evitando metodi di test fisici che richiedono tempo e sono costosi.

Applicando diversi tipi di progettazione di robot, in combinazione con il software del robot, per testare la programmazione del robot in un ambiente virtuale prima di realizzare la macchina fisica, si riducono i rischi di problemi di qualità da risolvere in seguito.

Sebbene ciò possa accelerare notevolmente la linea temporale dello sviluppo, può anche ridurre drasticamente i costi per la costruzione e il test di robot e modelli di intelligenza artificiale, garantendo al tempo stesso la sicurezza.

Inoltre, la simulazione dei robot aiuta a collegare i robot ai sistemi aziendali, come i database di inventario, in modo che un robot sappia dove si trova un oggetto.

La simulazione di cobot, o robot che lavorano con gli esseri umani, promette di ridurre gli infortuni e rendere i lavori più facili, consentendo una consegna più efficiente di tutti i tipi di prodotti.

E con i pacchetti che arrivano a casa in tempi incredibilmente rapidi, cosa c’è che non va.

Scopri di più su NVIDIA Isaac Sim, Jetson Orin, Omniverse Enterprise e Metropolis.

Approfondisci questo corso dell’istituto di apprendimento approfondito: Introduzione alle simulazioni robotiche in Isaac Sim.