Announcements
- Drake now provides PyPI wheels for Python 3.11 running on Linux (#18468).
Breaking changes since v1.11.0
- Demote the
InputPortBaseprotected constructor out of the Stable API, and change its signature (#18525).- We expect that nobody was using this constructor in practice.
MultibodyElementno longer takes theBodyandBodyNodeIndextemplate parameters. We expect that nobody was using that class in practice, but if you were, simply delete the first and last template parameters. (#18460) (#18526)
Refer to our Drake Stability Guidelines for our policy on API changes.
Changes since v1.11.0
Dynamical Systems
New features
- None
Fixes
- None
Mathematical Program
New features
NloptSolver’s algorithm can be set viaSolverOptions::SetOption; see the documentation for solver options for details. (#18535)- Add ability to construct an
HPoyhedronfrom a VPolytope (#18493)
Fixes
- None
Multibody Dynamics and Geometry
New features
- Add
ComputeQto rational forward kinematics (#18476) - Add ability for
SceneGraphto change geometry shape (#18513)
Fixes
- Fix misuse of forward-declared classes (#18538)
- Change a user-facing error to throw, not abort (#18543)
- When directly constructing mesh objects (not via SDFormat/URDF parsers), paths to mesh geometries are no longer documented as absolute paths; relative paths will be resolved to absolute paths based on the working directory. (#18536)
Planning
New features
- Add
CollisionCheckerContext(#18428) - Add
BodyShapeDescription(#18424) (#18472) - Add
CollisionCheckerParams(#18473)
Fixes
- None
Tutorials and examples
- Add carrot scooping video to the drake gallery (#18489)
Miscellaneous features and fixes
- Add sliders for geometry alpha in
MeshcatVisualizer(#18454) (#18469) (#18481) - Enable manual model reloading in
ModelVisualizer(#18488)
pydrake bindings
New features
- Rational forward kinematics python bindings (#18495)
- Begin adding typed (i.e., schema-based) YAML loading (#18564)
Fixes
- Add
__repr__to several classes (#18529)
Build system
New features
- Add Linux Python 3.11 wheel (#18468)
Fixes
- Allow unsupported compilers with warning (CMake) (#18498)
Build dependencies
- Add dependency on OpenAI Gym (#18440)
- Add dependency on a subset of
stable_baselines3(#18440) - Upgrade
abseil_cpp_internalto latest commit (#18516) - Upgrade
curl_internalto latest release 7.87.0 (#18516) - Upgrade
dm_control_internalto latest commit (#18516) - Upgrade
googlebenchmarkto 1.7.1 (#18457) - Upgrade
petscto latest release 3.18.3 (#18516) - Upgrade
rules_pythonto latest release 0.16.1 (#18524) - Upgrade
stable_baselines3_internalto latest release 1.6.2 (#18516) - Upgrade
tinyobjloaderto latest commit (#18516) - Upgrade
usocketsto latest release 0.8.5 (#18516) - Upgrade
uwebsocketsto latest releases 20.35.0 (#18516) - Drake is now compatible with NumPy 1.24 (#18486)
- Drake is now compatible with any Gurobi 9.5.x patch version (#18464)
- Build msgpack privately from source (#18559)
- Fix
conexbuild with modern compilers (#18537) - Add
pybind11_stripto the CMake build to enable-DCMAKE_BUILD_TYPE=Release(#18453) - Avoid accidentally installing OpenBLAS (#18540)
Newly-deprecated APIs
- The parameter
absolute_pathnameinpydrake.geometry.Mesh()andpydrake.geometry.Convex()has been renamedpathname(#18536) - Deprecate “register w.r.t. geometry” SceneGraph APIs (#18448)
geometry::SceneGraph.RegisterGeometry(the geometry-as-parent overloads)geometry::SceneGraphInspector.GetPoseInParent
- Repair some physical dependency defects in
MultibodyTree(#18522)- Bazel label
//multibody/tree:multibody_element
- Bazel label
- The
@msgpackexternal (#18559)
Removal of deprecated items
drake::systems::ApplySimulatorConfigwith simulator argument first (#18533)- The
@tinyxml2external (#18509) - The
@ghc_filesystemexternal (#18509) - The
@jsonexternal (#18532) - The
@nloptexternal (#18532) - Require
Finalize()to be called before state counts are available (remove previous deprecated behavior of returning inaccurate counts) (#18515)multibody::plant::MultibodyPlant.num_positionswhen called pre-Finalize()multibody::plant::MultibodyPlant.num_velocitieswhen called pre-Finalize()multibody::plant::MultibodyPlant.num_mulitbody_stateswhen called pre-Finalize()
- Several Differential Inverse Kinematics parameters (#18549)
manipulation::planner::DifferentialInverseKinmeaticsParameters()with no arguments.manipulation::planner::DifferentialInverseKinmeaticsParameters.get_timestep()manipulation::planner::DifferentialInverseKinmeaticsParameters.set_timestep()manipulation::planner::DifferentialInverseKinmeaticsParameters.get_end_effector_velocity_gain()manipulation::planner::DifferentialInverseKinmeaticsParameters.set_end_effector_velocity_gain()manipulation::planner::DifferentialInverseKinmeaticsParameters.get_unconstrained_degrees_of_freedom_velocity_limit()manipulation::planner::DifferentialInverseKinmeaticsParameters.set_unconstrained_degrees_of_freedom_velocity_limit()
Notes
This release provides pre-compiled binaries named
drake-20230112-{focal|jammy|mac|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.