Unsupervised speed prediction and correction of urban driving entities from noise location estimation sequences

By using heuristics and interpolation techniques to correct the vehicle speed and heading errors of autonomous vehicles, the problem of large vehicle position transformation errors in autonomous driving and UAVs is solved, achieving accurate speed and heading prediction, and is applicable to urban driving environments with various sensor types.

CN115877430BActive Publication Date: 2026-06-23GM GLOBAL TECHNOLOGY OPERATIONS LLC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2022-09-23
Publication Date
2026-06-23

Smart Images

  • Figure CN115877430B_ABST
    Figure CN115877430B_ABST
Patent Text Reader

Abstract

A method of using unsupervised speed prediction and correction for urban driving from a sequence of noise location estimates, comprising: performing vehicle speed prediction for one or more other vehicles in the vicinity of a host automotive vehicle; computing a first heuristic based on a homogeneity test; computing a second heuristic based on vehicle velocity of the one or more other vehicles; combining the first heuristic and the second heuristic using a weighted sum; applying the combined first heuristic and second heuristic and a heuristic threshold to determine an uncertainty mask; and applying the uncertainty mask to identify a speed correction for use by the host automotive vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to systems and methods for predicting and correcting the speed of automobiles. Background Technology

[0002] In fields like autonomous driving, vehicles are nonholonomic systems. Similarly, in autonomous / unmanned flight, drones and unmanned aerial vehicles (UAVs) are nonholonomic systems. Autonomous vehicles use error-prone and often difficult-to-interpret machine learning and computer vision techniques to detect and locate other vehicles. These vehicle detections are then transformed from a sensor coordinate system to the autonomous vehicle's coordinate system, and then to the global GPS coordinate system to determine the vehicles' ground positions. The final ground position of the vehicle is represented as a latitude-longitude-altitude triplet, or a geographic reference x, y, z triplet.

[0003] Each of these transformations makes the predicted vehicle position susceptible to errors caused by, but not limited to, imperfect sensor calibration, sensor movement during data acquisition, and imperfect GPS for autonomous vehicles. The set of these triples is passed through a Kalman filter to establish the vehicle's trajectory over time and reduce errors. Naive methods typically calculate heading by calculating the angle between the vehicle's position at the current time point and the previous time point. These naive methods provide heading estimates with significant errors.

[0004] Therefore, while current autonomous vehicles generate heading estimates and achieve their intended purpose, there is a need for new and improved systems and methods that use unsupervised speed prediction and correction for urban driving based on noisy position estimation sequences. Summary of the Invention

[0005] According to several aspects, a method for unsupervised speed prediction and correction for urban driving based on a noisy position estimation sequence includes: using heuristics to identify the timing of potential errors in vehicle speed and vehicle heading; and applying domain information to correct the potential errors.

[0006] In another aspect of this disclosure, the method also includes performing vehicle speed prediction on one or more other vehicles near the main vehicle.

[0007] In another aspect of this disclosure, the method further includes computational heuristics, comprising: calculating a first heuristic based on a uniformity test; and calculating a second heuristic based on vehicle speed; combining the first and second heuristics using a weighted sum; applying the combined first and second heuristics and a heuristic threshold to determine an uncertainty mask; and applying the uncertainty mask to identify speed corrections.

[0008] In another aspect of this disclosure, the method also includes replacing the values ​​of vehicle speed and vehicle heading with "non-numeric" values ​​when applying an uncertainty mask.

[0009] In another aspect of this disclosure, the method also includes filling the vehicle heading by interpolation between the nearest confidence neighbors on each side of the “non-digital” when identifying speed correction.

[0010] In another aspect of this disclosure, the method further includes filling the vehicle rate with a rate array passed through a Gaussian filter when identifying speed correction, except in the case where the vehicle rate is expected to be zero.

