Abstract:
A system includes a vehicle processor configured to detect one or more brake presses. The processor is also configured to detect one or more accelerator presses. Further, the processor is configured to add values related to the brake presses and accelerator presses to aggregate an index value based on detected brake and acceleration presses. The processor is additionally configured to enact a safety and convenience related measure based on the index value passing at least a first predetermined threshold.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. application Ser. No. 13/794,993 filed Mar. 12, 2013, the disclosure of which is hereby incorporated in its entirety by reference herein. 
     
    
     TECHNICAL FIELD 
       [0002]    The illustrative embodiments generally relate to a method and apparatus for determining traffic conditions. 
       BACKGROUND 
       [0003]    Drivers are used to an array of connected services. Utilizing in-vehicle connected systems, such as navigation systems and/or infotainment systems, which can connect with remote servers, drivers can obtain a wealth of information. This can include entertainment, driving information and even weather and traffic information. Driving directions, for example, can be provided based on best routes, most efficient routes and even routes with decreased traffic. 
         [0004]    Of course, sometimes traffic information may not be available due to connection issues or lack of a subscription to a traffic service. Also, traffic information may be based on dated information. 
         [0005]    U.S. Pat. No. 7,421,334 generally relates to an on-board intelligent vehicle system including a sensor assembly to collect data and a processor to process the data to determine the occurrence of at least one event. The data may be collected from existing standard equipment such as the vehicle communication bus or add-on sensors. The data may be indicative of conditions relating to the vehicle, roadway infrastructure, and roadway utilization, such as vehicle performance, roadway design, roadway conditions, and traffic levels. The detection of an event may signify abnormal, substandard, or unacceptable conditions prevailing in the roadway, vehicle, or traffic. The vehicle transmits an event indicator and correlated vehicle location data to a central facility for further management of the information. The central facility sends communications reflecting event occurrence to various relevant or interested users. The user population can include other vehicle subscribers (e.g., to provide rerouting data based on location-relevant roadway or traffic events), roadway maintenance crews, vehicle manufacturers, and governmental agencies (e.g., transportation authorities, law enforcement, and legislative bodies) 
         [0006]    U.S. Application Publication 2008/303693 generally relates to an automatic traffic reporting system comprising a vehicle mounted data transceiver (telematics device) and centrally operated information collectors and analyzers that generate real time traffic reports for selected areas of interest. 
         [0007]    U.S. Application Publication 2009/192688 generally relates to a traffic sensing system for collecting information on traffic conditions. A traffic sensing system includes a traffic sensing server and a mobile traffic sensing device that sends traffic reports to the traffic sensing server. An MTS device may use an accelerometer integrated into a smart phone to detect potholes, to detect when the vehicle is braking, to detect whether the MTS device is being transported via a vehicle or a pedestrian, to detect horns sounding, and so on. The MTS device reports the various conditions to the traffic sensing server for accurate assessment of traffic conditions at stretches of road through which vehicles transporting MTS devices travel. 
         [0008]    U.S. Application Publication 2011/246016 generally relates to a method of displaying traffic on a display within a vehicle may include monitoring a current vehicle speed, monitoring external traffic data by various methods, determining if a brake is applied for at least a predetermined time period, determining if the vehicle is a predetermined distance from a traffic signal that the vehicle is approaching, determining that a traffic event exists on a road upon which the vehicle is traveling, inquiring if traffic cameras exist on the road upon which the vehicle is traveling, and displaying traffic data on a display within the vehicle that corresponds to the road ahead upon which the vehicle is traveling. The method may include determining if the vehicle speed is maintained at a speed less than the posted speed for a predetermined time period. The display may display traffic data captured by the traffic cameras, downloaded from remote servers, or communicated directly from another vehicle. 
       SUMMARY 
       [0009]    In a first illustrative embodiment, a system includes a vehicle processor configured to detect one or more brake presses. The processor is also configured to detect one or more accelerator presses. Further, the processor is configured to add values related to the brake presses and accelerator presses to aggregate an index value based on detected brake and acceleration presses. The processor is additionally configured to enact a safety and convenience related measure based on the index value passing at least a first predetermined threshold. 
         [0010]    In a second illustrative embodiment, a computer-implemented method includes detecting one or more brake presses. The method also includes detecting one or more accelerator presses. Further, the method includes adding values related to the brake presses and accelerator presses to aggregate an index value based on detected brake and acceleration presses. The method additionally includes enacting a safety and convenience related measure based on the index value passing at least a first predetermined threshold. 
         [0011]    In a third illustrative embodiment, a non-transitory computer-readable storage medium stores instructions that, when executed by a processor, cause the processor to perform a method including detecting one or more brake presses. The method also includes detecting one or more accelerator presses. Further, the method includes adding values related to the brake presses and accelerator presses to aggregate an index value based on detected brake and acceleration presses. The method additionally includes enacting a safety and convenience related measure based on the index value passing at least a first predetermined threshold. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]      FIG. 1  shows an illustrative vehicle computing system; 
           [0013]      FIG. 2  shows an illustrative driver monitoring system; 
           [0014]      FIG. 3  shows an illustrative process for driver monitoring; 
           [0015]      FIG. 4  shows an illustrative example of break and acceleration measurement; and 
           [0016]      FIG. 5  shows an illustrative example of a monitoring and driver action recommendation process. 
       
    
    
     DETAILED DESCRIPTION 
       [0017]    As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. 
         [0018]      FIG. 1  illustrates an example block topology for a vehicle based computing system  1  (VCS) for a vehicle  31 . An example of such a vehicle-based computing system  1  is the SYNC system manufactured by THE FORD MOTOR COMPANY. A vehicle enabled with a vehicle-based computing system may contain a visual front end interface  4  located in the vehicle. The user may also be able to interact with the interface if it is provided, for example, with a touch sensitive screen. In another illustrative embodiment, the interaction occurs through, button presses, audible speech and speech synthesis. 
         [0019]    In the illustrative embodiment  1  shown in  FIG. 1 , a processor  3  controls at least some portion of the operation of the vehicle-based computing system. Provided within the vehicle, the processor allows onboard processing of commands and routines. Further, the processor is connected to both non-persistent  5  and persistent storage  7 . In this illustrative embodiment, the non-persistent storage is random access memory (RAM) and the persistent storage is a hard disk drive (HDD) or flash memory. 
         [0020]    The processor is also provided with a number of different inputs allowing the user to interface with the processor. In this illustrative embodiment, a microphone  29 , an auxiliary input  25  (for input  33 ), a USB input  23 , a GPS input  24  and a BLUETOOTH input  15  are all provided. An input selector  51  is also provided, to allow a user to swap between various inputs. Input to both the microphone and the auxiliary connector is converted from analog to digital by a converter  27  before being passed to the processor. Although not shown, numerous of the vehicle components and auxiliary components in communication with the VCS may use a vehicle network (such as, but not limited to, a CAN bus) to pass data to and from the VCS (or components thereof). 
         [0021]    Outputs to the system can include, but are not limited to, a visual display  4  and a speaker  13  or stereo system output. The speaker is connected to an amplifier  11  and receives its signal from the processor  3  through a digital-to-analog converter  9 . Output can also be made to a remote BLUETOOTH device such as PND  54  or a USB device such as vehicle navigation device  60  along the bi-directional data streams shown at  19  and  21  respectively. 
         [0022]    In one illustrative embodiment, the system  1  uses the BLUETOOTH transceiver  15  to communicate  17  with a user&#39;s nomadic device  53  (e.g., cell phone, smart phone, PDA, or any other device having wireless remote network connectivity). The nomadic device can then be used to communicate  59  with a network  61  outside the vehicle  31  through, for example, communication  55  with a cellular tower  57 . In some embodiments, tower  57  may be a WiFi access point. 
         [0023]    Exemplary communication between the nomadic device and the BLUETOOTH transceiver is represented by signal  14 . 
         [0024]    Pairing a nomadic device  53  and the BLUETOOTH transceiver  15  can be instructed through a button  52  or similar input. Accordingly, the CPU is instructed that the onboard BLUETOOTH transceiver will be paired with a BLUETOOTH transceiver in a nomadic device. 
         [0025]    Data may be communicated between CPU  3  and network  61  utilizing, for example, a data-plan, data over voice, or DTMF tones associated with nomadic device  53 . Alternatively, it may be desirable to include an onboard modem  63  having antenna  18  in order to communicate  16  data between CPU  3  and network  61  over the voice band. The nomadic device  53  can then be used to communicate  59  with a network  61  outside the vehicle  31  through, for example, communication  55  with a cellular tower  57 . In some embodiments, the modem  63  may establish communication  20  with the tower  57  for communicating with network  61 . As a non-limiting example, modem  63  may be a USB cellular modem and communication  20  may be cellular communication. 
         [0026]    In one illustrative embodiment, the processor is provided with an operating system including an API to communicate with modem application software. The modem application software may access an embedded module or firmware on the BLUETOOTH transceiver to complete wireless communication with a remote BLUETOOTH transceiver (such as that found in a nomadic device). Bluetooth is a subset of the IEEE 802 PAN (personal area network) protocols. IEEE 802 LAN (local area network) protocols include WiFi and have considerable cross-functionality with IEEE 802 PAN. Both are suitable for wireless communication within a vehicle. Another communication means that can be used in this realm is free-space optical communication (such as IrDA) and non-standardized consumer IR protocols. 
         [0027]    In another embodiment, nomadic device  53  includes a modem for voice band or broadband data communication. In the data-over-voice embodiment, a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example). While frequency division multiplexing may be common for analog cellular communication between the vehicle and the internet, and is still used, it has been largely replaced by hybrids of with Code Domain Multiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-Domain Multiple Access (SDMA) for digital cellular communication. These are all ITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbs for stationary or walking users and 385 kbs for users in a moving vehicle. 3G standards are now being replaced by IMT-Advanced (4G) which offers 100 mbs for users in a vehicle and 1 gbs for stationary users. If the user has a data-plan associated with the nomadic device, it is possible that the data-plan allows for broad-band transmission and the system could use a much wider bandwidth (speeding up data transfer). In still another embodiment, nomadic device  53  is replaced with a cellular communication device (not shown) that is installed to vehicle  31 . In yet another embodiment, the ND  53  may be a wireless local area network (LAN) device capable of communication over, for example (and without limitation), an 802.11g network (i.e., WiFi) or a WiMax network. 
         [0028]    In one embodiment, incoming data can be passed through the nomadic device via a data-over-voice or data-plan, through the onboard BLUETOOTH transceiver and into the vehicle&#39;s internal processor  3 . In the case of certain temporary data, for example, the data can be stored on the HDD or other storage media  7  until such time as the data is no longer needed. 
         [0029]    Additional sources that may interface with the vehicle include a personal navigation device  54 , having, for example, a USB connection  56  and/or an antenna  58 , a vehicle navigation device  60  having a USB  62  or other connection, an onboard GPS device  24 , or remote navigation system (not shown) having connectivity to network  61 . USB is one of a class of serial networking protocols. IEEE 1394 (firewire), EIA (Electronics Industry Association) serial protocols, IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) and USB-IF (USB Implementers Forum) form the backbone of the device-device serial standards. Most of the protocols can be implemented for either electrical or optical communication. 
         [0030]    Further, the CPU could be in communication with a variety of other auxiliary devices  65 . These devices can be connected through a wireless  67  or wired  69  connection. Auxiliary device  65  may include, but are not limited to, personal media players, wireless health devices, portable computers, and the like. 
         [0031]    Also, or alternatively, the CPU could be connected to a vehicle based wireless router  73 , using for example a WiFi  71  transceiver. This could allow the CPU to connect to remote networks in range of the local router  73 . 
         [0032]    In addition to having exemplary processes executed by a vehicle computing system located in a vehicle, in certain embodiments, the exemplary processes may be executed by a computing system in communication with a vehicle computing system. Such a system may include, but is not limited to, a wireless device (e.g., and without limitation, a mobile phone) or a remote computing system (e.g., and without limitation, a server) connected through the wireless device. Collectively, such systems may be referred to as vehicle associated computing systems (VACS). In certain embodiments particular components of the VACS may perform particular portions of a process depending on the particular implementation of the system. By way of example and not limitation, if a process has a step of sending or receiving information with a paired wireless device, then it is likely that the wireless device is not performing the process, since the wireless device would not “send and receive” information with itself. One of ordinary skill in the art will understand when it is inappropriate to apply a particular VACS to a given solution. In all solutions, it is contemplated that at least the vehicle computing system (VCS) located within the vehicle itself is capable of performing the exemplary processes. 
         [0033]    Assessment of the driving-attention demand is of particular value to assist in modulating communication, recommendations and vehicle system interaction with the driver. OEMs are actively designing ways to further simplify driver&#39;s time behind the wheel, with systems that anticipate and assist driver attention. Traffic concentration is of interest because it increases the driving-demand/workload for drivers. Information about traffic flow conditions may be available through digital electronics and connected services, or can be detected with additional sensors (camera, radar, etc.). Those services and sensors may not be widely available across vehicle platforms, however. An intelligent estimation of the traffic congestion based on driver actions provides opportunities to further customize VCS information management and driver communication, according to the illustrative embodiments. 
         [0034]    The illustrative embodiments present new systems and methods for driver action based traffic estimation for personalizing VCS information interaction. The illustrative embodiments discuss using driver acceleration and brake pedal actuation patterns to estimate traffic conditions. During increased traffic conditions, driving patterns frequently involve pressing and switching between acceleration and braking The switching of pedal states is computed over time to estimate the traffic states. Components of an exemplary system include: driver action input, driver action diagnosis, traffic states, traffic state fusion and personalized driver communication. This can assist in providing a continuous index value indicative of the assessment of the traffic conditions in front of the vehicle while driving. This solution can also work with all vehicles, since all vehicles have brakes and acceleration pedals. 
         [0035]    This real time computational approach is based on observed driver actions. Some embodiments include a specialized exponential decay scheme, with tunable moving windows for enumerating pedal actuation and characterizing traffic states. This can also be fused or aggregated with additional traffic information to produce an overall value for VCS information management. 
         [0036]      FIG. 2  shows an illustrative driver monitoring system. In this illustrative example, a driver  201  interacts with both a driver interface  205  and provides inputs  203 . The driver interface can include, but is not limited to, hands-free calling, navigation, infotainment services, etc. The inputs, in this embodiment, include both brakes and acceleration pedals. 
         [0037]    Based on the driver inputs, a traffic diagnosis module  209  can aid in assessment of traffic conditions. Once the traffic state has been characterized, the process can fuse or aggregate the model with other vehicle systems and services  211 . Personalized driver communication can be provided based on the observed state of traffic  207 . Also, connectivity and vehicle messages can be provided  213 . 
         [0038]    In one model representative of traffic, useful for understanding the illustrative embodiments, the following assumptions are made. These are for illustrative purposes only: 
         [0039]    1) The deviation of headway distance is highly correlated to the traffic flow in front of the vehicle; 
         [0040]    2) To maintain safe headway distance, drivers will press and switch between pedals; 
         [0041]    3) The traffic congestion can be estimated by enumerating the number of pedals pressed and switched during pre-defined time durations; and 
         [0042]    4) The time duration is a tuning variable. A longer observation time sets a longer duration for traffic congestion estimation and vice versa. 
         [0043]    Both acceleration and braking may be observed. A binary signal takes the value  1  when (in one illustrative example) the brake pedal is pressed or when the acceleration pedal is pressed. Pedal pressing and switching are then enumerated. When either pedal is pressed, a function receiving the positive excitation increases the Index value progressively. The index value can be increased in the following exemplary ways: it can increase by a tunable value δ 1 —if the same pedal is pressed; and the index value can increase by a tunable value δ 2  if pedals are switched. 
         [0044]    If no pedal is pressed, a timer may start. The index will hold the same value until the timer reaches a timeout state. After the timeout, the indexes decay exponentially with a tunable time constant. The timer is reset whenever the pedal is pressed.  FIG. 3  shows an illustrative process for driver monitoring. 
         [0045]    In this illustrative embodiment, the process monitors input from the acceleration or the brake pedal  301 . If either pedal is pressed  303 , the process resets a timer  309 . This tracks rapid pedal pressing, which is demonstrative of a likely traffic condition. If the same pedal has been pressed, the index value can be increased by δ 1    317 . If a different pedal is pressed (i.e., the same pedal is not pressed twice in succession), the process can increase the index value by δ 2 . The process can then return to detecting input. 
         [0046]    If no pedal is pressed when a pedal detection state is checked, the process will start a timer  305 . If the timer  305  is not greater than a timeout value, the process will increment the timer  307  and hold a current index value. This allows for some time between pedal presses. If the timer has reached a timeout state, the switch flag may be reset and the index may be decayed by some exponential amount, to indicate a period of low traffic. 
         [0047]    The timer assists in keeping the index value unchanged for a period of time, known as the timeout period. Subsequent pedal actuation would then raise the index value higher, representing higher congestion. 
         [0048]      FIG. 4  shows an illustrative example of break and acceleration measurement. The index value shows the incremental index and the decremental exponential decay of an exemplary system. The values shown below the index values show the incidents of braking and acceleration. 
         [0049]    As can be seen at  401 , an acceleration event (i.e., acceleration pedal) has occurred. This results in an uptick of the index to level  409 . Then as time passes and no event occurs, the decay  413  begins until a baseline is again achieved. At  403 , a brake event occurs and the index value again jumps. For the duration of the hold time, the process maintains the index value, until the decay again kicks in because no event occurs. 
         [0050]    Finally, in this example, another acceleration  405  and brake event  407  occur, this time in close proximity to another. Here, there is an uptick to the first level at  415 , corresponding to the acceleration event. This time, the timer  417  is not sufficient to spark decay, before the brake event occurs. At that point, there is a greater jump  419  in the index value, since there was a switch between acceleration and braking. 
         [0051]    The value then maintains at  421  over the timeout period. Since no other event occurs, the process then decays the index value  423  until a baseline is reached. 
         [0052]    Once an index value has been obtained, the VCS can utilize the index values to facilitate occupant messaging and warning states. In another instance, the VCS can use the values to determine points of likely driving-attention demand. Since high traffic levels can commonly correspond to levels of high driving-attention, the process can utilize the braking and acceleration information to determine likely points of driving-attention demand based on traffic. 
         [0053]      FIG. 5  shows an illustrative example of a monitoring and driver action recommendation process. In this illustrative example, a vehicle equipped with the monitoring embodiments described herein, or similar embodiments, can begin monitoring for incidents of frequent braking and acceleration  501 . 
         [0054]    In this illustrative example, a do not disturb (DND) state will be enabled, disabled or recommended based on observed traffic conditions. The do not disturb state will allow a driver to ignore incoming calls and application messages, or to selectively respond to such messages. Although a DND state is used as an exemplary incident of a vehicle messaging, convenience and safety state, any feature relating to safety and convenience under high incidences of driver attention demand can be implemented. Additionally or alternatively, traffic related protocols can be engaged. In one model, the system can even be used for traffic measuring and reporting in a crowd-sourced paradigm. 
         [0055]    Once the monitoring has begun, the process determines if a do not disturb state has been enabled  503 . If the do not disturb state is already enabled, the process may determine if the state was enabled automatically or based on a driver setting  505 . In the cases where the state was automatically enabled, the process may be equipped to also automatically disable the state when traffic incidences are lower than at an enabled point. 
         [0056]    In this case, there is a threshold point at which the do not disturb state was enabled. If the index value drops below the threshold value  511 , and the process automatically enabled the do not disturb state, then the process can subsequently disable a do not disturb state  513 . The monitoring may then continue. 
         [0057]    On the other hand, if the do not disturb state was manually enabled  505  the process still checks to see if the index value is below the threshold  507 . If the index value is below the threshold and the driver manually enabled the do not disturb state, the process may alert the driver that it may be safe to disable a do not disturb state  509 . A timer may also be involved in such notification, as with the notification to enable the state, so that the driver is not constantly bothered with messages to switch in and out of the do not disturb state (or other relevant messages). 
         [0058]    If the do not disturb feature is not enabled while the monitoring is ongoing, the process may check to see if the index value is above a given threshold  515 . If the index value has not risen above the threshold, and the do not disturb state is not enabled, the monitoring may continue until the index value passes the threshold. 
         [0059]    Once the index value passes the threshold, the process determines if an automatic do not disturb feature is present  517 . Under such a feature, the do not disturb state can be automatically enabled when the index value passes a threshold. In at least one instance, there is a warning threshold and an enablement threshold, such that under lower index values above a first threshold a warning is just provided, whereas under higher index values above a second threshold the automatic state kicks in. 
         [0060]    In at least one case, if the automatic processing is enabled, the automatic turn-on value may be the same value as the baseline threshold  523 . If this is the case, and the threshold is exceeded, the do not disturb state is set. In another instance, the process may have a secondary threshold for automatic enablement. If the secondary threshold is not met  525 , or if the automatic do not disturb is not enabled, the process may merely alert the driver. Otherwise, if the threshold is met, the process may enable a do not disturb state automatically. 
         [0061]    As previously noted, the automatic enablement of features may extend beyond do not disturb states. Any appropriate safety or other protocol may be enabled, disabled or recommended based on an observed traffic state. 
         [0062]    While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.