Distributed vehicle route planning
Techniques are described for controlling and/or influencing the routes driven by vehicles in a fleet of vehicles managed by a fleet routing system. The fleet routing system may determine route data for vehicles to perform requested driving trips based on the current and previous driving trips performed by the fleet. For example, the fleet routing system may evaluate the current driving trips being performed by the fleet to determine modified destinations for driving trip requests. The fleet routing system also may modify various route data, map data, traffic data, and the like, including determining additional waypoints, restricted driving regions, and/or distributed driving regions, to influence the vehicles in the fleet to determine driving routes to prevent congestion on roads and at crowded pullover locations, and to improve vehicle safety, efficiency, and traffic distribution.
1 . A fleet routing system for autonomous vehicles comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:
determining a first driving route associated with a first driving trip of a first vehicle in an environment, the first driving route including a first starting point and a first destination;
determining a characteristic of a pullover location associated with the first starting point or the first destination;
receiving trip data associated with a request for a requested driving trip, the trip data including a second starting point and a second destination in the environment;
determining modified trip data associated with the requested driving trip, based at least in part on:
determining that either the second starting point or the second destination is associated with the pullover location; and
determining that there is a time overlap between the first driving trip and the requested driving trip,
wherein the fleeting routing system determines the modified trip data based at least in part on the characteristic of the pullover location; and
providing, by the fleet routing system, the modified trip data to a second vehicle,
wherein the second vehicle is configured to:
determine a second driving route based at least in part on the modified trip data; and
control the second vehicle to perform the second driving route.
2 . The fleet routing system of claim 1 , wherein determining the modified trip data comprises:
determining a first time period during which the first vehicle is scheduled to be driving on a first road segment during the first driving trip;
determining a second time period during which the second vehicle is scheduled to be driving on the first road segment during the requested driving trip; and
determining a weight associated with the first road segment, based at least in part on determining that the first time period and the second time period overlap.
3 . The fleet routing system of claim 1 , wherein:
determining the first driving route includes determining a first pullover space at the pullover location, and
the operations further comprising determining a second pullover space at the pullover location for the requested driving trip, wherein the second pullover space is different from the first pullover space.
4 . The fleet routing system of claim 1 , the operations further comprising:
determining a size of the pullover location;
determining, for a vehicle fleet associated with the second vehicle, a number of current driving trips associated with the pullover location; and
determining a modified destination for the requested driving trip, based at least in part on the size of the pullover location, and the number of current driving trips associated with the pullover location.
5 . The fleet routing system of claim 1 , the operations further comprising:
receiving, by the fleet routing system, data associated with the first driving route, the data determined by the first vehicle while driving the first driving route;
determining a weight associated with a road segment, based at least in part on the data associated with the first driving route determined by the first vehicle; and
determining the modified trip data associated with the requested driving trip based at least in part on the weight associated with the road segment.
6 . A method comprising:
determining, by a fleet routing system, a first driving route associated with a first driving trip of a first vehicle, the first driving route including a first starting point and a first destination;
determining, by the fleet routing system, a characteristic of a pullover location associated with the first starting point or the first destination;
receiving, by the fleet routing system, trip data associated with a requested driving trip, the trip data including a second starting point and a second destination associated with the requested driving trip;
determining modified trip data associated with the requested driving trip, based at least in part on:
determining that either the second starting point or the second destination is associated with the pullover location; and
determining that there is a time overlap between the first driving trip and the requested driving trip,
wherein the fleeting routing system determines the modified trip data based at least in part on the characteristic of the pullover location;
providing, by the fleet routing system, the modified trip data to a second vehicle,
wherein the second vehicle is configured to:
determine a second driving route based at least in part on the modified trip data; and
control the second vehicle to perform the second driving route.
7 . The method of claim 6 , wherein determining the modified trip data comprises:
determining a first time period during which the first vehicle is scheduled to be driving on a first road segment during the first driving trip;
determining a second time period during which the second vehicle is scheduled to be driving on the first road segment during the requested driving trip; and
determining a weight associated with the first road segment, based at least in part on determining that the first time period and the second time period overlap.
8 . The method of claim 6 , wherein:
determining the first driving route includes determining a first pullover space at the pullover location, and
the method further comprising determining a second pullover space at the pullover location for the requested driving trip, wherein the second pullover space is different from the first pullover space.
9 . The method of claim 6 , further comprising:
determining a size of the pullover location;
determining, for a vehicle fleet associated with the second vehicle, a number of current driving trips associated with the pullover location; and
determining a modified destination for the requested driving trip, based at least in part on the size of the pullover location, and the number of current driving trips associated with the pullover location.
10 . The method of claim 6 , wherein determining the modified trip data comprises determining, based at least in part on the first driving route, at least one of:
an additional waypoint for the requested driving trip; or
a restricted region within map data associated with the requested driving trip.
11 . The method of claim 6 , further comprising determining, within map data associated with the requested driving trip, a set of associated alternative road segments.
12 . The method of claim 6 , further comprising:
receiving, by the fleet routing system, data associated with the first driving route, the data determined by the first vehicle while driving the first driving route;
determining a weight associated with a road segment, based at least in part on the data associated with the first driving route determined by the first vehicle; and
determining the modified trip data associated with the requested driving trip based at least in part on the weight associated with the road segment.
13 . One or more non-transitory computer-readable media storing instructions executable by a processor, wherein the instructions, when executed, cause the processor to perform operations comprising:
determining, by a fleet routing system, a first driving route associated with a first driving trip of a first vehicle, the first driving route including a first starting point and a first destination;
determining, by the fleet routing system, a characteristic of a pullover location associated with the first starting point or the first destination;
receiving, by the fleet routing system, trip data associated with a requested driving trip, the trip data including a second starting point and a second destination associated with the requested driving trip;
determining modified trip data associated with the requested driving trip, based at least in part on:
determining that either the second starting point or the second destination is associated with the pullover location; and
determining that there is a time overlap between the first driving trip and the requested driving trip,
wherein the fleeting routing system determines the modified trip data based at least in part on the characteristic of the pullover location;
providing, by the fleet routing system, the modified trip data to a second vehicle,
wherein the second vehicle is configured to:
determine a second driving route based at least in part on the modified trip data; and
control the second vehicle to perform the second driving route.
14 . The one or more non-transitory computer-readable media of claim 13 , wherein determining the modified trip data comprises:
determining a first time period during which the first vehicle is scheduled to be driving on a first road segment during the first driving trip;
determining a second time period during which the second vehicle is scheduled to be driving on the first road segment during the requested driving trip; and
determining a weight associated with the first road segment, based at least in part on determining that the first time period and the second time period overlap.
15 . The one or more non-transitory computer-readable media of claim 13 , wherein:
determining the first driving route includes determining a first pullover space at the pullover location, and
the operations further comprising determining a second pullover space at the pullover location for the requested driving trip, wherein the second pullover space is different from the first pullover space.
16 . The one or more non-transitory computer-readable media of claim 13 , the operations further comprising:
determining a size of the pullover location;
determining, for a vehicle fleet associated with the second vehicle, a number of current driving trips associated with the pullover location; and
determining a modified destination for the requested driving trip, based at least in part on the size of the pullover location, and the number of current driving trips associated with the pullover location.
17 . The one or more non-transitory computer-readable media of claim 13 , wherein determining the modified trip data comprises determining, based at least in part on the first driving route, at least one of:
an additional waypoint for the requested driving trip; or
a restricted region within map data associated with the requested driving trip.
18 . The one or more non-transitory computer-readable media of claim 13 , the operations further comprising:
receiving, by the fleet routing system, data associated with the first driving route, the data determined by the first vehicle while driving the first driving route;
determining a weight associated with a road segment, based at least in part on the data associated with the first driving route determined by the first vehicle; and
determining the modified trip data associated with the requested driving trip based at least in part on the weight associated with the road segment.