WO2021029036A1 - 機械学習装置、データ処理システム及び機械学習方法 - Google Patents

機械学習装置、データ処理システム及び機械学習方法 Download PDF

Info

Publication number
WO2021029036A1
WO2021029036A1 PCT/JP2019/031945 JP2019031945W WO2021029036A1 WO 2021029036 A1 WO2021029036 A1 WO 2021029036A1 JP 2019031945 W JP2019031945 W JP 2019031945W WO 2021029036 A1 WO2021029036 A1 WO 2021029036A1
Authority
WO
WIPO (PCT)
Prior art keywords
machining
data
learning
work
post
Prior art date
Application number
PCT/JP2019/031945
Other languages
English (en)
French (fr)
Inventor
直仁 深沢
啓志 坂口
慶子 平中
鈴木 拓也
リセラン コランタン
ベガ ヒューゴ ビジャヌア
Original Assignee
駿河精機株式会社
株式会社クロスコンパス
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 駿河精機株式会社, 株式会社クロスコンパス filed Critical 駿河精機株式会社
Priority to PCT/JP2019/031945 priority Critical patent/WO2021029036A1/ja
Publication of WO2021029036A1 publication Critical patent/WO2021029036A1/ja

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/00Programme-control systems
    • G05B19/02Programme-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 programme data in numerical form
    • G05B19/4093Numerical 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 programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-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 programme data in numerical form
    • G05B19/4155Numerical 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 programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Definitions

  • the present invention provides a machine learning device and a machine learning method for obtaining a trained model for inferring a machining type and a tool to be used from pre-machining work data and post-machining work data, and data processing using this trained model. It's about the system.
  • NC Genetic Control
  • CAD / CAM systems have become widespread in order to simplify the process from component design to actual machining. ing.
  • the operator machining engineer
  • the operator machining engineer
  • the type of machining required for the unprocessed work made of block material or the like Specify the machining order, tools to be used, etc., and design a series of processes composed of such information.
  • an NC code for operating the NC machine tool is generated based on the machining profile consisting of the designed process and the accompanying setting information (specifically, tool path, tool machining start position information, etc.). Is common.
  • Patent Document 1 provides information on the work before machining and machining in order to support the process design by the operator. It describes what automatically identifies the tool to be used from the information of the later work, the material information of the work, and the information of the machining stage.
  • Patent Document 1 Although there are already some technologies that can partially support the process design by the operator as described in Patent Document 1, in this technical field, there is an area in which a computer can substitute the judgment based on the operator's experience. The demand for greater expansion remains high.
  • an object of the present invention is to provide a machine learning device, a data processing system, and a machine learning method for automating at least a part of process design based on the shape data of a work.
  • the machine learning device 10 is, for example, as shown in FIG. 1, before machining using a machine tool MC (see, for example, FIG. 4).
  • a first learning data set storage unit 12 that stores a plurality of sets of learning data sets including the type data of machining using the machine tool and the tool data used for machining using the machine tool MC; the learning data set.
  • a learning model that infers the type of machining using the machine tool MC and the tool used for the machining to obtain the post-machining work from the pre-machining work data and the post-machining work data. It includes a first learning unit 13 to learn; and a first trained model storage unit 14 that stores the learning model learned by the first learning unit 12.
  • the pre-machining work data and the post-machining work data are composed of point group data. ..
  • point cloud data which is an intermediate format of three-dimensional CAD data, so that the pre-machining work data and post-machining work data created by the designer or the like can be obtained.
  • three-dimensional CAD data can be easily used for machine learning.
  • the machine learning device is the machine learning device according to the first or second aspect of the present invention, and the learning model is a type of machining and a tool used for the machining, respectively. Infer one by one.
  • the machine learning device uses three-dimensional pre-machining work data showing the shape of the pre-machining work before machining using the machining machine MC and the machining machine MC.
  • a second learning data set storage unit 11A that stores a plurality of sets of learning data sets including tool data used for machining using a machine tool MC; by inputting a plurality of sets of learning data sets.
  • the post-machining work data From the pre-machining work data, the post-machining work data, and the additional information, learn a learning model that infers the type of machining using the machine tool MC and the tool used for the machining to obtain the post-machining work.
  • learn a learning model that infers the type of machining using the machine tool MC and the tool used for the machining to obtain the post-machining work.
  • a learning unit 12A and a second learned model storage unit 13A that stores the learning model learned by the second learning unit 12A;
  • the machine learning device is the machine learning device according to the fourth aspect of the present invention, and the additional information includes fine machining information, tolerance information in machining using the machine tool, and the like. Includes at least one piece material information and special processing information.
  • the type of machining output by the trained model and the tools used for that machining are based on the additional information.
  • the tolerance information or the material information of the work is included as the additional information, the tool output by the trained model can be based on the additional information.
  • the data processing system is a three-dimensional pre-machining work showing the shape of the pre-machining work before machining using the machine tool MC, for example, as shown in FIG.
  • the first data acquisition unit (I / F unit) 21 for acquiring data and three-dimensional post-machined work data showing the shape of the post-machined work after machining using the machine tool MC
  • Machine tool MC for obtaining post-machining work by inputting pre-machining work data and post-machining work data acquired by the first data acquisition unit 21 into the trained model generated by the machine learning device 10.
  • the data processing system is a three-dimensional pre-machining work that shows the shape of the pre-machining work before machining using the machine tool MC, for example, as shown in FIG.
  • the machine learning method according to the eighth aspect of the present invention is, for example, as shown in FIG. 3, a machine learning method using a computer: a pre-machining work before machining using a machine tool MC.
  • the three-dimensional pre-machining work data showing the shape of the work, the three-dimensional post-machining work data showing the shape of the post-machining work after machining using the machine machine MC, and the machine learning MC were used.
  • the machine learning method according to the ninth aspect of the present invention is, for example, as shown in FIG. 7, a machine learning method using a computer: a pre-machining work before machining using a machine tool MC.
  • the three-dimensional pre-machining work data showing the shape of the work, the three-dimensional post-machining work data showing the shape of the post-machining work after machining using the machine machine MC, and the machine learning MC were used.
  • the type of machining using the machine machine MC and the tools used for the machining can be obtained from the pre-machining work data, the post-machining work data, and the additional information. It includes step S34 for learning the inferred learning model; and step S36 for storing the learned learning model.
  • a machine learning device capable of generating a possible trained model, a machine learning method, and a data processing system using the trained model are provided.
  • the optimum machining type and the tool used for the machining can be automatically specified by a computer.
  • FIG. 1 is a schematic block diagram of a machine learning device according to the first embodiment of the present invention.
  • FIG. 2 is a conceptual diagram showing an example of a neural network model for supervised learning implemented in the machine learning device according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing a machine learning method according to the first embodiment of the present invention.
  • FIG. 4 is a schematic explanatory view showing a network system including a server device as a data processing system according to the first embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to the first embodiment of the present invention.
  • FIG. 1 is a schematic block diagram of a machine learning device according to the first embodiment of the present invention.
  • FIG. 2 is a conceptual diagram showing an example of a neural network model for supervised learning implemented in the machine learning device according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing a machine learning
  • FIG. 6 is a flowchart showing the operation of the CAD / CAM system according to the first embodiment of the present invention.
  • FIG. 7 is a flowchart showing a machine learning method according to the second embodiment of the present invention.
  • FIG. 8 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to the second embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to a third embodiment of the present invention.
  • FIG. 10 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to a fourth embodiment of the present invention.
  • FIG. 10 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to a fourth embodiment of the present invention.
  • FIG. 11 is a schematic block diagram of a server device as a data processing system according to a fifth embodiment of the present invention.
  • FIG. 12 is a flowchart showing a machine learning method for obtaining a first trained model according to a fifth embodiment of the present invention.
  • FIG. 13 is a flowchart showing a series of processing processes executed in the server device according to the fifth embodiment of the present invention.
  • FIG. 14 is an explanatory diagram schematically showing various data generated in the server device according to the fifth embodiment of the present invention.
  • An object of the present invention is to automatically perform a part of the process design performed by the operator described above, particularly a work of specifying a type of machining required to obtain a workpiece after machining and a tool used for the machining. It is a thing. Therefore, as the first embodiment of the present invention, first, among the process information designed by the CAD / CAM system, particularly from the three-dimensional shape data of the work before and after machining, the type and use of the machining. A machine learning device and a machine learning method for obtaining an inference model capable of specifying a tool to be used, and a data processing system using this inference model will be described.
  • FIG. 1 is a schematic block diagram of a machine learning device according to the first embodiment of the present invention.
  • the machine learning device 10 includes a learning data set acquisition unit 11, a learning data set storage unit (first learning data set storage unit) 12, and a learning unit.
  • a (first learning unit) 13 and a learned model storage unit (first learned model storage unit) 14 are provided.
  • the learning data set acquisition unit 11 comprises a plurality of learning (training) data sets transmitted or input by one or more terminal devices PC1 and PC2 composed of, for example, computers connected via a network NW. It is an interface unit that acquires data.
  • the data acquired by the learning data set acquisition unit 11 according to the present embodiment is composed of four types of data. That is, it is composed of three-dimensional shape data (specifically, three-dimensional (3D) CAD data), and is a block material or a blank prepared in advance after a predetermined (for example, simple) processing is applied to the block material.
  • Pre-machining work data representing the material post-machining work data representing the work after machining the pre-machining work, which is also composed of three-dimensional shape data, and the type of machining performed to obtain this post-machining work. It is composed of data and tool data used for machining that was also performed to obtain this post-machining work.
  • only one type of machining is performed to obtain the post-machining work from the pre-machining work.
  • the pre-machining work data, the post-machining work data, the machining type data, and the tool data acquired by the learning data set acquisition unit 11 are one learning data in advance or after the learning data set acquisition unit 11 acquires the data. Associated with each other as a set. These data are transmitted from the designer's terminal device PC1 via a predetermined application or the like for pre-machining work data and post-machining work data, and for machining type data and tool data, the designer's terminal device. It can be created by the operator of the CAD / CAM system based on the data transmitted by the PC 1 and transmitted from the terminal device PC 2 of this operator.
  • the method of acquiring these four types of data is not limited to the above method, and for example, all four types of data are transmitted from a single terminal device, or a data server separately provided for collecting data, etc.
  • Various changes are possible, such as obtaining via.
  • the network NW in the present embodiment includes not only an Internet line but also an intranet line, a simple communication cable for directly connecting to a terminal device, and wireless communication.
  • the pre-machining work data and the post-machining work data are composed of three-dimensional shape data.
  • 3D-CAD data which is well known as 3D shape data
  • 3D shape data has become the mainstream data format in recent years in the field of mechanical design in place of 2D (2D) -CAD data, and while it is easy to collect data, 3D -Because there are multiple types of CAD data and the amount of data is large, care must be taken when applying it to machine learning.
  • the present inventors have studied a method of applying 3D-CAD data composed of various data formats to machine learning, and these 3D-CAD data are also three-dimensional shape data and 3D-CAD.
  • point group data for example, STL (Statard Triangled Language) format
  • STL Standard Triangled Language
  • the information of each point constituting this point group data is converted into a neural device described later.
  • a data conversion unit (not shown) may be adopted in the machine learning device 10 for sequential conversion, or data transmission.
  • a rule may be set in advance so that the person can unify.
  • the point cloud data is an intermediate format of 3D-CAD data, and is data in which points represented by Cartesian coordinates (XYZ coordinates) that can specify a three-dimensional shape using the data are collected.
  • the state variables pre-machining work data and post-machining work data in the present embodiment
  • the input data are the most important factors that determine the accuracy of the generated trained model. If the combination of information acquired as a state variable is different, the trained model generated will naturally be different, so that combination is also an extremely important factor.
  • the machining type data is the type of machining (performed by the machining center MC), for example, “drilling", “counterbore”, “flat cutting”, “grooving”, “turning", “tapping”, “tapping”, " It is data composed of information indicating a processing method such as "grinding”.
  • This data may be composed only of information indicating a processing method, but it is more preferable that the data is in a format including detailed information related to processing such as its specific dimensions and processing shape.
  • the data format of this data is not particularly limited, and any format may be used as long as the type of processing can be specified (for example, a text format).
  • the tool data includes tools, specifically tools such as “drill”, “flat milling cutter”, “front milling cutter (face mill)”, “end mill”, “boring”, “reamer”, “tap”, and “grinding cutter”.
  • It is data composed of information indicating the name of.
  • This data may be composed only of the name of the tool, but it is more preferable that the data is in a format including information such as specific dimensions thereof.
  • the type of machining is "drilling”
  • a drill for forming a pilot hole and a reamer for adjusting the hole diameter are combined. There may be cases where this is done.
  • the number of tools corresponding to the type of machining is not limited to one, and may be two or more. Further, in this data as well, the data format thereof is not particularly limited as in the processing type data, and the same data format as the processing type data can be adopted.
  • the learning data set storage unit 12 is a database for storing pre-machining work data, post-machining work data, machining type data, and tool data acquired by the learning data set acquisition unit 11 in units of learning data sets. is there.
  • the learning data set storage unit 12 is described as a storage means different from the learned model storage unit 14 described later, but these are configured by a single storage medium (database). You may be.
  • the learning unit 13 executes machine learning using a plurality of learning data sets stored in the learning data set storage unit 12 and generates a trained model.
  • supervised learning using a neural network is adopted as a specific method of machine learning.
  • the specific method of machine learning is not limited to this, and other learning methods may be adopted as long as the correlation between input and output can be learned from the training data set. It is possible. For example, ensemble learning (random forest, boosting, etc.) can also be used.
  • FIG. 2 is a diagram showing an example of a neural network model for supervised learning implemented in the machine learning device according to the first embodiment of the present invention.
  • the neural network in the neural network model shown in FIG. 2 includes l neurons (x1 to xl) in the input layer, m neurons (y11 to y1 m) in the first intermediate layer, and n neurons in the second intermediate layer. It is composed of two neurons (z1, z2) in the output layer and two neurons (y21 to y2n).
  • the first intermediate layer and the second intermediate layer are also called hidden layers, and the neural network may have a plurality of hidden layers in addition to the first intermediate layer and the second intermediate layer. Alternatively, only the first intermediate layer may be used as the hidden layer.
  • nodes connecting the neurons between the layers are stretched between the input layer and the first intermediate layer, between the first intermediate layer and the second intermediate layer, and between the second intermediate layer and the output layer.
  • a weight wi (i is a natural number) is associated with each node.
  • the neural network in the neural network model learns the correlation between the pre-machining work data and the post-machining work data, and the machining type data and the tool data, using the learning data set.
  • the neurons in the input layer are associated with each of the pre-processed work data and the post-processed work data as state variables, and the values of the neurons in the output layer are calculated by the calculation method of the output value of a general neural network. That is, the value of the output side neuron is multiplied by the value of the input side neuron connected to the neuron and the weight wi associated with the node connecting the output side neuron and the input side neuron.
  • the format in which the information acquired as the state variable is input can be appropriately set in consideration of the accuracy of the generated trained model and the like. ..
  • information about each point composed of Cartesian coordinates constituting the point cloud data should be input to the input layer. Can be done.
  • the calculated values of the two neurons z1 and z2 in the output layer that is, in the present embodiment, the machining type data and the tool data, and the machining type that constitutes a part of the learning data set.
  • the error is obtained by comparing the teacher data t1 and t2 consisting of data and tool data, respectively, and the weight wi associated with each node is adjusted so that the obtained error becomes small (back provacation). Is repeated.
  • the learning is terminated and the neural network model (of the neural network model) All the weights wi) associated with each of the nodes are stored in the trained model storage unit 14 as a trained model.
  • the trained model storage unit 14 is a database for storing the trained model generated by the learning unit 13.
  • the trained model stored in the trained model storage unit 14 is applied to the actual system via a communication means such as the Internet or a storage medium, if requested.
  • the specific application mode of the trained model to the actual system (data processing system) will be described in detail later.
  • the learning data set stored in the learning data set storage unit 12 is generated based on the data acquired by the learning data set acquisition unit 11 as described above.
  • the data acquired by the learning data set acquisition unit 11 does not necessarily cover various machining contents (machining types and tools thereof) evenly.
  • the trained model generated by the learning unit 13 can accurately infer the output related to machining with many machining records, but infer the output related to machining with few machining records. The accuracy will be relatively low.
  • the processing type data and the tool data appear relatively infrequently. It is preferable to perform data augmentation on the data.
  • data augmentation for example, after identifying a training data set in which the occurrence frequency of the processing type data and tool data is relatively low, the pre-processing work of the specified training data set is performed.
  • Adopt a method of substantially increasing the training data set by reconstructing the point group data that composes the data and the processed work data (that is, respecifying the point group information that is randomly specified). Can be done.
  • FIG. 3 is a flowchart showing a machine learning method according to the first embodiment of the present invention.
  • This machine learning method is realized by using a computer, but various computers can be applied.
  • a computer constituting a CAD / CAM system, a server device arranged on a network, or the like.
  • a computer for example, an arithmetic unit composed of at least a CPU or the like, a storage device composed of a volatile or non-volatile memory or the like, a communication device for communicating with a network or other devices, and the like. Those including a bus connecting each of these devices can be adopted.
  • the machine learning method shown below can be carried out mainly in the learning unit 13 of the machine learning device 10 described above.
  • This training data set is composed of pre-machining work data, post-machining work data, machining type data, and tool data associated with each other, and each training data set has different contents of the constituent data. is there. It is preferable to prepare as many training data sets as possible here in consideration of the inference accuracy of the trained model obtained after the training process. Then, the plurality of learning data sets prepared here may be stored in a predetermined storage medium.
  • a pre-learning model having weights of initial values is prepared (step S11).
  • one learning data set is selected from the plurality of learning data sets stored in the learning data set storage unit 12 (step S12).
  • the output layer is output (see FIG. 2). )
  • the machining type data and the tool data are output (step S13).
  • step S14 machine learning is performed using the control information constituting the teacher data acquired in step S12 and the control information constituting the output layer generated in step S13 (step S14).
  • the machine learning performed here is, for example, to compare the control information constituting the teacher data and the control information constituting the output layer, detect an error between the two, and obtain an output layer in which this error becomes small. , Refers to adjusting the weight associated with each node in the pre-learning model (backpropagation).
  • step S14 When machine learning is performed in step S14, whether or not it is necessary to continue machine learning is determined based on, for example, the remaining number of unlearned learning data sets stored in the learning data set storage unit 12. (Step S15). Then, when the machine learning is continued (No in step S15), the process returns to step S12, and when the machine learning is finished (Yes in step S15), the process proceeds to step S16.
  • the steps S12 to S14 are carried out a plurality of times using a learning data set that has not been learned yet, and usually, in proportion to the number of times, finally The trained model generated is more accurate.
  • the neural network generated by adjusting the weights associated with each node by a series of steps is stored in the trained model storage unit 14 as a trained model (step S16), and a series of trains. End the learning process of.
  • the trained model stored here is applied to and used in various data processing systems, and the details thereof will be described later.
  • one neural network in order to generate one trained model, one neural network (pre-learning model) is repeatedly executed a plurality of times of machine learning processing.
  • a plurality of trained models that have undergone machine learning a predetermined number of times are stored as one candidate in a plurality of trained model storage units 14, and data sets for validation are input to the plurality of trained model groups.
  • the output layer may be generated, the accuracy of the control data specified in the output layer may be weighed, and one of the best trained models to be applied to the data processing system may be selected. ..
  • the validity judgment data set may be any data set that is similar to the learning data set used for learning and is not used for learning.
  • FIG. 4 is a schematic explanatory view showing a network system including a server device as a data processing system according to the first embodiment of the present invention.
  • the server device 20 is adopted as the data processing system.
  • the learned model described above is applied to the server device 20, and data processing is mainly executed based on a request from the CAD / CAM system 30.
  • the CAD / CAM system 30 makes a request for data processing to the data processing system, but it is structurally possible to perform the same data processing for a request from other than the CAD / CAM system 30. it is obvious. The details will be described below.
  • the server device 20 is composed of a GPU (Graphics Processing Unit) server or the like, and when pre-machining work data and post-machining work data are input from the outside, it is possible to output the type of machining and the tools used for the machining. It is a thing.
  • GPU Graphics Processing Unit
  • FIG. 5 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to the first embodiment of the present invention.
  • the server device 20 mainly includes an I / F unit (first data acquisition unit) 21, an inference unit (first inference unit) 22, and a trained model storage unit 27. It's a waste.
  • the I / F unit 21 receives data transmission / reception, specifically input data consisting of pre-machining work data and post-machining work data, and transmits output data consisting of machining types and tools used for the machining. ..
  • the input data is transmitted from the CAD / CAM system 30, the output data is returned to the CAD / CAM system 30, and the data is transmitted / received via the network NW.
  • the source of the input data may be a communicable device other than the CAD / CAM system 30, such as the designer's terminal device PC1 or another terminal device.
  • the inference unit 22 infers the type of machining required to obtain the post-machining work and the tools required for the machining based on the pre-machining work data and the post-machining work data received by the I / F unit 21. is there.
  • learning is performed through the machine learning method described above, and the trained model stored in the trained model storage unit 27 described later is used. Specifically, for example, the coordinate data of each point of the pre-machining work data and the post-machining work data composed of point cloud data is input to the input layer of the trained model, inference is executed, and the result is output to the output layer. Is specified as the type of machining and the tool used for the machining.
  • the type of machining output to the output layer and the information on the tools used for the machining are arranged in tabular data as shown in FIG. 5, and then CAD is performed via the I / F unit 21. When it is returned to the / CAM system 30, it is preferable that the subsequent work can be smoothly performed. Further, in the server device 20, the input data received by the I / F unit 21, the type of processing as the inference result of the inference unit 22, and the tools required for the processing are stored in the learned model storage unit 27 described later. It may be used as a training data set to further improve the accuracy of the stored trained model, and so-called online learning may be realized.
  • the trained model storage unit 27 is composed of a database capable of storing various information including the trained model referred to in the inference unit 22.
  • the server device 20 as a data processing system exists alone on the network NW as in the present embodiment, the CAD / CAM system 30 that transmits the work data before processing and the work data after processing is transmitted. Is not limited to one. Therefore, a plurality of trained models are stored in the trained model storage unit 27, and the inference unit 22 transmits the pre-processed work data and the post-processed work data for each CAD / CAM system 30 or CAD /. It is preferable that different trained models can be referred to based on the instruction from the CAM system 30 side because more accurate inference can be realized.
  • the trained model to be used can be changed according to the function of the NC machine tool (machining center MC) to which the NC code created by the CAD / CAM system 30 is applied. It is preferable to prepare a plurality of tools having a limited number of types and tools used for the machining thereof. This is because if a machining type or tool that cannot be performed by the NC machine tool to be used is output as the inference result of the trained model, the operator separately selects a machining type or tool different from the inference result. This is because work such as reselection is required. In order to generate a trained model in which the types of machining to be output and the tools used for the machining are limited, the types of machining and tools included in the learning data set used for machine learning may be limited. ..
  • the inference unit 22 includes a preprocessing unit for executing predetermined data processing for inputting each parameter of input data into the input layer of the trained model, and a preprocessing unit.
  • the data output to the output layer of the trained model is in the desired format, that is, the output data format composed of the types of machining required to obtain the post-machining workpiece as described above and the data of the tools used for the machining. It is preferable to have a post-processing unit for executing data processing for the purpose. Optimal output data can be generated by converting the data format or the like by adopting these pre-processing units and post-processing units.
  • the input data received by the I / F unit 21, the type of machining as the inference result of the inference unit 22, and the tool used for the machining are stored in the trained model storage unit 27. It may be used as a training data set to further improve the accuracy of the trained model.
  • a specific method of this utilization for example, a method similar to the method described in the above-mentioned machine learning device and machine learning method may be adopted.
  • the CAD / CAM system 30 is for creating an NC code for operating a predetermined NC machine tool, for example, a machining center MC, based on 3D-CAD data or the like created by the designer's terminal device PC1. It is a thing.
  • the CAD / CAM system 30 mainly includes an I / F unit 31 and an NC code generation unit 32.
  • the I / F unit 31 acquires pre-machining work data and post-machining work data transmitted from the designer's terminal device PC1 and the like, and the type of machining and the tool used for the machining transmitted from the server device 20. It is for acquiring information. Further, the I / F unit 31 can also transmit the acquired pre-machining work data and post-machining work data to the server device 20. In the present embodiment, data transmission / reception is performed via the network NW.
  • the NC code generation unit 32 includes pre-machining work data, post-machining work data, machining type and tool information used for the machining, and if necessary, the work data before machining, the work data after machining, and the tools used for the machining, which are transmitted and acquired from the terminal device PC1 and the server device 20 of the designer.
  • the NC code for operating the machining center MC is generated based on various information additionally input by the operator. By inputting and executing the NC code generated here to the machining center MC, the machining work of the block material or the blank material is started.
  • FIG. 6 is a flowchart showing the operation of the CAD / CAM system according to the first embodiment of the present invention.
  • the pre-machining work data and the post-machining work data transmitted from the designer's terminal device PC1 are acquired (step S21).
  • the acquired pre-machining work data and post-machining work data are transmitted to the server device 20 (step S22). ).
  • the server device 20 that has received the pre-machining work data and the post-machining work data executes inference using a specific trained model, and outputs the type of machining as the inference result and the tool used for the machining.
  • the type of machining as output output data and the tool used for the machining are returned to the CAD / CAM system 30, and the CAD / CAM system 30 acquires the output data (step S23). Then, the process design by the operator is executed and the NC code is generated by using the obtained pre-machining work data, post-machining work data, machining type and tool information used for the machining (step S24).
  • the pre-machining work data and the post-machining work data are transmitted from the designer's terminal device PC1 to the CAD / CAM system 30, and the pre-machining work data and the post-machining work received by the CAD / CAM system 30.
  • the data is transmitted to the server device 20, but the present invention is not limited to this.
  • the pre-machining work data and the post-machining work data are set to be directly transmitted from the designer's terminal device PC1 to the server device 20, and the server device 20 is set to transmit the machining type and the tool used for the machining together with the information before machining.
  • the work data and the processed work data may be transmitted to the CAD / CAM system 30.
  • the embodiment of the data processing system according to the present embodiment is not limited to the server device 20 described above.
  • the function of the data processing system is built in the specific CAD / CAM system 30, and the CAD / The mode may be such that inference or the like is executed in the CAM system 30.
  • the type of machining and the tool used for the machining are pre-machining work data and post-machining work data. Will be automatically identified only from. Therefore, a part of the process design by the operator can be automated, and the man-hours for the process design can be significantly reduced. Further, by automatically specifying the type of machining and the tool used for the machining, it is possible to suppress the variation in the product performance due to the difference in the experience value of each operator.
  • a trained model capable of inferring the type of machining and the tool used for the machining is obtained by using only the pre-machining work data and the post-machining work data composed of 3D-CAD data as input data.
  • the machine learning device, the machine learning method, and the data processing system using the trained model were explained.
  • the 3D-CAD data includes information that is difficult to read directly from the drawing itself, for example, information that is input in the form of text information or the like in the drawing (hereinafter, referred to as "additional information"). If this is the case, it may be difficult to obtain an appropriate output in the first embodiment.
  • the point cloud data is data obtained by collecting the coordinate information of random points in the figure drawn by the 3D-CAD data. Therefore, for example, the surface roughness of a predetermined surface of the work, the shape of the portion subjected to microfabrication such as tapping, and the like cannot be read from the point cloud data itself.
  • information that cannot be specified from figures in the first place such as materials used for workpieces, tolerances required during processing, or special processing information such as polishing processing (these information are often converted and unified into point group data). (It is input as text information in the previous 3D-CAD data) cannot be read from the point group data itself.
  • the post-processing work data created by the designer usually contains the above-mentioned additional information (in some form). Therefore, if the type of machining and the tool to be used can be specified in consideration of such additional information, it can be said that more accurate information can be provided to the operator at the time of process design.
  • an inference model capable of specifying the type of machining and the tool to be used based on the pre-machining work data, the post-machining work data, and the additional information.
  • the machine learning device and the machine learning method for obtaining the data, and the data processing system using this inference model will be described.
  • the machine learning device, machine learning method, and data processing system according to the second embodiment shown below will be described focusing on the differences from the first embodiment described above, and the first embodiment will be described.
  • the same reference numerals are given to the configurations and the like common to the above, and the description thereof will be omitted.
  • the machine learning device according to the second embodiment has the same configuration as that shown in FIG. 1 except that the data constituting the learning data set is different. Therefore, when the details of each configuration are the same as those described in the first embodiment, the description thereof will be omitted.
  • the machine learning device according to the second embodiment and each configuration provided in the machine learning device are referred to. , "A" is added to the end of the code to distinguish it from the machine learning device 10 according to the first embodiment.
  • the data acquired by the learning data set acquisition unit 11A of the machine learning device 10A according to the second embodiment is composed of five types of data. That is, it is composed of five types in which additional information related to machining using a machine tool is added to the above-mentioned pre-machining work data, post-machining work data, machining type data, and tool data. Also in the second embodiment, in order to simplify the following description, only one type of machining is performed to obtain the post-machining work from the pre-machining work.
  • the additional information acquired by the learning data set acquisition unit 11A includes at least one of microfabrication information, tolerance information, workpiece material information, and special processing information.
  • micromachining information is machining such as tapping and microchamfering, in which the machining dimensions are small and the amount of volume change before and after machining changes only slightly, and information that is difficult to recognize from only the shape data of the workpiece.
  • the special processing information refers to processing such as polishing processing in which the processing dimensions are extremely small and the amount of volume change before and after processing is substantially zero, and information on processing that cannot be recognized only from the shape data of the work.
  • the data format of the additional information is not particularly limited, and any format may be used as long as the content of the additional information can be specified.
  • microfabrication information and special machining information are information that influences both the type of machining and the selection of tools used for the machining.
  • the additional information is fine machining information or special machining information
  • the pre-machining work data and the post-machining work data are composed of the same point cloud data.
  • the pre-machining work data and the post-machining work data are indispensable data in machine learning regardless of whether or not the contents are the same. Therefore, the learning data set in the present embodiment includes pre-machining work data and post-machining work data composed of the same point cloud data, and additional information regarding fine machining information or special machining information. It becomes.
  • tolerance information and work material information have a great influence on the selection of tools. For example, if the allowable tolerance is small, it is necessary to select a tool that can process with high precision, and if the work is made of a material with relatively low hardness (for example, aluminum), the strength of the tool is considered too much. This is because there is no need to do it.
  • the tolerance information and the material information of the work have less influence on the type of processing than the above-mentioned fine processing information and special processing information, the pre-machining work data and the post-machining work associated with these additional information are less affected.
  • the data is often composed of different point group data.
  • the learning data set storage unit (second learning data set storage unit) 12A is a pre-machining work data, a post-machining work data, additional information, machining type data and tool data acquired by the learning data set acquisition unit 11A. Is a database for storing data in units of training data sets.
  • the learning unit (second learning unit) 13A executes machine learning using a plurality of learning data sets stored in the learning data set storage unit 12A, and generates a trained model.
  • the trained model storage unit (second trained model storage unit) 14A is a database for storing the trained model generated by the training unit 13A.
  • the learning method in the learning unit 13A is basically the same as the supervised learning using the neural network model executed in the learning unit 13 according to the first embodiment.
  • the learning data set used in the learning unit 13 includes additional information, and this additional information is input to the input layer as a state variable in the same manner as the pre-processing work data and the post-processing work data. ..
  • the balance of the state variables may be adjusted by appropriately performing preprocessing before inputting the state variables to the input layer. Specifically, for example, for two state variables, pre-processing work data and post-processing work data, which have a relatively large amount of data, preprocessing for aggregating the amount of data before inputting to the input layer is executed. You may try to do it.
  • FIG. 7 is a flowchart showing a machine learning method according to the second embodiment of the present invention.
  • a pre-learning model having weights of initial values is prepared (step S31).
  • one learning data set is selected from the plurality of learning data sets stored in the learning data set storage unit 12A (step S32).
  • the machining type data and the tool data are used as the output layer. Is generated (step S33).
  • machine learning is performed using the control information constituting the teacher data acquired in step S32 and the control information constituting the output layer generated in step S33 (step S34).
  • step S34 When machine learning is performed in step S34, it is specified whether or not it is necessary to continue machine learning (step S35). When the machine learning is continued (No in step S35), the process returns to step S32, and when the machine learning is finished (Yes in step S35), the process proceeds to step S36.
  • the steps S32 to S34 are executed a plurality of times using the learning data set which has not been learned yet, and when the machine learning is completed, it is associated with each node.
  • the neural network generated by adjusting the weights is stored in the trained model storage unit 14A as a trained model (step S36), and a series of learning processes is completed.
  • pre-machining work data and post-machining work data composed of 3D-CAD data, and additional information related to machining can be obtained. Therefore, it is possible to generate a trained model capable of outputting the type of machining required to obtain the post-machining work and the tools used for the machining.
  • the data processing system of the second embodiment also employs a server device like the data processing system of the first embodiment, and operates in the environment of the network system shown in FIG. .. Therefore, the description of the structure of the network system and the details of the CAD / CAM system 30 will be omitted.
  • FIG. 8 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to the second embodiment of the present invention.
  • the server device 20A as a data processing system according to the present embodiment includes an I / F unit (second data acquisition unit) 21A, an inference unit (second inference unit) 22A, and a trained model storage unit 27A. , Including.
  • the I / F unit 21A receives data transmission / reception, specifically input data consisting of pre-machining work data, post-machining work data and additional information, and transmits output data consisting of machining types and tools used for the machining. It is a thing.
  • the inference unit 22A infers the type of machining required to obtain the post-machining work and the tools required for the machining based on the pre-machining work data, the post-machining work data and the additional information received by the I / F unit 21A. To do.
  • the trained model storage unit 27A stores the machine learning device 10A according to the second embodiment and the trained model created by the machine learning method, which are referred to in the inference unit 22A.
  • the server device 20A in addition to the pre-machining work data and the post-machining work data, additional information (in FIG. 8 is fine machining information). It is possible to receive input data including information on a certain tapping process. Therefore, the output data inferred and output by the inference unit 22A takes into consideration information that cannot be recognized from the pre-machining work data and the post-machining work data. Therefore, in the CAD / CAM system 30 that has received this output data, it is possible to partially automate the process design including the type of machining and the tools used for the machining in consideration of the machining and information that cannot be recognized from the shape data. it can.
  • the type of machining and the tool used for the machining can be selected as pre-machining work data and post-machining work.
  • additional information in addition to the data it will be specified automatically and accurately. Therefore, a part of the process design by the operator can be automated, and the man-hours for the process design can be significantly reduced.
  • ⁇ Third embodiment> In the first and second embodiments described above, as described above, the case where only one type of machining is performed to obtain the post-machining work from the pre-machining work has been described. However, at the actual design site, there is almost no case where only one type of processing work is performed to obtain a work as a finished machine part from a pre-processing work such as a block material, and through a plurality of processing operations. It is common to manufacture mechanical parts. Therefore, in the following, as the third and fourth embodiments, from the pre-machining work data and the post-machining work data (and one or more code information as necessary), a plurality of machining types and their machining are described. A data processing system using a trained model that can infer the tools used will be mainly described.
  • the environment as a premise is the same as that described in the first and second embodiments, so each configuration other than the data processing system itself will be described separately. Except for cases, the same shall apply as described in the first and second embodiments.
  • a work made of a block material or a blank material before a plurality of processes are performed is referred to as an unprocessed work, and a plurality of post-process works in particular are used.
  • a workpiece that has been processed and completed as a mechanical part shall be referred to as a completed workpiece.
  • FIG. 9 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to the third embodiment of the present invention.
  • the server device 20B according to the present embodiment includes an I / F unit 21B for transmitting and receiving data, and raw work data and completed work data (and necessaryly) received by the I / F unit 21B.
  • the inference unit 22B that infers the output data consisting of the type of machining and the data of the tools used for the machining based on the input data consisting of one or more additional information depending on the machining, and the trained model used in the inference unit B.
  • the trained model storage unit 27B for storing the data is included.
  • the trained model stored in the trained model storage unit 27B is generated by using the same machine learning device and machine learning method according to the first or second embodiment.
  • a data set for training that includes a plurality of information on the type of machining and the tools used for the machining is also used.
  • the number of learning data sets required for sufficient machine learning is the first and second. It increases compared to machine learning in the embodiment.
  • the I / F unit 21B receives the input data consisting of the raw work data and the completed work data transmitted from the CAD / CAM system 30, for example, the I / F unit 21B in the inference unit 22B
  • the received raw work data and completed work data are input to the input layer of the trained model to infer the type of machining performed to obtain the finished work and the tools used for the machining.
  • the input data in which the type of processing performed to obtain the post-machining work (completed work) from the pre-machining work (unmachined work) is not one type.
  • Each type of machining and the set of tools used for the machining are associated with each other and returned to the CAD / CAM system 30 as output data.
  • a plurality of types of machining and tools used for the machining are selected from raw work data and post-completion work data (and one or more additional information as necessary). If something that can be inferred is adopted, the raw work data and the completed work data (and one or more additional information as necessary) as input data can be used for the type of machining and the tool used for the machining. Not constrained by numbers. Therefore, for example, in the CAD / CAM system 30 that has received the raw work data and the completed work data from the terminal device PC1 of the designer, the received raw work data and the completed work data can be used as they are as input data of the server device 20B. , The operator will be able to more easily obtain information on the type of machining and the tools used for the machining.
  • the processing is performed based on the raw work data and the completed work data (and one or more additional information as necessary) regardless of the number of times of processing.
  • the type and the tool used for its machining can be inferred.
  • it is not possible to generate a trained model that can realize highly accurate inference unless multiple training data sets with different processing times are prepared. Can not. Therefore, it takes a certain amount of cost and time to realize the data processing system according to the third embodiment.
  • a fourth embodiment as a data processing system that provides information on a type of machining and a tool used for the machining to a machine part manufactured through a plurality of machining, the first or the like.
  • An example is a method of providing information on a plurality of machining types and tools used for the machining while using the trained model generated in the second embodiment.
  • FIG. 10 is a schematic block diagram of a server device and a CAD / CAM system as a data processing system according to a fourth embodiment of the present invention.
  • the configuration of the server device 20C as the data processing system according to the present embodiment is the same as that of the server device 20 according to the first embodiment.
  • the difference between this embodiment and the first embodiment is that the CAD / obtained raw work data and completed work data (and one or more additional information as necessary) from the designer's terminal device PC1 or the like.
  • the CAM system 30 prepares the data of the work in progress (hereinafter referred to as "intermediate work work data") generated in the process from the acquired raw work data to the completed work data, and one machining is performed.
  • intermediate work work data data of the work in progress
  • a point is that a plurality of input data are generated as pre-machining work data and post-machining work data from the work data before and after the work, and sequentially transmitted to the server device 20C.
  • the operator of the CAD / CAM system 30 may create the intermediate machining work data by referring to the raw work data and the completed work data.
  • the CAD / CAM system 30 does not have to be the main body that generates the data of the work in the process of processing.
  • the terminal device PC1 of the designer may generate and transmit the raw work data and the completed work data together.
  • the pre-machining data consisting of the raw work data and the work in the middle of machining Input data 1 consisting of post-machining work data indicating the above
  • input data 2 consisting of pre-machining work data consisting of the same data as the post-machining work data of input data 1 and post-machining work data consisting of completed work data.
  • the inference unit 22C makes an inference for the input data 1 and an inference for the input data 2.
  • the trained model generated by the machine learning device and the machine learning method of the first embodiment will be used for sequential execution. Then, the types of machining as a result of these inferences and the data of each set of tools used for the machining are arranged in the server device 20C, for example, in the form of a list, and then the CAD / CAM system 30 is used as output data. Will be replied to.
  • a means for adjusting the output data in the form of a list and a means for specifying the order of a plurality of input data can be realized by using a well-known method such as assigning a serial number to each input data in advance. Further, the adjustment of the output data format does not necessarily have to be performed by the server device 20C, and may be performed by the CAD / CAM system 30 side.
  • the machine learning device and machine learning of the first or second embodiment can be adjusted.
  • the trained model generated by the method it becomes possible to provide information on a series of machining types required to obtain a finished workpiece from a raw workpiece and the tools used for the machining.
  • the intermediate machining work data is generated by the operator, but this processing can also be performed by using a separate inference unit. Then, if the intermediate machining work data can be inferred by the inference unit, the process design can be performed with almost no man-hours required by the operator. Therefore, in the following, as the fifth embodiment, the data processing system shown in the first or fourth embodiment of the present application is applied to automate almost all of the above-mentioned series of process design creation work. The data processing system that made this possible will be described.
  • FIG. 11 is a schematic block diagram of a server device as a data processing system according to a fifth embodiment of the present invention.
  • the server device 20D includes an I / F unit 21D, an inference unit 22D, a first trained model storage unit 26, and a second trained model storage unit 27D. And at least include.
  • the inference unit 22D in the above configuration has a first inference unit 23, an alignment unit 24, and a second inference unit 25 as specific configurations for inferring a plurality of processing information sets and their execution orders. including.
  • the second inference unit 25 and the second trained model storage unit 27D are the same as the inference unit 22 and the trained model storage unit 27 shown in the first embodiment. ..
  • the I / F unit 21 according to the present embodiment is also the same as the I / F unit 21 according to the one embodiment. Therefore, the configuration of the data processing system according to the first embodiment, which is not included in the data processing system according to the first embodiment, will be described below.
  • the first inference unit 23 executes a series of machining for obtaining a finished work from the raw work based on the raw work data and the finished work data as input data acquired and transmitted in the I / F unit 21D. It infers and generates intermediate processing data composed of one or a plurality of intermediate processing work data indicating the shape of the work generated each time the data is generated and the generation order data thereof. For this inference, the first trained model stored in the first trained model storage unit 26 described later is used. Then, the intermediate processing data inferred and output here is transmitted to the alignment unit 24 together with the input data acquired by the I / F unit 21D.
  • the first trained model is composed of, for example, a neural network model, and the details thereof will be described later.
  • the intermediate machining data generated by the first inference unit 23 refers to the input data, and when the series of machining required to obtain the finished work from the raw workpiece is executed, these series of machining are performed.
  • One or more intermediate machining work data indicating the shape of the work generated each time one of the machining is performed, and the unmachined work as the shape at the start of machining and the finished work as the shape at the completion of machining. It is composed of generation order data indicating the order in which these one or more intermediate machining work data are generated in the case of.
  • one or more intermediate machined work data is composed of three-dimensional shape data like the unprocessed work data and the completed work data.
  • the intermediate machining data composed of such data for example, tabular data in which one or more intermediate machining work data to be generated are arranged in ascending order from top to bottom according to the generation order (FIG. 14). See.).
  • the first inference unit 23 adjusts the input / output information in the first inference unit 23 separately from the portion that executes the inference using the first learned model.
  • the preprocessing unit is for converting and unifying the data format of the input data, adjusting the number of data to be input to the input layer of the first trained model, and the like.
  • the post-processing unit adjusts the data output to the output layer of the first trained model into one or a plurality of intermediate processing work data composed of three-dimensional shape data, or in the above-mentioned tabular format. It is for converting to the format of intermediate processing data.
  • the alignment unit 24 When the alignment unit 24 acquires the input data and the intermediate machining data, the alignment unit 24 processes the raw work data, the completed work data, and one or more intermediate machining work data in the data in a time series according to the generation order thereof. It is intended to be aligned with. By aligning the input data and the intermediate processing data in chronological order in this way, inference in the second inference unit 25, which will be described later, can be smoothly performed. Then, in the alignment unit 24 according to the present embodiment, in order to smoothly execute the processing in the second inference unit 25 described later, a plurality of aligned work data are set with the work data adjacent to each other. Then, a plurality of process data (see FIG.
  • the alignment unit 24 is described as a unit different from the other units, but the present invention is not limited to such a form.
  • the function of the alignment unit 24 can be realized in the form of a part of the post-processing unit of the first inference unit 23 or a part of the pre-processing unit of the second inference unit 25.
  • the first trained model storage unit 26 is composed of a database capable of storing the first trained model referred to in the first inference unit 23.
  • the first trained model stored in the first trained model storage unit 26 is not limited to one. That is, for example, a plurality of first trained models linked to user information of the terminal device PC1 or the CAD / CAM system 30 that requests data processing are stored, and the optimum model is stored according to the request source information or the like. It is preferable to select the first trained model because more accurate inference can be realized.
  • FIG. 12 is a flowchart showing a machine learning method for obtaining a first trained model according to a fifth embodiment of the present invention.
  • a machine learning method is adopted as a method of creating the first trained model.
  • this machine learning method as in the trained model according to the first embodiment, for example, supervised learning using the neural network shown in FIG. 2 can be used.
  • a plurality of first training (training) data sets for the first trained model are prepared (step S41).
  • This first learning data set is composed of four types of data. That is, raw work data, completed work data, one or more intermediate processed work data generated each time a plurality of times of machining are performed to obtain a finished work from the raw work, and one or more of these. It is composed of the generation order data indicating the order of the time series in which the intermediate machining work data is generated.
  • the first training data set it is necessary to prepare a plurality of data sets composed of different data so that the first trained model obtained after machine learning has the desired inference accuracy.
  • the pre-learning model to be machine-learned is prepared (step S42).
  • the neural network model constituting this pre-learning model may be the same as the one prepared in step S11 described above in the first embodiment.
  • one learning data set is selected from the plurality of first learning data sets prepared in step S41 (step S43).
  • this pre-learning model is output.
  • a value indicating one or more intermediate processing work data and its generation order data is output to the layer neurons (step S44).
  • the format in which the information acquired as the state variable is input can be appropriately set in consideration of the accuracy of the generated trained model and the like. it can.
  • information about each point composed of Cartesian coordinates (XYZ coordinates) constituting the point group data is input. It may be input to each of the neurons of the layer, or it may be input to each of the neurons of the input layer after performing preprocessing to adjust the amount of information about each point.
  • one or more intermediate machining work data and its generation order data as control data output to the output layer in step S44 are generated by the pre-learning model, they are designed by the operator in most cases. The content will be different from the one. Therefore, next, one or a plurality of intermediate processing work data and its generation order data as control information constituting the teacher data included in the learning data set acquired in step S43, and the output layer in step S14.
  • Machine learning is performed using one or more intermediate machining work data and its generation order data as the output control information (step S45). The machine learning performed here is to compare the control information constituting the teacher data with the control information output to the output layer, detect an error between the two, and obtain an output layer that reduces this error. Refers to the process (back error) of adjusting the weight wi associated with each node in the pre-learning model.
  • step S45 When machine learning is performed in step S45, whether or not it is necessary to continue machine learning is specified based on, for example, the remaining number of unlearned first learning data sets prepared in step S41. (Step S46). Then, when the machine learning is continued (No in step S46), the process returns to step S43, and when the machine learning is completed (Yes in step S46), the process proceeds to step S47.
  • the steps S43 to S45 are carried out a plurality of times using the unlearned first learning data set, and usually, finally in proportion to the number of times. The trained model generated is more accurate.
  • the weight wi associated with each node is adjusted through a series of steps, and the generated neural network is used as the first trained model in the first trained model storage unit 26. It is stored (step S47), and a series of learning processes is completed.
  • the first inference unit 23 acquires raw work data and completed work data as input data. Then, it becomes possible to output the intermediate processing data composed of one or a plurality of intermediate processing work data and the generation order data thereof. Depending on the input data, there is a case where the processing performed to obtain the completed work from the unprocessed work is performed only once. In such a case, since the intermediate machining work data is not required, it is preferable that the first inference unit 23 can handle it separately. Specifically, for example, the first inference unit 23 outputs the completed work data instead of the intermediate machining work data, so that it can be understood that the intermediate machining work does not exist.
  • the correspondence may be trained in advance by the first trained model.
  • FIG. 13 is a flowchart showing a series of processing processes executed in the server device according to the fifth embodiment of the present invention.
  • FIG. 14 is an explanatory diagram schematically showing various data generated in the server device according to the fifth embodiment of the present invention.
  • the arrows in FIG. 14 indicate the flow of data in the server device 20D, and each arrow is given a code for each step shown in FIG. 13 in parentheses.
  • each data shown in FIG. 14 assumes, as a specific example, a case where a fixture used for fixing an object at a predetermined position as a completed work is manufactured from an unprocessed work composed of a block material. It was done.
  • this data processing process starts a series of processes by acquiring the input data transmitted together with the data processing request in the I / F unit 21D (step S51).
  • the I / F unit 21D transmits the input data to the first inference unit 23 (step S52).
  • the first inference unit 23 When the input data is acquired by the first inference unit 23, the first inference unit 23 performs inference based on the input data and generates intermediate processing data (step S53).
  • the intermediate processing data As a method of generating the intermediate processing data, when the first inference unit 23 first acquires the input data, the raw work data constituting the input data (in the specific example shown in FIG. 14, the 3D-CAD data of the block material) ) And the completed work data (3D-CAD data of the fixture in the specific example shown in FIG. 14) are recognized.
  • these work data are 3D-CAD data, they are converted into point cloud data in the preprocessing unit.
  • the information of each point included in the raw work data composed of the point cloud data and the completed work data is input to the first trained model stored in the first trained model storage unit 26.
  • a value indicating one or a plurality of intermediate machining work data and its generation order data is output to the output layer of the first trained model.
  • the post-processing unit of the first inference unit 23 specifies one or more intermediate processing work data and its generation order data from these values, and intermediate processing that puts them together. Generate data.
  • intermediate machining work data composed of point cloud data (hereinafter, these four intermediate machining work data are sequentially referred to as “intermediate machining work”.
  • Data 1 ”to“ intermediate machining work data 4 ” are specified, and tabular intermediate machining data is generated in which these four data are arranged in ascending order from top to bottom according to the generation order.
  • the first inference unit 23 transmits the generated intermediate processing data and the acquired input data to the alignment unit 24 (step S54).
  • the first inference unit 23 transmits the input data to the alignment unit 24, but the present invention is not limited to this, and for example, the transmission of the input data to the alignment unit 24 is I /.
  • the F unit 21D may perform this.
  • the alignment unit 24 that has acquired the intermediate machining data and the input data aligns each work data constituting these data according to the execution order of a series of machining (step S55).
  • a value indicating one type of machining and the tool used for the machining is output to the output layer of the second trained model in which the information of each point is input.
  • the post-processing unit of the second inference unit 25 specifies the information about one machining type and the tool used for the machining from the value of the output layer, and then determines the predetermined format. For example, it is converted into text format information, and one machining information set is generated by associating the one machining type and the tools used for the machining with each other. Then, this one processing information set is temporarily stored in, for example, a storage medium (not shown).
  • steps S57 and S58 described above are executed according to the order of the aligned processes by the number of process data (n) generated by the alignment unit 24 (steps S59 and S60).
  • the processes of steps S57 and S58 are executed for the first process data, and a machining information set composed of "machine type: drilling, tool: drill” is output.
  • a machining information set consisting of "type: flat mill, tool: end mill” is sequentially output and temporarily stored.
  • the post-processing unit of the second inference unit 25 includes a plurality of temporarily stored machining information sets and their execution. Output data composed of the sequence is generated (step S61).
  • the process numbers are shown in ascending order in the left column, and the text information of the processing information set corresponding to the process numbers is described on the right side of the process numbers to generate tabular output data.
  • the generated output data is transmitted to the I / F unit 21D (step S62), and the I / F unit 21D transmits the generated output data to a predetermined destination, for example, the CAD / CAM system 30 that has made the data processing request. This completes a series of processes.
  • step S56 is executed by the alignment unit 24, but the process can also be executed by the preprocessing unit of the second inference unit 25.
  • inference for each process data is realized by sequentially transmitting n process data generated by the alignment unit 24 to the second inference unit 25.
  • transmission of process data May be performed collectively, and the data input operation may be controlled so that the preprocessing unit of the second inference unit 25 can sequentially perform inference for each process data.
  • the I / F unit 21D is supposed to send only the generated output data to a predetermined destination, it is preferable to send intermediate processing data in addition to this.
  • the destination of the output data is the CAD / CAM system 30
  • the intermediate processing data is also transmitted in addition to the output data, the code path creation performed to create the NC code after the process design, etc. This is because there is a possibility that the work can be performed efficiently.
  • the completed work can be obtained from the raw work. It is possible to acquire output data in which a plurality of types of machining required for the above and the tools used for them are specified in time series. Therefore, when manufacturing a predetermined work using an NC machine tool, almost all of the process design for creating the NC code necessary for operating the NC machine tool can be automated, and the operator can perform the process design. The number of steps required can be reduced to virtually zero. In addition, by automatically identifying a series of processes, it is possible to suppress variations in product performance due to differences in the experience values of each operator.
  • This is preferable because it can be performed and the inference accuracy in the data processing system is improved.
  • it is advisable to prepare a separate database or the like and provide a system capable of providing various pre-machining work data to the designer.
  • the data processing system of the present invention can be provided to the user in various forms.
  • the above-mentioned data processing function may be packaged and stored in a terminal device or a CAD / CAM system so that it can be used locally, or a series of functions may be provided in the form of a web application. It may be.

Landscapes

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

Abstract

3次元の加工前ワークデータと、3次元の加工後ワークデータと、加工の種類データと、加工に用いられる工具データと、を含む学習用データセットを複数組記憶する第1の学習用データセット記憶ユニット(12)と;学習用データセットを複数組入力することで、加工前ワークデータと加工後ワークデータとから、加工後ワークを得るための、加工の種類及びその加工に用いられる工具を推論する学習モデルを学習する第1の学習ユニット(13)と;第1の学習ユニット(13)によって学習された学習モデルを記憶する第1の学習済モデル記憶ユニット(14)と;を含む機械学習装置、対応する機械学習方法及びデータ処理システムを提供する。これにより、ワークの形状データに基づく工程設計の少なくとも一部を自動化するための機械学習装置、データ処理システム及び機械学習方法を提供することができる。

Description

機械学習装置、データ処理システム及び機械学習方法
 本発明は、加工前ワークデータと加工後ワークデータとから加工の種類及び使用する工具を推論する学習済モデルを得るための機械学習装置及び機械学習方法、並びにこの学習済モデルを利用したデータ処理システムに関するものである。
 マシニングセンタや複合加工機等のNC(Numerical Control)工作機械を用いて機械部品を製造する際、部品の設計から実際の加工に至るまでの工程を簡易にするためにCAD/CAMシステムが広く普及している。このCAD/CAMシステムにおいては、設計者が作成した3次元又は2次元のCADデータを元に、オペレータ(加工技術者)が、ブロック材等からなる未加工ワークに対して必要な加工の種類、加工順序、使用工具等を特定し、それらの情報から構成された一連の工程を設計する。そして、この設計された工程及び付随する設定情報(具体的には、ツールパスや工具の加工開始位置情報等)からなる加工プロファイルに基づいて、NC工作機械を動作させるためのNCコードを生成するのが一般的である。
 オペレータによって設計される工程は、製品となる機械部品の出来栄えに大きな影響を与える。具体的に言えば、例えば穴あけ加工であっても、使用する工具によっては、加工表面が所望の仕上がりとならなかったり、規定の公差内での加工が困難であったりといった課題が生じ得る。したがって、この工程設計の精度はオペレータの長年の経験(暗黙知を含む)に依存する部分が少なくない。そこで、このようなオペレータの経験に依存して製品の出来が異なり得る状況を改善する手法として、例えば特許文献1には、オペレータによる工程設計をサポートすべく、加工前のワークの情報と、加工後のワークの情報と、ワークの材質情報と、加工段階の情報とから、使用する工具を自動的に特定するものが記載されている。
国際公開第94/08751号
 上記特許文献1に記載のもののように、オペレータによる工程設計を部分的にサポートできる技術は既にいくつか存在しているものの、本技術分野において、オペレータの経験に基づく判断をコンピュータで代用できる領域をより広げたいという要求は、依然として高い。
 本発明は上述の点に鑑み、ワークの形状データに基づく工程設計の少なくとも一部を自動化するための機械学習装置、データ処理システム及び機械学習方法を提供することを目的とする。
 上記目的を達成するために、本発明の第1の態様に係る機械学習装置10は、例えば図1に示すように、工作機械MC(例えば図4参照。)を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、工作機械MCを用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、工作機械MCを用いた加工の種類データと、工作機械MCを用いた加工に用いられる工具データと、を含む学習用データセットを複数組記憶する第1の学習用データセット記憶ユニット12と;学習用データセットを複数組入力することで、加工前ワークデータと加工後ワークデータとから、加工後ワークを得るための、工作機械MCを用いた加工の種類及びその加工に用いられる工具を推論する学習モデルを学習する第1の学習ユニット13と;第1の学習ユニット12によって学習された学習モデルを記憶する第1の学習済モデル記憶ユニット14と;を含む。
 このように構成すると、3次元の加工前ワークデータ及び加工後ワークデータのみから加工の種類及びその加工に用いられる工具を推論することが可能な学習済モデルを生成することができ、この学習済モデルを利用することで工作機械を用いた加工における工程設計の一部を自動化することができる。
 また、本発明の第2の態様に係る機械学習装置は、上記本発明の第1の態様に係る機械学習装置において、加工前ワークデータと加工後ワークデータとは、点群データで構成される。
 このように構成すると、各種ワークの形状を示すデータを、3次元のCADデータの中間フォーマットである点群データで取り扱うことにより、設計者等により作成される加工前ワークデータ及び加工後ワークデータのデータ形式を問わず、3次元のCADデータを簡単に機械学習に利用することができるようになる。
 また、本発明の第3の態様に係る機械学習装置は、上記本発明の第1又は第2の態様に係る機械学習装置において、学習モデルは、加工の種類及びその加工に用いられる工具をそれぞれ1つずつ推論する。
 このように構成すると、学習モデルが推論する加工の種類及びその加工に用いられる工具を1つに特定したことで、充分な精度の推論結果を出力可能な学習済モデルを得るために必要な学習用データセットの数を少なくすることができる。
 また、本発明の第4の態様に係る機械学習装置は、工作機械MCを用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、工作機械MCを用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、工作機械MCを用いた加工に関連する付加情報と、工作機械MCを用いた加工の種類データと、工作機械MCを用いた加工に用いられる工具データと、を含む学習用データセットを複数組記憶する第2の学習用データセット記憶ユニット11Aと;学習用データセットを複数組入力することで、加工前ワークデータと加工後ワークデータと付加情報とから、加工後ワークを得るための、工作機械MCを用いた加工の種類及びその加工に用いられる工具とを推論する学習モデルを学習する第2の学習ユニット12Aと;第2の学習ユニッ12Aトによって学習された学習モデルを記憶する第2の学習済モデル記憶ユニット13Aと;を含む。
 このように構成すると、3次元の加工前ワークデータ、加工後ワークデータ及び付加情報のみから加工の種類及びその加工に用いられる工具を推論することが可能な学習済モデルを生成することができ、この学習済モデルを利用することで工作機械を用いた加工における工程設計の一部を自動化することができる。また、状態変数として付加情報を含むことで、3次元の形状データのみからは特定できない又は特定が困難な情報をも考慮した学習済モデルを得ることができる。
 また、本発明の第5の態様に係る機械学習装置は、上記本発明の第4の態様に係る機械学習装置において、付加情報は、微細加工情報、前記工作機械を用いた加工における公差情報、ワークの材料情報、及び特殊加工情報の少なくとも1つを含む。
 このように構成すると、付加情報として微細加工情報又は特殊加工情報が含まれている場合には、学習済モデルが出力する加工の種類及びその加工に用いられる工具を付加情報に則したものとすることができ、付加情報として公差情報又はワークの材料情報が含まれている場合には、学習済モデルが出力する工具を付加情報に則したものとすることができる。
 また、本発明の第6の態様に係るデータ処理システムは、例えば図5に示すように、工作機械MCを用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、工作機械MCを用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータとを取得する第1のデータ取得ユニット(I/Fユニット)21と;機械学習装置10によって生成された学習済モデルに、第1のデータ取得ユニット21が取得した加工前ワークデータと加工後ワークデータとを入力することで、加工後ワークを得るための、工作機械MCを用いた加工の種類及びその加工に用いられる工具を推論する第1の推論ユニット22と;を含む。
 このように構成すると、このデータ処理システムを利用することで、工作機械を用いた加工における工程設計の一部を自動化することができる。
 また、本発明の第7の態様に係るデータ処理システムは、例えば図8に示すように、工作機械MCを用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、工作機械MCを用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、工作機械MCを用いた加工に関連する付加情報とを取得する第2のデータ取得ユニット21Aと;機械学習装置10Aによって生成された学習済モデルに、第2のデータ取得ユニット21Aが取得した加工前ワークデータと加工後ワークデータと付加情報とを入力することで、加工後ワークを得るための、工作機械MCを用いた加工の種類及びその加工に用いられる工具を推論する第2の推論ユニット22Aと;を含む。
 このように構成すると、このデータ処理システムを利用することで、工作機械を用いた加工における工程設計の一部を自動化することができる。
 また、本発明の第8の態様に係る機械学習方法は、例えば図3に示すように、コンピュータを用いた機械学習方法であって:工作機械MCを用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、工作機械MCを用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、工作機械MCを用いた加工の種類データと、工作機械MCを用いた加工に用いられる工具データと、を含む学習用データセットを複数組記憶するステップと;学習用データセットを複数組入力することで、加工前ワークデータと加工後ワークデータとから、加工後ワークを得るための、工作機械MCを用いた加工の種類及びその加工に用いられる工具を推論する学習モデルを学習するステップS14と;学習された学習モデルを記憶するステップS16と;を含む。
 このように構成すると、3次元の加工前ワークデータ及び加工後ワークデータのみから加工の種類及びその加工に用いられる工具を推論することが可能な学習済モデルを生成することができ、この学習済モデルを利用することで工作機械を用いた加工における工程設計の一部を自動化することができる。
 また、本発明の第9の態様に係る機械学習方法は、例えば図7に示すように、コンピュータを用いた機械学習方法であって:工作機械MCを用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、工作機械MCを用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、工作機械MCを用いた加工に関連する付加情報と、工作機械MCを用いた加工の種類データと、工作機械MCを用いた加工に用いられる工具データと、を含む学習用データセットを複数組記憶するステップと;学習用データセットを複数組入力することで、加工前ワークデータと加工後ワークデータと付加情報とから、加工後ワークを得るための、工作機械MCを用いた加工の種類及びその加工に用いられる工具を推論する学習モデルを学習するステップS34と;学習された学習モデルを記憶するステップS36と;を含む。
 このように構成すると、3次元の加工前ワークデータ、加工後ワークデータ及び付加情報のみから加工の種類及びその加工に用いられる工具を推論することが可能な学習済モデルを生成することができ、この学習済モデルを利用することで工作機械を用いた加工における工程設計の一部を自動化することができる。また、状態変数として付加情報を含むことで、3次元の形状データのみからは特定できない又は特定が困難な情報をも考慮した学習済モデルを得ることができる。
 本発明によれば、3次元の加工前ワークの形状データと3次元の加工後ワークの形状データと(付加情報と)から、加工の種類及びその加工に用いられる工具のデータを推論することが可能な学習済モデルを生成することが可能な機械学習装置、機械学習方法並びにこの学習済モデルを用いたデータ処理システムが提供される。これにより、例えば工作機械を用いた加工の工程を設計するに際し、最適な加工の種類及びその加工に用いられる工具をコンピュータにより自動で特定できるようになる。
図1は、本発明の第1の実施の形態に係る機械学習装置の概略ブロック図である。 図2は、本発明の第1の実施の形態に係る機械学習装置において実施される教師あり学習のためのニューラルネットワークモデルの例を示す概念図である。 図3は、本発明の第1の実施の形態に係る機械学習方法を示すフローチャートである。 図4は、本発明の第1の実施の形態に係るデータ処理システムとしてのサーバ装置を含むネットワークシステムを示す概略説明図である。 図5は、本発明の第1の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。 図6は、本発明の第1の実施の形態に係るCAD/CAMシステムの動作を示すフローチャートである。 図7は、本発明の第2の実施の形態に係る機械学習方法を示すフローチャートである。 図8は、本発明の第2の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。 図9は、本発明の第3の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。 図10は、本発明の第4の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。 図11は、本発明の第5の実施の形態に係るデータ処理システムとしてのサーバ装置の概略ブロック図である。 図12は、本発明の第5の実施の形態に係る第1の学習済モデルを得るための機械学習方法を示すフローチャートである。 図13は、本発明の第5の実施の形態に係るサーバ装置内で実行される一連の処理プロセスを示すフローチャートである。 図14は、本発明の第5の実施の形態に係るサーバ装置内で生成される各種データを模式的に示した説明図である。
 本発明は以下の詳細な説明によりさらに完全に理解できるであろう。本願のさらなる応用範囲は、以下の詳細な説明により明らかとなろう。しかしながら、詳細な説明及び特定の実例は、本発明の望ましい実施の形態であり、説明の目的のためにのみ記載されているものである。この詳細な説明から、種々の変更、改変が、本発明の精神と範囲内で、当業者にとって明らかであるからである。
 出願人は、記載された実施の形態のいずれをも公衆に献上する意図はなく、開示された改変、代替案のうち、特許請求の範囲内に文言上含まれないかもしれないものも、均等論下での発明の一部とする。
 以下、図面を参照して本発明を実施するための実施の形態について説明する。なお、以下では本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については周知技術によるものとする。
<第1の実施の形態>
 本発明は、上述したオペレータが行う工程設計の一部、特に加工後のワークを得るために必要な加工の種類及びその加工に用いられる工具を特定する作業を自動的に行うことを目的としたものである。そこで、本発明の第1の実施の形態として、以下には先ず、CAD/CAMシステムで設計される工程情報のうち、特に加工前後のワークの3次元の形状データから、その加工の種類及び使用する工具を特定することが可能な推論モデルを得るための機械学習装置及び機械学習方法並びにこの推論モデルを用いたデータ処理システムについて説明を行う。
<機械学習装置>
 図1は、本発明の第1の実施の形態に係る機械学習装置の概略ブロック図である。本実施の形態に係る機械学習装置10は、図1に示すように、学習用データセット取得ユニット11と、学習用データセット記憶ユニット(第1の学習用データセット記憶ユニット)12と、学習ユニット(第1の学習ユニット)13と、学習済モデル記憶ユニット(第1の学習済モデル記憶ユニット)14とを備えている。
 学習用データセット取得ユニット11は、例えばネットワークNWを介して接続されたコンピュータ等からなる一乃至複数の端末装置PC1、PC2により送信あるいは入力された、学習(トレーニング)用データセットを構成する複数のデータを取得するインタフェースユニットである。本実施の形態に係るこの学習用データセット取得ユニット11において取得するデータは、4種類のデータで構成される。すなわち、3次元の形状データ(詳しくは、3次元(3D)のCADデータ)で構成され、ブロック材、あるいは予め準備された、ブロック材に所定の(例えば簡単な)加工を施した後のブランク材を表す加工前ワークデータと、同じく3次元の形状データで構成され、加工前ワークを加工した後のワークを表す加工後ワークデータと、この加工後ワークを得るために行われた加工の種類データと、同じくこの加工後ワークを得るために行われた加工に用いられた工具データと、で構成される。なお、本実施の形態においては、以下の説明を簡単にするために、加工前ワークから加工後ワークを得るために行われる加工は1種類のみとする。
 この学習用データセット取得ユニット11が取得する加工前ワークデータ、加工後ワークデータ、加工の種類データ及び工具データは、事前にあるいは学習用データセット取得ユニット11が取得した後に、一の学習用データセットとして互いに関連付けられる。これらのデータは、例えば加工前ワークデータ及び加工後ワークデータについては、設計者の端末装置PC1から所定のアプリケーション等を介して送信され、加工の種類データ及び工具データについては、設計者の端末装置PC1が送信したデータに基づいてCAD/CAMシステムのオペレータが作成し、このオペレータの端末装置PC2から送信されるものとすることができる。なお、これら4種類のデータの取得方法は上記の方法に限定されず、例えば単一の端末装置から4種類すべてのデータが送信される、あるいはデータを収集するために別途設けられたデータサーバ等を介して取得するといった種々の変更が可能である。また、本実施の形態におけるネットワークNWには、インターネット回線のみならず、イントラネット回線や、端末装置等に直接接続するための単なる通信ケーブルや無線通信をも含まれる。
 ここで、加工前ワークデータ及び加工後ワークデータが、3次元の形状データで構成されていることは、特に留意すべき事項である。3次元の形状データとして周知の3D-CADデータは、一般に、機械設計の分野において近年2D(2次元)-CADデータに代わって主流のデータ形式となっており、データを収集しやすい反面、3D-CADデータにはそのデータ形式が複数種類存在し、またそのデータ量が多いこと等から、機械学習に適用する際は注意が必要である。本発明者らは、種々のデータ形式で構成された3D-CADデータを機械学習に適用する方法について検討し、これらの3D-CADデータを、同じく3次元の形状データであって且つ3D-CADデータの中間フォーマットの1つとして知られる点群(ポイントクラウド)データ(例えば、STL(Standard Triangulated Language)形式)に変換・統一し、この点群データを構成する各点の情報を、後述するニューラルネットワークモデルに入力すべきパラメータ情報として利用することとした。これにより、本発明では、加工前ワークデータ及び加工後ワークデータとして3次元の形状データを利用することが可能となっている。なお、取得した3D-CADデータのデータ形式を点群データに変換・統一するに際しては、機械学習装置10内に図示しないデータ変換ユニットを採用して逐次変換するようにしてもよいし、データ送信者側で事前に統一するようルールを設ける等してもよい。点群データは3D-CADデータの中間フォーマットであり、また、当該データを用いて3次元の形状を特定可能な直交座標(XYZ座標)で示される点が集合したデータである。機械学習を行うに当たり、入力データを構成する状態変数(本実施の形態においては加工前ワークデータ及び加工後ワークデータ)は生成される学習済モデルの精度を決定付ける最も重要な要素である。そして、状態変数として取得する情報の組み合わせが異なれば、生成される学習済モデルも当然異なることから、その組み合わせについても極めて重要な要素である。
 また、加工の種類データとは、(マシニングセンタMCで行う)加工の種類、詳しくは例えば「穴あけ」、「座ぐり」、「平削り」、「溝削り」、「旋削」、「タッピング」、「研削」といった加工の手法を示す情報で構成されたデータである。本データは、加工の手法を示す情報のみで構成されていてもよいが、その具体的な寸法や加工形状等の加工に関連した詳細情報をも含んだ形式のデータであるとより好ましい。本データにおいてはそのデータ形式は特に限定されず、加工の種類が特定できるものであればどのような形式のものであっても(例えばテキスト形式等であっても)よい。
 更に、工具データは、工具、詳しくは例えば「ドリル」、「平フライス」、「正面フライス(フェイスミル)」、「エンドミル」、「ボーリング」、「リーマ」、「タップ」、「砥石」といった工具の名前を示す情報で構成されたデータである。本データは、工具の名前のみで構成されていてもよいが、その具体的な寸法等の情報をも含んだ形式のデータであるとより好ましい。また、例えば加工の種類が「穴あけ」である場合でも、実際の加工においては、ドリルやエンドミルのみを用いて行う場合だけでなく、下穴形成用のドリルと穴径調整用のリーマとを組み合わせて行う場合等があり得る。したがって、加工の種類に対応する工具の数は1個に限定されず、2個以上であってもよい。そして、本データにおいても、加工の種類データと同様そのデータ形式は特に限定されず、加工の種類データと同様のデータ形式を採用することができる。
 学習用データセット記憶ユニット12は、学習用データセット取得ユニット11で取得した加工前ワークデータ、加工後ワークデータ、加工の種類データ及び工具データを、学習用データセット単位で記憶するためのデータベースである。なお、説明の都合上、この学習用データセット記憶ユニット12は後述する学習済モデル記憶ユニット14とは別の記憶手段として記載しているが、これらは単一の記憶媒体(データベース)によって構成されていてもよい。
 学習ユニット13は、学習用データセット記憶ユニット12に記憶された複数の学習用データセットを用いて機械学習を実行し、学習済モデルを生成するものである。本実施の形態においては、以下に説示するように、機械学習の具体的な手法としてニューラルネットワークを用いた教師あり学習を採用している。ただし、機械学習の具体的な手法については、これに限定されるものではなく、入出力の相関関係を学習用データセットから学習することができるものであれば他の学習手法を採用することも可能である。例えば、アンサンブル学習(ランダムフォレスト、ブースティング等)を用いることもできる。
 図2は、本発明の第1の実施の形態に係る機械学習装置において実施される教師あり学習のためのニューラルネットワークモデルの例を示す図である。図2に示すニューラルネットワークモデルにおけるニューラルネットワークは、入力層にあるl個のニューロン(x1~xl)、第1中間層にあるm個のニューロン(y11~y1m)、第2中間層にあるn個のニューロン(y21~y2n)、及び出力層にある2個のニューロン(z1、z2)から構成されている。第1中間層及び第2中間層は、隠れ層とも呼ばれており、ニューラルネットワークとしては、第1中間層及び第2中間層の他に、さらに複数の隠れ層を有するものであってもよく、あるいは第1中間層のみを隠れ層とするものであってもよい。
 また、入力層と第1中間層との間、第1中間層と第2中間層との間、第2中間層と出力層との間には、層間のニューロンを接続するノードが張られており、それぞれのノードには、重みwi(iは自然数)が対応づけられている。
 本実施の形態に係るニューラルネットワークモデルにおけるニューラルネットワークは、学習用データセットを用いて、加工前ワークデータ及び加工後ワークデータと、加工の種類データ及び工具データとの相関関係を学習する。具体的には、状態変数としての加工前ワークデータ及び加工後ワークデータのそれぞれについて入力層のニューロンを対応づけ、出力層にあるニューロンの値を、一般的なニューラルネットワークの出力値の算出方法で、つまり、出力側のニューロンの値を、当該ニューロンに接続される入力側のニューロンの値と、出力側のニューロンと入力側のニューロンとを接続するノードに対応づけられた重みwiとの乗算値の数列の和として算出することを、入力層にあるニューロン以外の全てのニューロンに対して行う方法を用いることで、算出する。なお、状態変数を入力層のニューロンに入力するに際し、状態変数として取得した情報をどのような形式として入力するかは、生成される学習済モデルの精度等を考慮して適宜設定することができる。例えば、状態変数としての加工前ワークデータ及び加工後ワークデータを入力層のニューロンに入力するに際しては、点群データを構成する直交座標で構成された各点に関する情報を入力層にそれぞれ入力することができる。
 そして、算出された出力層にある2つのニューロンz1、z2の値、すなわち本実施の形態においては、加工の種類データ及び工具データと、学習用データセットの一部を構成する、同じく加工の種類データ及び工具データからなる教師データt1、t2とを、それぞれ比較して誤差を求め、求められた誤差が小さくなるように、各ノードに対応づけられた重みwiを調整する(バックプロバケーション)ことを反復する。
 そして、上述した一連の工程を所定回数反復実施すること、あるいは前記誤差が許容値より小さくなること等の所定の条件が満たされた場合には、学習を終了して、そのニューラルネットワークモデル(のノードのそれぞれに対応づけられた全ての重みwi)を学習済モデルとして学習済モデル記憶ユニット14に記憶する。
 学習済モデル記憶ユニット14は、学習ユニット13で生成された学習済モデルを記憶するためのデータベースである。この学習済モデル記憶ユニット14に記憶された学習済モデルは、要求に応じて、インターネット等の通信手段や記憶媒体を介して実システムへ適用される。実システム(データ処理システム)に対する学習済モデルの具体的な適用態様については、後に詳述する。
 なお、学習用データセット記憶ユニット12に記憶される学習用データセットは、上述した通り、学習用データセット取得ユニット11で取得したデータに基づいて生成されているものである。ここで、この学習用データセット取得ユニット11で取得するデータは、種々の加工内容(加工の種類及びその工具)が均等に網羅されているとは限らない。例えば過去に実際に加工を行った履歴情報等を利用して学習用データセットを準備する場合、多くの加工実績がある加工内容もあればごくわずかしか加工実績のない加工内容も存在する。そのような場合、学習ユニット13によって生成された学習済モデルは、多くの加工実績のあった加工に関連する出力は精度よく推論することができる反面、加工実績の少ない加工に関連する出力の推論精度は相対的に低くなってしまう。そこで、このような推論精度のバラつきを抑えるために、学習用データセット記憶ユニット12内に記憶されている学習用データセットのうち、その加工の種類データ及び工具データの出現頻度が比較的低いものに対しては、データオーギュメンテーション(data augmentation)を行うことが好ましい。このデータオーギュメンテーションの具体的な方法としては、例えば、その加工の種類データ及び工具データの出現頻度が比較的低い学習用データセットを特定した後、この特定した学習用データセットの加工前ワークデータ及び加工後ワークデータを構成する点群データを再構成する(すなわち、ランダムに特定される点群情報を再度特定しなおす)ことで、実質的に学習用データセットを増やす方法を採用することができる。
<機械学習方法>
 上述の機械学習装置10に関連して、本発明は、機械学習方法をも提供する。図3は、本発明の第1の実施の形態に係る機械学習方法を示すフローチャートである。この機械学習方法はコンピュータを用いることで実現されるものであるが、コンピュータとしては種々のものが適用可能であり、例えばCAD/CAMシステムを構成するコンピュータ、あるいはネットワーク上に配されたサーバ装置等を挙げることができる。また、このコンピュータの構成については、例えば、少なくともCPU等からなる演算装置と、揮発性又は不揮発性のメモリ等で構成される記憶装置と、ネットワークや他の機器に通信するための通信装置と、これら各装置を接続するバスとを含むものを採用することができる。以下に示す機械学習方法は、上述した機械学習装置10の主に学習ユニット13において同様の方法が実施できることは、当業者であれば容易に理解できるであろう。
 以下に示す一連の学習プロセスを実行する準備として、初めに、上記機械学習装置の学習用データセット取得ユニット11及び学習用データセット記憶ユニット12が実施する処理と同様のステップ、すなわち事前に上述した学習用データセットを複数個準備するステップを実行する。この学習用データセットは、互いに関連付けられた、加工前ワークデータ、加工後ワークデータ、加工の種類データ及び工具データで構成され、各学習用データセットは、構成するデータの内容が異なったものである。ここで準備する学習用データセットの数については、学習プロセス後に得られる学習済モデルの推論精度を考慮して、できるだけ多く準備すると好ましい。そして、ここで準備された複数個の学習用データセットは、所定の記憶媒体に記憶しておくとよい。
 本発明に係る機械学習方法としての教師あり学習を実行する場合には、先ず、初期値の重みを備えた学習前モデルを準備する(ステップS11)。次いで、学習用データセット記憶ユニット12内に記憶されている複数個の学習用データセットの中から一の学習用データセットを選定する(ステップS12)。そして、ステップS12で取得した学習用データセット内の、加工前ワークデータと加工後ワークデータとを学習前モデルの入力層(図2参照。)に入力することで、出力層(図2参照。)に加工の種類データ及び工具データを出力する(ステップS13)。
 上記ステップS13において生成された出力層を構成する制御用データとしての加工の種類データ及び工具データは、学習前モデルによって生成されたものであるため、ほとんどの場合望ましい結果とは異なる内容のものとなる。そこで、次に、ステップS12において取得された教師データを構成する制御情報とステップS13において生成された出力層を構成する制御情報とを用いて、機械学習を実施する(ステップS14)。ここで行う機械学習とは、例えば、教師データを構成する制御情報と出力層を構成する制御情報とを比較し、両者の誤差を検出し、この誤差が小さくなるような出力層が得られるよう、学習前モデル内の各ノードに対応付けられた重みを調整すること(バックプロパゲーション)を指す。
 ステップS14において機械学習が実施されると、さらに機械学習を継続する必要があるか否かを、例えば学習用データセット記憶ユニット12内に記憶された未学習の学習用データセットの残数に基づいて特定する(ステップS15)。そして、機械学習を継続する場合(ステップS15でNo)にはステップS12に戻り、機械学習を終了する場合(ステップS15でYes)には、ステップS16に移る。上記機械学習を継続する場合には、ステップS12~S14の工程をまだ学習を行っていない学習用データセットを用いて複数回実施することとなり、通常は、その回数に比例して、最終的に生成される学習済モデルの精度は高くなる。
 機械学習を終了する場合には、各ノードに対応付けられた重みが一連の工程によって調整され生成されたニューラルネットワークを学習済モデルとして、学習済モデル記憶ユニット14に記憶し(ステップS16)、一連の学習プロセスを終了する。ここで記憶された学習済モデルは、種々のデータ処理システムに適用され使用されるものであるが、その詳細は後述する。
 上述した機械学習装置の学習プロセス及び機械学習方法においては、1つの学習済モデルを生成するために、1つのニューラルネットワーク(学習前モデル)に対して複数回の機械学習処理を繰り返し実行することでその精度を向上させ、データ処理システムに適用する学習済モデルを生成するものを説示しているが、本発明はこの取得方法に限定されない。例えば、所定回数の機械学習を実施した学習済モデルを一候補として複数個学習済モデル記憶ユニット14に格納しておき、この複数個の学習済モデル群に妥当性判断用のデータセットを入力して出力層(のニューロンの値)を生成し、出力層で特定された制御データの精度を比較検討して、データ処理システムに適用する最良の学習済モデルを1つ選定するようにしてもよい。なお、妥当性判断用データセットは、学習に用いた学習用データセットと同様のデータセットで構成され、且つ学習に用いられていないものであればよい。
 以上説明した通り、本実施の形態に係る機械学習装置及び機械学習方法を適用することにより、3D-CADデータで構成された加工前ワークデータ及び加工後ワークデータから、加工後ワークを得るために必要な加工の種類及びその加工に用いられる工具を出力することが可能な学習済モデルを生成することができる。
<データ処理システム>
 次に、図4を参照して、上述した機械学習装置及び機械学習方法によって生成された学習済モデルの適用例を説示する。図4は、本発明の第1の実施の形態に係るデータ処理システムとしてのサーバ装置を含むネットワークシステムを示す概略説明図である。本実施の形態では、データ処理システムとして、サーバ装置20を採用している。そして、このサーバ装置20には上述した学習済モデルが適用されており、主にCAD/CAMシステム30からの要求に基づいてデータ処理を実行するものである。なお、ここではデータ処理システムに対するデータ処理の要求をCAD/CAMシステム30が行うものとしているが、CAD/CAMシステム30以外からの要求に対しても同様のデータ処理を行うことができることは構造上明らかである。以下にその詳細を説明する。
 サーバ装置20は、GPU(Graphics Processing Unit)サーバ等で構成され、外部から加工前ワークデータ及び加工後ワークデータが入力されると、加工の種類及びその加工に用いられる工具を出力することができるものである。
 図5は、本発明の第1の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。サーバ装置20は、図5に示すように、主にI/Fユニット(第1のデータ取得ユニット)21と、推論ユニット(第1の推論ユニット)22と、学習済モデル格納ユニット27とを含むものである。
 I/Fユニット21は、データの送受信、詳しくは加工前ワークデータ及び加工後ワークデータからなる入力データを受信し、加工の種類及びその加工に用いられる工具からなる出力データを送信するものである。本実施の形態においては、入力データはCAD/CAMシステム30から送信され、出力データはCAD/CAMシステム30へ返信され、データの送受信はネットワークNWを介して行われる。なお、入力データの送信元はCAD/CAMシステム30以外の通信可能な装置、例えば設計者の端末装置PC1や他の端末装置等であってもよい。
 推論ユニット22は、I/Fユニット21で受信した加工前ワークデータ及び加工後ワークデータに基づいて、加工後ワークを得るために必要な加工の種類とその加工に必要な工具を推論するものである。この推論には上述した機械学習方法を経て学習がなされ、後述する学習済モデル格納ユニット27内に格納された学習済モデルが用いられる。詳しくは、例えば点群データで構成された加工前ワークデータ及び加工後ワークデータの各点の座標データをそれぞれ学習済モデルの入力層に入力して推論を実行し、出力層に出力された結果を加工の種類及びその加工に用いられる工具と特定する。なお、出力層に出力された加工の種類及びその加工に用いられる工具の情報は、例えば図5に示したような、表形式のデータに整えられた後、I/Fユニット21を介してCAD/CAMシステム30に返されると、その後の作業に円滑に移行でき好ましい。また、このサーバ装置20において、I/Fユニット21で受信した入力データと推論ユニット22の推論結果としての加工の種類及びその加工に必要な工具とを、後述する学習済モデル格納ユニット27内に格納された学習済モデルの更なる精度向上のための、学習用データセットとして利用し、いわゆるオンライン学習を実現してもよい。
 学習済モデル格納ユニット27は、上記推論ユニット22において参照される学習済モデルを含む各種情報を格納可能なデータベースで構成される。本実施の形態のように、データ処理システムとしてのサーバ装置20がネットワークNW上に単体で存在している場合にあっては、加工前ワークデータ及び加工後ワークデータを送信するCAD/CAMシステム30は1つに限定されない。したがって、この学習済モデル格納ユニット27内に学習済モデルを複数個格納しておき、推論ユニット22において、加工前ワークデータ及び加工後ワークデータを送信するCAD/CAMシステム30毎に、あるいはCAD/CAMシステム30側からの指示に基づいて異なる学習済モデルを参照できるようにすると、より高精度の推論を実現でき好ましい。
 上記異なる学習済モデルとしては、例えばCAD/CAMシステム30が作成するNCコードが適用されるNC工作機械(マシニングセンタMC)の機能に合わせて利用する学習済モデルが変更できるよう、出力される加工の種類及びその加工に用いられる工具が制限されたものを複数個準備すると好ましい。これは、学習済モデルの推論結果として、仮に利用するNC工作機械では実施が不可能な加工の種類や工具が出力されてしまうと、オペレータがその推論結果とは異なる加工の種類あるいは工具を別途選定し直す等の作業が生じるためである。なお、出力される加工の種類及びその加工に用いられる工具が制限された学習済モデルを生成するためには、機械学習に用いる学習用データセットに含まれる加工の種類及び工具を限定すればよい。
 また、図5には図示を省略しているが、推論ユニット22は、学習済モデルの入力層に入力データの各パラメータを入力するための所定のデータ処理を実行するための前処理ユニットと、学習済モデルの出力層に出力されたデータを所望の形式、すなわち上述したような加工後ワークを得るために必要な加工の種類及びその加工に用いられる工具のデータで構成された出力データの形式とするためのデータ処理を実行するための後処理ユニットとを備えていると好ましい。これら前処理ユニット及び後処理ユニットを採用することによってデータ形式の変換等を行うことで、最適な出力データを生成することができる。また、このサーバ装置20において、I/Fユニット21で受信した入力データと推論ユニット22の推論結果としての加工の種類及びその加工に用いられる工具とを、学習済モデル格納ユニット27内に格納された学習済モデルの更なる精度向上のための、学習用データセットとして利用してもよい。この利用の具体的な方法については、例えば上述した機械学習装置及び機械学習方法において説明した方法と同様の方法を採用すればよい。
 次に、CAD/CAMシステム30は、設計者の端末装置PC1にて作成された3D-CADデータ等に基づき、所定のNC工作機械、例えばマシニングセンタMCを動作させるためのNCコードを作成するためのものである。このCAD/CAMシステム30は主に、I/Fユニット31と、NCコード生成ユニット32と、を含むものである。
 I/Fユニット31は、設計者の端末装置PC1等から送信される加工前ワークデータ及び加工後ワークデータを取得したり、サーバ装置20から送信された加工の種類及びその加工に用いられる工具の情報を取得したりするためのものである。また、このI/Fユニット31は、取得した加工前ワークデータ及び加工後ワークデータをサーバ装置20に送信することもできる。本実施の形態においては、データの送受信はネットワークNWを介して行われる。
 NCコード生成ユニット32は、設計者の端末装置PC1及びサーバ装置20から送信され取得した加工前ワークデータ、加工後ワークデータ、加工の種類及びその加工に用いられる工具の情報と、必要に応じてオペレータにより追加で入力等される各種情報に基づいて、マシニングセンタMCを動作させるNCコードを生成するものである。ここで生成されたNCコードをマシニングセンタMCに入力・実行することによって、ブロック材又はブランク材の加工作業が開始される。
 次に、図6を参照して、データ処理システムとしてのサーバ装置20を利用した、CAD/CAMシステム30によるNCコード生成プロセスを説明する。
 図6は、本発明の第1の実施の形態に係るCAD/CAMシステムの動作を示すフローチャートである。CAD/CAMシステム30においてNCコードを生成する際は、先ず、設計者の端末装置PC1から送信される加工前ワークデータ及び加工後ワークデータを取得する(ステップS21)。そして次に、加工後ワークを得るために必要な加工の種類及びその加工に用いられる工具を特定するために、取得した加工前ワークデータ及び加工後ワークデータをサーバ装置20へ送信する(ステップS22)。加工前ワークデータ及び加工後ワークデータを受信したサーバ装置20は、特定の学習済モデルを用いて推論を実行し、推論結果としての加工の種類及びその加工に用いられる工具を出力する。出力された出力データとしての加工の種類及びその加工に用いられる工具はCAD/CAMシステム30に返信され、CAD/CAMシステム30はその出力データを取得する(ステップS23)。そして、入手した加工前ワークデータ、加工後ワークデータ、加工の種類及びその加工に用いられる工具の情報を利用して、オペレータによる工程設計が実行され、NCコードが生成される(ステップS24)。
 上記実施の形態では、加工前ワークデータ及び加工後ワークデータは、設計者の端末装置PC1からCAD/CAMシステム30に送信され、CAD/CAMシステム30がこの受信した加工前ワークデータ及び加工後ワークデータをサーバ装置20に送信するものとしたが、本発明はこれに限定されない。例えば、加工前ワークデータ及び加工後ワークデータを設計者の端末装置PC1からサーバ装置20へ直接送信するように設定し、サーバ装置20が加工の種類及びその加工に用いられる工具の情報と共に加工前ワークデータ及び加工後ワークデータをCAD/CAMシステム30へ送信するようにしてもよい。また、本実施の形態に係るデータ処理システムの実施の態様は、上述したサーバ装置20に限定されるものではなく、例えば、データ処理システムの機能が特定のCAD/CAMシステム30に内蔵され、CAD/CAMシステム30内で推論等を実行する態様としてもよい。
 以上説明した通り、本実施の形態に係るデータ処理システムを用いることにより、CAD/CAMシステム30におけるNCコード作成に際し、加工の種類及びその加工に用いられる工具が加工前ワークデータ及び加工後ワークデータのみから自動的に特定されるようになる。したがって、オペレータによる工程設計の一部を自動化することができ、工程設計の工数を大幅に削減することができるようになる。また、加工の種類及びその加工に用いられる工具が自動的に特定されることで、各オペレータの経験値の差に起因する製品の出来栄えのバラつきを抑えることができる。
<第2の実施の形態>
 上記第1の実施の形態においては、3D-CADデータで構成される加工前ワークデータ及び加工後ワークデータのみを入力データとして加工の種類及びその加工に用いられる工具を推論できる学習済モデルを得る機械学習装置及び機械学習方法、並びにその学習済モデルを利用したデータ処理システムについて説明した。しかし、3D-CADデータに、図面自体からは直接読み取ることが困難な情報、例えば図面中にテキスト情報等の形で入力されているような情報(以下、「付加情報」という。)が含まれている場合には、上記第1の実施の形態では適切な出力を行うことが困難になることがある。
 この点についてさらに詳細に説明すると、第1の実施の形態においては、上述したように、種々のデータ形式で構成される3D-CADデータを点群データに変換・統一している。ここで、点群データは3D-CADデータで描画された図形中のランダムな点の座標情報を集めたデータである。したがって、例えばワークの所定の面の表面粗さや、タッピング等の微細加工が施された部分の形状等については、点群データ自体からは読み取ることができない。また、そもそも図形からは特定できない情報、例えばワークに用いられる材料や加工時に要求される公差、あるいは研磨加工等の特殊加工情報(これらの情報は多くの場合、点群データに変換・統一される前の3D-CADデータ中に、テキスト情報として入力されている)についても、同様に点群データ自体からは読み取ることができない。
 しかし、設計者が作成する加工後ワークデータ中には、上述したような付加情報が(何らかの形式で)含まれているのが通常である。したがって、このような付加情報をも考慮して加工の種類及び使用する工具を特定することができれば、工程設計に際してより精度の高い情報をオペレータに提供することができることになるといえる。
 そこで、以下には本発明の第2の実施の形態として、加工前ワークデータと加工後ワークデータと付加情報とに基づいて、その加工の種類及び使用する工具を特定することが可能な推論モデルを得るための機械学習装置及び機械学習方法並びにこの推論モデルを用いたデータ処理システムについて説明を行う。なお、以下に示す第2の実施の形態に係る機械学習装置、機械学習方法及びデータ処理システムについては、上述した第1の実施の形態と異なる点を中心に説明し、第1の実施の形態と共通する構成等については同一の符号を付してその説明を省略するものとする。
<機械学習装置>
 第2の実施の形態に係る機械学習装置は、学習用データセットを構成するデータが異なる点以外は図1に示すものと同一の構成を備えている。したがって、各構成の詳細について、第1の実施の形態において述べたのと同様である場合には、その説明を省略するものとする。なお、以下の説明においては、第1の実施の形態に係る機械学習装置10と区別するために、第2の実施の形態に係る機械学習装置及びこの機械学習装置が備える各構成に対しては、その符号の末尾に「A」を追記して第1の実施の形態に係る機械学習装置10と区別するものとする。
 第2の実施の形態に係る機械学習装置10Aの学習用データセット取得ユニット11Aにおいて取得するデータは、5種類のデータで構成される。すなわち、上述した加工前ワークデータ、加工後ワークデータ、加工の種類データ及び工具データに、工作機械を用いた加工に関連する付加情報を加えた5種類で構成される。なお、第2の実施の形態においても、以下の説明を簡単にするために、加工前ワークから加工後ワークを得るために行われる加工は1種類のみとする。
 この学習用データセット取得ユニット11Aが取得する付加情報とは、微細加工情報、公差情報、ワークの材料情報、及び特殊加工情報の少なくとも1つを含むものである。このうち、微細加工情報とは、タッピング加工や微小な面取り加工等、その加工寸法が小さく加工前後の体積変化量がわずかしか変化しない加工であり、ワークの形状データのみからは認識しにくい情報を指す。また、特殊加工情報とは、研磨加工等、その加工寸法が極めて小さく加工前後の体積変化量が実質的にゼロの加工であり、ワークの形状データのみからは認識できない加工に関する情報を指す。また、付加情報のデータ形式は特に限定されず、付加情報の内容が特定できるものであればどのような形式のものであってもよい。
 上記付加情報のうち、微細加工情報及び特殊加工情報は、加工の種類及びその加工に用いられる工具の選定の両方に影響のある情報である。ここで、本実施の形態においては、加工前ワークから加工後ワークを得るために行われる加工は1種類のみであるとしているため、付加情報が微細加工情報又は特殊加工情報である場合には、加工前ワークデータと加工後ワークデータとは同一の点群データで構成されることになる。しかしながら、加工前ワークデータ及び加工後ワークデータはその内容が同一であるか否かに関わらず機械学習においては必須のデータである。したがって、本実施の形態における学習用データセットには、同一の点群データからなる加工前ワークデータ及び加工後ワークデータと、微細加工情報又は特殊加工情報に関する付加情報とを含むものが存在することとなる。
 また、上記付加情報のうち、公差情報及びワークの材料情報は、特に工具の選定に大きな影響のある情報である。例えば、許容される公差が小さい場合には高精度の加工が可能な工具を選定する必要があるし、ワークが比較的硬度の低い材料(例えばアルミ)からなる場合には工具の強度をあまり考慮する必要がなくなるからである。ただし、公差情報及びワークの材料情報は、上述した微細加工情報や特殊加工情報と比べると加工の種類に対する影響は少ないものであるため、これらの付加情報に関連付けられる加工前ワークデータ及び加工後ワークデータは、多くの場合異なる点群データで構成される。
 学習用データセット記憶ユニット(第2の学習用データセット記憶ユニット)12Aは、学習用データセット取得ユニット11Aで取得した加工前ワークデータ、加工後ワークデータ、付加情報、加工の種類データ及び工具データを、学習用データセット単位で記憶するためのデータベースである。学習ユニット(第2の学習ユニット)13Aは、学習用データセット記憶ユニット12Aに記憶された複数の学習用データセットを用いて機械学習を実行し、学習済モデルを生成するものである。学習済モデル記憶ユニット(第2の学習済モデル記憶ユニット)14Aは、学習ユニット13Aで生成された学習済モデルを記憶するためのデータベースである。
 ここで、学習ユニット13Aにおける学習方法は、基本的には上記第1の実施の形態に係る学習ユニット13において実行したニューラルネットワークモデルを用いた教師あり学習と同様である。ただし、本学習ユニット13において用いられる学習用データセットには付加情報が含まれており、この付加情報は、加工前ワークデータ及び加工後ワークデータと同様に、状態変数として入力層に入力される。また、この入力に関連して、状態変数を入力層に入力する前に、適宜前処理を実行することで状態変数のバランスを調整してもよい。具体的には、例えば状態変数のうち比較的データ量の多い加工前ワークデータ及び加工後ワークデータの2つに対し、入力層に入力する前にそのデータ量を集約するための前処理を実行するようにしてもよい。
<機械学習方法>
 第1の実施の形態と同様に、本実施の形態においても、上述の機械学習装置10Aに関連して、機械学習方法を提供する。図7は、本発明の第2の実施の形態に係る機械学習方法を示すフローチャートである。
 本実施の形態に係る機械学習方法としての教師あり学習を実行する場合には、先ず、初期値の重みを備えた学習前モデルを準備する(ステップS31)。次いで、学習用データセット記憶ユニット12A内に記憶されている複数個の学習用データセットの中から一の学習用データセットを選定する(ステップS32)。そして、ステップS32で取得した学習用データセット内の、加工前ワークデータと加工後ワークデータと付加情報とを学習前モデルの入力層に入力することで、出力層として加工の種類データ及び工具データを生成する(ステップS33)。次に、ステップS32において取得された教師データを構成する制御情報とステップS33において生成された出力層を構成する制御情報とを用いて、機械学習を実施する(ステップS34)。
 ステップS34において機械学習が実施されると、さらに機械学習を継続する必要があるか否かを特定する(ステップS35)。機械学習を継続する場合(ステップS35でNo)にはステップS32に戻り、機械学習を終了する場合(ステップS35でYes)には、ステップS36に移る。上記機械学習を継続する場合には、ステップS32~S34の工程をまだ学習を行っていない学習用データセットを用いて複数回実施し、機械学習を終了する場合には、各ノードに対応付けられた重みが調整され生成されたニューラルネットワークを学習済モデルとして、学習済モデル記憶ユニット14Aに記憶し(ステップS36)、一連の学習プロセスを終了する。
 以上説明した通り、本実施の形態に係る機械学習装置及び機械学習方法を適用することにより、3D-CADデータで構成された加工前ワークデータ及び加工後ワークデータと、加工に関連する付加情報とから、加工後ワークを得るために必要な加工の種類及びその加工に用いられる工具を出力することが可能な学習済モデルを生成することができる。
<データ処理システム>
 次に、上述した第2の実施の形態に係る機械学習装置及び機械学習方法によって生成された学習済モデルの適用例を説示する。第2の実施の形態のデータ処理システムも、第1の実施の形態に係るデータ処理システムと同様に、サーバ装置を採用しており、図4に示すネットワークシステムの環境下において動作するものである。したがって、ネットワークシステムの構造及びCAD/CAMシステム30の詳細についてはその説明を省略する。
 図8は、本発明の第2の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。本実施の形態に係るデータ処理システムとしてのサーバ装置20Aは、I/Fユニット(第2のデータ取得ユニット)21Aと、推論ユニット(第2の推論ユニット)22Aと、学習済モデル格納ユニット27Aと、を含むものである。
 I/Fユニット21Aは、データの送受信、詳しくは加工前ワークデータ、加工後ワークデータ及び付加情報からなる入力データを受信し、加工の種類及びその加工に用いられる工具からなる出力データを送信するものである。推論ユニット22Aは、I/Fユニット21Aで受信した加工前ワークデータ、加工後ワークデータ及び付加情報に基づいて、加工後ワークを得るために必要な加工の種類とその加工に必要な工具を推論するものである。学習済モデル格納ユニット27Aは、推論ユニット22Aにおいて参照される、第2の実施の形態に係る機械学習装置10A及び機械学習方法で作成された学習済モデルを格納している。
 ここで、第2の実施の形態に係るサーバ装置20Aにおいては、図8に示したように、加工前ワークデータ及び加工後ワークデータに加えて、更に付加情報(図8においては微細加工情報であるタッピング加工に関する情報)が含まれた入力データを受信することができる。したがって、推論ユニット22Aによる推論され出力される出力データは、加工前ワークデータ及び加工後ワークデータからは認識することができない情報を考慮したものとなる。したがって、この出力データを受信したCAD/CAMシステム30では、形状データからは認識できない加工や情報をも考慮した加工の種類及びその加工に用いられる工具を含む工程設計を部分的に自動化することができる。
 以上説明した通り、本実施の形態に係るデータ処理システムを用いることにより、CAD/CAMシステム30におけるNCコード作成に際し、加工の種類及びその加工に用いられる工具を、加工前ワークデータ及び加工後ワークデータに加えて更に付加情報をも参酌することで自動的に且つ精度よく特定されることになる。したがって、オペレータによる工程設計の一部を自動化することができ、工程設計の工数を大幅に削減することができるものである。
<第3の実施の形態>
 上述した第1及び第2の実施の形態においては、上述したように、加工前ワークから加工後ワークを得るために行われる加工は1種類のみである場合について説明した。しかし、実際の設計現場において、ブロック材等の加工前ワークから完成品である機械部品としてのワークを得るために行われる加工作業が1種類のみである場合はほとんどなく、複数の加工作業を経て機械部品を製造するのが通常である。したがって、以下には、第3及び第4の実施の形態として、加工前ワークデータ及び加工後ワークデータ(及び必要に応じて一乃至複数の符号情報)から、複数の加工の種類及びその加工に用いられる工具を推論することが可能な、学習済モデルを用いたデータ処理システムについて主に説明する。なお、以下に述べるデータ処理システムにおいては、第1及び第2の実施の形態において説明したものとその前提となる環境は同一であるので、データ処理システム自体以外の各構成については、別途説明する場合を除き、第1及び第2の実施の形態において述べたものと同様とする。なお、以下には、理解を容易にするため、加工前ワークのうち特に複数の加工が行われる前のブロック材又はブランク材からなるものを未加工ワークと呼び、加工後ワークのうち特に複数の加工が行われて機械部品として完成したワークを完成ワークと呼ぶものとする。
 図9は、本発明の第3の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。本実施の形態に係るサーバ装置20Bは、図9に示すように、データの送受信を行うI/Fユニット21Bと、I/Fユニット21Bで受信した未加工ワークデータ及び完成ワークデータ(及び必要に応じて1乃至複数の付加情報)からなる入力データに基づいて、加工の種類及びその加工に用いられる工具のデータからなる出力データを推論する推論ユニット22Bと、推論ユニットBで使用する学習済モデルを格納する学習済モデル格納ユニット27Bと、を含むものである。
 ここで、学習済モデル格納ユニット27B内に格納されている学習済モデルは、上記第1又は第2の実施の形態に係る機械学習装置及び機械学習方法と同様のものを用いて生成される。ただし、この学習済モデルを生成するに際しては、学習用データセットとして、加工の種類及びその加工に用いられる工具の情報が複数個含まれたものをも使用する。なお、本実施の形態のように、加工の種類及びその加工に用いられる工具の数が限定されない場合には、十分な機械学習に必要な学習用データセットの数は、第1及び第2の実施の形態における機械学習に比べて増加する。
 上述したサーバ装置20Bによるデータ処理について説明する。図8に示すように、例えばCAD/CAMシステム30から送信された未加工ワークデータ及び完成ワークデータからなる入力データをI/Fユニット21Bが受信すると、推論ユニット22Bにおいて、I/Fユニット21Bが受信した未加工ワークデータ及び完成ワークデータを学習済モデルの入力層に入力して、完成ワークを得るために行われる加工の種類及びその加工に用いられる工具の推論を実行する。
 この推論に際し、本実施の形態のサーバ装置20Bでは、上述した通り、加工前ワーク(未加工ワーク)から加工後ワーク(完成ワーク)を得るために行われる加工の種類が1種類でない入力データに対しても推論が可能な学習済モデルを用いている。そのため、図9に例示するように、出力される加工の種類及びその加工に用いられる工具も推論される加工の種類に応じて複数組(図9においては2組)出力され、これらの情報は、各々の加工の種類とその加工に用いられる工具の組が関連付けられた形で、出力データとしてCAD/CAMシステム30へ返信される。
 このように、データ処理システムが用いる学習済モデルとして、未加工ワークデータ及び完成後ワークデータ(及び必要に応じて一乃至複数の付加情報)から複数の加工の種類及びその加工に用いられる工具を推論することが可能なものを採用すれば、入力データとしての未加工ワークデータ及び完成ワークデータ(及び必要に応じて一乃至複数の付加情報)が、加工の種類及びその加工に用いられる工具の数に制約されることがない。したがって、例えば設計者の端末装置PC1から未加工ワークデータ及び完成ワークデータを受信したCAD/CAMシステム30において、この受信した未加工ワークデータ及び完成ワークデータをそのままサーバ装置20Bの入力データとして使用でき、オペレータはより簡単に加工の種類及びその加工に用いられる工具の情報を得ることができるようになる。
<第4の実施の形態>
 上記第3の実施の形態のデータ処理システムによれば、その加工の回数に関わらず、未加工ワークデータ及び完成ワークデータ(及び必要に応じて一乃至複数の付加情報)に基づいて、加工の種類及びその加工に用いられる工具を推論することができる。しかし、このデータ処理システムを実現する学習済モデルを準備するためには、加工の回数が異なる複数の学習用データセットを準備しなければ精度の高い推論を実現できる学習済モデルを生成することはできない。したがって、上記第3の実施の形態に係るデータ処理システムを実現するには、ある程度の費用と時間を要する。そこで、以下には、第4の実施の形態として、複数の加工を経て製造される機械部品に対して加工の種類及びその加工に用いられる工具の情報を提供するデータ処理システムとして、第1又は第2の実施の形態で生成された学習済モデルを利用しつつ、複数の加工の種類及びその加工に用いられる工具の情報を提供する方法を例示する。
 図10は、本発明の第4の実施の形態に係るデータ処理システムとしてのサーバ装置及びCAD/CAMシステムの概略ブロック図である。本実施の形態に係るデータ処理システムとしてのサーバ装置20Cは、その構成自体は第1の実施の形態に係るサーバ装置20と同様である。本実施の形態が第1の実施の形態と異なる点は、設計者の端末装置PC1等から未加工ワークデータ及び完成ワークデータ(及び必要に応じて一乃至複数の付加情報)を取得したCAD/CAMシステム30が、取得した未加工ワークデータから完成ワークデータに至るまでの過程で生成される加工途中のワークのデータ(以下、「中間加工ワークデータ」という。)を準備し、1つの加工が行われる前後のワークデータを加工前ワークデータ及び加工後ワークデータとして複数の入力データを生成し、順次サーバ装置20Cへ送信するようにした点である。
 上述した中間加工ワークデータをどのように生成するかについては、種々の方法を採用することができる。例えば、CAD/CAMシステム30のオペレータが未加工ワークデータ及び完成ワークデータを参照することにより中間加工ワークデータを作成することとしてもよい。なお、この加工途中のワークのデータを生成する主体は、CAD/CAMシステム30でなくてもよい。具体的には、例えば設計者の端末装置PC1において未加工ワークデータ及び完成ワークデータと一緒に生成され、送信されてもよい。
 例えば、図10に示すように、CAD/CAMシステム30において、設計者の端末装置PC1から取得した未加工ワークデータ及び完成ワークデータに基づき、未加工ワークデータからなる加工前データと加工途中のワークを示す加工後ワークデータとからなる入力データ1と、入力データ1の加工後ワークデータと同一のデータからなる加工前ワークデータと完成ワークデータからなる加工後ワークデータとからなる入力データ2とが生成されたとする。そして、これらの入力データ1及び入力データ2が、サーバ装置20Cに(順次、あるいは一括で)送信されると、推論ユニット22Cは、入力データ1に対する推論と、入力データ2に対する推論とを、第1の実施の形態の機械学習装置及び機械学習方法により生成された学習済モデルを用いて、順次実行することになる。そして、これらの推論の結果としての加工の種類及びその加工に用いられる工具の各組のデータは、サーバ装置20C内で例えば一覧表の形式に整えられた後、出力データとしてCAD/CAMシステム30に返信される。出力データを一覧表の形式に調整する手段や、複数の入力データの順番を特定する手段については、各入力データに予め通し番号を付与しておく等周知の方法を用いることで実現できる。また、出力データの形式の調整についてはサーバ装置20Cで行う必要は必ずしもなく、CAD/CAMシステム30側で行うようにしてもよい。
 上記のように、第4の実施の形態に係るデータ処理システムによれば、サーバ装置20Cに入力される入力データを調整すれば、第1又は第2の実施の形態の機械学習装置及び機械学習方法により生成された学習済モデルを用いて、未加工ワークから完成ワークを得るために必要な一連の加工の種類及びその加工に用いられる工具の情報をも提供することができるようになる。
<第5の実施の形態>
 上記第4の実施の形態に係るデータ処理システムにおいては、中間加工ワークデータをオペレータが生成することを例示したが、この処理は、別途推論ユニットを用いて行うこともできる。そして、中間加工ワークデータが当該推論ユニットにより推論できれば、オペレータの工数をほとんど要することなく、工程設計を行うことが可能となる。そこで、以下には、第5の実施の形態として、本願の第1あるいは第4の実施の形態に示したデータ処理システムを応用し、上述した一連の工程設計の作成作業のほとんど全てを自動化することを可能としたデータ処理システムについて説明する。
 図11は、本発明の第5の実施の形態に係るデータ処理システムとしてのサーバ装置の概略ブロック図である。本実施の形態に係るサーバ装置20Dは、図11に示すように、I/Fユニット21Dと、推論ユニット22Dと、第1の学習済モデル格納ユニット26と、第2の学習済モデル格納ユニット27Dと、を少なくとも含む。また、上記構成のうちの推論ユニット22Dは、複数の加工情報セット及びそれらの実行順序を推論するための具体的な構成として、第1の推論ユニット23、整列ユニット24及び第2の推論ユニット25を含む。これらの構成のうち、第2の推論ユニット25及び第2の学習済モデル格納ユニット27Dが、上記第1の実施の形態に示した推論ユニット22及び学習済モデル格納ユニット27と同様のものである。また、本実施の形態に係るI/Fユニット21も、上記一実施の形態に係るI/Fユニット21と同様のものである。そこで、以下には本実施の形態に係るデータ処理システムのうち上記第1の実施の形態に係るデータ処理システムにはない構成について説明を行う。
 第1の推論ユニット23は、I/Fユニット21Dにおいて取得され送信された入力データとしての未加工ワークデータ及び完成ワークデータに基づいて、未加工ワークから完成ワークを得るための一連の加工を実行する毎に生成されるワークの形状を示す1乃至複数個の中間加工ワークデータ及びその生成順序データから構成された中間加工データを推論・生成するものである。この推論には後述する第1の学習済モデル格納ユニット26内に格納された第1の学習済モデルが用いられる。そして、ここで推論され出力された中間加工データは、I/Fユニット21Dが取得した入力データと共に整列ユニット24に送信される。第1の学習済モデルは例えばニューラルネットワークモデルで構成されるものであるが、その詳細については後述する。
 この第1の推論ユニット23で生成される中間加工データは、上述した通り、入力データを参照し、未加工ワークから完成ワークを得るために必要な一連の加工を実行した場合に、これら一連の加工のうちの一の加工が行われる毎に生成されるワークの形状を示す1乃至複数個の中間加工ワークデータと、未加工ワークを加工開始時の形状とし完成ワークを加工完了時の形状とした場合におけるこれら1乃至複数個の中間加工ワークデータが生成される順序を示す生成順序データとで構成されている。このうち、1乃至複数個の中間加工ワークデータは、未加工ワークデータ及び完成ワークデータと同様に、3次元の形状データで構成される。このようなデータで構成される中間加工データとしては、例えば生成される1乃至複数個の中間加工ワークデータをその生成順序に合わせて上から下へ昇順で整列させた表形式のデータ(図14参照。)とすることができる。
 また、図示は省略するが、第1の推論ユニット23は、第1の学習済モデルを用いて推論を実行する部分とは別に、この第1の推論ユニット23における入出力の情報を調整するための前処理ユニット及び後処理ユニットを含んでいる。このうち、前処理ユニットは、入力データのデータ形式の変換・統一や、第1の学習済モデルの入力層に入力するデータ数の調整等を行うためのものである。また、後処理ユニットは、第1の学習済モデルの出力層に出力されたデータを3次元の形状データで構成される1乃至複数個の中間加工ワークデータに調整したり、上述した表形式の中間加工データの形式に変換したりするためのものである。
 整列ユニット24は、入力データ及び中間加工データを取得すると、これらのデータ内の、未加工ワークデータ、完成ワークデータ及び1乃至複数個の中間加工ワークデータとを、その生成順序に合わせて時系列に整列させるものである。このように、入力データ及び中間加工データを時系列で整列させておくことで、後述する第2の推論ユニット25における推論を円滑に行うことができるようになる。そして、本実施の形態に係る整列ユニット24においては、後述する第2の推論ユニット25における処理を円滑に実行するために、整列させた複数の各ワークデータを、互いに隣接するワークデータ同士をセットにし、それぞれを一の加工に対する加工前ワークデータ及び加工後ワークデータとした複数個の工程データ(図14参照。)を作成する。なお、本実施の形態においては整列ユニット24を他のユニットとは別のユニットとして説示しているが、このような形式に限定されるものではない。例えば、この整列ユニット24の機能を第1の推論ユニット23の後処理ユニットの一部や、第2の推論ユニット25の前処理ユニットの一部の形式で実現することも可能である。
 第1の学習済モデル格納ユニット26は、第1の推論ユニット23において参照される第1の学習済モデルを格納可能なデータベースで構成される。ここで、第1の学習済モデル格納ユニット26内に格納される第1の学習済モデルは1つに限定されない。すなわち、例えばデータ処理の要求を行う端末装置PC1やCAD/CAMシステム30のユーザ情報等に紐づけられた第1の学習済モデルを複数個格納しておき、要求元情報等に応じて最適な第1の学習済モデルを選定するようにすれば、より高精度の推論を実現でき好ましい。
 次に、第1の推論ユニット23で使用される第1の学習済モデルがどのように作成されたものであるかについて、簡単に説明を行う。図12は、本発明の第5の実施の形態に係る第1の学習済モデルを得るための機械学習方法を示すフローチャートである。第1の学習済モデルを作成する方法として、本実施の形態においては、図2に示すように、機械学習方法を採用している。この機械学習方法としては、第1の実施の形態に係る学習済モデルと同様、例えば図2に示したニューラルネットワークを用いた教師あり学習を利用することができる。
 初めに、第1の学習済モデルのための第1の学習(トレーニング)用データセットを複数個準備する(ステップS41)。この第1の学習用データセットは、4種類のデータで構成される。すなわち、未加工ワークデータと、完成ワークデータと、未加工ワークから完成ワークを得るために行われる複数回の加工の度に生成される1乃至複数個の中間加工ワークデータと、この一乃至複数の中間加工ワークデータの生成される時系列の順序を示す生成順序データとで構成される。第1の学習用データセットは、機械学習後に得られる第1の学習済モデルが所望の推論精度を有するものとなるよう、異なるデータで構成されたものを複数個準備する必要がある。
 第1の学習用データセットの準備が完了すると、次に、機械学習を行う対象となる学習前モデルを準備する(ステップS42)。この学習前モデルを構成するニューラルネットワークモデルは、第1の実施の形態において上述のステップS11で準備されたものと同様のものであって良い。次に、ステップS41で準備された複数個の第1の学習用データセットの中から一の学習用データセットを選定する(ステップS43)。そして、このステップS13で取得した学習用データセット内の、未加工ワークデータと完成ワークデータとを状態変数として、学習前モデルの入力層のニューロンに入力することで、この学習前モデルは、出力層のニューロンに1乃至複数個の中間加工ワークデータ及びその生成順序データを示す値を出力する(ステップS44)。ここで、状態変数を入力層のニューロンに入力するに際し、状態変数として取得した情報をどのような形式として入力するかは、生成される学習済モデルの精度等を考慮して適宜設定することができる。具体的には、状態変数としての未加工ワークデータ及び完成ワークデータを入力層のニューロンに入力するに際しては、点群データを構成する直交座標(XYZ座標)で構成された各点に関する情報を入力層のニューロンにそれぞれ入力してもよいし、加えてこの各点に関する情報の情報量を調整すべく前処理を実行した後に入力層のニューロンにそれぞれ入力してもよい。
 上記ステップS44において出力層に出力された制御用データとしての1乃至複数個の中間加工ワークデータ及びその生成順序データは、学習前モデルによって生成されたものであるため、ほとんどの場合オペレータが設計するものとは異なる内容のものとなる。そこで、次に、ステップS43において取得された学習用データセットに含まれる、教師データを構成する制御情報としての1乃至複数個の中間加工ワークデータ及びその生成順序データと、ステップS14において出力層に出力された制御情報としての1乃至複数個の中間加工ワークデータ及びその生成順序データとを用いて、機械学習を実施する(ステップS45)。ここで行う機械学習とは、教師データを構成する制御情報と出力層に出力された制御情報とを比較し、両者の誤差を検出し、この誤差が小さくなるような出力層が得られるよう、学習前モデル内の各ノードに対応付けられた重みwiを調整する処理(バックプロバケーション)を指す。
 ステップS45において機械学習が実施されると、さらに機械学習を継続する必要があるか否かを、例えばステップS41において準備した第1の学習用データセットのうち未学習のものの残数に基づいて特定する(ステップS46)。そして、機械学習を継続する場合(ステップS46でNo)にはステップS43に戻り、機械学習を終了する場合(ステップS46でYes)にはステップS47に移る。上記機械学習を継続する場合には、ステップS43~S45の工程を未学習の第1の学習用データセットを用いて複数回実施することとなり、通常は、その回数に比例して、最終的に生成される学習済モデルの精度は高くなる。
 機械学習を終了する場合には、各ノードに対応付けられた重みwiが一連のステップを経て調整され生成されたニューラルネットワークを第1の学習済モデルとして、第1の学習済モデル格納ユニット26に格納し(ステップS47)、一連の学習プロセスを終了する。
 このようにして第1の学習済モデル格納ユニット26内に格納された第1の学習済モデルを用いることにより、第1の推論ユニット23は、入力データとして未加工ワークデータ及び完成ワークデータを取得すると、1乃至複数個の中間加工ワークデータ及びその生成順序データで構成された中間加工データを出力することができるようになる。なお、入力データによっては、未加工ワークから完成ワークを得るために行われる加工が1回のみの場合がある。このような場合中間加工ワークデータは必要ないため、第1の推論ユニット23は、別途の対応を行えるようにすると好ましい。具体的には、例えば第1の推論ユニット23から中間加工ワークデータに代えて完成ワークデータを出力する等、中間加工ワークが存在しないことが理解できるような対応を行う。当該対応は、上記第1の学習済モデルに予め学習させておくとよい。
 以下に、上述した方法により得られた第1及び第2の学習済モデルを用いた推論ユニットを含むサーバ装置20Aによるデータ処理プロセスについて説明する。図13は、本発明の第5の実施の形態に係るサーバ装置内で実行される一連の処理プロセスを示すフローチャートである。また、図14は、本発明の第5の実施の形態に係るサーバ装置内で生成される各種データを模式的に示した説明図である。なお、図14中の矢印はサーバ装置20D内のデータの流れを示したものであり、各矢印には、対応する図13に示す各ステップの符号がカッコ書きで付与されている。また、この図14に示す各データは、具体例として、ブロック材で構成された未加工ワークから、完成ワークとして対象物を所定の位置に固定する際に用いられる固定具を製造する場合を想定したものである。
 本データ処理プロセスは、図13に示すように、I/Fユニット21Dにおいてデータ処理要求と共に送信される入力データを取得する(ステップS51)ことで一連のプロセスが開始される。入力データを取得すると、I/Fユニット21Dは、この入力データを第1の推論ユニット23に送信する(ステップS52)。
 第1の推論ユニット23において入力データを取得すると、第1の推論ユニット23は、この入力データに基づいて推論を実施して中間加工データを生成する(ステップS53)。この中間加工データの生成方法として、第1の推論ユニット23は先ず、入力データを取得すると、この入力データを構成する未加工ワークデータ(図14に示す具体例においてはブロック材の3D-CADデータ)及び完成ワークデータ(図14に示す具体例においては固定具の3D-CADデータ)のデータ形式を認識する。そしてこれらのワークデータが3D-CADデータである場合には、前処理ユニットにおいて点群データに変換する。次に、点群データで構成される未加工ワークデータ及び完成ワークデータに含まれる各点の情報を、第1の学習済モデル格納ユニット26に格納された一の第1の学習済モデルの入力層に入力することで、この第1の学習済モデルの出力層に1乃至複数個の中間加工ワークデータ及びその生成順序データを示す値を出力する。出力層の値が得られると、第1の推論ユニット23の後処理ユニットで、これらの値から1乃至複数個の中間加工ワークデータ及びその生成順序データを特定し、且つこれらをまとめた中間加工データを生成する。図14に示す具体例においては、第1の推論ユニット23による推論の結果、点群データで構成された4つの中間加工ワークデータ(以下、この4つの中間加工ワークデータをそれぞれ順に「中間加工ワークデータ1」~「中間加工ワークデータ4」という。)が特定され、この4つのデータがその生成順序に合わせて上から下へ昇順に整列された表形式の中間加工データが生成されている。
 第1の推論ユニット23において中間加工データが作成されると、次に第1の推論ユニット23が、生成した中間加工データ及び取得した入力データを整列ユニット24に送信する(ステップS54)。なお、本実施の形態においては、整列ユニット24への入力データの送信を第1の推論ユニット23が行っているが、これに限定されず、例えば整列ユニット24への入力データの送信をI/Fユニット21Dが行うようにしてもよい。
 中間加工データ及び入力データを取得した整列ユニット24は、これらのデータを構成する各ワークデータを、一連の加工の実行順序に合わせて整列させる(ステップS55)。次いで、整列ユニット24は、整列させたワークデータの隣接するもの同士をセットにして、n(n=自然数)個の工程データを生成する(ステップS56)。ここで生成される工程データは、一の加工を行う前後のワークの形状を示した2つのワークデータで構成されるため、これらのワークデータはそれぞれ加工前ワークデータ及び加工後ワークデータを構成する。図14に示す具体例においては、未加工ワークデータと中間加工ワークデータ1とで構成された第1の工程データから、中間加工ワークデータ4と完成ワークデータとで構成された第5の工程データまでの計5つの工程データが生成されている。
 n個の工程データを生成した後、整列ユニット24は、第2の推論ユニット25に対し生成した工程データを順次送信する。詳しくは、第m(m=1、2、・・・、n)の工程データを第2の推論ユニット25に送信する(ステップS57)。そして、この第mの工程データを受信した第2の推論ユニット25は、この第mの工程データに対応する加工情報セットを出力する(ステップS58)。この加工情報セットの出力方法として、第2の推論ユニット25は、受信した第mの工程データを構成する加工前ワークデータ及び加工後ワークデータに含まれる各点の情報を、第2の学習済モデル格納ユニット27Dに格納された一の第2の学習済モデルの入力層に入力する。これにより、各点の情報が入力された第2の学習済モデルの出力層には、一の加工の種類及びその加工に用いられる工具を示す値が出力される。出力層の値が得られると、第2の推論ユニット25の後処理ユニットにて、出力層の値から一の加工の種類及びその加工に用いられる工具に関する情報を特定した上で、所定の形式、例えばテキスト形式の情報に変換し、この一の加工の種類及びその加工に用いられる工具を互いに関連付けて一の加工情報セットを生成する。そして、この一の加工情報セットは、例えば図示しない記憶媒体に一時的に格納する。
 上述したステップS57及びステップS58の処理は、整列ユニット24にて生成された工程データの数(n個)だけ、整列された工程の順序に従って実行される(ステップS59及びステップS60)。図14に示す具体例においては、第1の工程データに対してステップS57及びステップS58の処理が実行され、「加工の種類:穴あけ、工具:ドリル」で構成された加工情報セットが出力され、以下同様に、第2の工程データに対応する「加工の種類:穴あけ、工具:ドリル」で構成された加工情報セット、第3の工程データに対応する「加工の種類:平面ミル、工具:正面フライス」で構成された加工情報セット、第4の工程データに対応する「加工の種類:平面ミル、工具:正面フライス」で構成された加工情報セット及び第5の工程データに対応する「加工の種類:平面ミル、工具:エンドミル」で構成された加工情報セットが順次出力され、一時的に格納される。
 すべての工程データに対応する加工情報セットが出力されると(ステップS60でYes)、第2の推論ユニット25の後処理ユニットは、一時的に格納した複数個の加工情報セットと、これらの実行順序とで構成される出力データを生成する(ステップS61)。図14に示す具体例においては、左列に工程の番号を昇順で示し工程番号に対応する加工情報セットのテキスト情報をこの工程番号の右側に記載した表形式の出力データを生成している。
 そして最後に、生成された出力データをI/Fユニット21Dに送信し(ステップS62)、I/Fユニット21Dが所定の送付先、例えばデータ処理要求を行ったCAD/CAMシステム30等に送信することで、一連のプロセスを完了する。
 なお、上述したデータ処理プロセスは、その機能を維持し得る範囲において種々変更することができる。具体的に言えば、例えば上記プロセスでは、ステップS56に示す処理を整列ユニット24にて実行しているが、当該処理を第2の推論ユニット25の前処理ユニットにて実行することもできる。また、同じく上記プロセスでは、整列ユニット24で生成されたn個の工程データを順次第2の推論ユニット25に送信することで工程データごとの推論を実現しているが、例えば、工程データの送信は一括して行い、第2の推論ユニット25の前処理ユニットにて工程データごとの推論を順次行えるようデータの入力操作を制御するようにしてもよい。
 また、I/Fユニット21Dは生成された出力データのみを所定の送付先に送付するものとしたが、これに加えて中間加工データを送信すると好ましい。これは、例えば出力データの送付先がCAD/CAMシステム30である場合、出力データに加えて中間加工データも送信しておくと、工程設計後にNCコードを作成するために行われるコードパス作成等の作業を効率よく行えるようになる可能性があるためである。
 以上説明したように、本実施の形態に係るデータ処理システムとしてのサーバ装置20Dに、未加工ワークデータと完成ワークデータで構成された入力データを送信すれば、未加工ワークから完成ワークを得るために必要な複数の加工の種類及びそれに用いる工具を時系列で特定した出力データを取得することができる。したがって、所定のワークをNC工作機械を用いて製造する際、NC工作機械を動作させるために必要なNCコードを作成するための工程設計のほとんど全てを自動化することができ、オペレータが工程設計に要する工数を実質的にゼロにすることができる。また、一連の工程が自動的に特定されることで、各オペレータの経験値の差に起因する製品の出来栄えのバラつきを抑えることができる。
 なお、オプションとして、学習用データセットの一部あるいは入力データの一部を構成する加工前(未加工)ワークデータは、その種類が少ない方が、機械学習装置及び機械学習方法における学習回数が抑制でき、また、データ処理システムにおける推論精度も向上するため好ましい。このことから、設計者が用いる加工前ワークデータについては、別途データベース等を準備して種々の加工前ワークデータを設計者へ提供できるようなシステムを設けるとよい。
 また、本発明のデータ処理システムは、種々の形態でユーザに提供することができる。例えば、上述したデータ処理機能をパッケージ化して、端末装置やCAD/CAMシステム内に格納し、ローカルで利用することができるようにしてもよいし、一連の機能をウェブアプリケーションの形態で提供するようにしてもよい。
 本発明は上述した実施の形態に限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本発明の技術思想に含まれるものである。
 本明細書中で引用する刊行物、特許出願及び特許を含むすべての文献を、各文献を個々に具体的に示し、参照して組み込むのと、また、その内容のすべてをここで述べるのと同じ限度で、ここで参照して組み込む。
 本発明の説明に関連して(特に以下の請求項に関連して)用いられる名詞及び同様な指示語の使用は、本明細書中で特に指摘したり、明らかに文脈と矛盾したりしない限り、単数及び複数の両方に及ぶものと解釈される。語句「備える」、「有する」、「含む」及び「包含する」は、特に断りのない限り、オープンエンドターム(すなわち「~を含むが限らない」という意味)として解釈される。本明細書中の数値範囲の具陳は、本明細書中で特に指摘しない限り、単にその範囲内に該当する各値を個々に言及するための略記法としての役割を果たすことだけを意図しており、各値は、本明細書中で個々に列挙されたかのように、明細書に組み込まれる。本明細書中で説明されるすべての方法は、本明細書中で特に指摘したり、明らかに文脈と矛盾したりしない限り、あらゆる適切な順番で行うことができる。本明細書中で使用するあらゆる例又は例示的な言い回し(例えば「など」)は、特に主張しない限り、単に本発明をよりよく説明することだけを意図し、本発明の範囲に対する制限を設けるものではない。明細書中のいかなる言い回しも、請求項に記載されていない要素を、本発明の実施に不可欠であるものとして示すものとは解釈されないものとする。
 本明細書中では、本発明を実施するため本発明者が知っている最良の形態を含め、本発明の好ましい実施の形態について説明している。当業者にとっては、上記説明を読めば、これらの好ましい実施の形態の変形が明らかとなろう。本発明者は、熟練者が適宜このような変形を適用することを期待しており、本明細書中で具体的に説明される以外の方法で本発明が実施されることを予定している。したがって本発明は、準拠法で許されているように、本明細書に添付された請求項に記載の内容の修正及び均等物をすべて含む。さらに、本明細書中で特に指摘したり、明らかに文脈と矛盾したりしない限り、すべての変形における上記要素のいずれの組合せも本発明に包含される。
10、10A 機械学習装置
11、11A 学習用データセット取得ユニット
12、12A 学習用データセット記憶ユニット
13、13A 学習ユニット
14、14A 学習済モデル記憶ユニット
20、20A、20B、20C、20D サーバ装置(データ処理システム)
21、21A、21B、21C、21D I/Fユニット(データ取得ユニット)
22、22A、22B、22C、22D 推論ユニット
23 第1の推論ユニット
24 整列ユニット
25 第2の推論ユニット
26 第1の学習済モデル格納ユニット
27、27A、27B、27C、27D (第2の)学習済モデル格納ユニット
30 CAD/CAMシステム
31 I/Fユニット
32 NCコード生成ユニット
MC マシニングセンタ(工作機械)
PC1 設計者の端末装置
PC2 オペレータの端末装置
NW ネットワーク
 

Claims (9)

  1.  工作機械を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、前記工作機械を用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、前記工作機械を用いた加工の種類データと、前記工作機械を用いた加工に用いられる工具データと、を備える学習用データセットを複数組記憶する第1の学習用データセット記憶ユニットと;
     前記学習用データセットを複数組入力することで、前記加工前ワークデータと前記加工後ワークデータとから、前記加工後ワークを得るための、前記工作機械を用いた加工の種類及びその加工に用いられる工具を推論する学習モデルを学習する第1の学習ユニットと;
     前記第1の学習ユニットによって学習された前記学習モデルを記憶する第1の学習済モデル記憶ユニットと;を備える、
     機械学習装置。
  2.  前記加工前ワークデータと前記加工後ワークデータとは、点群データで構成される、
     請求項1に記載の機械学習装置。
  3.  前記学習モデルは、前記加工の種類及びその加工に用いられる工具をそれぞれ1つずつ推論する、
     請求項1又は請求項2に記載の機械学習装置。
  4.  工作機械を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、前記工作機械を用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、前記工作機械を用いた加工に関連する付加情報と、前記工作機械を用いた加工の種類データと、前記工作機械を用いた加工に用いられる工具データと、を備える学習用データセットを複数組記憶する第2の学習用データセット記憶ユニットと;
     前記学習用データセットを複数組入力することで、前記加工前ワークデータと前記加工後ワークデータと前記付加情報とから、前記加工後ワークを得るための、前記工作機械を用いた加工の種類及びその加工に用いられる工具とを推論する学習モデルを学習する第2の学習ユニットと;
     前記第2の学習ユニットによって学習された前記学習モデルを記憶する第2の学習済モデル記憶ユニットと;を備える、
     機械学習装置。
  5.  前記付加情報は、微細加工情報、前記工作機械を用いた加工における公差情報、前記ワークの材料情報、及び特殊加工情報の少なくとも1つを備える、
     請求項4に記載の機械学習装置。
  6.  工作機械を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、前記工作機械を用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータとを取得する第1のデータ取得ユニットと;
     請求項1乃至請求項3のいずれか1項に記載の機械学習装置によって生成された学習済モデルに、前記第1のデータ取得ユニットが取得した前記加工前ワークデータと前記加工後ワークデータとを入力することで、前記加工後ワークを得るための、前記工作機械を用いた加工の種類及びその加工に用いられる工具を推論する第1の推論ユニットと;を備える、
     データ処理システム。
  7.  工作機械を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、前記工作機械を用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、前記工作機械を用いた加工に関連する付加情報とを取得する第2のデータ取得ユニットと;
     請求項4又は請求項5に記載の機械学習装置によって生成された学習済モデルに、前記第2のデータ取得ユニットが取得した前記加工前ワークデータと前記加工後ワークデータと前記付加情報とを入力することで、前記加工後ワークを得るための、前記工作機械を用いた加工の種類及びその加工に用いられる工具を推論する第2の推論ユニットと;を備える、
     データ処理システム。
  8.  コンピュータを用いた機械学習方法であって:
     工作機械を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、前記工作機械を用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、前記工作機械を用いた加工の種類データと、前記工作機械を用いた加工に用いられる工具データと、を備える学習用データセットを複数組記憶するステップと;
     前記学習用データセットを複数組入力することで、前記加工前ワークデータと前記加工後ワークデータとから、前記加工後ワークを得るための、前記工作機械を用いた加工の種類及びその加工に用いられる工具を推論する学習モデルを学習するステップと;
     学習された前記学習モデルを記憶するステップと;を備える、
     機械学習方法。
  9.  コンピュータを用いた機械学習方法であって:
     工作機械を用いた加工が行われる前の加工前ワークの形状を示した3次元の加工前ワークデータと、前記工作機械を用いた加工が行われた後の加工後ワークの形状を示した3次元の加工後ワークデータと、前記工作機械を用いた加工に関連する付加情報と、前記工作機械を用いた加工の種類データと、前記工作機械を用いた加工に用いられる工具データと、を備える学習用データセットを複数組記憶するステップと;
     前記学習用データセットを複数組入力することで、前記加工前ワークデータと前記加工後ワークデータと前記付加情報とから、前記加工後ワークを得るための、前記工作機械を用いた加工の種類及びその加工に用いられる工具を推論する学習モデルを学習するステップと;
     学習された前記学習モデルを記憶するステップと;を備える、
     機械学習方法。
     
PCT/JP2019/031945 2019-08-14 2019-08-14 機械学習装置、データ処理システム及び機械学習方法 WO2021029036A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/031945 WO2021029036A1 (ja) 2019-08-14 2019-08-14 機械学習装置、データ処理システム及び機械学習方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/031945 WO2021029036A1 (ja) 2019-08-14 2019-08-14 機械学習装置、データ処理システム及び機械学習方法

Publications (1)

Publication Number Publication Date
WO2021029036A1 true WO2021029036A1 (ja) 2021-02-18

Family

ID=74570961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/031945 WO2021029036A1 (ja) 2019-08-14 2019-08-14 機械学習装置、データ処理システム及び機械学習方法

Country Status (1)

Country Link
WO (1) WO2021029036A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113673622A (zh) * 2021-08-31 2021-11-19 三一专用汽车有限责任公司 激光点云数据标注方法、装置、设备及产品
JP7181440B1 (ja) * 2022-04-25 2022-11-30 ファナック株式会社 診断用データ収集装置、診断用データ収集方法、記録媒体、及び制御装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000084794A (ja) * 1998-09-14 2000-03-28 Makino Milling Mach Co Ltd 加工処理装置
JP2002189510A (ja) * 2000-12-22 2002-07-05 Mori Seiki Co Ltd 加工関連情報生成装置、及びこれを備えた数値制御装置
JP3312154B2 (ja) * 1992-10-09 2002-08-05 オムロン株式会社 加工情報決定システムおよび方法,ならびに加工工程情報決定システムおよび方法
JP2014006813A (ja) * 2012-06-26 2014-01-16 Honda Motor Co Ltd 性能予測装置、性能予測方法、及びプログラム
WO2014045383A1 (ja) * 2012-09-21 2014-03-27 株式会社日立製作所 加工工程決定方法および加工工程設計装置
WO2018123116A1 (ja) * 2016-12-26 2018-07-05 三菱電機株式会社 加工工程生成装置、加工工程生成方法およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3312154B2 (ja) * 1992-10-09 2002-08-05 オムロン株式会社 加工情報決定システムおよび方法,ならびに加工工程情報決定システムおよび方法
JP2000084794A (ja) * 1998-09-14 2000-03-28 Makino Milling Mach Co Ltd 加工処理装置
JP2002189510A (ja) * 2000-12-22 2002-07-05 Mori Seiki Co Ltd 加工関連情報生成装置、及びこれを備えた数値制御装置
JP2014006813A (ja) * 2012-06-26 2014-01-16 Honda Motor Co Ltd 性能予測装置、性能予測方法、及びプログラム
WO2014045383A1 (ja) * 2012-09-21 2014-03-27 株式会社日立製作所 加工工程決定方法および加工工程設計装置
WO2018123116A1 (ja) * 2016-12-26 2018-07-05 三菱電機株式会社 加工工程生成装置、加工工程生成方法およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113673622A (zh) * 2021-08-31 2021-11-19 三一专用汽车有限责任公司 激光点云数据标注方法、装置、设备及产品
CN113673622B (zh) * 2021-08-31 2023-04-07 三一专用汽车有限责任公司 激光点云数据标注方法、装置、设备及产品
JP7181440B1 (ja) * 2022-04-25 2022-11-30 ファナック株式会社 診断用データ収集装置、診断用データ収集方法、記録媒体、及び制御装置

Similar Documents

Publication Publication Date Title
US7933679B1 (en) Method for analyzing and optimizing a machining process
Amaitik et al. An intelligent process planning system for prismatic parts using STEP features
Nau et al. AI Planning Versus Manufacturing-Operation Planning: A Case Study.
US10884392B2 (en) Assessing deflections experienced by a workpiece during computer controlled machining with a toolpath to determine stock amount
KR20190141611A (ko) 데이터베이스에서 선택된 전략들을 기반으로 한 머시닝
CN109283887A (zh) 机器学习装置、数值控制装置、数值控制系统以及机器学习方法
WO2021029036A1 (ja) 機械学習装置、データ処理システム及び機械学習方法
CN109472057A (zh) 基于跨工步隐式参数记忆的产品加工质量预测装置及方法
CN101960457A (zh) 用于复合加工的方法和设备
KR102229859B1 (ko) 기계 학습 및 전이 학습을 이용한 공정 관리 방법, 장치 및 시스템
Eum et al. Ontology-based modeling of process selection knowledge for machining feature
Ge et al. Rapid prediction and compensation method of cutting force-induced error for thin-walled workpiece
Baron et al. Proposal of the knowledge application environment of calculating operational parameters for conventional machining technology
CN113741216A (zh) 一种基于人工智能优化算法的生产设备虚拟组合仿真系统及方法
JP6502976B2 (ja) 数値制御装置
Feng Preliminary design and manufacturing planning integration using web-based intelligent agents
CN110580019B (zh) 一种面向边缘计算的设备调取方法与装置
Vishnu et al. A data-driven digital twin framework for key performance indicators in CNC machining processes
EP4121825A1 (de) Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
WO2021029037A1 (ja) 機械学習装置、データ処理システム及び機械学習方法
WO2021029038A1 (ja) データ処理システム
Sauer et al. Meta-model based generation of solution spaces in sheet-bulk metal forming
Blanch et al. Machining processes time calculating tool integrated in computer aided process planning (CAPP) for small and medium enterprises (SMEs)
Joo et al. Dynamic planning model for determining cutting parameters using neural networks in feature-based process planning
Dodok et al. Application of strategy manager tools for optimized NC programming

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: 19941591

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19941591

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP