Announcements
- Drake now provides PyPI wheels for Python 3.11 running on Linux (#18468).
Breaking changes since v1.11.0
- Demote the
InputPortBase
protected constructor out of the Stable API, and change its signature (#18525).- We expect that nobody was using this constructor in practice.
MultibodyElement
no longer takes theBody
andBodyNodeIndex
template 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
HPoyhedron
from a VPolytope (#18493)
Fixes
- None
Multibody Dynamics and Geometry
New features
- Add
ComputeQ
to rational forward kinematics (#18476) - Add ability for
SceneGraph
to 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_internal
to latest commit (#18516) - Upgrade
curl_internal
to latest release 7.87.0 (#18516) - Upgrade
dm_control_internal
to latest commit (#18516) - Upgrade
googlebenchmark
to 1.7.1 (#18457) - Upgrade
petsc
to latest release 3.18.3 (#18516) - Upgrade
rules_python
to latest release 0.16.1 (#18524) - Upgrade
stable_baselines3_internal
to latest release 1.6.2 (#18516) - Upgrade
tinyobjloader
to latest commit (#18516) - Upgrade
usockets
to latest release 0.8.5 (#18516) - Upgrade
uwebsockets
to 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
conex
build with modern compilers (#18537) - Add
pybind11_strip
to the CMake build to enable-DCMAKE_BUILD_TYPE=Release
(#18453) - Avoid accidentally installing OpenBLAS (#18540)
Newly-deprecated APIs
- The parameter
absolute_pathname
inpydrake.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
@msgpack
external (#18559)
Removal of deprecated items
drake::systems::ApplySimulatorConfig
with simulator argument first (#18533)- The
@tinyxml2
external (#18509) - The
@ghc_filesystem
external (#18509) - The
@json
external (#18532) - The
@nlopt
external (#18532) - Require
Finalize()
to be called before state counts are available (remove previous deprecated behavior of returning inaccurate counts) (#18515)multibody::plant::MultibodyPlant.num_positions
when called pre-Finalize()
multibody::plant::MultibodyPlant.num_velocities
when called pre-Finalize()
multibody::plant::MultibodyPlant.num_mulitbody_states
when 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.