Kinematics

advertisement

Kinematics

Time to Derive Kinematics Model of the Robotic Arm

Amirkabir University of Technology

Computer Engineering & Information Technology Department

Direct Kinematics:

HERE!

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

Where is my hand?

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

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

3D Space = 6 DOF

3 position

3 orientation

In robotics:

DOF = number of independently driven joints

As DOF positioning accuracy 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

3 DOF ( Variables q

1

, q

2

, q

3

)

Prismatic Joint

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

( 1 DOF) that is defined by its angle.

There are two more joints on the end-effector (the gripper)

Note on Joints

Without loss of generality, we will consider only manipulators which have joints with a single degree of freedom.

A joint having be modeled as n n degrees of freedom can joints of one degree of freedom connected with length.

n-1 links of zero

Link

A link is considered as a rigid body which defines the relationship between two neighboring joint axes of a manipulator.

z n z z a n q n +1 q n x n x n+1 x n

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 a i -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 d whish is the distance between the links (the displacement, along the joint axes between the links).

n

The joint angle q n between the normals is measured in a plane normal to the joint axis.

Link and Joint Parameters

Axis i

Axis i -1 q i d i a i -1

Link and Joint Parameters

4 parameters are associated with each link. You can align the two axis using these parameters.

a n a n

Link parameters: the length of the link.

the twist angle between the joint axes.

q n d n

Joint parameters: the angle between the links.

the distance between the links

Link Connection Description:

For Revolute Joints: a , a , and d.

are all fixed, then “ q i

Joint Variable .

” is the.

For Prismatic Joints: a , a , and q .

are all fixed, then “ d i

” is the.

Joint Variable .

These four parameters: ( Link-Length a i-1

( Joint-Angle q i

) are known as the

), ( Link-Twist a i-1

( , ( Link-Offset d i

),

Denavit-Hartenberg Link Parameters .

Links Numbering Convention

.

Base of the arm: Link-0

1 st moving link: Link-1

.

.

.

.

.

Last moving link Link-n

Link 1

1

0

Link 2

Link 0

2

3

Link 3

A 3-DOF Manipulator Arm

First and Last Links in the Chain

a

0= a n=0.0

a

0= a n=0.0

If joint 1 is revolute: d

0=

0 and q

1 is arbitrary

If joint 1 is prismatic: d

0= arbitrary and q

1 =

0

Special cases

:

If joint axes z i-1 is zero. and z i intersect, parameter a i

If the common perpendicular to z i-1 intersects z i-1 d i-1 is zero. at the origin of frame F

If joint axes z i-1 zero.

and z i and z i-1 are parallel, angle a i

, then i is

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 a i perpendicular intersects the joint i axis.

The X axis points along a i

( from i to i +1).

If a i

= 0 (i.E. The axes intersect) then perpendicular to axes i and i+1.

X i is

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:

X n

= X n-1 when q n

= 0

Origin { n } such that d n

=0

Prismatic joint n :

 X n such that q n

= 0

 Origin { n } at intersection of joint axis n and X n when d n

=0

Affixing Frames to Links

Joint n

Joint n -1 Link n

Link n -1

Joint n +1 z

n-1 y

n-1 a

n-1 x

n-1 d n z n y n x n a n a n z

n+1 x

n+1 y

n+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 d prismatic. i is algebraic and may be negative. It is constant if joint i is revolute and variable when joint i is

The parameter a i a i is always constant and positive. 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 n

T

T

1

T

2

T

3

 T i

 T n

Where

0 n

T is the pose of the end-effector relative to base;

T i is the link transform for the and i th joint; 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 -1

Axis i q i d i a i -1

The Link Parameters a i

= the distance from measured along z i x i. to z i+1. a i

= the angle between measured about z i x i. and z i+1. d i

= the distance from measured along x i-1 z i. to x i. q i

= the angle between measured about x i-1 z i to x 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:

T i i

1 

T z , q

T z , d

T x , a

T x , a

I

4

4

Denavit-Hartenberg Convention

D1. Establish the base coordinate system.

orthonormal coordinate system at the supporting base

Z

0

0

,

0 0

)

Establish a right-handed with 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.

or sliding) of joint i+1.

Align the Z i with the axis of motion (rotary

 D4.

Establish the origin of the ith coordinate system.

Locate the origin of the ith coordinate at the intersection of the Z the intersection of common normal between the Z the Z i axis. i

& Z i i-1

& Z i-1 or at axes and

 D5. Establish X

X

 the common normal between the Z parallel.

i axis.

Establish or along i i-1 i 1

& Z i

Z i

) / Z i

1

Z i axes when they are

 D6. Establish Y i axis.

Assign to complete the right-handed coordinate system.

i

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:

T i i

1 

T z , q

T z , d

T x , a

T x , a

I

4

4

Example

Joint 1

Z

0

Y

0

Z

1

Y

1

Joint 3

O

3

O

0

X

0

Joint 2

O

1

X

1

O

2

X

2

Y

2 a

0 a

1

Joint i a

1

Z

3

X

