Map splicing method, device, mobile robot and storage medium

By acquiring and utilizing complementary stitching features during robot navigation to quickly stitch sub-maps, the problem of slow map stitching speed in large-scale robot navigation is solved, thus improving the efficiency of navigation work.

CN112348918BActive Publication Date: 2025-01-10YOUDI ROBOT (WUXI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011114688.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-16
Publication Date
2025-01-10
Estimated Expiration
2040-10-16

AI Technical Summary

Technical Problem

In the process of assembling navigation maps in large venues, the current technology is slow, resulting in low work efficiency.

Method used

By acquiring the sub-map boundary features of the robot's current navigation area, and using complementary stitching features to quickly stitch the sub-maps together, the robot can instantly acquire maps of new areas during navigation and accurately stitch them together based on the stitching features.

Benefits of technology

This improves the robot's efficiency in map stitching, thereby enhancing the efficiency of navigation and ensuring that the robot can quickly respond to navigation needs in new areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112348918B_ABST
    Figure CN112348918B_ABST
Patent Text Reader

Abstract

The present invention discloses a map splicing method, device, mobile robot and computer-readable storage medium, and relates to the field of robot technology. The method comprises: if it is necessary to splice maps, obtain a first sub-map of the robot's current navigation area, and obtain a first splicing feature located at the boundary of the first sub-map; according to the first splicing feature, obtain a second sub-map of the robot's navigation area, and obtain a second splicing feature located at the boundary of the second sub-map; according to the first splicing feature and the second splicing feature, splice the first sub-map and the second sub-map. The present invention can improve the execution efficiency of robot navigation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot technology, and in particular to a map splicing method, device, mobile robot and computer-readable storage medium. Background Art

[0002] With the rapid development of science and technology, robots have gradually penetrated into all aspects of human life. At present, robots have the function of autonomous navigation and obstacle avoidance, and can move autonomously to replace humans to complete various tasks, such as running errands, delivery, and guidance. Usually, robots work in a variety of places, such as residences, hotels, restaurants, factories, warehouses, or business parks. Among them, the navigation map corresponding to large places is larger, which leads to a huge workload for robots to load navigation maps and a slow processing speed. Summary of the invention

[0003] The main purpose of the present invention is to provide a map splicing method, device, mobile robot and computer-readable storage medium, aiming to improve the execution efficiency of robot navigation work.

[0004] To achieve the above object, the present invention provides a map splicing method, which comprises:

[0005] If it is necessary to stitch the maps, obtain a first sub-map of the robot's current navigation area, and obtain a first stitching feature located at a boundary of the first sub-map;

[0006] According to the first stitching feature, a second sub-map of the area to be navigated by the robot is obtained, and a second stitching feature located at a boundary of the second sub-map is obtained;

[0007] The first submap and the second submap are spliced ​​according to the first splicing feature and the second splicing feature.

[0008] Optionally, the acquiring a first sub-map of the current navigation area of ​​the robot and acquiring a first stitching feature located at a boundary of the first sub-map includes:

[0009] Obtaining a first sub-map of the robot's current navigation area, and obtaining each boundary of the first sub-map;

[0010] Setting stitching features of different shapes for each of the boundaries respectively;

[0011] According to the first sub-map, obtaining a to-be-joined boundary of the first sub-map;

[0012] According to the splicing features of different shapes, a first splicing feature of the boundary to be spliced ​​is obtained.

[0013] Optionally, obtaining the to-be-joined boundary of the first sub-map includes:

[0014] Acquiring positioning information of the robot, and acquiring orientation information of the robot based on the positioning information;

[0015] A to-be-joined boundary of the first sub-map is determined according to the orientation information.

[0016] Optionally, obtaining the to-be-joined boundary of the first sub-map includes:

[0017] Acquire the positioning information of the robot, and acquire the current position of the robot according to the positioning information;

[0018] Each boundary of the first sub-map is detected, and a boundary to be spliced ​​of the first sub-map is determined according to a distance from each boundary to the current position.

[0019] Optionally, acquiring a second sub-map of the area to be navigated by the robot according to the first stitching feature, and acquiring a second stitching feature located at a boundary of the second sub-map includes:

[0020] Generate complementary splicing features according to the first splicing features, and obtain a mother map of the working area where the robot is located;

[0021] According to the complementary splicing features and the preset shape, the mother map is divided, and the sub-map obtained by the division is used as the second sub-map of the area to be navigated by the robot;

[0022] The complementary stitching feature is used as the second stitching feature of the second sub-map.

[0023] Optionally, if the map needs to be stitched, obtaining a first sub-map of the robot's current navigation area and obtaining a first stitching feature located at a boundary of the first sub-map include:

[0024] Get the master map of the robot's working area;

[0025] Dividing the mother map according to a preset shape, using the sub-map obtained by the division as a first sub-map of the current navigation area, and controlling the robot to navigate based on the first sub-map;

[0026] Detecting the remaining distance between the robot and the boundary of the first sub-map, and determining whether the remaining distance is less than or equal to a preset distance;

[0027] If the remaining distance is less than or equal to the preset distance, the map needs to be spliced.

[0028] Optionally, if the remaining distance is less than or equal to the preset distance, the map needs to be stitched, including:

[0029] If the remaining distance is less than or equal to the preset distance, obtaining the nearest boundary corresponding to the remaining distance and obtaining the orientation information of the robot;

[0030] Determining an orientation boundary of the robot according to the orientation information;

[0031] Determining whether the nearest boundary is the same as the facing boundary;

[0032] If the nearest boundary is the same as the facing boundary, the maps need to be spliced.

[0033] In addition, to achieve the above-mentioned purpose, the present invention also provides a map splicing device, the map splicing device comprising:

[0034] A first feature acquisition module, used for acquiring a first sub-map of the robot's current navigation area and acquiring a first splicing feature located at a boundary of the first sub-map if a map splicing is required;

[0035] A second feature acquisition module, configured to acquire a second sub-map of the area to be navigated by the robot according to the first splicing feature, and acquire a second splicing feature located at a boundary of the second sub-map;

[0036] A map splicing module is used to splice the first sub-map and the second sub-map according to the first splicing feature and the second splicing feature.

[0037] In addition, to achieve the above-mentioned purpose, the present invention also provides a mobile robot, which includes: a memory, a processor, and a map stitching program stored in the memory and executable on the processor, and the map stitching program implements the steps of the map stitching method described above when executed by the processor.

[0038] In addition, to achieve the above-mentioned purpose, the present invention further provides a computer-readable storage medium, on which a map stitching program is stored, and when the map stitching program is executed by a processor, the steps of the map stitching method described above are implemented.

[0039] The present invention provides a map splicing method, device, mobile robot and computer-readable storage medium. If it is necessary to splice the map, the first submap of the robot's current navigation area is obtained, and the first splicing feature located at the boundary of the first submap is obtained; according to the first splicing feature, the second submap of the robot's to-be-navigated area is obtained, and the second splicing feature located at the boundary of the second submap is obtained; according to the first splicing feature and the second splicing feature, the first submap and the second submap are spliced. When the present invention navigates through the divided first submap, if a new area is about to be entered, the corresponding second submap, that is, the second submap of the new area (the area to be navigated) can be obtained according to the first splicing feature of the first submap. At the same time, according to the first splicing feature and the second splicing feature, the map can be spliced ​​accurately and quickly, and after the map is accurately spliced, the second submap has the correct direction under the coordinates of the first submap, and there is no need to adjust the coordinate direction of the second submap, and the navigation work of the robot can be responded to quickly. In summary, the robot in the present invention can improve the efficiency of splicing maps, thereby improving the execution efficiency of the robot's navigation work. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 A schematic diagram of the terminal structure of the hardware operating environment involved in the embodiment of the present invention;

[0041] Figure 2 It is a flowchart of the first embodiment of the map stitching method of the present invention;

[0042] Figure 3 A schematic diagram of a map style of a map splicing method of the present invention;

[0043] Figure 4 It is a flowchart of the second embodiment of the map stitching method of the present invention;

[0044] Figure 5 It is a flowchart of the third embodiment of the map stitching method of the present invention;

[0045] Figure 6 It is a flowchart of a fourth embodiment of the map stitching method of the present invention;

[0046] Figure 7 Schematic diagram of functional modules of the first embodiment of the map splicing device of the present invention.

[0047] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0048] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.

[0049] Reference Figure 1 , Figure 1 The figure is a schematic diagram of the terminal structure of the hardware operating environment involved in the embodiment of the present invention.

[0050] The terminal in the embodiment of the present invention is a map splicing device, which can be a terminal device with processing function such as a robot, a PC (personal computer), a microcomputer, a notebook computer or a server.

[0051] like Figure 1 As shown, the terminal may include: a processor 1001, such as a CPU (Central Processing Unit), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0052] Those skilled in the art will understand that Figure 1 The terminal structure shown in the figure does not constitute a limitation on the terminal, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.

[0053] In this application, in order to cope with the situation of large scene maps, the robot adopts the method of fragmented maps to divide the large scene map into multiple regional maps, so that the robot does not need to load a whole large map at one time. At the same time, when the robot is about to enter a new area, it is necessary to splice the map of the new area. For this purpose, various embodiments of this application are proposed.

[0054] like Figure 1 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a map stitching program.

[0055] exist Figure 1 In the terminal shown, the processor 1001 can be used to call the map stitching program stored in the memory 1005 and perform the following operations:

[0056] If it is necessary to stitch the maps, obtain a first sub-map of the robot's current navigation area, and obtain a first stitching feature located at a boundary of the first sub-map;

[0057] According to the first stitching feature, a second sub-map of the area to be navigated by the robot is obtained, and a second stitching feature located at a boundary of the second sub-map is obtained;

[0058] The first submap and the second submap are spliced ​​according to the first splicing feature and the second splicing feature.

[0059] Furthermore, the processor 1001 may be used to call the map stitching program stored in the memory 1005, and further perform the following operations:

[0060] Obtaining a first sub-map of the robot's current navigation area, and obtaining each boundary of the first sub-map;

[0061] Setting stitching features of different shapes for each of the boundaries respectively;

[0062] According to the first sub-map, obtaining a to-be-joined boundary of the first sub-map;

[0063] According to the splicing features of different shapes, a first splicing feature of the boundary to be spliced ​​is obtained.

[0064] Furthermore, the processor 1001 may be used to call the map stitching program stored in the memory 1005, and further perform the following operations:

[0065] Acquiring positioning information of the robot, and acquiring orientation information of the robot based on the positioning information;

[0066] A to-be-joined boundary of the first sub-map is determined according to the orientation information.

[0067] Furthermore, the processor 1001 may be used to call the map stitching program stored in the memory 1005, and further perform the following operations:

[0068] Acquire the positioning information of the robot, and acquire the current position of the robot according to the positioning information;

[0069] Each boundary of the first sub-map is detected, and a boundary to be spliced ​​of the first sub-map is determined according to a distance from each boundary to the current position.

[0070] Furthermore, the processor 1001 may be used to call the map stitching program stored in the memory 1005, and further perform the following operations:

[0071] Generate complementary splicing features according to the first splicing features, and obtain a mother map of the working area where the robot is located;

[0072] According to the complementary splicing features and the preset shape, the mother map is divided, and the sub-map obtained by the division is used as the second sub-map of the area to be navigated by the robot;

[0073] The complementary stitching feature is used as the second stitching feature of the second sub-map.

[0074] Furthermore, the processor 1001 may be used to call the map stitching program stored in the memory 1005, and further perform the following operations:

[0075] Get the master map of the robot's working area;

[0076] Dividing the mother map according to a preset shape, using the sub-map obtained by the division as a first sub-map of the current navigation area, and controlling the robot to navigate based on the first sub-map;

[0077] Detecting the remaining distance between the robot and the boundary of the first sub-map, and determining whether the remaining distance is less than or equal to a preset distance;

[0078] If the remaining distance is less than or equal to the preset distance, the map needs to be spliced.

[0079] Furthermore, the processor 1001 may be used to call the map stitching program stored in the memory 1005, and further perform the following operations:

[0080] If the remaining distance is less than or equal to the preset distance, obtaining the nearest boundary corresponding to the remaining distance and obtaining the orientation information of the robot;

[0081] Determining an orientation boundary of the robot according to the orientation information;

[0082] Determining whether the nearest boundary is the same as the facing boundary;

[0083] If the nearest boundary is the same as the facing boundary, the maps need to be spliced.

[0084] Based on the above hardware structure, various embodiments of the map stitching method of the present invention are proposed.

[0085] The invention provides a map splicing method.

[0086] Reference Figure 2 , Figure 2 Schematic diagram of the flow chart of the first embodiment of the map stitching method of the present invention.

[0087] In this embodiment, the map stitching method is applied to a robot or a map management server, and the map stitching method includes the following steps S10-S30:

[0088] Step S10: if it is necessary to stitch the maps, obtain a first sub-map of the robot's current navigation area, and obtain a first stitching feature located at a boundary of the first sub-map;

[0089] In this embodiment, all map formats are determined by the navigation system, such as raster maps, vector maps and other digital maps, and of course also include topological maps, semantic information, etc. used together. Figure 3 , Figure 3 The map style schematic diagram of the map splicing method of the present invention, 1 in the figure is the first sub-map, 2 is the second sub-map, A is the first splicing feature, and B is the second splicing feature. Among them, each sub-map (regional map) is obtained by dividing the mother map (original navigation map) according to a preset shape. The sub-map is a continuous part in space, and each sub-map can be set with a splicing feature on the edge. Specifically, the first sub-map is a map of the area where the robot is currently located, and the second sub-map is a map that the robot is about to enter. The first splicing feature is the splicing feature of the first sub-map, and the second splicing feature is the splicing feature of the second sub-map, and the second splicing feature is complementary to the first splicing feature. In the present application, an obvious first splicing feature is set in the first sub-map, and an obvious second splicing feature is set in the second sub-map. When the robot performs map splicing, it can easily and readily obtain the obvious first splicing feature and the second splicing feature, and perform map splicing based on the first splicing feature and the second splicing feature, thereby improving the execution efficiency of the robot during navigation.

[0090] In this embodiment, if it is necessary to stitch the map, the first sub-map of the robot's current navigation area is obtained, and the first stitching feature located at the boundary of the first sub-map is obtained. Wherein, when it is necessary to stitch the map, the robot can perform navigation and map stitching at the same time, that is, adopt a parallel processing mechanism, and the navigation process and the map stitching (map loading) process cooperate to complete the navigation work, and the stitching process will not affect the robot's navigation process, thereby ensuring the normal operation of the robot.

[0091] It should be noted that the current navigation area is the area where the robot is currently moving, that is, the robot needs to navigate in this area, and then obtain the corresponding first sub-map according to the current navigation area. The first sub-map can be obtained by dividing the parent map according to a preset shape when the robot needs to navigate, wherein the preset shape can be set according to the actual situation of the working area where the robot is located, such as a square, rectangle, etc.; the first sub-map can also be the original navigation map (parent map) of the working area established in advance after determining the entire working area of ​​the robot, and then directly divided according to the actual situation of the working area, for example, according to the rooms of the working area.

[0092] Among them, the first stitching feature is the stitching feature of the first submap on the boundary to be stitched. It can be understood that each boundary on the first submap, that is, the boundary in different directions, is provided with stitching features of different shapes, such as semicircle, rectangle, triangle, regular pentagon, etc. Then, the first stitching feature can be selected from the above stitching features, and its implementation steps are first determining the boundary to be stitched, and then finding the stitching feature corresponding to the stitching boundary. The specific implementation process is described in the second embodiment below, and will not be repeated here.

[0093] Step S20, obtaining a second sub-map of the area to be navigated by the robot according to the first stitching feature, and obtaining a second stitching feature located at a boundary of the second sub-map;

