RSEr-TR-21-86 The Design of an End of Arm Tool Management System for Flexible Assembly Systems (FAS) Utilizing Industrial Robots by Paul G. Ranky Visiting Associate Professor at the University of Michigan Department of Mechanical Engineering and Applied Mechanics Center for Research on Integrated Manufacturing The University of Michigan Ann Arbor, MI 48109 September 1986 CENTER FOR RESEARCH ON INTEGRATED MANUFACTURING Robot Systems Division COLLEGE OF ENGINEERING THE UNIVERSITY OF MICHIGAN ANN ARBOR, MICHIGAN 48109-1109

RSD-TR-21-86 TABLE OF CONTENTS 1. INTRODUCTION........................................................................... 2. USER AND SYSTEM REQUIREMEN TS............................................. 2 3. SYSTEM CONSTRAINTS........................................ 17 4. ROBOT TOOL MANGEMENT SYSTEMDATA STRUCTURE DESIGN AND FL 0 WCHAR TS................................................... 30 5. CONCLUSION............5................... 5 6. A CKNO WLEDGEMENT...................................................... 53 7. REFERENCES AND FURTHER READING..................................... 54

RSD-TR-21-86 ABSTRACT Flexible Assembly Systems should be able to accommodate a variety of different parts in random order, should provide robot tool changing capability at cell level and robot hand transportation, hand management, robot tool data collection and maintenance at system level. Automated tool changing at the robot cell level is important in order to provide the needed flexibility and the short changeover time for the system as a whole. Because of this, the number of robot tools, as well as their complexity, their sensing capability, etc. is growing in robotized assembly systems. In order to keep track of the tools used by different robots as well as in order to provide real-time data regarding their location, status, wear, sensing and other capabilities, etc. complex assembly systems need a dynamic operation control system, that besides scheduling, balancing, capacity planning, etc. programs incorporates an "End-of-Arm-Tool-Management System" too.

RSD-TR-21-86 The paper provides an overview of the most important design considerations of robot tool management systems, as well as describes a robot database and a robot tool database data structure currently implemented by the author and his students at the University of Michigan. (The outlined methodology is "generic" in a sense that with minor modifications, the presented concepts and data structure can be utilized for robotized systems dealing with processes other than assembly). KEYWORDS End of Arm Tool Management, Robotics, Database Mangement Systems, Flexible Assembly Systems, FAS, FMS, CIM.

RSD-TR-21-86 1. INTRODUCTION There is an increasing number of robots capable of changing grippers, or in general hands. There are robot cells currently designed or being used that access a dozen or more tools in a robot hand magazine, thus "robot hand management" in flexible assembly and other robotized systems is becoming an important part of the assembly system's operation control software. [Figure 1]. The design of a robot tool management system incorporates a wast amount of analysis and system development work. It must be done by a team of engineers and data processing staff, headed by a experienced team leader who understands not only the data management problems, but also the production engineering aspects of robotized manufacturing systems, and the application possibilities of the large variety of robot tools and tool changing systems available today. (Figure 2 to 14 illustrate different robot tool changers and some of their application possibilities). When designing the robot tool management system, one should consider the following steps: 1. Collect all current and possible future user and system requirements 2. Analyze the system (i.e. the data processing system and the FAS hardware and software constraints) 3. Design an appropriate data structure and data base for describing robot hands and tools and then The Design of an End-of-Arm Tool Management System 1

