WO2023248481A1 - データ符号化装置及びデータ符号化プログラム - Google Patents

データ符号化装置及びデータ符号化プログラム Download PDF

Info

Publication number
WO2023248481A1
WO2023248481A1 PCT/JP2022/025415 JP2022025415W WO2023248481A1 WO 2023248481 A1 WO2023248481 A1 WO 2023248481A1 JP 2022025415 W JP2022025415 W JP 2022025415W WO 2023248481 A1 WO2023248481 A1 WO 2023248481A1
Authority
WO
WIPO (PCT)
Prior art keywords
axis
data
dependent data
encoding
approximation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2022/025415
Other languages
English (en)
French (fr)
Inventor
大二朗 古賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to CN202280097156.9A priority Critical patent/CN119404159A/zh
Priority to PCT/JP2022/025415 priority patent/WO2023248481A1/ja
Priority to JP2024528258A priority patent/JP7807543B2/ja
Priority to DE112022007089.7T priority patent/DE112022007089T5/de
Priority to US18/872,020 priority patent/US20250355417A1/en
Publication of WO2023248481A1 publication Critical patent/WO2023248481A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6041Compression optimized for errors

Definitions

  • the present disclosure relates to a data encoding device and a data encoding program.
  • axis-dependent data that depends on the coordinate values of each axis of an industrial machine, such as the above-mentioned error amount, may have a white noise-like property with a uniform appearance frequency as a whole.
  • it is difficult to compress data by entropy encoding because the above-mentioned small information entropy cannot be utilized.
  • the present disclosure has been made in view of the above, and aims to provide a data encoding technique that can encode and compress axis-dependent data that depends on the coordinate values of each axis of an industrial machine.
  • One aspect of the present disclosure is a data encoding device that encodes data, which includes a part of axis-dependent data that depends on the coordinate values of each axis of an industrial machine, and a part of the axis-dependent data that depends on the coordinate values of each axis of the industrial machine.
  • the data encoding device includes a model approximation encoding unit that generates encoded axis-dependent data by encoding the axis-dependent data based on a linear combination model that is approximated as a linear combination of data.
  • another aspect of the present disclosure is a data encoding program that encodes data, which includes a part of axis-dependent data that depends on the coordinate values of each axis of an industrial machine, and a part of the axis-dependent data that depends on the coordinate values of each axis of an industrial machine.
  • a linear combination model that is approximated as a linear combination of each axis data; .
  • FIG. 1 is a diagram showing the configuration of a data encoding device according to a first embodiment.
  • FIG. 2 is a diagram showing an example of a text file containing only specific characters.
  • FIG. 3 is a diagram illustrating an example of data expressed in a certain distribution of frequency of appearance of each value.
  • FIG. 3 is a diagram showing data in which the frequency of appearance of each value is uniform. It is a figure which shows each axis error of the X-axis. It is a figure which shows each axis error of Y-axis. It is a figure showing the amount of errors in coordinate values (X 2 , Y 1 ).
  • FIG. 7 is a diagram showing the amount of error when it cannot be represented by a linear combination of the errors of each axis.
  • FIG. 9 is a partially enlarged view of FIG. 8.
  • FIG. 3 is a diagram showing a bitmap image that visualizes an error map.
  • FIG. 3 is a diagram showing an example of axis-dependent data.
  • FIG. 12 is a diagram showing a linear combination model that approximates the axis-dependent data of FIG. 11 as a linear combination of errors in each axis of the industrial machine.
  • FIG. 2 is a diagram showing the configuration of a data encoding device according to a second embodiment.
  • FIG. 7 is a diagram showing axis-dependent data partitioned into a plurality of grid-like regions. It is a figure which shows an example of axis dependent data after division
  • FIG. 3 is a diagram showing a bitmap image that visualizes an error map.
  • FIG. 3 is a diagram showing an example of axis-dependent data.
  • FIG. 12 is a diagram showing a linear combination model that approximates the axis-dependent data of FIG. 11
  • FIG. 7 is a diagram showing the configuration of a data encoding device according to a third embodiment.
  • 7 is a flowchart showing a procedure for dividing axis-dependent data by a dynamic programming processing unit.
  • FIG. 7 is a diagram showing a divided section before expanding each axis data (each axis error) by one column in the positive X direction.
  • FIG. 7 is a diagram showing divided sections after each axis data (each axis error) is expanded by one column in the positive X direction.
  • FIG. 3 is a diagram showing the configuration of a data encoding device according to a fourth embodiment. It is a figure showing an approximation error (vector ⁇ [X][Y]).
  • FIG. 7 is a diagram showing an approximation error (vector ⁇ [X][Y]) including an exceptional point larger than a predetermined tolerance.
  • FIG. 6 is a diagram showing exceptional points that are excluded and retained because the approximation error (vector ⁇ [X][Y]) is larger than a predetermined tolerance.
  • 3 is a flowchart showing the procedure of learning processing by the machine learning device 9.
  • the data encoding device 1 encodes axis-dependent data that depends on the coordinate values of each axis of an industrial machine, such as the amount of error used for error correction of each axis of the industrial machine.
  • This is a data encoding device that can compress data.
  • axis-dependent data that depends on the coordinate values of each axis of an industrial machine may have a white noise-like property where the appearance frequency is uniform as a whole, so there may be a bias in the appearance frequency of values in the data, That is, it is difficult to compress data using conventional entropy encoding techniques that utilize small information entropy.
  • the data encoding device 1 according to the present embodiment encodes and compresses axis-dependent data that depends on the coordinate values of each axis of an industrial machine.
  • FIG. 1 is a diagram showing the configuration of a data encoding device 1 according to the first embodiment.
  • the data encoding device 1 includes a model approximation encoding section 11.
  • the model approximation encoding unit 11 generates encoded axis-dependent data by encoding the axis-dependent data based on the axis-dependent data and the linear combination model.
  • a conventional data encoding technique will be explained.
  • entropy encoding technique for example, an entropy encoding technique represented by a Huffman code is known.
  • data is compressed by utilizing the bias in the frequency of occurrence of values in data, that is, the smallness of information entropy.
  • FIG. 2 is a diagram showing an example of a text file containing only specific characters.
  • FIG. 3 is a diagram showing an example of data represented by a certain distribution of appearance frequencies of each value.
  • the horizontal axis indicates the bit value
  • the vertical axis indicates the frequency of appearance of each value.
  • a text file containing only 16 characters 0 to 9 and A to F as specific characters, as shown in Figure 2 normally requires 8 bits to represent one character, but due to entropy encoding, at most 4 bits per character. Since it can be expressed in bits, it is possible to compress the data by about half.
  • data with uneven appearance frequencies as shown in Figure 3 can be processed by entropy encoding, which assigns short bit values to frequently occurring values, while assigning long bit values to less frequently occurring values. Compressible.
  • FIG. 4 is a diagram showing data in which the appearance frequency of each value is uniform. Similar to FIGS. 2 and 3, in FIG. 4, the horizontal axis indicates bit values, and the vertical axis indicates the frequency of appearance of each value.
  • White noise-like data with a uniform appearance frequency as shown in FIG. 4 cannot take advantage of the small information entropy described above, so it is difficult to compress the data by entropy encoding.
  • examples of static error correction for each axis of industrial machinery include pitch error correction, straightness error correction, and three-dimensional error correction.
  • Pitch error correction is correction of errors in the direction along the axial direction.
  • Straightness error correction is correction of errors in a direction perpendicular to the axial direction.
  • Three-dimensional error correction is correction of three-dimensional spatial errors.
  • FIG. 5 is a diagram showing each axis error on the X axis.
  • Each axis error of the X axis is an error amount of each coordinate value measured when only the X axis is moved while the Y axis and the Z axis are fixed.
  • the error amount of each coordinate value X 0 , X 1 , X 2 , and X 3 is represented by a vector having a different magnitude and direction.
  • FIG. 6 is a diagram showing each axis error of the Y axis.
  • Each Y-axis error is the amount of error in each coordinate value measured when only the Y-axis is moved while the X-axis and Z-axis are fixed.
  • the error amount of each coordinate value Y 0 , Y 1 , and Y 2 is represented by a vector having a different magnitude and direction.
  • each axis error is linearly independent. That is, assuming that the error amount (vector E[X 1 ]...[X L ]) at the coordinate values X 1 ,...X L is a linear combination of the errors in each axis, it is expressed as the following formula (1). is expressed in
  • L represents the number of axes targeted for error correction.
  • X l represents the lth correction target axis.
  • FIG. 7 is a diagram showing the amount of error in the coordinate values (X 2 , Y 1 ).
  • the error amount (vector E[X 2 ][Y 1 ]) in the coordinate value (X 2 , Y 1 ) is the error amount (vector E [X 2 ]) in the coordinate value X 2 and the error amount (vector E Y [Y 1 ]) of the coordinate value Y 1 can be regarded as a linear combination, and is expressed as in the following equation (2).
  • each axis error is not linearly independent, and the error amount (vector E[X 1 ]...[X L ]) may be determined by the correlation of multiple axes.
  • the error amount (vector E[X 1 ]...[ XL ]) is the correlation term (vector ⁇ [X 1 ]...[ XL ]). In some cases, it may not be expressed as a linear combination of errors in each axis.
  • FIG. 8 is a diagram showing the amount of error when it cannot be represented by a linear combination of the errors of each axis.
  • the error amount expressed by the above formula (1) is used as the error amount (vector E[X 1 ]...[X L ]). Instead, it is necessary to set the error amount to include the correlation term (vector ⁇ [X 1 ]...[X L ]) expressed by the above formula (3).
  • the error amount hereinafter referred to as spatial error
  • the control device for each space that has a correlation with the error amount and is corrected, it is called error correction for each space.
  • the spatial error has the property that although it cannot be expressed as a linear combination of the errors of each axis as a whole, it can be regarded as a linear combination of errors of each axis locally, just like the errors of each axis. This is what the inventor discovered.
  • FIG. 9 is a partial enlarged view of FIG . 8, and in the local area surrounded by the broken line in FIG .
  • the spatial error can be expressed as a linear combination of errors in each axis.
  • the spatial error (vector E[ X ][Y]) is calculated by the error of each axis (vector E It is expressed as the sum of This means that the spatial error (vector E[X][Y]) is the error amount in one row in the X-axis direction (vector E This means that it is possible to take out the error amount (vector E Y [Y]) and the error amount (vector E Y [Y]) in a row in the Y-axis direction and approximate it as a linear combination of these.
  • the local area includes, for example, the central area of the movable range of the industrial machine.
  • FIG. 10 is a diagram showing a bitmap image that visualizes the error map when the target axes for error correction are the X axis and the Y axis, and the RGB values of each pixel correspond to the error amount vector E. are doing. Further, the error amount (vector E[X][Y]) of each pixel is expressed as the sum of the vector E X [X] and the vector E Y [Y] according to the above equation (4).
  • bitmap image shown in FIG. 10 has 10 ⁇ 10 pixels and is 374 bytes, it becomes 393 bytes when encoded using ZIP compression, which is a typical entropy encoding technique.
  • ZIP compression which is a typical entropy encoding technique.
  • the conventionally known entropy encoding has no compression effect and, in some cases, has the opposite effect of increasing the data size.
  • the data encoding device 1 includes, for example, memories such as ROM (read only memory) and RAM (random access memory), and CPU (control processing) connected to each other via a bus. unit), operating means such as a keyboard, a display, and a communication control unit.
  • memories such as ROM (read only memory) and RAM (random access memory)
  • CPU control processing
  • operating means such as a keyboard, a display, and a communication control unit.
  • the data encoding device 1 may be provided, for example, in a numerical control device (CNC) corresponding to a control device for industrial machinery such as a machine tool or a robot, a robot control device, or the like. Alternatively, it may be provided in an external computer or the like so as to be able to communicate with these control devices.
  • CNC numerical control device
  • the model approximation encoding unit 11 included in the data encoding device 1 of the present embodiment converts a part of axis-dependent data that depends on the coordinate values of each axis of the industrial machine and axis-dependent data on each axis of the industrial machine (each The encoded axis-dependent data is generated by encoding the axis-dependent data based on a linear combination model that is approximated as a linear combination of axis errors).
  • the axis-dependent data is input from, for example, the above-mentioned control device. Further, the linear combination model is stored in the storage unit of the data encoding device 1, for example.
  • each axis of an industrial machine means, for example, each axis of a machine tool, that is, the X axis, Y axis, and Z axis.
  • axis-dependent data includes, for example, the installation error amount of relatively large workpieces whose displacement varies depending on the coordinate value due to the influence of deflection due to their own weight. It will be done.
  • error amounts and workpiece installation error amounts are both data that depend on the coordinate values of each axis of the industrial machine.
  • model approximation encoding using a linear combination model by the model approximation encoding unit 11 of this embodiment will be described in detail with reference to FIGS. 11 and 12.
  • FIG. 11 is a diagram showing an example of axis-dependent data.
  • the example shown in FIG. 11 shows axis-dependent data when the target axes for error correction etc. are two axes, the X axis and the Y axis.
  • the axis-dependent data shown in FIG. 11 is, for example, the amount of error in each axis of industrial machinery, etc., and is the axis-dependent data of a certain local area in the axis-dependent data in which there is no bias in the frequency of occurrence of values in the data as a whole. This is axis-dependent data that can be approximated by a linear combination model.
  • the example of axis-dependent data shown in FIG. 11 has a total of N ⁇ M points of each axis data (each axis error).
  • FIG. 12 is a diagram showing a linear combination model that approximates the axis-dependent data of FIG. 11 as a linear combination of errors in each axis of the industrial machine.
  • 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 ]... Even if the influence of [X L ]) is considered to be strong, it is thought that locally there is a region that can be approximated by the linear combination model expressed by the above formula (1). For such an approximable region, as shown in FIG. The amount of error can be expressed.
  • each axis data (each axis error) after approximation has a total of N+M points, indicating that axis-dependent data can be compressed.
  • Equation (8) L represents the number of axes to be corrected for error
  • Xl represents the lth axis to be corrected
  • Nl represents the number of error amount points of the lth axis to be corrected.
  • X represents a one-dimensional axial space
  • x represents an element belonging to the space.
  • p is any value from 1 to L.
  • x 3 means a certain possible value of axis X 3 .
  • the approximate model (vector Ea[X 1 ]...[X L ]) as the linear combination model is an evaluation function expressed by the following equation (9).
  • the evaluation function J is calculated by combining 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 approximate model as the above-mentioned linear combination model (vector Ea[X 1 ] ⁇ ...[ XL ]) is determined.
  • the approximate model as a linear combination model determined in this manner is stored, for example, in the storage unit of the data encoding device 1, and is used for model approximation encoding by the model approximation encoding unit 11.
  • a part of the axis-dependent data that depends on the coordinate values of each axis of the industrial machine and the axis-dependent data are linearly combined with each axis data (each axis error) of the industrial machine.
  • a model approximation encoding unit 11 is provided which generates encoded axis-dependent data by encoding axis-dependent data based on the linear combination model to be approximated.
  • axis-dependent data such as the amount of error in each axis of industrial machinery, which has a uniform appearance frequency as a whole and may resemble white noise, has a bias in the frequency of occurrence of values in the data, that is, information entropy.
  • FIG. 13 is a diagram showing the configuration of a data encoding device 2 according to the second embodiment.
  • the data encoding device 2 according to the second embodiment differs from the data encoding device 1 according to the first embodiment in that it includes an axis-dependent data dividing section 22.
  • the model approximation encoding unit 21 of the second embodiment executes model approximation encoding based on the divided axis-dependent data generated by dividing the axis-dependent data into a plurality of pieces and the above-mentioned linear combination model. This is different from the model approximation encoding unit 11 of the first embodiment in that.
  • the configuration other than these differences is the same as the first embodiment.
  • the data encoding device 1 performs a linear combination of each axis data (each axis error) and a part of the axis dependent data that has a uniform appearance frequency as a whole and may resemble white noise. It can be considered as performing a model approximation encoding of a linear combination model.
  • the data encoding device 2 according to the present embodiment actively divides the axis-dependent data into multiple regions, thereby making it possible to treat each axis data (each axis error) as a linear combination. This method generates a plurality of possible regions, thereby making it possible to execute model approximation coding of a linear combination model more reliably.
  • the axis-dependent data dividing unit 22 divides the axis-dependent data and generates a plurality of divided axis-dependent data.
  • FIG. 14 is a diagram showing axis-dependent data partitioned into a plurality of grid-like regions.
  • the axis-dependent data input to the data encoding device 2 is divided into a plurality of grid-like regions according to each axis data (each axis error) on each coordinate value, for example. Ru.
  • the axis-dependent data dividing unit 22 divides the axis-dependent data into a plurality of pieces, for example, along these sections.
  • the method for dividing axis-dependent data by the axis-dependent data dividing unit 22 is not particularly limited, but the axis-dependent data is It is preferable to divide the In particular, it is preferable that the axis-dependent data dividing unit 22 divides the axis-dependent data into a plurality of regions that can best be approximated (compressed).
  • FIG. 15 is a diagram showing an example of axis-dependent data after division.
  • the axis-dependent data input to the data encoding device 2 is divided into five division sections 1 to 5 by the axis-dependent data dividing section 22.
  • each data within each of these five divided sections 1 to 5 corresponds to the axis-dependent data after division
  • each of these axis-dependent data after division is regarded as a linear combination of each axis data (each axis error). It is possible to perform model approximation encoding of a linear combination model by the model approximation encoding unit 21, which will be described later.
  • the model approximation encoding unit 21 generates encoded axis-dependent data based on the plurality of divided axis-dependent data and the linear combination model. As described above, within 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 encoding unit 21 generates model-approximated and compressed encoded axis-dependent data by executing model approximation encoding of the linear combination model for each axis-dependent data after division.
  • the data encoding device 2 is provided with an axis-dependent data dividing unit 22 that divides axis-dependent data and generates a plurality of divided axis-dependent data. Furthermore, the model approximation encoding unit 21 is configured to generate encoded axis-dependent data based on the plurality of divided axis-dependent data and the linear combination model. As a result, according to this embodiment, by actively dividing the axis-dependent data into a plurality of regions, it is possible to generate a plurality of regions that can be regarded as a linear combination of each axis data (each axis error). By performing model approximation coding of a linear combination model for each region, axis-dependent data, which was difficult to compress in the past, can be more reliably compressed.
  • FIG. 16 is a diagram showing the configuration of a data encoding device 3 according to the third embodiment.
  • the data encoding device 3 according to the third embodiment differs from the axis-dependent data dividing unit 22 in the second embodiment in the configuration of the axis-dependent data dividing unit 32. It differs from the form. The configuration other than this difference is the same as the second embodiment.
  • the method of dividing axis-dependent data is not particularly limited, but in the data encoding device 3 according to the third embodiment, dynamic programming is used. split axis-dependent data. That is, by using dynamic programming, it is possible to perform optimal division of axis-dependent data, and the axis-dependent data can be best approximated and compressed.
  • the axis-dependent data division section 32 of this embodiment includes a dynamic programming processing section 33.
  • the dynamic programming processing unit 33 generates optimal post-division axis-dependent data by executing dynamic programming.
  • the dynamic programming processing unit 33 includes, as functional units for executing dynamic programming, an optimality evaluation unit 34 after model approximation coding, an axis-dependent data partial division unit 35, and a partial division unit 35 for axis-dependent data. and an axis-dependent data optimization result combination unit 36.
  • Dynamic programming is a general-purpose algorithm for solving optimization problems. Dynamic programming is an algorithm that has the following two characteristics. The first feature is that it is solved recursively. That is, it is characterized by dividing into small-scale subproblems, recursively optimizing the subproblems, and combining the optimization results of the subproblems to obtain a solution to the larger-scale original problem. The second feature is that the processing load can be reduced by recording the optimization results. In other words, in the process of recursively solving problems, the same problem may appear many times, but in order to omit calculations for problems that have already been solved, the optimization results of the problem once solved are recorded. It is characterized by its ability to be stored and reused.
  • the dynamic programming processing unit 33 of this embodiment includes a model approximation coding post-optimality evaluation unit 34 as a means for evaluating the optimality of the result. That is, the model approximation-encoded optimality evaluation unit 34 evaluates the optimality of the encoded axis-dependent data.
  • the optimality of encoded axis-dependent data can be evaluated based on, for example, whether the approximation error amount after model approximation encoding is within a predetermined constraint tolerance.
  • the approximation error amount after model approximation encoding is the original error amount before model approximation encoding described in the above-mentioned first embodiment, and the model approximation error amount, as described in detail in the fourth embodiment below. This is the difference from the amount of error after encoding.
  • the constraint tolerance may be, for example, an approximation error tolerance or an allowable number of data points exceeding the approximation error tolerance.
  • the dynamic programming processing unit 33 of this embodiment also includes an axis-dependent data partial division unit 35 as a means for dividing a problem into partial problems.
  • the axis-dependent data partial division unit 35 divides the axis-dependent data into a plurality of parts to generate partial axis-dependent data.
  • the axis-dependent data partial division unit 35 divides the axis-dependent data into predetermined specified sections according to a predetermined division criterion stored in advance, and then divides the axis-dependent data into sections in the + direction or - direction of each axis such as the X axis or the Y axis.
  • the axis-dependent data is divided into multiple parts by optimizing downscaling one point in each direction. The division of axis-dependent data by the axis-dependent data partial division unit 35 will be described in detail later.
  • the dynamic programming processing unit 33 of this embodiment also includes a partial axis-dependent data optimization result combination unit 36 as a means for combining (combining) the optimization results of partial problems.
  • the partial axis-dependent data optimization result combination unit 36 generates optimal post-division axis-dependent data by expanding and combining the partial axis-dependent data.
  • the partial axis-dependent data optimization result combining unit 36 for example, divides the partial axis-dependent data generated by dividing the axis-dependent data by the axis-dependent data partial dividing unit 35 into the X-axis, Y-axis, etc. Optimize by expanding one point in each axis in the + direction or - direction. The generation of optimal divided axis-dependent data by the partial axis-dependent data optimization result combination unit 36 will be described in detail later.
  • axis-dependent data is divided into sections by the dynamic programming processing unit 33, divided axis-dependent data as shown in FIG. 15, for example, is obtained.
  • the approximation error of each error amount is kept within the constraint tolerance when each region of the divided interval is approximated by the above-mentioned approximation model.
  • points where the approximation error does not fall within the constraint tolerance are allowed up to the constraint tolerance. Nevertheless, the number of points that cannot be approximated and do not satisfy the constraints is minimized. As a result, the number of data points, for example, 225 can be compressed to 92 points, and the data size can be reduced.
  • FIG. 17 is a flowchart showing the procedure for dividing axis-dependent data by the dynamic programming processing unit 33.
  • the division of the axis-dependent data by the dynamic programming processing unit 33 is performed by recursively searching for an optimal division section of the axis-dependent data using dynamic programming.
  • step S1 the axis-dependent data is divided into predetermined designated sections. However, if the area has already been subjected to division processing of axis-dependent data by the dynamic programming processing unit 33, the held processing results may be reflected in this step. After that, the process advances to step S2.
  • step S2 an approximate model of the region within the designated section (designated region) divided into sections in step S1 is generated. Specifically, for each specified region, an approximate model (vector Ea[X 1 ]...[X L ]) as a linear combination model described in the first embodiment is generated. After that, the process advances to step S3.
  • step S3 it is determined whether the approximate model of the designated area generated in step S2 satisfies the all-point constraint.
  • the constraints include whether the approximation errors of all points are within the allowable value, or whether the points whose approximation errors are not within the allowable value are within the allowable number of points. If this determination is YES, it is assumed that the axis-dependent data has been optimally divided and that the optimal axis-dependent data after division has been obtained, and the process ends. On the other hand, if this determination is NO, the process advances to step S4.
  • n is set to an initial value of 1.
  • the value of n represents each axis.
  • the process advances to step S5.
  • step S5 it is determined whether n is greater than L.
  • L is the number of axes in the designated section of 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 advances to step S11. On the other hand, if this determination is NO, the process advances to step S6.
  • steps S6 to S10 is performed when n is less than or equal to L, and when there are two axes, the X and Y axes, if n is 1, it means processing for the X axis, and if n is 2, it means processing for the X axis. If it exists, it means processing for the Y axis.
  • step S6 the axis-dependent data is divided into specified sections narrowed by one row of each axis data (each axis error) in the X n positive direction from the specified section in step S1. That is, a new section division is performed in which each axis data (each axis error) is reduced by one column in the Xn positive direction.
  • the X n positive direction means the X-axis positive direction when n is 1.
  • the result is output as an optimization result nP. When n is 1, the optimization result 1P is output. After that, the process advances to step S7.
  • step S7 the optimization result nP obtained in step S6 is expanded by one column of each axis data (each axis error) in the Xn positive direction. The result is output as the optimization result nP + .
  • n 1
  • the optimization result 1P + is output. Since n can range from 1 to L, this step yields optimization results 1P to LP + .
  • the process advances to step S8.
  • step S8 the axis-dependent data is divided into specified sections narrowed by one row of each axis data (each axis error) in the negative direction of Xn from the specified section in step S1. That is, a new section division is performed in which each axis data (each axis error) is reduced by one column in the negative direction of Xn .
  • the X n negative direction means the negative direction of the X axis when n is 1.
  • the result is output as an optimization result nM. When n is 1, an optimization result of 1M is output. After that, the process advances to step S9.
  • step S9 the optimization result nM obtained in step S8 is expanded by one column of each axis data (each axis error) in the negative direction of Xn .
  • the result is output as the optimization result nM + .
  • n 1
  • an optimization result of 1M + is output. Since n can range from 1 to L, this step results in optimization results of 1M to LM + .
  • the process advances to step S10.
  • step S10 n is increased by 1. After that, the process returns to step S5.
  • step S11 is performed when n is larger than L, and when the number of axes is two, the X-axis and the Y-axis, after the processing for the X-axis and Y-axis is completed in steps S6 to S10. It is processing.
  • step S11 among the optimization results 1P to LP + and 1M to LM + obtained in steps S6 to S10, the one with the smallest number of non-approximable points is output. That is, for each of the optimization results 1P to LP + and 1M to LM + , the number of unapproximable points where the approximate model generated in step S3 does not satisfy the above constraints is calculated, and the number of unapproximable points is the smallest and best approximated. The data with the most compressed data is output, and the process ends.
  • FIG. 18 is a diagram showing divided sections before each axis data (each axis error) is expanded by one column in the positive X direction.
  • FIG. 19 is a diagram showing divided sections after each axis data (each axis error) is expanded by one column in the X positive direction. In FIGS. 18 and 19, different numbers are assigned to each divided section.
  • sections 1 to 5 are extracted as continuous sections that appear at the end in the positive X direction of the section before each axis data (each axis error) is expanded by one column.
  • each of the extracted sections 1 to 5 is expanded by one column of each axis data (each axis error) to generate expanded sections 1 to 5 as shown in FIG.
  • post-expansion sections 1 to 5 it is checked whether the above-mentioned approximate model satisfies the above-mentioned constraints. If the constraints are satisfied, the section after expansion is set as a new section. In the example shown in FIG. 19, post-expansion sections 1 and 4 satisfy the constraints and are therefore set as new sections.
  • the extended section will be an undetermined section.
  • the extended section since post-expansion section 2 does not satisfy the constraints, it is set as an undetermined section.
  • the undetermined section has a certain area (for example, 2 ⁇ 2) or more, it is checked whether the above-mentioned approximate model satisfies the above-mentioned constraints. In the example shown in FIG. 19, this determination is performed because post-expansion section 3 has a fixed area (for example, 2 ⁇ 2) or more. Until then, the expanded section will also be considered an undetermined section.
  • a certain area for example, 2 ⁇ 2 or more
  • the section before expansion is an NG section, that is, a section that does not satisfy the constraints and cannot be approximated
  • the section for expansion is set as an undetermined section.
  • post-expansion section 5 corresponds to this, and is therefore set as an undetermined section.
  • Such an interval may ultimately be an NG interval, that is, an interval that does not satisfy the constraints and cannot be approximated.
  • the data encoding device 3 is provided with a dynamic programming processing unit 33 that generates optimal post-division axis-dependent data by executing dynamic programming.
  • the dynamic programming processing unit 33 also includes an optimality evaluation unit 34 that evaluates the optimality of the axis-dependent data after encoding, and an optimality evaluation unit 34 that divides the axis-dependent data into a plurality of parts to generate partial axis-dependent data. It is comprised of a partial division section 35 and an optimization result combination section 36 that combines optimization results of partial axis-dependent data to generate optimal post-division axis-dependent data.
  • the axis-dependent data can be divided into optimal divided axis-dependent data that can be compressed by reducing the number of data to the greatest extent possible, so that it can be regarded as a linear combination of each axis data (each axis error).
  • FIG. 20 is a diagram showing the configuration of a data encoding device 4 according to the fourth embodiment.
  • the data encoding device 4 according to the fourth embodiment differs from the model approximation encoding unit 11 of the first embodiment in that the model approximation encoding unit 41 includes an approximation error calculation unit 42. differ.
  • the data encoding device 4 according to the fourth embodiment differs from the data encoding device 1 according to the first embodiment in that it includes an approximate error encoding section 43.
  • the configuration other than these differences is the same as the first embodiment.
  • the approximation error calculation unit 42 calculates the amount of approximation error.
  • the approximation error calculation unit 42 of this embodiment is provided in the model approximation encoding unit 41, and calculates an approximation error amount when the axis-dependent data is encoded by model approximation. This approximation error amount will be explained in detail later.
  • the approximation error encoding unit 43 encodes the approximation error amount to generate an encoded approximation error amount.
  • the amount of approximation error calculated by the approximation error calculation unit 42 is biased in the appearance frequency of values in the data, as will be described later, and the information entropy is often small. It is possible to compress. Alternatively, data may be compressed by encoding by model approximation encoding of a linear combination model executed by the model approximation encoding unit 41.
  • vector E[X 1 ]...[ XL ] is the original error amount before model approximation
  • vector Ea[X 1 ]...[ XL ] is the amount of error before model approximation. This is the amount of error after. From this formula (10), it can be seen that these differences are approximation errors (vector ⁇ [X 1 ]...[X L ]).
  • FIG. 21 is a diagram showing the approximation error (vector ⁇ [X][Y]).
  • the approximation error (vector ⁇ [X][Y]) has only small values unevenly distributed, and the frequency distribution of the values is also unevenly distributed. Therefore, data can be compressed by encoding the approximation errors (vectors ⁇ [X 1 ]...[X L ]).
  • the approximation error (vector ⁇ [X 1 ]...[X L ]) may be encoded by the linear combination model approximation encoding described above, and the approximation error may be encoded by entropy encoding represented by the conventionally known Huffman code.
  • the error (vector ⁇ [X 1 ]...[X L ]) may be encoded.
  • the approximation error (vector ⁇ [X 1 ]...[ XL ]) and combining it with the approximate model (vector Ea[X 1 ]...[ XL ])
  • the original error amount ( The vectors E[X 1 ]...[X L ]) can be compressed and reproduced without loss, and the total data size can also be reduced.
  • the model approximation encoding unit 41 is provided with an approximation error calculation unit 42 that calculates the amount of approximation error. Furthermore, the data encoding device 4 is configured to further include an approximation error encoding unit 43 that encodes the approximation error amount and generates an approximation error amount after encoding.
  • an approximation error encoding unit 43 that encodes the approximation error amount and generates an approximation error amount after encoding.
  • FIG. 22 is a diagram showing the configuration of a data encoding device 5 according to the fifth embodiment.
  • the data encoding device 5 according to the fifth embodiment differs from the data encoding device 4 according to the fourth embodiment in that it further includes an approximation error removal unit 53 having a predetermined tolerance or more.
  • this embodiment is different from the approximation error encoding unit 43 of the fourth embodiment in that the approximation error encoding unit 54 encodes an approximation error amount within a predetermined tolerance.
  • the configuration other than these differences is the same as the fourth embodiment.
  • the approximation error removal unit 53 generates an approximation error amount within a predetermined tolerance by removing an approximation error amount that exceeds a predetermined tolerance from the approximation error amount.
  • FIG. 23 is a diagram showing an approximation error (vector ⁇ [X][Y]) including an exceptional point larger than a predetermined tolerance.
  • the approximation error (vector ⁇ [X][Y]) which is the difference between the original error amount before model approximation encoding and the error amount after model approximation encoding, has the following: Exception points larger than a predetermined tolerance may be included. In this embodiment, this exceptional point is removed by the approximation error removal unit 53.
  • FIG. 24 is a diagram showing exceptional points that are excluded and retained because the approximation error (vector ⁇ [X][Y]) is larger than a predetermined tolerance.
  • the approximation error removal unit 53 may separately retain the exceptional points where the approximation error is larger than the predetermined tolerance, that is, the approximation error amount that exceeds the predetermined tolerance, which is removed from the approximation error amount.
  • axis-dependent data such as the original error amount can be compressed and reproduced without loss.
  • the predetermined tolerance examples include an approximation error tolerance and a predetermined number of data points (tolerance) that exceed the approximation error tolerance.
  • the approximation error removal unit 53 converts points exceeding a preset approximation error tolerance value or a predetermined number of points out of the points exceeding the approximation error tolerance value into an approximation error (vector ⁇ [X][Y]). Exclude from Note that the predetermined tolerance may include 0.
  • the approximation error encoding unit 54 encodes the approximation error amount within a predetermined tolerance to generate an encoded approximation error amount. That is, in encoding the approximation error (vector ⁇ [X 1 ]...[X L ]), the approximation error encoding unit 54 of this embodiment excludes points where the approximation error is larger than a predetermined tolerance, and then , perform the encoding.
  • the approximation error after excluding points larger than the predetermined tolerance from the approximation error amount becomes more biased and the information entropy becomes smaller, so that the data compression effect becomes more effective by encoding. It increases. Further, for example, the data size after encoding can be further reduced by retaining only the points where the approximation error is larger than a predetermined tolerance and not retaining the other approximation error amounts. Even in that case, it is possible to guarantee that the entire approximation error falls within the tolerance.
  • the data encoding device 5 further includes an approximation error removal unit 53 that generates an approximation error amount within a predetermined tolerance by removing an approximation error amount exceeding a predetermined tolerance from the approximation error amount.
  • the approximation error encoding unit 54 is configured to encode an approximation error amount within a predetermined tolerance to generate an approximation error amount after encoding.
  • FIG. 25 is a diagram showing the configuration of a data encoding device 6 according to the sixth embodiment.
  • the data encoding device 6 according to this embodiment differs from the data encoding device 1 according to the first embodiment in that it further includes a model approximation-encoded data encoding section 62.
  • this embodiment has the same configuration as the first embodiment.
  • the model approximation encoded data encoding unit 62 encodes the model approximation encoded axis-dependent data. In other words, in this embodiment, the model approximation encoded data encoding unit 62 executes re-encoding of axis-dependent data after model approximation encoding.
  • the data encoding device 6 further includes a model approximation encoded data encoding unit 62 that encodes the encoded axis-dependent data.
  • the encoded axis-dependent data is further encoded by the model approximation encoded data encoder 62, so that the data size can be further reduced.
  • FIG. 26 is a diagram showing the configuration of a data encoding device 7 according to the seventh embodiment.
  • the data encoding device 7 according to the present embodiment includes a learning result acquisition unit that acquires the reinforcement learning results by the machine learning device 9 instead of dynamic programming, and utilizes the learning results.
  • This differs from the data encoding device 3 according to the third embodiment in that the axis-dependent data is divided into sections. The configuration other than this difference is the same as the third embodiment.
  • the machine learning device 9 executes reinforcement learning for optimal division processing of axis-dependent data.
  • the machine learning device 9 as an agent acquires axis-dependent data such as the error amount of industrial machinery as the state of the environment, and selects certain axis-dependent data after division as an action. Then, the environment changes based on the action. With this change in environment, the number of unapproximable points and the amount of data after approximation, which are obtained by model approximation coding of the axis-dependent data after division, are obtained as determination data.
  • the machine learning device 9 as an agent learns the optimal post-division axis-dependent data for selecting a better action, that is, making a decision.
  • the machine learning device 9 as an agent learns to select an action that maximizes the total reward over the future.
  • Q learning which is a method of learning the value Q(s, a) of selecting action a under a certain environmental state s
  • Q-learning in a certain state s, from among possible actions a, the action a with the highest value Q(s, a) is selected as the optimal action.
  • the machine learning device 9 as an agent selects various actions a under a certain state s, and selects a better action for the action a at that time based on the reward given. We will learn the correct value Q(s, a).
  • E[ ] represents the expected value
  • t is time
  • is a parameter called a discount rate which will be described later
  • r t is the reward at time t
  • 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.
  • reinforcement learning is performed while exploring by performing various actions.
  • Such an update formula for the value Q(s, a) can be expressed, for example, as shown in Equation (11) below.
  • s t represents the state of the environment at time t
  • a t represents the behavior at time t. Due to the action a t , the state changes to s t+1 . r t+1 represents the reward obtained by changing the state.
  • the term with max is the Q value when action a with the highest Q value known at that time is selected under state s t+1 multiplied by ⁇ .
  • is a parameter satisfying 0 ⁇ 1 and is called a discount rate.
  • is a learning coefficient and is in the range of 0 ⁇ 1.
  • the above formula (11) represents a method of updating the value Q(s t , at ) of the action a t in the state s t based on the reward r t+1 returned as a result of the trial a t .
  • This update formula shows that the value of the best action max a Q(s t +1 , a ) in the next state s t +1 due to action a t is greater than the value Q(s t , a t ) of action a t in state s t. If it is larger, Q(s t , a t ) is increased, and if it is smaller, Q(s t , at ) is decreased.
  • Q learning there is a method of creating a table of Q(s, a) for all state-action pairs (s, a) and performing learning.
  • the number of states is too large to obtain the values of Q(s, a) for all state-action pairs, and it may take a long time for Q-learning to converge.
  • DQN Deep Q-Network
  • the value of value Q (s, a) can be calculated by configuring value function Q using an appropriate neural network, adjusting the parameters of the neural network, and approximating value function Q with an appropriate neural network. It may be calculated.
  • DQN it is possible to shorten the time required for Q learning to converge.
  • non-patent literature "Human-level control through deep reinforcement learning", by Volodymyr Mnih1 [online], [searched on January 17, 2017], Internet ⁇ URL: http://files.davidqiu .com/research/nature14236.pdf> has a detailed description.
  • the machine learning device 9 includes a state observation section 91, a determination data acquisition section 92, a learning section 93, and a decision making section 94, as shown in FIG. Be prepared. Further, the learning section 93 includes a remuneration calculation section 95 and a value function updating section 96.
  • the state observation unit 91 acquires axis-dependent data as state data from the data encoding device 7. Further, the state observation unit 91 outputs the acquired axis-dependent data to the learning unit 93.
  • the determination data acquisition unit 92 acquires the number of non-approximation points and the amount of data after approximation obtained by model approximation encoding of the post-division axis-dependent data from the data encoding device 7 as determination data.
  • the divided axis-dependent data is obtained by dividing the axis-dependent data into predetermined specified sections according to a predetermined division criterion stored in advance. Further, the determination data acquisition unit 92 outputs the acquired number of unapproximable points and the amount of data after approximation to the learning unit 93.
  • the reward calculation unit 95 of the learning unit 93 calculates the reward based on the acquired axis-dependent data, the number of points that cannot be approximated, and the amount of data after approximation. Specifically, the reward calculation unit 95 increases the reward when the number of points that cannot be approximated decreases, and decreases the reward when the number of points that cannot be approximated increases. Further, the reward calculation unit 95 increases the reward when the amount of data after approximation decreases, and decreases the reward when the amount of data after approximation increases.
  • the value function updating unit 96 of the learning unit 93 calculates the number of unapproximable points, the amount of data after approximation, and the reward value obtained by model approximation encoding of the axis-dependent data as state data and the axis-dependent data after division as judgment data.
  • the stored value function is updated by performing the above-mentioned Q learning based on .
  • the value function stored by the value function update unit 96 can be shared by, for example, a plurality of machine learning devices that are communicably connected to each other.
  • the decision making unit 94 obtains the updated value function from the value function updating unit 96. Furthermore, the decision-making unit 94 outputs the optimal post-division axis-dependent data to the data encoding device 7 as a behavior output based on the acquired value function.
  • FIG. 27 is a flowchart showing the procedure of learning processing by the machine learning device 9.
  • step S21 first, the machine learning device 9 outputs the divided axis-dependent data to the data encoding device 7 as a behavioral output.
  • 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 7 generates the number of unapproximable points and the amount of data after approximation by executing model approximation encoding on the axis-dependent data after division. After that, the process advances to step S22.
  • step S22 the machine learning device 9 acquires axis-dependent data as state data from the data encoding device 7. After that, the process advances to step S23.
  • step S23 the machine learning device 9 acquires the number of unapproximable points after model approximation encoding and the amount of data after approximation of the axis-dependent data after division, which were generated in step S21, from the data encoding device 7 as determination data. After that, the process advances to step S24.
  • step S24 as determination condition 1, it is determined whether or not the number of unapproximable points has decreased when the data encoding device 7 executes model approximation encoding on the divided axis-dependent data. If this determination is YES, the process proceeds to step S25 and the reward is increased. On the other hand, if this determination is NO, the process proceeds to step S26 and the reward is decreased. After that, the process advances to step S27.
  • step S27 as determination condition 2, it is determined whether the amount of data after model approximation encoding is reduced when the data encoding device 7 executes model approximation encoding on the axis-dependent data after division. . If this determination is YES, the process proceeds to step S28 and the reward is increased. On the other hand, if this determination is NO, the process proceeds to step S29 and the reward is decreased. After that, the process advances to step S30.
  • step S30 the value function stored in the value function update unit 96 is updated.
  • the value function update unit 96 performs model approximation encoding of the axis-dependent data as state data and the divided axis-dependent data as judgment data, and calculates the number of points that cannot be approximated, the amount of data after approximation, and the reward value.
  • the stored value function is updated by performing the above-mentioned Q learning based on . After that, the process advances to step S31.
  • step S31 it is determined whether or not to continue the main learning process. If this determination is YES, the process returns to step S21. On the other hand, if this determination is NO, this process ends.
  • the axis-dependent data dividing unit is configured to generate optimal divided axis-dependent data based on the reinforcement learning results by the machine learning device 9.
  • the axis-dependent data can be divided into optimal divided axis-dependent data that can be compressed by reducing the number of data through reinforcement learning by the machine learning device 9, so each axis data (each axis error) It is possible to generate multiple optimal regions that can be regarded as linear combinations, and by performing model approximation encoding of the linear combination model for each region, axis-dependent data that was previously difficult to compress can be more easily compressed. Can be compressed.
  • the first data encoding program includes a part 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 the axis data of the industrial machine.
  • a data encoding program for causing a computer to execute a model approximation encoding step of generating encoded axis-dependent data by encoding axis-dependent data.
  • the first data encoding program further includes an axis-dependent data division step of dividing the axis-dependent data to generate a plurality of divided axis-dependent data, and the model approximation encoding step generates a plurality of divided axis-dependent data.
  • a second data encoding program that generates encoded axis-dependent data based on the linear combination model and the linear combination model can be provided.
  • the second data encoding program includes a dynamic programming processing step for generating optimal divided axis-dependent data by executing dynamic programming, and evaluates the optimality of the encoded axis-dependent data.
  • an optimality evaluation step a partial division step that generates partial axis-dependent data by dividing axis-dependent data into multiple parts, and optimal axis-dependent data after division by expanding and combining the partial axis-dependent data. It is possible to provide a third data encoding program for causing a computer to execute the optimization result combining step of generating.
  • a fourth data encoding program for causing the computer to execute a step of generating optimal post-division axis-dependent data based on the reinforcement learning result by the machine learning device. can.
  • a fifth data encoding program for causing a computer to execute an approximation error calculation step of calculating an approximation error amount, and a step of encoding the approximation error amount and generating an approximation error amount after encoding.
  • a fifth data encoding program can be provided.
  • the step of generating an approximation error amount within a predetermined tolerance by removing an approximation error amount exceeding a predetermined tolerance from the approximation error amount, and encoding the approximation error amount within a predetermined tolerance. It is possible to provide a sixth data encoding program for causing a computer to execute the step of generating an approximation error amount after encoding.
  • a seventh data encoding program can be provided for causing a computer to execute a step of encoding axis-dependent data after encoding.
  • the model approximation encoding unit 41 is configured to include the approximation error calculation unit 42, but for example, the model approximation encoding unit 4 encodes the axis-dependent data after model approximation encoding.
  • the approximation error amount may be calculated based on the difference between the axis-dependent data decoded and decoded by the device and the original axis-dependent data.
  • the configuration including the approximation error calculation unit 42 is applied to the first embodiment, but the configuration is not limited thereto, and can also be applied to the second embodiment and the third embodiment.
  • the configuration including the model approximation encoded data encoding unit 62 is applied to the first embodiment, but the present invention is not limited to this and can be applied to other embodiments as well. In this way, the embodiments described above can be combined as appropriate as long as they do not interfere with each other's functions.
  • the machine learning device 9 is provided separately from the data encoding device 7, but the present invention is not limited to this, and a machine learning device may be provided inside the data encoding device 7.
  • Data encoding device 9 Machine learning device 11, 21, 31, 41, 51, 61 Model approximation encoding section 22, 32 Axis-dependent data division section 33 Dynamic programming Processing unit 34 Optimality evaluation unit after model approximation encoding (optimality evaluation unit) 35 Partial division part of axis-dependent data (partial division part) 36 Partial axis-dependent data optimization result combination part (optimization result combination part) 42 Approximation error calculation unit 43 Approximation error encoding unit 52 Approximation error calculation unit 53 Approximation error removal unit exceeding a predetermined tolerance (approximation error removal unit) 54 Approximate error encoding unit 62 Model approximation encoded data encoder (post-encoded data encoder)

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Image Processing (AREA)

Abstract

産業機械の各軸の座標値に依存する軸依存データを符号化して圧縮可能な符号化技術を提供する。産業機械の各軸の座標値に依存する軸依存データの一部と、軸依存データを産業機械の各軸データの一次結合として近似する一次結合モデルと、に基づいて、軸依存データを符号化した符号化後軸依存データを生成するモデル近似符号化部11を備える、データ符号化装置1である。

Description

データ符号化装置及びデータ符号化プログラム
 本開示は、データ符号化装置及びデータ符号化プログラムに関する。
 従来、工作機械やロボット等の産業機械では、指令値に従って所定の制御点を所定の位置へと移動させる。しかしながら、産業機械は誤差を有するため、制御点の位置は指令値通りにはならないのが通常である。このような位置決め精度の低下、ひいては加工精度の低下を解決するために、制御点の位置が指令値と一致するように誤差を補正する技術が提案されている(例えば、特許文献1参照)。この技術では、予め測定した誤差量を制御装置に入力することにより、該誤差量に応じた補正量に基づいて誤差を補正する。
特開2011-209897号公報
 ところで、誤差を補正するにあたっては、制御装置に入力する誤差量の入力点数が多ければ多いほど、精度良く誤差を補正できる。しかしながら、入力可能なデータサイズには上限があるため、入力可能なデータサイズの上限を超えて誤差補正の精度を向上することができない、という課題がある。
 そこで、誤差量のデータを圧縮した上で、制御装置に入力することが考えられる。データを圧縮する技術としては、データの符号化技術が挙げられ、例えばハフマン符号に代表されるエントロピー符号化技術が知られている。エントロピー符号化技術では、データ上における値の出現頻度の偏り、即ち情報エントロピーの小ささを利用することにより、データを圧縮する。
 しかしながら、上述の誤差量等に代表される、産業機械の各軸の座標値に依存する軸依存データは、全体として出現頻度が一様なホワイトノイズ的な性質を有する場合がある。この場合には、上述の情報エントロピーの小ささを利用することができないため、エントロピー符号化によるデータの圧縮が困難である。
 本開示は上記に鑑みてなされたものであり、産業機械の各軸の座標値に依存する軸依存データを符号化して圧縮可能なデータ符号化技術を提供することを目的とする。
 本開示の一態様は、データを符号化するデータ符号化装置であって、産業機械の各軸の座標値に依存する軸依存データの一部と、前記軸依存データを前記産業機械の各軸データの一次結合として近似する一次結合モデルと、に基づいて、前記軸依存データを符号化した符号化後軸依存データを生成するモデル近似符号化部を備える、データ符号化装置である。
 また、本開示の他の態様は、データを符号化するデータ符号化プログラムであって、産業機械の各軸の座標値に依存する軸依存データの一部と、前記軸依存データを前記産業機械の各軸データの一次結合として近似する一次結合モデルと、に基づいて、前記軸依存データを符号化した符号化後軸依存データを生成させるステップをコンピュータに実行させるためのデータ符号化プログラムである。
 本開示によれば、産業機械の各軸の座標値に依存する軸依存データを符号化して圧縮可能なデータ符号化技術を提供することができる。
