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

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

International Journal on Advances in Intelligent Systems, vol 6 no 1 & 2, year 2013, http://www.iariajournals.org/intelligent_systems/ 53 Inverse Kinematics with Dual-Quaternions, Exponential-Maps, and Joint Limits Ben Kenwright Newcastle University School of Computing Science United Kingdom [email protected] Abstract—We present a novel approach for solving articu- is an iterative, efficient, low memory method of solving lated inverse kinematic problems (e.g., character structures) linear systems of equations of the form Ax = b. Hence, by means of an iterative dual-quaternion and exponential- we integrate the Gauss-Seidel iterative algorithm with an mapping approach. As dual-quaternions are a break from the norm and offer a straightforward and computationally efficient articulated IK problem to produce a flexible whole system technique for representing kinematic transforms (i.e., position IK solution for time critical systems, such as games. This and translation). Dual-quaternions are capable of represent method is used as it offers a flexible, robust solution with both translation and rotation in a unified state space variable the ability to trade accuracy for speed and give good visual with its own set of algebraic equations for concatenation outcomes. and manipulation. Hence, an articulated structure can be represented by a set of dual-quaternion transforms, which we Furthermore, to make the Gauss-Seidel method a practical can manipulate using inverse kinematics (IK) to accomplish IK solution for an articulated hand structure, it needs to specific goals (e.g., moving end-effectors towards targets). We enforce joint limits. We incorporate joint limits by modi- use the projected Gauss-Seidel iterative method to solve the IK fying the update scheme to include an iterative projection problem with joint limits. Our approach is flexible and robust technique. Additionally, to ensure real-time speeds we take enough for use in interactive applications, such as games. We use numerical examples to demonstrate our approach, which advantage of spatial coherency between frames as a warm performed successfully in all our test cases and produced starting approximation for the solver. Another important pleasing visual results. advantage of the proposed method is the simplicity of the Keywords-Inverse Kinematics; Gauss-Seidel; Articulated Char- algorithm and how it can be easily configured for custom acter; Games; Joint Limits; Iterative; Dual-Quaternion; Jaco- IK problems. bian; Exponential-Map The main contribution of the paper is the practical demon- stration and discussion of using the Gauss-Seidel method I. INTRODUCTION for real-time articulated IK problem with joint limits, dual- Generating fast reliable Inverse Kinematic (IK) solutions quaternions [9], and exponential-quaternion mapping [10]. in real-time with angular limits for highly articulated figures Furthermore, we discuss constraint conditions, speedup ap- (e.g., human bipeds including hands and feet) is challenging proaches and robustness factors for solving highly non-linear and important [1,2,3,4,5]. The subject is studied across IK problems in real-time. numerous disciplines, such as graphics, robotics, and biome- The roadmap for rest of the paper is organized as fol- chanics, and is employed by numerous applications in the lows. Firstly, we briefly review existing work in Section film, animation, virtual reality, and game industry II. Section III describes the articulated model, we use for However, articulated models (e.g., bipeds and hands) can our simulations. Then in SectionIV, we present essential be highly complex; even the most simplified models of mathematical algorithms and principles for the paper (e.g., 20-30 joints can generate a vast number of poses [6,7]. dual-quaternion algebra). We follow on by explaining the IK Whereby producing a simple pose to achieve a solitary task problem in SectionV. While in SectionVI, we explain the can produce ambiguous solutions that make the problem Jacobian matrix, then in Section VII we discuss our approach highly nonlinear and computationally expensive to solve. For for solving the IK problem with the Gauss-Seidel algorithm. example, even a straightforward task of reaching to pickup Finally, we present results in SectionIX, then SectionX an object can be accomplished by means of any number of discusses limitations, followed by the closing conclusion and motions. discussion in SectionXI. This paper focuses using dual-quaternions and quaternion exponential-maps with an iterative Gauss-Seidel algorithm II. RELATED WORK [8] to solve an articulated IK problem; such as the hand Inverse kinematics is a popular problem across numerous model shown in Figure2. The Gauss-Seidel algorithm disciplines (e.g., graphical animation, robotics, biomechan- 2013, © Copyright by authors, Published under agreement with IARIA - www.iaria.org International Journal on Advances in Intelligent Systems, vol 6 no 1 & 2, year 2013, http://www.iariajournals.org/intelligent_systems/ 54 advantage of not needing to formulate any matrices and has a lower computational cost for each joint per iteration. Its downside is that the character poses even with constraints can produce sporadic and unrealistic poses. However, further work has been done to extend CCD to work better with Figure 1. Forward & Inverse Kinematics. Illustrating the relationship human based character hierarchies [4,6, 23]. between forward and inverse kinematics parameters. A novel method recently proposed was to use a Sequential Monte Carlo approach but was found to be computationally expensive and only applicable for offline processing [24, 25]. ics). IK is a vital component that can be implemented using a Data driven IK systems have been presented; Grochow et wide range of solutions. We give a brief overview of existing, al. [26] method searched a library of poses to determine an current, and cutting-edge approaches to help emphasise the initial best guess solution to achieve real-time results. An different ways of approaching the problem; enabling the offline mesh-based for human and non-human animations reader to see where our method sits. was achieved by learning the deformation space; generating In general, however, for very simple problems with just new shapes while respecting the models constrains [27, 28]. a few links, analytical methods are employed to solve the A method known as ”Follow-The-Leader” (FTL) was IK problem. Alternatively, for larger configurations, iterative presented by Brown et al. [29] and offered real-time results numerical methods must be employed due to the complexity using a non-iterative technique. However, this approach was of the problem. later built upon by Aristidou et al. [30] and presented an The articulated IK problem of finding a solution for iterative version of the solver known as FABRIK. poses that satisfy positional and orientation constraints has The Triangular IK method [31, 32], uses trigonometric been well studied, e.g., [11,3, 12,7]. The problem is properties of the cosine rule to calculate joint angles, be- highly nonlinear, meaning there can be numerous solutions; ginning at the root and moving outwards towards the end- hence, multiple poses fulfilling the constraint conditions. effectors. While the algorithm can be computationally fast, In practical situations, there can even be cases where no due to it being able to propagate the full hierarchy in a single solution exists due to the poor placement of end-effectors. iteration, it cannot handle multiple end-effectors well and is IK systems typically use cut down models, e.g., merely primarily based around singly linked systems. performing IK on individual limbs (as in body, arms, legs) The advantages of an iterative IK system for articulated [13, 14,6]. This makes the problem computationally simpler structures, such as character, was also presented by the and less ambiguous. interesting paper by Tang et al. [33] who explored IK tech- Numerous solutions from various fields of research have niques for animation using a method based on the SHAKE been implemented to solving the IK problem. The Jacobian- algorithm. The SHAKE algorithm is an iterative numerical based matrix approach is one of the most popular methods integration scheme considered similar to the Verlet method and the method upon which we base our iterative solution [34], which can exploit substantial step-sizes to improve [7, 15, 16]. The Jacobian matrix method aims to find a linear speed yet remain stable when solving large constrained approximation to the problem by modelling the end-effectors systems. The algorithm is also proven to have the same local movements relative to the instantaneous systems changes of convergence criterion as the Gauss-Seidel method we present the links translations and orientations. Numerous different here as long as the displacement size is kept sufficiently methods have been presented for calculating the Jacobian small. inverse, such as, Jacobian Transpose, Damped Least-Squares The paper by Arechavaleta et al. [35] presents a well (DLS), Damped Least-Squares with Singular Value De- written explanation of using iterative methods (primarily composition (SVD-DLS), Selectively Damped Least-Square the Gauss-Seidel technique) for computing fast and accurate (SDLS) [17,5, 18, 19, 20, 15]. solutions for ill-conditioned LCP problems. An alternative method uses the Newton method; whereby We use the iterative Gauss-Seidel approach presented the problem is formulated as a minimization problem from by Kenwright [1], however,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us