Inverse kinematics educational website - Chia, Edwin Wen Liang. (2009)
Animations of articulated figures are used in a wide range of applications such as for entertainment and education. Kinematics is a tool to assist animators in animating articulated figures. There are two types of kinematics; forward kinematics and inverse kinematics. Forward kinematics is only suitable for manipulating simple articulated figures, for complex figures the animator would require the use of inverse kinematics. In inverse kinematics an animator specifies the desired position for an end effector, and then the algorithm calculates the required joint angles to bring the articulated figure to its desired pose. The objective of this project is to create an educational website on the topic of inverse kinematics. This report focused on the six popular approaches to inverse kinematics, the Jacobian Pseudoinverse, the Damped Least Squares, the Jacobian Transpose, the Cyclic Coordinate Descent and the CCD alternative Gradient Following approach. Mathematical details for the various approaches are shown and explained. Inverse kinematics applications are created using Java, Java3D, Flash CS3 and Flash Papervision3D. The important implementation details of using these languages are presented. Experiments were conducted using the applications to compute the convergence efficiencies and the timing performances of the various inverse kinematics approaches. The Jacobian Pseudoinverse approach makes the lowest redundant motions with a high convergence efficiency of 99.9%. The Cyclic Coordinate Descent approach performed the worst with a convergence efficiency of 57.8%. In terms of timing performances, the Cyclic Coordinate Descent approach outperformed the rest by being at least 600% faster.