The present disclosure relates to a lane edge fusion system for an autonomous vehicle that determines a fused lane edge based on map data and perception data.
An autonomous driving system for a vehicle is a complex system that includes many different aspects. For example, an autonomous driving system may include multiple sensors to gather perception data with respect to the vehicle's surrounding environment. In addition to the sensors, the autonomous driving system may also utilize map data as well.
Map lane edge points are derived from the map data, while perception lane edge points are derived from the perception data. The map lane edge points may be fused together with the perception lane edge points to determine lane edge points that are utilized by the autonomous driving system. However, the map lane edge points and the perception lane edge points may include noisy sample points. Moreover, the variance of the lateral error as measured from the true lane edge may vary over distance for both the noisy map lane edge points and the perception lane edge points. Sometimes the true lane edge forms a curve that goes back on itself and subsequently fails the vertical line test, which makes it difficult to model the true lane edge points as a single function. To address this issue, a parametric function may be used to fuse the map and perception data together, however, it may be challenging to find consistent parameterization with noisy data.
Thus, while autonomous driving systems achieve their intended purpose, there is a need in the art for determining an improved approach to fuse the map lane edge points and the perception lane edge points together.
According to several aspects, a lane edge fusion system for an autonomous vehicle is disclosed. The lane edge fusion system includes one or more controllers executing instructions to receive perception data and map data of a roadway the autonomous vehicle is traveling along. The one or more controllers derive a plurality of map lane edge points from the map data and a plurality of perception lane edge points from the perception data. The one or more controllers select an evaluation point based on the plurality of map lane edge points and the plurality of perception lane edge points, where a true position of a lane edge is represented as an implicit curve. The one or more controllers fit an implicit function for the evaluation point based on an implicit moving least squares approach, where the implicit curve is represented by a zero-level set of the implicit function and the implicit function is represented by an equation for a planar circle. The one or more controllers solve for a plurality of coefficients of the implicit function, wherein the plurality of coefficients are a function of the evaluation point. The one or more controllers estimate a covariance of the plurality of coefficients. The one or more controllers determine a point on the implicit curve that is nearest to a given point based on an iterative process. The one or more controllers determine a lateral error variance at the point based on the covariance for the plurality of coefficients. Finally, the one or more controllers build a fused lane edge by setting the point on the implicit curve as one of a plurality fused lane edge points that are fused together to create the fused lane edge.
In another aspect, the implicit function is expressed as:
where ƒ(x) represents the implicit function, b(x) represents a quadratic basis vector, and c(x) is equal to a vector of the plurality of coefficients cx.
In still another aspect, the equation of the planar circle is expressed as:
where c0, c1, c2, c3 represent the plurality of coefficients, x=x1, and y=x2.
In an aspect, the evaluation point includes an error expressed as:
where ϵ′ represents the error, represents the Normal distribution with zero mean, and Σ represents a covariance matrix.
In another aspect, the plurality of coefficients are estimated based on a Lagrangian function including a first loss function and a second loss function.
In still another aspect, the covariance of the plurality of coefficients is estimated based on an optimization problem that minimizes a Lagrangian function and is expressed as:
where cx represents the plurality of coefficients, L(z, c) represents the Lagrangian function, and z represents noisy observations.
In an aspect, the covariance of the plurality of coefficients is expressed as:
where Σc represents the covariance of the plurality of coefficients, B represents a matrix formed by stacking basis vectors at each point so that B satisfies B=(b1 b2 . . . ), W is a diagonal matrix of a positive weighting function wi, and Σz represents a covariance for noisy observations.
In another aspect, the lateral error variance at the point is determined based on:
where σx2 is the lateral error variance, Σc is the covariance for the plurality of coefficients, and J is a Jacobian matrix with respect to a vector of the plurality of coefficients (c0, c1, c2, c3) of a function r(c) that represents a radius of a surface given the vector of the plurality of coefficients (c0, c1, c2, c3).
In still another aspect, the function r(c) is expressed as:
In an aspect, for each point that is evaluated as part of the iterative process, the plurality of coefficients are solved for based on:
where xcenter represents center coordinates of the planar circle and c1, c2 represent the plurality of coefficients.
In another aspect, for each point that is evaluated as part of the iterative process, the plurality of coefficients are solved for based on:
where r represents a radius of the planar circle and c0, c3 represent the plurality of coefficients.
In still another aspect, a next point on the planar circle nearest to a given point at iteration n is determined based on:
where {tilde over (X)}n+1 represents the next point that is selected for evaluation and {tilde over (x)}n represents a given point at the iteration n.
In an aspect, a gradient constraint is enforced at the zero-level set of the implicit function.
In another aspect, the gradient constraint is expressed as a magnitude squared of a gradient of the implicit function, where the implicit function is equal to 1, and the evaluation point belongs to the zero-level set of the implicit function.
In still another aspect, the fused lane edge defines a shape of a lane located along the roadway that the autonomous vehicle travels along.
In an aspect, a lane edge fusion system for an autonomous vehicle is disclosed, and includes one or more controllers executing instructions to receive perception data and map data of a roadway the autonomous vehicle is traveling along. The one or more controllers derive a plurality of map lane edge points from the map data and a plurality of perception lane edge points from the perception data. The one or more controllers select an evaluation point based on the plurality of map lane edge points and the plurality of perception lane edge points, wherein a true position of a lane edge is represented as an implicit curve. The one or more controllers fit an implicit function for the evaluation point based on an implicit moving least squares approach, where the implicit curve is represented by a zero-level set of the implicit function and the implicit function is represented by an equation for a planar circle, and where a gradient constraint is enforced at the zero-level set of the implicit function. The one or more controllers solve for a plurality of coefficients of the implicit function, where the plurality of coefficients are a function of the evaluation point and are estimated based on a Lagrangian function including a first loss function and a second loss function. The one or more controllers estimate a covariance of the plurality of coefficients. The one or more controllers determine a point on the implicit curve that is nearest to a given point based on an iterative process. The one or more controllers determine a lateral error variance at the point based on the covariance for the plurality of coefficients. Finally, the one or more controllers build a fused lane edge by setting the point on the implicit curve as one of a plurality fused lane edge points that are fused together to create the fused lane edge, and the fused lane edge defines a shape of a lane located along the roadway that the autonomous vehicle travels along.
In another aspect, the lateral error variance at the point is determined based on:
where σx2 is the lateral error variance, Σc is the covariance for the plurality of coefficients, and J is a Jacobian matrix with respect to a vector of the plurality of coefficients (c0, c1, c2, c3) of a function r(c) that represents a radius of a surface given the vector of the plurality of coefficients (c0, c1, c2, c3).
In yet another aspect, the function r(c) is expressed as:
In an aspect, the gradient constraint is expressed as a magnitude squared of a gradient of the implicit function, wherein the implicit function is equal to 1, and the evaluation point belongs to the zero-level set of the implicit function.
In another aspect, a lane edge fusion system for an autonomous vehicle is disclosed, and comprises one or more controllers executing instructions to receive perception data and map data of a roadway the autonomous vehicle is traveling along. The one or more controllers derive a plurality of map lane edge points from the map data and a plurality of perception lane edge points from the perception data. The one or more controllers select an evaluation point based on the plurality of map lane edge points and the plurality of perception lane edge points, where a true position of a lane edge is represented as an implicit curve. The one or more controllers fit an implicit function for the evaluation point based on an implicit moving least squares approach, where the implicit curve is represented by a zero-level set of the implicit function and the implicit function is represented by an equation for a planar circle, and a gradient constraint is enforced at the zero-level set of the implicit function and is expressed as a magnitude squared of a gradient of the implicit function. The implicit function is equal to 1, and the evaluation point belongs to the zero-level set of the implicit function. The one or more controllers solve for a plurality of coefficients of the implicit function, where the plurality of coefficients are a function of the evaluation point and are estimated based on a Lagrangian function including a first loss function and a second loss function. The one or more controllers estimate a covariance of the plurality of coefficients. The one or more controllers determine a point on the implicit curve that is nearest to a given point based on an iterative process. The one or more controllers determine a lateral error variance at the point based on the covariance for the plurality of coefficients wherein the lateral error variance at the point is determined based on:
where σx2 is the lateral error variance, Σc is the covariance for the plurality of coefficients, and J is a Jacobian matrix with respect to a vector of the plurality of coefficients (c0, c1, c2, c3) of a function r(c) that represents a radius of a surface given the vector of the plurality of coefficients (c0, c1, c2, c3). The one or more controllers build a fused lane edge by setting the point on the implicit curve as one of a plurality fused lane edge points that are fused together to create the fused lane edge, and where the fused lane edge defines a shape of a lane located along the roadway that the autonomous vehicle travels along.
Further areas of applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.
Referring to
The lane edge fusion system 10 includes one or more controllers 20 in electronic communication with a plurality of sensors 22 configured to collect perception data 24 indicative of roadway the autonomous vehicle 12 is traveling along. In the non-limiting embodiment as shown in
Referring to both
The selector block 54 then selects either a map lane edge point 40 or a perception lane edge point 42 from the from the concatenation of the map lane edge points 40 and the perception lane edge points 42 as an evaluation point x. The selector block 54 then transmits the evaluation point x to the regression model block 56.
Referring to both 2, where the evaluation point x represents a map lane edge point 40, a perception lane edge point 42, or an arbitrary point that is proximate in distance to the implicit curve 80. Specifically, the implicit function ƒ(x) is fit based on an implicit moving least squares (MLS) approach that locally fits the map lane edge points 40 and the perception lane edge points 42 that surround a selected evaluation point x. The implicit curve 80 is represented as a zero-level set
of the implicit function ƒ(x). That is, the true position of the lane edge is represented as the zero-level set
of the implicit function ƒ(x). The zero-level set
of the implicit function ƒ(x) is expressed in Equation 1, and the implicit function ƒ(x) is expressed in Equation 2 as:
where b(x) is a quadratic basis vector and c(x)=cx is a vector of a plurality of coefficients. The transpose of c(x) is equal to cxT=(c0 c1 c2 c3), where c0, c1, c2, c3 represent the plurality of coefficients that are solved for based on the evaluation point x. It is to be appreciated that the plurality of coefficients cx are a function of the evaluation point x, which is a consequence of the implicit MLS approach. Therefore, the value of the plurality of coefficients c0, c1, c2, c3 change based on the specific evaluation point xi currently being evaluated.
The regression model block 56 selects the quadratic basis vector b(x) as Equation 3:
where x1 represents the first component of vector x (e.g., the x-axis value) and x2 represents the second component (e.g., the y-axis value). The quadratic basis vector b(x) is selected to result in the implicit function ƒ(x) that represents the equation for a planar circle, which may be written in the form of Equation 4 as:
where x=x1 and y=x2. It is to be appreciated that representing the implicit function by an equation for a planar circle is simple, does not require parameterization, and is relatively simple in nature to solve.
A gradient constraint is enforced at the zero-level set , which is the implicit curve 80, to avoid a trivial solution cx=0. Specifically, the gradient constraint is expressed as a magnitude squared of a gradient of the implicit function ƒ(x) that is equal to 1 where the evaluation point x belongs to the zero-level set z of the implicit function ƒ(x), and is expressed in Equation 5 as:
The magnitude squared of a gradient of the implicit function ƒ(x) is equivalent to a constraint based on the plurality of coefficients cx, which is expressed by Equation 6 as:
where U is represented by a 4×4 matrix in Equation 7 as:
The regression model block 56 then builds an error model, where the evaluation point x includes an error E′, and is expressed in Equation 8 as:
where represents the Normal distribution with zero mean and Σ represents a covariance matrix. Assuming that the magnitude of the error ∥ϵ′∥ is negligible, the error ϵ′ of the evaluation point x may be expressed in Equations 9 and 10 as:
where ϵ represents the observation error, such as the observation errors ϵi, ϵj (shown in
where σ2 is lateral error variance. The lateral error variance σ2 may be expressed in Equation 13 as:
It is to be appreciated that when the evaluation point x belongs to the zero-level set , or x ϵ
, then the gradient constraint of ∥∇ƒ (x)∥2=1 is satisfied, and the lateral error variance σ2 represents the lateral error variance that is projected perpendicular to the implicit curve 80 shown in
The solution block 58 then solves for the plurality of coefficients cx of the implicit function ƒ(x). Specifically, in one embodiment, the solution block 58 estimates a value of the plurality of coefficients cx of the implicit function ƒ(x) by solving an optimization problem that minimizes a Lagrangian function, which is expressed in Equation 14 as:
where L(cx) represents the Lagrangian function. The Lagrangian function L(cx) is expressed in Equations 15 and 16 as:
where wi=k(x, xi) is a value of a positive weighting function that is dependent on the evaluation point x, k represents a squared-exponential function, and λ is the Lagrangian multiplier. It is to be appreciated that only a subset of observations within a predetermined distance of the evaluation point x have a non-zero weight. Consequently, certain values wi of the positive weighting function and the quadratic basis vector b(xi) will not require evaluation, and the optimization problem for the plurality of coefficients cx of the implicit function ƒ(x) is solved based on Equation 17:
where v1 is an eigenvector corresponding to a smallest possible eigenvalue 11 of a 4×4 matrix, which is represented as ψ and is solved in Equation 18 as:
and ĉx is an estimated value of the plurality of coefficients cx.
The above-mentioned approach for estimating the value of the plurality of coefficients cx of the implicit function ƒ(x) by solving the optimization problem that minimizes a Lagrangian function does not account for outliers in the map lane edge points xi and the perception lane edge points xj (shown in
The Lagrangian function L(cx) including the first and second loss functions p(1)(e), p(2)(e) is solved for based on an iterative reweighted least squares approach, where the Lagrangian function L(cx) is converted into a standard weighted least squares problem including a variance that is determined based on the lateral error variance σ2 and an iterative reweighted least squares weight si, which is expressed in Equation 21 as:
where σLs,i2,(π) represents the variance of the equivalent linear least squares problem at the current iteration. The iterative reweighted least squares weight si is determined based on the magnitude of a Mahalanobis distance ∥
where n represents the current iteration number. The solution block 58 then solves for the plurality of coefficients cx of the implicit function ƒ(x) based on the iterative reweighted least squares approach until convergence, where the magnitude of the estimated value of the plurality of coefficients cx changes less than a predetermined threshold amount. The predetermined threshold amount is determined based on specific accuracy requirements of an autonomous driving system of the autonomous vehicle 12.
The covariance block 60 then estimates a covariance of the plurality of coefficients cx based on an optimization problem that minimizes a Lagrangian function, which is expressed in Equation 24 as:
where L(z, c) represents the Lagrangian function and z represents noisy observations. The covariance for the plurality of coefficients cx is solved for based on Equation 25:
where Σc is the covariance for the plurality of coefficients cx, Σz is the covariance for the noisy observations z, and the partial derivatives and evaluated at the expected values of the noisy observations z. The Lagrangian function L(z, c) is determined based on the last iteration of an iterative reweighted least squares approach, and expressed in Equation 26 as:
where Equation 26 has utilized a linearized error model to include additive pseudo observations z˜(0, Σz), W is the diagonal matrix of the positive weighting function wi, or W=diag({wi}), B represents a matrix formed by stacking basis vectors at each point so that B satisfies B=(b1 b2 . . . ), and the covariance for the noisy observations 22 is the diagonal matrix of the lateral error variance σi squared, or Σz=diag({σi2}).
The partial derivatives in Equation 25 are expressed in Equations 27, 28, and 29 as:
where ϕ represents a constant that provides conciseness to the partial derivatives and is expressed in Equation 30 as:
Accordingly, Equations 25, 27, 28, 29, and 30 are combined to create an equation that estimates the covariance Σc for the plurality of coefficients cx is expressed in Equation 31 as:
where K represents a constant that provides conciseness to the covariance Σc and is expressed in Equation 32:
where λ1 represents the Lagrangian multiplier for the smallest eigenvalue and λ1=λ. Equations 31 and 32 are combined together to create an equation that estimates the covariance Σc for the plurality of coefficients cx is expressed in Equation 33 as:
Once the covariance block 60 estimates the covariance Σc for the plurality of coefficients cx, the point block 62 then determines a point x on the implicit curve 80 defined by the zero-level set z of the implicit function ƒ(x) that is nearest to a given point {tilde over (x)}. The point x represents one of the fused lane edge points 44 (seen in
where ƒ0() represents the implicit function ƒ(x) evaluated at an initial given point
, where the initial given point
is equal to an initial point x0. It is to be appreciated that since the implicit function ƒ(x) is represented by an equation for a planar circle (Equation 4), the next given point
for which the implicit function ƒ(x) evaluated at an initial given point
is set to zero, or ƒ0(
)=0. The point x is calculated iteratively based on an iterative process by finding the local fit of the implicit curve 80 until the point x is approximately equal to the given point {tilde over (x)}, or x≈{tilde over (x)}m, where {tilde over (x)}n represents a given point % at iteration n.
A lateral error variance σx2 at the point x is determined based on the covariance Σc for the plurality of coefficients cx is expressed in Equation 35 as:
where J is the Jacobian matrix with respect to the vector of the plurality of coefficients (c0, c1, c2, c3) of a function r(c) that represents a radius of a surface given the vector of the plurality of coefficients (c0, c1, c2, c3) expressed in Equation 36 as:
For each point x that is evaluated as part of the iterative process, the plurality of coefficients c0, c1, c2, c3 that are part of the implicit function ƒ(x) are solved for as a function of the evaluation point x based on a least squares approach, where the coefficients c0, c1, c2, c3 are solved based on center coordinates xcenter and a radius r of the planar circle that represents the implicit function ƒ(x), and are expressed in Equations 37 and 38 as:
where a next point {tilde over (x)}n+1 on the planar circle representing the implicit function ƒ(x) that is nearest to {tilde over (x)}n is determined based on Equation 39 as:
where the next point {tilde over (x)}n+1 represents the next point that is selected for evaluation by the selector block 54.
The fusion block 64 receives the lateral error variance σx2 at the point x and the point x from the point block 62. The fusion block 64 builds the fused lane edge 46 (
Referring generally to the figures, the disclosed lane edge fusion system provides various technical effects and benefits. Specifically, the disclosed lane edge fusion system may build the fused lane edge without ordering, associating, or parameterizing the input points. Furthermore, the disclosed lane edge fusion system accounts for the heteroskedastic nature of the evaluation points, which include variance in the observation errors between the evaluation points. The true position of the lane edge is represented by an implicit function that is an equation for a planar circle, which is simple, does not require parameterization, and is relatively simple in nature to solve. Moreover, it is also to be appreciated that the disclosed lane edge fusion system may be used with two-dimensional data (top-down) as well as three-dimensional data (with elevation).
The controllers may refer to, or be part of an electronic circuit, a combinational logic circuit, a field programmable gate array (FPGA), a processor (shared, dedicated, or group) that executes code, or a combination of some or all of the above, such as in a system-on-chip. Additionally, the controllers may be microprocessor-based such as a computer having a at least one processor, memory (RAM and/or ROM), and associated input and output buses. The processor may operate under the control of an operating system that resides in memory. The operating system may manage computer resources so that computer program code embodied as one or more computer software applications, such as an application residing in memory, may have instructions executed by the processor. In an alternative embodiment, the processor may execute the application directly, in which case the operating system may be omitted.
The description of the present disclosure is merely exemplary in nature and variations that do not depart from the gist of the present disclosure are intended to be within the scope of the present disclosure. Such variations are not to be regarded as a departure from the spirit and scope of the present disclosure.