47
MIN Faculty Department of Informatics Introduction to Robotics Lecture 2 Jianwei Zhang, Lasse Einig [zhang, einig]@informatik.uni-hamburg.de University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal Systems April 21, 2017 J. Zhang, L. Einig 56 / 102

Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Embed Size (px)

Citation preview

Page 1: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

MIN FacultyDepartment of Informatics

Introduction to RoboticsLecture 2

Jianwei Zhang, Lasse Einig[zhang, einig]@informatik.uni-hamburg.de

University of HamburgFaculty of Mathematics, Informatics and Natural SciencesDepartment of InformaticsTechnical Aspects of Multimodal Systems

April 21, 2017

J. Zhang, L. Einig 56 / 102

Page 2: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

OutlineKinematic Equations Introduction to Robotics

IntroductionCoordinate systemsKinematic Equations

Denavit-Hartenberg conventionParameters for the description of two arbitrary linksExample DH-Parameter of a single jointExample DH-Parameter for a manipulatorExample featuring PUMA 560Example featuring Mitsubishi PA10-7C

J. Zhang, L. Einig 57 / 102

Page 3: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Forward kinematicsKinematic Equations Introduction to Robotics

I Movement depiction of mechanical systemsI Here, only position is addressedI Translate a series of joint parameter to cartesian positionI Depiction of the mechanical system as fixed body chain

I Serial robotsI Types of joints

I rotational jointsI prismatic joints

J. Zhang, L. Einig 58 / 102

Page 4: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Mitsubishi PA10-6CKinematic Equations Introduction to Robotics

J. Zhang, L. Einig 59 / 102

Page 5: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

KinematicsKinematic Equations Introduction to Robotics

I Transformation regulation, which describes the relationbetween joint coordinates of a robot q and the environmentcoordinates of the endeffector x

I Solely determined by the geometry of the robotI Base frameI Relation of frames to one another

=⇒ Formation of a recursive chainI Joint coordinates:

