The disclosure relates generally to terrain avoidance and warning systems for aircraft. More particularly, the disclosure relates to a technique to adjust the resolution and/or accuracy of the terrain elevation to be used when the aircraft is near an airport runway.
This section provides background information related to the present disclosure which is not necessarily prior art.
Terrain databases used for terrain collision avoidance need to have very good resolution and accuracy near runways to allow the terrain collision avoidance system to remain active until the aircraft touchdown during approach and landing.
However, the size of such a database may be larger than the memory available for the terrain collision avoidance system. Additionally, even if the database provided the adequate resolution, the database accuracy and aircraft systems accuracies may not allow such a system to remain active until touchdown.
A runway database provides additional geolocation information, typically gathered via means independent from a terrain database.
The disclosed system and method employs an algorithm that uses runway localization (latitude, longitude, and elevation), approach glideslope, acquired in real time, and in conjunction with predefined system accuracies (aircraft elevation sensing accuracies), to define an area near a runway, denominated “runway final approach ramp”, which will be used as an additional source of terrain elevation data.
Several options are disclosed. Option 1: The elevation computed using the runway final approach ramp is used as true elevation source in lieu of or in conjunction with the terrain database for terrain queries located within the predefined area. Option 2: Adjust (“carve out”) the corresponding area in the terrain database information in the system memory to remove false erroneous terrain that may be present due to low terrain database resolution near runways. The runway approach ramp area is defined considering current international aerodrome design and operation standards, ref. ICAO Annex 14 Volume I.
According to one aspect, the disclosed method adjusts at least one of vertical resolution and vertical accuracy of terrain elevation data near an aircraft runway by obtaining local terrain data yielding a first elevation value stored in memory for a query location. A processor, receptive of the first elevation value computes plane equations based on a predetermined standard model adapted to geometrically conform to the aircraft runway, yielding a second elevation value for the query location. The processor selectively uses the first and second elevation values to generate an adjusted elevation value that is supplied to a terrain avoidance and warning system.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations. Thus, the particular choice of drawings is not intended to limit the scope of the present disclosure.
The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the invention or the following detailed description.
While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment as contemplated herein. It should be understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.
As illustrated, associated with the runway 14 is a base end 20 latitude, longitude and elevation, and a reciprocal end 22 latitude, longitude and elevation. The region between the base end 20 and the reciprocal end 22 is the region 24 to which the terrain carving or terrain modifying algorithm is applied. The terrain carving or terrain modifying algorithm is also applied to eliminate the areas of the terrain database elevations at 18 which are above the approach ramp 12. These areas are shown shaded in
Resolution, Accuracy and Storage Size Considerations
In this description the terms resolution and accuracy are used. These two terms have different meanings. Resolution refers to the smallest change that can be measured by the system. Accuracy refers to how closely a reported measurement matches the true value being measured.
To illustrate, a system might have a resolution of 1 meter—thus the system is able to resolve the difference between 1 meter and 2 meters, for instance; but is not be able to resolve the difference between 1.1 meters and 0.95 meters. The same system might be configured to store elevation values with an accuracy of 100 meters—thus given a stored elevation of, for example, 234 meters, it could represent any actual elevation from 134 to 234 meters. Thus in this illustration, the system would have a resolution of 1 meter and an accuracy of 100 meters.
As noted above, accuracy is different from resolution. Thus, in
In designing a system according to the disclosed concepts, attention is given to selecting resolutions and accuracies that provide good terrain collision avoidance results while keeping data storage requirements reasonable. To illustrate, consider the case where a one meter vertical resolution is implemented. At this resolution, a hill that is 31.3 meters high would be represented as 31 meters high, whereas a slightly higher hill of 31.8 meters would be represented as 32 meters high. Although the vertical resolution dictates how the height of each individual terrain feature is captured, it is the horizontal resolution that dictates what height is stored for each grid or tile. This is because the horizontal resolution dictates the terrain area that will be represented by a single altitude point. If for example the terrain is divided into grids or tiles of 100×100 meters, then the highest point within that 100 meter square would be stored in the database.
A database representing the surface of the earth using 100×100 meter tiles requires several gigabytes of processor storage. If the area of interest is limited to the area around airports, the storage size might be significantly reduced. If finer resolutions were desired around the globe, the storage size expands to several terabytes—which is currently unfeasible for on-board aircraft applications.
Although resolution and accuracy are different properties, there are interdependencies. Notably, a larger horizontal resolution may have the effect of degrading the vertical accuracy; and conversely, a smaller horizontal resolution may have the effect of improving vertical accuracy. This can occur because for a given grid or tile, only one elevation is assigned, based on the tallest feature in that grid or tile; features within the grid of lesser height are effectively ignored. Thus vertical accuracy can be improved by reducing the size of the grid, i.e., reducing the horizontal resolution.
Vertical and horizontal accuracies can also be impacted by the accuracy of the technology being used to measure feature elevations. When the vertical measurement accuracy degrades, there will be a higher degree of error in the elevation value of the highest feature stored in the database. When the horizontal measurement accuracy degrades, there will be a higher degree of error in the latitude-longitude placement of the features being measured. Errors in vertical accuracy and errors in horizontal accuracy do not necessarily go hand in hand. It is possible, for example to measure and properly represent the elevation features of an entire island with good vertical accuracy, and yet have those features appear offset by several hundred meters to the east, for example, due to inaccuracies in the horizontal measurement technology.
In order to meet the countervailing objectives of having good terrain collision avoidance performance and of reducing data storage requirements, an embodiment may be designed to have different vertical and horizontal resolutions depending on proximity to relevant airports. For example, in one embodiment, the following resolutions may be used:
Resolution:
The carving algorithm is designed to adjust the resolution and/or accuracy of the terrain database when the aircraft is near an airport. Several techniques may be used, as shown in
The disclosed terrain carving technique may be implemented using a programmed processor, or using other suitable electronic circuits including gate array circuits (e.g., field programmable gate array—FPGA—circuits or other application specific integrated circuits (ASIC). A programmed processor implementation is shown in
Referring to
A terrain collision avoidance system, which predicts future aircraft trajectories, will have to check if such trajectories will intercept with terrain in the future. “Query location” refers to an airplane location in a future time, where terrain elevation is relevant. In order to predict future aircraft trajectories, the system implements a fast update rate function, which is executed several times a second, to predict future aircraft locations. “Query time” refers to the time within the fast update rate function when terrain elevation needs to be computed in order to check that future aircraft trajectories will not interfere with terrain.
The processor then computes at 56 the approach ramp area vertices and elevations, and then computes plane coefficients for approach ramps at 58, both steps using a set of calculations referred to herein as the slow update rate function 60 discussed more fully below. The name slow update rate function has been chosen because this function may suitably operate at a slow update rate (e.g., on the order of once per second). The processor also implements a fast update rate function that operates at terrain query time. The fast update function handles time-critical decisions.
After the slow update rate function has been performed to implement steps 56 and 58 (
With reference to
A variation (Option 1b) of the query-the-ramp embodiment is illustrated in
Options 1a and 1b differ from Option 2 with respect to which data are queried, at query time 54 when the aircraft is within the approach area. Options 1a and 1b query the approach area elevation data, as calculated by the slow update rate function. Option 2 queries the local terrain map data, which potentially has been adjusted by the slow update rate function.
Implementing the Slow Update Rate and Fast Update Rate Functions
The details for implementing the slow update rate function and fast update rate function will now be described according to the following steps:
The steps for performing Option 1a and Option 1b are largely the same. The steps for performing Option 2 differ from Options 1a and 1b in where and how the plane equations are applied. Specifically regarding Option 2:
In performing the slow update function, the processor uses the acquired landing runway data to calculate various numerical components illustrated in
With reference to
The processor invokes the slow update rate function 60 once new runway definition information is available. The processor computes, as follows, the locations of points A, B, C, D, in degrees, for a standard base end located at 0° longitude and 0° latitude:
A=[−d_meters/1852,+1.5*runwayWidth_ft/6076]/60;
B=[A(1),−A(2)];
C=[−(rampLength_nm+d_meters/1852), . . . −(1.5*runwayWidth/6076+rampLength_nm*divergence_pct)]/60;
D=[−C(1),+C(2)].
By way of example, for a 200 ft runway width, 1 nautical mile ramp, and a 15% divergence, points A, B, C, D would be computed as follows (expressed as floating point numbers, in degrees of latitude and longitude at the equator):
A=[−5.399567e-4,+8.228934e-4]
B=[−5.399567e-4,−8.228934e-4]
C=[−1.720663e-2,−3.322893e-3]
D=[−1.720663e-2,+3.322893e-3]
2b. Rotate and Translate Standard Points to Actual Runway Location
Next, the processor rotates and translates the standard A, B, C, D points to the actual runway location using an equirectangular approximation algorithm. Other rotation and transformation algorithms (e.g., haversine formula, spherical law of cosines, etc.) can be used if improved accuracy is required. However, the equirectangular approximation algorithm is chosen here because it is computationally efficient—requiring only one trigonometric calculation, one square root calculation and a few multiplications and additions.
Theoretically, the order of operations within the slow update rate function doesn't matter, but to keep the algorithm simple and computationally efficient the order does matter. Rotating points at the equator, where the distance covered by 1 degree of longitude is basically the same as 1 degree of latitude is simpler (only requires one sine and one cosine of the rotation angle, plus a couple of multiplications and additions/subtractions). Rotating points that are away from the equator, where the size 1 degree of longitude decreases as latitude increases, is way more complex. Thus in the disclosed algorithm, rotation is performed first and translation is performed thereafter.
In detail the equirectangular approximation computes bearing and length, in degrees at the equator. For clarity, Step 2b has been subdivided below into sub-steps:
Step 2b(0). Compute Runway Length and Bearing, in Degrees at Equator, Using Equirectangular Approximation
cos Lat=cos((bLat+rLat)/2);
deltaLon=(rLon−bLon)*abs(cos Lat);
deltaLat=(rLat−bLat);
length_deg=sqrt(deltaLon{circumflex over ( )}2+deltaLat{circumflex over ( )}2);
sin Theta=deltaLat/length_deg;
cos Theta=deltaLon/length_deg;
Where:
Step 2b(2). Rotate 180 Degrees and Translate to Orient to Actual Runway Reciprocal End
Step 2b(3). Translate Rotated Points to Actual Runway Base End Location, Using Equirectangular Approximation:
Step 2b(4). Translate Rotated Points to the Actual Runway Reciprocal End Location, Using Equirectangular Approximation:
AR=M*AROT180+T
BR=M*BROT180+T
CR=M*CROT180+T
DR=M*DROT180+T
Step 2c. Compute Elevations of Each Ramp Vertex
Next the processor computes plane coefficients for each of the five regions illustrated in
Given three points A, B, C, the plane coefficients a, b, c, d are defined as: function [a, b, c, d]=planeCoefficients(A, B, C)
a=(BY-AY)*(CZ-AZ)−(BZ−AZ)*(CY−AY)
b=−((BX−AX)*(CZ−AZ)−(BZ−AZ)*(CX−AX))
c=(BX−AX)*(CY−AY)−(BY−AY)*(CX−AX)
d=a*AX+b*AY+c*AZ
end.
Where X=Longitude, Y=Latitude, Z=Elevation.
Fast Update Rate function—performed at terrain query time
The Query Area is defined by four points defined using the Query Inputs above:
With reference to
A point can be checked to be within a convex polygon by computing four cross-products between the:
If all four cross-products have the same sign, then the point is within the polygon. In the example shown in
Algorithm for checking if a is within a convex polygon
As noted above, in Option 2, instead of using the plane equations at querying time, the algorithm uses the slow update rate function to update or carve the local map. Steps 1 through 3 are identical, up to the plane coefficients calculation. Step 4 occurs at a slow update rate function. Every terrain cell near the runway and within each of the predefined regions will have its elevation adjusted using the plane equation for the specific region.
Exemplary Hardware Embodiment
The terrain carving system 124 includes a processor 126 programmed to implement the carving algorithm 128 according to the explanation above. The program code for executing the carving algorithm is stored in a suitable memory accessible to the processor 126. In addition, the system 124 will also include sufficient system memory 130 in which to store the intermediate calculations performed by the slow update rate function and the fast update rate function, and also to store a working copy of map data to support the local terrain map adjustment step 86 (
In order for the processor 126 to capture the query location 54 (
This application is a continuation of U.S. patent application Ser. No. 16/741,098, filed on Jan. 13, 2020.
Number | Name | Date | Kind |
---|---|---|---|
4368517 | Lovering | Jan 1983 | A |
4914436 | Bateman et al. | Apr 1990 | A |
5343395 | Watts | Aug 1994 | A |
5892462 | Tran | Apr 1999 | A |
6980892 | Chen et al. | Dec 2005 | B1 |
7382287 | Chen et al. | Jun 2008 | B1 |
8788128 | McCusker | Jul 2014 | B1 |
9024805 | Jinkins et al. | May 2015 | B1 |
20010056316 | Johnson | Dec 2001 | A1 |
20040030465 | Conner et al. | Feb 2004 | A1 |
20040181318 | Redmond et al. | Sep 2004 | A1 |
20050015202 | Poe et al. | Jan 2005 | A1 |
20050128129 | Conner | Jun 2005 | A1 |
20080288169 | Meunier et al. | Nov 2008 | A1 |
20100042273 | Meunier et al. | Feb 2010 | A1 |
20100211237 | Nichols et al. | Aug 2010 | A1 |
Number | Date | Country |
---|---|---|
100886404 | Mar 2009 | KR |
Entry |
---|
Machine translation of KR100886404B1 (Year: 2023). |
Number | Date | Country | |
---|---|---|---|
20230306856 A1 | Sep 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16741098 | Jan 2020 | US |
Child | 18324016 | US |