Modern telematic technologies enable collection of a wide range of driving data from vehicles. These driving data are valuable in characterizing the driving behaviors of a driver. This may be done for purposes of calculating insurance, monitoring young drivers, monitoring employee drivers, etc.
A context-based driver scoring system evaluates various aspects of driving and parking behavior while taking into account context-related conditions. The inputs to the system may include driving data, the conditions specifying the current context, and the configuration parameters data.
The outputs of the system may be driving scores that characterize the performance of the driver according to the given context. In particular, first the context module is used to calculate a context factor that enables applying the effect of the context conditions to the driving scores.
Then, the scoring module calculates each of the scores according to the collected driving data and the current context of driving. In one embodiment of the system, scores characterizing seven different aspects of driving performance are characterized as listed below:
Overspeed
Harsh acceleration
Harsh braking
Harsh cornering
Harsh cabin noise
Aggression
Anticipation
Generally, the system may generate a driver score. The driver score may be based on driving behavior. The driving behavior may include one or more of braking, acceleration, cornering, lane changes, speed, parking events, and cabin noise. Aggregate scores may be derived from individual scores, including one or more of driver aggression and driver anticipation. External context may influence the driver score. The external context may include one or more of weather, road conditions, time of day, road network attributes, vehicle class, vehicle mass, vehicle dimensions, location, school zone proximity, work zone proximity, restricted zones, vehicle engine type, and vehicle health. The level of influence from context may be defined using membership functions.
The score may be influenced by driver demographics. The external context may include one or more dynamic realtime conditions including surrounding vehicle proximity, traffic, and traffic light status. The external context may include dynamic historical conditions for the route traveled including surrounding vehicle proximity and traffic. The score may be influenced by the metadata.
The disclosure provides a system that automatically detects vehicle parking scenarios. The parking scenarios may include single or multiple parking events. The system may automatically classify vehicle parking scenarios. The parking scenarios may include one or more of forward parallel, reverse parallel, forward perpendicular, reverse perpendicular, and diagonal.
These and other features of the invention can be best understood from the following specification and drawings.
Referring to
The appliance 12 may also include a communication module 24 (such as cell phone, satellite, wi-fi, etc.) that provides a connection to a wide-area network (such as the internet). Alternatively, the communication module 24 may connect to a wide-area network (such as the internet) via a user's cell phone 26 or other device providing communication.
The in vehicle appliance 12 gathers driving data from the various sensors mounted within the vehicle 10 and stores that data. The in vehicle appliance 12 transmits this driving data (or summaries or analyses thereof) as a transmission signal through a wireless network to a server 30 (also having at least one processor and suitable electronic storage and suitably programmed to perform the functions described herein). The server 30 utilizes the received driving data to categorize vehicle operating conditions in order to determine or track vehicle use. This driving data can be utilized for tracking and determining driver behavior, such as for insurance premiums for the motor vehicle, tracking data utilized to determine proper operation of the vehicle and other information that may provide value such as alerting a maintenance depot or service center when a specific vehicle is in need of such maintenance. Driving events and driver behavior are recorded by the server 30, such as fuel and/or electricity consumption, speed, driver behavior (acceleration, speed, etc.), distance driven and/or time spent in certain insurance-risk coded geographic areas. For example, the on-board appliance 12 may record the amount of time or distance in high-risk areas or low-risk areas, or high-risk vs. low risk roads. The on-board appliance 12 may collect and transmit to the server 30 (among other things mentioned herein): Speed, Acceleration, Distance, Fuel consumption, Engine Idle time, Car diagnostics, Location of vehicle, Engine emissions, etc.
The server 30 includes a plurality of profiles 32, each associated with a vehicle 10 (or alternatively, with a user). Among other things, the profiles 32 each contain information about the vehicle 10 (or user) including some or all of the gathered driving data (or summaries thereof). Some or all of the data (or summaries thereof) may be accessible to the user via a computer 32 over a wide area network (such as the internet) via a policyholder portal, such as fuel efficiency, environmental issues, location, maintenance, etc. The user can also customize some aspects of the profile 32.
It should be noted that the server 30 may be numerous physical and/or virtual servers at multiple locations. The server 30 may collect driving data from appliances 12 from many different vehicles 10 associated with a many different insurance companies. Each insurance company (or other administrator) may configure parameters only for their own users. The server 30 permits the administrator of each insurance company to access only data for their policyholders. The server 30 permits each policyholder to access only his own profile and receive information based upon only his own profile.
The server 30 may not only reside in traditional physical or virtual servers, but may also coexist with the on-board appliance, or may reside within a mobile device. In scenarios where the server 30 is distributed, all or a subset of relevant information may be synchronized between trusted nodes for the purposes of aggregate statistics, trends, and geo-spatial references (proximity to key locations, groups of drivers with similar driving routes).
The outputs of the system 40 are a set of driving scores that characterize the performance of the driver according to the given context. In particular, first the context module 42 is used to calculate a context factor that enables applying the effect of the context conditions to the driving scores.
Then, the scoring module 44 calculates each of the scores according to the collected driving data and the current context of driving. In one embodiment of the system, scores characterizing seven different aspects of driving performance are characterized as listed below:
Overspeed
Harsh acceleration
Harsh braking
Harsh cornering
Harsh cabin noise
Aggression
Anticipation
Generally, the system may generate a driver score. The driver score may be based on driving data. The driving data may include one or more of braking, acceleration, cornering, lane changes, speed, parking events, and cabin noise. An aggregate score may be derived from individual scores, including one or more of driver aggression and driver anticipation. External context may influence the driver score. The external context may be received from external sources such as other servers or websites, from sensors on the vehicle, or from vehicles near the vehicle. The external context may include one or more of weather, road conditions, time of day, road network attributes, vehicle class, vehicle mass, vehicle dimensions, location, school zone proximity, work zone proximity, restricted zones, vehicle engine type, and vehicle health. Some of the external context depends on the vehicle's current location (e.g. weather, time of day, road network attributes, road conditions) which is received by the server 30 from the onboard appliance 12. The level of influence from context may be defined using membership functions.
The score may be influenced by driver demographics. The external context may include one or more dynamic realtime conditions including surrounding vehicle proximity, traffic, and traffic light status. The external context may include dynamic historical conditions for the route traveled including surrounding vehicle proximity and traffic. The score may be influenced by the metadata.
The disclosure also provides a system that automatically detects vehicle parking scenarios. The parking scenarios may include single or multiple parking events. The system may automatically classify vehicle parking scenarios. The parking scenarios may include one or more of forward parallel, reverse parallel, forward perpendicular, reverse perpendicular, and diagonal.
The Driver Scoring Algorithms
The scoring module can employ different transformations from input variables to resulting score. In one embodiment, this transformation occurs using membership functions. The notion of membership function provides an efficient and flexible approach to compute driving scores based on expert knowledge. The membership function has several parameters that can be easily tuned to adopt expert knowledge.
Overspeed Scoring Algorithm
The driver overspeed score is calculated relative to the posted speed limit. The score of 25 km/h absolute over speed in a road with 50 km/h posted speed limit has a worse score than the same over speed (25 km/h) in a road with 100 km/h posted speed limit. The disclosed algorithm monitors the speed of the vehicle over the course of a trip and computes a single output, i.e. overspeed score, by following the steps below:
Use the collected vehicle speed samples to compute the relative_over_speed as
relative_over_speed=(vehicle speed−posted speed limit)
Use the timestamps of the collected vehicle speed samples to compute the relative_time_duration of over speeding as
relative_time_duration=(time duration of over speed/total trip time)*100
Feed each relative over speeding x along with its corresponding time duration y to a 2D membership function to obtain the individual over speeding scores as
Over_speed_score=A*ê(−0.5*((x−x
Where
A is a constant term used to normalize the score,
The x
The δ_x and δ_y denote the relative overspeed and relative time standard deviation, respectively.
Compute the overall overspeed score as the weighted sum of the individual scores.
Harsh Acceleration Scoring Algorithm
The disclosed algorithm monitors the acceleration of the vehicle over the course of a trip and computes a single output, i.e. harsh acceleration score, by following the steps below
Use the collected vehicle acceleration samples to compute the relative_harsh_acceleration as:
relative_harsh_acceleration=(harsh acceleration magnitude−harsh acceleration threshold)
Feed each relative harsh acceleration x to a 1D membership function to obtain the individual harsh acceleration scores as
Harsh_acceleration_score=A*ê(−0.5*((x−x
Where
A is a constant term used to normalize the score,
The x
The δ_x denotes the standard deviation of harsh acceleration.
Compute the overall harsh acceleration score as the weighted sum of the individual scores.
Harsh Braking Scoring Algorithm
The disclosed algorithm monitors the deceleration of the vehicle over the course of a trip and computes a single output, i.e. harsh braking score, by following the steps below
Use the collected vehicle deceleration samples to compute the relative_harsh_braking as
relative_harsh_braking=(harsh braking magnitude−harsh braking threshold)
Feed each relative harsh braking x to a 1D membership function to obtain the individual harsh braking scores as
Harsh_braking_score=A*ê(−0.5*((x−x
Where
A is a constant term used to normalize the score,
The x
The δ_x denotes the standard deviation of harsh braking
Compute the overall harsh braking score as the weighted sum of the individual scores.
Harsh Cornering Scoring Algorithm
The disclosed algorithm monitors the lateral acceleration of the vehicle over the course of a trip and computes a single output, i.e. harsh cornering score, by following the steps below.
Use the collected vehicle lateral acceleration samples to compute the relative_harsh_cornering as
relative_harsh_cornering=(harsh lateral acceleration magnitude−harsh cornering threshold)
Feed each relative harsh cornering x to a 1D membership function to obtain the individual harsh cornering scores as
Harsh_cornering_score=A*ê(−0.5*((x−x
Where
A is a constant term used to normalize the score,
The x
The δ_x denotes the standard deviation of harsh cornering.
Compute the overall harsh cornering score as the weighted sum of the individual scores.
Harsh Cabin Noise Scoring Algorithm
The disclosed algorithm monitors the noise within the vehicle's cabin over the course of a trip and computes a single output, i.e. harsh cabin noise score, by following the steps below.
Use the collected vehicle cabin noise samples to compute the relative_harsh_cabin_noise as
relative_harsh_cabin_noise=(cabin noise magnitude−harsh cabin noise threshold)
Feed each relative harsh cabin noise x to a 1D membership function to obtain the individual harsh cabin noise scores as
Harsh_cabin_noise_score=A*ê(−0.5*((x−x
Where
A is a constant term used to normalize the score,
The x
The δ_x denotes the standard deviation of harsh cabin noise.
Compute the overall harsh cabin noise score as the weighted sum of the individual scores.
Aggression Scoring Algorithm
The disclosed algorithm monitors several of the context-based driver scores, namely, the overspeed, harsh acceleration, harsh braking, and harsh cornering scores, over the course of a trip and computes a single output, i.e. driver aggression score, as a weighted sum of the aforementioned scores.
Anticipation Scoring Algorithm
The disclosed algorithm monitors the deceleration of the vehicle along with the overspeed score over the course of a trip and computes a single output, i.e. driver anticipation score, by following the steps below.
Use the vehicle deceleration samples for the entire trip to compute the normalized distribution of braking events throughout the trip, i.e. the vehicle deceleration for each braking event versus the frequency of that braking event as shown in
Calculate the driver braking score as the total area of the portion of the normalized distribution where the deceleration magnitude is less than the braking threshold.
Compute the driver anticipation score as the weighted sum of the aforementioned overspeed score and the computed braking score.
Incorporating Context-Related Conditions
The context module accepts context-related conditions as input and computes a single output, i.e. context factor, which is then embedded into the scoring algorithms in order to incorporate the effect of context.
In this example, the discount factor is normalized to be between zero and one, where the lower the context factor value, the worse, i.e. more dangerous, the driving context.
In the disclosed system the context factor can be computed by a variety of methods. An exemplary approach can be based on lookup table to compute the discount factor. The example Table 1 below contains four types of environmental conditions, namely, rain, snow, fog, and ice, and their corresponding discount factors. In the table the 1 represents the availability of the condition. The lookup table mechanism provides a flexible mapping approach applicable to an arbitrary set of context-related conditions and easily customizable according to the requirements of the application at hand.
The output of the context module 42, i.e. the context-based factor, is used to adjust the operation of driver scoring algorithms in scoring module 44. In one embodiment of the disclosed system the context factor is used to discount the threshold values used in computing the relative parameters of scoring algorithms. For instance, in the overspeed algorithm the relative_over_speed is computed as
Relative_over_speed=((vehicle speed−posted speed limit*context factor)/(posted speed limit*context factor))*100
All other relative parameters used in the scoring algorithms, namely, relative_harsh_acceleration, relative_harsh_braking, relative_harsh_cornering, and relative_harsh_cabin_noise are also computed in a similar fashion (e.g. reducing the threshold to which the driving data is compared). The effect achieved by this discounting procedure is to increasingly penalize the driving scores as the context factor becomes smaller.
In another exemplary embodiment, the context factor is used to modify standard deviation parameters of the scoring membership functions. For instance, in the harsh braking algorithm the standard deviation of harsh braking is updated as
δ_x=δ_x/context factor
The standard deviations used in all other scoring membership functions are similarly updated using the computed context factor. The end result is to enlarge the standard deviation for smaller context factors, hence increasingly penalize the driving scores.
Optionally, both the threshold and standard deviation could be modified based upon the context factor.
Selected System Configuration Options
This section presents the parameters involved in the operation of the context-based driver scoring system. Table 2 provides an overview of the available parameters. These parameters affect the overall performance of the system and thus are tuned through careful empirical analysis for each application.
Parking Characterization
In addition to driving behavior, it is valuable to accurately capture and characterize individual parking events. In this embodiment, four different parking events are characterized based on vehicle movement: Forward Parallel (
While accelerometer and GNSS based information is available, accelerometer information is often inadequate on its own to characterize the fine nuances of vehicle acceleration as the vehicle completes a parking scenario. Both accelerometer and GNSS based information is leveraged in this embodiment of the system.
Parallel parking detection focuses on locating the specific sequence of events from stopping alongside a vehicle, reversing or driving forward into a parking spot, steering the vehicle, fine tuning the approach, stopping the vehicle, then leaving the parking spot for a subsequent journey or to continue the current journey.
The approach to detect parking events is based on distance calculation. This approach is based on calculating the distance between two points with w seconds apart using two different methods. The first one calculates the Euclidean distance between start and end points Pi=(xi, yi) and Pi+w=(xi+w, yi+w) directly as d1=sqrt ((xi+w−xi)2+(yi+w−yi)2).
The second one computes the total distance between these two points by summing up the piecewise distances between intermediate points calculated based on the corresponding speed values as follows: d2=Σ speed(l)*_t, l=i, . . . , w, where t is the sampling time of the GPS data.
Note that for the straight driving path these two distances are almost the same. However, for curvy paths they will diverge from each other. This is depicted in
The frequency and proximity of distance difference measures are used to identify specific parking time windows. The distance difference between two points that are dis_win_size apart using the difference distance calculation mechanisms identify candidate parking events. Events occurring within a short time interval are considered to be part of the same parking event. To help minimize false positives, time intervals of approximately 20 seconds may be used. The logic used to detect parking maneuvers uses a combination of distance difference patterns and time based criteria. A sharp rise in the distance difference is used to trigger the start of a parking maneuver, and a time-based criteria is used in combination with subsequent distance difference measures to detect the end of the parking maneuver.
In the example embodiment, the driving scores are calculated for each journey or trip (e.g. ignition on to ignition off). Alternatively, the driving scores may be calculated in real time (or near real time), being updated with new information during a journey so that feedback can be provided to the driver during driving. The driving scores may also be calculated for each parking event separately. The context factors may be applied to the parking events as well. For example, parallel parking in the snow or dark will be scored differently from parallel parking in warm weather during daylight. Aggressive maneuvers during parking are monitored and included in the assessment during parking.
In accordance with the provisions of the patent statutes and jurisprudence, exemplary configurations described above are considered to represent a preferred embodiment of the invention. However, it should be noted that the invention can be practiced otherwise than as specifically illustrated and described without departing from its spirit or scope.
Number | Date | Country | |
---|---|---|---|
61910239 | Nov 2013 | US |