Methods, systems, and computer program products for re-sampling terrain data in a vehicle from latitude/longitude format into a cartesian format. The present invention permits incremental updates of the terrain elevation map as the vehicle travels. The present invention includes memory for storing terrain elevation data, a navigation component for generating aircraft position information, and a processor in communication with the memory and the navigation component. The processor retrieves terrain elevation data from the memory based on the generated aircraft position information, and generates a cartesian coordinate-referenced terrain elevation map based on the retrieved terrain elevation data and the aircraft position information.
|
1. A method for generating a terrain elevation map in proximity to a vehicle, the method comprising:
retrieving terrain elevation data based on aircraft position information generated by a navigation component; and
generating a cartesian coordinate-referenced terrain elevation map based on the retrieved terrain elevation data and the aircraft position information received from the navigation component, wherein generating the terrain elevation map comprises:
initializing the terrain elevation map;
updating the initialized terrain elevation map; and
updating a rotation angle of the terrain elevation map.
12. A computer program product for generating a terrain elevation map relative to a vehicle, the product comprising:
a component for retrieving terrain elevation data based on aircraft position information generated by a navigation component; and
a component for generating a cartesian coordinate-referenced terrain elevation map based on the retrieved terrain elevation data and the aircraft position information received from the navigation component, wherein the component for generating the terrain elevation map comprises:
a component for initializing the terrain elevation map;
a component for updating the initialized terrain elevation map; and
a component for updating a rotation angle of the terrain elevation map.
23. A system for generating a terrain elevation map relative to a vehicle, the system comprising:
memory for storing terrain elevation data;
a navigation component for generating aircraft position information; and
a processor in communication with the memory and the navigation component, the processor comprising:
a component for retrieving terrain elevation data from the memory based on the generated aircraft position information; and
a component for generating a cartesian coordinate-referenced terrain elevation map based on the retrieved terrain elevation data and the aircraft position information, wherein the component for generating the terrain elevation map comprises:
a component for initializing the terrain elevation map;
a component for updating the initialized terrain elevation map; and
a component for updating a rotation angle of the terrain elevation map.
2. The method of
3. The method of
sending the generated terrain elevation map to a display processor; and
generating a map image for display based on the sent terrain elevation map.
4. The method of
5. The method of
sending the terrain elevation map to the navigation component;
generating navigation signals at the navigation component based on the received terrain elevation map; and
sending the generated navigation signals to one or more navigation units for presentation.
7. The method of
8. The method of
setting a stabilized transform matrix equal to a north referenced transform matrix;
setting a rotation angle between a north referenced frame and a stabilized frame equal to zero;
calculating each position of the cells of an earth centered earth fixed referenced frame;
calculating latitude and longitude for each of the cells in the earth centered earth fixed referenced frame; and
mapping terrain elevation data into a terrain elevation map referenced to the stabilized frame based on the calculated latitude and longitude and the stabilized transform matrix.
9. The method of
determining if the vehicle has moved a distance at least one of greater than or equal to a threshold amount; and
adding at least one other row or column of terrain elevation data to the terrain elevation map if the vehicle was determined to move at least one of greater than or equal to the threshold amount.
10. The method of
determining incremental displacement values of the vehicle; and
updating the rotation angle between the stabilized frame and the north referenced frame based on the determined incremental displacement values.
11. The method of
13. The product of
14. The product of
a component for sending the generated terrain elevation map to a display processor; and
a component for generating a map image for display based on the sent terrain elevation map.
15. The product of
16. The product of
a component for sending the terrain elevation map to the navigation component;
a component for generating navigation signals at the navigation component based on the received terrain elevation map; and
a component for sending the generated navigation signals to one or more navigation units for presentation.
17. The product of
18. The product of
19. The product of
a component for setting a stabilized transform matrix equal to a north referenced transform matrix;
a component for setting a rotation angle between a north referenced frame and a stabilized frame equal to zero;
a component for calculating each position of the cells of a centered earth fixed referenced frame;
a component for calculating latitude and longitude for each of the cells in the earth centered earth fixed referenced frame; and
a component for mapping terrain elevation data into a terrain elevation map referenced to the stabilized frame based on the calculated latitude and longitude and the stabilized transform matrix.
20. The product of
a component for determining if the vehicle has moved a distance greater than a threshold amount; and
a component for adding at least one other row or column of terrain elevation data to the terrain elevation map if the vehicle was determined to move at least one of greater than or equal to the threshold amount.
21. The product of
a component for determining incremental displacement values of the vehicle; and
a component for updating the rotation angle between the stabilized frame and the north referenced frame based on the determined incremental displacement values.
22. The product of
24. The system of
25. The system of
a display processor in communication with the processor, the display processor generates a map image.
26. The system of
27. The system of
a component for generating navigation signals based on the received terrain elevation map, and
a component for presenting at least a portion of the generated navigation signals.
28. The system of
29. The system of
a component for setting a stabilized transform matrix equal to a north referenced transform matrix;
a component for setting a rotation angle between a north referenced frame and a stabilized frame equal to zero;
a component for calculating each position of the cells of a centered earth fixed referenced frame;
a component for calculating latitude and longitude for each of the cells in the earth centered earth fixed referenced frame; and
a component for mapping terrain elevation data into a terrain elevation map referenced to the stabilized frame based on the calculated latitude and longitude and the stabilized transform matrix.
30. The system of
a component for determining if the vehicle has moved a distance greater than a threshold amount; and
a component for adding at least one other row or column of terrain elevation data to the terrain elevation map if the vehicle was determined to move at least one of greater than or equal to the threshold amount.
31. The system of
a component for determining incremental displacement values of the vehicle; and
a component for updating the rotation angle between the stabilized frame and the north referenced frame based on the determined incremental displacement values.
32. The system of
|
This application claims the benefit of U.S. Provisional Application Ser. No. 60/528,297, filed Dec. 10, 2003, which is hereby incorporated by reference.
This invention relates generally to navigation and, more specifically, to displaying terrain elevation maps in a vehicle.
Terrain elevation maps are frequently used in aviation for purposes of maintaining pilot spatial situation awareness, and for other purposes that include airborne radar signal processing. For display, or for processing purposes, the map of terrain is represented on a two dimensional planar display in an x/y Cartesian format, even though the terrain is superimposed on the spherically curved earth surface. Because the radius of curvature is large, and the size of the region represented by the map is small with respect to the radius of the earth, the “flat earth” representation of the terrain elevation map is acceptable.
The use of terrain elevation data in a Cartesian format is complicated by the fact that terrain data is typically provided as points uniformly sampled in latitude and longitude. It is often the practice to present terrain data in the latitude/longitude format as an approximation to the desired x/y format. This representation of terrain elevation in the latitude/longitude format is reasonably good at latitudes near the equator. However, terrain elevation data represented in the lat/long format presents some processing anomalies at other latitudes.
Typically, a terrain elevation map in an aircraft, or in any moving vehicle, represents the terrain over a limited size region in the vicinity of the vehicle. The size of the region depends on display, or other, requirements. As the vehicle moves, it is necessary to update the map data to incorporate the new terrain. If the map is maintained with an orientation referenced to true north, the reference frame of a generated map has to rotate to maintain the orientation to true north as the vehicle travels. This will occur at any latitude except at the equator. As a result, if the map is maintained referenced to north, a map update that includes this reference frame rotation must consist of re-building the entire map in order to maintain the north reference. This is necessary despite the fact that new terrain entering the mapped region may constitute a relatively small portion of the map. Re-building the entire map can result in substantial computation burden and cost.
Therefore, there exists a need to provide a terrain elevation map that does not introduce excessive distortion, and which permits an incremental update to the map as the vehicle moves that prevents the need to periodically re-build the map.
The present invention provides methods, systems, and computer program products for re-sampling terrain data in a vehicle from latitude/longitude format into a Cartesian format, to permit incremental updates of the terrain elevation map as the vehicle travels.
In one embodiment the system includes memory for storing terrain elevation data, a navigation component for generating aircraft position information, and a processor in communication with the memory and the navigation component. The processor retrieves terrain elevation data from the memory based on the generated aircraft position information, and generates a Cartesian coordinate-referenced terrain elevation map based on the retrieved terrain elevation data and the aircraft position information.
The system also includes a display processor in communication with the processor that generates a map image.
In one aspect of the invention, the navigation component includes a ground proximity warning system that generates one or more of a ground proximity caution or warning based on the generated terrain elevation map.
In another aspect of the invention, the system includes a radar system that generates a volumetric buffer based on the terrain elevation map and radar signals generated by the radar system.
The preferred and alternative embodiments of the present invention are described in detail below with reference to the following drawings.
The processor 30 generates a terrain elevation map by re-sampling terrain data stored in the database 34 from a latitude/longitude format into a Cartesian format based on aircraft position information received from the navigation system 32. The processor 30 also incremental updates the terrain elevation map as the vehicle 20 travels. The terrain elevation map is stored in the database 34 or transmitted to the navigation system 32, the display 36, or the radar system 38.
In one embodiment, the processor 30 is a general-purpose digital computer that interacts with the navigation system 32, the database 34, the display 36, and/or the radar system 38 and operates according to processes described below.
In one embodiment, the terrain elevation map is presented on the display 36. In another embodiment, the navigation system 32 uses the terrain elevation map for use by a ground proximity warning component or a navigation component, or for other associated purposes. In still another embodiment, the radar system 38 uses the terrain elevation map in various operations, such as radar tilt control or in generation of a volumetric radar return buffer.
In an alternate embodiment, the terrain elevation map is transmitted from the database 34 to the navigation system 32, the display 36, or the radar system 38.
As shown in
As shown in
As shown in
The terrain elevation map is maintained in the SLL frame in a Cartesian (i.e., x/y) format. In one embodiment the terrain elevation map is maintained with the vehicle (e.g., aircraft) near the center. If the vehicle moves a distance equal to one cell in x or y (or actually in the curvilinear coordinates xi and eta), then a row or column of new terrain data is needed and a row or column is dropped off of the terrain elevation map behind the vehicle based on the direction of travel. When adding a new cell, the curvilinear coordinates of the points (cells) in the new row or column are determined. The curvilinear coordinates represent the distance along the surface of the earth from the reference point (i.e., where the SLL z-axis penetrates the surface of the earth). The curvilinear coordinates are converted into rotation angles by dividing by the radius of the earth. The position of the point in the SLL frame is calculated using the rotation angles. The position is transformed to the ECEF frame by multiplying by the SLL-to-ECEF transformation matrix. The transformed position is used to calculate the lat/long of the point. The terrain elevation data associated with the calculated lat/long is then entered into, assigned to, or associated with the point.
As shown in
The rotation angle is used for performing geometric calculations with the terrain elevation map, such as those done for the Volumetric Buffer radar processing and for display. For display, the terrain elevation map is preferably oriented with respect to true north. The rotation angle indicates how much to rotate the terrain elevation map when processing it for display.
Mathematical Description
Locations in a map plane include two-dimensional coordinates (ξ, η), where ξ and η represent distances in a display plane in orthogonal directions. On a curved earth surface, the (ξ, η) coordinates correspond to arc lengths along the mean surface of the earth. Therefore, the (ξ, η) coordinates map into angle coordinates (φ, θ) via the following relations:
where rearth is the mean earth radius.
A z-axis points in the local vertical direction, a position vector [x,y,z]T of a point in the display plane defined by the coordinates (ξ, η) is calculated as follows:
where φ and θ are obtained from ξ and η using Equation (1). The position defined in Equation (2) is normalized by the radius of the earth. From Equation (2) ξ signifies an arc length in the x direction, and η signifies an arc length in the y direction.
A reference frame where the z-axis is in the local vertical direction is selected. An example of a commonly used reference frame is the local-level north referenced (LLNR) frame.
A position vector in the ECEF frame is obtained from the following.
where Θ is the latitude, and Φ is the longitude. The latitude and longitude are calculated as follows:
Θ=sin−1yECEF, Φ=arctan(zECEF,xECEF) (4)
where xECEF, yECEF, and zECEF are the components of the position vector in the ECEF frame, and arctan(x,y) is a four quadrant arctangent function.
At this point, we can calculate position vectors in the LLNR frame from curvalinear coordinates (ξ, η) using Equations (1) and (2), and we can calculate latitude and longitude from the position vector defined in the ECEF frame. What is missing is a means of transforming the position vector defined in the LLNR to a position vector defined in the ECEF. We can accomplish this by performing the following operation:
where [x, y, z]ECEFT describes the location of a point in the ECEF frame, [x, y, z]LLNRT describes the location in the LLNR frame and ALLNR/EF is the transformation matrix given by
where Θ is the latitude of the vehicle, and Φ is the longitude of the vehicle.
Databases of terrain elevation are provided in the form of sample points with respect to a reference frame fixed to the earth. These samples are provided as samples with some spacing in latitude and longitude. In order to get a terrain elevation map with a proper spatial relationship between sample points, we need to be able to calculate latitude and longitude for points sampled in (ξ, η) space.
The operations to perform this task are as follows. For each of the points sampled in (ξ, η), the application of Equations (1) and (2) results in the position vector in the LLNR. The position vector is then multiplied by the transformation matrix (Equations (5) and (6)) to give the position vector in the ECEF frame. These coordinates are then applied to Equation (4) to get the latitude and longitude of the sample point. Using latitude and longitude, the terrain elevation is extracted from the terrain database. The result is a terrain elevation map with the proper spatial relationships between sample points.
In an alternate embodiment, the processor 30 augments the terrain elevation map only along its leading edges as the vehicle moves, thereby, eliminating regenerating the entire terrain elevation map. This embodiment ensures that the rows and columns of the map that are generated are valid (i.e., sufficiently accurate) during the entire time it takes for the vehicle to traverse the map. However, performing this type of incremental update using the LLNR reference frame is not practical since maintaining the orientation with true north requires the rotation of the reference frame, and so the rotation of the rows and columns of the map. However, maintaining the terrain map in a different reference frame can allow the desired incremental updating.
This new reference frame is similar to the LLNR in that the z-axis is in the local vertical direction. However, the new reference frame is not referenced to north, but instead is in a sense “stabilized” so that there is no rotation. This new reference frame will be referred to as the Stabilized Local Level (SLL) frame.
The use of the SLL frame is accomplished by maintaining the SLL-to-ECEF transformation matrix. Then the computation of terrain elevation map points is performed in a manner similar to the procedure described above, but with the SLL-to-ECEF transform matrix used in place of the LLNR-to-ECEF transform.
The SLL-to-ECEF transform matrix ASLL/EF is initialized to be equal to ALLNR/EF, which is calculated from the vehicle's latitude and longitude using Equation (6). However, whereas the ALLNR/EF matrix is updated at some time interval by recalculation using the vehicle's new latitude and longitude, the update of the SLL-to-ECEF transform is accomplished by performing an incremental rotation of the SLL frame by rotation angles defined in the SLL frame. These rotation angles are obtained by accumulating the vehicle distance traveled since the last update using data from the navigation system 32. This results in an integral displacement of δξ and δη defined in the SLL frame. δξ and δη are easily calculated using data from a navigation system. However, because the SLL is incrementally rotated with respect to the LLNR, the calculation of δξ and δη from navigation system data must take into account the rotation angle. Initially, the incremental rotation angle is zero, because the SLL is initially the same as the LLNR. As the vehicle travels, the rotation angle deviates from zero, so it is necessary to calculate the rotation angle as part of the processing. The calculation of the rotation angle is described later in this document.
Given the incremental displacements δξ and δη since the last update, the incremental rotation angles for the update are calculated by dividing by the radius of the earth, giving:
These incremental rotations are then used to rotate the SLL frame, resulting in a new SLL-to-ECEF transform obtained from the following calculation.
While the LLNR frame is forced to have the z-axis directed through the vehicle position in the local up direction, it is possible for errors to build up as the process given in Equation (8) is iteratively applied. The build-up of errors results if the SLL z-axis drifting away from the vehicle position. However, the SLL frame can be “locked” to the vehicle by calculating the following difference vector after each update:
The matrix product ATSLL/EFALLNR/EF gives the LLNR-to-SLL transform. Therefore, the vector Δ is equal to the vector difference between the z-axis in the LLNR (which points to the vehicle position) transformed to the SLL, and the z-axis in the SLL. This is essentially the residual vehicle position error in the SLL after the update. The SLL is kept “locked” to the vehicle by setting the aircraft incremental displacement after the update to values derived from Δ as follows: δξ=the x component of Δ, δη=the y component of Δ. Then the navigation system data is used to accumulate additional contributions to these incremental displacements until the next SLL frame update.
The navigation system 32 typically provide heading and velocity vector data referenced to true north. However for use with the SLL, heading and track angles referenced to a principal axis in the SLL frame (the y-axis for example) are used. Therefore, the rotation angle between the SLL and LLNR frames are determined for transforming velocity and heading in the LLNR (from navigation sensors) to velocity and heading in the SLL. In one embodiment, the rotation angle between the SLL and LLNR frames is obtained by calculating the orientation of north (i.e., the LLNR frame y-axis) in the SLL frame as follows:
The rotation angle is obtained from the x and y components by
γ=arctan(xSLL, ySLL) (11)
Then to determine the corresponding angle to use for navigation within the SLL frame, the angle γ should be added to the north-referenced angle obtained from the navigation system, so that
φSLL=φLLNR+γ (12)
where φSLL is a bearing angle (i.e., heading or track angle) in the SLL frame and φLLNR is the corresponding true north referenced bearing obtained from a navigation system. The rotation angle γ calculated at the update time and used during the period between updates.
While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. For example, the steps performed in the processes above may be performed in various order without departing from the scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.
Patent | Priority | Assignee | Title |
8553946, | Jan 10 2007 | TOMTOM NAVIGATION B V | Displaying elevation information from a digital map |
Patent | Priority | Assignee | Title |
5086396, | Feb 02 1989 | Honeywell Inc. | Apparatus and method for an aircraft navigation system having improved mission management and survivability capabilities |
5574649, | Sep 27 1991 | Position-locating method and apparatus including corrections for elevational changes | |
5995903, | Nov 12 1996 | TARANIS IP LLC | Method and system for assisting navigation using rendered terrain imagery |
6020893, | Apr 11 1997 | NOVALOGIC, INC | System and method for realistic terrain simulation |
6216065, | Aug 06 1999 | TEXTRON IPMP L P ; BELL HELICOPTER MICHIGAN, INC | Method and system for creating an approach to a position on the ground from a location above the ground |
6288721, | Jul 07 1999 | Northrop Grumman Systems Corporation | Rendering process and method for digital map illumination intensity shading |
6335695, | Jul 21 1999 | Denso Corporation | Map display apparatus |
6389355, | Sep 14 1999 | Honeywell International Inc. | Methods and apparatus for graphical display and editing of flight plans |
20010023390, | |||
20020188386, | |||
20040141170, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 15 2004 | CHRISTIANSON, PAUL E | Honeywell International Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015121 | /0714 | |
Mar 17 2004 | Honeywell International Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Feb 19 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 25 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 02 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 12 2009 | 4 years fee payment window open |
Mar 12 2010 | 6 months grace period start (w surcharge) |
Sep 12 2010 | patent expiry (for year 4) |
Sep 12 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 12 2013 | 8 years fee payment window open |
Mar 12 2014 | 6 months grace period start (w surcharge) |
Sep 12 2014 | patent expiry (for year 8) |
Sep 12 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 12 2017 | 12 years fee payment window open |
Mar 12 2018 | 6 months grace period start (w surcharge) |
Sep 12 2018 | patent expiry (for year 12) |
Sep 12 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |