Embodiments disclosed herein relate in general to vehicular communications and in particular to vehicular communication proxy operation.
Vehicle technology related to vision and safety is developing rapidly. It is expected that most vehicles sold after year 2017 will be equipped with a front camera, mandated for driving safety. Such cameras can be used to increase the volume of vehicular communication traffic, by having vehicles with vehicular communication technology deliver information about vehicles without vehicular communication technology, in an operation called “proxy transmission” (or simply, as used herein, “proxy”). Since vehicular communication is also referred to as “vehicle-to-everything” or “V2X” communication, a vehicle having such communication capability is referred to henceforth as “V2X vehicle”, while a vehicle lacking such capability is referred to henceforth as “non-V2X vehicle”. Sensors other than cameras, for example radar-based or LIDAR, can be useful for sensor related proxy operation as well. Henceforth, “camera” is used to cover all sensors (including radar-based, LIDAR and others) that can provide information on vehicles in proximity to a sensor-equipped vehicle. The latter executes a state-machine involved in various proxy operations and is referred to henceforth as “ego-vehicle”. A vehicle observed by an ego-vehicle camera is referred to as “observed vehicle”.
Vehicular proxy operation is not defined by current vehicular communication standards such as ETSI ITS G5 and IEEE1609. The art in the field is very limited. For example, vehicular proxy operation is described in US patent application 2013/0278441. However, the description therein is of an alternative solution not related to existing communication standards, the chances of which alternative solution being adopted are unclear. Moreover, US 2013/0278441 does not mention proxy control, i.e. with selection of a proxy server and control of proxy activation (see description below for the explanation/definition of these terms).
Embodiments disclosed herein relate to proxy operation (i.e. proxy control and proxy transmission) in vehicular communications.
In an embodiment there is provided a method for proxy operation in a vehicular environment that includes a first plurality of V2X ego-vehicles with respective sensors and a second plurality of non-V2X vehicles, the method comprising the steps of, in an ego-vehicle, determining that a particular vehicle observed by the respective ego-vehicle sensor is a non-V2X, proxy target vehicle, electing the ego-vehicle as a proxy server for the proxy target vehicle, and performing proxy transmission for the proxy target vehicle.
In an embodiment there is provided apparatus for proxy operation in a vehicular environment that includes a first plurality of V2X ego-vehicles with respective sensors and a second plurality of non-V2X vehicles, the apparatus comprising, in each ego-vehicle, a sensor unit for observing other vehicles and for providing sensor data on at least one observed vehicle, a proxy control module configured to receive the sensor data on the at least one observed vehicle together with data transmitted by other vehicles, process the sensor data together with the transmitted data, determine that an observed vehicle is a proxy target and perform a proxy-server election, a proxy transmission module configured to prepare a proxy transmission message related to the proxy target under the control of the proxy control module, and a communication unit for broadcasting the proxy transmission message.
In an embodiment there is provided a non-transitory computer readable medium having stored therein computer executable instructions for performing a method for proxy operation in a vehicular environment that includes a first plurality of V2X ego-vehicles with respective sensors and a second plurality of non-V2X vehicles, the computer readable medium installed in an ego-vehicle and comprising instructions for determining that a particular vehicle observed by the respective ego-vehicle sensor is a non-V2X, proxy target vehicle, instructions for electing the ego-vehicle as a proxy server for the proxy target vehicle, and instructions for controlling proxy transmission by the proxy server for the proxy target vehicle.
Non-limiting embodiments are herein described, by way of example only, with reference to the accompanying drawings, wherein:
Terminology used herein and problems related to proxy operation are described now with reference to
In vehicular proxy operation, a first challenge is to detect if a vehicle has vehicular communication equipment. Once understood that a vehicle is a non-V2X vehicle and once a non-V2X vehicle is identified as a proxy target, a second challenge emerges to ensure that only a single V2X vehicle performs the proxy, i.e. acts as a proxy server to a specific proxy client. This is needed to avoid a potential scenario in which two V2X vehicles, for example vehicles 102 and 104 above, act as proxy servers for a single proxy client (e.g. for vehicle 110), although only vehicle 102 is elected to be a proxy server (see more on the “election” process below). Yet another challenge involves proxy continuity. Since a vehicular environment is dynamic, proxy operation (transmission) may be short lived, and there is a need to maximize its duration.
In some embodiments of the method of
The various steps in
Note that the ego-vehicle receives communications from, and observes more than one observed vehicle, and that similarity calculations are performed for each respective observed vehicle. That is, similarity is measured between information received via vehicular communication and camera-based information obtained on all relevant observed vehicles within proximity to the location reported by vehicular communication.
The similarity calculation is based on a number of correlations. Exemplarily, as shown in
Many correlation functions may be useful for calculations described below. Typically, a correlation function output value is defined in a range between 0 and 1, where 0 indicates no correlation and 1 indicates maximal correlation. In general, other output ranges may be defined. The correlation functions below are exemplary, aiming to be simple and effective.
A location correlation value F1 is calculated in step 302. A simple calculation may use the equation:
F
1=max[0, 1−Distance Difference/(2*MaxDistanceError)] (1)
where “Distance Difference”=location detected by sensor−location detected by vehicular communication, and MaxDistanceError is a scaling parameter that can be adjusted for the GPS error in a specific scenario. For example, MaxDistanceError can be set to 3 m in highway driving or to 15 m in an urban environment. To clarify, the subtraction of the locations may involve a (X, Y) or (X, Y, Z) vector subtraction, where the location detected by the sensor is (X1, Y1) or (X1, Y1, Z1) and that reported by vehicular communication is (X2, Y2) or (X2, Y2, Z2). The location is referenced to the vehicle frame. The vectors represent typically (vertical distance, lateral distance) although representation of (distance, angle) is possible as well.
In an example, the camera detects a vehicle at (30 m vertical, 5 m lateral) and location communication is received for an object at (32 m vertical, 6 m lateral). In this case, the Distance Difference is (√(22+1) i.e. 2.2 m. If MaxDistanceError is 5 m, then F1 is 1− 2.2/10, or 0.78.
A speed correlation value Fs is calculated in step 304. A simple calculation may use the equation:
F
h=max[0, 1−abs(Speed Difference)/MaxSpeedError] (2)
where Speed Difference=speed detected by sensor−speed reported by vehicular communication and where MaxSpeedError is exemplarily ˜5-8 km/h. In an example, the speed detected by the camera is 48 km/h, while the speed reported by vehicular communication is 46 km/h. If MaxSpeedError is 8 km/h, then Fs=1− 2/8=0.75.
A heading correlation value Fh is calculated in step 306. A simple calculation may use the equation:
F
h=max[0, 1−abs(Heading Difference)/MaxHeadingError] (3)
where Heading Difference=heading detected by sensor−heading reported by vehicular communication and where MaxHeadingError is exemplarily ˜10-20 degrees.
In an example, the heading detected by the camera is 0 degrees, while the heading reported by communication is 5 degrees, i.e. Heading Difference=5 degrees. If MaxHeadingError is 20, then Fh=1− 5/20=0.75.
An overall correlation value is calculated from all the correlation values in step 308. A simple calculation that provides an overall correlation may use the equation:
Overall correlation=Fd*Fs*Fh (4)
In an example using the correlation values calculated above, the overall correlation value is 0.78*0.75*0.75=0.438. The overall correlation value is used to calculate a similarity value over time.
On one hand, a low overall correlation value is more meaningful than a high overall correlation value for a decision of an ego-vehicle to be elected as proxy server, and should be carried for longer period of time, impacting more significantly the outcome. On the other hand, a long-term similarity calculation should recover from a single low correlation value, i.e. should not be biased due to temporary error.
Several different long-term similarity equations can be defined. Exemplarily, a simple and effective long-term similarity equation (that serves as a filter to average the similarity over time) may be:
Similarity=min[1,(Overall Correlation+recovery parameter)*(Similarity+recovery parameter/2)] (5)
where the “recovery parameter” reflects the ability of the filter to rise from a low value. Exemplarily, a starting value for similarity may be between 0.2 and 0.4.
In some embodiments, the recovery parameter may be dynamic and may change when the proxy target vehicle is chosen as proxy client. In some embodiments, the recovery parameter may be set as a static value. For example, a recovery parameter value of 0.2 provides quick detection of a single event of lack of correlation (for example, a case in which the overall correlation value is high, but for some reason the location is erroneous and causes a temporary drop in the correlation value) but still allows recovery after 10 cycles (or 1 second). The recovery parameter value may be set higher, for example to 0.4, if the observed vehicle is not reported as proxy client or if the ego-vehicle is not a proxy server, because it would take extra caution to suddenly start and activate proxy. Note however that such sudden start and proxy activation may happen if another proxy server vehicle performing proxy stops doing so. In some embodiments, the similarity may be calculated without the use of a recovery parameter, e.g. by an alternative equation.
In an example of how quickly the similarity value may drop and how long it may take it to recover, the similarity value is 0.9 and the recovery parameter value is 0.3. With an overall correlation value of 0.2, the similarity value drops to min[1,(0.2+0.2)*(0.9+0.1)]=0.4. Assume that the overall correlation value then returns to 0.9, and the next calculation yields a similarity value of min(1,(0.9+0.2)*(0.4+0.1))=0.55. This value is then used in the process illustrated in
In some scenarios, two vehicles observed by a camera, one a V2X vehicle and the other a non-V2X vehicle, may exhibit identical similarity values for received vehicular communications. The challenge is to know which of the two observed vehicles is the V2X vehicle, if, for example, the two observed vehicles are separated by a distance smaller than the GPS error. This scenario is handled by the process illustrated in
Operation continues to step 412, where a check is made if the message arrived with an explicit proxy indication (see the description of proxy operation related to
Returning to step 410, if either or both conditions are not fulfilled, no conclusive can decision is made, and operation returns to step 406. Note that the operation in step 410 declares similarity only if there is a definite identification of the source of the information. The availability of an explicit proxy indication allows clear identification of the observed vehicle being a non-V2X vehicle
As mentioned, step 204 provides an “election grade” that indicates the suitability of the ego-vehicle to be elected as proxy server. Several parameters may be considered, such as distance, differential speed between the ego-vehicle and the proxy target vehicle or other current properties of the ego-vehicle and the proxy target vehicle. However, the scheme proposed here simplifies on one hand the calculation by considering only the location of the ego- and proxy target vehicles and distances therebetween, while on the other hand provides a more accurate estimation by considering also a future relative location of the two. An exemplary equation for calculating the election grade may be:
Gd=max[0, 1−abs(current distance−target distance)/(2*target distance)−abs(future distance−target distance)/(2*target distance)+abs(lateral distance)/lateral factor] (6)
where “target distance” marks an optimal distance between the ego-vehicle and the proxy target vehicle and “lateral distance” marks the distance on the lateral axis between the two vehicles. The target distance may have a dynamic value based on the environment, for example 30 meters in an urban environment and 100 meters on a highway. It is set sufficiently ahead to allow coping with a faster ego-vehicle, but not too far ahead, to allow coping with a slower ego-vehicle. “Lateral distance” is considered to prefer target vehicles in the same lane (in which case, its value is 0). “Lateral factor” is the weight assigned for lateral deviation. It determines if vehicles with high lateral distance will be elected. The lateral factor may be exemplarily in a range of 5 to 20. Exemplarily, a lateral factor of 10 assures that only vehicles adjacent to the ego-vehicle will be eligible for proxy. In the early state of the V2X market, V2X penetration is lower, and a V2X vehicle is expected to serve as proxy server for several vehicles. In this case, the lateral factor should be high (20) to consider many proxy targets. Once the market matures (and more vehicles become V2X), the need for proxy will decrease, and the lateral factor can decrease to allow more selectiveness in the proxy selection process.
In an example, the target distance is exemplarily 30 meters, the current distance between vehicles is exemplarily 50 meters, and the future distance will become exemplarily 20 meters in 10 seconds. The lateral distance is 0 meters. The lateral factor is exemplarily 10 m. The resulting election grade is 1−abs(50−30)/2*30−abs(20−30)/2*30−abs(0/10)=1−⅓−⅙−0=0.5. The election grade becomes better as it approaches a value of 1.
If the future location is no longer observed by the ego-vehicle, the grade (Gd in eq (6)) is set to zero. Other equations may consider differently a lateral distance for vehicles on left than vehicles on right of the observed vehicle. For example, in right side driving, vehicles on the left can receive higher preference to be selected for proxy operation by assigning a lower lateral factor.
As mentioned, step 206 performs the election of the proxy server. Well-studied election protocols from the field of computer networks may be applied here. Two exemplary ones are described next: a) a “bully” algorithm, requiring explicit handshake between units in a particular ego-vehicle and another vehicle that aims to be a proxy server, and b) an algorithm without handshake.
An explicit handshake is described in
An implicit handshake is described in
Three models can be applied to proxy transmission: explicit proxy transmission with a dedicated packet format, explicit proxy transmission with an overloaded packet format and implicit proxy transmission with a standard packet format.
Explicit proxy transmission with a dedicated packet format extends the standard packet format with commonly agreed fields for the proxy operation. An exemplary packet format in which a standard packet format is extended with an election extension is described in
Explicit proxy can also be represented by adding a “proxy clients” field to the current packet format, as shown in
Explicit proxy transmission with an overloaded packet format provides the added election and proxy client information without modifying the standard packet format. The proxy server sends a standard packet using the proxy client properties. Instead of adding new fields, existing fields in a standard packet format receive new meaning. For example, the vehicle length field is not provided by the camera. Instead, that field can carry election data, as long as the maximal value of the election grade (calculated in equation 6) when considered using vehicle length units is smaller than the shortest vehicle length. That is, the minimal value of vehicle length should be greater than the maximal value of the control field.
A standard packet format, as defined by the relevant standardization groups, is used in implicit proxy. No indication exists for proxy operation. A packet carrying the proxy client information is received like any other packet. The complex part is the proxy election, but any proxy server election algorithm must deal with a scenario that somehow another vehicle is also proxying for the same proxy client. In this case, proxy transmission stops immediately.
A significant advantage of explicit proxy is the ability to perform smooth handoff. A new proxy server may continue from a previous proxy server using the same pseudo-vehicle identity and continue the “path history” field (a field that carries description of the historical path driven by the vehicle). This provides continuity, which is well appreciated when proxying for vehicles of an opposite lane, since proxy operation for an opposite lane can survive for just a few seconds. Smooth handoff is not possible with implicit proxy.
The various features and steps discussed above, as well as other known equivalents for each such feature or step, can be mixed and matched by one of ordinary skill in this art to perform methods and techniques in accordance with principles described herein. Although the disclosure has been provided in the context of certain embodiments and examples, it will be understood by those skilled in the art that the disclosure extends beyond the specifically described embodiments to other alternative embodiments and/or uses and obvious modifications and equivalents thereof. Accordingly, the disclosure is not intended to be limited by the specific disclosures of embodiments herein. For example, any digital computer system can be configured or otherwise programmed to implement the methods and techniques disclosed herein, and to the extent that a particular digital computer system is configured to implement the methods and techniques disclosed herein, it is within the scope and spirit of the disclosed embodiments. Once a digital computer system is programmed to perform particular functions pursuant to computer-executable instructions from program software that implements the method embodiments disclosed herein, it in effect becomes a special purpose computer particular to the method embodiments disclosed herein. The techniques necessary to achieve this are well known to those skilled in the art and thus are not further described herein.
Computer executable instructions implementing the methods and techniques disclosed herein can be distributed to users on a non-transitory computer-readable medium and are often copied onto a hard disk or other storage medium. When such a program of instructions is to be executed, it is usually loaded into the random access memory of the computer, thereby configuring the computer to act in accordance with the techniques disclosed herein. All these operations are well known to those skilled in the art and thus are not further described herein. The term “non-transitory computer-readable medium” encompasses distribution media, intermediate storage media, execution memory of a computer, and any other medium or device capable of storing for later reading by a computer a computer program implementing method embodiments disclosed herein.
While this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of the embodiments and methods will be apparent to those skilled in the art. The disclosure is to be understood as not limited by the specific embodiments described herein, but only by the scope of the appended claims.
This application is related to and claims priority from U.S. Provisional Patent Application No. 62/018821 titled “Method and apparatus for arbitration of vehicular network transmission of vehicles detected by sensors” and filed Jun. 30, 2014, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62018821 | Jun 2014 | US |