3 d

2

0 i a i a

0

2 -90 a

1

3 0 0 d i

0 q

i q

0

0 q

1 d

2 q

2

Example

T i i

1

C

 S q q

0

0 i i

C a i

S q i

C a

C i

S a i q i

0

S a i

S q i

S a i

C a

C q i i

0 a i a i

C q i

S q i d i

1

T

3 

0

( T

1

0

)( T

2

1

)( T

3

2

)

Example

Joint i

1 a

0 i a i a

0

2 -90 a

1

3 0 0 d i q

i

0 q

0

0 q

1 d

2 q

2

T

1

0

 cosθ

 sinθ

0

0

0

0

 sinθ

0 cosθ

0

0

0

0

0

1

0 a

0 a

0 cos sin q

0 q

0

0

1

T

2

1

 cosθ

 sinθ

1

1

0

0

0

0

1

0

 sin cos q

1 q

1

0

0 a

1 a

1 cos sin q

1 q

1

0

1

T

3

2

 cosθ

 sin

0

0 q

2

2

 sinθ

2 cos q

2

0

0

0

0

1

0

0

0 d

2

1

Example (3.3):

Link Frame Assignments

Example (3.3):

0

1

T

1

2

T

 c

 s

 q q

0

0

2

2

 s q c s q

1 q

1

1 c

0 s a a

0

0

 s q

2 c q

2

0

0

 s q

1 c q

1 c a

0 c q

1 s a

0

0

0

0

1

0

L

1

0

0

1

0

 s a

0 c a

0

0

2

3

T

 s a

0 c a a

0 d

1

0 d

1

1

 c

 s

 q q

0

0

3

3

 c

 s

 q q

0

0

1

1

 s q

3 c q

3

0

0

 s q

1 c q

1

0

0

0

1

0

0

0

0

L

2

0

0

1

1

0

0

1

0

0

Example (3.3):

W

B

T

 0

3

T

 c

123 s

0

123

.

0

0

 s

123 c

123

0 .

0

0

0 .

0

0 .

0

1 .

0

0 l

1 c

1 l

1 s

1

 l

2 s

12

0 .

0

1 l

2 c

12

.

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 a

2 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 q i a i

a i

(mm) d i

(mm)

1 q

1

0 0

2 q

2

-90 0

3 q

3

0 a

2 d d

0

2

3

4 q

4

90 a

5 q

5

-90 0

3

6 q

6

0 0 d

0

4

0

Forearm of a PUMA d

4 a

3 x

3 y

3 x

5 y

5 x

4 z

4 x

6 z

6

Spherical joint

Example: Puma 560

Different Configuration

Link Coordinate Parameters

PUMA 560 robot arm link coordinate parameters

Joint i q i a i

a i

(mm) d i

(mm)

1 q

1

-90 0 0

2 q

2

0 431.8 149.09

3 q

3

90 -20.32 0

4 q

4

-90 0 433.07

5 q

5

90 0 0

6 q

6

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 l

1

, l

2

, l

3

, 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 X 0 Y 0 frame.

Y 3

3

Y 2 

2

2

X 2

X 3

3

H = R z

( 

1

) * T x1

(l

1

) * R z

( 

2

) * T x2

(l

2

) * R z

( 

3

)

Y 0

1

1

X 0 i.e. Rotating by 

1 will put you in the X 1 Y 1 frame.

Translate in the along the X 1 axis by l

1

.

Rotating by 

2 will put you in the X 2 Y 2 frame.

and so on until you are in the X 3 Y 3 frame.

The position of the yellow dot relative to the X 3 Y 3 frame is

( l

1

, 0). Multiplying H by that position vector will give you the coordinates of the yellow point relative the the X 0 Y 0 frame.

Relative Pose between 2 links i i-1

Visual Approach “ A way to visualize the link parameter

Z (i-1) a(i-1) touches the joint axis is to imagine an expanding cylinder whose axis is the axis - when the cylinder just cylinder is equal to i the radius of the 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 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 origin for

Modified DH:

{0} is defined to be completely co-incident with the reference system {1}, when the variable joint parameter, d zero.

1 or q

1

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

: Consider 3 cases for z i-1

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

X i z i

Usually, x i points from frame i-1 to i

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

• Origin is intersection of x i z i with z i

X i z i-1 z i

DH convention: x axis

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

=  (z i-1

 z i

) z i link 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 x i z i

DH convention: y axis

• Y i is chosen to make a right hand frame x i points from frame i-1 to i

Z i Y i xi

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 z i-1 z i y i x i

DH convention: origin

If joint axes intersect, the origin of frame {i} is usually placed at intersection of the joint axes z i z i-1 link i x i

DH convention: y axis

Y i is chosen to make a right hand frame z i-1 link i x i z i y i

3 Revolute Joints

Z

0

Z

1

Y

2

X

2 d

2

X

0

Y

0

Y

1 a

0 a

1

Notice that the table has two uses:

1) To describe the robot with its variables and parameters.

2) To describe some state of the robot by having a numerical values for the variables.

