Obstacle Course
| movie1
movie2 |
Picking up an object
| movie1
movie2 |
Jumping across stones
| movie1
movie2 movie3 movie4 |
Walking along the curve
movie1
example 1: walk from start to
goal (marked with circles)
example 2: a character needs to start at position A and pick up a cup at position B
| first solution
second solution final optimal solution |
example 3: walk inside corridor
| movie
for first solution
movie for final, optimal, solution |
example 4: walk along curve
| movie
for first solution
movie for final, optimal, solution |
example 5: vertical jumps
| movie for first solution
movie for final, optimal, solution |
example 6: another walk from
start to goal (marked with circles)
example 7: another walk from
start to goal (marked with circles)
| movie
for first solution
movie for final, optimal, solution movie
for first solution (slow motion)
|
This experiment shows why interpolation in conjunction
with motion graphs allows us to satisfy user-specified constraints within
a small error tolerance. We used the three problems described below as
a test bed. We ran many experiments for each problem by sampling
locations of constraint B (see paper for an image).
Problem1:a character needs to start at position A and pick up a cup at position B (179 samples overall)
pick from 0.65 meters height
movies for randomly selected positions are shown
pick1.movpick2.movpick3.movpick4.movpick5.movpick6.mov
Problem2: a character needs to start at position A and pick up a cup at position B but now we also constraint the root position of the character to position C while picking a cup (179 samples overall)
pick from 0.9 meters height
movies for randomly selected positions are shown
pick1.movpick2.movpick3.movpick4.movpick5.movpick6.mov
changing height, fixed position in the plane
mov1.movmov2.movmov3.movmov4.movmov5.movmov6.movmov7.mov
Notice the difference between the solutions for
the first and the second problem. For the first problem the character
always gets close to the sphere and does not bend as much. For the second
problem the user specified that the character's root should be at position
C (the second circle) while picking (equivalent to not crossing the
table for example). As a result, the character needs to bend.
Problem3: a character needs to start at position A and walk to position B with one walk cycles
step_length
1 step_length
1 (slow motion)
step_length
2 step_length
2 (slow motion)
step_length
3 step_length
3 (slow motion)
step_length
4 step_length
4 (slow motion)
In this experiment we try to compare our discrete and continuous optimization approaches. We use discrete optimization to synthesize some of the motions that we have already synthesized using our continuous optimization.
Synthesizing forward jumps from
the examples of 3 jumps of 0.2, 1.0 and 1.5 meters (allow extrapolation)
Synthesizing walks with different
step length (no extrapolation)
step_length
1 step_length
1 (slow motion)
step_length
2 step_length
2 (slow motion)
step_length
3 step_length
3 (slow motion)
step_length
4 step_length
4 (slow motion)
Synthesizing vertical jumps with
different rotation from the examples of 3 jumps: 90, 180, 200 degrees turn
(allow extrapolation)
will add later...
Synthesizing vertical jumps with
different rotation from the examples of 4 jumps: 90, 180, 200, 360 degrees
turn
(no extrapolation)
will add later...