DeepMind apre il codice per il simulatore di fisica MuJoCo

DeepMind ha aperto il codice sorgente del motore per la simulazione dei processi fisici MuJoCo (Multi-Joint Dynamics with Contact) e ha trasferito il progetto a un modello di sviluppo aperto, che implica la possibilità che i membri della comunità partecipino allo sviluppo. Il progetto è visto come una piattaforma per la ricerca e la collaborazione sulle nuove tecnologie legate alla simulazione di robot e meccanismi complessi. Il codice è pubblicato sotto la licenza Apache 2.0. Sono supportate le piattaforme Linux, Windows e macOS.

MuJoCo è una libreria che implementa un motore per la simulazione di processi fisici e la modellazione di strutture articolate che interagiscono con l'ambiente, che può essere utilizzato nello sviluppo di robot, dispositivi biomeccanici e sistemi di intelligenza artificiale, nonché nella creazione di grafica, animazione e computer Giochi. Il motore è scritto in C, non utilizza l'allocazione dinamica della memoria ed è ottimizzato per le massime prestazioni.

MuJoCo ti consente di manipolare oggetti a basso livello, fornendo allo stesso tempo elevata precisione e ampie capacità di modellazione. I modelli vengono definiti utilizzando il linguaggio di descrizione della scena MJCF, che è basato su XML e compilato utilizzando uno speciale compilatore di ottimizzazione. Oltre a MJCF, il motore supporta il caricamento di file nell'URDF universale (Unified Robot Description Format). MuJoCo fornisce anche una GUI per la visualizzazione 3D interattiva del processo di simulazione e il rendering dei risultati utilizzando OpenGL.

Caratteristiche principali:

  • Simulazione in coordinate generalizzate, escluse le violazioni congiunte.
  • Dinamica inversa, rilevabile anche in presenza di contatto.
  • Utilizzo della programmazione convessa per formulare vincoli unificati nel tempo continuo.
  • Possibilità di impostare varie restrizioni, tra cui tocco morbido e attrito asciutto.
  • Simulazione di sistemi particellari, tessuti, corde e oggetti morbidi.
  • Attuatori (attuatori), inclusi motori, cilindri, muscoli, tendini e meccanismi a manovella.
  • Risolutori basati sui metodi di Newton, del gradiente coniugato e di Gauss-Seidel.
  • Possibilità di utilizzare coni di frizione piramidali o ellittici.
  • Utilizza il metodo di integrazione numerica di Eulero o Runge-Kutta che preferisci.
  • Discretizzazione multi-thread e approssimazione alle differenze finite.



Fonte: opennet.ru

Aggiungi un commento