By the year 2030 there are predicted to be more than four hundred thousand (400,000) aircraft, including Unmanned Aircraft Systems (UAS), Advanced Air Mobility (AAM) and Urban Air Mobility (UAM) aircraft, operating in the United States National Airspace System (NAS). These operations will routinely fly Beyond Visual Line of Sight (BVLOS) of the ground-based operator and perform missions such as package delivery, inspection and personal transport. To ensure safety, every operation must prove and demonstrate that it can safely share the airspace with other users. Thus, the Federal Aviation Administration (FAA), the National Aeronautics and Space Administration (NASA) and other industry participants have invested in developing and demonstrating rules and technologies for safely separating UAS from other users of airspace. Automatic conflict detection and resolution mitigates the air and ground risks resulting from the operation of UAS.
The FAA therefore requires that all operators certify that the risk they impose on airspace users and ground-based non-participants meets a target level of safety. To ensure that these safety targets are attained, operators need to prove that their operational procedures and systems, including Conflict Detection and Resolution solutions, can be trusted and assured to provide adequate airspace separation from all users within the NAS. It has been recognized that to accommodate the FAA requirements, there is a need for smarter and autonomous Air-Traffic Management (ATM) techniques which will be better suited to deal with high-density air traffic than the traditional system of human-operated air-traffic control (ATC). It has also been recognized that autonomous ATM systems can be deployed in either a centralized or a decentralized manner, but in both configurations such autonomous ATM systems must be capable of ensuring separation between the aircraft to prevent catastrophic incidents like collisions and near mid-air collisions (NMAC).
Two types of approaches are commonly used for maintaining standard separation between aircraft. The first type concerns tactical approaches which are effective in resolving imminent conflicts between aircraft by using tactical maneuvers. The second type concerns strategic coordination approaches which can be used for detecting and resolving conflicts between aircraft by monitoring their operational intent or planned flight volumes, either prior to or during their execution. These approaches are deployed as complimentary layers of safety within airspace, include differing technologies and workflows, and operate at differing time horizons. Strategic separation solves conflicts with long time horizons, for example those greater than 2 minutes from potential impact. Tactical separation resolves conflicts on a shorter time horizon, for example those within a 1-2-minute time horizon. However, the longer look-ahead times of strategic approaches allows the aircraft to be better prepared for uncertainties and the maneuvers that may need to be executed for conflict resolution, whereas tactical maneuvers usually require almost instantaneous reactions by pilots and air traffic controllers.
NASA and the aviation industry are developing Unmanned Aircraft System Traffic Management (UTM), which is a “traffic management” ecosystem which is separate from, but complementary to the FAA's ATM system. UTM is a conflict detection and resolution methodology that relies on using aircraft operational intents encompassing operational flight volumes to detect conflicts between flight operations. Instead of reliance on a central authority, such as an air traffic controller or equivalent automation system, the approach relies on federated service providers to exchange operational intents across a network, approve conflict-free operations and monitor their execution. The service providers utilize both authoritative and non-authoritative data to provide authoritative services to their respective clients. An industry standard defines the interfaces that enable the data exchanges, discovery and synchronization across service providers. However, a set of performance requirements, and/or service provider deployment qualifiers have not yet been specified. Thus, several implementations and deployment approaches may exist for synchronizing services providers and mitigating risk of service provider failures, ensuring that only trusted operational data is propagated across the airspace service provider network.
In a first implementation, service providers may be certified to a performance requirement such as a Minimum Operational Performance Standard (MOPS) for providing services within an airspace. The MOPS could be a globally scoped MOPS with a single level of performance or with different levels of performance, scoped to airspace risk, or it could be a local or regional specification. As part of service provider onboarding, each provider could demonstrate a certification against the MOPS, ensuring they individually meet the performance (i.e., integrity and availability) necessary for providing services within that airspace. However, a MOPS does not currently exist and the risks, and thus levels of performance required, across different airspaces can vary greatly.
In a second implementation, service providers undergo onboarding certification specific to the airspace and operational authorization held by the local operating authority. This certification may include simulation and flight testing to demonstrate performance against the certificate of authorization held by the local authority or airspace operating entity. The challenge with this approach is that each operating authority must develop onboarding tests specific to their needs and each service provider must perform onboarding in each airspace, which is not scalable or desired.
In a third implementation, a certifiable automated test-suite for authorizing the performance of each service provider is used for onboarding service providers into each local airspace. The test suite is comprised of an Artificial Intelligence (AI) or agent that adaptively queries the candidate service provider with scenarios, data and messages that simulate the local operational conditions and airspace environment. The performance of the candidate service providers is recorded and analyzed for correctness. If the failure likelihood of the candidate is proven acceptable relative to the local airspace's certificate of authorization, the agent provides a third-party verifiable performance certificate that provides the service provider with a performance authorization to operate within the local airspace. The performance authorization may be repeated periodically as the underlying airspace concept of use, authorization or service provider software are updated.
In a fourth implementation, the service provider does not need to perform any on-boarding to provide services within a local airspace. Instead, a set of services are provided by the local authority that authorize the service provider performance on a per-use basis. That is, in real-time, as the service provider queries authoritative databases and interacts with peer service providers across the UTM network, a performance authorization service verifies and authorizes each flight request, providing a third-party verifiable certificate for each request. The certificate is utilized for individual flight approval.
Each implementation outlined above relies on trusted conflict detection and resolution algorithms capable of detecting conflicts between a given flight plan for an ownship and a set of traffic flight plans for an airspace, or trajectory predictions based on tracks of adjacent aircraft traffic. There are multiple ways for achieving trust or demonstrating assurance for safety critical software in aviation, such as standard process-based approaches such as “DO-178C” certification for airborne software and/or “DO-278” certification for ground software. Additionally, there are formal methods-based approaches that can achieve trust or assurance, with additional benefits.
In one example, a formally verified conflict detection algorithm can also generate resolutions to avoid such conflicts. A flight plan is simply a collection of waypoints in the four-dimensional (4D) space where each waypoint is connected by a straight-line constant-velocity flight segment. In this example, the conflict resolution approach involves assigning appropriate values of ground speed to the flight segments in the ownship's flight plan such that the ownship can maintain safe separation with the known traffic aircraft. A software implementation has been developed for this task, and verification of some correctness properties for an independent formal specification of the implementation has been provided using an interactive theorem proving system.
However, existing strategic conflict management approaches for aircraft do not enable formal verification of the outcome (or solution(s)) to be verified by an independent third party. Specifically, given a flight plan for an ownship Fo, a horizontal threshold, a vertical threshold, a set of aerodynamic, operational and business constraints “C,” a set of flight plans for traffic aircraft “S” and terrain information, a typical conflict management solution generates a conflict-free flight plan for the ownship Fo′ wherein there is no conflict between the Fo′ flight plan and any of the other flight plans in “S” and there is no conflict with any objects in the given terrain information while satisfying all the constraints in “C.”
Thus, there is a need for an Autonomous Air Traffic Management (ATM) system that implements an autonomous, strategic conflict detection and resolution process to generate conflict-free flight plans which can be independently verified by a third party to ensure safe separation between aircraft.
Presented are methods and apparatus for generating verifiable conflict-free flight plans for aircraft. In some embodiments, a server computer receives a set of air traffic flight plans for an airspace from a user device, wherein the set of air traffic flight plans includes elements and at least two of aerodynamic constraint data, business constraint data and operational constraint data for an aircraft, then generates by utilizing a first constraint satisfaction solver, a plurality of candidate flight plans for the aircraft based on the at least two of the aerodynamic constraint data, the business constraint data and the operational constraint data. The server computer then uses a second constraint solver to check each candidate flight plan as it is generated for conflicts with the elements of the air traffic flight plans for the airspace, and then provides, by using the second constraint solver, at least one verifiable conflict-free flight plan for the aircraft from the plurality of candidate flight plans when a candidate flight plan is conflict-free from all of the elements of the set of air traffic flight plans.
In some embodiments, the process may include the server computer generating a proof certificate for the verifiable conflict-free flight plan and may include transmitting the proof certificate to a third-party server for enabling formal verification of the verifiable conflict-free flight plan. In addition, the method may include transmitting the verifiable conflict-free flight plan to at least one of the user device and an authoritative registry of flight plans.
In some implementations, at least one of the first constraint satisfaction solver and the second constraint satisfaction solver may be a Satisfiability Modulo Theories (SMT) solver. In addition, the business constraint data may include at least one of total fuel cost constraint data and total operational cost constraint data whereas the operational constraint data may includes at least one of operational risk data, arc length constraint data, operational area data, operational volume data, altitude data, and total flight time constraint data.
In another aspect, disclosed is an apparatus for generating verifiable conflict-free flight plans for aircraft. In some embodiments, the apparatus includes a processor, a communication device operably connected to the processor, and a storage device operably connected to the processor. The storage device includes processor executable instructions which when executed cause the processor to receive a set of air traffic flight plans for an airspace including elements and at least two of aerodynamic constraint data, business constraint data and operational constraint data for an aircraft; generate, utilizing a first constraint satisfaction solver, a plurality of candidate flight plans for the aircraft based on the at least two of the aerodynamic constraint data, the business constraint data and the operational constraint data; check, utilizing a second constraint solver as each candidate flight plan is generated, for conflicts with the elements of the air traffic flight plans; and provide, using the second constraint solver, at least one verifiable conflict-free flight plan for the aircraft from the plurality of candidate flight plans when the verifiable conflict-free flight plan is conflict-free from all of the elements of the set of traffic flight plans.
In some embodiments, the storage device may include further processor executable instructions which when executed cause the processor to generate a proof certificate for the verifiable conflict-free flight plan and may include further processor executable instructions which when executed cause the processor to transmit the proof certificate to a third-party server enabling formal verification of the verifiable conflict-free flight plan. In addition, the storage device may include processor executable instructions which when executed cause the processor to transmit the verifiable conflict-free flight plan to at least one of the user device and an authoritative registry of flight plans. In some implementations, at least one of the first constraint satisfaction solver and the second constraint satisfaction solver may be a Satisfiability Modulo Theories (SMT) solver, the business constraint data may include at least one of total fuel cost constraint data and total operational cost constraint data, and the operational constraint data may include at least one operational risk data, arc length constraint data, operational area data, operational volume data, altitude data, and total flight time constraint data.
In another aspect, disclosed is a method for updating an authoritative conflict-free flight plan directory. In some embodiments, a server computer associated with an authoritative flight plan registry receives, from a plurality of user devices, a plurality of candidate conflict-free flight plans for an airspace; retrieves, from a database, constraint data for the airspace, restriction data for the airspace, and a plurality of verified conflict-free flight plans associated with the airspace; verifies on a first-in basis, by using a constraint satisfaction solver, that a candidate conflict-free flight plan of the plurality of candidate conflict-free flight plans is conflict-free; and stores in the authoritative flight plan registry, the candidate conflict-free flight plan as a verified conflict-free flight plan. In some embodiments, the constraint satisfaction solver comprises a Satisfiability Modulo Theories (SMT) solver.
In some implementations, wherein verifying that a candidate conflict-free flight plan of the plurality of candidate conflict-free flight plans is conflict-free, the server computer determines that no conflicts exist between data defining the candidate conflict-free flight plan and the constraint data, the restriction data, and data defining the verified conflict-free flight plan data. In addition, the server computer may transmit a notification to a user device that the candidate conflict-free flight plan has been verified, may generate a proof certificate for the verified conflict-free flight plan, and/or may transmit the proof certificate to a third party for formal verification.
In some implementations, the process may include, after retrieving the constraint data for the airspace, the restriction data for the airspace, and the plurality of verified conflict-free flight plans associated with the airspace, the server computer determining using a constraint satisfaction solver, that a candidate conflict-free flight plan of the plurality of candidate conflict-free flight plans is not conflict-free; rejecting the candidate conflict-free flight plan, and then transmitting a rejection notification to a user device of the plurality of user devices associated with the candidate conflict-free flight plan.
Technical advantages of embodiments disclosed herein include the presentation and/or characterization of the problem of conflict detection and resolution as a constraint satisfaction problem which advantageously allows for the use of state-of-the-art constraint solvers, such as SMT solvers, and the implementation of dReal to find conflict-free flight plan solutions. The use of SMT solvers allows for encoding arbitrary aerodynamic and/or operational constraints on resolutions which is appropriate for safety-critical aerospace systems because the solutions generated by the SMT solvers can be easily verified, for example, by third parties for correctness. The declarative paradigm advantageously allows the encoding of complex properties that can easily be verified for correctness and makes it possible to encode a wide variety of desirable constraints in addition to conflict elimination. Thus, machine-checkable proofs can be generated from SMT solvers and therefore proof certificates can also be generated for an unsatisfiable solution that detail how to derive a contradiction from the inputs. Accordingly, a solution generated for a satisfiability problem by an SMT solver can have a high degree of confidence associated with it since a satisfiable solution can be checked by straightforward means and proof certificates can be generated for an unsatisfiable solution that detail how to derive a contradiction from the inputs. Moreover, the proofs from an SMT solver can be independently checked by third-party theorem provers. Beneficially, the high-degree of confidence directly provided by SMT solvers makes this approach appropriate for safety-critical aerospace applications.
Accordingly, disclosed embodiments advantageously provide a strategic conflict detection and resolution process that involves setting up the task as a constraint satisfaction problem and using SMT solvers to find valid solutions. Such processes allow for encoding additional constraints in SMT-LIB to find valid solutions which are not just conflict-free but that also satisfy some desirable aerodynamic, business, and operational constraints. The declarative nature of the processes disclosed herein means that users need only provide desired constraints (such as operational and/or safety constraints) such that the users specify the “what” but do not have to deal with the “how” because the constraint solvers (which may be SMT solvers) take care of the “how” automatically.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments. However, it will be understood by those of ordinary skill in the art that the embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the embodiments.
One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
In general, and for the purposes of introducing concepts of novel embodiments described herein, autonomous Air Traffic Management (ATM) methods, systems and apparatus are disclosed. In some embodiments, the autonomous ATM process includes autonomously generating conflict-free flight plans for aircraft in a manner which can be independently verified by a third party to ensure safe separation between aircraft and prevent Mid-Air Collisions (MAC). In some implementations, a server computer receives a set of air traffic flight plans including elements and at least two of aerodynamic constraint data, business constraint data and operational constraint data from a user device. The server computer then generates a plurality of candidate flight plans utilizing a constraint satisfaction solver, checks each candidate flight plan as it is generated for conflicts with the elements of the air traffic flight plans, verifies at least one candidate flight plan of the plurality of candidate flight plans as conflict-free when at least one candidate flight plan is conflict-free from all of the elements of the set of traffic flight plans, and then generates a final flight plan. In some implementations, the server computer also generates a proof certificate and transmits it along with the final flight plan to a third-party server to enable formal verification of the final flight plan. The server computer may also transmit the proof certificate and the final flight plan to the user device.
Referring again to
Accordingly, the basic problem statement for conflict detection and resolution can be stated as follows: Given a flight plan for an ownship Fo, a horizontal threshold D, a vertical threshold H, and a set of flight plans for traffic aircraft Φ, then generate a conflict-free flight plan
In computer science and mathematical logic, satisfiability modulo theories (SMT) is the problem of determining whether a mathematical formula is satisfiable. SMT generalizes the Boolean satisfiability problem (SAT) to more complex formulas involving real number, integers, and/or various data structures such as lists, arrays, bit vectors and strings. The name is derived from the fact that these expressions are interpreted within (“modulo”) a certain formal theory in first-order logic with equality (often disallowing quantifiers). “SMT-LIB” is an international initiative aimed at facilitating research and development in SMT and provides standard rigorous descriptions of background theories used in SMT systems and develops and promotes common input and output languages for “SMT solvers” which are tools that aim to solve the SMT problem for a practical subset of inputs.
dReal is an automated reasoning tool that focuses on solving problems that can be encoded as first-order logic formulas over real numbers. The strength of dReal is in handling problems that involve a wide range of nonlinear real functions. dReal implements the framework of δ-complete decision procedures and returns “unsat” or “δ-sat” on input formulas, where δ is a numerical error bound specified by the user. When the answer is “unsat” then dReal guarantees that the formula is unsatisfiable. When the answer is “δ-sat” then dReal returns a set of solutions that all satisfy a 6-perturbed form of the input formula.
Referring again to
In summary, each valid candidate flight plan 406 generated by the first constraint solver 402 in the first step (as explained above with reference to
Accordingly, the goal is to generate at least one conflict-free flight plan
Referring again to
As mentioned earlier, for a conflict to occur at a point in time, both the horizontal and vertical thresholds of two aircraft need to be violated at that time. Therefore, the fundamental intuition behind conflict resolution is to ensure the invariant that vertical and horizontal threshold violations never happen concurrently, and many different strategies can be used for ensuring this invariant. For example, either the way-points can be spatially shifted or the velocities in the flight segments can be adjusted to prevent well-clear violations (See
Accordingly, in some embodiments the approach taken for generating valid candidates is as follows: a set ζ of useful realistic constraints are identified and encoded in SMT-LIB for dReal to solve. A δ-sat answer from dReal indicates that there exists a valid candidate flight plan that satisfies all constraints. The negation of the solution is then pushed to the context of dReal to generate a different satisfying solution. This process continues until dReal can no longer find any valid candidates.
It should be understood that, in some implementations the process illustrated by
Accordingly, in some implementations of the processes disclosed herein, the aerodynamic constraints, operational constraints, and business constraints used for generating valid candidates may include a constraint on the velocity difference between consecutive segments. From an aerodynamic perspective, aircraft cannot accelerate or decelerate instantaneously, and therefore a valid flight plan should ensure that the difference in velocity between consecutive segments is within some practical threshold that depends on the aircraft model in question. Thus, given the set of segments S in a flight plan, this constraint can be defined as:
ϕvel≡∀s1,s2∈S:|vxy,s2−vxy,s1|≤Γvel_change
where vxy,s1 and vxy,s2 are the velocities in s1 and s2, TF is the time of flight of the flight plan F, and Γvel_change is the threshold of velocity change.
An example SMT encoding for this constraint is illustrated below, where v_xy_1 and v_xy_2 are velocity variables two consecutive segments, segment 1 and segment 2 respectively, and 40 is the allowed threshold of the velocity change for the two segments.
(assert(<=(abs(−v_xy_1,v_xy_2))40)
In some embodiments, a constraint on the arc length for turns may also be utilized.
Accordingly, to minimize this uncertainty it is desirable to ensure that the required arc lengths −a for aircraft turns remain as small as possible. The required arc length −a depends on the radius of turn rΦ, the change in heading Δλ, and the ground speed v (See Equation 1, below). In the absence of wind, the radius of turn depends on the ground speed vxy and the bank angle φ of a turn (see equation 2 below):
−
a=((Δλ)r_ϕ)/v_xy (1)
r_ϕ=(v_xy{circumflex over ( )}2)/(G tan ϕ) (2)
The relationship between −a and vxy can now be stated as:
−
a=((Δλ)v_xy)/(G tan ϕ)
For simplicity, two things may be assumed: first, to reduce the arc length, the aircraft will use the smallest possible bank angle φs for the turns and the aircraft will maintain a velocity v−xy equal to the average of the velocities in the two segments (legs A to B and legs B to C in
φ_arctan≡∀s_1,s_2 ∈S:|((λ(s_2)−λ_s1)−v_xy)/(G tan ϕ_s)|Γ_arctan
where λs1 and λs2 are the headings in s1 and s2 respectively.
Another constraint which may be utilized, for example during flight planning, is a constraint on the total fuel cost, wherein the total fuel cost ψf,F for a flight plan F can be computed as shown by Equation 3 below. In Equation 3, TF represents the total flight time and ρf represents the fuel consumption rate of the aircraft model. Thus:
ψf,F=TFρf (3)
A constraint on the total fuel consumption for a solution flight plan F−o can then be defined as follows:
ϕfuel≡ψf,F,F−o≤Γfuel
Yet another constraint which may be utilized is a constraint on operational costs. Specifically, airline companies often associate some operational costs (See Equation 4 below) to a flight plan F by using an operational cost index ρo that accounts for the costs of aircraft maintenance, crew salary, and the like. Thus:
ψo,F=TFρo (4)
A constraint that takes into consideration these costs can be specified as:
ϕop=ψo,F−o≤Γop
An airline may also wish to impose a constraint on the total flight time. Thus, a constraint on the total time of flight for a solution
ϕTOF≡TF
Moreover, the airline may impose a constraint on the total delay caused by a solution flight plan
ϕdelay=TF
Once a valid candidate flight plan is generated, it needs to be checked for conflicts with the available set of traffic flight plans w. This can be done by using a purely geometric framework that has a relative coordinate system which considers intervals when both aircraft maintain constant-velocity flights.
In a given interval of time [t0, t1], it is possible to detect if two aircraft A and B have a violation of the horizontal and/or vertical thresholds D and H. For detection to be possible, the states of each aircraft at time to must be known as follows:
t
0
≤t
C
≤t
1
when both horizontal and vertical thresholds are violated. Below, we describe the mathematical logic to detect these violations independently.
In order to detect a violation of the horizontal threshold D, the x and y components of the horizontal velocities of both A and B must be found as follows:
Their relative positions and velocities in the xy plane are then calculated as:
Next, given the relative horizontal positions and the relative horizontal velocities, it is possible to find the times at which the horizontal threshold D is violated by finding the roots of Equation 5 (below) where a=v2x,t0+v2y,t0, b=2(sx,t0 vx,t0+sy,t0 vy,t0), and c=s2x,t0+s2y,t0−D2. If any root t′ is found such that t0≤t0, +t′≤t1, then the horizontal threshold is violated at time t0+t′.
at2+bt+c=0 (5)
In order to detect a violation of the vertical threshold H, the relative vertical position and velocity for the aircraft are computed as follows:
s
z,t0
=s
z,t0,A
−s
z,t0,B
v
z,t0
=v
z,t0,A
−v
z,t0,B
Now, at any time t, the vertical separation is given by sz,t0+vz,t0 (t−t0). Therefore, for a vertical threshold violation to exist at a time t, Equation 6 needs to be satisfied.
|sz,t0+vz,t0(t−t0)|≤H (6)
The conflict constraint logic described earlier works if and only if both aircraft maintain constant-velocity flight paths in the interval [t0,t1]. Therefore, given two flight plans Fa and Fb for a traffic aircraft, the temporal dimension must be discretized into a set IFa,Fb of consecutive intervals where it is known that both aircraft maintain constant velocities. Each of these intervals can be then checked for conflicts independently to determine if there is a conflict between the two flight plans. The conflict (F−a, Fb) predicate returns true if and only if at some interval [t0,t1]∈IFa,Fb there is some time tC such that tC−t0 satisfies Equation 5 and tC satisfies Equation 6 above.
Given a set of traffic flight plans Φ, any correct solution F−o should satisfy the constraint that it will be conflict-free from any member of the set Φ. Therefore, the conflict constraint can be specified as:
ϕconflict≡∀Fi∈Φ:¬conflict(F−o,Fi)
In addition, the conflict detection approach using flight plans can be easily generalized to detect conflicts with stationary objects. This can be done by modeling an object as a well-clear volume with a flight plan consisting of a single waypoint, wherein at all times the volume remains stationary at that same waypoint. For example, if an obstacle is present at the 3D position sx,o, sy,o, sz,o, then its state at any time t can be represented by (sx,o, sy,o, sz,o, 0.0, 0.0, 0.0), which allows the conflict detection logic described above to work for detecting conflicts with such an object. The horizontal and vertical thresholds for stationary objects can be chosen as desired.
The processes disclosed herein improve upon existing methods for generating conflict-free flight plans by presenting the problem of conflict detection and resolution as a constraint satisfaction problem. Moreover, in some implementations dReal is utilized to solve the problem. Such a characterization makes it possible to advantageously employ state-of-the-art constraint solvers, such as SMT solvers, to find solutions. The use of SMT solvers allows for encoding arbitrary aerodynamic and/or operational constraints on resolutions. This also makes the approach appropriate for safety-critical aerospace systems because the solutions generated by SMT solvers can be easily verified for correctness. The declarative paradigm advantageously allows the encoding of complex properties that can easily be verified for correctness and also makes it possible to encode a wide variety of desirable constraints in addition to conflict elimination. Thus, machine-checkable proofs can be generated from SMT solvers and therefore proof certificates can also be generated for an unsatisfiable solution that detail how to derive a contradiction from the inputs. Thus, a solution generated for a satisfiability problem by an SMT solver can have a high degree of confidence associated with it since a satisfiable solution can be checked by straightforward means and proof certificates can be generated for an unsatisfiable solution that detail how to derive a contradiction from the inputs. Moreover, the proofs from an SMT solver can be independently checked by third-party theorem provers. Beneficially, the high-degree of confidence directly provided by SMT solvers makes this approach appropriate for safety-critical aerospace applications.
In addition, embodiments disclosed advantageously provides a strategic conflict detection and resolution process that involves setting up the task as a constraint satisfaction problem and using SMT solvers to find valid solutions. Such processes allow for encoding additional constraints in SMT-LIB to find valid solutions which are not just conflict-free but that also satisfy some desirable aerodynamic, business, and operational constraints. Accordingly, the declarative nature of the processes disclosed herein means that users need only provide desired constraints (such as operational and/or safety constraints) such that the users specify the “what” but do not have to deal with the “how” because the constraint solvers (which may be SMT solvers) take care of the “how” automatically.
Note that embodiments of the processes described herein may be implemented using any number of different hardware configurations. For example,
Referring to
Communication device 704 may be used to facilitate communication with, for example, other devices (such as one or more user mobile devices, and/or one or more computers or server computers operated by, for example, a flight authorization service (FA) or government agency or regulatory body as shown in
Input device 706 may comprise one or more of any type of peripheral device typically used to input data into a computer. For example, the input device 506 may include a keyboard and a mouse and/or a touchscreen. Output device 708 may comprise, for example, a display and/or a printer. In some embodiments, the input device 706 and the output device 708 comprise a touch screen.
Storage device 710 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., hard disk drives), optical storage devices such as CDs and/or DVDs, and/or semiconductor memory devices such as Random Access Memory (RAM) devices and Read Only Memory (ROM) devices, as well as flash memory devices, such as solid-state drives (SSDs), and the like. Any one or more of such information storage devices may be considered to be a non-transitory computer-readable storage medium or computer usable medium or memory.
Storage device 710 stores one or more computer programs for controlling the processor 702. The programs comprise program instructions (which may be referred to as computer readable program code means) that contain processor-executable process steps of the computer system 700, which instructions when executed by the processor 702 cause the computer system 700 to function as described herein.
The programs may include one or more conventional operating systems (not shown) that control the interoperability processor 702 to manage and coordinate activities and sharing of resources in the computer system 700, and to serve as a host for application programs that run on the computer system 700.
For example, the storage device 710 may store an input handler application 712, an output handler application 714, one or more constraint solver applications 716 and one or more other application(s) 718 that when executed control the processor 702 to enable the computer system 700 to, for example, receive constraint data and other forms of data, generate candidate flight plans for an aircraft, generate verifiable flight plans for the aircraft and transmit the verifiable flight plans to a third party. The output handler application 714 may also include processor executable instructions that when executed controls the process 702 to generate a proof certificate for each verifiable flight plan and, in some implementations, transmit the proof certificate to a third party and/or to the owner of the aircraft.
The storage device 710 may also store, and the computer system 700 may also execute, other instructions, applications and/or programs, which are not shown. For example, such programs may include a verifiable flight plan reporting application, which transmits the verifiable flight plans to third parties and/or to pilots or owners of the aircraft. Other programs can also include, e.g., one or more data communication programs, database management programs, device drivers, and the like.
The storage device 710 may also include one or more databases 720 required for operation of the interoperability server computer 700. Such databases may include, for example, aircraft regulatory requirements, local airspace information and/or the like.
In some embodiments of the process 800 shown in
In embodiments disclosed herein an authoritative registry of constraints, restrictions and flight plans for an airspace may be provided by a regulator and/or registered and/or authorized flight plan service provider. Moreover, in some implementations a plurality of users (N users) of the authoritative registry are required to transmit a plurality of flight plans (M flight plans) to the registry for storage therein, wherein each M flight plan, before it is added to the registry, must be verified (i.e., that its conflict-free) against the registry as disclosed herein. In addition, such an authoritative registry may operate in a manner having first in, first out queuing and may also have priority queues. Moreover, users may be notified when a verified conflict-free flight plan is added to the registry.
Referring again to
In some implementations of the process illustrated by
Thus, embodiments may provide technical improvements to aircraft conflict detection and elimination. Specifically, in embodiments of the processes disclosed herein the separation of flight plan candidate generation and conflict resolution enables running these two processes in parallel which may lead to faster execution times. Moreover, the user need only declaratively specify the desirable properties of a valid solution rather than concretely specify the logical steps to execute for generating the solution. This approach improves flexibility because different constraints can be added and/or removed. Thus, the user need only specify the “what” and the constraint solvers automatically take care of the “how.” In addition, the declarative paradigm allows the encoding of complex properties that can easily be verified for correctness by the constraint solver and also makes it possible to encode a wide variety of desirable constraints in addition to conflict elimination. Furthermore, proof certificates can be beneficially generated by the solver in the case where there is no conflict, which certificates can be leveraged to certify the software and/or the flight plan solutions to increase people's trust in the solver's result(s). Consequently, the use of solvers makes the disclosed processes scalable over complex constraints and allows the use of different approaches for conflict detection (for example, an encounter model and/or a kinematics model) as different approaches allow constraints to be developed differently. Moreover, the workflow is not bound by the complexity of the airspace and is amenable to optimization by optimizing the backend SMT constraint solvers.
As used herein and in the appended claims, the term “computer” should be understood to encompass a single computer or two or more computers in communication with each other. In addition, as used herein and in the appended claims, a “server” includes a computer device or system that responds to numerous requests for service from other devices.
Also, as used herein and in the appended claims, the term “processor” should be understood to encompass a single processor or two or more processors in communication with each other. In addition, as used herein and in the appended claims, the term “memory” should be understood to encompass a single memory or storage device or two or more memories or storage devices.
The flow charts and descriptions thereof herein should not be understood to prescribe a fixed order of performing the method steps described therein. Rather the method steps may be performed in any order that is practicable, including simultaneous performance of steps, and/or in an order that omits one or more steps.
Although specific hardware and data configurations have been described herein, note that any number of other configurations may be provided in accordance with embodiments of the present invention (e.g., some of the information associated with the databases described herein may be combined or stored in external systems). Thus, it should be understood that the present invention has been described in terms of several embodiments solely for the purpose of illustration. Persons skilled in the art will recognize from this description that the invention is not limited to the embodiments described but may be practiced with modifications and alterations limited only by the spirit and scope of the appended claims.