Transcript Document

Direct & Inverse
Kinematics
Algorithmic Robotics and Motion
Planning (0368.4010.01)
Instructor: Prof. Dan Halperin
Direct & Inverse Kinematics
1
Overview
Kinematics
Introduction to Protein Structure
A kinematic View of Loop Closure
Direct & Inverse Kinematics
2
Overview
Kinematics
the science of motion that treats the
subject without regard to the forces that
cause it
Introduction to Protein Structure
A kinematic View of Loop Closure
Direct & Inverse Kinematics
3
Direct & inverse kinematics of
manipulators
What are we trying to do ? (direct)
???
Go right
!!!
Direct & Inverse Kinematics
4
Direct & inverse kinematics of
manipulators
What are we trying to do ? (inverse)
???
Take the
ball !!!
Direct & Inverse Kinematics
5
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
Inverse kinematics
Direct & Inverse Kinematics
6
Spatial description and
transformation
We need to be able to describe the
position and the orientation of the robot’s
parts
Suppose there’s a universe coordinate
system to which everything can be
referenced.
Direct & Inverse Kinematics
7
Spatial description and
transformation
 We need to be able to describe the position and
the orientation of the robot’s parts (relative to U)
U
universe
coordinate
system
What’s its position
(“reference point”) ?
What’s its orientation ?
Direct & Inverse Kinematics
8
Direct & Inverse Kinematics
Spatial description and transformation
• Spatial description
• Transformations
• Presentation of orientation
Direct kinematics
Inverse kinematics
Direct & Inverse Kinematics
9
Positions, orientations and
frames
 The position of a point p relative to a coordinate
system A (Ap):
 px 
 
A
p   py 
p 
 z
A
p
ZA
YA
XA
Direct & Inverse Kinematics
10
Positions, orientations and
frames
 The orientation of a body is described by a
coordinate system B attached to the body,
relative to A (a known coordinate system).
ZA
ZB
YA
XB
XA
YB
Direct & Inverse Kinematics
11
Positions, orientations and
frames
 The orientation of a body is described by a
coordinate system B attached to the body,
relative to A (a known coordinate system).
A
B
A
A
A

R   XB
YB
Z B 
 X B  X A YB  X A Z B  X A 


  X B  YA YB  YA Z B  YA 
 X B  Z A YB  Z A Z B  Z A 
cosinus of the angle
Direct & Inverse Kinematics
12
Positions, orientations and
frames
 A frame is a set of 4 vectors giving the position
and orientation.
 Example: frame B
B  
A
B
A
R, PBorg

ZB
A
PBorg
ZA
XB
YB
YA
XA
Direct & Inverse Kinematics
13
Positions, orientations and
frames
 Remember the robot’s part:
ZB
A
PBorg
ZA
XB
YA
XA
position
Direct & Inverse Kinematics
YB
orientation
14
Direct & Inverse Kinematics
Spatial description and transformation
• Spatial description
• Transformations
• Presentation of orientation
Direct kinematics
Inverse kinematics
Direct & Inverse Kinematics
15
Mapping
Until now, we say how to describe
positions, orientations and frames.
We need to be able to change descriptions
from one frame to another: mapping.
Mappings:
– translated frames
– rotated frames
– general frames
Direct & Inverse Kinematics
16
Mappings involving translated
frames
 Expressing a point Bp in terms of frame {A},
when {A} has the same orientation as {B}:
A
p  p  pBorg
B
A
B
A
p
ZB
p
A
pBorg
ZA
YA
YB
XB
XA
Direct & Inverse Kinematics
17
Mappings involving rotated
frames
 Expressing a vector Bp in terms of frame {A},
when the origins of frames {A} and {B} are
coincident:
B
ZA
ZB
p
YA
XB
XA
YB
Direct & Inverse Kinematics
18
Mappings involving rotated
frames
 Ap‘s components are Bp’s projections onto the
unit directions of {A}.
 Remember the rotation matrix BA R :
it’s columns are the unit vectors of {B}
expressed in {A}.
 Thus:
A
P R P
A
B
B
Direct & Inverse Kinematics
19
Mappings involving rotated
frames: example
 Given:frame {B} is rotated relative to frame
{A} about Z by 30 degrees, and BP.
Calc: AP
YA
ZA =ZB
YB
B
p
XA
XB
Direct & Inverse Kinematics
20
Mappings involving rotated
frames: example
 Sol:
 X B  X A YB  X A
 X Y
A
R

B
 B A YB  YA
 X B  Z A YB  Z A
 cos 30 cos120

 cos 60 cos 30
 0
0

ZB  X A 
Z B  YA 
Z B  Z A 
0

0
1 
exact
computation
!?
And :
A
P  BA R B P !
Direct & Inverse Kinematics
21
Mappings involving general
frames
 {A} and {B} has different origins and orientations.
 Vector offset between origins: ApBorg
A
 {B} is rotated in respect to {A}: B
R
A
ZB
p
B
p
A
pBorg
ZA
XB
YB
YA
XA
Direct & Inverse Kinematics
22
Mappings involving general
frames
 First, describe Bp relative to a frame that has the
same orientation of {A}, but whose origin
coincides with the origin of {B}
 Then add ApBorg for the translation
 Thus:
A
P  R P  PBorg
A
B
B
A
A
ZB
p
B
p
A
pBorg
ZA
XB
YB
YA
XA
Direct & Inverse Kinematics
23
Mappings involving general
frames
“Homogeneous transform”:
 A P   BA R


 1  0 0 0
A
A
B

P B T P
A
B


PBorg
P


1  1 
A “transform” specifies a frame.
Direct & Inverse Kinematics
24
Multiplication of transforms
 Given Cp. We want to find Ap.
ZC
C
p
A
p
ZB
YC
XC
ZA
XB
YB
YA
XA
Direct & Inverse Kinematics
25
Compound transforms
 Given Cp. We want to find Ap.
 Frame {C} is known relative to frame {B}, and
frame {B} is known relative to frame {A}.
 B P CB T C P and A P  BA T B P

T T T
A
C
A
B
B
C
 BA RCB R

0 0 0
A
B
R B PCorg  A PBorg 

1

Direct & Inverse Kinematics
26
Inverting a transform
 Frame {B} is known relative to frame {A}
 We want the description “frame {A} relative to
frame {B}”
 Straightforward way: compute the inverse
matrix (of a 4x4 matrix)
Direct & Inverse Kinematics
27
Inverting a transform
 Frame {B} is known relative to frame {A}
 We want the description “frame {A} relative to
frame {B}”
 Better way:
– Compute AB R (AB R T )
– Compute APBorg:
0  B ( A PBorg ) BA R A PBorg  B PAorg

B
PAorg   BA R A PBorg  BA RT A PBorg
Direct & Inverse Kinematics
28
Inverting a transform
 Frame {B} is known relative to frame {A}
 We want the description “frame {A} relative to
frame {B}”
 Better way:

A
T
A
T A

R

R
PBorg 
B
B
B

AT  
1
0 0 0

Direct & Inverse Kinematics
29
Transformations: example
Direct & Inverse Kinematics
30
Direct & Inverse Kinematics
Spatial description and transformation
• Spatial description
• Transformations
• Presentation of orientation
Direct kinematics
Inverse kinematics
Direct & Inverse Kinematics
31
Presentation of Orientation
 Rotation matrices are useful as operator.
 Still, it’s “unnatural” to have to give elements of
a matrix with orthonormal columns as input.
 There are several presentations which make
that input process easier:
–
–
–
–
Fixed angles
Euler angles
Euler parameters
Quaternions
Direct & Inverse Kinematics
32
Fixed angles
 X-Y-Z fixed angles
– Start with 2 frames: a fixed reference frame {A} and
a coinciding frame {B}
– First rotate {B} by γ about XA, then by β about YA
and finally by α about ZA.
– The equivalent rotation matrix is:
0 
c  s 0  c 0 s  1 0

A
c 0   0
1 0  0 c  s 
B RXYZ ( ,  ,  )   s
 0
0 1    s 0 c  0 s c 
c c c s s  s c c s c  s s 
  s c s s s  c c s s c  c s 
  s

c s
c c
Direct & Inverse Kinematics
33
Euler angles
 Z-Y-X Euler angles
– Start with 2 frames: a moving reference (Euler
angles) frame {B} and a coinciding fixed frame {A}
– First rotate {B} by α about ZB, then by β about YB
and finally by γ about XB.
– The equivalent rotation matrix is:
c  s 0  c 0

A
c 0   0
1
B RZ 'Y ' X ' ( ,  ,  )   s
The final result
 0
0 1    s 0
is the same as
c c c s s  s c
X-Y-Z fixed
  s c s s s  c c
angles!!!
  s
c s
Direct & Inverse Kinematics
s   1 0
0 
0  0 c  s 
c  0 s c 
c s c  s s 
s s c  c s 

c c
34
Fixed & Euler angles
 In general:
3 rotations taken about fixed axes (fixed
angles) yield the same final orientation as the
same 3 rotations taken in opposite order about
the axes of the moving frame (Euler angles).
 There are other angle-set conventions: Z-Y-Z,
