Computation device for robot system

JPWO2024218838A5Pending Publication Date: 2026-05-01
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2023-04-17
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing robot system computing devices struggle to accurately estimate loads on joints due to external forces unrelated to the robot's motion, particularly in scenarios where tools or workpieces generate reaction forces during operations.

Method used

A computing device with a processor and memory that uses a mathematical model defining the robot, tool, and workpiece as elastic elements to simulate the robot system, allowing for the estimation of loads and deformations by inputting information on posture, arrangement, force, and torque, and calculating the loads acting on each joint using elastic matrices and deformation equations.

Benefits of technology

Enables accurate simulation and load estimation on robot joints, helping operators identify potential excessive loads and optimize the robot's posture or tool arrangement to prevent overload, thereby ensuring safe operation.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A computation device (1) for simulating a robot system comprises at least one processor (4) and at least one memory (3). The memory (3) stores a mathematical model in which at least one of a robot, a tool, and a work object is defined as an elastic element. The processor (4) acquires input information including the orientation of the robot, the placement of the tool and the work object, and the size and direction of the force and / or the torque of the tool or the work object, and estimates a load or a deformation amount for at least one of the robot, the tool, and the work object by using the acquired input information and the mathematical model stored in the memory.
Need to check novelty before this filing date? Find Prior Art

Description

Robot system computing unit

[0001] The present disclosure relates to a computing device for a robot system.

[0002] A simulation device is known that calculates the load acting on each joint of a robot, taking into account the contact force caused by contact between the robot and a workpiece as the robot moves (see, for example, Patent Document 1).

[0003] JP 2018-030210 A

[0004] Each joint of a robot is subjected to not only loads caused by the movement of the robot itself, but also loads caused by external forces acting unrelated to the movement of the robot. For example, in a robot system that performs a specified task by operating a tool or work object fixed to the tip of the robot's wrist, reaction forces generated by the movement of the tool or work object act on each joint.

[0005] Therefore, it is desirable to be able to accurately estimate the load acting on each joint of a robot even in a robot system where external forces unrelated to the robot's operation act.

[0006] One aspect of the present disclosure is a computing device that simulates a robot system that includes a robot having a plurality of joints and a tool that is attached to the robot and performs a predetermined task on a work object, and in which the task is performed by applying at least one of a force and a torque generated by either the tool or the work object to the other, the computing device including at least one processor and at least one memory, the memory storing a mathematical model that defines at least one of the robot, the tool, and the work object as an elastic element, and the processor acquiring input information including the posture of the robot, the positioning of the tool and the work object, and the magnitude and direction of at least one of the force and the torque, and estimating the load or deformation amount of at least one of the robot, the tool, and the work object using the acquired input information and the mathematical model stored in the memory.

[0007] Fig. 2 is a side view showing a robot system to which a computing device according to an embodiment of the present disclosure is applied. Fig. 3 is a perspective view showing a nut runner of the robot system of Fig. 1. Fig. 4 is a block diagram showing a computing device according to an embodiment of the present disclosure. Fig. 5 is a schematic diagram showing a dynamic model corresponding to the robot system of Fig. 1. Fig. 6 is a front view showing a display device of a computing device according to an embodiment of the present disclosure. Fig. 7 is a flowchart illustrating the operation of a computing device according to an embodiment of the present disclosure.

[0008] A computing device 1 that performs a simulation of a robot system 10 according to an embodiment of the present disclosure will be described below with reference to the drawings. First, the robot system 10 to which the computing device 1 of this embodiment is applied will be described.

[0009] 1, the robot system 10 is a screw tightening system that includes a robot 20 fixed to a horizontal floor surface F and a nut runner (tool) 30 attached to the robot 20. The robot system 10 in this case also includes a work object 40 that is fixed to the floor surface F and to which a screw 50 is fastened by the nut runner 30. In other words, the robot 20, nut runner 30, work object 40, and floor surface F that make up the robot system 10 form a closed loop.

[0010] The robot 20 is, for example, a six-axis articulated robot, and includes a base 21 installed on the floor F and a rotating body 22 supported rotatably relative to the base 21 about a vertical first axis J1. The robot 20 also includes a first arm 23 supported rotatably relative to the rotating body 22 about a horizontal second axis J2, and a second arm 24 supported rotatably relative to the tip of the first arm 23 about a horizontal third axis J3. The robot 20 also includes a three-axis wrist unit 25 supported at the tip of the second arm 24.

[0011] The wrist unit 25 includes a first wrist element 25a supported rotatably relative to the second arm 24 about a fourth axis J4 extending along a plane perpendicular to the third axis J3. The wrist unit 25 also includes a second wrist element 25b supported rotatably relative to the first wrist element 25a about a fifth axis J5 perpendicular to the fourth axis J4. The wrist unit 25 also includes a third wrist element 25c supported rotatably relative to the second wrist element 25b about a sixth axis J6 perpendicular to the fifth axis J5 and intersecting the fourth axis J4. In other words, the robot 20 includes six joints A1 to A6.

[0012] 1, the nut runner 30 includes a main body 31 fixed to the tip of the third wrist element 25c, and a socket 35 connected to the tip of the main body 31. As shown in FIG. 2, the main body 31 includes a motor 32, a drive shaft 33 rotated by the motor 32 about axis B, and a box-shaped frame 34 surrounding the drive shaft 33. A mounting portion 34a having a mounting hole 34h extending in a direction perpendicular to axis B is fixed to the base end of the frame 34. By fitting and fixing the tip of the third wrist element 25c of the robot 20 into the mounting hole 34h, the nut runner 30 is attached to the robot 20 in an orientation in which axis B is perpendicular to the sixth axis J6.

[0013] The socket portion 35 includes a housing 36 that extends along the axis B and is coaxially connected to the tip of the drive shaft 33. A hole (not shown) having the axis B as its center axis is provided at the tip of the housing 36, and a tool S corresponding to a screw 50 to be fastened to the workpiece 40 is detachably fitted into this hole. That is, when the motor 32 of the main body 31 is operated, the housing 36 and the tool S rotate integrally with the drive shaft 33 around the axis B. The socket portion 35 also includes a screw supply mechanism (not shown) that supplies screws 50 one by one to the tip of the tool S and engages the head of the screw 50 with the tip of the tool S.

[0014] 1, the robot system 10 can operate each of the joints A1 to A6 of the robot 20 to place a screw 50 attached to a tool S at a predetermined fastening position on a workpiece 40. Then, in this state, the motor 32 of the nut runner 30 is operated to rotate the tool S about the axis B, thereby performing a screw tightening operation in which the screw 50 is fastened to the workpiece 40 with a predetermined fastening torque.

[0015] Next, a description will be given of the arithmetic device 1 according to this embodiment. The arithmetic device 1 is, for example, an offline computer that simulates the operation of the robot system 10. As shown in Fig. 3 , the arithmetic device 1 includes an input device 2, at least one memory 3 such as a ROM or a RAM, at least one processor 4 such as a CPU, and a display device 5.

[0016] The input device 2 is configured with, for example, a keyboard, a touch panel, an operation panel, etc., and receives input information for the robot system 10 input by an operator. In this case, the input information is, for example, information regarding the posture of the robot 20, the arrangement of the nut runner 30 and the workpiece 40, and the magnitude and direction of the tightening torque of the motor 32 of the nut runner 30.

[0017] The memory 3 stores in advance a mathematical model corresponding to the robot system 10 and basic information about the robot system 10. The mathematical model is set based on a dynamic model constructed by defining the robot system 10 using a plurality of interconnected elastic elements, as shown in Fig. 4, for example. The basic information about the robot system 10 includes, for example, elastic coefficients indicating the distances between the joints A1 to A6 of the robot 20 and the rigidity of each of the joints A1 to A6, as well as elastic coefficients indicating the rigidity of the nut runner 30 and the workpiece 40.

[0018] The mechanical model shown in FIG. 4 represents each mechanism arranged between a base 21 fixed to a floor surface F and a work object 40 fixed to the floor surface F, using a plurality of rotational elastic elements and linear elastic elements connected by rigid links.

[0019] More specifically, the dynamic model is such that six joints A1 to A6 of the robot 20 are each connected to a single rotational elastic element k J1 ~k J6 The nut runner 30 and the workpiece 40 are defined as follows: an input element M that generates a tightening torque, and three rotational elastic elements k 1 ~k 3 and three linear elastic elements k 4 ~k 6 That is, this dynamic model includes a robot domain T1 corresponding to the robot 20, and a nut runner domain T2 corresponding to the nut runner 30 and the workpiece 40.

[0020] Next, an example of a mathematical model derived based on the dynamic model shown in FIG. 4 is shown below. ... (1) where, f N is the linear elastic element k 4 ~k 6 is the force acting on m N is the rotational elastic element k 1 ~k 3 is the moment acting on I 3 is a third-order identity matrix. 6 is a sixth-order identity matrix. NR is the rotational elastic element k 1 ~k 3 and linear elastic element k 4 ~k 6 is the elastic matrix that indicates the stiffness of the rotational elastic element k J1 ~k J6 Enter the deformation amount of the rotational elastic element k 1 ~k 3 and linear elastic element k 4 ~k 6 is a Jacobian matrix whose output is the deformation amount of K RB is the rotational elastic element k J1 ~k J6 is the elastic matrix that indicates the stiffness of T is a vector value of the fastening torque input by the input element M.

[0021] ... (2) where, f n (n=1, ..., 6) is the force acting on the nth joint among the joints A1 to A6, f 7 is the force acting on the hand position of the robot 20. m n (n=1, ..., 6) is the moment acting on the nth joint among the joints A1 to A6, m 7 is the moment acting on the hand position of the robot 20. n (n=1, ..., 6) is the position of the nth joint among the joints A1 to A6, P 7 is the hand position of the robot 20.

[0022] Equation (1) is the elastic element k of the nut runner region T2. 1 ~k 6 Force f acting on N and moment m N , the tightening torque M T and the elastic matrix K of the robot region T1 and the nut runner region T2. RB , K NR This equation (1) is expressed by the following equation: 1 ~k 6 Force f acting on N and moment m N and each elastic element k 1 ~k 6 The deformation amount is derived by solving the force balance equation, assuming that Hooke's law is obeyed.

[0023] In addition, the elastic element k of the nut runner region T2 calculated by the formula (1) 1 ~k 6 Force f acting on N and moment m N is the force f acting on the hand position of the robot 20 according to the law of action and reaction. 7 and moment m 7 As a result, each rotational elastic element k J1 ~k J6 By calculating the equations of balance for each link connecting the two in order from the hand end, the load acting on each joint A1 to A6 can be found.

[0024] In this case, the elastic matrix K in the above equation (1) RB is defined based on the elastic coefficients of the joints A1 to A6 included in the basic information of the robot system 10 stored in the memory 3. Similarly, the elastic matrix K NR is determined based on the elastic modulus of the nut runner 30 and the workpiece 40 included in the basic information of the robot system 10. Also, the tightening torque M T and joint position P n are all set based on input information entered by the operator.

[0025] The memory 3 also stores tolerances for the loads acting on each of the joints A1 to A6. Each tolerance is determined by the load capacity set for the components that make up each of the joints A1 to A6, such as the motor, reducer, bearing, etc.

[0026] The processor 4 retrieves the mathematical model from the memory 3 and calculates the load acting on each joint A1 to A6 of the robot 20 by performing calculations using the retrieved mathematical model based on input information input from the input device 2. The processor 4 also retrieves the allowable values ​​for each joint A1 to A6 stored in the memory 3 and compares them with the calculated load acting on each joint A1 to A6 to determine whether the load acting on each joint A1 to A6 exceeds the allowable value. The processor 4 then transmits the result of this determination to the display device 5, together with the ratio of each load to the allowable value.

[0027] The display device 5 is, for example, a monitor, and displays the ratios sent from the processor 4 in correspondence with the respective joints A1 to A6, as shown in Fig. 5. Furthermore, when the display device 5 receives a determination result from the processor 4 indicating that there is one or more joints on which a load exceeding the allowable value acts, the display color of the ratio corresponding to that joint is displayed in a different color from the display colors of the other ratios.

[0028] The operation of the thus configured arithmetic device 1 according to this embodiment will be described below with reference to the flowchart shown in FIG. 6, taking as an example a method for calculating the load acting on each of the joints A1 to A6 in a robot system 10 that performs a screw tightening operation by the operation of a nut runner 30 as shown in FIG.

[0029] First, the operator operates the input device 2 to input input information for the robot system 10 (step S1). As a result, the processor 4 acquires the posture of the robot 20 during the screw tightening operation, i.e., the angles of the joints A1 to A6, the positions of the nut runner 30 and the workpiece 40, and the magnitude and direction of the tightening torque of the nut runner 30.

[0030] Next, the processor 4 retrieves the mathematical expression model stored in advance in the memory 3, and calculates the mathematical expression model based on the input information input by the input device 2 (step S2).

[0031] Specifically, as described above, first, the elastic matrix K is calculated based on the basic information of the robot system 10 stored in the memory 3 and the input information input by the operator. RB , K NR , Jacobian matrix J and fastening torque M T Then, by calculating the formula (1), the acting force f N and m N , that is, the load acting on the hand position of the robot 20 is calculated.

