Approximation error detection device and approximation error detection program

The approximation error detection device and program improve error correction accuracy in industrial machines by encoding and compressing axis-dependent data using a linear combination model and detecting errors exceeding a threshold, addressing data size limitations and white noise-like characteristics.

JP7807545B2Active Publication Date: 2026-01-27FANUC LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024528260
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-24
Publication Date
2026-01-27
Estimated Expiration
2042-06-24

AI Technical Summary

Technical Problem

Conventional error correction techniques for industrial machines face limitations in improving accuracy due to data size constraints, and axis-dependent data with white noise-like characteristics resist compression, leading to undetected approximation errors that compromise precision.

Method used

An approximation error detection device and program that utilize a linear combination model to encode and compress axis-dependent data, with an error detection unit to identify approximation errors exceeding a threshold, ensuring accurate error correction.

Benefits of technology

Enhances the ability to detect and address approximation errors, allowing for precise error correction in industrial machinery by identifying and mitigating errors that exceed a predetermined threshold.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807545000012
    Figure 0007807545000012
  • Figure 0007807545000013
    Figure 0007807545000013
  • Figure 0007807545000014
    Figure 0007807545000014
Patent Text Reader

Abstract

The present invention makes it possible to detect an approximation error amount in approximating and encoding axis-dependent data that depends on the coordinate value of each axis of an industrial machine. An approximation error detection device 1 comprises an approximation error amount detection unit 11 that detects an approximation error amount with an absolute value greater than or equal to a predetermined threshold among approximation error amounts in performing model approximation encoding of axis-dependent data on the basis of a part of the axis-dependent data that depends on the coordinate value of each axis of an industrial machine, and on a linear combination model that approximates the axis-dependent data as a linear combination of data on each axis of the industrial machine.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an approximation error detection device and an approximation error detection program. [Background technology]

[0002] Conventionally, industrial machines such as machine tools and robots move a predetermined control point to a predetermined position according to a command value. However, because industrial machines have errors, the position of the control point usually does not match the command value. To solve this deterioration in positioning accuracy and, ultimately, in machining accuracy, a technique has been proposed that corrects the error so that the position of the control point matches the command value (see, for example, Patent Document 1). In this technique, a pre-measured error amount is input to a control device, and the error is corrected based on a correction amount corresponding to the error amount. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-209897 Summary of the Invention [Problem to be solved by the invention]

[0004] However, since there is an upper limit to the data size that can be input, there is a problem that the accuracy of error correction cannot be improved by exceeding the upper limit of the data size that can be input.

[0005] Therefore, it is conceivable to compress the error data before inputting it to the control device. Data compression techniques include data encoding techniques, such as entropy encoding techniques typified by Huffman coding. Entropy encoding techniques compress data by utilizing the bias in the frequency of occurrence of values ​​in the data, i.e., the smallness of information entropy.

[0006] However, axis-dependent data, such as the error amounts described above, that depend on the coordinate values ​​of each axis of an industrial machine may have a white noise-like characteristic with a uniform occurrence frequency. In such cases, the small information entropy described above cannot be utilized, making it difficult to compress the data using entropy coding.

[0007] In response to this issue, the present inventors have been studying data encoding techniques that enable compression by approximating and encoding axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine. However, when approximating and encoding axis-dependent data, an approximation error may remain. While this approximation error should normally be small, if it is larger than normal, there is a risk of some problem occurring during error measurement or error correction, making it impossible to perform error correction with high accuracy. However, conventional techniques have had the problem of users being unable to notice such a decrease in the accuracy of error correction.

[0008] The present disclosure has been made in consideration of the above, and aims to provide an approximation error detection device and an approximation error detection program that can detect approximation errors when axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine is approximated and encoded. [Means for solving the problem]

[0009] One aspect of the present disclosure is an approximation error detection device that detects approximation errors, and includes an approximation error detection unit that detects approximation error amounts, the approximation error amounts being equal to or greater than a predetermined threshold, among the approximation error amounts when the axis-dependent data is model-approximated based on a portion of axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine.

[0010] Another aspect of the present disclosure is an approximation error detection program for detecting approximation errors, the approximation error detection program causing a computer to execute a step of detecting approximation error amounts, the approximation error amounts having absolute values ​​equal to or greater than a predetermined threshold, among approximation error amounts when the axis-dependent data is model-approximated based on a portion of axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine. [Effects of the Invention]

[0011] According to the present disclosure, it is possible to provide an approximation error detection device and an approximation error detection program that can detect approximation errors when axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine is approximated and encoded. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a diagram illustrating a configuration of an approximate error detection device according to a first embodiment. [Figure 2] FIG. 10 is a diagram showing an example of a text file containing only specific characters. [Figure 3] FIG. 10 is a diagram illustrating an example of data in which the frequency of occurrence of each value is expressed in a distribution. [Figure 4] FIG. 10 is a diagram showing data in which the frequency of occurrence of each value is uniform. [Figure 5] FIG. 10 is a diagram showing each axis error of the X axis. [Figure 6] FIG. 10 is a diagram showing each axis error of the Y axis. [Figure 7] FIG. 10 is a diagram showing the amount of error in coordinate values ​​(X2, Y1). [Figure 8] FIG. 10 is a diagram showing the amount of error when it cannot be expressed by a linear combination of the axis errors. [Figure 9] FIG. 9 is a partially enlarged view of FIG. 8. [Figure 10] FIG. 10 is a diagram showing a bitmap image that visualizes an error map. [Figure 11] FIG. 10 is a diagram illustrating an example of axis-dependent data. [Figure 12] 12 is a diagram showing a linear combination model that approximates the axis-dependent data of FIG. 11 as a linear combination of each axis error of the industrial machine. FIG. [Figure 13] FIG. 10 is a diagram showing the amount of approximation error with a large absolute value. [Figure 14] FIG. 10 is a diagram showing a state in which a structure interferes with an industrial machine when an approximation error amount is measured. [Figure 15] FIG. 2 is a diagram showing the configuration of a data encoding device in a first modified example of the approximate error detection device according to the first embodiment. [Figure 16] FIG. 10 is a diagram showing axis-dependent data partitioned into a plurality of grid-like regions. [Figure 17] FIG. 10 is a diagram showing an example of post-division axis-dependent data. [Figure 18] FIG. 10 is a diagram showing the configuration of a data encoding device in a second modified example of the approximate error detection device according to the first embodiment. [Figure 19] 10 is a flowchart showing a procedure for dividing axis-dependent data by a dynamic programming processing unit. [Figure 20] FIG. 10 is a diagram showing divided sections before each axis data (each axis error) is expanded by one column in the positive X direction. [Figure 21] FIG. 10 is a diagram showing divided sections after each axis data (each axis error) is expanded by one column in the positive X direction. [Figure 22] FIG. 10 is a diagram showing the configuration of a data encoding device in a third modified example of the approximate error detection device according to the first embodiment. [Figure 23] 1 is a flowchart showing the procedure of a learning process performed by a machine learning device. [Figure 24] FIG. 10 is a diagram illustrating the configuration of an approximation error detection device according to a second embodiment. [Figure 25] FIG. 10 is a diagram showing an example of a numerical display of the amount of approximation error when the threshold value is set to 0. [Figure 26] FIG. 10 is a diagram showing a first example of a numerical representation of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. [Figure 27] FIG. 10 is a diagram showing a second example of a numerical representation of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. [Figure 28] FIG. 10 is a diagram illustrating the configuration of an approximate error detection device according to a third embodiment. [Figure 29] FIG. 10 is a diagram showing an example of a graphical display of the amount of approximation error when the threshold value is set to 0. [Figure 30] FIG. 10 is a diagram showing a first example of a graphical representation of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. [Figure 31] FIG. 10 is a diagram showing a second example of a graphical representation of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. DETAILED DESCRIPTION OF THE INVENTION

[0013] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second and subsequent embodiments, the description of the configurations common to the first embodiment will be omitted as appropriate.

[0014] [First embodiment] The approximation error detection device according to the first embodiment is capable of detecting approximation errors when axis-dependent data, which depends on the coordinate values ​​of each axis of an industrial machine, is approximated and encoded. As described above, axis-dependent data, which depends on the coordinate values ​​of each axis of an industrial machine, is difficult to compress using conventional entropy encoding techniques. In response to this issue, the inventors have been studying data encoding techniques that can compress axis-dependent data, which depends on the coordinate values ​​of each axis of an industrial machine, by approximating and encoding it. However, when approximating and encoding axis-dependent data, an approximation error may remain. If this approximation error is larger than normal, there is a risk of problems during error measurement or error correction, making it impossible to perform error correction with high accuracy. Therefore, the approximation error detection device according to this embodiment is capable of detecting such approximation errors, allowing the user to notice a decrease in the accuracy of error correction.

[0015] FIG. 1 is a diagram showing the configuration of an approximation error detection device 1 according to the first embodiment. As shown in FIG. 1, the approximation error detection device 1 according to this embodiment includes an approximation error amount detection unit 11. The approximation error detection device 1 is configured using a computer including, for example, memories such as ROM (read only memory) and RAM (random access memory), a CPU (control processing unit), operation means such as a keyboard, a display, and a communication control unit, all connected to one another via a bus. The functions and operations of the functional units described below are achieved by the cooperation of the CPU and memory installed in the computer, and the control programs stored in the memory.

[0016] The approximation error detection device 1 may be provided in, for example, a computerized numerical control (CNC) device corresponding to a control device for industrial machinery such as a machine tool or a robot, a robot control device, etc. Alternatively, it may be provided in an external computer or the like capable of communicating with these control devices.

[0017] Before describing the configuration of the approximate error detection device 1 according to this embodiment, a data encoding device 10 for generating the amount of approximation error after model approximation encoding that is input to the approximate error detection device 1 according to this embodiment will be described in detail.

[0018] The data encoding device 10 is a data encoding device capable of encoding and compressing axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine, such as the amount of error used for error correction of each axis of the industrial machine. The axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine may have white noise-like properties with a uniform overall frequency of occurrence, making it difficult to compress the data using conventional entropy encoding techniques that utilize the bias in the frequency of occurrence of values ​​in the data, i.e., the smallness of information entropy. However, the data encoding device 10 makes it possible to encode and compress axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine.

[0019] As shown in Fig. 1, a data encoding device 10 includes a model approximation encoding unit 101. The model approximation encoding unit 101 generates post-encoding axis-dependent data by encoding axis-dependent data based on the axis-dependent data and a linear combination model. Before describing the configuration of the data encoding device 10, a conventional data encoding technique will first be described.

[0020] Entropy coding, typified by Huffman coding, is a well-known data coding technique. Entropy coding compresses data by utilizing the bias in the frequency of occurrence of values ​​in the data, i.e., the smallness of information entropy.

[0021] FIG. 2 shows an example of a text file containing only specific characters. FIG. 3 shows an example of data in which the frequency of occurrence of each value is expressed by a distribution. In FIGS. 2 and 3, the horizontal axis indicates bit values, and the vertical axis indicates the frequency of occurrence of each value. For example, a text file containing only 16 characters, 0 to 9 and A to F, as specific characters, as shown in FIG. 2 normally requires 8 bits to represent one character, but entropy coding allows it to be represented with at most 4 bits per character, making it possible to compress the data by about half. Furthermore, data with non-uniform frequency of occurrence, as shown in FIG. 3, can be compressed by entropy coding, assigning short bit values ​​to high-frequency values ​​and long bit values ​​to low-frequency values.

[0022] In contrast, Fig. 4 shows data in which the frequency of occurrence of each value is uniform. As with Fig. 2 and Fig. 3, in Fig. 4, the horizontal axis represents the bit value, and the vertical axis represents the frequency of occurrence of each value. White noise-like data with a uniform frequency of occurrence such as that shown in Fig. 4 cannot utilize the small information entropy mentioned above, making it difficult to compress the data using entropy coding.

[0023] Incidentally, static error compensation for each axis of industrial machinery includes pitch error compensation, straightness error compensation, and three-dimensional error compensation. Pitch error compensation is compensation for errors in the axial direction. Straightness error compensation is compensation for errors in the direction perpendicular to the axial direction. Three-dimensional error compensation is compensation for three-dimensional spatial errors. These error compensations are performed by inputting the amount of error measured for each coordinate value of each axis (hereinafter referred to as "axis error") into the control device for the number of axes. The greater the number of input points, the higher the accuracy of error compensation, but there is an upper limit to the data size that can be input.

[0024] Figure 5 shows the axis errors of the X axis. Each axis error of the X axis is the amount of error of each coordinate value measured when only the X axis is moved while the Y axis and Z axis are fixed. As shown in Figure 5, the amount of error of each coordinate value X0, X1, X2, and X3 is displayed as a vector with a different magnitude and direction.

[0025] FIG. 6 shows the axis errors of the Y axis. Each axis error of the Y axis is the amount of error of each coordinate value measured when only the Y axis is moved while the X and Z axes are fixed. As shown in FIG. 6, the amount of error of each coordinate value Y0, Y1, and Y2 is displayed as a vector with a different magnitude and direction.

[0026] Here, the error correction for each axis is assumed to be linearly independent. That is, the coordinate values ​​X1,...X L The error amount (vector E[X 1 ]···[X L ]) is assumed to be a linear combination of each axis error, and is expressed as the following equation (1).

[0027]

number

[0028] In the above formula (1), L represents the number of axes to be subjected to error correction. l represents the l-th axis to be corrected.

[0029] There are many situations where the above formula (1) based on the above assumption holds true, and currently, error correction for each axis has been widely used. For example, FIG. 7 is a diagram showing the amount of error in the coordinate value (X2, Y1). As shown in FIG. 7, the amount of error in the coordinate value (X2, Y1) (vector E[X2][Y1]) is calculated by multiplying the amount of error in the coordinate value X2 (vector E X [X2]) and the error amount of coordinate value Y1 (vector E Y [Y1]) and is expressed as the following formula (2).

[0030]

number

