introduction to robotics lecture ii alfred bruckstein yaniv altshuler

Post on 15-Jan-2016

230 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction to Robotics

Lecture II

Alfred BrucksteinYaniv 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

•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

Denavit-Hartenberg• Link length ai

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

• Link twist αi

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

• Angle around xi-axis

Denavit-Hartenberg

• 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

• Link rotation (joint angle) φi

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

• Angle around zi-axis

Denavit-Hartenberg

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 :

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

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

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

Denavit-Hartenberg

Denavit-Hartenberg

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

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

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

this distance exists.

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.

Denavit-Hartenberg

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

Denavit-Hartenberg

Solution :

Denavit-Hartenberg

Finally, using and we obtain :

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

Denavit-Hartenberg

We obtain the equation :

There are three unknowns.

Denavit-Hartenberg

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

by multiplying by ui :

Denavit-Hartenberg

by multiplying by ui+1 :

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

Denavit-Hartenberg

by multiplying by ui x ui+1 :

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

Denavit-Hartenberg

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

Denavit-HartenbergFrom

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

Where

Denavit-Hartenberg

From

and ,

we can compute s and t :

Denavit-Hartenberg

Finally, using and we obtain :

Denavit-Hartenberg

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

Method 3 : The Analytic approach

Denavit-Hartenberg

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

Denavit-Hartenberg

A necessary condition is :

Denavit-Hartenberg

Which is equivalent to their numerators being equal to 0 :

Denavit-Hartenberg

Rewriting this system yields :

Denavit-HartenbergWhose solution are :

Denavit-Hartenberg

Finally, using and we obtain :

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 :

Denavit-Hartenberg

The link vector ai :

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

Denavit-Hartenberg

•Three methods

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

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.

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 :

Denavit-HartenbergSpecial cases :

•The joint axes intersect

•The shortest distance ai is equal to zero

•The link vector is the null vector

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

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

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

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

Denavit-Hartenberg

•Identify the joint axes

•Identify the common perpendiculars of successive joint axes

•Attach coordinate frames to each joint axes

Denavit-Hartenberg

Identifying the joint axes

Denavit-Hartenberg

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

Identifying the common perpendiculars

Denavit-Hartenberg

the origin

Attaching the frames

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

Denavit-Hartenberg

Remember

Denavit-Hartenberg

Let’s define the function

Denavit-Hartenberg

We then have :

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

Denavit-Hartenberg

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

Denavit-Hartenberg

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

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

Denavit-Hartenberg

1000

0cossin0

0sincos0

0001

ii

iixi

Rot

Denavit-Hartenberg

1000

0100

0010

001 i

x

a

Transi

Denavit-Hartenberg

1000

100

0010

0001

iz d

Transi

Denavit-Hartenberg

1000

0100

00cossin

00sincos

ii

ii

ziRot

Denavit-Hartenberg

Multiplying the matrices :

iiii xxzzi

i RotTransTransRotT 1

1000

cossin0

sinsincoscoscossin

cossinsincossincos

1

iii

iiiiiii

iiiiiii

ii

d

a

a

T

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 :

End effector

•End effector - the last coordinate system of figure

•Located in joint N.

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

End effectorA transformation from the link N to the

base :

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 ?

End effector•Location

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

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.

End effector•Orientation

•These rotations are named roll, pitch, yaw

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

End effector•Orientation

•The yaw transformation can be expressed :

End effector•Orientation

•The pitch transformation can be expressed :

End effector•Orientation

•The roll transformation can be expressed :

End effector•Orientation

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

End effector•Finally, the transformation from a

coordinate frame to the base frame is expressed :

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 :

End effectorAs the two transformations and do the same thing :

End effector

We obtain directly the translation vector :

End effector

We can obtain the yaw angle :

Because :

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

End effector

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

Because :

Again, let’s use our function arctan2 :

End effector

We can obtain the roll angle :

Because :

Again, let’s use our function arctan2 :

End effectorLet’s define the state vector

End effectorAs previously shown,

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

top related