Route variation for autonomous vehicles

By using server computing devices to identify and manage route clusters of autonomous vehicles, the method adjusts traversal costs to encourage route diversification, thereby mitigating road congestion and improving traffic distribution.

JP2025088735AActive Publication Date: 2025-06-11WAYMO LLC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024201223
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-10-04
Filing Date
2024-11-19
Publication Date
2025-06-11
Estimated Expiration
2044-11-19

AI Technical Summary

Technical Problem

Autonomous vehicle fleets operating in a common service area tend to use the same or similar routes, leading to road overuse and potential congestion, especially during events or in situations where multiple vehicles are moving to or from a single location.

Method used

A method involving server computing devices that identify current routes of autonomous vehicles, determine when a cluster of vehicles is likely to occur on a road segment, and transmit signals to adjust the cost of traversing that segment, encouraging vehicles to avoid congested areas through cost-based route optimization.

Benefits of technology

This approach effectively distributes traffic more evenly across multiple route options, reducing the likelihood of road congestion and preventing situations where multiple vehicles become stranded on the same road.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025088735000001_ABST
    Figure 2025088735000001_ABST
Patent Text Reader

Abstract

To provide for route variation for autonomous vehicles.SOLUTION: For example, a plurality of routes may be identified. Each route of the plurality may be a current route on which an autonomous vehicle of a fleet of autonomous vehicles is currently traveling. Each of the autonomous vehicles may use a cost-based analysis to determine routes. That there will be a cluster of autonomous vehicles of the fleet of autonomous vehicles on a road segment may be determined. A signal may be sent to one or more of the autonomous vehicles of the cluster of autonomous vehicles to adjust the cost of traversing the road segment so as to increase the likelihood of one or more of the autonomous vehicles of the cluster of autonomous vehicles avoiding the road segment.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications

[0002] This application claims the benefit of the filing date of U.S. Provisional Patent Application No. 63 / 604,298, filed on November 30, 2023, the entire disclosure of which is incorporated herein by reference.

Background Art

[0003] For example, autonomous vehicles, such as vehicles that may not require a human driver, can be used to assist in transporting passengers or items from one location to another. Such vehicles may operate in a fully autonomous mode, or passengers may provide some initial input, such as a pickup location or a destination location, and the autonomous vehicle maneuvers itself to that location. Autonomous vehicles are equipped with various types of sensors to detect surrounding objects. For example, an autonomous vehicle may include sonar, radar, cameras, Lidar, and other devices that scan, generate, and / or record data regarding the area surrounding the autonomous vehicle. The sensor data can be combined with pre - stored map information to enable the autonomous vehicle to plan a trajectory to maneuver itself through the surrounding area along a route.

[0004] However, when a fleet of autonomous vehicles operates in a particular service area using a common map, such autonomous vehicles are likely to use the same or similar routes that cause the autonomous vehicles to drive on the same road or part of a road. This can lead to over - use of a particular road and potential congestion. This can also occur in situations where multiple autonomous vehicles are moving to or from one common location (e.g., an airport, a concert, a sports event, or other event). In some cases, if an autonomous vehicle gets stranded on a particular road and other autonomous vehicles use such a road, they may also get stranded, raising concerns of even greater congestion.

Summary of the Invention

[0005] Aspects of the present disclosure provide a method. The method includes identifying, by one or more processors of one or more server computing devices, a plurality of routes, each of the plurality of routes being a current route on which an autonomous vehicle of a fleet of autonomous vehicles is currently traveling, each of the autonomous vehicles using cost-based analysis; determining, by one or more processors, that a cluster of autonomous vehicles of the fleet of autonomous vehicles is likely to occur on a road segment; and transmitting, by one or more processors, a signal to one or more of the autonomous vehicles of the cluster of autonomous vehicles, the signal being a signal that adjusts a cost of traversing the road segment to increase a likelihood that one or more of the autonomous vehicles of the cluster of autonomous vehicles will avoid the road segment.

[0006] In one embodiment, each of the plurality of paths includes a list of edges of map information, each corresponding to a different road segment. In another embodiment, determining that there is a high likelihood of an autonomous vehicle cluster occurring is based on a time sliding window. In this embodiment, determining that there is a high likelihood of an autonomous vehicle cluster occurring is based on a threshold number of autonomous vehicles expected to cross a road segment within the time sliding window. Additionally, or alternatively, the method also includes determining a threshold number of autonomous vehicle windows based on the type of road segment. Additionally, or alternatively, the method also includes determining a sliding window based on the type of road segment. In another embodiment, transmitting a signal is based on whether one or more of the autonomous vehicles in the autonomous vehicle cluster are transporting passengers. In another embodiment, transmitting a signal is based on the charge state, or fuel state, of one or more of the autonomous vehicles in the autonomous vehicle cluster. In another embodiment, the signal is a first signal, and the method further includes transmitting a second signal to one or more of the autonomous vehicles in the autonomous vehicle cluster to adjust the cost of crossing a road segment, the first signal being configured to cause a first adjustment of the cost, the second signal being configured to cause a second adjustment of the cost, the first adjustment being different from the second adjustment. In another embodiment, the method also includes continuing to transmit additional signals to one or more of the autonomous vehicles in the autonomous vehicle cluster until one or more of the autonomous vehicles in the autonomous vehicle cluster change to one or more new paths that do not include the road segment. In this embodiment, the method also includes limiting an adjustment of a threshold value of the cost of the road segment to a maximum value for one or more of the autonomous vehicles in the autonomous vehicle cluster. In another embodiment, the signal includes an instruction indicating a period for adjusting the cost.

[0007] Another aspect of the present disclosure provides a system. The system includes one or more processors, which are configured to identify a plurality of routes, where each of the plurality of routes is the current route on which an autonomous vehicle of a fleet of autonomous vehicles is currently traveling, and each of the autonomous vehicles is configured to determine a route using cost-based analysis, determine that a cluster of autonomous vehicles of the fleet of autonomous vehicles is likely to occur on a road segment, and transmit a signal to one or more of the autonomous vehicles of the cluster of autonomous vehicles, where the signal is a signal that adjusts the cost of crossing the road segment to increase the likelihood that one or more of the autonomous vehicles of the cluster of autonomous vehicles avoid the road segment.

[0008] In one embodiment, the one or more processors are further configured to determine that a cluster of autonomous vehicles is likely to occur based on a time sliding window. In this embodiment, the one or more processors are further configured to determine that a cluster of autonomous vehicles is likely to occur based on a threshold number of autonomous vehicles expected to cross the road segment during the time sliding window. Additionally, or alternatively, the one or more processors are further configured to determine the sliding window based on the type of the road segment. In another embodiment, the signal is a first signal, and the one or more processors are further configured to transmit a second signal to one or more of the other autonomous vehicles of the cluster of autonomous vehicles to adjust the cost of crossing the segment, the first signal is configured to cause a first adjustment of the cost, the second signal is configured to cause a second adjustment of the cost, and the first adjustment is different from the second adjustment. In another embodiment, the one or more processors are configured to continue to transmit additional signals to one or more of the autonomous vehicles of the cluster of autonomous vehicles until one or more of the autonomous vehicles of the cluster of autonomous vehicles change to one or more new routes that do not include the road segment. In another embodiment, the signal includes an instruction indicating a period for adjusting the cost. In another embodiment, the system also includes autonomous vehicles. BRIEF DESCRIPTION OF THE DRAWINGS

