Error real-time compensation method for GNSS dynamic positioning
By smoothing and filtering the positioning sequence output by the GNSS receiver and combining the motion information of the inertial measurement unit with digital map data, short-time dead reckoning and road matching verification are performed, solving the problem of limited GNSS signals in complex urban environments and achieving highly reliable continuous positioning output.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN RUITU TONGCHUANG TECHNOLOGY CO LTD
- Filing Date
- 2026-03-13
- Publication Date
- 2026-05-12
AI Technical Summary
In complex urban environments, GNSS signals are susceptible to multipath effects and obstruction, leading to gross errors and signal interruptions in positioning results. Existing technologies struggle to achieve high-precision and continuous positioning while ensuring the logical rationality of the positioning results and adaptability to different scenarios.
By acquiring and smoothing the positioning sequence output by the GNSS receiver in real time, and combining it with the motion information of the inertial measurement unit and digital map data, short-term dead reckoning and road matching are performed. The road travel direction and topological constraints are used for verification, so as to realize the continuous and progressive correction of GNSS dynamic positioning error.
When GNSS signals are briefly lost or their quality degrades, the positioning results are ensured to be continuous and consistent with road logic, effectively preventing positioning points from falling into non-road areas and improving the logical rationality and scene adaptability of dynamic positioning.
Smart Images

Figure CN122017907A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of GNSS dynamic positioning, and more specifically to a real-time error compensation method for GNSS dynamic positioning. Background Technology
[0002] With the widespread application of Global Navigation Satellite Systems (GNSS) in intelligent transportation, autonomous driving, and mobile mapping, high-precision and high-reliability positioning in dynamic environments has become a core foundation for ensuring the safe operation of related systems. However, in complex scenarios such as urban canyons, under overpasses, and tunnel entrances and exits, GNSS signals are susceptible to interference from multipath effects, non-line-of-sight reception, and satellite signal obstruction, leading to problems such as gross errors, signal interruptions, or continuity breaks in the original positioning sequence, severely impacting the usability of positioning results and user experience. To address this challenge, the industry commonly employs inertial measurement units (IMUs) combined with GNSS for navigation, utilizing the IMU's short-term, high-precision relative measurement capabilities to compensate for the shortcomings of GNSS. However, relying solely on loosely or tightly coupled GNSS / IMU schemes still struggles to resolve the logical discrepancy between the positioning trajectory and the actual road network. That is, while the positioning point may appear mathematically and statistically smooth, it may appear inside buildings, in oncoming lanes, or in roadless areas, causing navigation guidance failure or misjudgments by the driver assistance system.
[0003] It is worth further pointing out that current research in academia and industry focuses on improving the absolute accuracy of GNSS positioning, attempting to compress dynamic positioning errors to the decimeter or even centimeter level through technologies such as Real-time Dynamic Differential (RTK), Precise Point Positioning (PPP), and Satellite-based Augmentation Systems (SBAS). However, achieving continuous and stable centimeter-level absolute positioning in real-world urban dynamic environments faces numerous difficulties: on the one hand, technologies such as RTK heavily rely on the coverage density of the reference station network and the reliability of the data link, and are prone to fixed-lockout in signal-blocked areas, leading to a sharp degradation in accuracy; on the other hand, maintaining centimeter-level accuracy requires high-quality satellite observations and complex atmospheric error modeling, while issues such as signal discontinuity and frequent cycle slips in urban canyons make it exceptionally difficult to fix high-precision ambiguity. More importantly, even if centimeter-level positioning is achieved at certain times, if the positioning point is mistakenly located outside the road area due to multipath effects, its "high accuracy" becomes a hidden danger that misleads the system, because for navigation decisions, "whether it is on the correct road" is far more practically significant than "how accurate the absolute coordinates are."
[0004] This demonstrates that existing technologies, in their pursuit of absolute accuracy, often neglect the logical rationality and scenario adaptability of positioning results. In complex urban environments, due to the limitations of signal physical characteristics, relying solely on GNSS observations for accuracy improvement will eventually encounter bottlenecks. Therefore, how to utilize low-cost sensors and prior geographic information to achieve continuous error suppression and correction while ensuring that positioning results remain consistently attached to the road network has become a critical technical problem urgently needing to be solved in the field of dynamic positioning. Summary of the Invention
[0005] To address the aforementioned technical problems, a real-time error compensation method for GNSS dynamic positioning is provided. This technical solution solves the problem mentioned in the background that in complex urban environments, due to the limitations of signal physical characteristics, the accuracy improvement relying solely on GNSS observations will eventually encounter a bottleneck. It also addresses the problem of how to utilize low-cost sensors and prior geographic information to continuously suppress and correct errors while ensuring that the positioning results are always attached to the road network.
[0006] To achieve the above objectives, the technical solution adopted by the present invention is as follows: A real-time error compensation method for GNSS dynamic positioning includes: The raw positioning sequence output by the GNSS receiver is acquired in real time, and the raw positioning sequence is smoothed and filtered to obtain a trajectory segment to be corrected with a continuous motion trend. Based on the location range of the trajectory segment to be corrected, retrieve the digital map data of the corresponding area from local storage and / or cloud server; The similarity of the trajectory segment to be corrected with the candidate roads in the digital map is compared. Based on the degree of matching between the trajectory heading change features and the road curvature features, one or more candidate matching roads are determined. Using the carrier's velocity and direction information output by the inertial measurement unit, combined with the final corrected positioning result output at the previous moment, short-term dead reckoning is performed to obtain the predicted position at the current moment. The predicted location is projected onto the candidate matching road. Based on the road traffic direction constraint and connectivity constraint, the projected point is verified, and the projected point that passes the verification is set as the final corrected positioning result. The final corrected positioning result is used as the reference point for dead reckoning at the next moment, and the trajectory segment to be corrected is updated in real time. By performing road matching and topology constraint correction on the updated trajectory segment to be corrected again, the continuous progressive correction of GNSS dynamic positioning error is achieved.
[0007] Preferably, the step of comparing the similarity of the trajectory segment to be corrected with candidate roads in the digital map, and determining one or more candidate matching roads based on the degree of matching between the trajectory heading change features and the road curvature features, specifically includes: Extract the heading angles of each positioning point in the trajectory segment to be corrected, and construct a sequence of trajectory heading angle changes; Extract the curvature variation features of the centerline of each candidate road in the digital map and construct a road curvature feature sequence; The similarity distance between the trajectory heading angle change sequence and the curvature feature sequence of each candidate road is calculated using a dynamic time warping algorithm. Several roads with the smallest similarity distance are selected as candidate matching roads.
[0008] Preferably, the step of using the carrier's velocity and direction information output by the inertial measurement unit, combined with the final corrected positioning result output at the previous moment, to perform short-term dead reckoning and obtain the predicted position at the current moment specifically includes: The system acquires triaxial acceleration and angular velocity data output from the inertial measurement unit and calculates the instantaneous velocity and heading angle of the carrier using a mechanical arrangement algorithm. Using the final corrected positioning result output at the previous moment as the starting reference point, and combining the instantaneous motion velocity and heading angle, the displacement increment within the time interval from the previous moment to the current moment is calculated. The displacement increment is added to the final corrected positioning result of the previous moment to obtain the predicted position coordinates at the current moment.
[0009] Preferably, the step of projecting the predicted location onto the candidate matching road, verifying the projected points based on road traffic direction constraints and connectivity constraints, and setting the verified projected points as the final corrected positioning results specifically includes: For each candidate matching road, the predicted position at the current moment is vertically projected onto the center line of the road to obtain the corresponding projection point coordinates; Calculate the angle between the direction of motion at the predicted location and the road extension direction of the candidate matching road at the projection point; Determine if the included angle is less than the preset direction consistency threshold. If it is, the projection point passes the traffic direction constraint verification and is used as a candidate point to enter the connectivity constraint verification stage. If not, the projection point fails the traffic direction constraint verification and is directly excluded from the candidate projection point without further verification. Determine whether there is a topological connection between the current candidate matching road and the road where the final corrected positioning result is located at the previous time step, and determine whether the distance of the connected path matches the estimated driving distance; if both are satisfied, the connectivity constraint check is deemed qualified; otherwise, it is deemed unqualified. For projection points that pass the connectivity constraint verification, they are taken as valid projection points. If there are multiple valid projection points, a weighted sum score is calculated based on projection distance, orientation consistency, and connectivity. The projection point with the highest score is selected as the final corrected positioning result for the current moment.
[0010] Preferably, the continuous progressive correction of GNSS dynamic positioning error specifically includes: The final corrected positioning result output at the current moment is stored in the historical trajectory cache and used as the starting reference point for dead reckoning at the next moment. Add the final corrected positioning result at the current moment to the trajectory segment to be corrected, and remove the positioning point at the earliest moment in the trajectory segment to be corrected, keeping the length of the trajectory segment to be corrected constant, to obtain the updated trajectory segment to be corrected. Based on the updated trajectory segment to be corrected, the road matching and topology constraint correction process is re-executed to obtain the final corrected positioning result at the next time step; The cyclical update and correction process ensures that the positioning result at each moment is iteratively optimized based on the correction of the previous moment and the latest map constraints, thereby achieving continuous and progressive correction of GNSS dynamic positioning errors.
[0011] Compared with the prior art, the beneficial effects of the present invention are as follows: This invention provides a real-time error compensation scheme for GNSS dynamic positioning. This scheme utilizes the high-frequency output characteristics of the inertial measurement unit (IMU). In scenarios where GNSS signals are briefly lost or degraded, it uses the final corrected positioning result verified by the map at the previous moment as a reference point. Combined with the vehicle's velocity and heading angle calculated in real-time by the IMU, short-term dead reckoning is performed to obtain continuous predicted positions. Unlike traditional integrated navigation schemes that rely solely on IMU integration, leading to rapid error divergence, this scheme strictly limits dead reckoning to a short time window and uses subsequent map matching and topological constraints to periodically correct the reckoning results. This ensures that the vehicle can still obtain continuous and road-logical positioning output even during tens of seconds without GNSS signals. Furthermore, by matching the similarity between trajectory heading features and road curvature features, combined with dual constraints of road traffic direction and topological connectivity, this scheme effectively avoids positioning points falling into non-road areas, oncoming lanes, or inside buildings, effectively improving the logical rationality and scenario adaptability of dynamic positioning. Attached Figure Description
[0012] Figure 1 This is a flowchart of a real-time error compensation method for GNSS dynamic positioning according to the present invention. Figure 2 The flowchart of the present invention for determining one or more candidate matching roads based on the degree of matching between trajectory heading change characteristics and road curvature characteristics; Figure 3 The flowchart for performing short-term dead reckoning to obtain the predicted position at the current moment is provided in this invention. Figure 4The flowchart for verifying projection points based on road traffic direction constraints and connectivity constraints is provided in this invention. Figure 5 This is a structural diagram of the electronic device proposed in this invention; Figure 6 This is a schematic diagram of the structure of the computer-readable storage medium proposed in this invention. Detailed Implementation
[0013] The following description is intended to disclose the invention and enable those skilled in the art to implement it. The preferred embodiments described below are merely examples, and other obvious variations will occur to those skilled in the art.
[0014] Reference Figure 1 As shown, a real-time error compensation method for GNSS dynamic positioning includes: The raw positioning sequence output by the GNSS receiver is acquired in real time, and the raw positioning sequence is smoothed and filtered to obtain a trajectory segment to be corrected with a continuous motion trend. Based on the location range of the trajectory segment to be corrected, retrieve the digital map data of the corresponding area from local storage and / or cloud server; The similarity of the trajectory segment to be corrected with the candidate roads in the digital map is compared. Based on the degree of matching between the trajectory heading change features and the road curvature features, one or more candidate matching roads are determined. Using the carrier's velocity and direction information output by the inertial measurement unit, combined with the final corrected positioning result output at the previous moment, short-term dead reckoning is performed to obtain the predicted position at the current moment. The predicted location is projected onto the candidate matching road. Based on the road traffic direction constraint and connectivity constraint, the projected point is verified, and the projected point that passes the verification is set as the final corrected positioning result. The final corrected positioning result is used as the reference point for dead reckoning at the next moment, and the trajectory segment to be corrected is updated in real time. By performing road matching and topology constraint correction on the updated trajectory segment to be corrected again, the continuous progressive correction of GNSS dynamic positioning error is achieved.
[0015] This can be explained by the fact that, in most real-world scenarios, while GNSS receivers may experience positioning deviations due to multipath effects and signal blockages, they rarely completely lose their positioning function. The original positioning sequence output by the receiver generally maintains a consistent macroscopic trend with the actual direction of the vehicle's movement. In other words, although the positioning results provided by GNSS are not accurate, they are not biased. The deviation mainly manifests as local jumps or small drifts, while the overall movement trend (such as a vehicle traveling along a certain road) still has reference value. Based on this characteristic, this solution first performs smoothing filtering on the original positioning sequence to remove isolated noise points and extract trajectory segments with continuous movement trends, thereby obtaining a trajectory to be corrected that is not highly accurate but has a reliable direction. Subsequently, based on the location range of this trajectory segment, the digital map of the corresponding area is retrieved. The graph data is compared with the real-time perceived trajectory with errors and the absolutely accurate prior road network. With the help of similarity comparison algorithms such as dynamic time warping, one or more candidate matching roads that best match the current driving path can be selected from the map. On this basis, the motion speed and direction information output by the inertial measurement unit are further introduced, and short-term dead reckoning is performed in combination with the reliable position corrected at the previous moment to obtain the predicted position at the current moment. This predicted position is then projected onto the candidate matching road. Double verification is performed through road traffic direction constraints (determining whether the driving direction is consistent with the road's allowed direction) and topological connectivity constraints (determining whether there is a reachable path from the previous position to the current candidate position). Finally, the projection point that passes the verification is set as the final corrected positioning result at the current moment. This process essentially involves using GNSS positioning direction, combined with prior knowledge from digital maps, and supplemented by short-term measurements from inertial measurement units to deduce the current positioning status. By using the correction results at each moment as the reference point for dead reckoning at the next moment, and employing a sliding window mechanism to update the trajectory segment to be corrected in real time, a closed loop of "perception-prediction-verification-feedback" is constructed. This ensures that each positioning correction is based on the reliable results of the previous moment, achieving continuous and progressive correction of GNSS dynamic positioning errors. Ultimately, the original positioning, which is not very accurate but has a reliable direction, is transformed into a highly reliable positioning output with continuous and progressive correction.
[0016] The process of acquiring the raw positioning sequence output by the GNSS receiver in real time and performing smoothing filtering on the raw positioning sequence to obtain the trajectory segment to be corrected with a continuous motion trend specifically includes: Obtain the original positioning sequence output by the GNSS receiver, and remove isolated noise points in the original positioning sequence based on kinematic constraints; The localization sequence after noise removal is smoothed by Kalman filtering; Extract a continuous trajectory of a preset length from the smoothed positioning sequence as the trajectory segment to be corrected.
[0017] It can be explained that the GNSS receiver outputs the original positioning sequence at a fixed frequency, which includes at least: timestamp, latitude and longitude coordinates, and positioning status identifier; Noise identification and removal: Set a kinematic constraint threshold, calculate the maximum allowable displacement distance between two adjacent epochs based on the maximum possible speed of the carrier. If the displacement distance of two consecutive epochs exceeds the preset threshold, but the displacement distance of the third epoch does not exceed the threshold, the point in the middle that exceeds the limit is identified as an isolated noise point and removed. Smoothing filtering: The positioning sequence after noise removal is smoothed by Kalman filtering. The state variables are set as two-dimensional position coordinates and two-dimensional velocity, and the observation value is the GNSS position after noise removal. The smoothed position sequence is obtained through the prediction-update iteration of Kalman filtering, which effectively suppresses high-frequency random noise. Trajectory segment extraction: Set the time window length to n seconds (when the GNSS receiver frequency is 10Hz, the number of epochs corresponding to n seconds is n×10), extract the most recent n consecutive positioning points from the smoothed position sequence to form the trajectory segment to be corrected.
[0018] The step of retrieving digital map data of the corresponding area from local storage and / or a cloud server based on the location range of the trajectory segment to be corrected specifically includes: Obtain the latitude and longitude coordinates of all positioning points in the trajectory segment to be corrected, and calculate the bounding rectangle range of the trajectory segment to be corrected, which is used as the retrieval area of the digital map; Based on the area to be retrieved, the corresponding digital map data is retrieved from the local storage first. If complete map data covering the area to be retrieved exists in the local storage, it is loaded and used directly. If the complete map data covering the retrieved area is not available in the local storage, a map retrieval request is sent to the cloud server to download the digital map data of the corresponding area and cache it in the local storage.
[0019] This can be explained by the following steps: First, the latitude and longitude coordinates of the trajectory segment to be corrected are obtained. The minimum and maximum values for all longitudes and latitudes are calculated to form a rectangular area. Simultaneously, to ensure the map data covers the road network the trajectory may involve, this rectangular area needs to be extended outwards by a preset buffer distance to obtain the final map retrieval area. The buffer distance is adaptively set based on the GNSS positioning error range. Local storage uses a tile-based map storage structure, dividing the digital map into several tiles according to a latitude and longitude grid. Each tile corresponds to a fixed-size geographical area. Based on the latitude and longitude range of the retrieval area, the set of tile indices to be loaded is calculated, and the corresponding indices are searched in the local cache. The system retrieves the corresponding tile files. For tiles missing from the local cache, the system initiates an asynchronous download request to the cloud server. The tile data returned by the server includes attribute information such as the road centerline coordinate sequence, road width, traffic direction, and intersection connectivity. After the download is complete, the data is stored in the local cache and loaded into memory for current and subsequent use. It is important to emphasize that the digital map data used in this solution is pre-collected and produced using professional surveying and mapping equipment, or uses publicly available OpenStreetMap data. Its content is completely independent of the real-time positioning results of this navigation process, ensuring the objectivity and reliability of the map as an independent reference system.
[0020] Reference Figure 2 As shown, determining one or more candidate matching roads based on the degree of matching between trajectory heading change characteristics and road curvature characteristics specifically includes: Extract the heading angles of each positioning point in the trajectory segment to be corrected, and construct a sequence of trajectory heading angle changes; Extract the curvature variation features of the centerline of each candidate road in the digital map and construct a road curvature feature sequence; The similarity distance between the trajectory heading angle change sequence and the curvature feature sequence of each candidate road is calculated using a dynamic time warping algorithm. Several roads with the smallest similarity distance are selected as candidate matching roads.
[0021] It can be explained that the trajectory heading angle change sequence refers to calculating the azimuth angle between two adjacent points for continuous positioning points in the trajectory segment to be corrected, which is used as the instantaneous heading angle of the trajectory segment. Specifically, based on the difference in latitude and longitude coordinates of adjacent positioning points, the direction angle value is obtained by solving the trigonometric function relationship, thereby obtaining a trajectory heading angle change sequence composed of a series of heading angles. The road curvature feature sequence refers to the calculation of the azimuth angle between adjacent points for each candidate road in the digital map, which is composed of a series of dense point coordinates. The road heading angle reference sequence is obtained by further calculating the rate of change of the heading angle to form the road curvature feature sequence. For roads with a long length, a sliding window method is used to extract a subsequence that matches the length of the trajectory segment for comparison. Since the lengths of trajectory segments and road subsequences may not be consistent, and the speed of the vehicle fluctuates during travel, this scheme uses a dynamic time warping algorithm to calculate the similarity between the two sequences. This algorithm finds the optimal alignment path between the two sequences through dynamic programming to minimize the accumulated difference value. In specific implementation, a distance matrix between the two sequences is constructed, and the accumulated distance is calculated recursively to finally obtain the similarity distance value between the two sequences. The smaller the distance value, the higher the degree of matching.
[0022] Reference Figure 3 As shown, the process of performing short-time dead reckoning to obtain the predicted position at the current moment specifically includes: The system acquires triaxial acceleration and angular velocity data output from the inertial measurement unit and calculates the instantaneous velocity and heading angle of the carrier using a mechanical arrangement algorithm. Using the final corrected positioning result output at the previous moment as the starting reference point, and combining the instantaneous motion velocity and heading angle, the displacement increment within the time interval from the previous moment to the current moment is calculated. The displacement increment is added to the final corrected positioning result of the previous moment to obtain the predicted position coordinates at the current moment.
[0023] It can be explained that the output frequency of the inertial measurement unit is configured to be the same as that of the GNSS receiver. If the native output frequency of the inertial measurement unit is higher than the GNSS frequency, the raw data is downsampled to obtain measurement data aligned with the GNSS epoch. The raw measurement data includes the specific force data collected by the triaxial accelerometer and the angular velocity data collected by the triaxial gyroscope. The specific process for obtaining the predicted position at the current moment includes: Data preprocessing: The static zero bias value is subtracted from the original acceleration data and angular velocity data respectively, and high-frequency noise components are filtered out by a low-pass filter to obtain the preprocessed acceleration signal and angular velocity signal. The static zero bias value is obtained by averaging the data collected in a stationary state for several seconds. Initial attitude angles are determined by calculating the projection components of gravitational acceleration on the three axes using acceleration signals from a stationary or uniform motion period. The initial pitch and roll angles of the vehicle are then calculated based on trigonometric relationships. Specifically, the pitch angle is calculated using the arctangent function based on the ratio of horizontal acceleration to gravitational acceleration, the roll angle is calculated using the arctangent function based on the ratio of lateral acceleration to gravitational acceleration, and the initial heading angle is determined based on the GNSS velocity direction at the initial moment. Attitude angle recursive update: The preprocessed angular velocity signal is multiplied by the sampling time interval to obtain the angle increments in the three axes. The attitude angle at the previous moment is accumulated with the angle increment at the current moment to obtain the uncorrected attitude angle at the current moment. The recursion of pitch angle, roll angle and yaw angle are all achieved by angular velocity integration. Error correction of pitch and roll angles: The reference value of gravity direction at the current moment is calculated using the acceleration signal and compared with the expected value of gravity direction calculated based on the current attitude angle to obtain the error of pitch and roll angles. This error is fed back to the attitude angle recursion process through the proportional-integral controller to periodically correct the pitch and roll angles and suppress integral drift. Heading angle acquisition: Using the GNSS velocity direction at the initial moment as the starting heading angle, multiply the angular velocity data output by the gyroscope by the sampling time interval to obtain the angle increment of the current moment relative to the previous moment. Add this angle increment to the heading angle of the previous moment to obtain the uncorrected heading angle of the current moment. Velocity calculation: The preprocessed acceleration signal is converted to the navigation coordinate system, the gravity component is subtracted, and the velocity change is integrated over time to obtain the velocity change. This change is then added to the initial velocity to obtain the current velocity. If an odometer or wheel speed sensor is provided, wheel speed pulse-assisted speed measurement can also be used to improve accuracy. It should be noted that this scheme restricts dead reckoning to a short time window, and through subsequent road topology constraint correction and map matching, the benchmark is reset periodically, which effectively avoids the long-term accumulation and divergence of errors. When the GNSS signal quality is good or the map matching confidence is high, the dead reckoning benchmark is updated in a timely manner, ensuring the long-term stability of the entire system. It should be further explained that the recursive process of dead reckoning requires a clear initial reference point as the starting point. In this scheme, the initial reference point is taken from the valid positioning result output by the GNSS receiver before the dead reckoning begins. Specifically, when the system starts or the GNSS signal is valid for the first time, the system stores the GNSS positioning result at that moment as the first final corrected positioning result of the previous moment and uses it as the starting point of the dead reckoning.
[0024] Reference Figure 4 As shown, the verification of projection points based on road traffic direction constraints and connectivity constraints specifically includes: For each candidate matching road, the predicted position at the current moment is vertically projected onto the center line of the road to obtain the corresponding projection point coordinates; Calculate the angle between the direction of motion at the predicted location and the road extension direction of the candidate matching road at the projection point; Determine if the included angle is less than the preset direction consistency threshold. If it is, the projection point passes the traffic direction constraint verification and is used as a candidate point to enter the connectivity constraint verification stage. If not, the projection point fails the traffic direction constraint verification and is directly excluded from the candidate projection point without further verification. Determine whether there is a topological connection between the current candidate matching road and the road where the final corrected positioning result is located at the previous time step, and determine whether the distance of the connected path matches the estimated driving distance; if both are satisfied, the connectivity constraint check is deemed qualified; otherwise, it is deemed unqualified. For projection points that pass the connectivity constraint verification, they are taken as valid projection points. If there are multiple valid projection points, a weighted sum score is calculated based on projection distance, orientation consistency, and connectivity. The projection point with the highest score is selected as the final corrected positioning result for the current moment.
[0025] It can be explained that the projection point calculation specifically includes: for each candidate matching road, its centerline is composed of a series of continuous road shape points. The road shape point closest to the predicted position is found on the candidate road. Then, with the shape point as the center, a vertical projection is made onto the road line segment formed by the adjacent shape points before and after it. The coordinates of the foot of the perpendicular from the predicted position to the line segment are calculated and used as the projection point on the road. If the foot of the perpendicular falls on the extension line of the line segment, the nearest line segment endpoint is taken as the projection point. The traffic direction constraint verification includes: comparing the movement direction of the predicted location with the road extension direction at the road projection point. The road extension direction is obtained from the road attributes of the digital map. For two-way roads, the road extension direction must include both forward and reverse directions. The angle difference between the movement direction and the road extension direction is calculated. If the angle difference is less than the preset direction consistency threshold, the traffic direction constraint is satisfied. That is, when the angle between the movement direction and the road extension is within the direction consistency threshold, the direction is considered consistent. For two-way roads, as long as the angle with either the forward or reverse direction is less than the threshold, it is considered to pass. The direction consistency threshold is determined by statistical calibration of real vehicle data collected in typical scenarios. The specific method is: collecting GNSS trajectory and IMU heading data of the vehicle when it is driving normally on the road, calculating the real angle between the movement direction and the road direction at each moment, statistically analyzing the distribution of all angle values, and taking the 95th percentile as the benchmark value of the direction consistency threshold. It should be noted that the direction constraint verification is the first screening step. Its purpose is to quickly eliminate candidate points that are obviously inconsistent with the road direction. The projection points that pass the verification will enter the next step of connectivity constraint verification, while the points that fail the verification will be directly eliminated and will not participate in subsequent calculations, so as to improve the system processing efficiency. The connectivity constraint verification includes: obtaining the road identifier of the road where the final corrected positioning result was located at the previous moment, and the road identifier of the current candidate matching road, and determining whether the two are the same. If they are the same, it means that the current candidate road and the road at the previous moment are the same road, and the connectivity constraint verification is directly qualified; if they are not equal, it means that the two roads are different roads, and it is necessary to further query the road topology network in the digital map to determine whether there is a connected path between them. If there is a connected path, the distance along the connected path is further calculated, and it is determined whether the distance matches the travel distance estimated based on the vehicle's movement speed. In a specific example, determining whether there is a connected path between the current candidate matching road and the road where the final corrected positioning result was located at the previous moment is achieved by querying the road topology network of the digital map: Get the end node of the road in the previous time step and the start node of the current candidate road; Using the road network as a directed graph, with the end node of the road in the previous time step as the starting point and the starting node of the current candidate road as the target node, a graph search algorithm is used to find whether there is a reachable path. If a reachable path is found, it is determined that a connected path exists, and the distance along that path is further calculated; if no reachable path is found, it is determined that a connected path does not exist, and the connectivity constraint check fails. It should be noted that when multiple candidate roads pass the connectivity check simultaneously, a comprehensive scoring mechanism is used to select the best one. The scoring indicators include: projection distance (the distance from the predicted position to the projection point, the smaller the better), directional consistency (the angle between the direction of movement and the road extension, the smaller the better), and connectivity (the degree of matching between the distance of the connected path and the estimated driving distance, the closer the better). After normalizing each indicator, the weighted sum is obtained to get the comprehensive score of each candidate road. The projection point with the highest score is selected as the final corrected positioning result at the current moment.
[0026] The continuous progressive correction of GNSS dynamic positioning error specifically includes: The final corrected positioning result output at the current moment is stored in the historical trajectory cache and used as the starting reference point for dead reckoning at the next moment. Add the final corrected positioning result at the current moment to the trajectory segment to be corrected, and remove the positioning point at the earliest moment in the trajectory segment to be corrected, keeping the length of the trajectory segment to be corrected constant, to obtain the updated trajectory segment to be corrected. Based on the updated trajectory segment to be corrected, the road matching and topology constraint correction process is re-executed to obtain the final corrected positioning result at the next time step; The cyclical update and correction process ensures that the positioning result at each moment is iteratively optimized based on the correction of the previous moment and the latest map constraints, thereby achieving continuous and progressive correction of GNSS dynamic positioning errors.
[0027] It can be explained that this method uses the final corrected positioning result obtained after road topology constraint verification and comprehensive scoring optimization at each moment as the starting reference point for dead reckoning at the next moment. This mechanism ensures that dead reckoning always starts from a relatively reliable position and effectively suppresses the cumulative error caused by relying solely on inertial measurement units for dead reckoning. It should be noted that the trajectory segments to be corrected are maintained using a sliding window method. The window length is preset during system initialization. Each time a new final corrected positioning result is obtained, it is added to the end of the window, while the historical positioning points at the beginning of the window are removed. This ensures that the window always contains continuous positioning trajectories with the shortest window length, guaranteeing that the trajectory segments participating in road matching are always up-to-date and can reflect the recent movement trend of the vehicle in a timely manner. At the same time, it keeps the computational load of the road matching algorithm stable. Furthermore, by gradually eliminating old data, it avoids the impact of historical errors on the current matching results. It should be noted that road matching and topology constraint correction are not completed all at once, but are repeated at each time step. This iterative mechanism produces a progressive correction effect: at the first time step, the trajectory segment to be corrected may only contain a few positioning points, and the confidence of road matching is relatively low; as the vehicle continues to travel, the trajectory segment gradually accumulates, containing more complete motion features such as turning, acceleration and deceleration, and the accuracy of road matching improves accordingly; the correction results at subsequent time steps become the benchmark points for the next time step, forming a virtuous cycle. It should be noted that the reason why this method can avoid error accumulation is that the correction result at each moment is verified by road topology constraints. As an objective reference system independent of GNSS, the road network provides absolute geographical constraints. No matter how much drift there is in the original GNSS positioning, as long as it can be correctly matched on the road, the corrected position is restricted to the vicinity of the road centerline. The role of dead reckoning is to provide continuous motion trend prediction between two correction moments, so that road matching has reliable initial position and direction information. The two complement each other and together form a closed-loop system with controllable error. Even if matching errors occur occasionally, the errors will be gradually corrected as new data is added in subsequent moments and the sliding window is updated, and will not continue indefinitely. It should be noted that in complex intersections or parallel road scenarios, if multi-hypothesis tracking is initiated, the continuous progressive correction manifests as a process of multiple branches evolving in parallel. The system maintains independent reference points and trajectory segments for each candidate road, and performs dead reckoning and road matching separately. As the vehicle continues to travel, the predicted positions of branches that do not conform to the actual path will gradually deviate from GNSS observations or conflict with road constraints, and will be automatically eliminated by the system. Branches that conform to the actual path will continue to be verified and accumulate higher confidence, eventually becoming the only surviving branch. This process is essentially a progressive correction, except that the best hypothesis is selected among multiple hypotheses.
[0028] Furthermore, the method according to the embodiments of this application can also be achieved by means of... Figure 5 The architecture of the electronic device shown is used to implement this. For example... Figure 5 As shown, the electronic device 500 may include a bus 501, one or more CPUs 502, a read-only memory (ROM) 503, a random access memory (RAM) 504, a communication port 505 connected to a network, an input / output component 506, a hard disk 507, etc. The storage device in the electronic device 500, such as the ROM 503 or the hard disk 507, may store a real-time error compensation method for GNSS dynamic positioning provided in this application. The electronic device 500 may also include a user interface 508. Of course, Figure 5 The architecture shown is merely exemplary and can be omitted as needed when implementing different devices. Figure 5 One or more components in the illustrated electronic device.
[0029] Figure 6 This is a schematic diagram of a computer-readable storage medium structure provided in one embodiment of this application. Figure 6 The diagram illustrates a computer-readable storage medium 600 according to one embodiment of this application. The computer-readable storage medium 600 stores computer-readable instructions. When executed by a processor, the computer-readable instructions can perform a real-time error compensation method for GNSS dynamic positioning according to an embodiment of this application, as described with reference to the above figures. The storage medium 600 includes, but is not limited to, volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc.
[0030] In summary, the advantages of this invention are: by using short-term dead reckoning prediction, dynamic positioning errors and inertial cumulative drift are suppressed, and the positioning results are forced to always be reasonably attached to the real road network, thereby achieving highly reliable, low-cost, continuous and stable dynamic positioning.
[0031] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely principles of the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the claimed invention. The scope of protection claimed by the appended claims and their equivalents is defined.
Claims
1. A real-time error compensation method for GNSS dynamic positioning, characterized in that, include: The raw positioning sequence output by the GNSS receiver is acquired in real time, and the raw positioning sequence is smoothed and filtered to obtain a trajectory segment to be corrected with a continuous motion trend. Based on the location range of the trajectory segment to be corrected, retrieve the digital map data of the corresponding area from local storage and / or cloud server; The similarity of the trajectory segment to be corrected with the candidate roads in the digital map is compared. Based on the degree of matching between the trajectory heading change features and the road curvature features, one or more candidate matching roads are determined. Using the carrier's velocity and direction information output by the inertial measurement unit, combined with the final corrected positioning result output at the previous moment, short-term dead reckoning is performed to obtain the predicted position at the current moment. The predicted location is projected onto the candidate matching road. Based on the road traffic direction constraint and connectivity constraint, the projected point is verified, and the projected point that passes the verification is set as the final corrected positioning result. The final corrected positioning result is used as the reference point for dead reckoning at the next moment, and the trajectory segment to be corrected is updated in real time. By performing road matching and topology constraint correction on the updated trajectory segment to be corrected again, the continuous progressive correction of GNSS dynamic positioning error is achieved.
2. The real-time error compensation method for GNSS dynamic positioning according to claim 1, characterized in that, The process of acquiring the raw positioning sequence output by the GNSS receiver in real time and performing smoothing filtering on the raw positioning sequence to obtain the trajectory segment to be corrected with a continuous motion trend specifically includes: Obtain the original positioning sequence output by the GNSS receiver, and remove isolated noise points in the original positioning sequence based on kinematic constraints; The localization sequence after noise removal is smoothed by Kalman filtering; Extract a continuous trajectory of a preset length from the smoothed positioning sequence as the trajectory segment to be corrected.
3. The real-time error compensation method for GNSS dynamic positioning according to claim 2, characterized in that, The step of retrieving digital map data of the corresponding area from local storage and / or a cloud server based on the location range of the trajectory segment to be corrected specifically includes: Obtain the latitude and longitude coordinates of all positioning points in the trajectory segment to be corrected, and calculate the bounding rectangle range of the trajectory segment to be corrected, which is used as the retrieval area of the digital map; Based on the area to be retrieved, the corresponding digital map data is retrieved from the local storage first. If complete map data covering the area to be retrieved exists in the local storage, it is loaded and used directly. If the complete map data covering the retrieved area is not available in the local storage, a map retrieval request is sent to the cloud server to download the digital map data of the corresponding area and cache it in the local storage.
4. The real-time error compensation method for GNSS dynamic positioning according to claim 3, characterized in that, The step of comparing the trajectory segment to be corrected with candidate roads in the digital map, and determining one or more candidate matching roads based on the degree of matching between trajectory heading change features and road curvature features, specifically includes: Extract the heading angles of each positioning point in the trajectory segment to be corrected, and construct a sequence of trajectory heading angle changes; Extract the curvature variation features of the centerline of each candidate road in the digital map and construct a road curvature feature sequence; The similarity distance between the trajectory heading angle change sequence and the curvature feature sequence of each candidate road is calculated using a dynamic time warping algorithm. Several roads with the smallest similarity distance are selected as candidate matching roads.
5. The real-time error compensation method for GNSS dynamic positioning according to claim 4, characterized in that, The process of using the carrier's velocity and direction information output by the inertial measurement unit, combined with the final corrected positioning result output at the previous moment, to perform short-term dead reckoning and obtain the predicted position at the current moment specifically includes: The system acquires triaxial acceleration and angular velocity data output from the inertial measurement unit and calculates the instantaneous velocity and heading angle of the carrier using a mechanical arrangement algorithm. Using the final corrected positioning result output at the previous moment as the starting reference point, and combining the instantaneous motion velocity and heading angle, the displacement increment within the time interval from the previous moment to the current moment is calculated. The displacement increment is added to the final corrected positioning result of the previous moment to obtain the predicted position coordinates at the current moment.
6. The real-time error compensation method for GNSS dynamic positioning according to claim 5, characterized in that, The process of projecting the predicted location onto the candidate matching road, verifying the projected points based on road traffic direction constraints and connectivity constraints, and setting the verified projected points as the final corrected positioning results specifically includes: For each candidate matching road, the predicted position at the current moment is vertically projected onto the center line of the road to obtain the corresponding projection point coordinates; Calculate the angle between the direction of motion at the predicted location and the road extension direction of the candidate matching road at the projection point; Determine if the included angle is less than the preset direction consistency threshold. If it is, the projection point passes the traffic direction constraint verification and is used as a candidate point to enter the connectivity constraint verification stage. If not, the projection point fails the traffic direction constraint verification and is directly excluded from the candidate projection point without further verification. Determine whether there is a topological connection between the current candidate matching road and the road where the final corrected positioning result is located at the previous time step, and determine whether the distance of the connected path matches the estimated driving distance; if both are satisfied, the connectivity constraint check is deemed qualified; otherwise, it is deemed unqualified. For projection points that pass the connectivity constraint verification, they are taken as valid projection points. If there are multiple valid projection points, a weighted sum score is calculated based on projection distance, orientation consistency, and connectivity. The projection point with the highest score is selected as the final corrected positioning result for the current moment.
7. The real-time error compensation method for GNSS dynamic positioning according to claim 6, characterized in that, The continuous progressive correction of GNSS dynamic positioning error specifically includes: The final corrected positioning result output at the current moment is stored in the historical trajectory cache and used as the starting reference point for dead reckoning at the next moment. Add the final corrected positioning result at the current moment to the trajectory segment to be corrected, and remove the positioning point at the earliest moment in the trajectory segment to be corrected, keeping the length of the trajectory segment to be corrected constant, to obtain the updated trajectory segment to be corrected. Based on the updated trajectory segment to be corrected, the road matching and topology constraint correction process is re-executed to obtain the final corrected positioning result at the next time step; The cyclical update and correction process ensures that the positioning result at each moment is iteratively optimized based on the correction of the previous moment and the latest map constraints, thereby achieving continuous and progressive correction of GNSS dynamic positioning errors.
8. An electronic device, characterized in that, include: At least one processor; And, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform a real-time error compensation method for GNSS dynamic positioning as described in any one of claims 1-7.
9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the real-time error compensation method for GNSS dynamic positioning as described in any one of claims 1-8.