Download presentation
Presentation is loading. Please wait.
1
CS 99k: Digital Actors URL: http://robotics.stanford.edu/~latombe/cs99k/2000 Instructor: Jean-Claude Latombe Computer Science Department Stanford University
2
Computer Animated Characters A Bug’s Life (Pixar/Disney) Toy Story (Pixar/Disney) Tomb Raider 3 (Eidos Interactive)Final Fantasy VIII (SquareOne)The Legend of Zelda (Nintendo) Antz (Dreamworks)
3
Autonomous Agents Definition: “An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.” Franklin & Graesser, 1996 “Is it an Agent, or just a Program?” Proc. of 3rd Int. Workshop on Agent Theories
4
Animated Graphic Agent Basic definition: Animated character whose motion does not need to be explicitly defined by a user. ? ? Other commonly-used terms: Digital Actor, Virtual Human Ultimate Goal: Fully-autonomous animated agents able to sense, act, and interact in changing virtual environments
5
Goals vs. Motions Autonomous Goal Generation: Algorithm to decide what the character should do next (specifies high-level goal) Autonomous Motion Generation: Algorithm to generate underlying motion given a high-level goal
6
Example: Moving an Object Reach Grab Transfer Release Return
7
Two Classes of Motion Two Classes of Motion u u Primary (Active) Motion: gross body movements, facial animation u u Secondary (Passive) Motion: clothes, skin, hair, env. effects Virtual Clothes (MIRALAB / Univ. of Geneva) Facial animation (Geri’s Game / Pixar) Endgame (Stanford)
8
Autonomy vs. Interactivity Autonomy Interactivity User-controlled Completely Autonomous Off-lineReal-time Key-frame Animation Systems Video Game Adversaries Web Avatars Digital Actors Semi-Autonomous Characters Urban / Factory Simulation Virtual Tour Guides Historical Narratives
9
1999 Interactive Chess (Stanford) Playing Chess 1994 ENDGAME (Stanford) 1997 Geri’s Game (Pixar)
10
Animation Variables q 2 q 1 q 3 q 0 q n q 4 Q(t) Parts DOF L 19 68 H 51 118
11
Motion Generation Techniques Synthetic Characters (MIT) Blumberg, et. Al. Reactive Behaviors Brooks ‘85, Reynolds ‘87, Tu & Terzopoulos ‘94, Reich, et al. ‘94, Blumberg & Galyean ‘95 Marilyn (EPFL/Miralab) Thalmann, et. Al. Artificial Fish (U. Toronto) Tu / Terzopoulos Scripting Kahn ‘79, Ridsdale ‘87, Haumann & Parent ‘88, Wilhelms ‘90, Strassmann ‘91, Bates, et al. ‘92, Perlin & Goldberg ‘96 OZ project (CMU) Bates, et. Al. Kinematic Warping Bruderlin & Calvert ‘89, Witkin & Popovich ‘95, Unuma, et al. ‘95, Gliecher ‘98
12
Motion Generation Techniques Physically-Based Simulation Armstrong & Green ‘85, Hahn ‘88, Baraff ‘89, McKenna & Zeltzer ‘90, Raibert & Hodgins ‘91, Mirtich ‘95, Ngo & Marks ‘93, Sims ‘94, Metaxas, et al. ‘97 Motion Planning Lengyel, et at. ‘90, Ching & Badler ‘92, Koga, et al. ‘94, Bandi & Thalmann ‘97, Hsu & Cohen ‘98 Human Dynamics (GaTech) Hodgkins, et. Al. HFAP (Microsoft) Cohen, et. Al. ENDGAME (Stanford) Koga, et. Al. Spacetime Constraints Isaacs & Cohen ‘87, Witkin & Kass ‘88, Rose, et al. ‘96, Gleicher ‘98, Popovic & Witkin ‘99 Jack (U Penn) Badler, et. Al.
13
Motion Planning for Digital Actors Manipulation Sensory-based locomotion
14
Applications u Videogames u Movies u Ergonomics u Training u Web page animation u Slide shows u E-commerce
15
Course Outline u Class 1: Introduction + Motion Representation u Class 2: Digital Actor Authoring and Runtime Software (Motivate) Guest speaker: Yotto Koga u Class 3: Geometric/Kinematic/Dynamic modeling of a Digital Actor u Class 4: Motion Generation Techniques Guest speaker: Chris Bregler u Class 5: Motion Planning Guest Speaker: Oussama Khatib
16
Course Outline (cont’d) u Class 6: Animation of Soft Tissues Guest speakers: Joel Brown and Stephen Sorkin u Class 7: Digital Actors with Sensing and Memory Guest speaker: Josh Tenenbaum u Class 8: High-Level Behaviors and Man-Machine Interaction
17
What is a Motion?
19
Definition of an Object’s Configuration u The configuration of an object is a specification of the positions of all the points in this object relative to a fixed coordinate system u Usually it is expressed as a “vector” of position and orientation parameters q1q1q1q1 q2q2q2q2 q3q3q3q3 qnqnqnqn q=(q 1,…,q n )
20
Rigid Object Example x y reference point robot reference direction workspace Object’s configuration is: q = (x,y, ) Object’s configuration is: q = (x,y, ) In a 3-D workspace q would be of the form (x,y,z, )
21
Articulated Object Example q1q1q1q1 q2q2q2q2 q = (q 1,q 2,…,q 10 )
22
Configuration Space of a Moving Object u Space of all its possible configurations u The topology of this space is usually not that of a Cartesian space C = S 1 x S 1
23
Case of a Rigid Robot in 3-D Workspace q = (x,y,z, ) u Other representation: q = (x,y,z,r 11,r 12,…,r 33 ) where r 11, r 12, …, r 33 are the nine components of a 3x3 rotation matrix r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 with: –r i1 2 +r i2 2 +r i3 2 = 1 –r i1 r j1 + r i2 r 2j + r i3 r j3 = 0 –det = +1 the configuration space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R 3 xSO(3)
24
Parameterization of SO(3) Euler angles: ( Unit quaternion: (cos n 1 sin /2, n 2 sin /2, n 3 sin /2) x y z x yzx y z x y z
25
Metric in Configuration Space u A metric or distance function d in C is a map d: (q 1,q 2 ) d(q 1,q 2 ) > 0 such that: –d(q 1,q 2 ) = 0 if and only if q 1 = q 2 –d(q 1,q 2 ) = d (q 2,q 1 ) –d(q 1,q 2 ) < d(q 1,q 3 ) + d(q 3,q 2 ) u Example: Given an object A and a point x of A, let x(q) be the point of the workspace occupied by x when the robot is at configuration q. A distance d is defined by: d(q,q’) = max ||x(q)-x(q’)|| over all points x of A where ||a - b|| denotes the distance between points a and b
26
A Specific Example: Metric in R 2 x S 1 Let q = (x,y, ) and q ’ = (x ’,y ’, ’ ) with and ’ in [0,2 ) d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + 2 ] where = min{| - ’ |, 2 -| ’ |} d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + 2 ] where = min{| - ’ |, 2 -| ’ |} d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + ( ] where is the maximal distance between the reference point and a robot point ’’’’
27
Notion of a Path A path in C is a piece of continuous curve connecting two configurations q and q’: : s in [0,1] (s) in C u Other possible constraints: finite length, smoothness, … u A trajectory is a path parameterized by time q 1 q 3 q 0 q n q 4 q 2 (t)
28
Homotopic Path u Two paths with the same endpoints are homotopic if one can be continuously deformed into the other R x S 1 example: Paths 1 and 2 are homotopic Paths 1 and 3 are not homotopic Infinity of homotopic classes q q’
29
Configuration Space Connectedness u C is connected, meaning that every two configurations can be connected by a path u C is simply-connected if any two paths connecting the same endpoints are homotopic Example: R 2 or R 3 u Otherwise C is multiply-connected Examples: S 1 and SO(3) are multiply connected In S 1, infinity of homotopic classes In SO(3), only two homotopic classes
30
Obstacles in Configuration Space u A configuration is collision-free, or free, if the robot placed at this configuration has no intersection with the obstacles in the workspace u The free space is the set of all free configurations u A C-obstacle is the set of all configurations where the robot collides with a given workspace obstacle u A configuration is semi-free if the robot at this configuration touches obstacles without overlap
31
Disc Robot in 2-D Workspace
32
Rigid Robot Translating in 2-D CB = B A = {b - a | a in A, b in B}
33
Linear-Time Computation of C-Obstacle in 2-D
34
Rigid Robot Translating and Rotating in 2-D
35
C-Obstacle for Articulated Robot
36
A Remark on the Topology of the Free Space u The robot and the obstacles in the workspace are modeled as closed subsets. This means that they contain their boundaries u One can show that the C-obstacles are closed subsets of the configuration space C u Consequently, the free space F is an open subset of C. Hence, each free configuration is the center of a ball of non-zero radius entirely contained in F u The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F
37
Free and Semi-Free Paths u A free path is one that lies entirely in the free space u A semi-free path is one that lies entirely in the semi-free space
38
Classes of Homotopic Free Paths
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.