Database sculpture of terrain around runway
By using the runway position and entry slope degree to define the 'runway final entry slope' area in the terrain database of the aircraft, adjusting the terrain elevation data, the problem of insufficient resolution and accuracy of the terrain database in the prior art is solved, and efficient The aircraft terrain avoidance and warning system reduces data storage needs.
Patent Information
- Application Number
- CN202411332312.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-13
- Filing Date
- 2021-01-06
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-01-06
AI Technical Summary
During the aircraft entry and landing process, the existing terrain database is difficult to effectively avoid the terrain near the runway due to resolution and accuracy issues, and the database size exceeds the memory limit available to the system.
Using an algorithm, using real-time acquisition of runway locations (latitude, longitude and elevation) and landing slopes, define the 'last runway final entry slope' area, as an additional source of terrain elevation data, adjusting the terrain database in system memory Information, remove errors near the runway and improve vertical resolution and accuracy.
An efficient terrain avoidance and warning system near the aircraft runway is realized, reducing data storage requirements, improving system resolution and accuracy, and ensuring the safe entry and landing process of the aircraft.
Smart Images

Figure CN119190381A_ABST
Abstract
Description
[0001] This application is a divisional application of an application with a filing date of January 6, 2021, application number 202180007871.4, and invention name “Terrain database carving around runways”. Technical Field
[0002] 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
[0003] This section provides background information related to the present disclosure which is not necessarily prior art.
[0004] The terrain database used for terrain collision avoidance needs to have very good resolution and accuracy in the vicinity of the runway to allow the terrain collision avoidance system to remain active until the aircraft touches down during approach and landing.
[0005] However, the size of such a database may be larger than the memory available to the terrain collision avoidance system. In addition, 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.
[0006] The runway database provides additional geographic location information, typically collected via a separate component from the terrain database. Summary of the invention
[0007] The disclosed system and method employ an algorithm that uses the 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.
[0008] Several options are disclosed. Option 1: Use the elevation calculated using the runway final approach ramp as the true elevation source, 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 memory to remove erroneous terrain near the runway that may be present due to low resolution of the terrain database. Define the runway approach ramp area taking into account current international airport design and operating standards, refer to ICAO Annex 14 Volume I.
[0009] 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 produces 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 produce 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
[0010] 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.
[0011] Figure 1 is a terrain profile of an aircraft on approach for landing, showing the area in which the disclosed system operates;
[0012] Figure 1a is an exemplary terrain profile, which is labeled to explain the concepts of accuracy and resolution;
[0013] 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;
[0014] Figure 3 yes( Figure 2 ) is a continuation of the flowchart of the first part, showing a first option for determining elevation data;
[0015] Figure 4 yes( Figure 2 ) is a continuation of the flowchart of the first part, showing different first options for determining elevation data;
[0016] Figure 5 yes( Figure 2 ) is a continuation of the flowchart of the first part, showing a second option for determining elevation data;
[0017] Figure 6 is a runway approach ramp area diagram used to understand the definition of terms used in the algorithm;
[0018] Figure 7 is a pair of runway approach ramp diagrams showing the standard runway rotated and translated into the actual runway;
[0019] Figure 8is a runway approach ramp diagram that identifies the five areas suitable for the carving algorithm;
[0020] Fig. 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
[0021] Fig.10 is a hardware block diagram of an exemplary embodiment of the disclosed system. DETAILED DESCRIPTION
[0022] 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.
[0023] Although at least one exemplary embodiment has been proposed in the foregoing detailed description, it should be understood that there are a large number of variations. It should also be understood that the exemplary embodiment or multiple exemplary embodiments are only 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 a convenient roadmap for those skilled in the art to implement the exemplary embodiments as considered herein. It should be understood that various changes can be made in the functions and arrangements of the elements described in the exemplary embodiments without departing from the scope of the present invention as set forth in the appended claims.
[0024] Figure 1 Aircraft 10 is shown beginning to land along approach ramp 12 toward runway 14. The actual terrain is represented by profile 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. 1 , these rectangular boxes are shown in cross-section, with the upper boundaries at 18 representing elevations; these elevations are stored in a 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.
[0025] 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 form.
[0026] Resolution, Precision, and Storage Size Considerations
[0027] 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 matches the true value of the measurement being measured.
[0028] To illustrate, a system might have a resolution of 1 meter - so, for example, the system is able to resolve the difference between 1 meter and 2 meters; but cannot 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.
[0029] Figure 1a 1 shows how these concepts of resolution and accuracy are applied in an exemplary terrain collision avoidance system. An 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 may the horizontal resolution 32. The horizontal resolution specifies how finely horizontal distances can be resolved.
[0030] As mentioned above, accuracy is different from resolution. Figure 1a In , 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.
[0031] In designing a system according to 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-high hill would be represented as 31 meters high, while a slightly taller 31.8-meter-high 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.
[0032] A database representing the Earth's surface using 100×100 meter tiles requires several gigabytes of processor storage. If the area of interest is limited to the area around an airport, the storage size can be significantly reduced. If finer resolution is required over the globe, the storage size extends to several terabytes - which is currently not feasible for airborne aircraft applications.
[0033] Although resolution and accuracy are different properties, there is an interdependence. It is worth noting that a larger horizontal resolution can have the effect of reducing vertical accuracy; conversely, a smaller horizontal resolution can have the effect of increasing 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 smaller elevations are effectively ignored. Therefore, vertical accuracy can be improved by reducing the size of the grid, that is, reducing the horizontal resolution.
[0034] Vertical and horizontal accuracy can also be affected by the accuracy of the technique used to measure the elevation of features. When vertical measurement accuracy decreases, the elevation values of the highest features stored in the database will have a higher degree of error. When horizontal measurement accuracy decreases, the longitude and latitude placement of measured features will have a higher degree of error. Vertical accuracy errors 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 have those features appear to be offset hundreds of meters to the east, for example, due to inaccuracies in the horizontal measurement technique.
[0035] In order to meet the competing goals of having good terrain collision avoidance performance and reducing data storage requirements, embodiments may be designed to have different vertical and horizontal resolutions depending on the proximity to the airport of interest. For example, in one embodiment, the following resolutions may be used:
[0036] Resolution:
[0037] Vertical resolution: 1 meter
[0038] Horizontal resolution: 100 m (near airport) and 1000 m (far from airport)
[0039] Accuracy:
[0040] Vertical accuracy: about 45 meters (near the airport) and about 150 meters (far from the airport)
[0041] Horizontal accuracy: based on terrain conditions
[0042] Carving Algorithm
[0043] 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 the initially stored terrain data when the aircraft is in the vicinity of an airport runway. This will correspond to extremely small vertical and horizontal resolution when very close to a 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. The runway database elevation values tend to have better information because they are easier to source.
[0044] 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). Fig.10 and will be described in more detail below. Figure 2 Combined with 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 Fig.10 The processor shown or an equivalent electronic circuit such as a gate array circuit.
[0045] 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.
[0046] A terrain collision avoidance system that predicts future aircraft trajectories will have to check whether these trajectories will intersect terrain in the future. A "query position" refers to the aircraft position at a future time where terrain elevation is relevant. In order to predict future aircraft trajectories, the system implements a fast update rate function that 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 future aircraft trajectories will not interfere with terrain.
[0047] The processor then calculates the approach ramp region vertex and elevation at 56 and then calculates the plan coefficient of the approach ramp at 58, both of which steps use a set of calculations referred to herein as a slow update rate function 60, which is discussed more fully below. The name slow update rate function is chosen because the function can be run at a slow update rate (e.g., on the order of once per second) as appropriate. The processor also implements a fast update rate function that runs at terrain query time. The fast update function handles time-critical decisions.
[0048] 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 ramp to obtain elevation data are shown, and Figure 5 An embodiment option is shown in which elevation data is obtained 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.
[0049] 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 region. If the query position is within the approach region, 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 in step 70, the processor selects the minimum value of the local terrain map elevation and the stored approach area elevation calculated at 66.
[0050] 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 region. If the aircraft is not within the approach region, 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 region, the processor uses the elevation data obtained at steps 56 and 58 ( Figure 2 ) to calculate the approach area elevation. In contrast, Option 1a differs from Option 1b in that Option 1a selects the minimum of the calculated elevation and the local terrain map elevation when within the approach area, while Option 1b prefers the calculated elevation. Option 1b requires less computation, but may come at the expense of some accuracy.
[0051] 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 uses the slow update rate function at 80 to adjust the local terrain map using the slow update rate function at steps 56 and 58 ( Figure 2 ) to calculate and store elevation data. In addition, the processor also 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. The local terrain map is then adjusted using this selected minimum elevation at 86. At query time 54, the processor can then simply obtain the elevation by querying the local terrain map (which has been adjusted using the Option 2 algorithm).
[0052] Options 1a and 1b differ from Option 2 in what data is queried when the aircraft is within the approach region at query time 54. Options 1a and 1b query approach region elevation data calculated by a slow update rate function. Option 2 queries local terrain map data, which may have been adjusted by a slow update rate function.
[0053] Implementing slow update rate and fast update rate functions
[0054] The following steps describe the details of implementing the slow update rate function and the fast update rate function:
[0055] Step 1: Get the runway data
[0056] 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 an equirectangular approximation, rotate and translate the standard point to the actual runway position
[0057] Step 2b(0). Calculate the runway length and bearing in degrees at the equator
[0058] Step 2b(1): Rotate the standard coordinates to orient to the actual runway base
[0059] Step 2b(2): Rotate 180 degrees and translate to orient to the actual opposite end of the runway
[0060] Step 2b(3): Translate the rotated point to the actual runway base position
[0061] Step 2b(4): Translate the rotated point to the actual opposite end of the runway
[0062] Step 2c.: Calculate the elevation of each ramp vertex
[0063] Step 3. Calculate the plane coefficient for each of the five regions
[0064] Step 4.: If the query area point is within the runway approach ramp area - return the elevation
[0065] The steps to perform Option 1a and Option 1b are largely the same. The steps to perform Option 2 differ from Options 1a and 1b in where and how the plane equations are applied. Specifically, for Option 2:
[0066] The algorithm uses a slow update rate function to update or carve the local map instead of using the plane equations at query time.
[0067] Steps 1 to 3 are the same until the calculation of the plane coefficient.
[0068] Step 4 occurs as a slow update rate function. Each terrain cell near the runway and within each predefined area will have its elevation adjusted using the plane equation for that specific area.
[0069] Step 1. Get the runway data
[0070] When executing the slow update function, the processor uses the acquired landing runway data to calculate Figure 6 The various numerical components shown in , include:
[0071] · Base longitude, latitude and elevation (see Figure 6 , 20 places).
[0072] · Minimum approach glide slope at base end (see Figure 6 , 90 places)
[0073] · The longitude, latitude and altitude of the other end (see Figure 6 , 22 places)
[0074] · Minimum approach glide slope at opposite end (see Figure 6 , 92 places)
[0075] Runway width (see Figure 6 , 94 locations)
[0076] 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 other end 22 R , B R , C R and D R Location:
[0077] · Distance from the runway threshold, d = 60 m (see Figure 6 , d)
[0078] Ramp length, rampLength = 1 nautical mile (see Figure 6 , 98 places)
[0079] Divergence = 15% (see Figure 6 , 96 locations)
[0080] Width = Runway Width (an example value is 150 feet) multiplied by a predetermined factor (an example value is 3) (see Figure 6 , 94 locations)
[0081] 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 slope at the opposite end at 92 in the figure).
[0082] 2a. Calculate the position of the point for the standard base end
[0083] 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, D as follows:
[0084] A=[-d_meters / 1852,+1.5*runwayWidth_ft / 6076] / 60;
[0085] B=[A(1),-A(2)];
[0086] C=[-(rampLength_nm+d_meters / 1852),…
[0087] -(1.5*runwayWidth / 6076+rampLength_nm*divergence_pct)] / 60;
[0088] D=[-C(1),+C(2)].
[0089] For example, for a 200-foot runway width, a 1-nautical-mile ramp, and a 15% divergence, points A, B, C, D would be calculated as follows (expressed as floating point numbers in latitude and longitude at the equator):
[0090] A=[-5.399567e-4,+8.228934e-4]
[0091] B=[-5.399567e-4,-8.228934e-4]
[0092] C=[-1.720663e-2,-3.322893e-3]
[0093] D=[-1.720663e-2,+3.322893e-3]
[0094] 2b. Rotate and translate the standard point to the actual runway position
[0095] Next, the processor rotates and translates the standard A, B, C, and D points to the actual runway locations using an equirectangular approximation algorithm. Other rotation and transformation algorithms can be used if greater accuracy is required (e.g., half-sine formula, spherical law of cosines, etc.). 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.
[0096] Figure 7 The rotation and translation process is shown, whereby the standard runway 100 is transformed into the actual runway 102 through a series of rotations and translations shown at (1)-(4). The base end 20 and the opposite end 22 are processed separately. Figure 7In the example, 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 located at 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 located at 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).
[0097] In theory, 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 simpler (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 complicated. Therefore, in the disclosed algorithm, the rotation is performed first, followed by the translation.
[0098] 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:
[0099] Step 2b(0). Calculate the runway length and orientation in degrees at the equator using the equirectangular approximation.
[0100] cosLat=cos((bLat+rLat) / 2);
[0101] deltaLon=(rLon-bLon)*abs(cosLat);
[0102] deltaLat = (rLat - bLat);
[0103] length_deg=sqrt(deltaLon^2+deltaLat^2);
[0104] sinTheta=deltaLat / length_deg;
[0105] cosTheta=deltaLon / length_deg;
[0106] in:
[0107] bLat = runway base latitude
[0108] bLon = runway base longitude
[0109] rLat = latitude of the opposite end of the runway
[0110] rLon = longitude of the opposite end of the runway
[0111] Theta = Runway "Area"
[0112] Step 2b(1). Rotate the standard coordinates to orient to the actual runway base
[0113]
[0114] A ROT =R*A
[0115] B ROT =R*B
[0116] C ROT =R*C
[0117] D ROT =R*D
[0118] Step 2b(2) Rotate 180 degrees and translate to orient to the actual opposite end of the runway
[0119]
[0120] A ROT180 =R 180 *A ROT +T R
[0121] B ROT180 =R 180 *B ROT +T R
[0122] C ROT180 =R 180 *C ROT +T R
[0123] D ROT180 =R 180 *D ROT +T R
[0124] Step 2b(3) uses an equirectangular approximation to translate the rotated point to the actual runway base position:
[0125]
[0126] A B =M*A ROT +T
[0127] B B =M*B ROT +T
[0128] C B =M*C ROT +T
[0129] D B =M*D ROT +T
[0130] Step 2b(4) uses an equirectangular approximation to translate the rotated point to the actual runway opposite end position:
[0131] A R =M*A ROT180 +T
[0132] B R =M*B ROT180 +T
[0133] C R =M*C ROT180 +T
[0134] D R =M*D ROT180 +T
[0135] Step 2c. Calculate the elevation of each ramp vertex
[0136] Calculate the elevation of points AB and BB to be the same as the elevation of the runway base
[0137] Calculate the elevations of points AR and BR to be the same as the elevation of the opposite end of the runway
[0138] Using the small angle approximation, calculate the elevations of points CB and DB to be equal to: Runway base elevation + rampLength x (rampSlope) x pi / 180°
[0139] Using the small angle approximation, the elevations of points CR and DR are calculated to be equal to: Elevation of the opposite end of the runway + rampLength x (rampSlope) x pi / 180°
[0140] Step 3. Calculate the plane coefficient for each of the five regions
[0141] Next, the processor is Figure 8 The surface factor is calculated for each of the five areas (ramp R1-R4 and runway) shown in . Points to be used:
[0142] Runway: A B , B B , (A R +B R ) / 2
[0143] R1: (A B+B B ) / 2,C B , D B
[0144] R2: A B , B R , D B
[0145] R3: (A R +B R ) / 2,C R , D R
[0146] R4: A R , B B , C B
[0147] Given three points A, B, C, the plane coefficients a, b, c, d are defined as:
[0148] function[a,b,c,d]=planeCoefficients(A,B,C)
[0149] a=(B Y -A Y )*(C Z -A Z )-(B Z -A Z )*(C Y -A Y )
[0150] b=-((B X -A X )*(C Z -A Z )-(B Z -A Z )*(C X -A X ))
[0151] c=(B X -A X )*(C Y -A Y )-(B Y -A Y )*(C X -A X )
[0152] d=a*A X +b*A Y +c*A Z
[0153] end.
[0154] Where X = longitude, Y = latitude, and Z = elevation.
[0155] Fast update rate function - executed at terrain query time
[0156] Get query input:
[0157] Query longitude
[0158] Query latitude
[0159] Query uncertainty
[0160] The query area is defined by the four points defined using the query input above:
[0161] [longitude + uncertainty, latitude + uncertainty]
[0162] [Longitude – Uncertainty, Latitude + Uncertainty]
[0163] [Longitude – Uncertainty, Latitude – Uncertainty]
[0164] [Longitude + uncertainty, Latitude – uncertainty]
[0165] 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 region, another option is to check a single point (the query point) and then check that the uncertainty is less than the approach ramp region width.
[0166] You can check that a point is inside a convex polygon by computing four cross products between:
[0167] The vector from this point to one of the vertices
[0168] The vector from the vertex to the next vertex
[0169] Repeat for all polygon edges
[0170] If all four cross products have the same sign, then the point is inside the polygon. Fig. 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 is negative.
[0171] Algorithm for checking if a is inside a convex polygon
[0172] Define a vector as the subtraction between two points:
[0173] v_sub(A,B)=[A X -B X ,A Y -B Y ];
[0174] The cross product is defined as:
[0175] x_product(A,B)=A X *B Y –A Y *B X
[0176] For each line segment in the polygon:
[0177] Define a vector between a point and the origin of a line segment, for example:
[0178] a=v_sub(A,P1)
[0179] Define a line segment as the vector between two vertices of the segment, for example:
[0180] b=v_sub(B,A)
[0181] Compute the cross product (x-product) between two vectors:
[0182] prod = x_product(a,b)
[0183] Repeat for all four segments.
[0184] If all cross products have the same sign and are non-zero, then the point is inside the polygon.
[0185] Step 4. If the query area point is within the runway approach ramp area, then:
[0186] The approach zone elevation returned is the maximum elevation calculated using the plane equations for the 5 zones:
[0187] elev=(da*xb*y) / c
[0188] Where: a, b, c, d = plane coefficients calculated in step 3; x = longitude; y = latitude
[0189] As mentioned above, in option 2, the algorithm uses a slow update rate function to update or carve the local map instead of using the plane equation at query time. Steps 1 to 3 are the same until the plane coefficient calculation. Step 4 occurs with a slow update rate function. Each terrain cell near the runway and within each predefined area will have its elevation adjusted using the plane equation for that specific area.
[0190] Exemplary Hardware Embodiment
[0191] Fig.10 An exemplary hardware embodiment of a processor-based system for implementing the terrain carving operations discussed above is shown. The terrain carving system shown overall 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 a grid or tile, each grid or tile representing a unique terrain area associated with latitude and longitude coordinates and elevation (typically representing the highest point in the grid or tile).
[0192] 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 also store a working copy of the map data to support the local terrain map adjustment step 86 ( Figure 5 ).
[0193] 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 terrain elevation data for a terrain avoidance and warning system on an aircraft, the method comprising: Acquiring landing runway data of an aircraft runway, the landing runway data including longitude, latitude and elevation values of a base end of the aircraft runway and longitude, latitude and elevation values of an opposite end of the aircraft runway; Calculating the longitude, latitude and elevation values of the approach ramp vertex corresponding to the base ramp plane, the opposite ramp plane and the runway plane based on the acquired landing runway data; calculating plane equations based on the calculated approach ramp apex, wherein the calculated plane equations define elevations of points on the base ramp plane, the opposite ramp plane, and the runway plane; processing a query position of the aircraft, the query position being associated with a predicted future trajectory of the aircraft; calculating a terrain elevation value of the query location using at least one of the calculated plane equations; providing the calculated terrain elevation value to the terrain avoidance and warning system; as well as The calculated terrain elevation value is used to operate the terrain avoidance and warning system to check whether the predicted future trajectory will intersect terrain.
2. The method according to claim 1, further comprising: defining an area around the aircraft runway using the approach ramp apex; as well as The position of the aircraft is compared to the defined area to determine when to provide the calculated terrain elevation value to the terrain avoidance and warning system.
3. The method of claim 1 , wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined distance from an end of the aircraft runway, the end of the aircraft runway being defined by the landing runway data. 4 . The method of claim 1 , wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined ramp length of at least one of the base ramp plane and the opposite ramp plane. 5 . The method of claim 1 , wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined divergence angle associated with at least one of the base ramp plane and the opposite ramp plane. 6 . The method of claim 1 , wherein calculating the longitude, latitude, and elevation values for the approach ramp apex is based on a runway width associated with the aircraft runway.
7. The method of claim 1 , wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined approach glide slope angle associated with at least one of the base ramp plane and the opposite ramp plane.
8. A system for adjusting terrain elevation data for an aircraft, the system comprising: a terrain avoidance and warning system on said aircraft; a data source comprising stored terrain data, the stored terrain data comprising stored terrain elevation values, wherein the stored terrain elevation values are loadable into a computer memory onboard the aircraft to form a local terrain map comprising local terrain elevation values; At least one processor programmed to: Acquiring landing runway data of an aircraft runway, the landing runway data including longitude, latitude and elevation values of a base end of the aircraft runway and longitude, latitude and elevation values of an opposite end of the aircraft runway; Calculating the longitude, latitude and elevation values of the approach ramp vertex corresponding to the base ramp plane, the opposite ramp plane and the runway plane based on the acquired landing runway data; calculating plane equations based on the calculated approach ramp apex, wherein the calculated plane equations define elevations of points on the base ramp plane, the opposite ramp plane, and the runway plane; processing a query position of the aircraft, the query position being associated with a predicted future trajectory of the aircraft; calculating a terrain elevation value of the query location using at least one of the calculated plane equations; providing the calculated terrain elevation value to the terrain avoidance and warning system; as well as The terrain avoidance and warning system is operated using the calculated terrain elevation value instead of the local terrain elevation value to check whether the predicted future trajectory will intersect terrain.
9. The system of claim 8, wherein calculating the longitude, latitude, and elevation values for the approach ramp apex is based on a predetermined distance from an end of a runway for the aircraft, the end of the runway being defined by the landing runway data.
10. The system of claim 8, wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined ramp length of at least one of the base ramp plane and the opposite ramp plane.
11. The system of claim 8, wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined divergence angle associated with at least one of the base ramp plane and the opposite ramp plane.
12. The system of claim 8, wherein calculating the longitude, latitude, and elevation values for the approach ramp apex is based on a runway width associated with the aircraft runway.
13. The system of claim 8, wherein calculating the longitude, latitude, and elevation values of the approach ramp apex is based on a predetermined approach glide slope angle associated with at least one of the base ramp plane and the opposite ramp plane.
14. The system of claim 8, wherein the landing runway data includes runway-specific dimensions of the aircraft runway.
15. The system of claim 8, wherein the landing runway data includes approach specific dimensions of the aircraft runway.
16. A method of adjusting terrain elevation data for a terrain avoidance and warning system on an aircraft, the method comprising: Acquiring landing runway data of an aircraft runway, the landing runway data including longitude, latitude and elevation values of a base end of the aircraft runway and longitude, latitude and elevation values of an opposite end of the aircraft runway; Calculating the longitude, latitude and elevation values of the approach ramp vertex corresponding to the base ramp plane, the opposite ramp plane and the runway plane based on the acquired landing runway data; calculating plane equations based on the calculated approach ramp apex, wherein the calculated plane equations define elevations of points on the base ramp plane, the opposite ramp plane, and the runway plane; processing a query position of the aircraft, the query position being associated with a predicted future trajectory of the aircraft; obtaining a local terrain elevation value of the query location from a local terrain map loaded into a computer memory on the aircraft; calculating a terrain elevation value of the query location using at least one of the calculated plane equations; providing a minimum of the local terrain elevation value and the calculated terrain elevation value to the terrain avoidance and warning system; as well as The terrain avoidance and warning system is operated using the provided minimum value to check whether the predicted future trajectory will intersect terrain.
17. The method of claim 16, wherein: The runway approach ramp area of the aircraft runway includes the base end ramp plane, the opposite end ramp plane and the runway plane; The method further comprises the step of determining whether the query position is within the runway approach ramp region; as well as Calculating the terrain elevation value is performed when it is determined that the query position is within the runway approach ramp area.
Citation Information
Patent Citations
Method of navigating an aircraft to land on a runway
KR100886404B1
Aircraft terrain information system
US20010056316A1
System and method for rendering a synthetic perspective display of a designated object or location
US20100211237A1
Onboard system for the prevention of collisions of an aircraft with the ground with end-of-conflict indication
US20100274486A1
Method and Device for the Filtering of Alerts Originating from a Collision Detection System of an Aircraft
US20130191016A1