第1実施形態に係るデータ符号化装置の構成を示す図である。 特定文字のみを含むテキストファイルの一例を示す図である。 各値の出現頻度がある分布で表されるデータの一例を示す図である。 各値の出現頻度が一様なデータを示す図である。 X軸の各軸誤差を示す図である。 Y軸の各軸誤差を示す図である。 座標値(X、Y)における誤差量を示す図である。 各軸誤差の一次結合では表せない場合の誤差量を示す図である。 図8の部分拡大図である。 誤差マップを可視化したビットマップ画像を示す図である。 軸依存データの一例を示す図である。 図11の軸依存データを産業機械の各軸誤差の一次結合として近似する一次結合モデルを示す図である。 第2実施形態に係るデータ符号化装置の構成を示す図である。 格子状の複数の領域に区画された軸依存データを示す図である。 分割後軸依存データの一例を示す図である。 第3実施形態に係るデータ符号化装置の構成を示す図である。 動的計画法処理部による軸依存データの分割の手順を示すフローチャートである。 X正方向に各軸データ(各軸誤差)一列分拡張する前の分割区間を示す図である。 X正方向に各軸データ(各軸誤差)一列分拡張した後の分割区間を示す図である。 第4実施形態に係るデータ符号化装置の構成を示す図である。 近似誤差(ベクトルγ[X][Y])を示す図である。 第5実施形態に係るデータ符号化装置の構成を示す図である。 所定のトレランスより大きい例外点を含む近似誤差(ベクトルγ[X][Y])を示す図である。 近似誤差(ベクトルγ[X][Y])において所定のトレランスより大きいため除外されて保持された例外点を示す図である。 第6実施形態に係るデータ符号化装置の構成を示す図である。 第7実施形態に係るデータ符号化装置の構成を示す図である。 機械学習装置9による学習処理の手順を示すフローチャートである。
 以下、本開示の実施形態について、図面を参照して詳しく説明する。なお、第2実施形態以降の説明において、第1実施形態と共通する構成については、その説明を適宜省略する。
[第1実施形態]
 第1実施形態に係るデータ符号化装置1は、産業機械の各軸の誤差補正に用いられる誤差量等に代表される、産業機械の各軸の座標値に依存する軸依存データを符号化して圧縮することが可能なデータ符号化装置である。上述した通り、産業機械の各軸の座標値に依存する軸依存データは、全体として出現頻度が一様なホワイトノイズ的な性質を有する場合があるため、データ上における値の出現頻度の偏り、即ち情報エントロピーの小ささを利用する従来のエントロピー符号化技術ではデータを圧縮することが困難である。これに対して本実施形態に係るデータ符号化装置1は、産業機械の各軸の座標値に依存する軸依存データを符号化して圧縮可能とするものである。
 図1は、第1実施形態に係るデータ符号化装置1の構成を示す図である。図1に示されるように、データ符号化装置1は、モデル近似符号化部11を備える。モデル近似符号化部11は、軸依存データと、一次結合モデルと、に基づいて、軸依存データを符号化した符号化後軸依存データを生成する。データ符号化装置1の構成を説明するにあたり、先ず、従来のデータ符号化技術について説明する。
 従来、データの符号化技術として、例えば、ハフマン符号に代表されるエントロピー符号化技術が知られている。エントロピー符号化技術では、データ上における値の出現頻度の偏り、即ち情報エントロピーの小ささを利用することにより、データを圧縮する。
 ここで、図2は、特定文字のみを含むテキストファイルの一例を示す図である。また、図3は、各値の出現頻度がある分布で表されるデータの一例を示す図である。図2及び図3中、横軸はビット値を示し、縦軸は各値の出現頻度を示している。図2に示されるような、例えば特定文字として0~9及びA~Fの16文字のみを含むテキストファイルは、通常1文字の表現に8ビット必要なところ、エントロピー符号化により多くとも1文字4ビットで表現可能であるため、半分程度にデータを圧縮可能である。また、図3に示されるような出現頻度が一様でないデータは、エントロピー符号化により高頻度の値に短ビット値を割り当てる一方で、低頻度の値に長ビット値を割り当てることで、データを圧縮可能である。
 これに対して、図4は、各値の出現頻度が一様なデータを示す図である。図2及び図3と同様に、図4中、横軸はビット値を示し、縦軸は各値の出現頻度を示している。図4に示されるような出現頻度が一様なホワイトノイズ的なデータは、上述の情報エントロピーの小ささを利用することができないため、エントロピー符号化によるデータの圧縮が困難である。
 ところで、産業機械の各軸の静的な誤差補正としては、ピッチ誤差補正、真直度誤差補正、及び三次元誤差補正が挙げられる。ピッチ誤差補正は、軸方向に沿った方向の誤差の補正である。真直度誤差補正は、軸方向に直交する方向の誤差の補正である。三次元誤差補正は、三次元的な空間誤差の補正である。これらの誤差補正は、各軸の座標値毎に計測された誤差量(以下、各軸誤差という。)を、軸数分、制御装置に入力することにより実行される。この入力点数が多いほど、誤差補正の精度は向上するものの、入力可能なデータサイズには上限がある。
 図5は、X軸の各軸誤差を示す図である。X軸の各軸誤差は、Y軸及びZ軸を固定した状態で、X軸のみ移動させたときに計測される各座標値の誤差量である。図5に示されるように、各座標値X、X、X、及びXの誤差量は、それぞれ異なる大きさ及び向きを有するベクトルで表示される。
 また、図6は、Y軸の各軸誤差を示す図である。Y軸の各軸誤差は、X軸及びZ軸を固定した状態で、Y軸のみ移動させたときに計測される各座標値の誤差量である。図6に示されるように、各座標値Y、Y、及びYの誤差量は、それぞれ異なる大きさ及び向きを有するベクトルで表示される。
 ここで、各軸の誤差補正では、各軸誤差は一次独立であると仮定している。即ち、座標値X、・・・Xにおける誤差量(ベクトルE[X]・・・[X])を、各軸誤差の一次結合と仮定して、下記数式(1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 なお、上記数式(1)中、Lは、誤差補正の対象軸数を表す。また、Xは、第l補正対象軸を表す。
 上述の仮定に基づく上記数式(1)が成り立つ場面は多く、従来、各軸の誤差補正は広く用いられているのが現状である。例えば、図7は、座標値(X、Y)における誤差量を示す図である。図7に示されるように、座標値(X、Y)における誤差量(ベクトルE[X][Y])は、座標値Xの誤差量(ベクトルE[X])と、座標値Yの誤差量(ベクトルE[Y])との一次結合とみなすことができ、下記数式(2)のように表される。
Figure JPOXMLDOC01-appb-M000002
 ただし、全体として見ると、各軸誤差(ベクトルE[X]、ベクトルE[Y])における値の出現頻度、あるいは誤差量(ベクトルE[X][Y])における値の出現頻度は、いずれも一様でホワイトノイズ的な場合がある。この場合、データ上における値の出現頻度の偏り、即ち情報エントロピーの小ささを利用する従来のエントロピー符号化技術では、これらのデータを圧縮することは困難である。
 また、各軸誤差は一次独立ではなく、誤差量(ベクトルE[X]・・・[X])は複数軸の相関により決まる場合もある。つまり、下記数式(3)で表されるように誤差量(ベクトルE[X]・・・[X])は、相関項(ベクトルδ[X]・・・[X])を含み、各軸誤差の一次結合では表されない場合もある。
Figure JPOXMLDOC01-appb-M000003
 図8は、各軸誤差の一次結合では表せない場合の誤差量を示す図である。図8に示されるように、各軸誤差が一次独立ではない場合には、誤差量(ベクトルE[X]・・・[X])として、上記数式(1)で表される誤差量ではなく、上記数式(3)で表される相関項(ベクトルδ[X]・・・[X])を含む誤差量とする必要がある。この場合、誤差量に相関のある空間毎に誤差量(以下、空間誤差という。)を制御装置に入力して補正するため、各空間の誤差補正と呼ばれる。
 ここで、空間誤差は、全体としては各軸誤差の一次結合とは表せないとしても、各軸誤差と同様に、局所的には各軸誤差の一次結合とみなすことができるという性質がある点を本発明者は見出したものである。例えば、図9は、図8の部分拡大図であるが、図9中の破線で囲まれた局所領域では、上述の相関項(ベクトルδ[X]・・・[X])が0とみなすことができ、空間誤差を各軸誤差の一次結合として表すことができる。即ち、空間誤差(ベクトルE[X][Y])は、下記数式(4)に示されるように、各軸誤差(ベクトルE[X])と各軸誤差(ベクトルE[Y])との和で表される。これは、空間誤差(ベクトルE[X][Y])は、格子状の複数の座標点上の各軸データ(各軸誤差)のうち、X軸方向の一列の誤差量(ベクトルE[X])とY軸方向の一列の誤差量(ベクトルE[Y])とを取り出して、これらの一次結合として近似できることを意味する。なお、局所領域としては、例えば産業機械の移動可能範囲の中心領域が挙げられる。
Figure JPOXMLDOC01-appb-M000004
 ただし、全体として見ると、空間誤差(ベクトルE[X][Y])における値の出現頻度は一様でホワイトノイズ的な場合があり、情報エントロピーの小ささを利用する従来のエントロピー符号化技術では圧縮は困難である。例えば、図10は、誤差補正の対象軸をX軸とY軸の2軸とした場合の誤差マップを可視化したビットマップ画像を示す図であり、各ピクセルのRGB値が誤差量ベクトルEに対応している。また、各ピクセルの誤差量(ベクトルE[X][Y])は、上記数式(4)に従って、ベクトルE[X]とベクトルE[Y]の和で表される。例えば、図10に示されるビットマップ画像のピクセル数が10×10で374バイトである場合、これを代表的エントロピー符号化技術であるZIP圧縮により符号化すると393バイトとなる。このように、従来公知のエントロピー符号化では圧縮効果が無く、場合によってはデータサイズが増えて逆効果であることが分かる。
 以上を踏まえ、本実施形態では、産業機械の各軸の誤差補正に用いられる誤差量等に代表される、産業機械の各軸の座標値に依存する軸依存データであっても、局所的には、上述の数式(1)に表されるように各軸誤差の一次結合とみなすことができる性質を利用するものである。これにより、本実施形態に係るデータ符号化装置1では、従来困難であった軸依存データの符号化及び圧縮を可能とする。
 図1に戻って、本実施形態に係るデータ符号化装置1は、例えば、バスを介して互いに接続された、ROM(read only memory)やRAM(random access memory)等のメモリ、CPU(control processing unit)、キーボード等の操作手段、ディスプレイ、及び通信制御部を備えたコンピュータを用いて構成される。後述する機能部の機能及び動作は、上記コンピュータに搭載されたCPU、メモリ、及び該メモリに記憶された制御プログラムが協働することにより達成される。
 データ符号化装置1は、例えば、工作機械やロボット等の産業機械の制御装置に対応する数値制御装置(CNC:Computerized Numerical Control))やロボット制御装置等に設けられてよい。あるいは、これら制御装置と通信可能に外部のコンピュータ等に設けられてもよい。
 本実施形態のデータ符号化装置1が備えるモデル近似符号化部11は、産業機械の各軸の座標値に依存する軸依存データの一部と、軸依存データを産業機械の各軸データ(各軸誤差)の一次結合として近似する一次結合モデルと、に基づいて、軸依存データを符号化した符号化後軸依存データを生成する。軸依存データは、例えば上述の制御装置等から入力される。また、一次結合モデルは、例えばデータ符号化装置1の記憶部に格納されている。
 ここで、産業機械の各軸とは、例えば工作機械の各軸、即ち、X軸、Y軸、Z軸を意味する。また、軸依存データとしては、産業機械の各軸の誤差補正に用いられる誤差量の他、例えば自重によるたわみの影響で座標値毎に変位が異なる比較的大型のワークの設置誤差量等が挙げられる。これら誤差量やワークの設置誤差量は、いずれも産業機械の各軸の座標値に依存するデータである。
 以下、本実施形態のモデル近似符号化部11による一次結合モデルを用いたモデル近似符号化について、図11及び図12を参照して詳しく説明する。
 図11は、軸依存データの一例を示す図である。図11に示される例では、誤差補正等の対象軸をX軸とY軸の2軸とした場合の軸依存データを示している。図11に示される軸依存データは、例えば産業機械の各軸誤差量等で、全体としてはデータ上の値の出現頻度の偏りがない軸依存データにおけるある局所領域の軸依存データであり、後述の一次結合モデルにより近似可能な軸依存データである。図11に示される軸依存データの例では、合計でN×M点の各軸データ(各軸誤差)を有する。
 図12は、図11の軸依存データを産業機械の各軸誤差の一次結合として近似する一次結合モデルを示す図である。上述した通り、誤差量(ベクトルE[X]・・・[X])が、上記数式(3)で表されるモデルに従い、かつ全体としては相関項(ベクトルδ[X]・・・[X])の影響が強いとみなされる場合であったとしても、局所的には、上記数式(1)で表される一次結合モデルで近似可能な領域が存在すると考えられる。このような近似可能な領域については、図12に示されるように、下記数式(5)で表される一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])で誤差量を表現することができる。即ち、誤差量は、X軸方向の一列の誤差量(ベクトルEa[X])とY軸方向の一列の誤差量(ベクトルEa[Y])とを取り出して、これらの一次結合として近似できる。図12に示される例では、近似後の各軸データ(各軸誤差)は合計でN+M点となり、軸依存データを圧縮できることが分かる。
