Graphics Reference
In-Depth Information
was interactively dragged. However, it's important to note that if
is nonzero, the
estimated joint angleswill not correspondexactlywith the observedmarker locations;
that is, Equation ( 7.14 ) will not be satisfied exactly.
λ
7.4.2
Optimization-Based Inverse Kinematics
Nowwediscuss themoreusual case inwhich N
P (that is, themarkers overconstrain
the kinematicmodel).Wewant to select trajectories
>
θ (
t
)
that are as natural as possible
(
)
while still matching the observed marker positions r
and satisfying any kinematic
constraints as well as possible. In this section, we describe different ways to pose this
problem that all result in the minimization of a nonlinear objective function C
t
.
Zhao and Badler [ 577 ] proposed several building blocks for inverse kinematics cost
functions. The simplest is a position goal: for example, we want the 3D position of a
point in the kinematic model to be as close as possible to a certain 3D point p :
( θ (
t
))
2
C pos
( θ (
t
)) =
f p
( θ (
t
))
p
(7.24)
where f p defines the predicted location of p via the forward kinematics in
Equation ( 7.14 ). Thus, given the trajectories of N 3D motion capture markers
{
, we can form a cost function that minimizes the sum of squares
cost of fitting them to a kinematic model:
X j , j
=
1,
...
, N
}
N
2
C allpos ( θ (
t
)) =
1
f j
( θ (
t
))
X j
(
t
)
(7.25)
j
=
where f j ( θ (
is the forward kinematicsmodel that determines the position of marker
j given the joint parameters.
We might also want to specify vector constraints — for example, that the vector
between two observed markers should be parallel to a certain limb in the kinematic
model. A corresponding cost function would look like
t
))
X j
(
t
)
X i
(
t
)
C vec
( θ (
t
)) =
1
) ·
f ij
( θ (
t
))
(7.26)
X j
(
t
)
X i
(
t
where f ij ( θ (
t
))
is a unit vector specifying the direction of the limb relating markers i
and j .
A nonlinear cost function can be formed as the weighted sum of such terms
and minimized using an algorithm such as the Broyden-Fletcher-Goldfarb-Shanno
(BFGS) method [ 351 ]. This was one of the earliest inverse kinematics approaches for
motion capture [ 51 ].
In this framework, we can also impose hard constraints on
θ (
)
— for example,
to enforce that a joint not exceed the limits of feasible human motion. The expected
ranges of motion for performers of different ages and genders can be determined
from biomechanical studies (e.g., [ 465 ]). If we directly parameterize the vector
t
θ
using angles, such limits can be expressed as linear constraints of the form
a i
θ (
t
)
b i
(7.27)
The BFGS algorithm can handle such linear constraints, but if we used the quater-
nion or twist parameterizations, the constraints would be nonlinear, taking the more
Search WWH ::




Custom Search