SLAM map splicing method based on identifiable tags, storage medium and electronic equipment

By using recognizable tag assist technology in SLAM map stitching, the area to be built is divided into multiple map construction sub-regions, and the camera is used to detect the position characteristics of the recognizable tags, the insufficient positioning accuracy of SLAM maps in large-area scenes is solved. and the problem of large accumulation of splicing errors, high-precision and high-accuracy SLAM map construction is achieved.

CN119399023AActive Publication Date: 2025-02-07福建汉特云智能科技有限公司
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411540637.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-02-07
Estimated Expiration
2044-10-31

AI Technical Summary

Technical Problem

In large-area scenarios, especially in scenarios with similar features and few features, the SLAM maps lack of positioning accuracy and large accumulation of splicing errors, resulting in serious map distortion, limiting the application of mobile robots in large-area scenarios.

Method used

By dividing the area to be built into multiple connectable map creation sub-regions and laying identifying tags between adjacent sub-regions, the camera uses the camera to detect and calculate the position characteristics of the identifying tags to perform rough splicing of SLAM maps and Fine splicing to reduce cumulative errors.

Benefits of technology

It improves the positioning accuracy of SLAM maps and the accuracy of global maps, reduces the distortion of large scene maps, solves the problem that it is difficult to build maps in large scenes, and simplifies the mapping process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119399023A_ABST
    Figure CN119399023A_ABST
Patent Text Reader

Abstract

The invention discloses an identifiable tag-based SLAM map splicing method, a storage medium and electronic equipment. The method comprises the following steps of: dividing a to-be-mapped region into a plurality of connectable mapping sub-regions; identifiable tags are arranged in communication areas of the adjacent mapping sub-areas; receiving identifiable label information detected by the camera, obtaining the pose of each identifiable label based on the actual size data of each identifiable label, the internal reference of the camera and the current pose of the mobile device, and storing the pose as the pose feature of the identifiable label; splicing the plurality of mapping sub-regions through the pose features of the identifiable tags to obtain a preliminary SLAM map; feature point matching is carried out on the similar feature points of the different mapping sub-regions, and a final SLAM map is obtained through data fusion; according to the technical scheme, accumulative errors can be effectively corrected and reduced in the splicing process by utilizing the accurate pose information of the identifiable labels, so that the accuracy of a global map is improved, and large-scene map distortion is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of map construction, and in particular to a SLAM map splicing method based on identifiable tags, a storage medium and an electronic device. Background Art

[0002] In the field of mobile devices (such as robot navigation, self-driving cars, automatic handling equipment on production lines, smart homes, etc.), it is necessary to use simultaneous localization and mapping (SLAM) technology for map construction, and the robot autonomous navigation provides environmental information. The current mainstream SLAM map construction methods are divided into visual SLAM, lidar SLAM, and multi-sensor fusion SLAM. The main core steps include feature extraction, feature matching, state estimation, and map update. However, due to the influence of feature matching errors and sensor noise, the cumulative error will gradually increase as the splicing process proceeds. Therefore, the SLAM map of large-area scenes has problems such as large cumulative positioning errors and large map distortion, which limits the application of mobile robots in large-area scenes.

[0003] In order to deal with the problem of robot SLAM map construction in large scenes, a variety of map splicing methods have appeared in the prior art. See the patent publication announcement number CN109887053A, which discloses a SLAM map splicing method and system, including: when SLAM tracking loss is detected, re-initialize SLAM mapping; use the vehicle's positioning module to obtain the current vehicle posture information, and calculate the current posture information of the vehicle-mounted sensor to construct the current virtual key frame; associate the current virtual key frame with the historical key frame to determine whether the initialization is successful; if not, use the vehicle's positioning module to obtain the current vehicle posture information to generate a virtual key frame; if so, construct a new sub-map, and use the sensor posture information corresponding to the current virtual key frame to initialize the new sub-map to achieve splicing between the original sub-map and the new sub-map; although the above technology solves the problem of SLAM tracking loss causing mapping failure during SLAM mapping, it greatly improves the success rate of building a complete SLAM map for large scenes. However, in scenes with similar features and few features, it still faces the problems of insufficient positioning accuracy and accumulated splicing errors. Summary of the invention

[0004] Therefore, it is necessary to provide a SLAM map stitching method based on identifiable tags to solve the problems of insufficient positioning accuracy and large accumulated stitching errors in large area scenes, especially in scenes with similar features or few features.

