Announcements
- MultibodyPlant now provides function SetBaseBodyJointType() which can be
called pre-Finalize to control what type of joint is used for connecting
unattached bodies to World (#21973).
- The default choice remains QuaternionFloatingJoint but RpyFloatingJoint and WeldJoint are options that can be set globally or for particular Model Instances.
- The Joint API is extended to permit setting pose and velocity generically without knowing the underlying joint type.
Breaking changes since v1.34.0
- None
Refer to our Drake Stability Guidelines for our policy on API changes.
Changes since v1.34.0
Dynamical Systems
New features
- None
Fixes
- Fix
RgbdSensor
image size parameterization crash (#22065)
Mathematical Program
New features
- Add a convenience method for solving mathematical programs in parallel in both C++ and Python (#21957)
- Add
CommonSolverOption::to_string
(#22079) - Introduce
ImplicitGraphOfConvexSets
(#22074) - Leverage parallelization where possible when checking boundedness of a
ConvexSet
(#22084) - Set gradient sparsity pattern in
LorentzConeConstraint
andRotatedLorentzConeConstraint
(#22125) - Update single entry of coefficients in
LinearCost
andQuadraticCost
(#22152) - Parallelize
ComputePairwiseIntersections()
for Graph of Convex Sets (with or without continuous revolute joints) (#22142) - Retrieve dual solution for
LinearMatrixInequalityConstraint
for Mosek (#22144) - Parallelize the
GraphOfConvexSets
preprocessing stage (#21965)
Fixes
- Throw when
IpoptSolver
options are invalid (#22062) - Use
GraphOfConvexSetsOptions::preprocessing_solver_options
even if a specificpreprocessing_solver
is not specified (#22077) - Fix Gurobi console logging to obey our defaults again (#22108)
- Fix bugs where empty
HPolyhedron
’s were reported to be unbounded (#22117) - Fix the boundedness check of
MinkowskiSum
(#22084) - Fix
GraphOfConvexSets
when passing in a trivially-infeasible upper bound (#22090) - Move the warning on small-size PSD matrix to each solver backend (#22136)
Multibody Dynamics and Geometry
New features
- Allow
GeometryInstance
to be registered throughMultibodyPlant
with clarifications on the related semantics (#22102) - Add precomputed values to
VolumeMesh
andMeshFieldLinear
(#22097) - Allow floating bodies to use
RpyFloatingJoint
(#21973)
Fixes
- RenderEngineVtk now uses EGL by default on Ubuntu (#22081)
- Bug fixes for
SapHolonomicCosnstraint
andSapDriver::AddWeldConstraints()
(#22057) - Fix
//geometry/proximity:refine_mesh
for cwd-relative paths (#22106) - Improve exception message for bad geometry (zero volume mesh) in .obj file (#21929)
Planning
New features
- Add
symbolic::Expression
costs andsymbolic::Formula
constraints toSubgraphs
inGcsTrajectoryOptimization
(#22091)
Fixes
- None
Tutorials and examples
- None
Miscellaneous features and fixes
- Implement
drake::trajectories::FunctionHandleTrajectory
(#21093) - Add requires clause to
drake::math::RigidTransform
anddrake::math::RotationMatrix
cast (#22094) - Add
drake::schema::Rotation::Sample()
(#22113) - Add
SliceByTime()
fordrake::trajectories::PiecewisePolynomial
(#22099)
pydrake bindings
New features
- Add
info_handler
callback topydrake.gym.DrakeGymEnv
(#21900) - Bind
pydrake.trajectories.FunctionHandleTrajectory
(#21093)
Fixes
- Bind
copy
forpydrake.perception.PointCloud
(#22148) - Bind
pydrake.solvers.LinearEqualityConstraint.UpdateCoefficients
with a sparse matrix (#22151)
Build system
- None
Build dependencies
- Force-disable CoinUtils debugging hooks (#22063)
- Upgrade abseil_cpp_internal to latest commit (#22118)
- Upgrade bazel to latest release 7.4.0 (#22066)
- Upgrade bazelisk to latest release v1.22.1 (#22119)
- Upgrade crate_universe to latest releases (#22119)
- Upgrade dm_control_internal to latest release 1.0.24 (#22119)
- Upgrade drake_models to latest commit (#22103)
- Upgrade gymnasium_py to latest release v1.0.0 (#22121)
- Upgrade msgpack_internal to latest release cpp-7.0.0 (#22119)
- Upgrade mujoco_menagerie_internal to latest commit (#22119)
- Upgrade mypy_internal to latest release v1.13.0 (#22119)
- Upgrade nanoflann_internal to latest release v1.6.2 (#22130)
- Upgrade openusd_internal to latest release 24.11 (#22082)
- Upgrade rules_python to 0.36.0 (#22129)
- Upgrade rules_rust to latest release 0.53.0 (#22119)
- Upgrade statsjs to latest commit (#22119)
- Upgrade suitesparse_internal to latest release v7.8.3 (#22119)
- Upgrade tinyobjloader_internal to latest commit (#22119)
- Upgrade vtk_internal to latest commit (#22119)
Newly-deprecated APIs
CommonSolverOption::operator<<
(#22079)
Removal of deprecated items
drake::geometry::MeshcatVisualizer::ResetRealtimeRateCalculator()
(#22086)drake::multibody::CalcSpatialInertia()
with the default density value (#22086)drake::multibody::HydroelasticContactInfo::HydroelasticContactInfo()
withquadrature_point_data
argument (#22086)drake::multibody::HydroelasticContactInfo::quadrature_point_data()
(#22086)drake::systems::VectorSystem::VectorSystem()
withoutdirect_feedthrough
argument (#22086)//multibody/plant:deformable_contact_info
(#22086)//multibody/plant:hydroelastic_contact_info
(#22086)//multibody/plant:hydroelastic_quadrature_point_data
(#22086)//multibody/plant:hydroelastic_traction
(#22086)//multibody/plant:point_pair_contact_info
(#22086)pydrake.geometry.MeshcatVisualizer.ResetRealtimeRateCalculator()
(#22086)pydrake.systems.framework.VectorSystem()
withoutdirect_feedthrough
argument (#22086)
Notes
This release provides pre-compiled binaries named
drake-1.35.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.