Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative.

Slides:



Advertisements
Similar presentations
COMP Robotics: An Introduction
Advertisements

Kinematic Synthesis of Robotic Manipulators from Task Descriptions June 2003 By: Tarek Sobh, Daniel Toundykov.
Inverse Kinematics Professor Nicola Ferrier ME 2246,
Rosetta Energy Function Glenn Butterfoss. Rosetta Energy Function Major Classes: 1. Low resolution: Reduced atom representation Simple energy function.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
A Combined Optimization Method for Solving the Inverse Kinematics Problem of Mechanical Manipulators Roland Mai B659, Spring 2010 Indiana University.
Inverse Kinematics Set goal configuration of end effector
Geometric Algorithms for Conformational Analysis of Long Protein Loops J. Cortess, T. Simeon, M. Remaud- Simeon, V. Tran.
Computing Protein Structures from Electron Density Maps: The Missing Loop Problem I. Lotan, H. van den Bedem, A. Beacon and J.C. Latombe.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
Motion Analysis (contd.) Slides are from RPI Registration Class.
Taking a Numeric Path Idan Szpektor. The Input A partial description of a molecule: The atoms The bonds The bonds lengths and angles Spatial constraints.
“Inverse Kinematics” The Loop Closure Problem in Biology Barak Raveh Dan Halperin Course in Structural Bioinformatics Spring 2006.
Computational Geometry, Algorithmic Robotics, and Molecular Modeling Dan Halperin School of Computer Science Tel Aviv University June 2007.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
IK: Choose these angles!
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Robotics Algorithms for the Study of Protein Structure and Motion Jean-Claude Latombe Computer Science Department Stanford University.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Inverse Kinematics How do I put my hand here? IK: Choose these angles!
CSCE 689: Forward Kinematics and Inverse Kinematics
Robotics Algorithms for the Study of Protein Structure and Motion Based on Itay Lotan’s PhD Jean-Claude Latombe Computer Science Department Stanford University.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
A Kinematic View of Loop Closure EVANGELOS A. COUTSIAS, CHAOK SEOK, MATTHEW P. JACOBSON, KEN A. DILL Presented by Keren Lasker.
Inverse Kinematics Jacobian Matrix Trajectory Planning
1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)
Computing Protein Structures from Electron Density Maps: The Missing Fragment Problem Itay Lotan † Henry van den Bedem* Ashley M. Deacon* Jean-Claude Latombe.
역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Inverse Kinematics for Molecular World Sadia Malik April 18, 2002 CS 395T U.T. Austin.
Definition of an Industrial Robot
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Chap 5 Kinematic Linkages
Inverse Kinematics Kris Hauser
Lecture 2: Introduction to Concepts in Robotics
Inverse Kinematics.
Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.
Robotics Chapter 5 – Path and Trajectory Planning
Computing Missing Loops in Automatically Resolved X-Ray Structures Itay Lotan Henry van den Bedem (SSRL)
Conformational Space.  Conformation of a molecule: specification of the relative positions of all atoms in 3D-space,  Typical parameterizations:  List.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
1 Inverse Kinematics and Protein Loop Closure Presenter: Chittaranjan Tripathy February 21, 2008 Figures are taken from the references unless otherwise.
Derivatives of Backbone Motion Kimberly Noonan, Jack Snoeyink UNC Chapel Hill Computer Science.
Kinematic Redundancy A manipulator may have more DOFs than are necessary to control a desired variable What do you do w/ the extra DOFs? However, even.
1cs426-winter-2008 Notes  Will add references to splines on web page.
ROBOT VISION LABORATORY 김 형 석 Robot Applications-B
Inverse Kinematics for Robotics using Neural Networks. Authors: Sreenivas Tejomurtula., Subhash Kak
Algorithms Exploiting the Chain Structure of Proteins Itay Lotan Computer Science.
Modeling Protein Flexibility with Spatial and Energetic Constraints Yi-Chieh Wu 1, Amarda Shehu 2, Lydia Kavraki 2,3  Provided an approach to generating.
Conformational Space of a Flexible Protein Loop Jean-Claude Latombe Computer Science Department Stanford University (Joint work with Ankur Dhanik 1, Guanfeng.
Ab-initio protein structure prediction ? Chen Keasar BGU Any educational usage of these slides is welcomed. Please acknowledge.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442.
Singularity-Robust Task Priority Redundancy Resolution for Real-time Kinematic Control of Robot Manipulators Stefano Chiaverini.
Fundamentals of Computer Animation
Robotics Chapter 3 – Forward Kinematics
Kinematics 제어시스템 이론 및 실습 조현우
CSCE 441: Computer Graphics Forward/Inverse kinematics
IK: Choose these angles!
Character Animation Forward and Inverse Kinematics
Reduce the need for human intervention in protein model building
Itay Lotan† Henry van den Bedem* Ashley M. Deacon*
Itay Lotan† Henry van den Bedem* Ashley M. Deacon*
Inverse Kinematics, Jacobians
CSCE 441: Computer Graphics Forward/Inverse kinematics
Skeletal Motion, Inverse Kinematics
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Inverse Kinematics

Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative to the other (closed chain), find the values of the joint parameters rigid groups of atoms

Why is IK useful for proteins?  Filling gaps in structure determination by X- ray crystallography

Structure Determination X-Ray Crystallography

Automated Model Building Software systems: RESOLVE, TEXTAL, ARP/wARP, MAID 1.0Å < d < 2.3Å~ 90% completeness 2.3Å ≤ d < 3.0Å~ 67% completeness (varies widely) 1  Manually completing a model: Labor intensive, time consuming Existing tools are highly interactive JCSG: 43% of data sets  2.3Å 1 Badger (2003) Acta Cryst. D59  Model completion is high-throughput bottleneck 1.0Å3.0Å

The Completion Problem  Input: Electron-density map Partial structure Two anchor residues Amino-acid sequence of missing fragment (typically 4 – 15 residues long)  Output: Few candidate conformation(s) of fragment that - Respect the closure constraint (IK) - Maximize match with electron-density map

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best: 0.6Å aaRMSD

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best 0.6Å aaRMSD

Why is IK useful for proteins?  Filling gaps in structure determination by X-ray crystallography  Studying the motion space of “loops” (secondary structure elements connecting  helices and  strands), which often play a key role in: enzyme catalysis, ligand binding (induced fit), protein – protein interactions

Loop motion in Amylosucrase 17-residue loop that plays important role in protein’s activity

Loop 7 of 1G5A Conformations obtained by deformation sampling

1K96

Why is IK useful for proteins?  Filling gaps in structure determination by X-ray crystallography  Studying the motion space of “loops” (secondary structure elements connecting  helices and  strands), which often play a key role in: enzyme catalysis, ligand binding (induced fit), protein – protein interactions  Sampling conformations using homology modeling  Chain tweaking for better prediction of folded state R. [Singh and B. Berger. ChainTweak: Sampling from the Neighbourhood of a Protein Conformation. Proc. Pacific Symposium on Biocomputing, 10:52-63, 2005.]

Generic Problem Definition  Inputs:  Protein structure with missing fragment(s) (typically 4 – 15 residues long, each)  Amino-acid sequence of each missing fragment  Outputs:  Conformation of fragment or distribution of conformations that Respect the closure constraint (IK) Avoid atomic clashes Satisfy other constraints, e.g., maximize match with electron density map, minimize energy function, etc

 Inputs:  Closed kinematic chain with n degrees of freedom  Relative positions/orientations X of end frames  Target function T(Q) → R  Outputs:  Conformation(s) that Achieve closure Optimize T IK Problem T

Relation to Robotics

Some Bibliographical References Robotics/Computer Science Exact IK solvers –Manocha & Canny ’94 –Manocha et al. ’95 Optimization IK solvers –Wang & Chen ’91 Redundant manipulators –Khatib ’87 –Burdick ’89 Motion planning for closed loops –Han & Amato ’00 –Yakey et al. ’01 –Cortes et al. ’02, ’04 Biology/Crystallography Exact IK solvers –Wedemeyer & Scheraga ’99 –Coutsias et al. ’04 Optimization IK solvers –Fine et al. ’86 –Canutescu & Dunbrack Jr. ’03 Ab-initio loop closure –Fiser et al. ’00 –Kolodny et al. ’03 Database search loop closure –Jones & Thirup ’86 –Van Vlijman & Karplus ’97 Semi-automatic tools –Jones & Kjeldgaard ’97 –Oldfield ’01

Forward Kinematics d1d1 d2d2 11 22 (x,y) x = d 1 cos  1 + d 2 cos(  1 +  2 ) y = d 1 sin  1 + d 2 sin(  1 +  2 )

Inverse Kinematics d1d1 d2d2 11 22 (x,y)  2 = cos -1 x 2 + y 2 – d 1 2 – d 2 2 2d 1 d 2 -x(d 2 sin  2 ) + y(d 1 + d 2 cos  2 ) y(d 2 sin  2 ) + x(d 1 + d 2 cos  2 )  1 =

Inverse Kinematics d1d1 d2d2 (x,y)  2 = cos -1 x 2 + y 2 – d 1 2 – d 2 2 2d 1 d 2 -x(d 2 sin  2 ) + y(d 1 + d 2 cos  2 ) y(d 2 sin  2 ) + x(d 1 + d 2 cos  2 )  1 = Two solutions

More Complicated Example d1d1 d2d2 11 22 d3d3 (x,y) 33  Redundant linkage  Infinite number of solutions  Self-motion space

More Complicated Example d1d1 d2d2 11 22 d3d3 (x,y) 33 1-D space (self-motion space) d3d3 d2d2 d1d1 (1,2,3)(1,2,3)

More Complicated Example d1d1 d2d2 11 22 d3d3 33  No redundancy  Finite number of solutions (x,y,  ) d3d3 d2d2 d1d1 (1,2,3)(1,2,3)

General Results from Kinematics  Number of DOFs of a linkage (dimensionality of velocity space): N DOF = k  (N link – 1) – (k–1)  N joint where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).  Examples: - Open chain: N joint = N link – 1  N DOF = N joint - Closed chain: N joint = N link  N DOF = N joint – k N link = 4 N joint = 3 N DOF = 3(4-1)-(3-1)3 = 3 N link = 4 N joint = 4 N DOF = 1

General Results from Kinematics  Number of DOFs of a linkage (dimension of velocity space): N DOF = k  (N link – 1) – (k–1)  N joint where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).  Examples: - Open chain: N joint = N link – 1  N DOF = N joint - Closed chain: N joint = N link  N DOF = N joint – k N link = 4 N joint = 3 N DOF = 3(4-1)-(3-1)3 = 3 N link = N joint = N DOF =

General Results from Kinematics  Number of DOFs of a linkage (dimension of velocity space): N DOF = k  (N link – 1) – (k–1)  N joint where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).  Examples: - Open chain: N joint = N link – 1  N DOF = N joint - Closed chain: N joint = N link  N DOF = N joint – k N link = 4 N joint = 3 N DOF = 3(4-1)-(3-1)3 = 3 N link = 3 N joint = 3 N DOF = 0

General Results from Kinematics  Number of DOFs of a linkage (dimension of velocity space): N DOF = k  (N link – 1) – (k–1)  N joint where k = 3 if the linkage is planar and k = 6 if it is in 3-D space (Grübler formula, 1883).  Examples: - Open chain: N joint = N link – 1  N DOF = N joint - Closed chain: N joint = N link  N DOF = N joint – k 5 amino-acids 10  -  joints 10 links N DOF = 4

General Results from Kinematics 6-joint chain in 3-D space:  N DOF =0  At most 16 distinct IK solutions

