scispace - formally typeset
Open AccessProceedings ArticleDOI

Posture interpolation with collision avoidance

Reads0
Chats0
TLDR
A posture interpolator which begins with a number of pre-defined static postures that is able to provide postural transitions that are behaviorally reasonable and that avoid collisions with nearby objects is described.
Abstract
While interpolating between successive postures of an articulated figure is not mathematically difficult, it is much more useful to provide postural transitions that are behaviorally reasonable and that avoid collisions with nearby objects. We describe such a posture interpolator which begins with a number of pre-defined static postures. A finite state machine controls the transitions from any posture to a goal posture by finding the shortest path of required motion sequences between the two. If the motion between any two postures is not collision free, a collision avoidance strategy is invoked and the posture is changed to one that satisfies the required goal while respecting object and agent integrity. >

read more

Content maybe subject to copyright    Report

%61>-:;1<A7.!-66;A4>)61)%61>-:;1<A7.!-66;A4>)61)
#+074):4A75576;#+074):4A75576;
-6<-:.7:=5)67,-416/)6,#15=4)<176 -8):<5-6<7.758=<-:6.7:5)<176#+1-6+-
)A
!7;<=:-6<-:874)<176?1<07441;176>71,)6+-!7;<=:-6<-:874)<176?1<07441;176>71,)6+-
7:5)6),4-:
%61>-:;1<A7.!-66;A4>)61)
*),4-:;-);=8-66-,=
")5)5)6116,1/)6)>)4-
%61>-:;1<A7.!-66;A4>)61)
706!:)61-:1
%61>-:;1<A7.!-66;A4>)61)
#=;)66)&-1
#<7;-80;%61>-:;1<A
'16516(0)7
%61>-:;1<A7.!-66;A4>)61)
7447?<01;)6,),,1<176)4?7:3;)<0<<8;:-87;1<7:A=8-66-,=05;
"-+755-6,-,1<)<176"-+755-6,-,1<)<176
),4-: 16,1/)6)>)4-":)61-:1!&-1#(0)7'!7;<=:-6<-:874)<176?1<07441;176
>71,)6+-"-<:1->-,.:750<<8;:-87;1<7:A=8-66-,=05;
78A:1/0<"-8:16<-,.:75
!:7+--,16/;7.758=<-:615)<176
)A8)/-;
$01;5)<-:1)41;87;<-,0-:-?1<08-:51;;1767.<0-#=+08-:51;;1767.<0-,7-;67<16)6A?)A1584A
-6,7:;-5-6<7.)6A7.<0-%61>-:;1<A7.!-66;A4>)61);8:7,=+<;7:;-:>1+-;6<-:6)47:8-:;76)4=;-7.<01;
5)<-:1)41;8-:51<<-,7?->-:8-:51;;176<7:-8:16<:-8=*41;0<01;5)<-:1)4.7:),>-:<1;16/7:8:757<176)4
8=:87;-;7:.7:+:-)<16/6-?+744-+<1>-?7:3;.7::-;)4-7::-,1;<:1*=<1765=;<*-7*<)16-,.:75<0-*A?:1<16/
<78=*;8-:51;;176;1---7:/A+077;16/<7>1-?<01;,7+=5-6<A7=)/:--<7)448:7>1;176;7.<0-+78A:1/0<4)?;
8:7<-+<16/1<
$01;8)8-:1;87;<-,)<#+074):4A75576;0<<8;:-87;1<7:A=8-66-,=05;
7:57:-16.7:5)<17684-);-+76<)+<:-87;1<7:A87*7@=8-66-,=

