Robot map exploration method based on reachable boundary points and chip
By fitting and expanding preset boundary lines to segment the target contour, the cleaning robot searches for boundary points only within the contour to be tracked, solving the problem of low efficiency in the rapid construction of unknown area maps by cleaning robots in existing technologies, and realizing rapid mapping and efficient navigation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AMICRO SEMICONDUCTOR CO LTD
- Filing Date
- 2024-07-15
- Publication Date
- 2026-05-05
AI Technical Summary
Existing technologies are inefficient when cleaning robots rapidly build maps of unknown areas, and they do not take into account the impact of local map contour lines on mapping.
By fitting a preset boundary line and expanding the preset boundary line to determine the intersection with the target contour line, the contour line to be tracked is segmented from the target contour line. The leading edge boundary points are searched only in the area involved by the contour line to be tracked, and after performing a drivability check, they are assigned to robot navigation and mapping.
The mapping process for cleaning robots in unknown areas has been optimized, improving the efficiency of map exploration, reducing the amount of searching and computation, and avoiding the problems of adjacent navigation points being too close or too similar during the mapping process.
Smart Images

Figure CN121383985B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of robot exploration maps, and specifically to a robot map exploration method and chip based on reachable boundary points. Background Technology
[0002] Robots actively explore unknown environments and build environmental maps, which is of great significance for mobile robots to achieve autonomous navigation. Many technologies related to mobile robots revolve around maps.
[0003] Before cleaning robots can perform cleaning tasks, they need to quickly build a complete environmental map of the house. Typically, cleaning robots expand the environmental map by identifying unknown areas, navigating to those areas, and using LiDAR to scan them. However, the mapping of cleaning robots is done gradually while they are moving. This mapping method is not suitable for scenarios where cleaning robots need to quickly acquire maps of unknown areas, which affects the navigation efficiency of cleaning robots.
[0004] The Chinese invention patent with patent application number CN202110264567.X uses a boundary detector based on a fast exploration random tree algorithm to obtain boundary points that meet preset passage conditions. It also considers the navigation cost and corresponding benefit information of the boundary points, and takes into account the passability conditions of the boundary points. It selects the boundary point with the highest profit from the boundary point list and sets it as the target point. Then, it controls the robot to move from the current position to the target point to guide the robot to build a map in an unknown area. Therefore, the method of building a map in an unknown area using boundary points in this Chinese invention patent mainly considers factors such as the exploration repeatability of boundary points, the information gain of boundary points, and navigation costs. Then, it uses a complex benefit calculation function to select the best boundary point in the current field of view as the target point. However, the overall time consumption is relatively long, which affects the exploration efficiency. It also does not consider the impact of the contour lines in the local map on the mapping of the cleaning robot. Summary of the Invention
[0005] This application discloses a robot map exploration method based on reachable boundary points, and the specific technical solution is as follows:
[0006] A robot map exploration method based on reachable boundary points includes the following steps: The robot acquires laser point clouds through laser sensor scanning, and then uses these laser point clouds to construct a map to be optimized. The method further includes: Step A, where the robot fits a preset boundary line using boundary points within its current detection area, and selects the contour line used to delineate all connected detectable areas within the map to be optimized as the target contour line, then proceeds to Step B; Step B, where the robot controls the expansion of both ends of the preset boundary line to obtain a preset boundary expansion segment; where the expansion length at both ends of the preset boundary line is less than or equal to the preset sensing radius. If both ends of the preset boundary extension line segment intersect the target contour line, then step C is executed; Step C: Based on the preset boundary extension line segment, the robot segments the contour line to be tracked from the target contour line along the direction connected to the unknown area, and then the robot searches for leading edge boundary points in the area enclosed by the contour line to be tracked and the preset boundary extension line segment; then step D is executed; Step D: According to the traversability of the leading edge boundary points searched in step C, reachable boundary points are selected and stored in an orderly manner, so that the direction of the extension of the line connecting each reachable boundary point visited by the robot in succession simulates the direction of the robot walking along the target contour line.
[0007] This application also discloses a chip for storing program code for executing the robot map exploration method.
[0008] Compared with existing technologies, this application first uses the detected boundary points to fit a preset boundary line, and then determines the intersection of the extended preset boundary line with the target contour line by expanding the preset boundary line, so as to segment the contour line to be tracked from the target contour line. Then, it searches for leading boundary points only within the area involved by the contour line to be tracked. After passing the drivability test, these points are sequentially assigned to the robot for navigation and mapping. This is suitable for scenarios where robots need to quickly explore maps of unknown areas, optimizing the mapping process and achieving rapid mapping. Since the target contour line to be tracked is segmented using the result of the extended preset boundary line, the robot can filter reachable boundary points only within the area corresponding to the contour line to be tracked. This not only reduces the search and computation workload, but also enables the robot to navigate and map in unknown areas according to a certain distance span. This overcomes the problem that the distance between two adjacent navigation points becomes shorter and the mapping similarity is high during the robot's mapping / exploration process, thus improving the efficiency of the robot's map exploration. Attached Figure Description
[0009] Figure 1 This is a schematic diagram illustrating how a robot, using existing technology, gradually approaches and moves along a corridor, employing laser sensors to scan its surroundings and construct a map. (The diagram shows...)
[0010] Figure 1 (a) indicates that the robot detects two leading edge boundary points at position R11 (the white circles traversed by line segment R11A1 and line segment R11B1, respectively). The rectangular room areas and part of the corridor connected to the left of the robot's detection angle A1R11B1 are known areas, while the rectangular room areas and part of the corridor connected to the right of the robot's detection angle A1R11B1 are unknown areas.
[0011] Figure 1 (b) indicates that the robot detected two leading boundary points at position R12 (the white circles traversed by line segments R12A2 and R12B2, respectively). The rectangular room areas and parts of the corridor connected to the left of the robot's detection angle A2R12B2 are known areas, while the rectangular room areas and parts of the corridor connected to the right of the robot's detection angle A2R12B2 are unknown areas. Specifically, position R12 is vertically closer to the wall containing line segment B2P compared to position R11. The wall containing line segment B2P and... Figure 1 (a) The wall containing line segment B1P is the same side wall of the corridor.
[0012] Figure 1 (c) indicates that the robot detected two leading boundary points at position R13 (the white circles traversed by line segments R13A3 and R13B3, respectively). The rectangular room areas and parts of the corridor connected to the left of the robot's detection angle A3R13B3 are known areas, while the rectangular room areas and parts of the corridor connected to the right of the robot's detection angle A2R12B2 are unknown areas. Specifically, position R13 is vertically closer to the wall containing line segment B3P compared to position R12. The wall containing line segment B3P and... Figure 1 (b) The wall containing line segment B2P is the same side wall of the corridor.
[0013] Figure 2 This is a schematic diagram illustrating how a robot, while navigating a corridor, repairs a previously detected unknown area into a known area, according to another embodiment of this application. Wherein:
[0014] Figure 2(a) indicates that the robot detects the leading edge boundary points F11 and F12 at position R21. The rectangular room areas (separated by the corresponding skeletons) and part of the corridor connected to the left of the robot's detection angle A11R21B11 (which can also be referred to as the outer side of the detection angle A11R21B11) are known areas. The rectangular room areas and part of the corridor connected to the right of the robot's detection angle A11R21B11 (which can also be referred to as the inner side of the detection angle A11R21B11) are unknown areas. At this time, the robot has not yet started to perform map repair operation on the triangular region A11R21B11.
[0015] Figure 2 (b) indicates that the robot detected the leading edge boundary point F13 at position R21, and the robot has begun to perform map patching operations on the triangular region A11R21B11. At this time, the robot marks the currently detected region R21A11B11 as the known region R21A11B11, and the rectangular room areas and parts of the corridor connected to the right of line segment A11B11 are all unknown regions relative to the known region R21A11B11. Figure 2 The unknown region in (a) is reduced.
[0016] Figure 3 This application discloses a schematic diagram illustrating a robot performing map patching operations and exploring a larger, unknown area while navigating a corridor, according to another embodiment of the present application. Wherein:
[0017] Figure 3 (a) indicates that the robot detects the reachable boundary point F13 at position R21 and marks the current detection area R21A11B11 as a known area after performing a map patching operation. At this time, the rectangular room areas and part of the corridor connected to the left of line segment A11B11 are all known areas, and the rectangular room areas and part of the corridor connected to the right of line segment A11B11 are all unknown areas.
[0018] Figure 3 (b) indicates that the robot has moved to position R22 (corresponding to...). Figure 3 (a) At the location of reachable boundary point F13, reachable boundary point F14 was detected, and after performing a map patching operation, the current detection area R22A12B12 was marked as a known area. At this time, the rectangular room areas and parts of the corridor connected to the left of line segment A12B12 are all known areas, and the rectangular room areas and parts of the corridor connected to the right of line segment A12B12 are all unknown areas relative to... Figure 3 The unknown region in (a) is reduced.
[0019] Figure 3 (c) indicates that the robot has moved to position R23 (corresponding to...). Figure 3 (b) At the location of reachable boundary point F14, reachable boundary points F15, F16, F17 and F18 are detected in a clockwise direction. The rectangular room areas connected to the left of the detection angle CR23P and the entire corridor area currently detected by the lidar are marked as known areas. Among them, line segment CU passes through reachable boundary point F15 and becomes the boundary line between the known area R23IHU and the unknown area EGCCD. Line segment IT passes through reachable boundary point F16 and becomes the boundary line between the known area R23QOST and the unknown area ITH. Line segment PQ passes through reachable boundary point F18 and becomes the boundary line between the known area R23QOST and the unknown area MPQ. The boundary line formed by the sequential connection of line segments QO and OS becomes the boundary line between the known area R23QOST and the various unknown areas connected below it.
[0020] Figure 4 This is a schematic diagram illustrating how a robot stores multiple detected reachable boundary points according to a tree structure, as disclosed in another embodiment of this application. The reachable boundary points F15, F16, F17, and F18 are all nodes at the same depth. Figure 3 In (c), the clockwise access order is F15, F16, F17 and F18. The starting point for accessing the unknown region below the known region R23QOST is the reachable boundary point F17. The starting point for the robot to detect new reachable boundary points in the unknown region below the known region R23QOST is the reachable boundary point F17.
[0021] Figure 5 This is a flowchart of a robot map exploration method based on reachable boundary points, as disclosed in one embodiment of this application.
[0022] Figure 6 This is a flowchart of a method for expanding the two ends of a preset boundary line according to an embodiment of this application. Detailed Implementation
[0023] The specific embodiments of this application will be further described below with reference to the accompanying drawings. This application includes accompanying drawings. These drawings are part of the disclosure of this application and are mainly used to illustrate the embodiments, and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these drawings, those skilled in the art should be able to understand other possible embodiments and the advantages of the present invention. The flowchart depicts the process or method. Although the flowchart describes each step as a sequential process, many of the steps can be implemented in parallel, concurrently, or simultaneously. Furthermore, the order of the steps can be rearranged. The process can be terminated when its operation is completed, but may also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subroutine, etc. It should be noted that when using a search algorithm to solve a problem, it is necessary to construct a data structure that represents the state characteristics and the relationships between different states; this data structure is called a node. Different problems require different data structures for description. Based on the conditions given by the search problem, starting from one node, one or more new nodes can be generated; this process is usually called expansion.
[0024] It's important to note that when a robot moves through an unknown room environment to perform navigation tasks, it must first search the environment for suitable navigation target points before moving. This allows it to execute planned cleaning and navigation along a planned path. Generally, an indoor environment is divided into multiple rooms by walls, and furniture and appliances are placed on the floor as obstacles. For clarity, these obstacles are represented by closed boxes, while a room area is defined as the region where the robot is blocked by obstacles in three of the four directions. It's easy to understand that any object that can obstruct the robot's movement, such as walls, furniture, or appliances, can be considered an obstacle. Outline points on the walls of a room area or corridor can be considered boundary points, as can points on the boundary lines between different room areas and between a room area and a corridor.
[0025] The indoor environment where the robot is located is divided into multiple rooms by walls and long corridors connecting the various rooms, such as... Figures 1 to 3 The house layout is shown in the diagram.
[0026] The mapping process of the robot as it walks through the long corridor is as follows: Figure 1 As shown. Figure 1In (a), the robot detects the leading edge boundary points at position R11 (the white circles traversed by line segment R11A1 and line segment R11B1, respectively). The rectangular room areas and corridor areas connected to the left of the detection angle A1R11B1 of the robot's laser sensor are all areas that the robot has traversed. The area to the right of the detection angle A1R11B1 of the laser sensor in the corridor area is the unknown area that the robot needs to explore.
[0027] Then the robot walked to Figure 1 (b) At position R12, two leading edge boundary points are detected (the white circles traversed by line segment R12A2 and line segment R12B2, respectively). The laser sensor in the robot detects the unknown area to the right of angle A2R12B2 in the corridor area, which is the area the robot needs to explore at position R12. Position R12 is vertically closer to the wall containing line segment B2P than position R11 (the wall containing line segment B2P and...). Figure 1 (a) The wall where line segment B1P is located is the same side wall of the corridor. The detection angle of the laser sensor in the robot in the corridor area did not change much. That is, during the process of the robot walking to the left from position R11 to position R12 in the corridor area, the detection range of the robot did not change much. The horizontal distance between position R11 and position R12 is less than or equal to the horizontal distance from the leading edge boundary point detected by the robot at position R11 to position R11.
[0028] Then the robot walked to Figure 1 At position R13 (c), two leading edge boundary points are detected (the white circles traversed by line segment R13A3 and line segment R13B3, respectively). The area to be detected by the robot's laser sensor to the right of the detection angle A2R12B2 in the corridor area has not changed significantly compared to the unknown area to be explored by the robot at position R12. The horizontal distance between positions R13 and R12 is less than or equal to the horizontal distance from the nearest leading edge boundary point detected by the robot at position R12 to position R12. Position R13 is vertically closer to the wall containing line segment B3P compared to position R12. The wall containing line segment B3P and... Figure 1 (b) The wall containing line segment B2P is the same side wall of the corridor.
[0029] In conclusion, Figure 1 The robot, represented by a black circle, performs edge detection on the constructed laser map. The obtained leading edge boundary points appear on the left and right sides of the fan-shaped area formed by the detection angle of the laser sensor in the corridor area. The leading edge boundary points are the boundary points in the dividing line between the unknown area and the known area. Figure 1The white circle represents the current technology; in order to gradually build a complete laser map, the robot will move closer and closer to the wall of the long corridor as it walks. The positional relationship between the robot, its detection range, and the detected leading edge boundary points changes. Figure 1 The middle is represented from left to right as Figure 1 Compare (a), (b), and (c) in the text. Figure 1 From (a), (b), and (c), we can see that the distance between the black circle and the wall of the long corridor it is close to decreases, and the distance between the white circle detected by the black circle in the direction of the wall it is close to also decreases. Therefore, the robot successively... Figure 1 In environments (a), (b), and (c), the robot gets closer and closer to the wall on one side of the long corridor. The distance between the detected leading edge boundary point and the robot becomes shorter and shorter. That is, as the rapid mapping process progresses, the robot gets closer and closer to the edge, and the distance between the mapping navigation points becomes shorter and shorter. As a result, the cleaning robot builds fewer new maps while walking in the corridor area, and the mapping process becomes slower.
[0030] To address the aforementioned technical deficiencies, this application discloses a robot map exploration method based on reachable boundary points. The robot map exploration method includes:
[0031] The robot acquires laser point clouds by scanning with a laser sensor, and then uses the laser point clouds to construct a map to be optimized. Specifically, before performing cleaning work, the robot needs to quickly construct a complete environmental map of the house, which is the map to be optimized in this application. This is because this application identifies the leading edge points in the unknown area at the pre-set leading edge point and navigates to the leading edge point in the unknown area, and uses the laser sensor to scan and continuously expand the environmental map.
[0032] The laser sensor is preferably a lidar, with a scanning distance of 0.1 meters to 3.5 meters and a scanning range of 360 degrees. However, due to wall obstructions in the corridor area, the scanning range in front of the machine is less than 360 degrees. A two-dimensional grid map is constructed using laser point clouds as the map to be optimized. The environment is divided into three types: known areas and unknown areas. Preferably, the grid value of a known and passable area is 0, the grid value of a known and obstacle-prone area is 100, and the grid value of an unknown area is -1. Initially, the entire map is an empty map area or an unknown map area. After exploration by the laser sensor, the corresponding grid values of the map change, and the map is updated.
[0033] like Figure 5 As shown, the robot map exploration method includes:
[0034] Step A: The robot uses the boundary points within its current detection area to fit a preset boundary line, and selects the contour line within the map to be optimized to delineate all connected detectable areas as the target contour line, forming the maximum detectable contour within the map to be optimized. The target contour line can delineate both known and unknown areas. The robot can fit preset boundary lines in different directions using the boundary points within its current detection area, resulting in multiple preset boundary lines extended in Step B. Consequently, multiple preset extended boundary lines are also used to determine the intersection with the target contour line.
[0035] The current detection area exists within all connected detectable areas; in some embodiments, the outer contour of the indoor environment where the robot is located can be set as the robot's exploration boundary to prevent the robot from exploring outdoor areas and ensure accurate acquisition and improvement of the map to be optimized. Then, step B is executed.
[0036] The robot's current detection area can be considered as the local detection area of the laser sensor in its current environment. (See illustration for further details.) Figure 2 As shown in (a), the area enclosed by the detection angles A11R21B11 represents the robot's current detection area at position R21. This area includes unknown and / or known regions. Boundary points within the current detection area include points along the boundary line of the current detection area (limited by the scanning distance and range of the laser sensor) and obstacle contour points within the current detection area. Furthermore, boundary points can be understood as points originating from contour lines within the same working area or points along the boundary lines between different working areas, which constitute interconnected regions.
[0037] In step A, the robot's current position is at a pre-searched leading edge boundary point; the pre-searched leading edge boundary point is determined before executing step A. The leading edge boundary point disclosed in this application is equivalent to the preset boundary point disclosed in Chinese invention patent application number CN202210787428.X. Correspondingly, the map to be optimized disclosed in this application is equivalent to the map disclosed in Chinese invention patent application number CN202210787428.X. Preferably, the robot uses points in the preset boundary line to set the leading edge boundary point.
[0038] Step B: Control both ends of the preset boundary line to expand, obtaining preset boundary expansion segments; if the expansion length at both ends of the preset boundary line is less than or equal to the preset sensing radius, determine whether both ends of the preset boundary expansion segment intersect with the target contour line. Here, we can determine the situation where both ends of multiple preset boundary expansion segments intersect with the target contour line. If both ends of the preset boundary expansion segment intersect with the target contour line, then execute step C. At this time, the preset boundary expansion segment can be set as the target boundary line, which is equivalent to selecting the target boundary line from multiple preset boundary expansion segments; otherwise, it is determined that the robot has failed to track the leading edge boundary point, and the search for the leading edge boundary point is not performed to prevent the robot from searching in remote areas or connected areas outside the indoor environment (deviating from the area to be mapped).
[0039] In step B, the two endpoints of a preset boundary line are extended outward to form the preset boundary extension segment. After multiple extensions, if the extension length at both ends of the preset boundary line is less than or equal to the preset sensing radius, the preset boundary extension segment does not exceed the maximum detection distance. When both ends of the preset boundary extension segment intersect the target contour line, the preset boundary extension segment becomes the target boundary line. The target boundary line is not parallel to the contour lines distributed on both sides of the target contour line at the robot's current position, or the preset boundary line is not considered as an infinite extension along the contour lines distributed on both sides. The preset sensing radius can be determined according to the passage width of the actual environment in which the robot is located. The extension form of the preset boundary line includes, but is not limited to, extending in the same direction from the same endpoint according to a preset step size.
[0040] In scenarios where both ends of the preset boundary extension line segment intersect the target contour line, such as... Figure 3 (a) line segment A11B11 or Figure 3 (b) Line segments A12 and B12 are shown and are denoted as target boundary lines. The target boundary line A11 and B11 shown are considered to be perpendicular to the wall outline PB11 on the lower side of the corridor area, and the target boundary line A12 and B12 shown are considered to be perpendicular to the wall outline PB12 on the lower side of the corridor area, thus dividing the unknown area on the left and the known area on the right. The target boundary lines are not parallel to the wall outlines on both sides to prevent the leading edge boundary points in the target boundary lines from getting close to the walls on both sides of the corridor area (the walls on both sides that are parallel to the robot's walking direction).
[0041] Step C: Based on the preset boundary extension segment, the robot segments out the contour line to be tracked from the target contour line along the direction connected to the unknown area. Since the preset boundary extension segment divides the unknown area and the known area, and the known area is the area that the robot has already scanned, it is necessary to segment out the contour line to be tracked from the target contour line along the direction connected to the unknown area using the preset boundary extension segment (equivalent to the target boundary line), so that the area where the contour line to be tracked is located includes the unknown area that the robot needs to detect. Then, the robot searches for leading edge boundary points in the area enclosed by the contour line to be tracked and the preset boundary extension segment (equivalent to the target boundary line), realizing the search for each pre-set leading edge boundary point along the extension direction of the contour line to be tracked, that is, tracking the corresponding leading edge boundary point in the unknown area along the contour line to be tracked; then, step D is executed.
[0042] It should be noted that the area where the contour line to be tracked is located will include the leading edge boundary points in the preset boundary extension line segment and the map area subsequently extended therefrom, including the unknown areas that need to be explored later. Specifically, the unknown area refers to the area that the robot has not yet explored and the map has not yet been built, while the known area refers to the area that the robot has already explored and the map has been built. The preset boundary line refers to the line segment where the known area intersects with the adjacent unknown area. In this application, the leading edge boundary points are understood as nodes on the map, path nodes, or tree nodes of random tree growth. In the specific exploration steps, they are given the meaning of nodes in the corresponding scene and can all be represented by grids with corresponding attributes.
[0043] If the robot segments the contour line to be tracked only after traversing the corridor area and reaching position point R23, then... Figure 3 (c) As shown, the outlines and boundaries of all detectable areas within the room and corridor area to the right of the preset boundary extension line segment (equivalent to the target boundary line) A12B12 are connected sequentially. Specifically, they are the lower outline of wall A12C, boundary line CU, the left outline of wall UH, the upper outline of wall HI, boundary line IT, the left outline of wall TS, boundary line SO, the upper outline of wall OQ, boundary line QP, and the upper outline of wall PB12, connected sequentially. Simultaneously, the traversed outlines are the preset boundary extension... The outlines of the four interconnected room areas above and below the left side of the extended line segment (equivalent to the target boundary line) A12B12 and the corridor area to the left of the preset boundary extension line segment A12B12 are connected sequentially. Among them, the four interconnected room areas above and below the left side of the preset boundary extension line segment (equivalent to the target boundary line) A12B12 and the corridor area to the left of the preset boundary extension line segment (equivalent to the target boundary line) A12B12 are all detectable areas for the robot to walk on the left side of the preset boundary extension line segment (equivalent to the target boundary line) A12B12.
[0044] Within the area enclosed by the contour line to be tracked and the preset boundary extension line segment (equivalent to the target boundary line), the various leading edge boundary points searched out are as follows: Figure 3 As shown in (c), the search proceeds counterclockwise to find the leading edge boundary point R23 (corresponding to) in the boundary line A12B12. Figure 3 (b) The location point R14), the leading edge boundary point F18 in the boundary line PQ, the leading edge boundary point F17 in the boundary line OS, the leading edge boundary point F16 in the boundary line TI, and the leading edge boundary point F15 in the boundary line CU. The boundary lines where these leading edge boundary points are located can all be regarded as the boundary lines between the robot's known and unknown areas, or the target boundary lines, or the preset boundary extension line segments.
[0045] It should be noted that the order of acquisition between the preset boundary extension line segment and the leading edge boundary point is not restricted, and the two are not dependent on each other; it can also be understood that the preset boundary extension line segment is used to segment the contour line to be tracked from the target contour line, and then it is decided whether to search for the leading edge boundary point. If there is no leading edge boundary point in the segmented contour line to be tracked or in its area, the search is stopped.
[0046] In step C, if there are no leading edge boundary points in the area enclosed by the contour line to be tracked and the preset boundary extension line segment, the search for leading edge boundary points is stopped. Specifically, the robot scans all areas that need to be mapped using a laser sensor to obtain a global map, and after executing steps A to C, all leading edge boundary points in the global map are searched, and the search for leading edge boundary points is stopped.
[0047] By performing step C, the leading edge boundary points are searched within the area enclosed by the contour line to be tracked and the preset boundary extension line segment. Each leading edge boundary point searched in step C is a subset of all leading edge boundary points found within the scope of the map to be optimized. Compared to directly searching for leading edge boundary points leading to unknown areas on the target tracking contour line, the search speed is faster and the mapping efficiency is improved.
[0048] Step D: Based on the traversability of the leading edge boundary points searched in Step C, select reachable boundary points and save them in an orderly manner. This ensures that the direction of the line connecting the various reachable boundary points visited by the robot in succession simulates the direction in which the robot walks along the target contour line. For example, if the reachable boundary points are sorted in a preset clockwise direction, the reachable boundary point with the first position in the preset clockwise direction will be visited first. The robot can then track the leading edge boundary points / reachable boundary points one by one along the contour line to be tracked, forming the distance span between two leading edge boundary points visited in succession, instead of constantly moving closer to the wall in the area where the robot is located. Compared with the existing technology of traversing boundary points one unit distance at a time, this method at least speeds up the setting of target points in Chinese patent CN202110264567.X, improving the robot's mapping and navigation speed.
[0049] In step D, the drivability of the leading edge boundary points searched in step C includes the robot walking to the leading edge boundary point and the robot walking along the boundary line where the leading edge boundary point is located. It at least reflects the effect that the boundary line where the leading edge boundary point is located or the neighborhood of the leading edge boundary point can accommodate the robot's complete body walking or walking on a trajectory parallel to the corresponding boundary line. In some embodiments, it is manifested as the drivability of the robot walking along the outline of the obstacle. Based on this, reachable boundary points are selected, and the number of reachable boundary points can be one or more.
[0050] If necessary, for the selected drivability frontier boundary points, a repeatability check needs to be performed to remove duplicate reachable boundary points. After removing duplicate reachable boundary points, they are then assigned to the robot to explore unknown areas, search for new reachable boundary points, and build a map for the unknown areas. This reduces redundant and repeated frontier boundary points generated during the robot's exploration process, forms the distance span between two reachable boundary points visited successively, and improves the efficiency of tracking the reachable boundary points in the map.
[0051] Compared with existing technologies, this application first uses the detected boundary points to fit a preset boundary line, and then determines the intersection of the preset boundary line with the target contour line by expanding the preset boundary line, so as to segment the contour line to be tracked from the target contour line. Then, it searches for leading boundary points only within the area involved by the contour line to be tracked. After passing the drivability test, the points are sequentially assigned to the robot for navigation and mapping. This is suitable for scenarios where the robot needs to quickly explore the map of unknown areas, optimizes the mapping process, and achieves the effect of rapid mapping.
[0052] By using the result of expanding the preset boundary line to segment the target contour line to obtain the contour line to be tracked, the robot can filter the reachable boundary points only within the area corresponding to the contour line to be tracked. This not only reduces the amount of search and computation, but also enables the robot to navigate and map in unknown areas according to a certain distance span. This overcomes the problem that the distance between two adjacent navigation points becomes shorter and the similarity of the maps becomes higher during the robot's mapping / exploration process, thus improving the efficiency of the robot's map exploration.
[0053] Based on the aforementioned embodiments, in step C, when the preset boundary extension line segment intersects with the target contour line, the target contour line is divided into traversed contour lines and traceable contour lines by the preset boundary extension line segment. That is, the target boundary line divides the target contour line into traversed contour lines and traceable contour lines. Then, the area on one side of the traversed contour line is marked as a known area. Specifically, the partially detected connected areas within the area on one side of the traversed contour line are marked as known areas. The area on one side of the traversed contour line is the area located on one side of the preset boundary extension line segment within all the aforementioned connected detectable areas, including areas that do not need to be tracked at present. At the same time, the area on one side of the traceable contour line is marked as an unknown area. Specifically, the partially undetected connected areas within the area on one side of the traceable contour line are marked as unknown areas. The area on one side of the traceable contour line is the area located on the other side of the preset boundary extension line segment within all the aforementioned connected detectable areas, including areas that need to be tracked during current and subsequent expansions. It should be noted that the area enclosed by the contour line to be tracked and the preset boundary extension segment is the area on one side of the contour line to be tracked. Therefore, the preset boundary extension segment is the boundary between the known and unknown areas obtained by the laser sensor scanning in the current field of view, or the preset boundary extension segment is the boundary between the area that does not need to be tracked and the area that needs to be tracked.
[0054] The area on one side of the traversed contour line and the area on one side of the contour line to be tracked constitute a preset working area. The preset working area is the working environment where the robot is currently located. The preset working area includes all the aforementioned connected detectable areas, as well as the current detection area.
[0055] The preset working area consists of a corridor area and multiple unit working areas, wherein each unit working area is connected to the corridor area; the target contour line is configured as the maximum contour line that can be detected by the laser sensor when the robot walks in the corridor area, and is distributed to some or all of the unit working areas; the composition of the target contour line can be understood as: when the robot walks in all passable positions in the corridor area, the contour lines that can be detected by the laser sensor are connected in sequence.
[0056] It is understood that the areas to which the target contour lines are distributed form the interconnected detectable areas; preferably, the longest contour length of the corridor area is greater than the longest contour length of each unit working area.
[0057] As one embodiment, before executing step A, if the robot has not moved from its current position to a reachable boundary point (which can also be understood as the leading edge boundary point in the preset boundary line), then before performing the current map repair operation, the robot marks its current detection area as having an unknown region. This is equivalent to the robot marking its current detection area within the region on the side of the previously segmented traversed contour line as an unknown region, and simultaneously marking the connected regions within the region on the side of the previously segmented tracking contour line as unknown regions. At this time, the region on the side of the traversed contour line is considered to have an unknown region. Alternatively, it can be understood that before performing the map repair operation, the preset boundary line has not been fitted and the reachable boundary point has been searched, so some or all of the current detection area is marked as an unknown region. At this time, the preset boundary line is located within the unknown region that the robot needs to explore. The reachable boundary point needs to be filtered out by executing steps A to D after performing the map repair operation. Generally, the reachable boundary point has a corresponding relationship with the preset boundary extension line segment, and the reachable boundary point can be understood as being located within the preset boundary extension line segment.
[0058] Indicatively, such as Figure 2 As shown in (a), when the robot is currently in the corridor area, the robot is at position R21, has not started executing step A, and has not moved to... Figure 2 (b) shows the reachable boundary point F13. At this point, the rectangular room areas (separated by corresponding skeletons) and part of the corridor connected to the left of the robot's detection angle A11R21B11 (which can also be referred to as the outer side of detection angle A11R21B11) are known areas; the rectangular room areas and part of the corridor connected to the right of the robot's detection angle A11R21B11 (which can also be referred to as the inner side of detection angle A11R21B11) are unknown areas. At this point, the robot has not yet started exploring the interior of detection angle A11R21B11 (equivalent to...). Figure 2 (b) The publicly exposed triangular region A11R21B11) performs a map patching operation. The robot's current detection area can be regarded as the interior of the detection angle A11R21B11. The connected rectangular room areas and parts of the corridor on the right side of the detection angle A11R21B11 (or the interior of the detection angle A11R21B11) are regarded as connected areas on the side of the previously segmented tracking contour line.
[0059] After performing the current map patching operation, the robot marks the currently detected area on one side of the traversed contour line as a known area, and marks the area on the side of the contour line to be tracked as an unknown area. Specifically, after performing the current map patching operation, steps A to D are executed to segment the traversed contour line and the contour line to be tracked using preset boundary extension segments, and the reachable boundary points are selected. Therefore, a map patching operation is performed before each execution of step A.
[0060] Indicatively, such as Figure 2 (b) and Figure 3 As shown in (a), the robot performs a map patching operation on the triangular region A11R21B11 at position R21. At this time, the robot processes the currently detected region R21A11B11 as the known region R21A11B11, which is the region before the map patching operation. Figure 2 (a) The unknown region R21A11B11 detected, after map patching operation, is formed. Figure 2 (b) Given region R21A11B11, the robot processes its current probed region within the area on the side of the traversed contour line as an unknown region. The rectangular room areas and parts of the corridor connected to the right of the known region line segment A11B11 are all unknown regions. Therefore, Figure 2 (b) and Figure 3 The unknown region in (a) is relative to Figure 2 The unknown region in (a) is reduced.
[0061] After the robot moves from its current position to a reachable boundary point and performs a new map patching operation, it executes steps A to D to sequentially determine a new contour line to be tracked and a new reachable boundary point. Then, relative to the area on one side of the new contour line to be tracked, a new known area is added to the area on the side of the previously segmented contour line to be tracked. The contour line of the previously segmented contour line within this newly added known area is configured as a traversed contour line, while keeping the previously segmented traversed contour line unchanged. Thus, the currently segmented traversed contour line is extended relative to the previously segmented traversed contour line, while the target contour line remains unchanged, resulting in a reduction in the number of contour lines to be tracked in the current segmentation.
[0062] The newly added known areas include the current exploration area generated after the robot walks to the reachable boundary point and performs a new map repair operation.
[0063] Indicatively, in contrast Figure 3 (a) and Figure 3(b) It can be seen that, given the robot is currently in the corridor area, the robot can move from position R21 (corresponding to its current position) to position R22 (corresponding to its current position). Figure 3 (a) The location of the reachable boundary point F13 is within the preset extended boundary segment A11B11. Reachable boundary point F14 is detected at this location, and after performing a map patching operation, the current detection area R22A12B12 is processed as a known area. At this time, the rectangular room areas and parts of the corridor connected to the left of the preset extended boundary segment A12B12 are all known areas, relative to... Figure 3 (a) or Figure 2 (b) A new known region R22A12B12 is added, while the rectangular room areas and parts of the corridor connected to the right of the preset extended boundary segment A12B12 are all unknown regions relative to the known region. Figure 3 (a) or Figure 2 The unknown region in (b) is reduced.
[0064] In summary, as the robot moves along the reachable boundary points within the corridor area, map patching updates the boundary regions between known and unknown areas, at least updating the unknown areas within the currently explored region. This optimizes the mapping of the corridor area and accelerates the exploration of the corridor area and its connected rectangular room areas (separated by corresponding skeletons). Based on the patched map of the corridor area, the reachable boundary points assigned to the robot for subsequent movements are more reasonable, the exploration spacing is more appropriate, preventing the exploration trajectory from getting closer and closer to the outline (becoming increasingly edge-hugging), and improving the robot's exploration efficiency.
[0065] In some embodiments, after the robot starts walking from its initial position, it performs a map patching operation every time it reaches a reachable boundary point within the corridor area. After each map patching operation, the robot is guided along the tracking contour line to the next reachable boundary point selected in step D. The robot's current reachable boundary point is located within a preset boundary extension segment extended from the previously visited reachable boundary point by step B. In this embodiment, to explore the map in unknown areas, each reachable boundary point the robot visits is located within a preset boundary extension segment extended from the previous reachable boundary point (which can be understood as a previously visited or explored reachable boundary point) by step B.
[0066] Indicatively, the robot is Figure 3 Within the corridor area shown, proceed sequentially from position R21 to... Figure 3 (a) shows the reachable boundary point F13 (corresponding to position R22) in the preset extended boundary segment A11B11 and Figure 3(b) As shown, the reachable boundary point F14 in the preset extended boundary segment A12B12 (serves as the next reachable boundary point) is set as follows: a new reachable boundary point F13 is set on the boundary line between the known area R21A11B11 and the undetected area on the right (preset boundary extended segment A11B11); a new reachable boundary point F14 is set on the boundary line between the known area R22A12B12 and the undetected area on the right (preset boundary extended segment A12B12); and so on. In order to continue the rectangular room area above and below the entire corridor area in the map to be optimized, the robot... Figure 3 (c) Within the area, the robot can sequentially traverse the reachable boundary points F15, F16, F17, and F18 clockwise along the outline to be tracked. Through map patching, the area R23QOST currently detected by the LiDAR is processed as a known area, corresponding to the known area R23QOST within the map to be optimized. The starting point for accessing the unknown area below the known area R23QOST is the reachable boundary point F17. This allows the robot to detect new reachable boundary points in the unknown area below the known area R23QOST, with F17 serving as the starting point. Thus, the robot performs map patching and explores a larger area of unknown regions while traversing the corridor.
[0067] In this way, the robot will obtain new reachable boundary points / front boundary points with each movement. By moving and expanding the preset expansion boundary line and filtering reachable boundary points, the robot will traverse all front boundary points in the map to be optimized until there are no new front boundary points in the map to be optimized. Then, a complete map is built, and the robot ends its autonomous exploration based on the reachable boundary points.
[0068] In some embodiments, when the robot moves from its current position to the reachable boundary point in the previously executed step D, the robot currently executes steps A to C to re-segment the target contour line into traversed contour lines and traceable contour lines. That is, it repeats steps A to C once more. In the region on one side of the traceable contour line segmented in the previously executed step C, the area covered by the currently detected region is marked as a known region by performing a map patching operation. Specifically, before executing step A, a map patching operation is performed first. In the region on one side of the traceable contour line segmented in the previously executed step C, the area covered by the currently detected region is marked as a known region, which corresponds to the aforementioned newly added known region.
[0069] As the robot moves through the corridor area, the distance between the reachable boundary point selected in the previous step D and the preset boundary extension line segment expanded in the current step B is preset, preferably a fixed distance. Here, the reachable boundary point selected in step D comes from the front boundary point preset in the map to be optimized, and the starting line segment required for step B to expand the preset boundary extension line segment is the preset boundary line. The distance between the preset boundary line and the robot's current position is a preset fixed distance; or, the preset boundary line can also be associated with the corresponding boundary point in the current detection area formed by the laser sensor at the robot's current position, that is, the distribution position of the preset boundary line changes with the change of the area covered by the current detection area.
[0070] Indicatively, combined Figure 3 (a) and Figure 3 (b) It can be seen that the robot is in Figure 3 (a) At position R21 (considered as the reachable boundary point selected in step D of the previous execution), the leading edge boundary point F13 is detected. At this time, the preset boundary extension line segment A11B11 is extended through step B, and the reachable boundary point F13 is also determined through step D. Thus, the distance from position R21 to the preset boundary extension line segment A11B11 and the distance between position R21 and the reachable boundary point F13 are both determined. Then the robot starts from... Figure 3 (a) Position R21 walks to Figure 3 (b) Position R22 (corresponding to) Figure 3 At the reachable boundary point F13 in (a), the leading edge boundary point F14 is detected. At this time, the preset boundary extension segment A12B12 has been extended at position R22 through step B, and the reachable boundary point F14 has also been determined through step D. Therefore, the distance from position R22 to the preset boundary extension segment A12B12, and the distance between position R22 and the reachable boundary point F14 are both determined. Without considering obstacles, the distance from position R22 to the preset boundary extension segment A12B12 can be equal to the distance from position R21 to the preset boundary extension segment A11B11.
[0071] Compared to existing technologies, the aforementioned embodiments enable the setting of distance spans between different mapping points (i.e., different reachable boundary points), thereby exploring unknown areas and building maps in more distant unknown areas, avoiding the phenomenon of repeated mapping due to mapping points being too close. Specifically, it will not repeat mapping within the current detection area of the laser sensor as the distance between mapping and navigation points in the corridor area becomes shorter and shorter.
[0072] As one example, such as Figure 6 As shown, step B specifically includes:
[0073] Step B1: Using the two endpoints of the preset boundary line as two expansion starting points, expand outwards with the corresponding step length according to the corresponding expansion direction to obtain two expansion line segments and two corresponding expansion position points. Then, combine the preset boundary line and the two expansion line segments to form the preset expansion boundary line, thus forming the expansion result of the preset boundary line; then proceed to step B2. In step B1, the corresponding step length is the expansion radius set according to empirical values, preferably 2m, but it can also be set according to the robot mapping scenario. The maximum corresponding step length can be set to the maximum scanning distance of the laser sensor.
[0074] The two extended line segments are respectively extended from the two endpoints of the preset boundary line. Each time step B1 is executed, the extended line segments are used as extensions of the two ends of the preset boundary line. In step B1, the extension directions corresponding to the two extension starting points are opposite and remain unchanged each time step B1 is executed.
[0075] exist Figure 3 In (a), the corresponding expansion direction is the direction that extends from the front boundary point F13 toward the intersection point A11 and the intersection point B11 respectively, preferably the horizontal wall perpendicular to the corridor area; the two corresponding expansion position points are located within the line segment A11B11 respectively; the corresponding step size is limited to less than the width of the corridor area. When the front boundary point F13 is the preset dividing line or the midpoint of the line segment AB, the corresponding step size is less than half the width of the corridor area.
[0076] exist Figure 3 In (b), the corresponding expansion direction is the direction that extends from the front boundary point F14 toward the intersection point A12 and the intersection point B12 respectively, preferably perpendicular to the horizontal wall of the corridor area; the two corresponding expansion position points are located within the line segment A12B12 respectively; the corresponding step size is limited to less than the width of the corridor area. When the front boundary point F14 is the preset dividing line or the midpoint of the line segment A12B12, the corresponding step size is less than half the width of the corridor area.
[0077] Step B2: Determine whether at least one of the two extended line segments has a length greater than the preset sensing radius. If so, determine that the preset boundary line extension has failed, i.e., the target boundary line cannot be obtained; otherwise, determine that the extension lengths at both ends of the preset boundary line are less than or equal to the preset sensing radius, and proceed to step B3. The preset sensing radius is the maximum scanning distance of the laser sensor.
[0078] Step B3: Determine whether there is at least one extended line segment whose length is equal to the preset sensing radius. If yes, proceed to step B4; otherwise, proceed to step B5.
[0079] Step B4: Determine whether both of the two extended line segments intersect the target contour line. If yes, obtain the intersection point of the two extended line segments with the target contour line and execute step C. At this time, if it is determined that at least one of the two extended line segments has a length equal to the preset sensing radius, both ends of the preset boundary extended line segment intersect the target contour line, and the preset boundary extended line segment is configured as the target boundary line; otherwise, it is determined that the preset boundary line expansion has failed, that is, the target boundary line cannot be obtained.
[0080] Step B5: Determine whether both of the two extended line segments intersect the target contour line. If yes, obtain the intersection points of the two extended line segments and the target contour line and execute step C. At this time, if it is determined that at least one of the lengths of the two extended line segments is less than the preset sensing radius, both ends of the preset boundary extended line segment intersect the target contour line, and the preset boundary extended line segment is configured as the target boundary line. Otherwise, update the two corresponding extended position points to the two extended starting points described in step B1, and then execute step B1 to continue extending from the updated two extended starting points according to the corresponding extended directions.
[0081] Indicatively, in Figure 3 In (a), the two extended line segments intersect the target contour line at points A11 and B11, respectively; Figure 3 In (b), the two extended line segments intersect the target contour line at points A12 and B12, respectively. Figure 3 The outlines A11D and B11P in (a) and Figure 3 In (b), both outlines A12D and B12P are part of the target outline in the corridor area.
[0082] Therefore, this embodiment requires that at least one of the two extended line segments intersects the target contour line if its length is equal to the preset sensing radius before step C can be executed. This is applicable to determining when to use the extension result of the preset boundary line (preset boundary extended line segment) to segment the target contour line within the corridor area. When the two ends of the preset boundary extended line segment intersect the two side walls of the corridor area respectively, during the extension process according to step B1, the preset boundary extended line segment and its internal and nearby front edge boundary points will not move closer to the two side walls of the corridor area, so that the maps constructed by the robot when walking to different front edge boundary points will not be overly similar. Subsequently, by executing step C, the unknown area and the known area are segmented from the corridor area to obtain a contour line that can extend from the known area within the corridor area to the unknown area outside the corridor area. Then, step D is used to search for front edge boundary points between the two side walls of the corridor area along the contour line to be tracked, instead of searching for front edge boundary points close to the walls.
[0083] In summary, during the expansion of the preset boundary line to both ends, if the expansion length of one or both ends of the preset boundary line reaches the preset sensing radius, and at least one of the two corresponding expansion line segments fails to intersect the target contour line, the expansion is considered a failure. Steps C and D are then stopped; the contour line to be tracked is not segmented, nor is the leading edge boundary point searched along the contour line, thus determining the end of leading edge boundary point tracking. If the expansion lengths at both ends of the preset boundary line are less than or equal to the preset sensing radius, and both corresponding expansion line segments intersect the target contour line, step C is executed to segment the contour line to be tracked and search for leading edge boundary points along the contour line. This simulates a robot using a laser sensor to scan the wall contours on both sides of the robot's walking direction within the corridor area, and then determines whether to continue tracking the leading edge boundary points based on the intersection of the two expansion line segments with the wall contours on both sides.
[0084] As one embodiment, in step A, the method by which the robot fits a preset boundary line using boundary points within its current detection area includes:
[0085] The robot scans the boundary points of the current detection area using a laser sensor. The distance between the boundary point and the robot's current position is less than or equal to the scanning distance of the laser sensor. For the specific definition of the current detection area and its boundary points, please refer to the foregoing embodiments, and it will not be repeated here.
[0086] According to the linear fitting algorithm, the preset boundary line is fitted using the boundary points in the current detection area. Specifically, the corresponding preset boundary line can be fitted according to each boundary of the current detection area. Subsequently, the corresponding preset extended boundary line is extended through step B. During the extension of each preset boundary line, steps B1 to B5 mentioned in the aforementioned embodiment are executed sequentially to select the preset boundary extended line segment from the extension results of multiple preset boundary lines fitted in step A. The segment that intersects the target contour line at both ends is selected as the target boundary line when the extension length at both ends of the preset boundary line is less than or equal to the preset sensing radius.
[0087] Preferably, the straight line fitting algorithm is either the Hough algorithm or the least squares method, so that the boundary points scanned by the laser sensor at the same position are used for straight line fitting to obtain a preset boundary line at a certain distance from the robot's current position. Moreover, the preset boundary line is a line segment with a certain length, and multiple preset boundary lines can be fitted at the same time.
[0088] In some embodiments, after performing map patching on a local area of the map to be optimized (e.g., the robot's current detection area), the preset boundary line is used to separate known and unknown areas within the map to be optimized. Specifically, when applied to a corridor area, the length of the preset boundary line is less than the width of the corridor area and it is located between the two side walls of the corridor area. Therefore, step B is required to extend the preset boundary line so that both ends of the preset boundary line intersect the target contour line, provided that the extension length at both ends of the preset boundary line is less than or equal to the preset sensing radius. Then, step C is executed to segment the contour line to be tracked from the target contour line, simultaneously segmenting the known and unknown areas within the corridor area. Preferably, the width of the corridor area is less than the length of the longest contour line (longest wall contour) of the corridor area.
[0089] In some embodiments, the frontal boundary points are obtained by performing cluster analysis or taking the midpoint of points within the preset boundary lines, so that one frontal boundary point corresponds to one preset boundary line. Therefore, the frontal boundary points can be set to be located within the preset boundary lines. Indicatively, as shown... Figure 3 As shown in (c), the robot walks to position R23 (corresponding to...). Figure 3 (b) At the location of the leading edge boundary point F14, the leading edge boundary points F15, F16, F17 and F18 are detected in a clockwise direction. Among them, line segment CU passes through the leading edge boundary point F15 and line segment CU is the boundary line at the leading edge boundary point F15 or its extension (considered as the preset extended boundary line CU). Line segment IT passes through the leading edge boundary point F16 and line segment IT is the preset boundary line at the leading edge boundary point F16 or its extension (considered as the preset extended boundary line IT). Line segment PQ passes through the leading edge boundary point F18 and line segment PQ is the preset boundary line at the leading edge boundary point F18 or its extension (considered as the preset extended boundary line PQ).
[0090] Based on the aforementioned steps A to D, it is known that the front boundary point is configured as the position where the robot fits a new preset boundary line and extracts a new front boundary point, and then the reachable boundary point is selected from the front boundary points.
[0091] As one embodiment, the method for performing map repair operations includes:
[0092] Step 1: After the robot constructs the map to be optimized using laser point clouds, the map to be optimized is a grid map. The robot and the laser point cloud pose data in the current detection area are obtained from the map to be optimized, and then Step 2 is executed. The pose data in the current detection area obtained in Step 1 includes the pose data of the robot's current position and the pose data of the laser point cloud collected in the current detection area, which are used to locate the robot and the detectable area around it in the map to be optimized.
[0093] Step 2: Process the pose data obtained in Step 1 using the digital integration method to convert it into a mask. The digital integration method can prevent the mask converted from the laser point cloud from being distorted due to missing point clouds. Then, proceed to Step 3.
[0094] Step 3: Convert the area covered by the mask within the map to be optimized described in Step 1 into a passable area. Some unknown areas can be marked as known areas. The area covered by the mask within the map to be optimized described in Step 1 is considered the overlapping area between the mask and the map to be optimized, representing the area where the robot needs to map within the current detection area. Then, the map to be optimized, converted from the mask into a passable area, is configured as the map to be optimized described in Step A. This ensures that a map patching operation is performed before each execution of Step A; and after each map patching operation, steps A through D are executed to filter out the next reachable boundary point.
[0095] Based on the aforementioned steps 1 to 3 and steps A to D, after performing map repair operations on the map to be optimized, a passable area with a certain distance span is marked in advance for the robot to navigate and map the unknown area. The reachable boundary point can be configured for the boundary line between the passable area and the unknown area (the target boundary line or the preset extended boundary line) to guide the robot to walk to the reachable boundary point to continue scanning the laser point cloud and building the map.
[0096] As the robot moves along the reachable boundary points within the corridor area, map patching updates the boundary regions between known and unknown areas. This updates at least the unknown areas within the current detection area, optimizing the mapping of the corridor area and accelerating the exploration of the corridor area and its connected rectangular room areas (separated by corresponding skeletons). Based on the patched map of the corridor area, the reachable boundary points assigned to the robot for subsequent movements are more reasonable, and the exploration spacing is more appropriate, preventing the exploration trajectory from getting closer and closer to the outline (getting increasingly close to the edge), thus improving the robot's exploration efficiency. As the robot moves along the reachable boundary points within the corridor area and performs map patching operations, it can explore unknown areas in more distant unknown areas and build maps, avoiding the phenomenon of repeated mapping due to mapping points being too close. Specifically, it will not repeat mapping within the current detection area of the laser sensor as the distance between mapping navigation points in the corridor area becomes shorter and shorter.
[0097] Specifically, step 2 includes:
[0098] The pose data obtained in step 1 is processed according to the digital integration method to obtain a template. This template is a polygonal image template obtained by integrating the shape of the current detection area. Specifically, the digital integration method is an interpolation algorithm based on the robot calling a digital integrator. It is easy to realize the coordinate linkage of multiple pose points (multiple boundary points) in the current detection area and obtain the template through the interpolation of quadratic curves and higher-order curves.
[0099] Then, based on the template, a filling algorithm is executed in the corresponding empty map area to convert the corresponding empty map area into a mask. This is equivalent to drawing the template on a pre-set empty map and executing a filling algorithm on the area covered by the template to obtain a mask. The pixel values of each position point within the area covered by the mask are assigned preset values. The corresponding empty map area is composed of position points corresponding to the pose data in the current detection area. Each position point does not have environmental information marked, but only provides a certain range of area until it is converted into a mask through the filling algorithm. The area of the mask is greater than or equal to the area of the corresponding empty map area.
[0100] Specifically, during the execution of the filling algorithm, within the empty map area corresponding to the template, starting from the origin of the map coordinate system, nearby nodes connected to it are extracted or filled with different pixel grayscale values. Whenever the filling reaches (can be understood as expanding to) a passable location point, if there is a leading edge boundary point or a boundary point in the neighborhood, the filling continues until the obstacle point is reached. Whether traversing the obstacle points in the target contour line or traversing the leading edge boundary points (and the data saved before executing step 1), the data is read from the linear storage space, making the filling direction or expansion direction of the filling algorithm orderly and traceable. It should be noted that the neighborhood of a walkable location point can be its four-neighbor neighborhood. Each time the filling algorithm expands to a new walkable location point, it is considered as filling the map to a new walkable location point. The endpoint of this expansion includes obstacle points. The walkable locations expanded by the robot using the filling algorithm are all walkable pixel points and are connected to the origin of the map coordinate system. This allows the robot to start from the origin of the map coordinate system and walk along the expanded walkable points to an obstacle point. When the robot encounters an obstacle, the filling algorithm stops. Before reaching the obstacle point, all pixels filled by the robot are walkable locations and are filled with the same color to distinguish them from the boundaries of other adjacent areas. The filling algorithm mentioned in this embodiment can be a seed filling algorithm or a flood filling algorithm.
[0101] Based on the above embodiments, step 3 specifically includes: using a mask to extract overlapping map regions within the map to be optimized, which is equivalent to performing an AND operation between the mask and the map to be optimized in image processing, and extracting the overlapping map parts as overlapping map regions; then marking each location point within the overlapping map regions as passable location points to form passable areas, so as to mark unknown areas within the overlapping map regions as known areas, and determining that the areas within the map to be optimized covered by the currently detected area are marked as known areas. Since the area of the mask is greater than or equal to the area of the corresponding empty map area, the overlapping map regions include the areas within the map to be optimized covered by the currently detected area.
[0102] Then, the corresponding covered map area in the map to be optimized is replaced by the formed passable area, so that the map to be optimized that replaced the corresponding covered map area is updated to the map to be optimized described in step A. The updated map to be optimized can then be used in steps A to D. The unknown areas included in the masked area in the updated map to be optimized are converted into passable areas. This marks a certain distance span of passable areas in advance for the robot to navigate to unknown areas, improving the mapping efficiency and accuracy during the robot's navigation process.
[0103] As one embodiment, the preset boundary extension line segment and the two boundaries of the current detection area on both sides of the robot's walking direction form a triangular region. The mask is triangular in shape, enabling the extraction of a triangular passable region within the map to be optimized. The boundary points within the current detection area used in subsequent step A originate from this triangular passable region. The corresponding fitted preset boundary lines can be three, each corresponding to one of the three sides of the triangular passable region. The laser sensor's detection angle is set in front of the robot with the robot's walking direction as the central axis. Within the current detection area, the nearest reachable boundary point in the robot's walking direction is set at the midpoint of the target boundary line, considered as the midpoint of the base of the triangular passable region with the robot's current position as the vertex, capable of covering unknown or known areas in front of the robot.
[0104] Combination Figure 2 (a) and Figure 2 (b) It can be seen that when the robot is currently in the corridor area, the following applies: Figure 2 Before performing map patching at position R21, the robot in (a) detects front boundary points F11 and F12. The rectangular room areas (separated by corresponding skeletons) and parts of the corridor connected to the left of the robot's detection angle A11R21B11 (or the outer side of detection angle A11R21B11) are known areas. The rectangular room areas and parts of the corridor connected to the right of the robot's detection angle A11R21B11 (or the inner side of detection angle A11R21B11) are unknown areas. Then, Figure 2 In (b), the robot performs a map patching operation at position R21, that is, the robot performs a map patching operation on the triangular region R21A11B11. At this time, the robot marks the current detection region R21A11B11 as the known region R21A11B11 or the triangular passable region R21A11B11. Then, by executing steps A to D, the robot obtains the target boundary line A11B11 and the front boundary point F13 distributed at its midpoint.
[0105] As one embodiment, in step D, the method for filtering reachable boundary points based on the drivability of the leading edge boundary points extracted in step C includes:
[0106] The robot first erodes the obstacle points in the contour line to be tracked according to a pre-set template image to expand the area occupied by the obstacle points. Specifically, eroding the obstacle points in the contour line to be tracked according to the template image can remove small white points near the contour line to be tracked (denoising) in the map to be optimized, and can smooth the boundary of the contour line to be tracked without significantly changing it.
[0107] The pre-set template image may not use the aforementioned mask, but rather other templates associated with the area enclosed by the contour line to be tracked. The expansion radius of the pre-set template image is equal to the robot's body radius. The obstacle point is a pixel marked as the location occupied by the obstacle. The leading edge boundary point may be obtained before performing the map repair operation or after performing the map repair operation, for steps A to D to search within the map to be optimized.
[0108] It should be noted that in step D of this application, the method for detecting the drivability of the leading edge boundary point is to refer to steps B and C of the target point search method disclosed in Chinese invention patent application number CN202210787428.X, and in turn, the full contour line is replaced with the contour line to be tracked, and the preset boundary point is replaced with the aforementioned leading edge boundary point.
[0109] Then, the robot executes a filling algorithm within the map to be optimized, following the extension direction of the contour line to be tracked. It determines whether the leading edge boundary point exists in the neighborhood of the currently filled traversable location. If so, the leading edge boundary point is set as a reachable boundary point. The leading edge boundary point filled by the robot using the filling algorithm is connected to the robot's current position. If the robot's current position is configured as the origin of the coordinate system of the map to be optimized, the robot starts executing the filling algorithm from the origin of the coordinate system of the map to be optimized. Starting from the origin, it expands along the extension direction of the contour line to be tracked towards the corresponding quadrant region of the coordinate system of the map to be optimized. Simultaneously, it determines whether the leading edge boundary point exists in the neighborhood of the currently expanded traversable location. If so, the leading edge boundary point is set as a reachable boundary point. The leading edge boundary point expanded by the robot using the filling algorithm is connected to the origin of the coordinate system. Thus, all acquired leading edge boundary points are filtered based on the robot's traversability along the contour line to be tracked.
[0110] During the process of expanding the coordinate system quadrant region of the map to be optimized, the neighborhood of non-zero pixels (accessible location points) in the given binary image is expanded, which can also be described as performing an image dilation operation. In some embodiments of this application, the boundary line of the known region and the boundary line of the adjacent unknown region are expanded by one grid cell by the dilation function, thereby obtaining the accessible boundary point.
[0111] Preferably, the robot marks the preset extended boundary line where each leading edge boundary point detected in step D is located as a passable boundary line; when the straight-line distance between the two endpoints of the passable boundary line is greater than the robot's body diameter, the robot's complete body can walk on its boundary line or on a trajectory line parallel to the boundary line, and the robot sets the leading edge boundary point (or midpoint) of the leading edge boundary line as the reachable boundary point.
[0112] The number of reachable boundary points can be one or more, derived from the front boundary points set in advance in the map to be optimized. In some embodiments, the preset boundary line or preset extended boundary line where the reachable boundary point is located represents the accessibility of the robot walking along the outline of the obstacle, the passage between different rooms, the passage between the room and the corridor area, or the passage within the same corridor area.
[0113] It is worth noting that during each round of execution of steps A, B, C, and D, the robot remains at the same reachable boundary point. Each time it reaches a reachable boundary point, it repeats steps A through D; and these steps are performed after patching the map and marking the leading edge boundary points on the map to be optimized.
[0114] As one embodiment, in step D, the method of orderly saving the reachable boundary points so that the direction of the line connecting the various reachable boundary points visited by the robot in succession simulates the direction of the robot walking along the target contour line includes: the robot starts from the search starting point in the contour line to be tracked and searches the contour line to be tracked in a preset clockwise direction, wherein the search starting point in the contour line to be tracked includes the intersection point of the preset boundary extension line segment determined in step B and the target contour line, specifically including one of the intersection points obtained in step B4 or step B5 above; the search starting point in the contour line to be tracked can also be the endpoint of the contour line to be tracked or the midpoint of the contour line to be tracked.
[0115] Whenever the robot finds a point on the contour line to be tracked, it marks the found point as a visited point. Then, it checks whether there is a reachable boundary point in the neighborhood of the visited point. If so, the reachable boundary points are saved into a linear storage space in a preset clockwise order. The reachable boundary points that are stored in the linear storage space are configured to be accessed first. This is so that the order in which the reachable boundary points are read from the linear storage space during the robot's movement in the preset clockwise direction simulates the order in which the robot moves along the contour line to be tracked. It can be understood that the order in which the reachable boundary points are read from the linear storage space during the robot's movement in the preset clockwise direction represents the extension direction of the robot along the contour line of the working area on one side of the target boundary line. This allows the robot to only search for and save the reachable boundary points along the contour line to be tracked, without searching for the reachable boundary points in the working area on the other side of the target boundary line.
[0116] In this process, the robot walks parallel to the contour line to be tracked and does not traverse each point one by one. Instead, it walks according to the reachable boundary points detected in sequence. Because the area on one side of the contour line to be tracked is biased towards the unknown area, the reachable boundary points searched by the robot in step D are shifted towards the unknown area side.
[0117] In this embodiment, reachable boundary points that are preferentially stored in the linear storage space are accessed first. The linear storage space includes, but is not limited to, stacks and queues. It is schematically represented as follows: the reachable boundary points that are initially cached and pushed onto the stack are pushed to the bottom of the stack. Then, according to the principle of last-in-first-out, the robot controls the reachable boundary points that are cached and pushed onto the stack later to pop off the stack first, and controls the reachable boundary points that are cached and pushed onto the stack earlier to pop off the stack later.
[0118] As an implementation scenario where a robot walks in a corridor area, the process of searching for the contour line to be tracked in a preset clockwise direction involves storing reachable boundary points in the linear storage space as a tree structure. The specific storage method includes: the earlier a reachable boundary point is detected in the corridor area, the lower the corresponding node depth is configured, so that the earliest detected reachable boundary point is stored as the root node in the tree structure; each reachable boundary point detected in the corridor area is stored as a node at a different layer of the tree structure; wherein, the earlier the reachable boundary point is detected, the earlier it is stored.
[0119] The node depths corresponding to each reachable boundary point detected within the corridor area are all lower than the node depths corresponding to each reachable boundary point detected within each preset unit working area; the leading edge boundary points detected within each preset unit working area are all stored as nodes at the same level of a tree structure; wherein, the leading edge boundary points detected within each preset unit working area are arranged according to the robot's search direction (e.g., in...). Figure 3(c) are stored sequentially in a clockwise direction; schematically, Figure 4 This is a schematic diagram illustrating how a robot stores multiple detected reachable boundary points according to a tree structure, as disclosed in another embodiment of this application. Reachable boundary points F15, F16, F17, and F18 are located in two preset unit work areas, corresponding to... Figure 3 (c) The two room areas on the right, which are connected vertically and vertically to the central corridor area, are both located in Figure 4 In a tree structure, nodes at the same level are called sibling nodes, and nodes at the same level have the same depth; according to Figure 3 In (c), the clockwise order of visits is F15, F16, F17, and F18. Figure 3 (a) and Figure 3 In (b), within the corridor area, reachable boundary point F13 is closer to position R21 than reachable boundary point F14, and reachable boundary point F13 is detected by the robot earlier than reachable boundary point F14. Figure 4 In the tree structure, reachable boundary points F13 and F14 are located at different levels. Both reachable boundary points F13 and F14 are at different levels from reachable boundary points F15, F16, F17, and F18. The node depth of reachable boundary point F13 is lower than that of reachable boundary point F14, and the node depth of reachable boundary point F14 is lower than that of reachable boundary points F15, F16, F17, or F18. When reachable boundary point F13 is the root node, it has a subtree F14. Therefore, when reachable boundary point F13 is the parent node, reachable boundary point F14 is the child node. Furthermore, reachable boundary points F15, F16, F17, or F18 are all descendant nodes of reachable boundary point F14.
[0120] In this embodiment, the corridor area and each preset unit work area are connected, and the outline to be tracked passes through the corridor area and each preset unit work area in sequence; each preset unit work area is all the unit work areas detected by the robot's laser sensor at the same location, so that the current detection area overlaps with some or all of the preset unit work areas simultaneously. (Illustratively speaking...) Figure 3 (c) The robot walks to position R23. The current detection area includes region R23IHU and region R23QOST. The current detection area overlaps with rectangular room region EDCUG and rectangular room region PMOSH respectively. Rectangular room region EDCUG and rectangular room region PMOSH are all the unit working areas detected by the robot at position R23 using the laser sensor.
[0121] Therefore, this embodiment sorts the detected reachable boundary points as the simulated robot moves along the contour line to be tracked, thereby enabling the selection of some areas in the clockwise direction to explore the leading edge boundary points of the scene, thus accelerating the process of searching for reachable boundary points and mapping in unknown areas.
[0122] This application also discloses a chip for storing program code for executing the robot map exploration method. The chip controls the robot to first fit a preset boundary line using detected boundary points, and then determines the intersection of the extended preset boundary line with the target contour line by expanding the preset boundary line, thereby segmenting the contour line to be tracked from the target contour line. Then, it searches for leading boundary points only within the area covered by the contour line to be tracked. After a drivability check, these points are sequentially assigned to the robot for navigation and mapping. This method is suitable for scenarios where the robot needs to quickly explore unknown areas, optimizing the mapping process and achieving rapid mapping.
[0123] Because the chip uses the result of expanding the preset boundary line to segment the target contour line to obtain the contour line to be tracked, the robot can only filter the reachable boundary points within the area corresponding to the contour line to be tracked. This not only reduces the amount of search and computation, but also enables the robot to navigate and map in unknown areas according to a certain distance span. This overcomes the problem that the distance between two adjacent navigation points becomes shorter and the similarity of the maps becomes higher during the robot's mapping / exploration process, thus improving the efficiency of the robot's map exploration.
[0124] Specifically, the chip is mounted on the circuit board inside the cleaning robot's body. It includes a computing processor, such as a central processing unit or application processor, that communicates with non-transitory memory (e.g., hard disk, flash memory, random access memory) and obstacle information from visual sensors. The application processor executes mapping algorithms, such as Simultaneous Localization and Mapping (SLAM), to create a real-time map of the cleaning robot's environment, mark obstacle locations, and obtain corresponding terrain contours. In some embodiments, the chip combines distance and speed information from sensors such as laser sensors, cliff sensors, drop sensors (a type of limit switch triggering device), magnetometers, accelerometers, gyroscopes, and odometers mounted on the buffer to comprehensively determine the cleaning robot's current working state, location, and posture, such as crossing a threshold, stepping onto a carpet, being on a step or cliff, a full dustbin, or being lifted. It also provides specific next action strategies for different situations, making the cleaning robot's operation more aligned with the user's requirements and providing a better user experience.
[0125] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A robot map exploration method based on reachable boundary points, comprising: a robot acquiring laser point clouds through laser sensor scanning, and then using the laser point clouds to construct a map to be optimized; characterized in that... Robot map exploration methods also include: Step A: The robot fits a preset boundary line using the boundary points in its current detection area, and selects the contour line used to delineate all connected detectable areas in the map to be optimized as the target contour line, and then executes Step B. Step B: Control the two ends of the preset boundary line to expand respectively to obtain the preset boundary expansion line segment; if the expansion length of both ends of the preset boundary line is less than or equal to the preset sensing radius, and both ends of the preset boundary expansion line segment intersect with the target contour line, then proceed to step C. Step C: Based on the preset boundary extension line segment, the robot segments the contour line to be tracked from the target contour line along the direction connected to the unknown area. Then, the robot searches for the leading edge boundary point in the area enclosed by the contour line to be tracked and the preset boundary extension line segment. Then, step D is executed. Step D: Based on the drivability of the leading edge boundary points searched in Step C, filter out the reachable boundary points and save them in an orderly manner, so that the direction of the line connecting the various reachable boundary points visited by the robot in succession simulates the direction of the robot walking along the target contour line. Step B specifically includes: Step B1: Using the two endpoints of the preset boundary line as two expansion starting points, expand the preset expansion step length once according to the corresponding expansion direction to obtain two expansion line segments and two corresponding expansion position points. Combine the preset boundary line and the two expansion line segments to form the preset expansion boundary line; then execute step B2. Step B2: Determine whether at least one of the two extended line segments has a length greater than the preset sensing radius. If so, determine that the preset boundary line extension has failed; otherwise, proceed to step B3. Step B3: Determine whether there is at least one extended line segment whose length is equal to the preset sensing radius. If yes, proceed to step B4; otherwise, proceed to step B5. Step B4: Determine whether both of the two extended line segments intersect the target contour line. If yes, obtain the intersection point of the two extended line segments and the target contour line and execute step C. Otherwise, determine that the preset boundary line extension has failed. Step B5: Determine whether both of the two extended line segments intersect the target contour line. If yes, obtain the intersection point of the two extended line segments and the target contour line and execute step C. Otherwise, update the two corresponding extended position points to the two extended starting points described in step B1, and then execute step B1.
2. The robot map exploration method according to claim 1, characterized in that, In step C, when it is determined that the preset boundary extension line segment intersects with the target contour line, the target contour line is divided into a traversed contour line and a contour line to be tracked by the preset boundary extension line segment; then the area on the side of the traversed contour line is marked as a known area, and the area on the side of the contour line to be tracked is marked as an unknown area. The area enclosed by the contour line to be tracked and the preset boundary extension line segment is the area on one side of the contour line to be tracked.
3. The robot map exploration method according to claim 2, characterized in that, Before each execution of step A, if the robot has not moved from its current position to a reachable boundary point, the robot marks its current detection area as an unknown area before executing the current map repair operation. After executing the current map repair operation, the robot marks its current detection area in the area on the side of the traversed contour line as a known area. After the robot moves from its current position to the reachable boundary point and performs a new map patching operation, by executing steps A to D, a new known region is added to the area on one side of the previously segmented contour line to be tracked, and the contour lines of the previously segmented contour line to be tracked in the newly added known region are configured as traversed contour lines, so as to reduce the number of contour lines to be tracked in the current segmentation; wherein, the newly added known region includes the current detection area generated after the robot moves to the reachable boundary point and performs a new map patching operation.
4. The robot map exploration method according to claim 3, characterized in that, After the robot starts walking from the initial position, it performs a map patching operation every time it reaches a reachable boundary point in the corridor area. After performing a map patching operation, it selects the next reachable boundary point by performing steps A to D, so as to guide the robot to walk along the contour line to be tracked to the next reachable boundary point. The robot's current reachable boundary point is located within the preset boundary extension line segment extended from the reachable boundary point the robot previously visited through step B.
5. The robot map exploration method according to claim 4, characterized in that, When the robot moves from its current position to the reachable boundary point selected in the previous step D, the robot will re-segment the target contour line into traversed contour lines and tracked contour lines by executing steps A to C. In the area on the side of the tracked contour line segmented in the previous step C, the area covered by the current detection area will be marked as a known area by performing a map patching operation. As the robot moves through the corridor area, the distance between the reachable boundary point selected in the previous step D and the preset boundary extension line segment extended in the current step B is preset.
6. The robot map exploration method according to claim 2, characterized in that, In step A, the method by which the robot fits a preset boundary line using boundary points within its current detection area includes: The robot uses a laser sensor to scan the boundary points within the current detection area, where the distance between the boundary points and the robot's current position is less than or equal to the scanning distance of the laser sensor. The preset boundary line is fitted using the boundary points within the current detection area according to the straight line fitting algorithm.
7. The robot map exploration method according to claim 3, characterized in that, The method for map repair operation includes: Step 1: After the robot constructs a map to be optimized using laser point clouds, it obtains the pose data of the robot and the laser point clouds within the current detection area from the map to be optimized; then, Step 2 is executed. Step 2: Process the pose data obtained in Step 1 using the digital integration method to convert it into a mask; then proceed to Step 3. Step 3: Convert the area covered by the mask in the map to be optimized described in Step 1 into a passable area, and then configure the map to be optimized, which has been converted into a passable area by the mask, as the map to be optimized described in Step A.
8. The robot map exploration method according to claim 7, characterized in that, Step 2 specifically includes: The pose data obtained in step 1 is processed using the digital integration method to obtain the template; According to the template, a filling algorithm is executed in the corresponding empty map area to convert the corresponding empty map area into a mask, so that the pixel value of each position point in the area covered by the mask is assigned a preset value. The corresponding empty map region is composed of the position points corresponding to the pose data within the current detection area; the area of the mask region is greater than or equal to the area of the corresponding empty map region.
9. The robot map exploration method according to claim 8, characterized in that, Step 3 specifically includes: The overlapping map region is extracted in the map to be optimized using a mask. Then, each location point in the overlapping map region is marked as a passable location point to form a passable region. This is to mark the unknown region in the overlapping map region as a known region, and to determine the region in the map to be optimized that is covered by the currently detected region as a known region. Then, the passable area is used to replace the corresponding map area covered in the map to be optimized, so that the map to be optimized that replaced the corresponding map area is updated to the map to be optimized described in step A.
10. The robot map exploration method according to claim 8, characterized in that, The preset boundary extension line segment and the current detection area are connected to form a triangular region on both sides of the robot's walking direction, wherein the shape of the mask is triangular; The detection angle of the laser sensor is set in front of the robot with the robot's walking direction as the central axis.
11. The robot map exploration method according to claim 1, characterized in that, In step D, the method for selecting reachable boundary points based on the drivability of the leading edge boundary points found in step C includes: The robot first erodes the obstacle points in the contour line to be tracked according to a pre-set template image to expand the area occupied by the obstacle points. Here, the obstacle points are pixels marked as the positions occupied by the obstacles, and the expansion radius of the pre-set template image is equal to the radius of the robot's body. The robot performs a filling algorithm along the extension direction of the contour line to be tracked within the map to be optimized, and determines whether the front boundary point exists in the neighborhood of the currently filled passable location point. If so, the front boundary point is set as a reachable boundary point. The front boundary point filled by the robot using the filling algorithm is connected to the robot's current position.
12. The robot map exploration method according to claim 11, characterized in that, In step D, the method of orderly saving the reachable boundary points so that the direction of the line connecting the successively visited reachable boundary points simulates the direction of the robot's movement along the target contour line includes: The robot starts from the search starting point in the contour line to be tracked and searches the contour line in a preset clockwise direction. Whenever a point in the contour line to be tracked is found, the found point is marked as a visited point. Then, it checks whether there is a reachable boundary point in the neighborhood of the visited point. If so, the reachable boundary points are saved into a linear storage space in a preset clockwise order. The reachable boundary points that are stored in the linear storage space are configured to be accessed first. This is so that the order in which the reachable boundary points are read from the linear storage space during the robot's movement in the preset clockwise direction simulates the order in which the robot moves along the contour line to be tracked. The search starting point in the contour line to be tracked includes the intersection point of the preset boundary extension line segment determined in step B and the target contour line.
13. A chip for storing program code, characterized in that, The program code is used to execute the robot map exploration method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Map exploration method for robot to explore unknown area, chip and robot
CN113050632A
Target point search method, chip and robot based on boundary line
CN115167421B
Map exploration method and device, storage medium and electronic device
CN113485372A
Target point searching method based on boundary line, chip and robot
CN115167421A