Embed
Email

Kinematics

Document Sample
Kinematics
Shared by: HC111125153930
Categories
Tags
Stats
views:
4
posted:
11/25/2011
language:
English
pages:
98
Kinematics

Time to Derive Kinematics Model

of the Robotic Arm







Amirkabir University of Technology

Computer Engineering & Information Technology Department

‫سینماتیک مستقیم‬



Where is my hand?









Direct Kinematics:

HERE!

‫سینماتیک بازوی صنعتی‬

Objective:

To drive a method to compute the

position and orientation of the

manipulator’s end-effector relative to the

base of the manipulator as a function of

the joint variables.

Degrees of Freedom

The degrees of freedom of a rigid body is defined as

the number of independent movements it has.

The number of :

• Independent position

variables needed to locate all

parts of the mechanism,

• Different ways in which a

robot arm can move,

• Joints

DOF of a Rigid Body





In a plane







In space

Degrees of Freedom

3 position

3D Space = 6 DOF

3 orientation

In robotics:

DOF = number of independently driven joints

positioning accuracy

As DOF computational complexity

cost

flexibility

power transmission is

more difficult

Robot Links and Joints

A manipulator may be thought of as a set of

bodies (links) connected in a chain by joints.









In open kinematics chains (i.e. Industrial

Manipulators):



{No of D.O.F. = No of Joints}

Lower Pair

The connection between a pair of bodies

when the relative motion is characterized

by two surfaces sliding over one another

The Six Possible Lower Pair Joints

Higher Pair

A higher pair joint is one which contact

occurs only at isolated points or along a

line segments

Robot Joints



Revolute Joint

1 DOF ( Variable - q)









Spherical Joint Prismatic Joint

3 DOF ( Variables - q 1, q 2, q 3) 1 DOF (linear) (Variables - d)

Robot Specifications

Number of axes

Major axes, (1-3) =>

position the wrist

Minor axes, (4-6) => orient

the tool

Redundant, (7-n) =>

reaching around obstacles,

avoiding undesirable

configuration

An Example - The PUMA 560



2

3









1 4







The PUMA 560 has SIX revolute joints.

A revolute joint has ONE degree of freedom There are two more joints on the

end-effector (the gripper)

( 1 DOF) that is defined by its angle.

Note on Joints

Without loss of generality, we will consider

only manipulators which have joints with a

single degree of freedom.

A joint having n degrees of freedom can

be modeled as n joints of one degree of

freedom connected with n-1 links of zero

length.

Link

A link is considered as a rigid body which

defines the relationship between two

neighboring joint axes of a manipulator. z n

z n+1

zn

an q n+1

x n+1

qn xn

xn

Link n

Joint n+1

Joint n

The Kinematics Function of a Link

The kinematics

function of a link is to

maintain a fixed

relationship between

the two joint axes it

supports.

This relationship can

be described with

two parameters: the

link length a, the link

twist a

Link Length

Is measured along a line which is mutually

perpendicular to both axes.

The mutually perpendicular always exists

and is unique except when both axes are

parallel.

Link twist

Project both axes i-1 and i onto the plane

whose normal is the mutually perpendicular

line, and measure the angle between them

Right-hand sense

Link Length and Twist Axis i







Axis i-1









ai-1

Joint Parameters

A joint axis is established at the connection of two links.

This joint will have two normals connected to it one

for each of the links.



The relative position of two links is called link offset dn

whish is the distance between the links (the

displacement, along the joint axes between the links).



The joint angle qn between the normals is measured in

a plane normal to the joint axis.

Link and Joint Parameters

Axis i





Axis i-1







qi di









ai-1

Link and Joint Parameters

4 parameters are associated with each link. You

can align the two axis using these parameters.



Link parameters:

an the length of the link.

an the twist angle between the joint axes.



Joint parameters:

qn the angle between the links.

dn the distance between the links

Link Connection Description:

For Revolute Joints: a, a, and d.

are all fixed, then “qi” is the.

Joint Variable.









For Prismatic Joints: a, a, and q.

are all fixed, then “di” is the.

Joint Variable.



