Drake v1.33.0

Back to Release Notes

Announcements

  • Some APIs in the experimental Graph of Convex Sets feature have changed.
    • Changed return values for GraphOfConvexSets SolveShortestPath and SolveConvexRestriction functions to resolve inconsistencies (#21833)
    • Changed return value of GraphOfConvexSets::GetSolution*() to return std::nullopt rather than NaN (#21843)
  • Drake’s support for macOS Ventura (i.e., macOS 13) has reached end of life, as documented on our OS Support page and the Supported Configurations table. This will be the last Drake release that supports macOS Ventura.

Breaking changes since v1.32.0

  • None

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

Changes since v1.32.0

Dynamical Systems

New features

  • None

Fixes

  • None

Mathematical Program

New features

  • Add CartesianProduct getters for A and b properties (#21827)
  • Extend IrisInConfigurationSpace to support continuous revolute and planar joints (#21837)
  • Implement AffineSubspace::DoAddPointInNonnegativeScalingConstraints (#21874)
  • Add more efficient AffineHull computation for certain subclasses of ConvexSet (#21828)
  • Replace drake::geometry::CalcPairwiseIntersections with drake::geometry::ComputePairwiseIntersections to update its return type (#21807)
  • Support RpyFloatingJoint in IrisInConfigurationSpace and GcsTrajectoryOptimization (#21861)
  • Add common option for max number of threads (#21857)

Fixes

  • Resolve inconsistencies in results from shortest path vs convex restriction in Graph of Convex Sets (#21833)
  • Changed return value of GraphOfConvexSets::GetSolution*() to return std::nullopt rather than NaN (#21843)

Multibody Dynamics and Geometry

New features

  • Add Drake Model Directive support for canonical frames for default poses (#21765)

Fixes

  • Update APIs on MultibodyPlant for working with free bodies to more clearly reflect current implementation (#21808)
  • Fix Drake Model Directive default_free_body_pose vs offset frames (#21765)
  • When .mtl files are missing, Meshcat uses property colors instead (#21889)

Planning

New features

  • Add PathEnergyCost to GcsTrajectoryOptimization (#21810)

Fixes

  • Add better error message for zero-duration trajectory segments in GcsTrajectoryOptimization (#21734)
  • Fix LinearDistanceAndInterpolationProvider in the presence of removed joints (#21867)

Tutorials and examples

  • None

Miscellaneous features and fixes

  • Made usage of fmt::join compatible with fmt v11 (#21856)
  • Add static factory function CompositeTrajectory::AlignAndConcatenateStatic() that automatically aligns segment timings (#21656)
  • Adjust non-spdlog stub to correctly handle calls that would otherwise use fmt_runtime (#21864)
  • Introduce MemoryFile (#21875) (#21895)

pydrake bindings

New features

  • Bind drake::geometry::optimization::ConvexHull (#21849)
  • Bind Joint.kTypeName constants (#21896)

Fixes

  • GraphOfConvexSets.GetGraphvizString accepts default active_path (#21817)

Build system

  • None

Build dependencies

  • Upgrade abseil_cpp_internal to latest commit (#21887)
  • Upgrade bazel to latest release 7.3.1 (#21878)
  • Upgrade bazelisk to latest release 1.21.0 (#21884) (#21888)
  • Upgrade build_bazel_apple_support to latest release 1.17.0 (#21887)
  • Upgrade buildifier to latest release v7.3.1 (#21887)
  • Upgrade clp_internal to latest release 1.17.10 (#21887)
  • Upgrade coinutils_internal to latest release 2.11.12 (#21887)
  • Upgrade common_robotics_utilities to latest commit (#21812)
  • Upgrade crate_universe to latest (#21887)
  • Upgrade dm_control_internal to latest release 1.0.22 (#21887)
  • Upgrade googlebenchmark to latest release v1.9.0 (#21887)
  • Upgrade gz_math_internal to latest release 7.5.1 (#21887)
  • Upgrade mujoco_menagerie_internal to latest commit (#21887)
  • Upgrade mypy_internal to latest release v1.11.2 (#21887)
  • Upgrade nanoflann_internal to latest release v1.6.1 (#21887)
  • Upgrade nlopt_internal to latest release v2.8.0 (#21893)
  • Upgrade pycodestyle to latest release 2.12.1 (#21887)
  • Upgrade rules_license to latest release 1.0.0 (#21887)
  • Upgrade rules_python to latest release 0.35.0 (#21887)
  • Upgrade rules_rust to latest release 0.49.3 (#21887)
  • Upgrade rust_toolchain to latest (#21887)
  • Upgrade scs_internal to latest release 3.2.7 (#21797)
  • Upgrade suitesparse_internal to latest release v7.8.2 (#21887)
  • Upgrade sympy_py_internal to latest release 1.13.2 (#21887)
  • Upgrade tinygltf_internal to latest release v2.9.3 (#21887)
  • Upgrade tinyobjloader_internal to latest commit (#21887)
  • Upgrade voxelized_geometry_tools to latest commit (#21812)
  • Upgrade vtk_internal to latest commit (#21799)

Newly-deprecated APIs

  • pydrake.multibody.MultibodyPlant.SetFreeBodyPose with parameter X_WB (#21808)
  • pydrake.multibody.MultibodyPlant.SetDefaultFreeBodyPose with parameter X_WB (#21808)
  • pydrake.multibody.MultibodyPlant.SetFreeBodySpatialVelocity with parameter V_WB (#21808)
  • drake::geometry::CalcPairwiseIntersections (#21807)
  • pydrake.geometry.CalcPairwiseIntersections (#21807)
  • drake::multibody::FrameBase (#21891)

Removal of deprecated items

  • The following include paths (#21858)
    • drake/examples/acrobot/gen/acrobot_input.h
    • drake/examples/acrobot/gen/acrobot_params.h
    • drake/examples/acrobot/gen/acrobot_state.h
    • drake/examples/acrobot/gen/spong_controller_params.h
    • drake/examples/compass_gait/gen/compass_gait_continuous_state.h
    • drake/examples/compass_gait/gen/compass_gait_params.h
    • drake/examples/pendulum/gen/pendulum_input.h
    • drake/examples/pendulum/gen/pendulum_params.h
    • drake/examples/pendulum/gen/pendulum_state.h
    • drake/examples/rimless_wheel/gen/rimless_wheel_continuous_state.h
    • drake/examples/rimless_wheel/gen/rimless_wheel_params.h
    • drake/manipulation/schunk_wsg/gen/schunk_wsg_trajectory_generator_state_vector.h
    • drake/systems/sensors/gen/beam_model_params.h
  • None

Notes

This release provides pre-compiled binaries named drake-1.33.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.