direct & inverse kinematics1 algorithmic robotics and motion planning (0368.4010.01) instructor:...
TRANSCRIPT
Direct & Inverse Kinematics 1
Direct & Inverse Kinematics
Algorithmic Robotics and Motion Planning (0368.4010.01)Instructor: Prof. Dan Halperin
Direct & Inverse Kinematics 2
Overview
KinematicsIntroduction to Protein Structure A kinematic View of Loop Closure
Direct & Inverse Kinematics 3
Overview
Kinematicsthe science of motion that treats the subject without regard to the forces that cause it
Introduction to Protein StructureA kinematic View of Loop Closure
Direct & Inverse Kinematics 4
Direct & inverse kinematics of manipulatorsWhat are we trying to do ? (direct)
Go right !!!
???
Direct & Inverse Kinematics 5
Direct & inverse kinematics of manipulatorsWhat are we trying to do ? (inverse)
Take the
ball !!!
???
Direct & Inverse Kinematics 6
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematicsInverse kinematics
Direct & Inverse Kinematics 7
Spatial description and transformationWe 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 8
Spatial description and transformationWe need to be able to describe the position and
the orientation of the robot’s parts (relative to U)
Uu n iv e rs e
co o rdin a tes y s te m
What’s its position(“reference point”) ?
What’s its orientation ?
Direct & Inverse Kinematics 9
Direct & Inverse Kinematics
Spatial description and transformation• Spatial description• Transformations• Presentation of orientation
Direct kinematicsInverse kinematics
Direct & Inverse Kinematics 10
Positions, orientations and framesThe position of a point p relative to a coordinate
system A (Ap):
x
Ay
z
p
p p
p
ZA
X A
YA
A p
Direct & Inverse Kinematics 11
Positions, orientations and framesThe orientation of a body is described by a
coordinate system B attached to the body, relative to A (a known coordinate system).
ZB
X B
ZA
X A
YA
YB
Direct & Inverse Kinematics 12
Positions, orientations and framesThe orientation of a body is described by a
coordinate system B attached to the body, relative to A (a known coordinate system).
A A A AB B B B
B A B A B A
B A B A B A
B A B A B A
R X Y Z
X X Y X Z X
X Y Y Y Z Y
X Z Y Z Z Z
cosinus of the angle
Direct & Inverse Kinematics 13
Positions, orientations and framesA frame is a set of 4 vectors giving the position
and orientation.Example: frame B
,A AB BorgB R P
ZA
X A
YA
A P B or g
ZB
X B YB
Direct & Inverse Kinematics 14
position
A P B or gZA
X A
YA
Positions, orientations and framesRemember the robot’s part:
ZB
X B YB
orientation
Direct & Inverse Kinematics 15
Direct & Inverse Kinematics
Spatial description and transformation• Spatial description• Transformations• Presentation of orientation
Direct kinematicsInverse kinematics
Direct & Inverse Kinematics 16
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 17
Mappings involving translated framesExpressing a point Bp in terms of frame {A},
when {A} has the same orientation as {B}:A B A
Borgp p p
ZA
X A
YA
A p B or g
ZB
X B
YB
B pA p
Direct & Inverse Kinematics 18
Mappings involving rotated framesExpressing a vector Bp in terms of frame {A},
when the origins of frames {A} and {B} are coincident:
ZB
X B
ZA
X A
YA
YB
B p
Direct & Inverse Kinematics 19
Ap‘s components are Bp’s projections onto the unit directions of {A}.
Remember the rotation matrix :it’s columns are the unit vectors of {B} expressed in {A}.
Thus:
Mappings involving rotated frames
AB R
A A BBP R P
Direct & Inverse Kinematics 20
Mappings involving rotated frames: example Given:frame {B} is rotated relative to frame
{A} about Z by 30 degrees, and BP.Calc: AP
= ZB
X B
ZA X A
YAYB
B p
Direct & Inverse Kinematics 21
Mappings involving rotated frames: example Sol:
cos30 cos120 0
cos60 cos30 0
0 0 1
:
!
B A B A B AAB B A B A B A
B A B A B A
A A BB
X X Y X Z X
R X Y Y Y Z Y
X Z Y Z Z Z
And
P R P
exactcomputation
!?
Direct & Inverse Kinematics 22
Mappings involving general frames{A} and {B} has different origins and orientations.Vector offset between origins: ApBorg
{B} is rotated in respect to {A}: AB R
ZA
X A
YA
A p B or g
B pA p ZB
X B YB
Direct & Inverse Kinematics 23
Mappings involving general framesFirst, 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:
ZA
X A
YA
A p B or g
B pA p ZB
X B YB
A A B AB BorgP R P P
Direct & Inverse Kinematics 24
Mappings involving general frames“Homogeneous transform”:
A “transform” specifies a frame.
1 0 0 0 1 1
A A A BB Borg
A A BB
P R P P
P T P
Direct & Inverse Kinematics 25
Multiplication of transforms
Given Cp. We want to find Ap.
ZA
X A
YA
C p
A p ZB
X B YB
ZC
X C
YC
Direct & Inverse Kinematics 26
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}.
0 0 0 1
B B C A A BC B
A A BC B C
A B A B AB C B Corg Borg
P T P and P T P
T T T
R R R P P
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}”Straightforward way: compute the inverse
matrix (of a 4x4 matrix)
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:
– Compute
– Compute APBorg:
A AB B( )TR R
BA
B BA A
0 ( )B A A BBorg Borg Aorg
B A T AAorg Borg Borg
P R P P
P R P R P
Direct & Inverse Kinematics 29
Inverting a transform
Frame {B} is known relative to frame {A}We want the description “frame {A} relative to
frame {B}”Better way:
0 0 0 1
A T A T AB B B BorgA
R R PT
Direct & Inverse Kinematics 30
Transformations: example
Direct & Inverse Kinematics 31
Direct & Inverse Kinematics
Spatial description and transformation• Spatial description• Transformations• Presentation of orientation
Direct kinematicsInverse kinematics
Direct & Inverse Kinematics 32
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 33
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 0 1 0 0
( , , ) 0 0 1 0 0
0 0 1 0 0
AB XYZ
c s c s
R s c c s
s c 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 34
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:
' ' '
0 0 1 0 0
( , , ) 0 0 1 0 0
0 0 1 0 0
AB Z Y X
c s c s
R s c c s
s c 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
The final resultis the same asX-Y-Z fixed
angles!!!
Direct & Inverse Kinematics 35
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 36
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:
The rotation matrix Rε is:
1 2 3
4
sin , sin , sin ,2 2 2
cos2
X Y Zk k k
2 22 3 1 2 3 4 1 3 2 4
2 21 2 3 4 1 3 2 3 1 4
2 21 3 2 4 2 3 1 4 1 2
1 2 2 2( ) 2( )
2( ) 1 2 2 2( )
2( ) 2( ) 1 2 2
R
Direct & Inverse Kinematics 37
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 numbersQuaternion’s conjugate: a-bi-cj-dkQuaternions are associative, distributive and not
commutative.Another representation: a+vector(b,c,d)
Direct & Inverse Kinematics 38
Quaternions
A rotation about the unit vector K=[KX KY KZ]T by an angle θ, can be computed using the quaternion:
p’, the rotation of point p(0,pX,pY,pZ), is given by:
Rotations may be contatenated:
q’s elements are the same as the Euler parameters!
(cos , sin )2 2
q K
��������������
'p qpq
2 1 1 2 2 1 1 2 2 1 2 1( ) ( ) ( ) ( )q q pq q q q p q q q q pq q
Direct & Inverse Kinematics 39
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematics
– Link description– Link-connection description– Affixing frames to links– Manipulator kinematics– Example
Inverse kinematics
Direct & Inverse Kinematics 40
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 41
Link Description
Direct & Inverse Kinematics 42
Link Description
Direct & Inverse Kinematics 43
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 44
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematics
– Link description– Link-connection description– Affixing frames to links– Manipulator kinematics– Example
Inverse kinematics
Direct & Inverse Kinematics 45
Link-connection description
Neighboring links have a common axis2 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 46
Link-connection description
Direct & Inverse Kinematics 47
Link-connection description
variable offset di
variable angle θi
Direct & Inverse Kinematics 48
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 49
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 50
Denavit-Hartenberg notation
The definition of mechanics by means of these quantities is called the Denavit-Hartenberg notation.
Direct & Inverse Kinematics 51
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematics
– Link description– Link-connection description– Affixing frames to links– Manipulator kinematics– Example
Inverse kinematics
Direct & Inverse Kinematics 52
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 53
Affixing frames to links
Direct & Inverse Kinematics 54
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 55
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 56
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematics
– Link description– Link-connection description– Affixing frames to links– Manipulator kinematics– Example
Inverse kinematics
Direct & Inverse Kinematics 57
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 1i
i T
Direct & Inverse Kinematics 58
Manipulator kinematics
Direct & Inverse Kinematics 59
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 0 1 1
1 2n
n nT T T T
Direct & Inverse Kinematics 60
Manipulator kinematics
General form:
1
1 1 1 11
1 1 1 1
cos sin 0
sin cos cos cos sin sin
sin sin cos sin cos cos
0 0 0 1
i i i
i i i i i i iii
i i i i i i i
a
dT
d
Direct & Inverse Kinematics 61
Frames with standard names
Direct & Inverse Kinematics 62
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematics
– Link description– Link-connection description– Affixing frames to links– Manipulator kinematics– Example
Inverse kinematics
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
PUMA 560 is a 6 DOFs industrial robot with all rotational joints (6R mechanism)
Direct & Inverse Kinematics 65
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 66
Example: PUMA 560
Frames and link parameters:
Direct & Inverse Kinematics 67
Example: PUMA 560
Frames and link parameters:
Direct & Inverse Kinematics 68
Example: PUMA 560
Frames and link parameters:
αi-1ai-1 di θi
1 0 0 0 θ1
2 -90º 0 0 θ2
3 0 a2 d3 θ3
4 -90º a3 d4 θ4
5 90º 0 0 θ5
6 -90º 0 0 θ6
Direct & Inverse Kinematics 69
Example: PUMA 560
Link transformations:1 1 4 4 3
1 1 40 31 4
4 4
2 2 5 5
1 42 5
2 2 5 5
3 3 2
3 323
3
0 0 0
0 0 0 0 1
0 0 1 0 0 0
0 0 0 1 0 0 0 1
0 0 0 0
0 0 1 0 0 0 1 0
0 0 0 0
0 0 0 1 0 0 0 1
0
0 0
0 0 1
0 0
c s c s a
s c dT T
s c
c s c s
T Ts c s c
c s a
s cT
d
6 6
56
6 6
0 0
0 0 1 0
0 0
0 1 0 0 0 1
c s
Ts c
Direct & Inverse Kinematics 70
Example: PUMA 560
The kinematics equations of the PUMA 560:
0 0 1 2 3 4 511 1 23 5 6 4 5 23 5 5 1 4 56 1 2 3 4 5 6
11 12 13
21 22 23
31 32 33
1 2 2 3 23 4 23 3 1
1 2 2 3 23 4 23 3 1
3 23 2 2 4 23
[ ( ) ] (
0 0 0 1
:
[ ] ,
[ ] ,
,
X
Y
Z
X
Y
Z
r c c c c s s s s c s s c cT T T T T T T
r r r p
r r r p
r r r p
With
p c a c a c d s d s
p s a c a c d s d c
p a s a s d c
6 4 6
21 1 23 4 5 6 4 6 23 5 6 1 4 5 6 4 6
31 23 4 5 6 4 6 23 5 6
12 1 23 4 5 6 4 6 23 5 6 1 4 6 4 5 6
22 1 23 4 5 6 4 6 23 5 6 1 4 6 4 5 6
32 23 4
),
[ ( ) ] ( ),
( ) ,
[ ( ) ] ( ),
[ ( ) ] ( ),
(
c s
r s c c c c s s s s c c s c c c s
r s c c c s s s s c
r c c c c c s c s s c s c c s c s
r s c c c s s c s s s c c c s c s
r s c c
5 6 4 6 23 5 6
13 1 23 4 5 23 5 1 4 5
23 1 23 4 5 23 5 1 4 5
33 23 4 5 23 5
) ,
( ) ,
( ) ,
.
s s c c s s
r c c c s s c s s s
r s c c s s c c s s
r s c s s c
Direct & Inverse Kinematics 71
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematicsInverse kinematics
– About the problem– Method of solution– Example
Direct & Inverse Kinematics 72
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 , find the values of θ1,…,θn .These equations can be non-linear, transcendental.
0nT
Direct & Inverse Kinematics 73
About the problem
Consider the PUMA 560:– Given the matrice , solve PUMA 560’s
kinematics equations for the joint angles θ1 through θ6.
– We get 3 independent equations from the rotation-matrix part of and 3 equations from the position-vector part of .
– Thus: 6 nonlinear, transcendental equations and 6 unknowns, and this for a “very simple” 6 DOFs manipulator!
06T
06T
06T
Direct & Inverse Kinematics 74
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 75
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 76
Multiple solutions
Direct & Inverse Kinematics 77
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematicsInverse kinematics
– About the problem– Method of solution– Example
Direct & Inverse Kinematics 78
Method of solution
There’s no general algorithmConsider 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 79
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 80
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 81
Algebraic solution by reduction to polynomialSubstitution:
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).
2
2 2
tan2
1 2cos ,sin
1 1
u
u u
u u
Direct & Inverse Kinematics 82
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 83
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 84
Cyclic Coordinate Descent
Adjusting one link at the time
Tool’s currentposition
Goal’sposition
minimize
Joint tomove
Direct & Inverse Kinematics 85
Cyclic Coordinate Descent
Adjusting one link at the time
Direct & Inverse Kinematics 86
Cyclic Coordinate Descent
starts at the last link, adjusting each joint along the way
repeat until “satisfied”
Direct & Inverse Kinematics 87
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 88
Direct & Inverse Kinematics
Spatial description and transformationDirect kinematicsInverse kinematics
– About the problem– Method of solution– Example
Direct & Inverse Kinematics 89
Example: PUMA 560
We know the links transformations in θi (1≤i≤6).1 1 4 4 3
1 1 40 31 4
4 4
2 2 5 5
1 42 5
2 2 5 5
3 3 2
3 323
3
0 0 0
0 0 0 0 1
0 0 1 0 0 0
0 0 0 1 0 0 0 1
0 0 0 0
0 0 1 0 0 0 1 0
0 0 0 0
0 0 0 1 0 0 0 1
0
0 0
0 0 1
0 0
c s c s a
s c dT T
s c
c s c s
T Ts c s c
c s a
s cT
d
6 6
56
6 6
0 0
0 0 1 0
0 0
0 1 0 0 0 1
c s
Ts c
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.).
11
1 1 11
k k ll k l
l l kk l k
T T T and
T T T
Direct & Inverse Kinematics 91
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:11 12 13
21 22 2306
31 32 33
0 1 2 3 4 51 1 2 2 3 3 4 4 5 5 6 6
0 0 0 1
( ) ( ) ( ) ( ) ( ) ( )
X
Y
Z
r r r p
r r r pT
r r r p
T T T T T T
Direct & Inverse Kinematics 92
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 equations0 0 1 2 3 4 56 1 1 2 2 3 3 4 4 5 5 6 6
0 1 0 1 2 3 4 51 1 6 2 2 3 3 4 4 5 5 6 6
1 1 11 12 13
1 1 21 22 23 16
31 32 33
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
0 0
0 0
0 0 1 0
0 0 0 1 0 0 0 1
X
Y
Z
T T T T T T T
T T T T T T T
c s r r r p
s c r r r pT
r r r p
Direct & Inverse Kinematics 93
Example: PUMA 560
After calculating the right side, it can been seen there’s a solvable solution:
And we get: -sin θ1 pX + cos θ1 pY = d3 .
a cosθi + b sin θi = c return 2 solutions:
1 1 11 12 13
1 1 21 22 23 16
31 32 33
0 0
0 0
0 0 1 0
0 0 0 1 0 0 0 1
X
Y
Z
c s r r r p
s c r r r pT
r r r p
2 2 2arctan 2( , ) arctan 2( , )i b a a b c c
Direct & Inverse Kinematics 94
Example: PUMA 560
2 solutions were found for θ1. For each one of them, we’ll continue to search for solvable equations…
1 1 11 12 13
1 1 21 22 23 16
31 32 33
0 0
0 0
0 0 1 0
0 0 0 1 0 0 0 1
X
Y
Z
c s r r r p
s c r r r pT
r r r p
Direct & Inverse Kinematics 95
Overview
KinematicsIntroduction to Protein Structure A kinematic View of Loop Closure
Direct & Inverse Kinematics 96
Overview
KinematicsIntroduction to Protein Structure
What do proteins look like and why is it important?
A kinematic View of Loop Closure
Direct & Inverse Kinematics 97
Proteins & PolypeptidesAmino Acids Polypeptides
Proteins
Direct & Inverse Kinematics 98
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 99
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 100
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 101
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 102
Polypeptides and Proteins
Direct & Inverse Kinematics 103
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 104
Structure
Direct & Inverse Kinematics 105
3D structure's importanceExample 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 106
Structure's importanceProteins 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 107
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 108
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 109
Geometric Properties
Each peptide bond adds 2 DOFs,
Direct & Inverse Kinematics 110
Geometric Properties
Each peptide bond adds 2 DOFs,and the residues too add some DOFs.
Direct & Inverse Kinematics 111
A Kinematic View of Loop Closure
Evangelos A. Coutsias,Chaok Seok,Matthew P. Jacobson,Ken A. Dill
Direct & Inverse Kinematics 112
Overview
KinematicsIntroduction to Protein StructureA kinematic View of Loop Closure
Direct & Inverse Kinematics 113
Overview
KinematicsIntroduction to Protein StructureA kinematic View of Loop Closure
redefining the loop closure problem as a “inverse kinematics” problem
Direct & Inverse Kinematics 114
Loop Closure
The loop closure problemTripeptide loop closureGeneralizations of the method
Direct & Inverse Kinematics 115
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 116
The loop closure problem
missing
given a chain segmentof the protein
find possible backbonestructure
So that it is geometrically consistent with thepreceding and following parts of the chain
Direct & Inverse Kinematics 117
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 118
Protein bond with inflexible lengthinflexible bond angles
The loop closure problem
In his simplest form:
find all possible angles
Direct & Inverse Kinematics 119
Loop Closure
The loop closure problemTripeptide loop closureGeneralizations of the method
Direct & Inverse Kinematics 120
Tripeptide loop closure
The six-torsion loop closure problem in simplified representation:
fixed in space
variables: τi (i=1,2,3)constraints: θi (i=1,2,3)
τ1 τ2
τ3
θ1
θ2
θ3
Direct & Inverse Kinematics 121
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 122
Affixing frames
Direct & Inverse Kinematics 123
Affixing frames
τi angle is the rotation angle of riτ about
Zi
Direct & Inverse Kinematics 124
Affixing frames
σi angle is the rotation angle of ri σ about
Zi
Direct & Inverse Kinematics 125
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 126
Constraints
riτ . ri
σ = cos θi
θi
Direct & Inverse Kinematics 127
Constraints
τi angle is the rotation angle of riτ about
Zi
Xi sin ηi
Zi cos ηi
Direct & Inverse Kinematics 128
Constraints
sin
0
cos
cos sin 0 sin
sin cos 0 0
0 0 1 cos
sin cos
sin sin
cos
i
i Z i
i
i i i
i i
i
i i
i i
i
r R
Direct & Inverse Kinematics 129
Constraints
Same for σi angle: is the rotation angle of ri
σ about Zi
1 1
1 1 1
1
sin cos
sin sin
cos
i i
i i i
i
r
Direct & Inverse Kinematics 130
Constraints
Direct & Inverse Kinematics 131
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 132
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 133
Solving the equations
The equations becomes:
Direct & Inverse Kinematics 134
Solving the equations
Eliminating wi :
sin2
tan tan2 2
cos2
cos / 2 sin / 2 sin / 2 cos / 2
cos / 2 cos / 2 sin / 2 sin / 2
tan / 2 tan / 2
1 tan / 2 tan / 2 1
tan / 2
i i
i i ii
i i
i i i i
i i i i
i i i i
i i i i
i i
w
u
u
where
Direct & Inverse Kinematics 135
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 136
Loop Closure
The loop closure problemTripeptide loop closureGeneralizations of the method
Direct & Inverse Kinematics 137
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 138
Generalizations of the method
Finding alternative local structures when an arbitrary dihedral angle is changed
Direct & Inverse Kinematics 139
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 140
References
Introduction to Robotics: Mechanics and Control (3rd Edition)John J. Craig
Kinematic View of Loop ClosureEvangelos A. Coutsias,Chaok Seok,Matthew P. Jacobson,Ken A. Dill
Cyclic Coordinate Descent: A Robotics Algorithm for Protein Loop ClosureAdrian A. Canutescu,Roland L. Dunbrack Jr.
Direct & Inverse Kinematics 141
Thank you