Repolode
gbionics

gbionics/jaxsim

Um mecanismo de física diferenciável de corpos rígidos, desenvolvido com JAX para controle de robôs, co-design e aprendizado robótico.

Estrelas
204
Forks
22
Issues abertas
8
Último commit
há 4 dias

O que é?

JaxSim é um mecanismo de física escrito em Python sobre JAX, voltado a pesquisadores de robótica que precisam calcular gradientes através da simulação. Ele usa dinâmica multicorpos em coordenadas reduzidas e oferece suporte a robôs com base fixa e base flutuante. Carrega modelos SDF e também aceita URDF por meio de conversão com sdformat.

Como a dinâmica é diferenciável em relação aos parâmetros de hardware, a mesma simulação pode ser usada para projeto e otimização baseados em gradientes. As funções seguem um estilo funcional, podendo ser compiladas com JIT e vetorizadas, e executadas em CPUs, GPUs e TPUs. A biblioteca também disponibiliza algoritmos de dinâmica de corpos rígidos, como matriz de massa, forças de viés, termos de gravidade e Coriolis e Jacobianas de referencial, com diferenciação automática nos modos direto e reverso.

O projeto é experimental, e suas APIs podem mudar entre versões. Atualmente, o foco está na locomoção, com suporte apenas a contatos entre corpos e superfícies de solo suaves.

Recursos principais

  • 01Dinâmica diferenciável em relação aos parâmetros de hardware e cinemáticos.
  • 02Oferece suporte a modelos de robôs com base fixa e base flutuante.
  • 03Carrega modelos SDF diretamente e URDF por meio de conversão com sdformat.
  • 04Compilação JIT e vetorização automática com JAX, com execução em CPU, GPU e TPU.
  • 05Disponibiliza cálculos de matriz de massa, forças de viés, gravidade, Coriolis e Jacobianas de referencial.

Casos de uso

  • Otimização baseada em gradientes da morfologia do robô ou de co-design.
  • Experimentos de aprendizado robótico que precisam de um simulador diferenciável para locomoção de robôs com pernas.
  • Uso dos algoritmos de dinâmica de corpos rígidos como uma biblioteca de dinâmica multicorpos em código JAX.

Início rápido

  1. 1

    Instale pelo PyPI com pip em um ambiente virtual

    pip install jaxsim
  2. 2

    Execute o exemplo de simulação do iCub na seção «Como usar» (requer a instalação de icub_models e jax)

Antes de usar

  • Ainda é experimental, e as APIs podem mudar entre versões sem aviso prévio.
  • Só há suporte a colisões entre corpos e superfícies de chão lisas, com foco em locomoção.
  • O suporte a URDF requer a instalação separada de componentes do Gazebo Sim, como o sdformat.

Em coleções

Tópicos

#robotics#physics-engine#differentiable-simulation#jax#rigid-body-dynamics#multibody-dynamics#robot-learning#aba#ad#automatic-differentiation

Perguntas frequentes

O que é jaxsim?
Um mecanismo de física diferenciável de corpos rígidos, desenvolvido com JAX para controle de robôs, co-design e aprendizado robótico. JaxSim é um mecanismo de física escrito em Python sobre JAX, voltado a pesquisadores de robótica que precisam calcular gradientes através da simulação. Ele usa dinâmica multicorpos em coordenadas reduzidas e oferece suporte a robôs com base fixa e base flutuante. Carrega modelos SDF e também aceita URDF por meio de conversão com sdformat.
jaxsim é gratuito? Qual é a licença?
jaxsim é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
jaxsim ainda é mantido?
Manutenção ativa. O último commit de jaxsim foi em 2 de nov. de 2026.
Para que posso usar jaxsim?
Otimização baseada em gradientes da morfologia do robô ou de co-design. Experimentos de aprendizado robótico que precisam de um simulador diferenciável para locomoção de robôs com pernas. Uso dos algoritmos de dinâmica de corpos rígidos como uma biblioteca de dinâmica multicorpos em código JAX.
Como instalar jaxsim?
Instale pelo PyPI com pip em um ambiente virtual: pip install jaxsim Execute o exemplo de simulação do iCub na seção «Como usar» (requer a instalação de icub_models e jax)
Onde consigo jaxsim?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/gbionics/jaxsim

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados