Abstract:
A method for advising a driver of a host vehicle on traffic conditions at a road intersection. It is determined that a host vehicle is approaching the intersection. Information is received from a plurality of other vehicles via a wireless vehicle-to-vehicle communication system indicating respective positions and timing of the other vehicles approach to and/or arrival at the intersection. The times at which the other vehicles have stopped at the intersection are detected, and the times at which the other vehicles proceed through the intersection. A past order-of-progression of vehicles through the intersection is determined based upon the stopping times and the proceeding times. The driver of the host vehicle is then advised whether it is safe to proceed through the intersection in view of the past order-of-progression.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a traffic analysis and advisory system to improve safety at roadway intersections. 
       BACKGROUND 
       [0002]    When multiple motor vehicles approach a four-way stop intersection at the same approximate time from different directions, there is often confusion on who has the right-of-way to proceed through the intersection next. This is sometimes exacerbated by a driver of one of the vehicles allowing the others to go, even though they in reality have the legal right away at that moment. This can create a situation, especially on busy roads, where vehicles are delayed longer at the stop than is necessary, thereby impeding the flow of traffic. 
         [0003]    This situation can be further exacerbated by someone coming to the stop who is unfamiliar with the right-of-way regulations, or who chooses to ignore them and to proceed out-of-turn through the intersection. If the driver of the vehicle having the right-of-way is not paying enough attention, or has already started to proceed through the intersection themselves, this could lead to a potentially dangerous situation, or a collision. 
         [0004]    Systems and methods have been proposed for determining the type of intersection that a host vehicle is approaching, detecting other traffic approaching the same intersection, and determining whether the host vehicle must stop. Others propose a method for monitoring traffic signals to determine if a crossing vehicle is proceeding into the intersection in contravention of the traffic lights indication (i.e. running a red light) and alerting the driver of the host vehicle. 
       SUMMARY 
       [0005]    In a disclosed embodiment, a method comprises determining that a host vehicle, a first vehicle, and a second vehicle are approaching an intersection on at least two different road segments, determining when the first and second vehicles have stopped at the intersection, determining when the first and second vehicles proceed through the intersection, and identifying an order-of-progression of the first and second vehicles through the intersection. 
         [0006]    In a further embodiment, information related to the identified order-of-progression is communicated to a driver of the host vehicle. The information may comprise advising the driver whether it is safe to proceed through the intersection. 
         [0007]    In another disclosed embodiment, a method for advising a driver of a host vehicle on traffic conditions at a road intersection comprises determining that a host vehicle is approaching the intersection; receiving information from a plurality of other vehicles via a wireless vehicle-to-vehicle communication system indicating respective positions and timing of the other vehicles approach to and/or arrival at the intersection; detecting stopping times when the other vehicles have stopped at the intersection; determining proceeding times when the other vehicles proceed through the intersection; identifying a past order-of-progression of vehicles through the intersection based upon the stopping times and the proceeding times; and advising the driver whether it is safe to proceed through the intersection in view of the past order-of-progression. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    Embodiments of the present invention described herein are recited with particularity in the appended claims. However, other features will become more apparent, and the embodiments may be best understood by referring to the following detailed description in conjunction with the accompanying drawings, in which: 
           [0009]      FIG. 1  is a schematic depiction of a four-way stop intersection with a host vehicle stopped, 
           [0010]      FIG. 2  is a schematic depiction of the intersection of  FIG. 1  with four additional vehicles stopped, 
           [0011]      FIG. 3  is a flow chart showing a method for analyzing traffic flow at an intersection, 
           [0012]      FIG. 4  is a schematic depiction of the progress of vehicles through an intersection, and 
           [0013]      FIG. 5  is a schematic block diagram of a system configured to carry out the present method. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    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. 
         [0015]      FIG. 1  shows an example of an intersection layout to which the method disclosed herein may be advantageously applied. The intersection of  FIG. 1  has four road segments leading into it. Stop signs, lights, or other appropriate indications are posted at all four of the segments, and hence it is commonly referred to as a four-way-stop intersection. The disclosed method may also be used in relation to an intersection with fewer than or more than four road segments. 
         [0016]    For convenience and consistency of description, the road segment are numbered sequentially beginning with “1” for the segment entering the intersection from the bottom of the page (the six o&#39;clock position) and progressing in a clockwise direction around the intersection. Assuming a “North-up” orientation in  FIG. 1 , Road Segment  1  approaches the intersection on a 000° heading, Segment  2  approaches on a 090° heading, Segment  3  approaches on a 180° heading, and Segment  4  on a 270° heading. 
         [0017]      FIG. 2  shows a four-way-stop intersection similar to that of  FIG. 1  with a host vehicle H approaching the intersection on Road Segment  1  and four other vehicles approaching on the other three segments as shown. For convenience of description, the non-host vehicles are referred to herein as “surrounding vehicles” and are identified a Veh( 1 ) through Veh( 4 ). 
         [0018]      FIG. 3  is a flowchart showing the steps in a method for identifying an order-of-progression through an intersection as indicated by the behavior of two or more vehicles other than a host vehicle. 
         [0019]    In an initial step  100 , it is determined that the host vehicle is approaching a three- or four-way stop intersection, and on which road segment the host vehicle is travelling. This may be done using a map database (which, as is well known in the art, may be carried on-board the vehicle or maintained off-board and accessed by the host vehicle via a wireless communication system) in conjunction with a navigation system such as satellite-based system (GPS, Galileo, or GLONASS, for example). 
         [0020]    In an example of logic that may be used in a method, if the host vehicle is approaching an intersection, a flag is set indicating this: 
         [0021]    If Host Range2Int &lt;ApproachRange2Int th :
       then       
 
         [0023]    Approaching Signed     —     Intersection =1;
       else       
 
         [0025]    Approaching Signed     —     Intersection =0 
         [0026]    Where: 
         [0027]    Host Range2Int  is the host vehicles range to a intersection. 
         [0028]    ApproachRange2Int th  is a range threshold below which the Approaching Signed     —     Intersection  will be set. 
         [0029]    Approaching Signed     —     Intersection  is a flag indicating whether a intersection is being approached. 
         [0030]    Once the above flag is set, the method proceeds to block  110 , otherwise remain in step  100  where the host vehicle position and route of travel is monitored. 
         [0031]    At step  110 , the geographic configuration or layout of the intersection is determined. The layout includes at least the number of road segments feeding into the intersection and the respective orientation or direction of each road segment, conveniently expressed as a compass heading. This information may be obtained from an electronic map database as described above in relation to step  100 . 
         [0032]    RoadSegment( 1 ) Heading =x 
         [0033]    RoadSegment( 2 ) Heading =x 
         [0034]    RoadSegment(*) Heading =x 
         [0035]    Where: 
         [0036]    RoadSegment(*) Heading  is the heading of the road segments leading into the intersection. 
         [0037]    RoadSegment( 1 ) Heading  is the heading of the road segment that the host vehicle is traveling on, and the road segments are assigned numbers sequentially clockwise from there until all road segments have been assigned. 
         [0038]    At block  120 , all surrounding vehicles are located on (“mapped to”) the appropriate road segment entering the intersection. The respective locations and velocities of the surrounding vehicles may be determined if all vehicles are equipped with compatible Vehicle-to-Vehicle (V2V) wireless communications systems. This may be accomplished, for example, according to the logic below, with reference to an intersection and traffic situation such as that as shown in  FIG. 2 : 
         [0039]    For i=1 to NumberofRoadSegments, 
         [0040]    if Veh(*) Heading =RoadSegment(i) Heading +/−Heading th  
       then       
 
         [0042]    Veh(*) RoadSegment =i
       end       
 
         [0044]    Where: 
         [0045]    NumberofRoadSegments is the number of road segments entering the intersection as determined by the map database; 
         [0046]    Veh(*) Heading  is the direction of travel of the surrounding vehicle; 
         [0047]    Heading th  is a threshold that provides an allowance for slight variations in heading between the vehicles and the road segments; and 
         [0048]    Veh(*) RoadSegment  is the road segment on which the surrounding vehicle is currently travelling. 
         [0049]    Next, at block  130 , it is determined when each of the surrounding vehicles has come to a stop at the intersection. The system may record a time stamp and the heading of each surrounding vehicle when it stops. This may be done by monitoring their velocity using a sensor system carried by the host vehicle H that detects surrounding vehicles, or by means of the V2V communication system referred to above, by which each of the surrounding vehicles broadcasts its position and velocity. 
         [0050]    If Veh(*) Velocity &lt;Stopped th  
       then       
 
         [0052]    Veh(*) Stopped =1
       else       
 
         [0054]    Veh(*) Stopped =0 
         [0055]    If Veh(*) Stopped(t-1) =0 and Veh(*) Stopped(t) =1
       then       
 
         [0057]    Veh(*) StoppedTime =UTC 
         [0058]    Veh(*) StoppedHeading =Veh(*) Heading    
         [0059]    Where: 
         [0060]    Stopped th  is the velocity threshold below which a vehicle is considered stopped; 
         [0061]    Veh(*) Velocity  is the surrounding vehicle&#39;s velocity; 
         [0062]    Veh(*) Stopped  is a flag indicating whether a surrounding vehicle is stopped or not; 
         [0063]    Veh(*) StoppedTime  is the time at which the surrounding vehicle came to a stop; 
         [0064]    UTC is the current time, which may be expressed in Universal Time Coordinated, the standard reference time used by most GPS-type systems; and 
         [0065]    Veh(*) StoppedHeading  is the heading of the surrounding vehicle when it comes to a stop. 
         [0066]    Advancing to block  140 , the status of “lead vehicle” is assigned to the surrounding vehicle on each road segment only if it is stopped at the intersection. The method thus ignores any other vehicles on each road segment that may be approaching the intersection but are following another vehicle and therefore are not the “lead vehicle.” 
         [0067]    If Veh(*) Stopped =1 and |Veh(*) Range2Int |&lt;Range2Int th  
       then       
 
         [0069]    Veh(*) Lead 1
       else       
 
         [0071]    Veh(*) Lead =0 
         [0072]    Where: 
         [0073]    Veh(*) Range2Int  is the surrounding vehicle&#39;s range to the intersection; 
         [0074]    Range2Int th  is a threshold distance value selected to account for a likely distribution of stopping distances to the stop sign given that: a) each vehicle may not stop at the same distance from its respective stop sign; and b) there may be position measurement error (especially for a surrounding vehicle not equipped with V2V communication, and so whose position must be detected by a sensor onboard the host vehicle); and 
         [0075]    Veh(*) Lead  is a flag denoting the surrounding vehicle that is the lead vehicle stopped at the intersection. 
         [0076]    At block  150 , the time at which the surrounding vehicles leave the intersection is monitored and recorded. To record a timestamp of when each of the vehicles proceeds through the intersection: 
         [0077]    If Veh(*) Stopped =0 and Veh(*) RangePastInt &gt;RangePastInt th  
       then       
 
         [0079]    Veh(*) ProceedTime =UTC 
         [0080]    Where: 
         [0081]    Veh(*) RangePastInt  is the negative of Veh(*) Range2Int  and represents the distance the front of the vehicle is past the intersection opening; 
         [0082]    RangePastInt th  is a threshold distance past which a vehicle is considered to have proceeded into the intersection, and takes into account that there is a distribution of distances that a vehicle will pull forward into an intersection before actually proceeding into the intersection; and 
         [0083]    Veh(*) ProceedTime  is the time at which the surrounding vehicle proceeded into the intersection. 
         [0084]    At block  160 , the host vehicle&#39;s velocity is monitored and the time at which it comes to a stop is recorded: 
         [0085]    If Host Velocity &lt;Stopped th  
       then       
 
         [0087]    Host Stopped =1
       else       
 
         [0089]    Host Stopped =0 
         [0090]    If Host Stopped(t-1) =0 and Host Stopped(t) =1
       then       
 
         [0092]    Host StoppedTime =UTC 
         [0093]    Host StoppedHeading =Host Heading    
         [0094]    Where: 
         [0095]    Host Stopped  is a flag indicating whether a host vehicle is stopped or not; 
         [0096]    Host StoppedTime  is the time at which the host vehicle came to a stop; and 
         [0097]    Host StoppedHeading  is the heading of the host vehicle when it comes to a stop. 
         [0098]    Next, at block  170 , a check is performed to determine if the host vehicle is the lead vehicle stopped at the intersection. This is done by comparing the range from the host vehicle to the intersection with a threshold distance: 
         [0099]    If Host Stopped =1 and |Host Range2Int |&lt;Range2Int th  
       then       
 
         [0101]    Host Lead =1
       else       
 
         [0103]    Host Lead =0 
         [0104]    Where: 
         [0105]    Host Lead  is a flag denoting whether the host vehicle is the lead vehicle stopped at the intersection. 
         [0106]    At block  180 , a determination is made as to whether a pattern or order-of-progression has been established by the surrounding vehicles driving through the intersection. This may be done by referring to the time stamps of when the most recent two surrounding vehicles have proceeded through the intersection. Error! Reference source not found. 4  shows an example of a pattern that indicates a clockwise order-of-progression, since first Veh( 1 ) drives through the intersection from Road Segment  2  on a 090° heading, followed by Veh( 3 ) from Road Segment  3  on a 180° heading. 
         [0107]    The identity of the road segments of the two most recent vehicle to proceed through the intersection can be found by taking the maximum value of proceed times through the intersection for all of the surrounding vehicles and returning the vehicle numbers of those vehicles: 
         [0108]    (RecentlyProceeded1, RecentlyProceeded2)=max[Veh(1:NumVeh) ProceedTime ]: Return highest two values 
         [0109]    Then the road segments of these two values can be determined: 
         [0110]    RoadSegment 1   RecentlyProceeded =Veh(RecentlyProceeded1) RoadSegment    
         [0111]    RoadSegment 2   RecentlyProceeded =Veh(RecentlyProceeded2) RoadSegment    
         [0112]    With this information, it may be determined whether or not an order-of-progression has been established: 
         [0113]    if RoadSegment 1   RecentlyProceeded −RoadSegment 2   RecentlyProceeded =1
       then       
 
         [0115]    Order=clockwise
       else if RoadSegment 1   RecentlyProceeded −RoadSegment 2   RecentlyProceeded =−1       
 
         [0117]    Order=counterclockwise
       else       
 
         [0119]    Order=none 
         [0120]    Where: 
         [0121]    RecentlyProceeded1 and RecentlyProceeded2 are the vehicle numbers of the two vehicles that have most recently proceeded through the intersection; 
         [0122]    RoadSegment 1   RecentlyProceeded  and RoadSegment 2   RecentlyProceeded  are the road segment numbers from which the two vehicles that most recently proceeded through the intersection entered the intersection; and 
         [0123]    Order is the order that vehicles are progressing through the intersection. This is either clockwise, counterclockwise, or none if there is no established order. 
         [0124]    At block  190 , the order-of-progression determined above may be communicated to the driver of the host vehicle. This may be done visually using, for example, a screen of a vehicle navigation or multi-function display, and/or audibly by a synthetic or recorded voice announcement. Once informed of the detected order-of-progression, the host vehicle driver may use his/her own judgment to safely follow the order and proceed through the intersection at the correct time. Or, the method may continue past block  190  and, as described below, advise the host vehicle driver as to how to safely proceed. 
         [0125]    At block  200 , the system determines if the host vehicle is starting to proceed through the intersection. This may be based on whether the host vehicle is currently the lead vehicle and by by checking its current range past the intersection measured from the opening of the intersection: 
         [0126]    if Host Lead =1 and Host RangePastInt &gt;RangePastInt th  
       then       
 
         [0128]    Host Proceeding =1
       else       
 
         [0130]    Host Proceeding =0 
         [0131]    Where: 
         [0132]    Host RangePastInt  is the negative of Host Range2Int  and represents the distance the front of the vehicle is past the intersection opening; and 
         [0133]    RangePastInt th  is a threshold past which a vehicle is considered to have proceeded into the intersection. This threshold should take into account that there is a distribution of distances that a vehicle will pull forward into an intersection before actually proceeding into the intersection. 
         [0134]    Whether the result of block  200  is “yes” or “no,” the same analysis is applied at block  210  or  220  respectively to determine whether or not it is the host vehicle&#39;s turn to proceed: 
         [0135]    if Order=clockwise 
         [0136]    if RoadSegment 1   RecentlyProceeded =NumberofRoadSegments
       then       
 
         [0138]    HostTurn=1: This is because the host vehicle is always on the first road segment.
       else       
 
         [0140]    HostTurn=0
       else if Order=counterclockwise       
 
         [0142]    if RoadSegment 1   RecentlyProceeded −1=1
       then       
 
         [0144]    HostTurn=1: This is because the host vehicle is always on the first road segment.
       else       
 
         [0146]    HostTurn=0
       else if Order=none       
 
         [0148]    if Host StoppedTime &lt;min(Veh(1:*) StoppedTime  and Host Lead =1
       then       
 
         [0150]    HostTurn=1: Host came to a stop first among remaining vehicles.
       else       
 
         [0152]    HostTurn=0 
         [0153]    Where: 
         [0154]    HostTurn is a flag indicating whether it is the host vehicles turn to proceed through the intersection. 
         [0155]    After block  210  or  220 , information must be presented to the driver based on the current situation. The information provided will depend on the circumstances: 
         [0156]    1) If it is the host vehicle&#39;s turn to proceed through the intersection and it is already moving, then the host vehicle will be allowed to proceed through the intersection with no alerts or warnings (block  230 ): 
         [0157]    if Host Proceeding =1 and HostTurn=1
       then       
 
         [0159]    Do nothing because the host vehicle has the right-of-way. 
         [0160]    2) If it is not the host vehicle&#39;s turn to proceed through the intersection and it is already moving, provide a warning to alert the driver that it is not their turn to proceed. (Block  240 ) This warning may be auditory, haptic, visual, or any other type of warning effective to alert the driver to the potentially unsafe condition: 
         [0161]    if Host Proceeding =1 and HostTurn=0
       then       
 
         [0163]    Provide a warning that it is not the host vehicle&#39;s turn to proceed. 
         [0164]    3) If it is the host vehicle&#39;s turn to proceed through the intersection and they are not moving, then an alert will be given to let the driver know that it is their turn to proceed through the intersection. (Block  250 ) This alert can also be auditory, haptic, or visual, but it should be sufficiently different from the warning to alert the driver that it is not their turn to avoid confusion: 
         [0165]    if Host Proceeding =0 and HostTurn=1
       then       
 
         [0167]    Alert host vehicle driver that it is their turn to proceed. 
         [0168]    4) If it is not the host vehicle&#39;s turn to proceed through the intersection and it is not moving, then no alert is necessary (block  260 ): 
         [0169]    if Host Proceeding =0 and HostTurn=0
       then       
 
         [0171]    No alert; it is not the host vehicle&#39;s turn to proceed and it not proceeding. 
         [0172]    At block  270 , it is determined if the host has left the intersection or not. This is done by checking the host vehicle&#39;s range past the intersection opening and comparing it to range threshold. If the range is greater than this threshold then the host vehicle has left the intersection and the algorithm may be restarted at block  100 . If it is less than this threshold, the host vehicle is still at the intersection and the steps  200 - 270  should be repeated. 
         [0173]    if Host RangepastInt &gt;LeftInt th  
       then       
 
         [0175]    goto step A 
         [0176]    if Host RangepastInt &lt;LeftInt th  
       then       
 
         [0178]    goto step J. 
         [0179]      FIG. 5  is a schematic block diagram of an on-board system capable of carrying out the method(s) disclosed herein. A drivers&#39; assist module (DAM)  40  may be microprocessor based such as a computer having a central processing unit, memory (RAM and/or ROM), and associated input and output buses, as is well known in the vehicle electronics field. DAM  40  may be an application-specific integrated circuit or other logic devices known in the art. DAM  40  may be a portion of a central vehicle main control unit, an interactive vehicle dynamics module, a restraints control module, a main safety controller, or may be a stand-alone controller as shown. 
         [0180]    DAM  40  receives inputs from a navigation system  42  which may include, for example, a map database (which, as is well known in the art, may be carried on-board the vehicle or maintained off-board and accessed by the host vehicle via a wireless communication system) in conjunction with a satellite-based location system (GPS, Galileo, or GLONASS, for example). 
         [0181]    DAM  40  also may receive inputs from sensors  44  which may be used to detect the positions and dynamics of other vehicles in the vicinity using optics, radar, lidar, ultrasonics, and/or other known methods. 
         [0182]    DAM  40  also may receive inputs from a Vehicle-to-Vehicle (V2V) communication system  46 , as is well known in the art. 
         [0183]    DAM  40  uses inputs from the systems as described above to generate information, alerts, and/or advice for the host vehicle driver, and may communicate that data to the driver in any number of ways: Visually using, for example, a display screen  48  such as the type used for driver information; audibly using, for example, a synthetic or recorded voice system; and/or haptically using a haptic alerting system  52  that delivers vibrations or other sensory input to some portion of the driver&#39;s body, such as to the hands through the steering wheel (not shown). 
         [0184]    The disclosed method determines which vehicle has the right-of-way at an intersection and if it is the host vehicle to prompt the driver to proceed forward. The method also alerts the driver of the host vehicle if it does not have the right away. Additionally, it determines if another vehicle is proceeding out of turn through the intersection and alerts the driver of the host vehicle to wait to proceed through the intersection until it is safe to do so. 
         [0185]    If all of the vehicles that are at a four-way (or 3-way) stop intersection are equipped with compatible Vehicle-to-Vehicle Communications systems (V2V) and the host vehicle is equipped with a map data base that provides information on the location of stop signs, then which vehicle came to a stop first at the intersection can be determined. With this information determined, the system is then able to inform the driver of the host vehicle of the order-of-progression that the preceding vehicles have followed or established, prompt the driver of the host vehicle to proceed forward when the host vehicle has the right of way (as determined by the detected order-of-progression), and/or alert the driver to stop if he host vehicle is proceeding into the intersection without the right of way. 
         [0186]    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. 
         [0187]    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.