Kinematics: Solving Sequences Manipulators & DH parameters P P - - PowerPoint PPT Presentation

kinematics solving sequences
SMART_READER_LITE
LIVE PREVIEW

Kinematics: Solving Sequences Manipulators & DH parameters P P - - PowerPoint PPT Presentation

Kinematics: Solving Sequences Manipulators & DH parameters P P y 1 y 1 x 1 x 1 Many slides, graphics, and ideas adapted (with thanks!) from: Siegwart, Nourbakhsh and Scaramuzza, Autonomous Mobile Robots Renata Melamud, An


slide-1
SLIDE 1

Kinematics: Solving Sequences

Manipulators & DH parameters

x1 y1 P

θ

x1 y1 P

θ

Many slides, graphics, and ideas adapted (with thanks!) from: Siegwart, Nourbakhsh and Scaramuzza, Autonomous Mobile Robots Renata Melamud, An Introduction to Robot Kinematics, CMU Rick Parent, Computer Animation, Ohio State Steve Rotenberg, Computer Animation, UCSD Angela Sodemann, www.youtube.com/watch?v=lVjFhNv2N8o, ASU : www.cs.cmu.edu/~16311/ppp/Kinematics_final.pdf

slide-2
SLIDE 2

2 2

§ Go

Goal: Figure out where robot or end effector is in the global (world) frame of reference

§ Met

Metho hod: Treat robot and world as having different frames of reference that we convert between

§ Use matrices that represent complete

information about world and robot

§

Where it is (location of the origin)

§

Which way axes are pointed (orientation) § Why

Why: so we can put the robot where we want it

Review: Kinematics

x1 y1 P

θ

x1 y1 P

θ

slide-3
SLIDE 3

3 3

§ Go

Goal: Figure out where end effector is

§ Met

Metho hod: Treat each joint as having its

  • wn independent frame that moves with

respect to the previous one

§ Joint 1 moves wrt. the world § Joint 2 moves wrt. joint 1, etc.

§ Then, each transform from joint i to joint

i+1 is a single rotation or translation

§ Each joint has one degree of freedom § Multi-axis joints are treated as 2+ joints

connected by zero-length links

Review: Manip. Kinematics

slide-4
SLIDE 4

4 4

§ Any frame of reference can be represented by:

§ 3 numbers for planar movement: (x, y, θ) § 6 numbers for 3D: (x, y, z, φ, θ, ψ) (roll/pitch/yaw)

§ Any rotation can be broken down into single

rotations around one axis each

§ We transform rotations between frames by

multiplying by a rotation matrix

§ Derived trigonometrically

Review: Rotation

slide-5
SLIDE 5

5 5

§ Any frame of reference can be represented by:

§ 3 numbers for planar movement: (x, y, θ) § 6 numbers for 3D: (x, y, z, φ, θ, ψ)

§ Any translation (movement) can be broken

down into single moves in one axis each

§ We transform translations by adding location

information to the matrices, as follows

Review: Translation

1 0 0 x 0 1 0 y 0 0 1 z 0 0 0 1 1 0 x 0 1 y 0 0 1

(we’ll do rotation and translation exercises in class, as well as DH)

slide-6
SLIDE 6

7 7

joint i joint i-1 joint i+1 § Arm made up of links in a chain § Joints each have <x,y,z> and roll/pitch/yaw

§ So, each joint has a coordinate system

§ We label links, joints, and angles

Review: Describing A Manipulator

slide-7
SLIDE 7

8 8

§ You’ll sometimes see vector Φ to represent the

array of M joint values:

§ We sometimes use vector e to represent array of

N values describing end effector

§ Position/orientation § E.g., configuration

§ Example:

§ For end effector position and orientation, e would

contain 6 DOFs: 3 translations and 3 rotations

§ If we only need position, e would contain 3 translations

Review: Kinematics

[ ]

M

f f f ...

2 1

= Φ

e = e1 e2 ... eN ⎡ ⎣ ⎤ ⎦

slide-8
SLIDE 8

9 9

θ1, θ2, …, θn

Review: Forward & Inverse

Joint space (robot space – previously R) This is what we can directly control Cartesian space (global space – previously I) This is where things in the robot’s environment are

(x,y,z), r/p/y

slide-9
SLIDE 9

10 10

§ We are we looking for transformation matrix (or

transform) T that converts between frame i and frame i-1:

§ Determine position and orientation of end-

effector as function of displacements in joints

Forward: i à i-1

(or T )

i i-1

i-1Ti

(or ) T i

i-1

slide-10
SLIDE 10

11 11

joint i joint i-1 joint i+1

Forward Kinematics and IK

§ Joint angles ⇆ end effector configuration in I § Can string together rotations with multiplication

§ So, can get end effector rotation by ?

§ Finding rotation from

[joint i-1 to i] ✕ [joint i to i+1] ✕ …

§ Rot

Rotation

  • n of
  • f end

ef effec ector frame, relative to ba base fra frame

www.youtube.com/watch?v=lVjFhNv2N8o

