Menagerie é uma coleção de modelos de alta qualidade para o mecanismo de física MuJoCo, com curadoria do Google DeepMind.
Um simulador de física é tão bom quanto o modelo que ele está simulando, e em um simulador poderoso como o MuJoCo, com muitas opções de modelagem, é fácil criar modelos “ruins” que não se comportam conforme o esperado. O objetivo desta coleção é fornecer à comunidade uma biblioteca com curadoria de modelos bem projetados que funcionam bem desde o início.
robot-descriptions
git clone
A versão mínima necessária do MuJoCo para cada modelo está especificada em seu respectivo README. Você pode baixar binários pré-construídos para MuJoCo na página de lançamentos do GitHub ou, se estiver trabalhando com Python, pode instalar as ligações nativas do PyPI por meio de pip install mujoco
. Para obter instruções de instalação alternativas, veja aqui.
A estrutura do Menagerie é ilustrada abaixo. Para resumir, incluímos apenas um diretório de modelo, pois todos os outros seguem exatamente o mesmo padrão.
├── unitree_go2
│ ├── assets
│ │ ├── base_0.obj
│ │ ├── ...
│ ├── go2.png
│ ├── go2.xml
│ ├── LICENSE
│ ├── README.md
│ └── scene.xml
│ └── go2_mjx.xml
│ └── scene_mjx.xml
assets
: armazena as malhas 3D (.stl ou .obj) do modelo usado para fins visuais e de colisãoLICENSE
: descreve os direitos autorais e os termos de licenciamento do modeloREADME.md
: contém etapas detalhadas que descrevem como o arquivo XML MJCF do modelo foi gerado.xml
: contém a definição MJCF do modeloscene.xml
: inclui .xml
com um plano, uma fonte de luz e potencialmente outros objetos.png
: uma imagem PNG de scene.xml
_mjx.xml
: contém uma versão do modelo compatível com MJX. Nem todos os modelos possuem uma variante MJX (consulte Modelos Menagerie para obter mais informações).scene_mjx.xml
: igual a scene.xml
mas carrega a variante MJX Observe que
descreve apenas o modelo, ou seja, nenhuma outra entidade é definida na árvore cinemática. Deixamos definições de corpo adicionais para o arquivo scene.xml
, como pode ser visto em Shadow Hand scene.xml
.
robot-descriptions
Você pode usar o pacote robot_descriptions
de código aberto para carregar qualquer modelo no Menagerie. Ele está disponível no PyPI e pode ser instalado via pip install robot_descriptions
.
Depois de instalado, você pode carregar um modelo de sua escolha da seguinte forma:
import mujoco
# Loading a specific model description as an imported module.
from robot_descriptions import panda_mj_description
model = mujoco . MjModel . from_xml_path ( panda_mj_description . MJCF_PATH )
# Directly loading an instance of MjModel.
from robot_descriptions . loaders . mujoco import load_robot_description
model = load_robot_description ( "panda_mj_description" )
# Loading a variant of the model, e.g. panda without a gripper.
model = load_robot_description ( "panda_mj_description" , variant = "panda_nohand" )
git clone
Você também pode clonar diretamente este repositório no diretório de sua escolha:
git clone https://github.com/google-deepmind/mujoco_menagerie.git
Você pode então explorar o modelo interativamente usando o visualizador Python:
python -m mujoco.viewer --mjcf mujoco_menagerie/unitree_go2/scene.xml
Se você tiver mais dúvidas, consulte nosso FAQ.
Nosso objetivo é eventualmente tornar todos os modelos do Menagerie tão fiéis quanto possível ao sistema real que está sendo modelado. Melhorar a qualidade dos modelos é um esforço contínuo e o estado atual de muitos modelos não é necessariamente tão bom quanto poderia ser.
No entanto, ao lançar o Menagerie no seu estado atual, esperamos consolidar e aumentar a visibilidade das contribuições da comunidade. Para ajudar os usuários do Menagerie a definir expectativas adequadas em relação à qualidade de cada modelo, introduzimos o seguinte sistema de classificação:
Nota | Descrição |
---|---|
UM+ | Os valores são o produto da identificação adequada do sistema |
UM | Os valores são realistas, mas não foram devidamente identificados |
B | Estável, mas alguns valores não são realistas |
C | Condicionalmente estável, pode ser significativamente melhorado |
O sistema de classificação será aplicado a cada modelo assim que uma caixa de ferramentas de identificação do sistema adequada for criada. No momento, estamos planejando lançar esta caixa de ferramentas ainda este ano.
Para obter mais informações sobre contribuições, por exemplo, para adicionar um novo modelo ao Menagerie, consulte CONTRIBUINDO.
Braços.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
FR3 | Franka Robótica | 7 | Apache-2.0 | ✖️ |
iiwa14 | KUKA | 7 | Cláusula BSD-3 | ✖️ |
Lite6 | UFATÓRIA | 6 | Cláusula BSD-3 | ✖️ |
Panda | Franka Robótica | 7 | Cláusula BSD-3 | ✔️ |
Serrador | Repensar a Robótica | 7 | Apache-2.0 | ✖️ |
Unidade Z1 | Unitree Robótica | 6 | Cláusula BSD-3 | ✖️ |
UR5e | Robôs Universais | 6 | Cláusula BSD-3 | ✖️ |
UR10e | Robôs Universais | 6 | Cláusula BSD-3 | ✖️ |
ViperX300 | Robótica Trossen | 8 | Cláusula BSD-3 | ✖️ |
ViúvaX 250 | Robótica Trossen | 8 | Cláusula BSD-3 | ✖️ |
xarm7 | UFATÓRIA | 7 | Cláusula BSD-3 | ✖️ |
Geração 3 | Robótica Kinova | 7 | Cláusula BSD-3 | ✖️ |
Bípedes.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
Cássia | Agilidade Robótica | 28 | Cláusula BSD-3 | ✖️ |
Braços duplos.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
ALOHA 2 | Trossen Robótica, Google DeepMind | 16 | Cláusula BSD-3 | ✔️ |
Drones.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
Mosca Louca 2 | Bitcraze | 0 | MIT | ✖️ |
Skydio X2 | Skydio | 0 | Apache-2.0 | ✖️ |
Efetores finais.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
Allegro Mão V3 | Wonik Robótica | 16 | Cláusula BSD-2 | ✖️ |
SALTO Mão | Universidade Carnegie Mellon | 16 | MIT | ✖️ |
Robótico 2F-85 | Robotiq | 8 | Cláusula BSD-2 | ✖️ |
Mão Sombra EM35 | Companhia de Robôs Sombrios | 24 | Apache-2.0 | ✖️ |
Mão Shadow DEX-EE | Companhia de Robôs Sombrios | 12 | Apache-2.0 | ✖️ |
Manipuladores móveis.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
Robô Google | Google DeepMind | 9 | Apache-2.0 | ✖️ |
Alongamento 2 | Olá robô | 17 | Limpar BSD | ✖️ |
Alongamento 3 | Olá robô | 17 | Apache-2.0 | ✖️ |
Humanóides.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
Robotis OP3 | Robotis | 20 | Apache-2.0 | ✖️ |
Unidade G1 | Unitree Robótica | 37 | Cláusula BSD-3 | ✖️ |
Unidade H1 | Unitree Robótica | 19 | Cláusula BSD-3 | ✖️ |
TALOS | Robótica PAL | 32 | Apache-2.0 | ✖️ |
Quadrúpedes.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
QUALQUER mal B | ANYbótica | 12 | Cláusula BSD-3 | ✖️ |
QUALQUER mal C | ANYbótica | 12 | Cláusula BSD-3 | ✔️ |
Ver | Dinâmica de Boston | 12 | Cláusula BSD-3 | ✖️ |
Unidade A1 | Unitree Robótica | 12 | Cláusula BSD-3 | ✖️ |
Unitree Go1 | Unitree Robótica | 12 | Cláusula BSD-3 | ✖️ |
Unitree Go2 | Unitree Robótica | 12 | Cláusula BSD-3 | ✔️ |
Google Barkour v0 | Google DeepMind | 12 | Apache-2.0 | ✔️ |
Google Barkour vB | Google DeepMind | 12 | Apache-2.0 | ✔️ |
Biomecânico.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
corpo voador | Google DeepMind, campus de pesquisa HHMI Janelia | 102 | Apache-2.0 | ✖️ |
Variado.
Nome | Fabricante | DoFs | Licença | MJX |
---|---|---|---|---|
D435i | Intel Realsense | 0 | Apache-2.0 | ✖️ |
Se você usa Menagerie em seu trabalho, use a seguinte citação:
@software { menagerie2022github ,
author = { Zakka, Kevin and Tassa, Yuval and {MuJoCo Menagerie Contributors} } ,
title = { {MuJoCo Menagerie: A collection of high-quality simulation models for MuJoCo} } ,
url = { http://github.com/google-deepmind/mujoco_menagerie } ,
year = { 2022 } ,
}
Os modelos neste repositório são baseados em modelos de terceiros projetados por muitas pessoas talentosas e não teriam sido possíveis sem suas generosas contribuições de código aberto. Gostaríamos de agradecer a todos os designers e engenheiros que tornaram possível o MuJoCo Menagerie.
Gostaríamos de agradecer a Pedro Vergani pela ajuda com visual e design.
O principal esforço necessário para disponibilizar este repositório publicamente foi realizado por Kevin Zakka, com a ajuda da equipe de Simulação de Robótica do Google DeepMind.
Os arquivos XML e de ativos em cada diretório de modelo individual deste repositório estão sujeitos a diferentes termos de licença. Consulte os arquivos LICENSE
em cada subdiretório de modelo específico para obter informações relevantes sobre licença e direitos autorais.
Todos os outros conteúdos são protegidos por Copyright 2022 DeepMind Technologies Limited e licenciados sob a Licença Apache, Versão 2.0. Uma cópia desta licença é fornecida no arquivo LICENSE de nível superior neste repositório. Você também pode obtê-lo em https://www.apache.org/licenses/LICENSE-2.0.
Este não é um produto do Google com suporte oficial.