Autonomous aerial vehicle system with goal-driven motion planning

Through the dynamic selection and execution of action sequences by the action manager and artificial intelligence system, the problem that existing automatic aircraft systems cannot cope with unanticipated conditions is solved, and more efficient automated aircraft control is achieved, reducing the workload of crew members.

CN112445233BActive Publication Date: 2025-08-26THE BOEING CO
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202010815656.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-29
Filing Date
2020-08-14
Publication Date
2025-08-26
Estimated Expiration
2040-08-14

AI Technical Summary

Technical Problem

现有的自动飞行器系统基于决策树的控制方法无法有效应对未预期的条件,导致机组人员工作量增加,且飞行员在达到目标方面受到限制。

Method used

The action manager and artificial intelligence system are adopted to identify the target state and current task state of the aircraft, dynamically select and execute action sequences, and dynamically adjust the action sequence to achieve the target state, and use path planning algorithms and machine learning technology to optimize action selection.

Benefits of technology

It reduces the workload of crew members, improves the automation level of aircraft operations, can dynamically respond to changes in flight, and reduces dependence on human operators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure HDA0002632553780000011
    Figure HDA0002632553780000011
  • Figure HDA0002632553780000021
    Figure HDA0002632553780000021
  • Figure HDA0002632553780000022
    Figure HDA0002632553780000022
Patent Text Reader

Abstract

The present disclosure relates to an automatic aircraft system with goal-driven action planning. A method, apparatus, and system for controlling an aircraft (100). A target state (114) of the aircraft (100) is identified. A current mission state (122) of the aircraft (100) is determined. An action sequence (126) is selected from a pool of potential actions (130) to reach the target state (114) from the current mission state (122) of the aircraft (100). The action sequence (126) is selected based on the current mission state (122). Actions (128) in the action sequence (126) for which preconditions for the actions (128) have been satisfied are executed. The actions (128) are executed in an order (134) defined by the action sequence (126).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to aircraft, and more particularly to operating an aircraft using an automated aircraft system. Background Art

[0002] In operating an aircraft, an automated aircraft system can be used to automatically perform many functions. For example, one automated aircraft system is an autopilot. An autopilot can control the flight path of an aircraft without the need for constant control by a human operator, such as a pilot or co-pilot. The autopilot allows the pilot and other flight crew members in the aircraft to focus on the broader aspects of operating the aircraft, such as monitoring the flight path, weather, and other aircraft systems.

[0003] Current automated aircraft systems are rule-based. These systems use decision trees to determine what steps to take to meet a target value specified by a human operator. These types of automated aircraft systems are easy to evaluate because their behavior can be predicted as the decision tree is traversed. However, these automated aircraft systems are limited to executing actions only for situations previously considered in the decision tree. Summary of the Invention

[0004] One embodiment of the present disclosure provides a method for controlling an aircraft. A target state for the aircraft is identified. A current mission state for the aircraft is determined. An action sequence is selected from a pool of potential actions to achieve the target state from the current mission state of the aircraft. The action sequence is selected based on the current mission state. Actions in the action sequence for which preconditions for the actions are satisfied are executed. The actions are executed in the order defined by the action sequence.

[0005] Another embodiment of the present disclosure provides an aircraft control system, comprising a computer system and an action manager within the computer system. The action manager is configured to identify a target state for an aircraft and determine a current mission state for the aircraft based on state variables received from aircraft systems within the aircraft. The action manager is configured to select an action sequence from a pool of potential actions using a set of path planning algorithms to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission. The action manager is configured to execute actions in the action sequence for which preconditions for the actions have been met. The actions are executed in the order defined by the action sequence.

[0006] Yet another embodiment of the subject disclosure provides an aircraft control system including a computer system. The computer system is configured to identify a target state for an aircraft and determine a current mission state for the aircraft. The computer system is configured to select an action sequence from a pool of potential actions to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state. The computer system is configured to execute actions in the action sequence for which preconditions for the actions are satisfied. The actions are executed in the order defined by the action sequence.

[0007] These features and functions can be achieved independently in various embodiments of the subject disclosure or may be combined in yet other embodiments, further details of which can be seen with reference to the following description and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The novel features which are believed to be characteristic of the illustrative embodiments are set forth in the appended claims. However, the illustrative embodiments together with their preferred modes of use, further objects and features will be best understood by reference to the following detailed description of illustrative embodiments of the subject disclosure when read in conjunction with the accompanying drawings, in which:

[0009] Figure 1 is an illustration of a block diagram of an aircraft operating environment in accordance with an illustrative embodiment;

[0010] Figure 2 is an illustration of a block diagram of a target state according to an illustrative embodiment;

[0011] Figure 3 is an illustration of a block diagram of state variables according to an illustrative embodiment;

[0012] Figure 4 is an illustration of a block diagram of actions according to an illustrative embodiment;

[0013] Figure 5 is a diagram of nodes in a path from a current task state to a goal state in accordance with an illustrative embodiment;

[0014] Figure 6 is a diagram of nodes in a path from a current mission state to a target state in which pushback from a gate to a landing occurs for an aircraft in accordance with an illustrative embodiment;

[0015] Figure 7 is an illustration of a flow chart of a process for controlling an aircraft in accordance with an illustrative embodiment;

[0016] Figure 8 is an illustration of a flowchart of a process for determining a current task status according to an illustrative embodiment;

[0017] Figure 9 is an illustration of a flowchart of a process for selecting a sequence of actions from a pool of potential actions to reach a target state from a current mission state of an aircraft in accordance with an illustrative embodiment;

[0018] Figure 10 is an illustration of a flow chart for reselecting actions to reach a target state for an aircraft from a current mission state when a state variable changes in accordance with an illustrative embodiment;

[0019] Figure 11A and Figure 11B is an illustration of a flowchart of a process for selecting a sequence of actions to reach a target state for an aircraft in accordance with an illustrative embodiment;

[0020] Figure 12 is an illustration of a block diagram of a data processing system according to an illustrative embodiment;

[0021] Figure 13 is a diagram of an aircraft manufacturing and service method according to an illustrative embodiment;

[0022] Figure 14 is an illustration of a block diagram of an aircraft in which the illustrative embodiments may be implemented;

[0023] Figure 15 is a view of a display screen having a graphical user interface;

[0024] Figure 16 is a second embodiment of a display screen having a graphical user interface;

[0025] Figure 17 is a third embodiment of a display screen having a graphical user interface;

[0026] Figure 18 is a fourth embodiment of a display screen having a graphical user interface;

[0027] Figure 19 is a view of a display screen having an animated graphical user interface;

[0028] Figure 20 is a second view of the display screen having an animated graphical user interface;

[0029] Figure 21 is a third view of the display screen having the animated graphical user interface;

[0030] Figure 22 is a view of a second embodiment of a display screen having an animated graphical user interface;

[0031] Figure 23 is a second view of a second embodiment of a display screen having an animated graphical user interface;

[0032] Figure 24 is a third view of the second embodiment of the display screen having an animated graphical user interface;

[0033] Figure 25 is a view of a third embodiment of a display screen having an animated graphical user interface;

[0034] Figure 26 is a second view of a third embodiment of a display screen having an animated graphical user interface;

[0035] Figure 27 is a third view of a third embodiment of a display screen having an animated graphical user interface;

[0036] Figure 28 is a view of a display screen having an animated graphical user interface;

[0037] Figure 29 is a second view of the display screen having an animated graphical user interface;

[0038] Figure 30 is a third view of the display screen having the animated graphical user interface;

[0039] Figure 31 is a view of a second embodiment of a display screen having an animated graphical user interface;

[0040] Figure 32 is a second view of a second embodiment of a display screen having an animated graphical user interface;

[0041] Figure 33 is a third view of the second embodiment of the display screen having an animated graphical user interface;

[0042] Figure 34 is a view of a third embodiment of a display screen having an animated graphical user interface;

[0043] Figure 35 is a second view of a third embodiment of a display screen having an animated graphical user interface;

[0044] Figure 36 is a third view of a third embodiment of a display screen having an animated graphical user interface;

[0045] Figure 37 is a view of a display screen with a graphical user interface.

[0046] Figure 38 is a second embodiment of a display screen having a graphical user interface;

[0047] Figure 39 is a third embodiment of a display screen having a graphical user interface;

[0048] Figure 40 is a fourth embodiment of a display screen having a graphical user interface;

[0049] Figure 41 is a fifth embodiment of a display screen having a graphical user interface;

[0050] Figure 42 is a sixth embodiment of a display screen having a graphical user interface;

[0051] Figure 43 is a seventh embodiment of a display screen having a graphical user interface;

[0052] Figure 44 is a view of a display screen having a graphical user interface;

[0053] Figure 45 is a second embodiment of a display screen having a graphical user interface;

[0054] Figure 46 is a third embodiment of a display screen having a graphical user interface;

[0055] Figure 47 is a fourth embodiment of a display screen having a graphical user interface;

[0056] Figure 48 is a view of a display screen having a graphical user interface;

[0057] Figure 49 is a second embodiment of a display screen having a graphical user interface;

[0058] Figure 50 is a third embodiment of a display screen having a graphical user interface;

[0059] Figure 51 is a fourth embodiment of a display screen having a graphical user interface;

[0060] Figure 52 is a fifth embodiment of a display screen having a graphical user interface;

[0061] Figure 53 is a sixth embodiment of a display screen having a graphical user interface;

[0062] Figure 54 is a seventh embodiment of a display screen having a graphical user interface; and

[0063] Figure 55 An eighth embodiment of a display screen having a graphical user interface is provided. DETAILED DESCRIPTION

[0064] The illustrative embodiments recognize and take into account one or more different considerations. For example, the illustrative embodiments recognize and take into account that during flight, an aircraft control system that utilizes a decision tree may be unable to provide actions for specific conditions not anticipated by the decision tree. The illustrative embodiments also recognize and take into account that when a decision tree does not provide a solution, such as an action, for a specific condition, control of the function handled by the automated aircraft system is returned to the pilot. The embodiments recognize and take into account that this situation may result in increased workload for the flight crew.

[0065] The illustrative embodiments recognize and take into account that increased workload may also occur when operating an automated aircraft system that employs a decision tree. The illustrative embodiments recognize and take into account that pilots are limited in how they approach a target in an automated aircraft system. For example, the illustrative embodiments recognize and take into account that a target to fly to a specific location may need to be broken down into tactical actions, such as a course change or a series of waypoints. The illustrative embodiments recognize and take into account that these steps increase the workload for the pilot compared to providing a target, such as a destination. Therefore, the illustrative embodiments recognize and take into account that current automated aircraft systems are less able to support pilots with actionable information and require storage to monitor various parameters during the flight of the aircraft.

[0066] Thus, the illustrative embodiments provide methods, apparatus, and systems for controlling the operation of an aircraft. In the illustrative example, a goal can be converted to a target state for the aircraft. Actions and action sequences can be selected and dynamically executed as an action sequence to reach the target state as the current mission state of the aircraft changes. For example, actions can be reselected based on changes in the current state of the aircraft during aircraft operation without requiring a human operator to assume or control the aircraft. By reselecting actions, different actions or the same actions can be selected. Furthermore, even when the same actions are selected as part of the reselection process, those actions can be in a different order to form a different action sequence.

[0067] In one illustrative example, a method controls an aircraft. A computer system receives a target state for the aircraft. The computer system determines a current mission state for the aircraft. An artificial intelligence system in the computer system may determine an action to achieve the target state based on the current mission state of the aircraft. Actions may be executed if preconditions for the actions are met.

