Open Source RoboticsRobots, software & field notes

Drake

Based on published sources · Not tested by us ·

Overview

C++ and Python toolbox for multibody dynamics, mathematical optimization and model-based robot control, with installation choices tied to platform and solver requirements. [S005] [S006] [S007]

Drake is a C++ toolbox with Python bindings for robot dynamics, mathematical optimization and model-based control. It exposes mathematical structure for planning and analysis as well as simulating motion. The reviewed v1.57.0 source is useful to developers who want to construct those models and algorithms; it is not a ready-made controller for a particular physical robot. [S002] [S005]

Specifications

DetailDescription
Intended usersRobotics researchers and developers working with mathematical models and optimization
Editorial assessment [S001] · Checked 2026-10-01
Required softwareSupported CPython version and pip >=20.3 for Python wheels; Matching compiler and C++23 when linking C++ code to precompiled Drake; Additional rendering setup may be needed for camera simulation
Reported by source [S006] [S007] · Checked 2026-10-01
InstallationFor Python, use a virtual environment and a stable drake wheel matched to the support matrix; Python imports use pydrake. C++ users choose a supported APT/binary or source route.
Editorial route selection from upstream instructions; not installed here.
Editorial assessment [S006] [S007] [S008] · Checked 2026-10-01
UsesConstruct dynamical-system models; Build multibody models and simulation diagrams; Formulate and solve mathematical programs; Prototype control and planning algorithms through Python
Reported by source [S005] [S008] · Checked 2026-10-01
File formatsNot known
Development statusDocumented setup available
Research classification from documented artifacts/workflow, not our reproduction or production qualification.
Editorial assessment [S001] · Checked 2026-10-01

3D preview

A robot-part preview is not applicable to this software project profile.

Installation and use

Python and C++ have different entry routes

For Python, the upstream starting route is a virtual environment and the drake wheel package. The import namespace is pydrake: the binding guide checks installation by importing pydrake.all and printing the module location. That distinction avoids confusing the package to install with the module to import. The Python bindings expose a substantial subset of C++ functionality, so check the Python API for the functions your experiment needs. [S007] [S008]

Choose the operating system, architecture and Python version together. The v1.57.0 installation matrix includes Ubuntu 24.04/26.04, Apple Silicon macOS 15/26 and Amazon Linux 2023, with different installation methods and Python versions in different rows. For example, Ubuntu 24.04 lists Python 3.12 for pip, binary and APT installations, while its Python 3.13–3.14 support is pip-only. CPython is the supported implementation, and Anaconda is not regularly tested. The pip guide calls for pip 20.3 or newer and Homebrew Python on macOS. [S006] [S007]

C++ users need a different check. Code linked against a precompiled Drake library must use the compiler configuration in the release's matrix, including C++23; on Ubuntu 24.04 the listed compiler is GCC 13. An arbitrary compiler that accepts the source is not enough to establish binary compatibility. The project also offers a source-build route. [S006]

Check solver availability before committing to a package

Gurobi is not supported by Drake's binary releases. A project that needs it must follow the source-build instructions; selecting a wheel and adding an import later does not provide that integration. Solver installation and rights remain separate checks from Drake's own license. Image rendering, including simulated cameras, can also need additional setup. [S003] [S006] [S007]

For an initial model, the Python binding guide shows how to create a diagram builder, add a multibody plant and scene graph, parse a pendulum URDF, finalize the plant and construct a simulator. This is a concrete path from a model file to a simulation object. Start with that documented example and inspect the relevant API before expanding to a custom robot or optimization problem. This suggested sequence has not been executed by this publication, and constructing a simulator alone does not validate a robot model or a control result. [S008]

Source rights and experiment limits

Drake's root license is BSD-3-Clause and explicitly notes portions under other permissive licenses. It does not replace the terms for separately selected dependencies, solvers or robot assets. This profile covers the toolbox and its documented setup choices; it includes no measured solve times, contact-accuracy benchmark, installation test or hardware-transfer result. [S003]

Source files and licenses

Open toolbox source with documented setup; external solvers/assets and documentation-wide terms require separate assessment.

LayerAvailability / license
softwareavailable · BSD-3-Clause
Root license notes portions with other permissive licenses. External dependencies and solvers retain their own terms; no blanket solver licensing claim. [S003]
documentationavailable · License not fully assessed
Documentation available in the archive; separate documentation-wide license not established by this review. [S004] [S005] [S006]

Toolbox profile selects no trained policy or dataset.

References

Links identify the documentation and revisions used in this profile. Access dates record when each source was retrieved.

  1. S001 · RobotLocomotion / project contributors
    Upstream project overview
    Accessed 2026-10-01 · README.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  2. S002 · RobotLocomotion / project contributors
    Repository revision and release metadata
    Accessed 2026-10-01 · 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  3. S003 · RobotLocomotion / project contributors
    Repository license
    Accessed 2026-10-01 · LICENSE.TXT
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  4. S004 · RobotLocomotion / project contributors
    Pinned repository artifact inventory
    Accessed 2026-10-01 · 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d archive file inventory
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  5. S005 · RobotLocomotion / project contributors
    Drake v1.57.0: doc/index.md
    Accessed 2026-10-01 · 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d / doc/index.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  6. S006 · RobotLocomotion / project contributors
    Drake v1.57.0: doc/_pages/installation.md
    Accessed 2026-10-01 · 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d / doc/_pages/installation.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  7. S007 · RobotLocomotion / project contributors
    Drake v1.57.0: doc/_pages/pip.md
    Accessed 2026-10-01 · 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d / doc/_pages/pip.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  8. S008 · RobotLocomotion / project contributors
    Drake v1.57.0: doc/_pages/python_bindings.md
    Accessed 2026-10-01 · 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d / doc/_pages/python_bindings.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

Research and review details

Source research only; no installation, physical build or performance test performed. No affiliate links added.

Profile edited 2026-10-01 · Sources checked 2026-10-01 · Next review target 2026-10-31

Revision: 1e1466ba466e7ce8fa9fcca4e086ce1383e5427d (release v1.57.0). Software repository activity recorded 2026-09-10 [S002]

Correction guidance · Discussion is not enabled · Profile format 0.6.0-draft.1

Change history