Repolode
gbionics

gbionics/jaxsim

Motor de física diferenciable de cuerpos rígidos basado en JAX para control, codiseño y aprendizaje de robots.

Estrellas
204
Forks
22
Issues abiertos
8
Último commit
hace 4 días

¿Qué es?

JaxSim es un motor de física escrito en Python sobre JAX, pensado para investigadores en robótica que necesitan calcular gradientes a través de la simulación. Usa dinámica multicuerpo en coordenadas reducidas y admite robots con base fija y flotante. Carga modelos SDF y admite URDF mediante conversión con sdformat.

Como la dinámica es diferenciable con respecto a los parámetros del hardware, una misma simulación puede usarse para diseño y optimización basados en gradientes. Las funciones siguen un estilo funcional, por lo que pueden compilarse con JIT y vectorizarse, y ejecutarse en CPU, GPU y TPU. La biblioteca también ofrece algoritmos de dinámica de cuerpos rígidos, como el cálculo de la matriz de masa, las fuerzas de sesgo, los términos de gravedad y Coriolis, y los Jacobianos de los marcos de referencia, con diferenciación automática en modo directo e inverso.

El proyecto es experimental y sus API pueden cambiar entre versiones. Actualmente se centra en la locomoción y solo admite contactos entre cuerpos y superficies de terreno lisas.

Funciones clave

  • 01Dinámica diferenciable con respecto a los parámetros del hardware y cinemáticos.
  • 02Admite modelos de robots con base fija y flotante.
  • 03Carga directamente modelos SDF y modelos URDF mediante conversión con sdformat.
  • 04Compilación JIT y vectorización automática con JAX, con ejecución en CPU, GPU y TPU.
  • 05Ofrece cálculos de la matriz de masa, las fuerzas de sesgo, la gravedad, Coriolis y los Jacobianos de los marcos de referencia.

Casos de uso

  • Optimización basada en gradientes de la morfología o el codiseño de robots.
  • Experimentos de aprendizaje de robots que requieren un simulador diferenciable para la locomoción de robots con patas.
  • Uso de los algoritmos de dinámica de cuerpos rígidos como biblioteca de dinámica multicuerpo en código JAX.

Inicio rápido

  1. 1

    Instálalo desde PyPI con pip en un entorno virtual

    pip install jaxsim
  2. 2

    Ejecuta el ejemplo de simulación de iCub de la sección «Cómo usarlo» (requiere tener instalados icub_models y jax)

Antes de usarlo

  • Aún es experimental y las API pueden cambiar entre versiones sin previo aviso.
  • Solo se admiten colisiones entre cuerpos y superficies de suelo lisas; el enfoque está en la locomoción.
  • La compatibilidad con URDF requiere instalar por separado componentes de Gazebo Sim, como sdformat.

En colecciones

Temas

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

Preguntas frecuentes

¿Qué es jaxsim?
Motor de física diferenciable de cuerpos rígidos basado en JAX para control, codiseño y aprendizaje de robots. JaxSim es un motor de física escrito en Python sobre JAX, pensado para investigadores en robótica que necesitan calcular gradientes a través de la simulación. Usa dinámica multicuerpo en coordenadas reducidas y admite robots con base fija y flotante. Carga modelos SDF y admite URDF mediante conversión con sdformat.
¿jaxsim es gratuito? ¿Qué licencia tiene?
jaxsim es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿jaxsim sigue mantenido?
Mantenimiento activo. El último commit de jaxsim fue el 2 nov 2026.
¿Para qué puedo usar jaxsim?
Optimización basada en gradientes de la morfología o el codiseño de robots. Experimentos de aprendizaje de robots que requieren un simulador diferenciable para la locomoción de robots con patas. Uso de los algoritmos de dinámica de cuerpos rígidos como biblioteca de dinámica multicuerpo en código JAX.
¿Cómo se instala jaxsim?
Instálalo desde PyPI con pip en un entorno virtual: pip install jaxsim Ejecuta el ejemplo de simulación de iCub de la sección «Cómo usarlo» (requiere tener instalados icub_models y jax)
¿Dónde consigo jaxsim?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/gbionics/jaxsim

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados