Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.

Slides:



Advertisements
Similar presentations
Inverse Kinematics Professor Nicola Ferrier ME 2246,
Advertisements

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.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
JOINTS CS / KINEMATIC LINKAGES PAGE 36 REVOLUTE JOINT (1 DOF) TRANSLATIONAL JOINT (1 DOF) CYLINDRICAL JOINT (2 DOF) SPHERICAL JOINT (3 DOF)
Inverse Kinematics Set goal configuration of end effector
Chapter 4: IMD Chapter 4: Character Animation Character Animation 1 Lecturer: Norhayati Mohd Amin.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Hierarchical Modeling I Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Hierarchical Modeling II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.
Serial and Parallel Manipulators
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
KINEMATICS ANALYSIS OF ROBOTS (Part 1) ENG4406 ROBOTICS AND MACHINE VISION PART 2 LECTURE 8.
Hierarchical Transformations Hierarchical Models Scene Graphs
More details and examples on robot arms and kinematics
Forward Kinematics and Jacobians Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
Advanced Graphics (and Animation) Spring 2002
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Chap 5 Kinematic Linkages
Key Frame Animation and Inverse Kinematics
Chapter 2 Robot Kinematics: Position Analysis
KINEMATICS ANALYSIS OF ROBOTS (Part 2)
Week 4 Lecture 1: Hierarchical Modeling Part 1 Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E ©
Hierarchical Modeling. Instance Transformation Start with a prototype object (a symbol) Each appearance of the object in the model is an instance – Must.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 40 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 40 Computer Graphics Hierarchy I.
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.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Robot Kinematics: Position Analysis 2.1 INTRODUCTION  Forward Kinematics: to determine where the robot ’ s hand is? (If all joint variables are known)
Computer Graphics I, Fall 2008 Hierarchical Modeling II.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Hierarchical Modeling.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
KINEMATICS ANALYSIS OF ROBOTS (Part 5). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
COMP322/S2000/L111 Inverse Kinematics Given the tool configuration (orientation R w and position p w ) in the world coordinate within the work envelope,
Kinematics Intro :a branch of dynamics that deals with aspects of motion apart from considerations of mass and force Merriam-Webster.
Computer Graphics I, Fall 2008 Hierarchical Modeling I.
End effector End effector - the last coordinate system of figure Located in joint N. But usually, we want to specify it in base coordinates. 1.
CSCE 441: Computer Graphics: Hierarchical Models Jinxiang Chai.
Rotation about Arbitrary Axis oOften we need rotation about a vector U that is not a coordinate axis (not X, nor Y, nor Z) and may not pass through the.
Kinematics 제어시스템 이론 및 실습 조현우
Denavit-Hartenberg Convention
Character Animation Forward and Inverse Kinematics
Computer Animation Algorithms and Techniques
Denavit-Hartenberg Convention
Computer Animation Algorithms and Techniques
Hierarchical Modeling II
CHAPTER 2 FORWARD KINEMATIC 1.
Computer Graphics - Hierarchical Models-
Hierarchical and Object-Oriented Graphics
CSCE 441: Computer Graphics: Hierarchical Models
Skeletons and Skinning
CHAPTER 2 FORWARD KINEMATIC 1.
Chapter XIII Character Animation
Computer Animation Algorithms and Techniques
Direct Kinematics Where is my hand? Direct Kinematics: HERE!
Hierarchical and Object-Oriented Graphics
CSCE441: Computer Graphics 2D/3D Transformations
Dr. Chih-Kuo Yeh 葉智國 Computer Graphics Dr. Chih-Kuo Yeh 葉智國
Hierarchical Modeling
CSCE 441: Computer Graphics: Hierarchical Models
Presentation transcript:

Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages

Computer Animation Rick Parent Hierarchical Modeling Relative motion Parent-child relationship Constrains motion Reduces dimensionality Simplifies motion specification

Computer Animation Rick Parent Modeling & animating hierarchies 3 aspects 1. Linkages & Joints – the relationships 2. Data structure – how to represent such a hierarchy 3. Converting local coordinate frames into global space

Computer Animation Rick Parent Some terms Joint – allowed relative motion & parameters Joint Limits – limit on valid joint angle values Link – object involved in relative motion Linkage – entire joint-link hierarchy Armature – same as linkage End effector – most distant link in linkage Articulation variable – parameter of motion associated with joint Pose – configuration of linkage using given set of joint angles Pose vector – complete set of joint angles for linkage Arc – of a tree data structure – corresponds to a joint Node – of a tree data structure – corresponds to a link

Computer Animation Rick Parent Use of hierarchies in animation Forward Kinematics (FK) animator specifies values of articulation variables Inverse Kinematics (IK) animator specifies final desired global transform for end effector (and possibly other linkages) global transform for each linkage is computed Values of articulation variables are computed

Computer Animation Rick Parent Forward & Inverse Kinematics

Computer Animation Rick Parent Joints – relative movement

Computer Animation Rick Parent Complex Joints

Computer Animation Rick Parent Hierarchical structure

Computer Animation Rick Parent Tree structure

Computer Animation Rick Parent Tree structure

Computer Animation Rick Parent Tree structure

Computer Animation Rick Parent Relative movement

Computer Animation Rick Parent Relative movement

Computer Animation Rick Parent Tree structure

Computer Animation Rick Parent Tree structure

Computer Animation Rick Parent Tree traversal traverse (arcPtr,matrix) { // concatenate arc matrices matrix = matrix*arcPtr->Lmatrix matrix = matrix*arcPtr->Amatrix; // get node and transform data nodePtr=acrPtr->nodePtr push (matrix) matrix = matrix * nodePTr->matrix aData = transformData(matrix,dataPTr) draw(aData) matrix = pop(); // process children If (nodePtr->arc != NULL) { nextArcPtr = nodePTr->arc while (nextArcPtr != NULL) { push(matrix) traverse(nextArcPtr,matrix) matrix = pop() nextArcPtr = nextArcPtr->arc } L A d,M NOTE: Node points to first child Each child points to sibling Last sibling points to NULL nodePtr: a pointer to a node that holds the data to be articulated by the arc. Lmatrix: a matrix that locates the following child node relative to its parent. Amatrix: a matrix that articulates the node data (for animation). arcPtr: a pointer to a sibling arc. dataPtr: data / geometry / mesh. arcPtr: a pointer to a single child arc.

Computer Animation Rick Parent OpenGL Single linkage glPushMatrix(); For (i=0; i<NUMDOFS; i++) { glRotatef(a[i],axis[i][0], axis[i][1], axis[i][2]); if (linkLen[i] != 0.0) { draw_linkage(linkLen[i]); glTranslatef(0.0,linkLen[i],0.0); } glPopMatrix(); A[i] – joint angle Axis[i] – joint axis linkLen[i] – length of link OpenGL concatenates matrices