Lane correction method for a vehicle

By identifying control points on the lane and fitting Bézier curves when a vehicle deviates from its lane, the system predicts the vehicle's driving information, thus solving the problem of low lane correction accuracy in existing technologies and achieving a smoother correction process and a better user experience.

CN117485334BActive Publication Date: 2026-06-05BEIJING JINGWEI HIRAIN TECH CO INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING JINGWEI HIRAIN TECH CO INC
Filing Date
2023-11-22
Publication Date
2026-06-05

Smart Images

  • Figure CN117485334B_ABST
    Figure CN117485334B_ABST
Patent Text Reader

Abstract

The application discloses a lane rectification method for a driving vehicle, comprising the following steps: in the case that the vehicle deviates from the lane during driving, determining N control points on the lane based on a current position point of the vehicle, wherein N is an integer greater than or equal to 4, the N control points comprise the current position point, and the current position point is a starting point of the N control points; performing Bezier curve fitting on the N control points to obtain a rectification trajectory curve; predicting driving information of the vehicle at a next moment based on the position point of the vehicle at a current moment and the rectification trajectory curve; and rectifying the lane of the vehicle based on the driving information of the vehicle at the next moment. Through the above steps, the rectification trajectory curve is obtained by adopting the Bezier curve fitting, and the vehicle is rectified by using the rectification trajectory curve, so that the accuracy of rectifying the lane of the driving vehicle can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of intelligent driving technology, and in particular relates to a lane correction method for a driving vehicle. Background Technology

[0002] Existing lane keeping technology uses sensors to obtain information such as the vehicle's position relative to the lane center and yaw rate to directly achieve lateral control of the vehicle. This control method is simple to implement, but it is prone to causing the control parameters to be uneven, making it difficult for the steering system to execute steering actions, resulting in low accuracy of lane correction. Summary of the Invention

[0003] This application provides a lane correction method for a moving vehicle, which can improve the accuracy of lane correction for a moving vehicle.

[0004] In a first aspect, embodiments of this application provide a lane correction method for a driving vehicle, including:

[0005] If a vehicle deviates from its lane while driving, N control points are determined on the lane based on the vehicle's current position, where N is an integer greater than or equal to 4, and the N control points include the current position, which is the starting point of the N control points.

[0006] Bezier curves are fitted to the N control points to obtain the correction trajectory curves;

[0007] Based on the vehicle's current position and the correction trajectory curve, predict the vehicle's driving information at the next moment;

[0008] Based on the vehicle's driving information at the next moment, lane correction is performed on the vehicle.

[0009] Secondly, embodiments of this application provide a lane correction device for a driving vehicle, comprising:

[0010] The control point determination module is used to determine N control points on the lane based on the current position of the vehicle when the vehicle deviates from the lane during driving. N is an integer greater than or equal to 4. The N control points include the current position and the current position is the starting point of the N control points.

[0011] The curve fitting module is used to perform Bezier curve fitting on the N control points to obtain the correction trajectory curve.

[0012] The prediction module is used to predict the vehicle's driving information at the next moment based on the vehicle's current position and the correction trajectory curve;

[0013] The lane correction module is used to correct the vehicle's lane deviation based on the vehicle's driving information at the next moment.

[0014] Thirdly, embodiments of this application provide an electronic device, the device including: a processor and a memory storing computer program instructions;

[0015] When the processor executes the computer program instructions, it implements the method as described in the first aspect.

[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions that, when executed by a processor, implement the method described in the first aspect.

[0017] Fifthly, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform the method described in the first aspect.

[0018] This application provides a lane correction method and apparatus for a driving vehicle. The method includes: when a vehicle deviates from its lane during driving, determining N control points on the lane based on the vehicle's current position, where N is an integer greater than or equal to 4, the N control points include the current position, and the current position is the starting point of the N control points; performing Bézier curve fitting on the N control points to obtain a correction trajectory curve; predicting the vehicle's driving information at the next moment based on the vehicle's current position and the correction trajectory curve; and performing lane correction on the vehicle based on the driving information at the next moment. Through the above steps, using Bézier curve fitting to obtain the correction trajectory curve and using the correction trajectory curve to correct the vehicle can improve the accuracy of lane correction for driving vehicles. Simultaneously, since Bézier curve fitting is used for curve fitting, the correction trajectory curve is smoother, resulting in smoother vehicle driving during subsequent correction, which can improve user comfort during the correction process. Attached Figure Description

[0019] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a schematic flowchart of a lane correction method for a driving vehicle provided in one embodiment of this application;

[0021] Figure 2This is a schematic diagram showing the location of control points on a lane according to one embodiment of this application;

[0022] Figure 3 This is a schematic diagram of the structure of a lane correction device for a vehicle provided in one embodiment of this application;

[0023] Figure 4 This is a schematic diagram of the structure of an electronic device provided in another embodiment of this application. Detailed Implementation

[0024] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0025] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0026] To address the problems of the prior art, embodiments of this application provide a lane correction method, apparatus, electronic device, medium, and product for a driving vehicle. The lane correction method for a driving vehicle provided in this application embodiment will be described first below.

