An indoor and outdoor seamless positioning method and device based on fusion of RTK and SLAM
Patent Information
- Application Number
- CN202611323739.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-28
- Publication Date
- 2026-10-30
Smart Images

Figure CN123007779A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and in particular to a seamless indoor and outdoor positioning method and apparatus that integrates RTK and SLAM. Background Technology
[0002] With the development of high-precision satellite positioning technology, RTK (Real-Time Kinematic) technology, due to its centimeter-level positioning accuracy, has been widely applied in scenarios such as intelligent robots, autonomous vehicles, engineering surveying, logistics transportation, and indoor and outdoor continuous navigation. In practical applications, to improve the continuity of positioning in complex environments, RTK positioning technology is usually combined with SLAM (Simultaneous Localization and Mapping) technology. RTK is responsible for providing high-precision absolute positioning information in outdoor environments, while SLAM is responsible for providing environmental mapping and relative pose estimation, thereby achieving synergy between indoor and outdoor positioning capabilities.
[0003] However, in existing RTK and SLAM fusion solutions, when the target object enters areas where satellite signals are blocked, such as indoors, underground parking garages, and tunnels, the RTK positioning results depend on the quality of satellite signals. When the RTK fails to meet the positioning output conditions, the absolute positioning results are easily interrupted. Furthermore, the relative pose information output by SLAM is difficult to directly maintain high-precision absolute positioning, which leads to a decrease in positioning continuity and positioning accuracy during indoor-outdoor switching. Summary of the Invention
[0004] This invention provides a seamless indoor and outdoor positioning method and apparatus that integrates RTK and SLAM to solve the problems of reduced positioning continuity and accuracy during the indoor-outdoor switching process in existing systems.
[0005] In a first aspect, embodiments of this application provide a seamless indoor / outdoor positioning method integrating RTK and SLAM, comprising: acquiring positioning solution data output from the RTK channel and positioning data output from the SLAM channel, and establishing a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data; extracting RTK inter-frame displacement information and SLAM inter-frame displacement information from the dual-channel positioning data set, performing scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain a corresponding target scale factor, and determining a corresponding scale convergence state based on the target scale factor; determining whether the current RTK meets the positioning output conditions based on the solution state data in the positioning solution data, and if so, continuously updating the position of the most recent fixed solution based on the positioning solution data; otherwise... When the scale convergence state indicates that the scale has converged, the position of the nearest fixed solution and the scale factor are locked, and a corresponding combined solution state is generated. The current absolute position is derived through the combined solution state and the cumulative displacement information output by the SLAM channel, and a corresponding combined positioning result is generated. The corresponding positioning accuracy information is determined according to the cumulative travel corresponding to the combined positioning result, and the accuracy identifier corresponding to the combined positioning result is updated according to the positioning accuracy information to continuously output the combined positioning result with the accuracy identifier. During the output of the combined positioning result, the RTK positioning recovery state is continuously detected. When the RTK recovery of the fixed solution is detected, positioning calibration processing is performed according to the position deviation between the recovered RTK positioning result and the combined positioning result, and the RTK positioning output is restored.
[0006] Secondly, embodiments of this application provide an indoor / outdoor seamless positioning device integrating RTK and SLAM, comprising: a data acquisition module, configured to acquire positioning solution data output from the RTK channel and positioning data output from the SLAM channel, and establish a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data; an information extraction module, configured to extract RTK inter-frame displacement information and SLAM inter-frame displacement information from the dual-channel positioning data set, perform scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain a corresponding target scale factor, and determine the corresponding scale convergence state based on the target scale factor; and a condition analysis module, configured to determine whether the current RTK meets the positioning output conditions based on the solution state data in the positioning solution data, and if so, continuously update the position of the most recent fixed solution based on the positioning solution data. When the scale convergence state indicates that the scale has converged, the position of the nearest fixed solution and the scale factor are locked, and a corresponding combined solution state is generated; the position derivation module is used to derive the current absolute position through the combined solution state and the cumulative displacement information output by the SLAM channel, and generate a corresponding combined positioning result; the identifier update module is used to determine the corresponding positioning accuracy information according to the cumulative travel corresponding to the combined positioning result, and update the accuracy identifier corresponding to the combined positioning result according to the positioning accuracy information, so as to continuously output the combined positioning result with the accuracy identifier; the positioning recovery module is used to continuously detect the RTK positioning recovery state during the output of the combined positioning result, and when the RTK recovery of the fixed solution is detected, the positioning calibration process is performed according to the position deviation between the recovered RTK positioning result and the combined positioning result, and the RTK positioning output is restored.
[0007] In one approach provided by the aforementioned method and apparatus, a corresponding dual-channel positioning data set is established by acquiring positioning solution data output from the RTK channel and positioning data output from the SLAM channel. The SLAM inter-frame displacement information is then scaled using RTK inter-frame displacement information to obtain the corresponding target scale factor and scale convergence state. When RTK does not meet the positioning output conditions but scale convergence has occurred, the corresponding combined solution state is generated by locking the nearest fixed solution position and the target scale factor. The combined solution state is then used to derive the corresponding combined positioning result. Simultaneously, the combined positioning result is continuously output by combining positioning accuracy information and accuracy indicators. When RTK recovers the fixed solution, positioning calibration is further performed based on the positional deviation between the recovered RTK positioning result and the combined positioning result, and RTK positioning output is restored. This allows for continuous output of positioning results during indoor / outdoor environment switching, improving positioning continuity and accuracy, and overcoming the existing problems of reduced positioning continuity and accuracy during indoor / outdoor switching. Attached Figure Description
[0008] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0009] Figure 1 This is a schematic diagram of the operating environment in one embodiment of the present invention; Figure 2 This is a flowchart illustrating an indoor and outdoor seamless positioning method that integrates RTK and SLAM in one embodiment of the present invention. Figure 3 This is a schematic diagram of the mechanism for time synchronization matching of dual-channel positioning data in one embodiment of the present invention; Figure 4 This is a schematic diagram of sliding convergence in one embodiment of the present invention; Figure 5 This is a flowchart illustrating the smooth recovery mechanism in one embodiment of the present invention; Figure 6 This is a schematic diagram of the structure of an indoor and outdoor seamless positioning device that integrates RTK and SLAM in one embodiment of the present invention. Detailed Implementation
[0010] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0011] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or collections thereof. It should also be understood that, as used in this specification and the appended claims, the term "and / or" refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0012] Furthermore, in the description of this invention and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0013] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of the invention include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0014] It should be understood that the sequence number of each step in the following embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0015] To illustrate the technical solution of the present invention, specific embodiments are described below.
[0016] This invention provides a seamless indoor and outdoor positioning method that integrates RTK and SLAM, applicable to applications such as... Figure 1 The operating environment shown includes a cloud server and a positioning terminal device, wherein the positioning terminal device communicates with the cloud server via a network or bus.
[0017] In practical applications, the RTK channel continuously outputs positioning solution data, and the SLAM channel continuously outputs positioning data. The positioning terminal device receives the positioning solution data output by the RTK channel and the positioning data output by the SLAM channel, and establishes a dual-channel positioning data set according to a unified data field. The positioning terminal device calculates the RTK inter-frame displacement information and SLAM inter-frame displacement information based on the dual-channel positioning data set, and performs scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain the target scale factor and scale convergence status. When the RTK meets the positioning output conditions, it continuously updates the position of the nearest fixed solution. When the RTK exits the positioning output conditions and the scale convergence status indicates that the scale has converged, it generates a combined solution status. The positioning terminal device derives the corresponding combined positioning result based on the combined solution status and the cumulative displacement information output by the SLAM channel, and determines the positioning accuracy information and accuracy identifier based on the cumulative travel corresponding to the combined positioning result. After the RTK recovers the fixed solution, it completes the positioning calibration process based on the position deviation between the recovered RTK positioning result and the combined positioning result, and restores the RTK positioning output, so that the positioning object maintains continuous absolute positioning results in indoor environments, outdoor environments, and during indoor-outdoor switching.
[0018] The positioning terminal device can be a positioning terminal equipped with an RTK receiver and a SLAM perception device. This positioning terminal device includes, but is not limited to, intelligent robots, unmanned delivery vehicles, autonomous vehicles, engineering surveying terminals, smartphones, tablets, portable wearable devices, and other electronic devices with RTK and SLAM positioning capabilities. The SLAM perception device can include one or more combinations of visual sensors, LiDAR, depth cameras, or inertial measurement units (IMUs).
[0019] The cloud server can be implemented as a standalone cloud server or as a cloud server cluster consisting of multiple cloud servers. The cloud server stores positioning parameters, positioning accuracy mapping relationships, configuration parameters, and historical positioning records, and provides parameter configuration, data synchronization, and result storage services to the positioning terminal device. The positioning terminal device completes positioning solution data acquisition, positioning data acquisition, scale calibration, combined positioning result generation, and positioning recovery processing. Data interaction between the cloud server and the positioning terminal device is completed through a wired or wireless network.
[0020] In one embodiment, such as Figure 2 As shown, a seamless indoor and outdoor positioning method integrating RTK and SLAM is provided, which is then applied to... Figure 1 The following steps are used as an example to illustrate the operating environment shown: S10: Obtain the positioning solution data output from the RTK channel and the positioning data output from the SLAM channel, and establish a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data.
[0021] The RTK channel continuously outputs localization solution data, and the SLAM channel continuously outputs localization data. The localization solution data includes position data, position time identifiers, and solution status data; the localization data includes pose data and pose time identifiers. The localization terminal device establishes a time correspondence based on the position time identifier and pose time identifier, associating the localization solution data and localization data corresponding to the same time slice to form a unified localization record, and writing it into the dual-channel localization data set according to unified data fields. The dual-channel localization data set is stored using a continuous time series organization method. Each unified localization record includes at least a position time identifier, position data, solution status data, pose time identifier, pose data, and a record validity identifier. The record validity identifier is used to indicate whether the corresponding unified localization record meets the localization calculation conditions. When the time difference between the position time identifier and the pose time identifier does not exceed a preset time synchronization threshold, they are determined to belong to the same time slice. The preset time synchronization threshold is determined jointly based on the RTK channel output frequency, the SLAM channel output frequency, and the localization refresh cycle; for example, it can be taken as 10% to 20% of the localization refresh cycle to ensure that the localization solution data and localization data in the same unified localization record have a consistent time reference.
[0022] For example, the RTK channel outputs localization solution data at 10Hz, and the SLAM channel outputs localization data at 30Hz. The localization terminal device matches the three localization data output by the SLAM channel with a localization solution data according to the principle of the closest time to the current position. When the time difference between the position time identifier and the pose time identifier is less than 20ms, the corresponding position data, solution status data, pose data, and corresponding time identifier are written into the same unified localization record and continuously written into the dual-channel localization data set in chronological order. If the time difference exceeds 20ms, the localization data is kept until the next localization solution data is completed and rematched, so that each unified localization record in the dual-channel localization data set corresponds to the RTK localization result and the SLAM localization result of the same time slice.
[0023] S20: Extract RTK inter-frame displacement information and SLAM inter-frame displacement information from the dual-channel positioning data set, perform scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain the corresponding target scale factor, and determine the corresponding scale convergence state based on the target scale factor.
[0024] By reading the RTK position data and SLAM pose data of adjacent unified positioning records in the dual-channel positioning data set, the corresponding RTK inter-frame displacement information and SLAM inter-frame displacement information are calculated. The target scale factor is calculated based on the correspondence between the RTK inter-frame displacement information and the SLAM inter-frame displacement information, and the scale convergence state is determined based on the changes of multiple consecutive target scale factors.
[0025] For example, RTK inter-frame displacement information is calculated based on the position coordinate changes between adjacent unified positioning records, and SLAM inter-frame displacement information is calculated based on the pose changes between adjacent unified positioning records. The target scale factor is obtained through the correspondence between the two. When the change amplitude of multiple consecutive target scale factors is less than the preset convergence threshold, the scale convergence state is determined, indicating that the scale has converged. When the change amplitude of multiple consecutive target scale factors exceeds the preset convergence threshold, the scale convergence state is determined, indicating that the scale has not converged. The preset convergence threshold is set jointly based on the positioning accuracy requirements, RTK positioning accuracy level, and SLAM positioning stability.
[0026] S30: Determine whether the current RTK meets the positioning output conditions based on the solution state data in the positioning solution data. If it does, continuously update the position of the nearest fixed solution based on the positioning solution data. If it does not meet the conditions, and the scale convergence state characterization indicates that the scale has converged, lock the position of the nearest fixed solution and the scale factor, and generate the corresponding combined solution state.
[0027] The RTK positioning status is continuously monitored based on the solution status data. When the RTK maintains a fixed solution state, the current location data is updated to the location of the most recent fixed solution, and the corresponding target scale factor is saved simultaneously. When the RTK continuously exits the fixed solution state and the scale convergence status indicates that the scale has converged, the location of the most recent fixed solution and the target scale factor are locked, and a combined solution state is established. The combined solution state includes at least the location of the most recent fixed solution, the target scale factor, the locking time corresponding to the SLAM positioning data, the cumulative displacement start identifier, and the combined state identifier. The cumulative displacement start identifier is used to determine the starting position of the cumulative displacement information.
[0028] For example, during the period when RTK continuously outputs fixed solution states, the position of the most recent fixed solution is updated every time a new localization solution data is acquired; when RTK does not output fixed solution states for five consecutive localization cycles, and the scale convergence state indicates that the scale has converged, the position of the most recent fixed solution before the fifth localization cycle is taken as the position of the most recent fixed solution, the corresponding target scale factor is written into the combined solution state, and the pose corresponding to the current SLAM localization data is recorded as the starting position of the cumulative displacement.
[0029] S40: Derive the current absolute position by combining the solution state and the cumulative displacement information output by the SLAM channel, and generate the corresponding combined positioning result.
[0030] The nearest fixed solution position in the combined solution state is used as the absolute position reference point. The starting position of the cumulative displacement information of SLAM is determined according to the cumulative displacement start marker. The cumulative displacement information is corrected according to the target scale factor, and the corrected cumulative displacement information is superimposed on the nearest fixed solution position to obtain the current absolute position. The combined positioning result is generated based on the current absolute position and is continuously updated while the combined solution state remains valid.
[0031] For example, when establishing the combined solution state, the current SLAM pose is recorded as the starting position of the cumulative displacement. When the SLAM outputs new pose data, the cumulative displacement information is calculated based on the pose difference between the current pose and the starting position of the cumulative displacement. Then, the target scale factor is used to complete the scale correction, and the current absolute position is calculated by combining it with the position of the most recent fixed solution to form a new combined localization result.
[0032] S50: Determine the corresponding positioning accuracy information based on the cumulative travel distance of the combined positioning result, and update the accuracy identifier corresponding to the combined positioning result based on the positioning accuracy information, so as to continuously output the combined positioning result with the accuracy identifier.
[0033] The cumulative travel distance is calculated based on the cumulative displacement information corresponding to the combined positioning results. The positioning accuracy information is then determined by querying a pre-established positioning accuracy mapping relationship based on the cumulative travel distance. This positioning accuracy mapping relationship is established using a one-to-one correspondence between cumulative travel distance intervals and positioning error intervals. The positioning accuracy mapping relationship is constructed based on experimental calibration results and stored in the positioning terminal device or cloud server. Each cumulative travel distance interval corresponds to unique positioning accuracy information. The positioning terminal device generates an accuracy identifier based on the positioning accuracy information and associates it with the combined positioning results.
[0034] For example, the positioning accuracy mapping relationship stipulates that the first accuracy level corresponds to a cumulative travel distance of 0m to 20m, the second accuracy level corresponds to a cumulative travel distance of 20m to 50m, and the third accuracy level corresponds to a cumulative travel distance of more than 50m. The positioning terminal device determines the corresponding positioning accuracy information based on the range of the cumulative travel distance and generates the corresponding accuracy identifier, which is output together with the current combined positioning result.
[0035] S60: During the output of the combined positioning results, the RTK positioning recovery status is continuously monitored. When the RTK recovery fixed solution is detected, positioning calibration is performed based on the position deviation between the recovered RTK positioning results and the combined positioning results, and the RTK positioning output is restored.
[0036] The system continuously receives positioning solution data output from the RTK channel and determines whether the RTK has returned to a fixed solution state based on the solution status data. When the RTK returns to a fixed solution state, the system calculates the position deviation based on the restored RTK positioning result and the current combined positioning result, and determines whether the position deviation meets a preset positioning consistency condition. The preset positioning consistency condition is jointly determined based on the RTK positioning accuracy, SLAM cumulative positioning error, and allowable recovery error. For example, it is determined that the preset positioning consistency condition is met when the position deviation is less than a preset recovery threshold for three consecutive positioning cycles. When the preset positioning consistency condition is met, the system updates the most recent fixed solution position using the restored RTK positioning result, replaces the absolute position anchor point in the combined solution state, exits the combined solution state, and restores RTK positioning output. When the preset positioning consistency condition is not met, the combined positioning result is continuously output, and the RTK positioning recovery status is continuously monitored.
[0037] For example, if the position deviation of three consecutive positioning cycles after RTK recovers the fixed solution is less than 5cm, it is determined that the preset positioning consistency condition is met, the recovered RTK positioning result is updated to the new nearest fixed solution position, and the combined solution state is exited; if any position deviation in the three consecutive positioning cycles is greater than 5cm, the combined positioning result output is maintained, and the RTK positioning recovery state is continuously monitored until the preset positioning consistency condition is met.
[0038] In this embodiment, by establishing a dual-channel positioning data set, the positioning solution data output by the RTK channel and the positioning data output by the SLAM channel are uniformly organized. The scale calibration of the SLAM inter-frame displacement information is completed based on the RTK inter-frame displacement information. Combined positioning results are generated by combining the target scale factor, the position of the nearest fixed solution, and the combined solution state. The positioning accuracy information and accuracy identifier are dynamically updated based on the cumulative travel. When the RTK recovers the fixed solution, positioning calibration processing is performed and the RTK positioning output is restored. This ensures that the positioning object maintains continuous output of absolute positioning results during the switching between indoor and outdoor environments, and improves positioning continuity and positioning accuracy.
[0039] In one embodiment, such as Figure 3 As shown, in step S10, the positioning solution data output by the RTK channel and the positioning data output by the SLAM channel are obtained, and a corresponding dual-channel positioning data set is established based on the positioning solution data and the positioning data. Specifically, this includes the following steps: S11: Obtain the positioning solution data output by the RTK channel, wherein the positioning solution data includes location data, location time identifier and solution status data.
[0040] The positioning terminal device continuously receives positioning solution data output from the RTK channel and caches each positioning solution data sequentially according to the output order of the RTK channel. The location data is used to represent the spatial coordinates corresponding to the RTK positioning result, and can be represented by any of the following methods: East, North, and Sky (ENU) coordinates, Geocentric-Earth-Fixed (ECEF) coordinates, or latitude and longitude coordinates; the location time identifier is used to represent the acquisition time of the corresponding location data, and can be represented by a timestamp, weekday seconds, or unified time synchronization number; the solution status data is used to represent the current positioning solution status of RTK, and the solution status data includes at least one of the following: fixed solution status, floating-point solution status, and invalid solution status. The fixed solution status indicates that RTK meets the conditions for high-precision positioning output, the floating-point solution status indicates that RTK can output positioning results but the positioning accuracy is lower than that of the fixed solution status, and the invalid solution status indicates that RTK cannot provide a valid positioning result.
[0041] After receiving the positioning solution data, the positioning terminal device performs integrity checks on the location data, location time identifier, and solution status data. When the location data is empty, the location time identifier is missing, or the solution status data is abnormal, the corresponding positioning solution data is marked as invalid positioning solution data. When all three data meet the preset data integrity conditions, the corresponding positioning solution data is written into the RTK positioning cache queue, and the original output order is maintained.
[0042] The preset data integrity condition is determined based on whether the location data is complete, whether the location time identifier is continuous, and whether the solution status data is valid. For example, it is determined that the preset data integrity condition is met when the location data contains complete three-dimensional coordinate information, the location time identifier is continuously increasing, and the solution status data belongs to any one of fixed solution status, floating-point solution status, or invalid solution status.
[0043] For example, the RTK channel continuously outputs positioning solution data at a positioning frequency of 10Hz, with one positioning solution data output every 100ms. Each positioning solution data includes location data (X, Y, Z coordinates), location time identifier, and solution status data. When the location time identifier of the 100th positioning solution data is 10000ms, the location data is (125.632m, 36.258m, 1.462m), and the solution status data is a fixed solution status, the positioning terminal device writes the positioning solution data into the RTK positioning buffer queue after completing the integrity check. When the 101st positioning solution data lacks a location time identifier, the positioning solution data is marked as invalid positioning solution data.
[0044] S12: Obtain the positioning data output by the SLAM channel, wherein the positioning data includes pose data and the corresponding pose time identifier.
[0045] The positioning terminal device continuously receives positioning data output from the SLAM channel and establishes a SLAM positioning buffer queue according to the pose time identifier. The pose data is used to describe the position and attitude information of the positioning object in the SLAM coordinate system, including at least three-dimensional position coordinates and attitude parameters, wherein the attitude parameters include one or more of roll angle, pitch angle and yaw angle; the pose time identifier is used to characterize the generation time of the corresponding pose data and is timed using the same unified time base as the position time identifier.
[0046] SLAM localization data can be output by visual SLAM, laser SLAM, or visual-inertial SLAM. Visual SLAM uses ORB-SLAM, ORB-SLAM2, ORB-SLAM3, or VINS-Mono algorithms to generate pose data; laser SLAM uses LOAM, LeGO-LOAM, or FAST-LIO algorithms to generate pose data. All of the above algorithms are existing mature SLAM localization algorithms, and this application does not make any improvements to the SLAM localization algorithms themselves.
[0047] After receiving the positioning data, the positioning terminal device performs an integrity check on the pose data and pose time identifier. If the pose data is missing or the pose time identifier is abnormal, the corresponding positioning data is marked as invalid positioning data; otherwise, it is written into the SLAM positioning cache queue in the order of pose time identifier.
[0048] For example, the SLAM channel outputs positioning data at 30Hz, and outputs one pose data every 33.3ms. When the pose time is 10002ms, and the corresponding pose data includes three-dimensional position coordinates (5.236m, 2.157m, 0.015m) and attitude angles (roll angle 0.3°, pitch angle 1.2°, yaw angle 92.4°), the positioning terminal device writes the positioning data into the SLAM positioning cache queue after completing the integrity check. If the pose data is missing attitude parameters, the corresponding positioning data is marked as invalid positioning data and will not participate in the synchronous positioning process.
[0049] S13: Establish a correspondence between the position time identifier in the positioning solution data and the pose time identifier in the positioning data, and associate the positioning solution data corresponding to the time with the positioning data to generate the corresponding synchronous positioning unit.
[0050] The positioning terminal device reads data from the RTK positioning buffer queue and the SLAM positioning buffer queue, and establishes a correspondence based on the time difference between the position time identifier and the pose time identifier. The positioning terminal device calculates the time difference between each position time identifier and each pose time identifier, and selects the positioning data with the smallest absolute value of the time difference that meets the preset time synchronization condition as the corresponding matching object. The corresponding positioning solution data and the positioning data are combined to generate a synchronized positioning unit.
[0051] The preset time synchronization condition is determined based on the RTK positioning refresh cycle, the SLAM positioning refresh cycle, and the allowable synchronization error. For example, the allowable synchronization error is defined as 20% of the RTK positioning refresh cycle. When the RTK positioning refresh cycle is 100ms, the allowable synchronization error is set to 20ms. When the time difference between the position time marker and the pose time marker is not greater than 20ms, it is determined that the two meet the time synchronization condition; otherwise, the unmatched data is kept and the system waits for the next positioning cycle to rematch.
[0052] Each synchronization positioning unit includes at least a position time identifier, position data, solution state data, pose time identifier, pose data, and synchronization state identifier, wherein the synchronization state identifier is used to characterize whether the synchronization positioning unit meets the time synchronization condition.
[0053] For example, the location time identifier corresponding to the RTK positioning solution data is 10000ms, and the SLAM positioning data corresponds to the pose time identifiers of 9988ms, 10003ms, and 10037ms, respectively. Then, the time difference calculated by the positioning terminal device is 12ms, 3ms, and 37ms, respectively. Since the time difference corresponding to 10003ms is the smallest and less than 20ms, the positioning solution data corresponding to the location time identifier of 10000ms is combined with the positioning data corresponding to the pose time identifier of 10003ms to generate a synchronous positioning unit, and the synchronization status identifier is set to valid.
[0054] S14: Extract the position data, solution status data, and pose data from each synchronous positioning unit, and organize them into a positioning solution record according to a unified data field.
[0055] The positioning terminal device traverses each synchronous positioning unit, extracts the position data, solution status data, and pose data from the synchronous positioning unit, and generates positioning solution records according to unified data fields.
[0056] The unified data fields include at least the record number, location time identifier, location data, solution status data, pose time identifier, pose data, synchronization status identifier, and record validity identifier. The record number is generated continuously in chronological order, and the record validity identifier is used to identify whether the current positioning solution record meets the scale calibration processing conditions.
[0057] The positioning terminal device writes each data item sequentially according to a unified data field, so that all positioning solution records have a consistent data structure, thereby ensuring that position data, solution status data and pose data can be read directly according to the same fields during the scale calibration process.
[0058] For example, if the location time identifier corresponding to the synchronous positioning unit is 10000ms, the pose time identifier is 10003ms, the location data is (125.632m, 36.258m, 1.462m), the pose data is (5.236m, 2.157m, 0.015m, 0.3°, 1.2°, 92.4°), and the solution status data is a fixed solution status, then the positioning terminal device generates a positioning solution record and sequentially writes the record number, location time identifier, location data, solution status data, pose time identifier, pose data, synchronization status identifier, and record validity identifier.
[0059] S15: Write each positioning solution record into a unified positioning data buffer in chronological order to establish a corresponding dual-channel positioning data set. The RTK data in the dual-channel positioning data set is constructed using the positioning solution data output by the RTK channel and does not include the original RTK satellite observation data, so that scale calibration, combined solution generation and positioning recovery are all performed based on the dual-channel positioning data set.
[0060] The positioning terminal device continuously writes each positioning solution record into a unified positioning data buffer in ascending order of record number and location time identifier, and establishes a dual-channel positioning data set. The unified positioning data buffer adopts a sequential storage structure or a circular cache structure. Each positioning solution record corresponds to a data node in the dual-channel positioning data set, and the data nodes are arranged continuously in chronological order.
[0061] The RTK data in the dual-channel positioning dataset is constructed entirely from the positioning solution data output by the RTK channel. Only the position data, position time identifier, and solution status data are saved. The original RTK satellite observation data, carrier phase observation values, pseudorange observation values, or satellite ephemeris data are not saved. This allows the dual-channel positioning dataset to be directly organized using the RTK positioning results and SLAM positioning results, thereby reducing the complexity of data organization and ensuring that scale calibration, combined solution generation, combined positioning result generation, and positioning recovery processing are all completed based on a unified data structure.
[0062] For example, after the positioning terminal device continuously generates 1,000 positioning solution records, it writes them sequentially into a unified positioning data buffer according to the record numbers 1 to 1,000, forming a dual-channel positioning data set containing 1,000 data nodes. Each data node includes position data, position time identifier, solution status data, pose data, and pose time identifier, without saving the original RTK satellite observation data. This allows the RTK inter-frame displacement information and SLAM inter-frame displacement information to be directly calculated by reading any two adjacent data nodes.
[0063] In one embodiment, such as Figure 4As shown, in step S20, RTK inter-frame displacement information and SLAM inter-frame displacement information are extracted based on the dual-channel positioning data set. The SLAM inter-frame displacement information is then scaled using the RTK inter-frame displacement information to obtain the corresponding target scale factor. Finally, the corresponding scale convergence state is determined based on the target scale factor. The specific steps include the following: S21: Synchronize and match the RTK positioning solution data and SLAM positioning data according to the time stamp in the dual-channel positioning data set, and extract the RTK position data and SLAM pose data corresponding to adjacent time points.
[0064] The positioning terminal device reads each positioning solution record from the dual-channel positioning data set and reconstructs the time series according to the order of the position time identifier and the pose time identifier. The positioning terminal device sequentially selects two positioning solution records with consecutive time as a group of adjacent positioning records, and extracts the RTK position data and SLAM pose data from the two groups of positioning records respectively to form corresponding RTK position data pairs and SLAM pose data pairs.
[0065] Since all positioning solution records in the dual-channel positioning dataset have been synchronized according to a unified time base, the data changes between adjacent positioning records corresponding to adjacent positioning cycles are as follows: The positioning terminal device only extracts positioning solution records with valid record validity and valid synchronization status for calculation; when any positioning solution record has an invalid record validity or synchronization status, the corresponding positioning record is discarded, and the next positioning solution record is read to re-establish the adjacent positioning record.
[0066] Adjacent moments are defined as two adjacent positioning solution records in the dual-channel positioning data set whose position time identifiers are continuously increasing and whose time interval meets a preset positioning cycle condition. The preset positioning cycle condition is determined based on the RTK positioning refresh cycle, the SLAM positioning refresh cycle, and the allowable time deviation. For example, it is determined that two consecutive positioning solution records are considered to be adjacent moments when the position time identifier interval between them is 80ms to 120ms.
[0067] For example, if the location time identifier of the 100th location solution record in the dual-channel positioning dataset is 10000ms and the location time identifier of the 101st location solution record is 10100ms, then the positioning terminal device extracts the RTK location data from the 100th and 101st location solution records as a set of RTK location data, and simultaneously extracts the corresponding SLAM pose data as a set of SLAM pose data. When the record validity identifier of the 101st location solution record is invalid, the positioning terminal device skips the 101st location solution record and reads the 102nd location solution record to re-establish the adjacent positioning record.
[0068] S22: Calculate the corresponding RTK inter-frame displacement information based on the RTK position data of adjacent time points, and calculate the corresponding SLAM inter-frame displacement information based on the SLAM pose data of adjacent time points.
[0069] The positioning terminal device calculates RTK inter-frame displacement information based on the positional changes between two sets of RTK position data, and calculates SLAM inter-frame displacement information based on the pose changes between two sets of SLAM pose data.
[0070] The RTK inter-frame displacement information includes the RTK displacement vector and the RTK displacement length; the SLAM inter-frame displacement information includes the SLAM displacement vector and the SLAM displacement length. The positioning terminal device calculates the RTK displacement vector based on the coordinate difference between the current position data and the previous position data, and calculates the RTK displacement length based on the Euclidean distance; it also calculates the SLAM displacement vector based on the position change between the current pose data and the previous pose data, and calculates the SLAM displacement length based on the Euclidean distance.
[0071] The Euclidean distance calculation method is used to calculate the straight-line distance between two points in three-dimensional space. This application uses the existing technology to calculate the RTK displacement length and SLAM displacement length without improving the Euclidean distance calculation method itself.
[0072] When the RTK displacement length or SLAM displacement length is less than the preset minimum movement distance, the positioning terminal device determines that the current positioning object has not undergone effective movement and will not participate in the scale calibration process. The preset minimum movement distance is set based on the RTK positioning accuracy, SLAM positioning resolution, and positioning noise level, for example, it is set to 0.05m.
[0073] For example, if the previous RTK position data was (125.632m, 36.258m, 1.462m) and the current RTK position data is (125.985m, 36.511m, 1.465m), the positioning terminal device calculates the corresponding RTK displacement vector and RTK displacement length. The corresponding SLAM pose data are (5.236m, 2.157m, 0.015m) and (5.621m, 2.402m, 0.019m), respectively. The positioning terminal device calculates the corresponding SLAM displacement vector and SLAM displacement length. When the RTK displacement length is 0.434m and the SLAM displacement length is 0.452m, the two sets of displacement information are used as the RTK inter-frame displacement information and SLAM inter-frame displacement information corresponding to the same positioning cycle for scale calibration.
[0074] S23: Determine the corresponding single-frame scale ratio based on the RTK inter-frame displacement information and the SLAM inter-frame displacement information, and write each single-frame scale ratio into the scale calibration cache set according to the preset data update order.
[0075] The positioning terminal device calculates the single-frame scale ratio based on the RTK displacement length and SLAM displacement length corresponding to the same positioning cycle. The single-frame scale ratio represents the proportional relationship between the actual RTK motion scale and the relative SLAM motion scale, and it is calculated as the ratio of the RTK displacement length to the SLAM displacement length.
[0076] The positioning terminal device establishes a scale calibration cache set to continuously store the scale ratio of a single frame corresponding to multiple positioning cycles. The scale calibration cache set is established using a sequential queue structure or a circular queue structure. Each cache node corresponds to a positioning cycle, and each cache node includes at least a record number, a location time identifier, a single frame scale ratio, and a cache validity identifier.
[0077] The positioning terminal device writes the new single-frame scale ratio to the scale calibration cache set according to the preset data update order. When the scale calibration cache set has not reached the preset cache capacity, the new single-frame scale ratio is appended to the end of the set; when the scale calibration cache set reaches the preset cache capacity, the earliest single-frame scale ratio written at the beginning of the set is deleted, and the new single-frame scale ratio is written to the end of the set.
[0078] The preset cache capacity is set based on the RTK positioning refresh frequency, SLAM positioning refresh frequency, and scale convergence determination period, for example, it is set to 30 consecutive positioning periods.
[0079] For example, if the scale ratios of single frames corresponding to 30 consecutive positioning cycles are 0.964, 0.969, 0.971...0.973, the positioning terminal device writes them into the scale calibration cache set in chronological order. When the scale ratio of the 31st single frame is 0.972, the scale ratio of the first single frame, 0.964, is deleted from the set, and the scale ratio of the 31st single frame is written to the end of the set, so that the scale calibration cache set always retains the scale ratios of the single frames corresponding to the most recent 30 positioning cycles.
[0080] S24: Determine the corresponding target scale factor based on the scale ratio of each single frame in the scale calibration buffer set, and determine the corresponding scale stability based on the changes of multiple consecutive target scale factors.
[0081] The positioning terminal device reads all single-frame scale ratios from the scale calibration buffer set and determines the target scale factor based on each single-frame scale ratio.
[0082] The positioning terminal device uses a moving average algorithm to calculate the target scale factor. The moving average algorithm is a mature existing data smoothing algorithm. Its calculation method is to average the scale ratios of multiple single frames in the scale calibration buffer set. This application uses the moving average algorithm to improve the stability of the target scale factor without improving the moving average algorithm itself.
[0083] The positioning terminal device continuously stores target scale factors corresponding to multiple positioning cycles and determines the scale stability based on the changes between multiple consecutive target scale factors. The scale stability is characterized by the rate of change of the target scale factors, which is defined as the absolute value of the difference between two adjacent target scale factors.
[0084] For example, the target scale factor of 0.9715 is calculated by using a moving average algorithm for the scale ratio of 30 single frames in the scale calibration buffer set; the target scale factor of 0.9718 is recalculated in the next positioning cycle, and the target scale factor change rate is calculated to be 0.0003. After obtaining multiple target scale factor change rates in succession, a continuous change sequence is formed, and the scale stability is determined based on the continuous change sequence.
[0085] S25: When the scale stability meets the preset convergence condition, the scale convergence state is determined to indicate that the scale has converged; otherwise, the scale convergence state is determined to indicate that the scale has not converged.
[0086] The positioning terminal device determines whether the target scale factor has entered a stable state based on the scale stability and generates a scale convergence state.
[0087] The preset convergence condition is determined based on the threshold of the rate of change of the continuous target scale factors and the number of times it is satisfied consecutively. For example, it is determined that the preset convergence condition is met when the rate of change of 10 consecutive target scale factors is no greater than 0.001; if any rate of change of the continuous target scale factors is greater than 0.001, it is determined that the preset convergence condition is not satisfied.
[0088] When the preset convergence conditions are met, the positioning terminal device sets the scale convergence status to scale converged; when the preset convergence conditions are not met, the scale convergence status is set to scale non-converged, and the scale calibration cache set, target scale factor and scale stability are updated according to the positioning cycle until the preset convergence conditions are met.
[0089] For example, if the target scale factors corresponding to 10 consecutive positioning cycles are 0.9715, 0.9716, 0.9716, 0.9717, 0.9718, 0.9718, 0.9719, 0.9719, 0.9720, and 0.9720 respectively, and the rate of change of each adjacent target scale factor is less than 0.001, then the positioning terminal device determines that the scale stability meets the preset convergence condition and updates the scale convergence status to "scale has converged". If any rate of change reaches 0.003, then the scale convergence status remains "scale has not converged", and the target scale factors are continuously updated until the preset convergence condition is met again.
[0090] In one embodiment, step S30 involves determining whether the current RTK meets the positioning output conditions based on the solution state data in the positioning solution data. If the conditions are met, the position of the nearest fixed solution is continuously updated based on the positioning solution data. If the conditions are not met, and the scale convergence state characterization indicates that the scale has converged, the position of the nearest fixed solution and the scale factor are locked, and the corresponding combined solution state is generated. Specifically, this includes the following steps: S31: Obtain the solution status data corresponding to the current positioning solution data, and determine whether the current RTK is in a fixed solution state based on the solution status data.
[0091] The positioning terminal device continuously reads newly written positioning solution records from the dual-channel positioning data set and extracts the solution status data from the current positioning solution record. Based on the solution status data, it determines whether the current RTK is in a fixed solution state. The solution status data uses the solution status identifier from the positioning solution data output by the RTK channel, without recalculating the RTK positioning state.
[0092] The fixed solution state indicates that the RTK positioning result meets the centimeter-level positioning output condition; the floating-point solution state indicates that the RTK positioning result can still output position data, but the carrier ambiguity is not yet fixed; the invalid solution state indicates that the RTK cannot output a valid positioning result. When the solution state data is a fixed solution state, it is determined that the current RTK meets the positioning output condition; when the solution state data is a floating-point solution state or an invalid solution state, it is determined that the current RTK does not meet the positioning output condition.
[0093] The positioning terminal device continuously updates the current RTK positioning status based on the solution status data corresponding to each positioning cycle, so that the RTK positioning status is always consistent with the RTK channel output.
[0094] For example, if the RTK channel continuously outputs positioning solution data, and the solution status data corresponding to the 201st positioning cycle is a fixed solution status, then the positioning terminal device determines that the current RTK meets the positioning output conditions; if the solution status data corresponding to the 202nd positioning cycle changes to a floating-point solution status, then the positioning terminal device immediately updates the current RTK positioning status to not meet the positioning output conditions; if the solution status data corresponding to the 203rd positioning cycle is an invalid solution status, then the current RTK continues to be considered as not meeting the positioning output conditions.
[0095] S32: When the RTK is in a fixed solution state, update the position of the nearest fixed solution based on the position data in the current localization solution data, and update the corresponding target scale factor synchronously.
[0096] When the current RTK is in a fixed solution state, the positioning terminal device reads the location data in the current positioning solution data and uses the current location data to overwrite the most recently saved fixed solution position. At the same time, it reads the target scale factor corresponding to the current scale convergence state and synchronously updates the target scale factor to the parameter record corresponding to the most recently fixed solution position.
[0097] The location of the most recent fixed solution is always stored in the location data corresponding to the most recent fixed solution state; the target scale factor is always stored in the target scale factor corresponding to the most recent scale convergence state, so that the location of the most recent fixed solution and the target scale factor maintain the same positioning cycle correspondence.
[0098] The positioning terminal device synchronously records the location time identifier corresponding to the most recent fixed solution location, and uses the location time identifier as the reference time for calculating the cumulative displacement information.
[0099] For example, if RTK continuously maintains a fixed solution state, the location data corresponding to the 350th positioning cycle is (256.832m, 138.264m, 2.106m), and the target scale factor is 0.9736. Then, the positioning terminal device updates the location data to the location of the most recent fixed solution, and saves the target scale factor of 0.9736, and records the location time identifier 35000ms. When the 351st positioning cycle still maintains a fixed solution state, the new location data is used to overwrite the location of the most recent fixed solution, and the corresponding target scale factor is updated synchronously.
[0100] S33: When the RTK exits the fixed solution state, determine whether the current RTK continuously fails to meet the positioning output conditions based on the solution state data corresponding to multiple consecutive positioning cycles.
[0101] After detecting that the current RTK has exited the fixed solution state, the positioning terminal device does not immediately establish a combined solution state. Instead, it continuously reads the solution state data corresponding to multiple positioning cycles and determines whether the current RTK continues to fail to meet the positioning output conditions based on the changes in the RTK positioning state within multiple consecutive positioning cycles.
[0102] The positioning terminal device establishes a positioning status detection window, which continuously stores solution status data corresponding to multiple positioning cycles according to the positioning cycle. The positioning status detection window is established using a circular cache structure, and each cache node includes a location time identifier, solution status data, and a positioning cycle number.
[0103] When all solution state data in the positioning status detection window does not belong to the fixed solution state, it is determined that the RTK continuously fails to meet the positioning output conditions; when the fixed solution state reappears in the positioning status detection window, it is determined that the RTK meets the positioning output conditions again, and the combined solution state establishment is not performed.
[0104] The length of the positioning status detection window is determined based on the RTK positioning refresh frequency, the duration of short-term fluctuations in satellite signals, and the stability of positioning switching. For example, when the RTK positioning refresh frequency is 10Hz, the positioning status detection window is set to continuously detect the RTK positioning status for 5 positioning cycles, i.e., continuously within 0.5 seconds.
[0105] For example, if the solution status data for 5 consecutive RTK positioning cycles are floating-point solution status, floating-point solution status, invalid solution status, invalid solution status, and floating-point solution status respectively, then the positioning terminal device determines that RTK continuously fails to meet the positioning output conditions; if the fourth positioning cycle out of 5 consecutive positioning cycles restores the fixed solution status, then the positioning terminal device terminates the determination that the positioning output conditions are continuously failed and resumes the latest fixed solution position update process.
[0106] S34: When the positioning output conditions are not met and the scale convergence state characterization indicates that the scale has converged, lock the location of the most recently updated fixed solution and the corresponding target scale factor, and establish the correlation between the location of the most recently updated fixed solution, the target scale factor and the current SLAM positioning data to generate the corresponding combined solution state.
[0107] When the positioning terminal device determines that the RTK continuously fails to meet the positioning output conditions and the current scale convergence state indicates that the scale has converged, it locks the most recently updated fixed solution position and the corresponding target scale factor, and no longer updates them with changes in the RTK positioning state. It then reads the current SLAM positioning data to establish a combined solution state.
[0108] The combined solution state includes at least a combined state identifier, the location of the most recent fixed solution, the target scale factor, SLAM pose start data, SLAM pose start time identifier, cumulative displacement start identifier, and combined state establishment time. Specifically, the SLAM pose start data records the SLAM pose data corresponding to the time the combined solution state is established; the SLAM pose start time identifier identifies the starting time of the SLAM cumulative displacement information; and the cumulative displacement start identifier indicates that all cumulative displacement information is calculated using the SLAM pose start data as a reference point.
[0109] After the positioning terminal device completes the establishment of the combined solution state, it updates the combined state identifier to be valid. While the combined state identifier remains valid, the location of the most recent fixed solution and the target scale factor remain locked and will no longer be updated in response to changes in the RTK positioning state, until the RTK recovers the fixed solution and exits the combined solution state.
[0110] For example, if the most recent fixed solution position is (256.832m, 138.264m, 2.106m), corresponding to a target scale factor of 0.9736, and the fixed solution has not been recovered in 5 consecutive RTK positioning cycles, while the scale convergence state indicates that the scale has converged, then the positioning terminal device reads the current SLAM pose data (12.536m, 8.241m, 0.162m) as the SLAM pose start data, and records the current pose time marker 35200ms. It establishes a combined solution state including the combined state marker, the most recent fixed solution position, the target scale factor, the SLAM pose start data, the SLAM pose start time marker, the cumulative displacement start marker, and the combined state establishment time. During the combined positioning process, the current absolute position is always derived based on this combined solution state.
[0111] In one embodiment, step S40, which involves deriving the current absolute position by combining the solution state and the cumulative displacement information output by the SLAM channel, and generating the corresponding combined positioning result, specifically includes the following steps: S41: Obtain the location of the nearest fixed solution, the target scale factor, and the SLAM positioning data corresponding to the combined solution state, and calculate the cumulative displacement information from the moment the nearest fixed solution location was locked based on the SLAM positioning data.
[0112] The positioning terminal device detects the combination status identifier corresponding to the combination solution status. When the combination status identifier is valid, it reads the location of the most recent fixed solution, the target scale factor, the SLAM pose start data and the SLAM pose start time identifier stored in the combination solution status, and continuously acquires the SLAM positioning data output in real time by the SLAM channel.
[0113] The positioning terminal device calculates the change in position relative to the time of establishment of the combined solution state based on the currently acquired SLAM positioning data and the initial SLAM pose data in the combined solution state, and determines the change in position as the cumulative displacement information. The cumulative displacement information includes the cumulative displacement vector, the cumulative displacement length, and the cumulative motion direction; the cumulative displacement vector represents the change in position relative to the initial SLAM pose data, the cumulative displacement length represents the Euclidean distance corresponding to the cumulative displacement vector, and the cumulative motion direction represents the orientation angle corresponding to the cumulative displacement vector.
[0114] The cumulative displacement information is calculated starting from the SLAM pose start time. While the combined solution state remains valid, the starting reference point for the cumulative displacement information is not re-established, so that the cumulative displacement information always corresponds to the same absolute position reference.
[0115] The cumulative displacement length is calculated using the Euclidean distance method; the cumulative motion direction is determined using the arctangent function method. The corresponding direction angle is calculated based on the coordinate changes of the cumulative displacement vector in the plane coordinate system. This application uses the above-mentioned existing calculation method to complete the calculation of the cumulative motion direction without improving the calculation method itself.
[0116] For example, when the combined solution state is established, the initial SLAM pose data is (12.536m, 8.241m, 0.162m). After several positioning cycles, the current SLAM positioning data is updated to (18.864m, 11.932m, 0.188m). The positioning terminal device then calculates the cumulative displacement vector (6.328m, 3.691m, 0.026m) based on the two sets of SLAM positioning data. It further calculates the cumulative displacement length to be approximately 7.326m. At the same time, it calculates the cumulative motion direction based on the cumulative displacement vector and combines the cumulative displacement vector, cumulative displacement length, and cumulative motion direction to form the current cumulative displacement information.
[0117] S42: Scale the cumulative displacement information according to the target scale factor to obtain the corresponding target cumulative displacement information.
[0118] The positioning terminal device reads the target scale factor locked and saved in the combined solution state, and performs scale correction processing on the cumulative displacement information according to the target scale factor to eliminate the cumulative scale error of SLAM positioning data.
[0119] Specifically, the positioning terminal device reads each coordinate component of the cumulative displacement vector and uses the target scale factor to proportionally correct each coordinate component, so that each coordinate component of the cumulative displacement vector is converted to the RTK positioning coordinate scale according to a unified ratio; then, the target cumulative displacement length is recalculated based on the corrected cumulative displacement vector, while retaining the cumulative motion direction, to generate the target cumulative displacement information.
[0120] The target cumulative displacement information includes the target cumulative displacement vector, the target cumulative displacement length, and the target cumulative motion direction. The target cumulative displacement vector represents the cumulative position change after scale correction; the target cumulative displacement length represents the corrected cumulative motion distance; the target cumulative motion direction remains consistent with the cumulative motion direction, ensuring that the direction of the cumulative motion trajectory does not change, only the motion scale is corrected.
[0121] During the entire period when the combined solution state remains valid, the positioning terminal device always uses the same target scale factor to perform scale correction. When the combined solution state exits, it stops using the current target scale factor to perform scale correction.
[0122] For example, if the cumulative displacement vector is (6.328m, 3.691m, 0.026m) and the target scale factor corresponding to the combined solution state is 0.9736, then the positioning terminal device performs proportional correction on the three coordinate components to obtain the target cumulative displacement vector (6.161m, 3.594m, 0.025m). The target cumulative displacement length is recalculated to be approximately 7.132m, while keeping the cumulative motion direction unchanged. The corrected target cumulative displacement vector, target cumulative displacement length, and target cumulative motion direction are combined to form the target cumulative displacement information.
[0123] S43: Derive the current absolute position based on the most recent fixed solution position and the target cumulative displacement information, and generate the corresponding combined positioning result based on the current absolute position; while the combined solution state remains valid, continuously acquire the latest SLAM positioning data, and repeatedly update the target cumulative displacement information and the corresponding combined positioning result.
[0124] The positioning terminal device reads the position of the nearest fixed solution in the combined solution state and uses the position of the nearest fixed solution as the reference point for the current absolute position; it reads the target cumulative displacement vector in the target cumulative displacement information and superimposes the target cumulative displacement vector onto the position of the nearest fixed solution to derive the current absolute position.
[0125] The positioning terminal device generates a combined positioning result based on the derived current absolute position. This combined positioning result includes at least the current position coordinates, the current position time stamp, the combined status stamp, and the corresponding positioning source stamp. The positioning source stamp indicates that the current positioning result originates from a combined solution state, rather than an RTK fixed solution state.
[0126] While the combined solution state remains valid, the positioning terminal device continuously acquires the latest SLAM positioning data output by the SLAM channel according to the positioning cycle, and recalculates the cumulative displacement information, target cumulative displacement information, and current absolute position, ensuring that the combined positioning result is continuously updated according to the SLAM positioning data update frequency. When the combined state identifier is detected to be invalid or the RTK reverts to the fixed solution state, the positioning terminal device stops deriving the current absolute position based on the target cumulative displacement information and exits the combined positioning result generation process.
[0127] The current location time identifier uses the pose time identifier corresponding to the current SLAM positioning data, so that the combined positioning result maintains a time reference consistent with the SLAM positioning data.
[0128] For example, if the most recent fixed solution position is (256.832m, 138.264m, 2.106m) and the target cumulative displacement vector is (6.161m, 3.594m, 0.025m), then the positioning terminal device calculates the current absolute position as (262.993m, 141.858m, 2.131m) and generates the current combined positioning result. After the next positioning cycle, the SLAM positioning data is updated, and the target cumulative displacement vector is recalculated as (6.305m, 3.716m, 0.028m). Then the positioning terminal device re-derives the current absolute position as (263.137m, 141.980m, 2.134m) and updates the corresponding combined positioning result until the RTK returns to the fixed solution state.
[0129] In one embodiment, step S50, which involves determining the corresponding positioning accuracy information based on the cumulative travel distance corresponding to the combined positioning result, and updating the accuracy identifier corresponding to the combined positioning result based on the positioning accuracy information, to continuously output the combined positioning result with the accuracy identifier, specifically includes the following steps: S51: Obtain the cumulative displacement information corresponding to the combined positioning result, calculate the corresponding cumulative travel based on the cumulative displacement information, and query the pre-established positioning accuracy mapping relationship based on the cumulative travel to determine the corresponding positioning accuracy information.
[0130] The positioning terminal device continuously reads the target cumulative displacement information corresponding to the current combined positioning result, extracts the target cumulative displacement length, and calculates the cumulative travel distance since the establishment of the combined solution state based on the target cumulative displacement length. The cumulative travel distance represents the total distance moved by the positioning object since the establishment of the combined solution state, which is obtained by continuously adding the target cumulative displacement length corresponding to each positioning cycle.
[0131] The positioning terminal device pre-establishes a positioning accuracy mapping relationship and queries the corresponding positioning accuracy information based on the cumulative travel distance. This mapping relationship is established using a segmented mapping table, which includes at least the cumulative travel distance interval, positioning accuracy information, and the corresponding accuracy level. The positioning accuracy mapping relationship is jointly calibrated based on the SLAM cumulative error growth law, RTK positioning accuracy, and target scale factor correction accuracy. For example, in typical application environments, a large amount of trajectory data corresponding to RTK fixed solution states and SLAM combined positioning states can be collected separately. The positioning error of the combined positioning result relative to the RTK fixed solution position under different cumulative travel distances can be statistically analyzed, and a correspondence between cumulative travel distance and positioning accuracy information can be established based on the statistically obtained error distribution. When the cumulative travel distance falls within the corresponding cumulative travel distance interval, the positioning terminal device reads the corresponding positioning accuracy information.
[0132] The positioning accuracy information is represented by a positioning error range, such as ±0.05m, ±0.10m, ±0.20m, ±0.50m, etc., which is used to characterize the expected positioning error range corresponding to the current combined positioning result.
[0133] For example, after the combined solution state is established, the cumulative displacement length of the target in the first positioning cycle is 0.42m, the cumulative displacement length of the target in the second positioning cycle is 0.35m, and the cumulative displacement length of the target in the third positioning cycle is 0.48m. Then, the positioning terminal device calculates the cumulative travel distance as 1.25m. In the positioning accuracy mapping relationship, the positioning accuracy information corresponding to the cumulative travel distance of 0-5m is predefined as ±0.05m, the positioning accuracy information corresponding to the cumulative travel distance of 5-15m is ±0.10m, and the positioning accuracy information corresponding to the cumulative travel distance of 15-30m is ±0.20m. Then, the positioning terminal device queries and obtains the positioning accuracy information corresponding to the current cumulative travel distance as ±0.05m.
[0134] S52: Generate a corresponding accuracy identifier based on the positioning accuracy information, and associate the accuracy identifier with the current combined positioning result.
[0135] The positioning terminal device generates a corresponding accuracy identifier based on the currently determined positioning accuracy information and writes the accuracy identifier into the current combined positioning result, so that the combined positioning result and the corresponding positioning accuracy information are kept synchronously associated.
[0136] The accuracy identifier includes an accuracy level identifier and a positioning accuracy value identifier. The accuracy level identifier indicates the positioning accuracy level of the current combined positioning result; the positioning accuracy value identifier records the corresponding positioning accuracy information. Accuracy levels are divided according to positioning accuracy information. For example, positioning accuracy information no greater than ±0.05m corresponds to Level A, positioning accuracy information greater than ±0.05m and no greater than ±0.10m corresponds to Level B, positioning accuracy information greater than ±0.10m and no greater than ±0.20m corresponds to Level C, and positioning accuracy information greater than ±0.20m corresponds to Level D. The above level division is pre-set based on the positioning accuracy mapping relationship and can be configured according to different application scenarios.
[0137] The positioning terminal device organizes the accuracy identifier, the current location coordinates, the current location time identifier, and the combined status identifier in the combined positioning result into a unified positioning output record, so that each output combined positioning result carries the corresponding positioning accuracy information.
[0138] For example, if the positioning terminal device obtains the positioning accuracy information as ±0.10m based on the cumulative travel, it will generate the corresponding accuracy level identifier "Level B" and the positioning accuracy value identifier "±0.10m", and write the two into the current combined positioning result, so that the current combined positioning result includes the current location coordinates, the current location time identifier, the combined status identifier, the positioning source identifier, the accuracy level identifier, and the positioning accuracy value identifier.
[0139] S53: As the cumulative travel continues to increase, the corresponding positioning accuracy information is re-determined based on the updated cumulative travel, and the accuracy identifier corresponding to the combined positioning result is updated synchronously to continuously output the combined positioning result with the accuracy identifier.
[0140] While the combined solution state remains valid, the positioning terminal device continuously updates the cumulative displacement information of the target according to each positioning cycle and recalculates the cumulative travel. When the cumulative travel changes, it re-queries the positioning accuracy mapping relationship, determines the updated positioning accuracy information, and synchronously updates the corresponding accuracy identifier.
[0141] When the updated cumulative travel distance is still within the original cumulative travel distance range, the current positioning accuracy information and accuracy identifier remain unchanged; when the updated cumulative travel distance enters a new cumulative travel distance range, the corresponding positioning accuracy information is reread, and the accuracy level identifier and positioning accuracy value identifier are updated synchronously, so that the combined positioning result reflects the expected positioning accuracy corresponding to the current cumulative travel distance.
[0142] Each time the positioning terminal device outputs a combined positioning result, it writes the latest accuracy identifier into the corresponding positioning output record and continuously maintains the one-to-one correspondence between the combined positioning result, cumulative travel, positioning accuracy information, and accuracy identifier until the combined solution state exits or the RTK returns to the fixed solution state.
[0143] For example, if the current cumulative travel distance increases from 4.92m to 5.18m, crossing the boundary of the cumulative travel distance interval in the positioning accuracy mapping relationship, the positioning terminal device will re-query the positioning accuracy mapping relationship based on the cumulative travel distance of 5.18m, update the positioning accuracy information from ±0.05m to ±0.10m, and update the accuracy level identifier from level A to level B. The updated accuracy level identifier and positioning accuracy value identifier will be synchronously written into the current combined positioning result. When the cumulative travel distance continues to increase to 8.60m, since it is still within the 5-15m cumulative travel distance interval, the current positioning accuracy information and accuracy identifier will remain unchanged.
[0144] The following section continues in the same patent specification writing style as before, and further supplements the implementation details of each step to ensure that the entire technical solution forms a complete closed loop, while avoiding the problem of insufficient disclosure.
[0145] In one embodiment, such as Figure 5 As shown, in step S60, during the process of outputting the combined positioning result, the RTK positioning recovery status is continuously monitored. When the RTK recovery fixed solution is detected, positioning calibration processing is performed based on the position deviation between the recovered RTK positioning result and the combined positioning result, and the RTK positioning output is restored. Specifically, the steps include the following: S61: During the process of outputting the combined positioning results, continuously acquire the positioning solution data output by the RTK channel, and determine whether the RTK has recovered to the fixed solution state based on the solution status data in the positioning solution data.
[0146] While the combined solution state remains valid, the positioning terminal device does not stop acquiring data from the RTK channel. Instead, it continuously acquires the positioning solution data output by the RTK channel according to the positioning output frequency corresponding to the RTK channel, and analyzes the solution state data in the positioning solution data in real time.
[0147] The positioning terminal device continuously determines whether the RTK positioning state has recovered from a floating-point solution state or an invalid solution state to a fixed solution state based on the solution state data. When the solution state data corresponding to multiple consecutive positioning cycles all indicate a fixed solution state, it is determined that the RTK has recovered to a fixed solution state; when the solution state data corresponding to any positioning cycle in multiple consecutive positioning cycles changes back to a floating-point solution state or an invalid solution state, the combined solution state is maintained and positioning recovery processing is not performed.
[0148] The number of consecutive positioning cycles is preset based on the RTK positioning refresh frequency and positioning stability. For example, when the RTK positioning refresh frequency is 10Hz, three consecutive positioning cycles in a fixed solution state can be set as the criterion for RTK to recover to a fixed solution state. The number of consecutive positioning cycles is determined jointly based on the RTK positioning refresh frequency, satellite signal stabilization time, and environmental obstruction changes, ensuring the stability of the recovered RTK positioning result.
[0149] For example, if the RTK channel continuously outputs positioning solution data, and the solution status data corresponding to the 801st positioning cycle is a floating-point solution status, while the solution status data corresponding to the 802nd, 803rd, and 804th positioning cycles are all fixed-point solution status, then the positioning terminal device determines that the RTK has recovered to the fixed-point solution status; if the 804th positioning cycle changes back to the floating-point solution status, then the combined solution status is maintained, and the RTK positioning recovery status is continuously monitored.
[0150] S62: When it is determined that the RTK has recovered to the fixed solution state, obtain the recovered RTK positioning result, and determine the corresponding position deviation based on the recovered RTK positioning result and the current combined positioning result.
[0151] After determining that the RTK has recovered to the fixed solution state, the positioning terminal device reads the RTK positioning result output by the current RTK channel and simultaneously reads the combined positioning result corresponding to the current positioning cycle, and calculates the position deviation between the two based on the two.
[0152] The recovered RTK positioning result includes the current location coordinates and the corresponding location time identifier; the combined positioning result includes the current absolute location and the corresponding location time identifier. The positioning terminal device selects the RTK positioning result and the combined positioning result corresponding to the time based on the location time identifier to calculate the deviation. When there is a sampling time difference between the two location time identifiers, the positioning result with the smallest time difference is selected for comparison according to the time correspondence.
[0153] Position deviation includes a position deviation vector and a position deviation distance. The position deviation vector represents the position difference in each coordinate direction between the recovered RTK positioning result and the combined positioning result; the position deviation distance represents the spatial distance corresponding to the position deviation vector. The position deviation distance is calculated using the Euclidean distance calculation method. This application uses this existing calculation method to complete the position deviation calculation without improving the calculation method itself.
[0154] For example, the recovered RTK positioning result is (262.986m, 141.851m, 2.132m), and the current combined positioning result is (263.004m, 141.868m, 2.129m). The positioning terminal device calculates the position deviation vector as (-0.018m, -0.017m, 0.003m), and further calculates the position deviation distance to be approximately 0.025m. The position deviation vector and the position deviation distance are used together as the current position deviation.
[0155] S63: Determine whether the recovered RTK positioning result meets the preset positioning consistency condition based on the position deviation. If the preset positioning consistency condition is met, perform positioning calibration on the current combined positioning result based on the recovered RTK positioning result, update the calibrated RTK positioning result to the new nearest fixed solution position, replace the absolute position anchor point corresponding to the combined solution state according to the updated nearest fixed solution position, exit the current combined solution state, and restore RTK positioning output. If the preset positioning consistency condition is not met, maintain the current combined solution state and continue to output the combined positioning result, and continuously detect the RTK positioning recovery state until the preset positioning consistency condition is met.
[0156] The positioning terminal device determines whether the recovered RTK positioning result meets the preset positioning consistency conditions based on the current position deviation.
[0157] The preset positioning consistency condition is defined based on the position deviation distance, the positioning accuracy of the RTK fixed solution, and the positioning accuracy information corresponding to the combined positioning result. Specifically, the positioning terminal device presets a position deviation threshold. When the position deviation distance is less than or equal to the position deviation threshold, and the recovered RTK positioning result is in a fixed solution state, and the positioning accuracy information corresponding to the current combined positioning result meets the allowable recovery conditions, the recovered RTK positioning result is determined to meet the preset positioning consistency condition; otherwise, it is determined that the preset positioning consistency condition is not met. The position deviation threshold is obtained by jointly calibrating based on the upper limit of the RTK fixed solution positioning accuracy, the SLAM cumulative error statistics, and the allowable error for positioning switching. For example, a large amount of RTK recovery scene data can be collected, the position deviation distribution between the recovered fixed solution and the combined positioning result can be statistically analyzed, and the position deviation threshold can be set to 0.05m, 0.10m, or other values that meet application requirements based on the statistical results.
[0158] When the preset positioning consistency condition is met, the positioning terminal device uses the recovered RTK positioning result as the new absolute position reference, performs positioning calibration on the current combined positioning result, and adjusts the current combined positioning result to the position corresponding to the recovered RTK positioning result. Then, the calibrated RTK positioning result is updated to the new nearest fixed solution position. At the same time, the updated nearest fixed solution position replaces the absolute position anchor point saved in the combined solution state, and the combined solution state information such as the combined state identifier, SLAM pose start data, target scale factor, and cumulative displacement start identifier are cleared. The device then exits the combined solution state and resumes using the RTK positioning result as the positioning output.
[0159] When the preset positioning consistency condition is not met, the positioning terminal device keeps the current combined solution state valid and continues to output the combined positioning result according to the combined positioning method. At the same time, it continues to acquire the positioning solution data output by the RTK channel, repeats the position deviation calculation and the preset positioning consistency condition judgment, until the restored RTK positioning result meets the preset positioning consistency condition before the positioning recovery process is executed.
[0160] For example, if the positional deviation between the recovered RTK positioning result and the combined positioning result is 0.028m and the preset positional deviation threshold is 0.05m, the positioning terminal device determines that the preset positioning consistency condition is met, updates the recovered RTK positioning result to the new nearest fixed solution position, replaces the absolute position anchor point in the combined solution state, and then exits the combined solution state and restores RTK positioning output; if the current positional deviation is 0.183m, which is greater than the preset positional deviation threshold of 0.05m, the combined solution state is maintained, combined positioning results are continuously generated based on SLAM positioning data, and the RTK positioning recovery status is continuously monitored until the positional deviation is reduced to within the preset positional deviation threshold.
[0161] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0162] In one embodiment, an indoor / outdoor seamless positioning device integrating RTK and SLAM is provided, which corresponds one-to-one with the indoor / outdoor seamless positioning method integrating RTK and SLAM described in the above embodiment. For example... Figure 6 As shown, this seamless indoor and outdoor positioning device integrating RTK and SLAM includes a data acquisition module, an information extraction module, a condition analysis module, a location derivation module, a marker update module, and a positioning recovery module. Detailed descriptions of each functional module are as follows: The data acquisition module is used to acquire the positioning solution data output by the RTK channel and the positioning data output by the SLAM channel, and to establish a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data.
[0163] The information extraction module is used to extract RTK inter-frame displacement information and SLAM inter-frame displacement information from the dual-channel positioning data set, perform scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain the corresponding target scale factor, and determine the corresponding scale convergence state based on the target scale factor.
[0164] The condition analysis module is used to determine whether the current RTK meets the positioning output conditions based on the solution state data in the positioning solution data. When the conditions are met, the position of the nearest fixed solution is continuously updated based on the positioning solution data. When the conditions are not met, and the scale convergence state characterization indicates that the scale has converged, the position of the nearest fixed solution and the scale factor are locked, and the corresponding combined solution state is generated.
[0165] The position derivation module is used to derive the current absolute position by combining the solution state and the cumulative displacement information output by the SLAM channel, and generate the corresponding combined positioning result.
[0166] The identifier update module is used to determine the corresponding positioning accuracy information based on the cumulative travel of the combined positioning result, and update the accuracy identifier corresponding to the combined positioning result based on the positioning accuracy information, so as to continuously output the combined positioning result with the accuracy identifier.
[0167] The positioning recovery module is used to continuously monitor the RTK positioning recovery status during the output of combined positioning results. When the RTK recovery fixed solution is detected, positioning calibration is performed based on the position deviation between the recovered RTK positioning result and the combined positioning result, and the RTK positioning output is restored.
[0168] It should be noted that the information interaction and execution process between the above-mentioned devices / modules are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0169] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above device can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0170] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0171] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0172] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0173] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A seamless indoor and outdoor positioning method integrating RTK and SLAM, characterized in that, include: Acquire the positioning solution data output from the RTK channel and the positioning data output from the SLAM channel, and establish a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data; Based on the dual-channel positioning data set, RTK inter-frame displacement information and SLAM inter-frame displacement information are extracted. The SLAM inter-frame displacement information is then scaled using the RTK inter-frame displacement information to obtain the corresponding target scale factor. Based on the target scale factor, the corresponding scale convergence state is determined. Based on the solution state data in the positioning solution data, determine whether the current RTK meets the positioning output conditions. If it does, continuously update the position of the nearest fixed solution based on the positioning solution data. If it does not meet the conditions, and the scale convergence state characterizes that the scale has converged, lock the position of the nearest fixed solution and the scale factor, and generate the corresponding combined solution state. The current absolute position is derived by combining the combined solution state and the cumulative displacement information output by the SLAM channel, and the corresponding combined positioning result is generated. The corresponding positioning accuracy information is determined based on the cumulative travel distance corresponding to the combined positioning result, and the accuracy identifier corresponding to the combined positioning result is updated based on the positioning accuracy information, so as to continuously output the combined positioning result with the accuracy identifier; During the output of the combined positioning results, the RTK positioning recovery status is continuously monitored. When the RTK recovery fixed solution is detected, positioning calibration is performed based on the position deviation between the recovered RTK positioning results and the combined positioning results, and the RTK positioning output is restored.
2. The method as described in claim 1, characterized in that, The step of acquiring the positioning solution data output from the RTK channel and the positioning data output from the SLAM channel, and establishing a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data, includes: Acquire the positioning solution data output by the RTK channel, wherein the positioning solution data includes location data, location time identifier and solution status data; Acquire the positioning data output by the SLAM channel, wherein the positioning data includes pose data and the corresponding pose time identifier; Establish a correspondence between the position time identifier in the positioning solution data and the pose time identifier in the positioning data, and associate the positioning solution data corresponding to the time with the positioning data to generate a corresponding synchronous positioning unit. Extract the position data, solution status data, and pose data from each of the synchronous positioning units, and organize them into a positioning solution record according to a unified data field. Each of the aforementioned positioning solutions is written sequentially into a unified positioning data cache in chronological order to establish a corresponding dual-channel positioning data set.
3. The method as described in claim 1, characterized in that, The steps of extracting RTK inter-frame displacement information and SLAM inter-frame displacement information based on the dual-channel positioning data set, performing scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain the corresponding target scale factor, and determining the corresponding scale convergence state based on the target scale factor include: Based on the time identifier in the dual-channel positioning data set, the RTK positioning solution data and SLAM positioning data are synchronously matched to extract the RTK position data and SLAM pose data corresponding to adjacent time points. Calculate the corresponding RTK inter-frame displacement information based on the RTK position data corresponding to adjacent time points, and calculate the corresponding SLAM inter-frame displacement information based on the SLAM pose data corresponding to adjacent time points. The corresponding single-frame scale ratio is determined based on the RTK inter-frame displacement information and the SLAM inter-frame displacement information, and each single-frame scale ratio is written into the scale calibration cache set according to the preset data update order. The target scale factor is determined based on the scale ratio of each single frame in the scale calibration buffer set, and the scale stability is determined based on the changes of multiple consecutive target scale factors. When the scale stability meets the preset convergence condition, the scale convergence state is determined to indicate that the scale has converged; otherwise, the scale convergence state is determined to indicate that the scale has not converged.
4. The method as described in claim 3, characterized in that, The step of determining whether the current RTK meets the positioning output condition based on the solution state data in the positioning solution data, and continuously updating the position of the nearest fixed solution based on the positioning solution data when the condition is met, and locking the position of the nearest fixed solution and the scale factor when the scale convergence state characterization has converged, and generating the corresponding combined solution state, includes: Obtain the solution status data corresponding to the current positioning solution data, and determine whether the current RTK is in a fixed solution state based on the solution status data; When the RTK is in a fixed solution state, the position of the nearest fixed solution is updated according to the position data in the current localization solution data, and the corresponding target scale factor is updated synchronously. When the RTK exits the fixed solution state, it is determined whether the current RTK continuously fails to meet the positioning output conditions based on the solution state data corresponding to multiple consecutive positioning cycles. If the positioning output conditions are not met and the scale convergence state characterization indicates that the scale has converged, the location of the most recently updated fixed solution and the corresponding target scale factor are locked, and the correlation between the location of the most recently updated fixed solution, the target scale factor and the current SLAM positioning data is established to generate the corresponding combined solution state.
5. The method as described in claim 3, characterized in that, The step of deriving the current absolute position and generating the corresponding combined positioning result by using the combined solution state and the cumulative displacement information output by the SLAM channel includes: Obtain the location of the nearest fixed solution, the target scale factor, and the SLAM positioning data corresponding to the combined solution state, and calculate the cumulative displacement information from the moment the location of the nearest fixed solution is locked based on the SLAM positioning data; The cumulative displacement information is scaled according to the target scale factor to obtain the corresponding target cumulative displacement information; The current absolute position is derived based on the most recent fixed solution position and the target cumulative displacement information, and a corresponding combined positioning result is generated based on the current absolute position.
6. The method as described in claim 1, characterized in that, The step of determining the corresponding positioning accuracy information based on the cumulative travel distance corresponding to the combined positioning result, and updating the accuracy identifier corresponding to the combined positioning result based on the positioning accuracy information, so as to continuously output the combined positioning result with the accuracy identifier, includes: Obtain the cumulative displacement information corresponding to the combined positioning result, calculate the corresponding cumulative travel based on the cumulative displacement information, and query the pre-established positioning accuracy mapping relationship based on the cumulative travel to determine the corresponding positioning accuracy information; A corresponding accuracy identifier is generated based on the positioning accuracy information, and the accuracy identifier is associated with the current combined positioning result; As the cumulative travel distance continues to increase, the corresponding positioning accuracy information is re-determined based on the updated cumulative travel distance, and the accuracy identifier corresponding to the combined positioning result is updated synchronously to continuously output the combined positioning result with the accuracy identifier.
7. The method as described in claim 1, characterized in that, The step of continuously monitoring the RTK positioning recovery status during the output of the combined positioning result, and performing positioning calibration processing based on the position deviation between the recovered RTK positioning result and the combined positioning result when the RTK recovery fixed solution is detected, and then restoring the RTK positioning output, includes: During the process of outputting the combined positioning results, the positioning solution data output by the RTK channel is continuously acquired, and the RTK is judged to have recovered to the fixed solution state based on the solution status data in the positioning solution data. When it is determined that the RTK has been restored to the fixed solution state, the restored RTK positioning result is obtained, and the corresponding position deviation is determined based on the restored RTK positioning result and the current combined positioning result. Based on the position deviation, determine whether the recovered RTK positioning result meets the preset positioning consistency condition; When the preset positioning consistency condition is met, the current combined positioning result is calibrated according to the recovered RTK positioning result, the calibrated RTK positioning result is updated to the new nearest fixed solution position, the current combined solution state is exited, and the RTK positioning output is restored. If the preset positioning consistency condition is not met, the current combined solution state is maintained and the combined positioning result is continuously output, and the RTK positioning recovery state is continuously detected until the preset positioning consistency condition is met.
8. A seamless indoor and outdoor positioning device integrating RTK and SLAM, characterized in that, include: The data acquisition module is used to acquire the positioning solution data output by the RTK channel and the positioning data output by the SLAM channel, and to establish a corresponding dual-channel positioning data set based on the positioning solution data and the positioning data. The information extraction module is used to extract RTK inter-frame displacement information and SLAM inter-frame displacement information based on the dual-channel positioning data set, perform scale calibration on the SLAM inter-frame displacement information using the RTK inter-frame displacement information to obtain the corresponding target scale factor, and determine the corresponding scale convergence state based on the target scale factor. The condition analysis module is used to determine whether the current RTK meets the positioning output conditions based on the solution state data in the positioning solution data. When the conditions are met, the position of the nearest fixed solution is continuously updated based on the positioning solution data. When the conditions are not met, and the scale convergence state characterizes that the scale has converged, the position of the nearest fixed solution and the scale factor are locked, and the corresponding combined solution state is generated. The position derivation module is used to derive the current absolute position through the combined solution state and the cumulative displacement information output by the SLAM channel, and generate the corresponding combined positioning result; The identifier update module is used to determine the corresponding positioning accuracy information based on the cumulative travel corresponding to the combined positioning result, and update the accuracy identifier corresponding to the combined positioning result based on the positioning accuracy information, so as to continuously output the combined positioning result with the accuracy identifier; The positioning recovery module is used to continuously detect the RTK positioning recovery status during the output of the combined positioning results. When the RTK recovery fixed solution is detected, positioning calibration processing is performed based on the position deviation between the recovered RTK positioning results and the combined positioning results, and the RTK positioning output is restored.
