WO2017089600A1 - Methods and systems for generating routes to optimise traffic flow - Google Patents

Methods and systems for generating routes to optimise traffic flow Download PDF

Info

Publication number
WO2017089600A1
WO2017089600A1 PCT/EP2016/078918 EP2016078918W WO2017089600A1 WO 2017089600 A1 WO2017089600 A1 WO 2017089600A1 EP 2016078918 W EP2016078918 W EP 2016078918W WO 2017089600 A1 WO2017089600 A1 WO 2017089600A1
Authority
WO
WIPO (PCT)
Prior art keywords
route
routes
cost
cost value
location
Prior art date
Application number
PCT/EP2016/078918
Other languages
French (fr)
Inventor
Arne KESTING
Nikolaus WITTE
Martin TREIBER
Original Assignee
Tomtom Traffic B.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tomtom Traffic B.V. filed Critical Tomtom Traffic B.V.
Publication of WO2017089600A1 publication Critical patent/WO2017089600A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096811Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard
    • G08G1/096816Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard where the complete route is transmitted to the vehicle at once
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096811Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard
    • G08G1/096822Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard where the segments of the route are transmitted to the vehicle at different locations and times
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096827Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • G08G1/096844Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the complete route is dynamically recomputed based on new data

Definitions

  • This invention relates to methods and systems for generating routes, and extends to navigation devices and servers arranged to generate routes in particular, although not exclusively, in a manner that may more evenly balance traffic flow across a network.
  • Illustrative embodiments of the invention relate to portable navigation devices (PNDs), such as PNDs that include Global Positioning System (GPS) signal reception and processing functionality.
  • PNDs portable navigation devices
  • GPS Global Positioning System
  • Portable navigation devices that include GPS (Global Positioning System) signal reception and processing functionality are well known, and are widely employed as in-car or other vehicle navigation systems.
  • GPS Global Positioning System
  • a modern PND comprises a processor, memory (at least one of volatile and non-volatile, and commonly both), and map data stored within said memory.
  • the processor and memory cooperate to provide an execution environment in which a software operating system may be established, and additionally it is commonplace for one or more additional software programs to be provided to enable the functionality of the PND to be controlled, and to provide various other functions.
  • these devices further comprise one or more input interfaces that allow a user to interact with and control the device, and one or more output interfaces by means of which information may be relayed to the user.
  • output interfaces include a visual display and a speaker for audible output.
  • input interfaces include one or more physical buttons to control on/off operation or other features of the device (which buttons need not necessarily be on the device itself but could be on a steering wheel if the device is built into a vehicle), and a microphone for detecting user speech.
  • the output interface display may be configured as a touch sensitive display (by means of a touch sensitive overlay or otherwise) to additionally provide an input interface by means of which a user can operate the device by touch.
  • Navigation devices also typically have access to a digital map representative of a navigable network on which the vehicle is travelling.
  • the digital map (or mathematical graph, as it is sometimes known), in its simplest form, is effectively a database containing data representative of nodes, most commonly representative of road intersections, and lines between those nodes representing the roads between those intersections.
  • lines may be divided into segments defined by a start node and end node.
  • nodes may be "real” in that they represent a road intersection at which a minimum of 3 lines or segments intersect, or they may be “artificial” in that they are provided as anchors for segments not being defined at one or both ends by a real node to provide, among other things, shape information for a particular stretch of road or a means of identifying the position along a road at which some characteristic of that road changes, e.g. a speed limit.
  • nodes and segments are further defined by various attributes which are again represented by data in the database. For example, each node will typically have geographical coordinates to define its real- world position, e.g. latitude and longitude.
  • Nodes will also typically have manoeuvre data associated therewith, which indicate whether it is possible, at an intersection, to move from one road to another; while the segments will also have associated attributes such as the maximum speed permitted, the lane size, number of lanes, whether there is a divider in-between, etc.
  • Devices of this type will also often include one or more physical connector interfaces by means of which power, and optionally data signals, can be transmitted to and received from the device, and optionally one or more wireless transmitters/receivers to allow communication over cellular
  • Wi-Fi Wireless Fidelity
  • Wi-Max GSM Wireless Fidelity
  • PND devices of this type also include a GPS antenna by means of which satellite-broadcast signals, including location data, can be received and subsequently processed to determine a current location of the device.
  • the PND device may also include electronic gyroscopes and accelerometers which produce signals that can be processed to determine the current angular and linear acceleration, and in turn, and in conjunction with location information derived from the GPS signal, velocity and relative displacement of the device and thus the vehicle in which it is mounted.
  • electronic gyroscopes and accelerometers which produce signals that can be processed to determine the current angular and linear acceleration, and in turn, and in conjunction with location information derived from the GPS signal, velocity and relative displacement of the device and thus the vehicle in which it is mounted.
  • location information derived from the GPS signal, velocity and relative displacement of the device and thus the vehicle in which it is mounted.
  • PNDs The utility of such PNDs is manifested primarily in their ability to determine a route between a first location (typically a start or current location) and a second location (typically a destination). These locations can be input by a user of the device, by any of a wide variety of different methods, for example by postcode, street name and house number, previously stored "well known" destinations (such as famous locations, municipal locations (such as sports grounds or swimming baths or other points of interest), and favourite or recently visited destinations.
  • the PND is enabled by software for searching for a "best” or “optimum” route between the start and destination address locations from the map data.
  • a “best” or “optimum” route is determined on the basis of predetermined criteria and need not necessarily be the fastest or shortest route.
  • the searching for a route along which to guide the driver can be very sophisticated, and the search may take into account historical, existing and/or predicted traffic and road information.
  • the device may continually monitor road and traffic conditions, and offer to or choose to change the route over which the remainder of the journey is to be made due to changed conditions.
  • Real time traffic monitoring systems based on various technologies (e.g. mobile phone data exchanges, fixed cameras, GPS fleet tracking) are being used to identify traffic delays and to feed the information into notification systems.
  • PNDs of this type may typically be mounted on the dashboard or windscreen of a vehicle, but may also be formed as part of an on-board computer of the vehicle radio or indeed as part of the control system of the vehicle itself.
  • the navigation device may also be part of a hand-held system, such as a PDA (Portable Digital Assistant) a media player, a mobile phone or the like, and in these cases, the normal functionality of the hand-held system is extended by means of the installation of software on the device to perform both route calculation and navigation along a calculated route.
  • PDA Portable Digital Assistant
  • Route planning and navigation functionality may also be provided by a desktop or mobile computing resource running appropriate software.
  • an on-line route planning and navigation facility is provided at routes.tomtom.com, which facility allows a user to enter a start point and a destination, whereupon the server to which the user's PC is connected calculates a route (aspects of which may be user specified), generates a map, and generates a set of exhaustive navigation instructions for guiding the user from the selected start point to the selected destination.
  • the facility also provides for pseudo three-dimensional rendering of a calculated route, and route preview functionality which simulates a user travelling along the route and thereby provides the user with a preview of the calculated route.
  • the user interacts with the navigation device to select the desired calculated route, optionally from a list of proposed routes.
  • the user may intervene in, or guide, the route selection process, for example by specifying that certain routes, roads, locations or criteria are to be avoided or are mandatory for a particular journey.
  • the route calculation aspect of the PND forms one primary function, and navigation along such a route is another primary function.
  • PNDs During navigation along a calculated route, it is usual for such PNDs to provide visual and/or audible instructions to guide the user along a chosen route to the end of that route, i.e. the desired destination. It is also usual for PNDs to display map information on-screen during the navigation, such information regularly being updated on-screen so that the map information displayed is representative of the current location of the device, and thus of the user or user's vehicle if the device is being used for in- vehicle navigation.
  • An icon displayed on-screen typically denotes the current device location, and is centred with the map information of the current road and surrounding roads in the vicinity of the current device location and other map features also being displayed. Additionally, navigation information may be displayed, optionally in a status bar above, below or to one side of the displayed map information, examples of navigation information include a distance to the next deviation from the current road required to be taken by the user, the nature of that deviation possibly being represented by a further icon suggestive of the particular type of deviation, for example a left or right turn.
  • the navigation function also determines the content, duration and timing of audible instructions by means of which the user can be guided along the route. As can be appreciated a simple instruction such as "turn left in 100 m" requires significant processing and analysis.
  • user interaction with the device may be by a touch screen, or additionally or alternately by steering column mounted remote control, by voice activation or by any other suitable method.
  • a further important function provided by the device is automatic route re-calculation in the event that: (i) a user deviates from the previously calculated route during navigation (either by accident or intentionally); (ii) real-time traffic conditions dictate that an alternative route would be more expedient and the device is suitably enabled to recognize such conditions automatically; or (iii) a user actively causes the device to perform route re-calculation for any reason.
  • route calculation and navigation functions are fundamental to the overall utility of PNDs, it is possible to use the device purely for information display, or "free-driving", in which only map information relevant to the current device location is displayed, and in which no route has been calculated and no navigation is currently being performed by the device. Such a mode of operation is often applicable when the user already knows the route along which it is desired to travel and does not require navigation assistance.
  • Devices of the type described above provide a reliable means for enabling users to navigate from one position to another.
  • Navigation devices are often arranged to calculate a route to a destination in a manner that takes account of current conditions in the network, e.g. taking congestion into account.
  • a fastest route may be generated for navigation based on current conditions.
  • traffic conditions may change, such that the planned route is no longer the fastest route.
  • a new fastest route taking into account the actual traffic situation, may be generated and proposed to a user. This may be as a result of a continual or periodic background check for faster routes under current conditions, e.g. carried out by a PND as navigation progresses, or in response to receiving a message indicative of a traffic event on the route ahead, e.g. over a live data connection.
  • Such methods are responsive to actual traffic conditions, providing a new, faster route when the existing route is no longer the fastest route.
  • navigation devices including mobile devices, such as PNDs, and integrated systems, e.g. in-dash systems, are increasingly being used in vehicles.
  • mobile devices such as PNDs
  • integrated systems e.g. in-dash systems
  • this can lead to problems when the navigation devices are arranged to take into account real-time traffic information when planning routes.
  • each device may suggest an alternative route in the manner described above, to enable the vehicle to avoid the congested area.
  • each device is acting on similar congestion information, and calculates routes in a similar manner, e.g. to provide a new fastest route, the devices will tend to divert drivers onto the same, or similar, alternative routes.
  • This effect may be particularly significant when a major event, such as a major road closure or obstruction, triggers a large number of navigation devices to calculate alternative routes.
  • One technique involves using a central server to balance traffic flow across a road network.
  • a navigation device needs to calculate a route, e.g. in response to congestion being found on an existing route or otherwise, the device sends a route request to the server (e.g., over a radio link).
  • the server receives such route requests from multiple devices, and determines routes specifically for the individual devices, and transmits the routes to the respective devices.
  • the routes for the different devices are determined in a manner that is intended to distribute flow more evenly across the road network.
  • routes for all involved navigation devices are recalculated every time a new route request is received from one device.
  • the Applicant has realised that there remains a need for efficient methods for generating routes in a navigable network, which aim to balance traffic flow across the network, based on readily-available information.
  • a route in an area covered by an electronic map comprising a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map, the method comprising:
  • the selection function is a function of: (i) the cost values for the routes; and (ii) the adjustment value; and outputting data representative of the selected route.
  • a route across a network of navigable segments can be generated in a manner that can help to balance load, i.e. traffic flow, across segments of the network in an efficient manner.
  • This is achieved by using a random adjustment value when evaluating a set of alternative routes, so that the outcome of the selection process is not fixed for any given set of external conditions.
  • multiple navigation devices all implement this same method, they will not necessarily all select the same route as each other, even under the same conditions (e.g., while all travelling in the same direction on the same road segment), because they will typically input different random adjustment values to the selection function. These devices are then less likely simply to displace the congestion onto one of the alternative routes, because they are unlikely all to direct their respective vehicles onto the same one of the alternative routes.
  • the present invention extends to a system for carrying out a method in accordance with any of the aspects or embodiments of the invention herein described. ln accordance with a second aspect of the invention there is provided a system for generating a route in an area covered by an electronic map, the map comprising a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map, the system comprising:
  • means for obtaining a randomly-generated or pseudo-randomly-generated adjustment value means for selecting one of the routes from the plurality of routes based on a selection function that is a function of (i) the cost values for the routes, and (ii) the adjustment value;
  • this further aspect of the present invention can and preferably does include any one or more or all of the preferred and optional features of the invention described herein in respect of any of the other aspects of the invention, as appropriate.
  • the system of the present invention herein may comprise means for carrying out any step described in relation to the method of the invention in any of its aspects or embodiments, and vice versa.
  • the present invention is a computer implemented invention, and any of the steps described in relation to any of the aspects or embodiments of the invention may be carried out under the control of a set of one or more processors.
  • the means for carrying out any of the steps described in relation to the system may be a set of one or more processors.
  • the system of the present invention in any of its embodiments may be at least one processing device.
  • the or a processing device may be a device of a mobile device, such as a navigation device, whether a PND or an integrated device, or may be a device of a server.
  • the method of the present invention is preferably implemented in the context of a navigation operation.
  • the method of the present invention in any of its aspects or embodiments is carried out using a navigation device, and the present invention extends to a navigation device arranged to carry out the steps of the method of any of the aspects or embodiments of the invention.
  • the navigation device may be of any form, and may be a mobile or integrated, e.g. in-vehicle device.
  • the device is preferably associated with a vehicle, i.e. such that the position of the device corresponds to the position of the vehicle.
  • a navigation device may be any device having navigation functionality.
  • a mobile navigation device may be, for example, a PND or any mobile device having navigation functionality.
  • the navigation device may comprise a display for displaying an electronic map to a user, a set of one or more processors configured to access electronic map data and cause an electronic map to be displayed to a user via the display, and a user interface operable by a user to enable the user to interact with the device.
  • the system of the present invention may be a system e.g. processing device of a navigation device.
  • the load-balancing effect of embodiments of the invention depends on the properties of the selection function and on the probability distribution of the adjustment value. If the adjustment value has only one fixed value, used by all devices in a set of devices, the load- balancing effect is effectively disabled. This may be a selectable mode of operation in some embodiments. Preferably, however, the adjustment value has two or more possible values. These possible values may consist of a set of discrete values, or they may comprise one or more continuous ranges.
  • the selection function may take additional inputs.
  • the selection function is a function of (i) the cost values of the routes, and (ii) a plurality of adjustment values.
  • the method may comprise a step of receiving a respective randomly-generated or pseudo-randomly- generated adjustment value for each route of the plurality of routes.
  • the selection function is then preferably a function of (i) the cost values for the routes, and (ii) the adjustment values for the routes.
  • the adjustment values preferably share a common probability distribution. They are preferably all generated using the same stochastic process.
  • the selected route preferably has a minimum (or, in some embodiments, a maximum, or extremum) adjusted cost value over the adjusted cost values for the plurality of routes, the "adjusted cost values" for the routes preferably being defined by a predetermined function of (i) the cost value for the route, and (ii) the adjustment value for the route. For example, it may be the sum of the cost value for the route and the adjustment value for the route. Alternatively, it may be the cost value for the route less the adjustment value for the route. In other embodiments, it may be the cost value for the route scaled up or down by the adjustment value.
  • the method comprises generating a plurality of routes between an origin and destination in the electronic map using a routing process, e.g. a route planning algorithm.
  • the routes are preferably generated based upon a cost of traversing segments of the electronic map.
  • the cost of traversing a segment may be determined using a cost function.
  • the cost of traversing a segment may be determined based upon one or more attributes associated with the segment.
  • the cost of traversing a segment is preferably based at least in part upon a time to traverse the segment.
  • Obtaining routes by reference to a traversal cost may be achieved using any known method, such one based on the Dijkstra method.
  • the routes between the origin and destination are a set of least cost routes between the origin and the destination, e.g.
  • the least cost routes may be a fastest route, shortest route, most ecological etc, or any combination thereof as desired.
  • a least cost route may be based upon minimising a cost associated with traversing segments of the electronic map, which cost is determined using an appropriate cost function, i.e. which results in a lower cost being associated with segments that have an attribute that is deemed particularly desirable, or a higher cost associated with segments that are deemed undesirable.
  • the cost function may be selected as appropriate, e.g. based upon user input, to result in a least cost route that is a shortest route, fastest route, most ecological route, etc.
  • the routing process comprises using a route planning algorithm that assigns a cost for traversing segments of the electronic map and explores routes between the origin and the destination comprising a plurality of segments to identify a set of minimum cost routes.
  • the cost of traversing a segment is determined using a cost function, and preferably based at least in part upon one or more attributes associated with the segment (also referred to herein as "attribute data").
  • the cost for traversing a segment can be based at least in part on an expected time to traverse a segment based on a stored expected traversal speed for the segment and a length of the segment.
  • the cost function may be selected as appropriate, e.g. based upon user input, to result in a least cost route that is a shortest route, fastest route, most ecological route, etc.
  • the cost value for a route may be determined using a cost function that takes into account any desired attribute or attributes of the segments of the navigable network, e.g. distance, expected travel time, average speed, fuel consumption, etc. Expected travel times may be based on historic travel-time data or they may be based on currently-reported travel times received over a data link.
  • the selection function may be selectable or configurable as appropriate e.g. based upon user input, to result in a route that is, based on the adjusted cost values, a shortest route, fastest route, most ecological route, etc.
  • the selection function may be such that the probability of a route from the plurality of routes being selected is relatively high when the cost value for that route is separated from the minimum (or, in another set of embodiments, the maximum) cost value, across all the plurality of routes, by less than an uncertainty parameter (see below for more details about this parameter), and is relatively low when this not the case.
  • Relatively high may here mean that the probability is higher for all routes that meet this condition than it is for the most probable route that does not meet this condition; or it may mean that, for all routes that meet this condition, the probability of being selected is two, three, five or ten times as high as it is for the most probable route that does not meet this condition.
  • the method involves generating the plurality of routes, and determining a cost value for each of the routes.
  • the step of determining a cost value for the routes is carried out as part of generating the routes, e.g. using the same algorithm.
  • the randomly-generated or pseudo-randomly-generated adjustment value or values may be received over an interface, e.g. from a server, but are preferably generated by the system or navigation device. They may be generated using a true random number generator (e.g., based on a physical parameter such as radioactive decay), or they may be generated by a pseudo-random-number generator, which may be seeded based on a parameter such as the time since the device was last rebooted.
  • the values may be generated and/or received before or after the plurality of routes is generated. For each route, the same adjustment value for that route is preferably used in the selection function if the selection function is evaluated more than once during the course of a journey (e.g. due to further congestion being experience). This can prevent unnecessary switching between routes of similar costs, which might otherwise occur if the stochastic components associated with particular routes changed during the course of the journey, and which might confuse or frustrate the user.
  • the adjustment values are preferably distributed according to a Gumbel distribution. This has been found to provide particularly desirable load-balancing performance in simulations.
  • a uniformly-distributed random variable e.g. taking values in the range zero to one, is used to generate the adjustment values.
  • a random value from a uniform distribution may be input to a function that outputs an adjustment value.
  • evaluating this function comprises calculating the natural logarithm of the random value.
  • the function may output the natural logarithm of the negative natural logarithm of the random value, with this answer optionally multiplied by a scaling factor. In some embodiments, this scaling factor may equal zero minus an uncertainty parameter.
  • the distribution of the adjustment values may depend on an uncertainty parameter, in any appropriate way.
  • Data representative of the uncertainty parameter may be stored in a memory, e.g. of a navigation device. It preferably represents a margin of variability in the cost value whereby the selection function will distribute routed vehicles approximately equally among routes whose cost values differ by an amount no more than the uncertainty parameter, or of the same order as the uncertainty parameter.
  • the uncertainty parameter is preferably a time uncertainty value and is preferably between zero and 20 minutes; more preferably between one and ten minutes, or between one and three minutes.
  • the uncertainty value may be configurable, for example, by a user of the device, either directly or indirectly. Alternatively, it may be set by a manufacturer or distributer of the device. It may be the same across a plurality of devices.
  • the invention thus provides a method for determining a route through a navigable network in a manner that may help to balance overall load in the network, which method may be carried out on a client device, i.e. remote from a server.
  • a client device i.e. remote from a server.
  • This is in contrast to prior art techniques which must be carried out at a server, in order for the server to be able to derive a route for use by a navigation device that takes into account routes derived for other navigation devices.
  • a server could carry out the steps of the present method, and select a route that is then transmitted to a navigation device for use in navigation between the first and second locations.
  • the method may be implemented by a server.
  • the method may then further comprise the server transmitting the selected route to a navigation device for use by the device in navigation between the first and second locations.
  • the method may additionally comprise the steps of the server receiving from a navigation device an indication of the first and second locations. The indication may be transmitted by a navigation device to the server as part of a request for a route to be generated by the server for use in navigation between the first and second locations.
  • the methods of the present invention provide advantages over prior art techniques when implemented by a server, due to the reduced amount of processing power required.
  • the present invention may provide a method of obtaining a route that enables load to be more evenly distributed across a network in a more efficient manner, in that it is not necessary, when generating a given route, to have knowledge of other routes that have been generated. This allows the method to be implemented with reduced processing and/or storage capacity than would be the case for prior art methods in which it is necessary to retain and refer to details of previously generated routes.
  • the method of the present invention in any of its aspects or embodiments may be carried out by a server, and the present invention extends to a server arranged to carry out the steps of the method of any of the aspects or embodiments of the invention.
  • the system of the present invention of any of its aspects or embodiments may be a processing device of a server.
  • the steps of the method of the present invention in any of its aspects or embodiments may be carried out in part by a server and in part by a navigation device.
  • the server When the selection is carried out on a server, which can serve a plurality of clients, it is preferred that the server is arranged to store the adjustment values for a particular client for the duration of a session (e.g., corresponding to a single journey).
  • the server is preferably arranged to use the same adjustment values for respective routes if the client requests that the selection function be applied a second time during the session (e.g., because further congestion has triggered a second route recalculation operation). This ensures that the server provides the same route when requested several times from the same client.
  • the server does, however, preferably use independently-generated adjustment values for different clients.
  • the server may return a single selected route to a client.
  • a server may provide a client with a set of alternative routes.
  • the server may provide the client with route alternative probabilities, e.g. as part of a distributed routing capability.
  • the route alternative probabilities may be derived from a Logit model. They should represent the probability of each particular route being selected.
  • a client may use received route alternative probabilities to set the cost values and/or to configure the selection function.
  • the route alternative probabilities may effectively act as weightings applied to the each of the alternative routes.
  • the server may provide the client with cost values or adjusted cost values for the routes.
  • the method comprises the step of generating a plurality of routes between a first location and a second location.
  • the first location may be a current location, a location along a predetermined route being navigated, and/or an origin of a desired route.
  • a location along a predetermined route being navigated may be a current location along a predetermined route being navigated or a position ahead of a current location.
  • the first location might be a location along the predetermined route that will be reached at a particular future time, or which corresponds to a decision point along the remainder of the predetermined route, etc.
  • the first location is the current location.
  • the current location may be a current location of a navigation device, which may be associated with a vehicle.
  • the second location may be a desired destination, a destination of a predetermined route being navigated, or a location along a predetermined route being navigated.
  • the second location may be the destination of the predetermined route being navigated or a location along the predetermined route beyond the first location in the direction of travel.
  • the generated routes between the first and second locations may be intended to provide a continuation to a predetermined route being navigated e.g. an extension of the predetermined route, or a modified remainder or section of the predetermined route which becomes a new route to be followed. In these situations the first location might be automatically selected.
  • the method is carried out after travel along a predetermined route has commenced.
  • the method may then provide a route that is an alternative to at least a portion of a remainder of the predetermined route, or, in embodiments, the (entire) remainder thereof.
  • the route may then be described as an "en-route alternative".
  • the method comprises generating a first route between a first route origin and a first route destination in the area, wherein the plurality of routes generated between the first location and the second location provide alternative routes to at least a portion of a remainder of the first route.
  • These embodiments may be used, for example, where it is found that at least a portion of the remainder of the predetermined route is affected by congestion.
  • the present invention may then provide a way of determining an alternative route that is less affected by congestion.
  • the first and second locations are an origin and a destination. These embodiments may be particularly applicable where the steps of the method, including the generation of the alternative route, are carried out before navigation along a route occurs.
  • the origin and destination may be user specified.
  • the method may or may not extend to the step of generating the predetermined route that is being navigated.
  • the first and second locations may be obtained in any suitable manner. For example, one or both locations may be user specified. In other arrangements the locations may be automatically determined, e.g. by a navigation device or server. For example, this may be the case where the first and/or second locations are associated with a predetermined route being navigated, to provide first and second locations between which alternative routes to at least a portion of the predetermined route may be generated. The first and/or second locations may be received via a communications network.
  • the method of the present invention may be initiated in response to a user input, e.g. requesting the generation of a route, or may be initiated automatically, e.g. when congestion is detected along a predetermined route that is being navigated.
  • the method may be initiated by the navigation device in response to received live traffic data, i.e. data indicative of events on the navigable network that may have an effect on traffic flow, such as a traffic jams, blocked roads, weather, etc.
  • the method comprises receiving data indicative of current or relatively current events on the navigable network, such as data adjusting expected speeds of travel associated with one or more segments or portions thereof of the electronic map, data blocking one or more segments of the electronic map, etc; such data being used by the routing process to determine the plurality of routes.
  • the plurality of routes generated between the first and second locations may be considered alternative routes between the first and second locations.
  • the routes may be generated in any suitable manner known in the art.
  • the routes might be a least cost route and one or more next lowest cost routes generated between the first and second locations through the navigable network as determined by a routing engine.
  • the routes may be a least cost route and each route having a higher cost within a predetermined range of the least cost route.
  • the cost of a route may be determined using a cost function that takes into account any desired attributes of the segments of the navigable network, e.g. travel time, average speed, length, etc. These costs may be the same as the cost values used in the selection function, or they may relate to different attributes of the segments.
  • a least cost route may be based upon minimising a cost associated with traversing segments of the navigable network, which cost is determined using an appropriate cost function.
  • the cost function may be selected as appropriate e.g. based upon user input, to result in a least cost route that is a shortest route, fastest route, most ecological route, etc.
  • the plurality of routes may determine the fastest route and any routes that are within a threshold of the journey time associated with the fastest route, e.g. any routes within 10% of the fastest route or 20% of the fastest route, etc.
  • the method may comprise outputting data indicative of the selected route to a user.
  • the data may be in any way indicative of the route, e.g. a set of instructions, which may be audible or visual, but preferably is a visual representation of the route.
  • the method comprises displaying the route to a user.
  • the method may alternatively or additionally comprise printing information indicative of the route.
  • a step of displaying the route may comprise superposing the route on the electronic map.
  • the method may comprise the steps of generating a set of navigation instructions for guiding a driver along the selected route.
  • the method may comprise storing the selected route. This step may be performed by a navigation device.
  • the method of the present invention is carried out multiple times in relation to providing multiple routes for navigation by different users.
  • Each performance of the method is preferably carried out by a different navigation device, although, as discussed above, a server might perform the method in relation to obtaining the or each route to be navigated. This will enable flow to be effectively distributed over the plurality of routes in accordance with the random adjustment values used by the different devices.
  • segment takes its usual meaning in the art.
  • a segment may be a navigable link that connects two nodes, or any portion thereof. While embodiments of the present invention are described with reference to road segments, it should be realised that the invention may also be applicable to other navigable segments, such as segments of a path, river, canal, cycle path, tow path, railway line, or the like. For ease of reference these are commonly referred to as a road segment, but any reference to a "road segment” may be replaced by a reference to a “navigable segment” or any specific type or types of such segments.
  • references to a predetermined route being navigated may be understood in the usual sense in the art to refer to a route along which a user is being guided, e.g. by a navigation device, and preferably in relation to which navigation instruction(s) are being provided. These may be in the form of a display of the route, typically in combination with a set of one or more instructions indicative of, e.g. manoeuvres and other action to be taken by the user to follow the route, which may be given audibly and/or visually.
  • the predetermined route refers to the route being travelled at the time the alternative routes are generated or at least provided to a user.
  • any of the methods in accordance with the present invention may be implemented at least partially using software e.g. computer programs.
  • the present invention thus also extends to a computer program comprising computer readable instructions executable to perform, or to cause a navigation device and/or server to perform, a method according to any of the aspects or embodiments of the invention.
  • the invention correspondingly extends to a computer software carrier comprising such software which, when used to operate a system or apparatus comprising data processing means causes, in conjunction with said data processing means, said apparatus or system to carry out the steps of the methods of the present invention.
  • a computer software carrier could be a non-transitory physical storage medium such as a ROM chip, CD ROM or disk, or could be a signal such as an electronic signal over wires, an optical signal or a radio signal such as to a satellite or the like.
  • the present invention provides a machine readable medium containing instructions which when read by a machine cause the machine to operate according to the method of any of the aspects or embodiments of the invention.
  • a client device such as a navigation device, used in accordance with the present invention may comprise a processor, memory, and digital map data stored within said memory.
  • the processor and memory cooperate to provide an execution environment in which a software operating system may be established.
  • One or more additional software programs may be provided to enable the functionality of the apparatus to be controlled, and to provide various other functions.
  • a navigation apparatus embodying the invention may preferably include global navigation satellite system (GNSS), e.g. GPS or GLONASS, signal reception and processing functionality.
  • GNSS global navigation satellite system
  • GPS or GLONASS global navigation satellite system
  • the device may comprise one or more output interfaces by means of which information may be relayed to the user.
  • the output interface(s) may include a speaker for audible output in addition to the visual display.
  • the device may comprise input interfaces including one or more physical buttons to control on/off operation or other features of the device.
  • the navigation device may be implemented at least in part by means of an application of a processing device which does not form part of a specific navigation device.
  • the invention may be implemented using a suitable computer system arranged to execute navigation software.
  • the system may be a mobile or portable computer system, e.g. a mobile telephone or laptop, or may be a desktop system.
  • FIG. 1 is a schematic illustration of an exemplary part of a Global Positioning System (GPS) usable by a navigation device
  • Figure 2 is a schematic diagram of a communications system for communication between a navigation device and a server;
  • GPS Global Positioning System
  • Figure 3 is a schematic illustration of electronic components of the navigation device of Figure 2 or any other suitable navigation device;
  • Figure 4 is a schematic diagram of an arrangement of mounting and/or docking a navigation device.
  • FIG. 5 is a flowchart illustrating the steps of a method in accordance with one embodiment of the invention. Detailed Description of the Figures
  • a navigation device may include (without limitation) any type of route planning and navigation device, irrespective of whether that device is embodied as a PND, a vehicle such as an automobile, or any portable computing resource such as a portable personal computer (PC), a mobile telephone or a Personal Digital Assistant (PDA) executing route planning and navigation software.
  • PC portable personal computer
  • PDA Personal Digital Assistant
  • embodiments of the present invention are described with reference to road segments. It should be realised that the invention may also be applicable to other navigable segments, such as segments of a path, river, canal, cycle path, tow path, railway line, or the like. For ease of reference these are commonly referred to as a road segment.
  • the Global Positioning System of Figure 1 and the like are used for a variety of purposes.
  • the GPS is a satellite-radio based navigation system capable of determining continuous position, velocity, time, and, in some instances, direction information for an unlimited number of users.
  • NAVSTAR the GPS incorporates a plurality of satellites which orbit the earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their location, as GPS data, to any number of receiving units.
  • Global Positioning systems could be used, such as GLOSNASS, the European Galileo positioning system, COMPASS positioning system or IRNSS (Indian Regional Navigational Satellite System).
  • the GPS system is implemented when a device, specially equipped to receive GPS data, begins scanning radio frequencies for GPS satellite signals. Upon receiving a radio signal from a GPS satellite, the device determines the precise location of that satellite via one of a plurality of different conventional methods. The device will continue scanning, in most instances, for signals until it has acquired at least three different satellite signals (noting that position is not normally, but can be determined, with only two signals using other triangulation techniques). Implementing geometric triangulation, the receiver utilizes the three known positions to determine its own two-dimensional position relative to the satellites. This can be done in a known manner. Additionally, acquiring a fourth satellite signal allows the receiving device to calculate its three dimensional position by the same geometrical calculation in a known manner. The position and velocity data can be updated in real time on a continuous basis by an unlimited number of users.
  • the GPS system 100 comprises a plurality of satellites 102 orbiting about the earth 104.
  • a GPS receiver 106 receives GPS data as spread spectrum GPS satellite data signals 108 from a number of the plurality of satellites 102.
  • the spread spectrum data signals 108 are continuously transmitted from each satellite 102, the spread spectrum data signals 108 transmitted each comprise a data stream including information identifying a particular satellite 102 from which the data stream originates.
  • the GPS receiver 106 generally requires spread spectrum data signals 108 from at least three satellites 102 in order to be able to calculate a two-dimensional position. Receipt of a fourth spread spectrum data signal enables the GPS receiver 106 to calculate, using a known technique, a three-dimensional position.
  • a navigation device 200 (i.e. a PND) comprising or coupled to the GPS receiver device 106, is capable of establishing a data session, if required, with network hardware of a
  • a mobile device for example a mobile telephone, PDA, and/or any device with mobile telephone technology, in order to establish a digital connection, for example a digital connection via known Bluetooth technology.
  • the mobile device can establish a network connection (through the Internet for example) with a server 150.
  • a "mobile” network connection can be established between the navigation device
  • the server 150 (which can be, and often times is, mobile as it travels alone and/or in a vehicle) and the server 150 to provide a "real-time” or at least very “up to date” gateway for information.
  • the establishing of the network connection between the mobile device (via a service provider) and another device such as the server 150, using the Internet for example, can be done in a known manner.
  • any number of appropriate data communications protocols can be employed, for example the TCP/IP layered protocol.
  • the mobile device can utilize any number of communication standards such as CDMA2000, GSM, IEEE 802.1 1 a/b/c/g/n, etc.
  • the Internet connection may be utilised, which can be achieved via data connection, via a mobile phone or mobile phone technology within the navigation device 200 for example.
  • the navigation device 200 may, of course, include its own mobile telephone technology within the navigation device 200 itself (including an antenna for example, or optionally using the internal antenna of the navigation device 200).
  • the mobile phone technology within the navigation device 200 can include internal components, and/or can include an insertable card (e.g. Subscriber Identity Module (SIM) card), complete with necessary mobile phone technology and/or an antenna for example.
  • SIM Subscriber Identity Module
  • mobile phone technology within the navigation device 200 can similarly establish a network connection between the navigation device 200 and the server 150, via the Internet for example, in a manner similar to that of any mobile device.
  • a Bluetooth enabled navigation device may be used to work correctly with the ever changing spectrum of mobile phone models, manufacturers, etc., model/manufacturer specific settings may be stored on the navigation device 200 for example. The data stored for this information can be updated.
  • the navigation device 200 is depicted as being in communication with the server 150 via a generic communications channel 152 that can be implemented by any of a number of different arrangements.
  • the communication channel 152 generically represents the propagating medium or path that connects the navigation device 200 and the server 150.
  • the server 150 and the navigation device 200 can communicate when a connection via the communications channel 152 is established between the server 150 and the navigation device 200 (noting that such a connection can be a data connection via mobile device, a direct connection via personal computer via the Internet, etc.).
  • the communication channel 152 is not limited to a particular communication technology.
  • the communication channel 152 is not limited to a single communication technology; that is, the channel 152 may include several communication links that use a variety of technology.
  • the communication channel 152 can be adapted to provide a path for electrical, optical, and/or electromagnetic communications, etc.
  • the communication channel 152 includes, but is not limited to, one or a combination of the following: electric circuits, electrical conductors such as wires and coaxial cables, fibre optic cables, converters, radio-frequency (RF) waves, the atmosphere, free space, etc.
  • the communication channel 152 can include intermediate devices such as routers, repeaters, buffers, transmitters, and receivers, for example.
  • the communication channel 152 includes telephone and computer networks. Furthermore, the communication channel 152 may be capable of accommodating wireless communication, for example, infrared communications, radio frequency communications, such as microwave frequency communications, etc. Additionally, the communication channel 152 can accommodate satellite communication.
  • the communication signals transmitted through the communication channel 152 include, but are not limited to, signals as may be required or desired for given communication technology.
  • the signals may be adapted to be used in cellular communication technology such as Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), etc.
  • TDMA Time Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • CDMA Code Division Multiple Access
  • GSM Global System for Mobile Communications
  • GPRS General Packet Radio Service
  • Both digital and analogue signals can be transmitted through the communication channel 152.
  • These signals may be modulated, encrypted and/or compressed signals as may be desirable for the communication technology.
  • the server 150 includes, in addition to other components which may not be illustrated, a processor 154 operatively connected to a memory 156 and further operatively connected, via a wired or wireless connection 158, to a mass data storage device 160.
  • the mass storage device 160 contains a store of navigation data and map information, and can again be a separate device from the server 150 or can be incorporated into the server 150.
  • the processor 154 is further operatively connected to transmitter 162 and receiver 164, to transmit and receive information to and from navigation device 200 via communications channel 152.
  • the signals sent and received may include data, communication, and/or other propagated signals.
  • the transmitter 162 and receiver 164 may be selected or designed according to the communications requirement and communication technology used in the communication design for the navigation system 200. Further, it should be noted that the functions of transmitter 162 and receiver 164 may be combined into a single transceiver.
  • the navigation device 200 can be arranged to communicate with the server 150 through communications channel 152, using transmitter 166 and receiver 168 to send and receive signals and/or data through the communications channel 152, noting that these devices can further be used to communicate with devices other than server 150.
  • the transmitter 166 and receiver 168 are selected or designed according to communication requirements and communication technology used in the communication design for the navigation device 200 and the functions of the transmitter 166 and receiver 168 may be combined into a single transceiver as described above.
  • the navigation device 200 comprises other hardware and/or functional parts, some of which will be described later herein in further detail.
  • Software stored in server memory 156 provides instructions for the processor 154 and allows the server 150 to provide services to the navigation device 200.
  • One service provided by the server 150 involves processing requests from the navigation device 200 and transmitting navigation data from the mass data storage 160 to the navigation device 200.
  • Another service that can be provided by the server 150 includes processing the navigation data using various algorithms for a desired application and sending the results of these calculations to the navigation device 200.
  • the server 150 constitutes a remote source of data accessible by the navigation device 200 via a wireless channel.
  • the server 150 may include a network server located on a local area network (LAN), wide area network (WAN), virtual private network (VPN), etc.
  • LAN local area network
  • WAN wide area network
  • VPN virtual private network
  • the server 150 may include a personal computer such as a desktop or laptop computer, and the communication channel 152 may be a cable connected between the personal computer and the navigation device 200.
  • a personal computer may be connected between the navigation device 200 and the server 150 to establish an Internet connection between the server 150 and the navigation device 200.
  • the navigation device 200 may be provided with information from the server 150 via information downloads which may be updated automatically, from time to time, or upon a user connecting the navigation device 200 to the server 150 and/or may be more dynamic upon a more constant or frequent connection being made between the server 150 and navigation device 200 via a wireless mobile connection device and TCP/IP connection for example.
  • the processor 154 in the server 150 may be used to handle the bulk of processing needs, however, a processor (not shown in Figure 2) of the navigation device 200 can also handle much processing and calculation, oftentimes independent of a connection to a server 150.
  • the block diagram of the navigation device 200 is not inclusive of all components of the navigation device, but is only representative of many example components.
  • the navigation device 200 is located within a housing (not shown).
  • the navigation device 200 includes processing circuitry comprising, for example, the processor 202 mentioned above, the processor 202 being coupled to an input device 204 and a display device, for example a display screen 206.
  • a display device for example a display screen 206.
  • the input device 204 represents any number of input devices, including a keyboard device, voice input device, touch panel and/or any other known input device utilised to input information.
  • the display screen 206 can include any type of display screen such as a Liquid Crystal Display (LCD), for example.
  • LCD Liquid Crystal Display
  • one aspect of the input device 204, the touch panel, and the display screen 206 are integrated so as to provide an integrated input and display device, including a touchpad or touchscreen input 250 ( Figure 4) to enable both input of information (via direct input, menu selection, etc.) and display of information through the touch panel screen so that a user need only touch a portion of the display screen 206 to select one of a plurality of display choices or to activate one of a plurality of virtual or "soft" buttons.
  • the processor 202 supports a Graphical User Interface (GUI) that operates in conjunction with the touchscreen.
  • GUI Graphical User Interface
  • the processor 202 is operatively connected to and capable of receiving input information from input device 204 via a connection 210, and operatively connected to at least one of the display screen 206 and the output device 208, via respective output connections 212, to output information thereto.
  • the navigation device 200 may include an output device 208, for example an audible output device (e.g. a loudspeaker).
  • an audible output device e.g. a loudspeaker
  • input device 204 can include a microphone and software for receiving input voice commands as well.
  • the navigation device 200 can also include any additional input device 204 and/or any additional output device, such as audio input/output devices for example.
  • the processor 202 is operatively connected to memory 214 via connection 216 and is further adapted to receive/send information from/to input/output (I/O) ports 218 via connection 220, wherein the I/O port 218 is connectible to an I/O device 222 external to the navigation device 200.
  • the external I/O device 222 may include, but is not limited to an external listening device, such as an earpiece for example.
  • connection to I/O device 222 can further be a wired or wireless connection to any other external device such as a car stereo unit for hands-free operation and/or for voice activated operation for example, for connection to an earpiece or headphones, and/or for connection to a mobile telephone for example, wherein the mobile telephone connection can be used to establish a data connection between the navigation device 200 and the Internet or any other network for example, and/or to establish a connection to a server via the Internet or some other network for example.
  • any other external device such as a car stereo unit for hands-free operation and/or for voice activated operation for example, for connection to an earpiece or headphones, and/or for connection to a mobile telephone for example
  • the mobile telephone connection can be used to establish a data connection between the navigation device 200 and the Internet or any other network for example, and/or to establish a connection to a server via the Internet or some other network for example.
  • the memory 214 of the navigation device 200 comprises a portion of non-volatile memory (for example to store program code) and a portion of volatile memory (for example to store data as the program code is executed).
  • the navigation device also comprises a port 228, which communicates with the processor 202 via connection 230, to allow a removable memory card (commonly referred to as a card) to be added to the device 200.
  • a removable memory card commonly referred to as a card
  • the port is arranged to allow an SD (Secure Digital) card to be added.
  • the port may allow other formats of memory to be connected (such as Compact Flash (CF) cards, Memory Sticks, xD memory cards, USB (Universal Serial Bus) Flash drives, MMC (MultiMedia) cards, SmartMedia cards, Microdrives, or the like).
  • Figure 3 further illustrates an operative connection between the processor 202 and an antenna/receiver 224 via connection 226, wherein the antenna/receiver 224 can be a GPS
  • antenna/receiver for example and as such would function as the GPS receiver 106 of Figure 1 .
  • the antenna and receiver designated by reference numeral 224 are combined schematically for illustration, but that the antenna and receiver may be separately located components, and that the antenna may be a GPS patch antenna or helical antenna for example.
  • the electronic components shown in Figure 3 are powered by one or more power sources (not shown) in a conventional manner.
  • power sources may include an internal battery and/or a input for a low voltage DC supply or any other suitable arrangement.
  • the components shown in Figure 3 may be in communication with one another via wired and/or wireless connections and the like.
  • the navigation device 200 described herein can be a portable or handheld navigation device 200.
  • the portable or handheld navigation device 200 of Figure 3 can be connected or "docked" in a known manner to a vehicle such as a bicycle, a motorbike, a car or a boat for example. Such a navigation device 200 is then removable from the docked location for portable or handheld navigation use. Indeed, in other embodiments, the device 200 may be arranged to be handheld to allow for navigation of a user.
  • the navigation device 200 may be a unit that includes the integrated input and display device 206 and the other components of Figure 2, including, but not limited to, the internal GPS receiver 224, the processor 202, a power supply (not shown), memory systems 214, etc.
  • the navigation device 200 may sit on an arm 252, which itself may be secured to a vehicle dashboard/window/etc. using a suction cup 254.
  • This arm 252 is one example of a docking station to which the navigation device 200 can be docked.
  • the navigation device 200 can be docked or otherwise connected to the arm 252 of the docking station by snap connecting the navigation device 200 to the arm 252 for example.
  • the navigation device 200 may then be rotatable on the arm 252.
  • a button (not shown) on the navigation device 200 may be pressed, for example.
  • Other equally suitable arrangements for coupling and decoupling the navigation device 200 to a docking station are well known to persons of ordinary skill in the art.
  • the processor 202 of the navigation device is programmed to receive GPS data received by the antenna 224 and, from time to time, to store that GPS data, together with a time stamp of when the GPS data was received, within the memory 214, to build up a record of the location of the navigation device.
  • Each data record so-stored may be thought of as a GPS fix; i.e. it is a fix of the location of the navigation device and comprises a latitude, a longitude, a time stamp and an accuracy report.
  • the data is stored substantially on a periodic basis which is, for example, every 5 seconds. The skilled person will appreciate that other periods would be possible and that there is a balance between data resolution and memory capacity; i.e.
  • the resolution of the data is increased by taking more samples, more memory is required to hold the data.
  • the resolution might be substantially every: 1 second, 10 seconds, 15 seconds, 20 seconds, 30 seconds, 45 seconds, 1 minute, 2.5 minutes (or indeed, any period in between these periods).
  • the quality of the captured data reduces as the period increases and whilst the degree of degradation will at least in part be dependent upon the speed at which the navigation device 200 was moving a period of roughly 15 seconds may provide a suitable upper limit.
  • the navigation device 200 Whilst the navigation device 200 is generally arranged to build up a record of its whereabouts, some embodiments, do not record data for a predetermined period and/or distance at the start or end of a journey. Such an arrangement helps to protect the privacy of the user of the navigation device 200 since it is likely to protect the location of his/her home and other frequented destinations. For example, the navigation device 200 may be arranged not to store data for roughly the first 5 minutes of a journey and/or for roughly the first mile of a journey.
  • the GPS may not be stored on a periodic basis but may be stored within the memory when a predetermined event occurs.
  • the processor 202 may be programmed to store the GPS data when the device passes a road junction, a change of road segment, or other such event.
  • the processor 202 is arranged, from time to time, to upload the record of the whereabouts of the device 200 (i.e. the GPS data and the time stamp) to the server 150.
  • the uploading of the data occurs on a periodic basis which may for example be once every 24 hours.
  • the skilled person will appreciate that other periods are possible and may be substantially any of the following periods: 15 minutes, 30 minutes, hourly, every 2 hours, every 5 hours, every 12 hours, every 2 days, weekly, or any time in between these.
  • the processor 202 may be arranged to upload the record of the whereabouts on a substantially real time basis, although this may inevitably mean that data is in fact transmitted from time to time with a relatively short period between the transmissions and as such may be more correctly thought of as being pseudo real time.
  • the navigation device may be arranged to buffer the GPS fixes within the memory 214 and/or on a card inserted in the port 228 and to transmit these when a predetermined number have been stored. This predetermined number may be on the order of 20, 36, 100, 200 or any number in between. The skilled person will appreciate that the predetermined number is in part governed by the size of the memory 214 or card within the port 228.
  • the processor 202 may be arranged to upload the record to the server 152 when a communication channel 152 is created. This may for example, be when the navigation device 200 is connected to a user's computer. Again, in such embodiments, the navigation device may be arranged to buffer the GPS fixes within the memory 214 or on a card inserted in the port 228. Should the memory 214 or card inserted in the port 228 become full of GPS fixes the navigation device may be arranged to delete the oldest GPS fixes and as such it may be thought of as a First in First Out (FIFO) buffer.
  • FIFO First in First Out
  • the record of the whereabouts comprises one or more traces with each trace representing the movement of that navigation device 200 within a 24 hour period.
  • Each 24 is arranged to coincide with a calendar day but in other embodiments, this need not be the case.
  • a user of a navigation device 200 gives his/her consent for the record of the devices whereabouts to be uploaded to the server 150. If no consent is given then no record is uploaded to the server 150.
  • the navigation device itself, and/or a computer to which the navigation device is connected may be arranged to ask the user for his/her consent to such use of the record of whereabouts.
  • the server 150 is arranged to receive the record of the whereabouts of the device and to store this within the mass data storage 160 for processing. Thus, as time passes the mass data storage 160 accumulates a plurality of records of the whereabouts of navigation devices 200 which have uploaded data.
  • Uploaded traces from a number of such devices 200 may be analysed and used to expected travel times for different road segments.
  • the mass data storage 160 also contains map data.
  • map data provides information about the location of road segments, points of interest and other such information that is generally found on map.
  • the navigation device is associated with a vehicle, and may be a PND or integrated navigation device.
  • the navigation device stores an electronic map comprising data representative of a network of road segments.
  • the steps of the method are implemented while the vehicle, with which the navigation device is associated, travels along a predetermined route to a destination.
  • the navigation device may receive traffic updates from a server via a telecommunications system, or by other means, such as via a radio broadcast system.
  • the navigation device now needs to calculate an alternative route from the current location to the original destination that avoids the region of congestion. It will be appreciated that in other embodiments the invention may be implemented at other times than when navigating along a predetermined route, and the alternative route that is to be generated may be between any first and second location, not necessarily a current location and destination of a predetermined route being followed.
  • the navigation device As a first step 501 of this process, the navigation device generates a plurality of routes that are a subset of all possible routes between the current location and destination. This may be achieved using standard routing algorithms as known in the art, such as finding the route that is expected to be quickest, and the next quickest n routes for some value of n. As part of this process, an expected travel time T, is determined for each of the routes, / ' .
  • ⁇ ⁇ is a time uncertainty parameter whose value, in units of time, reflects the uncertainty range in which alternative routes are considered to be equally attractive. Based on practical experience and simulation results, a reasonable value for ⁇ ⁇ may be in the range of 1 to 3 minutes, e.g. 2 minutes.
  • a third step 503 the adjustment times ⁇ £ are added to the expected travel times T, to yield a set of i adjusted travel times, ⁇ £ + ⁇ £ .
  • a fourth step 504 the route with the lowest adjusted travel time is selected.
  • the navigation device In the final step 505, the navigation device generates a set of navigation instructions for guiding a user along the selected route.
  • . tne parameter ⁇ ⁇ represents the standard deviation of the travel time uncertainty on which the route-choice decision is based.
  • Embodiments that are optimising for a different attribute than travel time, such as fuel economy, may of course use a different definition of the utility function V,.
  • the invention in any of its embodiments thus provides a method which enables routes to be generated in a road network for use by multiple devices, e.g. to avoid a region of congestion, in a manner which can balance flow across the network. This is achieved without the need for a navigation device to have to request a server to determine the route, or to have access to non-standard information.
  • a navigation device may independently obtain a route that may maintain flow across the network without knowledge of routes that are to be used by other devices.
  • the processing power required is significantly reduced, in that the server may generate routes for navigation devices on a case by case basis, without needing to refer to routes generated for other devices.

Abstract

A method and system is disclosed for selecting a route in an area covered by an electronic map. The map comprises a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map. A plurality of routes through the navigable network between a first location and a second location are generated, and a cost value determined for each of the routes. A randomly-generated or pseudo-randomly-generated adjustment value is obtained, preferably one for each of the routes, and one of the plurality of routes is selected based on a selection function that is a function of (i) the cost values for the routes, and (ii) the adjustment value.

Description

METHODS AND SYSTEMS FOR GENERATING
ROUTES TO OPTIMISE TRAFFIC FLOW
Field of the Invention
This invention relates to methods and systems for generating routes, and extends to navigation devices and servers arranged to generate routes in particular, although not exclusively, in a manner that may more evenly balance traffic flow across a network. Illustrative embodiments of the invention relate to portable navigation devices (PNDs), such as PNDs that include Global Positioning System (GPS) signal reception and processing functionality.
Background to the Invention
Portable navigation devices (PNDs) that include GPS (Global Positioning System) signal reception and processing functionality are well known, and are widely employed as in-car or other vehicle navigation systems.
In general terms, a modern PND comprises a processor, memory (at least one of volatile and non-volatile, and commonly both), and map data stored within said memory. The processor and memory cooperate to provide an execution environment in which a software operating system may be established, and additionally it is commonplace for one or more additional software programs to be provided to enable the functionality of the PND to be controlled, and to provide various other functions.
Typically these devices further comprise one or more input interfaces that allow a user to interact with and control the device, and one or more output interfaces by means of which information may be relayed to the user. Illustrative examples of output interfaces include a visual display and a speaker for audible output. Illustrative examples of input interfaces include one or more physical buttons to control on/off operation or other features of the device (which buttons need not necessarily be on the device itself but could be on a steering wheel if the device is built into a vehicle), and a microphone for detecting user speech. In a particularly preferred arrangement the output interface display may be configured as a touch sensitive display (by means of a touch sensitive overlay or otherwise) to additionally provide an input interface by means of which a user can operate the device by touch.
Navigation devices also typically have access to a digital map representative of a navigable network on which the vehicle is travelling. The digital map (or mathematical graph, as it is sometimes known), in its simplest form, is effectively a database containing data representative of nodes, most commonly representative of road intersections, and lines between those nodes representing the roads between those intersections. In more detailed digital maps, lines may be divided into segments defined by a start node and end node. These nodes may be "real" in that they represent a road intersection at which a minimum of 3 lines or segments intersect, or they may be "artificial" in that they are provided as anchors for segments not being defined at one or both ends by a real node to provide, among other things, shape information for a particular stretch of road or a means of identifying the position along a road at which some characteristic of that road changes, e.g. a speed limit. In practically all modern digital maps, nodes and segments are further defined by various attributes which are again represented by data in the database. For example, each node will typically have geographical coordinates to define its real- world position, e.g. latitude and longitude. Nodes will also typically have manoeuvre data associated therewith, which indicate whether it is possible, at an intersection, to move from one road to another; while the segments will also have associated attributes such as the maximum speed permitted, the lane size, number of lanes, whether there is a divider in-between, etc.
Devices of this type will also often include one or more physical connector interfaces by means of which power, and optionally data signals, can be transmitted to and received from the device, and optionally one or more wireless transmitters/receivers to allow communication over cellular
telecommunications and other signal and data networks, for example Wi-Fi, Wi-Max GSM and the like.
PND devices of this type also include a GPS antenna by means of which satellite-broadcast signals, including location data, can be received and subsequently processed to determine a current location of the device.
The PND device may also include electronic gyroscopes and accelerometers which produce signals that can be processed to determine the current angular and linear acceleration, and in turn, and in conjunction with location information derived from the GPS signal, velocity and relative displacement of the device and thus the vehicle in which it is mounted. Typically such features are most commonly provided in in-vehicle navigation systems, but may also be provided in PND devices if it is expedient to do so.
The utility of such PNDs is manifested primarily in their ability to determine a route between a first location (typically a start or current location) and a second location (typically a destination). These locations can be input by a user of the device, by any of a wide variety of different methods, for example by postcode, street name and house number, previously stored "well known" destinations (such as famous locations, municipal locations (such as sports grounds or swimming baths or other points of interest), and favourite or recently visited destinations.
Typically, the PND is enabled by software for searching for a "best" or "optimum" route between the start and destination address locations from the map data. A "best" or "optimum" route is determined on the basis of predetermined criteria and need not necessarily be the fastest or shortest route. The searching for a route along which to guide the driver can be very sophisticated, and the search may take into account historical, existing and/or predicted traffic and road information.
In addition, the device may continually monitor road and traffic conditions, and offer to or choose to change the route over which the remainder of the journey is to be made due to changed conditions. Real time traffic monitoring systems, based on various technologies (e.g. mobile phone data exchanges, fixed cameras, GPS fleet tracking) are being used to identify traffic delays and to feed the information into notification systems.
PNDs of this type may typically be mounted on the dashboard or windscreen of a vehicle, but may also be formed as part of an on-board computer of the vehicle radio or indeed as part of the control system of the vehicle itself. The navigation device may also be part of a hand-held system, such as a PDA (Portable Digital Assistant) a media player, a mobile phone or the like, and in these cases, the normal functionality of the hand-held system is extended by means of the installation of software on the device to perform both route calculation and navigation along a calculated route.
Route planning and navigation functionality may also be provided by a desktop or mobile computing resource running appropriate software. For example, an on-line route planning and navigation facility is provided at routes.tomtom.com, which facility allows a user to enter a start point and a destination, whereupon the server to which the user's PC is connected calculates a route (aspects of which may be user specified), generates a map, and generates a set of exhaustive navigation instructions for guiding the user from the selected start point to the selected destination. The facility also provides for pseudo three-dimensional rendering of a calculated route, and route preview functionality which simulates a user travelling along the route and thereby provides the user with a preview of the calculated route.
In the context of a PND, once a route has been calculated, the user interacts with the navigation device to select the desired calculated route, optionally from a list of proposed routes. Optionally, the user may intervene in, or guide, the route selection process, for example by specifying that certain routes, roads, locations or criteria are to be avoided or are mandatory for a particular journey. The route calculation aspect of the PND forms one primary function, and navigation along such a route is another primary function.
During navigation along a calculated route, it is usual for such PNDs to provide visual and/or audible instructions to guide the user along a chosen route to the end of that route, i.e. the desired destination. It is also usual for PNDs to display map information on-screen during the navigation, such information regularly being updated on-screen so that the map information displayed is representative of the current location of the device, and thus of the user or user's vehicle if the device is being used for in- vehicle navigation.
An icon displayed on-screen typically denotes the current device location, and is centred with the map information of the current road and surrounding roads in the vicinity of the current device location and other map features also being displayed. Additionally, navigation information may be displayed, optionally in a status bar above, below or to one side of the displayed map information, examples of navigation information include a distance to the next deviation from the current road required to be taken by the user, the nature of that deviation possibly being represented by a further icon suggestive of the particular type of deviation, for example a left or right turn. The navigation function also determines the content, duration and timing of audible instructions by means of which the user can be guided along the route. As can be appreciated a simple instruction such as "turn left in 100 m" requires significant processing and analysis. As previously mentioned, user interaction with the device may be by a touch screen, or additionally or alternately by steering column mounted remote control, by voice activation or by any other suitable method.
A further important function provided by the device is automatic route re-calculation in the event that: (i) a user deviates from the previously calculated route during navigation (either by accident or intentionally); (ii) real-time traffic conditions dictate that an alternative route would be more expedient and the device is suitably enabled to recognize such conditions automatically; or (iii) a user actively causes the device to perform route re-calculation for any reason. Although route calculation and navigation functions are fundamental to the overall utility of PNDs, it is possible to use the device purely for information display, or "free-driving", in which only map information relevant to the current device location is displayed, and in which no route has been calculated and no navigation is currently being performed by the device. Such a mode of operation is often applicable when the user already knows the route along which it is desired to travel and does not require navigation assistance.
Devices of the type described above provide a reliable means for enabling users to navigate from one position to another.
Navigation devices are often arranged to calculate a route to a destination in a manner that takes account of current conditions in the network, e.g. taking congestion into account. A fastest route may be generated for navigation based on current conditions. However, once navigation commences, traffic conditions may change, such that the planned route is no longer the fastest route. In this situation, a new fastest route, taking into account the actual traffic situation, may be generated and proposed to a user. This may be as a result of a continual or periodic background check for faster routes under current conditions, e.g. carried out by a PND as navigation progresses, or in response to receiving a message indicative of a traffic event on the route ahead, e.g. over a live data connection. Such methods are responsive to actual traffic conditions, providing a new, faster route when the existing route is no longer the fastest route.
The use of vehicle-based navigation devices of various types is growing rapidly. For example, navigation devices, including mobile devices, such as PNDs, and integrated systems, e.g. in-dash systems, are increasingly being used in vehicles. However, this can lead to problems when the navigation devices are arranged to take into account real-time traffic information when planning routes. When multiple vehicles travelling in or towards an area affected by congestion use such devices, each device may suggest an alternative route in the manner described above, to enable the vehicle to avoid the congested area. However, if each device is acting on similar congestion information, and calculates routes in a similar manner, e.g. to provide a new fastest route, the devices will tend to divert drivers onto the same, or similar, alternative routes. This can have the effect of merely shifting the congestion to a location along the alternative route or routes suggested to the drivers, leading to the alternative routes becoming slower. This effect may be particularly significant when a major event, such as a major road closure or obstruction, triggers a large number of navigation devices to calculate alternative routes.
Various attempts have been made to address this problem, and to try to cause navigation devices associated with different vehicles to calculate alternative routes in the event of congestion which will result in traffic load being spread over the road network in a more uniform manner.
One technique involves using a central server to balance traffic flow across a road network. When a navigation device needs to calculate a route, e.g. in response to congestion being found on an existing route or otherwise, the device sends a route request to the server (e.g., over a radio link). The server receives such route requests from multiple devices, and determines routes specifically for the individual devices, and transmits the routes to the respective devices. The routes for the different devices are determined in a manner that is intended to distribute flow more evenly across the road network. In order to achieve this, when a new route is calculated, it is done in such a way that it depends upon previous routes calculated for other navigation devices. Indeed, in some cases, routes for all involved navigation devices are recalculated every time a new route request is received from one device. This solution is therefore computationally intensive, and difficult to scale. One example of such a solution is the system proposed and developed by Graphmasters - www.graphmasters.net - formerly known as the Greenway app, which was presented as part of the Microsoft Imagine Cup 2012. Another technique of this type was created as part of a project entitled "Algorithms for Optimal Route Guidance" performed by Technische Universitat Berlin with support from DaimlerChrysler - http://www3.math.tu- berlin.de/coga/projects/traffic/routeguidance/ - and aims to distribute traffic flow in a manner that minimises overall travel time of all users through the network.
Another technique is described in WO 2015/036595 A1 . This technique does not reply upon a central server; however, it does require navigation devices to have access to current capacity information for the road network, in order to select which route to follow. Such information is not always available.
The Applicant has realised that there remains a need for efficient methods for generating routes in a navigable network, which aim to balance traffic flow across the network, based on readily-available information.
Summary of the Invention
In accordance with a first aspect of the invention there is provided a method of generating a route in an area covered by an electronic map, the map comprising a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map, the method comprising:
generating a plurality of routes through the navigable network between a first location and a second location;
determining a cost value for each of the routes;
obtaining a randomly-generated or pseudo-randomly-generated adjustment value;
using a selection function to select one of the routes from the plurality of routes, wherein the selection function is a function of: (i) the cost values for the routes; and (ii) the adjustment value; and outputting data representative of the selected route.
In accordance with the invention, therefore, a route across a network of navigable segments can be generated in a manner that can help to balance load, i.e. traffic flow, across segments of the network in an efficient manner. This is achieved by using a random adjustment value when evaluating a set of alternative routes, so that the outcome of the selection process is not fixed for any given set of external conditions. Thus, if multiple navigation devices all implement this same method, they will not necessarily all select the same route as each other, even under the same conditions (e.g., while all travelling in the same direction on the same road segment), because they will typically input different random adjustment values to the selection function. These devices are then less likely simply to displace the congestion onto one of the alternative routes, because they are unlikely all to direct their respective vehicles onto the same one of the alternative routes.
The present invention extends to a system for carrying out a method in accordance with any of the aspects or embodiments of the invention herein described. ln accordance with a second aspect of the invention there is provided a system for generating a route in an area covered by an electronic map, the map comprising a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map, the system comprising:
means for generating a plurality of routes through the navigable network between a first location and a second location;
means for determining a cost value for each of the routes;
means for obtaining a randomly-generated or pseudo-randomly-generated adjustment value; means for selecting one of the routes from the plurality of routes based on a selection function that is a function of (i) the cost values for the routes, and (ii) the adjustment value; and
means for outputting data representative of said generated route and said detected segments. As will be appreciated by those skilled in the art, this further aspect of the present invention can and preferably does include any one or more or all of the preferred and optional features of the invention described herein in respect of any of the other aspects of the invention, as appropriate. If not explicitly stated, the system of the present invention herein may comprise means for carrying out any step described in relation to the method of the invention in any of its aspects or embodiments, and vice versa.
The present invention is a computer implemented invention, and any of the steps described in relation to any of the aspects or embodiments of the invention may be carried out under the control of a set of one or more processors. The means for carrying out any of the steps described in relation to the system may be a set of one or more processors.
In general, the system of the present invention in any of its embodiments may be at least one processing device. The or a processing device may be a device of a mobile device, such as a navigation device, whether a PND or an integrated device, or may be a device of a server.
The method of the present invention is preferably implemented in the context of a navigation operation.
In preferred embodiments the method of the present invention in any of its aspects or embodiments is carried out using a navigation device, and the present invention extends to a navigation device arranged to carry out the steps of the method of any of the aspects or embodiments of the invention. The navigation device may be of any form, and may be a mobile or integrated, e.g. in-vehicle device. The device is preferably associated with a vehicle, i.e. such that the position of the device corresponds to the position of the vehicle. A navigation device may be any device having navigation functionality. For example, a mobile navigation device may be, for example, a PND or any mobile device having navigation functionality.
In accordance with any of the aspects or embodiments of the invention the navigation device may comprise a display for displaying an electronic map to a user, a set of one or more processors configured to access electronic map data and cause an electronic map to be displayed to a user via the display, and a user interface operable by a user to enable the user to interact with the device. Thus, the system of the present invention may be a system e.g. processing device of a navigation device.
The load-balancing effect of embodiments of the invention depends on the properties of the selection function and on the probability distribution of the adjustment value. If the adjustment value has only one fixed value, used by all devices in a set of devices, the load- balancing effect is effectively disabled. This may be a selectable mode of operation in some embodiments. Preferably, however, the adjustment value has two or more possible values. These possible values may consist of a set of discrete values, or they may comprise one or more continuous ranges.
The selection function may take additional inputs. In a preferred set of embodiments, the selection function is a function of (i) the cost values of the routes, and (ii) a plurality of adjustment values. The method may comprise a step of receiving a respective randomly-generated or pseudo-randomly- generated adjustment value for each route of the plurality of routes. The selection function is then preferably a function of (i) the cost values for the routes, and (ii) the adjustment values for the routes. The adjustment values preferably share a common probability distribution. They are preferably all generated using the same stochastic process.
The selected route preferably has a minimum (or, in some embodiments, a maximum, or extremum) adjusted cost value over the adjusted cost values for the plurality of routes, the "adjusted cost values" for the routes preferably being defined by a predetermined function of (i) the cost value for the route, and (ii) the adjustment value for the route. For example, it may be the sum of the cost value for the route and the adjustment value for the route. Alternatively, it may be the cost value for the route less the adjustment value for the route. In other embodiments, it may be the cost value for the route scaled up or down by the adjustment value.
The method comprises generating a plurality of routes between an origin and destination in the electronic map using a routing process, e.g. a route planning algorithm. The routes are preferably generated based upon a cost of traversing segments of the electronic map. The cost of traversing a segment may be determined using a cost function. The cost of traversing a segment may be determined based upon one or more attributes associated with the segment. The cost of traversing a segment is preferably based at least in part upon a time to traverse the segment. Obtaining routes by reference to a traversal cost may be achieved using any known method, such one based on the Dijkstra method. Preferably the routes between the origin and destination are a set of least cost routes between the origin and the destination, e.g. a set of two or more routes as desired having the lowest cost. The least cost routes may be a fastest route, shortest route, most ecological etc, or any combination thereof as desired. A least cost route may be based upon minimising a cost associated with traversing segments of the electronic map, which cost is determined using an appropriate cost function, i.e. which results in a lower cost being associated with segments that have an attribute that is deemed particularly desirable, or a higher cost associated with segments that are deemed undesirable. For example, the cost function may be selected as appropriate, e.g. based upon user input, to result in a least cost route that is a shortest route, fastest route, most ecological route, etc.
In embodiments, the routing process comprises using a route planning algorithm that assigns a cost for traversing segments of the electronic map and explores routes between the origin and the destination comprising a plurality of segments to identify a set of minimum cost routes. The cost of traversing a segment is determined using a cost function, and preferably based at least in part upon one or more attributes associated with the segment (also referred to herein as "attribute data"). For example, the cost for traversing a segment can be based at least in part on an expected time to traverse a segment based on a stored expected traversal speed for the segment and a length of the segment. The cost function may be selected as appropriate, e.g. based upon user input, to result in a least cost route that is a shortest route, fastest route, most ecological route, etc.
The cost value for a route may be determined using a cost function that takes into account any desired attribute or attributes of the segments of the navigable network, e.g. distance, expected travel time, average speed, fuel consumption, etc. Expected travel times may be based on historic travel-time data or they may be based on currently-reported travel times received over a data link.
The selection function may be selectable or configurable as appropriate e.g. based upon user input, to result in a route that is, based on the adjusted cost values, a shortest route, fastest route, most ecological route, etc.
In one set of embodiments, the selection function may be such that the probability of a route from the plurality of routes being selected is relatively high when the cost value for that route is separated from the minimum (or, in another set of embodiments, the maximum) cost value, across all the plurality of routes, by less than an uncertainty parameter (see below for more details about this parameter), and is relatively low when this not the case. Relatively high may here mean that the probability is higher for all routes that meet this condition than it is for the most probable route that does not meet this condition; or it may mean that, for all routes that meet this condition, the probability of being selected is two, three, five or ten times as high as it is for the most probable route that does not meet this condition.
The method involves generating the plurality of routes, and determining a cost value for each of the routes. Preferably, the step of determining a cost value for the routes is carried out as part of generating the routes, e.g. using the same algorithm.
The randomly-generated or pseudo-randomly-generated adjustment value or values may be received over an interface, e.g. from a server, but are preferably generated by the system or navigation device. They may be generated using a true random number generator (e.g., based on a physical parameter such as radioactive decay), or they may be generated by a pseudo-random-number generator, which may be seeded based on a parameter such as the time since the device was last rebooted. The values may be generated and/or received before or after the plurality of routes is generated. For each route, the same adjustment value for that route is preferably used in the selection function if the selection function is evaluated more than once during the course of a journey (e.g. due to further congestion being experience). This can prevent unnecessary switching between routes of similar costs, which might otherwise occur if the stochastic components associated with particular routes changed during the course of the journey, and which might confuse or frustrate the user.
The adjustment values are preferably distributed according to a Gumbel distribution. This has been found to provide particularly desirable load-balancing performance in simulations.
In some embodiments, a uniformly-distributed random variable, e.g. taking values in the range zero to one, is used to generate the adjustment values. A random value from a uniform distribution may be input to a function that outputs an adjustment value. In some embodiments, evaluating this function comprises calculating the natural logarithm of the random value. The function may output the natural logarithm of the negative natural logarithm of the random value, with this answer optionally multiplied by a scaling factor. In some embodiments, this scaling factor may equal zero minus an uncertainty parameter.
More generally, the distribution of the adjustment values may depend on an uncertainty parameter, in any appropriate way. Data representative of the uncertainty parameter may be stored in a memory, e.g. of a navigation device. It preferably represents a margin of variability in the cost value whereby the selection function will distribute routed vehicles approximately equally among routes whose cost values differ by an amount no more than the uncertainty parameter, or of the same order as the uncertainty parameter.
When the cost value is in units of time, the uncertainty parameter is preferably a time uncertainty value and is preferably between zero and 20 minutes; more preferably between one and ten minutes, or between one and three minutes. The uncertainty value may be configurable, for example, by a user of the device, either directly or indirectly. Alternatively, it may be set by a manufacturer or distributer of the device. It may be the same across a plurality of devices.
It will be seen that the invention thus provides a method for determining a route through a navigable network in a manner that may help to balance overall load in the network, which method may be carried out on a client device, i.e. remote from a server. This is in contrast to prior art techniques which must be carried out at a server, in order for the server to be able to derive a route for use by a navigation device that takes into account routes derived for other navigation devices. It is also in contrast to prior art technique that require access to information, such as current capacity information, which is not available to devices over typical live information feeds.
Of course, it is also possible that a server could carry out the steps of the present method, and select a route that is then transmitted to a navigation device for use in navigation between the first and second locations. Thus, in some other embodiments the method may be implemented by a server. The method may then further comprise the server transmitting the selected route to a navigation device for use by the device in navigation between the first and second locations. The method may additionally comprise the steps of the server receiving from a navigation device an indication of the first and second locations. The indication may be transmitted by a navigation device to the server as part of a request for a route to be generated by the server for use in navigation between the first and second locations. It is believed that the methods of the present invention provide advantages over prior art techniques when implemented by a server, due to the reduced amount of processing power required. As described in relation to embodiments in which a navigation device carries out the route generation steps, the present invention may provide a method of obtaining a route that enables load to be more evenly distributed across a network in a more efficient manner, in that it is not necessary, when generating a given route, to have knowledge of other routes that have been generated. This allows the method to be implemented with reduced processing and/or storage capacity than would be the case for prior art methods in which it is necessary to retain and refer to details of previously generated routes.
Thus, in other embodiments the method of the present invention in any of its aspects or embodiments may be carried out by a server, and the present invention extends to a server arranged to carry out the steps of the method of any of the aspects or embodiments of the invention. The system of the present invention of any of its aspects or embodiments may be a processing device of a server. ln yet other embodiments the steps of the method of the present invention in any of its aspects or embodiments may be carried out in part by a server and in part by a navigation device.
When the selection is carried out on a server, which can serve a plurality of clients, it is preferred that the server is arranged to store the adjustment values for a particular client for the duration of a session (e.g., corresponding to a single journey). The server is preferably arranged to use the same adjustment values for respective routes if the client requests that the selection function be applied a second time during the session (e.g., because further congestion has triggered a second route recalculation operation). This ensures that the server provides the same route when requested several times from the same client. The server does, however, preferably use independently-generated adjustment values for different clients.
The server may return a single selected route to a client. However ,in some embodiments, a server may provide a client with a set of alternative routes. The server may provide the client with route alternative probabilities, e.g. as part of a distributed routing capability. The route alternative probabilities may be derived from a Logit model. They should represent the probability of each particular route being selected. A client may use received route alternative probabilities to set the cost values and/or to configure the selection function. The route alternative probabilities may effectively act as weightings applied to the each of the alternative routes. Alternatively or additionally, the server may provide the client with cost values or adjusted cost values for the routes.
The method comprises the step of generating a plurality of routes between a first location and a second location. The first location may be a current location, a location along a predetermined route being navigated, and/or an origin of a desired route. A location along a predetermined route being navigated may be a current location along a predetermined route being navigated or a position ahead of a current location. For example, the first location might be a location along the predetermined route that will be reached at a particular future time, or which corresponds to a decision point along the remainder of the predetermined route, etc. Preferably the first location is the current location. The current location may be a current location of a navigation device, which may be associated with a vehicle.
The second location may be a desired destination, a destination of a predetermined route being navigated, or a location along a predetermined route being navigated. The second location may be the destination of the predetermined route being navigated or a location along the predetermined route beyond the first location in the direction of travel. The generated routes between the first and second locations may be intended to provide a continuation to a predetermined route being navigated e.g. an extension of the predetermined route, or a modified remainder or section of the predetermined route which becomes a new route to be followed. In these situations the first location might be automatically selected.
Thus, in some embodiments the method is carried out after travel along a predetermined route has commenced. The method may then provide a route that is an alternative to at least a portion of a remainder of the predetermined route, or, in embodiments, the (entire) remainder thereof. The route may then be described as an "en-route alternative". In some embodiments the method comprises generating a first route between a first route origin and a first route destination in the area, wherein the plurality of routes generated between the first location and the second location provide alternative routes to at least a portion of a remainder of the first route. These embodiments may be used, for example, where it is found that at least a portion of the remainder of the predetermined route is affected by congestion. The present invention may then provide a way of determining an alternative route that is less affected by congestion.
In other embodiments the first and second locations are an origin and a destination. These embodiments may be particularly applicable where the steps of the method, including the generation of the alternative route, are carried out before navigation along a route occurs. The origin and destination may be user specified.
It will be appreciated that where the first location and/or the second location is a location along a predetermined route being navigated, the method may or may not extend to the step of generating the predetermined route that is being navigated.
The first and second locations may be obtained in any suitable manner. For example, one or both locations may be user specified. In other arrangements the locations may be automatically determined, e.g. by a navigation device or server. For example, this may be the case where the first and/or second locations are associated with a predetermined route being navigated, to provide first and second locations between which alternative routes to at least a portion of the predetermined route may be generated. The first and/or second locations may be received via a communications network.
It will be appreciated that the method of the present invention may be initiated in response to a user input, e.g. requesting the generation of a route, or may be initiated automatically, e.g. when congestion is detected along a predetermined route that is being navigated. The method may be initiated by the navigation device in response to received live traffic data, i.e. data indicative of events on the navigable network that may have an effect on traffic flow, such as a traffic jams, blocked roads, weather, etc. Thus, in embodiments, the method comprises receiving data indicative of current or relatively current events on the navigable network, such as data adjusting expected speeds of travel associated with one or more segments or portions thereof of the electronic map, data blocking one or more segments of the electronic map, etc; such data being used by the routing process to determine the plurality of routes.
The plurality of routes generated between the first and second locations may be considered alternative routes between the first and second locations. The routes may be generated in any suitable manner known in the art. For example, the routes might be a least cost route and one or more next lowest cost routes generated between the first and second locations through the navigable network as determined by a routing engine. For example, the routes may be a least cost route and each route having a higher cost within a predetermined range of the least cost route. The cost of a route may be determined using a cost function that takes into account any desired attributes of the segments of the navigable network, e.g. travel time, average speed, length, etc. These costs may be the same as the cost values used in the selection function, or they may relate to different attributes of the segments. A least cost route may be based upon minimising a cost associated with traversing segments of the navigable network, which cost is determined using an appropriate cost function. For example, the cost function may be selected as appropriate e.g. based upon user input, to result in a least cost route that is a shortest route, fastest route, most ecological route, etc. In an example, when a cost function is selected to determine a fastest route, the plurality of routes may determine the fastest route and any routes that are within a threshold of the journey time associated with the fastest route, e.g. any routes within 10% of the fastest route or 20% of the fastest route, etc.
Regardless of whether the generation and selection of the route to be navigated occur on a navigation device or a server, data representative of the selected route are output, e.g. using a navigation device. The method may comprise outputting data indicative of the selected route to a user. The data may be in any way indicative of the route, e.g. a set of instructions, which may be audible or visual, but preferably is a visual representation of the route. In preferred embodiments, the method comprises displaying the route to a user. However other forms of output may be used. For example the method may alternatively or additionally comprise printing information indicative of the route. In preferred embodiments, a step of displaying the route may comprise superposing the route on the electronic map. Alternatively or additionally the method may comprise the steps of generating a set of navigation instructions for guiding a driver along the selected route. Alternatively or additionally the method may comprise storing the selected route. This step may be performed by a navigation device.
In preferred embodiments the method of the present invention is carried out multiple times in relation to providing multiple routes for navigation by different users. Each performance of the method is preferably carried out by a different navigation device, although, as discussed above, a server might perform the method in relation to obtaining the or each route to be navigated. This will enable flow to be effectively distributed over the plurality of routes in accordance with the random adjustment values used by the different devices.
The term "segment" as used herein takes its usual meaning in the art. A segment may be a navigable link that connects two nodes, or any portion thereof. While embodiments of the present invention are described with reference to road segments, it should be realised that the invention may also be applicable to other navigable segments, such as segments of a path, river, canal, cycle path, tow path, railway line, or the like. For ease of reference these are commonly referred to as a road segment, but any reference to a "road segment" may be replaced by a reference to a "navigable segment" or any specific type or types of such segments.
References to a predetermined route being navigated may be understood in the usual sense in the art to refer to a route along which a user is being guided, e.g. by a navigation device, and preferably in relation to which navigation instruction(s) are being provided. These may be in the form of a display of the route, typically in combination with a set of one or more instructions indicative of, e.g. manoeuvres and other action to be taken by the user to follow the route, which may be given audibly and/or visually. The predetermined route refers to the route being travelled at the time the alternative routes are generated or at least provided to a user.
Any of the methods in accordance with the present invention may be implemented at least partially using software e.g. computer programs. The present invention thus also extends to a computer program comprising computer readable instructions executable to perform, or to cause a navigation device and/or server to perform, a method according to any of the aspects or embodiments of the invention.
The invention correspondingly extends to a computer software carrier comprising such software which, when used to operate a system or apparatus comprising data processing means causes, in conjunction with said data processing means, said apparatus or system to carry out the steps of the methods of the present invention. Such a computer software carrier could be a non-transitory physical storage medium such as a ROM chip, CD ROM or disk, or could be a signal such as an electronic signal over wires, an optical signal or a radio signal such as to a satellite or the like. The present invention provides a machine readable medium containing instructions which when read by a machine cause the machine to operate according to the method of any of the aspects or embodiments of the invention.
Regardless of its implementation, a client device, such as a navigation device, used in accordance with the present invention may comprise a processor, memory, and digital map data stored within said memory. The processor and memory cooperate to provide an execution environment in which a software operating system may be established. One or more additional software programs may be provided to enable the functionality of the apparatus to be controlled, and to provide various other functions. A navigation apparatus embodying the invention may preferably include global navigation satellite system (GNSS), e.g. GPS or GLONASS, signal reception and processing functionality. As will be appreciated the navigation apparatus may use other means for determining its current location as desired, e.g. terrestrial beacons, the mobile telecommunications network, etc. The device may comprise one or more output interfaces by means of which information may be relayed to the user. The output interface(s) may include a speaker for audible output in addition to the visual display. The device may comprise input interfaces including one or more physical buttons to control on/off operation or other features of the device.
In other embodiments, the navigation device may be implemented at least in part by means of an application of a processing device which does not form part of a specific navigation device. For example the invention may be implemented using a suitable computer system arranged to execute navigation software. The system may be a mobile or portable computer system, e.g. a mobile telephone or laptop, or may be a desktop system.
Where not explicitly stated, it will be appreciated that the invention in any of its aspects may include any or all of the features described in respect of other aspects or embodiments of the invention to the extent they are not mutually exclusive. In particular, while various embodiments of operations have been described which may be performed in the method and by the apparatus, it will be appreciated that any one or more or all of these operations may be performed in the method and by the apparatus, in any combination, as desired, and as appropriate.
Advantages of these embodiments are set out hereafter, and further details and features of each of these embodiments are defined in the accompanying dependent claims and elsewhere in the following detailed description. Brief Description of the Figures
Certain preferred embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 is a schematic illustration of an exemplary part of a Global Positioning System (GPS) usable by a navigation device; Figure 2 is a schematic diagram of a communications system for communication between a navigation device and a server;
Figure 3 is a schematic illustration of electronic components of the navigation device of Figure 2 or any other suitable navigation device;
Figure 4 is a schematic diagram of an arrangement of mounting and/or docking a navigation device; and
Figure 5 is a flowchart illustrating the steps of a method in accordance with one embodiment of the invention. Detailed Description of the Figures
Embodiments of the present invention will now be described with particular reference to a Portable Navigation Device (PND). It should be remembered, however, that the teachings of the present invention are not limited to PNDs but are instead universally applicable to any type of processing device that is configured to provide route planning and navigation functionality. It follows therefore that, in the context of the present application, a navigation device may include (without limitation) any type of route planning and navigation device, irrespective of whether that device is embodied as a PND, a vehicle such as an automobile, or any portable computing resource such as a portable personal computer (PC), a mobile telephone or a Personal Digital Assistant (PDA) executing route planning and navigation software.
Furthermore, embodiments of the present invention are described with reference to road segments. It should be realised that the invention may also be applicable to other navigable segments, such as segments of a path, river, canal, cycle path, tow path, railway line, or the like. For ease of reference these are commonly referred to as a road segment.
It will also be apparent from the following that the teachings of the present invention even have utility in circumstances where a user is not seeking instructions on how to navigate from one point to another, but merely wishes to be provided with a view of a given location. In such circumstances the "destination" location selected by the user need not have a corresponding start location from which the user wishes to start navigating, and as a consequence references herein to the "destination" location or indeed to a "destination" view should not be interpreted to mean that the generation of a route is essential, or that travelling to the "destination" must occur, or indeed that the presence of a destination requires the designation of a corresponding start location.
With the above provisos in mind, the Global Positioning System (GPS) of Figure 1 and the like are used for a variety of purposes. In general, the GPS is a satellite-radio based navigation system capable of determining continuous position, velocity, time, and, in some instances, direction information for an unlimited number of users. Formerly known as NAVSTAR, the GPS incorporates a plurality of satellites which orbit the earth in extremely precise orbits. Based on these precise orbits, GPS satellites can relay their location, as GPS data, to any number of receiving units. However, it will be understood that Global Positioning systems could be used, such as GLOSNASS, the European Galileo positioning system, COMPASS positioning system or IRNSS (Indian Regional Navigational Satellite System).
The GPS system is implemented when a device, specially equipped to receive GPS data, begins scanning radio frequencies for GPS satellite signals. Upon receiving a radio signal from a GPS satellite, the device determines the precise location of that satellite via one of a plurality of different conventional methods. The device will continue scanning, in most instances, for signals until it has acquired at least three different satellite signals (noting that position is not normally, but can be determined, with only two signals using other triangulation techniques). Implementing geometric triangulation, the receiver utilizes the three known positions to determine its own two-dimensional position relative to the satellites. This can be done in a known manner. Additionally, acquiring a fourth satellite signal allows the receiving device to calculate its three dimensional position by the same geometrical calculation in a known manner. The position and velocity data can be updated in real time on a continuous basis by an unlimited number of users.
As shown in Figure 1 , the GPS system 100 comprises a plurality of satellites 102 orbiting about the earth 104. A GPS receiver 106 receives GPS data as spread spectrum GPS satellite data signals 108 from a number of the plurality of satellites 102. The spread spectrum data signals 108 are continuously transmitted from each satellite 102, the spread spectrum data signals 108 transmitted each comprise a data stream including information identifying a particular satellite 102 from which the data stream originates. The GPS receiver 106 generally requires spread spectrum data signals 108 from at least three satellites 102 in order to be able to calculate a two-dimensional position. Receipt of a fourth spread spectrum data signal enables the GPS receiver 106 to calculate, using a known technique, a three-dimensional position.
Turning to Figure 2, a navigation device 200 (i.e. a PND) comprising or coupled to the GPS receiver device 106, is capable of establishing a data session, if required, with network hardware of a
"mobile" or telecommunications network via a mobile device (not shown), for example a mobile telephone, PDA, and/or any device with mobile telephone technology, in order to establish a digital connection, for example a digital connection via known Bluetooth technology. Thereafter, through its network service provider, the mobile device can establish a network connection (through the Internet for example) with a server 150. As such, a "mobile" network connection can be established between the navigation device
200 (which can be, and often times is, mobile as it travels alone and/or in a vehicle) and the server 150 to provide a "real-time" or at least very "up to date" gateway for information.
The establishing of the network connection between the mobile device (via a service provider) and another device such as the server 150, using the Internet for example, can be done in a known manner. In this respect, any number of appropriate data communications protocols can be employed, for example the TCP/IP layered protocol. Furthermore, the mobile device can utilize any number of communication standards such as CDMA2000, GSM, IEEE 802.1 1 a/b/c/g/n, etc.
Hence, it can be seen that the Internet connection may be utilised, which can be achieved via data connection, via a mobile phone or mobile phone technology within the navigation device 200 for example.
Although not shown, the navigation device 200 may, of course, include its own mobile telephone technology within the navigation device 200 itself (including an antenna for example, or optionally using the internal antenna of the navigation device 200). The mobile phone technology within the navigation device 200 can include internal components, and/or can include an insertable card (e.g. Subscriber Identity Module (SIM) card), complete with necessary mobile phone technology and/or an antenna for example. As such, mobile phone technology within the navigation device 200 can similarly establish a network connection between the navigation device 200 and the server 150, via the Internet for example, in a manner similar to that of any mobile device.
For telephone settings, a Bluetooth enabled navigation device may be used to work correctly with the ever changing spectrum of mobile phone models, manufacturers, etc., model/manufacturer specific settings may be stored on the navigation device 200 for example. The data stored for this information can be updated.
In Figure 2, the navigation device 200 is depicted as being in communication with the server 150 via a generic communications channel 152 that can be implemented by any of a number of different arrangements. The communication channel 152 generically represents the propagating medium or path that connects the navigation device 200 and the server 150. The server 150 and the navigation device 200 can communicate when a connection via the communications channel 152 is established between the server 150 and the navigation device 200 (noting that such a connection can be a data connection via mobile device, a direct connection via personal computer via the Internet, etc.).
The communication channel 152 is not limited to a particular communication technology.
Additionally, the communication channel 152 is not limited to a single communication technology; that is, the channel 152 may include several communication links that use a variety of technology. For example, the communication channel 152 can be adapted to provide a path for electrical, optical, and/or electromagnetic communications, etc. As such, the communication channel 152 includes, but is not limited to, one or a combination of the following: electric circuits, electrical conductors such as wires and coaxial cables, fibre optic cables, converters, radio-frequency (RF) waves, the atmosphere, free space, etc. Furthermore, the communication channel 152 can include intermediate devices such as routers, repeaters, buffers, transmitters, and receivers, for example.
In one illustrative arrangement, the communication channel 152 includes telephone and computer networks. Furthermore, the communication channel 152 may be capable of accommodating wireless communication, for example, infrared communications, radio frequency communications, such as microwave frequency communications, etc. Additionally, the communication channel 152 can accommodate satellite communication.
The communication signals transmitted through the communication channel 152 include, but are not limited to, signals as may be required or desired for given communication technology. For example, the signals may be adapted to be used in cellular communication technology such as Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), etc. Both digital and analogue signals can be transmitted through the communication channel 152. These signals may be modulated, encrypted and/or compressed signals as may be desirable for the communication technology.
The server 150 includes, in addition to other components which may not be illustrated, a processor 154 operatively connected to a memory 156 and further operatively connected, via a wired or wireless connection 158, to a mass data storage device 160. The mass storage device 160 contains a store of navigation data and map information, and can again be a separate device from the server 150 or can be incorporated into the server 150. The processor 154 is further operatively connected to transmitter 162 and receiver 164, to transmit and receive information to and from navigation device 200 via communications channel 152. The signals sent and received may include data, communication, and/or other propagated signals. The transmitter 162 and receiver 164 may be selected or designed according to the communications requirement and communication technology used in the communication design for the navigation system 200. Further, it should be noted that the functions of transmitter 162 and receiver 164 may be combined into a single transceiver.
As mentioned above, the navigation device 200 can be arranged to communicate with the server 150 through communications channel 152, using transmitter 166 and receiver 168 to send and receive signals and/or data through the communications channel 152, noting that these devices can further be used to communicate with devices other than server 150. Further, the transmitter 166 and receiver 168 are selected or designed according to communication requirements and communication technology used in the communication design for the navigation device 200 and the functions of the transmitter 166 and receiver 168 may be combined into a single transceiver as described above. Of course, the navigation device 200 comprises other hardware and/or functional parts, some of which will be described later herein in further detail.
Software stored in server memory 156 provides instructions for the processor 154 and allows the server 150 to provide services to the navigation device 200. One service provided by the server 150 involves processing requests from the navigation device 200 and transmitting navigation data from the mass data storage 160 to the navigation device 200. Another service that can be provided by the server 150 includes processing the navigation data using various algorithms for a desired application and sending the results of these calculations to the navigation device 200.
The server 150 constitutes a remote source of data accessible by the navigation device 200 via a wireless channel. The server 150 may include a network server located on a local area network (LAN), wide area network (WAN), virtual private network (VPN), etc.
The server 150 may include a personal computer such as a desktop or laptop computer, and the communication channel 152 may be a cable connected between the personal computer and the navigation device 200. Alternatively, a personal computer may be connected between the navigation device 200 and the server 150 to establish an Internet connection between the server 150 and the navigation device 200.
The navigation device 200 may be provided with information from the server 150 via information downloads which may be updated automatically, from time to time, or upon a user connecting the navigation device 200 to the server 150 and/or may be more dynamic upon a more constant or frequent connection being made between the server 150 and navigation device 200 via a wireless mobile connection device and TCP/IP connection for example. For many dynamic calculations, the processor 154 in the server 150 may be used to handle the bulk of processing needs, however, a processor (not shown in Figure 2) of the navigation device 200 can also handle much processing and calculation, oftentimes independent of a connection to a server 150.
Referring to Figure 3, it should be noted that the block diagram of the navigation device 200 is not inclusive of all components of the navigation device, but is only representative of many example components. The navigation device 200 is located within a housing (not shown). The navigation device 200 includes processing circuitry comprising, for example, the processor 202 mentioned above, the processor 202 being coupled to an input device 204 and a display device, for example a display screen 206. Although reference is made here to the input device 204 in the singular, the skilled person should appreciate that the input device 204 represents any number of input devices, including a keyboard device, voice input device, touch panel and/or any other known input device utilised to input information. Likewise, the display screen 206 can include any type of display screen such as a Liquid Crystal Display (LCD), for example.
In one arrangement, one aspect of the input device 204, the touch panel, and the display screen 206 are integrated so as to provide an integrated input and display device, including a touchpad or touchscreen input 250 (Figure 4) to enable both input of information (via direct input, menu selection, etc.) and display of information through the touch panel screen so that a user need only touch a portion of the display screen 206 to select one of a plurality of display choices or to activate one of a plurality of virtual or "soft" buttons. In this respect, the processor 202 supports a Graphical User Interface (GUI) that operates in conjunction with the touchscreen.
In the navigation device 200, the processor 202 is operatively connected to and capable of receiving input information from input device 204 via a connection 210, and operatively connected to at least one of the display screen 206 and the output device 208, via respective output connections 212, to output information thereto. The navigation device 200 may include an output device 208, for example an audible output device (e.g. a loudspeaker). As the output device 208 can produce audible information for a user of the navigation device 200, it should equally be understood that input device 204 can include a microphone and software for receiving input voice commands as well. Further, the navigation device 200 can also include any additional input device 204 and/or any additional output device, such as audio input/output devices for example.
The processor 202 is operatively connected to memory 214 via connection 216 and is further adapted to receive/send information from/to input/output (I/O) ports 218 via connection 220, wherein the I/O port 218 is connectible to an I/O device 222 external to the navigation device 200. The external I/O device 222 may include, but is not limited to an external listening device, such as an earpiece for example. The connection to I/O device 222 can further be a wired or wireless connection to any other external device such as a car stereo unit for hands-free operation and/or for voice activated operation for example, for connection to an earpiece or headphones, and/or for connection to a mobile telephone for example, wherein the mobile telephone connection can be used to establish a data connection between the navigation device 200 and the Internet or any other network for example, and/or to establish a connection to a server via the Internet or some other network for example.
The memory 214 of the navigation device 200 comprises a portion of non-volatile memory (for example to store program code) and a portion of volatile memory (for example to store data as the program code is executed). The navigation device also comprises a port 228, which communicates with the processor 202 via connection 230, to allow a removable memory card (commonly referred to as a card) to be added to the device 200. In the embodiment being described the port is arranged to allow an SD (Secure Digital) card to be added. In other embodiments, the port may allow other formats of memory to be connected (such as Compact Flash (CF) cards, Memory Sticks, xD memory cards, USB (Universal Serial Bus) Flash drives, MMC (MultiMedia) cards, SmartMedia cards, Microdrives, or the like).
Figure 3 further illustrates an operative connection between the processor 202 and an antenna/receiver 224 via connection 226, wherein the antenna/receiver 224 can be a GPS
antenna/receiver for example and as such would function as the GPS receiver 106 of Figure 1 . It should be understood that the antenna and receiver designated by reference numeral 224 are combined schematically for illustration, but that the antenna and receiver may be separately located components, and that the antenna may be a GPS patch antenna or helical antenna for example.
It will, of course, be understood by one of ordinary skill in the art that the electronic components shown in Figure 3 are powered by one or more power sources (not shown) in a conventional manner. Such power sources may include an internal battery and/or a input for a low voltage DC supply or any other suitable arrangement. As will be understood by one of ordinary skill in the art, different configurations of the components shown in Figure 3 are contemplated. For example, the components shown in Figure 3 may be in communication with one another via wired and/or wireless connections and the like. Thus, the navigation device 200 described herein can be a portable or handheld navigation device 200.
In addition, the portable or handheld navigation device 200 of Figure 3 can be connected or "docked" in a known manner to a vehicle such as a bicycle, a motorbike, a car or a boat for example. Such a navigation device 200 is then removable from the docked location for portable or handheld navigation use. Indeed, in other embodiments, the device 200 may be arranged to be handheld to allow for navigation of a user.
Referring to Figure 4, the navigation device 200 may be a unit that includes the integrated input and display device 206 and the other components of Figure 2, including, but not limited to, the internal GPS receiver 224, the processor 202, a power supply (not shown), memory systems 214, etc.
The navigation device 200 may sit on an arm 252, which itself may be secured to a vehicle dashboard/window/etc. using a suction cup 254. This arm 252 is one example of a docking station to which the navigation device 200 can be docked. The navigation device 200 can be docked or otherwise connected to the arm 252 of the docking station by snap connecting the navigation device 200 to the arm 252 for example. The navigation device 200 may then be rotatable on the arm 252. To release the connection between the navigation device 200 and the docking station, a button (not shown) on the navigation device 200 may be pressed, for example. Other equally suitable arrangements for coupling and decoupling the navigation device 200 to a docking station are well known to persons of ordinary skill in the art.
In the embodiments being described, the processor 202 of the navigation device is programmed to receive GPS data received by the antenna 224 and, from time to time, to store that GPS data, together with a time stamp of when the GPS data was received, within the memory 214, to build up a record of the location of the navigation device. Each data record so-stored may be thought of as a GPS fix; i.e. it is a fix of the location of the navigation device and comprises a latitude, a longitude, a time stamp and an accuracy report. ln one set of embodiments, the data is stored substantially on a periodic basis which is, for example, every 5 seconds. The skilled person will appreciate that other periods would be possible and that there is a balance between data resolution and memory capacity; i.e. as the resolution of the data is increased by taking more samples, more memory is required to hold the data. However, in other embodiments, the resolution might be substantially every: 1 second, 10 seconds, 15 seconds, 20 seconds, 30 seconds, 45 seconds, 1 minute, 2.5 minutes (or indeed, any period in between these periods). Thus, within the memory of the device there is built up a record of the whereabouts of the device 200 at points in time.
In some embodiments, it may be found that the quality of the captured data reduces as the period increases and whilst the degree of degradation will at least in part be dependent upon the speed at which the navigation device 200 was moving a period of roughly 15 seconds may provide a suitable upper limit.
Whilst the navigation device 200 is generally arranged to build up a record of its whereabouts, some embodiments, do not record data for a predetermined period and/or distance at the start or end of a journey. Such an arrangement helps to protect the privacy of the user of the navigation device 200 since it is likely to protect the location of his/her home and other frequented destinations. For example, the navigation device 200 may be arranged not to store data for roughly the first 5 minutes of a journey and/or for roughly the first mile of a journey.
In other embodiments, the GPS may not be stored on a periodic basis but may be stored within the memory when a predetermined event occurs. For example, the processor 202 may be programmed to store the GPS data when the device passes a road junction, a change of road segment, or other such event.
Further, the processor 202 is arranged, from time to time, to upload the record of the whereabouts of the device 200 (i.e. the GPS data and the time stamp) to the server 150. In some embodiments in which the navigation device 200 has a permanent, or at least generally present, communication channel 152 connecting it to the server 150 the uploading of the data occurs on a periodic basis which may for example be once every 24 hours. The skilled person will appreciate that other periods are possible and may be substantially any of the following periods: 15 minutes, 30 minutes, hourly, every 2 hours, every 5 hours, every 12 hours, every 2 days, weekly, or any time in between these. Indeed, in such embodiments the processor 202 may be arranged to upload the record of the whereabouts on a substantially real time basis, although this may inevitably mean that data is in fact transmitted from time to time with a relatively short period between the transmissions and as such may be more correctly thought of as being pseudo real time. In such pseudo real time embodiments, the navigation device may be arranged to buffer the GPS fixes within the memory 214 and/or on a card inserted in the port 228 and to transmit these when a predetermined number have been stored. This predetermined number may be on the order of 20, 36, 100, 200 or any number in between. The skilled person will appreciate that the predetermined number is in part governed by the size of the memory 214 or card within the port 228.
In other embodiments, which do not have a generally present communication channel 152 the processor 202 may be arranged to upload the record to the server 152 when a communication channel 152 is created. This may for example, be when the navigation device 200 is connected to a user's computer. Again, in such embodiments, the navigation device may be arranged to buffer the GPS fixes within the memory 214 or on a card inserted in the port 228. Should the memory 214 or card inserted in the port 228 become full of GPS fixes the navigation device may be arranged to delete the oldest GPS fixes and as such it may be thought of as a First in First Out (FIFO) buffer.
In the embodiments being described, the record of the whereabouts comprises one or more traces with each trace representing the movement of that navigation device 200 within a 24 hour period. Each 24 is arranged to coincide with a calendar day but in other embodiments, this need not be the case.
Generally, a user of a navigation device 200 gives his/her consent for the record of the devices whereabouts to be uploaded to the server 150. If no consent is given then no record is uploaded to the server 150. The navigation device itself, and/or a computer to which the navigation device is connected may be arranged to ask the user for his/her consent to such use of the record of whereabouts.
The server 150 is arranged to receive the record of the whereabouts of the device and to store this within the mass data storage 160 for processing. Thus, as time passes the mass data storage 160 accumulates a plurality of records of the whereabouts of navigation devices 200 which have uploaded data.
Uploaded traces from a number of such devices 200 may be analysed and used to expected travel times for different road segments.
As discussed above, the mass data storage 160 also contains map data. Such map data provides information about the location of road segments, points of interest and other such information that is generally found on map.
Referring now to Figure 5, the invention will be described by reference to a preferred embodiment in which the steps are carried out by a navigation device. The navigation device is associated with a vehicle, and may be a PND or integrated navigation device.
The navigation device stores an electronic map comprising data representative of a network of road segments. The steps of the method are implemented while the vehicle, with which the navigation device is associated, travels along a predetermined route to a destination. When the device, and hence vehicle, reaches a particular location along the route, it is determined that a remainder of the route is affected by congestion. The navigation device may receive traffic updates from a server via a telecommunications system, or by other means, such as via a radio broadcast system. The navigation device now needs to calculate an alternative route from the current location to the original destination that avoids the region of congestion. It will be appreciated that in other embodiments the invention may be implemented at other times than when navigating along a predetermined route, and the alternative route that is to be generated may be between any first and second location, not necessarily a current location and destination of a predetermined route being followed.
As a first step 501 of this process, the navigation device generates a plurality of routes that are a subset of all possible routes between the current location and destination. This may be achieved using standard routing algorithms as known in the art, such as finding the route that is expected to be quickest, and the next quickest n routes for some value of n. As part of this process, an expected travel time T, is determined for each of the routes, /'.
In a second step 502 a pseudo-random number generator is used to output /' random values, P, £ [0,1 ), which are input to the equation Tj = -aTln(- ln Pi) (1 ) to generate a set of /' random adjustment times, τ£
The value στ is a time uncertainty parameter whose value, in units of time, reflects the uncertainty range in which alternative routes are considered to be equally attractive. Based on practical experience and simulation results, a reasonable value for στ may be in the range of 1 to 3 minutes, e.g. 2 minutes.
In a third step 503, the adjustment times τ£ are added to the expected travel times T, to yield a set of i adjusted travel times, Γ£ + τ£.
In a fourth step 504, the route with the lowest adjusted travel time is selected.
In the final step 505, the navigation device generates a set of navigation instructions for guiding a user along the selected route.
The use of equation (1 ) leads to random adjustment times, τ£, that are Gumbel distributed. The cumulative distribution function of these adjustment times is given by
P(j < t) = e-e t) (2)
Apart from a pre-factor, . tne parameter στ represents the standard deviation of the travel time uncertainty on which the route-choice decision is based.
The probability p that a particular one of the alternative routes, /' = 1 , 2, N, is chosen is given by a multinomial Logit model:
-
Ρί ~ yN ePVi - 1
VjN B(yrV() ' (3) where the deterministic utility function V, for a route /' may be given, for example, by the negative of the travel time T, of the route; i.e. V, = - T, (resulting from the sum of travel times over all links of the route).
Embodiments that are optimising for a different attribute than travel time, such as fuel economy, may of course use a different definition of the utility function V,.
This approach has been tested in a microscopic traffic simulator for two alternative routes and one origin-destination relation. The simulations show a significant reduction, compared with conventional fastest-journey routing, in routing oscillations, leading to reduced average travel times overall. The stochastic component distributes the routed vehicles approximately equally as long as travel time differences are of the same order as the uncertainty parameter στ. This approach has even been found to reach the system optimum, over a broad range of values for the uncertainty parameter στ, for 'penetration rates' (i.e., the proportion of vehicles navigating by this approach) of greater than or equal to 80%, which demonstrates the robustness of this approach.
While the present invention has been described by reference to a navigation device generating the plurality of routes, and selecting a route to be navigated therefrom, it is envisaged that the methods could be implemented by a server, with the server then transmitting the selected route to a navigation device.
It will be seen that the invention in any of its embodiments thus provides a method which enables routes to be generated in a road network for use by multiple devices, e.g. to avoid a region of congestion, in a manner which can balance flow across the network. This is achieved without the need for a navigation device to have to request a server to determine the route, or to have access to non-standard information. A navigation device may independently obtain a route that may maintain flow across the network without knowledge of routes that are to be used by other devices. Similarly if implemented by a server, the processing power required is significantly reduced, in that the server may generate routes for navigation devices on a case by case basis, without needing to refer to routes generated for other devices.
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed. The claims should not be construed to cover merely the foregoing embodiments, but also any embodiments which fall within the scope of the claims.

Claims

CLAIMS:
1 . A method of generating a route in an area covered by an electronic map, the map comprising a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map, the method comprising:
generating a plurality of routes between a first location and a second location in the electronic map using a route planning algorithm;
determining a cost value for each of the routes;
generating an adjustment value for each of the routes, the adjustment value being generated based on: (i) a uniformly-distributed random variable; and (ii) an uncertainty parameter;
determining an adjusted cost value for each of the routes, the adjusted cost value for a route being a predetermined function of: (i) the cost value for the route; and (ii) the adjustment value for the route;
selecting one of the plurality of routes based on a selection function that is a function of the adjusted cost values for the routes, wherein the selection function is such that, when a cost value of a first route differs from a cost value of a second route by no more than the uncertainty parameter, a probability of the first route being selected is substantially equal to a probability of the second route being selected; and
outputting data representative of the selected route.
2. The method of claim 1 , wherein the adjustment values have a common probability distribution.
3. The method of claim 1 or 2, wherein the adjustment values are distributed according to a Gumbel distribution.
4. The method of any preceding claim, wherein the selected route has an adjusted cost value that is a minimum over the adjusted cost values for the plurality of routes, the adjusted cost value being a predetermined function of (i) the cost value for the route, and (ii) the adjustment value for the route.
5. The method of claim 4, wherein the adjusted cost value for each route equals the cost value for the route plus the adjustment value for the route.
6. The method of any preceding claim, comprising evaluating the selection function at two different times during a single journey to the second location, and using the same respective adjustment value in both evaluations for each route that is used in both evaluations.
7. The method of any preceding claim, wherein the selection function is such that the probability of a route from the plurality of routes being selected is higher, for all routes that have a cost value that is separated from the minimum cost value over the plurality of routes by less than the uncertainty parameter, than one, two, three or five times the probability of the most probable route from the plurality of routes being selected that has a cost value that is separated from the minimum cost value by more than the uncertainty parameter.
8. The method of any preceding claim, wherein the cost values are travel time cost values, and wherein the uncertainty parameter is between one and three minutes.
9. The method of any preceding claim, wherein each of the segments of the electronic map is associated with attribute data representative of one or more attributes associated with the respective segment, and wherein the cost value for each route is determined using a cost function that gives a cost of traversing segments of the route.
10. The method of any preceding claim, wherein the first location is a location at or ahead of a current location along a predetermined route being navigated.
1 1. The method of any preceding claim, further comprising providing a set of navigation instructions for guiding a user along the selected route.
12. The method of any preceding claim, wherein the uniformly-distributed random variable is generated using a true-random or pseudo-random number generator.
13. A system for generating a route in an area covered by an electronic map, the map comprising a plurality of segments representing navigable elements of a navigable network in the area covered by the electronic map, the system comprising:
means for generating a plurality of routes between a first location and a second location in the electronic map using a route planning algorithm;
means for determining a cost value for each of the routes;
means for generating an adjustment value for each of the routes, the adjustment value being generated based on: (i) a uniformly-distributed random variable; and (ii) an uncertainty parameter;
means for determining an adjusted cost value for each of the routes, the adjusted cost value for a route being a predetermined function of: (i) the cost value for the route; and (ii) the adjustment value for the route;
means for selecting one of the plurality of routes based on a selection function that is a function of the adjusted cost values for the routes, wherein the selection function is such that, when a cost value of a first route differs from a cost value of a second route by no more than the uncertainty parameter, a probability of the first route being selected is substantially equal to a probability of the second route being selected; and
means for outputting data representative of the selected route.
14. The system of claim 13, wherein the system is at least one of a navigation device, optionally a mobile device, and a server.
15. A computer program product comprising instructions which, when executed by at least one processor of a computing device, cause the computing device to operate according to the method of any of claims 1 to 12.
16. A non-transitory computer readable medium having the computer program product of claim 15 stored thereon.
PCT/EP2016/078918 2015-11-26 2016-11-25 Methods and systems for generating routes to optimise traffic flow WO2017089600A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1520914.1 2015-11-26
GBGB1520914.1A GB201520914D0 (en) 2015-11-26 2015-11-26 Methods and systems for generating routes to optimise traffic flow

Publications (1)

Publication Number Publication Date
WO2017089600A1 true WO2017089600A1 (en) 2017-06-01

Family

ID=55177309

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/078918 WO2017089600A1 (en) 2015-11-26 2016-11-25 Methods and systems for generating routes to optimise traffic flow

Country Status (2)

Country Link
GB (1) GB201520914D0 (en)
WO (1) WO2017089600A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10429195B2 (en) 2017-09-19 2019-10-01 Here Global B.V. Method, apparatus, and computer program product for generation of a route using time and space
CN110345953A (en) * 2018-04-03 2019-10-18 国民技术股份有限公司 Vehicle route determines method, server and computer readable storage medium
US20210388577A1 (en) * 2020-06-15 2021-12-16 Volvo Autonomous Solutions AB Method for controlling an autonomous vehicle operating at a worksite

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1194579A (en) * 1997-09-24 1999-04-09 Toyota Motor Corp Optimum route calculation device for vehicle, method therefor and medium recording program therefor
DE10203242A1 (en) * 2002-01-29 2003-07-31 Volkswagen Ag Motor vehicle navigation system that calculates an alternative route based on received traffic information and selects one route an random from a number of possible routes to prevent congestion on suggested alternative routes
JP2005055401A (en) * 2003-08-07 2005-03-03 National Institute Of Advanced Industrial & Technology Dispersive route selection program, computer-readable recording medium for recording the same and dispersive route selection device, navigation program, computer-readable recording medium for recording the same, and navigation apparatus
US20090037086A1 (en) * 2005-07-18 2009-02-05 Dieter Kolb Method for equalizing traffic flows and for avoiding and resolving congestion
WO2015036595A1 (en) * 2013-09-15 2015-03-19 Tomtom Development Germany Gmbh Generating routes to optimise traffic flow

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1194579A (en) * 1997-09-24 1999-04-09 Toyota Motor Corp Optimum route calculation device for vehicle, method therefor and medium recording program therefor
DE10203242A1 (en) * 2002-01-29 2003-07-31 Volkswagen Ag Motor vehicle navigation system that calculates an alternative route based on received traffic information and selects one route an random from a number of possible routes to prevent congestion on suggested alternative routes
JP2005055401A (en) * 2003-08-07 2005-03-03 National Institute Of Advanced Industrial & Technology Dispersive route selection program, computer-readable recording medium for recording the same and dispersive route selection device, navigation program, computer-readable recording medium for recording the same, and navigation apparatus
US20090037086A1 (en) * 2005-07-18 2009-02-05 Dieter Kolb Method for equalizing traffic flows and for avoiding and resolving congestion
WO2015036595A1 (en) * 2013-09-15 2015-03-19 Tomtom Development Germany Gmbh Generating routes to optimise traffic flow

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10429195B2 (en) 2017-09-19 2019-10-01 Here Global B.V. Method, apparatus, and computer program product for generation of a route using time and space
CN110345953A (en) * 2018-04-03 2019-10-18 国民技术股份有限公司 Vehicle route determines method, server and computer readable storage medium
US20210388577A1 (en) * 2020-06-15 2021-12-16 Volvo Autonomous Solutions AB Method for controlling an autonomous vehicle operating at a worksite

Also Published As

Publication number Publication date
GB201520914D0 (en) 2016-01-13

Similar Documents

Publication Publication Date Title
US10345109B2 (en) Generating routes to optimise traffic flow
US20210088343A1 (en) Methods and Systems for Generating Alternative Routes
US11112256B2 (en) Methods and systems for providing information indicative of a recommended navigable stretch
EP3225954B1 (en) Generating routes using electronic map data
EP3209970B1 (en) Alternative routes
EP3341687B1 (en) Methods and systems for generating routes
US20160084666A1 (en) Routing engine
WO2017089600A1 (en) Methods and systems for generating routes to optimise traffic flow

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16801509

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16801509

Country of ref document: EP

Kind code of ref document: A1