[0027] Figure 1 A schematic flowchart of a lane correction method for a driving vehicle according to an embodiment of this application is shown. Figure 1 As shown, the lane correction method for a driving vehicle provided in this application embodiment is applied to an electronic device and includes the following steps 101-104, wherein:

[0028] Step 101: When a vehicle deviates from its lane during driving, N control points are determined on the lane based on the vehicle's current position, where N is an integer greater than or equal to 4, and the N control points include the current position, which is the starting point of the N control points.

[0029] N represents the control points, which are also the N location points on the lane. For ease of calculation, N is generally taken as an even number greater than or equal to 4. The current location point is one of the N control points and is the starting point of the N control points.

[0030] For example, this application embodiment provides a method for determining whether a vehicle deviates from its lane during driving, that is, before step 101, the method further includes the following steps:

[0031] The yaw rate of the vehicle is obtained from the vehicle's yaw rate sensor;

[0032] If the yaw rate of the vehicle is greater than the angular velocity threshold, the first distance between the vehicle and the center of the lane is obtained after a preset time.

[0033] If the first distance is greater than a preset distance threshold, the vehicle is determined to have deviated from the lane, and the vehicle's lane correction function is triggered.

[0034] Step 102: Perform Bézier curve fitting on the N control points to obtain the correction trajectory curve.

[0035] Based on the value of N, a Bézier curve of the corresponding order is fitted. For example, if N is 4, a third-order Bézier curve is fitted; if N is 6, a fifth-order Bézier curve is fitted; and if N is 8, a seventh-order Bézier curve is fitted. To balance the curve fitting effect and computational complexity, N is preferably 6 in this embodiment. The correction trajectory curve obtained by curve fitting is the Bézier curve.

[0036] Step 103: Based on the vehicle's current position and the correction trajectory curve, predict the vehicle's driving information at the next moment.

[0037] After obtaining the correction trajectory curve, the vehicle can be corrected, the vehicle's position at the current moment can be obtained, and based on the position point and the correction trajectory curve, the vehicle's driving information at the next moment can be predicted. The driving information includes the distance of the vehicle from the center line of the lane, the vehicle's speed, acceleration, and jerk at the next moment.

[0038] Step 104: Based on the vehicle's driving information at the next moment, perform lane correction on the vehicle.

[0039] After obtaining driving information, such as the distance of the vehicle from the center line of the lane, the speed of the vehicle, acceleration and jerk, the vehicle can be corrected to lane based on existing technologies, such as pre-aiming algorithms, so that the distance of the vehicle from the center line of the lane is less than or equal to a preset distance threshold.

[0040] In this embodiment, when a vehicle deviates from its lane during operation, N control points are determined on the lane based on the vehicle's current position, where N is an integer greater than or equal to 4. The N control points include the current position, which is also the starting point of the N control points. A Bézier curve is fitted to the N control points to obtain a correction trajectory curve. Based on the vehicle's current position and the correction trajectory curve, the vehicle's driving information for the next moment is predicted. Based on the vehicle's driving information for the next moment, lane correction is performed on the vehicle. Through these steps, using Bézier curve fitting to obtain the correction trajectory curve and then using this curve to correct the vehicle's lane deviation improves the accuracy of lane correction. Furthermore, the use of Bézier curve fitting results in a smoother correction trajectory curve, leading to smoother vehicle movement during subsequent corrections and improved user comfort.

[0041] In one embodiment of this application, step 101, determining N control points on the lane based on the current location of the vehicle, specifically includes:

[0042] Step 1011: Obtain the lane centerline.

[0043] For example, the lane centerline can be obtained through the information acquisition module, and the equation of the lane centerline is:

[0044] y = C0 + C1*x + C2*x 2 +C3*x 3

[0045] The x-axis points in the direction of the vehicle's travel, and the y-axis is perpendicular to the direction of the vehicle's travel. It is assumed that the vehicle's longitudinal speed remains constant during the correction process.

[0046] C0 is the distance between the vehicle and the center of the lane at the starting point; C1 is the vehicle yaw rate at the starting point; and C2 is the road curvature at the starting point.

[0047] Figure 2 This is a schematic diagram showing the positions of N control points in the lane, where N is 6. Figure 2 As shown, at the start of the correction, i.e., at the starting point P0,

[0048] The endpoint is the end point of the correction process, which is the target point on the lane centerline. When the correction is completed, the vehicle should be on the lane centerline, the yaw rate should be 0, and there should be no yaw rate.

[0049] Then at the end of the correction, i.e., at the end point P5,

[0050] Step 1012: Determine the positions of the N control points arranged sequentially on the lane based on the start point and end point among the N control points, wherein the longitudinal distance between the start point and the end point is determined by the correction time for correcting the vehicle.

[0051] After determining the starting and ending points, the points between them can also be determined. Specifically, the longitudinal distance between the starting and ending points is determined by the correction time for correcting the vehicle's trajectory. For example, the longitudinal distance x... end Determined based on the following expression:

[0052] x end =v*t planning_time

[0053] Where v is the vehicle speed during the correction process, and t planning_time Let be the correction time. In the above formula, it is assumed that the longitudinal speed of the vehicle remains constant during the correction process, and the longitudinal speed is the speed perpendicular to the lane line.

[0054] In one embodiment of this application, N is 6, and the coordinates of the 6 control points are as follows:

[0055] The vertical coordinate of the starting point P0 is x p0 =0, with the horizontal coordinate being y p0 =C0;

[0056] The vertical coordinate of the first control point P1 is x p1 =x1*x end The horizontal coordinate is:

[0057] y p1 =C0+C1*x p1 ;

[0058] The longitudinal coordinate of the second control point P2 is x p2 =x2*x end The horizontal coordinate is: y p2 =C0+C1*x p2 +2.5C2*x p1 2 ;

[0059] The longitudinal coordinate of the third control point P3 is x p3 =x3*x end The horizontal coordinate is y p3 =0;

[0060] The longitudinal coordinate of the fourth control point P4 is x p4 =x4*x end The horizontal coordinate is y p4 =0;

[0061] The vertical coordinate of the endpoint P5 is x p5 =x end The horizontal coordinate is y p5 =0;

[0062] Where x1, x2, x3, and x4 are all constants, 0 < x1 < x2 < x3 < x4 < 1, and x1, x2, x3, and x4 can be set according to requirements, without any restrictions here.

[0063] In one embodiment of this application, the lateral coordinates of the points on the correction trajectory curve have a first correlation with the first unknown parameter, and the longitudinal coordinates of the points on the correction trajectory curve have a second correlation with the first unknown parameter. The coordinate axis of the lateral coordinates is perpendicular to the lane, and the coordinate axis of the longitudinal coordinates is parallel to the lane.

[0064] Accordingly, step 103, based on the vehicle's current position and the correction trajectory curve, predicts the vehicle's driving information at the next moment, including steps 1031-1034:

[0065] Step 1031: Obtain the first longitudinal coordinate of the vehicle at the current moment.

[0066] The vehicle's first longitudinal coordinate at the current moment can be determined based on the vehicle's current location.

[0067] Step 1032: Based on the first longitudinal coordinate, predict the second longitudinal coordinate of the vehicle at the next moment.

[0068] For example, the second longitudinal coordinate P is determined according to the following expression. x_k+1 :

[0069] P x_k+1 =P x_k +T s *v k (1)

[0070] Among them, P x_k Let T be the first vertical coordinate. s As a preset value, v kT represents the longitudinal vehicle speed at the current moment. s Specifically, it can be the running cycle of the target program, which refers to the program corresponding to the method provided in the embodiments of this application, namely the lane correction program.

[0071] Step 1033: Calculate the target value of the first unknown parameter based on the first longitudinal coordinate and the second longitudinal coordinate.

[0072] For example, the target correlation between the horizontal and vertical coordinates of any first point on the correction trajectory curve and the first unknown parameter is represented by the following expression:

[0073] P(t)=P0(1-t) 5 +5P1(1-t) 4 t+10P2(1-t) 3 t 2 +10P3(1-t) 2 t 3 +5P4(1-t)t 4 +P5t 5 (2)

[0074] Where t is the first unknown parameter;

[0075] Given that P0, P1, P2, P3, P4, and P5 are the lateral coordinates of six control points, the target association relationship is the first association relationship, and P(t) is the lateral coordinate of the first point.

[0076] Given that P0, P1, P2, P3, P4, and P5 are the longitudinal coordinates of the six control points, the target association relationship is the second association relationship, and P(t) is the longitudinal coordinate of the first point.

[0077] At any given moment, the horizontal and vertical coordinates of the points on the correction trajectory curve are both parametric equations of t, i.e., the parametric equations shown in equation (2). To obtain the horizontal coordinates of the points on the correction trajectory curve, we need to calculate t based on the vertical coordinates and then further calculate the horizontal coordinates.

[0078] The following example illustrates how to obtain the target value of the first unknown parameter.

[0079] The process of calculating the target value of the first unknown parameter may specifically include the following steps:

[0080] Select a precision threshold, and a first value and a second value of the first unknown parameter, wherein the first value is the current time, and the second value is the sum of the current time and the interval length;

[0081] Based on the second association relationship, the third longitudinal coordinate of the point corresponding to the first value and the fourth longitudinal coordinate of the point corresponding to the second value are calculated.

[0082] If the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is less than or equal to the accuracy threshold, the value of the first unknown parameter corresponding to the target longitudinal coordinate is taken as the target value of the first unknown parameter, wherein the target longitudinal coordinate is the third longitudinal coordinate or the fourth longitudinal coordinate.

[0083] For example, select a starting value (i.e., the first value) t0 and an ending value (i.e., the second value) t1, where the initial value t0 = t1. k , t1=t k +t step Select the precision threshold ε. k It refers to the current time, t ste钓 This refers to the interval length;

[0084] The third longitudinal coordinate P is calculated using t0, t1, and equation (2). x_to and the fourth vertical coordinate P x_t1 Determine the target's longitudinal coordinate and the second longitudinal coordinate P obtained according to equation (2). x_k+1 If the distance between them is within the accuracy threshold ε, then t0 or t1 corresponding to the target's longitudinal coordinate is the target value, and the target's longitudinal coordinate is P. x_to or P x_t1 .

[0085] If the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is greater than the accuracy threshold, and if the fourth longitudinal coordinate is less than the second longitudinal coordinate, then the first value is updated to the second value, and the second value is updated to the sum of the second value and the interval length.

[0086] The step of calculating the third longitudinal coordinate of the point corresponding to the first value and the fourth longitudinal coordinate of the point corresponding to the second value based on the second association relationship is performed to obtain the target value of the first unknown parameter.

[0087] For example, determine the target's longitudinal coordinate and the second longitudinal coordinate P. x_k+1 Is the distance between them within the precision threshold ε? If not, then determine P. x_t1 Is it less than P? x_k+1 If it is less than, then t0 = t1, t1 = t1 + t step And by executing t0, t1 and equation (2), the third longitudinal coordinate P is calculated respectively. x_to and the fourth vertical coordinate P x_t1 The steps are as follows to obtain the target value.

[0088] If the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is greater than the accuracy threshold, and if the fourth longitudinal coordinate is greater than the second longitudinal coordinate, the target value of the first unknown parameter is determined by the bisection method, such that the absolute value of the difference between the second longitudinal coordinate and the fifth longitudinal coordinate is less than the accuracy threshold, wherein the fifth longitudinal coordinate is the longitudinal coordinate corresponding to the target value calculated according to the second correlation relationship.

[0089] For example, in the example above, determine P x_t1 Is it less than P? x_k+1 If it is greater than t, then use the binary search method to search for the target value t. k+1 :

[0090] Take the midpoint between t0 and t1.

[0091] via t m Calculate P x_m If P x_m and P x_k+1 If the distance between them is within the precision threshold ε, then t m Let P be the target value to be calculated; if P x_m and P x_k+1 If the distance between them is not within the error range, then determine P. x_m and P x_k+1 The size of P x_m Less than P x_k+1 Then t m Assign the value to t1, t1 = t m Otherwise, put t m Assign the value to t0, that is, t0 = t m .

[0092] The above process continues until a suitable t is found. m The final result is t k+1 =t m .

[0093] Step 1034: Based on the target value of the first unknown parameter and the first correlation, obtain the vehicle's driving information at the next moment.

[0094] After determining the target value of the first unknown parameter, i.e. the t value in equation (2), the expression of the first correlation can be determined, and the driving information of the vehicle at the next moment can be solved according to the expression.

[0095] For example, based on the obtained t k+1 Solve for the lateral velocity of the target point on the correction trajectory.

[0096]

[0097] in,

[0098] Similarly,

[0099] Based on the obtained t k+1 Solve for the lateral acceleration of the vehicle.

[0100]

[0101] in,

[0102]

[0103] Similarly,

[0104]

[0105] Based on the obtained t k+1 Solve for the lateral jerk of the vehicle.

[0106]

[0107] Where x″′ and y″′ are the third derivatives of x and y with respect to t.

[0108] The following examples illustrate the lane correction method for vehicles provided in this application.

[0109] Adding curve planning to the lane departure assist function, that is, using Bézier curve fitting to obtain the correction trajectory curve, can smooth the control parameters and make the correction process smooth, thereby improving the accuracy of correction and enhancing the user experience.

[0110] The lane correction method for a driving vehicle provided in this application includes the following steps:

[0111] Step 1: Information Acquisition and Trigger Condition Determination for Lane Keep Assist (LKA) Correction Function

[0112] 1.1 The distance between the vehicle and the lane line, the vehicle yaw rate, the road curvature and its rate of change are obtained from the information acquisition module. The yaw rate information of the vehicle is obtained from the vehicle's yaw rate sensor. The distance between the vehicle and the center of the lane line after the threshold time is calculated by combining the information with the set time threshold.

[0113] 1.2. By comparing the distance between the vehicle and the lane line after the threshold time with the set distance threshold, it is determined whether the vehicle has deviated from the lane. If so, proceed to step two, which uses a fifth-order Bézier curve to fit and obtain a smoothly changing correction trajectory curve.

[0114] Step 2: Obtain the correction trajectory curve by fitting a fifth-order Bézier curve.

[0115] 2.1, such as Figure 2 As shown, calculate the position, velocity, acceleration, and jerk information of the starting point P0 and ending point P5 of the planned trajectory.

[0116] The starting point is the vehicle body pose point at the moment the LKA function is triggered in step one.

[0117] The equation of the lane centerline can be obtained through the information acquisition module:

[0118] y = C0 + C1*x + C2*x 2 +C3*x 3

