direct & inverse kinematics1 algorithmic robotics and motion planning (0368.4010.01) instructor:...

141
Direct & Inverse Kinema tics 1 Direct & Inverse Kinematics Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Upload: carmel-nelson

Post on 16-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 1

Direct & Inverse Kinematics

Algorithmic Robotics and Motion Planning (0368.4010.01)Instructor: Prof. Dan Halperin

Page 2: Direct & Inverse Kinematics1 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

Page 3: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 4: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 4

Direct & inverse kinematics of manipulatorsWhat are we trying to do ? (direct)

Go right !!!

???

Page 5: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 5

Direct & inverse kinematics of manipulatorsWhat are we trying to do ? (inverse)

Take the

ball !!!

???

Page 6: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 6

Direct & Inverse Kinematics

Spatial description and transformationDirect kinematicsInverse kinematics

Page 7: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 8: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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 ?

Page 9: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 9

Direct & Inverse Kinematics

Spatial description and transformation• Spatial description• Transformations• Presentation of orientation

Direct kinematicsInverse kinematics

Page 10: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 11: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 12: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 13: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 14: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 15: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 15

Direct & Inverse Kinematics

Spatial description and transformation• Spatial description• Transformations• Presentation of orientation

Direct kinematicsInverse kinematics

Page 16: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 17: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 18: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 19: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 20: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 21: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

!?

Page 22: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 23: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 24: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 25: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 26: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 27: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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)

Page 28: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 29: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 30: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 30

Transformations: example

Page 31: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 31

Direct & Inverse Kinematics

Spatial description and transformation• Spatial description• Transformations• Presentation of orientation

Direct kinematicsInverse kinematics

Page 32: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 33: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 34: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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!!!

Page 35: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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).

Page 36: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 37: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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)

Page 38: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 39: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 40: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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).

Page 41: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 41

Link Description

Page 42: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 42

Link Description

Page 43: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 44: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 45: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 46: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 46

Link-connection description

Page 47: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 47

Link-connection description

variable offset di

variable angle θi

Page 48: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 49: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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).

Page 50: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 50

Denavit-Hartenberg notation

The definition of mechanics by means of these quantities is called the Denavit-Hartenberg notation.

Page 51: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 52: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 53: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 53

Affixing frames to links

Page 54: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 55: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 56: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 57: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 58: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 58

Manipulator kinematics

Page 59: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 60: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 61: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 61

Frames with standard names

Page 62: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 63: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 63

Example: PUMA 560

PUMA 560 is a 6 DOFs industrial robot with all rotational joints (6R mechanism)

Page 64: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 64

Example: PUMA 560

PUMA 560 is a 6 DOFs industrial robot with all rotational joints (6R mechanism)

Page 65: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 66: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 66

Example: PUMA 560

Frames and link parameters:

Page 67: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 67

Example: PUMA 560

Frames and link parameters:

Page 68: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 69: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 70: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 71: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 71

Direct & Inverse Kinematics

Spatial description and transformationDirect kinematicsInverse kinematics

– About the problem– Method of solution– Example

Page 72: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 73: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 74: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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?

Page 75: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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,...

Page 76: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 76

Multiple solutions

Page 77: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 77

Direct & Inverse Kinematics

Spatial description and transformationDirect kinematicsInverse kinematics

– About the problem– Method of solution– Example

Page 78: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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).

Page 79: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 80: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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)

Page 81: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 82: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 83: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 84: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 84

Cyclic Coordinate Descent

Adjusting one link at the time

Tool’s currentposition

Goal’sposition

minimize

Joint tomove

Page 85: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 85

Cyclic Coordinate Descent

Adjusting one link at the time

Page 86: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 86

Cyclic Coordinate Descent

starts at the last link, adjusting each joint along the way

repeat until “satisfied”

Page 87: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 88: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 88

Direct & Inverse Kinematics

Spatial description and transformationDirect kinematicsInverse kinematics

– About the problem– Method of solution– Example

Page 89: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 90: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 91: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 92: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 93: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 94: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 95: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 95

Overview

KinematicsIntroduction to Protein Structure A kinematic View of Loop Closure

Page 96: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 97: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 97

Proteins & PolypeptidesAmino Acids Polypeptides

Proteins

Page 98: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 99: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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– ...

Page 100: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 101: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 102: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 102

Polypeptides and Proteins

Page 103: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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)

Page 104: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 104

Structure

Page 105: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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!

Page 106: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 107: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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)

Page 108: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 109: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 109

Geometric Properties

Each peptide bond adds 2 DOFs,

Page 110: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 110

Geometric Properties

Each peptide bond adds 2 DOFs,and the residues too add some DOFs.

Page 111: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 111

A Kinematic View of Loop Closure

Evangelos A. Coutsias,Chaok Seok,Matthew P. Jacobson,Ken A. Dill

Page 112: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 112

Overview

KinematicsIntroduction to Protein StructureA kinematic View of Loop Closure

Page 113: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 113

Overview

KinematicsIntroduction to Protein StructureA kinematic View of Loop Closure

redefining the loop closure problem as a “inverse kinematics” problem

Page 114: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 114

Loop Closure

The loop closure problemTripeptide loop closureGeneralizations of the method

Page 115: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 116: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 117: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 118: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 118

Protein bond with inflexible lengthinflexible bond angles

The loop closure problem

In his simplest form:

find all possible angles

Page 119: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 119

Loop Closure

The loop closure problemTripeptide loop closureGeneralizations of the method

Page 120: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 121: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 122: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 122

Affixing frames

Page 123: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 123

Affixing frames

τi angle is the rotation angle of riτ about

Zi

Page 124: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 124

Affixing frames

σi angle is the rotation angle of ri σ about

Zi

Page 125: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 126: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 126

Constraints

riτ . ri

σ = cos θi

θi

Page 127: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 127

Constraints

τi angle is the rotation angle of riτ about

Zi

Xi sin ηi

Zi cos ηi

Page 128: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 129: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 130: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 130

Constraints

Page 131: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 132: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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:

Page 133: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 133

Solving the equations

The equations becomes:

Page 134: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 135: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 136: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 136

Loop Closure

The loop closure problemTripeptide loop closureGeneralizations of the method

Page 137: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 138: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 138

Generalizations of the method

Finding alternative local structures when an arbitrary dihedral angle is changed

Page 139: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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

Page 140: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

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.

Page 141: Direct & Inverse Kinematics1 Algorithmic Robotics and Motion Planning (0368.4010.01) Instructor: Prof. Dan Halperin

Direct & Inverse Kinematics 141

Thank you