Target navigation point searching method based on robot walking along edge
Through the target navigation point search method, the robot can identify and avoid local areas, solving the problem that the sweeping robot is prone to entering the annular area or being trapped by obstacles when cleaning the global edge, and achieving effective path adjustment and cleaning.
Patent Information
- Application Number
- CN202311809696.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-26
- Publication Date
- 2025-06-27
AI Technical Summary
When sweeping the floor, the sweeping robot is prone to enter the annular area and repeatedly circle it, or the obstacles move and cannot identify the starting point of the circumference, resulting in the inability to leave the local area.
The target navigation point search method based on the robot walking along the edge is adopted. By marking global edge points and intersection points, the outer contour is extracted, the neighborhood detection of outline points is performed, the number of points along the edge points and uned edge points is counted, and the target navigation points are determined to avoid local areas.
Effectively avoid the robot entering the path of repeated walking along the edge, preventing it from being trapped in local areas, and achieving the ability to escape from the circle movement of the target obstacles and then break away from the local areas.
Smart Images

Figure CN120215477A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot search paths, and in particular to a method for searching target navigation points based on a robot walking along the edge. Background Art
[0002] Currently, the global edge cleaning of a sweeping robot means that the sweeping robot moves around the boundary of the workplace for one week, which is also recorded as the robot walking along the edge. The robot walking along the edge includes the sweeping robot walking around the wall or the contour of a long-sized obstacle for one week. Among them, one side of the sweeping robot maintains a certain distance from the wall or obstacle being followed to clean the edge area. When the sweeping robot performs global edge cleaning, it senses the actual working boundary of the workplace, obtains an environmental map, and can obtain the outer contour of the workplace within the environmental map.
[0003] When the sweeping robot performs global edge cleaning, it is easy to enter a circular area and then repeatedly circle around the obstacle without being able to break free; or during the process of the sweeping robot walking around a fixed obstacle, the sweeping robot may not be able to recognize the starting point of the detour because other approaching obstacles are temporarily moved, resulting in the sweeping robot repeatedly circling around the same fixed obstacle. Summary of the Invention
[0004] The present application discloses a method for searching target navigation points based on a robot walking along the edge. The specific technical solution is as follows: A method for searching target navigation points based on a robot walking along the edge, characterized in that the target navigation point search method includes: Step A: During the process of the robot walking along the boundary of the working area, each position point it has walked through is marked as a global edge point, and the intersection points are obtained, so that the robot starts to enter the local area through the intersection points; then step B is executed; where the local area is located within the working area; Step B: The robot extracts the outer contour from the map it constructs; then step C is executed; Step C: The robot extracts the contour point closest to the intersection point from the outer contour, and then marks the extracted contour point as the search starting point; then step D is executed; Step D: Starting from the search starting point, neighborhood detection is performed on the contour points along the outer contour, and the contour points are marked as edge-followed points or non-edge-followed points according to the situation of detecting global edge points in the neighborhood of the contour points, and the number of edge-followed points and the number of non-edge-followed points are respectively counted until the target navigation point is determined by combining the number of edge-followed points and the number of non-edge-followed points, so that the robot walks to the target navigation point to avoid the local area; where the outer contour is composed of multiple contour points; where the boundary of the local area is used to enclose the target obstacle so that the target obstacle is located within the local area, and the target obstacle is an obstacle that the robot needs to bypass or an obstacle that the robot needs to walk along the edge when in the global edge walking mode.
[0005] In summary, when the robot determines to enter the local area through the intersection, the continuity of the outer contour and the degree of obstruction of the robot's global walking along the edge are evaluated by the number of points along the edge and the number of points not along the edge, and a navigation point with escape significance (for the aforementioned global cleaning scenario) is searched out in the local area based on the evaluation result as the target navigation point. Then the robot will walk from the current position point to the target navigation point to avoid the robot entering a path of repeated walking along the edge after entering the local area, especially to prevent the robot from entering a path of repeated walking along the edge based on the intersection (including a path of repeatedly walking along the edge of the same fixed obstacle in the local area or a path of repeatedly circling in the gap between several obstacles), that is, to prevent the robot from entering the local area and being trapped.
[0006] Furthermore, the target navigation point is located outside the local area, and the intersection is not the target navigation point; before the robot walks to the target navigation point, the target navigation point does not exist among the positions where the robot has walked along the boundary of the working area and / or the positions where the robot has walked along the boundary of the local area. The robot can completely avoid the path that will be walked repeatedly by navigating to the target navigation point.
[0007] Furthermore, after the robot determines the target navigation point, it starts from the current position of the robot and circumvents the local area according to the boundary of the local area until it reaches the target navigation point, so as to avoid the local area; wherein the target navigation point is a contour point in the working area that the robot has not walked before. Therefore, by walking to the target navigation point, the robot is prevented from returning to the local area using the contour points that have been walked before and being trapped in the local area to move in a circle.
[0008] Furthermore, the process of the robot walking along the boundary of the working area is the behavior performed by the robot in the global walking-along-edge mode, so that the robot walks along the boundary of the working area for a circle and returns to the global walking-along-edge starting point; wherein the global walking-along-edge starting point is the starting point of the robot walking along the boundary of the working area in the global walking-along-edge mode; after the robot enters the local area through the intersection, it is still in the global walking-along-edge mode, so that the robot walks along the boundary of the local area for a circle and returns to the intersection or the robot repeatedly circles around the target obstacle in the local area. Therefore, it is urgent to control the robot to navigate to the target navigation point, prevent the robot from returning to the path it has walked, and stop moving along the edge in the local area, so that the robot can get rid of the circling movement around the target obstacle and then leave the local area.
[0009] Further, the global edge-following walking mode is a walking mode in which the robot starts from a preset edge-following starting point, walks around the boundary of its current area, and returns to the edge-following starting point, or a walking mode in which the robot starts from a preset edge-following starting point, walks around the edge of the obstacle within its current area, and returns to the edge-following starting point. Thus, the global edge-following walking mode is set respectively from two scenarios (outer edge-following and inner edge-following scenarios) of walking along the area boundary and along the edge of the obstacle inside the area, so as to improve the environmental adaptability of the robot's edge-following walking.
[0010] Further, in step D, the method of starting from the search starting point, performing neighborhood detection on the contour points along the outer contour, and marking the edge-followed points and non-edge-followed points according to the situation of the global edge-following points detected in the neighborhood of the contour points includes: The robot starts from the search starting point, searches for contour points along the outer contour, and performs neighborhood detection on each contour point until it searches to the last contour point sorted in the outer contour; if a global edge-following point exists in the neighborhood of the previously searched contour point, the currently searched contour point is marked as an edge-followed point; if no global edge-following point exists in the neighborhood of the currently searched contour point, the currently searched contour point is marked as a non-edge-followed point. In summary, in the search range between the search starting point and the last contour point sorted in the outer contour of the present application, the edge-followed points and non-edge-followed points are respectively marked in combination with the distribution of the global edge-following points in the neighborhood of each contour point, providing a judgment basis for the search of the target navigation point.
[0011] Further, in step D, the method of determining the target navigation point by combining the number of edge-followed points and the number of non-edge-followed points includes: when the counted number of edge-followed points is greater than or equal to the first preset number and the counted number of non-edge-followed points is greater than or equal to the second preset number, the currently searched contour point is marked as the target navigation point; wherein, the number of contour points continuously searched by the robot along the outer contour is less than or equal to the maximum number of contour points required to form the outer contour. In summary, compared with the situation where the global edge-following points marked during the process of the robot walking along the boundary of the working area may be less continuous due to isolated obstacles, the target navigation point determined by the present application by combining the number of edge-followed points and the number of non-edge-followed points is more likely to guide the robot to navigate in the direction of global edge extension (which can be understood as the direction of global edge-following walking, including the clockwise or counterclockwise extension direction of the boundary of the working area), making the target navigation point a key point for the robot to maintain the global edge-following walking mode in the boundary of the working area.
[0012] Further, in the step D, the method for determining the target navigation point by combining the number of edge-followed points and the number of non-edge-followed points further includes: when the robot searches along the outer contour from the search starting point to the last sorted contour point, if the counted number of edge-followed points is less than the first preset number, and / or the counted number of non-edge-followed points is less than the second preset number, then the number of edge-followed points and the number of non-edge-followed points are cleared respectively. Then the robot starts from the first sorted contour point in the outer contour, searches for contour points along the outer contour, and marks the edge-followed points and non-edge-followed points respectively according to the situation of searching for global edge-followed points in the neighborhood of the contour points. At the same time, the number of edge-followed points and the number of non-edge-followed points are counted respectively until the last sorted contour point in the outer contour is searched; wherein, the first sorted contour point in the outer contour is ranked more forward relative to the search starting point in the outer contour; during the process of searching for contour points along the outer contour, there is: when the counted number of edge-followed points is greater than or equal to the third preset number, and the counted number of non-edge-followed points is greater than or equal to the fourth preset number, the currently searched contour point is marked as the target navigation point; wherein, the third preset number is greater than the first preset number, the fourth preset number is greater than the second preset number, and the third preset number is greater than the fourth preset number. This realizes re-searching for a target navigation point with better continuity, passability and easier access to the target navigation point in the unwalked area when the search for the target navigation point starting from the search starting point fails.
[0013] Further, each contour point forming the outer contour is stored in the same memory space, and each contour point is sorted according to the extension direction of the outer contour, and each contour point is configured with a corresponding serial number; when the robot starts from the first sorted contour point and searches for each contour point according to the extension direction of the outer contour until the last sorted contour point is searched, the robot completes the global search of the outer contour, and the cumulative search quantity is the maximum number of contour points required to form the outer contour; wherein, the first sorted contour point is the earliest stored contour point; within the outer contour, when the serial number of the last sorted contour point is the largest, the serial number of the first sorted contour point is the smallest; within the outer contour, when the serial number of the last sorted contour point is the smallest, the serial number of the first sorted contour point is the largest. This facilitates the counting of the number of edge-followed points and the number of non-edge-followed points in step D, and is also beneficial to converting the coordinate information of the outer contour into a grid map.
[0014] Further, the step D further includes: when the robot searches along the outer contour to the last sorted contour point, if the counted number of edge-followed points is less than the third preset number, and / or the counted number of non-edge-followed points is less than the fourth preset number, then the robot marks the contour point closest to the intersection point in the outer contour as the target navigation point, and makes the robot stop searching the outer contour and walk towards the newly marked target navigation point.
[0015] Further, the method for obtaining the intersection point in step A includes: during the process of the robot walking along the boundary of the working area, the rotation angle of the robot is detected in real time through the gyroscope inside the robot, and a line segment intersection judgment is made every time two position points are walked through in each row; when the robot detects that the change value of its rotation angle reaches 360 degrees and judges that a line segment intersection occurs, the intersection point is recorded, and it is determined that the robot enters the local area, where the intersection point is used to represent the entrance position of the local area. Therefore, in this application, it is determined whether the robot starts to enter the local area by judging the intersection point, and further, it is determined whether the robot has a tendency to be trapped in the local area.
[0016] Further, the method for line segment intersection judgment includes: during the process of the robot walking along the boundary of the working area, every time the robot walks to a position point, the connection line between the current walked position point and the previous walked position point is recorded as an edge line segment; during the process of the robot walking through at least three position points, the currently recorded edge line segment and the previously recorded edge line segment are obtained in sequence; the robot judges whether the currently recorded edge line segment intersects with the previously recorded edge line segment; when the currently recorded edge line segment intersects with the previously recorded edge line segment, the robot calculates the intersection point between the adjacent two recorded edge line segments, and then marks the intersection point as the intersection point; when the currently recorded edge line segment does not intersect with the previously recorded edge line segment, the robot cannot judge the intersection point currently. By marking the intersection point of the adjacent two recorded edge line segments as the intersection point, the robot can judge whether to enter the local area in real time through the intersection point.
[0017] Further, in step B, the method for extracting the outer contour includes: after the robot obtains the intersection point and starts to enter the local area, the map constructed by the robot is binarized to obtain a binarized map; then, the binarized map is subjected to dilation processing and erosion processing, and then the map boundary is extracted from the binarized map after dilation processing and erosion processing, and the map boundary is marked as the outer contour; in the map constructed by the robot, the map boundary that has not been subjected to binarization processing, dilation processing, and erosion processing is marked during the process of the robot walking through the working area according to the preset planned path before performing step A. In summary, the outer contour is obtained through dilation processing and erosion processing, so that the outer contour represents the boundary of the working area, and further, it can represent the wall at the outermost edge of the working area or the boundary points that maintain a certain indirect distance from the wall at the outermost edge of the working area.
[0018] Further, step B further includes: within the binarized map after dilation processing and erosion processing, the robot samples the pixel points constituting the outer contour at a certain sampling frequency, such that the robot samples one pixel point every preset number of pixel points; the robot marks the sampled pixel points as the contour points and configures corresponding serial numbers for the contour points according to the sorting of the sampled pixel points within the outer contour; wherein, the boundary points in the map boundary are the pixel points constituting the outer contour. Thereby suppressing the number of contour points searched by the robot in step D. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 is a schematic flowchart of a target navigation point search method based on a robot walking along an edge according to an embodiment of the present application. EMBODIMENTS
[0020] Embodiments of the present invention will be described in detail below. The illustrated embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. In addition, if there are terms "first" and "second", they are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present invention, the meaning of "at least" is one or more than one, unless otherwise specifically defined.
[0021] The robot in each embodiment of the present application generally refers to any mechanical device that can highly autonomously perform multiple indoor space movements in its environment. For example, it can be a floor cleaning robot, a companion robot, a guiding robot, etc., or a purifier, an unmanned vehicle, etc. Taking a robot capable of performing floor cleaning tasks (simply referred to as a cleaning robot (such as a floor cleaning robot, a mopping robot, etc.)) as a typical application of a mobile robot, the navigation, path planning, path node search, and map construction of the present application are exemplarily described. Of course, for different robot forms, the work tasks they perform will also be different, which is not limited herein.
[0022] In the global edge cleaning scenario of the prior art, the floor cleaning robot repeatedly moves around the gaps between the table legs under the table. The floor cleaning robot will be navigated to the positions that have been traversed, that is, after the floor cleaning robot escapes to the traversed positions, it re-enters the vicinity of the island area occupied by the table legs along the established global edge path and repeatedly walks along the edge, resulting in the floor cleaning robot being trapped in the circular area formed by the walking trajectories. Then the floor cleaning robot keeps walking along the edge and cannot come out, and the global edge cleaning cannot end either.
[0023] In another global edge cleaning scenario of the prior art, a movable obstacle is placed near a sofa, and an entrance position for the floor cleaning robot to enter the sofa is set based on the obstacle. For example, the entrance position is located between the obstacle and the sofa; when the floor cleaning robot performs global edge cleaning, it enters the bottom of the sofa through the entrance position, walks around the boundaries of the bottom of the sofa and the obstacle, and returns to the entrance position to end a global edge cleaning, including circling around the legs of the sofa; then it can leave the bottom of the sofa through the entrance position. If the obstacle is removed after the floor cleaning robot enters the bottom of the sofa, the floor cleaning robot cannot identify the original entrance position based on the position of the obstacle. Therefore, for the floor cleaning robot that is performing global edge cleaning, to maintain the edge cleaning mode, it keeps walking along the boundaries of the bottom of the sofa and the obstacle. Sometimes the floor cleaning robot may navigate to a position far from the outer side of the sofa, and the position far from the outer side of the sofa has been marked as a position where the floor cleaning robot has walked along the edge during the global edge cleaning process. Then, after the floor cleaning robot enters the position where it has walked along the edge, it returns to the bottom of the sofa and continues to perform global edge cleaning, resulting in the floor cleaning robot repeatedly circling in the middle area of the bottom of the sofa and being unable to find the correct exit (i.e., the aforementioned entrance position) to exit the global edge cleaning mode. Therefore, the floor cleaning robot cannot leave the sofa by means of global edge cleaning (inner edge cleaning).
[0024] To overcome the problem that the robot repeatedly circles around the edge of the obstacle or is trapped in a specific shaped area covered by the obstacle, this embodiment discloses a method for searching target navigation points based on the robot's edge walking, as Figure 1 shown, the method for searching target navigation points includes: Step A: During the process of the robot walking along the boundary of the working area, each position point it has walked through is marked as a global edge point, and an intersection point is obtained. The intersection point can be obtained based on the intersection of two edge segments formed by the corresponding position points that have been walked through, so that the robot starts to enter the local area through the intersection point; then step B is executed. Here, the local area is located within the working area. In some embodiments, the local area includes areas such as the area where the floor cleaning robot in the aforementioned global edge cleaning scenario walks around the table legs and the area where the floor cleaning robot repeatedly circles at the bottom of the sofa in the aforementioned global edge cleaning scenario, which may cause the robot to be unable to normally perform global edge cleaning to return to the edge starting point; the starting point of the global edge cleaning of the floor cleaning robot in an area is denoted as the edge starting point.
[0025] The robot in step A is in the global edge-following walking mode, enabling the robot to start walking from the edge-following starting point without obstacle blockage and walk around the boundary of the working area and then return to the edge-following starting point. During the process of the robot walking along the boundary of the working area, each position point it passes through can be marked as a global edge-following point by the motion sensor. If the robot constructs a map in real time, each position point it passes through will be marked in the corresponding grid of the map, and thus each global edge-following point has a corresponding grid in the map. However, in the case of obstacle blockage, such as in the aforementioned global edge-following cleaning scenario, it is necessary to first search for a point where the robot can confirm that it has walked around the obstacle based on the connection situation between multiple global edge-following points (such as features like the angles formed between adjacent line segments) and the turning situation of the robot walking along the boundary of the working area, and obtain the intersection point required to enter the local area. Then, in the global edge-following walking mode, the robot can walk to the intersection point and enter the local area through the intersection point, causing the robot to be trapped in the local area. Then, global edge-following walking can be performed within the local area, which may cause the robot to repeatedly circle around some obstacles within the local area and be unable to escape, or repeatedly walk along the edge of a certain obstacle. Therefore, it is necessary to continue to execute the subsequent steps to search for the target navigation point to escape from the local area.
[0026] The motion sensor can be a single type of sensor or a combination of multiple types of sensors, and is used to collect the own working data of the robot during the movement process. Common motion sensors include gyroscopes, accelerometers, odometers, collision sensors, edge sensors, etc. The information collected by the motion sensor is usually the rotation angle information, speed information, collision information, wall-following information, etc. of the robot during the walking process, which are collectively referred to as motion information. The motion information is used to characterize the self-movement situation of the robot during the wall-following walking process and is recorded as the body pose situation of the robot during the walking process along the boundary of the working area in step A.
[0027] Step B: The robot extracts the outer contour from the constructed map and then executes step C. In this application, the intersection point is used to represent the entrance position of the local area, and thus represents the entrance for the robot to enter the inner edge-following from the global edge-following. Among them, the robot walking around the boundary of the working area is characterized by global edge-following walking, and the robot walking around the boundary of the local area is characterized by inner edge-following.
[0028] In step B, the robot has entered the local area through the intersection point, and the significance of this intersection point is to find the boundary point of the local area more quickly. When the robot enters the local area, the robot still maintains real-time map construction to reflect the environmental information where the robot is located. Of course, the robot may have obtained the boundary information of the entire working area and uses the outer contour to represent it.
[0029] In order to make the outer contour smoother, it is necessary to perform image processing on the map in advance and then extract the outer contour, wherein the outer contour can be regarded as processed by the boundary line of the map, and then the position information of the outer contour can be converted into raster information and saved in the map, so that in the subsequent search for the outer contour, its continuity and the degree of interference of the robot walking along the boundary of the working area can be evaluated, so as to speed up the search for navigation points that are meaningful for escaping (for the aforementioned global cleaning scenario).
[0030] Step C, the robot extracts the contour point closest to the intersection from the outer contour, and then marks the extracted contour point as the search starting point; then executes step D; wherein the outer contour is composed of multiple contour points, and the multiple contour points here can be sampled at a certain interval in the outer contour, and then the contour point closest to the intersection is selected from these contour points as the search starting point, but the search starting point is not necessarily the first contour point in the outer contour saved in the map.
[0031] Step D, starting from the search starting point, performing neighborhood detection on the contour points along the outer contour, and the neighborhood detection can be performed on each contour point one by one within a certain search range; and marking the contour points as edge points or non-edge points according to the situation of detecting global edge points in the neighborhood of the contour points, and counting the number of edge points and the number of non-edge points respectively, until the target navigation point is determined in combination with the number of edge points and the number of non-edge points, so that the robot avoids the local area by walking to the target navigation point, so as to achieve the purpose of the robot escaping from the local area; achieving the target navigation point searched out in the outer contour tends to guide the robot to avoid the local area through the global edge walking mode.
[0032] It should be noted that the local area is used to surround the target obstacle so that the target obstacle is located within the local area. The target obstacle is an obstacle that the robot needs to bypass or walk along the edge when in the global edge-following walking mode, and it belongs to the inner edge relative to walking along the boundary of the working area. In some embodiments, when the robot enters the local area but has not determined the target navigation point, it may repeatedly circle around the target obstacle, and the movement trajectory of the robot forms a closed figure, which can be entirely located inside the local area. Preferably, the closed figure formed by the movement trajectory of the robot is an annular area. When the target navigation point has not been determined (when step D has not been executed), the robot walks along the boundary of the annular area and keeps circling repeatedly within the annular area in the global edge-following walking mode, which is equivalent to repeatedly circling around the target obstacle. Then, the robot cannot end the edge-following walking within the annular area and is trapped within the annular area. Therefore, the local area is led out through the intersection point, and further, the timing of executing step B, step C, and step D and the necessity of searching for the target navigation point are determined.
[0033] The global edge-following walking mode includes a walking mode in which the robot starts from a pre-set edge starting point and walks along the boundary of its current area for one circle and returns to the edge starting point. Corresponding to step A, it is that the robot walks along the boundary of the working area for one circle, which forms an outer edge relative to the robot bypassing the target obstacle or walking along the edge of the target obstacle.
[0034] In step D, during the neighborhood detection in the outer contour, after continuously searching for multiple contour points, the number of contour points with global edge points in the neighborhood and the contour points without global edge points in the neighborhood are compared respectively. Among them, the edge-points are the contour points with global edge points in the neighborhood, indicating that the robot walks along the contour where the edge-points are located or bypasses the edge-points during the process of walking along the boundary of the working area; the non-edge points are the contour points without global edge points in the neighborhood, indicating that the robot does not walk along the contour where the edge-points are located or does not bypass the edge-points during the process of walking along the boundary of the working area.
[0035] In summary, when the robot determines to enter the local area through the intersection, the continuity of the outer contour and the degree of obstruction of the robot's global walking along the edge are evaluated by the number of points along the edge and the number of points not along the edge, and a navigation point with escape significance (for the aforementioned global cleaning scenario) is searched out in the local area based on the evaluation result as the target navigation point. Then the robot will walk from the current position point to the target navigation point to avoid the robot entering a path of repeated walking along the edge after entering the local area, especially to prevent the robot from entering a path of repeated walking along the edge based on the intersection (including a path of repeatedly walking along the edge of the same fixed obstacle in the local area or a path of repeatedly circling in the gap between several obstacles), that is, to prevent the robot from entering the local area and being trapped.
[0036] On the basis of the above embodiment, the target navigation point is located outside the local area, and the intersection is not the target navigation point. Since the intersection can represent the entrance position of the local area, the target navigation point deviates from the intersection to the outside of the local area by a distance, and the distance can be associated with the body width of the robot, so as to prevent the robot from returning to the inside of the local area by walking along the edge after navigating to the target navigation point. In particular, when the target navigation point is an intersection, or the target navigation point is a position point that the robot has walked along the boundary of the working area or the boundary of the local area or along the edge of an obstacle, after the robot navigates to the target navigation point, it may walk back to the local area along the boundary of the working area to continue walking around the obstacle. Therefore, it is still necessary to configure the position point where the robot has walked along the boundary of the working area and / or the position point where the robot has walked along the boundary of the local area before the robot walks to the target navigation point, so that the target navigation point does not exist. The robot can completely avoid the path that will be walked repeatedly by navigating to the target navigation point.
[0037] Based on the above embodiments, after the robot determines the target navigation point, starting from the current position point of the robot, it detours around the local area according to the boundary of the local area until it walks to the target navigation point. The way of detouring around the local area according to the boundary of the local area includes starting from the current position point of the robot, moving in the direction of the un-walked area, bypassing the boundary of the local area, and walking towards the target navigation point; when the target obstacle occupies the entire local area, detouring around the local area according to the boundary of the local area is to detour around the target obstacle according to the edge of the target obstacle until it walks to the target navigation point, so as to bypass the obstacle in the local area and walk towards the target navigation point. Among them, the target navigation point is an un-walked contour point of the robot in the working area, then there is no target navigation point among the position points walked by the robot along the boundary of the working area and / or the position points walked by the robot along the boundary of the local area; therefore, by walking towards the target navigation point, it is prevented that the robot uses the walked contour points to return to the local area and is trapped in the local area for circular motion.
[0038] Further, after the robot walks to the target navigation point and is still in the global edge-following walking mode, the robot can continue to walk along the boundary of the working area or detour around the local area according to the boundary of the local area, so that the robot can get out of the circular motion around the obstacle in the local area.
[0039] Preferably, when the robot is at the intersection point (the real-time position point where it starts to enter the local area), it needs to navigate to the target navigation point through at least one connection path (including the edge-following path). The robot selects the most suitable connection path as the optimal connection path according to the obstacle position information, the map boundary features (subsequently processed as the outer contour) in the pre-stored map or other factors, so as to improve the navigation efficiency of the robot moving from the current position to the target navigation point.
[0040] Specifically, the process of the robot walking along the boundary of the working area disclosed in the foregoing embodiments is an action performed by the robot in the global edge-following walking mode, which makes the robot walk around the boundary of the working area and return to the global edge-following starting point, belonging to the edge-following motion of the robot along the outer contour of the working area; among them, the global edge-following starting point is the starting point where the robot walks along the boundary of the working area in the global edge-following walking mode; the global edge-following starting point is pre-set, but it is not the intersection point nor the target navigation point.
[0041] Since this application specifies that the robot remains in the global edge-following mode, after the robot enters the local area through the intersection point, it is still in the global edge-following mode, but it is already on the inner edge of the working area, mainly walking along the edge of the obstacles within the local area. In some embodiments, the robot can walk around the boundary of the local area and return to the intersection point to perform edge-following motion; or the robot repeatedly circles within the local area, and at this time, it is blocked by the target obstacle and circles around the target obstacle repeatedly, and the robot is trapped within the local area. For example, if the robot walks around the edge of the target obstacle and returns to the position where it has already followed the edge, the robot does not stop running the global edge-following mode within the local area. As the inner edge within the working area of the robot, it will continue to enter and repeat the edge-following motion around the target obstacle, that is, repeatedly circle around the target obstacle. Therefore, it is urgent to control the robot to navigate to the target navigation point to prevent the robot from returning to the path it has already traveled, stop performing edge-following motion within the local area, so that the robot can get out of the circular motion around the target obstacle and then leave the local area.
[0042] It should be noted that the global edge-following mode is a walking mode in which the robot starts from a pre-set edge-following starting point and walks around the boundary of its current area and returns to the edge-following starting point, or a walking mode in which the robot starts from a pre-set edge-following starting point and walks around the edge of the obstacles within its current area and returns to the edge-following starting point; among them, walking around the boundary of its current area starting from the pre-set edge-following starting point is recorded as the outer edge, which can be understood as walking around the area contour; in addition, walking around the edge of the obstacles within its current area starting from the pre-set edge-following starting point is recorded as the inner edge, which can be understood as walking around the contour of the isolated obstacles within the area. Thus, the global edge-following mode is set respectively from two scenarios (outer edge and inner edge scenarios) of walking along the area boundary and walking along the edge of the obstacles within the area to improve the environmental adaptability of the robot's edge-following.
[0043] Based on the foregoing embodiments, the area where the robot is currently located is the working area described in step A, and the robot walking along the boundary of the working area is the global edge-following mode executed by the robot, denoted as global edge-following, which can also be understood as the outer edge; when the robot enters the local area, the robot starts the inner edge, but the inner edge is easily trapped by the target obstacle within the local area. In the target navigation point search scenario of this application, the robot is in the global edge-following mode, and determines the target navigation point through executing the target navigation point search method to avoid the local area and prevent entering the local area again (for example, the geometric center of the robot does not fall into the local area).
[0044] As an embodiment, in the step D, the method of starting from the search starting point, detecting the neighborhood of the contour points along the outer contour, and marking the edge-followed points and non-edge-followed points according to the situation of the globally edge-aligned points detected in the neighborhood of the contour points includes: The robot starts from the search starting point, searches for contour points along the outer contour, and performs neighborhood detection on each contour point one by one until the last sorted contour point in the outer contour is searched. Among them, the search starting point is not necessarily the first sorted contour point in the outer contour, and the first sorted contour point in the outer contour (the edge-starting point of the outer contour) may be sorted more forward relative to the search starting point in the outer contour.
[0045] In this embodiment, the neighborhood detection is that when the robot enters the local area through the intersection point, the robot detects whether there are globally edge-aligned points in the neighborhood of each contour point in the outer contour in the map to confirm whether each position point in the neighborhood of the contour point (regarded as the nearby area of a single contour point) has been traversed by the robot.
[0046] If a globally edge-aligned point is detected in the neighborhood of the currently searched contour point, the currently searched contour point is marked as an edge-followed point, and it is determined that the robot has traversed the currently searched contour point or the path where the currently searched contour point is located in the global walking mode (it can be the movement trajectory formed by the robot in the global edge-following walking mode, such as the edge-following path formed by walking along the boundary of the working area). If there is no globally edge-aligned point in the neighborhood of the currently searched contour point, the currently searched contour point is marked as a non-edge-followed point, and it is determined that the robot has not traversed the currently searched contour point in the global walking mode. Preferably, the aforementioned edge-followed points are detected and searched first, and then the aforementioned non-edge-followed points are detected and searched to explore the contour points extending to the non-walked area.
[0047] Specifically, the method of performing neighborhood detection for each contour point includes: The robot searches for each contour point in the outer contour in a clockwise or counterclockwise direction. In this embodiment, the starting point for the first neighborhood detection is the contour point in the outer contour that is closest to the intersection point, rather than the contour point with the earliest order in the outer contour (i.e., the starting point along the edge in the outer contour). Whenever a contour point is searched, the neighborhood of the currently searched contour point is detected; if a global edge point is detected within the neighborhood of the currently searched contour point, it is determined that there is a global edge point within the neighborhood of the currently searched contour point; if no global edge point is detected within the neighborhood of the currently searched contour point, it is determined that there is no global edge point within the neighborhood of the currently searched contour point; wherein, the neighborhood includes a region composed of position points adjacent in multiple symmetric directions centered on the currently searched contour point. Preferably, the neighborhood of a contour point includes the four-neighborhood of the contour point (corresponding to the neighborhoods in the four centrosymmetric directions of up, down, left, and right) or the eight-neighborhood of the contour point (corresponding to the neighborhoods in the eight centrosymmetric directions of up, down, left, right, upper left, upper right, lower left, and lower right), to achieve four-neighborhood or eight-neighborhood detection. In summary, in this embodiment, within the search range between the search starting point and the contour point with the last order in the outer contour, the edge-traversed points and non-edge-traversed points are respectively marked in combination with the distribution of global edge points within the neighborhoods of each contour point, providing a judgment basis for the search of the target navigation point.
[0048] Based on the above embodiment, in step D, the method of determining the target navigation point by combining the number of edge-traversed points and the number of non-edge-traversed points includes: When the counted number of edge-traversed points is greater than or equal to a first preset number, and the counted number of non-edge-traversed points is greater than or equal to a second preset number, the currently searched contour point is marked as the target navigation point; wherein, the number of contour points continuously searched by the robot along the outer contour is less than or equal to the maximum number of contour points required to form the outer contour. In some embodiments, the first preset number may be greater than or equal to the second preset number; both the first preset number and the second preset number are preferably the numerical value 3; or, the first preset number is preferably the numerical value 3, and the second preset number is preferably the numerical value 2.
[0049] Schematically, the robot determines the search starting point at the intersection and searches for the target navigation point from the search starting point in the nearby area; when the first preset quantity is preferably the value 3 and the second preset quantity is preferably the value 2, after the robot continuously searches for 3 edge-followed points and then continues to search for 2 non-edge-followed points, the latest searched contour point is marked as the target navigation point. At this time, the robot has extended at least 2 contour points from the latest detected global edge-followed points to the un-walked boundary (the position not edge-followed by the robot), so as to determine the target navigation point among the un-walked contour points in the working area of the robot.
[0050] In the step D, it can be determined simultaneously whether the counted number of edge-followed points is greater than or equal to the first preset quantity and whether the counted number of non-edge-followed points is greater than or equal to the second preset quantity, and a unified navigation point determination condition is formed; when the determinations of the number of edge-followed points and the number of non-edge-followed points are both established, the currently searched contour point is marked as the target navigation point, otherwise a new search starting point is selected and the determinations of the number of edge-followed points and the number of non-edge-followed points are made within a larger contour point search range.
[0051] In summary, relative to the case where the global edge-followed points marked during the process of the robot walking along the boundary of the working area may be less continuous due to isolated obstacles, the target navigation point determined by the present application in combination with the number of edge-followed points and the number of non-edge-followed points is more likely to guide the robot in the direction of extending along the global edge (which can be understood as the direction of walking along the global edge, including the clockwise or counterclockwise extension direction of the boundary of the working area), making the target navigation point a key point for the robot to maintain the global edge-following walking mode at the boundary of the working area.
[0052] Based on the above embodiments, if the edge following maintained by the robot on the boundary of the working area is interrupted (obstructed by obstacles, resulting in possible discontinuities, interferences, or misjudgments in some global edge points and contour points), it is necessary to comprehensively detect each contour point of the outer contour, rather than being limited to the search range between the search starting point (the contour point closest to the intersection point extracted from the outer contour) and the last sorted contour point in the outer contour. Therefore, in step D, the method of determining the target navigation point by combining the number of edge-followed points and the number of non-edge-followed points further includes: when the robot searches along the outer contour from the search starting point to the last sorted contour point, if the counted number of edge-followed points is less than the first preset number, and / or the counted number of non-edge-followed points is less than the second preset number, it is determined that the search along the outer contour starting from the search starting point fails to reach the target navigation point, and the numbers of both the edge-followed points and the non-edge-followed points are cleared. Then, the robot starts from the first sorted contour point in the outer contour, searches for contour points along the outer contour, and marks the edge-followed points and non-edge-followed points respectively according to the situation of searching for global edge points in the neighborhood of the contour points. This involves performing neighborhood detection for each contour point one by one. At the same time, the robot separately counts the number of edge-followed points and the number of non-edge-followed points until it searches to the last sorted contour point in the outer contour; where the first sorted contour point in the outer contour is ranked more forward in the outer contour relative to the search starting point; the first sorted contour point in the outer contour can be regarded as the starting point of edge following of the outer contour, that is, the starting point for the robot to walk along the outer contour in the global edge following mode, making the starting point of edge following of the outer contour ranked more forward in the outer contour relative to the search starting point.
[0053] During the process of searching for contour points along the outer contour, and specifically during the process of searching from the first sorted contour point in the outer contour to the last sorted contour point in the outer contour, there is a situation where: when the counted number of edge-followed points is greater than or equal to the third preset number, and the counted number of non-edge-followed points is greater than or equal to the fourth preset number, the currently searched contour point is marked as the target navigation point; where the third preset number is greater than the first preset number, the fourth preset number is greater than the second preset number, and the third preset number is greater than the fourth preset number. This realizes re-searching for a target navigation point with better continuity, passability, and easier access to the target navigation point in the non-walked area when the search for the target navigation point starting from the search starting point fails.
[0054] Preferably, the third preset number is set to the value 10, the fourth preset number is set to the value 4, the first preset number is set to the value 3, and the second preset number is set to the value 2.
[0055] Schematically, when the robot starts searching along the outer contour from the search starting point and reaches the last sorted contour point, if the counted number of points along the edge is less than the first preset number, and / or the counted number of points not along the edge is less than the second preset number, it is determined that there are no global edge points near the contour point closest to the intersection point, and there is a large un-walked area. Therefore, the robot will start a global search from the first sorted contour point in the outer contour. For example, starting from contour point point[0] (the first contour point in the outer contour), if there are global edge points in the neighborhood of each contour point from point
[10] (the 11th contour point in the outer contour) to point
[19] (the 20th contour point in the outer contour) during the search, and there are no global edge points in the neighborhood of each contour point from point
[20] (the 21st contour point in the outer contour) to point
[23] (the 24th contour point in the outer contour) in the subsequent search, then contour point point
[23] is marked as the target navigation point.
[0056] It should be noted that each contour point forming the outer contour is stored in the same memory space, and each contour point is sorted according to the extension direction of the outer contour, and each contour point is configured with a corresponding serial number; the extension direction of the outer contour is clockwise or counterclockwise to form a circle. When the robot starts from the first sorted contour point and searches each contour point according to the extension direction of the outer contour until it reaches the last sorted contour point, the robot completes the global search of the outer contour, and the cumulative number of searched contour points is the maximum number of contour points required to form the outer contour. At this time, step D stops searching for contour points and performing neighborhood detection. Corresponding to the actual walking scenario of the robot, the robot completes walking along the boundary of the working area or along the boundary of the current area for one circle, and then the robot can stop walking along the edge; among them, the first sorted contour point is the earliest stored contour point, and no restrictions are placed on its specific physical environment position or map grid position.
[0057] Inside the outer contour, when the serial number of the last sorted contour point is the largest, the serial number of the first sorted contour point is the smallest, then the serial numbers of each contour point forming the outer contour increase according to the extension direction of the outer contour, which is convenient for step D to count the number of points along the edge and the number of points not along the edge, and is also beneficial to converting the outer contour into the coordinate information of the grid map.
[0058] Inside the outer contour, when the serial number of the last sorted contour point is the smallest, the serial number of the first sorted contour point is the largest, then the serial numbers of each contour point forming the outer contour decrease according to the extension direction of the outer contour, which is convenient for step D to count the number of points along the edge and the number of points not along the edge, and is also beneficial to converting the outer contour into the coordinate information of the grid map.
[0059] Based on the foregoing embodiments, step D further includes: when the robot searches along the outer contour to the contour point with the last sorting, if the counted number of points that have followed the edge is less than the third preset number, and / or the counted number of points that have not followed the edge is less than the fourth preset number, the robot marks the contour point closest to the intersection point in the outer contour as the target navigation point, stops searching the outer contour and walks towards the newly marked target navigation point, that is, the robot walks from the intersection point to the contour point closest to the outer contour in order to get out of the local area. Since there is a position deviation between the intersection point and the contour point closest to it, navigating to the contour point closest to the intersection point can avoid entering the local area again.
[0060] As an embodiment, the method for the step A to obtain the intersection point includes: during the process of the robot walking along the boundary of the working area, the rotation angle of the robot is detected in real time through the gyroscope inside the robot, and a line segment intersection judgment is made every time two position points are walked through. When the robot detects that the change value of its rotation angle reaches 360 degrees and judges that there is a line segment intersection, the intersection point is recorded, and it is determined that the robot enters the local area, where the intersection point is used to represent the entrance position of the local area; at this time, after the robot bypasses or walks along the edge for one week in the working area and detects the intersection point, it enters the entrance position of the local area, and then starts to walk along the edge in the local area. The robot is still in the global edge-walking mode to continue walking along the boundary of the local area or along the boundary of the target obstacle in the local area. Due to the distribution characteristics of the target obstacle in the working area, such as forming a gap that does not allow the robot to pass through or restricting the robot from repeatedly returning to the same position point and repeating the edge-walking (repeatedly circling) based on this position point, it may cause the robot to walk along the boundary of the local area for one circle and return to the intersection point or the robot to repeatedly circle in the local area. Then, steps B to D need to be executed subsequently to search for the target navigation point to get out of the local area. Therefore, in this embodiment, it is determined whether the robot starts to enter the local area by judging the intersection point, and further determines whether the robot has a tendency to be trapped in the local area.
[0061] It should be noted that the significance of setting the intersection point is to find the boundary point for entering the local area to walk along the edge faster, and at the same time, it also prompts the robot to speed up the search for the target navigation point, preventing the robot from continuously circling around the obstacle and being unable to get out after determining to enter the local area in step A. When the local area is completely covered by obstacles, the intersection point refers to the intersection point of the walking trajectory detected after the robot circles around the obstacle for one circle. Preferably, the robot starts from a starting point and circles around an obstacle clockwise for one circle. When the robot returns to the starting point, the starting point is set as the intersection point.
[0062] The rotation angle of the robot refers to the radian spanned from the start of walking along the edge (also known as wall-following movement) to the end of walking along the edge during the entire process of the robot walking along the outer contour wall of the current working environment (such as the boundary of the working area). In one embodiment, the rotation angle of the robot is 360 degrees in a full circle, so that the robot returns to the starting point after walking along the outer contour wall of the current working environment for a full circle.
[0063] In the above embodiment, the method for judging line segment intersection includes: during the process of the robot walking along the boundary of the working area, every time the robot walks to a position point, the line segment connecting the current position point of walking and the previous position point of walking is recorded as an edge-following line segment; during the process that the robot walks through at least three position points, the currently recorded edge-following line segment and the previously recorded edge-following line segment are obtained in sequence. Specifically, after the robot walks through at least three position points, at least two edge-following line segments have been recorded, and there are two of the edge-following line segments that are connected, which are the currently recorded edge-following line segment and the previously recorded edge-following line segment respectively.
[0064] The robot judges whether the currently recorded edge-following line segment intersects with the previously recorded edge-following line segment. The currently recorded edge-following line segment and the previously recorded edge-following line segment can be recorded as adjacent line segments, and features such as the included angle formed between the adjacent line segments (corresponding to the included angle between adjacent outer contour line segments within the working area) can determine whether they intersect and generate the intersection point.
[0065] When the currently recorded edge-following line segment intersects with the previously recorded edge-following line segment, the robot calculates the intersection point between the adjacent two recorded edge-following line segments, which is specifically obtained by solving the system of linear equations of the adjacent two recorded edge-following line segments; then the intersection point is marked as the intersection point. By marking the intersection point of the adjacent two recorded edge-following line segments as the intersection point, the robot can judge whether it enters the local area in real time through the intersection point.
[0066] When the currently recorded edge-following line segment does not intersect with the previously recorded edge-following line segment, the robot cannot judge the intersection point at present, and then the robot continues to walk along the edge without entering the local area, including but not limited to walking along the boundary of the working area and walking along the edge of the obstacle.
[0067] It should be noted that the robot constructs a map in real time during the process of walking along the boundary of the working area. Each position point where the robot walks corresponds to a grid in the map constructed in real time. Each pixel point that makes up the outer contour corresponds to a grid in the map constructed in real time, generating a grid map with the outer contour corresponding to the working area and the walking trajectory of the robot. In the map constructed in real time, a position point where the robot is currently walking is the center of the grid that the robot has walked through currently, and a position point where the robot walked last time is the center of the grid that the robot has walked through last time. The line connecting a position point where the robot is currently walking and a position point where the robot walked last time is the line segment connecting the center of the grid that the robot has walked through currently and the center of the grid that the robot has walked through last time. Preferably, the two grids that the robot walks through each time are the grids corresponding to two adjacent position points that the robot walks along the boundary of the working area. Here, the two adjacent position points are such that the coordinate value of one position point increases by 1 in at least one direction relative to the other position point. The two adjacent position points are respectively a position point where the robot is currently walking and a position point where the robot walked last time in the actual walking scenario of the robot.
[0068] Therefore, every time the robot walks through the position points corresponding to two grids, it is determined whether the line connecting the centers of the two grids walked through currently intersects with the line connecting the centers of the two grids walked through last time. If so, it is determined that a line segment intersection occurs, and the intersection point between the line connecting the centers of the two grids walked through currently (recorded as the edge line segment) and the line connecting the centers of the two grids walked through last time (recorded as the edge line segment) is marked as the intersection point. Otherwise, it is determined that no line segment intersection occurs; it is realized that a line segment is formed between each newly marked grid and the previous grid, and then a line segment intersection judgment is made with the previously recorded line segments, and the intersection point of the intersection is determined to be the intersection point.
[0069] As an embodiment, in step B, the method for extracting the outer contour includes: after the robot obtains the intersection point, it starts to enter the local area, and at the same time, the map constructed by the robot is binarized to obtain a binarized map; then, the binarized map is subjected to dilation processing and erosion processing, which can fill the positions of obstacles or passable positions to form a more continuous and smooth contour; then, the map boundary is extracted from the binarized map after dilation processing and erosion processing, which is equivalent to extracting the closed contour after image optimization; then, the map boundary is marked as the outer contour; the outer contour is used to represent the boundary of the working area, and can also characterize the wall at the outermost edge of the working area or the boundary points that maintain a certain distance from the wall at the outermost edge of the working area.
[0070] In this embodiment, during the process that the robot walks along the boundary of the working area or walks within the local area, based on the position information of the outer contour, the robot generates an edge-following map with the outer contour boundary corresponding to the current working environment, which corresponds to the map constructed by the robot; during the process that the robot walks along the boundary of the working area, the robot can choose to perform a dilation operation on the obstacle coverage area based on the body radius of the robot, set the obstacle positions in the edge-following map as passable positions, or fill the obstacle position points into the corresponding positions in the edge-following map to match the range limit formed by the robot's edge-following walking or repeated circular walking.
[0071] In the map constructed by the robot, the map boundary that has not undergone binarization processing, dilation processing, and erosion processing is marked during the process that the robot walks along the preset planned path in the working area before executing step A. Among them, the preset planned path is preferably a bow-shaped path. The robot's walking along the bow-shaped path is manifested as follows: the robot first walks straight. When it moves to the wall or the map boundary position, the robot turns 90 degrees to one side, then moves forward by one or half of the body width, then turns 90 degrees again, and then walks straight again. At this time, the walking direction is opposite to the starting straight walking direction. After the robot repeats walking like this, a moving path formed by several parallel lines is obtained as the bow-shaped path. The robot walks along the bow-shaped path in the working area and scans the map boundary in each direction. The map boundaries scanned in each direction form a contour, or multiple contour line segments can also be fitted in the map to form a contour, initially forming the outer contour features in the map. The outer contour features include features such as the line segment positions, line segment lengths, line segment extension directions, and the included angles formed between adjacent line segments that make up the map boundary.
[0072] In some embodiments, step B further includes: in the binarized map after dilation processing and erosion processing, the robot samples the pixel points that make up the outer contour at a certain sampling frequency, so that the robot samples one pixel point every preset number of pixel points; when the robot starts from the contour point / pixel point with the earliest sorting and samples each contour point along the extension direction of the outer contour until it searches to the contour point / pixel point with the latest sorting, the robot completes the global search and sampling of the outer contour, and the cumulative number of sampled contour points is equal to the maximum number of contour points required to form the outer contour.
[0073] In step B, the boundary points in the map boundary are the pixel points that make up the outer contour. The pixel points sampled by the robot are sampled when searching for each pixel point in a clockwise or counterclockwise direction starting from a preset pixel point (a pixel point located at or near the origin of the map coordinate system). For every preset number of pixel points searched, one pixel point is sampled. The robot marks every preset number of pixel points it searches as the pixel points sampled by the robot, and the preset number is preferably the value 3. This suppresses the number of contour points searched by the robot in step D.
[0074] It should be noted that the robot marks the sampled pixel points as the contour points and assigns corresponding serial numbers to the contour points according to the sorting of the sampled pixel points within the outer contour, so that each contour point is sorted in the extending direction of the outer contour.
[0075] Each contour point that makes up the outer contour is stored in the same memory space, and each contour point is sorted in the extending direction of the outer contour, and each contour point is assigned a corresponding serial number. Among them, the contour point with the earliest sorting is the earliest stored contour point. Within the outer contour, when the serial number of the contour point with the last sorting is the largest, the serial number of the contour point with the earliest sorting is the smallest, and the serial numbers of each contour point that makes up the outer contour increase in the extending direction of the outer contour. Within the outer contour, when the serial number of the contour point with the last sorting is the smallest, the serial number of the contour point with the earliest sorting is the largest, and the serial numbers of each contour point that makes up the outer contour decrease in the extending direction of the outer contour.
[0076] Obviously, the above embodiments are merely examples given for clear illustration and are not limitations on the implementation manners. For those of ordinary skill in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to enumerate all implementation manners here. And the obvious changes or modifications derived therefrom are still within the protection scope of the present invention.
Claims
1. A method for searching target navigation points based on a robot walking along the edge, characterized in that, The described target navigation point search method includes: Step A: During the process of the robot walking along the boundary of the working area, each position point it has passed through is marked as a global edge point, and intersection points are obtained, causing the robot to start entering the local area through the intersection points; then step B is executed; where the local area is located within the working area; Step B: The robot extracts the outer contour from the map it has constructed; then step C is executed; Step C: The robot extracts the contour point closest to the intersection point from the outer contour, and then marks the extracted contour point as the search starting point; then step D is executed; Step D: Starting from the search starting point, neighborhood detection is performed on the contour points along the outer contour, and the contour points are marked as edge-traversed points or non-edge-traversed points according to the situation of detecting global edge points within the neighborhood of the contour points, and the number of edge-traversed points and the number of non-edge-traversed points are respectively counted until the target navigation point is determined by combining the number of edge-traversed points and the number of non-edge-traversed points, causing the robot to avoid the local area by walking to the target navigation point; where the outer contour is composed of multiple contour points; Wherein, the boundary of the local area is used to enclose the target obstacle so that the target obstacle is located within the local area, and the target obstacle is an obstacle that the robot needs to bypass or an obstacle that the robot needs to walk along the edge when in the global edge-walking mode.
2. The target navigation point search method according to claim 1, wherein The target navigation point is located outside the local area, and the intersection point is not the target navigation point; Before the robot walks to the target navigation point, there is no target navigation point among the position points that the robot has walked along the boundary of the working area and / or the position points that the robot has walked along the boundary of the local area.
3. The target navigation point search method according to claim 2, wherein After the robot determines the target navigation point, starting from the current position point of the robot, it bypasses the local area according to the boundary of the local area until it walks to the target navigation point to avoid the local area; where the target navigation point is a contour point that the robot has not walked through within the working area.
4. The target navigation point search method according to claim 2, wherein The process of the robot walking along the boundary of the working area is an action performed by the robot when in the global edge-walking mode, causing the robot to walk around the boundary of the working area and return to the global edge starting point; where the global edge starting point is the starting point when the robot walks along the boundary of the working area in the global edge-walking mode; After the robot enters the local area through the intersection point, it is still in the global edge-walking mode, causing the robot to walk around the boundary of the local area and return to the intersection point or the robot to repeatedly circle around the target obstacle within the local area.
5. The target navigation point search method according to claim 4, wherein, The global edge-walking mode is a walking mode in which the robot starts from a pre-set edge starting point and walks around the boundary of its current area and returns to the edge starting point or a walking mode in which the robot starts from a pre-set edge starting point and walks around the edge of an obstacle within its current area and returns to the edge starting point.
6. The target navigation point search method according to claim 1, wherein In the step D, the method of starting from the search starting point, detecting the neighborhood of the contour points along the outer contour, and marking the edge-followed points and non-edge-followed points according to the situation of the globally edge-along points detected in the neighborhood of the contour points includes: The robot starts from the search starting point, searches for contour points along the outer contour, and performs neighborhood detection on each contour point until the last sorted contour point in the outer contour is searched; If a globally edge-along point exists in the neighborhood of the previously searched contour point, the currently searched contour point is marked as an edge-followed point; If no globally edge-along point exists in the neighborhood of the currently searched contour point, the currently searched contour point is marked as a non-edge-followed point.
7. The target navigation point search method according to claim 6, wherein In the step D, the method of determining the target navigation point by combining the number of edge-followed points and the number of non-edge-followed points includes: When the counted number of edge-followed points is greater than or equal to the first preset number, and the counted number of non-edge-followed points is greater than or equal to the second preset number, the currently searched contour point is marked as the target navigation point; Wherein, the number of contour points continuously searched by the robot along the outer contour is less than or equal to the maximum number of contour points required to form the outer contour.
8. The target navigation point search method according to claim 7, wherein In the step D, the method of determining the target navigation point by combining the number of edge-followed points and the number of non-edge-followed points further includes: When the robot searches from the search starting point along the outer contour to the last sorted contour point, if the counted number of edge-followed points is less than the first preset number, and / or the counted number of non-edge-followed points is less than the second preset number, the numbers of the edge-followed points and the non-edge-followed points are respectively cleared to zero, and then the robot starts from the first sorted contour point in the outer contour, searches for contour points along the outer contour, and marks the edge-followed points and non-edge-followed points respectively according to the situation of searching for globally edge-along points in the neighborhood of the contour points. At the same time, the numbers of the edge-followed points and the non-edge-followed points are respectively counted until the last sorted contour point in the outer contour is searched; wherein, the first sorted contour point in the outer contour is more forward in sorting in the outer contour relative to the search starting point; During the process of searching for contour points along the outer contour, there is: When the counted number of edge-followed points is greater than or equal to the third preset number, and the counted number of non-edge-followed points is greater than or equal to the fourth preset number, the currently searched contour point is marked as the target navigation point; Wherein, the third preset number is greater than the first preset number, the fourth preset number is greater than the second preset number, and the third preset number is greater than the fourth preset number.
9. The target navigation point search method according to claim 8, wherein Each contour point forming the outer contour is stored in the same memory space, and each contour point is sorted according to the extension direction of the outer contour, and each contour point is configured with a corresponding serial number; When the robot starts from the first sorted contour point and searches for each contour point in the extension direction of the outer contour until the last sorted contour point is searched, the robot completes the global search of the outer contour, and the cumulative number of searched contour points is equal to the maximum number of contour points required to form the outer contour; wherein, the first sorted contour point is the earliest stored contour point; When the serial number of the last contour point in the outer contour is the largest, the serial number of the first contour point in the sorting is the smallest; When the serial number of the last contour point in the outer contour is the smallest, the serial number of the first contour point in the sorting is the largest.
10. The target navigation point search method according to claim 8, wherein The step D further includes: When the robot searches along the outer contour to the last contour point in the sorting, if the counted number of points along the edge is less than the third preset number, and / or the counted number of points not along the edge is less than the fourth preset number, the robot marks the contour point closest to the intersection point in the outer contour as the target navigation point, so that the robot stops searching the outer contour and walks towards the newly marked target navigation point.
11. The target navigation point search method according to claim 9, characterized in that The method for the step A to obtain the intersection point includes: During the process of the robot walking along the boundary of the working area, the rotation angle of the robot is detected in real time through the gyroscope inside the robot, and the line segment intersection judgment is made every time two position points are walked through in each row; When the robot detects that the change value of its rotation angle reaches 360 degrees and judges that there is a line segment intersection, the intersection point is recorded, and it is determined that the robot enters the local area, where the intersection point is used to represent the entrance position of the local area.
12. The target navigation point search method according to claim 11, wherein, The method for the line segment intersection judgment includes: During the process of the robot walking along the boundary of the working area, every time the robot walks to a position point, the line segment connecting the current position point walked and the previous position point walked is recorded as the edge segment; During the process of the robot walking through at least three position points, the currently recorded edge segment and the previously recorded edge segment are obtained in sequence; The robot judges whether the currently recorded edge segment intersects with the previously recorded edge segment; When the currently recorded edge segment intersects with the previously recorded edge segment, the robot calculates the intersection point between the adjacent two recorded edge segments, and then marks the intersection point as the intersection point; When the currently recorded edge segment does not intersect with the previously recorded edge segment, the robot cannot judge the intersection point currently.
13. The target navigation point search method according to claim 12, wherein, In the step B, the method for extracting the outer contour includes: After the robot obtains the intersection point, it starts to enter the local area, and at the same time, the map constructed by the robot is binarized to obtain a binarized map; then the binarized map is subjected to dilation processing and erosion processing, and then the map boundary is extracted from the binarized map after dilation processing and erosion processing, and the map boundary is marked as the outer contour; In the map constructed by the robot, the map boundary that has not been binarized, dilated, and eroded is marked during the process of the robot walking the working area according to the preset planned path before executing the step A.
14. The target navigation point search method according to claim 13, wherein The step B further includes: In the binarized map after dilation processing and erosion processing, the robot samples the pixel points forming the outer contour at a certain sampling frequency, so that the robot samples one pixel point every preset number of pixel points; The robot marks the sampled pixel points as the contour points and configures corresponding serial numbers for the contour points according to the sorting of the sampled pixel points in the outer contour; Among them, the boundary points in the map boundary are the pixel points forming the outer contour.