WO2022045808A1 - 청소 로봇 및 그 제어 방법 - Google Patents

청소 로봇 및 그 제어 방법 Download PDF

Info

Publication number
WO2022045808A1
WO2022045808A1 PCT/KR2021/011472 KR2021011472W WO2022045808A1 WO 2022045808 A1 WO2022045808 A1 WO 2022045808A1 KR 2021011472 W KR2021011472 W KR 2021011472W WO 2022045808 A1 WO2022045808 A1 WO 2022045808A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensor
lidar sensor
obstacle
cleaning
cleaning robot
Prior art date
Application number
PCT/KR2021/011472
Other languages
English (en)
French (fr)
Inventor
윤희석
김인주
김경수
박상혁
송석훈
신동민
이기용
정연규
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/483,081 priority Critical patent/US20220061616A1/en
Publication of WO2022045808A1 publication Critical patent/WO2022045808A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details 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/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details 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/009Carrying-vehicles; Arrangements of trollies or wheels; Means for avoiding mechanical obstacles
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details 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/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation 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/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details 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/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/30Arrangement of illuminating devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4811Constructional features, e.g. arrangements of optical elements common to transmitter and receiver
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4811Constructional features, e.g. arrangements of optical elements common to transmitter and receiver
    • G01S7/4813Housing arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning

Definitions

  • the disclosed invention relates to a cleaning robot capable of recognizing a position and detecting an obstacle, and a method for controlling the same.
  • a cleaning robot is a device that cleans by moving a certain area on its own without a user's separate manipulation.
  • the cleaning robot can autonomously recognize its position through sensors and move and avoid obstacles in its path.
  • the cleaning robot uses a LiDAR (Light Detection And Ranging) sensor that calculates the distance to an obstacle through the TOF (Time of Flight) method to detect surrounding obstacles or recognize its location based on this.
  • SLAM Simultaneous Localization And Mapping
  • the disclosed invention provides a cleaning robot that can enter a lower area of the upper obstacle and perform cleaning by lowering a height of a lidar sensor when an upper obstacle spaced from the floor is located on a traveling path, and a control method thereof.
  • a cleaning robot includes a main body; a traveling device for moving the main body; a cleaning device that performs cleaning by sucking foreign substances on the floor; a lidar sensor disposed on the upper portion of the body and provided to be able to rise and fall between a first position and a second position of different heights; a bumper sensor for detecting a collision between the lidar sensor and an obstacle; a sensor driving unit generating power for rising and falling of the lidar sensor; an obstacle sensor for acquiring information about the obstacle; and generating a cleaning map for the surrounding environment of the main body based on the output of the lidar sensor and the output of the obstacle sensor, and based on at least one of the cleaning map, the output of the bumper sensor, and the output of the obstacle sensor and a processor for controlling the sensor driving unit to adjust the height of the lidar sensor.
  • the processor may control the sensor driving unit to lower the height of the lidar sensor.
  • an obstacle spaced from the floor is located in front of the main body, the height of the obstacle exceeds the height of the lidar sensor in the main body or the first position, and the height of the lidar sensor in the second position Below, it is possible to control the sensor driving unit to lower the height of the lidar sensor.
  • the lidar sensor may be introduced into the body at the first position and protrude out of the body at the second position.
  • the processor when the lidar sensor descends from the second position to the first position, turns off the power of the lidar sensor, and when the lidar sensor rises from the first position to the second position, The power of the lidar sensor may be turned on.
  • the processor may control the traveling device and the cleaning device to perform cleaning while the main body travels in a lower area of the obstacle after the lidar sensor is lowered to the first position.
  • the processor may control the sensor driving unit to raise the lidar sensor to the second position.
  • the processor if the lidar sensor does not reach the second position after controlling the sensor driving unit to raise the lidar sensor to the second position, lowers the lidar sensor to the first position In order to do this, the sensor driving unit may be controlled.
  • the processor may control the sensor driving unit to lower the lidar sensor to the first position and turn off the power of the lidar sensor.
  • the processor after controlling the sensor driving unit to raise the lidar sensor from the first position to the second position, the lidar sensor does not reach the second position, or the lidar sensor moves the lidar sensor to the second position. If a situation in which the lidar sensor does not reach the first position occurs more than a predetermined number of times after controlling the sensor driving unit to descend from the second position to the first position, it may be determined as the error state.
  • the cleaning map includes a reference map and a real-time map, and when there is no cleaning map generated for the surrounding environment of the cleaning robot, the processor is configured to perform the reference based on outputs of the lidar sensor and the obstacle sensor
  • a map may be generated and stored in a memory, and the driving device may be controlled to drive based on the reference map.
  • the processor may generate the real-time map based on the output of the lidar sensor, and may recognize the location of the cleaning robot by comparing the reference map and the real-time map.
  • the processor may modify the reference map stored in the memory based on the real-time map.
  • the processor divides the lower region of the obstacle into a plurality of sub-regions, and when the cleaning of the first sub-region of the plurality of sub-regions is completed, the processor leaves the cleaned first sub-region and operates the lidar sensor
  • the driving device and the sensor driving unit may be controlled to lift from the first position to the second position.
  • the processor re-recognizes the position of the cleaning robot based on the output of the lidar sensor, controls the sensor driving unit to lower the lidar sensor to the first position when the re-recognition is completed, and controls the plurality of sub-regions
  • the driving device and the cleaning device may be controlled to enter the second sub-region and perform cleaning.
  • the processor may determine the number of the plurality of sub-regions based on a driving environment of the sub-region of the obstacle.
  • the obstacle sensor may include a 3D sensor, and the processor may determine information on an internal area of the obstacle based on an output of the 3D sensor.
  • the processor controls the sensor driving unit to raise the lidar sensor from the first position to the second position when the main body enters the lower part of the open area when the partial area of the obstacle is open. and position recognition may be performed based on the output of the lidar sensor of the second position.
  • a method for controlling a cleaning robot including a main body, a traveling device for moving the main body, and a cleaning device for performing cleaning by suctioning foreign substances on the floor includes first generating a cleaning map for the surrounding environment of the main body based on the output of the lidar sensor provided to be able to ascend and descend between the position and the second position and the output of the obstacle sensor for obtaining information about the obstacle; and adjusting the height of the lidar sensor based on at least one of an output of a bumper sensor detecting a collision between the lidar sensor and an obstacle, an output of the obstacle sensor, and the cleaning map.
  • Adjusting the height of the lidar sensor may include, when the bumper sensor detects a collision between the lidar sensor and the obstacle, controlling the sensor driving unit to lower the height of the lidar sensor.
  • an obstacle spaced from the floor is located in front of the main body, the height of the obstacle exceeds the height of the lidar sensor in the main body or the first position, and the second position
  • it may include controlling the sensor driving unit to lower the height of the lidar sensor.
  • the lidar sensor When the lidar sensor descends from the second position to the first position, the power of the lidar sensor is turned off, and when the lidar sensor rises from the first position to the second position, the lidar sensor It may further include; to turn on the power of the.
  • controlling the sensor driving unit to raise the lidar sensor to the second position may further include.
  • the lidar sensor does not reach the second position after controlling the sensor driving unit to raise the lidar sensor to the second position, the sensor to lower the lidar sensor to the first position It may further include; to control the driving unit.
  • the lidar sensor After controlling the sensor driving unit to raise the lidar sensor from the first position to the second position, the lidar sensor does not reach the second position, or the lidar sensor moves from the second position to the second position. Determining that an error has occurred if a situation in which the lidar sensor does not reach the first position occurs more than a predetermined number of times after controlling the sensor driving unit to descend to the first position; may further include .
  • the cleaning may include; controlling the sensor driving unit to raise the lidar sensor from the first position to the second position outside the completed first sub-region.
  • the method may further include controlling the traveling device and the cleaning device to enter a second sub-region among the plurality of sub-regions to perform cleaning.
  • the dividing of the subregion of the obstacle into the plurality of subregions may include determining the number of the plurality of subregions based on a driving environment of the subregion of the obstacle.
  • the obstacle sensor may include a 3D sensor, and generating the cleaning map may include determining information on an internal area of the obstacle based on an output of the 3D sensor.
  • Adjusting the height of the lidar sensor is to raise the lidar sensor from the first position to the second position when the main body enters the lower part of the open region when a partial region of the obstacle is open. It may include; to control the sensor driver to do so.
  • the cleaning robot when an upper obstacle spaced from the floor is located on the driving path, by lowering the height of the lidar sensor, the cleaning robot enters the lower area of the upper obstacle and performs cleaning.
  • FIG. 1 is a perspective view illustrating a state in which a lidar sensor of a cleaning robot is retracted into a body according to an exemplary embodiment
  • FIG. 2 is a perspective view illustrating a state in which a lidar sensor of a cleaning robot according to an exemplary embodiment protrudes from a main body.
  • FIG. 3 is a side view of FIG. 2 ;
  • FIG. 4 is a control block diagram illustrating a configuration of a cleaning robot according to an exemplary embodiment.
  • FIG. 5 is an exploded perspective view illustrating a lidar sensor provided in a cleaning robot according to an embodiment and a configuration related to the lidar sensor.
  • FIGS. 6 and 7 are diagrams illustrating rising and falling operations of a lidar sensor provided in a cleaning robot according to an exemplary embodiment.
  • FIG. 8 is a view for explaining a bumper sensor and a bumper member of a cleaning robot according to an exemplary embodiment.
  • FIG 9 and 10 are views illustrating an example in which the height of the lidar sensor of the cleaning robot is adjusted according to the surrounding environment according to an exemplary embodiment.
  • 11 and 12 are diagrams illustrating an example of a path through which a cleaning robot cleans a lower area of an upper obstacle according to an exemplary embodiment.
  • FIG. 13 and 14 are views illustrating another example of a path through which the cleaning robot cleans a lower area of an upper obstacle according to an exemplary embodiment.
  • 15 to 17 are diagrams illustrating examples of information obtainable when a cleaning robot includes a 3D sensor according to an embodiment.
  • FIG. 18 is a flowchart illustrating a method of controlling a cleaning robot according to an exemplary embodiment.
  • 19 is a flowchart illustrating a process after entering a lower region of an upper obstacle in a method of controlling a cleaning robot according to an exemplary embodiment.
  • 20 is a flowchart illustrating a process of controlling the running of the cleaning robot according to the height of the upper obstacle in the method of controlling the cleaning robot according to an exemplary embodiment.
  • 21 is a flowchart of an embodiment in which a lower area of an upper obstacle is divided into a plurality of sub areas to perform cleaning in a method of controlling a cleaning robot according to an exemplary embodiment.
  • FIG. 22 is a flowchart of an embodiment in which a lidar sensor is raised again while traveling in a lower area of an upper obstacle in a method of controlling a cleaning robot according to an embodiment.
  • ordinal numbers such as the first and second are only used to distinguish a plurality of components or a plurality of data from each other, and the plurality of components or a plurality of data are expressed in terms of their position, priority, data
  • the processing order or the size of data values is not limited.
  • the identification code is used for convenience of description, and the identification code does not describe the order of each step, and each step may be performed differently from the specified order unless the specific order is clearly stated in the context. there is.
  • FIG. 1 is a perspective view illustrating a state in which a lidar sensor of a cleaning robot according to an embodiment is retracted into a main body
  • FIG. 2 is a perspective view illustrating a state in which a lidar sensor of a cleaning robot according to an embodiment protrudes from the main body
  • FIG. 3 is a side view of FIG. 2 .
  • a cleaning robot 1 includes a main body 10 forming the exterior of the cleaning robot 1 , a rear cover 20 , and a cleaning robot 1 for running the cleaning robot 1 . It may include the traveling device 30 , and may include the lidar sensor 110 and the upper cover 170 covering the upper end of the lidar sensor 110 .
  • the lidar sensor 110 may be disposed on the upper portion of the main body 10, and may be provided so as to rise and fall between a first position (see FIG. 1) and a second position (see FIG. 2) of different heights.
  • the height H2 of the lidar sensor 110 at the second position is higher than the height H1 of the lidar sensor 110 at the first position with respect to the ground where the cleaning robot 1 is located. ) is higher.
  • the lidar sensor 110 may be provided to be drawn into the inside of the body 10 (refer to FIG. 1 ) or to protrude to the outside of the body 10 (refer to FIG. 2 ).
  • the lidar sensor 110 When the lidar sensor 110 is retracted to the inside of the main body 10, it may be located in the first position, and when it protrudes to the outside of the main body 10, it may be located in the second position.
  • the lidar sensor 110 does not operate when inserted into the body 10 . However, when the rear cover 20 is implemented with a transparent material, the lidar sensor 110 operates even in a state in which it is inserted into the body 10 to perform sensing of the rear area of the cleaning robot 1 . there is.
  • the height of the lidar sensor 110 may be controlled according to the situation of the cleaning robot 1 . A detailed description of the height control of the lidar sensor 110 will be described later.
  • FIG. 4 is a control block diagram illustrating a configuration of a cleaning robot according to an embodiment
  • FIG. 5 is an exploded perspective view illustrating a lidar sensor provided in the cleaning robot according to an embodiment and a configuration related to the lidar sensor.
  • the configuration shown in FIG. 5 is an internal configuration of area A of FIG. 3 .
  • the cleaning robot 1 is a traveling device 30 that moves the main body 10 , a cleaning device 50 that performs cleaning by sucking foreign substances on the floor, and is disposed on the upper portion of the main body 10 , ,
  • the lidar sensor 110 provided to be able to rise and fall between the first position and the second position of different heights, the sensor driver 120 for generating power for the rise and fall of the lidar sensor 110, Based on the outputs of the bumper sensor 130 for detecting a collision between the lidar sensor 110 and the obstacle, the obstacle sensor 180 for acquiring information about the obstacle, and the lidar sensor 110 and the obstacle sensor 180 .
  • a cleaning map for the surrounding environment of the cleaning robot 1 is generated, and the height of the lidar sensor 110 is based on at least one of the generated cleaning map, the output of the bumper sensor 130 and the output of the obstacle sensor 180 . and a processor 210 that controls the sensor driver 120 to adjust the .
  • the lidar sensor 110 is a sensor system capable of acquiring information about a distance to an object by irradiating a high-power pulsed laser having a specific frequency to the object and measuring the time the reflected wave is received from the object.
  • the LiDAR sensor 110 is a type of LiDAR sensor 110 capable of image modeling for space as well as distance information about the traveling direction of a laser beam.
  • the lidar sensor 110 may collect point cloud information on the ground through point-scanning.
  • the lidar sensor 110 may collect point cloud information while rotating 360 degrees at the second position protruding from the upper portion of the body 10 .
  • the embodiment of the cleaning robot 1 is not limited thereto, and the rotation angle of the lidar sensor 110 may be changed differently.
  • a lidar sensor 110 in the rear area inside the main body 10 of the cleaning robot 1 , a lidar sensor 110 , a lidar sensor housing 140 accommodating the lidar sensor 110 , and a lidar sensor housing ( Controls the bumper member 150 , the bumper sensor 130 , the bumper housing 161 , the sensor driving unit 120 , the lower housing 164 , the upper cover 170 , and the sensor driving unit 120 disposed on the periphery of 140 )
  • a circuit board 171 may be disposed.
  • the lidar sensor 110 may be disposed and fixed on the lidar sensor housing 140 , and the lidar sensor housing 140 may be accommodated and fixed in the receiving part 162 of the bumper housing 161 . .
  • the upper cover 170 is disposed on the lidar sensor 110 and protrudes to the outside of the body 10 when the lidar sensor 110 is disposed in the second position, and the lidar sensor 110 is positioned in the first position. If it is disposed in the body 10 may be disposed at the same height as the upper surface.
  • the upper cover 170 may cover the lidar sensor 110 in a form that more protrudes laterally than the lidar sensor 110 . Accordingly, when the lidar sensor 110 collides with an external obstacle while being disposed at the second position protruding from the main body 10, the upper cover 170 comes into primary contact with the obstacle, and the lidar sensor It is possible to prevent the 110 from directly colliding with the obstacle.
  • the upper cover 170 may be fixed to the bumper housing 161 .
  • the bumper sensor 130 may detect whether the lidar sensor 110 and the obstacle collide, and may acquire information on the position of the obstacle by additionally sensing the contact direction.
  • the lidar sensor housing 140 may include a guide groove 141 and a damping member 142 capable of mitigating an impact applied to the lidar sensor 110 .
  • the bumper member 150 may be disposed along the periphery of the lidar sensor housing 140 , and a guide member having a shape engaged with and coupled to the shape of the guide groove 141 at a position corresponding to the position of the guide groove 141 . (151) may be included.
  • the lidar sensor housing 140 When the position of the lidar sensor housing 140 is changed due to an external impact, the lidar sensor housing 140 may move to its original position due to the restoring force of the damping member 142 .
  • the bumper member 150 has a fixed position inside the body 10, and by coupling the guide groove 141 of the lidar sensor housing 140 and the guide member 151 of the bumper member 150, It may guide the lidar sensor housing 140 to move to its original position.
  • the sensor driver 120 may include a driving motor 123 that provides a driving force.
  • the upper end of the sensor driver 120 is coupled to the lidar sensor housing 140 to raise or lower the lidar sensor 110 to adjust the height of the lidar sensor 110 .
  • a detailed operation of the sensor driver 120 to adjust the height of the lidar sensor 110 will be described later.
  • the cleaning robot 1 may collect information for generating a cleaning map while traveling in a cleaning area.
  • the cleaning robot 1 may collect point cloud information about the ground obtained by the lidar sensor 110 while driving in the cleaning area.
  • the cleaning robot 1 may further include a memory 220 .
  • the cleaning robot 1 may acquire information on at least one obstacle located in the cleaning area using the obstacle sensor 180 .
  • the obstacle sensor 180 may include at least one of various sensors such as an infrared sensor, an ultrasonic sensor, a visible light sensor, a laser sensor, an image sensor, a pattern light sensor, and a 3D sensor.
  • the processor 210 may generate a cleaning map based on the point cloud information acquired by the lidar sensor 110 and the information on the obstacle acquired by the obstacle sensor 180 .
  • the cleaning map may include a reference map and a real-time map.
  • the processor 210 may generate a reference map for the surrounding environment through SLAM (Simultaneous Localization And Mapping) technology capable of simultaneous location estimation and mapping, and may store the reference map in the memory 220 .
  • the reference map may be a map initially generated for the surrounding environment when there is no map generated for the surrounding environment by the cleaning robot 1 .
  • the processor 210 may control the driving device 30 to drive based on the reference map.
  • the processor 210 may identify the current location based on the reference map. For example, the processor 210 generates a real-time map of the surrounding environment of the cleaning robot 1 based on information received from the lidar sensor 110 , and combines the real-time map with a reference map stored in the memory 220 . By comparison, the current position of the cleaning robot 1 may be identified. This process is also called re-localization.
  • the real-time map may be generated based on point cloud information obtained by the cleaning robot 1 about the surrounding environment of the current location by using the lidar sensor 110 .
  • the processor 210 may modify the reference map stored in the memory 220 based on the real-time map. For example, when a change occurs in the surrounding environment of the cleaning robot 1 , the processor 210 may generate a real-time map or a real-time map generated by the lidar sensor 110 and an output of the obstacle sensor 180 . Changes can be reflected in the reference map.
  • the processor 210 raises or lowers the lidar sensor 110 according to the surrounding environment of the cleaning robot 1 or the state of the cleaning robot 1 to control the sensor driving unit 120 to adjust its height, or , the power of the lidar sensor 110 may be turned on or off.
  • the surrounding environment of the cleaning robot 1 may be determined based on at least one of a cleaning map, an output of the bumper sensor 130, and an output of the obstacle sensor 180, and the status of the cleaning robot 1 is a standby state and a charging state. It may include at least one of a state, an error state, and an operational state.
  • the processor 210 may turn off the power of the lidar sensor 110 to reduce power consumption. Also, the power of the rotation motor that rotates the lidar sensor 110 may be turned off.
  • an error state will be described.
  • the processor 210 tries a predetermined number of times until the rising operation and the falling operation of the lidar sensor 110 are completed. If at least one of these operations is not completed, an error state can be judged as
  • the lidar sensor 110 after controlling the sensor driving unit 120 to raise the lidar sensor 110 from the first position to the second position, the lidar sensor 110 does not reach the second position or the lidar sensor ( 110) in order to descend from the second position to the first position, after controlling the sensor driving unit 120, if the situation in which the lidar sensor 110 does not reach the first position occurs more than a predetermined number of times, it is determined as an error state can do.
  • the lidar sensor 110 when a control signal is transmitted to the sensor driver 120 to raise the lidar sensor 110 to the second position, but the lidar sensor 110 does not reach the second position, the lidar sensor 110 Repeats transmission of the control signal until reaching the second position, and if the lidar sensor 110 does not reach the second position despite three attempts, it may be determined as an error state.
  • the lidar sensor 110 is The transmission of the control signal is repeated until reaching the first position, and if the lidar sensor 110 does not reach the first position despite three attempts, it may be determined as an error state.
  • Whether the cleaning robot 1 is in a charging state may be determined based on a docking signal transmitted from a docking station or an output of a docking sensor detecting a docking terminal of the docking station.
  • the processor 210 may turn off the power of the lidar sensor 110 and the power of the rotation motor even when the lidar sensor 110 does not operate in the first position.
  • the power of the lidar sensor 110 and the power of the rotation motor can be maintained in an on state.
  • the processor 210 may minimize misrecognition by turning off the power of the rotation motor of the lidar sensor 110 .
  • the inclination of the floor may be acquired by a gyro sensor provided in the cleaning robot 1 .
  • the processor 210 may control the overall operation of the cleaning robot 1 in addition to the above-described operation.
  • the processor 210 may include at least one of a central processing unit (CPU), an application processor, or a communication processor (CP).
  • CPU central processing unit
  • CP communication processor
  • the processor 210 may control hardware or software components connected to the processor 120 by driving an operating system or an application program, and may perform various data processing and operations. In addition, the processor 210 may load and process commands or data received from at least one of the other components into the volatile memory, and store various data in the non-volatile memory.
  • the memory 220 may non-temporarily or temporarily store an operating system (OS) for controlling the overall operation of the components of the cleaning robot 1 and commands or data related to the components of the cleaning robot 1 . .
  • OS operating system
  • the memory 220 is accessed by the processor 210 , and reading/writing/modification/deletion/update of data by the processor 210 may be performed.
  • the traveling device 30 may provide power for movement of the main body, that is, driving of the cleaning robot 1 .
  • the driving device 30 may include at least one wheel in contact with the floor surface, a driving motor providing power to the wheels, and a driver driving the driving motor.
  • the processor 210 may transmit a control signal to the driver of the driving device 30 to move the main body 10 .
  • the cleaning apparatus 50 may perform cleaning of the traveling area of the cleaning robot 1 by scattering foreign substances such as dust on the floor and sucking the scattered dust.
  • the cleaning device 50 may include a brush module for scattering foreign substances such as dust present on the floor and a suction module for sucking the scattered foreign substances.
  • the processor 210 may transmit a control signal to the cleaning device 50 to perform cleaning of the driving area of the cleaning robot 1 .
  • the communication device 40 may transmit data to an external device or receive a control command from the external device. For example, when a user transmits a control command for the cleaning robot 1 using a control device such as a remote controller or a mobile device, the communication device 40 may receive it, and the processor 210 may receive Processes for control commands can be performed.
  • 6 and 7 are diagrams illustrating rising and falling operations of a lidar sensor provided in a cleaning robot according to an exemplary embodiment. 6 and 7, a configuration irrelevant to the rising and falling of the lidar sensor is omitted.
  • the sensor driving unit 120 may include a first link 121 , a second link 122 , and a deceleration member 124 .
  • the sensor driving unit 120 may include a driving motor 123 (refer to FIG. 5 ) providing driving force.
  • FIG. 6 illustrates a state in which the lidar sensor 110 is connected to the sensor driver 120 at a first position (refer to FIG. 1 ) in which the lidar sensor 110 is drawn into the interior of the body 10 .
  • One end of the first link 121 may include teeth, and may rotate in engagement with the teeth formed on the reduction member 124 .
  • the reduction member 124 may be connected to the driving motor 123 to transmit power received from the driving motor 123 to the first link 121 .
  • the driving motor 123 may be a step motor that receives a current in the form of a pulse and rotates at a predetermined angle.
  • the other end of the first link 121 may be rotatably connected to one end of the second link 122 , and the other end of the second link 122 may be rotatably connected to the lidar sensor housing 140 .
  • the second link 122 connected to the first link 121 may move by the rotation of the first link 121 , and accordingly, the lidar sensor housing 140 connected to the second link 122 is It can move up or down.
  • FIG. 7 illustrates a state in which the lidar sensor 110 is connected to the sensor driver 120 at a second position (refer to FIGS. 2 and 3 ) protruding to the outside of the main body 10 .
  • the first link 121 rotates so that the first link 121 and the second link 122 are in a straight line with respect to the connection axis of the first link 121 and the second link 122 . It may be arranged to be located in For example, compared to when the lidar sensor 110 is in the first position, the first link 121 may rotate at an angle of approximately 68 degrees. Accordingly, compared to the lidar sensor 110 of the first position in FIG. 6 , the lidar sensor 110 of the second position is positioned higher.
  • the sensor driving unit 120 is a single step so that the lidar sensor 110 moves between two positions, the first position or the second position, but is not limited thereto, and the lidar sensor 110 is not limited thereto. ) can be selectively moved to three or more positions, it is also possible that the sensor driving unit 120 is configured in multiple steps.
  • FIG. 8 is a view for explaining a bumper sensor and a bumper member of a cleaning robot according to an exemplary embodiment.
  • the bumper sensor 130 may include a first bumper sensor 131 , a second bumper sensor 132 , and a stopper 133 .
  • the first bumper sensor 131 and the second bumper sensor 132 may be implemented as micro switches.
  • the stopper 133 is disposed adjacent to the contact portion 163 (refer to FIG. 5) of the bumper housing 161, and the contact portion ( A position change generated while the 163 is moved may be transmitted to the first and second bumper sensors 131 and 132 .
  • the first and second bumper sensors 131 and 132 detect whether or not the upper cover 170 (refer to FIGS. 3 and 5) and the obstacle are in contact with or detect the direction of contact to obtain information on the position of the obstacle. It is possible to detect whether the lidar sensor 110 moves to the first position or the second position.
  • the lidar sensor 110 may be accommodated in the lidar sensor housing 140 .
  • the lidar sensor housing 140 is disposed inside the bumper housing 161 (refer to FIG. 5) and is connected to the upper cover 170, so that when the upper cover 170 comes into contact with an external obstacle, the inside of the bumper housing 161 Location may change.
  • the bumper member 150 may be disposed inside the body 10 to be fixed inside the bumper housing 161 .
  • the bumper member 150 may be disposed to surround the circumference of the lidar sensor housing 140 .
  • the bumper member 150 may include a guide member 151 protruding in an inward direction. Meanwhile, the lidar sensor housing 140 may include a guide groove 141 coupled to the guide member 151 at a position corresponding to the guide member 151 .
  • the guide groove 141 of the lidar sensor housing 140 and the guide member 151 of the bumper member 150 are aligned.
  • FIG 9 and 10 are views illustrating an example in which the height of the lidar sensor of the cleaning robot is adjusted according to the surrounding environment according to an exemplary embodiment.
  • the lidar sensor 110 may recognize the position of the cleaning robot 1 or detect an obstacle at the second position protruding from the upper portion of the main body 10 .
  • the cleaning robot 1 moves to the upper part according to the height of the upper obstacle UO.
  • the height of the upper obstacle UO may mean a height at which the upper obstacle UO is spaced apart from the floor.
  • the upper obstacle (UO) may include furniture such as a bed, table, chair, wardrobe, etc. supported by one or more legs or fixed to the ceiling or wall, lighting, ornaments, and the like.
  • the lidar sensor 110 is drawn into the interior of the main body 10 at the first position, and the upper cover 170 of the lidar sensor 110 is on the same plane as the upper part of the main body 10 .
  • the height of the main body 10 is the same as the height H1 of the lidar sensor 110 in the second position.
  • the higher of the height of the lidar sensor 110 at the first position and the height of the body 10 is referred to as the first height H1
  • the height of the lidar sensor 110 at the second position is referred to as the first height H1.
  • a second height H2 is referred to as a second height H2.
  • the processor 210 may control the traveling device 30 to avoid the upper obstacle UO.
  • the processor 210 may control the sensor driver 120 to lower the lidar sensor 110 to the first position.
  • the processor 210 may control the traveling device 30 to allow the cleaning robot 1 to enter the lower region of the upper obstacle U0, and the cleaning device ( 50) to perform cleaning of the lower region of the upper obstacle UO.
  • Whether the lidar sensor 110 descends may be determined based on whether a predetermined time has elapsed or the output of the bumper sensor 130 .
  • the time required for the lidar sensor 110 to descend may be predetermined.
  • the processor 210 may control the traveling device 30 to cause the cleaning robot 1 to enter the lower area of the upper obstacle UO. .
  • the bumper sensor 130 may detect whether the lidar sensor 110 moves to the first position or the second position. Accordingly, when the output of the bumper sensor 110 is based on the output of the bumper sensor 130, when the output of the bumper sensor 110 indicates that the lidar sensor 110 has moved from the second position to the first position, the processor 210 is the driving device By controlling 30 , the cleaning robot 1 may enter the lower region of the upper obstacle UO.
  • the lidar sensor 110 as well as the main body 10 may collide with the upper obstacle UO. Since there is no such thing, the cleaning robot 1 may enter the lower area of the upper obstacle UO while maintaining the height of the lidar sensor 110 to perform cleaning.
  • the processor 210 determines whether the upper obstacle UO enters the lower area based on at least one of the cleaning map, the output of the lidar sensor 110 , the output of the bumper sensor 130 , and the output of the obstacle sensor 180 . can be determined and the height of the lidar sensor 110 can be adjusted.
  • the processor 210 may use the output of the obstacle sensor 180 , the output of the bumper sensor 130 , or the output of the lidar sensor 110 , or a combination of two or more of these to determine the upper obstacle UO.
  • the height may be determined, and the determined height may be recorded on the cleaning map.
  • the height of the upper obstacle UO may be determined not only as a specific value, but also as a range having at least one of an upper limit value and a lower limit value.
  • the processor 210 controls the sensor driver 120 to lower the lidar sensor 110 based on the height of the upper obstacle UO recorded on the cleaning map, or maintains the height of the lidar sensor 110 . It is possible to avoid the upper obstacle UO or enter the lower area of the upper obstacle UO.
  • the processor 210 controls the sensor driver 120 to lower the lidar sensor 110 .
  • the reference range may be a range exceeding the first height H1 and less than or equal to the second height H2. That is, when the height of the upper obstacle UO exceeds the first height H1 and is less than or equal to the second height H2 , the processor 210 controls the sensor driver 120 to lower the lidar sensor 110 . can do.
  • the processor 210 performs avoidance driving for the upper obstacle UO, and the height of the upper obstacle UO increases the second height H2. If it exceeds, cleaning may be performed by entering the lower region of the upper obstacle UO while fixing the lidar sensor 110 at the second position.
  • the processor 210 outputs the obstacle sensor 180 and the bumper sensor 130 in real time.
  • the height of the upper obstacle UO may be determined by using the output of or the output of the lidar sensor 110 or a combination of two or more of them, and this may be used to control the sensor driver 120 .
  • the lidar sensor 110 when the lidar sensor 110 is provided at the rear of the main body 10 as shown in FIGS. 9 and 10 , it is also possible to use only the output of the bumper sensor 130 .
  • the lidar sensor 110 when the front part of the main body 10 has already entered the lower region of the upper obstacle UO, the bumper sensor 130 is the lidar sensor 110. It is possible to sense the impact applied from the front of the
  • the processor 210 lowers the lidar sensor 110 and drives the lower region of the upper obstacle UO. While cleaning, the sensor driving unit 120 , the traveling device 30 , and the cleaning device 50 may be controlled.
  • 11 and 12 are diagrams illustrating an example of a path through which a cleaning robot cleans a lower area of an upper obstacle according to an exemplary embodiment.
  • the lidar sensor 110 of the cleaning robot 1 is removed. It descends and enters the lower area of the upper obstacle UO to perform cleaning.
  • the cleaning robot 1 When the cleaning robot 1 travels in the zigzag path, as shown in FIG. 11 , if the cleaning robot 1 turns once after entering the lower area of the upper obstacle UO, it travels straight to the outer area to the upper obstacle UO. ) can repeat departure and re-entry to the lower region.
  • the upper obstacle UO may be separated after cleaning of the lower region of the upper obstacle UO is completed.
  • the cleaning robot 1 may raise and lower the lidar sensor 110 by determining both leaving and re-entering the lower area of the upper obstacle UO, and the upper obstacle UO ), it is also possible to maintain the descending state of the lidar sensor 110 irrespective of the departure and re-entry.
  • the lidar sensor 110 does not operate because it is drawn into the body 10 . Accordingly, the driving in the lower region of the upper obstacle UO may be performed based on the cleaning map and the odometry. In order to use the odometry, an inertial sensor or encoder provided in the cleaning robot 1 may be used. However, when the rear cover 20 is implemented with a transparent material, the output of the lidar sensor 110 may also be used.
  • the processor 210 may determine whether cleaning of the lower area of the upper obstacle UO is completed based on the cleaning map and odometry. Determination of whether cleaning is complete can be made based on the cleaning map and the odometry, and the processor 210 determines based on the cleaning map and the odometry. As a result, the cleaning robot 1 performs cleaning of the upper obstacle UO. When the entire lower area is driven, it may be determined that the cleaning of the lower area of the upper obstacle UO is completed.
  • the processor 210 determines that the cleaning of the lower area is complete, the cleaning robot 1 leaves the lower area of the upper obstacle UO, and the lidar sensor 110 at the first position rises again to the second position. To do this, the driving device 30 and the sensor driving unit 120 may be controlled.
  • the processor 210 transmits a control signal to the sensor driver 120 to raise the lidar sensor 110 to the second position, but the lidar sensor 110 does not reach the second position, that is, If the attempt to raise the IDA sensor 110 is unsuccessful, it can be considered that the cleaning robot 1 has not yet deviated from the lower area of the upper obstacle UO. Whether the lidar sensor 110 has reached the second position may be determined based on the output of the bumper sensor 130 . Accordingly, the processor 210 may control the sensor driver 120 to lower the lidar sensor 110 back to the first position.
  • the cleaning robot 1 may additionally move to leave the lower region of the upper obstacle UO, and may move forward while maintaining the existing driving direction or change the driving direction. It is also possible to perform cleaning during the additional movement for leaving the lower area, or it may not be performed.
  • the lidar sensor 110 After the additional movement for leaving the lower area, when the processor 210 determines based on the cleaning map and odometry that the cleaning robot 1 has left the lower area, the lidar sensor 110 is moved to the second position again. It is possible to control the sensor driving unit 120 in order to raise the
  • the output of the obstacle sensor 180 in determining whether the cleaning robot 1 has left the lower area.
  • the cleaning robot 1 leaves the lower area of the upper obstacle UO.
  • the above-described operation may be repeated until the operation is completed, and when the separation is completed, the processor 210 may turn on the power of the lidar sensor 110 and the power of the rotation motor again.
  • the cleaning of the lower area of the upper obstacle UO may be performed after the cleaning of the outer area is completed, or may be performed prior to the cleaning of the outer area. There is no restriction on the order of cleaning between the lower area and the outer area.
  • FIG. 13 and 14 are views illustrating another example of a path through which the cleaning robot cleans a lower area of an upper obstacle according to an exemplary embodiment.
  • the cleaning robot 1 In a state in which the lidar sensor 110 descends to the first position, the cleaning robot 1 cannot recognize its own position while driving. When the cleaning robot 1 runs without recognizing its location, it recognizes even if the location of the cleaning robot 1 is shifted from the driving path due to slip or bumping into an obstacle, etc. difficult to correct
  • the cleaning robot 1 sets a virtual wall in the lower region of the upper obstacle UO to divide it into a plurality of sub-regions, and the cleaning of one sub-region among the plurality of sub-regions is completed.
  • the cleaning robot 1 can re-enter the lower area of the upper obstacle UO. Accordingly, a misaligned position of the cleaning robot 1 may be corrected.
  • the processor 210 may divide the lower area of the upper obstacle UO into three sub areas UO1 , UO2 , and UO3 .
  • the cleaning robot 1 lowers the lidar sensor 110 to the first position, enters the first sub-area UO1 and performs cleaning, and completes cleaning of the first sub-area UO1, the upper obstacle It is possible to come out of the (UO) and raise the lidar sensor 110 back to the second position and turn on the power that was turned off.
  • the processor 210 may re-recognize the position of the cleaning robot 1 based on the output of the lidar sensor 110 . Accordingly, even if the position of the cleaning robot 1 is shifted in the first sub-region UO1, it can be corrected.
  • the processor 210 controls the sensor driver 120 and the driving device 30 to lower the lidar sensor 110 back to the first position and enter the second sub-region UO2. can do.
  • the cleaning robot 1 When the cleaning of the second sub-region UO2 is completed, the cleaning robot 1 similarly comes out of the upper obstacle UO, raises the lidar sensor 110 back to the second position, and turns on the turned off power. there is.
  • the processor 210 controls the sensor driver 120 and the driving device 30 to lower the lidar sensor 110 back to the first position and enter the third sub area UO3. can do.
  • the processor 210 may determine the number of sub-regions based on the driving environment of the lower region of the upper obstacle UO. For example, before the cleaning robot 1 enters the lower area of the upper obstacle UO, the driving environment of the lower area of the upper obstacle UO may be determined based on the output of the obstacle sensor 180 .
  • the lower area before entering the lower area of the upper obstacle UO, the lower area is divided according to the number determined by default, and the number of sub areas is based on information collected while the cleaning robot 1 travels in at least one sub area. It is also possible to adjust
  • the processor 210 may determine the type of floor in the lower region of the upper obstacle UO based on the output of the floor detection sensor provided in the cleaning robot 1 , and the type of floor is cleaned like a carpet. If it can cause the robot 1 to slip, it can be re-divided by increasing the number of sub-regions.
  • the processor 210 may adjust the number of sub-regions based on the output of the obstacle sensor 180 .
  • the lower area is not divided before entering the lower area of the upper obstacle (UO). Based on the information obtained by the floor detection sensor or the obstacle sensor 180 while the cleaning robot 1 travels in the lower area, It is also possible to divide the lower area.
  • the obstacle sensor 180 of the cleaning robot 1 acquires data regarding the size of the obstacle.
  • the obstacle sensor 180 includes a 3D sensor or a pattern light sensor
  • 2D information or 3D information about an object may be acquired. That is, information about the size, such as the height, width, area, etc. of the obstacle may be acquired by the obstacle sensor 180 .
  • the 3D sensor and the pattern light sensor are only examples applied to the embodiment of the cleaning robot 1, and as long as information about the size of the obstacle can be obtained, including a sensor other than the 3D sensor or the pattern light sensor possible.
  • the obstacle sensor includes a 3D sensor
  • 15 to 17 are diagrams illustrating examples of information obtainable when a cleaning robot includes a 3D sensor according to an embodiment.
  • the 3D sensor 181 may be provided on the front side of the main body 10 to detect an obstacle positioned in front of the cleaning robot 1 .
  • the 3D sensor 181 has a constant FOV in the vertical direction. Therefore, even if it is not located at the same height as the 3D sensor 181 , an obstacle can be detected only when it is within the FOV range.
  • the 3D sensor 181 may acquire information about the height, width, or depth of an obstacle included in the FOV range. Accordingly, the processor 210 may calculate the height and width of the upper obstacle UO positioned in front of the cleaning robot 1 based on the output of the 3D sensor 181 , and apply the calculated height and width to the cleaning map. can be recorded
  • the processor 210 may determine the existence and height of the upper obstacle UO based on the cleaning map. The processor 210 may determine whether to enter the lower region of the upper obstacle UO based on the determination result, and may adjust the height of the lidar sensor 110 .
  • the processor 210 may use both the cleaning map and the output of the 3D sensor 181 , or when the cleaning map is not generated, it is also possible to use only the output of the 3D sensor 181 .
  • the processor 210 may control the sensor driver 120 to lower the lidar sensor 110 to the first position.
  • the processor 210 may also determine information on the inner region of the upper obstacle UO based on the output of the 3D sensor 181 . For example, as shown in FIGS. 16 and 17 , when a partial area of the upper obstacle UO is open, the processor 210 performs a portion of the upper obstacle UO based on the output of the 3D sensor 181 . It may be determined that the area is open, and information about the open area may be recorded in the cleaning map.
  • the cleaning robot 1 that cleans the lower area of the upper obstacle UO may raise the lidar sensor 110 to the second position again in the lower part of the open area OP.
  • the processor 210 may determine whether to enter the lower part of the open area OP based on the cleaning map, and may raise the lidar sensor 110 according to the determination result.
  • the processor 210 may raise the lidar sensor 110 after the cleaning robot 1 enters the lower portion of the open area OP.
  • the processor 210 may recognize the current position of the cleaning robot 1 by turning on the power of the lidar sensor 110 and the power of the rotation motor. Accordingly, even in the lower region of the upper obstacle UO, cleaning can be reliably performed without departing from the path.
  • the processor 210 performs the sensor driving unit 120 to attempt to raise the lidar sensor 110 even in an area that is not determined as the open area OP. ) can be controlled.
  • Whether the lidar sensor 110 has reached the second position may be determined based on the output of the bumper sensor 130 .
  • the processor 210 enters the area where the cleaning robot 1 is closed again based on at least one of the cleaning map, the output of the lidar sensor 110 , the output of the bumper sensor 130 , and the output of the 3D sensor 181 . You can decide whether to When it is determined that the cleaning robot 1 will enter the closed area again, the lidar sensor 110 is lowered to the first position again. The lidar sensor 110 is lowered before the cleaning robot 1 re-enters the closed area. At this time, the power of the lidar sensor 110 and the power of the rotation motor may also be turned off.
  • the cleaning robot 1 includes the 3D sensor 181 , it is possible to detect the obstacle even in the lower region of the upper obstacle UO, and it can also determine whether the upper obstacle UO has departed. Even if the 3D sensor 181 is not provided, it may be determined whether the upper obstacle UO has departed based on the cleaning map and the odometry, but when the 3D sensor 181 is provided, the processor 210 performs the 3D sensor Based on the output of 181, it is possible to more accurately determine whether the upper obstacle UO departs. In this case, the cleaning map and odometry information may be used together.
  • the description of the traveling path of FIGS. 11 to 14 may be applied, and in this case, the upper obstacle UO is determined based on the output of the 3D sensor 181 . By more accurately judging whether to depart from, more efficient and accurate cleaning of the lower area of the upper obstacle UO becomes possible.
  • FIG. 18 is a flowchart illustrating a method of controlling a cleaning robot according to an exemplary embodiment.
  • the cleaning robot 1 may generate a cleaning map while driving ( 410 ).
  • the processor 210 may control the driving device 30 to drive the cleaning robot 1 , and the lidar sensor 110 obtains information for recognizing the position of the cleaning robot 1 in the second position, , the obstacle sensor 180 may acquire information about obstacles around the cleaning robot 1 .
  • the processor 210 may determine the height of the upper obstacle UO based on the output of the obstacle sensor 180 . there is. Since the description of generating the cleaning map is the same as that described in the embodiment of the cleaning robot 1 above, a detailed description thereof will be omitted.
  • the lidar sensor 110 When an upper obstacle spaced apart from the floor is located in front of the cleaning robot 1 (Yes of 420), and the height of the upper obstacle is included in the reference range (Yes of 430), the lidar sensor 110 is lowered to the first position Let (440). Information on whether the upper obstacle UO is located and its height may be determined based on at least one of a cleaning map, an output of a lidar sensor, and an output of an obstacle sensor. In addition, in order to lower the lidar sensor 110 , the processor 210 may transmit a control signal to the sensor driver 120 .
  • the output of the bumper sensor 130 may be used together with the cleaning map, or the cleaning map is not generated, or the upper obstacle UO is displayed on the cleaning map.
  • the processor 210 uses the output of the obstacle sensor 180, the output of the bumper sensor 130, or the output of the lidar sensor 110 in real time, or a combination of two or more thereof can be used to determine the height of the upper obstacle UO, and use this to control the sensor driver 120 .
  • the lidar sensor 110 when the lidar sensor 110 is provided at the rear of the main body 10 as shown in FIGS. 9 and 10 described above, it is also possible to use only the output of the bumper sensor 130 .
  • the lidar sensor 110 when the front part of the main body 10 has already entered the lower region of the upper obstacle UO, the bumper sensor 130 is the lidar sensor 110. It is possible to sense the impact applied from the front of the
  • the processor 210 may lower the lidar sensor 110 .
  • 19 is a flowchart illustrating a process after entering a lower region of an upper obstacle in a method of controlling a cleaning robot according to an exemplary embodiment.
  • the cleaning robot 1 when the lidar sensor 110 descends to the first position ( 440 ), the cleaning robot 1 enters the lower area of the upper obstacle UO to perform cleaning ( 510 ). To this end, the processor 210 may transmit a control signal to the driving device 30 and the cleaning device 50 .
  • the processor 210 may determine whether cleaning of the lower area of the upper obstacle UO is completed based on the cleaning map and odometry.
  • the processor 210 may transmit a control signal to the traveling device 3 so that the cleaning robot 1 leaves the lower region, and transmits a control signal to the sensor driver 120 to attempt to raise the lidar sensor 110 . can be transmitted A movement for leaving the lower region may also be performed based on the cleaning map and odometry.
  • the lidar sensor may be lowered back to the first position (550). In this way, when the lidar sensor 110 is attempted to rise but fails, it can be seen that the cleaning robot 1 has not yet deviated from the lower region of the upper obstacle UO. Whether the lidar sensor 110 has reached the second position may be determined based on the output of the bumper sensor 130 . The cleaning robot 1 may move again to leave the lower area and attempt to raise the lidar sensor 110 . For further movement, the vehicle may move forward while maintaining the existing driving direction, or may change the driving direction to move.
  • the same processes may be repeated until the cleaning robot 1 actually leaves the lower area of the upper obstacle UO.
  • the cleaning robot 1 When the lidar sensor 110 reaches the second position (Yes in 540 ), it can be seen that the cleaning robot 1 has left the lower area of the upper obstacle UO. Accordingly, the cleaning robot 1 may perform cleaning on another cleaning area or return to the docking station for charging.
  • 20 is a flowchart illustrating a process of controlling the running of the cleaning robot according to the height of the upper obstacle in the method of controlling the cleaning robot according to an exemplary embodiment.
  • the lidar sensor 110 may enter the lower region of the upper obstacle UO even in the second position. Accordingly, while maintaining the height of the lidar sensor 110 , the driving device 30 and the cleaning device 50 may be controlled to enter the lower region of the upper obstacle UO and perform cleaning ( 470 ).
  • the processor controls the traveling device to leave the lower area of the upper obstacle (490). If the external area to be cleaned remains, the remaining cleaning may be performed, and when the cleaning of the entire cleaning area is completed, it may return to the docking station.
  • 21 is a flowchart of an embodiment in which a lower area of an upper obstacle is divided into a plurality of sub areas to perform cleaning in a method of controlling a cleaning robot according to an exemplary embodiment.
  • the cleaning robot 1 sets a virtual wall in the lower region of the upper obstacle UO to divide it into a plurality of sub-regions, and whenever cleaning of one sub-region among the plurality of sub-regions is completed After coming out of the upper obstacle UO and re-recognizing its position, it may re-enter the lower area of the upper obstacle UO.
  • a case in which the lower region of the upper obstacle UO is divided into three sub-regions will be described as an example.
  • the processor controls the driving device and the cleaning device to enter the first sub-region and perform cleaning ( 610 ). At this time, the power of the lidar sensor 110 and the rotation motor may be turned off.
  • the processor controls the driving device to leave the first sub-region, and controls the sensor driver to raise the lidar sensor (S630).
  • the power of the lidar sensor 110 and the rotation motor is turned off when entering the first sub-region UO1 , the power that was turned off together with the rise of the lidar sensor 110 may be turned on again.
  • the power-on lidar sensor 110 may collect information for recognizing the position of the cleaning robot 1 again at the second position, and the processor 210 cleans based on the output of the lidar sensor 110 .
  • the position of the robot 1 may be re-recognized ( 640 ). Accordingly, even if the position of the cleaning robot 1 is shifted due to slippage or collision with an obstacle in the first sub-region UO1, it may be corrected.
  • the processor 210 lowers the lidar sensor 110 again ( 650 ), and controls the driving device 30 and the cleaning device 50 to enter the second sub-region UO2 and clean it. can be performed (660).
  • the processor 210 controls the driving device 30 to leave the second sub-region UO2 , and controls the sensor driver 120 to control the lidar sensor (110) is raised (680).
  • the power of the lidar sensor 110 and the rotation motor is turned off when entering the second sub-region UO1 , the power that was turned off together with the rise of the lidar sensor 110 may be turned on again.
  • the power-on lidar sensor 110 may collect information for recognizing the position of the cleaning robot 1 again at the second position, and the processor 210 cleans based on the output of the lidar sensor 110 .
  • the position of the robot 1 may be re-recognized ( 690 ).
  • the processor 210 lowers the lidar sensor 110 again ( 700 ), and controls the driving device 30 and the cleaning device 50 to enter the third sub-region UO3 and clean it. can be performed (710).
  • the processor 210 controls the driving device 30 to leave the third sub-region UO3 , and controls the sensor driver 120 to control the lidar sensor (110) is raised (730).
  • the power of the lidar sensor 110 and the rotation motor is turned off when entering the third sub-region UO3 , the power that was turned off together with the rise of the lidar sensor 110 may be turned on again.
  • the number of sub-regions may be determined based on the driving environment of the lower region of the upper obstacle UO. For example, before the cleaning robot 1 enters the lower area of the upper obstacle UO, the processor 210 determines the driving environment of the lower area of the upper obstacle UO based on the output of the obstacle sensor 180 . can judge
  • the lower area before entering the lower area of the upper obstacle UO, the lower area is divided according to the number determined by default, and the number of sub areas is based on information collected while the cleaning robot 1 travels in at least one sub area. It is also possible to adjust
  • the processor 210 may determine the type of floor in the lower region of the upper obstacle UO based on the output of the floor detection sensor provided in the cleaning robot 1 , and the type of floor is cleaned like a carpet. If it can cause the robot 1 to slip, it can be re-divided by increasing the number of sub-regions.
  • the processor 210 may adjust the number of sub-regions based on the output of the obstacle sensor 180 .
  • the lower area is not divided before entering the lower area of the upper obstacle UO, and the lower area based on the information obtained by the floor detection sensor or the obstacle sensor 180 while the cleaning robot 1 travels in the lower area. It is also possible to divide the area.
  • FIG. 19 may also be applied to this embodiment. Therefore, when cleaning of each sub-region is completed and an attempt is made to leave the corresponding area and raise the lidar sensor 110, but the lidar sensor 110 does not reach the second position, as described above By lowering the IDA sensor 110 back to the first position and further moving it, it is possible to try again to leave the sub-region and to raise the lidar sensor 110 again.
  • FIG. 22 is a flowchart of an embodiment in which a lidar sensor is raised again while traveling in a lower area of an upper obstacle in a method of controlling a cleaning robot according to an embodiment.
  • the cleaning robot 1 may include a sensor capable of acquiring information on the size of an obstacle, such as a 3D sensor or a pattern light sensor.
  • a sensor capable of acquiring information on the size of an obstacle
  • the cleaning robot 1 includes the 3D sensor 181 , information about the height, width, or depth of an obstacle included in the FOV range may be acquired.
  • the processor 210 may calculate the height and width of the upper obstacle UO positioned in front of the cleaning robot 1 based on the output of the 3D sensor 181 , and apply the calculated height and width to the cleaning map. can be recorded
  • the 3D sensor 181 may acquire information about the inner region of the upper obstacle UO. For example, when a partial area of the upper obstacle UO is opened as shown in FIGS. 16 and 17 , the processor 210 determines the partial area of the upper obstacle UO based on the output of the 3D sensor 181 . It can be determined that this is open, and information about the open area can be recorded on the cleaning map.
  • the lidar sensor 110 may be raised again and a position may be recognized based on the output of the lidar sensor 110 ( 83 ). The rise of the lidar sensor 110 may be made after entering the open area.
  • the power of the lidar sensor 110 and the rotation motor are also turned off when the lidar sensor 110 is lowered, these power sources may be turned on again.
  • a method of determining the open area OP and a description related to adjusting the height of the lidar sensor 110 related thereto are the same as those described in the embodiment of the cleaning robot 1 .
  • the cleaning robot 1 performs cleaning while traveling in the lower part of the area with the upper part open and then enters the lower part of the closed area again (No in 840), and lowers the lidar sensor 110 again ( 850 ). Whether the cleaning robot 1 enters the lower part of the closed area is based on at least one of a cleaning map, an output of the lidar sensor 110 , an output of the bumper sensor 130 , and an output of the 3D sensor 181 . can judge The lidar sensor 110 descends before entering the lower part of the closed area.
  • the driving device 30 and the sensor driver 120 are controlled to leave the lower area of the upper obstacle UO and the lidar sensor 110 . ) to the second position again (870).
  • these power sources may also be turned on again.
  • the cleaning robot it is also possible to adjust the height of the lidar sensor 110 and the on/off of the power source according to the surrounding environment of the robot 1 or the state of the cleaning robot 1 .
  • the surrounding environment of the cleaning robot 1 may be determined based on at least one of a cleaning map, an output of the bumper sensor 130, and an output of the obstacle sensor 180, and the status of the cleaning robot 1 is a standby state and a charging state. It may include at least one of a state, an error state, and an operational state.
  • the processor 210 may turn off the power of the lidar sensor 110 to reduce power consumption. Also, the power of the rotation motor that rotates the lidar sensor 110 may be turned off. A detailed description related thereto is the same as described in the embodiment of the cleaning robot 1 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

