Nell’ottobre 2021 abbiamo annunciato di aver acquisito il Simulatore fisico MuJoCoe lo ha reso liberamente disponibile a tutti per sostenere la ricerca ovunque. Ci siamo inoltre impegnati a sviluppare e mantenere MuJoCo come un progetto gratuito, open source e guidato dalla comunità con le migliori funzionalità della categoria. Oggi siamo entusiasti di annunciare che l’open source è completo e l’intero codice base lo è su GitHub!
Qui spieghiamo perché MuJoCo è un’ottima piattaforma per la collaborazione open source e condividiamo un’anteprima della nostra tabella di marcia per il futuro.
Una piattaforma per la collaborazione
I simulatori fisici sono strumenti fondamentali nella ricerca sulla robotica moderna e spesso rientrano in queste due categorie:
- Software commerciale a codice chiuso.
- Software open source, spesso creato nel mondo accademico.
La prima categoria è opaca per l’utente e, sebbene a volte gratuita, non può essere modificata ed è difficile da comprendere. La seconda categoria ha spesso una base di utenti più piccola e soffre quando i suoi sviluppatori e manutentori si diplomano.
MuJoCo è uno dei pochi simulatori completi supportati da un’azienda affermata, che è veramente open source. In quanto organizzazione orientata alla ricerca, consideriamo MuJoCo come una piattaforma di collaborazione, dove esperti di robotica e ingegneri possono unirsi a noi per sviluppare uno dei migliori simulatori di robot al mondo.
Le caratteristiche che rendono MuJoCo particolarmente attraente per la collaborazione sono:
- Simulatore completo che può modello complesso meccanismi.
- Codice leggibile, performante e portatile.
- Base di codice facilmente estensibile.
- Documentazione dettagliata: commenti sia rivolti all’utente che al codice.
Ci auguriamo che i colleghi del mondo accademico e della comunità OSS traggano vantaggio da questa piattaforma e contribuiscano alla base di codice, migliorando la ricerca per tutti.
Prestazione
Essendo una libreria C senza allocazione dinamica della memoria, MuJoCo è molto veloce. Sfortunatamente, la velocità della fisica grezza è stata storicamente ostacolata dai wrapper Python, che hanno reso le operazioni batch e multi-thread non performanti a causa della presenza del Global Interpreter Lock (GIL) e del codice non compilato. Nella nostra tabella di marcia riportata di seguito, affronteremo questo problema in futuro.
Per ora, vorremmo condividere alcuni risultati di benchmarking per due modelli comuni. I risultati sono stati ottenuti su una macchina AMD Ryzen 9 5950X standard, con Windows 10.
Tabella di marcia
Ecco la nostra tabella di marcia a breve termine per MuJoCo:
- Sblocca il potenziale di velocità di MuJoCo con la simulazione batch e multi-thread.
- Supporta scene più grandi con miglioramenti alla gestione della memoria interna.
- Nuovo compilatore incrementale con migliore componibilità del modello.
- Supporto per un rendering migliore tramite l’integrazione di Unity.
- Supporto nativo per derivate fisiche, sia analitiche che alle derivate finite.
Saperne di più
Risorse utili su MuJoCo:
Non vediamo l’ora di ricevere i vostri contributi!