Optimisation of numeric control of a machine tool

EP4529627A1Pending Publication Date: 2025-04-02FILL GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023732337
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-23
Filing Date
2023-05-22
Publication Date
2025-04-02

AI Technical Summary

Technical Problem

Current numerical control systems for machine tools face inefficiencies in determining the optimal safety distance for tool approach, leading to potential cycle time losses and tool damage due to either excessive or insufficient safety distances.

Method used

A method utilizing a trained neural network to determine the minimum safety distance based on historical data, including spindle torque and axis positions, to optimize the machining process by calculating the actual idle speed and minimizing cycle time while ensuring tool safety, which can be applied before or during series production.

Benefits of technology

This approach reduces cycle time, increases throughput, and prevents tool damage by determining the optimal safety distance through data-driven calculations, improving the precision and efficiency of machining operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 1.1
    Figure 1.1
Patent Text Reader

Abstract

The invention relates to a method for optimising numeric control of a machine tool having a tool for machining a workpiece. Numeric tool information relating to machining is received. Then, time information is determined by means of a trained neural network based on the received tool information. From the determined points in time and tool information, a set of path information is generated for machining, and a minimum distance of the tool to the workpiece before the approach phase is ascertained for the next machining operation from several sets of path information from several previous machining operations. Provided are a method for optimising numeric control of a machine tool and a device for carrying out the method, a machine tool for machining workpieces by carrying out the method, a computer program product, a computer-readable medium, a method for machining workpieces, a method for training a neural network, and the data structure of a trained neural network.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] OPTIMIZING A NUMERICAL CONTROL SYSTEM OF A MACHINE TOOL

[0002] The invention relates to the optimization of a numerical control of a machine tool with a tool for machining a workpiece.

[0003] EP 3 720 651 A1 discloses machine tools which can, for example, carry out machining using a tool on a workpiece. In addition, the use of so-called numerical control (NC) has been known for many decades. With a numerical control, machines are controlled by the machine reading control commands stored as code on a data carrier. Initially, punched tape or punched cards were used as data carriers. The control commands are converted into work or movement sequences. By making different code lists available on different data carriers or files, a numerically controlled machine can be adapted to different machining processes, e.g. a different workpiece. Computers have been used for control since around 1980, a process known as CNC (computerized numerical control).The processes are currently stored in standardized data structures, for example, in so-called G-code according to DIN 66025 / ISO 6983. This allows machine tools to automatically produce workpieces with high precision, even for complex shapes, using control technology.

[0004] In the standard process of creating a (C)NC program for component manufacturing, various sequences of so-called G-codes are implemented. A distinction is made between rapid feeds for positioning axes and milling feeds for active machining. These differ primarily in speed. To ensure safe operation of the tool to be used, an approach position is selected, which is approached at a higher speed before switching to the active machining speed. The approach position is characterized by a safety distance from the workpiece. The choice of the size of this safety distance depends on the one hand on geometric conditions (e.g., fluctuations in the component geometry, tool geometry, clamping tolerances of the workpiece) and partly on the experience of the person programming the G-code and their lack of knowledge of the machine's functionality and geometry.

[0005] A disadvantage of the state of the art is that current processes lack efficiency. Specifically, choosing a safety margin that is too large results in potential savings in cycle time and thus in throughput, while choosing a margin that is too small can lead to tool damage.

[0006] The object of the present invention is therefore to overcome the disadvantages of the prior art. It provides a method for optimizing a numerical control of a machine tool, a device for implementing the method, a machine tool for machining workpieces by implementing the method, a computer program product, a computer-readable medium, a method for machining workpieces, a method for training a neural network, and the data structure of a trained neural network.

[0007] This object is achieved by the devices and methods according to the independent claims. Advantageous further developments can be found in the dependent claims.

[0008] In the context of the machine tools described here, a machining operation can, for example, include the following phases: approach, tool entry, working phase, tool exit, and departure. However, the classification can also be made differently. These terms are merely examples of how to refer to the respective parts of a machining operation.

[0009] The advantage of this approach is that the point at which the tool enters (and exits) the material is determined, allowing the actual idle time to be determined. By aggregating this value across multiple machining operations (i.e., multiple workpieces), the distribution resulting from natural geometric fluctuations is calculated. By determining the minimum value, the optimum is determined for reducing the cycle time while ensuring reliable tool operation.

[0010] The process can be used for optimization before series production as well as during ongoing processes. The economic benefits arise from reducing the cycle time of component production and increasing throughput.