[0009]

Figure 1

Figure 2A

Figure 2B

Figure 3A

Figure 3B

Figure 4

Figure 5

Figure 6A

Figure 6B

Figure 6C

Figure 6D

Figure 7

Figure 8

Figure 9

Figure 10

DETAILED DESCRIPTION OF THE INVENTION

[0010] Overview This technology relates to route variations of autonomous vehicles. For example, when a fleet of autonomous vehicles operates in a specific service area using a common map, such autonomous vehicles are likely to use the same or similar routes that cluster the autonomous vehicles on the same road or part of a road at the same or similar times. This can lead to overuse of a particular road and potential congestion. This can also occur in situations where multiple autonomous vehicles are moving to or from a single common location (e.g., in the case of an airport, concert, sports, or other event). In some cases, when autonomous vehicles become stranded on a particular road, if other autonomous vehicles also use such a road, they may also become stranded, raising concerns of even greater congestion.

[0011] To avoid this, a route variation approach can be used. For example, as these autonomous vehicles travel around, their routing systems can generate routes for the autonomous vehicles to follow to their destinations. At the same time, specific information regarding the state of the autonomous vehicles, including the current route, can be reported to a fleet management system. This information can be utilized to determine when it may be appropriate to send the autonomous vehicles on different routes. This may involve adjusting the cost of specific map information to prevent traversal of such areas of route information. This may help to more evenly distribute traffic among various executable route options and prevent overuse of such areas.

[0012] As described above, when the autonomous vehicles of the fleet operate themselves towards a destination, the routing system of the autonomous vehicles can generate a route to each destination for each autonomous vehicle. For example, the routing system can store detailed map information, such as a pre-stored, highly detailed map. The map information used to plan a route requires not only information about individual lanes but also the nature of lane boundaries to determine where lane changes are permitted, and some of this information may be useful for routing purposes but does not need to include other details such as crosswalks, traffic signals, stop signs, etc.

[0013] The map information can be configured as a road photograph. The road photograph may include a plurality of graph nodes and edges representing features such as crosswalks, traffic signals, road signs, roads, or lane segments, which together constitute the road network of the map information. The routing system can use the aforementioned map information to determine a route from the current position (e.g., the position of the current node) to the destination.

[0014] The route can be generated using a cost-based analysis that attempts to select the route to the destination with the lowest cost. The cost can be evaluated in any number of ways, such as the time to the destination, the travel distance (each edge can be associated with a cost to cross that edge), the type of operation required, the convenience for passengers or the vehicle, etc. In this regard, each edge of the map information may be associated with a cost (e.g., a numerical value) to cross that edge (longer edges or edges with lower speed limits may be associated with higher costs). Each route can include a list of a plurality of nodes and edges that can be used by the vehicle to reach the destination. Thus, the cost of a route can be calculated by summing the costs of the edges of the route.

[0015] Specific information regarding the state of an autonomous vehicle, including the current route, can be reported to a fleet management system. For example, the current route can be sent as a list of node or edge identifiers. This information can be transmitted via a network such as a mobile network. In this regard, the fleet management system can receive information from multiple autonomous vehicles.

[0016] The fleet management system may receive the current route and other information, and within a time sliding window, determine whether there is a cluster of autonomous vehicles on a road segment. For example, the fleet management system can use the received current route to determine when there is a cluster of autonomous vehicles on a specific road segment within a time sliding window. This can include determining and comparing the time when each autonomous vehicle crosses each edge of its respective current route. If a certain number of vehicles cross the same edge within the time sliding window, the fleet management system can determine that there is a cluster of autonomous vehicles on that edge.

[0017] Based on the determination that there is a cluster of autonomous vehicles on a road segment within the time sliding window, the fleet management system can attempt to change the routes of one or more autonomous vehicles within the cluster. This can involve sending a signal to one or more of the autonomous vehicles within the cluster to adjust the cost of the edges in each respective map information. For example, the adjustment can increase the cost of the edge by a fixed amount, thereby increasing the likelihood that one or more autonomous vehicles will avoid the road segment. This can increase the overall cost of the current route of the autonomous vehicle and prevent the routing system of the autonomous vehicle from selecting the same route including the edge.

[0018] The features described herein can provide route variations for autonomous vehicles. This can provide a proactive approach, rather than a reactive approach, to avoid overuse of specific roads and potential congestion. Further, managing route variations in a fleet management system can provide a more reliable and consistent approach than attempting to do so in-vehicle and / or via vehicle-to-vehicle communication.

[0019] Exemplary System As shown in FIG. 1, an autonomous vehicle 100 according to one aspect of the present disclosure includes various components. Vehicles such as those described herein can be configured to operate in one or more different drive modes. For example, in a manual driving mode, a driver can directly control acceleration, deceleration, and steering via inputs such as an accelerator pedal, a brake pedal, and a steering wheel. The vehicle can also operate in one or more autonomous driving modes, including, for example, a semi-autonomous driving mode, or a partial autonomous driving mode, where a person exercises some amount of direct or remote control over the driving operation, or a fully autonomous driving mode, where the autonomous vehicle processes the driving operation without direct or remote control by a person. These vehicles may be known by different names, including, for example, autonomous driving vehicles, self-driving vehicles, and the like.

[0020] The National Highway Traffic Safety Administration (NHTSA) and the Society of Automotive Engineers (SAE) have each specified different levels to indicate the amount, or lack thereof, of vehicle control of driving, although different organizations may classify the levels differently. Further, such classifications can change (e.g., be updated) over time.

[0021] As described herein, in the semi-autonomous driving mode, or the partial autonomous driving mode, the vehicle assists with the lead for one or more driving operations (e.g., steering, braking, and / or accelerating for performing lane centering, adaptive cruise control, emergency braking), but the human driver is expected to situationally recognize the surroundings of the vehicle and monitor the assisted driving operations. Here, although the autonomous vehicle can perform all driving tasks in certain situations, the human driver is expected to be responsible for performing control as needed.

[0022] In contrast, in the fully autonomous driving mode, the control system of the autonomous vehicle performs all driving tasks and monitors the driving environment. This may be limited to specific situations, such as driving in a specific service area, or under specific time or environmental restrictions, or may include driving under all conditions without restrictions. In the fully autonomous driving mode, a person is not expected to take on the control of any driving operations.

[0023] Unless otherwise indicated, the architectures, components, systems, and methods described herein can function in a semi-automatic driving mode, or a partial automatic driving mode, or a fully automatic driving mode.

