v0.3.0
Release notes:
Highlights:
- significant performance improvements:
mass_matrix
,inverse_dynamics
, anddynamics
are respectively 40%, 57%, and 11% faster. The biggest improvements are due to the introduction ofTypeSortedCollection
(#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
, andFixed
) (#247) - export
dynamics_bias[!]
(#295)
Notable deprecations and breaking changes:
- drop Julia 0.5 support
geometric_jacobian[!]
now returns/expects aGeometricJacobian
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 withMechanismState
. New constructor syntax forMechanismState
andDynamicsResult
. Deprecation warnings should help you transition to the new syntax. (#248, #286, #295 )Joint
s are now parameterized on theirJointType
to allow joint-type-specific dispatch without resorting to@rtti_dispatch
(#247). The oldJoint{T}
is now equivalent toGenericJoint{T}
, an exported type alias. Note that methods called onGenericJoint
s that depend on joint type will generally allocate due to dynamic dispatch.MechanismState
is now additionally parameterized on the type of itsTypeSortedCollection
ofJoint
s, to allow static dispatch based on joint types. (#247, #258)