System and method for travel time analysis
By generating a potential trip time distribution based on user driving behavior and possible traffic states on the route, the problem of inaccurate trip time prediction in the prior art is solved, and accurate prediction and personalized estimation of user trip time are achieved.
Patent Information
- Application Number
- CN202411596914.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-20
- Filing Date
- 2024-11-11
- Publication Date
- 2025-06-20
AI Technical Summary
When predicting trip time, existing itinerary planning systems rely on statistical methods of large amounts of user data, resulting in inaccurate predictions of fast or slow drivers and lack accurate estimates for specific users.
This method can be used even if the user has not crossed all routes before, by generating a potential trip time distribution based on the user's driving behavior and possible traffic states on the route.
Accurate prediction of user travel time is achieved, prediction errors caused by differences in driving style and vehicle type are reduced, and personalized travel time estimates can be provided to each user.
Smart Images

Figure CN120176702A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to route planning, and more particularly, to the determination of travel time. Background Art
[0002] Trip planner systems assist a user in traveling from a starting point (or initial location) to a destination location. Such trip planner systems typically determine one or more potential routes between the initial location and the destination location. This allows the user to identify the optimal way to reach a particular destination. Such trip planner systems are also typically used in conjunction with a navigation guidance system (or features as part of it), which can then assist the user in following a particular route. Typically, the navigation guidance can be in the form of turn-by-turn instructions or other such indications that tell the user what action to take to follow the route based on the user's current location.
[0003] Such trip planning systems have become popular with users, not only for helping to travel to unfamiliar locations, but also for determining more suitable (or more efficient) routes between known locations. Similarly, the use of such navigation guidance systems has expanded beyond personal motor vehicles, and such systems are now often used by users of many other modes of transportation, including commercial vehicles (such as large trucks, commercial passenger vehicles), pedal bicycles, and even as navigation aids for pedestrians. In this way, trip planner systems now typically offer hybrid mode route options.
[0004] An important aspect of trip planner systems is to provide an accurate estimate of travel time. Since the routes provided to the user are typically routes that the user is not familiar with, the user typically heavily relies on the travel time estimates generated by the trip planner system for the route. When this information is accurate, it enables the user to depart at the appropriate time and arrive at their destination at the expected arrival time, ensuring that events are not missed.
[0005] However, existing travel time estimation techniques typically rely on travel time statistics that are traced from data of numerous similar trips completed by other users. To have sufficient tracking to generate meaningful statistics, these include users with all kinds of traffic preferences and behaviors. These include very different driving styles and vehicle types - such as from trucks to fast cars and motorcycles. This can lead to widely unrealistic differences in predictions, as well as inaccurate predictions for many users who deviate from global average traffic behavior. In particular, such methods typically overestimate the travel time of relatively fast drivers while underestimating the travel time of relatively slow drivers. Summary of the Invention
[0006] The object of the present invention is to provide a system and method for calculating (or predicting) the travel time of a user, which solves the above problems. Specifically, in the present invention, it has been realized that by randomly generating the distribution of potential travel times of a route based on the user's driving behavior and the possible traffic states encountered on the route, an accurate travel time estimate of the user can be generated. This method can be used even if the user has not traversed all the routes or any of them before, and thus no user-specific travel time statistics are available.
[0007] According to a first aspect of the present invention, there is provided a method for predicting (or estimating or otherwise calculating) the travel time of a user traversing a route. The travel time can be or be expressed as travel time, arrival time, earliest departure time, etc. The route includes a plurality of road segments. The method includes calculating a plurality of potential travel times (or travel time distributions) of the route. The calculation includes generating corresponding potential route states of the route. The potential route state includes (or indicates) the corresponding traffic state of each road segment of the route. The corresponding traffic state is selected from a plurality of traffic states. It should be understood that this selection is generally a random process. The calculation further includes determining the potential travel time of the potential route state, where the potential travel time is based on the user's user traffic profile (such as a driving profile) and the traffic state of the road segments of the corresponding route state.
[0008] The steps of generating the corresponding potential route states and determining the potential travel time of the potential route states are repeatedly performed to provide a plurality of potential travel times. Thus, it can be considered that the steps of generating the corresponding potential route states and determining the potential travel time of the potential route states are performed for each of the plurality of potential travel times. Additional potential travel times (from additionally generated potential route states) can be calculated until a convergence threshold is reached. The convergence threshold includes any of the following: a convergence criterion for the distribution of the plurality of potential travel times; a predetermined number of potential travel times; or a predetermined variance of the plurality of potential travel times.
[0009] The method further includes predicting (or estimating or otherwise calculating) the travel time of the user traversing the route based on the plurality of potential travel times (or travel time distribution) of the route.
[0010] Generally, the generating the corresponding potential route states includes, for each road segment of the potential route state, selecting the corresponding traffic state of the road segment from a plurality of traffic states based on the traffic state probability (or traffic state probability distribution) associated with the road segment. The traffic state probability (or probability distribution) associated with at least one road segment can depend at least on the traffic state of another road segment (such as a previous road segment) of the potential route state. Additionally or alternatively, the traffic state probability (or probability distribution) associated with at least one road segment depends on at least one of the following: the predicted time of traversing the road segment during the day; the predicted weather condition of the road segment; or a known event associated with the road segment.
[0011] Multiple route states typically include one or more unconstrained (or free - flowing) traffic states and one or more constrained (or restricted) traffic states. One or more constrained traffic states can be any of the following: congested traffic or synchronized traffic.
[0012] In some embodiments of the first aspect, the determination is at least partially based on the respective road restrictions (or attributes) of at least one of the road segments in an unconstrained traffic state. Road restrictions are any of the following: speed limit, traffic control system, road grade (or type), or road condition.
[0013] In some embodiments of the first aspect, the prediction step includes calculating a confidence indication of the travel time for a user to traverse a route. The confidence indication can be any of the following: a confidence interval; or the likelihood that the user will traverse the route within the travel time.
[0014] A user traffic profile is typically a driving profile. A user's driving profile can include any of the following: the user's traffic pattern; the user's vehicle; or the user's driver behavior.
[0015] According to a second aspect of the present invention, there is provided a system adapted to implement the above - mentioned first aspect or any of its embodiments. To this end, there is provided a system for predicting (or estimating or otherwise calculating) the travel time for a user to traverse a route. The system includes a memory configured to implement calculating a plurality of potential travel times (or a travel time distribution) of a route and one or more processors. The calculation includes generating a respective potential route state of the route. The potential route state includes (or indicates) the respective traffic state of the road segment for each road segment of the route. The respective traffic state is selected from a plurality of traffic states. It should be understood that this selection is typically a random process. The calculation further includes determining a potential travel time of the potential route state, wherein the potential travel time is based on the user's user traffic profile (e.g., driving profile) and the traffic state of the road segments of the respective route state.
[0016] The memory and the one or more processors are further configured to implement the step of predicting (or estimating or otherwise calculating) the travel time for a user to traverse a route based on the plurality of potential travel times (or travel time distribution) of the route.
[0017] According to a third aspect of the present invention, there is provided a computer program which, when executed by one or more processors, causes the one or more processors to implement the above - mentioned first aspect or any of its embodiments. The computer program can be stored on a computer - readable medium. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Embodiments of the present invention will now be described by way of example only with reference to the accompanying drawings, in which:
[0019] Figure 1 Illustratively describes an example of a computer system;
[0020] Figure 2a Illustratively shows an example network of navigable elements in a geographical area together with a travel time estimation system;
[0021] Figure 2b Is a flowchart illustrating a method executable by the Figure 2a system.
[0022] Figure 3 Shows an example route and the calculation of the potential travel time of the route.
[0023] Figure 4 Describes a plurality of navigation clients located within a network of navigable elements and a navigation data processing system that can be used in conjunction with embodiments of the present invention;
[0024] Figure 5 Shows example outputs of the systems and methods of the present invention. Detailed Description
[0025] In the following description and figures, certain embodiments of the present invention are described. However, it should be understood that the present invention is not limited to the described embodiments, and some embodiments may not include all of the features described below. However, it is obvious that various modifications and changes can be made therein without departing from the broader spirit and scope of the present invention as set forth in the appended claims.
[0026] Figure 1 Illustratively describes an example of computer system 100. System 100 includes computer 102. Computer 102 includes: storage medium 104, memory 106, processor 108, interface 110, user output interface 112, user input interface 114, and network interface 116, all of which are linked together by one or more communication buses 118.
[0027] Storage medium 104 can be any form of non-volatile data storage device, such as one or more of a hard disk drive, magnetic disk, optical disk, ROM, etc. Storage medium 104 can store an operating system that processor 108 will execute to operate computer 102. Storage medium 104 can also store one or more computer programs (or software or instructions or code).
[0028] Memory 106 can be any random access memory (storage unit or volatile storage medium) suitable for storing data and / or computer programs (or software or instructions or code).
[0029] The processor 108 can be any data processing unit suitable for executing one or more computer programs (such as computer programs stored on the storage medium 104 and / or in the memory 106), some of which can be computer programs according to embodiments of the present invention or, when executed by the processor 108, cause the processor 108 to implement a method according to embodiments of the present invention and configure the system 100 as a system according to embodiments of the present invention. The processor 108 can include a single data processing unit or multiple data processing units operating in parallel or in cooperation with each other. When performing data processing operations according to embodiments of the present invention, the processor 108 can store data to and / or read data from the storage medium 104 and / or the memory 106.
[0030] The interface 110 can be any unit for providing an interface to a device 122 external to or removable from the computer 102. The device 122 can be a data storage device, such as one or more of an optical disc, a magnetic disk, a solid-state storage device, etc. The device 122 can have processing capabilities - for example, the device can be a smart card. The interface 110 can thus access data from, provide data to, or interface with the device 122 according to one or more commands received from the processor 108.
[0031] The user input interface 114 is arranged to receive input from a user or operator of the system 100. The user can provide this input via one or more input devices of the system 100 connected to or communicating with the user input interface 114, such as a mouse (or other pointing device) 126 and / or a keyboard 124. However, it should be understood that the user can provide input to the computer 102 via one or more additional or alternative input devices (such as a touch screen). The computer 102 can store the input received from the input device via the user input interface 114 in the memory 106 for subsequent access and processing by the processor 108, or can pass it directly to the processor 108 so that the processor 108 can respond to the user input accordingly.
[0032] The user output interface 112 is arranged to provide graphical / visual and / or audio output to a user or operator of the system 100. Thus, the processor 108 can be arranged to instruct the user output interface 112 to form an image / video signal representing the desired graphical output and provide this signal to a monitor (or screen or display unit) 120 of the system 100 connected to the user output interface 112. Additionally or alternatively, the processor 108 can be arranged to instruct the user output interface 112 to form an audio signal representing the desired audio output and provide this signal to one or more speakers 121 of the system 100 connected to the user output interface 112.
[0033] Finally, network interface 116 provides computer 102 with the functionality to download data from and / or upload data to one or more data communication networks.
[0034] It should be understood that Figure 1 the architecture of system 100 described in and above is merely exemplary, and other computer systems 100 with different architectures (e.g., having fewer components than those shown in Figure 1 or having components that are supplementary and / or alternative to those shown in Figure 1 can be used in embodiments of the present invention. As an example, computer system 100 may include one or more of the following: personal computer; server computer; mobile phone; tablet computer; laptop computer; television; gaming console; other mobile devices or consumer electronic devices; in-vehicle entertainment systems, etc.
[0035] In Figure 2a , an example network 210 of navigable elements in a geographical area is shown (the navigable elements are represented by corresponding lines connected at points). As discussed below, network 210 can be represented as an electronic map, e.g., an electronic map depicting a road network 210 in a geographical area. Network 210 can be a sub-network of a larger network of navigable elements (i.e., a part or region from a larger map). It should be understood that the specific network 210 shown is merely an example, and in practice, network 210 can include many more navigable elements in various configurations. In Figure 2a , the points represent the connections (or intersections) between the corresponding navigable elements or their endpoints. As mentioned, a "navigable element" can be a road and / or a part / section of a road, where network 210 is a road network. However, it should be understood that there are other types of "navigable elements", such as: the routes taken by ferries or trains or parts thereof; paths for pedestrians or parts thereof; bicycle lanes or parts thereof, etc. Thus, a navigable element can be considered as part of a transportation network along which, for example, vehicles, people, etc. can travel. In Figure 2a , the navigable elements are shown as non-directional (i.e., travel can occur along the navigable element in two ways).
[0036] An electronic map of such navigable elements can be used by a route (or trip planning) system to generate (or construct) potential routes between locations. Such potential routes are typically used by a user to plan their trip in order to find the optimal route from their starting location to their desired destination. Such routes can alternatively or additionally be used by a navigation system to assist the user in navigation, typically by providing turn-by-turn navigation instructions that enable the user to follow (or traverse) the route.
[0037] Figure 2aAlso shown are two potential routes 220; 221. Each route 220; 221 is between an initial location 282 and a destination location 284. Route 280 includes a plurality of navigation elements. In the following discussion, it is assumed that network 210 is a road network such that the navigation elements are road segments. However, it should be understood that the present invention need not be limited to a road network and road segments and can be applied to any network of navigable elements. A plurality of road segments (or navigable elements) form a path between the initial location 282 and the destination location 284.
[0038] In other words, routes 220; 221 include a sequence of connected road segments (or other navigable elements). Routes 220; 221 have a starting location 282 and a destination location 284.
[0039] In Figure 2a the example scenario described below, the user needs an estimated travel time for the potential routes 220; 221. To this end, a travel time estimation system 250 is provided.
[0040] The travel time estimation system 250 includes a distribution generator module 255 and a prediction module 265. The travel time estimation system 250 can be implemented on a computer system, such as the computer system 100 described above.
[0041] The distribution generator 255 is arranged to receive the routes 220; 221. The distribution generator 255 is arranged to receive a user traffic profile 230 described in more detail below. The distribution generator 255 is also arranged to calculate a plurality of potential travel times 260 for the routes 220; 221. Here, it should be understood that the travel time represents the time taken by the user to traverse the route. Thus, the potential travel time is the possible time that may be required for the user to traverse the route. The travel time can be represented in many different ways. For example, the travel time can be represented as the absolute time taken. Similarly, the travel time can be represented as the arrival time. In such cases, the arrival time will specify the travel time given that the departure time is known.
[0042] It should be understood that the road segments will be affected by traffic. In other words, there may be one or more vehicles on a road segment. Each vehicle may be moving or stationary and thus it should be understood that each vehicle will be in a moving state. These vehicles and their corresponding moving states can be referred to as traffic. The effect of this traffic may be to limit the speed of traversing the road segment. Thus, it should be understood that a given road segment will be in a particular traffic state at a given time.
[0043] For example, the number of vehicles may reach (or approach) the capacity of a road segment, and the vehicles may be moving slowly. In that case, it may only be possible to cross the road segment at a specific speed or below a specific speed. This traffic state may be referred to as a "congested traffic state". It should be understood that the constraint imposed by the traffic state may be (or affect) the minimum speed. In other words, the traffic state may prevent crossing the road segment at a speed below a specific speed. For example, the number of vehicles may reach (or approach) the capacity of a road segment, and the vehicles may be moving in a synchronized manner. Specifically, on a multi-lane road segment, this synchronized traffic flow, where the vehicles in all lanes are moving at substantially the same speed. Similarly, some traffic states may actually include (or impose) constraints on both the maximum and minimum speeds. A traffic state that imposes (or includes or is characterized by) a constraint on crossing a road segment may be referred to as a restricted (or constrained) traffic state.
[0044] It should be understood that some traffic states may not impose a constraint on a given road segment. For example, the number of vehicles may be substantially below the capacity of the road segment (or actually zero). In that case, the traffic state may not impose a constraint on the speed at which the vehicle can cross the road segment. Instead, the speed at which the vehicle can cross the road segment may be constrained by other factors discussed shortly below, such as the physical attributes of the road segment, vehicle characteristics, user driving behavior, etc. This traffic state that does not impose a constraint on crossing the road segment may be referred to as an unrestricted (or unconstrained or free) traffic state.
[0045] Thus, the traffic state can be a restricted (or constrained) traffic state or an unrestricted (or unconstrained) traffic state. Examples of restricted traffic states include any of the following: congested traffic; synchronized traffic; stationary traffic. Examples of unrestricted traffic states include any of the following: no traffic flow; low (or light) traffic flow.
[0046] As described above, routes 220; 221 include a sequence of connected road segments (or other navigable elements). For a given crossing of routes 220; 221, each road segment will be in a corresponding traffic state. Therefore, it should be understood that for a given crossing (or trip) of a route, the route will be in a specific route state. The route state includes the corresponding traffic states of each road segment of the route (or is at least partially defined by them). In other words, the route state may include or indicate the traffic states of the road segments of a given trip's route.
[0047] As part of calculating multiple potential travel times 260, the distribution generator 255 is arranged to generate potential route states of route 220. Specifically, the distribution generator 255 is arranged to generate a potential route state by selecting a corresponding traffic state for each segment of route 220. The traffic state of a given segment is typically selected according to a probability distribution of the traffic state of that segment. It should be understood that a given segment may be in a particular traffic state with a particular likelihood (or probability). Such probabilities may be determined (or observed) based on historical traffic data of the segment described immediately below. The probabilities may depend on parameters (or external factors) such as: the time of day; the traffic state of adjacent (or nearby) segments; weather conditions; events (such as nearby public events) (or as a function thereof). Thus, the selection of the traffic state of a given segment can be regarded as sampling (or randomly sampling) the traffic state according to the probability (or the probability distribution).
[0048] Similarly, it should be understood that generating a route state can be regarded as sampling a route state from a probability distribution of route states of the route. When generating a route state by sampling the traffic state of each segment, it is not necessary to directly calculate or determine the probability distribution of the route state itself.
[0049] The distribution generator 255 is arranged to determine the potential travel times of the route states. Specifically, the distribution generator 255 is arranged to determine the potential travel times based on the user traffic profile 230 and the traffic states of the segments of the route state. The user traffic profile 230 (or in this instance, the driving profile) indicates (or specifies) the user's driving behavior for one or more traffic states. For example, the driving profile may specify that, in a non-restricted traffic state, the user will (or will attempt to) drive at the speed limit of the segment. Alternatively, the user driving profile may indicate that the user will (or will attempt to) not exceed a particular speed, unless in a restricted traffic state.
[0050] Thus, the distribution generator 255 is typically arranged to determine the respective passage (or transit times) of the user through each segment of the route based on the user traffic profile and the corresponding traffic states of the segments in the route state. The potential travel time can be the sum of the respective passage times.
[0051] The distribution generator 255 is typically arranged to generate multiple potential travel times 260 corresponding to multiple potential route states. Since the route states are actually sampled from a probability distribution of route states, the multiple potential travel times represent a probability distribution (or are distributed according to it).
[0052] The prediction module 265 is arranged to predict (or estimate or otherwise calculate) a travel time 290 for a user to traverse a route based on a plurality of potential travel times 260. As described above, the plurality of potential travel times 260 are distributed according to an approximate (or estimated) probability distribution of the route states that the user will encounter when traversing the route 220; 221. Thus, the predicted travel time 290 can be determined from the plurality of potential travel times 260 in a variety of different ways depending on the type (or nature) of prediction desired.
[0053] For example, the predicted travel time 290 can be (or include) any of the following:
[0054] · The modal travel time of the plurality of travel times, which indicates the most likely travel time for the user;
[0055] · The average travel time of the plurality of travel times, which indicates the central estimated travel time for the user;
[0056] · The output of the quantile function for a given probability p, which indicates the maximum travel time at a given probability (or confidence level). For example, in the case where p = 0.95, the output of the quantile function will be the maximum travel time at a 95% confidence level.
[0057] Figure 2b is a flow chart of a method 300 that can be performed by Figure 2a system 250.
[0058] At step 310, a plurality of potential travel times for a user to traverse a route are calculated. The plurality of potential travel times can be in the form of (or represented as) a travel time distribution. The travel time distribution can be or include a probability distribution of potential travel times. Similarly, the travel time distribution can be or include a cumulative distribution function of potential travel times. Each potential travel time can be represented by (or take the form of) the potential absolute time taken by the user to traverse the route. Similarly, however, it should be understood that the potential travel time can be represented by (or take the form of) an arrival time. Here, the arrival time will be the potential arrival time of the user at the destination location 284 of the route 220 starting at a predetermined start (or departure) time at the start location 282. Similarly, the potential travel time can be represented by (or take the form of) a start (or departure) time. Here, the start time will be the potential start time of the user from the start location 282 in order to traverse the route before a predetermined arrival time.
[0059] Step 310 includes sub-step 320. At sub-step 320, a potential route state of the route is generated. The potential route state is randomly generated by selecting a corresponding traffic state for each segment of the route from a variety of traffic states. The corresponding traffic state of a segment is selected based on one or more traffic state probabilities of the segment. The one or more segment probabilities may be in the form of a traffic state probability distribution of the segment. The one or more segment probabilities may depend on (or be a function of) the traffic states of neighboring segments. The one or more segment probabilities generally depend on (or are a function of) the time of day to cross the segment. The time of day to cross the segment may be determined as part of sub-step 320 based on the travel time of the segment between the start (or destination) location of the route and the segment. Step 320 generally includes calculating the travel time of a segment based on the selected traffic state of the segment and the user profile.
[0060] In the case where a segment is in an unrestricted traffic state, the travel time of the segment may be calculated (or determined) based on the user profile and one or more road attributes (or restrictions) of the segment. Examples of road restrictions include any of the following: speed limits, traffic control systems, road grades, road conditions, etc.
[0061] Step 310 includes sub-step 330. At sub-step 330, a potential travel time of the potential route state is determined. The potential travel time is generally determined based on the user's driving profile and the traffic states of the segments of the route state. In some cases, step 330 may include summing the travel times generated in step 320. In this way, steps 320 and 330 may be considered to be executed concurrently in some embodiments, where step 330 determines the travel times for the iterative process in step 320. Alternatively, step 330 may be executed after step 320 has been completed, and may include determining the travel time of each segment of the route based on the corresponding selected traffic state and the user profile.
[0062] It should be understood that sub-steps 320 and 330 are executed multiple times (usually iteratively) in order to generate multiple potential travel times. The potential travel times are generally calculated until a convergence threshold is reached. The convergence threshold may include any of the following: a predetermined number of potential travel times; a predetermined variance of multiple potential travel times. In this way, it should be understood that sub-steps 320 and 330 are generally iterated until the distribution of multiple potential travel times has reached a predefined convergence.
[0063] At step 340, a travel time for a user to traverse a route is calculated based on multiple potential travel times of the route. Step 340 may include providing the travel time as an output (or for display). The output may include a probability distribution of the potential travel times. The output may include a cumulative distribution function of the potential travel times. It should be understood that the travel time provided in step 340 may be in the form of a predicted arrival time at the destination. Additionally or alternatively, the travel time provided in step 340 may be in the form of a suggested (or required) departure time for the user based on a required arrival time. The required arrival time may have been provided by the user. Step 340 may include calculating (or otherwise determining) a confidence indication for the travel time. The confidence indication may be or include any of the following: a confidence interval; or the likelihood that the user will traverse the route within the travel time. It should be appreciated that such confidence indications may be determined from a probability distribution (such as a travel time distribution) by standard statistical methods.
[0064] It should also be understood that step 310 may be repeated for more than one route. In this way, step 340 may provide an output (such as a predicted travel time) for each route. Thus, the user will be able to select an appropriate route. For example, if the user desires certainty of arrival time, then the user may pick a route with a longer travel time but with a higher confidence indication.
[0065] Figure 3 An example of a route and the calculation of potential travel times for the route is shown.
[0066] As Figure 3 shown, route 220 has five segments. For ease of reference, these segments will be referred to as r i , where 1 ≤ 1 ≤ 5. In this example, potential route states are to be generated. Assume that the trip starts at an initial time t1. A traffic state S1 for the first segment r1 is selected. As discussed above, the traffic state is selected (or sampled) according to a probability distribution of possible traffic states for a particular segment. The probability distribution may be determined or observed for a segment based on historical trip data. In other words, the traffic state is randomly (or pseudo-randomly) selected from among multiple potential traffic states in the probability distribution. However, the random (or pseudo-random) selection follows the probability distribution such that, under the limit of a large number of such selections, the selected traffic state will reproduce the probability distribution. It should be understood that this selection may be performed directly using the probability distribution. Alternatively, the selection may be performed using the respective probabilities of each state occurring among the multiple states.
[0067] It should also be understood that the selected traffic state S1 is a restricted traffic state or a non - restricted traffic state. Thus, the selection of the traffic state may first include determining whether the traffic state is a restricted state or a non - restricted state based on the probability that the state is restricted (or non - restricted) for the section. If the state is determined to be restricted, then another calculation may be performed to determine (or select) which restricted state the section is in. This another calculation may be based on one or more restricted state probabilities or the probability distribution of the restricted states.
[0068] As described above, the probability distribution (or several probability distributions) for selecting the traffic state of a section may depend on external factors such as: the time of day; the traffic state of adjacent (or nearby) sections; weather conditions; events (such as nearby public events). For example, the probability distribution for selecting the traffic state of the first section may depend on the time of day. Thus, the probability distribution may be selected (or modified) based on the initial time t1.
[0069] In the case where the traffic state S1 of the first section r1 has been selected, the traffic states of subsequent sections are typically selected iteratively. For example, the traffic state S2 of the second section r2 may be selected (or sampled) according to the probability distribution of the possible traffic states of the second section r2. The selection of the traffic state S2 of the second section r2 may proceed in the same manner as the selection of the traffic state S1 of the first section r1. However, it should be understood that the probability distribution of the second section r2 may depend on the traffic state S1 selected for the first section r1. In other words, the traffic state S2 of the second section r2 may be related to the traffic state S1 of the first section r1. For example, if the first section r1 is in a "congested" traffic state, then the second section r2 may have an increased likelihood of being in a congested state. Specifically, for some road networks, the traffic state of a previous (or adjacent or nearby) section may completely determine the traffic state of a particular section. For example, the second section r2 may be prone to traffic jams (or "stationary traffic"). Thus, it may be the case that if the first section r1 is in a "stationary traffic" state, then the second section r2 is always in a "stationary traffic" state (because in fact it is an obstacle in the second section r2 that causes the stationary traffic in the previous section).
[0070] Similarly, the probability distribution for selecting the traffic state of the second section r2 may depend on the time of day. Thus, the time taken to cross the first section r1 under the first selected traffic state A1 may be determined based on the user profile as described above. This may then establish the time t2 at which the user will reach the second section r2. Thus, the probability distribution may be selected (or modified) based on the arrival time at the second section t2.
[0071] In a typical iterative manner, for any section r n the traffic state S nIt is selected according to the probability distribution of the possible traffic states of the n-th section. The probability distribution of the n-th section may depend on the traffic state S of the previous section r n-1 of the previous section r n-1 and / or based on the arrival time t at the start of the n-th section n . This arrival time itself is typically determined based on the user profile and the traffic state of the previous section.
[0072] Thus, the route state can be determined (or generated) as a Markov chain, where each Markov state includes the traffic state of the previous section and optionally the arrival time at the current section.
[0073] In this way, a given potential route state can be generated. The potential travel time of the potential route state is typically determined by summing the passage times of each section in the journey. As described above, in some cases, these passage times will have been generated as part of generating the route state. In other cases, the passage time of each section can be calculated based on the selected traffic state of the section and the user profile after the route state has been generated.
[0074] It should be understood that the iterative method for generating the route state and thus the above-mentioned potential travel time can be implemented in reverse. Specifically, the chain can be generated backwards along the route and in time from the destination location B.
[0075] For example, the traffic state S5 can be selected for the last section r5 at the proposed arrival time t6. The passage time for the user to cross section r5 will then be determined in the normal way, however, this will be subtracted from the arrival time t6 to obtain the arrival time t5 at the end of the penultimate section r4. Then, the traffic state S4 of the penultimate section r4 can be selected using the appropriate probability distribution of time t4 and optionally the traffic state S5 of the adjacent section. In a typical iterative manner, the traffic state S of any section r n of any section r n is selected according to the probability distribution of the possible traffic states of the n-th section. The probability distribution of the n-th section may depend on the traffic state S of the previous section r n+1 of the previous section r n+1 and / or based on the arrival time t at the end of the n-th section n+1 .
[0076] As described above, by generating multiple route states and thus multiple potential travel times in this way, the multiple travel times can form a travel time distribution. Then additional route states and corresponding travel times are typically generated until a suitable convergence of the travel time distribution is achieved. Suitable convergence can be defined as meeting a convergence threshold. The convergence threshold can be any one or more of the following: a predetermined number of potential travel times; a predetermined variance of the multiple potential travel times.
[0077] In fact, the method of the present invention allows for generating a user-specific travel time distribution for a given route. This can be done even when a particular user has never traveled along any of the segments of the route. Specifically, the general traffic state distribution known for each segment, typically derived from an entire user population, is sampled together with the particular user profile, enabling the generation of a user-specific travel time distribution rather than a general population travel time distribution.
[0078] It should be understood that a suitable traffic state probability distribution for use in conjunction with the above-described systems and methods can be derived (or calculated) using data obtained from known traffic monitoring systems. Such traffic monitoring systems can include various sensors (e.g., mobile or pressure sensors) located on or near the road surface. The sensors are arranged to detect the presence or movement of vehicles. In this way, various properties of the traffic flow (e.g., speed, rate, density, etc.) can be determined. The traffic flow can then be classified into one or more traffic states. The traffic state probability distribution can then be calculated based on the occurrence of the traffic state for a particular segment. As discussed above, the traffic state probability distribution can depend on external factors (or parameters), such as: the time of day; the traffic state of adjacent (or nearby) segments; weather conditions; events (e.g., nearby public events). Thus, separate traffic state probability distributions can be calculated for different values of such parameters. Additionally or alternatively, the traffic state probability distribution can be parameterized based on one or more of these parameters such that the traffic state probability distribution is a function of one or more parameters.
[0079] It should be understood that instead of or in addition to such fixed-position sensor data, detection data from the vehicles themselves within the traffic flow can also be used to determine the traffic state probability distribution.
[0080] Figure 4 Illustrates a plurality of navigation clients 420 (positions indicated by dashed arrows) located within network 210. Although Figure 4 Three such clients 420 are illustrated, but it should be understood that this is merely an example number of clients 420, i.e., the number, identification, and location of clients 420 can change over time. Each client 420 can be transported within network 210 by a corresponding client carrier 422 (e.g., an automobile, truck, motorcycle, or other vehicle or person, etc.). The client 420 is responsible for generating detection data and providing the detection data to the navigation data processing system 440. The nature of the detection data will be described shortly. The detection data can be provided by the client 420 to the navigation data processing system 440 via one or more communication networks (e.g., Figure 4 the network 430 illustrated in).
[0081] The client 420 can be implemented as software and / or hardware. For example, some clients 420 can be navigation applications executed on a portable device (e.g., a mobile phone); some clients 420 can be dedicated navigation assistance devices (e.g., satellite navigation devices), etc.
[0082] The probe data generated by the client 420 typically contains location information (such as GNSS information including latitude, longitude, and altitude) indicating the geographical location of the client 420 and the time associated with the geographical location. The probe data may contain additional information, such as one or more of the following: an identifier of the client 420; the traveling speed of the client 420; an indication of the vehicle type (or the type of the corresponding client carrier 422), etc.
[0083] The nature of the client 420 and the probe data generated and provided by it are well-known and thus will not be described in detail herein. The client 420 may be implemented in software and / or hardware.
[0084] The navigation data processing system 440 includes: a probe data acquisition system 441; a probe data database 442; a map matching system 443; a map data database 444; and a tracking database 445. The navigation data processing system 440 and its components may be implemented in software and / or hardware, such as in one or more computer programs executed on one or more computer systems 100.
[0085] The probe data acquisition system 441 is responsible for obtaining or acquiring the probe data that has been generated and provided by the client 420 (e.g., via the network 430). The probe data acquisition system 441 may store the probe data in the probe data database 442 (e.g., as part of a record associated with the identifier of the specific client 420 that provided the probe data).
[0086] The map data database 444 stores map data. The map data may be in one or more forms or formats, may be of one or more corresponding types, and may be suitable for one or more corresponding purposes. For example, the map data may include data providing a model or representation of the geospatial reality for a part of the geographical area containing the network 210. Such map data may represent stationary features relevant to a vehicle navigation system (such as road infrastructure features of a road network). The map data may include data related to each of the navigable elements of the network 210 (e.g., the positioning of the start and / or end nodes / locations of the navigable elements; the lane data of the navigable elements; the allowed driving directions and / or speed data of the navigable elements, etc.). Such map data is well-known and thus will not be described in detail herein.
[0087] The map matching system 443 is arranged to receive the detection data obtained from the client 420 from the detection data acquisition system 441, and is arranged to identify the navigable element (and possibly the distance traveled along the identified navigable element) where the client 420 is currently located / traveling based on the map data stored in the map data database 444 and the geographical location indicated by the detection data. Similarly, the client 420 may also be arranged to identify the navigable element where the client 420 is currently located / traveling, for example, to display the position of the vehicle 422 to the user - although the detection data may indicate / identify the navigable element determined by the client 420, the detection data typically alternatively includes more raw / unprocessed data, such as data indicating latitude, longitude, and possibly altitude. Thus, in the example of a road, the map matching system 443 may determine which road (or road segment) the client 420 within the vehicle 422 is traveling along (at the time indicated by the detection data). The map matching system 443 may then store or update a "trace" in the trace database 445. The trace represents a chronological sequence of navigable elements that form the itinerary of the client 420 - if there is no current trace of the client 420, then the new trace of the client 420 (identifying the just-identified navigable element and the associated time from the detection data) may be stored in the trace database 445 to represent the current itinerary; if there is a current trace of the client 420 stored in the trace database 445, then the map matching system 443 may update the trace 420 in the trace database 445 (such that the just-identified navigable element and the associated time from the detection data are identified in the sequence of navigable elements that form the current itinerary of the client 420). The trace may include additional data that may have been obtained from or based on the detection data, such as the traveling speed and type of the client carrier 422.
[0088] The method by which the map matching system 443 can identify the navigable element corresponding to the detection data and by which the map matching system 443 can store and update the trace in the trace database 445 is well known and thus will not be described in detail herein. Over time, many traces of the client 420 may be stored in the trace database 445 (representing different itineraries made by the client 420). Similarly, over time, many traces of different clients 420 may be stored in the trace database 445.
[0089] Thus, in summary, as the client 420 moves around within the network 210 of navigable elements, the client 420 generates probe data and provides it to the navigation data processing system 440. The probe data can be stored by the navigation data processing system 440 (e.g., in the probe data database 442) and processed to identify the current navigable element in which the client 420 is located / traveling. Based on this, a trace (representing the current trip of the client 420) can be stored or updated in the trace database 445.
[0090] Such cumulative probe data or traces of several different clients 420 can effectively sample (or represent) the traffic flow in a given geographical area (or road network 210). Since the probe data (or traces) are typically time-stamped, the sampled traffic flow can be correlated with various external parameters (such as weather conditions, time of day, events, etc.). In this way, it should be understood that the probability distributions of various traffic states of the road segments in the network can be determined based on the probe data (or traces). This can be done in the same way as the distribution can be calculated using the fixed sensor data described above.
[0091] Thus, the navigation data processing system 440 can include a traffic state probability module 446. The traffic state probability module is generally arranged to determine one or more traffic state probability distributions 450 of the road segments of the road network 210. The traffic state probability distribution is generated based on one or more of the probe data and traces of multiple clients 420. The traffic state probability model can also use map data to generate the traffic state probability distribution 450. It should be understood that the traffic state probability module 446 can implement (or use) one or more heuristic models to generate the traffic state probability distribution 450. The traffic state probability module 446 can implement (or use) one or more machine learning methods to generate the traffic state probability distribution 450. For example, clustering techniques (such as k-means clustering) can be used to identify the traffic state and its probability of the probe data corresponding to a given road segment.
[0092] A user traffic profile (or driving profile) of a given user can be determined based on the probe data or traces generated (or collected) by the user's client 420. Specifically, it should be understood that the driving behavior of the user can be classified. The driving behavior of the user can depend on the traffic state and / or one or more road attributes. The user profile can specify the typical (or average or target) speed of the user for the values of one or more road segment attributes. Road segment attributes can be considered to describe (or encode or otherwise indicate) the real-world characteristics of the road segment. Such attributes include any of the following: vehicle restrictions of the road segment; speed limits of the road segment; functional road class of the road segment; width of the road segment; slope of the road segment (e.g., maximum slope); turning radius of the road segment (e.g., maximum or minimum turning radius); centerline (or trajectory) of the road, etc. Examples of functional road classes include: arterial roads, collector roads, and local roads.
[0093] In this way, the user profile can characterize the driving behavior of the user according to the user's typical driving manner on different road segments. For example, the user profile can identify the user as a fast driver who typically drives at or above the speed limit on narrow and winding roads. Similarly, the user profiles of different users can indicate that the user is a cautious driver because he typically drives at a speed that is a certain amount below the speed limit on such roads.
[0094] The user profile can also include an indication of the user's vehicle or traffic pattern. In this way, the user profile can indicate the maximum possible speed that can be achieved due to the vehicle's traffic pattern. This maximum speed can depend on one or more road attributes. For example, a truck on a highway (or freeway) may be subject to a specific speed limit that other vehicles are not.
[0095] Figure 5 Show an example output of the system and method of the present invention.
[0096] In Figure 5 , two potential routes 220; 221 plotted on an electronic map are shown. In this simulation, the user is a truck driver who has selected a latest arrival time of 13:00 on September 8, 2018. The color code below the latest arrival time (presented as grayscale in the figure) illustrates the likelihood of arrival, where blue (dark gray) may arrive in time and red (light gray) may be too late. The predicted travel times are shown for a departure time of 07:00 and possible arrival times, with confidence intervals (i.e., between 12:40 and 13:10). Also shown are the probability distributions 520; 521 of the first and second routes respectively and the cumulative distributions 530; 531 of the travel times of the first and second routes respectively.
[0097] In this way, the system allows the user to depart at the best time using the best route to reach their destination at the desired time. Since the travel time is generated using the user's own driving profile, the travel time provides an accuracy that the user could not otherwise obtain. In prior art systems, for this user who is a cautious driver driving a truck, the travel time would be severely underestimated.
[0098] It should be understood that the described method has been shown as individual steps performed in a specific order. However, those skilled in the art should understand that these steps can be combined or performed in a different order while still achieving the desired result.
[0099] It should be understood that embodiments of the present invention can be implemented using a variety of different information processing systems. Specifically, although the figures and the discussion provide exemplary computing systems and methods, these are presented only to provide a useful reference when discussing various aspects of the present invention. Embodiments of the present invention can be implemented on any suitable data processing device, such as a personal computer, laptop computer, personal digital assistant, mobile phone, set-top box, television, server computer, etc. Of course, for the purpose of discussion, the description of the system and method has been simplified, and it is only one of many different types of systems and methods that can be used for embodiments of the present invention. It should be understood that the boundaries between the logic blocks are illustrative only, and alternative embodiments may combine the logic blocks or elements, or impose alternative decompositions of functionality on various logic blocks or elements.
[0100] It should be understood that the above functionality can be implemented as one or more corresponding modules as hardware and / or software. For example, the above functionality can be implemented as one or more software components for execution by a processor of the system. Alternatively, the above functionality can be implemented as hardware on, for example, one or more field programmable gate arrays (FPGAs) and / or one or more application specific integrated circuits (ASICs) and / or one or more digital signal processors (DSPs) and / or other hardware arrangements. The method steps implemented in the flowcharts contained herein or described above can each be implemented by a corresponding respective module; the method steps implemented in the flowcharts contained herein or described above can be implemented together by a single module.
[0101] It should be understood that as long as embodiments of the present invention are implemented by a computer program, then the storage medium and the transmission medium carrying the computer program form aspects of the present invention. The computer program can have one or more program instructions or program codes that, when executed by a computer, implement embodiments of the present invention. As used herein, the term "program" can be a sequence of instructions designed to be executed on a computer system and can include subroutines, functions, programs, modules, object methods, object implementations, executable applications, applets, servlets, source code, object code, shared libraries, dynamic link libraries, and / or other sequences of instructions designed to be executed on a computer system. The storage medium can be a disk (such as a hard disk drive or a floppy disk), an optical disk (such as a CD-ROM, DVD-ROM, or Blu-ray disc), or a memory (such as ROM, RAM, EEPROM, EPROM, flash memory, or a portable / removable memory device), etc. The transmission medium can be a communication signal, a data broadcast, a communication link between two or more computers, etc.
Claims
1. A method for predicting a user's travel time across a route, wherein the route includes a plurality of road segments, the method comprising: Calculating a plurality of potential travel times for the route, the calculating comprising, for each potential travel time of the plurality of potential travel times: randomly generating a corresponding route state of the route, wherein the route state includes a corresponding traffic state of the segment selected from a plurality of traffic states for each segment of the route, and determining the potential travel time for the route state, wherein the potential travel time is based on a driving profile of the user and the traffic conditions of the road segment of the corresponding route state; The travel time for a user to traverse the route is predicted based on the plurality of potential travel times for the route. 2 . The method according to claim 1 , wherein the plurality of route states include one or more non-restricted traffic states and one or more restricted traffic states. The method according to claim 2 , wherein the one or more restrictive traffic conditions are any of the following: congested traffic or synchronized traffic. 4 . The method of claim 2 , wherein the determining is based at least in part on a corresponding road restriction of at least one of the road segments being a road restriction under an unrestricted traffic state. 5 . The method of claim 4 , wherein the road restriction is any of: a speed limit, a traffic control system, a road grade, or a road condition.
6. A method according to any preceding claim, wherein the predicting step comprises calculating an indication of confidence in the travel time for a user to traverse the route.
7. The method of claim 6, wherein the confidence indication is any of: a confidence interval; or the likelihood of said user traversing said route within said travel time.
8. The method according to any one of claims 1 to 5, wherein the generating comprises, for each segment of potential route states, selecting the corresponding traffic state of the segment from the plurality of traffic states based on a traffic state probability associated with the segment. 9 . The method of claim 8 , wherein the traffic state probability associated with at least one road segment depends at least on the traffic state of another road segment of the potential route state.
10. The method of claim 8, wherein the traffic state associated with at least one road segment depends on at least one of: the predicted time of day for traversing the segment; forecast weather conditions for the route; or Known events associated with the road segment.
11. The method of any one of claims 1 to 5, wherein the driving profile of the user comprises any of: the user's traffic pattern; the user's vehicle; or the user's driver behavior.
12. The method of any one of claims 1 to 5, wherein potential travel times are calculated until a convergence threshold is reached.
13. The method of claim 12, wherein the convergence threshold comprises any of: a convergence criterion for the distribution of the plurality of potential travel times; a predetermined number of potential travel times; or a predetermined variance of the plurality of potential travel times.
14. Apparatus arranged to carry out the method according to any one of claims 1 to 13.
15. A computer readable medium storing a computer program which, when executed by a computer processor, causes the computer to carry out the method according to any one of claims 1 to 13.