Working area ranking method and ranking system for robot

A technology of working area and sorting method, applied in control/regulation systems, instruments, motor vehicles, etc., can solve the problem of many walking paths of robots, and achieve the effect of improving flexibility, strong stability, and improving cleaning efficiency

Active Publication Date: 2016-07-06
平邑经济开发区投资发展有限公司
8 Cites 50 Cited by

AI-Extracted Technical Summary

Problems solved by technology

[0005] In order to solve the problem of many robot walking paths, the present i...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The invention provides a working area ranking method and ranking system for a robot. The method includes the steps of S10 dividing the working area into a plurality of working sub-areas according to a working area map of the robot, S20 calculating distances between adjacent working areas according to the adjacent relationship among the working sub-areas, and S30 ranking the working sub-areas according to the current working sub-area of the robot, the adjacent relationship among the working sub-areas and the distance between the adjacent working areas. The working area is segmented before cleaning to obtain a plurality of working sub-areas, each of which is regularly shaped. Ranking of the working sub-areas is facilitated, and planning a cleaning path for each working sub-area is more convenient, so that total path of the robot travels in the working sub-areas is the shortest. The cleaning efficiency of a sweep robot is improved.

Application Domain

Technology Topic

Computer scienceRobot workspace +1

Image

  • Working area ranking method and ranking system for robot
  • Working area ranking method and ranking system for robot
  • Working area ranking method and ranking system for robot

Examples

  • Experimental program(1)

Example Embodiment

