Repolode
dartsim

dartsim/dart

Biblioteca de física en C++17 con bindings de Python para simular la cinemática, la dinámica y los contactos de robots articulados y personajes animados.

Alternativa open source a:MATLAB Simscape Multibody

Estrellas
1,224
Forks
307
Issues abiertos
13
Último commit
hace 4 horas

¿Qué es?

DART (Dynamic Animation and Robotics Toolkit) es una biblioteca de C++17 con bindings de Python (dartpy) para simular cuerpos rígidos y blandos articulados. Representa los sistemas en coordenadas generalizadas y calcula el movimiento con el Articulated Body Algorithm de Featherstone; además, expone la matriz de masa, las fuerzas de Coriolis y de gravedad, los Jacobianos y sus derivadas.

El motor gestiona los contactos mediante solvers basados en LCP (Dantzig y PGS), límites de articulación y bucles cinemáticos cerrados. La detección de colisiones puede usar FCL (opción predeterminada), Bullet, ODE o el detector propio de DART. Los modelos de robots y escenas se cargan desde archivos URDF, SDF, SKEL y MJCF (experimental), e incluye cinemática inversa jerárquica de cuerpo completo. DART también funciona como backend de física de Gazebo a través de gz-physics.

La biblioteca está disponible mediante pip, conda-forge, vcpkg, Homebrew y varias distribuciones de Linux, y se puede compilar desde el código fuente con pixi.

Funciones clave

  • 01Dinámica en coordenadas generalizadas mediante el Articulated Body Algorithm de Featherstone
  • 02Simulación de contactos basada en LCP con solvers Dantzig y PGS, además de soporte para cuerpos blandos
  • 03Backends de detección de colisiones que incluyen FCL, Bullet, ODE y un detector propio
  • 04Carga de modelos desde archivos URDF, SDF, SKEL y MJCF experimental
  • 05Cinemática inversa jerárquica de cuerpo completo con soporte para solvers analíticos
  • 06API de C++ y bindings de Python dartpy

Casos de uso

  • Simular robots humanoides o manipuladores para investigar el control y la planificación de movimiento
  • Crear prototipos de control de cuerpo completo con cinemática inversa y métodos de espacio operacional
  • Generar animaciones de personajes físicamente plausibles con cuerpos articulados
  • Servir como backend de física para simuladores de robótica como Gazebo

Inicio rápido

  1. 1

    Instalar el paquete de Python

    pip install dartpy
  2. 2

    Instalar el paquete de C++ en Ubuntu / Debian

    sudo apt install libdart-all-dev
  3. 3

    Instalar el paquete de C++ en macOS con Homebrew

    brew install dartsim

Antes de usarlo

  • La rama de desarrollo main puede cambiar; para un comportamiento estable, se necesita una versión etiquetada o instalar el paquete.
  • Los paquetes de las distribuciones pueden tardar en incluir la versión más reciente.
  • Los wheels de PyPI solo cubren las plataformas y versiones de Python más comunes.

En colecciones

Temas

#robotics#physics-engine#simulation#inverse-kinematics#multibody-dynamics#computer-animation#python-bindings#cpp#collision-detection#cpp17

Preguntas frecuentes

¿Qué es dart?
Biblioteca de física en C++17 con bindings de Python para simular la cinemática, la dinámica y los contactos de robots articulados y personajes animados. DART (Dynamic Animation and Robotics Toolkit) es una biblioteca de C++17 con bindings de Python (dartpy) para simular cuerpos rígidos y blandos articulados. Representa los sistemas en coordenadas generalizadas y calcula el movimiento con el Articulated Body Algorithm de Featherstone; además, expone la matriz de masa, las fuerzas de Coriolis y de gravedad, los Jacobianos y sus derivadas.
¿dart es gratuito? ¿Qué licencia tiene?
dart es open source bajo la licencia BSD-2-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿dart sigue mantenido?
Mantenimiento activo. El último commit de dart fue el 6 nov 2026.
¿Para qué puedo usar dart?
Simular robots humanoides o manipuladores para investigar el control y la planificación de movimiento Crear prototipos de control de cuerpo completo con cinemática inversa y métodos de espacio operacional Generar animaciones de personajes físicamente plausibles con cuerpos articulados Servir como backend de física para simuladores de robótica como Gazebo
¿Cómo se instala dart?
Instalar el paquete de Python: pip install dartpy Instalar el paquete de C++ en Ubuntu / Debian: sudo apt install libdart-all-dev Instalar el paquete de C++ en macOS con Homebrew: brew install dartsim
¿Dónde consigo dart?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dartsim/dart

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

Proyectos relacionados