More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

75
More details and More details and examples on robot arms examples on robot arms and kinematics and kinematics Denavit- Denavit- Hartenberg Hartenberg Notation Notation

Transcript of More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Page 1: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

More details and examples on More details and examples on robot arms and kinematicsrobot arms and kinematics

Denavit-Hartenberg Denavit-Hartenberg NotationNotation

Page 2: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

INTRODUCTIONINTRODUCTION

Forward Kinematics: to determine where the robot’s hand is? (If all joint variables are known)

Inverse Kinematics: to calculate what each joint variable is? (If we desire that the hand be located at a particular point)

Page 3: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Direct Kinematics

Page 4: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Direct Kinematics with no matriceswith no matrices

Where is my hand?

Direct Kinematics:HERE!

Page 5: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Direct Kinematics• Position of tip in (x,y) coordinates

Page 6: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Direct Kinematics Algorithm1) Draw sketch2) Number links. Base=0, Last link = n3) Identify and number robot joints4) Draw axis Zi for joint i5) Determine joint length ai-1 between Zi-1 and Zi

6) Draw axis Xi-1

7) Determine joint twist i-1 measured around Xi-1

8) Determine the joint offset di

9) Determine joint angle i around Zi

10+11) Write link transformation and concatenate

Often sufficient for

2D

Page 7: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Kinematic Problems for Manipulation

• Reliably position the tip - go from one position to another position

• Don’t hit anything, avoid obstacles

• Make smooth motions – at reasonable speeds and

– at reasonable accelerations

• Adjust to changing conditions - – i.e. when something is picked up respond to the change in weight

Page 8: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

ROBOTS AS ROBOTS AS MECHANISMsMECHANISMs

Page 9: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Robot Kinematics: Robot Kinematics: ROBOTS AS MECHANISM

Fig. 2.1 A one-degree-of-freedom closed-loop four-bar mechanism

Multiple type robot have multiple DOF. (3 Dimensional, open loop, chain mechanisms)

Fig. 2.2 (a) Closed-loop versus (b) open-loop mechanism

Page 10: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.3 Representation of a point in space

A point P in space : 3 coordinates relative to a reference frame

^^^

kcjbiaP zyx

Representation of a Point Representation of a Point in Spacein Space

Page 11: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.4 Representation of a vector in space

A Vector P in space : 3 coordinates of its tail and of its head

^^^__

kcjbiaP zyx

w

z

y

x

P__

Representation of a Vector Representation of a Vector in Spacein Space

Page 12: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.5 Representation of a frame at the origin of the reference frame

Each Unit Vector is mutually perpendicular. : normal, orientation, approach vector

zzz

yyy

xxx

aon

aon

aon

F

Representation of a Frame Representation of a Frame at the at the OriginOrigin of a Fixed-Reference Frame of a Fixed-Reference Frame

Page 13: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.6 Representation of a frame in a frame

Each Unit Vector is mutually perpendicular. : normal, orientation, approach vector

1000

zzzz

yyyy

xxxx

Paon

Paon

Paon

F

Representation of a Frame Representation of a Frame in ain a Fixed Reference Frame Fixed Reference Frame

The same as last slide

Page 14: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.8 Representation of an object in space

An object can be represented in space by attaching a frame to it and representing the frame in space.

1000

zzzz

yyyy

xxxx

objectPaon

Paon

Paon

F

Representation of a Rigid Representation of a Rigid BodyBody

Page 15: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

A transformation matrices must be in square form.

• It is much easier to calculate much easier to calculate the inverse of square matrices. • To multiply two matrices, their dimensions must match.

1000

zzzz

yyyy

xxxx

Paon

Paon

Paon

F

HOMOGENEOUS HOMOGENEOUS TRANSFORMATION MATRICESTRANSFORMATION MATRICES

Page 16: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Representation Representation of of

Transformations Transformations of rigid objects of rigid objects

in 3D space in 3D space

