
PROCEEDINGS OF THE IEEE, VOL. 71, NO. 7, JULY 1983 82 1 Robot Programming TOMAS LOZANO-PEREZ Invited Paper Abstract-The industrial robot’s principal advantage over traditional use and to implement. Because guidingcan be implemented automation is programmability. Robots can perform arbitrary sequences without ageneral-purpose computer, it was in widespread of pre-stored motions or of motions computed as functions ofsensory use for many years before it was cost-effective to incorporate input. This paper reviewsrequirements for and developments in robot programmingsystems. The key requirements for robot pro- computersinto industrial robots. Programming by guiding gamming systems examined in the paper are in the areas of sensing, has some important limitations, however, particularly regarding world modeling, motion specification, flow of contrd, andprogram- the use of sensors. During guiding, the programmer specifies ming support Existing andproposed robot programming systems a single execution sequence for the robot; there are noloops, fall into threebroad categories guiding systems inwhich the user leads a robot through the motions to be performed, rohor-level pro- conditionals,or computations. This is adequatefor some gramming systems in which the user writes a computer program specify- applications,such as spot welding,painting, and simple ma- ing motion and sensing, and rusk-level programming systems in which terialshandling. In otherapplications, however, such as the user specifii operations bytheir desired effecton objects. A mechanicalassembly and inspection, one needs to specify representative sample of systems in each of these categories is surveyed the desired action of the robot in response to sensory input, in the paper. dataretrieval, or computation. In these cases, robot pro- I.INTRODUCTION gramming requires the capabilities of a general-purpose com- puter programming language. HE KEY characteristic of robots is versatility; they can Somerobot systems provide computer programming lan- be applied to a large variety of tasks without significant guages with commands to access sensors and to specify robot Tredesign. This versatility derives from the generality of motions. We refer to these as explicit or robot-level languages. the robot’s physical structure and control, but it can be ex- The key advantage of robot-level languages is that they enable ploited only if the robot can be programmed easily. In some the data from external sensors, such as vision and force, to be cases, the lack of adequate programming tools can make some used in modifyingthe robot’s motions. Through sensing, tasks impossible to perform. In other cases, the cost of pro- robots can cope with a greater degree of uncertainty in the gramming may be a significant fraction of the total cost of an position of external objects, thereby increasing their range of application.For these reasons, robot programming systems application.The key drawback of robot-levelprogramming play a crucial role in robot development. This paper outlines languages,relative to guiding, is thatthey require the robot somekey requirements of robotprogramming and reviews programmerto be expert in computerprogramming and in existing and proposed approachesto meeting these requirements. the designof sensor-based motionstrategies. Hence, robot- A. Approaches to Robot Programming level languagesare not accessible tothe typicalworker on the factory floor. The earliest and most widespread method of programming Many recent approaches to robot programming seek to pro- robots involvesmanually moving therobot to each desired vide thepower of robot-levellanguages without requiring position,and recording the internal joint coordinates cor- programming expertise. One appraoch is to extend the basic responding to that position. In addition,operations such as philosophyof guiding to includedecision-making based on closing the gripper or activating a welding gun are specified at sensing. Another approach, known as task-level programming, some of these positions. The resulting “program” is a sequence requiresspecifying goals for the positions of objects,rather of vectorsof joint coordinates plus activation signals for than the motions of the robot needed to achieve those goals. externalequipment. Such a program is executedby moving In particular, a task-level specificationis meant tobe completely the robot through the specified sequence of joint coordinates robot-independent; no positions or paths that depend on the and issuing the indicated signals. This method of robot pro- robot geometry or kinematics are specified by the user. Task- gramming is usuallyknown as teaching by showing; inthis level programming systems require complete geometric models paper we will use the less common,but more descriptive, of the environment and of the robot as input; for this reason, term guiding [ 321. they are also referred to as world-modezing systems. Task-level Robot guiding is a programming method which is simple to programming is still in the research stage, in contrastto guiding and robot-levelprogramming which have reached the com- Manuscript received November 29, 1982. Thisresearch wis performed mercial stage. at the Artificial Intelligence Laboratory of the Massachusetts Institute ofTechnology. Support for the Laboratory’s Artificial Intelligence research is provided in part by the Office of Naval Research under Office B. Goals of this Paper of Naval Research Contract N00014-81-K-0494 and in part bythe Advanced Research Projects Agency under Office of Naval Research The goals of thispaper are twofold: one, to identify the Contracts N00014-80-C-0505 and N00014-82-K-0334. The author is with the Massachusetts Institute of Technology, Artifi- requirementsfor advanced robot programming systems, the cial Intelligence Laboratory, Cambridge, MA 02139. other to describe the major approaches to the design of these 0018-9219/83/0700-0821$01.00 0 1983 IEEE a22 PROCEEDINGS OF THE IEEE, VOL. 71, NO. 7, JULY 1983 3) Grasp the coverusing a programmer-specified gripping force. CAMERA 477- 4) Test themeasured finger opening against the expected opening at the grasp point. If it is not within the expected tolerance,signal an error [61, [ 1031.This condition may indicatethat the vision system or the control system are malfunctioning. 5) Place the cover on the base, by moving to an approach position above the base and moving down until a programmer- specified upward force is detected by the wrist force sensor. During the downward motion, rotate the hand so as to null out any torques exerted on the cover because of misalignment Fig. 1. A representative robot application. ofthe cover and the base. Release the cover and record its current position for future use. 6) Inparallel with the previoussteps, move ROBOT2 to systems. The paper is not meant to be a catalog of all existing acquirean aligning pin from the feeder. Bring the pin to a robot programming systems. point above the position of the first hole in the cover, com- Adiscussion of therequirements for robot programming putedfrom the known position of thehole relative to the languages is not possiblewithout some notion of what the cover and the position of the cover recorded above. tasks to be programmed will be and who the users are. The 7) Insertthe pin. One strategy for this operation requires next section will discuss one task which is likely to be repre- tilting the pin slightly to increase the chances of the tip of sentative of robot tasks in the near future. We will usethis the pin falling into the hole [43], [44]. If the pin does not task to motivatesome of thedetailed requirements later in fall into the hole, a spiral search can be initiated around that thepaper. The range of computersophistication of robot point [ 61, [ 3 1 1. Once the tip of the pin is seated in the hole, users is large,ranging from factory personnel with no pro- the pin is straightened.During this motion, the robot is gramming experience to Ph.D.'s in computer science. It is a instructedto push down with a prespecified force, to push fatal mistake to use this fact to argue for reducing the basic in the y direction (so as to maintain contact with the side of functionality of robot programming systems to that accessible thehole), and move so as to nullout any forces in the x to the least sophisticateduser. Instead, we argue that robot direction [44]. At the end of this operation, the pin position programming languages should support the functional require- is tested to ascertain that it is within tolerance relative to the ments of its most sophisticated users. The sophisticated users computed hole position. canimplement special-purpose interfaces, in the language 8) Inparallel with theinsertion of thepin by ROBOT2, itself, forthe less experiencedusers. This is theapproach ROBOT^ fetches another pin and proceeds with the insertion takenin the design of computerprogramming languages; it when ROBOT2 is done. This cycle is repeated until all the pins also echoes the design principles discussed in [ 96 1 . areinserted. Appropriate interlocks must be maintained between the robots toavoid a collision. 11. A ROBOT APPLICATION This application makes use of four types of sensors: 1) Directposition sensors. Theinternal sensors, e.g., Fig. 1 illustrates a representative robot application. The task potentiometersor incremental encoders, in the robot joints involves tworobots cooperating to assemble a pump. Parts and in the conveyor belts are used to determine the position arrive, randomly oriented and in arbitrary order, on two moving of the robot and thebelt at any instant of time. conveyorbelts. The robot system performs the following 2) Vision sensors. Thecamera above each belt is used to functions: determine the identity and position of parts arriving on the 1) determine the position and orientation of the parts, using belt and to inspect them. a vision system; 3) Finger touch sensors. Sensorsin the fingersare used to 2) grasp the parts on the moving belts; control the magnitude of the gripping force and to detect the 3) place each part on a fixture, add it to the assembly, or presence or absence of objects between the fingers.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages21 Page
-
File Size-