Networked vehicle control
By monitoring the vehicle density and determining the target speed, the traffic congestion caused by human driving behavior is solved, and the stable driving of the vehicle and road traffic efficiency are improved.
Patent Information
- Application Number
- CN202510071878.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2025-01-16
- Publication Date
- 2025-07-22
AI Technical Summary
The prior art is difficult to effectively solve temporary traffic jams caused by human driving behavior, resulting in unstable vehicle speed and affecting road traffic efficiency.
Monitor vehicle density on the road through remote computers, determine target speeds, and transmit them to self-aware vehicles to optimize vehicle speeds, reduce deceleration and acceleration behaviors, and alleviate traffic congestion.
It improves the traffic efficiency of the road, reduces the possibility of phantom blockage, realizes stable vehicle driving, and improves the throughput of the road.
Smart Images

Figure CN120356354A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to advanced driver assistance systems in vehicles. Background Art
[0002] An advanced driver assistance system (ADAS) is an electronic technology that assists a driver in achieving driving functions and parking functions. Examples of ADAS include forward proximity detection, lane departure detection, blind spot detection, brake actuation, adaptive cruise control, and lane keeping assistance systems. Summary of the Invention
[0003] The present disclosure relates to controlling at least one vehicle among a plurality of vehicles in a manner that can maintain an effective average speed of the vehicles and can have a low probability of deceleration (e.g., a low probability of "phantom traffic jams"). A "phantom traffic jam" is a temporary traffic jam that spontaneously forms due to typical human driving behavior (i.e., without an external cause such as a construction zone or lane closure). A remote computer can monitor a predefined section of a road on which a plurality of vehicles are traveling. The vehicles include one or more vehicles (to be referred to as "self-aware vehicles") with which the remote computer can communicate, and the remaining vehicles with which the remote computer cannot or does not communicate. The remote computer is programmed to determine the vehicle density on the predefined section of the road, determine a target speed based on the vehicle density, and transmit the target speed to the self-aware vehicles. The vehicle density is the number of vehicles per road length on the predefined section. The target speed is the speed at which a self-aware vehicle of the vehicle attempts to travel when not obstructed by the remaining vehicles of the vehicle in the forward direction. When a gap opens, the remaining vehicles in front of a self-aware vehicle may sometimes accelerate and only decelerate when reaching the remaining vehicles being guided. The remote computer can set a target speed for the self-aware vehicles, and the target speed can buffer acceleration and deceleration so as not to spread to the remaining vehicles behind the self-aware vehicles. At the same time, the remote computer can use the vehicle density to set the target speed of the self-aware vehicles, which can result in a high throughput of the predefined section of the road.
[0004] A system includes a remote computer. The remote computer includes a processor and a memory, and the memory stores instructions executable by the processor to determine the vehicle density on a predefined section of a road, determine a target speed based on the vehicle density, and transmit the target speed to self-aware vehicles. The vehicle density is the number of vehicles per road length on the predefined section. The vehicles are remote from the remote computer. The target speed is the speed at which a self-aware vehicle of the vehicle attempts to travel when not obstructed by the remaining vehicles of the vehicle in the forward direction.
[0005] In an example, the vehicle can travel at a corresponding actual speed, and the instruction can further include an instruction for performing the following operations: determining the target speed based on optimizing a combination of the mean of the actual speed and the span of the actual speed, where the span is the difference between the highest speed and the lowest speed in the actual speed. In another example, the combination of the mean and the span can be the difference between the mean and the span, where at least one of the mean and the span is weighted by a trade-off parameter.
[0006] In yet another example, for each value of the mean and the span, the actual speed of the vehicle can be from the same time. In yet another example, the instruction can further include an instruction for optimizing the combination of the mean and the span within a time range.
[0007] In an example, the vehicle can travel at a corresponding actual speed, and the instruction can further include an instruction for determining the target speed based on minimizing the span of the actual speed, where the span is the difference between the highest speed and the lowest speed in the actual speed. In another example, for each value of the span, the actual speed of the vehicle can be from the same time.
[0008] In an example, the vehicle can travel at a corresponding actual speed, and the instruction can further include an instruction for determining the target speed based on maximizing the mean of the actual speed. In another example, for each value of the mean, the actual speed of the vehicle can be from the same time.
[0009] In an example, the vehicle density can be the mean of the instantaneous vehicle density at time steps over a plurality of time steps.
[0010] In an example, the system can further include the self-aware vehicle, and the self-aware vehicle includes a vehicle computer programmed to perform adaptive cruise control based on the target speed.
[0011] In an example, the target speed can be the posted speed limit of the road.
[0012] In an example, the instruction can further include an instruction for broadcasting the target speed on the pre-defined section of the road.
[0013] In an example, the remote computer can be communicatively coupled to the self-aware vehicle, and the remote computer can be communicatively uncoupled from at least one of the remaining vehicles.
[0014] A method includes: determining a vehicle density on a pre-defined section of a road, determining a target speed based on the vehicle density, and transmitting the target speed to a self-aware vehicle. The vehicle density is the number of vehicles per road length on the pre-defined section. The vehicle is remote from a remote computer. The target speed is the speed at which the self-aware vehicle of the vehicle attempts to travel when not obstructed by the remaining vehicles of the vehicle in the forward direction.
[0015] In an example, the method further includes performing adaptive cruise control on the self-aware vehicle based on the target speed.
[0016] In an example, the vehicle may travel at a corresponding actual speed, and the method further includes: determining the target speed based on optimizing a combination of the mean of the actual speed and the span of the actual speed, where the span is the difference between the highest speed and the lowest speed in the actual speed. In another example, the combination of the mean and the span may be the difference between the mean and the span, where at least one of the mean and the span is weighted by a trade-off parameter.
[0017] In yet another example, for each value of the mean and the span, the actual speed of the vehicle may be from the same time. In yet another example, the method may further include optimizing the combination of the mean and the span within a time range. Description of the Drawings
[0018] Figure 1 is a diagrammatic top view of an example system having infrastructure components and vehicles.
[0019] Figure 2 is a block diagram of the system.
[0020] Figure 3 is a flowchart of an example process in which a remote computer provides a target speed to one or more self-aware vehicles of the vehicle.
[0021] Figure 4 is a flowchart of an example process in which a vehicle computer operates one of the self-aware vehicles based on the target speed. Detailed Description
[0022] Referring to the accompanying drawings, in which like numerals indicate like parts throughout the several views, a system 100 includes a remote computer 205. The remote computer 205 includes a processor and a memory, and the memory stores instructions that are executable by the processor to determine the vehicle density on a predefined section 120 of a road 115, determine a target speed based on the vehicle density, and transmit the target speed to a self-aware vehicle 105. The vehicle density is the number of vehicles 105, 110 per road length on the predefined section 120. The vehicles 105, 110 are remote from the remote computer 205. The target speed is the speed at which the self-aware vehicle 105 of the vehicles 105, 110 attempts to travel when not impeded by the remaining vehicles 110 of the vehicles 105, 110 in the forward direction.
[0023] Referring Figure 1 , an infrastructure component 125 may be located beside the road 115. The road 115 may have multiple lanes or a single lane. One or more self-aware vehicles 105 and one or more remaining vehicles 110 may travel on the road 115. The term "self-aware vehicle" is used herein to refer to a connected vehicle configured to take action based on a message received from the infrastructure component 125. The term "remaining vehicle" is used herein to refer to other vehicles on the road 115 from the perspective of the self-aware vehicle 105. If multiple connected vehicles capable of acting as self-aware vehicles 105 are traveling on the road 115, then from the perspective of other connected vehicles, each such vehicle is also a remaining vehicle 110. The vehicles 105, 110 are remote from the infrastructure component 125, i.e., different from and spaced apart from the infrastructure component 125.
[0024] The system 100 includes an infrastructure component 125 and a self-aware vehicle 105. The system 100 may be formed by one or more self-aware vehicles 105 within the range of an infrastructure transceiver 135 of the infrastructure component 125 or traveling on a predefined section 120 of the road 115. Thus, which self-aware vehicles 105 are part of the system 100 with the infrastructure component 125 may change dynamically over time.
[0025] The infrastructure component 125 may include a remote computer 205 (in Figure 2shown), at least one infrastructure sensor 130, and an infrastructure transceiver 135. The infrastructure component 125 can be fixed in place relative to the road 115, e.g., at a location beside the road 115. The road 115 can have a plurality of such infrastructure components 125 spaced apart from each other at regular intervals along the road 115. Alternatively, the remote computer 205, the infrastructure sensor 130, and the infrastructure transceiver 135 can be separate components fixed at separate locations along the road 115. In this alternative, the remote computer 205, the infrastructure sensor 130, and the infrastructure transceiver 135 are communicatively coupled by wired and / or wireless connections.
[0026] Each infrastructure sensor 130 has a field of view F that encompasses the road 115. The location of the infrastructure component 125 can provide the infrastructure sensor 130 with a field of view F that encompasses the road 115. For example, the infrastructure sensor 130 can be mounted to the body of the infrastructure component 125 at an elevated position near the road 115, and the infrastructure sensor 130 can be directed downward toward the road 115. The regular spacing of the infrastructure components 125 can cause the fields of view F of the infrastructure sensors 130 on adjacent infrastructure components 125 to overlap.
[0027] The location of the infrastructure component 125 places the infrastructure transceiver 135 within range of the road 115. The regular spacing of the infrastructure components 125 can cause the ranges of the infrastructure transceivers 135 on adjacent infrastructure components 125 to overlap. Thus, the self-aware vehicle 105 can switch from one infrastructure component 125 to the next as it travels along the road 115.
[0028] Reference Figure 2 , the infrastructure component 125 can include a remote computer 205, at least one infrastructure sensor 130, and an infrastructure transceiver 135. The infrastructure computer is communicatively coupled to the infrastructure sensor 130 and the infrastructure transceiver 135, e.g., via a bus within the body of the infrastructure component 125.
[0029] The system 100 (e.g., the infrastructure component 125) includes a remote computer 205. The remote computer 205 is a microprocessor-based computing device, e.g., a general-purpose computing device including a processor and a memory. The memory of the remote computer 205 can include media for storing instructions executable by the processor and for electronically storing data and / or databases, and / or the remote computer 205 can include structures such as the foregoing structures that provide programming. The remote computer 205 can be a plurality of computers coupled together.
[0030] The infrastructure sensor 130 can detect the external world, e.g., objects and / or characteristics of the surroundings of the infrastructure component 125, such as vehicles 105, 110, road lane markings, traffic signals and / or signs, pedestrians, etc. For example, the infrastructure sensor 130 can include a camera. The camera can detect electromagnetic radiation in a certain wavelength range. For example, the camera can detect visible light, infrared radiation, ultraviolet light, or a certain range of wavelengths including visible light, infrared light, and / or ultraviolet light. For example, the camera may be a charge-coupled device (CCD), a complementary metal oxide semiconductor (CMOS), or any other suitable type. As another example, the infrastructure sensor 130 can include lidar, e.g., a scanning lidar device. The lidar detects the distance to an object by emitting laser pulses of a specific wavelength and measuring the time of flight of the pulses traveling to the object and back. The lidar can be any suitable type for providing lidar data on which the remote computer 205 can act, e.g., a spindle-type lidar, a solid-state lidar, a flash lidar, etc. As another example, the infrastructure sensor 130 can include radar. Radar transmits radio waves and receives the reflections of these radio waves to detect physical objects in the environment. Radar can use direct propagation, i.e., measuring the time delay between the transmission and reception of the radio waves, and / or use indirect propagation, i.e., the frequency-modulated continuous wave (FMCW) method, i.e., measuring the frequency change between the transmitted and received radio waves.
[0031] The infrastructure transceiver 135 can be adapted to wirelessly transmit signals with the self-aware vehicle 105 via any suitable wireless communication protocol, such as cellular, low-power (BLE), ultra-wideband (UWB), WiFi, IEEE 802.11a / b / g / p, cellular-V2X (CV2X), dedicated short-range communication (DSRC), other RF (radio frequency) communications, etc.). Thus, the infrastructure transceiver 135 can facilitate vehicle-to-infrastructure (V2I) communication. The infrastructure transceiver 135 can be a single device, or can include separate transmitter and receiver. The remote computer 205 can be communicatively coupled to the self-aware vehicle 105 via the infrastructure transceiver 135. The remote computer 205 may not be communicatively coupled to at least one of the remaining vehicles 110 because the remaining vehicles 110 are not equipped with the function to communicate with the infrastructure transceiver 135 or refuse to establish a connection with the infrastructure transceiver 135.
[0032] The self-aware vehicles 105 can each be any passenger or commercial vehicle, such as a sedan, truck, sport utility vehicle, crossover vehicle, van, minivan, taxi, bus, etc. Each self-aware vehicle 105 includes a vehicle computer 210, vehicle sensors 215, a propulsion system 220, a braking system 225, a steering system 230, and a vehicle transceiver 235. The vehicle computer 210 can be communicatively coupled to the vehicle sensors 215, the propulsion system 220, the braking system 225, the steering system 230, and the vehicle transceiver 235 via a vehicle network such as a Controller Area Network (CAN) bus, for example.
[0033] The vehicle computer 210 is a microprocessor-based computing device, such as a general-purpose computing device (including a processor and memory, an electronic controller, etc.), a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), a combination of the foregoing, etc. Generally, hardware description languages such as VHDL (VHSIC (Very High Speed Integrated Circuit) Hardware Description Language) are used in electronic design automation to describe digital and mixed-signal systems such as FPGAs and ASICs. For example, an ASIC is manufactured based on VHDL programming provided before manufacturing, while the logic components inside an FPGA can be configured based on, for example, VHDL programming stored in a memory electrically connected to the FPGA circuit. Thus, the vehicle computer 210 can include a processor, memory, etc. The memory of the vehicle computer 210 can include a medium for storing instructions executable by the processor and for electronically storing data and / or databases, and / or the vehicle computer 210 can include structures such as the foregoing structures that provide programming. The vehicle computer 210 can be multiple computers connected together.
[0034] The vehicle sensors 215 can provide data regarding the operation of the self-aware vehicle 105, such as, for example, wheel speed, wheel orientation, and engine and transmission data (such as temperature, fuel consumption, etc.). The vehicle sensors 215 can detect the position and / or orientation of the self-aware vehicle 105. For example, the vehicle sensors 215 can include a Global Positioning System (GPS) sensor; accelerometers, such as piezoelectric systems or Micro-Electro-Mechanical Systems (MEMS); gyroscopes, such as rate gyroscopes, ring laser gyroscopes, or fiber optic gyroscopes; an Inertial Measurement Unit (IMU); and magnetometers. The vehicle sensors 215 can detect the external world, such as objects and / or characteristics of the environment surrounding the self-aware vehicle 105, such as the remaining vehicles 110, road lane markings, traffic lights and / or signs, pedestrians, etc. For example, the vehicle sensors 215 can include radar sensors, ultrasonic sensors, scanning lidar, Light Detection and Ranging (LiDAR) devices, and image processing sensors (such as cameras).
[0035] The propulsion system 220 of the self-aware vehicle 105 generates energy and converts the energy into motion of the self-aware vehicle 105. The propulsion system 220 can be a conventional vehicle propulsion subsystem, for example, a conventional powertrain that includes an internal combustion engine coupled to a transmission that transfers rotational motion to the wheels; an electric powertrain that includes a battery, an electric motor, and a transmission that transfers rotational motion to the wheels; a hybrid powertrain that includes elements of a conventional powertrain and an electric powertrain; or any other type of propulsion device. The propulsion system 220 can include an electronic control unit (ECU) etc. that communicates with and receives input from the vehicle computer 210 and / or a human operator. The human operator can control the propulsion system 220 via, for example, an accelerator pedal and / or a gear shifter.
[0036] The braking system 225 is typically a conventional vehicle braking subsystem and resists the motion of the self-aware vehicle 105, thereby slowing down and / or stopping the self-aware vehicle 105. The braking system 225 can include friction brakes such as disc brakes, drum brakes, band brakes, etc.; regenerative brakes; any other suitable type of brakes; or combinations thereof. The braking system 225 can include an electronic control unit (ECU) etc. that communicates with and receives input from the vehicle computer 210 and / or a human operator. The human operator can control the braking system 225 via, for example, a brake pedal.
[0037] The steering system 230 is typically a conventional vehicle steering subsystem and controls the turning of the wheels. The steering system 230 can be a rack and pinion system with electric power steering, a steer-by-wire system (both of which are known), or any other suitable system. The steering system 230 can include an electronic control unit (ECU) etc. that communicates with and receives input from the vehicle computer 210 and / or a human operator. The human operator can control the steering system 230 via, for example, a steering wheel.
[0038] The vehicle transceiver 235 can be adapted to wirelessly transmit signals via any suitable wireless communication protocol, including the same protocol used by the infrastructure transceiver 135 and possibly other protocols. The vehicle transceiver 235 can be a single device or can include separate transmitter and receiver.
[0039] Return to Figure 1, the remote computer 205 is programmed to receive data from the infrastructure sensors 130. For example, the data can be image data. The image data is a series of image frames of the field of view F of a camera. Each image frame is a two-dimensional pixel matrix. The brightness or color of each pixel is represented as one or more numerical values. For example, it can be a scalar unitless value of photometric light intensity between 0 (black) and 1 (white), or the values of each of red, green, and blue, for example, each on an 8-bit scale (0 to 255) or a 12-bit or 16-bit scale. A pixel can be a repeating pattern of a mixture of representations, such as the intensities of three pixels and a scalar value of a fourth pixel with three numerical color values, or some other pattern. The position in the image frame (i.e., the position in the field of view F of the sensor when the image frame is recorded) can be specified in pixel dimensions or coordinates, for example, a pair of ordered pixel distances, such as a number of pixels from the top edge of the image frame and a number of pixels from the left edge of the image frame.
[0040] As another example, the data can be distance data. The distance data can be, for example, a series of point clouds of the field of view F of a range sensor (such as lidar or radar). The points of the point cloud specify the corresponding positions of locations in the environment relative to the range sensor. For example, the distance data can be in spherical coordinates, where the range sensor is located at the origin of the spherical coordinate system. The spherical coordinates can include: a radial distance, i.e., the measured depth from the range sensor to the point measured by the range sensor; a polar angle, i.e., the angle from the vertical axis passing through the range sensor to the point measured by the range sensor; and an azimuth angle, i.e., the angle in the horizontal plane from the horizontal axis passing through the range sensor to the point measured by the range sensor. The horizontal axis can, for example, be along the vehicle forward direction. Alternatively, the range sensor can return the points as Cartesian coordinates of the range sensor at the origin or as coordinates in any other suitable coordinate system, or the remote computer 205 can convert the spherical coordinates to Cartesian coordinates or another coordinate system after receiving the distance data.
[0041] Vehicles 105, 110 travel on a pre-defined section 120 of the same road 115. The pre-defined section 120 is an area of the road 115 with fixed boundaries stored in the memory of the remote computer 205. The boundaries can be defined by two longitudinal endpoints 140 spaced apart in the travel direction of the road 115 and a lane boundary 145 extending from one of the longitudinal endpoints 140 to the other longitudinal endpoint 140. For the purposes of this disclosure, "longitudinal" refers to the front-to-back dimension relative to the lanes of the road 115, and "lateral" refers to the side dimension relative to the lanes of the road 115. In the specific example described herein, the vehicles 105, 110 travel in the same direction on the same single-lane road 115 or in the same lane of a multi-lane road 115. Thus, the pre-defined section 120 is defined by the lane boundary 145 of a single lane extending from one longitudinal endpoint 140 to the other longitudinal endpoint 140. The techniques herein can be extended to other scenarios where the vehicles 105, 110 are interacting with the same pre-defined section 120.
[0042] When describing the programming in one of the vehicle computers 210, the modifier "self-aware" refers to the vehicle 105 that includes that particular vehicle computer 210, and the modifier "remaining" refers to the other vehicles 110 that do not include that particular vehicle computer 210. For ease of description, the programming of a single vehicle computer 210 will be described. The same programming can be implemented on all vehicle computers 210 of the self-aware vehicle 105.
[0043] The determinations described below can be performed for a set of future time steps. A future time step is a discrete instance in time. The future time steps can have a uniform length Δt selected based on the computational speed of the vehicle computer 210 and / or the remote computer 205 and the communication latency between the remote vehicle 205 and the self-aware vehicle 105. The future time steps can start at the next time step after the current time step. The set of future time steps can define a time range, i.e., the maximum length of time into the future from the current time for which the calculations are performed. The time range can be defined by the number of time steps H, which means the length of the time range is given by HΔt.
[0044] The remote computer 205 can be programmed to receive or determine the kinematic state of one or more of the vehicles 105, 110. For the purposes of this disclosure, "kinematic state" is defined as a mathematical description of the position and / or motion of an entity. For example, the kinematic state of each vehicle can include position, velocity, and acceleration, e.g., ξ i,t ={x i,t ,v i,t ,a i,t}, where the subscript i is the index value of vehicle 105, the subscript t is the value of the time step, x is the position, v is the speed, and a is the acceleration. For a single-lane road 115, the position x, speed v, and acceleration a can be one-dimensional, i.e., scalar, where a positive value indicates the direction of travel forward on road 115, and a negative value indicates the direction of travel backward on road 115. For example, the remote computer 205 can receive a transmission including the kinematic state of the self-aware vehicle 105 from the self-aware vehicle 105. As another example, the remote computer 205 can determine the kinematic states of vehicles 105, 110 based on sensor data from the infrastructure sensors 130.
[0045] The vehicle computer 210 can be programmed to actuate the self-aware vehicle 105 according to the control input u i,t For the purposes of this disclosure, a "control input" is one or more values that control the operation of vehicle components. For example, the vehicle computer 210 can actuate the self-aware vehicle 105 according to the control input u i,t to actuate the propulsion system 220 and / or the braking system 225 of the self-aware vehicle 105. The control input u i,t can specify the acceleration of the self-aware vehicle 105. Actuating the propulsion system 220 according to the control input can include: for a positive value of the control input u i,t , engaging the throttle so that the acceleration a i,t of the self-aware vehicle 105 i,t matches the control input u. Actuating the braking system 225 according to the control input can include: for a negative value of the control input u i,t , engaging the braking system 225 such that the acceleration a i,t of vehicle 105 i,t matches the control input u.
[0046] The remote computer 205 can be programmed to determine the predicted kinematic state of one or more of the vehicles 105, 110 at a future time step. The remote computer 205 can execute a physics-based model of the vehicle based on the kinematic state of the vehicles 105, 110 at a previous time step and the predicted control inputs to the vehicles 105, 110. For example, the position of the vehicles 105, 110 at a future time step can be the sum of the position at the immediately previous time step and the product of the velocity at the immediately previous time step and the length of the time step. The position can be calculated with a preset modulus, which effectively models a single-lane road 115 as a loop with a circumference equal to the modulus. The preset modulus can be the path length of a predefined section 120. The loop model can simplify calculations over future time steps without loss of accuracy. For example, the position of the vehicles 105, 110 at a future time step can be the sum of the velocity at the immediately previous time step and the product of the acceleration at the immediately previous time step and the length of the time step. The acceleration can be weighted between the acceleration at the previous time step, the control input at the previous time step, and the control input at the second-nearest time step. The remote computer 205 can iteratively determine the predicted kinematic state at future time steps, e.g., starting from the current time step and determining each time step up to the future time step, e.g., as shown in the following set of expressions:
[0047]
[0048]
[0049]
[0050] where μ denotes a noise term, C is the modulus, γ is the weight of the acceleration, and is the predicted control input. The modulus C (e.g., the path length of the predefined section 120) can be chosen to be large enough to cover all the vehicles 105, 110. The weight γ can be a preset value chosen based on how the propulsion system 220 and the braking system 225 typically respond. The predicted control input can be chosen by, for example, assuming that the vehicles 105, 110 operate so as to maximize the utility function described below.
[0051] As will be described below, the remote computer 205 determines the target speed of the self-aware vehicle 105 and transmits the target speed to the self-aware vehicle 105. The target speed is the speed at which the self-aware vehicle 105 attempts to travel when unobstructed by the remaining vehicles 110 in the forward direction, i.e., the speed at which the self-aware vehicle 105 attempts to travel subject to constraints such as the proximity to the remaining vehicles 110.
[0052] The vehicle computer 210 or the remote computer 205 is programmed to determine the value of a utility function. For example, in one example of determining a control input based on a target speed, the vehicle computer 210 can determine the value of the utility function as described below. As another example, in one example of determining a target speed, the remote computer 205 can determine the value of the utility function as described below. The form of the utility function is chosen to reward or punish certain actions of vehicles 105, 110. The utility function can include terms related to the forward movement of vehicles 105, 110, the backward movement of vehicles 105, 110, and / or the proximity of vehicles 105, 110 to other vehicles 105, 110, which will be described in turn below. The utility function can be the sum over time steps of a time horizon of the sum of the terms, e.g., where each term is weighted so that the terms are commensurable and express the priority between the terms, e.g., as shown in the following expression:
[0053]
[0054] where k is the index of the term, w is the weight, and U is the term. Parentheses are used to indicate when a variable is a superscript rather than a power. For forward movement, the index k can be 1, for backward movement, the index can be 2, and for proximity to other vehicles 105, 110, the index can be 3.
[0055] The utility function (e.g., the first term of the utility function) can reward the forward movement of the relevant vehicle until the target speed is reached For example, the first term can include the speed v of vehicle 105 i,t (possibly adjusted to the next time step using acceleration a i,t and the difference from the optimal speed The first term can be an exponential function, i.e., the Euler number e to the power of the independent variable, which can provide a greater differential as the speed v of vehicle 105 i,t gets closer and closer to the optimal speed For example, the first term can be given by the following expression:
[0056]
[0057] where exp() is the exponential function, and κ i (1) is a scaling term. The weight w1 of the first term can be a positive value to indicate support for forward movement, e.g., 1.
[0058] The utility function (e.g., the second term of the utility function) can punish the backward movement of the self-aware vehicle 105. For example, the second term can be an exponential function of the negative value of the speed v of the vehicle i,t (possibly using acceleration a i,tAdjusted to the next time step), for example, as shown in the following expression:
[0059]
[0060] where is a scaling or adjustment term. The weight w2 of the second term can be negative to indicate an undesired backward movement, e.g., –1.
[0061] The utility function (e.g., the third term of the utility function) penalizes the proximity of the self-aware vehicle 105 to one of the remaining vehicles 110 (e.g., the remaining vehicle 110 traveling immediately in front of the self-aware vehicle 105), which will be referred to as the leading remaining vehicle 110. For example, the third term can be based on the distance between the self-aware vehicle 105 and the leading remaining vehicle 110, e.g., the bumper-to-bumper distance from the front of the self-aware vehicle 105 to the rear of the leading remaining vehicle 110. The third term can be based on the ratio between the distance and a function of the speeds of the self-aware vehicle 105 and the leading remaining vehicle 110. The function of the speed can increase with the speed of the self-aware vehicle 105 and can increase as the self-aware vehicle 105 moves closer to the leading vehicle, as indicated by their speeds. For example, the third term can be given by the following set of expressions:
[0062]
[0063]
[0064] where Δx i,j,t is the bumper-to-bumper distance between the i-th vehicle and the j-th vehicles 105, 110 at the t-th time step, δ is a function of the speed, L i is the length of the i-th vehicle, and is a scaling or adjustment term. The weight w3 of the third term can be negative to indicate an undesired backward movement and can have a greater magnitude than either of the weights w1, w2 to indicate a higher priority for the third term, e.g., –10.
[0065] Alternatively, the utility function can be a sum of transformed versions of the foregoing terms, e.g., where each transformed term is weighted as described above, e.g., as shown in the following expression:
[0066]
[0067] where g kis the transformation function for the k-th term. For example, if the remote computer 205 uses a utility function to determine the target speed, a transformation function can be selected to make the prediction closer to the typical human operation of vehicles 105, 110. The transformation function represents the utility of each term over a time range rather than at a single time step, so the above expression lacks the summation over time steps. For example, the corresponding transformation functions g1, g2 for the first and second terms can be the predicted kinematic state at the next time step t+1 replacing the kinematic state at the current time step t. For the length of the time range t+H+1, the transformation function g3 for the third term can be the maximum value of the third term in the future time steps starting from the next time step t+1.
[0068] The remote computer 205 can be programmed to determine one or more total values that characterize vehicles 105, 110 as a group. The total values can include, for example, vehicle density, mean speed, and speed span, which will be described in turn below. The total values can be based on the actual speeds of vehicles 105, 110. The term "actual" refers to the speed at which vehicles 105, 110 actually travel, which is distinct from the predicted or projected speed of vehicles 105, 110 or the average speed of vehicles 105, 110 over time or multiple vehicles 105, 110. Vehicles 105, 110 travel at respective actual speeds that may be different from each other.
[0069] The remote computer 205 is programmed to determine the vehicle density on a predefined section 120 of road 115. The vehicle density is the number of vehicles 105, 110 per road length on the predefined section 120. For example, the vehicle density can be the mean of the instantaneous vehicle density at time steps over a plurality of time steps. The instantaneous vehicle density can be the number of vehicles 105, 110 in the predefined section 120 divided by the path length of the predefined section 120, for example, as shown in the following expression:
[0070]
[0071] where ρ is the instantaneous vehicle density, N is the number of vehicles 105, 110 on the predefined section 120 at time t, and L is the path length of the predefined section 120. The vehicle density can be the mean of the instantaneous vehicle density over a plurality of time steps (e.g., a preset number of time steps), for example, as shown in the following expression:
[0072]
[0073] where S is the vehicle density, τ is the preset number of time steps, and t' is an index that counts within the time steps from the first time step t–τ to the current time step t. Averaging the instantaneous vehicle density can eliminate outliers to give a more reliable measurement of vehicle density than using the most recent instantaneous vehicle density.
[0074] The remote computer 205 can be programmed to determine the mean speed of vehicles 105, 110. For example, the remote computer 205 can determine the instantaneous mean speed, where for each value of the mean, the actual speeds of vehicles 105, 110 are from the same time, as shown in the following expression:
[0075]
[0076] where V is the mean speed, i is the index of vehicles 105, 110 on the predefined section 120, and N is the number of vehicles 105, 110 on the predefined section 120. Thus, the mean speed can be a function of time and can represent the mean of the actual speeds at each time t.
[0077] The remote computer 205 can be programmed to determine the speed span of vehicles 105, 110. The speed span is the difference between the highest speed and the lowest speed. For example, the remote computer 205 can determine the instantaneous speed span, where the span is between the highest speed and the lowest speed among the actual speeds from the same time t, e.g., as shown in the following expression:
[0078]
[0079] where R is the speed span, i is the index of vehicles 105, 110 on the predefined section 120
[0080] To determine the target speed, the remote computer 205 can determine the value of an objective function. As will be described below, the remote computer 205 can determine the value of the target speed that optimizes the objective function (i.e., maximizes or minimizes the objective function, whichever is considered beneficial). The objective function can be a combination of the mean speed and the speed span. For example, the combination of the mean speed and the speed span can be the difference between the mean speed and the speed span, where at least one of the mean speed and the speed span is weighted by a trade-off parameter, e.g., as shown in the following expression:
[0081]
[0082] where Π is the objective function, is the target speed of the self-aware vehicle 105 (arbitrarily assign index i = 1), ω is the trade-off parameter, and T is the time horizon. The difference between the mean speed and the speed spread is used because the mean speed and the speed spread are beneficial in opposite directions, i.e., a higher mean speed and a lower speed spread are better. The trade-off parameter ω can be chosen such that both the mean speed and the speed spread are given significant weights when optimizing the objective function to find the target speed (e.g., 0.5). The inventors have found that when optimizing the objective function, the influence of vehicle density on the value of the target speed is significantly stronger than the influence of the trade-off parameter on the value of the target speed.
[0083] The remote computer 205 is programmed to determine the target speed based on the vehicle density. For example, the remote computer 205 determines the target speed based on optimizing a combination of the mean speed and the speed spread (e.g., the objective function), which means maximizing the mean speed and minimizing the speed spread, as can be seen from the form of the above objective function. As can be seen from the form of the above objective function, the optimization can be performed within the time horizon T. For example, the remote computer 205 can execute an optimization algorithm with the current vehicle density as input, as will be described below. For another example, the remote computer 205 can store the relationship between the target speed and the vehicle density, e.g., the target speed as a function of the vehicle density, i.e., the function can be an analytical function, i.e., a mathematical expression, or a numerical function in the form of a look-up table, for example. The function can be derived by executing the optimization algorithm described below for different vehicle densities. Thus, the function represents the optimization of the objective function. It is computationally more efficient to pre-determine the function offline and store it in the remote computer 205 than to have the remote computer 205 continuously execute the optimization algorithm. Therefore, the remote computer 205 may be able to determine the target speed quickly enough using the function to operate in real time.
[0084] The optimization algorithm determines the target speed that maximizes the objective function while keeping the vehicle density constant. The remote computer 205 can execute the optimization algorithm with the current vehicle density as input, or another computer can execute the optimization algorithm multiple times for several different vehicle densities in order to determine the function f. As an overall overview of one execution of the optimization algorithm, a simulation of vehicles 105, 110 traveling on a predefined section 120 is performed once for each value in the range of target speed values, e.g., where the target speed increases from 1 m / s to 8 m / s in increments of 0.01 m / s. The value of the objective function is determined for each simulation, and the output of the optimization algorithm is the target speed with the maximum value of the objective function.
[0085] For each simulation, the optimization algorithm determines the predicted control inputs for each vehicle, which are used as the best response to the predicted control inputs of the other vehicles 105, 110, where "best response" is measured by the utility function described above. First, the optimization algorithm initializes the predicted control inputs to a preset value, e.g., the final predicted control inputs from the previous time step or zero. Then, the optimization algorithm determines the predicted kinematic states of the vehicles 105, 110 based on the initialized predicted control inputs, as described above. Next, the optimization algorithm determines the total value of the utility function for each vehicle 105, 110 based on the predicted kinematic states. Then, the optimization algorithm updates the predicted control inputs for each vehicle 105, 110, e.g., by performing a grid search over a set of parameterized predicted control inputs. Finally, the optimization algorithm determines the predicted kinematic states of the vehicles 105, 110 based on the updated predicted control inputs, where the predicted kinematic states determined at this step are used as the input to the objective function as described above.
[0086] The remote computer 205 is programmed to transmit the target speed to the self-aware vehicle 105 after determining the target speed. For example, for each self-aware vehicle 105, the remote computer 205 may direct the infrastructure transceiver 135 to transmit a message including the target speed to the self-aware vehicle 105 via a communication session established between the infrastructure transceiver 135 of the self-aware vehicle 105 and the vehicle transceiver 235. The infrastructure transceiver 135 and the vehicle transceiver 235 may establish a communication session in response to the self-aware vehicle 105 entering the range of the infrastructure transceiver 135. As another example, the remote computer 205 may broadcast the target speed on a predefined section 120 of the road 115. The remote computer 205 may direct the infrastructure transceiver 135 to transmit a message including the target speed via a frequency band accessible to any self-aware vehicle 105. Thus, any self-aware vehicle 105 within the range of the infrastructure transceiver 135 may be able to receive the target speed.
[0087] The vehicle computer 210 of the self-aware vehicle 105 may be programmed to operate the self-aware vehicle 105 based on the target speed, e.g., to travel at the target speed. For example, the remote computer 205 and the self-aware vehicle 105 may be under the same authority, and the message from the remote computer 205 may be a command to cause the self-aware vehicle 105 to travel at the target speed (subject to other constraints). The vehicle computer 210 may determine the predicted control inputs based on the target speed and based on sensor data indicating the remaining vehicles 110, e.g., by determining the best response according to the predicted kinematic states and maximizing the utility function, as described above. As described above, the target speed is an input to the utility function.
[0088] For example, the vehicle computer 210 of the self-aware vehicle 105 can be programmed to perform adaptive cruise control based on a target speed. Adaptive cruise control is an advanced driver assistance system (ADAS) that operates the vehicle at a speed input by the user, unless the leading vehicle is less than a threshold distance in front of the vehicle, in which case the adaptive cruise control operates the vehicle at a speed lower than the speed input by the user. The adaptive cruise control can actuate the propulsion system 220 to accelerate to the speed input by the user or maintain the speed of the vehicle at the speed input by the user, and the adaptive cruise control can actuate the braking system 225 such that the vehicle does not exceed the speed input by the user or move within the threshold distance from the leading vehicle. The adaptive cruise control can output a control input for use by the vehicle computer 210 to actuate the propulsion system 220 and / or the braking system 225. The vehicle computer 210 can be programmed to perform adaptive cruise control with the target speed as the speed input by the user. The vehicle computer 210 can output a prompt to the operator asking for confirmation input to use the target speed as the user input speed for the adaptive cruise control.
[0089] For example, the target speed can be the posted speed limit of the road 115. A predefined section 120 of the road 115 can be designated as having a variable speed limit rather than a fixed speed limit. The posted speed limit is the maximum allowable speed at which the vehicles 105, 110 can operate on the road 115, as set by the jurisdiction having authority over the road 115. A message from the remote computer 205 to the self-aware vehicle 105 can identify the target speed as the posted speed limit of the road 115. An electronic sign along the road 115 can display the target speed as the posted speed limit of the road 115 such that the target speed is visible to the operators of the vehicles 105, 110.
[0090] Figure 3 is a flowchart showing an example process 300 for providing a target speed to the self-aware vehicle 105. The memory of the remote computer 205 stores executable instructions for performing the steps of the process 300, and / or can be programmed in a structure such as that mentioned above. As an overall overview of the process 300, the remote computer 205 receives the vehicle kinematic state, determines the vehicle density on the predefined section 120, determines the target speed based on the vehicle density, and transmits the target speed to the self-aware vehicle 105. The remote computer 205 can continuously perform the process 300 when the infrastructure component 125 is in use.
[0091] The process 300 begins at block 305, where the remote computer 205 receives the vehicle kinematic state of the vehicles 105, 110, such as sensor data indicative of the vehicle kinematic state, as described above.
[0092] Next, in block 310, the remote computer 205 determines the vehicle density on a pre-defined section 120 of the road 115, as described above.
[0093] Next, in block 315, the remote computer 205 determines the target speed based on the vehicle density from block 310, as described above.
[0094] Next, in block 320, the remote computer 205 transmits the target speed from block 315 to the self-aware vehicle 105, as described above. After block 320, the process 300 ends.
[0095] Figure 4 FIG. is a flow chart showing an example process 400 for operating one of the self-aware vehicles 105 based on a target speed. The memory of the vehicle computer 210 stores executable instructions for performing the steps of process 400 and / or may be programmed in a structure such as that mentioned above. As an overall overview of process 400, the vehicle computer 210 receives sensor data from the vehicle sensors 215, receives the target speed from the remote computer 205, determines control inputs, and actuates components of the vehicle according to the control inputs. As long as the self-aware vehicle 105 remains within the range of the infrastructure transceiver 135, the vehicle computer 210 may continuously execute process 400.
[0096] Process 400 begins at block 405, where the vehicle computer 210 receives sensor data from the vehicle sensors 215.
[0097] Next, in block 410, the vehicle computer 210 receives the target speed from the remote computer 205, as described above.
[0098] Next, in block 415, the vehicle computer 210 determines control inputs based on the target speed from block 410 and the sensor data from block 405, for example using the "best response" algorithm described above or the adaptive cruise control described above.
[0099] Next, in block 420, as described above, the vehicle computer 210 actuates at least one component of the self-vehicle 105 according to the control inputs determined in block 415, such as the propulsion system 220 and / or the braking system 225. After block 420, the process 400 ends.
[0100] Generally speaking, the described computing systems and / or devices may employ any of a variety of computer operating systems, including but not limited to the following versions and / or types: Ford Applications; AppLink / Smart Device Link middleware; Microsoft Operating System; Microsoft Operating systems; Unix operating systems (e.g., those released by Oracle Corporation, Redwood Shores, California); AIX UNIX operating systems released by International Business Machines Corporation, Armonk, New York; Linux operating systems; Mac OS X and iOS operating systems released by Apple Inc., Cupertino, California; BlackBerry operating systems released by BlackBerry Limited, Waterloo, Canada; and Android operating systems developed by Google Inc. and the Open Handset Alliance; or CAR infotainment platforms provided by QNX Software Systems Limited. Examples of computing devices include, but are not limited to, in-vehicle computers, computer workstations, servers, desktops, notebooks, laptop computers or handheld computers, or some other computing system and / or device. Operating systems); AIX UNIX operating systems released by International Business Machines Corporation, Armonk, New York; Linux operating systems; Mac OS X and iOS operating systems released by Apple Inc., Cupertino, California; BlackBerry operating systems released by BlackBerry Limited, Waterloo, Canada; and Android operating systems developed by Google Inc. and the Open Handset Alliance; or CAR infotainment platforms provided by QNX Software Systems Limited. Examples of computing devices include, but are not limited to, in-vehicle computers, computer workstations, servers, desktops, notebooks, laptop computers or handheld computers, or some other computing system and / or device.
[0101] Computing devices typically include computer-executable instructions, where the instructions can be executed by one or more computing devices such as those listed above. Computer-executable instructions can be compiled or interpreted from computer programs created using a variety of programming languages and / or technologies, which alone or in combination include, but are not limited to, Java TM , C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Python, Perl, HTML, etc. Some of these applications can be compiled and executed on virtual machines such as Java Virtual Machines, Dalvik Virtual Machines, etc. Generally, a processor (e.g., a microprocessor) receives instructions from, for example, 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 can be stored and transmitted using a variety of computer-readable media. Files in a computing device are typically a collection of data stored on a computer-readable medium such as a storage medium, random access memory, etc.
[0102] Computer-readable media (also referred to as processor-readable media) include any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of the computer). Such media can take many forms, including but not limited to non-volatile media and volatile media. Instructions can be transmitted through one or more transmission media, which include fiber optics, wires, wireless communication, including components that make up the system bus coupling to the processor of the computer. Common forms of computer-readable media include, for example, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
[0103] The databases, data repositories, or other data stores described herein can include various mechanisms for storing, accessing, and retrieving various data, including hierarchical databases, sets of files in a file system, application databases in a proprietary format, relational database management systems (RDBMSs), non-relational databases (NoSQL), graph databases (GDBs), and so on. Each such data store is typically included within a computing device that employs a computer operating system such as one of those mentioned above, and is accessed via a network in any one or more of various ways. A file system can be accessed from a computer operating system and can include files stored in various formats. In addition to languages for creating, storing, editing, and executing stored programs such as the PL / SQL language mentioned above, RDBMSs typically also employ Structured Query Language (SQL).
[0104] In some examples, system components can be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) and stored on a computer-readable medium associated therewith (e.g., disk, memory, etc.). A computer program product can include such instructions stored on a computer-readable medium for performing the functions described herein.
[0105] In the drawings, the same reference numerals indicate the same elements. Additionally, some or all of these elements can be changed. With respect to the media, processes, systems, methods, heuristics, etc. described herein, it should be understood that while the steps of such processes etc. have been described as occurring in a certain ordered sequence, such processes can be practiced by performing the steps in an order different from that described herein. It should also be understood that certain steps can be performed simultaneously, other steps can be added, or certain steps described herein can be omitted. The operations, systems, and methods described herein should always be implemented and / or performed in accordance with the applicable owner / user manuals and / or safety guidelines.
[0106] The present disclosure has been described in an illustrative manner, and it should be understood that the terms used are of a descriptive nature rather than restrictive. The adjectives "first", "second", and "third" are used throughout this document as identifiers and are not intended to denote importance, order, or quantity. The use of "in response to", "after determining...", etc. indicates a causal relationship, not just a temporal relationship. Given the above teachings, many modifications and variations of the present disclosure are possible, and the present disclosure can be practiced in other ways than specifically described.
[0107] According to the present invention, there is provided a system having a remote computer including a processor and a memory, the memory storing instructions executable by the processor to: determine a vehicle density on a predefined section of a road, the vehicle density being the number of vehicles per road length on the predefined section, the vehicles being away from the remote computer; determine a target speed based on the vehicle density, the target speed being the speed at which a self-aware vehicle among the vehicles attempts to travel in the forward direction without being obstructed by the remaining vehicles among the vehicles; and transmit the target speed to the self-aware vehicle.
[0108] According to an embodiment, the vehicles travel at respective actual speeds, and the instructions further include instructions for: determining the target speed based on optimizing a combination of the mean of the actual speeds and the span of the actual speeds, the span being the difference between the highest speed and the lowest speed among the actual speeds.
[0109] According to an embodiment, the combination of the mean and the span is the difference between the mean and the span, wherein at least one of the mean and the span is weighted by a trade-off parameter.
[0110] According to an embodiment, for each value of the mean and the span, the actual speeds of the vehicles are from the same time.
[0111] According to an embodiment, the instructions further include instructions for optimizing the combination of the mean and the span within a time range.
[0112] According to an embodiment, the vehicles travel at respective actual speeds, and the instructions further include instructions for: determining the target speed based on minimizing the span of the actual speeds, the span being the difference between the highest speed and the lowest speed among the actual speeds.
[0113] According to an embodiment, for each value of the span, the actual speeds of the vehicles are from the same time.
[0114] According to an embodiment, the vehicles travel at respective actual speeds, and the instructions further include instructions for determining the target speed based on maximizing the mean of the actual speeds.
[0115] According to an embodiment, for each value of the mean, the actual speeds of the vehicles are from the same time.
[0116] According to an embodiment, the vehicle density is the mean of the instantaneous vehicle densities at time steps over a plurality of time steps.
[0117] According to an embodiment, the feature of the present invention also lies in the self-aware vehicle, which includes a vehicle computer programmed to perform adaptive cruise control based on the target speed.
[0118] According to an embodiment, the target speed is the posted speed limit of the road.
[0119] According to an embodiment, the instructions further include instructions for broadcasting the target speed on the pre-defined section of the road.
[0120] According to an embodiment, the remote computer is communicatively coupled to the self-aware vehicle, and the remote computer is not communicatively coupled to at least one of the remaining vehicles.
[0121] According to the present invention, a method includes: determining the vehicle density on a pre-defined section of a road, where the vehicle density is the number of vehicles per road length on the pre-defined section and the vehicles are away from the remote computer; determining a target speed based on the vehicle density, where the target speed is the speed at which a self-aware vehicle among the vehicles attempts to travel without being obstructed by the remaining vehicles in the forward direction; and transmitting the target speed to the self-aware vehicle.
[0122] In one aspect of the present invention, the method includes: performing adaptive cruise control on the self-aware vehicle based on the target speed.
[0123] In one aspect of the present invention, the vehicle travels at a corresponding actual speed, and the method further includes: determining the target speed based on optimizing a combination of the mean of the actual speed and the span of the actual speed, where the span is the difference between the highest speed and the lowest speed among the actual speeds.
[0124] In one aspect of the present invention, the combination of the mean and the span is the difference between the mean and the span, where at least one of the mean and the span is weighted by a trade-off parameter.
[0125] In one aspect of the present invention, for each value of the mean and the span, the actual speed of the vehicle is from the same time.
[0126] In one aspect of the present invention, the method includes optimizing the combination of the mean and the span within a time range.
Claims
1. A method, comprising: Determining a vehicle density on a pre - defined section of a road, the vehicle density being the number of vehicles per road length on the pre - defined section, the vehicles being remote from the remote computer; Determining a target speed based on the vehicle density, the target speed being the speed at which a self - aware vehicle among the vehicles attempts to travel in the forward direction without being impeded by the remaining vehicles among the vehicles; And Transmitting the target speed to the self - aware vehicle.
2. The method according to claim 1, wherein the vehicle travels at a corresponding actual speed, and the method further comprises: Determining the target speed based on optimizing a combination of the mean of the actual speeds and the span of the actual speeds, the span being the difference between the highest speed and the lowest speed among the actual speeds.
3. The method according to claim 2, wherein the combination of the mean and the span is the difference between the mean and the span, and at least one of the mean and the span is weighted by a trade - off parameter.
4. The method according to claim 2, wherein for each value of the mean and the span, the actual speeds of the vehicles are from the same time.
5. The method according to claim 4, further comprising optimizing the combination of the mean and the span within a time range.
6. The method according to claim 1, wherein the vehicle travels at a corresponding actual speed, and the method further comprises: Determining the target speed based on minimizing the span of the actual speeds, the span being the difference between the highest speed and the lowest speed among the actual speeds.
7. The method according to claim 6, wherein for each value of the span, the actual speeds of the vehicles are from the same time.
8. The method according to claim 1, wherein the vehicle travels at a corresponding actual speed, and the method further comprises: Determining the target speed based on maximizing the mean of the actual speeds.
9. The method according to claim 8, wherein for each value of the mean, the actual speeds of the vehicles are from the same time.
10. The method according to claim 1, wherein the vehicle density is the mean of the instantaneous vehicle densities at time steps over a plurality of time steps.
11. The method according to claim 1, wherein the target speed is the posted speed limit of the road.
12. The method according to claim 1, further comprising broadcasting the target speed on the pre - defined section of the road.
13. The method according to claim 1, further comprising performing adaptive cruise control by a vehicle computer of the self - aware vehicle based on the target speed.
14. The method according to claim 1, wherein determining the target speed includes a remote computer determining the target speed, the remote computer being communicatively coupled to the self - aware vehicle and the remote computer not being communicatively coupled to at least one of the remaining vehicles.
15. A remote computer, comprising a processor and a memory, the memory storing instructions executable by the processor to perform the method according to any one of claims 1 to 12.