[0011] The project that led to this application received funding from the European Union as part of the Horizon 2020 research and innovation program through grant agreement no. 857191. According to a first embodiment, a method according to the invention for optimizing a numerical control of a machine tool with a tool for machining a workpiece comprises obtaining numerical tool information relating to a machining operation, wherein the tool information comprises a spindle torque of the tool and axis positions of the tool for each time point of the machining operation. The method further comprises determining, by means of a trained neural network, time information based on the obtained tool information. The time information comprises a time of tool entry into the workpiece and a time of tool exit from the workpiece.A set of path information for the machining operation is then generated from the determined times and the tool information. This set of path information includes a tool travel path, encompassing the approach, tool entry, working, and tool exit phases, as well as a distance of the tool from the workpiece before the approach phase. From several sets of path information from several previous machining operations, a minimum distance of the tool from the workpiece before the approach phase is then determined for the next machining operation.

[0012] The method according to the invention allows an optimal minimum distance to be determined, thereby improving cycle time and thus throughput. Furthermore, damage to the tool is avoided.

[0013] The method can be further improved if the tool information also includes the spindle speed of the tool.

[0014] By taking the spindle speed into account, the determination of time information by the neural network can be improved.

[0015] The numerical tool information can be received from the numerical control system. Alternatively or additionally, numerical tool information can be read and taken into account from a memory, database, or data storage device.

[0016] It has been shown that the use of additional, so-called historical, data from previous machining operations improves the accuracy of the neural network in its inference. The determination of the timing information by the neural network can be further optimized if the tool information is cleaned up before the determination by removing information that is irrelevant for determining the minimum distance.

[0017] It has been shown that some data sets contain data that is irrelevant for determining the minimum distance. By cleaning the data before inference, the determination of temporal information can be accelerated.

[0018] Furthermore, it may be useful to determine not only the minimum distance before the approach, but also before or during the approach, during or after the approach, and / or during or after the departure. These can also be determined from multiple sets of trajectory information from multiple previous processing operations for the next processing operation.

[0019] By ensuring a minimum distance in the corresponding phases, damage to the tool and the workpiece due to unwanted contact can also be avoided.

[0020] It may prove advantageous to use the current processing to retrain the trained neural network. The identified, generated, and determined information, or a selection of it, can be used for retraining.

[0021] Retraining with the current edit has a small impact on the accuracy of the neural network. However, with continued retraining, the neural network steadily improves over time. The current edit can also be saved first, and after accumulating a certain amount of data from edits, e.g., at the end of a day or week, the neural network can be retrained with the saved data. This can be done unsupervised, for example, overnight or on the weekend. Supervised retraining is also possible.

[0022] To determine minimum clearances, one or more of the following can be considered: workpiece geometries before machining, workpiece geometries after machining, tool geometry, workpiece clamping tolerances, and tool wear. It has been shown that in some cases, considering these data also leads to improvements, allowing unwanted damage to be avoided by preventing unwanted collisions, and efficiency to be increased because the movement paths, or travel paths, can be planned more optimally.

[0023] According to a further embodiment of the invention, a device is provided, comprising at least one computing unit, at least one memory device, and a trained neural network, wherein the device is configured to perform the steps of a method according to the invention. This device can be part of a machine tool or standalone.

[0024] According to a further embodiment of the invention, a machine tool is provided with means suitable for carrying out the steps of a method according to the invention and for machining workpieces, wherein the determined minimum distances are taken into account during machining.

[0025] According to a further embodiment of the invention, a computer program product is provided, comprising instructions that, when executed by a computer, cause the computer to execute a method according to the invention. The computer program product can be stored on a computer-readable medium.

[0026] According to a further embodiment of the invention, a method for machining a workpiece by the machine tool according to the invention is provided.

[0027] According to a further embodiment of the invention, a method for training a neural network is provided. A plurality of training data sets are obtained, each training data set consisting of numerical tool information relating to a machining operation and comprising, in the form of a time series, a spindle torque of a tool of a machine tool for each time point of the machining operation.

[0028] The training data sets are then segmented, whereby the corresponding time series of each training data set is divided into at least three ranges by marking the times for a tool entry and a tool exit. After padding each training data set, whereby filler data is added to the beginning and end of each time series, the neural network is trained with the training data sets. According to a further embodiment of the invention, a data structure of a neural network is provided which is configured to determine the times of tool entry and tool exit for machining a workpiece by a tool of a machine tool based on spindle torque data of the tool from previous machining operations learned in the data structure.

[0029] The embodiments show possible variants, whereby the invention is not limited to the specifically illustrated variants, but rather combinations of the individual variants with each other are also possible.

[0030] For a better understanding of the invention, it is explained in more detail using the following figures.

[0031] They show in a highly simplified, schematic representation:

[0032] Fig. 1 shows a machine tool with a tool for machining a workpiece according to an embodiment;

[0033] Fig. 2 shows schematic flow diagrams according to embodiments;

[0034] Fig. 3 shows an exemplary structure of the neural network according to an embodiment, and

[0035] Fig. 4 shows schematically results of the neural network according to the embodiment.

