Previous Top

Appendix 5J:
Complexity And Level Of Detail In Robot Programming

Programming one robot manipulator to assemble another robot manipulator is not a trivial task. The finest level of detail involves controlling the individual steps of the various stepping motors which in turn control the independent degrees of freedom of the manipulator.

In order to gain some insight into robot programming, the Replicating Systems Concepts Team visited Dr. Charles H. Spalding at the research laboratories of Unimation, Inc., in Mountain View, California. Dr. Spalding demonstrated the operation of the PUMA 500 robot manipulator for the team. This manipulator system consists of a five-degree-of-freedom electrically servocontrolled arm combined with an electronics package containing a DEC LSI-11 control computer, individual microcomputer systems for each degree of freedom, and drivers for the servo motors.

In a system such as the PUMA with separate microcomputers for each degree of freedom the individual microcomputers must receive commands specifying either the required rate of motion for their respective degrees of freedom, or the desired position of that degree of freedom, or both. In the PUMA, the individual microcomputers are controlled by a larger, more powerful microcomputer (a DEC LSI-11, a member of the PDP-11 family). The LSI-11 can direct the end effector of the robot manipulator to trace out a number of different predetermined paths in three-dimensional space. In the present configuration (depending on the complexity of the selected paths), on the order of 1000 programmed motion steps can be accommodated. The PUMA robot has about 500 distinguishable "parts," about 50 in the wrist assembly alone.

The next order of sophistication in robot control is at the level of elementary assembly operations. The command "put a washer on the bolt" requires the performance of subtasks such as:

  1. Move the end effector to the washer supply.
  2. Grasp a washer.
  3. Move the end effector to the end of the bolt.
  4. Orient the washer so it is perpendicular to the bolt.
  5. Translate the washer so the axis of the bolt passes through the center of the hole in the washer.
  6. Translate the washer along the axis of the bolt.
  7. Release the washer.
  8. Retract the end effector.

Still more sophisticated operations include the joining of subassemblies. To join two subassemblies each one must be brought into the proper relative position and several washers, nuts, connectors, etc., must be installed. It is not clear, without further study, just how much of this hierarchy of operations could be controlled by the LSI-11 that has become an industry standard. However, the team has no doubt that a suitably powerful computer can be constructed in a module not exceeding 1 m3 in volume, which would also serve as a base for an advanced robot manipulator. Spaulding estimated that 5 years of adequate funding and manpower support could probably produce a robot manipulator system capable of assembling a duplicate of itself from prefabricated parts.

The team discovered no fundamental difficulties with the software, although the programming task will be extremely challenging. In current industrial robotics applications, each manipulator has a very limited number of tasks to perform. To use one manipulator to perform a many tasks, each of the complexity required by the SRS demonstration, the state-of-the-art in robot programming should be advanced considerably.

A top-level description of the steps required to product a robot manipulator system complete with control computer and required electronics support (see fig. 5.29) might include the following sequence:

  1. Assemble base frame and bolt it to floor.
  2. Install card cages in frame.
  3. Install cables between card cages.
  4. Insert printed circuit cards into card cages.
  5. Assemble manipulator waist joint support to base frame.
  6. Install waist joint.
  7. Install manipulator trunk (vertical member).
  8. Install shoulder joint.
  9. Install upper arm.
  10. Install elbow joint.
  11. Install forearm.
  12. Install wrist joint.
  13. Install end effector.
  14. Install television camera mast.
  15. Install television camera.
  16. Connect television camera to electronics in base.
  17. Connect manipulator to electronics in base.
  18. Connect AC power and turn on computer.
  19. Transfer construction software.
  20. Boot up the new computer.

Having been replicated as thus detailed, the new robot is on its own.