These four parameters: (Link-Length ai-1), (Link-Twist ai-1(, (Link-Offset di),

(Joint-Angle qi) are known as the Denavit-Hartenberg Link Parameters.

Links Numbering Convention



Base of the arm: Link-0 Link 2

2

1st moving link: Link-1 3 Link 3

.

. Link 1

1

.

.

. Link 0

. 0

Last moving link Link-n







A 3-DOF Manipulator Arm

First and Last Links in the Chain

a0= an=0.0



a0= an=0.0



If joint 1 is revolute: d0= 0 and q1 is arbitrary



If joint 1 is prismatic: d0= arbitrary and q1 = 0

Special cases:



If joint axes zi-1 and zi intersect, parameter ai

is zero.

If the common perpendicular to zi-1 and zi

intersects zi-1 at the origin of frame Fi-1, then

di-1 is zero.

If joint axes zi-1 and zi are parallel, angle ai is

zero.

Affixing Frames to Links

In order to describe the location of each link

relative to its neighbors we define a frame

attached to each link.



The Z axis is coincident with the joint axis i.

The origin of frame is located where ai

perpendicular intersects the joint i axis.

The X axis points along ai( from i to i+1).

If ai = 0 (i.E. The axes intersect) then Xi is

perpendicular to axes i and i+1.

The Y axis is formed by right hand rule.

Affixing Frames to Links

First and last links

Base frame (0) is arbitrary

 Make life easy

 Coincides with frame {1} when joint parameter is 0

Frame {n} (last link)

 Revolute joint n:

 Xn = Xn-1 when qn = 0

 Origin {n} such that dn=0

 Prismatic joint n:

 Xn such that qn = 0

 Origin {n} at intersection of joint axis n and Xn when dn=0

Affixing Frames to Links

Joint n

Joint n-1 Link n





Joint n+1

Link n-1









zn

zn+1

zn-1 xn

yn-1

dn an

an-1 yn an xn+1



xn-1 yn+1

Affixing Frames to Links

Note: assign link frames so as to cause as many link

parameters as possible to become zero!



The reference vector z of a link-frame is always on a joint

axis.

The parameter di is algebraic and may be negative. It is

constant if joint i is revolute and variable when joint i is

prismatic.

The parameter ai is always constant and positive.

a i is always chosen positive with the smallest possible

magnitude.

The Kinematics Model

The robot can now be kinematically modeled by

using the link transforms ie:

0

nT  T1T2T3 Ti Tn

Where

0 T is the pose of the end-effector relative to

n

base;

Ti is the link transform for the ith joint;

and

n is the number of links.

The Denavit-Hartenberg (D-H)

Representation



In the robotics literature, the Denavit-

Hartenberg (D-H) representation has been

used, almost universally, to derive the

kinematic description of robotic

manipulators.

The Denavit-Hartenberg (D-H)

Representation



The appeal of the D-H representation lies in

its algorithmic approach.

The method begins with a systematic

approach to assigning and labeling an

orthonormal (x,y,z) coordinate system to

each robot joint. It is then possible to relate

one joint to the next and ultimately to

assemble a complete representation of a

robot's geometry.

Denavit-Hartenberg

Parameters

Axis i





Axis i-1 qi





di









ai-1

The Link Parameters

ai = the distance from zi to zi+1.

measured along xi.



ai = the angle between zi and zi+1.

measured about xi.



di = the distance from xi-1 to xi.

measured along z i.



qi = the angle between xi-1 to xi.

measured about z i

General Transformation Between

Two Bodies

In D-H convention, a general transformation

between two bodies is defined as the product

of four basic transformations:



A translation along the initial z axis by d,

A rotation about the initial z axis by q,

A translation along the new x axis by a, and.

A rotation about the new x axis by a.

A General Transformation in D-H

Convention



D-H transformation for adjacent coordinate

frames:

i 1

T i

 Tz ,q Tz ,d Tx,aTx,a I 44

Denavit-Hartenberg Convention



D1. Establish the base coordinate system. Establish a right-handed

orthonormal coordinate system ( X 0 , Y0 , Z 0 ) at the supporting base

with Z 0 axis lying along the axis of motion of joint 1.

D2. Initialize and loop Steps D3 to D6 for I=1,2,….n-1

D3. Establish joint axis. Align the Zi with the axis of motion (rotary

or sliding) of joint i+1.

 D4. Establish the origin of the ith coordinate system. Locate the

origin of the ith coordinate at the intersection of the Zi & Zi-1 or at

the intersection of common normal between the Zi & Zi-1 axes and

the Zi axis.

 D5. Establish Xi axis. Establish X i  (Zi1  Zi ) / Zi1  Zi or along

the common normal between the Zi-1 & Zi axes when they are

parallel.

 D6. Establish Yi axis. Assign Yi  (Zi  X i ) / Zi  X i to complete

the right-handed coordinate system.

Denavit-Hartenberg Convention

D7. Establish the hand coordinate system

D8. Find the link and joint parameters : d,a,a,q





D-H transformation for adjacent coordinate

frames: i 1

T i

 Tz ,q Tz ,d Tx,aTx,a I 44

Example

Z3

Z0 Z1

Joint 3

Y0 O3 X3

Y1



d2

Joint 1

O 0 X0 O1 X1 O2 X2

Joint 2

Y2



a0 a1

Joint i ai ai di qi

1 0 a0 0 q0



2 -90 a1 0 q1



3 0 0 d2 q2

Example



Cq i  C a i Sq i S a i Sq i ai Cq i 

 Sq Ca i Cq i  Sa i C q i ai Sq i 

i

Ti 1  i 

 0 Sa i Ca i di 

 

 0 0 0 1 









T03  (T 0)(T 2)(T 2)

1

1

3

Example cosθ 0  sinθ 0 0 a0 cosq 0 

 0 a0 sin q 0 

1  sinθ 0 cosθ 0 

T 0

 0 0 1 0 

 

 0 0 0 1 

Joint i ai ai di qi

cosθ1 0  sin q1 a1 cosq1 

1 0 a0 0 q0  cosq1 a1 sin q1 

2  sinθ1 0 

T 1

 0 1 0 0 

2 -90 a1 0 q1  

 0 0 0 1 

3 0 0 d2 q2

cosθ 2  sinθ 2 0 0

sin q cosq 2 0 0

T 2 

3 2 

 0 0 1 d2 

 

 0 0 0 1

Example (3.3):

Link Frame Assignments

Example (3.3):



 cq1  sq1 0 a0  cq1  sq1 0 0

 sq ca cq1ca 0  sa 0  sa 0 d1   sq1 cq1 0 0

0

T  1 0  

1

 sq1sa 0 cq1sa 0 ca 0 ca 0 d1   0 0 1 0

   

 0 0 0 1  0 0 0 1

cq 2  sq 2 0 L1  cq3  sq3 0 L2 

 sq cq 2 0 0   sq 0 0

1

T  2  2

3T 

 3 cq3 

2

 0 0 1 0  0 0 1 0

   

 0 0 0 1  0 0 0 1

Example (3.3):







c123  s123 0.0 l1c1  l2 c12 

s c123 0.0 l1s1  l2 s12 

W T  3T 

B 0  123 .

 0.0 0.0 1.0 0.0 

 

 0 0 0 1 

Example:SCARA Robot

Example:SCARA Robot

The location of the sliding axis Z2 is arbitrary, since it is a

free vector. For simplicity, we make it coincident with Z3 .

thus a2 and d2 are arbitrarily set.

The placement of O3 and X3 along Z3 is arbitrary, since

Z2 and Z3 are coincident. Once we choose O3, however,

then the joint displacement d3 is defined.

We have also placed the end link frame in a convenient

manner, with the Z4 axis coincident with the Z3 axis and

the origin O4 displaced down into the gripper by d4.

Example: Puma 560

Example: Puma 560



Joint i qi ai ai(mm) di(mm)

1 q1 0 0 0

2 q2 -90 0 d2

3 q3 0 a2 d3

4 q4 90 a3 d4

5 q5 -90 0 0

6 q6 0 0 0

Forearm of a PUMA



d4

x4

x3

a3 z4

y3 x6

x5

y5 z6









Spherical joint

Example: Puma 560

Different Configuration

Link Coordinate Parameters

PUMA 560 robot arm link coordinate parameters



Joint i qi ai ai(mm) di(mm)

1 q1 -90 0 0

2 q2 0 431.8 149.09

3 q3 90 -20.32 0

4 q4 -90 0 433.07

5 q5 90 0 0

6 q6 0 0 56.25

Example: Puma 560

Example: Puma 560

The Tool Transform

A robot will be frequently picking up objects or tools.

Standard practice is to to add an extra homogeneous

transformation that relates the frame of the object or

tool to a fixed frame in the end-effector.

Kinematic Calibration

How one knows the DH parameters?

Certainly when robots are built, there are design

specifications. Yet due to manufacturing tolerances,

these nominal parameters will not be exact.

The process of kinematic calibration determines

these nominal parameters experimentally.

Kinematic calibration is typically accomplished

with an external metrology system, although

alternatives that do not require a metrology system

exist.

Example Problem:

You are have a three link arm that starts out aligned in the x-axis.

Each link has lengths l1, l2, l3, respectively. You tell the first one to move by 1

, and so on as the diagram suggests. Find the Homogeneous matrix to get the

position of the yellow dot in the X0Y0 frame.

Y3





3



Y2 2 X3 3

2 X2



H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 )



Y0 i.e. Rotating by 1 will put you in the X1Y1 frame.

1

Translate in the along the X1 axis by l1.

Rotating by 2 will put you in the X2Y2 frame.

1

X0

and so on until you are in the X3Y3 frame.



The position of the yellow dot relative to the X3Y3 frame is

(l1, 0). Multiplying H by that position vector will give you the

coordinates of the yellow point relative the the X0Y0 frame.

Relative Pose between 2 links





i



i-1

Visual Approach - “A way to visualize

the link parameter a(i-1) is to imagine

an expanding cylinder whose axis is the

Z(i-1) axis - when the cylinder just

touches the joint axis i the radius of the

cylinder is equal to a(i-1).”

(Manipulator Kinematics)

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

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

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









Usually, xi

points from

frame i-1 to i

zi-1 Xi

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

zi

If joint axes zi-1 and zi

intersect, xi is normal to

the plane containing the

axes

xi = (zi-1  zi )









zi-1

link i

Xi

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









Zi

xi points Yi

from frame

i-1 to i 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 yi

zi





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 yi

link i

xi

3 Revolute Joints Y2



Z0 Z1





X2

d2

X0 X1



Y0 Y1

Denavit-Hartenberg Link

a0 a1 Parameter Table



i a(i-1) a(i-1) di qi

Notice that the table has two uses:

1) To describe the robot with its 0 0 0 0 q0