[0031] However, when viewed as a whole, each axis error (vector E X [X], vector E YThe frequency of occurrence of values ​​in the vector E[X][Y] or the error vector E[X][Y] may be uniform and resemble white noise. In this case, it is difficult to compress such data using conventional entropy coding techniques that exploit the bias in the frequency of occurrence of values ​​in the data, i.e., the small information entropy.

[0032] In addition, the error of each axis is not linearly independent, but the error amount (vector E[X 1 ]···[X L ]) may be determined by the correlation of multiple axes. In other words, the error amount (vector E[X 1 ]···[X L ]) is the correlation term (vector δ[X 1 ]···[X L ]) and may not be expressed as a linear combination of each axis error.

[0033]

number

[0034] FIG. 8 is a diagram showing the amount of error when it cannot be expressed as a linear combination of each axis error. As shown in FIG. 8, when each axis error is not linearly independent, the amount of error (vector E[X 1 ]···[X L ]) is used as the correlation term (vector δ[X 1 ]···[X L In this case, the error amount for each space correlated with the error amount (hereinafter referred to as spatial error) is input to the control device for correction, so this is called error correction for each space.

[0035] Here, the inventors have found that even though the spatial error cannot be expressed as a linear combination of the axis errors as a whole, it can be regarded as a linear combination of the axis errors locally, just like the axis errors. For example, FIG. 9 is a partially enlarged view of FIG. 8, and in the local region enclosed by the dashed line in FIG. 9, the above-mentioned correlation term (vector δ[X1 ]···[X L ]) can be considered to be 0, and the spatial error can be expressed as a linear combination of each axis error. That is, the spatial error (vector E[X][Y]) can be expressed as a linear combination of each axis error (vector E X [X]) and each axis error (vector E Y This means that the spatial error (vector E[X][Y]) is the sum of the error amount (vector E[X][Y]) of one row in the X-axis direction among the axis data (axis error) on multiple coordinate points in a grid. X [X]) and the error amount in one row along the Y axis (vector E Y [Y]) and approximate them as a linear combination. An example of a local region is the central region of the movable range of an industrial machine.

[0036]

number

[0037] However, when viewed as a whole, the frequency of occurrence of values ​​in the spatial error (vector E[X][Y]) may be uniform and white noise-like, making it difficult to compress using conventional entropy coding techniques that utilize the small information entropy. For example, Figure 10 shows a bitmap image that visualizes an error map when the target axes for error correction are the X and Y axes, and the RGB values ​​of each pixel correspond to the error amount vector E. Furthermore, the error amount (vector E[X][Y]) of each pixel is calculated according to the above formula (4), as follows: X [X] and vector E Y [Y]. For example, if the number of pixels in the bitmap image shown in Figure 10 is 10 x 10, which is 374 bytes, when this is encoded using ZIP compression, a typical entropy encoding technique, it will become 393 bytes. As can be seen, conventionally known entropy encoding has no compression effect and in some cases increases the data size, which is counterproductive.

[0038] Based on the above, the data encoding device 10 utilizes the property that even axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine, such as the amount of error used to correct errors on each axis of the industrial machine, can be locally regarded as a linear combination of the axis errors, as expressed in the above formula (1). This makes it possible for the data encoding device 10 to encode and compress axis-dependent data, which was previously difficult to do.

[0039] 1, the data encoding device 10 is configured using a computer including, for example, memories such as ROM (read only memory) and RAM (random access memory), a CPU (control processing unit), operation means such as a keyboard, a display, and a communication control unit, all connected to one another via a bus. The functions and operations of the functional units described below are achieved by the cooperation of the CPU and memory installed in the computer, and the control program stored in the memory.

[0040] The data encoding device 10 may be provided in, for example, a computerized numerical control (CNC) device corresponding to a control device for industrial machinery such as a machine tool or a robot, a robot control device, etc. Alternatively, the data encoding device 10 may be provided in an external computer or the like capable of communicating with these control devices.

[0041] The model approximation encoding unit 101 included in the data encoding device 10 generates encoded axis-dependent data by encoding axis-dependent data based on a portion of the axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data (each axis error) of the industrial machine. The axis-dependent data is input, for example, from the above-mentioned control device. The linear combination model is stored, for example, in a storage unit of the data encoding device 10.

[0042] Here, the axes of an industrial machine refer to, for example, the axes of a machine tool, i.e., the X-axis, Y-axis, and Z-axis. Examples of axis-dependent data include error amounts used to correct errors in the axes of industrial machines, as well as the installation error amount of a relatively large workpiece whose displacement varies for each coordinate value due to the influence of deflection caused by its own weight. These error amounts and the installation error amount of a workpiece are all data that depend on the coordinate values ​​of the axes of the industrial machine.

[0043] Hereinafter, the model approximation coding using the linear combination model by the model approximation coding unit 101 will be described in detail with reference to FIGS.

[0044] FIG. 11 is a diagram showing an example of axis-dependent data. The example shown in FIG. 11 shows axis-dependent data in the case where two axes, the X-axis and the Y-axis, are the target axes for error correction, etc. The axis-dependent data shown in FIG. 11 is, for example, the amount of each axis error of an industrial machine, and is axis-dependent data of a certain local region in axis-dependent data in which the occurrence frequency of values ​​in the data is not biased overall, and is axis-dependent data that can be approximated by a linear combination model, which will be described later. The example of axis-dependent data shown in FIG. 11 has a total of N×M points of axis data (each axis error).

[0045] FIG. 12 is a diagram showing a linear combination model that approximates the axis-dependent data of FIG. 11 as a linear combination of each axis error of the industrial machine. As described above, the error amount (vector E[X 1 ]···[X L ]) follows the model expressed by the above formula (3), and as a whole, the correlation term (vector δ[X 1 ]···[X L ]) is considered to have a strong influence, it is believed that there exists a region that can be locally approximated by the linear combination model expressed by the above formula (1). For such an approximable region, as shown in FIG. 12, an approximation model (vector Ea[X 1 ]···[X L ]) in the X-axis direction. X[X]) and the error amount in one row along the Y axis (vector Ea Y [Y]) and approximate them as a linear combination. In the example shown in Figure 12, the total number of axis data (axis errors) after approximation is N+M points, which shows that axis-dependent data can be compressed.

[0046]

number

[0047] In the above formula (5), X 1 , X L is expressed as the following equation (6), and the vector c is defined as the average value as expressed in the following equation (7). X l [X l ] is expressed as the following formula (8). Furthermore, L represents the number of axes to be subjected to error correction, and X l represents the l-th axis to be corrected, and Nl represents the number of error amounts for the l-th axis to be corrected.

[0048]

number

[0049]

number

[0050]

number

[0051] In the formula (8), X represents a one-dimensional axis space, while x represents an element belonging to the space. p is a value between 1 and L. For example, x 3 If so, axis X 3 means a possible value of .

[0052] If the vector c is defined as in the above formula (7), the approximation model (vector Ea[X1] [X L ]) is a maximum likelihood estimation model that minimizes the evaluation function J expressed by the following formula (9). That is, the evaluation function J is, as expressed by the following formula (9), the original error amount before approximation (vector E[X 1 ]···[X L ]) and the error amount after approximation (vector Ea[X 1 ]···[X L ]), and the approximation model (vector Ea[X1] [X L The approximation model determined in this manner as a linear combination model is stored in, for example, a storage unit of the data encoding device 10 and is used for model approximation encoding by the model approximation encoding unit 101.

[0053]

number

[0054] In this way, the data encoding device 10 approximates part of the axis-dependent data as a linear combination of each axis data (each axis error), thereby making it possible to encode and compress axis-dependent data that was previously difficult to compress.As a result, it is possible to increase the amount of data, such as error amounts, that can be input to industrial machinery control devices, etc., without increasing storage capacity, and it becomes possible to correct industrial machinery errors with greater precision.

[0055] 1, the data encoding device 10 includes an approximation error calculation unit 102 that calculates an approximation error amount after model approximation encoding. The approximation error calculation unit 102 is provided in the model approximation encoding unit 101, and calculates an approximation error amount when axis-dependent data is subjected to model approximation encoding.

[0056] As described above, the approximation model (vector Ea[X 1 ]···[X L]), the approximation error (vector γ[X 1 ]···[X L ]) is expressed by the following formula (10).

[0057]

number

[0058] In equation (10), the vector E[X 1 ]···[X L ] is the original error amount before model approximation, and the vector Ea[X 1 ]···[X L ] is the error amount after model approximation. From this formula (10), the difference between these is the approximation error (vector γ[X 1 ]···[X L ]).

[0059] Here, the approximate model (vector Ea[X 1 ]···[X L ]) is the maximum likelihood estimation model, so the approximation error (vector γ[X 1 ]···[X L ]) is minimized and has very small values. Also, the approximation error (vector γ[X][Y]) is biased towards small values, and the frequency distribution of these values ​​is also biased. Therefore, the approximation error (vector γ[X 1 ]···[X L ]) can also be encoded and compressed.

[0060] Therefore, the amount of approximation error after model approximation encoding by the model approximation encoding unit 101 should basically be well approximated by a linear combination of each axis data. However, there are cases where an amount of approximation error remains in the model approximation encoding by the model approximation encoding unit 101. Here, FIG. 13 is a diagram showing an amount of approximation error with a large absolute value. As shown in FIG. 13, there are cases where the amount of approximation error is large at a certain coordinate (Xa, Xb). This may be caused, for example, by an inappropriate method for measuring the amount of approximation error, for example, by an incorrect method.

[0061] FIG. 14 is a diagram showing what happens when a structure interferes with an industrial machine during measurement of the approximation error. As shown in FIG. 14, when measuring the approximation error of a specific coordinate value, a machine structure that constitutes the industrial machine, such as a machine table, may interfere with an unintended structure. In this case, the reaction force caused by the interference makes it impossible to accurately measure the approximation error. Furthermore, if the interference is resolved, for example, because the structure falls over during movement after measurement, the result of the measurement of only that specific coordinate may become incorrect, resulting in a large approximation error.

[0062] When error correction is performed using an inappropriate approximation error amount as described above, the accuracy of the error correction decreases, but conventionally, no measures have been taken to prompt the user to notice this decrease in error correction accuracy. Therefore, the approximation error amount detection unit 11 of the approximation error detection device 1 according to this embodiment has a function to detect the approximation error amount, thereby allowing the user to notice the decrease in error correction accuracy.

[0063] Specifically, the approximation error detection unit 11 detects approximation errors whose absolute values ​​are equal to or greater than a predetermined threshold among the approximation errors when the axis-dependent data is model-approximated based on a portion of the axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine. The approximation error detected by the approximation error detection unit 11 is output to an external device, etc. This allows the user of the industrial machine to notice that the approximation error after model approximation encoding is equal to or greater than a predetermined threshold.

[0064] The approximation error amount after model approximation encoding of axis-dependent data is generated by the model approximation encoding unit 101 of the data encoding device 10 described above and input to the approximation error amount detection unit 11. The threshold value for the approximation error amount is set to an appropriate value based on the approximation error amount under normal circumstances, for example, by conducting a test in advance, and is stored in a storage unit or the like of the approximation error detection device 1, from which the threshold value is acquired. For example, the predetermined threshold value can be set to 0, in which case all approximation errors are detected.

[0065] According to this embodiment, the following effects are achieved.

[0066] The approximation error detection device 1 according to this embodiment includes an approximation error detection unit 11 that detects approximation errors whose absolute values ​​are equal to or greater than a predetermined threshold among approximation errors obtained when axis-dependent data is model-approximated based on a portion of axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of the axis data of the industrial machine. This makes it possible to detect approximation errors that are larger than normal among approximation errors obtained when axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine is approximated and encoded. This allows users of the industrial machine to notice that the approximation error after model approximation encoding is equal to or greater than the predetermined threshold, allowing them to take measures to resolve any problems that occurred during approximation error measurement or error correction, thereby enabling appropriate error correction.

[0067] [Variations] A modified example of a data encoding device having a different configuration from the approximate error detection device 1 according to the first embodiment will be described. FIG. 15 is a diagram showing the configuration of a data encoding device 20 according to a first modified example of the approximate error detection device 1 according to the first embodiment. As shown in FIG. 15, the data encoding device 20 according to the first modified example differs from the above-described data encoding device 10 in that it includes an axis-dependent data dividing unit 202. It also differs from the above-described model approximation encoding unit 101 in that the model approximation encoding unit 201 performs model approximation encoding based on post-divided axis-dependent data generated by dividing axis-dependent data into multiple pieces and the above-described linear combination model. Apart from these differences, the data encoding device 20 has the same configuration as the data encoding device 10.

[0068] The above-mentioned data encoding device 10 performs model approximation encoding of a linear combination model for a portion of axis-dependent data that may have a uniform appearance frequency overall and resemble white noise, by treating the portion as a linear combination of each axis data (each axis error).In contrast, the data encoding device 20 actively divides the axis-dependent data into a plurality of regions, thereby generating a plurality of regions that can be regarded as a linear combination of each axis data (each axis error), thereby more reliably enabling the execution of model approximation encoding of a linear combination model.

[0069] The axis-dependent data dividing unit 202 divides the axis-dependent data to generate a plurality of divided axis-dependent data. Here, FIG. 16 is a diagram showing axis-dependent data partitioned into a plurality of lattice-like regions. As shown in FIG. 16, the axis-dependent data input to the data encoding device 20 is partitioned into a plurality of lattice-like regions, for example, according to each axis data (each axis error) on each coordinate value. In the example shown in FIG. 16, the axis-dependent data is partitioned into a lattice of 15×15=225 points. The axis-dependent data dividing unit 202 divides the axis-dependent data into a plurality of parts, for example, along these partitions.

[0070] Although there are no particular limitations on the method for dividing the axis-dependent data by the axis-dependent data dividing unit 202, it is preferable to divide the axis-dependent data so as to generate a plurality of regions that can be regarded as linear combinations of each axis data (each axis error). In particular, it is preferable for the axis-dependent data dividing unit 202 to divide the axis-dependent data into a plurality of regions that can be best approximated (compressed).

[0071] Fig. 17 is a diagram showing an example of post-division axis-dependent data. In the example shown in Fig. 17, the axis-dependent data input to the data encoding device 20 is divided into five division sections 1 to 5 by the axis-dependent data dividing unit 202. That is, each piece of data in each of these five division sections 1 to 5 corresponds to post-division axis-dependent data, and this post-division axis-dependent data can be regarded as a linear combination of each piece of axis data (each axis error), and model approximation encoding of a linear combination model by the model approximation encoding unit 201, which will be described later, is possible. On the other hand, outside these five division sections 1 to 5, the axis-dependent data cannot be regarded as a linear combination of each piece of axis data (each axis error), and model approximation encoding of a linear combination model is not possible.

[0072] The model approximation coding unit 201 generates coded axis-dependent data based on the plurality of divided axis-dependent data and a linear combination model. As described above, in each of the plurality of divided sections 1 to 5, the axis-dependent data can be regarded as a linear combination of each axis data (each axis error). Therefore, the model approximation coding unit 201 performs model approximation coding of the linear combination model on each divided axis-dependent data, thereby generating coded axis-dependent data that has been model-approximated and compressed.

[0073] 15, the model approximation coding unit 201 includes an approximation error calculation unit similar to the above-described model approximation coding unit 101. Therefore, the model approximation coding unit 201 generates and outputs an approximation error amount after model approximation coding.

[0074] In this way, according to the data encoding device 20, by actively dividing the axis-dependent data into multiple regions, it is possible to generate multiple regions that can be considered as linear combinations of each axis data (each axis error), and by performing model approximation encoding of a linear combination model for each region, it is possible to more reliably compress axis-dependent data that was previously difficult to compress.

[0075] 18 is a diagram showing the configuration of a data encoding device 30 in a second modified example of the approximation error detection device according to the first embodiment. As shown in FIG. 18, the data encoding device 30 differs from the data encoding device 20 in that the configuration of the axis-dependent data dividing unit 302 differs from that of the axis-dependent data dividing unit 202. Apart from this difference, the data encoding device 30 has the same configuration as the data encoding device 20.

[0076] In the data encoding device 20, the method for dividing the axis-dependent data is not particularly limited, but in the data encoding device 30, the axis-dependent data is divided using dynamic programming. That is, by using dynamic programming, the axis-dependent data can be divided optimally, and the axis-dependent data can be best approximated and compressed.

[0077] 18, the axis-dependent data division unit 302 includes a dynamic programming processing unit 303. The dynamic programming processing unit 303 generates optimal post-division axis-dependent data by executing dynamic programming. Specifically, the dynamic programming processing unit 303 includes, as functional units for executing dynamic programming, a post-model approximation encoding optimality evaluation unit 304, an axis-dependent data partial division unit 305, and a partial axis-dependent data optimization result combination unit 306.

[0078] Here, the dynamic programming executed by the dynamic programming processing unit 303 will be described in detail.

[0079] Dynamic programming is a general-purpose algorithm for solving optimization problems. Dynamic programming is an algorithm with the following two characteristics. The first characteristic is that it solves recursively. That is, it divides a problem into small-scale subproblems, recursively optimizes the subproblems, and combines the optimization results of the subproblems to solve the original problem on a larger scale. The second characteristic is that it can reduce processing load by recording the optimization results. That is, in the process of recursively solving a problem, the same problem may appear multiple times. In order to omit calculations for problems that have already been solved, the optimization results of problems that have already been solved can be recorded and reused.

[0080] Therefore, the dynamic programming processing unit 303 includes a post-model approximation coding optimality evaluation unit 304 as a means for evaluating the optimality of the result. That is, the post-model approximation coding optimality evaluation unit 304 evaluates the optimality of the axis-dependent data after coding. The optimality of the axis-dependent data after coding can be evaluated, for example, based on whether the approximation error amount after model approximation coding is within a predetermined constraint tolerance. Note that, as described above, the approximation error amount after model approximation coding is the difference between the original error amount before model approximation coding and the error amount after model approximation coding. The constraint tolerance may be, for example, an approximation error tolerance or an allowable number of data points that exceed the approximation error tolerance.

[0081] The dynamic programming processing unit 303 also includes an axis-dependent data partial dividing unit 305 as means for dividing the problem into subproblems. The axis-dependent data partial dividing unit 305 divides the axis-dependent data into a plurality of portions to generate partial axis-dependent data. The axis-dependent data partial dividing unit 305 divides the axis-dependent data into predetermined specified intervals according to a predetermined division criterion stored in advance, and then divides the axis-dependent data into a plurality of portions by shrinking and optimizing the axis-dependent data by one point in each of the positive and negative directions of each axis, such as the X-axis and the Y-axis. The division of the axis-dependent data by the axis-dependent data partial dividing unit 305 will be described in detail later.

[0082] The dynamic programming processing unit 303 also includes a partial axis-dependent data optimization result combining unit 306 as a means for combining (combining) the optimization results of the subproblems. The partial axis-dependent data optimization result combining unit 306 generates optimal post-division axis-dependent data by expanding and combining the partial axis-dependent data. For example, the partial axis-dependent data optimization result combining unit 306 optimizes the partial axis-dependent data generated by dividing the axis-dependent data by the axis-dependent data partial dividing unit 305 described above by expanding it by one point in each of the positive and negative directions of each axis, such as the X axis and the Y axis. The generation of optimal post-division axis-dependent data by the partial axis-dependent data optimization result combining unit 306 will be described in detail later.

[0083] The division of axis-dependent data by the dynamic programming processing unit 303 will be described in detail below with reference to the above-mentioned FIGS.

[0084] As shown in FIG. 16 above, the axis-dependent data is partitioned into a grid of, for example, 15×15=225 points. When the dynamic programming processing unit 303 partitions such axis-dependent data into intervals, post-division axis-dependent data such as that shown in FIG. 17 is obtained. When the dynamic programming processing unit 303 partitions the axis-dependent data into intervals, the approximation error of each error amount when each region of the partitioned interval is approximated by the above-mentioned approximation model is kept within the constraint tolerance. Furthermore, points whose approximation error does not fall within the constraint tolerance are permitted up to the constraint tolerance number. Still, the number of points that cannot be approximated and do not satisfy the constraint is minimized. As a result, for example, 225 data points can be compressed to 92 points, thereby reducing the data size.

[0085] 19 is a flowchart showing the procedure for dividing axis-dependent data by the dynamic programming processing unit 303. The division of axis-dependent data by the dynamic programming processing unit 303 is executed by recursively searching for optimal division intervals for the axis-dependent data by dynamic programming.

[0086] In step S1, the axis-dependent data is divided into predetermined designated sections. However, if the section is an area where the axis-dependent data has already been divided by the dynamic programming processing unit 303, the stored processing results may be reflected in this step. Then, the process proceeds to step S2.

[0087] In step S2, an approximate model is generated for the area (designated area) within the designated section divided in step S1. Specifically, for each designated area, an approximate model (vector Ea[X1] [X L ]) is generated. Then, the process proceeds to step S3.

[0088] In step S3, it is determined whether the approximation model of the specified region generated in step S2 satisfies all-point constraints. Constraints include whether the approximation error of all points is within an allowable value, or whether the number of points whose approximation error is not within the allowable value is within an allowable value. If the determination is YES, optimal division of the axis-dependent data has been performed, and the optimal post-division axis-dependent data has been obtained, so this process ends. On the other hand, if the determination is NO, the process proceeds to step S4.

[0089] In step S4, n is set to an initial value of 1. Here, the value of n represents each axis, and for example, if the axis configuration is a total of two axes, the X axis and the Y axis, n represents the X axis when it is 1, and n represents the Y axis when it is 2. Then, proceed to step S5.

[0090] In step S5, it is determined whether n is greater than L, where L is the number of axes in the specified section of the axis-dependent data. For example, if there are two axes, the X axis and the Y axis, L is 2. If this determination is YES, the process proceeds to step S11. On the other hand, if this determination is NO, the process proceeds to step S6.

[0091] The processing of steps S6 to S10 is performed when n is equal to or less than L. When there are two axes, the X axis and the Y axis, if n is 1, it means processing for the X axis, and if n is 2, it means processing for the Y axis.

[0092] In step S6, the axis-dependent data is extracted from the specified section in step S1 to X n Divide each axis data (each axis error) into a specified section by narrowing it by one row in the positive direction. n Execute a new section division by shrinking each axis data (each axis error) by one column in the positive direction. X n The positive direction means the positive direction of the X axis when n is 1. The result is output as optimization result nP. When n is 1, optimization result 1P is output. Then, the process proceeds to step S7.

[0093] In step S7, the optimization result nP obtained in step S6 is converted into X n Expand each axis data (each axis error) by one column in the positive direction. The result is the optimization result nP + When n is 1, the optimization result is 1P. + Since n can range from 1 to L, this step outputs the optimization result 1P to LP. + After that, the process proceeds to step S8.

[0094] In step S8, the axis-dependent data is extracted from the specified section in step S1 to X n Divide each axis data (each axis error) into a specified section narrowed by one row in the negative direction. That is, X n Execute a new section division by shrinking each axis data (each axis error) by one column in the negative direction. X n The negative direction means the negative direction of the X axis when n is 1. The result is output as optimization result nM. When n is 1, optimization result 1M is output. Then, the process proceeds to step S9.

[0095] In step S9, the optimization result nM obtained in step S8 is converted into X n Expand each axis data (each axis error) by one column in the negative direction. The result is the optimization result nM + When n is 1, the optimization result is 1M + Since n can range from 1 to L, this step outputs the optimization result 1M to LM. + After that, the process proceeds to step S10.

[0096] In step S10, n is incremented by 1. Then, the process returns to step S5.

[0097] Step S11 is the process when n is greater than L, and when there are two axes, the X axis and the Y axis, after the processes for the X axis and the Y axis are completed in steps S6 to S10. In step S11, the optimization results 1P to LP obtained in steps S6 to S10 are + , 1M~LM + Among them, the one with the smallest number of unapproximable points is output. That is, the optimization result 1P~LP + , 1M~LM + For each of the above, the number of unapproximable points where the approximation model generated in step S3 does not satisfy the above constraints is calculated, and the model with the smallest number of unapproximable points and the best approximation and most compressed data is output, and this process ends.

[0098] Here, the procedure for expanding one column of each axis data (each axis error) in the positive X direction in step S7 described above will be explained in more detail with reference to the specific example shown in Fig. 20 and Fig. 21. Fig. 20 is a diagram showing the divided sections before being expanded one column of each axis data (each axis error) in the positive X direction. Fig. 21 is a diagram showing the divided sections after being expanded one column of each axis data (each axis error) in the positive X direction. In Fig. 20 and Fig. 21, different numbers are assigned to each divided section.

[0099] As shown in FIG. 20, first, sections 1 to 5 are extracted as continuous sections that appear at the end in the X-positive direction of the section before expansion by one row of each axis data (each axis error).

[0100] Next, each of the extracted sections 1 to 5 is expanded by one row of axis data (each axis error) to generate expanded sections 1 to 5 as shown in FIG.

[0101] Next, for each of the expanded sections 1 to 5, it is confirmed whether the above-mentioned approximation model satisfies the above-mentioned constraints. If the constraints are satisfied, the expanded section is designated as a new section. In the example shown in Figure 21, expanded sections 1 and 4 satisfy the constraints, so they are designated as new sections.

[0102] If the constraints are not satisfied, the expanded section is set as an undetermined section. In the example shown in Fig. 21, expanded section 2 does not satisfy the constraints, so it is set as an undetermined section.

[0103] Furthermore, when an undetermined section exceeds a certain area (e.g., 2×2), it is checked whether the above-mentioned approximation model satisfies the above-mentioned constraints. In the example shown in Fig. 21, since the expanded section 3 exceeds a certain area (e.g., 2×2), this determination is made. Until then, the expanded section is also considered an undetermined section.

[0104] If the pre-expansion section is an NG section, i.e., a section that does not satisfy the constraints and cannot be approximated, the expanded section is treated as an undetermined section. In the example shown in Figure 21, expanded section 5 corresponds to this, so it is treated as an undetermined section.

[0105] As a result of the above, there may be intervals that remain undetermined until the end. Such intervals may ultimately be determined as NG intervals, i.e., intervals that do not satisfy the constraints and cannot be approximated.

[0106] In this way, according to the data encoding device 30, axis-dependent data can be divided into optimal post-division axis-dependent data that can be compressed with the smallest amount of data, and therefore, optimal regions that can be regarded as linear combinations of each axis data (each axis error) can be generated, and by performing model approximation encoding of a linear combination model for each region, it is possible to further compress axis-dependent data that was previously difficult to compress.

[0107] 22 is a diagram showing the configuration of a data encoding device 40 in a third modified example of the approximation error detection device according to the first embodiment. As shown in Fig. 22, the data encoding device 40 differs from the data encoding device 30 in that it includes a learning result acquisition unit that acquires reinforcement learning results from the machine learning device 9 instead of dynamic programming, and divides axis-dependent data into sections using the learning results. Apart from this difference, the data encoding device 40 has the same configuration as the data encoding device 30.

[0108] The machine learning device 9 performs reinforcement learning for optimal division processing of axis-dependent data. In reinforcement learning by the machine learning device 9 of this embodiment, the machine learning device 9 as an agent acquires axis-dependent data such as the amount of error of an industrial machine as the state of the environment, and selects certain post-division axis-dependent data as an action, and the environment changes based on the action. In response to this change in the environment, the number of unapproximable points and the post-approximation data amount obtained by model approximation encoding the post-division axis-dependent data are obtained as judgment data. Then, some kind of reward is given according to the obtained judgment data, and the machine learning device 9 as an agent learns the optimal post-division axis-dependent data for selecting a better action, i.e., for decision-making. The machine learning device 9 as an agent learns to select an action that maximizes the total reward over the future.

[0109] Any learning method can be used for reinforcement learning. For example, Q-learning, which is a method of learning the value Q(s, a) of selecting action a in a certain environmental state s, can be used. In Q-learning, when a certain state s is reached, the action a with the highest value Q(s, a) is selected as the optimal action from among the possible actions a. However, when Q-learning is first started, the correct value Q(s, a) for the combination of state s and action a is not known at all. Therefore, the machine learning device 9 as an agent selects various actions a in a certain state s and selects a better action based on the reward given for the action a at that time, thereby learning the correct value Q(s, a).

[0110] Furthermore, since the machine learning device 9 wants to maximize the total reward that can be obtained in the future, it ultimately calculates Q(s, a)=E[Σ(γ t )r t ] where E[] represents the expected value, t is the time, γ is a parameter called the discount rate, which will be described later, and r t is the reward at time t, and Σ is the sum at time t. The expected value in this equation is the expected value when the state changes according to the optimal action. However, since it is unknown what the optimal action is in the Q-learning process, reinforcement learning is performed by searching through various actions. The update equation for such value Q(s, a) can be expressed, for example, as in the following equation (11).

[0111]

number

[0112] In the above formula (11), s t represents the state of the environment at time t, and a t represents the action at time t. Action a t Therefore, the state is s t+1 It changes to r t+1 represents the reward obtained by the change of the state. Also, the term with max represents the reward obtained by the change of the state s t+1 It is calculated by multiplying the Q value of the action a with the highest Q value known at that time by γ. Here, γ is a parameter that is 0<γ≦1 and is called the discount rate. Also, α is a learning coefficient that is in the range of 0<α≦1.

[0113] The above formula (11) is t As a result, the reward returned is r t+1 Based on the state s t Actions in a t The value of Q(s t ,a t ) is updated. This update formula is t Actions in a t The value of Q(s t ,a t) rather than action a t Next state by s t+1 The value of the best action in max a Q(s t+1 , a) is larger, then Q(s t ,a t ) is large, and conversely, if it is small, Q(s t ,a t ) is reduced. In other words, the value of an action in a certain state is brought closer to the value of the best action in the next state. However, the difference is determined by the discount rate γ and the reward r t+1 This varies depending on the state of affairs, but basically, the value of the best action in a certain state is propagated to the value of the action in the state immediately before it.

[0114] One method of Q-learning is to create a table of Q(s,a) for all state-action pairs (s,a) and then perform learning. However, there are cases where the number of states is too large to calculate the Q(s,a) values ​​for all state-action pairs, and it takes a long time for Q-learning to converge.

[0115] Therefore, a well-known technology called DQN (Deep Q-Network) may be used. Specifically, the value function Q may be constructed using an appropriate neural network, the parameters of the neural network may be adjusted, and the value function Q may be approximated by the appropriate neural network to calculate the value Q(s, a). By using DQN, it is possible to shorten the time required for Q-learning to converge. Note that DQN is described in detail, for example, in the non-patent document "Human-level control through deep reinforcement learning" by Volodymyr Mnih1 [online], [searched January 17, 2017], and on the Internet at URL: http: / / files.davidqiu.com / research / nature14236.pdf.

[0116] 22, the machine learning device 9 includes a state observation unit 91, a judgment data acquisition unit 92, a learning unit 93, and a decision-making unit 94. The learning unit 93 also includes a reward calculation unit 95 and a value function update unit 96.

[0117] The state observing unit 91 acquires axis-dependent data as state data from the data encoding device 7. The state observing unit 91 also outputs the acquired axis-dependent data to the learning unit 93.

[0118] The judgment data acquisition unit 92 acquires, as judgment data from the data encoding device 7, the number of unapproximable points and the approximated data amount obtained by model approximation encoding the divided axis-dependent data. The divided axis-dependent data is obtained by dividing the axis-dependent data into predetermined specified intervals according to a predetermined division criterion stored in advance. The judgment data acquisition unit 92 also outputs the acquired number of unapproximable points and the approximated data amount to the learning unit 93.

[0119] The reward calculation unit 95 of the learning unit 93 calculates a reward based on the acquired axis-dependent data, the number of unapproximable points, and the amount of post-approximation data. Specifically, the reward calculation unit 95 increases the reward when the number of unapproximable points decreases, and decreases the reward when the number of unapproximable points increases. Furthermore, the reward calculation unit 95 increases the reward when the amount of post-approximation data decreases, and decreases the reward when the amount of post-approximation data increases.

[0120] The value function update unit 96 of the learning unit 93 updates the stored value function by performing the above-mentioned Q-learning based on the axis-dependent data as state data, the number of unapproximable points and the approximated data amount obtained by model approximation encoding the divided axis-dependent data as judgment data, and the value of the reward. Note that the value function stored by the value function update unit 96 can be shared by, for example, multiple machine learning devices connected to each other so that they can communicate with each other.

[0121] Decision-making unit 94 acquires the updated value function from value function update unit 96. Furthermore, decision-making unit 94 outputs the optimal post-division axis-dependent data based on the acquired value function to data encoding device 40 as a behavior output.

[0122] FIG. 23 is a flowchart showing the procedure of the learning process performed by the machine learning device 9.

[0123] In step S21, first, the machine learning device 9 outputs the divided axis-dependent data as an action output to the data encoding device 40. The divided axis-dependent data output in this step is obtained by dividing the axis-dependent data into predetermined specified sections according to a predetermined division criterion stored in advance. The data encoding device 40 performs model approximation encoding on this divided axis-dependent data to generate the number of unapproximated points and the amount of approximated data. Then, the process proceeds to step S22.

[0124] In step S22, the machine learning device 9 acquires axis-dependent data as state data from the data encoding device 40. After that, the process proceeds to step S23.

[0125] In step S23, the machine learning device 9 acquires, as determination data, the number of unapproximated points and the amount of approximated data after model approximation encoding of the divided axis-dependent data generated in step S21 from the data encoding device 40. Then, the process proceeds to step S24.

[0126] In step S24, as a judgment condition 1, it is determined whether the number of unapproximable points has decreased when the data encoding device 40 performs model approximation encoding on the divided axis-dependent data. If the judgment is YES, the process proceeds to step S25, where the reward is increased. On the other hand, if the judgment is NO, the process proceeds to step S26, where the reward is decreased. Thereafter, the process proceeds to step S27.

[0127] In step S27, as a second judgment condition, it is judged whether the amount of data after model approximation encoding has decreased when the data encoding device 40 performs model approximation encoding on the divided axis-dependent data. If the judgment is YES, the process proceeds to step S28, where the reward is increased. On the other hand, if the judgment is NO, the process proceeds to step S29, where the reward is decreased. Thereafter, the process proceeds to step S30.

[0128] In step S30, the value function stored in value function update unit 96 is updated. Specifically, value function update unit 96 updates the stored value function by performing the above-mentioned Q-learning based on the axis-dependent data as state data, the number of unapproximable points and the approximated data amount obtained by model approximation encoding the divided axis-dependent data as judgment data, and the reward value. Then, the process proceeds to step S31.

[0129] In step S31, it is determined whether or not to continue the learning process. If the determination is YES, the process returns to step S21. On the other hand, if the determination is NO, the process ends.

[0130] In this way, according to the data encoding device 40, reinforcement learning by the machine learning device 9 can be used to divide axis-dependent data into optimal post-division axis-dependent data that can be compressed with the smallest amount of data, thereby generating optimal regions that can be considered as linear combinations of each axis data (each axis error).By performing model approximation encoding of a linear combination model for each region, it is possible to further compress axis-dependent data that was previously difficult to compress.

[0131] In this modification, the machine learning device 9 is provided separately from the data encoding device 40, but the present invention is not limited to this, and the machine learning device may be provided inside the data encoding device 40.

[0132] In the first embodiment described above, it is also possible to provide a data encoding program for causing the approximation error detection device 1 to execute processing. That is, it is also possible to provide an approximation error detection program for detecting approximation errors, which causes a computer to execute a step of detecting approximation error amounts whose absolute values ​​are equal to or greater than a predetermined threshold value among approximation error amounts when axis-dependent data is model-approximated based on part of axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine.

[0133] [Second embodiment] Fig. 24 is a diagram showing the configuration of an approximation error detection device 2 according to the second embodiment. As shown in Fig. 24, the approximation error detection device 2 of this embodiment differs from the approximation error detection device 1 of the first embodiment in that it includes a numerical display unit 22 for displaying the amount of approximation error. In addition, a display device 100 is communicably connected to the approximation error detection device 2 of this embodiment. Apart from this difference, the configuration of the approximation error detection device 2 of this embodiment is the same as that of the approximation error detection device 1 of the first embodiment.

[0134] The approximate error amount numerical display unit 22 acquires the approximate error amount equal to or greater than a predetermined threshold value detected by the approximate error amount detection unit 21. The approximate error amount numerical display unit 22 also outputs the acquired approximate error amount equal to or greater than the predetermined threshold value to the display device 100, thereby displaying the amount as a numerical value on the display screen of the display device 100.

[0135] Here, Fig. 25 is a diagram showing an example of a numerical display of the amount of approximation error when the threshold value is set to 0. In the example shown in Fig. 25, since the threshold value is 0, all of the amounts of approximation error when axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine is approximated and encoded are displayed on the display screen of the display device 100.

[0136] 26 is a diagram showing a first example of a numerical display of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. In the example shown in Fig. 26, since the absolute value of the threshold is set to a value greater than 0, it can be seen that the coordinates of the amount of approximation error (0, 0) are not displayed as compared to Fig. 25. In this way, the numerical display unit 22 can numerically display only the amount of approximation error that is equal to or greater than the threshold.

[0137] 27 is a diagram showing a second example of a numerical display of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. In the example shown in FIG. 27, since the absolute value of the threshold is greater than 0, it can be seen that the amount of approximation error at coordinates other than (0, 0) is displayed in bold and highlighted compared to FIG. 25. The method of highlighting is not particularly limited, and various methods such as bolding, highlighting, hatching, enlarging the displayed characters, and color coding can be used. In this way, the numerical display unit 22 can also highlight only the amount of approximation error that is equal to or greater than the threshold in numerical value.

[0138] According to this embodiment, the following effects are achieved.

[0139] The approximation error detection device 2 of this embodiment is further provided with a numerical display unit 22 that displays, as a numerical value, the amount of approximation error detected by the approximation error amount detection unit 21. This allows the user of the industrial machinery to visually and easily grasp the amount of approximation error that is equal to or greater than the threshold and is displayed as a numerical value on the display device 100.

[0140] [Third embodiment] Fig. 28 is a diagram showing the configuration of an approximate error detection device 3 according to the third embodiment. As shown in Fig. 28, the approximate error detection device 3 of this embodiment differs from the approximate error detection device 1 of the first embodiment in that it includes a diagram display unit 32 for displaying the approximate error amount. In addition, a display device 100 is communicably connected to the approximate error detection device 3 of this embodiment. Apart from this difference, the configuration of the approximate error detection device 3 of this embodiment is the same as that of the approximate error detection device 1 of the first embodiment.

[0141] The approximation error amount graphic display unit 32 acquires the approximation error amount equal to or greater than a predetermined threshold value detected by the approximation error amount detection unit 31. The approximation error amount graphic display unit 32 also outputs the acquired approximation error amount equal to or greater than the predetermined threshold value to the display device 100, thereby displaying the acquired approximation error amount equal to or greater than the predetermined threshold value in a graphic form on the display screen of the display device 100.

[0142] Here, Fig. 29 is a diagram showing an example of a graphical display of the amount of approximation error when the threshold value is set to 0. In the example shown in Fig. 29, since the threshold value is 0, all of the amounts of approximation error when axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine is approximated and encoded are displayed graphically on the display screen of the display device 100. More specifically, as shown in Fig. 29, the amount of approximation error is displayed graphically by the direction and length of an arrow.

[0143] 30 is a diagram showing a first example of a graphical display of the amount of approximation error when the absolute value of the threshold is set to a value greater than 0. In the example shown in Fig. 30, since the absolute value of the threshold is set to a value greater than 0, it can be seen that the arrow display of the coordinates where the amount of approximation error is (0, 0) is not displayed, as compared to Fig. 29. In this way, the graphical display unit 32 can graphically display only the amount of approximation error that is equal to or greater than the threshold.

[0144] 31 is a diagram showing a second example of a diagrammatic display of the approximation error amount when the absolute value of the threshold is set to a value greater than 0. In the example shown in FIG. 31, since the absolute value of the threshold is greater than 0, it can be seen that, compared to FIG. 29, the arrows indicating the approximation error amount at coordinates other than (0, 0) are displayed in bold and highlighted. There are no particular limitations on the method of highlighting, and various methods such as bolding, highlighting, hatching, enlarging the display, and color coding can be used. In this way, the diagram display unit 32 can also highlight only the approximation error amounts equal to or greater than the threshold in the diagram.

[0145] According to this embodiment, the following effects are achieved.

[0146] The approximation error detection device 3 of this embodiment is further provided with a diagram display unit 32 that displays, in a diagram, the amount of approximation error detected by the approximation error amount detection unit 31. This allows the user of the industrial machinery to easily visually grasp the amount of approximation error equal to or greater than the threshold value displayed in a diagram on the display device 100.

[0147] The present disclosure is not limited to the above-described embodiments, and includes modifications and improvements within the scope of achieving the object of the present disclosure.

[0148] In each of the above embodiments, each model approximation encoding unit is configured to include an approximation error calculation unit, but for example, the axis-dependent data after model approximation encoding, which is encoded by each data encoding device, may be decoded by a data decoding device, and the amount of approximation error may be calculated from the difference between the decoded axis-dependent data and the original axis-dependent data. [Explanation of symbols]

[0149] 1,2,3 Approximation Error Detector 9 Machine Learning Devices 10, 20, 30, 40 data encoding device 11, 21, 31 Approximation error amount detection unit 22 Numerical display of the amount of approximation error (numeric display) 32 Drawing display of approximation error amount (drawing display) 100 display device 101,201,301 Model Approximation Encoding Unit 102 Approximation error calculation section 202,302 Axis-dependent data division 303 Dynamic Programming Processing Unit 304 Optimality evaluation part after model approximation coding 305 Partial division of axis-dependent data 306 Optimization result combination of partially axis-dependent data

Claims

1. An approximation error detection device for detecting an approximation error, comprising: An approximation error detection device comprising an approximation error detection unit that detects approximation error amounts, the absolute values ​​of which are equal to or greater than a predetermined threshold, among approximation error amounts when the axis-dependent data is encoded, based on a portion of axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine.

2. 2. The approximate error detection device according to claim 1, further comprising a numerical value display unit that displays the approximate error amount detected by said approximate error amount detection unit as a numerical value.

3. 2. The approximation error detection device according to claim 1, further comprising a graphic display unit that displays the approximation error detected by said approximation error detection unit in a graphic form.

4. An approximation error detection program for detecting an approximation error, An approximation error detection program for causing a computer to execute a step of detecting an approximation error amount, the absolute value of which is equal to or greater than a predetermined threshold, among approximation error amounts when the axis-dependent data is encoded based on a portion of the axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine.

Citation Information

Patent Citations

  • Method for quickly optimizing geometric error compensation data of translational axis of five-axis numerical control machine tool

    CN112558547A

  • Computer controlled numerical controller and parameter setting method for same

    JP1996339216A

  • Industrial robot

    JP2000099123A

  • Numerical control apparatus for controlling five-axis machining tool

    JP2011209897A

  • Correction program and recording medium recording the same

    JP2014113674A