Phantom traffic jam detection and avoidance

By identifying and alleviating ghost traffic congestion through the traffic volume reduction system and using sensor data to provide target speed indication, the problem of difficulty in effectively identifying and alleviating ghost traffic congestion in the existing technology is solved, and the optimization of traffic flow and congestion reduction are achieved.

CN113748447BActive Publication Date: 2025-01-21GOOGLE LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980095782.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-06-24
Publication Date
2025-01-21
Estimated Expiration
2039-06-24

AI Technical Summary

Technical Problem

The prior art is difficult to effectively identify and alleviate traffic congestion problems caused by ghost traffic congestion, especially in densely populated areas.

Method used

Traffic reduction systems identify traffic congestion on road segments and use sensor data to determine vehicle target speeds to reduce traffic volume. The system provides target speed indications to vehicles approaching the road section, adjusting the vehicle's speed to maintain an appropriate following distance.

Benefits of technology

Effectively reduces the impact of traffic congestion, especially ghost traffic congestion, by optimizing the distance and speed between vehicles, reducing stagnation and delays in traffic flow.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113748447B_ABST
    Figure CN113748447B_ABST
Patent Text Reader

Abstract

In order to reduce the effects of traffic congestion, the traffic reduction system identifies a road segment with a traffic volume exceeding a threshold amount. The traffic reduction system also receives an indication of a current location of a client device operating in a vehicle and compares the current location with the location of the identified road segment to determine whether the vehicle is on the road segment or approaching the road segment. If the vehicle is on the road segment or approaching the road segment, the traffic reduction system determines a target speed for the vehicle to maintain an equal distance between the vehicle and the vehicle in front of the vehicle and the vehicle behind the vehicle. The traffic reduction system then provides the target speed to the client device for display on a user interface. By maintaining an equal distance between vehicles in front and behind each other, traffic is dissipated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to digital map data and, more particularly, to detecting traffic congestion and reducing the effects of traffic congestion by providing instructions to users and vehicles entering a road segment to ease traffic on the road segment. Background Art

[0002] The background description provided herein is intended to generally present the context of the present disclosure. The works of the inventors named in the present invention, to the extent they are described in this background section, and in all respects that may not qualify as prior art at the time of filing the application, are not admitted, either expressly or impliedly, to be prior art to the present disclosure.

[0003] Today, many users request maps and navigation data for various geographic locations. Software applications typically generate navigation data in response to receiving input from a user specifying a starting point and a destination. In addition, many users, especially in densely populated areas, experience heavy traffic every day. During these time periods, vehicles accelerate for a short while before stopping and then repeat this process several times before reaching their respective destinations. Although large highways and freeways can reduce traffic volume due to the lack of intersections, heavy traffic can also occur on highways and freeways due to different reasons (e.g., accidents, lane closures, construction, etc.).

[0004] In some scenarios, traffic jams can occur without an accident or lane closure. Often, drivers sit in traffic for a long time, anticipating an approaching accident, lane closure, construction zone, etc., before they can speed up and continue on to their destination without any further delays. However, these drivers are unable to determine the cause of the traffic jam, but at some point the traffic light turns brighter and they begin to speed up without any apparent reason. One of the causes of such traffic jams is a phenomenon known as "phantom traffic jams," in which vehicles slow down or stop for no apparent reason. These "phantom traffic jams" are caused by a chain reaction of cars slowing down on a densely populated road. This causes the vehicles behind to slow down further and sets off a chain reaction of cars slowing down, like a traveling wave. This process may repeat as each car on the road slows down and waits for the vehicle in front to speed up. In this way, a single car that slows down too quickly on a densely populated road can cause a traffic jam for half an hour, an hour, or even hours. In 2009, scientists at the University of Alberta and MIT proposed an equation that describes this phenomenon, explaining how temporary disturbances (such as a sudden influx of traffic or a vehicle changing lanes) can cause a chain reaction of sudden braking that can cause traffic to move slowly on a road for hours (MR Flynn, AR Kasimov, J.-C. Nave, RR Rosales, and B. Seibold, "Self-sustained nonlinear waves in traffic flow," Physical Review E, 2009; 79(5)). Summary of the invention

[0005] To reduce the effects of traffic congestion, the traffic reduction system first identifies a traffic congestion on a road segment that may be a phantom traffic congestion. The traffic reduction system may identify a traffic congestion on the road segment by receiving sensor data from vehicles on the road segment or infrastructure components on the road segment indicating that a number of vehicles are slowing down. In addition, the traffic reduction system may receive sensor data from infrastructure components on the road segment, such as image or video data that does not include accidents, construction, traffic signals, or lane closures on the road segment. The traffic reduction system may also receive additional information about the cause of the traffic from a traffic server.

[0006] In any case, when the traffic reduction system identifies a traffic jam, the traffic reduction system determines a target speed or speed range for vehicles approaching the road segment to travel in order to reduce traffic on the road segment. More specifically, if each vehicle on the road segment maintains the same distance between the vehicle and the vehicle in front of the vehicle and the vehicle behind the vehicle, the vehicle will not have to slow down. Therefore, the traffic reduction system determines the following distance that each vehicle maintains between the vehicles in front and behind each respective vehicle, and calculates a target speed corresponding to the following distance.

[0007] The traffic reduction system provides an indication of the target speed to each vehicle approaching the road segment or a computing device in the vehicle. In some embodiments, the indication is a digital indication, which is provided for display on the user's client device or on the vehicle head unit. The indication may also include a background color, such as a green background color indicating that the user needs to accelerate to maintain an appropriate following distance, a yellow background color indicating that the user needs to slow down, a blue background color indicating that the user needs to maintain the same speed, an orange background color that the user needs to decelerate quickly, etc. In this way, the user / driver can travel at the target speed to reduce the traffic on the road segment. In other embodiments, the indication of the target speed is provided to a computing device in the vehicle that controls a certain operation of the vehicle, such as a computing device in an autonomous vehicle, a semi-autonomous vehicle, or any other vehicle with autonomous operation capabilities. In this way, the computing device can control the vehicle to adjust the speed and travel at the target speed.

[0008] In particular, an example embodiment of the technology of the present disclosure is a method for controlling the speed of a vehicle. The method includes identifying a road segment within a geographic area having a volume of traffic exceeding a threshold amount; determining a target speed for vehicles approaching the road segment to travel in order to reduce the volume of traffic at the road segment; and providing an indication of the target speed of the vehicle to a computing device associated with the vehicle approaching the road segment.

[0009] Another embodiment of these techniques is a server device for controlling the speed of a vehicle. The server device includes one or more processors and a non-transitory computer-readable medium storing instructions. When executed by the one or more processors, the instructions cause the server device to identify a road segment within a geographic area that has a traffic volume exceeding a threshold amount; determine a target speed for vehicles approaching the road segment to reduce the traffic volume at the road segment; and provide an indication of the target speed of the vehicle to a computing device associated with the vehicle approaching the road segment.

