HERE Route Matching v8 continuously computes routes while the vehicle is travelling, to update the ETA. After the initial route planning, call the router again, for example, every few minutes, providing the GPS trace, to get an updated ETA.
Activate this feature by &routeMatch=2 and put the trace into the POST body.
Basic Scenario
Vehicle keeps sending its planned route + its GPS trace so far.
The service responds with an updated ETA.
Driven for 3 hours
Route Matching confirms no rest taken
No via point reached or skipped
No rest sequences learned or matching along this path/time
Route from current location to the destination
Consider truck restrictions, real time traffic + traffic patterns
Consider legal driver rest times
Consider driver is already in service for 3 hours
Go through all via points to the destination
Consider (and optimize for) the country truck bans, rest during truck bans, rest on ferries …
ETA Predition Levels
Figure 1. Level 1 : Predicting ETA based on traffic/incidents/constructionFigure 2. Level 2 : Predicting ETA based on truck restrictions & night/weekend truck bans, combine wait times (for bans, on ferries...) and driver restFigure 3. Level 3 : Predicting ETA based on rests so farFigure 4. Level 4 : Level 4 : Predicting ETA based on learnt rest patterns
Breaks & rest times taken in reality
Country regulations enforce periodical breaks & rests
After hours driven or in service
Short breaks and nightly rests
In reality, drivers take earlier/different and longer rest times
At their favorite truck stops or restaurants
At their logistics company hubs
Unload or load freight (partial truck load jobs)
Change drivers, trailers ...
Sometimes not directly along the planned route
They may have special situations
2 drivers, swapping instead of resting
Special permissions or restrictions/rules of the logistics company
For the ETA it is important to learn/predict the real rest times/locations
Route Matching can automatically learn real rest behavior
Customers can choose the learning granularity
Per start+destination and/or per arrival time slot, or per driver, truck, weekday ...
Driver took break/rest
Route Matching detects legally applicable rest(s) taken
Checks whether this rest location/duration is prefix of a learned sequence
If not, then route from current location to the destination...
Consider legal driver rest times, driving time used until next legal rest, remaining via points ... If prefix of (one of the) learned stop sequences
If currently resting then plan the learned remaining rest time right here
Switch off legal driver rest times
Instead plan intermediate stops with the learned rest locations/times
Driver took another break/rest (or not)
Route Matching detects that the taken rest location/time doesn‘t fit to a learned sequence (anymore)
Or another learned sequence now fits better
Or detects that the next expected (from learning) rest didn‘t happen
If no other learned stop sequences match the behavior so far
Then continue like „no learned sequences available“
Driver met or skipped a via point
Route Matching detects which of the planned via points have already been taken or skipped
By comparing the actually driven path with the planned route
Route using only the remaining via points
From current position
No change on learning or rest time behavior
Driver has switched off tracking device
Often drivers activate the tracking very late
minutes or hours after start, or after resuming from rest
Often drivers switch off tracking during a rest
Sometimes drivers switch off tracking for a while
Due to netowrk coverage gaps, roaming/cost issues, empty battery, privacy concern..
Route Matching tries to bridge such gaps
For missing pieces at the start assume one of the learned rest sequences have taken place
For gaps during driving figure out whether it was just a rest, just driving, or a mix
Can met/skipped via points still be detected?
If possible then continue on the best matching learned stop sequence
Arrival
Driver (or shipper) confirms arrival
Route Matching analyzes the drive trace & actual rest sequence taken
If (despite gaps at start/intermediate/end) the rest sequence can be used for learning
Then check similarity to an existing learned stop sequence, if match
then increase likelihood for this stop sequence for the future
And adjust the location/duration/time along route for the existing learned sequence from the new observation
This incremental learning automatically adjusts obsolete or outlier observations over time (self adjusting, self healing)
If no match then learn it as a new sequence
Likelihood to apply learned stop sequences depends on number of observations
Likelihood also means: At the start of a journey Route Matching assumes the stop sequence with the most observations ...
... until actual stops (or expected stops not taken) make Route Matching reconsider the best applicable sequence