Robot programming system

The robot programming system addresses interference issues in press work systems by simulating the system in a virtual space and modifying the robot program to prevent collisions, enabling efficient and coordinated movement of robots and press machines.

DE102020206463B4Active Publication Date: 2025-01-30FANUC LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
DE102020206463
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-06-25
Filing Date
2020-05-25
Publication Date
2025-01-30
Estimated Expiration
2040-05-25

AI Technical Summary

Technical Problem

Existing press work systems face challenges in coordinating the movement of robots and press machines to prevent interference during workpiece transfer, as components other than the crossbeam can interfere with the press machine.

Method used

A robot programming system that includes a robot program memory section, press program memory section, template program setting section, model placement section, interference detection section, and robot program modification section to create a robot program that prevents interference by simulating the press work system in a virtual space and modifying the robot program to avoid collisions.

Benefits of technology

Enables the robot to move properly in a press work system by preventing interference with press machines, ensuring coordinated movement and efficient workpiece transfer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000008_0000
    Figure 00000008_0000
  • Figure 00000009_0000
    Figure 00000009_0000
  • Figure 00000010_0000
    Figure 00000010_0000
Patent Text Reader

Abstract

Robot programming system (1) that generates a robot program that instructs one or more robots on how to move in a press work system comprising one or more robots that transfer a workpiece and one or more press machines that process the workpiece while the workpiece is held between dies, wherein the robot programming system (1) comprises: a robot program memory section (18) that stores the robot program; a press program storage section (14) which stores a press program which instructs the one or more press machines how to move; a template program setting section (20) that causes the robot program memory section (18) to store, as an initial version of the robot program, a template program that instructs the one or more robots to move in a basic manner; a model placement section (12) that places three-dimensional models of the workpiece, of one or more robots, and of one or more press machines in a virtual space; a robot motion processing section (19) that causes the three-dimensional model or models of one or more robots to move according to the robot program; a press movement processing section (15) which causes the three-dimensional model or models of the one or more press machines to move according to the press program; an interference detection section (13) that detects interference between the three-dimensional models of the workpiece, the one or more robots, and the one or more press machines; and a robot program modification section (21) that modifies the robot program stored in the robot program memory section (18) to prevent interference detected by the interference detection section (13).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a robot programming system.

[0002] A known press working system includes a press machine that presses a workpiece while holding the workpiece between a pair of dies (movable and fixed dies); and a robot that feeds the workpiece to the press machine and removes the pressed workpiece. To improve the productivity of such a press working system, it is desirable to cause the press machine and the robot to move in a coordinated manner so that the robot feeds and removes the workpiece before the movable die in the press machine reaches the top dead center and after a certain space is formed between the movable and fixed dies.

[0003] Regarding the technique for causing a press machine and a robot to move in a coordinated manner, for example, Patent Document 1 discloses a method for controlling a transfer robot for reciprocating machines such that, when the transfer robot transfers a workpiece between adjacent ones of the reciprocating machines arranged in line, the transfer section of the transfer robot does not interfere with the moving sections of the reciprocating machines, the method including: sequentially detecting positions of the moving sections during machining by the reciprocating machines; and controlling the movement of the transfer section of the transfer robot based on a data table that stores relationships between positions of the moving sections and positions of the transfer section where it does not interfere with the moving sections.

[0004] See also patent documents 2-7. Patent document 1: JP 2005 – 216 112 A Patent document 2: DE 10 2019 001 970 A1 Patent document 3: DE 10 2016 014 155 A1 Patent document 4: DE 10 2016 012 779 A1 Patent document 5: DE 10 2016 008 867 A1 Patent document 6: DE 10 2012 021 374 B4 Patent document 7: EP 2 811 355 B1

[0005] In the technique of Patent Document 1, the data table stores previously calculated relationships between phase angles of a main gear in the press machine and coordinate positions of a crossbeam in a transfer robot where the crossbeam is at the verge of interference with the movable die. However, in such a press working system, any component other than the crossbeam in the transfer robot or the workpiece held by the transfer robot may interfere with the press machine. Therefore, an object is to provide a technique that enables the generation of a robot program that causes a robot to move correctly in a press working system including a press machine and the robot working cooperatively.

