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 21 2 3 2( 2 3 1 4 )
2(1 3 2 4 ) 2( 2 3 1 4 ) 1 212 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:
c1 s1 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
c3 s3 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
c5
4
0
T
5
s5
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
s5 0 0
0
1 0
c5
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).
c1 s1 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
c3 s3 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
c5
4
0
T
5
s5
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
s5 0 0
0
1 0
c5
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