etc. (both for fixed and moving reference
frames).
Direct & Inverse Kinematics
35
Euler parameters
 Given an equivalent axis K=[KX KY KZ]T (a unit
vector we want to rotate about) and an angle θ,
the Euler parameters are defined as:



2
2
2
1  k X sin ,  2  kY sin ,  3  k Z sin ,
 4  cos

2
 The rotation matrix Rε is:
 1  2 22  2 32 2(1 2   3 4 ) 2(1 3   2 4 ) 


2
2
R   2(1 2   3 4 ) 1  21  2 3 2( 2 3  1 4 ) 
 2(1 3   2 4 ) 2( 2 3  1 4 ) 1  212  2 22 


Direct & Inverse Kinematics
36
Quaternions
 Definition: a generalization of complex
numbers, obtained by adding the elements i, j,
and k to the real numbers, where i, j, and k
satisfy: i2=j2=k2=ijk=-1.
 a+bi+cj+dk, with a,b,c and d real numbers
 Quaternion’s conjugate: a-bi-cj-dk
 Quaternions are associative, distributive and not
commutative.
 Another representation: a+vector(b,c,d)
Direct & Inverse Kinematics
37
Quaternions
 A rotation about the unit vector K=[KX KY KZ]T
by an angle θ, can be computed using the


quaternion: q  (cos , K sin )
2
2
 p’, the rotation of point p(0,pX,pY,pZ), is given
by: p '  qpq
 Rotations may be contatenated:
q2 (q1 pq1 )q2  (q2q1 ) p(q1 q2 )  (q2q1 ) pq2q1
 q’s elements are the same as the Euler
parameters!
Direct & Inverse Kinematics
38
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
–
–
–
–
–
Link description
Link-connection description
Affixing frames to links
Manipulator kinematics
Example
Inverse kinematics
Direct & Inverse Kinematics
39
Link Description
Think of the manipulator as a chain of
bodies (links) connected by joints.
We will consider manipulators constructed
with joints of 1 degree of freedom (DOF):
revolute and prismatic joints.
The links are numbered from 0 (immobile
base) to n (free end of the arm).
Direct & Inverse Kinematics
40
Link Description
Direct & Inverse Kinematics
41
Link Description
Direct & Inverse Kinematics
42
Link Description
Joint axis i: the line about which link i
rotates relative to link i-1
link i-1 can be specified by 2 numbers:
link length ai-1 and link twist αi-1
Link length and twist are sufficient to
define the relation between any 2 axes in
space
Direct & Inverse Kinematics
43
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
–
–
–
–
–
Link description
Link-connection description
Affixing frames to links
Manipulator kinematics
Example
Inverse kinematics
Direct & Inverse Kinematics
44
Link-connection description
 Neighboring links have a common axis
 2 parameters define the link-connection:
– Link offset di: the distance along the common axis
from one link to the next
– Joint angle θi: amount of rotation about the common
axis
 The link offset di is variable if joint i is
prismatic
 The joint angle θi is variable if the joint is
revolute
Direct & Inverse Kinematics
45
Link-connection description
Direct & Inverse Kinematics
46
Link-connection description
variable
offset di
variable
angle θi
Direct & Inverse Kinematics
47
First and last link in the chain
The link length ai, and the link twist αi
depend on the joint axis i and i+1.
Convention:
a0=an=0 and α0=αn=0
Similar for the link offset di and the joint
angle θi :
if joint 1 is revolute, then d1=0.
if joint 1 is prismatic, then θ1=0.
Direct & Inverse Kinematics
48
Denavit-Hartenberg notation
Any robot can be described kinematically
by 4 quantities for each link:
– 2 for the link
– 2 to describe the link’s connection
For revolute joints, θi is called the joint
variable (the other 3 quantities are fixed).
For prismatic joints, di is the joint variable
(the other 3 quantities are fixed).
Direct & Inverse Kinematics
49
Denavit-Hartenberg notation
The definition of mechanics by means of
these quantities is called the DenavitHartenberg notation.
Direct & Inverse Kinematics
50
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
–
–
–
–
–
Link description
Link-connection description
Affixing frames to links
Manipulator kinematics
Example
Inverse kinematics
Direct & Inverse Kinematics
51
Affixing frames to links
We define a frame attached to each link:
frame {i} is attached rigidly to link {i}
Convention:
– the origin is located where the “link length
line” ai intersects the joint axis
– the Z axis is coincident with the joint axis
– the X axis points along ai, to the direction
from joint i to joint i+1
– The Y axis is formed by the right-hand rule
Direct & Inverse Kinematics
52
Affixing frames to links
Direct & Inverse Kinematics
53
First and last link in the chain
Frame {0} is the immobile base (link 0) of
the robot. Thus a0=0 and α0=0.
If joint 1 is revolute, then d1=0.
If joint 1 is prismatic, then θ1=0.
If joint n is revolute, then Xn’s direction is
the same as Xn-1’s (θ1=0), and {n}’s origin
is the intersection of Xn-1 and axis n when
dn=0.
Direct & Inverse Kinematics
54
Example
i
αi-1 ai-1
di
θi
1
0
0
0
θ1
2
0
L1
0
θ2
3
0
L2
0
θ3
Direct & Inverse Kinematics
55
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
–
–
–
–
–
Link description
Link-connection description
Affixing frames to links
Manipulator kinematics
Example
Inverse kinematics
Direct & Inverse Kinematics
56
Manipulator kinematics
We want to construct the transform that
defines frame {i} relative to frame {i-1}, as
a function of the four link parameters
Each transform will be a function of only
1 joint variable
Each link has his frame, thus the
kinematics problem has been broken into
n subproblems ii 1T
Direct & Inverse Kinematics
57
Manipulator kinematics
Direct & Inverse Kinematics
58
Manipulator kinematics
Each transform can be written as a
combination of a translation and a rotation
 The single transformation that relates