개시된 발명은 주행 경로 상에 바닥으로부터 이격된 상부 장애물이 위치하면, 라이다 센서의 높이를 낮춤으로써 상부 장애물의 하부 영역에 진입하여 청소를 수행할 수 있는 청소 로봇 및 그 제어 방법을 제공한다. 일 실시예에 따른 청소 로봇은, 본체; 상기 본체를 이동시키는 주행 장치; 바닥의 이물질을 흡입하여 청소를 수행하는 클리닝 장치; 상기 본체의 상부에 배치되고, 서로 다른 높이의 제1위치 및 제2위치 사이에서 상승 및 하강 가능하게 마련되는 라이다 센서; 상기 라이다 센서와 장애물의 충돌을 감지하는 범퍼 센서; 상기 라이다 센서의 상승 및 하강을 위한 동력을 생성하는 센서 구동부; 장애물에 관한 정보를 획득하는 장애물 센서; 및 상기 라이다 센서의 출력 및 상기 장애물 센서의 출력에 기초하여 상기 본체의 주변 환경에 대한 청소 맵을 생성하고, 상기 청소 맵, 상기 범퍼 센서의 출력 및 상기 장애물 센서의 출력 중 적어도 하나에 기초하여 상기 라이다 센서의 높이를 조절하기 위해 상기 센서 구동부를 제어하는 프로세서;를 포함한다.

Description

청소 로봇 및 그 제어 방법
개시된 발명은 위치를 인식하고 장애물을 감지할 수 있는 청소 로봇 및 그 제어 방법에 관한 것이다.
청소 로봇은 사용자의 별도의 조작 없이 스스로 일정 영역을 움직이며 청소를 하는 장치이다. 청소 로봇은 센서를 통해 자율적으로 위치를 인식하여 이동하고 이동 경로에 있는 장애물을 피할 수 있다.
청소 로봇은 TOF(Time of Flight) 방식을 통해 장애물과의 거리를 계산하는 라이다(LiDAR, Light Detection And Ranging)센서를 이용하여 주변 장애물을 감지하거나, 이를 기초로 자신의 위치를 인식할 수 있고, SLAM(Simultaneous Localization And Mapping) 기술을 통해 주변 환경에 대한 맵을 작성하여 자율 주행을 할 수 있다.
개시된 발명은 주행 경로 상에 바닥으로부터 이격된 상부 장애물이 위치하면, 라이다 센서의 높이를 낮춤으로써 상부 장애물의 하부 영역에 진입하여 청소를 수행할 수 있는 청소 로봇 및 그 제어 방법을 제공한다.
일 실시예에 따른 청소 로봇은, 본체; 상기 본체를 이동시키는 주행 장치; 바닥의 이물질을 흡입하여 청소를 수행하는 클리닝 장치; 상기 본체의 상부에 배치되고, 서로 다른 높이의 제1위치 및 제2위치 사이에서 상승 및 하강 가능하게 마련되는 라이다 센서; 상기 라이다 센서와 장애물의 충돌을 감지하는 범퍼 센서; 상기 라이다 센서의 상승 및 하강을 위한 동력을 생성하는 센서 구동부; 장애물에 관한 정보를 획득하는 장애물 센서; 및 상기 라이다 센서의 출력 및 상기 장애물 센서의 출력에 기초하여 상기 본체의 주변 환경에 대한 청소 맵을 생성하고, 상기 청소 맵, 상기 범퍼 센서의 출력 및 상기 장애물 센서의 출력 중 적어도 하나에 기초하여 상기 라이다 센서의 높이를 조절하기 위해 상기 센서 구동부를 제어하는 프로세서;를 포함한다.
상기 프로세서는, 상기 범퍼 센서가 상기 라이다 센서와 상기 장애물의 충돌을 감지하면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어할 수 있다.
상기 프로세서는, 상기 본체의 전방에 바닥으로부터 이격된 장애물이 위치하고, 상기 장애물의 높이가 상기 본체 또는 상기 제1위치에서의 라이다 센서의 높이를 초과하고 상기 제2위치에서의 라이다 센서의 높이 이하이면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어할 수 있다.
상기 라이다 센서는, 상기 제1위치에서 상기 본체 내부로 인입되고, 상기 제2위치에서 상기 본체 외부로 돌출될 수 있다.
상기 프로세서는, 상기 라이다 센서가 상기 제2위치에서 상기 제1위치로 하강하면, 상기 라이다 센서의 전원을 오프시키고, 상기 라이다 센서가 상기 제1위치에서 상기 제2위치로 상승하면, 상기 라이다 센서의 전원을 온시킬 수 있다.
상기 프로세서는, 상기 라이다 센서를 상기 제1위치로 하강시킨 후에 상기 본체가 상기 장애물의 하부 영역을 주행하면서 청소를 수행하도록 상기 주행 장치 및 상기 클리닝 장치를 제어할 수 있다.
상기 프로세서는, 상기 장애물의 하부 영역에 대한 청소가 완료되면, 상기 라이다 센서를 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어할 수 있다.
상기 프로세서는, 상기 라이다 센서를 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제2위치에 도달하지 않으면, 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어할 수 있다.
상기 프로세서는, 상기 청소 로봇이 에러 상태, 대기 상태 또는 충전 상태인 경우, 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어하고 상기 라이다 센서의 전원을 오프시킬 수 있다.
상기 프로세서는, 상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제2위치에 도달하지 않거나, 상기 라이다 센서를 상기 제2위치에서 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제1위치에 도달하지 않는 상황이 정해진 횟수 이상 발생하면 상기 에러 상태인 것으로 판단할 수 있다.
상기 청소 맵은, 레퍼런스 맵과 실시간 맵을 포함하고, 상기 프로세서는, 상기 청소 로봇의 주변 환경에 대해 생성된 상기 청소 맵이 없는 경우, 상기 라이다 센서 및 상기 장애물 센서의 출력에 기초하여 상기 레퍼런스 맵을 생성하여 메모리에 저장하고, 상기 레퍼런스 맵에 기초하여 주행하도록 상기 주행 장치를 제어할 수 있다.
상기 프로세서는, 상기 라이다 센서의 출력에 기초하여 상기 실시간 맵을 생성하고, 상기 레퍼런스 맵과 상기 실시간 맵을 비교하여 상기 청소 로봇의 위치를 인식할 수 있다.
상기 프로세서는, 상기 실시간 맵에 기초하여 상기 메모리에 저장된 상기 레퍼런스 맵을 수정할 수 있다.
상기 프로세서는, 상기 장애물의 하부 영역을 복수의 서브 영역으로 분할하고, 상기 복수의 서브 영역 중 제1서브 영역에 대한 청소가 완료되면 상기 청소가 완료된 제1서브 영역을 이탈하고 상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 주행 장치 및 상기 센서 구동부를 제어할 수 있다.
상기 프로세서는, 상기 라이다 센서의 출력에 기초하여 상기 청소 로봇의 위치를 재인식하고, 상기 재인식이 완료되면 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 센서 구동부를 제어하고 상기 복수의 서브 영역 중 제2서브 영역으로 진입하여 청소를 수행하도록 상기 주행 장치와 상기 클리닝 장치를 제어할 수 있다.
상기 프로세서는, 상기 장애물의 하부 영역의 주행 환경에 기초하여 상기 복수의 서브 영역의 개수를 결정할 수 있다.
상기 장애물 센서는, 3D 센서를 포함하고, 상기 프로세서는, 상기 3D 센서의 출력에 기초하여 상기 장애물의 내부 영역에 대한 정보를 판단할 수 있다.
상기 프로세서는, 상기 장애물의 일부 영역이 개방되어 있는 경우, 상기 본체가 상기 개방된 영역의 하부에 진입하면 상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어하고, 상기 제2위치의 라이다 센서의 출력에 기초하여 위치 인식을 수행할 수 있다.
일 실시예에 따른 본체, 상기 본체를 이동시키는 주행 장치 및 바닥의 이물질을 흡입하여 청소를 수행하는 클리닝 장치를 포함하는 청소 로봇의 제어 방법은, 상기 본체의 상부에 배치되고 서로 다른 높이의 제1위치 및 제2위치 사이에서 상승 및 하강 가능하게 마련되는 라이다 센서의 출력 및 장애물에 관한 정보를 획득하는 장애물 센서의 출력에 기초하여 상기 본체의 주변 환경에 대한 청소 맵을 생성하고; 상기 라이다 센서와 장애물의 충돌을 감지하는 범퍼 센서의 출력, 상기 장애물 센서의 출력 및 상기 청소 맵 중 적어도 하나에 기초하여 상기 라이다 센서의 높이를 조절하는 것;을 포함한다.
상기 라이다 센서의 높이를 조절하는 것은, 상기 범퍼 센서가 상기 라이다 센서와 상기 장애물의 충돌을 감지하면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어하는 것;을 포함할 수 있다.
상기 라이다 센서의 높이를 조절하는 것은, 상기 본체의 전방에 바닥으로부터 이격된 장애물이 위치하고, 상기 장애물의 높이가 상기 본체 또는 상기 제1위치에서의 라이다 센서의 높이를 초과하고 상기 제2위치에서의 라이다 센서의 높이 이하이면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어하는 것을 포함할 수 있다.
상기 라이다 센서가 상기 제2위치에서 상기 제1위치로 하강하면, 상기 라이다 센서의 전원을 오프시키고, 상기 라이다 센서가 상기 제1위치에서 상기 제2위치로 상승하면, 상기 라이다 센서의 전원을 온시키는 것;을 더 포함할 수 있다.
상기 라이다 센서를 상기 제1위치로 하강시킨 후에 상기 본체가 상기 장애물의 하부 영역을 주행하면서 청소를 수행하도록 상기 주행 장치 및 상기 클리닝 장치를 제어하는 것;을 더 포함할 수 있다.
상기 장애물의 하부 영역에 대한 청소가 완료되면, 상기 라이다 센서를 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어하는 것;을 더 포함할 수 있다.
상기 라이다 센서를 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제2위치에 도달하지 않으면, 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어하는 것;을 더 포함할 수 있다.
상기 청소 로봇이 에러 상태, 대기 상태 또는 충전 상태인 경우, 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어하고, 상기 라이다 센서의 전원을 오프시키는 것;을 더 포함할 수 있다.
상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제2위치에 도달하지 않거나, 상기 라이다 센서를 상기 제2위치에서 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제1위치에 도달하지 않는 상황이 정해진 횟수 이상 발생하면 에러가 발생한 것으로 판단하는 것;을 더 포함할 수 있다.
상기 장애물의 하부 영역을 복수의 서브 영역으로 분할하는 것;을 더 포함하고, 상기 라이다 센서의 높이를 조절하는 것은, 상기 상기 복수의 서브 영역 중 제1서브 영역에 대한 청소가 완료되면 상기 청소가 완료된 제1서브 영역의 밖에서 상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어하는 것;을 포함할 수 있다.
상기 라이다 센서의 출력에 기초하여 상기 청소 로봇의 위치를 재인식하고; 상기 재인식이 완료되면 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 센서 구동부를 제어하고; 상기 복수의 서브 영역 중 제2서브 영역으로 진입하여 청소를 수행하도록 상기 주행 장치와 상기 클리닝 장치를 제어하는 것;을 더 포함할 수 있다.
상기 장애물의 하부 영역을 복수의 서브 영역으로 분할하는 것은, 상기 장애물의 하부 영역의 주행 환경에 기초하여 상기 복수의 서브 영역의 개수를 결정하는 것;을 포함할 수 있다.
상기 장애물 센서는, 3D 센서를 포함하고, 상기 청소 맵을 생성하는 것은, 상기 3D 센서의 출력에 기초하여 상기 장애물의 내부 영역에 대한 정보를 판단하는 것;을 포함할 수 있다.
상기 라이다 센서의 높이를 조절하는 것은, 상기 장애물의 일부 영역이 개방되어 있는 경우, 상기 본체가 상기 개방된 영역의 하부에 진입하면 상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어하는 것;을 포함할 수 있다.
개시된 발명의 일 측면에 따른 청소 로봇 및 그 제어 방법에 의하면, 주행 경로 상에 바닥으로부터 이격된 상부 장애물이 위치하면, 라이다 센서의 높이를 낮춤으로써 상부 장애물의 하부 영역에 진입하여 청소를 수행할 수 있다.
도 1은 일 실시예에 따른 청소 로봇의 라이다 센서가 본체 내부에 인입된 상태를 나타내는 사시도이다.
도 2는 일 실시예에 따른 청소 로봇의 라이다 센서가 본체로부터 돌출된 상태를 나타내는 사시도이다.
도 3은 도 2의 측면도이다.
도 4는 일 실시예에 따른 청소 로봇의 구성을 설명하기 위한 제어 블록도이다.
도 5는 일 실시예에 따른 청소 로봇에 마련된 라이다 센서 및 라이다 센서와 관련된 구성을 나타낸 분해 사시도이다.
도 6 및 도 7은 일 실시예에 따른 청소 로봇에 마련된 라이다 센서가 상승 및 하강하는 동작을 나타내는 도면이다.
도 8은 일 실시예에 따른 청소 로봇의 범퍼 센서 및 범퍼 부재를 설명하기 위한 도면이다.
도 9 및 도 10은 일 실시예에 따른 청소 로봇의 라이다 센서의 높이가 주변 환경에 따라 조절되는 예시를 나타낸 도면이다.
도 11 및 도 12는 일 실시예에 따른 청소 로봇이 상부 장애물의 하부 영역을 청소하는 경로의 예시를 나타낸 도면이다.
도 13 및 도 14는 일 실시예에 따른 청소 로봇이 상부 장애물의 하부 영역을 청소하는 경로의 다른 예시를 나타낸 도면이다.
도 15 내지 도 17은 일 실시예에 따른 청소 로봇이 3D 센서를 포함하는 경우에 획득할 수 있는 정보의 예시를 나타내는 도면이다.
도 18은 일 실시예에 따른 청소 로봇의 제어 방법에 관한 순서도이다.
도 19는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 하부 영역에 진입한 이후의 과정을 나타내는 순서도이다.
도 20은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 높이에 따라 청소 로봇의 주행을 제어하는 과정에 관한 순서도이다.
도 21은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 하부 영역을 복수의 서브 영역으로 분할하여 청소를 수행하는 실시예에 관한 순서도이다.
도 22는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 하부 영역을 주행하면서 라이다 센서를 다시 상승시키는 실시예에 관한 순서도이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
명세서 전체에서, 어떤 구성요소가 다른 구성요소에 신호 또는 데이터를 전달 또는 전송한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 해당 구성요소와 다른 구성요소 사이에 또 다른 구성요소가 존재하여 이 구성요소를 통해 전달 또는 전송하는 것을 배제하지 않는다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
제1, 제2와 같은 서수의 표현은 복수의 구성요소 또는 복수의 데이터를 상호 구분하기 위해 사용되는 것일 뿐, 복수의 구성요소 또는 복수의 데이터가 서수의 표현에 의해 그 위치, 우선 순위, 데이터 처리 순서 또는 데이터 값의 크기 등이 제한되는 것은 아니다.
각 단계들에 있어 식별 부호는 설명의 편의를 위하여 사용되는 것으로 식별 부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 일 측면에 따른 청소 로봇 및 그 제어 방법의 실시예를 상세하게 설명한다.
도 1은 일 실시예에 따른 청소 로봇의 라이다 센서가 본체 내부에 인입된 상태를 나타내는 사시도이고, 도 2는 일 실시예에 따른 청소 로봇의 라이다 센서가 본체로부터 돌출된 상태를 나타내는 사시도이며, 도 3은 도 2의 측면도이다.
도 1 내지 도 3을 참고하면, 일 실시예에 따른 청소 로봇(1)은 청소 로봇(1)의 외관을 형성하는 본체(10), 후면 커버(20) 및 청소 로봇(1)의 주행을 위한 주행 장치(30)를 포함할 수 있고, 라이다 센서(110) 및 라이다 센서(110)의 상단을 커버하는 상부 커버(170)를 포함할 수 있다.
라이다 센서(110)는 본체(10)의 상부에 배치되고, 서로 다른 높이의 제1위치(도 1 참조) 및 제2위치(도2참조) 사이에서 상승 및 하강 가능하게 마련될 수 있다.
도 3을 참조하면, 청소 로봇(1)이 위치하는 지면을 기준으로 제1위치에서의 라이다 센서(110)의 높이(H1)보다 제2위치에서의 라이다 센서(110)의 높이(H2)가 더 높다.
예를 들어, 라이다 센서(110)는 본체(10)의 내부로 인입되거나(도 1 참조) 본체(10)의 외부로 돌출되도록(도 2 참조) 마련될 수 있다. 라이다 센서(110)가 본체(10)의 내부에 인입되었을 때 제1위치에 위치할 수 있고, 본체(10)의 외부로 돌출되었을 때 제2위치에 위치할 수 있다.
라이다 센서(110)는 본체(10)의 내부에 인입되면 동작하지 않는다. 다만, 후면 커버(20)가 투명한 재질로 구현되는 경우에는 본체(10)의 내부에 인입된 상태에서도 라이다 센서(110)가 동작하여 청소 로봇(1)의 후방 영역에 대한 센싱을 수행할 수 있다.
이와 같은 라이다 센서(110)의 높이는 청소 로봇(1)의 상황에 따라 제어될 수 있다. 라이다 센서(110)의 높이 제어에 대한 상세한 설명은 후술하기로 한다.
도 4는 일 실시예에 따른 청소 로봇의 구성을 설명하기 위한 제어 블록도이고, 도 5는 일 실시예에 따른 청소 로봇에 마련된 라이다 센서 및 라이다 센서와 관련된 구성을 나타낸 분해 사시도이다. 도 5에 도시된 구성은 도 3의 A 영역의 내부 구성이다.
도 4를 참고하면, 청소 로봇(1)은 본체(10)를 이동시키는 주행 장치(30), 바닥의 이물질을 흡입하여 청소를 수행하는 클리닝 장치(50), 본체(10)의 상부에 배치되고, 서로 다른 높이의 제1위치 및 제2위치 사이에서 상승 및 하강 가능하게 마련되는 라이다 센서(110), 라이다 센서(110)의 상승 및 하강을 위한 동력을 생성하는 센서 구동부(120), 라이다 센서(110)와 장애물의 충돌을 감지하는 범퍼 센서(130), 장애물에 관한 정보를 획득하는 장애물 센서(180), 및 라이다 센서(110)와 장애물 센서(180)의 출력에 기초하여 청소 로봇(1)의 주변 환경에 대한 청소 맵을 생성하고, 생성된 청소 맵, 범퍼 센서(130)의 출력 및 장애물 센서(180)의 출력 중 적어도 하나에 기초하여 라이다 센서(110)의 높이를 조절하기 위해 센서 구동부(120)를 제어하는 프로세서(210)를 포함한다.
라이다 센서(110)는 특정 주파수를 갖는 고출력의 펄스 레이저를 대상체에 조사하고, 대상체로부터 반사파가 수신되는 시간을 측정하여 대상체까지의 거리에 관한 정보를 획득할 수 있는 센서 시스템이다.
이와 같은 라이다 기술에는 여러 가지가 있으나, 일 실시예에 따른 라이다 센서(110)는 레이저 빔의 진행 방향에 대한 거리 정보뿐만 아니라, 공간에 대한 영상 모델링이 가능한 형태의 라이다 센서(110)일 수 있다. 즉, 일 실시예에 따른 라이다 센서(110)는 포인트 스캐닝(point-scanning)을 통해 지면에 대한 포인트 클라우드(point cloud) 정보를 수집할 수 있다.
예를 들어, 라이다 센서(110)는 본체(10)의 상부로부터 돌출된 제2위치에서 360도 회전하면서 포인트 클라우드 정보를 수집할 수 있다. 다만, 청소 로봇(1)의 실시예가 이에 한정되는 것은 아니며 라이다 센서(110)의 회전 각도는 다르게 변형될 수도 있다.
도 5를 참조하면, 청소 로봇(1)의 본체(10) 내부의 후방 영역에는 라이다 센서(110), 라이다 센서(110)를 수용하는 라이다 센서 하우징(140), 라이다 센서 하우징(140)의 둘레에 배치되는 범퍼 부재(150), 범퍼 센서(130), 범퍼 하우징(161), 센서 구동부(120), 하부 하우징(164), 상부 커버(170) 및 센서 구동부(120)를 제어하는 회로 기판(171)이 배치될 수 있다.
라이다 센서(110)는 라이다 센서 하우징(140) 상에 배치되어 고정될 수 있고, 라이다 센서 하우징(140)은 범퍼 하우징(161)의 수용부(162) 내부에 수용되어 고정될 수 있다.
상부 커버(170)는 라이다 센서(110)의 상부에 배치되어 라이다 센서(110)가 제2 위치에 배치되는 경우 본체(10) 외부로 돌출되고, 라이다 센서(110)가 제1 위치에 배치되는 경우 본체(10)의 상면과 동일한 높이에 배치될 수 있다.
상부 커버(170)는 라이다 센서(110)보다 측면으로 더 돌출된 형태로 라이다 센서(110)를 커버할 수 있다. 이에 따라, 라이다 센서(110)가 본체(10)로부터 돌출된 제2 위치에 배치된 상태에서 외부 장애물과 충돌할 경우, 상부 커버(170)가 장애물과 1차적으로 접촉하게 되어, 라이다 센서(110)가 장애물과 직접적으로 충돌하는 것을 방지할 수 있다.
상부 커버(170)는 범퍼 하우징(161)에 고정될 수 있다. 이 경우, 상부 커버(170)가 외부 장애물과 충돌하면, 충돌로 인한 충격은 범퍼 하우징(161)에 전달되고, 범퍼 하우징(161)의 접촉부(163)를 통해 범퍼 센서(130)에 충격이 전달될 수 있다. 이에 따라, 범퍼 센서(130)는 라이다 센서(110)와 장애물의 충돌 여부를 감지할 수 있고, 추가적으로 접촉 방향까지 감지함으로써 장애물의 위치에 대한 정보를 획득할 수 있다.
한편, 라이다 센서 하우징(140)은 가이드 홈(141) 및 라이다 센서(110)에 가해지는 충격을 완화할 수 있는 댐핑 부재(142)를 포함할 수 있다.
범퍼 부재(150)는 라이다 센서 하우징(140)의 둘레를 따라 배치될 수 있고, 가이드 홈(141)의 위치에 대응되는 위치에 가이드 홈(141)의 형상과 맞물려 결합하는 형상을 가지는 가이드 부재(151)를 포함할 수 있다.
외부 충격에 의해 라이다 센서 하우징(140)의 위치가 변하는 경우, 라이다 센서 하우징(140)은 댐핑 부재(142)의 복원력으로 인해 원위치로 이동할 수 있다. 이 경우, 범퍼 부재(150)는 본체(10) 내부에 고정된 위치를 가지고, 라이다 센서 하우징(140)의 가이드 홈(141)과 범퍼 부재(150)의 가이드 부재(151)가 결합함으로써, 라이다 센서 하우징(140)이 본래 위치로 이동할 수 있도록 가이드할 수 있다.
센서 구동부(120)는 구동력을 제공하는 구동 모터(123)를 포함할 수 있다. 센서 구동부(120)의 상단은 라이다 센서 하우징(140)에 결합되어 라이다 센서(110)를 상승 또는 하강시킴으로써 라이다 센서(110)의 높이를 조절할 수 있다. 센서 구동부(120)가 라이다 센서(110)의 높이를 조절하는 구체적인 동작은 후술하기로 한다.
다시 도 3을 참조하면, 청소 로봇(1)은 청소 영역을 주행하면서 청소 맵을 생성하기 위한 정보를 수집할 수 있다. 예를 들어, 청소 로봇(1)은 청소 영역을 주행하면서 라이다 센서(110)에 의해 획득되는 지면에 대한 포인트 클라우드 정보를 수집할 수 있다. 수집된 포인트 클라우드 정보를 저장하기 위해 청소 로봇(1)은 메모리(220)를 더 포함할 수 있다.
또한, 청소 로봇(1)은 장애물 센서(180)을 이용하여 청소 영역에 위치하는 적어도 하나의 장애물에 대한 정보를 획득할 수 있다. 예를 들어, 장애물 센서(180)는 적외선 센서, 초음파 센서, 가시광선 센서, 레이저 센서, 영상 센서, 패턴광 센서, 3D 센서 등의 다양한 센서 중 적어도 하나를 포함할 수 있다.
프로세서(210)는 라이다 센서(110)에 의해 획득된 포인트 클라우드 정보와 장애물 센서(180)에 의해 획득된 장애물에 대한 정보에 기초하여 청소 맵을 생성할 수 있다. 후술하는 실시예에서는 청소 맵이 레퍼런스 맵과 실시간 맵을 포함할 수 있다.
먼저, 프로세서(210)는 동시적으로 위치 추정 및 맵핑을 할 수 있는 SLAM(Simultaneous Localization And Mapping) 기술을 통해 주변 환경에 대한 레퍼런스 맵을 생성하고, 이를 메모리(220)에 저장할 수 있다. 레퍼런스 맵은 청소 로봇(1)이 주변 환경에 대하여 생성한 맵이 없는 경우, 해당 주변 환경에 대하여 최초로 생성하는 맵일 수 있다. 레퍼런스 맵이 생성되면, 프로세서(210)는 레퍼런스 맵에 기초하여 주행하도록 주행 장치(30)를 제어할 수 있다.
또한, 프로세서(210)는 레퍼런스 맵을 기초로 하여 현재 위치를 식별할 수 있다. 예를 들어, 프로세서(210)는 라이다 센서(110)로부터 수신한 정보에 기초하여 청소 로봇(1)의 주변 환경에 대한 실시간 맵을 생성하고, 실시간 맵을 메모리(220)에 저장된 레퍼런스 맵과 비교하여 청소 로봇(1)의 현재 위치를 식별할 수 있다. 이러한 과정은 위치 재인식(Re-localization)이라고도 한다.
실시간 맵은 청소 로봇(1)이 라이다 센서(110)를 이용하여 현재 위치의 주변 환경에 대해 획득한 포인트 클라우드 정보를 기초로 하여 생성할 수 있다.
한편, 프로세서(210)는 실시간 맵에 기초하여 메모리(220)에 저장된 레퍼런스 맵을 수정할 수도 있다. 예를 들어, 청소 로봇(1)의 주변 환경에 변화가 발생한 경우, 프로세서(210)는 라이다 센서(110)에 의해 생성된 실시간 맵 또는 실시간 맵과 장애물 센서(180)의 출력을 기초로 하여 변경된 내용을 레퍼런스 맵에 반영할 수 있다.
또한, 프로세서(210)는 청소 로봇(1)의 주변 환경 또는 청소 로봇(1)의 상태에 따라 라이다 센서(110)를 상승 또는 하강시켜 그 높이를 조절하기 위해 센서 구동부(120)를 제어하거나, 라이다 센서(110)의 전원을 온 또는 오프시킬 수 있다.
청소 로봇(1)의 주변 환경은 청소 맵, 범퍼 센서(130)의 출력 및 장애물 센서(180)의 출력 중 적어도 하나에 기초하여 판단될 수 있고, 청소 로봇(1)의 상태는 대기 상태, 충전 상태, 에러 상태 및 작동 상태 중 적어도 하나를 포함할 수 있다.
예를 들어, 청소 로봇(1)이 대기 상태, 충전 상태 또는 에러 상태에 있는 경우, 프로세서(210)는 소비 전력 절감을 위해 라이다 센서(110)의 전원을 오프시킬 수 있다. 또한, 라이다 센서(110)를 회전시키는 회전 모터의 전원도 오프시킬 수 있다.
에러 상태의 일 예를 설명한다. 청소 로봇(1)의 부팅 시에 프로세서(210)는 라이다 센서(110)의 상승 동작과 하강 동작이 완료될 때까지 정해진 횟수만큼 각각 시도하고, 이들 중 적어도 하나의 동작이 완료되지 않으면 에러 상태로 판단할 수 있다.
구체적으로, 라이다 센서(110)를 제1위치에서 제2위치로 상승시키기 위해 센서 구동부(120)를 제어한 이후에 라이다 센서(110)가 제2위치에 도달하지 않거나, 라이다 센서(110)를 제2위치에서 제1위치로 하강시키기 위해 센서 구동부(120)를 제어한 이후에 라이다 센서(110)가 제1위치에 도달하지 않는 상황이 정해진 횟수 이상 발생하면 에러 상태인 것으로 판단할 수 있다.
일 예로, 라이다 센서(110)를 제2위치로 상승시키기 위해 센서 구동부(120)에 제어 신호를 전송하였으나 라이다 센서(110)가 제2위치에 도달하지 않은 경우, 라이다 센서(110)가 제2위치에 도달할 때까지 제어 신호의 전송을 반복하고, 3회의 시도에도 불구하고 라이다 센서(110)가 제2위치에 도달하지 않으면 에러 상태로 판단할 수 있다.
마찬가지로, 라이다 센서(110)를 제1위치로 하강시키기 위해 센서 구동부(120)에 제어 신호를 전송하였으나 라이다 센서(110)가 제1위치에 도달하지 않은 경우, 라이다 센서(110)가 제1위치에 도달할 때까지 제어 신호의 전송을 반복하고, 3회의 시도에도 불구하고 라이다 센서(110)가 제1위치에 도달하지 않으면 에러 상태로 판단할 수 있다.
청소 로봇(1)이 충전 상태인지 여부는 도킹 스테이션으로부터 전송되는 도킹 신호 또는 도킹 스테이션의 도킹 단자를 감지하는 도킹 센서의 출력에 기초하여 판단될 수 있다.
또한, 프로세서(210)는 라이다 센서(110)가 제1위치에 있어 작동하지 않는 경우에도 라이다 센서(110)의 전원과 회전 모터의 전원을 오프시킬 수 있다. 다만, 후면 커버(20)가 투명한 재질로 구현되어 라이다 센서(110)가 제1위치에서도 작동하는 경우에는 라이다 센서(110)의 전원과 회전 모터의 전원을 온 상태로 유지할 수 있다.
또한, 프로세서(210)는 청소 로봇(1)이 주행하는 바닥이 기울어져 있는 경우에는 라이다 센서(110)의 회전 모터의 전원을 오프시킴으로써 오인식을 최소화할 수 있다. 바닥의 기울기는 청소 로봇(1)에 마련된 자이로 센서에 의해 획득될 수 있다.
프로세서(210)는 전술한 동작 외에도 청소 로봇(1)의 전반적인 동작을 제어할 수 있다. 이를 위해, 프로세서(210)는 중앙처리장치(central processing unit(CPU)), 어플리케이션 프로세서(application processor), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 적어도 하나를 포함할 수 있다.
프로세서(210)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(120)에 연결된 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(210)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다.
메모리(220)는 청소 로봇(1)의 구성요소의 전반적인 동작을 제어하기 위한 운영체제(Operating System: OS) 및 청소 로봇(1)의 구성요소와 관련된 명령 또는 데이터를 비일시적 또는 일시적으로 저장할 수 있다. 메모리(220)는 프로세서(210)에 의해 액세스되며, 프로세서(210)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
주행 장치(30)는 본체의 이동, 즉 청소 로봇(1)의 주행을 위한 동력을 제공할 수 있다. 예를 들어, 주행 장치(30)는 바닥면과 접촉하는 적어도 하나의 바퀴, 바퀴에 동력을 제공하는 주행 모터 및 주행 모터를 구동하는 드라이버를 포함할 수 있다.
프로세서(210)는 주행 장치(30)의 드라이버에 제어 신호를 전송하여 본체(10)를 이동시킬 수 있다.
클리닝 장치(50)는 바닥의 먼지 등의 이물질을 비산시키고 비산된 먼지를 흡입함으로써 청소 로봇(1)의 주행 영역에 대한 청소를 수행할 수 있다. 예를 들어, 클리닝 장치(50)는 바닥에 존재하는 먼지 등의 이물질을 비산시키는 브러시 모듈과 비산된 이물질을 흡입하는 흡입 모듈을 포함할 수 있다.
프로세서(210)는 클리닝 장치(50)에 제어 신호를 전송하여 청소 로봇(1)의 주행 영역에 대한 청소를 수행할 수 있다.
통신 장치(40)는 외부 장치에 데이터를 송신하거나, 외부 장치로부터 제어 명령을 수신할 수 있다. 예를 들어, 사용자가 리모트 컨트롤러나 모바일 기기와 같은 제어장치를 이용하여 청소 로봇(1)에 대한 제어 명령을 송신하면, 통신 장치(40)가 이를 수신할 수 있고, 프로세서(210)가 수신된 제어 명령에 대한 처리를 수행할 수 있다.
이하, 일 실시예에 따른 청소 로봇이 주변 환경에 따라 라이다 센서(110)를 하강 또는 상승시키는 동작에 대해 구체적으로 설명한다.
도 6 및 도 7은 일 실시예에 따른 청소 로봇에 마련된 라이다 센서가 상승 및 하강하는 동작을 나타내는 도면이다. 도 6 및 도 7에는 라이다 센서의 상승 및 하강과 무관한 구성은 생략되어 있다.
도 6 및 도 7을 참고하면, 센서 구동부(120)는 제1 링크(121), 제2 링크(122) 및 감속 부재(124)를 포함할 수 있다. 또한, 도 6 및 도 7에는 도시하지 않았으나, 센서 구동부(120)는 구동력을 제공하는 구동 모터(123, 도 5 참고)를 포함할 수 있다.
도 6은 라이다 센서(110)가 본체(10) 내부에 인입되는 제1 위치(도 1 참고)에서 센서 구동부(120)와 연결되어 있는 상태를 도시한 것이다.
제1 링크(121)의 일단은 톱니를 포함할 수 있고, 감속 부재(124)에 형성된 톱니와 맞물려 회전할 수 있다. 이 경우, 감속 부재(124)는 구동 모터(123)에 연결되어 구동 모터(123)로부터 받는 동력을 제1 링크(121)에 전달할 수 있다. 구동 모터(123)는 펄스(pulse) 형태의 전류를 입력 받아 일정한 각도로 회전하는 스텝 모터일 수 있다.
제1 링크(121)의 타단은 제2 링크(122)의 일단과 회전 가능하게 연결될 수 있고, 제2 링크(122)의 타단은 라이다 센서 하우징(140)과 회전 가능하게 연결될 수 있다.
이 경우, 제1 링크(121)의 회전에 의해 제1 링크(121)에 연결된 제2 링크(122)가 움직일 수 있고, 이에 따라 제2 링크(122)에 연결된 라이다 센서 하우징(140)은 상측 또는 하측으로 이동할 수 있다.
도 7은 라이다 센서(110)가 본체(10) 외부로 돌출되는 제2 위치(도 2 및 도 3 참고)에서 센서 구동부(120)와 연결되어 있는 상태를 도시한 것이다.
도 7을 참고하면, 제1링크(121)가 회전하여, 제1 링크(121) 및 제2 링크(122)의 연결축을 기준으로 제1 링크(121)와 제2 링크(122)가 일직선상에 위치하도록 배치될 수 있다. 예를 들어, 라이다 센서(110)가 제1위치에 있을 때와 비교하면, 제1링크(121)는 대략 68도의 각도로 회전할 수 있다. 이에 따라, 도 6에서 제1 위치의 라이다 센서(110)와 비교하여, 제2 위치의 라이다 센서(110)가 더 높게 위치하게 된다.
이상에서는 라이다 센서(110)가 제1 위치 또는 제2 위치 두 가지 위치 사이에서 이동하도록 센서 구동부(120)가 단일 스텝인 것을 예시로 하여 설명하였으나, 이에 한정되는 것은 아니고, 라이다 센서(110)가 3가지 이상의 위치로 선택적으로 이동 가능하도록 센서 구동부(120)가 다중 스텝으로 구성되는 것도 가능하다.
도 8은 일 실시예에 따른 청소 로봇의 범퍼 센서 및 범퍼 부재를 설명하기 위한 도면이다.
도 8을 참고하면, 범퍼 센서(130)는 제1 범퍼 센서(131), 제2 범퍼 센서(132) 및 스토퍼(133)를 포함할 수 있다. 일 예로, 제1범퍼 센서(131)와 제2범퍼 센서(132)는 마이크로 스위치로 구현될 수 있다.
스토퍼(133)는 범퍼 하우징(161)의 접촉부(163, 도 5 참고)와 인접하게 배치되어, 외부 장애물에 의한 충격 또는 센서 구동부(120)에 의한 라이다 센서(110)의 이동에 따라 접촉부(163)가 움직이면서 발생하는 위치 변화를 제1 및 제2 범퍼 센서(131, 132)에 전달할 수 있다.
이에 따라, 제1 및 제2 범퍼 센서(131, 132)는 상부 커버(170, 도 3 및 도 5 참고)와 장애물의 접촉 여부를 감지하거나 접촉 방향을 감지함으로써 장애물의 위치에 대한 정보를 획득할 수 있고, 라이다 센서(110)가 제1 위치 또는 제2 위치로 이동하는지 여부를 감지할 수 있다.
라이다 센서(110)는 라이다 센서 하우징(140) 내부에 수용될 수 있다. 라이다 센서 하우징(140)은 범퍼 하우징(161, 도 5 참고)의 내부에 배치되고, 상부 커버(170)와 연결되어, 상부 커버(170)가 외부 장애물과 접촉 시 범퍼 하우징(161) 내부에서 위치가 변경될 수 있다.
범퍼 부재(150)는 본체(10) 내부에 배치되어, 범퍼 하우징(161) 내부에 고정되도록 배치될 수 있다. 범퍼 부재(150)는 라이다 센서 하우징(140)의 둘레를 감싸는 형태로 배치될 수 있다.
범퍼 부재(150)는 내측 방향으로 돌출 형성된 가이드 부재(151)을 포함할 수 있다. 한편, 라이다 센서 하우징(140)은 가이드 부재(151)에 대응되는 위치에 가이드 부재(151)와 맞물리도록 체결되는 가이드 홈(141)을 포함할 수 있다.
이에 따라, 라이다 센서 하우징(140)이 범퍼 하우징(161) 내부에서 위치가 변경되어도, 라이다 센서 하우징(140)의 가이드 홈(141)과 범퍼 부재(150)의 가이드 부재(151)가 맞물리는 형태로 결합함으로써, 라이다 센서 하우징(140)이 본래 위치로 이동할 수 있도록 가이드할 수 있다.
도 9 및 도 10은 일 실시예에 따른 청소 로봇의 라이다 센서의 높이가 주변 환경에 따라 조절되는 예시를 나타낸 도면이다.
청소 로봇(1)의 주행 중에는 라이다 센서(110)가 본체(10)의 상부로부터 돌출된 제2위치에서 청소 로봇(1)의 위치를 인식하거나 장애물을 감지할 수 있다.
도 9 및 도 10에 도시된 바와 같이, 청소 로봇(1)의 주행 경로에 바닥으로부터 이격된 상부 장애물(UO)이 위치하는 경우, 상부 장애물(UO)의 높이에 따라 청소 로봇(1)이 상부 장애물(UO)과 충돌할 가능성이 있다. 여기서, 상부 장애물(UO)의 높이는 상부 장애물(UO)이 바닥으로부터 이격된 높이를 의미할 수 있다.
상부 장애물(UO)은 하나 이상의 다리에 의해 지지되거나 천장 또는 벽에 고정된 침대, 테이블, 의자, 옷장 등의 가구나, 조명, 장식품 등을 포함할 수 있다.
구체적으로, 상부 장애물(UO)의 높이가 본체(10)의 높이보다 낮으면 상부 장애물(UO)과 본체(10)의 충돌 가능성이 있다. 전술한 도 3의 예시와 같이 라이다 센서(110)가 제1위치에서 본체(10)의 내부에 인입되고 라이다 센서(110)의 상부 커버(170)가 본체(10)의 상부와 동일면 상에 있는 경우에는 본체(10)의 높이가 제2위치에서의 라이다 센서(110)의 높이(H1)와 동일하다.
후술하는 실시예에서는 제1위치에서의 라이다 센서(110)의 높이와 본체(10)의 높이 중 높은 것을 제1높이(H1)라 하고, 제2위치에서의 라이다 센서(110)의 높이를 제2높이(H2)라 하기로 한다.
이 경우, 청소 로봇(1)이 상부 장애물(UO)의 하부 영역으로 진입할 수 없으므로, 프로세서(210)는 주행 장치(30)를 제어하여 상부 장애물(UO)을 회피할 수 있다.
도 9 및 도 10에 도시된 바와 같이, 상부 장애물(UO)의 높이가 제1높이(H1)보다는 높고 제2높이(H2)보다는 낮은 경우에는 라이다 센서(110)와 상부 장애물(UO)의 충돌 가능성이 있다. 그러나, 이 경우 상부 장애물(UO)이 본체(10)와는 충돌하지 않으므로, 라이다 센서(110)를 하강시키면 청소 로봇(1)이 상부 장애물(UO)의 하부 영역으로 진입할 수 있다.
따라서, 프로세서(210)는 센서 구동부(120)를 제어하여 라이다 센서(110)를 제1위치로 하강시킬 수 있다. 라이다 센서(110)가 제1위치로 하강하면, 프로세서(210)는 주행 장치(30)를 제어하여 청소 로봇(1)을 상부 장애물(U0)의 하부 영역으로 진입시킬 수 있고, 클리닝 장치(50)를 제어하여 상부 장애물(UO)의 하부 영역에 대한 청소를 수행할 수 있다.
라이다 센서(110)의 하강 여부는 정해진 시간의 경과 여부 또는 범퍼 센서(130)의 출력에 기초하여 판단될 수 있다.
정해진 시간의 경과 여부를 기초로 하는 경우에는, 라이다 센서(110)가 하강하는데 소요되는 시간이 미리 정해질 수 있다. 프로세서(210)는 센서 구동부(120)에 제어 신호를 전송한 후 정해진 시간이 경과하면, 주행 장치(30)를 제어하여 청소 로봇(1)을 상부 장애물(UO)의 하부 영역으로 진입시킬 수 있다.
앞서 도 8을 참조하여 설명한 바와 같이, 범퍼 센서(130)는 라이다 센서(110)가 제1위치 또는 제2위치로 이동하는지 여부를 감지할 수 있다. 따라서, 범퍼 센서(130)의 출력을 기초로 하는 경우에는, 범퍼 센서(110)의 출력이 라이다 센서(110)가 제2위치에서 제1위치로 이동했음을 나타날 때 프로세서(210)가 주행 장치(30)를 제어하여 청소 로봇(1)을 상부 장애물(UO)의 하부 영역으로 진입시킬 수 있다.
상부 장애물(UO)의 높이가 제2위치에서의 라이다 센서(110)의 높이(H2)보다도 높은 경우에는, 본체(10)뿐만 아니라 라이다 센서(110)도 상부 장애물(UO)과 충돌 가능성이 없으므로 라이다 센서(110)의 높이를 유지한 상태에서 청소 로봇(1)이 상부 장애물(UO)의 하부 영역으로 진입하여 청소를 수행할 수 있다.
프로세서(210)는 청소 맵, 라이다 센서(110)의 출력, 범퍼 센서(130)의 출력 및 장애물 센서(180)의 출력 중 적어도 하나에 기초하여 상부 장애물(UO)의 하부 영역으로의 진입 여부를 결정하고 라이다 센서(110)의 높이를 조절할 수 있다.
예를 들어, 프로세서(210)는 장애물 센서(180)의 출력, 범퍼 센서(130)의 출력 또는 라이다 센서(110)의 출력을 이용하거나 이들 중 둘 이상의 조합을 이용하여 상부 장애물(UO)의 높이를 판단할 수 있고, 판단된 높이는 청소 맵에 기록될 수 있다. 여기서, 상부 장애물(UO)의 높이는 특정 수치로 판단되는 것 뿐만 아니라, 상한 값 및 하한 값 중 적어도 하나를 갖는 범위로 판단되는 것도 가능하다.
프로세서(210)는 청소 맵에 기록된 상부 장애물(UO)의 높이에 기초하여 라이다 센서(110)를 하강시키기 위해 센서 구동부(120)를 제어하거나, 라이다 센서(110)의 높이는 유지한 채 상부 장애물(UO)을 회피하거나 상부 장애물(UO)의 하부 영역에 진입할 수 있다.
구체적으로, 프로세서(210)는 청소 로봇(1)의 전방에 위치하는 상부 장애물(UO)의 높이가 기준 범위에 포함되면, 라이다 센서(110)를 하강시키기 위해 센서 구동부(120)를 제어할 수 있다. 여기서, 기준 범위는 제1높이(H1)를 초과하고 제2높이(H2) 이하의 범위일 수 있다. 즉, 상부 장애물(UO)의 높이가 제1높이(H1)를 초과하고 제2높이(H2) 이하이면, 프로세서(210)는 라이다 센서(110)를 하강시키기 위해 센서 구동부(120)를 제어할 수 있다.
프로세서(210)는 상부 장애물(UO)의 높이가 제1높이(H1) 이하이면, 상부 장애물(UO)에 대한 회피 주행을 수행하고, 상부 장애물(UO)의 높이가 제2높이(H2)를 초과하면 라이다 센서(110)를 제2위치에 고정한 채로 상부 장애물(UO)의 하부 영역으로 진입하여 청소를 수행할 수 있다.
또는, 청소 맵이 생성되지 않았거나, 청소 맵에 상부 장애물(UO)의 높이에 관한 정보가 기록되지 않은 경우에는, 프로세서(210)는 실시간으로 장애물 센서(180)의 출력, 범퍼 센서(130)의 출력 또는 라이다 센서(110)의 출력을 이용하거나 이들 중 둘 이상의 조합을 이용하여 상부 장애물(UO)의 높이를 판단하고, 이를 센서 구동부(120)를 제어하는데 이용할 수 있다.
예를 들어, 도 9 및 도 10에 도시된 바와 같이 라이다 센서(110)가 본체(10)의 후방에 마련된 경우에는, 범퍼 센서(130)의 출력만을 이용하는 것도 가능하다. 구체적으로, 라이다 센서(110)가 본체(10)에 마련된 구조에서는 본체(10)의 전방부가 이미 상부 장애물(UO)의 하부 영역에 진입했을 때 범퍼 센서(130)가 라이다 센서(110)의 전방에서 가해지는 충격을 감지할 수 있다.
따라서, 프로세서(210)는 범퍼 센서(130)의 출력이 라이다 센서(110)와 전방에 위치한 장애물의 충돌을 나타내면, 라이다 센서(110)를 하강시키고 상부 장애물(UO)의 하부 영역을 주행하면서 청소를 수행하기 위해 센서 구동부(120), 주행 장치(30) 및 클리닝 장치(50)를 제어할 수 있다.
도 11 및 도 12는 일 실시예에 따른 청소 로봇이 상부 장애물의 하부 영역을 청소하는 경로의 예시를 나타낸 도면이다.
전술한 바와 같이, 상부 장애물(UO)의 높이가 본체(10)의 상부보다 높고 제2위치의 라이다 센서(110)의 높이보다는 낮은 경우, 청소 로봇(1)의 라이다 센서(110)를 하강시키고 상부 장애물(UO)의 하부 영역으로 진입하여 청소를 수행할 수 있다.
청소 로봇(1)이 지그재그 경로로 주행하는 경우에는, 도 11에 도시된 바와 같이, 상부 장애물(UO)의 하부 영역으로 진입한 이후 1회 턴을 하면 외부 영역까지 직진으로 주행함으로써 상부 장애물(UO)의 하부 영역에 대한 이탈과 재진입을 반복할 수 있다. 또는, 도 12에 도시된 바와 같이, 상부 장애물(UO)의 하부 영역에 대한 청소를 완료한 이후에 상부 장애물(UO)을 이탈할 수도 있다.
도 11과 같이 주행하는 경우에는 청소 로봇(1)이 상부 장애물(UO)의 하부 영역을 이탈하는 것과 재진입하는 것을 모두 판단하여 라이다 센서(110)를 상승 및 하강시킬 수도 있고, 상부 장애물(UO)의 이탈과 재진입에 무관하게 라이다 센서(110)의 하강 상태를 유지하는 것도 가능하다.
상부 장애물(UO)의 하부 영역에서는 라이다 센서(110)가 본체(10)의 내부에 인입되어 있기 때문에 작동하지 않는다. 따라서, 상부 장애물(UO)의 하부 영역에서의 주행은 청소 맵과 오도메트리(Odometry)에 기초하여 이루어질 수 있다. 오도메트리를 이용하기 위해 청소 로봇(1)에 마련된 관성 센서나, 엔코더 등을 이용할 수 있다. 다만, 후면 커버(20)가 투명한 재질로 구현된 경우에는, 라이다 센서(110)의 출력도 함께 이용될 수 있다.
프로세서(210)는 청소 맵과 오도메트리에 기초하여 상부 장애물(UO)의 하부 영역에 대한 청소가 완료되었는지 여부를 판단할 수 있다. 청소 완료 여부의 판단은 청소 맵과 오도메트리에 기초하여 이루어질 수 있는바, 프로세서(210)는 청소 맵과 오도메트리에 기초하여 판단한 결과 청소 로봇(1)이 청소를 수행하면서 상부 장애물(UO)의 하부 영역 전체를 주행한 경우에 상부 장애물(UO)의 하부 영역에 대한 청소가 완료된 것으로 판단할 수 있다.
프로세서(210)는 하부 영역에 대한 청소가 완료된 것으로 판단되면 청소 로봇(1)이 상부 장애물(UO)의 하부 영역을 이탈하고 제1위치에 있던 라이다 센서(110)가 다시 제2위치로 상승하도록, 주행 장치(30)와 센서 구동부(120)를 제어할 수 있다.
한편, 프로세서(210)가 라이다 센서(110)를 제2위치로 상승시키기 위해 센서 구동부(120)에 제어 신호를 전송하였으나 라이다 센서(110)가 제2위치에 도달하지 않은 경우, 즉 라이다 센서(110)의 상승을 시도하였으나 실패한 경우에는 아직 청소 로봇(1)이 상부 장애물(UO)의 하부 영역을 이탈하지 못한 경우로 볼 수 있다. 라이다 센서(110)가 제2위치에 도달했는지 여부는 범퍼 센서(130)의 출력에 기초하여 판단될 수 있다. 따라서, 프로세서(210)는 다시 라이다 센서(110)를 제1위치로 하강시키기 위해 센서 구동부(120)를 제어할 수 있다.
청소 로봇(1)은 상부 장애물(UO)의 하부 영역을 이탈하기 위해 추가로 이동할 수 있는바, 기존 주행 방향을 유지하면서 전진할 수도 있고 주행 방향을 바꾸어 이동할 수도 있다. 하부 영역 이탈을 위한 추가 이동 시에도 청소를 수행하는 것도 가능하고, 수행하지 않는 것도 가능하다.
하부 영역 이탈을 위한 추가 이동 후, 프로세서(210)가 청소 맵과 오도메트리에 기초하여 판단한 결과, 청소 로봇(1)이 하부 영역을 이탈한 것으로 판단되면 다시 라이다 센서(110)를 제2위치로 상승시키기 위해 센서 구동부(120)를 제어할 수 있다.
또한, 청소 로봇(1)이 하부 영역을 이탈했는지 여부를 판단함에 있어서 장애물 센서(180)의 출력을 추가로 더 이용하는 것도 가능하다.청소 로봇(1)이 상부 장애물(UO)의 하부 영역을 이탈할 때까지 전술한 동작을 반복할 수 있고, 이탈이 완료되면 프로세서(210)는 라이다 센서(110)의 전원과 회전 모터의 전원을 다시 온시킬 수 있다.
한편, 상부 장애물(UO)의 하부 영역에 대한 청소는 외부 영역에 대한 청소가 완료된 이후에 수행될 수도 있고, 외부 영역에 대한 청소에 우선하여 수행될 수도 있다. 하부 영역과 외부 영역 간 청소 순서에 대해서는 제한을 두지 않는다.
도 13 및 도 14는 일 실시예에 따른 청소 로봇이 상부 장애물의 하부 영역을 청소하는 경로의 다른 예시를 나타낸 도면이다.
라이다 센서(110)가 제1위치로 하강한 상태에서는 청소 로봇(1)이 주행하면서 자신의 위치를 인식할 수 없다. 청소 로봇(1)이 자신의 위치를 인식하지 못한 상태에서 주행하게 되면, 슬립(slip)이 발생하거나 장애물에 부딪히는 등의 사유로 청소 로봇(1)의 위치가 주행 경로에서 틀어지더라도 이를 인지하고 보정하기가 어렵다.
따라서, 일 실시예에 따른 청소 로봇(1)은 상부 장애물(UO)의 하부 영역에 가상벽을 설정하여 복수의 서브 영역으로 분할하고, 복수의 서브 영역 중 하나의 서브 영역에 대한 청소가 완료될 때마다 상부 장애물(UO)의 밖으로 나와 자신의 위치를 재인식한 후에 상부 장애물(UO)의 하부 영역으로 재진입할 수 있다. 이로써 청소 로봇(1)의 틀어진 위치가 보정될 수 있다.
예를 들어, 도 13에 도시된 바와 같이, 프로세서(210)는 상부 장애물(UO)의 하부 영역을 세 개의 서브 영역(UO1, UO2, UO3)으로 분할할 수 있다. 청소 로봇(1)이 라이다 센서(110)를 제1위치로 하강시키고 제1서브 영역(UO1)에 진입하여 청소를 수행한 후, 제1서브 영역(UO1)에 대한 청소를 완료하면 상부 장애물(UO)의 밖으로 나와 라이다 센서(110)를 다시 제2위치로 상승시키고 오프시켰던 전원을 온시킬 수 있다.
프로세서(210)는 라이다 센서(110)의 출력에 기초하여 청소 로봇(1)의 위치를 재인식할 수 있다. 이로써, 제1서브 영역(UO1)에서 청소 로봇(1)의 위치가 틀어졌더라도 이를 보정할 수 있다. 위치 재인식이 완료되면, 프로세서(210)는 라이다 센서(110)를 다시 제1위치로 하강시키고 제2서브 영역(UO2)으로 진입하기 위해, 센서 구동부(120)와 주행 장치(30)를 제어할 수 있다.
제2서브 영역(UO2)에 대한 청소가 완료되면, 마찬가지로 청소 로봇(1)은 상부 장애물(UO)의 밖으로 나와 라이다 센서(110)를 다시 제2위치로 상승시키고 오프시켰던 전원을 온시킬 수 있다.
위치 인식이 완료되면, 프로세서(210)는 라이다 센서(110)를 다시 제1위치로 하강시키고 제3서브 영역(UO3)으로 진입하기 위해, 센서 구동부(120)와 주행 장치(30)를 제어할 수 있다.
한편, 프로세서(210)는 상부 장애물(UO)의 하부 영역의 주행 환경에 기초하여 서브 영역의 개수를 결정할 수 있다. 예를 들어, 청소 로봇(1)이 상부 장애물(UO)의 하부 영역에 진입하기 전에 장애물 센서(180)의 출력에 기초하여 상부 장애물(UO)의 하부 영역의 주행 환경을 판단할 수 있다.
또는, 상부 장애물(UO)의 하부 영역에 진입하기 전에는 디폴트로 정해진 개수에 따라 하부 영역을 분할하고, 청소 로봇(1)이 적어도 하나의 서브 영역을 주행하면서 수집한 정보에 기초하여 서브 영역의 개수를 조절하는 것도 가능하다.
예를 들어, 프로세서(210)는 청소 로봇(1)에 마련된 바닥 감지 센서의 출력에 기초하여 상부 장애물(UO)의 하부 영역의 바닥의 종류를 판단할 수 있고, 바닥의 종류가 카펫과 같이 청소 로봇(1)의 슬립을 유발할 수 있는 것이면 서브 영역의 개수를 늘려 재분할할 수 있다.
다른 예로, 프로세서(210)가 장애물 센서(180)의 출력에 기초하여 서브 영역의 개수를 조절하는 것도 가능하다.
*또는, 상부 장애물(UO)의 하부 영역에 진입하기 전에는 하부 영역을 분할하지 않고, 청소 로봇(1)이 하부 영역을 주행하면서 바닥 감지 센서나 장애물 센서(180)에 의해 획득한 정보에 기초하여 하부 영역을 분할하는 것도 가능하다.
이하, 청소 로봇(1)의 장애물 센서(180)가 장애물의 크기에 관한 데이터를 획득하는 경우의 실시예를 설명한다.
장애물 센서(180)가 3D 센서를 포함하거나, 패턴광 센서를 포함하면 사물에 대한 2차원 정보 또는 3차원 정보를 획득할 수 있다. 즉, 장애물 센서(180)에 의해 장애물의 높이, 폭, 면적 등과 같은 크기에 관한 정보가 획득될 수 있다. 다만, 3D 센서와 패턴광 센서는 청소 로봇(1)의 실시예에 적용되는 예시에 불과하고, 장애물의 크기에 관한 정보를 획득할 수만 있으면 3D 센서나 패턴광 센서가 아닌 다른 센서를 포함하는 것도 가능하다.
후술하는 실시예에서는 구체적인 설명을 위해 장애물 센서가 3D 센서를 포함하는 경우를 예로 들어 설명한다.
도 15 내지 도 17은 일 실시예에 따른 청소 로봇이 3D 센서를 포함하는 경우에 획득할 수 있는 정보의 예시를 나타내는 도면이다.
도 15에 도시된 바와 같이, 3D 센서(181)는 본체(10)의 전면에 마련되어 청소 로봇(1)의 전방에 위치하는 장애물을 감지할 수 있다. 3D 센서(181)는 라이다 센서(110)와 달리 상하 방향으로 일정 FOV를 갖는다. 따라서, 3D 센서(181)와 같은 높이에 위치하지 않더라도 FOV 범위 내에만 들어오면 장애물을 감지할 수 있다.
또한, 3D 센서(181)는 FOV 범위에 포함되는 장애물의 높이와 폭, 또는 깊이에 관한 정보를 획득할 수 있다. 따라서, 프로세서(210)는 3D 센서(181)의 출력에 기초하여 청소 로봇(1)의 전방에 위치하는 상부 장애물(UO)의 높이와 폭을 계산할 수 있고, 계산된 높이와 폭을 청소 맵에 기록할 수 있다.
따라서, 청소 로봇(1)의 주행 중 프로세서(210)는 청소 맵에 기초하여 상부 장애물(UO)의 존재 및 그 높이를 판단할 수 있다. 프로세서(210)는 그 판단 결과에 기초하여 상부 장애물(UO)의 하부 영역으로의 진입 여부를 결정하고, 라이다 센서(110)의 높이를 조절할 수 있다.
또는, 프로세서(210)가 청소 맵과 3D 센서(181)의 출력을 모두 이용하는 것도 가능하고, 청소 맵이 생성되지 않은 경우에는 3D 센서(181)의 출력만을 이용하는 것도 가능하다.
구체적으로, 청소 로봇(1)의 주행 중 전방에 상부 장애물(UO)이 위치하고, 상부 장애물(UO)의 높이가 제1높이(H1)를 초과하고 제2높이(H2) 이하이면, 프로세서(210)는 센서 구동부(120)를 제어하여 라이다 센서(110)를 제1위치로 하강시킬 수 있다.
한편, 프로세서(210)는 3D 센서(181)의 출력에 기초하여 상부 장애물(UO)의 내부 영역에 대한 정보도 판단할 수 있다. 예를 들어, 도 16 및 도 17에 도시된 바와 같이 상부 장애물(UO)의 일부 영역이 개방되어 있는 경우, 프로세서(210)는 3D 센서(181)의 출력에 기초하여 상부 장애물(UO)의 일부 영역이 개방되어 있음을 판단할 수 있고, 개방된 영역에 관한 정보를 청소 맵에 기록할 수 있다.
상부 장애물(UO)의 하부 영역을 청소하는 청소 로봇(1)은 개방된 영역(OP)의 하부에서는 다시 라이다 센서(110)를 제2위치로 상승시킬 수 있다. 프로세서(210)는 청소 맵에 기초하여 개방된 영역(OP) 하부으로의 진입 여부를 판단할 수 있고, 판단 결과에 따라 라이다 센서(110 )를 상승시킬 수 있다. 프로세서(210)는 청소 로봇(1)이 개방된 영역(OP)의 하부로 진입한 이후에 라이다 센서(110)를 상승시킬 수 있다. 또한, 프로세서(210)는 라이다 센서(110)의 전원과 회전 모터의 전원을 온 시켜 청소 로봇(1)의 현재 위치를 인식할 수 있다. 이로써, 상부 장애물(UO)의 하부 영역에서도 경로를 이탈하지 않고 신뢰성 있게 청소를 수행할 수 있다.
한편, 상부 장애물(UO)의 크기가 큰 경우에는 외부에서 그 내부 영역을 센싱하는데 한계가 있을 수 있다. 따라서, 상부 장애물(UO)의 크기가 기준 값 이상인 경우에, 프로세서(210)는 개방된 영역(OP)으로 판단되지 않은 영역에서도 일단 라이다 센서(110)의 상승을 시도하기 위해 센서 구동부(120)를 제어할 수 있다.
센서 구동부(120)에 제어신호를 전송하였으나 라이다 센서(110)가 제2위치에 도달하지 않은 경우에는 라이다 센서(110)가 상승할 수 없는 영역인 것으로 판단하여 제1위치를 유지할 수 있다. 라이다 센서(110)가 제2위치에 도달하였는지 여부는 범퍼 센서(130)의 출력에 기초하여 판단할 수 있다.
또는, 상부 장애물(UO)의 하부 영역에서 3D 센서(181)의 출력에 기초하여 개방된 영역(OP)을 판단하는 것도 가능하다.
프로세서(210)는 청소 맵, 라이다 센서(110)의 출력, 범퍼 센서(130)의 출력 및 3D 센서(181)의 출력 중 적어도 하나에 기초하여 청소 로봇(1)이 다시 폐쇄된 영역으로 진입할지 여부를 판단할 수 있다. 청소 로봇(1)이 다시 폐쇄된 영역으로 진입할 것으로 판단되면, 다시 라이다 센서(110)를 제1위치로 하강시킨다. 라이다 센서(110)는 청소 로봇(1)이 폐쇄된 영역으로 다시 진입하기 전에 하강된다. 이 때, 라이다 센서(110)의 전원과 회전 모터의 전원도 오프시킬 수 있다.
청소 로봇(1)이 3D 센서(181)를 포함하는 경우 상부 장애물(UO)의 하부 영역에서도 장애물을 감지할 수 있고, 상부 장애물(UO)의 이탈 여부도 판단할 수 있다. 3D 센서(181)가 마련되지 않은 경우에도, 청소 맵과 오도메트리에 기반하여 상부 장애물(UO)의 이탈 여부를 판단할 수 있으나, 3D 센서(181)가 마련된 경우에는 프로세서(210)가 3D 센서(181)의 출력에 기초하여 더 정확하게 상부 장애물(UO)의 이탈 여부를 판단할 수 있다. 이 때, 청소 맵과 오도메트리 정보도 함께 이용될 수 있다.
청소 로봇(1)에 3D 센서(181)가 마련된 경우에도 전술한 도 11 내지 도 14의 주행 경로에 대한 설명이 적용될 수 있고, 이 경우 3D 센서(181)의 출력에 기초하여 상부 장애물(UO)의 이탈 여부를 더 정확하게 판단함으로써 상부 장애물(UO)의 하부 영역에 대한 더 효율적이고 정확한 청소가 가능해진다.
이하, 일 실시예에 따른 청소 로봇의 제어 방법을 설명한다. 일 실시예에 따른 청소 로봇의 제어 방법을 실시함에 있어서 전술한 청소 로봇(1)이 사용될 수 있다. 따라서, 앞서 도 1 내지 도 17에 기초하여 설명한 내용은 청소 로봇의 제어 방법의 실시예에도 동일하게 적용될 수 있다.
도 18은 일 실시예에 따른 청소 로봇의 제어 방법에 관한 순서도이다.
도 18을 참조하면, 청소 명령이 입력되어 청소가 시작되면 청소 로봇(1)은 주행을 하면서 청소 맵을 생성할 수 있다(410). 프로세서(210)가 주행 장치(30)를 제어하여 청소 로봇(1)을 주행시킬 수 있고, 라이다 센서(110)는 제2위치에서 청소 로봇(1)의 위치를 인식하기 위한 정보를 획득하고, 장애물 센서(180)는 청소 로봇(1) 주변의 장애물에 대한 정보를 획득할 수 있다. 예를 들어, 장애물 센서(180)가 3D 센서(181)나 패턴광 센서를 포함하는 경우에는 프로세서(210)가 장애물 센서(180)의 출력에 기초하여 상부 장애물(UO)의 높이를 판단할 수 있다. 청소 맵 생성에 대한 설명은 앞서 청소 로봇(1)의 실시예에서 설명한 바와 동일하므로 자세한 설명은 생략한다.
청소 로봇(1)의 전방에 바닥으로부터 이격된 상부 장애물이 위치하고(420의 예), 상부 장애물의 높이가 기준 범위에 포함되면(430의 예), 라이다 센서(110)를 제1위치로 하강시킨다(440). 상부 장애물(UO)의 위치 여부와 그 높이에 대한 정보는 청소 맵, 라이다 센서의 출력 및 장애물 센서의 출력 중 적어도 하나에 기초하여 판단될 수 있다. 그리고, 라이다 센서(110)를 하강시키기 위해 프로세서(210)가 센서 구동부(120)에 제어 신호를 전송할 수 있다.
또는, 라이다 센서(110)의 높이를 조절함에 있어서, 청소 맵과 함께 범퍼 센서(130)의 출력을 이용할 수도 있고, 또는, 청소 맵이 생성되지 않았거나, 청소 맵에 상부 장애물(UO)의 높이에 관한 정보가 기록되지 않은 경우에는, 프로세서(210)는 실시간으로 장애물 센서(180)의 출력, 범퍼 센서(130)의 출력 또는 라이다 센서(110)의 출력을 이용하거나 이들 중 둘 이상의 조합을 이용하여 상부 장애물(UO)의 높이를 판단하고, 이를 센서 구동부(120)를 제어하는데 이용할 수 있다.
예를 들어, 전술한 도 9 및 도 10에 도시된 바와 같이 라이다 센서(110)가 본체(10)의 후방에 마련된 경우에는, 범퍼 센서(130)의 출력만을 이용하는 것도 가능하다. 구체적으로, 라이다 센서(110)가 본체(10)에 마련된 구조에서는 본체(10)의 전방부가 이미 상부 장애물(UO)의 하부 영역에 진입했을 때 범퍼 센서(130)가 라이다 센서(110)의 전방에서 가해지는 충격을 감지할 수 있다.
따라서, 프로세서(210)는 범퍼 센서(130)의 출력이 라이다 센서(110)와 전방에 위치한 장애물의 충돌을 나타내면, 라이다 센서(110)를 하강시킬 수 있다.
도 19는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 하부 영역에 진입한 이후의 과정을 나타내는 순서도이다.
도 19를 참조하면, 라이다 센서(110)가 제1위치로 하강하면(440), 청소 로봇(1)이 상부 장애물(UO)의 하부 영역으로 진입하여 청소를 수행한다(510). 이를 위해, 프로세서(210)는 주행 장치(30)와 클리닝 장치(50)에 제어 신호를 전송할 수 있다.
또한, 소비 전력 절감을 위해 라이다 센서(110)의 전원과 회전 모터의 전원을 오프시키는 것도 가능하다.
상부 장애물의 하부 영역에 대한 청소가 완료되면(520의 예), 하부 영역을 이탈하고 라이다 센서를 상승시킨다(530). 프로세서(210)는 청소 맵과 오도메트리에 기초하여 상부 장애물(UO)의 하부 영역에 대한 청소가 완료되었는지 여부를 판단할 수 있다. 프로세서(210)는 청소 로봇(1)이 하부 영역을 이탈하도록 주행 장치(3)에 제어 신호를 전송할 수 있고, 라이다 센서(110)의 상승을 시도하기 위해 센서 구동부(120)에 제어 신호를 전송할 수 있다. 하부 영역의 이탈을 위한 이동 역시 청소 맵과 오도메트리에 기초하여 이루어질 수 있다.
센서 구동부(120)에 제어 신호를 전송하였음에도 라이다 센서가 제2위치에 도달하지 않으면(540의 아니오), 라이다 센서를 다시 제1위치로 하강시킬 수 있다(550). 이와 같이 라이다 센서(110)의 상승을 시도하였으나 실패한 경우는 청소 로봇(1)이 아직 상부 장애물(UO)의 하부 영역을 이탈하지 못한 경우로 볼 수 있다. 라이다 센서(110)가 제2위치에 도달했는지 여부는 범퍼 센서(130)의 출력에 기초하여 판단될 수 있다. 청소 로봇(1)은 다시 하부 영역을 이탈하기 위해 이동하고 라이다 센서(110)의 상승을 시도할 수 있다. 추가 이동을 위해, 기존 주행 방향을 유지하면서 전진할 수도 있고 주행 방향을 바꾸어 이동할 수도 있다.
청소 로봇(1)이 실제로 상부 장애물(UO)의 하부 영역을 이탈할 때까지 동일한 과정들을 반복할 수 있다.
라이다 센서(110)가 제2위치에 도달하면(540의 예), 청소 로봇(1)이 상부 장애물(UO)의 하부 영역을 이탈한 것으로 볼 수 있다. 따라서, 청소 로봇(1)은 다른 청소 영역에 대한 청소를 수행하거나 충전을 위해 도킹 스테이션으로 복귀할 수 있다.
도 20은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 높이에 따라 청소 로봇의 주행을 제어하는 과정에 관한 순서도이다.
도 20을 참조하면, 상부 장애물의 높이가 기준범위에 포함되지 않는 경우에(430의 아니오), 상부 장애물의 높이가 제1높이(H1) 이하이면(450의 예), 청소 로봇(1)이 상부 장애물(UO)의 하부 영역으로 진입할 수 없으므로 회피 주행을 수행할 수 있다(460).
상부 장애물의 높이가 제1높이(H1)를 초과하면(450의 아니오), 라이다 센서(110)가 제2위치에 있는 상태에서도 상부 장애물(UO)의 하부 영역에 진입할 수 있다. 따라서, 라이다 센서(110)의 높이를 유지한 채로 주행 장치(30)와 클리닝 장치(50)를 제어하여 상부 장애물(UO)의 하부 영역에 진입하고 청소를 수행할 수 있다(470).
청소가 완료되면(480의 예) 프로세서가 주행 장치를 제어하여 상부 장애물의 하부 영역을 이탈한다(490). 청소를 수행할 외부 영역이 남아있으면 남은 청소를 수행하고, 전체 청소 영역에 대한 청소가 완료되었으면 도킹 스테이션으로 복귀할 수 있다.
도 21은 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 하부 영역을 복수의 서브 영역으로 분할하여 청소를 수행하는 실시예에 관한 순서도이다.
전술한 바와 같이, 청소 로봇(1)은 상부 장애물(UO)의 하부 영역에 가상벽을 설정하여 복수의 서브 영역으로 분할하고, 복수의 서브 영역 중 하나의 서브 영역에 대한 청소가 완료될 때마다 상부 장애물(UO)의 밖으로 나와 자신의 위치를 재인식한 후에 상부 장애물(UO)의 하부 영역으로 재진입할 수 있다. 상부 장애물(UO)의 하부 영역을 3개의 서브 영역으로 분할한 경우를 예로 들어 설명한다.
상부 장애물(UO)의 앞에서 라이다 센서(110)가 제1위치로 하강하면(440), 프로세서가 주행 장치와 클리닝 장치를 제어하여 제1서브 영역에 진입하고 청소를 수행한다(610). 이 때, 라이다 센서(110)와 회전 모터의 전원을 오프시킬 수 있다.
제1서브 영역에 대한 청소가 완료되면(620의 예), 프로세서가 주행 장치를 제어하여 제1서브 영역을 이탈하고 센서 구동부를 제어하여 라이다 센서를 상승시킨다(630). 또한, 제1서브 영역(UO1)에 진입 시 라이다 센서(110)와 회전 모터의 전원을 오프시킨 경우에는, 라이다 센서(110)의 상승과 함께 오프시켰던 전원도 다시 온 시킬 수 있다.
전원이 온된 라이다 센서(110)는 제2위치에서 다시 청소 로봇(1)의 위치를 인식하기 위한 정보를 수집할 수 있고, 프로세서(210)는 라이다 센서(110)의 출력에 기초하여 청소 로봇(1)의 위치를 재인식할 수 있다(640). 이로써, 제1서브 영역(UO1)에서 슬립이 발생하거나 장애물에 충돌하여 청소 로봇(1)의 위치가 틀어졌더라도 이를 보정할 수 있다.
위치 재인식이 완료되면, 프로세서(210)는 라이다 센서(110)를 다시 하강시키고(650), 주행 장치(30)와 클리닝 장치(50)를 제어하여 제2서브 영역(UO2)에 진입하고 청소를 수행할 수 있다(660).
제2서브 영역에 대한 청소가 완료되면(670의 예), 프로세서(210)가 주행 장치(30)를 제어하여 제2서브 영역(UO2)을 이탈하고 센서 구동부(120)를 제어하여 라이다 센서(110)를 상승시킨다(680). 또한, 제2서브 영역(UO1)에 진입 시 라이다 센서(110)와 회전 모터의 전원을 오프시킨 경우에는, 라이다 센서(110)의 상승과 함께 오프시켰던 전원도 다시 온 시킬 수 있다.
전원이 온된 라이다 센서(110)는 제2위치에서 다시 청소 로봇(1)의 위치를 인식하기 위한 정보를 수집할 수 있고, 프로세서(210)는 라이다 센서(110)의 출력에 기초하여 청소 로봇(1)의 위치를 재인식할 수 있다(690).
위치 재인식이 완료되면, 프로세서(210)는 라이다 센서(110)를 다시 하강시키고(700), 주행 장치(30)와 클리닝 장치(50)를 제어하여 제3서브 영역(UO3)에 진입하고 청소를 수행할 수 있다(710).
제3서브 영역에 대한 청소가 완료되면(720의 예), 프로세서(210)가 주행 장치(30)를 제어하여 제3서브 영역(UO3)을 이탈하고 센서 구동부(120)를 제어하여 라이다 센서(110)를 상승시킨다(730). 또한, 제3서브 영역(UO3)에 진입 시 라이다 센서(110)와 회전 모터의 전원을 오프시킨 경우에는, 라이다 센서(110)의 상승과 함께 오프시켰던 전원도 다시 온 시킬 수 있다.
한편, 서브 영역의 개수는 상부 장애물(UO)의 하부 영역의 주행 환경에 기초하여 결정될 수 있다. 예를 들어, 청소 로봇(1)이 상부 장애물(UO)의 하부 영역에 진입하기 전에, 프로세서(210)가 장애물 센서(180)의 출력에 기초하여 상부 장애물(UO)의 하부 영역의 주행 환경을 판단할 수 있다.
또는, 상부 장애물(UO)의 하부 영역에 진입하기 전에는 디폴트로 정해진 개수에 따라 하부 영역을 분할하고, 청소 로봇(1)이 적어도 하나의 서브 영역을 주행하면서 수집한 정보에 기초하여 서브 영역의 개수를 조절하는 것도 가능하다.
예를 들어, 프로세서(210)는 청소 로봇(1)에 마련된 바닥 감지 센서의 출력에 기초하여 상부 장애물(UO)의 하부 영역의 바닥의 종류를 판단할 수 있고, 바닥의 종류가 카펫과 같이 청소 로봇(1)의 슬립을 유발할 수 있는 것이면 서브 영역의 개수를 늘려 재분할할 수 있다.
다른 예로, 프로세서(210)가 장애물 센서(180)의 출력에 기초하여 서브 영역의 개수를 조절하는 것도 가능하다.
또는, 상부 장애물(UO)의 하부 영역에 진입하기 전에는 하부 영역을 분할하지 않고, 청소 로봇(1)이 하부 영역을 주행하면서 바닥 감지 센서나 장애물 센서(180)에 의해 획득한 정보에 기초하여 하부 영역을 분할하는 것도 가능하다.
한편, 당해 실시예에도 전술한 도 19의 실시예가 적용될 수 있다. 따라서, 각각의 서브 영역에 대한 청소가 완료되어 해당 영역의 이탈 및 라이다 센서(110)의 상승을 시도하였으나, 라이다 센서(110)가 제2위치에 도달하지 못한 경우에는 전술한 바와 같이 라이다 센서(110)를 다시 제1위치로 하강시키고 추가로 이동하여 서브 영역의 이탈 및 라이다 센서(110)의 상승을 다시 시도할 수 있다.
도 22는 일 실시예에 따른 청소 로봇의 제어 방법에 있어서, 상부 장애물의 하부 영역을 주행하면서 라이다 센서를 다시 상승시키는 실시예에 관한 순서도이다.
전술한 바와 같이, 청소 로봇(1)은 3D 센서나 패턴광 센서와 같이 장애물의 크기에 대한 정보를 획득할 수 있는 센서를 포함할 수 있다. 예를 들어, 청소 로봇(1)이 3D 센서(181)를 포함하면, FOV 범위에 포함되는 장애물의 높이와 폭, 또는 깊이에 관한 정보를 획득할 수 있다. 따라서, 프로세서(210)는 3D 센서(181)의 출력에 기초하여 청소 로봇(1)의 전방에 위치하는 상부 장애물(UO)의 높이와 폭을 계산할 수 있고, 계산된 높이와 폭을 청소 맵에 기록할 수 있다.
또한, 3D 센서(181)는 상부 장애물(UO)의 내부 영역에 대한 정보도 획득할 수 있다. 예를 들어, 도 16 및 도 17에 도시된 바와 같이 상부 장애물(UO)의 일부 영역이 개방된 경우, 프로세서(210)는 3D 센서(181)의 출력에 기초하여 상부 장애물(UO)의 일부 영역이 개방되어 있음을 판단할 수 있고, 개방된 영역에 관한 정보를 청소 맵에 기록할 수 있다.
상부 장애물(UO)의 앞에서 라이다 센서(110)를 하강시키고(440), 상부 장애물(UO)의 하부 영역에 진입하여 청소를 수행(810)하다가 청소 로봇(1)이 상부 장애물(UO)의 개방된 영역(OP)에 진입하면(820의 예), 라이다 센서(110)를 다시 상승시키고 라이다 센서(110)의 출력에 기초하여 위치를 인식할 수 있다(83). 라이다 센서(110)의 상승은 개방된 영역으로의 진입 이후에 이루어질 수 있다. 라이다 센서(110)의 하강 시에 라이다 센서(110)와 회전 모터의 전원도 오프시킨 경우에는 이들 전원도 다시 온 시킬 수 있다.
개방된 영역(OP)을 판단하는 방법과 이와 관련한 라이다 센서(110)의 높이 조절에 관련된 설명은 청소 로봇(1)의 실시예에서 설명한 바와 같다.
청소 로봇(1)은 상부가 개방된 영역의 하부를 주행하면서 청소를 수행하다가 다시 폐쇄된 영역의 하부로 진입하면(840의 아니오), 다시 라이다 센서(110)를 하강시킨다(850). 청소 로봇(1)이 폐쇄된 영역의 하부로 진입할 지 여부는 청소 맵, 라이다 센서(110)의 출력, 범퍼 센서(130)의 출력 및 3D 센서(181)의 출력 중 적어도 하나에 기초하여 판단할 수 있다. 라이다 센서(110)는 폐쇄된 영역의 하부로 진입하기 전에 하강한다.
상부 장애물(UO)의 하부 영역에 대한 청소가 완료되었으면(860의 예), 주행 장치(30)와 센서 구동부(120)를 제어하여 상부 장애물(UO)의 하부 영역을 이탈하고 라이다 센서(110)를 다시 제2위치로 상승시킨다(870). 라이다 센서(110)와 회전 모터의 전원이 오프되었던 경우에는, 이들 전원도 다시 온시킬 수 있다.
청소가 완료되지 않은 경우에는(860의 아니오), 개방된 영역이 다시 나타날 수도 있으므로, 전술한 과정을 반복해서 수행한다.
한편, 전술한 실시예에서는 상부 장애물(UO)의 높이에 따라 라이다 센서(110)의 높이와 전원의 온/오프를 조절하는 경우를 설명하였으나, 일 실시예에 따른 청소 로봇의 제어 방법에서는 청소 로봇(1)의 주변 환경 또는 청소 로봇(1)의 상태에 따라 라이다 센서(110)의 높이와 전원의 온/오프를 조절하는 것도 가능하다..
청소 로봇(1)의 주변 환경은 청소 맵, 범퍼 센서(130)의 출력 및 장애물 센서(180)의 출력 중 적어도 하나에 기초하여 판단될 수 있고, 청소 로봇(1)의 상태는 대기 상태, 충전 상태, 에러 상태 및 작동 상태 중 적어도 하나를 포함할 수 있다.
예를 들어, 청소 로봇(1)이 대기 상태, 충전 상태 또는 에러 상태에 있는 경우, 프로세서(210)는 소비 전력 절감을 위해 라이다 센서(110)의 전원을 오프시킬 수 있다. 또한, 라이다 센서(110)를 회전시키는 회전 모터의 전원도 오프시킬 수 있다. 이와 관련된 구체적인 설명은 청소 로봇(1)의 실시예에서 설명한 바와 동일하다.
이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 전술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.

Claims (15)

  1. 본체;
    상기 본체를 이동시키는 주행 장치;
    바닥의 이물질을 흡입하여 청소를 수행하는 클리닝 장치;
    상기 본체의 상부에 배치되고, 서로 다른 높이의 제1위치 및 제2위치 사이에서 상승 및 하강 가능하게 마련되는 라이다 센서;
    상기 라이다 센서와 장애물의 충돌을 감지하는 범퍼 센서;
    상기 라이다 센서의 상승 및 하강을 위한 동력을 생성하는 센서 구동부;
    장애물에 관한 정보를 획득하는 장애물 센서; 및
    상기 라이다 센서의 출력 및 상기 장애물 센서의 출력에 기초하여 상기 본체의 주변 환경에 대한 청소 맵을 생성하고, 상기 청소 맵, 상기 범퍼 센서의 출력 및 상기 장애물 센서의 출력 중 적어도 하나에 기초하여 상기 라이다 센서의 높이를 조절하기 위해 상기 센서 구동부를 제어하는 프로세서;를 포함하는 청소 로봇.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 범퍼 센서가 상기 라이다 센서와 상기 장애물의 충돌을 감지하면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어하는 청소 로봇.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 본체의 전방에 바닥으로부터 이격된 장애물이 위치하고, 상기 장애물의 높이가 상기 본체 또는 상기 제1위치에서의 라이다 센서의 높이를 초과하고 상기 제2위치에서의 라이다 센서의 높이 이하이면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어하는 청소 로봇.
  4. 제1항에 있어서,
    상기 라이다 센서는,
    상기 제1위치에서 상기 본체 내부로 인입되고, 상기 제2위치에서 상기 본체 외부로 돌출되는 청소 로봇.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 라이다 센서가 상기 제2위치에서 상기 제1위치로 하강하면, 상기 라이다 센서의 전원을 오프시키고, 상기 라이다 센서가 상기 제1위치에서 상기 제2위치로 상승하면, 상기 라이다 센서의 전원을 온시키는 청소 로봇.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 라이다 센서를 상기 제1위치로 하강시킨 후에 상기 본체가 상기 장애물의 하부 영역을 주행하면서 청소를 수행하도록 상기 주행 장치 및 상기 클리닝 장치를 제어하는 청소 로봇.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 상부 장애물의 하부 영역에 대한 청소가 완료되면, 상기 라이다 센서를 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어하는 청소 로봇.
  8. 제 1 항에 있어서,
    상기 프로세서는,
    상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제2위치에 도달하지 않거나, 상기 라이다 센서를 상기 제2위치에서 상기 제1위치로 하강시키기 위해 상기 센서 구동부를 제어한 이후에 상기 라이다 센서가 상기 제1위치에 도달하지 않는 상황이 정해진 횟수 이상 발생하면 상기 에러 상태인 것으로 판단하는 청소 로봇.
  9. 제1항에 있어서,
    상기 청소 맵은,
    레퍼런스 맵과 실시간 맵을 포함하고,
    상기 프로세서는,
    상기 청소 로봇의 주변 환경에 대해 생성된 상기 청소 맵이 없는 경우, 상기 라이다 센서 및 상기 장애물 센서의 출력에 기초하여 상기 레퍼런스 맵을 생성하여 메모리에 저장하고, 상기 레퍼런스 맵에 기초하여 주행하도록 상기 주행 장치를 제어하는 청소 로봇.
  10. 제 1 항에 있어서,
    상기 프로세서는,
    상기 상부 장애물의 하부 영역을 복수의 서브 영역으로 분할하고, 상기 복수의 서브 영역 중 제1서브 영역에 대한 청소가 완료되면 상기 청소가 완료된 제1서브 영역을 이탈하고 상기 라이다 센서를 상기 제1위치에서 상기 제2위치로 상승시키기 위해 상기 주행 장치 및 상기 센서 구동부를 제어하는 청소 로봇.
  11. 제 10 항에 있어서,
    상기 프로세서는,
    상기 라이다 센서의 출력에 기초하여 상기 청소 로봇의 위치를 재인식하고, 상기 재인식이 완료되면 상기 라이다 센서를 상기 제1위치로 하강시키기 위해 센서 구동부를 제어하고 상기 복수의 서브 영역 중 제2서브 영역으로 진입하여 청소를 수행하도록 상기 주행 장치와 상기 클리닝 장치를 제어하는 청소 로봇.
  12. 제 10 항에 있어서,
    상기 프로세서는,
    상기 상부 장애물의 하부 영역의 주행 환경에 기초하여 상기 복수의 서브 영역의 개수를 결정하는 청소 로봇.
  13. 본체, 상기 본체를 이동시키는 주행 장치 및 바닥의 이물질을 흡입하여 청소를 수행하는 클리닝 장치를 포함하는 청소 로봇의 제어 방법에 있어서,
    상기 본체의 상부에 배치되고 서로 다른 높이의 제1위치 및 제2위치 사이에서 상승 및 하강 가능하게 마련되는 라이다 센서의 출력 및 장애물에 관한 정보를 획득하는 장애물 센서의 출력에 기초하여 상기 본체의 주변 환경에 대한 청소 맵을 생성하고;
    상기 라이다 센서와 장애물의 충돌을 감지하는 범퍼 센서의 출력, 상기 장애물 센서의 출력 및 상기 청소 맵 중 적어도 하나에 기초하여 상기 라이다 센서의 높이를 조절하는 것;을 포함하는 청소 로봇의 제어 방법.
  14. 제 13 항에 있어서,
    상기 라이다 센서의 높이를 조절하는 것은,
    상기 범퍼 센서가 상기 라이다 센서와 상기 장애물의 충돌을 감지하면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어하는 것;을 포함하는 청소 로봇의 제어 방법
  15. 제 13 항에 있어서,
    상기 라이다 센서의 높이를 조절하는 것은,
    상기 본체의 전방에 바닥으로부터 이격된 장애물이 위치하고, 상기 장애물의 높이가 상기 본체 또는 상기 제1위치에서의 라이다 센서의 높이를 초과하고 상기 제2위치에서의 라이다 센서의 높이 이하이면, 상기 라이다 센서의 높이를 낮추기 위해 상기 센서 구동부를 제어하는 것을 포함하는 청소 로봇의 제어 방법.
