DART 7 · in development You are reading the documentation for DART 7, an in-progress redesign that is not yet recommended for production use. Looking for the current stable release? See the DART 6 LTS documentation.

User Guide

DART 7 · Python-first

Build a simulation, step by step

This guide takes you from a one-file "hello, DART" simulation to building articulated robots, tuning contact, and visualizing results. Pages are ordered to be read start to finish, but each stands on its own once you know the basics.

DART 7 is the in-progress redesign of the Dynamic Animation and Robotics Toolkit. It keeps DART’s transparent, research-grade dynamics while exposing a smaller, Python-first API built around a single World object. This guide uses that API throughout.

DART 7 is under active development

The DART 7 API shown here is still evolving and is not yet recommended for production. Names and behavior can change between releases. For production work, use DART 6 LTS. If something in this guide does not match your build, please open an issue.

Where to start

Start here

Add dartpy to a Python environment, or build from source for the newest DART 7 surface.

First steps

Drop a box onto the ground in a dozen lines and read back its motion.

First steps

Time steps, gravity, and what actually happens on each world.step().

Core concepts

The single entry point that owns bodies, time, and the step pipeline.

Core concepts

Mass, pose, collision shapes, and surface material for single bodies.

Core concepts

Build multibodies from links and joints — the heart of robot modeling.

Going further

How DART finds contacts and resolves them so bodies don't interpenetrate.

Going further

Pick the integration and contact methods that fit your accuracy and speed needs.

Going further

See your scene in the interactive viewer and capture frames headlessly.

How this guide is organized

  • Getting started — installation, your first simulation, and the loop that drives every DART program.

  • Core concepts — the World, rigid bodies, and articulated systems you compose into a scene.

  • Going further — collisions and contacts, solver choices, and visualization.

  • Next steps — deeper topics, runnable examples, and API references.