You are on page 1of 14

ISYE 4256 SUPPLEMENTAL MATERIAL

Fall, 1999

 Chen Zhou
School of Industrial and Systems Engineering
Georgia Institute of Technology
Table of Contents
1. LIMITED SEQUENCE CONTROL.........................................................................................................................1

2. POINT-TO-POINT CONTROL................................................................................................................................3
2.1 ONE JOINT AT A TIME ...............................................................................................................................................3
2.2 SLEW MOTION .........................................................................................................................................................4
2.3 (LINEAR) JOINT INTERPOLATION ...............................................................................................................................5
3. CONTINUOUS PATH CONTROL ..........................................................................................................................6
3.1 LINEAR INTERPOLATION...........................................................................................................................................6
3.2 CIRCULAR INTERPOLATION ......................................................................................................................................6
4. INTELLIGENT CONTROL .....................................................................................................................................7

5. SELECTION..............................................................................................................................................................7

6. EXAMPLES...............................................................................................................................................................8
E.G 2. ...........................................................................................................................................................................9
7. OBSERVATIONS AND TRAVELING TIME OPTIMIZATION .........................................................................12
1
D E S I G N C U S T O M I Z A T I O N
Chapter

Motion types (mode) and


Application Characteristics

R
obot, as well as other multiple joint mechanisms, can be controlled to move in
different manners. The different motion types have strong influence in
applications in terms of trajectory and cycle time, Different motion type
requires different levels of sophistication in controller so as the price. This
chapter is intended to explain various types and their characteristics.

There are four different types of controls: limited sequence, point-to-point (PTP),
continuous path and intelligent.

1
1. Limited Sequence control
Characteristics: Each link can only stop at a few limited positions, controlled by
sensors, mechanical stops.

Limited sequence is the simplest form of motion control. However, it has limited
applications in robot arm itself today. One can still find these in grippers and fixtures
related to robotic applications.

2. Point-to-point control
The robot can move point to point. Each axis or joint has many stoppable positions.
However, trajectory is not controllable at will, although it may be roughly deterministic.
Trajectory is the path and the speed along the path of a motion. Some PTP controls
can be complex. The following are the Parameters used in analysis.

N: Number of joint or dof.


θi: coordinate of ith joint, 1 ≤i ≤N.
x , z , θ0:
0 0
coordinates of start point.
x1, y1, θ1: coordinates of end point.
Dx, Dy, Dθ: Total motion from start to end in x, y or θ direction, respectively.
Di: Total motion from start to end in ith joint. A joint can rotational or linear.
dx, dy, di: motion to an intermediate point.
Vx, Vy, vi: velocity in x, y axis or in ith joint (can be angular)
T: the travel time from start to end point.
ti: the travel time from starting to ending point of ith joint.

2.1 One joint at a time


Characteristics: Joints can not move simultaneously. Rather, one moves after
another, in some sequence.

The Cartesian distance resulted in one joint at a time is related to Manhattan distance in
facility design. It is no longer common in robot arm control. You might find in robot
tooling or fixtures.

The travel time is

Di
T = ∑
1≤i ≤N Vi

3
The trajectory will be piecewise linear for linear joint or circular for rotational joint. The
points linking the smooth trajectories are the critical points for describing the
trajectory. These intermediate points are often easy to be found. The travel distance to
an intermediate point can be found using

d i = min{Di , tvi }
2.2 Slew motion
Characteristics: All joints that require motion start simultaneously at default joint
speeds.

In facility design, we call the distance resulted from slew motion in Cartesian space
Chebychev distance. It is obvious that the travel time will be dominated by the
maximum ratio of distance and speed. That is:

D 
T = max  i 
1≤i ≤N V
 i 

Distance traveled to an intermediate point along axis i after time t is

4
The minimum operator is due to the fact if the product of time and speed is more than
the total distance in a joint, it will stop at Di.

The trajectory will be piecewise complex but smooth functions. The critical points are
those connecting the smooth segments and normally can be found easily.