[0036] By way of introduction, it should be noted that in the variously described embodiments, identical parts are provided with identical reference symbols or component designations. The disclosures contained throughout the description can be applied analogously to identical parts with identical reference symbols or component designations. Furthermore, the position information chosen in the description, such as top, bottom, side, etc., refers to the directly described and illustrated figure, and these position information must be applied analogously to the new position in the event of a change in position.

[0037] Fig. 1 shows a machine tool 100 with a tool 101. This tool can be a milling head, a drill, a brush, or another cutting tool that engages a workpiece 300 to remove material. The tool is controlled by a numerical control 102 and driven in rotation by a spindle. The machine tool can include a computing device 110. Alternatively, the computing device can also be a standalone device.

[0038] First, the basic operation of the presented machine tool 100 is explained. Machining a workpiece 300 by a tool 101 has several sections or (machining) phases.

[0039] First, the tool 101 is moved close to the workpiece 300. This is the approach or rapid traverse. The approach can be carried out at a high speed (e.g. 500 mm / s). During the approach, the tool 101 can still be operated in a rest state. A drill, a saw, or a milling machine would then not yet be rotating and could therefore not yet machine or remove any material. However, the tool 101 can also already be operating in the machining state. The approach ends when a previously defined minimum distance from the position where the workpiece 300 is expected is reached. The actual distance at this time can differ for each workpiece 300 because the workpieces 300 may not correspond exactly to one another and there may be production or clamping tolerances. A workpiece 300 could also be contaminated, or it could not be positioned exactly.During the approach, the existing geometries are taken into account, i.e., the tool 101 is moved toward the workpiece 300 such that the desired position relative to the workpiece 300 is reached. The desired position can be defined in space by one, two, or three axes. If a relatively large saw is to cut completely through a workpiece, one axis may be sufficient. For drilling a hole at one point on a workpiece, two axes may be sufficient, and for milling in an already formed body, three axes may be necessary. The approach also takes into account that a collision is not possible during the approach and that the previously defined minimum distance is maintained.

[0040] The term distance or minimum distance generally always refers to the smallest distance that the tool 101 has at any point from the workpiece 300.

[0041] If the specified minimum distance has been reached and the tool 101 is not yet in operation, it can now be switched on. The tool 101 is then slowly approached to the workpiece 300, i.e. at the planned machining speed (e.g. 36 mm / s). This is the approach. This is done so that machining begins as soon as the tool 101 actually comes into contact with the workpiece 300, i.e. the tool entry. In addition, the slow speed has the advantage that machining can be carried out with the desired quality. A speed that is too fast could possibly result in too high a force at the start of material removal and thus in an irregular movement of the tool 101, so-called chatter, whereby undesired removal, so-called "chattering", can impair the quality. In addition, the tool 101 could be damaged by excessive force at tool entry.

[0042] After the tool enters the workpiece, the working phase begins. For a drill, this would be the drilling process, and for a milling machine, this would be the milling feed or material removal. The working phase ends with the tool exit.

[0043] This is followed by the descent, which can be performed more quickly, thus saving time in the overall process. The descent ends as soon as the tool 101 has reached the desired end position. The end position can be a rest position or a position outside of the workpiece 300, so that, for example, the workpiece 300 can be removed and the next workpiece 300 can be prepared. It is also possible that a movable conveyor on which the workpieces 300 are arranged should continue to move; in this case, the tool 101 is brought into a position where this is possible.

[0044] During the departure, the existing geometries are also taken into account, ie the tool 101 is moved away from the workpiece 300 in such a way that a collision is not possible.

[0045] In one embodiment, the departure is executed directly as an approach for the next machining operation. This is the case, for example, when multiple holes are to be drilled into a workpiece 300. Machining a workpiece 300 can therefore comprise multiple machining operations.

[0046] Returning to Fig. 1, the computing device 110 will now be described in more detail. The elements of the computing device 110 described below can accordingly also be part of the machine tool 100, all or individually. The computing device 110, or the machine tool 100, can accordingly comprise a computing unit 120. This is also called a processor or CPU (central processing unit). The computing unit 120 can also consist of multiple processors, one or more of which can also be supporting processors, such as GPUs (graphics processing unit). Processors from other computers can also be used, i.e. the processing is outsourced.

[0047] The (computing) device 110 can further comprise a storage device 130 on which input, output, intermediate result, and / or program data can be stored. Control data of the numerical control system can also be stored on the storage device. The storage device 130 can refer to a memory 103, a database 104, and / or a data storage medium 105, the latter being connected to the computing device 110 or the machine tool 100 via a corresponding interface, such as a drive, or a wired or wireless interface.

[0048] The device 110 or the machine tool 100 further comprises a trained neural network 140, or NN for short. The NN 140 can be designed in various known forms. To explain the present invention, one example will be described in more detail, but common alternatives are also conceivable, such as an autoencoder or a convolutional neural network (CNN).

[0049] The described example NN is formed according to the U-Net architecture, as shown in Fig. 3. The features and operation of the U-Net architecture are generally known, so they will not be discussed in detail. If the U-Net architecture is used, the NN can extract the features for calculation itself using the convolution filters and learn them. This setup realizes (image) segmentation. According to the present invention, a time series is segmented, which is interpreted by the NN as a single-line image. After convolution, batch normalization is performed with the purpose of making the layers faster and more stable by recentering and rescaling. Finally, the neurons are activated with an activation function, for example, a rectified linear activation function (ReLU).After folding and normalizing twice, the prominent features are reused for the next layers using max-pool layers so that the number of parameters does not become too large.

[0050] The input to the trained NN 140 is then of size T x 1, where T is the length of the time series, i.e., the number of measured data points at each point in time (timestamps). This length is variable and, due to the chosen architecture, does not need to be known. The U-Net (like the CNN) uses only convolutions, transposed convolutions, max pooling, normalization, and activation functions, all of which are not tied to a fixed input size. This allows the input size to be variable and does not have to be fixed. Thus, processing of different lengths can be performed.

[0051] To calculate the convolution, the kernel size, as well as the parameters Dilation, Padding, and Stride (step size) must be specified. For the U-Net in the experiment, the kernel size was set to 5, the dilation to 7, the padding to 14, and the stride to 1. With these parameters, the output size of the time series after the calculations in this layer is the same as the input size of the time series. In the lower layers, the input size of the so-called feature maps remains the same. Normalization does not change this length either. However, the pooling layer reduces the input size, depending on the selected parameters. When choosing kernel size 2, padding 0, dilation 1, and stride 2, the input size N changes with each pooling layer after the calculation.

[0052] + 1 j . This results in a compression in the lower layers, which is resolved during decoding and the time series finally has its length T again.

[0053] On the decoding side, the parameters for the convolution are chosen to be the same; for the transposed convolution, the kernel size is set to 5, the stride to 2, the dilation to 1, the padding to 1, and a final output padding also to 1. This results in an output value of 2 X N + 2 after the transposed convolution. This output layer is combined with the features of the corresponding encoding as input and made the same size (the so-called copy and crop method), ultimately resulting in the output value T. The parameters will not be explained in detail here, as they are known to anyone skilled in the art and can be found in the current literature. The choice of parameters was determined in experiments to find the best accuracy for the available data and can be adjusted accordingly.

[0054] In the following, the functionality of the inference is explained using an example configuration, referring to Fig. 3. The input data, i.e., the time series with the torque values, is interpreted as an image of size 100 x 1.

[0055] The network architecture consists of a contracting path (left side) and an expansive path (right side). The contraction path follows the typical architecture of a convolutional network. It consists of the repeated application of two 5x1 convolutions (convolutions without padding, represented in Fig. 3 by simple arrows -> pointing to the right), each followed by a ReEU and a 2xl max-pooling operation (represented in Fig. 3 by downward arrows) with stride 2 for downsampling. With each downsampling step, the number of feature channels doubles. Each step in the expansive path consists of an upsampling of the feature map, followed by a 5xl convolution (upconvolution, represented in Fig. 3 by upward arrows), which halves the number of feature channels, a concatenation with the appropriately trimmed feature map from the contraction path, and two 5x1 convolutions (in Fig.3 again represented by simple arrows -> to the right), each followed by a ReEU.

[0056] Cropping and copying (represented in Fig. 3 by triple arrows pointing to the right) is necessary due to the loss of edge pixels in each convolution. At the final layer, an Ixl convolution (represented in Fig. 3 by a double arrow pointing to the right) is used to map each 16-component feature vector to the desired number of classes. The network has a total of 18 convolutional layers. To enable seamless tiling of the output segmentation map (see Figure 2), it is important to choose the size of the input tiles so that all 5xl max-pooling operations are applied to a layer with a uniform x- and y-size.

[0057] However, due to compression in the chosen configuration, the input data must have a minimum size of 32 timestamps before the first layer. There are no strict requirements regarding the intervals between the timestamps, but it has been found that a spacing of 0.006 seconds between the measurement points produces good results. Therefore, in this case, a time series with a length of at least 0.186 seconds would be required, which corresponds to 32 measurement points with 31 intervals of 0.006 seconds each.

[0058] Fig. 4 shows exemplary results from the NN 140. Three different recordings of torque values ​​versus time are shown at the top, and the lower figures show the evaluation created by the NN 140. The areas in which the tool was determined to be "in the workpiece" are marked with a dashed frame. The feature viewed as the result after passing through the NN 140 indicates in binary form, i.e., for each torque measurement, a classification of 0 or 1 is made, whether the tool is outside the workpiece (value 0) or whether the tool is inside the workpiece (value 1). Thus, the transitions 0 to 1 and 1 to 0 can be defined as tool entry and exit, respectively, and are determined by the boundary of the dashed area, i.e., the dashed line, in Fig. 4.

