Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics,...

47
1/47 Introduction Robotics Introduction Robotics, lecture 2 of 7 dr Dragan Kostić WTB Dynamics and Control September - October 2009

Transcript of Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics,...

Page 1: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

1/47

Introduction Robotics

Introduction Robotics, lecture 2 of 7

dr Dragan Kostić

WTB Dynamics and Control

September - October 2009

Introduction Robotics

Page 2: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

2/47

New Plan for the Lecture Rooms

• Every Tuesday, 3e+4e hours

• Week 37+40+42+43 in AUD.10

Introduction Robotics, lecture 2 of 7

• Week 37+40+42+43 in AUD.10

• Week 38+39 in AUD.14

• Week 41 in AUD.15

Page 3: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

3/47

• Recapitulation

• Parameterization of rotations

Outline

Introduction Robotics, lecture 2 of 7

• Rigid motions

• Homogenous transformations

• Robotic manipulators

• Forward kinematics problem

Page 4: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

4/47

Recapitulation

Introduction Robotics, lecture 2 of 7

Recapitulation

Page 5: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

5/47

Representing rotations in 3D

Each axis of the frame o1x1y1z1 is projected onto o0x0y0z0:

Introduction Robotics, lecture 2 of 7

R10 ∈ SO(3)

Page 6: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

6/47

Basic rotation matrices

Introduction Robotics, lecture 2 of 7

Page 7: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

7/47

Introduction Robotics, lecture 2 of 7

Page 8: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

8/47

Introduction Robotics, lecture 2 of 7

Page 9: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

9/47

Parameterization of rotations

Rigid motions

Introduction Robotics, lecture 2 of 7

Rigid motions

Homogenous transformations

Page 10: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

10/47

Introduction Robotics, lecture 2 of 7

Page 11: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

11/47

Introduction Robotics, lecture 2 of 7

Page 12: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

12/47

Introduction Robotics, lecture 2 of 7

Page 13: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

13/47

Introduction Robotics, lecture 2 of 7

Page 14: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

14/47

Introduction Robotics, lecture 2 of 7

Page 15: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

15/47

Introduction Robotics, lecture 2 of 7

Page 16: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

16/47

Introduction Robotics, lecture 2 of 7

Page 17: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

17/47

Introduction Robotics, lecture 2 of 7

Page 18: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

18/47

Basic homogenous transformations

Introduction Robotics, lecture 2 of 7

Page 19: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

19/47

Robotic Manipulators

Introduction Robotics, lecture 2 of 7

Robotic Manipulators

Page 20: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

20/47

Robot manipulators

• Kinematic chain is series

of links and joints.SCARAgeometry

Introduction Robotics, lecture 2 of 7

• Types of joints:

– rotary (revolute, θ)

– prismatic (translational, d).

geometry

schematic representations of robot joints

Page 21: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

21/47

Anthropomorphic geometry (RRR)

• Resembles

geometry of

human arm.

• Features at least

Introduction Robotics, lecture 2 of 7

Upper arm• Features at least

3 rotary joints.

• Also known as

articulated

kinematic

scheme.

Staubli

(ex Unimation)

PUMA robot

http://www.ifr.org/pictureGallery/robType.htm

Page 22: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

22/47

Spherical geometry (RRP)

• Robot axes form a polar coordinate system.

Introduction Robotics, lecture 2 of 7

Stanford Arm - 1969

Page 23: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

23/47

SCARA geometry (RRP)

• Robot having 2 parallel rotary joints to provide compliance in x-y

direction (suitable for assembly tasks); sufficiently rigid in z-direction.

• SCARA stands for Selective Compliant Assembly Robot Arm or

Selective Compliant Articulated Robot Arm.

Introduction Robotics, lecture 2 of 7

Page 24: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

24/47

Cylindrical geometry (RPP)

• Robot axes form a cylindrical

coordinate system.

Introduction Robotics, lecture 2 of 7

Page 25: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

25/47

Cartesian geometry (PPP)

• Robot having 3 prismatic joints, whose axes are coincident with

a Cartesian coordinate frame.

Introduction Robotics, lecture 2 of 7

Page 26: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

26/47

Parallel geometry

• Robot whose arms have

concurrent prismatic or

revolute joints.

• Some subset of robot links

Introduction Robotics, lecture 2 of 7

• Some subset of robot links

form a closed kinematic

chain.

• There are at least two open

kinematic chains

connecting the base to the

end-effector.

