Компания DeepMind открыла исходные тексты движка для симуляции физических процессов MuJoCo (Multi-Joint dynamics with Contact) и перевела проект на открытую модель разработки, подразумевающую возможность участия в разработке представителей сообщества. Проект рассматривается как платформа для проведения исследований и совместной работы над новыми технологиями, связанными с симуляцией роботов и сложных механизмов. Код опубликован под лицензией Apache 2.0. Поддерживаются платформы Linux, Windows и macOS.
MuJoCo представляет собой библиотеку с реализацией движка симуляции физических процессов и моделирование сочленённых структур, взаимодействующих с окружающей средой, который может применяться в процессе разработки роботов, биомеханических устройств и систем искусственного интеллекта, а также при создании графики, анимации и компьютерных игр. Движок написан на Си, не использует динамическое выделение памяти и оптимизирован для достижения максимальной производительности.
MuJoCo позволяет манипулировать объектами на низком уровне, обеспечивая при этом высокую точность и широкие возможности моделирования. Модели определяются при помощи языка описания сцен MJCF, основанного на XML и компилируемого при помощи специального оптимизирующего компилятора. Помимо MJCF движок поддерживает загрузку файлов в универсальном формате URDF (Unified Robot Description Format). MuJoCo также предоставляет графический интерфейс для интерактивной 3D-визуализации процесса симуляции и рендеринга результатов с использованием OpenGL.
Osnovne mogućnosti:
- Simulacija u generaliziranim koordinatama, isključujući zglobne prekršaje.
- Obrnuta dinamika, uočljiva čak i u prisustvu kontakta.
- Korištenje konveksnog programiranja za formuliranje ujedinjenih ograničenja u kontinuiranom vremenu.
- Sposobnost postavljanja različitih ograničenja, uključujući soft touch i suho trenje.
- Simulacija sistema čestica, tkanina, užadi i mekih predmeta.
- Aktuatori (aktuatori), uključujući motore, cilindre, mišiće, tetive i mehanizme radilice.
- Rješači zasnovani na Newtonu, konjugiranom gradijentu i Gauss-Seidelovim metodama.
- Mogućnost korištenja piramidalnih ili eliptičnih frikcionih konusa.
- Koristite svoj izbor metoda numeričke integracije Euler ili Runge-Kutta.
- Višenitna diskretizacija i aproksimacija konačnih razlika.
izvor: opennet.ru