Kompania DeepMind ka hapur kode burimi për motorin e simulimit të proceseve fizike MuJoCo (Multi-Joint dynamics with Contact) dhe e ka shndërruar projektin në një model të hapur zhvillimi, që parashikon përfshirjen e anëtarëve të komunitetit në zhvillim. Projekti konsiderohet si një platformë për zhvillimin e hulumtimeve dhe bashkëpunimin në teknologji të reja të lidhura me simulimin e robotëve dhe mekanizmave kompleksë. Kodi është publikuar nën licencën Apache 2.0. Mbështeten platformat Linux, Windows dhe macOS.
MuJoCo përfaqëson një bibliotekë me zbatimin e motorit të simulimit të proceseve fizike dhe modelimin e strukturave të ndërlidhura që ndërveprojnë me mjedisin, e cila mund të përdoret në procesin e zhvillimit të robotëve, pajisjeve biomekanike dhe sistemeve të inteligjencës artificiale, si dhe në krijimin e grafikës, animacioneve dhe lojërave kompjuterike. Motori është shkruar në C, nuk përdor alokim dinamik të memories dhe është optimizuar për të arritur maksimumin e performancës.
MuJoCo lejon manipulimin e objekteve në nivel të ulët, duke siguruar njëkohësisht saktësi të lartë dhe mundësi të gjera modelimi. Modelet përcaktohen me gjuhën e përshkrimit të skenave MJCF, e cila bazohet në XML dhe kompilohen me një kompjilator optimizues të veçantë. Përveç MJCF, motori mbështet ngarkimin e skedareve në formatin universale URDF (Unified Robot Description Format). MuJoCo gjithashtu ofron një ndërfaqe grafike për vizualizimin interaktiv 3D të procesit të simulimit dhe renderimin e rezultateve duke përdorur OpenGL.
Funksionalitetet kryesore:
- Simulimi në koordinatat e përgjithshme, duke përjashtuar shkeljet e nyjave.
- Dinamika e kundërt, e cila përcaktohet edhe në prani të kontaktit.
- Përdorimi i programimit konveks për formulimin e unifikuar të kufizimeve në kohë të vazhdueshme.
- Mundësia për caktimin e kufizimeve të ndryshme, duke përfshirë prekjet e buta dhe fërkimi i thatë.
- Simulimi i sistemeve të grimcave, leqenëve, litarëve dhe objekteve të buta.
- Elementët ekzekutivë (aktuatorët), përfshirë motorët, cilindrat, muskujt, tendinat dhe mekanizmat me krivoshkë.
- Programe zgjidhëse të bazuara në metodat e Newton-it, gradientëve të lidhur dhe Gauss-Seidel.
- Mundësia e përdorimit të konveksëve piramidale ose eliptike të fërkimeve.
- Përdorimi sipas zgjedhjes së metodave të integrimit numerik Euler ose Runge-Kutta.
- Dizajnim i shumëfishtë dhe afrimi me metodën e diferencave të përfunduara.


Burimi: opennet.ru
