EP3687745A1 - Moving robot and controlling method - Google Patents
Moving robot and controlling methodInfo
- Publication number
- EP3687745A1 EP3687745A1 EP18863353.1A EP18863353A EP3687745A1 EP 3687745 A1 EP3687745 A1 EP 3687745A1 EP 18863353 A EP18863353 A EP 18863353A EP 3687745 A1 EP3687745 A1 EP 3687745A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- cleaning
- region
- dust
- data
- controller
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004140 cleaning Methods 0.000 claims abstract description 412
- 239000000428 dust Substances 0.000 claims abstract description 164
- 238000001514 detection method Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 15
- 230000003287 optical effect Effects 0.000 description 28
- 230000008859 change Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 239000000126 substance Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000007717 exclusion Effects 0.000 description 5
- 238000011109 contamination Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 239000000356 contaminant Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2805—Parameters or conditions being sensed
- A47L9/281—Parameters or conditions being sensed the amount or condition of incoming dirt or dust
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- 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
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/009—Carrying-vehicles; Arrangements of trollies or wheels; Means for avoiding mechanical obstacles
-
- 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
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- 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
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2894—Details related to signal transmission in suction cleaners
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
-
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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
-
- 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
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/02—Nozzles
- A47L9/04—Nozzles with driven brushes or agitators
- A47L9/0461—Dust-loosening tools, e.g. agitators, brushes
- A47L9/0466—Rotating tools
Definitions
- the present invention relates to a moving robot and a controlling method thereof, and, particularly, a moving robot which performs cleaning by traveling in a cleaning region and a controlling method thereof.
- a moving robot is an apparatus that automatically performs cleaning by suctioning foreign substances, such as dust, from a floor of an area to be cleaned.
- the moving robot may sense distances to an obstacle, such as furniture, office equipment, and walls, in a cleaning region and maneuver to avoid the obstacle.
- an obstacle such as furniture, office equipment, and walls
- the moving robot generates a map while traveling in a region, and travels based on the map when performing cleaning, so that all regions are prevented from being left uncleaned, and the moving robot tends to store information on an obstacle detected during the cleaning.
- the moving robot may be in a messy and dusty region depending on an indoor environment, and thus, it is necessary for the moving robot to perform cleaning in response to the messy and dusty condition, but it is difficult to reflect such indoor environment in the cleaning operation.
- Korean Patent Application No. 20110032346A discloses a robot cleaner which generates a cleaning map by searching for a cleaning region and displays a contaminant degree on the map.
- the robot cleaner displays the contaminant degree, a change in contamination in a target region due to cleaning is not displayed, and therefore, there is a limitation in cleaning control.
- cleaning is performed merely based on a degree of contamination, resulting in an increased cleaning time, and, in particular, a particular region is excluded from the cleaning and thus the whole regions may not be cleaned evenly.
- the present invention provides a moving robot and a controlling method thereof, in which a contamination level of each cleaning region is determined indoor, wherein a region is set as a cleaning region in consideration of the number of times the corresponding region was cleaned and therefore it is possible to clean the entire indoor area while preventing cleaning the same region from being cleaned unnecessarily.
- a moving robot including: a movable main body; a travel drive unit configured to move the main body; a data unit configured to store data for each region; a dust sensor configured to detect dust in air suctioned during cleaning; and a controller configured to control the travel drive unit so as to perform cleaning while traveling in a traveling area distinguished into a plurality of regions, wherein the controller is further configured to: store, in the data unit, dust information detected by the dust sensor and a number of times of cleaning in each region; and set a cleaning region and a non-cleaning region based on cleaning data, which is calculated based on the dust information and the number of times of cleaning, so as to perform cleaning of the cleaning region.
- the controller may be further configured to: distinguish each region allowed for traveling in the plurality of regions into cells of a predetermined size; store, as the dust information, a number of cells in each region and a number of cells where dust is detected by the dust sensor; calculate the cleaning data based on a number of cells in each region, a number of cells where the dust is detected, and a number of times of cleaning.
- the controller may be further configured to; when the cleaning data has a value equal to or greater than a reference value, set a region as a cleaning region; and, when the cleaning data has a value smaller than the reference value, set the region as a non-cleaning region.
- a controlling method of a moving robot including: receiving a cleaning command with respect to a traveling area divided into a plurality of regions; checking cleaning data which is calculated based on a number of times of cleaning in each region and dust information; setting a cleaning region and a non-cleaning region by comparing the cleaning data with a reference value; performing cleaning of the cleaning region while traveling; storing dust information by detecting dust in air suctioned during cleaning; and updating the cleaning data based on the number of times of cleaning in each region and the dust information.
- the method may further include, before setting a region as the non-cleaning region in a case where the cleaning data has a value smaller than the reference value, setting the region as a cleaning region when at least one of the following conditions is met: the region has been set as the non-cleaning region a preset number of times or more; there is a cell with a density of dust equal to or greater than a reference density; and a preset time has elapsed since last cleaning.
- a moving robot and a controlling method thereof according to the present invention may enable detecting a density of dust detected by the moving robot while traveling, counting the number of times of cleaning in each region, and calculating cleaning data for each region so as to set a next cleaning region for a next cleaning operation.
- the present invention sets a cleaning region based on cleaning data to thereby prevent cleaning from being unnecessarily repeatedly performed, and allows cleaning to be performed based on the number of times of cleaning despite a small amount of dust, and therefore, there are the advantages that the entire indoor area is maintained in a uniform clean state and cleaning efficiency is enhanced.
- the present invention performs cleaning by distinguishing an indoor area into a plurality of regions, and accurately determines an amount of dust by detecting an amount of dust in each region on a per cell basis, wherein it is possible to perform cleaning based on an amount of dust in each cell even when the regions are not allowed to be distinguished.
- FIG. 1 is a perspective view of a moving robot according to an embodiment of the present invention.
- FIG. 2 is a horizontal angled view of the moving robot shown in FIG. 1.
- FIG. 3 is a front view of the moving robot shown in FIG. 1.
- FIG. 4 is a bottom view of the moving robot shown in FIG. 1.
- FIG. 5 is a block diagram illustrating major components of a moving robot according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating an example of how to generate a map and distinguish regions by a moving robot according to an embodiment of the present invention.
- FIG. 7 is a diagram referred to for explaining how to distinguish cells in each region by a moving robot according to an embodiment of the present invention.
- FIG. 8 is a diagram referred to for explaining a detection method in response to movement of a moving robot according to an embodiment of the present invention.
- FIG. 9 is a diagram referred to for explaining a change in environment of a region with respect to a moving robot according to an embodiment of the present invention.
- FIG. 10 is a flowchart illustrating a cleaning method of a moving robot according to an embodiment of the present invention.
- FIG. 11 is a flowchart illustrating a method of setting a cleaning region by a moving robot according to an embodiment of the present invention.
- FIG. 12 is a flowchart illustrating a method of updating data by a moving robot according to an embodiment of the present invention.
- a control component in the present invention may be configured as at least one processor.
- FIG. 1 is a perspective view of a moving robot according to an embodiment of the present invention.
- FIG. 2 is a horizontal angled view of the moving robot shown in FIG. 1.
- FIG. 3 is a front view of the moving robot shown in FIG. 1.
- FIG. 4 is a bottom view of the moving robot shown in FIG. 1.
- a moving robot 1 includes a main body 10 traveling on a floor a cleaning area to suction foreign substances such as dust on the floor, and a detection means provided on the front surface of the main body 10 to detect an obstacle.
- Thee main body 10 may include: a casing 11 which defines an external appearance of the main body 10 and internally defines a space in which constituent elements of the main body 10 are accommodated; a suction unit 34 which is provided in the casing 11 to suction foreign substances such as dust or trash; and a left wheel 36L and a right wheel 36R which are rotatably provided on the casing 11.
- the main body 10 travels on the floor of the cleaning area in response to rotations of the left wheel 36L and the right wheel 36R, and, in this process, foreign substances are suctioned through the suction unit 34.
- the suction unit 34 may include: a suction fan (not illustrated) which generates suction force; and a suction port 10h through which an air stream generated by the rotation of the suction fan is suctioned.
- the suction unit 34 may further include: a filter (not illustrated) which collects foreign substances from the air stream suctioned through the suction port 10h; and a foreign substance collection container (not illustrated) in which the foreign substances collected by the filter accumulate.
- the main body 10 may include a travel unit which drives the left wheel 36L and the right wheel 36R.
- the travel unit may include at least one drive motor.
- At least one drive motor may include a left-wheel drive motor for rotating the left wheel 36L, and a right-wheel drive motor for rotating the right wheel 36R.
- the main body 10 may travel forward in a straight, travel backward, or rotate.
- the left-wheel drive motor and the right-wheel drive motor are rotated in the same direction: however, when the left-wheel drive motor and the right-wheel drive motor are rotated at different speeds or in different directions, a direction of travel of the main body may be changed.
- At least one auxiliary wheel 37 may be further provided to stably support the main body 10.
- a plurality of brushes 35 may be further provided on the front side of the lower surface portion of the casing 11, and may each include bristles having a plurality of blades which radially extend. Dust is removed from the floor of the cleaning area due to rotation of the brushes 35, and, in turn, the dust removed from the floor is suctioned through the suction port 10h and then collected in the collection container.
- a control panel may be provided on the upper surface of the casing 11, the control panel which includes a manipulation unit 160 to receive various user commands for controlling the robot cleaner 1.
- the detection means includes a sensor unit 150 for detecting an obstacle using a plurality of sensors, and an image acquisition unit 140 and 170 for capturing an image.
- the detection means may include an obstacle detection unit 100 which is provided on the front surface of the body 10 to emit a light pattern and detect an obstacle from a captured image.
- the obstacle detection unit 100 may include an image acquisition unit 140, and the detection means may include both the obstacle detection unit and the sensor unit 150.
- the imaging acquisition unit 140 may be provided to face a ceiling, as shown in FIG. 2 (a), or may be provided to face a forward direction, as shown in FIG. 3 (b). In some embodiments, any one image acquisition units 140 may be provided or two image acquisition units respectively facing the forward direction and the ceiling may be provided.
- the obstacle detection unit 100 may be provided on the front surface of the main body 10.
- the obstacle detection unit 100 may be fixed to the front surface of the casing 11, and may include a first pattern emission unit 120, a second pattern emission unit 130, and an image acquisition unit 140.
- the image acquisition unit is basically installed below the pattern emission units, as shown in the drawings, but the image acquisition unit may be disposed between the first and second pattern emission units in some embodiments.
- a second image acquisition unit 170 may be further provided on the upper surface of the main body.
- the second image acquisition unit 170 captures an image of the upper surface of the main body, that is, an image of a ceiling.
- the main body includes a rechargeable batter 38, and, when a charging terminal 33 of the battery 38 is connected to a commercial power source (e.g., a power plug in the house) or when the main body 10 is docked with a separate charging station 400 connected to the commercial power source, a charging terminal 33 of the battery 38 may be electrically connected to the commercial power source through its contact with a terminal 410 of the charging station. Electrical constituent elements of the moving robot 1 may receive power from the battery 38, and thus, the moving robot 1 may perform autonomous traveling when the battery 38 is charged, even if the robot cleaner 1 is electrically separated from the commercial power source.
- a commercial power source e.g., a power plug in the house
- a charging terminal 33 of the battery 38 may be electrically connected to the commercial power source through its contact with a terminal 410 of the charging station.
- Electrical constituent elements of the moving robot 1 may receive power from the battery 38, and thus, the moving robot 1 may perform autonomous traveling when the battery 38 is charged, even if the robot cleaner 1 is electrically
- FIG. 5 is a block diagram illustrating major components of a moving robot according to an embodiment of the present invention.
- the moving robot 1 may include a travel drive unit 250, a cleaning unit 260, a data unit 280, an obstacle detection unit 100, a sensor unit 150, a communication unit 270, a manipulation unit 160, and a controller 200 which controls the overall operation of the mobile robot 1.
- the manipulation unit 160 may include at least one of a button, a switch, a touch pad, or the like to receive a user command.
- the manipulation unit may be provided on the upper surface of the main body 10, as described above.
- the data unit 280 may store a detection signal received from the obstacle detection unit 100 or the sensor unit 150, reference data used for an obstacle recognition unit 210 to determine existence of an obstacle, and obstacle information which is information on a detected obstacle.
- the data unit 280 may store control data for controlling operation of the moving robot, data generated according to a cleaning mode of the moving robot, and a map including obstacle information generated by a map generator.
- the data unit 280 may store a basic map, a cleaning map, a user map, and a guide map.
- An obstacle detection signal include a ultrasonic/laser detection signal generated by the sensor unit, and an image acquired by the image acquisition unit.
- the data unit 280 may store data readable by a microprocessor, and may include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), Read-Only Memory (ROM), Random-Access Memory (RAM), Compact Disk Read Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.
- HDD Hard Disk Drive
- SSD Solid State Disk
- SDD Silicon Disk Drive
- ROM Read-Only Memory
- RAM Random-Access Memory
- CD-ROM Compact Disk Read Only Memory
- the communication unit 270 communicates with a terminal (not shown) in a wireless communication method.
- the communication unit 270 may be connected to the Internet via a home network to communicate with an external server or a terminal which controls the moving robot.
- the communication unit 270 may transmit a generated map to the terminal, receive a cleaning command from the terminal, and transmits data on an operation status of the moving robot and a clean state.
- the communication unit 270 may include not just a short-range wireless communication module, such as Zigbee and Bluetooth, but Wi-Fi and Wibro to transmit and receive data.
- the terminal is a device which is equipped with a communication module for network access, a program for controlling the moving robot, or an application for controlling the moving robot, and the terminal may be a computer, a laptop, a smartphone, a PDA, a tablet PC, and the like.
- the terminal may be a wearable device such as a smart watch.
- the travel drive unit 250 includes at least one drive motor to cause the moving robot to travel in accordance with a control command from a travel controller 230.
- the travel drive unit 250 may include a left-wheel drive motor for rotating the left wheel 36(L), and a right-wheel drive motor for rotating the right wheel 36(R).
- the cleaning unit 260 may operate the brushes to facilitate suctioning dust or foreign substances around the moving robot, and may operate a suction device to suction the dust or the foreign substances.
- the cleaning unit 260 controls operation of the suction fan provided in the suction unit 34, which suctions foreign materials such as dust or waste, so that dust may be drawn into the foreign substance collection container through the suction hole.
- the obstacle detection unit 100 includes a first pattern emission unit 120, a second pattern emission unit 130, and an image acquisition unit 140.
- the sensor unit 150 includes a plurality of sensors to supplement detecting an obstacle.
- the sensor unit 150 detects an obstacle existing in front of the main body 10, that is, in a forward direction of travel, using at least one of a laser light, an ultrasonic light, or an infrared light. If a signal transmitted by the sensor unit 150 is reflected and then incident back, the sensor unit 150 inputs a signal including information on the existence of an obstacle or a distance to the obstacle to the controller 200.
- the sensor unit 150 includes a dust sensor 151.
- the dust sensor 151 is provided on any one side of the suction hole to detect dust in suctioned air.
- the dust sensor 151 detects presence, an amount, or a density of dust, and inputs a result of the detection to the controller 200.
- the dust sensor may be configured as a plurality of dust sensors, and may detect simply presence of dust in suctioned air or may detect a density of dust for a p[redetermined time by detecting the number of dust particles in the suctioned air.
- the dust sensor may count the number of times of detection of dust at every predetermined time unit and determine an amount of dust based on the number of times of detection of dust in each predetermine time unit.
- a density of dust in suctioned air for a predetermined period of time may be determined.
- the dust sensor may detect a density of dust per size, and may detect a density of dust in different categories such as PM 1.0, PM 2.5, and PM 10 according to dust types.
- the sensor unit 150 may include at least one inclination sensor (not shown) to detect inclination of the main body.
- the inclination sensor calculates a direction of inclination and an angle of inclination when the main body is inclined forward, rearward, leftward, or rightward.
- the inclination sensor includes may include a tilt sensor, an acceleration sensor, and the like, and the acceleration sensor may be any one of gyro type, inertial type, and silicon semiconductor type.
- the sensor unit 150 may detect a floor state of a cleaning region.
- the obstacle detection unit 100 is configured such that the first pattern emission unit 120, the second pattern emission unit 130, and the image acquisition unit 140 are provided on the front surface of the main body 10, as described above to emit a light of the first pattern P1 and a light of the second pattern P2 in an region in front of the moving robot and an image is acquired by capturing the light of the emitted patterns.
- the obstacle detection unit 100 transmits a detection signal including the acquired image to the controller 200.
- Each of the first and second pattern emission units 120 and 130 in the obstacle detection unit 100 may include a light source, and an Optical Pattern Projection Element (OPPE) which generates a predetermined pattern by transmitting light emitted from the light source.
- the light source may be a laser diode (LD), a light emitting diode (LED), and the like. Laser light has excellent monochromaticity, straightness, and connectivity properties, as compared to other light sources, thereby enabling fine distance measurement, and, particularly, since infrared light or visible light has a high deviation in precision in distance measurement according to factors, such as colors and materials of a target object, it is desired to use the LD as the light source.
- the OPPE may include a lens or a diffractive optical element (DOE). Depending on the configuration of the respective OPPEs included in the pattern emission units 120 and 130, light in various patterns may be emitted.
- DOE diffractive optical element
- the first pattern emission unit 120 may emit a light of the first pattern (P1, which will be hereinafter referred to as a first patterned light) downward and forward from the main body 10. Accordingly, the first patterned light P1 may be emitted to the floor of the cleaning area.
- the first patterned light P1 may be in a horizontal line shape. Further, the first patterned light P1 may also be in a cross shape with a horizontal line intersecting a vertical line, but aspects of the present invention is not limited to the drawings, and the first patterned light P1 may be in any of various shapes.
- the first pattern emission unit 120, the second pattern emission unit 130, and the image acquisition unit 140 may be arranged vertically in a line.
- the image acquisition unit 140 is provided below the first pattern emission unit 120 and the second pattern emission unit 130, but aspects of the present invention is not limited thereto, and the image acquisition unit 140 may be dispose above the first pattern emission unit and the second pattern emission unit.
- the first pattern emission unit 120 is provided on the top to emit the first patterned light P1 downward and forward so as to detect an obstacle located at a position lower than the first pattern emission unit 120
- the second pattern emission unit 130 is provided below the first pattern emission unit 120 to emit a light of the second pattern (P1, which will be hereinafter referred to as a second patterned light)upward and forward.
- the second patterned light P2 may be emitted onto an obstacle or a part thereof located at a position higher than at least the second pattern emission unit 130 from a wall or a floor in the cleaning area.
- the second pattern light P2 may be different from the first patterned light P1, and desirably include a horizontal line.
- the horizontal line is not necessarily a continuous line segment and may be a dotted line.
- an emission angle ⁇ h is a horizontal emission angle of the first patterned light P1 emitted by the first pattern emission unit 120, and the emission angle ⁇ h represents an angle formed between both ends of the horizontal line and the first pattern emission unit 120, and it is desired to set the emission angle ⁇ h in a range of 130° to 140°, but aspects of the present invention are not limited thereto.
- the dotted line of FIG. 2 represents a direction forward of the mobile robot 1, and the first patterned light P1 may be symmetrical with respect to the dotted line.
- the second patterned light P2 may be emitted at the same horizontal emission angle as that of the first pattern emission unit 120, and, in this case, the second patterned light P2 may be also symmetrical with respect to the dotted line of FIG. 2.
- the image acquisition unit 140 may acquire a forward image of the main body 10.
- the patterned lights P1 and P2 are displayed on an image acquired by the image acquisition unit 140 (hereinafter referred to as an acquired image), and images of the patterned lights P1 and P2 displayed on the acquired image will be hereinafter referred to as optical patterns, and, because the optical patterns are images formed on the image sensor by the first patterned light P1 and the second patterned light P2 which are incident on an actual space, the same reference numerals as the first patterned light P1 and the second patterned light P2 will be given to a first optical pattern P1 corresponding to the first patterned light P1 and a second optical pattern P2corresponding to the second patterned light P2.
- the image acquisition unit 140 may include a digital camera configured to convert an image of a subject into an electrical signal, convert the electrical signal into a digital signal, and store the digital signal in a memory device, and the digital camera includes an image sensor (not shown) and an image processor (not shown).
- the image sensor is a device that converts an optical image into an electrical signal, and is formed as a chip having a plurality of photodiodes integrated therein, and the photodiodes may be, for example, pixels.
- the photodiodes may be, for example, pixels.
- a Charge Coupled Device (CCD), a Complementary Metal Oxide Semiconductor (CMOS), and the like are well known examples of the image sensor.
- the image processor generates a digital image based on an analog signal output from the image sensor.
- the image processor includes: an A/D converter to convert an analog signal into a digital signal; a buffer memory to temporarily store digital data according to the digital signal output from the A/D converter; and a digital signal processor (DSP) to generate a digital image by processing the data stored in the buffer memory.
- DSP digital signal processor
- the controller 200 include an obstacle recognition unit 210, a map generation unit 220, a travel controller 230, a location recognition unit 240.
- the obstacle recognition unit 210 may determine presence of an obstacle based on an acquired image received from the obstacle detection unit 100, and control the travel drive unit 250 so as to pass or avoid the obstacle by changing a direction of travel or a path of travel based on obstacle information.
- the travel controller 230 controls the travel drive unit 250 so as to control the left wheel driving motor and the right wheel driving motor independently from each other, such that the main body 10 may move forward or turn.
- the obstacle recognition unit 210 stores an obstacle detection signal, received from the sensor unit 150 or the obstacle detection unit 100, in the data unit 280 and determines an obstacle by analyzing the obstacle detection signal.
- the obstacle recognition unit 210 determines presence of an obstacle located in the direction of travel based on a signal from the sensor unit, and determines a location, a size, and a shape of the obstacle by analyzing an acquired image.
- the obstacle recognition unit 210 extracts a pattern by analyzing the acquired image.
- the obstacle recognition unit 210 extracts an optical pattern which is obtained by emitting a patterned light onto a floor or an obstacle from the first pattern emission unit or the second pattern emission unit, and determines the obstacle based on the extracted optical pattern.
- the obstacle recognition unit 210 detects the optical patterns P1 and P2 from an image (an acquired image) acquired by the image acquisition unit 140.
- the obstacle recognition unit 210 may detect features, such as dots, lines, sides, and the like, of pixels forming the acquired image, and, based on the detected features, the pattern detection unit 210 may detect the optical patterns P1 and P2, or dots, lines, sides, and the like of the optical patterns P1 and P2.
- the obstacle recognition unit 210 may extract a horizontal line forming the first optical pattern P1 and a horizontal line forming the second optical pattern P2 by extracting line segments line segments which are formed by consecutive pixels brighter than neighboring pixels.
- aspects of the present invention are limit limited thereto, and, using well-known techniques for extracting a desired pattern from a digital image, the obstacle recognition unit 210 may extract the first optical pattern P1 and the second optical pattern P2.
- the obstacle recognition unit 210 determines presence of an obstacle based on the detected patterns, and determines a shape of the obstacle.
- the obstacle recognition unit 210 may determine an obstacle based on the first optical pattern and the second optical pattern, and calculate a distance to the obstacle.
- the obstacle recognition unit 210 may determine a size (height) of an obstacle based on the respective shapes of the first optical pattern and the second optical pattern and a change in an optical pattern occurring during approaching the obstacle.
- the obstacle recognition unit 210 may determine an obstacle based on a distance from the first optical pattern and the second optical pattern to a reference position.
- the obstacle recognition unit 210 may determine that there is a downhill slope when the first optical pattern P1 is located at a position lower than the reference position, and the obstacle recognition unit 210 may determine that there is a cliff when the first optical pattern P1 disappears.
- the obstacle recognition unit 210 may determine an obstacle located in a direction of travel or an obstacle located above when the second optical pattern appears.
- the obstacle recognition unit 210 determines inclination of the main body based on inclination information received from the inclination sensor included in the sensor unit 150, and, when the main body is inclined, the obstacle recognition unit 210 compensates for the inclination with respect to a position of an optical pattern in an acquired image.
- the travel controller 230 controls the travel drive unit 250 to perform cleaning of a region designated from among cleaning regions while traveling in the same area, and controls the cleaning unit 260 to perform the cleaning by suctioning dust during the traveling.
- the travel controller 230 By determining whether the moving robot is allowed to travel or enter with respect to an obstacle recognized by the obstacle recognition unit 210, the travel controller 230 sets a traveling path such that the moving robot travels while approaching the obstacle, travels in the vicinity of the obstacle, passes through the obstacle, or avoids the obstacle, and the travel controller 230 controls the travel drive unit 250 according to the traveling path.
- the map generator 220 may generate a map of cleaning regions, based on information on an obstacle determined by the obstacle recognition unit 210.
- the map generator 220 In an initial operation, if a map of cleaning regions is not stored, the map generator 220 generates the map of cleaning regions based on obstacle information while traveling in the cleaning region. In addition, the map generator 220 may update a pre-generated map based on obstacle information acquired during traveling.
- the map generator 220 generates a basic map based on information acquired by the obstacle recognition unit 210 during traveling, and generates a cleaning map by distinguishing the basic map into regions. In addition, the map generator 220 trims distinguished regions of the cleaning map, and generates a user map and a guide map by setting an attribute of each of the distinguished regions.
- the basic map is a map in which a shape of a cleaning region obtained during traveling is displayed with an outline, and the cleaning map is a map obtained by distinguishing the basic map into regions.
- the basic map and the cleaning map include an region allowed for the moving robot to travel, and obstacle information.
- the user map is obtained by simplifying the regions in the cleaning map and trimming shapes of the outlines of the regions, such that a visual effect is added to the user map.
- the guide map is a map where the cleaning map and the user map overlap each other. As the cleaning map is displayed on the guide map, a cleaning command may be input based on a region where the moving robot is allowed to travel.
- the map generator 220 distinguishes the cleaning region into a plurality of regions, and generates a map, which includes connection passages connecting the plurality of regions and information on an obstacle existing in each region.
- the map generator 220 generates a map with distinguished regions in a manner as follows: the map is distinguished into small regions in order to distinguish the regions on the map, each distinguished small region is set as a detailed region, and each detailed region is incorporated into the representative region.
- the map generator 220 processes a shape of each distinguished region.
- the map generator 220 sets an attribute of each distinguished region, and processes a shape of each distinguished region according to an attribute of each corresponding distinguished region.
- the map generator 220 first determines a main region on the basis of the number of portions in each distinguished region overlapping with any other region.
- the main region is basically set to a living room, but, in some embodiments, the main region may be changed to any one of a plurality of room.
- the map generator 220 may set attributes of remaining regions with reference to the main region. For example, the map generator 220 may set a region with a size equal to or greater a predetermined size around the living room to a room, and set any other region to an extra region.
- the map generator 220 processes a shape of each region into a predetermined shape according to a reference depending on an attribute of each corresponding region. For example, the map generator 220 processes a shape of a region with reference to a common house room shape, for example, a square. In addition, the map generator 220 processes a shape of a region in a manner of expanding the shape of the region with reference to the most outer cell in the basic map while deleting or reducing a region not allowed for the moving robot to approach due to an obstacle.
- the map generator 220 displays an obstacle based on a size of the obstacle in the basic map such that an obstacle having a size equal to or greater than a predetermined size is displayed on the map and a cell corresponding to an obstacle having a size smaller than the predetermined size is deleted.
- the map generator displays furniture, such as a chair and a sofa, having a size equal to or greater than a predetermined size and deletes a temporarily present obstacle and a small-sized obstacle such as a small toy.
- the map generator 220 stores a location of a charging station together with the map.
- the map generator 220 may add an obstacle to the map based on obstacle information about a detected obstacle received from the obstacle recognition unit 21. If a particular obstacle is repeatedly detected at a fixed position, the map generator 220 may add the obstacle in the map, and, if an obstacle is temporarily detected, the map generator 220 ignores the obstacle.
- the map generator 220 may add dust information as well as obstacle information in a pre-generated cleaning map.
- the map generator 220 may distinguish one region into cells of a predetermined size, and store, together with the cleaning map, information on the number of cells in each region and dust information on a per cell basis.
- the map generator 220 generates a user map, which is a processed map, and a guide map, which is a map where the user map and the cleaning map overlap each other.
- the moving robot performs cleaning based on the cleaning map, and transmits the user map and the guide map to a terminal.
- a terminal 300 may store and display both the guide map and the user map, and output one of the guide map and the user map according to a setting.
- the moving robot 1 cleans a designated region by traveling based on the cleaning map.
- the moving robot stores information on the number of cells in each region and dust information for each region, not on the basis of the user map, but on the basis of the cleaning map which is composed of regions allowed for the moving robot to travel.
- the location recognition unit 240 may determine the current location of the main body 10 based on a map (a cleaning map, a guide map, or a user map) stored in the data unit.
- a map a cleaning map, a guide map, or a user map
- the location recognition unit 240 determines whether a location displayed on the map and the current location of the main body coincide with each other, and, when the current location of the main body does not coincide with the location displayed on the map or when the current location is unknown, the location recognition unit 240 recognizes the current location to restore the current location of the moving robot.
- the travel controller 230 may control the travel drive unit to travel to a designated region based on the current location.
- the cleaning command may be input from a remote controller (not shown), the manipulation unit 160, or the terminal 300.
- the location recognition unit 240 may estimate the current location based on the map by analyzing an acquisition image received from the image acquisition unit 140.
- the location recognition unit 240 processes an acquired image acquired at each location and associate the acquired image with the map to thereby recognize the global position of the main body.
- the location recognition unit 240 may identify the current location of the main body by comparing a map and an acquired image, acquired by the image acquisition unit at each location on the map, and accordingly, even when the location of the main body is changed all of sudden, the location recognition unit 240 is able to estimate and recognize the current location.
- the location recognition unit 240 determines the current location of the main body by analyzing various features located at a ceiling in an acquired image, such as lighting devices, edges, corners, blobs, and ridges.
- the acquired image may be received from the image acquisition unit or from the second image acquisition unit provided on the upper surface of the main body.
- the location recognition unit 240 detects features from each acquired image.
- feature detection techniques for detecting a feature from an image in the computer vision field.
- a variety of feature detectors are well known. For example, there are Canny detector, Sobel detector, Harris&Stephens/Plessey detector, SUSAN detector, Shi&Tomasi detector, Level curve curvature detector, FAST detector, Laplacian of Gaussian detector, Difference of Gaussians detector, Determinant of Hessian detector, MSER detector, PCBR detector, and Grey-level blob detector.
- the location recognition unit 240 calculates a descriptor based on each feature.
- the location recognition unit 240 may convert a feature into a descriptor using Scale Invariant Feature Transform (SIFT).
- SIFT Scale Invariant Feature Transform
- the descriptor may be expressed in the form of an n-dimensional vector.
- the SIFT may detect a feature invariant to scale, rotation, and a change in brightness of a subject, and accordingly, it is possible to detect an invariant (that is, rotation invariant) feature when the same region is imaged by changing the position of the moving robot 1.
- aspects of the present invention are not limited thereto, and other various techniques (e.g., Histogram of Oriented Gradient (HOG), Haar feature, Fems, Local Binary Pattern (LBP), and Modified Census Transform (MCT)) may be applied.
- HOG Histogram of Oriented Gradient
- Haar feature Haar feature
- Fems Fems
- LBP Local Binary Pattern
- MCT Modified Census Transform
- the location recognition unit 240 may classify at least one descriptor of the acquired image into a plurality of groups according to a predetermined sub-classification rule, and convert descriptors belonging to the same group into sub-representative descriptors according to a predetermined sub-representation rule.
- the location recognition unit 240 may classify all descriptors calculated based on images acquired in a predetermined area into a plurality of groups according to the predetermined sub-classification rule, and convert descriptors belonging to the same group into sub-representative descriptors according to the predetermined sub-representation rule.
- the location recognition unit 240 may obtain a feature distribution for each location.
- the feature distribution for each location may be expressed in the form of a histogram or an n-dimensional vector.
- a learning module 143 is able to estimate an unknown current location based on a descriptor calculated from each feature.
- the location recognition unit 240 may estimate the current location based on data such as a pre-stored descriptor and a sub-representative descriptor.
- the location recognition unit 240 acquires an acquired image from the unknown current location using the image acquisition unit 140, and, when various features located at a ceiling, such as lighting devices, edges, corners, blobs, and ridges, are found in the acquired image, the location recognition unit 240 detects the features from the acquired image.
- the location recognition unit 240 may convert information on at least one descriptor obtained from an image acquired at the unknown current location into location information to be compared (e.g., a feature distribution for each location) and comparable information (sub-recognition feature distribution).
- location information e.g., a feature distribution for each location
- comparable information sub-recognition feature distribution
- a feature distribution for each location may be compared with a corresponding recognition feature distribution to calculate a similarity level for each location.
- a similarity level (probability) may be calculated at each location, and a location at which the highest probability is calculated may be determined to be the current location.
- the controller 200 transmits the updated information to the terminal 300 via the communication unit so that the same map is stored in the terminal and the moving robot 1.
- the moving robot 1 is able to clean a designated region in response to a cleaning command from the terminal and the terminal is able to display the current location of the moving robot on the map.
- the travel controller 230 controls the travel drive unit to move to a region designated from among cleaning regions, and operates the cleaning unit so as to perform cleaning while traveling.
- the travel controller 230 controls cleaning by moving regions in a priority order or a preset order of the regions: if there is no set order, the travel controller 230 moves to a nearby region or an adjacent region with reference to the current location and performs cleaning.
- the travel controller 230 moves to a region included in the random region and performs cleaning.
- the travel controller 230 controls the travel drive unit to travel based on coordinates received from the map generator by avoiding the virtual wall. Even though it is determined by the obstacle recognition unit 210 that no obstacle is present, if a virtual wall is set up, the travel controller 230 recognizes an obstacle as being present at a location corresponding to the virtual wall and restricts traveling.
- the travel controller 230 sets a cleaning region and set a path of cleaning of the cleaning region.
- the travel controller 230 may set a cleaning region based on cleaning data calculated based on dust information and the number of times of cleaning, and set a cleaning path for the cleaning region.
- the travel controller 230 sets a cleaning region to be cleaned and a non-cleaning region not to be cleaned, based on numbers in cleaning data, and then the travel controller 230 sets a cleaning path.
- the travel controller may add cleaning of a particular region.
- the travel controller may set a less dusty region as a non-cleaning region or may set even the less dusty region as a cleaning region depending on the number of times the region has been set as a non-cleaning region or an elapse of time since the previous cleaning. That is, the travel controller may prevent a less dusty region from being cleaned repeatedly and also allow the less dusty region to be cleaned when a preset time elapsed, thereby maintaining an entire area in a constant clean state.
- the travel controller 230 performs cleaning according to the setting.
- the travel controller 230 may transmit information on a cleaning situation as to a region not to be cleaned based on cleaning data to a terminal so as to guide cleaning of the region. For example, if there is a region that has not been cleaned for a predetermined time, the travel controller 230 may output cleaning guidance to perform cleaning, regardless of an amount of dust.
- the controller 200 stores a record of the cleaning in the data unit.
- the controller 200 accumulates and stores dust information detected during cleaning, counts the number of times of cleaning in each region, calculates cleaning data based on the number of times of cleaning in each region and an amount (density) of dust in each region, and then sets a cleaning region based on the cleaning data in the next time of cleaning.
- the controller 200 calculates cleaning data based on the number of cells in each region, the number of cells where dust is detected, and the number of times of cleaning (the number of visits), and the controller 200 stores the cleaning data.
- the controller 200 calculates the cleaning data by combining newly detected data and pre-accumulated data.
- the controller 200 may calculate cleaning data by dividing the number of cells where dust is detected by a value obtained by multiplying the number of cells in each region by the number of times of cleaning.
- the cleaning data may further include another variable, and how to calculate the cleaning data may be changed.
- the controller may accumulates and store, in the data unit, the number of cells in each region, dust information, and the number of times of cleaning, and reset such data every preset period of time or when the environment of the region changes. For example, when the number of cells in a region is changed due to a new obstacle, such as installation of new furniture in the region, the controller may determine that the environment has changed, and thus reset data.
- the controller 200 transmits an operation state of the moving robot 1 or a clean state in a predetermined period of time to the terminal 300 via the communication unit 190.
- the terminal 300 Based on data received from the moving robot 1, the terminal 300 displays a location of the moving robot together with a map on a screen of an application in execution, and outputs information on a clean state. Based on the data received the moving robot, the terminal 300 may display, on the screen, information on an amount/density of dust and the number of times of cleaning has been performed.
- the terminal 300 may display one of a user map and a guide map according to a setting, and change the displayed one to the other according to a setting.
- the terminal 300 may display a received map on the screen, and, in response to a key input or a touch input, the terminal 300 may distinguish or incorporate regions and change or add an attribute of a region. In addition, the terminal may designate a location of a particular obstacle on the map, and information on the designated obstacle is transmitted to the moving robot and added in a pre-stored map.
- the terminal 300 may designate a cleaning region on a displayed map and set an order in which cleaning is to be performed, and transmit a cleaning command to the moving robot.
- the terminal 300 shows a clean state on a displayed map (the user map and the guide map).
- the terminal updates the map based on the received data and displays the updated map.
- the controller 200 recognizes the current location of the moving robot, calculates a location of the charging station based on the current location of the moving robot, and stores the location of the charging station.
- the controller 200 may perform setting to display the location of the charging station on the map.
- FIG. 6 is a diagram illustrating an example of how to generate a map and distinguish regions by a moving robot according to an embodiment of the present invention.
- the moving robot 1 may generate a map using a wall following technique while traveling in a traveling area X1.
- the map generator 220 generates a map as shown in (c) of FIG. 6 by distinguishing a traveling area X1 into a plurality of regions A1’ to A9’.
- the generated map is stored in the data unit 280 and transmitted to the terminal 200 via the communication unit 270.
- the map generator 220 may distinguish a traveling area into a plurality of regions by a predetermined criterion.
- the traveling area may be defined as a range including all areas on any plane previously travelled by the moving robot and all areas on a plane currently being travelled by the moving robot 1.
- the map generator 220 distinguishes the traveling area X1 into small regions and large regions, and generates a map accordingly.
- the map generator 220 may distinguish the traveling area into a plurality of small regions, and each small region may be distinguished on the basis of each chamber (room) in the traveling area.
- the map generator may distinguish the traveling area into a plurality of large regions which are distinguished from each other on the basis of a travel capability. For example, two indoor spaces completely separated from each other by a moving line may be distinguished as two large regions. In another example, even the same indoor space may be distinguished into the large regions on the basis of floors of the travel area.
- the map generator 220 After distinguishing regions, the map generator 220 generates a map (a user map), as shown in (c) of FIG. 6, by trimming the outline of the regions.
- a region in a cleaning map has a size equal to or greater than a predetermined size
- the region may be distinguished into a plurality of regions. For example, a region A3’ may be distinguished into a region A3 and a region A4.
- the terminal 300 executes an application and displays a received map on a screen.
- a plurality of distinguished regions (A1 to A9) is displayed differently.
- the plurality of regions (A1 to A0) in the map may be displayed with different colors or different names.
- the moving robot and the terminal basically store the same map, but the terminal displays a user map with simplified regions, as shown in (c) of FIG. 6, to allow a user to easily recognize the regions, and the moving robot performs traveling and cleaning based on a cleaning map, as shown in (b) of FIG. 6, including information on an obstacle.
- a guide map where the cleaning map and the user map overlap each other may be displayed.
- the moving robot performs cleaning based on the cleaning map as shown in (b) of FIG. 6.
- the moving robot 1 determines the current location thereof based on the stored cleaning map, and, when the current location coincides with a location displayed on the map, the moving robot 1 performs designated cleaning, and, when the current location does not coincide with the location displayed on the map, the moving robot 1 recognizes and restores the current location and then performs cleaning. Accordingly, no matter where the moving robot 1 may be located in the plurality of regions (A1 to A9), the moving robot 1 is able to determine the current location thereof, move to a designated region, and then perform cleaning.
- the remote controller or the terminal may select at least one of the plurality of regions (A1 to A9) and input a cleaning command to the moving robot 1.
- the moving robot 1 may set any one region as a cleaning region or may set a cleaning region by touching or dragging the plurality of regions without distinguishing therebetween.
- any one of the plurality of regions may be set as a first priority region, cleaning may be performed in the first priority region first and then in a region in the vicinity of the first priority region, or the order in which cleaning is to be performed may be set.
- the moving robot 1 may perform cleaning by moving according to the set order.
- the moving robot 1 moves a region closest to the current location of the moving robot 1 and performs cleaning.
- FIG. 7 is a diagram referred to for explaining how to distinguish cells in each region by a moving robot according to an embodiment of the present invention.
- the moving robot distinguishes one region into a plurality of cells, detects dust information on a per cell basis, and stores such dust information.
- the number of cells in a region allowed for the moving robot to travel is counted.
- the dust sensor detects dust during traveling and transmits a result of the detection to the controller 200, and the controller 200 stores dust information in response to a detection signal from the dust sensor with respect to each region on a per cell basis. Based on a detection signal depending on the type of the dust sensor, the controller 200 may store presence of dust on a per cell basis or may store a density of dust on a per cell basis.
- the controller 200 may change a cell size depending on the type of the dust sensor and the detection method of the moving robot, but it is desirable to set the cell size based on a size of the moving robot 1.
- the controller 200 sets every cell in each region to have an identical size, and counts the number of cells in each region.
- the controller 200 sets the cell size corresponding to the size of the moving robot 1, and stores dust information in response to a detection signal from the dust sensor in each cell.
- the controller 200 performs cleaning of the traveling area by setting a cleaning region based on cleaning data, which is calculated based on dust information and the number of times of cleaning.
- the controller 200 calculates cleaning data based on dust information, the number of cells in each region, the number of cells where dust is detected, and the number of times of cleaning.
- the controller 200 may determine a dusty level based on a ratio between the number of cells in a region and the number of cells where dust is detected in the region.
- the controller 200 may calculate cleaning data.
- the controller 200 determines that a corresponding region has more dust and needs to be cleaned often, and if cleaning data has a smaller value, the controller 200 determines that a corresponding region has less dust and does not needs to be cleaned often. In some embodiments, if cleaning data has a value equal to or greater than a predetermined value, the controller 200 may set additional cleaning.
- the controller 200 may determine the order in which cleaning is to be performed, based on a value of cleaning data.
- the cleaning data is a value which is obtained in consideration of both an amount of dust and the number of times of cleaning, and thus, the controller 200 may set a region as a cleaning region based on cleaning data and based on whether the region meets a predetermined condition, although a small amount of dust present in the region.
- the controller 200 sets the region as a cleaning region, and, in particular, if the region was set as a non-cleaning region, the controller 200 set the region as a cleaning region in the last cleaning, regardless of an amount of dust, so that there is no region left uncleaned for a predetermined period of time.
- the controller 200 may set the region as a cleaning region so as to perform cleaning of the region.
- the controller 200 performs control such that a dusty region is cleaned often, a less dusty region is set as a non-cleaning region so as not to be cleaned unnecessarily, and even the less dusty region is cleaned within a predetermined period of time, and accordingly, the entire traveling area may be maintained in a constant clean state.
- cleaning may be set by calculating cleaning data.
- Table 1 includes an extreme example to describe how to set a cleaning region based on cleaning data, and Table 1 may be different from actual measurements.
- Region A has the highest values in terms of the number of cells and the number of cells where dust is detected (the greatest amount of dust), but the number of times of cleaning in Region A is 4, and thus, cleaning data for Region A is calculated into 0.229 which is the second highest value.
- Region B has the second highest values in terms of the number of cells and the number of cells where dust is detected, but the number of times of cleaning has been performed in Region B is a small value, and thus, the cleaning data for Region B is calculated into 0.438 which is the highest value, and therefore, Region B may be determined to be a region most in need of cleaning.
- Region C has the lowest values in terms of the number of cells and the number of cells where dust is detected, but the number of times of cleaning in Region C is greater than that of Region B, and therefore, cleaning data for Region C is calculated into a very low value.
- the controller 200 may set Region A and Region B as cleaning regions and Region C as a non-cleaning region, so that cleaning is performed only in Region A and Region B. Meanwhile, even though cleaning data for Region C is calculated into a low value, if Region C was set as a non-cleaning region in last cleaning, the controller 200 may set Region C as a cleaning region so as to clean Region C.
- the controller 200 may variably apply the determination according to a setting, and the controller 200 may set a cleaning region depending on an elapse of time since last cleaning.
- the controller 200 may set Region C as a cleaning region, regardless of the cleaning data.
- the controller 200 may determine that a region having cleaning data equal to or greater than a reference value is highly contaminated, and additionally set the region to be cleaned.
- FIG. 8 is a diagram referred to for explaining a detection method in response to movement of a moving robot according to an embodiment of the present invention.
- the moving robot 1 may perform cleaning of a region A10 included in a traveling path or may not perform cleaning of the region A10 after cleaning once or twice.
- the travel controller may set the region A10 to be cleaned, and travel in the moving region A10 while performing cleaning, or may pass the region A10 quickly after cleaning once.
- the travel controller may perform control such that dust information detected during cleaning is measured once for each cell included in the region A10.
- the travel controller performs control such that the region A10 is cleaned again but only the dust information detected in the first round of cleaning is stored.
- the moving robot when moving from a first region A1 to a second region A2, the moving robot passes through a seventh region A7, and, even when moving from the second region to a third region A3, the moving robot passes through the seventh region A7, and accordingly, the travel controller performs control such that dust information for a corresponding region is stored once on a per cell basis.
- FIG. 9 is a diagram referred to for explaining a change in environment of a region with respect to a moving robot according to an embodiment of the present invention.
- the travel controller 230 stores information on an obstacle detected by the obstacle detection unit 100 during traveling.
- the map generator updates a pre-generated map based on a newly detected obstacle.
- the travel controller 230 stores dust information for each region and the number of times of cleaning in each region, and, if an obstacle having a size equal to or greater than a predetermined size is detected in a region, the number of cells in the region is changed, and thus, in this case, the travel controller 230 may reset dust information pre-stored in the data unit.
- the travel controller 230 may reset data, stored in the data unit, in a predetermined period of time, for example, every month, every three month (quarter), and every year, such that the recent data is used.
- the controller 200 may reset dust information, and accumulate and store new detected data. If the number of cells is changed, the number of cells where dust is detected is changed and thus it is desired to reset dust information.
- the controller 200 may not reset data immediately and instead may reset the data after determining whether the obstacle is detected a predetermined number of times.
- the controller 200 ignores the detected obstacle and maintains the number of cells and dust information for each of the cells, because the pet is a moving subject and does not stay in one place all the time.
- FIG. 10 is a flowchart illustrating a cleaning method of a moving robot according to an embodiment of the present invention.
- the moving robot starts to clean a traveling area in accordance with a cleaning command received from a remote controller, a manipulation unit, or a terminal (S310).
- the moving robot 1 checks cleaning data calculated based on pre-stored data, which includes dust information and the number of times of cleaning, (S320), and sets a cleaning region based on the cleaning data.
- the controller 200 performs control such that a dusty area is set to be cleaned often, a less dusty area is set as a non-cleaning area so as not to be cleaned unnecessarily, and even the less dusty region is cleaned within a predetermined period of time, and accordingly, the entire traveling area may be maintained in a constant clean state.
- the controller 200 may set a cleaning region based on the cleaning data, and may set even a less dusty region as a cleaning region based on whether a predetermined condition is met.
- the cleaning data is calculated to be high, and, when there are a larger amount of dust and a more number of times of cleaning, the cleaning data may be calculated to be low.
- the cleaning data may be calculated to be low, and, even though there is a small amount of dust, if cleaning has been performed a small number of times, the cleaning data may be calculated to be high (a great value).
- the controller 200 sets a cleaning region based on cleaning data, and, if cleaning data for a region is equal to or smaller than a predetermined value, the controller 200 may set the corresponding region as a non-cleaning region to be excluded from the upcoming cleaning operation. Even though cleaning data for a region is low, the controller 200 may set the corresponding region as a cleaning region depending on the number of times that the corresponding region has been set as non-cleaning regions, an elapse of time (hours) since last cleaning, and a density of dust in each cell.
- the controller 200 may determine that the region is highly contaminated, and may set additional cleaning.
- the controller 200 sets a cleaning path that connects cleaning regions (S340).
- the controller 200 may set a cleaning path to first travel to a region with the highest cleaning data, and may set a cleaning path depending on a distance between cleaning regions.
- the controller 200 applies a control command to the travel drive unit and the cleaning unit so as to perform cleaning while traveling in a cleaning region according to a setting.
- the controller 200 applies a control command to the sensor unit 150 so as to detect dust using the dust sensor during cleaning.
- the dust sensor inputs a detection signal to the controller 200 by detecting dust in the air suctioned during cleaning.
- the controller 200 increases the number of times of cleaning in each region, and stores dust information for each region based on a detection signal indicative of detection of dust in each cell (S360).
- the controller 200 may store the number of cells in each region and the number of cells where dust is detected, and store a dust density for each region on a per cell basis. In some embodiments, the controller 200 may store information on a cell with a density of dust equal to or greater than a reference density.
- the controller 200 When cleaning of every cleaning region is completed (S370), the controller 200 accumulates and stores data for each region in the data unit, and calculates and updates cleaning data based on the number of cells, the number of cells where dust is detected, and the number of times of cleaning (S380). The controller 200 may calculate cleaning data after completion of cleaning or before start of cleaning.
- FIG. 11 is a flowchart illustrating a method of setting a cleaning region by a moving robot according to an embodiment of the present invention.
- the controller 200 checks cleaning data (S410) to set a cleaning region.
- the controller 200 determines whether cleaning data for each region has a value equal to or greater than a reference value (S420), and, if cleaning data for a region has value equal to or greater than the reference value, the controller 200 sets the region as a cleaning region (S480).
- the controller 200 may add cleaning of the corresponding region (S450).
- the controller 200 determines whether the number of times of exclusion of each region is equal to or greater than a preset number of times (S430).
- the controller 200 sets the region as a cleaning region (S480).
- the preset number of times may be set to 1 or 3, and, if the preset number of times is 1 and a corresponding region has been once excluded from cleaning, the controller 200 unconditionally sets the corresponding region as a cleaning region in the next cleaning operation.
- the controller 200 determines whether a dust density on a per cell basis is equal to or greater than a reference density (S460).
- the controller 200 sets the cells as cleaning regions (S480).
- controller 200 determines if a preset time has elapsed since last cleaning (S470), and, if so, the controller 200 sets the corresponding cells as cleaning regions (S480).
- the controller 200 may, regardless of order, make determinations as to the number of times of exclusion, a density of dust in each cell, and an elapse of time since last cleaning, and may apply the determinations to set a cleaning region. That is, if cleaning data for a region is smaller than the reference value and the preset time has elapsed since last cleaning, the region may be set as a cleaning region, regardless of whether the preset time has elapsed since last cleaning.
- the controller 200 sets a region as a non-cleaning region (S485) when cleaning data for the region has a value smaller than the reference value, when the number of times of exclusion is smaller than the preset number of times, when there is no cell with a density of dust equal to or greater than the reference density (or the number of such cells being smaller than a preset value), and when the preset time has not elapsed since last cleaning.
- the controller 200 may set a cleaning path which connects cleaning regions (S490), and controls the travel drive unit and the cleaning unit to perform cleaning while traveling in the cleaning regions.
- FIG. 12 is a flowchart illustrating a method of updating data by a moving robot according to an embodiment of the present invention.
- the controller 200 stores a detection signal received from the dust sensor during cleaning as cleaning information for each region (S510).
- controller 200 stores information on an obstacle detected during cleaning, and updates a cleaning map.
- the controller 200 stores dust information for each region and the number of times of cleaning in each region, and, when an obstacle in size equal to or greater than a predetermined size is detected in a region, the number of cells in the region is changed, and thus, the controller 200 may reset dust information pre-stored in the data unit.
- the controller 200 may determine there is a change in the environment. In addition, even when a region has expanded due to removal of a pre-existing obstacle, the controller 200 may determine that there is a change in the environment.
- the controller 200 may reset data accumulated in the data (S540). In this case, out of dust information for the region and number of times of cleaning in the region, which are pre-stored in the data unit, the controller 200 may reset only dust information or reset both the dust information and the number of times of cleaning.
- the moving robot since the moving robot is not allowed to travel in a region in size equal to or greater than a predetermined size due to additional installation of furniture in the region, the number of cells in the region is changed, and thus, dust information for the region is reset.
- the obstacle may be ignored, and, since such an obstacle is possibly a temporary obstacle, data may not be reset immediately and instead dust information may be reset after determination as to whether the obstacle is detected a predetermined number of times.
- the controller 200 may maintain the number of cells in the region and dust information for the region.
- controller 200 may reset data stored in the data unit, for example, every month, every three month, or every year, so that the most recent data is used(S530).
- the controller 200 resets data by deleting data which has been stored for more than a preset time (S550). For example, when cleaning data is set to be calculated based on data of the latest three months, the controller 200 deletes data which has been stored for more than three months, and maintains only data which has been stored for three months or less.
- the controller 200 calculates cleaning data (SS560) based on an amount of dust (density of dust) and the number of times of cleaning, which are on the basis of data newly detected during cleaning and data accumulated within a period of time, and the controller 200 stores the calculated cleaning data in the data unit (S570).
- the present invention stores dust information detected during cleaning, and set a region as a cleaning region or a non-cleaning region based on the dust information and the number of times of cleaning in the region, so that the region is prevented from being cleaned redundantly and the whole regions are maintained in a constant clean state. Accordingly, the moving robot does not clean a region unnecessarily redundantly and does not allow a region left uncleaned, thereby improving cleaning efficiency.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electric Vacuum Cleaner (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
- The present invention relates to a moving robot and a controlling method thereof, and, particularly, a moving robot which performs cleaning by traveling in a cleaning region and a controlling method thereof.
- A moving robot is an apparatus that automatically performs cleaning by suctioning foreign substances, such as dust, from a floor of an area to be cleaned.
- The moving robot may sense distances to an obstacle, such as furniture, office equipment, and walls, in a cleaning region and maneuver to avoid the obstacle.
- The moving robot generates a map while traveling in a region, and travels based on the map when performing cleaning, so that all regions are prevented from being left uncleaned, and the moving robot tends to store information on an obstacle detected during the cleaning.
- The moving robot may be in a messy and dusty region depending on an indoor environment, and thus, it is necessary for the moving robot to perform cleaning in response to the messy and dusty condition, but it is difficult to reflect such indoor environment in the cleaning operation.
- In order to address this drawback, Korean Patent Application No. 20110032346A (April 7, 2011) discloses a robot cleaner which generates a cleaning map by searching for a cleaning region and displays a contaminant degree on the map.
- However, although the robot cleaner displays the contaminant degree, a change in contamination in a target region due to cleaning is not displayed, and therefore, there is a limitation in cleaning control.
- In addition, as the order in which cleaning is to be performed is set merely based on a degree of contamination, a relatively highly contaminated region is cleaned repeatedly and thus redundant cleaning is performed unnecessarily and a relatively less contaminated region is excluded from the cleaning operation.
- That is, cleaning is performed merely based on a degree of contamination, resulting in an increased cleaning time, and, in particular, a particular region is excluded from the cleaning and thus the whole regions may not be cleaned evenly.
- The present invention provides a moving robot and a controlling method thereof, in which a contamination level of each cleaning region is determined indoor, wherein a region is set as a cleaning region in consideration of the number of times the corresponding region was cleaned and therefore it is possible to clean the entire indoor area while preventing cleaning the same region from being cleaned unnecessarily.
- In one general aspect of the present invention, there is provided a moving robot including: a movable main body; a travel drive unit configured to move the main body; a data unit configured to store data for each region; a dust sensor configured to detect dust in air suctioned during cleaning; and a controller configured to control the travel drive unit so as to perform cleaning while traveling in a traveling area distinguished into a plurality of regions, wherein the controller is further configured to: store, in the data unit, dust information detected by the dust sensor and a number of times of cleaning in each region; and set a cleaning region and a non-cleaning region based on cleaning data, which is calculated based on the dust information and the number of times of cleaning, so as to perform cleaning of the cleaning region.
- The controller may be further configured to: distinguish each region allowed for traveling in the plurality of regions into cells of a predetermined size; store, as the dust information, a number of cells in each region and a number of cells where dust is detected by the dust sensor; calculate the cleaning data based on a number of cells in each region, a number of cells where the dust is detected, and a number of times of cleaning.
- The controller may be further configured to; when the cleaning data has a value equal to or greater than a reference value, set a region as a cleaning region; and, when the cleaning data has a value smaller than the reference value, set the region as a non-cleaning region.
- In another general aspect of the present invention, there is provided a controlling method of a moving robot, the method including: receiving a cleaning command with respect to a traveling area divided into a plurality of regions; checking cleaning data which is calculated based on a number of times of cleaning in each region and dust information; setting a cleaning region and a non-cleaning region by comparing the cleaning data with a reference value; performing cleaning of the cleaning region while traveling; storing dust information by detecting dust in air suctioned during cleaning; and updating the cleaning data based on the number of times of cleaning in each region and the dust information.
- The method may further include, before setting a region as the non-cleaning region in a case where the cleaning data has a value smaller than the reference value, setting the region as a cleaning region when at least one of the following conditions is met: the region has been set as the non-cleaning region a preset number of times or more; there is a cell with a density of dust equal to or greater than a reference density; and a preset time has elapsed since last cleaning.
- A moving robot and a controlling method thereof according to the present invention may enable detecting a density of dust detected by the moving robot while traveling, counting the number of times of cleaning in each region, and calculating cleaning data for each region so as to set a next cleaning region for a next cleaning operation.
- The present invention sets a cleaning region based on cleaning data to thereby prevent cleaning from being unnecessarily repeatedly performed, and allows cleaning to be performed based on the number of times of cleaning despite a small amount of dust, and therefore, there are the advantages that the entire indoor area is maintained in a uniform clean state and cleaning efficiency is enhanced.
- In addition, the present invention performs cleaning by distinguishing an indoor area into a plurality of regions, and accurately determines an amount of dust by detecting an amount of dust in each region on a per cell basis, wherein it is possible to perform cleaning based on an amount of dust in each cell even when the regions are not allowed to be distinguished.
- FIG. 1 is a perspective view of a moving robot according to an embodiment of the present invention.
- FIG. 2 is a horizontal angled view of the moving robot shown in FIG. 1.
- FIG. 3 is a front view of the moving robot shown in FIG. 1.
- FIG. 4 is a bottom view of the moving robot shown in FIG. 1.
- FIG. 5 is a block diagram illustrating major components of a moving robot according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating an example of how to generate a map and distinguish regions by a moving robot according to an embodiment of the present invention.
- FIG. 7 is a diagram referred to for explaining how to distinguish cells in each region by a moving robot according to an embodiment of the present invention.
- FIG. 8 is a diagram referred to for explaining a detection method in response to movement of a moving robot according to an embodiment of the present invention.
- FIG. 9 is a diagram referred to for explaining a change in environment of a region with respect to a moving robot according to an embodiment of the present invention.
- FIG. 10 is a flowchart illustrating a cleaning method of a moving robot according to an embodiment of the present invention.
- FIG. 11 is a flowchart illustrating a method of setting a cleaning region by a moving robot according to an embodiment of the present invention.
- FIG. 12 is a flowchart illustrating a method of updating data by a moving robot according to an embodiment of the present invention.
- Advantages and features of the present invention and a method of achieving the same will be clearly understood from embodiments described below in detail with reference to the accompanying drawings. However, the present invention is not limited to the following embodiments and may be implemented in various different forms, and the embodiments are provided merely for complete disclosure of the present invention and to fully convey the scope of the invention to those of ordinary skill in the art to which the present invention pertains, and the present invention is defined only by the scope of the claims. Throughout the present disclosure, like numbers refer to like elements. A control component in the present invention may be configured as at least one processor.
- FIG. 1 is a perspective view of a moving robot according to an embodiment of the present invention. FIG. 2 is a horizontal angled view of the moving robot shown in FIG. 1. FIG. 3 is a front view of the moving robot shown in FIG. 1. FIG. 4 is a bottom view of the moving robot shown in FIG. 1.
- Referring to FIGS. 1 to 4, a moving robot 1 according to an embodiment of the present invention includes a main body 10 traveling on a floor a cleaning area to suction foreign substances such as dust on the floor, and a detection means provided on the front surface of the main body 10 to detect an obstacle.
- Thee main body 10 may include: a casing 11 which defines an external appearance of the main body 10 and internally defines a space in which constituent elements of the main body 10 are accommodated; a suction unit 34 which is provided in the casing 11 to suction foreign substances such as dust or trash; and a left wheel 36L and a right wheel 36R which are rotatably provided on the casing 11. The main body 10 travels on the floor of the cleaning area in response to rotations of the left wheel 36L and the right wheel 36R, and, in this process, foreign substances are suctioned through the suction unit 34.
- The suction unit 34 may include: a suction fan (not illustrated) which generates suction force; and a suction port 10h through which an air stream generated by the rotation of the suction fan is suctioned. The suction unit 34 may further include: a filter (not illustrated) which collects foreign substances from the air stream suctioned through the suction port 10h; and a foreign substance collection container (not illustrated) in which the foreign substances collected by the filter accumulate.
- In addition, the main body 10 may include a travel unit which drives the left wheel 36L and the right wheel 36R. The travel unit may include at least one drive motor. At least one drive motor may include a left-wheel drive motor for rotating the left wheel 36L, and a right-wheel drive motor for rotating the right wheel 36R.
- As the left-wheel drive motor and the right-wheel drive motor are controlled by a travel controller of a controller to operate independently, the main body 10 may travel forward in a straight, travel backward, or rotate. For example, when the main body 10 travels forward, the left-wheel drive motor and the right-wheel drive motor are rotated in the same direction: however, when the left-wheel drive motor and the right-wheel drive motor are rotated at different speeds or in different directions, a direction of travel of the main body may be changed. At least one auxiliary wheel 37 may be further provided to stably support the main body 10.
- A plurality of brushes 35 may be further provided on the front side of the lower surface portion of the casing 11, and may each include bristles having a plurality of blades which radially extend. Dust is removed from the floor of the cleaning area due to rotation of the brushes 35, and, in turn, the dust removed from the floor is suctioned through the suction port 10h and then collected in the collection container.
- A control panel may be provided on the upper surface of the casing 11, the control panel which includes a manipulation unit 160 to receive various user commands for controlling the robot cleaner 1.
- As shown in FIG. 1 (a), the detection means includes a sensor unit 150 for detecting an obstacle using a plurality of sensors, and an image acquisition unit 140 and 170 for capturing an image.
- As shown in FIG. 1 (b), the detection means may include an obstacle detection unit 100 which is provided on the front surface of the body 10 to emit a light pattern and detect an obstacle from a captured image. The obstacle detection unit 100 may include an image acquisition unit 140, and the detection means may include both the obstacle detection unit and the sensor unit 150.
- The imaging acquisition unit 140 may be provided to face a ceiling, as shown in FIG. 2 (a), or may be provided to face a forward direction, as shown in FIG. 3 (b). In some embodiments, any one image acquisition units 140 may be provided or two image acquisition units respectively facing the forward direction and the ceiling may be provided.
- The obstacle detection unit 100 may be provided on the front surface of the main body 10.
- The obstacle detection unit 100 may be fixed to the front surface of the casing 11, and may include a first pattern emission unit 120, a second pattern emission unit 130, and an image acquisition unit 140. In this case, the image acquisition unit is basically installed below the pattern emission units, as shown in the drawings, but the image acquisition unit may be disposed between the first and second pattern emission units in some embodiments.
- In addition, as described above, a second image acquisition unit 170 may be further provided on the upper surface of the main body. The second image acquisition unit 170 captures an image of the upper surface of the main body, that is, an image of a ceiling.
- The main body includes a rechargeable batter 38, and, when a charging terminal 33 of the battery 38 is connected to a commercial power source (e.g., a power plug in the house) or when the main body 10 is docked with a separate charging station 400 connected to the commercial power source, a charging terminal 33 of the battery 38 may be electrically connected to the commercial power source through its contact with a terminal 410 of the charging station. Electrical constituent elements of the moving robot 1 may receive power from the battery 38, and thus, the moving robot 1 may perform autonomous traveling when the battery 38 is charged, even if the robot cleaner 1 is electrically separated from the commercial power source.
- FIG. 5 is a block diagram illustrating major components of a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 5, the moving robot 1 may include a travel drive unit 250, a cleaning unit 260, a data unit 280, an obstacle detection unit 100, a sensor unit 150, a communication unit 270, a manipulation unit 160, and a controller 200 which controls the overall operation of the mobile robot 1.
- The manipulation unit 160 may include at least one of a button, a switch, a touch pad, or the like to receive a user command. The manipulation unit may be provided on the upper surface of the main body 10, as described above.
- The data unit 280 may store a detection signal received from the obstacle detection unit 100 or the sensor unit 150, reference data used for an obstacle recognition unit 210 to determine existence of an obstacle, and obstacle information which is information on a detected obstacle. In addition, the data unit 280 may store control data for controlling operation of the moving robot, data generated according to a cleaning mode of the moving robot, and a map including obstacle information generated by a map generator. The data unit 280 may store a basic map, a cleaning map, a user map, and a guide map. An obstacle detection signal include a ultrasonic/laser detection signal generated by the sensor unit, and an image acquired by the image acquisition unit.
- In addition, the data unit 280 may store data readable by a microprocessor, and may include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), Read-Only Memory (ROM), Random-Access Memory (RAM), Compact Disk Read Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.
- The communication unit 270 communicates with a terminal (not shown) in a wireless communication method. In addition, the communication unit 270 may be connected to the Internet via a home network to communicate with an external server or a terminal which controls the moving robot.
- The communication unit 270 may transmit a generated map to the terminal, receive a cleaning command from the terminal, and transmits data on an operation status of the moving robot and a clean state. The communication unit 270 may include not just a short-range wireless communication module, such as Zigbee and Bluetooth, but Wi-Fi and Wibro to transmit and receive data.
- Meanwhile, the terminal is a device which is equipped with a communication module for network access, a program for controlling the moving robot, or an application for controlling the moving robot, and the terminal may be a computer, a laptop, a smartphone, a PDA, a tablet PC, and the like. In addition, the terminal may be a wearable device such as a smart watch.
- The travel drive unit 250 includes at least one drive motor to cause the moving robot to travel in accordance with a control command from a travel controller 230. The travel drive unit 250 may include a left-wheel drive motor for rotating the left wheel 36(L), and a right-wheel drive motor for rotating the right wheel 36(R).
- The cleaning unit 260 may operate the brushes to facilitate suctioning dust or foreign substances around the moving robot, and may operate a suction device to suction the dust or the foreign substances. The cleaning unit 260 controls operation of the suction fan provided in the suction unit 34, which suctions foreign materials such as dust or waste, so that dust may be drawn into the foreign substance collection container through the suction hole.
- The obstacle detection unit 100 includes a first pattern emission unit 120, a second pattern emission unit 130, and an image acquisition unit 140.
- The sensor unit 150 includes a plurality of sensors to supplement detecting an obstacle. The sensor unit 150 detects an obstacle existing in front of the main body 10, that is, in a forward direction of travel, using at least one of a laser light, an ultrasonic light, or an infrared light. If a signal transmitted by the sensor unit 150 is reflected and then incident back, the sensor unit 150 inputs a signal including information on the existence of an obstacle or a distance to the obstacle to the controller 200.
- In addition, the sensor unit 150 includes a dust sensor 151.
- The dust sensor 151 is provided on any one side of the suction hole to detect dust in suctioned air. The dust sensor 151 detects presence, an amount, or a density of dust, and inputs a result of the detection to the controller 200.
- For example, the dust sensor may be configured as a plurality of dust sensors, and may detect simply presence of dust in suctioned air or may detect a density of dust for a p[redetermined time by detecting the number of dust particles in the suctioned air. When configured to detect just presence of dust, the dust sensor may count the number of times of detection of dust at every predetermined time unit and determine an amount of dust based on the number of times of detection of dust in each predetermine time unit.
- A density of dust in suctioned air for a predetermined period of time may be determined. The dust sensor may detect a density of dust per size, and may detect a density of dust in different categories such as PM 1.0, PM 2.5, and PM 10 according to dust types.
- The sensor unit 150 may include at least one inclination sensor (not shown) to detect inclination of the main body. The inclination sensor calculates a direction of inclination and an angle of inclination when the main body is inclined forward, rearward, leftward, or rightward. The inclination sensor includes may include a tilt sensor, an acceleration sensor, and the like, and the acceleration sensor may be any one of gyro type, inertial type, and silicon semiconductor type.
- In addition, the sensor unit 150 may detect a floor state of a cleaning region.
- The obstacle detection unit 100 is configured such that the first pattern emission unit 120, the second pattern emission unit 130, and the image acquisition unit 140 are provided on the front surface of the main body 10, as described above to emit a light of the first pattern P1 and a light of the second pattern P2 in an region in front of the moving robot and an image is acquired by capturing the light of the emitted patterns.
- The obstacle detection unit 100 transmits a detection signal including the acquired image to the controller 200.
- Each of the first and second pattern emission units 120 and 130 in the obstacle detection unit 100 may include a light source, and an Optical Pattern Projection Element (OPPE) which generates a predetermined pattern by transmitting light emitted from the light source. The light source may be a laser diode (LD), a light emitting diode (LED), and the like. Laser light has excellent monochromaticity, straightness, and connectivity properties, as compared to other light sources, thereby enabling fine distance measurement, and, particularly, since infrared light or visible light has a high deviation in precision in distance measurement according to factors, such as colors and materials of a target object, it is desired to use the LD as the light source. The OPPE may include a lens or a diffractive optical element (DOE). Depending on the configuration of the respective OPPEs included in the pattern emission units 120 and 130, light in various patterns may be emitted.
- The first pattern emission unit 120 may emit a light of the first pattern (P1, which will be hereinafter referred to as a first patterned light) downward and forward from the main body 10. Accordingly, the first patterned light P1 may be emitted to the floor of the cleaning area.
- The first patterned light P1 may be in a horizontal line shape. Further, the first patterned light P1 may also be in a cross shape with a horizontal line intersecting a vertical line, but aspects of the present invention is not limited to the drawings, and the first patterned light P1 may be in any of various shapes.
- The first pattern emission unit 120, the second pattern emission unit 130, and the image acquisition unit 140 may be arranged vertically in a line. The image acquisition unit 140 is provided below the first pattern emission unit 120 and the second pattern emission unit 130, but aspects of the present invention is not limited thereto, and the image acquisition unit 140 may be dispose above the first pattern emission unit and the second pattern emission unit.
- In some embodiments, the first pattern emission unit 120 is provided on the top to emit the first patterned light P1 downward and forward so as to detect an obstacle located at a position lower than the first pattern emission unit 120, and the second pattern emission unit 130 is provided below the first pattern emission unit 120 to emit a light of the second pattern (P1, which will be hereinafter referred to as a second patterned light)upward and forward. Thus, the second patterned light P2 may be emitted onto an obstacle or a part thereof located at a position higher than at least the second pattern emission unit 130 from a wall or a floor in the cleaning area.
- The second pattern light P2 may be different from the first patterned light P1, and desirably include a horizontal line. The horizontal line is not necessarily a continuous line segment and may be a dotted line.
- Meanwhile, in the above-described FIG. 2, an emission angle θh is a horizontal emission angle of the first patterned light P1 emitted by the first pattern emission unit 120, and the emission angle θh represents an angle formed between both ends of the horizontal line and the first pattern emission unit 120, and it is desired to set the emission angle θh in a range of 130° to 140°, but aspects of the present invention are not limited thereto. The dotted line of FIG. 2 represents a direction forward of the mobile robot 1, and the first patterned light P1 may be symmetrical with respect to the dotted line.
- Similarly to the first pattern emission unit 120, it is desired to set a horizontal emission angle of the second pattern emission unit 130 in a range of 130° to 140°, and in some embodiments, the second patterned light P2 may be emitted at the same horizontal emission angle as that of the first pattern emission unit 120, and, in this case, the second patterned light P2 may be also symmetrical with respect to the dotted line of FIG. 2.
- The image acquisition unit 140 may acquire a forward image of the main body 10. Particularly, the patterned lights P1 and P2 are displayed on an image acquired by the image acquisition unit 140 (hereinafter referred to as an acquired image), and images of the patterned lights P1 and P2 displayed on the acquired image will be hereinafter referred to as optical patterns, and, because the optical patterns are images formed on the image sensor by the first patterned light P1 and the second patterned light P2 which are incident on an actual space, the same reference numerals as the first patterned light P1 and the second patterned light P2 will be given to a first optical pattern P1 corresponding to the first patterned light P1 and a second optical pattern P2corresponding to the second patterned light P2.
- The image acquisition unit 140 may include a digital camera configured to convert an image of a subject into an electrical signal, convert the electrical signal into a digital signal, and store the digital signal in a memory device, and the digital camera includes an image sensor (not shown) and an image processor (not shown).
- The image sensor is a device that converts an optical image into an electrical signal, and is formed as a chip having a plurality of photodiodes integrated therein, and the photodiodes may be, for example, pixels. When light having passed through the lens forms an image on the chip, charges are accumulated in the respective pixels constructing the image, and the charges accumulated in the pixels are converted into an electrical signal (for example, voltage). A Charge Coupled Device (CCD), a Complementary Metal Oxide Semiconductor (CMOS), and the like are well known examples of the image sensor.
- The image processor generates a digital image based on an analog signal output from the image sensor. The image processor includes: an A/D converter to convert an analog signal into a digital signal; a buffer memory to temporarily store digital data according to the digital signal output from the A/D converter; and a digital signal processor (DSP) to generate a digital image by processing the data stored in the buffer memory.
- The controller 200 include an obstacle recognition unit 210, a map generation unit 220, a travel controller 230, a location recognition unit 240.
- The obstacle recognition unit 210 may determine presence of an obstacle based on an acquired image received from the obstacle detection unit 100, and control the travel drive unit 250 so as to pass or avoid the obstacle by changing a direction of travel or a path of travel based on obstacle information.
- The travel controller 230 controls the travel drive unit 250 so as to control the left wheel driving motor and the right wheel driving motor independently from each other, such that the main body 10 may move forward or turn.
- The obstacle recognition unit 210 stores an obstacle detection signal, received from the sensor unit 150 or the obstacle detection unit 100, in the data unit 280 and determines an obstacle by analyzing the obstacle detection signal.
- The obstacle recognition unit 210 determines presence of an obstacle located in the direction of travel based on a signal from the sensor unit, and determines a location, a size, and a shape of the obstacle by analyzing an acquired image.
- The obstacle recognition unit 210 extracts a pattern by analyzing the acquired image. The obstacle recognition unit 210 extracts an optical pattern which is obtained by emitting a patterned light onto a floor or an obstacle from the first pattern emission unit or the second pattern emission unit, and determines the obstacle based on the extracted optical pattern.
- The obstacle recognition unit 210 detects the optical patterns P1 and P2 from an image (an acquired image) acquired by the image acquisition unit 140. The obstacle recognition unit 210 may detect features, such as dots, lines, sides, and the like, of pixels forming the acquired image, and, based on the detected features, the pattern detection unit 210 may detect the optical patterns P1 and P2, or dots, lines, sides, and the like of the optical patterns P1 and P2.
- The obstacle recognition unit 210 may extract a horizontal line forming the first optical pattern P1 and a horizontal line forming the second optical pattern P2 by extracting line segments line segments which are formed by consecutive pixels brighter than neighboring pixels. However, aspects of the present invention are limit limited thereto, and, using well-known techniques for extracting a desired pattern from a digital image, the obstacle recognition unit 210 may extract the first optical pattern P1 and the second optical pattern P2.
- In addition, the obstacle recognition unit 210 determines presence of an obstacle based on the detected patterns, and determines a shape of the obstacle. The obstacle recognition unit 210 may determine an obstacle based on the first optical pattern and the second optical pattern, and calculate a distance to the obstacle. In addition, the obstacle recognition unit 210 may determine a size (height) of an obstacle based on the respective shapes of the first optical pattern and the second optical pattern and a change in an optical pattern occurring during approaching the obstacle.
- The obstacle recognition unit 210 may determine an obstacle based on a distance from the first optical pattern and the second optical pattern to a reference position. The obstacle recognition unit 210 may determine that there is a downhill slope when the first optical pattern P1 is located at a position lower than the reference position, and the obstacle recognition unit 210 may determine that there is a cliff when the first optical pattern P1 disappears. In addition, the obstacle recognition unit 210 may determine an obstacle located in a direction of travel or an obstacle located above when the second optical pattern appears.
- The obstacle recognition unit 210 determines inclination of the main body based on inclination information received from the inclination sensor included in the sensor unit 150, and, when the main body is inclined, the obstacle recognition unit 210 compensates for the inclination with respect to a position of an optical pattern in an acquired image.
- The travel controller 230 controls the travel drive unit 250 to perform cleaning of a region designated from among cleaning regions while traveling in the same area, and controls the cleaning unit 260 to perform the cleaning by suctioning dust during the traveling.
- By determining whether the moving robot is allowed to travel or enter with respect to an obstacle recognized by the obstacle recognition unit 210, the travel controller 230 sets a traveling path such that the moving robot travels while approaching the obstacle, travels in the vicinity of the obstacle, passes through the obstacle, or avoids the obstacle, and the travel controller 230 controls the travel drive unit 250 according to the traveling path.
- The map generator 220 may generate a map of cleaning regions, based on information on an obstacle determined by the obstacle recognition unit 210.
- In an initial operation, if a map of cleaning regions is not stored, the map generator 220 generates the map of cleaning regions based on obstacle information while traveling in the cleaning region. In addition, the map generator 220 may update a pre-generated map based on obstacle information acquired during traveling.
- The map generator 220 generates a basic map based on information acquired by the obstacle recognition unit 210 during traveling, and generates a cleaning map by distinguishing the basic map into regions. In addition, the map generator 220 trims distinguished regions of the cleaning map, and generates a user map and a guide map by setting an attribute of each of the distinguished regions.
- The basic map is a map in which a shape of a cleaning region obtained during traveling is displayed with an outline, and the cleaning map is a map obtained by distinguishing the basic map into regions. The basic map and the cleaning map include an region allowed for the moving robot to travel, and obstacle information. The user map is obtained by simplifying the regions in the cleaning map and trimming shapes of the outlines of the regions, such that a visual effect is added to the user map. The guide map is a map where the cleaning map and the user map overlap each other. As the cleaning map is displayed on the guide map, a cleaning command may be input based on a region where the moving robot is allowed to travel.
- After generating the basic map, the map generator 220 distinguishes the cleaning region into a plurality of regions, and generates a map, which includes connection passages connecting the plurality of regions and information on an obstacle existing in each region. The map generator 220 generates a map with distinguished regions in a manner as follows: the map is distinguished into small regions in order to distinguish the regions on the map, each distinguished small region is set as a detailed region, and each detailed region is incorporated into the representative region.
- The map generator 220 processes a shape of each distinguished region. The map generator 220 sets an attribute of each distinguished region, and processes a shape of each distinguished region according to an attribute of each corresponding distinguished region.
- The map generator 220 first determines a main region on the basis of the number of portions in each distinguished region overlapping with any other region. The main region is basically set to a living room, but, in some embodiments, the main region may be changed to any one of a plurality of room. The map generator 220 may set attributes of remaining regions with reference to the main region. For example, the map generator 220 may set a region with a size equal to or greater a predetermined size around the living room to a room, and set any other region to an extra region.
- When it comes to processing a shape of a region, the map generator 220 processes a shape of each region into a predetermined shape according to a reference depending on an attribute of each corresponding region. For example, the map generator 220 processes a shape of a region with reference to a common house room shape, for example, a square. In addition, the map generator 220 processes a shape of a region in a manner of expanding the shape of the region with reference to the most outer cell in the basic map while deleting or reducing a region not allowed for the moving robot to approach due to an obstacle.
- In addition, the map generator 220 displays an obstacle based on a size of the obstacle in the basic map such that an obstacle having a size equal to or greater than a predetermined size is displayed on the map and a cell corresponding to an obstacle having a size smaller than the predetermined size is deleted. For example, on the map, the map generator displays furniture, such as a chair and a sofa, having a size equal to or greater than a predetermined size and deletes a temporarily present obstacle and a small-sized obstacle such as a small toy. When generating a map, the map generator 220 stores a location of a charging station together with the map.
- After the map is generated, the map generator 220 may add an obstacle to the map based on obstacle information about a detected obstacle received from the obstacle recognition unit 21. If a particular obstacle is repeatedly detected at a fixed position, the map generator 220 may add the obstacle in the map, and, if an obstacle is temporarily detected, the map generator 220 ignores the obstacle.
- In addition, in accordance with a detection signal which is received from the dust sensor 151 included in the sensor unit 150 during traveling, the map generator 220 may add dust information as well as obstacle information in a pre-generated cleaning map. The map generator 220 may distinguish one region into cells of a predetermined size, and store, together with the cleaning map, information on the number of cells in each region and dust information on a per cell basis.
- The map generator 220 generates a user map, which is a processed map, and a guide map, which is a map where the user map and the cleaning map overlap each other.
- The moving robot performs cleaning based on the cleaning map, and transmits the user map and the guide map to a terminal. A terminal 300 may store and display both the guide map and the user map, and output one of the guide map and the user map according to a setting. When a cleaning command based on the user map or the guide map is received from the terminal 300, the moving robot 1 cleans a designated region by traveling based on the cleaning map. The moving robot stores information on the number of cells in each region and dust information for each region, not on the basis of the user map, but on the basis of the cleaning map which is composed of regions allowed for the moving robot to travel.
- The location recognition unit 240 may determine the current location of the main body 10 based on a map (a cleaning map, a guide map, or a user map) stored in the data unit.
- When a cleaning command is received, the location recognition unit 240 determines whether a location displayed on the map and the current location of the main body coincide with each other, and, when the current location of the main body does not coincide with the location displayed on the map or when the current location is unknown, the location recognition unit 240 recognizes the current location to restore the current location of the moving robot. When the current location is restored, the travel controller 230 may control the travel drive unit to travel to a designated region based on the current location. The cleaning command may be input from a remote controller (not shown), the manipulation unit 160, or the terminal 300.
- When the current location does not coincide with the location displayed on the map or when the current location is unknown, the location recognition unit 240 may estimate the current location based on the map by analyzing an acquisition image received from the image acquisition unit 140.
- While a map is generated by the map generator 220, the location recognition unit 240 processes an acquired image acquired at each location and associate the acquired image with the map to thereby recognize the global position of the main body.
- The location recognition unit 240 may identify the current location of the main body by comparing a map and an acquired image, acquired by the image acquisition unit at each location on the map, and accordingly, even when the location of the main body is changed all of sudden, the location recognition unit 240 is able to estimate and recognize the current location.
- The location recognition unit 240 determines the current location of the main body by analyzing various features located at a ceiling in an acquired image, such as lighting devices, edges, corners, blobs, and ridges. The acquired image may be received from the image acquisition unit or from the second image acquisition unit provided on the upper surface of the main body.
- The location recognition unit 240 detects features from each acquired image. There are various well-known feature detection techniques for detecting a feature from an image in the computer vision field. A variety of feature detectors are well known. For example, there are Canny detector, Sobel detector, Harris&Stephens/Plessey detector, SUSAN detector, Shi&Tomasi detector, Level curve curvature detector, FAST detector, Laplacian of Gaussian detector, Difference of Gaussians detector, Determinant of Hessian detector, MSER detector, PCBR detector, and Grey-level blob detector.
- The location recognition unit 240 calculates a descriptor based on each feature. For feature detection, the location recognition unit 240 may convert a feature into a descriptor using Scale Invariant Feature Transform (SIFT). The descriptor may be expressed in the form of an n-dimensional vector. The SIFT may detect a feature invariant to scale, rotation, and a change in brightness of a subject, and accordingly, it is possible to detect an invariant (that is, rotation invariant) feature when the same region is imaged by changing the position of the moving robot 1. Of course, aspects of the present invention are not limited thereto, and other various techniques (e.g., Histogram of Oriented Gradient (HOG), Haar feature, Fems, Local Binary Pattern (LBP), and Modified Census Transform (MCT)) may be applied.
- Based on descriptor information acquired from an acquired image acquired at each location, the location recognition unit 240 may classify at least one descriptor of the acquired image into a plurality of groups according to a predetermined sub-classification rule, and convert descriptors belonging to the same group into sub-representative descriptors according to a predetermined sub-representation rule. In another example, the location recognition unit 240 may classify all descriptors calculated based on images acquired in a predetermined area into a plurality of groups according to the predetermined sub-classification rule, and convert descriptors belonging to the same group into sub-representative descriptors according to the predetermined sub-representation rule.
- Through the above procedure, the location recognition unit 240 may obtain a feature distribution for each location. The feature distribution for each location may be expressed in the form of a histogram or an n-dimensional vector. In another example, without using the predetermined sub-classification rule and the predetermined sub-representation rule, a learning module 143 is able to estimate an unknown current location based on a descriptor calculated from each feature.
- In addition, when the current location of the moving robot 1 has become unknown due to location hopping, the location recognition unit 240 may estimate the current location based on data such as a pre-stored descriptor and a sub-representative descriptor.
- The location recognition unit 240 acquires an acquired image from the unknown current location using the image acquisition unit 140, and, when various features located at a ceiling, such as lighting devices, edges, corners, blobs, and ridges, are found in the acquired image, the location recognition unit 240 detects the features from the acquired image.
- According to a predetermined sub-conversion rule, the location recognition unit 240 may convert information on at least one descriptor obtained from an image acquired at the unknown current location into location information to be compared (e.g., a feature distribution for each location) and comparable information (sub-recognition feature distribution). According to a predetermined sub-comparison rule, a feature distribution for each location may be compared with a corresponding recognition feature distribution to calculate a similarity level for each location. A similarity level (probability) may be calculated at each location, and a location at which the highest probability is calculated may be determined to be the current location.
- When a map is updated by the map generator 220 during traveling, the controller 200 transmits the updated information to the terminal 300 via the communication unit so that the same map is stored in the terminal and the moving robot 1. As the same map is stored in the terminal 300 and the moving robot 1, the moving robot 1 is able to clean a designated region in response to a cleaning command from the terminal and the terminal is able to display the current location of the moving robot on the map.
- In response to a cleaning command, the travel controller 230 controls the travel drive unit to move to a region designated from among cleaning regions, and operates the cleaning unit so as to perform cleaning while traveling.
- In response to a cleaning command for cleaning a plurality of regions, the travel controller 230 controls cleaning by moving regions in a priority order or a preset order of the regions: if there is no set order, the travel controller 230 moves to a nearby region or an adjacent region with reference to the current location and performs cleaning.
- In addition, in response to a cleaning command for cleaning a random region regardless of whether regions are distinguished, the travel controller 230 moves to a region included in the random region and performs cleaning.
- When a virtual wall is set up, the travel controller 230 controls the travel drive unit to travel based on coordinates received from the map generator by avoiding the virtual wall. Even though it is determined by the obstacle recognition unit 210 that no obstacle is present, if a virtual wall is set up, the travel controller 230 recognizes an obstacle as being present at a location corresponding to the virtual wall and restricts traveling.
- In response to a cleaning command, the travel controller 230 sets a cleaning region and set a path of cleaning of the cleaning region. The travel controller 230 may set a cleaning region based on cleaning data calculated based on dust information and the number of times of cleaning, and set a cleaning path for the cleaning region.
- For example, when a cleaning command for cleaning an entire area is received, the travel controller 230 sets a cleaning region to be cleaned and a non-cleaning region not to be cleaned, based on numbers in cleaning data, and then the travel controller 230 sets a cleaning path. In some embodiments, the travel controller may add cleaning of a particular region. The travel controller may set a less dusty region as a non-cleaning region or may set even the less dusty region as a cleaning region depending on the number of times the region has been set as a non-cleaning region or an elapse of time since the previous cleaning. That is, the travel controller may prevent a less dusty region from being cleaned repeatedly and also allow the less dusty region to be cleaned when a preset time elapsed, thereby maintaining an entire area in a constant clean state.
- If a cleaning region or a cleaning order is set by a user, the travel controller 230 performs cleaning according to the setting. The travel controller 230 may transmit information on a cleaning situation as to a region not to be cleaned based on cleaning data to a terminal so as to guide cleaning of the region. For example, if there is a region that has not been cleaned for a predetermined time, the travel controller 230 may output cleaning guidance to perform cleaning, regardless of an amount of dust.
- If cleaning of a designated region is completed, the controller 200 stores a record of the cleaning in the data unit.
- In addition, the controller 200 accumulates and stores dust information detected during cleaning, counts the number of times of cleaning in each region, calculates cleaning data based on the number of times of cleaning in each region and an amount (density) of dust in each region, and then sets a cleaning region based on the cleaning data in the next time of cleaning.
- The controller 200 calculates cleaning data based on the number of cells in each region, the number of cells where dust is detected, and the number of times of cleaning (the number of visits), and the controller 200 stores the cleaning data. The controller 200 calculates the cleaning data by combining newly detected data and pre-accumulated data.
- For example, the controller 200 may calculate cleaning data by dividing the number of cells where dust is detected by a value obtained by multiplying the number of cells in each region by the number of times of cleaning. The cleaning data may further include another variable, and how to calculate the cleaning data may be changed.
- The controller may accumulates and store, in the data unit, the number of cells in each region, dust information, and the number of times of cleaning, and reset such data every preset period of time or when the environment of the region changes. For example, when the number of cells in a region is changed due to a new obstacle, such as installation of new furniture in the region, the controller may determine that the environment has changed, and thus reset data.
- The controller 200 transmits an operation state of the moving robot 1 or a clean state in a predetermined period of time to the terminal 300 via the communication unit 190.
- Based on data received from the moving robot 1, the terminal 300 displays a location of the moving robot together with a map on a screen of an application in execution, and outputs information on a clean state. Based on the data received the moving robot, the terminal 300 may display, on the screen, information on an amount/density of dust and the number of times of cleaning has been performed.
- The terminal 300 may display one of a user map and a guide map according to a setting, and change the displayed one to the other according to a setting.
- The terminal 300 may display a received map on the screen, and, in response to a key input or a touch input, the terminal 300 may distinguish or incorporate regions and change or add an attribute of a region. In addition, the terminal may designate a location of a particular obstacle on the map, and information on the designated obstacle is transmitted to the moving robot and added in a pre-stored map.
- In response to a key input or a touch input, the terminal 300 may designate a cleaning region on a displayed map and set an order in which cleaning is to be performed, and transmit a cleaning command to the moving robot.
- In addition, based on data received from the moving robot, the terminal 300 shows a clean state on a displayed map (the user map and the guide map). When information on an obstacle is added, the terminal updates the map based on the received data and displays the updated map.
- In addition, when a charging station is detected based on a return signal from the charging station, the controller 200 recognizes the current location of the moving robot, calculates a location of the charging station based on the current location of the moving robot, and stores the location of the charging station. The controller 200 may perform setting to display the location of the charging station on the map.
- FIG. 6 is a diagram illustrating an example of how to generate a map and distinguish regions by a moving robot according to an embodiment of the present invention.
- As illustrated in (a) of FIG. 6, when no map is stored, the moving robot 1 may generate a map using a wall following technique while traveling in a traveling area X1.
- As illustrated in (b) of FIG. 6, the map generator 220 generates a map as shown in (c) of FIG. 6 by distinguishing a traveling area X1 into a plurality of regions A1’ to A9’. The generated map is stored in the data unit 280 and transmitted to the terminal 200 via the communication unit 270.
- The map generator 220 may distinguish a traveling area into a plurality of regions by a predetermined criterion. The traveling area may be defined as a range including all areas on any plane previously travelled by the moving robot and all areas on a plane currently being travelled by the moving robot 1.
- For region distinction, the map generator 220 distinguishes the traveling area X1 into small regions and large regions, and generates a map accordingly. The map generator 220 may distinguish the traveling area into a plurality of small regions, and each small region may be distinguished on the basis of each chamber (room) in the traveling area. In addition, the map generator may distinguish the traveling area into a plurality of large regions which are distinguished from each other on the basis of a travel capability. For example, two indoor spaces completely separated from each other by a moving line may be distinguished as two large regions. In another example, even the same indoor space may be distinguished into the large regions on the basis of floors of the travel area.
- After distinguishing regions, the map generator 220 generates a map (a user map), as shown in (c) of FIG. 6, by trimming the outline of the regions. When a region in a cleaning map has a size equal to or greater than a predetermined size, the region may be distinguished into a plurality of regions. For example, a region A3’ may be distinguished into a region A3 and a region A4.
- The terminal 300 executes an application and displays a received map on a screen. In this case, a plurality of distinguished regions (A1 to A9) is displayed differently. The plurality of regions (A1 to A0) in the map may be displayed with different colors or different names.
- The moving robot and the terminal basically store the same map, but the terminal displays a user map with simplified regions, as shown in (c) of FIG. 6, to allow a user to easily recognize the regions, and the moving robot performs traveling and cleaning based on a cleaning map, as shown in (b) of FIG. 6, including information on an obstacle. In order to display the obstacle even in (c) of FIG. 6, a guide map where the cleaning map and the user map overlap each other may be displayed.
- As described above, the moving robot performs cleaning based on the cleaning map as shown in (b) of FIG. 6.
- When a cleaning command is received, the moving robot 1 determines the current location thereof based on the stored cleaning map, and, when the current location coincides with a location displayed on the map, the moving robot 1 performs designated cleaning, and, when the current location does not coincide with the location displayed on the map, the moving robot 1 recognizes and restores the current location and then performs cleaning. Accordingly, no matter where the moving robot 1 may be located in the plurality of regions (A1 to A9), the moving robot 1 is able to determine the current location thereof, move to a designated region, and then perform cleaning.
- As illustrated in the drawing, the remote controller or the terminal may select at least one of the plurality of regions (A1 to A9) and input a cleaning command to the moving robot 1. In addition, the moving robot 1 may set any one region as a cleaning region or may set a cleaning region by touching or dragging the plurality of regions without distinguishing therebetween.
- When a cleaning command for the plurality of regions is received, any one of the plurality of regions may be set as a first priority region, cleaning may be performed in the first priority region first and then in a region in the vicinity of the first priority region, or the order in which cleaning is to be performed may be set. When the order in which cleaning is to be performed in a plurality of designated regions is set, the moving robot 1 may perform cleaning by moving according to the set order. When there is no set order in which cleaning is to be performed in a plurality of cleaning regions, the moving robot 1 moves a region closest to the current location of the moving robot 1 and performs cleaning.
- FIG. 7 is a diagram referred to for explaining how to distinguish cells in each region by a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 7, the moving robot distinguishes one region into a plurality of cells, detects dust information on a per cell basis, and stores such dust information.
- As illustrated in the drawing regarding the first region A1, the number of cells in a region allowed for the moving robot to travel, that is, a region shown in the cleaning map, is counted.
- The dust sensor detects dust during traveling and transmits a result of the detection to the controller 200, and the controller 200 stores dust information in response to a detection signal from the dust sensor with respect to each region on a per cell basis. Based on a detection signal depending on the type of the dust sensor, the controller 200 may store presence of dust on a per cell basis or may store a density of dust on a per cell basis.
- The controller 200 may change a cell size depending on the type of the dust sensor and the detection method of the moving robot, but it is desirable to set the cell size based on a size of the moving robot 1. The controller 200 sets every cell in each region to have an identical size, and counts the number of cells in each region. The controller 200 sets the cell size corresponding to the size of the moving robot 1, and stores dust information in response to a detection signal from the dust sensor in each cell.
- In response to a received cleaning command, the controller 200 performs cleaning of the traveling area by setting a cleaning region based on cleaning data, which is calculated based on dust information and the number of times of cleaning.
- As described above, the controller 200 calculates cleaning data based on dust information, the number of cells in each region, the number of cells where dust is detected, and the number of times of cleaning. The controller 200 may determine a dusty level based on a ratio between the number of cells in a region and the number of cells where dust is detected in the region. In addition, using a dust density stored on a cell basis, the controller 200 may calculate cleaning data.
- If cleaning data has a greater value, the controller 200 determines that a corresponding region has more dust and needs to be cleaned often, and if cleaning data has a smaller value, the controller 200 determines that a corresponding region has less dust and does not needs to be cleaned often. In some embodiments, if cleaning data has a value equal to or greater than a predetermined value, the controller 200 may set additional cleaning.
- The controller 200 may determine the order in which cleaning is to be performed, based on a value of cleaning data.
- The cleaning data is a value which is obtained in consideration of both an amount of dust and the number of times of cleaning, and thus, the controller 200 may set a region as a cleaning region based on cleaning data and based on whether the region meets a predetermined condition, although a small amount of dust present in the region.
- For example, even though there is a small amount of dust in a region, if the number of times of cleaning in the region is equal to or smaller than a predetermined value or if a predetermined time has elapsed since last cleaning, the controller 200 sets the region as a cleaning region, and, in particular, if the region was set as a non-cleaning region, the controller 200 set the region as a cleaning region in the last cleaning, regardless of an amount of dust, so that there is no region left uncleaned for a predetermined period of time. In addition, even though there is a small amount of dust in a region, if the number of cells with a density of dust equal to or greater than a reference value in the region is equal to or greater than a predetermined value, the controller 200 may set the region as a cleaning region so as to perform cleaning of the region.
- The controller 200 performs control such that a dusty region is cleaned often, a less dusty region is set as a non-cleaning region so as not to be cleaned unnecessarily, and even the less dusty region is cleaned within a predetermined period of time, and accordingly, the entire traveling area may be maintained in a constant clean state.
- As illustrated in the following Table 1, cleaning may be set by calculating cleaning data. The following Table 1 includes an extreme example to describe how to set a cleaning region based on cleaning data, and Table 1 may be different from actual measurements.
- Table 1
- As illustrated in Table 1, Region A has the highest values in terms of the number of cells and the number of cells where dust is detected (the greatest amount of dust), but the number of times of cleaning in Region A is 4, and thus, cleaning data for Region A is calculated into 0.229 which is the second highest value.
- Region B has the second highest values in terms of the number of cells and the number of cells where dust is detected, but the number of times of cleaning has been performed in Region B is a small value, and thus, the cleaning data for Region B is calculated into 0.438 which is the highest value, and therefore, Region B may be determined to be a region most in need of cleaning.
- Meanwhile, Region C has the lowest values in terms of the number of cells and the number of cells where dust is detected, but the number of times of cleaning in Region C is greater than that of Region B, and therefore, cleaning data for Region C is calculated into a very low value.
- Accordingly, the controller 200 may set Region A and Region B as cleaning regions and Region C as a non-cleaning region, so that cleaning is performed only in Region A and Region B. Meanwhile, even though cleaning data for Region C is calculated into a low value, if Region C was set as a non-cleaning region in last cleaning, the controller 200 may set Region C as a cleaning region so as to clean Region C.
- When it comes to determining the number of times a region has been set as a non-cleaning region, the controller 200 may variably apply the determination according to a setting, and the controller 200 may set a cleaning region depending on an elapse of time since last cleaning. In addition, even though the cleaning data for Region C has the lowest value, if a cell with a density of dust equal to greater than a reference density is included in Region C or if the number of cells with a density of dust equal to or greater than a reference density in Region C is equal to or greater than a predetermined value, the controller 200 may set Region C as a cleaning region, regardless of the cleaning data.
- In addition, after setting a cleaning region, the controller 200 may determine that a region having cleaning data equal to or greater than a reference value is highly contaminated, and additionally set the region to be cleaned.
- FIG. 8 is a diagram referred to for explaining a detection method in response to movement of a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 8, while traveling between two regions out of a plurality of regions, the moving robot 1 may perform cleaning of a region A10 included in a traveling path or may not perform cleaning of the region A10 after cleaning once or twice.
- The travel controller may set the region A10 to be cleaned, and travel in the moving region A10 while performing cleaning, or may pass the region A10 quickly after cleaning once. The travel controller may perform control such that dust information detected during cleaning is measured once for each cell included in the region A10. In addition, after the region A10 is cleaned once, if an amount of dust equal to or greater than a predetermined value is detected in the second round of traveling in the region A10, the travel controller performs control such that the region A10 is cleaned again but only the dust information detected in the first round of cleaning is stored.
- For example, when moving from a first region A1 to a second region A2, the moving robot passes through a seventh region A7, and, even when moving from the second region to a third region A3, the moving robot passes through the seventh region A7, and accordingly, the travel controller performs control such that dust information for a corresponding region is stored once on a per cell basis.
- FIG. 9 is a diagram referred to for explaining a change in environment of a region with respect to a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 9, the travel controller 230 stores information on an obstacle detected by the obstacle detection unit 100 during traveling. The map generator updates a pre-generated map based on a newly detected obstacle.
- The travel controller 230 stores dust information for each region and the number of times of cleaning in each region, and, if an obstacle having a size equal to or greater than a predetermined size is detected in a region, the number of cells in the region is changed, and thus, in this case, the travel controller 230 may reset dust information pre-stored in the data unit.
- In addition, the travel controller 230 may reset data, stored in the data unit, in a predetermined period of time, for example, every month, every three month (quarter), and every year, such that the recent data is used.
- As illustrated in the drawings, if a changed region A11 occurs due to a new obstacle present in the first region A1, for example, if a region as large as the changed region A11 is not allowed for the moving robot to travel due to installation of new furniture, the total number of cells in the first region is changed, and thus, the controller 200 may reset dust information, and accumulate and store new detected data. If the number of cells is changed, the number of cells where dust is detected is changed and thus it is desired to reset dust information.
- Even though an obstacle is equal to or greater than a predetermined size, the controller 200 may not reset data immediately and instead may reset the data after determining whether the obstacle is detected a predetermined number of times.
- In addition, even though a new obstacle is detected, if the obstacle is smaller than the predetermined size and not detected in the next time, for example, if a pet is detected, the controller 200 ignores the detected obstacle and maintains the number of cells and dust information for each of the cells, because the pet is a moving subject and does not stay in one place all the time.
- FIG. 10 is a flowchart illustrating a cleaning method of a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 10, the moving robot starts to clean a traveling area in accordance with a cleaning command received from a remote controller, a manipulation unit, or a terminal (S310).
- The moving robot 1 checks cleaning data calculated based on pre-stored data, which includes dust information and the number of times of cleaning, (S320), and sets a cleaning region based on the cleaning data.
- The controller 200 performs control such that a dusty area is set to be cleaned often, a less dusty area is set as a non-cleaning area so as not to be cleaned unnecessarily, and even the less dusty region is cleaned within a predetermined period of time, and accordingly, the entire traveling area may be maintained in a constant clean state.
- As described above, as cleaning data is a value obtained in consideration of both an amount of dust and the number of times of cleaning, the controller 200 may set a cleaning region based on the cleaning data, and may set even a less dusty region as a cleaning region based on whether a predetermined condition is met. When there are a smaller amount of dust and a less number of times of cleaning, the cleaning data is calculated to be high, and, when there are a larger amount of dust and a more number of times of cleaning, the cleaning data may be calculated to be low. Even though there is a large amount of dust, if cleaning has been performed a great number of times, the cleaning data may be calculated to be low, and, even though there is a small amount of dust, if cleaning has been performed a small number of times, the cleaning data may be calculated to be high (a great value).
- Accordingly, the controller 200 sets a cleaning region based on cleaning data, and, if cleaning data for a region is equal to or smaller than a predetermined value, the controller 200 may set the corresponding region as a non-cleaning region to be excluded from the upcoming cleaning operation. Even though cleaning data for a region is low, the controller 200 may set the corresponding region as a cleaning region depending on the number of times that the corresponding region has been set as non-cleaning regions, an elapse of time (hours) since last cleaning, and a density of dust in each cell.
- In addition, if cleaning data for a region is equal to or greater than a set value, the controller 200 may determine that the region is highly contaminated, and may set additional cleaning.
- If cleaning regions are set, the controller 200 sets a cleaning path that connects cleaning regions (S340). The controller 200 may set a cleaning path to first travel to a region with the highest cleaning data, and may set a cleaning path depending on a distance between cleaning regions.
- The controller 200 applies a control command to the travel drive unit and the cleaning unit so as to perform cleaning while traveling in a cleaning region according to a setting. In addition, the controller 200 applies a control command to the sensor unit 150 so as to detect dust using the dust sensor during cleaning.
- The dust sensor inputs a detection signal to the controller 200 by detecting dust in the air suctioned during cleaning.
- The controller 200 increases the number of times of cleaning in each region, and stores dust information for each region based on a detection signal indicative of detection of dust in each cell (S360). The controller 200 may store the number of cells in each region and the number of cells where dust is detected, and store a dust density for each region on a per cell basis. In some embodiments, the controller 200 may store information on a cell with a density of dust equal to or greater than a reference density.
- When cleaning of every cleaning region is completed (S370), the controller 200 accumulates and stores data for each region in the data unit, and calculates and updates cleaning data based on the number of cells, the number of cells where dust is detected, and the number of times of cleaning (S380). The controller 200 may calculate cleaning data after completion of cleaning or before start of cleaning.
- FIG. 11 is a flowchart illustrating a method of setting a cleaning region by a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 11, the controller 200 checks cleaning data (S410) to set a cleaning region.
- The controller 200 determines whether cleaning data for each region has a value equal to or greater than a reference value (S420), and, if cleaning data for a region has value equal to or greater than the reference value, the controller 200 sets the region as a cleaning region (S480).
- If the cleaning data for the corresponding region has a value equal to or greater than the reference and also equal to or greater than a preset value set greater than the reference value, the controller 200 may add cleaning of the corresponding region (S450).
- Meanwhile, if cleaning data for a region has a value smaller than the reference value, the controller 200 determines whether the number of times of exclusion of each region is equal to or greater than a preset number of times (S430).
- Even though cleaning data for a region has a value smaller than the reference value, if the number of times of exclusion of the region is equal to or greater than the preset number of times, the controller 200 sets the region as a cleaning region (S480).
- For example, the preset number of times may be set to 1 or 3, and, if the preset number of times is 1 and a corresponding region has been once excluded from cleaning, the controller 200 unconditionally sets the corresponding region as a cleaning region in the next cleaning operation.
- In addition, if cleaning data for a region is smaller than the reference value and the number of times of exclusion of the region is smaller than the preset number of times, the controller 200 determines whether a dust density on a per cell basis is equal to or greater than a reference density (S460).
- If the number of cells with a density of dust equal to or greater than the reference density is equal to or greater than a preset value, the controller 200 sets the cells as cleaning regions (S480).
- In addition, the controller 200 determines if a preset time has elapsed since last cleaning (S470), and, if so, the controller 200 sets the corresponding cells as cleaning regions (S480).
- The controller 200 may, regardless of order, make determinations as to the number of times of exclusion, a density of dust in each cell, and an elapse of time since last cleaning, and may apply the determinations to set a cleaning region. That is, if cleaning data for a region is smaller than the reference value and the preset time has elapsed since last cleaning, the region may be set as a cleaning region, regardless of whether the preset time has elapsed since last cleaning.
- Meanwhile, the controller 200 sets a region as a non-cleaning region (S485) when cleaning data for the region has a value smaller than the reference value, when the number of times of exclusion is smaller than the preset number of times, when there is no cell with a density of dust equal to or greater than the reference density (or the number of such cells being smaller than a preset value), and when the preset time has not elapsed since last cleaning.
- After determination as to a cleaning region and a non-cleaning region is made, the controller 200 may set a cleaning path which connects cleaning regions (S490), and controls the travel drive unit and the cleaning unit to perform cleaning while traveling in the cleaning regions.
- FIG. 12 is a flowchart illustrating a method of updating data by a moving robot according to an embodiment of the present invention.
- As illustrated in FIG. 12, the controller 200 stores a detection signal received from the dust sensor during cleaning as cleaning information for each region (S510).
- In addition, the controller 200 stores information on an obstacle detected during cleaning, and updates a cleaning map.
- The controller 200 stores dust information for each region and the number of times of cleaning in each region, and, when an obstacle in size equal to or greater than a predetermined size is detected in a region, the number of cells in the region is changed, and thus, the controller 200 may reset dust information pre-stored in the data unit.
- When there is a change in the environment of any one region (S520), for example, when an obstacle in size equal to or greater than a predetermined size is detected, the controller 200 may determine there is a change in the environment. In addition, even when a region has expanded due to removal of a pre-existing obstacle, the controller 200 may determine that there is a change in the environment.
- When an obstacle in size equal to or greater than the predetermined size is detected in a region, the number of cells in the region is changed, and thus, the controller 200 may reset data accumulated in the data (S540). In this case, out of dust information for the region and number of times of cleaning in the region, which are pre-stored in the data unit, the controller 200 may reset only dust information or reset both the dust information and the number of times of cleaning.
- For example, since the moving robot is not allowed to travel in a region in size equal to or greater than a predetermined size due to additional installation of furniture in the region, the number of cells in the region is changed, and thus, dust information for the region is reset. However, even though an obstacle is detected, if there is no change in a traveling region, the obstacle may be ignored, and, since such an obstacle is possibly a temporary obstacle, data may not be reset immediately and instead dust information may be reset after determination as to whether the obstacle is detected a predetermined number of times.
- Meanwhile, even though a new obstacle is detected in a region, if the obstacle has a size equal to or smaller than a predetermined size and is not detected later, for example, when the obstacle is a moving obstacle such as a pet, the controller 200 may maintain the number of cells in the region and dust information for the region.
- In addition, the controller 200 may reset data stored in the data unit, for example, every month, every three month, or every year, so that the most recent data is used(S530).
- The controller 200 resets data by deleting data which has been stored for more than a preset time (S550). For example, when cleaning data is set to be calculated based on data of the latest three months, the controller 200 deletes data which has been stored for more than three months, and maintains only data which has been stored for three months or less.
- The controller 200 calculates cleaning data (SS560) based on an amount of dust (density of dust) and the number of times of cleaning, which are on the basis of data newly detected during cleaning and data accumulated within a period of time, and the controller 200 stores the calculated cleaning data in the data unit (S570).
- Thus, the present invention stores dust information detected during cleaning, and set a region as a cleaning region or a non-cleaning region based on the dust information and the number of times of cleaning in the region, so that the region is prevented from being cleaned redundantly and the whole regions are maintained in a constant clean state. Accordingly, the moving robot does not clean a region unnecessarily redundantly and does not allow a region left uncleaned, thereby improving cleaning efficiency.
- The foregoing description is merely illustrative of the technical features of the present disclosure, and various modifications and variations can be made by those having ordinary skill in the art without departing from the essential characteristics of the present disclosure.
Claims (20)
- A moving robot comprising:a movable main body;a travel drive unit configured to move the main body;a data unit configured to store data for each region;a dust sensor configured to detect dust in air suctioned during cleaning; anda controller configured to control the travel drive unit so as to perform cleaning while traveling in a traveling area distinguished into a plurality of regions,wherein the controller is further configured to:store, in the data unit, dust information detected by the dust sensor and a number of times of cleaning in each region; andset a cleaning region and a non-cleaning region based on cleaning data, which is calculated based on the dust information and the number of times of cleaning, so as to perform cleaning of the cleaning region.
- The moving robot of claim 1, wherein the controller is further configured to:distinguish each region allowed for traveling in the plurality of regions into cells of a predetermined size; andstore, as the dust information, a number of cells in each region and a number of cells where dust is detected by the dust sensor.
- The moving robot of claim 2, wherein the controller is further configured to, in response to a detection signal from the dust sensor with respect to each region on a per cell basis, count a number of cells where dust is detected.
- The moving robot of claim 1, wherein the controller is further configured to calculate the cleaning data based on a number of cells in each region, a number of cells where the dust is detected, and a number of times of cleaning.
- The moving robot of claim 1, wherein the controller is further configured to:when the cleaning data has a value equal to or greater than a reference value, set a corresponding region as a cleaning region; andwhen the cleaning data has a value smaller than the reference value, set the corresponding region as a non-cleaning region.
- The moving robot of claim 5, wherein the controller is further configured to, when the cleaning data has a value greater than a preset value being greater than the reference value, add cleaning of the region.
- The moving robot of claim 5, wherein the controller is further configured to, when the cleaning data has a value smaller than the reference value, set the region as a cleaning region depending on a number of times the corresponding region has been set as a non-cleaning region, a density of dust in each cell, or an elapse of time since last cleaning.
- The moving robot of claim 1, wherein the controller is further configured to, when a number of cells in each region is changed, reset pre-stored data.
- The moving robot of claim 1, wherein the controller is further configured to delete data that has been stored for more than a preset time.
- The moving robot of claim 8, further comprising an obstacle detection unit,wherein the controller is further configured to, when a new obstacle is detected by the obstacle detection unit or when an obstacle is removed, determine that a number of cells in a corresponding region is changed.
- The moving robot of claim 10, wherein the controller is further configured to reset the data by determining whether the new obstacle is a temporary obstacle or whether the new obstacle has a size equal to or greater than a predetermined size.
- A controlling method of a moving robot, the method comprising:receiving a cleaning command with respect to a traveling area divided into a plurality of regions;checking cleaning data which is calculated based on a number of times of cleaning in each region and dust information;setting a cleaning region and a non-cleaning region by comparing the cleaning data with a reference value;performing cleaning of the cleaning region while traveling;storing dust information by detecting dust in air suctioned during cleaning; andupdating the cleaning data based on the number of times of cleaning in each region and the dust information.
- The method of claim 12, further comprising adding cleaning of a region when the cleaning data has a value greater than the reference value.
- The method of claim 12, further comprising, before setting a region as the non-cleaning region in a case where the cleaning data has a value smaller than the reference value, setting the region as a cleaning region when at least one of the following conditions is met:the region has been set as the non-cleaning region a preset number of times or more;there is a cell with a density of dust equal to or greater than a reference density; anda preset time has elapsed since last cleaning.
- The method of claim 12, further comprising:detecting an obstacle in a region during cleaning; andwhen a number of cells in the region is changed due to the obstacle, resetting pre-stored data.
- The method of claim 12, further comprising deleting data, which includes previous dust information having stored for more than a preset time and a number of times of cleaning.
- The method of claim 15, wherein it is determined that the number of cells in the region is changed when a new obstacle is detected by an obstacle detection unit or when an obstacle is removed.
- The method of claim 17, wherein the data is reset when the new obstacle is not a temporary obstacle and when the new obstacle has a size equal to or greater than a predetermined size.
- The method of claim 12, wherein each region allowed to travel in the plurality of regions is distinguished into cells of a predetermined size, and the cleaning data is calculated based on the number of cells in each region, the number of cells where dust is detected by a dust sensor, and the number of times of cleaning in each region.
- The method of claim 12,wherein the cleaning data is calculated to be higher as there are a larger amount of dust and a less number of times of cleaning, andwherein the cleaning data is calculated to be lower as there are a smaller amount of dust and a more number of times of cleaning.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170124514A KR102032285B1 (en) | 2017-09-26 | 2017-09-26 | Moving Robot and controlling method |
PCT/KR2018/011344 WO2019066444A1 (en) | 2017-09-26 | 2018-09-21 | Moving robot and controlling method |
Publications (3)
Publication Number | Publication Date |
---|---|
EP3687745A1 true EP3687745A1 (en) | 2020-08-05 |
EP3687745A4 EP3687745A4 (en) | 2021-04-21 |
EP3687745B1 EP3687745B1 (en) | 2023-07-26 |
Family
ID=65901774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18863353.1A Active EP3687745B1 (en) | 2017-09-26 | 2018-09-21 | Moving robot and controlling method |
Country Status (5)
Country | Link |
---|---|
US (1) | US11751744B2 (en) |
EP (1) | EP3687745B1 (en) |
KR (1) | KR102032285B1 (en) |
TW (1) | TWI706763B (en) |
WO (1) | WO2019066444A1 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11320828B1 (en) * | 2018-03-08 | 2022-05-03 | AI Incorporated | Robotic cleaner |
US11548159B1 (en) * | 2018-05-31 | 2023-01-10 | AI Incorporated | Modular robot |
WO2020100265A1 (en) * | 2018-11-15 | 2020-05-22 | 本田技研工業株式会社 | Autonomous work machine, control method for autonomous work machine, and program |
JP7417954B2 (en) * | 2019-01-31 | 2024-01-19 | パナソニックIpマネジメント株式会社 | Cleaning route determination system and cleaning route determination method |
KR102306436B1 (en) * | 2019-07-11 | 2021-09-28 | 엘지전자 주식회사 | Moving Robot and controlling method |
KR20210028426A (en) * | 2019-09-04 | 2021-03-12 | 엘지전자 주식회사 | Robot Cleaner and Controlling method for the same |
KR20210090446A (en) * | 2020-01-10 | 2021-07-20 | 엘지전자 주식회사 | Robot Cleaner and Controlling method for the same |
KR20210090447A (en) * | 2020-01-10 | 2021-07-20 | 엘지전자 주식회사 | Robot Cleaner and Controlling method for the same |
CN111227715A (en) * | 2020-01-16 | 2020-06-05 | 湖南格兰博智能科技有限责任公司 | Arch-shaped cleaning method suitable for large area |
CN111643014A (en) * | 2020-06-08 | 2020-09-11 | 深圳市杉川机器人有限公司 | Intelligent cleaning method and device, intelligent cleaning equipment and storage medium |
CN112205927B (en) * | 2020-08-28 | 2022-05-13 | 深圳市修远文化创意有限公司 | Intelligent sweeping method and device of sweeping robot |
CN114468845B (en) * | 2020-10-23 | 2023-01-20 | 好样科技有限公司 | Self-walking device and control method thereof |
CN112401757B (en) * | 2020-11-13 | 2021-09-14 | 南京科沃斯机器人技术有限公司 | Garbage pop-up processing method and system and self-moving cleaning robot |
CN112415532B (en) * | 2020-11-30 | 2022-10-21 | 上海炬佑智能科技有限公司 | Dust detection method, distance detection device, and electronic apparatus |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805220B2 (en) * | 2003-03-14 | 2010-09-28 | Sharper Image Acquisition Llc | Robot vacuum with internal mapping system |
JP4264009B2 (en) * | 2004-01-23 | 2009-05-13 | シャープ株式会社 | Self-propelled vacuum cleaner |
KR100679893B1 (en) * | 2005-10-27 | 2007-02-08 | 엘지전자 주식회사 | Cleaning control device and method of robot cleaner |
KR101645035B1 (en) | 2009-09-22 | 2016-08-16 | 삼성전자주식회사 | Apparatus and Method for controlling parallel programming |
KR101306220B1 (en) * | 2010-08-17 | 2013-09-09 | 산양환경산업 주식회사 | A cleaning system |
JP2012147906A (en) * | 2011-01-18 | 2012-08-09 | Toshiba Corp | Vacuum cleaner |
KR101880087B1 (en) * | 2011-03-04 | 2018-07-20 | 삼성전자주식회사 | Debris detecting unit and robot cleaning device having the same |
EP2494900B1 (en) * | 2011-03-04 | 2014-04-09 | Samsung Electronics Co., Ltd. | Debris detecting unit and robot cleaning device having the same |
KR102122236B1 (en) | 2015-01-20 | 2020-06-26 | 엘지전자 주식회사 | Robot cleaner and method for controlling the robot cleaner |
JP7058067B2 (en) * | 2016-02-16 | 2022-04-21 | 東芝ライフスタイル株式会社 | Autonomous vehicle |
US10918252B2 (en) * | 2017-07-27 | 2021-02-16 | Neato Robotics, Inc. | Dirt detection layer and laser backscatter dirt detection |
-
2017
- 2017-09-26 KR KR1020170124514A patent/KR102032285B1/en active IP Right Grant
-
2018
- 2018-09-21 EP EP18863353.1A patent/EP3687745B1/en active Active
- 2018-09-21 US US16/650,527 patent/US11751744B2/en active Active
- 2018-09-21 WO PCT/KR2018/011344 patent/WO2019066444A1/en unknown
- 2018-09-21 TW TW107133460A patent/TWI706763B/en active
Also Published As
Publication number | Publication date |
---|---|
KR102032285B1 (en) | 2019-10-15 |
TWI706763B (en) | 2020-10-11 |
KR20190035377A (en) | 2019-04-03 |
WO2019066444A1 (en) | 2019-04-04 |
US20200275814A1 (en) | 2020-09-03 |
EP3687745A4 (en) | 2021-04-21 |
EP3687745B1 (en) | 2023-07-26 |
TW201914514A (en) | 2019-04-16 |
US11751744B2 (en) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019066444A1 (en) | Moving robot and controlling method | |
WO2018135870A1 (en) | Mobile robot system and control method thereof | |
WO2018038488A1 (en) | Mobile robot and control method therefor | |
WO2018131884A1 (en) | Moving robot and control method thereof | |
WO2018139865A1 (en) | Mobile robot | |
WO2018160035A1 (en) | Mobile robot and control method therefor | |
WO2021006677A2 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
WO2018124682A2 (en) | Mobile robot and control method therefor | |
WO2018226048A1 (en) | Cleaning robot and controlling method thereof | |
WO2021006556A1 (en) | Moving robot and control method thereof | |
WO2018074903A1 (en) | Control method of mobile robot | |
WO2017188800A1 (en) | Mobile robot and control method therefor | |
WO2020060267A1 (en) | Cleaning robot and method for performing task thereof | |
WO2018155999A2 (en) | Moving robot and control method thereof | |
WO2017200303A2 (en) | Mobile robot and control method therefor | |
WO2015194867A1 (en) | Device for recognizing position of mobile robot by using direct tracking, and method therefor | |
EP3774202A1 (en) | Cleaning robot and method for performing task thereof | |
WO2021172936A1 (en) | Moving robot and control method thereof | |
WO2019098631A1 (en) | Moving apparatus for cleaning and control method thereof | |
WO2020256370A1 (en) | Moving robot and method of controlling the same | |
WO2018117616A1 (en) | Mobile robot | |
AU2018216517B2 (en) | Cleaner | |
WO2020046038A1 (en) | Robot and control method therefor | |
WO2021006674A2 (en) | Mobile robot and control method therefor | |
AU2020253014B2 (en) | Robot cleaner using artificial intelligence and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20200423 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20210324 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: A47L 9/28 20060101ALI20210318BHEP Ipc: B25J 9/16 20060101ALI20210318BHEP Ipc: B25J 19/02 20060101ALI20210318BHEP Ipc: B25J 5/00 20060101ALI20210318BHEP Ipc: B25J 11/00 20060101AFI20210318BHEP |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTG | Intention to grant announced |
Effective date: 20230221 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230601 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602018054248 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20230726 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20230926 Year of fee payment: 6 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1591431 Country of ref document: AT Kind code of ref document: T Effective date: 20230726 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20231027 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20231126 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20231127 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20231026 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20231126 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20231027 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602018054248 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230921 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20230930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230921 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20230726 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20231026 |
|
26N | No opposition filed |
Effective date: 20240429 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230921 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20231026 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20230930 |