Apertura del codice sorgente di MuJoCo

'Apertura del codice sorgente di MuJoCo' can be condensed to 'Apertura codice sorgente MuJoCo'.

Ad ottobre 2021, abbiamo annunciato di avere acquisito il simulatore fisico MuJoCo e di averlo reso disponibile gratuitamente per tutti a supporto della ricerca in tutto il mondo. Ci siamo anche impegnati a sviluppare e mantenere MuJoCo come un progetto gratuito, open source e guidato dalla comunità con funzionalità di prima classe. Oggi, siamo entusiasti di annunciare che la condivisione del codice sorgente è completa e l’intera base di codice è su GitHub!

Qui, spieghiamo perché MuJoCo è una piattaforma eccellente per la collaborazione open source e condividiamo un’anteprima della nostra roadmap per il futuro.

Una piattaforma per la collaborazione

I simulatori fisici sono strumenti fondamentali nella ricerca robotica moderna e spesso rientrano in queste due categorie:

  1. Software commerciale chiuso e proprietario.
  2. Software open source, spesso creato in ambito accademico.

La prima categoria è opaca per l’utente e, anche se talvolta gratuita da utilizzare, non può essere modificata ed è difficile da comprendere. La seconda categoria spesso ha una base di utenti più piccola e soffre quando i suoi sviluppatori e manutentori si laureano.

MuJoCo è uno dei pochi simulatori completi supportati da un’azienda consolidata e veramente open source. Come organizzazione orientata alla ricerca, consideriamo MuJoCo come una piattaforma per la collaborazione, in cui robotici ed ingegneri possono unirsi a noi per sviluppare uno dei migliori simulatori di robot al mondo.

Le caratteristiche che rendono MuJoCo particolarmente attrattivo per la collaborazione sono:

  • Simulatore completo in grado di modellare meccanismi complessi.
  • Codice leggibile, performante e portabile.
  • Base di codice facilmente estensibile.
  • Documentazione dettagliata: sia per l’utente che per i commenti nel codice.

Speriamo che colleghi nel mondo accademico e nella comunità OSS traggano vantaggio da questa piattaforma e contribuiscano al codice, migliorando la ricerca per tutti.

Prestazioni

Come libreria C senza allocazione di memoria dinamica, MuJoCo è molto veloce. Purtroppo, la velocità fisica grezza è stata storicamente ostacolata dagli wrapper Python, che rendevano non performanti le operazioni batched e multithread a causa della presenza del Global Interpreter Lock (GIL) e del codice non compilato. Nella nostra roadmap qui di seguito, affrontiamo questo problema per il futuro.

Per ora, vorremmo condividere alcuni risultati di benchmark per due modelli comuni. I risultati sono stati ottenuti su una macchina standard AMD Ryzen 9 5950X, con sistema operativo Windows 10.

Questi valori sono stati ottenuti dal nostro codice di esempio testspeed . Notare che viene inserito del rumore di controllo negli attuatori per impedire al sistema di stabilizzarsi in uno stato fisso e sono quindi rappresentativi delle prestazioni reali.

Roadmap

Ecco la nostra roadmap a breve termine per MuJoCo:

  • Sbloccare il potenziale di velocità di MuJoCo con simulazioni batched e multithread.
  • Supportare scene più grandi con miglioramenti alla gestione interna della memoria.
  • Nuovo compilatore incrementale con una migliore componibilità del modello.
  • Supporto per un rendering migliore tramite integrazione con Unity.
  • Supporto nativo per derivate fisiche, sia analitiche che a differenze finite.

Per saperne di più

Risorse utili su MuJoCo:

  • Documentazione di MuJoCo
  • Repository MuJoCo su GitHub
  • Come contribuire

Non vediamo l’ora di ricevere i vostri contributi!