# dart | DART: Dynamic Animation and Robotics Toolkit | Knowledge Base | Instagit

C++20 physics engine for robotics and animation with collision, constraints, and Python bindings

GitHub Stars: 1.1k

Repository: https://github.com/dartsim/dart

---

## Articles

### [How to Fix Simulation Instability in DART: Common Causes and Solutions](/dartsim/dart/common-causes-simulation-instability-dart-how-fix)

Fix simulation instability in DART by understanding common causes like large timesteps and stiff controllers. Learn solutions including timestep reduction and parameter tuning.

- Tags: how-to-guide
- Published: 2026-02-28

### [How to Integrate Force/Torque Sensors with DART's Simulation World: A Complete Guide](/dartsim/dart/integrate-force-torque-sensors-dart-simulation-world)

Integrate force torque sensors with DART's simulation world. Learn to derive custom sensors update sensor data and add them to your DART simulation for precise physics.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DART Computes Dynamics Jacobians for Control: A Technical Deep Dive](/dartsim/dart/dart-compute-dynamics-jacobians-control)

Learn how DART computes dynamics Jacobians for control by assembling relative joint Jacobians, transforming them, and aggregating them into Skeleton-level matrices for operational-space control.

- Tags: deep-dive
- Published: 2026-02-28

### [How to Implement Balance Constraints for Humanoid Robots in DART](/dartsim/dart/implement-balance-constraints-humanoid-robots-dart)

Implement Balance Constraints for Humanoid Robots in DART. Learn how DART's BalanceConstraint class ensures robot stability by adjusting CoM position and foot placement for dynamic balance.

- Tags: how-to-guide
- Published: 2026-02-28

### [How to Tune DART Simulation Performance: Optimization Best Practices for dartsim/dart](/dartsim/dart/best-practices-tuning-dart-simulation-performance)

Optimize DART simulation performance by profiling key layers like collision detection and dynamics integration. Learn best practices for faster solvers, SIMD builds, and constraint group splitting.

- Tags: best-practices
- Published: 2026-02-28

### [How to Record and Playback Simulations in DART: A Complete Guide](/dartsim/dart/record-playback-simulations-dart)

Learn to record and playback simulations in DART with this complete guide. Explore essential components like Recording, World, and Viewer for efficient simulation management.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DART Handles Friction and Force-Dependent Slip in Contact Constraints](/dartsim/dart/dart-handle-friction-force-dependent-slip-contact-constraints)

Discover how DART handles friction and force-dependent slip in contact constraints by using CFM damping to relate sliding velocity to tangential friction force. Learn more.

- Tags: deep-dive
- Published: 2026-02-28

### [How to Create Custom Shapes and Collision Geometries in DART: A Complete Guide](/dartsim/dart/create-custom-shapes-collision-geometries-dart)

Learn to create custom shapes and collision geometries in DART. This guide covers deriving from dart dynamics Shape and attaching to BodyNode for physics simulation.

- Tags: how-to-guide
- Published: 2026-02-28

### [DART 6 vs DART 7 API Changes: A Complete Migration Guide](/dartsim/dart/difference-dart-6-and-dart-7-api-changes)

Migrate DART 6 to DART 7 with this guide. Discover API changes including C++20 requirement, new headers, renamed parsers, and nanobind integration. Upgrade your DART simulation today.

- Tags: migration-guide
- Published: 2026-02-28

### [How to Implement Inverse Kinematics in DART Using the IKFast Module](/dartsim/dart/implement-inverse-kinematics-dart-ikfast-module)

Implement inverse kinematics in DART using IKFast. Generate a C++ solver from your URDF, compile it, and load it with SharedLibraryIkFast for efficient motion planning.

- Tags: how-to-guide
- Published: 2026-02-28

### [Dantzig and PGS LCP Solver Implementations in DART: When to Use Each](/dartsim/dart/different-lcp-solver-implementations-dantzig-pgs-when-use)

Explore Dantzig and PGS LCP solver implementations in DART. Learn when to use Dantzig for friction index support and PGS for large-scale real-time simulations. Optimize your DART simulations today.

- Tags: deep-dive
- Published: 2026-02-28