frame {n} to frame {0}:
0
n
T T T
0
1
1
2
n 1
n
T
Direct & Inverse Kinematics
59
Manipulator kinematics
General form:
cos i

sin  cos 
i
i 1
i 1

T

i
 sin i sin  i 1

0

 sin i
cos i cos  i 1
cos i sin  i 1
0
Direct & Inverse Kinematics
0
 sin  i 1
cos  i 1
0
ai 1

 sin  i 1di 
cos  i 1di 

1

60
Frames with standard names
Direct & Inverse Kinematics
61
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
–
–
–
–
–
Link description
Link-connection description
Affixing frames to links
Manipulator kinematics
Example
Inverse kinematics
Direct & Inverse Kinematics
62
Example: PUMA 560
PUMA 560 is a 6 DOFs industrial robot
with all rotational joints (6R mechanism)
Direct & Inverse Kinematics
63
Example: PUMA 560
PUMA 560 is a 6 DOFs industrial robot
with all rotational joints (6R mechanism)
Direct & Inverse Kinematics
64
Example: PUMA 560
Frame {0} and Frame {1} coincides when
θ1=0.
 The joint axes Z4, Z5 and Z6 (wrist’s joints)
intersect at a common point.
 Z4, Z5 and Z6 are mutually orthogonal.
Direct & Inverse Kinematics
65
Example: PUMA 560
Frames and link parameters:
Direct & Inverse Kinematics
66
Example: PUMA 560
Frames and link parameters:
Direct & Inverse Kinematics
67
Example: PUMA 560
Frames and link parameters:
αi-1 ai-1
di
θi
0
0
θ1
-90º 0
0
θ2
a2
d3
θ3
4
-90º a3
d4
θ4
5
90º 0
0
θ5
6
-90º 0
0
θ6
1
2
3
0
0
Direct & Inverse Kinematics
68
Example: PUMA 560
 Link transformations:
 c1  s1 0 0 


s

c

0
0
1
0
 1

1T 
 0
0
1 0


0
0
0
1


 c 2  s 2 0 0 


0
0
1
0
1


2T 
  s 2 c 2 0 0 


0
0
0
1


 c3  s3 0 a2 


s

c

0
0
3
3
2


3T 
 0
0
1 d3 


0
0
0
1


 c 4

3
 0
T

4
  s 4

 0
 c5

4
 0
T

5
 s5

 0
 c 6

5
 0
T

6
  s 6

 0
Direct & Inverse Kinematics
 s 4
0 a3 

0
1 d4 
c 4 0 0 

0
0 1
 s5 0 0 

0
1 0 
c5
0 0

0
0 1
 s 6 0 0 

0
1 0
c 6 0 0 

0
0 1
69
Example: PUMA 560
 The kinematics equations of the PUMA 560:
0
6
T 10 T 12 T 32 T 34 T 54 T 56 T
 r11 r12 r13

r r r
  21 22 23
 r31 r32 r33

0 0 0
With :
pX 

pY 
pZ 

