Robot simulation device

TWI941737BActive Publication Date: 2026-10-11FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
TW111130770
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-15
Filing Date
2022-08-16
Publication Date
2026-10-11
Estimated Expiration
2042-08-15

AI Technical Summary

Technical Problem

Existing robot simulation systems fail to accurately set loads, leading to discrepancies between simulated and actual cycle times, necessitating on-site correction of motion programs, which delays robot operation.

Method used

A robot simulation device that utilizes an offline programming system to set and compare loads on a robot's end effector and related components, displaying them through animation, and outputs warnings when differences exceed predetermined thresholds, ensuring correct load settings.

Benefits of technology

Enables accurate simulation cycle times by correcting load settings, reducing the need for on-site corrections of motion programs, thereby enhancing operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001914912_001
    Figure TWG2TB001914912_001
  • Figure TWG2TB001914912_002
    Figure TWG2TB001914912_002
  • Figure TWG2TB001914912_003
    Figure TWG2TB001914912_003
Patent Text Reader

Abstract

A robot simulation device (1) includes: a first load setting unit (22a) for setting at least one of a hand (11) of a robot (10) and a workpiece (19) to be held by the hand as a load; a second load setting unit (22b) for setting a load acting on the robot as displayed in an animation; a load recording unit (23) for recording the set load set by the first load setting unit and the load in the animation set by the second load setting unit; and a comparison unit (24) for comparing the recorded set load with the load in the animation. This reduces the need for on-site correction of the robot's motion program.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a robot simulation device. [Previous Technology]

[0002] Background Technology

[0003] When making the robot actually move according to its motion program, the load applied to the robot needs to be set correctly.

[0004] Then, in order to ascertain the certainty of the robot's operation and its safety to the surrounding environment beforehand, an off-threaded programming system will be used to simulate the robot and calculate the cycle time based on the set load (for example, refer to Patent Document 1). Prior Art Documents Patent Documents

[0005] [Patent Document 1] Japanese Patent Application Publication No. 2013-144349 [Summary of the Invention]

[0006] Summary of the Invention: Problem to be Solved by the Invention

[0007] However, even when the load is not set correctly, and even when the load setting itself is not performed, a simulation can still be performed, and the cycle time can be calculated. In this case, if the robot is actually moved to measure the cycle time, the actual cycle time will differ from the cycle time calculated by the simulation. Therefore, the robot's motion program needs to be corrected on-site, resulting in a robot start-up delay.

[0008] Therefore, a robot simulation device that can reduce the need for on-site correction of motion programs is desired. A means to solve this problem.

[0009] According to the first aspect of this disclosure, a robot simulation device is provided, which is executed using an off-threaded programming system and has at least one robot in an offline workspace. The robot simulation device includes: a first load setting unit, which sets at least one of an end effector and related components of the at least one robot as a load; a second load setting unit, which sets a load displayed in animation acting on the at least one robot in the simulation device; a load recording unit, which 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 the robot simulation device performs a simulation; and a comparison unit, which compares the set load recorded by the load recording unit with the load on the animation. Effects of the Invention

[0010] In the first state sample, since the load of the robot in the animation is compared with the set load, it can be understood that the set load was not set correctly when the difference between the two exceeds a predetermined threshold. Therefore, by resetting the set load, the cycle time in the simulation becomes correct, thereby reducing the need for on-site correction of the motion program.

[0011] The first state is particularly advantageous when the operator only inputs the animation load and forgets to input the setting load when creating the robot's motion program.

[0012] The purpose, features and advantages of the present invention will become clearer through the following description of embodiments in relation to the accompanying drawings.

Implementation Method

[0014] Form used to implement the invention

[0015] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In all figures, common reference numerals are given to corresponding constituent elements. FIG1 is a block diagram of a robot simulation device based on the present disclosure. The robot simulation device 1, which is executed using an off-threaded programming system, includes a control device 20 for controlling simulation processing and displays the simulation status on a display unit 5 connected to the control device 20.

[0016] In the display unit 5, such as a CRT or LCD, a model of a vertically jointed robot 10 with multiple axes in an offline workspace is displayed. The robot 10 model shown in FIG1 has a model of a hand 11 at its end, which serves as an end effector. Then, the model of the hand 11 holds a model of a workpiece 19.

[0017] Hereinafter, in this specification, the model of robot 10, the model of end effector (e.g., hand 11), and the model of workpiece 19 will sometimes be referred to simply as robot 10, end effector (hand 11), and workpiece 19, respectively. Additionally, sometimes models of a plurality of robots 10 with the same structure are shown for simulation. Furthermore, robot 10 may also be in other forms.

[0018] Furthermore, the end effector, such as the hand 11, includes various forms of hand capable of holding the workpiece 19, such as an openable / closeable hand, a vacuum-adhesive hand, and a magnetic-adhesive hand. In the following embodiments, the action of the openable / closeable hand 11 as an end effector holding / releasing the workpiece 19 is described. However, the present invention is not limited to the above-described actions and may include various actions in which the related components of the end effector are affected by the end effector, that is, other actions in which the weight (load) of the related components changes with the movement of the robot 10.

[0019] For example, the following actions are also included within the scope of this disclosure: the robot 10 operates such that the painting head, which is an end effector, sprays paint that is filled in the paint can provided by the robot 10 as a related component; the robot 10 operates such that the chip suction device, which is an end effector, attracts chips and stores them in the chip storage slot, which is a related component.

[0020] The control device 20 is a computer including a CPU (Central Processing Unit), memory, etc., and includes a simulation execution unit 21. The simulation execution unit 21 simulates the actions of the robot 10 in a known manner, such as grasping the workpiece 19 and releasing it after moving it. Furthermore, the control device 20 includes a first load setting unit 22a, which sets at least one of the end effectors of at least one robot 10, such as a hand 11, and the related components of the end effector, such as the workpiece 19, as loads. The first load setting unit 22a can also set at least one of the hand 11 of the robot 10 and the workpiece 19 to be grasped by the hand 11 as loads. Furthermore, the control device 20 includes a second load setting unit 22b, which sets the load displayed by the animation in the simulation device 1 acting on the robot 10. Moreover, the load setting units 22a and 22b read "one or more lines" of code with corresponding loads set from the action program 28 and interpret the program portion that sets the loads.

[0021] Furthermore, the control device 20 includes: a load recording unit 23, which 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 performed using the simulation execution unit 21; and a comparison unit 24, which 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 warnings to the operator in the form of sound and / or messages.

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

[0023] Furthermore, the computer program used to execute the processing of the various parts of the CPU can also be provided in the form of a computer-readable recording medium such as semiconductor memory, magnetic recording medium or optical recording medium.

[0024] Figure 2 is a flowchart showing the operation of the robot simulation device based on the first embodiment. First, in step S1, the simulation execution unit 21 executes the simulation of the robot 10 based on the robot 10's action program 28 stored in the memory unit 27, for example, the memory.

[0025] The actions of the robot 10 disclosed herein include at least grasping and releasing the workpiece 19 using its hand 11. The operator uses the input section 29 of the control device 20, such as a keyboard or mouse, to pre-program the action 28. Alternatively, the operator or other operators may pre-program the action 28 using a computer other than the control device 20.

[0026] During the simulation, the robot 10 is animated on the display unit 5. Therefore, the robot 10's gripping action with its hand 11 and the release action of the workpiece 19 are also animated. If the simulation ends, the cycle time of the actions recorded in the action program 28 is obtained.

[0027] Here, a portion of the motion program 28 of 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: Tool coordinate number [GP1]=1; 5: User coordinate number [GP1]=0; 6: Load setting [1:EOAT w / o part]; 7: Axis position [1] 100% positioning; 8: ! MoveTo-Pickup ('work05') From (; 9: Axis position [2] 100% positioning; 10: Axis position [3] 100% positioning; 11: ! Pickup ('work05') From ('Pallet; 12: !WAIT 0.00 (sec); 13: Load setting [2:EOAT with part]; 14: Linear position [4] 2000mm / sec positioning; 15: ! MoveTo-Drop ('work05') From ('G ; 16: Position of each axis[5] 100% positioning; 17: Position of each axis[6] 100% positioning; 18: ! Drop ('work05') From ('GP: 1 - ; 19: !WAIT 0.00 (sec) ; 20: Load setting[1:EOAT w / o part] ; 21: Linear position[7] 2000mm / sec positioning; 22: Position of each axis[8] 100% positioning;

[0028] In the "100% Position of Each Axis[1]" (100% Position of Each Axis[1]) in line 7 of motion program 28, the starting position of robot 10 is determined by determining the position of each axis of robot 10. Furthermore, the position of each axis is represented by three mutually perpendicular axes and the angle around these three axes. Furthermore, "MoveTo-Pickup" in line 8 refers to robot 10 moving from the starting position to a certain position, then lifting the workpiece 19 with its hand 11. This position is determined by "100% Position of Each Axis[2]" (100% Position of Each Axis[2]) in lines 9 and 10.

[0029] Line 15 "MoveTo-Drop" means that the robot 10 moves to the desired position so that the workpiece 19 can be lowered. The desired position is determined by the following method: as described in Line 14 "Linear position [4] 2000mm / sec positioning" (Linear position [4] 2000mm / sec positioning), after moving linearly from the holding position, the position of each axis is determined as described in Line 16 and Line 17 "Each axis position [2] 100% positioning" (Each axis position [5] 100% positioning).

[0030] Then, “Drop” in line 18 refers to the release of workpiece 19 by hand 11 to lower it. After waiting for the expected time by pressing “WAIT” in line 19, robot 10 moves to the end position according to “Linear position [7] 2000mm / sec positioning” in line 21 and “Axis position [8] 100% positioning” in line 22. That is, the above motion program 28 includes four stages: “start”, “hold”, “release” and “end”.

[0031] Furthermore, lines 6, 13, and 20 of the aforementioned motion program 28 contain "load setting" (load setting) records. These lines should record the load Wb set for at least one of the hand 11 of the robot 10 and the workpiece 19 to be held by the hand 11. Also, lines 4 onwards, and excluding lines 6, 13, and 20, are settings related to animation processing. In other words, these lines can be said to record the load Wa, which is the load that acts on the robot 10 in the simulation device 1 and should be displayed using animation.

[0032] Furthermore, the first load setting unit 22a reads the lines where the load setting Wb should be recorded, such as lines 6, 13, and 20, and interprets the program portion where the load Wb is set. Similarly, the second load setting unit 22b reads the lines where the load setting Wa should be recorded, such as lines 4 and onwards, excluding lines 6, 13, and 20, and interprets the program portion where the load Wa is set. These interpretations are performed during simulation.

[0033] Figure 3 is a timing diagram showing the load in the first embodiment. In Figure 3, the hand 11 of the robot 10 is shown at the "start", "grip" of the workpiece, "release" of the workpiece, and "end" of the operation. These correspond to the hand 11 depicted in the execution simulation displayed on the display unit 5. Then, the timing diagrams of the load Wa and the set load Wb in the animation are displayed below. In step S2 of Figure 2, the load recording unit 23 records the load Wa in the animation through the second load setting unit 22b. Specifically, the load recording unit 23 records the load Wa in the timing diagram for the line that is interpreted by the first load setting unit 22a as having a set load Wa by actually simulating it using the simulation execution unit 21. In the timing diagram of the load Wa shown in Figure 3, it can be seen that the load Wa at "start", "release" and "end" is 10 kg, and the load Wa at "grip" is 12 kg.

[0034] In other words, the load (weight) of the hand 11 is 10 kg, and the load (weight) of the workpiece 19 is 2 kg. Also, in Figure 3, "10 kg" is displayed inside the hand 11 and "2 kg" is displayed inside the workpiece 19. These values ​​are displayed in Figure 3 for convenience and do not mean that they will be displayed in the display unit 5 in the simulation.

[0035] In addition, line 6 of the aforementioned action program 28 represents the set load Wb when the robot 10 "starts". Then, since line 11 has "Pickup", line 13 represents the set load Wb when the workpiece 19 is "held". Furthermore, since line 18 has "Drop", line 20 represents the set load Wb when the workpiece 19 is "released".

[0036] In detail, since lines 6 and 20 contain "1: EOAT w / o part", which means "without part", the load Wb of only the hand 11, excluding the workpiece 19, can be set in lines 6 and 20. Furthermore, since line 13 contains "2: EOAT with part", the total load Wb of the workpiece 19 and the hand 11 can be set in line 13.

[0037] Next, in step S4, the load recording unit 23 records the set load Wb based on the operation program 28 through the first load setting unit 22a. Specifically, the load recording unit 23 records the load Wb in the form of a timing diagram based on the rows that are interpreted by the second load setting unit 22b as having a set load Wb, such as rows 6, 13, and 20. Furthermore, when recording the load Wb, it is not necessary to use the simulation execution unit 21 to perform a simulation, and step S4 can also be performed before performing the simulation. In the timing diagram of setting the load Wb shown in FIG3, as shown by the solid line, Wb is 10kg at "start", "hold", and "release".

[0038] Next, proceed 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 of the difference between the load Wa on the animation and the set load Wb, |Wa-Wb|, is greater than a predetermined threshold A1. The threshold A1 is set to be approximately equal to the weight of the workpiece 19.

[0039] In the example shown in Figure 3, relative to the load Wa in the animation, which increases from 10kg to 12kg when "holding", the set load Wb, represented by the solid line, does not change from "start" to "end", and remains at 10kg even when "holding".

[0040] At this point, it can be determined that during the "holding" phase (line 13 of motion program 28), only the load of the hand 11 was input, and the load of the workpiece 19 was not input. Therefore, it is determined that the absolute value of the difference |Wa-Wb| during the "holding" phase is greater than the threshold 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 sound and / or message in order to correct motion program 28.

[0041] In contrast, regarding the set load Wb represented by the dashed line in Figure 3, although the set load at the "start" is 10kg, the set load becomes 12kg from "hold" to "release", and returns to 10kg after "release". Therefore, in the case of the set load Wb represented by the dashed line, it can be determined that the load of the workpiece 19 was also considered when inputting in the action program 28.

[0042] At this time, since the absolute value of the difference when it is determined to be "holding" is not greater than the threshold A1, the warning unit 25 does not output a warning and the process ends. That is, if the set load from "holding" to "releasing" is only greater than the set load at "start" and "end" by a larger threshold A1, it can be determined that the load of workpiece 19 has been input to the action program 28.

[0043] Thus, in the first embodiment, since the load Wa of the robot 10 in the animation is compared with the set load Wb, it can be understood that the load Wb has not been set correctly when the difference between the two exceeds a predetermined threshold A1. Specifically, in the first embodiment, it can be seen that only the load of the hand 11 is set to the set load Wb, but the load of the workpiece 19 is not set. Therefore, the warning in the warning unit 25 in step S6 should indicate that the load of the workpiece 19 has not been set.

[0044] Then, if it is known that the load Wb has not been set correctly, the operator only needs to reset the load Wb. At this time, the operator only needs to set the load equivalent to the sum of the load of the hand 11 and the load of the workpiece 19 to the load Wb set in line 13 when "holding". In this way, the correct motion program 28 can be created, and as a result, the correct simulation can be performed.

[0045] Thus, in this disclosure, during the simulation execution of the off-threaded programming system, the load Wa of the animation can be referenced to determine whether the set load Wb has been correctly set. Then, by correctly setting the set load Wb, the cycle time obtained from the simulation can be made more accurate. Therefore, the need to modify the actual robot 10's motion program 28 on-site can be reduced.

[0046] Regarding this point, operators usually do not forget to set the load Wa of the robot 10 in the animation when creating the motion program 28. However, even if the load Wa is entered, there are cases where the operator forgets to enter the setting load Wb. This disclosure is particularly advantageous when the operator only enters the load Wa in the animation and forgets to enter the setting load Wb.

[0047] In addition, Figure 4 is a flowchart showing the operation of the robot simulation device based on the second embodiment, and Figure 5 is a timing diagram showing the load in the second embodiment. Since steps S1 to S4 in Figure 4 are the same as those described above, they are omitted from the explanation again.

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

[0049] In the example shown in Figure 5, relative to the load Wa in the animation, which increases from 10kg to 12kg when "holding", the set load Wb, represented by the solid line, does not change from "start" to "end", and its value is also unclear.

[0050] At this point, it can be determined that neither the load of the hand 11 nor the load of the workpiece 19 was input from "start" to "end". In other words, in the second embodiment, it can be said that the load Wb was not actually recorded in step S4. Therefore, it is determined that the absolute value of the difference |Wa-Wb| when "holding" is greater than the threshold A2, and proceeds to step S6. In step S6'', the warning unit 25 outputs a warning to the operator in the form of sound and / or message in order to correct the action program 28. The warning from the warning unit 25 at this time should indicate that neither the load of the hand 11 nor the load of the workpiece 19 was set. In step S5', if it is determined that the absolute value of the difference |Wa-Wb| is not greater than the predetermined threshold A2, proceed to step S5'', and determine whether the absolute value of the difference |Wa-Wb| is greater than the aforementioned threshold A1. Then, if the absolute value of the difference |Wa-Wb| is determined to be greater than the aforementioned threshold A1, proceed to step S6'' and output a warning indicating that the load of workpiece 19 is not set. In this way, the operator can be correctly informed that in the action program 28, only the load of hand 11 (end effector) is corrected, or both the load of hand 11 (end effector) and the load of workpiece 19 (related component) are corrected.

[0051] It can be seen that the same effect as the aforementioned implementation can be obtained under this condition.

[0052] According to a first embodiment of the present invention, a robot simulation device (1) is provided, which is executed using an off-threaded programming system and has at least one robot (10) in an offline workspace. The robot simulation device includes: a first load setting unit (22a) for setting at least one of the end effectors and related components of the end effectors of the at least one robot as load; a second load setting unit (22b) for setting the load displayed by the animation acting on the at least one robot in the simulation device; a load recording unit (23) for recording the set load (Wb) set by the first load setting unit and the load (Wa) on the animation set by the second load setting unit when the robot simulation device performs a simulation; and a comparison unit (24) for comparing the set load recorded by the load recording unit with the load on the animation. According to a second embodiment, the first embodiment further includes a warning unit (25) that outputs a warning when the difference between the set load and the load on the animation is greater than or equal to a predetermined threshold. According to the third state sample, in the second state sample, the aforementioned warning unit outputs different warnings in response to the aforementioned predetermined threshold.

[0053] In the first state sample, by comparing the robot's load in the animation with the set load, it can be understood that the set load was not performed correctly when the difference between the two exceeds a predetermined threshold. Therefore, by resetting the set load, the cycle time in the simulation becomes correct, thereby reducing the need for on-site corrections to the motion program. In the second state sample, the operator can be reminded to correct the motion program. In the third state sample, the operator can be informed that only the load of the end effector needs to be corrected in the motion program, or both the load of the end effector and the load of related components need to be corrected.

[0054] Although the embodiments of the present invention have been described above, those skilled in the art should understand that various modifications and changes can be made without departing from the scope of the claims described below. [Simplified Explanation of the Diagram]

[0013] Figure 1 is a block diagram of the robot simulation device based on the present disclosure. Figure 2 is a flowchart showing the operation of the robot simulation device based on the first embodiment. Figure 3 is a timing diagram showing the load in the first embodiment. Figure 4 is a flowchart showing the operation of the robot simulation device based on the second embodiment. Figure 5 is a timing diagram showing the load in the second embodiment.

Claims

1. A robot simulation device, which is executed using an off-threaded programming system and has at least one robot in an offline workspace, the robot simulation device comprising: a first load setting unit, which reads the line in the motion program that should record the load setting and sets the load of at least one of the end effector and related components of the end effector of the at least one robot as the set load; a second load setting unit, which reads the line in the motion program other than the line that should record the set load and sets the load displayed by animation in the robot simulation device, i.e., the animation load; a load recording unit, which records the set load and the animation load when the robot simulation device performs simulation; a comparison unit, which compares the set load recorded by the load recording unit with the animation load; and a warning unit, which outputs a warning when the difference between the set load and the animation load is above a predetermined threshold.

2. The robot simulation device as described in claim 1, wherein the aforementioned warning unit outputs different warnings in response to the aforementioned predetermined threshold.

Citation Information

Patent Citations

  • Method for operating a robot

    US20190160678A1

  • Method for computer-aided user assistance during the activation of a movement planner for a machine

    US20190224848A1