Drake v0.27.0

Announcements

  • macOS Big Sur 11.x is now supported on Intel Macs (#14632)

Breaking changes since v0.26.0

  • DrakeVisualizer class is now templatized (#14569)
    • We offer a C++ alias drake::geometry::DrakeVisualizerd (i.e., with a d suffix) that matches the current uses of the double system.
    • Python users do not need to make any changes. The new template argument will not disturb pydrake.
    • Certain compilers may not be able to infer the template argument (e.g., when referring to static methods).
  • end_effector_teleop_sliders is no longer supported on macOS (#14632)

Changes since v0.26.0

Dynamical Systems

New features

  • None

Fixes

  • Promote some ASSERT to DEMAND in systems/primitives (#14615)

Mathematical Program

New features

  • Allow passing time limit to OSQP via SolverOptions (#14625)

Fixes

  • None

Multibody Dynamics

New features

  • Implement discrete hydroelastic model approximation with TAMSI (#14630)
  • DrakeVisualizer class is now templatized (#14569)

Fixes

  • Speed up hydroelastic visualization for Drake Visualizer (#14622)
  • Explicitly disable HalfSpace-HalfSpace point-pair penetration queries for all scalar types (#14639)

Tutorials and examples

  • Provide a complete end-to-end demonstration, using the stochastic schema mechanisms, of how Monte Carlo scenarios can be used to optimize the parameters for a controller (#14541)
  • Fix acrobot Spong controller LCM communication to actually work (#14525)
  • end_effector_teleop_sliders is no longer supported on macOS (#14632)
  • Fix output port index for kuka_simulation example (#14631)

Miscellaneous features and fixes

  • Expose PiecewiseQuaternionSlerp’s orientation getters (#14585)
  • Allow yaml to operate on non-default MaxRows or MaxCols storage (#14618)

pydrake bindings

New features

  • None

Fixes

  • None

Newly bound

  • pydrake.solvers.mathematicalprogram.MathematicalProgram.NewNonnegativePolynomial (#14627)

Build system and dependencies

  • Add support for macOS Big Sur 11.x (#14632, #14608, #14608, #14608)
  • Upgrade fcl to latest commit (#14620)
  • Upgrade voxelized_geometry_tools to latest commit (#14600)
  • Fix pathutils.bzl globbing vs double-star matching (#14564)
  • Add retry to apt-get/brew update calls and add flag to skip update altogether (#14492)
  • Add lint check for unguarded OpenMP uses (#14472)
  • Distinguish test_rule_tags vs tags (#14581)
  • Add xmlrunner and use it for Python unittests (#14560)

Un-deprecated APIs

LCM messages

  • lcmtypes/lcmt_robot_state.lcm is no longer deprecated (#14539)

Newly-deprecated APIs

C++

  • drake::multibody::MultibodyPlant::CalcCenterOfMassPosition -> CalcCenterOfMassPositionInWorld (#14538)

Python

  • pydrake.multibody.plant.MultibodyPlant.CalcCenterOfMassPosition -> CalcCenterOfMassPositionInWorld (#14538)
  • pydrake.common.ToleranceType.absolute -> kAbsolute (#14592)
  • pydrake.common.ToleranceType.relative -> kRelative (#14592)

Removal of deprecated items

C++

  • systems/sensors/accelerometer_sensor.h (#14607)
  • systems/sensors/gyroscope_sensor.h (#14607)
  • drake::multibody::SpatialVector::ScalarType (#14607)

Notes

This release provides pre-compiled binaries named drake-20210216-{bionic|focal|mac}.tar.gz. See Nightly 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.