Systems and methods for lateral position-based trace clustering
Systems, methods, and other embodiments described herein relate to generating driving trajectories for routes along a road based on vehicle traces through lane gates. In one embodiment, a method includes generating a network of lane gates across a representation of a road. The method also includes, for a target lane gate, 1) clustering vehicle traces passing through the target lane gate based on a trace lateral position at the target lane gate and 2) placing a node for a cluster on the target lane gate at a representative lateral position for the cluster. The method also includes generating a driving trajectory for a path by connecting nodes on adjacent lane gates that share a vehicle trace.
1 . A system, comprising:
a processor; and
a memory storing machine-readable instructions that, when executed by the processor, cause the processor to:
generate a network of lane gates across a representation of a road, the lane gates being positioned at successive locations along a path;
for each of at least some target lane gates in the network:
form clusters of vehicle traces passing through the target lane gate, each cluster based on a proximity of trace lateral positions at the target lane gate; and
for at least some of the clusters, place a node on the target lane gate at a representative lateral position for the cluster; and
generate a driving trajectory for the path by identifying a given vehicle trace that traverses a sequence of adjacent target lane gates and only connecting nodes on the adjacent target lane gates that a correspond to a cluster that includes the given vehicle trace.
2 . The system of claim 1 , wherein the machine-readable instruction that, when executed by the processor, causes the processor to form the clusters of the vehicle traces passing through the target lane gate comprises a machine-readable instruction that, when executed by the processor, causes the processor to form the clusters of the vehicle traces passing through the target lane gate based on the trace lateral position at the target lane gate and an additional vehicle characteristic indicated by the vehicle traces.
3 . The system of claim 2 , wherein the additional vehicle characteristic is a trace heading angle at the target lane gate.
4 . The system of claim 1 , wherein the machine-readable instruction that, when executed by the processor, causes the processor to generate the network of lane gates comprises machine-readable instructions that, when executed by the processor, cause the processor to, for an unmapped portion of the road:
identify transitions between map-defined portions of the road that bound the unmapped portion of the road;
combine vehicle traces between a paired transition to generate a centerline for a reference path between the paired transition;
approximate lane boundaries of the reference path, the lane boundaries are a predetermined distance from the centerline; and
partition the reference path into equidistant segments with a width of the lane gates matching a distance between the lane boundaries.
5 . The system of claim 1 , wherein the machine-readable instruction that, when executed by the processor, causes the processor to generate the network of lane gates comprises a machine-readable instruction that, when executed by the processor, causes the processor to, for a mapped portion of the road, partition the mapped portion of the road into equidistant segments with a width of the lane gates matching a road width.
6 . The system of claim 1 , wherein the machine-readable instruction that, when executed by the processor, causes the processor to form the clusters of the vehicle traces passing through the target lane gate comprises a machine-readable instruction that, when executed by the processor, causes the processor to generate different quantities of clusters at different lane gates.
7 . The system of claim 1 , wherein the machine-readable instruction that, when executed by the processor, causes the processor to place the node for the cluster on the target lane gate at the representative lateral position for the cluster comprises a machine-readable instruction that, when executed by the processor, causes the processor to calculate an average or median of lateral positions of vehicle traces that form the cluster.
8 . The system of claim 1 , wherein the machine-readable instructions further comprise machine-readable instructions that, when executed by the processor, cause the processor to:
calculate a vehicle attribute for the cluster at the target lane gate based on vehicle attributes associated with the vehicle traces at the target lane gate; and
generate time-based vehicle attributes for the path by combining vehicle attributes for the cluster at multiple lane gates along the path.
9 . The system of claim 1 , wherein the machine-readable instructions further comprise machine-readable instructions that, when executed by the processor, cause the processor to guide an autonomous vehicle along the driving trajectory based on an autonomous vehicle track being grouped with the cluster.
10 . A non-transitory machine-readable medium comprising instructions that, when executed by a processor, cause the processor to:
generate a network of lane gates across a representation of a road, the lane gates being positioned at successive locations along a path;
for each of at least some target lane gates in the network:
form clusters of vehicle traces passing through the target lane gate, each cluster based on a proximity of trace lateral positions at the target lane gate; and
for at least some of the clusters, place a node on the target lane gate at a representative lateral position for the cluster; and
generate a driving trajectory for the path by identifying a given vehicle trace that traverses a sequence of adjacent target lane gates and only connecting nodes on the adjacent target lane gates that a correspond to a cluster that includes the given vehicle trace.
11 . The non-transitory machine-readable medium of claim 10 , wherein the machine-readable instruction that, when executed by the processor, causes the processor to form clusters of the vehicle traces passing through the target lane gate comprises a machine-readable instruction that, when executed by the processor causes the processor to form clusters of the vehicle traces passing through the target lane gate based on the trace lateral position at the target lane gate and a trace heading angle at the target lane gate.
12 . The non-transitory machine-readable medium of claim 10 , wherein the instruction that, when executed by the processor, causes the processor to generate the network of lane gates comprises instructions that, when executed by the processor, cause the processor to, for an unmapped portion of the road:
identify transitions between map-defined portions of the road that bound the unmapped portions of the road;
combine vehicle traces between a paired transition to generate a centerline for a reference path between the paired transition;
approximate lane boundaries of the reference path, the lane boundaries are a predetermined distance from the centerline; and
partition the reference path into equidistant segments with a width of the lane gates matching a distance between the lane boundaries.
13 . The non-transitory machine-readable medium of claim 10 , wherein the instruction that, when executed by the processor, causes the processor to generate the network of lane gates comprises an instruction that, when executed by the processor, causes the processor to, for a mapped portion of the road, partition the mapped portion of the road into equidistant segments with a width of the lane gates matching a road width.
14 . A method, comprising:
generating a network of lane gates across a representation of a road, the lane gates being positioned at successive locations along a path;
for each of at least some target lane gates in the network:
forming clusters of vehicle traces passing through the target lane gate based on a proximity of trace lateral positions at the target lane gate; and
for at least some of the clusters, placing a node on the target lane gate at a representative lateral position for the cluster; and
generating a driving trajectory for the path by identifying a given vehicle trace that traverses a sequence of adjacent target lane gates and only connecting nodes on the adjacent target lane gates that correspond to a cluster that includes the given vehicle trace.
15 . The method of claim 14 , wherein forming the clusters of the vehicle traces passing through the target lane gate comprises forming the clusters of the vehicle traces passing through the target lane gate based on the trace lateral position at the target lane gate and a trace heading angle at the target lane gate.
16 . The method of claim 14 , wherein generating the network of lane gates comprises, for an unmapped portion of the road:
identifying transitions between map-defined portions of the road that bound the unmapped portions of the road;
combining vehicle traces between a paired transition to generate a centerline for a reference path between the paired transition;
approximating lane boundaries of the reference path, the lane boundaries are a predetermined distance from the centerline; and
partitioning the reference path into equidistant segments with a width of the lane gates matching a distance between the lane boundaries.
17 . The method of claim 14 , wherein generating the network of lane gates comprises, for a mapped portion of the road, partitioning the mapped portion of the road into equidistant segments with a width of the lane gates matching a road width.
18 . The method of claim 14 , further comprising guiding an autonomous vehicle along the driving trajectory based on an autonomous vehicle track being grouped with the cluster.