A DeepMind megnyitotta a MuJoCo (Multi-Joint dynamics with Contact) fizikai folyamatokat szimuláló motor forráskódját, és a projektet egy nyílt fejlesztési modellbe ülteti át, ami lehetővé teszi a közösség tagjainak részvételét a fejlesztésben. A projektet a robotok és összetett mechanizmusok szimulációjához kapcsolódó új technológiákkal kapcsolatos kutatási és együttműködési platformnak tekintik. A kód az Apache 2.0 licenc alatt jelent meg. Linux, Windows és macOS platformok támogatottak.
A MuJoCo egy olyan könyvtár, amely fizikai folyamatok szimulálására és a környezettel kölcsönhatásba lépő csuklós szerkezetek modellezésére alkalmas motort valósít meg, amely felhasználható robotok, biomechanikai eszközök és mesterséges intelligencia rendszerek fejlesztésében, valamint grafikai, animációs és számítógépes alkotásokban. játékok. A motor C nyelven íródott, nem használ dinamikus memóriakiosztást, és a maximális teljesítményre van optimalizálva.
A MuJoCo lehetővé teszi az objektumok alacsony szintű kezelését, miközben nagy pontosságot és kiterjedt modellezési lehetőségeket biztosít. A modellek definiálása az MJCF jelenetleíró nyelv használatával történik, amely XML-en alapul, és egy speciális optimalizáló fordítóval fordítják le. Az MJCF mellett a motor támogatja az univerzális URDF (Unified Robot Description Format) fájlok betöltését. A MuJoCo grafikus felhasználói felületet is biztosít a szimulációs folyamat interaktív 3D-s megjelenítéséhez és az eredmények OpenGL használatával történő megjelenítéséhez.
Főbb jellemzők:
- Szimuláció általánosított koordinátákkal, kizárva az ízületek megsértését.
- Fordított dinamika, még érintkezés jelenlétében is meghatározva.
- Konvex programozás használata kényszerek egységes megfogalmazására folyamatos időben.
- Különböző korlátok beállításának lehetősége, beleértve a lágy érintést és a száraz súrlódást.
- Részecskerendszerek, szövetek, kötelek és puha tárgyak szimulációja.
- Végrehajtó elemek (aktorok), beleértve a motorokat, hengereket, izmokat, inakat és forgattyús mechanizmusokat.
- Newton-módszeren, konjugált gradienseken és Gauss-Seidelen alapuló megoldók.
- Lehetőség piramis vagy ellipszis alakú súrlódó kúpok használatára.
- Euler vagy Runge-Kutta numerikus integrációs módszereinek megválasztásával.
- Többszálú diszkretizálás és közelítés véges különbségek módszerével.
Forrás: opennet.ru