CN114129092B - Cleaning area planning system and method for cleaning robot - Google Patents
Cleaning area planning system and method for cleaning robot Download PDFInfo
- Publication number
- CN114129092B CN114129092B CN202111495425.0A CN202111495425A CN114129092B CN 114129092 B CN114129092 B CN 114129092B CN 202111495425 A CN202111495425 A CN 202111495425A CN 114129092 B CN114129092 B CN 114129092B
- Authority
- CN
- China
- Prior art keywords
- stain
- area
- module
- cleaning
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000000903 blocking effect Effects 0.000 claims abstract description 33
- 238000012512 characterization method Methods 0.000 claims abstract description 7
- 238000011112 process operation Methods 0.000 claims abstract description 7
- 230000011218 segmentation Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims description 4
- 239000002689 soil Substances 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003749 cleanliness Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4002—Installations of electric equipment
- A47L11/4008—Arrangements of switches, indicators or the like
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/06—Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The invention provides a cleaning area planning method and a cleaning area planning system for a cleaning robot, which comprise the following steps: recognizing the stain of the target object by using the image processing module, and sending a cleaned command to the control module when the stain is not recognized; when the stains are identified, calculating the positions and the number of the stains, and sending the positions and the number of the stains and an uncleaned completion instruction to a stain blocking module; the stain blocking module carries out clustering blocking on the received stain position information, generates a regular region on each block and sends information representing the regular region to the control module; the control module carries out secondary judgment according to the received information, and when the received information is a cleaned finishing instruction, the control module controls the robot to prepare for the next cleaning process operation; and when the received command is an uncleaned finishing command, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all the block area blocks in sequence according to the wiping paths.
Description
Technical Field
The invention relates to the technical field of image processing, in particular to a cleaning area planning system and a cleaning area planning method for a cleaning robot.
Background
With the improvement of modern civilization, the rapid development of economy and the improvement of living standard of people, intelligent cleaners of hotels gradually enter the public visual field, and the development trend of the intelligent cleaners of hotels is faster and faster.
At present, cleaning of hotel rooms is mainly completed in a manual mode, the cleaning process is slow, the cost is relatively high, and the function of a robot used in a hotel is mainly delivery. At present, the cleaning robot mainly has the following two problems: firstly, the method comprises the following steps: the cleanness is not high, and the cleaning is not thorough; secondly, the method comprises the following steps: the cleaning efficiency is slow. Aiming at the spot points recognized by vision, if the spot points are efficiently and accurately returned to a control module of the robot, the secondary cleaning efficiency of the robot is improved.
Patent document CN112388631a (application number: 202011087305.2) discloses a method and apparatus for cleaning a planned area by a robot, wherein the method includes: dividing a region to be cleaned into a plurality of sub-regions according to a preset rule; when a target sub-region meeting a first preset condition exists in the sub-regions, automatically combining the target sub-region with a sub-region adjacent to the target sub-region; and controlling the robot to clean the merged subarea. Therefore, the number of sub-areas which need to be processed by the robot independently is reduced, and the working efficiency of the robot can be effectively improved.
Disclosure of Invention
In view of the defects in the prior art, the present invention provides a cleaning area planning method and system for a cleaning robot.
The invention provides a cleaning area planning method of a cleaning robot, which comprises the following steps
Step S1: recognizing the stain of the target object by using the image processing module, and sending a cleaned command to the control module when the stain is not recognized; when the stains are identified, calculating the positions and the number of the stains, and sending the positions and the number of the stains and an uncleaned completion instruction to a stain blocking module;
step S2: the stain blocking module carries out clustering blocking on the received stain position information, generates a regular region on each block and sends information representing the regular region to the control module;
and step S3: the control module carries out secondary judgment according to the received information, and when the received information is a cleaned finishing instruction, the control module controls the robot to prepare for the next cleaning process operation; and when the received command is an uncleaned finishing command, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all the block area blocks in sequence according to the wiping paths.
Preferably, the step S1 employs:
step S1.1: collecting the cleaned object image by using an RGBD depth camera visual recognition module, and performing preprocessing operation by using median filtering to obtain a preprocessed object image;
step S1.2: identifying stains in the preprocessed object image, and sending a cleaning completion instruction to the control module when the stains are not identified; when the stains are identified, segmenting a stain area by using a self-adaptive threshold segmentation algorithm; and counting the positions and the number of the stains by using a connected domain algorithm of the image, and sending the position information and the number of the stains and an uncleaned completion instruction to the stain blocking module.
Preferably, the step S2 employs:
step S2.1: in the cleaning process of the cleaning robot, the size of the clamp determines the diameter of the maximum contact area of the robot at a certain position point and the surface of a cleaning object, the size of the clamp is set as a stain position distance segmentation threshold, the identified stain position points are clustered according to the current threshold, and the maximum distance of each block area is ensured not to exceed the current threshold t;
step S2.2: performing plane fitting on the three-dimensional position point coordinates of each block area, and calculating a normal vector; projecting the stain points in the block areas to a normal vector plane according to the normal vector; in a two-dimensional space where a current normal vector plane is located, firstly, a convex hull of a contour point set is solved, then, a minimum external rectangle of the convex hull is solved by utilizing a rotating caliper algorithm, 4 corner points of the minimum external rectangle are reversely projected into a three-dimensional space again, and 4 corner points of each area block are sent to a control module.
Preferably, said step S2.1 employs:
step S2.1.1: taking a random point in the spot coordinate points as an initial point, and storing the initial point in a stack m;
step S2.1.2: traversing all other stain coordinate points, sequentially calculating Euclidean distances dist from the initial point, and storing the stain coordinate points of which the Euclidean distances dist are smaller than or equal to a threshold value t in the same block area with the initial point;
step S2.1.3: randomly selecting one point from the rest stain coordinate points as a starting point, and storing the starting point in an m stack; repeatedly triggering the steps S2.1.2 to S2.1.3 until the spot coordinate points are blocked after traversing of the irresponsible coordinate points is finished;
the stack m is used for storing the starting point of each block area, and the number of elements in the stack m determines the block number of the final area;
the step S2.1.2 employs:
wherein the starting point p 1 (x 1 ,y 1 ,z 1 ) (ii) a A certain point p in the soil coordinate point set 2 (x 2 ,y 2 ,z 2 )。
Preferably, the step S3 employs: and when the received information state is that the dirt is recognized and the three-dimensional position information of the dirt point is received, performing S-shaped area track planning on each block area and performing S-shaped traversal on all the area blocks.
The invention provides a cleaning area planning system of a cleaning robot, which comprises
An image processing module: recognizing the stain of the target object, and sending a cleaned finishing instruction to the control module when the stain is not recognized; when the stains are identified, calculating the positions and the number of the stains, and sending the positions and the number of the stains and an uncleaned completion instruction to a stain blocking module;
stain blocking module: clustering and partitioning the received stain position information, generating a regular region for each partition, and sending information representing the regular region to a control module;
a control module: performing secondary judgment according to the received information, and controlling the robot to prepare for the next cleaning process operation when a cleaning completion instruction is received; and when the received command is an uncleaned finishing command, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all block area blocks in sequence according to the wiping path.
Preferably, in the image processing module:
a module M1: collecting the cleaned object image by using an RGBD depth camera visual recognition module, and performing preprocessing operation by using median filtering to obtain a preprocessed object image;
a module M2: identifying stains in the preprocessed object image, and sending a cleaning completion instruction to the control module when the stains are not identified; when the stains are identified, segmenting a stain area by using a self-adaptive threshold segmentation algorithm; and counting the positions and the number of the stains by using a connected domain algorithm of the image, and sending the position information and the number of the stains and an uncleaned completion instruction to the stain blocking module.
Preferably, in the stain blocking module:
a module M3: in the cleaning process of the cleaning robot, the size of the clamp determines the diameter of the maximum contact area of the robot at a certain position point and the surface of a cleaning object, the size of the clamp is set as a stain position distance segmentation threshold, the identified stain position points are clustered according to the current threshold, and the maximum distance of each block area is ensured not to exceed the current threshold t;
a module M4: performing plane fitting on the three-dimensional position point coordinates of each block area, and calculating a normal vector; projecting the stain points in the block areas to a normal vector plane according to the normal vector; in a two-dimensional space where a current normal vector plane is located, firstly, a convex hull of a contour point set is solved, then, a minimum external rectangle of the convex hull is solved by utilizing a rotating caliper algorithm, 4 corner points of the minimum external rectangle are reversely projected into a three-dimensional space again, and 4 corner points of each area block are sent to a control module.
Preferably, said module M3.1 employs:
module M3.1.1: taking a random point in the spot coordinate points as a starting point, and storing the starting point in a stack m;
module M3.1.2: traversing all other stain coordinate points, sequentially calculating Euclidean distances dist from the initial point, and storing the stain coordinate points of which the Euclidean distances dist are smaller than or equal to a threshold value t in the same block area with the initial point;
module M3.1.3: randomly selecting one point from the rest stain coordinate points as a starting point, and storing the starting point in an m stack; repeatedly triggering the modules M3.1.2 to M3.1.3 until the traversing of the irresponsible coordinate points is finished, and blocking the stain coordinate points;
the stack m is used for storing the starting point of each block area, and the number of elements in the stack m determines the block number of the final area.
The module M3.1.2 employs:
wherein the starting point p 1 (x 1 ,y 1 ,z 1 ) (ii) a A certain point p in the soil coordinate point set 2 (x 2 ,y 2 ,z 2 )。
Preferably, in the control module shown: and when the received information state is that the dirt is recognized and the three-dimensional position information of the dirt point is received, performing S-shaped area track planning on each block area and performing S-shaped traversal on all the area blocks.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention provides an efficient feedback scheme for the point location information of the secondary cleaning stain of the robot, optimizes the cleaning track flow and improves the cleaning efficiency of the robot;
2. the method is suitable for any plane scene, has high algorithm universality and strong robustness, can be applied to a plurality of cleaning scenes, and provides a good solution for cleaning intellectualization;
3. the maximum region generation operation of the dirty region can convert an irregular region into a regular region, so that the reusability of the algorithm is improved, the stability of the process is improved to a great extent, and the deployment efficiency is improved.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
fig. 1 is a flow chart of a clean area planning system.
Fig. 2 is a schematic diagram of area trajectory planning.
FIG. 3 is a schematic diagram of a convex set point distribution.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will aid those skilled in the art in further understanding the present invention, but are not intended to limit the invention in any manner. It should be noted that it would be obvious to those skilled in the art that various changes and modifications can be made without departing from the spirit of the invention. All falling within the scope of the present invention.
Example 1
After the cleaning robot finishes cleaning, in order to improve the cleanliness, in the process of rechecking, the spot position of the stain is recognized by vision, then, the spot is quickly partitioned by using a distance threshold, the maximum area generating operation is carried out in each partition, and the normal vector of the area surface is returned, so that the pose information is provided for the robot, finally, the cleaning path planning is carried out on each partitioned area, and all the areas are cleaned in a traversing manner according to an S-shaped route, so that the repeated path of the robot can be effectively avoided, and the cleaning efficiency can be quickly improved.
A cleaning area planning method for a cleaning robot provided by the invention is shown in figure 1 and comprises the following steps
Step S1: performing stain rechecking work on the cleaned target object by using the image processing module, judging whether cleaning work is performed again according to the identification condition of the stains, and sending a cleaned finishing instruction to the control module when the stains are not identified; when the stains are identified, peripheral surrounding vertexes of all the stains and uncleaned finishing instructions are sent to the stain blocking module;
step S2: the stain blocking module carries out distance clustering on the received three-dimensional coordinate point data, generates a regular region on each blocked block after clustering, and sends characteristic information representing each region block to the control module;
and step S3: the control module carries out secondary judgment according to the received information, and when the received information is a cleaned finishing instruction, the control module controls the robot to prepare for the next cleaning process operation; and when the received command is an uncleaned finishing command, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all the block area blocks in sequence according to the wiping paths.
Specifically, the step S1 employs:
step S1.1: the RGBD depth camera visual recognition module is used for collecting the cleaned object image, and the median filtering is used for preprocessing operation to obtain the preprocessed object image, so that the influence of noise on the detection result is reduced;
step S1.2: identifying stains in the preprocessed object image, and sending a cleaning completion instruction to the control module when the stains are not identified; when the stains are identified, segmenting a stain area by using a self-adaptive threshold segmentation algorithm; and counting the positions and the number of the stains by using a connected domain algorithm of the image, and sending the position information and the number of the stains and an uncleaned completion instruction to the stain blocking module.
Specifically, the step S2 employs: and after receiving the message, the stain blocking module performs clustering blocking on the received stain position information, generates a regular region on each block, and sends information representing the regular region to the control module.
Step S2.1: in the cleaning process of the cleaning robot, the size of the clamp determines the diameter of the maximum contact area of the robot at a certain position point and the surface of a cleaning object, the size of the clamp is set as a stain position distance segmentation threshold, the identified stain position points are clustered according to the current threshold, and the maximum distance of each block area is ensured not to exceed the current threshold t;
step S2.2: carrying out plane fitting on the three-dimensional position point coordinates of each block area, and calculating a normal vector of the three-dimensional position point coordinates; projecting the stain points in the block areas to a normal vector plane according to the normal vector; in a two-dimensional space where a current normal vector plane is located, firstly, a convex hull of a contour point set is solved, then, a minimum external rectangle of the convex hull is solved by utilizing a rotating caliper algorithm, 4 corner points of the minimum external rectangle are reversely projected into a three-dimensional space again, and 4 corner points of each area block are sent to a control module.
Specifically, the step S2.1 employs:
step S2.1.1: taking a random point in the spot coordinate points as an initial point, and storing the initial point in a stack m;
step S2.1.2: traversing all other stain coordinate points, sequentially calculating Euclidean distances dist from the initial point, and storing the stain coordinate points of which the Euclidean distances dist are smaller than or equal to a threshold value t in the same block area with the initial point;
step S2.1.3: randomly selecting one point from the rest stain coordinate points as a starting point, and storing the starting point in an m stack; repeatedly triggering the steps S2.1.2 to S2.1.3 until the spot coordinate points are blocked after traversing of the irresponsible coordinate points is finished; the state of the point set after blocking is S1, S2, S3, S4 and S5 shown in FIG. 2;
the stack m is used for storing the starting point of each block area, and the number of elements in the stack m determines the block number of the final area.
Specifically, the step S2.1.2 adopts:
wherein the starting point p 1 (x 1 ,y 1 ,z 1 ) (ii) a A certain point p in the spot coordinate point set 2 (x 2 ,y 2 ,z 2 )。
The step S2.2 adopts:
the convex hull implementation algorithm of the two-dimensional spot position coordinate is as follows:
step S2.2.1: placing all the points in a two-dimensional coordinate system, wherein the point with the minimum vertical coordinate is a point on the convex hull, such as a point P0 shown in the following figure 3;
step S2.2.2: translating all point coordinates once to make P0 as an origin;
step S2.2.3: and calculating the amplitude angle alpha of each point relative to the P0, and sequencing the points in a descending order. When α is the same, the row closer to the distance P0 is ahead. The first point P0 and the second point P1 of the convex hull are placed inside the stack. Then take the point after P1 as the current point, P2, and then start to find the third point.
Step S2.2.4: the point at which P0 is connected to the top of the stack, resulting in a straight line L. To see if the current point is to the right or left of the line L, if it is to the left, then step S2.2.5 is performed; if on or to the left of the straight line, step S2.2.6 is performed.
Step S2.2.5: if on the right, then the top element is not a point on the convex hull, the top element is popped, STEP S2.2.4 is performed.
Step S2.2.6: the current point is a point on the convex hull, it is pushed onto the stack, and step S2.2.7 is performed.
Step S2.2.7: check that current point P2 is the last element that is not the result of step S2.2.3. Is the last element, and ends. If not, the point after P2 is taken as the current point, and the process returns to S2.2.4.
Step S2.2.8: the last element in the stack is the point on the convex hull.
Convex hull rotation jamming algorithm:
step S2.2.9: four polygon endpoints of the convex hull midpoint in the algorithm are calculated, and are called xmip, xmaxP, yminP and ymaxP.
Step S2.2.10: two "chunking" sets were determined by constructing four tangents to P at four points.
Step S2.2.11: if one (or two) line coincides with an edge, the area of the rectangle determined by the four lines is calculated and set to the current minimum. Otherwise the current minimum is set to infinity.
Step S2.2.12: the lines are rotated in time until one of the lines coincides with one edge of the polygon.
Step S2.2.13: the area of the new rectangle is calculated and compared to the current minimum. If the current minimum value is smaller than the current minimum value, updating and saving the information of the minimum rectangle. Repeating the steps S2.2.12 to S2.2.13 until the wire is rotated by more than 90 degrees.
Step S2.2.14: and outputting the minimum area of the circumscribed rectangle.
Specifically, the step S3 employs: when the received information state is that the dirt is recognized and the three-dimensional position information of the dirt point is received, S-region trajectory planning is performed on each block region, and S-type traversal is performed on all the region blocks, so that the repetition rate of the trajectory can be reduced, and the cleaning efficiency can be improved by performing the S-region trajectory planning, as shown in fig. 2.
The invention provides a cleaning area planning system of a cleaning robot, which comprises
An image processing module: performing stain rechecking work on the cleaned target object, judging whether cleaning work is performed again according to the identification condition of the stains, and sending a cleaned finishing instruction to the control module when the stains are not identified; when the stains are identified, peripheral surrounding vertexes of all the stains and uncleaned finishing instructions are sent to the stain blocking module;
stain blocking module: performing distance clustering on the received three-dimensional coordinate point data, generating a regular region for each clustered block, and sending characteristic information representing each region block to a control module;
a control module: performing secondary judgment according to the received information, and controlling the robot to prepare for the next cleaning process operation when a cleaning completion instruction is received; and when the received command is an uncleaned finishing command, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all the block area blocks in sequence according to the wiping paths.
Specifically, the image processing module employs:
a module M1: collecting the cleaned object image by using an RGBD depth camera visual identification module, and performing pretreatment operation by using median filtering to obtain a pretreated object image, thereby reducing the influence of noise on a detection result;
a module M2: identifying stains in the preprocessed object image, and sending a cleaning completion instruction to the control module when the stains are not identified; when the stains are identified, segmenting a stain area by using a self-adaptive threshold segmentation algorithm; and counting the positions and the number of the stains by using a connected domain algorithm of the image, and sending stain position information, the number and an uncleaned completion instruction to the stain blocking module.
Specifically, the stain blocking module employs: after receiving the message, clustering and partitioning the received stain position information, generating a rule area for each partition, and sending the information representing the rule area to the control module.
A module M3: in the cleaning process of the cleaning robot, the size of the clamp determines the diameter of the maximum contact area of the robot at a certain position point and the surface of a cleaning object, the size of the clamp is set as a stain position distance segmentation threshold, the identified stain position points are clustered according to the current threshold, and the maximum distance of each block area is ensured not to exceed the current threshold t;
a module M4: carrying out plane fitting on the three-dimensional position point coordinates of each block area, and calculating a normal vector of the three-dimensional position point coordinates; projecting the stain points in the block areas to a normal vector plane according to the normal vector; in a two-dimensional space where a current normal vector plane is located, firstly, a convex hull of a contour point set is solved, then, a minimum external rectangle of the convex hull is solved by utilizing a rotating caliper algorithm, 4 corner points of the minimum external rectangle are inversely projected into a three-dimensional space again, and 4 corner points of each area block are sent to a control module.
Specifically, the module M3 employs:
module M3.1: taking a random point in the spot coordinate points as an initial point, and storing the initial point in a stack m;
module M3.2: traversing all other stain coordinate points, sequentially calculating Euclidean distances dist from the initial point, and storing the stain coordinate points of which the Euclidean distances dist are smaller than or equal to a threshold value t in the same block area with the initial point;
module M3.3: randomly selecting one point from the rest stain coordinate points as a starting point, and storing the starting point in an m stack; repeatedly triggering the module M3.2 to the module M3.3 until the traversing of the non-responsibility coordinate points is finished, and blocking the stain coordinate points; the state of the point set after blocking is S1, S2, S3, S4 and S5 shown in FIG. 2;
the stack m is used for storing the starting point of each block area, and the number of elements in the stack m determines the block number of the final area.
In particular, the module M3.2 employs:
wherein the starting point p 1 (x 1 ,y 1 ,z 1 ) (ii) a A certain point p in the spot coordinate point set 2 (x 2 ,y 2 ,z 2 )。
In said module M4:
the convex hull implementation algorithm of the two-dimensional spot position coordinate is as follows:
module M4.1: placing all the points in a two-dimensional coordinate system, wherein the point with the minimum vertical coordinate is a point on the convex hull, such as a point P0 shown in the following figure 3;
module M4.2: translating all point coordinates once to make P0 as an origin;
module M4.3: and calculating the amplitude angle alpha of each point relative to the P0, and sequencing the points in a descending order. When α is the same, the row closer to the distance P0 is ahead. The first point P0 and the second point P1 of the convex hull are placed inside the stack. Then take the point after P1 as the current point, P2, and then start to find the third point.
Module M4.4: the point at which P0 is connected to the top of the stack, resulting in a straight line L. See if the current point is on the right or left of the straight line L, if on the left, the module M4.5 is triggered; module M4.6 is triggered if on or to the left of the straight line.
Module M4.5: if on the right, the top element is not the point on the convex hull, the top element is popped off the stack, triggering module M4.4.
Module M4.6: the current point is the point on the convex hull, which is pushed onto the stack, triggering the module M4.7.
Module M4.7: it is checked whether the current point P2 is the last element of that result of the module M4.3. Is the last element, and ends. If not, the point behind P2 is taken as the current point, and the trigger module M4.4 is returned.
Module M4.8: the last element in the stack is the point on the convex hull.
Convex hull rotation jamming algorithm:
module M4.9: calculating four polygon endpoints of the convex hull midpoint in the algorithm, namely xmip, xmaxP, yminP and ymaxP;
module M4.10: two "chunking" sets were determined by constructing four tangents to P at four points.
Module M4.11: if one (or two) line coincides with an edge, the area of the rectangle determined by the four lines is calculated and set to the current minimum. Otherwise the current minimum is set to infinity.
Module M4.12: the lines are rotated in time until one of the lines coincides with one edge of the polygon.
Module M4.13: the area of the new rectangle is calculated and compared to the current minimum. If the current minimum value is smaller than the current minimum value, updating and saving the information of the minimum rectangle. The steps module M4.12 to module M4.13 are repeated until the wire has rotated through an angle greater than 90 degrees.
Module M4.14: and outputting the minimum area of the circumscribed rectangle.
Specifically, in the control module: when the received information state is that the stains are recognized and the three-dimensional position information of stain points is received, S-region trajectory planning is performed on each block region, and S-type traversal is performed on all the region blocks, so that the repetition rate of the trajectory can be reduced, and the cleaning efficiency can be improved by performing the S-region trajectory planning, as shown in fig. 2.
Those skilled in the art will appreciate that, in addition to implementing the systems, apparatus, and various modules thereof provided by the present invention in purely computer readable program code, the same procedures can be implemented entirely by logically programming method steps such that the systems, apparatus, and various modules thereof are provided in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Therefore, the system, the device and the modules thereof provided by the present invention can be considered as a hardware component, and the modules included in the system, the device and the modules thereof for implementing various programs can also be considered as structures in the hardware component; modules for performing various functions may also be considered to be both software programs for performing the methods and structures within hardware components.
The foregoing description has described specific embodiments of the present invention. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.
Claims (8)
1. A cleaning area planning method for a cleaning robot is characterized by comprising
Step S1: recognizing the stain of the target object by using the image processing module, and sending a cleaned command to the control module when the stain is not recognized; when the stains are identified, calculating the positions and the number of the stains, and sending the positions and the number of the stains and an uncleaned finishing instruction to a stain blocking module;
step S2: the stain blocking module carries out clustering blocking on the received stain position information, generates a regular region on each block and sends information representing the regular region to the control module;
and step S3: the control module carries out secondary judgment according to the received information, and when the received information is a cleaned finishing instruction, the control module controls the robot to prepare for the next cleaning process operation; when a command of not cleaning is received, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all block area blocks in sequence according to wiping paths;
the step S2 comprises the following steps:
step S2.1: in the cleaning process of the cleaning robot, the size of the clamp determines the diameter of the maximum contact area of the robot at a certain position point and the surface of a cleaning object, the size of the clamp is set as a stain position distance segmentation threshold, the identified stain position points are clustered according to the current threshold, and the maximum distance of each block area is ensured not to exceed the current threshold t;
step S2.2: performing plane fitting on the three-dimensional position point coordinates of each block area, and calculating a normal vector; projecting the stain points in the block areas to a normal vector plane according to the normal vector; in a two-dimensional space where a current normal vector plane is located, firstly, a convex hull of a contour point set is solved, then, a minimum external rectangle of the convex hull is solved by utilizing a rotating caliper algorithm, 4 corner points of the minimum external rectangle are reversely projected into a three-dimensional space again, and 4 corner points of each area block are sent to a control module.
2. A cleaning area planning method for a cleaning robot according to claim 1, characterized in that said step S1 employs:
step S1.1: collecting the cleaned object image by using an RGBD depth camera visual identification module, and performing pretreatment operation by using median filtering to obtain a pretreated object image;
step S1.2: identifying stains in the preprocessed object image, and sending a cleaning completion instruction to the control module when the stains are not identified; when the stains are identified, segmenting a stain area by using a self-adaptive threshold segmentation algorithm; and counting the positions and the number of the stains by using a connected domain algorithm of the image, and sending stain position information, the number and an uncleaned completion instruction to the stain blocking module.
3. A cleaning area planning method for a cleaning robot according to claim 1, characterized in that said step S2.1 employs:
step S2.1.1: taking a random point in the spot coordinate points as an initial point, and storing the initial point in a stack m;
step S2.1.2: traversing all other stain coordinate points and calculating Euclidean distance between the coordinate points and the initial point in sequenceAnd the Euclidean distanceStoring the soil coordinate points smaller than or equal to the threshold value t in the same block area with the starting point;
step S2.1.3: randomly selecting one point from the rest stain coordinate points as a starting point, and storing the starting point in an m stack; repeatedly triggering the steps S2.1.2 to S2.1.3 until the spot coordinate points are blocked after traversing of the irresponsible coordinate points is finished;
the stack m is used for storing the starting point of each block area, and the number of elements in the stack m determines the block number of the final area;
the step S2.1.2 employs:
4. A cleaning area planning method for a cleaning robot according to claim 1, characterized in that said step S3 employs: and when the received information state is that the dirt is recognized and the three-dimensional position information of the dirt point is received, performing S-shaped area track planning on each block area and performing S-shaped traversal on all the area blocks.
5. A cleaning area planning system for a cleaning robot is characterized by comprising
An image processing module: recognizing the stain of the target object, and sending a cleaned finishing instruction to the control module when the stain is not recognized; when the stains are identified, calculating the positions and the number of the stains, and sending the positions and the number of the stains and an uncleaned completion instruction to a stain blocking module;
stain blocking module: clustering and partitioning the received stain position information, generating a regular region for each partition, and sending information representing the regular region to a control module;
a control module: performing secondary judgment according to the received information, and controlling the robot to prepare for the next cleaning process operation when a cleaning completion instruction is received; when a command of not cleaning is received, performing wiping path planning on each block area according to the received characterization rule area information, and traversing all block area blocks in sequence according to wiping paths;
in the stain blocking module:
a module M3: in the cleaning process of the cleaning robot, the size of the clamp determines the diameter of the maximum contact area of the robot at a certain position point and the surface of a cleaning object, the size of the clamp is set as a stain position distance segmentation threshold, the identified stain position points are clustered according to the current threshold, and the maximum distance of each block area is ensured not to exceed the current threshold t;
a module M4: performing plane fitting on the three-dimensional position point coordinates of each block area, and calculating a normal vector; projecting the stain points in the block areas to a normal vector plane according to the normal vector; in a two-dimensional space where a current normal vector plane is located, firstly, a convex hull of a contour point set is solved, then, a minimum external rectangle of the convex hull is solved by utilizing a rotating caliper algorithm, 4 corner points of the minimum external rectangle are reversely projected into a three-dimensional space again, and 4 corner points of each area block are sent to a control module.
6. A cleaning robot cleaning area planning system according to claim 5, characterized in that in the image processing module:
a module M1: collecting the cleaned object image by using an RGBD depth camera visual identification module, and performing pretreatment operation by using median filtering to obtain a pretreated object image;
a module M2: identifying stains in the preprocessed object image, and sending a cleaning completion instruction to the control module when the stains are not identified; when the stains are identified, segmenting a stain area by using a self-adaptive threshold segmentation algorithm; and counting the positions and the number of the stains by using a connected domain algorithm of the image, and sending stain position information, the number and an uncleaned completion instruction to the stain blocking module.
7. A cleaning robot cleaning area planning system according to claim 5, characterized in that said module M3 employs:
module M3.1: taking a random point in the spot coordinate points as a starting point, and storing the starting point in a stack m;
module M3.2: traversing all other dirty mark coordinate points and calculating Euclidean distance between the coordinate points and the initial point in sequenceAnd the Euclidean distanceStoring the soil coordinate points smaller than or equal to the threshold value t in the same block area with the starting point;
module M3.3: randomly selecting one point from the rest stain coordinate points as a starting point, and storing the starting point in an m stack; repeatedly triggering the module M3.2 to the module M3.3 until the traversing of the non-responsibility coordinate points is finished, and blocking the stain coordinate points;
the stack m is used for storing the starting point of each block area, and the number of elements in the stack m determines the block number of the final area;
the module M3.2 employs:
8. A cleaning robot cleaning area planning system according to claim 5, characterized in that in the control module: and when the received information state is that the dirt is recognized and the three-dimensional position information of the dirt point is received, performing S-shaped area track planning on each block area and performing S-shaped traversal on all the area blocks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111495425.0A CN114129092B (en) | 2021-12-08 | 2021-12-08 | Cleaning area planning system and method for cleaning robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111495425.0A CN114129092B (en) | 2021-12-08 | 2021-12-08 | Cleaning area planning system and method for cleaning robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114129092A CN114129092A (en) | 2022-03-04 |
CN114129092B true CN114129092B (en) | 2022-10-14 |
Family
ID=80385351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111495425.0A Active CN114129092B (en) | 2021-12-08 | 2021-12-08 | Cleaning area planning system and method for cleaning robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114129092B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116942036A (en) * | 2022-04-15 | 2023-10-27 | 北京与光科技有限公司 | Control method and device of cleaning equipment and cleaning system |
CN115040038A (en) * | 2022-06-22 | 2022-09-13 | 杭州萤石软件有限公司 | Robot control method and device and robot |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109003262A (en) * | 2018-06-29 | 2018-12-14 | 炬大科技有限公司 | Stain clean method and device |
CN109571482A (en) * | 2019-01-02 | 2019-04-05 | 京东方科技集团股份有限公司 | Sweeping robot paths planning method and related system, readable storage medium storing program for executing |
CN112274065A (en) * | 2020-10-29 | 2021-01-29 | 尚科宁家(中国)科技有限公司 | Cleaning robot and control method thereof |
CN112471976A (en) * | 2020-12-08 | 2021-03-12 | 珠海格力电器股份有限公司 | Sweeping robot control method, device, equipment and computer readable medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201239643A (en) * | 2011-03-30 | 2012-10-01 | Micro Star Int Co Ltd | Clean path guiding method with dirt detection |
WO2020080088A1 (en) * | 2018-10-15 | 2020-04-23 | 三菱電機株式会社 | Information processing device |
-
2021
- 2021-12-08 CN CN202111495425.0A patent/CN114129092B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109003262A (en) * | 2018-06-29 | 2018-12-14 | 炬大科技有限公司 | Stain clean method and device |
CN109571482A (en) * | 2019-01-02 | 2019-04-05 | 京东方科技集团股份有限公司 | Sweeping robot paths planning method and related system, readable storage medium storing program for executing |
CN112274065A (en) * | 2020-10-29 | 2021-01-29 | 尚科宁家(中国)科技有限公司 | Cleaning robot and control method thereof |
CN112471976A (en) * | 2020-12-08 | 2021-03-12 | 珠海格力电器股份有限公司 | Sweeping robot control method, device, equipment and computer readable medium |
Non-Patent Citations (1)
Title |
---|
基于计算机视觉的垃圾检测与清洁度评定方法研究;王一田;《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅰ辑》;20210815;B027-520 * |
Also Published As
Publication number | Publication date |
---|---|
CN114129092A (en) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114129092B (en) | Cleaning area planning system and method for cleaning robot | |
EP4043988B1 (en) | Method for planning surface cleaning for a robot travelling along the border, chip and robot | |
Zhong et al. | Detect-SLAM: Making object detection and SLAM mutually beneficial | |
US20200027276A1 (en) | Method and Apparatus for Representing a Virtual Object in a Real Environment | |
JP4680955B2 (en) | Mobile robot region separation method and apparatus | |
CN110197153B (en) | Automatic wall identification method in house type graph | |
Faugeras et al. | Quantitative and qualitative comparison of some area and feature-based stereo algorithms | |
CN110210377A (en) | A kind of wall and door and window information acquisition method rebuild for three-dimensional house type | |
Lee et al. | Extraction of line features in a noisy image | |
CN113985866B (en) | Sweeping robot path planning method and device, electronic equipment and storage medium | |
CN113064407B (en) | Cleaning method and device for full-area coverage, cleaning robot and storage device | |
CN113744329A (en) | Automatic region division and robot walking control method, system, equipment and medium | |
Kang et al. | Path planning for complete and efficient coverage operation of mobile robots | |
Yoon et al. | Artificial landmark tracking based on the color histogram | |
Dumitru et al. | Interior reconstruction using the 3D hough transform | |
CN114587191B (en) | Method and device for cleaning subareas of sweeper, computer equipment and storage medium | |
CN110276839B (en) | Bottom fragment removing method based on live-action three-dimensional data | |
CN115393372A (en) | Map partitioning method, map partitioning device, autonomous mobile device and storage medium | |
CN114119631A (en) | Automatic generation method and system for cleaning area | |
Do | Region based detection of occluded people for the tracking in video image sequences | |
Myung et al. | Virtual door-based coverage path planning for mobile robot | |
Eberst et al. | Robust video-based object recognition integrating highly redundant cues for indexing and verification | |
Wu et al. | A multi-segment lane-switch algorithm for efficient real-time lane detection | |
Suveg et al. | Localization and generation of building models | |
CN115251766A (en) | Cleaning method of cleaning robot and cleaning robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 311231 building 3, No. 477, Hongxing Road, Qiaonan block, economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Jingwu Intelligent Technology Co.,Ltd. Address before: Room 12, 3rd floor, No.2 Lane 1446, Yunguan Road, Lingang New District, Pudong New Area pilot Free Trade Zone, Shanghai, 201306 Patentee before: Shanghai Jingwu Intelligent Technology Co.,Ltd. |
|
CP03 | Change of name, title or address |