This description relates to a rare event detection system for time-series telemetry streams.
Some vehicles produce telemetry data to represent measurements about a vehicle and/or the vehicle's environment. For example, the telemetry data of a spacecraft may include vehicle measurements, such as the temperatures of parts of the spacecraft, and environmental data, such as images of space from the spacecraft's cameras. Given the complexity of vehicles, the amount of telemetry data received may represent thousands of components of a vehicle and numerous environmental parameters. The amount of telemetry data is increased when received as a telemetry stream that includes the telemetry data as time series data that captures changes to the telemetry data over time. The sheer amount of telemetry data complicates processing and analysis of the telemetry streams, making it difficult for a user charged with the management of the vehicle to readily address issues buried in the telemetry streams.
A first example relates to a non-transitory machine-readable medium having machine executable instructions for a rare event detector that causes a processor core to execute operations. The operations include calculating a temporal segmentation pattern based on historical time-series data of historical telemetry streams from a first time period. The temporal segmentation pattern includes historical temporal segments. The operations also include identifying sets of predicted events associated with the historical temporal segments based on the historical telemetry streams. The sets of predicted events correspond to shapes of the temporal segmentation pattern for respective historical temporal segments. The operations further include calculating dynamic limits for the respective historical temporal segments based on the shapes of the temporal segmentation pattern. The operations yet further include identifying a set of active temporal segments of an incoming telemetry stream that correspond to a subset of the historical temporal segments of the temporal segmentation pattern. The active temporal segments are from a second time period after the first time period. The operations include detecting a rare event for an active temporal segment of the set of active temporal segments in response to the incoming telemetry stream exceeding the dynamic limits for a historical temporal segment corresponding to the active temporal segment.
A second example relates to a rare event detection system that includes a memory for storing machine-readable instructions and a processor core. The processor core accesses the machine-readable instructions and executes the machine-readable instructions as operations. The operations include calculating a temporal segmentation pattern based on historical time-series data of historical telemetry streams from a first time period. The temporal segmentation pattern includes historical temporal segments. The operations also include identifying sets of predicted events associated with the historical temporal segments based on the historical telemetry streams. The sets of predicted events correspond to shapes of the temporal segmentation pattern for respective historical temporal segments. The operations further include calculating dynamic limits for the respective historical temporal segments based on the shapes of the temporal segmentation pattern. The operations yet further include identifying a set of active temporal segments of an incoming telemetry stream that correspond to a subset of the historical temporal segments of the temporal segmentation pattern. The active temporal segments are from a second time period after the first time period. The operations include detecting a rare event for an active temporal segment of the set of active temporal segments in response to the incoming telemetry stream exceeding the dynamic limits for a historical temporal segment corresponding to the active temporal segment.
A third example relates to a method for detecting rare events. The method includes calculating a temporal segmentation pattern based on historical time-series data of historical telemetry streams from a first time period. The temporal segmentation pattern includes historical temporal segments. The method also includes identifying sets of predicted events associated with the historical temporal segments based on the historical telemetry streams. The sets of predicted events correspond to shapes of the temporal segmentation pattern for respective historical temporal segments. The method further includes calculating dynamic limits for the respective historical temporal segments based on the shapes of the temporal segmentation pattern. The method yet further includes identifying a set of active temporal segments of an incoming telemetry stream that correspond to a subset of the historical temporal segments of the temporal segmentation pattern. The active temporal segments are from a second time period after the first time period. The method includes detecting a rare event for an active temporal segment of the set of active temporal segments in response to the incoming telemetry stream exceeding the dynamic limits for a historical temporal segment corresponding to the active temporal segment.
To maintain the health of a deployed device, such as a vehicle, the deployed device may be monitored over time, resulting in tens of thousands of telemetry points of telemetry data streaming to an operator every second. The telemetry data may be processed based on manually defined warning thresholds determined by a mission phase of the vehicle. An operator is tasked with reviewing the massive amount of telemetry data, and so is reliant on the manual warning thresholds to identify problems. The unfortunate result being that the operator is generally unaware of a problem until the warning thresholds are exceeded and an emergency response is needed. Accordingly, the quantity of telemetry data forces the operator to depend on manual warning thresholds even though the default warning thresholds do not provide the operators time to review and act to solve potential problems before the deployed devices risk hardware damage or mission failure.
The systems and methods described herein provide a rare event detection system that identifies dynamic limits for time-series telemetry streams for a deployed device, such as a vehicle to enable early detection of anomalies that are harbingers of errors. The dynamic limits are calculated based on historical time-series data associated with the deployed device. The dynamic limits are calculated to reduce false positives in warning thresholds while enabling augmented awareness of changes in large telemetry sets. The augmented awareness of potential errors offers an opportunity to discover anomalous behavior before an error occurs, which provides the operator time to intervene prior to the occurrence of the error. Additional time to address anomalous behavior may be the difference between success and failure when deployed devices are not directly accessible. For example, a vehicle, such as a satellite, in an inhospitable environment, like space, may not be accessible for hands-on tinkering. Therefore, time is needed to assess anomalies and provide remedial responses that are capable of remotely affecting the vehicle. The rare event detection system described herein provides additional time to address anomalies by detecting rare events sooner based on dynamic limits. The rare event detection system also provides flexibility to operators to adjust the dynamic limits in response to real-time events. The additional time and flexibility allow an operator to address anomalies before the anomalies impact the health of the deployable device, thereby extending mission availability which reduces total lifecycle cost.
Turning to
Returning to
During operation of the vehicle 102, the components 104 generate telemetry streams 106 periodically and/or asynchronously. A telemetry stream 106 is a wireless computer communication utilizing various protocols to send and/or receive electronic signals with time-series data of telemetry data about the operation of the component 104 for a period of time. For example, the telemetry streams 106 may include component statistics, operational metrics, and/or status of the components 104 and/or the vehicle 102. The telemetry streams 106 may additionally or alternatively include environmental data sensed by components 104. The telemetry streams 106 may include timestamps corresponding to telemetry data to define a sequence of the telemetry data in the period of time. Because the components 104 are various, modular, and customizable, the telemetry streams 106 may include various, modular, and customizable types of data.
The rare event detection system 100 includes a sensor interface 108, a processor core 110, a memory 112, a network interface 114, and a display interface 116, which are operably connected for computer communication. The sensor interface 108 provides software and hardware to facilitate data input and output between the components 104 of the vehicle 102 and the rare event detection system 100. For example, the sensor interface 108 receives the telemetry streams 106 from the components 104. The processor core 110 processes signals and performs general computing to execute instructions stored in the memory 112. The instructions cause the processor core 110 to execute operations. The memory 112 may store an operating system that controls or allocates resources of the rare event detection system 100. The memory 112 represents a non-transitory machine-readable memory (or other medium), such as RAM, a solid state drive, a hard disk drive or a combination thereof.
The memory 112 includes a segmentation module 118, an event module 120, a dynamic limit module 122, and a rare event module 124. The memory 112 stores machine-readable instructions associated with the modules 118-124. The processor core 110 accesses the memory 112 and executes the machine-readable instructions as operations. The processor core 110 can be a variety of various processors including multiple single and multicore processors, co-processors, and other multiple single and multicore processor and co-processor architectures.
The network interface 114 provides software and hardware to facilitate data input and output between the rare event detection system 100 and data sources such as a historical database 126, a display 128, etc. via a network 130. The network 130 is, for example, a data network, the Internet, a wide area network (WAN) or a local area (LAN) network. The network 130 serves as a communication medium to various remote devices (e.g., databases, web servers, remote servers, application servers, intermediary servers, client machines, other portable devices).
The display interface 116 provides software and hardware to facilitate data input and output between the rare event detection system 100 and a display 128. The display 128 is a device for outputting information and may be a light-emitting diode (LED) display panels, liquid crystal display (LCD) panel, plasma display panels, and touch screen displays, among others. The display 128 includes graphical input controls for a user interface, which can include software and hardware-based controls, interfaces, touch screens, or touch pads or plug and play devices for an operator, such as the operator 212 of
The memory 112 includes a rare event detector 129 that includes modules that operate in concert and/or stages to detect rare events of the vehicle 102. A module of the modules 118-124 may be an artificial neural network that acts as a framework for machine learning, including deep learning. For example, a module may be a neural network, a convolution neural network (CNN) or a conditional generative adversarial network (cGAN). A module of the modules 124-130 may include an encoder, decoder, symbol predictor etc. For example, the segmentation module 118 may include an autoencoder, a long short-term memory (LSTM), or other artificial recurrent neural network that determines the representations to classify the telemetry streams 106 in an unsupervised manner. The segmentation module 118 may include convolutional layers and bi-directional LSTM layers that calculate temporal segmentation patterns of historical time-series data for a historical telemetry stream from a first time period. In various examples, the rare event detector 129 can include more less of the modules.
More particularly, the event module 120 categorizes the predicted events by identifying outliers by analyzing a mean, variance, or distribution of historical time series extrapolated using statistical methods, such as Z-score. In another example, the event module 120 categorizes the predicted events of a sequential subsets of the estimated time-series telemetry data, which can be referred to as historical temporal segments (HTSs) using the predicted labels, support vector machines (SVMs), etc. The event module 120 discards the anomalous events to create a nominal subset of predicted events from the set of predicted events.
The dynamic limit module 122 calculates dynamic limits of a temporal segmentation pattern for respective historical temporal segments based on the shapes of the temporal segmentation pattern. The dynamic limits may change for different HTS. The rare event module 124 detects a rare event for an active temporal segment of the set of active temporal segments in response to the incoming telemetry stream 360 exceeding the dynamic limits of an HTS corresponding to the ATS.
The historical telemetry streams 302-306 include historical time series data, having an amount of telemetry data, associated with a component (e.g., the components 104 of
The segmentation module 118 calculates a temporal segmentation pattern 308 based on historical telemetry streams 302-306 that correspond to events that have previously occurred. The temporal segmentation pattern 308 is a set of estimated time-series telemetry data based on the historical telemetry streams 302-306. The temporal segmentation pattern 308 includes historical temporal segments (HTS), for example, a first HTS 310, a second HTS 312, a third HTS 314, a fourth HTS 316, a fifth HTS 318, and a sixth HTS 320. The HTSs 310-320 of the temporal segmentation pattern 308 are sequential subsets of the estimated time-series telemetry data. The HTSs 310-320 are calculated based on parameters including component type, vehicle type, physical environment, mission conditions, mission phase, level of repetition, and vehicle intent, among others.
The segmentation module employs a parameter (or multiple parameters) to define the HTSs 310-320 based on the historical telemetry streams 302-306. For example, the HTSs 310-320 may be identified based on the historical telemetry streams 302-306 being from a similar component, such as the component (e.g., the components 104 of
Different vehicles, such as spacecraft transition through mission phases during their life cycle. Mission phases may include a pre-launch phase, a launch phase, a feature deployment phase (e.g., orbit transitions and associated thruster firings, primary mirror deployment, antenna deployment, sunshield deployment, etc.), and an orbital phase. Because components operate differently during different mission phases, in some examples, the HTSs 310-320 are determined based on the historical telemetry streams 302-306 having corresponding mission phases as the vehicle.
As another example, the HTSs 310-320 of the temporal segmentation pattern 308 may be determined based on mission conditions. The HTSs 310-320 may be identified based on physical environment and/or mission conditions. As one example, a first vehicle (e.g., the vehicle 202 of
The set of historical telemetry streams including historical telemetry streams 302-306 may have subsets. For example, a first historical telemetry subset may include the first historical telemetry stream 302 and the second historical telemetry stream 304 from one or more vehicles in an orbital environment. A second historical telemetry subset may include the third historical telemetry stream 306 from a different vehicle in a planetary environment. As another example, the segmentation module may define the level of repetition as a revolution of a vehicle (e.g., the vehicle 202 of
In another example, a first component (e.g., component-1 104 of
The segmentation module may determine the HTSs 310-320 based on vehicle intent. Vehicle intent is based on a desired action of a component (e.g., the component 104 of
In some examples, the segmentation module smooths historical and/or estimated time-series data in a smoothing operation. In one example, the smoothing operation is performed on the historical telemetry streams 302-306 to remove short-term irregularities from the historical time-series data of the historical telemetry streams 302-306. Removing short-term irregularities included in the historical telemetry streams 302-306 avoids incorporating the short-term irregularities in the temporal segmentation pattern 308. Accordingly, a shape of a respective historical temporal segment may be determined based on the smoothed historical time-series data.
In another example, the smoothing operation is performed on the temporal segmentation pattern 308 to minimize the confluence of irregularities that may have been propagated in the temporal segmentation pattern 308 from the historical telemetry streams 302-306. In either example, the result is a smoothed temporal segmentation pattern. The smoothing operation may include a moving average technique.
An event module (e.g., the event module 120 of
The predicted events of the historical telemetry streams 302-306 correspond to shapes of the temporal segmentation pattern 308, such as a first shape 322, a second shape 324, a third shape 326, a fourth shape 328, a fifth shape 330, and a sixth shape 332. The shapes 322-332 are based on features of the predicted events of the temporal segmentation pattern 308 in a given HTS of the HTSs 310-320. For example, the first shape 322 of the first HTS 310 is based on the estimated time-series data calculated from the time-series data of the first historical telemetry stream 302, the second historical telemetry stream 304, and the third historical telemetry stream 306 in the first HTS 310.
As one example, the first historical telemetry stream 302 of the first HTS 310 includes a first event 334 and a second event 336. The second historical telemetry stream 304 of the first HTS 310 includes a third event 338 and a fourth event 340. The third historical telemetry stream 306 of the first HTS 310 includes a fifth event 342 and a sixth event 344. Accordingly, a set of predicted events of the first HTS 310 includes the events 334-344. The first shape 322 corresponds to the repetition of features of the predicted events in the historical telemetry streams 302-306. For example, the first event 334 and the second event 336 of the first historical telemetry stream 302 include two maxima. Therefore, the first HTS 310 of the first historical telemetry stream 302 has a feature of the two maxima. The first HTS 310 of the second historical telemetry stream 304 has the same feature of two maxima, defined by the third event 338 and a fourth event 340. The first HTS 310 of the third historical telemetry stream 306 also has this feature of two maxima, defined by the fifth event 342 and a sixth event 344. Therefore, the first shape 322 includes this feature of two maxima corresponding to the maxima of the predicted events 334-344.
In some examples, predicted events may be discarded to avoid anomalous events from affecting the temporal segmentation pattern 308. As one example, the second HTS 312 includes a seventh event 346 of the first historical telemetry stream 302, an eighth event 348 of the second historical telemetry stream 304, and a ninth event 350 of the third historical telemetry stream 306. The events 346-350 of a set of predicted events of the second HTS 312 are categorized as nominal events or anomalous events based on the features of the predicted events 346-350. For example, the seventh event 346 and the eighth event 348 have a tooth shape feature with maxima having generally the same height defined by the time-series data of the first historical telemetry stream 302 and the second historical telemetry stream 304, respectively. However, the ninth event 350 does not have the tooth shape feature. Instead, the ninth event 350 has a single maxima feature with a height that extends beyond other maxima in the second HTS 312 of the third historical telemetry stream 306.
An event module (e.g., the event module 120 of
The event module discards the anomalous events to create a nominal subset of predicted events from the set of predicted events. Continuing the example from above, the seventh event 346 and the eighth event 348 form the subset of predicted events. The second shape 324 of the second HTS 312 is calculated based on the nominal subset of predicted events. Accordingly, the second shape 324 of the second HTS 312 has a tooth shape with maxima having generally the same height like the features of the seventh event 346 and the eighth event 348 and does not incorporate the single maxima feature of the ninth event 350. In this manner, the event module discards anomalous events so that anomalous events do not affect the temporal segmentation pattern 308. The nominal subset of predicted events may include each of the predicted events of set of predicted events for a given HTS or be a proper subset.
A dynamic limit module (e.g., the dynamic limit module 122 of
When an incoming telemetry stream 360 is received, a rare event module (e.g., rare event module 124 of
In one example, the first time period is from a previous repetition of the vehicle (e.g., a previous orbit) and the second time period is current (e.g., the present orbit). The rare event module may determine the correspondence between the HSTs and ASTs based on parameters including component type, vehicle type, physical environment, mission conditions, mission phase, level of repetition, and vehicle intent, among others in a similar manner as the segmentation module (e.g., the segmentation module 118 of
The rare event module detects a rare event for an active temporal segment of the set of active temporal segments in response to the incoming telemetry stream 360 exceeding the dynamic limits of an HTS corresponding to the ATS. For example, the first upper bound 352 and the first lower bound 354 of the first HTS 310 are applied to the incoming telemetry stream 360 in the first ATS 362. The incoming telemetry stream 360 satisfies the first upper bound 352 and the first lower bound 354, accordingly, the incoming telemetry stream 360 is in a nominal operational state in the first ATS 362. Continuing the example, the rare event module 124 applies the first upper bound 352 and the second lower bound 356 to the second ATS 364. The incoming telemetry stream 360 exceeds the first upper bound 352, accordingly, the rare event module detects a first rare event 374 in the second ATS 364.
The first rare event 374 may indicate that the vehicle 102 is in an anomalous operational state in the second HTS 312 and that an error may be imminent. The dynamic limits are tailored to the incoming telemetry stream 360 to indicate rare events that may be attributable to anomalous behavior of the vehicle. Continuing the example from above, the first rare event 374 may correspond to increased pressure readings in the incoming telemetry stream 360 that indicate a latch has not released. While the increasing pressure readings of the telemetry data in the incoming telemetry stream may not rise to the level of an error in itself but be anomalous behavior where the current intent of the vehicle for this HTS is not in alignment with the observed telemetry indicating an error is possible. The dynamic limits provide an earlier awareness of potential errors such that the rare event module has sufficient time to generate and/or request a remedial response for the first rare event 374.
At block 402, the method 400 includes calculating a temporal segmentation pattern (e.g., the temporal segmentation pattern 308) based on historical time-series data of a historical telemetry stream (e.g., the first historical telemetry stream 302, the second historical telemetry stream 304, the third historical telemetry stream 306 of
At block 404, the method 400 includes identifying a set of predicted events associated with the HTSs based on based on the historical telemetry streams. For example, a first set of predicted events of an initial HTS (e.g., the first HTS 310) includes predicted events (e.g., the first event 334, the second event 336, the third event 338, the fourth event 340, the fifth event 342, and the sixth event 344 of
Sets of predicted events correspond to shapes of the temporal segmentation pattern. For example, the first set of predicted events of the initial HTS (e.g., the first HTS 310 of
At block 406, the method 400 includes calculating dynamic limits for the temporal segmentation pattern based on the shapes of respective HTSs of the temporal segmentation pattern. The dynamic limits may include an upper bound (e.g., the first upper bound 352 of
At block 408, the method 400 includes identifying a set of active temporal segments (ATSs) (e.g., the first ATS 362, the second ATS 364, the third ATS 366, the fourth ATS 368, the fifth ATS 370, and the sixth ATS of
The active temporal segments are from a second time period after the first time period. For example, the historical temporal segments may include telemetry data from events that previously occurred in a first time period, while the second time period is elapsing in real-time such that the incoming telemetry stream captures the current status of a vehicle and/or a physical environment.
At block 410, the method 400 includes detecting a rare event (e.g., the first rare event 374 of
At block 502, the method 500 includes calculating a temporal segmentation pattern of historical time-series data for a historical telemetry stream from a first time period. The temporal segmentation pattern includes historical temporal segments (HTSs).
At block 504, the method 500 includes identifying sets of predicted events associated with the historical temporal segments based on the historical telemetry streams. Sets of predicted events correspond to shapes of the temporal segmentation pattern.
At block 506, the method 500 includes categorizing predicted events of the set of predicted events as nominal events or anomalous events based on features of the predicted events. For example, the set of predicted events may include a total number of events (e.g., the seventh event 346, the eighth event 348, and the ninth event 350 of
At block 508, the method 500 includes discarding the anomalous events (e.g., the ninth event 350) to create a nominal subset of predicted events from the set of predicted events. If none of the predicted events of the total number of predicted events is categorized as an anomalous event, then the subset of nominal events includes the total number of predicted events. Alternatively, if one predicted event of the total number of predicted events is categorized as an anomalous event, then the subset of nominal events is a proper subset and includes fewer than the total number of predicted events. The temporal segmentation pattern is calculated based on the predicted events of the nominal subset of predicted events. By discarding the anomalous events, the telemetry data associated with anomalous behavior, which is tantamount to noise, is not used to estimate the estimated telemetry data of the temporal segmentation pattern. Accordingly, the temporal segmentation pattern reflects the expected status of the vehicle as a function of time.
At block 510, the method 500 includes calculating dynamic limits for the respective HTSs based on the shapes of the temporal segmentation pattern. Turning to
As one example, the dynamic limit module may calculate a covariance matrix that characterizes the third dynamic limit 606 between the first dynamic limit 602 and the second limit 604. The third dynamic limit 606 is the weighted distance between the first dynamic limit 602 and the second limit 604. In other example, other statistical methods may be used to define the third dynamic limit 606. While the dynamic limits 602, 604 are described as being calculated with reference to HTS, the dynamic limits 602, 604 may be calculated based on different telemetry streams. For example, the first dynamic limit 602 may be calculated based on a first telemetry stream, and the second dynamic limit 604 may be calculated based on a second telemetry stream. In this manner, the dynamic limits 602-606 may be incorporated with the temporal segmentation pattern based on the historical telemetry streams used to estimate the estimated telemetry data.
Returning to
At block 514, the method 500 includes detecting a rare event for an active temporal segment of the set of active temporal segments in response to the incoming telemetry stream exceeding the dynamic limits for a historical temporal segment corresponding to the active temporal segment. Continuing the example from above, the rare event may be detected in response to the incoming telemetry stream being within the first dynamic limit and the second dynamic limit associated with the active temporal segment and exceeding the third dynamic limit.
At block 516, the method 500 includes displaying a management dashboard, for example, the management dashboard 700, shown in
Returning to
What have been described above are examples. It is, of course, not possible to describe every conceivable combination of components or methodologies, but one of ordinary skill in the art will recognize that many further combinations and permutations are possible. Accordingly, the disclosure is intended to embrace all such alterations, modifications, and variations that fall within the scope of this application, including the appended claims. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on. Additionally, where the disclosure or claims recite “a,” “an,” “a first,” or “another” element, or the equivalent thereof, it should be interpreted to include one or more than one such element, neither requiring nor excluding two or more such elements.
In this description, unless otherwise stated, “about,” “approximately” or “substantially” preceding a parameter means being within +/−10 percent of that parameter. Modifications are possible in the described embodiments, and other embodiments are possible, within the scope of the claims.