US20150300827A1 - Telematics using personal mobile devices - Google Patents

Telematics using personal mobile devices Download PDF

Info

Publication number
US20150300827A1
US20150300827A1 US14/647,638 US201314647638A US2015300827A1 US 20150300827 A1 US20150300827 A1 US 20150300827A1 US 201314647638 A US201314647638 A US 201314647638A US 2015300827 A1 US2015300827 A1 US 2015300827A1
Authority
US
United States
Prior art keywords
path
segment
segments
measurements
traversal
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US14/647,638
Inventor
Paresh Govind Malalur
Hari Balakrishnan
Samuel Ross Madden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambridge Mobile Telematics Inc
Original Assignee
Cambridge Mobile Telematics Inc
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 Cambridge Mobile Telematics Inc filed Critical Cambridge Mobile Telematics Inc
Priority to US14/647,638 priority Critical patent/US20150300827A1/en
Publication of US20150300827A1 publication Critical patent/US20150300827A1/en
Abandoned legal-status Critical Current

Links

Images

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/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/08Insurance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

An approach to telematics using mobile devices provides battery-efficient trajectory and mileage inference from inaccurate and intermittent location data. Accurate trajectories of how users or vehicles move in the physical world are formed by processing raw position estimates obtained from noisy, inaccurate, and error-prone position sensors on mobile devices, where the position data may also arrive intermittently with long time gaps. The trajectory is formed using the process of map matching, which determines the trajectory on a map that best explains the sequence of position observations.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the priority of U.S. application Ser. No. 13/687,479, filed on Nov. 28, 2012. The contents of the application are hereby incorporated by reference in its entirety.
  • BACKGROUND
  • This invention relates to telematics, and more particularly to the use of personal mobile devices for such telematics.
  • Telematics includes the use of a combination of one or more of computing, communication, positioning systems, and sensor technologies for vehicle monitoring and navigation tasks. An important requirement in many telematics applications is to determine the trajectory (path) taken by a vehicle on a road network, a task referred to as “map matching”. To aid map matching, a digitized model of a road network is represented as interconnected road segments, and some positioning technology located in the vehicle is used to obtain approximate positions as a function of time. In most current approaches, positioning information is obtained using a Global Positioning System (GPS) receiver in the vehicle. This location information has inherent uncertainty, and may also suffer from outages in certain areas of the world, such as around tall buildings, in “urban canyons”, or inside tunnels. However, when combined with the model of the road network, and in some cases with a model of a vehicle's motion on the road network, an estimate of the trajectory of the vehicle on the road network can be computed. Another aspect of telematics is determining the velocity and acceleration of a vehicle as a function of time. A common approach is to use GPS for this purpose, using the GPS receiver's velocity estimates (computed after some smoothing) and computing its time-derivative to estimate acceleration, or even computing time-derivatives of GPS positions to estimate the velocity and acceleration of the vehicle. Another approach is to use embedded sensor-equipped hardware such as a MEMS accelerometer mounted in a known position and orientation to obtain this information (either using sensors on the hardware or from the vehicle's internal sensors).
  • To cope with the uncertainty in position estimates, one approach to map matching is to use a Hidden Markov Model (HMM). HMM approaches make use of a prior model in which a vehicle's path through a road network is assumed to obey a Markov (memoryless) process, and the position observations made at successive times are assumed to conditionally independent of the road segment the vehicle was on at that time point. Each position observation yields a probability distribution of a vehicle's location on the road network given only that measurement, and the task is to determine the hidden states (in this case, the road segments along the path) of the Markov process that best explain the uncertain position observations. HMM techniques, such as the Viterbi Algorithm, provide a way to perform inference on this Markovian probability model to determine the most likely path by taking into account the observations at previous time-steps, the inferred vehicle partial paths and prior beliefs on these vehicle paths. By computing scores for various paths between observations, an HMM produces a trajectory. This method has been applied to GPS data in Krumm et al., “Map Matching with Travel Time Constraints,” SAE World Congress, 2007, and to GPS as well 802.11-radio-based position data by Thiagarajan et al., “VTrack: Accurate, Energy-aware Road Traffic Delay Estimation using Mobile Phones”, SenSys 2009. These are incorporated herein by reference.
  • It is well known that GPS location may be difficult to acquire or is inaccurate in some locations, for example, in so-called urban canyons in locations near tall buildings, as well as inside tunnels. As an alternative, approaches have been developed that use mapped locations of wireless local area network (802.11, also known as “WiFi”) transmitters (e.g., access points) to provide estimates of a location of a receiver. However, such WiFi-based location estimates may have high error as well, typically between 50 meters and 500 meters. In addition, WiFi access point transmitters could have moved or gone offline since the original mapping was done, increasing and error and uncertainty in the position estimate. An alternative to WiFi position data is cellular position data, which is based on mapped locations of cellular base stations. Such position estimates can have errors between several hundred meters and up to 4 or 5 kilometers from the true position because of the longer range of cellular radios.
  • An approach to use HMM techniques to process WiFi position data are described in Thiagarajan et al., “VTrack: Accurate, Energy-aware Road Traffic Delay Estimation using Mobile Phones”, SenSys 2009. An approach to use HMM techniques with cellular position data is described in Thiagarajan et al., “Accurate, Low-Energy Trajectory Mapping for Mobile Devices”, 8th USENIX Symp. on Networked Systems Design and Implementation (NSDI), 2011. These are incorporated herein by reference.
  • On personal communication devices such as smartphones and mobile phones, telematics implemented with frequent GPS sampling results in unacceptably short battery life, because the GPS chips performing the sampling often consume significant power. Overcoming this shortcoming to enable energy-efficient telematics on personal mobile devices requires new methods.
  • SUMMARY
  • In one aspect, an approach to energy-efficient telematics using mobile devices includes a combination of one or more of the following features.
  • One feature is accurate, battery-efficient trajectory and mileage inference from inaccurate and intermittent location data. Accurate trajectories of how users or vehicles move in the physical world are formed by processing raw position estimates obtained from noisy, inaccurate, and error-prone position sensors on mobile devices, where the position data may also arrive intermittently with long time gaps. The trajectory is formed using the process of map matching, which determines the trajectory on a map that best explains the sequence of position observations. The raw position estimates may come from a combination of cellular radios with an accuracy of only a few kilometers or several hundred meters, shorter-range radios like 802.11 (WiFi) with an accuracy of a few tens to a few hundreds of meters, or by sampling of a GPS receiver on the mobile device. GPS may also be highly inaccurate or unavailable in urban canyons. A noteworthy feature is that even highly infrequent GPS or no GPS information can be handled. The advantage of these position sensors, instead of GPS, is energy-efficiency, which is a particularly desirable property on battery-operated devices. For example, measurements conducted on Apple's iPhone4 hardware using a mobile telematics application show that continuous GPS monitoring during a drive reduces the overall battery lifetime of the device by a factor of 10 compared to a solution that uses cellular and WiFi radios. Similar measurements on various devices running the Android operating system show gains between a factor of 7 and 10. Similarly, infrequent and occasional use of the GPS consumes far less battery power compared to continuous GPS monitoring (e.g. GPS every 1-10 seconds). Hence, an energy-efficient telematics solution on personal communication devices should sample GPS infrequently, if at all, and rely instead on energy-efficient position sensors (whose data may have higher inherent error).
  • Accurate map matching from inaccurate and intermittent location data has applications in insurance telematics, travel-delay information services and traffic-aware navigation, driver behavior monitoring, road surface quality monitoring, determining hazardous driving conditions, and several other location-based services. In insurance telematics, the user's driving behavior such as the trajectories (locations) traveled and mileage at various times may be used to assess driver risk and set prices (or provide rebates). Map matching provides the required telematics information for this purpose. In this application, map matching need not occur in “real time” during a drive, but may be done after the drive has ended.
  • Map matching using inaccurate position data from low-energy sensors is well-suited for use with mobile devices such as smartphones, where battery consumption issues are a significant problem. Accordingly, the use of noisy, but battery-efficient location sensors such as cellular radios and WiFi may be used instead of periodic or continuous GPS sampling, saving significant energy and improving battery life. With accurate map-matching, the extreme inaccuracies in trajectory mapping caused by the lack of continuous GPS can be overcome, providing accurate telematics information.
  • Another feature is to approach the map-matching problem as a set of consecutive overlapping path computations. This approach uses the intuition that if we are traversing through a sequence of “locales” A-B-C-D, then there is a high likelihood of an overlap of the likely trajectories from A to C and from B to D. The overlapping trajectory approach does not rely on a Markovian assumption on the data that characterizes many prior art approaches, which generally apply Hidden Markov Models (HMMs) or similar probabilistic models. Each observation is not necessarily processed sequentially. Instead observations are processes in non-disjoint groups. Trajectory scores for paths in the road network corresponding to a set of not necessarily successive observations are determined independently of the observations. Then, fitness scores for paths are computed based on how well they match intermediate position observations (for example, the fitness score of a path may be calculated by taking the squared sum of the distance of each original observation from the path, weighted by the accuracy of the observation sample). Finally, these scores are combined to produce the final score for a path. Different paths are ranked according to this score to produce the final most-likely trajectory.
  • Yet another feature is an inference algorithm, which finds the most likely trajectory under the overlapping trajectory constraints in a feasible, scalable manner. The Viterbi algorithm used to solve traditional HMMs is not appropriate because it depends on the Markovian assumption, which does not hold due to the processing of observations in groups. The inference method is able to map-match correctly in a wide range of scenarios, including (but not limited to): (1) drives local to a small region with a potentially high density of observations, all the way to drives that span multiple states or countries over a few thousand kilometers (2) drives spanning regions of highly varying road densities from dense urban settings as in cities to sparse unpopulated regions, and (3) drives with highly variable density of position observations (in space and in time).
  • Yet another feature is an approach to fast map matching using fast graph search. Generally, when location data is both inaccurate and very intermittent (gaps of hundreds of km), one needs to explore many paths because several potential paths exist in the road network. An approach to fast map matching includes use of clusters of consistent observations, and using pre-computation of paths and costs between locations in a road network to form trajectory estimates between the intermittent measurements.
  • Another feature of telematics using personal mobile devices is the accurate inference of vehicular acceleration and velocity with commodity personal mobile devices. Commodity mobile devices such as smartphones often come equipped with three-axis accelerometers. Producing accurate longitudinal acceleration (in the direction of the vehicle's movement), lateral acceleration (perpendicular to the direction of movement), vertical acceleration (perpendicular to the surface of the road), and velocity is a desirable feature. The challenge lies in accurately processing information from the sensors on a personal mobile device, particularly when the device may be placed arbitrarily or oriented arbitrarily in a moving vehicle (or carried by a moving user), and when the orientation and position may change arbitrarily. This feature of the invention does not require assuming that the device is in a fixed or known orientation. It also does not require a prior process of calibrating the device to correct for drifts and errors in the raw acceleration data. The feature also does not require human intervention to notify it of times when the device has been moved relative to the moving user or vehicle. The feature can include the capability to handle a vehicle or user traversing slopes and hills of different unknown grades as well as variations in temperature that cause further errors in acceleration data. In some examples, longitudinal acceleration samples are integrated to produce accurate velocity estimates, even in the face of the inherent errors in the raw data. In some examples, any available GPS-based velocity samples are integrated into the acceleration output produced.
  • By processing three-axis accelerometer data principally, instead of GPS exclusively, to infer vehicular acceleration (longitudinal, lateral, and vertical) and velocity, two significant benefits are gained. First, because the velocity reported by GPS devices are smoothed estimates, the resulting acceleration computations usually miss sudden changes in acceleration caused by events like hard braking or forward movement. Second, GPS significantly drains the battery on mobile phones, unlike the three-axis accelerometer, which consumes much less energy. Accordingly, examples of this feature can include accurately obtaining acceleration and velocity information from mobile phones, capturing sudden changes in acceleration while significantly reducing the battery impact compared to continually sampling GPS.
  • Yet another feature is a method for integrating map matching with acceleration and speed estimation. Processing acceleration, gyroscope, and compass data to identify periods of rest, low speed, and turns produces useful input to map matching. Conversely, knowledge from the map-matcher about the road type, speed limits, and other properties of the trajectory is useful input to accelerometer processing. For example, map matching produces information about turns in the trajectory. After the turns are observed, the approach determines the time when those turns occurred from acceleration information, which allows map matching to refine its estimate of where and when the turn occurred. As a second example, knowledge of the trajectory and road network may be combined with altitude information to make corrections to the inferred acceleration and velocity.
  • In another aspect, in general, a method for map-based telematics includes acquiring data representing a sequence of position-related measurements O1, . . . Ot of a device traveling along segments s of a transportation network. Data representing the position measurements is processed to form a sequence of segment sets S0, . . . , SD, each segment set being associated with a set of one or more position measurements in the sequence of position measurements. A computer-implemented path forming procedure is applied to form a path set between the segment sets (S0, SD) including determining a plurality of subsequences
    Figure US20150300827A1-20151022-P00001
    of the sequence S0, . . . , Sp and forming paths through the determined subsequences. Data representation of a characteristic of the traversal of the device based on the formed path set is then provided.
  • Aspect can include one or more of the following features.
  • Determining the plurality of subsequences
    Figure US20150300827A1-20151022-P00001
    comprises determining substantially all subsequences of the sequence S1, . . . SD-1.
  • Applying a computer-implemented path forming procedure to form the path set representing a traversal of the transportation network between a pair of segment sets (S0, SD) further includes determining a path set between segments in segment set Si and segments in segment set Sj, applying the path forming procedure to form a first intermediate path set representing traversal of the network between an intermediate pair of segments (Si′, Sj′), where i≦i′<j′≦j; and determining the path set at least in part according to the formed first intermediate path set.
  • Applying the path forming procedure for the pair of segments (Si, Sj) further includes selecting a kth segment set Sk that is intermediate the ith and jth segment sets such that i<k<j, and wherein the first intermediate path set represents traversal between either segment sets (Si, Sk) or (Sk, Si).
  • Applying the path forming procedure for the pair of segments (Si,Sj) further includes applying the path forming procedure to form a second intermediate path set representing traversal of the network over between an intermediate pair of segment sets (Si, Sk) or (Sk, Si), and wherein determining the path set is according to the formed first intermediate path set and the formed second intermediate path set.
  • Selecting a kth segment set Sk includes comparing a plurality of the segment sets with the path set between segments in segment set Si segments in segment set Sj.
  • The comparing of the segment sets with the path includes determining a degree of consistency of the path with each of the segment sets, and selecting a segment set with a least consistency.
  • The path forming procedure applied to a pair of segment sets (Sa, Sb) forms a path set consisting of a single best path representing a path between a segment of Sa and a segment of Sb.
  • The path forming procedure applied to a pair of segment sets (Sa, Sb) forms a path set comprising a plurality of best paths each best path representing a path between a pair of segments (sa,sb) in the corresponding pair of segment sets (Sa,Sb).
  • At least one of the segment sets is associated with more than one of the position-related measurements.
  • The method further includes grouping the position-related measurements, and forming each segment set according to a corresponding one of the groups of measurements.
  • Providing the data representation of the characteristic of the traversal of the device comprises providing data representing a path of the traversal of the device through the transportation network.
  • Providing the data representation of the characteristic of the traversal of the device comprises providing data representing a distance of a path in the formed path set and a velocity characteristic of a traversal of a path in the formed path set.
  • Providing the data representation of the characteristic of the traversal of the device comprises providing driver risk data, for instance, directly or indirectly to an insurance provider.
  • The path set between segments in segment set Si and segments in segment set consists of a single best path between a segment of Si and a segment of Sj.
  • Determining a best path between a segment of Si a segment of Sj includes determining an overall score for the path by applying a precomputed map-based score for traversal of the network between pairs of segments of segment sets Si and Sj.
  • Determining a best path between a segment of Si a segment of Sj further includes applying measurement data acquired during travel of the device along the network in determining the overall score for the path.
  • The measurement data comprises at least some of the position-related measurements.
  • The method further includes acquiring sensor measurement data at the device during the travel of the device, and the measurement data applied in determining the overall score for a path includes at least some of the sensor measurement data.
  • The sensor measurement data comprises inertial measurement data.
  • The sensor measurement data comprises acoustic measurement data.
  • The position-related measurements comprise positioning system measurements.
  • The positioning system measurements comprise satellite positioning system measurements.
  • The position-related measurements comprise measurements based on radio transmissions between the device and stationary transmitters.
  • The radio transmissions between the device and stationary transmitters comprise cellular telephone transmissions between the device and cellular telephone base stations.
  • The radio transmissions between the device and stationary transmitters comprise transmissions from known wireless local area network stations to the device.
  • The method further includes causing acquisition of further position-related measurements according to a result of the path forming procedure.
  • The method further includes selecting whether to cause the acquisition according to a cost of the acquisition.
  • The cost of the acquisition comprises a power consumption cost.
  • The device comprises a personal communication device.
  • The personal communication device travels within a vehicle along a road transportation network.
  • Other features and advantages of the invention are apparent from the following description, and from the claims.
  • DESCRIPTION OF DRAWINGS
  • FIG. 1 is a schematic of the system context for telematics using personal mobile devices.
  • FIG. 2 is a block diagram of a smartphone implementation.
  • FIG. 3 depicts an example of a road map.
  • FIG. 4 is pseudocode for a dynamic programming implementation.
  • DESCRIPTION
  • Referring to FIG. 1, an embodiment of a telematics system is described below in the context of use of a personal mobile device 110, such as a smartphone, that travels in a vehicle 120, to determine characteristics of a vehicle's trip though a road network, and in particular, to track the vehicle's path, mileage, velocity, and acceleration profile through the road network. In this embodiment, the smartphone is not necessarily rigidly attached to the vehicle frame of reference; for example, the smartphone may be in the pocket of a driver or passenger in the vehicle, and may be moved from time to time, changing its placement and orientation. However, it should be understood that in other embodiments, other devices, which may be fixed or embedded in a vehicle, could be used in similar ways. In addition, the techniques may be applied to other tasks, for example, tracking other forms of transportation such as bicycling, bus travel, train travel, pedestrian walking, running, etc.
  • Referring to FIG. 2, the mobile device 110 is also assumed to have at least one position measurement capability, for instance, using a local communication system 240 that sends and/or receives wireless signals with a fixed communication system 140 (see FIG. 1) such as cellular position estimation using a cellular radio, and/or a WiFi receiver for WiFi position estimation, and/or a positioning system 230 which sends and/or receives position information with a positioning system reference 130 (see FIG. 1) such as via a Global Positioning System (GPS) receiver. The mobile device also optionally has inertial sensors 260, for example, a three-axis accelerometer or a 6-degree-of-freedom (DOF) inertial measurement system (three-axis accelerometer and a gyroscope) fixed to the smartphone's frame of reference. Even though such inertial sensors are not fixed to the vehicle, they can nevertheless provide useful information about the vehicle's motion. The mobile device optionally has and makes use of yet other sensors 262, such as a compass, as well as a microphone, which may provide some information about the vehicle, for example, based on engine noise. The device 110 also includes a processor and storage 270, which in some embodiments performs various computations described below.
  • In this embodiment, the mobile device is assumed to have a data communication capability such that it can communicate its sensor data to a server computer 150 (see FIG. 1) from time to time. As described later in this document, this capability is not essential in that at least some embodiments may be autonomous without requiring the capability to transmit data to a remote server. From time to time, the mobile device using its wireless networking capability, or by other means, delivers the sensor data logged to a server, which processes the sensor data (position observations, acceleration data, and other sensor data) to estimate telematics information, specifically, the trajectory on the road network, the mileage for the trip, portion of a trip, or collection of trips, the velocity along the roads traversed, the longitudinal (in the direction of principal movement) and lateral (perpendicular to the direction of principal movement) acceleration (or deceleration), turns during the drive, and other such telematics factors. It is possible for this method to run on the mobile device, as well as being partitioned between the mobile device and the server, in different embodiments.
  • The smartphone collects observations via the positioning system 230 and/or the communication system 240 as it travels through the road network. Generally, these observations provide information about the smartphone's (and therefore the vehicle's) location. Generally, this location information is imperfect in that there is an uncertainty in the vehicle's location given the measurement. For instance, the input data is represented as a sequence of <timestamp, position, accuracy>tuples with optional accuracy metrics reported for each position observation. In some embodiments, the observations are optionally augmented with other time-indexed sensor information as well as. We denote this sequence of observations by

  • ObsSequence=<<t 1 ,P 1 ,acc i >,<t 2 ,P 2 ,acc 2 >, . . . ,<t N ,P N ,acc x >>=<O 1 ,O 2 , . . . ,O N>.
  • Note that these position observations may be separated by significant amounts of time, for example, tens of seconds, minutes, tens of minutes, or even hours for certain types of travel.
  • Referring to FIG. 3, the road network is represented in the form of a graph of road segments and adjacencies. For instance, the road network is represented as a set of interconnected segments. For the sake of exposition, these segments are assumed to link intersections in the road network, but it should be understood that smaller segments could be used in practice. A trajectory through the road network is then represented as a sequence of interconnected road segments.
  • One aspect of a number of embodiments described below is that the observation sequence <O1, . . . , ON> corresponding to N observation times is used to form a sequence of D+1 feasible sets of segments, <S0, . . . , SD>. Each feasible set Si has one or more segments in the road network. For illustration, three successive feasible sets <Si,Sj,Sk> are indicated, with the member road segments indicated by heavy lines in the road network. For example, saεSi is a segment in feasible set Si. These sets of feasible segments are then considered in determining a path traveled through the road network. Generally, each feasible set of segments corresponds to a number of consecutive observations, for example, relatively consistent observations, and the segments in the feasible set are those segments that have some likelihood of being a segment occupied by the vehicle at the time of the observations.
  • Some paths though the road network pass through each feasible set in order. For example, a path from segment saεSi to segment scεSk may pass through an intermediate segment in Sj. A number of the embodiments described below permit inferred paths to skip at least some of the feasible sets. As illustrated in FIG. 3, a direct path from sa to sc can omit all the segments of the intermediate set Sj. One reason to permit skipping of a feasible set is that it represents an “outlier” of observations that are not valid (e.g., for which the estimated position and accuracy are not consistent with the vehicle's true path).
  • A number of different implementations the path inference task use the feasible sets as described above. Very generally, an inferred path of a vehicle is associated with a “best path” through the road network that passes through a selected subsequence (i.e., subset) of the feasible sets and that fits to observation sequence well.
  • The approaches to trajectory inference can be implemented as a set of overlapping shortest-path computations between a sequence of sets, where each set is a set of feasible road segments. We first describe an approach to use infrequent and potentially noisy position observations in estimating a vehicle's path, followed by a description of use of other sensors in estimating the path or determining when to make such measurements. The method processes multiple observations at each stage of the method, rather than treating each observation independently and in sequence.
  • The principal steps (procedures) used in the method are:
      • a. FindFeasibleSets (ObsSequence): This procedure returns a sequence
        Figure US20150300827A1-20151022-P00002
        S0, S1, . . . , SD
        Figure US20150300827A1-20151022-P00003
        where each Si is the feasible set of road segments that are induced by one or more of the input position observations. After computing the sequence of feasible sets of segments, the method calls the second procedure, Traverse.
      • b. Traverse (S0, *, SD): This procedure returns the most-likely trajectory by processing the sequence of feasible sets
        Figure US20150300827A1-20151022-P00002
        S0, S1, . . . , SD
        Figure US20150300827A1-20151022-P00003
        , the original position observations ObsSequence, and the road network. The sequence of feasible sets induces a large number of potential paths between an origin set (S0) and destination set (SD) in the road network.
      •  In general, Traverse (S,
        Figure US20150300827A1-20151022-P00001
        ,S′) takes three arguments: the first argument, S, is a set of feasible segments, the last argument, S′, is another set of feasible segments, and the middle argument,
        Figure US20150300827A1-20151022-P00001
        , is a list of feasible sets, which constitutes a restriction of the set of paths that will be considered between the first and third arguments. When the restriction is the null set, /C, paths between S and S′ will be considered without regard to any intervening feasible segments; when the restriction is some non-null set
        Figure US20150300827A1-20151022-P00001
        , paths between S and S′ that go through some segment in each feasible set in
        Figure US20150300827A1-20151022-P00001
        are considered in the computation; when the restriction set is *, the desired paths are computed over all possible values of
        Figure US20150300827A1-20151022-P00001
        .
  • In more detail, FindFeasibleSets
    Figure US20150300827A1-20151022-P00002
    (O1, O2, . . . , ON
    Figure US20150300827A1-20151022-P00003
    ) takes in the N observed points and uses factors such as the rough geographic location of the observation, reported accuracy, timestamps and time difference between the observations in ObsSequence, proximity to other observations in distance, road type and characteristics such as the speed limits, whether the vehicle has stopped or not, etc. to produce its output. This output is a sequence of sets, <S0, S1, . . . , SD>, where each Si is a set of road segments. In general, the number of such sets will be different from the number of original position observations. Thus, FindFeasibleSets determines the possible states corresponding to the input observations. When operating on the scale of road networks of large geographic areas such as states or countries, it can be infeasible to include all road segments in the network as the feasible set corresponding to any given sequence of input position observations. Even using a simple metric like all segments within a certain radius of the data point (in prior art, such a radius is chosen to be some function of the perceived range of a position observation), the state space can become too large for scalable inference especially in the case of observations from cellular towers obtained in regions with high road density. FindFeasibleSets instead computes a better feasible set of states.
  • Note that, in general, the number of elements in the sequence of feasible sets will be smaller than the number of position observations in the input (N). The reason is that FindFeasibleSets does not process each input position observation independently, but in totality. For example, if some of these input observations occur closely spaced in time or space, they are processed as a unit.
  • The feasible set could preferentially include a greater number of segments along certain road types (e.g., freeways or state routes) compared to other types of roads, capturing a modeling assumption on the prior behavior of typical users, specifically to capture the types of trajectories taken by typical drivers.
  • In more detail, Traverse takes information about the distance, time, road type, turn information from gyroscope, compass, accelerometers, or other sensors, stop information from accelerometer or other sensors, prior model of driver behavior (bias toward freeway or city streets in different situations), penalty for loops and back-tracking (importantly, even across non-successive observations) to compute, for each path, a traversal score. Without loss of generality, a higher score implies a more likely traversed path over a set of contiguous segments that connects a starting segment in Si and an ending segment in Si.
  • Then, Traverse(Si, *, Sj) further considers other ranges between sets Si and Sj, and repeats Traverse(Si′, . . . , Sj′) for various values of i′ and j′, where both and j′ are in the range [i, j]. The scores for the various sub-ranges are combined using the various factors above and additionally using the overlapping-trajectory bias ensuring that paths where j′≦i′ (i.e., where i,j′ overlaps with i′,j), and are high scoring paths on Traverse(i, . . . , j′) and Traverse(i′, . . . , j), are more likely to have a higher score on Traverse(i, . . . , j) compared to other paths.
  • In one embodiment, Traverse(i, . . . , j) is computed using dynamic programming; in general it can be computed using any other method for considering various sub-ranges of [i,j]. Additionally, the recursive splitting of Traverse(i, . . . , j) could be performed only when there is strong evidence that the paths being considered at the level of set Si to set Sj are sub-optimal. For example, one could divide using whether the observations fall overwhelmingly on one side of the computed path spatially; if they do, one would use the last k between i and j where the points were relatively balanced, and then run Traverse(i, . . . , k) and Traverse(k, . . . , j).
  • In the embodiment using dynamic programming, the computation in Traverse has the following structure:
  • Traverse ( S 0 , * , S D ) = BEST ( 0 D - W i D Concatenate [ Traverse ( S 0 , * , S i ) , Traverse ( S i , Ø , S D ) ] )
  • Here, W is an adaptively set window size that is described later. As specified in the structure above, Traverse(S0, *, Si) may be recursively computed by successively computing and scoring Traverse over smaller portions. Each step of Traverse has two sub-steps: one recursive call to Traverse over a smaller sequence of feasible sets, and one “direct” call to Traverse that involves no restrictions. The recursion's base case is a call to traverse with two neighboring feasible sets, i.e., Traverse(Si, *, Si+1), which is equivalent to Traverse(Si,Ø,Si+1).
  • Traverse(Si, *, Sj) produces an output

  • M ij ={M ijab,∀(a,b) :s a εS i AND s b εs j} where M ijab=(T ijab ,Z ijab ,R ijab),T ijab
  • is the most likely trajectory (represented as a sequence, or explicitly or implicitly ordered set), or set of likely trajectories, for traversing from sa to sb, Zijab is the corresponding combined score for that trajectory given the observations <O1, O2, . . . , ON>, and Rijab is the corresponding restriction set used to obtain the likely trajectories.
  • Note that if i+1=j, then we have a base case where Rijab=Ø. When invoking Traverse with a pre-determined restriction set R′ by calling Traverse(Si, *, Sj), Rijab=R′ for all (a,b). Effectively, the restriction set enforces that the probability of a trajectory Tijab from sa to sb is 0 if Tijab has no overlapping segment with R′.
  • JON takes the output of two traverse computations and merges the results together. Given Mijab and Milbc, the merging process produces Milac as follows:
  • Tilac=Tijab CONCATENATE Tjlbc.
  • Rilac=Rijab UNION Rjlbc UNION S1.
  • Zilac=MergeScore(Mijab, Mjlbc).
  • The function MergeScore computes the score of joining the two trajectories together. In addition to combining the scores Tijab and Tjlbc, this also adds in an overlap score, which favors paths where b is in one of the likely trajectory sets from a to c.
  • BEST takes a set of computed joins and reduces the size of this set to keep the set of likely trajectories. When there are multiple trajectories Tilac the arising from different joins along j, BEST keeps the highest scoring trajectory after the MergeScore step. Additionally, when the highest score to a particular state t reduces to a “highly improbable” level compared to the computed scores to other states in St, then the BEST function optimizes computation for the future steps by eliminating the extremely low probability states entirely.
  • The “direct” call to Traverse, Traverse(Si, C/, Sj), takes each segment in set Si and each segment in set Sj. Then, for each segment in Sj, it computes the best combined score over all paths starting from some segment in Si. It maintains the [path, combined score] tuple for at least one path (in general, one could maintain the top k combined-score paths for some value of k). It is important to note that the combined score computed in the Traverse(Si, C/, Sj) computation for each segment in Sj is the score corresponding to paths from the origin feasible set, Si. That is, this computation starts by considering the best combined score for each segment in Si already computed, in computing the best combined score for each segment in Sj.
  • In one embodiment, Traverse achieves the dynamic programming using an adaptive window size, W (1≦W≦D), where D is the index of the destination feasible set in the sequence of feasible sets. For now, assume W is a constant value, such as 5; this document describes methods to select W later. In general, larger values of W result in more computation but also produce more accurate results.
  • In this embodiment, Traverse starts by computing Traverse(S0, C/, SW); this is done by considering paths in the road network as explained in the “direct” Traverse computation above. Then, the algorithm computes Traverse(S0, C/, Sj) for j=1, 2, . . . , W−1, or for j ranging in some subset of 1, 2, . . . , W−1.
  • Next, the algorithm slides the window forward by 1 to compute Traverse(S1, *, SW+1) in analogous fashion. This step computes the best scores corresponding to Traverse(S1, C/, Sj+1) for j=1, 2, . . . , W−1, or some subset of that. At this time, the procedure has enough information to immediately also compute Traverse(S0, S1, SW); i.e., the best combined scores for all paths between some segment in S0 to SW that traverses some segment in S1 with no other restrictions.
  • As the procedure progresses, combined scores with additional restrictions are computed. Specifically, in the next iteration, stepping the window forward by 1 computes Traverse(S2, *, SW+2). This computation initially computes Traverse(S2, C/, SW+2), which provides information to go back and enter the combined scores for Traverse(S0, {S2}, SW) and Traverse(S0, {S1, S2}, SW), as well as for Traverse(S1, {S2},SW+1).
  • Continuing these steps, the procedure is able to compute Traverse(S0, X, SW) for several subsets X of {1, 2, . . . , W} (in one embodiment, for all subsets). It is advantageous that the time taken for this computation is quadratic in W, not exponential in W, making it efficient even when all subsets X are considered.
  • One advantage of this procedure is that one does not need to explicitly eliminate outliers in the input data. Each feasible set is considered somewhat suspect and uncertain, and the combined score is computed for paths across all combinations of restrictions on the feasible sets. The best score among these is returned. If certain sets are outliers, they are eliminated naturally, with no explicit rules forcing their elimination.
  • There are several other ways of computing Traverse over different restrictions. For example, to save computation time, an embodiment may compute only some of the restrictions.
  • Path Score Computation:
  • The path score computation takes information about the distance, time, road type, turn information from gyroscope, compass, accelerometers, or other sensors, stop information from accelerometer or other sensors, prior model of driver behavior (bias toward freeway or city streets in different situations), penalty for loops and back-tracking (importantly, even across non-successive observations). Without loss of generality, a higher score implies a more likely traversed path over a set of contiguous segments that connects a starting segment in Si and an ending segment in Sj.
  • Fitness Score Computation:
  • The fitness score computation takes a path and a set of observations and returns a measure of how well the given points explain the path. This computation takes into account the positions and accuracies of the observations and their relative positions, the type of observation (WiFi, cell tower or GPS) density of roads, and the trajectory itself in order to produce the score. Without loss of generality, a higher fitness score implies that the given observations fit the trajectory with higher likelihood.
  • Combined Score Computation:
  • The combined score computes the path score and the fitness score and combines them together to obtain a score that trades off accuracy (via fitness) for simplicity of the path (path score). If one were to follow a non-driver-like trajectory, more observations would be needed to explain this additional complexity and bring down the error.
  • Adaptive Window Sizing in Traverse:
  • To determine if the window for a feasible set Si includes Sj, we take into account the positions and accuracies of the distance between segments in the feasible sets, the availability of pre-computed paths between the between the feasible sets, the time between the observations, the density of observations and the skew produced by paths from Si to Sj on the observations. The skew encodes the intuition that it is unlikely that a significant fraction observations error on the same side of the path.
  • Traverse requires many shortest path computations (where the “distance” of a path could be traversed distance, travel time of segment, or any other metric). To speed that process up, a cache of paths is beneficial. This cache may be completely pre-computed, or may be computed on-demand and then maintained for future requests to benefit from. The cache stores a set of pre-computed paths emanating out of a given segment (or, technically, the “grid” within the road network to which each segment belongs). In some embodiments, the cache may also store some components of the traversal scores, including expected travel times, turn angles, and so on. These components are combined at run time with dynamic components of the traversal score such as the prior set of visited segments.
  • The pre-computed set of paths corresponding to any given segment may also depend on a prior belief on typical driving patterns; in general, it is also informed by past drives. Specifically, the road type, the typical speed, the density of roads, the nature of past observations made near that location (observations in clusters means we can store fewer segments, in principle), are all used to compute cached paths.
  • It should be understood that there are a number of different implementations that infer a best (or set of best) paths through the road network based on the approach described above. A dynamic programming approach that is consistent with this approach can be represented is the pseudocode shown in FIG. 4.
  • In the above, PruneSpace takes into account the partial state of the dynamic program to prune away possible segments from the feasible sets which are guaranteed to not be on a high scoring path from the source to the destination. This method takes into account number of partial high scoring paths to that segment, the penalty incurred by adding in Si as a restriction set, the current highest relative score of the segment, etc in order to filter out those segments that are not useful. For example if |M0,i,*,a=0, then we can prune out sa from Si for our future calculations because we have no paths from 0 to i. Also, if we have a computed path T0 jac, then we can prune out segments sb from Si where 0<i<j and where the fitness score induced by the restriction of sb is worse than that of the trajectory T0 jac. Here, we are encoding the intuition that T0 jac is already a high-likelihood path and that adding in a restriction Si would not improve the net traversal score. Hence, the only time we would add in a restriction Si is if the net gain from the fitness score has a potential to out-weigh this loss in traversal score.
  • GetWindowSize takes into account factors like location, time and accuracy of observations and the corresponding feasible sets to determine the appropriate window size. One embodiment takes into account the “skew” of observations, which chooses the largest window size such that the number of observations on left side of the straight line joining the two end points of the window is within some fraction of those lying on the right side. Another embodiment ensures that the window is the smallest possible window such that the first few feasible sets have a null intersection with the last few feasible sets.
  • Another implementation makes use of a recursive “splitting” approach in which
    Figure US20150300827A1-20151022-P00001
    , a list of feasible sets is initially empty and in each of a series of iterations, a feasible set is added to or taken away from
    Figure US20150300827A1-20151022-P00001
    . For example, a set Si may be added if the current best paths pass through at least one segment of Si, and a set Sj may be removed from
    Figure US20150300827A1-20151022-P00001
    if the current best paths are not particularly consistent with that set.
  • In some embodiments, other sensors (accelerometer, gyroscope, compass, and/or microphone) are used for inferring a vehicle's path between location measurements. In some examples, such inference is based on estimating the vehicle's forward velocity as well as rate for turn, while compensating for the unknown orientation of the smartphone. This information is combined with the map information to track possible locations for the vehicle. A feature of these embodiments is that trajectory mapping can augment the position measurements with sensors on the mobile device to add evidence to determine the path between measurements and/or to determine when such measurements are to be made. Infrequent measurements reduce power consumption and increase the device's battery lifetime. Determining when such measurements are made can make the best use of the available power to make the measurements when they can be expected to provide the most useful information.
  • In some embodiments, a decision to make a position measurement may be informed (e.g., triggered or avoided) by processing inertial or other sensor data. For example, if the inertial sensors indicate the vehicle has just turned, it may be beneficial to acquire a position estimate immediately, to determine the new road the vehicle has turned on to. As another example, if no new WiFi or Cellular position estimates have been seen for some distance, or time, a new GPS fix may be acquired to reduce algorithmic uncertainty about the location of the vehicle.
  • The decision about when to acquire a position reading can additionally be constrained by a total energy budget. Specifically, on current smartphones and mobile devices, the energy cost of acquiring a GPS fix can be quite high. Given a target number of GPS readings per day, G, and an expected number of driving hours H per day for a given user, the method limits itself to acquiring no more than GI(H*60) GPS samples per minute.
  • The value of G is estimated via a periodic probing process, whereby the battery level on the smartphone is continuously monitored for a short time period (ranging from minutes to hours) while the GPS is continuously samples at a high rate. If p percent of the battery is drained in this time period, and g gps samples are acquired, and the goal is to use no more than P percent of the battery per day, then G=P/(p/g).
  • To account for the fact that acquiring a GPS sample after the GPS has been off for some time uses more energy than continuously acquiring GPS, the method scales the value p by a factor f to obtain G=P/(p*f/g). The factor f may be estimated experimentally or by referring to the specifications of the GPS chipset used in the smartphone.
  • To estimate the number of hours of driving H a user performs per day, the method uses historical information about the user's behavior. Since a user's driving habits may change over time, H is adaptively estimated over time. Specifically, given that the user has driven (t1, . . . tn) minutes on each of the last n days where t1 is the time driven on the current day, H=a1t1+ . . . +antn, where ai is a weighting factor over the current day. Because H may vary on different days of the week, the method separately computes a H value for each day of the week, estimating H for day d using only historical drive data from day d. H values may also be estimated using an exponentially weighted moving average, to avoid keeping the entire historical vector of drive times. In the absence of historical driving information, a reasonable estimate of H, such as 2 hours, may be used.
  • The decomposition of functionality between the mobile device and server can be achieved in several different ways. Specifically, the process of matching position estimates to a map may be performed on the server, to avoid having to store map data on each mobile phone and facilitate the sharing of cache files across many drives and devices. However, in other examples, all processing may be done on the phone, to avoid any communication between the smartphone and the server. In a third example, to reduce the amount of data transmitted to the server, this processing of inertial data to estimate the speed and heading of vehicle may be done on the phone, and this data, along with position estimates may be transmitted to the server to perform matching of drive data to a map.
  • In one embodiment, for battery-efficiency, position observations are not sent to the server for processing (in the embodiment where the server does the processing) as soon as the observation is measured, but instead several observations are gathered over some period of time and then sent in one batch. Doing so allows the communication radio (WiFi or cellular) to be turned off rather than remain on continuously, saving energy. Moreover, because using the cellular radio (3G, 4G, or LTE, for example) may count against the user's data plan, such batching may also be used to wait until WiFi connectivity is available to the mobile device, at which time the collected position and other sensor observations may be transmitted to the server.
  • Implementations of the approaches described above may use software that includes instructions stored on non-transitory computer-readable media. The instructions are used to control operation of a data processor (e.g., a computer, a virtual machine) to perform some or all of the functions described above. For examples, such instructions control operation of a processor in a smartphone and/or operation of a server computer in communication with the smartphone. In some implementations, the instructions a smartphone are provided (e.g., as a “app”) over a wireless network for installation on the smartphone.
  • It is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention, which is defined by the scope of the appended claims. Other embodiments are within the scope of the following claims.

Claims (30)

What is claimed is:
1. A method for map-based telematics comprising:
acquiring data representing a sequence of position-related measurements O1, . . . , Ot of a device traveling along segments s of a transportation network;
processing data representing the position measurements to form a sequence of segment sets S0, . . . , SD, each segment set being associated with a set of one or more position measurements in the sequence of position measurements; and
applying a computer-implemented path forming procedure to form a path set between the segment sets (s0, Sp) including determining a plurality of subsequences of the sequence S0, . . . , SD and forming paths through the determined subsequences; and
providing data representation of a characteristic of the traversal of the device based on the formed path set.
2. The method of claim 1 wherein determining the plurality of subsequences comprises determining substantially all subsequences of the sequence S1, . . . SD−1.
3. The method of claim 1 wherein applying a computer-implemented path forming procedure to form the path set representing a traversal of the transportation network between a pair of segment sets (S0, SD) further includes:
determining a path set between segments in segment set Si and segments in segment set Sj,
applying the path forming procedure to form a first intermediate path set representing traversal of the network between an intermediate pair of segments (Si′, Sj′), where i≦i′<j′≦j; and
determining the path set at least in part according to the formed first intermediate path set.
4. The method of claim 3 wherein applying the path forming procedure for the pair of segments (Si, Sj) further includes selecting a kth segment set Sk that is intermediate to the ith and jth segment sets such that i<k<j, and wherein the first intermediate path set represents traversal between either segment sets (Si, Sk) or (Sk,Si)
5. The method of claim 4 wherein applying the path forming procedure for the pair of segments (Si, Sj) further includes applying the path forming procedure to form a second intermediate path set representing traversal of the network over between an intermediate pair of segment sets (Si, Sk) or (Sk, Si), and wherein determining the path set is according to the formed first intermediate path set and the formed second intermediate path set.
6. The method of claim 1 wherein the path forming procedure applied to a pair of segment sets (Sa,Sb) forms a path set consisting of a single best path representing a path between a segment of Sa and a segment of Sb.
7. The method of claim 1 wherein the path forming procedure applied to a pair of segment sets (Sa,Sb) forms a path set comprising a plurality of best paths each best path representing a path between a pair of segments (sa, sb) in the corresponding pair of segment sets (Sa,Sb).
8. The method of claim 1 wherein at least one of the segment sets is associated with more than one of the position-related measurements.
9. The method of claim 8 further comprising grouping the position-related measurements, and forming each segment set according to a corresponding one of the groups of measurements.
10. The method of claim 1 wherein providing the data representation of the characteristic of the traversal of the device comprises providing data representing a path of the traversal of the device through the transportation network.
11. The method of claim 1 wherein providing the data representation of the characteristic of the traversal of the device comprises providing data representing a distance of a path in the formed path set and a velocity characteristic of a traversal of a path in the formed path set.
12. The method of claim 1 wherein providing the data representation of the characteristic of the traversal of the device comprises providing driver risk data to an insurance provider.
13. The method of claim 1 wherein the path set between segments in segment set Si segments in segment set Sj consists of a single best path between a segment of Si and a segment of Sj.
14. The method of claim 10 wherein determining a best path between a segment of Si and a segment of Sj includes determining an overall score for the path by applying a precomputed map-based score for traversal of the network between pairs of segments of segment sets Si and Sj.
15. The method of claim 14 determining a best path between a segment of Si and a segment of Sj further includes applying measurement data acquired during travel of the device along the network in determining the overall score for the path.
16. The method of claim 15 wherein the measurement data comprises at least some of the position-related measurements.
17. The method of claim 15 wherein the method further comprises acquiring sensor measurement data at the device during the travel of the device, and the measurement data applied in determining the overall score for a path includes at least some of the sensor measurement data.
18. The method of claim 17 wherein the sensor measurement data comprises inertial measurement data.
19. The method of claim 17 wherein the sensor measurement data comprises acoustic measurement data.
20. The method of claim 1 wherein the position-related measurements comprise positioning system measurements.
21. The method of claim 20 wherein the positioning system measurements comprise satellite positioning system measurements.
22. The method of claim 1 wherein the position-related measurements comprise measurements based on radio transmissions between the device and stationary transmitters.
23. The method of claim 22 wherein the radio transmissions between the device and stationary transmitters comprise cellular telephone transmissions between the device and cellular telephone base stations.
24. The method of claim 22 wherein the radio transmissions between the device and stationary transmitters comprise transmissions from known wireless local area network stations to the device.
25. The method of claim 1 further comprising causing acquisition of further position-related measurements according to a result of the path forming procedure.
26. The method of claim 24 further comprising selecting whether to cause the acquisition according to a cost of the acquisition.
27. The method of claim 26 wherein the cost of the acquisition comprises a power consumption cost.
28. The method of claim 1 wherein the device comprises a personal communication device.
29. The method of claim 28 wherein the personal communication device travels within a vehicle along a road transportation network.
30. Software stored on a non-transitory computer-readable medium comprising instructions for causing a data processing system to:
acquire data representing a sequence of position-related measurements O1, . . . , Ot of a device traveling along segments s of a transportation network;
process data representing the position measurements to form a sequence of segment sets S0, . . . , SD, each segment set being associated with a set of one or more position measurements in the sequence of position measurements; and
apply a path forming procedure to form a path set between the segment sets (S0, SD) including determining a plurality of subsequences of the sequence S0, . . . , SD and forming paths through the determined subsequences; and
provide data representation of a characteristic of the traversal of the device based on the formed path set.
US14/647,638 2012-11-28 2013-06-04 Telematics using personal mobile devices Abandoned US20150300827A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/647,638 US20150300827A1 (en) 2012-11-28 2013-06-04 Telematics using personal mobile devices

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/687,479 US8457880B1 (en) 2012-11-28 2012-11-28 Telematics using personal mobile devices
US14/647,638 US20150300827A1 (en) 2012-11-28 2013-06-04 Telematics using personal mobile devices
PCT/US2013/043993 WO2014084901A1 (en) 2012-11-28 2013-06-04 Method and computer software for telematics providing battery efficient|trajectoryand mileage inference

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/687,479 Continuation US8457880B1 (en) 2012-11-28 2012-11-28 Telematics using personal mobile devices

Publications (1)

Publication Number Publication Date
US20150300827A1 true US20150300827A1 (en) 2015-10-22

Family

ID=48484365

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/687,479 Active US8457880B1 (en) 2012-11-28 2012-11-28 Telematics using personal mobile devices
US14/647,638 Abandoned US20150300827A1 (en) 2012-11-28 2013-06-04 Telematics using personal mobile devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/687,479 Active US8457880B1 (en) 2012-11-28 2012-11-28 Telematics using personal mobile devices

Country Status (3)

Country Link
US (2) US8457880B1 (en)
WO (1) WO2014084901A1 (en)
ZA (1) ZA201504596B (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170138737A1 (en) * 2015-11-17 2017-05-18 Truemotion, Inc. Methods and systems for combining sensor data to measure vehicle movement
US9888364B2 (en) * 2016-06-17 2018-02-06 Lightmetrics Technologies Pvt. Ltd. Localizing a smartphone in a moving vehicle
US20180051985A1 (en) * 2016-08-18 2018-02-22 Myriad Sensors, Inc. Wireless sensor device and software system for measuring linear position of a rotating object
US10026131B1 (en) * 2015-10-07 2018-07-17 State Farm Mutual Automobile Insurance Company Systems and methods for estimating vehicle speed and hence driving behavior using accelerometer data during periods of intermittent GPS
US10415984B2 (en) * 2017-12-29 2019-09-17 Uber Technologies, Inc. Measuring the accuracy of map matched trajectories
US20190370746A1 (en) * 2018-06-05 2019-12-05 Signal Ocean Ltd Carrier path prediction based on dynamic input data
US10533862B1 (en) * 2018-11-28 2020-01-14 Uber Technologies, Inc. Biasing map matched trajectories based on planned route information
WO2022015871A1 (en) * 2020-07-14 2022-01-20 Cambridge Mobile Telematics Inc. Methods and systems of predicting total loss events
WO2022087163A1 (en) * 2020-10-21 2022-04-28 Cambridge Mobile Telematics Inc. Method and system for vehicle crash prediction using multi-vehicle data
US20220163348A1 (en) * 2019-02-13 2022-05-26 Goertek Inc. Positioning method and electronic device
US11493346B2 (en) 2016-12-20 2022-11-08 Here Global B.V. Apparatus and associated methods for determining the location of a vehicle

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916625B2 (en) 2012-02-02 2018-03-13 Progressive Casualty Insurance Company Mobile insurance platform system
US9123152B1 (en) 2012-05-07 2015-09-01 Google Inc. Map reports from vehicles in the field
WO2014097009A1 (en) 2012-12-21 2014-06-26 ABRAMSON, Lance A method of determining the attendance of an individual at a location and a system therefor
US9228836B2 (en) 2013-03-15 2016-01-05 Cambridge Mobile Telematics Inference of vehicular trajectory characteristics with personal mobile devices
US9053516B2 (en) * 2013-07-15 2015-06-09 Jeffrey Stempora Risk assessment using portable devices
US20150045983A1 (en) * 2013-08-07 2015-02-12 DriveFactor Methods, Systems and Devices for Obtaining and Utilizing Vehicle Telematics Data
US20160360697A1 (en) * 2013-09-03 2016-12-15 Agco Corporation System and method for automatically changing machine control state
CN104515527B (en) * 2013-09-27 2018-03-09 上海置微信息科技有限公司 A kind of anti-rough error Combinated navigation method under no gps signal environment
JP5857310B2 (en) * 2013-09-30 2016-02-10 株式会社フジミインコーポレーテッド Polishing composition and method for producing the same
US9536353B2 (en) 2013-10-03 2017-01-03 Honda Motor Co., Ltd. System and method for dynamic in-vehicle virtual reality
US9547173B2 (en) 2013-10-03 2017-01-17 Honda Motor Co., Ltd. System and method for dynamic in-vehicle virtual reality
US9715764B2 (en) 2013-10-03 2017-07-25 Honda Motor Co., Ltd. System and method for dynamic in-vehicle virtual reality
US9630631B2 (en) 2013-10-03 2017-04-25 Honda Motor Co., Ltd. System and method for dynamic in-vehicle virtual reality
JP6007929B2 (en) * 2014-02-24 2016-10-19 トヨタ自動車株式会社 Movement support device, movement support method, and driving support system
US10466056B2 (en) 2014-04-25 2019-11-05 Samsung Electronics Co., Ltd. Trajectory matching using ambient signals
PL3138081T3 (en) 2014-04-29 2020-11-02 Discovery Limited A system and method for obtaining vehicle telematics data
CN104613974B (en) * 2014-05-08 2017-08-25 腾讯科技(深圳)有限公司 Navigation time acquisition methods, system, air navigation aid and device
US9360322B2 (en) 2014-05-15 2016-06-07 State Farm Mutual Automobile Insurance Company System and method for separating ambient gravitational acceleration from a moving three-axis accelerometer data
US10304138B2 (en) 2014-05-15 2019-05-28 State Farm Mutual Automobile Insurance Company System and method for identifying primary and secondary movement using spectral domain analysis
US9786103B2 (en) 2014-05-15 2017-10-10 State Farm Mutual Automobile Insurance Company System and method for determining driving patterns using telematics data
US10019762B2 (en) * 2014-05-15 2018-07-10 State Farm Mutual Automobile Insurance Company System and method for identifying idling times of a vehicle using accelerometer data
US10373259B1 (en) 2014-05-20 2019-08-06 State Farm Mutual Automobile Insurance Company Fully autonomous vehicle insurance pricing
US9972054B1 (en) 2014-05-20 2018-05-15 State Farm Mutual Automobile Insurance Company Accident fault determination for autonomous vehicles
US11669090B2 (en) 2014-05-20 2023-06-06 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US10599155B1 (en) 2014-05-20 2020-03-24 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US10185997B1 (en) 2014-05-20 2019-01-22 State Farm Mutual Automobile Insurance Company Accident fault determination for autonomous vehicles
US20160012401A1 (en) * 2014-07-08 2016-01-14 Navico Holding As Methods for Discovering and Purchasing Content for Marine Electronics Device
US10387962B1 (en) 2014-07-21 2019-08-20 State Farm Mutual Automobile Insurance Company Methods of reconstructing an accident scene using telematics data
CN105528359B (en) 2014-09-29 2019-05-07 国际商业机器公司 For storing the method and system of travel track
US20160097861A1 (en) * 2014-10-01 2016-04-07 Illinois Institute Of Technology Method and apparatus for location determination
US9944282B1 (en) 2014-11-13 2018-04-17 State Farm Mutual Automobile Insurance Company Autonomous vehicle automatic parking
US11449843B1 (en) * 2015-01-16 2022-09-20 Allstate Insurance Company Using vehicle telematics to compensate drivers for increases in fuel prices
KR102398320B1 (en) 2015-08-07 2022-05-16 삼성전자주식회사 Method for providing route information and an electronic device thereof
US11107365B1 (en) 2015-08-28 2021-08-31 State Farm Mutual Automobile Insurance Company Vehicular driver evaluation
US9848301B2 (en) 2015-11-20 2017-12-19 At&T Intellectual Property I, L.P. Facilitation of mobile device geolocation
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US11719545B2 (en) 2016-01-22 2023-08-08 Hyundai Motor Company Autonomous vehicle component damage and salvage assessment
US10824145B1 (en) 2016-01-22 2020-11-03 State Farm Mutual Automobile Insurance Company Autonomous vehicle component maintenance and repair
US10395332B1 (en) 2016-01-22 2019-08-27 State Farm Mutual Automobile Insurance Company Coordinated autonomous vehicle automatic area scanning
US11242051B1 (en) 2016-01-22 2022-02-08 State Farm Mutual Automobile Insurance Company Autonomous vehicle action communications
US11441916B1 (en) 2016-01-22 2022-09-13 State Farm Mutual Automobile Insurance Company Autonomous vehicle trip routing
US10324463B1 (en) 2016-01-22 2019-06-18 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation adjustment based upon route
US9940834B1 (en) 2016-01-22 2018-04-10 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
CA3015320C (en) * 2016-02-22 2023-11-21 Tracker Connect (Pty) Limited Road monitoring method and system
US20190122457A1 (en) 2016-04-01 2019-04-25 Apostolos Nikolaidis Method and system to deliver telematics solutions
US9998876B2 (en) 2016-07-27 2018-06-12 At&T Intellectual Property I, L.P. Inferring user equipment location data based on sector transition
US10149116B1 (en) 2017-01-27 2018-12-04 Allstate Insurance Company Early notification of driving status to a mobile device
US11646113B2 (en) * 2017-04-24 2023-05-09 Biosense Webster (Israel) Ltd. Systems and methods for determining magnetic location of wireless tools
US9900747B1 (en) 2017-05-16 2018-02-20 Cambridge Mobile Telematics, Inc. Using telematics data to identify a type of a trip
CN109425341B (en) * 2017-08-22 2022-09-27 富士通株式会社 Positioning method, positioning device and electronic equipment
US10246037B1 (en) 2018-07-16 2019-04-02 Cambridge Mobile Telematics Inc. Vehicle telematics of vehicle crashes
AU2019337091A1 (en) 2018-09-04 2021-03-11 Cambridge Mobile Telematics Inc. Systems and methods for classifying driver behavior
FR3090148B1 (en) 2018-12-18 2021-04-23 Roofstreet MULTIMODAL MAPPING PROCESS BASED ON HUMAN REPETITIVE BEHAVIOR
JP2022531689A (en) 2019-05-06 2022-07-08 ケンブリッジ モバイル テレマティクス,インク. Driver's Cell Phone Distraction Determination, Scoring, and Reporting
US10759441B1 (en) * 2019-05-06 2020-09-01 Cambridge Mobile Telematics Inc. Determining, scoring, and reporting mobile phone distraction of a driver
US10672249B1 (en) * 2019-05-06 2020-06-02 Cambridge Mobile Telematics Inc. Determining, scoring, and reporting mobile phone distraction of a driver
GB2618843A (en) * 2022-05-20 2023-11-22 Appy Risk Tech Limited A method and system for generating a vehicle mileage

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001238480A1 (en) * 2000-02-15 2001-08-27 Prolink, Inc. Map-matching golf navigation system
US6560532B2 (en) * 2001-05-25 2003-05-06 Regents Of The University Of California, The Method and system for electronically determining dynamic traffic information
US20070021914A1 (en) * 2005-07-20 2007-01-25 Song Kyeong Sub Navigation system with function of destination search using synchronization service of home telematics system, and method thereof
US9261376B2 (en) * 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
US10288433B2 (en) * 2010-02-25 2019-05-14 Microsoft Technology Licensing, Llc Map-matching for low-sampling-rate GPS trajectories
US20130030873A1 (en) * 2011-07-26 2013-01-31 United Parcel Service Of America, Inc. Systems and methods for assessing mobile asset efficiencies

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10026131B1 (en) * 2015-10-07 2018-07-17 State Farm Mutual Automobile Insurance Company Systems and methods for estimating vehicle speed and hence driving behavior using accelerometer data during periods of intermittent GPS
US10939238B1 (en) * 2015-10-07 2021-03-02 State Farm Mutual Automobile Insurance Company Systems and methods for estimating vehicle speed and hence driving behavior using accelerometer data during periods of intermittent GPS
US20170138737A1 (en) * 2015-11-17 2017-05-18 Truemotion, Inc. Methods and systems for combining sensor data to measure vehicle movement
US11747143B2 (en) 2015-11-17 2023-09-05 Cambridge Mobile Telematics Inc. Methods and system for combining sensor data to measure vehicle movement
US10054446B2 (en) * 2015-11-17 2018-08-21 Truemotion, Inc. Methods and systems for combining sensor data to measure vehicle movement
US10852141B2 (en) 2015-11-17 2020-12-01 Truemotion, Inc. Methods and systems for combining sensor data to measure vehicle movement
US9888364B2 (en) * 2016-06-17 2018-02-06 Lightmetrics Technologies Pvt. Ltd. Localizing a smartphone in a moving vehicle
US10690493B2 (en) * 2016-08-18 2020-06-23 Myriad Sensors, Inc. Wireless sensor device and software system for measuring linear position of a rotating object
US20180051985A1 (en) * 2016-08-18 2018-02-22 Myriad Sensors, Inc. Wireless sensor device and software system for measuring linear position of a rotating object
US11493346B2 (en) 2016-12-20 2022-11-08 Here Global B.V. Apparatus and associated methods for determining the location of a vehicle
US10415984B2 (en) * 2017-12-29 2019-09-17 Uber Technologies, Inc. Measuring the accuracy of map matched trajectories
US20190370746A1 (en) * 2018-06-05 2019-12-05 Signal Ocean Ltd Carrier path prediction based on dynamic input data
US10977605B2 (en) * 2018-06-05 2021-04-13 Signal Ocean Ltd Carrier path prediction based on dynamic input data
US10533862B1 (en) * 2018-11-28 2020-01-14 Uber Technologies, Inc. Biasing map matched trajectories based on planned route information
US20220163348A1 (en) * 2019-02-13 2022-05-26 Goertek Inc. Positioning method and electronic device
WO2022015871A1 (en) * 2020-07-14 2022-01-20 Cambridge Mobile Telematics Inc. Methods and systems of predicting total loss events
WO2022087163A1 (en) * 2020-10-21 2022-04-28 Cambridge Mobile Telematics Inc. Method and system for vehicle crash prediction using multi-vehicle data
US11884225B2 (en) 2020-10-21 2024-01-30 Cambridge Mobile Telematics Inc. Methods and systems for point of impact detection

Also Published As

Publication number Publication date
ZA201504596B (en) 2017-11-29
WO2014084901A1 (en) 2014-06-05
US8457880B1 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
US8457880B1 (en) Telematics using personal mobile devices
US10352718B2 (en) Discovering points of entry to a location
US8886457B2 (en) Mobile state determination of location aware devices
KR102230482B1 (en) System, method, and apparatus for minimizing power consumption in a portable device capable of receiving satellite navigational system signals
US8718932B1 (en) Snapping GPS tracks to road segments
US10533862B1 (en) Biasing map matched trajectories based on planned route information
US9689702B2 (en) Navigation system with map mechanism and method of operation thereof
CN101727742B (en) Route search device and information control server
US10299080B2 (en) System and method for maximizing mobile device power using intelligent attribute selection
US20110153189A1 (en) Historical traffic data compression
US20150204680A1 (en) Navigation system with location correction mechanism and method of operation thereof
Bo et al. SmartLoc: Sensing landmarks silently for smartphone-based metropolitan localization
CN110857862A (en) Traffic relieving system
JP2023507560A (en) Method and system for generating traffic data
JP7464728B2 (en) Navigation system
EP4330632A1 (en) Methods and systems for determining estimated travel times through a navigable network
Sung et al. Simplified KF-based energy-efficient vehicle positioning for smartphones
JP5818971B2 (en) Search device, search management device, terminal device, and calculation method
JP2019211484A (en) Image processing apparatus, image processing management apparatus, terminal device, and image processing method
JP2018109631A (en) Image processing unit, image processing management device, terminal device, and image processing method
JP5860136B2 (en) Image processing device, image processing management device, terminal device, and image processing method
US8615360B2 (en) Navigation system with single selection mileage single capture mechanism and method of operation thereof
JP5815843B2 (en) Image processing device, image processing management device, terminal device, and image processing method
US10527448B2 (en) Navigation system with traffic estimation using pipeline scheme mechanism and method of operation thereof
JP2016027347A (en) Image processing apparatus, image processing management apparatus, terminal device, and image processing method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- INCOMPLETE APPLICATION (PRE-EXAMINATION)