Motion Representation & forward Kinematics Jinxiang Chai.

Slides:



Advertisements
Similar presentations
Hierarchical Transformation. Summary Alternatively, OpenGL thinks: A transformation updates the coordinate system. For each change, the transformation.
Advertisements

Computer Graphics Lecture 4 Geometry & Transformations.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Lecture 2: linear algebra, animation basics
Forward Kinematics. Focus on links chains May be combined in a tree structure Degrees of Freedom Number of independent position variables (i.e. joints.
Lecture 5 Jinxiang Chai. Outline Motion capture data format Class homepage & paper assignment Presentation tips.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Introduction to Robotics
1 CSCE 441 Computer Graphics: 2D Transformations Jinxiang Chai.
CSCE 441 Computer Graphics: Animation with Motion Capture
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Lecture 4: Motion Capture Jinxiang Chai. Outline Mocap history Mocap technologies Mocap pipeline Mocap Data Mocap Challenges.
3D orientation.
CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
CSCE 689: Forward Kinematics and Inverse Kinematics
CPSC 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.
2D Transformations Unit - 3. Why Transformations? In graphics, once we have an object described, transformations are used to move that object, scale it.
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Lecture 10Slide Fall 2003 Animation. Lecture 10Slide Fall 2003 Conventional Animation Draw each frame of the animation great control tedious.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Advanced Graphics (and Animation) Spring 2002
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
CS 480/680 Computer Graphics Transformations Dr. Frederick C Harris, Jr.
Key Frame Animation and Inverse Kinematics
Geometric Transforms Changing coordinate systems.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Rotations and Translations
Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall
Transformations Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
Jinxiang Chai Composite Transformations and Forward Kinematics 0.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
Animating Rotations and Using Quaternions. What We’ll Talk About Animating Translation Animating 2D Rotation Euler Angle representation 3D Angle problems.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
What is Kinematics. Kinematics studies the motion of bodies.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
1cs426-winter-2008 Notes  Will add references to splines on web page.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
Inverse Kinematics CSIS 5838: Graphics and Animation for Gaming.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
Computer Graphics I, Fall 2010 Transformations.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
Advanced Games Development Physics Engines 2 CO2301 Games Development 1 Week 21.
CPSC 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.
CGDD 4003 Character Animation. The Skeletal Hierarchy (aka the “rig”) Based on the concept of bones Each bone has exactly one parent Each bone has a transform.
CSCE 441 Computer Graphics: 2D Transformations
MASKS © 2004 Invitation to 3D vision Lecture 6 Introduction to Algebra & Rigid-Body Motion Allen Y. Yang September 18 th, 2006.
Modeling Transformation
CSCE 441 Computer Graphics: Animation with Motion Capture
CPSC 641 Computer Graphics: Animation with Motion Capture
CSCE 441: Computer Graphics Forward/Inverse kinematics
Character Animation Forward and Inverse Kinematics
CPSC 641: Computer Graphics Rotation Representation and Interpolation
Computer Graphics Transformations.
CHAPTER 2 FORWARD KINEMATIC 1.
Mobile Robot Kinematics
CSE4421/5324: Introduction to Robotics
CSCE 441: Computer Graphics Forward/Inverse kinematics
Chapter XIII Character Animation
Transformations 4 University of British Columbia
UMBC Graphics for Games
Presentation transcript:

Motion Representation & forward Kinematics Jinxiang Chai

Topics Representing charactersRepresenting characters Transformation hierarchiesTransformation hierarchies Skeleton file (.asf file)Skeleton file (.asf file) Motion data file (.amc file)Motion data file (.amc file)

Assumptions Linear algebra matrix multiplication, linear transformationsmatrix multiplication, linear transformations

bdac i m f l q he jk pon Px Py Pz 1 Transformation Matrix

Ty Tz Tx Translation along x, y and z axis Translation Matrix

We know how to rotate about the global axes cos(  ) -sin(  ) 0 sin(  ) cos(  ) cos(  ) -sin(  ) 0 sin(  ) cos(  ) cos(  ) 0 sin(  ) sin(  ) 0 cos(  ) Rotate θ around x axis Rotate θ around z axis Rotate θ around y axis Rotation matrices

Character Models are rich, complex hair, clothes (particle systems)hair, clothes (particle systems) muscles, skin (FFD’s etc.)muscles, skin (FFD’s etc.) Focus is rigid-body Degrees of Freedom (DOFs) joint anglesjoint angles what we can currently obtain from motion capture datawhat we can currently obtain from motion capture data Character Representation

Simple Rigid Body  Skeleton Copyright © Squaresoft 1999 Who wins? You decide. vs.

Human Motion Representation How to represent right leg motion?

Representing a Skeleton Model & connect each bone difficult to formulate joint limitsdifficult to formulate joint limits not very efficient eithernot very efficient either –explicit constraints for joints –many wasted DOFs xh,yh,zh,h,h,hxh,yh,zh,h,h,h xt,yt,zt,t,t,txt,yt,zt,t,t,t xc,yc,zc,c,c,cxc,yc,zc,c,c,c xf,yf,zf,f,f,fxf,yf,zf,f,f,f

Efficient Skeleton: Hierarchy Implicitize joint constraints each bone relative to parenteach bone relative to parent easy to limit joint angleseasy to limit joint angles very efficientvery efficient –# angles = # DOFs –no constraints to enforce –leverages graphics libraries and hardware xh,yh,zh,h,h,hxh,yh,zh,h,h,h t,t,tt,t,t cc f,ff,f hips r-upper leg r-lower leg r-foot left-leg...

Operations on Hierarchies Specify poses Draw the character in a given pose Compute positions and orientations on body for example...

Computing a Sensor Position Forward kinematics uses vector-matrix multiplicationuses vector-matrix multiplication transformation matrix is composition of all joint transforms between sensor/effector and roottransformation matrix is composition of all joint transforms between sensor/effector and root xh,yh,zh,h,h,hxh,yh,zh,h,h,h t,t,tt,t,t cc f,ff,f vsvs y x z vsvs vsvs

Joints = Rotations To specify a pose, we specify the joint-angle rotations Each joint can have up to three rotational DOFs 1 DOF: knee 2 DOF: wrist 3 DOF: arm

Representing Motions animation = Pose(time) See demo using maya!

Motion Capture Data Each sequence of human motion data contains two files: Skeleton file (.asf):Skeleton file (.asf): Specify the skeleton model of character Motion data file (.amc):Motion data file (.amc): Specify the joint angle values over the frame/time

.ASF file Specify character skeleton Individual boneIndividual bone Bone hierarchyBone hierarchy

.ASF file: Bones For each bone begin id bone_id //Unique id for each bone name bone_name //Unique name for each bone direction dX dY dZ //Vector describing direction of the bone in world coor. system length //Length of the bone axis XYZ //Rotation of local coordinate system for //this bone relative to the world coordinate //system. In.AMC file the rotation angles //for this bone for each time frame will be //defined relative to this local coordinate //system dof rx ry rz //Degrees of freedom for this bone. limits ( ) ( ) ( ) end

. ASF file: Hierarchy :hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle lowerneck upperneck upperneck head lclavicle lhumerus lhumerus lradius lradius lwrist lwrist lhand lthumb lhand lfingers rclavicle rhumerus rhumerus rradius rradius rwrist rwrist rhand rthumb rhand rfingers end

. ASF file: Hierarchy :hierarchy begin root lhipjoint rhipjoint lowerback Three bones connected to root Root is the parent node of lhipjoint, rhipjoint, and lowerback root lhipjointrhipjoint lowerback

. ASF file: Hierarchy rhips rfemur rtibia r-foot right-leg :hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle lowerneck upperneck upperneck head lclavicle lhumerus lhumerus lradius lradius lwrist lwrist lhand lthumb lhand lfingers rclavicle rhumerus rhumerus rradius rradius rwrist rwrist rhand rthumb rhand rfingers end

Hierarchical Representation

.AMC file i // frame number root // root position and orientation lowerback // joint angles for lowerback joint upperback // joint angles for thorax joint thorax lowerneck upperneck head rclavicle e e-014 rhumerus rradius rwrist rhand rfingers rthumb …. For each frame

Animation with.ASF and.AMC file See demo!

Representing charactersRepresenting characters Transformation hierarchiesTransformation hierarchies Skeleton file (.asf file)Skeleton file (.asf file) Motion data file (.amc fileMotion data file (.amc file Representing charactersRepresenting characters Transformation hierarchiesTransformation hierarchies Skeleton file (.asf file)Skeleton file (.asf file) Motion data file (.amc fileMotion data file (.amc file Today’s topic

1) Create a handle on body position or orientationposition or orientation 2) Pull on the handle 3) IK figures out how joint angles should change 1) Create a handle on body position or orientationposition or orientation 2) Pull on the handle 3) IK figures out how joint angles should change Next Lecture: Inverse Kinematics