Cliff boundary determination method, robot and computer readable storage medium
By building environmental maps, clustering and filling cliff boundary points, the problem of time-consuming and repeated exploration of sweeping robots in exploring cliff boundary is solved, improving exploration efficiency and completing boundary data.
Patent Information
- Application Number
- CN202411988330.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-25
AI Technical Summary
The sweeping robot takes a long time to explore the cliff boundary and is prone to repeated exploration of a certain location, resulting in inefficient exploration.
By exploring environmental boundaries, building an environmental map, extracting cliff boundary points and clustering, identifying missing areas and filling them to obtain complete cliff boundary data.
Repeated detection of cliff boundaries is reduced, exploration efficiency is improved, and the cliff boundary area that is missed is completed, reducing exploration time.
Smart Images

Figure CN119867586A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of robotics technology, and in particular to a cliff boundary determination method, a robot, and a computer-readable storage medium. Background Art
[0002] When the sweeping robot is on the edge of a drop platform or stairs (along the wall), the ground detection sensor can detect the cliff area in front. The sweeping robot will retreat, rotate 90 degrees counterclockwise, move forward a short distance and then stop, rotate 90 degrees clockwise, and move forward. If the cliff is still detected, it will continue to retreat and repeat the above actions until it has explored the entire cliff boundary, such as the edge of the stairs or drop platform, and then continue normal cleaning.
[0003] This method of repeatedly checking whether there is a cliff ahead through ground inspection until all cliff boundaries are completely detected has the following defects: On the one hand, this exploration method is time-consuming, and each time you move forward, you can only determine whether there is a cliff at a point directly in front. If the edge of the cliff is particularly long, the exploration time will be longer. On the other hand, it is easy to repeatedly explore a certain location. The sweeping robot is on the drop platform, and the sweeping robot missed a small area during the exploration process and did not find the cliff. When the sweeping robot cleans later, it will return to the location to explore again, which will take more time to confirm the cliff boundary. Summary of the invention
[0004] One purpose of the embodiments of the present application is to provide a cliff boundary determination method, a robot, and a computer-readable storage medium to solve the technical problems of the sweeping robot provided by the related technology that is prone to take a long time and repeatedly explore the same location when exploring the cliff boundary.
[0005] In a first aspect, an embodiment of the present application provides a cliff boundary determination method, comprising:
[0006] Exploring the environment boundary and constructing an environment map, wherein the environment map includes a plurality of cliff boundary points extracted based on cliff terrain features, and a travel distance between at least two adjacent exploration actions based on the cliff terrain is configured to be greater than a preset unit travel step length;
[0007] Clustering all the cliff boundary points to obtain at least one cluster set;
[0008] Determine cliff boundary missing areas on the environment map according to each of the cluster sets;
[0009] The cliff boundary missing area is filled with the cliff boundary points.
[0010] Optionally, clustering all the cliff boundary points includes:
[0011] Taking the task boundary point as an anchor point, searching for adjacent boundary points within a preset search range, wherein the task boundary point is one of the selected unmarked cliff boundary points, and the adjacent boundary points are other unmarked cliff boundary points within the preset search range;
[0012] If the adjacent boundary point is found, the task boundary point is added to the cluster container and marked, and the search is continued with the adjacent boundary point as the new task boundary point;
[0013] If the adjacent boundary point is not found, the task boundary point is added to the clustering container and marked, a clustering is completed, and a corresponding clustering set is established based on all the cliff boundary points in the clustering container, and then a new task boundary point is selected from all the unmarked cliff boundary points until all the cliff boundary points are marked.
[0014] Optionally, taking the task boundary point as an anchor point and searching for adjacent boundary points within a preset search range includes:
[0015] Taking the task boundary point as an anchor point, searching for the adjacent boundary point within a first preset search range;
[0016] If no adjacent boundary point is found within the first preset search range, the search range is expanded in sequence to continue searching until the adjacent boundary point is found within the second preset search range or it is confirmed that the adjacent boundary point does not exist within the maximum preset search range.
[0017] Optionally, determining the cliff boundary missing area on the environment map according to each of the cluster sets includes:
[0018] Obtaining a connecting line segment between each two adjacent cliff boundary points in a target cluster set on the environment map, each of the at least one cluster set being sequentially used as the target cluster set;
[0019] The missing coordinate points in each of the connecting line segments are determined to obtain the cliff boundary missing area.
[0020] Optionally, obtaining a connecting line segment between every two adjacent cliff boundary points in the target cluster set on the environment map comprises:
[0021] Obtaining fitting features on the environment map according to each of the cliff boundary points in the target cluster set;
[0022] Establishing a sorting rule that matches the geometric direction of the fitting feature, wherein the sorting rule is used to determine the order in which each of the connecting line segments is obtained;
[0023] Based on the sorting rule, connecting line segments between every two adjacent cliff boundary points in the target cluster set on the environment map are obtained in sequence.
[0024] Optionally, obtaining fitting features on the environment map according to each of the cliff boundary points in the target cluster set includes:
[0025] Using the least square method to obtain the corresponding fitting line for the cliff boundary points in the target cluster set;
[0026] Determining the boundary of the fitting line according to the cliff boundary points in the target cluster set to obtain a corresponding fitting line segment;
[0027] The fitting line segments are superimposed on the environment map to obtain the fitting features of the target cluster set.
[0028] Optionally, after filling the cliff boundary points in the cliff boundary missing area, the method further includes:
[0029] Determine the intersection of the extended lines of every two fitting features that meet the adjacent condition, wherein the adjacent condition is that there is an intersection of the extended lines of the two fitting features, and the distance between the two is less than or equal to a preset threshold;
[0030] Determine the predicted cliff boundary between the corresponding two fitting features according to the intersection of the extension lines;
[0031] The cliff boundary points are filled in for the intersection points of the extension lines and the predicted cliff boundary.
[0032] Optionally, determining the intersection of the extended lines of every two fitting features that satisfy the adjacent condition comprises:
[0033] Determine whether the Manhattan distance between any two endpoints of the fitting features is less than or equal to the preset threshold;
[0034] If the Manhattan distance is less than or equal to the preset threshold, determining that the two fitting features meet the adjacent condition and obtaining the intersection of the extension lines corresponding to the two fitting features;
[0035] If the Manhattan distance is greater than the preset threshold, it is determined that the two fitting features do not satisfy the adjacent condition.
[0036] In a second aspect, an embodiment of the present application provides a robot comprising a memory and a processor, wherein the memory is connected to the processor, and the processor is used to execute one or more computer programs stored in the memory. When the processor executes the one or more computer programs, the robot implements the cliff boundary determination method as described in any one of the above items.
[0037] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes the cliff boundary determination method as described in any one of the above items.
[0038] The embodiment of the present application can achieve the following technical effects: the robot first explores the environment boundary and constructs an environment map. The environment map contains multiple cliff boundary points extracted based on cliff terrain features. After completing an exploration task, the robot extracts the cliff boundary points that have been explored and performs clustering processing on them to obtain the cliff boundary missing area on the environment map, and fills the cliff boundary area to obtain complete cliff boundary data. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0040] Figure 1 A schematic diagram of a robot's cliff boundary exploration provided for related technologies;
[0041] Figure 2 A schematic diagram of cliff boundary exploration of a robot provided in an embodiment of the present application;
[0042] Figure 3 A schematic block diagram of some modules of a robot provided in an embodiment of the present application;
[0043] Figure 4 A flowchart of a cliff boundary determination method provided in an embodiment of the present application;
[0044] Figure 5 A schematic diagram of an environment map including cliff boundary points and cliff boundary missing areas provided in an embodiment of the present application;
[0045] Figure 6 A schematic diagram of a cluster set obtained by clustering cliff boundary points provided in an embodiment of the present application;
[0046] Figure 7 A schematic diagram of filling the missing area of the cliff boundary in the environment map provided in an embodiment of the present application;
[0047] Figure 8 A schematic diagram of clustering search for cliff boundary points provided in an embodiment of the present application;
[0048] Fig. 9 Another schematic diagram of cliff boundary exploration of a robot provided in an embodiment of the present application;
[0049] Fig.10 Based on Fig. 9 Schematic diagram of the environment map constructed by the environment;
[0050] Fig.11 Based on Fig.10 Schematic diagram of the fitting features obtained from the environmental map;
[0051] Fig.12 Based on Figure 5 Schematic diagram of the fitting features obtained from the environmental map;
[0052] Fig.13 Based on Figure 5 The environment map is used to obtain the intersection of the extended lines between the fitted features and the schematic diagram of the predicted cliff boundary;
[0053] Fig.14 Based on Figure 5 A schematic diagram of the intersection of the extended lines and the predicted cliff boundaries after filling in the environmental map;
[0054] Fig.15 is a schematic structural diagram of a cliff boundary determination device provided in an embodiment of the present application;
[0055] Fig.16 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0056] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0057] It should be noted that, if there is no conflict, the various features in the embodiments of the present application can be combined with each other, all within the scope of protection of the present application. In addition, although the functional module division is performed in the device schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in a sequence different from the module division in the device or the flow chart. Furthermore, the words "first", "second", "third", etc. used in this application do not limit the data and execution order, but only distinguish the same items or similar items with basically the same functions and effects.
[0058] See also Figure 1 In the sweeping robot 100 provided in the related art, when performing an exploration task and facing the cliff boundary, it is necessary to perform an exploration action every time the preset unit travel length L1 is traveled, that is, the cliff boundary point is determined by the sensor 131, resulting in a large amount of time spent on the exploration of the cliff boundary. In the embodiment of the present application, the shaded filled areas in each schematic diagram reflecting the actual environment are all cliff terrain areas.
[0059] In addition, due to the fact that the sweeping robot 100 misses some cliff boundary points during the actual exploration process, for example, due to slipping during movement, system abnormalities, excessive turning radius, etc., some cliff boundary points are missed, resulting in gaps in the cliff boundary. This area will be ignored by the sweeping robot 100, resulting in a risk of falling, or the sweeping robot 100 will need to spend more time to re-explore.
[0060] See also Figure 2 and Figure 3 In order to solve the technical problems existing in the related technologies, the embodiments of the present application provide a robot, which can be any one of a wheeled mobile robot, a bipedal robot, a quadrupedal robot, etc., such as an automated transport vehicle, a sweeping robot, a quadrupedal robot dog, etc.
[0061] Taking the sweeping robot 100 as an example, the robot includes a body 11 , a motion component 12 , a SLAM (Simultaneous Localization and Mapping) module 13 , a motion control module 14 and a data processing module 15 .
[0062] The main body 11 has most of the structures of the sweeping robot 100 , and the motion component 12 , the SLAM module 13 , the motion control module 14 and the data processing module 15 are all installed on the main body 11 .
[0063] The motion assembly 12 includes a moving wheel set and a motor. The motor can drive the moving wheel set to enable the cleaning robot 100 to rotate and move in all directions on a plane.
[0064] The SLAM module 13 includes a sensor 131 unit, which includes multiple sensors 131, such as at least one of a laser radar, a depth sensor 131, and a camera, etc., for obtaining various characteristics of the environment when the sweeping robot 100 performs an exploration task, such as environmental boundaries, obstacles, etc. The SLAM module 13 can realize the exploration and real-time mapping of the environment, and build an environmental map by collecting sensor 131 data.
[0065] The motion control module 14 is connected to the motion component 12 and the SLAM module 13 respectively. Specifically, the motion control module 14 can control the motor of the motion component 12 to drive the moving wheel set, and cooperate with the SLAM module 13 to perform the exploration task.
[0066] The data processing module 15 is connected to the SLAM module 13 and is configured with a plurality of corresponding processing units for performing tasks such as extraction of cliff boundary points, clustering of cliff boundary points, establishment of fitting features, and filling in missing cliff boundary data.
[0067] Any one of the motion control module 14 and the data processing module 15 can be a central processing unit (CPU), a network processor (NP), a hardware chip or any combination thereof. The above-mentioned hardware chip can be an application specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
[0068] In some embodiments, the motion control module 14 controls the motion component 12 to move and cooperates with the SLAM module 13 to explore the surrounding environment, wherein at least the travel distance L2 between two adjacent exploration actions is greater than the preset unit travel length L1, see Figure 2 For example, moving forward beyond the preset unit travel length L1, or circling with a larger radius, so that the travel distance L2 between two exploration actions exceeds the preset unit travel length L1.
[0069] It can be understood that the SLAM module 13 and the motion control module 14 cooperate with each other to control the travel distance between the exploration actions, so that the travel distance L2 between at least two adjacent exploration actions is greater than the preset unit travel step length L1, thereby reducing the time consumed when facing the cliff boundary exploration. For example, when the sweeping robot 100 faces the cliff boundary exploration, after detecting one of the cliff boundary points, it travels more than the preset unit travel step length L1 and continues to explore the next cliff boundary point.
[0070] Furthermore, after completing an exploration task, the sweeping robot 100 extracts the cliff boundary points that have been explored and performs clustering processing on them to obtain cliff boundary missing areas on the environment map, and fills the cliff boundary areas to obtain complete cliff boundary data.
[0071] It is easier to understand that the sweeping robot 100 improves the exploration efficiency by reducing repeated detection of cliff boundaries, and further obtains complete cliff boundary data by clustering existing cliff boundary points, and can also complete some cliff boundary areas that have been missed.
[0072] On the other hand, an embodiment of the present application also provides a cliff boundary determination method, which is applied to a mobile device with environmental map construction capability. The method explores environmental boundaries and combines clustering and fitting algorithms to achieve cliff boundary determination and filling, aiming to solve the problems of time-consuming and repeated exploration in related technologies.
[0073] See also Figure 4 Exemplarily, the cliff boundary determination method is specifically applied to a robot, specifically a sweeping robot 100, and includes the following steps:
[0074] S41. Explore the environment boundaries and build an environment map.
[0075] In this step, the environment map includes multiple cliff boundary points (e.g. Figure 5 In the filled portion a) of the map, the travel distance between at least two adjacent exploration actions based on the cliff terrain is configured to be greater than a preset unit travel step length.
[0076] The exploration action is a combination of forward, backward, turning, circling, detection and recording operations, which is used to gradually explore and determine the location information of the cliff boundary. The preset unit step length can be customized by the designer based on engineering experience. Specifically, it refers to the fixed step length set for each forward movement of the sweeping robot during the exploration action, that is, the minimum travel distance of the device when performing boundary detection.
[0077] For example, taking cliff terrain detection as an example, after completing the previous exploration action, the next exploration action includes: the sweeping robot turns to the travel direction and travels at least one preset unit travel length, then turns so that the sensor can detect the cliff boundary, and then records the detection result. Between at least two adjacent exploration actions, the sweeping robot travels a distance exceeding the preset unit travel length.
[0078] Secondly, the environmental map refers to the expression of environmental spatial data generated by the sweeping robot or other mobile device through its own sensors (such as lidar, visual sensors, ground inspection sensors, etc.) and SLAM technology during the cleaning or navigation process. In some embodiments, the environmental map can be a grid map, a topological map, a point cloud map, etc. Figure 5 , for example, the environmental map of the embodiment of the present application adopts a grid map.
[0079] S42: Cluster all cliff boundary points to obtain at least one cluster set.
[0080] In this step, the sweeping robot determines the cliff boundary points that belong to the same cliff boundary and have been explored through clustering processing and obtains the corresponding cluster set as the basis for subsequent acquisition of fitting features and filling in the missing areas of the cliff boundary. Figure 6 The set of clusters obtained after clustering (each cliff boundary point in the range Q).
[0081] S43, determining the cliff boundary missing area on the environment map according to each cluster set;
[0082] In this step, the cliff boundary missing area is at least one coordinate point on the environment map that causes discontinuity of cliff boundary points of the cluster set.
[0083] S44, filling cliff boundary points in the cliff boundary missing area.
[0084] See also Figure 5 and Figure 7 In this step, taking the grid map as an example, the grid coordinates of the explored cliff boundary points on the environment map are filled with the mark a, and the cliff boundary missing area is not filled with the mark. The cliff boundary missing area refers to the cliff boundary points that have not been explored, and filling it means filling the mark a for each coordinate point of the cliff boundary missing area.
[0085] It can be understood that in the specific implementation process, the mobile device first uses SLAM (Simultaneous Localization and Mapping) technology to explore the environmental boundaries and build an environmental map. The environmental map contains multiple cliff boundary points extracted based on cliff terrain features. In order to improve the efficiency of boundary exploration, the travel distance between at least two adjacent exploration actions is set to be greater than the preset unit travel step length, thereby avoiding overly dense boundary point detection and improving exploration efficiency.
[0086] In addition, when the cliff boundary determination method of the embodiment of the present application is applied to a sweeping robot, after completing an exploration task, the sweeping robot extracts the cliff boundary points that have been explored and performs clustering processing on them to obtain the missing cliff boundary area on the environment map, and fills the cliff boundary area to obtain complete cliff boundary data. The circle radius can be appropriately increased during the actual exploration process of the sweeping robot, because the complete cliff boundary will be fitted in the end, so only a part of the less dense cliff boundary points is needed to achieve the fitting operation. A larger circle radius can further reduce the time to explore the cliff.
[0087] In some embodiments, step S42 includes:
[0088] S421, taking the task boundary point O1 as an anchor point, searching for the adjacent boundary point O2 within a preset search range;
[0089] Please participate Figure 8 In this step, the task boundary point O1 is one of the selected unmarked cliff boundary points, and the adjacent boundary point O2 is another unmarked cliff boundary point within the preset search range. The task boundary point O1 is used as an anchor point, specifically located within the preset search range, and can be located at the center of the preset search range, or close to one side boundary of the preset search range, and the preset search range can be a rectangular search range, an elliptical search range, etc. The position of the anchor point within the preset search range and the size and shape of the preset search range can be customized by the designer based on engineering experience.
[0090] S422, if the neighboring boundary point O2 is found, the task boundary point O1 is added to the clustering container and marked (for example, the cliff boundary point selected by the dotted box at the lower left corner of O1), and the search is continued with the neighboring boundary point O2 as the new task boundary point O1;
[0091] S423. If the adjacent boundary point O2 is not found, the task boundary point O1 is added to the clustering container and marked, a clustering is completed, and a corresponding clustering set is established based on all cliff boundary points in the clustering container, and then a new task boundary point O1 is selected from all unmarked cliff boundary points until all cliff boundary points are marked.
[0092] It can be understood that the embodiment of the present application adopts a step-by-step clustering method, with the task boundary point O1 as the anchor point, and searches and classifies the explored cliff boundary points by setting the search range. Specifically, an unmarked cliff boundary point is selected from the multiple cliff boundary points that have been explored as the task boundary point O1, and the task boundary point O1 is used as the anchor point to find other unmarked cliff boundary points (adjacent boundary points) within the preset search range. If the adjacent boundary point O2 is found, the task boundary point O1 and the adjacent boundary point O2 are classified into the same clustering container together, and the points that have been searched are marked at the same time, and the adjacent boundary point O2 automatically becomes the new task boundary point O1, and the search process is further repeated. When the adjacent boundary point O2 is not searched, the task boundary point is marked, a clustering is completed, and then the unmarked cliff boundary point is selected as the new task boundary point for the next clustering, and the above process is continued. When all cliff boundary points are marked and classified, the clustering process ends, and one or more cluster sets are finally generated.
[0093] In some embodiments, step S421 includes:
[0094] S4211, taking the task boundary point O1 as an anchor point, searching for an adjacent boundary point O2 within a first preset search range;
[0095] See also Figure 8 , illustratively, the first preset search range A1 in this step is configured as a 3*3 grid.
[0096] S4212: If the adjacent boundary point O2 is not found within the first preset search range, the search range is expanded in sequence to continue searching until the adjacent boundary point O2 is found within the second preset search range or it is confirmed that there is no adjacent boundary point O2 within the maximum preset search range A2.
[0097] In this step, the second preset search range is larger than the first preset search range A1 and smaller than or equal to the maximum preset search range A2. When the search range is expanded to the maximum preset search range, the second preset search range is equal to the maximum preset search range.
[0098] See also Figure 8 , exemplarily, the maximum preset search range A2 in this step is configured as a 7*7 grid. Also exemplarily, when the neighboring boundary point O2 is not found within the search range of the 3*3 grid, the search range is expanded to the 5*5 grid. When the neighboring boundary point O2 is not found within the search range of the 5*5 grid, the search range is expanded to the 7*7 grid.
[0099] It is understandable that when the travel distances between groups of adjacent exploration actions based on cliff terrain are inconsistent, in order to ensure the integrity of the search, when the first preset search range A1 fails to search the adjacent boundary point O2, the search range can be gradually expanded until the search is completed within the maximum preset search range A2 or it is confirmed that there is no adjacent boundary point O2. The embodiment of the present application avoids a global search for all cliff boundary points by searching the adjacent boundary point O2 in stages, reduces the computational complexity, and the small range priority search reduces the amount of calculation in the initial stage, while the gradual expansion of the range ensures that boundary points will not be missed.
[0100] In some embodiments, step S43 includes:
[0101] S431, obtaining a connecting line segment between every two adjacent cliff boundary points in the target cluster set on the environment map;
[0102] In this step, for every two adjacent cliff boundary points in the target cluster set, the connecting line segment between them is calculated, and each of the at least one cluster set is sequentially used as the target cluster set.
[0103] S432: Determine the missing coordinate points in each connecting line segment to obtain the cliff boundary missing area.
[0104] Exemplarily, taking a grid map as an example, the grid coordinate points that the connecting line segment passes through are determined. Also exemplary, by calculating the trajectory of each connecting line segment, all grid coordinate points that the line segment passes through are determined.
[0105] Specifically, it is determined whether two adjacent cliff boundary points fall within each other's eight neighborhoods. If they do, it is determined that the two adjacent cliff boundary points are continuous; if they do not, it is determined that the two adjacent cliff boundary points are not continuous.
[0106] The embodiment of the present application obtains the connecting line segment of each two adjacent cliff boundary points, and determines whether each two adjacent cliff boundary points are continuous in the above manner, and determines the coordinate points where the connecting line segment is missing if they are not continuous.
[0107] It can be understood that the purpose of obtaining the connecting line segments of every two adjacent cliff boundary points on the environment map and determining the missing coordinate points in the connecting line segments is to determine whether the cliff boundary points in the target cluster set can be continuous, and to obtain the coordinate points in the discontinuous area for subsequent filling processing.
[0108] In some embodiments, step S431 includes:
[0109] S4311, obtaining fitting features on the environment map according to each cliff boundary point in the target cluster set;
[0110] See also Figures 9 to 11 In this step, the fitting feature of the embodiment of the present application can be a line segment (such as a straight line segment S1 and a curve segment S2), or a closed boundary S3, etc.
[0111] S4312, establish a sorting rule for matching the geometric direction of the fitting feature,
[0112] In this step, the sorting rule is used to determine the order in which each connecting line segment is obtained, so as to provide an effective direction when determining the continuity of each cliff boundary point in the target cluster set.
[0113] For example, the geometric direction of the fitting feature, taking the fitting line segment as an example, the geometric direction is the direction from one end point to another end point, taking the fitting boundary as an example, the geometric direction can be clockwise or counterclockwise. Fig.12 , and illustratively, a fitting straight line segment AB is obtained according to the target cluster set, and the cliff boundary points in the target cluster set are sorted in the direction from endpoint A to endpoint B (ie, from left to right).
[0114] S4313. Based on the sorting rule, the connecting line segments of each two adjacent cliff boundary points in the target cluster set on the environment map are obtained in sequence.
[0115] Exemplarily, connecting line segments corresponding to two adjacent cliff boundary points are obtained in sequence from left to right in the target cluster set according to the sorting rule.
[0116] It can be understood that by defining the sorting rules by fitting the geometric direction of the features, the processing logic of cliff boundary points in complex terrain is simplified and the random connection of cliff boundary points is avoided.
[0117] In some embodiments, step S4311 includes:
[0118] S43111. For each cliff boundary point in each cluster set, the least square method is used to obtain the corresponding fitting line;
[0119] In this step, the fitting line can be a straight line, a curve, a closed boundary, etc.
[0120] S43112, determining the boundary of the fitting line according to the cliff boundary points in the cluster set to obtain the corresponding fitting line segment;
[0121] S43113. Overlay each fitting line segment onto the environment map to establish fitting features corresponding to the cluster set.
[0122] It can be understood that based on the set of cliff boundary points obtained by clustering, the cliff boundary points in each cluster set are fitted by the least square method to obtain the corresponding fitting line. Based on the position of the cliff boundary point, the fitting line is intercepted, the boundary of the fitting line is determined, and the fitting line segment is formed. All the fitting line segments are superimposed on the environment map to establish the corresponding fitting features. In this way, each cluster set can generate a corresponding cliff boundary fitting line segment.
[0123] Exemplarily, an embodiment of the present application performs fitting processing on the cliff boundary points in each cluster set by the least squares method to obtain a corresponding fitting straight line, determines the boundary of the fitting straight line based on the position of the cliff boundary points to obtain a fitting straight line segment, and superimposes it on the environmental map to obtain the final fitting feature.
[0124] In some embodiments, after step S44, the method further includes:
[0125] S45, determining the intersection point of the extended lines of every two fitting features that meet the adjacent condition;
[0126] See also Fig.12 and Fig.13 In this step, the adjacent condition specifically refers to the two fitting features being adjacent and having an extension line intersection, and the distance between the two needs to meet the preset distance threshold. For two discontinuous line segments in the fitting feature, their extension lines are calculated to determine whether the extension lines may intersect or approach.
[0127] S46, determining a predicted cliff boundary between two corresponding fitting features according to the intersection of the extended lines;
[0128] In this step, the predicted cliff boundary is used to form the basis of the cliff boundary between the two fitting features. Fig.12 Taking the fitting features AB and CD in as examples, determine whether the distance between the two fitting straight line segments meets the preset threshold. If so, it is determined that the gap between the two fitting straight line segments still belongs to the cliff boundary, and according to the intersection point X of the extension lines, determine the extension lines AX and CX of the two fitting straight line segments as the predicted cliff boundary.
[0129] S47, filling cliff boundary points for the intersection of the extension lines and the predicted cliff boundary.
[0130] See also Fig.14 As can be understood, for the missing areas between the line segments between different fitting features, the filling prediction is performed by extending the fitting line segments. For two fitting features that meet the adjacent conditions, the intersection of the extended lines is determined by extending their respective fitting line segments, and the intersection and the coordinate points on the extended lines are filled as cliff boundary points to complete the filling process between the line segments and obtain the predicted cliff boundary data.
[0131] In some embodiments, step S45 includes:
[0132] S451, determining whether the Manhattan distance between the endpoints of any two fitting features is less than or equal to a preset threshold;
[0133] See also Fig.13 , illustratively, taking the fitting feature AB and the fitting feature CD as examples, the Manhattan distance of the two fitting features is obtained, that is, the Manhattan distance between the two closest endpoints in the two fitting straight line segments (ie, AX and CX).
[0134] S452, if the Manhattan distance is less than or equal to the preset threshold, determine that the two fitting features meet the adjacent condition and obtain the intersection point X of the extension lines corresponding to the two fitting features;
[0135] Exemplarily, when the cliff boundary confirmation method of the embodiment of the present application is applied to a sweeping robot, the preset threshold can be set to a Manhattan distance of 60 centimeters, and the preset threshold can be customized by the designer based on engineering experience.
[0136] S453: If the Manhattan distance is greater than a preset threshold, it is determined that the two fitting features do not meet the adjacent condition.
[0137] It can be understood that when judging whether there is a necessity to connect two fitting line segments, the Manhattan distance between the two fitting line segments is calculated. If the Manhattan distance is less than or equal to a preset threshold, it is determined that the two fitting features meet the adjacent condition; if it is greater than the preset threshold, it is determined that the two fitting features do not meet the adjacent condition. In other embodiments, the adjacent judgment method between two fitting features can be set according to actual needs, which is not limited here.
[0138] The embodiment of the present application determines the rationality of the gap formed between the two fitting features and fills the missing cliff boundary points by interpolation between the line segments, thereby further obtaining continuous and complete cliff boundary data.
[0139] In some embodiments, step S47 includes:
[0140] S471, determining the intersection of the extended lines and the coordinate points where the predicted cliff boundary is located;
[0141] Exemplarily, taking the fitting feature as a fitting straight line segment as an example, the fitting straight line function of each fitting feature of two adjacent fitting features is determined, and the intersection point of the two fitting straight lines, that is, the intersection point of the extended lines of the two fitting features, is calculated and obtained.
[0142] As another example, taking the grid map as an example, the grid coordinate point data of the intersection of the extension lines on the environment map and the grid coordinate point data between the intersection of the extension lines and the intersection of each fitting feature are obtained.
[0143] S472, filling cliff boundary points for the intersection of the extension lines and the coordinate points where the predicted cliff boundary is located.
[0144] See also Fig.13 and Fig.14 ,In this step, the cliff boundary points are filled with the ,intersection points of the extended lines and the coordinate points where the predicted cliff boundary is ,located to obtain the complete cliff boundary data.
[0145] It should be noted that, in each of the above-mentioned embodiments, there is not necessarily a certain order between the above-mentioned steps. A person skilled in the art can understand, based on the description of the embodiments of the present application, that in different embodiments, the above-mentioned steps may have different execution orders, that is, they may be executed in parallel, may be executed interchangeably, and so on.
[0146] As another aspect of the embodiment of the present application, the embodiment of the present application provides a robot cliff boundary determination device 1500. The robot cliff boundary determination device 1500 may be a software module, which includes several instructions stored in a memory, and the processor may access the memory and call the instructions for execution to complete the cliff boundary method described in the above-mentioned various embodiments.
[0147] In some embodiments, the robot's cliff boundary determination device 1500 can also be constructed by hardware devices. For example, the robot's cliff boundary determination device 1500 can be constructed by one or more chips, and each chip can work in coordination with each other to complete the cliff boundary determination method described in each of the above embodiments. For another example, the robot's cliff boundary determination device 1500 can also be constructed by various logic devices, such as a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single-chip microcomputer, an ARM (Acorn RISC Machine) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination of these components.
[0148] See also Fig.15 The robot cliff boundary determination device 1500 includes a map construction module 151, a clustering processing module 152, a first determination module 153 and a first filling module 154.
[0149] The map construction module 151 is used to explore the environment boundary and construct the environment map, explore the environment boundary and construct the environment map, the environment map includes multiple cliff boundary points extracted based on cliff terrain features, and the travel distance between at least two adjacent exploration actions based on the cliff terrain is configured to be greater than a preset unit travel step length.
[0150] The clustering processing module 152 is used to cluster all cliff boundary points to obtain at least one cluster set.
[0151] The first determining module 153 is used to determine the cliff boundary missing area on the environment map according to each cluster set.
[0152] The first filling module 154 is used to fill cliff boundary points in the cliff boundary missing area.
[0153] It can be understood that the cliff boundary device of the embodiment of the present application controls the travel distance between the exploration actions so that the travel distance between at least two adjacent exploration actions is greater than the preset unit travel step length, thereby reducing the time spent on cliff boundary exploration. After completing an exploration task, the cliff boundary points that have been explored are extracted and clustered to obtain the cliff boundary missing area on the environment map, and the cliff boundary area is filled to obtain complete cliff boundary data.
[0154] In some embodiments, the clustering processing module 152 is specifically used to: use the task boundary point as an anchor point to search for adjacent boundary points within a preset search range, where the task boundary point is one of the selected unmarked cliff boundary points, and the adjacent boundary points are other unmarked cliff boundary points within the preset search range; if an adjacent boundary point is found, the task boundary point is added to the clustering container and marked, and the search is continued with the adjacent boundary point as a new task boundary point; if no adjacent boundary point is found, the task boundary point is added to the clustering container and marked, completing a clustering, and establishing a corresponding cluster set based on all cliff boundary points in the clustering container, and then selecting a new task boundary point from all unmarked cliff boundary points until all cliff boundary points are marked.
[0155] In some embodiments, the clustering processing module 152 is also specifically used to: use the task boundary point as an anchor point to search for adjacent boundary points within a first preset search range; if no adjacent boundary points are found within the first preset search range, then sequentially expand the search range to continue searching until adjacent boundary points are found within a second preset search range or it is confirmed that there are no adjacent boundary points within the maximum preset search range.
[0156] In some embodiments, the first filling module 154 is specifically used to: obtain the connecting line segments of each two adjacent cliff boundary points in the target cluster set on the environment map, and each of at least one cluster set is used as the target cluster set in turn; determine the missing coordinate points in each connecting line segment to obtain the cliff boundary missing area.
[0157] In some embodiments, the first filling module 154 is also specifically used to: obtain fitting features on the environment map according to each cliff boundary point in the target cluster set; establish a sorting rule that matches the geometric direction of the fitting features, and the sorting rule is used to determine the order in which each connecting line segment is obtained; based on the sorting rule, successively obtain the connecting line segments of each two adjacent cliff boundary points in the target cluster set on the environment map.
[0158] In some embodiments, the first filling module 154 is also used to: use the least squares method to obtain the corresponding fitting line for the cliff boundary points in the target cluster set; determine the boundary of the fitting line according to the cliff boundary points in the target cluster set to obtain the corresponding fitting line segment; superimpose the fitting line segment into the environment map to obtain the fitting features of the target cluster set.
[0159] In some embodiments, the cliff boundary determining apparatus 1500 further includes a second determining module, a third determining module, and a second filling module.
[0160] The second determination module is used to determine the intersection of the extended lines of every two fitting features that meet the adjacent condition. The adjacent condition is that there is an intersection of the extended lines of the two fitting features, and the distance between the two is less than or equal to a preset threshold.
[0161] The third determination module is used to determine the predicted cliff boundary between the corresponding two fitting features according to the intersection of the extended lines.
[0162] The second filling module is used to fill cliff boundary points for the intersection points of the extended lines and the predicted cliff boundaries.
[0163] The second determination module is specifically used to: determine whether the Manhattan distance between the endpoints of any two fitting features is less than or equal to a preset threshold; if the Manhattan distance is less than or equal to the preset threshold, determine that the two fitting features meet the adjacent condition and obtain the intersection of the extended lines corresponding to the two fitting features; if the Manhattan distance is greater than the preset threshold, determine that the two fitting features do not meet the adjacent condition.
[0164] It should be noted that the above-mentioned cliff boundary determination device 1500 can execute the cliff boundary determination method provided in the embodiment of the present application, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in the embodiment of the cliff boundary determination device 1500, please refer to the cliff boundary determination method provided in the embodiment of the present application.
[0165] See also Fig.16 , Fig.161 is a schematic diagram of the structure of a computer device 1600 provided in an embodiment of the present application, wherein the computer device is a robot, specifically a sweeping robot. The computer device 1600 includes one or more processors 161 and a memory 162. The memory 162 is connected to the one or more processors 161, for example, connected to the processor 161 via a bus.
[0166] The processor 161 is configured to support the computer device to perform the corresponding functions in the method in the above method embodiment. The processor 161 can be a central processing unit (CPU), a network processor (NP), a hardware chip or any combination thereof. The above hardware chip can be an application specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
[0167] The memory 162 is used to store program codes, etc. The memory 162 may include a volatile memory (VM), such as a random access memory (RAM); the memory may also include a non-volatile memory (NVM), such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); the memory may also include a combination of the above types of memory.
[0168] The memory 162 may be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the cliff boundary determination method in the embodiment of the present application. The processor 161 executes various functional applications and data processing of the cliff boundary determination method and the cliff boundary determination device by running the non-volatile software programs, instructions and modules stored in the memory, that is, realizes the functions of the various modules or units of the cliff boundary determination method and the cliff boundary determination device provided in the above method embodiment.
[0169] The memory 162 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required by at least one function. The data storage area may store data created according to the use of the cliff boundary determination device, etc. In some embodiments, the memory 162 may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the cliff boundary determination device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0170] The one or more modules are stored in the memory 162, and when executed by the one or more processors 161, the cliff boundary determination method in any of the above method embodiments is executed, for example, the method steps described in the above method embodiments are executed to realize the functions of the modules described in the above device embodiments.
[0171] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a computer, the computer executes the method described in the above embodiment.
[0172] A person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0173] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A cliff boundary determination method, characterized in that: include: Exploring the environment boundary and constructing an environment map, wherein the environment map includes a plurality of cliff boundary points extracted based on cliff terrain features, and a travel distance between at least two adjacent exploration actions based on the cliff terrain is configured to be greater than a preset unit travel step length; Clustering all the cliff boundary points to obtain at least one cluster set; Determine cliff boundary missing areas on the environment map according to each of the cluster sets; The cliff boundary missing area is filled with the cliff boundary points.
2. The cliff boundary determination method according to claim 1, characterized in that: The clustering of all the cliff boundary points comprises: Taking the task boundary point as an anchor point, searching for adjacent boundary points within a preset search range, wherein the task boundary point is one of the selected unmarked cliff boundary points, and the adjacent boundary points are other unmarked cliff boundary points within the preset search range; If the adjacent boundary point is found, the task boundary point is added to the cluster container and marked, and the search is continued with the adjacent boundary point as the new task boundary point; If the adjacent boundary point is not found, the task boundary point is added to the clustering container and marked, a clustering is completed, and a corresponding clustering set is established based on all the cliff boundary points in the clustering container, and then a new task boundary point is selected from all the unmarked cliff boundary points until all the cliff boundary points are marked.
3. The cliff boundary determination method according to claim 2, characterized in that: The step of taking the task boundary point as an anchor point and searching for adjacent boundary points within a preset search range includes: Taking the task boundary point as an anchor point, searching for the adjacent boundary point within a first preset search range; If no adjacent boundary point is found within the first preset search range, the search range is expanded in sequence to continue searching until the adjacent boundary point is found within the second preset search range or it is confirmed that the adjacent boundary point does not exist within the maximum preset search range.
4. The cliff boundary determination method according to claim 1, characterized in that: The determining of the cliff boundary missing area on the environment map according to each of the cluster sets comprises: Obtaining a connecting line segment between each two adjacent cliff boundary points in a target cluster set on the environment map, each of the at least one cluster set being sequentially used as the target cluster set; The missing coordinate points in each of the connecting line segments are determined to obtain the cliff boundary missing area.
5. The cliff boundary determination method according to claim 4, characterized in that: The step of obtaining a connecting line segment between each two adjacent cliff boundary points in the target cluster set on the environment map comprises: Obtaining fitting features on the environment map according to each of the cliff boundary points in the target cluster set; Establishing a sorting rule that matches the geometric direction of the fitting feature, wherein the sorting rule is used to determine the order in which each of the connecting line segments is obtained; Based on the sorting rule, connecting line segments between every two adjacent cliff boundary points in the target cluster set on the environment map are obtained in sequence.
6. The cliff boundary determination method according to claim 1, characterized in that: The step of obtaining fitting features on the environment map according to each of the cliff boundary points in the target cluster set includes: Using the least square method to obtain the corresponding fitting line for the cliff boundary points in the target cluster set; Determining the boundary of the fitting line according to the cliff boundary points in the target cluster set to obtain a corresponding fitting line segment; The fitting line segments are superimposed on the environment map to obtain the fitting features of the target cluster set.
7. The cliff boundary determination method according to claim 6, characterized in that: After filling the cliff boundary missing area with the cliff boundary points, the method further includes: Determine the intersection of the extended lines of every two fitting features that meet the adjacent condition, wherein the adjacent condition is that there is an intersection of the extended lines of the two fitting features, and the distance between the two is less than or equal to a preset threshold; Determine the predicted cliff boundary between the corresponding two fitting features according to the intersection of the extension lines; The cliff boundary points are filled in for the intersection points of the extension lines and the predicted cliff boundary.
8. The cliff boundary determination method according to claim 7, characterized in that: The step of determining the intersection of the extension lines of every two fitting features that meet the adjacent condition comprises: Determine whether the Manhattan distance between any two endpoints of the fitting features is less than or equal to the preset threshold; If the Manhattan distance is less than or equal to the preset threshold, determining that the two fitting features meet the adjacent condition and obtaining the intersection of the extension lines corresponding to the two fitting features; If the Manhattan distance is greater than the preset threshold, it is determined that the two fitting features do not satisfy the adjacent condition.
9. A robot, characterized in that: The robot comprises a memory and a processor, wherein the memory is connected to the processor, and the processor is used to execute one or more computer programs stored in the memory. When the processor executes the one or more computer programs, the robot implements the cliff boundary determination method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes the cliff boundary determination method according to any one of claims 1 to 8.
Citation Information
Patent Citations
City center evaluation method based on mobile phone signaling
CN107194525A
Ant colony-clustering algorithm-based self-adaptive dynamic path planning method of robot
CN109164810A
Anti-falling marching method of autonomous robot and autonomous robot
CN110580047A
Method for quickly detecting and updating road boundary of operation area of unmanned mine card
CN112801022A
Control method of self-walking robot, storage medium and self-walking robot
CN114879691A