Method, domain controller and program product for curve detection

By determining the first and second points on the lane line based on the vehicle's position in the driver assistance system, and detecting curves in segments, the problem of curve detection error in existing systems is solved, improving detection accuracy and driving safety.

CN121361466APending Publication Date: 2026-01-20ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410963652.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-17
Publication Date
2026-01-20

AI Technical Summary

Technical Problem

Existing driver assistance systems based on curve curvature detection are prone to errors, which can cause the vehicle to be mistakenly detected as leaving the curve, potentially leading to unwanted deviation or collision accidents.

Method used

By determining the positions of the first and second points on the lane line based on the vehicle's position on the curve, and using the first and second points to perform curve detection on the vehicle, the lane line is detected in segments, thus improving detection accuracy.

Benefits of technology

It improves the accuracy of curve detection, prevents false detections, enhances driving stability and safety, and avoids deviation or collision accidents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121361466A_ABST
    Figure CN121361466A_ABST
Patent Text Reader

Abstract

The invention relates to a method for curve detection, a domain controller and a program product. The method includes determining a first position of a first point on a lane line based on a vehicle position of a vehicle at a curve. The method further includes determining a second position of a second point on the lane line based on the first position of the first point, where the second position is a first threshold from the first position in a first direction of travel of the vehicle. The method further includes performing curve detection on the vehicle based on the first position and the second position. In this way, the first position and the second position on the lane line are used for curve detection of the vehicle, the accuracy of curve detection of the vehicle can be improved, and error detection that the vehicle leaves the curve is prevented.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of assisted driving, and more specifically, to a method, domain controller and program product for curve detection. BACKGROUND

[0002] An assisted or autonomous driving system assists a user to drive a vehicle by performing part or all of the user's driving operations at the side of the vehicle. The driving assistance system can detect a trajectory of a road and take different steering wheel control strategies for a curve and a straight. For example, upon detecting that the vehicle enters a curve, the driving assistance system can control the vehicle to turn the steering wheel slowly and smoothly according to the direction of the curve. While the vehicle is in the curve, the driving assistance system can control the vehicle to keep the position of the steering wheel relatively stable and generally not to be adjusted significantly. Upon detecting that the vehicle leaves the curve, the driving assistance system can gradually straighten the steering wheel according to the trajectory of the vehicle to make the vehicle resume straight driving.

[0003] Current assisted driving systems generally determine whether the vehicle leaves a curve based on the curvature of the curve, for example, the curvature of the curve can be detected using video data captured by a camera. The video data can have errors, and thus it is proposed to include a high definition map (HD map) in the assisted driving system, which can provide more accurate curvature measurement. For example, when the video detection has errors, the HD map can correct the detected curvature. SUMMARY

[0004] Embodiments of the present disclosure propose a method, domain controller and program product for determining curve detection. In embodiments of the present disclosure, a first position of a first point on a lane line can be determined based on a vehicle position of a vehicle at a curve, a second position of a second point on the lane line can be determined based on the first position of the first point, the second position being a first threshold from the first position in a first direction in which the vehicle travels, and the vehicle can be curve detected based on the first position and the second position. In this way, the accuracy of curve detection of the vehicle can be improved, and false detection of the vehicle leaving the curve can be prevented.

[0005] In a first aspect of the present disclosure, a method for curve detection is provided. The method comprises determining a first position of a first point on a lane line based on a vehicle position of a vehicle at a curve. The method further comprises determining a second position of a second point on the lane line based on the first position of the first point, wherein the second position is a first threshold from the first position in a first direction in which the vehicle travels. The method further comprises curve detecting the vehicle based on the first position and the second position.

[0006] In a second aspect of the disclosure, a domain controller is provided. The domain controller comprises one or more processors; and a memory coupled to the at least one processor and having stored therein instructions that, when executed by the at least one processor, cause the domain controller to perform a method for curve detection, the method comprising determining a first position of a first point on a lane line based on a vehicle position of a vehicle at a curve, determining a second position of a second point on the lane line based on the first position of the first point, wherein the second position is a first threshold from the first position in a first direction of travel of the vehicle, and performing curve detection for the vehicle based on the first position and the second position.

[0007] In a third aspect of the disclosure, a computer program product is provided. The computer program product has stored thereon computer-executable instructions, wherein the computer-executable instructions are executed by a processor to implement the method provided by the first aspect of the disclosure.

[0008] It is to be understood that the description in the Summary section is not intended to identify key or essential features of embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the disclosure will be apparent from review of the description below. BRIEF DESCRIPTION OF DRAWINGS

[0009] The above and other features, aspects, and advantages of embodiments of the disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, like or similar elements are referred to by like or similar reference numbers, in which:

[0010] Figure 1 An example environment in which devices and / or methods of various embodiments of the disclosure can be implemented is shown;

[0011] Figure 2 A flowchart of a method for curve detection according to some embodiments of the disclosure is shown;

[0012] Figure 3 A schematic diagram of a process for determining a first point on a lane line according to some embodiments of the disclosure is shown;

[0013] Figure 4 A schematic diagram of a process for curve detection according to some embodiments of the disclosure is shown;

[0014] Figure 5 A flowchart of a method for curve detection according to some embodiments of the disclosure is shown;

[0015] Figure 6 A schematic diagram of another process for curve detection according to some embodiments of the disclosure is shown;

[0016] Figure 7A flowchart showing another method for curve detection according to some embodiments of the present disclosure is shown;

[0017] Figure 8 A schematic diagram showing yet another process for curve detection according to some embodiments of the present disclosure is shown;

[0018] Figure 9 A flowchart showing yet another method for curve detection according to some embodiments of the present disclosure is shown;

[0019] Figure 10 A plot of vertical distance versus time according to some embodiments of the present disclosure is shown; and

[0020] Figure 11 A schematic block diagram of a controller that can be used to implement embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0021] Embodiments of the present disclosure will be described below in greater detail with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be interpreted as being limited to the embodiments set forth herein, but rather these embodiments are provided so as to more completely and thoroughly understand the present disclosure. It is understood that the drawings and embodiments of the present disclosure are for exemplary purposes only and are not intended to limit the scope of protection of the present disclosure.

[0022] In the description of embodiments of the present disclosure, the term "includes" and its derivatives, are not intended to be limiting of the respective processes, compositions, or devices, but are intended to mean "comprising." Further, the term "based on" is intended to be broad and not limited to a direct relationship. The term "one embodiment" or "an embodiment" is not intended to refer to a single embodiment, but rather a combination of features that can be present in one or more embodiments. The terms "first," "second," and the like can refer to different or identical objects. Other definitions can be found in the description of the drawings and the detailed description.

[0023] Current assisted driving systems typically determine whether a vehicle has exited a curve based on the curvature of the curve, e.g., the curvature of the curve can be detected using video data captured by a camera or a high resolution map. When the curvature of the lane lines is irregular, e.g., the curvature of the lane lines suddenly becomes larger or smaller or the curvatures of the left and right lane lines differ greatly, or when there is an error in the detected curvature, it can result in a false detection that the vehicle has exited the curve, but in fact the vehicle is still in the curve. In this case, the assisted driving system can incorrectly straighten the steering wheel or turn the steering wheel at a large angle based on the determination that the vehicle has exited the curve, resulting in an undesirable off-tracking or collision accident.

[0024] To this end, embodiments of the present disclosure propose a scheme for curve detection. In embodiments of the present disclosure, a first position of a first point on a lane line can be determined based on a vehicle position of a vehicle at a curve, a second position of a second point on the lane line can be determined based on the first position of the first point, the second position being a first threshold away from the first position in a first direction in which the vehicle travels, and the vehicle can be curve detected based on the first position and the second position.

[0025] In this way, the vehicle can be curve detected by using the first position on the lane line and the second position away from the first position by a certain distance, and the curve can be segmented by the first position and the second position both on the curve, so that the curve detection can be more fine-grained. Related curve detection techniques are only based on the curvature of the whole lane line, and such detection is relatively coarse and prone to false detection. In contrast, embodiments of the present disclosure can significantly improve the accuracy of curve detection and prevent false detection of the vehicle leaving the curve.

[0026] Embodiments of the present disclosure will be described in detail below with further reference to the drawings, in which Figure 1 An example environment 100 in which devices and / or methods of embodiments of the present disclosure can be implemented is shown.

[0027] As Figure 1 shown, the example environment 100 includes a vehicle 102. The vehicle 102 is driven by a driver to travel on a road. The vehicle 102 includes a controller 104. The controller 104 is configured to control collection of training data. In one example, the controller 104 can be a domain controller in the vehicle. In another example, the controller 104 can be a controller separate from the domain controller in the vehicle 102. In some embodiments, the controller 102 can be implemented by any suitable computing device, including but not limited to a personal computer, a handheld or laptop device, a mobile device, a multiprocessor system, a consumer electronic product, a minicomputer, a distributed computing environment comprising any of the above systems or devices, and the like.

[0028] In Figure 1In some embodiments, the controller 104 can obtain driving data related to driving of the vehicle 102 and lane line data related to lane lines. For example, the driving data can include a current position of the vehicle, which can be obtained from a global positioning system (GPS), an inertial measurement unit (IMU), a high-definition map, a sensor fusion on board, or a cellular network positioning, etc. For example, the driving data can include a yaw angle of the vehicle, which can be obtained from an inertial measurement unit, a wheel speed sensor, an electronic stability control system (ESC) data, a steering wheel angle sensor, or a sensor, etc. For example, the lane line data can include a trajectory and a curvature of the lane line, which can be obtained from a high-definition map or video data captured by a camera. The above examples are merely used to describe the present disclosure, but not to limit the present disclosure specifically. The driving data related to driving of the vehicle can include two or more of the above data, or can further include any suitable data.

[0029] The controller 104 can determine a first position 106 of a first point on the lane line according to a current position of the vehicle 102 on the curve. It should be understood that the first position 106 is associated with the current position of the vehicle 102. In some embodiments, the first point can be an intersection of the vehicle 102 with the lane line in a lateral direction (also referred to as a second direction or y direction), which is perpendicular to a heading direction or a travel direction (also referred to as a first direction, a longitudinal direction or x direction) of the vehicle 102. For example, the first point can be an intersection of a rear axle of the vehicle 102 with the lane line.

[0030] The controller 104 can determine a second position 108 of a second point on the lane line according to the first position 106 of the first point. In some embodiments, the second position is a certain longitudinal distance, e.g., a first threshold, from the first position in the travel direction of the vehicle. In some embodiments, the first threshold can be, for example, 20 m, 50 m, or 70 m, etc. In some embodiments, the first threshold can be adjusted in real time according to the trajectory, the curvature of the lane line, or the result of the curve detection.

[0031] In some embodiments, the controller 104 can perform curve detection 110 of the vehicle 102 according to the first position 106 and the second position 108. In some embodiments, the controller 104 can perform curve detection 110 of the vehicle 102 according to an offset of a line connecting the first position 106 and the second position 108 relative to the lane line. For example, the controller 104 can determine a tangent line of the lane line at the first position 106, and calculate an angle between the line connecting the first position 106 and the second position 108 and the tangent line, thereby determining the offset.

[0032] It should be appreciated that the smaller the offset indicates that the second position 108 is more tending to be straight, i.e. that the vehicle 102 is more likely to have exited the curve at the second position. In some embodiments, an angle threshold can be determined, when the angle between the line connecting the first position 106 and the second position 108 and the tangent is less than or equal to the angle threshold, the controller 104 can determine that the vehicle 102 has exited the curve, and when the angle between the line connecting the first position 106 and the second position 108 and the tangent is greater than the angle threshold, the controller 104 can determine that the vehicle 102 has not exited the curve.

[0033] In some embodiments, the controller 104 can determine, according to the first position 106 and the second position 108, a distance (also referred to as a perpendicular distance) of the second position 108 from a tangent of the lane line at a first point at the first position 106, to conduct the curve detection 110. In some embodiments, the controller 104 can determine, according to the first position 106 and the second position 108, a distance of the first position 106 from a tangent of the lane line at a second point at the second position 108, to conduct the curve detection 110. In some embodiments, the controller 104 can process two lane lines respectively to conduct the curve detection 110 for the vehicle 102.

[0034] The above describes an example environment 100 in which embodiments of the present disclosure can be implemented. The following describes a flowchart of a method 200 for curve detection according to embodiments of the present disclosure. The method 200 can be performed at the controller 104 in the Figure 1 The above describes an example environment 100 in which embodiments of the present disclosure can be implemented. The following describes a flowchart of a method 200 for curve detection according to embodiments of the present disclosure. The method 200 can be performed at the controller 104 in the Figure 2 The above describes an example environment 100 in which embodiments of the present disclosure can be implemented. The following describes a flowchart of a method 200 for curve detection according to embodiments of the present disclosure. The method 200 can be performed at the controller 104 in the Figure 1 The above describes an example environment 100 in which embodiments of the present disclosure can be implemented. The following describes a flowchart of a method 200 for curve detection according to embodiments of the present disclosure. The method 200 can be performed at the controller 104 in the

[0035] At 202, a first position of a first point on a lane line is determined based on a vehicle position of a vehicle on a curve. For example, the controller 104 determines the vehicle position of the vehicle 102 on the curve according to the obtained driving data of the vehicle 102 and the curve fitting data, and determines the first position of the first point on the lane line according to the vehicle position. For example, the first point can be an intersection of the vehicle 102 with the lane line in a lateral direction, e.g. an intersection of a center of a rear axle of the vehicle 102 with the lane line in the lateral direction, e.g. an intersection of an extension of the rear axle with the lane line.

[0036] In some embodiments, after determining that the vehicle enters the curve, a second direction perpendicular to the first direction can be determined to intersect the lane line at the first point at the vehicle position of the vehicle, and coordinates of the intersection in a body or a flier coordinate system can be determined as the first position of the first point, to determine the first position of the first point.

[0037] At 204, a second position of a second point on the lane line is determined based on the first position of the first point, the second position being a first threshold away from the first position in a first direction in which the vehicle travels. For example, the controller 104 can determine the position of the second point on the lane line a first threshold away from the first point in a travel direction or longitudinal direction of the vehicle 102 based on the position of the first point.

[0038] In some embodiments, the first coordinate of the second point in the first direction is determined based on the first coordinate of the first point in the first direction and the first threshold, the second coordinate of the second point in the second direction is determined according to the first coordinate of the second point and the first curve associated with the lane line, and the second position of the second point is determined according to the first coordinate and the second coordinate of the second point.

[0039] At 206, a curve detection is performed on the vehicle based on the first position and the second position. For example, the controller 104 can also perform a curve detection on the vehicle 102 according to the first position 106 and the second position 108. For example, the controller 104 can determine whether the vehicle 102 has exited the curve according to the first position 106 and the second position 108. In some embodiments, the controller 104 can determine whether the vehicle 102 has exited the curve according to an offset angle of a line connecting the first position 106 and the second position 108 relative to the lane line. In some embodiments, the controller 104 can determine whether the vehicle 102 has exited the curve according to a distance (also referred to as a perpendicular distance) from the first position 106 to a tangent of the lane line at the second position 108. In some embodiments, the controller 104 can determine whether the vehicle 102 has exited the curve according to a distance from the second position 108 to a tangent of the lane line at the first position 106.

[0040] In some embodiments, when it is determined that the vehicle 102 has exited the curve, the controller 104 can cause the vehicle 102 to make a large turn or return the steering wheel to a straight driving position, and when it is determined that the vehicle 102 has not exited the curve, the controller 104 can adjust the steering wheel of the vehicle 102, for example, fine-tune, to keep the position of the steering wheel relatively stable.

[0041] By this method, the vehicle can be curve detected using a first position on the lane line and a second position at a specific distance from the first position, both of which are on the lane line. The curve can be segmented at the first position and the second position, so that the curve detection can be more accurate, the false detection of the vehicle exiting the curve can be prevented, the deviation or collision accidents caused by the false detection of the vehicle exiting the curve can be prevented, the stability of driving and the robustness of control are improved, and the driving safety and security are improved.

[0042] Figure 3A schematic diagram of a process 300 for determining a first point on a lane line according to some embodiments of the present disclosure is shown. Figure 3 As shown, vehicle 302 has entered a curve comprising left lane line 304 and right lane line 306. The curve also includes a lane centerline 308, which lies between left lane line 304 and right lane line 306 and is approximately parallel to both lane lines. Vehicle 302 has a longitudinal velocity component v in the yaw direction x. x and the lateral velocity component v in the lateral direction y y The reference point 314 of vehicle 302 can be, for example, the center of mass or the rear axle center 314. The lateral offset c0 of vehicle 302 is the distance between the reference point 314 of vehicle 302 and the intersection of lane centerline 308 and the lateral direction y. The tangent to lane centerline 308 at the intersection of the lateral offset 314 and lane centerline 308 is tangent 310. A line 312 parallel to tangent 310 is drawn at the reference point 314 of vehicle 302 to determine the yaw angle ψ, which is the angle between vehicle 302 and line 312.

[0043] In some embodiments, the trajectory of the lane lines can be fitted to the following cubic polynomial equation based on multiple discrete points on lane lines 304 and 306:

[0044]

[0045] Where c0 represents the lateral deviation and c1 represents the current yaw angle. c2 represents the lane curvature c2 = C = 1 / R, and c3 represents the rate of change of lane curvature. Figure 3 In this equation, the heading of vehicle 302 is offset towards the left lane line 304, which is the inner lane line relative to vehicle 302. Therefore, only lane line 304 needs to be fitted without fitting the right lane line 306. It should be understood that Equation 1 is provided only as an example, and any other polynomial equation can be used to fit the lane lines.

[0046] In some embodiments, upon determining that the vehicle 302 enters the curve, the intersection of the lateral direction and the inner lane line 304 is determined as a first point A at the vehicle position of the vehicle 302. In some embodiments, the coordinates of the A point in the body or Frenet coordinate system are determined as a first position A(x0, y0) of the first point for determining whether the vehicle 302 exits the curve. For example, in the body coordinate system, the A point has the same longitudinal coordinate x0 as the reference point 314 of the vehicle 302. For example, the longitudinal coordinate x0 can be brought into the curve equation fitted to the lane line 304 (as shown in Equation 1) to obtain the lateral coordinate y0 of the A point. For example, the distance of the reference point 314 of the vehicle 302 from the lane line 304 in the lateral direction (i.e., the y direction) can also be calculated, and the longitudinal coordinate y0 of the A point is obtained according to the distance. In some embodiments, the current position of the vehicle 302, i.e., the current position of the reference point 314, can be set as the origin.

[0047] In some embodiments, the coordinates of the A point can also be determined in the Frenet coordinate system. For example, if the coordinates of the vehicle 302 are (0, 0), the longitudinal coordinate of the A point is also 0, and the lateral coordinate of the A point is the distance of the lane line 304 from the vehicle 302 in the y direction. It should be understood that the body coordinate system is a Cartesian coordinate system constructed with the direction of vehicle travel as the x axis and the direction perpendicular to the travel direction as the y axis, while the Frenet coordinate system is a coordinate system with the vehicle as the origin, using the trajectory of the vehicle as the reference line, and using the tangent vector and normal vector of the reference line to establish the coordinate system. The two-dimensional motion problem of the vehicle is decoupled into two one-dimensional motion problems in the Frenet coordinate system, and the one-dimensional optimization problem is easier to solve than the two-dimensional optimization problem. Thus, the Frenet coordinate system is often used in the field of autonomous driving to model lane lines and vehicle travel trajectories. The Cartesian coordinate system and the Frenet coordinate system can be converted to each other to simplify the calculation. In the Frenet coordinate system, the coordinates of the vehicle 302 are always the origin, so the longitudinal coordinate of the A point will always be 0, and thus the determination of the position of the A point can be simplified.

[0048] Please note that the heading direction is the direction of the longitudinal velocity component v x , which is also referred to herein as the first direction or the longitudinal direction, and the lateral direction is the direction of the lateral velocity component v y , which is also referred to herein as the second direction.

[0049] Figure 4 A schematic diagram illustrating a process 400 for curve detection is shown, in accordance with some embodiments of the present disclosure. In the process 400, a vehicle 402 has entered a curve, which includes a left lane line 404 and a right lane line 406, which can have the same or different curvatures. As Figure 4As shown, upon determining that the vehicle 402 enters the curve, the intersection of the lateral direction y direction and the lane line 404 at the vehicle position of the vehicle 402 is determined as a first point A point, and the coordinates of the A point in the coordinate system are determined as a position A(xo, yo) of the A point. For example, in the body coordinate system, the first coordinate xo of the A point is equal to the first coordinate of the vehicle 402, and the second coordinate yo of the A point is the second coordinate of the vehicle 402 plus the lateral distance of the vehicle 402 from the lane line 404 in the lateral direction. For example, in the Flurer coordinate system, the coordinates of the vehicle 402 at the corresponding time are always the origin, then the first coordinate xo of the A point is always equal to 0, and the second coordinate yo of the A point is equal to the lateral distance.

[0050] In some embodiments, the lane line 404 can be fitted as a lane curve represented by a cubic polynomial equation according to Equation 1. In some embodiments, the lane line can be fitted with B-spline, cubic spline interpolation, Ransac, least squares, etc. It should be understood that these algorithms or models are only shown as examples, and the present disclosure is not limited thereto.

[0051] In some embodiments, the position of the B point can be determined according to the A point and the lane curve of the lane line 404. For example, based on the first coordinate xo of the A point in the x direction and the first threshold value Dx, the first coordinate xi of the second point B point in the x direction is determined, for example, xi = xo + Dx in the body coordinate system. For example, in the Flurer coordinate system, the first coordinate xo of the A point is 0, and the first coordinate xi of the B point is Dx. Then, the second coordinate yi of the B point in the y direction is determined according to the first coordinate xi of the B point and the lane curve of the lane line 404. For example, the first coordinate xi of the B point can be brought into the lane curve equation (e.g., represented by Equation 1) to obtain the second coordinate yi of the B point according to the lane curve. Next, the second position B(xi, yi) of the second point can be determined according to the first coordinate xi and the second coordinate yi of the B point.