[0024] Certain aspects of the present disclosure are particularly useful in relation to a specific type of vehicle, but the autonomous vehicle can be any type of vehicle including, but not limited to, automobiles, trucks (e.g., garbage trucks, tractor-trailers, pickup trucks, etc.), motorcycles, buses, recreational vehicles, road sweeping or sweeping vehicles, etc. The autonomous vehicle can have one or more computing devices, such as a computing device 110, including one or more processors 120, a memory 130, and other components typically present in a general-purpose computing device.

[0025] Memory 130 stores information accessible by one or more processors 120, including data 132 and instructions 134 that can be executed or otherwise used by the processors 120. Memory 130 can be of any type capable of storing information accessible by a processor, including a computing device, or a computer-readable medium, or a hard drive, memory card, ROM, RAM, DVD, or other optical disk, and other writable and read-only memories, and other media capable of storing data readable by an electronic device. The system and method may include the aforementioned different combinations, whereby different portions of the instructions and data are stored on different types of media.

[0026] Instructions 134 can be any set of instructions that are executed directly (such as machine code) or indirectly (such as a script) by a processor. For example, the instructions can be stored as computing device code on a computing device-readable medium. In this regard, the terms "instructions" and "program" may be used interchangeably herein. The instructions can be in object code form for direct processing by a processor, or can include a script or collection of independent source code modules that are interpreted on demand or pre-compiled, and can be stored in any other computing device language. The functions, methods, and routines of the instructions will be described in more detail below.

[0027] Data 132 can be obtained, stored, or modified by the processor 120 according to the instructions 134. For example, although the claimed subject matter is not limited by any particular data structure, the data can be stored in a computing device register within a relational database as a table having multiple different fields and records, XML documents, or flat files. The data can also be formatted in any computing device-readable format.

[0028] One or more processors 120 can be any conventional processor, such as a commercially available CPU or GPU. Alternatively, one or more processors can include dedicated devices, such as an ASIC or other hardware-based processor. FIG. 1 functionally shows a processor, memory, and other elements of computing device 110 as being within the same block, but it will be understood by those skilled in the art that the processor, computing device, or memory may or may not actually be stored within the same physical housing and can include multiple processors, computing devices, or memories. For example, the memory can be a hard drive or other storage medium located within a housing different from that of computing device 110. Thus, a reference to a processor or computing device is understood to include a reference to a set of processors, computing devices, or memories that may or may not operate in parallel.

[0029] Computing device 110 can include all of the components typically used in connection with a computing device, such as the aforementioned processor and memory, as well as user input 150 (e.g., one or more buttons, mouse, keyboard, touch screen, and / or microphone), various electronic displays (e.g., a screen or monitor having any other electrical device operable to display information), and, optionally, a speaker 154 that provides information to the autonomous vehicle 100 or other passengers. For example, the electronic display 152 can be located within the cabin of the autonomous vehicle 100 and can be used by computing device 110 to provide information to passengers within the autonomous vehicle 100.

[0030] Computing device 110 may also include one or more wireless network connections 156 to facilitate communication with other computing devices, such as client computing devices and server computing devices, as described in detail below. The wireless network connections may include various configurations and protocols, including short-range communication protocols such as Bluetooth, Bluetooth low energy (LE), cellular connections, as well as the Internet, World Wide Web, intranet, virtual private network, wide area network, local network, private network using one or more company-specific communication protocols, Ethernet, WiFi, and HTTP, and various combinations of the foregoing.

[0031] Computing device 110 may be part of the autonomous control system of autonomous vehicle 100 and may be able to communicate with various components of the autonomous vehicle to control the autonomous vehicle in autonomous driving mode. For example, returning to FIG. 1, computing device 110 may communicate with various systems of autonomous vehicle 100, such as deceleration system 160, acceleration system 162, steering system 164, signaling system 166, planning system 168, routing system 170, positioning system 172, perception system 174, behavior modeling system 176, and power system 178, and control the movement, speed, etc. of autonomous vehicle 100 according to instructions 134 in memory 130 in autonomous driving mode.

[0032] As an example, computing device 110 may interact with a deceleration system 160 and an acceleration system 162 to control the speed of the autonomous vehicle. Similarly, a steering system 164 may be used by computing device 110 to control the direction of autonomous vehicle 100. For example, if autonomous vehicle 100 is configured for use on a road, such as an automobile or a truck, steering system 164 may include components that control the angle of the wheel to turn the autonomous vehicle. Computing device 110 may also use a signaling system 166 to signal the intent of the autonomous vehicle to other drivers or vehicles, such as by activating turn signals or brake lights as needed.

[0033] Routing system 170 may be used by computing device 110 to generate a route to a destination using map information. Planning system 168 may be used by computing device 110 to generate a short-term trajectory that enables the autonomous vehicle to follow the route generated by the routing system. In this regard, planning system 168 and / or routing system 166 may store a very detailed map that identifies a road network, including the shape and elevation of roads, lanes, intersections, crossroads, speed limits, signals, buildings, signs, real-time traffic information (updated as received from a remote computing device), restaurant spots, plants, or other such objects and information.

[0034] Figures 2A and 2B are examples of map information 200 for a small section of a road that includes intersections 202, 203, 204, 205, 206. Figure 2A shows a portion of the map information 200 that includes information identifying the shape, location, and other characteristics of lane markers, or lanes 210, 212, 214, 216, 218, lanes 220, 221, 222, 223, 224, 225, 226, 228, traffic signals 230, 232, 234, and stop signs 236 (not shown in Figure 2B for clarity), stop lines 240, 242, 244, and traffic control devices, as well as non-drivable regions 280. In this example, lane 221 approaching intersection 204 is a left-turn-only lane, lane 222 approaching intersection 206 is a left-turn-only lane, and lane 226 is a one-way road where traffic moves away from intersection 204. In addition to the foregoing features, the map information may also include information identifying the traffic direction of each lane, and information that enables computing device 110 to determine whether a vehicle has a way to complete a particular maneuver (i.e., change lanes or cross traffic or an intersection).

[0035] Map information can be configured as road photos. The road photos may include a plurality of graph nodes and edges representing features such as crosswalks, traffic signals, road signs, roads, or lane segments, which together constitute the road network of the map information. Each edge is defined by a start graph node having a specific geographical location (e.g., latitude, longitude, altitude, etc.), an end graph node having a specific geographical location (e.g., latitude, longitude, altitude, etc.), and a direction. This direction may refer to the direction in which the autonomous vehicle 100 must move to follow the edge (i.e., the direction of traffic flow). The graph nodes may be located at a fixed distance or a variable distance. For example, the interval between graph nodes may range from several centimeters to several meters and may correspond to the speed limit of the road on which the graph nodes are located. In this regard, a greater speed may correspond to a greater distance between graph nodes. The edge may represent driving along the same lane or changing lanes. Each node and edge may have a unique identifier, such as the latitude and longitude position of the node, or the start and end positions of the edge, or the node. In addition to nodes and edges, the map may identify additional information, such as the type of operation required for different edges, and which edges, or lanes, or other mapped areas are drivable.