[0006] This object is achieved by a robot programming system that generates a robot program that instructs one or more robots how to move in a press work system that includes the one or more robots that transfer a workpiece and one or more press machines that machine the workpiece while the workpiece is held between dies, the robot programming system including: a robot program storage section that stores the robot program; a press program storage section that stores a press program that instructs the one or more press machines how to move; a template program setting section that causes the robot program storage section to store, as an initial version of the robot program, a template program that instructs the one or more robots to move fundamentally;a model placement section that places three-dimensional models of the workpiece, the one or more robots, and the one or more pressing machines in a virtual space; a robot motion processing section that causes the three-dimensional model or models of the one or more robots to move according to the robot program; a pressing motion processing section that causes the three-dimensional model or models of the one or more pressing machines to move according to the pressing program; an interference detection section that detects interference between the three-dimensional models of the workpiece, the one or more robots, and the one or more pressing machines; and a robot program modification section that modifies the robot program stored in the robot program storage section to prevent interference detected by the interference detection section.

[0007] The robot programming system according to the present disclosure makes it possible to generate a robot program that causes a robot to move properly in a press work system including a press machine and the robot that work cooperatively. Fig. 1 is a schematic diagram showing a configuration of a robot programming system according to an embodiment of the present disclosure; Fig. 2 is a schematic diagram showing three-dimensional models produced by a model placement section in the robot programming system of Fig. 1 be placed; Fig. 3 is a graph showing an example of profile data generated by a profile data setting section in the robot programming system of Fig. 1 are stored; Fig. 4 is a graph showing modified examples of a pressing program created by a pressing program modification section in the robot programming system of Fig. 1 are generated; Fig. 5 is a graph showing a modified example of a different pressing program than that in Fig. 4 shows which is generated by the press program modification section in the robot programming system of Fig. 1 is generated; Fig. 6 is a schematic diagram showing examples of target positions according to a robot program stored by a robot program storage section in the robot programming system of Fig. 1 shows; and Fig. 7 is a flowchart showing a procedure of simulation by the robot programming system of Fig. 1 shows.

[0008] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Fig. Figure 1 is a schematic diagram showing a configuration of a robot programming system 1 according to an embodiment of the present disclosure. The robot programming system 1 can be implemented by causing a computer, including, for example, a CPU, a memory, and other components, to execute an appropriate program.

[0009] The robot programming system 1 includes a virtual space information storage section 11, a model placement section 12, an interference detection section 13, a pressing program storage section 14, a pressing motion processing section 15, a profile data setting section 16, a pressing program modification section 17, a robot program storage section 18, a robot motion processing section 19, a template program setting section 20, and a robot program modification section 21. These components are distinguishable in terms of function and do not need to be clearly distinguishable based on the program structure.

[0010] The robot programming system 1 is a system that reproduces the operation of the press working system in a virtual space to simulate and verify the operation, in other words, a simulator that simulates the operation of the press working system. The robot programming system can reproduce the operation of a press working system including: one or more press machines that process a workpiece while holding it between dies (movable and fixed dies); and a robot that holds and transfers a workpiece, feeds the workpiece to the press machine, and removes the workpiece from the press machine. The press working system can be a device including multiple press machines and a robot, and can be configured to form a single workpiece step by step with the press machines and cause the robot to transfer the workpiece from an upstream to a downstream of the press machines.The robot programming system 1 is configured to automatically generate, based on a simulation result, a robot program that causes a robot to move correctly in a press work system.

[0011] The virtual space information storage section 11 stores information about three-dimensional models placed in a virtual space. Specifically, the virtual space information storage section 11 stores information about three-dimensional models of a workpiece, a press machine, and a robot placed by the model placement section 12 described below.

[0012] As in Fig. As illustrated in Figure 2, the model placement section 12 places a three-dimensional model of a workpiece W, three-dimensional models of press machines P, and a three-dimensional model of a robot R in a virtual space. In other words, it causes the virtual space information storage section 11 to store information about the three-dimensional models. Therefore, the model placement section 12 stores information necessary to create three-dimensional models including the geometry and axis arrangements of the workpiece W, the press machines P, and the robot R.

