Track compression method combining dynamic window and Newton-Rafoson iteration method

By combining dynamic windows and Newton Laverson iterative method, the problem that the existing technology cannot process real-time sampling data in real time is solved, real-time trajectory compression and optimization are realized, the calculation complexity is reduced and the first-order continuity of the curve is ensured.

CN119557348AActive Publication Date: 2025-03-04SUZHOU AEROSPACE INFORMATION RES INST
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411477707.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-22
Publication Date
2025-03-04
Estimated Expiration
2044-10-22

AI Technical Summary

Technical Problem

The existing trajectory compression algorithms cannot directly process real-time sampled data, making it difficult to achieve real-time trajectory fitting and compression.

Method used

Combining dynamic window and Newton Laverson iteration method, dynamic windows process sampling points in segments, use Philip J. Schneider algorithm to calculate the Bezier curve, and optimize the curve through Newton-Laverson iteration method to achieve real-time trajectory compression.

Benefits of technology

Real-time trajectory compression of real-time sampled data is realized, which reduces the computational complexity and improves compression efficiency while ensuring the first-order continuity of the curve.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557348A_ABST
    Figure CN119557348A_ABST
Patent Text Reader

Abstract

The invention discloses a trajectory compression method combining a dynamic window and a Newton-Raphson iteration method, and the method comprises the steps: setting the size of an initial dynamic window, and inputting a sampling point in each dynamic window as a whole to generate an algorithm of a Bezier curve for processing; after a new sampling point is read, a Bezier curve in the current dynamic window is calculated; whether the number of the sampling points exceeds the size of the dynamic window is judged, if the number of the sampling points is larger than or equal to the size of the dynamic window, a new dynamic window is generated, and if not, the new sampling points are processed; a new dynamic window is generated, and it is guaranteed that the starting point of the new dynamic window and the end point of the last dynamic window keep first-order continuity; and step 3, determining whether a new sampling point exists, if the new sampling point exists, turning to the step 2 to process the new sampling point, if the new sampling point does not exist, ending the calculation process of path fitting, and obtaining each section of Bezier curve equation which is a final output result. According to the method, the first-order continuity of the whole curve is ensured, and meanwhile, the calculation amount required for compressing the curve is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of geographic information, and in particular to a trajectory compression method combining a dynamic window and a Newton-Raphson iteration method. Background Art

[0002] As real-time object trajectory display scenarios are adopted by more and more applications, the data of object trajectories is increasing. Fitting and compressing object trajectories has become a necessary step before trajectory display. The algorithm proposed by Philip J. Schneider (Schneider, Philip J. "An algorithm for automatically fitting digitized curves." In Graphics gems, pp. 612-626. 1990.) has good results, but it requires the input of all position points to calculate the path, which makes it difficult to compress the trajectory of the object in real time. How to have the advantages of Philip J. Schneider's [1] method for offline data and fit and compress real-time sampling data is a problem worth considering and solving. Summary of the invention

[0003] The purpose of the present invention is to propose a trajectory compression method combining a dynamic window and a Newton-Raphson iteration method to solve the defect that the trajectory compression algorithm proposed by Philip J. Schneider cannot directly process real-time sampling data.

[0004] The technical solution to achieve the purpose of the present invention is: a trajectory compression method combining a dynamic window and a Newton-Raphson iteration method, the steps are as follows:

[0005] Step 1, set the initial dynamic window size, and treat each sampling point in the dynamic window as a whole input to generate the Bezier curve algorithm;

[0006] Step 2, after reading a new sampling point, calculate the Bezier curve in the current dynamic window;

[0007] Step 3, determine whether the number of sampling points exceeds the size of the dynamic window. If the number of sampling points is greater than or equal to the size of the dynamic window, jump to step 4 to generate a new dynamic window, otherwise jump to step 5 to process the new sampling points;

[0008] Step 4, generate a new dynamic window, ensuring that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window;

[0009] Step 5, determine whether there are new sampling points. If there are new sampling points, go to step 2 to process the new sampling points. If there are no new sampling points, end the calculation process of path fitting, and the equation of each Bezier curve obtained is the final output result.

[0010] Further, in step 1, the initial dynamic window size is set, and the sampling points in the initial dynamic window are not segmented starting from the first point. The specific method is:

[0011] The size of the initial dynamic window is set to 100, which means that no segmentation is performed from the first point until the 100th sampling point is accumulated.

[0012] Further, in step 2, after reading a new sampling point, the Bezier curve in the dynamic window is calculated. The specific method is:

[0013] If the total number of sampling points is 1 after a new sampling point is read in, a new sampling point will be read in again without generating a curve;

[0014] If the total number of sampling points is 2 after reading in a new sampling point, a straight line is directly connected between the first sampling point and the second sampling point and a new sampling point is read again;

[0015] If the total number of sampling points is greater than or equal to 3 after the new sampling points are read in, the Philip J. Schneider algorithm is used to calculate the path of the sampling points within the dynamic window.

[0016] Furthermore, the Philip J. Schneider algorithm is used to calculate the path of the sampling points in the dynamic window. The specific method is as follows:

[0017] Step 2.1: Update the unit tangent vector of the second-to-last sampling point

[0018] Use the newly read sampling point d n The position information of the second to last sampling point d n-1 With its previous point d n-2 and point d n The average of the composed vectors gives the tangent vector of the second-to-last sampling point

[0019] Normalized tangent vector get This vector is the new tangent vector of the second-to-last sampling point:

[0020]

[0021] Calculate the unit tangent vector of the newly added sampling point

[0022]

[0023] In addition, when there are only three sampling points and the current dynamic window is the first dynamic window, the third to last sampling point d n-2 The unit tangent vector of The formula is:

[0024]

[0025] Step 2.2: Parameterize the chord length to get the u corresponding to each point in the curve equation i value

[0026] Calculate the chord length between two adjacent points, and obtain the parameter value u of each sampling point in the fitting curve equation based on the chord length i , the specific steps are as follows:

[0027] Step 2.2.1: Calculate the chord length between adjacent sampling points

[0028] For the sampling point d i (x i ,y i ) and sampling point d i+1 (x i+1 ,y i+1 ), chord length L i Calculated by the following formula

[0029]

[0030] Step 2.2.2: Calculate the total chord length

[0031] Add the chord lengths between all adjacent points to get the total chord length L total :

[0032]

[0033] Step 2.2.3: Assign parameter values

[0034] For each point P i , use the following formula to calculate the corresponding parameter value u i :

[0035]

[0036] Step 2.3: Fitting Bezier curve

[0037] Calculate the four control points that minimize the error and obtain the formula of the third-order Bezier curve. The specific steps are as follows:

[0038] Step 2.3.1: Calculate the parameters of the two internal control points

[0039] Use the following formula to solve for the parameters α1 and α2 that determine the locations of the two internal control points:

[0040]

[0041]

[0042] Where C1, C2 and X are:

[0043]

[0044]

[0045]

[0046] det(*) refers to the determinant of the matrix,

[0047] Among them, X1, X2, c 1,1 , c 1,2 , c 2,1 and c 2,2 for:

[0048]

[0049]

[0050]

[0051]

[0052]

[0053]

[0054] Among them, d i represents the coordinates of the i-th sampling point (x i ,y i ), d i -(*) represents the Euclidean distance between the coordinates of the sampling point and the coordinates of the point fitted by the formula, that is, the square root of the square of the difference between the horizontal coordinates plus the square of the difference between the vertical coordinates.

[0055]

[0056]

[0057]

[0058]

[0059]

[0060]

[0061] in, is the unit tangent vector at the first sampling point on the curve, is the unit tangent vector at the last sampling point of the curve;

[0062] Step 2.3.2: Determine the locations of the four control points

[0063] The first and last control points V0 and V3 are the first and last sampling points of the path being fitted, and the positions of the two inner control points V1 and V2 are determined by the following formula:

[0064]

[0065]

[0066] in, is the unit tangent vector of the first sampling point, is the unit tangent vector of the last sampling point;

[0067] Step 2.3.3: Get the formula of the Bezier curve

[0068] Substitute the four control points into the following formula for the Bezier curve B(t):

[0069] B(t)=(1-t) 3 V0+3(1-t) 2 tV1+3(1-t)t 2 V2+t 3 V3

[0070] Among them, t is a variable between 0 and 1. When t gradually increases from 0 to 1, the calculated coordinates will gradually move from the starting point to the end point along the trajectory of the Bezier curve;

[0071] Step 2.4: Calculate the error S and determine the range of the error

[0072]

[0073] If the error S is greater than 5*e, jump to step 2.5 to divide the Bezier curve into two segments from the maximum error point; if the error S is between e and 5*e, jump to step 2.6 to optimize the parameter u i ; If the error S is less than the preset value e or the number of iterations exceeds 5, record the formula of the Bezier curve obtained in step 2.3.3 and jump to step 3;

[0074] Step 2.5: Divide the curve into two segments at the maximum error point;

[0075] Step 2.5.1: Calculate the maximum error point, and then divide the sampling point set of this round of calculation into two segments based on this point;

[0076] Step 2.5.2: Execute step 2.3 for each segment to calculate the Bezier curve of each segment;

[0077] Step 2.5.3: Record the Bezier curve formulas obtained for each segment for drawing or analysis, and jump to step 3;

[0078] Step 2.6: Use Newton-Raphson iteration to reduce the error

[0079] By adjusting the u of the Bezier curve B(t) corresponding to each sampling point i The value further reduces the error between the curve and the sampling points;

[0080] The new u generated by the Newton-Raphson iteration method i The formula for the value is as follows:

[0081]

[0082] Among them, u iold For each sampling point d i The original parameter value between 0 and 1 corresponding to the Bezier curve B(t);

[0083] B(t) is the formula of the Bezier curve obtained in step 2.3.3;

[0084] Get the u corresponding to the new sampling point i After the value is set, return to step 2.3 to generate a Bezier curve with a smaller error.

[0085] Furthermore, in step 4, a new dynamic window is generated to ensure that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window. The specific method is as follows:

[0086] 1. The number of sampling points of the dynamic window is between 20 and 200;

[0087] 2. The longer the time interval, the fewer the sampling points;

[0088] 3. The farther the distance between sampling points, the fewer the number of sampling points;

[0089] 4. The faster the sampling point speed ds / dt, the fewer sampling points;

[0090] Calculate the number of sampling points n contained in the new dynamic window. The specific formula is:

[0091]

[0092] The calculation formula of c is:

[0093]

[0094] Wherein, avg(dt) is the arithmetic mean of the time difference between all two adjacent sampling points in the last dynamic window, in minutes; avg(ds) is the arithmetic mean of the Euclidean distance between all two adjacent sampling points in the last dynamic window, in meters; avg(ds / dt) is the arithmetic mean of the average speed between all two adjacent points in the last dynamic window, in meters / minute;

[0095] Step 4.2: Ensure that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window;

[0096] Set the first point of the new dynamic window to the last point of the previous dynamic window, and set the unit tangent vector of the first point of the new dynamic window to the normalized vector of the tangent vector of the last control point of the previous window, to ensure that the curves in the two windows maintain first-order continuity at the connection point.

[0097] A trajectory compression system combining a dynamic window and a Newton-Raphson iteration method implements the trajectory compression method combining a dynamic window and a Newton-Raphson iteration method to achieve trajectory compression combining a dynamic window and a Newton-Raphson iteration method.

