METHOD AND APPARATUS FOR IMPROVING GPS RECEIVER ACCURACY USING AN EMBEDDED MAP DATABASE
The present invention is related to location positioning systems, and more particularly, to a method and apparatus for making accuracy improvements to a GPS receiver's navigation solutions. According to a first aspect, cartography information from a map database embedded within the GPS receiver is integrated into the position calculations performed by the GPS receiver. According to another aspect, the map database embedded within the GPS receiver is optimized for the purpose of improving the accuracy of the GPS receiver's position calculations.
1 . A method for determining a position of a GPS receiver, the method comprising:
at the GPS receiver:
based on cartography information stored in a map database embedded within the GPS receiver, adjusting at least one parameter of a filter that is used in a positioning algorithm; and
determining the position of the GPS receiver by using the positioning algorithm.
2 . A method according to claim 1 , wherein the map database includes cartography information for geographic regions that have been determined to be regions in which at least one satellite signal received by the GPS receiver is degraded.
3 . A method according to claim 1 , wherein the map database includes cartography information only for a pre-determined number of metropolitan geographic regions.
4 . A method according to claim 1 , wherein:
the map database contains at least one map database element;
the at least one map database element is associated with at least one attribute; and
the at least one attribute associated with the at least one map database element facilitates the determination of the position of the GPS receiver.
5 . A method according to claim 4 , wherein:
the at least one map database element is a node; and
the at least one attribute is one of latitude, longitude, and connectivity.
6 . A method according to claim 4 , wherein:
the at least one map database element is a road segment; and
the at least one attribute is one of left node, right node, and length.
7 . A method according to claim 1 , wherein the step of adjusting the at least one parameter of the filter includes:
matching location data derived from satellite signals received by the GPS receiver to a matched road segment in the map database; and
adjusting the at least one parameter of the filter based on information associated with the matched road segment in the map database.
8 . A method according to claim 7 , wherein the step of matching further includes:
determining a geographic region that includes a location indicated by the location data; and
determining whether the map database contains cartography information for the geographic region.
9 . A method according to claim 7 , wherein the step of matching includes:
determining, based on the location data derived from satellite signals received by the GPS receiver, a confidence region;
extracting, based on cartography information contained in the map database, a set of road segments that are located within the confidence region; and
selecting the matched road segment from the set of road segments.
10 . A method according to claim 9 , wherein the confidence region is elliptical.
11 . A method according to claim 9 , wherein the confidence region is rectangular.
12 . A method according to claim 9 , wherein the step of selecting the matched road segment from the set of road segments includes:
for each road segment in the set of road segments, performing the steps of:
determining whether the each road segment is parallel to a heading indicated by the location data within a pre-determined parallel range;
in response to determining that the each road segment is parallel to the heading indicated by the location data within the pre-determined range, determining whether the each road segment intercepts a contour of equal probability error region that contains a location indicated by the location data;
in response to determining that the each road segment intercepts the contour of equal probability error region that contains the location indicated by the location data, determining whether the each road segment is connected to another road segment that is a previously determined matched road segment;
in response to determining that the each road segment is connected to the other road segment that is a previously determined matched road segment, determining whether the each road segment is close to the other road segment within a pre-determined closeness range;
in response to determining that the each road segment is close to the other road segment within the pre-determined closeness range, determining that the each road segment satisfies a first test.
13 . The method according to claim 12 , further including the steps of:
determining whether more than one road segment in the set of road segments satisfy the first test;
in response to determining that no more than one road segment in the set of road segments satisfies the first test, determining whether the road segment that satisfies the first test passes a correlation test;
in response to determining that the road segment that satisfies the first test passes the correlation test, determining that the road segment is the matched road segment.
14 . The method according to claim 13 , further including the steps of:
in response to determining that more than one road segment in the set of road segments satisfy the first test:
determining whether more than one road segment in the set of road segments satisfy at least one other test;
in response to determining that no more than one road segment in the set of road segments satisfy the at least one other test, determining whether the road segment that satisfies the at least one other test passes a correlation test;
in response to determining that the road segment that satisfies the at least one other test passes the correlation test, determining that the road segment is the matched road segment.
15 . The method according to claim 14 , wherein the at least one other test includes a trajectory matching test.
16 . A method according to claim 7 , wherein:
the filter is a Kalman filter; and
the step of adjusting the at least one parameter of the filter based on information associated with the matched road segment in the map database includes the steps of:
updating at least one measurement of the Kalman filter based on a heading of the matched road segment;
determining, based on the at least one measurement of the Kalman filter, the position of the GPS receiver.
17 . A method according to claim 16 , wherein the step of updating is performed only if a certainty associated with the matched road segment exceeds a pre-determined certainty threshold.
18 . A method according to claim 16 , wherein the step of updating is performed only if a velocity of the GPS receiver exceeds a pre-determined velocity threshold.
19 . A method according to claim 7 , wherein:
the filter is a Kalman filter; and
the step of adjusting the at least one parameter of the filter based on information associated with the matched road segment in the map database includes the steps of:
determining a matched position on the matched road segment based on a receiver trajectory;
updating, based on the matched position, a state vector of the Kalman filter; and
determining, based on the state vector of the Kalman filter, the position of the GPS receiver.
20 . A method according to claim 19 , wherein the receiver trajectory is computed from data that indicates at least one previously traveled distance and associated heading.
21 . A method according to claim 19 , wherein the step of updating the state vector of the Kalman filter is performed only if a correlation between the receiver trajectory and the matched road segment exceeds a pre-determined threshold.
22 . A method according to claim 19 , wherein the step of determining the position of the GPS receiver based on information associated with the matched road segment in the map database further includes the step of:
updating a measurement noise matrix of the Kalman filter based on a certainty associated with the matched position.
23 . A method according to claim 1 , wherein:
the filter is a Kalman filter; and
the step of adjusting the at least one parameter of the filter based on information associated with the matched road segment in the map database includes the steps of:
detecting, based on which satellites are visible, that the GPS receiver is located at a particular intersection;
determining, based on cartography information stored in the map database, an intersection position associated with the particular intersection; and
updating a state vector of the Kalman filter based on the intersection position.
24 . A method for determining a position of a GPS receiver, the method comprising:
identifying cartography information that facilitates the determination of a position of a GPS receiver; and
storing the cartography information on a map database embedded within the GPS receiver;
wherein the GPS receiver determines the position of the GPS receiver by using the cartography information stored in the map database embedded within the GPS receiver.
25 . A device that performs the method of claim 1 .
26 . A device that performs the method of claim 3 .
27 . A device that performs the method of claim 7 .
28 . A device that performs the method of claim 9 .
29 . A device that performs the method of claim 16 .
30 . A device that performs the method of claim 19 .
31 . A device that performs the method of claim 23 .
32 . A device that performs the method of claim 24 .