[0052] In some embodiments, the tangent line 408 of the lane curve at the A point can be determined according to the lane curve of the lane line 404 and the position A(xo, yo) of the A point. For example, the tangent line 408 can be determined as Ax + By + C = 0, and the perpendicular distance of the B point B(xi, yi) from the tangent line can be calculated The vertical distance dx can then be compared with a vertical threshold (also known as a second threshold) to determine whether vehicle 402 has exited the curve. In some embodiments, if the distance dx is greater than the vertical threshold, it is determined that vehicle 402 is still within the curve and has not yet exited, and the steering wheel of vehicle 402 can be adjusted according to the curve mode, for example, by fine-tuning the steering wheel or turning it at a smaller angle. In some embodiments, if the distance dx is less than or equal to the vertical threshold, it is determined that vehicle 402 has exited the curve, and the steering wheel can be straightened or adjusted according to the straight-line mode.

[0053] refer to Figure 4 In some embodiments, the yaw direction of vehicle 402 can be determined before determining the location of point A. For example, a lane centerline parallel to lane line 404 can be determined at vehicle 402, then the tangent of the lane centerline at vehicle 402 can be determined, and the yaw angle ψ between the heading direction of vehicle 402 and the tangent can be determined, thereby determining the yaw direction of vehicle 402, as described above. Figure 3 Assuming a rightward shift of the yaw angle is positive, if the yaw angle ψ is negative, then the yaw direction of vehicle 402 is determined to be left, meaning lane line 404 is the inner lane line, and the above steps need to be performed on lane line 404. If the yaw angle ψ is positive, then the yaw direction of vehicle 402 is determined to be right, meaning lane line 406 is the inner lane line, and the above steps need to be performed on lane line 406. Figure 4 The method for curve detection is illustrated using lane line 404 as an example. It should be understood that this is only an example and does not impose any limitations. The method can also be applied to lane line 406.

[0054] The above combination Figure 4 A schematic diagram illustrating an implementation of a curve detection process 400 according to an embodiment of this disclosure is described below. Figure 5 A flowchart describing a method 500 for curve detection according to some embodiments of the present disclosure is provided. Note that method 500 may correspond to process 400, and therefore will be combined... Figure 4 describe Figure 5 .like Figure 5 As shown, method 500 can determine the second position of a second point on the lane line at 502, based on the first position of a first point on the lane line. For example, the position B(x1,y1) of the second point B in the x-direction, which is Δx away from point A, can be determined based on the position A(x0,y0) of point A on lane line 404.

[0055] At 504, a tangent of the first curve at the first point is determined according to the first curve associated with the lane line and the first position of the first point. For example, the tangent 408 of the lane curve at point A is determined according to the lane curve to which the lane line 404 is fitted and the position A(x0, y0) of point A. At 506, a distance of the second point to the tangent is determined. For example, the distance dx of point B to the tangent 408 is determined.

[0056] At 508, a curve detection is performed on the vehicle based on the distance and a second threshold. For example, the distance dx and a perpendicular threshold can be compared to determine whether the vehicle 402 is in a curve. If the distance is greater than the second threshold, at 510, it is determined that the lane is in a curve, and at 512, the steering wheel of the vehicle 402 is adjusted. For example, the steering wheel of the vehicle 402 can be fine-tuned to enable the vehicle 402 to travel stably in the curve. If the distance is less than or equal to the second threshold, at 514, it is determined that the vehicle is not in the curve, i.e., has exited the curve, and at 516, the steering wheel of the vehicle is straightened.

[0057] By the method 500, the distance of the second point on the lane line to the tangent of the lane line at the first point can be used to determine whether the vehicle has exited the curve, the corresponding segment of the lane line can be more finely curve detected, the accuracy of the curve detection can be improved, and the false detection of the vehicle exiting the curve can be prevented.

[0058] Figure 6 A schematic diagram illustrating another process 600 implemented for curve detection according to some embodiments of the present disclosure is shown. In the process 600, similar processing as the process 400 is performed on the left lane line 604, point A, and point B to obtain the distance dx1 of point B to the tangent of the lane line 604 at point A, which is not repeated here.

[0059] In the process 600, similar processing as the left lane line 604 is also performed on the right lane line 606. For example, discrete points on the lane line 606 are utilized to fit the lane line 606 as another curve equation. In some embodiments, any of the above-mentioned algorithms or models can be utilized to fit the lane line 606 as another curve equation.

[0060] In some embodiments, the position of point C, the intersection of vehicle 602 and lane line 606 in the y-direction, can be determined. For example, in the vehicle coordinate system, point C and point A may have the same longitudinal coordinate x0. In this embodiment, the lateral coordinate of point C is y2, and the position of point C is C(x0, y2). In some embodiments, the position of point D on lane line 606 at a distance of a first threshold Δx from point C in the x-direction can be determined based on the position of point C. In some embodiments, the position of point D may be determined based on the position of point B, for example, both may have the same longitudinal coordinate. In some embodiments, the longitudinal coordinate of point D can be substituted into the curve equation of lane line 606 to obtain the lateral coordinate of point D, thereby obtaining the position D(x1, y3) of point D.

[0061] In some embodiments, the tangent 610 of lane line 606 at point C can be determined based on the location of point C and the curve equation of lane line 606, and the distance dx2 from point D to the tangent 610 can be calculated. Then, the average distance between distances dx1 and dx2 can be calculated. And average distance The curve detection for vehicle 602 is compared with a vertical threshold.

[0062] The above combination Figure 6 A schematic diagram illustrating another process 600 for curve detection, as described in an embodiment of this disclosure, is provided below. Figure 7 A flowchart is provided describing another method 700 for curve detection according to some embodiments of the present disclosure. Note that method 700 may correspond to process 600, and therefore will be combined... Figure 6 describe Figure 7 .

