Simbody v3.5 Release Notes

Release Date: 2014-12-18 // over 9 years ago
  • ๐Ÿš€ This release focused primarily on infrastructure for and prototyping of rigid contact and impact, and the development of examples showing how to perform task space control using Simbody. These two projects were supported by our DARPA research subcontract with Open Source Robotics Foundation, and were integrated with Gazebo. Further development for rigid contact is required for smooth integration into Simbody; this is planned for Simbody 4.0 and only the bravest among you should attempt to use rigid contact before then. The task space control examples TaskSpaceControl-UR10 and TaskSpaceControl-Atlas can be found in the Simbody examples directory.

    โšก๏ธ Chris Dembia integrated Nikolaus Hansen's Covariant Matrix Adaptation Evolution Strategy (CMA-ES) global optimizer into Simbody's existing Optimizer class framework, and implemented a multithreading capability for it. This is ready to use and we would like feedback.

    ๐Ÿ“š There were numerous smaller improvements to Simbody since the previous release, in build and installation, documentation, performance, bug fixes, and small enhancements. There are no known incompatibilities with previous release 3.4.1 and we highly recommend that you upgrade.

    ๐Ÿ†• New features

    • โž• Added Task Space control examples (pr #237 #238) (work supported by OSRF)
    • โž• Added IMU (orientation) tracking assembly condition for IK (pr #239)
    • โž• Added STL file reader to PolygonalMesh class (issue #57, pr #176)
    • โž• Added CMA-ES global optimizer with multithreading support (pr #249 #253 #267 #268)
    • ๐ŸŽ‰ Initial rigid contact support (pr #137). Includes a collection of new unilateral constraints and a specialized solver. Not yet well integrated into Simbody overall. (work supported by OSRF)
    • ๐Ÿ‘ Implemented PLUS method impact handling (issue #115 #205, pr #226) (work supported by OSRF)

    ๐Ÿ› Bugs fixed

    • ๐Ÿ›  Fixed bug in orientation of non-camera-facing text in visualizer (issue #214, pr #215)
    • ๐Ÿ›  Fixed bug in mesh triangulation (issue #198, pr #199)
    • ๐Ÿ›  Fixed Assembler bugs; could sometimes make initial solution worse or report spurious failure (issue #164 #167, pr #165 #168)
    • ๐Ÿ›  Fixed Debug visualizer name to have "_d" (issue #5)

    Misc. improvements

    • ๐Ÿ‘Œ Improved regression test timing framework to make it useful for multithreaded tests (pr #265)
    • Much nicer Doxygen for Rotation class (issue #183)
    • Reorganized Simbody example programs (pr #238)
    • โž• Added HalfSpace-ConvexImplicitSurface contact tracker (issue #232, pr #233)
    • โž• Added methods for principal curvatures and directions on arbitrary implicit surface (pr #231)
    • โž• Added missing calcContactPatch() functionality for Hertz contacts (pr #224)
    • โž• Added Brick ContactGeometry shape (pr #218)
    • โž• Added several new bilateral constraints useful as the basis for unilateral constraints in rigid contact: Constraint::PointOnPlaneContact, SphereOnPlaneContact, SphereOnSphereContact, LineOnLineContact (edge/edge) (pr #137 #169)
    • ๐Ÿ‘Œ Improved constraint performance for several basic constraints (pr #137)
    • ๐Ÿšš Moved install instructions to README.md where they can be kept up to date (pr #144 and others)
    • Replaced distance constraint equations to use length rather than length2 (issue #3). This improves scaling when distance constraint is combined with other constraints.
    • ๐Ÿ“š Numerous improvements to build, install, documentation, and performance.
    • โž• Added CONTRIBUTING.md file explaining ways to contribute to the Simbody project.