[0094] According to the first stitching feature, a second sub-map of the area to be navigated by the robot is obtained, and a second stitching feature located at a boundary of the second sub-map is obtained. Optionally, the second stitching feature is complementary to the first stitching feature.

[0095] It should be noted that the method for obtaining the second sub-map can be to obtain a complementary second splicing feature based on the first splicing feature, and then, to obtain the second sub-map by dividing the mother map (original navigation map) according to a preset shape. The specific execution process is described in the third embodiment below, and will not be repeated here.

[0096] As another method for obtaining the second sub-map: after obtaining the mother map (original navigation map), the mother map is divided in advance to obtain the first sub-map, the second sub-map and other maps, and then, when the robot needs to splice the second sub-map, the pre-divided second sub-map is found through the first splicing feature. It can be understood that this acquisition method does not need to perform a division operation on the mother map when splicing maps, but it needs to be divided in advance.

[0097] Specifically, refer to Figure 3If the robot's forward direction is a boundary with a semicircular feature (first splicing feature), the robot needs to find a second sub-map corresponding to the semicircular feature in the mother map (original navigation map) or all the divided sub-maps (regional maps). For example, the boundary of the second sub-map has a second splicing feature that is complementary to the semicircular feature, that is, the second sub-map is also provided with a second splicing feature that is complementary to the semicircular feature.

[0098] Step S30: splicing the first submap and the second submap according to the first splicing feature and the second splicing feature.

[0099] Finally, the first submap and the second submap are spliced ​​according to the first splicing feature and the second splicing feature.

[0100] It should be noted that, according to the corresponding relationship between the first stitching feature and the second stitching feature, such as a complementary relationship, the first stitching feature and the second stitching feature can be completely closed. For example, if the first stitching feature is a convex semicircle, the complementary second stitching feature is a concave semicircle, so that the map stitching device (robot) can easily obtain the stitching feature and accurately stitch the first sub-map and the second sub-map to obtain a stitched map. At the same time, after the robot completely enters the second sub-map, it navigates based on the second sub-map. Then, the first sub-map in the stitched map can be split to ensure that the navigation map processed by the robot is minimized, thereby improving the response speed of the robot.

[0101] The embodiment of the present invention provides a map splicing method. If it is necessary to splice maps, the first submap of the current navigation area of ​​the robot is obtained, and the first splicing feature located at the boundary of the first submap is obtained; according to the first splicing feature, the second submap of the area to be navigated by the robot is obtained, and the second splicing feature located at the boundary of the second submap is obtained; according to the first splicing feature and the second splicing feature, the first submap and the second submap are spliced. When the embodiment of the present invention navigates through the divided first submap, if a new area is about to be entered, the corresponding second submap, that is, the second submap of the new area (the area to be navigated) can be obtained according to the first splicing feature of the first submap. At the same time, according to the corresponding relationship between the first splicing feature and the second splicing feature, such as the complementary relationship, the map can be accurately and quickly spliced, and after the map is accurately spliced, the second submap has the correct direction under the coordinates of the first submap, and there is no need to adjust the coordinate direction of the second submap, and the robot's navigation work can be quickly responded. In summary, the robot in the embodiment of the present invention can improve the efficiency of map splicing, thereby improving the execution efficiency of the robot's navigation work.

[0102] Furthermore, based on the above-mentioned first embodiment, a second embodiment of the map stitching method of the present invention is proposed.

[0103] Reference Figure 4 , Figure 4 Schematic diagram of the flow chart of the second embodiment of the map stitching method of the present invention.

[0104] In this embodiment, the above-mentioned obtaining the first sub-map of the current navigation area of ​​the robot and obtaining the first stitching feature located at the boundary of the first sub-map includes the following steps S11-S12:

[0105] Step S11, obtaining a first sub-map of the robot's current navigation area, and obtaining each boundary of the first sub-map;

[0106] Step S12, setting stitching features of different shapes for each of the boundaries;

[0107] Step S13, obtaining the to-be-joined boundary of the first submap according to the first submap;

[0108] Step S14: acquiring a first splicing feature of the boundary to be spliced ​​according to the splicing features of different shapes.

[0109] In this embodiment, the first sub-map of the robot's current navigation area is obtained, and each boundary of the first sub-map is obtained. Then, splicing features of different shapes are set for each boundary respectively, and the boundary to be spliced ​​of the first sub-map is obtained according to the first sub-map. Finally, the first splicing feature of the boundary to be spliced ​​is obtained according to the splicing features of different shapes. Among them, the boundary to be spliced ​​is the overlapping area where the first sub-map and the second sub-map are spliced, that is, the splicing boundary that the robot is about to cross. It can be understood that if the robot crosses the boundary to be spliced, it means that the robot has completely entered a new area (the second sub-map).

[0110] It should be noted that each boundary of the first sub-map is obtained, and then stitching features of different shapes are set for each boundary. Specifically, stitching features of different shapes can be set for each boundary of the first sub-map during the map stitching process, or after the first sub-map is generated during the navigation process. The stitching features can be set according to actual needs, such as semicircle, rectangle, triangle, regular pentagon, etc., which are not specifically limited here. Figure 3 ,The first sub-map is obtained in a rectangular shape, the stitching feature of the left boundary of the first sub-map is a regular pentagon, the stitching feature of the right boundary is a semicircle, the stitching feature of the upper boundary is a rectangle, and the stitching feature of the lower boundary is a triangle.

[0111] As one of the methods for obtaining the boundary to be stitched, in step S13, obtaining the boundary to be stitched of the first sub-map may include steps a131-a132:

[0112] Step a131, obtaining positioning information of the robot, and obtaining orientation information of the robot according to the positioning information;

[0113] Step a132: determining the to-be-joined boundary of the first sub-map according to the orientation information.

[0114] In this embodiment, the positioning information of the robot is obtained, and the orientation information of the robot is obtained according to the positioning information. Then, the boundary to be spliced ​​of the first sub-map is determined according to the orientation information.

[0115] The positioning information may be generated by a navigation system, which may be positioned by map matching, beacon positioning, GPS (Global Positioning System), Markov positioning, Kalman filter positioning, etc. For example, a map matching method is used for positioning, specifically, a sensor is used to sense environmental information to create a current matching map, and then the current matching map is matched with a map pre-stored in a database, so as to calculate the position of the robot in the first sub-map, that is, calculate the coordinate position of the robot in the first sub-map as the coordinate system.

[0116] It should be noted that, based on the first sub-map in the positioning information and the coordinate position of the robot, the sensor is used to perceive the environmental information in front of the robot to create a map of the front environment. Then, by comparing the map of the front environment with the first sub-map, the orientation information of the robot can be obtained, and based on the orientation information, the front boundary of the robot can be determined. It can be understood that when the robot is about to enter a new area, the front boundary is the boundary to be spliced.

[0117] As another method for obtaining the boundary to be spliced, in step S13, obtaining the boundary to be spliced ​​of the first sub-map may further include steps a133-a134:

[0118] Step a123, obtaining the positioning information of the robot, and obtaining the current position of the robot according to the positioning information;

[0119] Step a124, detecting each boundary of the first sub-map, and determining the boundary to be spliced ​​of the first sub-map according to the distance from each boundary to the current position.

[0120] In this embodiment, the positioning information of the robot is obtained, and based on the positioning information, the current position of the robot is obtained. Then, each boundary of the first sub-map is detected, and the boundaries to be spliced ​​of the first sub-map are determined based on the distance from each boundary to the current position.

[0121] The positioning information may be generated by a navigation system, which may be positioned by map matching, beacon positioning, GPS (Global Positioning System), Markov positioning, Kalman filter positioning, etc. For example, a map matching method is used for positioning, specifically, a sensor is used to sense environmental information to create a current matching map, and then the current matching map is matched with a map pre-stored in a database, so as to calculate the current position of the robot in the first sub-map, that is, calculate the coordinate position of the robot in the coordinate system of the first sub-map.

[0122] It should be noted that the environmental information is sensed by the sensor, and then the various boundaries of the first sub-map are detected through the sensed environmental information. Finally, the distance between the current position of the robot and the various boundaries of the first sub-map is calculated to obtain the boundary closest to the robot, and this boundary is used as the boundary to be spliced.

[0123] It is understood that the present embodiment can use the above methods for obtaining the boundary to be spliced ​​separately, or can combine the above two methods to more accurately determine the boundary to be spliced. Of course, the moving trajectory analysis method can also be used to analyze the moving trajectory of the robot to predict the robot's forward direction, thereby determining the boundary to be spliced.

[0124] In this embodiment, after obtaining the first sub-map of the robot's current navigation area, the boundary to be spliced ​​of the first sub-map is first obtained, and then the corresponding first splicing feature is obtained through the boundary to be spliced, which improves the accuracy and processing efficiency of obtaining the first splicing feature, thereby further improving the processing efficiency of map splicing.

[0125] Furthermore, based on the above-mentioned first embodiment, a third embodiment of the map stitching method of the present invention is proposed.

[0126] Reference Figure 5 , Figure 5 Schematic diagram of the flowchart of the third embodiment of the map stitching method of the present invention.

[0127] In this embodiment, the above step S20, obtaining a second sub-map of the area to be navigated by the robot according to the first stitching feature, and obtaining a second stitching feature located at the boundary of the second sub-map, includes the following steps S21-S23:

[0128] Step S21, generating complementary splicing features according to the first splicing features, and obtaining a mother map of the working area where the robot is located;

[0129] Step S22, dividing the mother map according to the complementary splicing features and the preset shape, and using the sub-map obtained by the division as the second sub-map of the area to be navigated by the robot;

[0130] Step S23: Using the complementary stitching feature as the second stitching feature of the second sub-map.

[0131] In this embodiment, a complementary stitching feature is generated based on the first stitching feature, and a mother map of the robot's working area is obtained. Then, the mother map is divided according to the complementary stitching feature and the preset shape, and the sub-map obtained by the division is used as the second sub-map of the robot's navigation area. Finally, the complementary stitching feature is used as the second stitching feature of the second sub-map.

[0132] The complementary splicing feature and the first splicing feature can be completely fitted together when spliced ​​together, and the specific splicing process is similar to a jigsaw puzzle in life, where the protruding part is spliced ​​to the corresponding concave part to achieve the matching of the first submap and the second submap. Figure 3 When the first splicing feature is a distinct convex semicircle, the corresponding second splicing feature (complementary splicing feature) is a distinct concave semicircle.

