WO2022092571A1 - 로봇 청소기 및 그의 주행 방법 - Google Patents
로봇 청소기 및 그의 주행 방법 Download PDFInfo
- Publication number
- WO2022092571A1 WO2022092571A1 PCT/KR2021/012782 KR2021012782W WO2022092571A1 WO 2022092571 A1 WO2022092571 A1 WO 2022092571A1 KR 2021012782 W KR2021012782 W KR 2021012782W WO 2022092571 A1 WO2022092571 A1 WO 2022092571A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- obstacle
- robot cleaner
- type
- driving
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000004140 cleaning Methods 0.000 claims abstract description 173
- 230000008859 change Effects 0.000 claims abstract description 16
- 239000000126 substance Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 239000000428 dust Substances 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- 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/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/2805—Parameters or conditions being sensed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- 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
Definitions
- the present disclosure relates to a robot cleaner and a method for controlling the same, and to a robot cleaner for sucking foreign substances such as dirt and dust present on a surface to be cleaned, and a method for controlling the same.
- robots are developed for industrial use and are widely used in various industrial sites.
- the field of using robots has been further expanded, and it is being used not only in the medical field and aerospace field, but also in general households.
- a typical example of robots used at home is a robot vacuum cleaner.
- the robot vacuum cleaner performs the function of cleaning while inhaling foreign substances such as dust while driving in the indoor space of the home by itself.
- the present disclosure has been made in response to the above-mentioned necessity, and an object of the present disclosure is to provide a robot cleaner using different driving methods for obstacles and a driving method thereof according to the types of obstacles.
- the robot cleaner drives the cleaning area included in the map based on information obtained through a driving unit, a memory in which a map for a space in which the robot cleaner is located, and information obtained through the sensor.
- a processor for controlling the driving unit wherein the processor identifies types of obstacles located in the cleaning area while the robot cleaner travels in the cleaning area, and for different types of obstacles, the robot at different separation distances
- the driving unit is controlled to change the running direction of the cleaner.
- the processor controls the driving unit to change the driving direction at a point where the robot cleaner is separated from the first type of obstacle by a first distance, and the obstacle
- the robot cleaner controls the driving unit to change the driving direction at a point separated by a second distance from the second type of obstacle, and the second distance is shorter than the first distance.
- the processor changes the traveling direction of the robot cleaner at a point separated by a first distance from the first type of obstacle to control the driving unit so that the robot cleaner travels in a zigzag pattern
- the driving unit may be controlled so that the robot cleaner rotates the obstacle of the second type.
- the processor may control the driving unit to drive the robot cleaner along the first type of obstacle.
- the processor identifies the size of the obstacle of the second type, and if the size of the obstacle of the second type is less than a threshold size, the robot cleaner rotates the obstacle of the second type and the same as the previous driving direction direction, and if the size of the second type of obstacle is greater than or equal to a threshold size, the robot cleaner rotates the second type of obstacle and then the driving unit can be controlled to travel in a zigzag pattern .
- the processor identifies the size of the second type of obstacle based on information obtained through the sensor while the robot cleaner rotates the second type of obstacle once, and the second type of obstacle If the size of is less than the critical size, the robot cleaner additionally rotates the second type of obstacle by half a turn and then controls the driving unit to travel in the same direction as the previous driving direction, and the size of the second type of obstacle is If it is greater than or equal to the threshold size, the driving unit may be controlled so that the robot cleaner travels in the zigzag pattern on one side area based on the second type of obstacle.
- the processor retracts the robot cleaner by a predetermined distance and then returns to the original position, and the robot cleaner is returned to the original position. It is possible to control the driving unit to move again from the position.
- the map is divided into a plurality of areas, the plurality of areas including first and second areas connected through a passage, the processor, when the cleaning area is the first area, the first set in the passage
- the driving unit is controlled so that the robot cleaner travels in the first area based on one dividing line, and when the cleaning area is the second area, the robot cleaner operates the robot cleaner based on a second dividing line set in the passage.
- the driving unit may be controlled to travel in a second area, and the first dividing line and the second dividing line may be set at different positions within the passage.
- a driving method of a robot cleaner including a sensor includes identifying the type of obstacle located in the cleaning area while driving in a cleaning area included in a map based on information obtained through the sensor and changing the driving direction at different separation distances for different types of obstacles while driving in the cleaning area.
- the driving direction is changed at a point separated by a first distance from the first type of obstacle, and the obstacle is of the second type If it is identified as an obstacle of the second type, the driving direction is changed at a point separated by a second distance from the second type of obstacle, and the second distance may be shorter than the first distance.
- the changing of the driving direction may include changing the driving direction at a point separated by a first distance from the first type of obstacle, driving in a zigzag pattern, and a second distance from the second type of obstacle
- the method may further include rotating the second type of obstacle by changing the driving direction at a point that is spaced apart.
- the driving method according to the present disclosure may further include driving along the first type of obstacle when driving for the cleaning area is completed.
- the driving method includes the steps of identifying the size of the second type of obstacle, and if the size of the second type of obstacle is less than a threshold size, after rotating the second type of obstacle, the previous driving direction and The method may further include driving in the same direction and, if the size of the second type of obstacle is greater than or equal to a threshold size, rotating the second type of obstacle and then driving in a zigzag pattern.
- the step of identifying the size of the second type of obstacle identifies the size of the second type of obstacle based on the information obtained through the sensor while rotating the second type of obstacle once, In the step of traveling in the same direction, if the size of the second type of obstacle is less than the critical size, after additionally rotating the second type of obstacle by half a turn, driving in the same direction as the previous driving direction, and driving in the zigzag pattern If the size of the second type of obstacle is equal to or greater than the threshold size, the second type of obstacle may be driven in the zigzag pattern on one side area based on the second type of obstacle.
- the driving method according to the present disclosure includes the steps of returning to the original position after moving backward by a certain distance when moving by a threshold distance while rotating the second type of obstacle once, and moving again from the returned position may include more.
- the map is divided into a plurality of areas, the plurality of areas include first and second areas connected through a passage, and in the driving method according to the present disclosure, when the cleaning area is the first area, the traveling in the first area based on a first dividing line set in the passage, and when the cleaning area is the second area, traveling in the second area based on a second dividing line set in the passage Furthermore, the first dividing line and the second dividing line may be set at different positions within the passage.
- cleaning speed and cleaning performance may be improved in that the robot cleaner performs cleaning using different driving methods depending on the type of obstacle.
- FIG. 1A and 1B are views for explaining a robot cleaner according to an embodiment of the present disclosure
- FIG. 2 is a block diagram for explaining the configuration of a robot cleaner according to an embodiment of the present disclosure
- FIG. 3 is a view for explaining a driving method of a robot cleaner using a zigzag pattern according to an embodiment of the present disclosure
- 4 and 5 are diagrams for explaining a method for a robot cleaner to identify a type of an obstacle according to an embodiment of the present disclosure
- FIG. 6 and 7 are views for explaining a driving method of a robot cleaner according to the type of obstacle according to an embodiment of the present disclosure
- FIG. 8 is a view for explaining a method for a robot cleaner to identify the size of an obstacle according to an embodiment of the present disclosure
- 9A, 9B, 10A, 10B, and 11 are views for explaining a driving method of a robot cleaner according to the type of obstacle according to an embodiment of the present disclosure
- FIG. 12 is a view for explaining an example of a driving method of a robot cleaner according to an embodiment of the present disclosure
- FIGS. 13A and 13B are views for explaining an example of a driving method of a robot cleaner according to an embodiment of the present disclosure
- 14 to 16B are views for explaining a reverse operation of the robot cleaner according to an embodiment of the present disclosure.
- 17 is a view for explaining a method of a robot cleaner traveling in an area based on a dividing line according to an embodiment of the present disclosure
- 18 and 19 are diagrams for explaining a method of inputting a user command to a robot cleaner according to an embodiment of the present disclosure
- FIG. 20 is a block diagram illustrating a detailed configuration of a robot cleaner according to an embodiment of the present disclosure.
- 21 is a flowchart illustrating a driving method of a robot cleaner according to an embodiment of the present disclosure.
- expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
- expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
- “A or B,” “at least one of A and B,” or “at least one of A or B” means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
- a component eg, a first component
- another component eg, a second component
- the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
- a component eg, a first component
- another component eg, a second component
- the expression “a device configured to” may mean that the device is “capable of” with other devices or parts.
- a processor configured (or configured to perform) A, B, and C refers to a dedicated processor (eg, an embedded processor) for performing the corresponding operations, or by executing one or more software programs stored in a memory device.
- a generic-purpose processor eg, a CPU or an application processor
- a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software.
- a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
- FIG. 1A and 1B are diagrams for explaining a robot cleaner according to an embodiment of the present disclosure.
- the robot cleaner 100 may travel in a space in which the robot cleaner 100 is located. That is, the robot cleaner 100 may perform a cleaning operation while moving the space in which the robot cleaner 100 is located.
- the space may include various indoor spaces in which the robot cleaner 100 can travel, such as a house, an office, a hotel, a factory, a shop, and the like.
- the cleaning operation may mean that the robot cleaner 100 sucks foreign substances such as dirt and dust present on the floor surface.
- the robot cleaner 100 may include a cleaning device (ie, a cleaning tool) for sucking in foreign substances.
- the cleaning device is rotatably installed and may include a brush for collecting foreign substances, and may generate a suction force through a motor or the like to suck the foreign substances from the floor.
- the suctioned foreign substances may be accommodated in a dust bin provided in the robot cleaner 100 .
- FIG. 2 is a block diagram illustrating a configuration of a robot cleaner according to an embodiment of the present disclosure.
- the robot cleaner 100 may include a driving unit 110 , a sensor 120 , a memory 130 , and a processor 140 .
- the driving unit 110 is configured to move the robot cleaner 100 .
- the driving unit 110 may include wheels installed on the left and right sides of the main body of the robot cleaner 100 , respectively, and a motor for driving the wheels. Accordingly, the driving unit 110 may perform various driving operations such as movement, stopping, speed control, direction change, and angular velocity change of the robot cleaner 100 .
- the sensor 120 may acquire various information related to the robot cleaner 100 and the robot cleaner 100 .
- the senor 120 may include a light detection and ranging (LiDAR) sensor (or a laser distance sensor (LDS)).
- LiDAR light detection and ranging
- LDS laser distance sensor
- the lidar sensor 121 rotates 360 degrees between the heights H1 and H2 and irradiates a laser to detect the distance between the robot cleaner 100 and the surrounding object.
- the lidar sensor can rotate 360 degrees and irradiate a laser.
- the lidar sensor detects a distance to the object based on the time the laser is received, or measures the amount of phase change of the received laser to measure the object distance can be detected.
- the senor 120 may include a gyro sensor.
- the gyro sensor may detect the angular velocity of the robot cleaner 100 .
- the senor 120 may include an encoder.
- the encoder may detect the number of rotations of the wheels respectively installed on the left and right sides of the main body of the robot cleaner 100 .
- the memory 130 may store at least one instruction for driving the robot cleaner 100 and at least one software program.
- the memory 130 may include a semiconductor memory such as a flash memory.
- the term memory 130 refers to the memory 130 , a ROM (not shown) in the processor 140 , a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, For example, it may be used in the meaning of including a micro SD card, a memory stick).
- the processor 140 controls the overall operation of the robot cleaner 100 .
- the processor 140 is connected to the configuration of the electronic device 100 including the driving unit 110, the sensor 120, and the memory 130, and by executing at least one instruction stored in the memory 130, It is possible to control the overall operation of the robot cleaner 100 .
- the processor 140 may be implemented as one processor 140 as well as a plurality of processors 140 .
- the term processor 140 may be used to include a central processing unit (CPU).
- the processor 140 may generate a map for a space in which the robot cleaner 100 is located. In addition, the processor 140 may store the generated map in the memory 130 .
- the processor 140 may generate a map corresponding to the space in which the robot cleaner 100 is located by using a simultaneous localization and mapping (SLAM) algorithm.
- SLAM simultaneous localization and mapping
- the processor 140 may set a position (eg, coordinates) at which the robot cleaner 100 starts traveling and a rotation angle of the robot cleaner 100 as a reference position and a reference rotation angle, respectively, to generate a map. there is. Then, the processor 140 calculates the distance between the robot cleaner 100 and the surrounding object, the rotation angle and the movement distance of the robot cleaner 100 obtained while the robot cleaner 100 is driving, of the SLAM algorithm to generate a map. As an input, a position (eg, coordinates) and a rotation angle (eg, a rotation angle reflecting the position of the robot cleaner 100) of the robot cleaner 100 may be acquired through the SLAM algorithm. In this case, the processor 140 may acquire the distance between the robot cleaner 100 and the surrounding object through the lidar sensor.
- a position eg, coordinates
- a rotation angle eg, a rotation angle reflecting the position of the robot cleaner 100
- the processor 140 calculates the rotation angle of the robot cleaner 100 based on the angular velocity of the robot cleaner 100 obtained through the gyro sensor, and based on the number of rotations of the wheels obtained through the encoder, the robot cleaner ( 100) can be calculated.
- the processor 140 performs the steps obtained from the reference position based on the distance between the robot cleaner 100 and the surrounding object obtained through the lidar sensor while the robot cleaner 100 moves from the reference position to the acquired position.
- the location eg, coordinates
- the location may be identified.
- the processor 140 may generate a map corresponding to the space in which the robot cleaner 100 is located by repeatedly performing the above-described process while the robot cleaner 100 moves through the space.
- the present invention is not limited thereto, and the processor 140 may generate a map using various well-known methods.
- the processor 140 may divide the map into a plurality of regions. For example, the processor 140 may generate a voronoi graph for the map, and divide the map into a plurality of regions using the voronoi graph.
- the Voronoi graph is one of methods for decomposing and displaying a given metric space. Specifically, each line of the Voronoi graph represents the boundary of these sets when the distance to a specific object is not greater than the distance to another object in the metric space in which the objects are arranged. is the line That is, the Voronoi graph can be said to be a line connecting the midpoints at the same distance for two objects in a given metric space.
- the processor 140 generates a normal for the Voronoi graph generated based on the map, and divides the map into a plurality of regions in consideration of the area of the closed space and the length of the normal divided in the map based on the normal line.
- the processor 140 identifies the closed space as one region, and the identified region It is possible to identify a gate connecting the area and other areas.
- the present invention is not limited thereto, and the processor 140 may divide the map into a plurality of regions using various well-known methods.
- the processor 140 may control the driving unit 110 to drive the cleaning area included in the map based on the information obtained through the sensor 120 .
- the cleaning area may be each of a plurality of areas in which the map is divided. That is, the robot cleaner 100 can perform cleaning for each area. Specifically, the robot cleaner 100 performs cleaning while moving one area, and when the cleaning of the corresponding area is completed, the robot cleaner 100 moves to another area. Thus, cleaning can be performed on other areas.
- the processor 140 receives the distance between the robot cleaner 100 and the surrounding object, the rotation angle and the movement distance of the robot cleaner 100 as inputs of the SLAM algorithm, and the robot cleaner 100 on the map through the SLAM algorithm.
- the position and rotation angle of can be obtained.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 travels in the cleaning area of the map based on the obtained position and rotation angle of the robot cleaner 100 .
- the processor 140 surrounds the robot cleaner 100 obstacles can be detected.
- the processor 140 may control the driving unit 110 to drive the robot cleaner 100 in a zigzag pattern in the cleaning area.
- the robot cleaner 100 may move straight in the first direction.
- the robot cleaner 100 changes the driving direction to go straight in the second direction along a path that is separated from the path passed by the robot cleaner 100 by a predetermined distance 31 . can do.
- the second direction may be opposite to the first direction.
- the interval 31 between the paths may be referred to as a cleaning line interval.
- the robot cleaner 100 may travel in the cleaning area by repeating the driving of the zigzag pattern.
- the processor 140 may identify the type of obstacle located in the cleaning area while the robot cleaner 100 travels in the cleaning area, and control the running of the robot cleaner 100 based on the type of the obstacle.
- the processor 140 may control the driving unit 110 to change the traveling direction of the robot cleaner 100 at different separation distances for different types of obstacles.
- the different types of obstacles may include a first type of obstacle and a second type of obstacle.
- the first type of obstacle is a wall
- the second type of obstacle is an obstacle other than a wall, for example, home appliances such as a television, a refrigerator, an air conditioner, a fan, a computer, an air purifier, and a bed, a sofa, a chair, It may include furniture such as a dining table, desk, table, flowerpot, and the like.
- the second type of obstacle may include various types of objects located in the space in which the robot cleaner 100 is located except for the wall.
- the processor 140 may identify the type of obstacle based on the map.
- the processor 140 identifies the obstacle as the first type of obstacle, and When the detected obstacle is an obstacle of a threshold size or less on the map, the corresponding obstacle may be identified as the second type of obstacle.
- the processor 140 identifies a wall and an obstacle other than the wall as obstacles of different types (ie, the first and second types), based on the position of the robot cleaner 100 on the map, the robot
- the first and second types of obstacles may be identified by identifying whether the size (eg, width) of the obstacle detected in the vicinity of the cleaner 100 is greater than a preset width or less than or equal to a preset width.
- the preset width may be a general size of an obstacle according to a type on the map, a position of the robot cleaner 100, a distance between the robot cleaner 100 and an obstacle, a size of an obstacle on the map, a value preset at the time of manufacture, or a user It may be determined based on at least one of the values set (or changed) by .
- the processor 140 may identify the type of obstacle by using an image obtained by the processor 140 through a camera.
- the processor 140 may recognize an object in an image acquired through a camera, and identify whether an obstacle existing around the robot cleaner 100 is a wall or an obstacle other than the wall.
- the processor 140 may identify the type of obstacle based on information obtained through the lidar sensor.
- the processor 140 may calculate a difference between a plurality of distances sensed by the lidar sensor based on lasers irradiated at different angles.
- the processor 140 may identify distances in which the calculated difference among the plurality of distances is within a threshold range and consecutive to each other.
- that the distances are continuous means that the lidar sensor sequentially rotates by a certain angle and irradiates a laser to detect a distance to the object, at this time, the distances detected based on the sequentially irradiated laser are calculated as continuous distances from each other. can be said to be
- the processor 140 may identify the type of obstacle by comparing the laser irradiation angle range corresponding to the identified distances with the critical angle range. Specifically, the processor 140 may identify the obstacle as the first type of obstacle when the irradiation angle range of the laser is greater than the critical angle range, and remove the obstacle when the irradiation angle range of the laser is less than or equal to the critical angle range Two types of obstacles can be identified. That is, the processor 140 may determine the type of obstacle by comparing the laser irradiation angle range with a preset angle range.
- the critical angle is the general size of the obstacle according to the type on the map, the position of the robot cleaner 100, the distance between the robot cleaner 100 and the obstacle, the size of the obstacle on the map, a preset value at the time of manufacture, and by the user. It may be determined based on at least one of the set (or changed) values.
- the lidar sensor irradiates a laser at different angles and senses a plurality of distances 41 to 49 based on the laser reflected from the obstacle 410 .
- the plurality of distances 41 to 49 may be consecutive distances to each other.
- the processor 140 selects the angle range 420 in which the laser is irradiated by the lidar sensor to detect the plurality of distances 41 to 49 . Identify and compare the angular range 420 to a threshold angular range. In this case, when the angular range 420 is greater than the threshold angular range, the processor 140 may identify the obstacle 410 as the first type of obstacle.
- the lidar sensor irradiates a laser at different angles and senses a plurality of distances 51 to 59 based on the laser reflected from the obstacles 510 and 520 . .
- the processor 140 may identify a plurality of distances 53 to 57 in which a difference is within a predetermined threshold range among the plurality of distances 51 to 59 and consecutive to each other.
- the processor 140 may identify an angle range 530 in which the laser is irradiated by the lidar sensor to detect the plurality of distances 53 to 57 , and compare the angle range 530 with a critical angle range. In this case, when the angle range 530 is less than or equal to the threshold angle range, the processor 140 may identify the obstacle 510 as the second type of obstacle.
- the processor 140 determines the type of obstacle through the above-described method. can be identified, and comparing the angular range where the laser is irradiated by the lidar sensor with the critical angular range has the same meaning as comparing the width of the object based on the detection result of the lidar sensor with a preset length (ie, width) can have
- the processor 140 may identify the type of obstacle.
- the present invention is not limited thereto, and the processor 140 may identify the type of obstacle using various methods.
- the processor 140 controls the driving unit 110 to change the driving direction at a point that the robot cleaner 100 is separated from the first type of obstacle by a first distance.
- the processor 140 changes the traveling direction of the robot cleaner 100 at a point separated by a first distance from the first type of obstacle, and controls the driving unit 110 so that the robot cleaner 100 travels in a zigzag pattern. can do.
- the first distance may be preset at the time of manufacture, or may be set or changed by a user.
- the processor 140 sets the robot cleaner at a point separated by a first distance from the obstacle.
- the driving unit 110 is controlled to change the driving direction of 100 to the left or right, and then, the robot cleaner 100 travels in the second direction along a path separated by a predetermined distance from the path traveled in the first direction.
- the driving unit 110 may be controlled.
- the second direction may be opposite to the first direction.
- the processor 140 may control the driving unit 110 to rotate the robot cleaner 100 in the right direction at a point that is separated from the obstacle 610 by d 1 . There is (2 in FIG. 6).
- the processor 140 may control the driving unit 110 to move the robot cleaner 100 straight in a direction opposite to the previous driving direction along a path separated by a predetermined distance from the path traveled by the robot cleaner 100 (FIG. 3 of 6).
- the processor 140 controls the driving unit 110 to change the driving direction at a point that the robot cleaner 100 is separated from the second type of obstacle by a second distance.
- the processor 140 changes the driving direction of the robot cleaner 100 at a point separated by a second distance from the second type of obstacle, and the driving unit 110 so that the robot cleaner 100 rotates the second type of obstacle.
- the second distance may be preset at the time of manufacture, or may be set or changed by a user.
- the processor 140 sets the robot cleaner at a point separated by a second distance from the obstacle.
- the driving unit 110 may be controlled to change the driving direction of 100 to the left or right, and then, the driving unit 110 may be controlled so that the robot cleaner 100 rotates the obstacle.
- the processor 140 determines that when the robot cleaner 100 rotates the obstacle, based on the distance to the obstacle obtained through the lidar sensor, the distance to the obstacle is within a threshold distance.
- the driving unit 110 may be controlled to rotate the obstacle.
- the threshold distance may be equal to or smaller than the second distance.
- the threshold distance may be preset at the time of manufacture, or may be set or changed by a user.
- the processor 140 may control the driving unit 110 to rotate the robot cleaner 100 in the right direction at a point that is separated from the obstacle 710 by d 2 . Yes (2 in FIG. 7).
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 710 ( 3 in FIG. 7 ).
- the second distance may be shorter than the first distance. Accordingly, the robot cleaner 100 may perform cleaning while driving in closer contact with the second type of obstacle than the first type of obstacle.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the second type of obstacle once.
- the processor 140 may identify the size of the second type of obstacle. Specifically, the processor 140 may identify the size of the second type of obstacle based on information obtained through the sensor 120 while the robot cleaner 100 rotates the second type of obstacle once.
- the size of the obstacle may be the width of the obstacle.
- the width of the obstacle may be the width of the obstacle in a direction perpendicular to the moving direction of the robot cleaner 100 with respect to the obstacle.
- the processor 140 sets the position and rotation angle of the robot cleaner 100 on the map obtained using the SLAM algorithm to the initial position and the initial rotation, respectively. angle can be set. Then, the processor 140 obtains the position and rotation angle of the robot cleaner 100 on the map using the SLAM algorithm while the robot cleaner 100 rotates the second type of obstacle, and the obtained robot cleaner 100 ) by comparing the position and rotation angle with the initial position and initial rotation angle, it is possible to identify whether the robot cleaner 100 rotates the second type of obstacle once.
- the processor 140 determines that the robot cleaner 100 is the second type of Obstacles can be identified as one revolution.
- the processor 140 may identify the size of the obstacle based on the position of the robot cleaner 100 obtained using the SLAM algorithm while the robot cleaner 100 rotates the second type of obstacle once. .
- the processor 140 is configured to allow the robot cleaner 100 to rotate the second type of obstacle among the coordinate values of the robot cleaner 100 obtained while the robot cleaner 100 rotates the second type of obstacle once.
- coordinate values having a maximum distance may be identified, and a distance between the identified coordinate values may be identified as the width of the obstacle.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 810 once (2 in FIG. 8 ). ,3,4,5). Then, the processor 140 identifies the coordinate values of the robot cleaner 100 while the robot cleaner 100 rotates the obstacle 810 once, and among the identified coordinate values, the robot cleaner 100 moves the obstacle 810 ), coordinate values (x 1 ,y 1 ) and (x 2 ,y 2 ) having a maximum distance between each other in the direction 820 perpendicular to the driving direction may be identified. Then, the processor 140 may identify the distance w between the coordinate values (x 1 ,y 1 ) and (x 2 ,y 2 ) as the width of the obstacle.
- the processor 140 may identify the size of the second type of obstacle.
- the processor 140 may compare the size of the second type of obstacle with a threshold size.
- the threshold size may be determined based on the cleaning line spacing.
- the threshold size may be determined to be greater than or equal to a value obtained by doubling the cleaning line spacing.
- the present invention is not limited thereto, and the threshold size may be preset to various values.
- the processor 140 operates the driving unit 110 to travel in the same direction as the previous driving direction after the robot cleaner 100 rotates the second type of obstacle. can be controlled Specifically, if the size of the second type of obstacle is less than the threshold size, the processor 140 is configured to rotate the second type of obstacle by half a turn and then drive the robot cleaner 100 in the same direction as the previous driving direction ( 110) can be controlled.
- the processor 140 rotates the obstacle by one turn and the robot cleaner 100 rotates the obstacle by half an additional turn, and the robot cleaner 100 rotates the second type of obstacle.
- the driving unit 110 may be controlled to travel along a path extended from the path traveled before rotating the obstacle.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 910 once (2 in FIG. 9A , 3, 4, 5).
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 910 another half turn. There is (6, 7 in FIG. 9B). Then, the processor 140 determines that the robot cleaner 100 moves the obstacle ( ) along the path ( 8 in FIG. 9B ) extended from the path (1 in FIG. 9B ) on which the robot cleaner 100 travels before rotating the obstacle 910 .
- the driving unit 110 may be controlled to travel in the same direction as the direction in which the vehicle was driven before the rotation 910 .
- the processor 140 may control the driving unit 110 to drive the robot cleaner 100 in a zigzag pattern after rotating the second type of obstacle. Specifically, if the size of the second type of obstacle is greater than or equal to the threshold size, the processor 140 controls the driving unit 110 to drive the robot cleaner 100 in a zigzag pattern on one side area based on the second type of obstacle. can do.
- the processor 140 determines a path separated by a certain distance from the path traveled by the robot cleaner 100 after rotating the obstacle once before rotating the second type of obstacle. It is possible to control the driving unit 110 to drive along. In this case, the processor 140 may control the driving unit 110 to travel in a direction opposite to the direction in which the robot cleaner 100 travels before rotating the second type of obstacle. That is, the processor 140 may control the driving unit 110 so that the robot cleaner 100 travels in a zigzag pattern. In this case, the processor 140 may control the driving unit 110 so that the robot cleaner 100 travels in a region in which the robot cleaner 100 is located based on the second type of obstacle while repeating a zigzag pattern.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 1010 once (2 in FIG. 10A , 3, 4, 5).
- the processor 140 repeats the zigzag pattern in the left area of the obstacle 1010 where the robot cleaner 100 is located. (110) can be controlled (6, 7 in FIG. 10B).
- the robot cleaner 100 moves straight toward the upper end of the second type of obstacle. That is, in the present disclosure, the threshold size is greater than twice the cleaning line spacing or equal to twice the cleaning line spacing. Therefore, when the robot cleaner 100 travels in a zigzag pattern and goes straight toward the second type of obstacle having a threshold size or larger, the robot cleaner 100 may travel toward the upper part or the lower part of the second type of obstacle. .
- the processor 140 may control the driving unit 110 to drive the robot cleaner 100 along the first type of obstacle when driving in the cleaning area is completed.
- the completion of driving in the cleaning area may mean that the robot cleaner 100 moves in the cleaning area and completes cleaning.
- the processor 140 determines the position and rotation angle of the robot cleaner 100 on a map obtained using the SLAM algorithm. , it is possible to control the driving unit 110 to move the robot cleaner 100 to a position close to the first type of obstacle included in the cleaning area based on the distance to the surrounding object obtained through the lidar sensor. In addition, the processor 140 determines that the robot cleaner 100 detects the first type of obstacle within a threshold distance of the first type of obstacle based on the distance to the first type of obstacle obtained through the lidar sensor. It is possible to control the driving unit 110 to drive along.
- the threshold distance may be equal to or smaller than the second distance.
- the threshold distance may be preset at the time of manufacture, or may be set or changed by a user.
- the processor 140 drives the robot cleaner 100 along a path separated by d 3 from the first type of obstacle 1110 so that the driving unit 110 is driven. ) can be controlled (1 in FIG. 10).
- the robot cleaner 100 when a first type of obstacle is detected while the robot cleaner 100 moves in a cleaning area using a zigzag pattern and performs cleaning, at a point separated from the first type of obstacle by a first distance
- the robot cleaner 100 By changing the driving direction of the robot cleaner 100, it is possible to perform cleaning while driving in a zigzag pattern. That is, in the case of the first type of obstacle, the robot cleaner 100 does not adhere to the obstacle and changes the driving direction at a certain distance from the obstacle to avoid the first type of obstacle.
- the robot cleaner 100 when the robot cleaner 100 detects a second type of obstacle while cleaning the cleaning area using a zigzag pattern, the robot cleaner 100 is separated from the second type of obstacle by a second distance.
- cleaning can be performed by rotating the obstacle once while in close contact with the obstacle.
- the robot cleaner 100 may perform cleaning while maintaining the previous travel path by rotating the obstacle by half a turn or by driving one side area of the obstacle in a zigzag pattern. That is, in the case of the second type of obstacle, the robot cleaner 100 runs over the obstacle in close contact with the obstacle and then maintains the previous driving route or travels in a zigzag pattern to avoid the second type of obstacle.
- the robot cleaner 100 comes in close contact with the first type of obstacle and runs along the first type of obstacle to clean it. can be performed.
- the cleaning performance of the floor surface under the wall may be improved.
- the processor 140 identifies an obstacle based on information obtained through the lidar sensor.
- the lidar sensor is a 2D lidar sensor
- the lidar sensor detects an object on a two-dimensional plane at a location installed in the robot cleaner 100, so it does not detect a small obstacle around the robot cleaner 100. it may not be possible
- the senor 120 may further include at least one of a 3D sensor and a camera.
- the 3D sensor is a sensor capable of detecting a surrounding environment using a stereo camera composed of a plurality of cameras, and may detect a distance between the robot cleaner 100 and a surrounding object.
- the camera may photograph the periphery of the electronic device 100 to obtain at least one image of the periphery of the electronic device 100 .
- the processor 140 may recognize an object from an image acquired through the camera, and may acquire information about the type, size, etc. of an object existing around the robot cleaner 100 .
- the processor 140 may identify an obstacle by using at least one of a 3D sensor and a camera, and may control the driving unit 110 to drive while avoiding the identified obstacle.
- the processor 140 may use information about the distance between the robot cleaner 100 and the surrounding object obtained through the 3D sensor to identify the location of the obstacle when the map is generated.
- FIG. 12 is a view for explaining a driving method of a robot cleaner according to an embodiment of the present disclosure.
- the numbers described in FIG. 12 indicate the order in which the robot cleaner 100 travels in the first area 1210 and the second area 1220 .
- the robot cleaner 100 may travel in the first area 1210 using a zigzag pattern. Specifically, as shown in (1) ⁇ (2), the robot cleaner 100 may perform cleaning while moving a partial area of the first area 1210 using a zigzag pattern. Then, the robot cleaner 100 moves to the position 3 to clean the remaining area of the first area 1210 and moves the remaining area of the first area 1210 using a zigzag pattern to perform cleaning. can do.
- the robot cleaner 100 may change the driving direction at a point separated by a first distance from the first type of obstacle 1230 while driving in the first area 1210 using the zigzag pattern.
- the robot cleaner 100 moves to (4) to move along the first type of obstacle 1230 of the first area 1210. there is. Then, the robot cleaner 100 moves from the position (4) to the position (5) along the first type of obstacle 1230, and can perform cleaning while moving in proximity to the first type of obstacle (1230). .
- the robot cleaner 100 may move to the second area 1220 .
- the robot cleaner 100 may travel in the second area 1220 using a zigzag pattern. Specifically, as shown in (6) ⁇ (7), the robot cleaner 100 may perform cleaning while moving a partial area of the second area 1220 using a zigzag pattern. Then, the robot cleaner 100 moves to (8) to travel in another area of the second area 1220, and moves using a zigzag pattern as shown in (8) ⁇ (9) ⁇ (10). cleaning can be performed.
- the robot cleaner 100 performs an avoidance operation on the obstacle 1240, and as shown in (11)->(12), the obstacle ( 1140) by moving in a straight line, cleaning can be performed, and cleaning can be performed while moving again using a zigzag pattern.
- the robot cleaner 100 performs an avoidance operation on the obstacle 1250 as shown in (13), so that one area of the obstacle 1250 is identified. can be moved using a zigzag pattern to perform cleaning. Then, as shown in (14), the robot cleaner 100 may perform cleaning while moving the area opposite to the obstacle 1250 using a zigzag pattern.
- the robot cleaner 100 moves to (15) in order to travel in another area of the second area 1220, and moves using a zigzag pattern as shown in (15) ⁇ (16) to perform cleaning.
- the robot cleaner 100 performs an avoidance operation for each of the second type of obstacles 1260 , 1270 , and 1280 having a threshold size or more, and moves the opposite side of the obstacle 1280 in a straight line as shown in (17). and cleaning can be performed while moving again using a zigzag pattern.
- the robot cleaner 100 may run while avoiding the obstacle 1290 .
- the robot cleaner 100 moves along the first type of obstacle 1230 of the second area 1220, as shown in (18). Cleaning can be performed while moving near the type 1 obstacle 1230 and moving along the obstacle 1230 of the first type in proximity to the first type of obstacle 1230 as shown in (18) ⁇ (19). there is.
- the robot cleaner 100 when the size of the second type of obstacle is less than the critical size, it has been described that the robot cleaner 100 additionally rotates the obstacle by half a turn.
- the distance at which the robot cleaner 100 additionally rotates the obstacle is not limited to this example, and the path traveled by the robot cleaner 100 before rotating the obstacle after the robot cleaner 100 additionally rotates the obstacle It may be decided to maintain That is, when the robot cleaner 100 additionally rotates the obstacle and then travels on the opposite side of the obstacle, the processor 140 determines that the path traveling on the opposite side of the obstacle is the path the robot cleaner 100 travels before rotating the obstacle. In order to become an extended path, the robot cleaner 100 may control the driving unit 110 to additionally rotate the obstacle.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 1310 more than half a turn.
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 rotates the obstacle 1310 less than half a turn.
- the processor 140 drives the driving unit 110 so that the robot cleaner 100 rotates the obstacle 1310 additionally so that the robot cleaner 100 rotating the obstacle 1310 can travel while maintaining the previous travel path. ) can be controlled.
- the robot cleaner 100 rotates the obstacle by half an additional turn, and travels on the opposite side of the obstacle along the path extended from the previous driving path.
- the processor 140 is not the path extended from the previous driving path, the robot cleaner 100, the opposite side of the obstacle in the same direction as the previous driving direction from the position in which the obstacle is rotated half a turn
- the driving unit 110 may be controlled to drive.
- the uncleaned area may mean an area that is not cleaned by the cleaning device of the robot cleaner.
- the cleaning device 1411 when the cleaning device 1411 is positioned in front of the robot cleaner 1410 and the robot cleaner 1410 rotates the circular obstacle 1420, the cleaning device does not reach and cleaning is performed. An uncleaned area 1430 that is not cleaned may occur.
- the area to be cleaned by the cleaning device 1412 when the robot cleaner 1410 having the cleaning device 1412 positioned at the center rotates the circular obstacle 1420 , the area to be cleaned by the cleaning device 1412 , that is, the cleaning device
- the bottom surface through which 1412 passes may be represented as the area 1440 (ie, an area indicated by a dotted line).
- the robot cleaner 1410 in which the cleaning device 1411 is located in the front part rotates the circular obstacle 1420
- the area to be cleaned by the cleaning device 1411 that is, the floor through which the cleaning device 1411 passes.
- the plane may be represented as the region 1450 (ie, the region indicated by the solid line).
- the cleaning device when the cleaning device is located in the central part rather than the front part of the robot cleaner, the cleaning device is relatively closer to the rotation axis of the wheels of the robot cleaner, and accordingly, when the robot cleaner rotates the obstacle, the cleaning device is relatively This makes it closer to the obstacle. Accordingly, when the cleaning device is located at the front portion of the robot cleaner, an uncleaned area in which cleaning is not performed by the cleaning device is generated, compared to the case where the cleaning device is located at the center portion. For example, in FIG. 14B , an uncleaned area 1460 may be generated.
- FIGS. 14A and 14B a case in which the cleaning device is positioned in front of the robot cleaner 1410 is illustrated, but even when the cleaning device is positioned in the rear of the robot cleaner 1410, an uncleaned area may occur.
- the robot cleaner 100 performs a reverse operation when rotating with respect to the obstacle.
- the processor 140 moves the robot cleaner 100 backward by a certain distance and then returns it to its original position and returns the robot to its original position.
- the driving unit 110 may be controlled to move the cleaner 100 from the returned position.
- the movement of the robot cleaner 100 by a threshold distance may mean that the robot cleaner 100 rotates by a certain angle when the robot cleaner 100 rotates a circular obstacle.
- the angle at which the robot cleaner 100 rotates the obstacle may be preset at the time of manufacture, or may be set or changed by the user.
- the processor 140 may control the robot cleaner 100 to perform cleaning while rotating the second type of obstacle once.
- the processor 140 acquires the position and rotation angle of the robot cleaner 100 using SLAM while the robot cleaner 100 rotates the obstacle, and based on the obtained rotation angle, the robot cleaner 100 moves If it is identified as being rotated by a predetermined angle, the rotation operation may be stopped, and the driving unit 110 may be controlled to move the robot cleaner 100 backward by a predetermined distance.
- the distance at which the robot cleaner 100 moves backward may be determined based on at least one of the distance between the robot cleaner 100 and the obstacle, the size of the obstacle, a preset value at the time of manufacture, or a value set (or changed) by the user. there is.
- the processor 140 controls the driving unit 110 to move to the position where the robot cleaner 100 started moving backwards based on the obtained position of the robot cleaner 100 and the distance to the obstacle obtained through the lidar sensor. can do. Subsequently, the processor 140 may control the driving unit 110 to rotate the obstacle again from the position where the robot cleaner 100 started moving backward. In this case, the processor 140 may repeatedly perform this operation whenever the robot cleaner 100 rotates the obstacle by a predetermined distance.
- the robot cleaner 100 rotates the obstacle 1510 .
- the processor 140 controls the driving unit 110 to stop the rotation operation (1 in FIG. 15 ), and the robot cleaner 100 rotates the obstacle 1510 by a certain distance.
- the driving unit 110 may be controlled to move back to the original position (2,3 in FIG. 15 ).
- the processor 140 may control the driving unit 110 so that the robot cleaner 100 returned to the original position rotates the obstacle 1510 again (4 in FIG. 15 ). Thereafter, the processor 140 stops the rotation operation when the robot cleaner 100 rotates the obstacle 1510 by a certain distance, and the robot cleaner 100 moves backward by a certain distance and then moves back to the original position. 110) can be controlled (5 in FIG. 15). As a result, the processor 140 repeatedly performs backward and original position return operations whenever the robot cleaner 100 rotates the obstacle 1510 by a certain distance, while the robot cleaner 100 rotates the obstacle 1510 . You can control the cleaning to be performed while you do it.
- the robot cleaner 100 rotates with respect to the obstacle and performs a reverse operation, the uncleaned area may be reduced.
- the radius of the circular obstacle is less than or equal to the radius of the robot cleaner 100 .
- the size of (1630) is can be expressed as
- r 1 is the radius of the obstacle 1620
- r 2 is the radius of the outer circle of the uncleaned area 1630 .
- the robot cleaner 100 rotates the obstacle 1620, for example, by 90 degrees.
- the four regions 1641 , 1642 , 1643 , and 1644 may be cleaned.
- the size of the uncleaned area 1650 is can be expressed as
- the radius of the circular obstacle is greater than the radius of the robot cleaner 100 .
- the size of can be expressed as Here, r 1 is the radius of the obstacle 1660 , and r 2 is the radius of the outer circle of the uncleaned area 1670 .
- n denotes the number of times the robot cleaner 100 moves backward when rotating the obstacle, for example, in the above example, the robot cleaner 100 moves backward whenever the obstacle 1620 rotates by 90 degrees. In terms of performing an operation, n may be 4.
- the optimal number of times n o to perform the backward motion according to the size of the obstacle is In this case, the angle ⁇ o at which the robot cleaner 100 rotates the obstacle for the backward operation is same as
- the robot cleaner 100 performs backward motions 4 times while rotating the obstacle.
- the present invention is not limited thereto, and the robot cleaner 100 may perform at least two backward motions while rotating the obstacle.
- the robot cleaner 100 may perform a reverse operation when rotating obstacles having various shapes, such as a square, as well as a circular obstacle.
- the robot cleaner 100 may travel for each area.
- the processor 140 sets a dividing line in the passage of the region in order to drive the robot cleaner 100 for each region, and the driving unit 110 so that the robot cleaner 100 drives the region defined based on the dividing line. ) can be controlled.
- the dividing line may be set at different positions of the passage according to the area in which the robot cleaner 100 is located.
- the plurality of regions of the map include a first region and a second region, and that the first and second regions adjacent to each other are connected through a passage.
- the processor 140 controls the driving unit 110 so that the robot cleaner 100 drives the first area based on the first dividing line set in the passage, and the cleaning area is In the case of the second area, the driving unit 110 may be controlled so that the robot cleaner 100 travels in the second area based on the second dividing line set in the passage.
- the first dividing line and the second dividing line may be set at different positions in the passage.
- first region 1710 and the second region 1720 are connected through a passage 1730 .
- the processor 140 may identify the location of the robot cleaner 100 on the map by using the SLAM algorithm.
- the processor 140 performs the second area 1720 rather than the first area 1710 .
- the robot cleaner 100 may be controlled to perform cleaning while moving the first area 1710 defined based on the dividing line 1740 .
- the processor 140 when the robot cleaner 100 is located in the second area 1720 , the processor 140 performs the first area 1710 rather than the second area 1720 in the passage 1730 . ) may be set at a position adjacent to the dividing line 1750 , and the robot cleaner 100 may be controlled to perform cleaning while moving the second area 1720 defined based on the dividing line 1750 .
- a dividing line for dividing a region is set according to the position of the robot cleaner 100 , it is possible to prevent an uncleaned region from being generated in the passage.
- the processor 140 generates a map for a space in which the robot cleaner 100 is located and divides the map into a plurality of areas.
- the present invention is not limited thereto, and the processor 140 may classify regions in the map while generating the map. That is, the processor 140 may identify the region through the above-described method even when a part of the map is generated instead of when the entire map is generated. And, when the area is identified in this way, the processor 140 may control the robot cleaner 100 to clean the area.
- the robot cleaner 100 performs cleaning for each area.
- the present invention is not limited thereto, and the robot cleaner 100 may perform cleaning while moving the entire map. That is, the cleaning area may be the entire map.
- the robot cleaner 100 when the robot cleaner 100 travels in the cleaning area, it performs an operation of rotating the second type of obstacle once and an operation of moving along the first type of obstacle, etc. in the cleaning area. cleaning can be performed. Also, when the robot cleaner 100 travels in a zigzag pattern, it may travel along paths separated by a predetermined interval (eg, 31 in FIG. 3 ).
- an operation performed by the robot cleaner 100 while traveling in a cleaning area and an interval during a zigzag pattern may be set according to a user command.
- the user command may be input to the electronic device 1900 connected to the robot cleaner 100 through the server 1800 as shown in FIG. 18 .
- the electronic device 1900 may be implemented as a smart phone, a tablet, a wearable device, or the like.
- the robot cleaner 100 may communicate with the server 1800 .
- the robot cleaner 100 may communicate with the server 1800 using Wi-Fi communication.
- the server 1800 may control and manage various devices (eg, home appliances and Internet of Things (IoT) devices) registered in the server 1800 .
- the server 1800 may register devices for each user account.
- the electronic device 1900 may download and install the application from a server (not shown) that provides the application.
- the user may execute an application in the electronic device 1900 and input a user account, log in to the server 1800 through the input user account, and register the robot cleaner 100 .
- the server 1800 transmits data related to the robot cleaner 100 to the electronic device 1900 that communicates with the server 1800 based on the registered user account.
- a control signal for controlling the robot cleaner 100 may be transmitted to the robot cleaner 100 .
- the user may execute an application installed in the electronic device 1900 and input a user command for controlling the robot cleaner 100 through the application.
- an application execution screen 1910 may be displayed on the electronic device 1900 .
- the electronic device 1900 has a user interface for controlling the robot cleaner 100 as shown in FIG. 19B . (1930) can be shown.
- the GUI 1940 for setting the mode of the robot cleaner 100 is selected in the user interface 1930, the electronic device 1900 selects the mode of the robot cleaner 100 as shown in FIG. 19(c).
- a user interface 1950 for setting may be displayed.
- the user may set whether the robot cleaner 100 will perform wall cleaning and obstacle cleaning, and set whether to operate the cleaning tool of the robot cleaner 100 through the user interface 1950 . Also, the user may set a cleaning line interval when driving in a zigzag pattern through the user interface 1950 .
- the electronic device 1900 transmits a user command input through the user interface 1950 to the server 1800, and the server 1800 receives a control signal for controlling the robot cleaner 100 according to the user command. It can be transmitted to the robot cleaner 100 .
- the processor 140 may control the operation of the robot cleaner 100 based on the control signal received from the server 1800 .
- the wall cleaning refers to performing cleaning while driving along the first type of obstacle after cleaning of the cleaning area is completed. Accordingly, when the robot cleaner 100 is set to perform wall cleaning, the processor 140 may control the robot cleaner 100 to perform cleaning while driving along the first type of obstacle. In addition, when it is set that the robot cleaner 100 does not perform wall cleaning, the processor 140 may control the robot cleaner 100 to perform cleaning only inside the cleaning area.
- the obstacle cleaning refers to performing cleaning while rotating the second type of obstacle once.
- the processor 140 may control the robot cleaner 100 to perform cleaning while rotating the second type of obstacle.
- the processor 140 performs an avoidance operation on the second type of obstacle without rotating the second type of obstacle once. can be controlled to perform.
- the processor 140 controls the robot cleaner 100 to run on the opposite side of the obstacle after rotating only half a turn without rotating the obstacle once, or the robot cleaner 100 without rotating the obstacle once. It is possible to control a region on one side of the obstacle to travel using a zigzag pattern.
- the processor 140 may adjust an interval between paths through which the robot cleaner 100 travels based on a cleaning line interval set based on a user command.
- the cleaning efficiency of the robot cleaner 100 can be further improved.
- the processor 140 may control the robot cleaner 100 to perform cleaning while moving the cleaning area.
- the processor 140 may control the robot cleaner 100 to move the cleaning area without driving the cleaning device.
- the user may set that the robot cleaner 100 does not drive the cleaning device when the robot cleaner 100 travels through the space to generate the map. Accordingly, the efficiency of the robot cleaner 100 in terms of power may be increased.
- FIG. 20 is a block diagram illustrating a detailed configuration of a robot cleaner according to an embodiment of the present disclosure.
- the robot cleaner 100 includes a driving unit 110 , a sensor 120 , a memory 130 and a processor 140 , as well as a cleaning device 150 , a communication unit 160 , and an input unit 170 . ) and the output unit 180 may be further included.
- a configuration is an example, and it goes without saying that a new configuration may be added or some configuration may be omitted in addition to such a configuration in carrying out the present disclosure. Meanwhile, in the description of FIG. 20 , descriptions overlapping those of FIGS. 1 to 19 will be omitted.
- the sensor 120 may include a lidar sensor 121 , a gyro sensor 122 , an encoder 123 , a 3D sensor 124 , and a camera 125 .
- the lidar sensor 121 rotates 360 degrees and irradiates a laser, detects a distance between the robot cleaner 100 and a surrounding object, and provides the sensed information to the processor 140 .
- the gyro sensor 122 may detect the angular velocity of the robot cleaner 100 and provide the sensed information to the processor 140 .
- the encoder 123 may detect the number of rotations of wheels installed on the left and right sides of the main body of the robot cleaner 100 , respectively, and provide the sensed information to the processor 140 .
- the 3D sensor 124 may detect a distance between the robot cleaner 100 and a surrounding object, and provide the sensed information to the processor 140 .
- the camera may photograph the periphery of the electronic device 100 , obtain at least one image of the periphery of the electronic device 100 , and provide the obtained image to the processor 140 .
- the cleaning device 150 may suck foreign substances.
- the cleaning device 150 may include a brush, a motor, and a dust container.
- the processor 140 rotates a brush for collecting foreign substances and generates a suction force through a motor or the like to suck the foreign substances from the floor surface on which the robot cleaner 100 travels.
- the processor 140 may control the cleaning apparatus 150 to perform a cleaning operation while the robot cleaner 100 moves in the cleaning area. At this time, the sucked foreign substances may be accommodated in the dust bin.
- the cleaning device 150 may further include a mop.
- the communication unit 160 includes a circuit and may communicate with an external device.
- the processor 140 may receive various data or information from an external device connected through the communication unit 160 , and may transmit various data or information to the external device.
- the processor 140 may transmit data related to the robot cleaner 100 to the server 1800 through the communication unit 160 . And, when a control signal for controlling the robot cleaner 100 is received from the server 1800 through the communication unit 160, the processor 140 controls the operation of the robot cleaner 100 based on the received control signal. can For example, the processor 140 may control an operation (eg, wall cleaning, obstacle cleaning, whether a cleaning tool is operated, etc.) performed when the robot cleaner 100 travels in the cleaning area, and adjusts the zigzag interval. can be adjusted
- the input unit 170 includes a circuit and may receive a user command for setting or selecting various functions supported by the robot cleaner 100 .
- the input unit 170 may include a plurality of buttons, and may be implemented as a touch screen capable of simultaneously performing the functions of the display 181 .
- the processor 140 may control the operation of the robot cleaner 100 based on a user command input through the input unit 170 .
- the processor 140 is based on an on/off command of the robot cleaner 100 input through the input unit 170 of the robot cleaner 100, an on/off command of a function of the robot cleaner 100, etc.,
- the robot cleaner 100 can be controlled.
- the processor 140 performs an operation (eg, cleaning a wall, cleaning an obstacle, whether a cleaning tool is operated, etc.) when the robot cleaner 100 travels in the cleaning area based on a user command through the input unit 170 . You can control it, and you can also adjust the zigzag interval.
- the output unit 180 may include a display 181 and a speaker 182 .
- the display 181 may display various information. To this end, the display 181 may be implemented as a liquid crystal display (LCD) or the like, or may be implemented as a touch screen capable of simultaneously performing the functions of the input unit 170 .
- LCD liquid crystal display
- the processor 140 determines whether information related to the operation of the robot cleaner 100 (eg, cleaning progress time, current cleaning mode (ie, suction strength), battery information, charging status, and whether the dust bin is full of dust) information such as whether or not there is an error status) may be displayed on the display 181 .
- information related to the operation of the robot cleaner 100 eg, cleaning progress time, current cleaning mode (ie, suction strength), battery information, charging status, and whether the dust bin is full of dust
- the speaker 182 may output audio. Specifically, the processor 140 may output various notification sounds or voice guidance messages related to the operation of the robot cleaner 100 through the speaker 182 .
- 21 is a diagram for explaining a control method of a robot cleaner according to an embodiment of the present disclosure.
- the type of obstacle located in the cleaning area may be identified ( S2110 ).
- the driving direction may be changed at different separation distances ( S2120 ).
- step S2120 when the obstacle is identified as the first type of obstacle, the driving direction is changed at a point separated by a first distance from the first type of obstacle, and when the obstacle is identified as the second type of obstacle, the second The driving direction may be changed at a point separated by a second distance from the two types of obstacles.
- the second distance may be shorter than the first distance.
- step S2120 the driving direction is changed at a point separated by a first distance from the first type of obstacle, driving in a zigzag pattern, and the driving direction is changed at a point separated by a second distance from the second type of obstacle, A second type of obstacle can be rotated.
- the size of the second type of obstacle is identified, and if the size of the second type of obstacle is less than the threshold size, the second type of obstacle is rotated and then driven in the same direction as the previous driving direction, and the second type of obstacle is rotated. If the size of the obstacle is greater than or equal to the critical size, the vehicle may be driven in a zigzag pattern after rotating the second type of obstacle.
- the size of the second type of obstacle is identified based on the information obtained through the sensor while the second type of obstacle is rotated once, and if the size of the second type of obstacle is less than the threshold size, the second type of obstacle is After rotating an additional half turn of the obstacle of there is.
- the second type of obstacle moves by a critical distance while rotating once, it may move backward by a predetermined distance, then return to the original position, and move again from the returned position.
- the driving when the driving in the cleaning area is completed, the driving may be performed along the first type of obstacle.
- the map may be divided into a plurality of regions, and the plurality of regions may include first and second regions connected through a passage.
- the cleaning area is the first area
- the first area is driven based on the first dividing line set in the passage
- the cleaning area is the second area
- the first area is driven based on the second dividing line set in the passage.
- the first dividing line and the second dividing line may be set at different positions in the passage.
- the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices (eg, It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg: smartphones).
- a portion of the computer program product eg, a downloadable app
- a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.
- each of the components may be composed of a singular or a plurality of entities, and some of the above-described corresponding sub-components are omitted. Alternatively, other sub-components may be further included in various embodiments. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration.
- operations performed by a module, program, or other component may be sequentially, parallelly, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added.
- unit or “module” used in the present disclosure includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, part, or circuit.
- a “unit” or “module” may be an integrally formed component or a minimum unit or a part of performing one or more functions.
- the module may be configured as an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium readable by a machine (eg, a computer).
- the device calls the stored instructions from the storage medium. and, as a device capable of operating according to the called command, the electronic device (eg, the electronic device 100) according to the disclosed embodiments may be included.
- the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor.
- Instructions may include code generated or executed by a compiler or interpreter.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
로봇 청소기가 개시된다. 본 로봇 청소기는 구동부, 로봇 청소기가 위치한 공간에 대한 맵이 저장된 메모리 및 센서를 통해 획득된 정보에 기초하여 로봇 청소기가 맵에 포함된 청소 영역을 주행하도록 구동부를 제어하는 프로세서를 포함하며, 프로세서는 로봇 청소기가 청소 영역을 주행하는 동안, 청소 영역에 위치한 장애물의 타입을 식별하고, 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 로봇 청소기의 주행 방향을 변경하도록 구동부를 제어한다.
Description
본 개시는 로봇 청소기 및 그의 제어 방법에 관한 것으로, 피청소면에 존재하는 오물과 먼지 등의 이물질을 흡입하는 로봇 청소기 및 그의 제어 방법에 관한 것이다.
CROSS-REFERENCE TO RELATED APPLICATIONS
본 출원은 2020년 10월 28일에 출원된 대한민국 특허출원 제 10-2020-0141407 호에 기초하여 우선권을 주장하며, 해당 출원의 모든 내용은 그 전체가 본 출원에 레퍼런스로 포함된다.
일반적으로 로봇은 산업용으로 개발되어 여러 산업 현장에서 널리 사용되고 있다. 최근에는 로봇을 이용한 분야가 더욱 확대되어, 의료 분야, 우주 항공 분야뿐만 아니라, 일반 가정집에도 활용되고 있다.
가정에서 사용되는 로봇 중 대표적인 것이, 로봇 청소기이다. 로봇 청소기는 가정 내 실내 공간을 스스로 주행하면서 먼지 등의 이물질을 흡입하면서 청소하는 기능을 수행한다.
이와 같이, 로봇 청소기를 사용하는 사용자들이 늘어나고 있는 상황에서, 보다 효율적으로 로봇 청소기를 제어하기 위한 방안의 모색이 요청된다.
본 개시는 상술한 필요성에 따라 안출된 것으로, 본 개시의 목적은 장애물의 타입에 따라, 장애물에 대해 서로 다른 주행 방식을 이용하는 로봇 청소기 및 그의 주행 방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 로봇 청소기는 구동부, 상기 로봇 청소기가 위치한 공간에 대한 맵이 저장된 메모리 및 상기 센서를 통해 획득된 정보에 기초하여 상기 로봇 청소기가 상기 맵에 포함된 청소 영역을 주행하도록 상기 구동부를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 로봇 청소기가 상기 청소 영역을 주행하는 동안, 상기 청소 영역에 위치한 장애물의 타입을 식별하고, 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 상기 로봇 청소기의 주행 방향을 변경하도록 상기 구동부를 제어한다.
여기에서, 상기 프로세서는 상기 장애물이 제1 타입의 장애물인 것으로 식별되면, 상기 로봇 청소기가 상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하도록 상기 구동부를 제어하고, 상기 장애물이 제2 타입의 장애물인 것으로 식별되면, 상기 로봇 청소기가 상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하도록 상기 구동부를 제어하며, 상기 제2 거리는 상기 제1 거리 보다 짧을 수 있다.
또한, 상기 프로세서는 상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 상기 로봇 청소기의 주행 방향을 변경하여, 상기 로봇 청소기가 지그재그(zigzag) 패턴으로 주행하도록 상기 구동부를 제어하고, 상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 상기 로봇 청소기의 주행 방향을 변경하여, 상기 로봇 청소기가 상기 제2 타입의 장애물을 회전하도록 상기 구동부를 제어할 수 있다.
그리고, 상기 프로세서는 상기 청소 영역에 대한 주행이 완료되면, 상기 로봇 청소기가 상기 제1 타입의 장애물을 따라 주행하도록 상기 구동부를 제어할 수 있다.
또한, 상기 프로세서는 상기 제2 타입의 장애물의 크기를 식별하고, 상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 회전한 후 이전 주행 방향과 동일한 방향으로 주행하도록 상기 구동부를 제어하고, 상기 제2 타입의 장애물의 크기가 임계 크기 이상이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 회전한 후 지그재그 패턴으로 주행하도록 상기 구동부를 제어할 수 있다.
여기에서, 상기 프로세서는 상기 로봇 청소기가 상기 제2 타입의 장애물을 한 바퀴 회전하는 동안 상기 센서를 통해 획득된 정보에 기초하여 상기 제2 타입의 장애물의 크기를 식별하고, 상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 반 바퀴 추가적으로 회전한 후 이전 주행 방향과 동일한 방향으로 주행하도록 상기 구동부를 제어하고, 상기 제2 타입의 장애물의 크기가 상기 임계 크기 이상이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 기준으로 일 측 영역을 상기 지그재그 패턴으로 주행하도록 상기 구동부를 제어할 수 있다.
또한, 상기 프로세서는 상기 로봇 청소기가 상기 제2 타입의 장애물을 한 바퀴 회전하는 동안, 임계 거리 만큼 이동하면 상기 로봇 청소기를 일정 거리 만큼 후진시킨 후 다시 원 위치로 복귀시키고 상기 로봇 청소기가 상기 복귀된 위치부터 다시 이동하도록 상기 구동부를 제어할 수 있다.
한편, 상기 맵은 복수의 영역으로 구분되고, 상기 복수의 영역은 통로를 통해 연결된 제1 및 제2 영역을 포함하고, 상기 프로세서는 상기 청소 영역이 상기 제1 영역인 경우, 상기 통로에 설정된 제1 분할선에 기초하여 상기 로봇 청소기가 상기 제1 영역을 주행하도록 상기 구동부를 제어하고, 상기 청소 영역이 상기 제2 영역인 경우, 상기 통로에 설정된 제2 분할선에 기초하여 상기 로봇 청소기가 상기 제2 영역을 주행하도록 상기 구동부를 제어하며, 상기 제1 분할선과 상기 제2 분할선은, 상기 통로 내에서 서로 다른 위치에 설정될 수 있다.
본 개시의 일 실시 예에 따른 센서를 포함하는 로봇 청소기의 주행 방법은 상기 센서를 통해 획득된 정보에 기초하여 맵에 포함된 청소 영역을 주행하는 동안, 상기 청소 영역에 위치한 장애물의 타입을 식별하는 단계 및 상기 청소 영역을 주행하는 동안, 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 주행 방향을 변경하는 단계를 포함한다.
여기에서, 상기 주행 방향을 변경하는 단계는 상기 장애물이 제1 타입의 장애물인 것으로 식별되면, 상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하고, 상기 장애물이 제2 타입의 장애물인 것으로 식별되면, 상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하며, 상기 제2 거리는, 상기 제1 거리 보다 짧을 있다.
또한, 상기 주행 방향을 변경하는 단계는 상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하여, 지그재그(zigzag) 패턴으로 주행하는 단계 및 상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하여, 상기 제2 타입의 장애물을 회전하는 단계를 더 포함할 수 있다.
그리고, 본 개시에 따른 주행 방법은 상기 청소 영역에 대한 주행이 완료되면, 상기 제1 타입의 장애물을 따라 주행하는 단계를 더 포함할 수 있다.
또한, 본 개시에 따른 주행 방법은 상기 제2 타입의 장애물의 크기를 식별하는 단계, 상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 제2 타입의 장애물을 회전한 후 이전 주행 방향과 동일한 방향으로 주행하는 단계 및 상기 제2 타입의 장애물의 크기가 임계 크기 이상이면, 상기 제2 타입의 장애물을 회전한 후 지그재그 패턴으로 주행하는 단계를 더 포함할 수 있다.
여기에서, 상기 제2 타입의 장애물의 크기를 식별하는 단계는 상기 제2 타입의 장애물을 한 바퀴 회전하는 동안 상기 센서를 통해 획득된 정보에 기초하여 상기 제2 타입의 장애물의 크기를 식별하고, 상기 동일한 방향으로 주행하는 단계는 상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 제2 타입의 장애물을 반 바퀴 추가적으로 회전한 후 이전 주행 방향과 동일한 방향으로 주행하고, 상기 지그재그 패턴으로 주행하는 단계는 상기 제2 타입의 장애물의 크기가 상기 임계 크기 이상이면, 상기 제2 타입의 장애물을 기준으로 일 측 영역을 상기 지그재그 패턴으로 주행할 수 있다.
또한, 본 개시에 따른 주행 방법은 상기 제2 타입의 장애물을 한 바퀴 회전하는 동안, 임계 거리 만큼 이동하면 일정 거리 만큼 후진한 후 다시 원 위치로 복귀하고, 상기 복귀된 위치부터 다시 이동하는 단계를 더 포함할 수 있다.
한편, 상기 맵은 복수의 영역으로 구분되고, 상기 복수의 영역은 통로를 통해 연결된 제1 및 제2 영역을 포함하고, 본 개시에 따른 주행 방법은 상기 청소 영역이 상기 제1 영역인 경우, 상기 통로에 설정된 제1 분할선에 기초하여 상기 제1 영역을 주행하는 단계 및 상기 청소 영역이 상기 제2 영역인 경우, 상기 통로에 설정된 제2 분할선에 기초하여 상기 제2 영역을 주행하는 단계를 더 포함하고, 상기 제1 분할선과 상기 제2 분할선은, 상기 통로 내에서 서로 다른 위치에 설정될 수 있다.
본 개시의 다양한 실시 예에 따르면, 로봇 청소기가 장애물의 타입에 따라 다른 주행 방식을 이용하여 청소를 수행한다는 점에서, 청소 속도 및 청소 성능이 향상될 수 있다.
도 1a 및 도 1b는 본 개시의 일 실시 예에 따른 로봇 청소기를 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 로봇 청소기의 구성을 설명하기 위한 블록도,
도 3은 본 개시의 일 실시 예에 따른 지그재그 패턴을 이용한 로봇 청소기의 주행 방법을 설명하기 위한 도면,
도 4 및 도 5는 본 개시의 일 실시 예에 따른 로봇 청소기가 장애물의 타입을 식별하는 방법을 설명하기 위한 도면들,
도 6 및 도 7은 본 개시의 일 실시 예에 따른 장애물의 타입에 따른 로봇 청소기의 주행 방법을 설명하기 위한 도면들,
도 8은 본 개시의 일 실시 예에 따른 로봇 청소기가 장애물의 크기를 식별하는 방법을 설명하기 위한 도면,
도 9a, 도 9b, 도 10a, 도 10b, 도 11은 본 개시의 일 실시 예에 따른 장애물의 타입에 따른 로봇 청소기의 주행 방법을 설명하기 위한 도면들,
도 12는 본 개시의 일 실시 예에 따른 로봇 청소기의 주행 방법의 일 예를 설명하기 위한 도면,
도 13a 및 도 13b는 본 개시의 일 실시 예에 따른 로봇 청소기의 주행 방법의 일 예를 설명하기 위한 도면,
도 14 내지 도 16b는 본 개시의 일 실시 예에 따른 로봇 청소기의 후진 동작을 설명하기 위한 도면들,
도 17은 본 개시의 일 실시 예에 따른 로봇 청소기가 분할선에 기초하여 영역을 주행하는 방법을 설명하기 위한 도면,
도 18 및 도 19는 본 개시의 일 실시 예에 따른 로봇 청소기에 대한 사용자 명령이 입력되는 방법을 설명하기 위한 도면들,
도 20는 본 개시의 일 실시 예에 따른 로봇 청소기의 세부 구성을 설명하기 위한 블록도, 그리고
도 21은 본 개시의 일 실시 예에 따른 로봇 청소기의 주행 방법을 설명하기 위한 흐름도이다.
-
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1a 및 도 1b는 본 개시의 일 실시 예에 따른 로봇 청소기를 설명하기 위한 도면이다.
도 1a 및 도 1b를 참조하면, 로봇 청소기(100)는 로봇 청소기(100)가 위치하는 공간을 주행할 수 있다. 즉, 로봇 청소기(100)는 로봇 청소기(100)가 위치하는 공간을 이동하며 청소 동작을 수행할 수 있다.
여기에서, 공간은 집, 사무실, 호텔, 공장, 상점 등과 같이 로봇 청소기(100)가 주행할 수 있는 다양한 실내 공간을 포함할 수 있다.
또한, 청소 동작은 로봇 청소기(100)가 바닥면에 존재하는 오물, 먼지 등의 이물질을 흡입하는 것을 의미할 수 있다. 이를 위해, 로봇 청소기(100)는 이물질을 흡입하기 위한 청소 장치(즉, 청소 툴)을 포함할 수 있다. 청소 장치는 회전 가능하게 설치되어 이물질을 수거하기 위한 브러쉬(brush)를 포함할 수 있으며, 모터 등을 통해 흡입력을 발생시켜, 바닥면으로부터 이물질을 흡입할 수 있다. 이때, 흡입된 이물질은 로봇 청소기(100)에 마련된 먼지 통에 수용될 수 있다.
한편, 이하에서는 첨부된 도면을 참조하여, 본 개시의 다양한 실시 예에 따른 로봇 청소기(100)의 주행 방법에 대해 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇 청소기의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 로봇 청소기(100)는 구동부(110), 센서(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다.
구동부(110)는 로봇 청소기(100)를 이동시키기 위한 구성이다. 예를 들어, 구동부(110)는 로봇 청소기(100)의 본체의 좌측 및 우측에 각각 설치된 바퀴 및 바퀴들을 구동하기 위한 모터 등을 포함할 수 있다. 이에 따라, 구동부(110)는 로봇 청소기(100)의 이동, 정지, 속도 제어, 방향 전환 및 각속도 변경 등과 같은 다양한 주행 동작을 수행할 수 있다.
센서(120)는 로봇 청소기(100) 및 로봇 청소기(100) 주변과 관련된 다양한 정보를 획득할 수 있다.
여기에서, 센서(120)는 라이다(LiDAR, light detection and ranging) 센서(또는, LDS(laser distance sensor))를 포함할 수 있다.
예를 들어, 도 1a 및 도 1b를 참조하면, 라이다 센서(121)는 높이 H1 및 높이 H2 사이에서 360도 회전하며 레이저를 조사하여, 로봇 청소기(100)와 주변 물체 사이의 거리를 감지할 수 있다. 예를 들어, 라이다 센서는 360도 회전하며 레이저를 조사할 수 있다. 그리고, 라이다 센서는 조사된 레이저가 로봇 청소기(100) 주변의 물체로부터 반사되어 수신되면, 레이저가 수신된 시간에 기초하여 물체와의 거리를 감지하거나, 수신된 레이저의 위상 변화량을 측정하여 물체와의 거리를 감지할 수 있다.
또한, 센서(120)는 자이로 센서를 포함할 수 있다. 자이로 센서는 로봇 청소기(100)의 각속도를 감지할 수 있다.
또한, 센서(120)는 엔코더(encoder)를 포함할 수 있다. 엔코더는 로봇 청소기(100)의 본체의 좌측 및 우측에 각각 설치된 바퀴의 회전수를 감지할 수 있다.
메모리(130)는 로봇 청소기(100)를 구동시키기 위한 적어도 하나의 인스트럭션(instruction) 및 적어도 하나의 소프트웨어 프로그램이 저장될 수 있다. 이 경우, 메모리(130)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리 등을 포함할 수 있다. 한편, 본 개시에서 메모리(130)라는 용어는 메모리(130), 프로세서(140) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
프로세서(140)는 로봇 청소기(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(140)는 구동부(110), 센서(120) 및 메모리(130)를 포함하는 전자 장치(100)의 구성과 연결되며, 메모리(130)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 로봇 청소기(100)의 동작을 전반적으로 제어할 수 있다. 이 경우, 프로세서(140)는 하나의 프로세서(140)로 구현될 수 있을 뿐만 아니라, 복수의 프로세서(140)로 구현될 수도 있다. 한편, 본 개시에서 프로세서(140)라는 용어는 CPU(central processing unit)를 포함하는 의미로 사용될 수 있다.
프로세서(140)는 로봇 청소기(100)가 위치하는 공간에 대한 맵을 생성할 수 있다. 그리고, 프로세서(140)는 생성된 맵을 메모리(130)에 저장할 수 있다.
이 경우, 프로세서(140)는 SLAM(simultaneous localization and mapping) 알고리즘을 이용하여, 로봇 청소기(100)가 위치하는 공간에 대응되는 맵을 생성할 수 있다.
예를 들어, 프로세서(140)는 맵을 생성하기 위해 로봇 청소기(100)가 주행을 시작하는 위치(가령, 좌표) 및 로봇 청소기(100)의 회전각을 각각 기준 위치 및 기준 회전각으로 설정할 수 있다. 그리고, 프로세서(140)는 맵을 생성하기 위해 로봇 청소기(100)가 주행하는 동안 획득된 로봇 청소기(100)와 주변 물체와의 거리, 로봇 청소기(100)의 회전각 및 이동 거리를 SLAM 알고리즘의 입력으로 하여, SLAM 알고리즘을 통해 로봇 청소기(100)의 위치(가령, 좌표) 및 회전각(가령, 로봇 청소기(100)의 위치가 반영된 회전각)을 획득할 수 있다. 이 경우, 프로세서(140)는 라이다 센서를 통해 로봇 청소기(100)와 주변 물체와의 거리를 획득할 수 있다. 그리고, 프로세서(140)는 자이로 센서를 통해 획득한 로봇 청소기(100)의 각속도에 기초하여 로봇 청소기(100)의 회전각을 산출하고, 엔코더를 통해 획득한 바퀴들의 회전수에 기초하여 로봇 청소기(100)의 이동 거리를 산출할 수 있다.
이후, 프로세서(140)는 로봇 청소기(100)가 기준 위치에서 획득된 위치까지 이동하는 동안 라이다 센서를 통해 획득된 로봇 청소기(100)와 주변 물체와의 거리에 기초하여, 기준 위치부터 획득된 위치까지의 장애물의 위치(가령, 좌표)를 식별할 수 있다.
결국, 프로세서(140)는 로봇 청소기(100)가 공간을 이동하는 동안 전술한 과정을 반복적으로 수행하여, 로봇 청소기(100)가 위치하는 공간에 대응되는 맵을 생성할 수 있다. 다만, 이 예에 국한되는 것은 아니고, 프로세서(140)는 공지된 다양한 방법을 이용하여 맵을 생성할 수도 있다.
그리고, 프로세서(140)는 맵을 복수의 영역으로 구분할 수 있다. 예를 들어, 프로세서(140)는 맵에 대한 보로노이 그래프(voronoi graph)를 생성하고, 보로노이 그래프를 이용하여 맵을 복수의 영역으로 구분할 수 있다.
여기에서, 보로노이 그래프는 주어진 메트릭 공간(metric space)을 분해하여 표시하는 방법 중 하나이다. 구체적으로, 보로노이 그래프의 각 선은 오브젝트들이 배치되어 있는 메트릭 공간 내에서, 특정 오브젝트까지의 거리가 다른 오브젝트까지의 거리보다 크지 않은 점들을 하나의 집합으로 구성하였을 때, 이러한 집합들의 경계를 나타내는 선이다. 즉, 보로노이 그래프는 주어진 메트릭 공간 내의 두 개의 오브젝트에 대하여 같은 거리에 있는 중간 점들을 연결한 선이라고 할 수 있다.
이 경우, 프로세서(140)는 맵에 기초하여 생성된 보로노이 그래프에 대해 법선을 생성하고, 법선에 기초하여 맵에서 구분된 폐공간의 면적 및 법선의 길이를 고려하여 맵을 복수의 영역으로 구분할 수 있다. 예를 들어, 프로세서(140)는 길이가 기설정된 범위 내에 속하는 법선에 기초하여 맵에서 구분된 폐공간의 면적이 기설정된 크기보다 큰 경우, 해당 폐공간을 하나의 영역으로 식별하고, 식별된 영역과 다른 영역을 연결하는 통로(gate)를 식별할 수 있다. 다만, 이 예에 국한되는 것은 아니고, 프로세서(140)는 공지된 다양한 방법을 이용하여 맵을 복수의 복수의 영역으로 구분할 수 있다.
한편, 프로세서(140)는 센서(120)를 통해 획득된 정보에 기초하여 맵에 포함된 청소 영역을 주행하도록 구동부(110)를 제어할 수 있다.
여기에서, 청소 영역은 맵이 구분된 복수의 영역 각각이 될 수 있다. 즉, 로봇 청소기(100)는 영역 별로 청소를 수행할 수 있는데, 구체적으로, 로봇 청소기(100)는 하나의 영역을 이동하며 청소를 수행하고, 해당 영역에 대한 청소가 완료되면, 다른 영역으로 이동하여 다른 영역에 대해 청소를 수행할 수 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)와 주변 물체와의 거리, 로봇 청소기(100)의 회전각 및 이동 거리를 SLAM 알고리즘의 입력으로 하여, SLAM 알고리즘을 통해 맵 상에서 로봇 청소기(100)의 위치 및 회전각을 획득할 수 있다. 그리고, 프로세서(140)는 획득된 로봇 청소기(100)의 위치 및 회전각에 기초하여 로봇 청소기(100)가 맵의 청소 영역을 주행하도록 구동부(110)를 제어할 수 있다. 이때, 프로세서(140)는 맵, 맵 상에서 로봇 청소기(100)의 위치 및 회전각, 라이다 센서를 통해 획득된 로봇 청소기(100)와 주변 물체와의 거리에 기초하여, 로봇 청소기(100) 주변의 장애물을 감지할 수 있다.
한편, 프로세서(140)는 로봇 청소기(100)가 청소 영역에서 지그재그(zigzag) 패턴으로 주행하도록 구동부(110)를 제어할 수 있다.
예를 들어, 도 3과 같이, 로봇 청소기(100)는 제1 방향으로 직진할 수 있다. 그리고, 로봇 청소기(100)는 로봇 청소기(100)의 전방에서 장애물이 감지되면, 주행 방향을 변경하여 로봇 청소기(100)가 지나온 경로와 일정한 거리(31)만큼 떨어진 경로를 따라 제2 방향으로 직진할 수 있다. 이때, 제2 방향은 제1 방향과 반대 방향일 수 있다. 여기에서, 경로들이 서로 떨어진 간격(31)을 청소 줄 간격이라 지칭할 수 있다. 로봇 청소기(100)는 이러한 지그재그 패턴의 주행을 반복하며, 청소 영역을 주행할 수 있다.
한편, 프로세서(140)는 로봇 청소기(100)가 청소 영역을 주행하는 동안, 청소 영역에 위치한 장애물의 타입을 식별하고, 장애물의 타입에 기초하여 로봇 청소기(100)의 주행을 제어할 수 있다.
구체적으로, 프로세서(140)는 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 로봇 청소기(100)의 주행 방향을 변경하도록 구동부(110)를 제어할 수 있다.
여기에서, 상이한 타입의 장애물들은 제1 타입의 장애물 및 제2 타입의 장애물을 포함할 수 있다. 구체적으로, 제1 타입의 장애물은 벽이고, 제2 타입의 장애물은 벽이 아닌 다른 장애물로, 가령, 텔레비전, 냉장고, 에어콘, 선풍기, 컴퓨터, 공기청정기 등과 같은 가전제품 및 침대, 소파, 의자, 식탁, 책상, 테이블, 화분 등과 같은 가구 등을 포함할 수 있다. 즉, 제2 타입의 장애물은 로봇 청소기(100)가 위치한 공간에서 벽을 제외하고 해당 공간에 위치하는 다양한 종류의 물체를 포함할 수 있다.
이 경우, 프로세서(140)는 맵에 기초하여 장애물의 타입을 식별할 수 있다.
예를 들어, 프로세서(140)는 로봇 청소기(100) 주변에서 감지된 장애물이 맵에서 임계 크기 보다 큰 장애물인 경우, 해당 장애물을 제1 타입의 장애물인 것으로 식별하고, 로봇 청소기(100) 주변에서 감지된 장애물이 맵에서 임계 크기 이하의 장애물인 경우, 해당 장애물을 제2 타입의 장애물인 것으로 식별할 수 있다. 여기에서, 프로세서(140)는 벽과 벽 이외의 장애물을 서로 다른 타입(즉, 제1 및 제2 타입)의 장애물로 식별한다는 점에서, 맵 상에서 로봇 청소기(100)의 위치를 기준으로, 로봇 청소기(100) 주변에서 감지된 장애물의 사이즈(가령, 폭)가 기설정된 폭 보다 큰지 또는 기설정된 폭 이하인지를 식별하여, 제1 및 제2 타입의 장애물을 식별할 수 있다. 예를 들어, 기설정된 폭은 맵 상에서 타입에 따른 장애물의 일반적인 사이즈, 로봇 청소기(100)의 위치, 로봇 청소기(100)와 장애물 간의 거리, 맵 상에서의 장애물의 사이즈, 제조 시 기설정된 값 또는 사용자에 의해 설정(또는 변경)된 값 중 적어도 하나에 기초하여 결정될 수 있다.
다른 예로, 프로세서(140)는 프로세서(140)는 카메라를 통해 획득한 이미지를 이용하여 장애물의 타입을 식별할 수 있다.
예를 들어, 프로세서(140)는 카메라를 통해 획득한 이미지에서 물체를 인식하여, 로봇 청소기(100) 주변에 존재하는 장애물이 벽 또는 벽 이외의 장애물인지를 식별할 수 있다.
다른 예로, 프로세서(140)는 라이다 센서를 통해 획득된 정보에 기초하여 장애물의 타입을 식별할 수도 있다.
구체적으로, 프로세서(140)는 서로 다른 각도로 조사된 레이저에 기초하여 라이다 센서에서 감지된 복수의 거리 간의 차이를 산출할 수 있다. 그리고, 프로세서(140)는 복수의 거리 중 산출된 차이가 임계 범위 이내에 있고 서로 연속된 거리들을 식별할 수 있다. 여기에서, 거리들이 연속적이라는 것은, 라이다 센서는 일정한 각도만큼 순차적으로 회전하며 레이저를 조사하여 물체와의 거리를 감지하는데, 이때, 순차적으로 조사된 레이저에 기초하여 감지된 거리들을 서로 연속된 거리들이라 할 수 있다.
그리고, 프로세서(140)는 식별된 거리들에 대응되는 레이저의 조사 각도 범위를 임계 각도 범위와 비교하여 장애물의 타입을 식별할 수 있다. 구체적으로, 프로세서(140)는 레이저의 조사 각도 범위가 임계 각도 범위보다 큰 경우, 장애물을 제1 타입의 장애물인 것으로 식별할 수 있고, 레이저의 조사 각도 범위가 임계 각도 범위 이하인 경우, 장애물을 제2 타입의 장애물인 것으로 식별할 수 있다. 즉, 프로세서(140)는 레이저의 조사 각도 범위를 기설정된 각도 범위와 비교하여, 장애물의 타입을 할 수 있다. 여기에서, 임계 각도는 맵 상에서 타입에 따른 장애물의 일반적인 사이즈, 로봇 청소기(100)의 위치, 로봇 청소기(100)와 장애물 간의 거리, 맵 상에서의 장애물의 사이즈, 제조 시 기설정된 값, 사용자에 의해 설정(또는 변경)된 값 중 적어도 하나에 기초하여 결정될 수 있다.
예를 들어, 도 4와 같이, 라이다 센서가 서로 다른 각도로 레이저를 조사하고, 장애물(410)로부터 반사된 레이저에 기초하여 복수의 거리(41 내지 49)를 감지한 경우를 가정한다.
이 경우, 복수의 거리(41 내지 49)는 서로 연속된 거리들일 수 있다. 이때, 복수의 거리(41 내지 49) 간의 차이가 임계 범위 이내인 경우, 프로세서(140)는 복수의 거리(41 내지 49)의 감지를 위해, 라이다 센서가 레이저를 조사한 각도 범위(420)를 식별하고, 각도 범위(420)를 임계 각도 범위와 비교할 수 있다. 이 경우, 프로세서(140)는 각도 범위(420)가 임계 각도 범위 보다 큰 경우, 장애물(410)을 제1 타입의 장애물인 것으로 식별할 수 있다.
다른 예로, 도 5와 같이, 라이다 센서가 서로 다른 각도로 레이저를 조사하고, 장애물(510, 520)로부터 반사된 레이저에 기초하여, 복수의 거리(51 내지 59)를 감지한 경우를 가정한다.
이 경우, 프로세서(140)는 복수의 거리(51 내지 59) 중 차이가 기설정된 임계 범위 이내이며 서로 연속된 복수의 거리(53 내지 57)를 식별할 수 있다. 그리고, 프로세서(140)는 복수의 거리(53 내지 57)의 감지를 위해, 라이다 센서가 레이저를 조사한 각도 범위(530)를 식별하고, 각도 범위(530)를 임계 각도 범위와 비교할 수 있다. 이 경우, 프로세서(140)는 각도 범위(530)가 임계 각도 범위 이하인 경우, 장애물(510)을 제2 타입의 장애물인 것으로 식별할 수 있다.
즉, 라이다 센서가 2D 라이다 센서인 경우, 라이다 센서는 로봇 청소기(100)에 설치된 위치에서 2차원 평면에 대해 물체를 감지하기 때문에, 프로세서(140)는 전술한 방법을 통해 장애물의 타입을 식별할 수 있으며, 라이다 센서가 레이저를 조사한 각도 범위를 임계 각도 범위와 비교한다는 것은 라이다 센서의 감지 결과에 기초한 물체의 폭을 기설정된 길이(즉, 폭)와 비교하는 것과 같은 의미를 가질 수 있다.
이와 같은 방법들을 통해, 프로세서(140)는 장애물의 타입을 식별할 수 있다. 다만, 이 예에 국한되는 것은 아니고, 프로세서(140)는 다양한 방법을 이용하여 장애물의 타입을 식별할 수 있다.
이어서, 프로세서(140)는 장애물이 제1 타입의 장애물인 것으로 식별되면, 로봇 청소기(100)가 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하도록 구동부(110)를 제어할 수 있다. 구체적으로, 프로세서(140)는 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 로봇 청소기(100)의 주행 방향을 변경하여, 로봇 청소기(100)가 지그재그 패턴으로 주행하도록 구동부(110)를 제어할 수 있다. 여기에서, 제1 거리는 제조 시 기설정되어 있거나, 사용자에 의해 설정 또는 변경될 수 있다.
즉, 프로세서(140)는 로봇 청소기(100)가 제1 방향으로 주행하는 동안, 로봇 청소기(100)의 전방에서 제1 타입의 장애물이 식별된 경우, 장애물과 제1 거리만큼 떨어진 지점에서 로봇 청소기(100)의 주행 방향을 좌측 또는 우측으로 변경하도록 구동부(110)를 제어하고, 이후, 로봇 청소기(100)가 제1 방향으로 주행한 경로와 일정한 거리만큼 떨어진 경로를 따라 제2 방향으로 주행하도록 구동부(110)를 제어할 수 있다. 여기에서, 제2 방향은 제1 방향과 반대 방향일 수 있다.
예를 들어, 도 6과 같이, 로봇 청소기(100)가 장애물(610)을 향해 직진으로 주행하는 경우를 가정한다(도 6의 ①). 이때, 프로세서(140)는 장애물(610)이 제1 타입의 장애물인 경우, 장애물(610)과 d1 만큼 떨어진 지점에서 로봇 청소기(100)를 우측 방향으로 회전하도록 구동부(110)를 제어할 수 있다(도 6의 ②). 그리고, 프로세서(140)는 로봇 청소기(100)가 주행한 경로와 일정한 거리만큼 떨어진 경로를 따라 이전 주행 방향과 반대 방향으로 로봇 청소기(100)가 직진하도록 구동부(110)를 제어할 수 있다(도 6의 ③).
한편, 프로세서(140)는 장애물이 제2 타입의 장애물인 것으로 식별되면, 로봇 청소기(100)가 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하도록 구동부(110)를 제어할 수 있다. 구체적으로, 프로세서(140)는 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 로봇 청소기(100)의 주행 방향을 변경하여, 로봇 청소기(100)가 제2 타입의 장애물을 회전하도록 구동부(110)를 제어할 수 있다. 여기에서, 제2 거리는 제조 시 기설정되어 있거나, 사용자에 의해 설정 또는 변경될 수 있다.
즉, 프로세서(140)는 로봇 청소기(100)가 제1 방향으로 주행하는 동안, 로봇 청소기(100)의 전방에서 제2 타입의 장애물이 식별된 경우, 장애물과 제2 거리만큼 떨어진 지점에서 로봇 청소기(100)의 주행 방향을 좌측 또는 우측으로 변경하도록 구동부(110)를 제어하고, 이후, 로봇 청소기(100)가 장애물을 회전하도록 구동부(110)를 제어할 수 있다. 여기에서, 프로세서(140)는 로봇 청소기(100)가 장애물을 회전할 때, 라이다 센서를 통해 획득된 장애물과의 거리에 기초하여, 장애물과의 거리가 임계 거리 이내에서 로봇 청소기(100)가 장애물을 회전하도록 구동부(110)를 제어할 수 있다. 여기에서, 임계 거리는 제2 거리와 같거나, 제2 거리 보다 작을 수 있다. 또한, 임계 거리는 제조 시 기설정되어 있거나, 사용자에 의해 설정 또는 변경될 수 있다.
예를 들어, 도 7과 같이, 로봇 청소기(100)가 장애물(710)을 향해 직진으로 주행하는 경우를 가정한다(도 7의 ①). 이때, 프로세서(140)는 장애물(710)이 제2 타입의 장애물인 경우, 장애물(710)과 d2 만큼 떨어진 지점에서 로봇 청소기(100)를 우측 방향으로 회전하도록 구동부(110)를 제어할 수 있다(도 7의 ②). 그리고, 프로세서(140)는 로봇 청소기(100)가 장애물(710)을 회전하도록 구동부(110)를 제어할 수 있다(도 7의 ③).
한편, 전술한 실시 예들에서, 제2 거리는 제1 거리보다 짧을 수 있다. 이에 따라, 로봇 청소기(100)는 제2 타입의 장애물에 대해, 제1 타입의 장애물보다 더 밀착하여 주행하며, 청소를 수행할 수 있다.
한편, 로봇 청소기(100)가 제2 타입의 장애물을 회전할 때, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하도록 구동부(110)를 제어할 수 있다.
그리고, 프로세서(140)는 제2 타입의 장애물의 크기를 식별할 수 있다. 구체적으로, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하는 동안 센서(120)릍 통해 획득된 정보에 기초하여 제2 타입의 장애물의 크기를 식별할 수 있다.
여기에서, 장애물의 크기는 장애물의 폭일 수 있다. 구체적으로, 장애물의 폭은 장애물에 대한 로봇 청소기(100)의 진행 방향에 수직한 방향으로의 장애물의 폭일 수 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 회전하기 전에, SLAM 알고리즘을 이용하여 획득된 맵 상에서 로봇 청소기(100)의 위치 및 회전각을 각각 초기 위치 및 초기 회전각으로 설정할 수 있다. 그리고, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 회전하는 동안, SLAM 알고리즘을 이용하여 맵 상에서 로봇 청소기(100)의 위치 및 회전각을 획득하고, 획득된 로봇 청소기(100)의 위치 및 회전각을 초기 위치 및 초기 회전각과 비교하여, 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하였는지를 식별할 수 있다. 예를 들어, 프로세서(140)는 획득된 로봇 청소기(100)의 위치가 초기 위치와 같고 획득된 로봇 청소기(100)의 회전각이 초기 회전각과 같은 경우, 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전한 것으로 식별할 수 있다.
그리고, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하는 동안, SLAM 알고리즘을 이용하여 획득된 로봇 청소기(100)의 위치에 기초하여 장애물의 크기를 식별할 수 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하는 동안에 획득된 로봇 청소기(100)의 좌표 값들 중 로봇 청소기(100)가 제2 타입의 장애물을 회전하기 전 주행한 방향과 수직한 방향에서 서로 간의 거리가 최대인 좌표 값들 식별하고, 식별된 좌표 값들 간의 거리를 장애물의 폭으로 식별할 수 있다.
예를 들어, 도 8과 같이, 로봇 청소기(100)가 장애물(810)을 향해 직진하는 경우를 가정한다(도 8의 ①). 이 경우, 프로세서(140)는 장애물(810)이 제2 타입의 장애물인 경우, 로봇 청소기(100)가 장애물(810)을 한 바퀴 회전하도록 구동부(110)를 제어할 수 있다(도 8의 ②,③,④,⑤). 그리고, 프로세서(140)는 로봇 청소기(100)가 장애물(810)을 한 바퀴 회전하는 동안의 로봇 청소기(100)의 좌표 값들을 식별하고, 식별된 좌표 값들 중 로봇 청소기(100)가 장애물(810)을 향해 주행한 방향과 수직한 방향(820)에서 서로 간의 거리가 최대인 좌표 값들 (x1,y1), (x2,y2)을 식별할 수 있다. 그리고, 프로세서(140)는 좌표 값들 (x1,y1), (x2,y2) 간의 거리 w를 장애물의 폭으로 식별할 수 있다.
이와 같은 방법을 통해, 프로세서(140)는 제2 타입의 장애물의 크기를 식별할 수 있다.
그리고, 프로세서(140)는 제2 타입의 장애물의 크기를 임계 크기와 비교할 수 있다. 여기에서, 임계 크기는 청소 줄 간격에 기초하여 결정될 수 있다. 예를 들어, 임계 크기는 청소 줄 간격을 2 배한 값보다 크거나 같은 값으로 결정될 수 있다. 다만, 이 예에 국한되는 것은 아니고, 임계 크기는 다양한 값으로 기설정되어 있을 수 있다.
이에 따라, 프로세서(140)는 제2 타입의 장애물의 크기가 임계 크기 미만이면, 로봇 청소기(100)가 제2 타입의 장애물을 회전한 후 이전 주행 방향과 동일한 방향으로 주행하도록 구동부(110)를 제어할 수 있다. 구체적으로, 프로세서(140)는 제2 타입의 장애물의 크기가 임계 크기 미만이면, 로봇 청소기(100)가 제2 타입의 장애물을 반 바퀴 추가적으로 회전한 후 이전 주행 방향과 동일한 방향으로 주행하도록 구동부(110)를 제어할 수 있다.
즉, 프로세서(140)는 제2 타입의 장애물의 크기가 임계 크기 미만이면, 장애물을 한 바퀴 회전한 로봇 청소기(100)가 장애물을 반 바퀴 추가적으로 회전하고, 로봇 청소기(100)가 제2 타입의 장애물을 회전하기 전에 주행한 경로에서 연장된 경로를 따라 주행하도록 구동부(110)를 제어할 수 있다.
예를 들어, 도 9a과 같이, 로봇 청소기(100)가 장애물(910)을 향해 직진으로 주행하는 경우를 가정한다(도 9a의 ①). 이때, 프로세서(140)는 장애물(910)이 제2 타입의 장애물인 경우, 로봇 청소기(100)가 장애물(910)을 한 바퀴 회전하도록 구동부(110)를 제어할 수 있다(도 9a의 ②,③,④,⑤).
그리고, 도 9b와 같이, 프로세서(140)는 장애물(910)의 크기가 임계 크기 미만인 것으로 식별되면, 로봇 청소기(100)가 장애물(910)을 반 바퀴 더 회전하도록 구동부(110)를 제어할 수 있다(도 9b의 ⑥,⑦). 그리고, 프로세서(140)는 로봇 청소기(100)가 장애물(910)을 회전하기 전에 주행하던 경로(도 9b의 ①)에서 연장된 경로(도 9b의 ⑧)을 따라 로봇 청소기(100)가 장애물(910)을 회전하기 전에 주행하던 방향과 동일한 방향으로 주행하도록 구동부(110)를 제어할 수 있다.
한편, 프로세서(140)는 제2 타입의 장애물의 크기가 임계 크기 이상이면, 로봇 청소기(100)가 제2 타입의 장애물을 회전한 후 지그재그 패턴으로 주행하도록 구동부(110)를 제어할 수 있다. 구체적으로, 프로세서(140)는 제2 타입의 장애물의 크기가 임계 크기 이상이면, 로봇 청소기(100)가 제2 타입의 장애물을 기준으로 일 측 영역을 지그재그 패턴으로 주행하도록 구동부(110)를 제어할 수 있다.
즉, 프로세서(140)는 제2 타입의 장애물의 크기가 임계 크기 이상이면, 장애물을 한 바퀴 회전한 로봇 청소기(100)가 제2 타입의 장애물을 회전하기 전에 주행한 경로와 일정한 거리만큼 떨어진 경로를 따라 주행하도록 구동부(110)를 제어할 수 있다. 이때, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 회전하기 전에 주행한 방향과 반대 방향으로 주행하도록 구동부(110)를 제어할 수 있다. 즉, 프로세서(140)는 로봇 청소기(100)가 지그재그 패턴으로 주행하도록 구동부(110)를 제어할 수 있다. 이 경우, 프로세서(140)는 제2 타입의 장애물을 기준으로 로봇 청소기(100)가 위치한 영역을, 로봇 청소기(100)가 지그재그 패턴을 반복하며 주행하도록 구동부(110)를 제어할 수 있다.
예를 들어, 도 10a와 같이, 로봇 청소기(100)가 장애물(1010)을 향해 직진으로 주행하는 경우를 가정한다(도 10a의 ①). 이때, 프로세서(140)는 장애물(1010)이 제2 타입의 장애물인 경우, 로봇 청소기(100)가 장애물(1010)을 한 바퀴 회전하도록 구동부(110)를 제어할 수 있다(도 10a의 ②,③,④,⑤).
이 경우, 도 10b와 같이, 프로세서(140)는 장애물(1010)의 크기가 임계 크기 이상인 것으로 식별되면, 로봇 청소기(100)가 위치한 장애물(1010)의 좌측 영역을 지그재그 패턴을 반복하며 주행하도록 구동부(110)를 제어할 수 있다(도 10b의 ⑥,⑦).
한편, 도 10a를 참조하면, 로봇 청소기(100)가 제2 타입의 장애물의 상단 부분을 향해 직진하는 것으로 도시하였다. 즉, 본 개시에서 임계 크기는 청소 줄 간격의 2 배 보다 크거나 또는 청소 줄 간격의 2 배와 같은 값이다. 따라서, 로봇 청소기(100)가 지그재그 패턴으로 주행하다가 임계 크기 이상의 제2 타입의 장애물을 향해 직진하는 경우, 로봇 청소기(100)는 제2 타입의 장애물의 상단 부분 또는 하단 부분을 향해 주행할 수 있다.
한편, 프로세서(140)는 청소 영역에 대한 주행이 완료되면, 로봇 청소기(100)가 제1 타입의 장애물을 따라 주행하도록 구동부(110)를 제어할 수 있다. 여기에서, 청소 영역에 대한 주행이 완료되었다는 것은 로봇 청소기(100)가 청소 영역 내를 이동하며 청소를 완료한 것을 의미할 수 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)가 지그재그 패턴을 이용하여 청소 영역 내를 이동하며 청소를 완료한 경우, SLAM 알고리즘을 이용하여 획득된 맵 상에서 로봇 청소기(100)의 위치 및 회전각, 라이다 센서를 통해 획득된 주변 물체와의 거리에 기초하여 로봇 청소기(100)가 청소 영역에 포함된 제1 타입의 장애물과 근접한 위치로 이동하도록 구동부(110)를 제어할 수 있다. 그리고, 프로세서(140)는 라이다 센서를 통해 획득된 제1 타입의 장애물과의 거리에 기초하여, 제1 타입의 장애물과의 거리가 임계 거리 이내에서 로봇 청소기(100)가 제1 타입의 장애물을 따라 주행하도록 구동부(110)를 제어할 수 있다. 여기에서, 임계 거리는 제2 거리와 같거나, 제2 거리 보다 작을 수 있다. 또한, 임계 거리는 제조 시 기설정되어 있거나, 사용자에 의해 설정 또는 변경될 수 있다.
예를 들어, 도 11과 같이, 프로세서(140)는 청소 영역에 대한 주행이 완료되면, 제1 타입의 장애물(1110)과 d3 만큼 떨어진 경로를 따라 로봇 청소기(100)가 주행하도록 구동부(110)를 제어할 수 있다(도 10의 ①).
이와 같이, 본 개시에서 로봇 청소기(100)는 지그재그 패턴을 이용하여 청소 영역을 이동하며 청소를 수행하는 동안, 제1 타입의 장애물이 감지되면, 제1 타입의 장애물과 제1 거리만큼 떨어진 지점에서 로봇 청소기(100)의 주행 방향을 변경하여, 지그재그 패턴으로 주행하며 청소를 수행할 수 있다. 즉, 로봇 청소기(100)는 제1 타입의 장애물의 경우, 밀착하지 않고, 어느 정도 떨어진 지점에서 주행 방향을 변경하여, 제1 타입의 장애물에 대해 회피 동작을 수행하게 된다.
또한, 본 개시에서 로봇 청소기(100)는 지그재그 패턴을 이용하여 청소 영역을 청소하는 동안, 제2 타입의 장애물이 감지되면, 제2 타입의 장애물과 제2 거리만큼 떨어진 지점에서 로봇 청소기(100)의 주행 방향을 변경하여 장애물과 밀착된 상태로 장애물을 한 바퀴 회전하며 청소를 수행할 수 있다. 그리고, 로봇 청소기(100)는 장애물의 크기에 따라, 장애물을 반 바퀴 더 회전하여 이전 주행 경로를 유지하면서 청소를 수행하거나 장애물의 일 측 영역을 지그재그 패턴으로 주행하여 청소를 수행할 수 있다. 즉, 로봇 청소기(100)는 제2 타입의 장애물의 경우, 장애물과 밀착하여 장애물을 한 바퀴 주행한 후 이전 주행 경로를 유지하거나 지그재그 패턴으로 주행하여, 제2 타입의 장애물에 대해 회피 동작을 수행하게 된다.
또한, 본 개시에서 로봇 청소기(100)는 청소 영역에 대한 주행이 완료되면, 즉, 청소 영역 내부에 대한 청소가 완료되면, 제1 타입의 장애물과 밀착하여 제1 타입의 장애물을 따라 주행하며 청소를 수행할 수 있다.
이에 따라, 본 개시에서는 청소 영역에 대한 청소 속도가 향상되면서도, 벽 아래의 바닥면에 대한 청소 성능이 향상될 수 있다.
한편, 전술한 실시 예에서, 프로세서(140)가 라이다 센서를 통해 획득된 정보에 기초하여 장애물을 식별하는 것으로 설명하였다. 다만, 라이다 센서가 2D 라이다 센서인 경우, 라이다 센서는 로봇 청소기(100)에 설치된 위치에서 2차원 평면에 대해 물체를 감지하므로, 로봇 청소기(100) 주변의 작은 크기의 장애물을 감지하지 못할 수도 있다.
이를 위해, 센서(120)는 3D 센서 및 카메라 중 적어도 하나를 더 포함할 수 있다. 3D 센서는 복수의 카메라로 구성된 스테레오 카메라를 이용하여 주변 환경을 감지할 수 있는 센서로, 로봇 청소기(100)와 주변의 물체와의 거리를 감지할 수 있다. 카메라는 전자 장치(100)의 주변을 촬영하여, 전자 장치(100)의 주변에 대한 적어도 하나의 이미지를 획득할 수 있다. 이 경우, 프로세서(140)는 카메라를 통해 획득한 이미지에서 물체를 인식하여, 로봇 청소기(100) 주변에 존재하는 물체의 종류, 크기 등에 대한 정보를 획득할 수 있다.
이에 따라, 프로세서(140)는 3D 센서 및 카메라 중 적어도 하나를 이용하여 장애물을 식별하고, 식별된 장애물을 회피하여 주행하도록 구동부(110)를 제어할 수 있다.
한편, 프로세서(140)는 맵 생성 시 장애물의 위치를 식별하기 위해, 3D 센서를 통해 획득된 로봇 청소기(100)와 주변 물체와의 거리에 대한 정보를 이용할 수도 있다.
도 12는 본 개시의 일 실시 예에 따른 로봇 청소기의 주행 방법을 설명하기 위한 도면이다.
도 12에 기재된 번호는 로봇 청소기(100)가 제1 영역(1210) 및 제2 영역(1220)에서 주행하는 순서를 나타낸다.
먼저, 로봇 청소기(100)는 지그재그 패턴을 이용하여 제1 영역(1210)을 주행할 수 있다. 구체적으로, (1)→(2)와 같이, 로봇 청소기(100)는 지그재그 패턴을 이용하여 제1 영역(1210)의 일부 영역을 이동하며 청소를 수행할 수 있다. 그리고, 로봇 청소기(100)는 제1 영역(1210)의 나머지 영역을 청소하기 위해, 위치 (3)으로 이동하고, 지그재그 패턴을 이용하여 제1 영역(1210)의 나머지 영역을 이동하며 청소를 수행할 수 있다.
여기에서, 로봇 청소기(100)는 지그재그 패턴을 이용하여 제1 영역(1210)을 주행하는 동안, 제1 타입의 장애물(1230)과 제1 거리 떨어진 지점에서 주행 방향을 변경할 수 있다.
이후, 로봇 청소기(100)는 제1 영역(1210)의 내부에 대한 청소가 완료되면, 제1 영역(1210)의 제1 타입의 장애물(1230)을 따라 이동하기 위해, (4)로 이동할 수 있다. 그리고, 로봇 청소기(100)는 위치 (4)에서부터 제1 타입의 장애물(1230)을 따라 위치(5)로 이동하여, 제1 타입의 장애물(1230)과 근접하여 이동하면서 청소를 수행할 수 있다.
이어서, (5)→(6)와 같이, 로봇 청소기(100)는 제2 영역(1220)으로 이동할 수 있다.
그리고, 로봇 청소기(100)는 지그재그 패턴을 이용하여 제2 영역(1220)을 주행할 수 있다. 구체적으로, (6)→(7)과 같이, 로봇 청소기(100)는 지그재그 패턴을 이용하여 제2 영역(1220)의 일부 영역을 이동하며 청소를 수행할 수 있다. 그리고, 로봇 청소기(100)는 제2 영역(1220)의 다른 영역을 주행하기 위해, (8)로 이동하고, (8)→(9)→(10)과 같이, 지그재그 패턴을 이용하여 이동하며 청소를 수행할 수 있다.
이어서, 로봇 청소기(100)는 임계 크기 미만의 제2 타입의 장애물(1240)이 식별된 경우, 장애물(1240)에 대해 회피 동작을 수행하여, (11)->(12)와 같이, 장애물(1140)의 반대편을 직진으로 이동하며 청소를 수행하고, 다시 지그재그 패턴을 이용하여 이동하며 청소를 수행할 수 있다.
그리고, 로봇 청소기(100)는 임계 크기 이상인 제2 타입의 장애물(1250)이 식별된 경우, (13)과 같이, 장애물(1250)에 대해 회피 동작을 수행하여, 장애물(1250)의 일 측 영역을 지그재그 패턴을 이용하여 이동하며 청소를 수행할 수 있다. 이후, 로봇 청소기(100)는 (14)와 같이, 장애물(1250)의 반대측 영역을 지그재그 패턴을 이용하여 이동하며 청소를 수행할 수 있다.
이어서, 로봇 청소기(100)는 제2 영역(1220)의 다른 영역을 주행하기 위해, (15)로 이동하고, (15)→(16)과 같이, 지그재그 패턴을 이용하여 이동하며 청소를 수행할 수 있다.
그리고, 로봇 청소기(100)는 임계 크기 이상인 제2 타입의 장애물(1260, 1270, 1280) 각각에 대해 회피 동작을 수행하여, (17)과 같이, 장애물(1280)의 반대편을 직진으로 이동하며 청소를 수행하고, 다시 지그재그 패턴을 이용하여 이동하며 청소를 수행할 수 있다.
이어서, 로봇 청소기(100)는 3D 센서 및 카메라 중 적어도 하나를 이용하여 장애물(1290)이 감지된 경우, 장애물(1290)을 회피하여 주행할 수 있다.
이후, 로봇 청소기(100)는 제2 영역(1220)의 내부에 대한 청소가 완료되면, 제2 영역(1220)의 제1 타입의 장애물(1230)을 따라 이동하기 위해, (18)과 같이 제1 타입의 장애물(1230) 근처로 이동하고, (18)→(19)와 같이, 제1 타입의 장애물(1230)과 근접하여 제1 타입의 장애물(1230)을 따라 이동하며 청소를 수행할 수 있다.
한편, 전술한 실시 예에서, 제2 타입의 장애물의 크기가 임계 크기 미만이면, 로봇 청소기(100)가 장애물을 반 바퀴 추가적으로 회전하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니고, 로봇 청소기(100)가 장애물을 추가적으로 회전하는 거리는, 로봇 청소기(100)가 장애물을 추가적으로 회전한 이후, 로봇 청소기(100)가 장애물을 회전하기 전에 주행한 경로를 유지할 수 있도록 결정될 수도 있다. 즉, 프로세서(140)는 로봇 청소기(100)가 장애물을 추가적으로 회전한 이후 장애물의 반대편을 주행할 때, 장애물의 반대편을 주행하는 경로가 로봇 청소기(100)가 장애물을 회전하기 전에 주행한 경로에서 연장된 경로가 될 수 있도록, 로봇 청소기(100)가 장애물을 추가적으로 회전하도록 구동부(110)를 제어할 수 있다.
예를 들어, 도 13a와 같이, 프로세서(140)는 로봇 청소기(100)가 장애물(1310)을 반 바퀴 보다 많이 회전하도록 구동부(110)를 제어할 수 있다. 다른 예로, 도 13b와 같이, 프로세서(140)는 로봇 청소기(100)가 장애물(1310)을 반 바퀴 보다 적게 회전하도록 구동부(110)를 제어할 수 있다.
이와 같이, 프로세서(140)는 장애물(1310)을 회전한 로봇 청소기(100)가 이전 주행 경로를 유지하면서 주행을 할 수 있도록, 로봇 청소기(100)가 장애물(1310)을 추가적으로 회전하도록 구동부(110)를 제어할 수 있다.
한편, 전술한 실시 예에서, 제2 타입의 장애물의 크기가 임계 크기 미만이면, 로봇 청소기(100)가 장애물을 반 바퀴 추가적으로 회전하고, 이전 주행 경로에서 연장된 경로를 따라 장애물의 반대편을 주행하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니고, 프로세서(140)는 로봇 청소기(100)가 이전 주행 경로에서 연장된 경로가 아닌, 장애물을 반 바퀴 회전한 위치부터 이전 주행 방향과 동일한 방향으로 장애물의 반대편을 주행하도록 구동부(110)를 제어할 수 있다.
한편, 로봇 청소기가 장애물을 회전하며 청소를 수행하는 경우, 미청소 영역이 발생할 수 있다. 여기에서, 미청소 영역은 로봇 청소기의 청소 장치에 의해 청소가 되지 않는 영역을 의미할 수 있다.
예를 들어, 도 14a와 같이, 청소 장치(1411)가 로봇 청소기(1410)의 앞쪽에 위치하고, 로봇 청소기(1410)가 원형의 장애물(1420)을 회전하는 경우, 청소 장치가 닿지 않아 청소가 수행되지 않는 미청소 영역(1430)이 발생할 수 있다.
구체적으로, 도 14b와 같이, 중심 부분에 청소 장치(1412)가 위치한 로봇 청소기(1410)가 원형의 장애물(1420)을 회전하는 경우, 청소 장치(1412)에 의해 청소가 되는 영역 즉, 청소 장치(1412)가 지나가는 바닥면은 영역(1440)(즉, 점선으로 표시된 영역)과 같이 나타낼 수 있다. 한편, 앞쪽 부분에 청소 장치(1411)가 위치한 로봇 청소기(1410)가 원형의 장애물(1420)을 회전하는 경우, 청소 장치(1411)에 의해 청소가 되는 영역 즉, 청소 장치(1411)가 지나가는 바닥면은 영역(1450)(즉, 실선으로 표시된 영역)과 같이 나타낼 수 있다.
이와 같이, 로봇 청소기의 앞쪽 부분보다 중심 부분에 청소 장치가 위치된 경우, 청소 장치가 로봇 청소기의 바퀴들의 회전축에 상대적으로 더 가깝고, 이에 따라, 로봇 청소기가 장애물을 회전할 때, 청소 장치가 상대적으로 장애물에 더 밀착되게 된다. 따라서, 청소 장치가 로봇 청소기의 앞쪽 부분에 위치하는 경우, 중심 부분에 위치하는 경우에 비해, 청소 장치에 의해 청소가 수행되지 않는 미청소 영역이 발생하게 된다. 예를 들어, 도 14b에서는 미청소 영역(1460)이 발생될 수 있다.
한편, 도 14a 및 도 14b에서는 청소 장치가 로봇 청소기(1410)의 앞쪽에 위치하는 경우를 도시하였으나, 청소 장치가 로봇 청소기(1410)의 뒤쪽에 위치하는 경우에도, 미청소 영역이 발생할 수 있다.
이와 같이, 로봇 청소기가 장애물에 대한 청소를 수행하였음에도, 장애물 근처에 이물질이 그대로 남아 있을 수 있는 문제를 해소하기 위해, 본 개시에서 로봇 청소기(100)는 장애물에 대한 회전 시, 후진 동작을 수행할 수 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하는 동안, 임계 거리 만큼 이동하면 로봇 청소기(100)를 일정 거리 만큼 후진시킨 후 다시 원 위치로 복귀시키고 로봇 청소기(100)가 복귀된 위치부터 이동하도록 구동부(110)를 제어할 수 있다.
여기에서, 로봇 청소기(100)가 임계 거리 만큼 이동한다는 것은 로봇 청소기(100)가 원형의 장애물을 회전할 때, 로봇 청소기(100)가 일정한 각도만큼 회전된다는 것을 의미할 수 있다. 이 경우, 로봇 청소기(100)가 장애물을 회전하는 각도는 제조 시 기설정되어 있거나, 사용자에 의해 설정 또는 변경될 수 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하면서 청소를 수행하도록 제어할 수 있다. 이때, 프로세서(140)는 로봇 청소기(100)가 장애물을 회전하는 동안, SLAM을 이용하여 로봇 청소기(100)의 위치 및 회전각을 획득하고, 획득된 회전각에 기초하여 로봇 청소기(100)가 일정한 각도만큼 회전된 것으로 식별되면, 회전 동작을 중단하고, 로봇 청소기(100)가 일정한 거리만큼 후진하도록 구동부(110)를 제어할 수 있다. 여기에서, 로봇 청소기(100)가 후진하는 거리는 로봇 청소기(100)와 장애물 간의 거리, 장애물의 사이즈, 제조 시 기설정된 값 또는 사용자에 의해 설정(또는 변경)된 값 중 적어도 하나에 기초하여 결정될 수 있다.
그리고, 프로세서(140)는 획득된 로봇 청소기(100)의 위치 및 라이다 센서를 통해 획득된 장애물과의 거리에 기초하여 로봇 청소기(100)가 후진을 시작한 위치로 이동하도록 구동부(110)를 제어할 수 있다. 이어서, 프로세서(140)는 로봇 청소기(100)가 후진을 시작한 위치부터 다시 장애물을 회전하도록 구동부(110)를 제어할 수 있다. 이 경우, 프로세서(140)는 로봇 청소기(100)가 장애물을 일정한 거리만큼 회전할때마다, 이러한 동작을 반복적으로 수행할 수 있다.
예를 들어, 도 15와 같이, 로봇 청소기(100)가 장애물(1510)을 회전하는 경우를 가정한다. 이때, 프로세서(140)는 로봇 청소기(100)가 장애물(1510)을 일정한 거리만큼 회전하면, 회전 동작을 중단하도록 구동부(110)를 제어하고(도 15의 ①), 로봇 청소기(100)가 일정한 거리만큼 후진한 후 다시 원래 위치로 이동하도록 구동부(110)를 제어할 수 있다(도 15의 ②,③).
이어서, 프로세서(140)는 원래 위치로 복귀된 로봇 청소기(100)가 다시 장애물(1510)을 회전하도록 구동부(110)를 제어할 수 있다(도 15의 ④). 이후, 프로세서(140)는 로봇 청소기(100)가 장애물(1510)을 일정한 거리만큼 회전하면 회전 동작을 중단하고, 다시 로봇 청소기(100)가 일정한 거리만큼 후진한 후 다시 원래 위치로 이동하도록 구동부(110)를 제어할 수 있다(도 15의 ⑤). 결국, 프로세서(140)는 로봇 청소기(100)가 장애물(1510)을 일정한 거리만큼 회전할 때마다, 후진 및 원 위치 복귀 동작을 반복적으로 수행하면서, 로봇 청소기(100)가 장애물(1510)을 회전하면서 청소를 수행하도록 제어할 수 있다.
이와 같이, 로봇 청소기(100)가 장애물에 대한 회전 시, 후진 동작을 수행하는 경우, 미청소 영역이 줄어들 수 있다.
예를 들어, 원형의 장애물의 반지름이 로봇 청소기(100)의 반지름보다 작거나 같은 경우를 가정한다.
여기에서, 도 16a의 (a)와 같이, 앞쪽 부분에 청소 장치(1610)가 위치한 로봇 청소기(100)가 후진 동작을 수행하지 않고, 원형의 장애물(1620)을 회전하였을 때 발생되는 미청소 영역(1630)의 사이즈는 와 같이 나타낼 수 있다. 여기에서, r1은 장애물(1620)의 반지름이고, r2는 미청소 영역(1630)의 바깥쪽 원의 반지름이다.
이때, 장애물(1620)의 반지름 r1이 로봇 청소기(100)의 반지름 b 보다 작거나 같은 경우, 로봇 청소기(100)가 예를 들어, 장애물(1620)을 90도만큼 회전할 때마다 후진 동작을 수행하는 경우, 도 16a의 (b)와 같이, 4 개의 영역(1641, 1642, 1643, 1644)은 청소될 수 있다. 따라서, 도 16a의 (c)와 같이, 후진 동작을 수행하는 경우, 미청소 영역(1650)의 사이즈는 와 같이 나타낼 수 있다.
다른 예로, 원형의 장애물의 반지름이 로봇 청소기(100)의 반지름보다 큰 경우를 가정한다.
도 16b의 (a)와 같이, 앞쪽 부분에 청소 장치(1610)가 위치한 로봇 청소기(100)가 후진 동작을 수행하지 않고, 원형의 장애물(1660)을 회전하였을 때 발생되는 미청소 영역(1670)의 사이즈는 와 같이 나타낼 수 있다. 여기에서, r1은 장애물(1660)의 반지름이고, r2는 미청소 영역(1670)의 바깥쪽 원의 반지름이다.
이때, 장애물(1660)의 반지름 r1이 로봇 청소기(100)의 반지름 b 보다 큰 경우, 로봇 청소기(100)가 예를 들어, 장애물(1620)을 90도만큼 회전할 때마다 후진 동작을 수행하는 경우, 도 16b의 (b)와 같이, 4 개의 영역(1681, 1682, 1683, 1684)은 청소될 수 있다. 따라서, 도 16b의 (c)와 같이, 후진 동작을 수행하는 경우, 미청소 영역(1690)의 사이즈는 와 같이 나타낼 수 있다. 여기에서, n은 로봇 청소기(100)가 장애물을 회전할 때, 후진하는 횟수를 의미하고, 가령, 전술한 예에서, 로봇 청소기(100)가 장애물(1620)을 90도만큼 회전할 때마다 후진 동작을 수행한다는 점에서, n은 4일 수 있다. 그리고, 이다. 이러한 점에서 볼 때, 장애물의 반지름이 로봇 청소기(100)의 반지름보다 큰 경우, 장애물 크기에 따라 후진 동작을 수행하는 최적의 횟수 no은 이고, 이때, 로봇 청소기(100)가 후진 동작을 위해, 장애물을 회전하는 각도 θo는 와 같다.
한편, 도 16a 및 도 16b에서는 로봇 청소기(100)가 장애물을 회전하는 동안 4 번의 후진 동작을 수행하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니고, 로봇 청소기(100)는 장애물을 회전하는 동안 최소 2 번 이상의 후진 동작을 수행할 수 있다. 또한, 로봇 청소기(100)는 원형의 장애물 뿐만 아니라, 사각형 등 다양한 형상의 장애물을 회전할 때, 후진 동작을 수행할 수 있다.
한편, 전술한 바와 같이, 로봇 청소기(100)는 영역 별로 주행할 수 있다. 이 경우, 프로세서(140)는 로봇 청소기(100)를 영역 별로 주행하기 위해, 영역의 통로에 분할선을 설정하고, 로봇 청소기(100)가 분할선에 기초하여 정의되는 영역을 주행하도록 구동부(110)를 제어할 수 있다. 이때, 본 개시에서는 로봇 청소기(100)가 위치하는 영역에 따라 분할선을 통로의 다른 위치에 설정할 수 있다.
구체적으로, 맵의 복수의 영역이 제1 영역 및 제2 영역을 포함하고, 서로 인접한 제1 영역과 제2 영역이 통로를 통해 연결된 것을 가정한다.
이 경우, 프로세서(140)는 청소 영역이 제1 영역인 경우, 통로에 설정된 제1 분할선에 기초하여 로봇 청소기(100)가 제1 영역을 주행하도록 구동부(110)를 제어하고, 청소 영역이 제2 영역인 경우, 통로에 설정된 제2 분할선에 기초하여 로봇 청소기(100)가 제2 영역을 주행하도록 구동부(110)를 제어할 수 있다. 여기에서, 제1 분할선과 제2 분할선은 통로 내에서 서로 다른 위치에 설정될 수 있다.
예를 들어, 도 17과 같이, 제1 영역(1710)과 제2 영역(1720)이 통로(1730)를 통해 연결되는 경우를 가정한다.
프로세서(140)는 SLAM 알고리즘을 이용하여, 맵 상에서 로봇 청소기(100)의 위치를 식별할 수 있다.
이때, 도 17의 (a)와 같이, 프로세서(140)는 로봇 청소기(100)가 제1 영역(1710)에 위치하는 경우, 통로(1730)에서 제1 영역(1710)보다 제2 영역(1720)에 인접한 위치에 분할선(1740)을 설정하고, 로봇 청소기(100)가 분할선(1740)에 기초하여 정의되는 제1 영역(1710)을 이동하며 청소를 수행하도록 제어할 수 있다.
또한, 도 17의 (b)와 같이, 프로세서(140)는 로봇 청소기(100)가 제2 영역(1720)에 위치하는 경우, 통로(1730)에서 제2 영역(1720)보다 제1 영역(1710)에 인접한 위치에 분할선(1750)을 설정하고, 로봇 청소기(100)가 분할선(1750)에 기초하여 정의되는 제2 영역(1720)을 이동하며 청소를 수행하도록 제어할 수 있다.
이와 같이, 본 개시에서는 로봇 청소기(100)의 위치에 따라 영역의 구분을 위한 분할선을 설정한다는 점에서, 통로에서 미청소 영역이 발생되는 것을 방지할 수 있게 된다.
한편, 전술한 예에서는, 프로세서(140)가 로봇 청소기(100)가 위치하는 공간에 대한 맵을 생성하고, 맵을 복수의 영역으로 구분하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니고, 프로세서(140)는 맵을 생성하는 과정에서, 맵에서 영역을 구분할 수도 있다. 즉, 프로세서(140)는 전체 맵이 생성된 경우가 아니라, 맵의 일부가 생성된 경우라도, 전술한 방법을 통해 영역을 식별할 수 있다. 그리고, 이와 같이 영역이 식별되면, 프로세서(140)는 로봇 청소기(100)가 영역에 대한 청소를 수행하도록 제어할 수 있다.
한편, 전술한 예에서는, 로봇 청소기(100)가 영역 별로, 청소를 수행하는 것으로 설명하였다. 다만, 이 예에 국한되는 것은 아니며, 로봇 청소기(100)는 맵을 전체적으로 이동하며 청소를 수행할 수도 있다. 즉, 청소 영역이 맵 전체가 될 수도 있다.
한편, 전술한 바와 같이, 로봇 청소기(100)는 청소 영역을 주행할 때, 제2 타입의 장애물을 한 바퀴 회전하는 동작 및 제1 타입의 장애물을 따라 이동하는 동작 등을 수행하며, 청소 영역에 대한 청소를 수행할 수 있다. 또한, 로봇 청소기(100)는 지그재그 패턴으로 주행 시, 일정한 간격(가령, 도 3의 31)만큼 떨어진 경로들을 따라 주행할 수 있다.
여기에서, 로봇 청소기(100)가 청소 영역을 주행할 때 수행하는 동작 및 지그재그 패턴 시의 간격 등은 사용자 명령에 따라 설정될 수 있다.
이 경우, 사용자 명령은 예를 들어, 도 18과 같이, 서버(1800)를 통해 로봇 청소기(100)에 연결된 전자 장치(1900)에 입력될 수 있다. 여기에서, 전자 장치(1900)는 스마트폰, 태블릿, 웨어러블 장치 등으로 구현될 수 있다.
이를 위해, 로봇 청소기(100)는 서버(1800)와 통신을 수행할 수 있다. 예를 들어, 로봇 청소기(100)는 와이파이 통신을 이용하여 서버(1800)와 통신을 수행할 수 있다.
서버(1800)는 서버(1800)에 등록된 다양한 기기(가령, 가전 기기 및 IoT(Internet of Things) 기기 등)를 제어하고 관리할 수 있다. 이때, 서버(1800)는 사용자 계정 별로 기기를 등록할 수 있다.
구체적으로, 전자 장치(1900)는 어플리케이션을 제공하는 서버(미도시)로부터 어플리케이션을 다운로드받아 설치할 수 있다. 이 경우, 사용자는 전자 장치(1900)에서 어플리케이션을 실행하고 사용자 계정을 입력하여, 입력된 사용자 계정을 통해 서버(1800)에 로그인하고, 로봇 청소기(100)를 등록시킬 수 있다.
한편, 로봇 청소기(100)가 사용자 계정에 등록되면, 서버(1800)는 등록된 사용자 계정을 기반으로 서버(1800)와 통신을 수행하는 전자 장치(1900)로 로봇 청소기(100)와 관련된 데이터를 전송하고, 전자 장치(1900)에 입력된 사용자 명령에 따라 로봇 청소기(100)를 제어하기 위한 제어 신호를 로봇 청소기(100)로 전송할 수 있다. 이 경우, 사용자는 전자 장치(1900)에 설치된 어플리케이션을 실행하고, 어플리케이션을 통해 로봇 청소기(100)를 제어하기 위한 사용자 명령을 입력할 수 있다.
예를 들어, 도 19의 (a)과 같이, 전자 장치(1900)에서 어플케이션이 실행되면, 어플리케이션의 실행 화면(1910)이 전자 장치(1900)에 표시될 수 있다. 그리고, 전자 장치(1900)는 실행 화면(1910)에서 로봇 청소기(100)에 대응되는 GUI(1920)가 선택되면, 도 19의 (b)와 같이, 로봇 청소기(100)를 제어하기 위한 유저 인터페이스(1930)를 표시할 수 있다. 그리고, 전자 장치(1900)는 유저 인터페이스(1930)에서 로봇 청소기(100)의 모드를 설정하기 위한 GUI(1940)이 선택되면, 도 19의 (c)와 같이, 로봇 청소기(100)의 모드를 설정하기 위한 유저 인터페이스(1950)를 표시할 수 있다.
이에 따라, 사용자는 유저 인터페이스(1950)를 통해, 로봇 청소기(100)가 벽 청소 및 장애물 청소를 수행할 것인지를 설정하고, 로봇 청소기(100)의 청소 툴을 동작시킬 것인지를 설정할 수 있다. 또한, 사용자는 유저 인터페이스(1950)를 통해, 지그재그 패턴으로 주행 시, 청소 줄 간격을 설정할 수 있다.
이 경우, 전자 장치(1900)는 유저 인터페이스(1950)를 통해 입력된 사용자 명령을 서버(1800)로 전송하고, 서버(1800)는 사용자 명령에 따라 로봇 청소기(100)를 제어하기 위한 제어 신호를 로봇 청소기(100)로 전송할 수 있다. 이 경우, 프로세서(140)는 서버(1800)로부터 수신된 제어 신호에 기초하여, 로봇 청소기(100)의 동작을 제어할 수 있다.
여기에서, 벽 청소는 청소 영역에 대한 청소가 완료된 후, 제1 타입의 장애물을 따라 주행하며 청소를 수행하는 것을 의미한다. 이에 따라, 프로세서(140)는 로봇 청소기(100)가 벽 청소를 수행하는 것으로 설정되면, 로봇 청소기(100)가 제1 타입의 장애물을 따라 주행하며 청소를 수행하도록 제어할 수 있다. 또한, 프로세서(140)는 로봇 청소기(100)가 벽 청소를 수행하지 않는 것으로 설정되면, 로봇 청소기(100)가 청소 영역 내부에 대해서만 청소를 수행하도록 제어할 수 있다.
또한, 장애물 청소는 제2 타입의 장애물을 한 바퀴 회전하며 청소를 수행하는 것을 의미한다. 이에 따라, 프로세서(140)는 로봇 청소기(100)가 장애물 청소를 수행하는 것으로 설정되면, 로봇 청소기(100)가 제2 타입의 장애물을 회전하며 청소를 수행하도록 제어할 수 있다. 또한, 프로세서(140)는 로봇 청소기(100)가 장애물 청소를 수행하지 않는 것으로 설정되면, 로봇 청소기(100)가 제2 타입의 장애물을 한 바퀴 회전하지 않고 제2 타입의 장애물에 대해 회피 동작을 수행하도록 제어할 수 있다. 예를 들어, 프로세서(140)는 로봇 청소기(100)가 장애물을 한 바퀴 회전하지 않고 반 바퀴만 회전한 후 장애물의 반대편에서 주행하도록 제어하거나, 로봇 청소기(100)가 장애물을 한 바퀴 회전하지 않고 장애물의 일 측 영역을 지그재그 패턴을 이용하여 주행하도록 제어할 수 있다.
또한, 프로세서(140)는 로봇 청소기(100)가 지그재그 패턴으로 주행할 때, 로봇 청소기(100)가 주행하는 경로들 간의 간격을 사용자 명령에 기초하여 설정된 청소 줄 간격에 기초하여 조절할 수 있다.
이와 같이, 본 개시에서는 사용자 명령에 따라 로봇 청소기(100)의 다양한 청소 동작을 설정할 수 있다는 점에서, 로봇 청소기(100)의 청소 효율이 보다 향상될 수 있다.
또한, 프로세서(140)는 로봇 청소기(100)가 청소 장치(즉, 청소 툴)를 구동하는 것으로 설정되면, 로봇 청소기(100)가 청소 영역을 이동하면서 청소를 수행하도록 제어할 수 있다. 그리고, 프로세서(140)는 로봇 청소기(100)가 청소 장치를 구동하지 않는 것으로 설정되면, 로봇 청소기(100)가 청소 장치를 구동하지 않고, 청소 영역을 이동하도록 제어할 수 있다.
이 경우, 사용자는 로봇 청소기(100)가 맵을 생성하기 위해 공간을 주행할 때, 로봇 청소기(100)가 청소 장치를 구동하지 않는 것으로 설정할 수 있다. 이에 따라, 전력 측면에서 로봇 청소기(100)에 대한 효율이 증가될 수 있다.
도 20는 본 개시의 일 실시 예에 따른 로봇 청소기의 세부 구성을 설명하기 위한 블록도이다.
도 20에 도시된 바와 같이, 로봇 청소기(100)는 구동부(110), 센서(120), 메모리(130) 및 프로세서(140) 뿐만 아니라, 청소 장치(150), 통신부(160), 입력부(170) 및 출력부(180) 등을 더 포함할 수 있다. 그러나, 이와 같은 구성은 예시적인 것으로서, 본 개시를 실시함에 있어 이와 같은 구성에 더하여 새로운 구성이 추가되거나 일부 구성이 생략될 수 있음을 물론이다. 한편, 도 20을 설명함에 있어, 도 1 내지 도 19와 중복되는 설명은 생략하도록 한다.
센서(120)는 라이다 센서(121), 자이로 센서(122), 엔코더(123), 3D 센서(124) 및 카메라(125)를 포함할 수 있다.
라이다 센서(121)는 360도 회전하며 레이저를 조사하여, 로봇 청소기(100)와 주변의 물체 사이의 거리를 감지하고, 감지된 정보를 프로세서(140)로 제공할 수 있다. 자이로 센서(122)는 로봇 청소기(100)의 각속도를 감지하고, 감지된 정보를 프로세서(140)로 제공할 수 있다. 엔코더(123)는 로봇 청소기(100)의 본체의 좌측 및 우측에 각각 설치된 바퀴의 회전수를 감지하고, 감지된 정보를 프로세서(140)로 제공할 수 있다. 3D 센서(124)는 로봇 청소기(100)와 주변의 물체와의 거리를 감지하고, 감지된 정보를 프로세서(140)로 제공할 수 있다. 카메라는 전자 장치(100)의 주변을 촬영하여, 전자 장치(100)의 주변에 대한 적어도 하나의 이미지를 획득하고, 획득된 이미지를 프로세서(140)로 제공할 수 있다.
청소 장치(150)는 이물질을 흡입할 수 있다. 이를 위해, 청소 장치(150)는 브러쉬, 모터 및 먼지 통 등을 포함할 수 있다. 구체적으로, 프로세서(140)는 이물질을 수거하기 위한 브러쉬를 회전시키고 모터 등을 통해 흡입력을 발생시켜, 로봇 청소기(100)가 주행하는 바닥면으로부터 이물질을 흡입할 수 있다. 이와 같이, 프로세서(140)는 로봇 청소기(100)가 청소 영역을 이동하는 동안에 청소 동작을 수행하도록 청소 장치(150)를 제어할 수 있다. 이때, 흡입된 이물질은 먼지 통에 수용될 수 있다. 또한, 실시 예에 따라, 청소 장치(150)는 걸레를 더 포함할 수도 있다.
통신부(160)는 회로를 포함하며, 외부 장치와의 통신을 수행할 수 있다. 프로세서(140)는 통신부(160)를 통해 연결된 외부 장치로부터 각종 데이터 또는 정보를 수신할 수 있으며, 외부 장치로 각종 데이터 또는 정보를 전송할 수도 있다.
구체적으로, 프로세서(140)는 통신부(160)를 통해 로봇 청소기(100)와 관련된 데이터를 서버(1800)로 전송할 수 있다. 그리고, 프로세서(140)는 로봇 청소기(100)를 제어하기 위한 제어 신호가 통신부(160)를 통해 서버(1800)로부터 수신되면, 수신된 제어 신호에 기초하여 로봇 청소기(100)의 동작을 제어할 수 있다. 예를 들어, 프로세서(140)는 로봇 청소기(100)가 청소 영역을 주행할 때 수행하는 동작(가령, 벽 청소, 장애물 청소, 청소 툴 동작 여부 등)을 제어할 수 있고, 지그재그 시의 간격을 조절할 수 있다.
입력부(170)는 회로를 포함하며, 로봇 청소기(100)에서 지원하는 각종 기능을 설정 또는 선택하기 위한 사용자 명령을 입력받을 수 있다. 이를 위해, 입력부(170)는 복수의 버튼을 포함할 수 있고, 디스플레이(181)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.
이 경우, 프로세서(140)는 입력부(170)를 통해 입력된 사용자 명령에 기초하여 로봇 청소기(100)의 동작을 제어할 수 있다. 예를 들어, 프로세서(140)는 로봇 청소기(100)의 입력부(170)를 통해 입력된 로봇 청소기(100)의 온/오프 명령, 로봇 청소기(100)의 기능의 온/오프 명령 등에 기초하여, 로봇 청소기(100)를 제어할 수 있다. 뿐만 아니라, 프로세서(140)는 입력부(170)를 통해 사용자 명령에 기초하여 로봇 청소기(100)가 청소 영역을 주행할 때 수행하는 동작(가령, 벽 청소, 장애물 청소, 청소 툴 동작 여부 등)을 제어할 수 있고, 지그재그 시의 간격을 조절할 수도 있다.
출력부(180)는 디스플레이(181) 및 스피커(182)를 포함할 수 있다.
디스플레이(181)는 다양한 정보를 표시할 수 있다. 이를 위해, 디스플레이(181)는 LCD(Liquid Crystal Display) 등으로 구현될 수 있으며, 입력부(170)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.
구체적으로, 프로세서(140)는 로봇 청소기(100)의 동작과 관련된 정보(예를 들어, 청소 진행 시간, 현재 청소 모드(즉, 흡입 강도), 배터리 정보, 충전 여부, 먼지 통에 먼지가 가득 찼는지 여부, 에러 상태 등의 정보)를 디스플레이(181)에 표시할 수 있다.
스피커(182)는 오디오를 출력할 수 있다. 구체적으로, 프로세서(140)는 로봇 청소기(100)의 동작과 관련된 다양한 알림음 또는 음성 안내 메시지를 스피커(182)를 통해 출력할 수 있다.
도 21은 본 개시의 일 실시 예에 따른 로봇 청소기의 제어 방법을 설명하기 위한
로봇 청소기의 센서를 통해 획득된 정보에 기초하여 맵에 포함된 청소 영역을 주행하는 동안, 청소 영역에 위치한 장애물의 타입을 식별할 수 있다(S2110).
그리고, 청소 영역을 주행하는 동안, 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 주행 방향을 변경할 수 있다(S2120).
구체적으로, S2120 단계는 장애물이 제1 타입의 장애물인 것으로 식별되면, 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하고, 장애물이 제2 타입의 장애물인 것으로 식별되면, 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경할 수 있다. 여기에서, 제2 거리는 제1 거리 보다 짧을 수 있다.
또한, S2120 단계는, 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하여, 지그재그 패턴으로 주행하고, 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하여, 제2 타입의 장애물을 회전할 수 있다.
이 경우, 제2 타입의 장애물의 크기를 식별하고, 제2 타입의 장애물의 크기가 임계 크기 미만이면, 제2 타입의 장애물을 회전한 후 이전 주행 방향과 동일한 방향으로 주행하고, 제2 타입의 장애물의 크기가 임계 크기 이상이면, 제2 타입의 장애물을 회전한 후 지그재그 패턴으로 주행할 수 있다.
구체적으로, 제2 타입의 장애물을 한 바퀴 회전하는 동안 센서를 통해 획득된 정보에 기초하여 제2 타입의 장애물의 크기를 식별하고, 제2 타입의 장애물의 크기가 임계 크기 미만이면, 제2 타입의 장애물을 반 바퀴 추가적으로 회전한 후 이전 주행 방향과 동일한 방향으로 주행하고, 제2 타입의 장애물의 크기가 임계 크기 이상이면, 제2 타입의 장애물을 기준으로 일 측 영역을 지그재그 패턴으로 주행할 수 있다.
그리고, 제2 타입의 장애물을 한 바퀴 회전하는 동안, 임계 거리 만큼 이동하면 일정 거리 만큼 후진한 후 다시 원 위치로 복귀하고, 복귀된 위치부터 다시 이동할 수 있다.
또한, 청소 영역에 대한 주행이 완료되면, 제1 타입의 장애물을 따라 주행할 수 있다.
한편, 맵은 복수의 영역으로 구분되고, 복수의 영역은 통로를 통해 연결된 제1 및 제2 영역을 포함할 수 있다. 여기에서, 청소 영역이 상기 제1 영역인 경우, 통로에 설정된 제1 분할선에 기초하여 제1 영역을 주행하고, 청소 영역이 제2 영역인 경우, 통로에 설정된 제2 분할선에 기초하여 제2 영역을 주행할 수 있다. 이때, 제1 분할선과 제2 분할선은 통로 내에서 서로 다른 위치에 설정될 수 있다.
한편, 이러한 로봇 청소기의 주행 방법에 대해서는 도 1 내지 도 20에서 구체적으로 상술한 바 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서 상술한 바와 같은 본 개시의 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
Claims (15)
- 로봇 청소기에 있어서,구동부;상기 로봇 청소기가 위치한 공간에 대한 맵이 저장된 메모리; 및상기 센서를 통해 획득된 정보에 기초하여 상기 로봇 청소기가 상기 맵에 포함된 청소 영역을 주행하도록 상기 구동부를 제어하는 프로세서;를 포함하며,상기 프로세서는,상기 로봇 청소기가 상기 청소 영역을 주행하는 동안, 상기 청소 영역에 위치한 장애물의 타입을 식별하고, 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 상기 로봇 청소기의 주행 방향을 변경하도록 상기 구동부를 제어하는 로봇 청소기.
- 제1항에 있어서,상기 프로세서는,상기 장애물이 제1 타입의 장애물인 것으로 식별되면, 상기 로봇 청소기가 상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하도록 상기 구동부를 제어하고,상기 장애물이 제2 타입의 장애물인 것으로 식별되면, 상기 로봇 청소기가 상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하도록 상기 구동부를 제어하며,상기 제2 거리는, 상기 제1 거리 보다 짧은 로봇 청소기.
- 제2항에 있어서,상기 프로세서는,상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 상기 로봇 청소기의 주행 방향을 변경하여, 상기 로봇 청소기가 지그재그(zigzag) 패턴으로 주행하도록 상기 구동부를 제어하고,상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 상기 로봇 청소기의 주행 방향을 변경하여, 상기 로봇 청소기가 상기 제2 타입의 장애물을 회전하도록 상기 구동부를 제어하는 로봇 청소기.
- 제2항에 있어서,상기 프로세서는,상기 청소 영역에 대한 주행이 완료되면, 상기 로봇 청소기가 상기 제1 타입의 장애물을 따라 주행하도록 상기 구동부를 제어하는 로봇 청소기.
- 제3항에 있어서,상기 프로세서는,상기 제2 타입의 장애물의 크기를 식별하고,상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 회전한 후 이전 주행 방향과 동일한 방향으로 주행하도록 상기 구동부를 제어하고,상기 제2 타입의 장애물의 크기가 임계 크기 이상이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 회전한 후 지그재그 패턴으로 주행하도록 상기 구동부를 제어하는 로봇 청소기.
- 제5항에 있어서,상기 프로세서는,상기 로봇 청소기가 상기 제2 타입의 장애물을 한 바퀴 회전하는 동안 상기 센서를 통해 획득된 정보에 기초하여 상기 제2 타입의 장애물의 크기를 식별하고,상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 반 바퀴 추가적으로 회전한 후 이전 주행 방향과 동일한 방향으로 주행하도록 상기 구동부를 제어하고,상기 제2 타입의 장애물의 크기가 상기 임계 크기 이상이면, 상기 로봇 청소기가 상기 제2 타입의 장애물을 기준으로 일 측 영역을 상기 지그재그 패턴으로 주행하도록 상기 구동부를 제어하는 로봇 청소기.
- 제5항에 있어서,상기 프로세서는,상기 로봇 청소기가 상기 제2 타입의 장애물을 한 바퀴 회전하는 동안, 임계 거리 만큼 이동하면 상기 로봇 청소기를 일정 거리 만큼 후진시킨 후 다시 원 위치로 복귀시키고 상기 로봇 청소기가 상기 복귀된 위치부터 다시 이동하도록 상기 구동부를 제어하는 로봇 청소기.
- 제1항에 있어서,상기 맵은, 복수의 영역으로 구분되고,상기 복수의 영역은, 통로를 통해 연결된 제1 및 제2 영역을 포함하고,상기 프로세서는,상기 청소 영역이 상기 제1 영역인 경우, 상기 통로에 설정된 제1 분할선에 기초하여 상기 로봇 청소기가 상기 제1 영역을 주행하도록 상기 구동부를 제어하고, 상기 청소 영역이 상기 제2 영역인 경우, 상기 통로에 설정된 제2 분할선에 기초하여 상기 로봇 청소기가 상기 제2 영역을 주행하도록 상기 구동부를 제어하며,상기 제1 분할선과 상기 제2 분할선은, 상기 통로 내에서 서로 다른 위치에 설정되는 로봇 청소기.
- 센서를 포함하는 로봇 청소기의 주행 방법에 있어서,상기 센서를 통해 획득된 정보에 기초하여 맵에 포함된 청소 영역을 주행하는 동안, 상기 청소 영역에 위치한 장애물의 타입을 식별하는 단계; 및상기 청소 영역을 주행하는 동안, 상이한 타입의 장애물에 대해, 상이한 이격 거리에서 주행 방향을 변경하는 단계;를 포함하는 주행 방법.
- 제9항에 있어서,상기 주행 방향을 변경하는 단계는,상기 장애물이 제1 타입의 장애물인 것으로 식별되면, 상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하고, 상기 장애물이 제2 타입의 장애물인 것으로 식별되면, 상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하며,상기 제2 거리는, 상기 제1 거리 보다 짧은 주행 방법.
- 제10항에 있어서,상기 주행 방향을 변경하는 단계는,상기 제1 타입의 장애물로부터 제1 거리만큼 떨어진 지점에서 주행 방향을 변경하여, 지그재그(zigzag) 패턴으로 주행하는 단계; 및상기 제2 타입의 장애물로부터 제2 거리만큼 떨어진 지점에서 주행 방향을 변경하여, 상기 제2 타입의 장애물을 회전하는 단계;를 더 포함하는 주행 방법.
- 제10항에 있어서,상기 청소 영역에 대한 주행이 완료되면, 상기 제1 타입의 장애물을 따라 주행하는 단계;를 더 포함하는 주행 방법.
- 제11항에 있어서,상기 제2 타입의 장애물의 크기를 식별하는 단계;상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 제2 타입의 장애물을 회전한 후 이전 주행 방향과 동일한 방향으로 주행하는 단계; 및상기 제2 타입의 장애물의 크기가 임계 크기 이상이면, 상기 제2 타입의 장애물을 회전한 후 지그재그 패턴으로 주행하는 단계;를 더 포함하는 주행 방법.
- 제13항에 있어서,상기 제2 타입의 장애물의 크기를 식별하는 단계는,상기 제2 타입의 장애물을 한 바퀴 회전하는 동안 상기 센서를 통해 획득된 정보에 기초하여 상기 제2 타입의 장애물의 크기를 식별하고,상기 동일한 방향으로 주행하는 단계는,상기 제2 타입의 장애물의 크기가 임계 크기 미만이면, 상기 제2 타입의 장애물을 반 바퀴 추가적으로 회전한 후 이전 주행 방향과 동일한 방향으로 주행하고,상기 지그재그 패턴으로 주행하는 단계는,상기 제2 타입의 장애물의 크기가 상기 임계 크기 이상이면, 상기 제2 타입의 장애물을 기준으로 일 측 영역을 상기 지그재그 패턴으로 주행하는 주행 방법.
- 제13항에 있어서,상기 제2 타입의 장애물을 한 바퀴 회전하는 동안, 임계 거리 만큼 이동하면 일정 거리 만큼 후진한 후 다시 원 위치로 복귀하고, 상기 복귀된 위치부터 다시 이동하는 단계;를 더 포함하는 주행 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21886565.7A EP4186405A4 (en) | 2020-10-28 | 2021-09-17 | CLEANING ROBOTS AND CONTROL METHODS THEREFOR |
US18/177,500 US20230200611A1 (en) | 2020-10-28 | 2023-03-02 | Robot cleaner and driving method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200141407A KR20220056643A (ko) | 2020-10-28 | 2020-10-28 | 로봇 청소기 및 그의 주행 방법 |
KR10-2020-0141407 | 2020-10-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/177,500 Continuation US20230200611A1 (en) | 2020-10-28 | 2023-03-02 | Robot cleaner and driving method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022092571A1 true WO2022092571A1 (ko) | 2022-05-05 |
Family
ID=81384174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/012782 WO2022092571A1 (ko) | 2020-10-28 | 2021-09-17 | 로봇 청소기 및 그의 주행 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230200611A1 (ko) |
EP (1) | EP4186405A4 (ko) |
KR (1) | KR20220056643A (ko) |
WO (1) | WO2022092571A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024090040A1 (ja) * | 2022-10-28 | 2024-05-02 | ソニーグループ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
EP4364630A1 (de) * | 2022-11-04 | 2024-05-08 | BSH Hausgeräte GmbH | Verfahren zum betrieb eines mobilen, selbstfahrenden geräts |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116998952A (zh) * | 2022-10-27 | 2023-11-07 | 北京石头创新科技有限公司 | 清洁机器人清洁方法及装置、介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016051343A (ja) * | 2014-08-29 | 2016-04-11 | 株式会社東芝 | 自律走行体 |
KR101649665B1 (ko) * | 2015-04-29 | 2016-08-30 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
JP2018196824A (ja) * | 2018-09-25 | 2018-12-13 | みこらった株式会社 | 電気掃除装置及び電気掃除装置用のプログラム |
KR101930870B1 (ko) * | 2016-08-03 | 2018-12-20 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20190103511A (ko) * | 2018-02-12 | 2019-09-05 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6599603B2 (ja) * | 2014-04-18 | 2019-10-30 | 東芝ライフスタイル株式会社 | 自律走行体 |
KR101849972B1 (ko) * | 2016-12-27 | 2018-05-31 | 엘지전자 주식회사 | 로봇 청소기 및 그의 제어방법 |
KR102301758B1 (ko) * | 2018-12-07 | 2021-09-14 | 주식회사 유진로봇 | 자율 주행 가능한 이동 로봇 및 이의 주행 제어 방법 |
-
2020
- 2020-10-28 KR KR1020200141407A patent/KR20220056643A/ko unknown
-
2021
- 2021-09-17 WO PCT/KR2021/012782 patent/WO2022092571A1/ko unknown
- 2021-09-17 EP EP21886565.7A patent/EP4186405A4/en active Pending
-
2023
- 2023-03-02 US US18/177,500 patent/US20230200611A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016051343A (ja) * | 2014-08-29 | 2016-04-11 | 株式会社東芝 | 自律走行体 |
KR101649665B1 (ko) * | 2015-04-29 | 2016-08-30 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR101930870B1 (ko) * | 2016-08-03 | 2018-12-20 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
KR20190103511A (ko) * | 2018-02-12 | 2019-09-05 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
JP2018196824A (ja) * | 2018-09-25 | 2018-12-13 | みこらった株式会社 | 電気掃除装置及び電気掃除装置用のプログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP4186405A4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024090040A1 (ja) * | 2022-10-28 | 2024-05-02 | ソニーグループ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
EP4364630A1 (de) * | 2022-11-04 | 2024-05-08 | BSH Hausgeräte GmbH | Verfahren zum betrieb eines mobilen, selbstfahrenden geräts |
Also Published As
Publication number | Publication date |
---|---|
KR20220056643A (ko) | 2022-05-06 |
US20230200611A1 (en) | 2023-06-29 |
EP4186405A4 (en) | 2024-06-26 |
EP4186405A1 (en) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022092571A1 (ko) | 로봇 청소기 및 그의 주행 방법 | |
AU2018239735B2 (en) | Cleaner and method of controlling the same | |
WO2016129950A1 (ko) | 청소 로봇 및 그 제어방법 | |
WO2019135518A1 (ko) | 청소용 이동장치, 협업청소 시스템 및 그 제어방법 | |
WO2015183005A1 (en) | Mobile device, robot cleaner, and method for controlling the same | |
WO2019124913A1 (en) | Robot cleaners and controlling method thereof | |
WO2018131884A1 (en) | Moving robot and control method thereof | |
WO2022045808A1 (ko) | 청소 로봇 및 그 제어 방법 | |
WO2018110963A1 (en) | Movable object and method for controlling the same | |
AU2018216517B9 (en) | Cleaner | |
WO2019199027A1 (ko) | 로봇 청소기 | |
WO2021002569A1 (en) | Electronic apparatus and control method thereof | |
WO2019117576A1 (ko) | 이동 로봇 및 이동 로봇의 제어방법 | |
WO2017204517A1 (ko) | 청소 로봇 및 그 제어 방법 | |
AU2020362530B2 (en) | Robot cleaner and method for controlling the same | |
WO2019177418A1 (en) | Mobile robot and controlling method thereof | |
WO2020139029A1 (en) | Mobile robot | |
WO2020256370A1 (en) | Moving robot and method of controlling the same | |
EP3809939A1 (en) | Plurality of autonomous cleaner and controlling method for the same | |
AU2020253014B2 (en) | Robot cleaner using artificial intelligence and control method thereof | |
WO2020080769A1 (ko) | 사용자 단말기, 이를 포함하는 청소 로봇 및 그 제어 방법 | |
WO2020101244A1 (ko) | 청소 장치 및 그 제어 방법 | |
WO2021246732A1 (ko) | 청소 로봇 및 그 제어 방법 | |
WO2021215870A1 (ko) | 로봇 청소기 및 로봇 청소기의 제어방법 | |
WO2021177724A1 (ko) | 이동 로봇 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21886565 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021886565 Country of ref document: EP Effective date: 20230222 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |