| CPC G01C 21/3815 (2020.08) [G06V 20/588 (2022.01)] | 9 Claims |

|
1. A method for crowd-sourcing lane line map data for a vehicle, the method comprising:
receiving a plurality of observations from one or more vehicles, wherein the plurality of observations includes at least a first observation and a second observation, wherein each of the plurality of observations includes a vehicle location trajectory and a plurality of points positioned relative to the vehicle location trajectory, wherein each point of the plurality of points includes a plurality of point characteristics, wherein one of the plurality of point characteristics is a location of each point relative to the vehicle location trajectory, and wherein each of the plurality of points corresponds to an object in an environment surrounding the one or more vehicles;
generating a point cloud alignment vector based at least in part on the plurality of observations using a point cloud registration algorithm, wherein the point cloud alignment vector is determined such that shifting the vehicle location trajectory of the second observation by the point cloud alignment vector aligns the vehicle location trajectory of the second observation with the vehicle location trajectory of the first observation;
generating an optimized aligned point cloud based at least in part on the point cloud alignment vector, wherein generating the optimized aligned point cloud further comprises:
determining a plurality of correction vectors, wherein each of the plurality of correction vectors corresponds to one of the plurality of points of the second observation, wherein determining the plurality of correction vectors further comprises minimizing an objective function to determine the plurality of correction vectors, wherein the objective function includes at least a plurality of cost functions, wherein each of the plurality of cost functions corresponds to one of a plurality of optimization constraints, and wherein the plurality of cost functions include:
an observation similarity constraint cost function, wherein the observation similarity constraint cost function is:
![]() wherein Costob(ci) is the observation similarity constraint cost function for one of the plurality of correction vectors corresponding to an ith point of the plurality of points of the second observation, ci is one of the plurality of correction vectors corresponding to an ith point of the plurality of points of the second observation, Ci is the point cloud alignment vector for the ith point of the plurality of points of the second observation, and σob2(i) is an alignment variance of the ith point of the plurality of points of the second observation;
a trajectory pose constraint cost function, wherein the trajectory pose constraint cost function is:
![]() wherein Costpose(ci) is the trajectory pose constraint cost function for one of the plurality of correction vectors corresponding to the ith point of the plurality of points of the second observation, ci is one of the plurality of correction vectors corresponding to the ith point of the plurality of points of the second observation, ċi is an initial correction vector corresponding to the ith point of the plurality of points of the second observation, fpose(ci,ci+1) is a heading between the ith point of the plurality of points of the second observation and an i+1th point of the plurality of points of the second observation after application of one of the plurality of correction vectors, fpose(ċi,ċi+1) is a heading between the ith point of the plurality of points of the second observation and the i+1th point of the plurality of points of the second observation after application of the initial correction vector, and σpose2(i) is a pose variance of the ith point of the plurality of points of the second observation; and
a location vicinity constraint cost function, wherein the location vicinity constraint cost function is:
![]() wherein Costloc(ci) is the location vicinity constraint cost function for one of the plurality of correction vectors corresponding to the ith point of the plurality of points of the second observation, ci is one of the plurality of correction vectors corresponding to the ith point of the plurality of points of the second observation, ċi is the initial correction vector corresponding to the ith point of the plurality of points of the second observation, euclidian(ci,ċi), is a Euclidian distance between a location of the ith point after application of one of the plurality of correction vectors and a location of the ith point after application of the initial correction vector, and σloc2(i) is an location variance of the ith point of the plurality of points of the second observation; and
shifting each of the plurality of points of the second observation to generate the optimized aligned point cloud, wherein each of the plurality of points of the second observation is shifted based at least in part on one of the plurality of correction vectors;
determining a lane line map based at least in part on the optimized aligned point cloud;
updating a map database based at least in part on the lane line map;
adjusting a path of the vehicle based at least in part on the lane line map; and
controlling the vehicle to traverse the path using an automated driving system.
|