Forward kinematics...Forward Kinematics 11 Denavit J and Hartenberg RS, “A kinematic notation for...

Post on 10-Sep-2020

16 views 0 download

Transcript of Forward kinematics...Forward Kinematics 11 Denavit J and Hartenberg RS, “A kinematic notation for...

Forward Kinematics

1

Links and Joints

2

n joints, n + 1 links link 0 is fixed (the base) joint i connects link i – 1 to link i link i moves when joint i is actuated

joint 1

joint 2

joint 3 joint 4 joint n-1joint n

link 0

link 1

link

2

link 3

link n-1

link n

.................

prismaticrevolute

i

ii d

q

Forward Kinematics

3

given the joint variables and dimensions of the links what is the position and orientation of the end effector?

2

1

a1

a2

x0

y0

p0 ?

Forward Kinematics

4

because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end effector in the base frame

2

1

a1

a2

x0

y0

( a1 cos 1 , a1 sin 1 )

1

x1

y1

( a2 cos (1 + 2),a2 sin (1 + 2) )

(a1 cos 1 + a2 cos (1 + 2),a1 sin 1 + a2 sin (1 + 2) )

Forward Kinematics

5

from earlier in the course

2

1

a1

a2

x0

y01

x2 = (cos (1 + 2),sin (1 + 2) )

y2 = (-sin (1 + 2),cos (1 + 2) )

x2y2

p0 = (a1 cos 1 + a2 cos (1 + 2),a1 sin 1 + a2 sin (1 + 2) )

Frames

6

2

1

a1

a2

x0

y0 x1

y1

x2y2

Forward Kinematics

7

using transformation matrices

11 ,,01 axz DRT

22 ,,12 axz DRT

12

01

02 TTT

Links and Joints

8

n joints, n + 1 links link 0 is fixed (the base) joint i connects link i – 1 to link i link i moves when joint i is actuated

joint 1

joint 2

joint 3 joint 4 joint n-1joint n

link 0

link 1

link

2

link 3

link n-1

link n

.................

prismaticrevolute

i

ii d

q

Forward Kinematics

9

attach a frame {i} to link i all points on link i are constant when expressed in {i} if joint i is actuated then frame {i} moves relative to frame {i - 1}

motion is described by the rigid transformation

the state of joint i is a function of its joint variable qi (i.e., is a function of qi)

this makes it easy to find the last frame with respect to the base frame