[0059] As mentioned above, an alternative approach is to use an autoencoder architecture that reduces the size of the input information. This architecture then performs decoding, and then learns the linear feature representation, gradually increasing the size of the grid. At the end of this architecture, the output size equals the input size. A well-known advantage of the autoencoder architecture is that the initial size can be preserved. The U-Net architecture also has this advantage. However, with the autoencoder, the input is compressed linearly, so not all features can be transmitted.

[0060] In contrast, the U-Net architecture is more suitable because the U-shape allows the unfolding to take place on the decoder side, thus avoiding the bottleneck problem and thus the loss of features that occurs with an auto-encoder architecture. Specifically, the features of the corresponding encoding are fed to the neural network as input (also called "copy and crop") for each unfolding. These are represented in Fig. 3 by triple arrows => pointing to the right. This allows the NN to use features that it learns during encoding (also called convolution) for decoding (also called unfolding), which distinguishes it from a CNN. Therefore, the U-Net architecture has an advantage over both the autoencoder and the CNN, as it significantly improves learning. The use of the U-Net architecture is particularly advantageous because it is known to be able to be trained with relatively little training data.Therefore, the U-Net architecture can achieve better results with less training data than other neural network architectures, such as an autoencoder, which often require several thousand training data sets.

[0061] The NN 140 used in the embodiments must first be trained. This is done by a method 500 for training the NN 140. For training, the data from previously performed processing operations are first obtained in step 510. The obtaining 510 can be implemented by generating the corresponding training data sets, for example by repeatedly performing the processing to be trained, or by loading data from previous processing operations (i.e., repetitions of the processing) from a data storage device on which they were previously stored. In other words, if the respective processing operation has already been performed multiple times, these data may already be available in stored form. If corresponding training data is not available, they must first be generated by repeatedly performing the corresponding processing operation.

[0062] Specifically, training is conducted as supervised training, where both the input data and the expected output data are available. For each machining operation, such as drilling / milling a hole in a workpiece, a large amount of data from this specific drilling / milling operation must be available. Each of these machining operations (drilling or milling) includes the approach phases, tool entry, working phase, and tool exit. It may also include parts of the approach and retraction phases. However, these are not used for training and, if present, can be filtered out using control information.

[0063] It has proven sufficient to perform several hundred or more processing steps, or to use their data. Using more data sets requires more data sets to process, but the results allow for better training and, consequently, higher inference accuracy. These are first prepared by expert personnel, for which annotation software can be used, for example, to annotate or segment the relevant time series.

[0064] For segmentation, as step 520, for example, the areas are saved as 0 (outside the material, i.e. workpiece 300) and 1 (inside the material, i.e. during material removal in the workpiece 300) at any given time. The classification into these classes, 0 and 1, is carried out based on the torque, with the torque values ​​each having a significantly different pattern depending on whether the tool is in idle mode (outside the workpiece 300, i.e. before and after the work phase or machining), or whether entry into or exit from the workpiece 300 is taking place. The classification can also contain further sub-areas, for example the aforementioned machining phases. Furthermore, the designation of the areas with 0 and 1 is merely an example.Subsequently, in step 530, each training data set is extended at its edges to remove unimportant data, such as zero or mean values, since the edge regions are lost or ignored during the convolution. This is called padding. For time series, such padding data is added to the beginning and end of each time series. Experiments have shown that for the available data, 20 such padding data at the beginning and end produce good results.

[0065] The NN 140 can then, for example, be trained with a train-test split of 80% and 20% in step 540. The percentage distribution is merely an example. Other values ​​are also possible, but generally, relatively less data is used for the test phase of training, described in more detail below, than for training. With the above-mentioned 80% to 20% split, 80% of the available data is used for training (the so-called training set), and the remaining 20% ​​of the data is used for testing (the so-called test set) after each learning process. After each training run, the error between the network's output and the expected output, the so-called loss, is calculated on both the training set and the test set. This process serves to monitor the training.The error for the training set decreases over the course of training because the network is designed to optimize its output based on the patterns it contains in the training data. If the network learns the truly relevant features, the error on the test set also decreases. As soon as the error of the test set increases while the error of the training set continues to decrease, this is referred to as overfitting, and training can be stopped. Experiments have shown that training with a batch size of 100 samples per training session works well. Batch sizes between 50 and 200 samples are common. In one example experiment, for example, no significant improvement in the loss could be seen after 43 epochs, and training was then stopped. The loss is calculated using a metric such as binary cross entropy, Dice coefficient, or mean square error.An optimization algorithm is then used for optimization. Examples of such optimization algorithms include the Adam algorithm or the Stochastic Gradient Optimizer. Furthermore, an initial learning rate of 0.001 can be specified, which can then be multiplied by a factor of 0.1 after every 10 updates, for example. The parameters batch size, epochs, learning rate, and scaling factor are so-called hyperparameters and can vary depending on the specific dataset. In experiments, the specified parameters have led to the best results, measured in terms of accuracy. To find the best possible parameter combination, experiments are conducted with different combinations, and the combination that leads to the best result is selected.

[0066] The trained NN 140 can then be used to optimize a machine tool 100 with a tool 101, as explained below with reference to Fig. 2.

[0067] In this case, in method 200, numerical tool information relating to a machining operation is first obtained in step 210. As already mentioned above, a machining operation in this context is to be understood, for example, as a drilling or milling operation, which each includes the phases of approach, approach, tool entry, working phase, tool exit, and departure. However, information does not need to be obtained for all phases. In particular, information for the approach and departure phases is not necessary.

[0068] The tool information includes, for each point in time during the machining process, at least the torque (e.g., a spindle torque) of the drive of the tool 101, as well as the axis positions of the tool 101, which uniquely determine the respective three-dimensional position of the tool at the respective point in time. Further information about the tool and the machining process may be included. For example, the material of the workpiece, a serial number of the tool or other elements involved in the machining process, or a rotational speed (e.g., the spindle speed), or another key figure or measured value relating to the drive of the tool 101.

[0069] The NN 140, trained as described above, then determines time information from the obtained tool information for one machining operation in a step 220. This time information includes the time of tool entry into the workpiece and the time of tool exit from the workpiece.

[0070] Here, as the NN 140 has learned, the time series is linked to the torques, and the corresponding times are classified so that the NN 140 can detect the entry and exit. If the time of tool entry and the time of tool exit are known, the time period occupied by the work phase is automatically known, since this period is limited by tool entry and exit.

[0071] Subsequently, in a step 230, a set of path information is generated from the determined times and the tool information. This path information essentially represents the path traveled by the tool 101 during a single machining operation. The path information includes the tool travel path and the distance of the tool from the workpiece before the approach phase. The travel path includes the approach, tool entry, working phase, and tool exit phases. Approach and departure can also be included. Furthermore, further information can be derived or calculated from the path information and the tool information. For example, the position of the tool can be determined from the axis positions at any time. Since the machining has already been completed, the distance of the tool 101 from the entry point into the workpiece 300 can also be precisely determined retrospectively.

[0072] However, the distance between tool 101 and workpiece 300 generally also depends on the workpiece's manufacturing tolerances. For example, a metal plate can easily have a tolerance of several millimeters, meaning the distance cannot be precisely determined in advance, which is why the slow approach is necessary in the first place. While the exact dimensions at the entry point are known after machining, due to the entry time, the tolerances at other locations are not.

[0073] Therefore, the total distance of the tool from the workpiece at points other than the entry point can only be determined within the tolerances relevant for machining.

[0074] In a step 240, the minimum distance of the tool 101 to the workpiece 300 before the approach phase is then determined for the next machining operation from several sets of path information from several previous machining operations. For this purpose, data from previous machining operations, i.e., the distance of the tool 101 to the workpiece 300 generated for previous machining operations before the approach phase, is evaluated. If the distance generated for the current machining operation is smaller than that of the previous machining operation, the minimum distance is increased to the distance of the current machining operation. This means that if the minimum distance was insufficient for the current machining operation because the tool 101 encountered the workpiece 300 earlier than expected, the minimum distance for the next machining operation is increased.

[0075] Through regular checks, outliers, which may arise, for example, because a workpiece was deformed, defective or contaminated, can be removed from the data sets so that they remain unconsidered.

[0076] As already mentioned, the data for implementing the method can also originate from stored data. Thus, the data can be received 211 by the numerical control 102, for example, directly after a machining operation. However, instead or additionally, data can be loaded or read 212 from a memory 103, from a database 104, or from a data storage device 105.

[0077] In one embodiment, the tool information can be cleaned 215 by preprocessing. For example, before determining the time information

[0078] Information that is irrelevant for determining the minimum distance is removed. This can be done, for example, by filtering using a signal filter or frequency filter. Alternatively, points in time, time ranges or machining phases can be omitted. In this case, it is advantageous, for example, to only consider the data for those phases in which the workpiece is actually being machined. To do this, a distinction can be made between the phases of positioning the axes (approach, approach, departure) and the active advancement of the axes for the work phase. Data in which another, non-machining-related process is running can also be hidden. It would also be possible, for example, to filter out any repositioning phases that may occur.

[0079] This would ensure that only the data necessary for the detection, generation and / or determination of relevant data would be forwarded to the neural network.

[0080] In addition, the database can be prepared for the neural network's determination using preprocessing steps that are common for neural networks. These include, for example, scaling, padding, etc. These preprocessing steps can be carried out, for example, by distributing the data via a message broker or message bus and using scripts for data preprocessing and calculation by the neural network. This has the advantage that the results are available almost in real time. Alternatively, they can be provided in another way by a computing unit. Reading data from a file and iteratively processing it is also possible. Reading the data from a file or a historical storage (e.g., a database containing time series from previous processing and / or simulations) is also possible.These can then be split into individual edits (using the control information) and further processed. Individual edits can also be saved as a file, eliminating the need for splitting them, and allowing immediate processing—if necessary, after appropriate preprocessing for the model, as described above.

[0081] Since, as described above, all necessary data is available after machining, the method can also determine, in a further step 241, minimum distances between the tool 101 and the workpiece 300 before or during the approach, during or after the approach, or during or after the departure. As described above in step 240, this also works from several sets of path information from several previous machining operations and, if necessary, specifies the corresponding minimum distance for the next machining operation.

[0082] For example, it can be determined that tool 101 came relatively close to a protruding part of the workpiece during its approach. To make a potential collision even less likely in future machining operations, the corresponding minimum distance can be increased and taken into account when planning the path for the next machining operation.

[0083] When determining minimum distances according to steps 240 or 241, further information can also be taken into account. For example, the geometry of the workpieces before and / or after machining can be taken into account. An example here could be that a hole has to be placed in a hemispherical workpiece. Since the geometry of the hemispherical shape is known, the distance the tool has or must have from the workpiece on its path can be calculated. The geometries before and after machining can differ because material may be removed, so that the workpiece 300 has a different design after machining. The geometry of the tool 101 can also be taken into account, as can the clamping tolerances of the workpieces 300 and tool wear.

[0084] The NN 140 can be retrained if necessary in step 250. As explained above, the current processing, or multiple processings in which the trained NN 140 was used, can be used to retrain the trained neural network 140. The determined, generated, and determined information, or a selection thereof, can be used for retraining. For this purpose, this information is checked for correctness before retraining and corrected if necessary. Incorrect labeling (i.e., labeling an area with an incorrect label) could lead to a deterioration of the model, i.e., the NN 140.

[0085] Retraining 250 is generally considered when the model's accuracy deteriorates. This can happen, for example, if the data changes due to previously unknown influences, such as spindle or tool wear, or mechanical changes in other machine components. These influences may not have been included in the data previously used for training. Retraining can increase the dataset and improve the model's accuracy.

[0086] The retraining 250 can be seen as a resumption of the training procedure 500 or after practical use as an additional step of the inference 200.

[0087] In one embodiment, a device 110 is provided that comprises at least one computing unit 120, at least one storage device 130, and a trained neural network 140, wherein the device 110 is configured to execute the steps of the method 200 outlined above. Such a device 110 is thus programmed according to the machining conditions and comprises the NN 140 trained according to the invention. The device 110 can be configured as a computer that, without the machine tool 100, reads the data of the previous and current machining from its storage device 130 and determines the corresponding distances. The storage device 130 can refer to a memory 103, a database 104, and / or a data storage medium 105, the latter being connected to the computing device 110 via a corresponding interface, such as a drive, or a wired or wireless interface.

[0088] Alternatively, the device 110 is part of the machine tool 100, in which case there is the additional possibility that the device receives the data of the current machining directly from the numerical control 102.

[0089] The machine tool 100 itself can also comprise corresponding elements that enable it to carry out the method 200 as described above. In this case, too, there is the additional possibility of obtaining the data of the current machining operation directly from the numerical control 102. The machine tool 100 is then configured to machine workpieces 300, taking the determined minimum distances into account during machining.

[0090] Another embodiment is a computer program product comprising instructions that, when executed by a computer, cause the computer to perform one of the methods 200 or 500 set forth above.

[0091] Another embodiment is a computer-readable medium on which the computer program product is stored.

[0092] Another embodiment is a method 400 for machining a workpiece 300 by the previously described machine tool 100.

[0093] The embodiments show possible embodiments, whereby it should be noted at this point that the invention is not limited to the specifically illustrated embodiments thereof, but rather various combinations of the individual embodiments with each other are also possible and this possibility of variation lies within the skill of the person skilled in this technical field due to the teaching of technical action by means of the objective invention.

[0094] The scope of protection is determined by the claims. However, the description and drawings must be used to interpret the claims. Individual features or combinations of features from the various embodiments shown and described may represent independent inventive solutions. The problem underlying these independent inventive solutions can be derived from the description.

