Programming industrial robots touch every aspect of robotics, including interfaces with other automatic systems such as PLCs, intelligent sensors, manipulators, supervision computers, etc.
It involves establishing a physical or geometrical relationship between the robot and the equipment or task to be serviced by the robot. Programming is a process necessary to control the robot manually and physically teach it the coordinate points within its working envelope.
The earliest and most popular method of programming robots involves manually moving the robot to each desired position and recording its position in memory that the sequencer would read during playback.
During the teaching phase, the user guides the robot either by hand or through interaction with a teach pendant. This handheld button box allows control of each manipulator joint or each Cartesian degree of freedom.
Operations like closing the gripper or activating a welding gun are determined by moving the robot through a specified sequence of joint coordinates and issuing the indicated signals. This method of robot programming is usually known as teaching by showing or programming guiding.
Today, most industrial robots are still programmed using the typical teaching process through the use of the robot teach pendant. This is adequate for some kinds of applications, such as spot welding, painting, and simple materials handling.
However, teaching by showing is a tedious and time-consuming task that requires a high level of expertise and effort required to program a robust, production-quality robot system. In most cases, a highly trained specialist is necessary to set up a system, which drives up the installation costs. It often results in difficulty to maintain programs due to their complex program structure and editing methods.
This type of robot programming can be justified economically only for the production of large lot sizes. It also has some severe limitations, especially in mechanical assembly and inspection, mainly when sensors are involved. Here, one needs to specify the robot’s desired action in response to sensory input, data retrieval, or computation.
Hence, programming industrial robots require new approaches that provide the power of robot-level languages without requiring programming expertise, besides supporting the capabilities of a general-purpose computer programming language.
They should help users control and program a robot with a high-level of abstraction from the robot language. The user should demonstrate to the robot what it should do intuitively in terms of high-level behaviors (using gestures, speech, etc.). This type of learning is often known as programming by demonstration (PbD).
This allows users, especially non-expert programmers, to instruct and program a robot just showing it what it should do, and with a high-level of abstraction from the robot language. This is done using the two most natural human interfaces (gestures and speech), a force control system, and several code generation techniques.
Some robot systems provide computer programming languages with commands to access sensors and to specify robot motions. It is called explicit or robot-level languages. The most significant advantage of robot-level languages is that they enable the data from external sensors, such as vision and force, to modify the robot’s motions. Through sensing, a robot can cope with a greater degree of uncertainty in relation to its position of external objects, thereby increasing its range of application.
The critical drawback of robot-level programming languages, relative to guiding, is that they require a robot programmer to be an expert in computer programming as well as the design of sensor-based motion strategies. Hence, robot level languages are not accessible to the typical worker on the factory floor.
In short, there are three commonly used programming or teaching methods:
- Lead-through programming or teaching: A handheld control and programming unit, or teach pendant, is used to manually send the robot to the desired position. It can also change to a low speed to enable careful positioning or testing through a new or modified routine. Usually, a large emergency stop button is included as a safety measure.
- Walk-through programming or teaching: With the robot in ‘safe mode,’ the user moves the robot by hand manually to the required positions and/or along a critical path while the controlling software logs these positions in the controller memory. The program can later run the robot along the taught path. This technique is famous for tasks such as paint spraying.
- Offline programming or teaching: The robot and other machines or instruments in the workspace are mapped graphically, allowing the robot to be moved on-screen and the process simulated. Simulators can thus create programs for a robot without depending on the robot arm’s physical operation, saving time during application design. Additionally, various ‘what if’ scenarios can be tried and tested before the system is activated, increasing operational safety levels.