Introduction to Robotics Lecture II

85
Introduction to Robotics Lecture II Alfred Bruckstein Yaniv Altshuler

description

Introduction to Robotics Lecture II. Alfred Bruckstein Yaniv Altshuler. Denavit-Hartenberg. Specialized description of articulated figures Each joint has only one degree of freedom rotate around its z-axis translate along its z-axis. Denavit-Hartenberg. - PowerPoint PPT Presentation

Transcript of Introduction to Robotics Lecture II

Page 1: Introduction to Robotics Lecture II

Introduction to Robotics

Lecture II

Alfred BrucksteinYaniv Altshuler

Page 2: Introduction to Robotics Lecture II

Denavit-Hartenberg

•Specialized description of articulated figures

•Each joint has only one degree of freedom

•rotate around its z-axis

•translate along its z-axis

Page 3: Introduction to Robotics Lecture II

Denavit-Hartenberg

•One degree of freedom : very compact notation

•Only four parameters to describe a relation between two links :

•link length

•link twist

•link offset

•link rotation

Page 4: Introduction to Robotics Lecture II

Denavit-Hartenberg• Link length ai

• The perpendicular distance between the axes of jointi and jointi+1

Page 5: Introduction to Robotics Lecture II

• Link twist αi

• The angle between the axes of jointi and jointi+1

• Angle around xi-axis

Denavit-Hartenberg

Page 6: Introduction to Robotics Lecture II

• Link offset di

• The distance between the origins of the coordinate frames attached to jointi and jointi+1

• Measured along the axis of jointi

Denavit-Hartenberg

Page 7: Introduction to Robotics Lecture II

• Link rotation (joint angle) φi

• The angle between the link lenghts αi-1 and αi

• Angle around zi-axis

Denavit-Hartenberg

Page 8: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link length

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

• How to compute the parameters to describe an articulated figure :

Page 9: Introduction to Robotics Lecture II

Denavit-Hartenberg

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

Page 10: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link length

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

• Let’s do it step by step

Page 11: Introduction to Robotics Lecture II

Denavit-HartenbergThe link length ai is the shortest

distance between the joint axes jointi and jointi+1.

Let the joint axes be given by the expression :

Where pi is a point on axis of jointi and ui is one of its direction vectors (analogous for jointi+1).

Page 12: Introduction to Robotics Lecture II

Denavit-Hartenberg

Page 13: Introduction to Robotics Lecture II

Denavit-Hartenberg

•There are three methods to compute the link vector ai and the link length

Page 14: Introduction to Robotics Lecture II

Denavit-Hartenberg

The shortest distance ai is the length of the vector connecting the two axes, and perpendicular to both of them.

Which can be expressed :

Method 1 : The Pseudo-naive approach

Page 15: Introduction to Robotics Lecture II

Denavit-HartenbergLet’s find the points oi and oai where

this distance exists.

Page 16: Introduction to Robotics Lecture II

Denavit-HartenbergWe can go some distance s from pi along

axisi, and then the distance ai along the unit vector

and finally some distance t along axisi+1 to arrive at point pi+1.

Page 17: Introduction to Robotics Lecture II

Denavit-Hartenberg

Multiplying respectively by ui and ui+1, we obtain the two following equations:

Page 18: Introduction to Robotics Lecture II

Denavit-Hartenberg

Solution :

Page 19: Introduction to Robotics Lecture II

Denavit-Hartenberg

Finally, using and we obtain :

Page 20: Introduction to Robotics Lecture II

Denavit-Hartenberg

We can go some distance s from point pi along the axisi, and then go some distance k along ui x ui+1. Finally go some distance t along the axisi+1 to arrive at point pi+1.

The vector ui x ui+1 gives the perpendicular vector to both axes. Let’s find out where it is located on the joint axes.

Method 2 : The Geometric approach

Page 21: Introduction to Robotics Lecture II

Denavit-Hartenberg

We obtain the equation :

There are three unknowns.

Page 22: Introduction to Robotics Lecture II

Denavit-Hartenberg

Let’s first eliminate the unknown k from the equation :

by multiplying by ui :

Page 23: Introduction to Robotics Lecture II

Denavit-Hartenberg

by multiplying by ui+1 :

Let’s first eliminate the unknown k from the equation :

Page 24: Introduction to Robotics Lecture II

Denavit-Hartenberg

by multiplying by ui x ui+1 :

Now we shall eliminate the s and t from the equation :

Page 25: Introduction to Robotics Lecture II

Denavit-Hartenberg

We have obtained a system of three equations in the unknowns s, t, k :

Page 26: Introduction to Robotics Lecture II

Denavit-HartenbergFrom

,it can be seen that the shortest distance between jointi and jointi+1 is given by the vector :

Where

Page 27: Introduction to Robotics Lecture II

Denavit-Hartenberg

From

and ,

we can compute s and t :

Page 28: Introduction to Robotics Lecture II

Denavit-Hartenberg

Finally, using and we obtain :

Page 29: Introduction to Robotics Lecture II

Denavit-Hartenberg

The distance between two arbitrary points located on the joint axes jointi and jointi+1 is :

Method 3 : The Analytic approach

Page 30: Introduction to Robotics Lecture II

Denavit-Hartenberg

The link length of linki, ai, is the minimum distance between the joint axes :

Page 31: Introduction to Robotics Lecture II

Denavit-Hartenberg

A necessary condition is :

Page 32: Introduction to Robotics Lecture II

Denavit-Hartenberg

Which is equivalent to their numerators being equal to 0 :

Page 33: Introduction to Robotics Lecture II

Denavit-Hartenberg

Rewriting this system yields :

Page 34: Introduction to Robotics Lecture II

Denavit-HartenbergWhose solution are :

Page 35: Introduction to Robotics Lecture II

Denavit-Hartenberg

Finally, using and we obtain :

Page 36: Introduction to Robotics Lecture II

Denavit-Hartenberg

oi and oai are the closest points on the axes of jointi and jointi+1.

We deduce that the link vector ai and the link length ai :

Page 37: Introduction to Robotics Lecture II

Denavit-Hartenberg

The link vector ai :

Page 38: Introduction to Robotics Lecture II

Denavit-Hartenberg

Calculating the scalar products and, both equal to 0, proves that the vector ai is perpendicular to both axes of jointi and jointi+1

Page 39: Introduction to Robotics Lecture II

Denavit-Hartenberg

•Three methods

•How do we actually compute ai and ||ai||2 ?

Page 40: Introduction to Robotics Lecture II

Denavit-Hartenberg

The link vector ai is perpendicular to both of the axes of jointi and jointi+1. The unit vector :

is parallel to the link vector ai.

Page 41: Introduction to Robotics Lecture II

Denavit-HartenbergGiven two points pi and pi+1 on the axes

of jointi and jointi+1, the link length can be computed as :

And the link vector :

Page 42: Introduction to Robotics Lecture II

Denavit-HartenbergSpecial cases :

•The joint axes intersect

•The shortest distance ai is equal to zero

•The link vector is the null vector

Page 43: Introduction to Robotics Lecture II

Denavit-Hartenberg•The joint axes are parallel

•There is no unique shortest distance

oi can be chosen arbitrarily, so we should chose values that offset the most of Denavit-Hartenberg parameters

Page 44: Introduction to Robotics Lecture II

Denavit-Hartenberg

•The first joint

•There is no link preceding it

•We use a base link : link0

•Its link frame should coincide with the link frame of link1

•Most of the Denavit-Hartenberg parameters will be equal to zero

Page 45: Introduction to Robotics Lecture II

Denavit-Hartenberg

•The last joint

•There is no link succeding it

•We use arbitrary values so that most of Denavit-Hartenberg parameters are equal to zero

Page 46: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link lenght

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

Page 47: Introduction to Robotics Lecture II

Denavit-Hartenberg

•Identify the joint axes

•Identify the common perpendiculars of successive joint axes

•Attach coordinate frames to each joint axes

Page 48: Introduction to Robotics Lecture II

Denavit-Hartenberg

Identifying the joint axes

Page 49: Introduction to Robotics Lecture II

Denavit-Hartenberg

Remember, is the point where the shortest distance to jointi+1 exists

Identifying the common perpendiculars

Page 50: Introduction to Robotics Lecture II

Denavit-Hartenberg

the origin

Attaching the frames

Page 51: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link lenght

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

Page 52: Introduction to Robotics Lecture II

Denavit-Hartenberg

Remember

Page 53: Introduction to Robotics Lecture II

Denavit-Hartenberg

Let’s define the function

Page 54: Introduction to Robotics Lecture II

Denavit-Hartenberg

We then have :

Page 55: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link lenght

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

Page 56: Introduction to Robotics Lecture II

Denavit-Hartenberg

Page 57: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link lenght

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

Page 58: Introduction to Robotics Lecture II