Figure JPOXMLDOC01-appb-M000005
 上記数式(5)中、X、Xは下記数式(6)のように表され、ベクトルcは下記数式(7)に表されるような平均値として定義される。ベクトルEa [X]は下記数式(8)のように表される。また、Lは誤差補正の対象軸数を表し、Xは第l補正対象軸を表し、Nlは第l補正対象軸の誤差量点数を表す。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 
 なお、数式(8)中、Xは1次元の軸空間を表すものであるのに対して、xは空間に所属する元(要素)を表している。pは1~Lのいずれかの値である。例えばxであれば、軸Xの取り得るある値を意味する。
 ベクトルcを上記数式(7)のように定義すると、上記一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])は、下記数式(9)で表される評価関数Jを最小化する最尤推定モデルとなる。即ち、評価関数Jは、下記数式(9)で表されるように、近似前の元の誤差量(ベクトルE[X]・・・[X])と、近似後の誤差量(ベクトルEa[X]・・・[X])との差分の二乗の和として表され、この評価関数Jが最小化するように上記一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])を決定する。このようにして決定された一次結合モデルとしての近似モデルは、例えばデータ符号化装置1の記憶部に格納され、モデル近似符号化部11によるモデル近似符号化に利用される。
Figure JPOXMLDOC01-appb-M000009
 
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置1では、産業機械の各軸の座標値に依存する軸依存データの一部と、軸依存データを産業機械の各軸データ(各軸誤差)の一次結合として近似する一次結合モデルと、に基づいて、軸依存データを符号化した符号化後軸依存データを生成するモデル近似符号化部11を設けた。従来、産業機械の各軸誤差量等に代表されるように全体として出現頻度が一様でホワイトノイズ的な場合がある軸依存データは、データ上における値の出現頻度の偏り、即ち情報エントロピーの小ささを利用する従来のエントロピー符号化技術ではデータを圧縮することが困難であった。これに対して本実施形態によれば、軸依存データの一部を各軸データ(各軸誤差)の一次結合として近似することで、従来は圧縮が困難であった軸依存データを符号化して圧縮することができる。ひいては、本実施形態により符号化されて圧縮された符号化後軸依存データを用いることにより、記憶容量を増大することなく、産業機械の制御装置等に入力可能な誤差量等のデータを増加させることができ、産業機械の誤差をより精度良く補正することができる。
[第2実施形態]
 図13は、第2実施形態に係るデータ符号化装置2の構成を示す図である。図13に示されるように、第2実施形態に係るデータ符号化装置2は、軸依存データ分割部22を備える点において第1実施形態に係るデータ符号化装置1と相違する。また、第2実施形態のモデル近似符号化部21が、軸依存データを複数に分割して生成された分割後軸依存データと、上述の一次結合モデルと、に基づいてモデル近似符号化を実行する点において、第1実施形態のモデル近似符号化部11と相違する。これら相違点以外の構成については、第1実施形態と共通である。
 上述の第1実施形態に係るデータ符号化装置1は、全体として出現頻度が一様でホワイトノイズ的な場合がある軸依存データの一部について、各軸データ(各軸誤差)の一次結合とみなすことができるものとして、一次結合モデルのモデル近似符号化を実行するものである。これに対して、本実施形態に係るデータ符号化装置2は、軸依存データを積極的に分割して複数の領域に分けることで、各軸データ(各軸誤差)の一次結合とみなすことができる複数の領域を生成させ、一次結合モデルのモデル近似符号化の実行をより確実に可能とするものである。
 軸依存データ分割部22は、軸依存データを分割して、複数の分割後軸依存データを生成する。ここで、図14は、格子状の複数の領域に区画された軸依存データを示す図である。図14に示されるように、データ符号化装置2に入力された軸依存データは、例えば、各座標値上の各軸データ(各軸誤差)に応じて、格子状の複数の領域に区画される。図14に示される例では、軸依存データは15×15=225点の格子状に区画されている。軸依存データ分割部22は、例えばこれらの区画に沿って、軸依存データを複数に分割する。
 軸依存データ分割部22による軸依存データの分割方法は特に制限されないが、各軸データ(各軸誤差)の一次結合とみなすことができる複数の領域を生成させることができるように、軸依存データを分割するのが好ましい。特に、軸依存データ分割部22は、軸依存データを、最も良く近似(圧縮)できるような複数の領域に分割することが好ましい。
 図15は、分割後軸依存データの一例を示す図である。図15に示される例では、データ符号化装置2に入力された軸依存データは、軸依存データ分割部22により5つの分割区間1~5に分割されている。即ち、これら5つの分割区間1~5の各領域内の各データが分割後軸依存データに相当し、これらの分割後軸依存データはそれぞれ各軸データ(各軸誤差)の一次結合とみなすことができ、後述のモデル近似符号化部21による一次結合モデルのモデル近似符号化が可能である。一方、これら5つの分割区間1~5の領域外では、軸依存データを各軸データ(各軸誤差)の一次結合とみなすことができず、一次結合モデルのモデル近似符号化が不可能である。
 モデル近似符号化部21は、複数の分割後軸依存データと、一次結合モデルと、に基づいて、符号化後軸依存データを生成する。上述したように、複数の分割区間1~5の各領域内では、軸依存データを各軸データ(各軸誤差)の一次結合とみなすことができる。そのため、モデル近似符号化部21は、分割後の各軸依存データについて一次結合モデルのモデル近似符号化を実行することにより、モデル近似されて圧縮された符号化後軸依存データを生成する。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置2では、軸依存データを分割して複数の分割後軸依存データを生成する軸依存データ分割部22を設けた。また、モデル近似符号化部21を、複数の分割後軸依存データと、一次結合モデルと、に基づいて、符号化後軸依存データを生成するように構成した。これにより本実施形態によれば、軸依存データを積極的に分割して複数の領域に分けることで、各軸データ(各軸誤差)の一次結合とみなすことができる複数の領域を生成させることができ、各領域について一次結合モデルのモデル近似符号化を実行することで、従来は圧縮が困難であった軸依存データをより確実に圧縮することができる。
[第3実施形態]
 図16は、第3実施形態に係るデータ符号化装置3の構成を示す図である。図16に示されるように、第3実施形態に係るデータ符号化装置3は、軸依存データ分割部32の構成が第2実施形態の軸依存データ分割部22と相違する点において、第2実施形態と相違する。この相違点以外の構成については、第2実施形態と共通である。
 上述の第2実施形態に係るデータ符号化装置2では、軸依存データの分割方法は特に制限されないものであるが、第3実施形態に係るデータ符号化装置3では、動的計画法を利用して軸依存データを分割する。即ち、動的計画法を利用することにより最適な軸依存データの分割を実行することができ、軸依存データを最も良く近似、圧縮できるものである。
 図16に示されるように、本実施形態の軸依存データ分割部32は、動的計画法処理部33を備える。動的計画法処理部33は、動的計画法を実行することにより、最適な分割後軸依存データを生成する。具体的に動的計画法処理部33は、動的計画法を実行するための機能部として、モデル近似符号化後の最適性評価部34と、軸依存データの部分分割部35と、部分的軸依存データの最適化結果結合部36と、を備える。
 ここで、動的計画法処理部33により実行される動的計画法について、詳しく説明する。
 動的計画法は、最適化問題を解くための汎用的なアルゴリズムである。動的計画法は、次の2つの特徴を有するアルゴリズムである。第1の特徴は、再帰的に解く点である。即ち、小さなスケールの部分問題に分割し、該部分問題を再帰的に最適化し、部分問題の最適化結果を組合せて、より大きなスケールの元の問題の解とする点に特徴がある。また、第2の特徴は、最適化結果を記録することで、処理負荷を削減できる点である。即ち、再帰的に問題を解く過程で、同じ問題が何度も登場することがあるが、解いたことがある問題について計算を省略するために、一度解いた問題の最適化結果を記録しておき、再利用する点に特徴がある。
 そこで、本実施形態の動的計画法処理部33は、結果の最適性を評価する手段として、モデル近似符号化後の最適性評価部34を備える。即ち、モデル近似符号化後の最適性評価部34は、符号化後軸依存データの最適性を評価する。符号化後軸依存データの最適性の評価は、例えば、モデル近似符号化後の近似誤差量が所定の制約トレランス以内であるか否かに基づいて評価することができる。なお、モデル近似符号化後の近似誤差量は、後段の第4実施形態で詳述するように、上述の第1実施形態で説明したモデル近似符号化する前の元の誤差量と、モデル近似符号化後の誤差量との差分である。制約トレランスとしては、例えば近似誤差許容値や、近似誤差許容値を超えるデータの許容点数であってよい。
 また本実施形態の動的計画法処理部33は、問題を分割して部分問題化する手段として、軸依存データの部分分割部35を備える。軸依存データの部分分割部35は、軸依存データを複数の部分に分割して部分的軸依存データを生成する。軸依存データの部分分割部35は、例えば、予め格納された所定の分割基準に従って、軸依存データを所定の指定区間に区間分割した後、X軸やY軸等の各軸の+方向あるいは-方向の各々に1点ずつ縮小して最適化することにより、軸依存データを複数の部分に分割する。軸依存データの部分分割部35による軸依存データの分割については、後段で詳述する。
 また本実施形態の動的計画法処理部33は、部分問題の最適化結果を結合(組み合わせ)する手段として、部分的軸依存データの最適化結果結合部36を備える。部分的軸依存データの最適化結果結合部36は、部分的軸依存データを拡張して結合することにより最適な分割後軸依存データを生成する。部分的軸依存データの最適化結果結合部36は、例えば、上述の軸依存データの部分分割部35により軸依存データが分割されて生成された部分的軸依存データを、X軸やY軸等の各軸の+方向あるいは-方向の各々に1点ずつ拡張して最適化する。部分的軸依存データの最適化結果結合部36による最適な分割後軸依存データの生成については、後段で詳述する。
 以下、動的計画法処理部33による軸依存データの分割について、上述の図14及び図15、図17及び図18を参照して詳しく説明する。
 上述の図14に示したように、軸依存データは、例えば15×15=225点の格子状に区画されている。このような軸依存データに対して、動的計画法処理部33により区間分割すると、例えば図15に示したような分割後軸依存データが得られる。動的計画法処理部33による軸依存データの区間分割では、分割区間の各領域を上述の近似モデルで近似した場合の、各誤差量の近似誤差を制約許容量以内に収めるようにする。また、近似誤差が制約許容量以内に収まらない点を、制約許容点数まで許容する。それでもなお、近似できない、制約を満たさない点の数を極小化する。これにより、例えばデータ点数225が92点にまで圧縮でき、データサイズを小さくできる。
 図17は、動的計画法処理部33による軸依存データの分割の手順を示すフローチャートである。この動的計画法処理部33による軸依存データの分割は、動的計画法により、再帰的に軸依存データの最適な分割区間を探索することにより実行されるものである。
 ステップS1では、軸依存データを、所定の指定区間に区間分割する。ただし、この動的計画法処理部33による軸依存データの分割処理済みの領域である場合には、保持していた処理結果を本ステップに反映させてもよい。その後、ステップS2に進む。
 ステップS2では、ステップS1で区間分割された指定区間内領域(指定領域)の近似モデルを生成する。具体的には、各指定領域について、上述の第1実施形態で説明した一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])を生成する。その後、ステップS3に進む。
 ステップS3では、ステップS2で生成した指定領域の近似モデルが全点制約を満たすか否かを判別する。制約としては、全点の近似誤差が許容値以内であるか否か、あるいは近似誤差が許容値以内ではない点が許容点数以内であるか否か、が挙げられる。この判別がYESであれば、軸依存データの最適な分割がなされており、最適な分割後軸依存データが得られたとして本処理を終了する。一方、この判別がNOであれば、ステップS4に進む。
 ステップS4では、nを初期値1に設定する。ここで、nの値は各軸を表し、例えば軸構成がX軸とY軸の合計2軸である場合、nが1のときはX軸、nが2のときはY軸を表す。その後、ステップS5に進む。
 ステップS5では、nがLより大きいか否かを判別する。ここで、Lは、軸依存データの指定区間における軸数である。例えばX軸とY軸の2軸であれば、Lは2である。この判別がYESであれば、ステップS11に進む。一方、この判別がNOであれば、ステップS6に進む。
 ステップS6~S10の処理は、nがL以下の場合であり、軸数がX軸とY軸の2軸のときでnが1であればX軸についての処理を意味し、nが2であればY軸についての処理を意味する。
 ステップS6では、軸依存データを、ステップS1の指定区間からX正方向に各軸データ(各軸誤差)一列狭めた指定区間に区間分割する。即ち、X正方向に各軸データ(各軸誤差)一列分、縮小した新たな区間分割を実行する。X正方向とは、nが1のときであれば、X軸正方向を意味する。その結果を、最適化結果nPとして出力する。nが1のときであれば最適化結果1Pを出力する。その後、ステップS7に進む。
 ステップS7では、ステップS6で得られた最適化結果nPを、X正方向に各軸データ(各軸誤差)一列分、拡張する。その結果を、最適化結果nPとして出力する。nが1のときであれば最適化結果1Pを出力する。nは1~Lの範囲を取り得るため、本ステップにより、最適化結果1P~LPが得られることになる。その後、ステップS8に進む。
 ステップS8では、軸依存データを、ステップS1の指定区間からX負方向に各軸データ(各軸誤差)一列狭めた指定区間に区間分割する。即ち、X負方向に各軸データ(各軸誤差)一列分、縮小した新たな区間分割を実行する。X負方向とは、nが1のときであれば、X軸負方向を意味する。その結果を、最適化結果nMとして出力する。nが1のときであれば最適化結果1Mを出力する。その後、ステップS9に進む。
 ステップS9では、ステップS8で得られた最適化結果nMを、X負方向に各軸データ(各軸誤差)一列分、拡張する。その結果を、最適化結果nMとして出力する。nが1のときであれば最適化結果1Mを出力する。nは1~Lの範囲を取り得るため、本ステップにより、最適化結果1M~LMが得られることになる。その後、ステップS10に進む。
 ステップS10では、nを1増加する。その後、ステップS5に戻る。
 また、ステップS11は、nがLより大きい場合であり、軸数がX軸とY軸の2軸のときであれば、ステップS6~S10によりX軸及びY軸についての処理が終了した後の処理である。ステップS11では、ステップS6~S10で得られた最適化結果1P~LP、1M~LMのうち、近似不可点数が最小のものを出力する。即ち、最適化結果1P~LP、1M~LMのそれぞれについて、ステップS3で生成した近似モデルが上述の制約を満たさない近似不可点数を算出し、該近似不可点数が最小で最も良く近似されて最もデータが圧縮されたものを出力し、本処理を終了する。
 ここで、上述のステップS7における、X正方向に各軸データ(各軸誤差)一列分を拡張する手順について、図18及び図19に示す具体例を挙げてさらに詳しく説明する。図18は、X正方向に各軸データ(各軸誤差)一列分拡張する前の分割区間を示す図である。また、図19は、X正方向に各軸データ(各軸誤差)一列分拡張した後の分割区間を示す図である。図18及び図19では、分割区間毎に異なる番号を付して示している。
 図18に示されるように、先ず、各軸データ(各軸誤差)一列分拡張前の区間の、X正方向の端部に現れる、連続的区間として区間1~5を抽出する。
 次いで、抽出した区間1~5の各々について、各軸データ(各軸誤差)一列分拡張し、図19に示されるように拡張後区間1~5を生成する。
 次いで、拡張後区間1~5の各々について、上述の近似モデルが、上述の制約を満たすか否かを確認する。制約を満たす場合、拡張後の区間を新区間とする。図19に示す例では、拡張後区間1と4が制約を満たすため、新区間とする。
 制約を満たさない場合、拡張分の区間は未定区間とする。図19に示す例では、拡張後区間2が制約を満たさないため、未定区間としている。
 また、未定区間は、一定面積(例えば、2×2)以上になった場合、上述の近似モデルが、上述の制約を満たすか否かを確認する。図19に示す例では、拡張後区間3が一定面積(例えば、2×2)以上であるため、この判定を実施する。それまでは、拡張後の区間も未定区間とする。
 また、拡張前の区間がNG区間、即ち制約を満たさず近似できない区間である場合、拡張分の区間は、未定区間とする。図19に示す例では、拡張後区間5がそれに該当するため、未定区間とする。
 以上により、最後まで未定のままの区間が残ることがある。そのような区間は、最終的にNG区間、即ち制約を満たさず近似できない区間としてよい。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置3では、動的計画法を実行することにより最適な分割後軸依存データを生成する動的計画法処理部33を設けた。また、この動的計画法処理部33を、符号化後軸依存データの最適性を評価する最適性評価部34と、軸依存データを複数の部分に分割して部分的軸依存データを生成する部分分割部35と、部分的軸依存データの最適化結果を結合して最適な分割後軸依存データを生成する最適化結果結合部36により構成した。これにより本実施形態によれば、軸依存データを、最もデータ数を減らして圧縮できる最適な分割後軸依存データに分割できるため、各軸データ(各軸誤差)の一次結合とみなすことができる最適な複数の領域を生成させることができ、各領域について一次結合モデルのモデル近似符号化を実行することで、従来は圧縮が困難であった軸依存データをより圧縮することができる。
[第4実施形態]
 図20は、第4実施形態に係るデータ符号化装置4の構成を示す図である。図20に示されるように、第4実施形態に係るデータ符号化装置4は、モデル近似符号化部41が近似誤差算出部42を備える点において、第1実施形態のモデル近似符号化部11と相違する。また、第4実施形態に係るデータ符号化装置4は近似誤差符号化部43を備える点において、第1実施形態のデータ符号化装置1と相違する。これら相違点以外の構成については、第1実施形態と共通である。
 近似誤差算出部42は、近似誤差量を算出する。本実施形態の近似誤差算出部42は、モデル近似符号化部41に設けられており、軸依存データをモデル近似符号化する際にあわせて近似誤差量を算出する。この近似誤差量については、後段で詳述する。
 近似誤差符号化部43は、近似誤差量を符号化して符号化後近似誤差量を生成する。近似誤差算出部42で算出される近似誤差量は、後述するようにデータ上の値の出現頻度に偏りがあり、情報エントロピーが小さい場合が多いため、従来公知のエントロピー符号化により符号化してデータ圧縮することが可能である。あるいは、モデル近似符号化部41で実行される一次結合モデルのモデル近似符号化により符号化してデータ圧縮してもよい。
 以下、近似誤差量、及び近似誤差符号化部43による近似誤差量の符号化について、さらに詳しく説明する。
 上述の第1実施形態で説明したように、上記数式(5)で表される一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])で誤差量を表現した場合、近似誤差(ベクトルγ[X]・・・[X])は、下記数式(10)で表される。
Figure JPOXMLDOC01-appb-M000010
 数式(10)中、ベクトルE[X]・・・[X]は、モデル近似する前の元の誤差量であり、ベクトルEa[X]・・・[X]は、モデル近似後の誤差量である。この数式(10)から、これらの差分が近似誤差(ベクトルγ[X]・・・[X])であることが分かる。
 ここで、近似モデル(ベクトルEa[X]・・・[X])は最尤推定モデルであるため、近似誤差(ベクトルγ[X]・・・[X])は最小化されており、ごく小さい値ばかりになっている。ここで、図21は、近似誤差(ベクトルγ[X][Y])を示す図である。図21に示されるように、近似誤差(ベクトルγ[X][Y])は、小さい値ばかりが偏在したものであり、その値の頻度分布も偏在化している。そのため、近似誤差(ベクトルγ[X]・・・[X])を符号化することにより、データを圧縮することができる。
 近似誤差(ベクトルγ[X]・・・[X])を符号化するにあたっては、符号化の手法についてはとくに制限されない。例えば、上述の一次結合のモデル近似符号化により近似誤差(ベクトルγ[X]・・・[X])を符号化してもよく、従来公知のハフマン符号に代表されるエントロピー符号化により近似誤差(ベクトルγ[X]・・・[X])を符号化してもよい。
 近似モデル(ベクトルEa[X]・・・[X])単独では、元の誤差量(ベクトルE[X]・・・[X])と比べて、近似誤差(ベクトルγ[X]・・・[X])分異なり、また、近似誤差(ベクトルγ[X]・・・[X])は各軸データ点数分存在するためそのまま保持してはデータ圧縮にならないが、近似誤差(ベクトルγ[X]・・・[X])を符号化し、近似モデル(ベクトルEa[X]・・・[X])と合わせることで、元の誤差量(ベクトルE[X]・・・[X])を欠損なく圧縮して再現でき、かつ、総データサイズも減らすことができるようになる。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置4では、モデル近似符号化部41に、近似誤差量を算出する近似誤差算出部42を設けた。また、データ符号化装置4は、近似誤差量を符号化して符号化後近似誤差量を生成する近似誤差符号化部43をさらに備える構成とした。これにより本実施形態によれば、従来は圧縮が困難であった軸依存データを符号化して圧縮することができるうえ、近似誤差量を符号することで総データサイズをさらに減らしつつ、元の誤差量等の軸依存データを欠損なく再現することができる。
[第5実施形態]
 図22は、第5実施形態に係るデータ符号化装置5の構成を示す図である。図22に示されるように、第5実施形態に係るデータ符号化装置5は、所定トレランス以上の近似誤差除去部53をさらに備える点において、第4実施形態のデータ符号化装置4と相違する。また、近似誤差符号化部54が所定トレランス以内の近似誤差量を符号化する点において、第4実施形態の近似誤差符号化部43と相違する。これら相違点以外の構成については、第4実施形態と共通である。
 近似誤差除去部53は、近似誤差量から所定トレランスを超える近似誤差量を除去することにより、所定トレランス以内の近似誤差量を生成する。ここで、図23は、所定のトレランスより大きい例外点を含む近似誤差(ベクトルγ[X][Y])を示す図である。モデル近似符号化する前の元の誤差量と、モデル近似符号化後の誤差量と、の差分である近似誤差(ベクトルγ[X][Y])には、図23に示されるように、所定のトレランスより大きい例外点が含まれる場合がある。本実施形態では、この例外点を、近似誤差除去部53により除去する。
 また、図24は、近似誤差(ベクトルγ[X][Y])において所定トレランスより大きいため除外されて保持された例外点を示す図である。このように、近似誤差除去部53は、近似誤差量から除去した、近似誤差が所定トレランスより大きい例外点、即ち所定トレランスを超える近似誤差量を、別途、保持してもよい。これにより、元の誤差量等の軸依存データを欠損なく圧縮して再現できる。
 所定トレランスとしては、例えば近似誤差許容値や、近似誤差許容値を超えるデータの所定点数(許容点数)が挙げられる。この場合、近似誤差除去部53は、予め設定された近似誤差許容値を超える点や、該近似誤差許容値を超える点のうちの所定点数を、近似誤差(ベクトルγ[X][Y])から除外する。なお、所定トレランスとしては、0を含んでもよい。
 近似誤差符号化部54は、所定トレランス以内の近似誤差量を符号化して、符号化後近似誤差量を生成する。即ち、本実施形態の近似誤差符号化部54は、近似誤差(ベクトルγ[X]・・・[X])を符号化するにあたって、近似誤差が所定トレランスより大きい点を除外した上で、符号化を実行する。
 近似誤差量から所定トレランスより大きい点を除外した後の近似誤差、つまり所定トレランス以内の近似誤差量は、より値が偏り、情報エントロピーが小さくなることにより、符号化することでデータ圧縮効果がより高まる。また、例えば近似誤差量を、近似誤差が所定トレランスより大きい点のみ保持し、それ以外の近似誤差量は保持しないことで、符号化後のデータサイズをさらに減らすこともできる。かつ、その場合であっても、近似誤差全体がトレランス以内に収まることを保証することができる。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置5では、近似誤差量から所定トレランスを超える近似誤差量を除去することにより、所定トレランス以内の近似誤差量を生成する近似誤差除去部53をさらに設けた。また、近似誤差符号化部54は、所定トレランス以内の近似誤差量を符号化して符号化後近似誤差量を生成する構成とした。これにより本実施形態によれば、従来は圧縮が困難であった軸依存データを符号化して圧縮することができるうえ、所定トレランスを超える近似誤差量除去後の近似誤差量を符号化することで、欠損の許容量(所定トレランス、所定点数)の範囲内において欠損あり圧縮も実現可能であり、この場合には、欠損なし圧縮よりもデータサイズを削減可能である。
[第6実施形態]
 図25は、第6実施形態に係るデータ符号化装置6の構成を示す図である。図25に示されるように、本実施形態に係るデータ符号化装置6は、モデル近似符号化後データ符号化部62をさらに備える点において第1実施形態に係るデータ符号化装置1と相違する。この相違点以外は、第1実施形態と共通の構成である。
 モデル近似符号化後データ符号化部62は、モデル近似符号化後軸依存データを符号化する。つまり本実施形態では、モデル近似符号化後データ符号化部62により、軸依存データのモデル近似符号化後の再符号化を実行する。
 上述の第1実施形態で説明したように、数式(5)で表される一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])で誤差量を表現した場合、ベクトルEa [X]の各々に対して、符号化を実行することにより、さらにデータを圧縮することができる。このとき、ベクトルEa [X]は各軸の誤差を表しているため、上述の数式(5)で表される一次結合モデルとしての近似モデル(ベクトルEa[X]・・・[X])によるモデル近似ではなく、モデル近似符号化後データ符号化部62は従来公知のハフマン符号に代表されるエントロピー符号化による符号化を実行する。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置6では、符号化後軸依存データを符号化するモデル近似符号化後データ符号化部62をさらに設けた。これにより本実施形態によれば、モデル近似符号化後データ符号化部62により、符号化後軸依存データをさらに符号化するため、さらにデータサイズを削減することができる。
[第7実施形態]
 図26は、第7実施形態に係るデータ符号化装置7の構成を示す図である。図26に示されるように、本実施形態に係るデータ符号化装置7は、動的計画法の代わりに機械学習装置9による強化学習結果を取得する学習結果取得部を備え、該学習結果を利用して軸依存データを区間分割する点において、第3実施形態に係るデータ符号化装置3と相違する。この相違点以外の構成については、第3実施形態と共通である。
 機械学習装置9は、軸依存データの最適な分割処理について強化学習を実行する。本実施形態の機械学習装置9による強化学習では、エージェントとしての機械学習装置9が、環境の状態として産業機械の誤差量等の軸依存データを取得し、行動としてある分割後軸依存データを選択すると、該行動に基づいて環境が変化する。この環境の変化に伴って、分割後軸依存データをモデル近似符号化して得られる近似不可点数及び近似後データ量が判定データとして得られる。そして、得られた判定データに応じて何らかの報酬が与えられ、エージェントとしての機械学習装置9は、より良い行動の選択、即ち意思決定として最適な分割後軸依存データを学習する。エージェントとしての機械学習装置9は、将来にわたっての報酬の合計が最大化するような行動を選択するように学習する。
 強化学習としては、任意の学習方法を用いることができる。例えば、ある環境の状態sの下で、行動aを選択する価値Q(s,a)を学習する方法であるQ学習を用いることができる。Q学習では、ある状態sのとき、取り得る行動aの中から、価値Q(s,a)の最も高い行動aを最適な行動として選択する。しかしながら、Q学習を最初に開始する時点では、状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェントとしての機械学習装置9は、ある状態sの下で様々な行動aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい価値Q(s,a)を学習していく。
 また、将来にわたって得られる報酬の合計を最大化したいため、機械学習装置9は、最終的にQ(s,a)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。しかしながら、Q学習の過程において最適な行動が何であるのかは不明であるため、様々な行動を行うことにより探索しながら強化学習をする。このような価値Q(s,a)の更新式は、例えば、下記数式(11)のように表すことができる。
Figure JPOXMLDOC01-appb-M000011
 上記数式(11)において、sは、時刻tにおける環境の状態を表し、aは、時刻tにおける行動を表す。行動aにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、学習係数で、0<α≦1の範囲とする。
 上記数式(11)は、試行aの結果、返ってきた報酬rt+1を元に、状態sにおける行動aの価値Q(s,a)を更新する方法を表している。この更新式は、状態sにおける行動aの価値Q(s,a)よりも、行動aによる次の状態st+1における最良の行動の価値max Q(st+1,a)の方が大きければ、Q(s,a)を大きくし、逆に小さければ、Q(s,a)を小さくすることを示している。つまり、ある状態におけるある行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝播していく仕組みになっている。
 ここで、Q学習では、すべての状態行動ペア(s,a)についてのQ(s,a)のテーブルを作成して、学習を行う方法がある。しかしながら、すべての状態行動ペアのQ(s,a)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。
 そこで、公知のDQN(Deep Q-Network)と呼ばれる技術を利用するようにしてもよい。具体的には、価値関数Qを適当なニューラルネットワークを用いて構成し、ニューラルネットワークのパラメータを調整し、価値関数Qを適当なニューラルネットワークで近似することにより価値Q(s,a)の値を算出するようにしてもよい。DQNを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。なお、DQNについては、例えば非特許文献「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉に詳細な記載がある。
 従って、上述の強化学習を実行するために機械学習装置9は、図26に示されるように、状態観測部91と、判定データ取得部92と、学習部93と、意思決定部94と、を備える。また、学習部93は、報酬計算部95と、価値関数更新部96と、を備える。
 状態観測部91は、データ符号化装置7から状態データとして、軸依存データを取得する。また、状態観測部91は、取得した軸依存データを学習部93に出力する。
 判定データ取得部92は、データ符号化装置7から判定データとして、分割後軸依存データをモデル近似符号化して得られる近似不可点数及び近似後データ量を取得する。分割後軸依存データは、予め格納された所定の分割基準に従って、軸依存データを所定の指定区間に区間分割したものである。また、判定データ取得部92は、取得した近似不可点数及び近似後データ量を学習部93に出力する。
 学習部93の報酬計算部95は、取得した軸依存データと、近似不可点数及び近似後データ量に基づいて、報酬を算出する。具体的に報酬計算部95は、近似不可点数が減少した場合には報酬を増加する一方で、近似不可点数が増加した場合には進んで報酬を減少する。また、報酬計算部95は、近似後データ量が減少した場合には報酬を増加する一方で、近似後データ量が増加した場合には報酬を減少する。
 学習部93の価値関数更新部96は、状態データとしての軸依存データと、判定データとしての分割後軸依存データをモデル近似符号化して得られる近似不可点数及び近似後データ量と、報酬の値と、に基づいて、上述のQ学習を行うことにより、記憶していた価値関数を更新する。なお、価値関数更新部96が記憶する価値関数は、例えば互いに通信可能に接続された複数機械学習装置で共有することができる。
 意思決定部94は、価値関数更新部96から更新した価値関数を取得する。また、意思決定部94は、取得した価値関数に基づいて最適な分割後軸依存データを行動出力としてデータ符号化装置7に出力する。
 図27は、機械学習装置9による学習処理の手順を示すフローチャートである。
 ステップS21では、先ず、機械学習装置9からデータ符号化装置7に向けて、行動出力として分割後軸依存データを出力する。本ステップで出力される分割後軸依存データは、予め格納された所定の分割基準に従って、軸依存データを所定の指定区間に区間分割したものである。データ符号化装置7は、この分割後軸依存データに対してモデル近似符号化を実行することにより、近似不可点数及び近似後データ量を生成する。その後、ステップS22に進む。
 ステップS22では、機械学習装置9がデータ符号化装置7から状態データとして軸依存データを取得する。その後、ステップS23に進む。
 ステップS23では、機械学習装置9がデータ符号化装置7から判定データとして、ステップS21で生成された、分割後軸依存データのモデル近似符号化後の近似不可点数及び近似後データ量を取得する。その後、ステップS24に進む。
 ステップS24では、判定条件1として、データ符号化装置7により分割後軸依存データに対してモデル近似符号化を実行したときの近似不可点数が減少したか否かを判別する。この判別がYESであれば、ステップS25に進んで報酬を増加する。一方、この判別がNOであれば、ステップS26に進んで報酬を減少する。その後、ステップS27に進む。
 ステップS27では、判定条件2として、データ符号化装置7により分割後軸依存データに対してモデル近似符号化を実行したときのモデル近似符号化後のデータ量が減少しているか否かを判別する。この判別がYESであれば、ステップS28に進んで報酬を増加する。一方、この判別がNOであれば、ステップS29に進んで報酬を減少する。その後、ステップS30に進む。
 ステップS30では、価値関数更新部96に記憶されている価値関数を更新する。具体的には価値関数更新部96が、状態データとしての軸依存データと、判定データとしての分割後軸依存データをモデル近似符号化して得られる近似不可点数及び近似後データ量と、報酬の値と、に基づいて、上述のQ学習を行うことにより、記憶していた価値関数を更新する。その後、ステップS31に進む。
 ステップS31では、本学習処理を継続するか否かを判別する。この判別がYESであれば、ステップS21に戻る。一方、この判別がNOであれば、本処理を終了する。
 本実施形態によれば、以下の効果が奏される。
 本実施形態に係るデータ符号化装置7では、軸依存データ分割部を、機械学習装置9による強化学習結果に基づいて最適な分割後軸依存データを生成する構成とした。これにより本実施形態によれば、機械学習装置9による強化学習により、軸依存データを最もデータ数を減らして圧縮できる最適な分割後軸依存データに分割できるため、各軸データ(各軸誤差)の一次結合とみなすことができる最適な複数の領域を生成させることができ、各領域について一次結合モデルのモデル近似符号化を実行することで、従来は圧縮が困難であった軸依存データをより圧縮することができる。
 以上説明した上記の各実施形態では、各データ符号化装置に各処理を実行させるためのデータ符号化プログラムを提供することもできる。即ち、第1のデータ符号化プログラムとして、産業機械の各軸の座標値に依存する軸依存データの一部と、軸依存データを産業機械の各軸データの一次結合として近似する一次結合モデルと、に基づいて、軸依存データを符号化した符号化後軸依存データを生成させるモデル近似符号化ステップをコンピュータに実行させるためのデータ符号化プログラムを提供することができる。
 また第1のデータ符号化プログラムにおいて、軸依存データを分割して複数の分割後軸依存データを生成する軸依存データ分割ステップをさらに備え、モデル近似符号化ステップにより、複数の分割後軸依存データと一次結合モデルとに基づいて符号化後軸依存データを生成させる第2のデータ符号化プログラムを提供することができる。
 また第2のデータ符号化プログラムにおいて、動的計画法を実行することにより最適な分割後軸依存データを生成する動的計画法処理ステップを備え、符号化後軸依存データの最適性を評価する最適性評価ステップと、軸依存データを複数の部分に分割して部分的軸依存データを生成する部分分割ステップと、部分的軸依存データを拡張して結合することにより最適な分割後軸依存データを生成する最適化結果結合ステップと、をコンピュータに実行させるための第3のデータ符号化プログラムを提供することができる。
 また第2のデータ符号化プログラムにおいて、機械学習装置による強化学習結果に基づいて最適な分割後軸依存データを生成するステップをコンピュータに実行させるための第4のデータ符号化プログラムを提供することができる。
 また第1~第4のデータ符号化プログラムにおいて、近似誤差量を算出する近似誤差算出ステップと、近似誤差量を符号化して符号化後近似誤差量を生成するステップと、をコンピュータに実行させるための第5のデータ符号化プログラムを提供することができる。
 また第5のデータ符号化プログラムにおいて、近似誤差量から所定トレランスを超える近似誤差量を除去することにより、所定トレランス以内の近似誤差量を生成するステップと、所定トレランス以内の近似誤差量を符号化して符号化後近似誤差量を生成するステップと、をコンピュータに実行させるための第6のデータ符号化プログラムを提供することができる。
 また第1~第6のデータ符号化プログラムにおいて、符号化後軸依存データを符号化するステップをコンピュータに実行させるための第7のデータ符号化プログラムを提供することができる。
 なお、本開示は上記の各実施形態に限定されるものではなく、本開示の目的を達成できる範囲での変形、改良は本開示に含まれる。
 上記第4実施形態では、モデル近似符号化部41が近似誤差算出部42を備える構成としたが、例えば、データ符号化装置4により符号化されたモデル近似符号化後軸依存データをデータ復号化装置により複合化し、復号化された軸依存データと元の軸依存データとの差分により、近似誤差量を算出する構成としてもよい。
 上記第4実施形態では、近似誤差算出部42を備える構成を第1実施形態に適用したが、これに制限されず、第2実施形態や第3実施形態にも適用することができる。また、上記第6実施形態では、モデル近似符号化後データ符号化部62を備える構成を第1実施形態に適用したが、これに制限されず、他の実施形態にも適用することができる。このように、上記の各実施形態は、互いに機能を阻害しない限り、適宜組み合わせることが可能である。
 上記第7実施形態では、データ符号化装置7とは別に、機械学習装置9を設けたが、これに制限されず、データ符号化装置7の内部に機械学習装置を設けてもよい。
 1,2,3,4,5,6,7 データ符号化装置
 9 機械学習装置
 11,21,31,41,51,61 モデル近似符号化部
 22,32 軸依存データ分割部
 33 動的計画法処理部
 34 モデル近似符号化後の最適性評価部(最適性評価部)
 35 軸依存データの部分分割部(部分分割部)
 36 部分的軸依存データの最適化結果結合部(最適化結果結合部)
 42 近似誤差算出部
 43 近似誤差符号化部
 52 近似誤差算出部
 53 所定トレランスを超える近似誤差除去部(近似誤差除去部)
 54 近似誤差符号化部
 62 モデル近似符号化後データ符号化部(符号化後データ符号化部)

Claims (8)

  1.  データを符号化するデータ符号化装置であって、
     産業機械の各軸の座標値に依存する軸依存データの一部と、前記軸依存データを前記産業機械の各軸データの一次結合として近似する一次結合モデルと、に基づいて、前記軸依存データを符号化した符号化後軸依存データを生成するモデル近似符号化部を備える、データ符号化装置。
  2.  前記軸依存データを分割して複数の分割後軸依存データを生成する軸依存データ分割部をさらに備え、
     前記モデル近似符号化部は、前記複数の分割後軸依存データと、前記一次結合モデルと、に基づいて、前記符号化後軸依存データを生成する、請求項1に記載のデータ符号化装置。
  3.  前記軸依存データ分割部は、動的計画法を実行することにより最適な前記分割後軸依存データを生成する動的計画法処理部を備え、
     前記動的計画法処理部は、
     前記符号化後軸依存データの最適性を評価する最適性評価部と、
     前記軸依存データを複数の部分に分割して部分的軸依存データを生成する部分分割部と、
     前記部分的軸依存データを拡張して結合することにより最適な前記分割後軸依存データを生成する最適化結果結合部と、を備える、請求項2に記載のデータ符号化装置。
  4.  前記軸依存データ分割部は、機械学習装置による強化学習結果に基づいて最適な前記分割後軸依存データを生成する、請求項2に記載のデータ符号化装置。
  5.  前記モデル近似符号化部は、近似誤差量を算出する近似誤差算出部を備え、
     前記データ符号化装置は、前記近似誤差量を符号化して符号化後近似誤差量を生成する近似誤差符号化部をさらに備える、請求項1から4いずれかに記載のデータ符号化装置。
  6.  前記データ符号化装置は、前記近似誤差量から前記所定トレランスを超える近似誤差量を除去することにより、前記所定トレランス以内の近似誤差量を生成する近似誤差除去部をさらに備え、
     前記近似誤差符号化部は、前記所定トレランス以内の近似誤差量を符号化して前記符号化後近似誤差量を生成する、請求項5に記載のデータ符号化装置。
  7.  前記データ符号化装置は、前記符号化後軸依存データを符号化する符号化後データ符号化部をさらに備える、請求項1から6いずれかに記載のデータ符号化装置。
  8.  データを符号化するデータ符号化プログラムであって、
     産業機械の各軸の座標値に依存する軸依存データの一部と、前記軸依存データを前記産業機械の各軸データの一次結合として近似する一次結合モデルと、に基づいて、前記軸依存データを符号化した符号化後軸依存データを生成させるステップをコンピュータに実行させるためのデータ符号化プログラム。
PCT/JP2022/025415 2022-06-24 2022-06-24 データ符号化装置及びデータ符号化プログラム Ceased WO2023248481A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202280097156.9A CN119404159A (zh) 2022-06-24 2022-06-24 数据编码装置以及数据编码程序
PCT/JP2022/025415 WO2023248481A1 (ja) 2022-06-24 2022-06-24 データ符号化装置及びデータ符号化プログラム
JP2024528258A JP7807543B2 (ja) 2022-06-24 2022-06-24 データ符号化装置及びデータ符号化プログラム
DE112022007089.7T DE112022007089T5 (de) 2022-06-24 2022-06-24 Datencodiervorrichtung und Datencodierprogramm
US18/872,020 US20250355417A1 (en) 2022-06-24 2022-06-24 Data encoding device and non-transitory computer-readable medium storing a data encoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025415 WO2023248481A1 (ja) 2022-06-24 2022-06-24 データ符号化装置及びデータ符号化プログラム

Publications (1)

Publication Number Publication Date
WO2023248481A1 true WO2023248481A1 (ja) 2023-12-28

Family

ID=89379361

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/025415 Ceased WO2023248481A1 (ja) 2022-06-24 2022-06-24 データ符号化装置及びデータ符号化プログラム

Country Status (5)

Country Link
US (1) US20250355417A1 (ja)
JP (1) JP7807543B2 (ja)
CN (1) CN119404159A (ja)
DE (1) DE112022007089T5 (ja)
WO (1) WO2023248481A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118838292A (zh) * 2024-09-20 2024-10-25 武汉优力克自动化系统工程股份有限公司 一种汽车生产线数据管理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08339216A (ja) * 1995-06-09 1996-12-24 Mitsubishi Electric Corp コンピュータ制御型数値制御装置のパラメータ設定方法およびコンピュータ制御型数値制御装置
JP2000099123A (ja) * 1998-09-22 2000-04-07 Matsushita Electric Ind Co Ltd 産業用ロボット
JP2011209897A (ja) * 2010-03-29 2011-10-20 Fanuc Ltd 5軸加工機を制御する数値制御装置
JP2014113674A (ja) * 2012-12-12 2014-06-26 Hirokiko Co Ltd 補正プログラム及びその記憶媒体
CN112558547A (zh) * 2021-02-19 2021-03-26 成都飞机工业(集团)有限责任公司 一种五轴数控机床平动轴几何误差补偿数据快速优化方法
JP2021092954A (ja) * 2019-12-10 2021-06-17 ファナック株式会社 ワークモデルの修正量を学習する機械学習装置、制御装置、加工システム、及び機械学習方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08339216A (ja) * 1995-06-09 1996-12-24 Mitsubishi Electric Corp コンピュータ制御型数値制御装置のパラメータ設定方法およびコンピュータ制御型数値制御装置
JP2000099123A (ja) * 1998-09-22 2000-04-07 Matsushita Electric Ind Co Ltd 産業用ロボット
JP2011209897A (ja) * 2010-03-29 2011-10-20 Fanuc Ltd 5軸加工機を制御する数値制御装置
JP2014113674A (ja) * 2012-12-12 2014-06-26 Hirokiko Co Ltd 補正プログラム及びその記憶媒体
JP2021092954A (ja) * 2019-12-10 2021-06-17 ファナック株式会社 ワークモデルの修正量を学習する機械学習装置、制御装置、加工システム、及び機械学習方法
CN112558547A (zh) * 2021-02-19 2021-03-26 成都飞机工业(集团)有限责任公司 一种五轴数控机床平动轴几何误差补偿数据快速优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MNIH VOLODYMYR; KAVUKCUOGLU KORAY; SILVER DAVID; RUSU ANDREI A.; VENESS JOEL; BELLEMARE MARC G.; GRAVES ALEX; RIEDMILLER MARTIN; F: "Human-level control through deep reinforcement learning", NATURE, vol. 518, no. 7540, 25 February 2015 (2015-02-25), pages 529 - 533, XP037437579, DOI: 10.1038/nature14236 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118838292A (zh) * 2024-09-20 2024-10-25 武汉优力克自动化系统工程股份有限公司 一种汽车生产线数据管理方法及系统

Also Published As

Publication number Publication date
DE112022007089T5 (de) 2025-05-28
CN119404159A (zh) 2025-02-07
JP7807543B2 (ja) 2026-01-27
JPWO2023248481A1 (ja) 2023-12-28
US20250355417A1 (en) 2025-11-20

Similar Documents

Publication Publication Date Title
CN101925925A (zh) 基于预测的图像处理
CN116414094B (zh) 一种焊接装配智能调度方法及系统
JP4210056B2 (ja) 工具経路の作成装置及び方法
US20230088537A1 (en) Generative design shape optimization based on a target part reliability for computer aided design and manufacturing
JP6569497B2 (ja) 予測装置、方法及びプログラム
WO2009017583A1 (en) Product developing method and system
CN106157339A (zh) 基于低秩顶点轨迹子空间提取的动画网格序列压缩算法
WO2022063542A1 (en) Method and system for providing recommendations concerning a configuration process
WO2023248481A1 (ja) データ符号化装置及びデータ符号化プログラム
Renaud et al. Sequential global approximation in non-hierarchic system decomposition and optimization
US20250308167A1 (en) Mesh refinement
EP0822516B1 (en) Shape data compression method and apparatus
Jolgaf et al. Development of a CAD/CAM system for the closed-die forging process
JP7807544B2 (ja) データ復号化装置、誤差補正システム及びデータ復号化プログラム
JP7410365B2 (ja) 部材配置システム及び部材配置プログラム
CN112958313A (zh) 使用距离矩阵加权特征的智能区域补偿喷漆参数控制方法
WO2023248483A1 (ja) 近似誤差検出装置及び近似誤差検出プログラム
CN120802832A (zh) 基于区域划分热图像的机床主轴热误差预测方法及系统
CN119537955A (zh) 海工胶凝材料的耐久性评估方法、模型的训练方法及装置
JP4546755B2 (ja) 解析モデルの作成支援装置
CN116802573B (zh) 加工程序修正装置、加工程序修正方法及加工系统
CN117010666A (zh) 一种汽修工具生产工作站智能管理方法及系统
JP2022045615A (ja) 演算装置及び演算方法
US20250308051A1 (en) System and method for vision measurement of object information based on deep learning
CN118780011B (zh) 一种变收缩率塑料螺旋伞齿的参数确定方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22948040

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18872020

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2024528258

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202280097156.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112022007089

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 202280097156.9

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 112022007089

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22948040

Country of ref document: EP

Kind code of ref document: A1

WWP Wipo information: published in national office

Ref document number: 18872020

Country of ref document: US