Lloyd 2001), each requiring special considerations
to deal with singularities with the associated
computation overhead. More importantly, they are
not complete in the sense that they do not provide all
solutions (configurations) for a given posture.
More recently, neural networks and genetic
algorithms have been used for solving the inverse
kinematics problem (e.g. Dermata 1996, Nearchou
1998, Khwaja 1998, Chapelle 2001, De Lope 2003).
Neural network and genetic algorithm methods are
not complete and therefore generally find a
particular solution rather than all solutions. Neural
networks face problems for approximating multi-
valued functions. Genetic algorithms do not
guarantee the convergence to a desired solution, but
their major difficulty is that they require many
generations (iterations) to arrive at an approximate
solution and therefore are not suitable for real-time
applications.
The purpose of this paper is to propose a novel
approach for ultra fast IK solutions with few
limitations for 6-DOF manipulators, and 7-DOF
anthropomorphic limbs used in animation. Fast IK
techniques are needed for multiple limb animation
characters such as a human figure for variety of
applications such as motion capture. The IK
problem is solved in two phases, an off-line
information-based preprocessing phase and an on-
line rapid evaluation phase. Preprocessing consists
of spatial decomposition, classification, optimal data
generation and simple polynomial curve fitting, or
neural network approximation. This off-line
preprocessing phase is performed only once for a
limb or a manipulator, and can be used an infinite
number of times during on-line IK computation.
Because of the preprocessing, the on-line phase,
which finds various configurations for a desired
posture, is extremely fast.
2 SPATIAL DECOMPOSITION
In this section we discuss the forward kinematics
and spatial decomposition for 7-DOF limbs and
manipulators. All the developments of this and
subsequent section will naturally be valid for the
cases with fewer 7-DOF, as will be demonstrated in
Section 5.
A human-like figure, often used in animation
and graphics, consists of a number of limbs i.e. arms
and legs. An arm (leg) is generally modeled as a 7
DOF chain consisting of the shoulder (hip) and the
wrist (ankle) each as a 3 DOF spherical joint, and
the elbow (knee) as a single DOF revolute joint
(Tolani 2000). The human-like figure is often
decomposed into limbs with the torso as the
common or reference coordinate. In motion capture
applications, position and orientation of the shoulder
(hip) and hand (foot) of a live subject are measured
using sensors attached to the body. The position and
orientation are then used in conjunction with inverse
kinematics to find the joint angles of the limbs in
order to drive animation characters. It is also noted
that most redundant robot manipulators used in
applications or in research are also 7 DOF (Seraji
1993). Examples of these manipulators are the
space station RMS and K1207 manufactured by
Robotics Research arm. The latter has a joint and
links arrangements similar to limb, but it also has
offset at joints.
Consider the forward kinematics equation of a
limb
)(fu
(1)
where
is the 17
vector of joint angles that define
the limb configuration, and u is the
16 × vector of
the limb posture which defines the hand position
(e.g. x, y, z) and orientation (e.g. Euler angles
,, ). We refer to the 7-dimensional space
whose the coordinates are the joint angles as the
configuration space and to the 6-dimensional space
whose coordinates are position and orientation as the
posture space. Because the dimension of the
configuration space is more than that of posture
space, the anthropomorphic limb has redundancy.
In order to encode and exploit the redundancy,
we parameterize the solution space using a single
variable v. This variable is specified on-line to
explore different solutions and choose the one best
suited for the application on hand. Elbow
inclination in a 7-DOF anthropomorphic limb or in
the K1207 manipulator is an example of such a
variable. The elbow inclination is defined as the
angle of the rotation, about the shoulder-wrist line,
of the plane containing origins of shoulder, elbow
and wrist. The elbow inclination, referred to as
swivel angle in (Tolani 2000) and as arm angle in
(Seraji 1993), has been used to constrain a selected
point on the limb, to perform aiming of the end-
effector towards a target point, to keep the figure
balanced, etc. (Tolani 2000)
The elbow inclination v can be written as
)(gv
(2)
INFORMATION-BASED INVERSE KINEMATCS MODELING FOR ANIMATION AND ROBOTICS
77