A method for handling metal sheets in a working area comprising a machine tool and a robot

Abstract: A method for moving metal sheets of a working area (10) by means of an antropomorphous robot (101) comprises a) the taking of preselected fixed input data that identify the geometry in the space of components (100, 101, 110, 106) of the working island (10); b) the taking from a machine tool (100) of preselected variable input data consisting of dimensions and shape of a preselected metal sheet to be handled (104) and sequence of working of preselected metal sheets; c) the processing of the fixed and variable input data on a processing unit (109) in order to generate automatically output data that identify a preselected trajectory of the metal sheet (104) to be handled and d) the transfer of the output data to a control unit (108) of the robot (101) in order to drive said robot (101) to move the metal sheet (104) along the preselected trajectory so as to handle said metal sheets selected by type.

Description: The present invention relates to a method for handling metal sheets in a working area comprising a punching/shearing machine tool ana a robot, with automatic generation of trajectories, and to a device for performing the method. Modern flexible manufacturing systems (FMS) are known for working metal sheets, such as punching/shearing, bending and such like, that allow the production of unitary lots of finished metal sheets (pieces) with a by now tested technology consisting of "nesting", that is, the optimised jointing of individual sheets. Using such a technology, a working cycle of a numerically-controlled (NC) machine tool of a working area is obtained by means of a program generated by means of the fusion of individual programs for numerical control inserted in casual sequence and processed so as to minimise the quantity of scrap resulting from the working process. In this way high flexibilities are obtained for pieces having arbitrary shapes and dimensions, produced at rates that range from a few seconds to some minutes. In modern working areas, in order to feed the metal sheets to the machine tool and in order to collect and stack the finished pieces, an antropomorphous robot can be used instead of or in addition to traditional devices. The antropomorphous robot is provided with an arm having a plurality of rotational joints and one or more sliding joints. Preferably, the rotational joints are five or more than five. The robot antropomorphous allows an easy handling of the metal sheets, especially if they have shapes and dimensions that are not very suitable for conventional handling. The trajectories required for handling metal sheets have shapes that are known and that can be expressed by just a few cases, but they become an infinite set because, in relation to the casuality and to the flexibility of production, the initial and final points of the path vary continuously. In order to set up the trajectories for handling the metal sheets a "self-learning" procedure is commonly used by means of which an operator, by operating a pendant control, guides the robot to execute the desired trajectory or evolution is space. The path executed in this way is memorised in a control unit of the robot for use in an autonomous manner, that is to say without the intervention of the operator, a later time, for the handling of the metal sheets from a feeding site to the machine tool and/or from the machine tool to an unloading site. The self-learning method greatly reduces the flexibility of the working areas; in particular, if the production lots are unitary, flexibility becomes nil due to the fact that the self-learning process performed for each individual piece of a unitary lot is not used again. Generally, the manufacturers of robots provide a programming language for the sequences of actions to be performed and a self-learning method for the initialisation of data that can be used for very generic applications. The adaptation of the sequences and of the data to a specific working cycle requires times that, in the case of punching and/or shearing or bending operations, range from thirty to three hundred minutes and up. These are very long times if compared to those required for the automatic creation of programs for numerical control by means of the "nesting" technology. In fact, "nesting" for several hours of production takes only a few minutes for the generation of the programs, starting from the ones that exist for the individual pieces. Thus, the times of the self-learning step translate into a "downtime", that is to say a loss of flexibility, that are very costly in the case of punching/shearing or panelling (bending) machines used, as is often the case, for the production of small lots. The self-learning procedure also requires particular competences on the part of the operator, but this kind of specialisation is often missing in small firms or, in any case, its possible presence involves a further increase in costs. Moreover, the self-learning procedure also involves problems of safety because it has to be performed within the field of action of the robot. In fact, in order to initialise the robot, an operator has at his disposal a portable keyboard (teach pendant or control by wire). However, in order to move the robot to the required working positions with adequate accuracy and to check that it does actually take up the pre-established final positions with respect to the machine tool, the operator is generally obliged to inspect at very close range the positions actually assumed by the robot and this takes him within the field of action of components in motion and, thus, in conditions of serious danger. WO-A-96 14967 discloses a method for planning motion of a robot within free space, confined by obstacles, from an initial position to a goal position. The method comprises i) proposing, for an mth movement within a sequence of movements, a plurality of proposed movements to be made by the robot; ii) modeling at least a portion of the robot and the obstacles that confine the free space; iii) determining whether a collision will occur between the robot and an obstacle for a proposed movement being executed as said mth movement; and iv) generating a plan including said sequence of movements, by choosing, for each movement in said sequence of movements, a proposed movement that will not result in a collision and that will bring the robot closer to the goal position. Particularly, said method for planning motion comprises gross motion planning between a plurality of respective pairs of positions Q i and Q g and fine motion planning between a plurality of respective pairs of positions q i and q g . In said planning method, the movement of the robot is determined by combining a gross motion and a fine motion and by modeling a portion of the robot and an obstacle, i.e. by means of CAD techniques. Thus, the working path of the robot is not deduced from detected positions and shape (dimensions) of a working machine, robot, feeding and unloading sites, and neither from the workpiece parameters acquired from operating programs of said working machine. EP-A-0 807 497, which is part of the prior art in the sense of Article 54(3) EPC, discloses an operating method for a working area comprising an anthropomorphous robot enslaved to a bending press for working a metal sheet. The method comprises a) detecting fixed input data formed by geometric positions in space and shape data of the robot, the press and at least a feeding unit, without resorting to CAD techniques, b) the definition of variable input data formed by thickness of the metal sheet, height, angle and direction of each bend, length and orientation of each bend, position of a bending tool, without resorting to CAD techniques, c) processing the above-mentioned data in a processing unit by an algorithm based on the solutions of the inverse kinematics in order to automatically generate cycles of feeding, bending and unloading of the metal sheet, and d) transferring the cycles to a control unit of the robot so as to drive the robot and bending press to start a complete productive working cycle of a finished bent metal sheet starting from the metal sheet to be bent. Said method is designed for a bending press and it is not suitable for a machine tool which performs different workings, as a punching/shearing machine. For example, it does not provide to detect the variable input data from the operating programs of the machine and to handle the metal sheets by selecting them by type, i. e. punched or sheared metal sheets. The object of the present invention is a method for moving metal sheets in a working area comprising a punching/shearing machine tool and a robot that allows the above-mentioned drawbacks to be overcome, accomplishing a handling operation of metal sheets selected by type and totally eliminating the steps of self-learning and of changing the operative sequences of the robot every time the type of metal sheets to be handled is changed. The above-mentioned object is achieved, according to the invention, with a method for moving metal sheets in a space of a working area and a device, as defined in claims 1 and 16. One of the main advantages of the method according to the invention is the increase in flexibility derived from the possibility of handling the metal sheets selected by type without making recourse to the self-learning procedure and to sophisticated and costly methodologies such as CAD (Computer-Aided-Design) methodologies, artificial intelligence methodologies and expert systems. Another important advantage is the improvement in safety, it being no longer necessary to operate within the field of action of the components in motion of the working area. Other advantages are represented by the accuracy, efficiency and reliability of the working cycles of the antropomorphous robot generated with the method of the invention. Features and advantages of the invention will now be illustrated with reference to an embodiment represented, as a non-limiting example, in the enclosed drawings, wherein: Fig. 1 shows a functional diagram of a method for handling metal sheets in a working area comprising a machine tool and an antropomorphous robot, made according to the invention; Fig. 2 is a schematic representation of a working area comprising a machine tool and antropomorphous robot capable of operating according to the method of the invention. Fig. 1 shows a functional diagram of a method for handling metal sheets in a working area (working cell), like the one indicated with 10 in Fig. 2. The area 10 comprises a machine tool 100 operatively connected to a processing/control unit 107, an antropomorphous robot 101 operatively connected to a control unit 108, a site 110 for feeding metal sheets to be worked and a site 106 for unloading the worked metal sheets. The machine tool 100 consists of a punching/shearing machine provided with a working surface 105 supporting the metal sheets being worked. The antropomorphous robot 101 consists of an arm 102 and grasping members 103 (suction cups, device for grasping mechanically, pneumatically, magnetically and such like). The antropomorphous robot 101 is capable of withdrawing the worked metal sheets 104 from the working surface 105 and placing them, selected by type and stacked, on a preselected support surface 106a or 106b or 106c of the unloading site 106 that is situated within the field of action of the robot 101. The working area 10 also comprises an auxiliary processing unit 109 consisting, for example, of a personal computer or of a workstation, having functionalities that will be illustrated later. The auxiliary processing unit 109 and the control unit of the robot 108 can be incorporated, physically and functionally, in the sole processing/control unit 107 of the punching/shearing machine 100. Usual accessories for feeding, unloading and stacking the metal sheets, that also can be inserted to complete the working area 10, are not shown. Likewise, there is also not shown a second robot that can be used for handling the metal sheets to be worked, selected by type, from a support surface 110a or 110b of the feeding site 110 to the working surface 105 of the punching/shearing machine 100. The method for moving of the present invention is applied to the antropomorphous robot 101 in order to execute the unloading of the worked metal sheets 104 from the surface 105 and to stack them, selected by type, in the unloading site 106. The method for moving, illustrated in Fig. 1, is based on a program (software algorithm) written in a preselected programming language and compiled and/or interpreted in a project computer, not shown. An executable program is obtained that is loaded into the data processing unit 109 of Fig. 2. The method provides for an initial step of configuration of the working area 10 (block 1 in Fig. 1) consisting in the detection of parameters that identify the geometry in the space of components that, in the case exemplified, are the antropomorphous robot 101, its grasping members 103, the working surface 105 of the punching/shearing machine 100 and the unloading site 106. Some parameters consist of data of position and they represent the description of the world surrounding the antropomorphous robot 101 in the form of oriented Cartesian terns (X, Y, Z, O, A, T), where (X, Y, Z) are the coordinates of the origin of the term and (O, A, T) are the Euler angles that define the orientation of the term in the space. Other parameters consist of data of the shape of the components of the working area and consist, for example, of the lengths of the arms of the robot, of the dimensions of its grasping members and of other data. In the case exemplified, the configuration parameters considered (block 1) consist of position of the robot 101, position of the working surface 105, position of a support surface 106a or 106b or 106c of the unloading site 106, shape of the robot 101 and of its grasping members 103, shape of the working surface 105, shape of a support surface 106a or 106b or 106c of the unloading site 106. The configuration parameters indicated earlier constitute fixed input data because they are independent from the from the form and dimensions of the metal sheets 104 to be handled. They are inserted or connected in a permanent manner in the executable program resident in the data processing unit 109. The method also comprises a step of acquisition of variable input data (block 2) in the data processing unit 109 (Fig. 2). Such variable input data consist of dimensions of a preselected metal sheet to be handled, shape of said metal sheet to be handled, sequence of production of preselected metal sheets. The above-mentioned variable input data are acquired automatically by operating programs of the punching/shearing machine 100; the step of data acquisition can be completed with the possible addition of another data consisting of preferences of stacking on the support surfaces 106a, 106b, 106c of the unloading site 106. In the absence of this last data it is possible to proceed with stacking positions calculated automatically in relation to the available data. The above-mentioned variable input data consist of information available in any case in the processing/control unit of the punching/shearing machine for the operation of the working area. Any procedure suitable for extracting this information is capable of defining the above-mentioned variable input data and can be used for the purpose of the present invention. For each preselected metal sheet a logic/decisional algorithm establishes the initial and final points of the trajectory that the grasping members 103 of the robot 101 must perform to execute the required handling operation from the working surface 105 to a preselected support surface 106a or 106b or 106c of the unloading site 106 (block 3). The algorithm completes the trajectory with a series of intermediate points between the extremities calculated in this way, planned so as to constrain the robot to move along pre-established paths (block 4). The "point", in this context, is a manner for representing an oriented Cartesian tern in the space and the "points" of the trajectory assume values and are sufficient in number for the motion of the robot, between two successive points, to be predictable and within the field of action of its arm. The method provides, for each "point" of a trajectory planned in this manner, for the calculation of (block 5): solutions of inverse kinematics for the arm of the robot, sheet/machine association (variable/fixed data) for each solution that has been found. Inverse kinematics is a mathematical transformation that places an oriented tern of Euclidean space (X, Y, Z, O, A, T) in relation to a set of vectors Z1, Z2, Z3, ... Zn. Each vector Zi has as many components as there are axes of the robot; each component represents the linear (millimetres) or angular (degrees) position that each axis can assume in order to reach the "point" (X, Y, Z, O, A, T). The described transformation is known to the person skilled in the art as "solution to the problem of inverse kinematics". For each point k (k = 1, 2, 3, ... , k') of the planned trajectory the n (n = 0,1, 2, ... , n') solutions found are associated with each of them the shape of the metal sheet being handled are identified; the k' x n' spatial representations of the robot + sheet set are thus calculated for each trajectory. The method comprises a step of analysis of the sheet/machine interferences (block 6) for the selection of a suitable solution among those advanced in the preceding step. Particularly, interferences sheet/robot, sheet/machine tool, sheet/support surfaces are examined. This step is executed by a logical-mathematical algorithm that automatically identifies the most suitable solution, among the calculated representations, so as to eliminate the solutions that involve sheet/machine interferences, any out-of-strokes of the axes of the robot axes and improper rotations (0° and 0° ± 360°) of the axes from one point to the next. As an alternative to the automatic procedure just described, a simplified and ergonomic graphic representation can be used that is capable of effectively visualising the sheet/machine interferences, the out-of-strokes and the improper rotations of the axes so as to select quickly (a few seconds), for all the points of the trajectory, the most suitable solution among those calculated for each point. This second (interactive) procedure can also be used for a quick visual check on the selections executed automatically by the first procedure. With reference to Fig. 1, the steps identified by the blocks 3 and 4 for planning the trajectory and by the blocks 5 and 6 for determining the suitable solution, are repeated for each metal sheet described in the sequence of production of the variable input data (block 2). The method also provides for a step of generating variable output data (block 7) in a programming language specific to the control unit 108 of the robot 101. The results of the decisional and calculation algorithms described earlier are converted into output data valid for driving the robot 101 according to the syntax rules of its specific programming language. The converted data are the position vectors for the axes of the robot and a list with the sequence of the cycles to be executed. The method is completed with a step of generating final output data (block 8) in the form of working cycles of the robot. The final output data consist of a set of elementary cycles, required for executing the physical movement of the robot synchronised with the punching/shearing machine, written according to the syntax rules of the programming language of the specific robot and specifically designed to receive the variable output data described earlier (block 7). The combination of the elementary cycles built-up in this way and of the variable output data allows the handling operation of the metal sheets produced through the robot 101 enslaved to the punching/shearing machine 100 to be obtained automatically. With the method of the invention, when the program generated in the project computer is to be transferred to the working area 10 it is sufficient to detect the values of the geometric positions in the space of the components of the specific working area (calibration) and to insert them into the program itself. The result is a customised software algorithm, of the executable type, that, once installed in the data processing unit 109 of the working area 10, is capable of acquiring the variable input data described earlier (block 2) and of providing at output the variable data (block 7) and the working cycles of the robot (block 8) for the automatic handling operations of the metal sheets associated with the production of the punching/shearing machine 100. The variable data and the cycles of blocks 7 and 8 are transferred from the processing unit 109 to the control unit 108 of the robot 101 for the immediate execution of the required work. From the above description it appears clearly that the method described confers total flexibility on the working area because the manual step of defining the handling trajectory of the robot via self-learning procedure has been eliminated. The auxiliary processing unit 109 and the control unit of the robot 108 can be incorporated, physically and functionally, in the sole processing/control unit 107 of the punching/shearing machine 100. A similar method for moving can be applied to a second robot in the working area 10 for taking from the support surfaces 110a and 110b of the feeding site 110 the metal sheets to be worked, selected by type, and placing them on the working surface 105.

Claims: A method for moving metal sheets in a space of a working area (10) comprising a punching/shearing machine tool (100), at least a robot (101), a site (110) for feeding the metal sheets to be worked and a site (106) for unloading the finished metal sheets (104), said punching/shearing machine tool (100), robot (101) and feeding and unloading sites (110,106) having each a prefixed shape and a prefixed geometric position in the space of said working area (10), said robot (101) being provided with an arm (102) and with a grasping member (103) capable of taking said metal sheets (104) and being operatively connected to a control unit (108), said robot (101) being antropomorphous, characterized in that , for handling said metal sheets (104), a) preselected fixed input data are detected consisting of configuration parameters that identify the geometry in the space of said punching/shearing machine tool (100), robot (101) and at least one of said feeding and unloading sites (110, 106) in the form of oriented Cartesian terms and shape data, without resorting to CAD techniques, the shape data of said robot (101) consisting of dimensions of said arm (102) and grasping member (103); b) preselected variable input data are detected from said punching/shearing machine tool (100) consisting of dimensions of a preselected metal sheet to be handled (104), shape of said metal sheet to be handled (104), sequence of working of preselected metal sheets, acquired by operating programs of said punching/shearing machine (100), without resorting to CAD techniques; c) the above-mentioned fixed and variable input data are processed on a processing unit (109) by an algorithm based on the solutions of the inverse kinematics in order to generate automatically output data that identify a preselected trajectory of said metal sheet (104) between one of said feeding and unloading sites (110, 106) and said punching/shearing machine tool (100) and d) said output data are transferred to said control unit (108) of said robot (101) in order to drive said robot (101) to move said metal sheet (104) along said preselected trajectory so as to automatically handle said metal sheets selected by type. A method for moving according to claim 1, characterized in that said fixed input data comprise a prefixed position of said robot (101). A method for moving according to claim 1, characterized in that said fixed input data comprise a prefixed position of a working surface (105) of said punching/shearing machine tool (100). A method for moving according to claims 1 and 3, characterized in that said fixed input data comprise a prefixed shape of said working surface (105) of said punching/shearing machine tool (100). A method for moving according to claim 1, characterized in that said fixed input data comprise a prefixed position of a support surface (106a; 106b; 106c) of said unloading site (106). A method for moving according to claims 1 and 5, characterized in that said fixed input data comprise a prefixed shape of said support surface (106a; 106b; 106c) of said unloading site (106). A method for moving according to claim 1, characterized in that said fixed input data comprise a prefixed position of a support surface (110a; 110b) of said feeding site (110). A method for moving according to claims 1 and 7, characterized in that said fixed input data comprise a prefixed shape of said support surface (110a; 110b) of said feeding site (110). A method for moving according to claim 1, characterized in that point c) comprises a step of identification and calculation (block 3) of the initial and final points of a handling trajectory of said metal sheet (104). A method for moving according to claim 9, characterized in that point c) also comprises a step of planning (block 4) of intermediate points of said handling trajectory of said metal sheet (104). A method for moving according to claim 10, characterized in that for each point of said planned trajectory, calculations are made (block 5) of: solutions of inverse kinematics for the arm (102) of said robot (101), sheet/machine association by means of said variable and fixed data for each solution that has been found. A method for moving according to claim 11, characterized in that it comprises a step of analysis of the interferences (block 6) between said metal sheet (104) and said robot (101) for the automatic selection of a suitable solution among those found. A method for moving according to claim 11, characterized in that it comprises a step of graphic representation capable of visualising sheet/machine interferences, out-of-strokes and improper rotations of the axes of said robot (101) so as to select, for all the points of said trajectory, the mdst suitable solution among those calculated for each point. A method for moving according to claim 12, characterized in that it comprises a step of generating variable output data (block 7) wherein the results of said decisional and calculation algorithms are converted into variable output data in a programming language specific to said control unit (108) of said robot (101). A method for moving according to claim 14, characterized in that it comprises a step of generating final output data (block 8) wherein output data are generated in the form of fixed working cycles, written according to the specific language of said control unit (108) of said robot (101) capable of producing trajectories that are variable in relation to the received data. A device comprising a robot (101) for handling metal sheets in a space of a working area (10), a punching/shearing machine tool (100), a site (110) for feeding metal sheets to be worked and a site (106) for unloading finished metal sheets (104), said punching/shearing machine tool (100), robot (101) and feeding and unloading sites (110, 106) having each a prefixed shape and a prefixed geometric position in the space of said working area (10), said robot (101) being provided with an arm (102) and with a grasping member (103) capable of taking said metal sheets (104) and being operatively connected to a control unit (108), said robot (101) being antropomorphous, characterized in that said control unit (108) is loaded with a computer executable program by means of which it is capable of operating according to a method for moving wherein, for preselected metal sheets to be handled, a) preselected fixed input data are detected consisting of configuration parameters that identify the geometry in the space of said punching/shearing machine tool (100), robot (101) and at least one of said feeding and unloading sites (110, 106) in the form of oriented Cartesian terms and shape data, without resorting to CAD techniques, the shape data of said robot (101) consisting of dimensions of said arm (102) and grasping member (103); b) preselected variable input data are detected from said punching/shearing machine tool (100) consisting of dimensions of a preselected metal sheet to be handled (104), shape of said metal sheet to be handled (104), sequence of working of preselected metal sheets, acquired by operating programs of said punching/shearing machine (100), without resorting to CAD techniques; c) the above-mentioned fixed and variable input data are processed on a processing unit (109) by an algorithm based on the solutions of the inverse kinematics in order to generate automatically output data that identify a preselected trajectory of said metal sheet (104) between one of said feeding and unloading sites (110,106) and said punching/shearing machine tool (100) and d) said output data are transferred to said control unit (108) of said robot (101) in order to drive said robot (101) to move said metal sheet (104) along said preselected trajectory so as to automatically handle said metal sheets selected by type. A device (101) according to claim 16, characterized in that said fixed input data comprise a prefixed position of said robot (101). A device (101) according to claim 16, characterized in that said fixed input data comprise a prefixed position of a working surface (105) of said punching/shearing machine tool (100). A device (101) according to claims 16 and 18, characterized in that said fixed input data comprise a prefixed shape of said working surface (105) of said punching/shearing machine tool (100). A device (101) according to claim 16, characterized in that said fixed input data comprise a prefixed position of a support surface (106a; 106b; 106c) of said unloading site (106). A device (101) according to claims 16 and 20, characterized in that said fixed input data comprise a prefixed shape of said support surface (106a; 106b; 106c) of said unloading site (106). A device (101) according to claim 16, characterized in that said fixed input data comprise a prefixed position of a support surface (110a; 110b) of said feeding site (110). A device (101) according to claims 16 and 22, characterized in that said fixed input data comprise a prefixed shape of said support surface (110a; 110b) of said feeding site (110). A device (101) according to claim 16, characterized in that point c) comprises a step of identification and calculation (block 3) of the initial and final points of a handling trajectory of said metal sheet (104). A device (101) according to claim 24, characterized in that point c) also comprises a step of planning (block 4) of intermediate points of said handling trajectory of said metal sheet (104). A device (101) according to claim 25, characterized in that for each point of said planned trajectory, calculations are made of (block 5): solutions of inverse kinematics for the arm (102) of said robot (101), sheet/machine association by means of said variable and fixed data for each solution that has been found. A device (101) according to claim 26, characterized in that it comprises a step of analysis of the interferences (block 6) between said metal sheet (104) and said robot (101) for the automatic selection of a suitable solution among those found. A device (101) according to claim 26, characterized in that it comprises a step of graphic representation capable of visualising sheet/machine interferences, out-of-strokes and improper rotations of the axes of said robot (101) so as to select, for all the points of said trajectory, the most suitable solution among those calculated for each point. A device (101) according to claim 27, characterized in that it comprises a step of generating variable output data (block 7) wherein the results of said decisional and calculation algorithms are converted into variable output data in a programming language specific to said control unit (108) of said robot (101). A device (101) according to claim 29, characterized in that it comprises a step of generating final output data (block 8) wherein output data are generated in the form of fixed working cycles, written according to the specific language of said control unit (108) of said robot (101), capable of producing trajectories that are variable in relation to the received data. A device (101) according to claim 16, characterized in that said method for moving is loaded in a processing unit (109) in the form of said executable program. A device (101) according to claim 31, characterized in that said control unit (108) and said processing unit (109) are physically and functionally incorporated in a processing/control unit (107) of said machine tool (100).

Inventors: MAROBIN MARIO, MAROBIN, MARIO
Applicants: SALVAGNINI ITALIA SPA, SALVAGNINI ITALIA S.P.A.
Application year: 1997
Main classification: B25J9
IPC codes: B23P19, G05B19, B25J9, G05B13