Estimation device, estimation method, and computer program

The estimation device and method address the challenge of estimating multiple control parameters in production systems by classifying physical quantities into learned and unlearned classes, enhancing anomaly detection and recovery in production systems.

JP2025012389APending Publication Date: 2025-01-24SUMITOMO ELECTRIC INDUSTRIES LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023115184
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-13
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

Existing methods struggle to efficiently estimate multiple control parameters for production systems due to the complexity of anomalies arising from cyber attacks or other issues, as they typically rely on scalar attribute information that cannot account for multiple control parameters.

Method used

An estimation device and method that classifies physical quantities into multiple learned and unlearned classes, using a classifier to determine the probability of classification and calculate estimated values of control parameters, including polynomial and logistic regression to handle complex anomalies.

Benefits of technology

Enables efficient estimation of multiple control parameters, including unlearned classes, facilitating rapid anomaly detection and recovery in production systems by accurately identifying abnormalities and their causes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025012389000001_ABST
    Figure 2025012389000001_ABST
Patent Text Reader

Abstract

To provide an estimation device capable of estimating a set of a plurality of control parameters when physical amounts are classified about a plurality of classes including unlearned classes.SOLUTION: An estimation device includes an input unit for inputting a measurement result of a prescribed kind of a physical amount to a classifier for classifying a prescribed kind of a physical amount measured about a control object that operates on the basis of values of a plurality of control parameters into any of a plurality of learned classes, an acquisition unit for acquiring probabilities that the measurement result inputted to the classifier is classified to each of the plurality of learned classes from the classifier, and an estimation unit for calculating estimates of the plurality of control parameters corresponding to the measurement result on the basis of the plurality of probabilities acquired by the acquisition unit.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an estimation device, an estimation method, and a computer program. [Background technology]

[0002] In recent years, due to an increase in security incidents in various production systems and the establishment of security-related legislation and standards, companies both in Japan and overseas have begun to require security measures for their factories.

[0003] In order to quickly recover from a cyberattack on a production system, it is important to detect anomalies and identify the causes of the anomalies. For example, to detect anomalies in the operation of a robot arm, acceleration data is measured by a sensor attached to the robot arm. Next, the acceleration data is input to a classifier to classify it into one of a normal class and multiple abnormal classes classified according to the cause of the anomaly. However, it is difficult to prepare training data for all classes in order to build a machine learning classifier due to various costs such as computational resources, computation time, and labor costs. Similar issues exist for abnormalities caused by malfunctions, misoperation, or deterioration due to aging other than those caused by cyber attacks. Patent Document 1 describes a predictor that predicts an unlearned class based on an input. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] International Publication No. 2020 / 121378 Summary of the Invention [Problem to be solved by the invention]

[0005] In Patent Document 1, it is assumed that a predictor is used for predicting product demand, classifying news articles, etc. In addition, in Patent Document 1, attribute information for an unlearned class is a scalar quantity.

[0006] On the other hand, a production system is controlled based on multiple control parameters such as speed and position. Therefore, in the production system, there exists an abnormality class for abnormalities that occur in combination with multiple control parameters. However, in Patent Document 1, since the attribute information is a scalar quantity, it is not possible to estimate the values ​​of multiple control parameters corresponding to an unlearned class. Therefore, it is not possible to efficiently collect measurement results such as acceleration data corresponding to an unlearned class.

[0007] The present disclosure has been made in consideration of the above circumstances, and aims to provide an estimation device, an estimation method, and a computer program capable of estimating a set of multiple control parameters when physical quantities are classified into multiple classes including an unlearned class. [Means for solving the problem]

[0008] An estimation device according to one aspect of the present disclosure includes an input unit that inputs measurement results of a physical quantity to a classifier that classifies a physical quantity measured for a control object that operates based on values ​​of a plurality of control parameters into one of a plurality of learned classes, an acquisition unit that acquires from the classifier a likelihood that the measurement result input to the classifier will be classified into each of the plurality of learned classes, and an estimation unit that calculates estimated values ​​of the plurality of control parameters corresponding to the measurement result based on the plurality of likelihoods acquired by the acquisition unit.

[0009] The present invention can be realized not only as an estimation device having such characteristic processing units, but also as an estimation method having such characteristic processing steps, or as a computer program for causing a computer to execute such steps, or as a semiconductor integrated circuit that realizes part or all of the estimation device, or as a system including the estimation device. Effect of the Invention

[0010] According to the present disclosure, it is possible to estimate a plurality of sets of control parameters when a physical quantity is classified for a plurality of classes including an unlearned class. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of an overall configuration of a production system according to a first embodiment of the present disclosure. [Diagram 2] FIG. 2 is a diagram showing an example of an acceleration sensor installed on a link. [Diagram 3] FIG. 3 is a diagram illustrating an example of an acceleration sensor installed in an end effector. [Figure 4] FIG. 4 is a diagram showing an example of a measurement result by the acceleration sensor. [Diagram 5] FIG. 5 is a diagram illustrating an example of the operation of the robot arm. [Figure 6] FIG. 6 is a block diagram showing an example of a hardware configuration of a computer. [Figure 7] FIG. 7 is a block diagram showing an example of a functional configuration of the classification model generating device and the control parameter estimating device. [Figure 8] FIG. 8 is a diagram illustrating an example of an operation performed by a classification model. [Figure 9] FIG. 9 is a diagram illustrating an example of a class classification operation performed by the class classification unit. [Figure 10] FIG. 10 is a flowchart illustrating an example of a classification model generation process performed by the classification model generation device. [Figure 11] FIG. 11 is a flowchart showing an example of a control parameter estimation process performed by the control parameter estimation device. [Figure 12] FIG. 12 is a diagram showing the relational expression shown in Equation 1. [Figure 13] FIG. 13 is a diagram showing an example of a relational expression between the probability ratio of belonging to each class and the estimated value of the control parameter. [Figure 14] FIG. 14 is a diagram showing an example of a relational expression between the probability ratio of belonging to each class and the estimated value of the control parameter. [Figure 15] FIG. 15 is a diagram illustrating an example of an overall configuration of a production system according to the second embodiment of the present disclosure. [Figure 16] FIG. 16 is a diagram showing an example of a contact state between the coating part and the coating surface. [Figure 17] FIG. 17 is a diagram illustrating an example of a gyro sensor installed in the painting section. [Figure 18] FIG. 18 is a diagram illustrating an example of an overall configuration of a production system according to the third embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] [Overview of the embodiment of the present disclosure] First, an overview of the embodiments of the present disclosure will be listed and described. (1) An estimation device according to one embodiment of the present disclosure includes an input unit that inputs measurement results of a physical quantity to a classifier that classifies a physical quantity measured for a control object that operates based on values ​​of a plurality of control parameters into one of a plurality of learned classes; an acquisition unit that acquires from the classifier a likelihood that the measurement result input to the classifier will be classified into each of the plurality of learned classes; and an estimation unit that calculates estimated values ​​of the plurality of control parameters corresponding to the measurement result based on the plurality of likelihoods acquired by the acquisition unit.

[0013] According to this configuration, it is possible to output estimates of a plurality of control parameters for input data that is a measurement result of a physical quantity. When the estimates of the plurality of control parameters correspond to a learned class that can be classified by a classifier, it means that input data of a learned class has been collected. When the estimates of the plurality of control parameters correspond to a learned class that cannot be classified by a classifier, it means that input data of an unlearned class has been collected. Thus, it is possible to calculate estimates of a plurality of control parameters for a plurality of classes including an unlearned class. Therefore, it is possible to obtain a set of a plurality of control parameters when a physical quantity is classified into a plurality of classes including an unlearned class.

[0014] (2) In the above (1), the method may further include a classification unit that classifies the measurement results into one of the multiple learned classes and an unknown class that cannot be classified by the classifier, based on the likelihood acquired by the acquisition unit.

[0015] According to this configuration, the measurement results of the physical quantities can be classified into any one of a plurality of learned classes and an unknown class that is an unlearned class.

[0016] (3) In the above (2), each of the plurality of learned classes and the unknown class may be associated with a combination of values ​​of the plurality of control parameters.

[0017] According to this configuration, the measurement results of the physical quantities can be classified for each combination of the values ​​of the multiple control parameters.

[0018] (4) In any of (1) to (3) above, the plurality of learned classes may include learned classes corresponding to each of the control parameters, and the estimation unit may calculate, for each of the control parameters, an estimated value of the control parameter based on relationship information representing the relationship between a likelihood ratio that the measurement result will be classified into the learned class corresponding to the control parameter and the estimated value of the control parameter.

[0019] According to this configuration, it is possible to calculate an estimated value of each control parameter using the relationship information, thereby making it possible to estimate values ​​of a plurality of control parameters using the relationship information corresponding to the control parameters.

[0020] (5) In the above (4), the relationship information may include at least one of a monomial or polynomial, a logistic regression equation, and a discretized function that represents the relationship between the ratio of the likelihood that the measurement result will be classified into a learned class corresponding to the control parameter and an estimated value of the control parameter.

[0021] According to this configuration, it is possible to efficiently estimate the values ​​of a plurality of control parameters.

[0022] (6) In any of (1) to (5) above, the device may further include a judgment unit that judges the possibility of at least one of an abnormality in the controlled object and tampering with values ​​of the plurality of control parameters based on the estimated values ​​of the plurality of control parameters.

[0023] With this configuration, it is possible to take action according to the result of the determination.

[0024] (7) In the above (6), the judgment unit may judge the possibility of at least one of an abnormality in the controlled object and tampering with the values ​​of each of the control parameters based on the degree of deviation of the estimated values ​​of each of the control parameters from their normal values.

[0025] According to this configuration, for example, when a degree of deviation occurs that is different from the degree of deviation during an expected abnormality, it can be determined that there is a high possibility that the value of the control parameter has been tampered with.

[0026] (8) In the above (6), the judgment unit may judge the possibility of at least one of an abnormality in the controlled object and tampering with the values ​​of the plurality of control parameters based on the type of each of the control parameters and the degree of deviation of the estimated value from a normal value.

[0027] According to this configuration, for a control parameter that is difficult to tamper with, such as the weight (load) of an object held by the control target, it can be determined that there is a high possibility of an abnormality in the control target based on the type of the control parameter.

[0028] (9) In any of (1) to (8) above, the controlled object may be a robot arm, and the plurality of control parameters may include at least one of the velocity, acceleration, angular velocity, position, and temperature of the robot arm, the weight of an object grasped by an end effector constituting the robot arm, and the velocity, acceleration, angular velocity, position, temperature, and angle of the end effector.

[0029] With this configuration, it is possible to estimate values ​​of multiple control parameters of the robot arm.

[0030] (10) In any one of (1) to (8) above, the controlled object may be a belt conveyor, and the plurality of control parameters may include at least one of a moving speed of the belt conveyor and a load of the belt conveyor.

[0031] With this configuration, it is possible to estimate values ​​of a plurality of control parameters of the belt conveyor.

[0032] (11) An estimation method according to another embodiment of the present disclosure includes the steps of: an estimation device inputting measurement results of a physical quantity measured on a control object operating based on values ​​of a plurality of control parameters to a classifier that classifies the physical quantity into one of a plurality of learned classes; the estimation device acquiring from the classifier a likelihood that the measurement result input to the classifier will be classified into each of the plurality of learned classes; and the estimation device calculating estimated values ​​of the plurality of control parameters corresponding to the measurement result based on the acquired plurality of probabilities.

[0033] This configuration includes steps of the characteristic processes in the above-mentioned estimation device, and therefore can achieve the same effects and advantages as the above-mentioned estimation device.

[0034] (12) A computer program according to another embodiment of the present disclosure causes a computer to function as an input unit that inputs measurement results of a physical quantity to a classifier that classifies a physical quantity measured of a control object that operates based on values ​​of a plurality of control parameters into one of a plurality of learned classes, an acquisition unit that acquires from the classifier a likelihood that the measurement result input to the classifier will be classified into each of the plurality of learned classes, and an estimation unit that calculates estimated values ​​of the plurality of control parameters corresponding to the measurement result based on the plurality of probabilities acquired by the acquisition unit.

[0035] According to this configuration, the computer can function as the above-mentioned estimation device, and therefore, the same effects and advantages as those of the above-mentioned estimation device can be achieved.

[0036] [Details of the embodiment of the present disclosure] Hereinafter, the embodiments of the present disclosure will be described with reference to the drawings. Note that each of the embodiments described below shows a specific example of the present disclosure. The numerical values, shapes, materials, components, the arrangement and connection forms of the components, steps, and the order of steps shown in the following embodiments are examples and do not limit the present disclosure. In addition, among the components in the following embodiments, components that are not described in the independent claims are components that can be added arbitrarily. In addition, each figure is a schematic diagram and is not necessarily illustrated strictly.

[0037] In addition, the same components are denoted by the same reference numerals, and since their functions and names are also the same, their explanations will be omitted as appropriate.

[0038] <Embodiment 1> [Production system configuration] FIG. 1 is a diagram illustrating an example of an overall configuration of a production system according to a first embodiment of the present disclosure. The production system 1 includes a robot arm 200 and a computer 100 . The robot arm 200 is installed, for example, on a product manufacturing line and operates according to commands from a control device (not shown) to perform tasks such as attaching parts to, painting, or welding semi-finished products.

[0039] The robot arm 200 includes a base 201, joints 202A and 202B, links 203A, 203B, and 203C, an end effector 204, and acceleration sensors 205A and 205B. In the following, when there is no need to distinguish between the joints 202A and 202B, they will be referred to as joint 202. When there is no need to distinguish between the acceleration sensors 205A and 205B, they will be referred to as acceleration sensors 205.

[0040] The base 201 is a component for fixing the robot arm 200 to a floor or the like. A first end of link 203A is connected to base 201, and a second end of link 203A is connected to joint 202A. A first end of link 203B is connected to joint 202A, and a second end of link 203B is connected to joint 202B. A first end of link 203C is connected to joint 202B.

[0041] The end effector 204, also called a robot hand, is connected to the second end side of the link 203C and performs tasks such as gripping, processing, screwing, painting, and welding of parts.

[0042] The base 201 and the joint 202 each have a servo motor therein. The base 201 is fixed to a horizontal surface. The servo motor provided inside the base 201 rotates the link 203A in the horizontal direction. The servo motor provided inside the joint 202 rotates the link 203B in the vertical direction.

[0043] The acceleration sensor 205A is provided on the link 203C. FIG. 2 is a diagram showing an example of an acceleration sensor 205A installed on a link 203C. The coordinate axes of the acceleration sensor 205A are composed of an X-axis parallel to the axis of the link 203C, and a Y-axis and a Z-axis perpendicular to the X-axis. Here, the axis of the link 203C is, for example, the direction of the central axis of the link 203C, which is the direction from the first end to the second end of the link 203C. The Z-axis is disposed in a direction away from the link 203C. The acceleration sensor 205A detects the acceleration in the X-axis, Y-axis, and Z-axis directions of the link 203C, and outputs the detection results.

[0044] The acceleration sensor 205B is provided on the end effector 204. 3 is a diagram showing an example of acceleration sensor 205B installed on end effector 204. The coordinate axes of acceleration sensor 205B are composed of an X-axis parallel to the axis direction of end effector 204, and a Y-axis and a Z-axis perpendicular to the X-axis. Here, the direction of the X-axis of end effector 204 is, for example, a direction from the base part of end effector 204 (connection part of end effector 204 with link 203C) toward the tip of end effector 204. Also, the Z-axis is disposed in a direction away from end effector 204. Acceleration sensor 205B detects acceleration in the X-axis, Y-axis, and Z-axis directions of end effector 204, and outputs the detection results.

[0045] The acceleration sensor 205 is composed of a piezoelectric type acceleration sensor, a servo type acceleration sensor, a strain gauge type acceleration sensor, a semiconductor type acceleration sensor, or the like. Fig. 4 is a diagram showing an example of the measurement results by acceleration sensor 205, where the horizontal axis indicates the measurement time of acceleration and the vertical axis indicates the measured acceleration G(x) in the X-axis direction. In Fig. 4, acceleration G(x) is indicated by a circle, and acceleration sensor 205 outputs time series data of acceleration G(x) in the X-axis direction. Note that acceleration sensor 205 also outputs time series data of acceleration G(y) in the Y-axis direction and time series data of acceleration G(z) in the Z-axis direction.

[0046] The computer 100 is connected to the acceleration sensors 205A and 205B, and acquires the accelerations of the link 203C and the end effector 204 from the acceleration sensors 205A and 205B, respectively. Based on the acquired accelerations, the computer 100 estimates values ​​of control parameters for operating the robot arm 200. The process of estimating the control parameter values ​​of the robot arm 200 by the computer 100 will be described later.

[0047] [Operation of the Robot Arm 200] FIG. 5 is a diagram showing an example of the operation of the robot arm 200.

[0048] The control device of the robot arm 200 controls the rotation angle, rotation speed, etc. of the servo motors provided inside the base 201 and the joint 202 so that the robot arm 200 performs a predetermined operation. The predetermined operation is, for example, an operation in which the end effector 204 moves along a path ((1) outward path) from the rest position 210 ((0) rest position)) to the upper right of the page, turns back ((2) turn back) at a predetermined position, moves along a path ((3) return path) to the rest position 210, and returns to the rest position 210 ((0) rest position)).

[0049] More specifically, the control device controls the rest position of the end effector 204, the motion speed (movement speed) of the end effector 204 on the way forward (hereinafter referred to as "forward speed"), the motion speed (movement speed) of the end effector 204 on the way backward (hereinafter referred to as "backward speed"), and the turning-back position of the end effector 204 (hereinafter referred to as "turning position") as control parameters of the robot arm 200, and controls the rotation angle and rotation speed of the servo motors provided inside the base 201 and the joint 202 so as to perform the above-mentioned predetermined operation according to the control parameter values. Here, the turning-back position is indicated by the distance along the way forward from a preset position. For example, in FIG. 5, the set position is indicated by "0", and as the value of the turning-back position increases, the end effector 204 turns back at a position closer to the set position (for example, position "4" or "8" shown in FIG. 5). The position is indicated by the distance (for example, cm) from the set position "0". For example, position "4" indicates a position 4 cm before the set position "0".

[0050] [Configuration of computer 100] FIG. 6 is a block diagram showing an example of a hardware configuration of the computer 100. As shown in FIG. The computer 100 includes an I / F (interface) unit 110, a storage device 120, a processor 130, and a bus 140.

[0051] The I / F unit 110 connects an external device to the computer 100. In this embodiment, the I / F unit 110 is connected to the acceleration sensor 205 of the robot arm 200 shown in FIG.

[0052] The storage device 120 is composed of a volatile memory element such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory), a non-volatile memory element such as flash memory or EEPROM (Electrically Erasable Programmable Read-Only Memory), or a magnetic storage device such as a hard disk.

[0053] The storage device 120 stores a classification model generation program 121 and a control parameter estimation program 122, which are computer programs executed by the processor 130. The storage device 120 also stores data used or generated when the computer programs are executed. The data includes a classification model 123 for classifying the acceleration data. The classification model 123 will be described in detail later.

[0054] The processor 130 is composed of various processors suitable for control of the computer 100, such as a central processing unit (CPU), a micro processing unit (MPU), and a graphics processing unit (GPU). The processor 130 reads and executes the classification model generating program 121 and the control parameter estimating program 122 stored in the storage device 120. The processor 130 may be a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like configured to execute the processing procedure indicated by the classification model generating program 121 or the control parameter estimating program 122.

[0055] [Functional configuration of the classification model generation device] 7 is a block diagram showing an example of the functional configuration of the classification model generating device and the control parameter estimating device. The classification model generating device and the control parameter estimating device constitute a classification system.

[0056] The classification model generating device 10 is functionally realized by executing a classification model generating program 121 on a processor 130. The control parameter estimating device 20 is functionally realized by executing a control parameter estimating program 122 on the processor 130.

[0057] The classification model generating device 10 includes a sensor data acquiring unit 11, a learning data generating unit 12, and a classification model generating unit 13.

[0058] The sensor data acquisition unit 11 acquires time-series acceleration data measured by the acceleration sensor 205. The sensor data acquisition unit 11 may acquire acceleration data in all three axial directions, or may acquire acceleration data in some axial directions. Hereinafter, the acceleration data refers to time-series acceleration data.

[0059] The learning data generation unit 12 transmits values ​​of a plurality of control parameters of the robot arm 200 to the control device of the robot arm 200. The plurality of control parameters include a forward speed, a backward speed, and a turning position. The control device controls the servo motors of the base 201 and the joint 202 of the robot arm 200 so that the end effector 204 performs an operation according to the received plurality of control parameter values. The values ​​of the plurality of control parameters may be provided to the learning data generation unit 12 by a user. Note that, instead of the learning data generation unit 12 providing the values ​​of the plurality of control parameters to the control device of the robot arm 200, the user may provide the values ​​to the learning data generation unit 12 and the control device of the robot arm 200.

[0060] Furthermore, the learning data generating unit 12 acquires, via the sensor data acquiring unit 11, time-series acceleration data when the robot arm 200 operates in accordance with a plurality of control parameter values.

[0061] The learning data generator 12 receives time-series acceleration data as input data and generates learning data for a classification model 123 composed of the input data and labels corresponding to a plurality of control parameters. The labels include, for example, a normal class label "normal" and abnormal class labels "turn-back position abnormality," "outward speed abnormality," and "returning speed abnormality."

[0062] For example, the learning data generation unit 12 sets the values ​​of the control parameters "forward speed", "return speed", and "turn position" for the label "normal" to 30, 30, and 0, respectively. The learning data generation unit 12 outputs the multiple control parameter values ​​for the label "normal" to the control device, and operates the robot arm 200 in accordance with the multiple control parameter values. The learning data generation unit 12 acquires acceleration data measured by the acceleration sensor 205 during the series of operations from the sensor data acquisition unit 11, and generates learning data consisting of time-series acceleration data (input data for the classification model 123) and the label "normal".

[0063] Similarly, the learning data generating unit 12 generates learning data for the labels "Turn-back position abnormality", "Forward path speed abnormality", and "Return-back position abnormality". For example, the learning data generating unit 12 sets the values ​​of the control parameters "Forward path speed", "Return-back path speed", and "Turn-back position" for the label "Turn-back position abnormality" to 30 [m / min], 30 [m / min], and 8 [m / min], respectively. That is, only the turn-back position is set to the abnormal value "8 [m / min]", and the rest are set to normal values. In addition, the learning data generating unit 12 sets the values ​​of the control parameters "Forward path speed", "Return-back path speed", and "Turn-back position" for the label "Forward path speed abnormality" to 20 [m / min], 30 [m / min], and 0 [m / min], respectively. That is, only the forward path speed is set to the abnormal value "20 [m / min]", and the rest are set to normal values. Furthermore, the learning data generator 12 sets the values ​​of the control parameters "forward speed", "backward speed", and "turn-back position" for the label "abnormal return speed" to 30 [m / min], 20 [m / min], and 0 [m / min], respectively. In other words, only the return speed is set to the abnormal value "20 [m / min]", and the rest are set to normal values.

[0064] Through the above process, learning data for four classes ("normal", "abnormal turnaround position", "abnormal forward speed", and "abnormal return speed") are generated.

[0065] The classification model generation unit 13 generates the classification model 123 based on the learning data generated by the learning data generation unit 12. For example, a random forest that classifies input data into one of four classes is generated as the classification model 123 based on the learning data of the above four classes. Here, the random forest is assumed to be composed of, for example, ten decision trees, and each decision tree is assumed to output one of the four classes as a result. In addition, the random forest determines the most frequent result among the ten decision trees as the classification result of the input data. For example, if the result of six of the ten decision trees is "turning position abnormality" and the result of four of the ten decision trees is "outbound speed abnormality", the random forest classifies the input data into the class of "turning position abnormality". The classification model generation unit 13 stores the generated classification model 123 in the storage device 120 .

[0066] [Functional configuration of the control parameter estimation device] 7, the control parameter estimation device 20 includes a sensor data acquisition unit 11, a sensor data input unit 21, a likelihood acquisition unit 22, an estimated value calculation unit 23, a class classification unit 24, and an abnormality determination unit 25.

[0067] The sensor data acquiring unit 11 has a configuration similar to that of the sensor data acquiring unit 11 of the classification model generating device 10. The sensor data acquiring unit 11 acquires time-series acceleration data measured by the acceleration sensor 205 when the robot arm 200 performs the series of movements shown in FIG.

[0068] The sensor data input unit 21 inputs the time-series acceleration data acquired by the sensor data acquisition unit 11 to the classification model 123 stored in the storage device 120 .

[0069] 8 is a diagram showing an example of an operation performed by the classification model 123. The classification model 123 is a machine learning model that operates by being executed on the processor 130. The classification model 123 calculates the likelihood that the input acceleration data 11D belongs to each of four classes ("normal", "abnormal turn-back position", "abnormal outbound speed", and "abnormal return speed"), and classifies the input acceleration data 11D into the class with the highest likelihood. For example, when the classification model 123 is a random forest consisting of 10 decision trees, the number of decision trees classified into each class is taken as the likelihood. As an example, it is assumed that the result of 6 out of the 10 decision trees is "abnormal turn-back position" and the result of 4 is "abnormal outbound speed". In this case, the likelihood that the input acceleration data 11D belongs to the class "normal" is 0, the likelihood that it belongs to the class "abnormal turn-back position" is 6, the likelihood that it belongs to the class "abnormal outbound speed" is 4, and the likelihood that it belongs to the class "abnormal return speed" is 0.

[0070] Referring again to FIG. 7, the likelihood obtaining unit 22 obtains from the classification model 123 the likelihood that the acceleration data 11D input to the classification model 123 belongs to each class.

[0071] The estimated value calculation unit 23 calculates estimated values ​​of a plurality of control parameters corresponding to the acceleration data 11D acquired by the sensor data acquisition unit 11, based on the likelihood of belonging to each class.

[0072] For example, the estimate calculation unit 23 calculates an estimate E(p) of the control parameter "turn-back position", an estimate E(o) of the control parameter "outbound speed", and an estimate E(r) of the control parameter "return speed" according to the following formulas 1 to 3. Formulas 1 to 3 are an example of relationship information that indicates, for each control parameter, the relationship between the ratio of the likelihood that the acceleration measurement result will be classified into the learned class associated with that control parameter and the estimate of that control parameter.

[0073]

number

[0074] However, in formula 1, if C(n) = C(p) = 0, then E(p) = 0 [m / min] (normal value). In formula 2, if C(n) = C(o) = 0, then E(o) = 30 [m / min] (normal value). In formula 3, if C(n) = C(r) = 0, then E(r) = 30 [m / min] (normal value).

[0075] Here, the likelihood that acceleration data 11D belongs to the class “normal” is C(n), the likelihood that it belongs to the class “abnormal turnaround position” is C(p), the likelihood that it belongs to the class “abnormal outbound speed” is C(o), and the likelihood that it belongs to the class “abnormal return speed” is C(r).

[0076] In Equation 1, the coefficient 0 in the first term on the right hand side indicates the turn-around position classified as class "normal". The coefficient 8 in the second term on the right hand side indicates the assumed value (here, the assumed maximum value) furthest from the normal value 0 of the turn-around position classified as class "wrap-around abnormal". C(p) / (C(n)+C(p)) indicates the probability ratio of classification into the learned class "wrap-around abnormal" associated with the control parameter "wrap-around position".

[0077] In Equation 2, the coefficient 30 in the first term on the right-hand side indicates the outbound speed classified as class "normal". The coefficient 20 in the second term on the right-hand side indicates the expected value furthest from the normal value 30 for the outbound speed (here, the expected minimum value) that is classified as class "abnormal outbound speed". C(o) / (C(n)+C(o)) indicates the probability ratio of classification into the learned class "abnormal outbound speed" associated with the control parameter "outbound speed".

[0078] In Equation 3, the coefficient 30 in the first term on the right-hand side indicates the return speed classified as class "normal". The coefficient 20 in the second term on the right-hand side indicates the expected value furthest from the normal value 30 for the return speed (here, the expected minimum value) that is classified as class "abnormal return speed". C(r) / (C(n)+C(r)) indicates the probability ratio of classification into the learned class "abnormal return speed" associated with the control parameter "return speed".

[0079] The class classification unit 24 classifies the acceleration data 11D into one of the learned classes that the classification model 123 can classify ("normal", "abnormal turnaround position", "abnormal forward speed", "abnormal return speed") and an unknown class that cannot be classified by the classification model 123 classifier, based on the likelihood that the acceleration data 11D belongs to each class.

[0080] FIG. 9 is a diagram showing an example of the class classification operation by the class classification section 24. As shown in FIG. If the classification results determined by all the decision trees constituting the random forest, which is the classification model 123, are the same learned class, the classifying unit 24 classifies the acceleration data 11D into the same learned class based on the likelihood of belonging to each class. For example, if the classification results determined by the 10 decision trees are all "turn-back position abnormality", the classifying unit 24 classifies the acceleration data 11D into the class "turn-back position abnormality". The acceleration data 11D classified into the known class "turn-back position abnormality" indicates time-series acceleration data generated when the robot arm 200 is operated in a state where an abnormality occurs in the value of the control parameter "turn-back position". This makes it possible to generate learning data of a known class.

[0081] On the other hand, when different classification results are determined between the decision trees based on the likelihood of belonging to each class, the classifying unit 24 classifies the acceleration data 11D into an unknown class based on the classification result. For example, when the results of seven of the ten decision trees are "abnormal forward speed" and the results of three are "abnormal return speed", the classifying unit 24 classifies the acceleration data 11D into an unknown class "abnormal forward speed & abnormal return speed" generated by combining the classification results of the decision trees. The acceleration data 11D classified into the unknown class "abnormal forward speed & abnormal return speed" indicates time-series acceleration data generated when the robot arm 200 is operated in a state where an abnormality occurs in both the values ​​of the control parameter "abnormal forward speed" and the control parameter "abnormal return speed". This makes it possible to generate learning data of the unknown class.

[0082] Note that even if not all decision trees show the same classification result, if a predetermined number (e.g., eight) or more decision trees show the same classification result, the input data to the classification model 123 may be classified into a known class corresponding to the classification result. Also, if there are no predetermined number or more decision trees showing the same classification result, the input data to the classification model 123 may be classified into an unknown class as described above. The same applies to the following embodiments.

[0083] 7 again, the abnormality determination unit 25 determines the possibility of occurrence of at least one of an abnormality in the robot arm 200 and tampering with the values ​​of the multiple control parameters, based on the estimated values ​​of the multiple control parameters calculated by the estimated value calculation unit 23. The abnormality in the robot arm 200 includes a failure, an erroneous operation, and deterioration over time of the robot arm 200. That is, the abnormality determination unit 25 determines the possibility of occurrence of at least one of a failure, an erroneous operation, and deterioration over time of the robot arm 200, and tampering with the values ​​of the multiple control parameters, based on the estimated values ​​of the multiple control parameters.

[0084] More specifically, the abnormality determination unit 25 determines the possibility of at least one of the occurrence of a failure, an erroneous operation, aging deterioration, and tampering of the control parameter value of the robot arm 200 based on the degree of deviation of the estimated value of the control parameter from the normal value. For example, when the absolute value of the difference between the estimated value E(o) of the control parameter "forward speed" and the normal value "30 [m / min]" is 8 or more, the abnormality determination unit 25 determines that the value of the control parameter "forward speed" may have been tampered with. Furthermore, when the absolute value of the difference is greater than 5 and less than 8, the abnormality determination unit 25 determines that the robot arm 200 may have a failure related to the forward speed (for example, an abnormality of the servo motor of the base 201). Furthermore, when the absolute value of the difference is greater than 0 and less than 5, the abnormality determination unit 25 determines that the robot arm 200 may have aging deterioration related to the forward speed. Furthermore, for example, when the estimated value of the control parameter "turn-back position" differs from the normal value, the abnormality determination unit 25 determines that an erroneous operation (a mistake in teaching the transport position) has occurred.

[0085] The abnormality determination unit 25 outputs the determination result to an external device or the control device of the robot arm 200. For example, when the abnormality determination unit 25 determines that the value of the control parameter "forward speed" may have been tampered with, it notifies the external device of the possibility of a cyber attack by transmitting the determination result and the estimated value E(o) of the control parameter "forward speed". In addition, when the abnormality determination unit 25 determines that the robot arm 200 may have a malfunction related to the forward speed, it transmits the determination result and the estimated value E(o) of the control parameter "forward speed" to the control device of the robot arm 200. As a result, the control device can automatically recover from the malfunction by adjusting the number of revolutions of the servo motor of the base 201, etc. In addition, when the abnormality determination unit 25 determines that the estimated value of the control parameter "turning position" is different from the normal value and there is an erroneous operation (a mistake when teaching the transport position), it notifies the external device of the possibility of an erroneous operation by transmitting the determination result and the value of the control parameter "turning position" to the external device.

[0086] [Classification model generation process] FIG. 10 is a flowchart showing an example of the classification model generation process performed by the classification model generation device 10. The classification model generating device 10 makes the robot arm 200 perform a normal operation or an abnormal operation in which an abnormality is generated in each control parameter, and generates learning data from the acceleration data 11D during each operation (step S11). Note that the abnormal operation of the robot arm 200 is a provisional operation for generating the learning data.

[0087] The classification model generating device 10 generates a classification model 123 that classifies the time-series acceleration data 11D into one of a plurality of classes based on the generated learning data (step S12).

[0088] [Control parameter estimation process] FIG. 11 is a flowchart showing an example of a control parameter estimation process performed by the control parameter estimation device 20.

[0089] The control parameter estimation device 20 acquires time-series acceleration data 11D measured by the acceleration sensor 205 when the robot arm 200 performs a series of operations shown in Fig. 5 (step S21). The operations of the robot arm 200 here are operations during operation of the production system 1.

[0090] The control parameter estimation device 20 inputs the acquired acceleration data 11D to the classification model 123 (step S22).

[0091] The control parameter estimation device 20 acquires the likelihood that the input acceleration data 11D belongs to each class from the classification model 123 (step S23).

[0092] The control parameter estimation device 20 calculates estimates of a plurality of control parameters corresponding to the acceleration data 11D based on the acquired likelihood of belonging to each class (step S24).

[0093] The control parameter estimation device 20 classifies the acceleration data 11D acquired in step S21 into one of a learned class that the classification model 123 can classify and an unknown class that the classification model 123 cannot classify, based on the likelihood that the acceleration data 11D belongs to each class (step S25).

[0094] The control parameter estimation device 20 determines the possibility of at least one of the occurrence of an abnormality in the robot arm 200 and tampering with the values ​​of the control parameters based on the estimated values ​​of the control parameters calculated in step S24 (step S26).

[0095] If it is determined that an abnormality or tampering has occurred (YES in step S26), the control parameter estimation device 20 outputs the determination result and the estimated values ​​of the control parameters to an external device or a control device of the robot arm 200 (step S27).

[0096] This allows the control device to automatically restore the robot arm 200.

[0097] As described above, the control parameter estimation device 20 can output estimates of a plurality of control parameters for input data that is a measurement result of a physical quantity. When the estimates of the plurality of control parameters correspond to a learned class that can be classified by a classifier, input data of the learned class is collected. When the estimates of the plurality of control parameters correspond to a learned class that cannot be classified by a classifier, input data of an unlearned class is collected. Thus, estimates of a plurality of control parameters can be calculated for a plurality of classes including an unlearned class. Therefore, a set of a plurality of control parameters when the physical quantity is classified into a plurality of classes including an unlearned class can be obtained.

[0098] <Modification 1 of the First Embodiment> In the first embodiment, the acceleration sensor 205 is attached to the robot arm 200, and estimates of a plurality of control parameters are calculated from acceleration data measured by the acceleration sensor 205, but the plurality of control parameters may be calculated from data other than acceleration data. For example, a current sensor that measures the drive current of a servo motor may be provided in the robot arm 200, and estimates of a plurality of control parameters may be calculated from the current value measured by the current sensor in the same manner as in the first embodiment.

[0099] <Modification 2 of the First Embodiment> The estimate calculation unit 23 may calculate the estimate E(p) of the control parameter “turnaround position”, the estimate E(o) of the control parameter “outbound speed”, and the estimate E(r) of the control parameter “return speed” according to the following equation 1' instead of equations 1 to 3.

number

[0100] <Modification 3 of the First Embodiment> In the first embodiment, as shown in Equations 1 to 3, the relational expressions that are relational information between the ratio of the likelihood of belonging to each class and the estimated value of the control parameter are expressed as linear functions of polynomials or monomials.

[0101] 12 is a diagram showing the relational expression shown in Equation 1. The vertical axis indicates the proportion of decision trees determined to have a folding abnormality (the ratio of the likelihood of belonging to the class "folding abnormality"), and the horizontal axis indicates the estimated value of the control parameter "folding position." For example, when C(n)=C(p)=5 in Equation 1, the proportion of decision trees determined to have a folding position abnormality, C(p) / (C(n)+C(p)), is 0.5. Therefore, the estimated value of the control parameter "folding position" in this case is calculated as 4. In this modification, the above relational expression other than a linear function will be described.

[0102] Fig. 13 is a diagram showing an example of a relational expression between the probability ratio of belonging to each class and the estimated value of the control parameter. The ratio of decision trees determined to have a folding abnormality (the probability ratio of belonging to the class "folding abnormality") is shown, and the horizontal axis indicates the estimated value of the control parameter "folding position". For example, the relational expression shown in Fig. 13 is a square root function. According to this relational expression, for example, when the ratio C(p) / (C(n)+C(p)) of decision trees determined to have a folding position abnormality is 0.5, the estimated value of the control parameter "folding position" is calculated to be 1.

[0103] FIG. 14 is a diagram showing an example of a relational expression between the ratio of the likelihood of belonging to each class and the estimated value of the control parameter. FIG. 14 shows the ratio of decision trees determined to be abnormal in the outward speed (the ratio of the likelihood of belonging to the class "abnormal outward speed"), the vertical axis shows the ratio of decision trees determined to be abnormal in the outward speed (the ratio of the likelihood of belonging to the class "abnormal outward speed"), and the horizontal axis shows the estimated value of the control parameter "outward speed". For example, the regression equation shown in FIG. 14 is a logistics regression equation. According to this relational expression, for example, when the ratio C(o) / (C(n)+C(p)) of decision trees determined to be abnormal in the outward speed is 0.25, the estimated value of the control parameter "outward speed" is calculated as 27. Also, when the ratio C(o) / (C(n)+C(p)) of decision trees determined to be abnormal in the outward speed is 0.5, the estimated value of the control parameter "outward speed" is calculated as 25.

[0104] The above relational expressions are not limited to these. For example, the relation between the probability ratio of belonging to each class and the estimated value of the control parameter may be a discretized function that expresses the relationship between two or more values, or may be another expression. The above relation may also be shown in a table format. This makes it possible to efficiently estimate the values ​​of multiple control parameters.

[0105] <Embodiment 2> The operation performed by the robot arm 200 may be, for example, painting with paint etc. The following description will focus on the differences from the first embodiment. [Production system configuration] FIG. 15 is a diagram illustrating an example of an overall configuration of a production system according to the second embodiment of the present disclosure. The production system 1A includes a robot arm 200A and a computer 100.

[0106] The robot arm 200A has the same configuration as the robot arm 200 shown in Fig. 1. However, it has a painting unit 206 instead of the end effector 204. The painting unit 206 is an example of an end effector. Also, it has a gyro sensor 207 instead of the acceleration sensor 205A.

[0107] The painting unit 206 comes into contact with the surface 220 to be painted, and paints the surface 220 with paint or the like. Here, the X-axis and Y-axis are taken on a horizontal plane, and the surface 220 to be painted is a plane parallel to the horizontal plane. The axis perpendicular to the X-axis and Y-axis is taken as the Z-axis.

[0108] [Operation of robot arm 200A] The control device of the robot arm 200A controls the rotation angle, rotation speed, etc. of the servo motors provided inside the base 201 and the joint 202 so that the robot arm 200A performs a predetermined operation.

[0109] The predetermined operations are a series of operations shown by operations (1) to (6). In operation (1), the painting unit 206 is moved z [cm] in the negative direction of the Z axis from the home position of the painting unit 206, and the painting unit 206 is brought into contact with the surface 220 to be painted. In operation (2), the painting unit 206 is moved y [cm] in the positive direction of the Y axis. In operation (3), the painting unit 206 is moved x [cm] in the positive direction of the X axis. In operation (4), the painting unit 206 is moved y [cm] in the negative direction of the Y axis. In operation (5), the painting unit 206 is moved x [cm] in the negative direction of the X axis. In operation (6), the painting unit 206 is moved z [cm] in the positive direction of the Z axis, and returned to the home position of the painting unit 206. By performing the predetermined operations, the robot arm 200A can paint the vicinity of the outer edge of the surface 220 to be painted with paint or the like.

[0110] 16 is a diagram showing an example of a contact state between the coating part 206 and the coating surface 220. The angle [deg] between the coating part 206 and the coating surface 220 is defined as a contact angle θ. Fig. 17 is a diagram showing an example of the gyro sensor 207 installed in the painting unit 206. The coordinate axes of the gyro sensor 207 are composed of an X-axis on the painting unit 206 parallel to one side of the painting unit 206, a Y-axis on the painting unit 206 perpendicular to the X-axis, and a Z-axis perpendicular to the X-axis and Y-axis. The gyro sensor 207 measures the angular velocity around each axis shown in Fig. 17 when performing the above series of operations.

[0111] The computer 100 acquires the time-series angular velocities from the gyro sensor 207, and estimates the value of the control parameter for operating the robot arm 200A based on the time-series angular velocities. The time-series angular velocities are the time-series angular velocities of all three axes. In the following, when simply referring to angular velocity, it also means the time-series angular velocities.

[0112] Here, the control parameters include the contact angle θ between the coating portion 206 and the coating surface 220, the movement amount x of the coating surface 220 in operations (3) and (5), the movement amount y of the coating surface 220 in operations (2) and (4), and the movement amount z of the coating surface 220 in operations (1) and (6).

[0113] [About the classification model generation device] With reference to FIG. 7, the sensor data acquisition unit 11 of the classification model generating device 10 acquires time-series angular velocity data measured by the gyro sensor 207.

[0114] The learning data generating unit 12 transmits a plurality of control parameter values ​​of the robot arm 200A to the control device of the robot arm 200A. The control device controls the servo motors of the base 201 and the joint 202 of the robot arm 200A so that the painting unit 206 performs an operation according to the plurality of control parameter values ​​received.

[0115] Furthermore, the learning data generating unit 12 acquires, via the sensor data acquiring unit 11, time-series angular velocity data when the robot arm 200A operates in accordance with a plurality of control parameter values.

[0116] The learning data generator 12 receives time-series angular velocity data as input data, and generates learning data for a classification model 123 that is configured from the input data and labels corresponding to a plurality of control parameters. The labels include, for example, "normal" which is a label of a normal class, and "angle abnormality", "x abnormality", "y abnormality", and "z abnormality" which are labels of abnormal classes.

[0117] For example, the learning data generation unit 12 sets the values ​​of the control parameters "contact angle θ", "movement amount x", "movement amount y", and "movement amount z" for the label "normal" to 0°, 50, 50, and 20, respectively. The learning data generation unit 12 outputs the multiple control parameter values ​​for the label "normal" to the control device, and operates the robot arm 200A according to the multiple control parameter values. The learning data generation unit 12 acquires angular velocity data measured by the gyro sensor 207 during the series of operations from the sensor data acquisition unit 11, and generates learning data consisting of time-series angular velocity data (input data for the classification model 123) and the label "normal".

[0118] Similarly, the learning data generation unit 12 generates learning data for the labels "angle abnormal", "x abnormal", "y abnormal", and "z abnormal". For example, the learning data generation unit 12 sets the values ​​of the control parameters "contact angle θ", "movement amount x", "movement amount y", and "movement amount z" for the label "angle abnormal" to 10°, 50 cm, 50 cm, and 20 cm, respectively. In other words, only the value of the control parameter "contact angle θ" is set to the abnormal value "10°", and the rest are set to normal values.

