Robot Programming Languages
Robot languages have been developed for ease of control of motions of robots having different structures and geometrical capabilities.
Some of the robot languages have been developed by modifying the existing general-purpose computer languages and some of them are written in a completely new style.
Programming languages have been developed by the pioneer efforts of various researchers at Stanford Artificial Intelligence Laboratory; research laboratories of IBM Corporation, under U.S. Air Force sponsorship, General Electric Co., Unimation and many other robot manufacturers.
WAVE and AL:
WAVE, developed at Stanford, demonstrated a robot hand—eye coordination while it was implemented in a machine vision system.
Later a powerful language AL was developed to control robot arms. WAVE incorporated many important features.
Trajectory calculations through coordination of joint movements, end-effector positions and touch sensing were some of the new features of WAVE. But the algorithm was too complex and not userfriendly.
They could not be run in real-time and on-line. On the other hand, trajectory calculations are possible at compile time and they can be modified during run time.
A manufacturing language, AML was developed by IBM. AML is very useful for assembly operations as different user—robot programming interfaces are possible. The programming language AML is also used in other automated manufacturing systems.
The advantage of using AML is that integers, real numbers and strings can be specified in the same aggregate which is said to be an ordered set of constants or variables.
US Air force ICAM project led to the development of another manufacturing control language known as MCL by McDonnel—Douglas.
This is a modification of the popular APT (Automatically Programmed Tooling) language used in CNC machine tools as many similar commands are used to control
Was developed by Automatic for robotic assembly, inspection, arc Welding and machine vision. A variety of data types as used in PASCAL can be used.
It uses Motorola 68000 type microcomputer system; It supports many commands and control of the vision system.
HELP was developed by General Electric Company. It acts more or less like
It has the capability to control two robot arms at the same time. The structure of the language is like
JARS was developed by NASA JPL. The base of the language is PASCAL. JARS can be interfaced with PUMA 6000 robot for running robotic programs.
RPL was developed at SRI International. A compiler is used to convert a program into the codes that can be interpreted by an interpreter. Unimation PUMA 500 can be controlled with the help of RPL. The basic ideas of LISP (an Al language) have been organized into a FORTRAN-like syntax in RPL. It is modular and flexible.
Besides these, there are some other languages like PAL, ADA etc. PAL has been written by Richard Paul by modifying WAVE and incorporating features of PASCAL. But the representations of syntaxes used in the program are difficult to handle. ADA developed by the Department of Defense (DOD) in USA is a real-time system that can be run on several microcomputers like Zilog, VAX, Motorola 68000, etc. ADA is convenient for controlling the robots used in a manufacturing cell.
Different textual robot languages have different attributes. Far example, VAL, HELP and MC though powerful for many simple tasks, do not have the same structured modular programming capability like AL, AML, JARS and ADA or VAL II. In a manufacturing cell, multiple robots or robotic equipment work in unison. Control of two or more operations done by the robots in a coordinated manner is complex.
• Synchronizing the motions of the robots requires necessary software commands. AL, ADA, AML, MCL have the capability of controlling multiple arms.
• The programming language must be capable of expressing various geometric features like joint angles, coordinate transformations such as rotation, translation, and vector quantities. Homogeneous matrices are used to specify the rotation.
• Rotation can also be specified by Euler angles. AML, RAIL and VAL use Euler angles while AL manipulates homogeneous matrix for control. AL is very suitable for assembly tasks wherein many sensors are employed, though other languages like AML and HELP are flexible enough to run various subroutines.