1 
r11  c1[c23 (c5c6  s4 s5 )  s23 s5c5 ]  s1 ( s4c5c6  c4 s6 ),
r21  s1[c23 (c4c5c6  s4 s6 )  s23 s5c6 ]  c1 ( s4c5c6  c4 s6 ),
r31   s23 (c4c5c6  s4 s6 )  s23 s5c6 ,
r12  c1[c23 (c4 c5c6  s4 c6 )  s23 s5c6 ]  s1 (c4c6  s4c5 s6 ),
r22  s1[c23 (c4 c5 s6  s4 c6 )  s23 s5 s6 ]  c1 (c4c6  s4c5 s6 ),
r32   s23 (c4 c5 s6  s4 c6 )  c23 s5 s6 ,
p X  c1[a2c2  a3c23  d 4 s23 ]  d3 s1 , r13  c1 (c23c4 s5  s23c5 )  s1s4 s5 ,
pY  s1[a2c2  a3c23  d 4 s23 ]  d3c1 , r23   s1 (c23c4 s5  s23c5 )  c1s4 s5 ,
pZ  a3 s23  a2 s2  d 4c23 ,
r33  s23c4 s5  s23c5 .
Direct & Inverse Kinematics
70
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
Inverse kinematics
– About the problem
– Method of solution
– Example
Direct & Inverse Kinematics
71
About the problem
We now want to compute the set of joint
variables, given the desired position and
orientation of the tool relative to the
station.
The problem is non-linear:
given 0
, find the values of θ1,…,θn .
nT
These equations can be non-linear,
transcendental.
Direct & Inverse Kinematics
72
About the problem
Consider the PUMA 560:
– Given the matrice 0
, solve PUMA 560’s
6T
kinematics equations for the joint angles θ1
through θ6.
– We get 3 independent equations from the
rotation-matrix part of 0
6 Tand 3 equations
from the position-vector part of 0
6 T.
– Thus: 6 nonlinear, transcendental equations
and 6 unknowns, and this for a “very simple”
6 DOFs manipulator!
Direct & Inverse Kinematics
73
About the problem
We must ask the following questions:
– Is there a solution?
– Are there several solutions?
– How to solve the problem?
Direct & Inverse Kinematics
74
Workspace
If the goal (desired position and
orientation) is in the reachable
workspace, then there’s at least 1 solution.
The reachable workspace is dependent on
the manipulator.
There might be several solutions.
We won’t cover the following
considerations:
obstacles, limits on joint ranges,...
Direct & Inverse Kinematics
75
Multiple solutions
Direct & Inverse Kinematics
76
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
Inverse kinematics
– About the problem
– Method of solution
– Example
Direct & Inverse Kinematics
77
Method of solution
There’s no general algorithm
Consider a manipulator as “solvable” if it
is possible to calculate all the solutions.
Manipulator solution strategies might be
split into 2 classes: closed-form and
numerical solutions (numerical solutions
won’t be covered – generally slower
because of their iterative nature).
Direct & Inverse Kinematics
78
Method of solution
closed-form solutions methods are
solutions methods based on analytic
expressions or on the solution of a
polynomial of degree 4 or less.
There’s a general numerical solution for
which all “6 DOFs in a single chain”
system with revolute and prismatic joints
are solvable!
Only on special cases can they be solved
analytically.
Direct & Inverse Kinematics
79
Method of solution
There are several closed-form solution
strategies. We’ll discuss the following 2:
– Algebraic solution by reduction to
polynomial
– Pieper’s criteria
We’ll also discuss a heuristically solution
strategy:
– Cyclic Coordinate Descent (CCD)
Direct & Inverse Kinematics
80
Algebraic solution by
reduction to polynomial
Substitution:
u  tan
cos 

2
1 u2
2u

,
sin


1 u2
1 u2
Advantage:
– the substitution yields an expression in terms
of variable ui instead of sin θi and cos θi.
Once the solutions for ui are found,
θi=2tan-1(solutions-of-ui).
Direct & Inverse Kinematics
81
Pieper’s criteria
There’s a closed-form solution for 6
DOFs manipulators (with prismatic
and/or revolute joints configurations) in
which 3 consecutive axes intersect in 1
point.
Almost every 6 DOFs manipulator built
today respect Pieper’s criteria.
For ex: PUMA 560’s joint axes 4, 5 and 6.
Direct & Inverse Kinematics
82
Cyclic Coordinate Descent
Algorithm:
– adjusting one DOF at a time (iterative) to
minimize tool’s distance to the goal
– starts at the last link and works backwards,
adjusting each joint along the way
– repeat the whole set until “satisfied” or
maximum nr. of sets reached
Each step results in one equation with one
unknown for each degree.
Direct & Inverse Kinematics
83
Cyclic Coordinate Descent
Adjusting one link at the time
Tool’s current
position
minimize
Joint to
move
Goal’s
position
Direct & Inverse Kinematics
84
Cyclic Coordinate Descent
Adjusting one link at the time
Direct & Inverse Kinematics
85
Cyclic Coordinate Descent
starts at the last link, adjusting each joint
along the way
repeat until “satisfied”
Direct & Inverse Kinematics
86
Cyclic Coordinate Descent
Advantages:
–
–
–
–
–
Allow constraints to be placed (at each step)
Free of singularities
Degree independent
Computationally inexpensive (fast)
Simple to implement
Disadvantage:
– Might not find a solution
Direct & Inverse Kinematics
87
Direct & Inverse Kinematics
Spatial description and transformation
Direct kinematics
Inverse kinematics
– About the problem
– Method of solution
– Example
Direct & Inverse Kinematics
88
Example: PUMA 560
 We know the links transformations in θi (1≤i≤6).
 c1  s1 0 0 


