The present invention relates to electric machines, and in particular to computer numerical control (CNC) machining centers, feature extraction, clustering and recognition of parts manufactured by industrial machines.
Industrial production floors are typically divided into individual manufacturing machining centers and workstations, each machining center and workstation repeatedly manufacturing a large number of individual parts with a variety of part types.
The efficiency of a manufacturing facility is dependent, among other things, on the productivity of the individual machining centers and workstations, on their consumption of power and consumables and on the duration of manufacturing a given part.
Such properties of the manufacturing process can be monitored by special staff personnel inspecting the machines or observing using close-circuit TV. Additional methods of monitoring progress can require the installation of hardware and/or software components in the machines to record their operation.
However, such methods can be costly, if they require human resources, and invasive, if they require installing hardware or software components. They also can interfere with machine operation, even cause failures, and sometimes even invalidate the warranties of the machines.
Thus, it has become very much desirable to have a system that can monitor and evaluate the efficiency and productivity of a production floor without requiring intrusive monitoring components to be installed in the machines or requiring dedicated human staffing to perform the monitoring.
Unfortunately, such a system is not available.
The following are definitions of terminology used herein.
Part—a product, or a component of the product, manufactured in an industrial production floor.
Workstation—an area in a production floor where one or more machines are involved in the manufacturing of parts. Typically, a workstation is used to manufacture a variety of types of parts, and typically there is a plurality of identical parts of each type manufactured.
Machine—a device that is electrically powered and is involved in the manufacturing of parts. Examples of machines include stand-alone motors, milling machines, welding machines, lathes, and UV curing lamps. A machine may be a motor or have one or more motors.
Motor—a machine that uses electric power to rotate a shaft. Motors can be AC or DC motors, and AC motors can be synchronous or asynchronous.
Shift—a period of work under the responsibility of a worker. A shift is typically a few hours long, and workers typically change between shifts.
Session—the period that a workstation is manufacturing a single part. Often, some or all of the machines are inactivated when a session ends and are re-activated when a new session begins.
Sensor—a device that is physically attached to a machine or placed in proximity to a machine and generates an electric signal representing some physical property of the machine such as current, power, voltage, vibration, temperature and radiation relating to the operation of the machine. Sensor data transmission can be wired or wireless.
Manufacturing log (or in short “log”)—the set of signals generated by the sensors on the machines of a workstation, representing the sequence of manufacturing a part, that are either received by a processor in real time or recorded for processing at a later time. The log represents the sequence of the manufacturing a single part.
Parameter—a property of one or more of the signals received from the sensors of a workstation, such as starting time, ending time, number of activations, intensity of operation (such as the speed of a motor), correlation with of other signals (such as simultaneous starting or stopping of two or more machines), etc.
Feature—a combination of parameters of a log that are determined by a feature extraction process to be useful for clustering and recognition of parts manufactured by the workstation.
Cluster— a collection of logs that are found to be similar to each other and different from logs in other clusters.
Toolpath—the spatial trajectory of a tool when it cuts into the raw material processed by a machine tool.
One preferred embodiment provides systems and functionalities for extracting features of the process of manufacturing a part by analyzing electric currents powering and controlling motors of a CNC machine. The waveforms are measured using current or voltage probes. Such feature extraction may be used for clustering the logs of the manufactured parts so that all the logs related to a given part become members of the same cluster.
Generally speaking, CNC-manufactured parts are manufactured by a tool—usually a cutting tool—guided along a toolpath by a plurality of motors. The toolpath represents the shape of the changing surface of the manufactured part throughout the manufacturing process. Hence, it is useful for characterizing the manufactured part.
The plurality of motors moves the tool and sometimes also the manufactured part along a plurality of degrees of freedom, such as longitudinally along X, Y and Z axes of the machine or rotationally around an axis of the machine. The motors are typically synchronously controlled by the alternating currents powering them, where the toolpath changes in each degree of freedom proportionately to the number of alternating current cycles powering the respective motor.
A “toolpath breakpoint”, or simply, “breakpoint”, is herein an identifiable point along a degree of freedom of the toolpath. For example, in a machine having a tool moving along X and Y axes, a breakpoint is a “turning breakpoint” if the tool changes direction along the X or Y axis, or a “start-stop point” if the tool starts or stops moving at a point along the X or Y axis.
One preferred embodiment monitors the alternating currents powering and controlling the motors of a CNC machine by measuring current or voltage driving each motor, analyzing the respective waveforms of the measured current/voltage, identifying breakpoints, and counting alternating current cycles between consecutive breakpoints. The values of the counted cycles accumulate to form a set of values that is considered a feature of the manufactured part. Clustering a plurality of logs of manufactured parts according to such features allows identifying individual parts according to their respective clusters.
In another embodiment, the features are the measured time spans between breakpoints.
According a first aspect, there is provided a method for feature extraction of a part manufactured by a machine, the machine including a plurality of motors for driving a tool along a toolpath. The method includes, for each motor of one or more selected motors of the plurality of motors, measuring an alternating current powering the motor. Such measurement may be performed by probes and meters measuring current flow or voltage. According to the measured alternating current, the method further includes detecting toolpath breakpoints, and counting alternating current cycles between consecutive breakpoints. The method further includes recording a set of the counted alternating current cycles as a feature of the manufactured part.
The one or more selected motors may consist of one selected motor, and the feature extraction of the part is then by the one sequence of counted alternating current cycles associated with the one selected motor. Alternatively, the one or more selected motors may include at least two selected motors, and the feature extraction of the part is then by the at least two sequences of counted alternating current cycles associated with the at least two selected motors. The one or more selected motors may include all motors of the CNC machine, and then the feature extraction of the part is from the plurality of sequences of counted alternating current cycles associated with all motors of the CNC machine.
Measuring an alternating current may be made by measuring a single phase of the alternating current or by measuring at least two phases of the alternating current. The breakpoints may be toolpath turning points or toolpath start-stop points.
The one or more selected motors may include a first motor and a second motor, and the method may further include: (i) synchronously: detecting first motor breakpoints, and (ii) counting second motor alternating current cycles between consecutive first motor breakpoints; and recording a sequence of the counted second motor alternating current cycles as a feature of the part. The first motor breakpoints may be toolpath start-stop points.
According to another aspect, there is provided a method for feature extraction of a part manufactured by a machine, the machine including at least a first motor and a second motor. The method includes: for the first motor: (i) measuring an alternating current powering the first motor, and (ii) according to the measured alternating current powering the first motor: detecting first motor breakpoints; for the second motor: (i) measuring an alternating current powering the second motor, and counting alternating current cycles powering the second motor that occur between consecutive breakpoints of the first motor; and (ii) recording a sequence of the counted second motor alternating current cycles as a feature of the part. The first motor breakpoints may be toolpath start-stop points and the first motor may be a spindle motor.
According to still another aspect, there is provided a method for identifying parts manufactured by a machine, the machine having a plurality of motors for driving a tool along a toolpath. The method including: manufacturing a plurality of parts, wherein, for each part of the manufactured parts: (A) for each motor of one or more selected motors of the plurality of motors: (i) measuring an alternating current that powers the motor, and (ii) extracting features of the part according to the measured alternating current that powers the motor; and (B) clustering the plurality of parts according to the extracted features of each part. In this method, the extracting features of the part may be by detecting breakpoint in the measured alternating current and counting alternating current cycles between consecutive breakpoints. The breakpoints may be toolpath turning points or toolpath start-stop points. Measuring the alternating current may be by measuring a single phase of the alternating current or by measuring at least two phases of the alternating current.
Measuring the alternating current may be made by current flow probes or by voltage probes.
The description of the clustering process in this embodiment will be better understood by using the terms defined above for “session” and “log”.
A session of a machine is the time dedicated by the machine for manufacturing a single part. The starting and the ending of a session are detectable by processors in one of multiple possible ways, such as the following:
A sensor on the machine that is automatically activated when a session ends, such as a sensor on a machine door used for off-loading of a finished part or loading of a new workpiece.
An idle period in which the signals from the machine indicate that the machine is not active for a pre-defined period.
A switch activated by a worker, intentionally indicating that he finished a part and is starting a new part.
A log of a session is the sequence of signals, representing a sequence of operations of the motors during the session, as, for example, deterministically dictated by the sequence of machine commands (for example, G-code, which is explained at https://en.wikipedia.org/wiki/G-code) controlling the manufacturing of a part.
Clustering the features calculated from the logs is the procedure of grouping the logs of the machine into groups, so that the logs within each group are similar or identical to each other, while being significantly different from the logs in other groups.
Clustering logs can be performed using conventional methods of pattern recognition, if in the parameter space of the clusters there is a calculatable distance, the term “distance” here referencing the multidimensional distance between points in multidimensional space. If the logs of different instances of manufacturing the same part are close to each other (have a small distance between them) and the logs of instances of different parts are relatively far from each other (have a large distance between them) then the logs are clustered according to the manufactured part. A system can then calculate the distances between any two logs and create a distance matrix for the list of clusters, and then known algorithms, such as DBScan (described in DBSCAN—Wikipedia, https://en.wikipedia.org/wiki/DBSCAN) can be used to extract the features that best classify logs into clusters.
The features that describe a log, in the present embodiment, can be pre-determined sequences of G-code commands, as reconstructed from the currents measured on the motors. By way of example, the following sequence of three commands can be defined as a feature of a log:
Rotation of spindle motor #1 at 100 rpm for 1000 rotations.
Simultaneous rotation of X positional motor at 20 rpm for 24 rotations.
Simultaneous rotation of Y positional motor Y1 at 15 rpm for 76 rotations.
This sequence will be present in every log of manufacturing the same part. It may also be present in the logs of manufacturing other parts, so a single feature is not necessarily sufficient for clustering. Fortunately, a log may comprise tens and hundreds of features. Nonetheless, when the machine is manufacturing the same part, essentially all of the features will be present. Thus, the clustering will be reliable, and the clusters will be concentrated and well separated from each other.
Two sequences can be identical to each other, or they can be different from each other. If two logs are described as a list of features, there may be some features that can be found in both lists. The number of exclusive features in the lists (features that are present in one list but not in the other) can serve as a measure of the distance between the two logs. If the logs have exactly the same list of features, the distance between them will be zero. These distances can be used to fill the distance matrix between the logs and also in the clustering algorithm for clustering them.
The features can be selected to be short or long sequences. Short sequences may be less unique but more in quantity. Long sequences may be less in quantity but more unique.
Once the clusters are discovered, a user can associate each cluster with a catalog number of a part, and then the system can recognize individual newly-manufactured parts after the new parts' features are calculated. Such is one of the basic purposes of the present invention.
A different and more general embodiment of the present invention is a system for identifying manufactured parts in either an automatic- or manually-operated workstation. In this embodiment, the workstation may use one or more electric machines to drive tools that perform work to manufacture a part. The machines can be DC motors or AC motors. The state of a machine (active or inactive) and the intensity of its operation can be sensed non-intrusively by sensors that sense the current powering of a particular machine of the workstation, the vibration of the machine, the temperature of the machine, the electromagnetic field radiated by the machine, or the light emitted by the machine. The term “machine” encompasses both machines that use motors and electric machines that do not use motors, such as a welding machine or a UV curing lamp, and machines that use motors to ventilate the machines and not for providing power to a cutting tool. If the machine uses more than one motor, each motor of the machine can be considered “a machine” in itself.
According to this embodiment, sensors are attached to some or all of the machines. The sensor can be a current sensor, a voltage sensor, a vibration sensor, a temperature sensor, an audio sensor (microphone), a light sensor, or a sensor of any other physical property of the motor that indicate the state of the motor or the intensity of its operation. The sensor can transmit the sensed signal via a wire or wirelessly. Sensors of the above type can be obtained, for example, from Erbessd Instruments, Queensbury, N.Y. Such sensors can be seen in Top 10 Wireless Vibration Sensors—CM & Industrial Automation Erbessd (erbessd-instruments.com) and are shown in
The signals from the sensors are transmitted to a processor where they are digitized and recorded to provide for each manufactured part the log of operation of the workstation in terms of the sequence of activity of the machines. If the workstation manufactures identical parts according to a prescribed procedure of operations, it is expected that the logs of operation of the tools will be essentially repetitive. If the workstation is operated manually by a worker, it is expected that there will be some deviations between the logs of manufacturing the same part due to differences in worker style, experience, fatigue and/or work breaks.
Logs can be compared to each other so that their similarity can be quantified. Logs can be compared by some of the following parameters that can easily be deduced from the sensor signals:
The order of activating the tools
The duration of activating the tools
The speed in which the tools are working when activated
The simultaneity of activating pairs of tools
The similarity of two logs can be quantified according to these and similar parameters that can be derived from the logs of the machines.
The comparison of the similarities of logs is designed to tolerate the differences in logs that are typical to an industrial workstation. Example differences include:
Differences between productivity of different workers, reflected in the timing of machine operations.
Breaks that a worker may take during the working shift.
Breaks in operation of machines for changing consumables, such as cutting disks in a disk-cutter or electrodes in a welding machine.
Increased or reduced operation times of certain machines due to random deviations in the material entering the workstation.
The similarity between two logs can be calculated by comparing the sequences of starting and stopping the machines producing the data for the logs, and by comparing parameters that reflect the time-behavior of the signals of a given machine in the execution of its activities. These parameters can be, for example, the coefficients of a polynomial approximation of the signal during each period of operation.
In a preferred embodiment of the invention, the system grades a log based on the activity of the machines monitored in the log. Such a grade can represent features of managerial significance of a given step in manufacturing such as any of the following:
Time to complete a manufacturing step.
Amount of power consumed during a manufacturing step.
Amount of amortization of certain machines during a manufacturing step. (Amortization is measured by the power consumed by the motor guiding a tool. The power is indicative of the resistance of a material to the cutting being performed. Accordingly, the power is is directly related to the amortization.)
Such features can serve the manufacturing organization for managerial purposes, such as for any of the following:
Comparing the performances of different workers, if applied to repeated logs of manufacturing the same part.
Comparing the performance of a given worker, if applied to logs of manufacturing the same part in different environmental situations.
Estimating the cost of manufacturing when using different alternative logs for manufacturing the same part, and
Optimizing and manufacturing by correlating quality of manufactured parts and the logs of their manufacturing
The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings, in which:
Counting Alternating Current Cycles Between Breakpoints
Reference is made to
The number of alternating current cycles between consecutive breakpoints such as 212 and 216 along the entire part manufacturing accumulate into a sequence of counted cycles, or simply “counts,” such as the sequence of counts 700 in
Sometimes, especially with different parts that are similar in one dimension yet different in another dimension, it may be advantageous to identify breakpoints, count the number of alternating current cycles between consecutive breakpoints and form a sequence of counts for each motor of a plurality of motors, where each sequence serves as a feature of the manufactured part.
It will be noted that the breakpoints of
It will be noted that when recording two or more count sequences that pertain to different motors and degrees of freedom, as demonstrated by the two sequences of
Process of Feature Extraction and Clustering
The above specification describes embodiments where manufacturing is done according to pre-defined G-code. These embodiments are essentially deterministic (operate, not only repetitively, but essentially identically on like parts) and use a repetitive log of manufacturing. However, some manufacturing is done in manned workstations where a human worker activates and inactivates motors and machines. While such operation is essentially repetitive, it is not necessarily identically-repetitive, because there will probably be slight deviations from one part to another due to the randomness of the human operation based on individual work habits, and the following embodiments accommodate such randomness and still enable the identification of the manufactured part.
Attention is now called to
As the workstation performs an automatic or manual work of manufacturing a part, the machines are turned on and off and are applied to the part—cutting, pressing, welding, polishing etc. the part. The sensors transmit analog or digital signals representing their activity.
Attention is now called to
The data is input to a processor 836 that receives the parameters representing the work session, uses the parameters to generate a parametric description of the session, and then sends the parametric descriptions to a processing and storage unit 837. A clustering processor 838 clusters the accumulated logs into clusters of similar sessions, that describe repetitive manufacturing of identical parts.
Attention is now called to
The time scale for all three machines in
It is clearly observed that the patterns of
In
It is clearly observed that
In a preferred embodiment of the invention, the logs are parametrized so that they can be clustered and recognized using conventional pattern recognition methods. Features that can be used for parametrizing the logs may include, for each of the machines, starting times, ending times, average intensity (amplitude), standard deviation of intensity, number of activations, overlapping of operation of machines, coefficients of polynomial approximation of the intensity during activation.
Conventional pattern recognition methods are used for feature extraction, clustering and recognition of manufactured parts. Non-limiting example pattern recognition methods are discussed at https://en.wikipedia.org/wiki/Pattern_recognition.
Attention is now directed to
After installing sensors on the machines of a given workstation involved in the process of manufacturing, the workstation is operated normally during a work shift, and signals are sampled 1500. At the end of the shift, the record of the logs of the workstation taken during the shift is segmented 1502 into segments of signals sampled representing the manufacturing of individual parts. The segmentation may be executed manually, for example, by a human operator pressing a button to indicate “end of part manufacture”, or may be executed automatically, for example, by detecting relatively long periods of time with negligible, if any, change in the signals sensed by the sensors on the machines (not necessarily inactivity of all machines, as some machines may be left to run while parts are changed).
The system then calculates 1504 a large number of pre-determined parameters of the session, as described above, including times of activating each machine and coefficients of polynomial approximation of the signals sensed by the sensors, if the signals change over time.
The system then applies 1506 conventional feature extraction procedures to extract features of the individual part-sessions to perform clustering of the sessions into clusters of corresponding to individual parts.
Finally, the system labels 1508 each cluster of part-sessions to obtain a legend for recognizing additional logs as representing specific manufactured parts.
Attention is now called to
After the part is recognized, the system can compare the log of the part to the average log of the cluster, and extract managerial properties of the session 1608 such as session duration, relative power consumption of the session, relative amortization of the cutting tools of machines (estimated based on the time the tool was active and the current that the motor guiding the tool consumed. The time that a cutting tool is used and the force that it applies to the workpiece determine the amortization), consumption of expendables, etc. Such properties may help management improve efficiency and reduce the costs of manufacturing.
Having thus described exemplary embodiments of the invention, it will be apparent that various alterations, modifications, and improvements will readily occur to those skilled in the art. Alternations, modifications, and improvements of the disclosed invention, although not expressly described above, are nonetheless intended and implied to be within spirit and scope of the invention. Accordingly, the foregoing discussion is intended to be illustrative only; the invention is limited and defined only by the following claims and equivalents thereto.
This application claims benefit under 35 U.S.C. § 119(e) of the May 23, 2021 filing of U.S. Provisional Application No. 63/192,039, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63192039 | May 2021 | US |