Terrain database carving around the runway
By utilizing runway positioning information and approach glide slope to optimize the resolution and accuracy of the terrain database, the problem of insufficient resolution and accuracy of the terrain database near the runway is solved, enabling the terrain collision avoidance system to work effectively during the aircraft's approach and landing process, and reducing storage requirements.
Patent Information
- Application Number
- CN202180007871.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-13
- Filing Date
- 2021-01-06
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2041-01-06
AI Technical Summary
The existing terrain database has insufficient resolution and accuracy near airport runways, which results in the terrain collision avoidance system not being able to work effectively during aircraft approach and landing, and the database size exceeds the system's storage limit.
An algorithm is adopted to use the real-time runway positioning information and approach glide slope, combined with the predefined system accuracy, to define the area near the runway as an additional source of terrain elevation data. By adjusting the resolution and accuracy of the terrain database, the runway database elevation values are used instead of or in combination with the terrain database elevation values to optimize the resolution and accuracy of the terrain elevation data.
Improved resolution and accuracy of terrain elevation data near the runway reduces storage requirements and ensures effective terrain collision avoidance systems during approach and landing.
Smart Images

Figure CN114901555B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to terrain avoidance and warning systems for aircraft. More specifically, the present disclosure relates to techniques for adjusting the resolution and / or accuracy of terrain elevation to be used when an aircraft is near an airport runway. Background Art
[0002] This section provides background information related to the present disclosure which is not necessarily prior art.
[0003] The terrain database used for terrain collision avoidance needs to have very good resolution and accuracy near the runway to allow the terrain collision avoidance system to remain active until the aircraft touches down during approach and landing.
[0004] However, the size of such a database may be greater than the memory available to the terrain collision avoidance system. Furthermore, even if the database provides sufficient resolution, the database accuracy and the aircraft system accuracy may not allow such a system to remain functional until touchdown.
[0005] The runway database provides additional geographic location information, typically collected via a separate component from the terrain database. Summary of the Invention
[0006] The disclosed system and method employs an algorithm that uses real-time acquired runway position (latitude, longitude, and elevation), approach glide slope, combined with a predefined system accuracy (aircraft elevation sensing accuracy) to define an area near the runway, named "runway final approach ramp", which will be used as an additional source of terrain elevation data.
[0007] Several options are disclosed. Option 1: Use the elevation calculated using the runway's final approach ramp as the true elevation source, either in place of or in conjunction with the terrain database, for terrain queries within a predefined area. Option 2: Adjust ("carve out") the corresponding area in the terrain database information in the system's memory to remove erroneous terrain near the runway that may be due to the low resolution of the terrain database. The runway approach ramp area is defined taking into account current international airport design and operating standards, with reference to ICAO Annex 14, Volume I.
[0008] According to one aspect, a disclosed method adjusts at least one of a vertical resolution and a vertical accuracy of terrain elevation data in the vicinity of an aircraft runway by obtaining local terrain data that generates a first elevation value stored in a memory for a query location. A processor that receives the first elevation value calculates a plane equation based on a predetermined standard model suitable for geometrically conforming to the aircraft runway to generate a second elevation value for the query location. The processor selectively uses the first and second elevation values to generate an adjusted elevation value provided to a terrain avoidance and warning system. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations. Therefore, the particular selection of drawings is not intended to limit the scope of the present disclosure.
[0010] Figure 1 is a terrain profile of an aircraft on approach for landing, illustrating the area in which the disclosed system operates;
[0011] Figure 1a is an exemplary terrain profile, which is labeled to explain the concepts of accuracy and resolution;
[0012] Figure 2 is a flow chart of the first part of an algorithm for providing elevation data within a predefined terrain carving or terrain modification area near a runway. The remainder of the algorithm is described in Figure 3 、 Figure 4 and Figure 5 Provided in;
[0013] Figure 3 yes( Figure 2 ) Continuation of the flowchart of the first part, showing a first option for determining elevation data;
[0014] Figure 4 yes( Figure 2 ) Continuation of the flowchart of the first part, showing different first options for determining elevation data;
[0015] Figure 5 yes( Figure 2 ) The flowchart of the first part is continued, showing a second option for determining elevation data;
[0016] Figure 6 A diagram of the runway approach ramp area is provided to understand the definitions of terms used in the algorithm;
[0017] Figure 7 is a pair of runway approach ramp diagrams showing the standard runway rotated and translated into the actual runway;
[0018] Figure 8is a runway approach ramp diagram that identifies the five areas suitable for the carving algorithm;
[0019] Figure 9 is a vector diagram used to understand the process used to define whether the query position is within the runway approach ramp area; and
[0020] Figure 10 is a hardware block diagram of an exemplary embodiment of the disclosed system. DETAILED DESCRIPTION
[0021] 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.
[0022] Although at least one exemplary embodiment has been presented in the foregoing detailed description, it will be understood that there are a large number of variations. It will also be understood that the exemplary embodiment or exemplary embodiments are merely examples and are not intended to limit the scope, applicability, or configuration of the present invention in any way. On the contrary, the foregoing detailed description will provide those skilled in the art with a convenient roadmap for implementing the exemplary embodiments as contemplated herein. It will be understood that various changes may be made in the function and arrangement of the elements described in the exemplary embodiments without departing from the scope of the present invention as set forth in the appended claims.
[0023] Figure 1 Aircraft 10 is shown beginning its approach down approach ramp 12 toward runway 14 for landing. The actual terrain is represented by section line 16. As will be explained in more detail below, the terrain collision avoidance system on aircraft 10 uses a terrain database that subdivides the earth's surface into grids or tiles, each grid or tile being identified by a particular latitude and longitude associated with a predefined point on the grid (e.g., the southwest corner of the grid), and each grid or tile having representative elevation data corresponding to the highest point on the earth's surface within that grid. When projected upward (in the z direction), these grids define rectangular boxes of different heights (depending on what the highest point of the terrain happens to be). Figure 1 In FIG, these rectangular boxes are shown in cross-section, wherein at 18 the upper bounds represent elevations; these elevations are stored in the terrain database. Figure 1 Also shown is an exemplary approach ramp 26 for an aircraft approaching the runway from the opposite direction. In some applications, the ramp 26 may also be used when the aircraft begins a go-around maneuver.
[0024] As shown, associated with runway 14 are the latitude, longitude, and elevation of base end 20, and the latitude, longitude, and elevation of reciprocal end 22. The area between base end 20 and reciprocal end 22 is area 24, and a terrain carving or terrain modification algorithm is applied to area 24. The terrain carving or terrain modification algorithm is also applied to eliminate areas where the terrain database elevation at 18 is above approach ramp 12. These areas are in Figure 1 Shown in shaded format.
[0025] Resolution, Precision, and Storage Size Considerations
[0026] 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 a system. Accuracy refers to how closely the reported measurement value matches the true value of the measurand.
[0027] To illustrate, a system might have a resolution of 1 meter—so, for example, the system would be able to resolve the difference between 1 meter and 2 meters; but it would not be able to resolve the difference between 1.1 meters and 0.95 meters. The same system could be configured to store elevation values with an accuracy of 100 meters—so, for example, given a stored elevation of 234 meters, it could represent any actual elevation from 134 meters to 234 meters. Thus, in this illustration, the system would have a resolution of 1 meter and an accuracy of 100 meters.
[0028] Figure 1a The following illustrates how these concepts of resolution and accuracy are applied to an exemplary terrain collision avoidance system. The actual terrain profile is shown at 16, and exemplary elevation values 18 are provided in meters: 1250, 1765, 1680, 1675, 1840, and 1425. These exemplary values are based on the highest elevation point of the actual terrain for each grid or tile stored in the database. Note that these exemplary values have a vertical resolution of 5. This is understandable because the least significant bit of each stored value is either 0 or 5. Figure 1a The vertical resolution value being used by the illustrated system is conceptually depicted at 30. Just as the vertical resolution 30 is specified by the system, so too can the horizontal resolution 32. The horizontal resolution specifies how finely horizontal distances can be resolved.
[0029] As mentioned above, accuracy is different from resolution. Figure 1a In [1], vertical accuracy34 is a measure of how “correctly” the heights recorded in the database correspond to the real world. Figure 1aAs shown by the vertical arrows in the figure, the elevation values stored in the database (e.g., 1250, 1765, 1680, ...) will differ from the actual terrain height, except for the highest point. This is because the database stores the highest point elevation to represent the vertical size of the entire grid or tile.
[0030] When designing a system based on the disclosed concepts, attention is paid to selecting a resolution and accuracy that provides good terrain collision avoidance results while keeping data storage requirements reasonable. To illustrate, consider the case of achieving a one-meter vertical resolution. At this resolution, a 31.3-meter-tall hill would be represented as 31 meters high, while a slightly taller 31.8-meter-tall hill would be represented as 32 meters high. While the vertical resolution determines how the height of each individual terrain feature is captured, the horizontal resolution determines what height is stored for each grid or tile. This is because the horizontal resolution determines the area of the terrain that will be represented by a single height point. For example, if the terrain is divided into a 100×100-meter grid or tile, the highest point within that 100 square meters will be stored in the database.
[0031] A database representing the Earth's surface using 100x100 meter tiles would require several gigabytes of processor memory. If the area of interest is limited to the area surrounding an airport, the memory size can be significantly reduced. If finer resolution is required globally, the memory size expands to several terabytes—a currently unfeasible requirement for airborne aircraft applications.
[0032] Although resolution and accuracy are distinct properties, they are interdependent. Notably, a larger horizontal resolution can have the effect of reducing vertical accuracy; conversely, a smaller horizontal resolution can have the effect of improving vertical accuracy. This occurs because a given grid or tile is assigned only one elevation based on the tallest feature in that grid or tile; features within the grid with smaller elevations are effectively ignored. Therefore, vertical accuracy can be improved by reducing the size of the grid, and therefore the horizontal resolution.
[0033] Vertical and horizontal accuracy can also be affected by the accuracy of the technique used to measure feature elevations. When vertical measurement accuracy decreases, the elevation values stored for the highest features in the database may be subject to a higher degree of error. When horizontal measurement accuracy decreases, the latitude and longitude placement of measured features may be subject to a higher degree of error. Vertical and horizontal accuracy errors do not necessarily go hand in hand. For example, it is possible to measure and correctly represent elevation features across an entire island with good vertical accuracy, but for example, due to inaccuracies in the horizontal measurement technique, these features may appear offset by hundreds of meters to the east.
[0034] To meet the competing goals of having good terrain collision avoidance performance and reducing data storage requirements, embodiments can be designed to have different vertical and horizontal resolutions depending on the proximity to the relevant airport. For example, in one embodiment, the following resolutions can be used:
[0035] Resolution:
[0036] Vertical resolution: 1 meter
[0037] Horizontal resolution: 100 meters (near the airport) and 1000 meters (far from the airport)
[0038] Accuracy:
[0039] Vertical accuracy: about 45 meters (near the airport) and about 150 meters (far from the airport)
[0040] Horizontal accuracy: based on terrain conditions
[0041] Carving algorithm
[0042] The carving algorithm is designed to adjust the resolution and / or accuracy of the terrain database as the aircraft is near an airport. Several techniques can be used, as discussed below. Figures 2 to 5 These techniques calculate elevations with better accuracy than those stored in the terrain database, and selectively use these elevations in place of initially stored terrain data when the aircraft is in the vicinity of an airport runway. This will correspond to very little vertical and horizontal resolution when very close to the runway (in one embodiment, the calculations can use 32-bit floating point numbers, which corresponds to approximately 8 significant decimal digits, resulting in very good resolution). In many cases, accuracy will also be improved because the calculations will be based on runway database elevation values rather than terrain database elevation values. Runway database elevation values tend to have better information because they are easier to source.
[0043] The disclosed terrain carving techniques 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 (ASICs). Figure 10 and will be described in more detail below. Figure 2 Combine the steps shown in Figure 3 、 Figure 4 and Figure 5 Each of these processor or gate array circuit implementations is programmed and configured by performing at least one of the steps of Figure 10 The processor shown or an equivalent electronic circuit such as a gate array circuit.
[0044] refer to Figure 2 The carving algorithm begins at 50, where the processor obtains landing runway data by querying a local source, typically using an ARINC 429 interface 52. ARINC 429 is a data transmission standard for aircraft avionics. In this case, local runway data is provided to the aircraft using this data transmission standard.
[0045] Terrain collision avoidance systems that predict future aircraft trajectories must check whether these trajectories will intersect terrain in the future. A "query position" refers to the aircraft's position at a future time where terrain elevation is relevant. To predict future aircraft trajectories, the system implements a fast update rate function, which is executed several times per second to predict future aircraft positions. A "query time" refers to the time within the fast update rate function when terrain elevation needs to be calculated to check that the future aircraft trajectory will not interfere with the terrain.
[0046] The processor then calculates the approach ramp region vertex and elevation at 56 and then calculates the approach ramp's planar coefficient at 58. Both steps utilize a set of calculations referred to herein as a slow update rate function 60, discussed more fully below. The name "slow update rate function" was chosen because the function can be run at a suitable slow update rate (e.g., on the order of once per second). The processor also implements a fast update rate function that runs at terrain query time. The fast update function handles time-critical decisions.
[0047] After the slow update rate function has been executed to implement steps 56 and 58 ( Figure 2 ) Thereafter, as shown in step 62, several different alternative embodiments are possible to obtain elevation data to be used for terrain collision avoidance when approaching the runway. Figure 3 and Figure 4 Two example options for querying a slope to obtain elevation data are shown, and Figure 5 An embodiment option is shown for obtaining elevation data by carving a local terrain map. Here, the local terrain map refers to the portion of the terrain database near the aircraft that is currently loaded in volatile computer memory for processing purposes.
[0048] refer to Figure 3 (Option 1a is shown), at query time 54, the processor tests at step 64 whether the query position is within the approach area. If the query position is within the approach area, the processor at 66 uses the Figure 2 ) to calculate and store elevation data. In addition, the processor also obtains elevation data from a local terrain map at 68. Then, at step 70, the processor selects the minimum of the local terrain map elevation and the stored approach area elevation calculated at 66.
[0049] A variation of the query ramp embodiment (option 1b) is Figure 4 At query time 54, the processor tests at step 72 whether the query location is within the approach area. If the aircraft is not within the approach area, the processor simply obtains elevation data from the local terrain map at step 74. On the other hand, if the aircraft is within the approach area, the processor uses the data obtained at steps 56 and 58 ( Figure 2 ) to calculate the approach area elevation. Option 1a differs from Option 1b in that, when within the approach area, Option 1a selects the minimum of the calculated elevation and the local terrain map elevation, while Option 1b prefers the calculated elevation. Option 1b requires less computation, but may come at the expense of some accuracy.
[0050] Figure 5 A slightly different technique (option 2) is shown which uses a slow update rate function to adjust the local terrain map. Thus, the processor at 80 uses the function in steps 56 and 58 ( Figure 2 ) to calculate and store elevation data. Additionally, the processor obtains elevation data from a local terrain map at 82. The processor then selects the minimum of the local terrain map elevation and the approach area elevation (calculated using the plane equation) at 84. This selected minimum elevation is then used to adjust the local terrain map at 86. At query time 54, the processor can then simply query the local terrain map (which has been adjusted using the Option 2 algorithm) to obtain the elevation.
[0051] Options 1a and 1b differ from Option 2 in what data is queried while the aircraft is within the approach area at query time 54. Options 1a and 1b query approach area elevation data calculated using the slow update rate function. Option 2 queries local terrain map data, which may have been adjusted using the slow update rate function.
[0052] Implementing slow update rate and fast update rate functions
[0053] The following steps describe the details of implementing the slow update rate function and the fast update rate function:
[0054] Step 1: Get the runway data
[0055] Step 2a.: Calculate the position of the approach ramp point corresponding to the base of the standard runway located at the equator. Step 2b.: Using the equirectangular approximation, rotate and translate the standard point to the actual runway position.
[0056] Step 2b(0): Calculate the runway length and bearing in degrees at the equator
[0057] Step 2b(1): Rotate the standard coordinates to orient to the actual runway base
[0058] Step 2b(2): Rotate 180 degrees and translate to orient to the actual opposite end of the runway
[0059] Step 2b(3): Translate the rotated point to the actual runway base position
[0060] Step 2b(4): Translate the rotated point to the actual opposite end of the runway
[0061] Step 2c.: Calculate the elevation of each ramp vertex
[0062] Step 3: Calculate the plane coefficient for each of the five regions
[0063] Step 4. If the query area point is within the runway approach ramp area - return elevation
[0064] The steps for performing options 1a and 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, for option 2:
[0065] The algorithm uses a slow update rate function to update or carve the local map instead of using the plane equations at query time.
[0066] Steps 1 to 3 are the same until the calculation of the plane coefficient.
[0067] Step 4 occurs as a slow update rate function. Every terrain cell near the runway and within each predefined area will have its elevation adjusted using the plane equation for that specific area.
[0068] Step 1. Get runway data
[0069] When executing the slow update function, the processor uses the acquired landing runway data to calculate Figure 6 The various numerical components shown in , including:
[0070] · Base longitude, latitude and elevation (see Figure 6 , 20 places).
[0071] Minimum approach glide slope at base end (see Figure 6 , 90 locations)
[0072] · The longitude, latitude and elevation of the opposite end (see Figure 6 , 22 locations)
[0073] Minimum approach glide slope (see Figure 6 , 92 locations)
[0074] Runway width (see Figure 6 , 94 locations)
[0075] refer to Figure 6 The processor calculates the point A near the base end 20 based on predetermined values (exemplary values given below). B 、B B 、C B and D B and point A near the opposite end 22 R 、B R 、C R and D R Position:
[0076] Distance from the runway threshold, d = 60 m (see Figure 6 , d)
[0077] Ramp Length, rampLength = 1 nautical mile (see Figure 6 , 98 locations)
[0078] Divergence = 15% (see Figure 6 , 96 locations)
[0079] Width = Runway Width (an example value is 150 feet) multiplied by a predetermined factor (an example value is 3) (see Figure 6 , 94 locations)
[0080] Slope = Approach glide slope (if not available, assume 3 degrees) minus a predetermined factor (an exemplary value is 1.5 degrees). (See Figure 6 Base slope at 90°; see Figure 6 The opposite end slope at 92).
[0081] 2a. Calculate the position of the point for the standard base end
[0082] Once new runway definition information is available, the processor calls the slow update rate function 60. For a standard base at 0° longitude and 0° latitude, the processor calculates the positions (in degrees) of points A, B, C, and D as follows:
[0083] A=[-d_meters / 1852,+1.5*runwayWidth_ft / 6076] / 60;
[0084] B=[A(1),-A(2)];
[0085] C=[-(rampLength_nm+d_meters / 1852),…
[0086] -(1.5*runwayWidth / 6076+rampLength_nm*divergence_pct)] / 60;
[0087] D=[-C(1),+C(2)].
[0088] For example, for a 200-foot runway width, a 1-nautical-mile ramp, and a 15% divergence, points A, B, C, and D would be calculated as follows (expressed as floating-point numbers in latitude and longitude at the equator):
[0089] A=[-5.399567e-4,+8.228934e-4]
[0090] B=[-5.399567e-4,-8.228934e-4]
[0091] C=[-1.720663e-2,-3.322893e-3]
[0092] D=[-1.720663e-2,+3.322893e-3]
[0093] 2b. Rotate and translate the standard point to the actual runway position
[0094] Next, the processor uses an equirectangular approximation algorithm to rotate and translate the standard points A, B, C, and D to their actual runway locations. Other rotation and transformation algorithms (e.g., half-sine formula, spherical law of cosines, etc.) can be used if greater accuracy is required. However, the equirectangular approximation algorithm was chosen here because it is computationally efficient—requiring only one trigonometric calculation, one square root calculation, and a few multiplications and additions.
[0095] Figure 7 The rotation and translation process is shown, whereby the standard runway 100 is transformed into the actual runway 102 by a series of rotations and translations shown at (1)-(4). The base end 20 and the opposite end 22 are processed separately. Figure 7In , operation (1) rotates the base end 20 of the standard runway 100; operation (2) rotates it again 180 degrees so that the ramp is oriented for the opposite end 22. Operation (3) translates the points from operation (1) so that the ramp is in the same position as the base end of the actual runway 102; operation (4) translates the points from operation (2) so that the ramp is in the same position as the opposite end of the actual runway 102. The algorithm is based on the assumption that all runways are straight, which simplifies the calculation by defining the ramp only for the base end of the "standard runway". This allows the opposite end of the standard runway to be calculated by a simple 180 degree rotation (no trigonometric functions are required). In order to maximize computational efficiency, some basic data that is reused in subsequent steps is pre-computed and stored. This allows the entire operation to be performed while calculating a single sine and a single cosine (trigonometric functions that are CPU throughput intensive).
[0096] Theoretically, the order of operations within the slow update rate function does not matter, but to keep the algorithm simple and computationally efficient, the order is important. Rotating a point at the equator (where 1 degree of longitude covers essentially the same distance as 1 degree of latitude) is relatively simple (requiring only one sine and one cosine of the rotation angle, plus a few multiplications and additions / subtractions). Rotating a point away from the equator (where the size of 1 degree of longitude decreases with increasing latitude) is more complex. Therefore, in the disclosed algorithm, the rotation is performed first, followed by the translation.
[0097] In detail, the equirectangular approximation calculates the orientation and length in degrees at the equator. For clarity, step 2b has been broken down below into sub-steps:
[0098] Step 2b(0). Calculate the runway length and orientation in degrees at the equator using the equirectangular approximation.
[0099] cosLat=cos((bLat+rLat) / 2);
[0100] deltaLon=(rLon-bLon)*abs(cosLat);
[0101] deltaLat = (rLat - bLat);
[0102] length_deg=sqrt(deltaLon^2+deltaLat^2);
[0103] sinTheta=deltaLat / length_deg;
[0104] cosTheta=deltaLon / length_deg;
[0105] in:
[0106] bLat = runway base latitude
[0107] bLon = runway base longitude
[0108] rLat = latitude of the opposite end of the runway
[0109] rLon = longitude of the opposite end of the runway
[0110] Theta = Runway "bearing"
[0111] Step 2b(1). Rotate the standard coordinates to orient to the actual runway base
[0112]
[0113] A ROT =R*A
[0114] B ROT =R*B
[0115] C ROT =R*C
[0116] D ROT =R*D
[0117] Step 2b(2) Rotate 180 degrees and translate to orient to the actual opposite end of the runway
[0118]
[0119] A ROT180 =R 180 *A ROT +T R
[0120] B ROT180 =R 180 *B ROT +T R
[0121] C ROT180 =R 180 *C ROT +T R
[0122] D ROT180 =R 180 *D ROT +T R
[0123] Step 2b(3) uses an equirectangular approximation to translate the rotated point to the actual runway base position:
[0124]
[0125] A B =M*A ROT +T
[0126] B B =M*B ROT+T
[0127] C B =M*C ROT +T
[0128] D B =M*D ROT +T
[0129] Step 2b(4) uses an equirectangular approximation to translate the rotated point to the actual runway opposite end position:
[0130] A R =M*A ROT180 +T
[0131] B R =M*B ROT180 +T
[0132] C R =M*C ROT180 +T
[0133] D R =M*D ROT180 +T
[0134] Step 2c. Calculate the elevation of each ramp vertex
[0135] Calculate the elevations of points AB and BB to be the same as the runway base elevation
[0136] Calculate the elevations of points AR and BR to be the same as the elevation of the opposite end of the runway
[0137] Using the small angle approximation, calculate the elevations of points CB and DB as equal to: Runway base elevation + rampLength x (rampSlope) x pi / 180°
[0138] Using the small angle approximation, calculate the elevations of points CR and DR as equal to: Runway opposite end elevation + rampLength x (rampSlope) x pi / 180°
[0139] Step 3. Calculate the plane coefficient for each of the five regions
[0140] Next, the processor is Figure 8 Calculate the plane coefficient for each of the five areas shown in (ramps R1-R4 and runway). Points to use:
[0141] Runway: A B , B B , (A R +B R ) / 2
[0142] R1: (A B +B B ) / 2,C B, D B
[0143] R2: A B , B R , D B
[0144] R3:(A R +B R ) / 2,C R , D R
[0145] R4: A R , B B , C B
[0146] Given three points A, B, and C, the plane coefficients a, b, c, and d are defined as:
[0147] function[a,b,c,d]=planeCoefficients(A,B,C)
[0148] a=(B Y -A Y )*(C Z -A Z )-(B Z -A Z )*(C Y -A Y )
[0149] b=-((B X -A X )*(C Z -A Z )-(B Z -A Z )*(C X -A X ))
[0150] c=(B X -A X )*(C Y -A Y )-(B Y -A Y )*(C X -A X )
[0151] d=a*A X +b*A Y +c*A Z
[0152] end.
[0153] Where X = longitude, Y = latitude, and Z = elevation.
[0154] Fast update rate function - executed at terrain query time
[0155] Get query input:
[0156] Query longitude
[0157] Query latitude
[0158] Query uncertainty
[0159] The query area is defined by the four points defined using the query input above:
[0160] [longitude + uncertainty, latitude + uncertainty]
[0161] [Longitude – Uncertainty, Latitude + Uncertainty]
[0162] [Longitude – Uncertainty, Latitude – Uncertainty]
[0163] [Longitude + uncertainty, Latitude – uncertainty]
[0164] refer to Figure 8 The processor checks whether each query area point is within the range defined by point C. B 、D B 、C R 、D R Instead of checking that all four corners of the query area are within the runway ramp area, another option is to check a single point (the query point) and then check that the uncertainty is less than the approach ramp area width.
[0165] You can check that a point is inside a convex polygon by computing four cross products between:
[0166] The vector from this point to one of the vertices
[0167] The vector from the vertex to the next vertex
[0168] Repeat for all polygon edges
[0169] If all four cross products have the same sign, then the point is inside the polygon. Figure 9 In the example shown, P1D B and D B C R The cross product between is positive, and P2D B and D B C R The cross product between them is negative.
[0170] Algorithm for checking if a is inside a convex polygon
[0171] Define a vector as the subtraction between two points:
[0172] v_sub(A,B)=[A X -B X ,A Y -B Y ];
[0173] The cross product is defined as:
[0174] x_product(A,B)=A X *B Y –A Y *B X
[0175] For each line segment in the polygon:
[0176] Define a vector between a point and the origin of a line segment, for example:
[0177] a=v_sub(A,P1)
[0178] Define a line segment as the vector between two vertices of the segment, for example:
[0179] b=v_sub(B,A)
[0180] Compute the cross product (x-product) between two vectors:
[0181] prod=x_product(a,b)
[0182] Repeat for all four segments.
[0183] If all cross products have the same sign and are non-zero, then the point is inside the polygon.
[0184] Step 4. If the query area point is within the runway approach ramp area, then:
[0185] The returned approach zone elevation is the maximum elevation calculated using the plane equations for the 5 zones:
[0186] elev=(da*xb*y) / c
[0187] Where: a, b, c, d = plane coefficients calculated in step 3; x = longitude; y = latitude
[0188] As mentioned above, in Option 2, the algorithm uses a slow update rate function to update or carve the local map, rather than using the plane equation at query time. Steps 1 through 3 are identical, up to the calculation of the plane coefficients. Step 4 occurs with the slow update rate function. Every terrain cell near the runway and within each predefined area will have its elevation adjusted using the area-specific plane equation.
[0189] Exemplary Hardware Embodiment
[0190] Figure 10 An exemplary hardware embodiment of a processor-based system for implementing the terrain carving operations discussed above is shown. The terrain carving system, generally shown at 124, is designed to provide elevation data to a terrain collision avoidance system 120 on an aircraft. In this regard, the terrain collision avoidance system 120 can be a terrain awareness system (TAWS), a ground proximity warning system (GPWS), or other types of collision avoidance systems that require elevation signals to generate warnings or command automatic avoidance maneuvers. As shown, the terrain collision avoidance system can include a map data store 122, such as a computer-readable database of map terrain data stored in a memory. As described above, such map terrain data is typically stored as grids or tiles, each grid or tile representing a unique terrain area associated with latitude and longitude coordinates and an elevation (typically representing the highest point in that grid or tile).
[0191] The terrain carving system 124 includes a processor 126 that is programmed to implement a carving algorithm 128 in accordance with the above explanation. 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 intermediate calculations performed by the slow update rate function and the fast update rate function, and if the option 2 algorithm is being implemented, to store a working copy of the map data to support the local terrain map adjustment step 86 ( Figure 5 ).
[0192] In order for the processor 126 to capture the query position 54 ( Figure 2 ), the processor is coupled to a suitable position sensor 132, such as a GPS receiver. Other navigation systems and altimeter sensors may also be used. The processor may also be provided with approach heading data and approach glide slope data from the aircraft's existing avionics system 134.
Claims
1. A method for adjusting at least one of vertical resolution and vertical accuracy of terrain elevation data for a terrain avoidance and warning system on an aircraft traveling along an approach ramp toward an aircraft runway, comprising: Prior to a query time when the terrain avoidance and warning system is to calculate the terrain elevation at the aircraft's query position to check that the aircraft's future trajectory will not interfere with the terrain: Acquiring landing runway data of the aircraft runway, wherein the landing runway data includes an elevation value of a runway database; calculating an approach area elevation value for a position within an approach area including the aircraft runway based on the acquired landing runway data; obtaining a local terrain map, wherein the local terrain map is loaded into a computer memory on the aircraft, and the local terrain map includes local terrain elevation values; Select the minimum value between the calculated approach area elevation value and the corresponding local terrain elevation value to obtain the selected minimum elevation value; Using the selected minimum elevation value to adjust the local topographic map to obtain an adjusted local topographic map; as well as providing the adjusted local terrain map to the terrain avoidance and warning system; And at said query time: The terrain avoidance and warning system is operated and the adjusted local terrain map is consulted to predict a future trajectory of the aircraft and to check whether the future trajectory will intersect terrain in the future. 2 . The method of claim 1 , wherein the local terrain map is obtained by wireless transmission from an earth-based system, use of a terrain database onboard the aircraft, or a combination thereof.
3. A system for adjusting at least one of vertical resolution and vertical accuracy of terrain elevation data for an aircraft traveling along an approach ramp toward an aircraft runway, the system comprising: a terrain avoidance and warning system on said aircraft; a data source comprising a local terrain map, the local terrain map loaded into a computer memory onboard the aircraft, the local terrain map including local terrain elevation values; as well as at least one processor programmed to: Prior to a query time when the terrain avoidance and warning system is to calculate the terrain elevation at the aircraft's query position to check that the aircraft's future trajectory will not interfere with the terrain: Acquiring landing runway data of the aircraft runway, wherein the landing runway data includes an elevation value of a runway database; calculating an approach area elevation value for a position within an approach area including the aircraft runway based on the acquired landing runway data; receiving the local terrain map provided by the data source; Select the minimum value between the calculated approach area elevation value and the corresponding local terrain elevation value to obtain the selected minimum elevation value; Using the selected minimum elevation value to adjust the local topographic map to obtain an adjusted local topographic map; as well as providing the adjusted local terrain map to the terrain avoidance and warning system; And at said query time: The terrain avoidance and warning system is operated and the adjusted local terrain map is consulted to predict a future trajectory of the aircraft and to check whether the future trajectory will intersect terrain in the future.
4. The system of claim 3, wherein the local terrain map is obtained by wireless transmission from an earth-based system, use of a terrain database onboard the aircraft, or a combination thereof.
Citation Information
Patent Citations
Aircraft terrain information system
US20010056316A1
System and method for rendering a synthetic perspective display of a designated object or location
US20100211237A1
Aircraft landing display system
US4368517A
Aircraft landing guidance system and method
US5343395A