[0032] Next, the load acting on each of the joints A1 to A6 is calculated based on the basic information and the input information by calculating equation (2) in order from the joint on the tip side of the robot 20. Then, the load acting on each of the joints A1 to A6 calculated above is added to the load due to the weight of the robot 20 and the nut runner 30.

[0033] By performing such calculations, the processor 4 calculates the magnitude of the load acting on each of the joints A1 to A6 of the robot 20 due to the reaction force of the fastening torque when the nut runner 30 operates (step S3).

[0034] Thereafter, the processor 4 retrieves the allowable values ​​for each of the joints A1 to A6 from the memory 3 and compares the allowable values ​​with the loads acting on each of the joints A1 to A6 calculated using the mathematical model (step S4). The processor 4 also calculates the ratios of the calculated loads acting on each of the joints A1 to A6 to the allowable values.

[0035] If the determination result indicates that there is at least one joint on which a load exceeding the allowable value is acting, the processor 4 sends a signal indicating this to the display device 5 along with the ratio of each load to the allowable value.

[0036] The display device 5 then displays each ratio received from the processor 4 in the form of a percentage. In this case, the display device 5 displays the ratio of a joint on which a load exceeding the allowable value is acting, i.e., the ratio exceeding 100%, in a different color from the display colors of the other ratios. As a result, the display device 5 displays that a load exceeding the allowable value is acting on at least one of the joints A1 to A6 (step S5).

[0037] Therefore, by checking the display device 5, the operator can know that if the robot system 10 performs the planned screw tightening work, there is a risk that excessive load will be applied to at least one of the joints A1 to A6.

[0038] On the other hand, if the result of processor 4's determination is that there is no joint on which a load exceeding the tolerance value is acting, processor 4 transmits a signal indicating this, along with the ratio of each load to the tolerance value, to display device 5. Then, as described above, display device 5 displays each ratio received from processor 4 in percentage format. However, in this case, since no ratio exceeds 100%, all ratios are displayed in the same color. In other words, display device 5 displays that no load exceeding the tolerance value is acting on any of joints A1 to A6 (step S6).

[0039] As a result, by checking the display device 5, the operator can easily know that even if the robot system 10 performs the planned screw tightening work, there is no risk of excessive load being applied to each of the joints A1 to A6.

[0040] As described above, the computing device 1 according to this embodiment can perform a simulation based on a dynamic model that includes not only the robot 20 but also the nut runner 30 and the workpiece 40. Therefore, even in the case of a robot system 10 in which the nut runner 30 operates as shown in FIG. 1, it is possible to accurately estimate the load acting on each of the joints A1 to A6 of the robot 20 due to that operation. This allows the operator to determine whether or not there is a possibility that an external force input unrelated to the operation of the robot 20 will cause an excessive load to act on each of the joints A1 to A6.

[0041] In this embodiment, the display device 5 displays the ratio of each load acting on each joint A1 to A6 to its allowable value calculated by the processor 4 in the form of a percentage, but this is not limiting. For example, the display device 5 may simply display a message informing the user of a joint on which a load exceeding its allowable value acts, without displaying the ratio of each load acting on each joint A1 to A6 to its allowable value.

[0042] In the present embodiment, the display device 5 is a monitor for displaying each ratio calculated by the processor 4. Alternatively, the display device 5 may be a user interface such as a touch panel that also has the function of the input device 2, i.e., the function of accepting input information from an operator.

[0043] In this case, the display device 5 may, for example, divide the display area into two, with one displaying an icon for accepting input information and the input information being input, and the other displaying the calculated ratios. This allows the operator to confirm the results of the simulation in association with the input information used in the simulation. Furthermore, based on the confirmed simulation results, the operator can easily change the input information and perform the simulation again. Therefore, the operator can easily grasp the relationship between the input information and the load acting on each joint A1 to A6, and can easily review the conditions for the screw tightening operation of the robot system 10.

[0044] Furthermore, in this embodiment, the display device 5 may display a 3D model of the target robot system 10 or a mechanical model corresponding to the target robot system 10. This allows the operator to more intuitively grasp the joints on which a load exceeding the allowable value is estimated to act, which facilitates review of the conditions for the screw tightening work, similar to the above.

[0045] In this embodiment, the mathematical model stored in the memory 3 is derived based on the dynamic model shown in FIG. 4, but the dynamic model for deriving the mathematical model is not limited to this. For example, if the dynamic model is such that each joint A1 to A6 of the robot 20 is connected to an elastic element k J1 ~k J6 and an elastic element in a direction intersecting each axis, i.e., in the axial tilt direction. This allows for more accurate simulation of the load acting on the robot 20.

[0046] In this embodiment, even if the nut runner 30 and the workpiece 40 in the dynamic model are not defined as elastic elements, calculation results that are not significantly different from those obtained when they are defined as elastic elements may be obtained. For example, in the dynamic model shown in FIG. 4, the elastic element k 1 ~k 6Among the elastic elements, those that are assumed to have a rigidity sufficiently larger than the rigidity of the robot 20 are replaced with rigid elements, that is, the elastic coefficient of the elastic element is set to infinity. 1 ~k 6 Among these, those that are assumed to have a rigidity sufficiently smaller than that of the robot 20 are replaced with free elements, that is, the elastic coefficient of the elastic element is set to zero. 1 ~k 6 If all of the above are replaced with rigid elements or free elements, a mechanical model is constructed in which the nut runner 30 and the workpiece 40 are not defined as elastic elements. By using such a mechanical model, the calculations of the mathematical model can be simplified.

[0047] In addition, in this embodiment, the processor 4 calculates the load acting on each of the joints A1 to A6, but instead, the processor 4 may calculate the deformation amount of each of the joints A1 to A6 defined as an elastic element. Furthermore, in this embodiment, the processor 4 may calculate the load or deformation amount of a member other than each of the joints A1 to A6 of the robot 20, or may calculate the load or deformation amount of the nut runner 30 or the work target 40. In this case, the processor 4 may derive a mathematical model based on a mechanical model in which the target location is defined by an elastic element.

[0048] In addition, in this embodiment, if it is estimated that one or more of the joints A1 to A6 is subjected to a load exceeding the allowable value, the processor 4 may search for a posture of the robot 20 that reduces the load acting on that joint.

[0049] In this case, the posture can be searched for using the following method. The robot system 10 can perform screw tightening operations even when the nut runner 30 is rotated around the axis B. On the other hand, since the robot 20 has six degrees of freedom, it can assume a posture when the nut runner 30 is rotated around the axis B. Therefore, the processor 4 performs a simulation again for the posture of the robot 20 when the nut runner 30 is slightly rotated around the axis B, and compares the calculated loads acting on each of the joints A1 to A6 with the respective allowable values. By repeating this operation, it is possible to search for the posture of the robot 20 in which the ratio of the load acting on each of the joints A1 to A6 to the allowable value is minimized. This allows the operator to easily review the posture of the robot 20 during screw tightening operations based on the search results of the computing device 1.

[0050] In addition, in this embodiment, if it is estimated that there are one or more joints on which a load exceeding the allowable value acts, the processor 4 may search for an arrangement of the nut runner 30 and the workpiece 40 that will reduce that load.

[0051] In this embodiment, when the actual measured values ​​of the loads acting on the joints A1 to A6 can be obtained, the processor 4 may acquire the actual measured values. Then, the processor 4 calculates the elastic matrix K in the mathematical model so as to minimize the difference between the acquired actual measured values ​​and the calculated loads acting on the joints A1 to A6. RB , K NR The value of is adjusted and the mathematical model is stored in the memory 3. This allows the processor 4 to further improve the accuracy of the simulation from the next time onwards, that is, to be provided with a learning function.

[0052] In this embodiment, the processor 4 compares the load acting on each of the joints A1 to A6 with a tolerance determined by the load-bearing capacity of the members that make up each of the joints A1 to A6. Alternatively, the processor 4 may compare each load with a threshold value calculated based on the corresponding tolerance, for example, a value obtained by multiplying each tolerance by a safety factor that is greater than 0 and equal to or less than 1.

[0053] This allows the operator to evaluate the load acting on each joint A1 to A6 while leaving some margin for tolerance, thereby reliably preventing each joint A1 to A6 from being subjected to a load exceeding the tolerance.

[0054] In addition, in this embodiment, the computing device 1 is intended for a screw tightening system in which the nut runner 30 is attached to the tip of the wrist of the robot 20, but the present invention is not limited to this. For example, the computing device 1 can also be applied to a robot system in which a tool equipped with a power source, such as a stamping machine, a grinding tool, or a drill, is attached to the tip of the wrist of the robot 20.

[0055] Furthermore, in this embodiment, the robot system 10 in which the nut runner 30 operates is the target, but instead, the robot system 10 in which the work object 40 operates to perform a predetermined task may be the target.

[0056] Furthermore, in this embodiment, the arithmetic device 1 is an offline computer, but instead, the arithmetic device 1 may be configured integrally with a control device that controls the robot system 10 .

[0057] Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible to these embodiments without departing from the gist of the invention or the concept and spirit of the present invention derived from the content of the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.

[0058] The following supplementary notes are further disclosed regarding the above-described embodiments and modifications. (Supplementary Note 1) A computing device for simulating a robot system including a robot having multiple joints and a tool attached to the robot that performs a predetermined task on a workpiece, the task being performed by applying at least one of a force and a torque generated by either the tool or the workpiece to the other, the computing device comprising at least one processor and at least one memory, the memory storing a mathematical model that defines at least one of the robot, the tool, and the workpiece as an elastic element, the processor acquiring input information including the posture of the robot, the arrangement of the tool and the workpiece, and the magnitude and direction of at least one of the force and the torque, and estimating a load or deformation amount on at least one of the robot, the tool, and the workpiece using the acquired input information and the mathematical model stored in the memory. (Supplementary Note 2) The computing device for a robot system according to Supplementary Note 1, wherein the processor determines whether the estimated load or deformation amount is within a range of an allowable value for each of the corresponding joints. (Supplementary Note 3) The arithmetic device for a robot system according to Supplementary Note 2, comprising a display device that displays a ratio of the estimated load or the deformation amount to the allowable value. (Supplementary Note 4) The arithmetic device for a robot system according to Supplementary Note 3, wherein the display device comprises a user interface that accepts input of the input information. (Supplementary Note 5) The arithmetic device for a robot system according to any of Supplements 2 to 4, wherein the processor searches for a posture of the robot that reduces the load when the estimated load exceeds the allowable value. (Supplementary Note 6) The arithmetic device for a robot system according to any of Supplements 2 to 4, wherein the processor searches for a position of the tool or the work object that reduces the load when the estimated load exceeds the allowable value.(Supplementary Note 7) The arithmetic device of the robot system according to any one of Supplementary Note 1 to Supplementary Note 6, wherein the processor acquires an actual measurement value corresponding to the load or the deformation amount, and adjusts a value corresponding to each of the elastic elements in the mathematical model by machine learning so that the load or the deformation amount approaches the actual measurement value.

[0059] REFERENCE SIGNS LIST 1 arithmetic unit 3 memory 4 processor 5 display device 10 robot system 20 robot 30 nut runner (tool) 40 work object A1, A2, A3, A4, A5, A6 joint k J1 , k J2 , k J3 , k J4 , k J5 , k J6 Rotational elastic element k 1 , k 2 , k 3 Rotational elastic element k 4 , k 5 , k 6 Linear elastic element

Claims

1. A computing device for simulating a robot system comprising a robot having multiple joints and a tool attached to the robot that performs a predetermined task on a workpiece, wherein the task is performed by applying at least one of the force and torque generated by either the tool or the workpiece to the other, It comprises at least one processor and at least one memory, The memory stores a mathematical model in which at least one of the robot, the tool, and the workpiece is defined as an elastic element. A computing device for a robot system, wherein the processor acquires input information including the posture of the robot, the arrangement of the tool and the workpiece, and the magnitude and direction of at least one of the force and torque, and estimates the load or deformation amount in at least one of the robot, the tool, and the workpiece using the acquired input information and the mathematical model stored in the memory.

2. The computing device for a robot system according to claim 1, wherein the processor determines whether the estimated load or deformation is within the range of an acceptable value for each of the corresponding joints.

3. The calculation device for the robot system according to claim 2, comprising a display device that displays the ratio of the estimated load or deformation amount to the allowable value.

4. The calculation device for the robot system according to claim 3, wherein the display device is a user interface for receiving the input information.

5. The processor is a computing device for a robot system according to any one of claims 2 to 4, which searches for a robot posture that reduces the load when the estimated load exceeds the allowable value.

6. The processor is a computing device for a robot system according to any one of claims 2 to 4, which searches for the placement of the tool or the workpiece that reduces the load when the estimated load exceeds the allowable value.

7. The computing device for a robot system according to any one of claims 1 to 4, wherein the processor acquires measured values ​​corresponding to the load or the amount of deformation, and adjusts the values ​​corresponding to each of the elastic elements in the mathematical model by machine learning so that the load or the amount of deformation approaches the measured values.