[0098] A computer device comprises a memory, a processor and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the trajectory compression method combining a dynamic window and a Newton-Raphson iteration method is implemented to realize the trajectory compression combining a dynamic window and a Newton-Raphson iteration method.

[0099] A computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the trajectory compression method combining a dynamic window and a Newton-Raphson iteration method is implemented to achieve trajectory compression combining a dynamic window and a Newton-Raphson iteration method.

[0100] Compared with the prior art, the present invention has the following significant advantages: 1) It removes the previous limitation that the curve can only be generated after all sampling points are input, and the sampling points can be input while the fitted compressed curve is generated. 2) The curve trajectory generated by the historical sampling points (sampling points outside the dynamic window) with a long time ago can be solidified. After the new points are input, there is no need to recalculate the trajectory of the historical sampling points. Only the paths generated by the most recent sampling points need to be updated. While ensuring the first-order continuity of the entire curve, the amount of calculation required for compressing the curve is reduced, and the idea of ​​calculation is changed from fitting all at once to considering and splicing in sections. BRIEF DESCRIPTION OF THE DRAWINGS

[0101] Figure 1 A step chart of the real-time compression curve.

[0102] Figure 2 A diagram showing the steps for calculating the Bezier curve within a dynamic window.

[0103] Figure 3 A diagram showing the steps for fitting a Bezier curve. DETAILED DESCRIPTION

[0104] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0105] Based on the trajectory compression algorithm proposed by Philip J. Schneider, the present invention introduces the concept of dynamic window, so that the continuously incoming sampling point data can be grouped and processed in segments, and the first-order continuity of the curve is maintained at the segment. The specific process is as follows:

[0106] Step 1, set the initial dynamic window size, and do not perform segmentation processing on the sampling points in the initial dynamic window starting from the first point;

[0107] The initial dynamic window size is set to 100. It means that from the first point until the 100th sampling point is accumulated, no segmentation is performed. The value of 100 is chosen to balance the amount of calculation in a single interval and the continuity of the curve: the larger the size of the dynamic window, the better the continuity and compression rate of the simulated curve, but the cost is the greater the amount of calculation required.

[0108] Step 2, after reading a new sampling point, calculate the Bezier curve in the dynamic window;

[0109] If the total number of sampling points is 1 after a new sampling point is read in, a new sampling point will be read in again without generating a curve.

[0110] If the total number of sampling points is 2 after a new sampling point is read, a straight line is directly connected between the first sampling point and the second sampling point and a new sampling point is read again.

[0111] If the total number of sampling points after reading in the new sampling points is greater than or equal to 3, the algorithm proposed by Philip J. Schneider is used to calculate the path of the sampling points within the dynamic window. The details are as follows:

[0112] Step 2.1: Update the unit tangent vector of the second-to-last sampling point

[0113] Use the newly read sampling point d n The position information of the second to last sampling point d n-1 With its previous point d n-2 and the next point d n The average of the composed vectors gives the tangent vector of the second-to-last sampling point

[0114] Normalized tangent vector get This vector is the new tangent vector of the second-to-last sampling point:

[0115]

[0116] Calculate the unit tangent vector of the newly added sampling point

[0117]

[0118] In addition, when there are only three sampling points (n=3) and the current dynamic window is the first dynamic window, the third to last sampling point (d n-2 )'s unit tangent vector The formula is:

[0119]

[0120] Step 2.2: Parameterize the chord length to get the u corresponding to each point in the curve equation i value

[0121] Calculate the chord length between two adjacent points, and obtain the parameter value u of each sampling point in the fitting curve equation based on the chord length i The specific steps are as follows:

[0122] Step 2.2.1: Calculate the chord length between adjacent sampling points

[0123] For the sampling point d i (x i ,y i) and sampling point d i+1 (x i+1 ,y i+1 ), chord length L i It can be calculated by the following formula

[0124]

[0125] Step 2.2.2: Calculate the total chord length

[0126] Add the chord lengths between all adjacent points to get the total chord length L total :

[0127]

