DeepMind отвори изходния код на двигателя за симулиране на физически процеси MuJoCo (Multi-Joint динамика с контакт) и прехвърли проекта към отворен модел за разработка, което предполага възможност членовете на общността да участват в разработката. Проектът се разглежда като платформа за изследване и сътрудничество върху нови технологии, свързани със симулацията на роботи и сложни механизми. Кодът е публикуван под лиценз Apache 2.0. Поддържат се платформи Linux, Windows и macOS.
MuJoCo е библиотека, която внедрява двигател за симулиране на физически процеси и моделиране на шарнирни структури, взаимодействащи с околната среда, която може да се използва при разработването на роботи, биомеханични устройства и системи за изкуствен интелект, както и при създаването на графики, анимация и компютър игри. Двигателят е написан на C, не използва динамично разпределение на паметта и е оптимизиран за максимална производителност.
MuJoCo ви позволява да манипулирате обекти на ниско ниво, като същевременно осигурява висока точност и широки възможности за моделиране. Моделите се дефинират с помощта на езика за описание на сцени MJCF, който е базиран на XML и се компилира с помощта на специален оптимизиращ компилатор. В допълнение към MJCF, двигателят поддържа зареждане на файлове в универсалния URDF (Unified Robot Description Format). MuJoCo също така предоставя GUI за интерактивна 3D визуализация на процеса на симулация и изобразяване на резултатите с помощта на OpenGL.
Основни возможности:
- Симулация в обобщени координати, с изключение на ставни нарушения.
- Обратна динамика, откриваема дори при наличие на контакт.
- Използване на изпъкнало програмиране за формулиране на унифицирани ограничения в непрекъснато време.
- Възможност за задаване на различни ограничения, включително меко докосване и сухо триене.
- Симулация на системи от частици, тъкани, въжета и меки предмети.
- Задвижващи механизми (задвижващи механизми), включително двигатели, цилиндри, мускули, сухожилия и колянови механизми.
- Решаватели, базирани на методи на Нютон, спрегнат градиент и Гаус-Зайдел.
- Възможност за използване на пирамидални или елипсовидни фрикционни конуси.
- Използвайте избраните от вас методи на числено интегриране на Ойлер или Рунге-Кута.
- Многонишкова дискретизация и апроксимация с крайни разлики.
Източник: opennet.ru