Automatic Map Exploration System and Method

Through the fully automatic map exploration method, using optical radar and processor algorithms, the robot can independently draw maps of unknown environments, solving the problem of relying on human guidance in the existing technology, and achieving autonomous and accurate map drawing.

CN114563797BActive Publication Date: 2025-07-11ROBOCORE TECH LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210148728.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-17
Publication Date
2025-07-11
Estimated Expiration
2042-02-17

AI Technical Summary

Technical Problem

Existing robots equipped with optical radar need to rely on human guidance to draw maps, because the lack of initial coordinates makes it impossible to explore unknown environments independently.

Method used

The fully automatic map exploration method is adopted, optical radar is used to scan the surrounding areas, define two hierarchical areas with different radii, and draw the map through iterative movement, dealing with special situations such as glass walls and sharp turns, and using processor execution algorithms to ensure the integrity of the map.

Benefits of technology

It realizes that robots can draw accurate maps independently and fully automatically in unknown environments, and can deal with special circumstances and ensure the integrity and details of the map.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114563797B_ABST
    Figure CN114563797B_ABST
Patent Text Reader

Abstract

The present invention discloses a map discovery method and system. The map discovery method includes the following steps: scanning the surrounding area with a lidar having a scanning radius of A; defining the area that can be scanned by the lidar as the first layer; defining a circular area centered on the lidar with a radius of B as the second layer, where B is less than A; and moving the lidar to different positions until the second layer covers the first layer; thereby mapping while moving the lidar.
Need to check novelty before this filing date? Find Prior Art

Description

Field of the Invention

[0001] The present invention belongs to the field of map exploration, and more particularly, to the field of using a robot equipped with a Light Detection and Ranging (LIDAR) to perform map exploration. Background Art

[0002] Robots equipped with LIDAR are very common today. However, all robots rely on humans to guide them through the map while the LIDAR maps the area it has traversed. The fundamental reason for the robot to rely on humans is that it has no reference coordinates before completing the mapping.

[0003] There are some vacuum cleaning robots that use the method of "always turning left" to try to map the indoor area. However, these methods are easily trapped by rooms or pockets of specific shapes.

[0004] The present invention aims to provide a fully automatic map exploration method and an algorithm capable of handling special situations. Summary of the Invention

[0005] On the one hand, the present invention discloses a map exploration method, comprising the following steps: scanning the surrounding area using a LIDAR with a scanning radius of A; defining the area that can be scanned by the LIDAR as the first layer; defining a circular area with a radius of B centered on the LIDAR as the second layer, where B is less than A; and moving the LIDAR to different positions until the second layer covers the first layer; thereby mapping the map while moving the LIDAR.

[0006] In one embodiment, the map exploration method further comprises: randomly selecting a plurality of target positions within the first layer but outside the second layer; calculating the distances between the plurality of target positions and the current position; moving the LIDAR to the target position that is the farthest from the current position; and performing iterations until the second layer covers the first layer.

[0007] In a further embodiment, the map is a 2D map and the walls and obstacles are drawn with solid lines.

[0008] In another embodiment, the map exploration method further comprises: defining an area that can be detected by the LIDAR but cannot be reached by the mobile device behind a glass wall as a trap; driving the mobile device into the trap at least 3 times; storing the stop positions of the mobile device; drawing a solid line through the stop positions on the map; and deleting the trap from the map.

[0009] In a further embodiment, the map exploration method further comprises: triggering a wall detection algorithm when the second layer covers the first layer. The wall detection algorithm comprises: finding the vertices of the wall; and checking whether there exists a path that passes through each vertex exactly once such that the path starts and ends at the same vertex.

[0010] In a further embodiment, the mobile device is a robot, a drone or a vehicle.

[0011] In another aspect, the present invention is a system for map exploration. The system includes: a lidar with a scanning radius of A for scanning the surrounding area; a mobile device for carrying the lidar; and a processor for performing the following steps: defining the area that can be scanned by the lidar as the first layer; defining a circular area centered on the lidar with a radius of B as the second layer, where B is less than A; and driving the mobile device to different positions until the second layer covers the first layer; and mapping while driving the mobile device.

