A vehicle can broadcast data about an environment or area around the vehicle via one or more wireless communication networks and/or protocols, e.g., vehicle-to-vehicle (V-TO-V) or vehicle-to-infrastructure (V2X or V2I) communications. Data shared via V-to-V or V2X communications can include data about a condition of infrastructure, (e.g., a defective bridge), traffic speed, a planned lane change, speed change, or other maneuver of another vehicle etc. However, V-to-V and/or V2X communication networks, e.g., available bandwidth for radio frequency (RF) communications, may become congested due to a number of vehicles broadcasting data and/or an amount of information each vehicle broadcasts. Congestion occurs when, e.g., a bandwidth of the communication network is utilized such that a sender of data, e.g., a vehicle computer, cannot access network resources to broadcast data, e.g., insufficient bandwidth is available to transmit one or more packets needed to provide data. Such congestion may cause that a vehicle fails to transmit critical information to other vehicles because of the congestion.
Herein disclosed is an infrastructure element comprising a computer that includes a processor and a memory. The memory stores instructions executable by the processor such that the computer is programmed to classify a traffic condition of a road segment based on data received from an object detection sensor with a field of view including the road segment and that is communicatively connected to the computer, and broadcast, to an area including the road segment, a vehicle-to-vehicle communication parameter, determined based on the classified traffic condition and specifying one or more of (i) a channel identifier, (ii) a transmission rate, (iii) a transmission power, or (iv) a message size.
The instructions may further include instructions to detect one or more vehicles within the road segment, to determine a density and an average speed of the one or more detected vehicles, and to classify, based on the density and the average speed, the traffic condition of the road segment as at least one of normal speed dense traffic, normal speed sparse traffic, low speed sparse traffic, and low speed dense traffic.
The instructions may further include instructions to determine the communication parameter based on classifying the traffic condition.
The instructions may further include instructions to broadcast a segmentation map of a portion of the road within the field of view of the object detection sensor, the segmentation map including (i) a location of each segment on the road, (ii) a traffic condition of each segment, (iii) a communication channel for each segment, and (v) communication parameters for each segment.
The instructions may further include instructions to determine a first and a second channel for a first direction and a second direction of the road, respectively, and a third channel for broadcasting the communication parameters and a segmentation map.
The instructions may further include instructions to determine a fourth and a fifth channel for a second road crossing the road.
The infrastructure element may further comprise a vehicle computer programmed to receive the communication parameter and transmit vehicle-to-vehicle data based on the communication parameter received from the computer and data received from vehicle sensors.
Further disclosed herein is a system including means for classifying a traffic condition of a road segment based on data received from an object detection sensor with a field of view including the road segment, and means for broadcasting to an area including at least the road segment, a vehicle-to-vehicle communication parameter, determined based on the classified traffic condition and specifying one or more of (i) a channel identifier, (ii) a transmission rate, (iii) a transmission power, or (iv) a message size.
The system may further include means for receiving the communication parameter, in a vehicle, and means for transmitting vehicle-to-vehicle data based on the communication parameter received from the computer and data received from vehicle sensors.
Further disclosed herein is a method, comprising classifying, in an infrastructure computer, a traffic condition of a road segment based on data received from an object detection sensor with a field of view including the road segment and that is communicatively connected to the computer, and broadcasting, to an area including the road segment, a vehicle-to-vehicle communication parameter, determined based on the classified traffic condition and specifying one or more of (i) a channel identifier, (ii) a transmission rate, (iii) a transmission power, or (iv) a message size.
The method may further include detecting one or more vehicles within the road segment, determining a density and an average speed of the one or more detected vehicles, and classifying, based on the density and the average speed, the traffic condition of the road segment as at least one of normal speed dense traffic, normal speed sparse traffic, low speed sparse traffic, and low speed dense traffic.
The method may further include determining the communication parameter based on classifying the traffic condition.
The method may further include broadcasting a segmentation map of a portion of the road within the field of view of the object detection sensor, the segmentation map including (i) a location of each segment on the road, (ii) a traffic condition of each segment, (iii) a communication channel for each segment, and (v) communication parameters for each segment.
The method may further include determining a first and a second channel for a first direction and a second direction of the road, respectively, and a third channel for broadcasting the communication parameters and a segmentation map.
The method may further include determining a fourth and a fifth channel for a second road crossing the road.
The method may further include receiving, in a vehicle computer, the communication parameter and transmitting a vehicle-to-vehicle message based on the communication parameter received from the computer and data received from vehicle sensors.
Further disclosed is a computing device programmed to execute any of the above method steps.
Yet further disclosed is a computer program product, comprising a computer readable medium storing instructions executable by a computer processor, to execute any of the above method steps.
Navigation of vehicles, e.g., autonomous vehicles, drones, robots, etc., may depend on information exchanged via wireless communication networks and/or protocols, e.g., vehicle-to-vehicle (V-to-V) or vehicle-to-infrastructure (V2X or V2I) communications. However, a wireless network may become congested when multiple vehicles within a limited area, e.g., an area with a radius of 1000 meters (m), broadcast information via a communication channel of the wireless network. In the present context, “congestion” occurs when channel bandwidth is substantially (e.g., more than 90%) utilized. For example, a communication channel bandwidth may be 6 Megabit/second (Mb/s). If 250 vehicles within an area each send a message with a size of 2400 bits and a transmission rate of 10 Hz, then the messages utilize an entirety (i.e., 100%) of bandwidth of the communication channel, because 2400 bits*10 Hz*250=6 Mb/s.
Congestion of a wireless communication channel can be detected and prevented or ameliorated by controlling messages broadcast by one or more vehicles. An exemplary system includes an infrastructure element comprising a computer that includes a processor and a memory. A sensor has a field of view including a road segment and is communicatively connected to the computer. The processor can be programmed to classify a traffic condition of the road segment based on data received from the sensor and to broadcast, to an area including the road segment, a vehicle-to-vehicle communication parameter. The parameter is determined based on the classified traffic condition and one or more of (i) a channel identifier, (ii) a transmission rate, (iii) a transmission power, or (iv) a message size or type. Herein, “broadcast” means transmitting data without specifying a receiver.
The computer 110 includes a processor and a memory such as are known. The memory includes one or more forms of computer-readable media, and stores instructions executable by the computer 110 for performing various operations, including as disclosed herein.
The computer 110 may operate the respective vehicle 100 in an autonomous, a semi-autonomous mode, or a non-autonomous (or manual) mode. For purposes of this disclosure, an autonomous mode is defined as one in which each of vehicle 100 propulsion, braking, and steering are controlled by the computer 110; in a semi-autonomous mode the computer 110 controls one or two of vehicles 100 propulsion, braking, and steering; in a non-autonomous mode a human operator controls each of vehicle 100 propulsion, braking, and steering.
The computer 110 may include programming to operate one or more of vehicle 100 brakes, propulsion (e.g., control of acceleration in the vehicle by controlling one or more of an internal combustion engine, electric motor, hybrid engine, etc.), steering, climate control, interior and/or exterior lights, etc., as well as to determine whether and when the computer 110, as opposed to a human operator, is to control such operations. Additionally, the computer 110 may be programmed to determine whether and when a human operator is to control such operations.
The computer 110 may include or be communicatively coupled to, e.g., via a vehicle 100 communications bus as described further below, more than one processor, e.g., controllers or the like included in the vehicle for monitoring and/or controlling various vehicle controllers, e.g., a powertrain controller, a brake controller, a steering controller, etc. The computer 110 is generally arranged for communications on a vehicle communication network that can include a bus in the vehicle such as a controller area network (CAN) or the like, and/or other wired and/or wireless mechanisms.
Via the vehicle 100 network, the computer 110 may transmit messages to various devices in the vehicle and/or receive messages from the various devices, e.g., an actuator 120, an HMI 140, etc. Additionally or alternatively, in cases where the computer 110 actually comprises a plurality of devices, the vehicle 100 communication network may be used for communications between devices represented as the computer 110 in this disclosure. Further, as mentioned below, various controllers and/or sensors may provide data to the computer 110 via the vehicle communication network.
The vehicle 100 actuators 120 are implemented via circuits, chips, or other electronic and or mechanical components that can actuate various vehicle subsystems in accordance with appropriate control signals as is known. The actuators 120 may be used to control braking, acceleration, and steering of a vehicle 100.
The sensors 130 may include a variety of devices such as are known to provide data to the computer 110. For example, the sensors 130 may include Light Detection And Ranging (LIDAR) sensor(s) 130, etc., disposed on a top of the vehicle 100, behind a vehicle 100 front windshield, around the vehicle 100, etc., that provide relative locations, sizes, and shapes of objects surrounding the vehicle 100. As another example, one or more radar sensors 130 fixed to vehicle 100 bumpers may provide data to provide locations of the objects, second vehicles 100, etc., relative to the location of the vehicle 100. The sensors 130 may further alternatively or additionally include camera sensor(s) 130, e.g. front view, side view, etc., providing images from an area surrounding the vehicle 100.
The HMI 140 may be configured to receive input from a human operator during operation of the vehicle 100. Moreover, an HMI 140 may be configured to display, e.g., via visual and/or audio output, information to the user. Thus, an HMI 140 may be located in the passenger compartment of the vehicle 100 and may include one or more mechanisms for user input.
The computer 110 may be programmed to receive a destination, e.g., location coordinates, via the HMI 140, and to determine a route from a current location of the vehicle 100 to the received destination. The computer 110 may be programmed to operate the vehicle 100 in an autonomous mode from the current location to the received destination based on the determined route.
The computer 110 may be configured for communicating through a vehicle-to-vehicle (V-to-V) wireless communication interface 160 with other vehicles 100, e.g., via a vehicle-to-vehicle communication. The communication interface 160 may include elements for sending (i.e., transmitting) and receiving radio frequency (RF) communications, e.g., chips, antenna(s), transceiver(s), etc. The V-to-V communication represents one or more mechanisms by which vehicle 110 computers 110 may communicate with other vehicles 100 and/or infrastructure element 205 computers 210 (see
In an example, the vehicle 100 computer 110 may broadcast messages based on a V-to-V communication protocol, e.g., DSRC, to other vehicles 100. The computer 110 may be programmed to receive data from vehicle 100 sensors 130, other computers 110, controllers, etc., to generate a V-to-V message, and to broadcast the V-to-V message via the communication interface 160. Table 1 shows an example set of data that may be included in a V-to-V message. In one example, a V-to-V message may include a header and any combination of message content corresponding to identifiers (SC1, SC2, SC3 in the example of Table 1) that specify content for the message, i.e., that convey meaning according to a description or definition provided for the content identifier. For example, a message including an identifier SC1 includes data content such as current vehicle 100 state, position, etc. In other words, inclusion of identifier SC1, SC2, SC3 in a message indicates content of data in the message that is associated with each of the included identifiers SC1, SC2, SC3.
The vehicle computer 110 may be programmed to transmit a message based on a set of one or more communication parameters C. Table 2 shows an exemplary set of communication parameters C. For example, the computer 110 may be programmed to determine a transmission power P, transmission rate R, message size S, and a broadcast channel number Nb based on data stored in a computer 110 memory. Additionally or alternatively, as discussed below with reference to
The computer 210 (or infrastructure computer 210) includes a processor and a memory such as are known. The memory includes one or more forms of computer-readable media, and stores instructions executable by the computer 210 for performing various operations, including as disclosed herein. The computer 210 may be configured for communicating through a wireless communication interface 220 with vehicles 100 via a V-to-V communication protocol, e.g., a DSRC network. The communication interface 220 may include chips, antenna(s), transceiver(s), etc. The communication interface 220 may have a communication coverage area (or area 225). Area 225, in the present context, is an area in which the computer 210 can communicate with another computer, e.g., a vehicle 100 computer 110. Dimensions and/or shape of area 225 is typically based on a communication technique, communication frequency, communication power, etc., of the communication interface 220, as well as environmental factors, the topography of the area 225, etc. In one example, area 225 is a circle centered at a location of the infrastructure element 205 with a radius of 1000 meters.
Infrastructure sensor(s) 230 may include one or more sensors that provide data by which objects can be detected, e.g., camera, Lidar (Light imaging detection and ranging), radar, etc. The computer 210 may be programmed to receive data from the sensor 230, and to detect objects such as vehicles 100, buildings, lane markings, etc., on a road 240 using image processing and/or depth-detection techniques. Typically, the communication coverage area 225 includes an area covered by the field of view 260 of the sensor(s) 230. Note that a communication range of an interface 220 may include an area larger than a field of view 260 of sensor(s) 230.
The computer 210 may be programmed to determine location coordinates of detected vehicles 100 with reference to, e.g., axes of a three-dimensional Cartesian coordinate system, e.g., where a horizontal X-Z plane is defined along with vertical X-Y and Z-Y planes, the planes and respective axes being orthogonal to one another. An origin, i.e., intersection of all three axes, of the coordinate system could be at, e.g., a reference location of GPS (Global Positioning System) coordinates system. In one example, the computer 210 may identify two-dimensional (2D) location coordinates of a land vehicle 100 on the ground surface with respect to horizontal axes of the three-dimensional coordinate system. In another example, the computer 210 may be programmed to identify 3D location coordinates of an aerial vehicle 100 with reference to all three axes of the three-dimensional coordinate system.
The infrastructure element 205 is placed, typically permanently fixed, at a location in an area 225, e.g., mounted to various non-moving objects, poles, etc. Thus, a field of view 260 is specified based on a location and orientation (i.e., with respect to a three-dimensional coordinate system) of the sensor 130 on the infrastructure element 205. A field of view 260 can include a ground surface area, e.g., an area defined by a road 240 segment 250. As shown in
The infrastructure element 205 computer 210 may be programmed to classify a traffic condition of a road 240 segment 250 based on data received from an object detection sensor 230 with a field of view 260 including the road 240 segment 250. The computer 210 can be programmed to broadcast, to the communication area 225 including the road 240 segment 250, a vehicle-to-vehicle communication parameter C set, determined based on the classified traffic condition and specifying one or more of (i) a channel identifier Nb, (ii) a transmission rate R, (iii) a transmission power P, or (iv) a message size S.
In the present context, a road 240 segment 250 is a portion of one or more of road 240 lanes 245A, 245B, 245C, 245D within the field of view 260 of the sensor 230. In one example, shown in
In the present condition, a “traffic condition” of a segment 250 is a set of data including an average speed and a density of vehicle 100, e.g., a segment density p and an average speed v of vehicles 100 in a segment 250. In the present context, “classifying” means determining a classification Q for a segment 250. A classification Q may be one of a group of classifications, such as normal-speed dense traffic, low-speed dense traffic, etc., and/or specified as with a number within a range, e.g., a percentage. The computer 210 may classify the traffic condition by determining a classification Q. Table 3 shows an example set of rules to determine a traffic condition classification Q based on a density p and an average speed v. In the present context, segment density p is specified as a number of vehicles 100 per specified distance, e.g., 120 veh/km. Thus, the density p may be determined by dividing the number of vehicles 100 located within perimeter of a segment 250 into the length, i.e., distance, d of the segment 250. Additionally or alternatively, a segment 250 density p may be specified in vehicles per second, e.g., a number of vehicles 100 entering a segment 250 per second.
The computer 210 may be programmed to detect the vehicle(s) 100, and to determine the segment 250 density p based on a number of detected vehicles 100 in a segment 250. The computer 210 may determine a number of vehicles 100 in the segment 250 based on whether determined location coordinates of the vehicles 100 are within location coordinates of the segment 250, i.e., are within a boundary defining the segment 250. The computer 210 may determine the segment 250 density p based on the identified number of vehicles 100 in the segment 250 and a length d of the segment 250. A vehicle 100 having a 3D location coordinates, e.g., a drone, is within a segment 250 when a projection of the vehicle 100 location on the ground surface, i.e., x, y coordinates of the drone vehicle 100, is likewise within boundaries of the segment 250.
In one example, the computer 210 may be programmed, in accordance with a table, e.g., in the form of Table 3 below, to classify the traffic condition of a segment 250 by determining a traffic condition classification Q, e.g., normal speed dense traffic, normal speed sparse traffic, low speed sparse traffic, and low speed dense traffic, based on the average speed v and densify p of the respective segment 250. Additionally or alternatively, the classification Q may be specified in a range, e.g., 1 (no congestion) to 10 (non-moving traffic jam).
In one example, the computer 210 may be programmed to determine an average speed v of a segment 250 based on Equation (1). Thus, the computer 210 may detect k vehicles 100 within a segment 250. The computer 210 may determine a speed vi of each of the vehicles 100 and determine the average speed v based on the vehicles 100 number k and speed vi of each of the vehicles 100.
As discussed above, computer 210 can be programmed to determine the communication parameter C, e.g., Table 2, for a segment 250 and broadcast the determined communication parameter for segment 250.
In one example, the computer 210 may be programmed to determine the communication parameter C for a segment 250 based on the determined traffic condition classification Q of the segment 250. A lookup table or the like, e.g., as illustrated in Table 4 below, can specify example communication parameter(s) C for corresponding to respective quantifiers Q, as specified by Table 3. For example, upon determining a classification Q to be “low-speed dense traffic”, the computer 210 may be programmed to determine a transmission rate R of 1 Msg/sec, transmission power of 4 dBm and a message size S at most including current vehicle state SC1 and current vehicle status SC2.
In yet another example, in contrast to determining the transmission rate R and the power P based on tables such as Table 3-4, the computer 210 may be programmed, based on Equation(s) (2)-(3), to determine the transmission rate R and the power P for the segment(s) 250 based on the determined density p. As stated in Table 2, the power P may be specified in dBm which may be equivalent to 10 milliwatt (mW). Thus, with reference to Equation (3), a value 0 (zero) for the power P indicates a broadcast with a low power level of 0 dBm, e.g., to a very limited area around the broadcasting vehicle 100. Vmax represents a speed limit for the respective segment 250, e.g., determined based on map data.
With respect to Equation (2), q denotes a weight parameter, e.g., with a unit km/vehicle, e.g., 0.05 km/vehicle, and o is an offset parameter with no unit limit, e.g., 1. Herein, pth is a density threshold, e.g., 150 vehicle/km. In one example, in order to achieve transmission rates R less than a maximum threshold Rmax, e.g., 20 msg/sec, parameters r and o may be determined based on equations (4) and inequality (5). Parameter q denotes a weight, e.g., with a unit of kilometer/vehicles, which may indicate a desired average space (length of road) between vehicles. Parameter o is a constant offset.
r=Rmax (4)
o≥1−qp (5)
As discussed above, the computer 110 of a vehicle 100 may be programmed to broadcast V-to-V data (e.g., messages) via the V-to-V wireless network. The computer 110 may be programmed to receive the communication parameter C such as transmission rate R, power P, and/or message size S of a segment 250 broadcasted by the infrastructure element 205, and to transmit a V-to-V message according to specification(s) of the received communication parameter(s) C and including data from vehicle 100 sensors 130, upon determining that the vehicle 100 is in the respective segment 250.
The vehicle 100 computer 110 may be programmed to actuate the communication interface 160 to transmit a V-to-V message in accordance with the transmission rate R and the power P. The computer 110 may be programmed to determine a V-to-V message's data content based on the received communication parameter C. For example, upon receiving a communication parameter C including message content identifiers SC1 and SC2, the computer 110 may be programmed to exclude planned vehicle state SC3 from the broadcasted V-to-V message. In other words, the computer 110 may be programmed to adjust the message size S to comply with the received communication parameter C.
The vehicle 100 computer 110 may be programmed to determine whether the vehicle 100 is within a segment 250 based on data received from the infrastructure element 205 and vehicle 100 location data, e.g., location coordinates received from a vehicle 100 location sensor 130 such as a GPS (General Positioning Sensor). The computer 210 of the infrastructure element 205 may be programmed to broadcast a segmentation map that specifies a location of segments 250 and communication parameter C for each mapped segment 250. The infrastructure element 205 computer 210 may be programmed to broadcast a segmentation map of a portion of the road 240 within the field of view 260 of the sensor 230. The segmentation map may include (i) a location of each segment 250 on the road 240, (ii) a traffic condition of each segment, (iii) a communication channel Nb for each segment 250, and (v) communication parameters C for each segment.
Table 5 shows an example segmentation map for m segments within the field of view 260. Each row of Table 5 may include information corresponding to one segment 250 in the field of view 260. For example, the segmentation map may include location coordinates of segment 250 start point 255 and length d of the segment 250. Segments 250 may have same length d or different lengths d1, . . . , dm. The segmentation map may include traffic conditions of each segment 250, e.g., density p1 . . . pm, average speed v1 . . . vm, and/or classification Q1 . . . Qm. Each row may include a set of one or more communication parameters denoted by C1 . . . Cm. A set of communication parameters Ci may include at least one of transmission rate Ti, power Pi, message size Si, broadcast channel number Nbi.
With reference to Tables 4-5, a message size Si may specify message content that is allowed for broadcast by vehicles 100 located in or on the segment 250 having the respective identifier idi. For example, if Si={SC1, SC2}, then a vehicle 100 computer 110 located within the segment 250 with identifier id1 may at most broadcast message contents identified by identifiers SC1 and SC2 (i.e., no future state data such as lane change data).
With reference to Table 5, the segmentation map may include a broadcast channel for each segment 250, e.g., a channel Nbi for a segment 250 having a respective identifier idi. Thus, the computer 110 of the vehicle 100 may be programmed to, upon determining that the vehicle 100 is in the respective segment 250 having an identifier idi, broadcast V-to-V message's data on the channel Nbi.
As discussed above, the computer 210 of the infrastructure element 205 may determine a broadcast channel number Nbi for each segment 250. In one example, the computer 210 may be programmed to determine a same broadcast channel number for segments 250 on a lane 245A, 245B, 245C, 245D in a given direction. For example, with reference to
The computer 210 may be programmed to determine different broadcast channel numbers for different roads 240 and/or lanes 245A, 245B, 245C, 245D. In one example, the computer 210 could determine a first broadcast channel number Nbi for the lanes 245A, 245B, a second broadcast channel number Nbi for the lanes 245C, 245D, a fourth and a fifth channel for a second road 240 crossing the road 240.
The process 300 begins in a block 310, in which the computer 210 receives sensor 230 data, e.g., from a camera sensor 230, Lidar sensor 230, etc.
Next, in a block 320, the computer 210 determines the road 240 segments 250. In one example, the infrastructure element 205 and the field of view 260 of the sensor(s) 230 may be non-moving. The location of segments 250, e.g., the location coordinates of boundaries of each segment 250, the length d of the segments 250, etc., may be stored in a computer 210 memory. Additionally or alternatively, the computer 210 may be programmed to determine the segments 250 data based on received image data from the camera sensor 230 and stored information concerning location coordinates and a direction of the sensor 230 field of view 260.
Next, in a block 330, the computer 210 detects vehicle(s) 100 in the field of view 260. The computer 210 may be programmed to detect vehicle(s) 100 based on object data received from the sensor(s) 230. The computer 210 may be programmed to determine whether a vehicle 100 is detected in the field of view 260 and, if a vehicle 100 is detected, to then determine location coordinates, speed, etc., of the detected vehicle(s) 100. As discussed above, the computer 210 may be programmed to determine a vehicle 100 location based on stored location of the infrastructure element 205 and field of view 260 of the sensor 230. Thus, the computer 210 may be programmed to determine the number of vehicles 100 detected for each of the segments 250 and the respective speed of each vehicle 100. The computer 210 may be further programmed to determine a density p and an average speed v of vehicles 100 for each segment 250 based on the detected vehicles 100, as discussed above.
Next, in a block 340, the computer 210 determines communication parameter(s) for each segment 250, e.g., communication parameter Ci for segment 250 with identifier idi. In one example, the computer 210 may be programmed to determine a traffic condition classification Qi for the segment 250, e.g., based on Table 3, and to determine the communication parameter Ci based on the determined classification Qi, e.g., based on Table 4. In another example, the computer 210 may be programmed, e.g., according to Equations (2)-(3) to determine the communication parameter Ci based on the determined density p and/or average speed v of each segment 250.
Next, in a block 350, the computer 210 broadcasts the segmentation map including the communication parameter(s) Ci. In one example, the computer 210 may be programmed to broadcast the segmentation map, e.g., including data such as shown in Table 5, via the control channel Nc.
Following the block 350, the process 300 ends, or alternatively returns to the block 310, although not shown in
The process 400 begins in a decision block 410, in which the computer 110 determines whether a segmentation map is received. In one example, the computer 110 may be programmed to determine whether the segmentation map including the communication parameter Ci is received, e.g., via the wireless communication control channel Nc. In one example, the control channel number Nc may be stored in the computer 110 memory. If the computer 110 determines that the segmentation map is received, then the process 400 proceeds to a block 430; otherwise the process 400 proceeds to a block 420.
In the block 420, the computer 110 determines the communication parameter C, e.g., based on data stored in the computer 110 memory. In one example, the computer 110 memory may store specified transmission rate R, power P, and/or message size S. For example, the stored information may be based on previously received segmentation map.
In the block 430, the computer 110 receives vehicle 100 location data. For example, the computer 110 may be programmed to determine vehicle 100 location based on location coordinates data received from a vehicle 100 GPS sensor 130 with reference to a GPS coordinates system.
Next, in a decision block 440, the computer 110 determines whether the vehicle 100 is within a segment 250. The computer 110 may be programmed to determine whether the vehicle 100 is within a segment 250 based on location data of the respective segment 250, e.g., start point 255 location coordinates, length d of the segment 250, etc., and the vehicle 100 location data, e.g., GPS location coordinates. If the computer 110 determines that the vehicle 100 is within a segment 250, e.g., with identifier idi, then the process 400 proceeds to a block 450; otherwise the process 400 proceeds to a block 460.
In the block 450, the computer 110 determines the communication parameter for the vehicle 100 based on the determined segment 250. The computer 110 may be programmed to determine communication parameter Ci based on the determined identifier idi of the segment 250 in which the vehicle 100 is determined to be located.
Next, in a block 460, the computer 110 receives vehicle 100 data. The computer 110 may be programmed to receive vehicle 100 data from vehicle 100 sensors 130, other computers in the vehicle 100, data stored in the computer 110, etc. Vehicle 100 data may include data corresponding to message contents such as current state SC1, a current status of operation SC2 and/or future (or planned) state SC3 of the vehicle 100.
Next, in a block 470, the computer 110 broadcasts V-to-V data based on the determined communication parameter Ci and the received vehicle 100 data. The computer 110 may identify message content based on received message size Si. For example, if Si includes SC1 and SC2, then the computer 110 may omit any future state data such as planned lane change data from broadcast V-to-V messages. The computer 110 may actuate the vehicle 100 wireless communication interface 160 to broadcast V-to-V data based on the received transmission rate Ri and the power Pi.
Following the block 470, the process 400 ends, or alternatively returns to the decision block 410, although not shown in
The article “a” modifying a noun should be understood as meaning one or more unless stated otherwise, or context requires otherwise. The phrase “based on” encompasses being partly or entirely based on.
Computing devices as discussed herein generally each include instructions executable by one or more computing devices such as those identified above, and for carrying out blocks or steps of processes described above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, Java™, C, C++, Visual Basic, Java Script, Perl, HTML, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer-readable media. A file in the computing device is generally a collection of data stored on a computer readable medium, such as a storage medium, a random-access memory, etc.
A computer-readable medium includes any medium that participates in providing data (e.g., instructions), which may be read by a computer. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, etc. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random-access memory (DRAM), which typically constitutes a main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH, an EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
With regard to the media, processes, systems, methods, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of systems and/or processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the disclosed subject matter.
Accordingly, it is to be understood that the present disclosure, including the above description and the accompanying figures and below claims, is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to claims appended hereto and/or included in a non-provisional patent application based hereon, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the disclosed subject matter is capable of modification and variation.
Number | Name | Date | Kind |
---|---|---|---|
6741926 | Zhao | May 2004 | B1 |
8907814 | Chen | Dec 2014 | B2 |
9633560 | Gao et al. | Apr 2017 | B1 |
9852637 | Hayee et al. | Dec 2017 | B2 |
10231187 | Rubin | Mar 2019 | B1 |
10237866 | Hwang et al. | Mar 2019 | B2 |
10466716 | Su | Nov 2019 | B1 |
20130154853 | Chen | Jun 2013 | A1 |
20160133130 | Grimm | May 2016 | A1 |
20180158329 | Benhammou et al. | Jun 2018 | A1 |
20180365909 | Cheng | Dec 2018 | A1 |
20190104525 | Santhanam et al. | Apr 2019 | A1 |
20190132709 | Graefe | May 2019 | A1 |
20190294966 | Khan | Sep 2019 | A1 |
Number | Date | Country |
---|---|---|
2017052488 | Mar 2017 | WO |
2017191615 | Nov 2017 | WO |
2018145067 | Aug 2018 | WO |
2018187632 | Oct 2018 | WO |
2019137622 | Jul 2019 | WO |
Entry |
---|
Verma et al., “An Analytical Review of the Algorithms Controlling Congestion in Vehicular Networks”, I0SR Journal of Computer Engineering (IOSR-JCE), vol. 17, Issue 3, Ver. IV, May-Jun. 2015; www.iosrjournals.org. |
Number | Date | Country | |
---|---|---|---|
20200312134 A1 | Oct 2020 | US |