Laser mapping method and system based on multi-robot cooperative work

CN117433508BActive Publication Date: 2026-10-09ZHEJIANG OUNITECH ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311399655.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-26
Publication Date
2026-10-09
Estimated Expiration
2043-10-26

AI Technical Summary

Technical Problem

[0003]本发明人在实施例本发明时发现,现有的基于激光雷达的SLAM方案存在如下不足:(1)对于大场景(大面积)的地图构建,若采用单机器人(SLAM机器人)进行整个场景的地图构建,所花费的时间非常大,计算量大,工作效率极低,而且场景规模越大,累积的误差越大,从而影响最后生成的完整地图的精确度;(2)现有技术也有通过多个机器人分别对整个场景的不同区域进行建图生成不同区域的地图后,最后将不同区域的地图进行拼接(融合)得到整个场景的完整地图

Benefits of technology

[0044] Compared with existing technologies, the present invention provides a laser mapping method and system based on multi-robot collaborative work. This method divides the area to be mapped into a reference area and at least one sub-area, where the sub-area and the reference area share a common region. First, a master robot maps the reference area to obtain a reference map. The reference map includes multiple reference sub-maps, each containing a preset number of reference point cloud data frames. Then, a slave robot performs real-time mapping on the sub-area. The slave robot uses real-time point cloud data collected from the sub-area and... The real-time sub-map created from point cloud data collected at a preset number of frames is sent to the master robot. The master robot performs loopback optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped, along with the reference point cloud data and reference sub-map, to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped, and returns them to the slave robot. This process continues until the slave robot completes the mapping of the sub-region to be mapped and generates the sub-region map. Finally, the master robot stitches the reference map and the sub-region map together to obtain the complete map of the sub-region to be mapped. As can be seen, the laser mapping method and system based on multi-robot collaborative work provided in this embodiment can effectively improve the efficiency of environmental map construction in large scenes by completing map construction through the collaborative work of master robot and slave robot. Moreover, the master robot uses the benchmark map obtained by mapping the benchmark area as the optimization benchmark, and performs loop optimization with the real-time point cloud data and real-time sub-maps collected by the slave robot in real-time mapping other sub-areas to be mapped and the benchmark point cloud data and benchmark sub-maps in the benchmark map. This enables the maps of other areas to be effectively correlated with the benchmark area, effectively eliminating the cumulative error of map data between other areas and the benchmark area, thereby facilitating the final map fusion and improving the accuracy of the fused complete map.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117433508B_ABST
    Figure CN117433508B_ABST
Patent Text Reader

Abstract

The application discloses a laser mapping method based on cooperative work of multiple robots, comprising: mapping a reference region by a master robot to obtain a reference map; mapping a sub-region to be mapped in real time by a slave robot, and sending real-time point cloud data collected by the slave robot on the sub-region to be mapped and a real-time sub-map created based on point cloud data collected for a preset number of frames to the master robot; performing loop optimization on the received real-time point cloud data collected by the slave robot on the sub-region to be mapped and the real-time sub-map and the reference map by the master robot, so as to obtain the pose of all historical sub-maps of the sub-region to be mapped after optimization and the pose of all point cloud data and return the same to the slave robot, until the slave robot completes the mapping of the sub-region to be mapped to generate a sub-region map; splicing the reference map and the sub-region map by the master robot to obtain a complete map of the region to be mapped, and modifying all data IDs in the complete map to the same ID.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of positioning and mapping technology, and in particular to a laser mapping method and system based on multi-robot collaborative work. Background Technology

[0002] Mobile robots performing various tasks, such as navigation, delivery, search, and cleaning, generally need to map their working environment and determine their own position within it. This necessitates Simultaneous Localization and Mapping (SLAM) technology. Among these, LiDAR-based SLAM technology offers several advantages and has become one of the most popular SLAM approaches. Currently, there are many open-source LiDAR SLAM solutions available, such as Gmapping, Hector, Karto, and Cartographer, which can be categorized into filter-based and graph optimization-based solutions.

[0003] In implementing this invention, the inventors discovered that existing LiDAR-based SLAM solutions have the following shortcomings: (1) For large-scale scene (large area) map construction, if a single robot (SLAM robot) is used to construct the map of the entire scene, the time required is very large, the computational load is large, and the work efficiency is extremely low. Moreover, the larger the scene scale, the greater the accumulated error, thus affecting the accuracy of the final generated complete map; (2) Existing technologies also involve multiple robots constructing maps of different areas of the entire scene separately, and then stitching (merging) the maps of different areas together to obtain the complete map of the entire scene. However, since multiple robots independently construct maps of different areas, each constructed map is independent and unrelated. This not only brings certain difficulties to map fusion, but also the errors existing in each map will affect the merged complete map, thus affecting the accuracy of the final generated complete map. Summary of the Invention

[0004] The purpose of this invention is to provide a laser mapping method and system based on multi-robot collaborative work, which can effectively solve the above-mentioned technical problems existing in the prior art.

[0005] On one hand, this application discloses a laser mapping method based on multi-robot collaborative work, applicable to mapping a region to be mapped. The region to be mapped includes a reference region and at least one sub-region to be mapped, and the sub-region to be mapped shares a common area with the reference region. The multiple robots include a master robot and slave robots, and the data collected by each robot carries an independent tag ID. The laser mapping method includes the following steps:

[0006] S1. The main robot constructs a map of the reference area to obtain a reference map; the reference map includes multiple reference sub-maps, and each reference sub-map includes a preset number of reference point cloud data frames.

[0007] S2. The robot performs real-time mapping of the sub-region to be mapped by the robot, and the robot sends the real-time point cloud data collected on the sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the main robot.

[0008] S3. The main robot performs loop optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped and the reference point cloud data and reference sub-map, thereby obtaining the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped after optimization and returning them to the slave robot, until the slave robot completes the mapping of the sub-region to be mapped to generate the sub-region map.

[0009] S4. The main robot stitches the base map and the sub-region map together to obtain a complete map of the region to be mapped, and modifies all data IDs in the complete map to the same ID.

[0010] As an improvement to the above scheme, the sub-regions to be mapped include at least two, and each sub-region corresponds to a slave robot; in step S2, each slave robot simultaneously performs real-time mapping of the sub-region it is responsible for; in step S3, the master robot performs loopback optimization on the data sent by different slave robots based on the tag ID and returns the optimized data to the corresponding slave robot.

[0011] As an improvement to the above scheme, in step S3, the loop closure optimization specifically includes:

[0012] S31. Match the received real-time point cloud data of the sub-region to be built with the reference sub-map to perform loop closure detection;

[0013] S32. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S33; otherwise, return to step S31.

[0014] S33. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0015] As an improvement to the above scheme, in step S3, the loop closure optimization specifically includes:

[0016] S31. Match the received real-time sub-map of the sub-region to be built with the reference point cloud data to perform loop closure detection;

[0017] S32. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S33; otherwise, return to step S31.

[0018] S33. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0019] As an improvement to the above scheme, the region to be mapped is the first region to be mapped. The laser mapping method is also applicable to mapping the Nth region to be mapped, which includes the (N-1)th region to be mapped and at least one Nth sub-region to be mapped, wherein the Nth sub-region to be mapped shares a common area with the (N-1)th region to be mapped; where N is an integer greater than or equal to 2; the laser mapping method further includes the following steps:

[0020] The main robot uses the complete map of the (N-1)th region to be mapped as a new reference map, and the (N-1)th region to be mapped constitutes the new reference region.

[0021] By performing real-time mapping on the Nth sub-region to be mapped by the robot, the robot sends the real-time point cloud data collected on the Nth sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the main robot.

[0022] The master robot performs loop optimization on the real-time point cloud data and real-time sub-map collected from the Nth sub-region to be mapped, and the reference point cloud data and reference sub-map in the new reference map, so as to obtain the poses of all historical sub-maps and the poses of all point cloud data after optimization of the Nth sub-region to be mapped, and returns them to the slave robot accordingly, until the slave robot completes the mapping of the Nth sub-region to be mapped to generate the Nth sub-region map.

[0023] The main robot stitches the new baseline map and the Nth sub-region map together to obtain the complete map of the Nth region to be mapped, and modifies all data IDs in the complete map of the Nth region to be mapped to the same ID.

[0024] As an improvement to the above scheme, in step S3, the loop closure optimization is the first loop closure optimization, which further includes the following before completing the mapping of the sub-region to be mapped and generating the sub-region map:

[0025] S31. Perform a second loop optimization on all historical sub-maps and all point cloud data of the sub-region to be built and the reference point cloud data and reference sub-map, so as to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be built after the second optimization.

[0026] S32. Generate the sub-region map based on the poses of all historical sub-maps after secondary optimization of the sub-region to be built and the poses of all point cloud data.

[0027] As an improvement to the above scheme, the second loop closure optimization specifically includes:

[0028] S311. Match all point cloud data of the sub-region to be built with the reference sub-map to perform loop closure detection;

[0029] S312. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S313; otherwise, return to step S311.

[0030] S313. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0031] As an improvement to the above scheme, the second loop closure optimization specifically includes:

[0032] S311. Match all historical sub-maps of the sub-region to be built with the reference point cloud data to perform loop closure detection;

[0033] S312. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S213; otherwise, return to step S211.

[0034] S313. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0035] As an improvement to the above scheme, the sub-map status includes creation in progress and creation completed. The number of frames of point cloud data in the sub-map in progress is less than the preset number of frames, and the number of frames of point cloud data in the sub-map that has been created is equal to the preset number of frames. The historical sub-map is the sub-map that has been created.

[0036] As an improvement to the above scheme, the pose includes the XY axis coordinates and orientation θ in two-dimensional space.

[0037] As an improvement to the above solution, the master robot and the slave robot are cleaning robots.

[0038] As an improvement to the above solution, virtual walls are set in the area to be mapped, thereby dividing the area into a reference area and at least one sub-area to be mapped, and maximizing the common area between each sub-area and the reference area. Multiple QR code / color block labels are arranged in the common area, with the length and width of each label known. The spacing between adjacent labels is less than the robot's width. During the mapping process in the reference area and the sub-area, the pose of each label relative to the camera is acquired and calculated using a camera mounted on the robot. Based on the pose of each label, the coordinates of each label on the reference map / sub-area map and the corresponding virtual wall grid are calculated. The marked virtual wall grids are then sequentially connected on the reference map / sub-area map to form a complete virtual wall in the common area.

[0039] On the other hand, the present invention provides a laser mapping system based on multi-robot collaborative work, suitable for mapping an area to be mapped. The area to be mapped includes a reference area and at least one sub-area to be mapped, and the sub-area to be mapped shares a common area with the reference area. The laser mapping system includes a master robot and slave robots, and the data collected by each robot has an independent tag ID. Wherein:

[0040] The main robot is used to construct a baseline map of the baseline area; the baseline map includes multiple baseline sub-maps, and each baseline sub-map includes a preset number of baseline point cloud data.

[0041] The slave robot is used to perform real-time mapping of the sub-region to be mapped. The slave robot sends the real-time point cloud data collected from the sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the master robot.

[0042] The main robot is also used to perform loop optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped and the reference point cloud data and reference sub-map, so as to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped after optimization and return them to the slave robot until the slave robot completes the mapping of the sub-region to be mapped to generate the sub-region map.

[0043] The main robot is also used to stitch the base map and the sub-region map together to obtain a complete map of the region to be mapped, and to modify all data IDs in the complete map to the same ID.

[0044] Compared with existing technologies, the present invention provides a laser mapping method and system based on multi-robot collaborative work. This method divides the area to be mapped into a reference area and at least one sub-area, where the sub-area and the reference area share a common region. First, a master robot maps the reference area to obtain a reference map. The reference map includes multiple reference sub-maps, each containing a preset number of reference point cloud data frames. Then, a slave robot performs real-time mapping on the sub-area. The slave robot uses real-time point cloud data collected from the sub-area and... The real-time sub-map created from point cloud data collected at a preset number of frames is sent to the master robot. The master robot performs loopback optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped, along with the reference point cloud data and reference sub-map, to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped, and returns them to the slave robot. This process continues until the slave robot completes the mapping of the sub-region to be mapped and generates the sub-region map. Finally, the master robot stitches the reference map and the sub-region map together to obtain the complete map of the sub-region to be mapped. As can be seen, the laser mapping method and system based on multi-robot collaborative work provided in this embodiment can effectively improve the efficiency of environmental map construction in large scenes by completing map construction through the collaborative work of master robot and slave robot. Moreover, the master robot uses the benchmark map obtained by mapping the benchmark area as the optimization benchmark, and performs loop optimization with the real-time point cloud data and real-time sub-maps collected by the slave robot in real-time mapping other sub-areas to be mapped and the benchmark point cloud data and benchmark sub-maps in the benchmark map. This enables the maps of other areas to be effectively correlated with the benchmark area, effectively eliminating the cumulative error of map data between other areas and the benchmark area, thereby facilitating the final map fusion and improving the accuracy of the fused complete map. Attached Figure Description

[0045] To more clearly illustrate the technical solution of the present invention, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 A flowchart of a laser mapping method based on multi-robot collaborative work provided in an embodiment of the present invention.

[0047] Figure 2a This is a schematic diagram of a map constructed after the laser mapping method based on multi-robot collaborative work provided in the embodiments of the present invention is used to construct a map of the area to be mapped.

