1. Field of the Invention
The present invention relates to mobile devices that are equipped with positing unit (for example GPS) and capable of data communications. This invention is in particular related to delivering alerts to vehicle drivers via their mobile devices, such as smart phone and tablet, in order to notify them about traffic ahead.
2. Description of the Prior Art
In today's world, many people own and carry GPS-enabled mobile phones. Due to the e911 mandate, wireless carriers must be able to locate a 911 mobile-phone caller to within 50 to 300 meters of accuracy. Various technologies have been used to satisfy this mandate including embedded GPS hardware in mobile phones. The implementation of such positioning technologies has led to the creation of a class of software application known as Location-Based Services (LBS) that use the device's location in coordination with other data to create location-aware applications.
In-vehicle technologies and safety related systems are a growing area of research and product development. The use of in-vehicle safety technologies has been developing and growing for decades. Over the years, there have been numerous evaluations of ITS (Intelligent Transportation Systems) technologies for safety applications. For example, there have been a number of evaluations of the speed limiting and alerting technology known as Intelligent Speed Adaptation (ISA).
Slow traffic ahead alert systems falls under the category of Active Safety Systems. An active safety system is an in-vehicle system that provides warnings or other forms of assistance to drivers based on information about the motion of self vehicle and other vehicles, obtained from object detection sensors mounted on the vehicles. Active safety systems are divided into two classes: Hard and Soft. A hard active safety system is for fast reaction in the order of a few seconds (2-3 seconds or so) like safety system deployed on high-end cars such as Cadillac, BMW, Lexus, etc that warn drivers about lane departure, lane change blind spot, rear-end collision, etc. Soft active safety systems are situational-awareness functions that provide alerts to drivers on driving conditions within a relatively short-latency time horizon, in the range of 10-60 seconds. An example of these systems is a mobile-phone based slow traffic ahead alert system. Such a system enables drivers to take tactical actions to avoid crashes, or in essence, increase their safety alert time horizon to beyond the just several seconds provided by hard safety systems. In these situations, by offering a timely “slow or stopped traffic ahead” message, the system can effectively inform drivers of roadway hazards or give speed advisories to reduce the chance of collisions. This safety application is similar to a successful implementation of vehicle-infrastructure concept in Tokyo, Japan in recent years.
To enable a Mobile-phone based traffic ahead alert system, phone communicates with a server to exchange information. These data include but not limited to time, vehicle location, speed, moving direction, and similar information for downstream traffic.
Object of the present invention is to provide a data exchange protocol to enable mobile device based traffic ahead alert systems. In this kind of alert system, a software application, Client, runs on the phone that exchanges data with one or more Servers. Data that are uploaded to the server(s) include but not limited to time, vehicle location, speed, and moving direction which are updated normally every second. Server sends to the Client location and speed of downstream traffic. Vehicle location changes rapidly at high speed, for example at 40 m/s (˜90 mph) vehicle travels 40 meters in just one second. Thus if motion of the vehicle is not modeled, Client should send to the server raw data sampled as fast as every second. The present invention presents a scheme that reduces the sampling rate significantly, at least 80%.
In one aspect, a method is provided of exchanging vehicle location information. At intervals, at one or more vehicles, sensor information is input including at least vehicle location information. An estimation process is performed for estimating at sub-intervals at least vehicle location to obtain estimated vehicle data. A subset of the vehicle data is selected and sent to a remote server. A client-side modeling process is performed for modeling at least vehicle location using the subset of vehicle data to obtain modeled vehicle data. The estimated vehicle data and the modeled vehicle data are compared to obtain comparison results. The comparison results are used to select the subset of vehicle data to be sent to the remote server. The vehicle may receive from the remote server other vehicle data for multiple other vehicles. At the vehicle, the other vehicle data may be used to model at least vehicle location for each of the multiple other vehicles. The vehicle may also receive from the remote server local traffic alert information. A server-side modeling process may be performed for modeling at least vehicle location using the subset of vehicle data to obtain modeled vehicle data, with the same model being used by both the client-side modeling process and the server-side modeling process. The foregoing steps may be performed at many different vehicles.
In another aspect, a system is provided for exchanging vehicle location information, including one or more servers; a communication network; and a plurality of in-vehicle systems carried by a plurality of vehicles. Each in-vehicle system includes one or more navigation sensors or receivers configured to, at intervals, output sensor information including at least vehicle location information. A processor is provided for performing an estimation process for estimating at sub-intervals at least vehicle location to obtain estimated vehicle data. The processor selects a subset of the vehicle data and sends the subset of vehicle data to a remote server. It also performs a client-side modeling process for modeling at least vehicle location using the subset of vehicle data to obtain modeled vehicle data, and compares the estimated vehicle data and the modeled vehicle data to obtain comparison results. Using the comparison results, the processor selects the subset of vehicle data to be sent to the remote server. The one or more servers may be configured to send to respective ones of each of the vehicles other vehicle data for vehicles in a vicinity of that vehicle. The processor at each of the plurality of vehicles may be configured to use the other vehicle data to model at least vehicle location for each of the other vehicles in the vicinity of that vehicle. The one or more servers may be configured to send to respective ones of each of the vehicles local traffic alert information for that vehicle. The system one or more servers may be configured to perform a server-side modeling process for modeling at least vehicle location using the subset of vehicle data to obtain modeled vehicle data, with the client-side modeling process being the same modeling process as the server-side modeling process.
In another aspect, an in-vehicle system is carried by a vehicle for exchanging vehicle location information. One or more navigation sensors or receivers are provided and configured to, at intervals, output sensor information including at least vehicle location information. A processor is provided and configured for performing an estimation process for estimating at sub-intervals at least vehicle location to obtain estimated vehicle data, and for selecting a subset of the vehicle data and sending the subset of vehicle data to a remote server. The processor is configured for performing a client-side modeling process for modeling at least vehicle location using the subset of vehicle data to obtain modeled vehicle data, and for comparing the estimated vehicle data and the modeled vehicle data to obtain comparison results. The processor is configured to use the comparison results to select the subset of vehicle data to be sent to the remote server. A receiver may be provided for receiving from one or more servers other vehicle data for multiple other vehicles. The processor may be configured to use the other vehicle data to model at least vehicle location for each of the other vehicles. The receiver may be configured to receive from the one or more servers local traffic alert information. The one or more servers may be configured to perform a server-side modeling process for modeling at least vehicle location using the subset of vehicle data to obtain modeled vehicle data, with the client-side modeling process using the same model as the server-side modeling process.
The Client 102 gets time and location data from the navigation sensors 101 periodically, normally every second. The Navigation sensors include a GPS receiver or equivalent positioning unit; other sensors such as accelerometer, compass, gyro, etc may also be used. Measurements of the Navigation sensors 101 are processed by the Self Estimator 111 to calculate states of self vehicle (SV) at time k and k+1, which k is index of time. Self Estimator 111 estimates position, speed, and heading of the vehicle using an estimation method, like Kalman filtering estimation (wikipedia.org/wiki/Kalman_filter); these quantities collectively constitute the vector {right arrow over ({circumflex over (X)} (k), which is the best available estimate of the state of the vehicle at time k. Time difference between k and k+1 is fixed and equal to the time interval between GPS measurements. For the rest of the discussion, we refer to {right arrow over ({circumflex over (X)} (k) of the Self Estimator 111 as the state of the vehicle at time k.
The Remote Estimator 112 keeps a copy of the most recent information the Client 102 has stored in the Data Storage 116 regarding its own motion. The Remote Estimator 112 operates first order kinematics model to provide the Scheduler 113 with estimates of SV states at time k+1 given in fact only the information that SV broadcasts to the Server 104 via the Cellular Network 103. The equations for the kinematics model are as follows:
{tilde over (X)}(k+1)={tilde over (X)}(k)+{tilde over (V)}(k)×cos({tilde over (Φ)} (k))×ΔT;
{tilde over (Y)}(k+1)={tilde over (Y)}(k)+{tilde over (V)}(k)×sin({tilde over (Φ)} (k))×ΔT;
{tilde over (V)}(k+1)={tilde over (V)}(k);
{tilde over (Φ)}(k+1)={tilde over (Φ)}(k)+{dot over ({tilde over (Φ)}(k)×ΔT;
{dot over ({tilde over (Φ)}(k+1)={dot over ({tilde over (Φ)}(k);
The state vectors {right arrow over ({circumflex over (X)}(.), {right arrow over ({tilde over (X)}(.) consist of positions X, Y (in the universal GPS coordinate frame with a local origin), speed V, and heading angle Φ. Symbols with (̂ ) on top refer to the Self Estimator's 113 estimates and symbols with (˜) on top refer to the Remote Estimator's 112 estimates.
The Neighbor Estimators 114 receive messages from the Server 104 via the Cellular Network 103. These messages contain the states of the neighborhood traffic, including downstream traffic and/or vehicles that are in the neighborhood of SV. The Neighbor Estimators 114 comprises of several Neighbor Estimators 115, each operating first order kinematics model to provide SV with estimates of states of Neighborhood traffic for times in-between message receptions from the Server 104. We keep the model simple because each vehicle may need to operate many Neighbor Estimators, depending on traffic flow conditions.
Let the Remote Estimator 112 of vehicle i be denoted by REi. Let the Neighbor Estimator 115 run by neighbor j for vehicle i be denoted NEji. The purpose of REi is to estimate the output of all the NEji's.
Whenever SV receives a message, it updates the relevant parameters in the Neighbor Estimators 114 to reflect the values provided in the transmitted message. The outputs of the vehicle Self Estimator 111 and the Neighbor Estimators 114 drive the traffic alert applications.
A vehicle's decision to store the states in the Data Storage 116 at any time instance is made by the Scheduler 113. The Scheduler 113 receives inputs from both the Self Estimator 111 and the Remote Estimator 112. It uses equation below to calculate the longitudinal and lateral position errors. These errors are defined below.
εlong.(k)=|({tilde over (X)}(k)−{circumflex over (X)}(k))×cos({circumflex over (Φ)}(k))−({tilde over (Y)}(k)−Ŷ(k))×sin({circumflex over (Φ)}(k))|
εlat.(k)=|({tilde over (X)}(k)−{circumflex over (X)}(k))×sin({circumflex over (Φ)}(k))+({tilde over (Y)}(k)−Ŷ(k))×cos({circumflex over (Φ)}(k))|;
At time k, if εlong.(k+1) or εlat.(k+1) exceed their respective thresholds, SV broadcasts {right arrow over ({circumflex over (X)}(k) as specified by the following policy:
u(k)=1
if
(εlong.(k+1)>Tr.long.εlat.(k+1)>Tr.lat.)
u(k)=0 Otherwise
where,
The two lateral and longitudinal position errors are configured depending on type of the application, for example for Slow Traffic Ahead alert application, values these thresholds may be 10 meters and 100 meters, respectively.
Client 102 periodically or at random times transmits data in the Data Storage 116 to the Server 104. After each data transmission, the Data Storage 116 is cleared, i.e. stored data are erased.
Number | Date | Country | |
---|---|---|---|
61650686 | May 2012 | US | |
61647168 | May 2012 | US | |
61647326 | May 2012 | US |