V+ processes robot motion instructions differently from the way you might expect. With V+, a motion instruction such as MOVE part is interpreted to mean start moving the robot to location ‘part’. As soon as the robot starts moving to the specified destination, the V+ program continues without waiting for the robot motion to complete. The instruction sequence:
MOVE part.1 SIGNAL 1 MOVE part.2 SIGNAL 2
will cause external output signal #1 to be turned on immediately after the robot begins moving to part.1, rather than waiting for it to arrive at the location. When the second MOVE instruction is encountered, V+ waits until the motion to part.1 is completed. External output signal #2 is turned on just after the motion to part.2 begins. This is known as forward processing. See “Breaking Continuous-Path Operation” on page 200 for details on how to defeat forward processing.
This parallel operation of program execution and robot motion makes possible the procedural motions described later in this chapter.
Basic Motion Operations
Joint-Interpolated Motion vs. Straight-Line Motion
The path a motion device takes when moving from one location to another can be either a joint-interpolated motion or a straight-line motion. Joint-interpolated motions move each joint at a constant velocity (except during the
acceleration/deceleration phases—see “Robot Speed” on page 203). Typically, the robot tool tip moves in a series of arcs that represents the least processing—
intensive path the trajectory generator can formulate. Straight-line motions ensure that the robot tool tip traces a straight line, useful for cutting a straight line or laying a bead of sealant. The instruction:
MOVE pick
will cause the robot to move to the location pick using joint-interpolated motion.
The instruction:
MOVES pick
will cause the robot to move the pick using a straight-line motion.
Chapter 8 Motion Control Instructions
Safe Approaches and Departures
In many cases you will want to approach a location from distance offset along the tool Z axis or depart from a location along the tool Z axis before moving to the next location. For example, if you were inserting components into a crowded circuit board, you would want the robot arm to approach a location from directly above the board so nearby parts are not disturbed. Assuming you were using a four-axis Adept robot, the instructions:
APPRO place, 50 MOVE place
DEPART 50
will cause joint-interpolated motion to a point 50 mm above place, movement down to place, and movement straight up to 50 mm above place.
If the instructions APPROS, DEPARTS, and MOVES had been used, the motions would have been straight line instead of joint interpolated.
NOTE: Approaches and departs are based on the tool coordinate system, not the world coordinate system. Thus, if the location specifies a pitch of 135°, the robot will approach at a 45° angle relative to the world coordinate system. See “Yaw” on page 183 for a description of the tool coordinate system.
Moving an Individual Joint
You can move an individual joint of a robot using the instruction DRIVE. The instructions:
DRIVE 2,50.0, 100 DRIVE 3,25, 100
will move joint 2 through 50° of motion and then move joint 3 a distance of 25 mm at SPEED 100x.
Chapter 8 Motion Control Instructions
End-Effector Operation Instructions
The instructions described in this section depend on the use of two digital signals.
They are used to open, close, or relax a gripper. The utility program SPEC specifies which signals control the end effector. See the Instructions for Adept Utility Programs.
The instruction OPEN will open the gripper during the ensuing motion
instruction. The instruction OPENI will open the gripper before any additional motion instructions are executed. CLOSE and CLOSEI are the complementary instructions.
When an OPEN(I) or CLOSE(I) instruction is issued, one solenoid is activated and the other is released. To completely relax both solenoids, use the instruction RELAX or RELAXI.
Use the system parameter HAND.TIME to set the duration of the motion delay that occurs during an OPENI, CLOSEI, or RELAXI instruction.
Use the function HAND to return the current state of the gripper.
Continuous-Path Trajectories
When a single motion instruction is processed, such as the instruction:
MOVE pick
the robot begins moving toward the location by accelerating smoothly to the commanded speed. Sometime later, when the robot is close to the destination location pick, the robot will decelerate smoothly to a stop at location pick. This motion is referred to as a single motion segment, since it is produced by a single motion instruction.
When a sequence of motion instructions is executed, such as:
MOVE loc.1 MOVE loc.2
the robot begins moving toward loc.1 by accelerating smoothly to the
commanded speed1 just as before. However, the robot will not decelerate to a stop when it gets close to loc.1. Instead, it will smoothly change its direction and begin moving toward loc.2. Finally, when the robot is close to loc.2, it will decelerate smoothly to a stop at loc.2. This motion consists of two motion segments since it is generated by two motion instructions.
1See the SPEED monitor command and SPEED program instructions.
Chapter 8 Motion Control Instructions Making smooth transitions between motion segments, without stopping the robot motion, is called continuous-path operation. That is the normal method V+ uses to perform robot motions. If desired, continuous-path operation can be disabled with the CP switch. When the CP switch is disabled, the robot will decelerate and stop at the end of each motion segment before beginning to move to the next location.
NOTE: Disabling continuous-path operation does not affect forward processing (the parallel operation of robot motion and program execution).
Continuous-path transitions can occur between any combination of straight-line and joint-interpolated motions. For example, a continuous motion could consist of a straight-line motion (for example, DEPARTS) followed by a joint-interpolated motion (for example, APPRO) and a final straight-line motion (for example, MOVES). Any number of motion segments can be combined this way.
Breaking Continuous-Path Operation
Certain V+ program instructions cause program execution to be suspended until the current robot motion reaches its destination location and comes to a stop. This is called breaking continuous path. Such instructions are useful when the robot must be stopped while some operation is performed (for example, closing the hand). Consider the instruction sequence:
MOVE loc.1 BREAK SIGNAL 1
The MOVE instruction starts the robot moving to loc.1. Program execution then continues and the BREAK instruction is processed. BREAK causes the V+
program to wait until the motion to loc.1 completes. The external signal will not be turned on until the robot stops. (Recall that without the BREAK instruction the signal would be turned on immediately after the motion to loc.1 starts.)
The following instructions always cause V+ to suspend program execution until the robot stops (see V+ Language Reference Guide for detailed information on these instructions):
BASE BREAK CLOSEI CPOFF DETACH (0)
HALT OPENI PAUSE RELAXI TOOL