s

c

0
0
1
0
 1

1T 
 0
0
1 0


0
0
0
1


 c 2  s 2 0 0 


0
0
1
0
1


2T 
  s 2 c 2 0 0 


0
0
0
1


 c3  s3 0 a2 


s

c

0
0
3
3
2


3T 
 0
0
1 d3 


0
0
0
1


 c 4

3
 0
T

4
  s 4

 0
 c5

4
 0
T

5
 s5

 0
 c 6

5
 0
T

6
  s 6

 0
Direct & Inverse Kinematics
 s 4
0 a3 

0
1 d4 
c 4 0 0 

0
0 1
 s5 0 0 

0
1 0 
c5
0 0

0
0 1
 s 6 0 0 

0
1 0
c 6 0 0 

0
0 1
89
Example: PUMA 560
 We know the links transformations in θi (1≤i≤6).
 Thus, we know the transformation from {k} to
{l} in θi (1≤k,l≤6 and k≤i≤l w.l.o.g.).
k
l
T
l
k
T ll 1 T 1
k
k 1
T
l 1
l
T and
T 1
k
k 1
Direct & Inverse Kinematics
90
Example: PUMA 560
 We know the links transformations in θi (1≤i≤6).
 Thus, we know the transformation from {k} to
{l} in θi (1≤k,l≤6 and k≤i≤l w.l.o.g.).
 We wish to solve:
 r11 r12 r13 p X 


r
r
r
p
Y 
0
 21 22 23
T

6
 r31 r32 r33 pZ 


1 
0 0 0
10 T (1 ) 12 T ( 2 ) 32 T (3 ) 34 T ( 4 ) 54 T (5 ) 65 T (6 )
Direct & Inverse Kinematics
91
Example: PUMA 560
 We’ll search for a solvable equation iteratively:
– multiply each side of the transform equation by an
inverse to separate a variable
– Search for a solvable equations
0
6
T 10 T (1 ) 12 T ( 2 ) 32 T (3 ) 34 T ( 4 ) 54 T (5 ) 56 T (6 )
10 T (1 ) 1 06 T 12 T ( 2 ) 32 T (3 ) 34 T ( 4 ) 54 T (5 ) 56 T (6 )
 c1 s1

 s1 c1


 0 0

 0 0
0 0  r11 r12

0 0  r21 r22
1 0  r31 r32

0 1  0 0
r13
r23
r33
0
Direct & Inverse Kinematics
pX 

pY  1
6 T
pZ 

1 
92
Example: PUMA 560
 After calculating the right side, it can been seen
there’s a solvable solution:
 c1 s1 0 0  r11 r12 r13 p X 



  s1 c1 0 0  r21 r22 r23 pY  1 T
 0 0 1 0  r31 r32 r33 pZ  6



1 
 0 0 0 1  0 0 0
 And we get: -sin θ1 pX + cos θ1 pY = d3 .
 a cosθi + b sin θi = c return 2 solutions:
i  arctan 2(b, a)  arctan 2( a 2  b 2  c 2 , c)
Direct & Inverse Kinematics
93
Example: PUMA 560
 2 solutions were found for θ1. For each one of
them, we’ll continue to search for solvable
equations…
 c1 s1 0 0  r11 r12 r13 p X 



  s1 c1 0 0  r21 r22 r23 pY  1 T
 0 0 1 0  r31 r32 r33 pZ  6



1 
 0 0 0 1  0 0 0