[0119] In the formula, x and y are Cartesian coordinates, the x-axis is the direction of the vehicle's travel, and y is perpendicular to the direction of the vehicle's travel. It is assumed that the longitudinal speed of the vehicle remains constant during the correction process.

[0120] At the correction point, i.e., at the starting point P0,

[0121] The endpoint is the end point of the correction process, which is the target point on the lane centerline. When LKA correction ends, the vehicle should be on the lane centerline, the vehicle yaw rate should be 0, and there should be no yaw rate.

[0122] At the end of the correction, i.e., at the end point P5,

[0123] 2.2 Calculate the longitudinal coordinates of the six control points

[0124] The longitudinal coordinate of the 0th control point (starting point, P0): x p0 =0;

[0125] The longitudinal coordinate of the first control point (P1): x p1 =x1*x end ;

[0126] The longitudinal coordinate of the second control point (P2): x p2 =x2*x end ;

[0127] The longitudinal coordinate of the third control point (P3): x p3 =x3*xend ;

[0128] The longitudinal coordinate of the 4th control point (P4): x p4 =x4*x end ;

[0129] The longitudinal coordinate of the 5th control point (P5): x p5 =x end ;

[0130] Where, x end =v*t planning_time ,v,t planning_time These represent the vehicle speed and correction time during the correction process, assuming that the vehicle's longitudinal speed remains constant during the correction process. 0 < x1 < x2 < x3 < x4 < 1. The longitudinal coordinates of control points 2 to 4 can be calibrated as needed.

[0131] 2.3 Calculate the lateral coordinates of the six control points

[0132] 2.3.1 The coordinates of any point on a quintic Bézier curve can be expressed as:

[0133] P(t)=P0(1-t) 5 +5P1(1-t) 4 t+10P2(1-t) 3 t 2 +10P3(1-t) 2 t 3

[0134] +5P4(1-t)t 4 +P5t 5

[0135] Right now:

[0136] P(t)=P point *coef(t)

[0137] P point =[P0 P1 P2 P3 P4 P5]

[0138]

[0139] The horizontal and vertical coordinates of any point on the quintic Bézier curve can be determined based on the horizontal and vertical coordinates of the six control points.

[0140] 2.3.2 Determination of the longitudinal coordinates of control points 0, 1 and 2

[0141] The longitudinal coordinates of control points 0, 1, and 2 can be obtained from the pose of the starting point:

[0142] Control point P0, with vertical coordinate x p0 =0, the horizontal coordinate is yp0=C0;

[0143] The first control point P1 has a vertical coordinate of x. p1 The horizontal coordinate is:

[0144] y p1 =C0+C1*x p1 ;

[0145] The second control point P2 has a vertical coordinate of x. p1 The horizontal coordinate is:

[0146] y p2 =C0+C1*x p2 +2.5C2*x p1 2 ;

[0147] 2.3.3 Determination of the longitudinal coordinates of control points 3, 4 and 5

[0148] The longitudinal coordinates of control points 3, 4, and 5 can be obtained based on the pose of the endpoint:

[0149] The third control point P3 has a vertical coordinate of x. p3 The horizontal coordinate is yp3 = 0;

[0150] Control point P4, with a vertical coordinate of x. p4 The horizontal coordinate is yp4 = 0;

[0151] The fifth control point P5 has a vertical coordinate of x. p5 The horizontal coordinate is yp5 = 0;

[0152] 2.4 Generate the Bézier curve, i.e. the correction trajectory curve.

[0153] By following the steps above, the coordinates of the six control points can be determined:

[0154]

[0155] 2.5 Determine the longitudinal coordinates of the points on the Bézier curve based on the trigger time of the lane keeping function, and further solve for the lateral coordinates.

[0156] At any time K+1, the horizontal and vertical coordinates of a point on the Bézier curve are parametric equations of t. Therefore, to obtain the horizontal coordinate of the planned trajectory, we need to obtain t based on its vertical coordinate, and then further calculate the horizontal coordinate.

[0157] 2.5.1 Solve for the longitudinal coordinate P of the vehicle at any time K+1 after the lane keeping function is triggered. x_k+1 .

[0158] After the lane keeping function is triggered, at time k+1, its vertical coordinate is P. x_k+1 =P x_k +T s *v k T s v k These represent the program's running cycle and the vehicle's longitudinal speed at time k, respectively.

[0159] 2.5.2, Based on the parametric equation satisfied by the longitudinal coordinate, i.e., equation (2), the bisection method is used to solve for t.

[0160] Based on t at time k k and interval length t step First determine t k+1 The interval it is located in (interval length is t) step Then use binary search to find the target t. k+1 .

[0161] Determine t k+1 Location in the interval:

[0162] a) Select a starting t value and an ending t value t0 and t1, with the initial value t0 = t1. k , t1=t k +t step Select the precision threshold ε.

[0163] b) Calculate point P using t0 and t1. x_to and P x_t1 Determine P x_to / P x_t1 and target point P x_k+1 If the distance between them is within the precision threshold ε, then t0 / t1 is the target t value to be calculated; otherwise, determine P. x_t1 Is it less than P? x_k+1 If it is less than, then t0 = t1, t1 = t1 + t step Repeat step b. If the result is greater than the given value, proceed to the next step.

[0164] Use binary search to search for target t k+1 :

[0165] c) Take the midpoint between t0 and t1

[0166] d) via t m Calculate point P x_m If P x_m and target P x_k+1 If the distance between them is within the precision threshold ε, then t m Let P be the target t value to be calculated; if P x_mand target point P x_k+1 If the distance between them is not within the error range, then determine P. x_m and target point P x_k+1 The order of P x_m At target point P x_k+1 Before that, put t m Assign the value to t1, t1 = t m Otherwise, put t m Assign the value to t0, that is, t0 = t m .

[0167] e) Repeat steps c and d until a suitable t is found. m The value, the final result is t k+1 =t m .

[0168] 2.5.3 Based on the obtained t, solve for the vehicle's lateral coordinates, lateral velocity, and lateral acceleration.

[0169] a) The t obtained in 2.5.2 k+1 Substitute into the equation in 2.4 to solve for the horizontal coordinate P. y_k+1 .

[0170] b) Based on the obtained t k+1 Solve for the lateral velocity of the target point on the correction trajectory.

[0171]

[0172] in,

[0173] Similarly,

[0174] c) Based on the obtained t k+1 Solve for the lateral acceleration of the vehicle.

[0175]

[0176] in,

[0177]

[0178] Similarly,

[0179]

[0180] d) Based on the obtained t k+1 Solve for the lateral jerk of the vehicle.

[0181]

[0182] Where x″′ and y″′ are the third derivatives of x and y with respect to t.

[0183] Step 3: Transmit the lateral position, velocity, acceleration, and jerk information at time k+1 to the vehicle's lateral control module, so that the steering system can perform the correction function.

[0184] The lane-keeping correction method provided in this application, compared with existing lane-keeping technologies, adds a planning unit for curve fitting, which not only makes the control parameters smoother and facilitates the steering system to perform steering actions, but also improves vehicle comfort and optimizes the passenger experience.

[0185] Figure 3 A structural diagram of a lane correction device for a vehicle provided in an embodiment of this application is shown. Figure 3 As shown, the lane correction device 300 for a moving vehicle includes:

[0186] The control point determination module 301 is used to determine N control points on the lane based on the current position of the vehicle when the vehicle deviates from the lane during driving. N is an integer greater than or equal to 4. The N control points include the current position and the current position is the starting point of the N control points.

[0187] The curve fitting module 302 is used to perform Bézier curve fitting on the N control points to obtain the correction trajectory curve.

[0188] The prediction module 303 is used to predict the driving information of the vehicle at the next moment based on the vehicle's current position and the correction trajectory curve.

[0189] The lane correction module 304 is used to correct the lane deviation of the vehicle based on the vehicle's driving information at the next moment.

[0190] Optionally, the driving information includes the distance of the vehicle from the center line of the lane, the speed of the vehicle, acceleration, and jerk.

[0191] Optionally, the device further includes:

[0192] The first acquisition module is used to acquire the yaw rate of the vehicle from the yaw rate sensor of the vehicle.

[0193] The second acquisition module is used to acquire, after a preset time, the first distance between the vehicle and the center of the lane when the yaw rate of the vehicle is greater than the angular velocity threshold.

[0194] The determination module is used to determine that the vehicle has deviated from the lane if the first distance is greater than a preset distance threshold.

[0195] Optionally, the control point determination module 301 includes:

[0196] The first acquisition submodule is used to acquire the lane centerline;

[0197] The determination submodule is used to determine the positions of N control points arranged sequentially on the lane based on the start point and end point among the N control points, wherein the longitudinal distance between the start point and the end point is determined by the correction time for correcting the vehicle.

[0198] Optionally, the longitudinal distance x end Determined based on the following expression:

[0199] x end =v*t planning_time

[0200] Where v is the vehicle speed during the correction process, and t planning_time The correction time is mentioned.

[0201] Optionally, N is set to 6, and the coordinates of the 6 control points are as follows:

[0202] The vertical coordinate of the starting point P0 is x p0 =0, the horizontal coordinate is yp0=C0;

[0203] The vertical coordinate of the first control point P1 is x p1 =x1*x end The horizontal coordinate is:

[0204] y p1 =C0+C1*x p1 ;

[0205] The longitudinal coordinate of the second control point P2 is x p2 =x2*x end The horizontal coordinate is: y p2 =C0+C1*x p2 +2.5C2*x p1 2 ;

[0206] The longitudinal coordinate of the third control point P3 is x p3 =x3*x end The horizontal coordinate is y p3 =0;

[0207] The longitudinal coordinate of the fourth control point P4 is x p4 =x4*x end The horizontal coordinate is y p4 =0;

[0208] The vertical coordinate of the endpoint P5 is x p5 =x end The horizontal coordinate is y p5 =0;

[0209] Where C0, C1, C2, x1, x2, x3, and x4 are all constants.

