Download presentation
Presentation is loading. Please wait.
1
Computer Animation Algorithms and Techniques
Kinematic Linkages
2
Hierarchical Modeling
Define motion of one object relative to another Constrained motion - reduce dimensionality, simplify specification Linked appendages with joints Solar system Motion on a surface Local coordinate frames for simpler motion specification Data structure to facilitate keeping relative transformations
3
Solar system
4
Linked appendages Joint Link End Effector
5
Forward & Inverse Kinematics
images courtesy of Domin Lee
6
Revolute & Prismatic Joints
7
Complex Joints
8
Hierarchical structure
9
Tree structure
10
Tree structure
11
Tree structure Static
12
Relative movement
13
Tree structure Changable
14
Bifurcation in Model
15
Bifurcating tree
16
Traverse Tree Top to bottom traversal
Accumulate transformations during traversal Transformation at node only for data Save transformation before following link Restore when traversing sibling link
17
traverse(arcPtr,matrix)
{ ; get transformations of arc and concatenate to current matrix matrix = matrix*arcPtr->Lmatrix ; concatenate location matrix = matrix*arcPtr->Amatrix ; concatenate articulation ; process data at node nodePtr = arcPtr->nodePtr ; get the node of the arc push(matrix) ; save the matrix matrix = matrix * nodePtr->matrix ; ready for articulation articulatedData = transformData(matrix,dataPtr) ; articulate the data draw(articulatedData); ; and draw it matrix = pop() ; restore matrix for node’s children ; process children of node if (nodePtr->arcPtr!= NULL) { ; if not a terminal node nextArcPtr = nodePtr->arcPtr ; get first arc emanating from node while (nextArcPtr != NULL) { ; while there’s an arc to process push(matrix) ; save matrix at node traverse(nextArcPtr,matrix) ; traverse arc matrix = pop() ; restore matrix at node nextArcPtr = nextArcPtr->arcPtr ; set next child of node }
18
Inverse kinematics Position and orient end effect
Automatically calculate interior joint angles Only simple configurations can be solved analytically Often, solution must be iterative
19
Inverse kinematics Analytic method Iterative: Jacobian
Iterative solutions Pseudo-inverse adding more control alternative Jacobian using the transpose cyclic coordinate descent
20
Inverse Kinematics
21
Inverse Kinematics - Analytic
22
Inverse Kinematics - Analytic
23
Inverse Kinematics - Numeric
Determine affect of joint i on end effector
24
Inverse Kinematics - Numeric
desired direction of end effector to goal
25
Inverse Kinematics - Numeric
joint-effect vectors: gi
26
Singularities
27
IK - Jacobain
28
IK - goal out of reach Solutions with and without damping
29
IK - with control term all joints biased to 0
top: joint 2 has higher gain bottom: joint 3 has higher gain
30
IK - Pull goal to end effector
31
IK - transpose of the Jacobian
32
IK - Cyclic Coordinate Descent
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.