The present disclosure relates generally to vehicle navigation services for a computing device, and more specifically to a method and apparatus for rerouting after an initial routing is performed.
Global Navigation Satellite Systems (GNSS) allow navigation services including automatic route calculation from a current location to a destination location and guiding a driver of a vehicle to that destination with real time instructions in conjunction with a visual display of route segments as the vehicle progresses along the route.
The satellites transmit GPS signals comprising very precise location parameters and timing signals that are received by wireless device processors allowing a processor to determine their respective three dimensional positions and velocities.
A common car navigation system operates by computing an optimal route from the starting position to the desired destination point. The entire route is computed at once at the beginning of the routing and then the user is guided along the precomputed route.
Often, the user diverges from the original precomputed route, the result of an error to follow the guidance or as a user desired detour or by design. Such deviation is automatically detected by the auto routing system and in most cases a new route is computed. This is called auto-rerouting and in a majority of the cases a new route is computed following the same rule and the same algorithm as was used in the original route with the only difference that the new start point is the actual vehicle location at the time when the car navigation system determined that the user is off the original course.
Considering the processing time required to reroute from the current position to the destination after detection of a deviation from route, it is possible that a new route is determined only after the vehicle has passed the intersection. If this should happen, the driver will have passed the intersection without knowing the direction which should have been taken at the intersection in accordance with the search results. Therefore, the driver may well go in a direction different from the direction indicated by the search results and be further from the intended destination.
One aspect of an apparatus and method of providing rerouting features is a navigation device that includes a processor, a map information storage medium storing map information, a position determining module configured to determine a current location, a velocity and direction of travel of a vehicle, and determine whether the current position indicates a deviation from an original route to a final destination. Further included is a routing module configured to determine an original route from a starting position to a destination, and at least one reroute from the current location to the destination, wherein the reroute includes a restoration route from the current location to at least one intermediate point on the original route and then continuing to the destination. Based upon an estimated cost of the restoration route plus a predetermined actual cost of the route from the intermediate point to the final destination, the routing module is further configured to estimate a reroute cost, and select a reroute based upon the estimated reroute cost.
Another aspect of the disclosed embodiments includes a method of determining a reroute after an off-route deviation. The method includes detecting a position of the vehicle, computing an original route for a vehicle from a starting point to a destination, detecting a current location that indicates a deviation from the original route, assigning an increased cost to turns within a predetermined distance of the current location, and selecting at least one intermediate point on the original route. Based upon this information, the navigation device includes the functionality of estimating a restoration route cost from the current location to each intermediate point using the increased cost assigned to turns within a predetermined distance of the current location, and estimating a total cost of each reroute from the current location to the destination, wherein each estimated reroute cost comprises the estimated restoration route cost plus an actual cost for the portion of the original route from the intermediate point associated with that reroute to the destination. Once at least one reroute is calculated, the device is configured to select a reroute from the at least one reroute, based upon the cost of each reroute, and perform map guidance functions based upon the selected reroute.
Another aspect of the disclosed embodiments includes a processor configured to perform the method disclosed above. In addition, another aspect includes a machine-readable medium comprising executable instructions stored thereon for causing the processor to perform the method disclosed above.
Device 100 determines a vehicle's current position by processing signals from GNSS satellites (such as GPS satellites), WAAS (wide area augmentation system) satellites or other position location satellites).
According to one embodiment, navigation device 100 comprises a receiver, i.e., GPS receiver 104, which receives a GPS signal containing GPS position location parameters from several satellites orbiting the earth at a distance of approximately 20,000 kilometers. Based upon the received parameters, a positioning module 110 stored in storage medium 108 provides the instructions that allows processor 102 to determine the three dimensional position and velocity of device 100 using very precise location parameters and timing signals received from the GPS satellites.
Furthermore, in some embodiments, navigation device 100 receives, over a cable or other communication means, velocity information from vehicle sensors, such as inertia sensors, including, a yaw gyroscope, an accelerometer, a magnetometer, and/or information received from vehicle hardware or data bus, such as, odometer pulses or the anti-lock breaking system (ABS) wheel speed information.
In some aspects, processor 102 is operable to control the operation of the device 100 based upon one or more stored application program stored in a storage medium 108. Processor 102 may comprise an application-specific integrated circuit (ASIC), or other chipset, processor, microprocessor, logic circuit, or other data processing device operable to perform one or more processing functions for device 100.
An input-output device 106 provides input functions for inputting a destination, for instructing the processing 102, responsive to a driver's input, to execute a navigation operation. In some embodiments, input-output device 106 further comprises a display device such as a CRT or a liquid crystal display operable to visually provide all information regarding navigation functions, including, but not limited to intersection picture screens, segment picture screens, and route setting screens based on guidance data and map data processed by processor 102. Other embodiments include a microphone for issuing voice commands and a speaker for providing audible instructions.
In some embodiments, storage medium 108 includes any type or any number of non-volatile memory, including read-only memory (ROM), random-access memory (RAM), EPROM, EEPROM, flash memory cells, secondary or tertiary storage devices, such as magnetic media, optical media, tape, or soft or hard disk, whether resident in device 100 or remote therefrom.
In addition to positioning module 110, storage medium 108 comprises a routing module 112 enabling processor 102 to calculate a best route between a user current location and a user specified destination based upon positioning information derived from positioning module 110 and a map database 116.
Map database 116 stores all the data necessary for operation of the navigation device 100, including, but not limited to map data, intersection data, node data, road data, photograph data, registered point data, destination point data, guidance point data, detailed destination data, destination name pronunciation data, phone number data, route segment cost data, etc.
Further still, guidance module 114 is operable to provide the user with real time directions to a user specified destination.
Using satellite positioning data received from GPS receiver 104 positioning module 110, in conjunction with processor 102, device 100 determines starting position PSTART and calculates an original route from PSTART to a destination PDEST that include intermediate points a2, a3, and a4.
In the event of an off-route deviation at point a1, such that the vehicle is now at position PDEV, processor 100 responds by calculating a reroute based upon the routing algorithm stored in routing module 112 to determine at least one restoration route, e.g., R1a, R2a, and R3a, for returning the vehicle to an intermediate point, a2, a3, and a4, respectively,
To come as close as possible to the optimal routing during partial rerouting without losing computational speed advantage, the costs of multiple restoration routes R1a, R2a, and R3a, are estimated to intermediate destinations a2, a3, and a4, respectively, where the restoration route merges with the original route. As an estimate value of the reroute a sum of a portion, e.g., R1b, R2b, or R3b, of the actual route cost that was previously computed for the original route, and an estimate of the possible cost of a route, e.g., R1a, R2a, or R3a, from the current position PDEV to an intermediate point, e.g., a2, a3, or a4, is used.
For example, when calculating a reroute cost from PDEV to intermediate point a3 and then continue along the original route from PSTART to the destination PDEST, a cost estimate for the reroute PDEV−a3−PDEST is computed as:
Est_reroute_cost(PDEV−a3−PDEST)=est_cost(PDEV−a3)+actual_cost(a3−PDEST)
where est_cost(PDEV−a3) is the estimated cost from PDEV to intermediate point a3; and actual_cost(a3−PDEST) is the actual route cost that was previously computed for the original route from intermediate point a3 to the destination PDEST.
In some embodiments, routing module 112 uses the known MANHATTAN DISTANCE function to easily and quickly compute the distance that would be traveled to get from one data point to the other if a grid-like path is followed. The MANHATTAN DISTANCE between two items is the sum of the differences of their corresponding components.
To estimate the cost for the route between the current position PDEV and an intermediate point, the corresponding MANHATTAN DISTANCE is normalized by the nominal speed for the class of roads that vehicle is traveling, or an average nominal speed between the nominal speed (vel_nominal) for the road class that the vehicle is traveling and the road class at the intermediate point. Accordingly, the estimated cost of a restoration route from PDEV to intermediate point a3 would be calculated as:
Est_cost(PDEV−a3)=(abs(x(PDEV)−x(a3))+abs(y(PDEV)−y(a3)))/vel_nominal
where x(PDEV) and y(PDEV) are the coordinates of the current position PDEV; x(a3) and y(a3) are the coordinates of the intermediate point a3; and vel_nominal is the nominal speed or an average nominal speed on the route between PDEV and a3.
However, the cost estimation is not limited to the methods illustrated above. Any other measure, say the actual distance or distance square, can be used as well. The cost estimate functions described above provide an optimal reroute optimized for the shortest amount of time. If the desired path is the shortest route, no velocity normalization is required.
In one embodiment, the rerouting and the cost estimation are performed on the device 100. Alternatively, the rerouting and the cost estimation can be performed on a server separated from the device 100. For example, the device 100 can transmit the current position to the server over a data communication channel and received the result of the reroute computation from the server.
Such an estimated cost can be computed very quickly and cheaply for multiple intermediate points, such as a2 and a4. Then an optimal reroute is selected from the plurality of computed reroutes and using guidance module 114, the driver is directed to the restoration route along the new optimal route.
In other embodiments, since the reroute is obtained in a short period of time after a detected deviation from the original route, the estimated cost of the new reroute is expected to be close to the cost of a portion of the original route from the point where deviation occurred. Since the original route is typically better optimized than the reroute, the estimated cost can be determined to be as unreliable if the estimated cost is much smaller than the corresponding part of the original route.
Because of the time required for routing module 112 to compute a reroute, it is possible that, once calculated, the driver has insufficient warning to make the recommend turn based upon the calculated optimal reroute. Therefore, instead of simply recommending a U-turn that may be both dangerous and stressful to the driver, a predetermined cost, higher than regular cost, is assigned to turns for a predefined distance d, wherein distance d depends on the vehicle speed and the time required for routing module 112 to compute a route.
In this manner, routing module 112 is operable for both initial routing and rerouting, choosing a less radial or “straighter” direction that people usually take when they are lost or in motion. For example, restoration route R1a would require a turn at point b1. However, because the distance from PDEV to point b1 is smaller than d, the turn at point b1 is assigned a cost that is higher than a normal turn cost, which would be used during regular routing from the current position to the destination PDEST if the vehicle were stationary at the current position. Therefore, based upon a scenario with additional intermediate points a3, a4, and multiple turn offs, e.g., point b2, restoration route R1a would most likely not be selected as the most optimal route. This is better than simply prohibiting U-turns, since in some cases U-turn may be the only possible solution.
Based upon such a “cost benefit” when rerouting or routing from a moving vehicle, a user is less likely to miss a required turn that is proposed too early by the routing module 112.
Furthermore, in some embodiments, processor 102 is operable to calculate multiple reroutes simultaneously, thereby shortening the time required to select an optimal reroute.
At step 304, device 100 computes an original route for a vehicle from an original starting point to a destination.
At step 306, device 100 detects deviation from the original route and assigns, at step 308, increased costs to turns within a predetermined distance of the current point PDEV.
At step 310, device 100 is operable to select at least one intermediate point, e.g., a2, a3, and a4, on the original route PSTART−PDEST. Under normal circumstances the selection of intermediate points may be limited to intermediate points that lie on the original route between the point of deviation and the destination PDEV. However, in some situations, correcting a deviation, e.g., a planned detour, may require restoring the vehicle to a point on the original route that is before the deviation point.
At step 312, processor 102 performs the function of estimating a restoration route cost from the point PDEV to each intermediate point, a2, a3, and a4 using an increased cost assigned to turns within a predetermined distance d of PDEV. In some embodiments, the increased cost is predetermined. In other embodiments, the increased cost is calculated based upon the speed of the vehicle and/or the distance from the turn to PDEV.
At step 314, processor 102 estimates a total cost of each reroute from PDEV to the destination, wherein each estimated reroute cost comprises the estimated restoration route (PDEV to an intermediate point) cost plus an actual cost for the portion, e.g., R1b, R2b, or R3b, of the original route from the intermediate point, a2, a3, or a4, to the destination PDEST.
At step 316, processor 102 selects a reroute from the at least one reroute, based upon the cost of each reroute.
Using the selected reroute, at step 318, map guidance module 114 guides the driver to the destination based upon the selected reroute.
Accordingly, the embodiments herein disclosed provide a unified approach to routing, both from a stationary position as well as from a moving vehicle, and rerouting by incorporating native optimal cost/shortest distance approaches instead of explicitly prohibiting maneuvers, such as U-turns and turns within a predetermined distance of the vehicle.
Furthermore, the disclosed embodiments avoid cases where rerouting cannot find a valid path because restoration routes close to the deviation point, while expensive, are not explicitly prohibited.
In addition, because the optimal path encourages maintaining a “straight” heading even though the heading may be incorrect, the methods disclosed herein allows sufficient time for rerouting module 112 to calculate a route even when the current segment is short.
And further, because the route selection algorithm is based upon an estimate of each restoration route, the embodiments provide close to optimal partial rerouting without any sacrifice in speed of computing.
While the foregoing disclosure shows illustrative aspects and/or aspects, it should be noted that various changes and modifications could be made herein without departing from the scope of the described aspects and/or aspects as defined by the appended claims. Furthermore, although elements of the described aspects s described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. Additionally, all or a portion of any aspect and/or aspects may be utilized with all or a portion of any other aspect and/or aspect, unless stated otherwise.
The present application claims priority to a provisional U.S. Patent Application Ser. No. 60/840,035, filed Aug. 25, 2006 and entitled “Rerouting of car navigation devices”, the disclosure of which is hereby incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5515283 | Desai et al. | May 1996 | A |
5802492 | DeLorme et al. | Sep 1998 | A |
6049755 | Lou et al. | Apr 2000 | A |
6067502 | Hayashida et al. | May 2000 | A |
6078864 | Long et al. | Jun 2000 | A |
6081609 | Narioka | Jun 2000 | A |
6084989 | Eppler | Jul 2000 | A |
6092076 | McDonough et al. | Jul 2000 | A |
6107944 | Behr et al. | Aug 2000 | A |
6108603 | Karunanidhi | Aug 2000 | A |
6108604 | Fukaya et al. | Aug 2000 | A |
6115669 | Watanabe et al. | Sep 2000 | A |
6124826 | Garthwaite et al. | Sep 2000 | A |
6125326 | Ohmura et al. | Sep 2000 | A |
6141621 | Piwowarski et al. | Oct 2000 | A |
6148261 | Obradovich et al. | Nov 2000 | A |
6151552 | Koizumi et al. | Nov 2000 | A |
6154699 | Williams | Nov 2000 | A |
6163269 | Millington et al. | Dec 2000 | A |
6172641 | Millington | Jan 2001 | B1 |
6175801 | Millington | Jan 2001 | B1 |
6177943 | Margolin | Jan 2001 | B1 |
6178380 | Millington | Jan 2001 | B1 |
6184823 | Smith et al. | Feb 2001 | B1 |
6189130 | Gofman et al. | Feb 2001 | B1 |
6201540 | Gallup et al. | Mar 2001 | B1 |
6204778 | Bergan et al. | Mar 2001 | B1 |
6205397 | Eslambolchi et al. | Mar 2001 | B1 |
6212474 | Fowler et al. | Apr 2001 | B1 |
6223118 | Kobayashi et al. | Apr 2001 | B1 |
6229546 | Lancaster et al. | May 2001 | B1 |
6249740 | Ito et al. | Jun 2001 | B1 |
6253151 | Ohler et al. | Jun 2001 | B1 |
6256029 | Millington | Jul 2001 | B1 |
6278942 | McDonough | Aug 2001 | B1 |
6308134 | Croyle et al. | Oct 2001 | B1 |
6320517 | Yano et al. | Nov 2001 | B1 |
6321158 | DeLorme et al. | Nov 2001 | B1 |
6349257 | Liu et al. | Feb 2002 | B1 |
6356210 | Ellis | Mar 2002 | B1 |
6360167 | Millington et al. | Mar 2002 | B1 |
6362751 | Upparapalli | Mar 2002 | B1 |
6363322 | Millington | Mar 2002 | B1 |
6370475 | Breed et al. | Apr 2002 | B1 |
6377278 | Cutright et al. | Apr 2002 | B1 |
6381536 | Satoh et al. | Apr 2002 | B1 |
6385535 | Ohishi et al. | May 2002 | B2 |
6385542 | Millington | May 2002 | B1 |
6397145 | Millington | May 2002 | B1 |
6405130 | Piwowarski | Jun 2002 | B1 |
6408243 | Yofu | Jun 2002 | B1 |
6427115 | Sekiyama | Jul 2002 | B1 |
6430501 | Slominski | Aug 2002 | B1 |
6453235 | Endo et al. | Sep 2002 | B1 |
6484089 | Millington | Nov 2002 | B1 |
6487494 | Odinak et al. | Nov 2002 | B2 |
6515595 | Obradovich et al. | Feb 2003 | B1 |
6529822 | Millington et al. | Mar 2003 | B1 |
6529824 | Obradovich et al. | Mar 2003 | B1 |
6539301 | Shirk | Mar 2003 | B1 |
6542814 | Polidi et al. | Apr 2003 | B2 |
6565610 | Wang et al. | May 2003 | B1 |
6574551 | Maxwell et al. | Jun 2003 | B1 |
6609062 | Hancock | Aug 2003 | B2 |
6631322 | Arthur et al. | Oct 2003 | B1 |
6671617 | Odinak et al. | Dec 2003 | B2 |
6704649 | Miyahara | Mar 2004 | B2 |
6728608 | Ollis et al. | Apr 2004 | B2 |
6728636 | Kokojima et al. | Apr 2004 | B2 |
6748323 | Lokshin et al. | Jun 2004 | B2 |
6765554 | Millington | Jul 2004 | B2 |
6774932 | Ewing | Aug 2004 | B1 |
6782319 | McDonough | Aug 2004 | B1 |
6816596 | Peinado et al. | Nov 2004 | B1 |
6819301 | Nagamatsu et al. | Nov 2004 | B2 |
6842695 | Tu | Jan 2005 | B1 |
6873907 | Millington et al. | Mar 2005 | B1 |
6885874 | Grube et al. | Apr 2005 | B2 |
6917982 | Dueck et al. | Jul 2005 | B1 |
6938028 | Ito | Aug 2005 | B1 |
7031834 | Ito et al. | Apr 2006 | B2 |
7031836 | Branch | Apr 2006 | B2 |
7058504 | McDonough et al. | Jun 2006 | B2 |
7170518 | Millington et al. | Jan 2007 | B1 |
7233860 | Lokshin et al. | Jun 2007 | B2 |
7260475 | Suzuki | Aug 2007 | B2 |
7321826 | Sheha et al. | Jan 2008 | B2 |
7333820 | Sheha et al. | Feb 2008 | B2 |
7343242 | Breitenberger et al. | Mar 2008 | B2 |
7353107 | Breitenberger et al. | Apr 2008 | B2 |
7379812 | Yoshioka et al. | May 2008 | B2 |
7395149 | Matsumoto et al. | Jul 2008 | B2 |
7421334 | Dahlgren | Sep 2008 | B2 |
7512487 | Golding et al. | Mar 2009 | B1 |
7546202 | Oh | Jun 2009 | B2 |
7590490 | Clark | Sep 2009 | B2 |
7634356 | Oguchi et al. | Dec 2009 | B2 |
20010018628 | Jenkins et al. | Aug 2001 | A1 |
20020151315 | Hendrey | Oct 2002 | A1 |
20030036842 | Hancock | Feb 2003 | A1 |
20030036848 | Sheha et al. | Feb 2003 | A1 |
20030167120 | Kawasaki | Sep 2003 | A1 |
20030182052 | DeLorme et al. | Sep 2003 | A1 |
20030191578 | Paulauskas et al. | Oct 2003 | A1 |
20040039520 | Khavakh et al. | Feb 2004 | A1 |
20050107948 | Catalinotto | May 2005 | A1 |
20060080031 | Cooper et al. | Apr 2006 | A1 |
20060089788 | Laverty | Apr 2006 | A1 |
20060106534 | Kawamata et al. | May 2006 | A1 |
20060212217 | Sheha et al. | Sep 2006 | A1 |
20060265422 | Ando et al. | Nov 2006 | A1 |
20070027628 | Geelen | Feb 2007 | A1 |
20070073480 | Singh | Mar 2007 | A1 |
20070088494 | Rothman et al. | Apr 2007 | A1 |
20070130153 | Nachman et al. | Jun 2007 | A1 |
20070204218 | Weber et al. | Aug 2007 | A1 |
20070213929 | Tanizaki et al. | Sep 2007 | A1 |
20070233384 | Lee et al. | Oct 2007 | A1 |
20080076451 | Sheha et al. | Mar 2008 | A1 |
20080125958 | Boss et al. | May 2008 | A1 |
20080133120 | Romanick | Jun 2008 | A1 |
20080134088 | Tse et al. | Jun 2008 | A1 |
20080177470 | Sutardja | Jul 2008 | A1 |
20080270016 | Proietty et al. | Oct 2008 | A1 |
20090138190 | Kulik | May 2009 | A1 |
20090150064 | Geelen | Jun 2009 | A1 |
20090171584 | Liu | Jul 2009 | A1 |
20090182498 | Seymour | Jul 2009 | A1 |
20090182500 | Dicke | Jul 2009 | A1 |
20090187340 | Vavrus | Jul 2009 | A1 |
20090187341 | Vavrus | Jul 2009 | A1 |
20090187342 | Vavrus | Jul 2009 | A1 |
Number | Date | Country |
---|---|---|
1471330 | Oct 2004 | EP |
2001194172 | Jul 2001 | JP |
2002048574 | Feb 2002 | JP |
2006250875 | Sep 2006 | JP |
2007155582 | Jun 2007 | JP |
2007178182 | Jul 2007 | JP |
2008002978 | Jan 2008 | JP |
19990011004 | Feb 1999 | KR |
19990040849 | Jun 1999 | KR |
20020084716 | Nov 2002 | KR |
20040106688 | Dec 2004 | KR |
20070080726 | Aug 2007 | KR |
Number | Date | Country | |
---|---|---|---|
20080051995 A1 | Feb 2008 | US |
Number | Date | Country | |
---|---|---|---|
60840035 | Aug 2006 | US |