Page 27: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

27/47

Workspace per robot geometry (1/2)

Introduction Robotics, lecture 2 of 7

Page 28: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

28/47

Workspace per robot geometry (2/2)

Introduction Robotics, lecture 2 of 7

Page 29: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

29/47

Forward Kinematics

Introduction Robotics, lecture 2 of 7

Forward Kinematics

Page 30: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

30/47

Scope

• Formulate problem of Forward Kinematics (FK) in robotics.

• Introduce Denavits-Hartenberg (DH) formalism to assign

Introduction Robotics, lecture 2 of 7

coordinate frames to robot joints.

• Solve FK problem using matrix manipulation

of homogenous transformations.

Page 31: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

31/47

Forward kinematics problem

• Determine position and orientation of the end-effector as

function of displacements in robot joints.

Introduction Robotics, lecture 2 of 7

Page 32: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

32/47

Illustration: planar manipulator with 2 joints

• Position of end-effector:

Introduction Robotics, lecture 2 of 7

• Orientation of end-effector:

Page 33: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

33/47

Conventions (1/2)1. there are n joints and hence

n + 1 links; joints 1, 2, …, n;

links 0, 1, …, n,

2. joint i connects link i − 1

to link i,

Introduction Robotics, lecture 2 of 7

to link i,

3. actuation of joint i

causes link i to move,

4. link 0 (the base) is fixed

and does not move,

5. each joint has a single

degree-of-freedom (dof):

Page 34: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

34/47

Conventions (2/2)

6. frame oixiyizi is attached to

link i; regardless of motion of

the robot, coordinates of each

point on link i are constant

Introduction Robotics, lecture 2 of 7

when expressed in frame

oixiyizi,

7. when joint i is actuated, link i

and its attached frame oixiyizi

experience resulting motion.

Page 35: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

35/47

DH convention for homogenous transformations (1/2)

• An arbitrary homogeneous transformation is based on 6

independent variables: 3 for rotation + 3 for translation.

• DH convention reduces 6 to 4, by specific choice of

the coordinate frames.

Introduction Robotics, lecture 2 of 7

the coordinate frames.

• In DH convention, each homogeneous transformation has the form:

Page 36: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

36/47

DH convention for homogenous transformations (2/2)

• Position and orientation of coordinate frame i with respect to

frame i-1 is specified by homogenous transformation matrix:

qi

q0

qi+1

xn

z0

zn

Introduction Robotics, lecture 2 of 7

ai

qi

qi

x0

xi-1

xi

zi

zi-1

y0 yn

zn

di

αi‘0’ ‘ ’n

where

Page 37: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

37/47

Mathematical rational (1/3)

• There exists unique

homogenous transformation matrix A1 that expresses

coordinates from frame 1

relative to frame 0.

Introduction Robotics, lecture 2 of 7

relative to frame 0.

Page 38: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

38/47

Mathematical rational (2/3)

0; 0101

010101

010101

010101

0

1 =⋅⇒⊥

⋅⋅⋅

⋅⋅⋅

⋅⋅⋅

= zxzx

zzzyzx

xzxyyx

xzxyxx

R

• Each column and row of R10 has unique length, implying

Introduction Robotics, lecture 2 of 7

1)()(and1)()( 2

01

2

01

2

01

2

01 =⋅+⋅=⋅+⋅ zzzyyxxx

• Each column and row of R1 has unique length, implying

and in turn there exist unique θ and α such that

)cos,(sin),(

)sin,(cos),(

0101

0101

αα

θθ

=⋅⋅

=⋅⋅

zzzy

yxxx

• Other elements of R10 ensure R1

0∈SO(3).

Page 39: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

39/47

Mathematical rational (3/3)

0

1

0

0

0

0

0

1 =++= axdzoo

• Displacement between the origins of frames 1 and 0 is linear

combination of vectors z0 and x1:

Introduction Robotics, lecture 2 of 7

.sin

cos

0

sin

cos

1

0

0

0

0

0

1001

=

=

+

+

=

=++=

d

a

a

ad

axdzoo

θ

θ

θ

θ

Page 40: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

40/47

Physical meaning of DH parameters• Link length ai is distance from zi-1 to

zi measured along xi.

• Link twist αi is angle between zi-1

and zi measured in plane normal

to x (right-hand rule). ai

qi

q0

qi+1

xx

zi

xn

y0 yn

z0

zn

αi‘0’ ‘ ’n

Introduction Robotics, lecture 2 of 7

to xi (right-hand rule).

• Link offset di is distance from origin

of frame i-1 to the intersection xi

with zi-1, measured along zi-1.

• Joint angle θi is angle from xi-1 to xi

measured in plane normal to zi-1

(right-hand rule).

ai

qi

x0

xi-1

xi

zi-1di

Page 41: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

41/47

DH convention to assign coordinate frames1. Assign zi to be the axis of actuation for joint i+1 (unless otherwise stated zn

coincides with zn-1).

2. Choose x0 and y0 so that the base frame is right-handed.

3. Iterative procedure for choosing oixiyizi depending on oi-1xi-1yi-1zi-1 (i=1, 2, …, n-1):

a) zi−1 and zi are not coplanar; there is an unique shortest line segment from zi−1 to

