Final exam date Final exam date has been announced: Articulated Figures I Tuesday, February 27, 2007 2:45 - 4:45pm Introduction 70-1435 Forward Kinematics Spacetime Constraints Projects Project Presentations: Mid-quarter report Dates: Due Friday, January 26th Week 9: Wed, Feb 14 Update on progress Week 10: Mon, Feb 19 Finals Week: Tues, Feb 27 (2:45-4:45) Dropbox in mycourses. 15 minutes / presentation Schedule now on Web Please send me choice of time/day Assignments Logistics Assignment 1 -- Framework Course Withdrawal deadline Most have been graded Friday, January 26th Assignment 2 -- Keyframing Most have been graded. Assignment 3 -- Billiards Due Jan 26th (Friday) Assignment 4 -- Group Motion To be given today (both options) Due Feb 7th. NOTE: Dropbox close dates have been fixed. 1
Plan for today Motivation Films Next 2 weeks: Articulated Figures Film featuring articulated figures. Today: Forward Kinematics Monday: Inverse Kinematics Wednesday: Motion Capture Monday: Advanced algorithms Then Wednesday: Character animation Motivational Film Motivational Film Eurythmy (1989) Grinning Evil Death (1990) Susan Amkraut and Michael Girard (Ohio Mike McKenna (MIT Media Lab) State) Based on the OSU work on the use of inverse kinematics and dynamics for animation. Interview w/Amkraut and Girard on Web Plan For Today Building an animated character Topics Rigging Intro to Articulated Figures The process of preparing a character model for animation, including setting up Forward Kinematics an underlying skeleton, complete with Spacetime Constraints constraints, controllers and kinematic systems, and linking it to the mesh of the character model. 2
Articulated Figures Building an animated character Skeleton What is an articulated figure? An underlying network of bones used to define A set of rigid objects connected by joints and control the motion of a model during Individual joints are linked together in a character animation. Moving a bone causes the parent-child hierarchy mesh of the model to move and deform. Each object has a joint at one end where Skinning any child bones may be attached. The process of binding the surface of a model to the underlying skeleton during character rigging. The skeleton Articulated Figures Articulated Figures main figure is described in terms of a global frame of reference each individual joint is assigned its own separate local co-ordinate frame of reference This coordinate system is with respect to it’s parent. Can concatenate transformation matrices Articulated Figures Articulated Figures T BW = transformation of B wrt world T AW = transformation of A wrt world T BA = transformation of B wrt A T T T = � BW BA AW 3
Articulated Figures Articulated Figures Given in graph form Articulated Figures Articulated Figures Now let’s consider rotations Multiple joints Articulated Figures Articulated Figures Most rendering systems / API maintain Stack of transformation matrices a transformation matrix stack Push when going into the hierarchy Finger wrt hand Pop when leaving the hierarchy Hand wrt arm Arm wrt body Body wrt world 4
Articulated Figures Articulated Figures We know how to transform of each component with respect to another robot component. Use the matrix stack in order to calculate base Upper body the local coordinates of each component. arm thumb Articulated Figures Articulated Figures Define your camera orientation Push Matrix Concatenate Transformations of Arm wrt body Push Matrix Draw arm Concatenate transformation for robot as a whole PushMatrix Push Matrix Concatenate transformations for robot base wrt the center of the robot Concatenate Transformation of Thumb wrt Arm Draw robot base Draw thumb Pop Matrix Pop Matrix // Thumb Pop Matrix // Arm Push matrix Concatenate transformations for robot body wrt the center of the robot Pop Matrix // body Draw robot body Pop Matrix // robot … Articulated Figures Joint Constraints applets Note that translation should not be allowed. Any joint is only permitted to rotate about the three local axes of its parent joint. However, you may wish to limit the extent of rotation Disallow rotation about one of the axes Provide rotational constraints to a given axis. Questions? 5
Degrees of freedom Degrees of freedom Motion data can be defined as Degrees of freedom f(t) – function of time Number of parameters One function for each degree of freedom whose values must be How many functions is that? defined in order to fully For a CG character position the articulated Typically 40-50 DOF figure For a real human > 250 DOF Purpose of animation Provide values to each of the DOF for each time 44 DOF: 38 (joint angles) + 6 step. (position and orientation) Animation Control End Effectors Purpose of animation End effectors Provide values to each of the DOF for each time step. Term, borrowed from robotics, that So how does one do this? describes the end of a jointed link Keyframing – curve editors Kinematics – based on position / velocity Also can be described as the bottom node Procedural in a hierarchy Dynamics – use physics Animator Use heuristics control Use AI Motion capture Using sampled data. Questions? End Effectors Motion spaces Joint space robot Multidimensional space of joint angles Dimensionality = degrees of freedom End effector space base Upper body Multidimensional space of end effectors arm Dimensionality = number of end effectors Essentially described in world coords thumb 6
Forward vs Inverse Kinematics Forward vs Inverse Kinematics Forward Kinematics X = f ( θ ) Define values for joint angles Determines positions of end effectors Forward X = f ( θ ) Kinematics Inverse Kinematics Joint space Space X Define positions of end effectors θ Inverse Determine joint angles to make it so Kinematics θ = f -1 (X) θ = f -1 (X) Inverse Kinematics Standard Human Hierarchies Goal directed motion H-Anim Reach over and grab that thing! Goals Note: roach motion (Grinning Evil Death) was goal directed Easier to specify specify a way of defining interchangeable Harder to compute humanoids and animations in standard VRML 2.0 without extensions. More on Inverse Kinematics next time. Animations include limb movements, facial expressions and lip synchronisation with sound. Questions? Our goal is to allow people to author humanoids and animations independently. Break Standard Human Hierarchies H-Anim H-Anim Standard link/joint hierarchy with limits and constraints Based on anatomical references 7
H-anim Examples MPEG-4 Nancy The MPEG-4 standard, initiated in 1995, aims at proposing tools for efficient coding of Baxter multimedia scenes. Dilbert efficient coding of diverse kind of data : Video Objects StillTexture Objects Face Objects Body Objects Mesh Objects MPEG-4 and VRML Body Animation in MPEG-4 Work of MPEG-4 systems group was inspired and based on VRML. MPEG-4 = VRML + extensions. Body Animation in MPEG-4 Take Home Message BAP (Body Animation Parameter) contains There are standards for human body 296 parameters describing the topology of hierarchies the skeleton. Any others? Interoperates with the work of the H-Anim group In the game word perhaps? The BDP set defines the set of parameters to transform the default body to a customized body optionally with its body surface, body dimensions, and texture. Questions? 8
Dynamics Dynamics Determine values for DOF by simulation To get realistic motion, go to the source of physical forces. Problem with dynamics Little animator control Animator provides initial conditions Simulation does the rest Can we give back some control to the animator? Spacetime Constraints Spacetime Constraints Animator specifies: Method developed by Witkin and Kass (1988) The character’s physical structure I.e. Articulated figure Goals: What the character has to do Benefits of realistic physically based motion Jump from here to there Provide animator with a bit more control What physical resources are available Experimented with Luxo Character’s muscles, floor to push off of How motion should be performed “Don’t waste energy” Spacetime Constraints Spacetime Constraints The problem turns into a constrained Luxo optimization problem Find values S j that minimize R subject to C i (S j ) = 0 S i = DOF and forces for all time steps C i = constraints R = minimization criteria Given these, there are well known numerical techniques to solve 9
Recommend
More recommend