!7;<=:-6<-:874)<176?1<07441;176>71,)6+-!7;<=:-6<-:874)<176?1<07441;176>71,)6+-
*;<:)+<*;<:)+<
&014-16<-:874)<16/*-<?--6;=++-;;1>-87;<=:-;7.)6):<1+=4)<-,B/=:-1;67<5)<0-5)<1+)44A,1C+=4<1<
1;5=+057:-=;-.=4<78:7>1,-87;<=:)4<:)6;)+<176;<0)<):-*-0)>17:)44A:-);76)*4-)6,<0)<)>71,
+7441;176;?1<06-):*A7*2-+<;&-,-;+:1*-;=+0)87;<=:-16<-:874)<7:?01+0*-/16;?1<0)6=5*-:7.
8:-,-B6-,;<)<1+87;<=:-;B61<-;<)<-5)+016-+76<:74;<0-<:)6;)+<176;.:75)6A87;<=:-<7)/7)4
87;<=:-*AB6,16/<0-;07:<-;<8)<07.:-9=1:-,57<176;-9=-6+-;*-<?--6<0-<?7.<0-57<176
*-<?--6)6A<?787;<=:-;1;67<+7441;176.:--)+7441;176)>71,)6+-;<:)<-/A1;16>73-,)6,<0-87;<=:-1;
+0)6/-,<776-<0)<;)<1;B-;<0-:-9=1:-,/7)4?014-:-;8-+<16/7*2-+<)6,)/-6<16<-/:1<A
-A?7:,;-A?7:,;
0=5)6B/=:-)615)<17657<176+76<:7487;<=:-16<-:874)<176/7)4,1:-+<-,*-0)>17:+7441;176)>71,)6+-
87<-6<1)4B-4,;;-4.+7441;176+758=<-:)615)<176
755-6<;755-6<;
78A:1/0<"-8:16<-,.:75
!:7+--,16/;7.758=<-:615)<176
)A8)/-;
$01;5)<-:1)41;87;<-,0-:-?1<08-:51;;1767.<0-#=+08-:51;;1767.<0-,7-;67<16)6A?)A
1584A-6,7:;-5-6<7.)6A7.<0-%61>-:;1<A7.!-66;A4>)61);8:7,=+<;7:;-:>1+-;6<-:6)47:
8-:;76)4=;-7.<01;5)<-:1)41;8-:51<<-,7?->-:8-:51;;176<7:-8:16<:-8=*41;0<01;5)<-:1)4.7:
),>-:<1;16/7:8:757<176)48=:87;-;7:.7:+:-)<16/6-?+744-+<1>-?7:3;.7::-;)4-7::-,1;<:1*=<1765=;<
*-7*<)16-,.:75<0-*A?:1<16/<78=*;8-:51;;176;1---7:/A+077;16/<7>1-?<01;,7+=5-6<
A7=)/:--<7)448:7>1;176;7.<0-+78A:1/0<4)?;8:7<-+<16/1<
$01;+76.-:-6+-8)8-:1;)>)14)*4-)<#+074):4A75576;0<<8;:-87;1<7:A=8-66-,=05;

Posture Interpolation with Collision Avoidance
Norman
I.
Badler. Raiiiamaiii
Bindiganayale.
.John
P.
Granieri, Susanna
WeiT
Xinmin
Zhao
Center for
Human
hlodeliiig
and
Simulation
I’niversity
of
Pennsylvania
Phi
1
adel
p
h
i
a,
Pen
n
s
v
1
va
11
i
a
1
9
1
0.1-
6
3
8
9
Abstract
Whale znterpolatzng between succmszw
posturc
s
of
an
artzculated figure
as
not
mathemalzcally dzflcull,
at
2s
much inore useful to provide po6tuia1 transatzons
that are behauzorally reasonable and that aaozd collz-
saons
wath nearby objects We describe such
a
posture
znterpolator which begins
ulzth
a
number
of
pre-defined
statzc
posiiires
A
finiie
siaie
machzije
coiiirols
the
transztzons from any posture
to
a
goal posture
by
find-
ing the shortest path of requared motion sequences
bt-
tween the two. If the motaon between any two postures
zs
not
collaszon
free,
a
collzszon avoidance strategy
15
znvoked and the posture
zs
changed
to
one that satis-
fies the required
goal
whale respectzng object and agent
antegraty
Keywords
Human figure animation, motion control, posture
interpolation, goal-directed behavior, collision avoid-
ance, potential fields, self-collision, computer anima-
tion.
1
Introduction
Postlures are
a
very important aspect of human
fig-
ure simulation. A static and recognizable posture such
as stand, sit, crawl, prone,
or
supine can be defined
by
the relative positioning of various parts of t,he body.
When simulating human motions. an animation sys-
tem must create suitable motions between these static
postures. Most “classical” animation syst,ems use key-
frame or key-pose animation
[l]
for moving an object
from one posture
lo
another.
An
int,eractive posit,ioii-
ing program is used tmo define t,he location
and
oririi-
tation of parts of the object at various key times.
Thc
in-between frames are then calculat,ed by interpolat,
ing
t,he
individual joint, angles. Key based techniques,
though satisfactory for some kinds of animat,iori,
do
not direct,ly address ot,her important human motion
factors such as balance and collision avoidance.
Wit,li
keys alone, the aniniat,or must be willing and able
to
devote considerable care and at,tention
to
the
hand-
crafting of suitable in-between key poses.
Real-time graphical manipulation and display has
accelerated research into the control and animat,ion of
‘Siiqanna
Wei
is an assistant
professor
at
the
Dept.
of
Mathematics and Computer Science,
St.
Joseph’s University.
Philadelphia, Pennsylvania 191 31- 1395
0-8186-6240-9/94 $3.00
0
1994
IEEE
liunian-like characters
[2.
31.
Among the newer ani-
mation techniques are those based on physics [4,
5
,
dynamics
[6,
71, optimization
[8],
cost functions
[9],
bchavioral nctworks[lO], control theoretic state-spaces
[ll,
12,
13, 141, and strength [15]. In many of these
approaches, postures
of
a
human-like figure are spec-
ified in advance
~ often
as
key poses
or
goal con-
figurat,ions
~ and then animated by applying forces,
energy minimization, geometric constraints,
or
just
straightforward joint angle interpolation. The “in-
between” postures are thus determined by physics
or mathematics rather than psychomotor considera-
tions. Realistic motion
(to
be distinguished from just
~‘sinootli” motion) requires that the movements into
or between given postures be biomechanically moti-
vatcd, cognizant of physical stability, and free from
intersections with self
as
well
as
nearby objects.
We present here
a
computational model for
collision-free postural transitions that are behaviorally
reasonable. The posture interpolator begins with
a
number
of
pre-defined static postures.
A
finite state
machine controls the transitions from any posture to
a
goal posture by finding the shortest path of required
(but pre-determined) motion sequences between the
two.
If the motion between any two postures
is
not
collision free. a collision avoidance strategy is invoked
and
the posture is changed to one that satisfies the re-
quired
goal
while respecting object and agent integrity.
Since post#ures are treated as goal states based on
constraints and othcr gcomctric relationships, pertur-
bations caused by collision avoidance are seamlessly
managed by the constraint satisfaction process.
Our collision avoidance system
is
based on
a
dis-
t,ributed sensor model. On
a
modern workstation it
can avoid collisions during interactive manipulation
of
a
human figure model with
136
degrees of freedom.
Pnlike traditional motion planning approaches
[16],
our system‘s collision avoidance is built
as
a
reactive
behavior
of
the agent [a].
It detects imminent col-
lisions and reacts by establishing instantaneous con-
straints
which are t,lien solved together with other hu-
iiian behavior constrairik. As there are often several
alternative movements that can be executed to avoid
collisions, the algorithm can consider the agent’s com-
fort level (required joint. torques, balance, etc.) at
different, post.ures
and
choose
a
motion sequence that
minimizes discomfort.
In the following sections we discuss
onr
motion sys-
tem. the posture representation and interpolation pro-
13

cess, and real-time collision avoidance.
We conclude
with methods to avoid local minima (getting "stuck")
and improving the human-like qualities of the motion.
2
Motion
System
The human figure used in
our
syst,em,
Jack@),
can
be controlled through
a
set of kinematic constraints
that make the figure
behave
in
a
certain way
[a].
In
the motion system, we animate goals and behavioral
parameters, and let the behavior functions and con-
straints create the motion
on
the joint angles.
Jack's
motion system is built of several layers of functional-
ity, which all work together to produce desired motion:
a
database, geometric constraints, behaviors, and mo-
tion control.
Database:
There is
a
language for defining the
3D
articulated human figure's joint structure and seg-
ment geometry, along with proper joint limits, seg-
ment mass, moment of inertia, and joint strength.
Constraints:
A
constraint
defines
a
desired ge-
ometric relationship (such
as
point-to-point)
be-
tween two objects (the
end
efleclor
and the
goal)
in the
environment. It
also
specifies which variables
(a
set of
joints) may be changed to achieve the relationship. We
use
a
variety of methods to solve the constraints, but
mostly depend on iterative inverse kinematics
[17].
Behaviors:
Layered
on
top of the constraint,s, are
behaviors
[18].
Behaviors manage and coordinate t,he
underlying constraints which, in turn, control the po-
sition and posture of the figure. The behaviors are
grouped around the major body parts: the torso,
arms
and hands, legs and feet, and head.
The behaviors
can
also
interact. For example, the balance behav-
ior (which controls the location
of
the center of mass)
must work with the feet behaviors, in case the feet
need to be moved to maintain balance.
Each behavior has
a
set of control param-
eters. For example, the arm and hand be-
havior has these parameters:
(1)
t,he type of
control
("hold global location", "hold relative
location", "release")
(2)
the end-effector location
("palm", "lower arm", "attached object")
(3)
the
joints involved,
"to shoulder", "to waist",
and
(4)
a
reference object
(or
just
a
homogeneous transform)
in the environment.
Each behavioral control has
a
corresponding inter-
active manipulation primitive which usually takes the
same parameters
as
the behavioral control, but allows
the user to interactively adjust the goal of the behav-
ior.
For
example, the user can manipuhte an arm by
dragging
a
3D
reach site in space; the arm will move
according to the parameters in effect, for that
arm's
behavior (e.g. include spine in the reach if using the
"to waist"
parameter).
Motion control:
The motion system extends the
interactive manipulation and behavioral control prim-
itives by expressing movement of
a
part of the body
from one place to another over
a
specific time inter-
val. The movement is specified in terms of the final
position, or
goal,
and the parameters
of
how to get
there (similar to the parameters used for the behav-
ioral control, with additional parameters for velocity).
The
17lZtZa/
position of the motion, however, is
im-
plicit
~ wherever the body part is when the motion
starts. This fact is exploited in the collision avoidance
functions described later.
Each
motion control has
3
major functions:
(1)
a
preaction
function which is executed
at
the starting
time of the motion and usually picks up the current
position of t,he body part,
(2)
an
apply
function, exe-
cuted on every frame of the motion, which controls the
interpolation of the goal
as
well
as
the other behavioral
parameters of the motion, and finally
(3)
a
postaction
function, executed after the last
apply,
which sets the
final behavior of the body part in question. Since the
behavioral parameters are
all
ultimately implemented
via constraints, the constraint solving process has the
ability to blend overlapping motions to create
a
fi-
nal
solution for the posture of the body part. (There
are several blending parameters used in each motion
t,ype.) Of course, we
also
have the ability to perform
forward kinematic joint mot,ions which just interpolate
a
joint angle over time.
3
Posture Transition
As
humans, we automatically move from one pos-
ture to another without giving any thought to the ex-
act sequence of motions involved. But when these pos-
ture transitions have to be simulated, explicit knowl-
edge about these motions must be supplied. For exam-
ple, when moving from
a
standing posture to
a
squat-
ting posture, we need to lower
our
upper body and
bend
our
knees
a
little. What we are effectively doing
is just lowering our center of mass. If we instruct
Jack
to lower his center of mass, he automatically tries to
maintain balance by bending the knees
a
little thus
resulting in the desired posture. When we want to
change postures from squatting to kneeling on both
knees, we first lower
our
upper body and bend the
knees slightly. Then, keeping one foot planted firmly
on the ground for support, we lower our body till the
other knee rests completely on the ground. Lastly, we
move the first leg until that knee rests on the ground,
too. This sequence is more complex than just squat-
ting,
so
to make
Jack
do it we need to provide these
intermediate postural transitions. Each posture tran-
sitmion involves
a
number of motions (in the motion
control sense described above) which may overlap and
must be synchronized in time.
Postural transitions are effected by using
a
Finite
State Machine
(FSM)
in which each state is
a
key pos-
ture. First,
a
set of goal postures
-
standing, sitting,
squatting, kneeling, prone, etc.
-
have to be identi-
fied, These form the static postures (Fig.
1).
Next,
a
system
has
to be built which enables posture tran-
sitions between any two of these postures. The sim-
plest method
is
by considering each posture transition
to
consist
of
simpler posture transitions.
As
a
FSM,
the static postures form the nodes and the motion se-
quences form the arcs (Fig.
2).
For every posture,
all
its adjacent static postures are identified, where adja-
cent postures can be defined to be two nodes in the
transition graph connected together by
a
single arc.
For
example, in Fig.
2,
the only adjacent static pos-
t,ure for
Stand
is
Squat.
But the adjacent postures
14

d
la
Figure
1:
Static Postures
of Squat are Stand, Sit on Chair, Sit on Ground,
and Kneel on One Knee.
The number of motions involved in the posture
transition between any two adjacent postures is usu-
ally very small. These simple transitions are
easy
to define and can be combined together to form a
complex posture transition.
For example, the
pos-
ture transition from Stand to Supine (lying down
on back) would consist of three smaller posture tran-
sitions, namely Stand to Squat, Squat to Sit
on
Ground, and Sit on Ground to Supine. This same
set of posture transitions from Stand to Supine can
be obtained from the transition graph by tracing the
shortest path between the Stand and Supine nodes.
Thus the problem of complex posture transitions re-
duces to finding (and executing) the shortest path in
the transition graph between the start and goal
pos-
tures. The FSM makes this easy. The complete set
of
posture transitions thus derived can be compactly rep-
resented by
a
matrix
as
shown in Fig.
3.
A
straightfor-
ward algorithm (Fig.
4)
can then be used to generate
the motions along this shortest path.
4
Collision Avoidance
for
Human
Mo-
tions
One possible limitation to direct implementation of
posture transitions arises from impossible or inappro-
priate movements caused by blind achievement of the
posture goals. In real life,
if
there is any obstacle in
our
path either when we are walking or moving from
one position
to
another, we automatically avoid
it
and
try to reach
our
goal position by circumventing the oh-
stacle. The posture transitions in the FSM cannot ex-
plicitly represent all conceivable environmental obsta-
cles. We have therefore augmented the posture tran-
sition interpreter to include collision avoidance during
any posture transition. If any obstacle is present
111
a
Kneel
On
One
C
-
-
f
------
Sit
on
-
Chair
3
0
Prone
Figure
2:
Posture Transition Graph
0
Stand
5
Kneel on One Knee
1
Squat
6
Kneel on Both Knees
2
Sit on Chair
7
Crawl
3
Sit on Ground
8
Prone
4
Supine
Figure
3:
Posture Transition Matrix
Transit
(x:posture,y:posture,M:Matrix)
1.
If
M(x,y)
=
-1
then stop.
2.
If
M(x,y)
contains
a
motion sequence (denoted by
lower-case characters), then execute the sequence
and stop.
3.
If
M(x,y) contains posture
x,
t,hen execute M(x,z)
followed by M(z,y).
Figure
4:
Posture Transition Algorithm
15

Citations
More filters
Journal ArticleDOI

Synthesizing animations of human manipulation tasks

TL;DR: This paper explores an approach for animating characters manipulating objects that combines the power of path planning with the domain knowledge inherent in data-driven, constraint-based inverse kinematics.
Dissertation

Planning biped locomotion using motion capture data and probabilistic roadmaps = 동작 포착 데이터 및 확률적 로드맵을 이용한 이족 이동 동작 계획

Min-Gyu Choi, +1 more
TL;DR: This paper presents a new scheme for planning natural-looking locomotion of a biped figure to facilitate rapid motion prototyping and task-level motion generation.
Journal ArticleDOI

Planning biped locomotion using motion capture data and probabilistic roadmaps

TL;DR: In this paper, a probabilistic path planning and hierarchical displacement mapping are combined with a posture transition graph to guide the locomotion of a biped figure in a virtual environment.
Patent

Limb coordination system for interactive computer animation of articulated characters with blended motion data

TL;DR: In this paper, an online computational method is used for animating limb movements of articulated characters by solving associated forward and inverse kinematics problems in real time subject to multiple goals and constraints.
Proceedings ArticleDOI

Integration of motion control techniques for virtual human and avatar real-time animation

TL;DR: A software architecture called AGENTlib is described for the management of action combination for real-time animation of virtual humans that exploits various techniques from keyframe sequence playback to inverse kinematics and motion capture.
References
More filters
Journal ArticleDOI

Real-time obstacle avoidance for manipulators and mobile robots

TL;DR: This paper reformulated the manipulator con trol problem as direct control of manipulator motion in operational space—the space in which the task is originally described—rather than as control of the task's corresponding joint space motion obtained only after geometric and geometric transformation.
Book

Real-time obstacle avoidance for manipulators and mobile robots

TL;DR: This paper reformulated the manipulator control problem as direct control of manipulator motion in operational space-the space in which the task is originally described-rather than as control of the task's corresponding joint space motion obtained only after geometric and kinematic transformation.
Journal ArticleDOI

Gross motion planning—a survey

TL;DR: This paper surveys the work on gross-motion planning, including motion planners for point robots, rigid robots, and manipulators in stationary, time-varying, constrained, and movable-object environments.
Journal ArticleDOI

Spacetime constraints

TL;DR: This work presents as examples a Luxo lamp performing a variety of coordinated motions that conform to such principles of traditional animation as anticipation, squash-and-stretch, follow-through, and timing.
BookDOI

Simulating humans: computer graphics animation and control

TL;DR: This chapter discusses human figure models, an interactive system for postural control, and natural language expressions of kinematics and space, as well as a framework for instruction understanding.