Mobile robot mapping method, device and equipment and storage medium
By performing contour processing and morphological operations on the original map data, virtual boundaries and optimization target points are generated, and the problems of high repetition exploration rate and low mapping efficiency in active SLAM technology are solved, and the problem of high repetition exploration rate and low mapping efficiency in semi-closed and fully enclosed environments is realized. Efficient, safe and proactive SLAM tasks are completed.
Patent Information
- Application Number
- CN202411376133.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2044-09-29
AI Technical Summary
The existing active SLAM technology has a high repetitive exploration rate and low mapping efficiency in unknown environments, making it difficult to effectively complete tasks in semi-closed or fully enclosed environments, and the selected target points can easily lead to the robot being in trouble or being unable to reach it.
By obtaining the original map data for outline processing, virtual boundaries and optimize target points are generated, repeated exploration rate and number of explorations are reduced, morphological operations are used to denoise and stitch map data, ensuring the rationality and security of target points, and generating virtual boundaries to Complete active SLAM tasks in semi-enclosed and fully enclosed environments.
Improves the efficiency and accuracy of active SLAM, reduces the number of repeated explorations, ensures that the robot completes tasks in a safe area, and is suitable for semi-enclosed and fully enclosed environments.
Smart Images

Figure CN119270843A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robots, and in particular to a mobile robot mapping method, device, equipment and storage medium. Background Art
[0002] SLAM (Simultaneous Localization and Mapping) is a technology in the field of computer science that allows mobile devices such as robots or drones to navigate in unknown environments while creating a detailed map of their environment. SLAM technology is very important in the field of robotics because it enables robots to navigate autonomously and perform tasks in unknown environments. The working principle of SLAM technology is that mobile devices (such as robots or drones) use sensors (such as lidar, cameras, ultrasonic sensors, etc.) to collect data about the environment as they move in their environment. The data collected by these sensors is used to build a detailed map of the environment in real time, while the robot or drone also determines its position on the map. The research of SLAM technology is an active field, and many research institutions and companies are committed to improving the accuracy and efficiency of SLAM technology. With the continuous advancement of technology, the application prospects of SLAM technology in the field of robotics are becoming more and more broad. SLAM technology is the core technical problem of mobile robots. The main problem it solves is: when a robot moves in an unknown / unfamiliar environment, how to use one or more sensor information of its own to obtain the mobile robot's own posture information (position information and posture information), and at the same time build map information of the surrounding environment characteristics. Its specific implementation is: processing the robot's own sensor data (lidar point cloud, image data, odometer data, imu data, etc.) to obtain mapping information of the mobile robot's surrounding environment, and then obtaining map data reflecting the current environmental characteristics from this mapping information.
[0003] There are two common methods for obtaining sensor data to construct complete map data: (1) Passive SLAM technology. Passive SLAM technology refers to the process of obtaining complete map data by changing the position and posture of a mobile robot through human remote control or human movement; (2) Active SLAM technology. Active SLAM technology refers to the process of obtaining complete map data of the current environment through autonomous movement in an unknown environment through a program written inside the robot, and actively ending the active SLAM task.
[0004] However, the current active SLAM technology has an increased repeated exploration rate, the robot moves too long or too short a distance, the map has less updated data, and the number of explorations increases; the active SLAM mapping efficiency is low, and it cannot complete the active SLAM task efficiently and quickly; the selected target points can easily cause the mobile robot to get into trouble or fail to reach the target point during the active SLAM process. Summary of the invention
[0005] In view of the above problems, the present application is proposed to provide a mobile robot mapping method, device, equipment and storage medium that overcome the above problems or at least partially solve the above problems, including:
[0006] A mobile robot mapping method, the method is used for a mobile robot to quickly build a map; the mobile robot senses the surrounding environment through a laser radar and obtains original map data; comprising:
[0007] Acquiring original map data, and performing contour processing on the original map data to obtain contour points;
[0008] If there are boundary points among the contour points, a virtual boundary is generated according to the contour points; wherein the boundary points are contour points with unknown areas around them and within the original map data;
[0009] An optimized target point to be explored by the mobile robot is generated according to the contour points and the virtual boundary.
[0010] Preferably, the step of performing contour processing on the original map data to obtain contour points comprises:
[0011] Performing morphological operations on the original map data to generate a feature map;
[0012] Obtaining a danger zone map according to the characteristic map;
[0013] Closing the dangerous area map to obtain a pre-processed map;
[0014] Contour processing is performed according to the pre-processed map to obtain contour points.
[0015] Preferably, the step of performing morphological operations on the original map data to generate a feature map comprises:
[0016] Binarizing the original map data to generate a binary map;
[0017] Performing an opening operation on the binary map to generate a dilation map;
[0018] A closing operation is performed according to the dilation map to generate a feature map.
[0019] Preferably, the step of receiving the step of generating a line segment map by connecting points according to the pre-processed map comprises:
[0020] Obtaining contour points according to the preprocessed map;
[0021] Connecting the contour points to generate a line segment map;
[0022] The boundary points are contour points that have unknown areas around them and are within the original map data.
[0023] Preferably, the step of generating a virtual boundary according to the contour points further comprises:
[0024] Obtaining isolated endpoints according to the contour points, and connecting the isolated endpoints to obtain a closed line;
[0025] The virtual boundary is obtained by screening according to the closed line.
[0026] Preferably, the step of generating the optimized target point to be explored by the mobile robot based on the contour points and the virtual boundary comprises:
[0027] generating a target point within the virtual boundary according to the contour point;
[0028] Obstacle screening is performed based on the target point to generate an optimized target point.
[0029] Preferably, the step of generating target points within the virtual boundary based on the contour points comprises:
[0030] Performing quadrant classification on the contour points within the virtual boundary to obtain classification points;
[0031] The target point is generated by performing empty set optimization according to the classification points.
[0032] To achieve this, the present application also includes a mobile robot mapping device, which is used in a method for a mobile robot to quickly build a map; the mobile robot senses the surrounding environment through a laser radar and obtains original map data, including:
[0033] A contour point obtaining module is used to obtain original map data and perform contour processing on the original map data to obtain contour points;
[0034] A virtual boundary generating module, configured to generate a virtual boundary according to the contour points if there are boundary points among the contour points;
[0035] The optimization target point generation module is used to generate the optimization target point to be explored by the mobile robot according to the contour point and the virtual boundary.
[0036] To implement the present application, an electronic device is also included, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the steps of the mobile robot mapping method are implemented.
[0037] To implement the present application, a computer-readable storage medium is also included, on which a computer program is stored. When the computer program is executed by a processor, the steps of the mobile robot-based mapping method are implemented.
[0038] This application has the following advantages:
[0039] In the embodiments of the present application, compared with the prior art of "increased repeated exploration rate, too long robot movement distance, too short robot movement distance, less map update data, and increased exploration times; low active SLAM mapping efficiency, and inability to efficiently and quickly complete active SLAM tasks; the selected target points easily cause the mobile robot to get into trouble or fail to reach the target point during the active SLAM process", the present application provides a solution for target point selection and boundary closure, redesigns the target point selection rules in the active SLAM process, reduces the repeated exploration rate and the number of explorations while ensuring complete exploration, and avoids unnecessary movements; uses a map boundary closure method to enable the mobile robot to complete the active SLAM task in a semi-enclosed / fully enclosed environment; processes map data, eliminates noise, and adds dangerous area elements to prevent the mobile robot from falling into dangerous areas during the active SLAM process, which can cause the task to fail. Specifically, the original map data is obtained, and the contour processing is performed on the original map data to obtain contour points; if there are boundary points in the contour points, a virtual boundary is generated based on the contour points; wherein the boundary points have contour points in the unknown area around them and are within the original map data; based on the contour points and the virtual boundary, an optimized target point to be explored by the mobile robot is generated. This application uses the robot perception radius to generate the virtual boundary of the map to complete the active SLAM task in a semi-enclosed environment and a fully enclosed environment; uses the preprocessing function of the map data to complete the denoising and stitching of the map data to avoid the appearance of unreasonable target points; classifies and selects the target points to reduce the repeated exploration rate and the number of explorations, making the active SLAM process more concise and efficient; evaluates the rationality of the target points, so that the target points finally obtained can perceive multiple areas at one time, reducing the number of explorations in the same area and improving the exploration efficiency; evaluates the safety of the target points, so that the target points finally obtained are always in a safe area, avoiding the mobile robot from getting into trouble and making the active SLAM process difficult to continue, while ensuring the accuracy of the completion of the active SLAM task in a semi-enclosed environment / fully enclosed environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solution of the present application, the drawings required for use in the description of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0041] Figure 1 This is a flow chart of a mobile robot mapping method provided by an embodiment of the present application;
[0042] Figure 2 It is a structural block diagram of a mobile robot mapping device provided by an embodiment of the present application;
[0043] Figure 3 It is an original map data diagram for mobile robot mapping provided in one embodiment of the present application;
[0044] Figure 4 It is a pre-processed map for mobile robot mapping provided in one embodiment of the present application;
[0045] Figure 5 It is a schematic diagram of contour points of a mobile robot mapping provided by an embodiment of the present application;
[0046] Figure 6 This is a schematic diagram of an optimized target point for mobile robot mapping provided by an embodiment of the present application;
[0047] Figure 7 is a structural schematic diagram of a computer device provided by an embodiment of the present invention;
[0048] Figure 8 It is a schematic diagram of a target point classification method for mobile robot mapping provided by an embodiment of the present application;
[0049] Fig. 9 It is a schematic diagram of a map closing method for mobile robot map building provided in one embodiment of the present application;
[0050] 12. Computer equipment; 14. External devices; 16. Processing unit; 18. Bus; 20. Network adapter; 22. I / O interface; 24. Display; 28. Memory; 30. Random access memory; 32. Cache memory; 34. Storage system; 40. Program / utility; 42. Program module. DETAILED DESCRIPTION
[0051] In order to make the objects, features and advantages of the present application more obvious and understandable, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0052] The inventors have found through analysis of the prior art that SLAM technology is the core technical problem of mobile robots. The main problem it solves is: when a robot moves in an unknown / unfamiliar environment, how to use one or more sensor information of its own to obtain the position information (position information and posture information) of the mobile robot itself, and at the same time construct map information of the surrounding environment characteristics. Its specific implementation is: the robot's own sensor data (lidar point cloud, image data, odometer data, imu data, etc.) is processed to obtain the mapping information of the mobile robot's surrounding environment, and the map data reflecting the current environmental characteristics is obtained from the mapping information.
[0053] There are two common ways to obtain sensor data to build complete map data:
[0054] (1) Passive SLAM technology: Passive SLAM technology refers to the process of obtaining complete map data by changing the position and posture of a mobile robot through human remote control or human movement; (2) Active SLAM technology: Active SLAM technology refers to the process of obtaining complete map data of the current environment through autonomous movement in an unknown environment through a program written inside the robot, and actively ending the active SLAM task.
[0055] Application of existing active SLAM technology:
[0056] It is mainly used for autonomous mapping of mobile robots in completely closed environments, such as household cleaning robots, that is, the mobile robots of this application.
[0057] However, the existing active SLAM technology has problems and shortcomings:
[0058] The current rules for selecting target points in active SLAM technology will cause the robot to move back and forth between two areas, resulting in an increase in the repeated exploration rate; in a complex unknown environment, the selected target point is inappropriate, causing the robot to move too long, resulting in an increase in the repeated exploration rate; or the robot moves too short, resulting in less map update data and an increase in the number of explorations; due to the high repeated exploration rate and the large number of explorations in the same area, the mapping efficiency of active SLAM is low, and the active SLAM task cannot be completed efficiently and quickly; since the boundaries of the map data are completely dependent on the mobile robot's own data, it can only be used in a completely closed environment; since the environmental features in the map data in a complex environment are relatively vague, the selected target point is relatively dangerous (closer to the dangerous area), causing the mobile robot to get into trouble or fail to reach the target point during the active SLAM process.
[0059] The technical problems to be solved by the present invention are as follows: (1) redesigning the target point selection rules in the active SLAM process to reduce the repeated exploration rate and the number of explorations while ensuring complete exploration, thereby avoiding unnecessary movement; (2) using the map boundary closure method so that the mobile robot can still complete the active SLAM task in a semi-enclosed / fully enclosed environment; and (3) processing the map data, eliminating noise, and adding dangerous area elements so that the mobile robot can avoid falling into dangerous areas during the active SLAM process, thereby preventing the task from being completed.
[0060] In the embodiments of the present application, relative to the prior art problems of "increased repeated exploration rate, too long robot movement distance, too short robot movement distance, less map update data, and increased exploration times; low active SLAM mapping efficiency, and inability to efficiently and quickly complete active SLAM tasks; the selected target points easily cause the mobile robot to get into trouble or fail to reach the target point during the active SLAM process", the present application provides a solution for target point selection and boundary closure, specifically: obtaining original map data, and performing contour processing on the original map data to obtain contour points; if there are boundary points in the contour points, generating a virtual boundary based on the contour points; wherein the boundary points are contour points in the original map data and have unknown areas around them; and generating optimized target points to be explored by the mobile robot based on the contour points and the virtual boundaries. This application redesigns the target point selection rules in the active SLAM process to reduce the repeated exploration rate and the number of explorations while ensuring complete exploration, thereby avoiding unnecessary movements; uses a map boundary closure method to enable the mobile robot to complete the active SLAM task in a semi-enclosed / fully enclosed environment; processes the map data, eliminates noise, and adds dangerous area elements to prevent the mobile robot from falling into dangerous areas during the active SLAM process, which would result in the inability to complete the task.
[0061] Reference Figure 1 , shows a flowchart of a method for building a map based on a mobile robot provided by an embodiment of the present application, which specifically includes the following steps:
[0062] S110, acquiring original map data, and performing contour processing on the original map data to obtain contour points;
[0063] S120, if there are boundary points among the contour points, generating a virtual boundary according to the contour points; wherein the boundary points are contour points with unknown areas around them and within the original map data;
[0064] S130: Generate an optimized target point to be explored by the mobile robot based on the contour points and the virtual boundary.
[0065] Next, the mobile robot-based mapping method in this exemplary embodiment will be further described.
[0066] In an embodiment of the present invention, the specific process of "obtaining original map data, and performing contour processing on the original map data to obtain contour points" in step S110 can be further explained in combination with the following description.
[0067] In one embodiment of the present invention, the mobile robot senses the surrounding environment through a laser radar and obtains original map data.
[0068] As described in the following steps, morphological operations are performed on the original map data to generate a feature map; a danger zone map is obtained based on the feature map; a preprocessed map is obtained by closing the danger zone map; and contour processing is performed on the preprocessed map to obtain contour points.
[0069] It should be noted that morphological operations are commonly used techniques in image processing, which are used to perform various morphological transformations on images to extract, simplify or enhance certain features in the image. These operations are mainly based on the concepts of set theory and graph theory, and perform opening, closing, erosion, expansion, thinning, skeletonization and other processing on the image. The core idea of morphological operations is to analyze the shape and structure in the image by using structural elements (or kernels), so as to achieve the purpose of image preprocessing, feature extraction and noise removal. Morphological processing is a commonly used technique in image processing, which is mainly used for image noise reduction, edge detection, sharpening and other processing. The basic idea of morphological processing is to achieve morphological transformation of the image by performing erosion and expansion operations on the image.
[0070] In a specific embodiment, the dangerous area is a certain range of areas on the map close to obstacles, which is set as the dangerous area, that is, the black part of the binary original map data.
[0071] In an embodiment of the present invention, the specific process of "performing morphological operations on the original map data to generate a feature map" can be further explained in combination with the following description.
[0072] As described in the following steps, the original map data is binarized to generate a binarized map; an opening operation is performed on the binarized map to generate an expansion map; and a closing operation is performed on the expansion map to generate a feature map.
[0073] In a specific embodiment, 1.1 map data preprocessing
[0074] The map data preprocessing process includes:
[0075] (1) Binarization to obtain a black and white map; Binarization refers to the process of setting the pixel values of an image to only two possible values, usually 0 and 255 (for 8-bit images). In map data processing. To perform binarization, you can use image processing software such as Adobe Photoshop, GIMP, or an image processing script written in a programming language. Here are some basic steps:
[0076] Open the original map data file, such as Figure 3 As shown. Select the "Image" menu and select the "Brightness / Contrast" command in the "Adjust" submenu to adjust the contrast of the image to make the features on the map more obvious. Select the "Image" menu and select the "Separate" command in the "Channel" submenu to separate the channels of the image. You may need to try different channel combinations to find the channel that is most suitable for binarization. Select the "Image" menu and select the "Threshold" command in the "Adjust" submenu to set a suitable threshold to set the image pixel value to 0 or 255. You can adjust the threshold according to the gray value distribution of the image so that the features on the map have a clear contrast with the background. Use the "Invert" command in the "Image" menu to invert the pixel values of the binarized image for subsequent processing. Save the binarized image file.
[0077] (2) Two morphological operations, in order of opening and closing. The main function of this step is to eliminate isolated noise points in the map data and stitch some walls with minor breaks, so that the map data can better reflect the main characteristics of the environment. Opening: The opening operation is an operation that combines the erosion operation with the dilation operation. It can simultaneously eliminate noise and fill holes. The basic idea of the opening operation is to first perform an erosion operation on the image, and then perform an erosion operation on the eroded image. Closing: The closing operation is an operation that combines the dilation operation with the erosion operation. It can simultaneously fill cracks and eliminate noise. The basic idea of the closing operation is to first perform an erosion operation on the image, and then perform an erosion operation on the dilated image.
[0078] In one embodiment of the present invention, the specific process of "closing the dangerous area map to obtain the pre-processed map" can be further explained in combination with the following description.
[0079] As described in the following steps, the pre-processed map is obtained by pre-closing the boundary through a virtual boundary according to the danger map.
[0080] In a specific embodiment, (3) a certain range of area near obstacles on the map is set as a dangerous area, i.e., a black part;
[0081] (4) Closing a map based on a virtual boundary means using a type of data to close the map boundary. This data is called a virtual boundary and is recorded on the map data to distinguish it from the traversable area, obstacles, and unknown area (external area). The map closing method is shown below: Fig. 9 As shown in the figure, the black curved line segments represent the real obstacle information in an arbitrary non-completely closed environment, the black solid dots on the left represent the mobile robot, the black large circle represents the sensing range of the mobile robot's sensors (taking the laser sensor as an example), the red line segments represent the virtual boundaries mentioned above, and the blue line segments are the sensing data of the laser sensor, such as Figure 4 shown.
[0082] In a specific embodiment, 1.2 Target point search: (1) Use the map data obtained by preprocessing the map data in step 1.1 to perform contour search to find all points on the map that are on the contour, such as Figure 5 shown.
[0083] As described in the above step S120, if there are boundary points among the contour points, a virtual boundary is generated according to the contour points; wherein the boundary points are contour points in the original map data and have unknown areas around them.
[0084] In one embodiment of the present invention, the specific process of step S120 of "if there are boundary points among the contour points, generating a virtual boundary based on the contour points; wherein the boundary points are contour points in the original map data and have an unknown area around them." can be further explained in combination with the following description.
[0085] In a specific embodiment, isolated endpoints are obtained based on the contour points, and the isolated endpoints are connected to obtain closed lines; and the closed lines are screened to obtain the virtual boundaries.
[0086] (2) Based on the point set obtained in step 1.2(1), determine whether there are reasonable points to be explored (i.e., points with unknown areas around them and inside the closed area of the map). If not, proceed to step 1.10; if so, continue to step 1.3.
[0087] 1.3 Using the contour points obtained in step 1.2(1), find the isolated endpoints and record them.
[0088] 1.4 Construct a virtual boundary for the endpoints obtained in step 1.3, connect all the endpoints in pairs, and only keep the line segments that meet the following conditions at the same time:
[0089] (1) There is no line segment that passes through obstacles on the map
[0090] (2) Within the circular range with the midpoint of the virtual boundary as the center and the perception radius of the mobile robot as the radius, both sides of the line segment are the explored area and the unexplored area / complete closed area. That is, this step generates a map with a virtual boundary.
[0091] As described in the above step S130, an optimized target point to be explored by the mobile robot is generated based on the contour points and the virtual boundary.
[0092] In one embodiment of the present invention, the specific process of "generating the optimized target point to be explored by the mobile robot according to the contour point and the virtual boundary" in step S130 can be further described in combination with the following description: Figure 6 shown.
[0093] As described in the following steps, a target point is generated within the virtual boundary according to the contour point; and obstacles are screened according to the target point to generate an optimized target point.
[0094] In one embodiment of the present invention, the specific process of "performing quadrant classification on the contour points within the virtual boundary to obtain classification points; and performing empty set optimization based on the classification points to generate the target points" can be further explained in combination with the following description.
[0095] In a specific embodiment, 1.5 Target point classification exploration
[0096] (1) Classify the relevant points obtained according to the target point search step 1.2. First, divide these target points into four categories according to the origin of the world coordinate system according to the 1st, 2nd, 3rd, and 4th quadrants. We name them as category 1, 2, 3, and 4 respectively.
[0097] (2) These four types of points are further divided into four categories according to the center point of the point set in the first, second, third, and fourth quadrants, and are named as the first, second, third, and fourth categories.
[0098] The target point classification method is shown as follows: Figure 8 As shown: the black part is the obstacle information in the map data reflecting the real environment, the green part is the virtual boundary generated for the closed map in the map data, the blue origin in the center of the schematic diagram represents the origin of the world coordinate system, and the classification of the 1st, 2nd, 3rd, and 4th category target points from this point are respectively located in the four areas separated by the blue lines in the schematic diagram, and the blue origin in these four areas is the quadrant center point of this type of point set, and this point is used again to classify the 1st, 2nd, 3rd, and 4th category target points, and they are selected and determined in the aforementioned order.
[0099] 1.6 Target point selection
[0100] After completing the classification of target points, we need to select target points according to certain rules. The steps are as follows:
[0101] (1) The four types of target points obtained in step 1.3 (1) are selected in the order of 4, 1, 2, and 3.
[0102] (2) If the fourth category point set is empty, continue to search for the first category point set, the second category point set, and the third category point set in the above order; if all point sets are empty, the active SLAM task ends; if the fourth category point set is not empty, then after step 1.3(2), select it in the order of 3, 4, 1, 2 (Note: Let the first non-empty point set obtained in step 1.3(1) in the order of 4, 1, 2, 3 be K, and in step 1.3(2) take (K-1) as the starting point. If the fourth category in 1.3(1) is not empty, then the point set obtained in 1.3(2) is in the order of 3, 4, 1, 2; if the first category is not empty, then 1.3
[0103] (2) The point set is obtained in the order 4, 1, 2, 3); if the second category is not empty, then 1.3 (2) The point set is obtained in the order 1, 2, 3, 4); if the third category is not empty, then 1.3 (2) The point set is obtained in the order 2, 3, 4, 1)
[0104] (3) In each point set, find the actual distance to the corresponding quadrant center point in distance 1.3(1), sort them according to the actual distance, and select the point with the closest distance as the latest target point
[0105] 1.7 Optimization of target points to avoid obstacles
[0106] After obtaining the target point, we need to further judge the rationality and safety of this point.
[0107] (1) With this point as the center, the mobile robot can search for all target points within a radius, find points with no obstacles between them, perform cluster analysis on these points, and obtain a new cluster center point.
[0108] (2) The new cluster center point obtained in step 1.5(1) is judged for safety. If the point is inside an obstacle or on the edge of an obstacle, the point is moved to a point that is far away from the obstacle and far from the current point or is not in a dangerous area. This point is the latest cluster center point.
[0109] (3) Take the point obtained in step 1.7(2) as the latest target point
[0110] This application also includes, 1.8 Navigation
[0111] The mobile robot uses the navigation algorithm to reach the target point obtained in step 1.5
[0112] 1.9 Repeat steps 1.1 to 1.8
[0113] 1.10 Go to the virtual border
[0114] Go to the midpoint of the virtual border marked on the map that has not been reached
[0115] 1.11 Determine whether the virtual boundary should be deleted
[0116] According to the perception information at the current position, if the information of obstacles on the perceived boundary is far less than the information of the passable area in the perception information at the current position, the virtual boundary is retained, otherwise it is deleted.
[0117] 1.12 If there is still a virtual boundary that has not been reached, continue to the next step, otherwise return to the end
[0118] 1.13 Repeat 1.10 to 1.12
[0119] In the present application, the effects and advantages are as follows: (1) the virtual boundary of the map is generated by using the robot perception radius to complete the active SLAM tasks in semi-enclosed environments and fully enclosed environments; (2) the map data preprocessing function is used to complete the denoising and stitching of the map data to avoid the appearance of unreasonable target points; (3) the target points are classified and selected to reduce the repeated exploration rate and the number of explorations, making the active SLAM process more concise and efficient; (4) the target points are evaluated for rationality so that the final target points can perceive multiple areas at one time, reducing the number of explorations in the same area and improving the exploration efficiency; (5) the target points are evaluated for safety so that the final target points are always in a safe area, avoiding the mobile robot from getting into trouble and making the active SLAM process difficult to continue, while ensuring the accuracy of the completion of the active SLAM tasks in semi-enclosed environments / fully enclosed environments.
[0120] The above effects can greatly expand the scope of application of the present method, including but not limited to inspection robots, household cleaning robots, commercial cleaning robots, food delivery robots, etc.
[0121] In a specific embodiment, the pseudo code:
[0122]
[0123] If wait_explore is not 0, wait_explore that records all points to be explored is segmented and the results are saved to explore_line. Otherwise, it returns to the end.
[0124] Find the midpoint of each line segment in explore_line and save it to explore_line_mid
[0125] for i:explore_line_mid
[0126] if (belongs to the first quadrant)
[0127] explore_1
[0128] else if (belongs to the second quadrant)
[0129] explore_2
[0130] else if (belongs to the third quadrant)
[0131] explore_3
[0132] else
[0133] explore_4
[0134] end
[0135] m_explore[explore_4;explore_1;explore_2;explore_3]
[0136] for i:m_explore
[0137] if (m_explore[i] == empty)
[0138] continue
[0139] end
[0140] m_goal = Get target point (m_explore[i], center point corresponding to the current classification, classification of the current point)
[0141] end
[0142] Evaluate the rationality of m_goal and obtain m__temp_goal
[0143] Perform a security assessment on m_temp_goal to obtain m_new_goal
[0144] Navigate to the destination
[0145] Loop execution (2) to (14)
[0146] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0147] Reference Figure 2 , shows a mobile robot mapping device provided by an embodiment of the present application, which specifically includes the following modules:
[0148] Contour point obtaining module 210: used to obtain original map data, and perform contour processing on the original map data to obtain contour points;
[0149] A virtual boundary generating module 220 is used to generate a virtual boundary according to the contour points if there are boundary points among the contour points; wherein the boundary points are contour points with unknown areas around them and are within the original map data;
[0150] The optimization target point generation module 230 is used to generate the optimization target point to be explored by the mobile robot according to the contour points and the virtual boundary.
[0151] In one embodiment of the present invention, the contour point obtaining module 210 includes:
[0152] Feature map submodule: used for performing morphological operations on the original map data to generate a feature map;
[0153] Dangerous area map submodule: used to obtain a dangerous area map according to the characteristic map;
[0154] Preprocessing map submodule: used to obtain a preprocessing map by closing the dangerous area map;
[0155] Contour point submodule: used to perform contour processing according to the preprocessed map to obtain contour points.
[0156] In one embodiment of the present invention, the feature map submodule includes:
[0157] Binarization map submodule: used for binarizing the original map data to generate a binary map;
[0158] An expansion map submodule: used for performing an opening operation according to the binary map to generate an expansion map;
[0159] Feature map submodule: used to generate a feature map by performing a closing operation based on the dilation map.
[0160] In one embodiment of the present invention, the pre-processing map submodule includes:
[0161] Pre-closure submodule: used for pre-closing the boundary through the virtual boundary according to the danger map to obtain the pre-processed map.
[0162] In one embodiment of the present invention, the virtual boundary generation module 220 includes:
[0163] Closed line submodule: used for obtaining isolated endpoints according to the contour points, and connecting the isolated endpoints to obtain a closed line;
[0164] Virtual boundary submodule: used for obtaining the virtual boundary by screening according to the closed line.
[0165] In one embodiment of the present invention, the optimization target point generation module 230 includes:
[0166] Target point submodule: used for generating target points according to the contour points within the virtual boundary;
[0167] Optimizing target point submodule: used to screen obstacles based on the target point to generate optimized target points.
[0168] In one embodiment of the present invention, the target point submodule includes:
[0169] A classification point submodule: used for performing quadrant classification on the contour points within the virtual boundary to obtain classification points;
[0170] Empty set optimization submodule: used to generate the target point by performing empty set optimization based on the classification point.
[0171] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0172] There are repeated operation steps in this specific embodiment and the above specific embodiment, and this specific embodiment is only briefly described. For other solutions, refer to the description of the above specific embodiment.
[0173] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0174] Reference Figure 7 , shows a computer device based on a mobile robot mapping method of the present application, which may specifically include the following:
[0175] The computer device 12 is in the form of a general-purpose computing device, and the components of the computer device 12 may include but are not limited to: one or more processors or processing units 16, a memory 28, and a bus 18 connecting different system components (including the memory 28 and the processing unit 16).
[0176] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, an Audio Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.
[0177] The computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the computer device 12, including volatile and non-volatile media, removable and non-removable media.
[0178] Memory 28 may include computer system readable media in the form of volatile memory, such as random access memory 30 and / or cache memory 32. Computer device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write to non-removable, non-volatile magnetic media (commonly referred to as a "hard drive"). Although Figure 7 Not shown, a disk drive for reading and writing to a removable non-volatile disk (such as a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (such as a CD-ROM, DVD-ROM or other optical medium) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory may include at least one program product having a set (e.g., at least one) of program modules 42, which are configured to perform the functions of the various embodiments of the present application.
[0179] A program / utility 40 having a set (at least one) of program modules 42 may be stored in, for example, a memory, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules 42, and program data, each of which or some combination may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of the embodiments described herein.
[0180] The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, cameras, etc.), one or more devices that enable an operator to interact with the computer device 12, and / or any device that enables the computer device 12 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed through the I / O interface 22. Furthermore, the computer device 12 may also communicate with one or more networks (e.g., local area networks (LANs)), wide area networks (WANs), and / or public networks (e.g., the Internet) through a network adapter 20. Figure 7 As shown, the network adapter 20 communicates with other modules of the computer device 12 via the bus 18. It should be understood that although Figure 7 Not shown, other hardware and / or software modules may be used in conjunction with the computer device 12, including but not limited to: microcode, device drivers, redundant processing units 16, external disk drive arrays, RAID systems, tape drives, and data backup storage systems 34, etc.
[0181] The processing unit 16 executes various functional applications and data processing by running the programs stored in the memory 28, such as implementing a mobile robot-based mapping method provided in an embodiment of the present application.
[0182] That is, when the processing unit 16 executes the program, it realizes: obtaining original map data, and performing contour processing on the original map data to obtain contour points; if there are boundary points in the contour points, generating a virtual boundary based on the contour points; wherein the boundary points are contour points in the original map data that have unknown areas around them; and generating an optimized target point to be explored by the mobile robot based on the contour points and the virtual boundary.
[0183] In an embodiment of the present application, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a mobile robot-based mapping method as provided in all embodiments of the present application.
[0184] That is, when the program is executed by the processor, it is implemented as follows: obtaining original map data, and performing contour processing on the original map data to obtain contour points; if there are boundary points in the contour points, generating virtual boundaries based on the contour points; wherein the boundary points are contour points in the original map data that have unknown areas around them; and generating optimized target points to be explored by the mobile robot based on the contour points and the virtual boundaries.
[0185] Any combination of one or more computer-readable media may be used. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, device, or device.
[0186] Computer-readable signal media may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0187] The computer program code for performing the operation of the present application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the operator's computer, partially on the operator's computer, as an independent software package, partially on the operator's computer, partially on the remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer can be connected to the operator's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, using an Internet service provider to connect through the Internet). The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referred to each other.
[0188] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.
[0189] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device 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 terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.
[0190] The above is a detailed introduction to a mobile robot mapping method, device, equipment and storage medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope, and the content of this specification should not be understood as a limitation on the present application.
Claims
1. A method for building a map for a mobile robot, the method being used for quickly building a map for a mobile robot; the mobile robot senses the surrounding environment through a laser radar and obtains original map data; the method is characterized in that: include: Acquiring original map data, and performing contour processing on the original map data to obtain contour points; If there are boundary points among the contour points, a virtual boundary is generated according to the contour points; wherein the boundary points are contour points with unknown areas around them and within the original map data; An optimized target point to be explored by the mobile robot is generated according to the contour points and the virtual boundary.
2. The mobile robot mapping method according to claim 1, characterized in that: The step of performing contour processing on the original map data to obtain contour points comprises: Performing morphological operations on the original map data to generate a feature map; Obtaining a danger zone map according to the characteristic map; Closing the dangerous area map to obtain a pre-processed map; Contour processing is performed according to the pre-processed map to obtain contour points.
3. The mobile robot mapping method according to claim 2, characterized in that: The step of performing morphological operations on the original map data to generate a feature map comprises: Binarizing the original map data to generate a binary map; Performing an opening operation on the binary map to generate a dilation map; A closing operation is performed according to the dilation map to generate a feature map.
4. The mobile robot mapping method according to claim 2, characterized in that: The step of obtaining a pre-processed map by closing the dangerous area map comprises: The pre-processed map is obtained by pre-closing the boundary through a virtual boundary according to the danger map.
5. The mobile robot mapping method according to claim 1, characterized in that: The step of generating a virtual boundary based on the contour points comprises: Obtaining isolated endpoints according to the contour points, and connecting the isolated endpoints to obtain a closed line; The virtual boundary is obtained by screening according to the closed line.
6. The mobile robot mapping method according to claim 1, characterized in that: The step of generating the optimized target point to be explored by the mobile robot based on the contour point and the virtual boundary comprises: generating a target point within the virtual boundary according to the contour point; Obstacle screening is performed based on the target point to generate an optimized target point.
7. The mobile robot mapping method according to claim 6, characterized in that: The step of generating target points according to the contour points within the virtual boundary includes: Performing quadrant classification on the contour points within the virtual boundary to obtain classification points; The target point is generated by performing empty set optimization according to the classification points.
8. A mobile robot mapping device, the device is used for a method for a mobile robot to quickly build a map; the mobile robot senses the surrounding environment through a laser radar and obtains original map data, characterized in that: include: A contour point obtaining module is used to obtain original map data and perform contour processing on the original map data to obtain contour points; A virtual boundary generation module, configured to generate a virtual boundary according to the contour points if there are boundary points among the contour points; wherein the boundary points are contour points with unknown areas around them and within the original map data; The optimization target point generation module is used to generate the optimization target point to be explored by the mobile robot according to the contour point and the virtual boundary.
9. An electronic device, characterized in that The method comprises a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the steps of the mobile robot mapping method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the mobile robot-based mapping method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Fire source positioning method and system based on SLAM technology and image identification
CN110082781A
Rapid mapping method and device and cleaning robot
CN115191886A
Robot mapping method and device, robot and storage medium
CN117948962A
Map exploration method for exploring unknown region by robot, chip, and robot
US20240152160A1