System and method for estimating impedance time through a road network

Information

  • Patent Grant
  • 6704645
  • Patent Number
    6,704,645
  • Date Filed
    Tuesday, December 11, 2001
    22 years ago
  • Date Issued
    Tuesday, March 9, 2004
    20 years ago
Abstract
A method and apparatus are provided for estimating an impedance through a node at an intersection between roads in a roadway network. The impedance may be measured in time or distance, for example. Characteristic information describes at least one feature of the intersecting roads. One or more pieces of characteristic information may impact the impedance of traffic through an intersection and are used to estimate the impedance through the node. Examples of characteristic information are speed information, road-type, network routing level, intersection angle information, one-way, and cross traffic turn information. An impedance factor, or a cost, is assigned to each piece of characteristic information. The cost may be positive if the characteristic information adds impedance to the node, or negative if the characteristic information subtracts impedance from the node.
Description




BACKGROUND OF THE INVENTION




Certain embodiments of the present invention relate to navigational route planning. In particular, certain embodiments of the present invention relate to determining a route through a road network.




Route planning devices are well known in the field of navigational instruments. Several algorithms utilized by planning devices calculate the route from one of the source and/or destination locations or from both simultaneously. Conventional planning algorithms operate based on a predefined stored data structure including data indicative of a geographic region containing the source and destination locations.




Some devices implement a straight line approach in determining the distance between source and destination locations. In the straight line approach, the processor creates a straight line from the present location to the final destination and measures that straight line distance. For example, if a desired destination is on a mountain, the straight line distance from a current location might be only six miles. However, if the only available road to that destination is a windy road around the mountain entailing 30 miles of actual driving, the route planning distance calculated by the straight line approach will be inaccurate.




Other devices implement a nodal analysis in which a number of potential paths are determined from a present location to a destination location based on stored data indicative of roadways between nodes. The nodal analysis then examines each potential path and determines an impedance or “cost” associated with each path (i.e. a measure of the amount of time or distance required to travel the path). Paths are eliminated based on criteria such as shortest distance, shortest time, lowest cost, or user inputted preferred routes.




However, conventional route planning devices will not find the most efficient route since they do not take into consideration certain factors that affect travel over a particular route. For example, a user may input desired source and destination locations, and request the route that covers the shortest distance. While only one particular route may be the physically shortest distance between source and destination locations, other near-shortest routes may exist that are only slightly longer. The shortest and near-shortest routes include travel along different combinations of roads and travel through unique combinations of road intersections. Each road in the shortest and near-shortest routes has an associated travel speed, representing the speed limit or range at which traffic typically travels over the road. Also, each road in the shortest and near-shortest routes passes through a combination of intersections. The shortest and near-shortest routes may be close in length, while the shortest route may include roads with slower travel speeds and/or more intersections and/or intersections that typically require more time (e.g., stop signs, stop lights, crossing larger/busier highways, turning across traffic onto a new road, etc.) as compared to one or more near-shortest routes.




Conventional route planning devices produce a shortest distance route which includes roads that are selected independent of whether the roads have slower traveling speeds. Conventional route planning devices do not include travel-time information for road intersections, nor account for delays at road intersections when planning a route. Although one route represents the shortest distance, a more efficient route may exist with a slightly longer distance (e.g., a near-shortest distance route). The difference between the length of the shortest distance route and the near-shortest distance route may be insignificant. Consequently, the user may travel for a longer period of time and encounter more traffic delays by taking the shortest distance route.




Conventional route planning devices do not take into consideration travel delays experienced at intersections, such as delays due to stop signs, stop lights, crossing lanes of on-coming traffic, turning onto or off of one-way roads, the angle at which roads intersect when a route turns from one road onto another, and the like. This is not desirable.




Thus, a need has long existed in the industry for a method and apparatus for determining impedance time through a road network that addresses the problems noted above and other problems previously experienced.




BRIEF SUMMARY OF THE INVENTION




Certain embodiments of the present invention relate to a method for estimating an impedance time through a node at an intersection between roads in a roadway network. The method includes identifying characteristic information that describes at least one feature of the intersecting roads. Based on the characteristic information, an impedance time associated with potential delays by traffic traveling through the node is estimated. The characteristic information may include speed information, such as speed categories or speed bands. A speed band identifies a speed range in which traffic travels on the road, and a speed differential between the speed bands of intersecting roads may be determined. Optionally, the characteristic information may include road-type or network routing level information, such as when the roadway network is divided into a hierarchy of road-types. A route level may be assigned to each road intersecting at a node, and a route level differential between the route levels of the roads may be determined. The characteristic information may include intersection angle information and/or cross traffic turn information.




In another embodiment of the present invention, a method is provided for calculating a navigation route between first and second geographic locations through a roadway network of roads that intersect at nodes. A data structure is provided that has data indicative of the roadway network of roads. The data includes feature data indicating traffic characteristics for the roads. Route impedance is calculated for a navigation route through the roadway between the first and second locations based on the feature data. The node impedance is determined for the navigation route where the navigation route intersects other roads. The node impedance may indicate a potential delay that traffic experiences when traveling through a node. The node impedance and route impedance are used to calculate the navigation route. The node and route impedances may be measured in time or distance.




The feature data may include speed information, one-way, and/or intersection angle information. A turn penalty may be assigned when the navigation route crosses on-coming traffic. Optionally, a neighborhood penalty may be added to the node or route impedance when the navigation route travels through residential areas that are not located at the first and second geographic locations. Optionally, an exit/entry ramp penalty may be added to the node or route impedance when the navigation route travels along an exit ramp from a first road directly onto an entry ramp back onto the first road.




In another embodiment of the present invention, a navigation device is provided comprising a memory and processor. The memory at least temporarily stores at least a portion of a data structure having data indicative of a roadway network of roads intersecting at nodes. The data structure includes feature data of traffic characteristics for roads. The processor accesses the memory and calculates a route through the roadway network between geographic locations from the data stored in the data structure. The processor estimates node impedances for intersection nodes, and utilizes the route impedance and node impedance to calculate the route. The feature data may include speed information, road-type information, routing level information, intersection angle information, and/or cross traffic information which is used to calculate node impedance. Optionally, the device may include an input buffer for temporarily storing a portion of the data structure received from an external storage device. In one embodiment, the device includes a display that presents the route to an operator. The device may also comprise a wireless input/output unit used to communicate with an external network and receive a portion of the data structure of a wireless connection with the external network.




In another embodiment of the present invention, a navigation system is provided comprising a storage unit, a route calculation module, and a correction module. The storage unit stores a data structure having data indicative of roads and intersection nodes in a roadway network. The data includes road-type information that classifies roads into a hierarchy of route levels. The route calculation module calculates a planned route between source-and destination locations over the network based on the stored data. The route calculation module may calculate the route based on a shortest distance routing algorithm, and may add a distance penalty to potential routes that include an exit or entrance ramp. The correction module identifies undesirable shortcuts by using the road-type information to avoid traveling from a road of a higher route level to a road of a lower route level. Undesirable shortcuts may be along exit and entrance ramps of a road or through neighborhoods. Optionally, the correction module may include a neighborhood progression module that updates the route to avoid residential roads that are remote from the source and destination locations.




The route calculation module may receive a request from a mobile unit over a network to calculate a route. The request would include source and destination locations, and other use specific information. The route calculation module would access corresponding data structures, such as in a server, plan the route, and return the planned route to the mobile unit. The returned information would include the portion of the roadway network between the source and destination locations. The network may be the internet, a wireless connection and the like.











BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS





FIG. 1

illustrates a block diagram of a navigation device formed in accordance with an embodiment of the present invention.





FIG. 2

illustrates a front view of a navigation device formed in accordance with an embodiment of the present invention.





FIG. 3

illustrates a block diagram of a navigation device formed in accordance with an embodiment of the present invention.





FIG. 4

illustrates a navigation system formed in accordance with an embodiment of the present invention.





FIG. 5

illustrates a roadway network formed in accordance with an embodiment of the present invention.





FIG. 6

illustrates a flow chart of a method for estimating the impedance time through an intersection node in accordance with an embodiment of the present invention.





FIG. 7

illustrates a flow chart of a method for estimating turn penalties in accordance with an embodiment of the present invention.





FIG. 8

illustrates a flow chart of a method for improving shortest distance routes in accordance with an embodiment of the present invention.











The foregoing summary, as well as the following detailed description of the preferred embodiments of the present invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings, embodiments which are presently preferred. It should be understood, however, that the present invention is not limited to the precise arrangements and instrumentality shown in the attached drawings.




DETAILED DESCRIPTION OF THE INVENTION





FIG. 1

illustrates a system


10


formed in accordance with an embodiment of the present invention. The system


10


includes at least one processor


12


for carrying out various processing operations discussed below in more detail. The processor


12


is connected to a cartographic database


14


, memory


16


, a display


18


, a keyboard


20


, and a buffer


22


. Optionally, more than one processor


12


may be included. The cartographic database


14


may store data indicative of a roadway network (in full or in part) used in connection with embodiments of the present invention. The memory


16


, while illustrated as a single block, may comprise multiple discrete memory locations and/or discs for storing various types of routines and data utilized and/or generated by embodiments of the present invention. The buffer


22


represents a memory storage area that may be within memory


16


or separate therefrom. Buffer


22


is used to temporarily store data and/or routines used in connection with embodiments of the present invention. The display


18


displays information to the user in an audio and/or video format. The keyboard


20


permits the user to input information, instructions and the like to the processor


12


during operation.




By way of example only, initial operations may be carried out by an operator of the system


10


, utilizing the keyboard


20


for controlling the processor


12


in the selection of parameters, defining data structures to be developed and/or accessed, and the like.




The data structure(s) stored in the cartographic database


14


, memory


16


, and/or buffer


22


may include data indicative of features associated with a roadway network and/or a geographic area. The data may represent points, lines, areas, coordinates (longitude, latitude and altitude), or otherwise. For instance, portions of a highway, river or boundary (e.g., a state or country boundary), trails and the like may be represented by linear features stored in the data structure. In addition, cities, towns, neighborhoods, communities and the like may be represented by point features within the data structure. Also, buildings, lakes, and the like may be represented by area features. Prior to storage, various common features may be identified for cartographic data and such common features may be classified based upon predefined hierarchies. For example, interstate highways may be defined and/or organized as one feature class, state highways and roads may be defined as a second feature class, and county roads may be defined as a third feature class. Features other than roads, such as rivers and waterways, may also be classified. As a further example, geographic boundaries (e.g., state and county lines) may be assigned one or more different feature classes.





FIG. 2

illustrates a portable electronic device


30


formed in accordance with an embodiment of the present invention. The electronic device


30


is oriented along a vertical axis (as illustrated) or horizontal axis when held by a user. The portable electronic device


30


includes a housing


32


having a face plate


34


and sidewalls and a back wall (not shown). The portable electronic device


30


further includes an antenna


36


mounted at one corner of the housing


32


. The face plate


34


is substantially rectangular in shape. The face plate


34


securely frames the display screen


38


and houses the control panel


40


. The control panel


40


includes several push button-type keys


42


that afford the user control over the portable electronic device


30


.




Optionally, a directional toggle pad


44


may be included within the control panel


40


. In one application, such as when utilizing the portable electronic device


30


within a global positioning system, the toggle pad


44


affords the ability to scan through a large map of a geographic area, all or a portion of which is stored in memory of the portable electronic device


30


. The portable electronic device


30


then displays portions of the scanned map on the display screen


38


. The display screen


38


also illustrates planned routes through geographic areas between source and destination locations. Optionally, the control panel


40


may include a speaker/microphone combination, designated by reference numeral


46


, to afford communication between the operator and a remote destination.




The display screen


38


may be located below the control panel


40


(when oriented along a vertical axis) to afford easy data entry by the user. When vertically oriented, the display screen


38


is controlled to orient data upon the display screen


38


such that side


48


of the display screen


38


represents the top of the data to be displayed, while side


50


of the display screen


38


represents the bottom. Thus, the data is preferably displayed from the top


48


to the bottom


50


of the display screen


38


.





FIG. 3

illustrates a block diagram for an electronic circuit of the portable electronic device


30


formed in accordance with an embodiment of the present invention. The electronic circuit includes a processor


52


that communicates via the control panel


40


through line


41


. The processor


52


communicates via line


39


with the display screen


38


. The electronic circuit further includes a memory


54


that is accessed by the processor


52


via line


53


. The antenna


36


is connected to the processor


52


via a cellular transmitter/receiver


37


and a GPS receiver


35


. The electronic circuitry of the portable electronic device


30


is powered by a power supply (not shown) housed within the device or connected thereto. A microphone


33


and a speaker


31


are also connected to, and communicate with, the processor


52


.




The housing


32


of the portable electronic device


30


houses the processor


52


, memory


54


, display


38


and key pad


40


. The display screen


38


and control panel


40


are accessible at the exterior of the housing. In one embodiment, the portable electronic device


30


is utilized in conjunction with a global positioning system for acquiring signals transmitted from satellites in geosynchronous orbit. In such an embodiment, the processor


52


includes means for calculating, by triangulation, the position of the portable electronic device


30


. In such an embodiment, an image file indicative of a selected map is held in memory


54


. In accordance with one embodiment, the image file held in memory


54


comprises spatial data indices according to a data structure defining a geographic area of interest.




An operator of the portable electronic device


30


controls the processor


52


through use of control panel


40


to display map images on the display screen


38


. Utilizing the control panel


40


, the operator selects various zoom levels, corresponding to layers of the data structure for a particular geographic region desired to be displayed on the display screen


38


. Data indicative of the map to be displayed is accessed from the memory


54


according to the inputs by the user using the control panel


40


. When performing a route planning operation, the operator enters a source location and a destination location, such as by entering addresses, geographic coordinates, well-known buildings or sites, and the like. The processor


52


accesses data structures stored in memory


54


to calculate a suggested route.





FIG. 4

illustrates a navigation and routing system


70


formed in accordance with an alternative embodiment of the present invention. The system


70


includes one or more mobile units


72


capable of performing navigation and/or routing functions, a server


74


and an intervening network


76


. The mobile units


72


may each include some or all of the structure and/or functionality of the portable electronic device


30


. The server


74


may perform a majority of the navigation and route planning operations and transmit results and limited geographic data to the mobile units


72


. Alternatively, the server


74


may simply perform minor management operations. The server


74


communicates with the mobile units


72


through communications links


78


and


80


and the network


76


which may constitute the internet, a wireless communications network supported by ground-based towers and/or satellites, and the like. The mobile units


72


may receive data structures, coordinate information, and the like over communications links


78


and


80


from the network


76


.




During operation, the server


76


may simply transmit data structures for requested geographic regions to the mobile units


72


, after which the mobile units


72


carry out all necessary processing to perform navigation and routing operations. Alternatively, the mobile unit


72


need not store the data structures. Instead, the server


74


may maintain the data structures and carry out navigation and routing calculations based upon requests received from the mobile unit


72


. For example, the user may enter source and destination locations for a desired routing operation. The source and destination coordinates are transmitted from the mobile unit


72


through the communications links


78


and


80


and network


76


to the server


74


which calculates the desired route and returns such information to the mobile unit


72


. In this alternative embodiment, the mobile unit


72


need not store large cartographic data blocks or data structures that would otherwise be needed to calculate and plan a route.





FIG. 5

illustrates a portion of a data structure containing data indicative of a roadway network


200


formed in accordance with an embodiment of the present invention. The portion of the roadway network


200


includes roads


202


-


214


. The roadway network


200


includes multiple types of roads, such as interstate highways, state highways, country roads, and residential streets. The roads


202


-


214


intersect at intersection nodes


216


-


228


. A segment is a portion of a road


202


-


214


that is between two nodes


216


-


228


. Nodes at either end of a segment are adjacent. For example, segment


217


is a portion of road


214


and is between node


226


and node


228


, thus nodes


226


and


228


are adjacent to one another. The terms “adjacent nodes” or simply “adjacencies” shall be used throughout to refer nodes that are adjacent to one another.





FIG. 5

sets forth points A-E within the roadway network


200