[0048] Figure 2b This is a schematic diagram illustrating the construction of a virtual wall in the area to be mapped using the laser mapping method based on multi-robot collaborative work provided in this embodiment of the invention.

[0049] Figure 2c This is a grid map illustration of the virtual wall shown in 2b.

[0050] Figure 2d This is a schematic diagram of another embodiment of the laser mapping method based on multi-robot collaborative work provided by the preferred embodiment of the present invention, which sets up a virtual wall in the area to be mapped.

[0051] Figure 2e This is a grid map illustration of a virtual wall shown in 2D.

[0052] Figure 3 This is a schematic diagram of a map constructed after the laser mapping method based on multi-robot collaborative work, provided by a preferred embodiment of the present invention, is applied to the area to be mapped.

[0053] Figure 4 This is a schematic diagram of a map constructed after the laser mapping method based on multi-robot collaborative work, provided by another preferred embodiment of the present invention, is used to construct a map of the area to be mapped.

[0054] Figure 5 This is a schematic diagram of a map constructed after the laser mapping method based on multi-robot collaborative work, provided by another preferred embodiment of the present invention, is used to construct the map of the area to be mapped.

[0055] Figure 6 This is a structural block diagram of a laser mapping system based on multi-robot collaborative work, provided in an embodiment of the present invention.

[0056] Figure 7 This is a structural block diagram of a laser mapping system based on multi-robot collaborative work, provided as another embodiment of the present invention. Detailed Implementation

[0057] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0058] refer to Figure 1This invention provides a laser mapping method based on multi-robot collaborative work, applicable to mapping a region to be mapped. The region to be mapped includes a reference region and at least one sub-region to be mapped, wherein the sub-region to be mapped shares a common area with the reference region. The multiple robots include a master robot and slave robots, and the data collected by each robot carries a unique tag ID. The laser mapping method includes steps S1 to S4:

[0059] S1. The main robot constructs a map of the reference area to obtain a reference map; the reference map includes multiple reference sub-maps, and each reference sub-map includes a preset number of reference point cloud data frames.

[0060] S2. The robot performs real-time mapping of the sub-region to be mapped by the robot, and the robot sends the real-time point cloud data collected on the sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the main robot.

[0061] S3. The main robot performs loop optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped and the reference point cloud data and reference sub-map, thereby obtaining the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped after optimization and returning them to the slave robot, until the slave robot completes the mapping of the sub-region to be mapped to generate the sub-region map.

[0062] S4. The main robot stitches the base map and the sub-region map together to obtain a complete map of the region to be mapped, and modifies all data IDs in the complete map to the same ID.

[0063] It is understood that the base map is a raster map composed of multiple base sub-maps, and the sub-region map is a raster map composed of multiple optimized sub-maps.

[0064] Specifically, step S1 includes steps S11 to S13:

[0065] S11. The main robot maps the reference area, and the real-time scanning data of the reference area obtained by the main robot's lidar device is sent to the local computing unit.

[0066] S12. The local computing unit converts the received real-time scanning data of the reference area into real-time point cloud data and inserts it into the corresponding position of the sub-map being created. When the point cloud data reaches a preset number of frames, the real-time sub-map that has been created is obtained.

[0067] S13. The local computing unit performs loopback optimization based on the real-time point cloud data and real-time sub-map of the reference area and all historical sub-maps and all point cloud data of the reference area to obtain the poses of all historical sub-maps and all point cloud data of the reference area after optimization, until the mapping of the reference area is completed and a reference map is obtained based on all optimized historical sub-maps; the reference map includes multiple reference sub-maps, and each reference sub-map includes a preset number of reference point cloud data.

[0068] Below, in conjunction with Figure 2a The laser mapping method based on multi-robot collaborative work provided in this embodiment is further described below.

[0069] For ease of description, the scenario is described as follows: the area to be mapped 100 includes a base area 10 and a sub-area to be mapped 20. That is, the area to be mapped 100 (scene) is divided into the base area 10 and the sub-area to be mapped 20, and the base area 10 and the sub-area to be mapped 20 share a common area 30 (i.e., an overlapping area). The main robot 40 is responsible for mapping the base area 10, and the slave robot 50 is responsible for mapping the sub-area to be mapped 20. Figure 2a Map tile 1 shown corresponds to the baseline map generated after the main robot maps the baseline region 10 (40 pairs). Figure 2a Map tile 2 shown corresponds to the sub-region map generated after robot 50 maps the sub-region 20 to be mapped. It is understood that both the base map and the sub-region map are raster maps. In the raster map, the complete virtual wall constructed on the common area 30 is black (representing an area where the robot cannot move / pass through), while the white area in the raster map is an area where the robot can move / pass through. However, to clearly describe the construction of the sub-map, Figure 2a The difference is not shown in the text.

[0070] Understandably, in practical implementation, the area can be divided into a base area 10 and a sub-area 20 to be built by setting up virtual walls. For example, different virtual walls (such as color blocks, QR codes, etc.) can be set on the boundary lines of the base area 10 and the sub-area 20 to be built to limit the working areas of the main robot 40 and the slave robot 50.

[0071] The construction process of the virtual wall will be described in detail below.

[0072] Multiple QR code / color block labels are arranged in the public area. The length and width of each QR code / color block label are known values, and the spacing between two adjacent QR code / color block labels is less than the width of the robot's body.

[0073] When mapping the reference area / sub-area to be mapped, the pose of each QR code / color block label relative to the camera is acquired and calculated using a camera mounted on the robot. Based on the pose of each QR code / color block label relative to the camera, the coordinates of each QR code / color block label on the reference map / sub-area map and the corresponding virtual wall grid are calculated. The marked virtual wall grids are then sequentially connected on the reference map / sub-area map to form a complete virtual wall on the common area. This effectively solves the problems of inconvenient placement and large number of physical obstacles required when using physical obstacles to construct physical boundaries between areas.

[0074] In one embodiment, such as Figure 2b As shown, a row (or group) of QR codes / color blocks are arranged in a public area, with the spacing between two adjacent QR codes / color blocks being less than a preset spacing value h. m Among them, the preset spacing value h m The spacing is smaller than the robot's body width. Thus, the spacing between adjacent virtual wall grids marked on the base map / sub-region map is less than a preset spacing value h. m The virtual wall grids are connected sequentially, and the complete virtual wall in the final generated grid map is a black line, such as... Figure 2c As shown.

[0075] In another embodiment, such as Figure 2d As shown, at least two rows (two sets) of QR codes / color-block labels are arranged in public areas, for example, Figure 2d The image shows three rows (three groups) of QR code / color block labels. The spacing between two adjacent QR code / color block labels in the same row (same group) is less than a preset spacing value h. m However, the spacing between two adjacent QR code / color block labels in different rows (different groups) is greater than the preset spacing value h. m And it is smaller than the robot's body width, meaning the spacing between adjacent rows of QR codes / color block labels is greater than the preset spacing value h. m Furthermore, the spacing is smaller than the robot's body width, thus preventing the robot from traversing public areas to reach another area. In this way, the spacing between adjacent virtual wall grids marked on the base map / sub-area map is less than a preset spacing value h. m The virtual wall grids are connected sequentially, and the complete virtual wall in the final generated grid map is represented by multiple black lines, such as... Figure 2e As shown.

[0076] Understandably, when there are multiple sub-regions to be built, multiple QR codes / color blocks can be arranged between the boundaries of multiple sub-regions using the above method of constructing a complete virtual wall.

[0077] Specifically, when autonomously mapping the reference area / sub-region to be mapped, the pose of each QR code / color block label relative to the camera is calculated through the following steps:

[0078] After capturing and recognizing the QR code / color block label with the camera, the rotation and translation matrices are calculated by using the four corner points of the QR code / color block label and calling OpenCV's solvePnP function.

[0079] Let p o Let p be the coordinates (000) of the center point of the QR code / color block label in the QR code / color block label coordinate system. c Let p be the coordinates of the camera center point in the QR code / color block label coordinate system. o and p c The relative relationships are shown in Formula 1:

[0080] p o =R1*p c +t1 Formula 1

[0081] In the formula, R1 is the rotation matrix and t1 is the translation matrix;

[0082] Let the transformation matrix be... Then p O =T1*p C Formula 1'

[0083] Let p′ c Let p′ be the coordinates of the camera center point in the camera coordinate system. o The coordinates of the center point of the QR code / color block label in the camera coordinate system can be obtained from formula 1':

[0084]

[0085] The pose of each QR code / color block label relative to the camera is obtained according to Formula 2.

[0086] After obtaining the pose of each QR code / color block label relative to the camera, the coordinates of each QR code / color block label on the base map / sub-region map and the corresponding virtual wall grid are further calculated through the following steps:

[0087] Let T2 be the camera p′ C To the robot's center point p in the robot's base coordinate system R The transformation matrix is ​​then p′ C =T2*p R Formula 3, from Formula 3 and Formula 2, gives the center point of the QR code / color block label in the robot's base coordinate system p. R The coordinates below are

[0088]

[0089] Let T3 be the robot p R When building the map, the robot's center point p in the map coordinate system W The transformation matrix under p, then R =T3*p W Formula 5; derived from Formula 4 and Formula 5

[0090]

[0091] The coordinates of the center point of each QR code / color block label on the base map / sub-region map are obtained according to Formula 6, and the corresponding virtual wall grid is obtained according to the coordinates of the center point of each QR code / color block label on the base map / sub-region map and the length and width of each QR code / color block label.

[0092] In this embodiment, the length and width of each QR code / color block label are known values ​​(e.g., 80mm*80mm, or it can be a rectangle).

[0093] Specifically, QR code / color block labels are identified as follows: Images of each QR code / color block label arranged in the public area are pre-stored; images captured in real-time by a camera are then matched with the pre-stored images of each QR code / color block label to identify the QR code / color block label. The images of each QR code / color block label arranged in the public area can be all identical, partially identical, or all different. It is understood that the more different the QR code / color block label images arranged in the public area, the higher the recognition accuracy.

[0094] It is understandable that the process of calculating the rotation and translation matrices by calling OpenCV's solvePnP function is familiar to those skilled in the art and will not be elaborated here.

[0095] In this embodiment, the coordinate system of the QR code / color block label is a right-handed coordinate system with the center point of the QR code as the origin, and the Z-axis perpendicular to the plane and pointing inwards. The map coordinate system is the world coordinate system for robot mapping, which is a world coordinate system constructed with the robot chassis as the reference plane. In this embodiment, the laser device used in mapping is set on the robot chassis, and the pose of the camera relative to the robot's center point is also known (i.e., the transformation matrix T2 is known). Therefore, the pose of the QR code relative to the robot can be calculated. The pose of the robot in the map is also known during the mapping process (i.e., the transformation matrix T3 is known), so the coordinates of the QR code in the map can be calculated.

[0096] Wherein, the master robot 40 is a SLAM robot, which has a computing capability greater than that of the slave robots, and can execute the entire process of SLAM, including processing of point cloud data, creation and optimization of submaps, generation of a reference map, and map fusion, etc., while the slave robots 50 are only responsible for collecting point cloud data of the to-mapped sub-regions and creating real-time submaps, and send the real-time point cloud data of the to-mapped sub-regions and the real-time submaps to the master robot 40 for optimization.

[0097] Specifically, in steps S11 and S12, the master robot 40 first maps the reference area to obtain a reference map. During the moving mapping process of the master robot 40, the master robot 40 sends real-time scanning data obtained by scanning through the lidar device to a local computing unit (disposed inside the master robot 40), the local computing unit converts the real-time scanning data of the reference area into real-time point cloud data to insert (match) into the corresponding (optimal) position of the submap being created, and when the point cloud data reaches a preset number of frames (for example, 50 frames), a created real-time submap is obtained (such as Figure 2a the submap in map block 1 shown Figure 1-1 , submap Figure 1 -2, submap Figure 1-3 , etc.).

[0098] It can be understood that in this embodiment, the state of the submap includes being under creation and created completely, the number of frames of point cloud data in the submap under creation is less than the preset number of frames, and the number of frames of point cloud data in the completely created submap is equal to the preset number of frames. All historical submaps mentioned hereinafter are completely created submaps.

[0099] It can be understood that, in order to improve the accuracy of matching real-time point cloud data to the submap under creation, in this embodiment, the master robot 40 / slave robot 50 can additionally use an odometer, IMU and / or camera and other devices to obtain data such as the position or posture of the master robot 40 / slave robot, so as to assist each frame of lidar data to match with the submap more accurately.

[0100] Further, in step S13, the local computing unit of the master robot 40 performs loop closure optimization based on the real-time point cloud data and real-time submap of the reference area 10 and all historical submaps and all point cloud data of the reference area 10, to obtain the optimized poses of all historical submaps and the poses of all point cloud data of the reference area 10. It can be understood that, since the map obtained by mapping the reference area 10 by the master robot 40 is used as the reference map (for reference), in order to ensure the accuracy of the data of the reference map itself, loop closure optimization needs to be performed on all historical submaps and all point cloud data of the area to eliminate cumulative error.

[0101] Specifically, the loop closure optimization in step S13 can be performed in the following two ways:

[0102] Method 1: Perform loop closure detection on the currently added real-time point cloud data and all historical sub-maps of the reference area 10;

[0103] Method 2: Perform loop closure detection between the currently created real-time sub-map and all point cloud data of the reference area 10.

[0104] In specific implementation, taking Method 1 as an example, the currently added real-time point cloud data is matched with all historical sub-maps of the reference area 10. If the matching degree between the currently added real-time point cloud data and any of the historical sub-maps is higher than a set threshold (which can be set in advance), it is determined that a loop has been formed (for example, refer to...). Figure 2a If the overlapping parts between sub-maps in map tile 1 shown in the figure constitute a loop, then all historical sub-maps and all point cloud data of the reference area 10 are optimized once (e.g., nonlinear least squares optimization) to correct the pose of all historical sub-maps and all point cloud data of the reference area 10, that is, to correct the X-axis and Y-axis coordinates and orientation θ of all historical sub-maps of the reference area 10 in the map coordinate system and the X-axis and Y-axis coordinates and orientation θ of all point cloud data in the map coordinate system.

[0105] Furthermore, in step S13, after the mapping of the reference region 10 is completed (for example, the reference map is detected to be closed, i.e. all pose data are detected), the local computing unit of the main robot 40 obtains the reference map based on all optimized historical sub-maps (specifically through fusion methods such as stitching).

[0106] Specifically, step S2 includes steps S21 to S23:

[0107] S21. The robot performs real-time mapping of the sub-region to be mapped, and sends the real-time scanning data of the sub-region to be mapped obtained by the robot's lidar device to the robot's local computing unit.

[0108] S22. The robot's local computing unit converts the received real-time scanning data of the sub-region to be built into real-time point cloud data and inserts it into the corresponding position of the sub-map being created. When the point cloud data reaches a preset number of frames, the real-time sub-map that has been created is obtained.

[0109] S23. The slave robot sends the real-time point cloud data and real-time sub-map of the sub-region to be built to the master robot in real time.

[0110] It is understandable that the process of using the robot to perform real-time mapping of the sub-region 20 to obtain real-time point cloud data and real-time sub-map can refer to the process of using the main robot 40 to perform real-time mapping of the reference region to obtain real-time point cloud data and real-time sub-map described above, and will not be repeated here.

[0111] Unlike the main robot 40, which performs real-time mapping of the reference area 10, the slave robot 50 performs real-time mapping of the sub-area 20 to be mapped to obtain real-time point cloud data and real-time sub-maps. Instead of optimizing the data in its local computing unit or using all historical sub-maps and all point cloud data of the sub-area 20 to perform loopback optimization, it sends the real-time point cloud data and real-time sub-maps of the sub-area 20 to the main robot 40 in real time. The computing unit of the main robot 40 then performs loopback optimization based on the reference point cloud data and reference sub-maps in the constructed reference map.

[0112] Specifically, in step S3, the loop closure optimization can be performed in the following two ways:

[0113] Method 1: Perform loop closure detection on the real-time point cloud data of the currently received sub-region of the map to be built and all the reference sub-maps of the reference map;

[0114] Method 2: Perform loop closure detection between the real-time sub-map of the currently received sub-region to be built and all the reference point cloud data of the reference map.

[0115] In a specific embodiment, if method one is used for the loop closure optimization, the loop closure optimization process in step S3 specifically includes:

[0116] S31. Match the received real-time point cloud data of the sub-region to be built with the reference sub-map to perform loop closure detection;

[0117] S32. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S33; otherwise, return to step S31.

[0118] S33. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0119] In a specific embodiment, if method two is used for the loop closure optimization, the loop closure optimization process in step S3 specifically includes:

[0120] S31. Match the received real-time sub-map of the sub-region to be built with the reference point cloud data to perform loop closure detection;

[0121] S32. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S33; otherwise, return to step S31.

[0122] S33. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0123] Understandably, in order to distinguish the data collected by the main robot 40 and the slave robot 50 respectively, the data collected by the main robot 40 and the slave robot 50 are marked with independent IDs. For example, all the data collected by the main robot 40 from the reference area 10 is marked with ID1, while all the data collected by the slave robot 50 from the sub-area 20 to be mapped is marked with ID2.

[0124] Furthermore, in step S4, after the mapping of the sub-region to be mapped is completed (for example, the sub-region map is detected to be closed, i.e., all pose data are detected), the main robot 40's computing unit obtains the sub-region map based on all historical sub-maps optimized for the sub-region 20 (specifically through fusion methods such as stitching). Then, the main robot 40 stitches the reference map and the sub-region map to obtain the complete map of the region to be mapped, and modifies all data IDs in the complete map to the same ID, for example, all of them can be modified to ID3.

[0125] As can be seen, in this embodiment, except for the self-loop optimization (using all its historical sub-maps or all point cloud data) used in the mapping process of the reference area 10, the mapping process of the sub-area 20 to be mapped does not use self-loop optimization. Instead, the reference map already built in the reference area (using all reference sub-maps or all reference point cloud data) is used as the reference to perform loop optimization on all historical sub-maps and all point cloud data of the sub-area 20 to be mapped. This allows the maps of the sub-area 20 to be mapped and the reference area 10 to be effectively correlated, effectively reducing / eliminating the cumulative error of the map data between the sub-area 20 to be mapped and the reference area 10, thereby facilitating the final map fusion and improving the accuracy of the fused complete map.

[0126] For details, please refer to [link / reference]. Figure 2a The sub-plots contained in map tile 1 (corresponding to the base map of base area 10) Figure 1-1 0. Sub-land Figure 1-1 1. Sub-land Figure 1-12. In the common area, there is an overlap between the sub-maps 2-10, 2-11, and 2-12 contained in the map block 2 (corresponding to the sub-region reference map of the sub-region 20 to be mapped) and the map block 2. In this embodiment, the overlap is used as the association point between the sub-region 20 to be mapped and the reference region 10 to optimize the data of the sub-region to be mapped, thereby reducing / eliminating the cumulative error of the map data between the sub-region 20 to be mapped and the reference region 10.

[0127] Understandably, the larger the common area 30 between the sub-region 20 to be mapped and the reference area 10, the higher the accuracy of loopback optimization of all historical sub-maps and all point cloud data of the sub-region 20 to be mapped using the reference map in this embodiment, thereby better reducing the cumulative error of map data between the sub-region 20 to be mapped and the reference area 10. Therefore, by setting virtual walls in the area to be mapped, the area to be mapped is divided into the reference area and at least one sub-region to be mapped, and the common area between each sub-region to be mapped and the reference area is maximized.

