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 adouble
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.
- To insulate your code from this change, we now offer a C++ alias
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
- The numpy external (#14116, #14486)
- drake/multibody/math/spatial_acceleration.h include path (#14117, #14486)
- drake/multibody/math/spatial_force.h include path (#14117, #14486)
- drake/multibody/math/spatial_momentum.h include path (#14117, #14486)
- drake/multibody/math/spatial_vector.h include path (#14117, #14486)
- drake/multibody/math/spatial_velocity.h include path (#14117, #14486)
- drake/systems/analysis/simulator_flags.h include path (#14135, #14486)
- drake::math::closestExpmap (#14099, #14486)
- drake::math::expmap2quat (#14099, #14486)
- drake::math::quat2expmap (#14099, #14486)
- drake::math::quat2expmapSequence (#14099, #14486)
- drake::systems::Context::FixInputPort() (#14093, #14486)
- tools/vector_gen/vector_gen.bzl:drake_cc_vector_gen (#14092, #14486)
- tools/vector_gen/vector_gen.bzl:drake_vector_gen_lcm_sources (#14092, #14486)
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.