. Exemplary route planning operations carried out by certain embodiments of the present invention will be described below in connection with roads


216


-


228


and points A-E.




The system


10


of

FIG. 1

, the portable electronic device


30


of

FIG. 2

or the network of

FIG. 4

may be utilized to generate a route from a first location to a second location within the roadway network


200


. The processor


12


utilizes the data stored in the cartographic database


14


and data input by the user through the keyboard


20


to calculate the requested route. Optionally, the user may enter a time of day or day of the week in which the user wishes to travel. In this alternative embodiment, the device


30


uses the time at which the user desires to travel to access different characteristic information for a particular road, to account for times of day in which a road or intersection is very busy. Although the remaining Figures are discussed in relation to system


10


, it should be understood that the device


30


and network


76


may also be used to perform similar functions.




Travel through the roadway network


200


is described in terms of distance, time or user preferences (e.g., scenic routes, routes through/around business districts, routes through/around downtown areas and the like). The distances, times and user preferences are generally referred to as “impedances.” Route planning devices calculate shortest distances and fastest times, and maximize user preferences by calculating impedances for various routes based on characteristic information describing features of the roadway network.




As previously discussed, some cartographic data may be classified based upon predefined hierarchies. For data such as roads, the hierarchy may be divided into network routing levels which are stored as characteristic data for an associated road. The roads most desirable to use for routing may be assigned to a relatively high network routing level, while roads least desirable to use for routing may be assigned to a relatively low network routing level. For example, if road


202


is an interstate highway and road


214


is a residential road, road


202


would have a higher network routing level than road


214


because road


202


is a more desirable road for routing when considering factors such as speed limit, number of lanes, and number of stop lights/signs.




Cartographic data for individual roads may also include characteristic information representative of speed data. The speed data may be organized into speed categories describing a range of traveling speeds, or speed bands. Each speed band represents a range of speed, such as 0-10 miles per hour (mph) or 11-20 mph, in which traffic generally travels over a given road.




Optionally, a particular road may be assigned one speed band for certain times of day (e.g., non-rush hour) and assigned a second speed band for other times of day (e.g., rush hour). To utilize different speed bands for a particular road, the user also enters the time of day that the user wishes to travel. In this instance, the route planning device takes into consideration the time of day for traveling (if known) and selects the corresponding speed band.




The characteristic information may also identify whether the road is a one-way road. In

FIG. 5

, roads


210


and


212


are one-way roads allowing travel in opposite directions, as indicated by the arrows, while roads


208


and


214


allow travel in both directions. One-way roads impact traffic by increasing or decreasing the time necessary for travel along the road and the time generally needed to pass through an intersection node (e.g., turn onto a one-way road, turn off of a one-way road, or cross a one-way road). To compensate for the impact on overall travel time, an impedance increment is either added to or subtracted from the impedance estimate, as further described below. The impedance increment constitutes a time (e.g., seconds or minutes) when calculating a travel time. The impedance increment constitutes a distance (e.g., feet or meters) when calculating a travel distance.





FIGS. 6

,


7


, and


8


illustrate exemplary methods for determining three distinct components which may contribute to the estimated impedance value through a node of a navigable roadway network.

FIG. 6

illustrates a method for estimating impedance factors due to speed band and route level changes experienced by a path through an intersection.

FIG. 7

illustrates a method for establishing impedance factors associated with a turn that is to be made through an intersection.

FIG. 8

illustrates a method for applying additional impedance values through a node to discourage a route from being planned through certain portions of the roadway network, as disclosed below. These components can be applied singly, or in combination, and have the effect of producing superior routes when compared to conventional routing algorithms.




The processing steps illustrated by

FIGS. 6-8

are part of a larger route planning algorithm, conventionally implemented as one of a collection of methods generally known as Greedy algorithms. One such algorithm is the A* algorithm, but other algorithms may be used. The algorithm may calculate the route in one direction (e.g. from the source to the destination) or bi-directionally (e.g. from both the source and destination).




By way of example only, one method may involve an iterative process in which a list of nodes to be explored is continuously analyzed and updated. The list represents a running list of nodes to be explored. The process includes selecting, from the list, a best node (e.g., a node having the least cost associated with it). The selected best node is analyzed to identify its adjacency information, namely one or more nodes adjacent to the best node. The newly identified adjacent nodes are added to the list of nodes to be explored. Then the costs associated with the newly added nodes are calculated, and the list is searched to identify a new best node (e.g., new lowest cost node). The cost assigned to a node may include several factors, such as a cost from the originating location of a search to the node and an estimate of cost from the node to a final search location.




Finding a low-cost path between two points in the network with such methods involves iteratively examining the adjacencies emanating from the source and destination in the network, eventually “discovering” a low-cost path. Adjacencies represent adjacent nodes directly connected to a given node through road segments without any intervening intersections. During the adjacency expansion step for a given node, these algorithms evaluate the cost or impedance to traverse from one adjacent node through the given node, to another adjacent node. This step evaluates all appropriate adjacency information for each “best node” in sequence. During the evaluation of each best node, the operations set forth in

FIGS. 6-8

are applied to emulate the real-world traversal cost experienced when passing through a given intersection node from one adjacent road to another. A separate traversal cost or impedance as disclosed below may be calculated for each possible path through the intersection from adjacent roadways. As noted above, cost or impedance values may be expressed in terms of time, distance, or other suitable metric, and may be tailored to the needs of a specific implementation or embodiment. For example, a user may input data requesting the fastest or shortest route.





FIG. 6

illustrates a flow chart of a method for estimating the impedance through an intersection node of a navigable network in accordance with an embodiment of the present invention. As previously discussed,

FIG. 6

may be repeated for each adjacency.




At step


250


, a base incremental impedance factor for traffic control is set. The impedance factor may be determined by the processor, or may be input using the keyboard


20


. The impedance factor may be any positive number, and determines the base cost of traversing through a given node from one adjacent node to another, effectively applying a cost penalty for going through a given road network intersection. For example, the impedance may be expressed in units of time, such as seconds, but the selected units and value associated with this base impedance may vary according to the goals of a particular implementation. The base incremental impedance is further modified as described below.




Next, at Step


252


, the processor


12


obtains characteristic information for the roads of interest from the cartographic database


14


. The roads of interest represent the roads presently being considered by the overall route planning algorithm. The characteristic information may include speed information, network routing levels, one-way road information, left and right turn information, angle of intersection information between roads, road-type information, and the like. The characteristic information may include such data as whether the road is residential or in a neighborhood. Certain characteristic information is stored in the data structure for the associated roadway network. Other characteristic information is generated during a route calculation process by the overall route planning algorithm. For example, the overall route planning algorithm identifies right and left turn information, namely whether a potential route includes right or left turns at a particular intersection.




At steps


254


and


258


, the processor


12


emulates the effect of stop lights, stop signs, and other common traffic control items not conventionally provided as part of the cartographic database. For a potential path through a given node (an inbound road and outbound road through the intersection), the processor


12


utilizes information about the relative difference in speed band and routing level of the specified adjacency pair to adjust the base incremental impedance factor of step


250


.




At step


254


, the processor


12


estimates the relative cost effect of crossing roads with differing speed bands, emulating the cost of crossing roads with higher or lower speeds. Each road in the cartographic database


14


may be assigned a speed band. For a given adjacency path through the intersection, the processor


12


identifies the maximum speed band to be crossed, and compares this to the speed band of the inbound adjacent road. For example, with reference to

FIG. 5

, if road


208


has been assigned a speed band of 21-30 and road


212


has been assigned a speed band of 41-54, there typically will be an impedance cost increase associated with passing through node


224


along road


208


, because the adjacency must cross the higher-speed road


212


. The magnitude of the modification applied to the base impedance, and the nature of the modification may be tailored in a specific implementation, and may depend on the number and nature of the speed information provided in the cartographic database, and/or the relative speed band differences between roads.




At step


256


, the processor


12


increases the incremental impedance factor established at step


250


if the selected adjacency crosses a road with a greater speed band. If the selected adjacency crosses a road with a lesser speed band, the processor


12


decreases the incremental impedance factor.




At step


258


, the processor


12


estimates the relative cost effect of crossing roads with differing route levels. As explained previously, the roadway network may be arranged in a hierarchy of routing levels where roadway segments at a higher routing level provide preferable pathways through a given region than those assigned to a lower routing level. For example, it is likely that an adjacency path along a low route level road that must cross a higher route level road will experience impedance costs due to the presence of a traffic control structure such as a stop sign. When a higher route level road crosses a lower route level road, there is a lessened probability that a significant impedance cost will be encountered.




At step


260


, the processor


12


increases the incremental impedance factor if the selected adjacency crosses a road with a greater route level. If the selected adjacency crosses a road with a lower route level, the processor


12


decreases the incremental impedance factor. The magnitude of the modification applied and the nature of the modification may be tailored in a specific implementation, and may depend on the number and nature of the route levels provided in the cartographic database, and/or the relative route level differences between roads.




At step


262


, the processor


12


adjusts the estimated cost of the potential path by a percentage of the impedance factor based on one-way road characteristic information. The estimated cost of crossing a one-way road at a node is weighted less because the traffic is moving in only one direction, thus the driver crossing a one-way road needs to monitor traffic in only one direction. The processor


12


determines whether the road being crossed at the node is a one-way road. In the example above, road


212


is a one-way road, thus the estimated cost of the potential path is reduced by a percentage of the impedance factor.




Next, at step


264


, the processor


12


increases the impedance factor if the road being crossed is not a one-way road, and decreases the impedance factor if the road being crossed is a one-way road. The processor


12


may then use the impedance factor of step


264


to adjust the estimated overall cost of a potential path.





FIG. 7

illustrates a flow chart of a method for estimating turn penalties in accordance with an embodiment of the present invention. The sequence set forth in

FIG. 7

is carried out as part of an overall route planning algorithm as explained previously for

FIG. 6

, and may be repeated for each adjacency.




At step


270


, an incremental base impedance factor for turns is set. As with the base impedance factor set in step


250


in

FIG. 6

, the base impedance factor of step


270


may be determined by the processor


12


or may be input using the keyboard


20


. The base impedance factor of step


270


may or may not be the same value utilized in step


250


. If the potential path does not include a turn, the method of

FIG. 7

may not apply for the adjacency.




At step


272


, the processor


12


obtains the characteristic information for the roads of interest from the cartographic database


14


and from the overall route planning algorithm. The characteristic information includes the left and right turn information, angle-of-intersection information, road-type, and speed information. The left and right turn information identify whether an adjacency path through a node presently considered includes a right turn or a left turn at the intersection node. Additional characteristic information that may be considered is whether the driver is driving on the left or the right side of the road, as determined by driving convention for the region.




At step


274


, the processor


12


estimates one component of the relative cost effect of performing a turn at the intersection node by considering the speed bands of the adjacent roadway segments involved in the turn. At this step, a turn involving very low-speed roads would typically apply a small increase to the base impedance factor established at step


270


, whereas a turn involving high-speed roads would typically apply a larger increase to the base impedance factor of step


270


. This has the effect of increasing the overall turn cost as the average speeds of the adjacent roads goes up.




Next, at step


276


, the processor


12


increases the incremental impedance factor a small amount if the turn involves low-speed roads. It the turn involves high-speed roads, the processor


12


increases the incremental impedance factor a larger amount.




At step


278


, the processor


12


estimates the cost of the route based on the angle-turn factor. The angle-turn factor may be assigned based on several components. One component is the size of the turn angle, which is measured relative to the direction of travel. The turn angle may be divided into bands of degrees, with the number of degrees in each band depending upon the desired level of courseness in the data. For example, turn angles may be divided into 45 degree bands. Hence, a turn that is 5 degrees would be weighted the same as a turn that is 40 degrees. A turn that is 90 degrees, however, would be weighted differently than a 40 degree turn. For example, a 90 degree turn may be more “expensive”, or have a higher cost, than a 40 degree turn. Turns greater than 90 degrees get progressively more expensive, with a U-turn (180 degrees), being the costliest.




Another component of the angle-turn factor is the side of the road the driver is driving on relative to the turn direction. Driving side will be discussed first in relation to the country the route is located in. For example, in the United States, drivers travel in the right hand lane in the direction of travel. In England, however, drivers travel in the left hand lane in the direction of travel. The processor


12


identifies the lane convention in the country of travel, and adjusts the angle-turn factor based upon the direction of the turn. If it is necessary to cross a lane of on-coming traffic to make a turn, the turn is more expensive. Therefore, a left turn in England, which is made from the left lane of the first road into the left lane of the second road, is less expensive than a left turn in the United States, which is made from the right lane of the first road, across at least one lane of on-coming traffic, into the right lane of the second road.




The reasons stated above in relation to the country also apply when the road of travel is a one-way road. For example, a left turn in the United States made from the left lane of a one-way road is less expensive than a left turn made from the right lane of a two-way road, because oncoming traffic is not present on the one-way road.




At step


280


, the processor


12


increases the incremental impedance factor based on the angle-turn factor. At step


282


, the processor estimates the cost of the possible path based on one-way road information. Step


282


is similar to Step


262


of

FIG. 6

, wherein a percentage of the impedance factor set in Step


270


is used to decrease the impedance factor if the driver is turning onto a one-way road. Therefore, in the example of

FIGS. 7 and 5

, the estimate of the turn at node


224


from road


208


onto road


212


may be decreased to reflect that road


212


is a one-way road.




At step


284


, the processor


12


decreases the incremental impedance factor if the driver is turning from and/or onto a one-way road. The processor


12


may use the impedance factor of step


284


to adjust the estimated overall cost of the potential path.





FIG. 8

illustrates a flow chart of a method for improving shortest distance routes in accordance with an embodiment of the present invention. When choosing the shortest distance route between 2 points, it is possible that the shortest distance route will include undesirable shortcuts, such as traveling through a neighborhood when the neighborhood is not the destination or the point of origin, or taking the exit and entry ramps of an interstate highway rather than remaining on the highway. In addition, traveling through a neighborhood may increase overall travel time if the route is not significantly shorter than driving around the neighborhood on a road with a higher network routing level. The sequence set forth in

FIG. 8

is carried out as part of an overall route planning algorithm.




At Step


290


, an incremental impedance factor for neighborhoods is set. As the method is used to improve the shortest distance route, the impedance factor of step


290


is measured in distance. Therefore, the incremental impedance factor of step


290


may or may not have the same value and may or may not be defined by the same unit of measure as the impedance factors defined in steps


250


and


270


, and may be tailored to the implementation as needed.




Next, at step


292


, the processor


12


obtains characteristic information for the roads of interest from the cartographic database


14


. Although other characteristic information may be obtained and used by the processor


12


for other purposes, the network routing level and road-type information is used by the method illustrated in FIG.


8


.




At step


294


, the processor


12


estimates the cost of the possible path based on routing level information. The processor


12


compares the network routing level of the roads intersecting at each node. Referring to

FIG. 5

, if a route is planned from point D to point B, the processor


12


will compare the network routing levels of the roads at nodes


216


and


220


. Traveling from point D, the road


202


is an interstate highway and may have a network routing level of 5. Road


204


is an exit ramp and may have a network routing level of 3.




Next, at step


296


, the processor


12


increases the impedance factor for traveling through a node from a road with a higher network routing level to a road with a lower network routing level. Continuing with the above example, because the network routing level of an exit ramp is lower than that of an interstate highway, the processor


12


increases the incremental impedance factor set in step


290


.




If, however, a route was planned from point D to point E, it is not advantageous to exit and immediately re-enter an interstate highway to save a short distance. Increasing the incremental impedance factor in step


296


for taking the exit ramp (road


204


) at node


216


may prevent the processor


12


from directing the driver off the interstate highway (road


202


) at node


216


and back onto the interstate highway (road


202


) via the entry ramp (road


206


), even if the combined distance of the entry ramp and the exit ramp is less than the distance traveled by remaining on road


202


.




At step


298


, the processor


12


estimates the cost of the possible path based on neighborhood, or residential, road information. For example, a distance penalty is added for traveling on road segments located in neighborhoods. The distance penalty may be a percentage of the length of the segment (i.e. the road between each node) such as 5%. Adding a penalty of 5% will tend to prevent the processor