RSD-TR-21-88 4. Specify, design and purchase (if possible) other subsystems accessing this data base as well as communicating with the real-time production planning and control system Let us discuss the above list in more detail. 2. USER AND SYSTEM REQUIREMENTS The most important question to be answered before starting to design a robot tool management system and a robot tool data base, to be accessed by the robot hand management system, is that "Who?" is going to use the data, "when?" and "For what?" purposes in the particular assembly system? Robot tooling data in FAS (Flexible Assembly Systenm, is typically going to be used by several subsystems, as well as human beings. These users can be summarized as follows: * The production planning subsystem * Process control * Robot programming * Robot hand maintenance * Robot tool assembly (manual or robotized) * Stock control and material, storage * Manufacturing cell/system design and simulation Keeping in mind that a truly flexible system can accept parts in random order, for example the production planning system has to be informed in real-time 2 The Design of an End-of.Arm Tool Management System

RSD-TR-21-86 about the availability of robot tools on stock, as well as in the tool magazines of the robots otherwise it will not be able to generate a proper scheduling program for the assembly line. The Design of an End-of-Arm Tool Management System 3

RSD-TR-21-86agement t System 1 ri~i.:i~i~ii i — Xl. ~: _ i4 Business Level Host Computer/NetworkJl _ Management Database CAD_~ |Dakin System )~ t~CAD Level IRobot Program Database L a NerL A twork (L A ) A e Loc..Da. tabas (programsA sasts, Robot Tool magazie cotns etc.) FAS Cell CelC ocl Database Level (proram,'.sta.tus, diano-tic. Figure 1 The overall architecture of' the Robot Tool Management System for FAS applications. 4 The Design of an End-of-Arm Tool Management System

9 O-pua Jo. p u~tg ~~~~a I. ms~rs srrs~~ Pn~l'-Cavuz. zoD Jo~ t) ultqw'nuJ Z aIn2!Xd ma...d/~~~~~~~~~~~C. \'I~~~~~ - - Zw -'

RSD-TR-21-86 Figure 3 Automated Robot Hand Changing (ARHC) System, designed by Kennametal, USA, 6 The Design of an End-of-Arm Tool M]anagement System

t SPECXS rumlssu'^l 1~~sL mo -jo-pu i ux jo us!ta aqjL VSn'~Jolaull!q jjvuulaq) Lq loc n gulzzqap ojqvPuvq2,j1u1 41wvlpvmOuv:p al sns -3~~~~~~~~~~~~~~~~~~~~~~Q - ~~~~~~~~~~~~~~~~~~~~~~~~~3~~~:* 74" a ~~~~M w~~~f.-,.t t,~~~~ " Cr s-'~~~~~8-Z-lL-~t