[0005] To achieve the above object, the present invention provides a SLAM map stitching method based on identifiable tags, which comprises the following steps:

[0006] Divide the area to be mapped into multiple connected sub-areas for mapping;

[0007] Connected regions of adjacent mapping sub-regions are assigned identifiable labels, each of which has a unique identifier;

[0008] Receive the identifiable tag information detected by the camera, and obtain the posture of each identifiable tag based on the actual size data of each identifiable tag, the camera internal parameters and the current posture of the mobile device, and save the identifier and posture of the identifiable tag as the posture feature of the identifiable tag;

[0009] A preliminary SLAM map is obtained by splicing multiple mapping sub-areas using the pose features of identifiable tags;

[0010] In the preliminary SLAM map, feature points similar to those in different mapping sub-areas are matched, and the final SLAM map is obtained through data fusion.

[0011] Furthermore, the connected region is an overlapping region of two adjacent mapping sub-regions.

[0012] Furthermore, the connected area has at least two identifiable labels.

[0013] Further, the step of receiving the identifiable tags detected by the camera, obtaining the posture of each identifiable tag based on the actual size data of each identifiable tag, the camera internal parameters and the current posture of the mobile device, and saving the identifier and posture of the identifiable tag as the posture feature of the identifiable tag includes the following steps:

[0014] Receiving identifiable tag information detected by a camera, the identifiable tag information including pixel size data and an identifier of the identifiable tag;

[0015] Calculate the relative position and posture of the mobile device and the identifiable tag based on the pixel size data of the identifiable tag detected by the camera, the actual size data of the identifiable tag, and the camera internal parameters;

[0016] Obtaining the position of the identifiable tag through the current position of the mobile device and the relative position of the mobile device and the identifiable tag;

[0017] The identifier and the pose of the identifiable tag are saved as pose features of the identifiable tag.

[0018] Furthermore, the step of obtaining a preliminary SLAM map by splicing multiple mapping sub-areas through the pose features of the identifiable tags includes the following steps:

[0019] Generate the neighbor relationship of the mapping sub-region according to the identifiable label identifiers in the connected region;

[0020] According to the pose features of the same identifiable label identifier in adjacent mapping sub-regions, the spatial transformation matrix of the adjacent mapping sub-regions is obtained by iterative closest point algorithm;

[0021] A certain mapping sub-region is taken as the reference region, and all mapping sub-regions are transformed to the reference region based on the spatial transformation matrix and Euclidean transformation of the adjacent mapping sub-regions to obtain a preliminary SLAM map.

[0022] Furthermore, the step of generating the neighbor relationship of the mapping sub-region according to the identifiable label identifiers in the connected region includes the following steps:

[0023] The identifiers of the identifiable labels in all mapping sub-regions are traversed. If the identifiers of the identifiable labels of two mapping sub-regions are the same, it is considered that the two mapping sub-regions are adjacent to each other.

[0024] Furthermore, the step of performing feature matching on similar feature points in different mapping sub-areas in the preliminary SLAM map and obtaining the final SLAM map by data fusion includes the following steps:

[0025] For each key frame of the mapping sub-area, feature points are extracted using a feature point extraction algorithm;

[0026] Perform feature point matching to find similar feature point pairs in different mapping sub-areas;

[0027] Based on the matched feature point pairs, the relative poses of the key frames between different mapping sub-regions are calculated;

[0028] Use graph optimization technology to iteratively minimize the error and obtain the key frame pose;

[0029] By fusing key frame data, a precisely stitched global map is obtained.

[0030] Furthermore, the step of obtaining the key frame pose by iteratively minimizing the error using the graph optimization technique comprises the following steps:

[0031] Construct a graph model, the graph model comprising vertices and edges; wherein the vertices are the key frame poses of all mapping sub-regions; the edges contain three types of information: the first type is the relative pose constraints of the key frames within the mapping sub-regions, the second type is the relative pose constraints of the key frames between the mapping sub-regions, and the third type is the relative pose constraints of the identifiable labels of the connected areas of the adjacent mapping sub-regions;

[0032] Define the error function, use the graph optimization algorithm for iterative optimization, and continuously adjust the key frame pose to minimize the error function until the predetermined convergence condition is reached to obtain the key frame pose.

[0033] A storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the above-mentioned SLAM map stitching method based on identifiable tags.

[0034] The electronic device comprises a memory and a processor. The memory stores a computer program. When the computer program is executed by the processor, the steps of the above-mentioned SLAM map splicing method based on identifiable tags are implemented.

[0035] Different from the existing technology, the above technical solution is assisted by identifiable tags to divide the area to be mapped into multiple mapping sub-areas for splicing, and then the camera recognizes the identifiable tags in the area to be mapped, calculates the posture of the identifiable tags, and uses them as the posture features of the identifiable tags in the SLAM map splicing process, providing a reliable reference for map splicing; in the SLAM map splicing process, the relationship between the posture features of the identifiable tags between the mapping sub-areas is used to perform rough splicing of the SLAM map to obtain a preliminary SLAM map; then auxiliary feature matching is performed, and the graph optimization method is used to perform fine map splicing to achieve fine SLAM map splicing and obtain a SLAM map; by utilizing the precise posture information of the identifiable tags, the accumulated errors can be effectively corrected and reduced during the splicing process, thereby improving the accuracy of the global map and reducing the distortion of large scene maps; effectively solving the problem of difficulty in mapping large scenes. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 The figure is a flow chart of the SLAM map stitching method based on identifiable tags of the present invention. DETAILED DESCRIPTION

[0037] In order to explain the technical content, structural features, achieved objectives and effects of the technical solution in detail, the following is a detailed description in conjunction with specific embodiments and accompanying drawings.

[0038] Reference to "embodiment" herein means that the specific features, structures or characteristics described in conjunction with the embodiment may be included in at least one embodiment of the present application. The term "embodiment" appearing in various places in the specification does not necessarily refer to the same embodiment, nor does it particularly limit its independence or association with other embodiments. In principle, in the present application, as long as there is no technical contradiction or conflict, the various technical features mentioned in the embodiments can be combined in any way to form a corresponding implementable technical solution.

[0039] Unless otherwise defined, the technical terms used in this document have the same meanings as those generally understood by those skilled in the art to which this application belongs; the use of relevant terms in this document is only for describing specific embodiments and is not intended to limit this application.

[0040] In the description of this application, the term "and / or" is an expression used to describe the logical relationship between objects, indicating that three relationships may exist, for example, A and / or B, which means: A exists, B exists, and A and B exist at the same time. In addition, the character " / " in this article generally indicates that the objects before and after are in an "or" logical relationship.

[0041] In the present application, terms such as “first” and “second” are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship of quantity, priority or sequence between these entities or operations.

[0042] Without further limitations, in this application, the words "include", "comprises", "has" or other similar expressions used in the sentences are intended to cover non-exclusive inclusion. These expressions do not exclude the presence of additional elements in the process, method or product including the elements, so that the process, method or product including a series of elements may include not only those limited elements, but also other elements not explicitly listed, or also include elements inherent to such process, method or product.

[0043] Similar to the understanding in the Patent Examination Guidelines, in this application, expressions such as "greater than", "less than", "exceed" and the like are understood to exclude the number itself; expressions such as "above", "below", "within" and the like are understood to include the number itself. In addition, in the description of the embodiments of this application, "multiple" means more than two (including two), and similar expressions related to "multiple" are also understood in this way, such as "multiple groups", "multiple times", etc., unless otherwise clearly and specifically limited.

[0044] In the description of the embodiments of the present application, space-related expressions used, such as "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "vertical", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc., indicate the orientation or position relationship based on the orientation or position relationship shown in the specific embodiments or drawings, and are only for the convenience of describing the specific embodiments of the present application or facilitating the reader's understanding, and do not indicate or imply that the referred device or component must have a specific position, a specific orientation, or be constructed or operated in a specific orientation, and therefore cannot be understood as a limitation on the embodiments of the present application.

[0045] Unless otherwise expressly specified or limited, in the description of the embodiments of the present application, the terms such as "install", "connect", "connect", "fix", "set", etc. used should be understood in a broad sense. For example, the "connection" can be a fixed connection, a detachable connection, or an integrated setting; it can be a mechanical connection, an electrical connection, or a communication connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium; it can be the internal connection of two elements or the interaction relationship between two elements. For technicians in the technical field to which the present application belongs, the specific meanings of the above terms in the embodiments of the present application can be understood according to the specific circumstances.

