Welcome to DART documentation!

Introduction

DART (Dynamic Animation and Robotics Toolkit) is a collaborative, cross-platform, open-source, research-focused physics engine developed by the Graphics Lab and Humanoid Robotics Lab at the Georgia Institute of Technology, with ongoing contributions from the Personal Robotics Lab at the University of Washington and the Open Source Robotics Foundation. It provides data structures and algorithms for kinematic and dynamic applications in robotics, animation, and machine learning. DART is designed for users who need transparent dynamics, collision, and constraint-solving foundations rather than a black-box simulator. Its accuracy and stability come from generalized coordinates for articulated rigid body systems and Featherstone’s Articulated Body Algorithm for motion dynamics.

Why DART?

  • Easy to start from Python or C++ packages, with reproducible source builds available through pixi.

  • Research-grade dynamics with direct access to mass matrices, Jacobians, forces, constraints, contacts, and other internal quantities.

  • Extensible foundations for implementing new algorithms and comparing them against existing DART baselines.

  • Cross-platform CPU support today, with roadmap work for multi-core, SIMD, and accelerator backends.

  • Production and research ecosystem use through Gazebo, robotics labs, and downstream applications, with best-effort support for production use.

AI Docs (Interactive Q&A; Experimental)

The official documentation is the source of truth. If you want AI-assisted Q&A and summaries, try:

These tools are experimental and may be incomplete or occasionally outdated.

Documentation can lag behind the code as the project evolves; please report outdated pages or errors in GitHub Issues.

News and Announcements

For updates and announcements, see the GitHub Discussions Announcements category. Release notes are available in GitHub Releases and the CHANGELOG.

Project Stats

Track GitHub interest over time with Star History. Experimental World benchmark history over commits is covered by the performance dashboard. After the first dashboard publication, the hosted benchmark dashboard is available at dartsim.github.io/dart/performance/.

Social Media

Stay updated with the latest news and developments about DART by following us on Twitter and subscribing to our YouTube channel.

Vision for the next version of DART

For the current research-focused direction and active execution plans, see the DART north star and living plans. Published citation guidance and paper-specific implementation credits are collected on Research Papers And References.

  • Elevate the Python binding to a first-class component, ensuring full support and equivalent functionality to the C++ APIs, rather than remaining in an experimental stage.

  • Modularize the library so that users can select specific components to use with minimal required dependencies, rather than having to use the entire library, including unnecessary parts.

  • Utilize hardware accelerations, such as SIMD, multi-core CPUs, and GPUs, whenever available and enabled by the user, to maximize overall performance.

  • Support both single and double precision, with options to compile the library for required scalar types or leave the template code uncompiled.

  • Minimize dependencies to make the library usable without bringing in all transitive dependencies.

  • Modernize implementation and public APIs to enable users to work with more intuitive and user-friendly APIs.

  • Provide various resources, such as a quick start guide, examples, and tutorials, to lower the initial learning curve for users.

Citation

If you use DART in an academic publication, please consider citing this JOSS Paper [BibTeX]

@article{Lee2018,
  doi = {10.21105/joss.00500},
  url = {https://doi.org/10.21105/joss.00500},
  year  = {2018},
  month = {Feb},
  publisher = {The Open Journal},
  volume = {3},
  number = {22},
  pages = {500},
  author = {Jeongseok Lee and Michael X. Grey and Sehoon Ha and Tobias Kunz and Sumit Jain and Yuting Ye and Siddhartha S. Srinivasa and Mike Stilman and C. Karen Liu},
  title = {{DART}: Dynamic Animation and Robotics Toolkit},
  journal = {The Journal of Open Source Software}
}