Routing feature flags
Systems and methods herein describe accessing a set of feature flags, a first feature flag in the set of feature flag describing vehicle navigation behavior on a routing graph, the routing graph representing the roadway, associating the set of feature flags with a vehicle, applying the associated set of feature flags to a graph traversal algorithm to generate a modified graph traversal algorithm, generating the route using the modified graph traversal algorithm; and transmitting instructions to the vehicle to begin executing the route.
1. A method for generating a route for an autonomous vehicle traversing a roadway, the method comprising:
accessing, using one or more processors, a set of feature flags, a first feature flag in the set of feature flags describing autonomous vehicle navigation behavior on a routing graph describing the roadway, and wherein the set of feature flags comprises a vehicle operator feature flag representing whether the autonomous vehicle is operated autonomously, the vehicle operator feature flag having a Boolean flag value;
associating the set of feature flags with the autonomous vehicle;
applying the associated set of feature flags to a graph traversal algorithm to generate a modified graph traversal algorithm;
generating the route using the modified graph traversal algorithm, the route comprising a single route for the autonomous vehicle based on autonomous vehicle constraints and roadway constraints; and
causing the autonomous vehicle to execute the route.
2. The method of claim 1 , wherein each feature flag in the set of feature flags has a flag value.
3. The method of claim 1 , wherein the vehicle operator feature flag has a true Boolean value, the method further comprising:
classifying a roadway element that can be traversed by the autonomous vehicle as a permitted maneuver.
4. The method of claim 1 , wherein the vehicle operator feature flag has a false Boolean value, the method further comprising:
classifying a roadway element that cannot be traversed by the autonomous vehicle as a forbidden maneuver; and
generating the route using the modified graph traversal algorithm, the generated route excluding the roadway element.
5. The method of claim 1 , wherein the set of feature flags comprises a weighted feature flag representing an importance of an aspect of vehicle navigation behavior, the weighted feature flag having an integer value.
6. The method of claim 1 , wherein associating the set of feature flags with the autonomous vehicle further comprises:
receiving, via an application programming interface, an instruction to associate the set of feature flags with the autonomous vehicle.
7. The method of claim 1 , wherein the roadway comprises roadway elements on a geographical map.
8. A system comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the system to perform operations comprising:
accessing a set of feature flags, a first feature flag in the set of feature flags describing autonomous vehicle navigation behavior on a routing graph describing a roadway, and wherein the set of feature flags comprises a vehicle operator feature flag representing whether the autonomous vehicle is operated autonomously, the vehicle operator feature flag having a Boolean flag value;
associating the set of feature flags with an autonomous vehicle;
applying the associated set of feature flags to a graph traversal algorithm to generate a modified graph traversal algorithm;
generating a route using the modified graph traversal algorithm, the route comprising a single route for the autonomous vehicle based on autonomous vehicle constraints and roadway constraints; and
causing the autonomous vehicle to execute the route.
9. The system of claim 8 , wherein each feature flag in the set of feature flags has a flag value.
10. The system of claim 8 , wherein the vehicle operator feature flag has a true Boolean value, the operations further comprising:
classifying a roadway element that can be traversed by the autonomous vehicle as a permitted maneuver.
11. The system of claim 8 , wherein the vehicle operator feature flag has a false Boolean value, the operations further comprising:
classifying a roadway element that cannot be traversed by the autonomous vehicle as a forbidden maneuver; and
generating the route using the modifying graph traversal algorithm, the generated route excluding the roadway element.
12. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to perform operations comprising:
accessing a set of feature flags, a first feature flag in the set of feature flags describing autonomous vehicle navigation behavior on a routing graph describing a roadway, and wherein the set of feature flags comprises a vehicle operator feature flag representing whether the autonomous vehicle is operated autonomously, the vehicle operator feature flag having a Boolean flag value;
associating the set of feature flags with an autonomous vehicle;
applying the associated set of feature flags to a graph traversal algorithm to generate a modified graph traversal algorithm;
generating a route using the modified graph traversal algorithm, the route comprising a single route for the autonomous vehicle based on autonomous vehicle constraints and roadway constraints; and
causing the autonomous vehicle to execute the route.
13. A method for generating a route for an autonomous vehicle traversing a roadway, the method comprising:
accessing, using one or more processors, a set of feature flags, a first feature flag in the set of feature flags describing autonomous vehicle navigation behavior on a routing graph describing the roadway, and wherein the set of feature flags comprises a lane change feature flag representing whether the autonomous vehicle is capable of changing lanes on the roadway, the lane change feature flag having a Boolean flag value;
associating the set of feature flags with the autonomous vehicle;
applying the associated set of feature flags to a graph traversal algorithm to generate a modified graph traversal algorithm;
generating the route using the modified graph traversal algorithm, the route comprising a single route for the autonomous vehicle based on autonomous vehicle constraints and roadway constraints; and
causing the autonomous vehicle to execute the route.
14. The method of claim 13 , wherein the lane change feature flag as a true Boolean value, the method further comprising:
classifying a roadway element that can be traversed by the autonomous vehicle as a permitted maneuver.
15. The method of claim 13 , wherein the lane change feature flag as a false Boolean value, the method further comprising:
classifying a roadway element that cannot be traversed by the autonomous vehicle as a forbidden maneuver; and
generating the route using the modified graph traversal algorithm, the generated route excluding the roadway element.
16. A system comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the system to perform operations comprising:
accessing a set of feature flags, a first feature flag in the set of feature flags describing autonomous vehicle navigation behavior on a routing graph describing a roadway, and wherein the set of feature flags comprises a lane change feature flag representing whether the autonomous vehicle is capable of changing lanes on the roadway, the lane change feature flag having a Boolean flag value;
associating the set of feature flags with an autonomous vehicle;
applying the associated set of feature flags to a graph traversal algorithm to generate a modified graph traversal algorithm;
generating a route using the modified graph traversal algorithm, the route comprising a single route for the autonomous vehicle based on autonomous vehicle constraints and roadway constraints; and
causing the autonomous vehicle to execute the route.
17. The system of claim 16 , wherein the lane change feature flag as a true Boolean value, the operations further comprising:
classifying a portion of the roadway that can be traversed by the autonomous vehicle as a permitted maneuver.
18. The system of claim 16 , wherein the lane change feature flag as a false Boolean value, the operations further comprising:
classifying a portion of the roadway that cannot be traversed by the autonomous vehicle as a forbidden maneuver; and
generating the route using the modified graph traversal algorithm, the generated route excluding the portion of the roadway.