Approaches for automatically configuring adaptive cruise control based on v2x communications
Patent Information
- Application Number
- PCT/CN2025/082838
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2026-09-24
Smart Images

Figure CN2025082838_24092026_PF_FP_ABST
Abstract
Description
APPROACHES FOR AUTOMATICALLY CONFIGURING ADAPTIVE CRUISE CONTROL BASED ON V2X COMMUNICATIONSBACKGROUNDField of Disclosure
[0001] The present disclosure relates generally to Vehicle-to-Everything (V2X) communications, and more particularly to V2X vehicles. Description of Related Art
[0002] Vehicle-to-everything (V2X) is a communication standard for vehicles and related entities to exchange information regarding a traffic environment. V2X can include vehicle-to-vehicle (V2V) communication between V2X-capable vehicles, vehicle-to-infrastructure (V2I) communication between the vehicle and infrastructure-based devices (commonly termed roadside units, or RSUs) , vehicle-to-person (V2P) communication between vehicles and nearby people (pedestrians, cyclists, and other road users) , and the like.
[0003] Further, V2X can use any of a variety of wireless radio frequency (RF) communication technologies. Cellular V2X (CV2X) , for example, is a form of V2X that uses cellular-based communication, such as long-term evolution (LTE) , fifth-generation new radio (5G NR) , and / or other cellular technologies in a direct-communication mode, as defined by the 3rd Generation Partnership Project (3GPP) . A component or device on a vehicle, RSU, or other V2X entity used to communicate V2X messages is generically referred to as a V2X device or V2X user equipment (UE) .
[0004] Autonomous and semi-autonomous vehicles, including vehicles with Advanced Driver-Assistance Systems (ADAS) , can communicate information using V2X. To help V2X-capable vehicles maneuver safely on the road, V2X vehicles can communicate such information to other V2X vehicles. BRIEF SUMMARY
[0005] A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. One general aspect includes obtaining information describing an environment in which an ego vehicle is located based at least in part on one or more V2X messages. The information including at least respective states of a plurality of other vehicles located in the environment. The general aspect also includes determining an adaptive cruise control (ACC) speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, where the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles. The general aspect also includes generating an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
[0006] Implementations may include one or more of the following features. The method where at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications. The one or more V2X messages provide information describing at least one occluded object that is undetectable by a plurality of sensors of the ego vehicle, the plurality of sensors including at least one camera associated with the ego vehicle, at least one lidar sensor associated with the ego vehicle, or a combination thereof. The ACC speed setting of the ego vehicle is determined based on the one or more V2X messages in response to a determination that a radar system associated with the ego vehicle has a low confidence condition. A state of a given vehicle may include a corresponding position, velocity, and acceleration value of the vehicle. The plurality of candidate states are determined based on a genetic algorithm, and where the plurality of candidate states include at least some of the respective states of the plurality of other vehicles. The best scoring candidate state is determined based on a fitness function, and where the fitness function is implemented to evaluate a given candidate state based on one or more physical constraints. The method whether the one or more physical constraints include adhering to state values that promote passenger comfort, adhering to a speed limit, adhering to a safe following distance from a leading vehicle, or a combination thereof. The fitness function scores the at least one candidate state based on a vehicle scenario experienced by the ego vehicle. The best scoring candidate state provides one or more state values based at least in part on an acceleration value of a leading vehicle and a traffic flow of the plurality of other vehicles driving in the environment. The best scoring candidate state provides one or more state values based at least in part on a distance between the ego vehicle and a stationary or decelerating object. The best scoring candidate state provides one or more state values based at least in part on an ability of the ego vehicle to pass an intersection managed by a traffic signal. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
[0007] This summary is neither intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. The subject matter should be understood by reference to appropriate portions of the entire specification of this disclosure, any or all drawings, and each claim. The foregoing, together with other features and examples, will be described in more detail below in the following specification, claims, and accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 illustrates an environment in which a conventional adaptive cruise control (ACC) system may be deployed.
[0009] FIG. 2 illustrates an example scenario in which a driving environment may be analyzed to determine an ACC speed setting, according to some embodiments.
[0010] FIG. 3 illustrates another example scenario in which a driving environment may be analyzed to determine an ACC speed setting, according to some embodiments.
[0011] FIG. 4 illustrates yet another example scenario in which a driving environment may be analyzed to determine an ACC speed setting, according to some embodiments.
[0012] FIG. 5 is a flow diagram of an example method of generating adaptive cruise control (ACC) requests to control vehicle speed based in part on analyzed V2X communications, according to some embodiments.
[0013] FIG. 6 is a flow diagram of an example method of applying a genetic algorithm to determine an ACC speed setting, according to some embodiments.
[0014] FIG. 7 is a flow diagram of a method of configuring an adaptive cruise control (ACC) speed setting of an ego vehicle, according to some embodiments.
[0015] FIG. 8 is a block diagram of an embodiment of a V2X device.
[0016] FIG. 9 is a perspective view of an example vehicle, according to an embodiment.
[0017] Like reference symbols in the various drawings indicate like elements, in accordance with certain example implementations. In addition, multiple instances of an element may be indicated by following a first number for the element with a letter or a hyphen and a second number. For example, multiple instances of an element 110 may be indicated as 110-1, 110-2, 110-3 etc. or as 110a, 110b, 110c, etc. When referring to such an element using only the first number, any instance of the element is to be understood (e.g., element 110 in the previous example would refer to elements 110-1, 110-2, and 110-3 or to elements 110a, 110b, and 110c) .DETAILED DESCRIPTION
[0018] Several illustrative embodiments will now be described with respect to the accompanying drawings, which form a part hereof. While particular embodiments, in which one or more aspects of the disclosure may be implemented, are described below, other embodiments may be used and various modifications may be made without departing from the scope of the disclosure.
[0019] Various embodiments described herein provide an improved approach rooted in computer technology for a V2X-based adaptive cruise control (ACC) system. According to various embodiments, information describing a driving environment as obtained by a vehicle in which the V2X-based ACC system is implemented may be analyzed to determine a best (or optimal) ACC speed setting for the vehicle. For instance, the vehicle may use V2V communications to determine respective states (e.g., position, velocity, acceleration, etc. ) of nearby vehicles. According to various embodiments, such information may be evaluated at or near real-time to determine the best ACC speed setting for the vehicle. Upon determining the best ACC speed setting, the V2X-based ACC system may generate a corresponding ACC request to an engine control module (ECM) to adjust the speed of the vehicle. Based on the ACC request, the ECM may be configured to manage a throttling mechanism of the vehicle to match the best ACC speed setting.
[0020] According to some embodiments, a genetic algorithm may be applied to determine the best ACC speed setting. For example, the genetic algorithm may be applied to evaluate information describing the driving environment to determine a comfortable and safe speed for an ego vehicle. For example, the information may describe states of vehicles driving around the ego vehicle. A vehicle state may be represented by a position, velocity, and acceleration of the vehicle, and may be obtained based on V2X (e.g., V2V) communications. The genetic algorithm may be configured to encode potential solutions as chromosomes, where each chromosome represents a candidate state for the ego vehicle. The genetic algorithm may iteratively evaluate the potential solutions, for example, based on selection, crossover, and mutation operations (or steps) . A fitness function may be applied to evaluate each potential solution, for example, based on criteria that optimizes multiple objectives, such as vehicle safety and passenger comfort. Upon convergence, the genetic algorithm may provide the best (or optimal) ACC speed setting for the ego vehicle.
[0021] Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, by applying V2X communications to determine information about a driving environment, the described techniques can be used to more reliably determine ACC speed settings for vehicles in contrast to a traditional ACC system, which relies on sensors with limited range to monitor a single leading vehicle. In some examples, by applying the genetic algorithm, optimal ACC speed settings may be determined for an ego vehicle even in complex, dynamic traffic scenarios with multiple interacting variables, such as dynamics of surrounding vehicles, traffic signal states and timing, obstacles detected on the road, and speed limits. Further, the genetic algorithm may be configured to optimize multiple objectives simultaneously, such as maintaining safety (e.g., maintain a safe following distance) while enhancing passenger comfort (e.g., minimizing abrupt acceleration or deceleration) . Additional details will follow after an initial description of relevant systems and technologies.
[0022] FIG. 1 illustrates an environment in which a conventional adaptive cruise control (ACC) system may be deployed. ACC is an advanced driver assistance (ADAS) technology that enhances traditional cruise control by automatically adjusting vehicle speed to maintain a safe distance from a leading vehicle.
[0023] In the environment 100 of FIG. 1, an ACC system is implemented in an ego vehicle 102. The ACC system allows a driver of the ego vehicle 102 to configure a desired ACC speed setting (or cruising speed) . The ACC system may be configured to maintain the driver-set velocity while managing acceleration and deceleration of the ego vehicle 102 to maintain a safe following distance from a leading vehicle 104. The ACC system may employ a network of sensors, including radar, camera (s) , GPS, to monitor the leading vehicle 104. In this example, the ACC system in the ego vehicle 102 may detect when the leading vehicle 104 is slowing down and may accordingly reduce the speed of the ego vehicle 102 to maintain a safe distance. Similarly, the ACC system may detect when the leading vehicle 104 increases its speed or changes lanes, and may accordingly increase the speed of the ego vehicle 102 to correspond to the desired ACC speed setting configured by the driver.
[0024] A significant limitation of conventional ACC stems from its inability to monitor and respond to the deceleration of vehicles in front of a leading vehicle, which can result in a lagged reaction time when multiple vehicles are involved in sudden braking scenarios. That is, when vehicles further ahead in traffic suddenly brake or stop, a conventional ACC system in a vehicle is unaware of such braking until its leading vehicle begins to slow down, which may result in a cascading delay in response time. This delayed reaction may become particularly problematic on roads with higher speed limits, where the ACC system may initiate braking too late, resulting in an aggressive deceleration that may be uncomfortable for passengers and potentially dangerous.
[0025] For example, in FIG. 1, a vehicle 108 ahead of the leading vehicle 104 may experience a sudden braking scenario 110, for example, due to the presence of an obstacle 112 on the road. In this example, the ACC system in the ego vehicle 102 would typically be unaware of the sudden braking by the vehicle 108 until the leading vehicle 104 begins to slow down. However, for reasons discussed, the leading vehicle 104, which follows another vehicle 106, may experience a significantly delayed reaction to the sudden braking. As a result, the ACC system may cause the ego vehicle 102 to experience aggressive braking, potentially resulting in passenger discomfort and safety concerns.
[0026] Embodiments described herein provide an improved V2X-based adaptive cruise control (ACC) system that may be configured to dynamically determine the best ACC speed setting for a vehicle based on driving environment. The V2X-based ACC system may be implemented as a V2X device (e.g., the V2X device 800 of FIG. 8) . The V2X-based ACC system may be configured to determine the best ACC speed setting based on an evaluation of multiple variables in the driving environment, such as dynamics (e.g., position, velocity, acceleration) of other vehicles in the driving environment, traffic signal states and timing, obstacles detected on the road, and speed limits, to name some examples.
[0027] For example, FIG. 2 illustrates an example scenario in which a driving environment may be analyzed to determine an ACC speed setting, according to some embodiments.
[0028] In the example scenario 200, an ego vehicle 202 implements the V2X-based ACC system. The V2X-based ACC system may obtain various information describing the driving environment using V2X communications. The information may include states (e.g., positions, velocities, accelerations, etc. ) of surrounding vehicles traveling along the same direction as the ego vehicle 202, such as vehicles 204, 206, 208, and 210. In this example, each of the vehicles 204, 206, 208, and 210 may provide (or broadcast) information describing their respective state to the vehicle 202 using V2V communications. The V2X-based ACC system implemented in the ego vehicle 202 may evaluate such information to determine the best ACC speed setting for the ego vehicle 202 while considering traffic flow corresponding to all of the vehicles 204, 206, 208, and 210, rather than being limited to a single leading vehicle (e.g., the vehicle 206) like conventional ACC systems. By aligning the speed of the ego vehicle 202 with the general traffic flow rather than reacting only to the immediate leading vehicle, the V2X-based ACC system can reduce stop-and-go behavior and result in a smoother and safer driving experience with minimized sudden braking or acceleration events, which plague conventional ACC systems.
[0029] FIG. 3 illustrates another example scenario in which a driving environment may be analyzed to determine an ACC speed setting, according to some embodiments.
[0030] In the example scenario 300, an ego vehicle 302 implements the V2X-based ACC system. The V2X-based ACC system may obtain various information describing the driving environment using V2X communications, such as states broadcasted by vehicles 304 and 306. The V2X-based ACC system implemented in the ego vehicle 302 may evaluate such information, in addition to other V2V message broadcasts, to determine a best ACC speed setting for the ego vehicle 302. In the example scenario 300, the vehicle 306 may experience a sudden braking event 308. In response, the vehicle 306 may broadcast a V2V message, which indicates the vehicle 306 is rapidly slowing down or stopping. Based on such information, the V2X-based ACC system implemented in the ego vehicle 302 may proactively cause adjustment of the ACC speed setting to reduce the speed of the ego vehicle 302 without waiting for the vehicle 304 (or a driver of the vehicle 304) in front of the ego vehicle 302 to react. Thus, unlike conventional ACC systems with limited sensor detection range, the V2X-based ACC system is capable of responding to traffic events that occur beyond conventional sensor detection range.
[0031] FIG. 4 illustrates yet another example scenario in which a driving environment may be analyzed to determine an ACC speed setting, according to some embodiments.
[0032] In the example scenario 400, an ego vehicle 402 implements the V2X-based ACC system. The V2X-based ACC system may obtain various information describing the driving environment using V2X communications. For example, the environmental information may include a state (e.g., position, velocity, acceleration) broadcasted by a vehicle 404 using one or more V2V messages. In this driving environment, the obtained information may also include a light state of a traffic signal 406 (e.g., red, yellow, green) as well as an amount of time remaining until the light state changes. For example, a roadside unit (RSU) 408 associated with the traffic signal 406 may broadcast one or more V2I messages providing traffic signal state and remaining time. In another example, sensor perception capabilities of the ego vehicle 402 may detect traffic signal state.
[0033] The V2X-based ACC system implemented in the ego vehicle 402 may evaluate such information to determine a best ACC speed setting for the ego vehicle 402. According to some embodiments, the V2X-based ACC system may be configured to decrease the ACC speed setting for the ego vehicle 402 when the light status indicates a red light. The amount of decrease to the ACC speed setting may be determined based on a distance between the ego vehicle 402 and an intersection managed by the traffic signal 406, and an amount of time remaining until the state of the traffic signal changes, for example, from red to green. According to some embodiments, the V2X-based ACC system may be configured to maintain the ACC speed setting for the ego vehicle 402 when the traffic signal state corresponds to a green light. Many variations are possible.
[0034] FIG. 5 is a flow diagram of an example method of generating adaptive cruise control (ACC) requests to control vehicle speed based in part on analyzed V2X communications, according to some embodiments. The functions illustrated in the blocks of FIG. 5 may be performed by an ego vehicle. As such, the functions in one or more of the blocks illustrated in FIG. 5 may be one way to implement the functionality illustrated in FIG. 2-4, from the perspective of the ego vehicle. A V2X device implemented in the ego vehicle, such as the V2X device 800 of FIG. 8, may be configured to perform operations associated with the method 500.
[0035] At block 510, information describing a driving environment may be obtained by the ego vehicle. According to various embodiments, some of the information may be obtained using V2X communications. For example, according to some embodiments, the ego vehicle may determine state information, such as position, velocity, and acceleration values corresponding to vehicles that are within a threshold distance of the ego vehicle based on vehicle-to-vehicle (V2V) communications. According to some embodiments, the ego vehicle may determine traffic signal information, such as a traffic signal state (e.g., red, yellow, green) as well as an amount of time remaining until the traffic signal state changes based on vehicle-to-infrastructure (V2I) communications, for example, between the ego vehicle and a roadside unit. The V2X communications may use any of a variety of wireless radio frequency (RF) communication technologies, such as cellular V2X (CV2X) , for example, which may be based on cellular-based communication, such as long-term evolution (LTE) , fifth-generation new radio (5G NR) , and / or other cellular technologies in a direct-communication mode, as defined by the 3rd Generation Partnership Project (3GPP) .
[0036] According to some embodiments, the ego vehicle may determine information describing the driving environment using non-V2X communications. For example, according to some embodiments, the ego vehicle may determine speed limits and the presence of any obstacles on the road based on its perception capabilities. The perception capabilities may involve a combination of sensors, computer vision, and machine learning techniques. For example, cameras mounted on the ego vehicle may capture images of traffic signs, including speed limit signs, which may be evaluated using computer vision and machine learning techniques to identify and interpret speed limits. According to some embodiments, the ego vehicle may integrate GPS and map data to confirm speed limits detected using its perception capabilities. According to some embodiments, GPS and map data may be used to determine a road type on which the ego vehicle is traveling and any vehicles that are also traveling on the same road (or in the same direction) as the ego vehicle.
[0037] At block 520, the ego vehicle may determine a target adaptive cruise control (ACC) speed setting based on the information obtained in block 510. According to various embodiments, a genetic algorithm may be used to determine the ACC speed setting, as described below in reference to FIG. 6.
[0038] At block 530, the ego vehicle may generate an ACC request based on the ACC speed setting determined for the ego vehicle in block 520. The ACC request may be provided to an engine control module (ECM) of the ego vehicle. The ECM may be configured to adjust a throttling mechanism of the ego vehicle to increase or decrease acceleration of the ego vehicle to correspond to the ACC speed setting.
[0039] FIG. 6 is a flow diagram of an example method of applying a genetic algorithm to determine an ACC speed setting, according to some embodiments. The functions illustrated in the blocks of FIG. 6 may be performed by an ego vehicle. As such, the functions in one or more of the blocks illustrated in FIG. 6 may be one way to implement the functionality illustrated in FIG. 2-4, from the perspective of the ego vehicle. A V2X device implemented in the ego vehicle, such as the V2X device 800 of FIG. 8, may be configured to perform operations associated with the method 600.
[0040] The genetic algorithm can be implemented as an optimization technique that mimics natural evolution by iteratively refining potential solutions to find an optimal result. According to some embodiments, the genetic algorithm may be configured to combine data from online maps, perception systems, and V2X communications to determine an optimal speed for an ego vehicle by leveraging its ability to handle complex, multi-objective optimization problems. For example, the genetic algorithm may encode potential solutions as chromosomes that each represent a candidate state (e.g., position, velocity, acceleration) of vehicles in a driving environment. The genetic algorithm may iteratively evaluate the chromosomes, for example, based on selection, crossover, and mutation operations (or steps) . A fitness function may be applied to evaluate each candidate state, for example, based on criteria that optimizes multiple objectives, such as vehicle safety and passenger comfort. Upon convergence, the genetic algorithm may provide the best (or optimal) ACC speed setting for the ego vehicle based on the driving environment in which the ego vehicle is operating.
[0041] At block 610, a vehicle group may be determined. The vehicle group may be determined as part of a select operation of the genetic algorithm. According to some embodiments, a distance cycle may be defined to identify vehicles within a threshold distance of the ego vehicle. In some embodiments, all vehicles within the threshold distance that are traveling in the same direction as the ego vehicle may be included in the vehicle group while the ego vehicle and any vehicles traveling in a different direction are excluded. In some embodiments, vehicle direction may be determined based on online map data, GPS data, perception data, or a combination thereof. Corresponding states for vehicles in the vehicle group may be obtained, for example, based on V2X communications and / or vehicle perception.
[0042] At block 620, a crossover operation may be applied to the states of vehicles in the vehicle group. The crossover operation may generate synthetic candidate states based on all three state values (e.g., position, velocity, and acceleration) . According to some embodiments, acceleration candidates may be determined as follows:
[0043] For each vehicle in the vehicle group (excluding the ego vehicle) , this may produce a number of candidates where each candidate combines the leading vehicle’s acceleration value (aleading) and its influence factor (f1) with an acceleration value of a vehicle in the vehicle group and its influence factor (f2) . In various embodiments, the leading vehicle may be a vehicle driving immediately in front of the ego vehicle.
[0044] According to some embodiments, position candidates must satisfy a safe following distance between the ego vehicle and the leading vehicle. The safe following distance may be based on a current velocity of the leading vehicle, reaction time, vehicle capabilities, and safety margins, for example.
[0045] According to some embodiments, velocity candidates may be determined as follows:
[0046] For each vehicle in the vehicle group (excluding the ego vehicle) , this may produce a number of candidates where each candidate combines the leading vehicle’s velocity value (vleading) and influence factor (f1) with a velocity value of a vehicle in the vehicle group and its influence factor (f2) .
[0047] According to various embodiments, the crossover operation may output multiple acceleration candidates, multiple position candidates, and multiple velocity candidates.
[0048] At block 630, a mutation operation may be applied to introduce controlled randomness into the candidates to find new solutions. According to some embodiments, the mutation operation may generate new acceleration candidates as follows: amutation=ateading*f3+random (-2, 2) *f4
[0049] For each vehicle in the vehicle group (excluding the ego vehicle) , this may produce new acceleration candidates where each acceleration candidate combines the leading vehicle’s acceleration value (aleading) and influence factor (f3) with a random value between -2 and 2 m / s2 with an influence factor (f4) to scale the random perturbation. According to some embodiments, the number of mutation candidates may be set to a percentage of the vehicle group size (e.g., 5, 10, 15 percent) , which may help prevent excessive random variation. The mutation operation thus helps introduce controlled variability around the leading vehicle’s acceleration value while exploring acceleration values outside the vehicle group.
[0050] At block 640, candidates may be evaluated based on a fitness function. According to some embodiments, the fitness function may include a constraint function and a cost function.
[0051] The constraint function may provide a number of constraints for candidate states. For example, a constraint may be represented as numerical bounds for various values. Values outside of such bounds may be penalized. According to some embodiments, candidate values should be within comfort and safety bounds. For example, the constraint function may require an acceleration comfort range between -4 and 4 m / s2. In this example, a penalty may be applied to acceleration candidates outside of this range. This constraint helps ensure that vehicle acceleration stays within comfortable limits (-4 to 4 m / s2) and discourages uncomfortable candidate values (e.g., jerky movement, aggressive driving, etc. ) .
[0052] In another example, the constraint function may provide a velocity upper bound based on a speed limit for a road on which the ego vehicle is driving (e.g., v≤vspeed_limit) . In this example, a penalty may be applied to velocity candidates that exceed the speed limit. As mentioned, the speed limit may be determined based on perception capabilities, online maps, V2X communications, or combinations thereof. By enforcing such constraints, the constraint function helps ensure that candidates stay within posted speed limits.
[0053] In another example, the constraint function may enforce a safe following distance between a candidate and the leading vehicle (e.g., x-xleading>safe_gap) . In this example, a penalty may be applied to candidates for safe distance violations (x-xleading≤safe_gap) . This constraint helps enforce a minimum safe following distance from the leading vehicle.
[0054] A cost function may evaluate candidate states based on vehicle scenario, such as a normal driving scenario, sudden braking scenario, and traffic signal handling scenario.
[0055] According to some embodiments, in a normal driving scenario, a cost function may define a base target state (e.g., position, velocity, acceleration) for the ego vehicle based on a leading vehicle’s state and traffic flow. In some embodiments, the cost function may weigh the influence of the leading vehicle more heavily at closer distances and consider global traffic speed to maintain a smooth traffic flow. The cost function may also maintain a safe following distance as a primary constraint. For example, a position target may be defined as follows: xtarget=xleading-safe_gap,
[0056] which calculates an ideal position based on the leading vehicle’s position and a safe following distance (safe_gap) .
[0057] According to some embodiments, a velocity target may be defined as follows: vtarget=vleading*f11+vgroup*f12,
[0058] which determines an ideal target speed using both the leading vehicle’s velocity and overall traffic flow of the vehicle group.
[0059] According to some embodiments, an acceleration target may be defined as follows: atarget=aleading*f21+agroup*f22,
[0060] which sets acceleration targets based on the leading vehicle’s acceleration and acceleration values of the vehicle group. The influence factors f11, f12, f21, and f22 may be tunable.
[0061] According to some embodiments, when a sudden braking scenario is detected, for example, based on V2X communications and / or sensor perception, a braking vehicle (vbrake) may be treated as a stationary object. In this scenario, the base target state in the normal driving scenario may be adjusted based on a distance between the ego vehicle and the braking vehicle. The influence of the braking vehicle may proportionally increase as the distance gets shorter and decrease as the distance grows. In such embodiments, a position target may be defined as follows: xtarget=xleading-safe_gap,
[0062] which calculates an ideal position based on the leading vehicle’s position and a safe following distance (safe_gap) .
[0063] According to some embodiments, a velocity target may be defined as follows: vtarget=vleading*f11+vgroup*f12+vbrake*f13,
[0064] which determines an ideal target speed using the leading vehicle’s velocity, overall traffic flow of the vehicle group, and velocity of the braking vehicle. The influence factor (f13) of the velocity of the braking vehicle may increase or decrease depending on a distance between the ego vehicle and the braking vehicle, with the influence of the braking vehicle’s behavior increasing proportionately when the distance is shorter.
[0065] According to some embodiments, an acceleration target may be defined as follows atarget=aleading*f21+agroup*f22+abrake*f23,
[0066] which determines an ideal target acceleration using the leading vehicle’s acceleration, acceleration values of the vehicle group, and an acceleration value of the braking vehicle. The influence factor (f23) of the acceleration of the braking vehicle may increase or decrease depending on a distance between the ego vehicle and the braking vehicle, with the influence of the braking vehicle’s behavior increasing proportionately as the distance becomes shorter.
[0067] According to some embodiments, when a traffic signal scenario is detected, for example, based on V2X communications and / or sensor perception, a traffic signal state (e.g., red, green) and remaining time may be considered. Such information may be determined, for example, based on V2I communications with a roadside unit and / or sensor perception capabilities of the ego vehicle. According to such embodiments, when the ego vehicle is able to pass the traffic signal before its light state transitions from green to red, the base target values for position, velocity, and acceleration remain unchanged from the normal driving scenario. According to some embodiments, when the amount of time remaining before the light state of the traffic signal transitions to red is insufficient for the ego vehicle to pass an intersection managed by the traffic signal, the traffic signal may be treated as a stationary object as part of the cost function. According to some embodiments, a modified velocity target may be determined in this traffic light scenario as follows: vmodified_target=vtarget*fpart1+0*fpart2.
[0068] Further, a modified acceleration target may be determined for this scenario as follows: amodified_target=atarget*fpart1+ (-4) *fpart2.
[0069] The modified velocity and acceleration targets may help gradually reduce the target speed of the ego vehicle to zero with a smooth deceleration. According to various embodiments, road obstacles detected on a road, for example, based on the ego vehicle’s sensor perception capabilities, may similarly be treated as stationary objects, and the velocity and acceleration targets may be similarly modified to determine a best ACC speed setting for the ego vehicle.
[0070] The fitness function may be applied to each candidate state to produce a single score representing the quality of the candidate state as a solution. The fitness function may consider all constraint violations, deviations from target states, and special scenarios (e.g., sudden braking scenario, traffic light scenario, road obstacle scenario, etc. ) .
[0071] According to various embodiments, the fitness function may combine a weighted sum of constraint violations with weighted deviations from target states. For example, a candidate’s position deviation may be measured as an error: |x-xtargeet|. In this example, the candidate’s velocity deviation may be measured as an error: | v-vtarget|. Further, the candidate’s acceleration deviation may be measured as an error: |a-atarget|. Candidates with fitness values closer to zero may be deemed better solutions as this implies there are no constraint violations and the candidate state values match target state values.
[0072] At block 650, an adaptive cruise control (ACC) speed setting for the ego vehicle may be determined based on a candidate state with the best (or lowest) fitness score. According to various embodiments, an acceleration value associated with the candidate state may be used as the ACC speed setting for the ego vehicle. In various embodiments, an ACC request based on the ACC speed setting may be generated to adjust the speed of the ego vehicle. For example, the ACC request may be generated by an ACC system in the ego vehicle. The ACC request may be provided to an engine control module (ECM) to cause a corresponding adjustment to a speed of the ego vehicle.
[0073] FIG. 7 is a flow diagram of an example method of configuring an adaptive cruise control (ACC) speed setting of an ego vehicle, according to some embodiments. The functions illustrated in the blocks of FIG. 7 may be performed by an ego vehicle. As such, the functions in one or more of the blocks illustrated in FIG. 7 may be one way to implement the functionality illustrated in FIG. 2-4, from the perspective of the ego vehicle. A V2X device implemented in the ego vehicle, such as the V2X device 800 of FIG. 8, may be configured to perform operations associated with the method 700.
[0074] At block 710, information describing an environment in which an ego vehicle is located may be obtained based at least in part on one or more V2X messages. According to some embodiments, the information may include at least respective states of a plurality of other vehicles located in the environment. In some examples, an ACC speed setting an ego vehicle may be configured based at least in part on V2X communications, especially when existing sensors of the ego vehicle (e.g., cameras, radar, lidar, etc. ) are unable to detect events with a threshold level of accuracy. For example, in some implementations, the ACC speed setting may be configured based on V2X communications when sensors of the ego vehicle (e.g., cameras, lidar sensors, etc. ) are unable to detect occluded objects (e.g., vehicles, debris, etc. ) in the environment that are otherwise identifiable based on V2X (e.g., V2V) communications from other vehicles in the environment. In another example, in some implementations, the ACC speed setting may be configured based on V2X communications in response to a determination that a radar system of the ego vehicle is associated with a “low confidence” condition. A low confidence condition may occur when the radar is uncertain about the accuracy or reliability of the data it is producing, which may occur due to several factors, such as environmental conditions (e.g., rain, fog, snow, etc. ) or other signal noise.
[0075] At block 720, the ACC speed setting may be determined based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles.
[0076] At block 730, an ACC request to adjust a speed of the ego vehicle may be generated based at least in part on the determined the ACC speed setting.
[0077] FIG. 8 is a block diagram of an embodiment of a V2X device 800, which may be utilized by and / or integrated into a vehicle, RSU, or any other system or device to wirelessly communicate with vehicles and / or RSUs as previously described. When utilized by a vehicle, the V2X device 800 may comprise or be integrated into a vehicle computer system used to manage one or more systems related to the vehicle’s navigation and / or automated driving, as well as communicate with other onboard systems and / or other traffic entities. According to some embodiments, the V2X device 800 may comprise a standalone device or component of a vehicle, which may be communicatively coupled with other components / devices of the vehicle.
[0078] It should also be noted that FIG. 8 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. It can be noted that, in some instances, components illustrated by FIG. 8 can be localized to a single physical device and / or distributed among various networked devices, which may be located, for example, at different physical locations on a vehicle.
[0079] The V2X device 800 is shown comprising hardware elements that can be electrically coupled via a bus 805 (or may otherwise be in communication, as appropriate) . The hardware elements may include a processing unit (s) 810 which can include, without limitation, one or more general-purpose processors, one or more special-purpose processors (such as DSP chips, graphics acceleration processors, application-specific integrated circuits (ASICs) , and / or the like) , and / or other processing structure or means.
[0080] The V2X device 800 also can include one or more input devices 870, which can include devices related to user interface (e.g., a touch screen, a touchpad, a microphone, button (s) , dial (s) , switch (es) , and / or the like) and / or devices related to navigation, automated driving, and the like. Similarly, the one or more output devices 815 may be related to interacting with a user (e.g., via a display, light emitting diode (s) (LED (s) ) , speaker (s) ) , and / or devices related to navigation, automated driving, and the like.
[0081] The V2X device 800 may also include a wireless communication interface 830, which may comprise, without limitation, a modem, a network card, an infrared communication device, a wireless communication device, and / or a chipset (such as a device, an IEEE 802.11 device, an IEEE 802.15.4 device, a Wi-Fi device, a WiMAX (Worldwide Interoperability for Microwave Access device, a Wide Area Network (WAN) device, and / or various cellular devices) , and / or the like. (Examples of such communication are provided in FIG. 9 and described in more detail below. ) The wireless communication interface 830 can enable the V2X device 800 to communicate to other V2X devices. This can include the various forms of communication of the previously described embodiments, including the messaging illustrated in FIGS. 2, 3, and 4.And as such, it may be capable of transmitting direct communications, broadcasting wireless signals, receiving direct and / or broadcast wireless signals, and so forth. Accordingly, the wireless communication interface 830 may be capable of sending and / or receiving RF signals from various RF channels / frequency bands. Communication using the wireless communication interface 830 can be carried out via one or more wireless communication antenna (s) 832 that send and / or receive wireless signals 834. According to some embodiments, the wireless communication antenna (s) 832 may comprise a plurality of discrete antennas, antenna arrays, or any combination thereof.
[0082] The V2X device 800 can further include sensor (s) 840. Sensor (s) 840 may comprise, without limitation, one or more inertial sensors and / or other sensors (e.g., accelerometer (s) , gyroscope (s) , camera (s) , magnetometer (s) , altimeter (s) , microphone (s) , proximity sensor (s) , light sensor (s) , barometer (s) , and the like) . Sensor (s) 840 may be used, for example, to determine certain real-time characteristics of the vehicle, such as location, motion state (e.g., velocity, acceleration) , and the like. As previously indicated, sensor (s) 840 may be used to help a vehicle determine its location.
[0083] Embodiments of the V2X device 800 may also include a Global Navigation Satellite System (GNSS) receiver 880 capable of receiving signals 884 from one or more GNSS satellites using an antenna 882 (which, in some embodiments, may be the same as antenna 832) . Positioning based on GNSS signal measurement can be utilized to determine a current location of the V2X device 800, and may further be used as a basis to determine the location of a detected object. The GNSS receiver 880 can extract a position of the V2X device 800, using conventional techniques, from GNSS satellites of a GNSS system, such as Global Positioning System (GPS) and / or similar satellite systems.
[0084] The V2X device 800 may further comprise and / or be in communication with a memory 860. The memory 860 can include, without limitation, local and / or network accessible storage, a disk drive, a drive array, an optical storage device, a solid-state storage device (such as a random access memory (RAM) and / or a read-only memory (ROM) ) , which can be programmable, flash-updateable, and / or the like. Such storage devices may be configured to implement any appropriate data stores, including, without limitation, various file systems, database structures, and / or the like.
[0085] The memory 860 of the V2X device 800 also can comprise software elements (not shown in FIG. 8) , including an operating system, device drivers, executable libraries, and / or other code, such as one or more application programs, which may comprise computer programs provided by various embodiments, and / or may be designed to implement methods and / or configure systems as described herein. Software applications stored in memory 860 and executed by processing unit (s) 810 may be used to implement the functionality of a vehicle or RSU as described herein. Moreover, one or more procedures described with respect to the method (s) discussed herein may be implemented as code and / or instructions in memory 860 that are executable by the V2X device 800 (and / or processing unit (s) 810 or DSP 820 within V2X device 800) , including the functions illustrated in the methods of FIGS. 5, 6, and 7. In an aspect, then, such code and / or instructions can be used to configure and / or adapt a general-purpose computer (or other device) to perform one or more operations in accordance with the described methods.
[0086] FIG. 9 is a perspective view of an example vehicle 900, according to an embodiment, capable of communicating with other vehicles and / or V2X entities in the previously described embodiments. Here, some of the components discussed with regard to FIG. 8 and earlier embodiments are shown. As illustrated and previously discussed, a vehicle 900 can have camera (s) such as rear view mirror-mounted camera 906, front fender-mounted camera (not shown) , side mirror-mounted camera (not shown) , and a rear camera (not shown; typically on the trunk, hatch, or rear bumper) . Vehicle 900 may also have LIDAR 904, for detecting objects and measuring distances to those objects. LIDAR 904 is often roof mounted; however, if there are multiple LIDAR units 904, they may be oriented around the front, rear, and sides of the vehicle. Vehicle 900 may have other various location-related systems such as a GNSS receiver 880 (typically located in the shark fin unit on the rear of the roof, as indicated) , various wireless communication interface (such as WAN, WLAN, V2X; typically, but not necessarily, located in the shark fin 902) , RADAR 908 (typically in the front bumper) , and SONAR 910 (typically located on both sides of the vehicle, if present) . Various wheel sensors 912 and drive train sensors may also be present, such as tire pressure sensors, accelerometers, gyros, and wheel rotation detection and / or counters. In an embodiment, distance measurements and relative locations determined via various sensors such as LIDAR, RADAR, camera, GNSS, and SONAR may be combined with automotive size and shape information and information regarding the location of the sensor to determine distances and relative locations between the surfaces of different vehicles, such that a distance or vector from a sensor to another vehicle or between two different sensors (such as two GNSS receivers) is incrementally increased to account for the position of the sensor on each vehicle. Thus, an exact GNSS distance and vector between two GNSS receivers would need to be modified based upon the relative location of the various car surfaces to the GNSS receiver. For example, in determining the distance between a rear car’s front bumper and a leading car’s rear bumper, the distance would need to be adjusted based on the distance between the GNSS receiver and the front bumper on the following car, and the distance between the GNSS receiver of the front car and the rear bumper of the front car. For example, the distance between the front car’s rear bumper and the following car’s front bumper is the relative distance between the two GNSS receivers minus the GNSS receiver to front bumper distance of the rear car and minus the GNSS receiver to rear bumper distance of the front car. It is realized that this list is not intended to be limiting and that FIG. 9 is intended to provide exemplary locations of various sensors in an embodiment of a vehicle comprising a V2X device 800.
[0087] With reference to the appended figures, components that can include memory may comprise non-transitory machine-readable media. The terms “machine-readable medium” and “computer-readable medium, ” as used herein, refer to any storage medium that participates in providing data that causes a machine to operate in a specific fashion. In embodiments provided hereinabove, various machine-readable media might be involved in providing instructions / code to processing units and / or other device (s) for execution. Additionally or alternatively, the machine-readable media might be used to store and / or carry such instructions / code. In many implementations, a computer-readable medium is a physical and / or tangible storage medium. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Common forms of computer-readable media include, for example, magnetic and / or optical media, any other physical medium with patterns of holes, RAM, a programmable ROM (PROM) , erasable programmable ROM (EPROM) , a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and / or code.
[0088] The methods, systems, and devices discussed herein are examples. Various embodiments may omit, substitute, or add various procedures or components, as appropriate. For instance, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. The various components of the figures provided herein can be embodied in hardware and / or software. Also, technology evolves, and, thus, many of the elements are examples that do not limit the scope of the disclosure to those specific examples.
[0089] It has proved convenient at times, principally for reasons of common usage, to refer to such signals as bits, information, values, elements, symbols, characters, variables, terms, numbers, numerals, or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as is apparent from the discussion above, it is appreciated that throughout this Specification discussions utilizing terms such as “processing, ” “computing, ” “calculating, ” “determining, ” “ascertaining, ” “identifying, ” “associating, ” “measuring, ” “performing, ” or the like refer to actions or processes of a specific apparatus, such as a special-purpose computer or a similar special-purpose electronic computing device. In the context of this Specification, therefore, a special-purpose computer or a similar special-purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical electronic, electrical, or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the special-purpose computer or similar special-purpose electronic computing device.
[0090] Terms “and” and “or” as used herein may include a variety of meanings that also is expected to depend at least in part upon the context in which such terms are used. Typically, the term “or, ” if used to associate a list, such as A, B, or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B, or C, here used in the exclusive sense. In addition, the term “one or more” as used herein may be used to describe any feature, structure, or characteristic in the singular, or may be used to describe some combination of features, structures, or characteristics. However, it should be noted that this is merely an illustrative example, and claimed subject matter is not limited to this example. Furthermore, the term “at least one of, ” if used to associate a list, such as A, B, or C, can be interpreted to mean any combination of A, B, and / or C, such as A, AB, AA, AAB, or AABBCCC.
[0091] As a person of ordinary skill in the art will recognize, various modifications, alternative constructions, and equivalents may be applied to the embodiments described herein. For example, the above elements may merely be a component of a larger system, wherein other rules may take precedence over or otherwise modify the application of the various embodiments. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description may not limit the scope of the disclosure.
[0092] In view of this description embodiments may include different combinations of features. Implementation examples are described in the following numbered clauses: Clause 1. A method of configuring an adaptive cruise control (ACC) speed setting of an ego vehicle, the method comprising: obtaining, by the ego vehicle, information describing an environment in which the ego vehicle is located based at least in part on one or more V2X messages, the information including at least respective states of a plurality of other vehicles located in the environment; determining, by the ego vehicle, the ACC speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles; and generating, by the ego vehicle, an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting. Clause 2. The method of clause 1, wherein at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications. Clause 3. The method of clause 1 or clause 2, wherein the one or more V2X messages provide information describing at least one occluded object that is undetectable by a plurality of sensors of the ego vehicle, the plurality of sensors including at least one camera associated with the ego vehicle, at least one lidar sensor associated with the ego vehicle, or a combination thereof. Clause 4. The method of clause 1 or clause 2, wherein the ACC speed setting of the ego vehicle is determined based on the one or more V2X messages in response to a determination that a radar system associated with the ego vehicle has a low confidence condition. Clause 5. The method of clause 1, wherein a state of a given vehicle comprises a corresponding position, velocity, and acceleration value of the vehicle. Clause 6. The method of clause 1 or clause 5, wherein the plurality of candidate states are determined based on a genetic algorithm, and wherein the plurality of candidate states include at least some of the respective states of the plurality of other vehicles. Clause 7. The method of clause 1, wherein the best scoring candidate state is determined based on a fitness function, and wherein the fitness function is implemented to evaluate a given candidate state based on one or more physical constraints. Clause 8. The method of clause 7, whether the one or more physical constraints include adhering to state values that promote passenger comfort, adhering to a speed limit, adhering to a safe following distance from a leading vehicle, or a combination thereof. Clause 9. The method of clause 7, wherein the fitness function scores the at least one candidate state based on a vehicle scenario experienced by the ego vehicle. Clause 10. The method of clause 1, wherein the best scoring candidate state provides one or more state values based at least in part on an acceleration value of a leading vehicle and a traffic flow of the plurality of other vehicles driving in the environment. Clause 11. The method of clause 1, wherein the best scoring candidate state provides one or more state values based at least in part on a distance between the ego vehicle and a stationary or decelerating object. Clause 12. The method of clause 1, wherein the best scoring candidate state provides one or more state values based at least in part on an ability of the ego vehicle to pass an intersection managed by a traffic signal. Clause 13. An apparatus configured to perform: obtaining information describing an environment in which an ego vehicle is located based at least in part on one or more V2X messages, the information including at least respective states of a plurality of other vehicles located in the environment; determining an adaptive cruise control (ACC) speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles; and generating an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting. Clause 14. The apparatus of clause 13, wherein at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications. Clause 15. The apparatus of clause 13 or clause 14, wherein the one or more V2X messages provide information describing at least one occluded object that is undetectable by a plurality of sensors of the ego vehicle, the plurality of sensors including at least one camera associated with the ego vehicle, at least one lidar sensor associated with the ego vehicle, or a combination thereof. Clause 16. The apparatus of clause 13 or clause 14, wherein the ACC speed setting of the ego vehicle is determined based on the one or more V2X messages in response to a determination that a radar system associated with the ego vehicle has a low confidence condition. Clause 17. The apparatus of clause 13, wherein a state of a given vehicle comprises a corresponding position, velocity, and acceleration value of the vehicle. Clause 18. The apparatus of clause 13 or clause 17, wherein the plurality of candidate states are determined based on a genetic algorithm, and wherein the plurality of candidate states include at least some of the respective states of the plurality of other vehicles. Clause 19. The apparatus of clause 13, wherein the best scoring candidate state is determined based on a fitness function, and wherein the fitness function is implemented to evaluate a given candidate state based on one or more physical constraints. Clause 20. The apparatus of clause 19, whether the one or more physical constraints include adhering to state values that promote passenger comfort, adhering to a speed limit, adhering to a safe following distance from a leading vehicle, or a combination thereof. Clause 21. The apparatus of clause 19, wherein the fitness function scores the at least one candidate state based on a vehicle scenario experienced by the ego vehicle. Clause 22. The apparatus of clause 13, wherein the best scoring candidate state provides one or more state values based at least in part on an acceleration value of a leading vehicle and a traffic flow of the plurality of other vehicles driving in the environment. Clause 23. The apparatus of clause 13, wherein the best scoring candidate state provides one or more state values based at least in part on a distance between the ego vehicle and a stationary or decelerating object. Clause 24. The apparatus of clause 13, wherein the best scoring candidate state provides one or more state values based at least in part on an ability of the ego vehicle to pass an intersection managed by a traffic signal. Clause 25. An non-transitory computer-readable medium having instructions embedded thereon, which, when executed by one or more processors, cause the one or more processors to perform: obtaining information describing an environment in which an ego vehicle is located based at least in part on one or more V2X messages, the information including at least respective states of a plurality of other vehicles located in the environment; determining an adaptive cruise control (ACC) speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles; and generating an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting. Clause 26. The non-transitory computer-readable medium of clause 25, wherein at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications. Clause 27. The non-transitory computer-readable medium of clause 25 or clause 26, wherein the one or more V2X messages provide information describing at least one occluded object that is undetectable by a plurality of sensors of the ego vehicle, the plurality of sensors including at least one camera associated with the ego vehicle, at least one lidar sensor associated with the ego vehicle, or a combination thereof. Clause 28. The non-transitory computer-readable medium of clause 25 or clause 26, wherein the ACC speed setting of the ego vehicle is determined based on the one or more V2X messages in response to a determination that a radar system associated with the ego vehicle has a low confidence condition. Clause 29. The non-transitory computer-readable medium of clause 25, wherein a state of a given vehicle comprises a corresponding position, velocity, and acceleration value of the vehicle. Clause 30. The non-transitory computer-readable medium of clause 25 or clause 29, wherein the plurality of candidate states are determined based on a genetic algorithm, and wherein the plurality of candidate states include at least some of the respective states of the plurality of other vehicles. Clause 31. The non-transitory computer-readable medium of clause 25, wherein the best scoring candidate state is determined based on a fitness function, and wherein the fitness function is implemented to evaluate a given candidate state based on one or more physical constraints. Clause 32. The non-transitory computer-readable medium of clause 31, whether the one or more physical constraints include adhering to state values that promote passenger comfort, adhering to a speed limit, adhering to a safe following distance from a leading vehicle, or a combination thereof. Clause 33. The non-transitory computer-readable medium of clause 31, wherein the fitness function scores the at least one candidate state based on a vehicle scenario experienced by the ego vehicle. Clause 34. The non-transitory computer-readable medium of clause 25, wherein the best scoring candidate state provides one or more state values based at least in part on an acceleration value of a leading vehicle and a traffic flow of the plurality of other vehicles driving in the environment. Clause 35. The non-transitory computer-readable medium of clause 25, wherein the best scoring candidate state provides one or more state values based at least in part on a distance between the ego vehicle and a stationary or decelerating object. Clause 36. The non-transitory computer-readable medium of clause 25, wherein the best scoring candidate state provides one or more state values based at least in part on an ability of the ego vehicle to pass an intersection managed by a traffic signal.
Claims
1.A method of configuring an adaptive cruise control (ACC) speed setting of an ego vehicle, the method comprising:obtaining, by the ego vehicle, information describing an environment in which the ego vehicle is located based at least in part on one or more V2X messages, the information including at least respective states of a plurality of other vehicles located in the environment;determining, by the ego vehicle, the ACC speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles; andgenerating, by the ego vehicle, an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting.2.The method of claim 1, wherein at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications.3.The method of claim 1, wherein the one or more V2X messages provide information describing at least one occluded object that is undetectable by a plurality of sensors of the ego vehicle, the plurality of sensors including at least one camera associated with the ego vehicle, at least one lidar sensor associated with the ego vehicle, or a combination thereof.4.The method of claim 1, wherein the ACC speed setting of the ego vehicle is determined based on the one or more V2X messages in response to a determination that a radar system associated with the ego vehicle has a low confidence condition.5.The method of claim 1, wherein a state of a given vehicle comprises a corresponding position, velocity, and acceleration value of the vehicle.6.The method of claim 1, wherein the plurality of candidate states are determined based on a genetic algorithm, and wherein the plurality of candidate states include at least some of the respective states of the plurality of other vehicles.7.The method of claim 1, wherein the best scoring candidate state is determined based on a fitness function, and wherein the fitness function is implemented to evaluate a given candidate state based on one or more physical constraints.8.The method of claim 7, whether the one or more physical constraints include adhering to state values that promote passenger comfort, adhering to a speed limit, adhering to a safe following distance from a leading vehicle, or a combination thereof.9.The method of claim 7, wherein the fitness function scores the at least one candidate state based on a vehicle scenario experienced by the ego vehicle.10.The method of claim 1, wherein the best scoring candidate state provides one or more state values based at least in part on an acceleration value of a leading vehicle and a traffic flow of the plurality of other vehicles driving in the environment.11.The method of claim 1, wherein the best scoring candidate state provides one or more state values based at least in part on a distance between the ego vehicle and a stationary or decelerating object.12.The method of claim 1, wherein the best scoring candidate state provides one or more state values based at least in part on an ability of the ego vehicle to pass an intersection managed by a traffic signal.13.An apparatus, wherein the apparatus is configured to perform:obtaining information describing an environment in which an ego vehicle is located based at least in part on one or more V2X messages, the information including at least respective states of a plurality of other vehicles located in the environment;determining an adaptive cruise control (ACC) speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles; andgenerating an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting.14.The apparatus of claim 13, wherein at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications.15.The apparatus of claim 13, wherein a state of a given vehicle comprises a corresponding position, velocity, and acceleration value of the vehicle.16.The apparatus of claim 13, wherein the plurality of candidate states are determined based on a genetic algorithm, and wherein the plurality of candidate states include at least some of the respective states of the plurality of other vehicles.17.A non-transitory computer-readable medium having instructions embedded thereon, which, when executed by one or more processors, cause the one or more processors to perform functions comprising:obtaining information describing an environment in which an ego vehicle is located based at least in part on one or more V2X messages, the information including at least respective states of a plurality of other vehicles located in the environment;determining an adaptive cruise control (ACC) speed setting based at least in part on a best scoring candidate state in a plurality of candidate states, wherein the plurality of candidate states is based at least in part on the respective states of the plurality of other vehicles; andgenerating an ACC request to adjust a speed of the ego vehicle based at least in part on the determined the ACC speed setting.18.The non-transitory computer-readable medium of claim 17, wherein at least some of the information describing the environment is broadcasted by one or more vehicles in the plurality of other vehicles based on V2V communications.19.The non-transitory computer-readable medium of claim 17, wherein a state of a given vehicle comprises a corresponding position, velocity, and acceleration value of the vehicle.20.The non-transitory computer-readable medium of claim 17, wherein the plurality of candidate states are determined based on a genetic algorithm, and wherein the plurality of candidate states include at least some of the respective states of the plurality of other vehicles.