[0119] Furthermore, the learning data generating unit 12 sets the values ​​of the control parameters "contact angle θ", "movement amount x", "movement amount y", and "movement amount z" for the label "x abnormal" to 0°, 30 cm, 50 cm, and 20 cm, respectively. In other words, only the value of the control parameter "movement amount x" is set to the abnormal value "30 cm", and the rest are set to normal values.

[0120] Furthermore, the learning data generating unit 12 sets the values ​​of the control parameters "contact angle θ", "movement amount x", "movement amount y" and "movement amount z" for the label "y abnormal" to 0°, 50 cm, 30 cm and 20 cm, respectively. In other words, only the value of the control parameter "movement amount y" is set to the abnormal value "30 cm", and the rest are set to normal values.

[0121] Furthermore, the learning data generating unit 12 sets the values ​​of the control parameters "contact angle θ", "movement amount x", "movement amount y", and "movement amount z" for the label "z abnormality" to 0°, 50 cm, 50 cm, and 10 cm, respectively. In other words, only the value of the control parameter "movement amount z" is set to the abnormal value "10 cm", and the rest are set to normal values.

[0122] Through the above process, learning data for five classes ("normal," "angle abnormal," "x abnormal," "y abnormal," and "z abnormal") is generated.

[0123] The classification model generation unit 13 generates the classification model 123 based on the training data generated by the training data generation unit 12. For example, a random forest that classifies input data into one of five classes is generated as the classification model 123 based on the training data of the above five classes. Here, the random forest is assumed to be composed of, for example, ten decision trees, and each decision tree is assumed to output one of the five classes as a result. In addition, the random forest determines the most common result among the results of the ten decision trees as the classification result of the input data. For example, if the result of six of the ten decision trees is "angle abnormality" and the result of four is "x abnormality", the random forest classifies the input data into the class of "angle abnormality". The classification model generation unit 13 stores the generated classification model 123 in the storage device 120 .

[0124] [Regarding the control parameter estimation device] 7, the sensor data acquiring unit 11 has a configuration similar to that of the sensor data acquiring unit 11 of the classification model generating device 10. The sensor data acquiring unit 11 acquires time-series angular velocity data measured by the gyro sensor 207 when the robot arm 200A performs a series of operations shown in FIG.

[0125] The sensor data input unit 21 inputs the time-series angular velocity data acquired by the sensor data acquisition unit 11 to the classification model 123 stored in the storage device 120 .

[0126] The classification model 123 calculates the likelihood that the input angular velocity data belongs to each of five classes ("normal", "angle abnormal", "x abnormal", "y abnormal", and "z abnormal"), and classifies the input angular velocity data into the class with the highest likelihood. For example, when the classification model 123 is a random forest consisting of 10 decision trees, the number of decision trees classified into each class is the likelihood. As an example, assume that the result of 6 out of the 10 decision trees is "angle abnormal" and the result of 4 is "x abnormal". In this case, the likelihood that the input angular velocity data belongs to the class "angle abnormal" is 6, the likelihood that it belongs to the class "x abnormal" is 4, and the likelihood that it belongs to the class "y abnormal", class "z abnormal", or class "normal" is 0.

[0127] The likelihood obtaining unit 22 obtains from the classification model 123 the likelihood that the angular velocity data input to the classification model 123 belongs to each class.

[0128] The estimated value calculation unit 23 calculates estimated values ​​of a plurality of control parameters corresponding to the angular velocity data acquired by the sensor data acquisition unit 11, based on the likelihood of belonging to each class.

[0129] For example, the estimate calculation unit 23 calculates an estimate E(θ) of the control parameter “contact angle θ”, an estimate E(x) of the control parameter “movement amount x”, an estimate E(y) of the control parameter “movement amount y”, and an estimate E(z) of the control parameter “movement amount z”, according to the following equations 4 to 7.

[0130]

number

[0131] However, in formula 4, if C(n) = C(θ) = 0, then E(θ) = 0° (normal value). In formula 5, if C(n) = C(x) = 0, then E(x) = 50 cm (normal value). In formula 6, if C(n) = C(y) = 0, then E(y) = 50 cm (normal value). In formula 7, if C(n) = C(z) = 0, then E(z) = 20 cm (normal value).

[0132] Here, the likelihood that the angular velocity data belongs to the class “normal” is C(n), the likelihood that the angular velocity data belongs to the class “angle abnormal” is C(θ), the likelihood that the angular velocity data belongs to the class “x abnormal” is C(x), the likelihood that the angular velocity data belongs to the class “y abnormal” is C(y), and the likelihood that the angular velocity data belongs to the class “z abnormal” is C(z).

[0133] In Equation 4, the coefficient 0 in the first term on the right hand side indicates the contact angle θ classified into the class "normal". The coefficient 10 in the second term on the right hand side indicates the expected value (here, the expected maximum value) furthest from the normal value of 0° for the contact angle θ, which is classified into the class "abnormal angle". C(θ) / (C(n)+C(θ)) indicates the ratio of the likelihood of being classified into the learned class "abnormal angle" associated with the control parameter "contact angle θ".

[0134] In Equation 5, the coefficient 50 in the first term on the right hand side indicates the amount of movement x that will be classified into the class "normal". The coefficient 30 in the second term on the right hand side indicates the expected value (here, the expected minimum value) that is farthest from the normal value of 50 cm for the amount of movement x that will be classified into the class "x abnormal". C(x) / (C(n)+C(x)) indicates the ratio of the likelihood of being classified into the learned class "x abnormal" that is associated with the control parameter "amount of movement x".

[0135] In Equation 6, the coefficient 50 in the first term on the right side indicates the amount of movement y that will be classified into the class "normal". The coefficient 30 in the second term on the right side indicates the expected value (here, the expected minimum value) that is farthest from the normal value of 50 cm for the amount of movement y that will be classified into the class "y abnormal". C(y) / (C(n)+C(y)) indicates the ratio of the likelihood of being classified into the learned class "y abnormal" that is associated with the control parameter "amount of movement y".

[0136] In Equation 7, the coefficient 20 in the first term on the right-hand side indicates the amount of movement z that will be classified into the class "normal". The coefficient 10 in the second term on the right-hand side indicates the expected value (here, the minimum expected value) that is farthest from the normal value of 20 cm for amount of movement z that will be classified into the class "z abnormal". C(z) / (C(n)+C(z)) indicates the ratio of the likelihood of being classified into the learned class "z abnormal" that is associated with the control parameter "amount of movement z".

[0137] The class classification unit 24 classifies the angular velocity data into one of the learned classes that the classification model 123 can classify ("normal", "angle abnormal", "x abnormal", "y abnormal", "z abnormal") and an unknown class that cannot be classified by the classification model 123 classifier, based on the likelihood that the angular velocity data belongs to each class.

[0138] That is, based on the likelihood of belonging to each class, when the classification results determined by all the decision trees constituting the random forest, which is the classification model 123, are the same learned class, the classifying unit 24 classifies the angular velocity data into the same learned class. For example, when the classification results determined by the 10 decision trees are all "x abnormal", the classifying unit 24 classifies the angular velocity data into the class "x abnormal". The angular velocity data classified into the known class "x abnormal" indicates time-series angular velocity data generated when the robot arm 200A is operated in a state in which an abnormality occurs in the value of the control parameter "travel amount x". This makes it possible to generate learning data of a known class.

[0139] On the other hand, when different classification results are determined between the decision trees based on the likelihood of belonging to each class, the classifying unit 24 classifies the angular velocity data into an unknown class based on the classification result. For example, when the results of seven of the ten decision trees are "x abnormality" and the results of three are "angle abnormality", the classifying unit 24 classifies the angular velocity data into an unknown class "x abnormality & angle abnormality" generated by combining the classification results of the decision trees. The angular velocity data classified into the unknown class "x abnormality & angle abnormality" indicates time-series angular velocity data generated when the robot arm 200A is operated in a state in which an abnormality occurs in both the values ​​of the control parameter "movement amount x" and the control parameter "contact angle θ". This makes it possible to predict the control parameters for the learning data of the unknown class.

[0140] The abnormality determination unit 25 determines the possibility of at least one of a failure, an erroneous operation, and aging deterioration of the robot arm 200A, and tampering with the values ​​of the multiple control parameters, based on the estimated values ​​of the multiple control parameters calculated by the estimated value calculation unit 23. The failure, the erroneous operation, and the aging deterioration of the robot arm 200A are examples of abnormalities of the robot arm 200A.

[0141] That is, the abnormality determination unit 25 determines the possibility of at least one of the occurrence of a failure, an erroneous operation, aging deterioration, and tampering of the control parameter value of the robot arm 200A based on the degree of deviation of the estimated value of the control parameter from the normal value. For example, when the absolute value of the difference between the estimated value E(x) of the control parameter "movement amount x" and the normal value "50" is 20 or more, the abnormality determination unit 25 determines that the value of the control parameter "movement amount x" may have been tampered with. Also, when the absolute value of the difference is greater than 0 and less than 20, the abnormality determination unit 25 determines that the robot arm 200A may have a failure related to the movement amount x (for example, an abnormality of the servo motor of the base 201). Also, when the control parameter "contact angle θ" is different from the normal value, for example, the abnormality determination unit 25 determines that an erroneous operation (a mistake when placing the coating part on the robot arm) has occurred.

