Autonomous vehicle route changes
By identifying vehicle clusters and adjusting route costs through a fleet management system, the method and system address the issue of autonomous vehicles using the same routes, preventing congestion and stranded vehicles.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- WAYMO LLC
- Filing Date
- 2024-11-19
- Publication Date
- 2026-06-26
AI Technical Summary
Autonomous vehicles tend to use the same or similar routes, leading to road overuse and potential traffic congestion, especially when traveling to or from common locations, and can become stranded on congested roads, exacerbating the issue.
A method and system that identify clusters of autonomous vehicles on road segments using cost-based analysis and adjust the cost of traversing these segments to encourage route diversification, using a fleet management system to transmit signals to vehicles to avoid congested areas.
This approach proactively prevents road overuse and congestion by dynamically adjusting route costs, ensuring more even distribution of traffic and reducing the likelihood of vehicles becoming stranded.
Smart Images

Figure 0007880934000001 
Figure 0007880934000002 
Figure 0007880934000003
Abstract
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 the transportation of passengers or items from one location to another. Such vehicles may operate in a fully autonomous mode, and a passenger 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 surroundings of the autonomous vehicle. Sensor data can be combined with pre - stored map information to enable the autonomous vehicle to plan a trajectory for maneuvering itself through the surroundings 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 traffic 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, 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 traffic congestion.
Summary of the Invention
[0005] Aspects of the present disclosure provide a method, the method comprising: identifying a plurality of routes by one or more processors of one or more server computing devices, each of which is a current route currently being traveled by an autonomous vehicle of a fleet of autonomous vehicles, each of which uses 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 a signal to one or more autonomous vehicles of the cluster of autonomous vehicles by one or more processors, the signal being a signal that adjusts the cost of traversing the road segment to increase the likelihood of one or more autonomous vehicles of the cluster of autonomous vehicles avoiding the road segment.
[0006] In one embodiment, each of a plurality of routes includes a list of map information edges, each corresponding to a different road segment. In another embodiment, determining the likelihood of an autonomous vehicle cluster occurring is based on a time-sliding window. In this embodiment, determining the likelihood of an autonomous vehicle cluster occurring is based on a threshold number of autonomous vehicles expected to traverse road segments within the time-sliding window. In addition, or otherwise, the method also includes determining the threshold number of autonomous vehicles in the window based on the type of road segment. In addition, or otherwise, the method also includes determining the sliding window based on the type of road segment. In another embodiment, transmitting a signal is based on whether one or more autonomous vehicles in an autonomous vehicle cluster are transporting passengers. In another embodiment, transmitting a signal is based on the charge or fuel status of one or more autonomous vehicles in an 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 autonomous vehicles in a cluster of autonomous vehicles to adjust the cost of traversing a road segment, wherein the first signal is configured to trigger a first adjustment of cost, and the second signal is configured to trigger a second adjustment of cost, wherein the first adjustment is different from the second adjustment. In another embodiment, the method also includes continuing to transmit additional signals to one or more autonomous vehicles in a cluster of autonomous vehicles until one or more autonomous vehicles in the cluster of autonomous vehicles changes to one or more new routes that do not include a road segment. In this embodiment, the method also includes limiting the adjustment of a road segment cost threshold to a maximum value for one or more autonomous vehicles in the cluster of autonomous vehicles. 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 comprising one or more processors configured to identify a plurality of paths, each of which is the current path currently being traveled by an autonomous vehicle of a fleet of autonomous vehicles, and each autonomous vehicle determines the path using cost-based analysis, determines that a cluster of autonomous vehicles of the fleet of autonomous vehicles is likely to occur on a road segment, and transmits a signal to one or more autonomous vehicles of the cluster of autonomous vehicles, the signal being a signal that adjusts the cost of traversing the road segment to increase the likelihood of one or more autonomous vehicles of the cluster of autonomous vehicles avoiding the road segment.
[0008] In one embodiment, one or more processors are configured to determine, based on a time-sliding window, that clusters of autonomous vehicles are likely to occur. In this embodiment, one or more processors are configured to determine, based on a threshold number of autonomous vehicles expected to traverse a road segment during the time-sliding window, that clusters of autonomous vehicles are likely to occur. In addition, or otherwise, one or more processors are configured to determine the sliding window based on the type of road segment. In another embodiment, a signal is a first signal, and one or more processors are configured to send a second signal to one or more second autonomous vehicles in a cluster of autonomous vehicles to adjust the cost of traversing a segment, the first signal being configured to trigger a first adjustment of cost, and the second signal being configured to trigger a second adjustment of cost, the first adjustment being different from the second adjustment. In another embodiment, one or more processors are configured to continue sending additional signals to one or more autonomous vehicles in a cluster of autonomous vehicles until one or more autonomous vehicles in the cluster of autonomous vehicles change to one or more new routes that do not include a road segment. In another embodiment, the signal includes an instruction indicating a period for adjusting costs. In another embodiment, the system also includes autonomous vehicles. [Brief explanation of the drawing]
[0009] [Figure 1] Figure 1 is a functional diagram of an exemplary vehicle according to an exemplary embodiment. [Figure 2A] Figures 2A to 2B show examples of map information according to the embodiments of this disclosure. [Figure 2B] Figures 2A to 2B show examples of map information according to the embodiments of this disclosure. [Figure 3A] Figures 3A to 3B are exemplary external views of a vehicle according to an embodiment of the present disclosure. [Figure 3B] Figures 3A to 3B are exemplary external views of a vehicle according to an embodiment of the present disclosure. [Figure 4] Figure 4 is an illustrative diagram of an exemplary system according to the embodiments of this disclosure. [Figure 5] Figure 5 is a functional diagram of the system shown in Figure 4, according to the embodiments of this disclosure. [Figure 6A] Figures 6A to 6D show examples of map information and routes according to the embodiments of this disclosure. [Figure 6B] Figures 6A to 6D show examples of map information and routes according to the embodiments of this disclosure. [Figure 6C] Figures 6A to 6D show examples of map information and routes according to the embodiments of this disclosure. [Figure 6D] Figures 6A to 6D show examples of map information and routes according to the embodiments of this disclosure. [Figure 7] Figure 7 shows an example of map information, according to an aspect of this disclosure. [Figure 8] Figure 8 shows an example of map information, according to an aspect of this disclosure. [Figure 9] Figure 9 shows an example of map information and a route according to an aspect of this disclosure. [Figure 10] Figure 10 is a flowchart according to an aspect of this disclosure. [Modes for carrying out the invention]
[0010] overview This technology relates to route variations of autonomous vehicles. For example, if a fleet of autonomous vehicles operates in a specific service area using a common map, such vehicles are likely to use the same or similar routes, causing them to cluster on the same road or a portion 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 when multiple autonomous vehicles are traveling to or from one common location (e.g., an airport, concert, sporting event, or other event). In some cases, if autonomous vehicles strand on a particular road, and other autonomous vehicles also use that road, they may also strand, causing even greater congestion concerns.
[0011] To avoid this, a route variation approach may be used. For example, as these autonomous vehicles travel around, their routing systems may generate routes for the autonomous vehicles to follow to their destinations. Simultaneously, certain information about the status of the autonomous vehicles, including their current routes, may be reported to the fleet management system. This information can be used to determine when it may be appropriate to send the autonomous vehicles along a different route. This may involve adjusting the cost of certain map information to prevent crossing these areas of route information. This can help distribute traffic more evenly among various viable route options and prevent overuse of such areas.
[0012] As described above, when the autonomous vehicles in a fleet maneuver themselves toward a destination, the autonomous vehicle routing system can generate a route to each destination for each autonomous vehicle. For example, the routing system may store detailed map information, such as a pre-stored, highly detailed map. The map information used to plan the route requires not only information about individual lanes but also the properties of lane boundaries to determine where lane changes are permitted, and some of this information may be useful for routing purposes, but does not necessarily need to include other details such as crosswalks, traffic signals, and stop signals.
[0013] Map information can be structured as road photographs. These road photographs may include multiple 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. A routing system can use the aforementioned map information to determine a route from the current location (e.g., the location of the current node) to a destination.
[0014] Routes can be generated using cost-based analysis, which attempts to select the lowest-cost route to the destination. Costs can be evaluated in any number of ways, including time to the destination, distance traveled (each edge may be associated with a cost to traverse that edge), type of operation required, and convenience to passengers or vehicles. In this regard, each edge of the map information may be associated with a cost to traverse that edge (e.g., a numerical value) (longer edges or edges with lower speed limits may be associated with higher costs). Each route may include a list of multiple nodes and edges that a vehicle can use to reach its 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 transmitted as a list of nodes 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 determine whether there is a cluster of autonomous vehicles on a road segment within a time-sliding window. 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 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 a time-sliding window, the fleet management system may attempt to change the routes of one or more autonomous vehicles within the cluster. This can involve transmitting signals to one or more of the autonomous vehicles within the cluster to adjust the cost of the edges within each 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 that includes the edge.
[0018] The features described herein may provide for route variation for autonomous vehicles. This may provide a proactive approach for avoiding overuse of specific roads and potential congestion, rather than a reactive approach. Further, managing route variation in a fleet management system may provide a more reliable and consistent approach than attempting it in the 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 may be configured to operate in one or more different drive modes. For example, in a manual driving mode, a driver may directly control acceleration, deceleration, and steering via inputs such as an accelerator pedal, a brake pedal, and a steering wheel. The vehicle may also operate in one or more autonomous driving modes, including, for example, a semi-autonomous driving mode or a partial autonomous driving mode in which a person exercises some amount of direct or remote control over the driving operation, or a fully autonomous driving mode in which 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 may change (e.g., be updated) over time.
[0021] As described herein, in semi-autonomous or partially autonomous driving modes, the vehicle assists in one or more driving actions (e.g., steering, braking, and / or acceleration for lane centering, adaptive cruise control, and emergency braking), but the human driver is expected to situationally perceive the vehicle's surroundings and supervise the assisted driving actions. Here, the autonomous vehicle may perform all driving tasks in certain situations, but the human driver is expected to take control as needed.
[0022] In contrast, in fully autonomous driving mode, the autonomous vehicle's control system performs all driving tasks and monitors the driving environment. This may be limited to specific situations, such as driving in a particular service area or under specific time or environmental restrictions, or it may encompass driving under all unrestricted conditions. In fully autonomous driving mode, no human is expected to take control of any driving actions.
[0023] Unless otherwise indicated, the architectures, components, systems, and methods described herein may operate in semi-autonomous, partially autonomous, or fully autonomous driving modes.
[0024] While certain aspects of this disclosure are particularly useful in relation to certain types of vehicles, autonomous vehicles 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. An autonomous vehicle may have one or more computing devices, such as a computing device 110, which includes one or more processors 120, memory 130, and other components generally found in general-purpose computing devices.
[0025] Memory 130 stores information accessible by one or more processors 120 and includes data 132 and instructions 134 that can be executed or otherwise used by the processors 120. Memory 130 may be any type of computing device or computer-readable medium that can store processor-accessible information, including hard drives, memory cards, ROMs, RAMs, DVDs, or other optical discs, as well as other writable and read-only memories and other media for storing data that can be read using electronic devices. The system and method may include different combinations of the foregoing, thereby storing different parts of the instructions and data in different types of media.
[0026] Instruction 134 may be any set of instructions that are executed by the processor directly (e.g., in machine code) or indirectly (e.g., in a script). For example, instructions may be stored as computing device code on a computing device-readable medium. In this regard, the terms “instruction” and “program” may be used interchangeably herein. Instructions may be stored in object code form for direct processing by the processor, or in any other computing device language, including scripts or sets of independent source code modules that are interpreted on demand or pre-compiled. The functions, methods, and routines of instructions are described in more detail below.
[0027] The data 132 may be retrieved, stored, or modified by the processor 120 in accordance with instruction 134. For example, although the claimed subject matter is not limited by any particular data structure, the data may be stored in a computing device register in a relational database as a table having multiple different fields and records, XML documents, or flat files. The data may also be formatted in any computing device-readable format.
[0028] One or more processors 120 may be any conventional processor, such as a commercially available CPU or GPU. Alternatively, one or more processors may include dedicated devices, such as an ASIC or other hardware-based processor. Figure 1 functionally shows the processor, memory, and other elements of the computing device 110 as being in the same block, but it will be understood by those skilled in the art that the processor, computing device, or memory may actually include multiple processors, computing devices, or memory, which may or may not be housed in the same physical housing. For example, the memory may be a hard drive or other storage medium located in a different housing than that of the computing device 110. Thus, a reference to a processor or computing device will be understood to include a reference to a collection of processors, computing devices, or memories, which may or may not operate in parallel.
[0029] The computing device 110 may include all the components typically used in connection with a computing device, such as the processor and memory described above, as well as user input 150 (e.g., one or more buttons, a mouse, a keyboard, a touchscreen, and / or a microphone), various electronic displays (e.g., a screen or monitor having any other electrical device capable of displaying information), and, if necessary, a speaker 154 for providing information to the autonomous vehicle 100 or other passengers. For example, an electronic display 152 may be located inside the cabin of the autonomous vehicle 100 and may be used by the computing device 110 to provide information to passengers inside the autonomous vehicle 100.
[0030] The 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 detailed below. The wireless network connections may include various configurations and protocols, including short-range communication protocols such as Bluetooth, Bluetooth Low Energy (LE), and cellular connections, as well as the Internet, the World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using one or more company-specific communication protocols, Ethernet, WiFi, and HTTP, as well as various combinations of the foregoing.
[0031] The computing device 110 may be part of the autonomous control system of the autonomous vehicle 100 and may be capable of communicating with various components of the autonomous vehicle in order to control the autonomous vehicle in autonomous driving mode. For example, returning to Figure 1, the computing device 110 may communicate with various systems of the autonomous vehicle 100, such as the 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 in autonomous driving mode, it controls the movement, speed, etc. of the autonomous vehicle 100 according to instructions 134 in memory 130.
[0032] For example, the computing device 110 may interact with a deceleration system 160 and an acceleration system 162 to control the speed of the autonomous vehicle. Similarly, the steering system 164 may be used by the computing device 110 to control the direction of the autonomous vehicle 100. For example, if the autonomous vehicle 100 is configured for use on roads, such as in a car or truck, the steering system 164 may include components that control the angle of the wheels to change the direction of the autonomous vehicle. The computing device 110 may also use a signaling system 166 to signal the intentions of the autonomous vehicle to other drivers or vehicles, for example, by activating turn signals or brake lights as needed.
[0033] The routing system 170 may be used by the computing device 110 to generate a route to a destination using map information. The planning system 168 may be used by the computing device 110 to generate short-term trajectories that enable an autonomous vehicle to follow the route generated by the routing system. In this regard, the planning system 168 and / or the routing system 166 may store pre-stored highly detailed maps that identify the 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 show an embodiment of map information 200 for a small section of road, including intersections 202, 203, 204, 205, and 206. Figure 2A shows a portion of map information 200, including information identifying the shape, location, and other characteristics of lane markers, or traffic control devices including 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 drivable areas 280. In this embodiment, 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 the direction of traffic moves away from intersection 204. In addition to the features described above, the map information may also include information identifying the direction of traffic in each lane, as well as information enabling the computing device 110 to determine whether a vehicle has a way to complete a particular operation (i.e., change direction or cross a lane in traffic or at an intersection).
[0035] Map information may be structured as a road photograph. The road photograph may include multiple graph nodes and edges representing features such as crosswalks, traffic signals, road signs, roads, or lane segments, which together constitute a road network in the map information. Each edge is defined by a starting graph node with a specific geographical location (e.g., latitude, longitude, altitude), an ending graph node with a specific geographical location (e.g., latitude, longitude, altitude), and a direction. This direction may indicate the direction in which the autonomous vehicle 100 must move to follow the edge (i.e., the direction of traffic flow). Graph nodes may be located at fixed or variable distances. For example, the spacing between graph nodes may range from a few centimeters to several meters and may correspond to the speed limit of the road on which the graph nodes are located. In this regard, higher speeds may correspond to greater distances between graph nodes. Edges 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 of the node, or the starting and ending positions of the edge, or the node itself. In addition to nodes and edges, the map can identify additional information such as the type of operation required at different edges, and which edges, lanes, or other mapped areas are drivable.
[0036] For example, Figure 2B shows most of the map information from Figure 2A, with the addition of several edges, represented by arrows and graph nodes (depicted as circles), corresponding to the road network of map information 200. Many edges and graph nodes are shown, but for clarity and simplification, only a few are referenced. For example, Figure 2B includes edges 270, 272, and 274, positioned between pairs of start and end graph nodes as graph nodes 260, 262, 264, and 266. As can be seen, graph node 260 represents the start point of edge 270, and graph node 262 represents the end point of edge 270. Similarly, graph node 262 represents the start point of edge 272, and graph node 264 represents the end point of edge 272. Furthermore, graph node 266 represents the start point of edge 274, and graph node 268 represents the end point of edge 274. In this case as well, the direction of each of these graph nodes is represented by an arrow on the edge. Edge 270 may represent a path that the 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 the vehicle can follow to turn left at intersection 203 in order to move from lane 221 to lane 226. Although not shown, each of these edges may be associated with an identifier, for example, the relative or actual position of the edge, or simply a numerical value corresponding to the position 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 locations, to change lanes, and to determine how to perform other operations, but during operation, the autonomous vehicle 100 does not need to precisely follow the nodes and edges.
[0037] The routing system 166 may use the map information described above to determine a route from the current location (e.g., the location of the current node) to the destination. The route may be generated using cost-based analysis, which attempts to select the route to the destination at the lowest cost. The cost may be evaluated in any number of ways, such as the time to the destination, the distance traveled (each edge may be associated with a cost for traversing that edge), the type of operation required, and the convenience to passengers or the autonomous vehicle. Each route may include a list of multiple nodes and edges that the autonomous vehicle can use to reach the destination. The route may be recalculated periodically as the autonomous vehicle moves towards the destination.
[0038] The map information used for routing may be the same map as the one used for planning the trajectory, or a different map. For example, the map information used for planning a route requires not only information about individual lanes but also the nature of the lane boundaries (e.g., white lines, dashed white lines, yellow lines, etc.) to determine where lane changes are permitted. However, unlike the map used for planning the trajectory, the map information used for routing does not need to include other details such as crosswalks, traffic signals, and stop signals, although some of this information may be useful for routing purposes. For example, between a route with traffic control (stop signals, or traffic signals, etc.) and numerous intersections and a route with no or very little traffic control, the latter route may have a lower cost (e.g., because it is faster) and therefore may be preferable.
[0039] The positioning system 170 may be used by a computing device 110 to determine the relative or absolute position of an autonomous vehicle on a map or on Earth. For example, the positioning system 170 may include a GPS receiver for determining the latitude, longitude, and / or altitude position of the vehicle. The position of the autonomous vehicle may be identified using other positioning systems, such as a laser-based positioning system, inertial-assisted GPS, or camera-based positioning. The position of the autonomous vehicle may include absolute geographical location information, such as latitude, longitude, and altitude, relative location information, such as the location of a node or edge on a road map, and its position relative to other vehicles in its immediate vicinity, which can often be determined with less noise than absolute geographical location information.
[0040] The positioning system 172 may also include other devices that communicate with the computing device 110, such as an accelerometer, gyroscope, or other direction / velocity detection device, to determine the direction and velocity of the autonomous vehicle, or changes thereto. For example, an accelerometer may determine its pitch, yaw, or roll (or changes thereto) with respect to the direction of gravity or a plane perpendicular thereto. The device may also track increases or decreases in velocity and the direction of such changes. The provision of position and orientation data by the devices described herein may be automatically provided to the computing device 110, other computing devices, and any combination thereof.
[0041] The perception system 174 also includes one or more components for detecting objects outside the autonomous vehicle, such as obstacles of other road users (vehicles, pedestrians, bikers, etc.) on the road, traffic signals, and other signals, signs, trees, buildings, etc. For example, the perception system 174 may 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. If the autonomous vehicle is a passenger vehicle such as a minivan or automobile, the autonomous vehicle may include Lidar, cameras, and / or other sensors mounted on or near the roof, fenders, bumpers, or other convenient locations.
[0042] For example, Figures 3A-3B are exemplary external views of the autonomous vehicle 100. In this embodiment, the rooftop housing 310 and the upper housing 312 may include a Lidar sensor, as well as various cameras and radar units. The upper housing 312 may include any number of different shapes, such as a dome, cylinder, or "cake top" shape. Furthermore, housings 320, 322 (shown in Figure 3B) located at the front and rear ends of the autonomous vehicle 100, as well as housings 330, 332 on the driver and passenger sides of the autonomous vehicle, may each house a Lidar sensor, and in some cases, one or more cameras. For example, housing 330 is located in front of the driver door 360. The autonomous vehicle 100 also includes a housing 340 for a radar unit and / or camera located on the driver side of the autonomous vehicle 100, close to the rear fender and rear bumper of the autonomous vehicle 100. Another corresponding housing (not shown) may be located at a corresponding position on the passenger side of the autonomous vehicle 100. Additional radar units and cameras (not shown) may be located at the front and rear ends of the autonomous vehicle 100, and / or at other locations along the roof or rooftop housing 310.
[0043] The computing device 110 can communicate with various components of the autonomous vehicle 100 in order 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, returning to Figure 1, the computing device 110 may include various computing devices that communicate with various systems of the autonomous vehicle 100, such as the deceleration system 160, acceleration system 162, steering system 164, signaling system 166, forward planning system 168, routing system 170, positioning system 172, perception system 174, behavior modeling system 176, and power system 178 (i.e., the engine or motor of the autonomous vehicle 100), which control the movement, speed, etc. of the autonomous vehicle 110 according to the instructions 134 in the memory 130.
[0044] Various systems in an autonomous vehicle may function using autonomous vehicle control software to determine how to control the autonomous vehicle. For example, the perception system software module of perception system 174 may use sensor data generated by one or more sensors of the autonomous vehicle, such as cameras, Lidar sensors, radar units, and sonar units, to detect and identify objects and their characteristics. These characteristics may include position, type, direction of travel, orientation, velocity, acceleration, change in acceleration, size, and shape.
[0045] In some examples, characteristics may be input to a behavior prediction system software module of a behavior modeling system 176, which outputs one or more behavior predictions or predicted trajectories for the detected object to follow in the future (e.g., future behavior predictions, or predicted future trajectories) 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, bicycle riders, and vehicles. The behavior predictions, or predicted trajectories, may be a list of position, orientation, or direction of travel (e.g., attitude), as well as other predictive characteristics such as velocity, acceleration or deceleration, and rate of change of acceleration or deceleration.
[0046] In other cases, features from the perception system 174 may be placed into one or more detection system software modules, for example, a traffic signal detection system software module configured to detect the state 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 an autonomous vehicle, and an emergency vehicle detection system configured to detect emergency vehicles from sensor data generated by sensors of an autonomous vehicle. Each of these detection system software modules may output the possibility of an object being a construction zone or an emergency vehicle using various models.
[0047] Detected objects, predicted trajectories, various possibilities from the detection system software module, map information identifying the autonomous vehicle's environment, position information from the positioning system 170 identifying the autonomous vehicle's position and orientation, the autonomous vehicle's destination position or node, and feedback from various other systems of the autonomous vehicle can be input to the planning system software module of the planning system 168. Using this input, the planning system 168 can generate planning trajectories for the autonomous vehicle to follow for a short period into the future, based on the paths generated by the routing module of the routing system 170. Each planning trajectory may provide a planning path and other instructions for the autonomous vehicle to follow for a short period into the future, such as less than 10 seconds. In this regard, the trajectory may define specific features such as acceleration, deceleration, speed, and direction to enable the autonomous vehicle to follow the path to reach its 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 autonomous vehicle's braking, acceleration, and steering in order to follow the trajectory.
[0048] The computing device 110 can control the autonomous vehicle in one or more autonomous driving modes by controlling various components. For example, the computing device 110 can use detailed map information and data from the planning system 168 to move the autonomous vehicle to a target location completely autonomously. The computing device 110 can 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 safely reach the location. To reiterate, for this purpose, the computing device 110 and / or the planning system 168 can generate trajectories and cause the autonomous vehicle to follow these trajectories by, for example, accelerating (e.g., by supplying fuel or other energy to the engine or power system 178 by the acceleration system 162), decelerating (e.g., by changing gears, by reducing the fuel supplied to the engine or power system 178, and / or by applying brakes by the deceleration system 160), changing direction (e.g., by rotating the front or rear wheels of the autonomous vehicle 100 by the steering system 164), and signaling such changes using the signaling system 166 (e.g., by illuminating the turn signal lights). Thus, the acceleration system 162 and the deceleration system 160 may be part of the drivetrain, which includes various components between the engine and the wheels of the autonomous vehicle. Again, by controlling these systems, the computing device 110 can also control the drivetrain of the autonomous vehicle to operate the autonomous vehicle autonomously.
[0049] The computing device 110 of the autonomous vehicle 100 may also receive or transfer information to and from other computing devices, such as computing devices that are part of a transport service and other computing devices. Figures 4 and 5 are illustrations and functional diagrams of an exemplary system 400, which includes multiple computing devices 410, 420, 430, 440 and a storage system 450 connected via a network 460, respectively. System 400 also includes autonomous vehicles 100A, 100B, and 100C, which may be identical or similarly configured to autonomous vehicle 100. For simplification, only a small number of vehicles and computing devices are illustrated, but a typical system may include significantly more.
[0050] As shown in Figure 5, each of the computing devices 410, 420, 430, and 440 may include one or more processors, memory, data, and instructions. These processors, memory, data, and instructions may be configured similarly to the one or more processors 120, memory 130, data 132, and instructions 134 of computing device 110.
[0051] Network 460 and the intervening nodes may include a variety of configurations and protocols, including short-range communication protocols such as Bluetooth, Bluetooth LE, the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local network, a private network using one or more company-specific communication protocols, Ethernet, WiFi, and HTTP, as well as various combinations of the foregoing. Such communications may be facilitated by any device capable of transmitting data to and from other computing devices, such as modems and wireless interfaces.
[0052] In one embodiment, one or more computing devices 410 may include one or more server computing devices having a load-balanced server farm, which exchange information with different nodes in a network for the purpose of receiving, processing, and transmitting data with other computing devices. For example, one or more computing devices 410 may include one or more server computing devices that can 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 deployed to various locations by the server computing devices.
[0053] In this regard, the server computing device 410 may function as a fleet management system that can be used to track the status of autonomous vehicles in a fleet and to assign passenger itineraries by allocating and dispatching vehicles such as autonomous vehicles 100, 100A, 100B, and 100C. These assignments may include scheduling itineraries to different locations for picking up and dropping off those passengers. In this regard, the server computing device 410 may operate using scheduling system software to manage the scheduling and dispatch of the aforementioned autonomous vehicles. Furthermore, the computing device 410 may use the network 460 to transmit and present information to users such as users 422, 432, and 442 on displays such as displays 424, 434, and 444 of computing devices 420, 430, and 440. In this regard, computing devices 420, 430, and 440 may be considered client computing devices.
[0054] As shown in Figure 3, each client computing device 420, 430 may be a personal computing device intended for use by users 422, 432, and it has all the components typically used to connect personal computing devices, including one or more processors (e.g., a central processing unit (CPU), memory for storing data and instructions (e.g., RAM, and an internal hard drive), displays such as displays 424, 434, 444 (e.g., monitors with screens, touchscreens, projectors, televisions, or other devices capable of displaying information), and user input devices 426, 436, 446 (e.g., a mouse, keyboard, touchscreen, or microphone). The client computing devices may also include cameras for recording video streams, speakers, network interface devices, and all components used to connect these elements to each other.
[0055] Client computing devices 420 and 430 may each comprise a full-size personal computing device, or alternatively, a mobile computing device capable of wirelessly exchanging data with a server over a network such as the Internet. For example, client computing device 420 could be a mobile phone, or a wireless-enabled PDA, tablet PC, wearable computing device or system, or a netbook capable of retrieving information over the Internet or other networks. In another embodiment, client computing device 430 could be a wearable computing system, such as a wristwatch, as shown in Figure 3. In one embodiment, the user may input information using a small keyboard, keypad, and microphone, using visual signals with a camera, or using a touchscreen. In yet another embodiment, client computing device 440 could be a desktop computing system including a keyboard, mouse, camera, and other input devices.
[0056] In some embodiments, client computing device 420 may be a mobile phone used by a passenger in the vehicle. In other words, user 422 may represent a passenger. Furthermore, client computing device 430 may represent a smartwatch for a passenger in the vehicle. In other words, user 432 may represent a passenger. Client computing device 440 may represent a workstation for a human operator, e.g., a human operator in a depot area, a remote assist operator, a technician providing roadside assistance, or otherwise a person who can provide assistance to the autonomous vehicle and / or passengers. In other words, user 442 may represent a transport service operator (e.g., a driver) utilizing autonomous vehicles 100, 100A, 100B, and 100C. Although only a few passengers and human operators are shown in Figures 4 and 5, any number of such passengers and human operators (and their respective client computing devices) may be included in a typical system.
[0057] Similar to memory 130, the storage system 450 may be any type of computerized storage capable of storing information accessible by the server computing device 410, such as hard drives, memory cards, ROMs, RAMs, DVDs, CD-ROMs, writable and read-only memory. Furthermore, the storage system 450 may include a distributed storage system in which data is stored on multiple different storage devices that may be physically located in the same or different geographical locations. The storage system 450 may be connected to the computing devices via a network 460, as shown in Figures 3 and 4, and / or may be directly connected to or incorporated into any of the computing devices 110, 410, 420, 430, 440, etc. The storage system 450 may store various types of information that can be retrieved or otherwise accessed by server computing devices, such as one or more server computing devices 410, in order to implement some of the features described herein.
[0058] Example of a method In addition to the actions described above and shown in the diagram, various other actions are described here. Naturally, the following actions do not need to be performed in the exact order described below. Rather, various steps can be processed in different orders or simultaneously, and steps can be added or omitted.
[0059] Figure 10 is an exemplary flowchart 1000 showing an embodiment that enables route variability for autonomous vehicles, which may be performed by one or more processors, such as one or more processors in a server computing device 410. In this embodiment, multiple routes are identified in block 1010. Each of the multiple routes is the current route that an autonomous vehicle in a fleet of autonomous vehicles is currently traveling on, and each autonomous vehicle uses cost-based analysis to determine its route. Of course, these routes may be updated over time as conditions (e.g., traffic, road closures, construction, destination of the autonomous vehicle, etc.) change.
[0060] As described above, as the autonomous vehicles in the fleet maneuver themselves toward their destinations, the autonomous vehicle routing system can generate a route for each autonomous vehicle to its respective destination. For example, the routing system may 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 the information used for planning the trajectory.
[0061] Certain information regarding the status of the autonomous vehicle, including its current route, may be reported to the server computing device 410. For example, the current route may be transmitted as a list of node or edge identifiers. Other information may include attitude (e.g., the autonomous vehicle's position and orientation), speed, status, or charge or fuel (e.g., battery status, fuel level, etc.), and other characteristics may also be transmitted. This information may be transmitted over a network, such as a mobile network including 4G or 5G, depending on the available information, indicating where the autonomous vehicle is currently located.
[0062] In this regard, the server computing device 410 may receive information from multiple autonomous vehicles such as autonomous vehicles 100, 100A, 100B, and 100C. As described with respect to autonomous vehicle 100, each of these autonomous vehicles may include a routing system 170 that utilizes a cost-based routing approach to determine its route. For example, Figure 6A is an example of the geographical area of the map information 200 and the route 610 on which autonomous vehicle 100 is currently traveling to destination 620 within the geographical area. Figure 6B is an example of the geographical area of the map information 200 and the route 610A on which autonomous vehicle 100B is currently traveling to destination outside the geographical area. Figure 6C is an example of the geographical area of the map information 200 and the route 610B on which autonomous vehicle 100C is currently traveling to destination outside the geographical area. Figure 6D is an example of the geographical area of the map information 200 and the route 610C on which autonomous vehicle 100C is currently traveling to destination outside the geographical area. Each of these routes can be transmitted from the computing devices of each of the autonomous vehicles 100, 100A, 100B, and 100C to the server computing device 410. The server computing device can then store these routes in the storage system 450 and retrieve them as needed.
[0063] Returning to Figure 10, block 1020 determines that a cluster of autonomous vehicles in the autonomous vehicle fleet is likely to occur on a road segment. The server computing device 410 may receive the current route and other information to determine whether the 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 the cluster of autonomous vehicles is likely to occur on a particular road segment (e.g., an edge) within a time-sliding window. Depending on how the route is defined (e.g., by edge, location, or other coordinates), the server computing device may compare different types of information. For example, if the current route is defined by a list of edges in map information, this may involve estimating the time at which each autonomous vehicle is likely to traverse each edge of its respective current route, and comparing this to the time at which other autonomous vehicles are likely to traverse the same edge. Such estimations may be based on typical arrival time estimation considerations, including traffic, distance, speed limits, and traffic controls (e.g., traffic signals, stop signs).
[0064] If a threshold number of vehicles are likely to traverse the same edge within a time-sliding window, the server computing device 410 may determine that a cluster of autonomous vehicles is likely to occur on that edge. Furthermore, this prediction and determination may be made periodically (e.g., every second) or whenever an update is received from one or more autonomous vehicles (e.g., on the current route). Alternatively, instead of a fixed threshold, this determination may be made in other ways, such as by inputting the information reported to the server computing device 410 from the autonomous vehicles described above into a machine learning model that suggests whether action should be taken to avoid clusters within a particular area. Further information may include real-time traffic information, information on upcoming events (e.g., concerts, sporting events, etc.), weather, and scheduling information (e.g., garbage collection schedules, bus schedules, etc.).
[0065] This time sliding window can be a fixed period such as 1 minute, 5 minutes, 10 minutes or more. The vehicle threshold number can be 2, 3, 4, or fewer vehicles. In this regard, if the sliding window is 1 minute and the threshold is 5 vehicles, and it is expected that 5 autonomous vehicles will traverse the same edge within 1 minute, the server computing device 410 may determine that a cluster of vehicles is likely to be on that edge.
[0066] Figure 7 shows an example of overlapping road segments between routes 610, 610A, 610B, and 610C during a time sliding window, including edge 710 (shown in Figure 2B) of map information 200. In this example, the threshold number of vehicles can be 3 within a 10-minute time sliding window. Edge 710 includes road segments from each of routes 610, 610A, and 610B, but does not include any segments from route 610C, as there are no overlapping segments with route 610C. In this regard, while there is physical overlap of road segments, autonomous vehicles 100, 100A, and 100B do not need to traverse all of these road segments simultaneously within the sliding window (e.g., within 10 minutes of an item). Based on the determination that the threshold number of vehicles (in this case, autonomous vehicles 100, 100A, and 100B) is likely to cross edge 710 within a time sliding window, the server computing device 410 may determine that a cluster of vehicles is likely to occur on edge 710.
[0067] In some cases, the sliding window and the threshold number of vehicles may differ based on the characteristics of the edges in the map information. For example, for edges corresponding to ground roads, the sliding window may be longer and / or the threshold number of vehicles may be lower than for edges corresponding to highways. In this regard, the server computing device 410 may be likely to change the routes clustering on ground roads rather than on highways. In some cases, edges and / or clusters on highways may be ignored. In other cases, for edges corresponding to narrow roads, the sliding window may be longer and / or the threshold number of vehicles may be lower than for edges corresponding to wider roads.
[0068] Returning to Figure 10, in block 1030, a signal is sent to one or more autonomous vehicles in the cluster of autonomous vehicles to adjust the cost of traversing a road segment in order to increase the likelihood that one or more autonomous vehicles in the cluster will avoid the road segment. For example, based on a determination that a 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 alter the route of one or more autonomous vehicles in the cluster. This may involve sending a signal to one or more autonomous vehicles in the cluster to adjust the cost of an edge in their 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 increase by any amount (e.g., 0.1), resulting in an increased cost (e.g., 0.3). This increases the overall cost of the current route of the autonomous vehicles and may prevent the autonomous vehicle routing system from selecting the same route that includes the edge. Of course, the smaller the adjustment, the less likely the autonomous vehicle is to change to a new route that does not include edges.
[0069] For example, a server computing device may transmit a signal to one or more autonomous vehicles in a cluster. Returning to the embodiment in Figure 7, this could include one or more (or even all) of the autonomous vehicles 100, 100A, and 100B, rather than just 100C. In this regard, each of these autonomous vehicles may receive a command that increases 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 a local version of the map information 200 stored in each of the autonomous vehicles 100, 100A, and 100B.
[0070] In some embodiments, changing the route may involve adjusting the edge cost differently for different autonomous vehicles in a cluster of autonomous vehicles. In some embodiments, this may be based on the likely order of autonomous vehicles in the cluster traversing the edge. For example, the first autonomous vehicle may not receive a signal that increases the edge cost, the second autonomous vehicle may receive a signal that increases the edge cost by 0.1, the third autonomous vehicle may receive a signal that increases the edge cost by 0.2, and the fourth autonomous vehicle may receive a signal that increases the edge cost by 0.3. In these 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) to avoid autonomous vehicles taking routes that are cumbersome, too long, or otherwise inefficient.
[0071] For example, a server computing device may signal one or more autonomous vehicles in a cluster, instructing each of them to adjust the cost of edge 710 differently depending on the sequence of autonomous vehicles in the cluster that are expected to traverse edge 710. Returning to the embodiment in Figure 7, this could include autonomous vehicles 100, 100A, and 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 vehicles are expected to traverse edge 710. For example, if autonomous vehicle 100 is expected to traverse edge 710 before autonomous vehicle 100A, and autonomous vehicle 100A is expected to traverse edge 710 before autonomous vehicle 100B, then the sequence of autonomous vehicles could be autonomous vehicle 100, autonomous vehicle 100A, and finally autonomous vehicle 100B. Using the above embodiment, autonomous vehicle 100 does not need to receive a signal that increases the cost of edge 710, while each of autonomous vehicles 100A and 100B may receive a signal that increases 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 a signal to autonomous vehicle 100B to increase the cost of edge 710 by a second amount. The first amount may be smaller than the second amount (for example, using the above embodiment, the first amount may be 0.1 and the second amount may be 0.2). Such increases may be incorporated into the local version of the map information 200 stored in each of the autonomous vehicles 100, 100A, and 100B.
[0072] For example, even if the cost of edge 710 increases for autonomous vehicle 100, this cost may not be sufficient to reroute autonomous vehicle 100, taking into account the location of destination 620. Similarly, even if the cost of edge 710 increases for autonomous vehicle 100A, this cost may not be sufficient to reroute autonomous vehicle 100, taking into account the location of autonomous vehicle 100A's destination.
[0073] However, in the embodiment of autonomous vehicle 100B, a small increase in the cost of edge 710 may cause autonomous vehicle 100B to avoid at least some of those edges (for example, avoiding edge 810 shown in Figure 8). In other words, the routing system 170 may identify route 910B shown in Figure 9 as a cost option with a lower cost than the updated cost of route 610B in Figure 6C. As a result, the routing system 170 of autonomous vehicle 100B may reroute the autonomous vehicle to change direction at intersections 202 and 206, as indicated by route 910B.
[0074] In some case studies, if the cost increase occurs while the autonomous vehicles in the cluster of autonomous vehicles maintain their current routes or, rather, continue to traverse edges, the server computing device 410 may add additional adjustments. In other words, additional signals may be sent to one or more autonomous vehicles in the cluster of autonomous vehicles to further increase the cost of one or more edges. This may continue (even over different sliding window timeframes) until one or more autonomous vehicles in the cluster of autonomous vehicles change to a new route that does not include edges or no longer brings the same cluster. Again, in these cases where the cost increases multiple times, the server computing device 410 may use some upper limits or maximum thresholds (e.g., 0.6 or higher, or lower) to avoid autonomous vehicles taking routes that are intrusive, too long, or otherwise inefficient.
[0075] These increased costs can persist for a certain period of time. For example, the cost increase at an edge may persist until each autonomous vehicle in a cluster of autonomous vehicles reaches its current destination. As another example, the cost increase at an edge may persist for a fixed period, such as 20 minutes, more than 20 minutes, or less than 20 minutes. In this regard, the signal that increases the cost may also include an instruction indicating when the increased cost can be discarded (for example, when the segment's cost can return to its original value).
[0076] In some examples, the server computing device 410 may change the route based on other characteristics of the autonomous vehicle. For example, the server computing device 410 may not change the route of an autonomous vehicle that is currently transporting passengers (e.g., it may not adjust edge costs). Alternatively, the server computing device 410 may not change the route of an autonomous vehicle that is not currently transporting passengers (e.g., it may not adjust edge costs). In another embodiment, the server computing device 410 may not change the route of an autonomous vehicle that is currently at a certain level of fuel or power (e.g., charge). This can avoid sending an autonomous vehicle that would require refueling or recharging to take a longer route.
[0077] In some applications, the server computing device 410 may alter the route to encourage an autonomous vehicle to travel along a particular nearby road. For example, if a particular edge has not been crossed for a certain period (e.g., days, weeks, or months), the server computing device 410 may increase the cost edge of nearby roads to encourage crossing of that 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 the latest representation of any changes, such as construction, road closures, changes in traffic signals, changes in lane markings, and other changes related to the accuracy of road photographs.
[0078] In some cases, even if a threshold number of vehicles traverse a particular edge within a time-sliding window, there may be instances where one or more server computing devices do not attempt to change the route. For example, when picking up many passengers for different routes after an event such as a concert, sporting event, or other event, there may be an appropriate cluster of vehicles to provide a sufficient number of autonomous vehicles at a given time to meet the demand.
[0079] The features described herein may provide route variability for autonomous vehicles. This may provide a proactive approach to avoid overuse of specific roads and potential congestion, rather than a reactive approach. In addition, managing route variability on the server computing device 410 may provide a more reliable and consistent approach than attempting it in the vehicle and / or via vehicle-to-vehicle communication.
[0080] Unless otherwise stated, the alternative embodiments described above are not mutually exclusive but can be implemented in various combinations to achieve their respective advantages. Since these, and other variations and combinations, of the features discussed above can be utilized without departing from the subject matter defined by the claims, the foregoing description of embodiments should be taken as illustrative rather than as a limitation of the subject matter defined by the claims. Furthermore, the provision of embodiments described herein, as well as phrases such as “for example” and “including,” should not be interpreted as limiting the subject matter of the claims to specific embodiments; rather, the embodiments are intended to illustrate only a few of the many possible embodiments. Moreover, identical reference numerals in different drawings may identify identical or similar elements.
Claims
1. It is a method, Identifying multiple routes by one or more processors of one or more server computing devices, wherein each of the multiple routes is the current route currently being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. The aforementioned one or more processors determine a fixed period based on the type of road segment, The one or more processors determine that a cluster of autonomous vehicles in the fleet of autonomous vehicles is likely to occur on the road segment during the fixed period, The one or more processors transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of the one or more costs that crosses the 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. Methods that include...
2. The method according to claim 1, wherein each of the plurality of routes includes a list of map information edges, each corresponding to a different road segment.
3. The method according to claim 1, wherein it is determined that the cluster of autonomous vehicles is likely to occur based on a threshold number of autonomous vehicles that are expected to traverse the road segment during the fixed period.
4. The method according to claim 3, further comprising determining the number of thresholds for the autonomous vehicle based on the type of road segment.
5. The method according to claim 1, wherein transmitting the signal is based on whether one or more of the autonomous vehicles in the cluster of the autonomous vehicles are transporting passengers.
6. The method according to claim 1, wherein transmitting the signal is based on the charge state or fuel state of one or more of the clusters of the autonomous vehicle.
7. A method, Identifying multiple routes by one or more processors of one or more server computing devices, wherein each of the multiple routes is the current route currently being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. The one or more processors determine that a cluster of autonomous vehicles in the fleet is likely to occur on a road segment. The one or more processors transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of the one or more costs that crosses the 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. Includes, The signal is a first signal, and the method further includes transmitting a second signal to one or more second units of the autonomous vehicle's cluster to adjust the crossing cost, wherein the first signal is configured to cause a first adjustment of the crossing cost, and the second signal is configured to cause a second adjustment of the crossing cost, and the first adjustment is different from the second adjustment. method.
8. A method, Identifying multiple routes by one or more processors of one or more server computing devices, wherein each of the multiple routes is the current route currently being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. The one or more processors determine that a cluster of autonomous vehicles in the fleet is likely to occur on a road segment. The one or more processors transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of the one or more costs that crosses the 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. The following is a set of instructions to continue transmitting additional signals to one or more of the autonomous vehicles in the cluster of autonomous vehicles until one or more of the autonomous vehicles in the cluster of autonomous vehicles changes to one or more new routes that do not include the road segment. Methods that include...
9. The method according to claim 7, further comprising limiting the adjustment of the cross-cost for one or more of the autonomous vehicles in the cluster of the autonomous vehicles to a maximum threshold value.
10. A method, Identifying multiple routes by one or more processors of one or more server computing devices, wherein each of the multiple routes is the current route currently being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. The one or more processors determine that a cluster of autonomous vehicles in the fleet is likely to occur on a road segment. The one or more processors transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of the one or more costs that crosses the 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. Includes, The signal includes an instruction indicating a period for adjusting the cross-cost, method.
11. It is a system, Identifying multiple routes, wherein each of the multiple routes is the current route being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. The aforementioned one or more processors determine a fixed period based on the type of road segment, It is determined that a cluster of autonomous vehicles in the fleet of autonomous vehicles is likely to occur on the road segment during the fixed period, One or more of the autonomous vehicles in the cluster of autonomous vehicles transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of one or more costs that crosses the road segment in order to increase the likelihood of avoiding the road segment. A system having one or more processors configured to perform the following.
12. The system according to claim 11, wherein 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 fixed period.
13. A system, Identifying multiple routes, wherein each of the multiple routes is the current route being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. It is determined that the cluster of autonomous vehicles in the aforementioned fleet of autonomous vehicles is likely to occur on a road segment, One or more of the autonomous vehicles in the cluster of autonomous vehicles transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of one or more costs that crosses the road segment in order to increase the likelihood of avoiding the road segment. A system comprising one or more processors configured to perform the following: The signal is a first signal, and the one or more processors are configured to transmit a second signal to the one or more second processors of the autonomous vehicle's cluster of autonomous vehicles to adjust the crossing cost of crossing the road segment, the first signal is configured to trigger a first adjustment of the crossing cost, the second signal is configured to trigger a second adjustment of the crossing cost, and the first adjustment is different from the second adjustment. system.
14. A system, Identifying multiple routes, wherein each of the multiple routes is the current route being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. It is determined that the cluster of autonomous vehicles in the aforementioned fleet of autonomous vehicles is likely to occur on a road segment, One or more of the autonomous vehicles in the cluster of autonomous vehicles transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of one or more costs that crosses the road segment in order to increase the likelihood of avoiding the road segment. The following is a set of instructions to continue transmitting additional signals to one or more of the autonomous vehicles in the cluster of autonomous vehicles until one or more of the autonomous vehicles in the cluster of autonomous vehicles changes to one or more new routes that do not include the road segment. A system having one or more processors configured to perform the following.
15. A system, Identifying multiple routes, wherein each of the multiple routes is the current route being traveled by an autonomous vehicle in a fleet of autonomous vehicles, and each of the autonomous vehicles determines its route using one or more cost-based analyses relating to travel to its destination. It is determined that the cluster of autonomous vehicles in the aforementioned fleet of autonomous vehicles is likely to occur on a road segment, One or more of the autonomous vehicles in the cluster of autonomous vehicles transmit a signal to one or more of the autonomous vehicles in the cluster of autonomous vehicles to adjust the crossing cost of one or more costs that crosses the road segment in order to increase the likelihood of avoiding the road segment. A system comprising one or more processors configured to perform the following: The signal includes an instruction indicating a period for adjusting the cross-cost, system.
16. The system according to claim 11, further comprising the autonomous vehicle.