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

Принадлежащая Google компания DeepMind, получившая известность своими разработками в области искусственного интеллекта и построения нейронных сетей, способных играть в компьютерные игры на уровне человека, объявила об открытии движка для симуляции физических процессов MuJoCo (Multi-Joint dynamics with Contact). Движок нацелен на моделирование сочленённых структур, взаимодействующих с окружающей средой, и применяется для симуляции при разработке роботов и систем искусственного интеллекта, на стадии перед воплощением развиваемой технологии в виде готового устройства.

Код написан на языках C/C++ и будет опубликован под лицензией Apache 2.0. Поддерживаются платформы Linux, Windows и macOS. Работу по открытию всех связанных с проектом исходных текстов планируют завершить в 2022 году, после чего MuJoCo перейдёт на открытую модель разработки, подразумевающую возможность участия в разработке представителей сообщества.

MuJoCo представляет собой библиотеку с реализацией движка симуляции физических процессов общего назначения, который может применяться в процессе исследований и разработки роботов, биомеханических устройств и систем машинного обучения, а также при создании графики, анимации и компьютерных игр. Движок симуляции оптимизирован для достижения максимальной производительности и позволяет манипулировать объектами на низком уровне, обеспечивая при этом высокую точность и широкие возможности моделирования.

Модели определяются при помощи языка описания сцен MJCF, основанного на XML и компилируемого при помощи специального оптимизирующего компилятора. Помимо MJCF движок поддерживает загрузку файлов в универсальном формате URDF (Unified Robot Description Format). MuJoCo также предоставляет графический интерфейс для интерактивной 3D-визуализации процесса симуляции и рендеринга результатов с использованием OpenGL.



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

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












Release. Ссылка here.