Data decoding device, error correction system, and data decoding program

Through the approximate encoding and decoding of the model of the linear combination model of industrial machinery relying on the axis dependencies of industrial machinery, the problem of error correction accuracy in the existing technology is limited by the data input limit, and the higher accuracy error correction is achieved.

CN119384649APending Publication Date: 2025-01-28FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280097202.5
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

Technical Problem

In the prior art, when correcting industrial machinery errors, there is an upper limit to the size of the input data, which makes it impossible to further improve the accuracy of error correction.

Method used

The model of linear combination models that depend on the axis dependencies dependent on the axis relying on the axis coordination value of industrial machinery, generate the coding rear axis dependency data, and use the data decoding device to decode it to improve the accuracy of error correction.

Benefits of technology

The decoding of the relying data of the coding rear axle, which improves the accuracy of error correction, and increases the error volume data that can be entered into industrial machinery control devices without increasing the storage capacity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119384649A_ABST
    Figure CN119384649A_ABST
Patent Text Reader

Abstract

The present invention provides a data decoding technique capable of decoding encoded-axis dependent data obtained by encoding axis dependent data dependent on coordinate values of each axis of an industrial machine. A data decoding device (1) is provided with: a decoding unit (11) which, on the basis of a linear combination model and model approximation encoding axis dependent data obtained by model approximation using the linear combination model, generates model approximation decoded post-dependent data obtained by decoding the model approximation encoding axis dependent data, the axis-dependent data depends on coordinate values of each axis of the industrial machine, and the linear combination model is used for approximating the axis-dependent data as a linear combination of data of 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 a data decoding device, an error correction system, and a data decoding 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, the axis-dependent data, represented by the above-mentioned error amount, which depends on the coordinate values ​​of each axis of the industrial machinery, sometimes has the property of white noise with the same frequency of occurrence. In this case, the size of the above-mentioned information entropy cannot be used, so it is difficult to achieve data compression based on entropy coding technology.

[0010] Therefore, the inventors have studied a data encoding technology that can compress axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine. The purpose of the present disclosure is to provide a data decoding technology that can decode the encoded axis-dependent data obtained by encoding the axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine.

[0011] Means for solving problems

[0012] One method disclosed herein is a data decoding device that decodes encoded data and comprises: a decoding unit that generates model-approximated decoded axis-dependent data obtained by decoding the model-approximated encoded axis-dependent data based on a linear combination model and model-approximated encoded axis-dependent data obtained by approximating the model through the linear combination model, wherein the axis-dependent data depends on the coordinate values ​​of each axis of an industrial machine, and the linear combination model is used to approximate the axis-dependent data as a linear combination of the axis data of the industrial machine.

[0013] In addition, another embodiment of the present disclosure is an error correction system that corrects errors of industrial machinery, the error correction system comprising: a correction unit; and a data decoding device according to any one of claims 1 to 3, the correction unit correcting the errors of the industrial machinery based on the decoded axis-dependent data.

[0014] In addition, another embodiment of the present invention is a data decoding program for decoding encoded data, wherein the data decoding program is used to enable a computer to perform the following steps: generating model-approximated decoded axis-dependent data obtained by decoding the model-approximated encoded axis-dependent data based on a linear combination model and model-approximated encoded axis-dependent data obtained by approximating the model through the 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.

[0015] Effects of the Invention

[0016] According to the present disclosure, it is possible to provide a data decoding technology capable of decoding encoded axis-dependent data obtained by encoding axis-dependent data that depends on coordinate values ​​of respective axes of an industrial machine. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 It is a diagram showing the structure of the data decoding device according to the first embodiment.

[0018] Figure 2 It is a diagram showing the structure of a first example of a data encoding device.

[0019] Figure 3 This is a diagram showing an example of a text file containing only specific characters.

[0020] Figure 4 This is a diagram showing an example of data represented by a distribution in which the frequency of appearance of each value exists.

[0021] Figure 5 This is a graph showing data in which the frequency of occurrence of each value is the same.

[0022] Figure 6 This is a diagram showing the errors of each axis on the X-axis.

[0023] Figure 7 This is a diagram showing the errors of each axis on the Y axis.

[0024] Figure 8 It is a graph showing the error amount of the coordinate value (X2, Y1).

[0025] Fig. 9 This is a diagram showing the error amount when it is not represented by the linear combination of the errors of each axis.

[0026] Fig.10 yes Figure 8 A partial enlarged view of .

[0027] Fig.11 A diagram showing a bitmap image after visualizing the error map.

[0028] Fig.12 This is a diagram showing an example of axis-dependent data.

[0029] Fig.13 It means that Fig.12 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.

[0030] Fig.14 It is a diagram showing the structure of a second example of the data encoding device.

[0031] Fig.15 This is a diagram showing axis-dependent data divided into a plurality of regions in a grid shape.

[0032] Fig.16 This is a diagram showing an example of axis-dependent data after segmentation.

[0033] Fig.17 It is a diagram showing the structure of a third example of the data encoding device.

[0034] Fig.18 This is a flowchart showing the axis-dependent data division process performed by the dynamic programming processing unit.

[0035] Fig.19 This is a diagram showing the divided intervals before one column of each axis data (each axis error) is expanded in the positive X direction.

[0036] Fig. 20 This is a diagram showing the divided intervals after one column of each axis data (each axis error) is expanded in the positive X direction.

[0037] Fig.21 It is a diagram showing the structure of a fourth example of a data encoding device.

[0038] Fig. 22is a graph showing the approximation error (vector γ[X][Y]).

[0039] Fig.23 It is a diagram showing the structure of a fifth example of the data encoding device.

[0040] Fig.24 It is a graph showing the approximation error (vector γ[X][Y]) including an exceptional point that is larger than the specified tolerance.

[0041] Fig.25 It is a diagram showing the exceptional points in the approximation error (vector γ[X][Y]) that are larger than a specified tolerance and are therefore excluded and retained.

[0042] Fig.26 It is a diagram showing the structure of a sixth example of a data encoding device.

[0043] Fig. 27 It is a diagram showing the structure of the seventh example of the data encoding device.

[0044] Fig.28 This is a flowchart showing the learning process performed by the machine learning device.

[0045] Fig.29 It is a diagram showing the structure of a data decoding device according to the second embodiment.

[0046] Fig.30 It is a diagram showing the structure of a data decoding device according to the third embodiment.

[0047] Fig.31 This is a diagram showing a configuration of an error correction system including a data decoding device according to the first embodiment.

[0048] Fig.32 It is a diagram for explaining error correction by the correction unit. DETAILED DESCRIPTION

[0049] 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 same configuration as the first embodiment will be appropriately omitted.

[0050] [First embodiment]

[0051] Axis-dependent data such as the error amount used in error correction of each axis of industrial machinery sometimes has the properties of white noise with the same frequency of occurrence as a whole. Therefore, it is difficult to compress axis-dependent data in the conventional entropy coding technology that uses the frequency deviation of values ​​on the data, that is, the magnitude of information entropy. In contrast, the data decoding device 1 of the present embodiment is a data decoding device that can decode data obtained by encoding and compressing axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machinery.

[0052] Figure 1 FIG. 2 is a diagram showing the structure of the data decoding device 1 according to the first embodiment. Figure 1 As shown, the data decoding device 1 includes a decoding unit 11. The decoding unit 11 generates model-approximately decoded axis-dependent data as decoded axis-dependent data based on the model-approximately encoded axis-dependent data and the linear combination model.

[0053] <Data Encoding Device>

[0054] First, before describing the configuration of the data decoding device 1 , a data encoding device capable of encoding and compressing axis-dependent data depending on coordinate values ​​of each axis of an industrial machine will be described in detail together with a conventional data encoding technique.

[0055] (first example)

[0056] Figure 2 FIG. 1 is a diagram showing the structure of a first example of a data encoding device. Figure 2 As shown, the data encoding device 101 includes a model approximation encoding unit 111. The model approximation encoding unit 111 generates model approximation encoded axis-dependent data (hereinafter also referred to as encoded axis-dependent data) obtained by encoding the axis-dependent data based on the axis-dependent data and the linear combination model.

[0057] 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.

[0058] Here, Figure 3 is a diagram showing an example of a text file containing only specific characters. Figure 4 This is a graph showing an example of data showing the frequency of occurrence of each value in a certain distribution. Figure 3 and Figure 4 In , the horizontal axis represents the bit value and the vertical axis represents the frequency of occurrence of each value. Figure 3 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 4 As shown, 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.

[0059] In contrast, Figure 5 is a graph showing data where the frequency of occurrence of each value is the same. Figure 3 and Figure 4 Same, in Figure 5 In , the horizontal axis represents the bit value and the vertical axis represents the frequency of occurrence of each value. Figure 5 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.

[0060] 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.

[0061] Figure 6 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 6 As shown, the error amounts of the coordinate values ​​X0, X1, X2 and X3 are represented by vectors with different sizes and directions.

[0062] in addition, Figure 7 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 7 As shown, the error amounts of the coordinate values ​​Y0, Y1 and Y2 are represented by vectors with different sizes and directions.

[0063] 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).

[0064] [Mathematical formula 1]

[0065]

[0066] In the above mathematical formula (1), L represents the number of axes to be corrected for error. 1 Indicates the lth correction target axis.

[0067] The above mathematical formula (1) based on the above assumption is often valid, and in the past, the error correction of each axis was widely used. For example, Figure 8is a graph showing the amount of error in the coordinate values ​​(X2, Y1). Figure 8 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).

[0068] [Mathematical formula 2]

[0069]

[0070] 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.

[0071] 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.

[0072] [Mathematical formula 3]

[0073]

[0074] Fig. 9 This is a graph showing the amount of error when it cannot be expressed by a linear combination of the errors of each axis. Fig. 9 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.

[0075] 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.10 yes Fig. 9 A partial enlargement of Fig.10 In 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.

[0076] [Formula 4]

[0077]

[0078] 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.11 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.11 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.

[0079] According to the above, in the data encoding device 101, even axis-dependent data that depends on the coordinate values ​​of the axes of the industrial machinery, such as the error amount used in the error correction of the axes of the industrial machinery, can be partially utilized by 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 101, it is possible to encode and compress the axis-dependent data that was difficult to obtain in the past.

[0080] Return to Figure 2 The data encoding device 101 is constituted by, for example, a computer, wherein the computer has 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 through the cooperation of the CPU, the memory, and the control program stored in the memory mounted on the above-mentioned computer.

[0081] The data encoding device 101 may be provided in a numerical controller (CNC: Computerized Numerical Control) or a robot controller 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.

[0082] The model approximation encoding unit 111 of the data encoding device 101 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 101, for example.

[0083] 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.

[0084] Below, refer to Fig.12 as well as Fig.13 The model approximate coding using the linear combination model by the model approximate coding unit 111 will be described in detail.

[0085] Fig.12 is a diagram showing an example of axis-dependent data. Fig.12 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.12 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.12 In the example of the axis-dependent data shown, data of each axis (error of each axis) having N×M points are totaled.

[0086] Fig.13 It means that Fig.12 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.13 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.13 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.

[0087] [Formula 5]

[0088]

[0089] 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 1represents the first correction target axis, and N1 represents the number of error amount points of the first correction target axis.

[0090] [Mathematical formula 6]

[0091]

[0092] [Formula 7]

[0093]

[0094] [Mathematical formula 8]

[0095]

[0096] Among them, x p is satisfied Any value of It is common in China.

[0097] 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.

[0098] 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 101 and used for model approximate encoding by the model approximate encoding unit 111.

[0099] [Mathematical formula 9]

[0100]

[0101] Thus, according to the data encoding device 101, by approximating a part of the axis-dependent data as a linear combination of the axis data (the axis errors), the axis-dependent data that was difficult to compress in the past can be encoded and compressed. Furthermore, according to the data encoding device 101, by using the encoded axis-dependent data obtained by encoding and compressing, the amount of error data that can be input to the control device of the industrial machine can be increased without increasing the storage capacity, and the error of the industrial machine can be corrected with higher accuracy.

[0102] (Second example)

[0103] Fig.14 FIG. 2 is a diagram showing the structure of a second example of a data encoding device. Fig.14 As shown, the data encoding device 102 is different from the data encoding device 101 in that it has an axis-dependent data segmentation unit 122. In addition, the model approximation encoding unit 121 is different from the model approximation encoding unit 111 of the first example 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 linear combination model described above. The structure other than these differences is the same as that of the first example.

[0104] The above-mentioned data encoding device 101 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 each axis data (each axis error), and performs model approximation encoding of the linear combination model. In contrast, the data encoding device 102 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 each axis data (each axis error), and can more reliably perform model approximation encoding of the linear combination model.

[0105] The axis-dependent data dividing unit 122 divides the axis-dependent data to generate a plurality of divided axis-dependent data. Fig.15 is a graph showing axis-dependent data divided into multiple regions in a grid. Fig.15 As shown in FIG. 1 , the axis-dependent data input to the data encoding device 102 is divided into a plurality of grid-like regions according to the axis data (axis errors) at the coordinate values. Fig.15 In the example shown, the axis-dependent data is divided into a grid of 15×15=225 points. The axis-dependent data dividing unit 122 divides the axis-dependent data into a plurality of points along these divisions, for example.

[0106] The axis-dependent data segmentation unit 122 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 122 segment the axis-dependent data into a plurality of regions that can best approximate (compress) the axis-dependent data.

[0107] Fig.16 is a diagram showing an example of axis-dependent data after segmentation. Fig.16 In the example shown, the axis-dependent data input to the data encoding device 102 is divided into five divided intervals 1 to 5 by the axis-dependent data division unit 122. 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 121 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.

[0108] The model approximation encoding unit 121 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 121 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.

[0109] In this way, according to the data encoding device 102, 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.

[0110] (Third example)

[0111] Fig.17 FIG. 2 is a diagram showing the structure of a third example of a data encoding device. Fig.17 As shown, the data encoding device 103 is different from the second example in that the structure of the axis-dependent data division unit 132 is different from the above-mentioned axis-dependent data division unit 122. The structure other than this difference is the same as the second example.

[0112] In the above-mentioned data encoding device 102, the axis-dependent data division method is not particularly limited, but the axis-dependent data is divided using dynamic programming in the data encoding device 103. 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.

[0113] like Fig.17As shown, the axis-dependent data segmentation unit 132 has a dynamic programming processing unit 133. The dynamic programming processing unit 133 generates the optimal segmented axis-dependent data by executing the dynamic programming method. Specifically, the dynamic programming processing unit 133, as a functional unit for executing the dynamic programming method, has: an optimality evaluation unit 134 after model approximate encoding, a partial segmentation unit 135 of the axis-dependent data, and an optimization result combination unit 136 of the partial axis-dependent data.

[0114] Here, the dynamic programming method executed by the dynamic programming processing unit 133 will be described in detail.

[0115] 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.

[0116] Therefore, the dynamic programming method processing unit 133 of the present embodiment has an optimality evaluation unit 134 after model approximate encoding as a unit for evaluating the optimality of the result. That is, the optimality evaluation unit 134 after model approximate encoding evaluates the optimality of the axis-dependent data after encoding. The optimality evaluation of the encoded axis-dependent data can be evaluated, for example, based on whether the approximate error amount after model approximate encoding is within a specified limit tolerance. In addition, as described in detail in the fourth example below, the approximate error amount after model approximate encoding is the difference between the original error amount before model approximate encoding described in the first example 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.

[0117] In addition, the dynamic programming method processing unit 133 has an axis-dependent data partial segmentation unit 135 as a unit for segmenting a problem to perform partial problemization. The axis-dependent data partial segmentation unit 135 generates partial axis-dependent data by segmenting the axis-dependent data into a plurality of parts. The axis-dependent data partial segmentation unit 135, for example, segments the axis-dependent data interval into a predetermined specified interval according to a predetermined 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 135 will be described in detail later.

[0118] In addition, the dynamic programming method processing unit 133 has an optimization result combination unit 136 for partial axis-dependent data, which serves as a unit for combining (combining) optimization results of partial problems. The optimization result combination unit 136 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 136 for partial axis-dependent data optimizes, for example, the partial axis-dependent data generated by the partial segmentation unit 135 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 136 for partial axis-dependent data will be described in detail later.

[0119] Below, refer to the above Fig.15 as well as Fig.16 , Fig.18 as well as Fig.19 The division of the axis-dependent data by the dynamic programming processing unit 133 will be described in detail.

[0120] As mentioned above Fig.15 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 133 divides such axis-dependent data into sections, for example, Fig.16 The axis-dependent data after segmentation as shown. In the interval segmentation of the axis-dependent data of the dynamic programming method processing unit 133, 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.

[0121] Fig.18 2 is a flowchart showing a process of dividing the axis-dependent data by the dynamic programming processing unit 133. The division of the axis-dependent data by the dynamic programming processing unit 133 is performed by recursively searching for an optimal division interval of the axis-dependent data using the dynamic programming method.

[0122] 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 133 is completed, the stored process result may be reflected in this step. Then, the process proceeds to step S2.

[0123] 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.

[0124] 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.

[0125] 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.

[0126] 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.

[0127] 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.

[0128] 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.

[0129] 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.

[0130] In step S8, the axis-dependent data section is divided into the specified section from step S1 to X. n The negative direction shrinks the specified interval of a column of each axis data (each 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.

[0131] 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.

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

[0133] 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.

[0134] Here, list Fig.19 as well as Fig. 20 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.19 This is a diagram showing the divided intervals before one column of each axis data (each axis error) is expanded in the positive X direction. Fig. 20 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.19 and Fig. 20 In the figure, different numbers are marked according to the segmentation intervals.

[0135] like Fig.19 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.

[0136] Next, for each of the extracted intervals 1 to 5, a column of axis data (axis errors) is expanded, such as Fig. 20 As shown, the extended intervals 1 to 5 are generated.

[0137] 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. 20 In the example shown, after the expansion, intervals 1 and 4 satisfy the restrictions and are therefore set as new intervals.

[0138] When the restrictions are not met, the range of the expansion amount is set to an undetermined range. Fig. 20 In the example shown, the extended interval 2 does not satisfy the restriction and is therefore set as an undetermined interval.

[0139] 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. 20 In 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.

[0140] 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. 20 In the example shown, the extended interval 5 corresponds to this, and therefore is set as an undetermined interval.

[0141] 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.

[0142] In this way, according to the data encoding device 103, 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.

[0143] (Fourth example)

[0144] Fig.21 2 is a diagram showing the structure of a fourth example of a data encoding device. Fig.21As shown, the data encoding device 104 is different from the above-mentioned model approximate encoding unit 111 in that the model approximate encoding unit 141 has an approximate error calculation unit 142. In addition, the data encoding device 104 is different from the above-mentioned data encoding device 101 in that it has an approximate error encoding unit 143. The structure other than these differences is the same as the first example.

[0145] The approximation error calculation unit 142 calculates the approximation error amount. The approximation error calculation unit 142 is provided in the model approximation encoding unit 141, and calculates the approximation error amount when the axis-dependent data is subjected to model approximation encoding. The approximation error amount will be described in detail later.

[0146] The approximate error coding unit 143 codes the approximate error amount to generate the coded approximate error amount. As described later, the approximate error amount calculated by the approximate error calculation unit 142 has a deviation in the frequency of occurrence of the value on the data and the information entropy is often small. Therefore, it can be encoded by entropy coding known in the past to perform data compression. Alternatively, it is also possible to perform data compression by encoding by model approximate coding of a linear combination model executed by the model approximate coding unit 141.

[0147] Hereinafter, the approximate error amount and the encoding of the approximate error amount by the approximate error encoding unit 143 will be described in more detail.

[0148] As described in the first example above, in the approximate model (vector Ea[X 1 ]…[X L ]) represents the error amount, the approximate error (vector γ[X 1 ]…[X L ]) is expressed by the following mathematical formula (10).

[0149] [Formula 10]

[0150]

[0151] 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 ]).

[0152] 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 is only a very small value. Here, Fig. 22 is a graph showing the approximation error (vector γ[X][Y]). Fig. 22 As shown, regarding the approximate error (vector γ[X][Y]), only small values ​​are uneven, and the frequency distribution of the value is also uneven. Therefore, it is possible to 1 ]…[X L ]) to compress the data.

[0153] In the approximation error (vector γ[X 1 ]…[X L ]), there is no particular restriction on the encoding method. For example, the approximate error (vector γ[X 1 ]…[X L ]) can be encoded, or the approximate error (vector γ[X 1 ]…[X L ]) to encode.

[0154] In the case of using the approximate model alone (the vector Ea[X 1 ]…[X L ]), and the original error (vector E[X 1 ]…[X L ]) is different from the approximate error (vector γ[X 1 ]…[X L ]), and the approximate error (vector γ[X 1 ]…[X L ]) There is also the amount of data points on each axis, so if we keep it directly, we cannot compress the data, but by approximating the error (vector γ[X 1 ]…[X L ]) is encoded and the approximate model (vector Ea[X 1 ]…[X L ]) combination, it is possible to compress and reproduce the original error amount without loss (vector E[X 1 ]…[X L ]), and can also reduce the total data size.

[0155] In this way, according to the data encoding device 104, axis-dependent data that was previously difficult to compress can be encoded and compressed. On this basis, the total data size can be further reduced by encoding the approximate error amount, and the axis-dependent data such as the original error amount can be reproduced without loss.

[0156] (Fifth Example)

[0157] Fig.23 2 is a diagram showing the structure of a fifth example of a data encoding device. Fig.23 As shown, the data encoding device 105 is different from the above-mentioned data encoding device 104 in that it further includes an approximate error removal unit 153 that is greater than a predetermined tolerance. In addition, the approximate error encoding unit 154 is different from the above-mentioned approximate error encoding unit 143 in that it encodes the approximate error amount within the predetermined tolerance. The structure other than these differences is the same as that of the fourth example.

[0158] The approximate error removal unit 153 generates an approximate error amount within a predetermined tolerance by removing the approximate error amount exceeding a predetermined tolerance from the approximate error amount. Fig.24 is a graph showing the approximation error (vector γ[X][Y]) including exceptional points that are larger than the specified tolerance. Fig.24 As shown, the difference between the original error amount before model approximate coding and the error amount after model approximate coding, i.e., the approximate error (vector γ[X][Y]), sometimes includes an exception point larger than a predetermined tolerance. In this embodiment, the approximate error removal unit 153 removes the exception point.

[0159] in addition, Fig.25 This is a diagram showing the exceptional points in the approximate error (vector γ[X][Y]) that are larger than the prescribed tolerance and therefore excluded and retained. In this way, the approximate error removal unit 153 can separately retain: the exceptional points whose approximate errors are larger than the prescribed tolerance removed from the approximate error amount, that is, the approximate error amount that exceeds the prescribed tolerance. In this way, the axis-dependent data such as the original error amount can be compressed and reproduced without loss.

[0160] As the prescribed tolerance, the approximate error allowable value and the prescribed number of points (the permitted number of points) of data exceeding the approximate error allowable value can be listed. At this time, the approximate error removal unit 153 excludes the points exceeding the pre-set approximate error allowable value and the prescribed number of points exceeding the approximate error allowable value from the approximate error (vector γ[X][Y]). In addition, 0 may also be included as the prescribed tolerance.

[0161] The approximate error encoding unit 154 encodes the approximate error amount within a predetermined tolerance to generate the encoded approximate error amount. 1 ]…[X L ]) When encoding, encoding is performed on the basis of excluding points whose approximation errors are greater than the specified tolerance.

[0162] As for the approximate error after excluding the points larger than the prescribed tolerance from the approximate error amount, that is, the approximate error amount within the prescribed tolerance, the value is further deviated, and the information entropy becomes smaller, thereby further improving the compression effect of the encoded data. In addition, for example, for the approximate error amount, only the points with the approximate error larger than the prescribed tolerance are kept, and the approximate error amounts other than these are not kept, thereby further reducing the size of the encoded data. Moreover, even in this case, it is possible to ensure that the overall approximate error converges within the tolerance.

[0163] In this way, according to the data encoding device 105, on the basis of being able to encode and compress axis-dependent data that was previously difficult to compress, the approximate error amount after removing the approximate error amount exceeding the specified tolerance is encoded, thereby also being able to achieve lossy compression within the range of the allowable amount of defects (specified tolerance, specified number of points). At this time, the data size can be reduced compared to lossless compression.

[0164] (Sixth Example)

[0165] Fig.26 2 is a diagram showing the structure of a sixth example of a data encoding device. Fig.26 As shown, the data encoding device 106 is different from the above-mentioned data encoding device 101 in that it further includes a model approximate encoded data encoding unit 162. The structure other than this difference is the same as that of the first example.

[0166] The model-approximately coded data coding unit 162 codes the model-approximately coded axis-dependent data. That is, the model-approximately coded data coding unit 162 performs re-coding after the model-approximately coded axis-dependent data.

[0167] As described in the first example above, in the approximate model (vector Ea[X 1 ]…[X L ]) when expressing the error amount, by the vector Ea X 1 [X 1 ] each performs encoding, which can further compress the data. At this time, the vector Ea X 1 [X 1 ] represents the error of each axis, and therefore, is not based on the approximate model as a linear combination model represented by the above mathematical formula (5) (vector Ea[X 1 ]…[X L ]) does not perform model approximation, but after model approximation coding, the data coding unit 62 performs coding based on entropy coding represented by the previously known Huffman coding.

[0168] As described above, according to the data encoding device 106, the encoded axis-dependent data is further encoded by the model approximate encoded data encoding unit 162, so that the data size can be further reduced.

[0169] (Seventh Example)

[0170] Fig. 27 2 is a diagram showing the structure of a seventh example of a data encoding device. Fig. 27 As shown, the data encoding device 107 is different from the above-mentioned data encoding device 103 in that it has a learning result acquisition unit that acquires the reinforcement learning result of the machine learning device 109 instead of the dynamic programming method, and uses the learning result to perform interval segmentation on the axis-dependent data. The structure other than this difference is the same as the third example.

[0171] The machine learning device 109 performs reinforcement learning for the optimal segmentation processing of the axis-dependent data. In the reinforcement learning of the machine learning device 109 of the present embodiment, the machine learning device 109 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 109 as an intelligent agent learns the optimal segmented axis-dependent data as a better behavior choice, that is, a decision. The machine learning device 109 as an intelligent agent learns so as to select the behavior that will maximize the total reward in the future.

[0172] 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 109 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).

[0173] In addition, in order to maximize the total reward to be obtained in the future, the machine learning device 109 finally obtains 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 tis 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.

[0174] [Mathematical formula 11]

[0175]

[0176] 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.

[0177] 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.

[0178] 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.

[0179] 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 through 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.

[0180] Therefore, to perform the above reinforcement learning, Fig. 27 As shown, the machine learning device 109 includes a state observation unit 191 , a determination data acquisition unit 192 , a learning unit 193 , and a decision unit 194 . In addition, the learning unit 193 includes a reward calculation unit 195 and a value function update unit 196 .

[0181] The state observation unit 191 acquires the axis-dependent data as the state data from the data encoding device 107 . In addition, the state observation unit 191 outputs the acquired axis-dependent data to the learning unit 193 .

[0182] The determination data acquisition unit 192 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 107 as determination data. The segmented axis-dependent data is obtained by segmenting the axis-dependent data interval into predetermined designated intervals according to a predetermined segmentation criterion stored in advance. In addition, the determination data acquisition unit 192 outputs the acquired number of inapproximable points and the amount of approximated data to the learning unit 193.

[0183] The reward calculation unit 195 of the learning unit 193 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 195 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 195 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.

[0184] The value function updating unit 196 of the learning unit 193 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 196 can be shared among a plurality of machine learning devices that can be connected to each other in communication, for example.

[0185] The decision unit 194 acquires the updated value function from the value function update unit 196. In addition, the decision unit 194 outputs the optimal post-division axis-dependent data to the data encoding device 107 as a behavior output based on the acquired value function.

[0186] Fig.28 It is a flowchart showing the learning processing procedure of the machine learning device 109.

[0187] In step S21, first, the segmented axis-dependent data is output from the machine learning device 109 to the data encoding device 107 as a behavior output. The segmented axis-dependent data output in this step is obtained by segmenting the axis-dependent data interval into a specified interval according to a pre-stored specified segmentation criterion. The data encoding device 107 generates the number of inapproximable points and the amount of approximated data by performing model approximation encoding on the segmented axis-dependent data. Then, the process proceeds to step S22.

[0188] In step S22, the machine learning device 109 obtains the axis-dependent data as the state data from the data encoding device 107. Thereafter, the process proceeds to step S23.

[0189] In step S23, the machine learning device 109 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 107 as determination data. Then, the process proceeds to step S24.

[0190] In step S24, as the judgment condition 1, it is judged whether the number of inapproximable points when the data encoding device 107 performs model approximation encoding on the split rear axis-dependent data is reduced. If the judgment is yes, the process proceeds to step S25 to increase the reward. On the other hand, if the judgment is no, the process proceeds to step S26 to decrease the reward. Thereafter, the process proceeds to step S27.

[0191] 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 107 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.

[0192] In step S30, the value function stored in the value function updating unit 196 is updated. Specifically, the value function updating unit 196 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 judgment data, and the reward value, thereby updating the stored value function. Thereafter, the process proceeds to step S31.

[0193] 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.

[0194] In this way, according to the data encoding device 107, through the reinforcement learning of the machine learning device 109, 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.

[0195] In each of the examples of the data encoding device described above, a data encoding program for causing each data encoding device to perform each process can also be provided. That is, as a first data encoding program, a data encoding program can be provided, which is used to cause a computer to perform the following model approximation encoding step: generating encoded axis-dependent data obtained by 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 of the industrial machinery.

[0196] In addition, a second data encoding program can also be provided, in which the first data encoding program also has an axis-dependent data segmentation step of segmenting the axis-dependent data to generate a plurality of segmented axis-dependent data, and through a model approximation encoding step, the encoded axis-dependent data is generated based on the plurality of segmented axis-dependent data and a linear combination model.

[0197] In addition, a third data encoding program can also be provided. In the second data encoding program, there is a dynamic programming method processing step for generating optimal segmented axis-dependent data by executing the dynamic programming method. The third data encoding program is used to enable the computer to execute the following steps: an optimality evaluation step for evaluating the optimality of the encoded axis-dependent data; a partial segmentation step for generating partial axis-dependent data by segmenting the axis-dependent data into multiple parts; and an optimization result combination step for generating optimal segmented axis-dependent data by expanding and combining the partial axis-dependent data.

[0198] In addition, a fourth data encoding program can be provided, which is used in the second data encoding program to cause a computer to execute a step of generating optimal post-segmentation axis-dependent data based on a reinforcement learning result of a machine learning device.

[0199] In addition, a fifth data encoding program can be provided. In the first to fourth data encoding programs, the fifth data encoding program is used to cause a computer to execute the following steps: an approximate error calculation step of calculating the approximate error amount; and a step of encoding the approximate error amount to generate an encoded approximate error amount.

[0200] In addition, a sixth data encoding program can be provided. In the fifth data encoding program, the sixth data encoding program is used to enable a computer to execute the following steps: a step of generating an approximate error amount within a specified tolerance by removing the approximate error amount that exceeds the specified tolerance from the approximate error amount; and a step of encoding the approximate error amount within the specified tolerance to generate the encoded approximate error amount.

[0201] Furthermore, a seventh data encoding program can be provided, which is configured to cause a computer to execute a step of encoding the encoded axis-dependent data in the first to sixth data encoding programs.

[0202] In addition, in the above-mentioned fourth example, the model approximation encoding unit 141 is constructed to have an approximation error calculation unit 142, but it can also be constructed as: for example, the axis-dependent data after the model approximation encoding encoded by the data encoding device 104 is decoded by a data decoding device, and the approximation error amount is calculated by the difference between the decoded axis-dependent data and the original axis-dependent data.

[0203] In the fourth example, the configuration including the approximate error calculation unit 142 is applied to the first example, but the configuration is not limited to this and may also be applied to the second and third examples. In the sixth example, the configuration including the model approximate coded data coding unit 162 is applied to the first example, but the configuration is not limited to this and may also be applied to other examples. In this way, the above examples may be appropriately combined as long as they do not hinder each other's functions.

[0204] In addition, in the seventh example described above, the machine learning device 109 is provided separately from the data encoding device 107 , but the present invention is not limited thereto, and a machine learning device may be provided inside the data encoding device 107 .

[0205] <Data Decoding Device>

[0206] Return to Figure 1 , the data decoding device 1 according to the first embodiment is described.

[0207] like Figure 1 As shown, the data decoding device 1 includes a decoding unit 11. The decoding unit 11 generates model-approximately decoded axis-dependent data as decoded axis-dependent data based on the model-approximately encoded axis-dependent data and the linear combination model.

[0208] The data decoding device 1 is similar to the above-mentioned data encoding devices, and 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 above-mentioned computer.

[0209] The data decoding device 1 may be provided in a numerical controller (CNC) or a robot controller 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.

[0210] The decoding unit 11 obtains the axis-dependent data after model approximation encoding based on the linear combination of each axis data as input data. The axis-dependent data after model approximation encoding is generated by the above-mentioned data encoding devices. As described above, if the number of target axes is L, the names of the L target axes are respectively X 1 ~X L, then the axis-dependent data after model approximate encoding contains the following information: the constant vector c represented by the above mathematical formula (7), L axis data (axis errors), i.e., the vector Ea X 1 [X 1 ]~Vector Ea X L [X L ], the number of elements of each L axis data N X 1 ~N X L Here, as shown in the following mathematical formula (12), each axis data (each axis error) is set to be a vector arranged in the number of elements.

[0211] [Mathematical formula 12]

[0212]

[0213] In addition, the linear combination model is stored in the storage unit of the data decoding device 1, for example, and is represented by the following mathematical formula (5) mentioned above. The axis-dependent data after model approximate encoding follows the linear combination model, so the decoding unit 11 calculates the vector Ea[X] of the axis-dependent data after model approximate decoding by the linear combination formula represented by the mathematical formula (5). 1 ]…[X L ].

[0214] [Mathematical formula 13]

[0215]

[0216] The decoding of the data decoding device 1 is described in more detail by taking a specific example. For example, the number of target axes is 2, and the names of the two target axes are respectively set to X and Y. At this time, the constant vector c and the vector Ea as the two axis data (axis error) are X [X] and vector Ea Y [Y], the number of elements N X and N Y Input into the above mathematical formula (5). For example, as N X =4, N Y =3 when the vector Ea of each axis data (each axis error) X [X] and vector Ea Y An example of [Y] is represented by the following mathematical formula (13) and mathematical formula (14).

[0217] [Mathematical formula 14]

[0218]

[0219] [Mathematical formula 15]

[0220]

[0221] At this time, the vector Ea[X][Y] of the axis-dependent data after model approximation decoding is expressed by the following mathematical formula (15).

[0222] [Formula 16]

[0223]

[0224] So, for example, if it is a vector Ea[3][1], then the vector Ea X [3] = vector u3, vector Ea Y [1] = vector v1, therefore, vector Ea[3][1] is expressed by the following mathematical formula (16).

[0225] [Mathematical formula 17]

[0226]

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

[0228] In the data decoding device 1 of the present embodiment, a decoding unit 11 is provided. The decoding unit 11 generates model-approximated decoded axis-dependent data obtained by decoding the model-approximated encoded axis-dependent data based on a linear combination model that approximates the axis-dependent data as a linear combination of the axis data of the industrial machinery, and the model-approximated encoded axis-dependent data obtained by model approximation through the linear combination model, wherein the axis-dependent data depends on the coordinate values ​​of the axes of the industrial machinery. Thus, the encoded axis-dependent data obtained by encoding the axis-dependent data that depends on the coordinate values ​​of the axes of the industrial machinery can be decoded. Furthermore, data such as the error amount that can be input to the control device of the industrial machinery for use can be increased without increasing the storage capacity, and the errors of the industrial machinery can be corrected with higher accuracy.

[0229] [Second embodiment]

[0230] Fig.29 2 is a diagram showing the structure of a data decoding device according to the second embodiment. Fig.29 As shown, the data decoding device 2 of the second embodiment is different from the data decoding device 1 of the first embodiment in that it has an approximate error decoding unit 22 and an approximate error amount combining unit 23. In addition, it is different from the first embodiment in that the decoded axis-dependent data is generated by combining the decoded approximate error amount with the model approximate decoded axis-dependent data generated by the decoding unit 21. The structure other than these differences is the same as that of the first embodiment.

[0231] The approximate error decoding unit 22 obtains the coded approximate error amount obtained by encoding the approximate error amount obtained when the axis-dependent data model is approximated by the linear combination model. In addition, the approximate error decoding unit 22 decodes the obtained coded approximate error amount to generate the decoded approximate error amount. In the data encoding device 104 of the fourth example, the coded approximate error amount is generated by encoding the approximate error amount by the approximate error encoding unit 43.

[0232] The approximate error amount combining unit 23 obtains the model approximate decoded axis-dependent data generated by the decoding unit 21 and the decoded approximate error amount generated by the approximate error decoding unit 22. In addition, the approximate error amount combining unit 23 generates the decoded axis-dependent data after the approximate error amount is combined by combining the obtained decoded approximate error amount with the obtained model approximate decoded axis-dependent data. Here, there is no particular limitation as a combining method. For example, it can be addition, and the approximate error amount combining unit 23 can generate the decoded axis-dependent data after the approximate error amount is combined by adding the decoded approximate error amount to the model approximate decoded axis-dependent data.

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

[0234] In the data decoding device 2 of the present embodiment, an approximate error decoding unit 22 is provided. The approximate error decoding unit 22 obtains the encoded approximate error amount obtained by encoding the approximate error amount obtained when the axis-dependent data model is approximated by the linear combination model, and decodes the encoded approximate error amount to generate the decoded approximate error amount. In addition, in the data decoding device 2 of the present embodiment, an approximate error amount combining unit 23 is provided. The approximate error amount combining unit 23 generates the decoded axis-dependent data after the approximate error amount is combined by combining the decoded approximate error amount with the axis-dependent data after the model approximation decoding. Thus, according to the present embodiment, the axis-dependent data obtained by encoding can be decoded, and on this basis, the encoded approximate error amount can be decoded and combined. Therefore, if it is not data obtained by removing the approximate error amount of the encoded approximate error amount exceeding the prescribed tolerance, the axis-dependent data such as the original error amount can be reproduced without loss.

[0235] In addition, in the present embodiment, the approximate error decoding unit 22 generates the decoded approximate error amount, but the approximate error amount generated by performing model approximate encoding on the axis-dependent data in the above-mentioned data encoding device can be used instead of the decoded approximate error amount. In this case, the approximate error decoding unit 22 is not required. As a result, the decoded axis-dependent data is consistent with the axis-dependent data before model approximate encoding. That is, the data decoding device 2 of the present embodiment can decode the original axis-dependent data without loss.

[0236] [Third Embodiment]

[0237] Fig.30 2 is a diagram showing the structure of a data decoding device according to a third embodiment. Fig.30 As shown, the data decoding device 3 of the third embodiment is different from the data decoding device 2 of the second embodiment in that it has an approximate error amount combining unit 34 exceeding a predetermined tolerance. In addition, it is different from the second embodiment in that decoded axis-dependent data after approximate error amount combination is combined with the approximate error amount exceeding a predetermined tolerance to generate decoded axis-dependent data. The configuration other than these differences is the same as that of the second embodiment.

[0238] Here, the coded approximate error amount decoded by the approximate error decoding unit 32 of the present embodiment is generated by encoding the approximate error amount within the prescribed tolerance by the approximate error encoding unit 154 in the data encoding device 105 of the fifth example described above. That is, the approximate error amount used in the present embodiment is the approximate error amount within the prescribed tolerance obtained by removing the approximate error amount exceeding the prescribed tolerance.

[0239] The approximate error amount combination unit 34 that exceeds the prescribed tolerance obtains the approximate error amount that exceeds the prescribed tolerance, and combines the decoded axis-dependent data after the approximate error amount combination with the approximate error amount that exceeds the prescribed tolerance, thereby generating the decoded axis-dependent data. Here, there is no particular limitation as a combination method. For example, it can be addition, and the approximate error amount combination unit 34 that exceeds the prescribed tolerance can add the decoded axis-dependent data after the approximate error amount combination with the approximate error amount that exceeds the prescribed tolerance to generate the decoded axis-dependent data.

[0240] In the data encoding device 105 of the fifth example described above, the approximate error amount exceeding the prescribed tolerance is generated by the approximate error removal unit exceeding the prescribed tolerance 153. That is, the approximate error amount exceeding the prescribed tolerance generated by subtracting the approximate error amount within the prescribed tolerance from the approximate error amount by the approximate error removal unit 153 is used in the approximate error amount combination unit 34 of the present embodiment.

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

[0242] In the data decoding device 3 of the present embodiment, the approximate error amount is set to an approximate error amount within the prescribed tolerance obtained by removing the approximate error amount exceeding the prescribed tolerance. In addition, the data decoding device 3 of the present embodiment is provided with an approximate error amount combining unit exceeding the prescribed tolerance, which obtains the approximate error amount exceeding the prescribed tolerance, and generates decoded axis-dependent data by combining the decoded axis-dependent data after the approximate error amount is combined with the approximate error amount exceeding the prescribed tolerance. Thus, according to the present embodiment, the encoded axis-dependent data can be decoded, and for this, the encoded approximate error amount can be decoded and combined, and the approximate error amount exceeding the prescribed tolerance can also be combined, so that the axis-dependent data such as the original error amount can be reproduced without loss.

[0243] [Fourth Embodiment]

[0244] Fig.31 1 is a diagram showing a configuration of an error correction system 200 having the data decoding device 1 according to the first embodiment. The error correction system 200 according to the present embodiment uses decoded axis-dependent data generated by the data decoding device 1 to correct errors of industrial machinery.

[0245] The error correction system 200 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.

[0246] The error correction system 200 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.

[0247] like Fig.31 As shown, the error correction system 200 includes a data decoding device 1, a command analysis unit 201, a correction unit 202, an interpolation unit 203, an X-axis acceleration / deceleration unit 204, a Y-axis acceleration / deceleration unit 205, a Z-axis acceleration / deceleration unit 206, an X-axis servo 207, a Y-axis servo 208, and a Z-axis servo 209. The details of the data decoding device 1 are as described above.

[0248] The command analysis unit 201 reads and analyzes the machining program for each program block, and generates movement command data for instructing each control axis of a machine tool etc. to move based on the analysis result. The command analysis unit 201 sends the generated movement command data to the correction unit 202 described later.

[0249] The correction unit 202 corrects the movement command data obtained from the command analysis unit 201 based on the decoded axis-dependence data generated by the data decoding device 1. The correction processing of the correction unit 202 will be described in detail later.

[0250] The interpolation unit 203 generates interpolation data by performing interpolation calculations on points on the command path at a predetermined interpolation cycle based on the movement command data generated by the command analysis unit 201 and corrected by the correction unit 202. The interpolation unit 203 distributes and sends the generated interpolation data to the X-axis acceleration / deceleration unit 204, the Y-axis acceleration / deceleration unit 205, and the Z-axis acceleration / deceleration unit 206, which will be described later.

[0251] The X-axis acceleration / deceleration unit 204, the Y-axis acceleration / deceleration unit 205, and the Z-axis acceleration / deceleration unit 206 generate pulse signals of the X-axis servo, the Y-axis servo, and the Z-axis servo, respectively, according to the interpolation data sent from the interpolation unit 203, at the interpolation cycle. The X-axis acceleration / deceleration unit 204, the Y-axis acceleration / deceleration unit 205, and the Z-axis acceleration / deceleration unit 206 input the generated pulse signals to the X-axis servo, the Y-axis servo, and the Z-axis servo, respectively, thereby moving the multiple mechanical elements of the machine tool along the multiple control axes.

[0252] Next, the correction process of the correction unit 202 is described in detail. First, the error correction system 200 obtains the model-approximated coded axis-dependent data as input data. Based on the obtained model-approximated coded axis-dependent data and the linear combination model, the decoding unit 11 of the data decoding device 1 generates the model-approximated decoded axis-dependent data, i.e., the vector Ea[X 1 ]…[X L ].

[0253] like Fig.31 As shown, when the error correction system 200 has three axes, for example, X, Y, and Z, the data decoding device 1 generates a vector Ea[X][Y][Z] as the decoded axis-dependent data. Here, X, Y, and Z in the vector Ea[X][Y][Z] are the correction points of each axis at intervals Δ X , Δ Y , Δ Z An index that quantizes the coordinate values ​​of the axes X, Y, and Z of the error correction system 200 .

[0254] For example, if the coordinate values ​​of each axis are set to (X, Y, Z) = (100.0, 40.0, 30.0), and the calibration point interval of each axis is set to (Δ X , Δ Y , Δ Z )=(25.0, 20.0, 30.0), then the result of quantizing the coordinate values ​​of each axis is (100.0 / 25.0, 40.0 / 20.0, 30.0 / 30.0)=(4, 2, 1). Therefore, the vector Ea[4][2][1] as the decoded axis-dependent data can be regarded as the error amount in the coordinate values ​​of each axis (X, Y, Z)=(100.0, 40.0, 30.0) to perform error correction.

[0255] In addition, refer to Fig.32 The error correction when the quantized value is not an integer like the above-mentioned (4, 2, 1) but has a decimal point is described. Fig.32 This is a diagram for explaining the error correction of the correction unit 202, and more specifically, a diagram for explaining the error correction when the quantized value has a decimal point. Here, for example, assuming that the quantized result is (n X +f X , n Y +f Y , n Z +f Z ). Among them, n X 、n Y 、n Z is an integer value, f X 、f Y 、f Z A decimal value greater than 0 and less than 1.

[0256] like Fig.32 As shown, the decoded axis-dependent data of one of the eight vertices of the cube is set to the vector Ea[n X ][n Y ][n Z ], and set the decoded axis-dependent data of the remaining 7 vertices to vector Ea[n X +1][n Y ][n Z ], vector Ea[n X +1][n Y +1][n Z ], vector Ea[n X +1][n Y ][n Z +1], vector Ea[n X +1][n Y +1][n Z+1], vector Ea[n X ][n Y +1][n Z ], vector Ea[n X ][n Y +1][n Z +1], vector Ea[n X ][n Y ][n Z +1]. At this time, if Fig.32 As shown, the current coordinate value in the cube is given by (n X +f X , n Y +f Y , n Z +f Z ) is used to indicate that the inner sum calculated by weighted summing of the decoded axis-dependent data of the above 8 vertices can be used as the decoded axis-dependent data of the current coordinate value, that is, the error amount, to perform error correction.

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

[0258] The error correction system 200 of the present embodiment is provided with a correction unit 202 and a data decoding device 1, and the correction unit 202 is configured to correct the error of the industrial machine based on the decoded axis-dependent data. Thus, according to the present embodiment, the encoded axis-dependent data obtained by encoding the axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine can be decoded, and further, the amount of error data that can be input to the control device of the industrial machine and the like and used can be increased without increasing the storage capacity, and the error of the industrial machine can be corrected with higher accuracy.

[0259] In each embodiment of the data decoding device described above, a data decoding program can also be provided, which is used to make each data decoding device perform each process. That is, as a first data decoding program, a data decoding program can be provided, which is used to make a computer perform the following steps: generating model approximate decoded axis-dependent data obtained by decoding model approximate encoded axis-dependent data based on a linear combination model and model approximate encoded axis-dependent data obtained by model approximation through the 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.

[0260] In addition, a second data decoding program can also be provided. In the first data decoding program, the second data decoding program is used to enable a computer to execute the following steps: obtaining a coded approximate error amount obtained by encoding the approximate error amount, and decoding the coded approximate error amount to generate a decoded approximate error amount, wherein the approximate error amount is obtained when the axis-dependent data model is approximated by a linear combination model; and generating decoded axis-dependent data with the approximate error amount combined by combining the decoded approximate error amount with the model-approximated decoded axis-dependent data.

[0261] In addition, a third data decoding program can also be provided. In the second data decoding program, the third data decoding program is used to enable a computer to execute the following steps: setting the approximate error amount to an approximate error amount within a specified tolerance obtained by removing the approximate error amount exceeding the specified tolerance, obtaining the approximate error amount exceeding the specified tolerance, and combining the decoded axis-dependent data after the approximate error amounts are combined with the approximate error amount exceeding the specified tolerance, thereby generating the decoded axis-dependent data.

[0262] In addition, an error correction program can be provided, which is used to enable the above-mentioned error correction system 200 to perform the above-mentioned correction processing. The error correction program is used to enable a computer to perform the following steps: the step of correcting the error of the industrial machine based on the decoded axis-dependent data.

[0263] 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.

[0264] In the fourth embodiment, the data decoding device 1 of the first embodiment is provided, but the present invention is not limited thereto and may be provided with the data decoding device 2 of the second embodiment or the data decoding device 3 of the third embodiment.

[0265] Explanation of symbols

[0266] 1, 2, 3 Data decoding device

[0267] 11, 21, 31 Decoding Department

[0268] 22, 32 Approximate error decoding unit

[0269] 23, 33 Approximate error combination part

[0270] 34 Approximate error combination exceeding the specified tolerance

[0271] 101, 102, 103, 104, 105, 106, 107 Data encoding device

[0272] 109 Machine Learning Device

[0273] 111, 121, 131, 141, 151, 161 Model approximate coding unit

[0274] 122, 132 Axis-dependent data segmentation

[0275] 133 Dynamic Programming Processing Department

[0276] 134 Optimality evaluation after model approximate encoding

[0277] 135 Partial segmentation of axis-dependent data

[0278] 136 Combination of optimization results for some axis-dependent data

[0279] 142 Approximate error calculation unit

[0280] 143 Approximate error coding unit

[0281] 152 Approximate error calculation unit

[0282] 153 Approximate error removal exceeding the specified tolerance

[0283] 154 Approximate error coding unit

[0284] 162 Model approximate encoding after data encoding part

[0285] 200 Error Correction System

[0286] 201 Instruction analysis unit

[0287] 202 Correction Department

[0288] 203 Interpolation Department

[0289] 204 Acceleration and deceleration unit for X axis

[0290] 205 Acceleration and deceleration unit for Y axis

[0291] 206 Z-axis acceleration and deceleration unit

[0292] 207 X-axis servo

[0293] 208 Y-axis servo

[0294] 209 Z-axis servo.

Claims

1. A data decoding device, which decodes encoded data, characterized in that: have: A decoding unit generates model-approximated decoded axis-dependent data obtained by decoding the model-approximated encoded axis-dependent data based on a linear combination model and the model-approximated encoded axis-dependent data obtained by approximating the model through the 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 data decoding device according to claim 1, characterized in that: The data decoding device also has: an approximate error decoding unit that obtains an encoded approximate error amount obtained by encoding an approximate error amount, and decodes the encoded approximate error amount to generate a decoded approximate error amount, wherein the approximate error amount is obtained when the axis-dependent data model is approximated by the linear combination model; and An approximate error amount combining unit combines the decoded approximate error amount with the model approximate decoded axis-dependent data to generate decoded axis-dependent data after approximate error amount combination.

3. The data decoding device according to claim 2, characterized in that: The approximate error amount is the approximate error amount within the prescribed tolerance obtained by removing the approximate error amount exceeding the prescribed tolerance. The data decoding device further comprises: an approximate error amount exceeding a prescribed tolerance combining unit, which obtains the approximate error amount exceeding the prescribed tolerance, and combines the decoded axis-dependent data after the approximate error amount combination with the approximate error amount exceeding the prescribed tolerance, thereby generating the decoded axis-dependent data.

4. An error correction system for correcting errors of industrial machinery, characterized in that: The error correction system comprises: a correction unit; and a data decoding device according to any one of claims 1 to 3, The correction unit corrects an error of the industrial machine based on the decoded axis-dependent data.

5. A data decoding program for decoding encoded data, characterized in that: The data decoding program is used to enable the computer to perform the following steps: Based on a linear combination model and model approximation encoded axis dependency data obtained by performing model approximation through the linear combination model, model approximation decoded axis dependency data obtained by decoding the model approximation encoded axis dependency data is generated, wherein the axis dependency data depends on the coordinate values ​​of each axis of the industrial machinery, and the linear combination model is used to approximate the axis dependency 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