1 / 51

역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application

역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application. 서울대학교 전기공학부 휴먼애니메이션연구단 최광진 kjchoi@graphics.snu.ac.kr. Content. What is Inverse Kinematics? Redundancy Basic Method NLP-based method Jacobian-based method Issues Resolving Redundancy Multiple Goals

juliana
Télécharger la présentation

역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 역운동학의 구현과 응용Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진 kjchoi@graphics.snu.ac.kr

  2. Content • What is Inverse Kinematics? • Redundancy • Basic Method • NLP-based method • Jacobian-based method • Issues • Resolving Redundancy • Multiple Goals • Application : Motion Retargetting

  3. ? End Effector Base What is Inverse Kinematics? • Forward Kinematics

  4. End Effector Base What is Inverse Kinematics? • Inverse Kinematics

  5. ? End Effector Base What does looks like?

  6. Infinite number of solutions ! Solution to • Our example Number of equation : 2 Unknown variables : 3

  7. Our example • System DOF = 3 • End Effector DOF = 2 Redundancy • System DOF > End Effector DOF

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

  9. Content • What is Inverse Kinematics? • Redundancy • Basic Method • NLP-based method • Jacobian-based method • Issues • Resolving Redundancy • Multiple Goals • Application : Motion Retargetting

  10. What is NLP? • Non Linear Programming • Method to optimize a nonlinear function • Example • Objective function • Constraint • Iterative algorithm

  11. NLP-based Method • Inverse Kinematics problem as non-linear optimization problem • Minimization of Goal Potential Function • Zhao and Badler, 1994, ACMTOG

  12. Goal Potential Function • “Distance” from the end effector to the goal • Function of joint angles : G(q)

  13. Goal distance End Effector Base Our Example

  14. Goal Potential Function Position Goal Orientation Goal Position/Orientation Goal

  15. Our Example • Goal Potential Function

  16. Nonlinear Optimization • Recasted Constrained Optimization Problem

  17. Nonlinear Optimization • Available NLP Packages • LANCELOT • DONLP2 • MATLAB • Etc...

  18. Quiz • Will G(q) be always zero? • No : Unreachable Workspace • Will the solution be always found? • No : Local Minima/Singular Configuration • Will the solution be always unique? • No : Redundancy

  19. Handling Singularity

  20. Singular Configuration • Causes infinite joint velocity • Occurs when any cannot achieve given • Example • Fully stretched limbs

  21. Remedy • For Jacobian-based method • Damped pseudo inverse • Dexterity measure • Clamping • For nonlinear optimization method • Try again with another initial value

  22. Parametric Singularity • Gimbal Lock in Euler angle representation • When a degree of freedom is lost, the gimbals is said to “lock” • Consider a y-roll of 90 degrees which aligns the x and z axis • Remedy : Quaternion

  23. Content • What is Inverse Kinematics? • Redundancy • Basic Method • NLP-based method • Jacobian-based method • Issues • Resolving Redundancy • Multiple Goals • Application : Motion Retargetting

  24. Differential Kinematics • : Jacobian Matrix • Linearly relates end-effector change to joint angle change

  25. Differential Kinematics • Our Example

  26. Differential Kinematics • Is J always invertible? No! • Remedy : Pseudo Inverse

  27. Null space • The null space of J is the set of vectors which have no influence on the constraints • The pseudoinverse provides an operator which projects any vector to the null space of J

  28. Utility of Null Space • The null space can be used to reach secondary goals • Or to find comfortable positions

  29. Null Space

  30. Calculating Pseudo Inverse • Gaussian Elimination • Singular Value Decomposition

  31. How Can We Get From ?

  32. Integrating • Problems • Initial tracking error • Numerical drift • Remedy • Error feedback

  33. Discretization

  34. Open-loop vs. Closed-loop scheme

  35. Content • What is Inverse Kinematics? • Redundancy • Basic Method • NLP-based method • Jacobian-based method • Issues • Resolving Redundancy • Multiple Goals • Application : Motion Retargetting

  36. Redundancy Is Evil • Multiple choices for one goal • What happens if we pick any of them?

  37. Redundancy Is Good • We can exploit redundancy • Additional objective • Minimal Change • Similarity to Given Example • Naturalness

  38. Minimal Change • Pseudo Inverse Solution • Minimal velocity norm solution • Minimal acceleration norm solution • Penalty Term in Goal Potential Function

  39. Similarity to Given Example • Adding homogeneous solution term to the pseudo inverse solution • New Goal Potential Function

  40. Naturalness • Based on observation of natural human posture • Neurophysiological experiments • Example • Pointing task with pen stylus • Linear mapping between shoulder joint and pen stylus in spherical coordinate system • Analytic solution for human arm • endgame.mov

  41. Content • What is Inverse Kinematics? • Redundancy • Basic Method • NLP-based method • Jacobian-based method • Issues • Resolving Redundancy • Multiple Goals • Application : Motion Retargetting

  42. Multiple Goals

  43. Conflict Between Goals ee 2 ee 1 base

  44. Conflict Between Goals Goal 1 ee 2 ee 1 base

  45. Conflict Between Goals Goal 2 ee 2 ee 1 base

  46. Conflict Between Goals Goal 2 Goal 1 ee 2 ee 1 base

  47. Conflict Between Goals Goal 2 Goal 1 ee 2 ee 1 base

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

  49. Content • What is Inverse Kinematics? • Redundancy • Basic Method • NLP-based method • Jacobian-based method • Issues • Resolving Redundancy • Multiple Goals • Application : Motion Retargetting

  50. Summary • Inverse Kinematics • Solver • NLP-based Solver • Jacobian-based Solver • Issues • Resolving Redundancy • Multiple Goals • Motion Retargetting

More Related