Page 17: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.9 Representation of an pure translation in space

A transformation is defined as making a movement in space.

• A pure translation.• A pure rotation about an axis.• A combination of translation or rotations.

1000

100

010

001

z

y

x

d

d

d

T

Representation of a Pure Representation of a Pure TranslationTranslation

identity

Same value a

Page 18: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.10 Coordinates of a point in a rotating frame before and after rotation around axis x.

Assumption : The frame is at the origin of the reference frame and parallel to it.

Fig. 2.11 Coordinates of a point relative to the reference frame and rotating frame as viewed from the x-axis.

Representation of a Pure Representation of a Pure RotationRotation about an Axis about an Axis

Projections as seen from x axis

x,y,z n, o, a

Page 19: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Fig. 2.13 Effects of three three successive successive transformations

A number of successive translations and rotations….

Representation of Combined Representation of Combined Transformations Transformations

Order is Order is importantimportant

x,y,z n, o, a

nioi

ai T1

T2

T3

Page 20: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Fig. 2.14 Changing the order of transformations will change the final result

Order of Order of TransformationTransformations is important s is important

x,y,z n, o, a

translation

Page 21: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.15 Transformations relative to the current frames.

Example 2.8

Transformations Relative Transformations Relative to the Rotating Frameto the Rotating Frame

translation

rotation

Page 22: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

MATRICES FORMATRICES FORFORWARDFORWARD AND AND

INVERSEINVERSE KINEMATICS OF KINEMATICS OF

ROBOTSROBOTS

• For position• For orientation

Page 23: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.17 The hand frame of the robot relative to the reference frame.

Forward Kinematics Analysis: • Calculating the position and orientation of the hand of the robot.

If all robot joint variables are known, one can calculate where the robot is at any instant. .

FORWARDFORWARD AND AND INVERSEINVERSE KINEMATICS KINEMATICS OF ROBOTSOF ROBOTS

Page 24: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Forward Kinematics and Inverse Kinematics equation for position analysis : (a) Cartesian (gantry, rectangular) coordinates. (b) Cylindrical coordinates. (c) Spherical coordinates. (d) Articulated (anthropomorphic, or all-revolute) coordinates.

Forward and Inverse KinematicsForward and Inverse Kinematics Equations for Equations for PositionPosition

Page 25: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

IBM 7565 robot • All actuator is linear. • A gantry robot is a Cartesian robot.

Fig. 2.18 Cartesian Coordinates.

1000

100

010

001

z

y

x

cartPR

P

P

P

TT

Forward and Inverse KinematicsForward and Inverse Kinematics Equations for PositionEquations for Position (a) (a) CartesianCartesian (Gantry, (Gantry,

Rectangular) CoordinatesRectangular) Coordinates

Page 26: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

2 Linear translations and 1 rotation • translation of r along the x-axis • rotation of about the z-axis • translation of l along the z-axis

Fig. 2.19 Cylindrical Coordinates.

1000

100

0

0

l

rSCS

rCSC

TT cylPR