[0095] All information on value ranges in this description is to be understood as including any and all sub-ranges thereof, e.g. the information 1 to 10 is to be understood as including all sub-ranges starting from the lower limit of 1 and the upper limit of 10, ie all sub-ranges begin with a lower limit of 1 or greater and end with an upper limit of 10 or less, e.g. 1 to 1.7, or 3.2 to 8.1, or 5.5 to 10.

[0096] For the sake of clarity, it should finally be pointed out that, in order to better understand the structure, some elements have been shown out of scale and / or enlarged and / or reduced in size.

[0097] Reference symbol list

[0098] machine tool

[0099] tool numerical control

[0100] memory

[0101] database

[0102] Data carrier

[0103] (Calculating) device

[0104] Computing unit

[0105] Memory device neural network

[0106] Optimization procedures

[0107] Obtaining numerical tool information

[0108] Receiving tool information

[0109] Reading the tool information

[0110] Clean up tool information

[0111] Determining time information

[0112] Generating a set of trajectory information

[0113] Determining a minimum distance

[0114] Determining minimum distances

[0115] Retraining the neural network

[0116] Workpiece(s)

[0117] Method for machining a workpiece

[0118] Method for training a neural network

[0119] Obtaining training data sets

[0120] Segmenting training datasets

[0121] Padding of training data sets

[0122] Training the neural network

[0123] Retraining the neural network

Claims

Patent claims Computer-implemented method (200) for optimizing a numerical Control (102) of a machine tool (100) with a tool (101) for machining a workpiece (300), comprising: Received (210) numerical tool information relating to a machining operation, wherein the tool information for each time point of the machining operation includes a spindle torque of the tool (101) and axis positions of the tool (101); Determine (220) by a trained neural network (140) of time information, wherein the time information includes: a time of tool entry into the workpiece and a time of tool exit from the workpiece, based on the obtained tool information; Generating (230) a set of path information for machining from the determined time points and the tool information, wherein the set of path information includes: a tool travel path comprising the approach, tool entry, working, and tool exit phases, and a tool distance to the workpiece before the approach phase; and Determining (240) a minimum distance of the tool (101) to the workpiece (300) before the approach phase from several sets of path information from several previous machining operations for the next machining operation. Method (200) according to one of the preceding claims, wherein the tool information further includes the spindle speed of the tool (101). Method (200) according to one of the preceding claims, wherein obtaining (210) of the numerical tool information includes receiving (211) the numerical tool information from the numerical control (102), and / or reading (212) the numerical tool information from a memory (103), a database (104) or a data carrier (105).

4. Method (200) according to one of the preceding claims, wherein the method further comprises, prior to the determining step (220), a purification (215) of the tool information by removing information that is irrelevant for determining the minimum distance.

5. Method (200) according to one of the preceding claims, wherein the method further comprises determining (241) one or more minimum distances of the tool (101) to the workpiece (300) before or during a approach, during or after the approach, or during or after a departure from several sets of path information from several previous machining operations for the next machining operation.

6. Method (200) according to one of the preceding claims, wherein in determining (240, 241) of minimum distances, one or more may be taken into account from geometries of workpieces before machining, geometries of workpieces after machining, geometry of the tool, clamping tolerances of the workpieces and tool wear.

7. Method (500) for training a neural network (140), comprising the following steps: Obtain (510) a plurality of training data sets, each training data set consisting of numerical tool information relating to a machining operation, and comprising, in the form of a time series for each point in time of the machining operation, a spindle torque of a tool of a machine tool; Segmenting (520) each training data set, thereby dividing the corresponding time series into at least three sections by marking the times for tool entry and tool exit; Padding (530) of each training data set, which adds filler data to the beginning and end of each time series; and Training (540) the neural network (140) with the training datasets.

8. Method (200, 500) according to one of the preceding claims, wherein the method further comprises retraining (250, 550) the trained neural network (140) using identified, generated and determined information, or a selection thereof.

9. Computer-implemented data structure of a neural network (140) trained according to claim 7 or 8, wherein the data structure is configured to determine, for the machining of a workpiece (300) by a tool (101) of a machine tool (100), the time of tool entry into the workpiece (300) and the time of tool exit from the workpiece (300) on the basis of spindle torque data of the tool (101) learned in the data structure from previous machining operations.

10. Device (110) comprising at least one computing unit (120), at least one storage device (130) and a neural network (140), wherein the device (110) is configured to perform the steps of a method (200) according to any one of claims 1 to 8.

11. Machine tool (100) with means suitable for carrying out the steps of a method (200) according to any one of claims 1 to 6 and for machining workpieces (300), taking into account the specified minimum distances during machining.

12. Computer program product comprising instructions which, when the program is executed by a computer, cause it to execute the method (200) according to any one of claims 1 to 8.

13. Computer-readable medium on which the computer program product according to claim 12 is stored.

14. Method (400) for machining a workpiece (300) by the machine tool (100) according to claim 11.