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

The data decoding device uses a linear combination model to decode and compress axis-dependent data, addressing the limitations of conventional entropy coding and improving error correction accuracy in industrial machinery.

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

Patent Information

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

AI Technical Summary

Technical Problem

Conventional entropy coding techniques struggle to compress axis-dependent data for industrial machinery due to its white noise-like characteristics, leading to difficulties in improving error correction accuracy beyond the input data size limit.

Method used

A data decoding device that utilizes a linear combination model to approximate axis-dependent data, allowing for decoding and compression of encoded data by treating it as a linear combination of each axis data, thereby enabling higher accuracy error correction.

Benefits of technology

The solution enables decoding and compression of axis-dependent data, allowing for increased data input to industrial machinery control devices without increasing storage capacity, thereby enhancing error correction accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807544000018
    Figure 0007807544000018
  • Figure 0007807544000019
    Figure 0007807544000019
  • Figure 0007807544000020
    Figure 0007807544000020
Patent Text Reader

Abstract

Provided is a data decoding technique that enables decoding of post-encoding axis-dependent data obtained by encoding axis-dependent data that depends on the coordinate value of each axis of an industrial machine. A data decoding device 1 comprises a decoding unit 11 that generates post-model approximation decoding axis-dependent data which is obtained by decoding model approximation encoded axis-dependent data on the basis of: a linear combination model that approximates axis-dependent data that depends on the coordinate value of each axis of an industrial machine, as a linear combination of respective axis data of the industrial machine; and post-model approximation encoding axis-dependent data which is obtained by model approximation by the linear combination model.
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 technology]

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

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

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

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

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

[0007] Therefore, the present inventors have been studying data encoding techniques that can encode and compress axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine.The present disclosure aims to provide a data decoding technique that can decode axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine after encoding the encoded axis-dependent data. [Means for solving the problem]

[0008] One aspect of the present disclosure is a data decoding device that decodes encoded data, the data decoding device including a linear combination model that approximates axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine as a linear combination of each axis data of the industrial machine, and a decoding unit that generates axis-dependent data after model approximation decoding by decoding the model approximation encoded axis-dependent data based on model approximation encoded axis-dependent data that has been model-approximated by the linear combination model.

[0009] Another aspect of the present disclosure is an error correction system that corrects errors in industrial machinery, comprising a correction unit and a data decoding device of one aspect of the present disclosure, wherein the correction unit corrects errors in the industrial machinery based on the decoded axis-dependent data.

[0010] Another aspect of the present disclosure is a data decoding program for decoding encoded data, which causes a computer to execute a step of generating model-approximation-decoded axis-dependent data by decoding the model-approximation-encoded axis-dependent data based on a linear combination model that approximates axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine as a linear combination of each axis data of the industrial machine, and model-approximation-encoded axis-dependent data that has been model-approximated by the linear combination model. [Effects of the Invention]

[0011] According to the present disclosure, it is possible to provide a data decoding technique that can decode axis-dependent data that is dependent on the coordinate values ​​of each axis of an industrial machine after encoding the axis-dependent data. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a diagram showing a configuration of a data decoding device according to a first embodiment. [Figure 2] FIG. 1 is a diagram illustrating a configuration of a first example of a data encoding device. [Figure 3] FIG. 10 is a diagram showing an example of a text file containing only specific characters. [Figure 4] FIG. 10 is a diagram illustrating an example of data in which the frequency of occurrence of each value is expressed in a distribution. [Figure 5] FIG. 10 is a diagram showing data in which the frequency of occurrence of each value is uniform. [Figure 6] FIG. 10 is a diagram showing each axis error of the X axis. [Figure 7] FIG. 10 is a diagram showing each axis error of the Y axis. [Figure 8] FIG. 10 is a diagram showing the amount of error in coordinate values ​​(X2, Y1). [Figure 9] FIG. 10 is a diagram showing the amount of error when it cannot be expressed by a linear combination of the axis errors. [Figure 10] FIG. 9 is a partially enlarged view of FIG. 8. [Figure 11] FIG. 10 is a diagram showing a bitmap image that visualizes an error map. [Figure 12]FIG. 10 is a diagram illustrating an example of axis-dependent data. [Figure 13] FIG. 13 is a diagram showing a linear combination model that approximates the axis-dependent data of FIG. 12 as a linear combination of each axis error of the industrial machine. [Figure 14] FIG. 10 is a diagram illustrating a configuration of a second example of a data encoding device. [Figure 15] FIG. 10 is a diagram showing axis-dependent data partitioned into a plurality of grid-like regions. [Figure 16] FIG. 10 is a diagram showing an example of post-division axis-dependent data. [Figure 17] FIG. 10 is a diagram illustrating a configuration of a third example of a data encoding device. [Figure 18] 10 is a flowchart showing a procedure for dividing axis-dependent data by a dynamic programming processing unit. [Figure 19] FIG. 10 is a diagram showing divided sections before each axis data (each axis error) is expanded by one column in the positive X direction. [Figure 20] FIG. 10 is a diagram showing divided sections after each axis data (each axis error) is expanded by one column in the positive X direction. [Figure 21] FIG. 10 is a diagram illustrating a configuration of a fourth example of a data encoding device. [Figure 22] FIG. 10 is a diagram illustrating an approximation error (vector γ[X][Y]). [Figure 23] FIG. 10 is a diagram illustrating a configuration of a fifth example of a data encoding device. [Figure 24] FIG. 10 is a diagram showing the approximation error (vector γ[X][Y]) including exceptional points larger than a predetermined tolerance. [Figure 25] FIG. 10 is a diagram showing exceptional points that have been excluded and retained because the approximation error (vector γ[X][Y]) is greater than a predetermined tolerance. [Figure 26] FIG. 10 is a diagram illustrating a configuration of a sixth example of a data encoding device. [Figure 27] FIG. 10 is a diagram illustrating a configuration of a seventh example of a data encoding device. [Figure 28] 1 is a flowchart showing the procedure of a learning process performed by a machine learning device. [Figure 29] FIG. 10 is a diagram showing the configuration of a data decoding device according to a second embodiment. [Figure 30] FIG. 10 is a diagram showing the configuration of a data decoding device according to a third embodiment. [Figure 31] 1 is a diagram showing the configuration of an error correction system including a data decoding device according to a first embodiment. [Figure 32] 10A and 10B are diagrams for explaining error correction by a correction unit. DETAILED DESCRIPTION OF THE INVENTION

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