Ir.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~i IQ~ | f a - [ a!~~~~~~~~~~~~~~~~~~~~~~~~~1 si~~~~~~r _'' I i. r _ __.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~. Figure 6 ASEA's extremely fast, rotary indexing tool changer driven by * DC motor at the last ais of the robot The Desi of an End-of-Arm Tool Management System

RSD-TR-21-86 Figure 6 Flexible tool changer from BASE Robotics, for pneumatically operated, small size grippers. Figure 7 Automatically interchangeable welding gun makes automobile body asembly tines more flexible. The Design of an EndoftArm Tool Management System 9

RSD-TR-21-86 of's ab) b) c) Figure 8 Photos a) b) and c) demonstrate the "approach", "locate," and "pickup" operations, using the Automated Robot hand Changing System (ARHC) designed by the author in 1982. (The photograph marked a) illustrates the pueumatic and electronic connections of the Mark I design). (Photographs adapted from Ref. 3). 10 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 _lose Air supply Release Parallel gripper ~~~~~~from robot ~jaws -w to robot Electricity from robot to standard interface /Air supply 1LTTL or 24 V terminal to grisuppery electricity to gripper to gripper 21 Electricity from robot 1C, Figure 9 The mechanical design and the recoupling action of the robot hand changing system, designed by the author, (Mark I version, adapted from Ref. 3 ) (Note the way the system can automatically recouple pneumatic and electronic power supplies). The Design of an End-of-Arm Tool Management System 11

052 022 RSD-TR-21-86 45_0 ~016'. 04.27 R2.5 ~,70 Air supply to gripper 30" 0_ p47 A A Figure 10 The standard interface of the ARHC system, designed by the author (Adapted from Ref. 3) (Note, dimensions are in metric!). 12 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 co iLOdE Adjustable spring load Spring (not detailed) Figure 11 The collecting ringers (the male part) of the Ranky-type ARHC (Adopted from Ref. 3). (Note that the dimensions are in metric!). The Design of an End-of-Arm Tool Management System 13

RSD-TR-21-86 Collecting fingers Continuity Supply Magazine (i.e.ARHC male part) Gripper test to valve monitor 2700 Normally Normally P.S. open shut 2700 - 24V -I+ P.S. 24V G G 9V Ox wx'A' (5/2) Output Input Flange interface Controlled by open, close'B' (2/2) Figure 12 The control circuits for the "Ranky-type" robot hand changer (Adopted from Ref. 3). 14 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Isolation 7TL or 24V terminal Wrist mounting flange Figure 13 The principle of the electronic connections (currently 8 in the Mar II version) in the Ranky-type robot hand changer. The Design of an End-of-Arm Tool Management System 16

RSD-TR-21-86 I OF Figure 14a Note on the left hand side of the photograph the self powered, automatically changeable pneumatically and electronically operated nutrunning tool, designed for the IBM 7565 robot by the author and his FMS course students at the Mechanical Engineering Department, University of Michigan I i:~~~~~~~~~~ to s E~~~~~~~ C _8 FiuelbTennmnn oli mpe a_ o le ~: Xh Deig ofa |-Gr olMngmn y

RSD-TR-21-86 Both the process control and the production planning systems have to update any changes in real-time or the operation of the system can be disrupted. The robot tool preset station, if required, must be able to inform the process control system about robot tool data, preferably via a digital tool preset unit linked directly to the data processing network of the FAS. When writing robot programs, one has to know the actual -sizes of tools, their sensors and their behavior in different operating conditions. The robot tool geometry is also used when checking for collision by graphics simulation. (Figure 15 to 25 illustrate different solid model designs and graphics simulation using the ROBCAD System). 3. SYSTEM CONSTRAINTS If data types are kept separately and accessed by independent programs in independent files, one program will "not a know" in time when another program updates a file and eventually panic situation will occur in the real-time system. Data Base Management Systems are considered to be the essential core of the FAS robot tool management system since they: * Provide logical as well as physical data independence. (Logical data independence meaning that that new fields of records may be added to the system without rewriting the application program. Physical data independence means that changes can be made to some element of data on disk, or on any type of data storage media, leaving the application programs untouched.) The Design of an End-of-Arm Tool Management System 17

RSD-TR-21-86 * Ensure a standard software interface for its users and fast information retrieval * Ensure that data is compatible for all subsystems, reducing data access time and application program development costs * Minimize data redundancy To summarize, Data Base Management Systems enable the data as well as its data description to be interfaced with several different application programs written in different languages, running in different processors and operating systems. To provide the required flexibility and high level of local intelligence for the tool management system, as well as for the other subsystems of the FAS, it is necessary to apply distributed processing theory both for communications, as well as for Data Base Management purposes. The most important aspects of distributed processing and data management from this point of view are: * The possibility of real-time communication and data update in the robot tool store room, at the tool assembly station, at the robots using the tools and in general between all subsystems accessing this facility within the FAS data processing network. * Flexible and user friendly operator interface at all terminals where the robot tool management system's users must access the distributed system * "Well designed hardware and software architecture", preferably based on intelligent nodes linked together by Local Area Networks (LANs) 18 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 When following these principles, the man-machine and the machine-machine communication systems will be more flexible and compared to "non-distributed system' the system to be created will be more reliable. The Design of an End-of-Arm Tool Management System 19

RSD.TR-21-86 Figure 16 The solid model and a section of the wire frame model of a dedicated ssembly line incorporating Industrial robots, as well as part feeding and tool changing devices along a conveyor line. 20 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Figure 16 The solid model of a truly flexible assembly cell shows the robot In tool changing position. The tool changer in this example holds three tools in a rotary indexing magazine. (Larger robot tool magazinesecan also be applied if necessary). The Design of an End-of-Arm Tool Management System 21

-~~~~~~~~~~~~~~~~~~~~~~~ il -:~~~~~~~~~~~~~~~~~~~~~~ -:~~~~~~~~~~~~~~~~~~~~~~~~~~

RSD-TR-21-86 Figure 18 Closeups of and AGV docking station. The Automatically Guided Vehicle is loading a pallet to this station on the top of which there is a rotary indexing robot tool magazine capable of holding up-to six tools. (Note that currently there are only two tools in the magazine) Note that in this design the pallet is mechanically, electronically as well as pteumatically recoupled, as necessary, at these standard AVG docking stations. The Design of an End-of-Arm Tool Management System 23

RSD-TR-21-86 Figure 19 This closeup, shown as a wire frame model, illustrates the way the pallet is located by the AGV at the AGV docking station. (Note the tour locating pins, providing accurate pallet positioning as well as power-supply/sensor recoupling facility at the docking station). 24 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 -~~~~~~~~~~~~~~~~~~~~~~~ ~~-~rr:~ —~~ —.. —~* r~~ _, ~ *~~~~~~~~~~' f Figure 20 The pallets, the robot tools, the AVG, etc. are separate entities (i.e. programmable building blocks) of this solid model library, designed by the author and implemented in ROBCAD. The Design of an End-of-Arm Tool Management System 25

RSD-TR-21-86 Figure 21 The photograph Illustrates the rotary tool/part magazine in an AGV docking station. Figure 22 Machining cells (turning and milling) utilizing the above shown rotary indexing part magazine. 26 The Design of an End-of-Arm Tool Management System

RSD-TR-21-88 Figure 23 The wire frame model and the solid model of a rotary indexing table, that can be used as a part storage facility for rotary parts, as well as a robot hand magazine. This design allows the device to be loaded and unloaded automatically by an AGV. The Design of an End-of-Arm Tool Management System 27

RSD-TR-21-88 Figure 24 The layout of the truly flexible assembly cell, incorporating an industrial robot and AGV docking stations. The AGV can load/unload palletized parts as well as part feeding devices and a tool magazine in any programmed order, providing high level "material handling flexibility" both at cell, as well as at system level. 28 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 I Ill Figure 25 The conceptual design of a vertically indexing, rotary robot hand changer. (The rotary indexing station can be controlled pueumatically, or by means of the sixth or seventh axis of the robot, if available) (The photographs show~ both the solid model, as well as the wire frame model of the tool changer). The Design of an End-ot-Arm Tool Management System 29

RSD-TR-21-86 4. ROBOT TOOL MANAGEMENT SYSTEM DATA STRUCTURE DESIGN AND FLOWCHART This section demonstrates the concept of a structured tool description method, developed by the author, using a Relational Data Base Management System. The method is "generic" thus can be used and/or adapted relatively easily for more or less complex applications, for small or large computers, networks and FMS/FAS systems. The concept of handling robot and robot tool data sets is similar to a LEGO kit. It allows total flexibility for each implementation, while providing a "generic" data structure as a general guideline. Following the structure and the robot tool description method new tools can be described and added to the system and necessary changes can be made as the system grows up-to the physical limits of the particular data processing hardware and software without any complications. (Figure 26 to 45 illustrates as well as outlines the design of the system). (Note that further publications are currently prepared by the author and his students documenting the real-time and off-line levels of this Robot Hand Management System.) 30 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Link to robot RSD-TR-21-8,s~~~~~~~ ~[[]~ ~L_ P~~~daiabase. TOOL TYPE ID SSTOCK FOsEb-l I —-— B_ -EOY- SW SSUB ASSEMBLY Presence of dc'..n. deiStiOCK ODE diescription. BODY GEOMERRY ID ROB TOOL GEO SUB ASSEMBLY ID Robot tool body geometry. H AM r |: BODYSOUMD_ r -— r' E1 MnODEL. F IGER DES EON ID Robot tool. The Design.. oranEnd.... SENSOR DESTCRIIION l11) _ element;~;.~.~.~.~.~.~~.~.~ ~''T OL ANW ION ID1 d~~~~~~TCKC Ddescription. F INGER DESCR SEO 1 O:.. 1"1;.................... e -ch:, U L Graphics solid | MD ID the sensors finge r *s FINGER SENSOR-_ ID_ l I~ [ I - - [Z1 1 data base. The Design of an End-of-Arm Tool Management System 31

RSD-TR-2 1-86 shown above for inserting welded door panels into automo32 The Design of an End-of-Arm Tool Management Figure 27 A robot tool management system and data base system,v, —.

RSD-TR-21-86 ORDERCODE ALPHA, MAX 20 CHARACTERS PRIMARY KEY GRAPHCODE ALPHA, MAX 20 CHARACTERS SECONDARY KEY NAME ALPHA, MAX 20 CHARACTERS SECONDARY KEY SUPPLIER ALPHA, MAX 20 CHARACTERS SECONDARY KEY DEGFREE LONGMATH SECONDARY KEY MAXLOAD LONGMATH SECONDARY KEY POSERR LONGMATH SECONDARY KEY COORDSYS ALPHA, MAX 10 CHARACTERS SECONDARY KEY PROGRMODES ALPHA, MAX 20 CHARACTERS SECONDARY KEY PRICE LONGMATH SECONDARY KEY ASSEMBLY BOOLEAN SECONDARY KEY PICKPLACE BOOLEAN SECONDARY KEY PAINTER BOOLEAN SECONDARY KEY WELDER BOOLEAN SECONDARY KEY MACHINING BOOLEAN SECONDARY KEY INSPECTION BOOLEAN SECONDARY KEY OTHER ALPHA, MAX 20 CHARACTERS DATA FIELD Figure 28 General description file of the robot. This file contains useful information for quick robot searches. Robot application possibilities (ASSEMBLY-yes/no, WELDING-yes/no, etc.) are simply stored as boolean variables, in order to give a broad level and quick orientation to the searching program. Accurate search / evaluation programs should further access the TEST_RESULTS file before selecting the proper robot. The Design of an End-of-Arm Tool Management System 33

RSD-TR-21-86 I) CONTRIDENT ALPHA, MAX 20 CHARACTERS PRIMARY KEY 2) CONTR TYPE ALPHA, MAX 40 CHARACTERS SECONDARY KEY 3) POWER-EXT ALPHA, MAX 40 CHARACTERS SECONDARY KEY 4) POWER INT ALPHA, MAX 40 CHARACTERS SECONDARY KEY 5) MEM SIZE LONGMATH SECONDARY KEY 6) MEM- TYPE LONGMATH DATA FIELD 7) LANGUAGE ALPHA, MAX 40 CHARACTERS DATA FIELD 8) INPUT PORT LONGMATH DATA FIELD 9) INPUT-TYPE ALPHA, MAX 20 CHARACTERS DATA FIELD 10) OUT PORT LONGMATH DATA FID 11) OUTP TYPE ALPHA, MAX 20 CHARACTERS DATA FIELD 12) ANAL)G INP BOOLEAN DATA FIELD 13) SENSING ALPHA, MAX 40 CHARACTERS DATA FIELD 14) PERIFI ALPHA, MAX 20 CHARACTERS DATA FIELD 15) PERIF2 ALPHA, MAX 20 CHARACTERS DATA FIELD 16) PERIF3 ALPHA, MAX 20 CHARACTERS DATA FIELD 17) SAFELOCK ALPHA, MAX 20 CHARACTERS DATA FIELD 18) WEIGHT LONGMATH DATA FIELD 19) AUXFUNC ALPHA, MAX 20 CHARACTERS DATA FIELD 20) GRAPHICS ALPHA, MAX 20 CHARACTERS DATA FIELD Figure 29 Robot controller description file (CONTROLLER). The explanation of the fields is as follows: 1) Identifier of the controller (e.g. the order code, or a serial number with some extension). 2) Type of controller, e.g. point-to-point, 6-axis continuous path, etc. 3) External power supply, e.g. 220V/AC 4) Internal power supply, e.g. 24V/DC 5) Memory size (preferably specified in Kbytes) 6) Type of memory, e.g. COMOS, ferrit, etc. 7) Description of the programming language (e.g. name, version, number, etc.) 8) Maximum number of input lines at the input port. 9) Type of input the controller can receive while controlled from the robot program. 10) Maximum number of output lines at the input port. 11) Type of output the controller can generate while controlled from the robot program. 12) This field is true if the controller can handle analog inputs (e.g. from a force sensor.) 13) Description of sensory feedback processing. 14) 15 / 16) PERIF1,2,3 describe the attachable periferals, e.g. disk, teach-box, etc. 34 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 17) Safety devices and signals the robot controller can handle. 18) Weight of the controller. 19) List of the auxiliary functions the controller can handle. 20) Solid model graphics file name for simulation purposes. The Design of an End-of-Arm Tool Management System 35