[0036] For example, FIG. 2B shows a majority of the map information of FIG. 2A and involves the addition of a plurality of edges represented by arrows and graph nodes (depicted as circles) corresponding to the road network of map information 200. Although many edges and graph nodes are shown, only a few are referenced for clarity and simplicity. For example, FIG. 2B includes edges 270, 272, 274 disposed between pairs of start and end graph nodes as graph nodes 260, 262, 264, 266. As can be seen, graph node 260 represents the starting point of edge 270 and graph node 262 represents the ending point of edge 270. Similarly, graph node 262 represents the starting point of edge 272 and graph node 264 represents the ending point of edge 272. Further, graph node 266 represents the starting point of edge 274 and graph node 268 represents the ending point of edge 274. Also in this case, the direction of each of these graph nodes is represented by the arrow of the edge. Edge 270 may represent a path that a vehicle can follow to change from lane 220 to lane 221, edge 272 may represent a path that can be followed within lane 220, and edge 274 may represent a path that a vehicle can follow to make a left turn at intersection 203 to move from lane 221 to lane 226. Although not shown, each of these edges may be associated with an identifier, for example, a numerical value corresponding to the relative or actual position of the edge, or simply the positions of the start and end graph nodes. In this regard, edges and graph nodes can be used to route and plan paths and trajectories between positions, change lanes, and determine ways to perform other operations, but during operation, autonomous vehicle 100 does not need to exactly follow the nodes and edges.

[0037] The routing system 166 can determine a route from the current location (e.g., the location of the current node) to the destination using the map information described above. The route can be generated using a cost-based analysis that attempts to select the route to the destination with the lowest cost. The cost can be evaluated in any number of ways, such as the time to the destination, the travel distance (each edge can be associated with a cost to cross that edge), the type of operation required, the convenience to passengers or autonomous vehicles, etc. Each route can include a list of multiple nodes and edges that can be used by the autonomous vehicle to reach the destination. The route can be recalculated periodically as the autonomous vehicle moves towards the destination.

[0038] The map information used for routing can be the same map or a different map than that used for the planned trajectory. For example, the map information used to plan a route requires not only information about individual lanes, but also the nature of the lane boundaries (e.g., white lines, white broken lines, yellow lines, etc.) to determine where lane changes are permitted. However, unlike the map used to plan a trajectory, the map information used for routing does not need to include other details such as crosswalks, traffic signals, stop signs, etc., although some of this information may be useful for routing purposes. For example, between a route with traffic control (such as stop signs or traffic signals) and multiple intersections, and a route without traffic control or with very few intersections, the latter route may have a lower cost (e.g., be faster) and may therefore be preferred.

[0039] Positioning system 170 can be used by computing device 110 to determine the relative or absolute position of an autonomous vehicle on a map or on the Earth. For example, positioning system 170 can include a GPS receiver to determine the latitude, longitude, and / or altitude position of the device. Other positioning systems, such as laser-based positioning systems, inertial-aided GPS, or camera-based positioning, can be used to identify the position of the autonomous vehicle. The position of the autonomous vehicle may include absolute geographic location such as latitude, longitude, and altitude, the position of a node or edge on a road map, and relative position information such as the position relative to other vehicles in its immediate vicinity, which can often be determined with less noise than absolute geographic location.

[0040] Positioning system 172 can also include other devices that communicate with computing device 110, such as an accelerometer, gyroscope, or another direction / speed detection device, to determine the direction and speed of the autonomous vehicle, or changes thereto. By way of example only, the acceleration device can determine its pitch, yaw, or roll (or changes thereto) relative to the direction of gravity or a plane perpendicular thereto. The device can also track increases or decreases in speed and the direction of such changes. The provision of the devices for position and orientation data described herein can be provided automatically to computing device 110, other computing devices, and combinations of the foregoing.

[0041] The perception system 174 also includes one or more components for detecting obstacles, traffic signals, and other signals, signs, trees, buildings, etc. of other road users (vehicles, pedestrians, bicyclists, etc.) within the road, i.e., objects external to the autonomous vehicle. For example, the perception system 174 can include Lidar, sonar, radar, cameras, microphones, and / or any other detection devices that generate and / or record data that can be processed by the computing device of the computing device 110. When the autonomous vehicle is a passenger vehicle such as a minivan or an automobile, the autonomous vehicle can include Lidar, cameras, and / or other sensors mounted on or near the roof, fender, bumper, or other convenient locations.

[0042] For example, FIGS. 3A - 3B are exemplary external views of the autonomous vehicle 100. In this embodiment, the rooftop housing 310 and the upper housing 312 can include LIDAR sensors, as well as various cameras and radar units. The upper housing 312 can include any number of different shapes, such as a dome, cylinder, "cake top" shape, etc. Further, the housings 320, 322 (shown in FIG. 3B) located at the front and rear ends of the autonomous vehicle 100, as well as the housings 330, 332 on the driver and passenger sides of the autonomous vehicle, can each house Lidar sensors and, in some cases, one or more cameras. For example, the housing 330 is located in front of the driver door 360. The autonomous vehicle 100 also includes a radar unit and / or a housing 340 for a camera located on the driver side of the autonomous vehicle 100, proximate to the rear fender and rear bumper of the autonomous vehicle 100. Another corresponding housing (not shown) can be disposed at the corresponding position on the passenger side of the autonomous vehicle 100. Additional radar units and cameras (not shown) can be located at the front and rear ends of the autonomous vehicle 100 and / or at other positions along the roof or rooftop housing 310.

[0043] Computing device 110 can communicate with various components of the autonomous vehicle to control the movement of the autonomous vehicle 100 according to the primary vehicle control code in the memory of the computing device 110. For example, referring back to FIG. 1, the computing device 110 may include various computing devices that communicate with various systems of the autonomous vehicle 100, such as a deceleration system 160, an acceleration system 162, a steering system 164, a signaling system 166, a forward planning system 168, a routing system 170, a positioning system 172, a perception system 174, a behavior modeling system 176, and a power system 178 (i.e., the engine or motor of the autonomous vehicle 100), and controls the movement, speed, etc. of the autonomous vehicle 110 according to the instructions 134 in the memory 130.

[0044] The various systems of the autonomous vehicle may function using autonomous vehicle control software to determine how to control the autonomous vehicle. As an example, the perception system software module of the perception system 174 may detect and identify objects and their characteristics using sensor data generated by one or more sensors of the autonomous vehicle, such as cameras, Lidar sensors, radar units, sonar units, etc. These characteristics may include position, type, direction of travel, orientation, speed, acceleration, change in acceleration, size, shape, etc.

[0045] In some examples, the characteristics may be input into the behavior prediction system software module of the behavior modeling system 176, which outputs one or more behavior predictions, or predicted trajectories, for the detected objects to follow in the future (e.g., future behavior prediction, or predicted future trajectory) using various behavior models based on the object type. In this regard, different models may be used for different types of objects, such as pedestrians, bicyclists, vehicles, etc. The behavior prediction, or predicted trajectory, may be a list of positions and orientations, or directions of travel (e.g., poses), as well as other predicted characteristics such as speed, acceleration or deceleration, rate of change of acceleration or deceleration.

