2012-1813. DH Representation - Examples

42
Links and Links and Joints Joints

description

robotique

Transcript of 2012-1813. DH Representation - Examples

Page 1: 2012-1813. DH Representation - Examples

Links and Links and JointsJoints

Page 2: 2012-1813. DH Representation - Examples

Links and Joints

Joints:

Links

End Effector

Robot Basis

2 DOF’s

Page 3: 2012-1813. DH Representation - Examples
Page 4: 2012-1813. DH Representation - Examples

Denavit – Denavit – Hartenberg Hartenberg details and details and examplesexamples

Page 5: 2012-1813. DH Representation - Examples

Chapter 2Robot Kinematics: Position Analysis

⊙ : A rotation about the z-axis.

⊙ dd : The distance on the z-axis.

⊙ aa : The length of each common normal (Joint

offset).

⊙ : The angle between two successive z-axes

(Joint twist)

Only and d are joint variables.

DENAVIT-HARTENBERG REPRESENTATIONDENAVIT-HARTENBERG REPRESENTATION

Symbol Terminologies :

Page 6: 2012-1813. DH Representation - Examples

Z-axis aligned with jointJoints ULinks S

Page 7: 2012-1813. DH Representation - Examples

X-axis aligned with outgoing limb

Page 8: 2012-1813. DH Representation - Examples

Y-axis is orthogonal

Page 9: 2012-1813. DH Representation - Examples

Joints are numbered to represent hierarchy

Ui-1 is parent of Ui

Page 10: 2012-1813. DH Representation - Examples

Parameter ai-1 is outgoinglimb length of joint Ui-1

Page 11: 2012-1813. DH Representation - Examples

Joint angle, i, is rotation of xi-1 about zi-

1 relative to xi

Page 12: 2012-1813. DH Representation - Examples

Link twist, i-1, is the rotation of ith z-axis about xi-1-axis relative to z-axis of i-1th frame

Page 13: 2012-1813. DH Representation - Examples

Link offset, di-1, specifies the distance along the zi-1-axis (rotated by i-1) of the ith frame from the

i-1th x-axis to the ith x-axis

Page 14: 2012-1813. DH Representation - Examples

Start point:

• Assign joint number n to the first shown joint.

• Assign a local reference frame for each and

every joint before or

after these joints.

• Y-axis is not used in D-H representation.

DENAVIT-HARTENBERG REPRESENTATION PROCEDURES

Page 15: 2012-1813. DH Representation - Examples

1. .All joints are represented by a z-axis ٭

• (right-hand rule for rotational joint, linear movement for

prismatic joint)

2. The common normal is one line mutually perpendicular to

any two skew lines.

3. Parallel z-axes joints make a infinite number of common

normal.

4. Intersecting z-axes of two successive joints make no

common normal between them(Length is 0.).

DENAVIT-HARTENBERG REPRESENTATION

Procedures for assigning a local reference frame to each joint:

Page 16: 2012-1813. DH Representation - Examples

Chapter 2Robot Kinematics: Position Analysis

(I) Rotate about the zn-axis an able of n+1. (Coplanar)

(II) Translate along zn-axis a distance of dn+1 to make xn and xn+1

colinear.

(III) Translate along the xn-axis a distance of an+1 to bring the

origins

of xn+1 together.

(IV) Rotate zn-axis about xn+1 axis an angle of n+1 to align zn-axis

with zn+1-axis.

DENAVIT-HARTENBERG REPRESENTATION

The necessary motions to transform from one reference frame from one reference frame to the

next.

Page 17: 2012-1813. DH Representation - Examples

Denavit - Hartenberg

Parameters – a general explanation

Page 18: 2012-1813. DH Representation - Examples

Denavit-Hartenberg Notation

Z(i - 1)

X(i -1)

Y(i -1)

( i - 1)

a(i - 1 )

Z i Y i

X i a i

d i

i

• IDEA: Each joint is assigned a coordinate frame.

• Using the Denavit-Hartenberg notation, you need 4 parameters to describe how a frame (i) relates to a previous frame ( i -1 ).

• THE PARAMETERS/VARIABLES: , a , d, ⊙ : A rotation about the z-axis.

⊙ d : The distance on the z-axis.

⊙ a : The length of each common normal (Joint offset).

⊙ : The angle between two successive z-axes (Joint twist)

Only and d are joint variables

Page 19: 2012-1813. DH Representation - Examples