[0063] At 702, method 700 begins. At 704, based on the vehicle's position in the curve, the first position of the first point on the first lane line of the curve is determined. For example, based on the vehicle's position 602 in the curve, the position A(x0, y0) of point A on lane line 604 is determined. At 706, based on the first position of the first point, the second position of the second point on the first lane line is determined. For example, the second point is a first threshold or longitudinal threshold distance from the first point in the vehicle's direction of travel. For example, based on the position A(x0, y0) of point A, the position B(x1, y1) of point B on lane line 604 is determined, and point B is a longitudinal threshold Δx distance from point A in the x-direction. At 708, based on the curve fitted to the first lane line and the first position of the first point, the first tangent of the curve fitted to the first lane line at the first point is determined. For example, based on the curve fitted to lane line 604 and the position A(x0, y0) of point A, tangent 608 is determined. At 710, the first distance from the second point to the first tangent is determined. For example, determine the distance dx1 from point B to the tangent line 608.

[0064] At 712, a third position of a third point on the second lane line of the curve is determined according to the vehicle position of the vehicle at the curve. For example, the position C(xo, y2) of the point C on the lane line 606 is determined according to the position of the vehicle 602. At 714, a fourth position of a fourth point on the second lane line is determined according to the third position of the third point. For example, the position of the point D on the lane line 606 is determined according to the position C(xo, y2) of the point C according to any method as described above. For example, the point D is longitudinally threshold distance Δχ away from the point C in the x direction, then the point D has the same longitudinal coordinate xl as the point B. In some embodiments, the longitudinal distance of the points C and D in the x direction can also be different from Δχ. In some embodiments, the vehicle 602 can be curve detected according to the positions of the points A, B, C, and D.

[0065] At 716, a second tangent of the curve to which the second lane line is fitted at the third point is determined according to the curve to which the second lane line is fitted and the third position of the third point. For example, the equation of the tangent 610 is determined according to the curve equation of the lane line 606 and the position of the point C. At 718, a second distance of the second point to the second tangent is determined. For example, the perpendicular distance dx2 of the point D to the tangent 610 is determined.

[0066] At 720, an average distance of the first distance and the second distance is calculated. For example, the average distance of the distance dxl and the distance dx2 is calculated At 722, the vehicle is curve detected based on the average distance and a second threshold. For example, the average distance is compared with the second threshold (or perpendicular threshold) for curve detection. For example, the average distance is compared with the second threshold to determine whether the vehicle is still within the curve without leaving the curve. If the average distance is greater than the second threshold, at 724, it is determined that the vehicle is within the curve, and at 726, the steering wheel of the vehicle is adjusted. For example, the steering wheel can be fine-tuned or turned at a smaller angle. If the average distance is less than or equal to the second threshold, at 728, it is determined that the vehicle is not within the curve, and at 730, the steering wheel of the vehicle is straightened.

[0067] Through the method 700, curve detection can be performed according to both the left and right lane lines of the curve, and fine curve detection can be performed according to the two lane lines even if the two lane lines have different radii, thereby further improving the accuracy of curve detection and preventing false detection.

[0068] Figure 8 A schematic diagram illustrating another process 800 for curve detection is shown, which describes an embodiment of the present disclosure. Figure 9A flowchart illustrating yet another method 900 for curve detection according to some embodiments of the present disclosure is shown. Note that the method 900 corresponds to the process 800, and thus will be described together below Figure 8 and Figure 9 .

[0069] The method 900 starts at 902. At 904, after the vehicle enters a curve, a longitudinal threshold in a longitudinal direction is set from a first point to a second point on a lane line. As Figure 8 shown, after the vehicle 802 enters a curve, a longitudinal threshold Δx is set from point A to point B of the lane line 804. In some embodiments, point A is a point on the lane line 804 corresponding to the current position of the vehicle 802, e.g., the intersection of a line passing through the rear axle center of the vehicle in the lateral direction y direction and the lane line 804. In some embodiments, the longitudinal threshold is a threshold distance in the longitudinal direction x direction between point A and point B.

[0070] At 906, a second position of the second point is determined according to the lane line and the first coordinates of the first point. For example, in Figure 8 , the position of point A is A(x0, y0), where x0 is a longitudinal coordinate in the x direction and y0 is a lateral coordinate in the y direction, then the longitudinal coordinate x1 of point B is x1 = x0 + Δx. In some embodiments, the lane line 804 is fitted as a cubic polynomial equation as shown in Equation 1 using lane line feature data in the video data. For example, the longitudinal coordinate x1 of point B can be brought into the cubic polynomial equation to get the lateral coordinate y1 of point B, e.g., , thus getting the coordinates of point B B(x1, y1).

[0071] At 908, a tangent line of the lane line at the second point is determined according to the lane line and the second position of the second point. For example, in Figure 8 , the tangent line 808 of the lane line 804 at point B is determined according to the cubic polynomial equation fitted to the lane line 804 and the coordinates of point B B(x1, y1). For example, the equation of the tangent line 808 at point B can be expressed as A'x + B'y + C' = 0. At 910, a distance of the first point from the tangent line is calculated, which is also referred to as a perpendicular distance. For example, as Figure 8 shown, the perpendicular distance of point A A(x0, y0) from the tangent line 808 is calculated as At 912, the distance (e.g., distance dx') is compared with a second threshold to determine whether the vehicle 802 is in a curve.

[0072] If it is determined at 912 that dx' is less than or equal to the second threshold, then at 914, it is determined that the vehicle 802 is not in the curve, i.e., the vehicle 802 has exited the curve. Then, after a certain time, when the vehicle 802 travels to the next location, the method 900 can return to perform 914 to compare the next perpendicular distance corresponding to the next location with the second threshold to determine whether the vehicle 802 is in the curve at the next location.

[0073] If it is determined at 912 that dx' is greater than the second threshold, then at 916, the curvature of the lane line 804 is compared with a curvature threshold (also referred to as a third threshold) to determine whether the curve to which the lane line 804 is fitted is smooth enough. For example, if the lane line 804 is fitted as a cubic polynomial equation as shown in equation (1), then the rate of change of curvature is c3, which is compared with the curvature threshold.

[0074] If it is determined at 916 that the rate of change of curvature of the lane line 804 is less than or equal to the curvature threshold, then at 920, the method 900 ends. If it is determined at 916 that the rate of change of curvature of the lane line 804 is greater than the curvature threshold, then at 918, the curve fitting of the feature data of the lane line is refined to obtain another curve that is smoother than the current curve. For example, the rate of change of curvature is calculated using an iterative least square method and filtering is performed to fit the lane line 804 as a smoother curve without jumps or kinks, avoiding accidents caused by errors in fitting, thereby improving the driving experience and safety. Then at 920, the method 900 ends.

[0075] It should be understood that the example process 800 for curve detection of the vehicle 802 is shown in Figure 8 with the lane line 804 as an example, the lane line 806 can also be fitted, the A point and the B point can be found on the lane line 806, and the distance of the A point from the tangent of the lane line 806 at the B point can be determined to perform curve detection of the vehicle 802.

[0076] Figure 10 A plot 1000 showing the relationship between the perpendicular distance and the time according to some embodiments of the present disclosure is shown. Figure 10 The horizontal axis in the plot 1000 shows the sampling time (in seconds), and the vertical axis shows the perpendicular distance (in meters), which is the distance of the second point to the tangent of the lane curve at the first point at the corresponding time. In the example of the plot 1000, the sampling time is 0 second, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 6 seconds, 7 seconds, 8 seconds, 9 seconds, and 10 seconds, and the corresponding perpendicular distance is 0 meter, 2.5 meters, 5 meters, 7.5 meters, 10 meters, 12.5 meters, 15 meters, 17.5 meters, 20 meters, 22.5 meters, and 25 meters, respectively. Figure 10 In the example of the plot 1000, the longitudinal threshold (also referred to as a first threshold) in the longitudinal direction between the second point and the first point is, for example, 70 meters, and the vertical threshold (also referred to as a second threshold) for comparison with the perpendicular distance of the second point to the tangent is, for example, 2.5 meters. As shown in the plot 1000, the second point is within the vertical threshold of the first point, and the distance of the second point to the tangent of the lane curve at the first point is less than the vertical threshold. Figure 10As shown, if the vertical distance is less than or equal to the second threshold before 370 seconds, it means the vehicle has left the curve, and you can control the vehicle to straighten the steering wheel or turn the steering wheel at a larger angle. After 370 seconds, if the vertical distance is greater than the second threshold, it means the vehicle is still in the curve and has not left the curve, and you can control the vehicle to make minor adjustments to the steering wheel or turn the steering wheel at a smaller angle.

[0077] In some embodiments, such as Figure 10 As shown, the vertical distance from the second point to the tangent of the lane curve at the first point can be determined at a first time. After the first time, at predetermined intervals, the vertical distance at a corresponding time point is determined, corresponding to the distance from the second point at that time point to the tangent of the first point at that time point on the first curve. Then, the relationship between the vertical distance and time is determined, as shown in Figure 1000. In some embodiments, the first threshold can be adjusted based on the relationship between the vertical distance and time. For example, if the detected vertical distances are all below the second threshold within a predetermined time period (i.e., all points in Figure 1000 are below the horizontal line corresponding to the second threshold), the first threshold is lowered. For example, the first threshold can be lowered in a stepwise manner to detect vertical distances equal to the first threshold. If, within a predetermined time period, there are points with vertical distances above the second threshold, no adjustment of the first threshold is necessary. It should be understood that the predetermined time period can be any length, such as 700 seconds, 1000 seconds, or 1200 seconds, and can be related to the length or curvature of the lane line.

[0078] It should be understood that if the detected vertical distances are all below the second threshold, it indicates that all vehicles detected within the predetermined time period have left the curve, suggesting a possible false detection due to the first threshold being set too high. Therefore, the first threshold should be lowered, i.e., the longitudinal distance step size between the second and first points should be reduced, in order to divide the curve into smaller segments and thus perform more precise curve detection.

[0079] Figure 11 A schematic block diagram of a domain controller 1100 that can be used to implement embodiments of the present disclosure is shown. In some embodiments, the domain controller 1100 is used to implement... Figure 1 The controller 120 is shown in the example environment 100. Figure 11 As shown, the domain controller 1100 includes a processor 1102, which can perform various appropriate actions and processes based on computer program instructions loaded into random access memory (RAM) 1106 according to computer program instructions stored in read-only memory (ROM) 1104. The RAM 1106 may also store various programs and data required for the operation of the domain controller 1100. The processor 1102, ROM 1104, and RAM 1106 are interconnected via bus 1108. An input / output (I / O) interface 1110 is also connected to bus 1108.

[0080] The various processes and processes described above, such as the methods 200, 500, 700, and 900, can be performed by the processor 1102. For example, in some embodiments, the methods 200, 500, 700, and 900 can be implemented as a computer software program tangibly embodied in a machine-readable medium. In some embodiments, portions or all of the computer program can be loaded onto and / or installed on the domain controller 1100 via the ROM 1104. When the computer program is loaded onto the RAM 1106 and executed by the processor 1102, one or more acts of the methods 200, 500, 700, and 900 described above can be performed.

[0081] In some embodiments, the present disclosure also provides an electronic device. The electronic device includes at least one processor; and a memory coupled to the at least one processor and having stored thereon instructions which, when executed by the at least one processor, cause the device to perform any of the steps of the methods 200, 500, 700, and 900 described in the present disclosure.

[0082] In some embodiments, the present disclosure also provides a vehicle including any of the electronic devices described in the present disclosure.

[0083] In some embodiments, the present disclosure also provides a computer-readable storage medium. The computer-readable storage medium has stored thereon computer-executable instructions, which, when executed by a processor, implement the steps of any of the methods 200, 500, 700, and 900 described in the present disclosure.

[0084] The present disclosure can be a method, apparatus, system, and / or computer program product. The computer program product can include a computer-readable storage medium having computer-readable program instructions embodied therewith, wherein the computer-readable program instructions are executed by a processor to perform various aspects of the present disclosure.

[0085] Computer readable storage media can be tangible storage media which can retain and store instructions for use by an instruction execution device. Computer readable storage media can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer readable storage media include the following: a volatile memory, a non-volatile memory, a flash memory, a hard drive, a floppy disk, a magnetic tape, an application specific integrated circuit (ASIC), a programmable logic array (PLA), a programmable logic controller (PLC), and / or any suitable combination of the foregoing. A computer readable storage medium is not, in and of itself, a transitory signal per se. Thus, a computer readable storage medium does not include a mere transitory signal per se.

[0086] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0087] Computer readable program instructions for carrying out operations of the present disclosure can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0088] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0089] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other data storage device. When the computer readable program instructions are loaded into the computer and other programmable data processing apparatus, a series of operational steps are implemented that provide processes such that the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0090] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0091] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logic functions. In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and

[0092] Embodiments of the present disclosure have been described above, and the description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the disclosure. The selection of terms is intended to best describe the principles of the embodiments, practical application, or technical improvements over the technology found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for curve detection, comprising: determining, based on a vehicle position of a vehicle at a curve, a first position of a first point on a lane line; determining, based on the first position of the first point, a second position of a second point on the lane line, the second position being a first threshold away from the first position in a first direction in which the vehicle travels; and based on the first position and the second position, performing the curve detection for the vehicle.

2. The method of claim 1, wherein performing the curve detection for the vehicle comprises: determining, according to a first curve associated with the lane line and the first position of the first point, a tangent line of the first curve at the first point; determining a distance of the second point to the tangent line; and based on the distance and a second threshold, performing the curve detection for the vehicle.

3. The method of claim 2, wherein performing the curve detection for the vehicle further comprises: in response to the distance being greater than the second threshold, determining that the vehicle is within the curve; or in response to the distance being less than or equal to the second threshold, determining that the vehicle is not within the curve.

4. The method of claim 2, wherein the distance corresponds to a distance determined at a first time, wherein at the first time the vehicle is at a vehicle position, and the method further comprises: at each interval of a predetermined interval after the first time, determining a perpendicular distance at a respective time, the perpendicular distance corresponding to a distance of a second point at the respective time to a respective tangent line of the first curve at a first point of the first curve at the respective time; determining a relationship of the perpendicular distance to time; and based on the relationship, adjusting the first threshold.

5. The method of claim 2, further comprising: in response to the distance being greater than the second threshold, comparing a curve change rate associated with the first curve to a third threshold; and in response to the curve change rate being greater than the third threshold, obtaining a second curve that is smoother than the first curve.

6. The method of claim 1, further comprising, after determining that the vehicle enters the curve, determining the first position of the first point by: at the vehicle position of the vehicle, determining an intersection of a second direction perpendicular to the first direction and the lane line as the first point; and determining coordinates of the intersection in a body or froude coordinate system as the first position of the first point.

7. The method of claim 6, wherein determining the second position of the second point comprises: based on a first coordinate of the first point in the first direction and the first threshold, determining a first coordinate of the second point in the first direction; determining, according to the first coordinate of the second point and a first curve associated with the lane line, a second coordinate of the second point in the second direction; and determining the second position of the second point according to the first coordinate and the second coordinate of the second point. ​ ​ ​ ​ ​ ​ 8. The method of claim 1, wherein the lane line is a first lane line of the curve, wherein performing the curve detection for the vehicle comprises: determining, based on the vehicle position of the vehicle at the curve, a third position of a third point on a second lane line of the curve; determining, based on the third position of the third point, a fourth position of a fourth point on the lane line, the fourth position being the first threshold value from the third position; and performing the curve detection for the vehicle based on the first position, the second position, the third position, and the fourth position.

9. The method of claim 8, wherein performing the curve detection for the vehicle comprises: determining, from a first curve associated with the first lane line and the first position of the first point, a first tangent of the first curve at the first point; determining, from a second curve associated with the second lane line and the third position of the third point, a second tangent of the second curve at the third point; determining a first distance of the second point to the first tangent; determining a second distance of the fourth point to the second tangent; determining an average distance of the first distance and the second distance; and performing the curve detection for the vehicle based on the average distance and a second threshold value.

10. The method of claim 9, wherein performing the curve detection for the vehicle comprises: determining that the vehicle is within the curve in response to the average distance being greater than the second threshold value; and determining that the vehicle is not within the curve in response to the average distance being less than or equal to the second threshold value.

11. The method of claim 3 or 10, wherein performing the curve detection for the vehicle further comprises: adjusting a steering wheel of the vehicle in response to the vehicle being within the curve; and returning the steering wheel of the vehicle to a straight position in response to the vehicle not being within the curve.

12. A domain controller comprising: at least one processor; and memory coupled to the at least one processor and having stored thereon instructions that, when executed by the at least one processor, cause the domain controller to perform the method of any one of claims 1-11.

13. A computer program product having computer-executable instructions stored therein, wherein the computer-executable instructions are executed by a processor to implement the method of any one of claims 1-11. ​