zi, perpendicular to both; this line segment defines xi and the point where the

Introduction Robotics, lecture 2 of 7

zi, perpendicular to both; this line segment defines xi and the point where the

line intersects zi is the origin oi; choose yi to form a right-handed frame,

b) zi−1 is parallel to zi; there are infinitely many common normals; choose xi as

the normal passes through oi−1; choose oi as the point at which this normal

intersects zi; choose yi to form a right-handed frame,

c) zi−1 intersects zi; axis xi is chosen normal to the plane formed by zi and zi−1;

it’s positive direction is arbitrary; the most natural choice of oi is the

intersection of zi and zi−1, however, any point along the zi suffices;

choose yi to form a right-handed frame.

Page 42: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

42/47

Forward kinematics (1/2)

• Homogenous transformation matrix relating the frame oixiyizi to

oi-1xi-1yi-1zi-1:

Introduction Robotics, lecture 2 of 7

Ai specifies position and orientation of oixiyizi w.r.t. oi-1xi-1yi-1zi-1.

• Homogenous transformation matrix Tji expresses position and

orientation of ojxjyjzj with respect to oixiyizi:

jjiiij AAAAT 121 −++= K

Page 43: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

43/47

• Forward kinematics of a serial manipulator with n joints can be

represented by homogenous transformation matrix Hn0 which

defines position and orientation of the end-effector’s (tip)

frame o x y z relative to the base coordinate frame o x y z :

Forward kinematics (2/2)

Introduction Robotics, lecture 2 of 7

frame onxnynzn relative to the base coordinate frame o0x0y0z0:

=

⋅⋅==

×1

)()()(

),()()()(

13

00

0

11

00

0

qqq

qq

nn

n

nnnn

xRH

qAqATH K

[ ];00013 =×

0

[ ]Tnqq L1=q

Page 44: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

44/47

Case-study: RRR robot manipulator

-q3

x

x2

x3

y1

y2

y3

d2a3

d3

z2

z3

elbow

Introduction Robotics, lecture 2 of 7 x0

q1

q2

x1

y0

y1

z0

α1

d1

a2

z1

z2

waist

shoulder

elbow

α1 - twist angle

ai - link lenghts

di - link offsets

qi - displacements

Page 45: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

45/47

DH parameters of RRR robot manipulator

Introduction Robotics, lecture 2 of 7

Page 46: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

46/47

Forward kinematics of RRR robot manipulator (1/2)

• Coordinate frame o3x3y3z3 is related with the base frame o0x0y0z0 via

homogenous transformation matrix:

== 32103 (q)(q)A(q)AA(q)T

Introduction Robotics, lecture 2 of 7

=

× 131

03

03

0

(q)x(q)R

whereT

qqq ][ 321=qT

zyx ][)(03 =qx

]000[31 =×0

Page 47: Introduction Robotics lecture - day 2 out of 7.ppt · Introduction Robotics Introduction Robotics, lecture 2 of 7 ... • Introduce Denavits-Hartenberg (DH) formalism to assign Introduction

47/47

Forward kinematics of RRR robot manipulator (2/2)

,

• Position of end-effector:

[ ] 132223231 )sin(cos)cos(cos qddqaqqaqx ++++=

[ ] 132223231 )cos(cos)cos(sin qddqaqqaqy +−++=

Introduction Robotics, lecture 2 of 7

, 122323 sin)sin( dqaqqaz +++=

• Orientation of end-effector:

++

−+−+

+−+

=

0)cos()sin(

cos)sin(sin)cos(sin

sin)sin(cos)cos(cos

3232

1321321

132132103

qqqq

qqqqqqq

qqqqqqq

R