13 : update: (l, u)
14 : λ
A
← min(u
A
, max(l
A
, λ
A
))
15 : λ ←
λ
T
A
l
T
L
u
T
U
T
16 : if termination criteria is passed then
17 : return λ
18 : endif
19 : next k
20 : end while
An absolute termination criteria could be applied
ψ(λ) < ε
abs
(25)
where ψ is a merit function to the solution of (4), and
ε
abs
is a user specified value. An alternative termi-
nation criteria could be to monitor if the set A has
changed from previous iteration,
A(λ
k+1
) = A (λ
k
). (26)
A third termination criteria could be testing for stag-
nation
ψ(λ
k+1
) − ψ(λ
k
) < ψ(λ
k
)ε
rel
. (27)
for some user specified value ε
rel
> 0. Other merit-
functions could be used in place of ψ. Examples in-
clude natural merit functions of the Fischer reformu-
lation (Silcowitz et al., 2009) or the minimum map re-
formulation (Erleben and Ortiz, 2008). We prefer the
Fischer reformulation, as it seems to be more global
in the inclusion of boundary information (Billups,
1995). Finally, to ensure interactive performance, one
could use an absolute termination criteria on the num-
ber of iterations. Using such a criteria, the algorithm
may not perform iterations enough to reach an ac-
curate solution, we observed this behavior in a few
cases. To counter this, a fall back to the best iterate
found while iterating could be employed. This would
ensure that the PGS–SM method behaves no worse
than the PGS method would have done.
5 EXPERIMENTS
We have compared the PGS–SM method to the stan-
dard PGS method. For testing the PGS–SM method,
we have selected various test cases which we believe
to be challenging. The test cases are shown in Fig-
ure 2. The test cases include bilateral hinge joints
with joint limits, large mass-ratios, inclined plane se-
tups to provoke static friction handling, stacked con-
figurations of different sizes with both box and gear
geometries.
Convergence rates for all the test cases are shown
in Figure 3. In order to ease comparison, great care
is taken to measure the time usage of both methods in
units of PGS iterations.
For the tests, we use the iteration limits k
pgs
= 25
and k
sm
= 5. Further we use an error tolerance of
ε
abs
= 10
−15
. For the reduced problem we use a
non-preconditioned Conjugate Gradient (CG) method
with a maximum iteration count equal to the num-
ber of variables, and an error tolerance on the resid-
ual of ε
residual
= 10
−15
. The algorithms were imple-
mented in Java using JOGL, and the tests were run on
a Lenovo T61 2.0Ghz machine.
As observed in Figure 3, the PGS–SM method be-
haves rather well for small configurations and con-
figurations with joints. For larger configurations, we
obtain convergences similar to the PGS method.
The supplementary video shows interactive sim-
ulations of an articulated snake-like figure, compar-
ing the animation quality of the PGS–SM method to
the PGS method. All test cases run at interactive
frame rates, 25 fps or above. We have observed a
different quality in the motion simulated by the PGS–
SM method. It is our hypothesis that the PGS–SM
method seems to favor static friction over dynamic
friction. Our subjective impression is that the PGS–
SM method delivers a more plausible animation qual-
ity.
The presented algorithm is capable of very ac-
curate computations, compared to the PGS method.
However, we have observed problematic instances
where simulation blow-up was noticed. The simula-
tion blow-ups appear to occur regardless of how ac-
curate the subspace problem is solved. We observed
blow-ups even when using a singular value decompo-
sition pseudo inverse of the reduced problem (22).
In general, if bounds are fixed the problem reduces
to a LCP formulation. Applying a simple diagonaliza-
tion to the LCP, using an eigenvalue decomposition of
A, one can easily show that a solution to the problem
always exists when A is positive semi definite. How-
ever, when bounds are variable the nonlinear nature
of the problem makes it hard to say anything conclu-
sive about existence of a solution. The accuracy of
the system is thus clearly affected, when attempting
to solve a system that has no solution. The effect can
be observed in the behavior of the PGS method. By
increasing the number of iterations, the PGS method
will converge to a positive merit value. This indicates
convergence to a local minimizer of the merit func-
tion, and not a global minimizer.
GRAPP 2010 - International Conference on Computer Graphics Theory and Applications
42