[0013] These three-dimensional models can be made by modeling only components that potentially interfere with each other in the actual press working system and are necessary for calculating the system's operation. As in Fig. As shown in Figure 2, a specific example of the three-dimensional model of the press machine P may include only dies (a movable die M1 and a fixed die M2) and tables (a movable table T1 and a fixed table T2) that support the dies M1 and M2. The three-dimensional model of the robot R may include a base B, a plurality of arms A1, A2, and A3, and a workpiece W-holding hand H that are connected to each other.

[0014] The interference detection section 13 detects interference between the three-dimensional models of the workpiece W of the press machines P and the robot R, in other words, determines whether the robot R can move properly or not. Specifically, the interference detection section 13 may be configured to determine any coordinates in an overlap zone between the two or more three-dimensional models and to determine three-dimensional models including such coordinates.

[0015] The pressing program storage section 14 stores a pressing program that instructs the pressing machines P how to move.

[0016] The pressing motion processing section 15 causes the pressing machines P to move, specifically, causes components of the pressing machines P, such as the movable dies M and the movable tables T1, to move in the virtual space according to the pressing program stored in the pressing program storage section 14.

[0017] The profile data setting section 16 causes the pressing program storage section 14 to store a pressing program according to profile data that records the positions of the movable dies at each time when the actual pressing machines are actually moved. Specifically, the profile data setting section 16 stores profile data about the actual pressing machines and initializes the pressing program to be stored in the pressing program storage section 14 in such a way that the pressing program instructs how to execute the movement in accordance with the profile data about the actual pressing machines.

[0018] Fig. Figure 3 shows an example of profile data stored by the profile data setting section 16. In the example shown, the position of the movable die is represented by the angle through which a drive shaft rotates to drive the movable die, with the origin defined as the bottom dead center at which the movable die comes into contact with the fixed die during pressing.

[0019] The press program modification section 17 modifies the press program stored in the press program storage section 14 based on any differences between the press machine movement conditions to be checked and the press machine movement conditions under which the profile data are recorded while the actual press machines are moved.

[0020] If the press work cycle for the press machines to be checked is different from that during the recording of the profile data, the press program modification section 17 as shown in Fig. 4, modify the pressing program in the pressing program storage section 14 to a pressing program according to a profile formed by expanding or compressing the profile data in the time axis direction. Fig. 4 shows an example (solid line) in which the press work cycle is reduced to half by expanding the profile data (indicated by a broken line) by twice in the time axis direction, and an example (alternating long and short dash lines) in which the press work cycle is enlarged to twice by compressing the profile data to one half in the time axis direction.

[0021] Alternatively, the press program modifying section 17 may be configured to modify, for example, the length of time during which the movable die is at the top dead center and the moving speed of the movable die, as shown in Fig. 5 shown. Fig. 5 illustrates an example in which the slope of the graph is shifted parallel to the right to delay the time at which the movable die moves from the bottom dead center to the top dead center, so that the graph is deformed to have a more linear slope, resulting in a shorter time period during which the movable die is at the top dead center. To make such a modification, the press program modification section 17 may be configured to display a profile data graph on a screen and allow the user to change the graph using a mouse or other device, thereby modifying the press program.

[0022] The robot program storage section 18 stores a robot program that instructs the robot how to move. The robot program is written according to a protocol similar to that used to program real robots. Specifically, the robot program can specify target positions (teaching points) at which reference points, such as a hand, should be located, and times at which the reference points should be located at the target positions.

[0023] According to the robot program stored in the robot program storage section 18, the robot motion processing section 19 moves the robot R, specifically each of components B, A1, A2, A3 and H of the robot R and the workpiece W held by the robot R, in the virtual space.

[0024] The template program setting section 20 causes the robot program storage section 18 to store, as an initial version of the robot program, a template program that instructs the robot R how to fundamentally move. For this purpose, the template program setting section 20 stores a preset template program.

