title | date | released |
---|---|---|
Drake v0.15.0 |
2020-02-12 |
2020-02-12 |
This release includes a number of translations of consumers of the legacy
RigidBodyTree
simulator to the newer MultibodyPlant
, including every
example used by our MIT users.
A number of substitutes for what are now C++ standard library mechanisms have
completed their voyage through the deprecation pipeline; we bid farewell to
drake_optional
, drake_variant
, and the Spruce filesystem library in this
release.
These are breaking changes that did not undergo a deprecation period.
- Removed some hydroelastic property setter methods:
- Hide
filesystem.h
from downstreams (#12686)- We believe this API, although public, has no downstream users.
- Re-implement the uniformly random rotation to actually be uniform (#12562)
- This has caused some problems for consumers: The existing behaviour, although wrong, was relied on by some downstream code.
New features
- Support Gaussian initial conditions in Affine/Linear systems (#12637)
- Enable
math::ComputeNumericalGradient()
for scalar typesT != double
(#12629) - Add
System::IsDifferenceEquationSystem
(#12579) - Added a new utility,
MakeSimulatorFromGflags
(#12527) - All vector-gen sources are switched to yaml format (#12684)
Fixes
- Refactor the convergence check of Newton-Raphson iterations (#12599)
- In
AffineSystem
do not add D*u to output if D==0 (#12712)
New features
- Ability to scale decision variables (SNOPT only) (#12576)
- Ability to stringify
solvers::Binding
(#12693, #12700)
#####Multibody Dynamics
New features
- New hydroelastic contact model in progress (#12552, #12557)
- Still only experimental
- Improve performance
- Improve architecture
- Benchmark vtk and ospray render engines and add documentation (#12440)
MultibodyPositionToGeometryPose
can now:- Add utility for setting contact material properties generally (#12595)
- Allow
SceneGraph::AssignRole
to update proximity properties (#12585) - Signed distance to capsule calculations with Autodiff support (#12617)
- Faster, finalization-free MultibodyPlant body -> SceneGraph Frame registration (#12690)
- Improve rotation matrix methods in
Frame
andMultibodyTree
(#12683)
Fixes
- Exclude z from
MultibodyPlant::get_state_output_port()
(#12619)
- Support default parameters for
AcrobotGeometry
(#12601) - Remove
controlled_kuka
(#12663) - Remove
contact_model
(#12719) - Several examples moved off of
RigidBodyTree
:
- pyplot improvements:
- Add example of using meshcat visualizer (#12646)
- Add linear program tutorial (#12659, #12700)
- Import SOS tutorial from colab (#12642)
- Update HTML5 animation to be conditional (#12615)
- Henceforth platform reviewers should merge approved PRs (#12692)
- macOS pre-merge validation should prefer Catalina (#12695)
- Add instructions for updating prerequisites (#12614)
- Update links to reflect modified MIT team names (#12639)
- Remove allowance for the inl.h pattern (#12711)
- Improved package top-level docstring (#12671)
pydrake.solvers.mathematicalprogram::LinearCost
(#12651)pydrake.solvers.mathematicalprogram::QuadraticCost
(#12651)- Class docstrings for py
- The upgrade of pybind11 to latest commit (#12641, below) fixes a bug that caused false cache hits for overloads (#12589)
- Upgrade buildifier to latest release 1.0.0 (#12696)
- Upgrade fcl to latest release 0.6.0 (#12694)
- Upgrade libsdformat to 9.1.0 (#12653)
- Upgrade lcm to latest commit (#12667)
- Upgrade meshcat_python to latest commit (#12668)
- Upgrade pybind11 fork to latest commit (#12641)
- Upgrade spdlog to latest release 1.5.0 (#12669)
- Upgrade styleguide to latest commit (includes cpplint changes) (#12687, #12717)
- Remove all dependencies on protobuf (#12689)
- Add instructions for building experimental binary packages using Jenkins (#12586)
- APIs:
- Legacy ("attic")
manipulation/util
(#12679) geometry::Identifier
(moved tocommon::Identifier
) (#12621)- Some methods of
geometry::SceneGraphInspector
andgeometry::GeometryState
were renamed and their old spellings deprecated (#12626)geometry::SceneGraphInspector::GetNumDynamicGeometries
becomesgeometry::SceneGraphInspector::NumDynamicGeometries
geometry::SceneGraphInspector::GetNumAnchoredGeometries
becomesgeometry::SceneGraphInspector::NumAnchoredGeometries
- A large number of items within
geometry::GeometryState
; however although this class is public it is internal and should not be called.
- Legacy ("attic")
- Dependencies
nlohmann/json
(#12666)
- APIs
- Removing deprecated ("attic") legacy support of:
drake::manipulation::dev::RemoteTreeViewerWrapper
(#12666)drake::manipulation::sensors::Xtion
and its URDF models (#12665)- Legacy manipulation and its perception and related systems: (#12677)
drake::manipulation::scene_generation::RandomClutterGenerator
drake::manipulation::scene_generation::SimulatePlantToRest
drake::manipulation::util::FramePoseTracker
drake::manipulation::util::SimpleTreeVisualizer
drake::perception::estimators::ArticulatedIcpErrorSet
drake::perception::estimators::ArticulatedIcpErrorCost
drake::perception::estimators::ArticulatedIcpErrorNormCost
drake::perception::estimators::ArticulatedIcpLinearizedNormCost
drake::perception::estimators::ArticulatedIcpBodyPoints
drake::perception::estimators::PointCorrespondence
drake::perception::estimators::ArticulatedBodyInfluence
CalcFrameGeometricJacobianExpressedInWorld
(#12685)SnoptSolver::is_thread_safe
(#12685)drake_optional
anddrake_variant
(#12682)text_logging_gflags
(#12680)MakeFileInputStreamOrThrow
(#12689)
- Removing deprecated ("attic") legacy support of:
- Dependencies:
- Spruce filesystem library (#12681)
- Examples:
- Valkyrie (#12664)
This release provides
pre-compiled binaries
named drake-20200212-{bionic|mac}.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.
{% comment %} Changelog oldest_commit a5dafde3b0c766cd1f66549044e36ba1188f7635 (inclusive). Changelog newest_commit 4d32083579906867bb75d67fb0c1faac77f657a2 (inclusive). {% endcomment %}