A SLAM-based method, apparatus, and system for indoor absolute coordinate measurement.
By using SLAM terminal equipment to scan point cloud data indoors and optimize the coordinate transformation matrix, the problems of low efficiency and high cost of indoor positioning are solved, and efficient indoor absolute coordinate measurement is achieved.
Patent Information
- Application Number
- CN202511093844.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2045-08-06
AI Technical Summary
Existing indoor positioning methods are inefficient and costly, and cannot provide reliable positioning information indoors, especially due to GPS signal obstruction.
An indoor absolute coordinate measurement method based on SLAM is adopted. By acquiring point cloud data scanned indoors by SLAM terminal equipment, and using positioning and orientation data collected outdoors and a preset objective function to optimize and obtain a coordinate transformation matrix, the transformation from local coordinate system to global coordinate system is realized. The absolute coordinate points are determined by combining the global pose.
No indoor landmarks are required; data collection can be completed simply by entering the room from the outside using SLAM terminal equipment, enabling efficient and low-cost indoor absolute coordinate measurement and improving measurement efficiency.
Smart Images

Figure CN120593773B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of positioning technology, and in particular to an indoor absolute coordinate measurement method, device and system based on SLAM. Background Technology
[0002] Due to signal obstruction indoors, GPS cannot provide reliable positioning information under indoor conditions.
[0003] Currently, most indoor positioning methods are based on total stations. However, this method requires pre-marking landmarks in the indoor scene, which is cumbersome, inefficient, and costly. Summary of the Invention
[0004] In view of this, embodiments of this application provide an indoor absolute coordinate measurement method, device, and system based on SLAM, which can effectively solve the problems of low efficiency and high cost of existing indoor positioning methods.
[0005] In a first aspect, embodiments of this application provide an indoor absolute coordinate measurement method based on SLAM, including:
[0006] Acquire point cloud data obtained by indoor scanning using SLAM-enabled SLAM terminal devices;
[0007] Obtain the coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device; wherein, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function;
[0008] Based on the coordinate transformation matrix and the global pose of the SLAM terminal device in the global coordinate system, the point cloud data corresponding to the global pose is transformed into the global coordinate system to obtain the absolute coordinate data of each point cloud in the global coordinate system.
[0009] Based on the measurement point input by the user, the corresponding absolute coordinate point is determined from the absolute coordinate data.
[0010] In some embodiments, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function, including:
[0011] The SLAM terminal device is used to collect data outdoors to obtain positioning and orientation data in the local coordinate system;
[0012] In response to the triggering of preset conditions, the preset objective function is optimized using a preset optimization method based on the obtained initial rotation matrix in order to solve for the target rotation matrix and translation vector.
[0013] Based on the target rotation matrix and the translation vector, determine the coordinate transformation matrix from the local coordinate system to the global coordinate system.
[0014] In some embodiments, the global pose of the SLAM terminal device in the global coordinate system is obtained using the following method:
[0015] The SLAM terminal device is used to collect data indoors to obtain the local pose of the SLAM terminal device in the local coordinate system.
[0016] The local pose is transformed using the coordinate transformation matrix to obtain the global pose.
[0017] In some embodiments, the optimization of a preset objective function based on the acquired initial rotation matrix using a preset optimization method to obtain the target rotation matrix and translation vector includes:
[0018] The following objective function is optimized using the least squares method to minimize the transformation error of all coordinate points. Based on the initial rotation matrix, the target rotation matrix and translation vector are calculated as follows:
[0019]
[0020] Where R represents the target rotation matrix, and t represents the translation vector. This indicates the pose of the SLAM terminal device in the local coordinate system. This represents the pose of the SLAM terminal device in the global coordinate system, and i represents the sampling sequence number of the SLAM terminal device.
[0021] In some embodiments, the initial rotation matrix is obtained in the following manner:
[0022] When the SLAM terminal device starts from a standstill, it calculates the initial rotation matrix from the local coordinate system to the global coordinate system using measurements from the accelerometer and magnetometer.
[0023] In some embodiments, the triggering of the preset condition includes:
[0024] The change in coordinate points in the current positioning and orientation data of the SLAM terminal device was detected;
[0025] The method further includes:
[0026] After obtaining the target rotation matrix and translation vector, the initial rotation matrix is updated using the target rotation matrix.
[0027] In some embodiments, the local coordinate system is the coordinate system in which the positioning antenna is located when the SLAM terminal device is powered on;
[0028] The positioning and orientation data includes positioning and orientation data corresponding to at least three coordinate points spaced at a preset distance.
[0029] In some embodiments, determining the corresponding absolute coordinate point in the absolute coordinate data based on the measurement point input by the user includes:
[0030] The accuracy of the absolute coordinate point is determined based on the magnitude of the covariance corresponding to the local pose to determine whether the accuracy meets the preset accuracy requirements.
[0031] If the absolute coordinate point is determined to meet the accuracy requirements, then the absolute coordinate point is determined and displayed in the target model reconstructed based on the SLAM terminal device.
[0032] Secondly, embodiments of this application provide an indoor absolute coordinate measurement device based on SLAM, comprising:
[0033] The point cloud data acquisition module is used to acquire point cloud data obtained by indoor scanning by SLAM terminal devices that support SLAM.
[0034] The transformation matrix acquisition module is used to acquire the coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device; wherein, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function;
[0035] The point cloud conversion module is used to convert the point cloud data corresponding to the global pose to the global coordinate system according to the coordinate transformation matrix and the global pose of the SLAM terminal device in the global coordinate system, so as to obtain the absolute coordinate data of each point cloud in the global coordinate system.
[0036] The absolute coordinate determination module is used to determine the corresponding absolute coordinate point in the absolute coordinate data based on the measurement point input by the user.
[0037] Thirdly, embodiments of this application provide an indoor absolute coordinate measurement system based on SLAM, including: SLAM terminal equipment and measurement terminal;
[0038] The SLAM terminal device is used to optimize and obtain a coordinate transformation matrix based on the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function.
[0039] The measurement terminal is used to implement the SLAM-based indoor absolute coordinate measurement method provided in the first aspect of this application.
[0040] The embodiments of this application have the following beneficial effects:
[0041] This application acquires point cloud data scanned indoors by a SLAM-enabled terminal device; it acquires a coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device; wherein the coordinate transformation matrix is optimized based on the positioning and orientation data collected outdoors by the SLAM terminal device and a preset objective function; based on the coordinate transformation matrix and the global pose of the SLAM terminal device in the global coordinate system, the point cloud data corresponding to the global pose is transformed into the global coordinate system to obtain the absolute coordinate data of each point cloud in the global coordinate system; based on the measurement point input by the user, the corresponding absolute coordinate point is determined in the absolute coordinate data. This application does not require the pre-applying of landmarks in the indoor scene, nor does it require the use of a total station for relative measurement. This application only requires the SLAM terminal device to walk normally from outdoors to indoors to complete data acquisition, and calculates the coordinate transformation matrix based on the acquired data to achieve indoor absolute coordinate measurement. This effectively solves the problems of low efficiency and high cost of existing indoor positioning methods. Attached Figure Description
[0042] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0043] Figure 1 This paper presents a structural block diagram of an indoor absolute coordinate measurement system based on SLAM, according to an embodiment of this application.
[0044] Figure 2 A flowchart of an indoor absolute coordinate measurement method based on SLAM according to an embodiment of this application is shown;
[0045] Figure 3 A schematic diagram of the scanning result display interface provided by the absolute coordinate measurement software in the SLAM-based indoor absolute coordinate measurement system of this application is shown.
[0046] Figure 4 A schematic diagram of the measurement point coordinate interface provided by the absolute coordinate measurement software in the SLAM-based indoor absolute coordinate measurement system of this application is shown.
[0047] Figure 5 This illustration shows a scene interface diagram of an absolute coordinate point provided by the absolute coordinate measurement software in the SLAM-based indoor absolute coordinate measurement system according to an embodiment of this application.
[0048] Figure 6This paper presents another structural block diagram of an indoor absolute coordinate measurement system based on SLAM, according to an embodiment of this application.
[0049] Explanation of key component symbols:
[0050] 100 - SLAM terminal equipment; 200 - Measurement terminal. Detailed Implementation
[0051] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0052] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0053] In the following text, the terms "comprising," "having," and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more combinations thereof. Furthermore, the terms "first," "second," "third," etc., are used only for distinguishing descriptions and should not be construed as indicating or implying relative importance.
[0054] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.
[0055] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.
[0056] like Figure 1As shown, this application provides an indoor absolute coordinate measurement system based on SLAM. Exemplarily, the system includes: a SLAM terminal device 100 and a measurement terminal 200.
[0057] The SLAM terminal device 100 includes a lidar, camera, IMU, and RTK (Real-Time Kinematic).
[0058] The SLAM terminal device 100 is used to optimize and obtain a coordinate transformation matrix based on the positioning and orientation data collected outdoors by the SLAM terminal device 100 and a preset objective function. The SLAM terminal device 100 is also used to reconstruct a 3D model of the scanned environment based on Simultaneous Localization and Mapping (SLAM) technology to obtain a 3D target model. For example, the SLAM terminal device 100 is a Lixel L / K series Multi-SLAM device.
[0059] The measurement terminal 200 is used to implement the SLAM-based indoor absolute coordinate measurement method provided in this application. For example, the measurement terminal 200 is equipped with absolute coordinate measurement software, which includes a wireless communication module and an absolute coordinate measurement and display module; the SLAM terminal device 100 is communicatively connected to the absolute coordinate measurement and display module through the wireless communication module; the absolute coordinate measurement and display module is used to implement the SLAM-based indoor absolute coordinate measurement method provided in this application.
[0060] The following examples illustrate the SLAM-based indoor absolute coordinate measurement method.
[0061] Figure 2 A flowchart illustrating a SLAM-based indoor absolute coordinate measurement method according to an embodiment of this application is shown. Exemplarily, this SLAM-based indoor absolute coordinate measurement method includes the following steps:
[0062] S100: Acquire point cloud data obtained by indoor scanning from SLAM terminal device 100 that supports SLAM.
[0063] S200, obtain the coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device 100; wherein, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device 100 outdoors and the preset objective function.
[0064] The local coordinate system is the coordinate system in which the GNSS antenna (positioning antenna) is located when the SLAM terminal device 100 is powered on. The world coordinate system (global coordinate system) refers to the geocentric coordinate system / CGCS2000, the three-dimensional projected coordinate system / or other global coordinate systems.
[0065] To facilitate trajectory alignment, this application uses the coordinate system at the GNSS antenna as the local coordinate system. Theoretically, any coordinate system combined with external parameters can achieve the scheme of this application, and this application does not impose any restrictions.
[0066] The positioning and orientation data includes positioning and orientation data corresponding to at least three coordinate points spaced at a preset distance. The positioning and orientation data is RTK data acquired by a Real-Time Kinematic (RTK) module. Specifically, multiple points of RTK data are continuously measured (at least three RTK data points), with a distance of at least 5 meters between these three RTK data points. This application does not impose restrictions on the distribution of these three RTK data points; to avoid ill-conditioned solutions, meeting the distance requirement is sufficient.
[0067] Coordinate transformation matrices include rotation matrices, translation vectors, and scaling matrices. The rotation matrix describes the rotational motion of the positioning and mapping device in three-dimensional space; it only changes the direction of the vector, not its magnitude. The translation matrix describes the translational motion of the positioning and mapping device in three-dimensional space, i.e., the change in the object's position. The scaling matrix describes the scaling ratio of the positioning and mapping device in three-dimensional space. For example, the coordinate rotation matrix T is:
[0068]
[0069] Where R is the coordinate rotation matrix, t is the translation vector, and the scaling matrix is a proportional scaling matrix.
[0070] In one embodiment, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected outdoors by the SLAM terminal device 100 and a preset objective function, including:
[0071] S110, the SLAM terminal device 100 is used to collect data outdoors to obtain positioning and orientation data in the local coordinate system.
[0072] S120, in response to the triggering of preset conditions, optimize the preset objective function based on the obtained initial rotation matrix using a preset optimization method to solve for the target rotation matrix and translation vector.
[0073] Further, the optimization of the initial rotation matrix using a preset optimization method to obtain the target rotation matrix and translation vector includes:
[0074] The objective function is optimized using the least squares method to minimize the transformation error of all coordinate points. Based on the initial rotation matrix, a preset automatic solver is used to calculate the target rotation matrix and translation vector. The rotation matrix is used as the optimization variable, and the initial rotation matrix is used as an initial value for this optimization variable. The preset automatic solver is the Ceres-Solver library, and the initial rotation matrix R_predict can accelerate the solution. Ceres-Solver is an open-source C++ library for solving nonlinear least squares problems. This application defines the objective function and error term in a form that Ceres-Solver can understand, and sets the initial rotation matrix and translation vector. Then, Ceres-Solver uses various optimization algorithms (such as the Gauss-Newton method, the Levenberg-Marquardt method, etc.) to iteratively update the rotation matrix and translation vector until the loss function converges to a small value. After several iterations, Ceres-Solver outputs the optimized rotation matrix and translation vector. These parameters can be used to accurately transform the original coordinate points to the target coordinate system.
[0075] Furthermore, the triggering of the preset conditions includes:
[0076] The method detects a change in the coordinates of the current positioning and orientation data of the SLAM terminal device 100. The method further includes updating the initial rotation matrix using the target rotation matrix after obtaining the target rotation matrix and translation vector. That is, whenever the position of the SLAM terminal device 100 changes, the above method is used to calculate the target rotation matrix and translation vector, and the target rotation matrix is used as the initial rotation matrix for calculating a new target rotation matrix and translation vector after the position of the SLAM terminal device 100 changes again.
[0077] The world coordinate system refers to the geocentric coordinate system / CGCS2000, the three-dimensional projection coordinate system / or other global coordinate systems.
[0078] The coordinates of the local coordinate system and the world coordinate system satisfy the following relationship:
[0079]
[0080] The preset objective function is as follows:
[0081]
[0082] Where R represents the target rotation matrix, and t represents the translation vector. This indicates the pose of the SLAM terminal device 100 in the local coordinate system. This represents the pose of the SLAM terminal device 100 in the global coordinate system, and i represents the sampling sequence number of the SLAM terminal device 100.
[0083] Furthermore, the initial rotation matrix is obtained in the following way:
[0084] When the SLAM terminal device 100 starts from a standstill, it calculates the initial rotation matrix from the local coordinate system to the global coordinate system (also known as the world coordinate system) using measurements from the accelerometer and magnetometer. For world system pose initialization, since the SLAM terminal device 100 (deployed with a Multi-SLAM system) starts from a standstill, the rotation matrices of the local and global coordinate systems can be aligned using the accelerometer and magnetometer measurements to obtain the initial rotation matrix R_predict. The initial rotation matrix R_predict is generated as follows:
[0085] 1) Processing of data from the meter.
[0086] Accelerometer measurements typically represent the acceleration of the SLAM terminal device 100 in various directions, primarily reflecting the tilt of the SLAM terminal device 100. Ideally (without other acceleration sources), the accelerometer readings would point towards the center of the Earth along the direction of gravity (typically the z-axis).
[0087] Assume the accelerometer reading is a = [a] x , a y , a z ] T Then, normalization can be used to obtain the unit vector of the accelerometer. :
[0088]
[0089] Where |a| is the modulus of the gravity meter measurement, representing the magnitude of the gravity gravity.
[0090] 2) Magnetometer data processing.
[0091] The magnetometer reading indicates the direction of the Earth's magnetic field at the location of the SLAM terminal device 100. Assume the magnetometer output is m = [m...]. x ,m y ,m z ] T Similarly, normalization is needed to obtain the unit vector. :
[0092]
[0093] Where |m| is the modulus of the magnetometer measurement, representing the intensity of the ground collision field.
[0094] 3) Construct the basis vectors of the geographic reference coordinate system.
[0095] In the ENU coordinate system, it is usually defined as follows:
[0096] N This is a unit vector pointing north;
[0097] E The unit quantity pointing eastward;
[0098] U It is a unit vector pointing towards the zenith.
[0099] The directions of these basis vectors are determined by the following method:
[0100] North direction ( N ): This can be estimated using data from a sweetness meter.
[0101] Pointing east ( E ): Obtained through cross-ticketing.
[0102] Pointing to the sky ( U ): Determined through accelerometer data.
[0103] The specific calculation method is as follows:
[0104] North direction: The direction of the magnetometer's projection on the horizontal plane is consistent with the north direction, assuming Since the direction of gravity has been eliminated (i.e., only the horizontal component is retained), the north direction can be calculated:
[0105] N
[0106] here" " represents the cross product, It is the modulus of the horizontal component of the magnetometer and accelerometer.
[0107] Eastward direction: Eastward direction is the cross product of northward direction and accelerometer direction.
[0108] E = N
[0109] Pointing to the sky: The direction pointing to the sky is the direction of the accelerometer.
[0110] U =
[0111] 4) Construct the rotation matrix.
[0112] Based on the constructed three-dimensional basis vectors N , E , U A rotation matrix R is formed such that the sensor coordinate system (defined by the orientations of the accelerometer and magnetometer) is aligned with the ENU coordinate system. Each column of the rotation matrix consists of these basis vectors:
[0113] R=[ N , E , U ].
[0114] S130, Based on the target rotation matrix and the translation vector, determine the coordinate transformation matrix from the local coordinate system to the global coordinate system.
[0115] S200: Acquire point cloud data obtained by the SLAM terminal device 100 during indoor scanning.
[0116] Since the coordinate transformation matrix T between the Local and World systems is fixed, information obtained outdoors can also be applied indoors.
[0117] S300, based on the coordinate transformation matrix and the global pose of the SLAM terminal device 100 in the global coordinate system, the point cloud data corresponding to the global pose is transformed into the global coordinate system to obtain the absolute coordinate data of each point cloud in the global coordinate system. This method also requires associating the scanned point cloud data with the corresponding global pose. The absolute coordinate measurement software transforms the points into the global coordinate system in real time through pose transformation, thereby measuring the global coordinates of all points within the ranging range.
[0118] At this point, the SLAM terminal device 100 is used to enter the indoor environment. Since the SLAM terminal device 100 (XGRIDS Multi-SLAM) is a high-precision system with very small cumulative error, it can guarantee that the cumulative error over the end point M meters is within 5 cm. Actual outdoor RTK measurements also have an accuracy of around 5 cm, with M depending on the accuracy of Multi-SLAM. Therefore, the coordinate transformation matrix T can be used to transform the indoor Local coordinate system trajectory to the World coordinate system, thereby obtaining high-precision global coordinates (absolute coordinates) indoors.
[0119] Furthermore, the global pose of the SLAM terminal device 100 in the global coordinate system is obtained using the following method:
[0120] The SLAM terminal device 100 is used to collect data indoors to obtain the local pose of the SLAM terminal device 100 in the local coordinate system;
[0121] The local pose is transformed using the coordinate transformation matrix to obtain the global pose. The coordinate transformation matrix T can be used to transform the high-precision pose in the Local coordinate system to the World coordinate system, obtaining the high-precision pose in the World coordinate system. The specific formula is as follows:
[0122]
[0123] S400: Based on the measurement point input by the user, determine the corresponding absolute coordinate point in the absolute coordinate data. This measurement point is the coordinate of the SLAM terminal device 100.
[0124] The SLAM terminal device 100 of this application transmits its real-time calculated global pose to the absolute coordinate measurement and display module in the measurement terminal 200 via a wireless communication module. The absolute coordinate measurement software caches the real-time global pose in a buffer.
[0125] The absolute coordinate measurement and display module of this application is also used to generate a 3D model of the current scene and display it on the monitor. When the user needs to measure absolute coordinates indoors, they click on the measurement point in the 3D model, and at this time, the coordinate information of the current timestamp is obtained from the global pose information buffer. Figure 3 As shown, you can select the measurement point to be measured by clicking "Measurement Point" in the scan results display interface. Figure 4 As shown, the measured absolute coordinates are displayed through the measurement point coordinate interface. The absolute coordinate measurement and display module of this application is also used to manage the measured absolute coordinates, such as saving, deleting, and adding them.
[0126] Further, determining the corresponding absolute coordinate point in the absolute coordinate data based on the measurement point input by the user includes:
[0127] The accuracy of the absolute coordinates is determined based on the magnitude of the covariance corresponding to the local pose to determine whether it meets the preset accuracy requirements. The covariance represents the standard deviation (std) of the accuracy and can be considered as the average error. For example, whether the absolute coordinates of the point cloud data obtained from the local pose scan are displayed on the monitor is determined based on whether the high accuracy standard of 5cmRTK is met.
[0128] If the accuracy of the absolute coordinate point is determined to meet the accuracy requirement, then the absolute coordinate point is determined and displayed in the target model reconstructed based on the SLAM terminal device 100. For example... Figure 5 As shown, the global coordinates (latitude, longitude, and altitude) corresponding to the coordinate point (16.10, 53.53, 2.14) in the Local system of the point cloud are displayed.
[0129] The time required to measure indoor absolute coordinates in this application is approximately 2 minutes, including 1 minute for initialization outdoors after powering on the positioning and mapping equipment, and then 1 minute for walking indoors to collect data, achieving high efficiency. In contrast, the method based on a total station requires steps such as: placing landmarks indoors, setting up the total station, marking points outdoors, indoor relative measurement, and calculation, resulting in very low efficiency.
[0130] The following example illustrates the SLAM-based indoor absolute coordinate measurement method of this application. Figure 5 As shown, the specific steps include the following, applicable to, for example... Figure 6 The indoor absolute coordinate measurement system based on SLAM shown below:
[0131] S510, Outdoors, the positioning and mapping equipment is powered on while stationary, and the initial rotation matrix from the local coordinate system to the global coordinate system is calculated using measurements from the accelerometer and magnetometer. S520, Outdoors, the positioning and mapping equipment is controlled to move and collect RTK data (positioning and orientation data) from at least three location points, with each location point at least 5 meters apart, and the data collection time at least one minute.
[0132] S530 utilizes RTK data from at least three location points and an initial rotation matrix, employing the least squares method to optimize a preset objective function. The optimization method uses Ceres-Solver to calculate the rotation matrix R and translation vector t. Based on the rotation matrix R and translation vector t, the coordinate transformation matrix T is obtained. If the position of the positioning and mapping equipment changes, the latest rotation matrix R and translation vector t are recalculated based on the new RTK data, the previously calculated rotation matrix, and the objective function.
[0133] S540 uses a coordinate transformation matrix to transform the high-precision local position in the local coordinate system to the global coordinate system, thereby obtaining a high-precision global pose.
[0134] The S550 controls the positioning and mapping equipment to move indoors and collect at least one minute of indoor point cloud data and RTK data.
[0135] In the S560, since the coordinate transformation matrix T between the Local and World frames is fixed, information obtained outdoors can also be applied indoors. Therefore, the Local frame trajectory indoors is transformed to the World frame using the coordinate transformation matrix T to obtain a high-precision global pose, thereby obtaining high-precision global coordinates indoors. This is then transmitted to the absolute coordinate measurement and display module via the wireless communication module in the absolute coordinate measurement software.
[0136] The S570 absolute coordinate measurement software receives the global coordinates of the positioning and mapping equipment in real time and stores them in the global data buffer.
[0137] When S580 requires indoor measurement of absolute coordinates: Click on the measurement point, and the absolute coordinate measurement and display module will obtain the global coordinate point (included in the global pose) from the global data buffer at the current timestamp.
[0138] S590 determines whether the high-precision standard of 5cm RTK is met based on the covariance corresponding to the global coordinate point. If the accuracy standard is met, the corresponding point cloud data is converted to the global coordinate system according to the global pose and coordinate transformation matrix to obtain global coordinate data, which is then displayed in the absolute coordinate measurement and display module. This global coordinate data represents the global coordinates of the SLAM device; in other words, the device can still be used as RTK even in areas outside the fixed RTK solution region. Simultaneously, the point cloud is associated with the global pose, and the absolute coordinate measurement and display module can convert points to the global coordinate system in real time through pose transformation, thereby measuring the global coordinates of all points within the ranging range. The absolute coordinate measurement and display module can be a separate app.
[0139] This application also provides a SLAM-based indoor absolute coordinate measuring device. Exemplarily, this SLAM-based indoor absolute coordinate measuring device includes:
[0140] The point cloud data acquisition module is used to acquire point cloud data obtained by the SLAM terminal device 100 that supports SLAM scanning indoors;
[0141] The transformation matrix acquisition module is used to acquire the coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device 100; wherein, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device 100 outdoors and a preset objective function;
[0142] The point cloud conversion module is used to convert the point cloud data corresponding to the global pose to the global coordinate system according to the coordinate transformation matrix and the global pose of the SLAM terminal device 100 in the global coordinate system, so as to obtain the absolute coordinate data of each point cloud in the global coordinate system.
[0143] The absolute coordinate determination module is used to determine the corresponding absolute coordinate point in the absolute coordinate data based on the measurement point input by the user.
[0144] It is understood that the device in this embodiment corresponds to the SLAM-based indoor absolute coordinate measurement method in the above embodiments, and the options in the above embodiments are also applicable to this embodiment, so they will not be described again here.
[0145] This application also provides a terminal device, exemplary of which includes a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to enable the terminal device to perform the functions of the various modules in the above-described SLAM-based indoor absolute coordinate measurement method or the above-described SLAM-based indoor absolute coordinate measurement device.
[0146] The processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Network Processor (NP), Digital Signal Processor (DSP), Application-Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application.
[0147] The memory can be, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), etc. The memory is used to store computer programs, and the processor can execute the computer programs accordingly after receiving execution instructions.
[0148] This application also provides a computer-readable storage medium for storing the computer program used in the aforementioned terminal device. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0149] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, in alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0150] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0151] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0152] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A SLAM-based indoor absolute coordinate measurement method, characterized in that, include: Acquire point cloud data obtained by indoor scanning using SLAM-enabled SLAM terminal devices; Obtain the coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device; wherein, the coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function; the positioning and orientation data is RTK data collected by the real-time differential positioning module; Based on the coordinate transformation matrix and the global pose of the SLAM terminal device in the global coordinate system, the point cloud data corresponding to the global pose is transformed into the global coordinate system to obtain the absolute coordinate data of each point cloud in the global coordinate system; wherein, the point cloud data obtained by scanning is associated with the corresponding global pose. Based on the measurement point input by the user, determine the corresponding absolute coordinate point in the absolute coordinate data; The global pose of the SLAM terminal device in the global coordinate system is obtained using the following method: The SLAM terminal device is used to collect data indoors to obtain the local pose of the SLAM terminal device in the local coordinate system. The local pose is transformed using the coordinate transformation matrix to obtain the global pose.
2. The indoor absolute coordinate measurement method based on SLAM according to claim 1, characterized in that, The coordinate transformation matrix is obtained by optimizing the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function, including: The SLAM terminal device is used to collect data outdoors to obtain positioning and orientation data in the local coordinate system; In response to the triggering of preset conditions, the preset objective function is optimized using a preset optimization method based on the obtained initial rotation matrix in order to solve for the target rotation matrix and translation vector. Based on the target rotation matrix and the translation vector, determine the coordinate transformation matrix from the local coordinate system to the global coordinate system.
3. The indoor absolute coordinate measurement method based on SLAM according to claim 2, characterized in that, The process of optimizing a preset objective function based on the acquired initial rotation matrix using a preset optimization method to obtain the target rotation matrix and translation vector includes: The following objective function is optimized using the least squares method to minimize the transformation error of all coordinate points. Based on the initial rotation matrix, the target rotation matrix and translation vector are calculated as follows: Where R represents the target rotation matrix, and t represents the translation vector. This indicates the pose of the SLAM terminal device in the local coordinate system. This represents the pose of the SLAM terminal device in the global coordinate system, and i represents the sampling sequence number of the SLAM terminal device.
4. The indoor absolute coordinate measurement method based on SLAM according to claim 2, characterized in that, The initial rotation matrix is obtained in the following way: When the SLAM terminal device starts from a standstill, it calculates the initial rotation matrix from the local coordinate system to the global coordinate system using measurements from the accelerometer and magnetometer.
5. The indoor absolute coordinate measurement method based on SLAM according to claim 2, characterized in that, The triggering of the preset conditions includes: The change in coordinate points in the current positioning and orientation data of the SLAM terminal device was detected; The method further includes: After obtaining the target rotation matrix and translation vector, the initial rotation matrix is updated using the target rotation matrix.
6. The indoor absolute coordinate measurement method based on SLAM according to any one of claims 2-5, characterized in that, The local coordinate system is the coordinate system in which the positioning antenna is located when the SLAM terminal device is powered on. The positioning and orientation data includes positioning and orientation data corresponding to at least three coordinate points spaced at a preset distance.
7. The indoor absolute coordinate measurement method based on SLAM according to any one of claims 1-5, characterized in that, The step of determining the corresponding absolute coordinate point in the absolute coordinate data based on the measurement point input by the user includes: The accuracy of the absolute coordinate point is determined based on the magnitude of the covariance corresponding to the local pose to determine whether the accuracy meets the preset accuracy requirements. If the absolute coordinate point is determined to meet the accuracy requirements, then the absolute coordinate point is determined and displayed in the target model reconstructed based on the SLAM terminal device.
8. A SLAM-based indoor absolute coordinate measuring device, characterized in that, include: The point cloud data acquisition module is used to acquire point cloud data obtained by indoor scanning by SLAM terminal devices that support SLAM. A transformation matrix acquisition module is used to acquire a coordinate transformation matrix from the local coordinate system to the global coordinate system determined by the SLAM terminal device. The coordinate transformation matrix is obtained by optimizing the positioning and orientation data acquired by the SLAM terminal device outdoors and a preset objective function. The positioning and orientation data is RTK data acquired by a real-time differential positioning module. The global pose of the SLAM terminal device in the global coordinate system is obtained by: acquiring data indoors using the SLAM terminal device to obtain the local pose of the SLAM terminal device in the local coordinate system; and transforming the local pose using the coordinate transformation matrix to obtain the global pose. The point cloud conversion module is used to convert the point cloud data corresponding to the global pose to the global coordinate system according to the coordinate transformation matrix and the global pose of the SLAM terminal device in the global coordinate system, so as to obtain the absolute coordinate data of each point cloud in the global coordinate system; wherein, the scanned point cloud data is associated with the corresponding global pose. The absolute coordinate determination module is used to determine the corresponding absolute coordinate point in the absolute coordinate data based on the measurement point input by the user.
9. A SLAM-based indoor absolute coordinate measurement system, characterized in that, include: SLAM terminal equipment and measurement terminals; The SLAM terminal device is used to optimize and obtain a coordinate transformation matrix based on the positioning and orientation data collected by the SLAM terminal device outdoors and a preset objective function. The measurement terminal is used to implement the SLAM-based indoor absolute coordinate measurement method as described in any one of claims 1-7.
Citation Information
Patent Citations
Point cloud data processing method and device based on multiple sensors and medium
CN118131171A
Indoor and outdoor seamless positioning method based on multi-sensor fusion
CN118816851A