[0068] Furthermore, determining the actions required to reach the target state can occur dynamically, with the determination of the actions performed in a manner that takes into account changes in the current mission state of the aircraft. For example, actions to be performed to reach the target state can be identified based on the current mission state. When the current mission state changes, the actions can be determined again based on the new current mission state. As a result, the actions identified to reach the target state can change during flight as the current mission state changes.

[0069] Referring now to the drawings, and in particular to Figure 1 , which depicts an illustration of a block diagram of an aircraft operating environment according to an illustrative embodiment. Aircraft 100 in aircraft control environment 102 may be operated using computer system 104 in aircraft 100. Aircraft 100 may take a variety of different forms. For example, aircraft 100 may be selected from among airplanes, commercial aircraft, rotorcraft, unmanned aerial vehicles, unmanned aerial vehicles, fighter jets, space shuttles, and other suitable aircraft.

[0070] In this illustrative example, action manager 106 in computer system 104 forms aircraft control system 107, which is configured to control the operation of aircraft 100. Operation of aircraft 100 may be controlled using aircraft systems 108. In controlling the operation of aircraft 100, action manager 106 receives information 110 from aircraft systems 108 and sends instructions 112 to aircraft systems 108. These instructions may be commands, data, or other information that may be used to control how aircraft systems 108 operate.

[0071] As shown, the aircraft systems 108 may include at least one of a flight management system, a flight navigation system, an environmental control system, an engine, a flight control surface system, a communication system, a satellite communication system, a very high frequency (VHF) communication system, a microwave band communication system, a radar system, an autopilot, a fuel system, a weather radar, an electronic centralized aircraft monitoring (ECAM) system, a quick access data recorder (QAR), an onboard network server (ONS), an electronic flight instrument system (EFIS), or other suitable aircraft systems.

[0072] As used herein, the phrase "at least one of" when used with a list of items means that different combinations of one or more of the listed items can be used, and only one of each item in the list may be required. In other words, "at least one of" means any combination of items and quantities of items that can be used from the list, but not all items in the list are required. The items can be specific objects, things, or categories.

[0073] For example, but not limited to, "at least one of item A, item B, or item C" may include item A, item A and item B, or item B. This example may also include item A, item B, and item C, or item B and item C. Of course, any combination of these items may be present. In some illustrative examples, "at least one of" may include, for example, but not limited to, two of item A; one of item B; and ten of item C; four of item B and seven of item C; or other suitable combinations.

[0074] In this illustrative example, the action manager 106 can be implemented in software, hardware, firmware, or a combination thereof. When software is used, the operations performed by the action manager 106 can be implemented in program code configured to run on hardware such as a processor unit. When firmware is used, the operations performed by the action manager 106 can be implemented in program code and data and stored in persistent memory to run on the processor unit. When hardware is used, the hardware can include circuitry that operates to perform the operations in the action manager 106.

[0075] In an illustrative example, the hardware can take the form of at least one of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform multiple operations. Using a programmable logic device, the device can be configured to perform multiple operations. The device can be reconfigured at a later time or can be permanently configured to perform multiple operations. Programmable logic devices include, for example, programmable logic arrays, programmable array logic, field programmable logic arrays, field programmable gate arrays, and other suitable hardware devices. In addition, the process can be implemented in organic components integrated with inorganic components and can be composed entirely of organic components other than humans. For example, the process can be implemented as a circuit in an organic semiconductor.

[0076] Computer system 104 is a physical hardware system that includes one or more data processing systems. When more than one data processing system is present in computer system 104, those data processing systems communicate with each other using a communication medium. The communication medium may be a network. The data processing system may be selected from at least one of a computer, a server computer, an electronic flight bag, a tablet computer, or some other suitable data processing system.

[0077] In this illustrative example, computer systems 104 may be located in at least one of the aircraft or at a location remote from the aircraft. For example, all of computer systems 104 may be located in aircraft 100, all of computer systems 104 may be located in one or more remote locations remote from aircraft 100, such as a ground location, or computer systems 104 may be distributed between aircraft 100 and one or more remote locations external to aircraft 100.

[0078] In this illustrative example, action manager 106 is configured to identify target state 114 for aircraft 100. Target state 114 is a data structure and may be identified based on goal 116 received from human operator 118. In this illustrative example, goal 116 may be converted by action manager 106 into set of state variables 120 for target state 114.

[0079] As used herein, a “set” when used with respect to items means one or more items. For example, a set of state variables 120 is one or more of state variables 120 .

[0080] Set of state variables 120 has a set of values ​​121 that exist upon reaching target state 114. These values ​​describe target state 114. In this illustrative example, set of state variables 120 includes a portion of state variables 120 whose values ​​121 are needed to describe target state 114 and does not necessarily include all possible state variables of aircraft 100.

[0081] For example, goal 116 may be “Complete preflight phase and begin passenger boarding.” In this example, the set of state variables 120 for goal state 114 is flightPhase_preflightCompleted=true and passengerBoarding=true.

[0082] In another example, the goal 116 may be “be over the Atlantic Ocean before 7:45 UTC.” The action manager 106 may identify the set of state variables 120 for the goal state 114 as flightPhase_climbOutCompleted = true (“true” indicating that the current flight phase is en route and active), and inAtlanticAirspace = true [time constraint: before 7:45 UTC].

[0083] Human operator 118 may be located in aircraft 100 or may be located at a location remote from aircraft 100. Remote location may be a ground location, another aircraft, or some other suitable location. In this illustrative example, human operator 118 may be a pilot in the aircraft, a pilot in a remote location, a co-pilot, an airline operator, an air traffic controller, a military operator, an airline employee, or some other suitable person who may set target 116 for aircraft 100.

[0084] In other illustrative examples, target state 114 may be received from an airline, a traffic control system, or some other suitable source. In this case, target state 114 may be preselected prior to a flight or other operation of aircraft 100. In this case, target state 114 may be transmitted to computer system 104 and aircraft 100 in a message, a set of data packets, or some other form for facilitating communication between computers over a communication link.

[0085] As shown, action manager 106 is also configured to determine current mission state 122 for aircraft 100. Action manager 106 may determine current mission state 122 from state variables 120 using information 110 received from aircraft systems 108. In this illustrative example, information 110 may include state variables 124, or information 110 may be used to derive or determine state variables 120. As shown, state variables 120 are all state variables of aircraft 100, rather than a subset of state variables 120 as described with respect to target state 114.

[0086] In the illustrative example, aircraft systems 108 are designed, modified, reconfigured, or otherwise changed to track state variables 120 and send state variables 120 to action manager 106. In this illustrative example, each aircraft system is responsible for knowing what state variables are needed by other aircraft systems and knowing what state variables to provide to other systems, such as other aircraft systems or action manager 106. State variables 120 may be sent to action manager 106 by at least one of automatically being sent by aircraft systems 108 to action manager 106, being sent in response to a request from action manager 106, or being sent in some other manner.

[0087] In other illustrative examples, set of aircraft systems 108 sends information 110 that may be used to derive state variables 120 instead of or in addition to sending state variables 120 in information 110. In this illustrative example, sending the state variables means that the state variables having their values ​​are sent.

[0088] As shown, action manager 106 is configured to select action sequence 126 from potential action pool 130 based on current mission state 122 to reach target state 114 based on current mission state 122 of aircraft 100. In other words, action manager 106 may select actions 128 from potential action pool 130 and place actions 128 into order 134 for execution to form action sequence 126.

[0089] In one illustrative example, actions 128 and action sequences 126 can be based on a cost 136 for performing actions 128. Cost 136 can be selected from at least one of the following: the number of effects of the action, the monetary cost of performing the action, the time, the maintenance costs to be incurred, the amount of fuel to be consumed, the personnel costs associated with the time, passenger comfort, company policy, manufacturing recommendations, or other suitable factors. In one example, airline policy may prefer performing A over performing B. Thus, in this example, the cost of performing B is higher than the cost of performing A, taking into account airline policy. In the illustrative example, cost 136 can be dynamic and not static, i.e., it can change when the system state or environment changes.

[0090] The action manager 106 is configured to execute an action 128 if a precondition 132 for the action 128 has been satisfied. As shown, the precondition 132 includes at least one of the following: the current position of the aircraft, the execution of the selected action, the configuration of the aircraft, the position of the control surfaces, weather conditions, instructions from air traffic controllers, or some other type of condition. In one illustrative example, the configuration of the aircraft may be, for example, but not limited to, the landing gear being in a raised position, the landing gear being in a lowered position, the doors being closed, the flaps being extended, the air brakes being in a position that increases drag, or some other configuration of components in the aircraft.

[0091] In this illustrative example, actions 128 are performed in order 134 defined by sequence of actions 126. In other words, when preconditions 132 of actions 128 are met, actions 128 are performed in the order identified in the sequence of actions 128. In some illustrative examples, one or more of actions 128 may not have a precondition. Furthermore, sequence of actions 128 may define that some of actions 128 are performed in parallel or substantially simultaneously.

[0092] As shown, selection of action sequence 126 from pool of potential actions 130 by action manager 106 to reach target state 114 based on current mission state 122 of aircraft 100 may be performed using a set of path planning algorithms 138. In this illustrative example, set of path planning algorithms 138 is selected from at least one of an A* search algorithm, Dijkstra's algorithm, D*, an incremental search algorithm, a backtracking algorithm, an edge search, an arbitrary angle path planning algorithm, an iterative deepening A* search algorithm, a Bellman–Ford search algorithm, a Floyd–Warshall algorithm, a hill climbing algorithm, a bidirectional search algorithm, a Johnson algorithm, or some other suitable algorithm that may be used for path planning from current mission state 122 to target state 114.

[0093] As shown, the set of path planning algorithms 138 may select action sequences 126 in a manner that reduces costs 136. For example, the action manager 106 may use the set of path planning algorithms 138 to select action sequences 126 from the pool of potential actions 130 to reach the target state 114 from the current mission state 122 of the aircraft 100, where the action sequences 126 are selected based on the current mission state 122. The selection may include identifying nodes 140 in the path 142 from the current mission state 122 to the target state 114 based on nodes 140 having the lowest cost 144. In this example, the lowest cost 144 includes a set of factors selected from at least one of the following: a number of action effects, a monetary cost, an amount of time, maintenance costs to be incurred, an amount of fuel to be consumed, personnel costs associated with the time, or passenger comfort.

[0094] The action sequence 126 may be selected by the action manager 106 from the pool of potential actions 130 based on the nodes 140 identified in the path 142 .

[0095] In this illustrative example, nodes 140 illustrate potential task states that may occur through the execution of actions 128. In other words, current task state 122 may change to another task state, which in turn may change to obtain another task state based on the execution of a particular action selected from potential action pool 130. Each potential task statement represented by a node in nodes 140 is unique within nodes 140 and may be identified as having a different value for one or more state variables 124 present in current task state 122.

[0096] In the illustrative example, at least one of determining target state 114 from target 116 or selecting action sequence 126 may be performed by action manager 106 using artificial intelligence system 146. Artificial intelligence system 146 is a system that exhibits intelligent behavior and may be based on the functionality of the human brain. Artificial intelligence system 146 includes at least one of an artificial neural network, a cognitive system, a Bayesian network, fuzzy logic, an expert system, a natural language system, or some other suitable system. Machine learning is used to train the artificial intelligence system. Machine learning involves inputting data into the process and allowing the process to adjust and improve the functionality of the artificial intelligence system.

[0097] A cognitive system is a computing system that simulates the functions of the human brain. A cognitive system may be, for example, IBM Watson, available from International Business Machines Corporation.

[0098] For example, actions 128 and order 134 of actions 128 of action sequence 126 may be selected from pool of potential actions 130 by artificial intelligence system 146. Artificial intelligence system 146 may implement or use set of path planning algorithms 138. When set of path planning algorithms 138 is implemented in artificial intelligence system 146, machine learning techniques may be used to perform the implementation.