[0133] It should be noted that the mother map has been generated during the navigation process, that is, before the first sub-map is obtained. Based on the generated mother map, the mother map can be further divided according to the complementary splicing features and the preset shape to obtain the second sub-map. Figure 3 , the preset shape is a rectangle. When the complementary stitching feature is a concave semicircle, the second submap with a rectangular shape is first generated, and then the left boundary of the second submap (the boundary to be stitched) is increased or decreased according to the corresponding complementary feature, that is, a semicircular gap is formed on the left boundary of the second submap, and the semicircular gap corresponds to the coordinate position of the protruding semicircle of the first submap. It can be understood that using the complementary stitching feature as the stitching feature of the second submap can facilitate the subsequent stitching of the first submap and the second submap.

[0134] In this embodiment, the first splicing feature of the first submap is used to generate the corresponding complementary splicing feature, and then the second submap is obtained according to the complementary splicing feature, so that the second submap can be accurately spliced ​​with the first submap, thereby further improving the accuracy and processing efficiency of map splicing. In addition, using the complementary splicing feature as the splicing feature of the second submap can facilitate the subsequent splicing of the first submap with the second submap, thereby further improving the processing efficiency of map splicing.

[0135] Furthermore, based on the above-mentioned first embodiment, a fourth embodiment of the map stitching method of the present invention is proposed.

[0136] Reference Figure 6 , Figure 6 Schematic diagram of the flowchart of the fourth embodiment of the map stitching method of the present invention.

[0137] In this embodiment, in the above step S10, if it is necessary to stitch the map, before obtaining the first sub-map of the robot's current navigation area and obtaining the first stitching feature located at the boundary of the first sub-map, the following steps S40-S70 are included:

[0138] Step S40, obtaining a parent map of the working area where the robot is located;

[0139] Step S50, dividing the mother map according to a preset shape, using the sub-map obtained by the division as the first sub-map of the current navigation area, and controlling the robot to navigate based on the first sub-map;

[0140] In this embodiment, when it is detected that navigation is required, the mother map of the robot's working area is obtained, and then the mother map is divided according to the preset shape, and the sub-map obtained by the division is used as the first sub-map of the current navigation area, and the robot is controlled to navigate based on the first sub-map. If the robot needs to move autonomously, navigation is required.

[0141] The robot's work area can be the entire shopping mall, the entire hotel, the entire warehouse, etc. After determining the robot's entire work area, the original navigation map (mother map) of the work area is pre-established, and then the work area is divided directly according to the actual situation, for example, according to the rooms of the work area, or according to a preset shape, wherein the preset shape can be set according to actual needs. At the same time, the mother map shows the robot's movable area, that is, the map does not show any obstacles, so that the robot can navigate better. Of course, the mother map can also display obstacles, that is, a complete area map.

[0142] Step S60, detecting the remaining distance between the robot and the boundary of the first sub-map, and determining whether the remaining distance is less than or equal to a preset distance;

[0143] Step S70: If the remaining distance is less than or equal to the preset distance, the map needs to be spliced.

[0144] In this embodiment, the remaining distance between the robot and the first sub-map boundary is detected, and it is determined whether the remaining distance is less than or equal to the preset distance. If the remaining distance is less than or equal to the preset distance, the map needs to be spliced. After the map needs to be spliced, the robot can navigate and splice the map at the same time, that is, a parallel processing mechanism is adopted, and the navigation process and the map splicing (map loading) process cooperate to complete the navigation work. The splicing process will not affect the navigation process of the robot, thereby ensuring the normal operation of the robot.

[0145] It should be noted that the environmental information is sensed by the sensor, and then the boundaries of the first sub-map are detected through the sensed environmental information, and the distance between the current position of the robot and the boundaries of the first sub-map is calculated. Finally, the remaining distance is obtained from the distance to each boundary.

[0146] It can be understood that if the remaining distance of the robot from a certain boundary is less than or equal to the preset distance, it can be determined that the robot is about to enter another new area (the second sub-map), and it can be determined that the map needs to be spliced ​​so that the robot can navigate based on the second sub-map after completely entering the second sub-map to avoid affecting the navigation work of the robot. Among them, the preset distance can be set according to the actual situation, such as 1 meter, 2 meters, etc., which is not specifically limited here. Of course, the target position of the robot's movement can also be obtained through the robot's movement task, and then it can be determined whether the target position exceeds the first sub-map. If it exceeds, it can be determined that the map needs to be spliced.

[0147] Furthermore, in the above step S70, if the remaining distance is less than or equal to the preset distance, it is necessary to stitch the map, including steps a71-a74:

[0148] Step a71, if the remaining distance is less than or equal to the preset distance, obtaining the nearest boundary corresponding to the remaining distance, and obtaining the orientation information of the robot;

[0149] Step a72, determining the orientation boundary of the robot according to the orientation information;

[0150] Step a73, determining whether the nearest boundary is the same as the facing boundary;

[0151] Step a74: if the nearest boundary is the same as the orientation boundary, the maps need to be spliced.

[0152] In this embodiment, if the remaining distance is less than or equal to the preset distance, the nearest boundary corresponding to the remaining distance is obtained, and the orientation information of the robot is obtained, and then, according to the orientation information, the orientation boundary of the robot is determined, and finally, it is determined whether the nearest boundary is the same as the orientation boundary. If the nearest boundary is the same as the orientation boundary, the map needs to be spliced. Specifically, the positioning information of the robot is obtained, and according to the positioning information, the orientation information of the robot is obtained, and then, according to the orientation information, the orientation boundary of the robot is determined, and finally, the orientation boundary is compared with the nearest boundary to determine whether the two are the same. If they are the same, the map needs to be spliced.

