Drake v0.26.0

Back to Release Notes

Announcements

  • In a future release, the DrakeVisualizer system will become templated on <typename T> to support multiple scalar types (#14547).
    • To insulate your code from this change, we now offer a C++ alias drake::geometry::DrakeVisualizerd (i.e., with a “d” suffix) that matches the current uses of a double system.
    • We recommend that C++ users preemptively refactor to use this new alias, so the addition of the template in a future release will not be a breaking change. See (#14547) for examples.
    • Python users do not need to make any preemptive changes. The new template argument will not disturb pydrake.

Breaking changes since v0.25.0

  • Downgrade the spdlog external to release 5.1.0 and fmt external to release 6.1.2 (#14427).
  • FixInputPort and DeclareAbstractState no longer allow for mutation through an alias (#14453).
  • Remove support for the add_package_path stanza in multibody parsing model directives (#14529).

Changes since v0.25.0

Dynamical Systems

New features

  • Add PiecewisePoseTrajectory (#14337, #14503)
  • PidControlledSystem takes in user specified plant input port (#14490)

Fixes

  • None

Mathematical Program

New features

  • Retrieve dual solution for conic constraint in MOSEK (#14383)
  • Allow for incomplete symbolic derivatives (#14514)

Fixes

  • None

Multibody Dynamics

New features

  • Add MultibodyPlant::CalcCenterOfMassTranslationalVelocityInWorld (#14297)
  • Add MultibodyPlant::GetUniqueBaseBody and MultibodyPlant::HasUniqueFreeBaseBody (#14450)
  • New hydroelastic contact model in progress (#14506, #14469)

Fixes

  • Give better errors when joints overlap with SDF static welds (#14534)

Tutorials and examples

  • Add example of monte carlo simulation using acrobot (#14522)

Miscellaneous features and fixes

  • Add MeshcatVisualizer option to draw collision geometry (#14467)
  • Add DrakeVisualizerd compatibility alias (#14547)

pydrake bindings

New features

  • System diagrams now appear in the Sphinx documentation (#14500)

Fixes

  • None

Newly bound

  • None

Build system and dependencies

  • Downgrade fmt to release 6.1.2 (#14427)
  • Downgrade spdlog to release 5.1.0 (#14427)
  • Upgrade fcl to latest commit (#14497)
  • Upgrade ghc_filesystem to latest release 1.4.0 (#14504)
  • Upgrade MOSEK to latest release 9.2 (#14484)
  • Upgrade optitrack_driver to latest commit (#14451)
  • Allow sphinx-build to be missing during bazel fetch (#14528)
  • Add dependency on TRI common_robotics_utilities; for now this is only used by test code, but in a future release will be used by a forthcoming new drake/planning/… library (#14437, #14530)
  • Add dependency on TRI voxelized_geometry_tools ; for now this is only used by test code, but in a future release will be used by a forthcoming new drake/planning/… library (#14437, #14530)

Changes specific to macOS:

  • Use fmt and spdlog from homebrew (#14517, #14427)
  • Allow brew to be found in the PATH (#14496)
  • Use the new Homebrew install shell script when necessary (#14496)
  • Do not auto-cleanup or auto-update during Homebrew setup (#14496)

Changes specific to Ubuntu:

  • On 20.04, use fmt and spdlog from Ubuntu’s apt package ([#14427][#14427_])

Newly-deprecated APIs

  • drake::systems::ContextBase::FixInputPort with AbstractValue unique_ptr (#14453)
  • drake::systems::LeafSystem::DeclareAbstractState with AbstractValue unique_ptr (#14453)
  • drake::manipulation::PiecewiseCubicTrajectory (#14337)
  • drake::manipulation::PiecewiseCartesianTrajectory (#14337)
  • drake::systems::framework::Diagram::get_input_port_locator (#14361)

    • This was actually deprecated in v0.25.0, but the initial announcement for that release forgot to list it.
  • The ability for MeshcatVisualizer to use a pose_bundle input port (#14292)

    • This was actually deprecated in v0.25.0, but the initial announcement for that release forgot to list it.

Removal of deprecated items

Notes

This release provides pre-compiled binaries named drake-20210121-{bionic|focal|mac}.tar.gz. See Stable Releases for instructions on how to use them.

Drake binary releases incorporate a pre-compiled version of SNOPT as part of the Mathematical Program toolbox. Thanks to Philip E. Gill and Elizabeth Wong for their kind support.