[0099] In the illustrative example, aircraft control system 107 is a dynamic system in which selection of actions 126 may be performed dynamically during operation of aircraft 100. In other words, once action sequence 126 is selected for aircraft 100 to reach target state 114, action sequence 126 may change during execution of actions 128 defined in action sequence 126.

[0100] In one illustrative example, action manager 106 may use set of path planning algorithms 138 to select action sequence 126 from pool of potential actions 130 to reach target state 114 from current mission state 122 of aircraft 100, where action sequence 128 is selected based on current mission state 122 existing when event 148 occurs. Event 148 may take a variety of different forms. For example, event 148 may be one of a periodic event, a non-periodic event, a change in current mission state, reaching a sub-target state, a timer expiration, a state variable, and an action execution.

[0101] In one illustrative example, there is one or more technical solutions that overcome the technical problem of providing a desired level of automated control and operation in an aircraft. As a result, the one or more technical solutions can provide a technical effect that provides the ability to dynamically identify actions in a sequence in which actions should be performed to reach a target state from a current mission state. In the example shown, one or more technical solutions are provided that have the technical effect of enabling control of an aircraft, which results in a reduced workload for the crew. In the illustrative example, the one or more technical solutions enable the selection of actions and action sequences to form a sequence of actions that can be performed to reach a target state. In the illustrative example, the action sequence can be determined from the current mission state and can be re-determined any number of times based on the occurrence of events during aircraft operation.

[0102] Thus, the aircraft can be controlled by a computer system that provides commands to the aircraft systems in the aircraft, and specific values ​​that the pilot or other human operator inputs into the automated system do not need to be input by the human operator. For example, the human operator does not need to input information such as speed, heading, altitude, or other information. Instead, the human operator can enter a goal, such as "Dock at Gate B13 in Seattle Tacoma at 10:35 UTC."

[0103] The goal may be translated into a target state, and analysis of the current mission state of the aircraft may be used to automatically identify actions to be performed to reach the target state.

[0104] Computer system 104 may be configured to perform at least one of the steps, operations, or actions described in the different illustrative examples using software, hardware, firmware, or a combination thereof. As a result, computer system 104 operates as a special-purpose computer system, wherein action manager 106 in computer system 104 enables control of aircraft systems 108 to automate the operation of aircraft 100 in a manner that reduces the workload of human operators in aircraft 100. In particular, action manager 106 converts computer system 104 into a special-purpose computer system, as compared to currently available general-purpose computer systems without action manager 106.

[0105] In the illustrative example, action manager 106 is used in computer system 104 to integrate a process into an actual application for controlling the operation of aircraft 100, which improves the performance of computer system 104 in controlling actions 128 performed by aircraft 100. In other words, action manager 106 in computer system 104 is directed to the actual application of the process integrated into action manager 106 in computer system 104, which controls the aircraft at a desired level of automation. In this illustrative example, the actual application may be in action manager 106 in computer system 104, where action manager 106 identifies a target state for the aircraft; determines a current mission state for the aircraft; selects an action sequence from a pool of potential actions to reach the target state from the current mission state of the aircraft, where the action sequence is selected based on the current mission state; and executes actions in the action sequence for which preconditions for the actions have been satisfied, and where the actions are executed in an order defined by the action sequence.

[0106] These processes result in improved operation of aircraft 100. For example, computer system 104 operates with increased efficiency compared to current systems. Furthermore, computer system 104 automatically controls the operation of aircraft 100 in a manner that reduces the workload of a pilot, co-pilot, or other human operator of aircraft 100. In this manner, action manager 106 in computer system 104 provides a practical application for controlling the aircraft, thereby improving the functioning of computer system 104 by identifying or initiating the execution of action sequences 126 to reach at least one of target states 114 for aircraft 100. The selection and execution of action sequences 126 is performed in a manner that reduces the frequency with which control of aircraft 100 is returned to a flight crew member, such as a pilot, co-pilot, or other human operator.

[0107] In this illustrative example, human operator 118 can interact with action manager 106 via a graphical user interface 150 displayed on a display system 152 of computer system 104. As shown, display system 152 is a physical hardware system and includes one or more display devices on which graphical user interface 150 can be displayed. A display device can include at least one of a light-emitting diode (LED) display, a liquid crystal display (LCD), an organic light-emitting diode (OLED) display, a computer monitor, a projector, a flat-panel display, a head-up display (HUD), or some other suitable device that can output information for visual presentation. Display system 152 is configured to display graphical user interface 150. Human operator 118 is a person who can interact with graphical user interface 150 via user input 154 generated by an input system 156 of computer system 104. Input system 156 is a physical hardware system and can be selected from at least one of a mouse, a keyboard, a trackball, a touch screen, a stylus, a motion-sensing input device, a cyberglove, a microphone, or some other suitable type of input device.

[0108] In this illustrative example, display system 152 and input system 156 form human-machine interface system 158. Human-machine interface system 158 is located at least one of within the aircraft, a remote location in communication with the aircraft, an air traffic control system, an airline system, or some other suitable location.

[0109] For example, user input 154 may define target 116. Information including at least one of current mission state 122, target state 114, action sequence 126, position of aircraft 100, altitude, or other suitable information may be displayed in graphical user interface 150 for observation by human operator 118. Target state 114 for aircraft 100 may be identified based on user input 154, such as target 116, received from human-machine interface system 158.

[0110] Thus, the illustrative examples provide a method, apparatus, and system in which an automated aircraft system derives a set of tactical flight maneuvers from strategic goals set by a human operator. Maneuvers to achieve these goals can be determined using goal-oriented action planning (GOAP).

[0111] Next reference Figure 2 , depicts an illustration of a block diagram of a target state according to an illustrative embodiment. In the illustrative examples, the same reference numeral may be used in more than one figure. This reuse of reference numerals in different figures represents the same element in the different figures.

[0112] As shown, the target state 114 can take a variety of different forms. For example, the target state 114 can be selected from one of the operational target state 200 and the spatial target state 202.

[0113] In this illustrative example, operational target state 200 represents Figure 1 The desired operational state of the aircraft 100 in FIG. 200 may be, for example, "passengers disembark." The space target state 202 may be, for example, "fly to KESA."

[0114] Additionally, target state 114 may also include a set of constraints 204. In this illustrative example, set of constraints 204 is one or more constraints. Set of constraints 204 may include at least one of a spatial constraint, an operational constraint, or a temporal constraint. A spatial constraint may be a constraint on location. For example, a spatial constraint may be "cruise below 25,000 feet" or "avoid areas along the flight path."

[0115] In an illustrative example, an operational constraint may be a constraint on what operations may be performed. An operational constraint may be, for example, that the position lights of the aircraft must be on at all times.

[0116] A time constraint is a restriction on time. In this illustrative example, a time constraint may be a constraint on when to perform an operation or when an aircraft is at a specific location. Time constraints may include "at," "after," and "window." For example, "at" may be "depart at 9:00 UTC," "after" may be "depart after 9:00 UTC," and "window" may be "depart between 8:50 UTC and 9:10 UTC."

[0117] In the illustrative example, goal state 114 can be formed from multiple goals such that goal state 114 includes sub-goal state 206. Sub-goal state can be selected from at least one of operational sub-goal state 208 or spatial sub-goal state 210.

[0118] For example, operational sub-goal state 208 represents a desired operational state for aircraft 100. Spatial sub-goal state 210 represents a desired position.

[0119] For example, the goal "Dock at the gate at KSEA at 9:00 local time with passengers disembarked" can be broken down into subgoals represented by subgoal states. For example, this goal can be transformed into a goal state 114 with state variables 124 as follows: dockedAtGate = true; arrivedAtDestination = true [object: KSEA - will need to check if the aircraft has arrived at the correct location]; destinationAirportSet = true [object: KSEA]; and passengerBoarded = false [time constraint: at 9:00 local time].

[0120] In this illustrative example, a mix of operational and spatial goals is represented in subgoal state 206 within goal state 114. For example, dockedAtGate = true is a state variable representing an operational subgoal state. As shown, destinationAirportSet = true [object: KSEA] represents a spatial subgoal state. Additionally, passportsBoarded = false [time constraint: at 9:00 local time] represents a time constraint. In this example, the time constraint may be imposed by the pilot to ensure that passengers arrive at their destination at the desired time.

[0121] As another example, artificial intelligence system 146 may also perform a transformation of goal 116 into goal state 114 and may identify sub-goal states 206. In this illustrative example, artificial intelligence system 146 may include natural language processing capabilities to obtain goal 116 in natural language and transform goal 116 into goal state 114, which may also include sub-goal states 206. This capability may be implemented in artificial intelligence system 146 through machine learning techniques. These machine learning techniques may include, for example, known machine learning techniques such as supervised learning algorithms, unsupervised learning algorithms, and reinforcement learning algorithms.

[0122] For example, training data can be provided to the artificial intelligence system 146, where the training data includes goals in natural language, corresponding correct outputs for goal states and sub-goal states. With this type of training data, supervised learning can be used to train the artificial intelligence system 146. Other techniques can also be used depending on the implementation.

[0123] Now go to Figure 3 , an illustration of a block diagram of state variables is depicted in accordance with an illustrative embodiment. In this illustrative example, state variable 300 is an example of a state variable in state variables 120 .

[0124] In this illustrative example, state variable 300 includes a plurality of different parameters. As shown, state variable 300 includes identifier 302, value 304, object 306, and name and description 308.

[0125] In the illustrative example, identifier 302 indicates an attribute of the data held in state variable 300. In this example, identifier 302 is a unique identifier.

[0126] For example, when the state variable 300 is a variable indicating whether the destination airport has been reached, the identifier 302 may be “destinationAirportReached.” In this example, the identifier 302 is a unique identifier.

[0127] In this depicted example, value 304 is a Boolean value. In other illustrative examples, value 304 may be a numeric value, not just a Boolean value.

[0128] In this example, object 306 is an optional parameter in state variable 300. Object 306 may be used to convey or reference additional information about state variable 300. For example, using "destinationAirportReached," object 306 may indicate that the identifier of the destination airport should be set.

[0129] In this illustrative example, name and description 308 is used to Figure 1 308 may be used to display information to the human operator 118 in a manner that the human operator 118 can understand. For example, the name and description 308 for the "destinationAirportReached" field may be "Reached at destination airport." These parameters may be used to display information to the human operator 118.

[0130] refer to Figure 4 , depicts an illustration of a block diagram of actions according to an illustrative embodiment. As shown, action 400 is Figure 1 The actions in action 128 and Figure 1 Examples of potential actions in the potential action pool 130 .

[0131] In this example, action 400 includes a plurality of different parameters. In this illustrative example, action 400 includes an identifier 402 , a set of preconditions 404 , a set of effects 406 , and a state 408 .

[0132] As shown, in this example, identifier 402 is a unique identifier for action 400. Identifier 402 can be used to identify action 400 when it is present in action 128 in action sequence 126 or in pool of potential actions 130.

[0133] In this illustrative example, set of preconditions 404 is one or more conditions that must be satisfied before action 400 can be performed. For example, action 400 is not performed until all conditions in set of preconditions 404 for action 400 are satisfied. In another example, preconditions 404 may include preconditions that specify which preconditions need to be satisfied before action 400 can be performed. As a result, in this example, a subset of preconditions 404 may be satisfied to perform action 400.