Data tansfer to and RSD-TR-21-88 fromtherobotcell controller. Local atabase at ROBOT CEL DATABASE I cell controller level. SRORED PROGRAM IDS STATUS INFO DIAGNOSTICS _INO ROBOT TOOL MAGAZINE ID LOC 3 ROBOTTOOL CODE LOC 4 ROBOT TOOL CODE LOC 5 ROBIOT TOOL CODE _... From the robot RAM B programming (CAM) Figure 30 Typical real-tim query when identifying the appropriate assembly robot with the appropriate robot hand magazine contents, before fmalizing the schedule of the FAS (Flexible Assembly System). 36 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Puma Operating System Start-Up Program Default Values initialization Set system default values on:.Operator Interface.Repair Status.Tool ID Codes (Set ID).Tool Locations (Rack) (Rackeror) Perform the Operation: Operation (Main).Set Up Tool (Tool Change).Verify Location (Rack) (Rackdior).Verify Tool (Tool ID) (Trouble) System Status Report Overview of the system Status.Verify Parts Location.Repair Status.Verify Location of Work Pallet.Perform Operation (Approach) (Depart) (Translat) (Shiftup).Put Tool Away (Tool Change) End Figure 31 The interpetation of the real-time tool management routines into the Val II systemi-selected for convenience). [Re f.] The Design of an End-of-Arm Tool Management System 37

RSD-TR-21-86 Flowchart of Setid - Main Start Operator gives thelD codeof each tool Does the operator confirm No these ID codes? Yes Reassign thelD codes of each tool Figure 32 End 38 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Start ) | Flowchart of Tool.Change - Main Check tool number of old tool in gripper by calling "Tool.ID". Is the old tool number the End new tool number? Is the old Yes Is a No tool number new tool Do ready zero? expected? Nor~ Yes ( ~End Get empty tool location by Get new tool location by calling tool locator subroutine calling tool locator subroutine Put away old tool by Attach new tool by calling detach subroutine calling attach subroutine Figure 33 The Design of an End-of-Arm Tool Management System 30

RSD-TR-21-86 Start ) | Flowchart of Tool.Change - Tool Locator Subroutine Scan the tool rack for the tool number Goto Main Program Start Is the tool Troubleshoot the Yes rack switch \ tool rack switch tool number operating by calling "Rack" found? correctly? No Is the tool /\/ Has the ~\ rack switch No Have all the visual verification\ No \ correct? * t tool locations option been been scanned?. selected? Yes Yes Yes DoesVtYes Troubleshoot the tool No operator say rack by calling "Rack" that correct tool location vector s at location?, Figure 34 40 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Flowchart of Tool.Change - Attach / Detach Subroutine *tart Attach Detach| Move the gripper Move to a point 1 00 mm jaws into the flange out from the rack opening by calling "approach" and 1mm above the rack level by calling "approach" Open jaws Move 1 mm above the rack position by calling "translat" "translat" Move up Wmm Move down onto rack by calling "shiftup" by calling "approach" by calling "translat" Move 100 mm above Move 100mm above rack level by calling position by calling "depart" "depart" Figure 35 The Design of an End-of-Arm Tool Management System 41

RSD-TR-21-86 Ranky - Puma Standard Tool Connector Circuitry Top View Side view 5,6 1,2 ____________....... A.....w............... An...;................................................ _r....~~~~~~~~~~~.... S,,~~. ~..... ~..................::::::::.:::::, S...................;..................................................................................:..:'.......:..'; 7,8 3,4::~;'i:iiiiiiii ZConnector Numbering for the Connector There are eight electrical connectors on the Ranky - style Puma tool connector. Of the circuits, two are used for the tool identification, and the remainder are used to operat the tool. The extra lines are used to run sensors, measure voltages, etc. The tool electrical connections are further dedicated as follows:.three of the connections are for 15V feed lines..five of the connectiorare for return lines. One of the feed and return lines is for tool identification, and the remaining two fec and four return circuits are for use to operate the tool. The following are the circuit pinouts of the Digitizer and Standard Gripper. ID feed Pin 1 ID feed ID return Pin 2 open return Circuit 2 return Pin 3 ID return Circuit 1 return Pin 4 open return open return Pin 5 open return open return Pin 6 open return open feed Pin 7 openfeed Circuit 1 feed Pin 8 open feed Figure 36 Digitizer Pinout Std. Gripper Pinout 42 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 Val Terminal I/O Port Identification Signal 1 Pin 1 Pneumatic Feed 1 Signal 2 Pin 2 Pneumatic Feed 2 Signal 3 Pin 3 Tool Rack Switch Feed Signal 4 Pin 4 Tool Connector ID Circuit Feed Signal 5 Pin 5 Tool Connector Pin 7 Feed Signal 6 Pin 6 Tool Connector Pin 8 Feed Signal 7 Pin 7 Part Pallet Probe Feed Signal 8 Pin 8 Working Pallet Probe Feed Output Port Identification Signal 1001 Pin 9 Tool Rack Switch 1 Return Signal 1002 Pin 10 Tool Rack Switch 2 Return Signal 1003 Pin 11 Tool Rack Switch 3 Return Signal 1004 Pin 12 Tool Connector Pin 2 Return Signal 1005 Pin 13 Tool Connector Pin 3 Return Signal 1006 Pin 14 Tool Connector Pin 4 Return Signal 1007 Pin 15 Tool Connector Pin 5 Return Signal 1008 Pin 16 Tool Connector Pin 6 Return Figure 37 Input Port Identification The Design of an End-of-Arm Tool Management System 43