2.3 (linear) Joint interpolation


Characteristics: All joints that require movement start simultaneously and stop
simultaneously.

Robot will attempt to achieve simultaneous start and stop by setting the speed of
motion along each axis proportional to the distance to be traveled. By definition,

d
ti = constant ≈ i ∀ i, and (1)
Vi

di
= constant ∀i (2)
Di

The joints maintain linear proportionality in joint interpolation. That is the reason it is
also called the linear joint interpolation. The trajectory will be smooth. In Cartesian
robot, we also have

dx dy d
= = z
D x D y Dz
This relationship indicates an approximate linear motion. In other configurations, the
resultant path will not be linear, but will generate smooth motion.

In joint interpolation, the controller first identifies the displacement along each joint
and finds the axis that requires maximum travel time at the default speed. That axis will
use its default speed. The speed in other axes be slower than default speed using
relationship (1). The total travel time is

D 
T = max{ti }= max  i 
1≤i ≤N 1≤i ≤N V
 i

The trajectory will be smooth (continuous first spatial derivative).

5
Joint interpolation is used most in robotic applications. There three reasons for its
popularity:

1. smooth motion, a path of a smooth motion is continuous and has continuous 1st
derivative.

2. robot can move from start to end singularity free. As long as both the starting and
ending points are in the working envelope, the robot will get to the end point
without collision or sudden movement.

3. Control is much simpler than continuous path control.

Applications: Pick-and-place applications, spot welding, etc.

3. Continuous path Control


Characteristics: Several joints can move simultaneously in some user-specified
trajectory. The most useful ones are linear and circular interpolations.

A common way to achieve continuous path control is by using via or intermediate


points. The controller will attempt to follow a path by many via points. For each via
points, the controller will attempt to pass the point and maintain speed. Different
vendor has different ways to specify the allowable distances. For ABB robots, users
specify the radius of a sphere around the via point. Controller will ensure that the error
at the via point is not larger than the radius.

3.1 Linear interpolation


Regardless of robot configuration, the robot attempts to achieve a linear line while
maintaining the tool orientation.

dx dy dz
= =
Dx Dy Dz

Linear interpolation can be difficult for a non-Cartesian robot. In order to maintain a


straight line, the speed of the joints must vary along the path. Therefore, a non-
Cartesian robot supports linear interpolation can cost more than a PTP robot. The
speed specified by the percentage of maximum speed.

Linear interpolation is useful in insertions, machine loading, arc welding, machining,


etc.

3.2 Circular interpolation

6
In circular interpolation, robot will achieve a circular motion while maintain
the tool orientation. In addition to the end point, you may have to specify a middle
point.

Useful in assembly, arc welding, deburing, dispensing, etc.

4. Intelligent control
Motions are flexible based on sensors and intelligent to cope with various
situations.

5. Selection
Task planning is very important in robotic applications. Task planning involves
the determination of critical points, the selection of speed and the path to connects
these points. Here are some examples.

In an assembly operation, the robot needs to pick up parts with various cross sections
from a feeder and to insert the parts in a chassis. In this application, the robot can use
joint interpolation for most of the movement. At the insertion, it is desirable to use
linear interpolation in insertion if the insertion is deep. Also, the robot should slow
down right before pick up and insertion, and during insertion to reduce the possibility
and effect of the collision, and to increase accuracy.

In spot welding operations, point-to-point motion may be sufficient.

In arc welding, continuous path control is necessary to trace the seams.

7
6. Examples
E.g 1. A cartesian robot move from (0, 0, 1200) to (2000, 1500, 0). The default speeds
along x and y are 1000 mm/sec. The speed along z is 500 mm/sec. What are the
trajectory and the travel time in the following?

1. one axis at a time

2. slew motion

3. joint interpolation

4. linear interpolation at 80% default speed.

The trajectories on xy plane are shown in the figure.

2000 1500 1200