IK Methods  Analytical (exact) techniques (only for 6 joints)  Write forward kinematics in the form of polynomial equations (use t = tan(  /2)  Simplify, e.g., using the fact that two consecutive torsional angles  and  have intersecting axes [Coutsias, Seck, Jacobson, Dill, 2004]  Solve E.A. Coutsias, C. Seok, M.P. Jacobson, and K.A. Dill. A Kinematic View of Loop Closure. J. Comp. Chemistry, 25: , 2004

Decomposition Method for Randomly Sampling Conformations of Closed Chains  Decompose closed chain into: 6 “passive” joints n-6 “active” joints

 Decompose closed chain into: 6 “passive” joints n-6 “active” joints  Sample the active joint parameters  Compute the passive joint parameters using exact IK solver Decomposition Method for Randomly Sampling Conformations of Closed Chains J. Cortés, T. Siméon, M. Renaud-Siméon, and V. Tran. Geometric Algorithms for the Conformational Analysis of Long Protein Loops. J. Comp. Chemistry, 25: , 2004

Application of Decomposition Method Amylosucrase

IK Methods  Analytical (exact) techniques (only for 6 joints)  Write forward kinematics in the form of polynomial equations (use t = tan(  /2)  Simplify, e.g., using the fact that two consecutive torsional angles  and  have intersecting axes [Coutsias, Seck, Jacobson, Dill, 2004]  Solve  Iterative (approximate) techniques

CCD (Cyclic Coordinate Descent) Method  Generate random conformation with one end of chain at required position/orientation  Repeat until other end is at required position/orientation or algorithm is stuck at local minimum –Pick one DOF –Change to minimize closure distance L.T. Wang and C.C. Chen. A Combined Optimization Method for Solving the Inverse Kinematics Problem of Mechanical Manipulators. IEEE Tr. On Robotics and Automation, 7: , 1991.

fixed end moving end Application of CCD to Proteins Closure Distance: Compute and move A.A. Canutescu and R.L. Dunbrack Jr. Cyclic coordinate descent: A robotics algorithm for protein loop closure. Prot. Sci. 12:963–972, 2003.

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best: 0.6Å aaRMSD

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best: 0.6Å aaRMSD

Advantages of CCD  Simplicity  No singularity problem  Possibility to constrain each joint independent of all others  But may get stuck at local minima!

CCD with Ramachandran Maps  Ramachandran maps assign probabilities to φ-ψ pairs φ ψ

CCD with Ramachandran Maps  Ramachandran maps assign probabilities to φ-ψ pairs  Change a pair (φ i,ψ i ) at each iteration:  Compute change to φ i  Compute change to ψ i based on change to φ i  Accept with probability min(1,P new /P old )

IK Methods  Analytical (exact) techniques (only for 6 joints)  Write forward kinematics in the form of polynomial equations (use t = tan(  /2)  Simplify, e.g., using the fact that two consecutive torsional angles  and  have intersecting axes [Coutsias, Seck, Jacobson, Dill, 2004]  Solve  Iterative (approximate) techniques

Jacobian Matrix  Q: n-vector of internal coordinates  X: 6-vector defining endpoint’s position/orientation  n ≥ 6  Forward kinematics: X = F(Q)  dx i = [∂f i (Q)/∂ q 1 ] d q 1 +…+ [∂f i (Q)/∂ q n ] d q n  dX = J dQ Efficient algorithm to compute Jacobian: K.S. Chang and O. Khatib. Operational Space Dynamics: Efficient Algorithms for Modeling and Control of Branching Mechanisms. IEEE Int. Conf. on Robotics and Automation (ICRA),pp , Sand Francisco, April 2000.

Jacobian Matrix J ∂f 1 ( Q )/∂ q 1 ∂f 1 ( Q )/∂ q 2 … ∂f 1 ( Q )/∂ q n ∂f 2 ( Q )/∂ q 1 ∂f 2 ( Q )/∂ q 2 … ∂f 2 ( Q )/∂ q n … ∂f 6 ( Q )/∂ q 1 ∂f 6 ( Q )/∂ q 2 … ∂f 6 ( Q )/∂ q n

Case where n = 6  J is a square 6x6 matrix.  Problem: Given X, find Q such that X= F(Q)  Start at any X 0 = F(Q 0 )  Method: 1.Interpolate linearly between X 0 and X  sequence X 1, X 2, …, X p = X 2.For i = 1,…,p do a) Q i = Q i-1 + J -1 (Q i-1 )(X i -X i-1 ) b) Reset Xi to F(Q i )

Case where n > 6  dX = J dQ  J is an 6  n matrix. Assume rank(J) = 6.  Null space { dQ 0 | J dQ 0 = 0} has dim = n - 6

Case where n > 6  dX = J dQ  J is an 6  n matrix. Assume rank(J) = 6  Find J + (pseudo-inverse) such that JJ + = I  dQ = J + dX  Null space { dQ 0 | J dQ 0 = 0} has dim = n - 6  dQ = J + dX + dQ 0 arbitrarily chosen in null space

Computation of J + 1.SVD decomposition  J = U  V T where: - U in an 6  6 square orthonormal matrix - V is an n  6 square orthonormal matrix -  is of the form diag[  i ]: 2.J + = V  + U T where  + =diag[1/  i ] 11 22 66 0

dXU66U66 VT6nVT6n dQ 6666 = Getting Null space J

dXU66U66 VTnnVTnn dQ 6n6n 0 = Getting Null space J Gram-Schmidt orthogonalization

dXU66U66 VTnnVTnn dQ 6n6n 0 (n-6) basis N of null space = Getting Null space J NTNT

Minimization of Target Function T with Closure when n > 6 Input: Chain with both ends at goal positions and orientations Repeat 1.Compute Jacobian matrix J at current q 2.Compute null-space basis N using SVD of J 3.Compute gradient  T(q) 4.Move along projection NN T y of y=-  T(q) onto N until minimum is reached or closure is broken  New q I. Lotan, H. van den Bedem, A.M. Deacon and J.-C Latombe. Computing Protein Structures from Electron Density Maps: The Missing Loop Problem. Proc. 6th Workshop on Algorithmic Foundations of Robotics (WAFR `04)Computing Protein Structures from Electron Density Maps: The Missing Loop Problem.

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best: 0.6Å aaRMSD

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best: 0.6Å aaRMSD

Example: TM0813 GLU-77 GLY-90 PDB: 1J5X, 342 res. 2.8Å resolution 12 residue gap Best 0.6Å aaRMSD

TM1621  Green: manually completed conformation  Cyan: conformation computed by stage 1  Magenta: conformation computed by stage 2  The aaRMSD improved by 2.4Å to 0.31Å Produced by H. van den Bedem

Multi-Modal Loop Produced by H. van den Bedem A323 Hist A316 Ser