Elsevier

Graphical Models

Volume 73, Issue 5, September 2011, Pages 243-260
Graphical Models

FABRIK: A fast, iterative solver for the Inverse Kinematics problem

https://doi.org/10.1016/j.gmod.2011.05.003Get rights and content

Abstract

Inverse Kinematics is defined as the problem of determining a set of appropriate joint configurations for which the end effectors move to desired positions as smoothly, rapidly, and as accurately as possible. However, many of the currently available methods suffer from high computational cost and production of unrealistic poses. In this paper, a novel heuristic method, called Forward And Backward Reaching Inverse Kinematics (FABRIK), is described and compared with some of the most popular existing methods regarding reliability, computational cost and conversion criteria. FABRIK avoids the use of rotational angles or matrices, and instead finds each joint position via locating a point on a line. Thus, it converges in few iterations, has low computational cost and produces visually realistic poses. Constraints can easily be incorporated within FABRIK and multiple chains with multiple end effectors are also supported.

Highlights

►FABRIK is a simple, fast, iterative Inverse Kinematics solver. ► It supports most joint types and chain classes. ► FABRIK supports multiple end effectors and it can handle end effector orientations. ► It produces visually smooth postures without oscillations or discontinuities. ► FABRIK can reach the desired position with very low computational cost.

Introduction

This paper addresses the problem of manipulating articulated figures in an interactive and intuitive fashion for the design and control of their posture. This problem finds its application in the areas of robotics, computer animation, ergonomics and gaming. In computer graphics, articulated figures are a convenient model for humans, animals or other virtual creatures from films and video games. Inverse Kinematics (IK) has also been used in rehabilitation medicine in order to observe asymmetries or abnormalities. The most popular method for animating such models is motion-capture; however, despite the availability of highly sophisticated techniques and expensive tools, many problems appear when dealing with complex figures. Most virtual character models are very complex; they are made up of many joints giving a system with a large number of degrees of freedom, thus, it is often difficult to produce a realistic character animation.

Inverse Kinematics is a method for computing the posture via estimating each individual degree of freedom in order to satisfy a given task that meets user constraints; it plays an important role in the computer animation and simulation of articulated figures. This paper presents a new heuristic iterative method, Forward And Backward Reaching Inverse Kinematics (FABRIK), for solving the IK problem in different scenarios. FABRIK uses a forward and backward iterative approach, finding each joint position via locating a point on line. FABRIK has been utilised in highly complex systems with single and multiple targets, with and without joint restrictions. It can easily handle end effector orientations and support, to the best of our knowledge, all chain classes. A reliable method for incorporating constraints is also presented and utilised within FABRIK. The proposed method retains all the advantages of FABRIK, producing visually smooth movements without oscillations and discontinuities. Several experiments have been implemented for comparison purposes between the most popular manipulator solvers, including multiple end effectors with multiple tasks, and highly constrained joints. The proposed algorithm is very efficient both in simple and complex problems resulting in similar or even better poses than highly sophisticated methods, requiring less processing time and fewer iterations to reach the target. Another important advantage of the proposed methodology is the simplicity of the algorithm, which enables easy configuration to any IK problem.

Section snippets

Background and motivation

The production of realistic and plausible motions remains an open challenge within the robotics and animation communities. Several models have been implemented for solving the IK problem from many different areas of study. Zhao and Badler [1] poses the IK task as a problem of finding a local minimum of a set of non-linear equations, defining Cartesian space constraints. However, the most popular numerical approach is to use the Jacobian matrix to find a linear approximation to the IK problem.

The articulated body model

A rigid multibody system consists of a set of rigid objects, called links, connected together by joints. A joint is the component concerned with motion; it permits some degree of relative motion between the connected segments. Virtual body modelling is important for human posture control. A well constrained model can restrict postures to a feasible set, therefore allowing a more realistic motion. Most models assume that body parts are rigid, although this is just an assumption approximating

FABRIK: a new heuristic IK solution

In this section, a new heuristic method for solving the IK problem, FABRIK, is presented. It uses the previously calculated positions of the joints to find the updates in a forward and backward iterative mode. FABRIK involves minimising the system error by adjusting each joint angle one at a time. The proposed method starts from the last joint of the chain and works forwards, adjusting each joint along the way. Thereafter, it works backward in the same way, in order to complete a full

Experimental results

A target database has been created for the validation and testing of the IK methods. The database consists of reachable and unreachable targets, targets with different distances from the end effectors and targets that move smoothly in space with end effectors tracking their position. The tests also consist of reconstructing sequences with different classes of motion in order to process different swivel angles and axial orientations of the root joint. The examples are demonstrated in 6 different

Conclusions and future work

IK methods are used to control the postures of articulated bodies in frame animation production. However, most of the currently available methods suffer from high computational cost and/or production of unrealistic poses. In this paper, FABRIK, a simple, fast and reliable IK solver is presented. This is the first algorithm to use an iterative method with points and lines to solve the IK problem. It divides the problem into 2 phases, a forward and backward reaching approach, and it supports (to

Acknowledgments

The kine environment presented in Section 5.1 has been adapted from the work of Jeff Lander [12]; we would like to express our enormous thanks to Jeff for giving us permission to use his code and application. We would also like to thank Richard Wareham, Jonathan Cameron and Charles Lee for their invaluable discussions and help with capturing data and producing video examples.

References (47)

  • Y. Nakamura et al.

    Inverse kinematic solutions with singularity robustness for robot manipulator control

    Transactions ASME, Journal of Dynamic Systems, Measurement, and Control

    (1986)
  • Samuel R. Buss et al.

    Selectively damped least squares for inverse kinematics

    Journal of Graphics Tools

    (2005)
  • Alexandre N. Pechev, Inverse kinematics without matrix invertion, in: Proc. of the 2008 IEEE International Conf. on...
  • Roger Fletcher

    Practical Methods of Optimization

    (1987)
  • Li-Chun Tommy Wang et al.

    A combined optimization method for solving the inverse kinematics problems of mechanical manipulators

    IEEE Transactions on Robotics and Automation

    (1991)
  • Chris Welman, Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation, Master Dissertation,...
  • Jeff Lander

    Making kine more flexible

    Game Developer

    (1998)
  • Adrian A. Canutescu et al.

    Cyclic coordinate descent: a robotics algorithm for protein loop closure

    Protein Science

    (2003)
  • Ronan Boulic et al.

    Evaluation of on-line analytic and numeric inverse kinematics approaches driven by partial vision input

    Virtual Reality

    (2006)
  • Richard Kulpa, Franck Multon, Fast inverse kinematics and kinetics solver for human-like figures, in: International...
  • Nicolas Courty, Elise Arnaud, Inverse kinematics using sequential monte carlo methods, in: Proc. of the V Conf. on...
  • Chris Hecker et al.

    Real-time motion retargeting to highly varied user-created morphologies

    ACM Transactions on Graphics (TOG)

    (2008)
  • Keith Grochow, Steven L. Martin, Aaron Hertzmann, Zoran Popović, Style-based inverse kinematics, in: SIGGRAPH ’04: ACM...
  • Cited by (305)

    View all citing articles on Scopus

    This paper has been recommended for acceptance by Jarek Rossignac.

    View full text