variables and parameters.

2) To describe some state of the 1 0 a0 0 q1

robot by having a numerical values

for the variables. 2 -90 a1 d2 q2

DH Example: “academic

manipulator”

3 revolute joints

Shown in home position

joint 1

R

Link 2





Link 1 Link 3



joint 2 joint 3

L1 L2

DH Example: “academic

manipulator” axis of actuation for joint i+1

Z is i



Z0 Z0 and Z1 are not co-planar

q1 Z1 and Z2 are parallel









q2 q3

Z1 Z2

DH Example: “academic

manipulator” Z are not co-planar:

Z and 0 1

x0 is the common normal

Z0



q1

x1 x2 x3

x0



q2 q3

Z1 Z2 Z3

DH Example: “academic

manipulator” Z are not co-planar:

Z and 0 1

x0 is the common normal

Z0



q1

x1 x2 x3

x0



q2 q3

Z1 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” Z are not co-planar:

Z and 0 1

x0 is the common normal

Z0



q1

x1 x2 x3

x0



q2 q3

Z1 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” with joints in non-zero

Shown

positions

Z0 x3

z3

q2 q3

x2

x1

q1 Z2

x0

Z1



Observe that frame i moves with

link i

DH Example: “academic

Link lengths given

manipulator” 90 (rotate by 90 around x

a = 1

o o

0 to

R align Z0 and Z1)

