US 20050149259 A1
A method for updating a geographic database is disclosed. Data collecting equipment is installed in each of a plurality of vehicles each of which also has a navigation system. The data collection equipment is used to collect data while the vehicles are being driven along roads by their respective users. In addition, a method for assigning a confidence level to geographic data is disclosed. The confidence level is assigned to the geographic data as an attribute. In addition, a method for determining a position of a vehicle by sensing roadside structures is disclosed. Data indicating positions of roadside structures are contained in a geographic database. By matching positions of sensed roadside structures to data in the geographic database that indicates the positions of the structures, the position of the vehicle while traveling can be determined.
26. A method of collecting data for a geographic database comprising:
using data collection equipment in each of a plurality of end users' vehicles to collect data while said end users' vehicles are being driven along roads;
sending at least a portion of the data collected by said data collection equipment to a central database; and
updating the central database using the portion of the data collected.
27. The method of
28. The method of
29. The method of
30. The method of
31. The method of
32. The method of
33. The method of
34. The method of
35. The method of
36. The method of
37. The method of
38. The method of
before the step of updating, comparing the portion of data collected to data already contained in said central database.
39. The method of
after the comparing step, indicating a confidence level associated with data contained in said central database.
40. The method of
prior to the step of sending, filtering the data collected while said end users' vehicles are being driven along roads.
41. The method of
42. A system for collecting data for a geographic database comprising:
data collection equipment installed in each of a plurality of end users' vehicles, wherein said data collection equipment is operable to collect data while said end users' vehicles are being driven along roads;
a central database;
a communications system that sends at least a portion of the data collected by said data collection equipment to a central database; and
a central geographic data manager that receives the portion of the data collected by said data collection equipment and updates the central database using the portion of the data collected.
43. The system of
44. A method of collecting data for a central geographic database and improving quality of data contained in the central geographic database, wherein the method comprises a process that
uses end users' vehicles, suitable equipped with data collection equipment, to collect data while said end users' vehicles are being driven along roads, and
thereafter sends at least a portion of the data collected by said data collection equipment to the central database where the central database is updated using the portion of the data collected,
whereupon data from the updated database is used to provide navigation related features to at least some of the end users.
45. The method of
The present application is a continuation of Ser. No. 10/298,798, filed Nov. 18, 2002, which was a continuation of Ser. No. 09/532,751 filed Mar. 22, 2000, now U.S. Pat. No. 6,516,267, which was a continuation of Ser. No. 08/951,767, filed Oct. 16, 1997, now U.S. Pat. No. 6,047,234.
The present invention relates to a system and method for updating and enhancing a geographic database, and more particularly, the present invention relates to a system and method for updating and enhancing a geographic database based on feedback from field use of the geographic data.
Computer-based navigation systems for use on land have become available in a variety of forms and for a variety of applications. One exemplary type of system uses a geographic data set, a navigation application, and optionally, a positioning system. The geographic data set includes information about the positions of roads and intersections in or related to a specific geographical area, and may also include information about one-way streets, traffic signals, stop signs, turn restrictions, street addresses, alternative routes, hotels, restaurants, museums, stadiums, offices, automobile dealerships, auto repair shops, etc.
The optional positioning system may employ any of several well-known technologies to determine or approximate one's physical geographic location. For example, the positioning system may employ a GPS-type system (global positioning system), a “dead-reckoning”-type system, or combinations of these, or other systems, all of which are known in the art.
The navigation application portion of the navigation system is a software program that uses the detailed geographic data set and the positioning system (when employed). The navigation application program may provide the user with a graphical display (e.g. a “map”) of a specific location in the geographical area. The navigation application may provide the user with data indicating his own location and specific directions to locations in the geographical area from wherever he is located.
Computer-based navigation systems may exist as a single unit that may be installed in a vehicle, or even carried by persons. The navigation application and geographic data set may be provided as software products that are sold or licensed to users to load in personal computers. Systems operating on personal computers may be stand-alone or connected by a communication link to a central or regional system. Organizations, such as trucking companies, package delivery services, and emergency dispatch units may employ navigation systems to track fleets and ensure the quickest routes to destinations. The navigation systems may also be made available on-line from a central system to multiple users on an “as needed” basis, or from on-line services such as services available on the Internet and private dial-up services.
Individual users can use navigation systems to obtain directions to a desired destination thereby reducing travel time and expenses. The directions can include detours around construction delays. Directions may be provided to street addresses, intersections, or to entities by name, such as to restaurants, hotels and service stations.
One potential obstacle to providing enhanced features with a navigation system is the difficulty in maintaining up-to-date information in the geographic data set. A publisher of geographic data may obtain the information that becomes part of geographic data sets from field personnel sent to the locations to record the information or from aerial photographs or municipal records or other sources. Geographic information, however, becomes outdated as new roads are built, existing roads are changed, traffic signals are installed, businesses change their hours of operation, new businesses open, existing businesses close, etc. When changes occur, data in the geographic data set becomes inaccurate and its utility is thereby lessened.
Information identifying changes are collected using the same techniques as described above. Once the information regarding changes is collected, it is incorporated into a master geographic data set. The publisher of geographic databases then periodically distributes updated geographic data reflecting the changes to end-user. However, the process of acquiring information regarding changes is time-consuming and expensive. Moreover, existing methods of acquiring updated data may become increasingly expensive as geographic databases become more detailed and extensive in scope.
Another limitation with existing methods of data acquisition is accuracy. Even with high quality aerial photographs and other existing collection methods, the geographic coordinates of features may not always be entered in the database with a high level of precision. While existing methods are generally adequate to provide geographic data of sufficient accuracy for vehicle positioning in route guidance applications, greater geographical accuracy may be required for certain other applications, such as vehicle control.
Accordingly, a system and method are desired that would provide for a more efficient acquisition of information reflecting changes and corrections in geographic areas to navigation systems. Further, a system and method are desired that allow the accuracy of the data in a geographic database to be enhanced.
In view of the above, a first aspect of the present invention is directed to a system for updating, enhancing and/or refining a geographic database. A geographic database includes data representing physical features in the geographic region, and, optionally, attributes of such features. The system includes a plurality of data collecting sensors. Each of the data collecting sensors is installed in a separate one of a plurality of vehicles each of which is capable of traveling on roads in a geographic region. Each of the data collecting sensors provides outputs indicative of one or more features in the geographic region as the vehicle in which it is installed travels on the roads in the geographic region. A computer program executes a feedback process on the geographic database using the outputs of the data collecting sensors. A first part of the feedback program compares the outputs of the data collecting sensors to the data identifying the physical features and provides results representative of the comparisons. A second part of the feedback program is responsive to the results from the first part and determines the significance of the comparisons. A third part of the feedback program modifies the data in the geographic database based upon the significance determined by the second part of the program.
In a further aspect of the system, the data in the geographic database representing physical features in the geographic region are updated, enhanced, or refined based upon the significance determined by the feedback program.
In another aspect of the invention, the data which has been updated, enhanced, or refined, is used to provide updated, enhanced, or refined data in end-user vehicles, some of which may include the vehicles in which data collecting sensors have been installed.
According to another aspect of the invention, sensors in end-users' vehicles are calibrated to high levels of accuracy using the data which has been updated, enhanced or refined using a feedback process.
According to still another aspect of the invention, an out-of-calibration sensor in an end-user's vehicle is detected and re-calibrated using the data which has been updated, enhanced or refined using a feedback process.
In yet still another aspect of the invention, using a feedback process, levels of confidence of accuracy are assigned to data in the geographic database representing physical features in the geographic region, thereby enabling the data to be used for purposes requiring high levels of confidence.
In the aspects mentioned above, the data collecting sensors may be used to sense the geographic position of the vehicle (derived from GPS, dead-reckoning, or other positioning systems), vehicle speed, road gradient, lane width (derived from radar, and other similar systems), signage (derived from cameras), road direction (derived from an on-board compass or other heading-determining means), and various other physical features. The data in the geographic database may represent roads (or road segments) and their positions, as well as other attributes relating to roads.
In another aspect, the present invention is directed to a method of updating a geographic database by the steps of storing road data that includes a plurality of map positions in the geographic database. A plurality of actual positions traveled is determined by a vehicle by repeatedly sensing actual position while the vehicle moves. At least a portion of the plurality of actual positions is matched with a plurality of map positions in the geographic database. A position difference is calculated between each actual position in the plurality of actual positions and the plurality of map positions. Each actual position for which the position difference exceeds a predetermined tolerance level is stored as a plurality of unmatched positions.
I. System Overview
Located in the geographic region 47 are a plurality of data collection vehicles 50 (including vehicles 50(1), 50(2) . . . 50(n)). Each of the data collection vehicles 50 includes a data collection system 39. Each data collection system 39 includes one or more sensors capable of collecting data representing physical features about the environment of the vehicle or the vehicle's physical position as the vehicle is moving or while it is stopped. As each of the data collection vehicles 50 moves on the roads (or is stopped) in the geographic area 47, the sensors in the data collection system of the vehicle sense physical features. These data collection vehicles 50 may include vehicles in which in-vehicle navigation systems are installed, or vehicles which have only data collection system equipment without on-board navigation systems, or may include both types of vehicles. The plurality of vehicles 50 may include vehicles which are owned (or leased) by private party end-users as well as fleet vehicles. Some of the data collection vehicles 50 include local copies of a geographic database 56 (shown in
II. Data Collection Vehicles
The outputs of the one or more sensor devices 60 provide sensor device data 54. The sensor devices 60 may include a GPS (Global Positioning System), an imaging system (e.g. radar, cameras, etc.), a gyroscope, a compass, an odometer and other sensors. The sensor devices 60 output data 54 as the vehicle 50(1) moves around the geographic region 47 or while it is stopped. The output 54 from the sensor devices 60 is provided to the vehicle computing system 52 of the data collection system 39(1).
The sensor data processor 53, using the data 54 output from the sensors 60 to the vehicle computing system 52, compares the sensor device data 54 with data in the local map database 56. The sensor data processor 53 may be implemented as a computer program executed on the CPU of the vehicle computing system 52 or may executed on a separate processor. The sensor data processor 53 determine variances between the sensor device data 54 and the data in the local map database 56 based on comparisons between the sensor device data 54 and corresponding elements in the map database 56. The variances depend upon the type of data being compared. For example, if the output of a position sensor is being compared to a corresponding position in the local map database 56, the variance may be a distance representing the difference between the two values. The variance may also include the relative direction of the difference. The variance is compared to threshold levels above or below which the sensor output may be considered unmatched to a map database element. The threshold levels may be based on factors such as the tolerances of the sensors.
The sensor data processor 53 processes the sensor data 54 into filtered sensor data 55F. The filtered sensor data may include only the variances that exceed a certain predefined threshold. The filtered sensor data may be temporarily stored on a data storage device (not shown) in the vehicle.
In one embodiment of the data collection vehicle 50(1), the communications manager 58 is used to transmit the filtered sensor data 55F to the central geographic data manager 10 of
In the embodiment of
The outputs of the one or more sensor devices 60, which may be the same as those identified above, provide sensor device data 54 . The sensor devices 60 collect data as the vehicle 50(2) moves around or stops in the geographic region 47. A sensor driver 51, which may be a software program, processes the sensor device data 54 into raw sensor data 55R. (The functions performed by the sensor driver 51 may include, for example, converting essentially analog outputs of sensors 60 into appropriate digital data, scaling the data, time stamping the data, compressing the data, identifying the types of sensors that generate the data, organizing the raw data for storage purposes, and so on.) The raw sensor data 55R may be temporarily stored in a data storage device (not shown) in the vehicle 50(2). The raw sensor data 55R is communicated to the central data manager 10. The communications manager 58, which may be similar to the communications manager in the embodiment of
Another embodiment of a data collection vehicle 50(3) is illustrated in
III. Central Geographic Data Manager
A. Collection of Data From Vehicles
The central geographic data manager 10 illustrated in
The central geographic data manager 10 receives raw sensor data 55R from the data collection vehicles 50(2), 50(3) that communicate non-filtered data at a raw data collector 28. The central geographic data manager 10 receives filtered data 55F from the data collection vehicles 50(1) at a filtered data collector 12. The filtered sensor data collector 12 and the raw sensor data collector 28 are interfaces to the communication links 49 and may be implemented by any suitable technology for receiving data. Each collector handles the data received from its corresponding plurality of data collection vehicles 50 and forwards the data to the appropriate processes in the central geographic data manager 10.
The filtered data collector 12 stores and organizes the filtered sensor data 55F in a central filtered sensor database 14. For vehicles that communicate raw data 55R to the central geographic data manager 10, the raw data collector 28 organizes the raw sensor data from the plurality of vehicles in a central raw data database 30. This collection of data is analyzed for variances by a central sensor data processor 32. The central sensor data processor is a computer program, similar to the local sensor data processor 53 of
B. Updating/Enhancing the Central Database
The collection of data in the filtered sensor database 14 is analyzed by a statistical data analyzer 16. The statistical data analyzer 16 includes a computer program that applies statistical analysis techniques based on further comparisons with the geographic data in the central geographic database 20. The statistical analysis techniques may take into account thousands or millions of sensor readings to derive results with a high level of reliability and confidence. The statistical data analyzer 16 determines updates to the central geographic database 20 based on whether the central filtered sensor data set 14 reflects statistically significant variances. (Various kinds of statistical techniques for analyzing data using large numbers of readings are known and may be used.)
The statistical analysis techniques can also take into account historical information. For example, if a highly traveled road segment that was sensed thousands of times a day for years suddenly had no reported sensor readings, it would be an indication that the road was no longer open. An appropriate update to the central database, or at least an indication to verify a possible change in the database record, would be processed accordingly.
The statistical data analyzer 16 may determine confidence levels for data elements in the central geographic database 20. Referring to
The statistical data analyzer 16, the operation of which is discussed further below with reference to
According to one method of updating, the statistical data analyzer 16 provides a message 18 to initiate an update process 22 for the central geographic database 20. The update process 22 collects the individual changes to the central geographic database 20 from the statistical data analyzer 16 and stores the changes in a queue of update transactions for a distribution process 24.
In one embodiment, the steps performed in the manager 10, including the determination of variances, the collection of data from the vehicles, the analysis of statistical significance, and the updating of the central database, are performed on an ongoing and continuous basis. However, in alternative embodiments, it may be preferred to perform some of these tasks intermittently or periodically.
C. Distributing Updates to Users
The end-users may include persons who use local versions 56 of geographic databases in their vehicles. The end-users may also include various others including, for example, personal computer users 46 and networks 48, such as on-line services, services that use the Internet and organizations that incorporate all or parts of the geographic database in applications such as emergency dispatch centers, truck fleet tracking and package delivery fleet tracking.
The releases may occur on a continuous basis, or may occur from time to time, or on a regular or irregular basis, a staggered basis, and so on. The release of data reflecting the updating process can be made in any of several different formats. According to one process for releasing updated data to end-users, the updated data may be released as a series of update transactions which are applied to each user's local copy of the geographic database, as needed. According to another process for releasing data to end-users, versions of the entire database reflecting the updated data may be provided.
A flow chart illustrating the process of the system 9 of
D. Feedback Calibration of Vehicle Sensors
In a further alternative embodiment, vehicle sensors in the various end-users' vehicles are fine-tuned for very high levels of accuracy by a feedback process. The feedback process uses the collection of sensor data from a large number of vehicles (using the process described above, for example) to provide highly accurate geographic data in the central database which in turn is distributed to individual end-user vehicles and used to adjust and calibrate the sensors in each of the individual end-user vehicles to conform to the known-to-be-highly accurate geographic data. In this manner, the continued use of data collection vehicles and the redistribution of known-to-be-highly accurate data to the individual end-users' vehicles for calibrating of the sensors in the vehicles forms a feedback loop which pumps up the accuracy of the sensors in each of the individual vehicles. The accuracy that can be obtained in this manner can exceed the accuracy that could be obtained by any one vehicle or any one sensor measurement using conventional techniques. A diagram illustrating this process is shown in
Using the feedback calibration process described above, highly accurate data having a high confidence level can be developed. The levels of accuracy that can be achieved can be as high as
In another alternative embodiment, out-of-alignment sensors in a vehicle can be detected and corrected using a feedback process. Using a feedback process to develop highly accurate data, as described above, once geographic data is known-to-be highly accurate (i.e. its confidence level is high) as a result of statistical analysis of a large number of data records collected from a large number of vehicles over a significant period of time, if one vehicle using the data reports variances, then it can be determined that the sensors in the variance-reporting vehicle are likely out of calibration. Then, using only the variance data reported from the one vehicle and the known-to-be-highly accurate data, the sensors in the variance-reporting vehicle are re-calibrated to the same level of accuracy as all the other vehicles. (It is understood that as a step in the process, it may be required to acquire data for a period of time from other data-collecting vehicles after the variances are collected from the variance-reporting vehicle to confirm that other data-collecting vehicles do not observe the same variances.) A diagram illustrating this process is shown in
In further aspect of this embodiment, the data collection systems in each of the data collection vehicles provide data that identifies of the types of sensors being used to collect the data. Then, when variances from a vehicle are collected, the type of sensors measuring the variances are taken into account. For example, if a type of sensor reports variances that suggest it should be re-calibrated, it is first compared to similar kinds of sensors. This permits a better evaluation of the extent to which the particular type of sensor can be calibrated based on the accuracy which is achievable in like-equipped vehicles.
V. Processing Sensor Data
A. Comparing The Sensor Data And A Geographic Database
Processing of a modification to an existing database based upon the collection of data from a single vehicle is illustrated in connection with
The sensor data points are compared to map positions 80 and the matched link 100(1) by determining the shortest distance from the sensor data point to the matched link 100(1). If the resulting distance exceeds specified tolerance levels, or if sensor data conflicts with features of the matched link 100(1), a record of this variance is created along with relevant sensor data. The record, illustrated in
If a link is traversed with all sensor samples within the tolerance level, a record is created in the filtered sensor database, certifying the accuracy of the matched link and its features and identifying the sensor device or devices used.
B. Updating The Central Geographic Database
The filtered sensor data includes information regarding potential new links and may be used to determine whether the geographic database is to be updated. During the update of the geographic database, features relative to the actual position may be determined from the sensor data. Data relating to such features may be included as filtered sensor data so that the features may be included in the update of the geographic database. For example, if only the data collection shown in
The filtered sensor data may provide information regarding other features that may be used during the update of the geographic database. For example, the addition of the new link 100(m) forms two new links labeled 100(1)(2) (also L3 b) and 100(1)(1) (also L3 a) where previously only 100(1) (labeled L3) existed as illustrated in
A new link may be derived by determining the shortest distance 180 from the first unmatched position 175 to the previous link L8, and splitting the link at that nearest point 190 on the link L8 creating two new links L8A and L8B out of link L8. The processor 16 then determines the shortest distance 182 from the last unmatched position 176 to the next link L11 matched, and splitting the link at that nearest point 192 on link L11, creating two new links L11A and L11B out of link L11.
Beginning at the intersection of L8A and L8B, the new link 100(q)is constructed by joining all unmatched positions and terminating at the intersection of links L11A and L11B as shown in
The resulting database content is illustrated in
In updating the geographic database, all ordered sets of points from the filtered sensor data which have been associated with the new link 100(q), which in this example is the ordered sets of points 206, are identified. In addition, all positions for the same direction of travel as the positions being processed (in this example, the ordered sets of points 206) are identified. In this example, the positions represented by the ordered set of points 206 are for the direction opposite the direction of the new link 100(q). The ordered set of points 206 are then averaged using a sequential averaging or curve fitting technique to create a single sequence of positions.
An intersection point 214 with the nearest link to the beginning position of the ordered set 206 is identified. An intersection point 216 with the nearest link to the ending position in the ordered set is also identified.
All points having a direction of travel opposite the direction of the ordered set of points 136 are then averaged using the sequential averaging or curve-fitting technique to create an opposite direction ordered set of points 136A. In the example in
The distance between the sets of points in opposite directions 136, 136A is averaged by calculating half the distance from each point starting with the ordered set of points represented by the most points to yield a set of average points 136M in
C. Trend Analysis
The collection of data over time illustrated in
D. Variances of Data Representing Other Features
The same process for determining variances used to collect basic positional information (latitude, longitude, and altitude) as shown in
Sensor devices which can identify objects in the path of a vehicle can be confused by permanent structures (for example signs, pillars, overpasses, poles, etc.). Maintaining an accurate model of these permanent structures can enable the sensor devices to filter out objects that may otherwise be interpreted as a potential hazard. By increasing the confidence level of the database, as described above, systems that identify road hazards can engage with the appropriate action more reliably. Variances may be determined for database elements that represent objects when compared to images sensed from image sensors using a process similar to the process in
Knowledge of, and greater precision in, the position data for permanent structures also facilitates vehicle positioning useful in route guidance and other applications. For example, when a vehicle travels a significant distance along a straight road, the vehicle's position can become more uncertain as errors associated with the positioning sensors accumulate. Enhanced knowledge of the position of permanent structures along such straight roadways can serve as a landmarks to which the vehicle position can be corrected (or map-matched) when the landmark is sensed.
In an embodiment illustrating this feature, a vehicle includes sensors which may be similar to the sensors 60 in
As shown in
Sensor data may also be evaluated with respect to non-positional features that may be represented in the database to identify potential errors and establish confidence levels for these features. Examples of features to evaluate include: direction of travel, divider location, speed limit, and turn restrictions. The features of the links contained in the geographic database would be processed in the same manner as positional data. If one collector vehicle traverses a link in the opposite direction of travel as maintained in the map database 56, but a significant number of other collections indicate tracking in the same direction of travel as maintained in the map database 56, the single case may be archived as statistically insignificant.
Embodiments of a system for updating a geographic database have been described. Alternative embodiments can be appreciated from this disclosure by one of ordinary skill in the art. For example, the central geographic data manager 10 may collect only raw data or only filtered sensor data such that it would include only a raw sensor data collector 28 or a filtered sensor data collector 12 and the components used to process either raw sensor data or filtered sensor data. In addition, no limitation is placed on the scheduling of the distribution of updates by the update distributor 26. Updates may be distributed according to a schedule, or in a manner.
Advantages of the embodiments of the systems described herein include the ability to receive data for processing database updates directly from users of the navigation system. Because the users of the navigation system may be numerous, this may reduce the need to take measures to determine if changes have occurred to the geographical area, such as, sending employees to verify the area such as by visiting the area and recording information or by taking aerial pictures or by checking municipal records.
Presently preferred embodiments of the present invention have been described. One of ordinary skill in the art can appreciate that other embodiments that fall within the scope of the claims are possible. It is intended that the foregoing detailed description be regarded as illustrative rather than limiting and that it is understood that the following claims including all equivalents are intended to define the scope of the invention.