Drake v1.32.0

Back to Release Notes

Announcements

  • None

Breaking changes since v1.31.0

  • GcsTrajectoryOptimization is now marked as experimental and excluded from the set of stable APIs. (#21749)
  • The signature of GraphOfConvexSets::GetGraphvizString() has changed. (#21530)
  • drake::multibody::Frame no longer allows subclassing. (#21661)

Refer to our Drake Stability Guidelines for our policy on API changes.

Changes since v1.31.0

Dynamical Systems

New features

  • Expose RgbdSensor::X_PB() and create bindings (#21789)
  • Report realtime rate in Meldis (#21534)

Fixes

  • Reduce the noise in meshcat visualizer realtime rate reports (#21534)

Mathematical Program

New features

  • Implement SamplePaths for GraphOfConvexSets (#21402)
  • SnoptSolverDetails report solving time (#21781)
  • Option to specify AABBs when calculating pairwise intersections for GraphOfConvexSets (#21718)
  • Improve GraphOfConvexSets graphviz (#21530)
  • Implement the convex hull of multiple convex sets (#21594)

Fixes

  • None

Multibody Dynamics and Geometry

New features

  • Add model_instances to CalcBiasCenterOfMassTranslationalAcceleration() (#21740)
  • Incorporate margin in the computation of hydroelastic fields (#21773)

Fixes

  • OBJ files for proximity can have multiple objects (#21745)
  • Allow implicit PD gain tweaks post-finalize (#21741)
  • Update BoxesOverlap to use SIMD (via highway) (#21733)
  • Fix a bug in computing OrientationCost (#21785)
  • Convex hull used in place of mesh for Convex volume calculation and Convex compliant hydroelastic mesh creation (#21779)

Planning

New features

  • Option to manually specify edges (and offsets) in GcsTrajectoryOptimization::AddEdges (#21723)

Fixes

  • Skip deprecated ports in RobotDiagramBuilder (#21783)
  • Use pointers for optional arguments in GraphOfConvexSets (#21749)

Tutorials and examples

  • None

Miscellaneous features and fixes

  • None

pydrake bindings

New features

  • None

Fixes

  • Add pydrake binding for MultibodyPlant::CalcCenterOfMassTranslationalVelocity() (#21730)
  • Add pydrake binding for MultibodyPlant::CalcCenterOfMassTranslationalAcceleration() (#21730)
  • Add pydrake binding for MathematicalProgram::AddConstraint() that takes a Binding<Constraint> as argument (#21754)
  • Add pydrake binding for MathematicalProgram::ProgramAttribute (#21754)
  • Add pydrake binding for MathematicalProgram::ProgramType (#21754)
  • Add Binding.__hash__ (#21754)
  • Add Binding.__eq__ (#21754)

Build system

  • None

Build dependencies

  • Upgrade abseil_cpp_internal to latest commit (#21766)
  • Upgrade build_bazel_apple_support to latest release 1.16.0 (#21774)
  • Upgrade crate_universe to latest (#21766)
  • Upgrade curl_internal to latest release curl-8_9_1 (#21767)
  • Upgrade dm_control_internal to latest release 1.0.21 (#21766)
  • Upgrade googlebenchmark to latest release v1.8.5 (#21766)
  • Upgrade gtest to latest release v1.15.2 (#21766)
  • Upgrade mujoco_menagerie_internal to latest commit (#21766)
  • Upgrade mypy_internal to latest release v1.11.1 (#21766)
  • Upgrade nanoflann_internal to latest release v1.6.0 (#21766)
  • Upgrade openusd_internal to latest release v24.08 (#21768)
  • Upgrade rules_python to latest release 0.34.0 (#21766)
  • Upgrade rules_rust, rust_toolchain to latest (#21766)
  • Upgrade scs_internal to latest release 3.2.6 (#21769)
  • Upgrade sdformat_internal to latest (#21798)
  • Upgrade sympy_py_internal to latest release 1.13.1 (#21772)
  • Upgrade tinygltf_internal to latest release v2.9.2 (#21766)

Newly-deprecated APIs

  • drake::geometry::MeshcatVisualizer::ResetRealtimeRateCalculator (#21534)
  • drake::geometry::optimization::GraphOfConvexSets::GetGraphvizString that takes a const reference to std::optional<solvers::MathematicalProgramResult> as an argument (#21749)
  • drake::multibody::CalcSpatialInertia that takes a drake::geometry::TriangleSurfaceMesh and uses a default density. (#21738)
  • drake::multibody::HydroelasticQuadraturePointData (#21735)

Removal of deprecated items

  • drake::geometry::optimization::AffineSubspace::Project (#21757)
  • drake::multibody::MultibodyPlant::SetFreeBodyRandomPositionDistribution (#21757)
  • drake::multibody::QuaternionFloatingJoint::get_default_pose (#21757)
  • drake::multibody::QuaternionFloatingJoint::get_default_position (#21757)
  • drake::multibody::QuaternionFloatingJoint::get_pose (#21757)
  • drake::multibody::QuaternionFloatingJoint::get_position (#21757)
  • drake::multibody::QuaternionFloatingJoint::set_default_position (#21757)
  • drake::multibody::QuaternionFloatingJoint::set_pose (#21757)
  • drake::multibody::QuaternionFloatingJoint::set_position (#21757)
  • drake::multibody::QuaternionFloatingJoint::set_position_distribution (#21757)
  • drake::multibody::QuaternionFloatingJoint::set_quaternion (#21757)
  • drake::multibody::QuaternionFloatingJoint::SetFromRotationMatrix (#21757)
  • drake::multibody::RpyFloatingJoint::set_translation (#21757)
  • drake::solvers::L2NormCost::A (#21757)
  • drake::systems::controllers::ZmpPlanner (#21757)

Notes

This release provides pre-compiled binaries named drake-1.32.0-{jammy|noble|mac-arm64}.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.