[0134] The set of preconditions 404 can take a number of different forms. For example, if any one of two conditions or other types of conditions are met, the set of preconditions 404 can be selected from at least one condition when at least 1-n conditions are met. Figure 3 Using object 306 in state variables 300 in , the set of preconditions 404 can be constrained by greater, less, equal, or other logical states with respect to selected system parameters. These system parameters can be, for example, ground speed, altitude, attitude, temperature, or other suitable parameters.

[0135] In the illustrative example, the set of effects 406 is the set of effects that can be performed on the user when the action 400 is performed. Figure 1 The effect of changing the state variables is to change the values ​​of the state variables in response to the execution of action 400. The execution of action 400 changes the current task state 122, thereby causing the new task state to become the current task state 122.

[0136] In this example, maneuvers such as maneuver 400 may be identified and placed in pool of potential maneuvers 130 for aircraft 100. The maneuvers available in pool of potential maneuvers 130 may vary between different types and models of aircraft.

[0137] The identification of actions for use in potential action pool 130 can be determined in a variety of different ways. For example, artificial intelligence system 146 can be used to perform a functional decomposition of the system and supervised learning of actions through machine learning methods. In other illustrative examples, these actions can be manually defined by a human operator.

[0138] Figures 1-4The illustration of aircraft control environment 102 and the different components depicted in aircraft control environment 102 are not meant to imply physical or architectural limitations to the manner in which the illustrative embodiments may be implemented. Other components in addition to or in place of the ones shown may be used. Some components may not be necessary. Additionally, blocks are provided to illustrate some functional components. When implemented in the illustrative embodiments, one or more of these blocks may be combined, divided, or combined and divided into different blocks.

[0139] For example, the illustrative examples may be applied to other types of vehicles besides aircraft 100. For example, planning a sequence of actions to reach a target state may be used to operate a vehicle such as a spacecraft, a surface ship, a submarine, an autonomous underwater vehicle (AUV), a remotely operated underwater vehicle (ROV), an automobile, a semi-truck, a tank, a train, or other suitable type of vehicle.

[0140] In the illustrative example, artificial intelligence system 146 Figure 1 106. In another illustrative example, artificial intelligence system 146 may be implemented as part of action manager 106.

[0141] Furthermore, when computer system 104 includes components in a location remote from aircraft 100, action manager 106 may be located at the remote location and generate action sequence 126, which is sent to aircraft system 108 in aircraft 100. In this example, information 110 and instructions 112 may be exchanged over a communication medium, such as a set of wireless communication links. The set of wireless communication links may include at least one of a satellite communication link, a microwave communication link, a Worldwide Interoperability for Microwave Access (WiMAX) communication link, an ultra-high frequency (UHF) communication link, a very high frequency (VFH) communication link, a WiFi communication link, or some other suitable type of wireless communication link.

[0142] In other examples, a wired communication link can be used when the aircraft 100 is on the ground. This communication link can be used to pre-plan reaching a target state from a specific target state or to transmit an initial sequence of operations determined for a target state. With this embodiment, the action manager 106 can be used to re-plan or re-determine an action sequence while the aircraft 100 is in flight. In this example, a new action sequence can be dynamically selected as needed during flight, where the action manager 106 is located in the computer system 104 in the aircraft 100, or where the action manager 106 is located in the computer system 104 in a remote location and communicates with the aircraft 100 via a wireless communication link.

[0143] With this type of implementation, human operator 118 may be located in many different locations. For example, human operator 118 may be located in aircraft 100, at a ground location, in a ground vehicle, on another aircraft, or in some other suitable location.

[0144] refer to Figure 5 , according to an illustrative embodiment, depicts a diagram of nodes in a path from a current task state to a target state. In this depicted example, a current task state 500 and a target state 502 are depicted as nodes. An additional node 504 is shown between these two states.

[0145] As shown, the additional nodes 504 include node 506, node 508, node 510, node 512, and node 514. As shown, the additional nodes 504 are Figure 1 An example of a middle node 140. Each of the additional nodes 504 represents a potential task state that can occur from the current task state 500, depending on the action performed.

[0146] These nodes are connected to each other by lines representing actions. These lines representing actions are called edges. As shown in the figure, action 520, action 522, action 524, action 526, action 528, action 530 and action 532 are shown in the diagram.

[0147] In the illustrative example, execution of action 520 may cause current task state 500 to change to the task state in node 510. As another example, execution of action 526 may cause current task state 500 to change to the task state in node 514.

[0148] In this illustrative example, action 520, action 522, action 524 are a sequence of actions in path 540 from current task state 500 to target state 502. Action 526, action 528, action 530, and action 532 are a sequence of actions that form path 542 from current task state 500 to target state 502.

[0149] In this depicted example, the sequence of actions in path 540 and the sequence of actions in path 542 are not actually executed, but rather represent potential actions that could be taken by aircraft 100 to reach target state 502 from current mission state 500. By creating the sequence of actions, it is possible to analyze which path is the best path to reach target state 502 from current mission state 500. The specific path selected can be based on the cost of following each of the two paths. For example, the cost can be, for example, but not limited to, the effect that each action along the path has on the mission state in the previous node to create a new node with the new current mission state. The sequence of actions in the selected path can then be executed to control the operation of aircraft 100.

[0150] As used herein, "plurality" when used with reference to an item means one or more items. For example, a plurality of effects is one or more effects.

[0151] For example, node 510 has all the same variable states as node 512. The difference between these two nodes and other nodes is the value or value state of the state variables of the nodes. The execution of action 522 can change one or more values ​​of the state variables of node 510 to create node 512.

[0152] Next reference Figure 6 , a diagram depicts nodes in a path from a current mission state to a target state where pushback from a gate to a destination occurs for an aircraft in accordance with an illustrative embodiment. The current mission state 600 is Figure 1 The target state 602 is Figure 1

[0066] An example of target state 114 in

[0067] In the social example, target state 602 represents a target for an aircraft to be pushed back from the gate.

[0153] In this illustrative example, node 604, node 606, and node 608 represent potential task states. These nodes are located between current task state 600 and target state 602, which are represented as nodes in this diagram.

[0154] As shown, actions are depicted that can be performed to reach a target state 602 where aircraft pushback occurs. These are potential actions including close door 610, turn on light 612, turn on light 614, close door 616, and request pushback 618.

[0155] As shown, the action sequence: closing door 610, turning on light 612, and requesting pushback 618 forms path 630. The action sequence: turning on light 614, closing door 616, and requesting pushback 618 forms path 630.

[0156] In this illustrative example, the difference in state variables between current task state 600 and node 604 is that the state variable "doorsClosed" changes from false to true in node 604 in response to executing close doors 610. Execution of turn on light 612 results in node 606, where the difference in state variables between node 606 and node 604 is that lightOn changes from false to true. Execution of request pushback 618 results in a change in state variables between node 606 and target state 602, where "pushbackClearanceAvailable" changes from false to true.

[0157] Similarly, in the transition from current task state 600 to node 608, execution of Turn On Lights 614 causes the state variable "lightsOn" to change from false to true. Execution of Close Doors 616 causes the state variable "doorsClosed" to change from false in node 608 to true in node 606.

[0158] As shown, each of these actions has its own cost. Consequently, the sequence of closing the door and turning on the light both have the same cost for reaching the goal state 602 from the current task state 600. Consequently, either path 630 or path 632 can be chosen to reach the goal state 602. The choice of path can be made randomly because both paths have the same cost.

[0159] exist Figure 5 and Figure 6 A diagram of the path from the current mission state to the target state is presented to illustrate how actions can cause the current mission state to change to multiple different potential mission states. The nodes present in the path from the current mission state to the target mission state can include many more nodes and actions than depicted. Furthermore, the state variables shown for the nodes are only those relevant to the specific example. A node could actually contain all state variables available in an aircraft. In this illustrative example, only a few nodes and actions are depicted to avoid obscuring the concepts presented in the illustrative example.

[0160] Next go to Figure 7 , an illustration of a flowchart of a process for controlling an aircraft is depicted in accordance with an illustrative embodiment. This may be implemented in hardware, software, or both Figure 7 When implemented in software, the process may take the form of program code executed by one of more processor units in one or more hardware devices in one or more computer systems. For example, the process may be in Figure 1 The action manager 106 in the computer system 104 is implemented in the computer system 104.

[0161] The process begins by identifying a target state for the aircraft (operation 700 ).The process determines the current mission state of the aircraft (operation 702 ).

[0162] The process then selects a sequence of actions from the pool of potential actions to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state (operation 704). The selection of the action sequence in operation 704 may be performed using at least one of a set of path planning algorithms or an artificial intelligence system.

[0163] The process executes the actions in the action sequence for which preconditions for the actions have been satisfied, wherein the actions are executed in an order defined by the action sequence (operation 706). The process terminates thereafter.

[0164] After selecting an action sequence, you can execute it again Figure 7 One or more operations in a process in the action sequence. For example, the action sequence may be repeatedly selected in response to an event. In the illustrative example, the event may be selected from one of: a periodic event, a non-periodic event, a change in the current mission state, reaching a subgoal state, expiration of a timer, a change in a state variable, a change in the configuration of the aircraft, the execution of an action, or some other event. As a result, the action sequence may change even though the actions in the action sequence are being executed in response to the event. In this way, in the illustrative example, the change in the configuration of the aircraft may include at least one of: a change in control surfaces, a change in the gross weight of the aircraft, a change in the number of engines operating in the aircraft, or other changes in the structure or operation of the aircraft that may or may not be planned.

[0165] refer to Figure 8 , an illustration of a flowchart of a process for determining a current task status is depicted in accordance with an illustrative embodiment. Figure 8 The process is Figure 7 An example of an implementation of operation 702 in .

[0166] The process begins by receiving state variables from aircraft systems in the aircraft (operation 800). The process determines the current mission state using the state variables for the current mission state (operation 802). The process terminates thereafter.

[0167] Go to Figure 9 , an illustration of a flowchart of a process for selecting a sequence of actions from a pool of potential actions to reach a target state from a current mission state of an aircraft is depicted in accordance with an illustrative embodiment. Figure 9 When implemented in software, the process may take the form of program code executed by one of more processor units in one or more hardware devices in one or more computer systems. For example, Figure 1 The process is implemented in the action manager 106 in the computer system 104 in . Figure 9 The process in Figure 7 An example of an implementation of operation 704 in .

[0168] The process begins by identifying nodes in a path from a current task state to a goal state based on the node with the lowest cost (operation 900). The process selects an action sequence from a pool of potential actions based on the nodes identified in the path (operation 902). Thereafter, the process terminates.

[0169] Now refer to Figure 10 , depicts a flow chart for reselecting actions to reach a target state for an aircraft from a current mission state when a state variable changes, according to an illustrative embodiment. Figure 10 When implemented in software, the process may take the form of program code executed by one of more processor units in one or more hardware devices in one or more computer systems. For example, the process may be in Figure 1 The process is implemented in the action manager 106 in the computer system 104 in the task state. This process is executed every time the state variable is changed for the current task state.

[0170] The process begins by detecting a change in a state variable (operation 1000). The change in the state variable may occur in response to the execution of an action, a change in the environment, a change in an aircraft system not caused by the execution of an action, or some other event. For example, a change in weather, a change in fuel efficiency in an engine, a change in airport, a change in flight plan, or some other event may cause the state variable to change.

[0171] The process identifies a set of currently executing actions (operation 1002). In this illustrative example, the set of currently executing actions is the set of actions that was started last and has not yet completed. Some actions may complete faster than others. For example, if started simultaneously, the "turn on landing lights" action will complete before the "taxi" action.

[0172] The system that begins executing an action marks the action as "in progress." In this example, all actions marked "in progress" are still executing. Once all effects of the currently executing action are observed in the current mission state, the action is marked as "complete." Alternatively, an action may be reported as "complete" by a component, such as an aircraft system or a subsystem within an aircraft system.

[0173] A determination is made as to whether the change in the state variable is an expected effect from the set of currently executed actions (operation 1004). If the change in the state variable is an expected effect from the set of currently executed actions, the process terminates. In this case, the change in the state variable caused by the execution of the set of currently executed actions is normal and expected, and no replanning of actions is required to reach the target state.

[0174] Referring again to operation 1004, if the change in the state variable is not the expected effect from the set of currently executed actions, the process reselects actions and the order of actions to form an action sequence to reach the target state (operation 1006). The process terminates thereafter. In operation 1006, there is a possibility that reselecting actions may result in selecting the same action sequence as the action sequence that existed before the state variable was changed.

[0175] Go to Figure 11A and Figure 11B , an illustration of a flowchart of a process for selecting a series of actions to reach a target state for an aircraft is depicted in accordance with an illustrative embodiment. Figure 11A and Figure 11B The processes in can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code executed by one of more processor units in one or more hardware devices in one or more computer systems. For example, the process can be implemented in Figure 1 The process can be implemented in the action manager 106 in the computer system 104 in Figure 7 Used in operation 704 in.

[0176] In this illustrative example, Figure 7 The process illustrated in the flowchart in is an implementation of a path planning algorithm, an A* search algorithm, used for path planning to identify actions that can be performed by the aircraft systems to provide autonomous operation of the aircraft.

[0177] The operations in this flowchart enable selection of actions to cause changes between multiple nodes representing hypothetical mission states for an aircraft. In this illustrative example, the hypothetical mission states in these nodes may occur when actions are executed to reach a target state from the current mission state. In other words, the process in this flowchart can be used to select a sequence of actions from a pool of potential actions that can be executed to reach the target state from the current mission state. Selecting the sequence of actions includes selecting actions and selecting the order in which the actions are to be executed.

[0178] The process begins by obtaining the current mission state (operation 1100). In this example, the current mission state may be obtained from an aircraft system in the aircraft. Information forming the current mission state may be maintained throughout the flight of the aircraft. For example, different aircraft systems may transmit information stored in a central location for the current mission state.

[0179] As shown in the figure, the current task state obtained in operation 1100 is the start state 1101. In other words, when Figure 11A and Figure 11B At the beginning of the process in operation 1100, the starting state 1101 is a "snapshot" or copy of the current mission state. In the illustrative example, the starting state 1101 includes a Boolean representation of all state variables in the current mission state obtained in operation 1100. As shown, the current position state contains all state variables for the specific aircraft in which the action is to be performed.

[0180] The operations in section 1107 of the flowchart are used to process sub-goal states that may exist in operating the aircraft to reach the target state of the aircraft. In the illustrative example, there may be sub-goal states that are reached by performing actions as part of the process of reaching the target state of the aircraft. These operations may be performed for each sub-goal state of the aircraft that exists to reach the target state. In this illustrative example, the target state may be sent by a human operator in the form of a goal and may include sub-goals, which are converted into the target state and sub-goal states.

[0181] The process then selects the next sub-goal state (operation 1102). In operation 1102, the next sub-goal state is a goal state that has not yet been processed. A goal state may include sub-goal states. For example, the goal state may be "Stop at the boarding gate at Seattle Airport at 9:00 AM Pacific Standard Time." The sub-goal states of this goal state may be, for example, "In Seattle" and "Stop at the boarding gate." In this illustrative example, "In Seattle" is a spatial sub-goal state, and "Stop at the boarding gate" is an operational sub-goal state. As shown in the figure, "Stop at 9:00 AM Pacific Standard Time" is a constraint on the sub-goal state "Stop at the boarding gate."

[0182] As shown, the specific sub-goal state selected can be based on a boundary in which a sub-goal state may need to be reached before the goal state can be reached. For example, a sub-goal state may have a prerequisite based on reaching another sub-goal state.

[0183] The process derives state variables for the selected sub-destination state (operation 1104). In this example, the state variables for the destination state may be destinationAirportReached=true; destinationAirportSet=true, where the assigned object is AirportIdentifier=KSEA; and dockedAtGate=true.

[0184] A determination is made as to whether any of the state variables are required in the start state 1101 (operation 1106). In the illustrative example, some of the sub-goal states may require modification of the start state 1101. This modification may be necessary because the information contained in the sub-goal states may be used to plan the actions selected to reach the goal state 1103.

[0185] For example, destinationAirportReached is a state variable and is only part of the target state 1103. The target is the mission state where this condition is true, meaning the aircraft has reached the destination. In this case, the destination is defined by destinationAirportSet being true, and the associated object contains the airport identifier for the destination the aircraft is flying to.

[0186] As shown in the diagram, destinationAirportSet is a state variable that contains the information required for planning. This state variable cannot be part of the target state because this would translate into the goal of "wanting to have a destination airport set" in target state 1103, which does not work well in target state 1103. Therefore, this state variable is placed in start state 1101, which is a snapshot of the current mission state. Furthermore, for the same reason as destinationAirportReached, dockedAtGate will be part of target state 1103.

[0187] If any of the variables are required in the start state 1101, the process adds the required state variables to the start state 1101 (operation 1108). If no state variables are required, the process adds the state variables for the sub-goal state to the target state 1103 (operation 1110). As shown, the target state 1103 contains a subset of all possible state variables. This subset includes the state variables required to have the selected values ​​to reach the sub-goal state.

[0188] A determination is made as to whether there are any unprocessed sub-goal states (operation 1133). If there are additional unprocessed target states, the process returns to operation 1102 to select an unprocessed sub-goal state for processing.

[0189] Again with reference to operation 1133, if all sub-goal states have been processed, then create an initial node (operation 1112). In this illustrative example, the initial node is saved as start node 1105, and comprises the current task state. As shown in the figure, start node 1105 and other nodes processed using this flow chart include information, such as the task state at this node, the action performed for arriving at this node, the cost of arriving at the node, the cost of estimating the cost of arriving at the target state from the node, total cost, and a pointer to the previous node. Total cost is the sum of the cost of arriving at the node and the cost of estimating the cost of arriving at the target state from the node.

[0190] The process pushes the initial node to the open list 1109 (operation 1114). The open list 1109 is a list of nodes that have not yet been expanded.

[0191] In the illustrative example, the node to be expanded is selected based on the total cost value from the open list 1109. In this example, the node with the lowest total cost is selected as the node to be expanded.

[0192] In this depicted example, the total cost is the combined cost of moving from the start node to the target node and the estimated cost of reaching the target node from the target node. In this example, a heuristic function can be used to estimate the cost. By using a heuristic function, the criteria for not overestimating the cost are met. To make the cost permissible for use, overestimation needs to be avoided.

[0193] For example, the cost can be calculated based on the number of effects an action causes. If the action causes seven effects on the task state, the cost of performing the action is seven. In this example, the estimated cost is assumed to be the number of state variables to be changed minus one. This results in the estimated cost being lower than the actual cost.

[0194] The cost of reaching the current node is the sum of the costs of all actions taken starting from the initial node until reaching the current node being evaluated. In other words, the cost is the total number of effects incurred so far.

[0195] In the illustrative example, expansion is used to discover all nodes reachable from the currently expanded node. In this example, the task state is stored at the currently viewed node and used to check which actions can be performed. The actions can be analyzed to determine what nodes can be reached by performing a specific action. This analysis can be performed using the temporary task state, allowing the discovery of new adjacent nodes.

[0196] The process is similar to standing at an intersection and being able to go in four directions due to a cluster of one-way streets, or only being able to go in two directions, which means that nodes behind the one-way streets cannot be reached.

[0197] The process retrieves the node with the lowest total cost from open list 1109 (operation 1116). In this example, the node with the lowest total cost retrieved from open list 1109 is current evaluation node 1111. Current evaluation node 1111 is the node currently being processed in this example.

[0198] A determination is made as to whether the open list 1109 is empty (operation 1118). If the open list 1109 is empty, the process indicates that no solution has been found (operation 1120), with the process terminating thereafter.

[0199] Referring again to operation 1116, if the open list 1109 is not empty, the process obtains the node task state (operation 1122). In this illustrative example, the node task state in operation 1122 comes from the task state node 1113, which is for the currently evaluated node 1111 retrieved from the open list 1109.

[0200] In this illustrative example, task state node 1113 is the task state rendered by applying all actions performed on nodes in the path from currently evaluated node 1111 back to start node 1105 .

[0201] A determination is made as to whether the task state node 1113 is the same as the target state 1103 (operation 1124). If the task state node 1113 is the same as the target state 1103, then the process indicates that a solution has been found (operation 1126), with the process terminating thereafter.

[0202] The actions under analysis may be actually performed during operation of the aircraft to reach the target state from the current mission state in operation 1126. This process may be repeated any number of times during flight of the aircraft to determine if different actions should be performed to reach the target state from the current mission state.

[0203] The operations performed in section 1123 are performed to identify possible actions that can be performed to move the task state toward the target state. The operations performed in section 1123 are performed to check available actions for the task state of the currently evaluated node 1111. When the action can be performed, the effects of those actions are applied and a time node is generated. After the currently evaluated node 1111 is evaluated using all available actions, the node is placed in the closed list 1121.

[0204] Referring again to operation 1124 , if the task state node 1113 is not the target state 1103 , the process obtains the next action (operation 1128 ). In operation 1128 , the next action is obtained from the available actions 1115 .

[0205] A determination is made as to whether the preconditions for the next action obtained have been met (operation 1130). If the preconditions have not been met, the process returns to operation 1128 to obtain the next action for processing.

[0206] Referring again to operation 1130, if the preconditions of the action are met, the process applies the effects of the action (operation 1132). In this illustrative example, a temporary task state 1117 is created by applying the effects of the action to the state stored at the node.

[0207] For example, the state at node B is lightsOn=false and doorsClosed=true. The effect of the action "LightsOn" is lightsOn=true. In this example, the temporary task state 1117 with applied effects is the state of node B + the effects of the action lightsOn=true and the action doorsClosed=true.

[0208] Other variables are unchanged in this example of temporary task state 1117. Temporary task state 1117 may be maintained until the process knows that (a) the state is unknown and a new node is generated or (b) the state has been discovered, which would trigger a cost value comparison.

[0209] A determination is made as to whether the task state has been found via another path (operation 1134). If the task state has been found via another path, a determination is made as to whether the new node 1119 has a lower total cost (operation 1136). New node 1119 is created using temporary task state 1117. If new node 1119 does not have a lower total cost, the process returns to operation 1128. In this example, all possible actions are being executed, each resulting in a new task state that has never been found before the current task state. A new node may be generated for each action that can be executed, resulting in nodes such as Figure 6 Node 608 and node 604 in .

[0210] Otherwise, if the new node 1119 has a lower total cost, the process creates and replaces the current node with the new node 1119, and if the new node 1119 has a lower cost, pushes the new node 1119 to the open list 1109 (operation 1138). The new node 1119 can be created from the temporary task state 1117. If the task state of the previous node has a higher total cost, the process removes the previous node and creates a new node with the same state, but stores a different path and a different cost value there. This new node is created from the temporary task state 1117.

[0211] This other path to the new node is identified from references to previous nodes or actions. Referring again to operation 1134 , if the task state has not been discovered through another path, the process also proceeds to operation 1138 .

[0212] Then, the process pushes the evaluated node to closed list 1121 (operation 1140). As shown, closed list 1121 is a list of all expanded nodes. In this example, these nodes are the nodes with the lowest cost. All available actions that meet the prerequisites of the nodes on this list will result in the discovery of adjacent nodes.

