A Google tulajdonában lévő, a mesterséges intelligencia területén végzett fejlesztéseiről és az emberi szinten számítógépes játékokat lejátszani képes neurális hálózatok építéséről ismert DeepMind cég bejelentette, hogy felfedezte a fizikai folyamatokat szimuláló motort, a MuJoCo-t (Multi-Joint dynamics with Contact). A motor a környezettel kölcsönhatásba lépő csuklós szerkezetek modellezésére szolgál, és szimulációra szolgál robotok és mesterséges intelligencia rendszerek fejlesztésében, a kifejlesztett technológia kész eszköz formájában történő megvalósítását megelőző szakaszban.
A kód C/C++ nyelven íródott, és az Apache 2.0 licenc alatt fog megjelenni. Linux, Windows és macOS platformok támogatottak. A projekthez kapcsolódó összes forráskód megnyitásával kapcsolatos munka a tervek szerint 2022-ben fejeződik be, ezt követően a MuJoCo nyílt fejlesztési modellre tér át, ami magában foglalja a közösségi képviselők fejlesztésében való részvétel lehetőségét.
A MuJoCo egy általános célú fizikai folyamatszimulációs motort megvalósító könyvtár, amely robotok, biomechanikai eszközök és gépi tanulási rendszerek kutatásában és fejlesztésében, valamint grafikai, animációs és számítógépes játékok készítésében használható. A szimulációs motor a maximális teljesítményre van optimalizálva, és lehetővé teszi az objektumok alacsony szintű manipulálását, miközben nagy pontosságot és gazdag szimulációs 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 a fájlok betöltését univerzális URDF formátumban (Unified Robot Description Format). A MuJoCo grafikus 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