[0128] Step 2.2.3: Assign parameter values

[0129] For each point P i , use the following formula to calculate the corresponding parameter value u i :

[0130]

[0131] This value will be used in the subsequent steps of fitting the Bezier curve.

[0132] Step 2.3: Fitting Bezier curve

[0133] This step calculates the four control points that minimize the error and obtains the formula of the third-order Bezier curve.

[0134] Step 2.3.1: Calculate the parameters of the two internal control points

[0135] Use the following formula to solve for the parameters α1 and α2 that determine the locations of the two internal control points:

[0136]

[0137]

[0138] Where C1, C2 and X are:

[0139]

[0140]

[0141]

[0142] det(*) refers to the determinant of the matrix.

[0143] Among them, X1, X2, c 1,1 , c 1,2 , c2,1 and c 2,2 for:

[0144]

[0145]

[0146]

[0147]

[0148]

[0149]

[0150] Among them, d i represents the coordinates of the i-th sampling point (x i ,y i ), d i -(*) represents the Euclidean distance between the coordinates of the sampling point and the coordinates of the point fitted by the formula, that is, the square root of the square of the difference between the horizontal coordinates plus the square of the difference between the vertical coordinates.

[0151] A and B are:

[0152]

[0153]

[0154]

[0155]

[0156]

[0157]

[0158] in, is the unit tangent vector at the first sampling point on the curve, is the unit tangent vector at the last sample point of the curve.

[0159] Step 2.3.2: Determine the locations of the four control points

[0160] The first and last control points V0 and V3 are the first and last sampling points of the path being fitted. The positions of the two inner control points V1 and V2 can be determined by the following formula:

[0161]

[0162]

[0163] in, is the unit tangent vector of the first sampling point. is the unit tangent vector of the last sample point.

[0164] Step 2.3.3: Get the formula of the Bezier curve

[0165] Substitute the four control points obtained in the previous step into the following formula for the Bezier curve B(t):

[0166] B(t)=(1-t) 3 V0+3(1-t) 2 tV1+3(1-t)t 2 V2+t 3 V3

[0167] Among them, t is a variable between 0 and 1. When t gradually increases from 0 to 1, the calculated coordinates will gradually move from the starting point to the end point along the trajectory of the Bezier curve.

[0168] Step 2.4: Calculate the error S and determine the range of the error

[0169]

[0170] If the error S is greater than 5*e, jump to step 2.5 to divide the Bezier curve into two segments from the maximum error point; if the error S is between e and 5*e, jump to step 2.6 to optimize the parameter u i ; If the error S is less than the preset value e or the number of iterations exceeds 5, record the formula of the Bezier curve obtained in step 2.3.3 and jump to step 3;

[0171] Step 2.5: Divide the curve into two segments at the maximum error point;

[0172] Step 2.5.1: Calculate the maximum error point, and then divide the sampling point set of this round of calculation into two segments based on this point;

[0173] Step 2.5.2: Execute step 2.3 for each segment to calculate the Bezier curve of each segment;

[0174] Step 2.5.3: Record the Bezier curve formulas obtained for each segment for drawing or analysis, and jump to step 3;

[0175] Step 2.6: Use Newton-Raphson iteration to reduce the error

[0176] This step is done by adjusting the u of the Bezier curve B(t) corresponding to each sampling point i The value (a value between 0 and 1) further reduces the error between the curve and the sampling points;

[0177] The new u generated by the Newton-Raphson iteration method i The formula for the value is as follows:

[0178]

[0179] Among them, u iold For each sampling point d i The original parameter value between 0 and 1 corresponding to the Bezier curve B(t);

[0180] B(t) is the formula of the Bezier curve obtained in step 2.3.3;

[0181] Get the u corresponding to the new sampling point i After the value is set, return to step 2.3 to generate a Bezier curve with a smaller error.

[0182] Step 3: Determine whether the number of sampling points exceeds the size of the dynamic window, where:

[0183] If the number of sampling points is greater than or equal to the size of the dynamic window, jump to step 4 to generate a new dynamic window, otherwise jump to step 5 to process new sampling points.

[0184] Step 4: Generate a new dynamic window, where:

[0185] Step 4.1: Calculate the size of the new dynamic window

[0186] The new dynamic window size should meet the following conditions:

[0187] 1. The number of sampling points in the dynamic window is between 20 and 200: this number range takes into account both the performance of the calculation and the accuracy of the curve at the fitting;

[0188] 2. The longer the time interval, the fewer the sampling points can be;

[0189] 3. The farther the distance between sampling points, the fewer sampling points can be;

[0190] 4. The faster the sampling point speed ds / dt, the fewer sampling points can be used.

[0191] According to the above conditions, the present invention constructs the following formula. This formula is used to calculate the number n of sampling points contained in the new dynamic window:

[0192]

[0193] The value of c is calculated by the following formula:

[0194]

[0195] Where avg() represents the arithmetic mean between two adjacent sampling points in the previous dynamic window. dt represents the time difference between two adjacent points, ds represents the arithmetic mean of the Euclidean distance between two adjacent points. ds / dt represents the distance difference between two adjacent points divided by the time difference.

[0196] avg(dt) is the arithmetic mean of the time difference between all two adjacent sampling points in the last dynamic window (unit: minute)

[0197] avg(ds) is the arithmetic average of the Euclidean distances between all adjacent sampling points in the previous dynamic window (unit: meter)

[0198] avg(ds / dt) is the arithmetic mean of the average speed between all two adjacent points in the last dynamic window (unit: meters / minute)

[0199] Step 4.2: Ensure that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window

[0200] Set the first point of the new dynamic window to the last point of the previous dynamic window, and set the unit tangent vector of the first point of the new dynamic window to the normalized tangent vector of the last control point of the previous window.

[0201] Through the above operation, it can be ensured that the curves in the two windows maintain first-order continuity at the connection point in the subsequent calculation process.

[0202] Step 5: Determine whether there is a new sampling point, where:

[0203] If there are new sampling points, go to step 2 to process the new sampling points. If there are no new sampling points, the calculation process of path fitting ends. The equation of each Bezier curve obtained in the algorithm is the final output result.

[0204] In summary, the present invention combines the trajectory compression algorithm proposed by Philip J. Schneider and the concept of dynamic window, so that the continuously incoming sampling point data can be grouped and processed in segments, and the first-order continuity of the curve is maintained at the segment. It not only realizes the characteristics of real-time trajectory calculation, but also reduces the complexity of calculation.

[0205] The advantages of the present invention are as follows:

[0206] 1. The previous limitation that the curve can only be generated after all sampling points are input has been lifted. The fitting compressed curve can be generated while the sampling points are input;

[0207] 2. The curve trajectory generated by the historical sampling points (sampling points outside the dynamic window) with a long time can be solidified. After the new input point, there is no need to recalculate the trajectory of the historical sampling points. Only the paths generated by the most recent sampling points need to be updated;

[0208] 3. While ensuring the first-order continuity of the entire curve, reduce the amount of calculation required for the compression curve. Change the calculation idea from fitting all at once to considering and splicing them in sections.

[0209] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0210] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A trajectory compression method combining dynamic window and Newton-Raphson iteration method, characterized in that: Here are the steps: Step 1, set the initial dynamic window size, and treat each sampling point in the dynamic window as a whole input to generate the Bezier curve algorithm; Step 2, after reading a new sampling point, calculate the Bezier curve in the current dynamic window; Step 3, determine whether the number of sampling points exceeds the size of the dynamic window. If the number of sampling points is greater than or equal to the size of the dynamic window, jump to step 4 to generate a new dynamic window, otherwise jump to step 5 to process the new sampling points; Step 4, generate a new dynamic window, ensuring that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window; Step 5, determine whether there are new sampling points. If there are new sampling points, go to step 2 to process the new sampling points. If there are no new sampling points, end the calculation process of path fitting, and the equation of each Bezier curve obtained is the final output result.

