Aspects of the present disclosure relate to prioritizing alerts for crew responses in a vehicle, such as an aircraft.
Modern day aircraft generate alerts to inform crew members of problems or issues in the aircraft that need their attention or require them to perform an action. Currently, the aircraft stores a static database which contains all pre-defined alerts with their characteristics. These characteristics dictate conditions when the alert is issued, the static alert level or category (e.g., warning, caution, or advisory), and alert text which can include actions to be performed. The static database can be updated as additional insight is learned, however the static database will always output the same information regardless when the alert occurs. Further, the alerts are typically displayed to the crew in the order the alerts are generated, with the newest alert being displayed at the top of the list.
The present disclosure provides a method, a system, or computer readable storage medium in several aspects, that include storing an alert database defining a plurality of alert events for a vehicle, the plurality of alert events indicating deviations from a desired operation of the vehicle, detecting an alert event of one of the plurality of alert events by monitoring an output of a sensor in the vehicle, searching the alert database to identify a crew response for the alert event, identifying a current operational phase of the vehicle, contextualizing, based on the current operational phase, the alert event to assign an alert level to the alert event, and outputting, for display, the alert event.
In one aspect, in combination with any example above or below, that further includes, identifying a plurality of alert events by monitoring outputs of a plurality of sensors in the vehicle, contextualizing, based on the current operational phase, the plurality of alert events to assign an alert level to each of the plurality of alert events, and outputting, for display, the plurality of alert events based on the assigned alert level.
In one aspect, in combination with the previous example, that further includes, where an order in which the plurality of alert events are displayed is based on the assigned alert level.
In one aspect, in combination with the previous example, that further includes, where a first alert event of the plurality of alert events with a higher alert level is displayed higher in a graphical user interface (GUI) than a second alert event of the plurality of alert events with a lower alert level.
In one aspect, in combination with any example above or below, that further includes, detecting a plurality of alert events by monitoring outputs of a plurality of sensors in the vehicle, identifying a common crew response shared by the plurality of alert events, merging the alert events, and outputting, for display, the merged alert event
In one aspect, in combination with the previous example, that further includes, outputting, for display, multiple rationales describing the plurality of alert events that form the basis of the merged alert event.
In one aspect, in combination with any example above or below, that further includes, where the alert database stores a suggested alert level for the alert event, wherein the alert level assigned to the alert event is lower than the suggested alert level.
In one aspect, in combination with the previous example, that further includes, where the vehicle is an aircraft and the current operational phase is a current flight phase of the aircraft and contextualizing the alert event includes lowering the assigned alert level to below the suggested alert level in response to determining the alert event has an operational impact on a future flight phase but does not have an operational impact on the current flight phase of the aircraft.
In one aspect, in combination with the previous example, that further includes, determining the current flight phase of the aircraft has changed to the future flight phase, upon determining the alert event is still active, raising the alert level assigned to the alert event, and outputting, for display, the raised alert level for the alert event.
So that the manner in which the above recited features can be understood in detail, a more particular description, briefly summarized above, may be had by reference to example aspects, some of which are illustrated in the appended drawings.
Displaying alerts to the crew in the order the alerts are generated ignores the different levels of urgency of the alerts which means the crew members may have to perform their own evaluation of the alerts in order to identify the alert to handle first. The present disclosure describes systems and methods for prioritizing alerts used to inform a crew member in a vehicle (e.g., an aircraft, boat, submarine, bus, automobile, etc.) to take an action such as executing a checklist, executing a maneuver, (re-) configure a system or the vehicle, or make a decision. Other alerts, however, do not necessarily trigger an action, but are “for awareness only” where a (subsequent) action may or may not be required, which depends on the context or the plans. Instead of relying on a static database to assign an alert level to the alerts, the aspects herein identify an operational phase of the vehicle and assign the alert level in response. For example, the system can determine the current flight phase of an aircraft (e.g., takeoff, cruising, landing, etc.) and determine the alert level based on an association of the flight phase to the alert. For instance, if there is a hydraulic issue in the braking system, the system may assign a higher alert level if the aircraft is landing than when the aircraft is cruising. That is, the system can contextual the alert using the operational phase of the vehicle, which permits the system to better prioritize the alerts. For example, problems in a vehicle can often trigger multiple alerts. The aspects herein permit the vehicle to prioritize the alerts so that the crew members know which alerts deserve their attention first based on the action(s) associated with the alert.
As shown, the system 100 includes an alert database 105 which stores alert events 110. In one aspect, the alert events 110 are deviations from normal operations and can include engine failure, low tire pressure, brake system failures, loss of autopilot, traffic warnings, severe weather, ice buildup on the wings, and the like. The alert events 110 can represent problems in any mechanical or electrical system. In one aspect, the alert events 110 are stored in the alert database before the vehicle becomes operational. For example, when designing the vehicle, the manufacture may identify the alert events 110 which are then stored in the alert database 105.
The alert events 110 can list actions 115 that should be performed in response to the alert events 110 being detected by the pilot or crew of the vehicle. For example, if the alert event is the loss of the hydraulic pressure in the brakes, the action 115 may be for the pilot to activate a manual braking system, divert to a larger airport, or use an ancillary system (e.g., reverse thrusters). The alert events 110 can have multiple actions 115 to be performed by the pilot or other crew members, or no actions. For example, some alert events 110 may be notifications that the pilot can use when piloting the vessel, such as when power steering is lost.
The system 100 generates a suggested alert (or initial) level 120 for the alert event 110. In one aspect, the suggested alert level 120 represents the operational impact of the alert on the vehicle on a particular operational phase or phases of the vehicle. For example, if the alert event 110 has the chance of causing harm to the vehicle or the people in the vehicle, the suggested alert level 120 may be higher than an alert event 110 with a low (or no) operational impact on the vehicle or the people in the vehicle. However, as discussed below, the operational impact an alert event 110 has on the vehicle can vary depending on the depending on the operational phase of the vehicle. That is, the alert level 120 is not assigned purely based on the severity of the of the alert but on whether a crew response needs to happen immediately and the type of crew response. For example, an alert indicating that the landing gear of an aircraft cannot extend can be assigned a different alert level when the plane is cruising (and the landing gear is not currently needed) then when the plane is landing where a crew response is immediately required. In other examples, a loss of pressurization in a compartment has a greater impact on a submarine that is currently submerged than one that is currently docked, or an issue with a braking system has less of an operational impact on an airplane that is cruising at altitude than one that is currently landing. Thus, the operational impact of an alert event 105 on the vehicle matters on the context of the vehicle—i.e., its current operational phase. Using the techniques below, the alert system 100 may assign a different alert level to an event based on the current context of the vehicle (e.g., the current flight phase of the aircraft).
The system 100 also includes an event monitoring system 125 which includes sensors 130 for monitoring mechanical, pneumatic, hydraulic, software, and electrical systems in the vehicle. The outputs of the sensors 130 are provided to an alert generator 135 (e.g., a hardware system, software module, or a combination of both) that determines whether one of the alert events 110 stored in the alert database 105 has occurred. For example, the alert generator 135 may collect criteria or thresholds for the alert events 110 that can be used to monitor the data generated by the sensors 130. If the criteria or thresholds are satisfied, the alert generator 135 can generate an alert notification. However, the aspects herein are not limited to any particular technique for identifying when an alert event has occurred in the vehicle.
When identifying an alert event 110 has occurred, the event monitoring system 125 transmits a notification to a contextualizer 140 (e.g., a hardware system, software module, or a combination of both) that identifies an operational phase 145 of the vehicle which is then used by an alert-level assignor 150 to assign an alert level to the alert event 110 in response to the current context of the vehicle. The operational phase 145 can be a particular operational phase of the vehicle. For an aircraft, the operational phase 145 (e.g., a flight phase) may be taxing, take off, climbing, cruising, landing, and the like. For a boat, the operational phase 145 may be docked, accelerating, cruising, being towed (e.g., by a tugboat), and the like. For a submarine, the operational phase 145 may be docked, submerging, accelerating, resting on the bottom of the sea floor, rising to the surface, and the like.
The alert-level assignor 150 can use the operational phase 145 of the vehicle to then select the alert level for the alert event 110. In this case, the assignor 150 can assign one of three alert levels—warning, caution, or advisory. It is assumed that warning is the highest alert level and advisory is the lowest alert level. While the aspects herein are discussed using these three alert levels, other alert systems may use more than three alert levels, or may use only two alert levels.
As an example, the operational phase 145 of a boat may be “docked”. If the alert generator 135 detects an alert event 110 indicate the boat has an engine failure, this might be assigned the caution level. However, if the boat instead had an operational phase 145 of “cruising”, the assignor 150 may assign the engine failure to the warning level. Other examples include “traffic” or “terrain” for submarines, boats, or space vessels where immediate corrective action to the travel path is required.
In one aspect, the alert database 105 may store the situations indicating when the suggested alert level 120 should be assigned. That is, before the vehicle has begun operation, the designer or manufacture may indicate when (i.e., during which phase) the alert event 110 has an operational impact on the vehicle. Continuing the previous example, the alert event 110 for the engine failure may indicate the alert event 110 has the suggested alert level 120 of “warning” when the operational phase 145 of the boat is accelerating, cruising, and deaccelerating. Thus, when the alert-level assignor 150 determines the operational phase 145 is not one of these listed phases, it reduces the alert level—e.g., assigns the alert event 110 to be a caution or advisory level. In this example, the alert assignor 150 can query the alert database 105 to determine which operational phases of the vehicle cause the alert event 110 to have an operational impact on the vehicle and then adjust the alert level in response to the operational phase 145 of the vehicle. Put differently, the operational impact of the alert event 110 depends on the current operational phase of the vehicle. This contextualization then permits the system 100 to set a custom alert level for the operational phase 145 of the vehicle.
The alert level set by the contextualizer 140 is then transmitted to the prioritizer 155 which prioritizes and outputs the current alert events 110 to a display 160. The display 160 can be a heads-up display, touch screen, tablet, smartphone, control panel, or any other computing device that permits a pilot or crew member to receive the alerts.
In one aspect, the prioritizer 155 prioritizes the alerts based on the assigned alert level. For example,
Further, GUI 165 illustrates that Alerts 1-7 have actions to be performed by a crew member in the vehicle, but Alert 8 does not. Thus, some alerts can have actions to be performed by the crew member while other alerts do not. For example, Alert 8 may simply state a condition of the vehicle such as a fluid level being low or it is time to perform preventive maintenance.
Prioritizing the Alerts 1-8 may be especially useful when multiple alerts are detected at once. For example, it may be the case where multiple systems or components may fail at once. As such, the display 160 may suddenly display multiple alerts at essentially the same time. Rather than simply ranking the alerts based on their suggested alert level 120 or based on when the alerts where detected, the system 100 can use the contextualizer 140 and the prioritizier 155 to rank or prioritize the alerts so the most critical alerts are disposed on top (e.g., the alerts assigned to the warning alert level). Thus, the pilot, driver, or crew member can immediately know which alerts should be addressed first without having to perform a self-evaluation of all the alerts. Further, the alerts in each alert level can also be prioritized.
The alert database can also indicate a suggested alert level of the alert events depending on the operational phase of the vehicle. For example, the alert database may indicate that an error in the reverse thrusters should be a WARNING alert (which requires immediate attention and immediate action) when the plane is taking off or landing. However, this then implies this alert may have a lower alert level (e.g., CAUTION alert level which requires immediate attention but subsequent action) when the operational phase (or flight phase) of the aircraft is different, such as taxing or cruising.
The details on populating the alert database is not described here, and instead is described in
At block 210, an alert generator in the alert system detects an alert event in the vehicle. In one aspect, the alert generator is software code that monitors sensor data in the vehicle to determine when criteria or a threshold for one of the alert events is met. For example, the alert generator may monitor a status signal of the reverse thruster system to determine whether it indicates this system is offline. In another example, the alert generator may monitor a velocity sensor to detect a low-speed condition. In another example, the alert generator may monitor a fluid pressure sensor to detect an alert related to a hydraulic system in the vehicle. These are just some of the different mechanical systems and electrical signals that can be monitored to detect whether an alert event has occurred.
At block 215, the contextualizer (e.g., the contextualizer 140 in
While many alerts can have corresponding crew actions such as those discussed above, some alerts may be informational alerts that do not ask the crew members to take an action or change their behavior (although these alerts can include an implicit action/question of “Does this alert have a negative impact on the vehicle somehow?”). For example, low hydraulic or pneumatic pressure may be displayed as an alert even though the crew members do not need to take any action at this time. The alert may then be flagged at a later time as a maintenance task.
At block 225, the contextualizer contextualizes, based on the current operational phase, the alert event to assign an alert level to the alert event. In one aspect, the contextualizer can again query the alert database to identify in what operational phases the actions corresponding on the alert should be performed immediately by the crew. That is, the alert database can indicate during which part of a flight phase an action for a particular alert should be addressed immediately. For example, the alert database may indicate that an alert in the hydraulic system used to lower the landing gear in an aircraft requires immediate action when the aircraft is preparing to land. However, immediate action is not required when the aircraft is taking off, climbing, or cruising. If the current flight phase (e.g., the operational phase) of the aircraft is landing, then the contextualizer assigns a higher-alert level to the alert just based on the immediacy of the action to avoid severity escalation of the non-normal situation. But if the aircraft is taking off, climbing, or cruising, the contextualizer assigns a lower-alert level.
In one aspect, the contextualizer lowers the assigned alert level to below the suggested alert level (i.e., downgrades the suggested alert level) in response to determining the alert event has an operational impact on a future flight phase but does not have a negative operational impact on the current flight phase of the aircraft. Continuing the example above, if the current flight phase of the aircraft is cruising but the alert event (e.g., a problem with the hydraulic system used to lower the landing gear) has an operational impact only when the plane is landing (i.e., a future flight phase), than the contextualizer lowers the alert level. One reasons for still outputting the alert during cruise is that the pilot still should know about the situation to potentially react with the decision to change the destination airport. However, if the current flight phase of the aircraft changes to landing and the alert event is still active, then the contextualizer can raise the alert level to the suggested alert level provided in the alert database.
Considering the context of the aircraft when assigning an alert level is advantageous since multiple alerts may occur at the same time. For example, the hydraulic system that lowers the landing gear may also power the ailerons of the aircraft. A problem in that system may trigger alerts for both the landing gear and the ailerons. However, if the aircraft is currently cruising, the alert for the ailerons may be assigned a higher alert level since they are used for steering the aircraft in the air, while the landing gear is not currently needed. Thus, prioritizing the aileron alert focuses the crew members' attention on the more important alert for the operational phase or flight phase of the aircraft. If the aircraft was landing, then both alerts may be assigned the same high priority level since both are used during that flight phase.
Further details regarding contextualizing alert events using the operational phase of the vehicle is described in more detail in
At block 230, a prioritizier outputs the alert event using the assigned alert level. If there are multiple alert events, the prioritizier can use the different alert levels assigned in block 225 to display the alert events according to their priority (e.g., the alert levels assigned the higher priority are disposed at the top of the alert list). In this manner, the alert events can be contextualized and then assigned alert levels so the events can be displayed in a prioritized manner. The alert events and any actions, information, or other desired description can then be output onto a display (e.g., the display 160 in
The alert events within each alert level can also be prioritized (e.g., arranged in a particular order in the GUI). The alert events that, during contextualization at block 225, are downgraded or lowered may be further prioritized using the following prioritization hierarchy: (i) alert events that have a crew response that is not time-constrained, where execution is solely at the crew's discretion, (ii) alerts that have a future immediate crew response in a later flight phase (i.e., alerts that are in the warning level in a future flight phase) that is currently only theoretical, where the alert system cannot predict or does not yet know if there will be warning level alerts in future flight phases, (iii) alert events that have a future crew response in a later flight phase and require monitoring of flight attitude and trajectory parameters to determine the need and start of the execution of the crew response, or include a changed behavior to a task which includes flight path and trajectory control, (iv) alert events that have a future crew response in a later flight phase, and require monitoring of system parameters to determine the need and start of the execution of the crew response, or include a changed behavior to a task which includes system management, (v) alert events that have a future crew response in a later flight phase, and require monitoring of aircraft or flight deck configuration parameters to determine the need and start of the execution of the crew response, or include a changed behavior to a task which includes aircraft or flight deck configuration, (vi) alert events that have a crew response and require monitoring of external parameters to determine the need and start of the execution of the crew response, and (vii) alert events that do not have a future crew response.
In addition, the alert events in each alert level can be prioritized by the flight phase in which the operational impact exists with, e.g., the next flight phase having highest priority and the flight phase that is the furthest away having lowest priority. Often, the next flight phase depends on whether the flight proceeds as normal/planned or not. That is, if something is wrong, the next flight phase may be different than when the flight proceeds as normal. When the next flight phase can be a normal or a non-normal flight phase, then the alert system can prioritize alerts in the same alert level with operational impacts in the (future) normal flight phases higher than the alerts with operational impacts in a (future) non-normal flight phase.
The alert events in each alert level can also be prioritized based on their time of appearance where newer alerts have higher priority than older alerts, or vice versa.
In one aspect, the alert system gives the highest priority to any alert event that require immediate crew awareness and a crew response. Alert events that have their alert status downgraded in response to contextualization at block 225 may be given the second highest priority. This supports a potential transition from a downgraded, advisory alert to a higher alert level (caution or warning) in case the operational impact continues to exist and has not yet been mitigated when the flight phase transitions from the currently active flight phase to the next flight phase. Further, the system can assign any alerts that do not have a time-constraint pilot response, or no pilot/drive response associated (i.e., awareness only) the lowest priority in the alert level.
For a correct understanding and interpretation of alerts by the flight crew, the alert system communicates to the crew in the vehicle if an low-level alert (e.g., advisory alert) is relevant in the currently active operational phase, in a subsequent operational phase that is also considered “currently active” (per the combined blocks shown in
At block 305, the alert generator detects multiple alert events. These alert events may occur at substantially the same time, or one alert may already be displayed by the alert system before a second alert event is detected by the alert generator.
At block 310, the contextualizer searches the alert database to identify the crew actions corresponding to the multiple alert events. For example, the operational impact of a first alert event in the current flight phase (e.g., cruising) may require the flight crew to perform flight re-planning. Similarly, the operational impact of a second alert event in a future flight phase (e.g., landing) may also require the flight crew to perform flight re-planning. In another example, the first alert may be the loss of autopilot which requires the pilot to fly manually. Similarly, the second alert may be the loss of a secondary flight mode which also requires the pilot to fly manually.
At block 315, the contextualizer determines whether the crew actions (i.e., crew response) overlap. That is, the contextualizer determines whether at least two alerts have the same crew response. In the examples above, two of the alerts have the same crew response—i.e., “flight re-planning” and “flying manually.”
If there are at two (or more) alert events with the same crew actions, the method 300 proceeds to block 325 where the alert events are merged. In one aspect, the prioritizier outputs just one alert with only one crew action. For example, the prioritizier may output “Perform flight re-planning” next to a single alert in the display. Thus, instead of the crew seeing two alerts, they would see only one alert with one action.
In one aspect, the alert events may have multiple actions, but only some of the actions overlap. In that case, the prioritizier may merge the common action or actions but separately display the differing actions.
At block 330, the prioritizier outputs multiple rationales for the merged event where the multiple rationales describe the plurality of alert events that form the basis of the merged alert event. For example, when displaying the merged alerts along with the shared crew action (or actions), the display may include an indication that the alert is a merged alert or a combined alert. At the bottom of the alert list (or accessible by a button), the display can output the multiple rationales for the alert. For example, the rationales can list the two (or more) alerts that were combined, or describe the multiple system failures that prompted the same action. In this manner, the most important information (i.e., the crew action) is displayed prominently on the display but elsewhere on the display the crew members can view or access the rationale or basis for the multiple alerts if they desire.
Returning to block 315, if the multiple alerts do not have a combined crew action the method 300 instead proceeds to block 320 where the prioritizier outputs the alerts as separate alert events in the display.
The alert events 110A and 1108 have a common action 405—i.e. flying manually. That is, the alert database 105 can store the actions corresponding to the two alert events 110 and use the method 300 in
As discussed above, operational impacts of an alert event may exist only in a future operational phase (e.g., a future flight phase) and not in the current operational phase of the vehicle. To accommodate for knowledge about future operational phases, contextualization removes immediacy of crew responses by lowering the alert levels when those crew responses should be performing in the future, and it is enough to make the flight crew aware now, during the current flight phase, before reaching the flight phases in which the operational impact exists.
For example, in the flight phases “initial approach” and “final approach”, the aircraft requires the landing gear to be extendable, which is defined as a constraint. Due to a hydraulic issue during cruise, the aircraft may already know that the landing gear will not be extendable with hydraulic power, and the crew should use the electric backup or switch to using gravity extension. If the hydraulic failure occurs in the final approach, this operational impact and resulting crew response (changed behavior) would result in a caution level alert (immediate awareness, subsequent changed behavior). However, if the hydraulic failure occurs earlier, e.g., during cruise, then the alert may be lowered (downgraded) to advisory, as there is no immediacy involved before the aircraft switches to the “initial approach” and “final approach” flight phases.
One advantage of contextualization is to make the crew of the vehicle aware of operational impacts that may require a crew response or action in the future, but is output now to give the crew time to prepare. As such, contextualization reduces surprise effect, as alert levels may be increased gradually if no crew response is taken. That is, contextualization can adjust alert levels of operational impacts not existing, or are not relevant, in the current operational phase. These re-evaluated alerts are then inserted into the alert list as discussed above in the method 200.
In one aspect, contextualization does not lower the alert level for alert events that have operational impacts that exist in the currently active operational phase. Further, contextualization does not lower the alert level for alert events which have operational impacts in a future flight phase and the current flight phase (independent of the alert level in the current and in the future operational phases). These alerts are already communicated to the crew in the current operational phase. For example, if an alert event has the alert level of caution in the current operational phase but a lower alert level of advisory in the next (future) flight phase, the alert event is outputted in the current operational phase with the caution alert level. Moreover, if the alert system does not know (or cannot reasonably predict) whether an alert event has an operational impact on a future operational phase, then it will not lower the suggested alert level. Further, if the operational impact describes a status of the vehicle and not a capability then the alert system may not adjust the suggested alert level. For example, while taxing, the flaps may not be in the takeoff configuration because the aircraft should taxi to a de-icing pad first. The constraint “flaps in takeoff position” which exist in the next flight phase (e.g., “takeoff roll”) is therefore violated and an operational impact is created. However, this may only be alerted once the takeoff phase start to avoid unnecessary warnings. In another example, after gear retraction during the departure phase the aircraft is no longer in the required configuration for the landing phase (gear down). This operational impact might not be alerted during the flight.
In
In contrast, while Time B occurs in the CLB flight phase, it occurs less than the predefined time period from the CRZ flight phase. As such, if the alert event is detected at Time B, then contextualization is not performed when assigning an alert level to the alert event. In that case, the alert event may be assigned the suggested alert level (e.g., a default alert level) that is stored in the alert database.
Time B, in contrast, indicates a time period where the operational impact of a detect alert does not impact the current operational phase (IDP) but it does impact the next phase (FDP). Because the operational phase that is impacted by the alert event is not at least two flight phases from the current flight phase, if the alert event is detected at Time B, then contextualization is not performed when assigning an alert level to the alert event. The alert event may be assigned the suggested alert level that is stored in the alert database.
The alert system can use either one of the criteria illustrated in
Contextualization removes the aspect of immediacy from an alert by selecting a lower alert level. For example, a caution level alert (immediate awareness) in a future flight phase can be contextualized to an advisory level alert (awareness). The crew should have awareness that a condition might require immediate awareness in the future, but due to contextualization there is no longer an immediacy associated with the alert when it is displayed. In another example, a warning level alert (immediate awareness and immediate action) in a future flight phase can be contextualized to an advisory level alert in the currently active flight phase. The (future) existence of most operational impacts that result in a warning level alert cannot be reliably predicted into the future (examples: engine fire, overspeed, engine damage), hence the flight crew cannot pre-execute an action in an earlier flight phase. However, there may be a few exceptions, such as a predicted terrain impact in a future flight phase due to a wrong flight plan. In these cases, the crew can only execute a crew response of type “Flight Re-planning Evaluation/Flight Re-Planning” in the currently active flight phase, which has no immediacy but can be assigned an advisory level alert.
For an alert event with an advisory level alert in a future flight phase, it can be contextualized to an advisory level alert (awareness) in the currently active flight phase. There is no immediacy involved, neither in the awareness nor in the action crew responses. Table 2 provides a summary of performing contextualization for alert events.
At block 710, the contextualizer identifies an operational phase that is operationally impacted by the alert event. For example, the contextualizer may query the alert database to identify which operational phases of the vehicle are operationally impacted by the alert event. This list may have been populated by the manufacturer or the designer of the vehicle and stored in the alert database before the vehicle began its trip or flight. The alert database may indicate the operational phases in which the alert event has an operational impact as well as the phases the alert event does not have an operational impact. Or the alert database may list only the operational phases in which the alert event has an operational impact.
At block 715, the contextualizer identifies a current operational phase of the vehicle. This can be identified by querying a flight or trip controller, from sensor data, or may be provided by the driver or the pilot.
At block 720, the contextualizer determines if the operational impact of the alert event occurs in the current operational phase. In one aspect, the contextualizer determines whether the first operational phase is a future operational phase relative to the current operational phase of the vehicle.
If the operational impact of the alert occurs in the current operational phase, then the method 700 proceeds to block 725 where the prioritizier assigns the suggested alert level of the alert event stored in the alert database to the alert event.
However, if the operational impact of the alert event is in a future operational phase, the method 700 proceeds to block 730 where the contextualizer assigns a lower alert level to the alert event. That is, the contextualizer downgrades the suggested alert level in the alert database.
In one aspect, the contextualizer may use the criteria discussed in
In one aspect, the contextualizer may use the criteria discussed in
At block 735, the alert system determines that the current operational phase of the vehicle has changed. For example, a boat may have been getting towed by a tug but has now begun operating on its own power, or an aircraft that was previously taxi has now begun to takeoff. The alert system can revisit the alert events that are still pending (e.g., have not been resolved) to determine whether to change the alert event. If the alert event now has an operational impact on the new, current operational phase, then the method 700 proceeds to block 720 where the suggested alert level is assigned to the alert event. Doing so raises the alert level from the downgraded alert level to the suggested alert level (e.g., from the advisory level to the caution or warning level). Put differently, each time the operational phase of the vehicle changes, the alert system can revisit the criteria used to contextualize the alert events (e.g., the criteria shown in
Previous alert systems used a static database which contains all pre-defined alerts with their characteristics. These include conditions when the alert is issued, the suggested alert level (e.g., warning, caution, advisory level), and alert text. The static database can be updated over the years. Incidents and accidents, insight from the operational world, regulatory mandates, and customer enquiries can be used to adjust the suggested alert levels of individual alert event, and alerting conditions can be added. However, the manufacturer and other entities (e.g., government regulators) often have different understandings of which alert level each alert should have when preparing a new aircraft for certification. A general lack of transparency and means to proof correctness and completeness contribute to this issue. Thus, the previous way of populating the alert database is cumbersome and is difficult to vet.
As discussed above, the alert database can instead be generated to provide information that can be used to contextualize the alert events to remove, where appropriate, the immediacy of alert events that have operational impacts on future operational phases of the vehicle. The following describes techniques that are applied to derive the alert level for an operational impact based on the characterization and urgency of expected crew responses required to mitigate the operational impact. In one aspect, a multi-step guiding questionnaire is used to help subject matter experts evaluate every operational impact and constraint violation combination for expected crew responses, their characteristics, and their urgency. The outcome is a reproducible list of resulting alert levels for each crew response to mitigate the operational impact. The highest alert level of the crew responses to the operational impact then determines the alert level of the operational impact itself. This information is then stored in the alert database.
The expert(s) can identify a normal mission such as a commercial flight from one airport to another, a trip from one bus depot to another, or a voyage from one port to another. The experts can describe the different capabilities or functions the vehicle should have at the different operational phases of the normal mission. An example of two capabilities are shown in
The aircraft capabilities in
Returning to the method 800, at block 810, the experts identify violations of the capability descriptions that cause the vehicle to deviate from the normal mission in at least one of the operational phases. As discussed in
At block 815, the experts identify an operational impact when the capability descriptions are violated in each operational phase. Again using
At block 820, for each operational phase in which the operational impact exits, the system expert determine a corresponding crew response and the required alert level based on the type of the crew response. That is, because the experts have identified in which of the operational phases the violation of the capability has an operational impact on the vehicle, the experts can also identify the crew responses to the operational impact.
In one aspect, the method 800 includes asking yes or no questions to identify the crew response and the required alert level based on the type of crew response. For example, if the expert answers yes to the first question, then the system assigns a crew response of type “Mission Re-planning Evaluation/Mission Re-planning” for that operational phase.
For each crew response of the type “Changed Behavior”, the system may ask questions to categorize the crew response such as when crew responses that are only expected when multiple independent constraints are violated, thus requiring a crew response (typically required when a protection or compensation system fails, thus requiring the crew to change behavior when the aircraft gets into a situation that the failed system would normally resolve/mitigate without explicit crew involvement). An example of this is when the autopilot fails which requires the crew to fly manually or when the yaw damper function fails.
In contrast, other questions may be used to determine that no crew response is required to mitigate or remedy the operational impact of the violation on a particular operational phase. Or, if the expert answers no to all the questions above, then no crew response is assigned as a default.
It is possible that an operational impact of a violation includes multiple crew response types, e.g., all three of the “Mission Re-planning Evaluation”, “Changed Behavior”, and “Action” crew response types. For example, an operational impact may require an action “manual flight” (new task) as well as “changed behavior” to “manual flight” (e.g., to avoid abrupt control inputs).
In one aspect, as a check, the subject matter experts are asked to review the identified crew responses of all the types of crew response once the first step of the evaluation is complete to determine whether there is a downstream effect on another operational impact. This expert can list immediate (direct) downstream effects. Crew response to mitigate downstream effects of the operational impacts may be considered separately. An example includes, due to a loss of voted airspeed, the flight control mode switches from Primary to Secondary. As a consequence of the secondary control mode, the autopilot disconnects. Crew response (action) “manual flight” should be considered as a response to operational impact “reduced automation support” (autopilot disconnect), but not to “Reduced Safety Margins” (switch of control mode) or “Air Data unreliable” (loss of voted airspeed).
In one aspects, the types of crew response determined at block 820 may be preassigned an alert level. For example, the “Mission Re-planning Evaluation” type of crew response may always be assigned the advisory alert level while the “Changed Behavior” type of crew response may always be assigned the caution alert level. In contrast, the “Action” type of crew response may be further evaluated at block 825 to determine its alert level based on action characteristics such as urgency and pre-conditions.
At block 825, the expert determines an urgency for the identified crew response that require actions—i.e., “Action” type crew responses. To determine alert level for these types of crew responses, the system can ask if there is a risk of escalation. If “yes”, then the warning alert level is assigned to the corresponding operational impact. Examples of operational impacts that may be assigned warning level crew responses include over speed situations, stall situations, fire, terrain, warning, degradation of landing performance during approach, etc.
However, a caution alert level is assigned to the operational impact if the answer is yes to a question asking whether parameters should be monitored. The caution alert level represents providing immediate awareness to the crew, timely start of monitoring, and potential subsequent crew response at a later time. Further, if the expert answer yes to this question, sub-questions may be asked to determine if the crew response is changing pitch attitude, altitude, speed, or navigational guidance. Another sub-question could determine whether the crew response requires monitoring autopilot modes, radios (tuning), engine state, and the like.
An “Action” type crew response may be assigned the advisory alert level if the expert answers yes to a question to monitoring external parameters. These external parameters can include weather in the vicinity of the aircraft, a situation at an airport, or air traffic control. In one example, the crew response is neither required immediately to avert severity escalation, nor does it require monitoring of parameters to determine the need/execution start time. The crew response is therefore at the crew's discretion.
If an operational impact has multiple crew response types with different assigned alert levels, the final alert level of the operational impact may be selected as the highest alert level of the crew response. That is, based on the expert answering the questions above, the operational impact may result in both an “Mission Re-planning Evaluation” type crew response assigned the advisory alert level and an “Action” type crew response assigned the warning alert level. The final alert level for the operational impact is the higher alert level—i.e., the warning alert level. Thus, in this example, the operational impact for each operational phase for each violated capability description is assigned only one alert level, even if the operational impact corresponds with multiple different types of crew responses.
The questions and examples above describe techniques for identifying crew responses and the types of those crew responses to operational impacts in each operational phase when a capability description is violated. Further, using the crew response types, the alert system can assign an alert level to the operational impacts—e.g., advisory, caution, or warning. These assigned alert levels can correspond to the suggested alert levels 120 in the alert database 105. That is, the alert level assigned at blocks 820 and 825 of the method 800 can be contextualized using the methods 200 and 700 and potentially lowered based on the current operational phase of the vehicle.
At block 835, the alert system prioritizes the operational impacts in each of the alert levels. That is, the alert system can prioritize the operational impacts within the same alert level. For example, to prioritize the operational impact that requires the crew to change behavior (e.g., the caution level alert), multiple questions can be answered for a task that is changed through the changed behavior, such as whether flight attitude, system management, or flight deck configuration is changed.
The answers determine the inner-priority of operational impacts that are assigned the caution level alert that “Changed Behavior” type crew responses. For example, if a first task affects the flight attitude, then the corresponding operational impact is prioritized higher than for a second task that does not affect flight attitude but does change system management. Similarly, if for a third task does not affect flight attitude and system management but does change the flight deck configuration, it may have a lower priority than the first and second tasks. If alert events for these three task are detected at the same time, the alert events are all displayed in the caution section of the GUI, but the alert event corresponding to the first task may be displayed at the top of that section while the alert event corresponding to the second task may be displayed at the middle of that section and the alert event corresponding to the third task may be displayed at the bottom of that section. That is, the prioritizier 115 in
In some aspects, prioritizing within the warning alert level can be performed by ordering the alert events in the GUI based on assigned time constants (less time=higher urgency results in higher alert priority), if time constants are the same for multiple alerts, then they are prioritized by order (time) of appearance, or for alerts with situation-dependent time-constants (e.g. time until impact) where the alert priority may change based on the derivative of the change to avoid constantly changing alert order.
In some aspects, prioritizing within the advisory alert level can be performed by ordering the alert events in the GUI based on alerts that have a crew response associated and require monitoring of an external parameter to determine the need and start of the execution of the crew response, alerts that have a crew response associated that is not time-constraint where execution is solely at the crew's discretion, and by time of appearance.
At block 840, the alert system populates the alert database, which can be any suitable type of database (e.g., a relational database or hierarchical database). The alert database stores the alert events, the operational impacts of the alert events, and the assigned alert levels of the operational impacts. Because of the top down approach described in the method 800, the alert events are deviations from normal operations and can include engine failure, low tire pressure, brake system failures, loss of autopilot, and the like.
The alert events can list the crew responses (e.g., the actions 115 in
The alert database can also store the alert levels (e.g., the suggested alert levels 120 in
At block 845, the alert system generates software code to check for violations of the capability descriptions during operation of the vehicle. That is, at block 810, the expert can identify when the capability description is violated such as when a vehicle cannot use the capability in a normal manner at one or more flight phases. For example, if autopilot is lost or tire pressure is lower than a desired threshold. The software code can receive input from sensors disposed in the vehicle as discussed block 210 to identify violations of the capabilities.
In one aspect, the alert system can include software code for checking for each of the violations identify at block 810. This software code can then be executed by the alert generator 135 in
In the current disclosure, reference is made to various aspects. However, it should be understood that the present disclosure is not limited to specific described aspects. Instead, any combination of the following features and elements, whether related to different aspects or not, is contemplated to implement and practice the teachings provided herein. Additionally, when elements of the aspects are described in the form of “at least one of A and B,” it will be understood that aspects including element A exclusively, including element B exclusively, and including element A and B are each contemplated. Furthermore, although some aspects may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given aspect is not limiting of the present disclosure. Thus, the aspects, features, aspects and advantages disclosed herein are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to “the invention” shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).
As will be appreciated by one skilled in the art, aspects described herein may be embodied as a system, method or computer program product. Accordingly, aspects may take the form of an entirely hardware aspect, an entirely software aspect (including firmware, resident software, micro-code, etc.) or an aspect combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects described herein may take the form of a computer program product embodied in one or more computer readable storage medium(s) having computer readable program code embodied thereon.
Program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems), and computer program products according to aspects of the present disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block(s) of the flowchart illustrations and/or block diagrams.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other device to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the block(s) of the flowchart illustrations and/or block diagrams.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device provide processes for implementing the functions/acts specified in the block(s) of the flowchart illustrations and/or block diagrams.
The flowchart illustrations and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various aspects of the present disclosure. In this regard, each block in the flowchart illustrations or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order or out of order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the foregoing is directed to aspects of the present disclosure, other and further aspects of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.