[0025] Fig. 6 schematically shows an example of the template program stored by the template program setting section 20. This template program is a robot program that causes the robot R to move to remove the workpiece W from a fixed die M2 in an upstream press machine P and place the workpiece W on a fixed die M2 in a downstream press machine P, in which eight target positions Q1 to Q8 are provided, at which reference points for a hand H are to be located.

[0026] According to the template program of Fig. 6, the hand H of the robot R uses a first target position Q1 as a starting point and moves to a second target position Q2 above the fixed die M2 in the upstream press machine P. At a third target position Q3, the hand H comes into contact with the workpiece W and holds the workpiece W and then moves it to a fourth target position Q4 to remove the workpiece W from the fixed die M2. The hand H then moves to a fifth target position Q5 to place the workpiece W above the fixed die M2 in the downstream press machine P. The hand H then moves to a sixth target position Q6 to place the workpiece W on the fixed die M2. After the hand H releases the workpiece at the sixth target position Q6, the hand H moves to a target position Q7 to move away from the fixed die M2 and the workpiece W.The hand H then moves to a target position Q8 so that the robot R moves away from an area where the movable die M1 and the movable table T1 have to move.

[0027] The robot program modification section 21 modifies the robot program to prevent interference between the robot R and the press machines P detected by the interference detection section 13 when the press motion processing section 15 causes the press machines P to move according to the press program and the robot motion processing section 19 causes the robot R to move according to the robot program. The detection of interference by the interference detection section 13 and the modification of the robot program by the robot program modification section 21 can be performed per unit movement, which corresponds to the movement of the robot R and the press machine P performed during a movement from a target position Qn (n is a target position number) to a next target position Qn+1 according to the robot program.

[0028] If it is detected that the robot R or the workpiece W interferes with the press machine P during movement from the target position Pn to the target position Qn+1, the robot program modification section 21 modifies the robot program to change the coordinates of the target position Qn+1. If the coordinates of the target position Qn+1 are changed, the robot programming system 1 can cause the press motion processing section 15 and the robot motion processing section 19 to move again to the target position Qn to the changed target position Qn+1 and cause the interference detection section 13 to check whether or not interference occurs between the robot R or the workpiece W and the press machine P. In other words, the robot programming system 1 can modify the robot program at each target position so as to prevent interference between the robot R or the workpiece W and the press machine P.

[0029] When the interference detection section 13 detects interference, the robot program modification section 21 preferably shifts the target position Qn+1 in a direction in which the movable die M1 moves, specifically in a direction in which the movable die M1 approaches the fixed die M2. If the target position Qn+1 is shifted in the direction in which the movable die M1 moves, the direction in which the workpiece W is placed on the fixed die M2 and the direction in which the workpiece W is removed from the fixed die M2 can remain unchanged.

[0030] Typically, the direction in which the movable die M1 moves is the same as the direction in which the workpiece W is placed on the fixed die M2 and the direction in which the workpiece W is removed from the fixed die M2. Therefore, the robot program modification section 21 can shift the target position Qn+1 to the previous target position Qn or the next target position Qn+2. The shift amount of the target position Qn+1 can be a constant distance or a constant proportion of the distance between the target position Qn+1 and the previous target position Qn or the next target position Qn+2.

[0031] The shift amount of the target position Qn+1 to prevent interference between the robot R or the workpiece W and the press machine P should be determined within a range where the workpiece W does not interfere with the fixed die M2. Therefore, the shift amount may have a lower limit set to the distance between the shifted target position Qn+1 and the previous target position Qn or the next target position Qn+2. If such a lower limit is not sufficient for the shift of the target position Qn+1 to prevent interference between the robot R or the workpiece W and the press machine P, the previous target position Qn or the next target position Qn+2, whose relationship with the target position Qn is not in the direction of movement of the die, may be shifted in a direction in which the movable die M1 departs from the fixed die M2.This makes it possible to prevent the hand H from overshooting the movable die M2 while passing the target position Qn, while preventing the interference between the robot R or the workpiece W and the press machine P.

[0032] In a specific example, if interference occurs during the movement from the first target position Q1 to the second target position Q2 using the template program of Fig. 6 is detected, the robot program modification section 21 can shift the second target position Q2 in a direction toward the fixed die M2, that is, to the third target position Q3. This makes it possible to prevent interference during the movement from the first target position Q1 to the second target position Q2.

[0033] If interference occurs during the movement from the third target position Q3 to the fourth target position Q4 according to the template program of Fig. 6 is detected, the robot program modifying section 21 may shift the fourth target position Q4 in a direction toward the fixed die M2, that is, to the third target position Q3. Similarly, if interference is detected during movement from the fourth target position Q4 to the fifth target position Q5, the robot program modifying section 21 may shift the fifth target position Q5 to the sixth target position Q6, and if interference is detected during movement from the sixth target position Q6 to the seventh target position Q7, the robot program modifying section 21 may shift the seventh target position Q7 to the sixth target position Q6.

[0034] The robot program modification section 21 can further adjust the movement speed or acceleration of the robot R in the robot program. When the movement speed or acceleration of the robot R is increased, the time required for the robot R to move can be shortened. This allows the robot R to transfer the workpiece during a time period when the distance between the movable die M1 and the fixed die M2 in the press machine P is relatively large, so that interference between the robot R or the workpiece W and the press machine P can be prevented under various conditions.

[0035] Next, Fig.7 shows a procedure in which the robot programming system 1 modifies the robot program. The modification of the robot program includes placing three-dimensional models (step S1); setting profile data (step S2); modifying a pressing program (step S3); writing a template program (step S4); moving three-dimensional models (step S5); checking whether interference occurs (step S6); modifying a robot program (step S7); and determining whether to terminate the program (step S8).

[0036] The step S1 of placing three-dimensional models may include causing the model placing section 12 to place three-dimensional models of the robot R, the pressing machines P, and the workpiece W in a virtual space virtually generated by the virtual space information storage section 11.

[0037] The step S2 of setting profile data may include causing the profile data setting section 16 to instruct the pressing program storage section 14 to store a pressing program based on profile data.

[0038] The step S3 of modifying the pressing program may include modifying the pressing program stored in the pressing program storage section 14 according to the requirements of the pressing work to be checked.

[0039] The step S4 of writing a template program may include causing the template program setting section 20 to write and store a template program as an initial version of a robot program in the robot program storage section 18.

[0040] The three-dimensional model moving step S5 may include causing the pressing motion processing section 15 to move a three-dimensional model of the pressing machine P according to the pressing program stored in the pressing program storage section 14 and causing the robot motion processing section 19 to move the three-dimensional models of the robot R and the workpiece W according to the robot program stored in the robot program storage section 18.

[0041] The step S6 of checking whether interference occurs may include causing the interference detection section 13 to check whether or not interference occurs between the three-dimensional model of the press machine P and the three-dimensional model of the robot R or the three-dimensional model of the workpiece W. If the interference detection section 13 detects interference, the process proceeds to step S7, and if the interference detection section 13 does not detect interference, the process proceeds to step S8.

[0042] The step S7 of modifying the robot program may include causing the robot program modifying section 21 to modify the robot program stored in the robot program storage section 18 so as to prevent interference between the three-dimensional model of the press machine P and the three-dimensional model of the robot R or the three-dimensional model of the workpiece W. If the robot program is modified in step S7, the process returns to step S5, in which the three-dimensional models are moved according to the robot program.

[0043] Step S8 of checking whether the program should be terminated may include checking whether the pressing program and the robot program have been executed to completion. If the pressing program and the robot program have been executed to completion, the process is terminated. If at least one part of the pressing program and the robot program remains unexecuted, the process returns to step S15, where the three-dimensional models are moved according to the remaining part of the program.

[0044] The robot programming system 1, which includes the interference detection section 13 and the robot program modification section 21, can automatically generate an appropriate robot program.

[0045] The robot programming system 1 also includes the template program setting section 20, which causes the robot program storage section 18 to store, as an initial version of the robot program, a template program that instructs the robot R how to fundamentally move; the interference detection section 13, which detects interference between the three-dimensional models of the workpiece W, the robot R, and the press machine P; and the robot program modification section 21, which modifies the robot program stored in the robot program storage section 18 to prevent interference detected by the interference detection section 13, making it possible to easily and reliably generate a robot program that causes the robot R to move correctly in the press work system.

[0046] The robot programming system 1 includes the profile data setting section 16, which causes the press program storage section 14 to store a press program according to profile data recording the position of the die M1 or M2 at each time when the real press machine P is actually moved. Therefore, the three-dimensional model of the press machine P can be moved to approximate the movement of the real press machine P. Therefore, the robot programming system 1 can accurately check in detail whether the robot program is suitable or not.

[0047] While embodiments of the robot programming system according to the present disclosure have been described above, it should be understood that the embodiments are not intended to limit the robot programming system according to the present disclosure. It should also be understood that the advantageous effects shown in the above embodiments are merely examples of the most preferred effects produced by the robot programming system according to the present disclosure and are not intended to limit the advantageous effects of the robot programming system according to the present disclosure.

[0048] The robot programming system according to the present disclosure may have any configuration for the robot program and may have any configuration for detecting interference. The robot programming system according to the present disclosure may be configured to display the movement of three-dimensional models on a screen, allow the user to observe interference on the screen, and allow the user to determine how the robot program should be modified to prevent interference.

[0049] The robot programming system according to the present disclosure can place any number of three-dimensional models of press machines and robots in virtual space. For example, the robot programming system according to the present disclosure can be configured to move, in a virtual space, a three-dimensional model of a robot that feeds a workpiece to and removes the workpiece from a single press machine. In the robot programming system according to the present disclosure, all press machines and robots placed in the virtual space can move in a coordinated manner on a single time axis. EXPLANATION OF REFERENCE SYMBOLS 1 robot programming system 11 Virtual Space Information Storage Section 12 Model placement section 13 Interference detection section 14 Press program storage section 15 Press movement processing section 16 Profile data setting section 17 Press program modification section 18 Robot program memory section 19 Robot motion processing section 20 Template program setting section 21 Robot program modification section

Claims

[1] Robot programming system (1) that generates a robot program that instructs one or more robots how to move in a press work system that includes one or more robots that transfer a workpiece and one or more press machines that machine the workpiece while the workpiece is held between dies, the robot programming system (1) comprising: a robot program storage section (18) that stores the robot program; a pressing program storage section (14) that stores a pressing program that instructs the one or more pressing machines how to move; a template program setting section (20) that causes the robot program storage section (18) to store, as an initial version of the robot program, a template program that instructs the one or more robots to move fundamentally; a model placement section (12) that places three-dimensional models of the workpiece, the one or more robots, and the one or more pressing machines in a virtual space; a robot movement processing section (19) that causes the three-dimensional model or models of the one or more robots to move based on the robot program; a pressing movement processing section (15) which causes the three-dimensional model or models of the one or more pressing machines to move according to the pressing program; an interference detection section (13) that detects interference between the three-dimensional models of the workpiece, the one or more robots, and the one or more press machines; and a robot program modification section (21) that modifies the robot program stored in the robot program storage section (18) to prevent interference detected by the interference detection section (13). [2] The robot programming system (1) according to claim 1, wherein, when the interference is detected, the robot program modifying section (21) shifts a target position of the robot in a direction in which the die moves. [3] The robot programming system (1) according to claim 1 or 2, wherein the robot program modifying section (21) adjusts a moving speed or acceleration of the robot. [4] A robot programming system (1) according to any one of claims 1 to 3, further comprising a profile data setting section (16) which causes the pressing program storage section (14) to store a pressing program based on profile data recording at which position the die is located at each time point when the pressing machine is actually moved.

Citation Information

Patent Citations

  • robot programmer

    DE102012021374B4

  • Real-time fault detection system for a machine tool and a robot

    DE102016008867A1

  • Offline Robot Programming Device

    DE102016012779A1

  • combined system with machine tool and robot

    DE102016014155A1

  • Integrated simulation system with improved usability

    DE102019001970A1