LANE EDGE FUSION SYSTEM FOR AN AUTONOMOUS VEHICLE

Information

  • Patent Application
  • 20240249534
  • Publication Number
    20240249534
  • Date Filed
    January 25, 2023
    2 years ago
  • Date Published
    July 25, 2024
    6 months ago
  • CPC
    • G06V20/588
    • G06V10/80
  • International Classifications
    • G06V20/56
    • G06V10/80
Abstract
A lane edge fusion system for an autonomous vehicle 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 and select an evaluation point based on the plurality of map lane edge points and the plurality of perception lane edge points. The one or more controllers fit an implicit function for the evaluation point based on an implicit moving least squares approach. The one or more controllers build a fused lane edge by setting a point on the implicit curve as one of a plurality fused lane edge points.
Description
INTRODUCTION

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.


SUMMARY

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:







f

(
x
)

=



b

(
x
)

T



c

(
x
)






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:







f

(
x
)

=



c
0

+


c
1


x

+


c
2


y

+


c
3

(


x
2

+

y
2


)


=
0





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:







ϵ





(

0
,
Σ

)






where ϵ′ represents the error, custom-character 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:







c
x

=

arg


min
c



L

(

z
,
c

)






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:







Σ
c





(

B

W


Σ
z

-
1




B
T


)


-
1



B

W


Σ
z

-
1



W




B
T

(

B

W


Σ
z

-
1




B
T


)


-
1







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:







σ
x
2

=

J


Σ
c



J
T






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:







r

(
c
)

=






c
1
2

+

c
2
2



2


c
3
2



-


c
0

/

c
3




.





In an aspect, for each point that is evaluated as part of the iterative process, the plurality of coefficients are solved for based on:







x
center

=


-

1

2


c
3







(




c
1




c
2




)

T






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:






r
=




x
center
T



x
center


-


c
0


c
3








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:








x
˜


n
+
1


=


x
center

+





x
~

n

-

x

c

e

n

t

e

r








x
~

n

-

x

c

e

n

t

e

r







r






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:







σ
x
2

=

J


Σ
c



J
T






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:







r

(
c
)

=






c
1
2

+

c
2
2



2


c
3
2



-


c
0

/

c
3




.





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:







σ
x
2

=

J






c



J
T







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.





BRIEF DESCRIPTION OF THE DRAWINGS

The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.



FIG. 1 is a schematic diagram of a vehicle including the disclosed lane edge fusion system, where the lane edge fusion system includes one or more controllers, according to an exemplary embodiment;



FIG. 2A illustrates a graph including a plurality of map lane edge points, according to an exemplary embodiment;



FIG. 2B illustrates a graph including a plurality of perception lane edge points, according to an exemplary embodiment;



FIG. 2C illustrates a graph including a plurality of lane edge points, according to an exemplary embodiment;



FIG. 3 is a block diagram of the one or more controllers shown in FIG. 1, according to an exemplary embodiment; and



FIG. 4 illustrates a plurality of evaluation points that are positioned with respect to an implicit curve, according to an exemplary embodiment.





DETAILED DESCRIPTION

The following description is merely exemplary in nature and is not intended to limit the present disclosure, application, or uses.


Referring to FIG. 1, an exemplary lane edge fusion system 10 for an autonomous vehicle 12 is illustrated. It is to be appreciated that the autonomous vehicle 12 may be any type of vehicle such as, but not limited to, a sedan, truck, sport utility vehicle, van, or motor home. The autonomous vehicle 12 may be a fully autonomous vehicle including an automated driving system (ADS) for performing all driving tasks or a semi-autonomous vehicle including an advanced driver assistance system (ADAS) for assisting a driver with steering, braking, and/or accelerating.


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 FIG. 1, the plurality of sensors 22 include one or more cameras 30, an inertial measurement unit (IMU) 32, a global positioning system (GPS) 34, radar 36, and LiDAR 38, however, is to be appreciated that additional sensors may be used as well. In addition to receiving the perception data 24 from the plurality of sensors 22, the one or more controllers 20 receives map data 26 indicative of the roadway the autonomous vehicle 12 is traveling along.


Referring to both FIGS. 1 and 2A, a plurality of map lane edge points 40 are derived from the map data 26. As seen in FIG. 2A, the plurality of map lane edge points 40 are plotted based on the global frame coordinate system. Similarly, FIG. 2B illustrates a plurality of perception lane edge points 42, which are plotted based on the ego frame coordinate system. The perception lane edge points 42 are derived from the same underlying true lane edge points as the map data 26. The one or more controllers 20 determine a plurality of fused lane edge points 44, which are illustrated in FIG. 2C, based on the plurality of map lane edge points 40 (FIG. 2A) and the plurality of perception lane edge points 42 (FIG. 2B). The fused lane edge points 44 are fused together to create a fused lane edge 46. The fused lane edge 46 is drawn as a pair of opposing lane edges 46, where a distance 48 between the fused lane edges 46 represent a confidence interval. The fused lane edge 46 is also expressed in the ego frame coordinate system and defines a shape of a lane located along the roadway that the autonomous vehicle 12 travels along. The fused lane edge 46 provides an improved estimation of an actual position of lane edges when compared to estimating the lane edges based on either the perception data 24 or the map data 26 alone.



FIG. 3 is a block diagram of the one or more controllers 20 shown in FIG. 1. The one or more controllers 20 include a transform block 50, a concatenation block 52, a selector block 54, a regression model block 56, a solution block 58, a covariance block 60, a point block 62, and a fusion block 64. The transform block 50 receives the map lane edge points 40 as input. As mentioned above, the map lane edge points 40 are expressed in the global frame coordinate system. Therefore, the transform block 50 transforms the map lane edge points 40, which are expressed in the global frame coordinate system, into the ego frame coordinate system based on a pose transform at perception time tp. The concatenation block 52 receives the transformed map lane edge points 40 and the perception lane edge points 42 as input and determines a concatenation of the map lane edge points 40 and the perception lane edge points 42. The concatenation block 52 transmits the concatenation of the map lane edge points 40 and the perception lane edge points 42 to the selector block 54.


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. FIG. 4 illustrates a plurality of evaluation points xi, xj, where the map lane edge points 40 are represented as xi and the perception lane edge points 42 are represented as xj. As seen in FIG. 4, an observation error ϵi corresponds to the evaluation point xi and an observation error ϵj corresponds to the evaluation point xi. The observation errors ϵi, ϵj are measured perpendicular with respect to a corresponding tangent T of the true position of a lane edge, where the true position of the lane edge is drawn as an implicit curve 80. It is to be appreciated that the evaluation points xi, xj are heteroskedastic, which means that the variance of the observation errors ϵi, ϵj vary between the evaluation points xi, xj.


Referring to both FIGS. 3 and 4, the regression model block 56 fits an implicit function ƒ(x)=0 for a given evaluation point x ϵcustom-character2, 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 custom-character of the implicit function ƒ(x). That is, the true position of the lane edge is represented as the zero-level set custom-character of the implicit function ƒ(x). The zero-level set custom-character of the implicit function ƒ(x) is expressed in Equation 1, and the implicit function ƒ(x) is expressed in Equation 2 as:









=

{



x


ϵ




2


|

f

(
x
)


=
0

}





Equation


1













f

(
x
)

=



b

(
x
)

T



c

(
x
)






Equation


2







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:










b

(
x
)

=

(



1





x
1






x
2







x
1

+

x
2





)





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:











f

(
x
)

=



c
0

+


c
1


x

+


c
2


y

+


c
3

(


x
2

+

y
2


)


=
0


,




Equation


4







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 custom-character, 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:















f

(
x
)




2

=
1




Equation


5








where






x


ϵ


,





and





=

{


x
|

f

(
x
)


=
0

}





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:











c
x
T



Uc
x


=
1




Equation


6







where U is represented by a 4×4 matrix in Equation 7 as:









U
=

(



0


0


0


0




0


1


0


0




0


0


1


0





-
4



0


0


0



)





Equation


7







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:










ϵ




𝒩

(

0
,


)





Equation


8







where custom-character 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:










f

(

x
+

ϵ



)




f

(
x
)

+




f
T




ϵ








Equation


9













f

(

x
+

ϵ



)




f

(
x
)

+
ϵ





Equation


10







where ϵ represents the observation error, such as the observation errors ϵi, ϵj (shown in FIG. 4) and is the linearized scalar error in the implicit function ƒ (x). If the observation error ϵ is negligible, then a scalar error ϵ may be represented by Equations 11 and 12 as:










𝔼
[


f

(

x
+

ϵ



)

-

f

(
x
)


]


0





Equations


11


and


12








so





ϵ


𝒩

(

0
,

σ
2


)





where σ2 is lateral error variance. The lateral error variance σ2 may be expressed in Equation 13 as:










σ
2

=




f
T







f







Equation


13







It is to be appreciated that when the evaluation point x belongs to the zero-level set custom-character, or x ϵcustom-character, 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 FIG. 4.


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:









=

arg


min

c
x



L

(

c
x

)






Equation


14







where L(cx) represents the Lagrangian function. The Lagrangian function L(cx) is expressed in Equations 15 and 16 as:










L

(

c
x

)

=




1
2





i



w
i






f

(

x
i

)




