Approximate error detection device and approximate error detection program
Through the approximate encoding and linear combination model detection of the axis dependency data of industrial machinery, the problem of insufficient correction accuracy and data compression difficulty were solved, and the effective compression of the data and the improvement of the accuracy of error correction accuracy.
Patent Information
- Application Number
- CN202280097198.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-24
- Publication Date
- 2025-01-28
AI Technical Summary
In the prior art, due to the limited number of data input points during error correction, it is difficult to improve the accuracy of error correction, and when white noise with the same frequency occurs in the axis-dependent data, it is difficult to realize data compression.
Through the approximation of the axis dependency data that depends on the axis relying on the axis coordination value of the industrial machinery, and the linear combination model is used to detect the approximate error amount, the data compression and accuracy are improved.
The encoding and compression of the shaft -dependent data that is difficult to compress is achieved, the accuracy of error correction is improved, and the user pays attention to the reduction of error correction accuracy by detecting the approximate error amount.
Smart Images

Figure CN119384648A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an approximation error detection device and an approximation error detection program. Background Art
[0002] In the past, in industrial machinery such as machine tools or robots, a specified control point was moved to a specified position according to an instruction value. However, industrial machinery has errors, so the position of the control point is usually not the same as the instruction value. In order to solve the reduction in positioning accuracy and thus the reduction in processing accuracy, a technology for correcting the error so that the position of the control point is consistent with the instruction value has been proposed (for example, refer to Patent Document 1). In this technology, a pre-measured error amount is input into a control device, and the error is corrected according to a correction amount corresponding to the error amount.
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Publication No. 2011-209897 Summary of the invention
[0006] Problems to be solved by the invention
[0007] When correcting errors, the more points of error input to the control device, the more accurate the error correction can be. However, there is an upper limit to the size of data that can be input, so there is a problem that the accuracy of error correction cannot be improved if the upper limit of the size of data that can be input is exceeded.
[0008] Therefore, it is thought that the data of the error amount is compressed and input to the control device. As a technology for compressing data, data encoding technology can be listed, and entropy encoding technology represented by Huffman code is known. In entropy encoding technology, data is compressed by utilizing the frequency deviation of the value on the data, that is, the size of information entropy.
[0009] However, axis-dependent data, such as the above-mentioned error amount, which depends on the coordinate values of each axis of the industrial machine, sometimes has the property of white noise with the same frequency of occurrence. In this case, the above-mentioned information entropy cannot be used, so it is difficult to achieve data compression based on entropy coding.
[0010] In view of this, the inventors have studied a data encoding technology that can compress the axis-dependent data that depends on the coordinate values of each axis of the industrial machine by approximating and encoding. Here, when the axis-dependent data is encoded by approximating, an approximate error amount may remain. If the approximate error amount is usually small, but if it is larger than usual, there may be some problems when measuring the error amount or correcting the error, and the error correction cannot be performed with high accuracy. However, in the past, there was a problem that the user could not notice the reduction in the accuracy of such error correction.
[0011] The present disclosure has been made in view of the above circumstances, and an object thereof is to provide an approximation error detection device and an approximation error detection program capable of detecting an approximation error when axis-dependent data depending on coordinate values of each axis of an industrial machine is encoded by approximating the axis-dependent data.
[0012] Means for solving problems
[0013] One method disclosed herein is an approximate error detection device for detecting an approximate error, comprising: an approximate error amount detection unit, which detects an approximate error amount whose absolute value is greater than a specified threshold value when model approximate encoding is performed on the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
[0014] In addition, another embodiment of the present invention is an approximate error detection program for detecting approximate errors, wherein the approximate error detection program is used to cause a computer to perform the following steps: based on a portion of axis-dependent data and a linear combination model, detecting an approximate error amount whose absolute value is greater than a specified threshold value when model approximation encoding is performed on the axis-dependent data, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
[0015] Effects of the Invention
[0016] According to the present disclosure, it is possible to provide an approximation error detection device and an approximation error detection program capable of detecting an approximation error when axis-dependent data depending on coordinate values of each axis of an industrial machine is encoded by approximating the axis-dependent data. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It is a diagram showing the structure of the approximate error detection device according to the first embodiment.
[0018] Figure 2 This is a diagram showing an example of a text file containing only specific characters.
[0019] Figure 3 This is a diagram showing an example of data showing the frequency of occurrence of each value in a certain distribution.
[0020] Figure 4 This is a graph showing data in which the frequency of occurrence of each value is the same.
[0021] Figure 5 This is a diagram showing the errors of each axis on the X-axis.
[0022] Figure 6 This is a diagram showing the errors of each axis on the Y axis.
[0023] Figure 7 It is a graph showing the error amount of the coordinate value (X2, Y1).
[0024] Figure 8 This is a graph showing the amount of error when it cannot be expressed by a linear combination of the errors in each axis.
[0025] Fig. 9 yes Figure 8 A partial enlarged view of .
[0026] Fig.10 This figure shows a bitmap image obtained by visualizing the error map.
[0027] Fig.11 This is a diagram showing an example of axis-dependent data.
[0028] Fig.12 It means that Fig.11 A plot of the linear combination model in which the axis-dependent data are approximated as a linear combination of the errors of each axis of an industrial machinery.
[0029] Fig.13 This is a graph showing the amount of approximation error with a large absolute value.
[0030] Fig.14 This is a diagram showing a situation when a structure and an industrial machine interfere with each other when measuring an approximate error amount.
[0031] Fig.15 It is a diagram showing the structure of a data encoding device in a first modification of the approximate error detection device of the first embodiment.
[0032] Fig.16 This is a diagram showing axis-dependent data divided into a plurality of regions in a grid shape.
[0033] Fig.17 This is a diagram showing an example of axis-dependent data after segmentation.
[0034] Fig.18It is a diagram showing the structure of a data encoding device in a second modification of the approximate error detection device of the first embodiment.
[0035] Fig.19 This is a flowchart showing the axis-dependent data division process performed by the dynamic programming processing unit.
[0036] Fig. 20 This is a diagram showing the divided intervals before the data of each axis (error of each axis) is expanded by one column in the positive X direction.
[0037] Fig.21 This is a diagram showing the divided intervals after the data of each axis (error of each axis) is expanded by one column in the positive X direction.
[0038] Fig. 22 It is a diagram showing the structure of a data encoding device in a third modified example of the approximate error detection device of the first embodiment.
[0039] Fig.23 This is a flowchart showing the learning process performed by the machine learning device.
[0040] Fig.24 It is a diagram showing the structure of an approximate error detection device according to a second embodiment.
[0041] Fig.25 This is a diagram showing an example of numerical display of the approximate error amount when the threshold is set to 0.
[0042] Fig.26 This is a diagram showing a first example of numerical display of the approximate error amount when the absolute value of the threshold is set to a value larger than 0.
[0043] Fig. 27 This is a diagram showing a second example of numerical display of the approximate error amount when the absolute value of the threshold is set to a value larger than 0.
[0044] Fig.28 It is a diagram showing the configuration of an approximate error detection device according to a third embodiment.
[0045] Fig.29 This is a diagram showing an example of a graph display of the approximate error amount when the threshold is set to 0.
[0046] Fig.30 This is a diagram showing a first example of a graph display of the amount of approximate error when the absolute value of the threshold is set to a value larger than 0.
[0047] Fig.31 This is a diagram showing a second example of the graphical display of the amount of approximate error when the absolute value of the threshold is set to a value larger than 0. DETAILED DESCRIPTION
[0048] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second embodiment and thereafter, description of the configuration common to the first embodiment will be appropriately omitted.
[0049] [First embodiment]
[0050] The approximate error detection device of the first embodiment is a device capable of detecting the approximate error when the axis-dependent data that depends on the coordinate values of each axis of the industrial machinery is encoded by approximation. As described above, the axis-dependent data that depends on the coordinate values of each axis of the industrial machinery is difficult to compress data in the previous entropy coding technology. In response to this, the inventors have studied the data encoding technology that can compress the axis-dependent data that depends on the coordinate values of each axis of the industrial machinery by approximation encoding, but sometimes the approximate error amount will remain when the axis-dependent data is encoded by approximation. In the case where the approximate error amount is larger than usual, there may be some problems when measuring the error amount or correcting the error, and the error correction cannot be performed with high precision. Therefore, the approximate error detection device of this embodiment can detect such an approximate error, and the user can notice the reduction in the accuracy of the error correction.
[0051] Figure 1 FIG. 1 is a diagram showing the structure of the approximate error detection device 1 according to the first embodiment. Figure 1 As shown in FIG. 1 , the approximate error detection device 1 of the present embodiment includes an approximate error amount detection unit 11. The approximate error detection device 1 is configured using, for example, a computer having a memory such as a ROM (read only memory) and a RAM (random access memory) connected to each other via a bus, a CPU (central processing unit), an operation unit such as a keyboard, a display, and a communication control unit. The functions and operations of the functional units described below are achieved by the cooperation of the CPU, the memory, and the control program stored in the memory mounted on the computer.
[0052] The approximate error detection device 1 may be provided in a numerical control device (CNC: Computerized Numerical Control) corresponding to a control device of an industrial machine such as a machine tool or a robot, or a robot control device, or may be provided in an external computer or the like so as to be communicable with these control devices.
[0053] Before describing the configuration of the approximate error detection device 1 according to the present embodiment, the data encoding device 10 for generating the approximate error amount after approximate encoding of the model input to the approximate error detection device 1 according to the present embodiment will be described in detail.
[0054] The data encoding device 10 is a data encoding device that can encode and compress axis-dependent data that depends on the coordinate values of each axis of the industrial machine, represented by the error amount used in the 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 sometimes has the property of white noise with the same frequency of occurrence as a whole. Therefore, it is difficult to compress the data in the conventional entropy encoding technology that uses the frequency deviation of the values on the data, that is, the size of the information entropy. However, the data encoding device 10 can encode and compress the axis-dependent data that depends on the coordinate values of each axis of the industrial machine.
[0055] like Figure 1 As shown, the data encoding device 10 has a model approximation encoding unit 101. The model approximation encoding unit 101 generates encoded axis-dependent data by encoding the axis-dependent data based on the axis-dependent data and the linear combination model. When describing the structure of the data encoding device 10, first, the conventional data encoding technology is described.
[0056] Conventionally, entropy coding techniques such as Huffman codes are known as data coding techniques. Entropy coding techniques compress data by utilizing the frequency deviation of values on data, that is, the magnitude of information entropy.
[0057] Here, Figure 2 is a diagram showing an example of a text file containing only specific characters. Figure 3 This is a graph showing an example of data showing the frequency of occurrence of each value in a certain distribution. Figure 2 and Figure 3 In , the horizontal axis represents the bit value and the vertical axis represents the frequency of occurrence of each value. Figure 2 For example, a text file containing only 16 characters, 0 to 9 and A to F, as specific characters, usually requires 8 bits to represent one character. However, entropy coding can represent one character with a maximum of 4 bits, so the data can be compressed to about half. Figure 3 As shown in the figure, for data with different frequencies of occurrence, short bit values are assigned to high-frequency values, and long bit values are assigned to low-frequency values through entropy coding, thereby compressing the data.
[0058] In contrast, Figure 4 is a graph showing data where the frequency of occurrence of each value is the same. Figure 2 and Figure 3 Same, in Figure 4 In , the horizontal axis represents the bit value and the vertical axis represents the frequency of occurrence of each value. Figure 4 Data of white noise with the same frequency of occurrence as shown cannot utilize the magnitude of the information entropy described above, and therefore, it is difficult to achieve data compression based on entropy coding.
[0059] However, as static error corrections for each axis of industrial machinery, pitch error correction, straightness error correction, and three-dimensional error correction can be listed. Pitch error correction is error correction along the axial direction. Straightness error correction is error correction in a direction orthogonal to the axial direction. Three-dimensional error correction is correction of three-dimensional space errors. These error corrections are performed by inputting the error amount measured according to the coordinate value of each axis (hereinafter referred to as each axis error) into the control device in the amount of the number of axes. The more input points there are, the higher the accuracy of the error correction, but there is an upper limit to the size of data that can be input.
[0060] Figure 5 This is a graph showing the axis errors of the X axis. The axis errors of the X axis are the errors of the coordinate values measured when only the X axis is moved while the Y axis and Z axis are fixed. Figure 5 As shown, the error amounts of the coordinate values X0, X1, X2 and X3 are represented by vectors with different sizes and directions.
[0061] in addition, Figure 6 This is a graph showing the axis errors of the Y axis. The axis errors of the Y axis are the errors of the coordinate values measured when only the Y axis is moved while the X axis and the Z axis are fixed. Figure 6 As shown, the error amounts of the coordinate values Y0, Y1 and Y2 are represented by vectors with different sizes and directions.
[0062] Here, in the error correction of each axis, it is assumed that the errors of each axis are linearly independent. That is, the coordinate values X1, ..., X L The error in the vector E[X 1 ]…、[X L ]) is assumed to be a linear combination of the errors of each axis, as expressed by the following mathematical formula (1).
[0063] [Mathematical formula 1]
[0064]
[0065] In the above mathematical formula (1), L represents the number of axes to be corrected for error. 1 Indicates the lth correction target axis.
[0066] The above mathematical formula (1) based on the above assumption is generally valid, and error correction of each axis is widely used in the past. For example, Figure 7 is a graph showing the amount of error in the coordinate values (X2, Y1). Figure 7 As shown, the error amount (vector E[X2][Y1]) in the coordinate value (X2, Y1) can be regarded as the error amount (vector E X [X2]) and the error between the coordinate value Y1 (vector E Y[Y1]) is expressed as the following mathematical formula (2).
[0067] [Mathematical formula 2]
[0068]
[0069] However, overall, there are errors in each axis (vector E X [X], vector E Y [Y]) or the frequency of occurrence of the value in the error amount (vector E[X][Y]) is the same, which is the case of white noise. In this case, it is difficult to compress this data in the previous entropy coding technology that uses the frequency deviation of the value on the data, that is, the size of the information entropy.
[0070] In addition, the errors of each axis are not linearly independent, and the error amount (vector E[X 1 ]…[X L ]) is sometimes determined by the correlation of multiple axes. That is, as shown in the following mathematical formula (3), the error amount (vector E[X 1 ]…[X L ]) and sometimes also contain related terms (the vector δ[X 1 ]…[X L ]) and cannot be expressed by a linear combination of the errors of the axes.
[0071] [Mathematical formula 3]
[0072]
[0073] Figure 8 This is a graph showing the amount of error when it cannot be expressed by a linear combination of the errors of each axis. Figure 8 As shown, when the errors of each axis are not linearly independent, the error amount (vector E[X 1 ]…[X L ]), it needs to be set to include the relevant terms expressed by the above mathematical formula (3) (vector δ[X 1 ]…[X L ]) rather than the error amount represented by the above mathematical formula (1). In this case, the error amount (hereinafter referred to as spatial error) is input into the control device for correction according to the space related to the error amount, so it is called error correction of each space.
[0074] Here, the inventors have found that the spatial error has the following property: even if the spatial error is not represented as a linear combination of the errors of each axis as a whole, it can be locally regarded as a linear combination of the errors of each axis, just like the errors of each axis. Fig. 9 yes Figure 8 A partial enlargement of Fig. 9In the local area surrounded by the dotted line in the figure, the above-mentioned correlation term (vector δ[X 1 ]…[X L ]) can be regarded as 0, and the spatial error can be expressed as a linear combination of the errors of each axis. That is, the spatial error (vector E[X][Y]) is expressed as the linear combination of the errors of each axis (vector E X [X]) and the axis errors (vector E Y This means that the spatial error (vector E[X][Y]) can be approximated by taking the error amount in the X-axis direction (vector E[X][Y]) from the axis data (axis errors) at multiple coordinate points in a grid. X [X]) and the error in the Y-axis direction (vector E Y [Y]), and linearly combine them. In addition, as a local area, for example, the central area of the movable range of industrial machinery can be cited.
[0075] [Formula 4]
[0076]
[0077] However, overall, there are cases where the frequency of occurrence of values in the spatial error (vector E[X][Y]) is uniform and is white noise, which is difficult to compress using the previous entropy coding technology that uses the size of information entropy. For example, Fig.10 This is a diagram showing a bitmap image after the error map is visualized when the error correction target axes are set to the two axes of X and Y. The RGB value of each pixel corresponds to the error amount vector E. In addition, the error amount of each pixel (vector E[X][Y]) is given by the vector E according to the above mathematical formula (4). X [X] and vector E Y [Y] is expressed as the sum of. For example, Fig.10 When the number of pixels of the bitmap image shown is 10×10, which is 374 bytes, if it is encoded by ZIP compression, which is a representative entropy coding technology, it becomes 393 bytes. Thus, it can be seen that the conventionally known entropy coding has no compression effect, and the data size increases depending on the situation, which is a counterproductive effect.
[0078] According to the above, in the data encoding device 10, even axis-dependent data that depends on the coordinate values of the axes of the industrial machine, such as the error amount used in the error correction of the axes of the industrial machine, can partially utilize the property that can be regarded as a linear combination of the errors of the axes as shown in the above mathematical formula (1). As a result, in the data encoding device 10, it is possible to encode and compress axis-dependent data that was difficult to obtain in the past.
[0079] Back to Figure 1The data encoding device 10 is constituted by, for example, a computer having a memory such as a ROM (read only memory) and a RAM (random access memory) connected to each other via a bus, a CPU (control processing unit), an operation unit such as a keyboard, a display, and a communication control unit. The functions and actions of the functional units described below are achieved by the cooperation of the CPU, the memory, and the control program stored in the memory mounted on the computer.
[0080] The data encoding device 10 may be provided in a numerical control device (CNC: Computerized Numerical Control) or a robot control device corresponding to a control device of an industrial machine such as a machine tool or a robot, or may be provided in an external computer or the like so as to be communicable with these control devices.
[0081] The model approximation encoding unit 101 of the data encoding device 10 generates encoded axis-dependent data after encoding the axis-dependent data based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data (axis errors) of the industrial machinery. For example, the axis-dependent data is input from the above-mentioned control device, etc. In addition, the linear combination model is stored in the storage unit of the data encoding device 10, for example.
[0082] Here, the axes of the industrial machinery refer to the axes of the machine tool, i.e., the X-axis, Y-axis, and Z-axis. In addition, as axis-dependent data, in addition to the error amount used in the error correction of the axes of the industrial machinery, for example, the setting error amount of a large workpiece whose displacement varies according to the coordinate value due to the bending effect caused by its own weight can also be listed. These error amounts and the setting error amount of the workpiece are data that depend on the coordinate values of the axes of the industrial machinery.
[0083] Below, refer to Fig.11 as well as Fig.12 The model approximate coding using the linear combination model by the model approximate coding unit 101 will be described in detail.
[0084] Fig.11 is a diagram showing an example of axis-dependent data. Fig.11 In the example shown, axis-dependent data is shown when the target axes for error correction and the like are two axes, namely, the X axis and the Y axis. Fig.11 The axis-dependent data shown is, for example, the error amount of each axis of industrial machinery, and the axis-dependent data of a local area in the axis-dependent data without the frequency deviation of the value on the data as a whole is the axis-dependent data that can be approximated by the linear combination model described later. Fig.11 In the example of the axis-dependent data shown, data of each axis (error of each axis) having N×M points are totaled.
[0085] Fig.12 It means that Fig.11 The axis-dependent data is approximated as a linear combination model of the linear combination of the errors of each axis of the industrial machinery. As mentioned above, even if the error amount (vector E[X 1 ]…[X L ]) according to the model represented by the above mathematical formula (3), and the whole is regarded as a related term (vector δ[X 1 ]…[X L ]) is strongly affected, it is also believed that there is a region that can be approximated by the linear combination model represented by the above mathematical formula (1) locally. For such an approximable region, Fig.12 As shown, the approximate model (vector Ea[X 1 ]…[X L ]) to express the error amount. That is, the error amount can be approximated as follows: Take out the error amount of a column in the X-axis direction (vector Ea X [X]) and the error in the Y-axis direction (vector Ea Y [Y]) and combine them linearly. Fig.12 In the example shown, the approximated data of each axis (error of each axis) totals N+M points, and it can be seen that the axis-dependent data can be compressed.
[0086] [Mathematical formula 5]
[0087]
[0088] In the above mathematical formula (5), X 1 , X L As shown in the following mathematical formula (6), the vector c is defined as the average value as shown in the following mathematical formula (7). X 1 [X 1 ] is expressed as the following mathematical formula (8). In addition, L represents the number of axes to be corrected for error, X 1 represents the first correction target axis, and N1 represents the number of error amount points of the first correction target axis.
[0089] [Mathematical formula 6]
[0090]
[0091] [Formula 7]
[0092]
[0093] [Mathematical formula 8]
[0094]
[0095] Among them, x p is satisfied Any value of It is common in China.
[0096] In the mathematical formula (8), X represents a one-dimensional axial space, whereas x represents an element (factor) belonging to the space. p is any value from 1 to L. For example, if x 3 , which means that the axis X 3 A possible value.
[0097] If the vector c is defined as in the above mathematical formula (7), then the approximate model of the above linear combination model (vector Ea[X1]…[X L ]) is a maximum likelihood estimation model that minimizes the evaluation function J represented by the following mathematical formula (9). That is, the evaluation function J is represented by the original error amount before approximation (vector E[X 1 ]…[X L ]) and the approximated error (vector Ea[X 1 ]…[X L ]) to determine the approximate model (vector Ea[X1]…[X L ]), so that the evaluation function J is minimized. The approximate model of the linear combination model determined in this way is stored in, for example, a storage unit of the data encoding device 10 and used for model approximate encoding of the model approximate encoding unit 101.
[0098] [Mathematical formula 9]
[0099]
[0100] In this way, in the data encoding device 10, by approximating a part of the axis-dependent data as a linear combination of the data of each axis (the errors of each axis), the axis-dependent data that was previously difficult to compress can be encoded and compressed. Therefore, without increasing the storage capacity, the amount of error data that can be input to the control device of the industrial machinery, etc. can be increased, and the errors of the industrial machinery can be corrected with higher accuracy.
[0101] Back to Figure 1 The data encoding device 10 includes an approximation error calculation unit 102 for calculating the approximation error amount after model approximation encoding. The approximation error calculation unit 102 is provided in the model approximation encoding unit 101, and calculates the approximation error amount when performing model approximation encoding on the axis-dependent data.
[0102] As described above, in the approximate model (vector Ea[X 1 ]…[X L ]) to express the error, the approximate error (vector γ[X 1 ]…[X L ]) is expressed by the following mathematical formula (10).
[0103] [Formula 10]
[0104]
[0105] In mathematical formula (10), the vector E[X 1 ]…[X L ] is the original error before the model is approximated, and the vector Ea[X 1 ]…[X L ] is the error after the model is approximated. According to the mathematical formula (10), these differences are the approximation errors (vector γ[X 1 ]…[X L ]).
[0106] Here, the approximate model (vector Ea[X 1 ]…[X L ]) is the maximum likelihood inference model, so the approximate error (vector γ[X 1 ]…[X L ]) is minimized, and only a very small value is obtained. In addition, the approximate error (vector γ[X][Y]) is not uniform only for small values, and the frequency distribution of this value is also not uniform. Therefore, the approximate error (vector γ[X][Y]) can be 1 ]…[X L ]) is encoded and compressed.
[0107] Therefore, the approximate error amount after the model approximate encoding unit 101 performs the model approximate encoding should basically be well approximated by the linear combination of each axis data. However, in the model approximate encoding of the model approximate encoding unit 101, the approximate error amount may sometimes remain. Here, Fig.13 is a graph showing the amount of approximation error with a large absolute value. Fig.13 As shown in FIG. 1 , the approximate error amount may be large in a certain specific coordinate (Xa, Xb). The cause of this may be, for example, a case where the method for measuring the approximate error amount is wrong or inappropriate.
[0108] Fig.14 This is a diagram showing the situation when a structure and industrial machinery interfere with each other when measuring the approximate error amount. Fig.14As shown in the figure, when measuring the approximate error of a specific coordinate value, sometimes the mechanical structure constituting the industrial machinery, such as the mechanical workbench, interferes with the undesired structure. In this case, the approximate error cannot be accurately measured due to the reaction force of the interference. In addition, if the interference is eliminated when the structure is moved after the measurement, such as when it falls over, the result is that sometimes only the measurement result of the specific coordinate will be inaccurate, and the approximate error will increase.
[0109] As described above, when an inappropriate approximate error amount is used to perform error correction, the accuracy of the error correction is reduced, but in the past, there was no measure to alert the user to such a reduction in error correction accuracy. Therefore, the approximate error amount detection unit 11 of the approximate error detection device 1 of the present embodiment has a function of detecting the approximate error amount, thereby allowing the user to notice the reduction in error correction accuracy.
[0110] Specifically, the approximate error amount detection unit 11 detects the approximate error amount whose absolute value is greater than a predetermined threshold value among the approximate error amounts when the axis-dependent data is model-approximately encoded based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery. The approximate error amount detected by the approximate error amount detection unit 11 is output to the outside, etc. Thus, the user of the industrial machinery can notice that the approximate error amount after the model-approximate encoding is greater than the predetermined threshold value.
[0111] In addition, the approximate error amount after the model approximate encoding when the axis-dependent data is model approximate encoded is generated by the model approximate encoding unit 101 of the data encoding device 10 and is input to the approximate error amount detection unit 11. In addition, the threshold value of the approximate error amount is set to an appropriate value according to the approximate error amount in normal times by performing a test in advance, etc., and is stored in the storage unit of the approximate error detection device 1, etc., and is obtained from the storage unit. For example, 0 can be set as the predetermined threshold value, and all approximate error amounts are detected at this time.
[0112] According to this embodiment, the following effects are achieved.
[0113] In the approximate error detection device 1 of the present embodiment, an approximate error amount detection unit 11 is provided. The approximate error amount detection unit 11 detects the approximate error amount whose absolute value is greater than a predetermined threshold value among the approximate error amounts when the axis-dependent data is model-approximate encoded based on a part of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery. Thus, it is possible to detect the approximate error amount greater than the normal one among the approximate error amounts when the axis-dependent data that depends on the coordinate values of each axis of the industrial machinery is approximated and encoded. Therefore, the user of the industrial machinery can notice that the approximate error amount after the model-approximate encoding is greater than the predetermined threshold value, can implement countermeasures for eliminating certain adverse conditions that occur when measuring the approximate error amount or when correcting the error, and can perform appropriate error correction.
[0114] [Modifications]
[0115] A modification example in which the structure of the data encoding device is different from the approximate error detection device 1 of the first embodiment will be described. Fig.15 FIG. 2 is a diagram showing the structure of a data encoding device 20 in a first variation of the approximate error detection device 1 of the first embodiment. Fig.15 As shown, the data encoding device 20 of the first modified example is different from the above-mentioned data encoding device 10 in that it has an axis-dependent data segmentation unit 202. In addition, the model approximation encoding unit 201 is different from the above-mentioned model approximation encoding unit 101 in that the model approximation encoding is performed based on the segmented axis-dependent data generated by segmenting the axis-dependent data into a plurality of pieces and the above-mentioned linear combination model. The structure of the data encoding device 20 other than these differences is the same as that of the data encoding device 10.
[0116] The above-mentioned data encoding device 10 treats a part of the axis-dependent data in which white noise has the same frequency of occurrence as a whole as data that can be regarded as a linear combination of the axis data (the axis errors), and performs model approximation encoding of the linear combination model. In contrast, the data encoding device 20 actively divides the axis-dependent data into a plurality of regions, generates a plurality of regions that can be regarded as a linear combination of the axis data (the axis errors), and can more reliably perform model approximation encoding of the linear combination model.
[0117] The axis-dependent data dividing unit 202 divides the axis-dependent data to generate a plurality of divided axis-dependent data. Fig.16 is a graph showing axis-dependent data divided into multiple regions in a grid. Fig.16 As shown in FIG. 1 , the axis-dependent data input to the data encoding device 20 is divided into a plurality of grid-like regions according to the axis data (axis errors) at the coordinate values. Fig.16In the example shown, the axis-dependent data is divided into a grid of 15×15=225 points. The axis-dependent data dividing unit 202 divides the axis-dependent data into a plurality of points along these divisions, for example.
[0118] The axis-dependent data segmentation unit 202 is not particularly limited in its axis-dependent data segmentation method, but preferably, the axis-dependent data is segmented in such a way that a plurality of regions that can be regarded as linear combinations of the axis data (the axis errors) are generated. It is particularly preferred that the axis-dependent data segmentation unit 202 segment the axis-dependent data into a plurality of regions that can best approximate (compress) the axis-dependent data.
[0119] Fig.17 is a diagram showing an example of axis-dependent data after segmentation. Fig.17 In the example shown, the axis-dependent data input to the data encoding device 20 is divided into five divided intervals 1 to 5 by the axis-dependent data division unit 202. That is, each data in each area of the five divided intervals 1 to 5 is equivalent to the axis-dependent data after division, and these divided axis-dependent data can be regarded as a linear combination of each axis data (each axis error), and the model approximate encoding of the linear combination model performed by the model approximate encoding unit 201 described later can be realized. On the other hand, outside the area of the five divided intervals 1 to 5, the axis-dependent data cannot be regarded as a linear combination of each axis data (each axis error), and the model approximate encoding of the linear combination model cannot be realized.
[0120] The model approximation encoding unit 201 generates the encoded axis-dependent data based on the plurality of segmented axis-dependent data and the linear combination model. As described above, in each region of the plurality of segmented intervals 1 to 5, the axis-dependent data can be regarded as a linear combination of the axis data (the axis errors). Therefore, the model approximation encoding unit 201 generates the encoded axis-dependent data compressed by the model approximation by performing the model approximation encoding of the linear combination model on the segmented axis-dependent data.
[0121] In addition, Fig.15 Although not shown in the figure, the model approximate coding unit 201 has an approximate error calculation unit similar to the above-mentioned model approximate coding unit 101. Therefore, the model approximate coding unit 201 generates and outputs the approximate error amount after the model approximate coding.
[0122] In this way, according to the data encoding device 20, by actively dividing the axis-dependent data into multiple regions, multiple regions that can be regarded as linear combinations of each axis data (each axis error) can be generated. By performing model approximation encoding of the linear combination model on each region, the axis-dependent data that was previously difficult to compress can be more reliably compressed.
[0123] in addition, Fig.18FIG. 4 is a diagram showing the configuration of the data encoding device 30 in the second modified example of the approximate error detection device of the first embodiment. Fig.18 As shown, the data encoding device 30 is different from the data encoding device 20 in that the structure of the axis-dependent data division unit 302 is different from the above-mentioned axis-dependent data division unit 202. The structure of the data encoding device 30 is the same as that of the data encoding device 20 except for this difference.
[0124] In the above-mentioned data encoding device 20, the method of dividing the axis-dependent data is not particularly limited, but the axis-dependent data is divided using dynamic programming in the data encoding device 30. 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.
[0125] like Fig.18 As shown, the axis-dependent data segmentation unit 302 has a dynamic programming processing unit 303. The dynamic programming processing unit 303 generates the optimal segmented axis-dependent data by executing the dynamic programming method. Specifically, the dynamic programming processing unit 303, as a functional unit for executing the dynamic programming method, has: an optimality evaluation unit 304 after model approximate encoding, a partial segmentation unit 305 of the axis-dependent data, and an optimization result combination unit 306 of the partial axis-dependent data.
[0126] Here, the dynamic programming method executed by the dynamic programming processing unit 303 will be described in detail.
[0127] Dynamic programming is a general algorithm for solving optimization problems. Dynamic programming is an algorithm with the following two characteristics. The first characteristic is that it solves problems recursively. That is, it is characterized by dividing the problem into small-scale partial problems, recursively optimizing the partial problems, and combining the optimization results of the partial problems as the solution to the original problem of a larger scale. In addition, the second characteristic is that the processing load can be reduced by recording the optimization results. That is, it is characterized by that in the process of recursively solving the problem, the same problem sometimes appears multiple times, and in order to omit the calculation of the solved problem, the optimization results of the problem that has been solved once are recorded in advance and reused.
[0128] Therefore, the dynamic programming method processing unit 303 has an optimality evaluation unit 304 after model approximate encoding as a unit for evaluating the optimality of the result. That is, the optimality evaluation unit 304 after model approximate encoding evaluates the optimality of the axis-dependent data after encoding. The optimality evaluation of the axis-dependent data after encoding can be evaluated, for example, based on whether the approximate error amount after model approximate encoding is within a specified limit tolerance. In addition, the approximate error amount after model approximate encoding is the difference between the original error amount before model approximate encoding as described above and the error amount after model approximate encoding. The limit tolerance can be, for example, the approximate error allowable value or the number of data allowable points exceeding the approximate error allowable value.
[0129] In addition, the dynamic programming method processing unit 303 has an axis-dependent data partial segmentation unit 305 as a unit for segmenting a problem to perform partial problemization. The axis-dependent data partial segmentation unit 305 segments the axis-dependent data into a plurality of parts to generate partial axis-dependent data. The axis-dependent data partial segmentation unit 305, for example, segments the axis-dependent data interval into a prescribed designated interval according to a prescribed segmentation criterion stored in advance, and then optimizes by reducing the axis-dependent data by 1 point in each of the + direction or - direction of each axis such as the X-axis and the Y-axis, thereby segmenting the axis-dependent data into a plurality of parts. The axis-dependent data segmentation performed by the axis-dependent data partial segmentation unit 305 will be described in detail later.
[0130] In addition, the dynamic programming method processing unit 303 has an optimization result combination unit 306 for partial axis-dependent data, which serves as a unit for combining (combining) optimization results of partial problems. The optimization result combination unit 306 for partial axis-dependent data generates the optimal post-segmentation axis-dependent data by expanding and combining the partial axis-dependent data. The optimization result combination unit 306 for partial axis-dependent data optimizes, for example, the partial axis-dependent data generated by the partial segmentation unit 305 of the axis-dependent data splitting the axis-dependent data by expanding each of the + direction or - direction of each axis such as the X-axis and the Y-axis by 1 point. The generation of the optimal post-segmentation axis-dependent data by the optimization result combination unit 306 for partial axis-dependent data will be described in detail later.
[0131] Below, refer to the above Fig.16 , Fig.17 as well as Fig.19 The division of the axis-dependent data by the dynamic programming processing unit 303 will be described in detail.
[0132] As mentioned above Fig.16 As shown in FIG. 1 , the axis-dependent data is divided into a grid of 15×15=225 points, for example. If the dynamic programming processing unit 303 divides such axis-dependent data into sections, for example, Fig.17The axis-dependent data after segmentation as shown. In the interval segmentation of the axis-dependent data in the dynamic programming method processing unit 303, the approximate error of each error amount when approximating each area of the segmented interval by the above-mentioned approximate model is converged within the restricted allowable amount. In addition, the points where the approximate error does not converge within the restricted allowable amount are allowed to be limited to the allowed number of points. Nevertheless, the number of points that cannot be approximated and do not meet the restrictions can be minimized. Thus, for example, the number of data points 225 can be compressed to 92 points, which can reduce the data size.
[0133] Fig.19 : is a flowchart showing the process of dividing the axis-dependent data by the dynamic programming processing unit 303. The division of the axis-dependent data by the dynamic programming processing unit 303 is performed by recursively searching for the optimal division interval of the axis-dependent data by the dynamic programming method.
[0134] In step S1, the axis-dependent data section is divided into predetermined designated sections. However, if the axis-dependent data division process by the dynamic programming processing unit 303 is completed, the stored processing result may be reflected in this step. Then, the process proceeds to step S2.
[0135] In step S2, an approximate model of the area (designated area) in the designated interval after the interval division in step S1 is generated. Specifically, for each designated area, an approximate model (vector Ea[X1]…[X2]) as a linear combination model described in the first embodiment is generated. L ]). Then, proceed to step S3.
[0136] In step S3, it is determined whether the approximate model of the designated area generated in step S2 satisfies all point restrictions. As restrictions, it can be listed whether the approximate errors of all points are within the allowable value, or whether the points whose approximate errors are not within the allowable value are within the allowable number of points. If the determination is yes, the axis-dependent data is optimally segmented to obtain the optimal segmented axis-dependent data, and the process is terminated. On the other hand, if the determination is no, the process proceeds to step S4.
[0137] In step S4, n is set to an initial value of 1. Here, the value of n represents each axis. For example, when the axis structure is a total of two axes, the X axis is represented when n is 1, and the Y axis is represented when n is 2. Then, the process proceeds to step S5.
[0138] In step S5, it is determined whether n is greater than L. Here, L is the number of axes in the specified interval of the axis-dependent data. For example, if there are two axes, the X-axis and the Y-axis, L is 2. If the determination is yes, the process proceeds to step S11. On the other hand, if the determination is no, the process proceeds to step S6.
[0139] Regarding the processing of steps S6 to S10, when n is less than L and the number of axes is two axes, the X axis and the Y axis, if n is 1, it indicates processing for the X axis, and if n is 2, it indicates processing for the Y axis.
[0140] In step S6, the axis-dependent data section is divided into the specified section from step S1 to X. n The positive direction shrinks the specified interval of each axis data (axis error). n The positive direction shrinks a column of axis data (axis error) into a new interval division. If n is 1, then X n The positive direction refers to the positive direction of the X axis. The result is output as the optimization result nP. If n is 1, the optimization result 1P is output. Then, the process proceeds to step S7.
[0141] In step S7, the optimization result nP obtained in step S6 is transmitted to X n Expand a column of axis data (axis error) in the positive direction. Output the result as optimization result nP + If n is 1, the output optimization result is 1P + Since n can be in the range of 1 to L, through this step, the optimization results 1P to LP are obtained. + . Then, proceed to step S8.
[0142] In step S8, the axis-dependent data section is divided into the sections from the designated section in step S1 to the X section. n The negative direction shrinks the specified interval of each axis data (axis error). n The negative direction reduces the new interval division of a column of axis data (axis error). If n is 1, then X n The negative direction refers to the negative direction of the X axis. The result is output as the optimization result nM. If n is 1, the optimization result 1M is output. Then, the process proceeds to step S9.
[0143] In step S9, the optimization result nM obtained in step S8 is transferred to X n Expand a column of axis data (axis error) in the negative direction. Output the result as optimization result nM + If n is 1, the output optimization result is 1M + Since n can be in the range of 1 to L, through this step, the optimization results 1M to LM are obtained. + . Then, proceed to step S10.
[0144] In step S10, n is incremented by 1. Thereafter, the process returns to step S5.
[0145] In addition, when n is larger than L, if the number of axes is two axes, the X axis and the Y axis, then step S11 is the processing after the processing for the X axis and the Y axis is completed in steps S6 to S10. In step S11, the optimization results 1P to LP obtained in steps S6 to S10 are output. + , 1M~LM + The result with the minimum number of inapproximable points in . That is, for the optimization results 1P~LP + , 1M~LM + For each of them, calculate the number of inapproximable points where the approximate model generated in step S3 does not satisfy the above restrictions, output the result with the smallest number of inapproximable points and the best approximation and the most compressed data, and end this processing.
[0146] Here, list Fig. 20 as well as Fig.21 The specific example shown is a more detailed description of the process of expanding one column of each axis data (each axis error) in the positive X direction in the above-mentioned step S7. Fig. 20 This is a diagram showing the segmented interval before expanding a column of each axis data (each axis error) in the positive X direction. Fig.21 This is a diagram showing the segmented intervals after a column of each axis data (each axis error) is expanded in the positive X direction. Fig. 20 and Fig.21 In the figure, different numbers are marked according to the segmentation intervals.
[0147] like Fig. 20 As shown, first, sections 1 to 5 are extracted as continuous sections appearing at the ends in the positive X direction before a column of each axis data (each axis error) is expanded.
[0148] Next, for each of the extracted intervals 1 to 5, a column of axis data (axis errors) is expanded, such as Fig.21 As shown, the extended intervals 1 to 5 are generated.
[0149] Next, for each of the expanded intervals 1 to 5, check whether the above approximate model satisfies the above constraints. If the constraints are satisfied, the expanded interval is set as the new interval. Fig.21 In the example shown, after the expansion, intervals 1 and 4 satisfy the restrictions and are therefore set as new intervals.
[0150] When the restrictions are not met, the range of the expansion amount is set to an undetermined range. Fig.21 In the example shown, the extended interval 2 does not satisfy the restriction and is therefore set as an undetermined interval.
[0151] In addition, when the undetermined interval is larger than a certain area (for example, 2×2), it is confirmed whether the above approximate model satisfies the above restrictions. Fig.21In the example shown, since the expanded section 3 is larger than a certain area (for example, 2×2), this determination is performed. Up to this point, the expanded section is also regarded as an undetermined section.
[0152] In addition, when the interval before expansion is an NG interval, that is, an interval that does not meet the constraints and cannot be approximated, the interval of the expansion amount is set as an undetermined interval. Fig.21 In the example shown, the extended interval 5 corresponds to this, and therefore is set as an undetermined interval.
[0153] Through the above process, sometimes there are still undetermined intervals left at the end. Such intervals can be finally set as NG intervals, that is, intervals that do not meet the constraints and cannot be approximated.
[0154] In this way, according to the data encoding device 30, the axis-dependent data can be divided into the optimal divided axis-dependent data that can be compressed to minimize the number of data. Therefore, multiple optimal regions that can be regarded as linear combinations of each axis data (each axis error) can be generated. By performing model approximation encoding of the linear combination model on each region, the axis-dependent data that was previously difficult to compress can be further compressed.
[0155] Fig. 22 FIG. 4 is a diagram showing the structure of a data encoding device 40 in a third modified example of the approximate error detection device of the first embodiment. Fig. 22 As shown, the data encoding device 40 is different from the data encoding device 30 in that it has a learning result acquisition unit that acquires the reinforcement learning result of the machine learning device 9 instead of the dynamic programming method, and uses the learning result to perform interval segmentation on the axis-dependent data. The structure of the data encoding device 40 other than this difference is the same as that of the data encoding device 30.
[0156] The machine learning device 9 performs reinforcement learning for the optimal segmentation processing of the axis-dependent data. In the reinforcement learning of the machine learning device 9 of the present embodiment, the machine learning device 9 as an intelligent agent obtains axis-dependent data such as the error amount of industrial machinery as an environmental state. When a certain segmented axis-dependent data is selected as a behavior, the environment changes according to the behavior. As the environment changes, the number of inapproximable points obtained by model approximation encoding of the segmented axis-dependent data and the amount of approximated data are obtained as judgment data. In addition, a certain reward is given according to the obtained judgment data, and the machine learning device 9 as an intelligent agent learns the optimal segmented axis-dependent data as a better behavior choice, that is, a decision. The machine learning device 9 as an intelligent agent learns so as to select the behavior that will maximize the total reward in the future.
[0157] As reinforcement learning, any learning method can be used. For example, Q learning, which is a method of learning the value Q(s, a) of selecting behavior a in a state s of a certain environment, can be used. In Q learning, in a certain state s, behavior a with the highest value Q(s, a) is selected from the desirable behaviors a as the optimal behavior. However, at the time when Q learning is first started, the correct value of the value Q(s, a) for the combination of state s and behavior a is completely unknown. Therefore, the machine learning device 9 as an intelligent agent selects various behaviors a in a certain state s, and for the behavior a at this time, selects a better behavior based on the reward given, thereby learning the correct value Q(s, a).
[0158] In addition, in order to maximize the total reward to be obtained in the future, the machine learning device 9 finally becomes Q(s, a)=E[Σ(γ t )r t ] is the target. Here, E[] represents the expected value, t is the time, γ is a parameter called the discount rate described later, and r t is the reward at time t, and Σ is the total at time t. The expected value in this formula is the expected value when the state changes according to the optimal behavior. However, in the process of Q learning, it is unclear what the optimal behavior is, so reinforcement learning is performed while searching by performing various behaviors. The update formula of such value Q(s, a) can be expressed as the following mathematical formula (11), for example.
[0159] [Mathematical formula 11]
[0160]
[0161] In the above mathematical formula (11), s t represents the environmental state at time t, a t Represents the behavior at time t. Through behavior a t , the state changes to s t+1 . r t+1 Indicates the reward obtained by changing the state. In addition, the item with max is: t+1 In the following example, γ is multiplied by the Q value when the behavior a with the highest Q value known at that time is selected. Here, γ is a parameter of 0<γ≤1, which is called the discount rate. In addition, α is a learning coefficient, and the range of α is 0<α≤1.
[0162] The above mathematical formula (11) represents the following method: According to the experiment a t The result is the feedback r t+1 , update the state s t The following behavior t The value of Q(s t 、a t). This update expression shows that if behavior a t The next state s t+1 The value of the optimal behavior under a Q(s t+1 , a) than state s t The following behavior t The value of Q(s t 、a t ) is large, then Q(s t 、a t ), if it is small, then reduce Q(s t 、a t ). That is, make the value of a certain behavior in a certain state close to the optimal behavior value in the next state caused by the behavior. The difference is due to the discount rate γ and the reward r t+1 The structure varies with the form of existence, but is basically a structure in which the optimal behavior value in a certain state is propagated to the behavior value in its previous state.
[0163] Here, there is a method of Q learning: a table of Q(s, a) for all state-behavior pairs (s, a) is created to perform learning. However, in order to find the value of Q(s, a) for all state-behavior pairs, the number of states may be too large, so that it takes a long time for Q learning to converge.
[0164] Therefore, a well-known technology called DQN (Deep Q-Network) can be used. Specifically, a suitable neural network can be used to construct the value function Q, and the parameters of the neural network can be adjusted to approximate the value function Q with a suitable neural network, thereby calculating the value of the value Q (s, a). By using DQN, the time required for Q learning to converge can be shortened. In addition, regarding DQN, for example, in the non-patent literature "Human-level control through deep reinforcement learning", Volodymyr Mnih1 [online], [retrieved on January 17, 2011], Internet 〈 URL: http: / / files.davidqiu.com / research / nature14236.pdf 〉 There are detailed records in it.
[0165] Therefore, to perform the above reinforcement learning, Fig. 22 As shown, the machine learning device 9 includes a state observation unit 91, a determination data acquisition unit 92, a learning unit 93, and a decision unit 94. In addition, the learning unit 93 includes a reward calculation unit 95 and a value function update unit 96.
[0166] The state observation unit 91 acquires the axis-dependent data as the state data from the data encoding device 7 . In addition, the state observation unit 91 outputs the acquired axis-dependent data to the learning unit 93 .
[0167] The determination data acquisition unit 92 acquires the number of inapproximable points and the amount of approximated data obtained by performing model approximation encoding on the segmented axis-dependent data from the data encoding device 7 as determination data. The segmented axis-dependent data is obtained by segmenting the axis-dependent data interval into specified intervals according to a predetermined segmentation criterion stored in advance. In addition, the determination data acquisition unit 92 outputs the acquired number of inapproximable points and the amount of approximated data to the learning unit 93.
[0168] The reward calculation unit 95 of the learning unit 93 calculates the reward based on the acquired axis-dependent data, the number of inapproximable points, and the amount of approximated data. Specifically, the reward calculation unit 95 increases the reward when the number of inapproximable points decreases, and on the other hand, advances and decreases the reward when the number of inapproximable points increases. In addition, the reward calculation unit 95 increases the reward when the amount of approximated data decreases, and on the other hand, decreases the reward when the amount of approximated data increases.
[0169] The value function updating unit 96 of the learning unit 93 performs the above-mentioned Q learning based on the axis-dependent data as the state data, the number of inapproximable points and the amount of approximated data obtained by model-approximating the segmented axis-dependent data as the determination data, and the reward value, thereby updating the stored value function. In addition, the value function stored in the value function updating unit 96 can be shared among a plurality of machine learning devices that can be connected to each other in a communicative manner, for example.
[0170] The decision unit 94 acquires the updated value function from the value function updating unit 96. In addition, the decision unit 94 outputs the optimal post-division axis-dependent data to the data encoding device 40 as a behavior output based on the acquired value function.
[0171] Fig.23 It is a flowchart showing the learning processing procedure of the machine learning device 9.
[0172] In step S21, first, the segmented axle-dependent data is output from the machine learning device 9 to the data encoding device 40 as a behavior output. The segmented axle-dependent data output in this step is obtained by segmenting the axle-dependent data interval into a specified interval according to a pre-stored predetermined segmentation criterion. The data encoding device 40 generates the number of inapproximable points and the amount of approximated data by performing model approximation encoding on the segmented axle-dependent data. Then, the process proceeds to step S22.
[0173] In step S22, the machine learning device 9 obtains the axis-dependent data as the state data from the data encoding device 40. Thereafter, the process proceeds to step S23.
[0174] In step S23, the machine learning device 9 obtains the number of inapproximable points and the amount of approximated data after the model approximation encoding of the divided axis-dependent data generated in step S21 from the data encoding device 40 as determination data. Thereafter, the process proceeds to step S24.
[0175] In step S24, as determination condition 1, it is determined whether the number of inapproximable points when the data encoding device 40 performs model approximation encoding on the split rear axis-dependent data is reduced. If the determination is yes, the process proceeds to step S25 to increase the reward. On the other hand, if the determination is no, the process proceeds to step S26 to decrease the reward. Thereafter, the process proceeds to step S27.
[0176] In step S27, as determination condition 2, it is determined whether the amount of data after model approximate encoding is reduced when the data encoding device 40 performs model approximate encoding on the split axis-dependent data. If the determination is yes, the process proceeds to step S28 to increase the reward. On the other hand, if the determination is no, the process proceeds to step S29 to decrease the reward. Thereafter, the process proceeds to step S30.
[0177] In step S30, the value function stored in the value function updating unit 96 is updated. Specifically, the value function updating unit 96 performs the above-mentioned Q learning based on the axis-dependent data as the state data, the number of inapproximable points and the amount of approximated data obtained by model-approximating the divided axis-dependent data as the determination data, and the reward value, thereby updating the stored value function. Thereafter, the process proceeds to step S31.
[0178] In step S31, it is determined whether 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.
[0179] In this way, according to the data encoding device 40, through the reinforcement learning of the machine learning device 9, the axis-dependent data can be divided into the optimal divided axis-dependent data that can be compressed to minimize the number of data. Therefore, it is possible to generate multiple optimal regions that can be regarded as linear combinations of each axis data (each axis error). By performing model approximation encoding of the linear combination model on each region, the axis-dependent data that was previously difficult to compress can be further compressed.
[0180] In the present modification, the machine learning device 9 is provided separately from the data encoding device 40 , but the present invention is not limited thereto, and the machine learning device may be provided inside the data encoding device 40 .
[0181] In the first embodiment described above, it is possible to provide a data encoding program for causing the approximate error detection device 1 to perform processing. That is, it is also possible to provide an approximate error detection program for detecting an approximate error, the approximate error detection program being used to cause a computer to perform the following steps: detecting an approximate error amount whose absolute value is greater than a predetermined threshold value among the approximate error amounts when the axis-dependent data is model-approximate encoded based on a portion of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machine, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the data of each axis of the industrial machine.
[0182] [Second embodiment]
[0183] Fig.24 FIG. 2 is a diagram showing the structure of the approximate error detection device 2 according to the second embodiment. Fig.24 As shown, the approximate error detection device 2 of this embodiment is different from the approximate error detection device 1 of the first embodiment in that it has a numerical display unit 22 of the approximate error amount. In addition, the display device 100 is connected to the approximate error detection device 2 of this embodiment in a communicable manner. The configuration of the approximate error detection device 2 of this embodiment other than this difference is the same as that of the approximate error detection device 1 of the first embodiment.
[0184] The numerical display unit 22 for the approximate error amount obtains the approximate error amount greater than the predetermined threshold value detected by the approximate error amount detection unit 21. The numerical display unit 22 for the approximate error amount outputs the obtained approximate error amount greater than the predetermined threshold value to the display device 100, thereby displaying it as a numerical value on the display screen of the display device 100.
[0185] Here, Fig.25 This is a diagram showing an example of numerical display of the approximate error amount when the threshold is set to 0. Fig.25 In the example shown, the threshold is 0, and therefore, the total amount of approximation error when the axis-dependent data depending on the coordinate values of the axes of the industrial machine are approximated and encoded is displayed on the display screen of the display device 100 .
[0186] in addition, Fig.26 1 is a diagram showing a first example of numerical display of the approximate error amount when the absolute value of the threshold is set to a value greater than 0. Fig.26 In the example shown, the absolute value of the threshold is greater than 0, so it can be seen that Fig.25 The coordinate display of the approximate error amount (0, 0) is not displayed. In this way, the numerical display unit 22 can numerically display only the approximate error amounts that are greater than the threshold value.
[0187] in addition, Fig. 272 is a diagram showing a second example of numerical display of the approximate error amount when the absolute value of the threshold is set to a value greater than 0. Fig. 27 In the example shown, the absolute value of the threshold is greater than 0, so it can be seen that Fig.25 Coordinates other than the approximate error amount (0, 0) are highlighted with boldface. There is no particular limitation on the method of highlighting, and in addition to boldface, various methods such as marking or shading, enlarging displayed characters, and color differentiation may be used. In this way, the numerical display unit 22 can also highlight only the approximate error amounts above the threshold value with numerical values.
[0188] According to this embodiment, the following effects are achieved.
[0189] The approximate error detection device 2 of this embodiment is further provided with a numerical display unit 22 which numerically displays the approximate error amount detected by the approximate error amount detection unit 21. Thus, the user of the industrial machine can visually easily grasp the approximate error amount above the threshold value numerically displayed on the display device 100.
[0190] [Third Embodiment]
[0191] Fig.28 FIG. 4 is a diagram showing the structure of the approximate error detection device 3 according to the third embodiment. Fig.28 As shown in FIG. 1 , the approximate error detection device 3 of the present embodiment is different from the approximate error detection device 1 of the first embodiment in that it has a graph display unit 32 of the approximate error amount. In addition, the display device 100 is connected to the approximate error detection device 3 of the present embodiment in a communicable manner. The configuration of the approximate error detection device 3 of the present embodiment other than this difference is the same as that of the approximate error detection device 1 of the first embodiment.
[0192] The approximate error amount graph display unit 32 obtains the approximate error amount greater than the predetermined threshold value detected by the approximate error amount detection unit 31. The approximate error amount graph display unit 32 outputs the obtained approximate error amount greater than the predetermined threshold value to the display device 100, and displays it as a graph on the display screen of the display device 100.
[0193] Here, Fig.29 FIG. 1 is a diagram showing an example of a graphical display of the approximate error amount when the threshold is set to 0. Fig.29 In the example shown, the threshold is 0, and therefore, the display screen of the display device 100 displays the total amount of approximate error when the axis-dependent data depending on the coordinate values of each axis of the industrial machine is approximated and encoded. More specifically, Fig.29 As shown, the approximate error amount is graphically displayed through the direction and length of the arrow.
[0194] in addition, Fig.30 1 is a diagram showing a first example of a graphical display of the amount of approximate error when the absolute value of the threshold is set to a value greater than 0. Fig.30 In the example shown, the absolute value of the threshold is greater than 0, so it can be seen that Fig.29 The arrow display of the coordinates with an approximate error amount relative to (0, 0) is not displayed. In this way, the graph display unit 32 can display only the approximate error amounts that are greater than the threshold value.
[0195] in addition, Fig.31 2 is a diagram showing a second example of a graphical display of the amount of approximate error when the absolute value of the threshold is set to a value greater than 0. Fig.31 In the example shown, the absolute value of the threshold is greater than 0, so it can be seen that Fig.29 The arrow display of the coordinates other than (0, 0) with respect to the approximate error amount is emphasized with boldface. There is no particular limitation on the method of emphasizing the display, and in addition to boldface, various methods such as marking or shading, display enlargement, and color distinction may be used. In this way, the drawing display unit 32 can also emphasize the approximate error amount above the threshold value on the drawing.
[0196] According to this embodiment, the following effects are achieved.
[0197] The approximate error detection device 3 of the present embodiment is further provided with a graph display unit 32 for displaying the approximate error amount detected by the approximate error amount detection unit 31 in a graph. Thus, the user of the industrial machine can visually easily grasp the approximate error amount above the threshold value displayed in the graph on the display device 100.
[0198] In addition, the present disclosure is not limited to the above-mentioned embodiments, and the present disclosure includes modifications and improvements within the scope that can achieve the purpose of the present disclosure.
[0199] In the above-mentioned embodiments, each model approximation encoding unit is configured to have an approximate error calculation unit, but it can also be configured as follows: for example, a data decoding device is used to decode the model approximate encoded axis-dependent data encoded by each data encoding device, and the approximate error amount is calculated by the difference between the decoded axis-dependent data and the original axis-dependent data.
[0200] Explanation of symbols
[0201] 1.3.3 Approximate error detection device
[0202] 9 Machine Learning Device
[0203] 10, 20, 30, 40 data encoding device
[0204] 11, 21, 31 Approximate error detection unit
[0205] 22 Numerical display of approximate error amount (Numerical display)
[0206] 32 Approximate error amount graph display section (graph display section)
[0207] 100 Display device
[0208] 101, 201, 301 Model Approximate Coding Unit
[0209] 102 Approximate error calculation unit
[0210] 202, 302 Axis-dependent data segmentation
[0211] 303 Dynamic Programming Processing Department
[0212] 304 Optimality evaluation after model approximate encoding
[0213] 305 Partial segmentation of axis-dependent data
[0214] 306 Combination of optimization results for some axis-dependent data.
Claims
1. An approximate error detection device for detecting an approximate error, characterized in that: have: An approximate error amount detection unit detects an approximate error amount whose absolute value is greater than a specified threshold value among the approximate error amounts when the axis-dependent data are subjected to model approximation encoding based on a portion of the axis-dependent data and a linear combination model, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
2. The approximate error detection device according to claim 1, characterized in that: The approximation error detection device further includes a numerical display unit that displays the approximation error amount detected by the approximation error amount detection unit in a numerical value.
3. The approximate error detection device according to claim 1, characterized in that: The approximation error detection device further includes a graph display unit that displays the approximation error amount detected by the approximation error amount detection unit on a graph.
4. An approximate error detection program for detecting an approximate error, characterized in that: The approximate error detection program is used to enable a computer to perform the following steps: Based on a part of axis-dependent data and a linear combination model, an approximate error amount whose absolute value is above a specified threshold in the approximate error amount when the axis-dependent data is subjected to model approximation encoding is detected, wherein the axis-dependent data depends on the coordinate values of each axis of the industrial machinery, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machinery.
Citation Information
Patent Citations
Numerical control apparatus for controlling five-axis machining tool
JP2011209897A