Skip to content

v0.3.0

Compare
Choose a tag to compare
@tkoolen tkoolen released this 20 Aug 04:53
· 678 commits to master since this release

Release notes:

Highlights:

  • significant performance improvements: mass_matrix, inverse_dynamics, and dynamics are respectively 40%, 57%, and 11% faster. The biggest improvements are due to the introduction of TypeSortedCollection (#237, #247, #269, #293) and due to faster cache-staleness checks (#253, #254, #294).
  • remove fixed-maximum-size matrix code (StaticArrays/Base type piracy)
  • get rid of <:Number requirement for all types, mainly to support JuMP variable/expression types (#276).
  • add support for user-defined joint types (as opposed to only allowing QuaternionFloating, Revolute, Prismatic, and Fixed) (#247)
  • export dynamics_bias[!] (#295)

Notable deprecations and breaking changes:

  • drop Julia 0.5 support
  • geometric_jacobian[!] now returns/expects a GeometricJacobian with a number of columns that is equal to the number of velocities of the state, instead of the number of velocities of the kinematic path from the base to the body (#269)
  • DynamicsResult type parameters have changed order, to be more consistent with MechanismState. New constructor syntax for MechanismState and DynamicsResult. Deprecation warnings should help you transition to the new syntax. (#248, #286, #295 )
  • Joints are now parameterized on their JointType to allow joint-type-specific dispatch without resorting to @rtti_dispatch (#247). The old Joint{T} is now equivalent to GenericJoint{T}, an exported type alias. Note that methods called on GenericJoints that depend on joint type will generally allocate due to dynamic dispatch.
  • MechanismState is now additionally parameterized on the type of its TypeSortedCollection of Joints, to allow static dispatch based on joint types. (#247, #258)