Drake v1.44.0

Back to Release Notes

Announcements

  • We’ve added a new tutorial on automatic differentiation basics (#23162).
  • Wheel packages now depend on Mosek as a PyPI requirement instead of embedding it inside the Drake wheel file (#23128, #23243).
    • Mosek packages declare an upper-bound on their supported Python version (<3.14); your package manager (e.g., Poetry) might require you to add that same bound in your pyproject.toml as a consequence.
    • Known issue: macOS wheels have incorrect RECORD checksums in this release; this will be fixed in v1.45.0.

Breaking changes since v1.43.0

  • The return type of Joint::ordinal() changed from int to JointOrdinal (#23214).
    • However, the JointOrdinal class has an implicit conversion to int, so typical places where joint.ordinal() is used as an index should work without any adjustments. More complicated uses may need small adjustments to force the conversion to int.
  • The type of IrisFromCliqueCoverOptions.iris_options has changed from IrisOptions to a sum type of Union[IrisOptions | IrisNp2Options | IrisZoOptions] (#23104).
    • Users who set or get these options may need to adapt their code to be more specific about which of the three options classes should be used.

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

Changes since v1.43.0

Dynamical Systems

  • None

Mathematical Program

New features

  • MathematicalProgram::AddL1NormCostInEpigraphForm adds an L1 norm cost using slack variables (#23241)
  • NloptSolver now supports the max_time solver option (#23234)

Fixes

  • NloptSolver now supports L2NormCost costs (#23251)

Multibody Dynamics and Geometry

New features

  • Add FixedOffsetFrame::parent_frame getter (#23221)
  • Add <drake:tendon> parsing for SDFormat and URDF files (#23273)
  • Improve DifferentialInverseKinematicsSystem introspection (#23279)

Fixes

  • None

Planning

New features

  • IrisFromCliqueCoverInConfigurationSpace allows the use of IrisZo and IrisNp2 (#23104)
  • IrisNp2 supports additional containment points (#23121)
  • Implement the ray sampling strategy for IrisNp2 (#23247)

Fixes

  • None

Tutorials and examples

  • Add a tutorial on automatic differentiation basics (#23162)

Miscellaneous features and fixes

  • Fix SchunkWsgTrajectoryGenerator to better support use of distinct / resettable Contexts (#23196)

pydrake bindings

New features

  • None

Fixes

  • Add bindings for Acceleromer (#23235)
  • Add bindings for ForceDensityField (#23255)
  • Add bindings for Gyroscope (#23235)
  • Add bindings for Diagram.AreConnected (#23277)

Build system

  • None

Build dependencies

  • Wheel packages now depend on Mosek as a PyPI requirement instead of embedding it inside the Drake wheel file (#23128, #23243)
  • Add single-precision support to lapack_internal build (#23246)
  • Upgrade abseil_cpp_internal to latest commit (#23228)
  • Upgrade bazelisk to latest release 1.27.0 (#23281)
  • Upgrade crate_universe to latest (#23228)
  • Upgrade curl_internal to latest release 8.15.0 (#23229)
  • Upgrade drake_models to latest commit (#23228)
  • Upgrade gklib_internal to latest commit (#23230)
  • Upgrade libpng_internal to latest release 1.6.50 (#23228)
  • Upgrade mujoco_menagerie_internal to latest commit (#23228)
  • Upgrade mypy_internal to latest release 1.17.0 (#23228)
  • Upgrade python venv (mac) to latest (#23231)
  • Upgrade stable_baselines3_internal to latest release 2.7.0 (#23228)
  • Upgrade suitesparse_internal to latest release 7.11.0 (#23228)
  • Upgrade tinyobjloader_internal to latest commit (#23228)
  • Upgrade typing_extensions_internal to latest release 4.14.1 (#23228)
  • Upgrade vtk_internal to latest commit (#23144, #23254)

Newly-deprecated APIs

  • None

Removal of deprecated items

  • drake::systems::DiscreteTimeApproximation has moved packages; it is now part of the drake/systems/analysis package instead of drake/systems/primitives (#23224, #22867).
  • drake::trajectories::Trajectory virtual interface for subclasses (#23223, #22395)

Notes

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