CS 99k: Digital Actors URL: Instructor: Jean-Claude Latombe Computer Science Department Stanford University.

Slides:



Advertisements
Similar presentations
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Advertisements

Introduction University of Bridgeport 1 Introduction to ROBOTICS.
Configuration Space Course: Introduction to Autonomous Mobile Robotics Prof. Jaebyung Park Intelligent Systems & Robotics Lab. Division of Electronic Engineering.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
Algorithmic Robotics and Motion Planning Dan Halperin Tel Aviv University Fall 2006/7 Introduction abridged version.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fast C-obstacle Query Computation for Motion Planning Liang-Jun Zhang 12/13/2005 Liang-Jun Zhang 1 Young.
Graphics-1 Gentle Introduction to Computer Graphics Based on: –David Brogan’s “Introduction to Computer Graphics” Course Slides, University of Virginia.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
Motion Planning. Basic Topology Definitions  Open set / closed set  Boundary point / interior point / closure  Continuous function  Parametric curve.
Configuration Space CS 326 A: Motion Planning
Introduction to Robotics
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
CS 326 A: Motion Planning Probabilistic Roadmaps Sampling and Connection Strategies (2/2)
Motion Planning: A Journey of Robots, Digital Actors, Molecules and Other Artifacts Jean-Claude Latombe Computer Science Department Stanford University.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
Motion Planning: A Journey of Robots, Digital Actors, Surgical Instruments, Molecules and Other Artifacts Jean-Claude Latombe Computer Science Department.
CS 326 A: Motion Planning Motion Planning for Humanoids, Legged Robots, and Digital Actors.
CS 326A: Motion Planning Jean-Claude Latombe CA: Aditya Mandayam.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Randomized Motion Planning
CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CS 326 A: Motion Planning Instructor: Jean-Claude Latombe Teaching Assistant: Itay Lotan Computer Science.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Interactive Control of Avatars Animated with Human Motion Data Jehee Lee Carnegie Mellon University Seoul National University Jehee Lee Carnegie Mellon.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Introduction to ROBOTICS
Introduction to ROBOTICS
Inverse Kinematics Jacobian Matrix Trajectory Planning
Introduction to Robot Motion Planning. Example A robot arm is to build an assembly from a set of parts. Tasks for the robot: Grasping: position gripper.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
22C:196 Computer Animation Instructor: Joe Kearney 101M MLH
Forward Kinematics and Jacobians Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Motion Planning Motion Planning. 1.What is the motion planning problem? 2.What is the fundamental question in motion planning problem? 3.What is the basic.
9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman.
Rick Parent - CIS682 Human Figure - Overview Reactionary Motions Clothes Hair Tasks Reaching & Grasping Walking Talking Motor Skills Layered Construction.
NUS CS 5247 David Hsu Motion Planning in Digital Studios.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
CS B659: Principles of Intelligent Robot Motion Configuration Space.
Animation & 3D Animation
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
1 1. Representing and Parameterizing Agent Behaviors Jan Allbeck and Norm Badler 연세대학교 컴퓨터과학과 로봇 공학 특강 학기 유 지 오.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Outline: Introduction Solvability Manipulator subspace when n<6
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
NUS CS5247 Dynamically-stable Motion Planning for Humanoid Robots Presenter Shen zhong Guan Feng 07/11/2003.
Forward Kinematics and Configurations
Planning Tracking Motions for an Intelligent Virtual Camera Tsai-Yen Li & Tzong-Hann Yu Presented by Chris Varma May 22, 2002.
Constraint-Based Motion Planning for Multiple Agents Luv Kohli COMP259 March 5, 2003.
1 CS26N: Motion Planning for Robots, Digital Actors, and Other Moving Objects Jean-Claude Latombe ai.stanford.edu/~latombe/ Winter.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
NUS CS 5247 David Hsu Configuration Space. 2 What is a path?
Computer Animation Algorithms and Techniques
Physically-Based Motion Synthesis in Computer Graphics
Forward Kinematics and Configurations
Computer Graphics.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Locomotion of Wheeled Robots
Forward Kinematics and Configuration Space
Application to Animating a Digital Actor on Flat Terrain
Chapter 4 . Trajectory planning and Inverse kinematics
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Presentation transcript:

CS 99k: Digital Actors URL: Instructor: Jean-Claude Latombe Computer Science Department Stanford University

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)

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

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

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

Example: Moving an Object Reach Grab Transfer Release Return

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)

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

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

Animation Variables q 2 q 1 q 3 q 0 q n q 4 Q(t) Parts DOF L H

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

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.

Motion Planning for Digital Actors Manipulation Sensory-based locomotion

Applications u Videogames u Movies u Ergonomics u Training u Web page animation u Slide shows u E-commerce

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

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

What is a Motion?

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 )

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,  )

Articulated Object Example q1q1q1q1 q2q2q2q2 q = (q 1,q 2,…,q 10 )

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

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)

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    

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

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 ’’’’ 

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)

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’   

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

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

Disc Robot in 2-D Workspace

Rigid Robot Translating in 2-D CB = B A = {b - a | a in A, b in B}

Linear-Time Computation of C-Obstacle in 2-D

Rigid Robot Translating and Rotating in 2-D

C-Obstacle for Articulated Robot

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

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

Classes of Homotopic Free Paths