[0044] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the accompanying drawings required in the description of the embodiments or the prior art. The invention is exemplary and should not be construed as limiting the invention. The following description sets forth numerous specific details to facilitate an understanding of the present invention. However, in some instances, well-known or conventional details are not described in order to satisfy the requirement of brevity of the description.
[0045] The Android device testing method and testing device of the present invention can be written in Java language, and can also be implemented in other programming languages ​​such as C#, VB, and C++/C.
[0046] like figure 1 As shown, according to an embodiment of the present invention, a method for sorting robot working areas includes the following steps:
[0047] S10 is based on the obtained robot working area map, such as Figure 9 As shown in the figure, the solid line and the gray area in the figure represent obstacles, and the white area surrounded by the solid line represents the idle area. The working area map refers to a two-dimensional grid map established by using lidar, which divides the working area into several work sub-areas, such as Figure 10 As shown in the figure, the work area is divided into 7 work sub-areas labeled 1-7, and the division method can refer to a cleaning robot-based area division method with application number: 201510629819.9;
[0048] S20 calculates the distance between adjacent working sub-regions according to the adjacent relationship between several working sub-regions;
[0049] S30 arranges the sequence of the robot's working sub-regions according to the working sub-region where the robot is currently located, the adjacent relationship between several working sub-regions, and the distance between adjacent working sub-regions.
[0050] like figure 2 , image 3 As shown, according to another embodiment of the present invention, a method for sorting robot working areas includes the following steps:
[0051] S10 is based on the obtained robot working area map, such as Figure 9 As shown in the figure, the solid line and the gray area in the figure represent obstacles, and the white area surrounded by the solid line represents the idle area. The working area map refers to a two-dimensional grid map established by using lidar, which divides the working area into several work sub-areas, such as Figure 10 As shown in the figure, the work area is divided into 7 work sub-areas labeled 1-7, and the division method can refer to a cleaning robot-based area division method with application number: 201510629819.9;
[0052] S21 calculates the centroid of each work sub-region according to the divided work sub-regions, such as Figure 11 As shown in the figure, the center of mass of the working sub-region is represented by a small circle. Preferably, the calculation steps are as follows;
[0053] S211 After adding the abscissas and weights of all grid points in each working sub-area, divide by the number of grid points to obtain the abscissa of the centroid in the working sub-area Its calculation formula is as follows:
[0054] x ‾ = Σ i = 0 N - 1 ρ i x i N ;
[0055] S212 After adding the ordinates and weights of all grid points in each working sub-area, divide by the number of grid points to obtain the ordinate of the centroid in the working sub-area Its calculation formula is as follows:
[0056] y ‾ = Σ i = 0 N - 1 ρ i y i N ;
[0057] where x i Indicates the abscissa of the i-th grid point in each working sub-area, y i Represents the ordinate of the i-th grid point in each working sub-area; ρ i Represents the weighting of the coordinates of the ith grid point in each work sub-area, and N represents the number of grid points contained in each work sub-area;
[0058] Preferably, it also includes S22 judging whether the centroid in the working sub-region is occupied by obstacles;
[0059] Preferably, it also includes S23, if the centroid of the working sub-area is occupied by the obstacle, calculating a blank point in the working sub-area that is closest to the centroid, and the blank point is used as the centroid;
[0060] S24 According to the adjacent relationship between several working sub-regions, calculate the planned path between the centroids in the adjacent working sub-regions; calculating the planned path between the centroids in the adjacent working sub-regions refers to: using the Dijkstra algorithm to calculate The planned path between the centroids in the adjacent working sub-regions, such as Figure 12 As shown, line segment 13, line segment 23, line segment 36, line segment 34, line segment 45, line segment 56, line segment 57, and line segment 71 are the planned paths, and the figure only serves as a schematic diagram, and there may be errors in the drawing process;
[0061] S25 calculates the length of each planned path (line segment 13, line segment 23, line segment 36, line segment 34, line segment 45, line segment 56, line segment 57, line segment 71), and this length is used as the distance between adjacent working sub-regions; The length of each planned path refers to the calculation of the length of each planned path according to the weighted addition of the abscissa and grid point coordinates of all grid points on each planned path;
[0062] S30 arranges the sequence of the robot's working sub-regions according to the working sub-region where the robot is currently located, the adjacent relationship between several working sub-regions, and the distance between adjacent working sub-regions.
[0063] like Figure 4 As shown, according to yet another embodiment of the present invention, a method for sorting robot working areas includes the following steps:
[0064] S10 is based on the obtained robot working area map, such as Figure 9 As shown in the figure, the solid line and the gray area in the figure represent obstacles, and the white area surrounded by the solid line represents the idle area. The working area map refers to a two-dimensional grid map established by using lidar, which divides the working area into several work sub-areas, such as Figure 10 As shown in the figure, the work area is divided into 7 work sub-areas labeled 1-7, and the division method can refer to a cleaning robot-based area division method with application number: 201510629819.9;
[0065] S21 calculates the centroid of each work sub-region according to the divided work sub-regions, such as Figure 11 As shown in the figure, the center of mass of the working sub-region is represented by a small circle. Preferably, the calculation steps are as follows;
[0066] S211 After adding the abscissas and weights of all grid points in each working sub-area, divide by the number of grid points to obtain the abscissa of the centroid in the working sub-area Its calculation formula is as follows:
[0067] x ‾ = Σ i = 0 N - 1 ρ i x i N ;
[0068] S212 After adding the ordinates and weights of all grid points in each working sub-area, divide by the number of grid points to obtain the ordinate of the centroid in the working sub-area Its calculation formula is as follows:
[0069] y ‾ = Σ i = 0 N - 1 ρ i y i N ;
[0070] where x i Indicates the abscissa of the i-th grid point in each working sub-area, y i Represents the ordinate of the i-th grid point in each working sub-area; ρ i Represents the weighting of the coordinates of the ith grid point in each work sub-area, and N represents the number of grid points contained in each work sub-area;
[0071] Preferably, it also includes S22 judging whether the centroid in the working sub-region is occupied by obstacles;
[0072] Preferably, it also includes S23, if the centroid of the working sub-area is occupied by the obstacle, calculating a blank point in the working sub-area that is closest to the centroid, and the blank point is used as the centroid;
[0073] S24 According to the adjacent relationship between several working sub-regions, calculate the planned path between the centroids in the adjacent working sub-regions; calculating the planned path between the centroids in the adjacent working sub-regions refers to: using the Dijkstra algorithm to calculate The planned path between the centroids in the adjacent working sub-regions, such as Figure 12 As shown, line segment 13, line segment 23, line segment 36, line segment 34, line segment 45, line segment 56, line segment 57, and line segment 71 are the planned paths, and the figure only serves as a schematic diagram, and there may be errors in the drawing process;
[0074] S25 calculates the length of each planned path (line segment 13, line segment 23, line segment 36, line segment 34, line segment 45, line segment 56, line segment 57, line segment 71), and this length is used as the distance between adjacent working sub-regions; The length of each planned path refers to the calculation of the length of each planned path according to the weighted addition of the abscissa and grid point coordinates of all grid points on each planned path;
[0075] S31 uses an undirected graph to represent the relationship between several working sub-regions according to the working sub-region where the robot is currently located, the adjacent relationship between several working sub-regions, and the distance between adjacent working sub-regions, like Figure 13 The undirected graph includes nodes and connections. A node in an undirected graph represents a work sub-area, and the number on the node is the number of the work sub-area. For example, 1 on a node in an undirected graph represents the first work sub-area. ; The line between the two nodes indicates that the two working sub-regions are adjacent; the number next to the connecting line indicates the distance between the two working sub-regions (the length of the planned path), that is, the distance between the centroids in the two working sub-regions the distance between;
[0076] S32 traverses each work sub-region in the undirected graph, and obtains the sequence of the robot work sub-regions, such as Figure 15 , Figure 17 shown.
[0077] like Figure 5 , Figure 14 , Figure 15 As shown, according to yet another embodiment of the present invention, a method for sorting robot working areas includes the following steps:
[0078] S10 is based on the obtained robot working area map, such as Figure 9 As shown in the figure, the solid line and the gray area in the figure represent obstacles, and the white area surrounded by the solid line represents the idle area. The working area map refers to a two-dimensional grid map established by using lidar, which divides the working area into several work sub-areas, such as Figure 10 As shown in the figure, the work area is divided into 7 work sub-areas labeled 1-7, and the division method can refer to a cleaning robot-based area division method with application number: 201510629819.9;
[0079] S20 calculates the distance between adjacent working sub-regions according to the adjacent relationship between several working sub-regions;
[0080]S31 uses an undirected graph to represent the relationship between several working sub-regions according to the working sub-region where the robot is currently located, the adjacent relationship between several working sub-regions, and the distance between adjacent working sub-regions, like Figure 13 The undirected graph includes nodes and connections. A node in an undirected graph represents a work sub-area, and the number on the node is the number of the work sub-area. For example, 1 on a node in an undirected graph represents the first work sub-area. ; The line between the two nodes indicates that the two working sub-regions are adjacent; the number next to the connecting line indicates the distance between the two working sub-regions (the length of the planned path), that is, the distance between the centroids in the two working sub-regions the distance between;
[0081] S32 traverses each work sub-region in the undirected graph, and obtains the sequence of the robot work sub-regions, such as Figure 15 , Figure 17 shown;
[0082] S321 takes the initial work sub-area (1) where the robot is located as the current work sub-area (1), and records the initial work sub-area (1);
[0083] S322, according to the current work sub-area (1) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (1);
[0084] S323 If there are unvisited neighbor working sub-areas in the current working sub-area (1), after finding all unvisited neighboring working sub-areas (3, 7), determine the unvisited adjacent working sub-areas Whether the number of blocks is greater than 1;
[0085] S324 If the number of blocks of the unvisited adjacent working sub-areas is greater than 1, compare all the unvisited neighboring working sub-areas (3, 7) to obtain the nearest neighbor working sub-area (1) to the current working sub-area (1). After area (7);
[0086] S325 records the neighbor work sub-area (7) and the access number (01) of the neighbor work sub-area, where the access number (01) is the sequence number (01) of the robot work sub-area, and the neighbor work sub-area The area (7) is used as the current working sub-area (7) where the robot is located;
[0087] S322, according to the current work sub-area (7) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (7);
[0088] S323 If there is an unvisited neighbor working sub-area in the current working sub-area (7), after finding all the unvisited neighboring working sub-areas (5), determine the block of the unvisited adjacent working sub-area Whether the number is greater than 1;
[0089] S325 If the number of blocks in the unvisited adjacent working sub-area is not greater than 1, record the adjacent working sub-area (5) and the access number (02) of the adjacent working sub-area, where the access number (02) is The sequence number (02) of the robot working sub-region, and the neighbor working sub-region (5) is used as the current working sub-region (5) where the robot is located;
[0090] S322, according to the current work sub-area (5) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (5);
[0091] S323 If there are unvisited neighbor working sub-areas in the current working sub-area (5), after finding all unvisited neighboring working sub-areas (4, 6), determine the unvisited adjacent working sub-areas Whether the number of blocks is greater than 1;
[0092] S324 If the number of blocks of the unvisited adjacent working sub-areas is greater than 1, compare all the unvisited neighboring working sub-areas (4, 6) to obtain the nearest neighbor working sub-area (5) to the current working sub-area (5). After area (6);
[0093] S325 records the neighbor work sub-area (6) and the access number (03) of the neighbor work sub-area, the access number (03) is the sequence number (03) of the robot work sub-area, and the neighbor work sub-area (03). The area (6) is used as the current working sub-area (6) where the robot is located;
[0094] S322, according to the current work sub-area (6) where the robot is located, judge whether the current work sub-area (6) has an unvisited neighbor work sub-area;
[0095] S323 If there is an unvisited neighbor working sub-area in the current working sub-area (6), after finding all the unvisited neighboring working sub-areas (3), determine the block of the unvisited adjacent working sub-area Whether the number is greater than 1;
[0096] S325 If the number of blocks of the unvisited adjacent working sub-areas is not greater than 1, record the adjacent working sub-area (3) and the access number (04) of the adjacent working sub-area, where the access number (04) is The sequence number (04) of the robot working sub-region, and the neighbor working sub-region (3) is used as the current working sub-region (3) where the robot is located;
[0097] S322, according to the current work sub-area (3) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (3);
[0098] S323 If there are unvisited neighbor working sub-areas in the current working sub-area (3), after finding all unvisited neighboring working sub-areas (2, 4), determine the unvisited adjacent working sub-areas Whether the number of blocks is greater than 1;
[0099] S324 If the number of blocks of the unvisited adjacent working sub-areas is greater than 1, compare all the unvisited neighboring working sub-areas (2, 4), and obtain the nearest neighbor working sub-area (3) from the current working sub-area After area (2);
[0100] S325 records the neighbor work sub-area (2) and the access number (05) of the neighbor work sub-area, the access number (05) is the sequence number (05) of the robot work sub-area, and the neighbor work sub-area (05). The area (2) is used as the current working sub-area (2) where the robot is located;
[0101] S322, according to the current work sub-area (2) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (2);
[0102] S326 judges whether there is an unvisited working sub-region in the undirected graph;
[0103] S327 If there is an unvisited work sub-area (4) in the undirected graph, the robot goes back to the previous work sub-area (3), and uses the last work sub-area (3) as the robot The current work sub-area (3) in which it is located;
[0104] S322, according to the current work sub-area (3) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (3);
[0105] S325 If there is an unvisited neighbor working sub-area (4) in the current working sub-area (3), record the neighbor working sub-area (4) and the access number (06) of the neighbor working sub-area, and the The access number (06) is the sequence number (06) of the robot working sub-region, and the neighbor working sub-region (4) is used as the current working sub-region (4) where the robot is located;
[0106] S322, according to the current work sub-area (4) where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area (4);
[0107] S326 If there is no unvisited neighbor working sub-area in the current working sub-area (4), judge whether there is an unvisited working sub-area in the undirected graph;
[0108] Preferably, it also includes S328 that there is no unvisited working sub-area in the undirected graph, and then judging whether the robot is in the initial working sub-area;
[0109] Preferably, it also includes S329, if the robot is not in the initial work sub-area, calculating a return path for the robot to return to the initial work sub-area according to the current work sub-area where the robot is located;
[0110] S40 If the robot is in the initial working sub-area, the sorting process of the robot working area is ended.
[0111] like Figure 5 , Figure 16 , Figure 17 As shown, according to yet another embodiment of the present invention, a method for sorting robot working areas includes the following steps:
[0112] S10 is based on the obtained robot working area map, such as Figure 9 As shown in the figure, the solid line and the gray area in the figure represent obstacles, and the white area surrounded by the solid line represents the idle area. The working area map refers to a two-dimensional grid map established by using lidar, which divides the working area into several work sub-areas, such as Figure 10 As shown in the figure, the work area is divided into 7 work sub-areas labeled 1-7, and the division method can refer to a cleaning robot-based area division method with application number: 201510629819.9;
[0113] S20 calculates the distance between adjacent working sub-regions according to the adjacent relationship between several working sub-regions;
[0114] S31 uses an undirected graph to represent the relationship between several working sub-regions according to the working sub-region where the robot is currently located, the adjacent relationship between several working sub-regions, and the distance between adjacent working sub-regions, like Figure 13 The undirected graph includes nodes and connections. A node in an undirected graph represents a work sub-area, and the number on the node is the number of the work sub-area. For example, 1 on a node in an undirected graph represents the first work sub-area. ; The line between the two nodes indicates that the two working sub-regions are adjacent; the number next to the connecting line indicates the distance between the two working sub-regions (the length of the planned path), that is, the distance between the centroids in the two working sub-regions the distance between;
[0115] S32 traverses each work sub-region in the undirected graph, and obtains the sequence of the robot work sub-regions, such as Figure 15 , Figure 17 shown;
[0116] When the initial work sub-area where the robot is located is 3, the sorting steps are as follows, and the detailed steps may refer to the above-mentioned embodiment in which the initial work sub-area is 1;
[0117] S321 takes the initial work sub-area where the robot is located as the current work sub-area, and records the initial work sub-area;
[0118] S322, according to the current work sub-area where the robot is located, determine whether there is an unvisited neighbor work sub-area in the current work sub-area;
[0119] S323 If there is an unvisited neighbor working sub-area in the current working sub-area, after finding all the unvisited neighboring working sub-areas, judge whether the number of blocks of the unvisited adjacent working sub-areas is greater than 1; otherwise , jump to step S326;
[0120] S324 If the number of blocks of the unvisited adjacent working sub-areas is greater than 1, compare all the unvisited adjacent working sub-areas, and after obtaining the neighboring working sub-area closest to the current working sub-area, jump to step S325 ; otherwise, directly jump to step S325;
[0121]S325 records the neighbor work sub-area and the access number of the neighbor work sub-area, the access number is the sequence number of the robot work sub-area, and the neighbor work sub-area is used as the current work sub-area where the robot is located After that, jump to step S322;
[0122] S326 judges whether there is an unvisited working sub-region in the undirected graph;
[0123] S327 If there is an unvisited work sub-area in the undirected graph, the robot goes back to the previous work sub-area, and after taking the last work sub-area as the current work sub-area where the robot is located, Jump to step S322;
[0124] Preferably, it also includes S328, if there is no unvisited work sub-area in the undirected graph, judging whether the robot is in the initial work sub-area;
[0125] Preferably, it also includes S329, if the robot is not in the initial work sub-area, calculating a return path for the robot to return to the initial work sub-area according to the current work sub-area where the robot is located;
[0126] S40 If the robot is in the initial working sub-area, the sorting process of the robot working area is ended.
[0127] like Figure 7 As shown, according to an embodiment of the present invention, a system for sorting robot work areas includes:
[0128] a segmentation module 10, the segmentation module 10 divides the working area into several work sub-areas according to the obtained robot working area map;
[0129] a calculation module 20, the calculation module 20 is electrically connected to the segmentation module 10, and the calculation module 20 calculates the distance between adjacent work sub-regions according to the adjacent relationship between several work sub-regions;
[0130] A sorting module 30, the sorting module 30 is electrically connected to the computing module 20, and the sorting module 30 is based on the work sub-region where the robot is currently located, the adjacent relationship between several work sub-regions, and the adjacent work sub-regions. The distance between the sub-areas, and the sequence of arranging the robot working sub-areas.
[0131] like Figure 8 As shown, according to another embodiment of the present invention, a system for sorting robot work areas includes:
[0132] The segmentation module 10 is used for obtaining the robot working area map, such as Figure 9 As shown in the figure, the solid line and the gray area in the figure represent obstacles, and the white area surrounded by the solid line represents the idle area. The working area map refers to a two-dimensional grid map established by using lidar, which divides the working area into several work sub-areas, such as Figure 10 As shown in the figure, the work area is divided into 7 work sub-areas labeled 1-7, and the division method can refer to a cleaning robot-based area division method with application number: 201510629819.9;
[0133] The calculation module 20 is used to calculate the centroid of each work sub-region according to the several work sub-regions divided by the dividing module 10, such as Figure 11 As shown in the figure, the center of mass of the working sub-region is represented by a small circle. Preferably, the calculation steps are as follows;
[0134] After adding the abscissa and weighting of all grid points in each working sub-area, divide by the number of grid points to obtain the abscissa of the centroid in the working sub-area Its calculation formula is as follows:
[0135] x ‾ = Σ i = 0 N - 1 ρ i x i N ;
[0136] After adding the ordinates and weights of all grid points in each working sub-area, divide by the number of grid points to obtain the ordinate of the centroid in the working sub-area Its calculation formula is as follows:
[0137] y ‾ = Σ i = 0 N - 1 ρ i y i N ;
[0138] where x i Indicates the abscissa of the i-th grid point in each working sub-area, y i Represents the ordinate of the i-th grid point in each working sub-area; ρ i Represents the weighting of the coordinates of the ith grid point in each work sub-area, and N represents the number of grid points contained in each work sub-area;
[0139] Preferably, it also includes a judgment module 21 for judging whether the centroid in the working sub-region calculated by the calculation module 20 is occupied by obstacles;
[0140] Preferably, if the centroid of the working sub-area is occupied by the obstacle, the calculation module 20 is further configured to calculate a blank point in the working sub-area that is closest to the centroid, and the blank point is used as the centroid;
[0141] The calculation module 20 is also used to calculate the planned path between the centroids in the adjacent work sub-regions according to the adjacent relationship between several work sub-regions; calculate the planned path between the centroids in the adjacent work sub-regions. Refers to: using the Dijkstra algorithm to calculate the planned path between the centroids in the adjacent working sub-regions, such as Figure 12 As shown, line segment 13, line segment 23, line segment 36, line segment 34, line segment 45, line segment 56, line segment 57, and line segment 71 are the planned paths, and the figure only serves as a schematic diagram, and there may be errors in the drawing process;
[0142] The calculation module 20 is also used to calculate the length of each planned path (line segment 13, line segment 23, line segment 36, line segment 34, line segment 45, line segment 56, line segment 57, line segment 71), and this length is used as the adjacent work sub-region. Calculate the length of each planned path means: calculate the length of each planned path according to the weighted addition of the abscissa and grid point coordinates of all grid points on each planned path;
[0143] The relationship graph generation module 31 is used to represent several pieces of work with an undirected graph according to the work sub-region where the robot is currently located, the adjacent relationship between several work sub-regions, and the distance between adjacent work sub-regions Relationships between subregions, such as Figure 13 The undirected graph includes nodes and connections. A node in an undirected graph represents a work sub-area, and the number on the node is the number of the work sub-area. For example, 1 on a node in an undirected graph represents the first work sub-area. ; The line between the two nodes indicates that the two working sub-regions are adjacent; the number next to the connecting line indicates the distance between the two working sub-regions (the length of the planned path), that is, the distance between the centroids in the two working sub-regions the distance between;
[0144] The sorting module 30 is used to traverse each work sub-region in the undirected graph to obtain the sequence of the robot work sub-regions, such as Figure 15 , Figure 17 shown;
[0145] The recording module 32 is used for taking the initial work sub-area where the robot is located as the current work sub-area, and recording the initial work sub-area;
[0146] The judgment module 21 is further configured to judge whether there is an unvisited neighbor work sub-area in the current work sub-area according to the current work sub-area where the robot is located;
[0147] If there are unvisited neighboring working sub-areas in the current working sub-area, after finding all unvisited neighboring working sub-areas, the judgment module 21 also judges the number of blocks in the unvisited neighboring working sub-areas Is it greater than 1;
[0148] If the number of blocks of the unvisited adjacent working sub-areas is greater than 1, the judgment module 21 is further configured to compare all the unvisited neighboring working sub-areas, and obtain the neighboring working sub-area closest to the current working sub-area ;
[0149] If there is no unvisited neighbor working sub-area in the current working sub-area, or the neighbor working sub-area closest to the current working sub-area is obtained, the recording module 32 is further configured to record the neighbor working sub-area And the access number of this neighbor work sub-area, the access number is the sequence number of the robot work sub-area, and this neighbor work sub-area is used as the current work sub-area where the robot is located;
[0150] The judging module 21 is also used for judging whether there is an unvisited work sub-region in the undirected graph;
[0151] If there is an unvisited work sub-area in the undirected graph, the sorting module 30 controls the robot to trace back to the previous work sub-area. Taking the last working sub-area as the current working sub-area where the robot is located;
[0152] Preferably, if there is no unvisited work sub-area in the undirected graph, the judgment module 21 is further configured to judge whether the robot is in the initial work sub-area;
[0153] Preferably, if the robot is not in the initial work sub-area, the calculation module 20 is further configured to calculate the return of the robot to the initial work sub-area according to the current work sub-area where the robot is located The return path of the region;
[0154] If the robot is in the initial work sub-area, the sorting module 30 is further configured to end the sorting process of the robot work area.
[0155] like Image 6 As shown, according to yet another embodiment of the present invention, a method for sorting robot working areas includes:
[0156] The S100 robot builds a map to obtain a map of the clean area, which is a two-dimensional grid map created by lidar; the solid lines and gray areas in the map represent obstacles, and the white area surrounded by solid lines represents idle areas , it can be seen from the figure that the idle area is not regular, and it will be difficult to directly calculate the route and operate the area when cleaning;
[0157] S110 Divide the cleaning area to obtain several sub-areas; divide the operation area to obtain several regular sub-areas, the sub-areas are separated by dotted lines, at this time planning the route will become easier, assuming that 7 sub-areas are obtained by dividing here ;
[0158] S120 calculates the sub-area number where the robot is currently located;
[0159] S200 discriminates the neighbor relationship between sub-regions;
[0160] S210 calculates the centroid of each sub-region respectively, and adjusts the centroid if the centroid is located in the obstacle; the centroid in each sub-region is represented by a small circle in the figure;
[0161] Calculate the centroid of each subregion, which includes the following steps:
[0162] S211 For each sub-region, the abscissa and ordinate of all grids in the region are weighted and added respectively and then divided by the number of grids, and the average value of the obtained abscissa and ordinate is the centroid of each sub-region; its calculation formula is as follows:
[0163] x ‾ = Σ i = 0 N - 1 ρ i x i N ; y ‾ = Σ i = 0 N - 1 ρ i y i N ;
[0164] in, represents the abscissa of the centroid of each subregion, The ordinate representing the centroid of each subregion; x i Indicates the abscissa of the i-th grid point in the subregion, y i Represents the ordinate of the i-th grid point in the sub-region; ρ i Represents the weighting of the coordinates of the ith grid point in the sub-area, and N represents the number of grid points contained in the sub-area;
[0165]S212 judges the centroid, if the centroid is an obstacle point, find an idle grid closest to the centroid in the current sub-area, and use its coordinates to represent the centroid coordinates;
[0166] S220 uses the Dijkstra algorithm to calculate the shortest path between the centroids of neighboring sub-regions;
[0167] S230 calculates the distance between the centroids of neighboring sub-regions according to the coordinates and the number of points on the shortest path, and uses it to represent the distance between two adjacent sub-regions;
[0168] S300, according to the neighbor relationship between the sub-regions and the distance between the centroids of the neighboring sub-regions, the relationship between the sub-regions is represented by a graph; the graph is a data structure, and an undirected graph is used here, and each sub-region corresponds to a node in the graph, For example, the numbers 1 to 7 in the circle in the figure correspond to sub-regions 1 to 7 respectively, and the distance between the centroids of neighboring sub-regions corresponds to the weight of the edge in the figure. The larger the weight, the longer the distance;
[0169] S310 traverses the graph to obtain the robot sub-region transfer route during cleaning;
[0170] In step S310, the graph is traversed, which specifically includes the following steps:
[0171] S311 selects the node in the graph corresponding to the sub-region where the robot is currently located as the node at which the traversal starts, and records the node;
[0172] S312 finds a node that is closest to the robot and has not been visited in the neighbor nodes of the node where the robot is located, and then records the node number of the node that the robot is about to visit, and then transfers the robot to the node;
[0173] If there is no unvisited node in the neighbors of the node where the robot is located, the backtracking method is used, that is, reverse the previously visited nodes to find the first node with unvisited neighbor nodes, and then let the robot move to this node, and keep going. Repeat S312 until all nodes are accessed;
[0174] S313 When all the nodes in the graph have been visited, and the robot is not at the starting node, the Dijkstra algorithm can be used to directly plan a shortest path to make the robot return to the cleaning starting point. At this time, the starting node is recorded as the robot is about to visit the node number;
[0175] S314 sequentially saves the node numbers recorded in S312 and S313, that is, the sorted sub-region serial numbers are obtained.
[0176] The robot can sort these sub-areas before sweeping, and decide which area to scan first and then which area to scan. In comparison, this method of first building a map, then dividing, and finally sorting the sub-areas has higher cleaning efficiency.
[0177] Specifically, it is assumed that the robot starts at node 1 and node 3, respectively, and then traverses the graph to obtain the sequence diagram of the sub-area sorting. From the sorting diagram, we can obtain the transfer route of the robot sub-area during operation, corresponding to Figure 14 and Figure 17 shown in;
[0178] Combine below Figure 15 and Figure 16 , the traversal process of the graph is described in detail. At this time, the robot starts traversing from node 3, and records node 3 first. It can be seen from the figure that node 2 is the closest to node 3, so node 2 is recorded. At this time, there is no unvisited node 2. Neighbor node, so back to node 3. At this time, it is found that node 6 is closest to the robot among the unvisited neighbor nodes, so node 6 is recorded again, and then node 5 is found in the unvisited neighbor nodes of node 6. The distance from the robot Recently, record node 5 again, and then find that node 4 is closest to the robot in the unvisited neighbor nodes of node 5, and then record node 4. At this time, node 4 has no unvisited neighbor nodes, so back to node 5 , at this time, it is found that node 7 is closest to the robot in the unvisited neighbor nodes, and then records node 7, and then finds node 1 that is closest to the robot in the unvisited neighbor nodes of node 7, and then records node 1. At this time All nodes have been visited, and finally use Dijkstra algorithm to plan a path to start node 3, and record node 3, the area obtained in the whole process is sorted as follows Figure 10 shown in the robot along the Figure 10 Sorting of areas in the cleaning, cleaning efficiency will be greatly increased.
[0179] It should be noted that the above embodiments can be freely combined as required. The above are only the preferred embodiments of the present invention. It should be pointed out that for those skilled in the art, without departing from the principles of the present invention, several improvements and modifications can be made. It should be regarded as the protection scope of the present invention.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Power pipeline cleaning device

Owner:CHENGDU ZHONGAN ELECTRICAL

Apparatus for cleaning floor

Owner:NINGBO SAWADIKA ELECTRICAL APPLIANCE

Area sweeping method and device, storage medium, processor and floor sweeping robot

InactiveCN107752910AReduce cleaning timeImprove cleaning efficiencyAutomatic obstacle detectionTravelling automatic controlMultiple viewMultiple perspective
Owner:GREE ELECTRIC APPLIANCES INC OF ZHUHAI

Classification and recommendation of technical efficacy words

  • Improve cleaning efficiency
  • Strong stability

Hybrid type tilting rotor-wing unmanned aerial vehicle

PendingCN106882371ASimple vertical operationStrong stabilityRotocraftAttitude controlAirplane
Owner:北京天宇新超航空科技有限公司
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products