[0142] The abnormality determination unit 25 outputs the determination result to an external device or the control device of the robot arm 200A. For example, when the abnormality determination unit 25 determines that the value of the control parameter "movement amount x" may have been tampered with, it notifies the external device of the possibility of a cyber attack by transmitting the determination result and the estimated value E(x) of the control parameter "movement amount x". In addition, when the abnormality determination unit 25 determines that the robot arm 200A may have a malfunction related to the movement amount x, it transmits the determination result and the estimated value E(x) of the control parameter "movement amount x" to the control device of the robot arm 200A. As a result, the control device can automatically recover from the malfunction by adjusting the number of rotations of the servo motor of the base 201, etc., to bring the movement amount x closer to a normal value. In addition, when the abnormality determination unit 25 determines that the estimated value of the control parameter "contact angle θ" is deviated from the normal value and there is a possibility of an erroneous operation, it notifies the external device of the possibility of an erroneous operation by transmitting the determination result and the estimated value of the control parameter "contact angle θ" to the external device.

[0143] <Modification of the second embodiment> The estimate calculation unit 23 may calculate the estimate E(θ) of the control parameter "contact angle θ", the estimate E(x) of the control parameter "movement amount x", the estimate E(y) of the control parameter "movement amount y", and the estimate E(z) of the control parameter "movement amount z" according to the following equation 4' instead of equations 4 to 7.

number

[0144] <Embodiment 3> The present disclosure can also be applied to production systems that include production devices other than robot arms. FIG. 18 is a diagram illustrating an example of an overall configuration of a production system according to the third embodiment of the present disclosure. The production system 1B includes a belt conveyor 300 and a computer 100.

[0145] The belt conveyor 300 is installed, for example, at a logistics base, and operates according to commands from a control device (not shown) to transport items such as luggage.

[0146] The belt conveyor 300 includes a rotatable driving pulley 301A, driven pulleys 301B, 301C, and 301D, and an endless belt 303 wound around the driving pulley 301A and driven pulleys 301B, 301C, and 301D. The belt conveyor 300 further includes a motor 302 connected to the driving pulley 301A, and a current sensor 304 that measures the value of the current for driving the motor 302. The control device rotates the motor 302 to rotate the driving pulley 301A. As the driving pulley 301A rotates, the belt 303 moves in the direction of the arrow in the figure. This allows the transported object 310 placed on the belt 303 to be transported to the right.

[0147] The computer 100 is connected to a current sensor 304, and acquires a time-series drive current value of the motor 302 from the current sensor 304. The computer 100 estimates a value of a control parameter for operating the belt conveyor 300 based on the acquired time-series drive current value. The control parameters include, for example, a "moving speed" and a "load". The control parameter "moving speed" indicates the moving speed of the belt 303, and the "load" indicates the load of the transported object 310. Note that, hereinafter, when the term "drive current value" is mentioned, it also means a time-series drive current value.

[0148] The computer 100 stores a classification model 123 for classifying drive current values. The classification model 123 classifies the drive current value into one of a class "normal" which is a normal class, and a class "abnormal movement speed" and a class "abnormal load" which are abnormal classes. The class "normal" is a class into which the drive current value is classified when the belt conveyor 300 is moved when the control parameter "movement speed" and the control parameter "load" are both within the normal range. The class "abnormal movement speed" is a class into which the drive current value is classified when the belt conveyor 300 is moved when the movement speed of the belt 303 is outside the normal range and the load of the transported object 310 is within the normal range. The class "abnormal load" is a class into which the drive current value is classified when the belt conveyor 300 is moved when the movement speed of the belt 303 is within the normal range and the load of the transported object 310 is outside the normal range.

[0149] The learning data generation unit 12 of the classification model generation device 10 can generate the classification model 123 in the same manner as in the first embodiment. That is, the classification model generation device 10 creates learning data for three classes ("normal", "abnormal moving speed", and "abnormal load") by changing the control parameters "moving speed" and "load" and acquiring the drive current value.

[0150] For example, the values ​​of the control parameters "travel speed" and "load" for the label "normal" are set to 10 [m / min] and 1 kg, respectively. The learning data generating unit 12 outputs a plurality of control parameter values ​​for the label "normal" to the control device, places a 1 kg load 310 on the belt 303, and operates the belt conveyor 300 in accordance with the plurality of control parameter values. The learning data generating unit 12 acquires from the current sensor 304 the drive current values ​​measured by the current sensor 304 during the series of operations, and generates learning data consisting of a time series of drive current values ​​(input data for the classification model 123) and the label "normal".

[0151] Similarly, the learning data generating unit 12 generates learning data for the labels "abnormal moving speed" and "abnormal load". For example, the learning data generating unit 12 sets the values ​​of the control parameters "moving speed" and "load" for the label "abnormal moving speed" to 20 [m / min] and 1 kg, respectively. That is, the control parameter "moving speed" is set to an abnormal value of "20 [m / min]" and the control parameter "load" is set to a normal value, and then the belt conveyor 300 is operated to generate learning data consisting of a time-series current drive value and the label "abnormal moving speed".

[0152] Furthermore, the learning data generating unit 12 sets the values ​​of the control parameters "moving speed" and "load" for the label "abnormal load" to 10 [m / min] and 2 kg, respectively. That is, the control parameter "load" is set to the abnormal value "2 kg" and the control parameter "moving speed" is set to the normal value, and then the belt conveyor 300 is operated to generate learning data consisting of a time-series current drive value and the label "abnormal load".

[0153] The classification model generation unit 13 generates a random forest that classifies drive current values ​​into one of three classes as the classification model 123 based on the created learning data. Here, the random forest is assumed to be composed of, for example, ten decision trees, and each decision tree is assumed to output one of the three classes as a result. Furthermore, the random forest determines the most frequent result among the ten decision trees as the classification result for the input data. For example, if the result of six of the ten decision trees is "abnormal movement speed" and the result of four is "abnormal load", the random forest classifies the input data into the class of "abnormal movement speed".

[0154] As in embodiment 1, the certainty acquisition unit 22 of the control parameter estimation device 20 inputs the drive current value acquired from the current sensor 304 into the classification model 123 to acquire the certainty that the drive current value belongs to a known class ("normal", "abnormal moving speed", "abnormal load").

[0155] The estimated value calculation unit 23 calculates estimated values ​​of a plurality of control parameters corresponding to the drive current value acquired by the sensor data acquisition unit 11, based on the likelihood of belonging to each class.

[0156] For example, the estimated value calculation unit 23 calculates the estimated value E(v) of the control parameter "movement speed" and the estimated value E(l) of the control parameter "load" according to the following Equations 8 and 9, respectively.

[0157]

number

[0158] However, in formula 8, if C(n) = C(v) = 0, then E(v) = 10 [m / min] (normal value). In formula 9, if C(n) = C(l) = 0, then E(l) = 1 kg (normal value).

[0159] Here, the likelihood that the drive current value belongs to the class "normal" is C(n), the likelihood that it belongs to the class "abnormal movement speed" is C(v), and the likelihood that it belongs to the class "abnormal load" is C(l).

[0160] In Equation 8, the coefficient 10 in the first term on the right hand side indicates the moving speed classified as the class "normal". The coefficient 20 in the second term on the right hand side indicates the assumed value furthest from the normal value of 10 for the moving speed (here, the assumed maximum value) that is classified as the class "abnormal moving speed". C(v) / (C(n)+C(v)) indicates the ratio of the likelihood of being classified into the learned class "abnormal moving speed" associated with the control parameter "moving speed".

[0161] In Equation 9, the coefficient 1 in the first term on the right-hand side indicates the load classified into the class "normal". The coefficient 2 in the second term on the right-hand side indicates the expected value furthest from the normal load value 1 (here, the expected maximum value) that is classified into the class "abnormal load". C(l) / (C(n)+C(l)) indicates the probability ratio of classification into the learned class "abnormal load" associated with the control parameter "load".

[0162] The class classification unit 24 classifies the drive current value into one of the learned classes that the classification model 123 can classify ("normal", "abnormal moving speed", "abnormal load") and an unknown class that cannot be classified by the classification model 123 classifier, based on the likelihood that the drive current value belongs to each class.

[0163] That is, based on the likelihood of belonging to each class, when the classification results determined by all the decision trees constituting the random forest, which is the classification model 123, are the same learned class, the classifying unit 24 classifies the drive current value into the same learned class. For example, when the classification results determined by the 10 decision trees are all "load abnormality", the classifying unit 24 classifies the drive current value into the class "load abnormality". The drive current value classified into the known class "load abnormality" indicates a time-series drive current value generated when the belt conveyor 300 is operated in a state where an abnormality occurs in the value of the control parameter "load". This makes it possible to generate learning data of known classes.

