Automatic programming of industrial robots by sensor guidance

Automatic programming of industrial robots by sensor guidance

Robotics & Computer-Integrated Manufacturing, Vol. 5, No. 2/3, pp. 173-181, 1989 0736-5845/8953.00 + 0.00 Pergamon Press plc Printed in Great Britai...

2MB Sizes 0 Downloads 79 Views

Robotics & Computer-Integrated Manufacturing, Vol. 5, No. 2/3, pp. 173-181, 1989

0736-5845/8953.00 + 0.00 Pergamon Press plc

Printed in Great Britain

• Paper

AUTOMATIC PROGRAMMING OF INDUSTRIAL ROBOTS BY SENSOR GUIDANCE G. PRITSCHOW and G. GRUHLER Institut fiir Steuerungstechnik der Werkzeugmaschinen und Fertigungseinrichtungen, Universit~it Stuttgart, SeidenstraBe 36, 7000 Stuttgart 1, F.R.G. If industrial robots are to be used for tooling operations on tolerance-dependent workpieces, the generation of an appropriate movement program is often necessary. It is indispensable in cases where it is not possible to collect sensor data during the tooling process (e.g. in the case of painting), so that a separate programming process has to be executed before. In the following treatise, a method is presented which solves the problem of sensor-guided programming. It is of great importance that, in this case, the programming process runs automatically to a large extent, so that operating expenditure is reduced to a minimum.

costs. Therefore, an economic use of industrial robots is often questionable and, especially with small batch sizes, seldom possible. 1 The programming process at the workpiece can be simplified to a large extent and improved in its accuracy if sensors are used for support. Thus, in an extreme case, extensix~e automation of the programming process itself is achieved. It is unavoidable in cases where workpieces are subject to such large dimensional tolerances that an individual movement program is necessary for every workpiece. This is also necessary with tooling tasks, which, during the tooling process, permit no sensor data collection or only with an excessive expenditure. But also in these cases, where surfaces of large workpieces have to be manufactured as a whole, the time necessary for the conventional programming process is not reasonable economically even with a single programming process due to the high number of tooling lines lying close together.

1. INTRODUCTION When using numerically path-controlled industrial robots for tooling operations (welding, grinding, coating, burring etc.), efficiency is largely determined by the flexibility of the robot system. Here, two factors are important: on the one hand, the adaptability of the industrial robot to changing geometric and technological data during the tooling process and on the other hand the type of programming of the movements. Industrial robots are equipped with sensors to collect changeable process data during the production process. The spectrum ranges from simple, switching sensors to complex sensor systems, which are characterized by components for preprocessing of sensor data. Besides the availability of sensor interfaces, above all the processing of sensor information in robot controls is an essential point of current, control technology developments. The aim is the feedback of current data taken from the tooling process to modify or correct movement and functional processes. The task of sensor data processing during the process especially includes the demand for short reaction times by the sensor and control as well as the problems of process data collection at the point of the currently running tooling operation or at least very close to it. The second factor which essentially determines the adaptability of the robot system is the generation of movement programs. Programming procedures which need a long time lead to high programming

2. SERVO-CONTROLLED SCANNING O F WORKPIECES WITH THE HELP OF SENSORS 2.1. Structure o f movement generation in robot control with sensor guidance During the set-up operation in conventional programming, the "processing" of the workpiece and robot position data is mainly done by the operator: he chooses the program restart points which, according to him, mark the tooling path sufficiently, he determines the distances between the restart points 173

174

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

Gt00ol let . ~]Leoding ~ . movement ~_¢,~t m0vement ,nformotion I:t I~gener°ti°n~ ---------~------_ I

.C

IN\\\\\\\\\",I

.~.- v l

~a ervo

t~ 2c

-

ontrol

~-.ol ,~tu

Geometric dote ~--~

Geometric doto processing

