A method, system and product for mapping by a robot
Patent Information
- Application Number
- CN202210505405.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-10
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2042-05-10
AI Technical Summary
In existing robot mapping technologies, once an error is detected, the map needs to be rescanned, which consumes a lot of time and resources.
By acquiring laser scan data of the robot's environment, mismatched sub-maps are identified and deleted, the robot moves to the target location to acquire new scan data, and stitches together the correct map.
No need for a global rescan, effectively saving time and improving scanning efficiency.
Smart Images

Figure CN117091582B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and more particularly to a scanning method, system, and product for a robot. Background Technology
[0002] With the rapid development of the robotics industry, robots are being used more and more widely in our lives and work. Currently, there are many methods for robot mapping, with SLAM (Simultaneous Localization and Mapping) being the most commonly used. SLAM typically refers to a system that, on a robot, collects and calculates data from various sensors to generate localization information about its own position and orientation, as well as a map of the scene. Essentially, SLAM is a system state estimation problem; that is, given system inputs, it estimates the robot's pose and the coordinates of map points.
[0003] For large map scenes, the map structure in the mapping technology using SLAM scanning algorithm is usually composed of multiple sub-maps, each of which has a corresponding position in the world coordinate system; based on the position of each sub-map in the world coordinate system, they can be stitched together into a complete map.
[0004] Existing mapping technologies require rescanning if an error is found during the mapping process, until a correct map is obtained. This entire scanning process consumes a significant amount of time and resources. Summary of the Invention
[0005] This application provides a robot scanning method, system, and product that avoids the need for a global rescan when scanning errors occur, effectively saving time.
[0006] The first aspect of this application provides a method for scanning images with a robot, including:
[0007] Acquire multiple first laser scan data of the environment in which the robot is located, and obtain a first map based on the multiple first laser scan data. The first map includes multiple sub-maps.
[0008] Determine if there is a first sub-map in the first map that mismatches environmental features; if so, delete the first sub-map.
[0009] The robot is moved to the target scanning position according to the coordinate system position of the first sub-map, and the second laser scanning data of the corresponding area of the first sub-map is acquired from the target scanning position.
[0010] A second sub-map is obtained based on the second laser scanning data, and the second sub-map is stitched to the position corresponding to the first sub-map in the first map.
[0011] Furthermore, before obtaining the first map based on multiple sets of first laser scanning data, the method provided by the first aspect further includes:
[0012] Multiple third sub-maps are obtained based on the first environmental features of the robot's environment.
[0013] The process of obtaining the first map based on multiple sets of the first laser scanning data includes:
[0014] If the second environmental feature in the first laser scanning data matches the first environmental feature corresponding to the third sub-map, then the first laser scanning data is used to update the third sub-map to obtain the fourth sub-map;
[0015] The first map is obtained by stitching together multiple fourth sub-maps.
[0016] Furthermore, updating the third sub-map using the first laser scan data to obtain the fourth sub-map includes:
[0017] Update the third sub-map using the first laser scan data;
[0018] If the number of updates reaches the preset number of updates, the fourth sub-map is obtained.
[0019] Furthermore, determining whether there is a first sub-map with mismatched environmental features in the first map includes:
[0020] Determine whether the environmental features of the first map correspond to the environmental features of the environment in which the robot is located;
[0021] If there is a corresponding match, then it is determined that there is no mismatch of environmental features in the first sub-map in the first map;
[0022] If there is no corresponding match, it is determined that there is a mismatch between the environmental features of the first sub-map and the first map.
[0023] Furthermore, before deleting the first sub-map from the first map, the method further includes:
[0024] The first map is displayed on the robot's display interface;
[0025] Deleting the first sub-map from the first map includes:
[0026] Identify the first sub-map that needs to be deleted from the first map;
[0027] The first sub-map is deleted according to the touch command on the display interface.
[0028] Furthermore, moving the robot to the target scanning position based on the coordinate system position of the first sub-map includes:
[0029] Based on the coordinate system position of the first sub-map, determine the robot's scanning positioning point when obtaining the first laser scanning data corresponding to the first sub-map;
[0030] The scanning positioning point is used as the target scanning position, and the robot is moved to the target scanning position.
[0031] Furthermore, the step of stitching the second sub-map to the position corresponding to the first sub-map in the first map includes:
[0032] Determine the target pose of the second sub-map based on its coordinate system position.
[0033] Based on the target pose and the pixel correspondence of the second sub-map, the second sub-map is stitched to the position corresponding to the first sub-map in the first map.
[0034] A second aspect of this application provides a robot scanning system, comprising:
[0035] The first acquisition unit is used to acquire multiple first laser scan data of the environment in which the robot is located;
[0036] A first execution unit is configured to obtain a first map based on a plurality of first laser scanning data, wherein the first map includes a plurality of sub-maps;
[0037] The judgment unit is used to determine whether there is a first sub-map in the first map that mismatches environmental features;
[0038] The deletion unit is used to delete the first sub-map in the first map if the judgment result of the judgment unit is yes;
[0039] The second acquisition unit is used to move the robot to the target scanning position according to the coordinate system position of the first sub-map, and acquire the second laser scanning data of the corresponding area of the first sub-map starting from the target scanning position;
[0040] The stitching unit is used to obtain a second sub-map based on the second laser scanning data and stitch the second sub-map to the position corresponding to the first sub-map in the first map.
[0041] A third aspect of this application provides a robot, comprising:
[0042] Central processing unit, memory, input / output interface, wired or wireless network interface, power supply;
[0043] The memory is either a short-term storage memory or a persistent storage memory;
[0044] The central processing unit is configured to communicate with the memory and execute instructions in the memory on the control plane functional entity to perform the scanning method described above.
[0045] This application also provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the scanning method described above.
[0046] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0047] By deleting the mismatched first sub-map, the robot is moved to the target scanning position according to the coordinate system position of the first sub-map, and the second laser scanning data corresponding to the first sub-map is obtained from the target scanning position. The second sub-map is obtained based on the second laser scanning data and stitched to the first map. There is no need to scan the entire map, which effectively saves time. Attached Figure Description
[0048] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0049] Figure 1 This is a flowchart of a robot scanning process disclosed in an embodiment of this application;
[0050] Figure 2 This is a schematic diagram of a robot scanning system disclosed in an embodiment of this application;
[0051] Figure 3 This is a schematic diagram of a robot disclosed in an embodiment of this application. Detailed Implementation
[0052] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0053] In existing robot mapping technologies, if an error is found during the mapping process, the map needs to be re-scanned until a correct map is obtained. This entire scanning process is time-consuming and resource-intensive. Therefore, this application provides a robot mapping method that eliminates the need for a global scan, effectively saving time. The specific steps of this application embodiment are as follows: Figure 1 As shown:
[0054] 101. Obtain multiple first laser scan data of the robot's environment.
[0055] During the scanning process, the robot needs to acquire multiple first laser scan data points of its environment. The robot is equipped with laser sensors that scan its surroundings to obtain these first laser scan data points. The robot's environment refers to the area where it needs to scan the map; each first laser scan data point can be understood as a frame of laser point cloud data.
[0056] 102. Obtain the first map based on multiple first laser scanning data.
[0057] After acquiring multiple first laser scan data points, the robot can derive a first map based on these data. Specifically, the robot can obtain multiple third sub-maps based on first environmental features of its environment. These first environmental features refer to the image features of the robot's surroundings. For example, if the robot's environment contains a white chair, then both the chair image and the white image are considered first environmental features. These first environmental features encompass multiple image features. The robot can use these first environmental features to construct a virtual map and divide this virtual map into multiple virtual third sub-maps.
[0058] Specifically, a first map is obtained based on the multiple first laser scan data. These first laser scan data are then transmitted to the robot's SLAM system. Each time the SLAM receives a first laser scan data point, it matches it with the virtual map. If a second environmental feature in the first laser scan data matches a first environmental feature corresponding to a third sub-map, the third sub-map is updated using the first laser scan data to obtain a fourth sub-map. It can be understood that a corresponding second environmental feature can be extracted from the first laser scan data. This second environmental feature is similar to the first environmental feature, and it is obtained by the laser sensor scanning the robot's environment in real time. Environmental feature matching means that an environmental feature present in the first laser scan data also exists in the third sub-map. For example, if a green tree exists in the second environmental feature of the first laser scan data, then green and the tree become the second environmental feature. If a green tree also exists in the first environmental feature of the third sub-map, then the second environmental feature matches the first environmental feature. After updating multiple third sub-maps, multiple fourth sub-maps can be obtained. Based on the world coordinate system positions of these fourth sub-maps, they can be stitched together to form a complete first map. When the SLAM system updates the third sub-maps using the first laser scan data, it can obtain the real-time location of the robot corresponding to that first sub-map.
[0059] Furthermore, the robot's SLAM system updates the third sub-map using the first laser scan data to obtain the fourth sub-map. Specifically, the first laser scan data is used to update the third sub-map; if the number of updates reaches a preset number, the fourth sub-map is obtained. It can be understood that after each sub-map is updated to the preset number of times, that sub-map is fixed and no longer updated, and the last updated sub-map is used as the fourth sub-map. This preset number of updates can be 5 or 6 times; the specific number is not limited here. Simultaneously, based on the real-time positioning of the SLAM algorithm, the position of this fourth sub-map in the world coordinate system can be recorded.
[0060] 103. Determine whether there is a first sub-map in the first map that mismatches environmental features; if yes, proceed to step 104; if no, proceed to step 107.
[0061] When the robot matches the first laser scan data with the virtual map, environmental feature matching errors may occur. The robot needs to determine whether there is a first sub-map in the first map with mismatched environmental features. Specifically, it needs to determine whether the environmental features of the first map correspond to the environmental features of the robot's environment. If they correspond, it is determined that there is no first sub-map with mismatched environmental features in the first map; if they do not correspond, it is determined that there is a first sub-map with mismatched environmental features in the first map. It is understandable that if a certain area in the first map shows ghosting or blurring, it can be determined that the environmental features of the first map do not correspond to the environmental features of the robot's environment, and the first sub-map containing that area is a first sub-map with mismatched environmental features. For example, if the actual environmental features of the robot's environment are 5 corners, while the environmental features of the first map are 2 corners, it can be determined that the two environmental features do not correspond. It is understood that this judgment process can be automatically detected and judged by the robot or manually; the specific method is not limited here.
[0062] 104. Delete the first sub-map in the first map.
[0063] If a first sub-map with mismatched environmental features exists within the first map, that sub-map is deleted. It's understood that the robot can automatically detect and identify mismatched sub-maps within the first map using environmental features, and then delete them. Alternatively, a human can manually identify and delete mismatched sub-maps. Specifically, the first map can be displayed on the robot's interface; touch commands on the display interface can be used to determine which sub-map needs to be deleted, and then that sub-map is removed. Since the complete first map is composed of sub-maps, clicking on a mismatched area on the first map identifies which sub-map the area belongs to, allowing for the deletion of the corresponding sub-map.
[0064] 105. Move the robot to the target scanning position and obtain the second laser scan data of the corresponding area of the first sub-map.
[0065] After deleting the first sub-map with mismatched environmental features from the first map, the deleted first sub-map will appear gray in the original complete first map. Next, based on the coordinate system position of the first sub-map, the robot is moved to the target scanning position, and second laser scan data for the corresponding area of the first sub-map is acquired from the target scanning position. Specifically, the robot can be manually pushed back to any area (white area) in the first map where information exists, and the environment of the deleted first sub-map can be scanned again to acquire the second laser scan data corresponding to the first sub-map. Alternatively, the robot can determine its scanning positioning point for acquiring the first laser scan data corresponding to the first sub-map based on the coordinate system position of the first sub-map; this scanning positioning point is used as the target scanning position, and the robot is moved to the target scanning position. It is understood that this coordinate system position is the world coordinate system position, which can be obtained through the SLAM algorithm. When the robot moves to the target scanning position, the laser sensor can scan the environment of the first sub-map again to obtain the second laser scan data. It is understandable that the first sub-map to be deleted can be one or more, and there is no specific limitation here; when there are multiple sub-maps to be deleted, the second laser scan data obtained can also be multiple laser scan data.
[0066] 106. Obtain the second sub-map based on the second laser scanning data, and stitch the second sub-map to the corresponding position of the first sub-map in the first map.
[0067] The robot can obtain a second sub-map based on the second laser scan data. Specifically, this second laser scan data can be used to update the virtual sub-map corresponding to the first sub-map in the virtual map. After a certain number of updates, the second sub-map can be obtained. Next, the target pose of the second sub-map is determined based on its coordinate system position. Specifically, when the world coordinate system position of the second sub-map is known, the `cv::warpAffine` function of OpenCV can be called to perform rotation and translation operations on the second sub-map, and the resulting pose is the target pose. Based on the target pose and the pixel correspondence of the second sub-map, the second sub-map can be stitched to the corresponding position of the first sub-map in the first map. Alternatively, after rotating and translating all sub-maps, they can be merged into a large map in real time according to the pixel correspondence; this large map is the updated first map.
[0068] 107. Determine the first map as the target map.
[0069] After the robot detects the first map, if there is no first sub-map with mismatched environmental features in the first map, then the first map can be determined as the target map, and a map corresponding to the real scene can be obtained.
[0070] In this embodiment, by deleting the mismatched first sub-map, the robot is moved to the target scanning position based on the coordinate system position of the first sub-map, and the second laser scanning data corresponding to the first sub-map is obtained at the target scanning position. The second sub-map is then obtained based on the second laser scanning data and stitched onto the first map. This eliminates the need for a global scan, effectively saving time. The erroneous sub-map can be deleted and the scan re-done, requiring only the erroneous portion to be scanned and allowing for real-time stitching, significantly reducing scanning time and improving efficiency.
[0071] This application provides a robot scanning system, such as... Figure 2 As shown, it includes:
[0072] The first acquisition unit 201 is used to acquire multiple first laser scan data of the environment in which the robot is located;
[0073] The first execution unit 202 is configured to obtain a first map based on a plurality of the first laser scanning data;
[0074] The judgment unit 203 is used to determine whether there is a first sub-map in the first map with mismatched environmental features; the deletion unit 204 is used to delete the first sub-map in the first map if the judgment result of the judgment unit is yes.
[0075] The second acquisition unit 205 is used to move the robot to the target scanning position according to the coordinate system position of the first sub-map, and acquire the second laser scanning data corresponding to the first sub-map at the target scanning position;
[0076] The stitching unit 206 is used to obtain a second sub-map based on the second laser scanning data and stitch the second sub-map to the position corresponding to the first sub-map in the first map.
[0077] This application provides a robot 300, such as... Figure 3 As shown, it includes:
[0078] Central processing unit 301, memory 302, input / output interface 303, wired or wireless network interface 304, power supply 305;
[0079] The memory 302 is a short-term storage memory or a persistent storage memory;
[0080] The central processing unit 301 is configured to communicate with the memory 302 and execute instructions in the memory 302 on the control plane functional entity to perform the robot mapping method in any of the above embodiments.
[0081] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0082] This application also provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the scanning method described above.
[0083] This application also provides a computer program product, including a computer program or instructions, which, when executed by a processor, implement the robot scanning method in any of the above embodiments.
[0084] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0085] 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.
[0086] Furthermore, the functional units in the various embodiments of this application 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.
[0087] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it 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 all or 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 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. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A scanning method for a robot, characterized in that, include: Acquire multiple first laser scan data of the robot's environment; A virtual map is constructed based on the first environmental characteristics of the robot's environment, and the virtual map is divided into multiple third sub-maps; A first map is obtained based on multiple first laser scanning data, the first map including multiple sub-maps; wherein, obtaining the first map based on multiple first laser scanning data includes: if a second environmental feature in the first laser scanning data matches a first environmental feature corresponding to the third sub-map, then the third sub-map is updated using the first laser scanning data to obtain a fourth sub-map, and while updating the third sub-map using the first laser scanning data, the real-time positioning of the robot is obtained, and the position of the fourth sub-map in the world coordinate system is recorded based on the real-time positioning; the multiple fourth sub-maps are stitched together based on their positions in the world coordinate system to obtain the first map; Determine if there is a first sub-map in the first map that mismatches environmental features; if so, delete the first sub-map. The robot is moved to the target scanning position according to the coordinate system position of the first sub-map, and the second laser scanning data of the corresponding area of the first sub-map is acquired from the target scanning position. A second sub-map is obtained based on the second laser scanning data, and the second sub-map is stitched to the position corresponding to the first sub-map in the first map.
2. The scanning method according to claim 1, characterized in that, The step of updating the third sub-map using the first laser scan data to obtain the fourth sub-map includes: Update the third sub-map using the first laser scan data; If the number of updates reaches the preset number of updates, the fourth sub-map is obtained.
3. The scanning method according to claim 1, characterized in that, The determination of whether there is a mismatch of environmental features in the first sub-map in the first map includes: Determine whether the environmental features of the first map correspond to the environmental features of the environment in which the robot is located; If there is a corresponding match, then it is determined that there is no mismatch of environmental features in the first sub-map in the first map; If there is no corresponding match, it is determined that there is a mismatch between the environmental features of the first sub-map and the first map.
4. The scanning method according to claim 1, characterized in that, Before deleting the first sub-map from the first map, the method further includes: The first map is displayed on the robot's display interface; Deleting the first sub-map from the first map includes: Identify the first sub-map that needs to be deleted from the first map; The first sub-map is deleted according to the touch command on the display interface.
5. The scanning method according to claim 1, characterized in that, Moving the robot to the target scanning position according to the coordinate system position of the first sub-map includes: Based on the coordinate system position of the first sub-map, determine the scanning positioning point of the robot when obtaining the first laser scanning data corresponding to the first sub-map; The scanning positioning point is used as the target scanning position, and the robot is moved to the target scanning position.
6. The scanning method according to claim 1, characterized in that, The step of stitching the second sub-map to the position corresponding to the first sub-map in the first map includes: Determine the target pose of the second sub-map based on its coordinate system position. Based on the target pose and the pixel correspondence of the second sub-map, the second sub-map is stitched to the position corresponding to the first sub-map in the first map.
7. A scanning system for a robot, characterized in that, include: The first acquisition unit is used to acquire multiple first laser scan data of the environment in which the robot is located; A first execution unit is configured to obtain a first map based on multiple first laser scanning data, the first map including multiple sub-maps; specifically, the first execution unit is configured to: construct a virtual map based on a first environmental feature of the robot's environment, and divide the virtual map into multiple third sub-maps; if a second environmental feature in the first laser scanning data matches the first environmental feature corresponding to the third sub-map, then update the third sub-map using the first laser scanning data to obtain a fourth sub-map, and while updating the third sub-map using the first laser scanning data, obtain the robot's real-time positioning, and record the position of the fourth sub-map in the world coordinate system based on the real-time positioning; and stitch together the multiple fourth sub-maps based on their positions in the world coordinate system to obtain the first map; The judgment unit is used to determine whether there is a first sub-map in the first map that mismatches environmental features; The deletion unit is used to delete the first sub-map in the first map if the judgment result of the judgment unit is yes; The second acquisition unit is used to move the robot to the target scanning position according to the coordinate system position of the first sub-map, and acquire the second laser scanning data of the corresponding area of the first sub-map starting from the target scanning position; The stitching unit is used to obtain a second sub-map based on the second laser scanning data and stitch the second sub-map to the position corresponding to the first sub-map in the first map.
8. A robot, characterized in that, include: Central processing unit, memory, input / output interface, wired or wireless network interface, power supply; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory on a control plane functional entity to perform the method described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Method, device, apparatus for updating electronic map and storage medium
CN109284348A
Mobile robot mapping method, device and equipment and storage medium
CN110851556A
Walking robot and map processing method applied to walking robot
CN111766871A
