1 / 38

CS 99k: Digital Actors

CS 99k: Digital Actors. URL: http://robotics.stanford.edu/~latombe/cs99k/2000 Instructor: Jean-Claude Latombe Computer Science Department Stanford University. Computer Animated Characters. Toy Story (Pixar/Disney). Antz (Dreamworks). A Bug’s Life (Pixar/Disney).

varuna
Download Presentation

CS 99k: Digital Actors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Toy Story (Pixar/Disney) Antz (Dreamworks) A Bug’s Life (Pixar/Disney) Tomb Raider 3 (Eidos Interactive) The Legend of Zelda (Nintendo) Final Fantasy VIII (SquareOne)

  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. Ultimate Goal: Fully-autonomous animated agents able to sense, act, and interact in changing virtual environments ? Other commonly-used terms: Digital Actor, Virtual Human

  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 Transfer Reach Return Grab Release

  7. Virtual Clothes (MIRALAB / Univ. of Geneva) Two Classes of Motion • Primary (Active) Motion: gross body movements, facial animation • Secondary (Passive) Motion: clothes, skin, hair, env. effects Endgame (Stanford) Facial animation (Geri’s Game / Pixar)

  8. Autonomy vs. Interactivity Completely Autonomous Urban / Factory Simulation Video Game Adversaries Historical Narratives Virtual Tour Guides Digital Actors Autonomy Semi-Autonomous Characters Key-frame Animation Systems Web Avatars User-controlled Off-line Real-time Interactivity

  9. Playing Chess 1997 Geri’s Game (Pixar) 1994 ENDGAME (Stanford) 1999 Interactive Chess (Stanford)

  10. q q q q q q 2 1 3 0 n 4 Animation Variables Q(t) Parts DOF L 19 68 H 51 118

  11. OZ project (CMU) Marilyn (EPFL/Miralab) Synthetic Characters (MIT) Thalmann, et. Al. Bates, et. Al. Blumberg, et. Al. Artificial Fish (U. Toronto) Tu / Terzopoulos Motion Generation Techniques Scripting Kahn ‘79, Ridsdale ‘87, Haumann & Parent ‘88, Wilhelms ‘90, Strassmann ‘91, Bates, et al. ‘92, Perlin & Goldberg ‘96 Reactive Behaviors Brooks ‘85, Reynolds ‘87, Tu & Terzopoulos ‘94, Reich, et al. ‘94, Blumberg & Galyean ‘95 Kinematic Warping Bruderlin & Calvert ‘89, Witkin & Popovich ‘95, Unuma, et al. ‘95, Gliecher ‘98

  12. Jack (U Penn) Human Dynamics (GaTech) ENDGAME (Stanford) HFAP (Microsoft) Koga, et. Al. Cohen, et. Al. Hodgkins, et. Al. Badler, et. Al. 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 Spacetime Constraints Isaacs & Cohen ‘87, Witkin & Kass ‘88, Rose, et al. ‘96, Gleicher ‘98, Popovic & Witkin ‘99 Motion Planning Lengyel, et at. ‘90, Ching & Badler ‘92, Koga, et al. ‘94, Bandi & Thalmann ‘97, Hsu & Cohen ‘98

  13. Motion Planning for Digital Actors Manipulation Sensory-based locomotion

  14. Applications • Videogames • Movies • Ergonomics • Training • Web page animation • Slide shows • E-commerce

  15. Course Outline • Class 1: Introduction + Motion Representation • Class 2: Digital Actor Authoring and Runtime Software (Motivate)Guest speaker: Yotto Koga • Class 3: Geometric/Kinematic/Dynamic modeling of a Digital Actor • Class 4: Motion Generation TechniquesGuest speaker: Chris Bregler • Class 5: Motion PlanningGuest Speaker: Oussama Khatib

  16. Course Outline (cont’d) • Class 6: Animation of Soft TissuesGuest speakers: Joel Brown and Stephen Sorkin • Class 7: Digital Actors with Sensing and MemoryGuest speaker: Josh Tenenbaum • Class 8: High-Level Behaviors and Man-Machine Interaction

  17. What is a Motion?

  18. What is a Motion ?

  19. qn q=(q1,…,qn) q3 q1 q2 Definition of an Object’s Configuration • The configuration of an object is a specification of the positions of all the points in this object relative to a fixed coordinate system • Usually it is expressed as a “vector” of position and orientation parameters

  20. workspace robot reference direction q y reference point x Rigid Object Example Object’s configuration is: q = (x,y,q) In a 3-D workspace q would be of the form (x,y,z,a,b,g)

  21. q2 q1 Articulated Object Example q = (q1,q2,…,q10)

  22. C = S1 x S1 Configuration Space of a Moving Object • Space of all its possible configurations • The topology of this space is usually not that of a Cartesian space

  23. Case of a Rigid Robot in 3-D Workspace • q = (x,y,z,a,b,g) • Other representation: q = (x,y,z,r11,r12,…,r33) where r11, r12, …, r33 are the nine components of a 3x3 rotation matrixr11 r12 r13 r21 r22 r23 r31 r32 r33with: • ri12+ri22+ri32 = 1 • ri1rj1 + ri2r2j + ri3rj3 = 0 • det = +1 the configuration space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R3xSO(3)

  24. z z z z 1 -> 2 -> 3 ->4 y f y q y y y x x x x Parameterization of SO(3) • Euler angles: (f,q,y) • Unit quaternion:(cos q/2, n1 sin q/2, n2 sin q/2, n3 sin q/2)

  25. Metric in Configuration Space • A metric or distance function d in C is a map d: (q1,q2) d(q1,q2) > 0such that: • d(q1,q2) = 0 if and only if q1 = q2 • d(q1,q2) = d (q2,q1) • d(q1,q2) < d(q1,q3) + d(q3,q2) • 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 Awhere ||a - b|| denotes the distance between points a and b

  26. q q’ A Specific Example: Metric in R2 x S1 • Let q = (x,y,q) and q’ = (x’,y’,q’) with q and q’ in [0,2p) • d(q,q’) = sqrt[(x-x’)2 + (y-y’)2 + a2]where a = min{|q-q’| , 2p-|q-q’|} • d(q,q’) = sqrt[(x-x’)2 + (y-y’)2 + (ra)2]where r is the maximal distance between the reference point and a robot point

  27. q q q q q q 1 n 2 0 4 3 t(t) Notion of a Path • A path in C is a piece of continuous curve connecting two configurations q and q’:t : s in [0,1] t(s) in C • Other possible constraints: finite length, smoothness, … • A trajectory is a path parameterized by time

  28. q t2 t1 t3 q’ Homotopic Path • Two paths with the same endpoints are homotopic if one can be continuously deformed into the other • R x S1 example:Paths t1 and t2 are homotopicPaths t1 and t3 are not homotopicInfinity of homotopic classes

  29. Configuration Space Connectedness • C is connected, meaning that every two configurations can be connected by a path • C is simply-connected if any two paths connecting the same endpoints are homotopicExample: R2 or R3 • Otherwise C is multiply-connectedExamples: S1 and SO(3) are multiply connectedIn S1, infinity of homotopic classesIn SO(3), only two homotopic classes

  30. Obstacles in Configuration Space • A configuration is collision-free, or free, if the robot placed at this configuration has no intersection with the obstacles in the workspace • The free space is the set of all free configurations • A C-obstacle is the set of all configurations where the robot collides with a given workspace obstacle • 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 • The robot and the obstacles in the workspace are modeled as closed subsets. This means that they contain their boundaries • One can show that the C-obstacles are closed subsets of the configuration space C • 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 • 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 • A free path is one that lies entirely in the free space • A semi-free path is one that lies entirely in the semi-free space

  38. Classes of Homotopic Free Paths

More Related