[0046] See also Figure 1 As shown, the present invention provides a SLAM map stitching method based on identifiable tags. The method is assisted by identifiable tags to divide the area to be mapped into multiple mapping sub-areas for stitching, and then the identifiable tags in the area to be mapped are identified by a camera, and the posture of the identifiable tags is calculated and used as the posture features of the identifiable tags in the SLAM map stitching process, which provides a reliable reference for map stitching, thereby significantly improving the positioning accuracy of map stitching; in the SLAM map stitching process, the relationship between the posture features of the identifiable tags between the mapping sub-areas is used to perform rough SLAM map stitching to obtain a preliminary SLAM map; then the identifiable tags are assisted by the special The method uses the image optimization method to finely stitch the map, realize the fine stitching of SLAM map, and obtain the SLAM map; by using the precise pose information of the identifiable tags, the cumulative error can be effectively corrected and reduced during the stitching process, thereby improving the accuracy of the global map and reducing the distortion of large scene maps; effectively solving the problem of difficult construction of large scenes; at the same time, the identifiable tags provide direct pose information, reduce the amount of feature matching and optimization calculations, reduce the algorithm complexity and computing resource requirements, and make the mapping process simpler and more efficient; this method is not only suitable for indoor environments, but can also be extended to the construction of outdoor large scene maps. With the assistance of identifiable tags, mobile devices can more efficiently perform positioning and map stitching in large scenes, which can be applied in application scenarios in the fields of autonomous driving, robot navigation, augmented reality, etc.

[0047] To this end, the present invention provides an implementation of a SLAM map splicing method based on identifiable tags, which includes the following steps:

[0048] S1, dividing the area to be mapped into multiple connected mapping sub-areas;

[0049] S2. The connected areas of the adjacent mapping sub-areas are provided with identifiable tags, each of which has a unique identifier;

[0050] S3, receiving the identifiable tag information detected by the camera, and obtaining the posture of each identifiable tag based on the actual size data of each identifiable tag, the camera internal parameters and the current posture of the mobile device (the posture in the SLAM map coordinate system), and saving the identifier and posture of the identifiable tag as the posture feature of the identifiable tag;

[0051] S4, stitching multiple mapping sub-areas through the pose features of identifiable tags to obtain a preliminary SLAM map;

[0052] S5. In the preliminary SLAM map, feature points of similar feature points in different mapping sub-areas are matched, and the final SLAM map is obtained through data fusion.

[0053] In the above step S1, the area to be mapped is divided into a plurality of connected mapping sub-areas. The area to be mapped can be divided according to commonly used regular shapes, such as but not limited to division by grids (four-square grids, nine-square grids, etc.), rows, columns, rings, etc. It can also be divided in a variety of ways according to specific needs and scene characteristics, such as irregular shape division according to the shape of the area to be mapped and the distribution of obstacles, or division according to the function or purpose of the area to be mapped. The above-mentioned connected mapping sub-areas refer to dividing the area to be mapped into a plurality of mapping sub-areas, and adjacent mapping sub-areas have connected areas, through which the multiple mapping sub-areas can be connected. That is, adjacent mapping sub-areas are not arranged at intervals. In some embodiments, there are partially overlapping areas in adjacent mapping sub-areas, and the connected area is the overlapping area of ​​two adjacent mapping sub-areas. In some embodiments not shown, adjacent mapping sub-areas are adjacent to each other, and the connected area is the adjacent area of ​​two adjacent mapping sub-areas.

[0054] The identifiable tags arranged in the connected areas of the adjacent mapping sub-areas in the above step S2 have unique identifiers, such as UUID (universally unique identifier), GUID (globally unique identifier), etc., to ensure that each identifiable tag is unique. It should be noted that the actual shape and actual size of the identifiable tags are not limited, and they can be set according to the size of the connected area. The above identifiable tags are available for camera recognition detection, and the identifiable tag information can be obtained by camera recognition detection, and the identifiable tag information includes the identifier of the identifiable tag and the pixel size of the identifiable tag. In practical applications, the identifiable tags can be QR codes, bar codes, RFID tags, language tags, etc. The number of identifiable tags can be set according to actual needs, preferably at least two identifiable tags. At least two coded tags can provide double confirmation for each mapping sub-area, which helps to more accurately locate and align the mapping sub-areas during the splicing process. By comparing and matching the information of two or more identifiable tags, the splicing error can be reduced to ensure the accuracy and consistency of the SLAM map. At the same time, multiple coded tags provide redundant information. If one of the identifiable tags is damaged, blocked or misidentified and cannot be used, it can still be identified and located through other tags, which improves reliability in complex environments.