[0210] Optionally, C0 is the distance between the vehicle and the center of the lane at the starting point; C1 is the vehicle yaw rate at the starting point; and C2 is the road curvature at the starting point.

[0211] Optionally, the lateral coordinates of the points on the correction trajectory curve have a first correlation with the first unknown parameter, and the longitudinal coordinates of the points on the correction trajectory curve have a second correlation with the first unknown parameter. The coordinate axis of the lateral coordinates is perpendicular to the lane, and the coordinate axis of the longitudinal coordinates is parallel to the lane.

[0212] Optionally, the prediction module 303 includes:

[0213] The second acquisition submodule is used to acquire the first longitudinal coordinate of the vehicle at the current moment;

[0214] The prediction submodule is used to predict the second longitudinal coordinate of the vehicle at the next moment based on the first longitudinal coordinate;

[0215] The third acquisition submodule is used to calculate the target value of the first unknown parameter based on the first vertical coordinate and the second vertical coordinate;

[0216] The fourth acquisition submodule is used to obtain the vehicle's driving information at the next moment based on the target value of the first unknown parameter and the first correlation relationship.

[0217] Optionally, the prediction submodule includes:

[0218] The second vertical coordinate P is determined according to the following expression. x_k+1 :

[0219] P x_k+1 =P x_k +T s *v k

[0220] Among them, P x_k Let T be the first vertical coordinate. s As a preset value, v k The current longitudinal vehicle speed is given.

[0221] Optionally, the target correlation between the horizontal and vertical coordinates of any first point on the correction trajectory curve and the first unknown parameter is represented by the following expression:

[0222] P(t)=P0(1-t) 5 +5P1(1-t) 4 t+10P2(1-t) 3 t 2 +10P3(1-t) 2 t 3 +5P4(1-t)t 4 +P5t 5

[0223] Where t is the first unknown parameter;

[0224] Given that P0, P1, P2, P3, P4, and P5 are the lateral coordinates of six control points, the target association relationship is the first association relationship, and P(t) is the lateral coordinate of the first point.

[0225] Given that P0, P1, P2, P3, P4, and P5 are the longitudinal coordinates of the six control points, the target association relationship is the second association relationship, and P(t) is the longitudinal coordinate of the first point.

[0226] Optionally, the third acquisition submodule includes:

[0227] The selection unit is used to select a first value, a second value, and a precision threshold for the first unknown parameter, wherein the first value is the current time, and the second value is the sum of the current time and the interval length;

[0228] The first calculation unit is used to calculate the third longitudinal coordinate of the point corresponding to the first value and the fourth longitudinal coordinate of the point corresponding to the second value according to the second association relationship.

[0229] The first acquisition unit is configured to, when the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is less than or equal to the accuracy threshold, take the value of the first unknown parameter corresponding to the target longitudinal coordinate as the target value of the first unknown parameter, wherein the target longitudinal coordinate is the third longitudinal coordinate or the fourth longitudinal coordinate.

[0230] Optionally, the device further includes:

[0231] The update unit is configured to update the first value to the second value if the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is greater than the accuracy threshold, and if the fourth longitudinal coordinate is less than the second longitudinal coordinate, and update the second value to the sum of the second value and the interval length.

[0232] The second calculation unit is used to perform the steps of calculating the third longitudinal coordinate of the point corresponding to the first value and the fourth longitudinal coordinate of the point corresponding to the second value according to the second association relationship, so as to obtain the target value of the first unknown parameter.

[0233] Optionally, the device further includes:

[0234] The second acquisition unit is configured to, when the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is greater than the accuracy threshold, if the fourth longitudinal coordinate is greater than the second longitudinal coordinate, use a bisection method to determine the target value of the first unknown parameter, such that the absolute value of the difference between the second longitudinal coordinate and the fifth longitudinal coordinate is less than the accuracy threshold, wherein the fifth longitudinal coordinate is the longitudinal coordinate corresponding to the target value calculated according to the second correlation relationship.

[0235] The lane correction device 300 for a driving vehicle provided in this application embodiment can realize the various processes implemented in the aforementioned lane correction method embodiment for a driving vehicle and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0236] Figure 4 A schematic diagram of the hardware structure of the lane correction method for a driving vehicle provided in an embodiment of this application is shown.

[0237] An electronic device may include a processor 601 and a memory 602 storing computer program instructions.

[0238] Specifically, the processor 601 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0239] Memory 602 may include mass storage for data or instructions. For example, and not limitingly, memory 602 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 602 may include removable or non-removable (or fixed) media. Where appropriate, memory 602 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 602 is non-volatile solid-state memory.

[0240] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to the first aspect of this disclosure.

[0241] The processor 601 reads and executes computer program instructions stored in the memory 602 to implement any of the lane correction methods for a driving vehicle in the above embodiments.

[0242] In one example, the electronic device may also include a communication interface 603 and a bus 610. For example, Figure 4 As shown, the processor 601, memory 602, and communication interface 603 are connected through bus 610 and complete communication with each other.