Direct & Inverse Kinematics
94
Overview
Kinematics
Introduction to Protein Structure
A kinematic View of Loop Closure
Direct & Inverse Kinematics
95
Overview
Kinematics
Introduction to Protein Structure
What do proteins look like and why is it
important?
A kinematic View of Loop Closure
Direct & Inverse Kinematics
96
Proteins & Polypeptides
Amino Acids
Polypeptides
Proteins
Direct & Inverse Kinematics
97
Where are they?
Proteins are very important molecules to
all forms of life.
They are one of the four basic building
blocks of life:
–
–
–
–
carbohydrates (sugars)
lipids (fats)
nucleic acids (DNA and RNA)
proteins
Direct & Inverse Kinematics
98
Where are they?
 They serve all kinds of functions:
–
–
–
–
–
–
part of structural elements in a cell (small
scale)
part of the fibers that make up your muscles
(larger scale)
Enzymes
Antibodies
Hormones
...
Direct & Inverse Kinematics
99
What are they?
Proteins are made up of a chain of amino
acids linked together (peptide bonds).
They may be seen as a chain (the
backbone) with a lot of side chains (the
residues).
There are 20 of those proteins' building
blocks (amino acids)
What differs the amino acids is their
residue.
Direct & Inverse Kinematics
100
Polypeptides and Proteins
Definition:
A polypeptide is a compound containing
amino acid residues joined by peptide
bonds. A protein may consist of one or
more specific polypeptide chains, which
generally undergo further structural
configurations in the course of becoming
functional proteins.
Direct & Inverse Kinematics
101
Polypeptides and Proteins
Direct & Inverse Kinematics
102
Structure
Proteins have 4 increasingly complex
levels of structure:
– Primary: sequence of the amino acids
– Secondary: common folding patterns seen in
proteins, like the alpha helix or the beta sheet
– Tertiary: three-dimensional structure of a
single folded amino acid chain
– Quaternary: the complete protein with all of
the subunits together (only in proteins made
up of more than one polypeptide chain)
Direct & Inverse Kinematics
103
Structure
Direct & Inverse Kinematics
104
3D structure's importance
Example of the importance of the structure:
Boiling an egg causes all the proteins it
contains, the "white" of the egg, to change
shape and hardens (solid). It still has the
same primary structure as the original
protein, but the tertiary structure (three
dimensional shape) has been lost, and so
have all the critical properties of the
original protein!
Direct & Inverse Kinematics
105
Structure's importance
Proteins can have very complex shapes, and
the final form of the protein is essential to its
intended function
The process of changing the shape of a
protein so that the function is lost is called
denaturation.
Direct & Inverse Kinematics
106
Structure-based problems
Docking: predicting whether (and how)
one molecule will bind to another
Folding: the process by which the chain of
amino acids is modified to reach its final
form.
Loop Closure (see next)
Direct & Inverse Kinematics
107
Geometric Properties
Simplified (fixed bond lengths and angles)
Planarity of the Peptide Bond:
A polypeptide chain (backbone) may be
considered as a series of planes (peptide
units) with two angles of rotation between
each plane.
Direct & Inverse Kinematics
108
Geometric Properties
Each peptide bond adds 2 DOFs,
Direct & Inverse Kinematics
109
Geometric Properties
Each peptide bond adds 2 DOFs,
and the residues too add some DOFs.
Direct & Inverse Kinematics
110
A Kinematic View of Loop
Closure
Evangelos A. Coutsias,
Chaok Seok,
Matthew P. Jacobson,
Ken A. Dill
Direct & Inverse Kinematics
111
Overview
Kinematics
Introduction to Protein Structure
A kinematic View of Loop Closure
Direct & Inverse Kinematics
112
Overview
Kinematics
Introduction to Protein Structure
A kinematic View of Loop Closure
redefining the loop closure problem as a
“inverse kinematics” problem
Direct & Inverse Kinematics
113
Loop Closure
The loop closure problem
Tripeptide loop closure
Generalizations of the method
Direct & Inverse Kinematics
114
The loop closure problem
Definition:
finding the ensemble of possible backbone
structures of a chain segment of a protein
molecule that is geometrically consistent
with preceding and following part of the
chain whose structures are given
Direct & Inverse Kinematics
115
The loop closure problem
missing
So that it is geometrically
consistent
with the
find
given
possible
a chainbackbone
segment
preceding and followingofparts
of the chain
structure
the protein
Direct & Inverse Kinematics
116
The loop closure problem
In his simplest form:
given a molecular chain with inflexible
bond length ad bond angles, find all
possible arrangements with the property
that all bond vectors are fixed in space
except for a contiguous set and such that
the changes are made in at most six
intervening dihedral angles.
Direct & Inverse Kinematics
117
The loop closure problem
In his simplest form:
Protein
find
inflexible
bond
all possible
with
bondinflexible
angles
angles length
Direct & Inverse Kinematics
118
Loop Closure
The loop closure problem
Tripeptide loop closure
Generalizations of the method
Direct & Inverse Kinematics
119
Tripeptide loop closure
The six-torsion loop closure problem in
simplified representation:
variables: τi (i=1,2,3)
constraints: θi (i=1,2,3)
τ1
θ2
θ1
τ2
θ3
τ3
Direct & Inverse Kinematics
fixed in space
120
Tripeptide loop closure
The six-torsion loop closure problem in
simplified representation.
But there are only 3 rotation angles τi ?
σi=τi+δi
Direct & Inverse Kinematics
121
Affixing frames
Direct & Inverse Kinematics
122
Affixing frames
τi angle is the rotation angle of riτ about Zi
Direct & Inverse Kinematics
123
Affixing frames
σi angle is the rotation angle of ri σ about
Zi
Direct & Inverse Kinematics
124
Constraints
We’ve defined the frames so that they’ll
be “easy to use”:
– τi is defined by riτ
– σi is defined by ri σ
The θi angle constraints can be expressed
in terms of riτ and ri σ:
riτ . ri σ = cos θi
Direct & Inverse Kinematics
125
Constraints
riτ . ri σ = cos θi
θi
Direct & Inverse Kinematics
126
Constraints
τi angle is the rotation angle of riτ about Zi
Xi sin ηi
Zi cos ηi
Direct & Inverse Kinematics
127
Constraints
 sin i