[0164] On the other hand, when different classification results are determined between the decision trees based on the likelihood of belonging to each class, the classifying unit 24 classifies the drive current value into an unknown class based on the classification result. For example, when the results of seven of the ten decision trees are "abnormal movement speed" and the results of three are "abnormal load", the classifying unit 24 classifies the drive current value into an unknown class "abnormal movement speed & abnormal load" generated by combining the classification results of the decision trees. The drive current value classified into the unknown class "abnormal movement speed & abnormal load" indicates a time-series drive current value generated when the belt conveyor 300 is operated in a state where an abnormality occurs in both the control parameter "movement speed" and the control parameter "load". This makes it possible to generate learning data of the unknown class.

[0165] The abnormality determination unit 25 determines the possibility of at least one of a malfunction, an erroneous operation, and aging deterioration of the belt conveyor 300, and tampering with a plurality of control parameters, based on the estimated values ​​of the control parameters. A malfunction, an erroneous operation, and aging deterioration of the belt conveyor 300 are examples of an abnormality of the belt conveyor 300. In other words, the abnormality determination unit 25 makes the above determination based on the type of the control parameter and the degree of deviation of the estimated value of the control parameter from the normal value.

[0166] For example, when the absolute value of the difference between the estimated value and the normal value of the control parameter "movement speed" is equal to or greater than a predetermined threshold, the abnormality determination unit 25 determines that the value of the control parameter "movement speed" may have been tampered with. Also, when the absolute value is greater than 0 and less than the threshold, the abnormality determination unit 25 determines that there is a possibility of a malfunction (e.g., malfunction of the motor 302) related to the movement speed of the belt conveyor 300, an operational error (e.g., misplacement of a transported object), or deterioration due to aging.

[0167] Furthermore, when the absolute value of the difference between the estimated value and the normal value of the control parameter "load" is greater than a predetermined threshold value (e.g., 0), the abnormality determination unit 25 determines that there is a possibility of a failure (e.g., failure of the motor 302) related to the load of the belt conveyor 300, an operational error (e.g., misplacement of the transported object), or deterioration due to aging. Note that the abnormality determination unit 25 does not determine that there is a possibility of tampering with the control parameter "load". This is because it is difficult to change the "load" by replacing the transported object 310 from the outside.

[0168] <Modification of the third embodiment> The estimated value calculation unit 23 may calculate the estimated value E(v) of the control parameter "movement speed" and the estimated value E(l) of the control parameter "load" according to the following equation 8', instead of equations 8 and 9.

number

[0169] [Additional Note] The above-mentioned classification model 123 is not limited to the random forest. For example, other classification models such as Time Series Forest, SVM (Support Vector Machine), and K-nearest neighbor method may be used as long as they can calculate the likelihood that input data belongs to each class.

[0170] In addition, the control parameters are not limited to those described above. For example, the control parameters, including those described above, include at least one of the speed, acceleration, angular velocity, position, and temperature of the robot arm, the weight of an object grasped by an end effector constituting the robot arm, and the speed, acceleration, angular velocity, position, temperature, and angle of the end effector.

[0171] A part or all of the functions of the computer 100 may be provided by cloud computing. In other words, a part or all of the functions of each device may be realized by a cloud server. Furthermore, at least some of the above-described embodiments and modifications may be combined in any manner.

[0172] This disclosure may be implemented as Appendix 1. [Appendix 1] A classification system comprising a generator and an estimator, The generating device comprises: a physical quantity acquiring unit that acquires a first measurement result of a physical quantity measured for a control object that operates based on values ​​of a plurality of control parameters; a learning data generating unit configured to generate a plurality of learning data including the first measurement result and labels corresponding to values ​​of the plurality of control parameters; a classifier generating unit that generates a classifier that classifies each of the first measurement results into one of a plurality of classes based on a plurality of the learning data, The estimation device comprises: an input unit that inputs a second measurement result of the physical quantity measured for the control object to the classifier; an acquisition unit that acquires, from the classifier, a likelihood that the second measurement result is classified into each of the plurality of classes; an estimation unit that calculates estimates of the plurality of control parameters corresponding to the second measurement result based on the plurality of likelihoods acquired by the acquisition unit, Classification system.

[0173] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the scope and meaning equivalent to the claims. [Explanation of symbols]

[0174] 1. Production System 1A Production System 1B Production System 10 Classification model generation device (generation device) 11 Sensor data acquisition unit (physical quantity acquisition unit) 11D Acceleration Data 12 Learning data generation unit 13 Classification model generation unit (classifier generation unit) 20 Control parameter estimation device (estimation device) 21 Sensor data input section (input section) 22 Probability Acquisition Unit (Acquisition Unit) 23 Estimated value calculation unit (estimation unit) 24 Classification section (Classification section) 25 Abnormality judgment section (judgment section) 100 Computers 110 I / F section 120 Storage device 121 Classification model generator 122 Control Parameter Estimation Program 123 Classification Model (Classifier) 130 processors 140 Bus 200 Robot Arm 200A Robot Arm 201 Base 202 Joint 202A Joint 202B Joint 203A Link 203B Link 203C Link 204 End Effector 205 Acceleration Sensor 205A Acceleration Sensor 205B Acceleration Sensor 206 Painting Department 207 Gyro sensor 210 Rest position 220 Painted Surface 300 Conveyor Belt 301A Drive pulley 301B Driven pulley 301C Driven pulley 301D driven pulley 302 Motor 303 Belt 304 Current Sensor 310 Transport

Claims

1. an input unit that inputs a measurement result of a physical quantity to a classifier that classifies a physical quantity measured for a control target that operates based on values ​​of a plurality of control parameters into one of a plurality of learned classes; an acquisition unit that acquires, from the classifier, a likelihood that the measurement result input to the classifier is classified into each of the plurality of learned classes; an estimation unit that calculates estimated values ​​of the plurality of control parameters corresponding to the measurement results based on the plurality of probabilities acquired by the acquisition unit; An estimation device comprising:

2. The estimation device according to claim 1 , further comprising a classification unit that classifies the measurement result into one of the plurality of learned classes and an unknown class that cannot be classified by the classifier, based on the likelihood acquired by the acquisition unit.

3. The estimation device according to claim 2 , wherein each of the plurality of learned classes and the unknown class is associated with a combination of values ​​of the plurality of control parameters.

4. the plurality of learned classes include a learned class associated with each of the control parameters; 4. The estimation device according to claim 1, wherein the estimation unit calculates, for each of the control parameters, an estimate of the control parameter based on relationship information that represents a relationship between a ratio of a likelihood that the measurement result will be classified into a learned class associated with the control parameter and the estimate of the control parameter.

5. 5. The estimation device according to claim 4, wherein the relationship information includes at least one of a monomial or polynomial, a logistic regression equation, and a discretized function that represents a relationship between a likelihood ratio that the measurement result will be classified into a learned class associated with the control parameter and an estimated value of the control parameter.

6. 4. The estimation device according to claim 1, further comprising a determination unit that determines a possibility of at least one of an abnormality in the controlled object and tampering with values ​​of the plurality of control parameters based on the estimated values ​​of the plurality of control parameters.

7. 7. The estimation device according to claim 6, wherein the determination unit determines the possibility of at least one of an abnormality in the controlled object and tampering with the values ​​of each of the control parameters based on a degree of deviation of the estimated values ​​of each of the control parameters from a normal value.

8. 7. The estimation device according to claim 6, wherein the determination unit determines the possibility of at least one of an abnormality in the controlled object and tampering with the values ​​of the plurality of control parameters occurring based on the type and degree of deviation of each of the control parameters from a normal value.

9. the control object is a robot arm, 4. The estimation device according to claim 1, wherein the plurality of control parameters include at least one of a velocity, an acceleration, an angular velocity, a position, and a temperature of the robot arm, a weight of an object grasped by an end effector constituting the robot arm, and a velocity, an acceleration, an angular velocity, a position, a temperature, and an angle of the end effector.

10. the control object is a belt conveyor, The estimation device according to claim 1 , wherein the plurality of control parameters include at least one of a moving speed of the belt conveyor and a load of the belt conveyor.

11. a step of inputting a measurement result of a physical quantity measured for a control target that operates based on values ​​of a plurality of control parameters to a classifier that classifies the physical quantity into one of a plurality of learned classes; the estimation device acquiring from the classifier a likelihood that the measurement result input to the classifier is classified into each of the plurality of learned classes; a step of the estimation device calculating estimated values ​​of the plurality of control parameters corresponding to the measurement results based on the acquired plurality of likelihoods; An estimation method including:

12. Computer, an input unit that inputs a measurement result of a physical quantity measured for a control target that operates based on values ​​of a plurality of control parameters to a classifier that classifies the physical quantity into one of a plurality of learned classes; an acquisition unit that acquires, from the classifier, a likelihood that the measurement result input to the classifier is classified into each of the plurality of learned classes; and an estimation unit that calculates estimated values ​​of the plurality of control parameters corresponding to the measurement results based on the plurality of probabilities acquired by the acquisition unit; A computer program that functions as a

Citation Information

Patent Citations

  • Learning device and learning method

    WO2020121378A1