,0,0))Trans(,)Rot(Trans(0,0,),,( rzllrTT cylPR

Forward and Inverse KinematicsForward and Inverse Kinematics Equations Equations for Position:for Position:

Cylindrical CoordinatesCylindrical Coordinates

cosine

sine

Page 27: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

2 Linear translations and 1 rotation • translation of r along the z-axis • rotation of about the y-axis • rotation of along the z-axis

Fig. 2.20 Spherical Coordinates.

1000

0

rCCS

SrSSSCSC

CrSCSSCC

TT sphPR

))Trans()Rot(Rot()( 0,0,,,,, yzlrsphPR TT

Forward and Inverse KinematicsForward and Inverse Kinematics Equations Equations for Positionfor Position

(c) (c) Spherical CoordinatesSpherical Coordinates

Page 28: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

3 rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated Coordinates.

Forward and Inverse KinematicsForward and Inverse Kinematics Equations Equations for Positionfor Position

(d) (d) Articulated CoordinatesArticulated Coordinates

Page 29: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Roll, Pitch, Yaw (RPY) angles

Euler angles

Articulated joints

Forward and Inverse Kinematics Equations for

Orientation

Page 30: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Roll: Rotation of about -axis (z-axis of the moving frame)

Pitch: Rotation of about -axis (y-axis of the moving frame)

Yaw: Rotation of about -axis (x-axis of the moving frame)

aaon

on

Fig. 2.22 RPY rotations about the current axes.

Forward and Inverse Kinematics Equations for Orientation

(a) Roll, Pitch, Yaw(RPY) Angles

Page 31: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

Fig. 2.24 Euler rotations about the current axes.

Rotation of about -axis (z-axis of the moving frame) followed by

Rotation of about -axis (y-axis of the moving frame) followed by

Rotation of about -axis (z-axis of the moving frame).

a

oa

Forward and Inverse Kinematics Equations for Orientation

(b) Euler Angles

Page 32: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

)()( ,,,, noazyxcartHR RPYPPPTT

)()( ,,,, EulerTT rsphHR

Assumption : Robot is made of a Cartesian and an RPY set of joints.

Assumption : Robot is made of a Spherical Coordinate and an Euler angle.

Another Combination can be possible……

Denavit-Hartenberg Representation

Forward and Inverse Forward and Inverse KinematicsKinematics Equations for OrientationEquations for Orientation

Roll, Pitch, Yaw(RPY) Angles

Page 33: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Forward and Forward and Inverse Inverse

Transformations Transformations for robot armsfor robot arms

Page 34: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Fig. 2.16 The Universe, robot, hand, part, and end effecter frames.

Steps of calculation of an Inverse matrix: 1. Calculate the determinant of the matrix.2. Transpose the matrix.3. Replace each element of the transposed matrix by its own minor

(adjoint matrix).4. Divide the converted matrix by the determinant.

INVERSE OF TRANSFORMATION MATRICES

Page 35: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Identity Identity TransformationsTransformations

Page 36: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

1. We often need to calculate

INVERSE MATRICES

2.2. It is good to reduce the number It is good to reduce the number of such operationsof such operations

3.3. We need to do these calculations We need to do these calculations fastfast

Page 37: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

How to find an Inverse Matrix B of How to find an Inverse Matrix B of matrix A?matrix A?

Page 38: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Inverse Homogeneous Inverse Homogeneous TransformationTransformation

Page 39: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Homogeneous Coordinates• Homogeneous coordinates: embed 3D

vectors into 4D by adding a “1”• More generally, the transformation matrix

T has the form:

FactorScalingTrans. Perspect.

Vector Trans. MatrixRot.T

a11 a12 a13 b1

a21 a22 a23 b2

a31 a32 a33 b3

c1 c2 c3 sf

It is presented in more detail on the WWW!

Page 40: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

For various types of robots For various types of robots we have different we have different maneuvering spacesmaneuvering spaces

Page 41: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

For various types of robots we calculate For various types of robots we calculate different forward and inverse different forward and inverse

transformationstransformations

Page 42: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

For various types of robots we solve different forward and inverse For various types of robots we solve different forward and inverse kinematic problemskinematic problems

Page 43: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Forward and Forward and Inverse Kinematics: Inverse Kinematics: Single Link ExampleSingle Link Example

Page 44: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Forward and Inverse Kinematics: Forward and Inverse Kinematics: Single Link ExampleSingle Link Example

easy

Page 45: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.
Page 46: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Denavit – Denavit – Hartenberg Hartenberg

ideaidea

Page 47: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Denavit-Hartenberg Representation :

Fig. 2.25 A D-H representation of a general-purpose joint-link combination

@ Simple way of modeling robot links and joints for any robot configurationany robot configuration, regardless of its sequence or complexity.

@ Transformations in any coordinatesin any coordinates is possible.

@ Any possible combinations of joints and links and all-revolute articulated robots can be represented.

DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT

Page 48: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

⊙ : A rotation angle between two links, about the z-axis

(revolute).

⊙ d : The distance (offsetoffset) on the z-axis, between links

(prismatic).

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

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

twist) (revolute)

Only and d are joint variables.

DENAVIT-HARTENBERG REPRESENTATIONDENAVIT-HARTENBERG REPRESENTATION

Symbol Terminologies :

Page 49: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Links are in 3D, any shape

associated with Zi always

Page 50: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Only rotation Only translation Only offset

Only offset Only rotation Axis alignment

Page 51: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

DENAVIT-DENAVIT-HARTENBERG HARTENBERG

REPRESENTATIOREPRESENTATION for N for each linkeach link

Page 52: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

4 link parameters4 link parameters

Page 53: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Chapter 2Robot Kinematics: Position Analysis

⊙ : A rotation angle between two links, about the z-axis

(revolute).

⊙ d : The distance (offset) on the z-axis, between links

(prismatic).

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

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

twist) (revolute)

