Discovery of Complex Behaviors through Contact-Invariant Optimization



Yüklə 229,36 Kb.

səhifə5/6
tarix17.11.2018
ölçüsü229,36 Kb.
1   2   3   4   5   6

Each stage of the optimization takes between 250-1000 iterations,

depending on the complexity of the problem. The total time to syn-

thesize each animation clip ranges between 2 to 10 minutes on a

quad-core 2.3GHz Intel Xeon machine.



5

Results

By using the tasks

b

described in section 4.3 we can synthesize a



wide variety of behaviors.

Getting Up, Walking, Climbing

By using only

stand

described



in section 4.3 and using an initial pose of the character lying on the

ground, we synthesize the motion of getting up. Different initial

poses (such as lying on the back, or on the stomach) result in differ-

ent getting up strategies, as seen in the accompanying video. If the

character is initially standing,

stand


is satisfied by simply continu-

ing to stand. By using

stand

task in combination with



pos

task and


an initially-standing pose, we induce walking. The pattern of foot

contacts typical of walking is not specified and emerges automati-

cally from our optimization.

pos


task is shown in the corresponding

video with a white crosshair.

By using only

stand


and

pos


tasks, but changing the environment

to include an obstacle, a range of strategies emerges from simply

stepping over the obstacle, to using hands to prop the character up,

to using hands to grip and climb a really tall obstacle. The coeffi-

cient of friction µ on the foot contacts is 2 to allow foot plants on

completely vertical slopes. Hand contact forces do not have friction

cone or positivity constraints to reflect the ability of hands to grip.

Handstands, Punches, Kicks

Modifying

stand

by swapping feet



for hands in the specification and commanding that feet should

point upwards, we create a handstand task

handstand

. When only

this task is active and the character is initially standing, they will

make a series of preparatory movements and prop themselves up

onto their hands.

handstand

can similarly be combined with

pos


and

dir


tasks.

To generate striking motions such as punches and kicks, we create

strike

task that specifies positions and velocities for limb end effec-



tors at various points in time. For punches, we specify random tar-

get at every second movement phase (every third phase for kicks).

We also add

dir


task to make the character face every target. The re-

sult is a character striking targets as if they were known in advance,

while staying balanced enough to make subsequent strikes.

Non-Human Character Morphologies

We also tested our algo-

rithm with characters of different morphologies, such as a biped

with a wide torso and quadruped with short legs. The optimiza-

tion was successful in getting up, walking and climbing scenarios,

with strategies appropriate for each morphology. For example, ani-

mal trot pattern of contacts (moving front leg and opposite hind leg

together) emerges for quadruped walking without explicitly being

specified.

Interaction with Objects

Additional prop objects can be intro-

duced and their trajectories included as variables in the optimiza-

tion. An object has auxiliary contact variables for every character’s

hand, indicating that the end effector is gripping the object. The

terms L


Physics

and L


CI

now apply to the object as well. The object

is able to generate contact forces that move it around, but L

CI

term



for object now requires that hand end effector has to be touching

the surface of the object.

Tasks similar to

pos


and

dir


are used to specify final position and

orientation of the object. From only these two tasks, the strategy of

the character having to pick up and carry the object to the destina-

tion emerges (in particular, no tasks are specified for the character).

Intuitively, the cost terms form the following dependency: to move

the object, L

Physics

requires contact forces, which requires active



contacts. Then L

CI

requires character’s hand end effectors to be



touching the object. Then limb length constraints require that char-

acter be close enough to the object to touch it. This may require

walking up to it, and so on.

Interaction Between Characters

Our algorithm can be ex-

tended to jointly optimizing for the motion of multiple characters.

For the task of moving the object above, multiple characters dis-

tribute the workload and cooperate to pass the object from one to

the other. We can control the workload distribution by increasing

the penalty on contact forces in equation (9) for one of the charac-

ters, and making the other character do most of the object carrying

work.

Two characters also cooperate to achieve tasks impossible for one,



such as

pos


for one of the characters specifying a target location

above character’s height. Because contacts can be made with the

surfaces of other characters, the task is achieved by one character

climbing on top of the other.



6

Conclusion and Future Work

In this paper we presented a fully automated framework for synthe-

sizing a wide range of movement behaviors, and demonstrated its

effectiveness on complex and rarely studied behaviors. Our frame-

work is agnostic to the morphology of the character, and indeed we

showed that movement behaviors can be created for significantly

different types of characters. The contact-invariant optimization

method could likely be applied to other domains where constraint-

driven phases bifurcate the optimization space making it very hard

to find solutions numerically. We developed an effective continua-

tion scheme suitable for our optimization method.

We also introduced a feature-based physics model that allows for

efficient consideration of dynamic aspects in the inner loop of the

optimization procedure. This relaxation naturally comes at a cost.

We model the character’s kinematics and contact interactions with

the environment in detail, but represent its dynamics as a single

rigid body and do not model the limb dynamics. This simplification

effectively results in limbs with infinitely strong muscles (and no

penalty for using them), which in turn can lead to energy-inefficient

motions such as using bent knees for support, having arms extended

against gravity, or occasional out of place sitting. The latter occurs

because sitting minimizes the sum of squared contact forces, but

does not consider the effort required to get back up. These lim-

itations may be removed by using full-body inverse dynamics to

calculate the character’s joint torques, and penalizing the torques or

some related quantity.

The key advantage of our framework is the simultaneous optimiza-

tion of contacts and smooth portions of the movement. This was

made possible by introducing an auxiliary decision variable for

each potential contact, and keeping these variables constant within

each phase. As a result, we were able to optimize very long and

temporally complex movement sequences that have previously re-

mained beyond the reach of numerical optimization methods. The

price we had to pay was that the potential contact points (or rather

patches) had to be pre-defined. We are of course penalizing pene-

trations everywhere, but this is not the same as actively optimizing

over active contacts. One way to remove this limitation is to sim-

ply increase the number of potential contacts and cover the entire





Dostları ilə paylaş:
1   2   3   4   5   6


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2017
rəhbərliyinə müraciət

    Ana səhifə