X

1 i

Denavit-Hartenberg Link

Parameter Table a

(i-1) a

(i-1) d i q

i

0 0 0 0 q

0

1

2

0

-90 a

0 a

1

0 d

2 q

1 q

2

DH Example: “ academic manipulator ”

Shown in home position joint 1

R

Link 2

Link 1

Link 3 joint 2

L

1 joint 3

L

2

DH Example: “ academic manipulator i

” is axis of actuation for joint i+1 q

1

Z

0

Z

0

Z

1 and Z

1 and Z

2 are not co-planar are parallel

Z

1 q

2 Z

2 q

3

DH Example: “ academic manipulator x

Z

0

0 and Z

1 are not co-planar: is the common normal q

1 x

1 x

2 x

3 x

0

Z

1 q

2 Z

2 q

3 Z

3

DH Example: “ academic manipulator x

Z

0

0 and Z

1 are not co-planar: is the common normal q

1 x

1 x

2 x

3 x

0

Z

1 q

2 Z

2 q

3 Z

3 x

Z

1 and Z

2 are parallel : is selected as the common

1 normal that lies along the center of the link

DH Example: “ academic manipulator x

Z

0

0 and Z

1 are not co-planar: is the common normal q

1 x

1 x

2 x

3 x

0

Z

1 q

2 Z

2 q

3 Z

3 x

Z

2 and Z

3 are parallel : is selected as the common

2 normal that lies along the center of the link

DH Example: “ academic manipulator

Z

0 positions q

2 x

2 q

3 z

3 x

3 x

1 x

0 q

1

Z

2

Z

1

Observe that frame i moves with link i

DH Example: “ academic manipulator

R

1

” align Z

0 o (rotate by 90 and Z

1

) o around x

0

Z

0

L

1

L

2 x

1 x

2 x

3 a

1 x

0 to

Z

1

Z

2

Z

3

DH Example: “ academic manipulator ”

Build table

Z

0

R

L

2 q

1

L

1 x

1 x

2 a

1 x

0

Z

1 q

2 Z

2 q

3 Z

3

Link Var q

1

2

3 q q

2 q

3

1 q

1 q

2 q

3 d a

0 90 o

0 0

0 0 x

3 a

R

L

1

L

2

DH Example: “ academic manipulator ”

Link Var q

1

2

3 q q

2 q

3

1 q

1 q

2 q

3

0

0 d a

0 90 o

0

0 a

R

L

1

L

2

DH Example: “ academic manipulator ”

DH Example: “ academic manipulator ” x q

2 q

3 z

3 x

2

3 x

1 x

0 q

1 z

2 z

1 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: “ academic manipulator ” x q

2 q

3 z

3 x

2

3 x

1 x

0 q

1 z

2 z

1 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: “ academic manipulator ” x q

2 q

3 z

3 x

2

3 x

1 x

0 q

1 z

2 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: “ academic manipulator ” where

DH Example: “ academic manipulator ” – alternate endeffector frame q

1

Z

0

Z i is axis of actuation for joint i+1

Z

Z

0

1 and Z and Z

1

2 are not co-planar are parallel

Z

1 q

2 Z

2 q

3

Pick this z

3

DH Example: “ academic manipulator ” – alternate endeffector frame

Z

0 q

1 a

1 x

0

Z

1 q

2 x

1

Z

2 q

3 y

2 x

2

Would need to rotate about y

2 here!

Z

3

DH Example: “ academic manipulator ” – alternate endeffector frame

Z

0 q

1 a

1 x

0

Z

1 q

2 x

1 q

3 x’

2 x

2

Z

3

Solution: Add

“offset” to rotation about z

2

(q

3

+90 o )

DH Example: “ academic manipulator ” – alternate endeffector frame

Z

0 x’

2 x

3 q

1

L

2 x

1 x

2 a

1 x

0

Z

1 q

2 Z

2 q

3

Z

3

Now can rotate about x’ to align z and z

3

2

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

Link Var q

1

2

3 q q

2 q

3

1 q

1 q

2 q

3

+90 o e

d a

0 90 o

0 0

0 90 o

L

1

0

L

2 a

R

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

3

Z

0

R q

1 x

1

L

1 x’

2 x

2

L

2

Z

3 a

1 x

0

Z

1 q

2 Z

2 q

3

Link Var q

1

2

3 q q

2 q

3

1 q

1 q

2 q

3

+90 o d a

0 90 o

0 0

0 90 o a

R

L

1

0

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

3 q

1

Z

0

R

L

1 x’

2 x

1 x

2

L

2 a

1 x

0

Z

1 q

2 Z

2 q

3

Z

3

Z

3

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

3 q

1

Z

0

R

L

1 x’

2 x

1 x

2

L

2 a

1 x

0

Z

1 q

2 Z

2 q

3

Z

3

Z

3

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

3 q

1

Z

0

R

L

1 x’

2 x

1 x

2

L

2 a

1 x

0

Z

1 q

2 Z

2 q

3

Z

3

Z

3

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.

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

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.

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.

Download