The The aa(i-1)(i-1) ParameterParameter

Z(i - 1)

X(i -1)

Y(i -1)

( i - 1)

a(i - 1 )

Z i Y i

X i a i d i

i

You can align align the two axis just using the 4 parameters

• 1) a1) a(i-1)(i-1) • Technical Definition: a(i-1) is the length of the perpendicular

between the joint axes. • The joint axes are the axes around which revolution takes place

which are the Z(i-1) and Z(i) axes. • These two axes can be viewed as lines in space.

• The common perpendicular is the shortest line between the two axis-lines and is perpendicular to both perpendicular to both axis-lines.

Page 20: 2012-1813. DH Representation - Examples

⊙ : A rotation about the z-axis.

⊙ d : The distance on the z-axis.

⊙ a : The length of each common normal (Joint offset).

⊙ : The angle between two successive z-axes (Joint twist)

a(i-1) cont...

Visual Approach - “A way to visualize the link parameter a(i-1) is to imagine an expanding cylinder whose axis is the Z(i-1) axis - when the cylinder just touches the joint axis i the radius of the cylinder is equal to a(i-1).” (Manipulator Kinematics)

Z(i - 1)

X(i -1)

Y(i -1)

( i - 1)

a(i - 1 )

Z i Y i

X i a i

d i

i

The The alphaalpha aa(i-1)(i-1) ParameterParameter

Page 21: 2012-1813. DH Representation - Examples

• It’s Usually on the Diagram Approach - If the diagram already specifies the various coordinate frames, then the

common perpendicular is usually the X(i-1) axis.

• So a(i-1) is just the displacement along the X(i-1) to move from the (i-1) frame to the i frame.

• If the link is prismatic, then a(i-1) is a variable, not a parameter.

Z(i - 1)

X(i -1)

Y(i -1)

( i - 1)

a(i - 1 )

Z i Y i

X i a i d i

i

⊙ : A rotation about the z-axis.

⊙ d : The distance on the z-axis.

⊙ a : The length of each common normal (Joint offset).

⊙ : The angle between two successive z-axes (Joint twist)

Page 22: 2012-1813. DH Representation - Examples

2)(i-1)

Technical Definition: Amount of rotation around the common perpendicular so that the joint axes are parallel.

i.e. How much you have to rotate around the X(i-1) axis so that the Z(i-1) is pointing in

the same direction as the Zi axis.

Positive rotation follows the right hand rule.

Z(i - 1)

X(i -1)

Y(i -1)

( i - 1)

a(i - 1 )

Z i Y i

X i a i d i

i

The The (i-1) Parameter Parameter

Page 23: 2012-1813. DH Representation - Examples

3) d(i-1)Technical Definition: The displacement along the Zi axis needed to align the a(i-1) common perpendicular to the ai common perpendicular.

In other words, displacement along the Zi to align the X(i-1) and Xi axes.

4) i

Amount of rotation around the Zi axis needed to align the X(i-1) axis with the Xi

axis.

Z(i - 1)

X(i -1)

Y(i -1)

( i - 1)

a(i - 1 )

Z i Y i

X i a i d i

i

The The d(i-1) ParameterParameter

The The i Parameter Parameter

The same table as last slide

Page 24: 2012-1813. DH Representation - Examples

The Denavit-Hartenberg MatrixThe Denavit-Hartenberg Matrix

1000

cosαcosαsinαcosθsinαsinθ

sinαsinαcosαcosθcosαsinθ

0sinθcosθ

i1)(i1)(i1)(ii1)(ii

i1)(i1)(i1)(ii1)(ii

1)(iii

d

d

a

Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next.

Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame.

Z(i -

1)

X(i -1)

Y(i -1)

( i - 1)

a(i -

1 )

Z i Y

i X

i

a

i

d

i i

Put the transformation here

⊙ : A rotation about the z-axis.

⊙ d : The distance on the z-axis.

⊙ a : The length of each common normal (Joint offset).

⊙ : The angle between two successive z-axes (Joint twist)

Page 25: 2012-1813. DH Representation - Examples

Example:Example:Calculating the Calculating the final final DH matrix DH matrix

with the with the DH DH Parameter TableParameter Table

Page 26: 2012-1813. DH Representation - Examples

Example with three Revolute Joints

i (i-1) a(i-1) di

i

0 0 0 0 0

1 0 a0 0 1

2 -90 a1 d2 2

Z0

X0

Y0

Z1

X2

Y1

Z2

X1

Y2

d2

a0 a1

Denavit-Hartenberg Link Denavit-Hartenberg Link Parameter TableParameter Table

Notice that the table has two uses:

1) To describe the robot with its variables and parameters.