Z0

L1 L2

x1 x2 x3

a1 x0



Z1 Z2 Z3

DH Example: “academic

manipulator” Build table

Z0 R

L1 L2

q1

x1 x2 x3

a1 x0



q2 q3

Z1 Z2 Z3



Link Var q d a a

1 q1 q1 0 90o R

2 q2 q2 0 0 L1

3 q3 q3 0 0 L2

DH Example: “academic

manipulator”

Link Var q d a a

1 q1 q1 0 90o R

2 q2 q2 0 0 L1

3 q3 q3 0 0 L2

DH Example: “academic

manipulator”

DH Example: “academic

z x

manipulator” z

0



3

3



q2 q3

x2

x1

q1 z2

x0

z1

x1 axis expressed y1 axis expressed z1 axis expressed

wrt {0} wrt {0} wrt {0}





Origin of {1}

w.r.t. {0}

DH Example: “academic

z x

manipulator” z

0



3

3



q2 q3

x2

x1

q1 z2

x0

z1

x2 axis expressed y2 axis expressed z2 axis expressed

wrt {1} wrt {1} wrt {1}





Origin of {2}

w.r.t. {1}

DH Example: “academic

z x

manipulator” z

0



3

3



q2 q3

x2

x1

q1 z2

x0

z1

x3 axis expressed y3 axis expressed z3 axis expressed