[0011] In another aspect of this disclosure, the method further includes: providing multiple proxy tokens for one or more other vehicles near the primary vehicle; and causing the multiple proxy tokens to individually include a timestamp, vehicle identifier (ID), “X” position of one or more other vehicles, “Y” position of one or more other vehicles, optional rate, and optional heading.

[0012] In another aspect of this disclosure, the method further includes: passing tokens of individual vehicles among other vehicles operating near the master vehicle up to the current time to the speed prediction and correction module; and operating the speed prediction and correction module to process all tokens of a vehicle ID of an individual vehicle among the other vehicles, processing one vehicle at a time, including predicting the speed of the individual vehicle among the other vehicles based on the provided tokens.

[0013] In another aspect of this disclosure, the method also includes identifying instantaneous rate and instantaneous heading based on “X” position and “Y” position and time.

[0014] In another aspect of this disclosure, the method also includes selecting the main vehicle as an autonomously operating vehicle.

[0015] According to several aspects, a method for unsupervised speed prediction and correction for urban driving based on a noise location estimation sequence includes: performing vehicle speed prediction for one or more other vehicles near the main vehicle; calculating a first heuristic based on a uniformity test; calculating a second heuristic based on the vehicle speeds of one or more other vehicles; combining the first and second heuristics using a weighted sum; applying the combined first and second heuristics and a heuristic threshold to determine an uncertainty mask; and applying the uncertainty mask to identify speed corrections for use by the main vehicle.

[0016] In another aspect of this disclosure, the method further includes: replacing the values ​​of vehicle speed and vehicle heading of one or more other vehicles with “non-numeric” when applying an uncertainty mask; and filling the vehicle heading by interpolation between the nearest confidence neighbors on each side of the “non-numeric” when identifying speed correction.

[0017] In another aspect of this disclosure, the method also includes providing multiple proxy tokens for one or more other vehicles near the primary vehicle.

[0018] In another aspect of this disclosure, the method also includes passing a proxy token of each of one or more other vehicles operating near the main vehicle up to the current time to the speed prediction and correction module.

[0019] In another aspect of this disclosure, the method also includes an operating speed prediction and correction module to process all tokens for the vehicle ID of an individual vehicle among one or more other vehicles, processing one vehicle at a time, including predicting the speed of the individual vehicle among one or more other vehicles based on the provided tokens.

[0020] In another aspect of this disclosure, the method further includes: enabling multiple agent tokens to individually contain a timestamp, a vehicle identifier (ID), an “X” position of one or more other vehicles, a “Y” position of one or more other vehicles, an optional rate, and an optional heading; for each “X” position, including either a Global Positioning System (GPS) reference position or a GPS latitude; and adding either a GPS reference “Y” position or a GPS longitude to each “Y” position.

[0021] In another aspect of this disclosure, the method further includes: a first heuristic based on a uniformity test, the uniformity test being defined as one of a circular uniformity test or a circular z-test for naively computed heading data in the time neighborhood; and a second heuristic based on the speed of the detected vehicle among other vehicles, wherein a lower speed is more likely to cause jumps in heading and vehicle speed.

[0022] According to several aspects, a system for unsupervised speed prediction and correction for urban driving based on a noisy location estimation sequence includes vehicle speed prediction for one or more other vehicles near a primary vehicle. A first heuristic is based on a uniformity test. A second heuristic is based on the vehicle rates of one or more other vehicles. The first and second heuristics are combined using a weighted sum. The combined first and second heuristics, along with a heuristic threshold, are applied to determine an uncertainty mask. The uncertainty mask is used to identify the speed correction for use by the primary vehicle.

[0023] In another aspect of this disclosure, multiple agent tokens are identified for a single vehicle among one or more other vehicles near the primary vehicle. The multiple agent tokens individually include a timestamp, vehicle identifier (ID), the “X” position of one or more other vehicles, the “Y” position of one or more other vehicles, an optional rate, and an optional heading.

[0024] In another aspect of this disclosure, the planning computer receives data from sources including sensors and maps. The planning computer uses speed correction to determine the speed and heading of one or more other vehicles to generate a motion plan that the primary vehicle will follow.