slide-11
SLIDE 11

14 14

Describing A Manipulator

joint i joint i-1 joint i+1

§ But where do these frames come from? § An arm is made up of links in a chain

§ How

How to

  • describe each link?

§ Many choices exist § DH parameters widely used

§

Also: quaternions, Euler angles, … § Denavit-Hartenberg parameters

§ DH parameters let you

describe each t-iTi with

  • nly 4 values

§ ai-1, αi-1, di, θ2

slide-12
SLIDE 12

15 15

§ Ef

Efficient wa way of

  • f findi

ding g transfor

  • rmation
  • n matrices

1. 1.

Set Set frames for all joints

§ This is actually the tricky part

2. 2.

Ca Calculate all DH parameters from frames

§

4 DH parameters (not 6!) define position/orientation*

3. 3.

Po Popula ulate DH parameter table

4. 4.

Po Popula ulate joint-to-joint DH transformation matrices

§

Matrix for 0-1, matrix for 1-2, etc.

5. 5.

Mul Multiply all matrices together, in order

§

0-1 × 1-2 × 2-3 × …

Denavit-Hartenberg Method

* How is this possible? We already have some constraints on joints – i.e., that they’re connected by a rigid link that can rotate or displace (but not both)

slide-13
SLIDE 13

16 16

P

§ What’s the frame of reference for a joint?

§ Actually, completely flexible

§ We usually choose:

§ 1 axis through the center of

rotation/direction of displacement

§ 2 more perpendicular to that

§

Which can be any orientation! § We can move the origin

§ P is no longer <0, 0, 0>

§ To use DH method, choose frames carefully

Defining Frames for Joints

slide-14
SLIDE 14

17 17

§ z axis must be axis of motion

§ Rotation around z for revolute § Translation along z for prismatic

§ xi axis orthogonal to zi an

and zi-1

§ There’s always a line that satisfies this

§ y axis must follow the right-hand rule

§ Fingers point +x § Thumb points +z § Palm faces +y

§ xi axis must intersect zi-1 axis

§ Which may mean translating origin

  • 1. Choose Frames for DH

+x +z +y

slide-15
SLIDE 15

ai-1 : link length – distance Zi-1 ⇆ Zi along Xi αi-1 : link twist – angle Zi-1 ⇆ Zi around Xi di : link offset – distance Xi-1 to Xi along Zi θi : joint angle – angle Xi-1 and Xi around Zi

  • 2. Find DH Parameters

Given frames (from 1):

slide-16
SLIDE 16

19 19

Given parameters:

§

Create a parameter table

§ # of rows = (# of frames) – 1 § Columns = 4 (always) ß DH parameters θ, α, a, d

  • 3. DH Parameter Table

θ α a d frame 0-1 θ0-1 α0-1 a0-1 d0-1 frame 1-2 θ1-2 α1-2 a1-2 d1-2 frame 2-3 … … … …

slide-17
SLIDE 17

20 20

Given parameter table:

§ Fill DH transformation matrix* for each transition: § And multiply (e.g., ) §

is the same matrix as would be found by

  • ther methods. DH is fast and efficient.
  • 4. Make Transform Matrix

* Conceptual derivation is at the end Ri

i−1 =

cosθi −sinθi cosαi,i+1 sinθi sinαi,i+1 ai,i+1cosθi sinθi cosθi cosαi,i+1 −cosθi sinαi,i+1 ai,i+1sinθi sinαi,i+1 cosαi,i+1 di 1 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥

R2

0 = R 1 0R2 1

R2

slide-18
SLIDE 18

22 22

ai-1 : di distance ce Zi-1 an and Zi al along Xi αi-1 : an angle Zi-1 an and Zi ar around Xi di : di distance ce Xi-1 to to Xi al along Zi θ2 : an angle Xi-1 an and Xi ar around Zi

§ Coordinate transformation:

Transformation i to i-1

together: screw displacement together: screw displacement 𝑌# = Trans*+ 𝑏#,#./ Rot*+ 𝑏#,#./ 𝑎# = Trans4+ 𝑏#,#./ Rot4+ 𝑏#,#./

# #5/𝑈 = 𝑎# 𝑌# = Trans4+ 𝑒# Rot4+ 𝜄# Trans*+ 𝑏#,#./ Rot*+ 𝑏#,#./

slide-19
SLIDE 19

23 23

Transformation i to i-1

Transformation in DH:

Ri

i−1 =

cosθi −sinθi cosαi,i+1 sinθi sinαi,i+1 ai,i+1cosθi sinθi cosθi cosαi,i+1 −cosθi sinαi,i+1 ai,i+1sinθi sinαi,i+1 cosαi,i+1 di 1 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ Trans4+ 𝑒# = 1 1 1 𝑒# 1 Trans*+ 𝑏#,#./ = 1 𝑏#,#./ 1 1 1 Rot*+ 𝛽#,#./ = 1 cos𝛽#,#./ −sin𝛽#,#./ sin𝛽#,#./ cos𝛽#,#./ 1 Rot4+ 𝜄# = cos 𝜄# −sin 𝜄# sin 𝜄# cos 𝜄# 1 1

slide-20
SLIDE 20

Exercises

slide-21
SLIDE 21

26 26 §

Hom Homog

  • geneou
  • us

tra transfo formati tions translate and rotate simultaneously.

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 Xworld Yworld

YR XR

slide-22
SLIDE 22

27 27

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3 Xworld Yworld

YR XR

/

?𝑈 =

slide-23
SLIDE 23

28 28

Exercise 1

Xworld Yworld 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

YR XR

/

?𝑈 =

slide-24
SLIDE 24

29 29

Exercise 1

Xworld Yworld 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

YR XR

slide-25
SLIDE 25

30 30

Exercise 1

Xworld Yworld 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

cos 𝜄 −sin 𝜄 𝑦 sin 𝜄 cos 𝜄 𝑧 1

YR XR

slide-26
SLIDE 26

31 31

Exercise 1

Xworld Yworld 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

cos B 𝜌 2 −sin B 𝜌 2 sin B 𝜌 2 cos B 𝜌 2 5 1

YR XR

slide-27
SLIDE 27

32 32

Exercise 1

Xworld Yworld 1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1

YR XR

slide-28
SLIDE 28

33 33

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1 Xworld Yworld

YR X

R
slide-29
SLIDE 29

34 34

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1 Xworld Yworld

XR Y

slide-30
SLIDE 30

35 35

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1 Xworld Yworld

Y

R

XR

F

/𝑈 =

slide-31
SLIDE 31

36 36

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1 Xworld Yworld

Y

R

XR

F

/𝑈 =

slide-32
SLIDE 32

37 37

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1 Xworld Yworld

F

/𝑈 =

1 −1 −5 1

X

R

YR

slide-33
SLIDE 33

38 38

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

/

?𝑈 =

−1 1 5 1 Xworld Yworld

F

/𝑈 =

1 −1 −5 1

XR YR

G

F𝑈 =

1 −1 −3 1

slide-34
SLIDE 34

39 39

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

F ?𝑈 = / ?𝑈 × F /𝑈 × G F𝑈 =

1 5 −1 2 1

Xworld Yworld

YR XR

slide-35
SLIDE 35

40 40

Exercise 1

1. Rotates 90˚ 2. Moves forward 5 3. Rotates -90 4. Moves forward 5 5. Rotates -90 6. Moves forward 3

F ?𝑈 = / ?𝑈 × F /𝑈 × G F𝑈 =

1 5 −1 2 1

Xworld Yworld

YR XR

…which is consistent with what we see.

slide-36
SLIDE 36

41 41

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R? 2. What are its coordinates in W?

F ?𝑈 =

1 5 −1 2 1 Xworld Yworld

YR XR

slide-37
SLIDE 37

42 42

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • We can transform between

FR and FS

  • Right now let’s eyeball it

F ?𝑈 =

1 5 −1 2 1 Xworld Yworld

YR XR

slide-38
SLIDE 38

43 43

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • We can transform between

FR and FS

  • Right now let’s eyeball it
  • Looks like it’s 1m ahead

(+x) and 1m in -y

F ?𝑈 =

1 5 −1 2 1 Xworld Yworld

YR XR YR XR

slide-39
SLIDE 39

44 44

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in FR?

  • We can transform between

FR and FS

  • Right now let’s eyeball it
  • Looks like it’s 1m ahead

(+x) and 1m in –y

  • We can ignore rotation

F ?𝑈 =

1 5 −1 2 1 Xworld Yworld

YR XR YR XR

slide-40
SLIDE 40

45 45

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1

F ?𝑈 =

1 5 −1 2 1 Xworld Yworld

YR XR YR XR

slide-41
SLIDE 41

46 46

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1 2. What are its coordinates in W?

J K𝑈 =

1 5 −1 2 1 Xworld Yworld

YR XR YR XR

slide-42
SLIDE 42

47 47

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1 2. What are its coordinates in W? 𝜊MN = Xworld Yworld

YR XR YR XR

slide-43
SLIDE 43

48 48

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1 2. What are its coordinates in W? 𝜊K = J

K𝑈 × 𝜊J

Xworld Yworld

YR XR YR XR

slide-44
SLIDE 44

49 49

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1 2. What are its coordinates in W? 𝜊M = 1 5 −1 2 1 × 1 −1 1 = Xworld Yworld

YR XR YR XR

slide-45
SLIDE 45

50 50

Exercise 2

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1 2. What are its coordinates in W?

  • Which, again, looks right!

𝜊M = 1 5 −1 2 1 × 1 −1 1 = 4 1 1 Xworld Yworld

YR XR YR XR

slide-46
SLIDE 46

51 51

Exercise 3

Now let’s say we sense an obstacle. 1. What are its coordinates in R?

  • 1

−1 1 2. What are its coordinates in W?

  • Which, again, looks right!

𝜊M = 1 5 −1 2 1 × 1 −1 1 = 4 1 1 Xworld Yworld

YR XR YR XR