Machine learning device, robot system and machine learning method for learning tool state
By using force sensors to detect force data and state data applied by the tool in robot operation, a learning model is generated, which solves the problem of insufficient automation and accuracy of tool state judgment in the prior art, and realizes automatic and accurate determination of tool state. .
Patent Information
- Application Number
- CN202010555681.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-21
- Filing Date
- 2020-06-17
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2040-06-17
AI Technical Summary
The prior art is difficult to automatically and accurately determine the state of the robot using the tool, especially in the analysis of the correlation between the tool application force and the robot.
By using force sensors to detect force data applied by the tool in robot operations, and combining the tool's state data, a learning model representing the correlation between force and state is generated, and a supervised learning algorithm such as support vector machine or hybrid Gaussian model is used for model training. , realize automatic determination of tool status.
Automatic and accurate determination of the state of the robot tool is realized, and the correlation between the applied force of the tool and the state can be quantitatively represented, improving the accuracy and efficiency of tool status monitoring.
Smart Images

Figure CN112109077B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a machine learning device, a robot system, and a machine learning method for learning the state of a tool used by a robot during operation. Background Art
[0002] A technique for determining the degree of deterioration of a tool by learning the characteristics of sound or vibration when a workpiece is machined by a tool is known (Japanese Patent Application Laid-Open No. 2018-156340).
[0003] In the field of robots, when the robot uses a tool to perform work, the robot detects the force applied from the tool to the robot. A technology for determining the state of the tool based on the force detected in this way is sought. Summary of the invention
[0004] In one embodiment of the present disclosure, a machine learning device that learns the state of a tool used by a robot in an operation includes: a learning data acquisition unit that acquires data on the force applied from the tool to the robot while the robot is causing the tool to perform a predetermined action, and data representing the state of the tool while the predetermined action is being performed, as a learning data set; and a learning unit that uses the learning data set to generate a learning model that represents the correlation between the force and the state of the tool.
[0005] In another embodiment of the present disclosure, in a machine learning method for learning the state of a tool used by a robot in an operation, a processor obtains data on the force applied from the tool to the robot while the robot is causing the tool to perform a predetermined action, and data representing the state of the tool while the predetermined action is being performed, as a learning data set, and uses the learning data set to generate a learning model representing the correlation between the force and the state of the tool.
[0006] According to the present disclosure, it is possible to automatically and accurately obtain a model that quantitatively represents the correlation between the force applied from the tool to the robot and the state of the tool when the robot causes the tool to perform a predetermined operation. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 This is a block diagram of a learning device according to one embodiment.
[0008] Figure 2 A state in which an end effector is attached to the robot according to one embodiment is shown.
[0009] Figure 3 Indicates Figure 2 The robot is shown with other end effectors installed.
[0010] Figure 4 Indicates Figure 2The robot is shown in a state where another end effector is installed.
[0011] Figure 5 Indicates Figure 2 The robot is shown in a state where another end effector is installed.
[0012] Figure 6 Indicates that Figure 5 The tool gripped by the robot is shown inserted into a hole.
[0013] Figure 7 Yes means Figure 1 Flowchart of an example of a learning cycle performed by the machine learning device shown.
[0014] Figure 8 A model schematically representing a neuron.
[0015] Fig. 9 Schematic representation of a model of a multi-layer neural network.
[0016] Fig.10 It is a block diagram of a robot system according to one embodiment.
[0017] Fig.11 Yes means Fig.10 A flowchart showing an example of the operation flow of the robot system shown. DETAILED DESCRIPTION
[0018] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the various embodiments described below, the same elements are denoted by the same reference numerals, and repeated descriptions are omitted. Figure 1 , a machine learning device 10 according to one embodiment is described. The machine learning device 10 may be composed of a computer having a processor (CPU, GPU, etc.), a storage unit (ROM, RAM, etc.), and an input device (keyboard, mouse, touch panel, etc.), or software such as a learning algorithm.
[0019] The machine learning device 10 learns the state (normal state, abnormal state, etc.) of a tool used by a robot 20 described later in work. Figure 2 to Figure 7 denoting the robot 20 and various end effectors mounted on the robot 20. Figure 2 As shown, the robot 20 is a vertical multi-joint robot having a base 22 , a rotating body 24 , a lower arm 26 , an upper arm 28 , and a wrist 30 .
[0020] The base 22 is fixed to the floor of the work unit. The rotating body 24 is provided on the base 22 in a manner that can rotate around a vertical axis. The lower arm 26 is provided on the rotating body 24 in a manner that can rotate around a horizontal axis. The upper arm 28 is provided rotatably at the front end of the lower arm 26. The wrist 30 is provided rotatably at the front end of the upper arm 28.
[0021] exist Figure 2 In the example shown, an end effector 40 for grinding a workpiece is detachably mounted on the front end of the wrist 30. The wrist 30 supports the end effector 40 in a manner that enables it to rotate. The robot 20 has a plurality of servo motors (not shown) built in, and these servo motors drive the movable elements of the robot 20 (i.e., the rotating body 24, the lower arm 26, the upper arm 28, and the wrist 30), thereby configuring the end effector 40 to an arbitrary position and posture.
[0022] The end effector 40 includes a base 42, a tool 44 rotatably provided on the base 42 around the axis A1, and a drive unit 46 for driving the tool 44 to rotate. The base 42 is connected to the front end of the wrist 30. The tool 44 is, for example, a roughly cylindrical abrasive material containing abrasive particles (ceramic, zirconia, diamond, etc.), and grinds the workpiece by rotating. The drive unit 46 is, for example, a servo motor, which rotates the tool 44 around the axis A1.
[0023] A force sensor 32 is inserted between the wrist 30 and the end effector 40. The force sensor 32 is, for example, a 6-axis force sensor having a plurality of strain gauges, and detects the force acting on the force sensor 32. More specifically, the force sensor 32 outputs an output signal S corresponding to the strain generated by the force sensor 32 from each strain gauge. O .
[0024] According to these output signals S O , capable of detecting the force sensor coordinate system C F The force F in the x-axis direction x , force F in the y-axis direction y , and the force F in the z-axis direction z , the moment M around the x-axis x , the moment M around the y-axis y , the moment M around the z-axis z A total of 6 directions of force F x 、F y 、F z 、M x 、M y and M z .
[0025] And, according to the force F in these six directions x 、Fy 、F z 、M x 、M y 、M z , capable of detecting a force F applied to the end effector 40 (eg, tool 44) E For example, the force sensor coordinate system C is set for the force sensor 32 in such a way that the origin is arranged at a predetermined position (e.g., the center) of the force sensor 32 and the z-axis direction is parallel to the central axis of the force sensor 32. F .
[0026] On the other hand, Figure 3 In the illustrated example, another end effector 50 for grinding a workpiece is mounted on the wrist 30 of the robot 20. The end effector 50 includes a base 52, a tool 44 rotatably provided on the base 52 about the axis A2, and a drive unit 54 for rotationally driving the tool 44.
[0027] The base 52 is attached to the front end of the wrist 30 via the force sensor 32. The driving unit 54 is, for example, a servo motor, and rotates the tool 44 around the axis A2. Figure 2 as well as Figure 3 In the example shown, the robot 20 performs a task of grinding a workpiece using a tool 44 .
[0028] exist Figure 4 In the example shown, an end effector 60 for cutting (e.g., deburring) a workpiece W1 is detachably mounted on the wrist 30 of the robot 20. Specifically, the end effector 60 includes a base 62, a tool 64 rotatably provided on the base 62 around the axis A3, and a drive unit 66 for rotationally driving the tool 64. The base 62 is mounted on the front end of the wrist 30 via the force sensor 32.
[0029] The tool 64 is a cutting tool with a substantially conical front end made of steel or the like, and performs cutting processing on the workpiece W1 by rotating. The driving unit 66 is a device that generates power by, for example, an electric motor or compressed gas, and is built into the base 62 to rotate the tool 64 around the axis A3. The robot 20 performs cutting processing (deburring, etc.) on the workpiece using the tool 64.
[0030] exist Figure 5 In the example shown, an end effector 70 is detachably mounted on the wrist 30 of the robot 20. The end effector 70 is a manipulator for manipulating a tool 74, and includes a base 72, a plurality of fingers 76 provided on the base 72 so as to be openable and closable, and a drive 78 for driving the fingers 76.
[0031] The base 72 is mounted on the front end of the wrist 30 via the force sensor 32. The fingers 76 are provided on the base 72 so as to be movable in directions of approaching and separating from each other, and are used to grasp or release the tool 74. The driving unit 78 is, for example, a servo motor or a cylinder, and is built into the base 72.
[0032] The tool 74 is a cylindrical or multi-cornered component (such as a cylinder for automobiles). The robot 20 performs the following operations: the end effector 70 grasps the tool 74, such as Figure 6 As shown, the tool 74 to be grasped is inserted into a hole H formed in a workpiece W2 to be worked on, thereby assembling the tool 74 to the workpiece W2.
[0033] Refer again Figure 1 The machine learning device 10 includes a learning data acquisition unit 12 and a learning unit 14. The learning data acquisition unit 12 acquires, as a learning data set, data of a force F applied from the tool 44, 64, or 74 to the robot 20 while the robot 20 is causing the tool 44, 64, or 74 to perform a predetermined action, and data indicating a state S of the tool 44, 64, or 74 when the predetermined action is performed.
[0034] For example, in Figure 2 to Figure 4 In the example shown, the "predetermined action" refers to an action in which the robot 20 rotates the tool 44 or 64 without contacting the workpiece. Alternatively, the "predetermined action" refers to an action in which the robot 20 rotates the tool 44 or 64 in contact with the workpiece. Here, when the robot 20 performs the action of rotating the tool 44 or 64 in contact with the workpiece as the predetermined action, force control can be performed to control the force F applied from the tool 44 or 64 to the robot 20 (in other words, the force applied from the tool 44 or 64 to the workpiece) to a predetermined target value.
[0035] In addition, Figure 5 In the example shown, the "predetermined action" refers to an action of the robot 20 inserting the tool 74 into the hole H. Here, when the robot 20 inserts the tool 74 into the hole H as the predetermined action, force control can be performed to control the force F applied from the tool 74 to the robot 20 (in other words, the force applied from the tool 74 to the workpiece W2) to a predetermined target value.
[0036] In this way, various end effectors 40, 50, 60, or 70 are mounted on the wrist 30 of the robot 20 according to the work, and the robot 20 causes the tool 44, 64, or 74 to perform a predetermined action. When the robot 20 causes the tool 44, 64, or 74 to perform a predetermined action, the force sensor 32 detects the force F applied from the tool 44, 64, or 74 to the robot 20, and provides the data of the force F to the learning data acquisition unit 12.
[0037] For example, in Figure 2 to Figure 4 In the example shown, when the robot 20 performs an operation to rotate the tool 44 or 64 without contacting the workpiece (or in contact with the workpiece) as a predetermined operation, a force is applied to the force sensor 32 by the rotation of the tool 44 or 64. The force sensor 32 detects such a force as a force F applied from the tool 44 or 64 to the robot 20 at the time of the predetermined operation.
[0038] In addition, Figure 5 In the example shown, when the robot 20 performs the operation of inserting the tool 74 into the hole H as a predetermined operation, a force generated by the operation of inserting the tool 74 into the hole H is applied to the force sensor 32. The force sensor 32 detects such a force as the force F applied from the tool 74 to the robot 20 during the predetermined operation. The learning data acquisition unit 12 acquires data of the force F detected by the force sensor 32 from the force sensor 32. The data of the force F includes the output signal S described above. O , force F x 、F y 、F z 、M x 、M y and M z , and the force F applied to the end effector 40 E At least 1 of .
[0039] In addition, the data of force F can also include data S O 、F x 、F y 、F z 、M x 、M y 、M z 、F E At least one of the time variation characteristic CT, the amplitude value AP (positive or negative peak value, peak-to-peak value, etc.), and the frequency spectrum FS. In addition, the time variation characteristic CT or the frequency spectrum FS may be data detected within a predetermined time τ. In addition, the amplitude value AP may be an average value or a maximum value of the predetermined time τ. In addition, the predetermined time τ may be the time from the start to the end of the "predetermined action" performed by the robot 20, or may be an arbitrary time (for example, 1 second) in the "predetermined action".
[0040] On the other hand, the data indicating the state S of the tool 44, 64 or 74 includes label information such as "normal state" and "abnormal state". Here, the abnormal state is, for example, a state in which damage such as a chip, a crack or a fissure occurs in the tool 44, 64 or 74. On the other hand, the normal state is a state in which the tool 44, 64 or 74 is not damaged.
[0041] In addition, as label information of "normal state", multiple label information such as "new product state" and "half-new state" can be set. In addition, as label information of "abnormal state", multiple label information corresponding to the degree of abnormal state can be set in the form of "abnormal state level 1", "abnormal state level 2", and "abnormal state level 3".
[0042] The data indicating the state S of the tool 44 , 64 , or 74 is determined by the operator. For example, the operator visually checks the state (normal state, abnormal state) of the tool 44 , 64 , or 74 and inputs the data indicating the state S of the tool 44 , 64 , or 74 into the learning data acquisition unit 12 .
[0043] Alternatively, the operator may prepare in advance a learning model LM2 that represents the correlation between the image data of the tool 44, 64, or 74 and the state S of the tool 44, 64, or 74, and input the image data obtained by photographing the tool 44, 64, or 74 into the learning model LM2 to determine the state S of the tool 44, 64, or 74. The learning data acquisition unit 12 acquires the data of the force F obtained from the force sensor 32 and the data representing the state S determined by the operator (or by the learning model LM2) as the learning data set DS.
[0044] Here, there is a correlation between the force F applied from the tool 44, 64, or 74 to the robot 20 when the robot 20 is causing the tool 44, 64, or 74 to perform a predetermined action and the state S (normal state, abnormal state, etc.) of the tool 44, 64, or 74. Figure 2 to Figure 4 In the example shown, it is assumed that damage has occurred in the tool 44 or 64 .
[0045] In this case, when the robot 20 performs a predetermined action to rotate the tool 44 or 64, the rotation of the tool 44 or 64 becomes eccentric due to the damage, and as a result, the force F applied from the tool 44 or 64 to the robot 20 may be different from that when the undamaged tool 44 or 64 rotates.
[0046] In addition, Figure 5 as well as Figure 6 In the example shown, it is assumed that the tool 74 is damaged. In this case, when the robot 20 performs a predetermined operation of inserting the tool 74 into the hole H, the force F applied from the tool 74 to the robot 20 may be different from that when the undamaged tool 74 is inserted into the hole H due to friction generated between the damaged portion of the tool 74 and the wall surface of the hole H.
[0047] The learning unit 14 generates a learning model (function) LM representing the correlation between the force F and the state S using the learning data set DS of the force F and the state S. For example, the learning unit 14 generates the learning model LM by performing supervised learning. In this case, each time a new tool 44, 64, or 74 is assembled to the robot 20, the robot 20 is repeatedly tested to perform a predetermined action. Furthermore, the learning data acquisition unit 12 repeatedly acquires the learning data set DS as training data each time the robot 20 performs a predetermined action.
[0048] The learning unit 14 learns the learning model LM by identifying features that indicate the correlation between the data (time variation characteristics, frequency spectrum, etc.) of the force F acquired as training data and the data (label information such as normal state, abnormal state, etc.) representing the state S. For such supervised learning, for example, an algorithm such as a support vector machine (SVM) or a Gaussian mixture model (GMM) can be used.
[0049] Below, refer to Figure 7 The flow of the learning cycle performed by the machine learning device 10 is described below. In step S1 , the operator attaches the tool 44 , 64 , or 74 (ie, the end effector 40 , 50 , 60 , or 70 ) to the robot 20 , and the robot 20 causes the tool 44 , 64 , or 74 to perform a predetermined operation.
[0050] In step S2 , the learning data acquisition unit 12 acquires the learning data set DS. Specifically, the learning data acquisition unit 12 acquires data of the force F detected by the force sensor 32 while the robot 20 is causing the tool 44 , 64 , or 74 to perform a predetermined operation in step S1 .
[0051] In addition, the learning data acquisition unit 12 acquires label information of a normal state or label information of an abnormal state as data indicating the state S of the tool 44, 64, or 74 rotated in step S1. As an example, the operator visually checks whether the tool 44, 64, or 74 is in a normal state or an abnormal state before performing a predetermined operation in step S1.
[0052] As another example, the operator checks the data of the force F detected by the force sensor 32 during the predetermined operation in step S1, thereby checking whether the tool 44 is in a normal state or an abnormal state. The operator operates the input device of the machine learning device 10 to input label information of a normal state or label information of an abnormal state as data indicating the state S of the tool 44, 64, or 74 installed in step S1.
[0053] As another example, before or after the predetermined action is performed in step S1, the tool 44, 64 or 74 is photographed by a camera (not shown). Then, the photographed image data is input to the above-mentioned learning model LM2. The learning model LM2 outputs the label information of the normal state or the label information of the abnormal state to the learning data acquisition unit 12.
[0054] The learning data acquisition unit 12 acquires the input normal state label information or abnormal state label information. In this way, the learning data acquisition unit 12 acquires the learning data set DS of the data representing the force F and the data representing the state S, and stores them in the storage unit in association with each other.
[0055] In step S3, the learning unit 14 generates a learning model LM representing the correlation between the force F and the state S using the learning data set DS acquired in step S2. Specifically, the learning unit 14 learns the learning model LM by executing a supervised learning algorithm (SVM, GMM, etc.).
[0056] Then, returning to step S1, the operator installs the new tool 44, 64 or 74 (i.e., the end effector 40, 50, 60 or 70) to the robot 20, and the robot 20 performs a predetermined action with the new tool 44, 64 or 74. Then, in step S2, the learning data acquisition unit 12 acquires a learning data set DS for the new tool 44, 64 or 74, and in step S3, the learning unit 14 updates the learning model LM using the newly acquired learning data set DS.
[0057] By executing such a learning cycle, the learning model LM is learned and the learning model LM is guided to the optimal solution. By executing such a learning cycle for each of the tools 44, 64, and 74, a learning model LM representing the correlation between the state S of the tool 44, 64, and 74 and the force F can be obtained for each of the tools 44, 64, and 74.
[0058] According to this embodiment, a model that quantitatively represents the correlation between the force F and the state S of the tool can be automatically and accurately obtained. Figure 7 The flow of the learning loop shown may be, for example, a loop of steps S1 and S2 is repeatedly executed to obtain a plurality of learning data sets DS, and then step S3 is executed, and the learning unit 14 performs learning of the learning model LM using the plurality of learning data sets DS.
[0059] In addition, as another function of the machine learning device 10, in step S2, the learning data acquisition unit 12 can further acquire data on the position and posture of the tool 44, 64, or 74 when the robot 20 is performing a predetermined action in step S1 as a learning data set DS. Specifically, in step S1, the robot 20 causes the tool 44, 64, or 74 to perform a predetermined action while placing the tool 44, 64, or 74 in a predetermined position and posture.
[0060] Furthermore, in step S2, when the tool 44, 64, or 74 is arranged at a predetermined position and posture in step S1, the learning data acquisition unit 12 acquires the rotation angle θ from an encoder (not shown) for detecting the rotation angle θ of each servo motor of the robot 20. Based on the rotation angle θ, the position and posture of the tool 44, 64, or 74 (or the end effector 40, 50, 60, or 70) can be calculated.
[0061] In step S2, the learning data acquisition unit 12 acquires the data of the position and posture of the tool 44, 64 or 74 as a learning data set DS in addition to the data of the force F and the data indicating the state S. In addition, the learning data acquisition unit 12 may acquire the rotation angle θ as the data of the position and posture. Then, in step S3, the learning unit 14 generates a learning model LM using the learning data set DS of the data of the force F, the data of the state S, and the data of the position and posture.
[0062] The following describes the significance of obtaining position and posture data as a learning data set DS. The force F detected by the force sensor 32 changes according to the position and posture of the tool 44, 64, or 74 when the robot 20 is performing a predetermined action. Therefore, the learning model LM is generated in consideration of the correlation between the position and posture of the tool 44, 64, or 74 and the force F, thereby obtaining a learning model LM that represents the correlation between the force F and the state S when the tool 44, 64, or 74 is configured in various positions and postures to perform a predetermined action.
[0063] As another function of the machine learning device 10, for example, when using the tool 44 or 64, in step S2, the learning data acquisition unit 12 can further acquire data on the rotation speed of the tool 44 or 64 when the robot 20 is performing a predetermined action in step S1 as a learning data set DS.
[0064] Specifically, when the robot 20 performs a predetermined operation of rotating the tool 44 or 64 in step S1 , the learning data acquisition unit 12 acquires data of the rotation speed V from a speed sensor (not shown) for detecting the rotation speed of the tool 44 or 64 .
[0065] Alternatively, the learning data acquisition unit 12 may acquire data of a speed command CR sent to the tool 44 or 64 when the robot 20 makes the tool 44 or 64 perform a predetermined operation in step S1. The speed command CR is a command that specifies the rotation speed of the tool 44 or 64 when performing a predetermined operation.
[0066] On the other hand, when the tool 74 is used, in step S2, the learning data acquisition unit 12 may further acquire data of the movement speed of the tool 74 (i.e., the speed at which the tool 74 moves toward the hole H) when the robot 20 is performing the predetermined movement in step S1 as the learning data set DS. Specifically, when the robot 20 is performing the predetermined movement of inserting the tool 74 into the hole H in step S1, the learning data acquisition unit 12 acquires the movement speed V from a speed sensor (not shown) for detecting the movement speed of the tool 74.
[0067] Alternatively, the learning data acquisition unit 12 may acquire data of a speed command CR sent to the tool 74 when the robot 20 makes the tool 74 perform a predetermined operation in step S1. The speed command CR is a command that specifies the operation speed of the tool 74 when performing a predetermined operation.
[0068] Thus, in step S2, the learning data acquisition unit 12 acquires the data of the velocity V (or the velocity command CR) of the tool 44, 64, or 74 as the learning data set DS in addition to the data of the force F and the data indicating the state S. Then, in step S3, the learning unit 14 generates the learning model LM using the learning data set DS of the data of the force F, the data of the state S, and the velocity V (or the velocity command CR).
[0069] Here, the force F detected by the force sensor 32 when the robot 20 is performing a predetermined action changes according to the velocity V of the tool 44, 64, or 74. Therefore, by generating the learning model LM in consideration of the correlation between the velocity V (or velocity command CR) of the tool 44, 64, or 74 and the force F, the learning model LM corresponding to the velocity V can be obtained.
[0070] As another function of the machine learning device 10, in step S2, the learning data acquisition unit 12 can further acquire the data of the weight WG of the tool 44, 64 or 74 as the learning data set DS. Specifically, before or after the predetermined action is performed in step S1, the learning data acquisition unit 12 acquires the data of the weight WG from a weight sensor (not shown) that detects the weight of the tool 44, 64 or 74.
[0071] Thus, in step S2, the learning data acquisition unit 12 acquires the data of the weight WG of the tool 44, 64 or 74 as the learning data set DS in addition to the data of the force F and the data indicating the state S. Then, in step S3, the learning unit 14 generates a learning model LM using the learning data set DS of the data of the force F, the data of the state S, and the data of the weight WG.
[0072] Here, the force F detected by the force sensor 32 when the robot 20 performs a predetermined action changes according to the weight WG of the tool 44, 64, or 74. Therefore, by generating the learning model LM in consideration of the correlation between the weight WG of the tool 44, 64, or 74 and the force F, the learning model LM corresponding to the weight WG can be obtained.
[0073] As another function of the machine learning device 10, in step S2, the learning data acquisition unit 12 may further acquire data on the type of the workpiece W that is the work object of the tool 44, 64, or 74 as the learning data set DS. The data on the type of the workpiece W includes information related to the specifications of the workpiece W, such as the material, roughness, or rigidity modulus of the workpiece W, or information for identifying the type of the workpiece W.
[0074] The information related to the specifications of the workpiece W may include characters (such as "iron", "aluminum", "SUS3044", etc.) or numerical values. In addition, the information for identifying the type of the workpiece W may be character information such as "workpiece type A", "workpiece type B", or may be an identification number marked on each workpiece W by the operator.
[0075] For example, in step S2, the operator operates the input device of the machine learning device 10 to input data on the type of the workpiece W. Thus, in step S2, the learning data acquisition unit 12 acquires data on the type of the workpiece W as a learning data set DS in addition to data on the force F and data indicating the state S. Then, in step S3, the learning unit 14 generates a learning model LM using the learning data set DS of the data on the force F, the data on the state S, and the data on the type of the workpiece W.
[0076] Here, the force F detected by the force sensor 32 when the robot 20 performs a predetermined action varies according to data on the type of the workpiece W. For example, when the robot 20 performs a predetermined action of rotating the tool 44 or 64 in contact with the workpiece W in step S1, or when the robot 20 performs a predetermined action of inserting the tool 74 into the hole H, the force applied from the workpiece W to the tool 44 or 64 may vary depending on the material, roughness, or rigidity modulus of the workpiece W, etc.
[0077] Therefore, by generating the learning model LM in consideration of the correlation between the type of the workpiece W and the force F, it is possible to obtain the learning model LM corresponding to the type of the workpiece W. In addition, the learning data acquisition unit 12 can further acquire data on the type of the tool 44, 64, or 74 (such as character information for identifying the type of the tool) as the learning data set DS.
[0078] In addition, the tool 44, 64, or 74 has a known usage period T in which the state S changes over time. This usage period, such as 1 month or 1 year, can be predetermined as a specification of the tool 44, 64, or 74. When there is such a usage period, the learning unit 14 can generate a learning model LM for each of the multiple sub-periods included in the usage period T.
[0079] For example, the usage period T is divided into a small period T1 from the time t0 when the tool 44, 64, or 74 is new to the time t1 after the tool 44, 64, or 74 has been used for a predetermined time, a small period T2 from the time t1 to the time t2 after the tool 44, 64, or 74 has been used for a further predetermined time, ..., a small period T1 from the time t0 to the time t2 after the tool 44, 64, or 74 has been used for a further predetermined time, ..., a small period T2 from the time t1 to the time t2 after the tool 44, 64, or 74 has been used for a further predetermined time, ..., a small period T3 from the time t1 to the time t2 after the tool 44, 64, or 74 has been used for a further predetermined time, ..., a small period T4 from the time t n-1 At a time point t after the tool 44, 64 or 74 has been used for a further predetermined time n The small period T n .
[0080] In this case, the learning unit 14 may set n (n=1、2、3、…n)Execute Figure 7 The learning cycle shown in the figure is for each small period T n Generate learning model LM n According to this configuration, it is possible to generate a learning model LM corresponding to the usage period of the tools 44 , 64 , 74 .
[0081] In addition, the learning algorithm executed by the learning unit 14 is not limited to supervised learning, and for example, unsupervised learning, reinforcement learning, neural network, and other well-known learning algorithms for machine learning may be used. As an example, Figure 8 A model schematically representing a neuron. Fig. 9 Schematically indicating that Figure 8 The three-layer neural network model is composed of the neurons shown in Figure 8 As an example, the case where the input x is 3 is shown, but the number of input x can also be n (n is a positive number greater than 2 or 4). Fig. 9 A three-layer neural network model is shown as an example, but a neural network with n layers (n is a positive number greater than 2 or 4) may also be used. The neural network is composed of, for example, a computing device simulating a neuron model, a storage device, and the like.
[0082] Figure 8 The neuron shown outputs result y for multiple inputs x (inputs x1 to x3 as examples in the figure). Each input x (x1, x2, x3) is multiplied by a weight w (w1, w2, w3). The relationship between input x and result y can be expressed by the following formula 1. In addition, input x, result y and weight w are all vectors. In addition, in formula 1, θ is the bias and fk is the activation function.
[0083]
[0084] Fig. 9 The three-layer neural network shown in the figure inputs multiple inputs x from the left side (inputs x1 to x3 as examples in the figure), and outputs results y from the right side (results y1 to y3 as examples in the figure). In the example shown in the figure, the inputs x1, x2, and x3 are multiplied by corresponding weights (uniformly represented by W1), and the inputs x1, x2, and x3 are all input to the three neurons N11, N12, and N13.
[0085] exist Fig. 9 In the example shown in the figure, the outputs of neurons N11 to N13 are uniformly represented by Z1. Z1 can be regarded as a feature vector obtained by extracting the feature value of the input vector. In the example shown in the figure, the feature vectors Z1 are multiplied by the corresponding weights (uniformly represented by W2), and all the feature vectors Z1 are input to two neurons N21 and N22. The feature vector Z1 represents the feature between the weights W1 and W2.
[0086] exist Fig. 9 In the example shown in the figure, the outputs of neurons N21 to N22 are uniformly represented by Z2. Z2 can be regarded as a feature vector obtained by extracting the feature quantity of feature vector Z1. In the example shown in the figure, the feature vectors Z2 are multiplied by corresponding weights (uniformly represented by W3), and all feature vectors Z2 are input to three neurons N31, N32, and N33.
[0087] The feature vector Z2 represents the feature between the weight W2 and the weight W3. Finally, the neurons N31 to N33 output the results y1 to y3 respectively. The machine learning device 10 takes the learning data set DS as input and can learn the learning model LM by performing operations in accordance with the multi-layer structure of the above-mentioned neural network.
[0088] The structure of the machine learning device 10 can be described as a machine learning method (or software) executed by a processor of a computer. In the machine learning method, data of a force F applied from the tool 44, 64, or 74 to the robot 20 while the robot 20 is causing the tool 44, 64, or 74 to perform a predetermined action and data indicating the state S of the tool 44, 64, or 74 when the predetermined action is being performed are obtained as a learning data set DS, and a learning model LM indicating the correlation between the force F and the state S of the tool is generated using the learning data set DS.
[0089] Next, refer to Fig.10 A robot system 100 according to an embodiment is described. The robot system 100 includes a robot 20, a force sensor 32, and a control device 102. The control device 102 includes a processor 104 and a storage unit 106. The processor 104 and the storage unit 106 are connected to each other via a bus 108 so as to be able to communicate with each other. The processor 104 includes a CPU or a GPU, etc., and performs various operations while communicating with the storage unit 106.
[0090] In the present embodiment, the machine learning device 10 is installed in the control device 102 as hardware or software, and the processor 104 executes various operations to realize the functions of the machine learning device 10. That is, in the present embodiment, the processor 104 functions as the learning data acquisition unit 12 and the learning unit 14. The storage unit 106 includes a ROM and a RAM, etc., and stores the learning model LM learned by the machine learning device 10 in advance.
[0091] Next, refer to Fig.11 The operation of the robot system 100 will be described. When the processor 104 receives a work start instruction from an operator, a host controller, or a work program, it starts Fig.11 In step S11, the processor 104 starts the operation of the robot 20. In step S11, the processor 104 causes the robot 20 to perform the same operation as the "predetermined operation" performed in the learning phase of the learning model LM.
[0092] For example, in Figure 2 to Figure 4 In the example shown, the processor 104 causes the robot 20 to rotate the tool 44 or 64 without contacting the workpiece (or in contact with the workpiece). Figure 5 as well as Figure 6 In the illustrated example, the processor 104 causes the robot 20 to insert the tool 74 held by the end effector 70 into the hole H. When rotating the tool 44 or 64 in contact with the workpiece or inserting the tool 74 into the hole H, the processor 104 may perform the force control described above.
[0093] In addition, the so-called "same action" performed in step S11 is not limited to an action under exactly the same conditions as the "predetermined action" performed in the learning stage of the learning model LM (type of tool, type of workpiece, type of robot 20, position and posture of robot 20, movement path of robot 20, etc.), but may also include an action in which at least one of the conditions is different from the "predetermined action".
[0094] In step S12, the processor 104 starts to obtain data of the force F. Specifically, the processor 104 starts the following operation: obtaining data of the force F detected by the force sensor 32 during the execution of the operation of step S11 from the force sensor 32. Here, the processor 104 can obtain the data of the force F within a predetermined time τ during the execution of the operation of step S11.
[0095] The predetermined time τ may be the time from the start to the end of the action performed by the robot 20 in step S11, or may be any time (e.g., 1 second) in the action. Figure 7 When the learning model LM is learned by further acquiring the position and posture data of the tool 44, 64 or 74 in the learning cycle shown, the processor 104 can acquire the position and posture data of the tool 44, 64 or 74 when the force sensor 32 detects the force F in step S12, and store the data in the storage unit 106 in association with the acquired force F data.
[0096] In addition, when Figure 7 When the data of the speed V of the tool 44, 64 or 74 is further obtained in the learning cycle shown to learn the learning model LM, the speed sensor detects the speed V (or speed command CR) of the tool 44, 64 or 74 during the execution of step S11, and the processor 104 obtains the data of the speed V from the speed sensor in the step S12.
[0097] In addition, when Figure 7 In the learning cycle shown, when the data of the weight WG of the tool 44, 64 or 74 is further acquired to learn the learning model LM, the processor 104 acquires the data of the weight WG of the tool 44, 64 or 74 from the weight sensor. Figure 7 In the learning cycle shown, when the data on the type of the workpiece (or tool) is further acquired and the learning model LM is learned, the processor 104 acquires the data on the type of the workpiece (or tool) from the operator via the input device.
[0098] In step S13, the processor 104 determines the state S of the tool 44, 64, or 74 based on the learning model LM. Specifically, the processor 104 inputs the data of the force F obtained in step S12 to the learning model LM stored in the storage unit 106. Then, the learning model LM estimates and outputs data of the state S (label information such as "normal state" and "abnormal state") that is correlated with the input data of the force F. In this way, the processor 104 can determine the state S of the tool 44, 64, or 74 based on the obtained data of the force F.
[0099] In addition, when the learning model LM is generated using the data of the position and posture of the tool 44, 64 or 74 as the learning data set DS, the processor 104 may input the data of the position and posture of the tool 44, 64 or 74 obtained in step S12 into the learning model LM together with the data of the force F. At this time, the learning model LM estimates and outputs the data of the state S having correlation with the data of the force F corresponding to the position and posture of the tool 44, 64 or 74.
[0100] Furthermore, when the learning model LM is generated using the data of the speed V (or speed command CR), weight WG, or type of the workpiece (or tool) of the tool 44, 64, or 74 as the learning data set DS, the processor 104 may input the data of the speed V (or speed command CR), weight WG, or type into the learning model LM together with the data of the force F. In this case, the learning model LM estimates the data of the state S based on the data of the force F and the data of the speed V (or speed command CR), weight WG, or type, and outputs the data.
[0101] In this way, in addition to the data of force F, more data is used to generate the learning model LM, thereby being able to Fig.11 In the stage of determining whether the tool 44, 64 or 74 is abnormal in the illustrated flow, the abnormality of the tool 44, 64 or 74 is determined based on more conditions (position and posture, speed V, weight WG, type of workpiece or tool).
[0102] When the state S of the tool 44, 64 or 74 is not an abnormal state (or a normal state), the processor 104 determines that it is not, completes the action started in step S11, and ends. Fig.11 On the other hand, when the state S of the tool 44, 64, or 74 is an abnormal state (or not a normal state), the processor 104 determines that it is yes and proceeds to step S15. Thus, in this embodiment, the processor 104 serves as a state determination unit 110 ( Fig.10 ) to perform its function.
[0103] In step S15, the processor 104 checks whether the force sensor 32 is faulty. Here, if the force sensor 32 is assumed to be faulty, it is impossible to provide the processor 104 with appropriate force data F, and thus, regardless of whether the state S of the tool 44, 64 or 74 is a normal state, it may be determined in step S13 that the state S is an abnormal state (i.e., yes).
[0104] In order to identify whether the determination of the state S is correct, in this embodiment, the processor 104 executes step S15. Specifically, the processor 104 stops the action started in step S11 and arranges the tool 44, 64 or 74 (i.e., the end effector 40, 50, 60 or 70) to a predetermined position and posture.
[0105] Then, the processor 104 obtains the force F0 detected by the force sensor 32 at this time from the force sensor 32. Then, the processor 104 determines whether the obtained force F0 is equal to a predetermined reference value F a Here, the force applied from the tool 44, 64 or 74 to the robot 20 when the stationary tool 44, 64 or 74 is arranged in a predetermined position and posture can be estimated by measurement or simulation. Therefore, the force estimated in this way can be used as the reference value F a Stored in advance in the storage unit 106.
[0106] The processor 104 determines that the obtained force F0 is equal to the reference value F a If the force F0 is different from the reference value F, the process proceeds to step S17. a If the force F0 is substantially the same as the reference value F0, the processor 104 proceeds to step S16. a The difference (=|F0-F a |) is greater than a predetermined threshold, it can be determined as yes. Thus, in this embodiment, the processor 104 serves as a fault inspection unit 112 ( Fig.10 ) to perform its function.
[0107] In addition, the operator may prepare in advance a learning model LM3, which indicates the correlation between the position and posture of the tool 44, 64, or 74 and the state (normal value, abnormal value) of the force F detected by the force sensor 32. Furthermore, in step S15, the processor 104 may input the data of the position and posture of the tool 44, 64, or 74 when the tool 44, 64, or 74 is in a predetermined position and posture, and the force F0 detected by the force sensor 32 at this time, into the learning model LM3, thereby detecting whether the force sensor 32 has a fault.
[0108] In addition, for example, when the tool 44 or 64 is used, the force sensor 32 may detect the force F0' when the tool 44 or 64 is rotated without contacting the workpiece. The force applied from the tool 44, 64, or 74 to the robot 20 when the tool 44 or 64 is rotated without contacting the workpiece may also be estimated by measurement or simulation. Therefore, the processor 104 may set the estimated force as the reference value F a ', in step S15, it is determined whether the force F0' detected by the force sensor 32 is equal to the reference value F a 'different.
[0109] In step S16, the processor 104 generates a first warning signal. For example, the processor 104 generates a voice or image signal such as "the machine may have an abnormality" and outputs it through a speaker or display (not shown) provided in the control device 102. Then, the processor 104 ends the Fig.11 The process shown.
[0110] In step S17, the processor 104 generates a second warning signal. For example, the processor 104 generates a voice or image signal such as "The force sensor may be abnormal", and outputs it through a speaker or display provided in the control device 102. Then, the processor 104 ends the Fig.11 The process shown.
[0111] As described above, in the present embodiment, when the robot 20 performs work using the tool 44, 64, or 74, the processor 104 determines the state S of the tool 44, 64, or 74 based on the learning model LM learned by the machine learning device 10. According to this structure, it is possible to automatically and accurately determine whether an abnormality has occurred in the tool 44, 64, or 74 based on the data of the force F obtained during the work.
[0112] In addition, in this embodiment, when the processor 104 determines that the state S of the tool 44, 64 or 74 is abnormal, it checks whether the force sensor 32 is faulty. According to this structure, the operator can be prevented from misidentifying the state S of the tool 44, 64 or 74, and the fault of the force sensor 32 can be determined.
[0113] In addition, the function of the fault detection unit 112 may be deleted from the robot system 100. In this case, Fig.11 In the illustrated flow, steps S15 and S17 are deleted, and when the processor 104 determines YES in step S13, it proceeds to step S16. In addition, the storage unit 106 of the robot system 100 may be a device (external memory, external server, cloud, etc.) separate from the control device 102.
[0114] In addition, in the above-mentioned embodiment, a case is described in which the processor 104 executes a step (step S15) for determining whether the force sensor 32 has a fault when the judgment is yes in step S13, but it is also possible to execute a step for determining whether the force sensor 32 has a fault when the judgment is no in step S13, and proceed to step S17 when it is determined that the force sensor 32 has a fault.
[0115] In addition, the force sensor 32 can be provided at any position of the robot 20. For example, the force sensor 32 can be provided at the base 22 of the robot. In addition, the force sensor 32 is not limited to a 6-axis force sensor, and can be composed of, for example, a plurality of torque sensors respectively provided in a plurality of servo motors, and the plurality of servo motors are built in the robot 20. In this case, the torque sensor detects the torque applied to the corresponding servo motor as the force F, and provides the data of the force F to the learning data acquisition unit 12.
[0116] In addition, in the above-mentioned embodiment, the tools 44, 64 and 74 (end effectors 40, 50, 60 and 70) for grinding, cutting and embedding are described, but the robot 20 may be equipped with a tool (electric welding gun) for performing any other operation (for example, spot welding). In addition, the robot is not limited to a vertical multi-joint robot, but may be any type of robot such as a horizontal multi-joint robot or a parallel linkage robot. In addition, the robot may be a ceiling-mounted type or a wall-mounted type robot.
[0117] In addition, Fig.10 In the illustrated embodiment, the processor 104 of the control device 102 functions as the learning data acquisition unit 12 and the learning unit 14. However, the present invention is not limited thereto, and for example, the learning unit 14 may be installed in a computer different from the control device 102.
[0118] In this case, the different computer is communicatively connected to the control device 102, the processor 104 of the control device 102 sends the learning data set DS acquired as the learning data acquisition unit 12 to the different computer, and the learning unit 14 generates the learning model LM using the learning data set DS acquired from the control device 102. Alternatively, the machine learning device 10 having the learning data acquisition unit 12 and the learning unit 14 may be installed in the different computer. In this case, the different computer functions as the learning data acquisition unit 12 and acquires the data of the force F from the force sensor 32.
[0119] The present disclosure has been described above using the embodiments, but the above embodiments do not limit the invention in terms of the scope of protection.
Claims
1. A machine learning device that learns the state of a tool used by a robot during operation, characterized in that: The machine learning device has: a learning data acquisition unit that acquires, as a learning data set, data on a force applied from the tool to the robot while the robot is causing the tool to perform a predetermined action, label information indicating a normal state or an abnormal state of the tool while performing the predetermined action, and data on a numerical value of a roughness or a rigidity modulus of a workpiece to be worked on; as well as a learning unit that uses the learning data set and generates a learning model that represents the correlation between the force and the label information in consideration of the correlation between the force and the numerical value, The learning model receives the input of the force and the numerical value data, and outputs the label information having the correlation with the force corresponding to the numerical value.
2. The machine learning device according to claim 1, characterized in that The learning data acquisition unit further acquires data of the position and posture of the tool when the predetermined action is being performed as the learning data set, The learning unit generates the learning model by taking into account the relationship between the force and the position and posture with respect to the correlation.
3. The machine learning device according to claim 1 or 2, characterized in that: The tool is an abrasive material that grinds the workpiece by a rotating action. The predetermined motion is a motion of rotating the abrasive without contacting the workpiece or a motion of rotating the abrasive in contact with the workpiece.
4. The machine learning device according to claim 1 or 2, characterized in that: The tool has a known lifespan during which the state changes over time, The learning unit generates the learning model for each of a plurality of small periods included in the usage period.
5. The machine learning device according to claim 1 or 2, characterized in that: said tool comprising said workpiece manipulated by said robot, The predetermined action is an action of inserting the workpiece into a hole.
6. The machine learning device according to claim 1 or 2, characterized in that: The learning data acquisition unit acquires the data of the force while the robot is performing force control for controlling the force.
7. The machine learning device according to claim 1 or 2, characterized in that: The force data includes at least one of a time variation characteristic of the force, an amplitude value of the force, and a frequency spectrum of the force.
8. A robot system, characterized in that: have: robots, which use tools to perform tasks; The machine learning device according to any one of claims 1 to 7; a force sensor that detects the force and provides the force data to the learning data acquisition unit; as well as A state determination unit determines, based on the learning model generated by the learning unit, a state of the tool when the robot is performing the predetermined action during the operation.
9. The robot system according to claim 8, characterized in that: The robot system further includes a fault detection unit configured to detect whether the force sensor has a fault.
10. A machine learning method for learning the state of a tool used by a robot during operation, characterized in that: The processor obtains data on the force applied from the tool to the robot while the robot is causing the tool to perform a predetermined action, label information indicating a normal state or an abnormal state of the tool when performing the predetermined action, and data on a numerical value of a roughness or a rigidity modulus of a workpiece to be worked on, as a learning data set. The processor uses the learning data set and considers the correlation between the force and the value to generate a learning model representing the correlation between the force and the label information. The learning model receives the input of the force and the numerical value data, and outputs the label information having the correlation with the force corresponding to the numerical value.
Citation Information
Patent Citations
Diagnosis device, diagnosis system, diagnosis method and program
JP2018156340A
MACHINE LEARNING DEVICE AND ROBOT SYSTEM and MACHINE LEARNING METHOD THEREOF
CN108115682A
Control device, robot, and robot system
CN108393889A
Learning device, controller, and control system
CN109129462A
Working force estimation system and working force estimation method for robot tip
JP2002355782A