[0153] It should be noted that, based on the first sub-map in the positioning information and the coordinate position of the robot, the sensor is used to perceive the environmental information in front of the robot to create a map of the front environment. Then, by comparing the map of the front environment with the first sub-map, the orientation information of the robot can be obtained, and based on the orientation information, the orientation boundary of the robot can be determined. It can be understood that when the robot is about to enter a new area, the orientation boundary of the robot should be the same as the nearest boundary, that is, the robot is very close to the boundary and moves towards the boundary. It can be predicted that the robot is about to cross the boundary.

[0154] It can be understood that after determining that the distance between the robot and the boundary is less than the preset distance, further determining whether it is facing the boundary can more accurately predict whether the robot will leave the first sub-map and enter the second sub-map.

[0155] In this embodiment, when navigation is required, the parent map is divided to obtain the first sub-map, and the robot navigates based on the first sub-map. Compared with navigation based on the parent map, only the first sub-map with a smaller amount of data needs to be loaded, thereby further improving the execution efficiency of the robot's navigation work and improving the navigation accuracy. At the same time, during the navigation process, the remaining distance of the robot from each boundary of the first sub-map is detected, and it is determined whether the remaining distance is less than or equal to the preset distance, that is, whether the robot is about to enter a new area (the second sub-map). If it is detected that the robot is about to enter a new area, the map needs to be spliced ​​to ensure the normal navigation of the robot.

[0156] The invention also provides a map splicing device.

[0157] Reference Figure 7 , Figure 7 Schematic diagram of functional modules of the first embodiment of the map splicing device of the present invention.

[0158] In this embodiment, the map stitching device includes:

[0159] A first feature acquisition module 10 is used to acquire a first sub-map of the robot's current navigation area and acquire a first splicing feature located at a boundary of the first sub-map if a map splicing is required;

[0160] A second feature acquisition module 20, configured to acquire a second sub-map of the area to be navigated by the robot according to the first splicing feature, and acquire a second splicing feature located at a boundary of the second sub-map;

[0161] The map splicing module 30 is used to splice the first sub-map and the second sub-map according to the first splicing feature and the second splicing feature.

[0162] Among them, each virtual function module of the above-mentioned map splicing device is stored in Figure 1 The memory 1005 of the map stitching device shown is used to implement all functions of the map stitching program; when each module is executed by the processor 1001, the map stitching function can be implemented.

[0163] Furthermore, the first feature acquisition module 10 includes:

[0164] A first map acquisition unit, used to acquire a first sub-map of a current navigation area of ​​the robot, and to acquire each boundary of the first sub-map;

[0165] The feature setting unit is used to set splicing features of different shapes for each of the boundaries.

[0166] A boundary acquisition unit, configured to acquire a boundary to be spliced ​​of the first submap according to the first submap;

[0167] The first feature acquisition unit is used to acquire the first splicing feature of the to-be-spliced ​​boundary according to the splicing features of different shapes.

[0168] Furthermore, the boundary acquisition unit includes:

[0169] an orientation acquisition subunit, used to acquire positioning information of the robot, and acquire orientation information of the robot according to the positioning information;

[0170] The boundary determination subunit is used to determine the to-be-joined boundary of the first sub-map according to the orientation information.

[0171] Furthermore, the boundary acquisition unit includes:

[0172] A position acquisition subunit, used to acquire the positioning information of the robot, and acquire the current position of the robot according to the positioning information;

[0173] The boundary detection subunit is used to detect each boundary of the first submap, and determine the boundary to be spliced ​​of the first submap according to the distance from each boundary to the current position.

[0174] Furthermore, the second feature acquisition module 20 includes:

[0175] A mother map acquisition unit, used to generate a complementary splicing feature according to the first splicing feature, and acquire a mother map of the working area where the robot is located;

[0176] A map division unit, configured to divide the mother map according to the complementary splicing features and the preset shape, and use the sub-map obtained by the division as a second sub-map of the area to be navigated by the robot;

[0177] The second feature acquisition unit is configured to use the complementary splicing feature as a second splicing feature of the second sub-map.

[0178] Furthermore, the map splicing device also includes:

[0179] A mother map acquisition module is used to obtain a mother map of the robot's working area;

[0180] A map division module, used for dividing the mother map according to a preset shape, using the sub-map obtained by the division as the first sub-map of the current navigation area, and controlling the robot to navigate based on the first sub-map;

[0181] a boundary detection module, used to detect the remaining distance between the robot and the boundary of the first sub-map, and determine whether the remaining distance is less than or equal to a preset distance;

[0182] The splicing entry module is used to splice the map if the remaining distance is less than or equal to the preset distance.

[0183] Furthermore, the splicing entry module includes:

[0184] a boundary acquisition unit, configured to acquire the nearest boundary corresponding to the remaining distance if the remaining distance is less than or equal to the preset distance, and acquire orientation information of the robot;

[0185] a boundary determination unit, configured to determine an orientation boundary of the robot according to the orientation information;

[0186] A boundary judgment unit, used to judge whether the nearest boundary is the same as the direction boundary;

[0187] The splicing entry unit is used to splice the map if the nearest boundary is the same as the orientation boundary.

[0188] Among them, the functional implementation of each module in the above-mentioned map splicing device corresponds to each step in the above-mentioned map splicing method embodiment, and its functions and implementation processes are no longer repeated here.

[0189] The present invention also provides a mobile robot, which includes: a memory, a processor, and a map stitching program stored in the memory and executable on the processor, wherein the map stitching program implements the steps of the map stitching method described above when executed by the processor.

[0190] The specific embodiments of the mobile robot of the present invention are basically the same as the embodiments of the above-mentioned map stitching method, and will not be described in detail here.

[0191] The present invention also provides a computer-readable storage medium on which a map stitching program is stored. When the map stitching program is executed by a processor, the steps of the map stitching method described in any of the above embodiments are implemented.

[0192] The specific embodiments of the computer-readable storage medium of the present invention are substantially the same as the embodiments of the above-mentioned map stitching method, and are not described in detail herein.

[0193] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or system including the element.

[0194] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0195] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0196] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A map splicing method, characterized in that: The map splicing method comprises: Get the master map of the robot's working area; Dividing the mother map according to a preset shape, using the sub-map obtained by the division as a first sub-map of the current navigation area, and controlling the robot to navigate based on the first sub-map; Detecting the remaining distance between the robot and the boundary of the first sub-map, and determining whether the remaining distance is less than or equal to a preset distance; If the remaining distance is less than or equal to the preset distance, the map needs to be spliced; If it is necessary to stitch the maps, obtain the first sub-map of the current navigation area of ​​the robot, and obtain the first stitching feature located at the boundary of the first sub-map, including: obtaining the first sub-map of the current navigation area of ​​the robot, and obtaining each boundary of the first sub-map; setting stitching features of different shapes for each boundary respectively; according to the first sub-map, obtaining the boundary to be stitched of the first sub-map; according to the stitching features of different shapes, obtaining the first stitching feature of the boundary to be stitched; According to the first splicing feature, a second sub-map of the robot's navigation area is obtained, and a second splicing feature located at a boundary of the second sub-map is obtained, including: generating a complementary splicing feature according to the first splicing feature, and obtaining a mother map of the robot's working area; dividing the mother map according to the complementary splicing feature and a preset shape, and using the sub-map obtained by the division as the second sub-map of the robot's navigation area; using the complementary splicing feature as the second splicing feature of the second sub-map; The first submap and the second submap are spliced ​​according to the first splicing feature and the second splicing feature.

2. The map stitching method according to claim 1, characterized in that: The obtaining the to-be-joined boundary of the first sub-map includes: Acquiring positioning information of the robot, and acquiring orientation information of the robot based on the positioning information; A to-be-joined boundary of the first sub-map is determined according to the orientation information.

3. The map stitching method according to claim 1, characterized in that: The obtaining the to-be-joined boundary of the first sub-map includes: Acquire the positioning information of the robot, and acquire the current position of the robot according to the positioning information; Each boundary of the first sub-map is detected, and a boundary to be spliced ​​of the first sub-map is determined according to a distance from each boundary to the current position.

4. The map stitching method according to claim 1, characterized in that: If the remaining distance is less than or equal to the preset distance, the map needs to be stitched, including: If the remaining distance is less than or equal to the preset distance, obtaining the nearest boundary corresponding to the remaining distance and obtaining the orientation information of the robot; Determining an orientation boundary of the robot according to the orientation information; Determining whether the nearest boundary is the same as the facing boundary; If the nearest boundary is the same as the facing boundary, the maps need to be spliced.

5. A map splicing device, characterized in that: The map splicing device comprises: A mother map acquisition module is used to obtain a mother map of the robot's working area; A map division module, used to divide the mother map according to a preset shape, use the sub-map obtained by the division as the first sub-map of the current navigation area, and control the robot to navigate based on the first sub-map; a boundary detection module, used to detect the remaining distance between the robot and the boundary of the first sub-map, and determine whether the remaining distance is less than or equal to a preset distance; A splicing entry module, used for splicing the map if the remaining distance is less than or equal to the preset distance; The first feature acquisition module is used to acquire the first sub-map of the current navigation area of ​​the robot and acquire the first splicing feature located at the boundary of the first sub-map when it is necessary to splice the map, including: acquiring the first sub-map of the current navigation area of ​​the robot and acquiring each boundary of the first sub-map; setting splicing features of different shapes for each boundary respectively; acquiring the boundary to be spliced ​​of the first sub-map according to the first sub-map; acquiring the first splicing feature of the boundary to be spliced ​​according to the splicing features of different shapes; A second feature acquisition module is used to acquire a second sub-map of the robot's navigation area according to the first splicing feature, and acquire a second splicing feature located at a boundary of the second sub-map, including: generating a complementary splicing feature according to the first splicing feature, and acquiring a mother map of the robot's working area; dividing the mother map according to the complementary splicing feature and a preset shape, and using the sub-map obtained by the division as the second sub-map of the robot's navigation area; using the complementary splicing feature as the second splicing feature of the second sub-map; A map splicing module is used to splice the first sub-map and the second sub-map according to the first splicing feature and the second splicing feature.

6. A mobile robot, characterized in that: The mobile robot comprises: a memory, a processor and a map stitching program stored in the memory and executable on the processor, wherein the map stitching program implements the steps of the map stitching method according to any one of claims 1 to 4 when executed by the processor.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a map stitching program, and when the map stitching program is executed by the processor, the steps of the map stitching method according to any one of claims 1 to 4 are implemented.

Citation Information

Patent Citations

  • Robot map extension method, device, control apparatus and storage medium

    CN110146098A

  • Autonomous mobile robot, map splicing method and device thereof and readable storage medium

    CN110705519A