Roboncs & Computer-Integrated
'¢lanu]acturmg. VoL 3. No. 1. pp. 1-10. I987
11736-5845/87;$3.00 - 0.00 Pergamon Jounrnals Ltd.
Printed in Great Britain
• Paper
ROBOT SYSTEM INTEGRATION INTO COMPUTER-INTEGRATED MANUFACTURING G. SPUR, I. F U R G A C a n d U. K I R C H H O F F Fraunhofer-Institut fiir Produktionsanlagen und Konstruktionstechnik, Berlin, F.R.G. Industrial robotics has proved to be a key technology for flexible automation in manufacturing and assembly. The prime emphasis for future research will concern the integration of robots into computer-integrated manufacturing (CIM) systems. In this paper a research project on the "Operational Control of Robot System Integration into CIM" will be presented. The main components of this project are the development of a computer-aided planning system and the establishment of an offline programming system for robots. The interrelationship between these two areas will be discussed as well.
ing the computer-aided design of products and production equipment, and the Programming System, including robot control technology as well as the connection between CAD systems and robotics.
1. INTRODUCTION The demands of a rapidly changing, increasingly sophisticated and highly competitive market force the manufacturing industry to search for new ways to achieve a more flexible production strategy by increasing productivity and quality and reducing manufacturing costs. The integration of the different components and levels of a factory by means of information technologies is inevitable in order to achieve maximum efficiency. Computer-integrated manufacturing (CIM) is today's basis for tomorrow's economic growth. CIM comprises a combination of software and hardware for product design, production planning, production control and production equipment design as well as for the execution of the production process itself. CIM is an integrative approach, starting with input parameters derived from marketing, sales and management, then combining operational control features and generating process parameters to control manufacturing systems (Fig. 1). Common computer tools, e.g. data bases, computer-aided design (CAD) packages and simulation techniques, are used at all levels of CIM systems. Investigations show that the prime emphasis for future research concerning robot integration must be put on the operational control level of the CIM system. 1 This paper describes the objectives and results of the ESPRIT project, "Operational Control of Robot System Integration into CIM".' The main research areas of this project are the Planning System, includ-
2. OBJECTIVES The overall objective of the project is to specify and to build prototype systems in order to demonstrate the feasibility of robot integration into CIM systems. The objectives of the Planning and Programming components are identified below. From the integration point of view, the consideration of the interrelationship between these subcomponents is critical for the success of the project. It is convenient to use a computer-aided planning procedure with the capability of accessing a central data base containing geometric, technological and related production planning data. But in most companies, application planning is not carried out systematically and the use of computers for data acquisition and preparation has also to be studied. The application of computer tools for planning purposes provides these advantages: • Increase in planning quality. • Reduction in the planning period and in costs. • Consideration of alternative solutions. • Better consideration of the requirements in different plant areas and organizational levels. • Reduction of routine manual work and increase in the share of creative of human work.
Some of the work reported here was supported financially
by the EEC-ESPRIT program. 1
Robotics & Computer-IntegratedManufacturing• Volume3. Number I, 1987
/
TOOLS DATABASE
[
I FMS OPERATIONALCONTROL
I
CAD
I
i PLANNING SYSTEM
PROGRAMMING SYSTEM
I
CAPP
P
SIMULATION MACHINEPROCESSCONTROL ROBOTPROCESSCONTROL DISTRi-
BUTION ONC
ROBOT
EXPERTSYSTEM
CONTROL
OF
CONTROLPERIPHERY
MACHINING.HANDLING. ASSEMBLY.INSPECTION.
l
J
Fig. i. Referencemodel for robot integrationinto ClM systems. Computer-aided planning demands the coupling of 3D-CAD systems with databases for industrial robots and other automation equipment. Systems that work in dialog with their users also permit the development of effective layout of peripheral elements. The development of simulation systems, including animation features, supports the generation of robot-user programs in addition to the planning process. The variety of industrial robots appearing on the market is still increasing. Planning tools must help in designing systems according to application requirements and in evaluating the potential of new technological concepts and components. It is essential that products should be designed for robot-oriented manufacturing. While product designers consider carefully the product's function, and even final appearance, they typically overlook the manufacture of their product's parts. Ideally, a product's design and system's design contribute to the complex whole. The iterative functional procedure for improving product design has been worked out during the course of our project. The functional procedure requires that the designer interface with other sections in the organization. In particular, these sections should include a products marketing, quality assurance, purchasing, parts production and assembly departments in addition to its programming tasks.
The application of robots in past years has been restricted nearly without exception to large series production, inadequate programming technologies hinder the implementation of robots in small and medium-sized production. Downtimes during the set-up caused by existing online programming methods (e.g. teach-in) are unacceptably high. Offline programming systems establish the necessary linkage to the area of production planning. The linkage of robots and computer-aided design systems saves costs as a result of shorter turnaround times. Furthermore, the CAD-robot linkage leads to a rationalization of the robot application programming by the integration of design work and production planning. This procedure generally implies the following advantages. • Decrease in downtime caused by online programming. • Enhanced safety of programming personnel. • Application of programs to robots from different manufacturers. • Generation of user programs prior to the installation of the manufacturing system. • Avoidance of unnecessary production planning by utilizing geometry descriptions from the design phase. • Increased accuracy of the computer-aided generation of control data.
Robot system integration • G. S~'u~. et al.
• Facilitated editing: better editing of control programs. • Avoidance of transmission errors between design and production areas. To create user programs for industrial robots offline, geometric, technological and economic data are required. Geometric data are available from CAD systemg, other data are stored in different data bases. Standardized interfaces are necessary in order to use these data from different sources in a simple and effective way for offline programming. Task-specific data have to be transferred for program development. The program's execution of subtasks is verified by simulation. Documentation of user programs should be realized automatically by the system. There has to be a standardized interface, e.g. I R D A T A , for the connection of the programming system and the robot. 3 Furthermore, there has to be the possibility of modifying user programs directly at the robot. These modifications include the alteration of data as well as of subsets of the robot's program. For documentation of these modifications a reverse way to the programming system has to be provided. For the development of the robot programming system, attention has to be paid to the dependency between the robot's control system architecture and the programming system, which requires the standardization of the interfaces and test facilities. Existing and proposed robot programming systems fall into three broad categories: guiding systems in which the user leads a robot through the motion to be performed, robot-level programming systems (explicit) in which the user writes a computer program specifying motion and sensor functions
Implicit Off line Programming System
©
Standard
Interface
Explicit Offline Prog ramming System Standard Interface Online Programming System (Robot Control )
Fig. 2, Multilevel structure of robot programming systems.
and system synchronization, and task-level programming systems (implicit) in which the user specifies operations by their desired effect on objects (Fig. 2). 3. OVERALL SYSTEM STRUCTURE The first task is the identification of the interfaces and the common functional modules between systems planning, both explicit and implicit. A structure of the overall system has been developed. (Fig. 3). Figure 3 shows the main components of the overall system. • The "planner" block as the kernel for implicit programming. • The "robot-program generation" block as the focus of explicit programming. • The "planning system" block as the focus of all planning activities. All have access to a database, to models needed for simulation and programming, and to the graphic and simulation system. The output of robot-program generation is an explicit programming language which can be fed either to the simulation system for test purposes or to the real robot. The output of the planner can be either an explicit programming language or the socalled explicit solution language. The explicit solution language generated by the planner is input information for the robot-program generation module and has to be converted into an explicit programming language. There are identical interfaces between the simulation system and the real robots as well as for the output explicit programming language of the planner and the robot-program generation module. The planning system can also use the data base, models and the simulation system with graphic features for layout planning. The user communicates with the system via the user interface which accommodates the entire system. The task of the system control is the conversion and distribution of user commands as well as the coordination of system modules. A more detailed description of the structure of the implicit and explicit programming systems, and of the system planning, are outlined in the next section. First the simulation system will be described as a common tool for the system's planning and programming areas. The first implementations deal with spot welding applications and assembly tasks. 4. SIMULATION SYSTEM The simulation system is necessary to find robot programs which are practical on the shop floor.
4
Robotics & C o m p u t e r - I n t e g r a t e d M a n u f a c t u r i n g • V o l u m e 3, N u m b e r 1, 1987 USER INTERFACE
IMPLICIT EXPLICIT PLANNING DATABASEMODELSSIMULATION GRAPHIC-
SYSTEM CONTROL
]
l
INTERFACE I REAL ROBOTI
I----3
L
I GENERATION
II
II
FI
I DATA BASE ~
It
[
SYSTEM
SYSTEM
II
!
I
I J
MODELS ~
GRAPHIC
It
It
SYSTEM CONTROL
Fig. 3. Overall system structure
Maximum practicality depends on the means available for checking the program in the offiine area. A simulation system provides the necessary means for a robot program test. The more accurately the simulation system represents reality, the more likely is the practicality of the robot programs. Simulation of motion sequences as well as complete robot programs support the user during program development and use. The simulation system must provide the graphic representation of motions of the robot in its envi-
USERPROGRAM INPUT (IRDATA}
ronment on a graphic screen. Therefore computer internal representations of the involved components are necessary: robot control model, a kinematic and a shape model, and a graphic system (Fig. 4). A graphic representation is required to depict the multitude of different data effectively. The main subjects of simulation are: • Check of the practicality of the layout, • Test of the practicality of robot programs, • Determination of the cycle times and • Collision check.
GEOetETRICMODEL
CONTROL MODEL
[ _I
KINE~TIC MODEL
JOINT ANGLES - (21, O2,,,
GRAPHICOUTPUT
SHAPE MODEL
FRAMES 0N) T
- -F--o--T--j
x
GRAPHIC
REPRESENTATION
PROJECTION
OF THE IR IN A MOMENTARY POSITION
INTO THE 2 D SCREEN REPRESENTATION
_01, ( 0[x,Oly,01 z )T
Fig. 4. R o b o t - m o t i o n simulation.
Robot system integration • G. Sr't~R et
Simulation can be divided into two different levels: • Robot-dependent and • Robot-independent simulation. In the case of spot welding applications, "robotindependent" means independent of a specific robot but not independent of the chosen spot welding gun. For this test the system must show the user a picture of the workpiece, the programmed points and the spot welding gun on a graphic screen. The user has to be able to check the pre-defined configuration (position and orientation) of the spot welding gun in the points to work on. Graphic aids have to be provided for collision checks between workpiece and tool. To ensure that the robot program is consistent with the given task, additional test functions are required. For example, it has to be tested whether or not a pre-defined sequence of spot welding points was followed. For the robot-dependent practicality test, the entire cell with a specific robot system has to be considered. It must be possible to test whether the pre-defined tool configurations may or may not be achieved by a chosen robot. This has to include the test to ensure that robot-specific limits are not exceeded. For this purpose the system must provide an alpha-numeric output for the user. Additionally, a graphic representation of motion sequences is useful. This can also be used as a visual collision test, as well as in the planning stage for the optimal arrangement of peripheral devices. Another important feature of the simulation has to be the determination of cycle times for the motion sequences as well as for complete robot programs. A parallel analysis and an elaboration of requirements for robot control architecture has been started. Figure 4 shows that a robot control or an imitation of it on a computer (control model) is needed for the simulation system. This imitation of the behavior of a robot control can either be realized by an emulator or by a simulation model. Both versions have been considered for the first realization of the simulation system. The structure of the emulator and the simulation model are equivalent; they differ only in verisimilitude. In general simulation models imitate functional modules of a system up to a certain degree of reality. In principle the real robot system consists of the mechanical arm and the robot control. For the computer simulation of the motion of a robot with a visual representation on a graphic screen, simulation models of these two components have to be available. As shown in Fig. 4, the simulation itself
ul.
includes the connection of the simulation models as well as.the linkage with the graphic system (output) and with the user program file (input). The example shows that two principle characteristics of simulation models can be identified: • The motion part and • The geometric part. In the previous example, the system robot's motion part is represented by the robot control model (robot control emulator). The geometric part contains the description of the mechanical arm and is represented by the geometric model of the robot. The geometric model can be decomposed into the kinematic model which contains the information of the frame relations of the different links of the robot, and into the shape model which contains the description of the robot's shape. Generally the above approach is also applicable to other objects within a work cell. For example, a workpiece transported by conveyor belt can be similarily represented by a motion model and a geometric model. In the following, the motion part of the simulation model of the robot will be described more closely. This motion part will be called the simulation model of the robot control, or more simply the robot-control model. The goal of the first prototype is the development of robot-control model which has the main functions of real robot control systems. The analysis of existing robot controls led to the basic structure in Fig. 5. For the test of the practicality and optimization of the user programs, feedback to the operator concerning the internal states of the robot-control model is necessary; an example is the set of intermediate parameters of interpolation. As seen in Fig. 5, the simplified robot-control model must have the following functional modules: • A user interface which allows the operator to communicate with the system, e.g. a command to interrupt a running program for test purposes. • An interpreter which has to execute the instructions determined in the explicit robot program by distributing the tasks to the different modules. • An execution planning module which plans the motion execution. This includes velocity and acceleration profiles. Static correction data from external devices have to be considered. • A transformation module which contains the direct and the inverse transformations. • A supervision module which monitors the internal states. Furthermore, a system control module is needed which functions as the operating system of the robot-control model.
6
Robotics & Computer-Integrated Manufacturing
•
Volume 3, Number 1, 1987
INPUT CMANNEL$
OUTPUT CNA~NEL$
ERROR HANDLING
I
1
INST~UCTIONS STATUS ,( 3
SYSTEM
CONTROL
USER INTERFACE
Fig, 5. Structure of the robot-control model.
5. OFFLINE PROGRAMMING The elaboration of the principal structure of the explicit offline programming system is shown in Fig. 6. The necessary interfaces between the system user, data bases, models and the real robot are stated. Furthermore, the integration of debugging and test functions (simulation and graphic system) are outlined. I R D A T A will be used as a standard interface for the simulation system as well as for the real robot. 3 The implicit programming system will allow specification of the robot's function at the task level USER INTERFACE EXPLICIT PROGRAMMING SIMULATION DATA BASE MOOELS GRAPHIC
SYSTEM CONTROL
I
I
CO I ENTAT'O '| T..~L.,O.
III
FRA.E .ANOU~G I~J /
GE"E"',,IO'~
F
I
F'PL.
r
|
:O~-L,~,o,~ 31
CYCLET,.E
~TE,,
Ill
F ~
....
SYSTEM CONTROL
Fig. 6, Principle structure of explicit programming system.
I
]
rather than at the robot level. A task-level specification describes the task as a sequence of changes in a model of the environment. Such a model can be obtained from CAD data. Thus an action is specified by its desired effects on objects of the model, rather than specifying the motions necessary to achieve them. The system will then plan these actions and will generate a robot-level specification of the task. Figure 7 depicts this process. The implicit programming system transforms the implicit programming language into an explicit solution language, which is an internal representation of the robot-level specification. The explicit solution language can be translated into different explicit robot programming languages. These explicit programming languages can either be used in the conventional way, i.e. translated by a compiler into virtual robot languages which can be executed by virtual language interpreters, or a special explicit programming language can be used directly as an input to the high-level interpreter. The high-level interpreter is the controller for an entire robot work cell. It controls different low-level interpreters which control devices like robots, sensors or peripheral devices. The subproblems associated with the overall process are: • Planning of collision-free motions of the robots, • Planning of grasp configurations and appropriate collision-free approach and departure trajectories, • Planning of sensing operations to monitor the task execution and
Robot system integration • G. SPURet p IMPLICIT
al
'~
ROGRA~W WIING
}
LANGUAGE
IMPLICIT PROGRAMMING SYSTEM
I
1
.
SOLUTION LANGUAGE
I
C00E GENERATOR I
<
hP6C,T "h PROGRA~,IMING
f
} .
.
.
.
I
~
I .....
(VIRTUAL ROBOh
. . . . .
HIGHT LEVEL iNTERPRETER
(VIRTUAL ROBOT~N~
\ LANOUAGEoJ
i
i
LANGUAGE INTERPRETER
•
•
•
•
•
LANGUAGE INTERPRETER
// *
•
•
*
. I['
1
!'
J
p EXPL]CIT ROGRAMMLNG) LANOUAOE~
LANOUAGEn~
i
\ LANOUAGE,y
ROBOT
EXPL,C,T "~
~ PROGRAMMING}
.
L ANOUAGEIj/
l
ROBOT
ILO'{
LEVEL l INTERPRETER~
I
LEVEL INTERPRETER
I RO'T J
LOW
.
•
V'S'ON I
•
LEVEL INTERPRETER
[
ROBOT
Fig 7. Structure of the planner (implicit programming),
• Planning of sensor-based fine motions for part mating. In a first version, the system will consist of a number of planning modules, one for each of these subtasks. Additionally, a supervisor module will control the flow of the planning process and the communication between the modules. 6. PLANNING The interface between the planning system and the offiine programming has to be designed according to the CIM reference model. Figure 8 shows the transition of relevant layout information to the offline programming areas. The following information was derived from the planning process, stored in the data base and now serves as basic input for the generation of the offline programs. • Assembly sequence, • Arrangement and description of equipment, • Binary communication data, • Geometric path information including endeffector constraints, • Sensor parameters and • Process-specific parameters.
iiiiiiiiiiiii!ii~?~~iiiii~i~iiiiii~iiiiii~iii~i~i~i~i~i~i~i~iiiiii!i!i~iiiiiiii!iiii] iiiiiiiiiiiiiiiiii ................ PLANNING SYSTEM
:!:i !i{!!!i!!!i!i~iz .:.x.:+:c.:.:.: i:i:i:i:i:E:i:i:i:;: .................. ::::::::::::::::::::: ................ !:~'!:!~i:3i:i:?:
"K I, PRIRECI38.SS. LS -K2= CYL/YAX 3/-.10 "K3 : SOLID/Ki. MINUS
I
O~FLINE PROGRAMMING 1 [-PIQnn,ng Input r-~ ] I-P1 P~
DATA
-I K1 o, ,o I .~z Kl~emohc OQt~
-P, P. "PI.P2 "K1 O, 0 x
Po,n~s 1 Poths
Oz Origins
iii ii:i ii :ii i: V
S
BASE
--+-
Simulot,on
IR-Pro~'Cim
::i!:ili ! ii:iii: i!iii i!l +
Fig. 8. Interface between planning system and offiine programruing.
The planning system itself consists of two major components. One is a methodology which guides the planner from the planning task to the solution. The other important part consists of suitable tools for the planning process. First, a planning procedure with the seven steps of • Manufacturing system analysis, • Determination of basic data, • Documentation of information,
8
Robotics & Computer-Integrated Manufacturing • Volume 3, Number l, 1987 PL ANNIN0 SYSTE~W
USER ~NTERFACE t
L
I
I
s~srEw ,N • At, N
~'% L °2:: ION aw
G A~O AR~A
~r,GN
c~l Co~
I
• NO C
ON O~ FNEM•.
L
0~rA
t ........ I
l=
'EW ROL
r-3
...,,
~OOULE ,
o.ooo,,
Fig. 9. Structure of the planningsysteru.
• Layout planning and evaluation, • Decision on economic feasibility, • Final detailing of the planned system and • Planning of system installation has been elaborated. The seven steps are decomposed into modules which are suited for computer processing (Fig. 9). Due to the strong emphasis on graphic and visual aspects during the planning procedure, it is appropriate to start with available C A D and database systems and add on planning features. The layout-planning system is based on the following economic necessity. Due to the decrease of product lifespans, companies have recently preferred standard flexible equipment like robots in order to use them also for the future models of products. It enables them to use the standard equipment economically for a long time. Special elements, e.g. gripping fingers, have to be adopted to new models. The requirements for the planning system are that standard equipment should be stored in files and that it should be possible to modify them easily. Additionally, special elements should be generated quickly. Based on the three-dimensional CAD system C O M P A C (Computer Oriented Part Coding), ~ and consideration of dedicated planning tools, a computer-aided interactive planning system will be developed.
AssemblySystem]--
Planning Attributs
Equipment}-~
Fig. 10. Hierarchical structure of layouts.
Figure 10 shows the functional hierarchical structure of layouts. Each level of the layout structure is characterized by the following identifiers: name, description, technical specifications and economic and organizational data. During the planning procedure the following tasks have to be accomplished: • Input of elements according to the given identifiers. These elements are stored in the computer for further planning activities and are accessible for modifications. • Combining elements into equipment clusters, e.g. robots. In Fig. 11 an overview of different assembly robots is given. • Generation of assembly cells by selection and
Robot system integration • G. SP~R et al.
9
it Fig. I 1. Assembly robots. a) Four axes robot, scara type b) Six axes stand-alone robot c) Gantry type robot
arrangement of equipment. Figure 12 shows an assembly cell consisting of a gantry and a SCARA-type robot as well as peripheral devices. • Combining of several cells and creation of an assembly system. In Fig. 13 the flowchart of the computer-aided planning procedure is given. According to the specified levels of the layout structure, the planner starts with the selection. Within that level it is possible to generate or modify the computer internal representations. It is required to store planning information on each level and build up libraries. After the completion of different planning projects, the planner can base his actual work on the use of accumulated planning results. The optional access to compiled information reduces planning effort by avoiding redundancy of operations and utilizing existing solutions.
Tools for the simulation of the system behavior are being developed together with the offiine programming group. Additionally, algorithms for the technical and economic justification of systems will be developed. This will permit users to compare different solutions generated by means of the CAD layout planning system. 7. CONCLUSION Industrial robotics has proved to be a key technology for flexible automation in manufacturing and assembly. Companies will have to increase their automation efforts to maintain the leading edge in production technology. However, current obstacles which influence the planning and programming of robotintegrated systems have to be overcome in order for this objective to be reached. The integration approach described above offers the possibility of a
i
Fig. 1.2. Assembly cell.
10
Robotics & Computer-lntegrated Manufacturing • Volume 3, Number 1, 1987
Assembly System I
broad acceptance of the technology worldwide. The establishment of a common information technology base for planning and programming procedures for industrial robot applications will pave the way for this goal.
CcIll im i Cell i t I" ....,j. Coil ,n Equtpments
IMemory t }
~
P~n~putat~on
E~ements
I ~en~nerot ,on OfElements1 i,i i' Mer tory
END
I
Fig. 13. Flow chart of planning levels.
8. REFERENCES 1. Spur, G. et al.: Design Rules for Integration of Industrial Robots into CIM-Systems. ESPRIT '84. Amsterdam, North Holland Publishing Company, 1985. 2. Spur, G. et al.: Operational Control for Robot System Integration into CIM. Second Interim Report o f the ESPRIT-Project 623. Berlin: IPK, 1986. 3. VDI-Standard: 2863, Blatt 1 (Entwurf), IRDATA. Allgemeiner Aufbau und Satztypen. Dfisseldorf: VDI-Verlag, 1983. 4. Spur, G. and Krause, F. L.: CAD-Technik. Mfinchen: Carl Hanser Verlag, 1984.