Only and d are joint variables.

DENAVIT-HARTENBERG REPRESENTATIONDENAVIT-HARTENBERG REPRESENTATION

Symbol Terminologies :

Page 54: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

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

The DH The DH Parameter Parameter

TableTable

Apply first Apply last

Page 55: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Denavit-Hartenberg Representation of Denavit-Hartenberg Representation of Joint-Link-Joint TransformationJoint-Link-Joint Transformation

Page 56: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

NotationNotation for Denavit-Hartenberg for Denavit-Hartenberg Representation of Joint-Link-Joint Representation of Joint-Link-Joint

TransformationTransformation

Alpha applied first

Page 57: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Four Transformations from one Joint to the NextFour Transformations from one Joint to the Next

• Order of multiplication of matrices is inverse of order of applying them• Here we show order of matrices

Joint-Link-JointJoint-Link-Joint

Page 58: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Denavit-Hartenberg

Representation of Joint-Link-

Joint Transformation

• Alpha is applied first

How to How to create a create a single single matrix A matrix A nn

Page 59: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

EXAMPLE: Denavit-Hartenberg Representation of Joint-Link-Joint Transformation for Type 1 LinkType 1 Link

Final matrix from previous slide

substitute

substitute

Numeric or symbolic matrices

Page 60: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

The Denavit-The Denavit-Hartenberg Matrix for Hartenberg Matrix for another link typeanother link type

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

• Similarity to HomegeneousSimilarity to Homegeneous: Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next. 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 for every link

Page 61: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

1.1. InIn DENAVIT- DENAVIT-HARTENBERG HARTENBERG REPRESENTATION REPRESENTATION we we must be able to find must be able to find parameters for parameters for each linkeach link

2.2. So we must know link typesSo we must know link types

Page 62: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.
Page 63: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Links between Links between revoluterevolute joints joints

Page 64: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.
Page 65: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

llnn=0=0

Type 3 Type 3 LinkLink

Joint n+1Joint n+1

Joint nJoint n

ddnn=0=0

Link nLink n

xxn-1n-1

xxnn

Page 66: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

ln=0dn=0

Type 4 Link

Origins coincide

n-1n-1

Joint n+1Joint n+1

Joint nJoint n

Part of Part of ddn-1n-1

Link nLink n

xxn-1n-1 yyn-1n-1

xxnn

nn

Page 67: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

Links between Links between prismaticprismatic

jointsjoints

Page 68: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.
Page 69: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.
Page 70: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

ForwardForward and and InverseInverse Transformations Transformations on on

MatricesMatrices

Page 71: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.
Page 72: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

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 DENAVIT-HARTENBERG REPRESENTATION REPRESENTATION

PROCEDURESPROCEDURES

Page 73: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

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 74: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

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 ReminderReminder:

Page 75: More details and examples on robot arms and kinematics Denavit-Hartenberg Notation.

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.