PCT/KR2021/011472 2020-08-28 2021-08-26 청소 로봇 및 그 제어 방법 WO2022045808A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/483,081 US20220061616A1 (en) 2020-08-28 2021-09-23 Cleaning robot and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0109305 2020-08-28
KR1020200109305A KR20220029824A (ko) 2020-08-28 2020-08-28 청소 로봇 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/483,081 Continuation US20220061616A1 (en) 2020-08-28 2021-09-23 Cleaning robot and control method thereof

Publications (1)

Publication Number Publication Date
WO2022045808A1 true WO2022045808A1 (ko) 2022-03-03

Family

ID=80355412

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/011472 WO2022045808A1 (ko) 2020-08-28 2021-08-26 청소 로봇 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20220061616A1 (ko)
KR (1) KR20220029824A (ko)
WO (1) WO2022045808A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7231503B2 (ja) * 2019-06-28 2023-03-01 株式会社マキタ 光学センサ及びロボット集じん機
JP1679790S (ko) * 2020-03-25 2021-04-19
USD987924S1 (en) * 2020-07-14 2023-05-30 Hobot Technology Inc. Cleaning robot
CN114442629B (zh) * 2022-01-25 2022-08-09 吉林大学 一种基于图像处理的移动机器人路径规划方法
CN114652220B (zh) * 2022-03-29 2023-03-24 常州机电职业技术学院 一种带有扫地功能的居家安防机器人
CN114794973A (zh) * 2022-04-29 2022-07-29 安克创新科技股份有限公司 一种清洁设备
CN114983267A (zh) * 2022-05-10 2022-09-02 安克创新科技股份有限公司 清洁机器人控制方法、装置、系统及清洁机器人
KR102572832B1 (ko) * 2022-08-12 2023-08-30 주식회사 클로봇 무인 이동체, 인공 지능 기반의 무인 이동체의 공간 내 위치를 찾는 방법 및 프로그램
CN115500734B (zh) * 2022-09-23 2024-01-30 深圳市八达威科技有限公司 一种带分体式激光雷达的扫地机

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911472B1 (ko) * 2007-07-19 2009-08-11 엘지전자 주식회사 이동로봇 및 그 동작방법
KR20140109175A (ko) * 2013-03-05 2014-09-15 엘지전자 주식회사 로봇 청소기
KR20150127937A (ko) * 2014-05-07 2015-11-18 에브리봇 주식회사 거리 센서 장치, 로봇 청소기 및 이의 제어 방법
US20160058261A1 (en) * 2014-09-03 2016-03-03 Dyson Technology Limited Robot cleaner
KR102103291B1 (ko) * 2019-02-28 2020-05-27 한국생산기술연구원 내부에 위치하는 라이다 장치를 포함하는 로봇 청소기 및 이를 이용한 청소구역 탐지방법
KR102117868B1 (ko) * 2019-02-28 2020-06-04 한국생산기술연구원 높이 조절이 가능한 라이다 구동부 및 이를 이용한 로봇 청소기

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102011827B1 (ko) * 2017-08-07 2019-08-19 엘지전자 주식회사 로봇청소기 및 그 제어방법
KR102021833B1 (ko) * 2017-09-26 2019-09-17 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
KR20210051014A (ko) * 2019-10-29 2021-05-10 엘지전자 주식회사 로봇 청소기 및 그의 동작 방법
CN111557621A (zh) * 2020-06-17 2020-08-21 深圳市泰博智能机器人有限公司 用于扫地机器人的清洗装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911472B1 (ko) * 2007-07-19 2009-08-11 엘지전자 주식회사 이동로봇 및 그 동작방법
KR20140109175A (ko) * 2013-03-05 2014-09-15 엘지전자 주식회사 로봇 청소기
KR20150127937A (ko) * 2014-05-07 2015-11-18 에브리봇 주식회사 거리 센서 장치, 로봇 청소기 및 이의 제어 방법
US20160058261A1 (en) * 2014-09-03 2016-03-03 Dyson Technology Limited Robot cleaner
KR102103291B1 (ko) * 2019-02-28 2020-05-27 한국생산기술연구원 내부에 위치하는 라이다 장치를 포함하는 로봇 청소기 및 이를 이용한 청소구역 탐지방법
KR102117868B1 (ko) * 2019-02-28 2020-06-04 한국생산기술연구원 높이 조절이 가능한 라이다 구동부 및 이를 이용한 로봇 청소기

Also Published As

Publication number Publication date
US20220061616A1 (en) 2022-03-03
KR20220029824A (ko) 2022-03-10

Similar Documents

Publication Publication Date Title
WO2022045808A1 (ko) 청소 로봇 및 그 제어 방법
WO2019194628A1 (ko) 이동 로봇 및 그 제어방법
WO2017200304A2 (ko) 이동 로봇 및 그 제어방법
WO2016129950A1 (ko) 청소 로봇 및 그 제어방법
AU2018216517B9 (en) Cleaner
AU2020209330B2 (en) Mobile robot and method of controlling plurality of mobile robots
WO2018079985A1 (ko) 청소기 및 그 제어방법
WO2020111808A1 (ko) 자율주행 카트
WO2019199027A1 (ko) 로봇 청소기
WO2018117616A1 (ko) 이동 로봇
WO2020004824A1 (en) Plurality of autonomous cleaner and controlling method for the same
WO2019117576A1 (ko) 이동 로봇 및 이동 로봇의 제어방법
AU2020231781B2 (en) Moving robot and controlling method for the moving robot
WO2021172936A1 (en) Moving robot and control method thereof
WO2022092571A1 (ko) 로봇 청소기 및 그의 주행 방법
WO2020139029A1 (en) Mobile robot
WO2020197135A1 (en) Moving robot and controlling method for the same
WO2021006674A2 (ko) 이동 로봇 및 그 제어방법
WO2020256370A1 (en) Moving robot and method of controlling the same
WO2019221523A1 (ko) 청소기 및 그 제어방법
WO2020017943A1 (ko) 복수의 로봇 청소기 및 그 제어방법
WO2019194550A1 (ko) 구속 방지 필터를 구비하는 로봇 청소기
WO2020101244A1 (ko) 청소 장치 및 그 제어 방법
WO2021246732A1 (ko) 청소 로봇 및 그 제어 방법
AU2020253014B2 (en) Robot cleaner using artificial intelligence and control method thereof

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: 21862104

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21862104

Country of ref document: EP

Kind code of ref document: A1