Denavit-Hartenberg

Page 59: Introduction to Robotics Lecture II

Denavit-Hartenberg

1.Compute the link vector ai and the link lenght

2.Attach coordinate frames to the joint axes

3.Compute the link twist αi

4.Compute the link offset di

5.Compute the joint angle φi

6.Compute the transformation (i-1)Ti which transforms entities from linki to linki-1

Page 60: Introduction to Robotics Lecture II

Denavit-Hartenberg

This transformation is done in several steps :

•Rotate the link twist angle αi-1 around the axis xi

•Translate the link length ai-1 along the axis xi

•Translate the link offset di along the axis zi

•Rotate the joint angle φi around the axis zi

iiii xxzzi

i RotTransTransRotT 1

Page 61: Introduction to Robotics Lecture II

Denavit-Hartenberg

1000

0cossin0

0sincos0

0001

ii

iixi

Rot

Page 62: Introduction to Robotics Lecture II

Denavit-Hartenberg

1000

0100

0010

001 i

x

a

Transi

Page 63: Introduction to Robotics Lecture II

Denavit-Hartenberg

1000

100

0010

0001

iz d

Transi

Page 64: Introduction to Robotics Lecture II

Denavit-Hartenberg

1000

0100

00cossin

00sincos

ii

ii

ziRot

Page 65: Introduction to Robotics Lecture II

Denavit-Hartenberg

Multiplying the matrices :

iiii xxzzi

i RotTransTransRotT 1

1000

cossin0

sinsincoscoscossin

cossinsincossincos

1

iii

iiiiiii

iiiiiii

ii

d

a

a

T

Page 66: Introduction to Robotics Lecture II

Denavit-HartenbergBy specifying the transformation

for all joints we can specify a transformation form linkN to the base link0 :

Let’s denote the joint parameters of jointi.

We obtain :

Page 67: Introduction to Robotics Lecture II

End effector

•End effector - the last coordinate system of figure

•Located in joint N.

•But usually, we want to specify it in base coordinates.

Page 68: Introduction to Robotics Lecture II

End effectorA transformation from the link N to the

base :

Page 69: Introduction to Robotics Lecture II

End effector•We can also express it as

•three rotations (around each of the coordinate axes)

• followed by a translation

•How can we establish a relation with the other expression ?

Page 70: Introduction to Robotics Lecture II

End effector•Location

•The origin of a coordinate frame relative to some base coordinate frame is specified by the translation :

Page 71: Introduction to Robotics Lecture II

End effector•Orientation

•Any 3D orientation relative to some base coordinate frame can be specified by :

three rotations, one around each of the coordinate axes.

Page 72: Introduction to Robotics Lecture II

End effector•Orientation

•These rotations are named roll, pitch, yaw

•We do them in this order : around x, y, z.

Page 73: Introduction to Robotics Lecture II

End effector•Orientation

•The yaw transformation can be expressed :

Page 74: Introduction to Robotics Lecture II

End effector•Orientation

•The pitch transformation can be expressed :

Page 75: Introduction to Robotics Lecture II

End effector•Orientation

•The roll transformation can be expressed :

Page 76: Introduction to Robotics Lecture II

End effector•Orientation

•The roll, pitch and yaw transformation is then expressed :

Page 77: Introduction to Robotics Lecture II

End effector•Finally, the transformation from a

coordinate frame to the base frame is expressed :

Page 78: Introduction to Robotics Lecture II

End effectorRemember that can be expressed as a 4x4 matrix with elements mij - functions of joint parameters θ1,...,θN.

Let’s omit them for readability :

Page 79: Introduction to Robotics Lecture II

End effectorAs the two transformations and do the same thing :

Page 80: Introduction to Robotics Lecture II

End effector

We obtain directly the translation vector :

Page 81: Introduction to Robotics Lecture II

End effector

We can obtain the yaw angle :

Because :

arctan is π-periodic. Let’s use our function arctan2 to get the right angle.

Page 82: Introduction to Robotics Lecture II

End effector

Knowing the yaw angle, we can obtain the pitch angle :

Because :

Again, let’s use our function arctan2 :

Page 83: Introduction to Robotics Lecture II

End effector

We can obtain the roll angle :

Because :

Again, let’s use our function arctan2 :

Page 84: Introduction to Robotics Lecture II

End effectorLet’s define the state vector

Page 85: Introduction to Robotics Lecture II

End effectorAs previously shown,

The state vector is composed of elements of this matrix. It’s also a function of joint parameters :