Bullet Physics SDK é uma biblioteca C++ para detecção de colisões em tempo real e simulação multifísica, usada em jogos, VR, robótica e machine learning.
dartsim/dart
Biblioteca de física em C++17 com bindings para Python, voltada à cinemática, dinâmica e simulação de contato de robôs articulados e personagens animados.
Alternativa open source a:MATLAB Simscape Multibody
- Estrelas
- 1,223
- Forks
- 307
- Issues abertas
- 13
- Último commit
- há 19 horas
O que é?
DART (Dynamic Animation and Robotics Toolkit) é uma biblioteca em C++17 com bindings para Python (dartpy) para simular corpos rígidos e deformáveis articulados. Ela representa sistemas em coordenadas generalizadas e calcula o movimento com o Articulated Body Algorithm de Featherstone, além de disponibilizar a matriz de massa, as forças de Coriolis e da gravidade, os Jacobianos e suas derivadas.
O mecanismo lida com contato por meio de solvers baseados em LCP (Dantzig e PGS), limites de juntas e ciclos cinemáticos fechados. A detecção de colisões pode usar FCL (padrão), Bullet, ODE ou o detector próprio do DART. Modelos de robôs e cenas são carregados de arquivos URDF, SDF, SKEL e MJCF (experimental), e a biblioteca inclui cinemática inversa hierárquica de corpo inteiro. O DART também funciona como backend de física para o Gazebo por meio do gz-physics.
A biblioteca está disponível via pip, conda-forge, vcpkg, Homebrew e várias distribuições Linux, e pode ser compilada a partir do código-fonte com pixi.
Recursos principais
- 01Dinâmica em coordenadas generalizadas usando o Articulated Body Algorithm de Featherstone
- 02Simulação de contato baseada em LCP, com os solvers Dantzig e PGS, além de suporte a corpos deformáveis
- 03Backends de detecção de colisões, incluindo FCL, Bullet, ODE e um detector nativo
- 04Carregamento de modelos de arquivos URDF, SDF, SKEL e MJCF experimental
- 05Cinemática inversa hierárquica de corpo inteiro com suporte a solver analítico
- 06API em C++ e bindings para Python por meio do dartpy
Casos de uso
- Simular robôs humanoides ou manipuladores para pesquisas em controle e planejamento de movimento
- Prototipar controle de corpo inteiro com cinemática inversa e métodos de espaço operacional
- Gerar animações de personagens fisicamente plausíveis com corpos articulados
- Servir como backend de física para simuladores de robótica, como o Gazebo
Início rápido
- 1
Instalar o pacote Python
pip install dartpy - 2
Instalar o pacote C++ no Ubuntu / Debian
sudo apt install libdart-all-dev - 3
Instalar o pacote C++ no macOS com Homebrew
brew install dartsim
Antes de usar
- A branch de desenvolvimento main pode mudar; para ter um comportamento estável, use uma versão com tag ou instale o pacote.
- Os pacotes das distribuições podem demorar para incluir a versão mais recente.
- Os wheels do PyPI cobrem apenas as plataformas e versões do Python mais comuns.
Em coleções
Tópicos
Perguntas frequentes
- O que é dart?
- Biblioteca de física em C++17 com bindings para Python, voltada à cinemática, dinâmica e simulação de contato de robôs articulados e personagens animados. DART (Dynamic Animation and Robotics Toolkit) é uma biblioteca em C++17 com bindings para Python (dartpy) para simular corpos rígidos e deformáveis articulados. Ela representa sistemas em coordenadas generalizadas e calcula o movimento com o Articulated Body Algorithm de Featherstone, além de disponibilizar a matriz de massa, as forças de Coriolis e da gravidade, os Jacobianos e suas derivadas.
- dart é gratuito? Qual é a licença?
- dart é open source sob a licença BSD-2-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- dart ainda é mantido?
- Manutenção ativa. O último commit de dart foi em 5 de nov. de 2026.
- Para que posso usar dart?
- Simular robôs humanoides ou manipuladores para pesquisas em controle e planejamento de movimento Prototipar controle de corpo inteiro com cinemática inversa e métodos de espaço operacional Gerar animações de personagens fisicamente plausíveis com corpos articulados Servir como backend de física para simuladores de robótica, como o Gazebo
- Como instalar dart?
- Instalar o pacote Python: pip install dartpy Instalar o pacote C++ no Ubuntu / Debian: sudo apt install libdart-all-dev Instalar o pacote C++ no macOS com Homebrew: brew install dartsim
- Onde consigo dart?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dartsim/dart
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca open source de dinâmica de corpos múltiplos em C++ para simular sistemas articulados, como robôs, veículos e esqueletos humanos.
Biblioteca C++ de multifísica para simular sistemas multicorpos rígidos e flexíveis, meios granulares, interação fluido-sólido, veículos e robôs.
Um pool de ambientes em lote em C++ para aprendizado por reforço, que executa vários ambientes no estilo Gym em paralelo usando um pool de threads.
Biblioteca C++ de física de corpos rígidos e detecção de colisões, compatível com múltiplos núcleos, para jogos e aplicações de VR.
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.