[0046] In other instances, features from the perception system 174 may be input into one or more detection system software modules, such as a traffic signal detection system software module configured to detect the status of known traffic signals or signs, a construction zone detection system software module configured to detect construction zones from sensor data generated by one or more sensors of the autonomous vehicle, and an emergency vehicle detection system configured to detect emergency vehicles from sensor data generated by sensors of the autonomous vehicle. Each of these detection system software modules may output a likelihood of an object being a construction zone or an emergency vehicle using various models.

[0047] The detected object, the predicted trajectory, the various likelihoods from the detection system software module, the map information identifying the environment of the autonomous vehicle, the position information from the positioning system 170 identifying the position and orientation of the autonomous vehicle, the destination position or node of the autonomous vehicle, and feedback from various other systems of the autonomous vehicle may be input into the planning system software module of the planning system 168. The planning system 168 may use this input to generate a planning trajectory for the autonomous vehicle to follow in the near future based on the route generated by the routing module of the routing system 170. Each planning trajectory may provide a planning route and other instructions for the autonomous vehicle to follow for a short period in the future, such as 10 seconds or less. In this regard, the trajectory may define specific characteristics such as acceleration, deceleration, speed, and direction to enable the autonomous vehicle to follow a route to reach the destination. The control system software module of the computing device 110 may be configured to control the movement of the autonomous vehicle, for example, by controlling the braking, acceleration, and steering of the autonomous vehicle to follow the trajectory.

[0048] Computing device 110 may control an autonomous vehicle in one or more of the autonomous driving modes by controlling various components. For example, as an example, computing device 110 may use detailed map information and data from the planning system 168 to move the autonomous vehicle to the target position completely autonomously. Computing device 110 may use the positioning system 170 to determine the position of the autonomous vehicle and the perception system 174 to detect and respond to objects when necessary to reach the position safely. Again, for this purpose, computing device 110 and / or the planning system 168 may generate a trajectory and, for example, cause the autonomous vehicle to accelerate (e.g., by supplying fuel or other energy to the engine or the power system 178 by the acceleration system 162), decelerate (e.g., by reducing the fuel supplied to the engine or the power system 178, by changing gears, and / or by applying brakes by the deceleration system 160), change direction (e.g., by rotating the front or rear wheels of the autonomous vehicle 100 by the steering system 164), and signal such changes using the signaling system 166 (e.g., by turning on the direction indicator lights) to cause the autonomous vehicle to follow these trajectories. Thus, the acceleration system 162 and the deceleration system 160 may be part of the drive train, including various components between the engine of the autonomous vehicle and the wheels of the autonomous vehicle. Again, by controlling these systems, computing device 110 may also control the drive train of the autonomous vehicle to operate the autonomous vehicle autonomously.

[0049] The computing device 110 of the autonomous vehicle 100 can also receive or transfer information with other computing devices, such as computing devices that are part of a transportation service and other computing devices. FIGS. 4 and 5 are a drawing and a functional diagram of an exemplary system 400, respectively, including a plurality of computing devices 410, 420, 430, 440, and a storage system 450 connected via a network 460. The system 400 also includes autonomous vehicles 100A, 100B, and 100C, which can be configured the same as or similar to the autonomous vehicle 100. For simplicity, only a few vehicles and computing devices are shown, but a typical system can include significantly more.

[0050] As shown in FIG. 5, each of the computing devices 410, 420, 430, 440 can include one or more processors, memory, data, and instructions. Such processors, memory, data, and instructions can be configured similar to the one or more processors 120, memory 130, data 132, and instructions 134 of the computing device 110.

[0051] The network 460 and intervening nodes can include various configurations and protocols, including short-range communication protocols such as Bluetooth, Bluetooth LE, the Internet, the World Wide Web, intranets, virtual private networks, wide area networks, local area networks, private networks using one or more company-specific communication protocols, Ethernet, WiFi, and HTTP, as well as various combinations of the foregoing. Such communication can be facilitated by any device capable of transmitting data between other computing devices, such as a modem and a wireless interface.

[0052] In one example, one or more computing devices 410 may include one or more server computing devices, such as a server farm with load-balanced servers, that exchange information with different nodes of a network for the purpose of receiving, processing, and transmitting data between other computing devices. For example, one or more computing devices 410 may include one or more server computing devices that communicate via network 460 with computing device 110 of autonomous vehicle 100, or similar computing devices of autonomous vehicles 100A, 100B, 100C, as well as computing devices 420, 430, 440. For example, autonomous vehicles 100, 100A, 100B, 100C may be part of a fleet of vehicles that can be dispatched to various locations by server computing devices.

[0053] In this regard, server computing device 410 may function as a fleet management system that is used to track the status of the fleet of autonomous vehicles, such as autonomous vehicles 100, 100A, 100B, 100C, by assigning and dispatching vehicles, and to assign passenger trips. These assignments may include scheduling trips to different locations to pick up and drop off their passengers. In this regard, server computing device 410 may operate using scheduling system software to manage the scheduling and dispatching of the aforementioned autonomous vehicles. Further, computing device 410 may use network 460 to send and present information to users, such as users 422, 432, 442, on displays, such as displays 424, 434, 444, of computing devices 420, 430, 440. In this regard, computing devices 420, 430, 440 may be considered client computing devices.

[0054] As shown in FIG. 3, each client computing device 420, 430 can be a personal computing device intended to be used by users 422, 432, which includes one or more processors (e.g., a central processing unit (CPU)), a memory for storing data and instructions (e.g., RAM and a built-in hard drive), a display such as displays 424, 434, 444 (e.g., a monitor with a screen, a touch screen, a projector, a television, or other device operable to display information), and user input devices 426, 436, 446 (e.g., a mouse, a keyboard, a touch screen, or a microphone), and has all the components commonly used to connect a personal computing device. The client computing device can also include a camera for recording a video stream, speakers, a network interface device, and all the components used to connect these elements to each other.

[0055] Each of the client computing devices 420, 430 can comprise a full-size personal computing device, or alternatively, can comprise a mobile computing device capable of wirelessly exchanging data with a server via a network such as the Internet. By way of example only, the client computing device 420 can be a device such as a mobile phone, or a wireless-enabled PDA, a tablet PC, a wearable computing device or system, or a netbook capable of obtaining information via the Internet or other network. In another example, the client computing device 430 can be a wearable computing system such as a wristwatch, as shown in FIG. 3. As one example, a user can input information using a small keyboard, a keypad, a microphone, using a visual signal having a camera, or using a touch screen. As yet another example, the client computing device 440 can be a desktop computing system including a keyboard, a mouse, a camera, and other input devices.

[0056] In some embodiments, client computing device 420 can be a cellular phone used by a vehicle passenger. In other words, user 422 can represent a passenger. Further, client computing device 430 can represent a smart watch for a vehicle passenger. In other words, user 432 can represent a passenger. Client computing device 440 can represent a workstation for a human operator, such as a depot human operator, a remote assist operator, a technician providing roadside assistance, or otherwise an autonomous vehicle and / or a person who can provide assistance to a passenger. In other words, user 442 can represent an operator (e.g., a driver) of a transportation service that utilizes autonomous vehicles 100, 100A, 100B, 100C. Only several passengers and human operators are shown in FIGS. 4 and 5, but any number of such passengers and human operators (and their respective client computing devices) can be included in a typical system.

[0057] Similar to the memory 130, the storage system 450 can be any type of computerized storage capable of storing information accessible by the server computing device 410, such as a hard drive, memory card, ROM, RAM, DVD, CD-ROM, writable, and read-only memory. Further, the storage system 450 can include a distributed storage system in which data is stored on multiple different storage devices that can be physically located in the same or different geographical locations. The storage system 450 may be connected to the computing device via the network 460, and / or directly connected to or incorporated into any of the computing devices 110, 410, 420, 430, 440, etc., as shown in FIGS. 3 and 4. The storage system 450 can store various types of information that can be obtained by or otherwise accessed by a server computing device, such as one or more server computing devices 410, to implement some of the features described herein.

[0058] Example of a method In addition to the operations described above and shown in the figures, various operations are described herein. Of course, the following operations need not be performed in the exact order described below. Rather, the various steps can be processed in a different order or simultaneously, and steps can be added or omitted.

[0059] FIG. 10 is an exemplary flowchart 1000 showing an example enabling route variation for an autonomous vehicle that can be performed by one or more processors, such as one or more processors of the server computing device 410. In this example, at block 1010, a plurality of routes are identified. Each of the plurality of routes is the current route on which an autonomous vehicle of the autonomous vehicle fleet is currently traveling, and each of the autonomous vehicles uses cost-based analysis to determine a route. Of course, these routes can be updated over time as conditions (e.g., traffic, road closures, construction, destination of the autonomous vehicle, etc.) change.

[0060] As described above, when the autonomous vehicles of the fleet operate themselves towards a destination, the routing system of the autonomous vehicles can generate a route to each destination for each autonomous vehicle. For example, the routing system can store detailed map information, such as a pre-stored detailed map. The map information used for planning the route may be the same as or different from that used for planning the trajectory.

[0061] Specific information regarding the state of the autonomous vehicle, including the current route, can be reported to the server computing device 410. For example, the current route can be transmitted as a list of nodes or edge identifiers. Other information may include attitude (e.g., the position and orientation of the autonomous vehicle), speed, status, or charge or fuel (e.g., battery state, amount of gasoline, etc.), and other characteristics can also be transmitted. This information can be transmitted via a network, such as a mobile network including 4G or 5G, depending on where the autonomous vehicle is currently located and the available information.

[0062] In this regard, the server computing device 410 may receive information from a plurality of autonomous vehicles such as the autonomous vehicles 100, 100A, 100B, 100C. As described with respect to the autonomous vehicle 100, each of these autonomous vehicles may include a routing system 170 that utilizes a cost-based routing approach to determine a route. For example, FIG. 6A is an example of a geographic area of the map information 200 and a route 610 along which the autonomous vehicle 100 is currently moving to a destination 620 within the geographic area. FIG. 6B is an example of a geographic area of the map information 200 and a route 610A along which the autonomous vehicle 100B is currently moving to a destination outside the geographic area. FIG. 6C is an example of a geographic area of the map information 200 and a route 610B along which the autonomous vehicle 100C is currently moving to a destination outside the geographic area. FIG. 6D is an example of a geographic area of the map information 200 and a route 610C along which the autonomous vehicle 100C is currently moving to a destination outside the geographic area. Each of these routes may be transmitted to the server computing device 410 by the computing devices of each of the autonomous vehicles 100, 100A, 100B, 100C. The server computing device may then store these routes in the storage system 450 and retrieve them as needed.

[0063] Returning to FIG. 10, at block 1020, it is determined that a cluster of autonomous vehicles in the fleet of autonomous vehicles is likely to occur on a road segment. The server computing device 410 may receive the current route and other information, and may determine whether a cluster of autonomous vehicles is likely to occur on a road segment within a time sliding window. For example, the server computing device 410 may use the received current route to predict when a cluster of autonomous vehicles is likely to occur on a particular road segment (e.g., an edge) within the time sliding window. Depending on how the route is defined (e.g., by edges, or positions, or other coordinates, etc.), the server computing device may compare different types of information. For example, if the current route is defined by a list of edges of map information, this may involve an estimate of the time when each autonomous vehicle is likely to cross each edge of its respective current route, and a comparison with the times when other autonomous vehicles are likely to cross the same edge. Such estimates may be based on typical arrival time estimates taking into account traffic, distance, speed limits, traffic control (e.g., traffic signals, stop signs, etc.), and the like.

[0064] If a threshold number of vehicles are likely to cross the same edge within the time sliding window, the server computing device 410 may determine that a cluster of autonomous vehicles is likely to occur on that edge. Further, this prediction and determination may be made periodically (e.g., every second), or whenever an update is received from one or more of the autonomous vehicles (e.g., on the current route). Alternatively, rather than a fixed threshold, this determination may be made in other ways, such as by inputting the information reported from the autonomous vehicles to the server computing device 410 into a machine learning model that suggests whether an action should be taken to avoid clusters within a particular area. Further, other information is also included, such as real-time traffic congestion information, information regarding future events (e.g., concerts, sports events, etc.), weather, schedule information (e.g., garbage collection schedule, bus schedule, etc.).

[0065] This time sliding window can be a fixed period such as 1 minute, 5 minutes, 10 minutes or more. The number of vehicle thresholds can be 2, 3, 4 vehicles, or fewer vehicles. In this regard, when the sliding window is 1 minute and the threshold is 5 vehicles, if it is expected that 5 autonomous vehicles cross the same edge within 1 minute, the server computing device 410 may determine that there is a high possibility that a cluster of vehicles is on that edge.

[0066] FIG. 7 is an example of overlapping road segments including the edge 710 (shown in FIG. 2B) of the map information 200 between the paths 610, 610A, 610B, 610C during the time sliding window. In this example, the number of threshold vehicles can be 3 within a 10-minute time sliding window. The edge 710 includes road segments from each of the paths 610, 610A, 610B, but does not include segments overlapping with the path 610C, so it is not included from the path 610C. In this regard, while there is a physical overlap of road segments, the autonomous vehicles 100, 100A, 100B do not need to cross all of these road segments simultaneously within the sliding window (e.g., within 10 minutes of the item). Based on the determination that the number of threshold vehicles (here, the autonomous vehicles 100, 100A, 100B) is likely to cross the edge 710 within the time sliding window, the server computing device 410 may determine that there is a high possibility that a cluster of vehicles occurs on the edge 710.

