Aircraft may encounter a wide variety of collision risks during flight, such as debris, other aircraft, equipment, buildings, birds, terrain, and other objects. Collision with any such object may cause significant damage and/or injury to an aircraft and its occupants. Sensors may be used to detect objects that pose a collision risk and to warn a pilot of detected collision risks. In a self-piloted aircraft, sensor data indicative of objects around the aircraft may be used to avoid collision with the detected objects.
To ensure safe and efficient operation of an aircraft, it is desirable for the aircraft to detect objects in the space around the aircraft. However, detecting objects around an aircraft and determining a suitable path for the aircraft to follow in order to avoid colliding with the objects can be challenging. Systems capable of performing the assessments needed to reliably detect and avoid objects external to the aircraft may be expensive or burdensome to design or implement.
In order for an aircraft to be certified as meeting airworthiness standards, any software and electronic hardware relating to safety-critical operations (such as collision avoidance) must meet certain standards promulgated by the Federal Aviation Administration (FAA), the International Organization for Standardization (ISO), and/or other standards-setting organizations. For example, DO-178 and DO-254, among other standards, may apply to regulate safety-critical hardware and software.
The detection, recognition, and/or avoidance of sensed objects may, in some instances, include one or more intelligent (e.g., autonomous) components capable of independently adapting to new data and previously-performed computations. Such components may not rely on explicitly programmed instructions, instead applying machine learning techniques to progressively generate modified, improved models and algorithms for predictive analyses.
Because model-based software paradigms may not rely on a fixed set of code, several challenges arise with respect to certification standards. Initially, once an aircraft has been certified to meet regulatory standards, the manufacturer of the aircraft may not be able to alter any safety-critical components on which certification was based, including software, without going through a new or supplementary certification process. Such a restriction on modification does not permit a flexible, adaptive solution. Further, even if recertification could be sought after each modification to a piece of software, it may be prohibitively expensive, time-consuming, or otherwise impracticable to have each modification, however minor, repeatedly undergo the certification process.
The ability to develop adaptable, intelligent software for reliably detecting and avoiding objects within a vicinity of an aircraft, while meeting high levels of aviation safety standards and efficiently maintaining any obtained certification for the aircraft, is generally desired.
The disclosure can be better understood with reference to the following drawings. The elements of the drawings are not necessarily to scale relative to each other, emphasis instead being placed upon clearly illustrating the principles of the disclosure.
The present disclosure generally pertains to architectures for an autonomous solution for aircraft for sensing and avoiding external objects. In some embodiments, an aircraft includes an aircraft monitoring system having sensors that are used to sense the presence of objects around the aircraft for collision avoidance, navigation, or other purposes. At least one of the sensors may be configured to sense objects within the sensor's field of view and provide sensor data indicative of the sensed objects. The aircraft may then be controlled based on an interpretation of the sensor data. The aircraft includes a “sense and avoid” system which is generally directed to the collection and interpretation of the sensor data to determine whether an object is a collision threat, and, if so, to provide a recommendation (also referred to herein as an advisory) of an action to be taken by the aircraft to avoid collision with the sensed object. In a preferred embodiment, the sense and avoid system contains multiple algorithms in a sensing system (to be described in greater detail below), each algorithm taking in data from the same group of sensors, and each algorithm generating an individual output that may be used to generate the advisory.
The outputs of the sensing system may, in some embodiments, include position and vector information representative of an action to be taken by the aircraft. In some embodiments, the outputs may be used by a planning and avoidance system in generating an escape path or action that represents a route that the aircraft can follow to safely avoid a collision with the detected object. As one example of many, the planning and avoidance system may generate an escape action such as “climb at 500 ft/min and maintain regime until an advisory alert is turned off,” though any appropriate type of escape path or action may be used. The escape path or action may, in some embodiments, be passed as an advisory to an aircraft control system that implements the advisory by controlling, as an example, the speed or direction of the aircraft, in order to avoid collision with the sensed object, to navigate the aircraft to a desired location relative to a sensed object, or to control the aircraft for other purposes.
The architecture for the sense and avoid system is designed so as to comprise a plurality of discrete layers, each layer implementing one or more algorithms (or logic) related to the sensing process and/or the collision avoidance process. In a preferred embodiment, a first layer may include a fixed set of non-modifiable code that meets a high level of safety compliance based on any relevant certification and/or regulatory standards. This first layer includes software and/or corresponding computing hardware, all of which may be certificated to the same high safety standard, under any relevant regulations, including those regulations directed to traditional, deterministic software. It will be noted that “traditional” software as used herein refers to its deterministic nature and does not limit such software to any particular programming model. The sensors upon which the first layer relies are also certificatable under that same, high safety standard.
A second layer, independent from the first layer, may, in a preferred embodiment, include a set of code that is modifiable. The first and second layers may be configured to function independently from each other; for example, they may be physically separated on into different computing hardware (e.g., onto different printed circuit boards (PCBs) or onto independent processing units), in whole or in part, and/or logically separated. In addition to this, the second layer is implemented so as to not to adversely affect the safety and performance of the first layer. As a result, even if the code of the second layer were modified, the safety and performance of the first software layer would not be negatively impacted by such modifications. The code of the first layer, remaining unchanged, would continue to meet its relevant certification and/or regulatory standards, and therefore, re-certification (or subsequent certification) of the first layer or of the sense and avoid system as a whole (that is, the totality of software including those of the plurality of layers) would not be necessary.
In the embodiment of
For ease of illustration,
The object 15 may be of various types that aircraft 10 may encounter during flight, for example, another aircraft (e.g., a drone, airplane, or helicopter), a bird, debris, or terrain, or any other of various types of objects that may damage the aircraft 10, or impact its flight, if the aircraft 10 and the object 15 were to collide. The object 15 is depicted in
The embodiment of
In identifying an escape path 35, the aircraft monitoring system 5 may use information from sensors 20, 30 about the sensed object 15, such as its location, velocity, and/or probable classification (e.g., that the object is a bird, aircraft, debris, building, etc.). Sensors 20, 30 are capable of detecting objects anywhere within their field of view. As mentioned above, the sensors have a full or partial field of view all around the aircraft (not specifically shown) in all directions; the field of view is not limited to the escape envelope 25 illustrated in
It will be understood that the components shown in
With reference to
Data in support of this recommendation may be sent from the sensing system 205 to an avoidance element 224 (of planning and avoidance system 220), which applies an avoidance algorithm thereto to generate an optimized escape path. In some embodiments, the avoidance element may be an ACAS or ACAS-X system. In some embodiments, the avoidance algorithm may be deterministic in nature. This algorithm may, in some embodiments, also consider information from flight planning system 228. Such information may include, for example, a priori information, e.g., terrain information about the placement of buildings or other known static features, information about weather, airspace information, including known flight paths of other aircrafts (for example, other aircrafts in a fleet), and/or other relevant predetermined (or pre-discoverable) information.
The sense and avoid element 210 and the other elements of planning and avoidance system 220 may be implemented in hardware or a combination of hardware and software/firmware. As an example, the sense and avoid element 207 may comprise one or more application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and/or microprocessors programmed with software or firmware, or other types of circuits for performing the described functionalities. Exemplary configurations of components of the sense and avoid element 210 will be described in more detail below with reference to
With reference to
It will be understood that the aircraft controller 245 is a reactive system, taking in the recommendation of the sense and avoid system 210 and reacting thereto. In response to receiving the recommendation, the mission processing element 242 may be configured to provide a signal to aircraft controller 245 to take an action in response to the threat, such as providing a warning to a user (e.g., a pilot or passenger) or controlling the aircraft control system 240 (e.g., actuators 246 and the propulsion system 247) to change the velocity (speed and/or direction) of the aircraft 10. As an example, the aircraft controller 245 may control the velocity of the aircraft 10 in an effort to follow an escape path 35, thereby avoiding a sensed object 15. Alternatively, the aircraft controller 245 may navigate to a desired destination or other location based on the sensed object 15.
In alternate embodiments, the functions of the planning and avoidance system 220 (or just avoidance logic 224) and those of the mission processing element 242 may be implemented with the same computing hardware or may share processors or other resources. That is, the avoidance logic 224 may be implemented on a computer system of the mission processing element 242, or, alternatively, the mission processing element 242 may be implemented on a computer system of the planning and avoidance system 220, that is, some subset of the computing hardware used by the sense and avoid system 210.
It will be understood, with reference to
The right side of
As depicted in
The second layer, deconfliction layer 207, contains “modifiable software,” for example, adaptive models and algorithms. The deconfliction layer 207 may be, in some embodiments, an intelligent system that relies on a neural network. The deconfliction layer 207 may be probabilistic in nature (using probability models) where the data output of the system may vary, even if given the same input, as the system adapts to localized changes.
The results of the two algorithms (evasion and deconfliction) may be converted or placed into standard formats and are provided to the planning and avoidance system 220, which generates an advisory based thereon. In a preferred embodiment, as described above, the avoidance element 224 may take the form of an ACAS system. In one embodiment, avoidance element 224 may be an ACAS-X implementation.
To explain it in another way, in the preferred embodiment, when an object 15 is detected, each of the evasion layer 209 and the deconfliction layer 207 receives data from the sensors 20, 30 and follows a respective process to provide position and vector information to the planning and avoidance system 220. Deconfliction layer 207 uses a non-deterministic method such as machine learning to classify the object 15 and to predict its position and vector data based on one or more sets of training data, e.g., historical data on detected objects and/or the paths those detected objected followed. The evasion layer 209 uses a deterministic method such as a mathematical rule, or other information, stored in memory (for example, a set of pre-established ‘if-then-else’ rules or other closed-form mathematical expressions), to provide position and vector data. Because these sense and avoid decisions are being made separately and in parallel to each other, the different evasion and deconfliction logics may result in discrepancies between the two sets of results provided to the planning and avoidance system 220. However, in a case where an object moves too close to the aircraft, or otherwise poses a threat to the aircraft that requires immediate action, the evasion layer 209 will override the deconfliction layer 207.
In the embodiment of
In one embodiment, the layers of the sense and avoid system may be designed to meet various safety classifications used by the FAA, e.g., the Design Assurance Levels (DALs) “A” through “E”, each level being respectively less stringent. The evasion layer 209 is made of software and computing/or hardware that are certificatable to a high safety standard, under any relevant regulations, including those regulations directed to traditional (deterministic, and in some cases, single-thread) software. Such standards may include, among other things, industry standards such as DO-178 and DO-254. As an example, with reference to the FAA's letter-based Design Assurance Level classifications, in a preferred embodiment, the software and computing hardware of the evasion layer might meet at least a DAL-B level certification. The sensors upon which the evasion layer relies would also be certificatable under at least that same safety standard—as a single sensor of the same safety standard or as a combination of multiple sensors of lower standard implemented so as to meet the same safety standard—as per the regulatory body standards. It will also be understood that every subsystem to the evasion layer meets this same safety standard. In other embodiments, the software and hardware of the evasion layer and the sensors may be designed to meet a higher or lower level of certification than DAL-B level.
In a preferred embodiment, the software and/or hardware of the deconfliction layer are also designed so as to meet regulatory standards, such as FAA safety standards. However, because the software of the deconfliction layer is modifiable, limitations may exist on the explicit certification of the deconfliction layer under the FAA's standards, so that certification may or may not be worth seeking, or may or may not be practical.
In some embodiments, the deconfliction layer may be designed to meet a less stringent classification than the evasion layer. In other words, because the evasion layer 209 serves as a backup net of collision avoidance, fewer errors are permitted in the functioning of the evasion layer 209 than in the deconfliction layer 207. However, alternate embodiments are possible where the deconfliction layer is designed to meet the same classification of safety standard as the evasion layer.
In some embodiments, the deconfliction layer 207 may use the same sensors as those used by the evasion layer 209. In such an implementation, the sensors used by the deconfliction layer would be certificatable to at least the same high standard of the evasion layer. However, in an alternate implementation, the deconfliction layer may use a separate set of sensors than those used by the evasion layer. In this alternate implementation, the sensors used by the deconfliction layer need only meet the same safety standards as those met by the software and hardware of the deconfliction layer itself.
In a preferred embodiment, the evasion layer and the deconfliction layer are logically decoupled, so as to function discretely. Each layer is capable of acting without preliminary, concurrent, or subsequent action by the other layer. Put another way, the algorithms of the deconfliction layer have no adverse impact on, and cannot override, the functionality of the evasion layer, that is, they do not alter, impede, or worsen the evasion layer's output result, efficiency, performance, or the like, or take resources from the functioning of the evasion layer. Because the deconfliction layer 207 does not interfere with the functions performed by the evasion layer 209, the functions of the deconfliction layer 207 do not adversely impact the safety compliance of the evasion layer. This independence may be shown, for instance, through the event logs of the software and hardware of the Sense and Avoid system, or by other appropriate types of evidence. Accordingly, it will be understood that modification of the deconfliction layer 207 does not by itself create a need to seek a recertification of the evasion layer 209 under the FAA's (or other agency's) safety standards. Therefore, even if the code of the deconfliction layer is modified (e.g., to meet ever increased standards for probability models, improved neural networks, etc.), the code and safety level provided by the evasion layer remains un-impacted and unchanged by such modifications. The evasion layer, being designed to conform to any relevant certification and/or regulatory standards, remains unchanged. The architecture of the sense and avoid system as a whole (that is, the totality of software including the plurality of layers) would also continue to meet such standards (even potentially improving in performance) even after any change to the code of the second layer. Because the system maintains the integrity of the already-certified evasion layer 209 even after a change to the deconfliction layer 207, re-certification or supplemental certification of the software as a whole would therefore not be necessary.
While
As will be understood in
In one embodiment, the deconfliction layer and the evasion layer are implemented on two different processing units (or computers). In the exemplary embodiment of
As shown by
The processors 410, 450 may communicate to and drive the other elements via the local interfaces 415, 455, which may include at least one bus. Further, the data interfaces 420, 460 (e.g., ports or pins) may interface components of the sensor system 205 with other components of the aircraft controller system 5, such as the sensors 20, 30 and any components of the aircraft control system 5.
As shown by
As mentioned earlier, both the evasion layer 209 and deconfliction layer 207 function separately to provide recommendations including position and vector information for the aircraft 10 to navigate around the object 15. In practice, the deconfliction layer 207 can also be designed to intelligently determine a recommendation for an escape that leads to a smoother flight more suited to a passenger experience. That is, while both the evasion and deconfliction layers will provide an advisory that can be used to avoid collision, the advisory provided by the deconfliction layer is backed by a probabilistic analysis that allows for a more developed choice of escape path. In this regard, the deconfliction layer 207 may, in some embodiments, employ a machine learning algorithm to classify and detect the location of an object 15 in order to better assess its possible flight performance, such as speed and maneuverability, and threat risk. In this regard, the deconfliction layer 207 may store object data 445 in memory 440 that is indicative of various types of objects, such as birds or other aircraft, that might be encountered by the aircraft 10 during flight. For each object type, the object data 445 defines a signature that can be compared to sensor data to determine when a sensed object corresponds to the object type. As an example, the object 445 may indicate the expected size and shape for an object that can be compared to an object's actual size and shape to determine whether the object 15 matches the object type. It is possible to identify not just categories of objects (e.g., bird, drone, airplane, helicopter, etc.) but also specific object types within a category.
It will be apparent that in the embodiment of
Note that the sense and avoid logic 350 or components thereof, when implemented in software, can be stored and transported on any computer-readable medium for use by or in connection with an instruction execution apparatus that can fetch and execute instructions. In the context of this document, a “computer-readable medium” can be any means that can contain or store code for use by or in connection with the instruction execution apparatus.
Alternate embodiments may include additional architectural layers (e.g., a third, fourth, fifth, or nth layer) made up of modifiable or non-modifiable code. If the architecture includes any additional layers, such layers are also independent from the fixed code of the evasion layer 209, so as not to adversely impact the functionality of that layer.
An exemplary use and operation of the aircraft monitoring system 5 in order to sense and avoid objects 15 within a path of the aircraft 10 will be described in more detail below with reference to
Turning first to the process of the deconfliction layer, based on the information about the object 15 sensed by the sensors 20, 30 (location, velocity, mass, size, etc.), the deconfliction layer 207 may, in step 606, classify the object 15, or, in other words, identify an object type for the detected object 15. Thereafter, processing may continue to step 608, where the deconfliction layer 207 may determine position and vector data, and then to step 612, where such data is sent to the avoidance algorithm in planning and avoidance system 220.
In the illustrated process of the evasion layer, no classification of the object is done. Rather, based on the detected sensor data, the evasion layer 209 may determine position and vector data (step 610), and may send such data to the avoidance algorithm 224 in step 614.
The planning and avoidance system 220 receives both sets of data in step 622. In some embodiments, the avoidance algorithm 224, whether by itself or in combination with the mission processing element 242, may validate the position and vector data sent by the deconfliction layer 207 (step 620). The planning and avoidance system 220 then considers flight planning data from flight planning system 228 (step 622), and, in step 624, provides a flight path (recommendation or advisory) to the aircraft control system 254.
As described above, position and vector data is sent from both the deconfliction layer and the evasion layer in a redundant manner. This is done for the purpose of enhancing aircraft safety, that is, the evasion layer may act as a safety net, or backup, to the more processing heavy calculations of the deconfliction layer, the results of which may depend on the quality of the data used. In some instances, the planning and avoidance system 220 may choose to use one received set of position/vector data over another. The reasons for such selection may vary. For example, the planning and avoidance system 220 may notice a large discrepancy between the data provided by the two sensing system algorithms, which might suggest that that one is in error. Additionally, the system 220 may recognize a hardware failure relative to either the deconfliction layer 207 or evasion layer 209, or to a sensor specific to those layers. Where a failure has occurred, the aircraft monitoring system 5 may be configured to take corrective action, such as deactivating the failed processor or ignoring its output for future control decisions. In this manner, one of the sensing algorithms (e.g., the evasion layer, which meets a higher safety standard) may function as a check, or safety net, to the higher performance and changeable functionality of the deconfliction layer. In addition, as described above, in a case where an object moves too close to the aircraft, or otherwise poses a threat to the aircraft or its passengers that requires immediate action, the evasion layer 209 will override the deconfliction layer 207 to instruct the aircraft controller to move the aircraft to a safe position.
The foregoing is merely illustrative of the principles of this disclosure and various modifications may be made by those skilled in the art without departing from the scope of this disclosure. The above described embodiments are presented for purposes of illustration and not of limitation. The present disclosure also can take many forms other than those explicitly described herein. Accordingly, it is emphasized that this disclosure is not limited to the explicitly disclosed methods, systems, and apparatuses, but is intended to include variations to and modifications thereof, which are within the spirit of the following claims.
As a further example, variations of apparatus or process parameters (e.g., dimensions, configurations, components, process step order, etc.) may be made to further optimize the provided structures, devices and methods, as shown and described herein. In any event, the structures and devices, as well as the associated methods, described herein have many applications. Therefore, the disclosed subject matter should not be limited to any single embodiment described herein, but rather should be construed in breadth and scope in accordance with the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US18/66070 | 12/17/2018 | WO | 00 |