REAL-TIME, THREE-DIMENSIONAL SYNTHETIC VISION DISPLAY OF SENSOR-VALIDATED TERRAIN DATA
A terrain database that is rendered in three-dimensional perspective on a Synthetic Vision display in a moving vehicle is updated in real-time in response to data from a ranging sensor. The updated database may be stored and shared with users of displays in other vehicles.
Latest MERCURY COMPUTER SYSTEMS, INC. Patents:
- Slot and memory module for a slot standing interconnect
- AIR-FLOW-BY COOLING TECHNOLOGY AND AIR-FLOW-BY CIRCUIT BOARD MODULES
- Optimized implementation of back projection for computed tomography (CT)
- SLOT AND MEMORY MODULE FOR A SLOT STANDING INTERCONNECT
- OPTIMIZED IMPLEMENTATION OF BACK PROJECTION FOR COMPUTED TOMOGRAPHY (CT)
The invention relates generally to Synthetic Vision systems. In particular it relates to real-time updating and three-dimensional visualization of Synthetic Vision terrain data.
BACKGROUNDConsider the predicament of a helicopter pilot flying in darkness or low-visibility weather conditions. Equipped with conventional navigation systems today's pilot is forced to fly slowly and find a way through the murk.
Perhaps the helicopter has a modern global positioning system (GPS) receiver on board coupled to a “moving map” display. This system shows the position of the aircraft as a symbol on a two-dimensional electronic map. It provides the same type of situational awareness that the pilot could achieve using a paper map, although much more easily and accurately.
Conventional moving maps do not show altitude above the ground, however. Rapid progress is being made in developing maps that change color as height over the ground changes, but while these systems offer an improvement in situational awareness, they are more suited for avoiding a mountain range than for threading one's way between peaks.
Radar altimetry is an example of an active sensor for detecting height above terrain. A radar altimeter emits radio waves and times how long they take to return to the aircraft after reflecting off the ground. The time delay is converted into distance. Radar altimeters are often used as a numerical aid during a precision approach to a runway. Radar altimeters have limited range, generally point straight down, and offer only one data point for each aircraft position. Radar, lidar and other types of ranging sensors can give a pilot a reasonable “picture” of objects in his immediate vicinity. However, skill and experience are needed to interpret radar images.
A new approach to vehicle control in low visibility is being developed. The concept is to replace the view a pilot sees out his cockpit window, i.e. his conventional vision, with Synthetic Vision, a three-dimensional perspective view of the outside world rendered on artificial display. Synthetic Vision uses computer graphics to show terrain and man-made objects in the same position, orientation and perspective as they would appear if one were looking at them on a bright, clear day.
Of course, the Synthetic Vision system has to “know” where the terrain is and also where the aircraft is. For example, GPS sensors and microelectromechanical gyroscopes and accelerometers are often used to obtain the position and spatial orientation (“attitude”) of an aircraft. The location of terrain and objects on the ground is stored in a database that contains latitude, longitude and altitude (e.g. height above mean sea level) information for the ground, buildings, towers, etc. Clearly the utility of a Synthetic Vision system depends critically on the accuracy and precision of its database.
One source of terrain data for Synthetic Vision is the Shuttle Radar Topography Mission (SRTM) which employed a specially modified radar system that flew onboard the Space Shuttle Endeavour during an 11-day mission in February, 2000. The mission obtained elevation data on a global scale to generate a nearly complete high-resolution digital topographic database of Earth. NASA has released version 2 of the SRTM digital topographic data (also known as the “finished” version). For regions outside the United States the new data set is sampled at 3 arc-seconds, which is 1/1200th of a degree of latitude and longitude, or about 90 meters (295 feet).
Version 2 is the result of a substantial editing effort by the National Geospatial Intelligence Agency and exhibits well-defined water bodies and coastlines and the absence of spikes and wells (single pixel errors), although some areas of missing data (‘voids’) are still present. Therefore, while the SRTM provides an excellent baseline it is still imperative that Synthetic Vision databases be checked for accuracy before pilots depend on them for terrain clearance.
Researcher Maqarten Uijt de Haag has disclosed a database validation system that involves comparing radar altimeter measurements, GPS altitude and a terrain database to find places where the database is inaccurate or unreliable. The altitude of the airplane is measured by GPS and the radar altitude. The difference in those two altitudes should be equal to the terrain elevation stored in the database. If the system finds a significant difference then a warning signal is sent to the pilot. This approach serves the function of monitoring the accuracy and reliability of the terrain database, but it does not update the database with the sensor measurements or morph the terrain skin shown to the pilot in real time on a Synthetic Vision display. (See, for example: M. Uijt de Haag et al., “Terrain Database Integrity Monitoring for Synthetic Vision Systems”, IEEE Transactions on Aerospace and Electronic Systems, vol. 41, p. 386-406, April 2005; A. Vadlamani et al., “Improved Downward-Looking Terrain Database Integrity Monitor and Terrain Navigation,” Proc. IEEE Aerospace Conf., p. 1594-1607, March 2004; and, A. Vadlamani et al., “A 3-D Spatial Integrity Monitor for Terrain Databases,” Proc. 23rd IEEE/AIAA Digital Avionics Systems Conf. (DASC), p. 4.C.2-1-4.C.2-13, October 2004; all of which are incorporated herein by reference.)
Suppose that an elevation database is available for the area in which the rescue helicopter mentioned earlier is flying. In low visibility conditions a Synthetic Vision display showing a three-dimensional computer graphic depiction of nearby terrain would be very valuable. But what level of database reliability does the pilot require in order to believe that when his Synthetic Vision shows no obstacles, there really is nothing out there?
Alternatively, suppose the helicopter is equipped with radar, lidar, or generically, any kind of ranging sensor. Such a system can display images of the outside world as built up from real-time ranging measurements. Although radar systems are helpful, they have fundamental limitations. First of all, radar shows an image of what it sees at the moment, but it doesn't remember what it saw before. The radar transmitter must be pointed in the direction one wants to see. Also, radar does not see around a corner in a valley, or over a ridge. Finally, radar necessarily involves the transmission of high power electromagnetic energy which may be detected by an enemy; or worse provides a homing signal for enemy weapons.
Clearly Synthetic Vision and radar each have limitations that the other could help overcome. Unfortunately no system exists that combines the best characteristics of each technology in an intuitive presentation that any pilot can understand.
A helicopter flight in poor visibility is only an example of one scenario where Synthetic Vision is valuable. Boats, ships, hovercraft, airplanes, submarines, cars and trucks all find themselves in situations where a clear view outside, albeit a synthetic view, could spell the difference between successfully completing a mission or a disastrous collision. In each case, knowledge that the synthetic view had been validated by a ranging sensor (e.g. sonar on a submarine) would increase the confidence of the user of the display. In situations where stealth is required users might be satisfied if they knew that their synthetic database view had been recently updated by a friendly vehicle.
Reliance on static databases is a shortcoming of present Synthetic Vision systems. Synthetic Vision systems should instead treat their databases as information that changes dynamically. Visualization of the database (i.e. on a three-dimensional perspective Synthetic Vision display) should provide cues as to the reliability of the data presented.
To reach the full potential of Synthetic Vision, a system must be created that displays a Synthetic Vision database in three-dimensional perspective according to a user's attitude and position while simultaneously providing intuitive cues that help the user understand which data has been validated.
An advanced Synthetic Vision system is disclosed. The system provides a synthetic view of terrain and obstacles in the vicinity of a moving vehicle. The synthetic view is a computer rendering, in three-dimensional perspective, of objects in a terrain database. The database is updated in real-time in response to data obtained by a ranging sensor. The database may be stored and shared with other vehicles.
The synthetic view displays terrain around the vehicle in the same position, orientation and perspective in which it would appear on a bright, clear day (i.e. in the absence of any restrictions to vision). The synthetic view may therefore be used in darkness or low-visibility conditions to replace one's normal vision with Synthetic Vision. The location of terrain and obstacles is stored in a computer database.
As an example, a Synthetic Vision system mounted in a helicopter provides the helicopter pilot with a synthetic view of the helicopter's surroundings. A radar system in the helicopter is integrated with the Synthetic Vision system to update a terrain or obstacle database in real-time. In a different example, a Synthetic Vision system mounted in a submarine provides the helmsman with a synthetic view of the submarine's surroundings. A sonar system in the submarine is integrated with the Synthetic Vision system to update a sea floor or obstacle database in real-time.
For discussion purposes it may be helpful to distinguish between terrain data and the display of that data in an image. The data itself is a large collection of numerical values that is stored by any one or a combination of conventional means such as dynamic random access computer memory, flash memory, magnetic recording, etc. The image on the other hand is the representation of the data in graphical form for easy human interpretation.
The data represented in the image in
Although the grid illustrated in
Real world terrain features such as peaks and valleys may occur anywhere. The grid points shown in
Visual characteristics of the image in
In
Regardless of what the significance of validated data may be, it is brought to attention by displaying it differently from other data. One of the most effective ways to distinguish validated data is to show it in a distinctive color. Often validated data is shown in green, for example, to convey a sense of safety and security. In combination with color, brightness and texture are qualities that are effective to distinguish validate data. Validated data is more easily interpreted if it is brighter than its surroundings and if it has a texture. When color separation is not available, for example on a monochrome display, texture and brightness can still be effective visual cues. In
A combination of preexisting and validated data is displayed in
In
Another way to understand images such as
Simplicity and clarity are desirable attributes of a Synthetic Vision display and, as in
In
Although not shown in
In
Fusion and graphics processor (“the processor”) 505 may be implemented in off-the-shelf or custom computer processing hardware. The processor performs the algorithm outlined in
Two-way communication is required between the processor and terrain database 515. The processor both receives terrain data from the database and sends updated data to the database as it is created. Thus the database is a dynamic entity, the contents of which are constantly changing.
Database 515 may comprise both low and high access speed memory devices. For example, it can include magnetic disk storage as well as random access memory (RAM). Information for a large region can be moved from disk to RAM as needed. The database is updated in response to information obtained by ranging sensor(s) 520.
Ranging sensor(s) 520 may include radar, lidar, sonar, or other technologies. In general however, a ranging sensor provides the range to the nearest obstacle in a particular direction (i.e. azimuth, elevation, radius). A practical ranging sensor emits a beam of finite angular width; thus the farther the beam travels the more area it encompasses perpendicular to the direction of travel. Long distance measurements cover more area than close measurements. The ranging sensor usually includes a scanning system so that an image can be built up from point measurements.
The database may also be updated by data received via datalink 555. As an example, helicopters returning from a mission may transmit recent database information to helicopters leaving to go to the same place.
Position and attitude sensors 510 provide position and orientation data to processor 505. This sensor suite may include GPS receivers, heading sensors, gyroscopes and accelerometers among other sensors. The sensor data may also be sent to outbound data-link 550 and data storage unit 530. Storage unit 530 may comprise RAM, disk or other memory devices.
Additional vehicle state information is provided to processor 505 by sensors in block 535. This information is in addition to position and attitude and may include parameters such as airspeed, radio-navigation data, temperature, etc. Control blocks 540 and 545 comprise all adjustments and inputs that a user can present to the processor and the display respectively.
Although the processor performs many functions, not all of which are described here, its main job is to perform the algorithm shown in
In
Based on the latest position and attitude information appropriate synthetic terrain data for the surrounding area is loaded (“paged-in”) to the processor in step 625. Attitude as well as position is needed because the perspective view of the surrounding terrain depends upon how the vehicle is oriented. This is in contrast to a simple map system where only position is necessary.
Ranging sensor measurements, for example radar information, are received by the processor in step 630. These measurements include range (i.e. distance) information and the azimuth and elevation angles that the sensor was pointing at the time of the measurement. These angles and the range are measured with respect to the vehicle. To compare these data with database data the (azimuth, elevation, range) triad must be transformed from vehicle-relative coordinates to global-relative coordinates (latitude, longitude, altitude). This process is referred to as a [III][II][I] or Yaw, Pitch, Roll coordinate transform, the principles of which are well known in the art.
In step 635 the sensor information is compared with terrain database data. In this step the processor determines which topography grid points contained in the database should be updated. The updating operation includes saving updated database information. Further details of how the sensor data is interpolated to update the elevation of grid points are provided in connection with
The updated terrain information is rendered into a computer graphic image in step 640. This operation encompasses all the graphics rendering calculations. Finally, additional symbology such as attitude and heading information is overlaid onto the image in step 645. At this point the processor checks to see if further operation is required. If it is, the process just described repeats itself starting at step 620; otherwise the processor stops in step 650.
As mentioned earlier, a regular or irregular network of grid points in a synthetic terrain view is a useful feature because it forms a scalable system. When new terrain elevation data for an arbitrary position on the ground is obtained by a ranging sensor, that data is used to adjust the height of nearby grid points. The number of grid points and their lateral locations do not change however. Therefore, no matter how much new terrain elevation data arrives, the number of computations required to display the synthetic view does not change.
Contrast this situation with a system that added a new grid point at the location of each new sensor measurement. The number of grid points would grow quickly and the computational burden would become so large that real-time processing would not be feasible.
Incoming ranging sensor data can be incorporated into a grid terrain database through interpolation with an influence function. The influence function specifies how much effect new elevation data received for an arbitrary location has on nearby grid points. The influence function may be related to the sensor's beamwidth and/or be appropriately modified to account for other system requirements, such as, for example, database grid structure and spacing.
Influence functions 710, 715 and 720 share the properties:
I=0 for all r>r0; and,
I is not defined for r<0.
Function 710 is a “top hat” function in which I=1 for r≦r0. Function 715 decreases linearly from I=1 at r=0 to I=0 at r=r0. Function 720 decreases monotonically from I=1 at r=0 to I=0 at r=r0. Function 720 could be a cubic approximation to a Gaussian function, for example.
Although influence functions 710, 715 and 720 decrease monotonically from r=0 to r=r0 this is not a requirement for all influence functions. Similarly, although influence functions 710, 715 and 720 are equal to one at r=0 this is not a requirement for all influence functions. However all influence functions must obey the properties: I=0 for all r>r0; and, I is not defined for r<0.
Further understanding of the use of an influence function may be obtained by inspection of
Suppose that a ranging sensor (e.g. 520 in
Point A as reported by the sensor is located in space by the processor in terms of latitude, longitude and altitude: latA, lonA, altA,sensor. The processor first uses existing grid database points to calculate an altitude for point A based on prior data: altA,database. This is done by interpolating the altitudes of nearby grid points. Next the difference, Δalt, between the measured and interpolated altitudes at point A is calculated:
Δalt=altA,sensor−altA,database
An influence function is now used to determine how much to adjust the elevation of points that lie a distance r0 or less away from point A. Consider point Y, for example. Point Y is less than r0 away from A and its elevation is updated according to:
altY,updated=altY,database+Δalt·IY
IY is the value of the influence function (e.g. function 720 in
The process is repeated for any other grid points that lie within a distance r0 from point A. After all the grid points within r0 from point A have been updated, there is no longer any need for the system to remember anything about point A and all information about it (latA, lonA, altA,sensor) can be discarded. In this way the system adjusts and validates dynamic terrain based on sensor data.
Physically, r0 is related to the properties of the imaging sensor and level of terrain detail required. If the ranging sensor has a wide beam width then sensor measurements are derived from large areas of terrain. One simple method is to determine r0 as:
r0=(sensor beam half-angle)·(sensed range to terrain point)
r0 should be prevented from being too large or else too many grid adjustment calculations will be required and the processor will not be able to keep up with the arrival of new data. Therefore r0 is constrained to be less than a constant rMAX which is determined by graphics hardware considerations. Although r0 is illustrated in
In most applications ranging sensor data is considered reflect the true state of the outside world. In other words it takes precedence over database information. However it is also possible to tag grid database and ranging sensor data with time information and to weight the importance of data according to time. For example, it might be appropriate to reduce the effect of ranging sensor data on very recently updated grid database data compared to its effect on older grid database data. This could be useful when one has high confidence in the database and only noisy sensor data.
As one skilled in the art will readily appreciate from the disclosure of the embodiments herein, processes machines, manufacture, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, means, methods, or steps.
The above description of illustrated embodiments of the systems and methods is not intended to be exhaustive or to limit the systems and methods to the precise form disclosed. While specific embodiments of, and examples for, the systems and methods are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the systems and methods, as those skilled in the relevant art will recognize. The teachings of the systems and methods provided herein can be applied to other systems and methods, not only for the systems and methods described above.
In general, in the following claims, the terms used should not be construed to limit the systems and methods to the specific embodiments disclosed in the specification and the claims, but should be construed to include all systems that operate under the claims. Accordingly, the systems and methods are not limited by the disclosure, but instead the scope of the systems and methods are to be determined entirely by the claims.
Claims
1. A terrain display system comprising:
- a ranging sensor;
- a position and attitude sensor;
- a terrain database;
- a display; and,
- a fusion and graphics processor that combines data from the ranging sensor, the position and attitude sensor, and the terrain database; and, sends to the display a synthetic image of terrain data that represents terrain as it would appear to an observer located and oriented according to position and attitude data provided by the position and attitude sensor; wherein, the terrain database is updated in response to data from the ranging sensor.
2. A system as in claim 1 wherein terrain data in the terrain database comprises elevation information for an array of geographical positions that are laid out in a grid.
3. A system as in claim 2 wherein the grid comprises a regularly spaced array of data points.
4. A system as in claim 2 wherein the grid comprises an irregularly spaced array of data points.
5. A system as in claim 2 wherein the processor uses an influence function to adjust and update dynamic terrain data based on sensor data.
6. A system as in claim 5 wherein the influence function is equal to zero for all distances greater than a specified radius, r0.
7. A system as in claim 5 wherein the processor updates terrain data in real time.
8. A system as in claim 7 wherein the processor overlays vehicle state symbology on the image sent to the display.
9. A system as in claim 8 further comprising a storage unit for sensor and state data, wherein the storage unit stores range data from the ranging sensor and state data from the position and attitude sensor.
10. A method for updating a terrain database comprising:
- providing a ranging sensor, a position and attitude sensor, a terrain database, and a fusion and graphics processor;
- initializing the sensors, database, and fusion and graphics processor;
- retrieving Synthetic Vision data from the database according to position and attitude data provided by the position and attitude sensor;
- using real-time data from the ranging sensor to adjust and update the Synthetic Vision data; and,
- repeating the retrieving and using until a signal to stop is received.
11. A method as in claim 10 wherein the terrain database comprises elevation information for an array of geographical position that are laid out in a grid.
12. A method as in claim 11 wherein an influence function is used to adjust and validate the Synthetic Vision data using real-time data from the ranging sensor.
13. A method as in claim 12 wherein the influence function is equal to zero for all distances greater than a specified radius, r0.
14. A system for updating a terrain database comprising:
- a ranging sensor;
- a position and attitude sensor;
- a terrain database;
- a display; and,
- a fusion and graphics processor that combines data from the ranging sensor, the position and attitude sensor, and the terrain database; sends to the display a synthetic image of terrain data; and, updates the terrain database in response to data from the ranging sensor.
15. A system as in claim 14 wherein no matter how much data is combined from the ranging sensor, the position and attitude sensor, and the terrain database by the fusion and graphics processor, the number of computations performed by the processor to display the synthetic image does not change.
16. A system as in claim 14 wherein the processor uses an influence function to adjust and update dynamic terrain data based on sensor data.
17. A system as in claim 16 wherein the influence function is equal to zero for all distances greater than a specified radius, r0.
Type: Application
Filed: Apr 1, 2008
Publication Date: Feb 12, 2009
Applicants: MERCURY COMPUTER SYSTEMS, INC. (Chelmsford, MA), AIREYES, INC. (Portland, OR)
Inventors: Keith Alter (Issaquah, WA), Andrew Kevin Barrows (Foster City, CA), Chad Jennings (San Mateo, CA), Carlo Tiana (Portland, OR)
Application Number: 12/060,732
International Classification: G08B 21/00 (20060101);