Kinematics – Frame Assignment using Denavit-Hartenberg Convention

57
Kinematics – Frame Assignment using Denavit-Hartenberg Convention Professor Nicola Ferrier ME Room 2246, 265-8793 [email protected]

description

Kinematics – Frame Assignment using Denavit-Hartenberg Convention. Professor Nicola Ferrier ME Room 2246, 265-8793 [email protected]. Coordinate Transformations. End-effector. Z. Base. Supply. Table. Goal. Y. X. Coordinate Transformations. End-effector. Base. Supply. Goal. - PowerPoint PPT Presentation

Transcript of Kinematics – Frame Assignment using Denavit-Hartenberg Convention

Kinematics – Frame Assignment using Denavit-Hartenberg Convention

Professor Nicola FerrierME Room 2246, 265-8793

[email protected]

Coordinate Transformations

X Y

Z

Goal

Base

Supply

End-effector

Table

Coordinate Transformations

Goal

Base

Supply

End-effector

Table

Coordinate Transformations

Robot forward kinematic model

• Motion is composition of elementary motions for each link

Base

End-effector

Manipulator Forward Kinematics

Relative Pose between 2 links

i-1

i

Relative Pose between 2 links

• Frames can be chosen arbitrarily• Denavit-Hartenberg convention is used

to assign frames – described in §3.2.2 of Spong, Hutchinson, Vidyasagar Text

• Iterative process (start at base, assign frames for each link from base to end-effector)

DH Frame assignment• Frame {i} moves with link i when joint i is actuated

• Zi axis is along joint axis i+1

• Zi is axis of actuation for joint i+1

Link i

Zi-1

Zi

Link i+1Link i-1

DH convention: Assign Z axes

• Use actuation as a guide– Prismatic – joint slides along zi

– Revolute – joint rotates around zi

• Establish base frame {0}:– Nearly arbitrary

• Start at base and assign frames 1,…,N– Pick x-axis and origin– y-axis chosen to form a right hand system

Robot Base

• Often base is “given” or some fixed point on the work-table is used.

• z0 is along joint axis 1

• Original: – any point on z0 for origin

• Modified DH: – {0} is defined to be

completely co-incident with the reference system {1}, when the variable joint parameter, d1 or 1 , is zero.

DH convention: Assign X axes

• Start at base and assign frames 1,…,N– Pick x-axis and origin– y-axis chosen to form a right hand system

• Consider 3 cases for zi-1 and zi:– Not-coplanar– Parallel– Intersect

DH convention: x axis• zi-1 and zi are not-coplanar

• Common normal to axes is the “link” axis

• Intersection with zi is origin

Xizi-1zi

Usually, xi points from frame i-1 to i

DH convention: x axis

• zi and zi-1 are parallel• Infinitely many common normals• Pick one to be the “link” axis

• Choose normal that passes through origin of frame {i-1} pointing toward zi

• Origin is intersection of xi with zi

Xi

zi-1 zi

DH convention: x axis

If joint axes zi-1 and zi

intersect, xi is normal to the plane containing the axes

link i

Xi

xi = (zi-1 zi )

zi-1

zi

DH convention: Origin non-coplanar Z

Origin of frame {i} is placed at intersection of joint axis and link axis

xi

zi

DH convention: y axis

• Yi is chosen to make a right hand frame

xi

Zixi points from frame i-1 to i

Yi

DH convention: Origin parallel Z

• zi and zi-1 are parallel

• Origin is intersection of xi with zi

xi

zizi-1

DH convention: x axis - parallel Z

• zi and zi-1 are parallel

• Origin is intersection of xi with zi

• Yi is chosen to make a right hand frame

xi

zi

yizi-1

DH convention: origin

link i

xi

zi-1

zi

If joint axes intersect, the origin of frame {i} is usually placed at intersection of the joint axes

DH convention: y axis

link i

xi

zi-1

zi

Yi is chosen to make a right hand frame

yi

End-Effector Frame• Frame to which

the gripper is attached– Sometimes {n} is

used – denoted by {e} (or

{n+1} in many texts)

– Often simple translation along Xn axis

Z4

Ze

Xe

End-Effector Frame• Frame to which

the gripper is attached – – denoted by {e} (or

{n+1} in many texts)

– Often simple translation along Xn axis

• Often:– Origin between

grippers– Z points outward

(approach)– Y points along

pinch direction (sliding)

– X points normal

Z4

ze xe

ye

Link Parameters

ai+1

Zi-1

Z’i

Zi+1

Zi

i+1

i

ai

Link i

Joint Parameters

i+1

di

di+1

i

i

-1

Original DH

Frame is placed at distal end of link

xi screw motionzi-1 screw motion

DH Frames and Parameters

Robot Revolute Joint DH

Prismatic Joint DH

Link Transformations

• Described by 4 parameters:– i : twist

– ai : link length

– di : joint offset

– i : joint angle

• Joint variable is di or i

• Build Table with values for each link:Link Var d a

1 1 1 0 90o L1

2 d2 0 d2 0 0

Link Transformations

• Described by 4 parameters:– i : twist

– ai : link length

– di : joint offset

– i : joint angle

• Joint variable is di or i

• Link Transformation is

xiscrew motion zi-1 screw motion

A-matrices

Ai = contains only one variable

or

Equation 3.10 in Spong, Hutchinson, Vidyasagar

-1

Original DH

Frame is placed at distal end of link

zi-1 screw motion xi screw motion

ZiZi+2

Zi+1

Modified DH

Frame is placed at proximal end of link

xi

zi yi

zi screw motionxi-1 screw motion

Modified DH – text figure

DH Example: “academic manipulator”

3 revolute jointsShown in home position

Link 1 Link 3

Link 2

joint 1

joint 2 joint 3

R

L1 L2

DH Example: “academic manipulator”

Zi is axis of actuation for joint i+1

Z1

Z0

Z2

1

23

Z0 and Z1 are not co-planar

Z1 and Z2 are parallel

DH Example: “academic manipulator”

Z1

Z0

Z2

1

23

x0

x1 x2 x3

Z3

Z0 and Z1 are not co-planar:x0 is the common normal

DH Example: “academic manipulator”

Z1

Z0

Z2

1

23

x0

x1 x2 x3

Z3

Z0 and Z1 are not co-planar:x0 is the common normal

Z1 and Z2 are parallel :x1 is selected as the common

normal that lies along the center of the link

DH Example: “academic manipulator”

Z1

Z0

Z2

1

23

x0

x1 x2 x3

Z3

Z0 and Z1 are not co-planar:x0 is the common normal

Z2 and Z3 are parallel :x2 is selected as the common

normal that lies along the center of the link

DH Example: “academic manipulator”

Shown with joints in non-zero positions

Z1

Z0

Z21

2 3

x0

x1

x2

z3

x3

Observe that frame i moves with link i

DH Example: “academic manipulator”

Z1

Z0

Z2

Link lengths given1 = 90o (rotate by 90o around x0 to align Z0 and Z1)

x0

x1 x2 x3

Z3

R

L1L2

1

DH Example: “academic manipulator”

Z1

Z0

Z2

1

23

Build table

x0

x1 x2 x3

Z3

Link Var d a

1 1 1 0 90o R

2 2 2 0 0 L1

3 3 3 0 0 L2

R

L1L2

1

DH Example: “academic manipulator”

Link Var d a

1 1 1 0 90o R

2 2 2 0 0 L1

3 3 3 0 0 L2

DH Example: “academic manipulator”

DH Example: “academic manipulator”

z1

z0

z21

2 3

x0

x1

x2

z3

x3

Origin of {1} w.r.t. {0}

x1 axis expressed wrt {0}

y1 axis expressed wrt {0}

z1 axis expressed wrt {0}

DH Example: “academic manipulator”

z1

z0

z21

2 3

x0

x1

x2

z3

x3

Origin of {2} w.r.t. {1}

x2 axis expressed wrt {1}

y2 axis expressed wrt {1}

z2 axis expressed wrt {1}

DH Example: “academic manipulator”

z1

z0

z21

2 3

x0

x1

x2

z3

x3

Origin of {3} w.r.t. {2}

x3 axis expressed wrt {2}

y3 axis expressed wrt {2}

z3 axis expressed wrt {2}

DH Example: “academic manipulator”

where

DH Example: “academic manipulator” – alternate end-effector frame

Zi is axis of actuation for joint i+1

Z1

Z0

Z2

1

23

Z0 and Z1 are not co-planar

Z1 and Z2 are parallel

Pick this z3

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

Z2

1

23

x0

x1

Z31

x2

Would need to rotate about y2

here!

y2

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

1

23

x0

x1

x’2

Z31

x2

Solution: Add “offset” to

rotation about z2

3+90o

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

Z2

1

23

x0

x1

x’2 x3

Z3

L2

1

x2

Now can rotate about x’ to align z2

and z3

DH Example: “academic manipulator” – alternate end-effector frame

Link Var d a

1 1 1 0 90o R

2 2 2 0 0 L1

3 3 3 +90o 0 90o 0

e - L2

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

Z2

1

23

x0

x1

x’2

x3

Z3

Link Var d a

1 1 1 0 90o R

2 2 2 0 0 L1

3 3 3 +90o 0 90o 0

R

L1L2

1

x2

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

Z2

1

23

x0

x1

x’2

x3

Z3

R

L1L2

1

x2

Z3

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

Z2

1

23

x0

x1

x’2

x3

Z3

R

L1L2

1

x2

Z3

DH Example: “academic manipulator” – alternate end-effector frame

Z1

Z0

Z2

1

23

x0

x1

x’2

x3

Z3

R

L1L2

1

x2

Z3