[0213] In this illustrative example, neighboring nodes are all nodes reachable from the node that was just expanded. In other words, neighboring nodes are found for each action that can be performed on the state stored at the currently expanded node. Performing that action and applying its effects to the state of the expanded node will result in a new state and, thus, a potential new node. The process then returns to operation 1116 to obtain the node with the lowest cost from the open list 1109.

[0214] The flow charts and block diagrams in the depicted different embodiments illustrate the architecture, function and operation of some possible embodiments of the apparatus and method in the illustrative embodiments. In this regard, each block in the flow chart or block diagram can represent at least one of a module, segment, function or operation or a part of a step. For example, one or more in the block can be implemented as a combination of program code, hardware or program code and hardware. When implemented in hardware, the hardware can, for example, take the form of an integrated circuit that is manufactured or configured to perform one or more operations in the flow chart or block diagram. When implemented as a combination of program code and hardware, the embodiment can take the form of firmware. Each block in the flow chart or block diagram can be implemented using a combination of a dedicated hardware system or dedicated hardware that performs different operations and the program code run by the dedicated hardware.

[0215] In some alternative implementations of the illustrative embodiments, one or more functions noted in the blocks may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be performed substantially simultaneously, or the blocks may sometimes be performed in the reverse order, depending on the functionality involved. Additionally, other blocks may be added in addition to the blocks shown in a flowchart or block diagram.

[0216] For example, factors other than the number of effects can be used to calculate Figure 11A and Figure 11BFor example, an airline may want to make the costs reflect the actual costs incurred in a monetary sense. Costs can be indirectly inferred using a cost function that includes at least one of the following factors: time, maintenance costs to be incurred, amount of fuel consumed, personnel costs associated with the time, passenger comfort, company policy, manufacturing recommendations, or other suitable factors. In one example, company policy may dictate that performing A takes precedence over performing B. As a result, in this example, the cost of performing B is higher than the cost of performing A. In the illustrative examples, the costs can be dynamic and not static, where the costs can change when the system state or environment changes.

[0217] Now turn Figure 12 , depicts an illustration of a block diagram of a data processing system according to an illustrative embodiment. Data processing system 1200 may be used in Figure 1 One or more data processing systems are implemented in computer system 104. In this illustrative example, data processing system 1200 includes communications framework 1202, which provides communications between processor unit 1204, memory 1206, persistent storage device 1208, communications unit 1210, input / output (I / O) unit 1212, and display 1214. In this example, communications framework 1202 takes the form of a bus system.

[0218] Processor unit 1204 is configured to execute instructions of software that may be loaded into memory 1206. Processor unit 1204 may include one or more processors. For example, processor unit 1204 may be selected from at least one of a multi-core processor, a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a digital signal processor (DSP), a network processor, or some other suitable type of processor.

[0219] Memory 1206 and persistent storage 1208 are examples of storage 1216. A storage device is any piece of hardware capable of storing information, such as, for example, but not limited to, at least one of data, program code in functional form, or other suitable information, whether on a temporary basis, a permanent basis, or both. In these illustrative examples, storage 1216 may also be referred to as a computer-readable storage device. In these examples, memory 1206 may be, for example, random access memory or any other suitable volatile or non-volatile storage device. Persistent storage 1208 may take various forms, depending on the particular implementation.

[0220] For example, persistent storage 1208 may include one or more components or devices. For example, persistent storage 1208 may be a hard drive, a solid-state drive (SSD), flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination thereof. The media used by persistent storage 1208 may also be removable. For example, a removable hard drive may be used for persistent storage 1208.

[0221] In these illustrative examples, communications unit 1210 provides for communications with other data processing systems or devices. In these illustrative examples, communications unit 1210 is a network interface card.

[0222] Input / output unit 1212 allows for input and output of data with other devices that may be connected to data processing system 1200. For example, input / output unit 1212 may provide a connection for user input through at least one of a keyboard, a mouse, or some other suitable input device. Additionally, input / output unit 1212 may send output to a printer. Display 1214 provides a mechanism for displaying information to a user.

[0223] Instructions for at least one of an operating system, applications, or programs may be located in storage devices 1216, which are in communication with processor unit 1204 through communications framework 1202. The processes of the different embodiments may be performed by processor unit 1204 using computer-implemented instructions, which may be located in a memory, such as memory 1206.

[0224] These instructions are referred to as program code, computer usable program code, or computer readable program code, which can be read and executed by a processor in processor unit 1204. The program code in different embodiments may be embodied on different physical or computer-readable storage media, such as memory 1206 or persistent storage device 1208.

[0225] Program code 1218 is located in functional form on computer-readable medium 1220, which can be selectively removed and loaded or transferred to data processing system 1200 for execution by processor unit 1204. In these illustrative examples, program code 1218 and computer-readable medium 1220 form computer program product 1222. In the illustrative example, computer-readable medium 1220 is computer-readable storage medium 1224.

[0226] In these illustrative examples, computer readable storage media 1224 is a physical or tangible storage device used to store program code 1218 rather than a medium that propagates or transmits program code 1218 .

[0227] Alternatively, program code 1218 can be transferred to data processing system 1200 using a computer-readable signal medium. A computer-readable signal medium can be, for example, a propagated data signal containing program code 1218. For example, a computer-readable signal medium can be at least one of an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals can be transmitted via a connection such as a wireless connection, an optical cable, a coaxial cable, an electrical wire, or any other suitable type of connection.

[0228] In this illustrative example, program code 1218 may include instructions for Figure 1 Program code 1218 may also include instructions for the artificial intelligence system 146 and the action manager 106. Figure 1 A set of path planning algorithm 138 instructions in.

[0229] The different components illustrated for data processing system 1200 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. In some illustrative examples, one or more of the components may be incorporated into or otherwise form part of another component. For example, in some illustrative examples, memory 1206, or portions thereof, may be incorporated into processor unit 1204. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system 1200. Figure 12 Other components shown can be varied from the illustrative examples shown. The different embodiments can be implemented using any hardware device or system capable of running program code 1218.

[0230] You can Figure 13 Aircraft manufacturing and service method 1300 is shown and described below. Figure 14 Illustrative embodiments of the present disclosure are described in the context of the aircraft 1400 shown. Figure 13 , an illustration of an aircraft manufacturing and service method is depicted in accordance with an illustrative embodiment. During pre-production, aircraft manufacturing and service method 1300 may include Figure 14 Specification and design 1302 of the aircraft 1400 and material procurement 1304.

[0231] During production, Figure 14 Components and subassemblies of the aircraft 1400 are manufactured 1306 and system integrated 1308. Thereafter, Figure 14 The aircraft 1400 in can be certified and delivered 1310 to be placed into service 1312. Upon being placed into service 1312 by a customer, Figure 14 Aircraft 1400 is scheduled for routine maintenance and service 1314 , which may include modification, reconfiguration, refurbishment, and other maintenance or service.

[0232] Each of the processes of aircraft manufacturing and service method 1300 may be performed or carried out by a system integrator, a third party, an operator, or some combination thereof. In these examples, the operator may be a customer. For illustrative purposes, a system integrator may include, but is not limited to, any number of aircraft manufacturers and major system subcontractors; a third party may include, but is not limited to, any number of suppliers, subcontractors, and vendors; and an operator may include, for example, an airline, a leasing company, a military entity, a service organization, or the like.

[0233] Now refer to Figure 14 , depicts a diagram of an aircraft in which an illustrative embodiment may be implemented. In this example, aircraft 1400 is comprised of Figure 13 14. Aircraft manufacturing and service method 1300 is described and may include airframe 1402 having plurality of systems 1404 and interior 1406. Examples of systems 1404 include one or more of propulsion system 1408, electrical system 1410, hydraulic system 1412, environmental system 1413, and avionics 1416. Any number of other systems may be included. Although an aviation example is shown, different illustrative embodiments may be applied to other industries, such as the automotive industry. Avionics 1416 may include a computer system, such as computer system 104, in which action manager 106 is located.

[0234] Can be Figure 13 The apparatus and method embodied herein may be employed in at least one of the stages of the aircraft manufacturing and service method 1300. For example, a computer system may be implemented to include the processes of the illustrative examples, such as those for Figure 1 The processes executed by the hardware or software of action manager 106 may operate during commissioning 1312 to control the operation of aircraft 1400 .

[0235] In an illustrative example, Figure 13 The parts or subassemblies produced when the aircraft 1400 is put into service 1312 are made or manufactured in a similar manner to those in Figure 13 As another example, one or more apparatus embodiments, method embodiments, or a combination thereof may be utilized during a production phase, such as Figure 13 When the aircraft 1400 is in service 1312, Figure 13 During maintenance and repair 1314, or both, one or more apparatus embodiments, method embodiments, or a combination thereof may be utilized. Utilizing several of the various illustrative embodiments may significantly reduce operating costs and increase operating efficiency of aircraft 1400.

[0236] refer to Figure 15-Figure 55 , depicts diagrams of display screens or portions of display screens that may be displayed on the human-machine interface system 158. These diagrams are available in Figure 1 Some illustrative examples of display screens or portions of display screens displayed in graphical user interface 150 on display system 152 in human-machine interface system 158 in FIG.

[0237] Figure 15-Figure 55 These illustrative display screens or portions of display screens in the figures provide some examples of how information may be displayed in graphical user interface 150 and are not meant to limit the manner in which information may be displayed in a graphical user interface. For example, the display screen portions of the display screens depicted in these figures may be displayed in conjunction with other graphical displays to at least one of display information or receive user input.

[0238] As shown in the figure, Figures 15-18 are illustrations of display screens or portions thereof having different embodiments of graphical user interfaces depicted in accordance with illustrative embodiments. Dashed lines showing display screens or portions thereof in all views are for illustrative purposes only and do not form part of the claimed design. Dashed lines of text, numbers, icons, and boxes indicating portions of the graphical user interface shown on the display screen in all views are for illustrative purposes only and do not form part of the claimed design. Diagonal lines in all views represent colors or shades of the graphical user interface. Diagonal lines do not imply or claim a particular color. Figure 15-18 A decorative design for a display screen having a graphical user interface is shown and described in detail.

[0239] Figures 19-27 are illustrations of display screens or portions thereof having different embodiments of animated graphical user interfaces depicted in accordance with illustrative embodiments. Dashed lines showing display screens or portions thereof in all views are for illustrative purposes only and do not form part of the claimed design. Dashed lines of text, numbers, icons, and boxes indicating portions of the animated graphical user interface shown on the display screen in all views are for illustrative purposes only and do not form part of the claimed design. Diagonal lines in all views represent color or shaded portions of the animated graphical user interface. Diagonal lines do not imply or claim a particular color. Figures 19-27 A decorative design for a display screen having an animated graphical user interface is shown and described in FIG. The appearance of the animated image is shown in FIG. Figures 19-21 、 Figure 22-24 or Figure 25-27 The images shown transition sequentially. The process or time period during which one image transitions to another does not form part of the claimed design.

[0240] Figures 28-36are illustrations of display screens or portions thereof having different embodiments of animated graphical user interfaces depicted in accordance with illustrative embodiments. Dashed lines showing display screens or portions thereof in all views are for illustrative purposes only and do not form part of the claimed design. Dashed lines of text, numbers, icons, and boxes indicating portions of the animated graphical user interface shown on the display screen in all views are for illustrative purposes only and do not form part of the claimed design. Diagonal lines in all views represent color or shaded portions of the animated graphical user interface. Diagonal lines do not imply or claim a particular color. Figures 28-36 A decorative design for a display screen having an animated graphical user interface is shown and described in FIG. The appearance of the animated image is shown in FIG. Figures 28-30 、 Figure 31-33 or Figure 34-36 The images shown transition sequentially. The process or time period during which one image transitions to another does not form part of the claimed design.