Fig. 1. Sensor-guidedprogramming: structure and subfunctions. and adjusts the desired orientations of the tool in relation to the workpiece.2 In the case of automatic programming, the geometric data processing must be done by the control processor (Fig. 1). Of course, complete automation is not possible, for, in any case, robot control needs information on which parts of the workpiece have to be manufactured in which way. Figure 2 explains the basic idea of automatic, sensor-guided programming by the example of a path which has to be taught on a workpiece surface. The industrial robot is guided along the path which has to be programmed in position and orientation by a non-contact sensor for geometry. Only a moving direction (leading movement) has to be given for the scanning process. The path data are stored, reduced to necessary path restart points and processed to a movement program, which is run in the following

Leading movement

Fig. 2. Sensor-guided robot (scanning of a surface).

tooling process. The position and orientation of the sensor in relation to the workpiece are derived from the sensor measuring values. This information is processed in the control processor with the aim of adjusting the sensor arrangement in fixed distances and constant clearance angles to the scanned workpiece geometry. Figure 3 shows the structure of the movement generation with overlaid sensor control. The sensor, attached to the robot hand, forms in six coordinates the comparison of the desired and actual values between the workpiece position and orientation and its own position. By sensor data preprocessing, the control differences AXs . . . . . A~, are formed from the sensor measuring data in the sensor coordinate system. They represent the input for position and orientation controllers, which form the correction variables in sensor-specific coordinates during every interpolation cycle. These are transformed into the Cartesian world coordinate system and there interlinked with the values provided by the interpolation component (leading movement). The new coordinates are converted in the conventional way to desired values for the robot by the inverse transformation. 2.2. Sensor controller At first, the sensor controller shows the behavior of a non-linear multivariable control system. The correction variables are decoupled by the inclusion of a transformation component, however, and linear behavior is achieved so that the sensor coordinates can be controlled only individually. This leads to six independent sensor control loops. The sensor controller consists of six individual controllers for AXs . . . . , Ays, which are digital P- or PI-controllers and which, in the end, provide the correction variable vector.

Automatic programming of industrial robots • G. PRITSCHOWand G. GRUHLER

polnts~lnterpoiotion~.~.rkl~oer~:ote

Restort

175

Robot

I~1~

s. tronsb'moti°nl - ] l

oPnn~li?riC~trolLz p o s i t i o n

I

|

Tronsformot~on

I°f sms°rd°~l s~

Sd

I~

I

sensor

Universal interlace for sensor coordinotes

Workpiece position ond -orientotion

AXs ,AYs .aZs,ae.~A~s,AVs

Fig. 3. Sensor control loop.

