Automatic prediction of repairs based on sensor data
By using a knowledge-based system to automatically predict and repair, and by using sensor data and clustering algorithms to identify machine status and suggest repair actions, the problems of long repair time and high cost in existing technologies are solved, thereby improving the repair efficiency and accuracy of machines.
Patent Information
- Application Number
- CN202111007713.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-31
- Filing Date
- 2021-08-30
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2041-08-30
AI Technical Summary
Existing machine performance monitoring systems require users to manually categorize and interpret large amounts of data to determine the most appropriate corrective action, resulting in long repair times and high costs, especially for complex machines such as aircraft.
A knowledge-based system is adopted to automatically predict and repair using sensor data. The current state of the machine is identified through clustering algorithms, and similar historical cases are searched in the knowledge base to generate repair action suggestions.
It reduces machine downtime, improves the accuracy and efficiency of repairs, and, especially for aircraft, increases airline availability and mission readiness.
Smart Images

Figure CN114104329B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to machine diagnosis and repair, and in particular to automatic prediction of repairs based on sensor data. BACKGROUND
[0002] Machines, such as aircraft, spacecraft, watercraft, motor vehicles, rail vehicles, generally include some type of performance monitoring system that records data about the performance of the machine, including the performance of various systems (and subsystems) of the machine. This data includes a record of certain performance events that occur during operation of the machine. The performance monitoring system generally collects data and records all of the collected data to a user. The user can then utilize this data to determine the type of maintenance or repair, if any, that the machine can need. For example, if the data indicates that a particular mechanical or electromechanical system of the machine has failed, or that the performance of one or more mechanical or electromechanical systems can lead to future machine failures, then the user can perform the appropriate repair to the machine at the next opportunity.
[0003] While current systems for machine performance and error monitoring provide the user with the necessary data to make appropriate repair decisions, the user still needs to sort through all of the data to determine the most appropriate repair action to address the error pattern. As a result, the user must sort through and interpret the data based on the user’s knowledge of the particular machine. This can be time consuming and does not always result in the repair action that is performed first being the most appropriate repair action, especially for complex machines like aircraft and other vehicles. For many types of machines, particularly commercial vehicles, the amount of time that the vehicle is out of service is expensive for the vehicle owner. Therefore, the longer it takes to perform the most appropriate repair action for a given error pattern, the longer the vehicle is out of service, which can be expensive for the vehicle owner if the vehicle would otherwise be in use.
[0004] Accordingly, it would be desirable to have a system and method that addresses at least some of the problems discussed above, as well as other possible problems. SUMMARY
[0005] Example embodiments of the present disclosure are directed to machine diagnosis and repair, and in particular to automatic prediction of repairs for machines, such as aircraft, based on sensor data. Example embodiments use historical data, measurements of operating conditions, and performed repair actions to resolve the current state of the machine to recommend the correct repair action. Example embodiments use a knowledge-based system to search a knowledge base from historical data to find repair actions. The knowledge-based system identifies matching or similar (identical) historical cases from the current state of the machine and current and historical operating conditions, and searches from historical repair actions for a repair action for the current state of the machine.
[0006] Example implementations provide more informed repair of mechanical or electromechanical systems of a machine, enabling a mechanic to perform quick and correct repair actions on error patterns of these systems. In the case of an aircraft, this can result in a reduction of the time of aircraft downtime, and an increase in on-time performance of an airline. In the defense domain, example implementations can result in an increase in aircraft availability and mission readiness.
[0007] Accordingly, the present disclosure includes, but is not limited to, the following example implementations.
[0008] Some example implementations provide a method comprising: receiving a time series of measurements of a plurality of operating conditions of a machine recorded during an operation of the machine; clustering the time series of measurements into one or more respective clusters of measurements; identifying patterns across the clusters of measurements; defining a current state of the machine comprising the patterns across the clusters of measurements; accessing a knowledge base comprising a set of historical cases describing historical problem states of the machine and respective solutions, the historical problem states of the machine comprising patterns of clusters of measurements of a plurality of operating conditions of the machine recorded during instances of previous operations of the machine, failure patterns of systems of the machine occurring during the instances of previous operations of the machine, and the respective solutions comprising repair actions performed to resolve a respective one of the failure patterns; searching the knowledge base for a historical case describing a historical problem state similar to the current state of the respective solution of the historical problem state, the respective solution being identified as a candidate solution for the current state, the respective solution of the historical problem state comprising a repair action; and generating an output display indicating the repair action to resolve the current state.
[0009] In some example implementations of the method of any previous example implementation or any combination of any previous example implementations, clustering the time series of measurements based on input parameters, the input parameters comprising a fixed number of clusters, a maximum distance between a central measurement in a cluster of measurements and other measurements, or a minimum number of measurements in a cluster of measurements.
[0010] In some example implementations of the method of any previous example implementation or any combination of any previous example implementations, clustering the time series of measurements into a fixed number of clusters according to a clustering algorithm or a set of clustering algorithms, the clustering algorithm comprising a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, or a Dirichlet process Gaussian mixture model (DPGMM) algorithm.
[0011] In some example implementations of the method of any previous example implementation or any combination of any previous example implementations, the machine is a vehicle, the system comprises a vehicle system, and receiving the time series of measurements further comprises receiving error data from the vehicle system of the vehicle system, the fault data is recorded during an operation that is or comprises a trip of the vehicle, and the method further comprises diagnosing the current state from the error data, the current state being a fault pattern of the vehicle system or another vehicle system.
[0012] In some example implementations of the method of any previous example implementation or any combination of any previous example implementations, diagnosing the current state comprises diagnosing a timing of the fault pattern, and the method further comprises: identifying a plurality of operating conditions as being relevant to the fault pattern, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identifying a time interval from the timing of the fault pattern; and extracting the time series of measurements from a larger time series of measurements of the larger plurality of operating conditions and for the time interval.
[0013] In some example implementations of the method of any previous example implementation or any combination of any previous example implementations, the success rate of resolving a respective one of the fault patterns based on the repair action weighs the repair actions in the knowledge base, and the one or more historical case’s one or more historical problem states match the current state or within a defined margin of matching the current state, and searching the knowledge base comprises selecting the historical case with the highest weighted repair action, thereby the historical case with the highest success rate of the repair actions of the one or more historical cases.
[0014] In some example implementations of the method of any previous example implementation or any combination of any previous example implementations, the machine is an aircraft, and the current state is indicated by a fault pattern recorded by the aircraft during an operation that is or comprises a flight of the aircraft.
[0015] Some example implementations provide an apparatus comprising: a memory configured to store computer-readable program code for a knowledge-based system comprising an inference engine and a knowledge base; and a processing circuitry configured to access the memory and execute the computer-readable program code to cause the inference engine and thereby the apparatus to perform at least the method of any previous example implementation or any combination of any previous example implementation.
[0016] Some example implementations provide a computer-readable storage medium comprising: computer-readable program code and a knowledge-based system stored therein, the knowledge-based system comprising an inference engine and a knowledge base, the computer-readable program code, in response to execution by a processing circuitry, causing the inference engine and thereby the apparatus to perform at least the method of any previous example implementation or any combination of any previous example implementation.
[0017] These and other features, aspects, and advantages of the present disclosure will become evident to those skilled in the art from a reading of the following detailed description, together with the accompanying drawings. The present disclosure includes any combination of two, three, four, or more of the features or elements set forth in the present disclosure, whether explicitly described or not, and whether in the same or different embodiments of the present disclosure. The present disclosure is intended to be read in its entirety, such that any separable features or elements of the present disclosure, in any of its aspects and embodiments, should be viewed as combinable, unless the context clearly dictates otherwise.
[0018] It will therefore be appreciated that this brief summary, is intended only to summarize some example embodiments, in order to provide a basic understanding of the present disclosure. Accordingly, the above-mentioned example embodiments are merely examples, and should not be construed as limiting the scope or spirit of the present disclosure in any way. Other example embodiments, aspects and advantages will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of some described example embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0019] Having thus described in general terms the example embodiments of the present disclosure, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
[0020] Figure 1 An aircraft is shown in accordance with some example embodiments of the present disclosure;
[0021] Figure 2 A system for diagnosis and repair of mechanical or electromechanical systems of machines such as aircraft is shown in accordance with example embodiments of the present disclosure;
[0022] Figure 3A 、 Figure 3B 、 Figure 3C and Figure 3D An example of a confusion matrix of sample results of a training method in accordance with example embodiments is shown;
[0023] Figure 4 is a flowchart showing various steps in a method for diagnosis and repair of mechanical or electromechanical systems of machines such as aircraft in accordance with example embodiments; and
[0024] Figure 5 An apparatus is shown in accordance with some example embodiments. DETAILED DESCRIPTION
[0025] Some embodiments of the disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the disclosure are shown. Indeed, various embodiments of the disclosure can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. For example, unless otherwise specified, reference to something being first, second, and the like, does not imply that it is necessarily the first or second item described; rather, such language is generally used for clarity in identifying one of two or more items. Likewise, a reference to something being on or under something else can be replaced with a reference to it being left of, right of, above, below, and the like unless otherwise specified; and similarly, a reference to something being left of something else can be replaced with a reference to it being right of unless otherwise specified, and vice versa. Like reference numerals are used throughout to refer to like elements.
[0026] Example embodiments of the disclosure generally relate to machine repair, and in particular to repair of mechanical or electromechanical systems of machines. While example embodiments will be described primarily in connection with repair of mechanical or electromechanical systems of aircraft, it should be understood that example embodiments can be used in connection with a variety of other machines. Examples of suitable machines that can benefit from example embodiments include vehicles such as spacecraft, watercraft, motor vehicles, rail vehicles, and the like. Further, it should be understood that the terms “data,” “content,” “digital content,” “information,” and similar terms are sometimes used interchangeably. Similarly, the terms “maintenance” and “repair” are sometimes used interchangeably.
[0027] Example embodiments of the disclosure provide more informed repair of mechanical or electromechanical systems of machines such as vehicles, which can result in the most appropriate first repair of error patterns of the respective systems. Some example embodiments premise a number of cases in which each error type is caused by one or more root causes of an exhaustive list of root causes. For each particular root cause of an error pattern, the operating conditions of the machine can exhibit a considerable degree of similarity. Thus, the root cause of each error occurrence can be reflected in the operating conditions of the machine (recorded during operation of the machine), and more specifically, the operating conditions that led to the occurrence of the error pattern and immediately preceded the occurrence of the error pattern.
[0028] Figure 1 An aircraft 100 of the type that can benefit from example embodiments of the disclosure is shown. As shown, the aircraft includes a fuselage 102 having a body 104, wings 106, and a tail 108. The aircraft also includes a number of higher-level systems 110, such as a propulsion system. In Figure 1In the particular example shown, the propulsion system includes two engines 112 mounted on wings. In other examples, the propulsion system can include other arrangements, such as engines carried by other portions of the aircraft including the fuselage and / or tail. The high-level system can also include an electrical system 114, a hydraulic system 116, and / or an environmental system 118. Any number of other systems can be included.
[0029] Figure 2 A system 200 for repair of a machine, such as a vehicle (e.g., the aircraft 100), according to example implementations of the present disclosure is shown, which can include repair of mechanical or electromechanical systems of the machine. The system can include any of a number of different subsystems (each a separate system) for performing one or more functions or operations. As shown, in some examples, the system includes at least one source 202 of data. In some examples, the source includes a memory that can be located at a single source or distributed across multiple sources. The data can be stored in a number of different ways, such as in a database or in files of any of a number of different types or formats (e.g., quick access recorder (QAR), enhanced flight data acquisition system (EFDS), flight data recorder (FDR), etc.).
[0030] In some examples in which the machine is an aircraft, the data includes indications of failure modes of systems of the aircraft, some of which can be indicated by flight deck effects (FDE) recorded by the aircraft. One example of a suitable failure mode is failure of a cabin air compressor (CAC) of the aircraft. The data also includes flight data for flights of the aircraft, including previous flights of the aircraft. The flight data includes time series of measurements of a number of operating conditions of the aircraft recorded from sensors or avionics systems on the aircraft during the flights. Examples of suitable operating conditions include flow, temperature, pressure, records from the CAC, altitude, speed, etc.
[0031] In some more particular examples, the flight data includes time series of measurements of a number of operating conditions of the aircraft recorded by a monitoring system from sensors or avionics systems during the flights, and at least some of the flight data for each flight is accessible from records generated by the monitoring system. The monitoring system can be on the machine, such as the aircraft 204, which in some examples corresponds to the aircraft 100. In this regard, the aircraft can be configured to record the flight data and produce records that can be transmitted wirelessly, either directly or via an artificial satellite 206 or network, to the particular source 202 of data (shown and sometimes referred to as an aircraft health management (AHM) system 202a). In other examples, the flight data can be transmitted via a wired connection or a portable data storage device (e.g., a flash drive).
[0032] The system 200 of the example implementation of the present disclosure includes a knowledge-based system 208 to determine a repair action to address a failure mode of a mechanical or electromechanical system of a machine (e.g., the aircraft 204) from at least some of the above-described data. The knowledge-based system includes an inference engine 210 and a knowledge base 212. The subsystems including the source 202, the AHM system 202a, and the knowledge-based system including the inference engine and the knowledge base can be co-located or directly coupled to each other, or in some examples, various ones of the subsystems can communicate with each other across one or more computer networks 214. Further, although shown as part of the system 200, it should be appreciated that any one or more of the above-described can function or operate as a separate system without regard to any of the other subsystems. It should also be appreciated that the system can include one or more additional or alternative subsystems than those shown in the middle. Figure 2
[0033] According to some example implementations of the present disclosure, the inference engine 210 is configured to receive, from sensors or avionics systems on the aircraft, a time series of measurements of a plurality of operating conditions of the aircraft recorded during a flight. The time series of measurements includes operating data including normal data and error data. The inference engine is configured to cluster the time series of measurements into one or more respective clusters of measurements, and the inference engine is configured to identify a pattern 218 across the clusters of measurements and define a current state 220 of the machine including (the pattern across the clusters of measurements). In some examples, the time series of measurements is clustered based on input parameters including a fixed number of clusters, a maximum distance between a central measurement in a cluster of measurements and other measurements, or a minimum number of measurements in a cluster of measurements, depending on the clustering algorithm used by the inference engine.
[0034] In some examples, the inference engine 210 is configured to access the knowledge base 212 including a collection of historical cases 222 describing historical problem states 224 and respective solutions 226. The historical problem states include patterns 230 across clusters of measurements of a plurality of operating conditions of the aircraft recorded during instances of previous operations of the machine during which a failure mode of a system of the machine occurred (e.g., a respective one of the previous flights obtained from sensors or avionics systems on the aircraft by the onboard flight recorder). The respective solutions include repair actions 232 performed to address a respective one of the failure modes. In certain examples, these repair actions are extracted from maintenance logs, such as from an aviation resource management system. One example of an appropriate repair action for a CAC failure can include instructions to inspect and / or repair the CMSC left 2 CAC, the CMSC right 2 CAC, or the Nitrogen Generation System Motor Drive Compressor (NGSMDC).
[0035] In some examples, the inference engine 210 is configured to search the knowledge base 212 for a historical case 222 that describes a respective solution (a respective one of the respective solutions 226) to a historical problem state 224 of a historical problem state that is similar to the current state 220, which can be the historical problem state that is most similar (identical) to the current state. In this regard, the respective solution is identified as a candidate solution for the current state. In some examples, the search includes a search of the knowledge base of historical cases that describe historical problem states that include a pattern 230 that is most similar to the pattern 218 of the current state. The respective solution of the historical problem state that is identified as a candidate solution for the current state includes a repair action 234 (of the repair actions 232). The inference engine is then configured to generate an output display 236 that indicates the repair action to resolve the current state of the machine (e.g., the aircraft 204) and / or its mechanical or electromechanical systems. In some examples, the repair action references instructions 238 for performing the repair action to resolve the current state.
[0036] In some examples, the knowledge-based system 208 is built in many different ways. In this regard, historical problem states 224 of systems of machines (e.g., the aircraft 204) that occurred during previous flights of the aircraft can be collected, as well as time series of measurements of a plurality of operating conditions of the aircraft recorded during a respective one of the previous flights, and a repair action 232 is performed to resolve a respective one of the failure modes. This data can be collected for a plurality of systems across a number of previous flights over a year or several years, with information about the performed repair actions being available. Data analysis, natural language processing (NLP), machine learning, etc. can be performed on the data to develop the inference engine 210 to identify patterns 230 across clusters of measurements of the plurality of operating conditions, which can then be stored in the knowledge base 212.
[0037] In some examples, the repair actions 232 in the knowledge base 212 are weighted based on a success rate of the repair action to resolve a respective one of the failure modes. When one or more of the historical problem states 224 of one or more of the historical cases 222 match or are within a defined margin of matching the current state 220, the inference engine 210 can select the historical case with the highest weighted repair action, and thus the highest success rate of the repair action of the historical case of the one or more historical cases.
[0038] In some examples, the system 200 also includes an inferencer, such as the inferencer 240, configured to receive error data from a system recorded during operation of the machine (e.g., an aircraft system recorded during a flight of the aircraft 204), the error data being part of operational data including error data and normal data. In these examples, the inferencer is configured to diagnose a current state 220 of the mechanical or electromechanical system from the fault data, a fault mode of the aircraft system or another aircraft system; the inferencer is configured to operate according to a clustering algorithm or a set of clustering algorithms including a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, or a Dirichlet process Gaussian mixture model (DPGMM) algorithm. As Figure 2 indicated, the inferencer is located on the aircraft to operate on the error data in real-time or near real-time. In other examples, the inferencer can be off-aircraft and configured to communicate with other subsystems across a computer network 214, or the inferencer can be co-located with the knowledge-based system 208. In these examples, the operational data, normal data, or error data can be downloaded from the aircraft during or after a flight.
[0039] In some further examples, the inferencer 240 is configured to diagnose a current state from the error data, the current state being indicated by a fault mode of the aircraft system (mechanical or electromechanical system) or another aircraft system— the fault mode being recorded by the aircraft 204 during operation (as or including a flight of the aircraft). The diagnosis can be according to a clustering algorithm or a set of clustering algorithms developed based on machine learning techniques. In some of these further examples, diagnosing the current state includes diagnosing a timing of the fault mode, and the inferencer is configured to identify a plurality of operating conditions as being relevant to the fault mode. The plurality of operating conditions can be a subset of a greater plurality of operating conditions of the aircraft 204. Also, in some of these further examples, the inferencer is configured to identify a time interval from the timing of the fault mode, and extract a measured time series of measurements from a greater measured time series of the greater plurality of operating conditions, and for the time interval.
[0040] As above, example implementations can be used in conjunction with various machines, including vehicles such as spacecraft, watercraft, motor vehicles, rail vehicles, and the like. More generally then, the inference engine 210 is configured to receive a measured time series of a plurality of operating conditions of a machine recorded during operation of the machine. The inference engine is configured to cluster the measured time series into one or more respective clusters of measurements, identify a pattern 218 across the clusters of measurements, and define a current state 220 including the pattern across the clusters of measurements.
[0041] The inference engine 210 is configured to access the knowledge base 212, which includes a collection of historical cases 222 that describe historical problem states 224 and corresponding solutions 226. The historical problem states include patterns 230 of clustered measurements of a plurality of operating conditions of a machine across instances of previous operations of the machine during which a failure pattern of a system of the machine occurred. The corresponding solutions include repair actions 232 performed to address a respective one of the failure patterns.
[0042] The inference engine 210 is configured to search the knowledge base 212 for a historical case that describes a corresponding solution to a historical problem state 224 that is similar to the current state 220, which can be the most similar historical problem state to the current state. The corresponding solution is identified as a candidate solution for the current state, and the corresponding solution to the historical problem state includes a repair action 234. The inference engine is then configured to generate an output display 236 that indicates the repair action to address the current state. In some examples, the repair action references instructions 238 for performing the repair action to address the current state.
[0043] The training method for the inference engine 210 can include various steps starting from the input of sensor data that is a time series of measurements, which can be compiled into a matrix. If the number of sensor data points is too large, a clustering algorithm or a collection of clustering algorithms can be used to compress the data. Examples of clustering algorithms include a k-means algorithm; a k-medoids algorithm (if some sensor variables are binary or discrete values); a DPGMM; and / or a DBSACN. The output of the clustering algorithm is a state, each of which is represented by the average of the points in a cluster (grouping), where the center can be referred to as a “state.”
[0044] Each sensor data point can be assigned to a state (also can be referred to as “labeled”) by calculating the distance between the sensor data point and each state (center of a cluster), and then assigning the sensor data point to the state for which the calculated distance is the shortest. After the sensor data points are assigned to states, a sequence of latent states that compresses the data or a sequence of the original data that is uncompressed can be calculated in a sliding window of n seconds. The size of the sliding window (n) can vary depending on the use of the original data or the compressed data. In some examples, n varies from 5 seconds to 60 seconds, but other values of n that are less than 5 or greater than 60 can be suitably utilized.
[0045] The sequence of raw data or latent states can be compared to data including historical cases 222. In some examples, the data and / or historical cases can include data containing summaries of historical repair actions related to failure modes and stored in a proactive repair identification text analyzer (PRITA) software. The PRITA data can be compared to the computed sequence to correlate repair actions to features present in the sequence of compressed data or raw data.
[0046] While other machine learning algorithms (e.g., neural networks) can be used, the training method can incorporate a supervised learning algorithm such as a random forest. Once trained, the inference engine 210 can receive an input (data) of window size n and, based on the input, output a repair action in relation to the input.
[0047] Figure 3A Figure 3B Figure 3C Figure 3D shows an example of a confusion matrix of sample results of the training method using a random forest, according to some example embodiments. The rows in the matrix correspond to true repairs, while the columns correspond to repairs predicted by the inference engine (e.g., inference engine 210). Figures 3A to 3D Each of the examples in Table 1 uses error messages related to a CAC. Figure 3A Figure 3B shows respective sample results computed for raw data and latent states related to the error message “CMSC Right 2 CAC has detected an internal or feed line error.” Figure 3A Examples of Table 2 result in a recall of about 95% and an accuracy of about 98%, and Figure 3B Examples of Table 3 result in a recall of about 89% and an accuracy of about 97-98%. Figure 3C Figure 3D shows respective sample results computed for raw data and latent states related to the error message “CMSC Left 2 CAC does not have output on any bus.” Figure 3C Examples of Table 4 result in a recall of about 100% and an accuracy of about 99%, and Figure 3D Examples of Table 5 result in a recall of about 97-98% and an accuracy of about 95%. In these examples, the recall and accuracy resulting from raw data versus latent states are comparable, while the amount of data transmitted downstream using latent states (i.e., compressed data) is significantly less than the amount of data transmitted downstream using raw data (e.g., over 1900 kilobytes of raw data per error message versus about 60 bytes of compressed data per error message). Examples of latent states Figure 3B Figure 3D ) can be over a longer duration, such that the size n of the sliding window in these examples is greater than Figure 3A and Figure 3C n in the raw data example of
[0048] Figure 4 is a flowchart illustrating various steps in the method 400. In accordance with example implementations of the present disclosure, the method includes executing a knowledge-based system 208 including an inference engine 210 and a knowledge base 212, and the inference engine can perform various steps of the method. As shown in block 402, the method includes receiving a time series of measurements of a plurality of operating conditions of a machine recorded during operation of the machine. In some examples, receiving the time series of measurements further includes receiving error data from a vehicle system of a vehicle system, the error data recorded during an operation, which is or includes a trip of the vehicle. The time series of measurements is clustered into one or more respective clusters of measurements, as shown in block 404. As shown in blocks 406 and 408, a pattern 218 spanning the clusters of measurements is identified, and a current state of the machine including the pattern spanning the clusters of measurements is defined.
[0049] The inference engine 210 accesses a knowledge base including a set of historical cases 222 describing historical problem states 224 and corresponding solutions 226 of the machine, as shown in block 410. The historical problem states of the machine include patterns 230 spanning clusters of measurements of a plurality of operating conditions of the machine recorded during instances of previous operations of the machine during which a fault pattern of a system of the machine occurred. The corresponding solutions include repair actions 232 performed to resolve a respective one of the fault patterns.
[0050] The inference engine 210 searches the knowledge base 212 for a historical case describing a historical problem state 224 similar to the current state 220 (which can be the most similar historical problem state to the current state), as shown in block 412. In some examples, searching the knowledge base includes selecting a historical case having the highest weighted repair action among the set of historical cases 222, and thus having the highest success rate of repair actions of one or more historical cases. The corresponding solution is identified as a candidate solution for the current state, and the corresponding solution of the historical problem state includes a repair action. The inference engine then generates an output display 236 indicating the repair action to resolve the current state, as shown in block 414.
[0051] In some examples, the method 300 further includes diagnosing, from the error data, a current state 220 that is a fault mode of the vehicle system or another vehicle system. Diagnosing the current state can include diagnosing a timing of the fault mode. The method can further include identifying a plurality of operating conditions as being related to the fault mode, identifying a time interval from the timing of the fault mode, and extracting a measured time series from the greater measured time series of the plurality of operating conditions, and for the time interval.
[0052] According to example implementations of the present disclosure, the system 200 and its sub-systems including the source 202, the AHM system 202a, and the knowledge-based system 208 including the inference engine 210 and the knowledge base 212 can be implemented by various apparatuses. The apparatuses for implementing the system and its sub-systems can include hardware, alone or in combination with one or more computer programs from a computer-readable storage medium. In some examples, one or more devices can be configured to be or otherwise implement the system and its sub-systems shown and described herein. In examples involving more than one device, the respective devices can be connected to each other or otherwise in communication with each other, such as directly or indirectly via a wired or wireless network, in many different ways.
[0053] Figure 5 A device 500 according to some example implementations of the present disclosure is shown. Generally, the device of example implementations of the present disclosure can be included in, comprise, or be embodied in one or more stationary or portable electronic apparatuses. Examples of suitable electronic apparatuses include smartphones, tablet computers, laptop computers, desktop computers, workstation computers, server computers, and the like. The device can include one or more of each of a plurality of components, e.g., a processing circuit 502 (e.g., a processor unit) connected to a memory 504 (e.g., a storage device).
[0054] The processing circuit 502 can be made up of one or more processors, alone or in combination with one or more memories. The processing circuit is generally any computer hardware capable of processing information, such as data, computer programs, and / or other appropriate electronic information. The processing circuit is made up of a collection of electronic circuits, some of which can be packaged as an integrated circuit or multiple interconnected integrated circuits (integrated circuits are sometimes more generally referred to as “chips”). The processing circuit can be configured to execute computer programs, which can be stored on the processing circuit or otherwise stored in the memory 504 (of the same or another device).
[0055] According to particular embodiments, the processing circuit 502 can be a plurality of processors, a multi-core processor, or some other type of processor. Further, the processing circuit can be implemented using a plurality of heterogeneous processor systems, where a host processor is present with one or more secondary processors on a single chip. As another illustrative example, the processing circuit can be a symmetric multi-processor system containing a plurality of processors of the same type. In yet another example, the processing circuit can be embodied as or otherwise include one or more ASICs, FPGAs, and so on. Thus, while the processing circuit is capable of executing a computer program to perform one or more functions, the processing circuit of various examples is capable of performing the function or functions without the aid of a computer program. In any instance, the processing circuit can be suitably programmed, in accordance with example embodiments of the present disclosure, to perform the functions or operations.
[0056] The memory 504 is generally any computer hardware able to store information such as data, computer programs (e.g., computer-readable program code 506), and / or other suitable information on a temporary or permanent basis. The memory can include volatile and / or non-volatile memory and can be fixed or removable. Examples of suitable memory include random-access memory (RAM), read-only memory (ROM), hard drives, flash memory, thumb drives, removable computer disks, optical disks, magnetic tape, or some combination of the aforementioned. Optical disks can include compact disks - read only memory (CD-ROM), compact disks - read / write (CD-R / W), DVDs, and so on. In various instances, the memory can be referred to as computer-readable storage media. Computer-readable storage media is a non-transitory device able to store information and distinguish from computer-readable transmission media, such as an electronic, electromagnetic, or optical signal carrying information from one place to another. Computer-readable media as described herein generally refers to computer-readable storage media or computer-readable transmission media.
[0057] In addition to the memory 504, the processing circuit 502 can be connected to one or more interfaces for displaying, transmitting and / or receiving information. The interfaces can include a communication interface 508 (e.g., a communication unit) and / or one or more user interfaces. The communication interface can be configured to transmit and / or receive information, such as to and / or from other devices, networks, and so on. The communication interface can be configured to transmit and / or receive information over physical (wired) and / or wireless communication links. Examples of suitable communication interfaces include network interface controllers (NICs), wireless NICs (WNICs), and so on.
[0058] The user interface can include a display 510 and / or one or more user input interfaces 512 (e.g., input / output units). The display can be configured to present or otherwise display information to a user, suitable examples of which include a liquid crystal display (LCD), a light-emitting diode display (LED), a plasma display panel (PDP), etc. The user input interface can be wired or wireless, and can be configured to receive information from a user into the device, such as for processing, storage, and / or display. Suitable examples of user input interfaces include a microphone, an image or video capture device, a keyboard or keypad, a joystick, a touch-sensitive surface (separate from or integrated into a touchscreen), a biometric sensor, etc. The user interface can also include one or more interfaces for communicating with peripheral devices such as printers, scanners, etc.
[0059] As described above, program code instructions can be stored in memory and, when executed by processing circuitry programmed thereby, carry out the functionality of the systems, subsystems, tools, and their respective elements described herein. As will be appreciated, any appropriate program code instructions can be loaded onto a computer or other programmable apparatus to produce a particular machine, such that the particular machine becomes a means for implementing the functions described herein. These program code instructions can also be stored in a computer-readable storage medium that can direct a computer, a processing circuitry, or other programmable apparatus to function in a particular manner, such that the particular machine or particular article of manufacture becomes a means for implementing the functions described herein. The instructions stored in the computer-readable storage medium can produce an article of manufacture, where the article of manufacture becomes a means for implementing the functions described herein. The program code instructions can be retrieved from the computer-readable storage medium and loaded into a computer, processing circuitry, or other programmable apparatus to configure the computer, processing circuitry, or other programmable apparatus to execute operations to be performed on or by the computer, processing circuitry, or other programmable apparatus.
[0060] Retrieval, loading, and execution of the program code instructions can be performed sequentially such that one instruction is retrieved, loaded, and executed at a time. In some example implementations, retrieval, loading and / or execution can be performed in parallel such that multiple instructions are retrieved, loaded, and / or executed together. Execution of the program code instructions can produce a computer-implemented process such that the instructions executed by the computer, processing circuitry, or other programmable apparatus provide operations for implementing the functions described herein.
[0061] Execution of instructions by processing circuitry, or storage of instructions in a computer-readable storage medium, support combinations of operations for performing the specified functions. In this manner, the device 500 can include processing circuitry 502 and a computer-readable storage medium or memory 504 coupled to the processing circuitry, where the processing circuitry is configured to execute computer-readable program code 506 stored in the memory in order to perform the operations described herein. It will also be appreciated that one or more functions and combinations of functions can be implemented by special purpose hardware-based computer systems and / or by combinations of special purpose hardware and program code instructions.
[0062] Many modifications and other embodiments of the present disclosure set forth herein will come to mind to one skilled in the art to which the present disclosure pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the present disclosure is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing description and the associated drawings describe example embodiments in the context of certain example combinations of elements and / or functions, one of ordinary skill in the art will recognize that other combinations of elements and / or functions are also possible and can result in other example embodiments. In this regard, for example, different combinations of elements and / or functions can be used and still be within the scope of the disclosure as set forth in the appended claims. As such, while the present disclosure has been described in the context of specific embodiments, it will be recognized that the present disclosure can be carried out with other combinations of elements and / or functions as well. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
[0063] Clause 1 : A device (500) comprising a memory (504) configured to store computer-readable program code (506) for a knowledge-based system (208); and a processing circuit (502) configured to access the memory and execute the computer-readable program code to cause an inference engine (210) to at least receive a time series of measurements of a plurality of operating conditions of a machine recorded during an operation of the machine; cluster the time series of measurements into one or more respective clusters of measurements; identify patterns (218) that span the clusters of measurements; define a current state (220) of the machine, the current state (220) comprising the patterns that span the clusters of measurements; access a knowledge base (212) comprising a set of historical cases (222) that describe historical problem states (224) of the machine and corresponding solutions (226), the historical problem states of the machine comprising patterns (230) that span clusters of measurements of a plurality of operating conditions of the machine recorded during instances of previous operations of the machine during which a failure mode of a system of the machine occurred, and the corresponding solutions comprising repair actions (232) performed to resolve a respective one of the failure modes; search the knowledge base for historical cases that describe a historical problem state similar to the current state whose corresponding solution is identified as a candidate solution for the current state, the corresponding solution of the historical problem state comprising a repair action; and generate an output display (236) that indicates the repair action (234) to resolve the current state.
[0064] Clause 2: The device (500) of clause 1, wherein the time series of measurements is clustered based on input parameters, the input parameters comprising a fixed number of clusters, a maximum distance between a central measurement in a cluster of measurements and other measurements, or a minimum number of measurements in a cluster of measurements.
[0065] Clause 3: The device (500) of clause 1 or clause 2, wherein the time series of measurements is clustered into a fixed number of clusters according to a clustering algorithm or a set of clustering algorithms, the clustering algorithms comprising a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, or a Dirichlet process Gaussian mixture model (DPGMM) algorithm.
[0066] Clause 4: The device (500) of any of clauses 1-3, wherein the machine is a vehicle, the system comprises a vehicle system, and causing the device to receive the time series of measurements further comprises causing the device to receive error data from a vehicle system of the vehicle system, the error data recorded during operation (as or including a trip of the vehicle), and the processing circuit (502) further executes the computer-readable program code (506) to cause the inference engine (210), and thereby the device, to diagnose a current state (220) of a fault mode as a vehicle system or another vehicle system from the error data.
[0067] Clause 5: The device (500) of clause 4, wherein causing the device to diagnose the current state (220) comprises causing the device to diagnose a timing of the fault mode, and further causing the device to identify a plurality of operating conditions as relevant to the fault mode, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identify a time interval from the timing of the fault mode; and extract a time series of measurements from a larger time series of measurements of the larger plurality of operating conditions, and for the time interval.
[0068] Clause 6: The device (500) of any of clauses 1-5, wherein repair actions (232) in the knowledge base (212) are weighted based on a success rate of resolving a respective one of the fault modes based on the repair action, and wherein one or more historical problem states (224) in one or more historical cases (222) match the current state (220) or within a defined margin of matching the current state (220), and searching the knowledge base comprises selecting a historical case with a highest success rate of repair actions of the historical case.
[0069] Clause 7: The device (500) of any of clauses 1-6, wherein the machine is an aircraft (204), and the current state (220) is indicated by a fault mode recorded by the aircraft during operation, the operation being or including a flight of the aircraft.
[0070] Clause 8: A method (400) comprising receiving (402) a time series of measurements of a plurality of operating conditions of a machine recorded during operation of the machine; clustering (404) the time series of measurements into one or more respective clusters of measurements; identifying (406) a pattern (218) spanning the clusters of measurements; defining (408) a current state (220) of the machine, the current state (220) comprising the pattern spanning the clusters of measurements; accessing (410) a knowledge base (212), the knowledge base (212) comprising a collection of historical cases (222) describing historical problem states (224) of the machine and respective solutions (226), the historical problem states of the machine comprising patterns (230) spanning clusters of measurements of a plurality of operating conditions of the machine recorded during instances of previous operations of the machine, a fault mode of a system of the machine occurring during the instances of previous operations of the machine, and the respective solutions comprising repair actions (232) performed to resolve a respective one of the fault modes; searching (412) the knowledge base for a historical case describing a historical problem state similar to the current state of a respective solution of the historical problem state, the respective solution identified as a candidate solution for the current state, the respective solution of the historical problem state comprising a repair action; and generating (414) an output display (236) indicating the repair action (234) to resolve the current state.
[0071] Clause 9: The method (400) of clause 8, wherein the time series of measurements is clustered based on input parameters, the input parameters comprising a fixed number of clusters, a maximum distance between a central measurement in a cluster of measurements and other measurements, or a minimum number of measurements in a cluster of measurements.
[0072] Clause 10: The method (400) of clause 8 or clause 9, wherein the time series of measurements is clustered into a fixed number of clusters according to a clustering algorithm or a collection of clustering algorithms, the clustering algorithms comprising a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, or a Dirichlet process Gaussian mixture model (DPGMM) algorithm.
[0073] Clause 11: The method (400) of any of clauses 8-10, wherein the machine is a vehicle, the system comprises a vehicle system, and receiving the time series of measurements further comprises receiving error data from a vehicle system of the vehicle system, the error data recorded during operation (as or including a trip of the vehicle), and wherein the method further comprises diagnosing the current state (220) as a fault mode of the vehicle system or another vehicle system from the error data.
[0074] Clause 12: The method (400) of any of clauses 8-11, wherein diagnosing the current state (220) comprises diagnosing a timing of a failure mode, and the method further comprises identifying a plurality of operating conditions as relevant to the failure mode, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identifying a time interval from the timing of the failure mode; and extracting a measured time series from the larger measured time series of the plurality of operating conditions, and for the time interval.
[0075] Clause 13: The method (400) of any of clauses 8-12, wherein the repair actions (232) in the knowledge base (212) are weighted based on a success rate of resolving a respective one of the failure modes based on the repair action, and wherein one or more historical problem states (224) in the one or more historical cases (222) match or are within a defined margin of matching the current state (220), and searching the knowledge base comprises selecting the historical case with the highest weighted repair action, thereby the historical case with the highest success rate of repair actions of the one or more historical cases.
[0076] Clause 14: The method (400) of any of clauses 8-13, wherein the machine is an aircraft (204), and the current state (220) is indicated by a failure mode recorded by the aircraft during an operation, the operation being or comprising a flight of the aircraft.
[0077] Clause 15: A computer-readable storage medium (504) comprising a computer-readable program code (506) and a knowledge-based system (208) stored therein, the knowledge-based system comprising an inference engine (210) and a knowledge base (212), the computer-readable program code, in response to execution by a processing circuit (502), causing the inference engine and thereby the device (500) to at least receive a time series of measurements of a plurality of operating conditions of a machine recorded during an operation of the machine; cluster the time series of measurements into one or more respective clusters of measurements; identify patterns (218) across the clusters of measurements; define a current state (220) of the machine, the current state (220) comprising the patterns across the clusters of measurements; access the knowledge base, the knowledge base comprising a collection of historical cases (222) describing historical problem states (224) of the machine and corresponding solutions (226), the historical problem states of the machine comprising patterns (230) of clusters of measurements of a plurality of operating conditions of the machine recorded during instances of previous operations of the machine, a failure mode of a system of the machine occurring during the instances of previous operations of the machine, and the corresponding solutions comprising repair actions (232) performed to resolve a respective one of the failure modes; search the knowledge base for historical cases describing historical problem states similar to the current state, the corresponding solutions of the historical problem states being identified as candidate solutions for the current state, the corresponding solutions of the historical problem states comprising repair actions; and generate an output display (236) indicating the repair actions (234) to resolve the current state.
[0078] Clause 16: The computer-readable storage medium (504) of clause 15, wherein the time series of measurements is clustered based on input parameters, the input parameters comprising a fixed number of clusters, a maximum distance between a central measurement and other measurements in a cluster of measurements, or a minimum number of measurements in a cluster of measurements.
[0079] Clause 17: The computer-readable storage medium (504) of clause 15 or clause 16, wherein the time series of measurements is clustered into a fixed number of clusters according to a clustering algorithm or a set of clustering algorithms, the clustering algorithms comprising a k-means clustering algorithm, a density-based spatial clustering of applications with noise (DBSCAN) algorithm, or a Dirichlet process Gaussian mixture model (DPGMM) algorithm.
[0080] Clause 18: The computer-readable storage medium (504) of any of clauses 15-17, wherein the machine is a vehicle, the system comprises a vehicle system, and causing the device (500) to receive the time series of measurements further comprises causing the device to receive error data from a vehicle system of the vehicle system, the error data being recorded during an operation (a trip as or including the vehicle), and wherein the device is further caused to diagnose the current state (220) as a fault pattern of the vehicle system or another vehicle system from the error data.
[0081] Clause 19: The computer-readable storage medium (504) of clause 18, wherein causing the device to diagnose the current state (220) comprises causing the device (500) to diagnose a timing of the fault pattern, and further causing the device to identify a plurality of operating conditions as being relevant to the fault pattern, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identify a time interval from the timing of the fault pattern; and extract the time series of measurements from a larger time series of measurements of the larger plurality of operating conditions and for the time interval.
[0082] Clause 20: The computer-readable storage medium (504) of any of clauses 15-19, wherein the repair actions (232) in the knowledge base (212) are weighted based on a success rate of resolving a respective one of the fault patterns based on the repair action, and wherein one or more historical problem states (224) in the one or more historical cases (222) match the current state (220) or within a defined margin of matching the current state (220), and causing the device (500) to search the knowledge base comprises causing the device to select the historical case with the highest success rate of the repair action of the historical case having the highest weighted repair action.
[0083] Clause 21 : The computer-readable storage medium (504) of any of clauses 15-20, wherein the machine is an aircraft (204), and the current state (220) is indicated by a fault pattern recorded by the aircraft during an operation, the operation being or including a flight of the aircraft.
Claims
1. A device for automated prediction of repairs, comprising: a memory configured to store computer readable program code for a knowledge based system comprising an inference engine and a knowledge base; and a processing circuit configured to access the memory and execute the computer readable program code to cause the inference engine and thereby the device to at least: receive a time series of measurements of a plurality of operating conditions of a machine recorded during operation of the machine; cluster the time series of measurements into one or more respective clusters of measurements; identify a pattern across the clusters of measurements, comprising: compressing sensor data points of the time series of measurements to form compressed data, wherein the compressing is based on: computing distances between the sensor data points and each state, wherein each state is represented by an average of points in a cluster of the clusters of measurements, assigning each sensor data point to a state by computing distances between the sensor data points and each state and then assigning the sensor data point to the state for which the computed distance is shortest, and computing n seconds of latent states of compressed data in a sliding window; defining a current state of the machine, the current state comprising the pattern across the clusters of measurements; accessing the knowledge base, the knowledge base comprising a collection of historical cases describing historical problem states of the machine and corresponding solutions, the historical problem states of the machine comprising patterns across clusters of measurements of the plurality of operating conditions of the machine recorded during instances of previous operations of the machine during which a failure mode of a system of the machine occurred, and the corresponding solutions comprising repair actions performed to resolve a respective one of the failure modes; searching the knowledge base for a historical case describing a historical problem state similar to the current state, the corresponding solution of the historical problem state being identified as a candidate solution for the current state, the corresponding solution of the historical problem state comprising a repair action; and generating an output display indicating the repair action to resolve the current state.
2. The apparatus of claim 1, wherein, clustering the time series of measurements based on input parameters, the input parameters comprising a fixed number of clusters, a maximum distance between a center measurement and other measurements in a cluster of measurements, or a minimum number of measurements in a cluster of measurements.
3. The apparatus of claim 1, wherein, clustering the time series of measurements into a fixed number of clusters according to a clustering algorithm or a set of clustering algorithms, the clustering algorithm comprising a k-means clustering algorithm, a density-based spatial clustering of applications with noise, DBSCAN, algorithm, or a Dirichlet process Gaussian mixture model, DPGMM, algorithm.
4. The apparatus of claim 1, wherein, the machine is a vehicle, the system comprises a vehicle system, and causing the device to receive the time series of measurements further comprises causing the device to receive error data from a vehicle system of the vehicle system, the error data being recorded during the operation that is a trip of the vehicle or the operation comprising a trip of the vehicle, and The processing circuit further executes the computer-readable program code to cause the inference engine and thereby the device to diagnose the current state as a fault mode of the vehicle system or another vehicle system from the error data.
5. The apparatus of claim 4, wherein, Causing the device to diagnose the current state includes causing the device to diagnose a timing of the fault mode, and further causing the device to: identify the plurality of operating conditions as being related to the fault mode, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identify a time interval from the timing of the fault mode; and extract the measured time series from a larger measured time series of the larger plurality of operating conditions and for the time interval.
6. The apparatus of claim 1, wherein, weighting repair actions in the knowledge base based on a success rate of the repair actions in resolving a respective one of the fault modes, and wherein one or more of the historical problem states of one or more of the historical cases match the current state or are within a defined margin of matching the current state, and searching the knowledge base includes selecting the historical case with the highest weighted repair action thereby the highest success rate of the repair actions of the historical case with one or more of the historical cases.
7. The apparatus of any one of claims 1-6, wherein, The machine is an aircraft, and the current state is indicated by fault modes recorded by the aircraft during the operation, the operation being or including a flight of the aircraft.
8. A method for automated prediction of repairs, comprising: receiving measured time series of a plurality of operating conditions of a machine recorded during an operation of the machine; clustering the measured time series into one or more respective clusters of measurements; identifying patterns across the clusters of measurements, including: compressing sensor data points of the measured time series to form compressed data, wherein the compression is based on: computing distances between the sensor data points and each state, wherein each state is represented by an average of points in a cluster of the clusters of measurements, assigning each sensor data point to a state by computing distances between the sensor data points and each state and then assigning the sensor data point to the state for which the computed distance is shortest, and a sequence of latent states of the compressed data is computed in a sliding window of n seconds; defining a current state of the machine, the current state including the pattern across the clusters of measurements; accessing a knowledge base, the knowledge base including a set of historical cases describing historical problem states of the machine and corresponding solutions, the historical problem states of the machine including patterns across clusters of measurements of the plurality of operating conditions of the machine recorded during instances of previous operations of the machine during which fault modes of systems of the machine occurred, and the corresponding solutions including repair actions performed to resolve a respective one of the fault modes; searching the knowledge base for historical cases describing a corresponding solution to a historical problem state similar to the current state, the corresponding solution being identified as a candidate solution to the current state, the corresponding solution to the historical problem state including a repair action; and generating an output display indicating the repair action to resolve the current state.
9. The method of claim 8, wherein, clustering the measured time series based on input parameters, the input parameters including a fixed number of clusters, a maximum distance between a center measurement in a cluster of measurements and other measurements, or a minimum number of measurements in a cluster of measurements.
10. The method of claim 8, wherein, clustering the measured time series into a fixed number of clusters according to a clustering algorithm or a set of clustering algorithms, the clustering algorithm including a k-means clustering algorithm, a density-based spatial clustering of applications with noise DBSCAN algorithm, or a Dirichlet process Gaussian mixture model DPGMM algorithm.
11. The method of claim 8, wherein, the machine is a vehicle, the system includes a vehicle system, and receiving the measured time series further includes receiving error data from a vehicle system of the vehicle system, the error data being recorded during a trip of the vehicle or the operation including the trip of the vehicle, and wherein the method further includes diagnosing the current state from the error data, the current state being a fault mode of the vehicle system or another vehicle system.
12. The method of claim 11, wherein, diagnosing the current state includes diagnosing a timing of the fault mode, and the method further includes: identifying the plurality of operating conditions as being related to the fault mode, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identifying a time interval from the timing of the fault mode; and extracting the measured time series from a larger measured time series of the larger plurality of operating conditions and for the time interval.
13. The method of claim 8, wherein, weighting repair actions in the knowledge base based on a success rate of resolving a corresponding one of the fault modes based on the repair action, and wherein one or more of the historical problem states in one or more of the historical cases match the current state or within a defined margin of matching the current state, and searching the knowledge base includes selecting the historical case having the highest weighted repair action thereby having the highest success rate of the repair action of the historical case of one or more of the historical cases.
14. The method of any one of claims 8-13, wherein, the machine is an aircraft, and the current state is indicated by a fault mode recorded by the aircraft during the operation, the operation being or including a flight of the aircraft.
15. A computer-readable storage medium comprising: a computer-readable program code and a knowledge-based system stored in the computer-readable program code, the knowledge-based system including an inference engine and a knowledge base, the computer-readable program code, in response to execution by a processing circuit, causing the inference engine and thereby a device to at least: receive a measured time series of a plurality of operating conditions of a machine recorded during an operation of the machine; cluster the measured time series into one or more corresponding clusters of measurements; identify a pattern spanning the clusters of measurements, including: compressing the measured time series of sensor data points to form compressed data, wherein the compression is based on: computing distances between the sensor data points and each state, wherein each state is represented by an average of points in a cluster of the measured clusters, assigning each sensor data point to a state by computing distances between the sensor data points and each state and then assigning the sensor data point to the state for which the computed distance is shortest, and the sequence of latent states of compressed data is computed in a sliding window of n seconds; defining a current state of the machine, the current state comprising a pattern spanning the measured clusters of the measurements; accessing a knowledge base, the knowledge base comprising a collection of historical cases describing historical problem states of the machine and corresponding solutions, the historical problem states of the machine comprising patterns spanning measured clusters of the plurality of operating conditions of the machine recorded during instances of previous operations of the machine during which a fault pattern of a system of the machine occurred, and corresponding solutions comprising repair actions performed to resolve a corresponding one of the fault patterns; searching the knowledge base for a historical case describing a historical problem state similar to the current state, the corresponding solution of the historical problem state being identified as a candidate solution for the current state, the corresponding solution of the historical problem state comprising a repair action; and generating an output display indicating the repair action to resolve the current state.
16. The computer-readable storage medium of claim 15, wherein, clustering the measured time series based on input parameters, the input parameters comprising a fixed number of clusters, a maximum distance between a center measurement and other measurements in a cluster of measurements, or a minimum number of measurements in a cluster of measurements.
17. The computer-readable storage medium of claim 15, wherein, clustering the measured time series into a fixed number of clusters according to a clustering algorithm or a set of clustering algorithms, the clustering algorithm comprising a k-means clustering algorithm, a density-based spatial clustering of applications with noise DBSCAN algorithm, or a Dirichlet process Gaussian mixture model DPGMM algorithm.
18. The computer-readable storage medium of claim 15, wherein, the machine is a vehicle, the system comprises a vehicle system, and causing the device to receive the measured time series further comprises causing the device to receive error data from a vehicle system of the vehicle system, the error data being recorded during a trip of the vehicle or the operation comprising the trip of the vehicle, and wherein the device is further caused to diagnose the current state as a fault pattern in the vehicle system or another vehicle system according to the error data.
19. The computer-readable storage medium of claim 18, wherein, causing the device to diagnose the current state comprises causing the device to diagnose a timing of the fault pattern, and the device is further caused to: identify the plurality of operating conditions as being related to the fault pattern, wherein the plurality of operating conditions is a subset of a larger plurality of operating conditions of the vehicle; identify a time interval from the timing of the fault pattern; and extract the measured time series from a larger measured time series of the larger plurality of operating conditions and for the time interval.
20. The computer-readable storage medium of any of claims 15-19, wherein, success rates of resolving respective ones of the failure modes based on the repair actions weight the repair actions in the knowledge base, and wherein one or more of the historical problem states in one or more of the historical cases match the current state or are within a defined margin of matching the current state, and causing the device to search the knowledge base includes causing the device to select the historical case with the highest weighted repair action, and thus the highest success rate of the repair actions of the historical cases, having the highest weighted repair action.
Citation Information
Patent Citations
Diagnostics, prognostics, and health management for vehicles using kinematic clusters, behavioral sensor data, and maintenance impact data
US20190180527A1