Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fundamentals of Computer Animation

Similar presentations


Presentation on theme: "Fundamentals of Computer Animation"— Presentation transcript:

1 Fundamentals of Computer Animation
Inverse Kinematics

2 Example: 2-Link Structure

3 Forward Kinematics

4 Forward Kinematics

5 Example: 2-Link Structure

6 Inverse Kinematics

7 Inverse Kinematics

8 Inverse Kinematics : When useful?
Want character to push a button or take a step can give the animator a good first step that he/she can later fine tune

9 Inverse Kinematics (IK) Examples
Balance – keep center of mass over support polygon Control – positions vaulter’s hands on line between shoulder and vault Compute knee angles that will give runner the right leg length

10 What Makes IK Hard? Goal of "natural looking" motion Singularities
Redundancy

11 Inverse Kinematics

12 Inverse Kinematics

13 Inverse Kinematics

14 What is Inverse Kinematics?
Forward Kinematics End Effector ? Base

15 What is Inverse Kinematics?
End Effector Base

16 Inverse Kinematics (IK)
Analytical Solutions Iterative Methods (optimization-based methods) Incremental Constructions (matrix inversion techniques) Textbook

17 Inverse Kinematics (IK)
Analytical Solutions Iterative Methods (optimization-based methods) Incremental Constructions (matrix inversion techniques)

18 Analytical Solutions

19

20

21 What does looks like? ? Base End Effector

22 Solution to Our example Number of equations : 2 Unknown variables : 3
Infinite number of solutions !

23 Redundancy System DOF > End Effector DOF Our example System DOF = 3

24 Redundancy A redundant system has infinite number of solutions
Human skeleton has 70 DOF Ultra-super redundant How to solve highly redundant system?

25 Inverse Kinematics (IK)
Analytical Solutions Iterative Methods (optimization-based methods) Incremental Constructions (matrix inversion techniques)

26 Iterative Methods for Complex IK
Analytical solutions for IK problems are desirable because of their speed and exactness of solution. However, for complex kinematic problems, an analytical solution may not be possible. Simply adding another joint to the system greatly increases the complexity. A more general solution  Iterative Methods

27 Iterative Methods for Complex IK
In an iterative solution, small adjustments are made to the joints to solve the inverse kinematics in a series of steps. This process is finished when the end effector reaches the goal within some tolerance.

28 Matrix Inversion or Optimization?
The robotics community has established methods for solving the IK of an arbitrary system. Matrix inversion techniques: Complicated process Computationally very expensive Various problems due to numerical instabilities. Optimization-based methods: Avoid matrix inversion completely. Attempt to minimize the error in the system. More likely to produce Real-Time results Optimization-based IK method: Minimize the distance between the goal point and the end effector of the chain. How? by adjusting the joint angles  CCD Method

29 Cyclic-Coordinate Descent (CCD) Method (NOT in textbook)
Wang and Chen. “A Combined Optimization Method for Solving the Inverse Kinematics Problem of Mechanical Manipulators.” IEEE Transactions on Robotics and Automation. Vol. 7, No. 4, August 1991, pp Welman, Chris. Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation. Masters Thesis,Simon Fraser University, 1993.

30 Cyclic-Coordinate Descent (CCD) Method
Minimizing the system error by adjusting each joint angle one at a time. Starts at the last link in the chain and works backwards, adjusting each joint along the way.

31 Cyclic-Coordinate Descent (CCD) Method
Create vector RE R: root of current link E: effector position Create Vector RD D: desired endpoint Angle a, so that RE becomes RD? PS : Common in games  player needs to face the opponent

32 Cyclic-Coordinate Descent (CCD) Method
Direction to rotate about R?

33 Now move one link up the chain and repeat the process, continuing up the chain until the base joint is reached…

34

35 Cyclic-Coordinate Descent (CCD) Method
This process is repeated until either the end effector is close enough to the desired position or the loop has repeated a set number of times. This break count is needed to allow for positions that are not reachable.

36 } while (quit_condition)
do { Move one link up the chain; } while (quit_condition) // QUIT IF I AM CLOSE ENOUGH OR BEEN RUNNING LONG ENOUGH quit_condition = (tries++ < MAX_IK_TRIES && VectorSquaredDistance(&curEnd, &desiredEnd) > IK_POS_THRESH); #define MAX_IK_TRIES // TIMES THROUGH THE CCD LOOP #define IK_POS_THRESH 1.0f // THRESHOLD FOR SUCCESS

37 Improving CCD (1) RESTRICTIONS ON DEGREES OF FREEDOM
In many character hierarchies you may want to impose limits on the degrees of freedom (DOF) of an individual joint. This would keep an individual joint from rotating into a position that is physically impossible for a character to achieve. In some other IK methods, this can be a bit complicated. However, in the CCD method, such restrictions are easy!

38 Improving CCD (1) RESTRICTIONS ON DEGREES OF FREEDOM
Each joint is a single analytical geometry problem  any limits on individual joints are simply figured into the problem. Updating the joint rotation: If (joint is outside the limits) then joint is clamped to those limit angles. The rest of the joints are then used to satisfy the problem during later steps.

39 Improving CCD (2) DAMPING
The CCD method will rotate an individual joint to any angle needed to satisfy the problem at any step. Since the routine starts from the last joint and works in, the method tends to favor later joints. This bias may not always look natural.

40 Improving CCD (2) DAMPING
Further, since each joint can swing wildly at each step, kinks are sometimes present in the resulting chain. By limiting the amount a single joint angle can change at each step, both of these effects can be controlled somewhat. Let’s see the effect both DOF restrictions and damping

41 Inverse Kinematics (IK)
Analytical Solutions Iterative Methods (optimization-based methods) Incremental Constructions (matrix inversion techniques)

42 IK Incremental Constructions
Configurations too complex for analytical solution ? Motion can be incrementally constructed At each time step, compute best way to change each joint angle to match the desired endpoint This computation forms the matrix of partial derivatives (Jacobian)

43 IK Incremental Constructions

44 IK -> Incremental Constructions
w2 d2 End Effector q2 w2 x d2 - Compute instantaneous effect of each joint - Linear approximation to curvilinear motion - Find linear combination to take end effector towards goal position

45 IK -> Incremental Constructions

46 IK -> Incremental Constructions
Solution only valid for an instantaneous step Angular affect is really curved, not straight line Once a step is taken, need to recompute solution

47 IK Incremental Constructions : Mathematics
Unknowns End effector position and orientation Joint angles

48 IK Incremental Constructions : Mathematics
V  vector of linear and rotational velocities and represents the desired change in the end effector Desired change  difference between current position/orientation to that specified by the goal configuration Unknowns (joint angle velocities)

49 IK Incremental Constructions : Mathematics

50 Using the Jacobian

51 IK Incremental Constructions : Example

52 IK Incremental Constructions : Example

53 Conflict Between Multiple Goals
base

54 Conflict Between Goals
base

55 Conflict Between Goals
base

56 Conflict Between Goals
base

57 Conflict Between Goals
base

58 Handling Multiple Goals
Weighted sum of each goal potential function Jacobian-based method Same formulation No weighting

59 Summary


Download ppt "Fundamentals of Computer Animation"

Similar presentations


Ads by Google