Sr=(X~,Yr, Z~,~,#~,~r). The sensor control loops are closed synchronously (i.e. with the same scanning time) with the interpolation, transformation and positioning control (at present TA = 20 ms). 2.3. Sensor transformation The correction variables Xr . . . . . 7r, provided by the sensor controllers, relate to the sensor coordinate system; they are to be connected with the reference inputs generated by the interpolation in world coordinates. The connection between sensor and world coordinates is not linear. A linearization is necessary to be able to work in the whole tooling area of the robot and not only in single points. A complete linearization is represented by the transformation of the correction variables into the Cartesian world coordinate system, called sensor transformation in the following. As sensor coordinates are converted into world coordinates by the sensor transformation and joint coordinates are not taken into consideration, the component is independent of the kinematic structure of the industrial robot and therefore it does not have to be adapted to various kinds of kinematic chains. This adaption is achieved by the conventional inverse transformation 3 alone, by which joint coordinates are calculated from world coordinates. The sensor guidance realized this way is generally applicable to a large extent and need not only be used with automatic programming but of course also for direct movement correction during the tooling process itself. The resulting various possibilities of application are not dealt with in this treatise, however.

2.4. Elimination o f the lag in the sensor control

loop The sensor position and orientation resulting from the sensor guidance are differentiated from the actual workpiece position by the control errors that occur. The control error vector sd = (AXs, . . . , A~s) (briefly described as lag) therefore reduces the scanning accuracy depending on the path speed and geometric changes that occur. This is especially disturbing in those cases where precise programming processes with a path or orientational accuracy of about 0.2 mm or 1 ° are required as, for example, in the case of surface-welding. A simple possibility to improve programming accuracy can be achieved by the following procedure by which even dynamic control deviations can be compensated for during the programming process, the lag is eliminated by calculation with automatic path storage. For this, the six components of the lag vector sa have to be transformed into the Cartesian world coordinate system and there the current robot coordinates have to be corrected. According to Fig. 4, Sd is used as input as a second sensor transformation component (compare section 2.3). The data record gained of restart points sp contains the actual workpiece coordinates and orientational angles and forms the basis for automatic path storage. 2.5. Non-contact sensor for geometry The number of the coordinates to be measured as well as the structure of the sensor for geometry depend on the kind of application. Figure 5b shows a realized sensor which is completely equipped for six coordinates. As the measur-

176

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

Robot position

s_ =

Sensor lag

-~=

s

i •

~AYk/~1

i

Ayp . ÷ ----



=

Polh = Sp restart IVo/ po,nls

WP/

I ~w,/

Fig. 4. Elimination of the sensor lag. Table 1. Measuring tasks for geometry sensors

Fig. 5a. Assignmentsensors/sensor coordinate system.

Zs (~

Ys

~ Ys \\

I1.s

\\

XsC

(.),

Fig. 5b. Non-contact geometric sensor.

Application of the sensor for

Numberof coordinates to be measured

Simple path tracking (e.g. welding seam) Surface scanning (position and orientation) Edge tracking (position and orientation) Tracking of a workpiece (general case)

1 . . . 2 (translational) 3 (1 translational, 2 rotatory) 4 . . . 5 (2 translational, 2 . . . 3 rotatory) 6 (3 translational, 3 rotatory)

ing elements, non-contact, inductive displacement transducers were used which work according to the eddy current principle. Therefore, the sensor can be used with magnetic and, in the case of a reduced measured distance, also with non-magnetic workpieces. In its complete equipment with six transducers, the geometry sensor is suitable to follow a workpiece (a cuboid) in position and orientation. If the transducer which measures in the X~ direction (Fig. 5) is removed, the remaining system is suitable to scan prismatic edge courses, as can be seen in Fig. 6. A further example is the often occurring task of scanning surfaces. In this case, the distance to the surface and two clearance angles to the normal of the surface are to be recorded. The reduced sensor suitable for this and consisting of the sensors elements 1 . . . 3, can be seen in Fig. 7. If further scanning tasks require a basically different arrangement of the sensor elements, e.g. no parallel or no orthogonal displacement sensor axes, this has to be considered by changing the sensor data preprocessing. 3. G E N E R A T I O N OF THE L E A D I N G M O V E M E N T F O R THE SCANNING PROCESS In the automatic, sensor-guided scanning process, rough global movement information in the form of a

Automatic programmingof industrialrobots • G. PRITSCrtOWand G. GRUHI_ER

177

Fig. 6. Edge scanning.

Fig. 7. Scanningof workpieee surfaces. preferred direction has to be given. The sensor-guided movement consists of the leading movement and the servo-controlled movement due to the data provided by the sensor. The leading movement has to be given by the operator. This can be done without further expenditure, by using the conventional movement generation of the robot control.

3.1. Leading movement for the programming of

line-shaped tooling paths In the simplest case, the definition of rough starting and end points by the operator (e.g. in the set-up operation) is enough. The resulting minimal program is run during the sensor guidance and is overlaid by it (Fig. 8).

178

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

Toot vector

~

/ ~

( 6eometrlc ~ns0r)~..~

~

i

l o u s Generated path restart points

~

/

path without sensor guidance

Proarammed end'"posilion

Fig. 8. Automaticprogrammingby sensor guidance.

(~)...@: Processing areas

Fig. 9. Processing areas for resurfacing by welding at an extrusion shaft.

The starting point of the path to be programmed is subject to the requirement that it is at least in the measuring range of the sensor; the end point can be programmed even less exactly due to the servocontrol. The generation of the leading movement is done by linear interpolation between these two points. This fictitious linear movement is modified by overlaying the sensor data, so that the real movement follows the workpiece geometry. Several path sections have to be connected to scan complex geometries so that the leading movement leads to a polygon bond. The restart points of the leading movement can especially be used to program changes of technological data in the course of the path (e.g. switching tools on and off). 3.2. Strategiesfor the scanning of closed surfaces In a number of applications, surfaces of large

workpieces have to be manufactured as a whole.4 This can be achieved by a great number of manufacturing lines lying closely together, so that the result is a meandering tool movement across the surface (Fig. 9). Examples of such manufacturing tasks are surface coating with glues, lacquer or the like, resurfacing by welding for the surface refinement of easy-wearing workpieces as well as the grinding of surfaces which are spatially crooked with turbine buckets or extrusion shafts. A meandering leading movement has to be given to achieve sensor-guided programming processes. The programming of the restart points of the leading movement by the operator in the set-up operation is too extensive here and therefore has to be automated to a large extent. A procedure to generate the leading movement with the help of only some global movement information is given in the following.

Automatic programming of industrial robots • G. PRITSCHOW and G. GRUHLER

b~ @ / • b (

t--~

~ ~

b :distoncebelween

\

/

Pt,L

P, :surrounding polygon

P \

~

179

trojectories x \

b, :projected distonces

\

b

p,)

e~t /

5 ""~'~" ~

~

PZL

Fig. 10. Leading movement with automatic programming (spatial movement).

3.3. Generation of leading movement for the

scanning process Characteristic variables in surface-covering tooling processes are the distance between the processing lines as well as the surface to be manufactured itself. The characterization of the surface must be done in a compressed way to gain the movement information for the leading movement by calculation in the robot control. The uneven, crooked polygon (3 to a max. 10 sides) is taken as a suitable basic element of surfaces for automatic programming. The surface marking is done with little expenditure by the input of the corner-points which do not need to be in one plane so that uneven surfaces can also be programmed. Several surface elements have to be connected if necessary because of the complexity of the workpiece surface. The remaining operating expenditure is only the running against and the storing of the surface corner-points in the setup operation as well as the indication of the path distance for the tooling process. Figure 10 shows an example of a surface which has to be programmed and which, for reasons of clearness, is shown in a plane. Apart from the five corner-points and the given distance of the processing lines, the meandering leading movement has to be calculated in the robot control. As Fig. 10 shows, the switching points P~Lfor the leading movement can be received by interpolation on the connection lines of the corner-points, if the variable b~of the distance between trajectories b which has to be projected on the corresponding polygon side is known. The manufacturing direction is generally chosen in such a way that it is parallel to the connection line of P~P2; therefore, the set-up operator has the possibility of laying the tooling direction parallel to each of the

polygon sides by means of storing the corner-points in succession. The interpolation of the restart points of the leading movement PiL is done by marking off bi on the corresponding sides. One begins with P1 by calculating P1L at a distance of 0.5 b xon P1P5 (Fig. 10). The half distance between trajectories in the first step is chosen, because one half each of the processing width of the tool is marked off on the two sides of the central processing line. Afterwards, the further restart points P~L have to be calculated successively. If the point interpolation is finished on one polygon side, a possible remaining rest distance dr is transmitted to the following side and there the point interpolation is resumed. Besides the Cartesian coordinates, the orientational angles, too, have to be interpolated. The restart points P~Lcollected this way have to be stored in the user memory of the robot control and form the initial program for the sensor course. 3.4. Sensor-guided definition of the surface limitation In the preceding sections, it has been supposed that defined processing areas remain the same at least in the limitation of their sides even with a series of equal workpieces. This supposition is justified in many cases. In cases where this is not true, either a manual after-correction (unsuitable) or a sensor-guided definition of the surface corner-points has to be done. Workpiece tolerances, which lead to an enlargement or a reduction of the surface to be programmed itself, are more problematic than a workpiece mismatch which can also be considered by static program corrections. Generally, the task of the sensor-guided surface definition is already solved by display processing

180

Robotics & Computer-Integrated Manufacturing • Volume 5, Number 2/3, 1989

~U 4t[J ~

"

'

U~j,~_...h...~/ P°th°c:tn~ree sensOr

l

®

Programmedcorners



Found corners by automatic recognition

Fig. 11. Automaticrecognitionof operating surfaces. systems with contour extraction. With the developed sensor for geometry, satisfactory results can be achieved even here in many cases, if a measuring program to define the corner-points is added before the actual sensor course. It is an advantage that no additional technical expenditure is necessary. It is supposed that the processing surfaces show clear limitations (e.g. edges). Figure 11 shows how to proceed by the example of an extrusion shaft. The external corner-points at the shaft wing are to be defined in a sensor-guided manner. Therefore, the limiting edges are scanned by the sensor for geometry and activated sensor control. By the addition of the compulsory distances dil or dt~ from the corresponding edge and transformation of the achieved position of sensor to world coordinates result in corrected coordinate values for the surface cornerpoints Ps and P4. After the definition of the corner-points, the restart points of the leading movement are calculated as has been shown. During the sensor-guided programming course, the robot control generates the leading movement by running the restart points by means of linear interpolation. At the same time, the sensor for geometry is to be activated, so that scanning of the workpiece in meandering paths results from the leading and servo-controlled movement. The result is an automated programming process, a path storage, shown in the following, and data reduction. 4. AUTOMATIC PATH STORAGE During the sensor guided programming course, automatic storage of the run path is performed. This is done by storing path restart points in a fixed, but supposedly spatial, point distance. The generated path consists of a close succession of restart points which is, with long movement processes, very extensive. Therefore, it is necessary to reduce the

data. The basic idea is to take over only these restart points into the movement program which characterize the path sufficiently within a required processing tolerance. For this, path sections are replaced by lines as far as this is compatible with the largest permissible path deviation. The path restart points resulting from a programming process in close succession are reduced to the essential points. The restart points consist of Cartesian coordinates for the tool intervention point and up to three angles for the tool orientation. Accordingly, path as well as angle deviations have to be considered with the reduction. In addition to these geometric conditions, technological data have to be considered along the path (e.g. switching a welding torch on/off). As this has to done at exactly defined points, a restart point has to be taken into the movement program here. Exceeding the path and angle tolerance area as well as a change in the technological data occur independently of one another. If a violation of at least one of the three tolerance conditions is recognized when checking one path restart point, a restart point has to be taken into the path movement. To calculate the path and orientational deviation, one puts a tolerance tube around the succession of path restart points and tolerance cones around the corresponding tool vectors (Fig. 12). When the

tol eronce CC OneX--------OneX---------

VI

i oinlof the polh tool vector

Fig. 12. Criteria of tolerance for data reduction.

Automatic programming of industrial robots • G. PRITSCHOWand G. GRUHLER tolerance areas are left, a restart point has to be resumed into the program and the intermediate points can be deleted. The mathematical relations for the data reduction as well as the reduction algorithms themselves are explained thoroughly in Ref. 4. 5. EXAMPLE O F APPLICATION Figure 13 shows an example of an application of the automatic sensor-guided programming method. The workpiece (extrusion shaft) is part of a gum manufacturing machine. T o reduce wear, the workpiece surface is armored by welding. This is achieved by a great number of welding beads of high-quality material, which are welded on the rough casting until the surface is completely covered. For the welding process, the workpiece has to be heated to about 400°C. Manual welding takes 72 h at the moment. On automation with an industrial robot, one has to take into account the fact that the workpieces show tolerances of up to 10 mm. As a result, a special welding program has to be generated for every workpiece. The workpiece is programmed in a sensor-guided way when it is cold, afterwards it is heated and welded. The aim is to reduce the processing time (the programming time included) by 50 %. The test surface marked in Fig. 13 has been programmed in a sensor-guided way. Only the corner-points of the surface which is to be manufactured have been given. With this information, the programming process runs automatically. A t first, the line-shaped leading movement is calculated to scan the surface. During the programming process, the industrial robot is guided at a fixed distance and in normal direction to the surface by the sensor. Simultaneously, automatic path storage with data reduction is activated. The display line in Fig. 13 signals which restart points are taken into or deleted from the m o v e m e n t program after data reduction (luminous or extinct indicating elements).

Fig. 13. Automatic programming (testing surface) at a workpiece which has to be resurfaced by welding.

181

In the tooling procedure, the automatically generated program can be run with a welding tool.

REFERENCES 1. Jacobi, W.: Industrieroboter--schon ausreichend flexibel fiir den Anwender? Wt-Z. ind. Fertig. 76: 273-277, 1986. 2. Hesselbach, J., Sto~T,A., Ki~ling, M. Schumacher, H.: Programmiersysteme fiir Industrieroboter. Wt-Z. ind. Fertig. 74: 524-528, 1984. Fiihrungsgr6flenerzeugung far 3. Keppeler, M.: numerisch bahngesteuerte Industrieroboter. Berlin, Springer, 1984. 4. Gruhler, G., Geometriedatenverarbeitung fiir selbstt/itig programmierte Bearbeitungsroboter. Wt-Z. ind. Fert. 74: 325-328, 1984. 5. Hirzinger, G.: Adaptiv sensorgefiihrte Roboter mit besonderer Beriicksichtigung der Kraft-MomentenRiickkoppelung. Robotersysteme 1: 161-171, 1985. 6. Feldmann, K., Classe, D.: Sensor-aided robot programming. Proceedings of the 5th International Conference on Robot Vision and Sensory Controls. IFS (Publications), Kempston, 1985. 7. Cai, H.G., Wang, Z.X.: A self-teaching technique of an arc welding robot with three degrees of freedom Proceedings o f the 15th International Symposium on IndustrialRobots. IFS (Publications), Kempston, 1985. 8. Meier, C.: Transformation of sensory signals in robot control systems. Proceedings of the 5th International Conference on Robot Vision and Sensory Controls. IFS (Publications), Kempston 1985. 9. Swaczina, K.: Sensordatenverarbeitung far bahngesteuerte Handhabungsautomaten. Miinchen, Hansser, 1983. 10. EI-Zorkany, H.I., Tondu, B., Liscano, R.: Automatic sensor-based programming of robot trajectories. Proceedings of the 5th International Conference on Robot Vision and Sensory Controls. IFS (Publications), 1985. 11. Pritschow, G., Storr, A., Gruhler, G., Schumacher, H.: Off-line programming system with geometrical data recording by manually guided industrial robots. Off-line Programming o f Industrial Robots, North Holland, Amsterdam, 1986. 12. Doll, T.J.: Nichttaktile Sensoren fiir Roboter und Sensoreinsatzplanung. Robotersysteme 2: 55-62, 1986. 13. Pritschow, G., Gruhler, G.: Geometriesensoren und Sensordatenverarbeitung fiir die automatisierte Roboterprogrammierung. Robotersysteme 2: 47-53, 1986. 14. Erne, H., Gruhler, G., Geometrisch-taktile Sensorfiihrung von Industrierobotern. HGF-Kurzbericht 82/52 (Loseblattsammlung), Essen, Girardet, 1982. 15. Andre, G.: A multiproximity sensor system for the guidance of robot and effectors. Proceedings of the 5th International Conference on Robot Vision and Sensory Controls. IFS (Publications), Kempston, 1985. 16. Llibre, M." Data compression methods for the recording of industrial robots trajectories. Proceedings of the 12th International Symposium on Industrial Robots. IFS (Publications), Kempston, 1982.