[0241] Figures 37-43 are diagrams of display screens or portions thereof having different embodiments of graphical user interfaces depicted in accordance with illustrative embodiments. Dashed lines showing display screens or portions thereof in all views are for illustrative purposes only and do not form part of the claimed design. Dashed lines of text, numbers, icons, and boxes indicating portions of a graphical user interface displayed on a display screen in all views are for illustrative purposes only and do not form part of the claimed design. Figures 37-43 A decorative design for a display screen having a graphical user interface is shown and described in detail.

[0242] Figures 44-47 are diagrams of display screens or portions thereof having different embodiments of graphical user interfaces depicted in accordance with illustrative embodiments. Dashed lines showing display screens or portions thereof in all views are for illustrative purposes only and do not form part of the claimed design. Dashed lines of text, numbers, icons, and boxes indicating portions of a graphical user interface displayed on a display screen in all views are for illustrative purposes only and do not form part of the claimed design. Figures 44-47 A decorative design for a display screen having a graphical user interface is shown and described in detail.

[0243] Figures 48-55 are diagrams of display screens or portions thereof having different embodiments of graphical user interfaces depicted in accordance with illustrative embodiments. Dashed lines showing display screens or portions thereof in all views are for illustrative purposes only and do not form part of the claimed design. Dashed lines of text, numbers, icons, and boxes indicating portions of a graphical user interface displayed on a display screen in all views are for illustrative purposes only and do not form part of the claimed design. Figures 48-55A decorative design for a display screen having a graphical user interface is shown and described in detail.

[0244] Thus, the illustrative embodiments provide a method, apparatus, and system for controlling an aircraft. In those examples, the aircraft may be controlled by a computer system that provides instructions to aircraft systems within the aircraft. In one or more of the illustrative examples, a human operator is not required to input specific values ​​into the automated system.

[0245] For example, a human operator need not input information such as speed, heading, altitude, or other information. Instead, the human operator can input a goal, such as "Dock at Gate B13, Seattle-Tacoma, at 10:35 UTC." This goal can be converted into a target state, and the aircraft's current mission state can be used to automatically identify and execute the sequence of actions for the action sequence to reach the target state. Furthermore, the action sequence can be automatically executed without intervention from the pilot or other flight crew, thereby increasing the degree of automation in the process or function of operating the aircraft.

[0246] In addition, the process in the illustrative examples is dynamic, so that action selection can be performed again to identify a new action sequence while the current action sequence is still being executed. In this way, those examples provide the ability to consider events that can change the actions performed to reach the target state.

[0247] As a result, unforeseen changes can be addressed and handled more effectively than with current systems using decision trees. Therefore, in the illustrative example, control of functions handled by the autopilot system is less likely to be returned to the pilot than with systems using decision trees. Consequently, the workload of the pilot and other flight crew members can be reduced with greater predictability.

[0248] In the illustrative examples, features of the illustrative examples are described in the following embodiments. These embodiments are examples of features and are not intended to limit the other illustrative examples.

[0249] Example 1. A method comprising:

[0250] The computer system identifies the target status of the aircraft;

[0251] The computer system determines the current mission status of the aircraft;

[0252] selecting, by the computer system, a sequence of actions from a pool of potential actions to reach a target state from a current mission state of the aircraft, wherein the sequence of actions is selected based on the current mission state; and

[0253] The computer system executes actions in an action sequence for which preconditions have been satisfied, wherein the actions are executed in an order defined by the action sequence.

[0254] Embodiment 2. The method of embodiment 1, wherein actions and action sequences are selected based on the cost of performing the actions.

[0255] Embodiment 3. The method of embodiment 1 or 2, wherein the actions and action sequences are selected by an artificial intelligence system from a pool of potential actions.

[0256] Embodiment 4. The method of embodiment 1, 2, or 3, wherein determining, by the computer system, the current mission status of the aircraft comprises:

[0257] receiving state variables from aircraft systems in the aircraft; and

[0258] The current task state is determined using the state variable of the current task state.

[0259] Embodiment 5. The method of embodiment 1, 2, 3, or 4, wherein the computer system selects an action sequence from a pool of potential actions to reach a target state from a current mission state of the aircraft, wherein selecting the action sequence based on the current mission state comprises:

[0260] Identifying a node in a path from a current task state to a goal state based on the node with the lowest cost; and

[0261] An action sequence is selected from a pool of potential actions based on the nodes identified in the path.

[0262] Example 6. A method according to Example 5, wherein the costs used to determine the lowest cost include a set of factors selected from at least one of the following: data on the effect of the action, monetary cost, amount of time, maintenance costs to be incurred, amount of fuel to be consumed, personnel costs related to time, or passenger comfort.

[0263] Embodiment 7. The method of embodiment 1, 2, 3, 4, 5, or 6, wherein selecting, by a computer system, a sequence of actions from a pool of potential actions to reach a target state, to reach a current mission state of the aircraft, comprises:

[0264] A computer system uses a set of path planning algorithms to select a sequence of actions from a pool of potential actions based on the current mission state of the aircraft to reach the target state.

[0265] Example 8. A method according to Example 7, wherein the group of path planning algorithms is selected from at least one of the following: A* search algorithm, Dijkstra algorithm, D*, incremental search algorithm, backtracking algorithm, edge search, arbitrary angle path planning algorithm, iterative deepening A* search algorithm, Bellman-Ford search algorithm, Floyd-Warshall algorithm, hill climbing algorithm, bidirectional search algorithm or Johnson algorithm.

[0266] Embodiment 9. The method of embodiment 1, 2, 3, 4, 5, 6, 7 or 8, further comprising:

[0267] In response to the event, the computer system selects an action sequence from a potential action pool based on the current task state to reach the target state, wherein the action sequence is selected based on the current task state.

[0268] Embodiment 10. A method according to embodiments 1, 2, 3, 4, 5, 6, 7, 8 or 9, wherein the event is selected from a periodic event, a non-periodic event, a change in the current task state, reaching a sub-goal state, a timer expiration, a state variable change, a change in aircraft configuration, and the execution of an action.

[0269] Embodiment 11. The method of embodiment 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10, wherein the current mission state of the aircraft comprises a set of state variables of the aircraft.

[0270] Example 12. A method according to Example 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or 11, wherein the precondition includes at least one of the following: the current position of the aircraft, the performance of the selected action, the configuration of the aircraft, the position of the control surfaces, weather conditions or instructions from an air traffic controller.

[0271] Example 13. A method according to Example 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 or 12, wherein the target state is one of an operational target state and a spatial target state.

[0272] Embodiment 14. A method according to embodiment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 or 13, wherein the target state includes a set of state variables having a set of values ​​of the target state.

[0273] Embodiment 15. The method of embodiment 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 or 14, further comprising:

[0274] A target state for the aircraft is defined based on user input received from the human-machine interface system.

[0275] Embodiment 16. The method of embodiment 15, wherein the human-machine interface system is located in at least one of: an aircraft, a remote location remotely coupled to the aircraft and in communication with the aircraft, an air traffic control system, or an airline system.

[0276] Embodiment 17. An aircraft control system, comprising:

[0277] computer systems; and

[0278] An action manager in a computer system, wherein the action manager is configured to:

[0279] Identify the target state of the aircraft;

[0280] determining a current mission state of the aircraft based on state variables received from aircraft systems in the aircraft;

[0281] selecting a sequence of actions from a pool of potential actions to reach a target state from a current mission state of the aircraft using a set of path planning algorithms, wherein the sequence of actions is selected based on the current mission state; and

[0282] Executes actions in an action sequence for which preconditions have been met, where the actions are executed in the order defined by the action sequence.

[0283] Embodiment 18. An aircraft control system according to embodiment 17, wherein the action manager uses the group path planning algorithm to select an action sequence from the potential action pool to reach a target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state when the event occurs.

[0284] Example 19. An aircraft control system according to Example 17 or 18, wherein the group of path planning algorithms includes at least one of the following: A* search algorithm, Dijkstra algorithm, D*, incremental search algorithm, backtracking algorithm, edge search, arbitrary angle path planning algorithm, iterative deepening A* search algorithm, Bellman-Ford search algorithm, Floyd-Warshall algorithm, hill climbing algorithm, bidirectional search algorithm or Johnson algorithm.

[0285] Embodiment 20. An aircraft control system according to embodiment 18 or 19, wherein the event is a periodic event, a non-periodic event, a change in current mission state, reaching a sub-goal state, a timer expiration, a state variable change, a change in the configuration of the aircraft, and the execution of an action.

[0286] Embodiment 21. An aircraft control system, comprising:

[0287] A computer system configured to identify a target state for an aircraft; determine a current mission state for the aircraft; select an action sequence from a pool of potential actions to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state; and execute actions in the action sequence for which preconditions for the actions have been met, wherein the actions are executed in an order defined by the action sequence.

[0288] Embodiment 22. The aircraft control system of embodiment 21, wherein actions and action sequences are selected based on the cost of performing the actions.

[0289] Embodiment 23. An aircraft control system according to embodiment 21 or 22, wherein actions and action sequences are selected by an artificial intelligence system from a pool of potential actions.

[0290] Example 24. An aircraft control system according to Example 21, 22 or 23, wherein when the current mission state of the aircraft is determined by the computer system, the computer system is configured to receive state variables from the aircraft system in the aircraft and use the state variables of the current mission state to determine the current mission state.

[0291] Example 25. An aircraft control system according to Example 24, wherein the aircraft system is selected from at least one of the following: a flight management system, a flight navigation system, an environmental control system, an engine, a flight control surface system, an autopilot, a communication system, a satellite communication system, an ultra-high frequency communication system, a microwave band communication system, a radar system, an autopilot, a fuel system, a weather radar, an electronic centralized aircraft monitoring system, a rapid access data recorder, an onboard network server, and an electronic flight instrument system.

[0292] Example 26. An aircraft control system according to Example 21, 22, 23, 24 or 25, wherein in selecting an action sequence from a potential action pool to reach a target state from a current mission state of the aircraft, wherein the action sequence is selected based on the current mission state, the computer system is configured to use an artificial intelligence system to identify nodes in a path from the current mission state to the target state based on nodes with the lowest cost, and select the action sequence from the potential action pool based on the nodes identified in the path.

[0293] Example 27. An aircraft control system according to Example 21, 22, 23, 24, 25 or 26, wherein the costs used to determine the lowest cost include a set of factors selected from at least one of the following: multiple effects of an action, monetary cost, amount of time, maintenance costs incurred, amount of fuel to be consumed, personnel costs related to time, or passenger comfort.

[0294] Example 28. An aircraft control system according to Example 21, 22, 23, 24, 25, 26 or 27, wherein in selecting an action sequence from a potential action pool to reach a target state from a current mission state of the aircraft, wherein the action sequence is selected based on the current mission state, the computer system is configured to use a set of path planning algorithms to select the action sequence from the potential action pool based on the current mission state of the aircraft to reach the target state.

[0295] Example 29. An aircraft control system according to Example 28, wherein the group of path planning algorithms includes at least one of the following: A* search algorithm, Dijkstra algorithm, D*, incremental search algorithm, backtracking algorithm, edge search, arbitrary angle path planning algorithm, iterative deepening A* search algorithm, Bellman-Ford search algorithm, Floyd-Warshall algorithm, hill climbing algorithm, bidirectional search algorithm or Johnson algorithm.

[0296] Example 30. An aircraft control system according to Example 21, 22, 23, 24, 25, 26, 27, 28 or 29, wherein the computer system uses a set of path planning algorithms to select an action sequence from a pool of potential actions to reach a target state from a current mission state of the aircraft, wherein the action sequence is selected based on the current mission state when the event occurs.

[0297] Embodiment 31. An aircraft control system according to embodiment 30, wherein the event is selected from periodic events, non-periodic events, current task state changes, reaching sub-goal states, timer expiration, state variable changes, changes in the configuration of the aircraft, and execution of actions.

[0298] Embodiment 32. An aircraft control system according to embodiment 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 or 31, wherein the current mission state of the aircraft includes state variables of the aircraft.

[0299] Embodiment 33. An aircraft control system according to embodiments 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 or 32, wherein the precondition includes at least one of: the current position of the aircraft, the execution of the selected action, the configuration of the aircraft, the position of the control surfaces, weather conditions, or instructions from an air traffic controller.

[0300] Embodiment 34. An aircraft control system according to embodiment 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 or 33, wherein the target state is one of an operational target state and a space target state.

[0301] Embodiment 35. An aircraft control system according to embodiment 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 or 34, wherein the target state includes a set of state variables having a set of values ​​of the target state.

[0302] Embodiment 36. An aircraft control system according to embodiments 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 or 35, wherein the computer system defines the target state of the aircraft based on user input received from the human-machine interface system.

[0303] Embodiment 37. The aircraft control system of embodiment 36, wherein the human-machine interface system is located in at least one of: the aircraft, a remote location remotely coupled to the aircraft and in communication with the aircraft, an air traffic control system, or an airline system.

[0304] Embodiment 38. An aircraft control system according to embodiment 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 or 37, wherein the computer system includes at least one of the following: a flight management system, a line replaceable unit, a tablet computer or an electronic flight bag.

[0305] The descriptions of the different illustrative embodiments have been presented for purposes of illustration and description and are not intended to be exhaustive or limited to the embodiments in the disclosed form. The different illustrative examples describe components that perform actions or operations. In the illustrative embodiments, the components can be configured to perform the described actions or operations. For example, the components can have a configuration or design for a structure that provides the component with the ability to perform the actions or operations described as being performed by the component in the illustrative examples. Furthermore, to the extent that the terms "comprises," "including," "having," "comprising," and variations thereof are used herein, such terms are intended to be included as open transition words in a manner similar to the term "comprising," without excluding any additional or other elements.

[0306] Many modifications and variations will be apparent to those skilled in the art. In addition, different illustrative embodiments may provide different features than other desired embodiments. The selected embodiment or embodiments are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others skilled in the art to understand the present disclosure of various embodiments with various modifications as are suited to the particular use contemplated.

Claims

1. A method comprising: identifying (700) a target state (114) of the aircraft (100) by the computer system (104); determining (702) by the computer system (104) a current mission state (122) of the aircraft (100), wherein the current mission state (122) of the aircraft (100) includes a set of state variables (120) of the aircraft (100); selecting (704), by the computer system (104), a sequence of actions (126) from a pool of potential actions (130) to reach the target state (114) from the current mission state (122) of the aircraft (100), wherein the sequence of actions (126) is selected based on the current mission state (122); and The computer system (104) executes (706) an action (128) in the action sequence (126) for which a precondition (132) for the action (128) has been satisfied, wherein the actions (128) are executed in an order defined by the action sequence (126), wherein each action (400) in the action sequence (126) includes a set of effects (406), wherein the set of effects (406) are one or more changes to the state variables (120) when the action (400) is executed, wherein the effect of changing one of the state variables (120) is changing the value of the state variable (120) in response to the execution of the action (400), and wherein the execution of the action (400) changes the current task state (122) such that the new task state becomes the current task state (122).

2. The method of claim 1 , wherein the action (128) and the action sequence (126) are selected from the pool of potential actions (130) based on at least one of a cost (136) of performing the action (128) or by an artificial intelligence system (146).

3. The method of claim 1 or 2, wherein determining, by the computer system (104), the current mission state (122) of the aircraft (100) comprises: receiving the state variable (120) from an aircraft system (108) in the aircraft (100); as well as The current task state (122) is determined using the state variable (120) for the current task state (122).

4. The method of claim 1 or 2, wherein selecting, by the computer system (104), the action sequence (126) from the pool of potential actions (130) comprises the following steps to reach the target state (114) from the current mission state (122) of the aircraft (100), wherein the action sequence (126) is selected based on the current mission state (122): identifying (900) the node (140) in the path (142) from the current task state (122) to the goal state (114) based on the node (140) having the lowest cost (144); and selecting (902) the sequence of actions (126) from the pool of potential actions (130) based on the nodes (140) identified in the path (142), and The cost (136) used to determine the minimum cost (144) includes a set of factors selected from at least one of the following: number of action effects, monetary cost, amount of time, maintenance costs to be incurred, amount of fuel to be consumed, personnel costs associated with time, or passenger comfort.

5. The method of claim 1 or 2, wherein selecting, by the computer system (104), the sequence of actions (126) from the pool of potential actions (130) to reach the target state (114) to reach the current mission state (122) of the aircraft (100) comprises the following steps: selecting, by the computer system (104), the sequence of actions (126) from the pool of potential actions (130) to reach the target state (114) based on the current mission state (122) of the aircraft (100), using a set of path planning algorithms (138); and The set of path planning algorithms (138) is selected from at least one of the following: A* search algorithm, Dijkstra algorithm, D*, incremental search algorithm, backtracking algorithm, edge search, arbitrary angle path planning algorithm, iterative deepening A* search algorithm, Bellman-Ford search algorithm, Floyd-Warshall algorithm, hill climbing algorithm, bidirectional search algorithm or Johnson algorithm.

6. The method according to claim 1 or 2, further comprising: In response to an event (148), the action sequence (126) is selected by the computer system (104) from the pool of potential actions (130) to reach the target state (114) from the current task state (122), wherein the action sequence (126) is selected based on the current task state (122), wherein the event (148) is selected from the group consisting of a periodic event, a non-periodic event, a current mission state change, reaching a sub-goal state, a timer expiration, a state variable change, a change in the configuration of the aircraft (100), and the execution of an action.

7. The method of claim 1 or 2, wherein the precondition (132) comprises at least one of: the current position of the aircraft (100), the execution of a selected action, the configuration of the aircraft (100), the position of control surfaces, weather conditions, or instructions from an air traffic controller. The method of claim 1 , wherein the target state is one of an operational target state and a spatial target state.

9. The method of claim 1, wherein the target state comprises a set of state variables having a set of values ​​for the target state.

10. The method according to claim 1, further comprising: The target state of the aircraft is defined based on user input received from a human-machine interface system.

11. The method of claim 10, wherein the human-machine interface system is located in at least one of: the aircraft, a remote location in communication with the aircraft, an air traffic control system, or an airline system.

12. An aircraft control system comprising: Computer system (104); as well as An action manager in the computer system, wherein the action manager is configured to perform the method according to any one of claims 1 to 11.

13. The aircraft control system of claim 12 , wherein the action manager selects the action sequence from the pool of potential actions using the set of path planning algorithms to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state when an event occurs.

14. The aircraft control system of claim 13, wherein the group path planning algorithm comprises at least one of: an A* search algorithm, a Dijkstra algorithm, a D*, an incremental search algorithm, a backtracking algorithm, an edge search, an arbitrary angle path planning algorithm, an iterative deepening A* search algorithm, a Bellman-Ford search algorithm, a Floyd-Warshall algorithm, a hill climbing algorithm, a bidirectional search algorithm, or a Johnson algorithm.

15. The aircraft control system of claim 13, wherein the event is one of a periodic event, a non-periodic event, a current mission state change, reaching a sub-goal state, a timer expiration, a state variable change, a change in the configuration of the aircraft, and the execution of an action.

16. An aircraft control system comprising: A computer system configured to perform the method according to any one of claims 1 to 11.

17. The aircraft control system of claim 16, wherein the actions and the sequence of actions are selected based on a cost of performing the actions.

18. The aircraft control system of claim 16, wherein the actions and the action sequences are selected by an artificial intelligence system from the pool of potential actions.

19. The aircraft control system of claim 16, wherein, when determining the current mission state of the aircraft by the computer system, the computer system is configured to receive state variables from an aircraft system in the aircraft and determine the current mission state using the state variables of the current mission state.

20. The aircraft control system of claim 19, wherein the aircraft system is selected from at least one of the following: a flight management system, a flight navigation system, an environmental control system, an engine, a flight control surface system, a communication system, a radar system, an autopilot, a fuel system, an electronic centralized aircraft monitoring system, a rapid access data recorder, an onboard network server, and an electronic flight instrument system.

21. The aircraft control system according to claim 20, wherein the communication system is selected from at least one of the following: a satellite communication system, an ultra-high frequency communication system, and a microwave band communication system.

22. The aircraft control system of claim 20, wherein the radar system is a weather radar.

23. The aircraft control system of claim 16 , wherein in selecting the action sequence from the potential action pool to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state, the computer system is configured to use an artificial intelligence system to identify nodes in a path from the current mission state to the target state based on nodes with lowest costs, and select the action sequence from the potential action pool based on the nodes identified in the path.

24. An aircraft control system according to claim 23, wherein the costs used to determine the minimum cost include a set of factors selected from at least one of the following: multiple effects of an action, monetary cost, amount of time, maintenance costs incurred, amount of fuel to be consumed, personnel costs associated with time, or passenger comfort.

25. An aircraft control system according to claim 16, wherein in selecting the action sequence from the potential action pool to reach the target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state, the computer system is configured to use a set of path planning algorithms to select the action sequence from the potential action pool based on the current mission state of the aircraft to reach the target state.

26. The aircraft control system of claim 25, wherein the set of path planning algorithms comprises at least one of: an A* search algorithm, a Dijkstra algorithm, a D*, an incremental search algorithm, a backtracking algorithm, an edge search, an arbitrary angle path planning algorithm, an iterative deepening A* search algorithm, a Bellman-Ford search algorithm, a Floyd-Warshall algorithm, a hill climbing algorithm, a bidirectional search algorithm, or a Johnson algorithm.

27. The aircraft control system of claim 16, wherein the computer system uses a set of path planning algorithms to select the action sequence from the pool of potential actions to reach a target state from the current mission state of the aircraft, wherein the action sequence is selected based on the current mission state when an event occurs.

28. The aircraft control system of claim 27, wherein the event is selected from the group consisting of a periodic event, a non-periodic event, a current mission state change, reaching a subgoal state, a timer expiration, a state variable change, a change in the configuration of the aircraft, and the execution of an action.

29. The aircraft control system of claim 16, wherein the current mission state of the aircraft comprises state variables of the aircraft.

30. The aircraft control system of claim 16, wherein the precondition comprises at least one of: a current position of the aircraft, performance of a selected action, a configuration of the aircraft, a position of a control surface, weather conditions, or an instruction from an air traffic controller.

31. The aircraft control system of claim 16, wherein the target state is one of an operational target state and a space target state.

32. The aircraft control system of claim 16, wherein the target state comprises a set of state variables having a set of values ​​for the target state.

33. The aircraft control system of claim 16, wherein the computer system defines the target state of the aircraft based on user input received from a human-machine interface system.

34. The aircraft control system of claim 33, wherein the human-machine interface system is located in at least one of: the aircraft, a remote location in communication with the aircraft, an air traffic control system, or an airline system.

35. The aircraft control system of claim 16, wherein the computer system comprises at least one of: a flight management system, a line replaceable unit, a tablet computer, or an electronic flight bag.

Citation Information

Patent Citations

  • Integrated automatic flight maneuver control method

    CN106200673A

  • System and method for performing an emergency descent and landing

    CN109131908A

  • System and method for monitoring compliance with air traffic control instructions

    CN109697765A