title | date | released |
---|---|---|
Drake v1.16.0 |
2023-05-18 |
2023-05-18 |
- The powerful Graph of Convex Sets ("GCS") Trajectory Optimization class makes
its first appearance in this release. The initial release only offers a few
costs and constraints. Future releases will grow the feature set.
- See "Motion Planning around Obstacles with Convex Optimization" by Tobia Marcucci, Mark Petersen, David von Wrangel, Russ Tedrake.
- The new rendering server
drake-blender
can be used with Drake's
RenderEngineGltfClient
. - Symbolic matrix multiplication in pydrake runs faster now if you call the
pydrake.math.matmul
function instead of the@
operator. - We continue to work on improving mesh geometry support for the illustration and perception roles. Future releases will contain even more updates.
- Filter contact results for completely locked trees (#19349)
- The members of
ContactResults
will no longer be in bijection with the geometry quantities (PenetrationAsPointPair
andContactSurface
) that inform the solver of contact. Geometric contact data between completely locked trees will simply be ignored. - Any program that made the assumption that: num_contact_results = num_point_pairs + num_contact_surfaces will be broken.
- The members of
- Remove pydrake.geometry.optimization.CopyableUniquePtrConvexSet (#19343)
- Please use pydrake.geometry.optimization.ConvexSet
- Update RenderEngineVtk to use RenderMaterial for appearance data (#19383)
- Materials defined in a mtl file for an obj file foo.obj will now be preferred over arbitrarily using the file foo.png in the same directory. This may change mesh appearance.
Refer to our Drake Stability Guidelines for our policy on API changes.
New features
- Add DiagramBuilder::RemoveSystem (#19243)
- Add IsDetectable and IsStabilizable to LinearSystem class (#19289)
Fixes
- Change DiscreteDerivative's suppress_initial_transient default value to true (#19247)
- Throw an error when Riccati equation is not solved for continuous time system (#19222)
New features
- Add optional rounding solver options (#18875)
- Add GetExpression to BezierCurve (#19205)
- Support IRIS initial ellipse (#19257)
- Add max_explored_nodes for branch_and_bound (#19366)
- Add ExpressionCost (#19405)
- Add Spectrahedron isa ConvexSet (#19316)
Fixes
- Speed up symbolic matmul (#19304, #19345)
- Fix a bug when calling ConstructMonomialBasis with a constant polynomial (#19233)
- Make GraphOfConvexSets preprocessing respect solver options (#19312)
New features
- Add Rgba::update to selectively change values (#19237)
- Exposes SAP near rigid threshold (#19218)
- Add GeometryInstance overload without unique_ptr (#19251)
- Add SpatialInertia::SolidSphereWithMass() and HollowSphereWithMass() (#19268)
- ShapeReifier can configure default behavior (#19367)
- Calculate principal moments of inertia and their axes (#19281)
- Ability for MeshcatVisualizer to filter geometry via property (#19220)
- Enable alpha adjustment of invisible geometry (#19287)
Fixes
- Throw exceptions for spatial inertia primitives with mass or density that is not positive and finite (#19192)
- Set random state to default when distribution is missing (#19230)
- Improve URDF inertia invalidity handling (#19238)
- Sample MultibodyPlant input force ports discretely (#19225)
- Respect axis element for planar joint in URDF (#19355)
- Improve SDFormat inertia handling (#19245)
- Fix RenderEngine to properly incorporate sensor pose in camera body (#19398)
- Unify spatial inertia calculations in Mujoco parser (#19342)
- Improve error message for !(Delta > 0) (#19407)
- Map white color to kDontCare in render_gltf_client (#19397)
New features
- Add GcsTrajectoryOptimization (#19239)
- Add a time cost to GcsTrajectoryOptimization (#19301)
- Add velocity bounds to subgraphs of GcsTrajectoryOptimization (#19334)
Fixes
- Improve performance of SceneGraphCollisionChecker through better collision filtering (#19387)
- Add support for T=Expression to QuadrotorPlant example (#19256)
- Add render camera preview (#19158)
- Add hash_append support for bare pointers (#19248)
- Update models of the IIWA 14 with estimated reflected inertia (#19344)
- Use shared_ptr for LCM serializers (#19369)
- Improve math::AreAutoDiffVecXdEqual (#19393)
New features
- Add pydrake.math.matmul (#19298)
Fixes
- Fix CompositeTrajectory constructor argument type (#19252)
- Fix docs & mypy stubs for GraphOfConvexSets (#19283)
- Handle nulls in ImportError reporting (#19296)
Newly bound
- pydrake.geometry.SceneGraph.ChangeShape() (#19278)
- pydrake.multibody.optimization.QuaternionEulerIntegrationConstraint.ComposeVariable() (#19288)
- pydrake.multibody.optimization.QuaternionEulerIntegrationConstraint.allow_quaternion_negation() (#19288)
- pydrake.multibody.tree.SpatialInertia.SolidSphereWithMass() and HollowSphereWithMass() (#19268)
- Add missing runfiles to bazel drake_shared_library (#19294)
- Fix FindResource vs non-source Bazel builds (#19206)
- Build IPOPT 3.14.12 from source on Ubuntu (#19388)
- Upgrade abseil_cpp_internal to latest commit (#19332)
- Upgrade buildifier to latest release v6.1.2 (#19332)
- Upgrade common_robotics_utilities to latest commit (#19332)
- Upgrade dm_control_internal to latest commit (#19332)
- Upgrade lcm to latest release v1.5.0 (#19332)
- Upgrade optitrack_driver to latest commit (#19324)
- Upgrade petsc to latest release v3.19.1 (#19332)
- Upgrade rules_python to latest release 0.21.0 (#19332)
- Upgrade stable_baselines3_internal to latest release v1.8.0 (#19187)
- Upgrade styleguide to latest commit (#19277)
- drake::geometry::optimization::GetCollisionGeometries (#19368)
- drake::systems::lcm::Serializer::Clone (#19369)
- drake::visualization::ApplyVisualizationConfig overload taking a const SceneGraph (#19217)
- pydrake.geometry.GeometryInstance.release_shape #19251)
- Drop the render qualifier for pydrake.geometry.render (#19241)
- Everything in pydrake.geometry.render should be imported from pydrake.geometry now.
- drake::multibody::Parser::AddModelFromString (#19413)
- drake::systems::trajectory_optimization (moved elsewhere) (#18697, #19307)
- On macOS, the
--with-maintainer-only
install_prereqs flag (#18665, #19307) - pydrake.examples.acrobot as a sub-module (#18685, #19307)
- pydrake.examples.compass_gait as a sub-module (#18685, #19307)
- pydrake.examples.manipulation_station as a sub-module (#18685, #19307)
- pydrake.multibody.parsing.Parser.AddModelFromString (#19413)
- pydrake.solvers.augmented_lagrangian as a sub-module (#18683, #19307)
- pydrake.solvers.branch_and_bound as a sub-module (#18683, #19307)
- pydrake.solvers.clp as a sub-module (#18683, #19307)
- pydrake.solvers.csdp as a sub-module (#18683, #19307)
- pydrake.solvers.dreal as a sub-module (#18683, #19307)
- pydrake.solvers.gurobi as a sub-module (#18683, #19307)
- pydrake.solvers.ipopt as a sub-module (#18683, #19307)
- pydrake.solvers.mathematicalprogram as a sub-module (#18683, #19307)
- pydrake.solvers.mixed_integer_optimization_util as a sub-module (#18683, #19307)
- pydrake.solvers.mixed_integer_rotation_constraint as a sub-module (#18683, #19307)
- pydrake.solvers.mosek as a sub-module (#18683, #19307)
- pydrake.solvers.nlopt as a sub-module (#18683, #19307)
- pydrake.solvers.osqp as a sub-module (#18683, #19307)
- pydrake.solvers.scs as a sub-module (#18683, #19307)
- pydrake.solvers.sdpa_free_format as a sub-module (#18683, #19307)
- pydrake.solvers.snopt as a sub-module (#18683, #19307)
- pydrake.systems.trajectory_optimization (moved elsewhere) (#18697, #19307)
- The @ccd bazel external (#18611, #19307)
- The @fcl bazel external (#18611, #19307)
- The @msgpack external (#18559, #19307)
- The @osqp bazel external (#18690, #19307)
- The @qdldl bazel external (#18690, #19307)
- The @scs bazel external (#18690, #19307)
- The @stduuid bazel external (#18610, #19307)
- The @suitesparse bazel external (#18690, #19307)
- The parameter
absolute_pathname
inpydrake.geometry.Mesh()
andpydrake.geometry.Convex()
(#18536, #19307)
This release provides pre-compiled binaries named
drake-20230518-{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.