[0055] The step of receiving the identifiable tags detected by the camera in the above step S3, obtaining the posture of each identifiable tag based on the actual size data of each identifiable tag, the camera internal parameters and the current posture of the mobile device, and saving the identifier and posture of the identifiable tag as the posture feature of the identifiable tag, includes the following steps:

[0056] Receiving identifiable tag information detected by a camera, the identifiable tag information including pixel size data and an identifier of the identifiable tag;

[0057] Calculate the relative position and posture of the mobile device and the identifiable tag based on the pixel size data of the identifiable tag detected by the camera, the actual size data of the identifiable tag, and the camera internal parameters;

[0058] Obtaining the position of the identifiable tag through the current position of the mobile device and the relative position of the mobile device and the identifiable tag;

[0059] The identifier and the pose of the identifiable tag are saved as pose features of the identifiable tag.

[0060] The above-mentioned camera internal parameters include focal length, distortion coefficient, etc., which are obtained through camera calibration, such as using a standard checkerboard calibration method or other calibration methods. The camera detects the pixel size data of the recognizable tag, such as the overall width, length, perimeter, length of a certain edge, length of a certain arc, etc. Based on the actual size of the known recognizable tag and the camera's internal parameters and the pixel size of the tag, the relative pose (such as position and direction) between the mobile device and the tag can be calculated using the perspective projection principle or three-dimensional reconstruction algorithm. When calculating the relative pose between the mobile device and the tag, you can consider using an optimization algorithm (such as the least squares method, iterative closest point algorithm, etc.) to reduce the error. Based on the current pose of the mobile device and the relative pose between the mobile device and the recognizable tag, the pose of the recognizable tag (the pose in the SLAM map coordinate system) can be calculated through pose transformation matrix operations.

[0061] In the above step S4, multiple mapping sub-areas are spliced ​​by the pose features of the identifiable tags to obtain a preliminary SLAM map, which specifically includes the following steps:

[0062] Generate the neighbor relationship of the mapping sub-region according to the identifiable label identifiers in the connected region;

[0063] According to the pose features of the same identifiable label identifier in adjacent mapping sub-regions, the spatial transformation matrix of the adjacent mapping sub-regions is obtained by iterative closest point algorithm;

[0064] A certain mapping sub-region is taken as the reference region, and all mapping sub-regions are transformed to the reference region based on the spatial transformation matrix and Euclidean transformation of the adjacent mapping sub-regions to obtain a preliminary SLAM map.

[0065] The above step of generating the adjacent relationship of the mapping sub-regions according to the identifiable label identifiers in the connected region may specifically include traversing the identifiers of the identifiable labels in all mapping sub-regions. If there are two mapping sub-regions with the same identifiable label identifiers, it is considered that the two mapping sub-regions have an adjacent relationship.

[0066] In the above step S5, the step of performing feature matching on similar feature points in different mapping sub-areas in the preliminary SLAM map and obtaining the final SLAM map through data fusion includes the following steps:

[0067] For each key frame of the mapping sub-area, feature points are extracted using a feature point extraction algorithm;

[0068] Perform feature point matching to find similar feature point pairs in different mapping sub-areas;

[0069] Based on the matched feature point pairs, the relative poses of the key frames between different mapping sub-regions are calculated;

[0070] Use graph optimization technology to iteratively minimize the error and obtain the key frame pose;

[0071] By fusing key frame data, a precisely stitched global map is obtained.

[0072] The feature point extraction algorithm used in the above-mentioned feature point extraction can be used to detect feature points on key frames, such as SIFT, SURF, ORB, etc. The feature point matching in the above-mentioned feature point matching can be used to find similar feature point pairs in different mapping sub-areas. The similarity measurement between feature point descriptors (such as Euclidean distance, Hamming distance, etc.) can be used to perform preliminary matching on key frames from different mapping sub-areas to find similar feature point pairs. In the matching process, a matching threshold can be set to filter out point pairs with low matching degree to reduce the complexity and error of subsequent calculations.

[0073] The above-mentioned step of using graph optimization technology to iteratively minimize the error and obtain the key frame pose includes the following steps:

[0074] Construct a graph model, the graph model comprising vertices and edges; wherein the vertices are the key frame poses of all mapping sub-regions; the edges contain three types of information: the first type is the relative pose constraints of the key frames within the mapping sub-regions, the second type is the relative pose constraints of the key frames between the mapping sub-regions, and the third type is the relative pose constraints of the identifiable labels of the connected areas of the adjacent mapping sub-regions;

[0075] Define the error function, use the graph optimization algorithm for iterative optimization, and continuously adjust the key frame pose to minimize the error function until the predetermined convergence condition is reached to obtain the key frame pose.

[0076] The above keyframe data fusion is to fuse the keyframes from different mapping sub-areas based on the optimized pose. During the fusion process, the overlapping areas between keyframes need to be processed to ensure the consistency and continuity of the map. Methods such as weighted averaging and multi-view geometry can be used to process the image data in the overlapping areas to reduce the stitching error.

[0077] The present invention also provides a storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned SLAM map stitching method based on identifiable tags are implemented. The computer program involved in the embodiment can be stored in a computer device readable storage medium, and the computer device readable storage medium includes but is not limited to a disk, a magnetic tape, a magnetic card, a floppy disk, a flash memory, an optical disk, an optical card, a read-only memory (ROM), a random access memory (RAM), an erasable programmable ROM (EPROM) and an electrically erasable programmable ROM (EEPROM), etc., and also includes other biological, physical or chemical structures that can realize the same or equivalent functions as the above-listed storage media, such as DNA, RNA, protein, etc., which have information storage capabilities. In a specific embodiment, the storage medium involved can be one of the above-mentioned media types, or a combination of the above-mentioned media types. In different embodiments, the computer program involved in the embodiment can be stored in a single medium in a centralized manner, or it can be stored in multiple media in a distributed manner. The memory containing the computer device readable storage medium can be a non-volatile memory or a random access memory. These computer device readable storage media may be built into the device, or may be connected to the device involved in the embodiment as an external device or part of an external device. In some embodiments, a memory with a computer device readable storage medium is deployed locally; in other embodiments, a solution of deploying the memory away from the processor may also be adopted, such as a network attached memory accessed via an RF circuit or an external port and a communication network, wherein the communication network may be the Internet, one or more intranets, a local area network (LAN), a wide area network (WLAN), a storage area network (SAN), etc., or a suitable combination thereof, as long as the computer device can access the memory. In addition, the computer program involved in the embodiment may be stored in plaintext / ciphertext form, or may be designed as training data, which may be integrated and reorganized through model training and implicitly stored in the parameter state of a deep neural network or other machine learning model.

[0078] An electronic device, comprising a memory and a processor, wherein a computer program is stored on the memory, and when the computer program is executed by the processor, the steps of the above-mentioned SLAM map stitching method based on identifiable tags are implemented. The processor described in the embodiment of the present application can be implemented by hardware, firmware, software or a combination thereof, and can use a circuit, a single or multiple application-specific integrated circuits (Application Specific Integrated Circuit, ASIC), a digital signal processor (Digital Signal Processor, DSP), a digital signal processing device (Digital Signal Processing Device, DSPD), a programmable logic device (Programmable Logic Device, PLD), a field programmable gate array (Field Programmable Gate Array, FPGA), a central processing unit (Central Processing Unit, CPU), a controller, a microcontroller, at least one of a microprocessor, and also includes other physical, biological or chemical structures that can realize functions similar to or equivalent to the above-listed processors, such as biological neurons, quantum computing units, DNA computing units, etc., so that the processor can execute some or all of the steps in the computer program or method involved in each embodiment of the present application or any combination of the steps mentioned therein.

[0079] It should be noted that, although the above embodiments have been described in this article, the patent protection scope of the present invention is not limited thereby. Therefore, based on the innovative concept of the present invention, changes and modifications made to the embodiments described herein, or equivalent structures or equivalent process changes made using the contents of the present invention specification and drawings, directly or indirectly applying the above technical solutions to other related technical fields, are all included in the patent protection scope of the present invention.

Claims

1. A SLAM map stitching method based on identifiable tags, characterized in that: The following steps are involved: Divide the area to be mapped into multiple connected sub-areas for mapping; Connected regions of adjacent mapping sub-regions are assigned identifiable labels, each of which has a unique identifier; Receive the identifiable tag information detected by the camera, and obtain the posture of each identifiable tag based on the actual size data of each identifiable tag, the camera internal parameters and the current posture of the mobile device, and save the identifier and posture of the identifiable tag as the posture feature of the identifiable tag; A preliminary SLAM map is obtained by splicing multiple mapping sub-areas using the pose features of identifiable tags; In the preliminary SLAM map, feature points similar to those in different mapping sub-areas are matched, and the final SLAM map is obtained through data fusion.

2. The SLAM map splicing method based on identifiable tags according to claim 1, characterized in that: The connected region is the overlapping region of two adjacent mapping sub-regions.

3. The SLAM map splicing method based on identifiable tags according to claim 1, characterized in that: The connected region has at least two identifiable labels.

4. The SLAM map stitching method based on identifiable tags according to claim 1, characterized in that: The step of receiving the identifiable tags detected by the camera, obtaining the posture of each identifiable tag based on the actual size data of each identifiable tag, the camera internal parameters and the current posture of the mobile device, and saving the identifier and posture of the identifiable tag as the posture feature of the identifiable tag includes the following steps: Receiving identifiable tag information detected by a camera, the identifiable tag information including pixel size data and an identifier of the identifiable tag; Calculate the relative position and posture of the mobile device and the identifiable tag based on the pixel size data of the identifiable tag detected by the camera, the actual size data of the identifiable tag, and the camera internal parameters; Obtaining the position of the identifiable tag through the current position of the mobile device and the relative position of the mobile device and the identifiable tag; The identifier and the pose of the identifiable tag are saved as pose features of the identifiable tag.

5. The SLAM map splicing method based on identifiable tags according to claim 1, characterized in that: The step of obtaining a preliminary SLAM map by splicing multiple mapping sub-areas using the pose features of identifiable tags includes the following steps: Generate the neighbor relationship of the mapping sub-region according to the identifiable label identifiers in the connected region; According to the pose features of the same identifiable label identifier in adjacent mapping sub-regions, the spatial transformation matrix of the adjacent mapping sub-regions is obtained by iterative closest point algorithm; A certain mapping sub-region is taken as the reference region, and all mapping sub-regions are transformed to the reference region based on the spatial transformation matrix and Euclidean transformation of the adjacent mapping sub-regions to obtain a preliminary SLAM map.

6. The SLAM map splicing method based on identifiable tags according to claim 5, characterized in that: The step of generating the neighbor relationship of the mapping sub-region according to the identifiable label identifiers in the connected region comprises the following steps: The identifiers of the identifiable labels in all mapping sub-regions are traversed. If the identifiers of the identifiable labels of two mapping sub-regions are the same, it is considered that the two mapping sub-regions are adjacent to each other.

7. The SLAM map splicing method based on identifiable tags according to claim 1, characterized in that: The step of performing feature matching on similar feature points in different mapping sub-areas in the preliminary SLAM map and obtaining the final SLAM map through data fusion includes the following steps: For each key frame of the mapping sub-area, feature points are extracted using a feature point extraction algorithm; Perform feature point matching to find similar feature point pairs in different mapping sub-areas; Based on the matched feature point pairs, the relative poses of the key frames between different mapping sub-regions are calculated; Use graph optimization technology to iteratively minimize the error and obtain the key frame pose; By fusing key frame data, a precisely stitched global map is obtained.

8. The SLAM map splicing method based on identifiable tags according to claim 1, characterized in that: The step of obtaining the key frame pose by iteratively minimizing the error using the graph optimization technology includes the following steps: Construct a graph model, the graph model comprising vertices and edges; wherein the vertices are the key frame poses of all mapping sub-regions; the edges contain three types of information: the first type is the relative pose constraints of the key frames within the mapping sub-regions, the second type is the relative pose constraints of the key frames between the mapping sub-regions, and the third type is the relative pose constraints of the identifiable labels of the connected areas of the adjacent mapping sub-regions; Define the error function, use the graph optimization algorithm for iterative optimization, and continuously adjust the key frame pose to minimize the error function until the predetermined convergence condition is reached to obtain the key frame pose.

9. A storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the SLAM map stitching method based on identifiable tags as described in any one of claims 1 to 8 are implemented.

10. An electronic device, characterized in that: It comprises a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the steps of the SLAM map splicing method based on identifiable tags as claimed in any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • An SLAM map splicing method and system

    CN109887053A

  • Multi-map splicing method, device, computer equipment and storage medium

    CN113012295A

  • Multi-robot collaborative global map construction system and method based on image semantics

    CN116452928A

  • Robot autonomous mapping method, device and system, electronic equipment and readable storage medium

    CN117422774A

  • Laser SLAM method, device, system and equipment based on mobile robot and medium

    CN117434547A