1iiT

)(11i

ii

ii qTT

123

12

01

0 nnn TTTTT

Forward Kinematics

10

more generally

the forward kinematics problem has been reduced to matrix multiplication

jijiji

TI

TTTT

ij

jj

ij

ii

ij

ififif

1

1121

Forward Kinematics

11

Denavit J and Hartenberg RS, “A kinematic notation for lower-pair mechanisms based on matrices.” Trans ASME J. Appl. Mech,23:215–221, 1955 described a convention for standardizing the attachment of frames

on links of a serial linkage

common convention for attaching reference frames on links of a serial manipulator and computing the transformations between frames

Denavit-Hartenberg

12

iiii xaxdzzii RTTRT ,,,,

1

10000 i

i

i

dcssascccscasscsc

ii

iiiiii

iiiiii

anglejoint offsetlink

link twistlengthlink

i

i

i

i

d

a

Denavit-Hartenberg

13

Denavit-Hartenberg

14

notice the form of the rotation component

this does not look like it can represent arbitrary rotations

can the DH convention actually describe every physically possible link configuration?

ii

iiiii

iiiii

csscccs

sscsc

0

Denavit-Hartenberg

15

yes, but we must choose the orientation and position of the frames in a certain way

(DH1)

(DH2)

claim: if DH1 and DH2 are true then there exists unique numbers

1ˆˆ ii zx

1ˆ intersects ˆ ii zx

,,,,0

1 such that ,,, xaxdzz RDDRTda

Denavit-Hartenberg

16

proof: on blackboard in class

Denavit-Hartenberg

17

DH Parameters

18

ai : link length distance between zi-1 and zi measured along xi

i : link twist angle between zi-1 and zi measured about xi

di : link offset distance between oi-1 to the intersection of xi and zi-1 measured

along zi-1

i : joint angle angle between xi-1 and xi measured about zi-1

Example with Frames Already Placed

19

Step 5: Find the DH parameters

20

Link ai i di i

1 0 0 d1 1*2 0 -90 d2* 03 0 0 d3* 0

* joint variable

Denavit-Hartenberg Forward Kinematics

21

RPP cylindrical manipulator http://strobotics.com/cylindrical-format-robot.htm

Denavit-Hartenberg Forward Kinematics

22

How do we place the frames?

Step 1: Choose the z-axis for each frame

23

recall the DH transformation matrix

iiii xaxdzzii RTTRT ,,,,

1

10000 i

i

i

dcssascccscasscsc

ii

iiiiii

iiiiii

1ˆ iix 1ˆ i

iy 1ˆ iiz

Step 1: Choose the z-axis for each frame

24

axis of actuation for joint i+1

iz

link i link ilink i+1 link i+1

joint i+1 joint i+1

iz

iz

Step 1: Choose the z-axis for each frame

25

Warning: the picture is deceiving. We do not yet know the origin of the frames; all we know at this point is that each zi points along a joint axis

Step 2: Establish frame {0}

26

place the origin o0 anywhere on z0 often the choice of location is obvious

choose x0 and y0 so that {0} is right-handed often the choice of directions is obvious

Step 2: Establish frame {0}

27

Step 3: Iteratively construct {1}, {2}, ... {n-1}

28

using frame {i-1} construct frame {i} DH1: xi is perpendicular to zi-1

DH2: xi intersects zi-1

3 cases to consider depending on the relationship between zi-1and zi

Step 3: Iteratively construct {1}, {2}, ... {n-1}

29

Case 1 zi-1 and zi are not coplanar (skew)

i angle from zi-1 to zi measured about xi

iz1ˆ iz

(out of page)shortest line betweenand1ˆ iz iz

ix

io point of intersection

ia

Step 3: Iteratively construct {1}, {2}, ... {n-1}

30

Case 2 zi-1 and zi are parallel ( i = 0 )

notice that this choice results in di = 0

iz1ˆ iz

ix

io point of intersection

1ioia

Step 3: Iteratively construct {1}, {2}, ... {n-1}

31

Case 3 zi-1 and zi intersect ( ai = 0 )

iz

1ˆ iz

ixio point of intersection

(out of page)

Step 3: Iteratively construct {1}, {2}, ... {n-1}

32

Step 3: Iteratively construct {1}, {2}, ... {n-1}

33

Step 4: Place the end effector frame

34

“approach”

“sliding”

“normal”

Step 4: Place the end effector frame

35

Step 5: Find the DH parameters

36

ai : distance between zi-1 and zi measured along xi

i : angle between zi-1 and zi measured about xi

di : distance between oi-1 to the intersection of xi and zi-1measured along zi-1

i : angle between xi-1 and xi measured about zi-1

Step 5: Find the DH parameters

37

Link ai i di i

1 0 0 d1 1*2 0 -90 d2* 03 0 0 d3* 0

* joint variable

More Denavit-Hartenberg Examples

38

Step 5: Find the DH parameters

39

Link ai i di i

1 0 0 d1 1*2 0 -90 d2* 03 0 0 d3* 0

* joint variable

Step 6: Compute the transformation

40

once the DH parameters are known, it is easy to construct the overall transformation

Link ai i di i

1 0 0 d1 1*2 0 -90 d2* 03 0 0 d3* 0

* joint variable

1000100

0000

1

11

11

,,,,01 1111 d

cssc

RTTRT xaxdzz

Step 6: Compute the transformation

41

Link ai i di i

1 0 0 d1 1*2 0 -90 d2* 03 0 0 d3* 0

* joint variable

1000010

01000001

2,,,,

12 2222 d

RTTRT xaxdzz

Step 6: Compute the transformation

42

Link ai i di i

1 0 0 d1 1*2 0 -90 d2* 03 0 0 d3* 0

* joint variable

1000100

00100001

3,,,,

23 3333 d

RTTRT xaxdzz

Step 6: Compute the transformation

43

1000010

00

21

3111

3111

23

12

01

03 dd

dccsdssc

TTTT

Spherical Wrist

44

Spherical Wrist

45

Spherical Wrist: Step 1

46

Spherical Wrist: Step 2

47

Spherical Wrist: Step 2

48

Spherical Wrist: Step 4

49

Step 5: DH Parameters

50

Link ai i di i

4 0 -90 0 4*5 0 90 0 5*6 0 0 d6 6*

* joint variable

Step 6: Compute the transformation

51

10006556565

654546465464654

654546465464654

56

45

34

36 dccsscs

dssssccscsscccsdscsccssccssccc

TTTT

RPP + Spherical Wrist

52

RPP + Spherical Wrist

53

1000333231

232221

131211

36

03

06

z

y

x

drrrdrrrdrrr

TTT

21654

651641654111

dddssd

csssscccccr

z

Stanford Manipulator + Spherical Wrist

54

Link ai i di i

1 0 -90 0 1*2 0 90 d2 2*3 0 0 d3* 04 0 -90 0 4*5 0 90 0 5*6 0 0 d6 6*

* joint variable

SCARA + 1DOF Wrist

55

Link ai i di i

1 a1 0 d1 1*2 a2 180 0 2*3 0 0 d3* 04 0 0 d4 4* * joint variable