[0128] For example, such as Figure 3 As shown, as Figure 2a The improved scheme shown divides the area to be mapped 100 as follows: a base area 10 (map tile 1) is located at the center of the area to be mapped 100, and then a sub-area 20 (map tile 2) surrounds the base area 10, with the sub-area 20 and the base area 10 sharing a common area 30. Figure 2a The shaded area in the middle) By setting it in this way, there are common (overlapping) areas on all four sides of the sub-region 20 to be mapped and the reference region 10. This can effectively improve the accuracy of loop closure optimization of all historical sub-maps and all point cloud data of the sub-region 20 to be mapped using the reference map.

[0129] In another preferred embodiment, the sub-regions to be mapped include at least two, and each sub-region corresponds to a slave robot; in step S2, each slave robot simultaneously performs real-time mapping of the sub-region it is responsible for; in step S3, the master robot performs loopback optimization on the data sent by different slave robots based on the tag ID and returns the optimized data to the corresponding slave robot.

[0130] For specific details, please refer to... Figure 4For example, the region to be mapped 100 is divided into a base region 10 and three sub-regions to be mapped (including a first sub-region 21, a second sub-region 22, and a third sub-region 23). The first sub-region 21 shares a first common region 31 with the base region 10, the second sub-region 22 shares a second common region 32 with the base region 10, and the third sub-region 23 shares a third common region 33 with the base region 10. The main robot 40 is responsible for mapping the base region 10, the first slave robot 51 is responsible for mapping the first sub-region 21, the second slave robot 52 is responsible for mapping the second sub-region 22, and the third slave robot 53 is responsible for mapping the third sub-region 23.

[0131] Figure 4 Map tile 1 shown corresponds to the baseline map generated after the main robot maps the baseline region 10 (40 pairs). Figure 4 The map tile 2 shown corresponds to the first sub-region map generated after the robot 51 maps the first sub-region 21 to be mapped. Figure 4 The map tile 3 shown corresponds to the second sub-region map generated after the second robot 52 maps the second sub-region 22 to be mapped. Figure 4 The map block 4 shown corresponds to the third sub-region map generated after the third robot 53 maps the third sub-region 23 to be built.

[0132] In this way, after the main robot 40 generates a reference map by mapping the reference area 10, the first slave robot 51, the second slave robot 52 and the third slave robot 53 can simultaneously perform real-time mapping of the first sub-region 21, the second sub-region 22 and the third sub-region 23 respectively, and send the collected real-time point cloud data and real-time sub-maps to the main robot 40 for loop closure optimization.

[0133] Furthermore, to differentiate the data collected by the master robot 40 from the data collected by the first slave robot 51, the second slave robot 52, and the third slave robot 53, each data is assigned a unique identifier (ID). For example, all data collected by the master robot 40 from the reference region 10 is assigned ID1, all data collected by the first slave robot 51 from the first sub-region 21 of the map to be built is assigned ID2, all data collected by the second slave robot 52 from the second sub-region 22 of the map to be built is assigned ID3, and all data collected by the third slave robot 53 from the third sub-region 23 of the map to be built is assigned ID4. In this way, the master robot 40 performs loopback optimization on the data sent by different slave robots based on the different identifiers and returns the optimized data to the corresponding slave robot.

[0134] In another preferred embodiment, the region to be mapped is a first region to be mapped, and the laser mapping method is also applicable to mapping an Nth region to be mapped, wherein the Nth region to be mapped includes an (N-1)th region to be mapped and at least one Nth sub-region to be mapped, and the Nth sub-region to be mapped shares a common area with the (N-1)th region to be mapped; wherein N is an integer greater than or equal to 2; the laser mapping method further includes the step of:

[0135] S5. The complete map of the (N-1)th region to be mapped is obtained by the main robot and used as a new reference map. The (N-1)th region to be mapped constitutes a new reference region.

[0136] S6. The robot performs real-time mapping on the Nth sub-region to be mapped, and sends the real-time point cloud data collected on the Nth sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the main robot.

[0137] S7. The main robot performs loop-loop optimization on the real-time point cloud data and real-time sub-map collected from the Nth sub-region to be mapped and the reference point cloud data and reference sub-map in the new reference map, thereby obtaining the poses of all historical sub-maps and all point cloud data of the optimized Nth sub-region to be mapped and returning them to the slave robot accordingly, until the slave robot completes the mapping of the Nth sub-region to be mapped to generate the Nth sub-region map.

[0138] S8. The main robot stitches the new baseline map and the Nth sub-region map together to obtain the complete map of the Nth region to be mapped, and modifies all data IDs in the complete map of the Nth region to be mapped to the same ID.

[0139] Below, in conjunction with Figure 5 The preferred embodiments described above will be described in detail.

[0140] For ease of description, Figure 3 Taking the illustrated embodiment as an example, in Figure 3 Based on the above iterative scheme, the map shown in Figure 5 (N=2) is obtained.

[0141] Specifically, through the main robot Figure 3 The complete map shown is constructed based on the region to be mapped 100 (referred to as the first region to be mapped 100 in this embodiment) and serves as the new reference map (corresponding to...). Figure 5Map block 1), correspondingly, the first mapping area 100 becomes the new reference area 10'. Using the new reference area 10' as a reference, mapping and optimization can be performed on the new mapping area. In order to distinguish it from the previous embodiment, the new mapping area in this embodiment is collectively referred to as the second mapping area 200 (when N=2). The second mapping area 200 includes the new reference area 10' and the second mapping sub-area 20', and there is a common area 30' between the new reference area 10' and the second mapping sub-area 20'. The slave robot 50 is placed in the second sub-region 20' to be mapped. The slave robot 50 performs real-time mapping of the second sub-region 20'. The slave robot 50 sends the real-time point cloud data collected from the second sub-region 20' and the real-time sub-map created based on the point cloud data collected at a preset number of frames (e.g., 50 frames) to the master robot 40. The master robot 40 performs loopback optimization on the received real-time point cloud data and real-time sub-map from the second sub-region 20' and the reference point cloud data and reference sub-map in the new reference map. This yields the poses of all historical sub-maps and all point cloud data of the optimized second sub-region 20', which are then returned to the slave robot 50. This process continues until the slave robot 50 completes the mapping of the second sub-region 20' to generate the second sub-region map (corresponding to...). Figure 5 Finally, the main robot 40 stitches the new base map and the second sub-region map together to obtain the complete map of the second map-to-be-built region 200, and modifies all data IDs in the complete map of the second map-to-be-built region 200 to the same ID.

[0142] Understandable, in obtaining Figure 5 After obtaining a complete map of the second mapping region 200, as shown, this complete map can be used as a new reference map. The second mapping region 200 becomes a new reference region. Using this new reference region as a benchmark, mapping and optimization can be performed on a new mapping region (i.e., the third mapping region, N=3) to obtain a complete map of the third mapping region. Then, the complete map of the third mapping region can again be used as a new reference map. This third mapping region becomes a new reference region. Using this new reference region as a benchmark, mapping and optimization can be performed on a new mapping region (i.e., the fourth mapping region, N=4) to obtain a complete map of the fourth mapping region. This process is repeated iteratively to obtain maps of more regions.

[0143] It can be seen that, with Figure 4 The illustrated embodiment differs in that it employs the above-described iterative scheme (e.g. Figure 5 This can reduce the number of robots (e.g., Figure 5 As shown in the case of a master robot and slave robots, the mapping of the area to be mapped is achieved by dividing the time into time periods. That is, the mapping of the area to be mapped is completed by the division of labor and time of multiple robots, which can improve the mapping efficiency while saving robot costs. It is very suitable for mapping of large scenes.

[0144] In addition, by adopting the above iterative scheme (e.g.) Figure 5 Furthermore, it can freely expand its working environment at any time to build corresponding maps according to actual task requirements (such as cleaning needs), thereby meeting the needs of working environments in larger scenarios.

[0145] Furthermore, as an improvement to the above scheme, in step S3, the loop closure optimization is a first loop closure optimization, which includes the following steps before completing the mapping of the sub-region to be mapped and generating the sub-region map:

[0146] S31. Perform a second loop optimization on all historical sub-maps and all point cloud data of the sub-region to be built and the reference point cloud data and reference sub-map, so as to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be built after the second optimization.

[0147] S32. Generate the sub-region map based on the poses of all historical sub-maps after secondary optimization of the sub-region to be built and the poses of all point cloud data.

[0148] Similarly, the second loop closure optimization in step S31 can be performed in the following two ways:

[0149] Method 1 includes the following steps:

[0150] S311. Match all point cloud data of the sub-region to be built with the reference sub-map to perform loop closure detection;

[0151] S312. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S313; otherwise, return to step S311.

[0152] S313. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0153] Method 2 includes the following steps:

[0154] S311. Match all historical sub-maps of the sub-region to be built with the reference point cloud data to perform loop closure detection;

[0155] S312. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S213; otherwise, return to step S211.

[0156] S313. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

[0157] In specific implementation, in all the above embodiments, the master robot and the slave robot are cleaning robots used to perform cleaning tasks, and a map is first constructed for the working environment of the cleaning task through any of the above embodiments.

[0158] refer to Figure 6 This invention provides a laser mapping system based on multi-robot collaborative work, suitable for mapping an area to be mapped. The area to be mapped includes a reference area and at least one sub-area to be mapped, and the sub-area to be mapped shares a common area with the reference area. The laser mapping system includes a master robot 40 and slave robots 50, and the data collected by each robot has a unique tag ID. Wherein:

[0159] The main robot 40 is used to construct a reference map of the reference area; the reference map includes multiple reference sub-maps, and each reference sub-map includes a preset number of reference point cloud data.

[0160] The slave robot 50 is used to perform real-time mapping of the sub-region to be mapped. The slave robot sends the real-time point cloud data collected from the sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the master robot 40.

[0161] The main robot 40 is also used to perform loop optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped and the reference point cloud data and reference sub-map, so as to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped after optimization and return them to the slave robot 80, until the slave robot 80 completes the mapping of the sub-region to be mapped to generate the sub-region map.

[0162] The main robot 40 is also used to stitch the base map and the sub-region map together to obtain a complete map of the region to be mapped, and to modify all data IDs in the complete map to the same ID.

[0163] Understandable. Figure 6The laser mapping system shown includes a master robot 40 and a slave robot 50.

[0164] In another preferred embodiment, such as Figure 7 As shown, the laser mapping system includes a master robot 40 and at least two slave robots (e.g., Figure 7 The diagram includes three slave robots (slave robot 51, slave robot 52, and slave robot 53). Correspondingly, there are at least two sub-regions to be mapped, and each sub-region corresponds to one slave robot. Each slave robot simultaneously performs real-time mapping on the sub-region it is responsible for. The master robot 40 performs loopback optimization on the data sent by different slave robots based on the tag ID and returns the optimized data to the corresponding slave robot.

[0165] It is understood that the specific working process of the laser mapping system based on multi-robot collaborative work provided in this embodiment of the invention can be referred to the corresponding content of the laser mapping method based on multi-robot collaborative work described above, and will not be repeated here.

[0166] In summary, the laser mapping method and system based on multi-robot collaborative work provided by this invention divides the area to be mapped into a reference area and at least one sub-area to be mapped, wherein the sub-area to be mapped and the reference area share a common area. First, the main robot maps the reference area to obtain a reference map; the reference map includes multiple reference sub-maps, each of which includes a preset number of reference point cloud data frames; then, the slave robot performs real-time mapping on the sub-area to be mapped, wherein the slave robot uses real-time point cloud data collected from the sub-area to be mapped and the collected preset data frame data to obtain a reference map. The real-time sub-map created from the point cloud data of a set number of frames is sent to the master robot; the master robot performs loopback optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped, and the reference point cloud data and reference sub-map, thereby obtaining the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped and returning them to the slave robot, until the slave robot completes the mapping of the sub-region to be mapped to generate the sub-region map; finally, the master robot stitches the reference map and the sub-region map together to obtain the complete map of the sub-region to be mapped. As can be seen, the laser mapping method and system based on multi-robot collaborative work provided in this embodiment can effectively improve the efficiency of environmental map construction in large scenes by completing map construction through the collaborative work of master robot and slave robot. Moreover, the master robot uses the benchmark map obtained by mapping the benchmark area as the optimization benchmark, and performs loop optimization with the real-time point cloud data and real-time sub-maps collected by the slave robot in real-time mapping other sub-areas to be mapped and the benchmark point cloud data and benchmark sub-maps in the benchmark map. This enables the maps of other areas to be effectively correlated with the benchmark area, effectively eliminating the cumulative error of map data between other areas and the benchmark area, thereby facilitating the final map fusion and improving the accuracy of the fused complete map.

[0167] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0168] The above description discloses only some preferred embodiments of the present invention, and should not be construed as limiting the scope of the present invention. Those skilled in the art can understand that implementing all or part of the above embodiments and making equivalent changes in accordance with the claims of the present invention are still within the scope of the invention.

Claims

1. A laser mapping method based on multi-robot collaborative work, characterized in that, This method is applicable to mapping an area to be mapped, wherein the area to be mapped includes a reference area and at least one sub-area to be mapped, and the sub-area to be mapped shares a common area with the reference area; the multi-robot system includes a master robot and slave robots, and the data collected by each robot carries a unique tag ID; the laser mapping method includes the following steps: S1. The main robot constructs a map of the reference area to obtain a reference map; the reference map includes multiple reference sub-maps, and each reference sub-map includes a preset number of reference point cloud data frames. S2. The robot performs real-time mapping of the sub-region to be mapped by the robot, and the robot sends the real-time point cloud data collected on the sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the main robot. S3. The main robot performs loop optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped and the reference point cloud data and reference sub-map, thereby obtaining the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped after optimization and returning them to the slave robot, until the slave robot completes the mapping of the sub-region to be mapped to generate the sub-region map. S4. The main robot stitches the base map and the sub-region map together to obtain a complete map of the region to be mapped, and modifies all data IDs in the complete map to the same ID.

2. The laser mapping method based on multi-robot collaborative work according to claim 1, characterized in that, The sub-regions to be mapped include at least two, and each sub-region corresponds to a slave robot; in step S2, each slave robot simultaneously performs real-time mapping of the sub-region it is responsible for; in step S3, the master robot performs loopback optimization on the data sent by different slave robots based on the tag ID and returns the optimized data to the corresponding slave robot.

3. The laser mapping method based on multi-robot collaborative work according to claim 1, characterized in that, In step S3, the loop closure optimization specifically includes: S31. Match the received real-time point cloud data of the sub-region to be built with the reference sub-map to perform loop closure detection; S32. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S33; otherwise, return to step S31. S33. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

4. The laser mapping method based on multi-robot collaborative work according to claim 1, characterized in that, In step S3, the loop closure optimization specifically includes: S31. Match the received real-time sub-map of the sub-region to be built with the reference point cloud data to perform loop closure detection; S32. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S33; otherwise, return to step S31. S33. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

5. The laser mapping method based on multi-robot collaborative work according to claim 1, characterized in that, The region to be mapped is the first region to be mapped. The laser mapping method is also applicable to mapping the Nth region to be mapped, which includes the (N-1)th region to be mapped and at least one Nth sub-region to be mapped, wherein the Nth sub-region to be mapped shares a common area with the (N-1)th region to be mapped; where N is an integer greater than or equal to 2; the laser mapping method further includes the following steps: The main robot uses the complete map of the (N-1)th region to be mapped as a new reference map, and the (N-1)th region to be mapped constitutes the new reference region. By performing real-time mapping on the Nth sub-region to be mapped by the robot, the robot sends the real-time point cloud data collected on the Nth sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the main robot. The master robot performs loop optimization on the real-time point cloud data and real-time sub-map collected from the Nth sub-region to be mapped, and the reference point cloud data and reference sub-map in the new reference map, so as to obtain the poses of all historical sub-maps and the poses of all point cloud data after optimization of the Nth sub-region to be mapped, and returns them to the slave robot accordingly, until the slave robot completes the mapping of the Nth sub-region to be mapped to generate the Nth sub-region map. The main robot stitches the new baseline map and the Nth sub-region map together to obtain the complete map of the Nth region to be mapped, and modifies all data IDs in the complete map of the Nth region to be mapped to the same ID.

6. The laser mapping method based on multi-robot collaborative work according to claim 1, characterized in that, In step S3, the loop closure optimization is the first loop closure optimization, which includes the following steps before completing the mapping of the sub-region to be mapped and generating the sub-region map: S31. Perform a second loop optimization on all historical sub-maps and all point cloud data of the sub-region to be built and the reference point cloud data and reference sub-map, so as to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be built after the second optimization. S32. Generate the sub-region map based on the poses of all historical sub-maps after secondary optimization of the sub-region to be built and the poses of all point cloud data.

7. The laser mapping method based on multi-robot collaborative work according to claim 6, characterized in that, The second loop optimization specifically includes: S311. Match all point cloud data of the sub-region to be built with the reference sub-map to perform loop closure detection; S312. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S313; otherwise, return to step S311. S313. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

8. The laser mapping method based on multi-robot collaborative work according to claim 6, characterized in that, The second loop optimization specifically includes: S311. Match all historical sub-maps of the sub-region to be built with the reference point cloud data to perform loop closure detection; S312. If the matching degree is greater than the preset threshold, then determine that there is a loop and execute S213; otherwise, return to step S211. S313. Using the reference point cloud data and reference sub-map as a reference, perform nonlinear least squares optimization processing on all historical sub-maps and all point cloud data of the sub-region to be mapped, so as to optimize the pose of all historical sub-maps and all point cloud data of the sub-region to be mapped.

9. The laser mapping method based on multi-robot collaborative work according to claim 1, characterized in that: The sub-map status includes creation in progress and creation completed. The number of frames of point cloud data in the sub-map in progress is less than the preset number of frames, and the number of frames of point cloud data in the sub-map that has been created is equal to the preset number of frames. The historical sub-map is the sub-map that has been created. By setting virtual walls in the area to be mapped, the area to be mapped is divided into a reference area and at least one sub-area to be mapped, and each sub-area to be mapped shares as much common area with the reference area as possible. Multiple QR code / color block labels are arranged in a public area. The length and width of each QR code / color block label are known values. The spacing between two adjacent QR code / color block labels is less than the width of the robot's body. During the mapping process of the base area and the sub-area to be mapped, the pose of each QR code / color block label relative to the camera is acquired and calculated by a camera set on the robot. Based on the pose of each QR code / color block label relative to the camera, the coordinates of each QR code / color block label on the base map / sub-area map and the corresponding virtual wall grid are calculated. The marked virtual wall grids are sequentially connected on the base map / sub-area map to form a complete virtual wall on the public area.

10. A laser mapping system based on multi-robot collaborative work, characterized in that, This system is suitable for mapping an area to be mapped, which includes a baseline area and at least one sub-area to be mapped, wherein the sub-area to be mapped shares a common area with the baseline area; the laser mapping system includes a master robot and slave robots, and the data collected by each robot carries a unique tag ID; wherein: The main robot is used to construct a baseline map of the baseline area; the baseline map includes multiple baseline sub-maps, and each baseline sub-map includes a preset number of baseline point cloud data. The slave robot is used to perform real-time mapping of the sub-region to be mapped. The slave robot sends the real-time point cloud data collected from the sub-region to be mapped and the real-time sub-map created based on the point cloud data collected for a preset number of frames to the master robot. The main robot is also used to perform loop optimization on the real-time point cloud data and real-time sub-map collected from the sub-region to be mapped and the reference point cloud data and reference sub-map, so as to obtain the poses of all historical sub-maps and all point cloud data of the sub-region to be mapped after optimization and return them to the slave robot until the slave robot completes the mapping of the sub-region to be mapped to generate the sub-region map. The main robot is also used to stitch the base map and the sub-region map together to obtain a complete map of the region to be mapped, and to modify all data IDs in the complete map to the same ID.

Citation Information

Patent Citations

  • Intelligent multi-robot collaborative mapping system and method thereof

    CN107491071A

  • Multi-robot-based mapping method, system and equipment and storage medium

    CN116412807A