Você está na página 1de 57

Kinematics Frame Assignment using Denavit-Hartenberg Convention Professor Nicola Ferrier ME Room 2246, 265-8793 ferrier@engr.wisc.

edu

Coordinate Transformations

Endeffector Z Base

Supply Table X Y Goal

Coordinate Transformations
Endeffector

Base Supply

Goal

Table

Coordinate Transformations

Robot forward kinematic model

Manipulator Forward Kinematics Motion is composition of elementary motions for each link

End-effector

Base

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 endeffector)

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 Zi
Link i-1 Link i+1

Link i
Zi-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 q1 , 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

zi-1

DH convention: x axis and zi are not-coplanar

Common normal to axes is the link axis Intersection with zi is origin

zi-1

Xi

Usually, xi points from frame i-1 to i

zi

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 xi = (zi-1 zi )

zi

link i Xi

zi-1

DH convention: Origin non-coplanar Z


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

zi

xi

DH convention: y axis Yi is chosen to make a right hand frame

xi points from frame i-1 to i

Zi

Yi xi

DH convention: Origin parallel Z zi and zi-1 are parallel


Origin is intersection of xi with zi

zi-1

zi
xi

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

zi-1

zi

yi

xi

DH convention: origin

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

zi zi-1
link i xi

DH convention: y axis

Yi is chosen to make a right hand frame

zi zi-1
link i xi

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

Z4

Often:
Origin between grippers Z points outward (approach) Y points along pinch direction (sliding) X points normal

ye xe

ze

Link Parameters
Zi Zi-1
Link i

ai+1
Zi

Zi+1

ai ai+1

ai

Joint Parameters

qi di+1 di qi qi+1

Original DH
-1

Frame is placed at distal end of link

zi-1 screw motion

xi screw motion

DH Frames and Parameters

Robot Revolute Joint DH

Prismatic Joint DH

Link Transformations

Described by 4 parameters:
ai : ai : di : qi : twist link length joint offset joint angle

Joint variable is di or qi Build Table with values for each link:


Link 1 Var q1 q q1 d 0 a
90o

a L1

d2

d2

Link Transformations

Described by 4 parameters:
ai : ai : di : qi : twist link length joint offset joint angle

Joint variable is di or qi Link Transformation is

zi-1 screw motion

xiscrew motion

A-matrices

Ai =

contains only one variable or

Equation 3.10 in Spong, Hutchinson, Vidyasagar

Original DH
-1

Frame is placed at distal end of link

zi-1 screw motion

xi screw motion

Modified DH
Zi+1 Zi

Zi+2

zi

yi

xi

Frame is placed at proximal end of link

xi-1 screw motion

zi screw motion

Modified DH text figure

DH Example: academic manipulator


3 revolute joints Shown in home position

joint 1 R

Link 2

Link 1
joint 2 L1

Link 3 joint 3
L2

DH Example: academic manipulator


Zi is axis of actuation for joint i+1

Z0 q1

Z0 and Z1 are not co-planar Z1 and Z2 are parallel

Z1

q2

Z2

q3

DH Example: academic manipulator


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

Z0 q1
x0 Z1 q2

x1 q3

x2

x3

Z2

Z3

DH Example: academic manipulator


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

Z0 q1
x0 Z1 q2

x1 q3

x2

x3

Z2

Z3

Z1 and Z2 are parallel : x1 is selected as the common normal that lies along the center of the link

DH Example: academic manipulator


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

Z0 q1
x0 Z1 q2

x1 q3

x2

x3

Z2

Z3

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 x3 z3 q3 q2 x2 q1 x1 Z2

Z0

x0

Z1
Observe that frame i moves with link i

DH Example: academic manipulator


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

Z0

L1
x1 x2

L2 x3

a1

x0
Z1 Z2 Z3

DH Example: academic manipulator


Build table

Z0 R q1
a1 x0 Z1 Link 1 2 3 q2 Z2 Var q1 q2 q3 q3 q q1 q2 q3 Z3 d 0 0 0 a
90o

L1
x1 x2

L2 x3

a R L1 L2

0 0

DH Example: academic manipulator


Link 1 Var q1 q q1 d 0 a
90o

a R

2 3

q2 q3

q2 q3

0 0

0 0

L1 L2

DH Example: academic manipulator

DH Example: academic manipulator


z0 q2 q1 z1
x1 axis expressed wrt {0} y1 axis expressed wrt {0} z1 axis expressed wrt {0} Origin of {1} w.r.t. {0}

x2 z2

q3

z3

x3

x1

x0

DH Example: academic manipulator


z0 q2 q1 z1
x2 axis expressed wrt {1} y2 axis expressed wrt {1} z2 axis expressed wrt {1} Origin of {2} w.r.t. {1}

x2 z2

q3

z3

x3

x1

x0

DH Example: academic manipulator


z0 q2 q1 z1
x3 axis expressed wrt {2} y3 axis expressed wrt {2} z3 axis expressed wrt {2} Origin of {3} w.r.t. {2}

x2 z2

q3

z3

x3

x1

x0

DH Example: academic manipulator

where

DH Example: academic manipulator alternate end-effector frame


Zi is axis of actuation for joint i+1 Z0 q1 Z0 and Z1 are not co-planar Z1 and Z2 are parallel

Z1 q2

Z2

q3

Pick this z3

DH Example: academic manipulator alternate end-effector frame


Z0 q1
a1 x0 Z1 q2 Z2 q3 Would need to rotate about y2 here! x1

y2
x2 Z3

DH Example: academic manipulator alternate end-effector frame


Z0 q1
a1 x0 Z1 q2 q3 x1 x2 x2 Z3

Solution: Add offset to rotation about z2 (q3+90o )

DH Example: academic manipulator alternate end-effector frame


Z0 q1
a1 x0 Z1 q2 Z2 q3 Now can rotate about x to align z2 and z3 x1 x2

L2 x2

x3

Z3

DH Example: academic manipulator alternate end-effector frame


Link 1 2 3 e Var q1 q2 q3
-

q q1 q2 q3 +90o

d 0 0 0

a
90o

a R L1 0 L2

0
90o

DH Example: academic manipulator alternate end-effector frame


Z0 R q1
a1 x0 Z1 Link 1 2 3 q2 Z2 Var q1 q2 q3 q3 q q1 q2 q3 +90o d 0 0 0 a
90o

x3

L1
x1

x2

L2 x2

Z3

a R L1 0

0
90o

DH Example: academic manipulator alternate end-effector frame


x3

Z0 R q1
a1 x0 Z1 q2 Z2 q3

L1
x1

x2

L2 x2 Z3

Z3

DH Example: academic manipulator alternate end-effector frame


x3

Z0 R q1
a1 x0 Z1 q2 Z2 q3

L1
x1

x2

L2 x2 Z3

Z3

DH Example: academic manipulator alternate end-effector frame


x3

Z0 R q1
a1 x0 Z1 q2 Z2 q3

L1
x1

x2

L2 x2 Z3

Z3

Você também pode gostar