1. T = + + = 5.9 sec
1000 1000 500

 2000 1500 1200 


2. T = max  , ,  = 2.4 sec
1000 1000 500 

3. T is approximately the same as in 2. The controller first identify the travel for all
axes. It then determines which axis will take most time. In this case, it is z axis at
2.4 seconds. It then calculate the speed for x and y using equation (1). Vx = 2000 /
2.4 = 833 mm/sec and Vy = 1500 / 2.4 = 625 mm/sec.

4. Here, the axis that requires the longest travel time will use 80% of the travel speed.
In this case, the speed along z is 400. The speed along x and y will be adjusted
accordingly.

8
In reality, the linear interpolation may not be identical to joint interpolation during
acceleration and deceleration because each axis may not take the same amount of time
to accelerate/decelerate.

Speed profile:

V Trapezoid

Paraboid

E.g 2.
Consider the first 2 axes of a SCARAt robot. Both joints are rotational. We will use
joint coordinates (θ1, θ2) to describe the motion. The angles are relative to the previous
link. The robot moved from (100, 00) to (300, 400). The default speeds are 1000/sec. L1
= L2 = 10’.Find the time required and the trajectories for:

1. one axis at a time

2. slew motion: min(t*vi, Di).

3. joint interpolation

4. linear interpolation using 80% speed.

The initial and end post and locations are shown in the following figure.

y x = 10 cos30 + 10 cos70 = 12.08


y = 10 sin30 + 10 sin70 = 14.397

400

x = (10+10) cos30 = 19.696


y = (10+10) sin30 = 3.473

200
x

100

9
1. One axis at a time

T = (20 +40)/100 = 0.6

Trajectory: 2 arcs.

The center for the 1st arc is at (0, 0) and radius is 20.

The center for the 2nd arc is at (8.66, 5) and radius is 10

2. Slew motion. From initial position to (200, 300)

T = Max(20, 40)/100 = 0.4

Trajectory:
x = 10 cos30 + 10 cos60 = 13.66
y = 10 sin30 + 10 sin60 = 13.66
0 0
From initial position to (20 , 30 ),

the robot will move in a spiral like

form to reach (13.66, 13.66).

From (13.66, 13.66), it will move

In an arc to reach final point.

3. Joint interpolation, half way (200, 200)

T = Max(20, 40)/100 = 0.4

V2 = 100, V1 = 50

Trajectory: spiral like.

The middle point is at (10cos20 + 10cos40, 10sin20 + 10sin40)

= (17.06, 9.85).

10
4. Linear interpolation.

Assuming infinite acceleration and deceleration, at 80% speed, the 2nd joint will finish
motion in 40 / (100 * .8) = 0.5 second. Therefore,

T = 0.5

Trajectory will be a linear line.

Initial point (20*cos10, 20 sin 10) = (19.696, 3.473)

End point (10*(cos30 + cos70), 10*(sin30 + sin70))

= (12.080, 14.397).

Line length = [(-7.616)2 + (10.924)2]0.5 = 13.317

All points should be close to a line function

x − x1 x − x 2
=
y − y1 y − y2

The middle point is

(19.70 + 12.08)/2, (3.47 + 14.39)/2) = (16.25, 8.93)

Different from joint interpolation middle point.

You can see, performing linear interpolation on an articulated robot is non-trivial.

11
7. Observations and Traveling time optimization
How do you tell is a robot is performing which type of motion?

It should be smooth, not one-axis at a time or slew motion. You can make it obvious
by performing some simple tests.

You can distinguish between joint interpolation and linear interpolation of a jointed
arm robot by a path like:

What types of things you do can save time and what can not in joint interpolation.

If you go from (20, 20) to (40, 40). You lower the end point to (40, 30), will you save
time? no. If you move to (35, 35) it will.

Another important factor: cut down on number of points. When you control from
program, you have a choice of using intermediate point. It will go through a point
roughly arount there. It will save time.

12
C:\courses\4256\Accuracy.not.doc

You might also like