[0010] Yet another embodiment of the techniques is a method for controlling the speed of a vehicle. The method includes providing an indication of the location of the vehicle to a server device; when the vehicle approaches a road segment having a traffic volume exceeding a threshold amount, receiving from the server device an indication of a target speed for the vehicle to be traveling; determining a current speed of the vehicle; and outputting a feedback signal indicating a difference between the current speed and the target speed.

[0011] Another embodiment of the techniques includes an apparatus for controlling the speed of a vehicle. The apparatus includes one or more processors and a non-transitory computer-readable medium storing instructions. When executed by the one or more processors, the instructions cause the apparatus to: provide an indication of the vehicle's location to a server device; when the vehicle approaches a road segment having a traffic volume exceeding a threshold amount, receive from the server device an indication of a target speed for the vehicle to be traveled; determine a current speed of the vehicle; and output a feedback signal indicating a difference between the current speed and the target speed.

[0012] The present disclosure also provides a computer-readable medium including instructions, which when executed by a computing device causes the computing device to perform any method disclosed herein. The present disclosure also provides a computer program including instructions, which when executed by a computing device causes the computing device to perform any method disclosed herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1A An example scenario including vehicles on a road causing traffic volume due to following too closely together is shown;

[0014] Figure 1B Another example scenario is shown including vehicles on a road that do not cause traffic by maintaining an appropriate following distance;

[0015] Figure 2 An example vehicle is shown in which the techniques of the present disclosure may be used to generate a speed display to reduce traffic congestion;

[0016] Figure 3 is a block diagram of an example communication system in which techniques for reducing the effects of traffic congestion may be implemented;

[0017] Figure 4A-4B is an example speed display indicating a target speed for a vehicle approaching a road segment having traffic volume to reduce the traffic volume on the road segment;

[0018] Figure 5 is a flow chart of an example method that may be implemented in a server device for reducing the effects of traffic congestion; and

[0019] Figure 6 is a flow chart of an example method that may be implemented in a client device for presenting a speed display to reduce the effects of traffic congestion. DETAILED DESCRIPTION

[0020] Overview

[0021] The present disclosure provides a method for controlling the speed of a vehicle to reduce the effects of a traffic jam. According to some embodiments, a respective target speed is determined for each of a plurality of vehicles approaching a traffic jam, and an indication of the target speed is provided to each vehicle. Upon receiving the indication of the target speed, each vehicle adjusts its current speed to minimize the difference between its current speed and the target speed. Traveling at the target speed results in an increased distance between each vehicle and / or optimizes the speed of the vehicles approaching a traffic jam, which may be a phantom traffic jam. This in turn reduces the likelihood of sudden braking that may cause the phantom traffic jam to persist. By controlling the speed of the vehicle in this manner, the phantom traffic jam can be dissipated.

[0022] As mentioned above, phantom traffic jams can occur due to a chain reaction caused by one vehicle slowing down on a densely populated road. This causes the vehicles behind it to slow down further and sets off a chain reaction of vehicles slowing down, like a traveling wave. The minimum traffic density, or number of vehicles per unit distance, on a road where a traffic jam can occur can be determined using the following equation:

[0023]

[0024] in:

[0025] ρ L is the minimum traffic density or number of vehicles per unit distance on the road at which traffic congestion may occur,

[0026] ρ M is the maximum traffic density for a particular road (e.g., there is no space between vehicles on the road),

[0027] β is a measure of road conditions that degrade according to road curvature and / or weather conditions, and

[0028] u is the speed at which the vehicle travels on the road when there is no traffic (such as no speed limit or slightly above the speed limit).

[0029] In this way, as the average speed of vehicles traveling on roads with no traffic increases, the minimum traffic density at which traffic jams may occur decreases. Therefore, phantom traffic jams may occur on roads with high speed limits such as highways, toll roads, and expressways.

[0030] This phenomenon is Figure 1A It is shown in Figure 1AAn example road 100 is depicted on which vehicles 102-110 travel. The road 100 does not include intersections, traffic signals, accidents, construction, lane closures, etc. However, traffic congestion is caused along the road due to the second vehicle 104 following the first vehicle 102 too closely. When the first vehicle 102 slows down, the second vehicle 104 slows down faster than the first vehicle 102 to avoid hitting the first vehicle 102. The third vehicle 106 slows down faster than the second vehicle 104, and the fourth vehicle 108 slows down even faster than the third vehicle 106. The fourth vehicle 108 must then wait for the second vehicle 104 and the third vehicle 106 to accelerate before the fourth vehicle 108 can accelerate again. Therefore, the traffic flow appears as a traveling wave, with the amplitude increasing the farther the vehicle is from the first vehicle that is slowing down. When the fifth vehicle 110 approaches the road 100, the fifth vehicle 110 may also follow the pattern of the first four vehicles. The fifth vehicle 110 may follow closely behind the fourth vehicle 108 and accelerate and decelerate in the same manner as the fourth vehicle 108.

[0031] On the other hand, when each vehicle maintains an equal distance between itself and the vehicle in front of it and between itself and the vehicle behind it, these phantom traffic jams will not occur. Figure 1B It is shown in Figure 1B An example road 150 is depicted on which vehicles 152-158 travel. A second vehicle 154 on the road 150 maintains the same distance (d1) between the second vehicle 154 and the first vehicle 152 as the distance (d2) between the second vehicle 154 and the third vehicle 156. When the fourth vehicle 158 approaches the third vehicle 156, the third vehicle 156 and the fourth vehicle 158 maintain the same distance (d2) as the distance between the third vehicle 156 and the second vehicle 154.

[0032] Accordingly, in order to maintain an equal distance between the vehicle and the vehicle in front of the vehicle and the vehicle behind the vehicle (also referred to herein as "bilateral control"), the traffic reduction system determines a target acceleration for the vehicle based on the speed and position of vehicles on the road segment or approaching the road segment at a particular point in time, vehicles in front of the vehicle, and vehicles behind the vehicle. More specifically, the traffic reduction system may determine the target acceleration (a) of the vehicle as:

[0033] a=k d (x n+1 -2x n +x n-1 )+k v (v n+1 -2v n +v n-1 )

[0034] in:

[0035] x n is the position of vehicle n,

[0036] x n+1 is the position of vehicle n+1 in front of vehicle n,

[0037] x n-1 is the position of vehicle n–1 behind vehicle n,

[0038] v n is the speed of vehicle n,

[0039] v n+1 is the speed of vehicle n+1 in front of vehicle n,

[0040] v n-1 is the speed of vehicle n–1 behind vehicle n,

[0041] k d is the gain of the position feedback, and

[0042] k v is the speed feedback gain.

[0043] The traffic reduction system may then determine a target speed to which the vehicle should accelerate or decelerate within the threshold time period based on the vehicle's current speed, the target acceleration, and the threshold time period (e.g., 10 seconds, 30 seconds, etc.). The target speed may be presented numerically or as a background color on the user's client device 10, indicating to the user that the user needs to accelerate, decelerate, or maintain a constant speed.

[0044] Example Hardware and Software Components