wrt {2} wrt {2} wrt {2}





Origin of {3}

w.r.t. {2}

DH Example: “academic

manipulator”









where

DH Example: “academic

manipulator” – alternate end-

effector frame

Zi is axis of actuation for joint i+1

Z0 Z0 and Z1 are not co-planar

q1 Z1 and Z2 are parallel









q3 Pick this z3

Z1 q2 Z2

DH Example: “academic

manipulator” – alternate end-

effector frame

Z0

y2

q1

x1 x2

a1 x0

Z3

q2 q3

Z1 Z2

Would need

to rotate

about y2

here!

DH Example: “academic

manipulator” – alternate end-

effector frame

Z0

x’2

q1

x1 x2

a1 x0

Z3

q2 q3

Z1

Solution: Add

“offset” to rotation

about z2

(q +90o )

DH Example: “academic

manipulator” – alternate end-

effector frame

Z 0

x’2

L2 x3

q1

x1 x2

a1 x0

Z3

q2 q3

Z1 Z2

Now can

rotate about

x’ to align z2

and z3

DH Example: “academic manipulator” –

alternate end-effector frame

Link Var q d a a

1 q1 q1 0 90o R

2 q2 q2 0 0 L1

3 q3 q3 +90o 0 90o 0

e - L2

DH Example: “academic manipulator” –

alternate end-effector frame

x3

Z0 R

x’2

L1 L2 Z3

q1

x1 x2

a1 x0



q2 q3

Z1 Z2



Link Var q d a a

1 q1 q1 0 90o R

2 q2 q2 0 0 L1

3 q3 q3 +90o 0 90o 0

DH Example: “academic manipulator” –

alternate end-effector frame

x3



Z0 R

x’2

L1 L2 Z3

q1

x1 x2

a1 x0

Z3

q2 q3

Z1 Z2

DH Example: “academic manipulator” –

alternate end-effector frame

x3



Z0 R

x’2

L1 L2 Z3

q1

x1 x2

a1 x0

Z3

q2 q3

Z1 Z2

DH Example: “academic manipulator” –

alternate end-effector frame

x3



Z0 R

x’2

L1 L2 Z3

q1

x1 x2

a1 x0

Z3

q2 q3

Z1 Z2

Next Course

Inverse Kinematics

Summary: Robot Forward

Kinematics Analysis

1. Identify robot dimensions and understand its geometry.

2. Number Links and Joints.

 Base = Link 0

 1st Joint = Joint 1

3. Identify Joint Axes, type and direction of positive motions.

4. Draw Common Normals (CNs) and find their intersections with joint

axes. Define two points:

 AN = intersection of Axis N with CN to Axis N+1

 BN = intersection of Axis N with CN to Axis N-1

5. Assign Link Frames.

 Origin of Frame N is at AN

 ZN points along Axis N.

 XN points along CN to BN+1.

 YN completes a right handed coordinate system.

Q:What if there is no CN because the axes intersect?

 A:Then choose XN to be normal to ZN and ZN+1.

Q:What if there is no unique CN because ZN and ZN+1 are parallel

 A:Then choose one. Typically, you can simplify subsequent analysis

by choosing a CN which intersects BN.


Related docs
Other docs by HC111125153930
Sterilization
Views: 4  |  Downloads: 0
Lecture 6 � Integer Programming Models
Views: 1  |  Downloads: 0
1 5 August 1
Views: 1  |  Downloads: 0
?????? ?????????????? ????????? ? ...
Views: 1  |  Downloads: 0
CIRCULATORIO
Views: 15  |  Downloads: 0
CAPE ELIZABETH TOWN COUNCIL AGENDA
Views: 0  |  Downloads: 0
R E L A Z I O N E T E C N I C A
Views: 0  |  Downloads: 0
ANATOMIA Y FISIOLOGIA CARDIACA
Views: 323  |  Downloads: 0
A C E S
Views: 0  |  Downloads: 0
TABLE OF CONTENTS
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!