Bullet Physics SDK es una biblioteca de C++ para detección de colisiones en tiempo real y simulación multifísica, usada en juegos, VR, robótica y aprendizaje automático.
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
Instalar el paquete de Python
pip install dartpy - 2
Instalar el paquete de C++ en Ubuntu / Debian
sudo apt install libdart-all-dev - 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
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
Biblioteca de código abierto en C++ para simular la dinámica de sistemas articulados, como robots, vehículos y esqueletos humanos.
Biblioteca de multiphysics en C++ para simular sistemas multicuerpo rígidos y flexibles, medios granulares, interacción fluido-sólido, vehículos y robots.
Un pool de entornos por lotes en C++ para aprendizaje por refuerzo, que ejecuta en paralelo muchos entornos tipo Gym mediante un pool de hilos.
Biblioteca de C++ para simulación de cuerpos rígidos y detección de colisiones, optimizada para varios núcleos y destinada a juegos y aplicaciones de VR.
Motor de física diferenciable de cuerpos rígidos basado en JAX para control, codiseño y aprendizaje de robots.