[0045] refer to Figure 2 , an example environment 1 in which the techniques outlined above may be implemented includes a client device 10 and a vehicle 12 having a head unit 14. The client device 10 may be, for example, a smart phone or a tablet computer. The client device 10 communicates with the head unit 14 of the vehicle 12 via a communication link 16, which may be wired (e.g., Universal Serial Bus (USB)) or wireless (e.g., Bluetooth, Wi-Fi Direct). The client device 10 may also communicate with various content providers, servers, etc. via a wireless communication network such as a fourth generation or third generation cellular network (4G or 3G, respectively).

[0046] The head unit 14 may include a display 18, such as a digital map. In some embodiments, the display 18 is a touch screen and includes a software keyboard for entering text input, which may include the name or address of a destination, a starting point, etc. Hardware input controls 20 and 22 on the head unit 14 and the steering wheel, respectively, may be used to enter alphanumeric characters or perform other functions to request navigation directions. For example, the head unit 14 may also include audio input and output components, such as a microphone 24 and a speaker 26.

[0047] refer to Figure 3 , an example communication system 100 in which a traffic reduction system may be implemented includes a client device 10 and several other client devices 82a-n, such as computing devices configured to execute a geographic application 84, which may also be referred to as a "navigation application 84." Depending on the implementation, the application 84 may display an interactive digital map, request and receive routing data to provide driving, walking, or other navigation instructions, provide various geo-located content, etc. Each of the client devices 82a-n may be operated by a user to display a digital map while navigating to various locations.

[0048] In addition, the example communication system 100 includes an infrastructure component 306, such as a traffic light disposed on or around a road segment and collecting sensor data associated with the road segment. The infrastructure component 306 may include a traffic signal, a camera, a street light, or any other suitable roadside equipment. In addition, the infrastructure component 306 may include one or more sensors (not shown) (such as a camera, a positioning sensor, etc.), a processing component 308, and a vehicle-to-infrastructure (V2I) communication interface for communicating with a vehicle within a communication range of the infrastructure component 306 and / or communicating with a server device.

[0049] In addition to the client device 10, other client devices 82a-n, and infrastructure components 306, the communication system 100 also includes a server device 60 configured to provide a target speed to the client device 10. The server device 60 may be communicatively coupled to a database 80 that, in an example embodiment, stores sensor data received from the other client devices 82a-n and infrastructure components 306 to determine whether traffic congestion exists at a particular road segment.

[0050] More generally, the server device 60 may communicate with one or more databases storing any type of suitable geospatial information or information that may be associated with a geographic context. The communication system 100 may also include a navigation data server 34 that provides, for example, driving, walking, biking, or public transportation instructions. In addition, the communication system 100 may include a map data server 50 that provides map data to the server device 60 for use in generating a map display. Still further, the communication system 100 may include a traffic server (not shown) that provides traffic data to the server device 60. The devices operating in the communication system 100 may be interconnected via the communication network 30.

[0051] The client device 10 may include a memory 320, one or more processors (CPU) 316, a graphics processing unit (GPU) 312, an I / O module 314, a user interface (UI) 332, and one or more sensors (not shown), such as a global positioning system (GPS) module, an accelerometer, a gyroscope, a magnetometer such as a compass, etc. The memory 320 may be a non-transitory memory and may include one or more suitable memory modules, such as a random access memory (RAM), a read-only memory (ROM), flash memory, other types of persistent memory, etc. For example, the I / O module 14 may be a touch screen. In various embodiments, the client device 10 may include more than one embodiment of the present invention. Figure 3 1 , or conversely, include additional components. Although the client device 10 is described above with reference to FIG. 1 as a smart phone or tablet computer, the client device 10 may be any suitable portable or non-portable computing device. For example, the client device 10 may be a laptop computer, a desktop computer, a wearable device such as a smart watch or smart glasses, etc.

[0052] The memory 320 stores an operating system (OS) 326, which can be any type of suitable mobile or general-purpose operating system. The OS 326 can include application programming interface (API) functions that allow applications to obtain sensor readings. For example, a software application configured to execute on the client device 10 can include instructions to call the OS 326 API to obtain the current location of the client device 10 at that moment. The API can also return a quantitative indication of the degree of certainty of the API to the estimate (e.g., in the form of a percentage).

[0053] The memory 320 also stores a speed display 322, which can be included as a function within a geographic application (such as a navigation application). The navigation application can display an interactive digital map, request and receive routing data to provide driving, walking or other navigation instructions, provide various geo-location content, etc. In some embodiments, the current location of the client device 10 is provided to the server device 60. If the server device 60 determines that the client device 10 is approaching a road segment with traffic (e.g., within a threshold distance of the road segment, such as 500 feet, half a mile, one mile, etc., and / or when the vehicle 12 is traveling toward the road segment according to the direction of travel of the vehicle 12), the traffic volume is particularly not caused by accidents, lane closures, construction, traffic signals, etc., but rather traffic caused by vehicles following too closely to each other, then the server device 60 provides an indication of a target speed for the vehicle 12 associated with the client device 10 to proceed to reduce the traffic volume on the road segment. The speed display 322 is configured to present an indication of the target speed, for example, as a numerical indication (e.g., 33 miles per hour), as a directional arrow (e.g., where an arrow pointing upward indicates that the user should speed up and an arrow pointing downward indicates that the user should slow down), and / or as a background color selected from a set of background colors, where each background color represents a different change in speed. For example, a green background color may indicate that the user of the client device 10 needs to speed up, a blue background color may indicate that the user of the client device 10 needs to maintain the same speed, a yellow background color may indicate that the user of the client device 10 needs to slow down, and an orange background may indicate that the user of the client device 10 needs to decelerate quickly.

[0054] The speed display 322 may be presented as a notification within the navigation application and may be periodically overlaid on the interactive digital map or continuously presented during a period of time when the client device 10 is approaching or on a road segment with traffic. The server device 60 may provide real-time updates of a target speed that the vehicle 12 is traveling at based on the speeds of other vehicles ahead of the vehicle 12, behind the vehicle 12, and / or on the road segment.

[0055] As described above, each client device 82a-n can be operated by a user displaying map data. Each of the client devices 82a-n can be a smart phone or a tablet computer and can have one or more sensors 19. In addition, each client device 82a-n can include a memory storing an operating system (OS) and a navigation application 84, which is configured to generate an interactive digital map and / or perform other geographic functions, as described above. The navigation application 84 can receive map data in a raster (e.g., bitmap) or non-raster (e.g., vector graphic) format from the map data server 50 and present the map data via a map display 86. In some cases, the map data can be organized into multiple layers, such as a basic layer depicting roads, streets, natural formations, etc., a traffic layer depicting current traffic conditions, a weather layer depicting current weather conditions, and a navigation layer depicting a path to a destination. The navigation application 84 can also display driving, walking, or traffic instructions, and generally provides functions related to geography, geolocation, navigation, etc. via a map display 86.

[0056] The client devices 82a-n may provide the server device 60 with map data and / or sensor data for identifying the volume of traffic on various road segments. More specifically, when the user of the client device 82a-n agrees to share location and other sensor data, the client device 82a-n provides the server device 60 with positioning data indicating the current location of the client device 82a-n and acceleration data and / or speed data of the client device 82a-n. When the server device 60 obtains multiple instances of deceleration or speeds below a threshold speed from the client devices 82a-n in the same geographic area, the server device 60 may identify the volume of traffic on the road corresponding to the current location of the client device 82a-n. In other embodiments, the server device 60 may communicate with a traffic server (not shown) to identify the volume of traffic on the road segment.

[0057] It should be noted that although Figure 3 The navigation application 84 is shown as a standalone application, but the functionality of the navigation application 84 may also be provided in the form of an online service accessible via a web browser executed on the client device 82a-n, provided as a plug-in or extension to another software application executed on the client device 82a-n, etc. The navigation application 84 may generally be provided in different versions for different corresponding operating systems. For example, the manufacturer of the client device 82a-n may provide a software development kit (SDK) that includes a software for Android. TM Navigation application for platform 84, for iOS TM Another SDK for the platform, etc.

[0058] In some embodiments, the server device 60 includes one or more processors 62 and memory 64. The memory 64 can be a tangible, non-transitory memory and can include any type of suitable memory module, including random access memory (RAM), read-only memory (ROM), flash memory, other types of persistent memory, etc. The memory 64 stores instructions executable on the processor 62 that constitute a traffic reduction engine 68, which can identify traffic congestion on a road or some parts of a road (such as a road segment). The traffic reduction engine 68 can also receive the current location of the client device 10 approaching the road and determine a target speed for the vehicle 12 associated with the client device 10 to travel in order to reduce traffic on the road. An indication of the target speed is displayed by the speed display 322 of the client device 10.

[0059] The traffic reduction engine 68 and the speed display 322 may operate as components of a traffic reduction system. Alternatively, the traffic reduction system may include only server-side components and simply provide instructions to the speed display 322 to display an indication of the target speed. In other words, the traffic reduction techniques of these embodiments may be implemented transparently to the speed display 322. As another alternative, the entire functionality of the traffic reduction engine 68 may be implemented in the speed display 322. Although the speed display 322 may be in Figure 3 10, but the speed display 322 may also be operated within the vehicle head unit 14 or in any other computing device operating in the vehicle 12. For example, the speed display 322 may be operated in a computing device that controls the operation of the vehicle 12. In this way, the server device 60 can provide an indication of the target speed that the vehicle 12 is traveling to the speed display 322, and the computing device can control the operation of the vehicle 12 to accelerate or decelerate to achieve the desired speed.

[0060] For simplicity, Figure 3 The server device 60 is shown as only one example of a server. However, the server device 60 according to some embodiments includes a group of one or more server devices, each of which is equipped with one or more processors and can operate independently of other server devices. The server devices operating in such a group can process requests from client devices 10 individually (e.g., based on availability) or according to any other suitable technology in a distributed manner, in which an operation associated with processing a request is performed on one server device, and another operation associated with processing the same request is performed on another server device. For the purpose of this discussion, the term "server device" can refer to a single server device or a group of two or more server devices.

[0061] In operation, the speed display 322 operating in the client device 10 receives data and transmits the data to the server device 60. Therefore, in one example, the client device 10 can transmit a communication indicating the current position of the client device 10 to the traffic reduction engine 68 (implemented in the server device 60). Accordingly, the traffic reduction engine 68 can determine whether the vehicle 12 is approaching a road segment with a traffic volume exceeding a threshold amount based on the current position of the client device. The threshold traffic volume can be the traffic density of the road segment, such as 100 vehicles per mile, 200 vehicles per mile, etc. In other embodiments, the threshold traffic volume can be based on the threshold speed of the vehicle on the speed limit road segment relative to the road segment. In other embodiments, the threshold traffic volume can be based on the threshold deceleration of the vehicle on the road segment. For example, the traffic reduction engine 68 can receive sensor data from the client device 82a-n traveling on the road segment, which indicates the speed and acceleration / deceleration value of the vehicle. The traffic reduction engine 68 can also receive sensor data from the infrastructure component 306 on the road segment. In other embodiments, the traffic reduction engine 68 may receive traffic data from a traffic server indicating the volume of traffic on a road segment. The traffic server may provide a traffic density for the road segment, a description of the class of traffic (such as light, medium, or heavy), or an indication of the expected additional amount of time to traverse the road segment due to the traffic volume. Accordingly, in this example, the threshold traffic volume may be a threshold traffic density (e.g., 100 vehicles per mile), a threshold traffic class (e.g., medium or above), or a threshold additional amount of time to traverse the road segment due to the traffic volume (e.g., 5 minutes).

[0062] The traffic reduction engine 68 can compare the average speed and / or acceleration / deceleration value with a threshold speed or deceleration to determine whether the road segment has a threshold traffic volume. The threshold speed can be based on the speed limit of the road segment, so that the threshold speed of a road segment with a speed limit of, for example, 55 miles / hour is higher than the threshold speed of a road segment with a speed limit of 35 miles / hour. In some embodiments, the sensor data from the infrastructure component 306 can include image or video data from a camera on the road segment. The traffic reduction engine 68 can analyze the image or video data to determine that there are no accidents, lane closures, traffic signals, construction, etc. on the road segment. This can indicate that the traffic volume is caused by the vehicle failing to maintain a threshold following distance on the road segment. The traffic reduction engine 68 can also receive additional information about traffic causes from the traffic server.

[0063] Still further, the traffic reduction engine 68 can receive a signal from a vehicle located within the road segment indicating that the traffic is not caused by an accident, lane closure, construction, or traffic signal. For example, the traffic reduction engine 68 can receive information from a navigation application 84 operating in a client device 82a-n within a vehicle indicating that the traffic is not caused by an accident, lane closure, construction, or traffic signal, wherein the information is self-reported by the user. In another example, the client device 82a-n can communicate with an infrastructure component 306 on the road segment indicating that the traffic is not caused by an accident, lane closure, construction, or traffic signal, and can forward the communication to the server device 60.

[0064] In any case, when the vehicle 12 approaches a road section with a traffic volume exceeding a threshold amount, the traffic volume reduction engine 68 then determines the target speed of the vehicle 12. The target speed can be determined based on the traffic density of the road section and / or the threshold following distance of the road section. For example, the traffic volume reduction engine 68 can determine the threshold following distance of the road section based on the traffic density of the road section, wherein the threshold following distance decreases as the traffic density increases. In addition, the threshold following distance can be based on the traffic volume on the road section, so that as the vehicle travels faster on the road section, the following distance can be higher. For example, when the vehicle travels at a speed of about 50 miles / hour on the road section, the following distance can be higher than when the vehicle travels at a speed of about 30 miles / hour on the road section. The traffic volume reduction engine 68 can then determine the target speed based on the following distance and the speed of the vehicle on the road section.

[0065] In some embodiments, the traffic reduction engine 68 determines a target speed for the vehicle 12 using a bilateral control approach, wherein the target speed is determined to maintain a threshold distance between the vehicle 12 and vehicles in front and behind the vehicle 12. The traffic reduction engine 68 determines a target acceleration for the vehicle 12 using the above equation, wherein:

[0066] a=k d (x n+1 -2x n +x n-1 )+k v (v n+1 -2v n +v n-1 )

[0067] Traffic reduction engine 68 may include k d (position feedback gain) and k vThe traffic reduction engine 68 may also determine the position and speed of vehicles in front of and behind the vehicle 12 based on sensor data from the client devices 82a-n. In some embodiments, the traffic reduction engine 68 estimates the position and speed of vehicles in front of and behind the vehicle 12 based on average speed and distance between vehicles based on sensor data from the client devices 82a-n on the road segment. In any case, the traffic reduction engine 68 determines the target speed to which the vehicle is to accelerate or decelerate within the threshold time period based on the vehicle's current speed, the target acceleration, and the threshold time period (e.g., 10 seconds, 30 seconds, etc.).

[0068] More specifically, in some embodiments, the traffic reduction engine 68 may identify a vehicle in front of the vehicle 12 and a vehicle behind the vehicle 12 based on the location data from the client devices 82a-n. For example, the traffic reduction engine 68 may identify the two vehicles closest to the vehicle 12 as the vehicles in front of and behind the vehicle 12 based on the location data from the client devices 82a-n. The traffic reduction engine 68 may then determine the location and speed of the identified vehicles and the location and speed of the vehicle 12 to determine the target acceleration.

[0069] In other embodiments, the traffic reduction engine 68 may identify a first group of vehicles in front of the vehicle 12 and a second group of vehicles behind the vehicle 12 based on the location data from the client devices 82a-n. For example, the traffic reduction engine 68 may identify vehicles within a threshold distance (e.g., 100 feet, 200 feet, 500 feet, 1000 feet, etc.) in front of the vehicle 12 as vehicles in front of the vehicle 12 based on the location data from the client devices 82a-n, and may identify vehicles within a threshold distance (e.g., 100 feet, 200 feet, 500 feet, 1000 feet, etc.) behind the vehicle 12 as vehicles behind the vehicle 12 based on the location data from the client devices 82a-n. The traffic reduction engine 68 may then estimate the location and speed of the vehicle in front of the vehicle 12 based on the location and speed of the identified vehicles in front of the vehicle 12. For example, the traffic reduction engine 68 may estimate the location and speed of the vehicle in front of the vehicle 12 as an average of the locations and speeds of the identified vehicles in front of the vehicle 12. Additionally, the traffic reduction engine 68 may estimate the position and speed of the vehicle behind the vehicle 12 based on the position and speed of the identified vehicles behind the vehicle 12. For example, the traffic reduction engine 68 may estimate the position and speed of the vehicle behind the vehicle 12 as an average of the position and speed of the identified vehicles behind the vehicle 12.

[0070] In still other embodiments, the traffic reduction engine 68 can identify the vehicle in front of the vehicle 12 and the vehicle behind the vehicle 12 based on the image or video data from the infrastructure component 306 on the road segment. More specifically, the traffic reduction engine 68 can determine the license plate number and / or make and model of the vehicle in front of the vehicle 12 and the license plate number and / or make and model of the vehicle behind the vehicle 12 by analyzing the image or video data using optical character recognition (OCR), object recognition or other computer vision technology. The infrastructure component 306 can also provide sensor data of the identified vehicle, including the position and speed of the identified vehicle, and the traffic reduction engine 68 can determine the target acceleration based on the position and speed of the identified vehicle. In addition, in addition to providing sensor data, the client device 82a-n can also provide an indication of the vehicle in which they are traveling, such as the brand, model and / or license plate number of the vehicle. In some embodiments, the user of the client device 82a-n can provide an indication of the vehicle via the navigation application 84 by, for example, entering the brand, model and / or license plate number of their respective vehicles. The traffic reduction engine 68 may then determine the location and speed of vehicles preceding and following the vehicle 12 based on sensor data from the client devices 82a-n that provide indications of vehicles that match the vehicle identified from the image or video data.

[0071] In still other embodiments, the vehicle head unit 14 may receive sensor data from sensors in the vehicle 12 that indicates the distance between the vehicle 12 and a vehicle in front of the vehicle and the distance between the vehicle 12 and a vehicle behind the vehicle. For example, the vehicle 12 may include front and rear depth sensors, such as light detection and ranging (LiDAR) sensors, radio detection and ranging (RADAR) sensors, etc. The depth data detected by the front and rear depth sensors may be provided to the vehicle head unit 14, which may provide the depth data to the client device 10 via the communication link 16.

[0072] The client device 10 may then determine the location of the vehicle in front of the vehicle 12 based on the depth data and the location of the client device 10 from the GPS module. Similarly, the client device 10 may then determine the location of the vehicle behind the vehicle 12 based on the depth data and the location of the client device 10 from the GPS module. The client device 10 may also determine the speed of the vehicle in front of the vehicle 12 based on the change in the depth data. For example, the depth data may be provided to the client device 10 continuously or periodically (e.g., every second, every 5 seconds, every 10 seconds, etc.), and the client device 10 may determine the speed of the vehicle in front of the vehicle 12 based on the change in the depth data over a particular time period and the speed of the vehicle 12 during the time period from the GPS module and / or accelerometer. The client device 10 may also similarly determine the speed of the vehicle behind the vehicle 12. The client device 10 may then determine the target acceleration based on the location and speed of the vehicles in front of and behind the vehicle 12 and the location and speed of the vehicle 12.

[0073] In other embodiments, the client device 10 may provide the position and speed of vehicles in front of and behind the vehicle 12 and the position and speed of the vehicle 12 to the server device 60, which in turn determines the target acceleration and provides an indication of the target speed to the client device 10. In still other embodiments, the client device 10 provides the depth data to the server device 60, which determines the position and speed of vehicles in front of and behind the vehicle 12. The server device 60 then determines the target acceleration based on the position and speed of vehicles in front of and behind the vehicle 12 and the position and speed of the vehicle 12.

[0074] In any case, the traffic reduction engine 68 then provides an indication of the target speed to the speed display 322. In some embodiments, the indication of the target speed is a numerical indication or a background color from a set of background colors. In other embodiments, the indication of the target speed can be a feedback signal indicating the difference between the target speed and the current speed. The feedback signal can be provided to a computing device within the vehicle 12 that controls a certain operation of the vehicle 12 (e.g., throttle control), such as a computing device in an autonomous vehicle, a semi-autonomous vehicle, or any other vehicle with autonomous operation capabilities. In this way, the computing device can control the vehicle 12 to adjust the speed and travel at the target speed.

[0075] Figure 4A and 4BExample speed displays 400, 450 are included that indicate a target speed for a vehicle 12 approaching a road segment with traffic. The speed display 400 may be presented on the user interface 332 of the client device 10 or on the vehicle head unit 14. Each example speed display 400, 450 includes a numerical indication of a target speed 402, 452 for the vehicle 12; a background color or shading 404, 454 indicating that the vehicle 12 should accelerate, decelerate, maintain the same speed, decelerate rapidly, etc. The speed display 400, 450 may be presented with a first background color or shading indicating that the vehicle 12 should accelerate, a second background color or shading indicating that the vehicle 12 should decelerate, a third background color or shading indicating that the vehicle 12 should maintain the same speed, a fourth background color or shading indicating that the vehicle 12 should decelerate rapidly, etc. Each example speed display 400, 450 also includes another indicator 406, 456, such as a directional arrow, as to whether the vehicle should accelerate, decelerate, maintain the same speed, etc.