2) To describe some state of the robot by having a numerical values for the variables.

The DH The DH Parameter Parameter

TableTable

We calculate with respect to previous

Page 27: 2012-1813. DH Representation - Examples

Example with three Revolute Joints

i (i-1) a(i-1) di

i

0 0 0 0 0

1 0 a0 0 1

2 -90 a1 d2 2

Z0

X0

Y0

Z1

X2

Y1

Z2

X1

Y2

d2

a0 a1

Denavit-Hartenberg Link Parameter Table

Notice that the table has two uses:

1) To describe the robot with its variables and parameters.

2) To describe some state of the robot by having a numerical values for the variables.

The same table as last slide

Page 28: 2012-1813. DH Representation - Examples

Z0

X0

Y0

Z1

X2

Y1

Z2

X1

Y2

d2

a0 a1

i (i-1) a(i-1) di

i

0 0 0 0 0

1 0 a0 0 1

2 -90 a1 d2 2

1

V

V

V

TV2

2

2

000

Z

Y

X

ZYX T)T)(T)((T 12

010

Note: T is the D-H matrix with (i-1) = 0 and i = 1.

These matrices T are calculated in next slide

The same table as last slide

World coordinatestool coordinates

Page 29: 2012-1813. DH Representation - Examples

1000

0100

00cosθsinθ

00sinθcosθ

T 00

00

0

i (i-1) a(i-1) di

i

0 0 0 0 0

1 0 a0 0 1

2 -90 a1 d2 2

This is just a rotation around the Z0 axis

1000

0000

00cosθsinθ

a0sinθcosθ

T 11

011

01

1000

00cosθsinθ

d100

a0sinθcosθ

T22

2

122

12

This is a translation by a0 followed by a rotation around the Z1 axis

This is a translation by a1 and then d2 followed by a rotation around the X2 and Z2 axis

T)T)(T)((T 12

010

The same table as last slide

Page 30: 2012-1813. DH Representation - Examples

1

V

V

V

TV2

2

2

000

Z

Y

X

ZYX

World coordinatestool coordinates

T)T)(T)((T 12

010

ConclusionsConclusions

Page 31: 2012-1813. DH Representation - Examples

Forward Forward

Kinematics Kinematics

Page 32: 2012-1813. DH Representation - Examples

The Situation:You have a robotic arm that

starts out aligned with the xo-axis.You tell the first link to move by 1 and the second link to move by 2.

The Quest:What is the position of the

end of the robotic arm?

Solution:1. Geometric Approach. Geometric Approach

This might be the easiest solution for the simple situation. However, notice that the angles are measured relative to the direction of the previous link. (The first link is the exception. The angle is measured relative to it’s initial position.) For robots with more links and whose arm extends into 3 For robots with more links and whose arm extends into 3 dimensions the geometry gets much more tediousdimensions the geometry gets much more tedious.

2. Algebraic Approach Algebraic Approach Involves coordinatecoordinate transformations.

Forward Kinematics ProblemForward Kinematics Problem

Page 33: 2012-1813. DH Representation - Examples

X2

X3Y2

Y3

1

2

3

l1

l2 l3

Example Problem with H matrices: Example Problem with H matrices: 1.You have a three link arm that starts out aligned in the x-axis.

2.Each link has lengths l1, l2, l3, respectively. 3.You tell the first one to move by 1 , and so on as the diagram suggests. 4.Find the Homogeneous matrix to get the position of the yellow dot in the X0Y0 frame.

H = Rz( 1 ) * Tx1(l1) * Rz( 2 ) * Tx2(l2) * Rz( 3 )

1.Rotating by 1 will put you in the X1Y1 frame.2.Translate in the along the X1 axis by l1.3.Rotating by 2 will put you in the X2Y2 frame.4. and so on until you are in the X3Y3 frame.

•The position of the yellow dot relative to the X3Y3 frame is(l3, 0). •Multiplying H by that position vector will give you the coordinates of the yellow point relative the X0Y0 frame.

X1

Y1

X0

Y0

Page 34: 2012-1813. DH Representation - Examples

Slight variation on the last solutionSlight variation on the last solution:Make the yellow dot the origin of a new coordinate X4Y4 frame

X2

X3Y2

Y3

1

2

3

1

2 3

X1

Y1

X0

Y0

X4

Y4

H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3)

This takes you from the X0Y0 frame to the X4Y4 frame.

The position of the yellow dot relative to the X4Y4 frame is (0,0).

1

0

0

0

H

1

Z

Y

X

added

Page 35: 2012-1813. DH Representation - Examples

THE THE INVERSE INVERSE KINEMATIC KINEMATIC

SOLUTION OF A SOLUTION OF A ROBOTROBOT

Page 36: 2012-1813. DH Representation - Examples

Determine the value of each joint each joint to place the arm at a desired position and orientation.

654321 AAAAAATHR

1000

)()()()(

)()()()(

2232342345234623465234623465234

22323423415152341651

6234652341

651

6234652341

22323423415152341651

6234652341

651

6234652341

aSaSaSSSCCCCSSCCCS

aCaCaCSCCSCSCSC

CSCCCS

CSC

SSCCCS

aCaCaCCCSSCCCSS

CSCCCC

CSS

SSCCCC

1000

zzzz

yyyy

xxxx

paon

paon

paon

THE THE INVERSE KINEMATIC INVERSE KINEMATIC SOLUTION SOLUTION OF ROBOTOF ROBOT

Multiply both sides by A1 -1

RHS

Page 37: 2012-1813. DH Representation - Examples

654321

11

1 ][

1000

AAAAARHSApaon

paon

paon

Azzzz

yyyy

xxxx

6543211

11

10001000

00

0100

00

AAAAApaon

paon

paon

CS

SC

zzzz

yyyy

xxxx

THE INVERSE KINEMATIC SOLUTION OF ROBOTTHE INVERSE KINEMATIC SOLUTION OF ROBOT

A1 -1

Page 38: 2012-1813. DH Representation - Examples

x

y

p

p11 tan

)())((

)())((tan

423433423411233

42341133423423312

aSPaSaCSpCpaaC

aCSpCpaSaSpaaC

zyx

yxz

3

313 tan

C

S

322344

yx

zyx

aCaS

aSaSaCC

11

2341123415

)(tan

zyx

zyx

oCoSoCS

nSnSnCS

23411234

2341123416

)(

)(tan

THE INVERSE KINEMATIC SOLUTION OF ROBOTTHE INVERSE KINEMATIC SOLUTION OF ROBOT

We calculate all angles from px, py, a1, a2, ni, oi, etc

Page 39: 2012-1813. DH Representation - Examples

A robot has a predictable path on a straight line, Or an unpredictable path on a straight line.

A predictable path is necessary to recalculate joint ٭

variables.

(Between 50 to 200 times a second)

To make the robot follow a straight line, it is necessary to ٭

break

the line into many small sections.

.All unnecessary computations should be eliminated ٭

Fig. 2.30 Small sections of movement for straight-line motions

INVERSE KINEMATIC INVERSE KINEMATIC PROGRAMPROGRAM:: a predictable path on a straight line

Page 40: 2012-1813. DH Representation - Examples

PROBLEMS PROBLEMS with DHwith DH

Page 41: 2012-1813. DH Representation - Examples

Degeneracy : The robot looses a degree of freedom and thus cannot perform as desired.

When the robot’s joints reach their physical ٭limits, and as a result, cannot move any further.

-In the middle point of its workspace if the z ٭axes of two similar joints becomes collinear.

Fig. 2.31 An example of a robot in a degenerate position.

Dexterity : The volume of points where one can position the robot as desired, but not orientate it.

DEGENERACY AND DEXTERITYDEGENERACY AND DEXTERITY

Page 42: 2012-1813. DH Representation - Examples

Defect of D-H presentation : D-H cannot represent any cannot represent any motion about motion about the y-axis,the y-axis, because all motions are about the x- and z-axis.

Fig. 2.31 The frames of the Stanford Arm.

# d a

1 1 0 0 -90

2 2 d10 90

3 0 d10 0

4 4 0 0 -90

5 5 0 0 90

6 6 0 0 0

TABLE 2.3 THE PARAMETERS TABLE FOR THE STANFORD ARM

THE THE FUNDAMENTAL PROBLEM FUNDAMENTAL PROBLEM WITH D-H WITH D-H REPRESENTATIONREPRESENTATION