[0243] The communication interface 603 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0244] Bus 610 includes hardware, software, or both, that couples components of a lane correction method for a traveling vehicle together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 610 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0245] Furthermore, in conjunction with the lane correction methods for vehicles described in the above embodiments, this application can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when executed by a processor, these computer program instructions implement any of the lane correction methods for vehicles described in the above embodiments.

[0246] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0247] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0248] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0249] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0250] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A lane correction method for a moving vehicle, characterized in that, The method includes: If a vehicle deviates from its lane while driving, N control points are determined on the lane based on the vehicle's current position, where N is an integer greater than or equal to 4, and the N control points include the current position, which is the starting point of the N control points. Bezier curves are fitted to the N control points to obtain the correction trajectory curves; Based on the vehicle's current position and the correction trajectory curve, predict the vehicle's driving information at the next moment. The driving information includes the vehicle's distance from the lane centerline, the vehicle's speed, acceleration, and jerk. Based on the vehicle's driving information at the next moment, lane correction is performed on the vehicle; The horizontal coordinates of the points on the correction trajectory curve have a first correlation with the first unknown parameter, and the vertical coordinates of the points on the correction trajectory curve have a second correlation with the first unknown parameter. The coordinate axis of the horizontal coordinate is perpendicular to the lane, and the coordinate axis of the vertical coordinate is parallel to the lane. The step of predicting the vehicle's driving information at the next moment based on the vehicle's current position and the correction trajectory curve includes: obtaining the vehicle's first longitudinal coordinate at the current moment; predicting the vehicle's second longitudinal coordinate at the next moment based on the first longitudinal coordinate; calculating the target value of the first unknown parameter based on the first longitudinal coordinate and the second longitudinal coordinate; and obtaining the vehicle's driving information at the next moment based on the target value of the first unknown parameter and the first correlation relationship. The second vertical coordinate is determined according to the following expression. : in, The first vertical coordinate is... As a preset value, The longitudinal vehicle speed at the current moment; The target correlation between the horizontal and vertical coordinates of any first point on the correction trajectory curve and the first unknown parameter is expressed by the following expression: Where t is the first unknown parameter; exist , Given the lateral coordinates of the six control points, the target association relationship is the first association relationship. Let x be the horizontal coordinate of the first point; exist , Given the longitudinal coordinates of the six control points, the target association relationship is the second association relationship. Here is the vertical coordinate of the first point.

2. The method according to claim 1, characterized in that, Before the step of determining N control points on the lane based on the vehicle's current position when the vehicle deviates from the lane during travel, the method further includes: The yaw rate of the vehicle is obtained from the vehicle's yaw rate sensor; If the yaw rate of the vehicle is greater than the angular velocity threshold, the first distance between the vehicle and the center of the lane is obtained after a preset time. If the first distance is greater than a preset distance threshold, the vehicle is determined to have deviated from the lane.

3. The method according to claim 1, characterized in that, The determination of N control points on the lane based on the vehicle's current location includes: Obtain the lane centerline; Based on the start point and end point of the N control points, the positions of the N control points arranged sequentially on the lane are determined, wherein the longitudinal distance between the start point and the end point is determined by the correction time for correcting the vehicle. The longitudinal distance Determined based on the following expression: in, The speed of the vehicle during the correction process. The correction time is mentioned.

4. The method according to claim 1, characterized in that, The step of calculating the target value of the first unknown parameter based on the first vertical coordinate and the second vertical coordinate includes: Select a first value, a second value, and a precision threshold for the first unknown parameter, wherein the first value is the current time, and the second value is the sum of the current time and the interval length; Based on the second association relationship, the third longitudinal coordinate of the point corresponding to the first value and the fourth longitudinal coordinate of the point corresponding to the second value are calculated. If the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is less than or equal to the accuracy threshold, the value of the first unknown parameter corresponding to the target longitudinal coordinate is taken as the target value of the first unknown parameter, wherein the target longitudinal coordinate is the third longitudinal coordinate or the fourth longitudinal coordinate.

5. The method according to claim 4, characterized in that, The method further includes: If the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is greater than the accuracy threshold, and if the fourth longitudinal coordinate is less than the second longitudinal coordinate, then the first value is updated to the second value, and the second value is updated to the sum of the second value and the interval length. The step of calculating the third longitudinal coordinate of the point corresponding to the first value and the fourth longitudinal coordinate of the point corresponding to the second value based on the second association relationship is performed to obtain the target value of the first unknown parameter.

6. The method according to claim 5, characterized in that, The method further includes: If the absolute value of the difference between the target longitudinal coordinate and the second longitudinal coordinate is greater than the accuracy threshold, and if the fourth longitudinal coordinate is greater than the second longitudinal coordinate, the target value of the first unknown parameter is determined by the bisection method, such that the absolute value of the difference between the second longitudinal coordinate and the fifth longitudinal coordinate is less than the accuracy threshold, wherein the fifth longitudinal coordinate is the longitudinal coordinate corresponding to the target value calculated according to the second correlation relationship.