[0076] Figure 5 An example method 500 for controlling vehicle speed is shown, which may be implemented, for example, at a network server, such as server device 60. The method may be implemented in a set of instructions stored on a computer readable memory and executable at one or more processors of server device 60. For example, the method may be implemented by traffic reduction engine 68.

[0077] At box 502, sensor data is received from a client device 82a-n operating in a vehicle on a road segment. The sensor data may also be received from an infrastructure component 306 (such as a traffic light) on the road segment. The server device 60 may analyze the sensor data to determine whether there is a threshold amount of traffic on the road segment (box 504). In some embodiments, the server device 60 may also analyze the sensor data to determine whether the traffic is caused by an intersection, a traffic signal, an accident, construction, a lane closure, etc., or caused by the vehicle failing to maintain a threshold following distance on the road segment. The threshold amount of traffic may be a traffic density of the road segment, such as 100 vehicles per mile, 200 vehicles per mile, etc. In other embodiments, the threshold amount of traffic may be based on a threshold speed of a vehicle on the road segment relative to a speed limit of the road segment. In yet other embodiments, the threshold amount of traffic may be based on a threshold deceleration of a vehicle on the road segment. In other embodiments, the server device 60 may receive traffic data from a traffic server indicating the amount of traffic on the road segment. The traffic server may provide a description of the traffic density of the road segment, a category of traffic volume (such as light, medium, or heavy), or an indication of the expected additional amount of time to cross the road segment due to the traffic volume. Accordingly, in this example, the threshold traffic volume can be a threshold traffic density (e.g., 100 vehicles per mile), a threshold traffic category (e.g., medium or above), or a threshold additional amount of time to traverse a road segment due to traffic volume (e.g., 5 minutes).

[0078] In order to determine whether there is a threshold traffic volume on a road section, the server device 60 can compare the average speed and / or acceleration / deceleration value of the vehicle on the road section with the threshold speed or deceleration to determine whether the road section has a threshold traffic volume. The threshold speed can be based on the speed limit of the road section, so that the threshold speed of the road section with a speed limit of, for example, 55 miles / hour is higher than the threshold speed of the road section with a speed limit of 35 miles / hour. In some embodiments, the sensor data from the infrastructure component 306 can include images or video data from the camera on the road section. The server device 60 can analyze the image or video data to determine that there is no accident, lane closure, traffic signal, construction, etc. on the road section.

[0079] When the server device 60 determines that there is more than a threshold amount of traffic on a particular time segment, the server device 60 can mark the segment and store an indication of the segment having more than a threshold amount of traffic at a particular time. Once the server device 60 determines that the segment does not have the threshold amount of traffic, the server device 60 can remove the segment from the list.

[0080] Then, in response to receiving the current location of the client device 10 in or associated with the vehicle 12 (block 506), the server device 60 may compare the current location with an indication of a road segment having more than a threshold amount of traffic to determine whether the vehicle 12 is on or approaching a road segment having more than a threshold amount of traffic. The server device 60 may determine that the vehicle 12 is approaching a road segment when the vehicle 12 is within a threshold distance (e.g., 500 feet, half a mile, one mile, etc.) of the road segment and / or when the vehicle 12 is traveling toward the road segment according to the vehicle's direction of travel.

[0081] When the server device 60 determines that the vehicle 12 is approaching a road segment with a traffic volume exceeding a threshold amount, a target speed for the vehicle 12 is determined to maintain a bilateral following distance between the vehicle 12 and the vehicles in front and behind the vehicle 12 to reduce the traffic volume (block 508). In some embodiments, the server device 60 determines the target speed for a specific time period (e.g., 10 seconds, 30 seconds, etc.) by determining the target acceleration for the specific time period and the current speed of the vehicle 12. The server device 60 then identifies the target speed as the sum of the current speed and the product of the target acceleration and the specific time period. As described above, the server device 60 determines the target acceleration based on the position and speed of the vehicle 12 according to the sensor data from the client device 10 and the position and speed of one or more vehicles in front and behind the vehicle 12 according to the sensor data from other client devices 82a-n. The position and speed of the vehicle directly in front of the vehicle 12 can be estimated based on a combination of the positions and speeds of several vehicles within a threshold distance in front of the vehicle 12. In addition, the position and speed of the vehicle directly behind the vehicle 12 can be estimated based on a combination of the positions and speeds of several vehicles within a threshold distance behind the vehicle 12.

[0082] Then at box 510, the server device 60 provides an indication of the target speed to, for example, the client device 10 or the vehicle head unit 14. In some embodiments, the indication of the target speed is a digital indication or a background color from a set of background colors. In other embodiments, the indication of the target speed can be a feedback signal indicating the difference between the target speed and the current speed. The feedback signal can be provided to a computing device in the vehicle 12 that controls a certain operation of the vehicle 12 (e.g., throttle control), such as a computing device in an autonomous vehicle, a semi-autonomous vehicle, or any other vehicle with autonomous operation capabilities, to control the vehicle 12 to adjust the speed and travel at the target speed.

[0083] In some embodiments, the client device 10 continuously or periodically provides sensor data indicating the current position and / or speed of the vehicle 12 to the server device 60. The server device 60 can then periodically (e.g., every 30 seconds, every minute, every 2 minutes, every 5 minutes, etc.) or continuously generate an updated target speed based on the most recent position and speed of the vehicle 12 and the most recent position and speed of vehicles before and after the vehicle 12 that are on or approaching the road segment. The server device 60 then provides an indication of the updated target speed to, for example, the client device 10 or the vehicle head unit 14. In this way, the user can adjust the speed of the vehicle 12 accordingly.

[0084] Figure 6An example method 600 for controlling vehicle speed is shown, which may be implemented, for example, at a client device such as client device 10. The method may be implemented in a set of instructions stored on a computer readable memory and executable at one or more processors of client device 10. For example, the method may be implemented by speed display 322.

[0085] At block 602, a client device 10 operating in a vehicle 12 provides an indication of its current location to a server device 60. The client device 10 may provide an indication of its current location to the server device 60 continuously, periodically, at predetermined time intervals, or in any other suitable manner. Then at block 604, as the vehicle 12 approaches a road segment having more than a threshold amount of traffic, the client device 10 receives an indication of a target speed of travel from the server device 60. At block 606, the client device 10 determines the current speed of the vehicle 12, for example, based on sensor data from a GPS module and / or an accelerometer.