[0067] In some cases, the sliding window and the threshold number of vehicles may vary based on the characteristics of the edges of the map information. For example, for the edges corresponding to surface roads, the sliding window may be longer than those corresponding to highways, and / or the threshold number of vehicles may be lower than those corresponding to highways. In this regard, the server computing device 410 may be more likely to change the path to cluster on surface roads rather than on highways. In some cases, the edges and / or clusters on highways may be ignored. In other cases, for the edges corresponding to narrow roads, the sliding window may be longer, and / or the threshold number of vehicles may be lower than those corresponding to wider roads.

[0068] Returning to FIG. 10, in block 1030, a signal is sent to one or more of the autonomous vehicles in the cluster of autonomous vehicles, and a signal is sent to adjust the cost of crossing a road segment in order to increase the likelihood that one or more of the autonomous vehicles in the cluster of autonomous vehicles will avoid the road segment. For example, based on the determination that the cluster of autonomous vehicles is likely to occur on a road segment within a time sliding window, the server computing device 410 may attempt to change the path of one or more of the autonomous vehicles within the cluster. This may involve sending a signal to one or more of the autonomous vehicles within the cluster to adjust the cost of the edges in each respective map information. For example, the adjustment may increase the cost of the edge by a fixed amount, thereby increasing the likelihood that one or more autonomous vehicles will avoid the road segment. As an example, if the cost of the edge is an arbitrary value (e.g., 0.2), this arbitrary value may be increased by an arbitrary amount (e.g., 0.1), resulting in an increased cost (e.g., 0.3). This increases the overall cost of the current path of the autonomous vehicle and may prevent the routing system of the autonomous vehicle from selecting the same path including the edge. Of course, the smaller the adjustment, the lower the likelihood that the autonomous vehicle will change to a new path that does not include the edge.

[0069] For example, a server computing device may transmit a signal to one or more of the autonomous vehicles within a cluster. Returning to the embodiment of FIG. 7, this may include one or more (or even all) of the autonomous vehicles 100, 100A, 100B rather than 100C. In this regard, each of these autonomous vehicles may receive an instruction to increase the cost of each of the edges 710, for example, by increasing the cost of each of these edges by 0.1. Such an increase may be incorporated into the local version of the map information 200 stored in each of the autonomous vehicles 100, 100A, 100B.

[0070] In some examples, changing the route may involve adjusting the cost of the edges differently for different autonomous vehicles in a cluster of autonomous vehicles. In some embodiments, this may be based on the likely order of the autonomous vehicles in the cluster of autonomous vehicles traversing the edge. For example, the first autonomous vehicle may not receive a signal to increase the cost of the edge, the second autonomous vehicle may receive a signal to increase the cost of the edge by 0.1, the third autonomous vehicle may receive a signal to increase the cost of the edge by 0.2, and the fourth autonomous vehicle may receive a signal to increase the cost of the edge by 0.3. In such cases where the cost value increases, the server computing device 410 may use some upper limit, or threshold maximum value (e.g., 0.6 or more, or less than that) to avoid autonomous vehicles taking a path that is obstructive, too long, or otherwise inefficient.

[0071] For example, the server computing device may send a signal to one or more of the autonomous vehicles in the cluster, and instruct each of the autonomous vehicles to adjust the cost of edge 710 differently according to the sequence of autonomous vehicles in the cluster of autonomous vehicles expected to cross edge 710. Returning to the embodiment of FIG. 7, this may include each of autonomous vehicles 100, 100A, 100B rather than 100C. In this regard, each of these autonomous vehicles may receive an instruction to increase the cost of each of edge 710. However, the increase may be determined based on the sequence in which the autonomous vehicle is expected to cross edge 710. For example, if autonomous vehicle 100 is expected to cross edge 710 before autonomous vehicle 100A, and autonomous vehicle 100A is expected to cross edge 710 before autonomous vehicle 100B, the sequence of autonomous vehicles may be autonomous vehicle 100, autonomous vehicle 100A, and finally autonomous vehicle 100B. Using the above embodiment, autonomous vehicle 100 may not receive a signal to increase the cost of edge 710, while each of autonomous vehicles 100A, 100B may receive a signal to increase the cost of edge 710. Based on the sequence, the server computing device may send a signal to autonomous vehicle 100A to increase the cost of edge 710 by a first amount, and send a signal to autonomous vehicle 100B to increase the cost of edge 710 by a second amount. The first amount may be less than the second amount (e.g., using the above embodiment, the first amount may be 0.1 and the second amount may be 0.2). Such an increase may be incorporated into the local version of the map information 200 stored in each of autonomous vehicles 100, 100A, 100B.

[0072] For example, even if the cost of edge 710 increases for autonomous vehicle 100, such a cost may not be sufficient to re-route autonomous vehicle 100 considering the location of destination 620. Similarly, even if the cost of edge 710 increases for autonomous vehicle 100A, such a cost may not be sufficient to re-route autonomous vehicle 100 considering the location of the destination of autonomous vehicle 100A.

[0073] However, in the embodiment of the autonomous vehicle 100B, a small increase in the cost of the edges 710 can cause the autonomous vehicle 100B to avoid at least some of those edges (e.g., avoid the edges 810 shown in FIG. 8). In other words, the routing system 170 can identify the route 910B shown in FIG. 9 as a cost option that is lower than the updated cost of the route 610B of FIG. 6C. As a result, the routing system 170 of the autonomous vehicle 100B can re-route the autonomous vehicle to turn at intersections 202 and 206, as shown by the route 910B.

[0074] In some cases, if the cost increase causes the autonomous vehicles in the cluster of autonomous vehicles to maintain the current route or rather continue to cross the edge, the server computing device 410 can make additional adjustments. In other words, additional signals can be sent to one or more of the autonomous vehicles in the cluster of autonomous vehicles to further increase the cost of one or more edges of the autonomous vehicle. This can continue until one or more of the autonomous vehicles in the cluster of autonomous vehicles change to a new route that does not include the edge or no longer results in the same cluster (even over different sliding window times). Again, in such cases where the cost increases multiple times, the server computing device 410 can use some upper limit or threshold maximum value (e.g., 0.6 or more, or less than that) to avoid autonomous vehicles taking routes that are obstructive, too long, or otherwise inefficient.

[0075] These increased costs can persist for some time. For example, the increase in the cost of the edge can persist until each of the autonomous vehicles in the cluster of autonomous vehicles reaches the current destination. As another example, the increase in the cost of the edge can persist for a fixed period such as 20 minutes, more than 20 minutes, less than 20 minutes, etc. In this regard, the signal increasing the cost can also include an instruction indicating when the increased cost can be discarded (e.g., the cost of the segment can return to its original value).

[0076] In some examples, the server computing device 410 may change a route based on other features of the autonomous vehicle. For example, the server computing device 410 may not change the route of an autonomous vehicle that is currently transporting a passenger (e.g., may not adjust the cost of an edge). As another approach, the server computing device 410 may not change the route of an autonomous vehicle that is not currently transporting a passenger (e.g., may not adjust the cost of an edge). As another example, the server computing device 410 may not change the route of an autonomous vehicle that is currently at a particular level of fuel or power (e.g., charge). This may avoid sending out an autonomous vehicle that requires refueling or recharging to take a longer route.

[0077] In some examples, the server computing device 410 may change a route to encourage the autonomous vehicle to travel on a particular nearby road. For example, if a particular edge has not been traversed for a period of time (e.g., days, weeks, or months), the server computing device 410 may increase the cost edge of a nearby road to encourage traversal of the particular edge. This may enable the autonomous vehicle to collect updated sensor data along the particular edge. This can be used offline to maintain the accuracy of map information, including an up-to-date representation of any changes due to, for example, construction, road closures, signal changes, lane marking changes, and other changes related to the accuracy of road imagery.

[0078] In some cases, there may be instances where one or more server computing devices do not attempt to change a route even when a threshold number of vehicles cross a particular edge within a time sliding window. For example, after an event such as a concert, sports, or other event, when picking up many passengers for different trips, there may be a suitable cluster of vehicles to provide a sufficient number of autonomous vehicles at a given point in time to meet the demand.

[0079] The features described herein can provide route variations for autonomous vehicles. This can provide a proactive approach, rather than a reactive approach, to avoid overuse of specific roads and potential congestion. Additionally, managing route variations at the server computing device 410 can provide a more reliable and consistent approach than attempting to do so in the vehicle and / or via vehicle-to-vehicle communication.

[0080] Unless otherwise stated, the alternative embodiments described above are not mutually exclusive and can be implemented in various combinations to achieve their respective advantages. These and other variations and combinations of the features discussed above can be utilized without departing from the subject matter defined by the claims, so the foregoing description of the embodiments should be taken as illustrative rather than as a limitation on the subject matter defined by the claims. Additionally, the provision of the embodiments described herein, as well as terms such as "for example" and "including" should not be construed as limiting the subject matter of the claims to specific embodiments; rather, the embodiments are intended to illustrate only some of the many possible embodiments. Further, the same reference numbers in different drawings can identify the same or similar elements.

Claims

1. 1. A method comprising: identifying, by one or more processors of one or more server computing devices, a plurality of paths, each path of the plurality of paths being a current path currently being traveled by an autonomous vehicle of a fleet of autonomous vehicles, each of the autonomous vehicles determining the path using a cost-based analysis; determining, by the one or more processors, that a cluster of autonomous vehicles of the fleet of autonomous vehicles is likely to occur on a road segment; transmitting, by the one or more processors, a signal to one or more of the autonomous vehicles of the cluster of autonomous vehicles that adjusts a cost of traversing the road segment to increase a likelihood that the one or more of the autonomous vehicles of the cluster of autonomous vehicles will avoid the road segment; A method comprising:

2. The method of claim 1 , wherein each route of the plurality of routes includes a list of edges of map information, each edge corresponding to a different road segment.

3. 2. The method of claim 1, wherein determining that the cluster of autonomous vehicles is likely to occur is based on a time sliding window.

4. 4. The method of claim 3, wherein determining that the cluster of autonomous vehicles is likely to occur is based on a threshold number of autonomous vehicles expected to traverse the road segment during the time sliding window.

5. The method of claim 4 , further comprising determining the threshold number of the autonomous vehicles based on a type of the road segment.

6. The method of claim 3 , further comprising determining the time sliding window based on a type of the road segment.

7. 2. The method of claim 1, wherein transmitting the signal is based on whether the one or more of the autonomous vehicles of the cluster of autonomous vehicles are transporting a passenger.

8. 2. The method of claim 1, wherein transmitting the signal is based on a state of charge or a fuel state of the one or more of the autonomous vehicles of the cluster of autonomous vehicles.

9. 2. The method of claim 1 , wherein the signal is a first signal, the method further comprising transmitting a second signal to the one or more second ones of the cluster of autonomous vehicles to adjust the cost of traversing the road segment, the first signal configured to cause a first adjustment to the cost and the second signal configured to cause a second adjustment to the cost, the first adjustment being different from the second adjustment.

10. 2. The method of claim 1 , further comprising continuing to transmit additional signals to the one or more of the autonomous vehicles of the cluster of autonomous vehicles until the one or more of the autonomous vehicles of the cluster of autonomous vehicles change to one or more new routes that do not include the road segment.

11. 10. The method of claim 9, further comprising limiting adjustments to costs of the road segments for the one or more of the autonomous vehicles of the cluster of autonomous vehicles to a threshold maximum.

12. The method of claim 1 , wherein the signal includes instructions indicating a time period for adjusting the cost.

13. 1. A system comprising: identifying a plurality of paths, each path of the plurality of paths being a current path currently being traveled by an autonomous vehicle of a fleet of autonomous vehicles, each of the autonomous vehicles determining the path using a cost-based analysis; determining that a cluster of autonomous vehicles of the fleet of autonomous vehicles is likely to occur on a road segment; transmitting a signal to the one or more of the autonomous vehicles of the cluster of autonomous vehicles that adjusts a cost of traversing the road segment to increase a likelihood that the one or more of the autonomous vehicles of the cluster of autonomous vehicles will avoid the road segment; A system comprising one or more processors configured to:

14. 14. The system of claim 13, wherein the one or more processors are further configured to determine that the cluster of autonomous vehicles is likely to occur based on a time sliding window.

15. 15. The system of claim 14, wherein the one or more processors are further configured to determine that the cluster of autonomous vehicles is likely to occur based on a threshold number of autonomous vehicles expected to traverse the road segment during the time sliding window.

16. The system of claim 14 , wherein the one or more processors are further configured to determine the time sliding window based on a type of the road segment.

17. 14. The system of claim 13, wherein the signal is a first signal, and the one or more processors are further configured to transmit a second signal to the one or more second of the autonomous vehicles of the cluster of autonomous vehicles to adjust the cost of traversing the road segment, the first signal configured to cause a first adjustment to the cost, and the second signal configured to cause a second adjustment to the cost, the first adjustment being different from the second adjustment.

18. 14. The system of claim 13, wherein the one or more processors are further configured to continue transmitting additional signals to the one or more autonomous vehicles of the cluster of autonomous vehicles until the one or more autonomous vehicles of the cluster of autonomous vehicles change to one or more new routes that do not include the road segment.

19. The system of claim 13 , wherein the signal includes instructions indicating a time period for adjusting the cost.

20. The system of claim 13 , further comprising the autonomous vehicle.

Citation Information

Patent Citations

  • Running lane recognizing device

    JP1996261756A

  • Autonomous Vehicle Fleet Management

    JP2021505991A

  • Travel plan creation device and travel plan creation method

    JP7224551B2

  • Apparatus for Navigation System with Traffic Environment in Vehicle, System Having the Same and Method Thereof

    US20210180974A1

  • Driving support device and computer program

    WO2018151005A1