In its most basic form, a robot program can be defined as a path in space through which the manipulator is directed to move. This path also includes other actions such as controlling the end effector and receiving signals from sensors. The purpose of robot programming is to teach these actions to the robot.
There are various methods used for programming robots. The two basic categories of greatest commercial importance today are lead through programming and textual language programming.
Lead through programming consists of forcing the robot arm to move through the required motion sequence and recording the motions into the controller memory. Lead through methods are used to program playback robots.
In the case of point-to-point playback robots, the usual procedure is to use a control box (called a teach pendant) to drive the robot joints to each of the desired points in the workspace, and record the points into memory for subsequent playback.
The teach pendant is equipped with a series of switches and dials to control the robot’s movements during the teach procedure. Owing to its ease and convenience and the wide range of applications suited to it, this lead through method is the most common programming method for playback-type robots.
Continuous-path playback robots also use lead through programming. A teach pendant can be employed to teach the locations of the two points; and the robot controller then computes the trajectory to be followed in order to execute the complex motions.
For more complex motions (e.g., those encountered in spray painting operations), it is usually more convenient for the programmer to physically move the robot arm and end effector through the desired motion path and record the positions at closely spaced sampling intervals.
Certain parameters of the motion cycle, such as the robot’s speed, would be controlled independently when the job is set up to operate, Accordingly, the programmer does not need to be concerned with these aspects of the program. The programmer’s principal concern is to make sure that the motion sequence is correct.
Textual programming methods use an English-like language to establish the logic and sequence of the work cycle. A computer terminal is used to input the program instructions into the controller but a teach pendant is also used to define the locations of the various points in the workspace.
The robot programming language names the points as symbols in the program and these symbols are subsequently defined by showing the robot their locations. In addition to identifying points in the workspace, the robot languages permit the use of calculations, more detailed logic flow, and subroutines in the programs, and greater corresponds largely to the so-called intelligent robots.
Some examples of the kinds of programming statements that would be found in the textual robot languages include the following sequence:
SPEED 35 IPS
CLOSE 40 MM
WAIT 1 SEC
DEPART 60 MM
The series of commands tells the robot that its velocity at the wrist should be 35 in./sec. in the motions which follow. The MOVE statement indicates that the robot is to move its gripper to point P1 and close to an opening of 40 mm. It is directed to wait 1.0 sec. before departing from P1 by a distance of 60 mm above the point.
A future enhancement of textual language programming will be to enter the program completely off-line, without the need for a teach pendant to define point locations in the program. The potential advantage of this method is that the programming can be accomplished without taking the robot out of production.
All of the current methods of programming require the participation of the robot in order to perform the programming function. With off-line programming, the entire program can be entered into a computer for later downloading to the robot.
Off-line programming would hasten the changeover from one robot work cycle to a new work cycle without a major time delay for reprogramming. Unfortunately, there are certain technical problems associated with off-line programming.
These problems are mainly concerned with defining the spatial locations of the positions to be used in the work cycle, and that is why the teach pendant is required in today’s textual robot languages.
In addition to the lead through and textual language programming methods, there is another form of programming for the low-technology-limited sequence robots. These robots are programmed by setting limit switches, mechanical stops, and other similar means to establish the endpoints of travel for each of the joints.
This is sometimes called mechanical programming; it really involves more of a manual setup procedure rather than a programming method. The work cycles for these kinds of robots generally consist of a limited number of simple motions (pick and place applications), for which this manual programming method is adequate.
Work cell control deals with the program of coordinating the robot to operate with other equipment in the work cell. A robot cell usually consists of not only the robot, but also conveyors, machine tools, inspection devices, and possibly human operators.
Some of the activities in the robot work cell occur sequentially, while other activities occur simultaneously. A method of controlling and synchronizing these various activities is required, and that is the purpose of the work cell controller.
Work cell control is accomplished either by the robot controller or a separate small computer or programmable controller. During operation, the controller communicates signals to the equipment in the cell and receives signals from the equipment.
These signals are sometimes called interlocks. By communicating back and forth with the different components of the work cell, the various activities in the cell are accomplished in the proper sequence.