[0086] The client device 10 then generates a feedback signal indicating the difference between the current speed and the target speed. The feedback signal may be displayed on the user interface 332 (e.g. Figure 4A and 4B More specifically, the user interface 332 may present a numerical indication of the target speed for the vehicle 12, a background color or shading indicating that the vehicle 12 should accelerate, decelerate, maintain the same speed, decelerate rapidly, etc. based on the current speed of the vehicle 12, a directional arrow indicating that the vehicle 12 should accelerate, decelerate, maintain the same speed, decelerate rapidly, etc. based on the current speed of the vehicle 12, or any other suitable indicator.

[0087] Additionally, in some implementations, the feedback signal may be an indication of a target speed that is provided to a throttle control of the vehicle 12. For example, the client device 10 may provide the indication of the target speed to a computing device within the vehicle 12 that controls some operation of the vehicle 12, such as the vehicle head unit 14. The computing device may then control the vehicle 12 to travel at the target speed.

[0088] Additional considerations

[0089] The following additional considerations apply to the foregoing discussion. Throughout this specification, plural instances may implement components, operations, or structures described as single instances. Although a single operation of one or more methods is shown and described as a separate operation, one or more of the separate operations may be performed concurrently, and it is not required to perform these operations in the order shown. The structures and functions presented as separate components in the example configuration may be implemented as combined structures or components. Similarly, the structures and functions presented as single components may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of the present disclosure.

[0090] In addition, some embodiments are described herein as including logic or multiple components, modules, or mechanisms. Modules may constitute software modules (e.g., code stored on a machine-readable medium) or hardware modules. A hardware module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In an example embodiment, one or more computer systems (e.g., independent, client or server computer systems) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured as a hardware module by software (e.g., an application or application portion), and the hardware module operates to perform certain operations as described herein.

[0091] In various embodiments, hardware modules may be implemented mechanically or electronically. For example, a hardware module may include dedicated circuits or logic that are permanently configured (e.g., as a dedicated processor, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also include programmable logic or circuits (e.g., contained in a general purpose processor or other programmable processor) that are temporarily configured by software to perform certain operations. It should be understood that the decision to implement a hardware module mechanically, in a dedicated and permanently configured circuit, or in a temporarily configured circuit (e.g., configured by software) may be driven by cost and time considerations.

[0092] Thus, the term hardware should be understood to encompass tangible entities, i.e., entities that are physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Contemplating embodiments in which hardware modules are temporarily configured (e.g., programmed), it is not necessary to configure or instantiate each of the hardware modules at any one instance in time. For example, where the hardware modules include a general-purpose processor configured using software, the general-purpose processor can be configured as corresponding different hardware modules at different times. The software can configure the processor accordingly, for example, to constitute a particular hardware module at one instance in time, and to constitute different hardware modules at different instances in time.

[0093] Hardware and software modules can provide information to other hardware and / or software modules and receive information from other hardware and / or software modules. Therefore, the described hardware modules can be considered to be connected in communication. In the case of multiple simultaneous existence of such hardware or software modules, communication can be achieved by signal transmission (e.g., through appropriate circuits and buses) connecting the hardware or software modules. In embodiments where multiple hardware or software modules are configured or instantiated at different times, communication between such hardware or software modules can be achieved, for example, by storing and obtaining information in a memory structure accessible to multiple hardware or software modules. For example, a hardware or software module can perform an operation and store the output of the operation in a memory device connected in communication therewith. Then, another hardware or software module can access the memory device later to obtain and process the stored output. The hardware or software module can also initiate communication with an input or output device and can operate on a resource (e.g., a collection of information).

[0094] The various operations of the example methods described herein may be performed, at least in part, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the associated operations. Whether temporarily configured or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. In some example embodiments, the modules mentioned herein may include processor-implemented modules.

[0095] Similarly, the methods or routines described herein may be implemented by a processor at least in part. For example, at least some of the operations of the method may be performed by one or more processors or a hardware module implemented by the processor. Some of the executions in the operation may be distributed between one or more processors, which not only reside in a single machine, but also across many machine deployments. In some example embodiments, a processor or multiple processors may be located in a single location (e.g., in a home environment, an office environment, or as a server cluster), and in other embodiments, the processor may be distributed across many locations.

[0096] The one or more processors may also operate to support execution of related operations in a "cloud computing" environment or as a SaaS. For example, as indicated above, at least some of the operations may be performed by a set of computers (as an example of a machine including a processor), which may be accessed via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., APIs).

[0097] The execution of certain operations may be distributed among one or more processors that reside not only within a single machine but are deployed across multiple machines. In some example embodiments, one or more processors or processor-implemented modules may be located in a single geographic location (e.g., in a home environment, an office environment, or a server farm). In other example embodiments, one or more processors or processor-implemented modules may be distributed across multiple geographic locations.

[0098] Some parts of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals in machine memory (e.g., computer memory). These algorithms or symbolic representations are technical examples used by those of ordinary skill in the field of data processing to convey the essence of their work to other technical personnel in the field. When used herein, an "algorithm" or "routine" is a self-consistent sequence of operations or similar processes that lead to a desired result. In this case, algorithms, routines, and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities can take the form of electrical, magnetic, or optical signals that can be stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. Sometimes, mainly for common reasons, it is convenient to use words such as "data," "content," "bit," "value," "element," "symbol," "character," "item," "number," "digital symbol," etc. to refer to such signals. However, these words are just convenient labels and are associated with appropriate physical quantities.

[0099] Unless otherwise specifically stated, discussions herein using words such as "process," "compute," "calculate," "determine," "present," "display," and the like may refer to the actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities in one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.

[0100] As used herein, any reference to "one embodiment" or "an embodiment" means that a particular element, feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment. The phrase "in one embodiment" appearing in various places in the specification does not necessarily refer to the same embodiment.

[0101] Some embodiments may be described using the expressions "coupled" and "connected" along with their derivatives. For example, some embodiments may be described using the term "coupled" to indicate that two or more elements are in direct physical or electrical contact. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other. The embodiments are not limited to this context.

[0102] When used herein, the terms "comprises," "including," "comprising," "containing," "having," "having," or any other variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that includes a list of elements is not necessarily limited to only those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. In addition, unless expressly stated to the contrary, "or" refers to an inclusive or and not an exclusive "or." For example, any of the following satisfies condition A or B: A is true (or exists) and B is false (or does not exist), A is false (or does not exist) and B is true (or exists), and both A and B are true (or exist).

[0103] In addition, "a" or "an" is used to describe the elements and components of the embodiments herein. This is done only for convenience and to give a general sense of the description. The description should be understood to include one or at least one, and the singular also includes the plural, unless it is obvious that there is another meaning.

[0104] When reading this disclosure, those skilled in the art will also appreciate additional alternative structural and functional designs for controlling the speed of a vehicle through the principles disclosed herein. Therefore, although specific embodiments and applications have been shown and described, it should be understood that the disclosed embodiments are not limited to the precise structures and components disclosed herein. Various modifications, changes and variations that are obvious to those skilled in the art may be made in the arrangement, operation and details of the methods and apparatus disclosed herein without departing from the spirit and scope defined by the appended claims.

Claims

1. A method for controlling the speed of a vehicle, the method comprising: identifying, at one or more processors, road segments within a geographic area having a volume of traffic exceeding a threshold amount; Determining, by the one or more processors, a target speed for vehicles approaching the road segment to reduce traffic volume at the road segment includes: determining, by the one or more processors, the target speed for maintaining a threshold following distance between vehicles on the road segment, the threshold following distance being determined based on a traffic density of the road segment, wherein the threshold following distance decreases as traffic density increases; and An indication of a target speed for the vehicle is provided, by the one or more processors, to a computing device associated with a vehicle approaching the road segment.

2. The method according to claim 1, wherein: The traffic volume is caused by a failure of the vehicle to maintain a threshold following distance on the road segment, and wherein identifying the road segment within the geographic area having a traffic volume exceeding the threshold amount comprises: receiving, at one or more processors, sensor data of a vehicle traveling on the road segment, wherein the sensor data indicates that the vehicle is traveling below a threshold speed or decelerating beyond a threshold deceleration; and Traffic volume at the road segment is identified based on the sensor data by the one or more processors.

3. The method according to claim 1 or claim 2, wherein: Identifying road segments within a geographic area that have a volume of traffic exceeding a threshold amount includes: receiving, at one or more processors, sensor data of a vehicle traveling on the road segment from an infrastructure component located at the road segment, wherein the sensor data indicates that the vehicle is traveling below a threshold speed or decelerating beyond a threshold deceleration, and wherein the sensor data includes image data depicting the vehicle on the road segment; and Traffic volume at the road segment is identified by the one or more processors based on the sensor data, wherein the traffic volume is not caused by an accident, lane closure, construction, or traffic signal.

4. The method according to claim 1 or 2, wherein: Determining a target speed for vehicles approaching the road segment to reduce traffic volume at the road segment includes: A target speed is determined, by the one or more processors, for maintaining a threshold following distance between vehicles on the road segment to reduce deceleration of vehicles on the road segment.

5. The method according to claim 1 or 2, wherein: Providing an indication of a target speed for the vehicle comprises: An indication of the target speed is provided by the one or more processors for display on a client device or vehicle head unit of a user within the vehicle.

6. The method according to claim 1 or 2, wherein: Providing an indication of a target speed for the vehicle comprises: An indication of the target speed is provided, by the one or more processors, to a computing device operating in a vehicle having autonomous operation functionality to adjust a speed of the vehicle.

7. The method according to claim 1 or 2, wherein: Identifying road segments within a geographic area that have a volume of traffic exceeding a threshold amount includes: A signal is received at the one or more processors from a vehicle located within the road segment, the signal indicating that the volume of traffic is not caused by an accident, lane closure, construction, or traffic signal.

8. A server device for controlling the speed of a vehicle, the server device comprising: one or more processors; and a non-transitory computer-readable memory coupled to the one or more processors and storing thereon instructions that, when executed by the one or more processors, cause the server device to: identifying road segments within a geographic area having a volume of traffic exceeding a threshold amount; Determining a target speed for vehicles approaching the road segment for reducing traffic volume at the road segment includes: determining the target speed for maintaining a threshold following distance between vehicles on the road segment, the threshold following distance being determined based on a traffic density of the road segment, wherein the threshold following distance decreases as traffic density increases; and An indication of a target speed for a vehicle approaching the road segment is provided to a computing device associated with the vehicle.

9. The server device according to claim 8, wherein: To identify road segments within a geographic area having a volume of traffic exceeding a threshold amount, the instructions cause the server device to: receiving sensor data of a vehicle traveling on the road segment, wherein the sensor data indicates that the vehicle is traveling below a threshold speed or decelerating beyond a threshold deceleration; and Traffic volume at the road segment is identified based on the sensor data.

10. The server device according to claim 8 or claim 9, wherein: To identify road segments within a geographic area having a volume of traffic exceeding a threshold amount, the instructions cause the server device to: receiving sensor data of a vehicle traveling on the road segment from an infrastructure component located at the road segment, wherein the sensor data indicates that the vehicle is traveling below a threshold speed or decelerating beyond a threshold deceleration, and wherein the sensor data includes image data depicting the vehicle on the road segment; and Traffic volume at the road segment is identified based on the sensor data, wherein the traffic volume is not caused by an accident, lane closure, construction, or traffic signal.

11. The server device according to claim 8 or claim 9, wherein: To determine a target speed for vehicles approaching the road segment for reducing traffic volume at the road segment, the instructions cause the server device to: A target speed is determined for maintaining a threshold following distance between vehicles on the road segment to reduce deceleration of the vehicles on the road segment.

12. The server device according to claim 8 or claim 9, wherein: To provide an indication of a target speed for the vehicle, the instructions cause the server device to: An indication of the target speed is provided for display on a client device or vehicle head unit of a user within the vehicle.

13. The server device according to claim 12, wherein: To provide an indication of the target speed for display on the client device, the instructions cause the server device to provide an indication of a background color for display on the user's client device, wherein the background color is selected from a plurality of background colors, each background color indicating a different target speed of travel.

14. The server device according to claim 8 or claim 9, wherein: To provide an indication of a target speed for the vehicle, the instructions cause the server device to: An indication of the target speed is provided to a computing device operating in a vehicle having autonomous operation functionality to adjust a speed of the vehicle.

15. A method for controlling the speed of a vehicle, the method comprising: providing, by one or more processors in the vehicle, to a server device an indication of the location of the vehicle; receiving, at the one or more processors from the server device, an indication for the vehicle to travel at a target speed based on a threshold following distance when the vehicle approaches a road segment having an amount of traffic exceeding a threshold amount, wherein the threshold following distance is based on a traffic density of the road segment, and wherein the threshold following distance decreases as traffic density increases; determining, by the one or more processors, a current speed of the vehicle; and Vehicle speed is controlled by outputting, by the one or more processors, a feedback signal indicative of a difference between the current speed and the target speed.

16. The method of claim 15 further comprising providing the feedback signal to a throttle control of the vehicle.

17. The method according to claim 15 or claim 16, wherein: Outputting the feedback signal includes displaying visual feedback on a user interface.

18. The method according to claim 17, wherein: Displaying visual feedback includes displaying an indication of the target speed on the user interface.

19. The method according to claim 18, wherein: Displaying an indication of the target speed on the user interface includes: A digital indication of the target speed is presented by the one or more processors.

20. The method according to claim 18, wherein: Displaying an indication of the target speed on the user interface includes: A background color from a set of background colors is presented by the one or more processors, each background color indicating a different target speed.

21. The method of claim 15 or claim 16, wherein: Providing an indication of the position of the vehicle includes providing, by the one or more processors, positioning data indicative of a speed and direction of travel of the vehicle, indicating that the vehicle is within a threshold distance of the road segment and is traveling toward the road segment.

22. An apparatus for controlling the speed of a vehicle, the apparatus comprising: one or more processors; and A non-transitory computer-readable memory, the non-transitory computer-readable memory being coupled to the one or more processors and storing thereon instructions, which, when executed by the one or more processors, cause the apparatus to perform the method according to any one of claims 15 to 21.

23. A computer readable medium comprising instructions which, when executed by a computing device, cause the computing device to perform the method of any one of claims 1 to 7 or 15 to 21.

24. A computer program product comprising instructions which, when executed by a computing device, cause the computing device to perform the method according to any one of claims 1 to 7 or 15 to 21.

Citation Information

Patent Citations

  • Computer program, traffic control apparatus, and traffic control method

    JP2018190315A