12


from planning a shortest distance route through a neighborhood when the neighborhood is not the origin or the destination. The penalty of 5%, however, is not a large enough penalty to prevent the route from traveling through the neighborhood if the neighborhood route is significantly shorter than traveling on roads with higher network routing levels that avoid the neighborhood.




At step


300


, the processor


12


increases the incremental impedance factor if the path travels through a neighborhood by adding a distance penalty, as discussed previously. The processor


12


may then use the impedance factor of step


300


to adjust the estimated overall cost of the potential path.




Correction modules that include one or more of the sets of steps for estimating impedance time, estimating turn penalties, and/or improving shortest distance routes by eliminating undesirable shortcuts, such as through neighborhoods, may be utilized by conventional planning algorithms and route planning systems. By using the aforementioned techniques for calculating the estimated delays that are experienced by traffic moving through a node, a more desirable route is planned.




While particular elements, embodiments and applications of the present invention have been shown and described, it will be understood, of course, that the invention is not limited thereto since modifications may be made by those skilled in the art, particularly in light of the foregoing teachings. It is therefore contemplated by the appended claims to cover such modifications as incorporate those features which come within the spirit and scope of the invention.



Claims
  • 1. A method for estimating an impedance time through a node at an intersection between roads in a roadway network, comprising:identifying characteristic information for roads intersecting at a node in a roadway network, said characteristic information describing at least one feature concerning an associated road; and estimating an impedance time associated with potential delays by traffic traveling through the node based on the characteristic information for the roads intersecting at the node, wherein said identifying step comprises obtaining intersection angle information identifying an angle between the roads intersecting at the node, said intersection angle information representing at least a portion of the characteristic information.
  • 2. A method for estimating an impedance time through a node at an intersection between roads in a roadway network, comprising:identifying characteristic information for roads intersecting at a node in a roadway network, said characteristic information describing at least one feature concerning an associated road; and estimating an impedance time associated with potential delays by traffic traveling through the node based on the characteristic information for the roads intersecting at the node, wherein said identifying step comprises obtaining cross traffic turn information identifying whether a desired route through the node crosses oncoming traffic, said cross traffic turn information representing at least a portion of the characteristic information.
  • 3. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersecting at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes though which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; and utilizing said node impedance and route impedance to calculate the navigation route, wherein said determining step includes obtaining intersection angle information identifying an angle between roads meeting at the intersection node, said node impedance being determined based at least partially on said intersection angle information.
  • 4. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersecting at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for a navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes though which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; and utilizing said node impedance and route impedance to calculate the navigation route, wherein said determining step includes obtaining cross traffic turn information identifying whether the navigation route crosses on-coming traffic when passing through an associated intersection node, said node impedance being determined based at least partially on said cross traffic turn information.
  • 5. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersection at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for a navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes through which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; and utilizing said node impedance and route impedance to calculate the navigation route, wherein said determining step includes assigning a turn penalty to the node impedance when the navigation route crosses on-coming traffic when passing through a corresponding intersection node.
  • 6. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersecting at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for a navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes though which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; identifying when the navigation route travels through neighborhood roads in a residential geographic area remote from said first and second geographic locations; including a neighborhood penalty with one of said route and node impedances based on said identification step; and utilizing said node impedance and route impedance to calculate the navigation route.
  • 7. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersecting at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for a navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes though which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; including a neighborhood penalty with one of said route and node impedances when the navigation route travels through neighborhood roads in a residential geographic area intermediate said first and second geographic locations; and utilizing said node impedance and route impedance to calculate the navigation route.
  • 8. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersecting at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for a navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes though which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; identifying when the navigation route travels along an exit ramp from a first road directly onto an entry ramp back onto the first road; including an exit/entry ramp penalty in one of said node and route impedances based on said identification step; and utilizing said node impedance and route impedance to calculate the navigation route.
  • 9. A method for calculating a navigation route between first and second geographic locations through a roadway network of roads intersecting at nodes, comprising:providing a data structure having data indicative of a roadway network of roads intersecting at intersection nodes, said data including feature data indicative of traffic characteristics for associated roads; calculating a route impedance for a navigation route through said roadway network between first and second geographic locations based on said feature data; determining node impedances for intersection nodes though which the navigation route travels based on said feature data, said intersection nodes representing locations along the navigation route at which roads followed by the navigation route intersect other roads; including an exit/entry ramp penalty with one of said route and node impedances when the navigation route travels along an exit ramp from a first road directly onto an entry ramp back onto the first road; and utilizing said node impedance and route impedance to calculate the navigation route.
  • 10. A navigation device comprising;memory for at least temporarily storing at least a portion of a data structure having data indicative of a roadway network of roads intersecting at nodes, said data structure including feature data indicative of traffic characteristics for associated roads, said memory stores feature data indicative of intersection angle information identifying an angle between roads intersecting at a node through which the route travels; and a processor accessing said memory and calculating, from said data structure, a route through said roadway network between geographic locations based on data indicative of route impedances associated with selected roads in the roadway network, said processor estimating node impedances for intersection nodes through which the route travels, said processor estimating node impedances based on said intersection angle information, said processor utilizing said route impedance and node impedance to calculate the route.
  • 11. A navigation device comprising:memory for at least temporarily storing at least a portion of data structure having data indicative of a roadway network of roads intersecting at nodes, said data structure including feature data indicative of traffic characteristics for associated roads, said memory storing feature data indicative of cross traffic turn information identifying whether a desired route through a node crosses on-coming traffic; and a processor accessing said memory and calculating, from said data structure, a route through said roadway network between geographic locations based on data indicative of route impedances associated with selected roads in the roadway network, said processor estimating node impedances for intersection nodes through which the route travels, said processor estimating node impedances based on said cross traffic turn information, said processor utilizing said route impedance and node impedance to calculate the route.
  • 12. A navigation system comprising:a storage unit holding a data structure having data indicative of roads in a roadway network and intersections of said roads at nodes; a route calculation module calculating a planned route over the roadway network between source and destination locations based on the data structure held in the storage unit, said route calculation module avoiding said ramp shortcuts; and a correction module for identifying undesirable shortcuts constituting predefined paths along said roads and through said nodes in said roadway network route that, while reducing an overall distance traveled by a planned route, are to be avoided in said planned route between said source and destination locations, said correction module identifying ramp shortcuts along an exit ramp and entrance ramp of a road, said route calculation module avoiding said undesirable shortcuts.
  • 13. A navigation system comprising:a storage unit holding a data structure having data indicative of roads in a roadway network and intersections of said roads at nodes; a route calculation module calculating a planned route over the roadway network between source and destination locations based on the data structure held in the storage unit; and a correction module for identifying undesirable shortcuts constituting predefined paths along said roads and through said nodes in said roadway network route that, while reducing an overall distance traveled by a planned route, are to be avoided in said planned route between said source and destination locations, said route calculation module avoiding said undesirable shortcuts, said correction module identifying neighborhood shortcuts through residential roads in said roadway network where said residential roads do not directly connect with either one of said source and destination locations, said route calculation module avoiding said neighborhood shortcuts.
  • 14. A navigation system comprising:a storage unit holding a data structure having data indicative of roads in a roadway network and intersections of said roads at nodes; a route calculation module calculating a planned route over the roadway network between source and destination locations based on the data structure held in the storage unit; and a correction module for identifying undesirable shortcuts constituting predefined paths along said roads and through said nodes in said roadway network route that, while reducing an overall distance traveled by a planned route, are to be avoided in said planned route between said source and destination locations, said route calculation module avoiding said undesirable shortcuts, wherein said correction module includes a neighborhood progression module identifying when said planned route travels along residential roads located remote from said source and destination locations, said route calculation module updating said route to avoid residential roads that are remote from said source and destination locations based on neighborhood information received from said neighborhood progression module.
  • 15. A navigation system comprising:a storage unit holding a data structure having data indicative of roads in a roadway network and intersections of said roads at nodes; a route calculation module calculating a planned route over the roadway network between source and destination locations based on the data structure held in the storage unit; and a correction module for identifying undesirable shortcuts constituting predefined paths along said roads and through said nodes in said roadway network route that, while reducing an overall distance traveled by a planned route, are to be avoided in said planned route between said source and destination, said route calculation module avoiding said undesirable shortcuts, wherein said route calculation module adds one of a distance and time penalty to potential routes that include at least one of exit/entrance ramp shortcuts and neighborhood shortcuts.
  • 16. A computer program embodied on a computer-readable medium for estimating an impedance time through a node at an intersection between roads in a roadway network, comprising:an identification source code segment identifying characteristic information for roads intersecting at a node in a roadway network, said characteristic information describing at least one feature concerning an associated road; an estimation source code segment estimating an impedance time associated with potential delays by traffic traveling through the node based on the characteristic information for the roads intersecting at the node; a source code segment obtaining a speed band associated with each road intersecting at the node, the speed band identifying a speed range in which traffic travels on the associated road; and a source code segment determining a speed differential between the speed bands, the speed differential representing a relative change between speed ranges of the roads intersecting at the node, the speed differential representing at least a portion of the characteristic information.
  • 17. A computer program embodied on a computer-readable medium for estimating an impedance time through a node at an intersection between roads a roadway network, comprising:an identification source code segment identifying characteristic information for roads intersecting at a node in a roadway network, said characteristic information describing at least one feature concerning an associated road, said identification source code segment obtains intersection angle information identifying an angle between the roads intersecting at the node, said intersection angle information representing at least a portion of the characteristic information; and an estimation source code segment estimating an impedance time associated with potential delays by traffic traveling through the node based on the characteristic information for the roads intersecting at the node.
  • 18. A computer program embodied on a computer-readable medium for estimating an impedance time through a node at an intersection between roads in a roadway network, comprising:an identification source code segment identifying characteristic information for roads intersecting at a node in a roadway network, said characteristic information describing at least one feature concerning an associated road, said identification source code segment obtains cross traffic turn information identifying whether a desired route through the node crosses oncoming traffic, said cross traffic turn information representing at least a portion of the characteristic information; and an estimation source code segment estimating an impedance time associated with potential delays by traffic traveling through the node based on the characteristic information for the roads intersecting at the node.
US Referenced Citations (11)
Number Name Date Kind
3660812 Inose et al. May 1972 A
4926336 Yamada May 1990 A
4937753 Yamada Jun 1990 A
5729458 Poppen Mar 1998 A
5878368 DeGraaf Mar 1999 A
5893081 Poppen Apr 1999 A
5902349 Endo et al. May 1999 A
5951622 Nomura Sep 1999 A
6023655 Nomura Feb 2000 A
6061630 Walgers et al. May 2000 A
6128573 Nomura Oct 2000 A