[0012] In an exemplary embodiment, the processor further performs the following steps: randomly selecting a plurality of target positions within the first layer but outside the second layer; calculating the distances between the plurality of target positions and the current position; moving the mobile device to the target position farthest from the current position; and performing iterations until the second layer covers the first layer.

[0013] In a further embodiment, the processor further includes: defining an area that can be detected by the lidar but cannot be reached by the mobile device behind a glass wall as a trap; driving the mobile device into the trap at least 3 times; storing the stop position of the mobile device; drawing a solid line through the stop position on the map; and deleting the trap from the map.

[0014] In another embodiment, the map exploration system further includes a wall detection module. The wall detection module is triggered when the second layer covers the first layer and performs the following steps: finding the vertices of the wall; and checking whether there is a path that passes through each vertex exactly once such that the path starts and ends at the same vertex.

[0015] The present invention has many advantages. For example, map exploration is fully automated and does not require human intervention. In addition, exceptional cases are properly handled to ensure the accuracy of the generated map and full exploration of the map. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings included in the specification illustrate several embodiments of the disclosed methods and systems and are used in conjunction with the specification to explain the principles of the disclosed methods and systems.

[0017] Figure 1 is a block diagram of a map exploration system in an embodiment of the present invention.

[0018] Figure 2 is a flowchart of the algorithm of the present invention.

[0019] Figure 3 is the map drawn by the system when the lidar is in the first position.

[0020] Figure 4 It is the map drawn by the system when the lidar is in the second position.

[0021] Figure 5 Shows the maps drawn by the system when the lidar is in the third and fourth positions.

[0022] Figure 6 It is a schematic diagram of a trap with straight boundaries.

[0023] Figure 7 Is a schematic diagram of a trap with non-straight boundaries.

[0024] Figure 8 Is a diagram for illustrating the fence detection algorithm. Specific embodiments

[0025] The disclosed methods and systems can be more easily understood by reference to the following detailed description of specific embodiments and the examples therein. Refer to Figure 1 , the system includes several key components, namely, a lidar 10, a mobile device 20, and a processor 30. The lidar 10 acts as a SLAM (Simultaneous Localization and Mapping) sensor, which emits infrared rays and detects the flight time of the infrared rays, and then draws all the obstacles within its line of sight. As the mobile device 20 moves around the site, by cross-referencing multiple readings of the same point on the obstacle, the details of the obstacle will be constructed more clearly. The processor 30 is interconnected with the lidar 10 and the mobile device 20. The lidar 10 can rotate 360 degrees and send the detected data to the processor 30 for processing. The processor 30 uses the detected data to draw a digital map and drives the mobile device 20 to different positions based on the surrounding environment.

[0026] The mobile device 20 can be a robot, a drone, a car, or any other machine suitable for map exploration. The system can be equipped with more components to obtain better performance. For example, a 3D camera can be added to optically detect obstacles in front of the mobile device 20, construct the approximate size of the object, and plan a path to bypass them when needed. Time-of-flight sensors can also be added in front of and behind the mobile device 20, aiming at different angles, to provide proximity alerts when obstacles are detected.

[0027] The gist of the present invention is to provide an algorithm for automatically exploring an unknown map without human intervention. In the following embodiments, a robot is used as the mobile device 20 and an indoor map is used to illustrate its working principle. Refer to Figure 2, showing the flowchart of the algorithm. In step 40, the algorithm starts. The robot can be placed at any position in the indoor map as the starting point. Then the robot scans the surrounding area using the lidar 10 in step 50. The lidar 10 can rotate horizontally by 360°. The visible range of the lidar 10 varies from several meters to hundreds of meters depending on the actual needs. In step 60, the starting point of the robot is defined as the coordinate (0, 0), and the area within the visible range of the lidar 10 is assigned coordinates (x, y). The area that the lidar 10 cannot see has no coordinates. In step 70, the area that the lidar 10 can scan is defined as the first layer. In this embodiment, we assume that the scanning radius of the lidar 10 is A. Ideally, when the robot is at the starting point, the first layer is a circle centered on the lidar 10 with a radius of A. When the robot moves, the first layer expands. The second layer is selected as a circular area centered on the lidar 10 with a radius of B, where B is less than A. B is M% of the visible range of the lidar 10. M can be defined by the user according to different requirements. The higher the percentage, the faster the map exploration. However, the faster the exploration speed, the less detail it draws on the map, especially between physical objects. If more details need to be shown on the map, a smaller percentage should be used. The area not scanned by the lidar 10 is defined as the invisible layer. In step 80, the processor 30 draws a digital map based on the information collected by the lidar 10.

[0028] Go to Figure 3 , which is the map drawn by the processor 30 in an exemplary embodiment. The robot is located at the starting point 160, and the walls and obstacles that the lidar 10 can detect are drawn with solid lines. In Figure 3 , the area of the first layer 130 is larger than the area of the second layer 140. Because there are many walls and obstacles, the first layer 130 does not look like a circle. However, the second layer 140 looks like a circle because there are no walls blocking within its range. The area behind the wall cannot be scanned by the lidar 10, so the invisible layer 150 is formed. The lidar 10 continuously scans the environment. If there are moving objects, such as people or animals, the processor 30 will identify that the coordinates of the moving objects have changed and confirm that these objects are not obstacles. These moving objects will be deleted from the map.

[0029] Return to Figure 2, in step 90, the processor 30 checks whether the second layer 140 covers the first layer 130. If so, the whole process is completed and proceeds to step 100 to end the algorithm. In this case, the map should have been fully drawn. However, if the second layer 140 does not cover the first layer 130, it means the map has not been fully explored, and then it proceeds to step 110 to determine the next destination. This can be done by randomly selecting multiple destination positions within the scope that belongs to the first layer 130 but outside the second layer 140. The number of destination positions can be set by the user, such as 10, 20, or 30. The ranking of the destination positions is determined based on the length of the shortest path between the current position and the destination positions. The longer the length, the higher the ranking, and the robot will visit the destination position earlier.

[0030] The purpose of calculating the position ranking is to find a point that is "farthest" from the current position, so that the robot can explore as many new areas as possible. As in step 60, the processor 30 has the coordinates of the current position and the destination positions, namely (0, 0) and (x, y). The shortest path can be calculated by the equation P 2 =(x - 0) 2 +(y - 0) 2 where P is the path length. Once the destination position with the highest ranking is determined, the processor 30 will drive the robot to that position and rewrite the first layer 130 with the second layer 140 on the way. The first layer 130 will be extended according to the new readings of the lidar 10, and the second layer 140 will be extended along the movement path of the robot. Refer to Figure 4 , when the robot moves to position 170, the map is updated.

[0031] When the second layer 140 almost covers a local area of the first layer 130, the extension in the direction bounded by the wall stops. When there is no more of the first layer 130 to explore, the iteration is completed. As Figure 5 shown, after multiple iterations, the map is continuously updated. The algorithm must handle some exceptional cases. The lidar 10 can detect the area behind the glass wall and create the first layer 130 that the robot cannot physically reach. These areas are defined as traps. As Figure 2 in step 120, the processor 30 will detect the traps when going to the next position. Go to Figure 6 and Figure 7 , if the robot cannot enter a specific area (trap 180), the robot will store the coordinates where it stops (the crosses in the figure). The robot will try to enter the trap 180 at least 3 times, and it stops at different positions each time. The processor 30 will draw a line through all the crosses to form a glass wall, usually a straight line, as Figure 6 shown. If the crosses are not in a straight line, a best-fit line will be drawn, as Figure 7As shown. Once the glass wall is positioned and drawn, the trap 180 that overlays the first and second layers will be removed from the map. This is because the area outside the glass wall should be an external area that does not form part of the indoor floor (such as a street). Returning to Figure 1 , while detecting the trap in step 120, the algorithm will return to step 80 to draw the map and continue to iterate until the second layer covers the first layer. Figure 2

[0032] Another exception to handle is the sharp turn problem. There may be problems if there are sharp turns in the map, for example, the doors leading to the corridors usually have turns of 90 degrees or more. Referring to Figure 8 , when the robot moves to position 190, its line of sight is blocked by the corner 210. At this time, the second layer and the first layer completely overlap, and the robot will stop further exploration. However, in fact, there are more areas to explore, as shown by the dashed line 200 in Figure 8 . The line 220 is not a real wall.

[0033] To handle this sharp turn problem, we deploy a wall detection algorithm. This wall detection algorithm is triggered when the second layer covers the first layer, that is, it runs before the end of the map exploration process. The wall detection algorithm is to ensure that the entire area is contagious and at least surrounded by one layer of walls. To define a wall, we first find all the vertices among all the walls (black lines). The robot should have recorded all the walls during the exploration process and marked some special cases, such as the line 220 in Figure 8 that is not recognized as a wall. A vertex is defined as the intersection of two walls. For a curved wall, we define multiple vertices by dividing the curve into smaller blocks, for example, every 20 cm or 30 cm. When there is a path that traverses each vertex exactly once and the path starts and ends at the same vertex, this path is called an Euler circuit. If there is an Euler circuit, then there is a wall, and the entire map exploration process will terminate. If there is no wall, it means there are more unknown areas to explore, and the algorithm will select the coordinates near the opening, and the robot will be driven to that position for further map exploration. For example, in Figure 8 , the opening is located near the line 220.

[0034] Although the present invention is explained using certain specific embodiments, it should be understood that after reading this specification, various modifications of the embodiments are obvious to those skilled in the art. Therefore, it should be understood that the present invention covers various modifications that fall within the scope of the appended claims.​

Claims

1. A method for map exploration, comprising: Using a lidar with a scanning radius of A to scan the surrounding area; Defining the area that can be scanned by the lidar as the first layer; Defining a circular area centered on the lidar with a radius of B as the second layer, where B is less than A; And Moving the lidar to different positions until the second layer covers the first layer; Thereby mapping while moving the lidar; Randomly selecting a plurality of target positions within the first layer but outside the second layer; Calculating the distances between the plurality of target positions and the current position; Moving the lidar to the target position farthest from the current position; And Performing iterations until the second layer covers the first layer; Defining the area that can be detected by the lidar but cannot be reached by the mobile device behind the glass wall as a trap; Driving the mobile device into the trap at least 3 times; Storing the stop position of the mobile device; Drawing a solid line through the stop position on the map; And Deleting the trap from the map; Triggering a wall detection algorithm when the second layer covers the first layer; The wall detection algorithm includes: Finding the vertices of the wall; And Checking whether there exists a path that passes through each of the vertices exactly once such that the path starts and ends at the same vertex.

2. The map exploration method according to claim 1, wherein the map is a 2D map, and the walls and obstacles are drawn with solid lines.

3. The map exploration method according to claim 1, wherein the mobile device is a robot, a drone or a car.

4. A map exploration system, comprising: A lidar with a scanning radius of A to scan the surrounding area; A mobile device for carrying the lidar; A processor for performing the following steps: Defining the area that can be scanned by the lidar as the first layer; Defining a circular area centered on the lidar with a radius of B as the second layer, where B is less than A; And Driving the mobile device to different positions until the second layer covers the first layer; Mapping while driving the mobile device; Randomly selecting a plurality of target positions within the first layer but outside the second layer; Calculating the distances between the plurality of target positions and the current position; Moving the mobile device to the target position farthest from the current position; And Performing iterations until the second layer covers the first layer; Defining the area that can be detected by the lidar but cannot be reached by the mobile device behind the glass wall as a trap; Driving the mobile device into the trap at least 3 times; Storing the stop position of the mobile device; Drawing a solid line through the stop position on the map; And Deleting the trap from the map; A wall detection module, which is triggered when the second layer covers the first layer, and the wall detection module includes: Finding the vertices of the wall; and Checking whether there exists a path that passes through each of the vertices exactly once such that the path starts and ends at the same vertex.

Citation Information

Patent Citations

  • Robot Cleaner And Method Of Operating The Same

    CN104055462A

  • Systems and methods for path determination

    CN110785627A

  • Object searching method and device and storage medium

    CN112578787A

  • Equipment repositioning method and device, computer equipment and storage medium

    CN113191412A