forked from RobotLocomotion/drake
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[doc] Add release notes v1.14.0 (RobotLocomotion#18954)
- Loading branch information
1 parent
91e3dcc
commit 6411b8f
Showing
2 changed files
with
296 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,291 @@ | ||
--- | ||
title: Drake v1.14.0 | ||
date: 2023-03-15 | ||
released: 2023-03-15 | ||
--- | ||
|
||
# Announcements | ||
|
||
* Drake's precopmiled Ubuntu binaries now have OpenMP enabled ([#18849][_#18849]). | ||
* Drake's parser can add ``*.obj`` files directly into a MultibodyPlant without | ||
SDFormat boilerplate ([#18776][_#18776]). | ||
* Drake no longers sets nor requires FMT_DEPRECATED_OSTREAM ([#18806][_#18806], | ||
[#18850][_#18850]). | ||
* Drake will remain compatible with this setting, so if you still need it | ||
for your own project you can set it yourself. | ||
|
||
# Breaking changes since v1.13.0 | ||
|
||
* InverseKinematics no longer gives mutable access to const members ([#18793][_#18793]) | ||
|
||
Refer to our [Drake Stability Guidelines](/stable.html) for our policy | ||
on API changes. | ||
|
||
# Changes since v1.13.0 | ||
|
||
## Dynamical Systems | ||
|
||
<!-- <relnotes for systems go here> --> | ||
|
||
New features | ||
|
||
* Improve defaults for AffineSystem and LinearSystem ([#18822][_#18822]) | ||
|
||
Fixes | ||
|
||
* None | ||
|
||
## Mathematical Program | ||
|
||
<!-- <relnotes for solvers go here> --> | ||
|
||
New features | ||
|
||
* Add GUROBI_NUM_THREADS environment variable ([#18819][_#18819]) | ||
* QuadraticConstraint stores Hessian type and checks convexity ([#18965][_#18965]) | ||
* Add SubstituteAndExpand method to Polynomial ([#18752][_#18752]) | ||
* Enable symbolic matrix inversions ([#18823][_#18823]) | ||
* Adds BezierCurve (isa Trajectory) ([#18868][_#18868]) | ||
|
||
Fixes | ||
|
||
* Fix a bug in GurobiSolver with duplicated variables in second-order cone constraints ([#18890][_#18890]) | ||
* Retrieve Mosek IPM solution if basis selection is disabled for LP ([#18895][_#18895]) | ||
* Speed up symbolic Add and Mul ([#18869][_#18869]) | ||
* Speed up symbolic Variable ([#18901][_#18901]) | ||
* Remove redundant options copying in IpoptSolver ([#18874][_#18874]) | ||
* Change SolverBase constructor to prefer SolverId directly ([#18880][_#18880]) | ||
|
||
## Multibody Dynamics and Geometry | ||
|
||
<!-- <relnotes for geometry,multibody go here> --> | ||
|
||
New features | ||
|
||
* Implement Meshcat::PlotSurface() ([#18924][_#18924]) | ||
* Implement Meshcat::GetSliderNames() ([#18949][_#18949]) | ||
* Add SpatialInertia::PointMass() ([#18864][_#18864]) | ||
* Add SpatialInertia::HollowSphereWithDensity() ([#18865][_#18865]) | ||
* Add SpatialInertia::SolidCubeWithDensity() ([#18866][_#18866]) | ||
* Add SpatialInertia::SolidCylinderAboutEnd() ([#18889][_#18889]) | ||
* Add SpatialInertia::ThinRodWithMass() ([#18891][_#18891]) | ||
* Add SpatialInertia::ThinRodWithMassAboutEnd() ([#18950][_#18950]) | ||
* Allow models to be parsed into plant from ``*.obj`` files ([#18776][_#18776]) | ||
* Support auto-renaming of models ([#18921][_#18921]) | ||
* Retrieve joint actuators and actuated joints per model instance ([#18959][_#18959]) | ||
|
||
Fixes | ||
|
||
* Improve SDFormat parsing error reporting ([#18462][_#18462]) | ||
* Ignore collision filter groups from model directives if there's no scene graph ([#18798][_#18798]) | ||
* SceneGraphInspector provides ordering guarantees on reported ids ([#18903][_#18903]) | ||
* Relax single model test in SDFormat singular API ([#18888][_#18888]) | ||
|
||
## Planning | ||
|
||
<!-- <relnotes for planning go here> --> | ||
|
||
New features | ||
|
||
* Ongoing work in progress on the C-IRIS feature: | ||
* Move c_iris_collision_geometry out of dev folder ([#18824][_#18824]) | ||
* Move c_iris_separating_plane out of dev ([#18852][_#18852]) | ||
* Move cspace_free_polytope.h out of dev folder ([#18860][_#18860]) | ||
* Move CspaceFreePolytope constructor out of dev folder ([#18863][_#18863]) | ||
* Add PointToLineDistanceConstraint ([#18817][_#18817]) | ||
|
||
Fixes | ||
|
||
* InverseKinematics no longer gives mutable access to const members ([#18793][_#18793]) | ||
* Further improve welded body check ([#18723][_#18723]) | ||
* Clean up ZmpPlanner ([#18845][_#18845]) | ||
|
||
## Tutorials and examples | ||
|
||
<!-- <relnotes for examples,tutorials go here> --> | ||
|
||
* Add Diagram tutorial ([#18873][_#18873]) | ||
* Add an example of using `namedview` in authoring leaf systems ([#18809][_#18809]) | ||
* Add and use drake_models/package.xml ([#18919][_#18919]) | ||
* Fix skydio model prop colors and normals ([#18867][_#18867]) | ||
* Move the distal geometry for the Jaco arm to link 7 ([#18799][_#18799]) | ||
|
||
## Miscellaneous features and fixes | ||
|
||
<!-- <relnotes for common,math,lcm,lcmtypes,manipulation,perception,visualization go here> --> | ||
|
||
* Visualiation improvements | ||
* Meldis displays point cloud data ([#18896][_#18896]) | ||
* ModelVisualizer preserves joint posture on reload ([#18933][_#18933], [#18949][_#18949]) | ||
* Add contact visualization to meshcat defaults ([#18907][_#18907]) | ||
* Logging changes | ||
* Add DRAKE_FORMATTER_AS ([#18771][_#18771]) | ||
* Add fmt_eigen ([#18811][_#18811]) | ||
* Add fmt::streamed and fmt::ostream_formatter polyfills ([#18801][_#18801]) | ||
* Add DrakeLcmBase ([#18847][_#18847]) | ||
* Add DrakeLcmInterface::SubscribeMultichannel ([#18826][_#18826]) | ||
* Serializable objects can also be output as JSON ([#18943][_#18943]) | ||
|
||
## pydrake bindings | ||
|
||
<!-- <relnotes for bindings go here> --> | ||
|
||
|
||
New features | ||
|
||
* None | ||
|
||
Fixes | ||
|
||
* Leave C++ logging sink intact (but no-op) ([#18750][_#18750]) | ||
* Condense pydrake.manipulation into a single module ([#18973][_#18973]) | ||
* Use nice names for default template classes ([#18972][_#18972]) | ||
|
||
## Build system | ||
|
||
<!-- <relnotes for cmake,doc,setup,third_party,tools go here> --> | ||
|
||
* Remove opt-in to FMT_DEPRECATED_OSTREAM ([#18806][_#18806]), [#18850][_#18850]) | ||
* Enable OpenMP in Ubuntu binaries ([#18849][_#18849]) | ||
* Automatically fix more GCC 12 installation mistakes on Jammy ([#18925][_#18925]) | ||
|
||
## Build dependencies | ||
|
||
<!-- <relnotes for workspace go here> --> | ||
|
||
* Upgrade abseil_cpp_internal to latest commit ([#18926][_#18926]) | ||
* Upgrade bazel_skylib to latest release 1.4.1 ([#18926][_#18926]) | ||
* Upgrade curl_internal to latest release 7.88.1 ([#18929][_#18929]) | ||
* Upgrade lcm to latest commit ([#18926][_#18926]) | ||
* Upgrade mypy_internal to latest release v1.0.1 ([#18926][_#18926]) | ||
* Upgrade petsc to latest release v3.18.5 ([#18926][_#18926]) | ||
* Upgrade ros_xacro_internal to latest release 1.14.15 ([#18926][_#18926]) | ||
* Upgrade rules_pkg to latest release 0.8.1 ([#18926][_#18926]) | ||
* Upgrade rules_python to latest release 0.19.0 ([#18926][_#18926]) | ||
* Upgrade sdformat_internal to latest release 13.3.0 ([#18931][_#18931]) | ||
* Upgrade tinyobjloader to latest commit ([#18926][_#18926]) | ||
* Upgrade typing_extensions_internal to latest release 4.5.0 ([#18926][_#18926]) | ||
|
||
## Newly-deprecated APIs | ||
|
||
* drake::SortedPair::operator<< ([#18892][_#18892]) | ||
* drake::copyable_unique_ptr::operator<< ([#18771][_#18771]) | ||
* drake::kHomogeneousTransformSize ([#18857][_#18857]) | ||
* drake::kQuaternionSize ([#18857][_#18857]) | ||
* drake::kRotmatSize ([#18857][_#18857]) | ||
* drake::kRpySize ([#18857][_#18857]) | ||
* drake::kSpaceDimension ([#18857][_#18857]) | ||
* drake::kTwistSize ([#18857][_#18857]) | ||
* drake::multibody::parsing::GetInstanceScopeName ([#17482][_#17482]) | ||
* drake::multibody::parsing::GetScopedFrameName ([#17482][_#17482]) | ||
* drake::multibody::parsing::ParseScopedName ([#17482][_#17482]) | ||
* drake::multibody::parsing::PrefixName ([#17482][_#17482]) | ||
* drake::planning::CollisionChecker::GetScopedName ([#17482][_#17482]) | ||
* drake::solvers::SolverBase constructor with a SolverId-returning functor ([#18880][_#18880]) | ||
* drake::systems::controllers::ZMPPlanner ([#18845][_#18845]) | ||
* pydrake.multibody.parsing.GetScopedFrameName ([#17482][_#17482]) | ||
* pydrake.multibody.plant.CalcJacobianSpatialVelocity(*, p_BP) use p_BoBp_B ([#18876][_#18876]) | ||
* pydrake.planning.CollisionChecker.GetScopedName ([#17482][_#17482]) | ||
|
||
## Removal of deprecated items | ||
|
||
* drake::trajectories::PiecewisePolynomial::Cubic ([#18927][_#18927]) | ||
* drake::multibody::MultibodyPlant::AddCouplerConstraint with non-double gear_ratio and offet ([#18927][_#18927]) | ||
* drake::multibody::MultibodyPlant continuous_state port ([#18927][_#18927]) | ||
* drake::multibody::MoultibodyPlant port suffixed with _continuous_state ([#18927][_#18927]) | ||
* drake::multibody::FixedOffsetFrame::SetPoseInBodyFrame ([#18927][_#18927]) | ||
* drake::systems::LeafSystem::DeclarePeriodicPublish ([#18927][_#18927]) | ||
* drake::systems::LeafSystem::DeclarePeriodicDiscreteUpdate ([#18927][_#18927]) | ||
* drake::systems::LeafSystem::DeclarePeriodicUnrestrictedUpdate ([#18927][_#18927]) | ||
* drake::systems::System::CalcDiscreteVariableUpdates ([#18927][_#18927]) | ||
* drake::systems::System::CalcUnrestrictedUpdate ([#18927][_#18927]) | ||
* drake::systems::System::Publish(context) ([#18927][_#18927]) | ||
* pydrake.multibody.tree.FixedOffsetFrame.SetPoseInBodyFrame ([#18927][_#18927]) | ||
* pydrake.systems.framework.LeafSystem.DeclarePeriodicPublish ([#18927][_#18927]) | ||
* pydrake.systems.framework.LeafSystem.DeclarePeriodicDiscreteUpdate ([#18927][_#18927]) | ||
* pydrake.systems.framework.System.CalcDiscreteVariableUpdates ([#18927][_#18927]) | ||
* pydrake.systems.framework.System.CalcUnrestrictedUpdate ([#18927][_#18927]) | ||
* pydrake.systems.framework.System.Publish ([#18927][_#18927]) | ||
|
||
# Notes | ||
|
||
|
||
This release provides [pre-compiled binaries](https://github.com/RobotLocomotion/drake/releases/tag/v1.14.0) named | ||
``drake-20230315-{focal|jammy|mac|mac-arm64}.tar.gz``. See [Stable Releases] | ||
(/from_binary.html#stable-releases) for instructions on how to use them. | ||
|
||
Drake binary releases incorporate a pre-compiled version of [SNOPT](https://ccom.ucsd.edu/~optimizers/solvers/snopt/) as part of the | ||
[Mathematical Program toolbox](https://drake.mit.edu/doxygen_cxx/group__solvers.html). Thanks to | ||
Philip E. Gill and Elizabeth Wong for their kind support. | ||
|
||
<!-- <begin issue links> --> | ||
[_#17482]: https://github.com/RobotLocomotion/drake/pull/17482 | ||
[_#18462]: https://github.com/RobotLocomotion/drake/pull/18462 | ||
[_#18723]: https://github.com/RobotLocomotion/drake/pull/18723 | ||
[_#18750]: https://github.com/RobotLocomotion/drake/pull/18750 | ||
[_#18752]: https://github.com/RobotLocomotion/drake/pull/18752 | ||
[_#18771]: https://github.com/RobotLocomotion/drake/pull/18771 | ||
[_#18776]: https://github.com/RobotLocomotion/drake/pull/18776 | ||
[_#18793]: https://github.com/RobotLocomotion/drake/pull/18793 | ||
[_#18798]: https://github.com/RobotLocomotion/drake/pull/18798 | ||
[_#18799]: https://github.com/RobotLocomotion/drake/pull/18799 | ||
[_#18801]: https://github.com/RobotLocomotion/drake/pull/18801 | ||
[_#18806]: https://github.com/RobotLocomotion/drake/pull/18806 | ||
[_#18809]: https://github.com/RobotLocomotion/drake/pull/18809 | ||
[_#18811]: https://github.com/RobotLocomotion/drake/pull/18811 | ||
[_#18817]: https://github.com/RobotLocomotion/drake/pull/18817 | ||
[_#18819]: https://github.com/RobotLocomotion/drake/pull/18819 | ||
[_#18822]: https://github.com/RobotLocomotion/drake/pull/18822 | ||
[_#18823]: https://github.com/RobotLocomotion/drake/pull/18823 | ||
[_#18824]: https://github.com/RobotLocomotion/drake/pull/18824 | ||
[_#18826]: https://github.com/RobotLocomotion/drake/pull/18826 | ||
[_#18845]: https://github.com/RobotLocomotion/drake/pull/18845 | ||
[_#18847]: https://github.com/RobotLocomotion/drake/pull/18847 | ||
[_#18849]: https://github.com/RobotLocomotion/drake/pull/18849 | ||
[_#18850]: https://github.com/RobotLocomotion/drake/pull/18850 | ||
[_#18852]: https://github.com/RobotLocomotion/drake/pull/18852 | ||
[_#18857]: https://github.com/RobotLocomotion/drake/pull/18857 | ||
[_#18860]: https://github.com/RobotLocomotion/drake/pull/18860 | ||
[_#18863]: https://github.com/RobotLocomotion/drake/pull/18863 | ||
[_#18864]: https://github.com/RobotLocomotion/drake/pull/18864 | ||
[_#18865]: https://github.com/RobotLocomotion/drake/pull/18865 | ||
[_#18866]: https://github.com/RobotLocomotion/drake/pull/18866 | ||
[_#18867]: https://github.com/RobotLocomotion/drake/pull/18867 | ||
[_#18868]: https://github.com/RobotLocomotion/drake/pull/18868 | ||
[_#18869]: https://github.com/RobotLocomotion/drake/pull/18869 | ||
[_#18873]: https://github.com/RobotLocomotion/drake/pull/18873 | ||
[_#18874]: https://github.com/RobotLocomotion/drake/pull/18874 | ||
[_#18876]: https://github.com/RobotLocomotion/drake/pull/18876 | ||
[_#18880]: https://github.com/RobotLocomotion/drake/pull/18880 | ||
[_#18888]: https://github.com/RobotLocomotion/drake/pull/18888 | ||
[_#18889]: https://github.com/RobotLocomotion/drake/pull/18889 | ||
[_#18890]: https://github.com/RobotLocomotion/drake/pull/18890 | ||
[_#18891]: https://github.com/RobotLocomotion/drake/pull/18891 | ||
[_#18892]: https://github.com/RobotLocomotion/drake/pull/18892 | ||
[_#18895]: https://github.com/RobotLocomotion/drake/pull/18895 | ||
[_#18896]: https://github.com/RobotLocomotion/drake/pull/18896 | ||
[_#18901]: https://github.com/RobotLocomotion/drake/pull/18901 | ||
[_#18903]: https://github.com/RobotLocomotion/drake/pull/18903 | ||
[_#18907]: https://github.com/RobotLocomotion/drake/pull/18907 | ||
[_#18919]: https://github.com/RobotLocomotion/drake/pull/18919 | ||
[_#18921]: https://github.com/RobotLocomotion/drake/pull/18921 | ||
[_#18924]: https://github.com/RobotLocomotion/drake/pull/18924 | ||
[_#18925]: https://github.com/RobotLocomotion/drake/pull/18925 | ||
[_#18926]: https://github.com/RobotLocomotion/drake/pull/18926 | ||
[_#18927]: https://github.com/RobotLocomotion/drake/pull/18927 | ||
[_#18929]: https://github.com/RobotLocomotion/drake/pull/18929 | ||
[_#18931]: https://github.com/RobotLocomotion/drake/pull/18931 | ||
[_#18933]: https://github.com/RobotLocomotion/drake/pull/18933 | ||
[_#18943]: https://github.com/RobotLocomotion/drake/pull/18943 | ||
[_#18949]: https://github.com/RobotLocomotion/drake/pull/18949 | ||
[_#18950]: https://github.com/RobotLocomotion/drake/pull/18950 | ||
[_#18959]: https://github.com/RobotLocomotion/drake/pull/18959 | ||
[_#18965]: https://github.com/RobotLocomotion/drake/pull/18965 | ||
[_#18972]: https://github.com/RobotLocomotion/drake/pull/18972 | ||
[_#18973]: https://github.com/RobotLocomotion/drake/pull/18973 | ||
<!-- <end issue links> --> | ||
|
||
<!-- | ||
Current oldest_commit f062738a338ab26776d24c14e6d5d79b2280a79c (exclusive). | ||
Current newest_commit 91e3dccea12c6b5fa73ec215d8af0ff4ee7f1876 (inclusive). | ||
--> |