The present disclosure relates to machining parameter recommendations.
For machining a given material, the programmer/process engineer makes various decisions regarding (i) a tool, e.g., supplier, geometry, and grade, (ii) a tool path, (iii) process parameters, e.g., cutting speed, feed rate, and depth of cut, (iv) coolant type and delivery method, and (v) a fixture to hold the part. For a given material, there are many alternatives for cutting tools and a wide range of feasible process parameters. To illustrate, for turning nickel-based superalloys, tool supplier Sandvik has five carbide grades, e.g., S205, S05F, GC1105, GC1115, and GC1125, and four ceramic grades, e.g., CC6060, CC6165, CC6160, CC670. Similarly, other tooling vendors such as Kennametal, Seco, Greenleaf, and Iscar have multiple grades in carbide and ceramic materials for turning nickel-based superalloys. For each insert grade, there is a wide range of feasible process parameters for a given material and operation. For example, for carbide grades, the recommended cutting speed for rough turning Inconel 718 is between 150 Surface Feet per Minute (sfm) (45 meters/min)-250 sfm (76.2 m/min), while the recommended cutting speed for ceramic inserts is 600 sfm (182.88 m/min)-1200 sfm (365.76 m/min).
For a given machining operation, the engineer generally chooses a suitable insert geometry and grade, and the process parameters to minimize the total machining cost. Although analytical, empirical, or hybrid models exist to predict machining process performance, e.g., such as machining stability and tool wear, challenges remain. For example, modeling machining stability needs information on the tool point frequency response function, which needs an instrumented hammer, accelerometers, and a data acquisition system. Tool wear models need experimentation for calibrating the model coefficients, which is infeasible for many tool-material combinations. Furthermore, there is uncertainty due to factors that are not included in the model or not known. As a result, pre-process identification of suitable tool and process parameters in machining is difficult. Therefore, machining parameter selection is typically done using experience, manufacturer, or handbook recommendations, and is often overly conservative. Furthermore, any optimization is typically done using trial and error.
A conventional technical solution that addresses in part some of the above-noted technical challenges was described in U.S. Pat. No. 10,564,624 entitled “Optimal machining parameter selection using a data-driven tool life modeling approach”, This reference describes an iterative method for optimizing a machining process considering trade-offs in tool wear and cycle time. The noted conventional method can be used to optimize a particular feature for a given machine, tool, and material combination and can be used to build a data-driven probabilistic model for tool life and an iterative optimization strategy to converge to the optimal process parameters. Further, the conventional method can use flank wear data to build a tool life model. However, this conventional method is restricted to optimizing a particular application, e.g., machine-tool-material. It does not use data aggregation or augmentation methods to recommend near-optimal starting parameters for a given setup and tool-material combination. Additionally, the conventional method does not provide recommendations on tools and starting parameters for a new application for a given machine and material combination.
The present disclosure provides systems and methods for machining parameter recommendation. In one embodiment, a machining parameter recommendation system for use with a CNC machine to recommend machining parameters for a given machine and material combination is provided. The system includes a machining information database for storing machining information for various machine and material combinations and a user interface configured to receive a machining parameter recommendation request from a user. The machining parameter recommendation request identifies a machine and a material. Depending on the configuration of the system, the request may be configured to recommend starting machining parameters for a given material and machine combination or to provide recommended machining parameters to meet a particular machining objective (e.g., cycle time reduction, productivity improvement, tool cost reduction, improved tool life, and/or total cost reduction, which considers trade-off between cycle time and tool life).
The machining parameter recommendation system can include a controller configured to receive a machining parameter recommendation request from a user interface. The controller can request and receive machining information from the machining information database related to the machine and the material identified in the machining parameter recommendation request, determine a set of recommended machining parameters, and communicate the set of recommended machining parameters to the user interface and/or, in some embodiments directly to a CNC machine.
The methodology of the machining parameter recommendation controller includes filtering the received machining information based on the user machining parameter recommendation request to a set of filtered machining information related to the machine and material identified in the machining parameter recommendation request. The controller can detect outliers in this filtered machining information and remove any detected outliers to obtain corrected machining information. The outlier detection can leverage one or more of median absolute deviation, elliptic envelope, isolation forest, or local outlier factor machine learning algorithms.
The machining information can be clustered and aggregated in accordance with the machining parameter recommendation request. This can include utilizing one or more clustering and aggregating algorithms, such as K-means, mean-shift clustering, or expectation-maximization (EM) clustering using Gaussian mixture models. Once a suitable set of recommended machining parameters are obtained from the clustering and aggregation, those recommendations can be communicated to the user interface and/or to a CNC machine for controlling the machine accordingly.
After filtering the machining parameter information based on the machining parameter recommendation request, the amount of machining information may be too small for suitable clustering and aggregation. Accordingly, the controller can augment the machining information with additional machining information from the database that is unrelated to the machining information in some way (e.g., different material, different machine, different grade, etc.). This augmentation can include adjusting the additional machining information based on a calculated compensation factor.
These and other objects, advantages, and features of the invention will be more fully understood and appreciated by reference to the description of the current embodiment and the drawings.
Before the embodiments of the invention are explained in detail, it is to be understood that the invention is not limited to the details of operation or to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention may be implemented in various other embodiments and of being practiced or being carried out in alternative ways not expressly disclosed herein. Also, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. The use of “including” and “comprising” and variations thereof is meant to encompass the items listed thereafter and equivalents thereof as well as additional items and equivalents thereof. Further, enumeration may be used in the description of various embodiments. Unless otherwise expressly stated, the use of enumeration should not be construed as limiting the invention to any specific order or number of components. Nor should the use of enumeration be construed as excluding from the scope of the invention any additional steps or components that might be combined with or into the enumerated steps or components. Any reference to claim elements as “at least one of X, Y and Z” is meant to include any one of X, Y or Z individually, and any combination of X, Y and Z, for example, X, Y, Z; X, Y; X, Z; and Y, Z.
Systems and methods for recommending machining parameters in accordance with the present disclosure can utilize data aggregation and/or data augmentation to recommend suitable starting parameters for a given setup and tool-material combination. Further, some embodiments can provide recommendations on tools and starting parameters for a new application for a given machine and material combination.
Embodiments of the present disclosure do not need access to tool wear information or tool life models to make suitable recommendations. Instead, the disclosed embodiments utilize continuous learning methods for machining parameter selection using aggregated in-process data. For example, the disclosed embodiments, can include one or more of the following modules:
An exemplary system in accordance with the present disclosure is illustrated diagrammatically in
In some embodiments, the system does not communicate directly with the CNC Machine 110 that will use the recommended parameters. Instead, the recommended parameters are processed by Computer Aided Manufacturing (CAM) software, which generates a machine toolpath and G-code. The user can manually enter the recommended parameters obtained from the front-end dashboard or alternatively, the dashboard or server can send the recommended parameters to a CAM computer (e.g., via the server 106 or directly), running the CAM software. The generated G-code based on the recommended parameters can then be communicated to the CNC Machine from the CAM computer, i.e., the device running the CAM software as shown in
Database—Data Storage and Management
The disclosed embodiments include collecting in-process machining data and saving it in a standardized format in a data storage and management module, often referred to as a database 102. A database is a structured system designed to efficiently store, organize, retrieve, and manage large volumes of data. In general, a database includes structured data stored in table where each table contains rows and columns. Each row represents a record, and each column represents a specific attribute or piece of information associated with that record. This tabular structure facilitates organization and retrieval of data.
The database 102 can be relational or non-relational (e.g., object-oriented). In general, relational databases use a structured query language to manage and retrieve data. They establish relationships between tables using keys, such as primary keys and foreign keys. Non-relational databases provide more flexible data models and are suitable for handling large amounts of unstructured or semi-structured data.
The data stored in the database can include, for example, the following types of information:
In some implementations, data collection can be done manually by an engineer or other user and manually entered in the front-end dashboard 108. In other implementations, data collection can be conducted automatically by in-process data collection. For example, a new analytic request at the front-end 108 can be communicated (directly or indirectly) to the machining system, which can provide the relevant information. In addition, or alternatively, data collection can be conducted automatically by an external machine monitoring device and the data can be stored in the database. In some implementations, a hybrid approach may be utilized where some information is entered manually and other information is provided over a communication network from the machining system. The collected data can be stored in a database 102.
The schema of the database can be flexible to support situations including new value ranges and types. For instance, PostgreSQL can be used as a database management system. PostgreSQL is an object-relational database. An object-relational database is a type of database management system that combines features from both relational databases and object-oriented databases. In general, it bridges the gap between the structured tabular nature of relational databases and the more complex data structures and behaviors found in object-oriented programming. In an object-relational database, not only simple data types like integers and strings can be stored, but also more complex data structures such as objects, arrays, and user-defined data types. This allows real-world entities to be modeled more closely, which is particularly useful for applications that deal with complex data relationships and behaviors, such as analyzing machining parameters. Use of a suitable database enables more complex data types and allows objects to inherit properties.
Checks can be added to ensure consistency in data format and accuracy. For example, the computational modules can be programmed or configured such that:
The checks can be implemented by a processor on the server 106. For example, before executing any given computational module, a pre-check can be conducted (e.g., to ensure the data being provided to the module is in a suitable (e.g., standard) format for that module, to ensure no data related to obsolete tool grades or geometries is being provided to the module, and to ensure the range of values are suitable for cutting speed, feed rate, and cut times for different tool and material combinations). Information related to these checks can be relayed to the user via the front-end dashboard 108.
Application Submodules
Historic in-process machining data aggregation can be used to recommend process parameters for various application submodules 104. There can be a variety of different submodules 104 to recommend machining parameters for various situations.
1. Starting Machining Parameter Recommendation Application Submodule for a New Application
A user can input information on the machine, material, coolant, and type of cut using the front-end dashboard interface 108. User constraints can be provided as well, e.g., preferred tool supplier(s) and number of recommendations to be provided by the system (e.g., the system can be constrained to provide its top five results). Part of the submodule is a data analysis algorithm that can recommend a suitable tool, e.g., supplier, geometry, and grade; cutting parameters, e.g., cutting speed, feed rate, and depth of cut; and expected cut time. The recommendations can provide near-optimal starting machining parameters for the given inputs. By way of example, this exemplary module can provide a recommendation for a tool to last for a threshold time (e.g., in minutes) at a given set of cutting parameters.
2. Application Objective Machining Parameter Recommendation Application Submodule.
Another submodule recommends a tool based not only on the aggregated data in the database, but based on data provided by the end user about the current application (e.g., current tool, material, coolant, and type of cut along with the cutting parameters and cut time). In this way, the front end provides an interface for the user define how productivity improvement goals and/or tool cost reduction goals. That is, the user can define certain recommendation restrictions (e.g., same cut time with a cheaper tool, or the tool lasts longer but might be more expensive).
With this module, a user can input information on the machine, material, coolant, type of cut, current cutting parameters, cut time, parts per tool/insert edge, machine rate, tool/insert edge cost, tool change time, process objective, constraints, or some combination thereof. Process objectives can include cycle time reduction or productivity improvement; tool cost reduction or improved tool life; and/or total cost reduction, which considers trade-off between cycle time and tool life. Constraints can include preferred tool suppliers, minimum and maximum values for cutting parameters, cut times, and parts per tool edge.
Another data analysis algorithm can recommend optimal tool, e.g., supplier, geometry, and grade; cutting parameters, e.g., cutting speed, feed rate, and depth of cut; expected cut time; and expected improvement in process objective. The goal of this analysis is to improve the process for the desired process objective.
Methods for Machining Parameter Recommendation
The methods for recommending machining process parameters 200 can include data filtration 202, clustering and aggregation 210, augmentation 206, and outlier detection 208, as shown in
The data can be filtered 202 and potentially augmented 206 (if sufficient augmentation data is available 204) using user inputs 214 for whichever application module is being utilized. Then, the filtered data can be used to recommend the requested parameters using data clustering and aggregation methods 210. In many situations, the number of dimensions, sometimes referred to as features, of the subject data may be too high to cluster manually. Accordingly, a clustering algorithm can be utilized to identify meaningful groups and similar data points for each group. Different clustering methods such as K-means, mean-shift clustering, or Expectation-Maximization (EM) clustering using Gaussian Mixture Models can be used. To illustrate,
This in-process data may be collected from different machines at different manufacturing locations on different tool paths. Each data point (302, 304, 306) has an associated depth of cut and cut time, which are not represented in
This clustering process and the recommended parameter calculations can be completed for every insert grade for the user selected material in the database. The insert grade recommendations can be subsequently sorted using maximum material removal rate (in3/min) or total material removal (in3), calculated as the product of the material removal rate and the cut time. If the user has a preferred vendor constraint, insert grades from the user's preferred vendor are given priority in the recommendations.
For the starting machining parameter recommendation application submodule, the disclosed clustering process enables identifying different parameter zones and provides recommendations based on the user's objectives. This clustering process enables continuous improvement as tests are completed with different process parameters for a given tool-material combination. The disclosed clustering process can also be used to compare inserts and grades from different suppliers and recommend tools based on the user objectives. This clustering process can also be used to compare machinability between different materials. In essence, this application submodule leverages the in-process data collected to provide starting machining parameter recommendations (e.g., tool, cutting parameters, and expected cut time) based on user inputs (e.g., machine, material, coolant, and type of cut) along with any user constraints (e.g., preferred tool supplier(s) and number of recommendations to be provided by the system). Part of the submodule is a data analysis algorithm that can recommend near-optimal starting machining parameters for the given inputs. By way of example, this exemplary module can provide a recommendation for a tool to last for a threshold time (e.g., in minutes) at a given set of cutting parameters
For the objective machining parameter recommendation application submodule, the baseline cost per part can be calculated using user inputs. The cost per part equation is shown below:
In Eq. 1, cp is the cost per part in $, tc is the cut time per part in minutes, rm is the machine rate in $/min, tch is the tool change time or insert index time in minutes, cte is the cost per tool/insert edge in $, and pte is parts per tool edge. For each insert grade, the optimal cost per part is determined. For a selected insert grade, the cost per part can be calculated for the different clusters using the process parameters and the associated cut times. The optimal cost per part is the minimum value from the different clusters. The insert grades can be sorted based on the user objectives, e.g., cycle time reduction, tool cost reduction, or total cost reduction, and the constraints.
Data Filtering and Augmentation
Filtering data with user inputs can result in a small number of data points. To address this, a data augmentation method 206 can be applied if the number of filtered data is below a pre-determined number 204, as shown in
There may exist a few data points in the database for an interrupted cut with coolant on 1040 steel. As a result, filtering the database using the interrupted cut input may result in a few data points, less than the threshold number for efficient clustering. In that case, the data can be augmented by using the data for continuous cuts, e.g., with no interruption. This can be done by adjusting the cut time in the database for continuous cuts to reflect cuts with interruption using a compensation factor.
In Eq. 2, tc
In Eq. 3, tc
For depth of cut compensation, a power-law equation can be used to adjust the cut time.
In Eq. 4, bc is the user input depth of cut, bd and tc
The cut time adjustments shown in Eqs. 2, 3, and 4 can be applied simultaneously to adjust the cut time for multiple factors. Similar compensation factors can also be used for tool geometry, e.g., chip breaker and nose radius. The compensation factors can be different for different materials based on machinability ratings. This enables the cut time for every data point for a given tool-material combination to be adjusted for the user inputs. The adjusted cut time can be subsequently used in the clustering analysis 210 to recommend optimal parameters and the associated cut times.
Furthermore, data can also be augmented using insert grades from different suppliers using the material and coating composition. For example, the Sandvik grade CC670 and Greenleaf grade WG300 for machining hard material are both whisker-reinforced ceramic grades. In this case, if the user's preferred vendor is Sandvik and no or few data exist, data for the Greenleaf inserts can be used for calculations. This can be extended by creating a list of grades similar in material and composition from different suppliers.
Finally, machinability values of different materials can also be used to compensate for cut time. As noted, the compensation factors for each parameter can be determined empirically using data, literature reviews, physics-based modeling, or a combination of both.
Outlier Detection
A physics-guided machine learning outlier detection method can be used to detect and remove outliers. This is done using machining knowledge that tool life reduces with cut interruptions, without coolant, and with increases in cutting speed, feed rate, and depth of cut. This information can be incorporated into a machine learning method that identifies data points that do not conform to the machining knowledge. To illustrate, the procedure is as follows. First, methods such as the median absolute deviation, elliptic envelope, isolation forest, or local outlier factor (LOF) can be used to detect outliers. From machining knowledge, the cut time can be reduced with an increase in cut speed, feed rate, and depth of cut. The outliers that conform to the relationship between cut time and process parameters are preserved. An acceptable variability in data can be defined and outliers can be detected and removed based on it.
Data Visualization
Raw data and results from the disclosed analysis can be visualized in a front-end web dashboard. The disclosed data visualization tool provides interactive analytics features. Data analysis results can be complex and may benefit from support to aid understanding. The disclosed data visualization enhances the interpretability of the results. The disclosed interactive visualization can show common factors for each group and differences between the groups. The disclosed visualization provides comprehensive data analytics controls and multiple types of plots and visual representations to show the raw data and analysis results, such as scatter plots or parallel coordinate plots. The visualization methods will provide a way to visualize test data efficiently to quickly identify high-level variables, gaps, trends, and outliers in the database. Through visualization tools, clustering results can be analyzed to understand and gain insight into the inherent hidden data characteristics.
Systems and methods of the present disclosure can control, by a controller submodule, a computer numerical control (CNC) machine based on the clustered and aggregated machining information.
The disclosed technologies use historical in-process data to make machining process parameter recommendations. The disclosed method enables continuous learning and enables near-optimal starting process parameters. The disclosed data visualization module ensures that new data collected from any machining operations is captured and immediately shared with all users. This ensures that a collective experience of users is shared within their group and is used to help select near-optimal machining parameters. As new tools are developed by vendors and tested at machining operations, information can be quickly disseminated for improving machining processes across different operations. This will reduce lag between tooling development and acceptance in industry.
Existing competing technologies focus on modeling and predicting one or two process variables, e.g., tool wear or machining stability, using data for a given tool-material combination for a given setup. If modeling capability exists, these can be used in conjunction with, or in, a subsequent step to further optimize a particular process, after starting with parameters recommended by the described technologies.
The disclosed technologies can be used generally in fields such as Manufacturing and/or IT/Software. More specifically, the disclosed technologies can be used by a tool and equipment distributor, or a large or medium-sized manufacturer to collect data from its operations and use it to progressively optimize its machining operations for improving productivity and reducing machining costs.
Directional terms, such as “vertical,” “horizontal,” “top,” “bottom,” “upper,” “lower,” “inner,” “inwardly,” “outer” and “outwardly,” are used to assist in describing the invention based on the orientation of the embodiments shown in the illustrations. The use of directional terms should not be interpreted to limit the invention to any specific orientation(s).
The above description is that of current embodiments of the invention. Various alterations and changes can be made without departing from the spirit and broader aspects of the invention as defined in the appended claims, which are to be interpreted in accordance with the principles of patent law including the doctrine of equivalents. This disclosure is presented for illustrative purposes and should not be interpreted as an exhaustive description of all embodiments of the invention or to limit the scope of the claims to the specific elements illustrated or described in connection with these embodiments. For example, and without limitation, any individual element(s) of the described invention may be replaced by alternative elements that provide substantially similar functionality or otherwise provide adequate operation. This includes, for example, presently known alternative elements, such as those that might be currently known to one skilled in the art, and alternative elements that may be developed in the future, such as those that one skilled in the art might, upon development, recognize as an alternative. Further, the disclosed embodiments include a plurality of features that are described in concert and that might cooperatively provide a collection of benefits. The present invention is not limited to only those embodiments that include all of these features or that provide all of the stated benefits, except to the extent otherwise expressly set forth in the issued claims. Any reference to claim elements in the singular, for example, using the articles “a,” “an,” “the” or “said,” is not to be construed as limiting the element to the singular.
This invention was made with government support under Contract No. DE-AC05-00OR22725 awarded by the U.S. Department of Energy. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
63402110 | Aug 2022 | US |