qi ={θi : rotational jointdi : translation joint

PurposeAbsolute determination of the position of the endeffector (TCP) inthe cartesian coordinate system

J. Zhang, L. Einig 60 / 102

Page 6: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Kinematic equationsKinematic Equations Introduction to Robotics

I Manipulator is considered as set of links connected by jointsI In each link, a coordinate frame is definedI A homogeneous matrix i−1Ai depicts the relative translation

and rotation between two consecutive jointsI Joint transition

J. Zhang, L. Einig 61 / 102

Page 7: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Kinematic equations (cont.)Kinematic Equations Introduction to Robotics

For a manipulator consisting of six joints:I 0A1: depicts position and orientation of the first linkI 1A2: position/orientation of the 2nd link with respect to link 1

...I 5A6: depicts position and orientation of the 6th link in regard

to link 5The resulting product is defined as:

T6 = 0A11A2

2A33A4

4A55A6

J. Zhang, L. Einig 62 / 102

Page 8: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Kinematic descriptionKinematic Equations Introduction to Robotics

I Calculation of T6 = ∏ni=1 Ai Ai short for i−1Ai

I T6 defines, how n joint transitions describe 6 cartesian DOFI Definition of one coordinate system (CS) per segment i

I generally arbitrary definitionI Determination of one transformation Ai per segment i = 1..n

I generally 6 parameters (3 rotational + 3 translational) requiredI different sets of parameters and transformation orders possible

SolutionDenavit-Hartenberg (DH) convention

J. Zhang, L. Einig 63 / 102

Page 9: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Right-Handed Coordinate SystemKinematic Equations Introduction to Robotics

J. Zhang, L. Einig 64 / 102

Page 10: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Mitsubishi PA10-7CKinematic Equations Introduction to Robotics

J. Zhang, L. Einig 65 / 102

Page 11: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Tool Center Point (TCP) descriptionKinematic Equations Introduction to Robotics

Using a vector ~p, the TCP position is depicted.

Three unit vectors:I ~a: (approach vector),I ~o: (orientation vector),I ~n: (normal vector)

specify the orientation of the TCP.

J. Zhang, L. Einig 66 / 102

Page 12: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Tool Center Point (TCP) description (cont.)Kinematic Equations Introduction to Robotics

Thus, the transformation T consists of the following elements:

T =[~n ~o ~a ~p0 0 0 1

]

J. Zhang, L. Einig 67 / 102

Page 13: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Denavit-Hartenberg conventionKinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

I first published by Denavit and Hartenberg in 1955I established principleI determination of a transformation matrix Ai using four

parameterI joint length, joint twist, joint offset and joint angle

(ai , αi , di , θi)I transformation matrix Ai results from four transformations

Transformation orderClassic:

Ai = Rzi−1(θi) · Tzi−1(di) · Txi (ai) · Rxi (αi)→ CSi

Modified:

Ai = Rxi−1(αi−1) · Txi−1(ai−1) · Rzi (θi) · Txi (di)→ CSi

J. Zhang, L. Einig 68 / 102

Page 14: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Classic ParametersKinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Transformation order

Ai = Rzi−1(θi) · Tzi−1(di) · Txi (ai) · Rxi (αi)→ CSi

J. Zhang, L. Einig 69 / 102

Page 15: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Modified ParametersKinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Transformation order

Ai = Rxi−1(αi−1) · Txi−1(ai−1) · Rzi (θi) · Txi (di)→ CSi

J. Zhang, L. Einig 70 / 102

Page 16: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

DH-Parameters and -Preconditions (classic)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Idea: Determination of the transformation matrix Ai using fourjoint parameters (ai , αi , di , θi) and two preconditionsDH1 xi is perpendicular to zi−1DH2 xi intersects zi−1

z1

y1

x1

z0

O0

0y

O1

α1

d1

x0 θ1

a1

J. Zhang, L. Einig 71 / 102

Page 17: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Definition of joint coordinate systems (classic)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Gelenk 2

Gelenk 3

Gelenk 4

Gelenk 1 x4z4

x0 y0

z1

z0

y1

x1

y2

z2

x2

z3

y3

x3

y4

I CS0 is the stationary origin at the base of the manipulatorI axis zi−1 is set along the axis of motion of the i th jointI axis xi is the common normal of zi−1 × ziI axis yi concludes a right-handed coordinate system

J. Zhang, L. Einig 72 / 102

Page 18: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Frame transformation for two links (classic)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Creation of the relation between frame i and frame (i − 1) throughthe following rotations and translations:I Rotate around zi−1 by angle θi

I Translate along zi−1 by di

I Translate along xi by ai

I Rotate around xi by angle αi

Using the product of four homogeneous transformations, whichtransform the coordinate frame i − 1 into the coordinate frame i ,the matrix Ai can be calculated as follows:

Ai = Rzi−1(θi) · Tzi−1(di) · Txi (ai) · Rxi (αi)→ CSi

J. Zhang, L. Einig 73 / 102

Page 19: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Frame transformation for two links (classic) (cont.)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Ai =

Cθi −Sθi 0 0Sθi Cθi 0 00 0 1 00 0 0 1

. . . 0. . . 0. . . di. . . 1

. . . ai. . . 0. . . 0. . . 1

1 0 0 00 Cαi −Sαi 00 Sαi Cαi 00 0 0 1

=

Cθi −SθiCαi SθiSαi aiCθiSθi CθiCαi −CθiSαi ai − Sθi0 Sαi Cαi di0 0 0 1

J. Zhang, L. Einig 74 / 102

Page 20: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Background of DH-conventionKinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

I using DH1 x1 · z0 = 0

0 = 0x1 · 0z0 (2)0 = (0A1x1)T · z0 (3)

=

r11 r12 r13r21 r22 r23r31 r32 r33

100

T

·

001

(4)

=[r11 r21 r31

] 001

(5)

= r31 (6)

=⇒

r11 r12 r13r21 r22 r230 r32 r33

J. Zhang, L. Einig 75 / 102

Page 21: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Background of DH-convention (cont.)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

I with i−1Ri being orthogonal and orthonormal

r211 + r2

21 = 1 (7)r232 + r2

33 = 1 (8)

(r11, r21) = (cos θ, sin θ) and(r32, r33) = (sinα, cosα)fulfill the constraint;

cos θ r12 r13sin θ r22 r230 sinα cosα

I r12, r13, r22 and r23 can complete the rotational matrix

cos θi − sin θi cosαi sin θi sinαisin θi cos θi cosαi − cos θi sinαi0 sinαi cosαi

J. Zhang, L. Einig 76 / 102

Page 22: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Background of DH-convention (cont.)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

I with DH2 and DH1:the positional vector dd from O0 to O1 may be represented as alinear combination of vectors z0 and x1

z1

O1

y1

x1

z0

O0

1a

d1 ddx0

0y

0dd = d z0 + a 0A1x1

= d

001

+ a 0R1

100

= d

001

+ a

cosθsinθ0

=

a cosθa sinθ

d

J. Zhang, L. Einig 77 / 102

Page 23: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Background of DH-convention (cont.)Kinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

I homogeneous transformation Ai fulfills DH2 and DH1

Ai = Rz(θi) · Tz(di) · Tx (ai) · Rx (αi)

=[

cos θi − sin θi 0 0sin θi cos θi 0 0

0 0 1 00 0 0 1

][1 0 0 00 1 0 00 0 1 di0 0 0 1

][1 0 0 ai0 1 0 00 0 1 00 0 0 1

][1 0 0 00 cos αi − sin αi 00 sin αi cos αi 00 0 0 1

]

=

cos θi − sin θi cosαi sin θi sinαi ai cos θisin θi cos θi cosαi − cos θi sinαi ai sin θi0 sinαi cosαi di0 0 0 1

J. Zhang, L. Einig 78 / 102

Page 24: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Partial order of transformationKinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

Calculation of homogeneous transformation matrix A1 from thepartial transformations Rz(θi), Tz(di), Tx (ai) and Rx (αi)I transition CS0 to CS1 using local axes

z1

y1

x1

z0

O0

0y

x0

O1

α1

d1

θ1

a1I invariances

I Tx invariant to Rx (Tx Rx = Rx Tx )I Tz invariant to Rz (Tz Rz = Rz Tz)

I order of transformationsI rotation around z1 after rotation around x0 violates DH2I thus, possible rotation orders which do not violate DH2 and DH1:

Ai = Rx ′′′1

(α1) · Tx ′′1

(a1) · Tz′0(d1) · Rz0(θ1) (9)

= Rz(θi) · Tz(di) · Tx (ai) · Rx (αi) (10)(9) is a possible valid transformation order

(10) is the standard transformation order

J. Zhang, L. Einig 79 / 102

Page 25: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Definition of joint coordinate systems: ExceptionsKinematic Equations - Denavit-Hartenberg convention Introduction to Robotics

BewareThe Denavit-Hartenberg convention is not unambiguous!

I zi−1 is parallel to zi

I arbitrary shortest normalI usually di = 0 is chosen

I zi−1 intersects zi

O0

z1

O1

y1

x1

x0z0

0y

d1

θ1

α1

a1

I usually ai = 0 such thatCS lies in the intersection point

I orientation of CSn ambigous, as no joint n + 1 existsI xn must be a normal to zn−1I usually zn chosen to point in the direction of the approach vector~a of the tcp

J. Zhang, L. Einig 80 / 102

Page 26: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Parameters for description of two arbitrary linksKinematic Equations - Parameters for the description of two arbitrary links Introduction to Robotics

Two parameters for the description of the link structure i

I ai: shortest distance betweenthe zi−1-axis and the zi -axis

I αi: rotation angle around thexi -axis, which aligns thezi−1-axis to the zi -axis

ai and αi are constant values dueto construction

J. Zhang, L. Einig 81 / 102

Page 27: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Parameters for description of two arbitrary links (cont.)Kinematic Equations - Parameters for the description of two arbitrary links Introduction to Robotics

Two for relative distance and angle of adjacent linksI di: distance origin Oi−1 of

the (i-1)st CS to intersectionof zi−1-axis with xi -axis

I θi: joint angle aroundzi−1-axis to align xi−1-parallel to xi -axis intoxi−1, yi−1-plane

θi and di are variableI rotational: θi variable, di fixedI translational: di variable, θi fixed

J. Zhang, L. Einig 82 / 102

Page 28: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example DH-Parameter of a single jointKinematic Equations - Example DH-Parameter of a single joint Introduction to Robotics

Determination of DH-Parameter (θ, d , a, α) for calculation of jointtransformation: A1 = Rz(θ1)Tz(d1)Tx (a1)Rx (α1)joint angle rotate by θ1 around z0, such that x0 is parallel to x1

Rz(θ1) =

cos θ1 − sin θ1 0 0sin θ1 cos θ1 0 00 0 1 00 0 0 1

for the shown joint configuration θ1 = 0◦

J. Zhang, L. Einig 83 / 102

Page 29: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example DH-Parameter of a single joint (cont.)Kinematic Equations - Example DH-Parameter of a single joint Introduction to Robotics

joint offset translate by d1 along z0 until the intersection of z0 andx1

Tz(d1) =

1 0 0 00 1 0 00 0 1 d10 0 0 1

J. Zhang, L. Einig 84 / 102

Page 30: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example DH-Parameter of a single joint (cont.)Kinematic Equations - Example DH-Parameter of a single joint Introduction to Robotics

joint length translate by a1 along x1 such that the origins of bothCS are congruent

Tx (a1) =

1 0 0 a10 1 0 00 0 1 00 0 0 1

J. Zhang, L. Einig 85 / 102

Page 31: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example DH-Parameter of a single joint (cont.)Kinematic Equations - Example DH-Parameter of a single joint Introduction to Robotics

joint twist rotate z0 by α1 around x1, such that z0 lines up with z1

Rx(α1) =

1 0 0 00 cos(α1) − sin(α1) 00 sin(α1) cos(α1) 00 0 0 1

for the shown joint configuration, α1 = −90◦ dueto construction

J. Zhang, L. Einig 86 / 102

Page 32: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example DH-Parameter of a single joint (cont.)Kinematic Equations - Example DH-Parameter of a single joint Introduction to Robotics

I total transformation of CS0 to CS1 (general case)0A1 = Rz(θ1) · Tz(d1) · Tx (a1) · Rx (α1)

=

cosθ1 −sinθ1cosα1 sinθ1sinα1 a1cosθ1sinθ1 cosθ1cosα1 −cosθ1sinα1 a1sinθ10 sinα1 cosα1 d10 0 0 1

I rotary case: variable θ1 and fixed d1, a1 und (α1 = −90◦)

0A1 = Rz(θ1) · Tz(d1) · Tx (a1) · Rx (−90◦)

=

cosθ1 0 −sinθ1 a1cosθ1sinθ1 0 cosθ1 a1sinθ10 −1 0 d10 0 0 1

J. Zhang, L. Einig 87 / 102

Page 33: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Procedure for predefined structureKinematic Equations - Example DH-Parameter of a single joint Introduction to Robotics

I Fixed origin: CS0 is the fixed frame at the base of themanipulator

I Determination of axes and consecutive numbering from 1 to nI Positioning Oi on rotation- or shear-axis i ,

zi points aways from ziI Determination of normal between the axes; setting xi (in

direction to the normal)I Determination of yi (right-hand system)I Read off Denavit-Hartenberg parameterI Calculation of overall transformation

J. Zhang, L. Einig 88 / 102

Page 34: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example DH-Parameter for QuickshotKinematic Equations - Example DH-Parameter for a manipulator Introduction to Robotics

I Definition of CS corresponding to DH conventionI Determination of DH-Parameter

x0 y0

z1

z0

y1

x1

x2

x3

z3

y3z2

z4

x4

y4

y2

i a (mm) α d (mm) θ

1 20 −90◦ 100 θ12 160 0◦ 0 θ23 0 +90◦ 28 θ34 0 0◦ 250 θ4

pictured configuration:θ1 = θ3 = θ4 = 0, θ2 = −90◦

J. Zhang, L. Einig 89 / 102

Page 35: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example Transformation matrix T6Kinematic Equations - Example DH-Parameter for a manipulator Introduction to Robotics

T6 = A1 · A2 · A3 · A4

=

cos θ1 0 − sin θ1 20 cos θ1sin θ1 0 cos θ1 20 sin θ10 −1 0 1000 0 0 1

cos θ2 − sin θ2 0 160 cos θ2sin θ2 cos θ2 0 160 sin θ20 0 1 00 0 0 1

·

cos θ3 0 sin θ3 0sin θ3 0 − cos θ3 00 1 0 280 0 0 1

cos θ4 − sin θ4 0 0sin θ4 cos θ4 0 00 0 1 2500 0 0 1

=

cos θ1 cos θ4(cos θ2 cos θ3 − sin θ2 sin θ3) − sin θ1 sin θ4 . . .sin θ1 cos θ4(sin θ2 cos θ3 + cos θ2 sin θ3) + cosθ1 sin θ4 . . .

− cos θ4(sin θ2 cos θ3 + cos θ2 sin θ3) . . .0 0 0 1

J. Zhang, L. Einig 90 / 102

Page 36: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example featuring PUMA 560Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

In order to transfer the manipulator-endpoint into the basecoordinate system, T6 is calculated as follows:

T6 = A1A2A3A4A5A6

Z: Transformation manipulator base → reference coordinate systemE: Manipulator endpoint → TCP (“tool center point”)X: The position and orientation of the TCP in relation of the referencecoordinate system

X = ZT6E

The following applies as well:

T6 = Z−1XE−1

J. Zhang, L. Einig 91 / 102

Page 37: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example featuring PUMA 560 (cont.)Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

J. Zhang, L. Einig 92 / 102

Page 38: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Example featuring PUMA 560 (cont.)Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

Link i θi αi−1 ai−1 di1 θ1 0 0 02 θ2 -90 0 03 θ3 0 a2=431.8mm d3=149.09mm4 θ4 -90 a3=-20.32mm d4=433.07mm5 θ5 90 0 06 θ6 -90 0 0

Link coordinate parameters of PUMA 560

J. Zhang, L. Einig 93 / 102

Page 39: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Link TransformationsKinematic Equations - Example featuring PUMA 560 Introduction to Robotics

T 06 =0 T 1

1 T 22 T 3

3 T 44 T 5

5 T6

0T1 =

Cθ1 −Sθ1 0 0Sθ1 Cθ1 0 00 0 1 00 0 0 1

1T2 =

Cθ2 −Sθ2 0 00 0 1 0−Sθ2 −Cθ2 0 00 0 0 1

J. Zhang, L. Einig 94 / 102

Page 40: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Link Transformations (cont.)Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

2T3 =

Cθ3 −Sθ3 0 a2Sθ3 Cθ3 0 00 0 1 d30 0 0 1

3T4 =

Cθ4 −Sθ4 0 a30 0 1 d4−Sθ4 −Cθ4 0 00 0 0 1

J. Zhang, L. Einig 95 / 102

Page 41: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Link Transformations (cont.)Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

4T5 =

Cθ5 −Sθ5 0 00 0 −1 0−Sθ5 −Cθ5 0 00 0 0 1

4T5 =

Cθ6 −Sθ6 0 00 0 1 0−Sθ6 −Cθ6 0 00 0 0 1

J. Zhang, L. Einig 96 / 102

Page 42: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

The solution using the example of PUMA 560Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

Sum-of-Angle formulaC23 = C2C3 − S2S3,S23 = C2S3 + S2C3

T 06 = T 0

1 T 12 T 2

3 T 34 T 4

5 T 56 =

nx ox ax pxny oy ay pynz oz az pz0 0 0 1

J. Zhang, L. Einig 97 / 102

Page 43: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

The solution using the example of PUMA 560 (cont.)Kinematic Equations - Example featuring PUMA 560 Introduction to Robotics

nx = C1[C23(C4C5C6 − S4S5)− S23S5C5]− S1(S4C5C6 + C4S6)ny = S1[C23(C4C5C6 − S4S6)− S23S5C6] + C1(S4C5C6 + C4S6)nz = −S23[C4C5C6 − S4S6]− C23S5C6

ox , oy , oz = ...

ax , ay , az = ...

px = C1[a2C2 + a3C23 − d4S23]− d3S1

py = S1[a2C2 + a3C23 − d4S23] + d3C1

pz = −a3S23 − a2S2 − d4C23

J. Zhang, L. Einig 98 / 102

Page 44: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Mitsubishi PA10-7CKinematic Equations - Example featuring Mitsubishi PA10-7C Introduction to Robotics

J. Zhang, L. Einig 99 / 102

Page 45: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations
Page 46: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

Link i θi αi−1 ai−1 di1 q1 0° 0 02 q2 -90° 0 317mm3 q3 90° 0 04 q4 -90° 0 450mm5 q5 90° 0 480mm6 q6 -90° 0 07 q7 90° 0 70mm

Link coordinate parameters of Mitsubishi PA10-7C

J. Zhang, L. Einig 101 / 102

Page 47: Introduction to Robotics - Arbeitsbereich Technische … · 2017-04-20 · Denavit-Hartenberg (DH)convention J. Zhang, L. Einig 63/102. Right-HandedCoordinateSystem Kinematic Equations

BibliographyKinematic Equations - Example featuring Mitsubishi PA10-7C Introduction to Robotics

[1] K. Fu, R. González, and C. Lee, Robotics: Control, Sensing, Vision,and Intelligence.McGraw-Hill series in CAD/CAM robotics and computer vision,McGraw-Hill, 1987.

[2] R. Paul, Robot Manipulators: Mathematics, Programming, andControl : the Computer Control of Robot Manipulators.Artificial Intelligence Series, MIT Press, 1981.

[3] J. Craig, Introduction to Robotics: Pearson New InternationalEdition: Mechanics and Control.Always learning, Pearson Education, Limited, 2013.

[4] J. F. Engelberger, Robotics in service.MIT Press, 1989.

J. Zhang, L. Einig 102 / 102