RSD-TR-21-86 Tool, Change Program;This program changes the tool on the robot arm. It is set up.;to determine whether there is an old tool to put away;before it attaches a new tool onto thier gripper,;whether there is a new tool to attach at all.;The program further verifies the identification of the to;in the gripper to confirm that each tool it return;the calling program is indeed correct.;This program further troubleshoots malfunctions or;inconsistencies in the operation of the tool rack;switches and the gripper sensor.;Finally, this program returns the robot to the calling pro;in either a safe position above the tool rack when a;tool was attached to the gripper or in the ready position;of the gripper was left empty.;To operate this program, simply call it after setting the;variable old.tool to the number of the tool that is;currently in the gripper and the variable new.tool to;the number of the tool which should be put onto this;gripper. If either of these tools are "no tools",;then set their respective variables to zero.;Note that this program can also serve simply to verify the;identification of any too on the gripper without;changing that tool. To have it do this, simply call it;after setting the old tool number equal to the new tool;number.; Programs called from this program are as follows:.trouble.rack.toolid.translat.approach Figure 38 The tool change program in VAL II [Ref. 5] Note that the listed routines represent only a few of a larger robot program library developed for real-time tool management. 44 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86.depart;.shiftup Variables to be downloaded into this program are:;.old.tool (Integer).new.tool (Integer);.vis.ver (T/F) Variables internal to the program are as follows:.tl (Integer);.approach (0,1,2).tool.position (Integer);.tool.number [] (Integer);.tool.rack.switch.failure (T/F).tool.rack.position.failure (T/F).all.tool.position.check (T/F).occupancy (Integer).tool.rack.ref (Location);.tool.location (Location).point (Location).switch.signal (-1,0) Signals activated in this program are.signal 1: feed to tool rack switch 1.signal 2: feed to tool rack switch 2.signal 3: feed to tool rack switch 3.signal 1001: feedback from signal 1.signal 1002: feedback from signal 2;. signal 1003: feedback from signal 3 Tool Rack Reference Vectors:.Position 1: shift (reference point by 0,20,0,0,0,0).Position 2: shift (reference point by 0,1,0,0,0,0).Position 3: reference point.Position 4: gripper.Tool rack reference point: trans (100,100,0,90,0 The Design of an End-of-Arm Tool Management System 45

RSD-TR-21-80 Tool Change - Main This Val II program guides the flow of the tool changing program. First, the tool number of the tool on the gripper is confirmed. Then, if necessary, a location vector is established for an empty tool location in the tool rack and then the old tool is put away. Otherwise a location vector for a new tool is established and that new tool is put on the wrist of the robot after this the program returns control to the calling program. *** ************ * *********** *********************** * * * * * * Establish the correct tool number of the tool on the; robot arm by running the "toolid" program. The returned tool number should then be checked in case it is the new tool number. call toolid if old.tool == new.tool then go to 50 end If the old tool number is nonzero, then the location vector of the empty spot on the tool rack is established to put the old tool away. Otherwise, if the new tool number is non-zero, the location vector of the new tool is determined to get the tool. If the new tool number is zero, then no tool location is determined and the program continues at label 5. The location vectors are determined in the "tool locator routine". if old.tool < > 0 the tl = old.tool go to 10 end if new.tool == o then go to 5 end tl = new.tool goto 10 Then attach / detach is performed. If the old tool number is non-zero, then the approach is set to 1. Otherwise it is set to 2. 5 if old.to < > 0 then approach = 1 else if new.tool < > 0 then approach = 2 else approach - 0 end end go to 40 50 new.tool - 0 return Figure 39 46 The Design of an End-of-Arm Tool Management System

Start Does the Does e Gttetonbprogram indicate T sr cotespon Yed \sensor known to i th ere is no tool to the tool bbeyalnbag "T ein gripper?gp turnon? |Yes Nb ReY option been possible sensor number tero? [ Get the tool number || Trosubleshoot sensor and of the tool in the gripper get tool number of tool in by calling "Trouble" gripper by calling "Trouble" Reassign tool number t sso Reassign tool number and set sensor repair flag Figure 40 The tool Identificator main program. The Design of an End-of-Arm Tool Management System 47

Start Is the tool Is the tool Yes No_ I Troubleshoot the too rack switch rack switch rackoubleshoot the switch suspected known to be with the switch bad? WbaV?. troubleshooting subroutine Is a tooTroubleshootthetool o rack position \ rack positions with the \failure suspected./ position failure troubleshooting subroutine No Do all the tool locations b No eeed redefining* Redefine all the tool locations with the all-position redefining subroutine Figure 41 The tool rack management main program. 48 The Design of an End-of-Arm Tool Management System

Start Does the oprt e es The switch is broken. too is prsentIs the switch Set switch malfunction flag toO Closedd? Figure 42 The switch troubleshooperating program f the tool-rack switch open? correctly Set switch malfunction flag to Closed Figure 42 The switch troubleshooting program of the tool-rack management main program. (Note that there is a micro switch sensing tool arrival/departure at each tool location inthe tool-rack) The Design of an End-of-Arm Tool Management System 49

Start Does the / Does the operator~ ~ j~program indicate observe no tool i there is no tool n the gripper|n gripperl location yes What is Isthe no the number of N t ool bservation Yes the tool i nfirmed by the oibol number gripper? oerator? t sittozero 50 TeeiofnE-frToMngeIm Does the Does the observed number No _ope rator confirm agree with that of/'the observed tool the program? number? Yes ell Reset the tool number of The correct tool is in the tool in the gripper to the gripper the observed tool number End Figure 43 The tool rack tool load position failure troubleshooting subroutine. 50 The Design of an End-ot-Arm Tool Management System

RSD-TR-21-86 Start Operator gives the tool numbers of the tool present at each tool location operator confirm _N these tool numbers? Reassign the tool numbers at each location Figure 44 Tool rack setup routine The Design of an End-of-Arm Tool Management System 51

RSD-TR-21-86 Position Switch 1 Tool Position 1 Position Switch 2 Tool Position 2............. ~i~i...........X Position Switch 3 Tool Position 3 Figure 45 The top view of the tool rack design indicating the switches, used in all tool rack management routines. 52 The Design of an End-of-Arm Tool Management System

RSD-TR-21-86 5. CONCLUSION There are no machine tools using a single tool. Very soon there will be no robots using a single hand, or gripper, but several hundred or more thus the robot hand management system design is of crucial importance to those who design, simulate, run an implement flexible assembly, welding, etc. systems. (Note that further details regarding the system under development can be found in the references and in papers currently prepared for publication.) 6. ACKNOWLEDGEMENTS The author would like to express his thanks to the University of Michigan, GRIM, and MEAM for supporting this research project. The Design of an End-of-Arm Tool Management System 53

UNIVERSrrY OF MICHIGAN RSD-TR-21-8 3 9015 03692151 REFERENCES AND FURTHER READING [1] Paul C. Ranky: The Design and Operation of FMS, Flexible Manufacturing Systems), IFS Publications (Ltd) and North-Holland, 1983. 348 p. [2] Paul G. Ranky: Computer Integrated Manufacturing, An Introduction with case studies, Prentice Hall International, 1985. 528 p. [3] Paul G. Ranky and Pcter/C. Y/ Ho: Robot Modeling, Control and Applications with software, IFS (Publications) LTD and Springer Verlag New York, 1985 348 p. [4] Paul G. Ranky: Programming industrial Robots in FMS, Robotica (1984), Vol. 2. Cambridge University Press, Cambridge, UK, p. 87-92. [5] Paul G. Ranky-instructor and John Rcvelt-etudent: ARHC Software Status Report 2, University of Michigan, Working Paper, 1986 [6] Henry W. Stoll: Design for Manufacturing: An Overview Applied Mechanics Rev., Vol. 39, No. 9 Sept. 1986, ASME, USA [7] Paul G. Ranky: Dynamic Simulation of Flexible Manufacturing Systems (FMS)., Applied Mechanics., Vol. 39, No. 9., Sept. 1986, ASME, USA [8] Paul G. Ranky: End of Arm Tool Management System for Robotized Assembly Lines, SME Robots West Conference, Long Beach, CA, USA, Sept. 1986. [9] ROBCAD System and use Manuals, ROBCAD/Detroit, 1985-86, USA. [10] Warneckc, H J. and Sehraft, R.D: IndustrtBRobotetMainz 1073, Krauskopf Verlag. 54 The Design of an End-of-Arm Tool Management System