Robot Simulation Device

The robot simulation device addresses inaccuracies in load setting by comparing simulated and actual loads, providing warnings to ensure precise cycle times and minimize on-site corrections, thus expediting robot deployment.

JP7758742B2Active Publication Date: 2025-10-22FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023548007
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-15
Publication Date
2025-10-22
Estimated Expiration
2041-09-15

AI Technical Summary

Technical Problem

Existing robot simulations may inaccurately set loads, leading to discrepancies between simulated and actual cycle times, necessitating on-site corrections to the operation program, thereby delaying the robot's start-up.

Method used

A robot simulation device with load setting units to accurately set and compare robot and animation loads, and a warning unit to alert operators when differences exceed a threshold, ensuring accurate cycle time simulations.

Benefits of technology

Accurate load setting reduces the need for on-site modifications of the operation program, enhancing simulation precision and reducing delays in robot start-up.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007758742000001
    Figure 0007758742000001
  • Figure 0007758742000002
    Figure 0007758742000002
  • Figure 0007758742000003
    Figure 0007758742000003
Patent Text Reader

Abstract

This robot simulation device (1) includes: a first load setting unit (22a) which sets, as a load, at least one among a hand (11) provided to a robot (10) and a workpiece (19) to be gripped by the hand; a second load setting unit (22b) which sets a load acting on the robot and displayed in animation; a load recording unit (23) which records a set load, which is set by the first load setting unit, and a load, which is set by the second load setting unit and displayed in animation; and a comparing unit (24) which compares the recorded set load and the load displayed in animation. Accordingly, on-site correction work on an operation program for the robot is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a robot simulation device. [Background technology]

[0002] When a robot is actually operated based on its operation program, the load acting on the robot must be set correctly.

[0003] In order to understand in advance the reliability of the work performed by the robot and its safety in the surrounding environment, simulations of the robot are performed using an offline programming system, and the cycle time is calculated according to the set load (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2013-144349 Summary of the Invention [Problem to be solved by the invention]

[0005] However, even if the load is not set accurately or the load itself has not been set, it is possible to perform a simulation and calculate the cycle time. In such cases, if the robot is actually operated and the cycle time is measured, the actual cycle time may differ from the cycle time calculated by the simulation. Therefore, the robot's operation program must be corrected on-site, which results in a problem of delayed start-up of the robot.

[0006] Therefore, there is a demand for a robot simulation device that can reduce the amount of on-site modification work required for the operation program. [Means for solving the problem]

[0007] According to a first aspect of the present disclosure, in a robot simulation apparatus executed in an offline programming system and having at least one robot in an offline workspace, there is provided a first load setting unit that sets at least one of an end effector and an associated member of the end effector provided in the at least one robot as a load; robot a second load setting unit that sets a load that acts on the at least one robot in the simulation device and is displayed by animation; a load recording unit that records the set load set by the first load setting unit and the load in the animation that is set by the second load setting unit when a simulation is executed in the robot simulation device; and a comparison unit that compares the set load recorded by the load recording unit with the load in the animation. and a warning unit that outputs a warning when the difference between the set load and the load on the animation is equal to or greater than a predetermined threshold. A robot simulation device is provided. [Effects of the Invention]

[0008] In the first mode, the robot load in the animation is compared with the set load, and if the difference between the two exceeds a predetermined threshold, it is known that the set load is not being applied accurately. Therefore, by resetting the set load, the cycle time in the simulation becomes accurate, which results in less work to correct the operation program on site.

[0009] The first aspect is particularly advantageous in the case where an operator inputs only the load on the animation and forgets to input the set load when creating a robot operation program.

[0010] The objects, features and advantages of the present invention will become more apparent from the following description of the embodiments taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]

[0011] [Figure 1]FIG. 1 is a block diagram of a robot simulation device based on the present disclosure. [Figure 2] 4 is a flowchart showing the operation of the robot simulation device based on the first embodiment. [Figure 3] FIG. 4 is a diagram showing a time chart of a load in the first embodiment. [Figure 4] 10 is a flowchart showing the operation of a robot simulation device based on the second embodiment. [Figure 5] FIG. 10 is a diagram showing a time chart of a load in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings, in which corresponding components are designated by common reference numerals throughout the drawings. 1 is a block diagram of a robot simulation device based on the present disclosure. The robot simulation device 1, which is executed in an offline programming system, includes a control device 20 that controls the simulation process, and a display unit 5 connected to the control device 20 displays the status of the simulation.

[0013] A model of a vertically articulated robot 10 with multiple axes in an offline workspace is displayed on the display unit 5, such as a CRT or liquid crystal display. The model of robot 10 shown in Fig. 1 is provided with a model of a hand 11 at its end as an end effector. The model of hand 11 is holding a model of a workpiece 19.

[0014] Hereinafter, in this specification, the model of the robot 10, the model of the end effector (e.g., the hand 11), and the model of the workpiece 19 may be simply referred to as the robot 10, the end effector (hand 11), and the workpiece 19, respectively. Note that multiple robot 10 models with similar configurations may be displayed and simulated. Also, the robot 10 may have other forms.

[0015] Furthermore, the end effector, for example, the hand 11, includes various types of hands capable of gripping the workpiece 19, such as an openable hand, a vacuum suction hand, and a magnetic suction hand. In the following embodiment, an operation in which the openable hand 11 as an end effector grips and releases the workpiece 19 will be described. However, the present invention is not limited to such an operation, and may include various operations in which an associated member receives the effect of the end effector, and other operations in which the weight (load) of the associated member changes as the robot 10 moves.

[0016] For example, the scope of the present disclosure also includes an operation in which a paint head serving as an end effector sprays paint filled in a paint can provided on the robot 10 as an associated member while the robot 10 is operating, or an operation in which a chip suction device serving as an end effector sucks up chips and stores them in a chip storage tank as an associated member while the robot 10 is operating.

[0017] The control device 20 is a computer including a CPU (Central Processing Unit), memory, etc., and includes a simulation execution unit 21 that simulates the operation of the robot 10, such as grasping a workpiece 19, moving it, and then releasing it, using a known method. The control device 20 also includes a first load setting unit 22a that sets at least one of an end effector provided on at least one robot 10, such as a hand 11, and an associated member of the end effector, such as a workpiece 19, as a load. The first load setting unit 22a may set at least one of the hand 11 provided on the robot 10 and the workpiece 19 to be grasped by the hand 11 as a load. The control device 20 also includes a second load setting unit 22b that sets a load that acts on the robot 10 and is displayed as an animation in the simulation device 1. These load setting units 22a and 22b are program parts that read "one or more lines" in which the corresponding load is set from the operation program 28 and interpret that a load has been set.

[0018] Furthermore, the control device 20 includes a load recording unit 23 that records the set load set by the first load setting unit 22a and the load on the animation set by the second load setting unit 22b when the simulation is executed by the simulation execution unit 21, and a comparison unit 24 that compares the set load recorded by the load recording unit 23 with the load on the animation. Furthermore, the control device 20 includes a warning unit 25 that outputs a warning to the operator in the form of a sound and / or a message.

[0019] The simulation execution unit 21, the load setting units 22a and 22b, the load recording unit 23, the comparison unit 24, and the warning unit 25 are functional modules realized by a computer program executed by the CPU of the control device 20. The operation program 28 is stored in a storage unit, such as a memory, of the control device 20. The storage unit 27 also stores various types of data used or created in various processes executed by the CPU.

[0020] The computer program for executing the processing of each unit of the CPU may be provided in a form recorded on a computer-readable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium.

[0021] 2 is a flowchart showing the operation of the robot simulation device according to the first embodiment. First, in step S1, the simulation execution unit 21 executes a simulation of the robot 10 based on the operation program 28 of the robot 10 stored in the storage unit 27, for example, in a memory.

[0022] The operation of the robot 10 in this disclosure includes at least the grasping and releasing of the workpiece 19 by the hand 11. control The operation program 28 is created in advance using the input unit 29 of the device 20, such as a keyboard, mouse, etc. Alternatively, the operator or another contractor may create the operation program 28 in advance using a computer other than the control device 20.

[0023] When the simulation is executed, the robot 10 is animated and displayed on the display unit 5. Therefore, the gripping operation of the workpiece 19 by the hand 11 of the robot 10 and the release operation of the workpiece 19 are also animated. When the simulation is completed, the cycle time when the operation described in the operation program 28 is performed is acquired.

[0024] Here, a portion of the operation program 28 for the robot 10 in a typical embodiment is as follows: 1: !FANUC ; 2: !ROBOGUIDE Generated This TPP ; 3: !Run SimPRO.cf to setup frame and; 4: ToolZahyoubangou[GP1]=1 ; 5: UserZahyoubangou[GP1]=0 ; 6: Fukasetei[1:EOAT w / o part] ; 7: Kakujiku Ichi [1] 100% Ichigime; 8: ! MoveTo-Pickup ('work05') From ( ; 9: Kakujiku Ichi [2] 100% Ichigime; 10: Kakujiku Ichi [3] 100% Ichigime; 11: !Pickup ('work05') From ('Pallet; 12: !WAIT 0.00 (sec) ; 13: Fukasettei [2:EOAT with part] ; 14:Chokusen Ichi[4] 2000mm / sec Ichigime; 15: ! MoveTo-Drop ('work05') From ('G; 16: Kakujiku Ichi [5] 100% Ichigime; 17: Kakujiku Ichi [6] 100% Ichigime; 18: ! Drop ('work05') From ('GP: 1 - ; 19: !WAIT 0.00 (sec) ; 20: Fukasetei[1:EOAT w / o part] ; 21:Chokusen Ichi[7] 2000mm / sec Ichigime; 22: Kakujiku Ichi [8] 100% Ichigime;

[0025] The starting position of the robot 10 is determined by determining the position of each axis of the robot 10 in "Axis Position [1] 100% Positioning" on the seventh line of the operation program 28. The position of each axis is expressed by three mutually perpendicular axes and the angles around these three axes. Furthermore, "MoveTo-Pickup" on the eighth line means that the robot 10 moves from the starting position to a certain position and grasps and lifts the workpiece 19 with the hand 11, and this position is determined by the ninth and tenth lines. line It is determined by "Axis Position [2] 100% Positioning" (each axis position [2] 100% positioning).

[0026] The "MoveTo-Drop" in the 15th line means that the robot 10 moves to a desired position to drop the workpiece 19. The desired position is the linear movement from the gripping position as described in the "ChoKsen Ichi [4] 2000mm / sec IchiGime" (Linear Position [4] 2000mm / sec Positioning) in the 14th line, and then the "KakuJiku Ichi" in the 16th and 17th lines. [5] "100% Positioning" (each axis position [5] 100% positioning), etc. Written in This is determined by determining the position of each axis so that it is mounted on the

[0027] Then, "Drop" on line 18 means that the workpiece 19 is released and lowered by the hand 11. After waiting for the desired time with "WAIT" on line 19, the robot 10 moves to the end position with "Cross-hold position [7] 2000mm / sec position" on line 21 and "Axis position [8] 100% position" on line 22. In other words, the above-mentioned operation program 28 includes four steps: "Start," "Grab," "Release," and "End."

[0028] Incidentally, lines 6, 13, and 20 of the aforementioned operation program 28 contain the entry "Fukasetty" (load setting). These lines are intended to enter the set load Wb of at least one of the hand 11 provided on the robot 10 and the workpiece 19 to be grasped by the hand 11. Furthermore, lines 4 and onward, other than lines 6, 13, and 20, are settings related to animation processing. In other words, these lines are intended to enter the load Wa that acts on the robot 10 in the simulation device 1 and that should be displayed by animation.

[0029] The first load setting unit 22a is a program part that reads the lines where the set load Wb should be written, for example, the 6th line, the 13th line, and the 20th line, and interprets that the load Wb has been set. Similarly, the second load setting unit 22b Load Wa on animation This is the part of the program that interprets that the load Wa is set by reading the lines where it should be written, for example, lines 4 and after, but other than lines 6, 13, and 20. These interpretations are performed when the simulation is executed.

[0030] Fig. 3 is a diagram showing a time chart of the load in the first embodiment. Fig. 3 shows the hand 11 at the "start", "grasping" of the workpiece, "releasing" of the workpiece, and "end" in the operation of the robot 10. These correspond to the hand 11 drawn when the simulation displayed on the display unit 5 is being executed. Below them, time charts of the load Wa in the animation and the set load Wb are shown. 2, the load recording unit 23 records the load Wa on the animation through the second load setting unit 22b. Specifically, the load recording unit 23 Second load setting section 22b For the rows where the load Wa is interpreted as being set in the above, the load Wa is recorded as a time chart through an actual simulation performed by the simulation execution unit 21. In the time chart of the load Wa shown in Fig. 3, it can be seen that the load Wa is 10 kg at the time of "start", "release" and "end", and 12 kg at the time of "grasping".

[0031] In other words, the load (weight) of the hand 11 is 10 kg, and the load (weight) of the workpiece 19 is 2 kg. In Fig. 3, "10 kg" is displayed inside the hand 11, and "2 kg" is displayed inside the workpiece 19. These numerical values ​​are displayed in Fig. 3 for convenience, but this does not mean that they will be displayed that way on the display unit 5 during the simulation.

[0032] Incidentally, line 6 in the above-mentioned operation program 28 indicates the set load Wb at the "start" of the robot 10. Since line 11 contains "Pickup," line 13 indicates the set load Wb at the time of "grasping" the workpiece 19. Furthermore, since line 18 contains "Drop," line 20 indicates the set load Wb at the time of "releasing" the workpiece 19.

[0033] More specifically, lines 6 and 20 state "1: EOAT w / o part," which means "without part," so lines 6 and 20 can set the load Wb of only the hand 11, excluding the workpiece 19. Furthermore, line 13 states "2: EOAT with part," so line 13 can set the total load Wb of the workpiece 19 and the hand 11.

[0034] Next, in step S4, the load recording unit 23 records the set load Wb through the first load setting unit 22a based on the operation program 28. Specifically, the load recording unit 23 First load setting section 22a The load Wb is recorded in the form of a time chart based on the lines interpreted as having the load Wb set in the above, for example, the 6th, 13th, and 20th lines. Note that when recording the load Wb, it is not necessarily necessary to execute a simulation by the simulation execution unit 21, and step S4 may be performed before executing the simulation. In the time chart of the set load Wb shown in FIG. 3, as indicated by the solid lines, Wb is 10 kg at the times of "start," "grasp," and "release."

[0035] Next, the process proceeds to step S5, where the comparison unit 24 compares the load Wa on the animation with the set load Wb. Specifically, the comparison unit 24 determines whether the absolute value |Wa-Wb| of the difference between the load Wa on the animation and the set load Wb is greater than a predetermined threshold A1. The threshold A1 is assumed to be approximately equal to the weight of the workpiece 19.

[0036] In the example shown in Figure 3, the load Wa in the animation increases from 10 kg to 12 kg during "grasping," whereas the set load Wb shown by the solid line does not change from "start" to "end" and remains at 10 kg even during "grasping." 。

[0037] In such a case, it can be determined that only the load of the hand 11 has been input during "gripping" (line 13 of the operation program 28), and that the load of the workpiece 19 has not been input. Therefore, it is determined that the absolute value of the difference |Wa-Wb| during "gripping" is greater than the threshold value A1, and the process proceeds to step S6. In step S6, the warning unit 25 outputs a warning to the operator in the form of a sound or a message, urging the operator to correct the operation program 28.

[0038] In contrast, for the set load Wb shown by the dashed line in Figure 3, the set load at "start" is 10 kg, but the set load from "gripping" to "release" becomes 12 kg, and returns to 10 kg after "release". Therefore, in the case of the set load Wb shown by the dashed line, it can be determined that the load of the workpiece 19 has been taken into consideration when inputting it into the operation program 28.

[0039] In such a case, it is determined that the absolute value of the difference at the time of "gripping" is not greater than the threshold value A1, and therefore the processing is terminated without outputting a warning by the warning unit 25. In other words, if the set load from "gripping" to "releasing" is greater than the set load at the time of "start" and "end" by the threshold value A1, it can be determined that the load of the workpiece 19 has been input to the operation program 28.

[0040] As described above, in the first embodiment, the load Wa of the robot 10 in the animation is compared with the set load Wb, and if the difference between the two exceeds a predetermined threshold A1, it is determined that the set load Wb has not been set accurately. Specifically, in the first embodiment, it is determined that only the load of the hand 11 is set as the set load Wb, but the load of the workpiece 19 has not been set. Therefore, it is preferable that the warning issued by the warning unit 25 in step S6 indicates that the load of the workpiece 19 has not been set.

[0041] If it is determined that the set load Wb is not being set accurately, the operator can reset the set load Wb. In this case, the operator can set a load equivalent to the sum of the load of the hand 11 and the load of the workpiece 19 as the set load Wb at the time of "grasping" in line 13. This creates an accurate operation program 28, and as a result, it becomes possible to perform an accurate simulation.

[0042] In this manner, in the present disclosure, when executing a simulation using an offline programming system, it is possible to determine whether the set load Wb is set accurately by referring to the load Wa in the animation. Accurately setting the set load Wb also contributes to a more accurate cycle time obtained through the simulation. This reduces the need to modify the operation program 28 of the actual robot 10 on-site.

[0043] In this regard, the operator usually does not forget to set the load Wa of the robot 10 in the animation when creating the operation program 28. However, there are cases where the operator forgets to input the set load Wb even though he or she has input the load Wa. The present disclosure is particularly advantageous in cases where the operator has input only the load Wa in the animation and has forgotten to input the set load Wb.

[0044] Fig. 4 is a flowchart showing the operation of the robot simulation device based on the second embodiment, and Fig. 5 is a diagram showing a time chart of the load in the second embodiment. Steps S1 to S4 in Fig. 4 are the same as those described above, so a repeated explanation will be omitted.

[0045] 4, it is determined whether the absolute value of the difference |Wa-Wb| is greater than a predetermined threshold A2. The threshold A2 is assumed to be approximately equal to the total weight of the hand 11 and the workpiece 19.

[0046] In the example shown in Figure 5, the load Wa in the animation increases from 10 kg to 12 kg during "grasping," whereas the set load Wb shown by the solid line does not change from "start" to "end," and its value is unknown.

[0047] In such a case, it can be determined that both the load of the hand 11 and the load of the workpiece 19 have not been input from "start" to "end." In other words, in the second embodiment, the set load Wb was not actually recorded in step S4. Therefore, it is determined that the absolute value of the difference |Wa-Wb| at the time of "grasping" is greater than the threshold value A2, and step S6’ Go to step S6' In this case, the warning unit 25 outputs a warning to the operator in the form of a sound or a message to prompt the operator to modify the operation program 28. In this case, the warning from the warning unit 25 preferably indicates that both the load of the hand 11 and the load of the workpiece 19 have not been set. If it is determined in step S5' that the absolute value of the difference |Wa - Wb| is not greater than the predetermined threshold A2, the process proceeds to step S5'', where it is determined whether the absolute value of the difference |Wa - Wb| is greater than the aforementioned threshold A1. If this determination is made, the process proceeds to step S6'', where a warning is output indicating that the load of the workpiece 19 has not been set. This makes it possible to accurately inform the operator whether to modify only the load of the hand 11 (end effector) in the operation program 28, or to modify both the load of the hand 11 (end effector) and the load of the workpiece 19 (associated member).

[0048] In such a case, it will be understood that substantially the same effects as those of the above-described embodiment can be obtained.

[0049] Aspects of the Disclosure According to a first aspect, there is provided a robot simulation device (1) that is executed by an offline programming system and has at least one robot (10) in an offline workspace, the robot simulation device comprising: a first load setting unit (22a) that sets at least one of an end effector provided on the at least one robot and a member associated with the end effector as a load; a second load setting unit (22b) that sets a load that acts on the at least one robot and is displayed by animation in the simulation device; a load recording unit (23) that records a set load (Wb) set by the first load setting unit and a load (Wa) in the animation that is set by the second load setting unit when a simulation is executed in the robot simulation device; and a comparison unit (24) that compares the set load recorded by the load recording unit with the load in the animation. According to a second aspect, the first aspect further comprises a warning unit (25) that outputs a warning when the difference between the set load and the load on the animation is equal to or greater than a predetermined threshold. According to a third aspect, in the second aspect, the warning unit outputs a different warning depending on the predetermined threshold value.

[0050] Effect of the aspect In the first mode, the robot load in the animation is compared with the set load, and if the difference between the two exceeds a predetermined threshold, it is known that the set load is not being applied accurately. Therefore, by resetting the set load, the cycle time in the simulation becomes accurate, which results in less work to correct the operation program on site. In the second embodiment, the operator can be prompted to modify the operating program. In a third embodiment, the operator can be informed whether the operating program will modify only the end effector loads or both the end effector loads and the associated member loads.

[0051] Although the embodiments of the present invention have been described above, it will be understood by those skilled in the art that various modifications and changes can be made without departing from the scope of the claims set forth below. [Explanation of symbols]

[0052] 1 Simulation device 10. Robot 11 Hand (end effector) 19 Work (related parts) 20 Control device 21 Simulation Execution Unit 22a First load setting section 22b Second load setting section 23 Load Recording Section 24 Comparison section 25 Warning section 27 Memory section 28 Operation Program 29 Input section

Claims

1. 1. A robot simulation apparatus implemented in an offline programming system and having at least one robot within an offline workspace, comprising: a first load setting unit that sets at least one of an end effector and an associated member of the end effector provided in the at least one robot as a load; a second load setting unit that sets a load that acts on the at least one robot in the robot simulation device and is displayed by animation; a load recording unit that records the set load set by the first load setting unit and the load on the animation set by the second load setting unit when a simulation is executed in the robot simulation device; a comparison unit that compares the set load recorded by the load recording unit with the load on the animation; a warning unit that outputs a warning when the difference between the set load and the load on the animation is equal to or greater than a predetermined threshold.

2. The robot simulation device according to claim 1 , wherein the warning unit outputs a different warning depending on the predetermined threshold value.

Citation Information

Patent Citations

  • Off line teaching system

    JP1992255003A

  • Simulation device for work machine

    JP2003150219A

  • Simulator for estimating life of robot speed reducer

    JP2013144349A