[0025] Further applicability will become apparent from the description provided herein. It should be understood that the descriptions and specific examples are for illustrative purposes only and are not intended to limit the scope of this disclosure. Attached Figure Description

[0026] The accompanying drawings described herein are for illustrative purposes only and are not intended to limit the scope of this disclosure in any way.

[0027] Figure 1 This is a flowchart of a method for unsupervised speed prediction and correction of urban driving based on a noise position estimation sequence, according to an exemplary aspect;

[0028] Figure 2 It is a graph showing the raw data available after the first methodological step of generating velocity predictions;

[0029] Figure 3 This demonstrates the second methodological step following the generative and combinatorial heuristic. Figure 2 A graph of the data;

[0030] Figure 4 It involves adding an uncertainty mask for further modification. Figure 3 The data graph; and

[0031] Figure 5 Further revisions Figure 4 The graph of the data shows the application. Figure 1 The corrected speed and corrected heading data are obtained using the method. Detailed Implementation

[0032] The following description is merely exemplary in nature and is not intended to limit this disclosure, its application, or its uses.

[0033] Reference Figure 1An unsupervised speed prediction and correction method for urban driving based on a noise position estimation sequence 10 operates as follows. As used herein, “speed” is equivalent to the description of vehicle rate and direction of motion. At each time step, perceived data from sensors passes through a speed prediction and correction module 12. The speed prediction and correction module 12 provides multiple proxy tokens 14 for one or more vehicles 16, which are defined as vehicles near a master vehicle 18. Depending on several aspects, the master vehicle 18 is defined as either an autonomous vehicle or a self-operating vehicle. Each proxy token 14 includes a timestamp 20, a vehicle identifier (ID) 22, an “X” position 24, a “Y” position 26, an optional rate 28, and an optional heading 30.

[0034] Each timestamp 20 includes the following: a. the timestamp when the sensed data was recorded; b. the absolute time since January 1, 1970; or c. the time elapsed since the start of data collection; or d. the frame index, where each frame is equidistant in time.

[0035] Each vehicle ID 22 includes the following: a. Vehicle ID 22 is obtained from object tracking; and b. Vehicle ID 22 remains consistent over time.

[0036] Each “X” location 24 includes the following: a. Global Positioning System (GPS) reference location; or b. GPS latitude.

[0037] Each “Y” position 26 includes the following: a. GPS reference “Y” position; or b. GPS longitude.

[0038] The optional rate 28 includes the following: a. a selected optional rate; or b. an instantaneous speed calculated naively from the “X” position 24 and “Y” position 26 of one or more vehicles 16 near the vehicle 18 based on the current and previous tokens.

[0039] Each heading 30 includes the following: a. an optional heading; or b. an instantaneous heading calculated naively from the “X” position 24 and “Y” position 26 of one or more vehicles 16 near vehicle 18, based on the current and previous tokens.

[0040] For each frame, the tokens 14 of every other vehicle 16 operating near vehicle 18 up to the current time are passed to the speed prediction and correction module 12. The speed prediction and correction module 12 processes all tokens 14 for a single vehicle ID 22 of a single vehicle among the vehicles 16, one vehicle at a time. First, the speed prediction and correction module 12 predicts the speed of the individual vehicle among the vehicles 16 based on the provided tokens 14. Then, a set of heuristics is calculated to assess the probability and severity of the error at each time step. Based on the values ​​of these heuristics, the speed and heading of vehicle 18 are corrected as needed at each time step. The speed prediction and correction module 12 then generates a set of corrected proxy tokens 32 with a fixed speed and heading according to the heuristics. The speed prediction and correction module 12 repeats this process for every other vehicle 16 near vehicle 18. The corrected proxy tokens 32 of all other vehicles 16 near vehicle 18 are then sent to the planning computer 34. The planning computer 34 includes one or more processors, at least one memory, and instructions stored in the memory. The memory is a non-transitory computer-readable medium.

[0041] The planning computer 34 receives additional data 36 from sources such as sensors and maps 38. The planning computer 34 uses the corrected speeds (rate and heading) of each agent, as well as information from other sources, to generate an appropriate motion plan 40 for the autonomous vehicle 18 to follow. The autonomous vehicle 18 then executes the motion plan 40 using, for example, physical accelerators, brakes, and steering controls.

[0042] The method for predicting and correcting vehicle speed (i.e., heading and rate) based on noise position estimation in urban driving scenarios employs heuristics. A combination of heuristics indicates the degree to which the current heading and rate are prone to error. One heuristic used is based on the speed of the detected vehicle among other vehicles 16, where lower speeds are more likely to result in erratic heading and rate fluctuations. Another heuristic used is based on a circular uniformity test or circular z-test of the heading data calculated naively over a temporal neighborhood. These heuristics are used to evaluate the uncertainty of measurements in the trajectory of vehicle 16 at a single time step. Based on this evaluation, measurements with a high probability of error are replaced with newly processed measurements. This reprocessing of measurements takes into account the error characteristics of heading and rate calculated from sensor-based vehicle localization and tracking techniques.

[0043] The velocity prediction and correction module 12 uses pseudocode. The pseudocode for a specific aspect of the velocity prediction and correction module 12 is shown below:

[0044] 01:fix_velocity(all_agent_tokens)

[0045] 02:vehicle_IDs=unique(all_agent_tokens[vehicle_ID]) 03:

[0047] 04: For each vehicle_ID in vehicle_ID:

[0048] 05:agent_tokens=all_agent_tokens[vehicle_ID]

[0049] 06:agent_tokens=predict_speed_and_heading(agent_tokens) 07:

[0051] 08:# Mask for obtaining rates and / or headings with uncertain times

[0052] 09:agent_uncertain_mask=get_uncertain_mask(agent_tokens) 10:

[0054] 11:# Based on masking to correct uncertain rates and heading values

[0055] 12:correct_uncertainty(agent_tokens,agent_uncertain_mask) 13: 14:

[0058] 15:predict_speed_and_heading(agent_tokens)

[0059] 16:agent_tokens[naive_speed]=calculate_naive_speed(agent_tokens)

[0060] 17:agent_tokens[naive_heading]=calculate_naive_heading(agent_tokens) 18:

[0062] 19: Returns agent_tokens 20: twenty one:

[0065] 22:get_uncertain_mask(agent_tokens)

[0066] 23:# Heuristic for calculating the z-score for each timestamp

[0067] 24:heading_arr=unwrap(agent_tokens[naive_heading])

[0068] 25:heading_arr=gaussian_filter(heading_arr)

[0069] 26:z_test_score=rayleigh_test(,Z_TEST_WINDOW) 27:

[0071] 28:# Rate Heuristic for Calculating Each Timestamp

[0072] 29:speed_arr=gaussian_filter(agent_tokens[naive_speed])

[0073] 30:speed_score=1 / max(SPEED_THRESHOLD,agent_tokens[naive_speed]) 31:

[0075] 32:# Combine the heuristics for each timestamp

[0076] 33:final_score=(SPEED_WEIGHT*speed_score)+(Z_TEST_WEIGHT*z_test_score)

[0077] 34:final_score=final_score / (SPEED_WEIGHT+Z_TEST_WEIGHT) 35:

[0079] 36:# Threshold Heuristic for Finding Uncertain Timestamps

[0080] 37: For each time in final_score

[0081] 38:if final_score[time]>FINAL_THRESHOLD

[0082] 39:uncertain_mask[time]=True

[0083] 40:else

[0084] 41:uncertain_mask[time]=False 42:

[0086] 43: Returns the uncertain_mask 44: 45:

[0089] 46:correct_uncertainty(agent_tokens,uncertain_mask)

[0090] 47:#Preparing to correct the heading

[0091] 48:heading_arr=unwrap(agent_tokens[naive_heading])