σ
i
2

2




+

λ

(

1
-


c
x
T



Uc
x



)








=




1
2





i



w
i





σ
i

-
2


[



b

(

x
i

)

T



c
x


]

2




+

λ

(

1
-


c
x
T



Uc
x



)









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:









=


v
1




v
1
T


Uv







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:









ψ
=



(

U
+

U
T


)


-
1








I




w
i



σ
i

-
2




b

(

x
i

)




b

(

x
i

)

T








Equation


18







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 FIG. 4). Therefore, in an alternative approach for estimating the value of the plurality of coefficients cx of the implicit function ƒ(x), a first set of observed map lane edge points N1 having the potential to contain outliers and a second set of observed map lane edge points N2 that only contain inliers are considered, where a set of observed map lane edge points are expressed as {xi}i=0N1+N2−1. A first loss function p(1) (e) is provided for the first set of observed map lane edge points N1 and a second loss function p(2)(e) is provided for the second set of observed map lane edge points N2. The Lagrangian function L(cx) is expressed in Equations 19 and 20 as:










L

(

c
x

)

=


1
2





i



w
i




ρ
i

(





f

(

x
i

)







i



+

λ

(

1
-


c
x
T



Uc
x



)










Equation


20








where







ρ
i

(
e
)

=

{





ρ

(
1
)


(
e
)




0

i
<

N
1








ρ

(
2
)


(
e
)





N
1


i
<

N
2










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:










σ

LS
,
i


2
,

(
n
)



=


σ
2


s
i






Equation


21







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 ∥ei∥ and a derivative of the loss function p′(|ēin−1|) is expressed in Equation 22. The Mahalanobis distance ∥ei∥ is based on the lateral error variance σi, a transform of the quadratic basis vector b(x), and the estimated value of the plurality of coefficients cx, and is expressed in Equation 23 as:










s
i

=



ρ


(




e
¯

i

n
-
1




)





e
¯

i

n
-
1









Equation


22
















e
ι

_



=




"\[LeftBracketingBar]"



b
i
T




"\[RightBracketingBar]"



σ
i






Equation


23







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:










c
x

=

arg


min
c


L

(

z
,
c

)






Equation


24







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:













c







(




2

L




c
2



)


-
1




(




2

L




z




c



)








Z





(




2

L




z




c



)

T




(




2

L




c
2



)


-
1










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:










L

(

z
,
c

)

=



1
2





(



B
T


c

-
z

)

T


W






z


-
1



(



B
T


c

-
z

)



+

λ

(

1
-


c
T


Uc


)






Equation


26







where Equation 26 has utilized a linearized error model to include additive pseudo observations z˜custom-character(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:












L



c


=




(



B
T


c

-
z

)

T



Φ
T



B
T


-

λ



c
T

(

U
+

U
T


)







Equation


27
















2

L




c
2



=


B

Φ


B
T


-

λ

(

U
+

U
T


)






Equation


28
















2

L




z




c



=


-
B


Φ





Equation


29







where ϕ represents a constant that provides conciseness to the partial derivatives and is expressed in Equation 30 as:









Φ
=



1
2




(

W






z


-
1




+
W





z


-
1





)


=

W




z


-
1








Equation


30







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:













c






K

-
1



BW






z


-
1




WB
T



K

-
1










Equation


31







where K represents a constant that provides conciseness to the covariance Σc and is expressed in Equation 32:









K
=


BW






z


-
1



B
T



-


λ
1

(

U
+

U
T


)






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:













c







(

BW






z


-
1



B
T



)


-
1



BW






z


-
1



W




B
T

(

BW






z


-
1



B
T



)


-
1










Equation


33







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 FIG. 2C) that create the fused lane edge 46. The given point {tilde over (x)} represents a starting point of an iterative process for calculating the point x. The point x is determined by finding a local fit of the implicit curve 80 by solving for Equation 34, which is expressed as:











f
0

(
)

=

b
(

T






Equation


34








where





=

x
0





where ƒ0(custom-character) represents the implicit function ƒ(x) evaluated at an initial given point custom-character, where the initial given point custom-character 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 custom-character for which the implicit function ƒ(x) evaluated at an initial given point custom-character is set to zero, or ƒ0(custom-character)=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:










σ
x
2

=

J






c



J
T







Equation


35







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:










r

(
c
)

=





c
1
2

+

c
2
2



2


c
3
2



-


c
0

/

c
3








Equation


36







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:










x
center

=


-

1

2


c
3







(


c
1




c
2


)

T






Equation


37














r
=




x
center
T



x
center


-


c
0


c
3








Equation


38







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:











x
~


n
+
1


=


x
center

+





x
~

n

-

x
center







x
~

n

-

x
center






r






Equation


39







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 (FIG. 2C) by setting the point x as one of the fused lane edge points 44. The fusion block 64 continues to add fused lane edge points 44 to the fused lane edge 46 until all the map lane edge points 40 and the perception lane edge points 42 have been considered. It is to be appreciated that in embodiments, a latency computation may be performed. Specifically, the fusion block 68 may determine a delta transform that compensates for latency based on a difference between the pose transform at the current time tn and the pose transform at the perception time tp, where the delta transform is used to propagate to the current time tn.


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.

Claims
  • 1. A lane edge fusion system for an autonomous vehicle, the lane edge fusion system comprising: one or more controllers executing instructions to: receive perception data and map data of a roadway the autonomous vehicle is traveling along;derive a plurality of map lane edge points from the map data and a plurality of perception lane edge points from the perception data;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;fit an implicit function for the evaluation point based on an implicit moving least squares approach, wherein 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;solve for a plurality of coefficients of the implicit function, wherein the plurality of coefficients are a function of the evaluation point;estimate a covariance of the plurality of coefficients;determine a point on the implicit curve that is nearest to a given point based on an iterative process;determine a lateral error variance at the point based on the covariance for the plurality of coefficients; andbuild 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.
  • 2. The lane edge fusion system of claim 1, wherein the implicit function is expressed as:
  • 3. The lane edge fusion system of claim 2, wherein the equation of the planar circle is expressed as:
  • 4. The lane edge fusion system of claim 1, wherein the evaluation point includes an error expressed as:
  • 5. The lane edge fusion system of claim 1, wherein the plurality of coefficients are estimated based on a Lagrangian function including a first loss function and a second loss function.
  • 6. The lane edge fusion system of claim 1, wherein the covariance of the plurality of coefficients is estimated based on an optimization problem that minimizes a Lagrangian function and is expressed as:
  • 7. The lane edge fusion system of claim 8, wherein the covariance of the plurality of coefficients is expressed as:
  • 8. The lane edge fusion system of claim 1, wherein the lateral error variance at the point is determined based on:
  • 9. The lane edge fusion system of claim 8, wherein the function r(c) is expressed as:
  • 10. The lane edge fusion system of claim 1, wherein for each point that is evaluated as part of the iterative process, the plurality of coefficients are solved for based on:
  • 11. The lane edge fusion system of claim 10, wherein for each point that is evaluated as part of the iterative process, the plurality of coefficients are solved for based on:
  • 12. The lane edge fusion system of claim 11, wherein a next point on the planar circle nearest to a given point at iteration n is determined based on:
  • 13. The lane edge fusion system of claim 1, wherein a gradient constraint is enforced at the zero-level set of the implicit function.
  • 14. The lane edge fusion system of claim 13, wherein 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.
  • 15. The lane edge fusion system of claim 1, wherein the fused lane edge defines a shape of a lane located along the roadway that the autonomous vehicle travels along.
  • 16. A lane edge fusion system for an autonomous vehicle, the lane edge fusion system comprising: one or more controllers executing instructions to: receive perception data and map data of a roadway the autonomous vehicle is traveling along;derive a plurality of map lane edge points from the map data and a plurality of perception lane edge points from the perception data;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;fit an implicit function for the evaluation point based on an implicit moving least squares approach, wherein 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 wherein a gradient constraint is enforced at the zero-level set of the implicit function;solve for a plurality of coefficients of the implicit function, wherein 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;estimate a covariance of the plurality of coefficients;determine a point on the implicit curve that is nearest to a given point based on an iterative process;determine a lateral error variance at the point based on the covariance for the plurality of coefficients; andbuild 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 wherein the fused lane edge defines a shape of a lane located along the roadway that the autonomous vehicle travels along.
  • 17. The lane edge fusion system of claim 16, wherein the lateral error variance at the point is determined based on:
  • 18. The lane edge fusion system of claim 17, wherein the function r(c) is expressed as:
  • 19. The lane edge fusion system of claim 16, wherein 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.
  • 20. A lane edge fusion system for an autonomous vehicle, the lane edge fusion system comprising: one or more controllers executing instructions to: receive perception data and map data of a roadway the autonomous vehicle is traveling along;derive a plurality of map lane edge points from the map data and a plurality of perception lane edge points from the perception data;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;fit an implicit function for the evaluation point based on an implicit moving least squares approach, wherein 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 wherein 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, wherein the implicit function is equal to 1, and the evaluation point belongs to the zero-level set of the implicit function;solve for a plurality of coefficients of the implicit function, wherein 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;estimate a covariance of the plurality of coefficients;determine a point on the implicit curve that is nearest to a given point based on an iterative process;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: