1. Field of Invention
The present invention relates generally to navigation systems and location-based information delivery, and more particularly, to a method and system for a multiple route navigation system wherein a client provides navigation guidance using the multiple routes calculated by a remote server.
2. Description of Related Art
Presently, a rapid growth in technological fields such as the personal digital assistant (PDA) and cellular telephones has fueled consumer interest in products that provide on-call real-time guidance and communication. One such technological advance is a navigation system that allows its users to reach destinations by providing turn-by-turn instructions along a calculated route.
Conventional navigation systems are typically satellite-based Global Positioning System (GPS) devices that have been incorporated into automobile navigation systems. Additional information regarding conventional navigation systems can be found in U.S. Pat. Nos. 5,938,720, 5,928,307, 5,922,042, 5,912,635, 5,910,177, 5,904,728, 5,902,350, all incorporated herein by reference. Such conventional automobile navigation systems, however, are expensive and inconvenient to use. Therefore, there is a need to incorporate navigation capabilities so that a user may access real-time turn-by-turn route instructions via personal handheld devices such as a wireless cellular phone or a personal digital assistant (PDA) device.
A variety of systems are known in the art for providing users with electronic routing maps and navigation aids. A typical approach can be found in U.S. Pat. Application Publication 2004/0030493, by Pechatnikov et al., that discloses a method for displaying a corridor map on a mobile client. Such a conventional navigation system, however, has several obstacles to overcome. One such obstacle is the amount of geographic data needed to provide reasonably detailed navigational information. Small handheld devices comprise limited embedded memory that may not be adequate for storing a large amount of geographic information essential for navigational purposes.
Due to limited client memory capacity, conventional distributed navigation systems assign a nominal route calculation tasks to the server, and allocate rerouting calculations almost exclusively to the server. Typically, the client requests a rerouting calculation whenever the user deviates from the nominal route. In order to retrieve and display navigation information to the user, the client must frequently communicate with the server. Such constant communication may be time consuming and the information may be inaccurate due to communication delays. Thus, there is a need for a client-server navigation system, wherein the client can provide navigation guidance to the user without resorting to the server frequently for a new nominal route.
The present invention provides a method and system for providing multiple route navigation guidance. The system comprises a client integrated with a mobile communication device (e.g. PDA, cellular telephone, etc.) and a server communicating via wireless carriers and networks.
In one embodiment, the server receives a destination sent by the client, determines a user's initial position and proceeds to calculate a set of destination routes. The server then sends a set of routing information including navigation information related to the set of destination routes to the client and the client displays turn-by-turn navigation instructions to the user. Moreover, while the user is traveling from the initial position to the destination, the client periodically queries the user's position with positioning techniques such as the Global Positioning System (GPS). If a deviation from the set of destination routes is detected, the client sends a request for a new set of destination routes to the server. Then, the server calculates a new set of destination routes from the user's current position to the destination and sends navigation information related to the new set of destination routes to the client.
The present invention reduces excessive reroute communication between the client and the server in a navigation system by storing the navigation information in the client and providing turn-by-turn navigation instruction via the client. The reduced communication between the client and the server further diminishes possible reroute errors caused by communication delays. Moreover, the amount of navigation information stored in the client is dynamic and may depend on factors such as the client's storage and/or processing capabilities.
The accompanying drawings that are incorporated in and form a part of this specification illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention:
FIGS. 3A-C are schematic diagrams illustrating various approaches to calculate multiple routes at the origin in which the velocity of the user is zero in accordance with one embodiment of the present invention.
FIGS. 4A-B are schematic diagrams illustrating various approaches to predict user's initial position in which the velocity of the user is non-zero in accordance with another embodiment of the present invention.
The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. In the following description, specific nomenclature is set forth to provide a thorough understanding of the present invention. It will be apparent to one skilled in the art that the specific details may not be necessary to practice the present invention. Furthermore, various modifications to the embodiments will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments not necessarily enumerated herein. Thus, the present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described herein.
One of the key components of a navigation system is the determination of the location (or position) of a user. It is intended that the term location referred to herein comprises a geographic location or geographic information relating to the position of an object. A location may contain three-dimensional information that completely defines the exact position of an object. In some additional embodiments, a location may contain information that is not sufficient to completely define the position of an object. Broadly defined, as used herein, a location also may include speed, time, direction of movement, etc. of an object.
One skilled in the art would appreciate that the format with which a location is expressed is not critical to some embodiments of the invention. For example, in some embodiments, location information is presented in the format of (x, y), where x and y are two ordinates that define the geographic location, i.e., a position of a user. In an alternative embodiment, location information is presented by longitude and latitude related information. In another embodiment of the present invention, the location information also includes a velocity element comprising a speed component and a heading component.
Wireless device 104 may be equipped with positioning capability that takes the form of, for example, Global Positioning Systems (GPS) that may receive signals from a GPS satellite 102, Enhanced 911 (E911), or some other positioning systems as they become available. One skilled in the art will appreciate that the present invention is not limited to any particular positioning technology. In one embodiment, wireless device 104 is manufactured with built-in positioning capabilities. In
Wireless device 104 may not need to carry map information. The only limitation with respect to the memory and CPU is that wireless device 104 has sufficient memory to store multiple routes (or, equivalently, a set of destination routes) transmitted from a server and CPU capability to guide the user using the stored multiple routes, as will be explained later. In one embodiment, the capabilities of wireless device 104 may be enhanced through interfacing with modular attachments. A major function of wireless device 104 is to provide an interface between the invention and a user.
As will be described more fully below, wireless device 104 may provide a user interface for displaying graphical, textual or audible information. The user interface incorporates the user's sensory capabilities within the invention, allowing the user to interact with electromechanical components of the invention, such as by allowing the user to relay and receive location information by means of audible signals, voice, or audiovisual, graphical, or combination thereof of location information displayed or transmitted on wireless device 104. Where a text-displaying device is used, enhanced performance is achieved through wireless device 104 displaying several lines of text. One skilled in the art realizes that many more implementations are possible for wireless device 104 without deviating from the teachings of this invention.
In one embodiment, where wireless device 104 is equipped with directional capabilities such as through the use of gyroscope, geomagnetic sensing, or GPS provided heading, the system 100 may provide real-time directional as well as navigational information. Illustratively, the system 100 may determine that the user must proceed north and the user is facing north, wireless device 104 may display an upward pointing arrow indicating that the user should proceed straight ahead. However, where the user must proceed north and he is facing south, wireless device 104 may show a downward pointing arrow indicating that the user should proceed backward or, more reasonably, turn around to face north and then proceed. In another implementation with a more enhanced display, more detailed and broader map information may be displayed with more stylistic prompts to the user.
In another embodiment, wireless device 104 may be connected to an accessory display. For example, a wireless device 104 appropriate for walking may be enhanced by interfacing with a device with additional features such as a car-mounted display or portable computer to become better equipped for automobile navigation. In certain embodiments of the invention, the accessory device provides, without limitation, enhanced display capabilities, enhanced memory capacity, increased computational power, or increased throughput.
Referring back to
While keeping within the teachings of the invention, wireless carrier 106 may provide positioning information such as through GPS, E911 or other positioning systems. Alternatively, positioning information may be obtained through a third party means and then used by wireless carrier 106. For example, wireless service resellers, wireless internet service providers (ISPs), or satellite wireless carriers, among others, may provide the services necessary to practice the invention. In an embodiment of the invention, wireless carrier 106 may receive and transmit analog or digital information from the wireless device 104 and direct such information downstream to other components of the invention. Similarly, wireless carrier 106 may receive information from components of the invention and then direct such information to wireless device 104.
As shown in
As shown in
An alternative embodiment 120 of the system architecture of the present invention is shown in
Navigation server 114 receives GPS information from a client 104 to determine the origin 202. The technique to determine the origin 202 will be explained in following sections. Navigation server 114 also receives information of the destination 204 from the client 104. Then, based on origin 202 and destination 204, it may determine multiple routes 200 that may include preferred route 214 and road branches 208, 210, 212, 215, 216 and 218. Each of the road branches 208, 210, 212, 215, 216 and 218 represent a route that the user can take intentionally or unintentionally deviating from preferred route 214.
It is noted that road branch 213 at point 206a may not be included in the multiple routes 200 since it may not be likely that the user may deviate onto the branch 213 by mistake, i.e., the branch 213 is a low risk branch. The risk probability of deviation at each road branch of the intermediate points 206 may be evaluated. In case of low risk probability, such branch may not be included in multiple routes 200 so that the volume of data included in multiple routes 200 may be optimized. The risk probability may be based on several parameters) such as statistical data, geometric complexity of the intersection and size of the branch, etc. The risk probability may be also determined by the user's habit. For example, rather than staying on the calculated multiple routes 200, the user has consistently selected a route that is not included in the multiple routes 200, and the client and/or server may then set the user selected route with zero risk probability.
The amount of navigation information received by client 104 may depend on factors such as user-designated settings or storage and/or processing capabilities of the client 104. In one embodiment of the present invention, the client 104 may receive navigation information for the entire multiple routes 200 from origin 202 to destination 204. In a second embodiment, navigation server 114 may divide multiple routes 200 into several sections, such as sections 222, 224 and 226, of constant (e.g. 100 feet per section) or varying (e.g. 50 feet from the user initial position for the first section, 100 feet for the second section, etc.) distances, and client 104 receives and stores multiple route information for the next section at the end of the current section or the beginning of the next section. In an embodiment where the section lengths are not constant, the length of each section may rely on various factors such as the street and branch density surrounding the section. Moreover, regardless of how multiple routes 200 are divided, client 104 schedules the query of further sections of multiple routes 200 based on factors such as distance consumption and/or user speed. Once the user has traveled into the next section, previous section data may be removed from the storage of client device 104.
Upon receipt of multiple route data from a server, the client 104 may store the multiple routes data and user may start navigation from its origin 202 toward the destination 204 along preferred route 214. The client 104 may provide the user with turn-by-turn instructions along preferred route 214. However, as will be explained later, the user may take one of the branches 208, 210 and 212. Typically, client 104 may update its user location and direction based on the GPS information received from satellite 102. If the client 104 detects a deviation from the preferred route 216 into one of the three branches 208, 210 and 212, it may provide the user with guidance. For example, the client 104 may suggest a u-turn 210b when the user is on the road 210 and proceed in the direction 210a. Likewise, when the user travels on branch (or, equivalently, road) 208 or 212 and proceeds in the direction 208a or 212a, the user may be guided back to the preferred route 214 by an instruction following the direction 208b or 212b, respectively.
As mentioned, client 104 may receive GPS signal continuously and update the user's current position. Deviation from the preferred route 214 is considered “local” if the user's current position is on one of the branches, such as 208, 210 and 212, included in the multiple routes 200. In case of local deviation, the client 104 may guide the user back to the preferred route 214 without requesting calculation of new preferred routes to the navigation server 114, which may translate into savings of excessive reroute communication time between the client 104 and navigation server 114 and computional resources of the navigation server 114. If the user travels on a road that is not covered by the multiple routes 200, the client 104 may request new multiple routes to the navigation server 114, which is a fallback mechanism.
In one embodiment, a predefined or user and/or system set threshold value may be used to determine whether or not the user has deviated from multiple routes 200. The threshold by which deviation is determined may vary depending on the area in which the user is traveling. For example, the threshold may be set relatively low in environments that comprise little noise such as a sparsely populated area or a highway where the positioning measurements are relatively reliable; and the threshold may be set relatively high in environments that comprising a lot of noise such as a business district of a downtown urban area where a multitude of high-rise structures may impair the accuracy of the positioning system. In another embodiment, the deviation detection may be a feature set by user preference and can be turned on or off as desired.
At the intermediate point 206a, the user may be guided back to the preferred route 214 by a u-turn 216b if the user travels in a direction 216a on road 216. As mentioned, if a branch is determined to be at low risk, such as branch 213, the branch may not be included in the multiple routes 200. At the intersection 206b, the user may proceed in a direction 218a. Then, the client 104 may guide the user back to the preferred route 214 by a u-turn on the branch 218b or an alternative approach 218c along a road 220. At the destination 204, the user may overshoot as indicated by an arrow 222a. Then, the client 104 may guide the user to the destination by a u-turn 222b.
As mentioned above, navigation server 114 may determine origin 202 using GPS information sent by client 104.
As mentioned, as a fallback mechanism, client 104 may request new multiple routes to navigation server 114 if user travels on a road that is not covered by the initial multiple routes. In this case, user may have certain velocity and, as a consequence, navigation server 114 may receive a series of position information (or, equivalently, location coordinates) from client 104 along with the request.
In predicting origin 410, navigation server 114 may need to choose between the road A 402 and road B 404 if position information 408a-d may indicate that user travels between the two roads 402 and 404. The distance between actual road 406 and position information 408a-d may stem from several uncertainty factors. For example, most GPS receivers can provide position information accurate to within a range of approximately 50 meters, i.e., an inaccuracy of around 50 meters. There are a number of other known factors that may affect the accuracy of a position determination. For instance, weather conditions may affect the accuracy of a GPS position determination. In one embodiment of the invention, a position, in addition to information defining the position of an object, is also associated with an estimated error range. One skilled in the art appreciates that the error of a positioning system is estimated based upon the characteristics of the positioning device and other factors including weather and receiving conditions. Therefore, whether or not a position is ambiguous may be dependent upon many factors including, but not limited to: the accuracy associated with the position; attributes of a road network; recent traveling history; and map accuracy. For additional detail related to ambiguity determination, ambiguity reduction, and user location selection, refer to U.S. Pat. No. 6,266,615 entitled “method And System For An Interactive And Real-Time Distributed Navigation System”, issued on Jul. 24, 2001, herein incorporated in its entirety by reference.
In
To calculate multiple routes 200, navigation server 114 must resolve the ambiguity before a determination can be made of the user's initial position. In one embodiment, it may send a query to client 104. Upon receipt of the query, client 104 may request its user to input the current road. Then, based on the user's input, navigation server 114 may proceed to calculate multiple routes 200.
In step 504, a server obtains from the client a set of initial user position information sent along with a request for navigation instructions. In one embodiment, the client comprises a device such as wireless device 104 discussed with reference to
In step 506, in addition to determining a user's initial position, the server calculates multiple routes from the user's initial position to the destination selected in step 502. Next, the client receives navigation information related to the multiple routes from the server in step 508. Subsequently, the client continuously queries a positioning system such as GPS to track the user's current position and check if user is traveling on a road defined by multiple routes in step 510. Upon negative answer to the decision diamond 510, the control may proceed to step 504. Otherwise, the client provides the user with turn-by-turn navigation guidance in step 512. In step 514, the client may check if the user has reached the destination. If the answer to step 514 is YES, the navigation ends in step 516. If the answer to step 514 is NO, the control proceeds to step 510. For further detail related to navigation message display, refer to U.S. Pat. No. 6,266,615, entitled “Method And System For An Interactive And Real-Time Distributed Navigation System”, issued on Jul. 24, 2001, herein incorporated in its entirety by reference. In one embodiment, the client may provide warnings for upcoming tight turns, wherein the warnings may be triggered by factors such as user travel speed, angle of the turn, etc. In another embodiment, the client may provide a dynamic local map via a graphic user interface to the user in order to give the user more comprehensive guidance.
If answer to the step 604 is NO, the server may determine if there is any ambiguity in determining the origin in step 608. Upon negative answer to step 608, the control proceeds to step 614 to calculate the multiple routes. If answer to step 608 is YES, the server may send a query to the client for a user's input in step 610. Upon receipt of the user's input to resolve the ambiguity in step 612, the control proceeds to step 614 to calculate the multiple routes. Additional detail related to determination of user's initial position, refer to U.S. Pat. No. 6,807,483, entitled “Method and System For Prediction-Based Distributed Navigation”, by Chao et al., issued on Oct. 19, 2004, which is herein incorporated in its entirety by reference.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the arts to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.
This application relates to U.S. Pat. No. 6,807,483, “Method And System For Prediction-Based Distributed Navigation,” issued on Oct. 19, 2004, and U.S. patent application Ser. No. 10/619,974, “Method and System for Distributed Navigation” filed on Jul. 15, 2003; both applications being hereby incorporated in its entirety by reference.