[0092] 49:heading_arr=gaussian_filter(heading_arr) 50:

[0094] 51:# Replace uncertain headings with "non-numeric"

[0095] 52:heading_arr[uncertain_mask]=NaN 53:

[0097] 54:# Fill "non-numeric" values ​​by interpolating among the nearest confidence neighbors.

[0098] 55:heading_arr[uncertain_mask]=interpolate(heading_arr,confident_neighbors) 56:

[0100] 57:# Unwind the course to return to 0-360

[0101] 58:heading_arr=wrap(heading_arr) 59: 60:

[0104] 61:speed_arr=agent_tokens[naive_speed] 62:

[0106] 63:# Replace uncertain headings with "non-numeric"

[0107] 64:speed_arr[uncertain_mask]=NaN 65:

[0109] 66:# If x and y change, fill the "non-numeric" values ​​with a rate after applying a Gaussian filter.

[0110] 67:speed_arr[uncertain_mask]=gaussian_filter(speed_arr) 68:

[0112] 69:agent_tokens[fixed_heading]=heading_arr

[0113] 70:agent_tokens[fixed_speed]=speed_arr 71:

[0115] 72: Returns agent_tokens

[0116] There are several ways to implement the velocity prediction and correction module 12. Four main steps are performed in the velocity prediction and correction module 12, as follows:

[0117] Step 1. Speed ​​Prediction 42

[0118] a. Description in lines 6 and 15-19

[0119] b. If provided, discard the vehicle speed (rate and heading) values ​​from agent token 14.

[0120] c. Calculate instantaneous speed and heading based on “X” position 24 and “Y” position 26 (or latitude and longitude).

[0121] Step 2. Heuristic calculation of 44

[0122] a. Description in lines 8-9 and 23-34

[0123] b. Heuristic calculation based on Rayleigh uniformity test

[0124] c. Rate-based heuristic

[0125] d. Combine heuristics by taking the weighted sum of the two heuristics.

[0126] Step 3. Mask Calculation 46

[0127] a. Description in lines 36-43

[0128] b. Calculate the uncertainty mask based on a combinational heuristic and a heuristic threshold.

[0129] Step 4. Speed ​​Correction 48

[0130] a. Description in lines 11-12 and 46-72

[0131] b. Based on the uncertainty mask calculated in step 3, replace the rate and heading values ​​with "non-numeric" values.

[0132] c. Fill the heading by interpolating between the nearest confidence neighbors on each side of the "non-digital" side.

[0133] d. Fill the velocity with a rate array that passes through a Gaussian filter, except in the case where the velocity is expected to be zero based on the x and y values.

[0134] In step 1, velocity prediction 42 is calculated to identify instantaneous speed and heading using equations 1 and 2 below, based on “X” position 24 and “Y” position 26 and the time of the current and previous proxy tokens 14:

[0135] Equation 1:

[0136]

[0137] Equation 2:

[0138]

[0139] In step 2, heuristic calculation 44 is then performed. The first heuristic value 50 is based on the Rayleigh uniformity test. This test is performed over a moving window of the heading values. Since this uniformity test is performed on circular data (headings), the Rayleigh uniformity test implemented by Jammalamadaka et al. is used. This test provides a value Z between 0 and 1, such that a uniform circular distribution provides Z→1, while a circular distribution pointing in a single direction provides Z→0. For the velocity prediction and correction module 12, values ​​closer to 1 indicate heading uncertainty and sudden changes, while values ​​closer to 0 indicate a confident heading direction. In other embodiments, similar heuristics for testing the stability and uncertainty of heading directions can be proposed using different circular statistics.

[0140] The second heuristic value 52 obtained during heuristic calculation 44 is based on the speed of vehicle 16 and is calculated according to Equation 3 below.

[0141] Equation 3:

[0142]

[0143] For equation 3, the rate 阈值The minimum rate is based on the uncertainty of the vehicle sensors; below this value, vehicle 16 can be considered stationary. The second heuristic value 50 has a minimum value h→0, which indicates that the vehicle is moving at a high rate. h→1 / rate 阈值 The maximum value represents a stationary vehicle in vehicle 16. It is known that when vehicle 16 is stationary, the heading is typically noisy due to naive calculations and sudden changes in direction. Higher values ​​of the second heuristic value 52 indicate uncertainty and low confidence in the heading and rate readings.

[0144] Based on several aspects, a weighted sum is used to combine the above heuristics. In other aspects, different methods can be used to combine such heuristics, including but not limited to multiplication or simple addition. The weighted sum can be calculated using Equation 4 as follows, where a and b are the weights of each heuristic.

[0145] Equation 4:

[0146]

[0147] In step 3, a mask calculation 46 is performed based on the combined heuristic values ​​to indicate error-prone or uncertain timestamps for velocity (rate and heading) values. The mask calculation 46 is based on the index or timestamp of token 14, and on the following condition, where h 阈值 It is to determine the uncertainty mask value h as shown in Equation 5. 最终 The threshold.

[0148] Equation 5:

[0149] mask (h) 最终 ) = False, h 最终 <h 阈值

[0150] True,h 最终 ≥h 阈值

[0151] In step 4, speed correction 48 is performed. Based on the uncertainty mask value, the rate and heading values ​​in proxy token 14 are replaced with the value: “NaN” or “Not a Number”. For the heading, interpolation is used to fill these “NaN” values. Before using interpolation, the heading values ​​are unwound. Unwounding is typically used for signal processing of phase angles. Whenever the jump between consecutive phase angles is greater than or equal to π radians, unwound the phase angle by adding a multiple of ±2π until the jump is less than π radians. In this embodiment, for each consecutive “NaN” block, the nearest neighbors that are not “NaN” values ​​before and after the block are obtained. The block is filled using interpolation between these two nearest neighbors. Once all “NaN” values ​​have been replaced, the heading values ​​are rewound by taking the heading angle modulo 2π. This technique fills the gaps in uncertain headings based on the heuristic defined above.

[0152] Regarding the rate, if the rate is lower than the predetermined rate 阈值 If the condition is not met, fill the "NaN" values ​​by setting them to zero. Otherwise, replace the "NaN" values ​​with a rate function of Gaussian filtering to remove error-prone and unrealistic jumps or oscillations.

[0153] refer to Figure 2 And refer again Figure 1 Plot 54 correlates the heading 56 with time 58 in seconds, and further with vehicle speed 60 in meters per second. The naive speed 62 is defined as being between consecutive data points 64, 64'. The naive heading 65 is also presented.

[0154] refer to Figure 3 And refer again Figure 2 The curve 66 compares the heading 68 to time 70 in seconds, and further to vehicle speed 72 in meters per second, similar to... Figure 2 The heuristic rate 74 is presented together with the heuristic course 75. Both the heuristic rate 74 and the heuristic course 75 contribute to generating a combined heuristic 76 to identify the timing of uncertainties and errors.

[0155] refer to Figure 4 And refer again Figures 2 to 4 The curve 78 compares the heading 80 to time 82 in seconds, and further to vehicle speed 84 in meters per second, similar to... Figure 2 and Figure 3 Uncertainty mask 86 from reference Figure 3 The heuristic 76 of the combination discussed is derived and presented as vertical bars with varying thickness or width. The heuristic 76 of the combination is applied to identify uncertainties and errors in time.

[0156] refer to Figure 5 And refer again Figures 2 to 4 The curve 90 correlates the heading 92 with time 94 in seconds, and further with vehicle speed 96 in meters per second, similar to... Figures 2 to 4 . refer to Figure 4 The uncertainty mask 86 discussed is covered. The corrected rate 98 and corrected heading 100 are generated by the speed prediction and correction module 12 to correct for errors in rate and heading using only the heuristics mentioned herein.