### [How DART Integrates with Gazebo for Physics Simulation: A Complete Technical Guide](/dartsim/dart/dart-integrate-with-gazebo-physics-simulation)

Learn how DART integrates with Gazebo for advanced physics simulation. This guide details the automated workflow for building and testing DART's latest APIs with gz-physics.

- Tags: how-to-guide
- Published: 2026-02-28

### [How to Implement Operational Space Control in DART: A Complete C++ Guide](/dartsim/dart/implement-operational-space-control-dart)

Implement operational space control in DART using C++ Calculate joint torques from Cartesian errors by leveraging the mass matrix Jacobian and damped pseudo-inverse. Apply torques via customPreStep.

- Tags: how-to-guide
- Published: 2026-02-28

### [MetaSkeleton and ReferentialSkeleton in DART: A Practical Guide for Robotics Developers](/dartsim/dart/what-are-metaskeleton-and-referentialskeleton-dart-when-use)

Explore MetaSkeleton and ReferentialSkeleton in DART. Discover how these DART features enable generic algorithms for partial models and multi-robot assemblies, enhancing robotics development.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DART Handles Soft Body Dynamics and Soft Contact Constraints: A Complete Technical Guide](/dartsim/dart/dart-handle-soft-body-dynamics-soft-contact-constraints)

Discover how DART handles soft body dynamics using mass-spring systems and resolves soft contact constraints within its solver. Dive into a complete technical guide for DART.

- Tags: deep-dive
- Published: 2026-02-28

### [How to Configure Joint Limits and Motor Constraints in DART](/dartsim/dart/configure-joint-limits-motor-constraints-dart)

Learn to configure DART joint limits and motor constraints. Set position and velocity limits, assign actuator types, and add constraint objects for precise control.

- Tags: how-to-guide
- Published: 2026-02-28

### [How to Load and Parse URDF, SDF, MJCF, and SKEL Files Using DART's IO Module](/dartsim/dart/load-parse-urdf-sdf-mjcf-skel-files-dart-io-module)

Easily load and parse URDF SDF MJCF and SKEL files with DARTs io module. The unified API automatically detects file formats simplifying your robotics workflow.

- Tags: how-to-guide
- Published: 2026-02-28

### [How DART's Articulated Body Algorithm Computes Joint Accelerations](/dartsim/dart/dart-articulated-body-algorithm-compute-joint-accelerations)

Learn how DART's Articulated Body Algorithm computes joint accelerations. Explore the two-pass recursion, backward and forward passes, bias forces, and articulated inertia.

- Tags: internals
- Published: 2026-02-28

### [Forward Dynamics vs Hybrid Dynamics in DART: Key Differences Explained](/dartsim/dart/difference-between-forward-dynamics-and-hybrid-dynamics-dart)

Understand the key differences between forward dynamics and hybrid dynamics in DART. Learn how DART's Articulated-Body Algorithm computes accelerations and how to mix joint actuator types for advanced simulations.

- Tags: deep-dive
- Published: 2026-02-28

### [How to Implement Custom Constraints in DART for Closed-Loop Mechanisms](/dartsim/dart/implement-custom-constraints-dart-closed-loop-mechanisms)

Learn to implement custom constraints in DART for closed-loop mechanisms. Derive from DynamicJointConstraint, override the interface, and register with the ConstraintSolver. Get expert guidance today.

- Tags: how-to-guide
- Published: 2026-02-28

### [FCL vs Bullet vs ODE Collision Backends in DART: Architecture and Usage Guide](/dartsim/dart/differences-between-fcl-bullet-ode-collision-backends-dart)

Explore FCL, Bullet, and ODE collision backends in DART. Understand their architectures, speed, dependencies, and features to choose the best fit for your project.

- Tags: architecture
- Published: 2026-02-28

### [How DART's Constraint Solver Handles Joint Limits and Contacts Simultaneously](/dartsim/dart/how-dart-constraint-solver-handles-joint-limits-and-contacts-simultaneously)

Discover how DART's constraint solver unifies joint limits and contact constraints into a single LCP for physically consistent simulations. Learn more about DART's simultaneous handling.

- Tags: internals
- Published: 2026-02-28

