Вы находитесь на странице: 1из 54

Common coordinate transformations

Frame assignments using DH conventions

Coordinate Transformations
End-effector
Z
Base
Supply
Table
Goal
X
Y

Coordinate Transformations

End-effector

Supply

Table

Base

Goal

Coordinate Transformations

Robot forward

kinematic model

Relative Pose between 2 links

i
i-1

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

Z i axis is along joint axis i+1

Z i

Z i is axis of actuation for joint i+1

Z i-1

DH convention: Assign Z axes

Use actuation as a guide

Prismatic joint slides along z i

Revolute joint rotates around z i

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.

z 0 is along joint axis 1

Original:

any point on z 0 for origin

Modified DH:

{0} is defined to be completely co-incident with the reference system {1}, when the variable joint parameter, d 1 or q 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 z i-1 and z i :

Not-coplanar

Parallel

Intersect

DH convention: x axis

z i-1 and z i are not-coplanar

Common normal to axes is the “link” axis

Intersection with z i is origin
i
X
i
z i-1
z i

Usually, x i points from frame i-1 to

DH convention: x axis

z i and z i-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 z i

Origin
is intersection of x i with z i
X i

z i-1

z i

DH convention: x axis

z i

If joint axes z i-1 and z i intersect, x i is normal to the plane containing the axes

x i = (z i-1 z i )

X i

z i-1

DH convention: Origin non-coplanar Z

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

z i
x

i

DH convention: y axis

Y i is chosen to make a right hand frame

Z i
Y i
x i

x i points from frame i-1 to i

DH convention: Origin parallel Z

z i and z i-1 are parallel

Origin is intersection of x i with z i

z i-1
z i

x

i

DH convention: x axis - parallel Z

z i and z i-1 are parallel

Origin is intersection of x i with z i

Yi is chosen to make a right hand frame

y i
z i-1
z i

x

i

DH convention: origin

z i-1

z i

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

x i

DH convention: y axis

z i-1

z i

Y i is chosen to make a right hand frame

x i

y i

Z i-1

a i

Z

i

a

i

Z’ i

a i+1

a i+1

Z i+1

Joint Parameters

q i

d
i
q
i

q i+1

d i+1

-1

Original DH

Frame is placed at distal end of link

z i-1 screw motion

x i screw motion

DH Frames and Parameters

Robot Revolute Joint DH

Prismatic Joint DH

Described by 4 parameters:

a i : twist

a i : link length

d i : joint offset

q i : joint angle

Joint variable is d i or q i

Build Table with values for each link:

 Link Var q d a a 1 q 1 q 1 0 90 o L 1 2 d 2 0 d 2 0 0      

Described by 4 parameters:

a i : twist

a i : link length

d i : joint offset

q i : joint angle

Joint variable is d i or q i

z
i-1 screw motion
x
screw motion
i

A i =

A-matrices

contains only one variable or

Equation 3.10 in Spong, Hutchinson, Vidyasagar

Original DH

-1
Frame is placed at distal

z i-1 screw motion

x i screw motion

Modified DH
Z i+1
Z i
Z i+2
z i
y i
Frame is placed at
x i
proximal end of link

x i-1 screw motion

z i screw motion

Modified DH text figure

DH Example

3 revolute joints

Shown in home position

joint 1

R
joint 2
joint 3
L 1
L 2

DH Example

Z i is axis of actuation for joint i+1

Z 0

q 1

Z 1

q 2

Z 0 and Z 1 are not co-planar Z 1 and Z 2 are parallel

q 3

Z 2

DH Example:

Z 0 and Z 1 are not co-planar:
x 0 is the common normal
Z 0
q 1
x 1
x 2
x 3
x 0

Z

1

q 2

Z 2

q 3

Z

3

DH Example:

Z 0 and Z 1 are not co-planar:

x 0 is the common normal

q 1

Z 0

x 0

Z

1

x 1

x 2

q 2

Z 2

q 3

Z

3

x 3

Z 1 and Z 2 are parallel :

x 1 is selected as the common normal that lies along the center of the link

DH Example:

Z 0 and Z 1 are not co-planar:

x 0 is the common normal

q 1

Z 0

x 0

Z

1

x 1

x 2

q 2

Z 2

q 3

Z

3

x 3

Z 2 and Z 3 are parallel :

x 2 is selected as the common normal that lies along the center of the link

DH Example:

Shown with joints in non-zero positions

Z 0
x
z 3
q 2
q 3
x 2
x 1
Z 2
q 1
x 0

Z 1

3

Observe that frame i moves with link i

DH Example:

a 1 = 90 o (rotate by 90 o around x 0 to align R Z 0 and Z 1 )

Z 0
L 1
x 1
1
x 0

a

Z

1

Z 2

L 2

x 2

x 3

Z

3

DH Example:

Build table

R

Z 0

L 1
q 1
x 1
x 0
1

a

q 2

L 2

x 2

x 3

q 3

 Z 1 Z 2 Z 3 Link Var q d a a 1 1 q q 1 0 90 o R 2 2 q q 2 0 0 L 1 3 3 q q 3 0 0 L 2

DH Example:

 Link Var q d a a 1 q 1 q 1 0 90 o R 2 q 2 q 2 0 0 L 1 3 q 3 q 3 0 0 L 2

DH Example:

DH Example:

z 0
x
z 3
q 2
q 3
x 2
x 1
z 2
q 1
x 0

z 1

3

x 1 axis expressed wrt {0}

y 1 axis expressed wrt {0}

z 1 axis expressed wrt {0}

Origin of {1}

w.r.t. {0}

DH Example:

z 0
x
z 3
q 2
q 3
x 2
x 1
z 2
q 1
x 0

z 1

3

x 2 axis expressed wrt {1}

y 2 axis expressed wrt {1}

z 2 axis expressed wrt {1}

Origin of {2}

w.r.t. {1}

DH Example:

z 0
x
z 3
q 2
q 3
x 2
x 1
z 2
q 1
x 0

3

z 1

x 3 axis expressed wrt {2}

y 3 axis expressed wrt {2}

z 3 axis expressed wrt {2}

Origin of {3}

w.r.t. {2}

DH Example:

where

DH Example:alternate end-effector frame

Z i is axis of actuation for joint i+1

Z 0

q 1

Z 1

q 2

Z 0 and Z 1 are not co-planar Z 1 and Z 2 are parallel

q 3

Z 2

Pick this z 3

DH Example: alternate end-effector frame

Z 0

y

2

q 1
x 1
x 0
1

a

Z 1

q 2

Z 2

x 2
Z
3

q 3

Would need to
rotate about y 2
here!

DH Example: alternate end-effector frame

Z 0

x’ 2

q 1
x 1
x 2
x 0
1
Z 3
q 3

a

Z 1

q 2

Solution: Add “offset” to
rotation about z 2
(q 3 +90 o )

DH Example: alternate end-effector frame

Z 0

x’ 2

L
x 3
2
q 1
x 1
x 2
a
x 0
1
Z
q 3
q 2
Z 1
Z 2
Now can rotate
about x’ to align
z 2 and z 3

3

DH Example: alternate end-effector frame

 Link Var q d a a 1 q 1 q 1 0 90 o R 2 q 2 q 2 0 0 L 1 3 q 3 q 3 +90 o 0 90 o 0 e - L 2

DH Example: alternate end-effector frame

x 3
R
Z 0
x’ 2
L 1
L 2
Z 3
q 1
x 1
x 2
x 0
1
q 3

a

Z 1

q 2

Z 2

 Link Var q d a a 1 1 q q 1 0 90 o R 2 2 q q 2 0 0 L 1 3 3 q q 3 +90 o 0 90 o 0

DH Example: alternate end-effector frame

x 3
R
Z 0
x’ 2
L 1
L 2
Z 3
q 1
x 1
x 2
x 0
1
Z 3
q 3

a

Z 1

q 2

Z 2

DH Example: alternate end-effector frame

x 3
R
Z 0
x’ 2
L 1
L 2
Z 3
q 1
x 1
x 2
x 0
1
Z 3
q 3

a

Z 1

q 2

Z 2

DH Example: alternate end-effector frame

x 3
R
Z 0
x’ 2
L 1
L 2
Z 3
q 1
x 1
x 2
x 0
1
Z 3
q 3

a

Z 1

q 2

Z 2