All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Basic benchmark for solve.
- Used damped pseudo inverse for SVD case.
- Make progressively smaller step sizes towards goals if an IK chain is diverging.
- Jacobian pseudo inverse caching for opportunistic performance gain.
- Added "saveRestPose" to "IKUtils" export.
- Simplified internal Matrix initialization.
- Use analytic Jacobian.
- Remove "translationStep" and "rotatinoStep" options.
- Use a simplified formulation for rest pose calculations for a significant speed up when using rest pose.
- Move "findRoots" to "IKUtils" export.
- Moved "urdfRobotToIKRoot", "setUrdfFromIK", "setIKFromUrdf" to URDFUtils export.
- URDFUtils.setIKFromUrdf: Root DoF values are now set with taking the IK root into account.
- URDFUtils.urdfRobotToIKRoot: The produced IK system now accounts for any existing changes to the URDF joint values.
- Fixed case where Matrices were not zeroed out when fetched from MatrixPool, possibly causing some outdated values to be used in calculations.
- Adjust package version requirements.
- Set the type and module entry in the package.
- Updated the project to work with three.js r159 and up.
- Removed
IKRootsHelper.setResolution.
- Better error messages.
- Typescript definition files.
- Functions for setting draw through and color on
IKRootsHelper.
- IKRootsHelper throwing an error when calling
updateStructure. - IKRootsHelper throwing an error when calling
dispose. - Support for prismatic joints when assigning the ik state to URDF joints.
- Disabled SVD by default on Solver because it was causing solves to diverge.
- Frame and Joint matrices from using
Float64Arrayto usingFloat32Array. - Added
matrixPoolontoSolverandChainSolverinstances so they are not retained globally. - WorkerSolver now falls back to clone
ArrayBufferswhenSharedArrayBuffersare not available.
useSVDoption not be set onto Solver's ChainSolvers.useSVDoption will fall back to non SVD pseudoinverse if SVD fails to be computed.- Removed ability to set unmoveable DoF on Joints.
- Removed unmoveable joints from solve.
findRootsfunction for finding unique connected hierarchy roots from a set of frames.useSVDoption for Solvers.
- Joint rest pose not being applied correctly resulting in the solver often not converging.
- Closure links are no longer added to the Joint children array.
- All connected roots no longer have to be manually added to the IKRootsHelper or Solvers.
- Renamed
IKRootsHelper.updatetoIKRootsHelper.updateStructure.
Initial release