ri  RZ  i    0
 cos 
i

 sin  i
 cos  i

cos  i
 sin  i

0
 0
 sin i cos  i 


  sin i sin  i 


cos

i







0   sin i

0

  0
 cos 
 
1
i
Direct & Inverse Kinematics





128
Constraints
Same for σi angle: is the rotation angle of
riσ about Zi
 sin i 1 cos  i 1 



ri 1   sin i 1 sin  i 1 
  cos 

i 1


Direct & Inverse Kinematics
129
Constraints
Direct & Inverse Kinematics
130
Constraints
Those equations describe the rotation of
the Cαi-1-Ni and Cαi-Ci bonds about the
virtual bonds Cαi-1-Cαi and Cαi-Cαi+1
respectively
Direct & Inverse Kinematics
131
Solving the equations
The angles αi, ηi, ξi, θi and δi depend on
the bonds, which inflexible structure is
known. Thus, they’re known constants.
Convert the equations to polynomial
variables wi and ui:
Direct & Inverse Kinematics
132
Solving the equations
The equations becomes:
Direct & Inverse Kinematics
133
Solving the equations
Eliminating wi :
  i  i 
sin 

2
 i 
  i  i 


wi  tan    tan 


2
2
 

 cos   i   i 
 2 


cos  i / 2  sin  i / 2   sin  i / 2  cos  i / 2 

cos  i / 2  cos  i / 2   sin  i / 2  sin  i / 2 
tan  i / 2   tan  i / 2 
ui   i


1  tan  i / 2  tan  i / 2  1  ui  i
where  i  tan  i / 2 
Direct & Inverse Kinematics
134
Solving the equations
There are now 3 equations, quadratic in 2
variable (ui and ui+1)
Eliminating u1 and then u2 results in a
degree 16 polynomial in u3
There might be up to 16 solutions, even if
at most 10 real solutions has been found in
the article’s research
Direct & Inverse Kinematics
135
Loop Closure
The loop closure problem
Tripeptide loop closure
Generalizations of the method
Direct & Inverse Kinematics
136
Generalizations of the method
There are no assumptions about the
intervening structures. Therefore, the
algorithm can be applied to moves
involving arbitrary triads of Cα atoms.
Direct & Inverse Kinematics
137
Generalizations of the method
Finding alternative local structures when
an arbitrary dihedral angle is changed
Direct & Inverse Kinematics
138
Generalizations of the method
The constraints form stay unchanged:
But, Cα1-Cα2, η1 and ξ2 changed. As a
result, Zi (i=1,2) and αi (i=1,2,3) changed
too.
Still, the equations can be derived with the
changed parameters
Direct & Inverse Kinematics
139
References
 Introduction to Robotics: Mechanics and
Control (3rd Edition)
John J. Craig
 Kinematic View of Loop Closure
Evangelos A. Coutsias,
Chaok Seok,
Matthew P. Jacobson,
Ken A. Dill
 Cyclic Coordinate Descent: A Robotics
Algorithm for Protein Loop Closure
Adrian A. Canutescu,
Roland L. Dunbrack Jr.
Direct & Inverse Kinematics
140
Thank you
Direct & Inverse Kinematics
141