Inverse Kinematics with Dual-Quaternions, Exponential-Maps, and Joint Limits

We present a novel approach for solving articulated inverse kinematic problems (e.g., character structures) by means of an iterative dual-quaternion and exponentialmapping approach. As dual-quaternions are a break from the norm and offer a straightforward and computationally efficient technique for representing kinematic transforms (i.e., position and translation). Dual-quaternions are capable of represent both translation and rotation in a unified state space variable with its own set of algebraic equations for concatenation and manipulation. Hence, an articulated structure can be represented by a set of dual-quaternion transforms, which we can manipulate using inverse kinematics (IK) to accomplish specific goals (e.g., moving end-effectors towards targets). We use the projected Gauss-Seidel iterative method to solve the IK problem with joint limits. Our approach is flexible and robust enough for use in interactive applications, such as games. We use numerical examples to demonstrate our approach, which performed successfully in all our test cases and produced pleasing visual results. Keywords-Inverse Kinematics; Gauss-Seidel; Articulated Character; Games; Joint Limits; Iterative; Dual-Quaternion; Jacobian; Exponential-Map

[1]  Ramakrishnan Mukundan,et al.  Triangualation - A New Algorithm for Inverse Kinematics , 2007 .

[2]  William Rowan Hamilton,et al.  Elements of Quaternions , 1969 .

[3]  Jean-Claude Latombe,et al.  Real-time knot-tying simulation , 2004, The Visual Computer.

[4]  R. Kulpa,et al.  Fast inverse kinematics and kinetics solver for human-like figures , 2005, 5th IEEE-RAS International Conference on Humanoid Robots, 2005..

[5]  Samuel R. Buss,et al.  Selectively Damped Least Squares for Inverse Kinematics , 2005, J. Graph. Tools.

[6]  Kevin G. Der,et al.  Inverse kinematics for reduced deformable models , 2006, SIGGRAPH 2006.

[7]  F. Sebastian Grassia,et al.  Practical Parameterization of Rotations Using the Exponential Map , 1998, J. Graphics, GPU, & Game Tools.

[8]  Xavier Varona,et al.  Evaluation of on-line analytic and numeric inverse kinematics approaches driven by partial vision input , 2006, Virtual Reality.

[9]  John Baillieul,et al.  Kinematic programming alternatives for redundant manipulators , 1985, Proceedings. 1985 IEEE International Conference on Robotics and Automation.

[10]  L. Verlet Computer "Experiments" on Classical Fluids. I. Thermodynamical Properties of Lennard-Jones Molecules , 1967 .

[11]  Ben Kenwright,et al.  Synthesizing Balancing Character Motions , 2012, VRIPHYS.

[12]  Ronan Boulic,et al.  Full-body performance animation with Sequential Inverse Kinematics , 2008, Graph. Model..

[13]  Norman I. Badler,et al.  Inverse kinematics positioning using nonlinear programming for highly articulated figures , 1994, TOGS.

[14]  Jovan Popović,et al.  Mesh-based inverse kinematics , 2005, SIGGRAPH 2005.

[15]  Tong Liu,et al.  Computation of three-dimensional rigid-body dynamics with multiple unilateral contacts using time-stepping and Gauss-Seidel methods , 2005, IEEE Transactions on Automation Science and Engineering.

[16]  Ben Kenwright,et al.  A Beginners Guide to Dual-Quaternions: What They Are, How They Work, and How to Use Them for 3D Character Hierarchies , 2012, WSCG 2012.

[17]  R. Fletcher Practical Methods of Optimization , 1988 .

[18]  Nicolas Courty,et al.  Inverse Kinematics Using Sequential Monte Carlo Methods , 2008, AMDO.

[19]  Jérémie Allard,et al.  Parallel Dense Gauss-Seidel Algorithm on Many-Core Processors , 2009, 2009 11th IEEE International Conference on High Performance Computing and Communications.

[20]  Clifford,et al.  Preliminary Sketch of Biquaternions , 1871 .

[21]  Michael Girard,et al.  Computational modeling for the computer animation of legged figures , 1998 .

[22]  Chris Welman,et al.  INVERSE KINEMATICS AND GEOMETRIC CONSTRAINTS FOR ARTICULATED FIGURE MANIPULATION , 1993 .

[23]  Lorenzo Sciavicco,et al.  Robust Control of Robotic Manipulators , 1984 .

[24]  Marcelo Kallmann,et al.  Analytical inverse kinematics with body posture control , 2008, Comput. Animat. Virtual Worlds.

[25]  Charles W. Wampler,et al.  Manipulator Inverse Kinematic Solutions Based on Vector Formulations and Damped Least-Squares Methods , 1986, IEEE Transactions on Systems, Man, and Cybernetics.

[26]  Yoshihiko Nakamura,et al.  Inverse kinematic solutions with singularity robustness for robot manipulator control , 1986 .

[27]  Aaron Hertzmann,et al.  Style-based inverse kinematics , 2004, ACM Trans. Graph..

[28]  Bobby Bodenheimer,et al.  The Process of Motion Capture: Dealing with the Data , 1997, Computer Animation and Simulation.

[29]  Norman I. Badler,et al.  Gesticulation behaviors for virtual humans , 1998, Proceedings Pacific Graphics '98. Sixth Pacific Conference on Computer Graphics and Applications (Cat. No.98EX208).

[30]  Philippe Fraisse,et al.  Position and orientation control of robot manipulators using dual quaternion feedback , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[31]  Andreas Aristidou,et al.  FABRIK: A fast, iterative solver for the Inverse Kinematics problem , 2011, Graph. Model..

[32]  Richard W. Cottle,et al.  Linear Complementarity Problem. , 1992 .

[33]  W. Wolovich,et al.  A computational technique for inverse kinematics , 1984, The 23rd IEEE Conference on Decision and Control.

[34]  Katsu Yamane,et al.  Natural Motion Animation through Constraining and Deconstraining at Will , 2003, IEEE Trans. Vis. Comput. Graph..

[35]  Erin S. Catto Iterative Dynamics with Temporal Coherence , 2005 .

[36]  Marc Cavazza,et al.  A constrained inverse kinematics technique for real-time motion capture animation , 1999, The Visual Computer.

[37]  Chih-Cheng Chen,et al.  A combined optimization method for solving the inverse kinematics problems of mechanical manipulators , 1991, IEEE Trans. Robotics Autom..

[38]  R. Mukundan A robust inverse kinematics algorithm for animating a joint chain , 2009, Int. J. Comput. Appl. Technol..

[39]  Chris Hecker,et al.  Real-time motion retargeting to highly varied user-created morphologies , 2008, SIGGRAPH 2008.

[40]  F. Jourdan,et al.  A Gauss-Seidel like algorithm to solve frictional contact problems , 1998 .

[41]  Robert H. Halstead,et al.  Matrix Computations , 2011, Encyclopedia of Parallel Computing.

[42]  Gustavo Arechavaleta,et al.  On the use of iterative LCP solvers for dry frictional contacts in grasping , 2009, 2009 International Conference on Advanced Robotics.