[0014] [First embodiment] Axis-dependent data, such as error amounts used for error correction of each axis of industrial machinery, may have white noise-like properties with uniform occurrence frequency. Therefore, it is difficult to compress axis-dependent data using conventional entropy coding techniques that utilize the bias in the occurrence frequency of values ​​in the data, i.e., the small information entropy. In contrast, the data decoding device 1 according to this embodiment is a data decoding device that can decode data that has been compressed by encoding axis-dependent data that depends on the coordinate values ​​of each axis of industrial machinery.

[0015] Fig. 1 is a diagram showing the configuration of a data decoding device 1 according to the first embodiment. As shown in Fig. 1, the data decoding device 1 includes a decoding unit 11. The decoding unit 11 generates model approximation-decoded axis-dependent data as decoded axis-dependent data based on model approximation-encoded axis-dependent data and a linear combination model.

[0016] <Data Encoding Device> First, before explaining the configuration of the data decoding device 1, a data encoding device capable of encoding and compressing axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine will be described in detail together with conventional data encoding techniques.

[0017] (First example) Fig. 2 is a diagram showing the configuration of a first example of a data encoding device. As shown in Fig. 2, 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) by encoding the axis-dependent data based on the axis-dependent data and a linear combination model.

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

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

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

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

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

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

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

[0025]

number

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

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

[0028]

number

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

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

[0031]

number

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

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

[0034]

number

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

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

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

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

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

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

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

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

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

[0044]

number

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

[0046]

number

[0047]

number

[0048]

number

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

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

[0051]

number

[0052] In this way, according to the data encoding device 101, by approximating part of the axis-dependent data as a linear combination of each axis data (each axis error), it is possible to encode and compress axis-dependent data that has been difficult to compress in the past. Furthermore, according to the data encoding device 101, by using the encoded and compressed axis-dependent data, it is possible to increase the amount of data such as error amounts that can be input to the control device of the industrial machinery without increasing the storage capacity, and it is possible to correct the errors of the industrial machinery with higher accuracy.

[0053] (Second example) Fig. 14 is a diagram showing the configuration of a second example of a data encoding device. As shown in Fig. 14, data encoding device 102 differs from data encoding device 101 in that it includes an axis-dependent data division unit 122. It also differs from model approximation encoding unit 111 of the first example described above in that model approximation encoding unit 121 performs model approximation encoding based on post-division axis-dependent data generated by dividing axis-dependent data into multiple pieces and the linear combination model described above. Other than these differences, the configuration is the same as that of the first example.

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

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

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

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

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

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

[0060] (Third example) Fig. 17 is a diagram showing the configuration of a third example of a data encoding device. As shown in Fig. 17, data encoding device 103 differs from the second example in that the configuration of axis-dependent data division unit 132 differs from that of the above-mentioned axis-dependent data division unit 122. Other than this difference, the configuration is the same as that of the second example.

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

[0062] 17, the axis-dependent data division unit 132 includes a dynamic programming processing unit 133. The dynamic programming processing unit 133 generates optimal post-division axis-dependent data by executing dynamic programming. Specifically, the dynamic programming processing unit 133 includes, as functional units for executing dynamic programming, a post-model approximation encoding optimality evaluation unit 134, an axis-dependent data partial division unit 135, and a partial axis-dependent data optimization result combination unit 136.

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

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

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

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

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

[0068] The division of axis-dependent data by the dynamic programming processing unit 133 will be described in detail below with reference to the above-mentioned FIGS. 15, 16, 18 and 19. FIG.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0092] (Example 4) Fig. 21 is a diagram showing the configuration of a fourth example of a data encoding device. As shown in Fig. 21, data encoding device 104 differs from the above-mentioned model approximation encoding unit 111 in that model approximation encoding unit 141 includes an approximation error calculation unit 142. Data encoding device 104 also differs from the above-mentioned data encoding device 101 in that data encoding device 104 includes an approximation error encoding unit 143. Other than these differences, the configuration is the same as that of the first example.

[0093] The approximation error calculation unit 142 calculates the amount of approximation error. The approximation error calculation unit 142 is provided in the model approximation coding unit 141, and calculates the amount of approximation error when subjecting the axis-dependent data to model approximation coding. This amount of approximation error will be described in detail later.

[0094] The approximate error coding unit 143 codes the approximate error amount to generate an approximate error amount after coding. The approximate error amount calculated by the approximate error calculation unit 142 often has a bias in the frequency of occurrence of values ​​in the data as described below, and the information entropy is small, so it is possible to compress the data by coding using conventionally known entropy coding. Alternatively, the data may be compressed by coding using model approximation coding of a linear combination model executed by the model approximation coding unit 141.

[0095] 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 below.

[0096] As explained in the first example above, the approximation model (vector Ea[X 1 ]···[X L ]), the approximation error (vector γ[X 1 ]···[X L ]) is expressed by the following formula (10).

[0097]

number

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

[0099] Here, the approximate model (vector Ea[X 1 ]···[X L ]) is the maximum likelihood estimation model, so the approximation error (vector γ[X 1 ]···[X L]) has been minimized and has become very small values. Here, FIG. 22 is a diagram showing the approximation error (vector γ[X][Y]). As shown in FIG. 22, the approximation error (vector γ[X][Y]) is biased towards small values, and the frequency distribution of these values ​​is also biased. Therefore, the approximation error (vector γ[X 1 ]···[X L ]) can be encoded to compress the data.

[0100] Approximation error (vector γ[X 1 ]···[X L For example, the approximation error (vector γ[X 1 ]···[X L ]) may be coded, and the approximation error (vector γ[X 1 ]···[X L ]) may be encoded.

[0101] Approximation model (vector Ea[X 1 ]···[X L ]) alone, the original error quantity (vector E[X 1 ]···[X L ]), the approximation error (vector γ[X 1 ]···[X L ]), and the approximation error (vector γ[X 1 ]···[X L ]) exists for each axis data point, so if it is stored as it is, data compression will not be possible. However, the approximation error (vector γ[X 1 ]···[X L ]) and encode the approximate model (vector Ea[X 1 ]···[X L ]) to obtain the original error vector E[X 1 ]···[X L ]) can be compressed and reproduced without any loss, and the total data size can also be reduced.

[0102] In this way, the data encoding device 104 can encode and compress axis-dependent data, which was previously difficult to compress, and by encoding the approximate error amount, the total data size can be further reduced while the original axis-dependent data, such as the error amount, can be reproduced without any loss.

[0103] (Fifth Example) Fig. 23 is a diagram showing the configuration of a fifth example of a data encoding device. As shown in Fig. 23, data encoding device 105 differs from above-mentioned data encoding device 104 in that it further includes an approximation error removal section 153 having a predetermined tolerance or more. It also differs from above-mentioned approximation error encoding section 143 in that approximation error encoding section 154 encodes an approximation error amount within the predetermined tolerance. Other than these differences, the configuration is the same as the fourth example.

[0104] The approximation error removal unit 153 removes approximation error amounts exceeding a predetermined tolerance from the approximation error amount, thereby generating an approximation error amount within the predetermined tolerance. Here, FIG. 24 is a diagram showing the approximation error (vector γ[X][Y]) including exceptional points larger than the predetermined tolerance. As shown in FIG. 24, the approximation error (vector γ[X][Y]), which is the difference between the original error amount before model approximation coding and the error amount after model approximation coding, may include exceptional points larger than the predetermined tolerance. In this embodiment, the approximation error removal unit 153 removes these exceptional points.

[0105] 25 shows exceptional points that are excluded and retained because the approximation error (vector γ[X][Y]) is greater than the predetermined tolerance. In this way, the approximation error removal unit 153 may separately retain exceptional points whose approximation errors are greater than the predetermined tolerance, i.e., approximation error amounts that exceed the predetermined tolerance, that have been removed from the approximation error amount. This allows axis-dependent data such as the original error amount to be compressed and reproduced without any loss.

[0106] The predetermined tolerance may be, for example, an approximation error allowance or a predetermined number of data points (allowable points) that exceed the approximation error allowance. In this case, the approximation error elimination unit 153 excludes points that exceed a preset approximation error allowance or a predetermined number of points that exceed the approximation error allowance from the approximation error (vector γ[X][Y]). Note that the predetermined tolerance may include 0.

[0107] The approximation error encoding unit 154 encodes the approximation error amount within a predetermined tolerance to generate an encoded approximation error amount. That is, the approximation error encoding unit 154 of this embodiment encodes the approximation error (vector γ[X 1 ]···[X L ]) is encoded after excluding points whose approximation error is greater than a predetermined tolerance.

[0108] The approximation error remaining after excluding points larger than a predetermined tolerance from the approximation error amount, i.e., the approximation error amount within the predetermined tolerance, becomes more biased and the information entropy becomes smaller, thereby enhancing the data compression effect by encoding. Furthermore, for example, by retaining only points whose approximation error is larger than the predetermined tolerance and not retaining other approximation errors, the data size after encoding can be further reduced. Even in this case, it is possible to ensure that the entire approximation error falls within the tolerance.

[0109] In this way, the data encoding device 105 can encode and compress axis-dependent data, which was previously difficult to compress, and also can realize lossy compression within the allowable loss amount (predetermined tolerance, predetermined number of points) by encoding the approximate error amount after removing the approximate error amount that exceeds a predetermined tolerance. In this case, the data size can be reduced more than with lossless compression.

[0110] (Example 6) Fig. 26 is a diagram showing the configuration of a sixth example of a data encoding device. As shown in Fig. 26, data encoding device 106 differs from above-mentioned data encoding device 101 in that it further includes a model approximation encoding data encoding unit 162. Apart from this difference, the configuration is the same as that of the first example.

[0111] The model approximation coding post-data coding unit 162 codes the axis-dependent data after model approximation coding. That is, the model approximation coding post-data coding unit 162 re-encodes the axis-dependent data after model approximation coding.

[0112] As explained in the first example above, the approximation model (vector Ea[X 1 ]···[X L ]) to express the amount of error, the vector Ea X l [X l ], we can further compress the data by performing encoding on each of the vectors Ea X l [X l ] represents the error of each axis, so the approximation model (vector Ea[X 1 ]···[X L ]), the model approximation coding post-data coding unit 62 performs coding by entropy coding, such as the well-known Huffman code.

[0113] In this way, according to the data encoding device 106, the axis-dependent data after encoding is further encoded by the model approximation encoding data encoding unit 162, so that the data size can be further reduced.

[0114] (Example 7) Fig. 27 is a diagram showing the configuration of a seventh example of a data encoding device. As shown in Fig. 27, data encoding device 107 differs from the above-mentioned data encoding device 103 in that it includes a learning result acquisition unit that acquires reinforcement learning results from machine learning device 109 instead of dynamic programming, and divides axis-dependent data into sections using the learning results. Other than this difference, the configuration is the same as the third example.

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

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

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

[0118]

number

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

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

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

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

[0123] 27, machine learning device 109 includes state observation unit 191, judgment data acquisition unit 192, learning unit 193, and decision-making unit 194. Learning unit 193 also includes reward calculation unit 195 and value function update unit 196.

[0124] The state observing unit 191 acquires axis-dependent data as state data from the data encoding device 107. The state observing unit 191 also outputs the acquired axis-dependent data to the learning unit 193.

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

[0126] The reward calculation unit 195 of the learning unit 193 calculates a reward based on the acquired axis-dependent data, the number of unapproximable points, and the amount of data after approximation. Specifically, the reward calculation unit 195 increases the reward when the number of unapproximable points decreases, but decreases the reward when the number of unapproximable points increases. Furthermore, the reward calculation unit 195 increases the reward when the amount of data after approximation decreases, but decreases the reward when the amount of data after approximation increases.

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

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

[0129] FIG. 28 is a flowchart showing the procedure of the learning process by the machine learning device 109.

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

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

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

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

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

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

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

[0137] In this way, according to the data encoding device 107, reinforcement learning by the machine learning device 109 can divide the axis-dependent data into optimal post-division axis-dependent data that can be compressed with the smallest amount of data, so that optimal multiple regions that can be regarded as linear combinations of each axis data (each axis error) can be generated, and by performing model approximation encoding of a linear combination model for each region, axis-dependent data that was previously difficult to compress can be further compressed.

[0138] In each of the examples of the data encoding device described above, a data encoding program for causing each data encoding device to execute each process can also be provided. That is, as a first data encoding program, a data encoding program can be provided for causing a computer to execute a model approximation encoding step of encoding axis-dependent data based on part of axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine and a linear combination model that approximates the axis-dependent data as a linear combination of each axis data of the industrial machine, thereby generating axis-dependent data after encoding.

[0139] Furthermore, the first data encoding program can further include an axis-dependent data division step for dividing the axis-dependent data to generate a plurality of divided axis-dependent data, and a second data encoding program can be provided in which a model approximation encoding step generates encoded axis-dependent data based on the plurality of divided axis-dependent data and a linear combination model.

[0140] Furthermore, a third data encoding program can be provided in which the second data encoding program includes a dynamic programming processing step for generating optimal post-division axis-dependent data by executing dynamic programming, and causes a computer to execute an optimality evaluation step for evaluating the optimality of the encoded axis-dependent data, a partial division step for dividing the axis-dependent data into multiple parts to generate partial axis-dependent data, and an optimization result combination step for generating optimal post-division axis-dependent data by expanding and combining the partial axis-dependent data.

[0141] In addition, a fourth data encoding program can be provided for causing a computer to execute a step of generating optimal post-division axle-dependent data based on the reinforcement learning results of the machine learning device in the second data encoding program.

[0142] In addition, a fifth data encoding program can be provided for causing a computer to execute the first to fourth data encoding programs, including an approximate error calculation step for calculating an approximate error amount and a step for encoding the approximate error amount to generate an approximate error amount after encoding.

[0143] Furthermore, a sixth data encoding program can be provided for causing a computer to execute the following steps in the fifth data encoding program: generating an approximate error amount within a predetermined tolerance by removing an approximate error amount that exceeds a predetermined tolerance from the approximate error amount; and encoding the approximate error amount within the predetermined tolerance to generate an approximate error amount after encoding.

[0144] Furthermore, in the first to sixth data encoding programs, a seventh data encoding program can be provided for causing a computer to execute a step of encoding the axis-dependent data after encoding.

[0145] In the fourth example described above, the model approximation coding unit 141 is configured to include the approximation error calculation unit 142. However, for example, the model approximation coded axis-dependent data coded by the data coding device 104 may be decoded by a data decoding device, and the amount of approximation error may be calculated from the difference between the decoded axis-dependent data and the original axis-dependent data.

[0146] Furthermore, in the above-mentioned fourth example, the configuration including the approximation error calculation unit 142 is applied to the first example, but is not limited to this and can be applied to the second and third examples. Furthermore, in the above-mentioned sixth example, the configuration including the model approximation coded data coding unit 162 is applied to the first example, but is not limited to this and can be applied to other examples. In this way, the above-mentioned examples can be combined as appropriate as long as they do not interfere with each other's functions.

[0147] Furthermore, in the seventh example described above, machine learning device 109 is provided separately from data encoding device 107, but the present invention is not limited to this, and a machine learning device may be provided inside data encoding device 107.

[0148] <Data Decoding Device> Returning to FIG. 1, the data decoding device 1 according to the first embodiment will be described.

[0149] 1, the data decoding device 1 includes a decoding unit 11. The decoding unit 11 generates model approximation-decoded axis-dependent data as decoded axis-dependent data based on the model approximation-encoded axis-dependent data and a linear combination model.

[0150] Like each of the above-mentioned data encoding devices, the data decoding device 1 is configured using a computer equipped with memories such as ROM (read only memory) and RAM (random access memory), a CPU (control processing unit), operation means such as a keyboard, a display, and a communication control unit, all connected to one another via a bus. The functions and operations of the functional units described below are achieved by the cooperation of the CPU and memory installed in the computer, and the control program stored in the memory.

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

[0152] The decoding unit 11 obtains, as input data, axis-dependent data after model approximation coding by linear combination of each axis data. This axis-dependent data after model approximation coding is generated by each of the above-mentioned data coding devices. As described above, the number of target axes is set to L, and the names of the L target axes are respectively denoted by X. 1 ~X L Then, the axis-dependent data after model approximation coding is the constant vector c expressed by the above formula (7) and the vector Ea X 1 [X 1 ]~vector Ea X L [X L ] and the number of elements of each of the L axis data, N X 1 ~N X LHere, each axis data (each axis error) is assumed to be an arrangement of vectors for the number of elements, as expressed by the following formula (12).

[0153]

number

[0154] The linear combination model is stored in the storage unit of the data decoding device 1, for example, and is expressed by the following equation (5) described above. Since the axis-dependent data after model approximation encoding conforms to this linear combination model, the decoding unit 11 uses the linear combination formula expressed by equation (5) to generate the vector Ea[X 1 ]···[X L ] is calculated.

[0155]

number

[0156] The decoding by the data decoding device 1 will be explained in more detail with a specific example. For example, the number of target axes is two, and the names of the two target axes are X and Y. In this case, a constant vector c and vectors Ea as the data of each of the two axes (errors of each axis) are X [X] and vector Ea Y [Y] and the number of elements in each X and N Y is input to the above formula (5). For example, N X =4, N Y = 3, the vector Ea as each axis data (each axis error) X [X] and vector Ea Y An example of [Y] is expressed by the following formulas (13) and (14).

[0157]

number

[0158]

number

[0159] In this case, the vector Ea[X][Y] as axis-dependent data after model approximation decoding is expressed by the following equation (15).

[0160]

number

[0161] Therefore, for example, if the vector Ea[3][1] is X [3] = Vector u3, Vector Ea Y Since [1] = vector v1, vector Ea[3][1] is expressed by the following formula (16).

[0162]

number

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

[0164] The data decoding device 1 according to this embodiment includes a decoding unit 11 that generates model-approximation-decoded axis-dependent data by decoding model-approximation-encoded axis-dependent data based on a linear combination model that approximates axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine as a linear combination of the axis data of the industrial machine, and the model-approximation-encoded axis-dependent data that has been model-approximated using the linear combination model. This makes it possible to decode coded axis-dependent data that is dependent on the coordinate values ​​of each axis of the industrial machine. This in turn makes it possible to increase the amount of data, such as error amounts, that can be input to the control device of the industrial machine and used without increasing storage capacity, thereby enabling more accurate correction of errors in the industrial machine.

[0165] [Second embodiment] Fig. 29 is a diagram showing the configuration of a data decoding device according to the second embodiment. As shown in Fig. 29, the data decoding device 2 according to the second embodiment differs from the data decoding device 1 according to the first embodiment in that it includes an approximate error decoding unit 22 and an approximate error amount combining unit 23. It also differs from the first embodiment in that it generates post-decoding axis-dependent data by combining a post-decoding approximate error amount with post-model approximate decoding axis-dependent data generated by a decoding unit 21. Other than these differences, the configuration is the same as that of the first embodiment.

[0166] The approximation error decoding unit 22 acquires a coded approximation error amount by encoding the approximation error amount obtained when axis-dependent data is model-approximated using a linear combination model. The approximation error decoding unit 22 also decodes the acquired coded approximation error amount to generate a decoded approximation error amount. The coded approximation error amount is generated by encoding the approximation error amount using the approximation error coding unit 43 in the data coding device 104 of the fourth example described above.

[0167] The approximate error amount combining unit 23 acquires the model approximation-decoded axis-dependent data generated by the decoding unit 21 and the post-decoding approximate error amount generated by the approximate error decoding unit 22. The approximate error amount combining unit 23 also combines the acquired post-decoding approximate error amount with the acquired model approximation-decoded axis-dependent data to generate post-decoding axis-dependent data after approximate error amount combination. Here, the combining method is not particularly limited. For example, addition may be used, and the approximate error amount combining unit 23 can generate post-decoding axis-dependent data after approximate error amount combination by adding the post-decoding approximate error amount to the model approximation-decoded axis-dependent data.

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

[0169] The data decoding device 2 according to this embodiment includes an approximation error decoding unit 22 that acquires an approximation error obtained by encoding an approximation error obtained when axis-dependent data is model-approximated using a linear combination model, and decodes the approximation error to generate a decoded approximation error. The data decoding device 2 according to this embodiment also includes an approximation error combining unit 23 that combines the approximation error with the axis-dependent data after model approximation decoding to generate decoded axis-dependent data after approximation error combining. This embodiment not only decodes the encoded axis-dependent data, but also decodes and combines the encoded approximation errors. Therefore, unless the approximation error after encoding is obtained by removing an approximation error exceeding a predetermined tolerance, the original axis-dependent data, such as the error, can be reproduced without loss.

[0170] In this embodiment, the post-decoding approximation error amount is generated by the approximation error decoding unit 22. However, instead of the post-decoding approximation error amount, the approximation error amount generated by the model approximation encoding of axis-dependent data by the above-mentioned data encoding device may be used. In this case, the approximation error decoding unit 22 is not necessary. As a result, the axis-dependent data after decoding matches the axis-dependent data before model approximation encoding. In other words, the data decoding device 2 of this embodiment can decode the original axis-dependent data without any loss.

[0171] [Third embodiment] Fig. 30 is a diagram showing the configuration of a data decoding device according to the third embodiment. As shown in Fig. 30, the data decoding device 3 according to the third embodiment differs from the data decoding device 2 according to the second embodiment in that it includes an approximate error amount combining unit 34 that exceeds a predetermined tolerance. It also differs from the second embodiment in that it generates post-decoding axis-dependent data by combining an approximate error amount that exceeds a predetermined tolerance with the post-decoding axis-dependent data after the approximate error amount combining. Other than these differences, the configuration is the same as that of the second embodiment.

[0172] Here, the coded approximate error amount decoded by the approximate error decoding unit 32 of this embodiment is generated by coding the approximate error amount within a predetermined tolerance by the approximate error coding unit 154 in the data coding device 105 of the fifth example described above. That is, the approximate error amount used in this embodiment is an approximate error amount within the predetermined tolerance, from which the approximate error amount exceeding the predetermined tolerance has been removed.

[0173] The approximate error amount exceeding the predetermined tolerance combination unit 34 acquires the approximate error amount exceeding the predetermined tolerance and combines the approximate error amount exceeding the predetermined tolerance with the decoded axis-dependent data after the approximate error amount combination to generate decoded axis-dependent data. Here, the combination method is not particularly limited. For example, it may be addition, and the approximate error amount exceeding the predetermined tolerance combination unit 34 can generate decoded axis-dependent data by adding the approximate error amount exceeding the predetermined tolerance to the decoded axis-dependent data after the approximate error amount combination.

[0174] The approximation error amount exceeding the predetermined tolerance is generated by the approximation error exceeding the predetermined tolerance elimination unit 153 in the data encoding device 105 of the fifth example described above. That is, the approximation error amount exceeding the predetermined tolerance generated by the approximation error elimination unit 153 by subtracting the approximation error amount within the predetermined tolerance from the approximation error amount is used in the approximation error amount exceeding the predetermined tolerance combination unit 34 of this embodiment.

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

[0176] In the data decoding device 3 according to this embodiment, the approximate error amount is set to an approximate error amount within a predetermined tolerance, with approximate error amounts exceeding the predetermined tolerance removed. Furthermore, the data decoding device 3 according to this embodiment is provided with an approximate error amount exceeding a predetermined tolerance combination unit that acquires approximate error amounts exceeding the predetermined tolerance and combines the approximate error amount exceeding the predetermined tolerance with the decoded axis-dependent data after the approximate error amount combination to generate decoded axis-dependent data. As a result, according to this embodiment, the coded axis-dependent data can be decoded and combined, and the coded approximate error amount can also be combined, so that the original axis-dependent data, such as the error amount, can be reproduced without any loss.

[0177] [Fourth embodiment] 31 is a diagram showing the configuration of an error correction system 200 including the data decoding device 1 according to the first embodiment. The error correction system 200 according to this embodiment corrects errors in industrial machinery using post-decoded axis-dependent data generated by the data decoding device 1.

[0178] The error correction system 200 is configured using, for example, a computer equipped with memories such as ROM (read only memory) and RAM (random access memory), a CPU (control processing unit), operation means such as a keyboard, a display, and a communication control unit, all connected to one another via a bus. The functions and operations of the functional units described below are achieved by the cooperation of the CPU and memory installed in the computer, and the control programs stored in the memory.

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

[0180] 31, error correction system 200 includes data decoding device 1, command analysis unit 201, correction unit 202, interpolation unit 203, X-axis acceleration / deceleration unit 204, Y-axis acceleration / deceleration unit 205, Z-axis acceleration / deceleration unit 206, X-axis servo 207, Y-axis servo 208, and Z-axis servo 209. Details of data decoding device 1 are as described above.

[0181] The command analysis unit 201 reads and analyzes the machining program block by block, and generates movement command data that commands the movement of each control axis of the machine tool, etc. based on the analysis results. The command analysis unit 201 transmits the generated movement command data to the correction unit 202, which will be described later.

[0182] The correction unit 202 corrects the movement command data acquired from the command analysis unit 201 based on the decoded axis-dependent data generated by the data decoding device 1. The correction process by the correction unit 202 will be described in detail later.

[0183] The interpolation unit 203 generates interpolation data by performing interpolation calculations on points on a command path at a predetermined interpolation period, 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 transmits the generated interpolation data to an X-axis acceleration / deceleration unit 204, a Y-axis acceleration / deceleration unit 205, and a Z-axis acceleration / deceleration unit 206, which will be described later.

[0184] X-axis acceleration / deceleration unit 204, Y-axis acceleration / deceleration unit 205, and Z-axis acceleration / deceleration unit 206 generate pulse signals for the corresponding X-axis servo, Y-axis servo, and Z-axis servo for each interpolation period based on the interpolation data transmitted from interpolation unit 203. X-axis acceleration / deceleration unit 204, Y-axis acceleration / deceleration unit 205, and Z-axis acceleration / deceleration unit 206 input the generated pulse signals to the X-axis servo, Y-axis servo, and Z-axis servo, respectively, thereby moving multiple mechanical elements of the machine tool along multiple control axes.

[0185] Next, the correction process by the correction unit 202 will be described in detail. First, the error correction system 200 acquires the model approximation encoded axis-dependent data as input data. Using the acquired model approximation encoded axis-dependent data and the linear combination model, the decoding unit 11 of the data decoding device 1 generates a vector Ea[X 1 ]···[X L ] is generated.

[0186] 31, 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 axis-dependent data after decoding. Here, X, Y, and Z in the vector Ea[X][Y][Z] are the coordinate values ​​of the X, Y, and Z axes provided in the error correction system 200, and the correction point interval Δ X , Δ Y , Δ Z Let the index be quantized by:

[0187] A specific example will be explained. For example, if the coordinate values ​​of each axis are (X, Y, Z) = (100.0, 40.0, 30.0), and the correction point intervals for each axis are (Δ X , Δ Y , Δ Z ) = (25.0, 20.0, 30.0), the result of quantizing each axis coordinate value is (100.0 / 25.0, 40.0 / 20.0, 30.0 / 30.0) = (4, 2, 1). Therefore, the vector Ea[4][2][1] as axis-dependent data after decoding can be regarded as the amount of error at each axis coordinate value (X, Y, Z) = (100.0, 40.0, 30.0), and error correction can be performed.

[0188] The error correction when the quantized value is not an integer such as (4, 2, 1) as described above but has a fraction after the decimal point will be described with reference to Fig. 32. Fig. 32 is a diagram for explaining the error correction by the correction unit 202, and more specifically, a diagram for explaining the error correction when the quantized value has a fraction after the decimal point. Here, for example, when the quantization result is (n X+f X ,n Y +f Y ,n Z +f Z ), where n X , n Y , n Z is an integer value, and f X , f Y , f Z is a decimal value between 0 and 1.

[0189] As shown in Figure 32, the axis-dependent data after decoding of one of the eight vertices of the cube is expressed as a vector Ea[n X ][n Y ][n Z ], and the decoded axis-dependent data of each of the remaining seven vertices is expressed as 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, as shown in Figure 32, the current coordinate value within the cube is (n X +f X ,n Y +f Y ,n Z +f Z ) and the internal sum calculated by weighting the decoded axis-dependent data of the above eight vertices can be used as the decoded axis-dependent data of this current coordinate value, i.e., the error amount, to perform error correction.

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

[0191] The error correction system 200 according to this embodiment includes a correction unit 202 and a data decoding device 1, and the correction unit 202 is configured to correct errors of the industrial machinery based on the axis-dependent data after decoding. As a result, according to this embodiment, it is possible to decode the axis-dependent data after encoding axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machinery, and as a result, it is possible to increase the amount of data such as error amounts that can be input to a control device or the like of the industrial machinery and used without increasing the storage capacity, and it is possible to correct errors of the industrial machinery with higher accuracy.

[0192] In each of the embodiments of the data decoding device described above, a data decoding program for causing each data decoding device to execute each process can also be provided. That is, as a first data decoding program, a data decoding program can be provided for causing a computer to execute a step of generating model-approximation-decoded axis-dependent data by decoding model-approximation-encoded axis-dependent data based on a linear combination model that approximates axis-dependent data that depends on the coordinate values ​​of each axis of the industrial machine as a linear combination of each axis data of the industrial machine, and model-approximation-encoded axis-dependent data that has been model-approximated using the linear combination model.

[0193] Furthermore, a second data decoding program can be provided for causing a computer to execute the following steps in the first data decoding program: obtaining a coded approximate error amount by encoding the approximate error amount obtained when axis-dependent data is model-approximated using a linear combination model, and decoding the coded approximate error amount to generate a decoded approximate error amount; and combining the coded approximate error amount with the model-approximation-decoded axis-dependent data to generate decoded axis-dependent data after combining the approximate error amount.

[0194] Furthermore, a third data decoding program can be provided for causing a computer to execute the steps of: in the second data decoding program, setting the approximate error amount to an approximate error amount within a predetermined tolerance from which approximate error amounts exceeding the predetermined tolerance have been removed; obtaining the approximate error amount exceeding the predetermined tolerance; and combining the approximate error amount exceeding the predetermined tolerance with the decoded axis-dependent data after the approximate error amount combination, thereby generating post-decoding axis-dependent data.

[0195] Furthermore, an error correction program can be provided for causing the error correction system 200 to execute the above-mentioned correction process, the error correction program causing a computer to execute a step of correcting errors of industrial machinery based on the decoded axis-dependent data.

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

[0197] Although the fourth embodiment is configured to include the data decoding device 1 according to the first embodiment, the present invention is not limited to this. For example, the fourth embodiment may be configured to include the data decoding device 2 according to the second embodiment or the data decoding device 3 according to the third embodiment. [Explanation of symbols]

[0198] 1,2,3 Data Decoding Device 11, 21, 31 Decoding section 22,32 Approximation error decoding unit 23,33 Approximation error amount combiner 34 Approximation error amount exceeding a specified tolerance 101, 102, 103, 104, 105, 106, 107 Data encoding device 109 Machine Learning Device 111,121,131,141,151,161 Model approximation coding section 122,132 Axis-dependent data division 133 Dynamic Programming Processing Unit 134 Optimality evaluation part after model approximation coding 135 Partial division of axis-dependent data 136 Optimization result combination of partially axis-dependent data 142 Approximation error calculation unit 143 Approximate error encoder 152 Approximation error calculation section 153 Approximation error removal unit that exceeds a specified tolerance 154 Approximate error encoder 162 Model Approximation Encoding Post Data Encoding Unit 200 Error Correction System 201 Command Analysis Department 202 Correction Unit 203 Interpolation section 204 Acceleration / deceleration section for X axis 205 Y-axis acceleration / deceleration unit 206 Acceleration / deceleration section for Z axis 207 X-axis servo 208 Y-axis servo 209 Z-axis servo

Claims

1. A data decoding device for decoding encoded data, comprising: A data decoding device comprising: a decoding unit that generates model-approximation-decoded axis-dependent data by decoding the model-approximation-encoded axis-dependent data based on a linear combination model that approximates axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine as a linear combination of each axis data of the industrial machine, and model-approximation-encoded axis-dependent data that has been model-approximated using the linear combination model.

2. an approximation error decoding unit that acquires an approximation error amount after encoding by encoding an approximation error amount obtained when the axis-dependent data is model-approximated using the linear combination model, and decodes the approximation error amount after encoding to generate an approximation error amount after decoding; 2. The data decoding device according to claim 1, further comprising: an approximate error amount combining unit that combines the post-decoding approximate error amount with the post-model approximate decoding axis-dependent data to generate post-decoding axis-dependent data after approximate error amount combining.

3. the approximation error amount is an approximation error amount within a predetermined tolerance, with an approximation error amount exceeding the predetermined tolerance removed, 3. The data decoding device according to claim 2, further comprising an above-predetermined-tolerance approximate error amount combining unit that acquires the approximate error amount exceeding the predetermined tolerance and combines the approximate error amount exceeding the predetermined tolerance with the decoded axis-dependent data after the approximate error amount combination, thereby generating decoded axis-dependent data.

4. An error correction system for correcting an error in an industrial machine, comprising: a correction unit and a data decoding device according to claim 2 or 3, The correction unit corrects errors of the industrial machine based on the decoded axis-dependent data.

5. A data decoding program for decoding encoded data, comprising: A data decoding program for causing a computer to execute a step of generating model approximation-decoded axis-dependent data by decoding the model approximation-encoded axis-dependent data based on a linear combination model that approximates axis-dependent data that depends on the coordinate values ​​of each axis of an industrial machine as a linear combination of each axis data of the industrial machine, and model approximation-encoded axis-dependent data that has been model-approximated using the linear combination model.

Citation Information

Patent Citations

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

    CN112558547A

  • Computer controlled numerical controller and parameter setting method for same

    JP1996339216A

  • Industrial robot

    JP2000099123A

  • Numerical control apparatus for controlling five-axis machining tool

    JP2011209897A

  • Correction program and recording medium recording the same

    JP2014113674A