DeepMind открыл код симулятора физических процессов MuJoCo

Компания 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.

Основные возможности:

  • Симуляция в обобщённых координатах, исключающая нарушение сочленений.
  • Обратная динамика, определяемая даже при наличии соприкосновений.
  • Использование выпуклого программирования для унифицированного формулирования ограничений в непрерывном времени.
  • Возможность задания различных ограничений, включая мягкие касания и сухое трение.
  • Симуляция систем частиц, тканей, верёвок и мягких объектов.
  • Исполнительные элементы (актуаторы), включая моторы, цилиндры, мышцы, сухожилия и кривошипно-шатунные механизмы.
  • Решающие программы на основе методов Ньютона, сопряжённых градиентов и Гаусса-Зейделя.
  • Возможность использования пирамидальных или эллиптических конусов трения.
  • Использование на выбор методов численного интегрирования Эйлера или Рунге-Кутты.
  • Многопоточная дискретизация и аппроксимация методом конечных разностей.






Release. Ссылка here.