Robot Simulation and Off-Line Programming: S. F. Chan, Prof. Weston and Case
Robot Simulation and Off-Line Programming: S. F. Chan, Prof. Weston and Case
Robot Simulation and Off-Line Programming: S. F. Chan, Prof. Weston and Case
Introduction
Industrial robot systems have conventionally been designed and programmed as stand-alone flexible manufacturing mac h i nes. However, severe Ii m itat ions in this approach are now being encountered as manufacturing companies seek to become more competitive through evolving computer integrated manufacturing (CIM) facilities. There are some parallels here with the development of part programming for numerically controlled (NC) machines, where initial requirements were for methods of programming single, relatively simple machines through the facilities of their own controllers (online programming). Advances in computer-aided design and manufacturing (CADCAM) and the advent of computer and direct numerical control (CNC/DNC) made off-line programming a realistic proposition for groups of more complex machines indirectly communicatingwith each other through shopfloor computer systems. Unfortunately, the design and programmingof a manufacturingsystem which includes industrial robots can involve far greater complexity than that for a system composed solely of NC machines. This i s a direct consequence of the wider variety of possible application areas and potential solutions given the enhanced flexibility offered by robotics. The designer of a robot system must determine an appropriate choice of robot and its workplace elements, including feeders, tools, grippers, fixtures and sensors. The selection of a particular solution from the very many valid alternatives must be determined by
become available in the world marketplace (Refs. 3-6), including GRASP, relating the process and product infor- McDonnell Douglas Robotics Software, mation to investment and resource plan- AutoSi mulations, RoboTeach, AUTO PASS ning criteria. Without computer assis- and ROBCAD. These CADCAM packages tance in this procedure it i s highly likely provide a set of modelling and simuthat it will only be possible to find opti- lation tools which can be used to mal solutions for the simplest of manu- represent graphically a robot manipulator and its attendant equipment, and facturing tasks Having designed and assembled a hence simulate a manufacturing task. robot system, it is necessary to create The use of such packages can allow the robot task programs which determine manufacturing engineer to try several the axial movements that the robot solutions for robotic cells before manipulators will perform in relation to purchasingany equipment or to investimechanisms in the workplace and in gate alternative uses of existing cells. response to sensory feedback. The use Hence these workplace design tools can of a centralised CADCAM package to be used to improve the choice and laycreate robot task programs (commonly out of robot systems, reduce set-up referred to as a method of off-line pro- costs, reduce installation times and gramming) is not a simple exercise. The improve system performance: certain variability and complexity of the kine- manufacturers claim that engineers can matics of different robot manipulators design and lay out robot cells up to 70% and workplaces raises new issues when faster through the use of a robot compared with the off-line programming simulator (Ref. 4). of NC machines. Thus robot tasks are An additional feature of many robot conventionally programmed at the simulators is the availability of postpromachine controller. A range of pro- cessing software for off-line programprietary programming languages have ming of robots. Such a postprocessor become available for this task - for reformats the geometric and sequential example VAL I I , AML, KARREL and HELP information generated by the modeller (Refs. 1 and 2) - and are used in con- and simulator to produce a robot task junction with a teach pendant. While program in the native language of the robot languages of this type simplify robot. Obviously this postprocessing task programming, they have attendant function is robot dependent (currently major disadvantages, as follows: there is no internationally accepted neutral language for robots), and hence 0 For small-batch production, loss of this facility will only be readily available production time in the teach mode (while for commonly used industrial robots. defining the workplace geometry) can Let us consider some of the necessary be significant. features of the modeller. Commonly 0 It i s necessary to recreate infor- either set-theoretic (Ref. 7 ) or boundmation (concerning processes and pro- ary representation (Ref. 8 ) solid modelducts) which may already be available in ling techniques are used to allow a a machine-readable form elsewhere in three-dimensional.model of the robot the manufacturing system. and workplace to be constructed from
157
simple primitive shapes such as cuboids, regular prisms and cylinders, or generally by closed polyhedra. Typical robot simulators will facilitate model creation by easy-to-use data input methods, and by allowing the created models to be stored in and recalled from a library. When created, the robot and workplace model may be viewed and manipulated in standard ways, for example displayed graphically in plan, front and side elevations, and in perspective and plane parallel projections from any viewpoint. The spatial relationship between entities in the model (the robot and its equipment, for example) can be controlled using the normal CAD input and display practices. Typically methods are also provided to allow robot model movements to be controlled in conventional ways, such as in world, tool and joint co-ordinate systems. For example, the user may specify the desired position of the tool centre point, with the robot simulator performing the inverse transformations necessary in order to determine and display the robot posture. A number of such positions can be stored as a series of sequential events in a manner analogous to the teach method of robot programming. Subsequently, a timebased simulation can be executed to
represent the movement of the robot (relative to its peripheral equipment, namely machines, feeders, conveyors and components etc.) between these various workplace co-ordinate positions. Path control can be imposed on the motion between positions so that straight-line or circular trajectories can be represented. During this simulation process, interference detection software can be executed so that collisions in the workplace can be flagged. This is inherently possible through the use of settheoretic or boundary representation modelling techniques, although it can be extremely time consuming. The present generation of robot simulators can be considered essentially to be kinematic in nature, although commonly an estimate of the cycle times related to various workplace movements can be obtained: velocity information being assigned to the manipulator model at model creation. Thus the dynamic characteristics of the robot and its workplace elements are not usually accurately modelled. For example, in a high-speed contouring application the real manipulator will be subject to backlash , deflect ion of manipulator links, following error etc. We shall return to this point later, but it is debatable whether the complexity in-
volved in attempting a full dynamic simulation would be justified except in rare circumstances. However, facilities for obtaining cycle time estimations can be particularly useful as this information can be used in investment appraisal and resource planning exercises.
Calibration
In common with any simulation process, the usefulness of a robot simulator is governed by theaccuracywith which the robot and its workplace can be model led. Using the present generation of computer systems, sufficient processing power can be made available to achieve very high precision modelling of any manipulator system. However, in creating such a model, specific input data concerning the manipulators kinematic and dynamic behaviour must be available
RedBoard PCB
SFC C A D
pre-processor
updated locations
download
v i a RS 232
serial link
1 ,
controller
seriol link
board
robot
1 i
robot model
1-
--l
robot
h-
158
from some source. When simulating robots, there are two obvious sources of input data: from the robot manufacturer through using manipulator and workplace measurement devices.
0
If the robot simulator i s used only in choosing a robot and designing a suitable workplace layout the first of these sources can be appropriate; and this approach is favoured by current suppliers of robot simulators. However, robot manufacturers usually supply only limited statistically averaged kinematic data concerning their manipulator, with often little or no data relating to its dynamic behaviour. Thus when compared with simulated results a specific industrial robot will demonstrate both dimensional variations (resulting from manufacturing tolerances, backlash, deflection in manipulator links, control system resolution and deadband etc.) and unpredicted dynamic behaviour (damping, following error etc.) as it is moved through its working envelope. Clearly, any significant inaccuracies or omissions in specifying the robot and workplace model can lead to lack of confidence in the simulation results. This situation is further exacerbated when attempting to use the simulator to achieve the off-line generation of robot task programs. Here it is not sufficient for workplace elements to assume nominal positions, shapes and, where appropriate, dynamic behaviour. Nor can significantly large dimensional and dynamic behavioural errors in the manipulator simulation be tolerated. The capabilities of current solid modelling techniques must be questioned for certain applications of off-line programming. The representation of geometry by plane or simply curved surfaces may be adequate for simulation purposes, but could be too gross an approximation where the parts being manufactured are composed of complex curved surfaces. Although hybrid CAD modelling systems are under development, current set theoretic and boundary representation solid modellers lack the complex surface representations to be found in surface modelling systems. T date very little detailed technical o information i s published in the literature which documents the use of robot simulators in off-line programming applications. However, two approaches have been used in attempting to overcome modelling errors:
0 through two-stage programming, the second involving the use of a teach pendant
The use of a teach pendant to overcome modelling errors must be viewed as a retrograde step, unless the pendant i s used only to establish a limited number of reference or datum points, while the use of workplace sensors will incur a significant increase in complexity and additional cost. In fact, generic robot calibration procedures have yet to evolve in an internationally accepted sense. This can be attributed to the complexity involved in accurately measuring the position and orientation of workplace elements, and their dynamic characteristics. However, the McDonnell Douglas Robotics Software suite includes an ADJUSTmodule which offers a specific solution to this problem through the use of a calibration probe, mounted on the robots face plate or in the gripper (the probe supplying feedbackhnput data to the robotlworkplace model).
Integra tion
As indicated earlier, future generations of robot simulator may have an increasingly important role in the evolution of CIM systems. Here we will consider the possible form of an interfaceto product design.
Consider the specific case of an electronic manufacturing environment where a robot is to be used to insert odd-form
components into a family of printed circuit boards (PCBs). Suppose also that the PCBs are to be manufactured in small batches and have been designed using a proprietary CAD facility. In such an instance, various information concerning the artwork on the PCBs, the component types and their geometry, and the required location of the components on the PCBs will all be stored within libraries in the PCB design system. Although this information is likely to be stored using proprietary data formats, it will exist in a machine-readable form and can be utilised in generating the workplace model. Clearly, however, a data link of some form (which may be automated or involve manual intervention) can be established and processing facilities provided to re-format the information into data structures which can be integrated within the workplace simulation model. Such an arrangement could yield significant time savings in any robot/workplace simulation and offline programming venture. This specific example serves to illustrate that for robot simulators the modelling process can be considered to comprise three constituent elements, namely models of: the robot manipulator the robot workplace and its tools the product. Having chosen a robot and determined its attendant workplace equipment, the
159
can only suggest that the user interface to a robot simulator should be as simple as possible and should make extensive use of model libraries, whereby not only the robot but also commonly used workplace elements can be easily constructed through parametrising standard primitive building blocks. Furthermore, where a product design interface cannot be established, facilities could be included for the user-friendly description of products encompassing geometric and sequential information. As a generalisation one could conclude that off-line programming will be more easily justified in circumstances where complex robot tasks are required and/or where the batch manufacture of large product families is involved. However, at the moment inadequacies in the simulators' capabilities in dealing with sensory feedback, exception handling and the debugging of task programs imply the continued use of on-line programming for these aspects, where a language such as VAL I I combined with a teach pendant have the necessary flexibility.
Fig. 4
arrangement so formed will remain fixed in most situations, and so too will the associated model elements in any simulation. However, when batch manufacturing is involved, changes in the product occur. Thus where a large family of products are involved, or where complex geometric descriptions of products are concerned, a link to product design can be of significant benefit. Furthermore, significant benefit can be gained by establishing data links to other computer-based manufacturing activity areas. For example, an interface to an automated process planning system could access valuable information concerning the sequence of manufacturing operations to be performed. In our PCB assembly example, process planning information might already exist, in machine-readable form, describing the sequence in which components should be inserted into the PCBs. Thus a data link could facilitate the input of information, defining theorder in which subtasks should be performed to the simulation process and subsequently to the robot task program. The success of any integrated solutions as described will rely heavily on
the success of standards initiatives such as MAP/TOP (Ref. 9), EDlF (Ref. IO), ICES (Ref. 1 ) and PDES (Ref. 12). Such 1 specifications will allow manufacturers to supply their automation products with standard interfaces, thereby allowing standard product descriptions to be stored and transmitted across those interfaces.
'Ease of use'
The premise on which off-line programming systems have evolved and are marketed i s that they are easy to use. Certain suppliers of robot simulators claim that their system is user-friendly, so that most operators, with no previous programming experience, can design workcells after one day's training. Those suppliers have also claimed that an operator can become an expert in two to four weeks compared with six to nine months for a general-purpose CAD system. This may in fact be the case in simple application areas, but to date very little literature i s available comparing off-line and conventional robot language programming procedures so that reliable conclusions can be drawn. In the absence of information, one
160
August 1988
entity is modelled by defining geometric, spatial and functional relationships. Definition of geometry using primitive shapes is straightforward, but generalised polyhedra present a much more substantial problem which requires the assistance of screen interaction techniques. Spatial relationships between objects in threedimensional space inevitably cause difficulties which can be addressed by an improved user interface or by improved, but potentially expensive, computer graphics techniques. Functional arrangement refers to the need to encapsulate mechanical and kinematic relationships between model items within the data specification. For inexperienced users or complex situations this can be an extremely daunting prospect. Once the model has been created there still remains the often complex task of building the kinematic simulation itself. Thus methods of enhancing the user interface to GRASP have been studied and software modules have been produced to assist both experienced and non-expert programmers in dealing with solid modelling and task programming.
modelling of grippers, assembly jigs etc. can be extremely difficult, and a parametric approach could provide a solution. Solid modelling software modules have been coded in Pascal, and these can assist both experienced and inexperienced programmers when creating models of entities commonly encountered in a robot workplace, for example pallets (or racks), worktables (or benches), conveyors, turntables, tool magazines etc. Here the programmer is required to input a limited set of parameters so that a text source file can be generated automatically and coded appropriately for input to the GRASP solid modeller. The software modules produced have a common design structure. T illustrate the principles involved let o us consider a specific software module which was produced to assist users in creating objects in the pallet or rack category. The parameter values, such as
the pallet dimensions and name, are supplied in response to prompts, and are used to generate a textual GRASP source file. The GRASP pictorial representation of typical pallets is illustrated by Fig. 3. The same approach, of generating workplace entities based on user responses to simple input prompts, was used in creating other commonplace workplace entities. Software modules were also produced for tool magazines and work surfaces, as well as kinematically functional turntable and conveyor entities. Fig. 4 illustrates workplace models created in this way, where appropriate geometric, spatial and functional relationships have been defined. Clearly, the time taken by a user in creating a model depends upon the complexity involved and hidher level of expertise. For the examples treated here, work surface modelling is the simplest, this also being reflected in the level of
e=
input track name
(7
start
before?
instruction
yes
display options
1
i f options with
161
complexity in the associated software module, whereas conveyor modelling is the most complex. When using the modelling facilities of a typical robot simulator a rough estimate of the time needed to create these solid models is between 10 and 30 minutes, the actual time taken being dependent on the experience of the user (although a significant part of the time required is usually spent on calculating the correct geometric location of the primitives). However, if the enhanced MMI software modules are used in generating an entity model, then the time required will be between 1 and 2 minutes. Thus significant time saving can be achieved. Perhaps of greater significance, however, is the confidence that can be placed in a parametrically defined model object. The parametrisation will have been subjected to vigorous testing of its suitability for the application, and thus it is unlikely that model shortcomings will be discovered inconveniently late in the simulation process. At present, a limited range of items can be produced through the use of specific software modules, but the discussion above illustrates the general principles involved. However, it is recognised that eventual full-scale implementation is likely to be via a general-purpose parametric languagetaking into account the special needs of this technique in robot modelling.
object, so as to be able to grip it and lift it up before the remainder of the task continues. Clearly there are many other micro sequences of this type, which when defined and parametrised would make extremely useful building blocks for macro sequences or complete robot tasks. T demonstrate this principle a softo ware module was produced to simplify the definition of a variety of palletising operations. This module comprises a number of functional elements, as shown schematically in Fig. 5. In simulating a task it is necessary to define any reference points, and these o may take the form of an array. T simplify reference point definition, optional software-based procedures were written which accept the names of reference points. The resulting simulation task is presented in GRASP syntax, ready to be used in simulation. Subsequentlyduring simulation any joint violation and object collisions can be detected. The computerassisted model building and task operation facilities have been used in programming a number of tasks for two AdeptOne robots, the off-line program generat ion being accom pii shed through the use of a VAL I1 postprocessor. These off-line programming exercises have proven the validity of the approach and suggested many possible enhancements.
Conclusions
Off-line robot programming will be more easily justified in circumstances where complex robot tasks are required
and/or where batch manufacturing of large product families is involved. if off-line programming is to be implemented using graphical simulators of the type described in this paper, then a number of shortcomings within these systems must be overcome. Thus any model is an approximation to the real situation, and its use to determine the explicit activities of the real robot working in its real environment must result in a requirement to calibrate the model. The proposed method of calibration would involve workplace sensors feeding back deviation information to the model, thus permitting the generation of an accurate program. This leads directly to the second limitation: inadequate integration with design and manufacturing control systems. The solution here would seem to be the use of emerging standards for both manufacturing information and the method of its transmission between design and production facilities. The final area of concern is the ease of use of the simulation systems. Designers and robot programmers are being asked to perform an extremely complex abstract task, the results of which largely determine the efficiency with which expensive manufacturing facilities are utilised. T do so they should be proo vided with tools which are not only functionaily satisfactory, but also meet high ergonomic standards. It can been seen then that off-line programming by graphical computer methods has considerable potential advantages, but these are tempered by a consideration of some fundamental limitations of existing systems.
References
1 LOZANO-PEREZ,T.:, Robot programming, Proceedings of IEEE, 1983, 71, (7), pp. 821-841 2 BONNER, S., and SHIN, K.: Comparative study of robot languages, Computer, 1982, pp. 87-97 3 YONC, Y.F., CLEAVE, J.A.,GREEN, J.L., and BONNEY, M.C.: Off-line programming of robots, in Industrial handbook on robotics (Wiley, 1985) 4 S A F E , R.N.: Robot system simulation, Robotics Today, 1984, 6, (3), pp. 81-90 TUFR 5 HOWIE, P.: Graphic simulation for off-line robot programming, Robotics Today,1984,6, (I), pp. 63-66 6 EVERSHEIM, M., WECK, M., SCHOLINC, H., SUHLKE, D., and MULLER, W.: Off-line
programming of numerically controlled industrial robots using the Robex-programming system, CIRP Annals, 1981, 30, (I),pp. 419422 7 REQUICHA, A.A.G.: Representations for rigid solids: theory, methods and systems, Computing Surveys, 1980, 12, (4), pp. 437464 8 Research Reports, ESPRIT Project 322: CAD interfaces (CAD*I).Vol. 1, Version 2.1 9 HOLLINGHAM, J.: The MAP report (IFS Publications, 1986) 10 HILLAWI, J.I., and BENNETT, K.R.: EDIF - an overview, Computer-Aided Engineering Journal, 1986, 3, (3), pp. 102-107 11 WILKINSON, D., and HALLAM, R.: A study of product data transfer using ICES,Computer Aided Engineering Journal, 1987, 4, (3), pp. 131-136 12 SMITH, B.M.: A reporting of the P E initiation activities. National Bureau of Standards, DS Caithersburg, MD, USA, 1987
S. F. Chan, Prof. R. H. Weston and Dr. K. Case are with Department of Manufacturing Engineering, Loughborough University of Technology, Loughborough, Leics. LEI1 3TU, England.
162
August 1988