High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems.
Simbody is a high-performance C++ multibody dynamics and physics library for simulating articulated biomechanical and mechanical systems. It provides a toolkit for modeling motion of rigid bodies interconnected by joints, influenced by forces and motions, and restricted by constraints, with applications in robotics, vehicle dynamics, and human biomechanics. The library enables O(n) time complexity simulations using generalized/internal coordinates, making it suitable for science- and engineering-quality simulations.
Researchers, engineers, and developers working in robotics, biomechanics, vehicle dynamics, and mechanical simulation who need accurate, high-performance multibody dynamics capabilities for their applications. It's particularly valuable for those building domain-specific simulation tools like OpenSim for biomechanics or Gazebo for robotics.
Developers choose Simbody for its high-performance O(n) multibody dynamics algorithms, extensive feature set including contact modeling and optimization tools, and proven reliability in scientific and engineering applications. Its open-source nature and cross-platform support make it accessible for both academic research and industrial applications.
High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements Featherstone-style multibody dynamics for efficient simulation of complex articulated systems, enabling realistic modeling of robots and biomechanical structures with O(n) time complexity as stated in the README.
Includes a wide range of joint types, contact models like Hertz and Hunt-Crossley, and built-in optimizers (gradient descent, interior point, CMA) for solving simulation-based problems, as detailed in the features section.
Used in established projects such as OpenSim for biomechanics and Gazebo for robotics, demonstrating reliability and adoption in academic and research settings, with examples provided in the README.
Supports Windows, Mac, and Linux via multiple methods including package managers (Homebrew, apt-get, Conda) and source builds with CMake, with extensive installation instructions covering various environments.
Requires managing external libraries like LAPACK, BLAS, and optional visualization dependencies, with detailed, multi-step installation processes that can be challenging, especially for source builds on Windows or with MinGW.
As a low-level C++ library focused on scientific accuracy, it demands significant expertise in multibody dynamics and C++ programming to use effectively, lacking high-level abstractions for quick prototyping.
The integrated OpenGL visualizer is basic and optional; for advanced GUI needs or real-time editing, users must implement their own solutions or rely on external tools, adding development overhead.