inverse kinematics. inverse kinematics (ik) t q1q1 q2q2 q3q3 q4q4 q5q5 given a kinematic chain...
TRANSCRIPT
![Page 1: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/1.jpg)
Inverse Kinematics
![Page 2: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/2.jpg)
Inverse Kinematics (IK)
T
q1
q2 q3
q4q5
Given a kinematic chain (serial linkage),the position/orientation of oneend relative to the other (closed chain), find the values of the joint parameters
rigid groupsof atoms
![Page 3: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/3.jpg)
Why is IK useful for proteins?
Filling gaps in structure determination by X-ray crystallography
![Page 4: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/4.jpg)
Structure DeterminationX-Ray Crystallography
![Page 5: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/5.jpg)
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Å
1Badger (2003) Acta Cryst. D59
Model completion is high-throughput bottleneck
1.0Å 3.0Å
![Page 6: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/6.jpg)
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
Main part of protein (f olded)
Protein f ragment (f uzzy map)
Anchor 1(3 atoms)
Anchor 2(3 atoms)
Main part of protein (f olded)
Protein f ragment (f uzzy map)
Anchor 1(3 atoms)
Anchor 2(3 atoms)
![Page 7: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/7.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
![Page 8: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/8.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest 0.6Å aaRMSD
![Page 9: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/9.jpg)
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
![Page 10: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/10.jpg)
Loop motion in Amylosucrase
17-residue loop that plays important role in protein’s activity
![Page 11: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/11.jpg)
Loop 7 of 1G5A
Conformations obtained by deformation sampling
![Page 12: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/12.jpg)
1K96
![Page 13: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/13.jpg)
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.]
![Page 14: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/14.jpg)
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
![Page 15: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/15.jpg)
Inputs: Closed kinematic chain with n degrees of freedom
Relative positions/orientations X of end frames Target function T(Q) →
Outputs: Conformation(s) that
• Achieve closure• Optimize T
IK Problem
T
![Page 16: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/16.jpg)
Relation to Robotics
![Page 17: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/17.jpg)
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
![Page 18: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/18.jpg)
Forward Kinematics
d1
d2
1
2
(x,y)
x = d1 cos 1 + d2 cos(1+2)y = d1 sin 1 + d2 sin(1+2)
![Page 19: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/19.jpg)
Inverse Kinematics
d1
d2
1
2
(x,y)
2 = cos-1x2 + y2 – d1
2 – d22
2d1d2
-x(d2sin2) + y(d1 + d2cos2)
y(d2sin2) + x(d1 + d2cos2)1 =
![Page 20: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/20.jpg)
Inverse Kinematics
d1
d2
(x,y)
2 = cos-1x2 + y2 – d1
2 – d22
2d1d2
-x(d2sin2) + y(d1 + d2cos2)
y(d2sin2) + x(d1 + d2cos2)1 =
Two solutions
![Page 21: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/21.jpg)
More Complicated Example
d1
d2
1
2
d3
(x,y)
3
Redundant linkage Infinite number of solutions Self-motion space
![Page 22: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/22.jpg)
More Complicated Example
d1
d2
1
2
d3
(x,y)
3
1-D space(self-motionspace)
d3d2
d1(1,2,3)
![Page 23: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/23.jpg)
More Complicated Example
d1
d2
1
2
d3
3
No redundancy Finite number of solutions
(x,y,)
d3d2
d1(1,2,3)
![Page 24: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/24.jpg)
General Results from Kinematics
Number of DOFs of a linkage (dimensionality of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
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: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k
Nlink = 4Njoint = 3NDOF = 3(4-1)-(3-1)3 = 3
Nlink = 4Njoint = 4NDOF = 1
![Page 25: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/25.jpg)
General Results from Kinematics
Number of DOFs of a linkage (dimension of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
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: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k
Nlink = 4Njoint = 3NDOF = 3(4-1)-(3-1)3 = 3
Nlink =Njoint = NDOF =
![Page 26: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/26.jpg)
General Results from Kinematics
Number of DOFs of a linkage (dimension of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
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: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k
Nlink = 4Njoint = 3NDOF = 3(4-1)-(3-1)3 = 3
Nlink = 3Njoint = 3NDOF = 0
![Page 27: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/27.jpg)
General Results from Kinematics
Number of DOFs of a linkage (dimension of velocity space):
NDOF = k(Nlink – 1) – (k–1)Njoint
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: Njoint = Nlink – 1 NDOF = Njoint
- Closed chain: Njoint = Nlink NDOF = Njoint – k5 amino-acids10 - joints10 linksNDOF = 4
![Page 28: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/28.jpg)
General Results from Kinematics
6-joint chain in 3-D space: NDOF=0 At most 16 distinct IK solutions
![Page 29: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/29.jpg)
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:510-528, 2004
![Page 30: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/30.jpg)
Decomposition Method for Randomly Sampling Conformations
of Closed Chains Decompose closed chain into:
• 6 “passive” joints • n-6 “active” joints
![Page 31: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/31.jpg)
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:956-967, 2004
![Page 32: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/32.jpg)
Application of Decomposition Method
Amylosucrase
![Page 33: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/33.jpg)
![Page 34: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/34.jpg)
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
![Page 35: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/35.jpg)
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 distanceL.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:489-498, 1991.
![Page 36: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/36.jpg)
fixed end
moving end
Application of CCD to Proteins
Closure Distance: 2 22
S N N C C C C
Compute and move s.t. 0ii
Sq
q
A.A. Canutescu and R.L. Dunbrack Jr.Cyclic coordinate descent: A robotics algorithm for protein loop closure. Prot. Sci. 12:963–972, 2003.
![Page 37: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/37.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
![Page 38: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/38.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
![Page 39: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/39.jpg)
Advantages of CCD
Simplicity No singularity problem Possibility to constrain each joint independent of all others
But may get stuck at local minima!
![Page 40: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/40.jpg)
CCD with Ramachandran Maps
Ramachandran maps assign probabilities to φ-ψ pairs
φ
ψ
![Page 41: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/41.jpg)
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,Pnew/Pold)
![Page 42: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/42.jpg)
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
![Page 43: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/43.jpg)
Jacobian Matrix Q: n-vector of internal coordinates X: 6-vector defining endpoint’s
position/orientation n ≥ 6 Forward kinematics: X = F(Q) dxi = [∂fi(Q)/∂q1] dq1 +…+ [∂fi(Q)/∂qn]
dqn dX = J dQEfficient 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. 850-856, Sand Francisco, April 2000.
![Page 44: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/44.jpg)
Jacobian Matrix J
∂f1(Q)/∂q1 ∂f1(Q)/∂q2 … ∂f1(Q)/∂qn
∂f2(Q)/∂q1 ∂f2(Q)/∂q2 … ∂f2(Q)/∂qn
……∂f6(Q)/∂q1 ∂f6(Q)/∂q2 … ∂f6(Q)/∂qn
![Page 45: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/45.jpg)
Case where n = 6
J is a square 6x6 matrix. Problem: Given X, find Q such that X= F(Q) Start at any X0 = F(Q0) Method:
1. Interpolate linearly between X0 and X sequence X1, X2, …, Xp = X
2.For i = 1,…,p doa) Qi = Qi-1 + J-1(Qi-1)(Xi-Xi-1)
b) Reset Xi to F(Qi)
![Page 46: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/46.jpg)
Case where n > 6
dX = J dQ J is an 6n matrix. Assume rank(J) = 6. Null space { dQ0 | J dQ0 = 0} has dim = n -
6
![Page 47: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/47.jpg)
Case where n > 6
dX = J dQ J is an 6n matrix. Assume rank(J) = 6 Find J+ (pseudo-inverse) such that JJ+ = I
dQ = J+dX Null space { dQ0 | J dQ0 = 0} has dim = n -
6 dQ = J+dX + dQ0
arbitrarily chosenin null space
![Page 48: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/48.jpg)
Computation of J+
1. SVD decomposition J = U VT where: - U in an 66 square orthonormal matrix- V is an n6 square orthonormal matrix- is of the form diag[i]:
2. J+ = V + UT where +=diag[1/i]
12
6
0
![Page 49: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/49.jpg)
dX U66 VT6n dQ66
=
Getting Null spaceJ
![Page 50: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/50.jpg)
dX U66 VTnn dQ6n
0=
Getting Null spaceJ
Gram-Schmidt orthogonalization
![Page 51: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/51.jpg)
dX U66 VTnn dQ6n
0
(n-6) basis N of null space
=
Getting Null spaceJ
NT
![Page 52: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/52.jpg)
Minimization of Target Function T with Closure
when n > 6Input: Chain with both ends at goal
positions and orientations
Repeat1. Compute Jacobian matrix J at current q2. Compute null-space basis N using SVD of J 3. Compute gradient T(q)4. Move along projection NNTy of y=-T(q) onto
N until minimum is reached or closure is broken New qI. 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)
![Page 53: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/53.jpg)
![Page 54: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/54.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
![Page 55: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/55.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest: 0.6Å aaRMSD
![Page 56: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/56.jpg)
Example: TM0813
GLU-77
GLY-90
PDB: 1J5X, 342 res.2.8Å resolution12 residue gapBest 0.6Å aaRMSD
![Page 57: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/57.jpg)
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
![Page 58: Inverse Kinematics. Inverse Kinematics (IK) T q1q1 q2q2 q3q3 q4q4 q5q5 Given a kinematic chain (serial linkage), the position/orientation of one end relative](https://reader035.vdocuments.us/reader035/viewer/2022062423/56649e8f5503460f94b93bf5/html5/thumbnails/58.jpg)
Multi-Modal Loop
Produced by H. van den Bedem
A323Hist
A316Ser