[0157] This disclosure presents a method for unsupervised speed prediction and correction of urban driving based on a noisy position estimation sequence 10, which recognizes and utilizes the dependency between vehicle speed and error in heading prediction. Specifically, when the vehicle is moving at a high speed, the naive heading calculation method achieves near-perfect heading estimation. On the other hand, when the vehicle is stationary or moving at a very low speed, heading calculation is prone to error. The minimum deviation of the predicted position for a stationary / very slowly moving vehicle leads to a large deviation in the predicted heading. The system and method of this disclosure are aware of this dependency and are designed to compensate for imperfect position prediction.

[0158] This disclosure of a system and method for unsupervised speed prediction and correction of urban driving based on a noisy position estimation sequence 10 offers several advantages. These advantages include the following: 1. Unsupervised: It does not employ machine learning-based methods, thus requiring no large amounts of collected data with corresponding ground-based labels. 2. Low computational cost: The method has low computational cost, making it easier to integrate into performance-critical, resource-constrained systems. 3. Sensor-independent: The method is not dependent on specific sensors or sensor modalities and is equally applicable to position estimations derived from sensors, including but not limited to cameras (electro-optical), lidar, radar, ultrasonic, infrared, inertial measurement units (IMUs), GPS, or any combination of these sensors. 4. Motion cognition: The method provides cognition of general nonholonomic constraints on urban vehicle motion. The heuristics used take these constraints into account during design.

[0159] The description in this disclosure is merely exemplary in nature, and variations thereof that do not depart from the spirit and scope of this disclosure are intended to fall within its scope. Such variations should not be considered as a departure from the spirit and scope of this disclosure.

Claims

1. A method for unsupervised speed prediction and correction for urban driving based on a noise location estimation sequence, comprising: Perform vehicle speed prediction for one or more other vehicles near the main vehicle; Using heuristics to identify the occurrence times of potential errors in the vehicle speed and heading of the other vehicles, and calculating the heuristics, includes: The first heuristic value is calculated based on either a circular uniformity test or a circular z-test for the naive course data in the time neighborhood; and A second heuristic value is calculated based on the speed of the detected vehicle among the other vehicles, wherein the lower the speed, the higher the probability of a jump in heading and vehicle speed; The first heuristic value and the second heuristic value are combined using a weighted sum; and An uncertainty mask is determined by applying a combination of a first heuristic value, a second heuristic value, and a heuristic threshold, wherein when the combination of the first heuristic value and the second heuristic value is greater than or equal to the heuristic threshold, the values ​​of the vehicle speed and the vehicle heading at the current time point are replaced with "not a number". The potential error is corrected by applying domain information, wherein the applied domain information includes: The uncertainty mask is applied to identify speed corrections, and when identifying the speed corrections, the vehicle heading is filled in by interpolation between the nearest confidence neighbors on each side of the vehicle heading value that has a "non-numeric" value; and When the speed correction is identified, the vehicle rate with "non-numerical" values ​​is filled with a rate array passed through a Gaussian filter, except in the case where the vehicle rate is expected to be zero.

2. The method of claim 1, further comprising: Provide multiple proxy tokens for one or more other vehicles near the main vehicle; as well as Each of the multiple proxy tokens contains a timestamp, vehicle identifier ID, the "X" position of the one or more other vehicles, the "Y" position of the one or more other vehicles, speed, and heading.

3. The method of claim 2, further comprising: The multiple proxy tokens of a single vehicle among the other vehicles near the main vehicle up to the current time are passed to the speed prediction and correction module; as well as The speed prediction and correction module is operated to process all of the plurality of proxy tokens for a single vehicle ID among the other vehicles, processing one vehicle at a time, including predicting the speed of the single vehicle among the other vehicles near the master vehicle based on the provided plurality of proxy tokens.

4. The method of claim 2, further comprising identifying instantaneous speed and instantaneous heading based on the "X" position and the "Y" position and the current time.

5. The method of claim 1, further comprising selecting the master vehicle as an autonomous vehicle.