2. The trajectory compression method combining dynamic window and Newton-Raphson iteration method according to claim 1, characterized in that: Step 1: Set the initial dynamic window size. Starting from the first point, no segmentation is performed on the sampling points in the initial dynamic window. The specific method is: The size of the initial dynamic window is set to 100, which means that no segmentation is performed from the first point until the 100th sampling point is accumulated.

3. The trajectory compression method combining dynamic window and Newton-Raphson iteration method according to claim 1, characterized in that: Step 2: After reading a new sampling point, calculate the Bezier curve in the dynamic window. The specific method is: If the total number of sampling points is 1 after a new sampling point is read in, a new sampling point will be read in again without generating a curve; If the total number of sampling points is 2 after reading in a new sampling point, a straight line is directly connected between the first sampling point and the second sampling point and a new sampling point is read again; If the total number of sampling points is greater than or equal to 3 after the new sampling points are read in, the Philip J. Schneider algorithm is used to calculate the path of the sampling points within the dynamic window.

4. The trajectory compression method combining dynamic window and Newton-Raphson iteration method according to claim 1, characterized in that: The Philip J. Schneider algorithm is used to calculate the path of the sampling points within the dynamic window. The specific method is: Step 2.1: Update the unit tangent vector of the second-to-last sampling point Use the newly read sampling point d n The position information of the second to last sampling point d n-1 With its previous point d n-2 and point d n The average of the composed vectors gives the tangent vector of the second-to-last sampling point Normalized tangent vector get This vector is the new tangent vector of the second-to-last sampling point: Calculate the unit tangent vector of the newly added sampling point In addition, when there are only three sampling points and the current dynamic window is the first dynamic window, the third to last sampling point d n-2 The unit tangent vector of The formula is: Step 2.2: Parameterize the chord length to get the u corresponding to each point in the curve equation i value Calculate the chord length between two adjacent points, and obtain the parameter value u of each sampling point in the fitting curve equation based on the chord length i , the specific steps are as follows: Step 2.2.1: Calculate the chord length between adjacent sampling points For the sampling point d i (x i ,y i ) and sampling point d i+1 (x i+1 ,y i+1 ), chord length L i Calculated by the following formula Step 2.2.2: Calculate the total chord length Add the chord lengths between all adjacent points to get the total chord length L total : Step 2.2.3: Assign parameter values For each point P i , use the following formula to calculate the corresponding parameter value u i : Step 2.3: Fitting Bezier curve Calculate the four control points that minimize the error and obtain the formula of the third-order Bezier curve. The specific steps are as follows: Step 2.3.1: Calculate the parameters of the two internal control points Use the following formula to solve for the parameters α1 and α2 that determine the locations of the two internal control points: Where C1, C2 and X are: det(*) refers to the determinant of the matrix, Among them, X1, X2, c 1,1 , c 1,2 , c 2,1 and c 2,2 for: Among them, d i represents the coordinates of the i-th sampling point (x i ,y i ), d in X1 and X2 i -(...) represents the Euclidean distance between the coordinates of the sampling point and the coordinates of the point fitted by the formula, that is, the square root of the square of the difference between the horizontal coordinates plus the square of the difference between the vertical coordinates. in, is the unit tangent vector at the first sampling point on the curve, is the unit tangent vector at the last sampling point of the curve; Step 2.3.2: Determine the locations of the four control points The first and last control points V0 and V3 are the first and last sampling points of the path being fitted, and the positions of the two inner control points V1 and V2 are determined by the following formula: in, is the unit tangent vector of the first sampling point, is the unit tangent vector of the last sampling point; Step 2.3.3: Get the formula of the Bezier curve Substitute the four control points into the following formula for the Bezier curve B(t): B(t)=(1-t) 3 V0+3(1-t) 2 tV1+3(1-t)t 2 V2+t 3 V3 Among them, t is a variable between 0 and 1. When t gradually increases from 0 to 1, the calculated coordinates will gradually move from the starting point to the end point along the trajectory of the Bezier curve; Step 2.4: Calculate the error S and determine the range of the error If the error S is greater than 5*e, jump to step 2.5 to divide the Bezier curve into two segments from the maximum error point; if the error S is between e and 5*e, jump to step 2.6 to optimize the parameter u i ; If the error S is less than the preset value e or the number of iterations exceeds 5, record the formula of the Bezier curve obtained in step 2.3.3 and jump to step 3; Step 2.5: Divide the curve into two segments at the maximum error point; Step 2.5.1: Calculate the maximum error point, and then divide the sampling point set of this round of calculation into two segments based on this point; Step 2.5.2: Execute step 2.3 for each segment to calculate the Bezier curve of each segment; Step 2.5.3: Record the Bezier curve formulas obtained for each segment for drawing or analysis, and jump to step 3; Step 2.6: Use Newton-Raphson iteration to reduce the error By adjusting the ui value of the Bezier curve B(t) corresponding to each sampling point, the error between the curve and the sampling point is further reduced; The new u generated by the Newton-Raphson iteration method i The formula for the value is as follows: Among them, u iold The original parameter value between 0 and 1 corresponding to each sampling point di on the Bezier curve B(t); B(t) is the formula of the Bezier curve obtained in step 2.3.3; Get the u corresponding to the new sampling point i After the value is set, return to step 2.3 to generate a Bezier curve with a smaller error.

5. The trajectory compression method combining dynamic window and Newton-Raphson iteration method according to claim 1, characterized in that: Step 4: Generate a new dynamic window to ensure that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window. The specific method is:

1. The number of sampling points of the dynamic window is between 20 and 200; 2. The longer the time interval, the fewer the sampling points; 3. The farther the distance between sampling points, the fewer the number of sampling points; 4. The faster the sampling point speed ds / dt, the fewer sampling points; Calculate the number of sampling points n contained in the new dynamic window. The specific formula is: The calculation formula of c is: Wherein, avg(dt) is the arithmetic mean of the time difference between all two adjacent sampling points in the last dynamic window, in minutes; avg(ds) is the arithmetic mean of the Euclidean distance between all two adjacent sampling points in the last dynamic window, in meters; avg(ds / dt) is the arithmetic mean of the average speed between all two adjacent points in the last dynamic window, in meters / minute; Step 4.2: Ensure that the starting point of the new dynamic window maintains first-order continuity with the end point of the previous dynamic window; Set the first point of the new dynamic window to the last point of the previous dynamic window, and set the unit tangent vector of the first point of the new dynamic window to the normalized vector of the tangent vector of the last control point of the previous window, to ensure that the curves in the two windows maintain first-order continuity at the connection point.

6. A trajectory compression system combining dynamic window and Newton-Raphson iteration method, characterized in that: The trajectory compression method combining a dynamic window and a Newton-Raphson iteration method as described in any one of claims 1 to 5 is implemented to realize the trajectory compression combining a dynamic window and a Newton-Raphson iteration method.

7. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the trajectory compression method combining a dynamic window and a Newton-Raphson iteration method according to any one of claims 1 to 5 is implemented to achieve trajectory compression combining a dynamic window and a Newton-Raphson iteration method.

8. A computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the trajectory compression method combining a dynamic window and a Newton-Raphson iteration method according to any one of claims 1 to 5 is implemented to achieve trajectory compression combining a dynamic window and a Newton-Raphson iteration method.

Citation Information

Patent Citations

  • Terminal positioning track fitting method based on Bezier curve

    CN102998684A

  • Track compression method based on sliding window

    CN104598621A

  • Method and apparatus for bezier curve approximation data compression

    US20050089237A1