WO2023243859A1 - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
WO2023243859A1
WO2023243859A1 PCT/KR2023/006041 KR2023006041W WO2023243859A1 WO 2023243859 A1 WO2023243859 A1 WO 2023243859A1 KR 2023006041 W KR2023006041 W KR 2023006041W WO 2023243859 A1 WO2023243859 A1 WO 2023243859A1
Authority
WO
WIPO (PCT)
Prior art keywords
wire
cleaning
robot
image
area
Prior art date
Application number
PCT/KR2023/006041
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 삼성전자주식회사
Publication of WO2023243859A1 publication Critical patent/WO2023243859A1/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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching 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
    • 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
    • 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/04Viewing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/02Manipulators mounted on wheels or on carriages travelling along a guideway
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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

Definitions

  • the present invention relates to a robot and a method of controlling the same, and more specifically, to a robot that travels in space and performs a cleaning task and a method of controlling the same.
  • Robots can travel indoor spaces and provide a variety of services such as cleaning, guiding, serving, patrolling, or responding to emergency situations.
  • the demand for robots that clean spaces on their own without user intervention is increasing day by day.
  • the present disclosure is in response to the above-described need, and the purpose of the present disclosure is to provide a robot that acquires type information about a cleaning target area based on image and distance data and performs cleaning based on a cleaning scenario corresponding to the obtained type information. and providing a control method thereof.
  • a robot to achieve the above object includes a memory storing a cleaning scenario and a neural network model according to the type of area to be cleaned, a camera, a distance sensor, a driving unit, an image acquired through the camera, and Inputting the distance data obtained through the distance sensor into the neural network model to obtain type information about at least one cleaning target area included in the image, and obtaining a cleaning scenario corresponding to the obtained type information from the memory. and a processor that controls the driving unit based on the obtained cleaning scenario, wherein the driving unit includes a motor, a plate designed to rotate, and a slope disposed on the plate and inclined at a certain angle with the ground.
  • a rail provided, a slider arranged to be able to reciprocate on the rail, an arm whose one side is coupled to the slider and moves while maintaining a certain angle with the ground as the slider reciprocates on the rail, and the other arm of the arm It may include a suction part coupled to the side.
  • the neural network model is trained to output type information about at least one cleaning target area included in the image, or is trained to output information about the object included in the image.
  • the processor may obtain type information about the area to be cleaned included in the image based on the obtained information about the object.
  • the driving unit further includes a first wire coupled to one side of the suction unit and a second wire coupled to the first wire at a predetermined distance from the one side of the suction unit, and the processor is configured to operate the cleaning target area.
  • the suction part winds the first wire in a first direction so that the suction part maintains a first angle with the ground, and depending on the type of the cleaning target area, the suction part maintains a second angle with the ground.
  • the second wire may be wound in a second direction so as to do so.
  • the processor when the object adjacent to the cleaning target area is identified as a movable object, the processor winds the first wire in the first direction so that the suction part contacts the object, and when the suction part contacts the object, the processor winds the first wire in the first direction.
  • the motor can be controlled so that the plate rotates in one direction.
  • the processor may provide a guide UI (User Interface) requesting movement of the object.
  • UI User Interface
  • the processor winds the first wire in the first direction, and if the area to be cleaned is a type other than the specific type, the processor winds the second wire in the second direction. Can be wound.
  • the processor may control the position of the suction unit toward the cleaning target area by moving the slider rearward.
  • the distance sensor includes a LIDAR sensor
  • the processor can control the slider based on distance data acquired through the LIDAR sensor while performing the cleaning.
  • the processor may provide a UI that guides the area that cannot be cleaned.
  • the robot control method inputs the image acquired through the camera and the distance data obtained through the distance sensor into a neural network model to determine at least one cleaning target area included in the image.
  • the neural network model is trained to output type information about at least one cleaning target area included in the image, or is trained to output information about the object included in the image.
  • the step of acquiring type information about the at least one cleaning target area includes, when information about the object included in the image is obtained from the neural network model, based on the obtained information about the object included in the image. Type information about the area to be cleaned can be obtained.
  • the driving unit further includes a first wire coupled to one side of the suction unit and a second wire coupled to the first wire at a predetermined distance from the one side of the suction unit, depending on the type of the area to be cleaned. Winding the first wire in a first direction so that the suction part maintains a first angle with the ground, and according to the type of the cleaning target area, the suction part maintains a second angle with the ground. 2 The step of winding the wire in the second direction may be further included.
  • the step of winding the first wire in the first direction includes, when an object adjacent to the cleaning target area is identified as a movable object, winding the first wire in the first direction so that the suction unit contacts the object.
  • the control method may further include rotating the plate in one direction when the suction unit contacts the object.
  • the method may further include providing a guide UI (User Interface) requesting movement of the object.
  • UI User Interface
  • the step of winding the first wire in the first direction includes, if the area to be cleaned is a specific type, winding the first wire in the first direction and winding the second wire in the second direction. If the area to be cleaned is of a type other than the specific type, the second wire may be wound in the second direction.
  • the slider may be moved rearward to position the suction unit in the cleaning target area.
  • the step of performing the cleaning may involve moving the slider based on distance data acquired through a LiDAR sensor while performing the cleaning.
  • a step of providing a UI to guide the area that cannot be cleaned may be further included.
  • a robot can provide satisfactory cleaning services for various types of cleaning areas, user convenience can be improved.
  • Figure 1 is a diagram schematically explaining the provision of cleaning services by a robot.
  • Figure 2 is a block diagram for explaining the configuration of a robot according to an embodiment of the present disclosure.
  • 3A and 3B are diagrams for explaining the operation of an arm according to an embodiment of the present disclosure.
  • Figure 4 is a diagram for explaining the operation of the suction unit according to an embodiment of the present disclosure.
  • Figure 5 is a diagram for explaining a neural network model according to an embodiment of the present disclosure.
  • FIGS. 6A to 6D are diagrams for explaining various cleaning scenarios according to an embodiment of the present disclosure.
  • FIGS. 7A and 7B are diagrams for explaining the operation of a robot depending on whether an object can be moved according to an embodiment of the present disclosure.
  • Figure 8 is a diagram for explaining a cleaning operation of a robot in a step area according to an embodiment of the present disclosure.
  • Figure 9 is a block diagram for specifically explaining the configuration of a robot according to an embodiment of the present disclosure.
  • Figure 10 is a flowchart for explaining a control method according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • a or/and B should be understood as referring to either “A” or “B” or “A and B”.
  • a component e.g., a first component
  • another component e.g., a second component
  • connection to it should be understood that a certain component can be connected directly to another component or connected through another component (e.g., a third component).
  • a “module” or “unit” performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented by at least one processor (not shown), except for “modules” or “units” that need to be implemented with specific hardware. It can be.
  • 'user' may refer to a person who receives services from a robot, but is not limited thereto.
  • Figure 1 is a diagram schematically explaining the provision of cleaning services by a robot.
  • the robot 100 is placed in a specific space and can provide various services to users who live in or temporarily visit the space.
  • the robot 100 can provide services such as cleaning, guiding, serving, patrolling, or responding to emergency situations to the user.
  • the operation of the robot 100 is based on the premise that the robot 100 provides cleaning services. Let me explain.
  • the robot 100 which provides cleaning services while traveling in a space, it can perform cleaning based on a cleaning scenario for an area adjacent to the object. For example, the robot 100 may clean the corner 10 area based on a cleaning scenario corresponding to the corner 10 formed by the object.
  • the robot 100 may acquire an image and distance data including the corner 10, and identify a cleaning area of the type of corner 10 included in the image based on the acquired image and distance data. . Additionally, the robot 100 may obtain a cleaning scenario corresponding to the identified area and perform cleaning based on the obtained cleaning scenario.
  • the robot 100 may include a special type of driving unit that can variably adjust the cleaning range based on the main body of the robot 100 in order to effectively clean a specific type of cleaning target area.
  • the robot 100 can effectively clean the identified cleaning target area by controlling the driving unit based on the acquired cleaning scenario.
  • Figure 2 is a block diagram for explaining the configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a memory 110, a camera 120, a distance sensor 130, a driver 140, and a processor 150.
  • the memory 110 may store data necessary for various embodiments of the present disclosure.
  • the memory 110 may be implemented as a memory embedded in the robot 100 or as a memory detachable from the robot 100 depending on the data storage purpose.
  • data for driving the robot 100 is stored in a memory embedded in the robot 100
  • data for expansion functions of the robot 100 is stored in a memory that is detachable from the robot 100. It can be.
  • volatile memory e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
  • non-volatile memory e.g.
  • OTPROM one time programmable ROM
  • PROM programmable ROM
  • EPROM erasable and programmable ROM
  • EEPROM electrically erasable and programmable ROM
  • mask ROM flash ROM, flash memory (e.g. NAND flash or NOR flash, etc.) , a hard drive, or a solid state drive (SSD).
  • a memory card e.g., compact flash (CF), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
  • external memory that can be connected to a USB port (e.g. For example, it may be implemented in a form such as USB memory).
  • the memory 110 may store a cleaning scenario according to the type of the cleaning target area and a neural network model used to obtain information on the type of the cleaning area.
  • the neural network model may be a model learned to output type information about at least one cleaning target area included in the image when image and distance data are input.
  • the neural network model when image and distance data are input, the neural network model outputs type information on the area that can be cleaned (hereinafter referred to as the area to be cleaned) among multiple segment areas included in the image or areas where different segments are in contact. It may be a learned model.
  • a neural network model may be a model learned to output information about objects included in the image when image and distance data are input.
  • the neural network model can output information about each of a plurality of segments included in the image.
  • the camera 120 is configured to acquire images including objects around the robot 100.
  • the camera 120 may include a lens that focuses visible light and other optical signals reflected by an object and received into an image sensor, and an image sensor that can detect visible light and other optical signals.
  • the image sensor may include a 2D pixel array divided into a plurality of pixels.
  • the processor 150 may receive optical signals in various wavelength ranges, such as visible light or infrared light, through the lens of the camera 120, and process the received optical signals through the image sensor of the camera 120 to obtain an image. Additionally, the camera 120 according to one example may be implemented as a depth camera, and in this case, the processor 150 may acquire a depth image through the camera 120.
  • the camera 120 may be implemented in the form of a camera module including a plurality of lenses and a plurality of image sensors.
  • the camera 120 may be a stereo camera including two lenses and two image sensors, but is not limited thereto.
  • the distance sensor 130 may acquire distance data. Specifically, the distance sensor 130 may measure the distance between the position of the robot 100 and the position of the object, and obtain distance data based on the measurement result.
  • the distance sensor 130 may include at least one of LIDAR (Light Detection And Ranging), RADAR (RAdio Detection And Ranging), or SONAR (RAdio Detection And Ranging), but is limited thereto. no.
  • the driving unit 140 is configured to drive the robot 100 and provide cleaning services. Regarding the driving of the robot 100, the driving unit 140 may adjust the driving direction and driving speed according to the control of the processor 150.
  • the driving unit 140 according to one example is a power generator that generates power for the robot 100 to travel (e.g., a gasoline engine, a diesel engine, or a liquefied petroleum gas (LPG) depending on the fuel (or energy source) used. ) engines, electric motors, etc.), steering devices to control the driving direction (e.g., manual steering, hydraulics steering, electronic control power steering, EPS, etc.), robots depending on power. It may include a traveling device (e.g., wheels, propeller, etc.) that drives (100). Additionally, the driving unit 140 may be modified depending on the driving type of the robot 100 (e.g., wheel type, walking type, flying type, etc.).
  • LPG liquefied petroleum gas
  • the driving unit 140 can suction and remove foreign substances distributed in the cleaning target area under the control of the processor 150.
  • the driving unit 140 includes a motor, a plate designed to be rotatable, a rail disposed on the plate and having a slope inclined at a certain angle with the ground, a slider disposed to reciprocate on the rail, and one side It may include an arm that is coupled to the slider and moves while maintaining a certain angle with the ground as the slider reciprocates on the rail, and a suction portion coupled to the other side of the arm.
  • the driving unit 140 may include a first wire coupled to one side of the suction unit and a second wire coupled to one side of the suction unit at a predetermined distance from the first wire.
  • the processor 150 generally controls the operation of the robot 100. Specifically, the processor 150 is connected to each component of the robot 100 and can generally control the operation of the robot 100. For example, the processor 150 may be connected to the memory 110, the camera 120, the distance sensor 130, and the driver 140 to control the operation of the robot 100.
  • the processor 150 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). It may be named by various names such as unit), NPU (Neural Processing Unit), controller, and application processor (AP), but in this specification, it is referred to as processor 150.
  • DSP digital signal processor
  • CPU central processing unit
  • MCU micro controller unit
  • MPU micro processing unit
  • MPU micro processing unit
  • the processor 150 may be implemented as a System on Chip (SoC), large scale integration (LSI), or may be implemented as a Field Programmable Gate Array (FPGA). Additionally, the processor 150 may include volatile memory such as SRAM.
  • SoC System on Chip
  • LSI large scale integration
  • FPGA Field Programmable Gate Array
  • SRAM static random access memory
  • the processor 150 inputs the image acquired through the camera 120 and the distance data obtained through the distance sensor 130 into the neural network model stored in the memory 110 to obtain the image included in the image.
  • Type information about at least one cleaning target area can be obtained.
  • the processor 150 when image and distance data are input and a neural network model learned to output type information about at least one cleaning target area included in the image is used, the processor 150 outputs the result value through the neural network model. Based on this, type information about at least one cleaning target area included in the image can be obtained without separate post-processing.
  • the type of the area to be cleaned may be at least one of normal, shallow gap, corner, deep gap, narrow gap, or step area, but is not limited thereto.
  • a neural network model may be a model learned to output information about objects included in the image when image and distance data are input.
  • the processor 150 When using a neural network model learned in this way, the processor 150 generates type information for at least one cleaning target area included in the image through separate post-processing based on information about the object output through the neural network model. can be obtained. Specifically, the processor 150 may obtain type information of the area to be cleaned based on the relationship between objects corresponding to segments included in the image through post-processing.
  • the processor 150 may identify a cleaning scenario corresponding to the obtained type information among the plurality of cleaning scenarios stored in the memory 110.
  • the processor 150 may perform cleaning of the area to be cleaned by controlling the driver 140 based on the identified cleaning scenario.
  • the processor 150 may wind the first wire in a first direction so that the suction unit maintains a first angle with the ground, or wind the second wire in a second direction so that the suction unit maintains a second angle with the ground, depending on the type of area to be cleaned. It can be wound in any direction.
  • the processor 150 winds the first wire in the first direction so that the suction part contacts the object, and rotates the plate in one direction when the suction part contacts the object.
  • the motor can be controlled.
  • the processor 150 may provide a guide UI (User Interface) to request movement of the object.
  • UI User Interface
  • the processor 150 may wind the first wire in a first direction if the area to be cleaned is identified as being a specific type, and may wind the second wire in a second direction if the area to be cleaned is of a type other than the specific type.
  • the processor 150 may control the position of the suction unit to the area to be cleaned by moving the slider backward.
  • the processor 150 obtains type information about the area to be cleaned based on distance data acquired through the LIDAR sensor while cleaning. And, the slider can be controlled based on the cleaning scenario corresponding to the acquired type information.
  • the processor 150 may provide a UI that guides the area that cannot be cleaned.
  • the uncleanable area refers to an area where cleaning cannot be performed at all, considering the form factor of the object itself and the robot 100 included in the image, as well as an area where problems such as damage to the object may occur when cleaning is performed. It may include, but is not limited to this.
  • 3A and 3B are diagrams for explaining the operation of an arm according to an embodiment of the present disclosure.
  • the driving unit 140 may include a motor.
  • the driving unit 140 may include a single motor related to the driving and cleaning functions of the robot 100, or may include a first motor related to driving and a second motor related to the cleaning function.
  • the driving unit 140 may include a plate 142 designed to be rotatable.
  • the plate 142 may be designed to be rotatable based on a direction perpendicular to the ground, and a rail 143 having a slope inclined at a certain angle to the ground may be disposed on the plate 142.
  • the rail 143 may be implemented as a pair of straight rails, but is not limited thereto.
  • the rail 143 may be coupled to the slider 144, and parts such as bearings may be included in the joint portion of the rail 143 and the slider 144.
  • the slider 144 is arranged to be reciprocatable on the rail 143, and the slider 144 according to one example may include a pair of coupling parts corresponding to a pair of rails.
  • the slider 144 is combined with the arm 145.
  • the arm 145 can move while maintaining a constant angle with the ground as the slider 144 reciprocates on the rail 143.
  • the arm 145 can move along the slope included in the rail 143 while maintaining a constant angle with the ground.
  • One side of the arm 145 coupled to the slider 144 may include a hinge, etc. to help the arm 145 operate smoothly.
  • a suction unit 146 may be coupled to the other side of the arm 145.
  • the suction unit 146 is a suction unit for sucking and removing foreign substances distributed in the area to be cleaned, and increases friction between the suction unit 146 and the object when the suction unit 146 contacts an object adjacent to the area to be cleaned. It may include non-slip members, etc.
  • the arm 145 may include a wire 147 for controlling the operation of the suction unit 146.
  • the wire 147 may include a first wire coupled to one side of the suction portion 146 and a second wire coupled to one side of the suction portion 146 at a certain distance from the first wire. It is not limited to this.
  • the processor 150 may control the slider 144 to move in the opposite direction of the arm 145.
  • the arm 145 moves together in the direction of movement of the slider 144, and as a result, the length of the arm 145 protruding out of the rail 143 can be shortened. That is, as the slider 144 retreats, the range that the robot 100 can clean based on the position of the robot 100 may decrease.
  • the processor 150 controls the wire 147 through the motor 141 to bring the suction unit 146 closer to the ground. The position of unit 146 can be adjusted.
  • the processor 150 can control the slider 144 to move in the direction of the arm 145.
  • the arm 145 moves together in the direction of movement of the slider 144, and as a result, the length of the arm 145 protruding out of the rail 143 may be extended. That is, as the slider 144 moves forward, the range that the robot 100 can clean may increase based on the position of the robot 100.
  • the processor 150 controls the wire 147 through the motor 141 to The position of the suction unit 146 can be adjusted so that the suction unit 146 is away from the ground.
  • Figure 4 is a diagram for explaining the operation of the suction unit according to an embodiment of the present disclosure.
  • the angle between the ground and the suction unit 146 can be adjusted by winding the wire 147 by the motor 141.
  • the suction unit 146 may be driven to have a range of a first angle or more and a second angle or less with respect to the ground.
  • the suction unit 146 may maintain an angle (hereinafter, the first angle) smaller than the angle at which the slope is inclined relative to the ground according to the winding of the wire 147 by the motor 141, and the angle at which the slope is inclined A smaller angle (hereinafter referred to as the second angle) may be maintained.
  • the robot 100 can perform an operation to move an object adjacent to the cleaning target area, and the suction unit 146 maintains a second angle with the ground. In this case, the robot 100 can provide normal cleaning services.
  • the suction unit 146 may maintain a state 401 bent downward from the incline direction of the slope.
  • the processor 150 may identify whether an object adjacent to the cleaning target area needs to be moved based on type information of the cleaning target area. When it is identified that the object needs to be moved, the processor 150 winds the first wire coupled to one side of the suction unit 146 in a first direction so that the suction unit 146 maintains a first angle with the ground.
  • the motor 141 can be controlled. In this case, the suction unit 146 may maintain a state 402 bent upward from the slope direction of the slope.
  • the processor 150 may control the motor 141 to wind the first wire in the first direction so that the suction unit 146 contacts the object. .
  • the processor 150 may move the object by controlling the motor 141 so that the plate 142 rotates in one direction when the suction unit 146 contacts the object.
  • the processor 150 may wind the first wire in the first direction if the area to be cleaned is of a specific type. For example, if the area to be cleaned is identified as a ‘narrow gap,’ the processor 150 may wind the first wire in the first direction and then move an object adjacent to the area to be cleaned. If the area to be cleaned is of a type other than a specific type, the processor 150 may provide a normal cleaning service by winding the second wire in the first direction.
  • Figure 5 is a diagram for explaining a neural network model according to an embodiment of the present disclosure.
  • the function related to obtaining type information about the area to be cleaned according to the present disclosure is operated through the processor 150 and memory 110.
  • the processor 150 may be comprised of one or multiple processors.
  • one or more processors may be a general-purpose processor such as a CPU, AP, or DSP (Digital Signal Processor), a graphics-specific processor such as a GPU or VPU (Vision Processing Unit), or an artificial intelligence-specific processor such as an NPU.
  • One or more processors may process input data according to the neural network model stored in the memory 110. If one or more processors are artificial intelligence-only processors, the artificial intelligence-only processor is specialized for processing a specific neural network model. It can be designed as a hardware structure.
  • the neural network model 500 stored in the memory 110 is characterized by being created through learning.
  • being created through learning means that the basic neural network model is learned using a large number of learning data by a learning algorithm, thereby creating a predefined operation rule or neural network model set to perform the desired characteristics (or purpose). do.
  • Such learning may be performed on the device itself on which various embodiments according to the present disclosure are performed, or may be performed through a separate server and/or system.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the examples described above.
  • the neural network model 500 may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and neural network calculation is performed through calculation between the calculation result of the previous layer and the plurality of weights.
  • the plurality of weights possessed by the plurality of neural network layers can be optimized based on the learning results of the neural network model. For example, a plurality of weights may be updated so that loss or cost values obtained from the neural network model are reduced or minimized during the learning process.
  • DNN deep neural networks
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Recurrent Neural Network
  • RBM Restricted Boltzmann Machine
  • DBN Deep Belief Network
  • BNN Bidirectional Recurrent Deep Neural Network
  • DNN Deep Q-Networks
  • the neural network model 500 generates a segment included in the image when the image 511 acquired through the camera 120 and the distance data 512 acquired through the distance sensor 130 are input. It may be a model learned to output (521) and type of segment (522).
  • the type of segment 522 may be information about an object included in the image 511, such as a floor, wall, slope, or obstacle, and may be normal, shallow gap, corner, deep gap, narrow gap, or step. It may be type information about at least one cleaning target area included in the image 511, such as an area.
  • FIGS. 6A to 6D are diagrams for explaining various cleaning scenarios according to an embodiment of the present disclosure.
  • the robot 100 may identify the type of area to be cleaned as a ‘shallow gap’ and perform cleaning based on a cleaning scenario corresponding to the shallow gap 610. For example, the robot 100 may perform cleaning by traveling along the shallow gap 610 with the suction unit 146 positioned on the shallow gap 610.
  • the robot 100 identifies the type of area to be cleaned as 'corner' and performs cleaning based on the cleaning scenario corresponding to the corner 620.
  • cleaning can be performed by rotating the plate 142 while maintaining the suction unit 146 of the robot 100 close to the object constituting the corner 620.
  • the processor 150 may reciprocate the slider 144 through the motor 141 to variably control the range that the robot 100 can clean based on the position of the robot 100.
  • the robot 100 identifies the type of area to be cleaned as ‘deep crevice’ and performs cleaning based on the cleaning scenario corresponding to the deep crevice 630.
  • the robot 100 may control the motor 141 so that the plate 142 alternately rotates in the first direction or the second direction.
  • the degree to which the suction part 146 enters the deep gap 630 continuously changes and cleans. Because cleaning is performed, cleaning of a wider area can be performed in a short period of time.
  • the robot 100 identifies the type of area to be cleaned as ‘narrow gap’ and performs cleaning based on the cleaning scenario corresponding to the narrow gap 640.
  • the robot 100 may reciprocate the slider 144 to clean the area between the start and end points of the narrow gap.
  • the arm 145 can continuously protrude or recover from the main body of the robot 100, thereby enabling efficient cleaning of the narrow gap 640.
  • FIGS. 7A and 7B are diagrams for explaining the operation of a robot depending on whether an object can be moved according to an embodiment of the present disclosure.
  • the robot 100 can clean a cleaning target area where the movable object 710 is adjacent based on the specifications of the robot 100.
  • the robot 100 may identify whether the object 710 is a movable object. For example, the robot 100 inputs image and distance data into a neural network model and identifies the object 710 as a movable object based on the output results, and the suction unit 146 contacts the object 710. If possible, the wire 147 can be controlled through the motor 141.
  • the processor 150 may control the motor 141 to rotate the plate 142 in one direction to move the object 710. Thereafter, the processor 150 may control the driving unit 140 to clean the area adjacent to the existing location of the object 710.
  • the robot 100 may further include a user interface 160.
  • the robot 100 inputs image and distance data into a neural network model in the process of cleaning a cleaning target area adjacent to an immovable object 720 based on the specifications of the robot 100, and cleans the object 720 based on the output results. is identified as an object that cannot be moved, and a guide UI 700 requesting movement of the object 720 may be provided through the user interface 160 .
  • the guide UI 700 may include information such as text that alerts the user to move the object 720, a confirmation button 701, and an ignore button 702.
  • the robot 100 may stop driving and wait until the object 720 is moved.
  • the ignore button 702 the robot 100 may leave the current location to clean the next cleaning target area regardless of the movement of the object 720.
  • Figure 8 is a diagram for explaining a cleaning operation of a robot in a step area according to an embodiment of the present disclosure.
  • an object 800 forming an area having a level difference greater than a threshold value from the ground (hereinafter referred to as a level difference area) may be disposed.
  • the processor 150 may control the position of the suction unit 146 to the step area by moving the slider 144 rearward when the step area, which is the cleaning target area, is identified as having a step difference greater than a threshold value from the ground. there is.
  • the arm 145 is recovered in the direction of the main body of the robot 100 along the slope included in the rail 143, so the distance between the suction part 146 and the ground increases, and accordingly, the suction part 146 It can be maintained at an appropriate distance from the step area.
  • the robot 100 can control the motor 141 by winding the wire 147 so that the suction part 146 is maintained at an appropriate distance from the step area.
  • Figure 9 is a block diagram for specifically explaining the configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a memory 110, a camera 120, a distance sensor 130, a driver 140, a processor 150, a user interface 160, and a communication interface 170. You can. Among the configurations shown in FIG. 9, detailed descriptions of configurations that overlap with those shown in FIG. 2 will be omitted.
  • the camera 120 may be implemented in the form of a camera module including an RGB camera 121 and an infrared camera 122.
  • the camera 120 may include an RGB camera 121 including a visible light sensor and an infrared camera 122 including an infrared sensor.
  • the processor 150 uses the RGB camera 121.
  • the visible light image obtained through the infrared camera 122, the infrared image obtained through the infrared camera 122, and the distance data can be input into a neural network model to obtain type information about the area to be cleaned.
  • the distance sensor 130 may include LIDAR 131, RADAR 132, and SONAR 133.
  • LIDAR can fire a high-output laser pulse and measure the time it takes for the laser to reach the object and then reflect back (Tof, Time of Flight method). Through this, LIDAR 131 can acquire distance data to the object. Additionally, LIDAR can also obtain data about the shape of an object based on a point cloud corresponding to the object surface area.
  • the processor 150 controls the motor 141 so that the cleaning range is adjusted within the range where the suction unit 146 does not collide with the object based on the distance data acquired through the LIDAR 131 while the robot 100 performs cleaning. ) can be used to control the slide 144.
  • the RADAR 132 can acquire distance data to an object in the same way as LIDAR 131 (ToF). However, unlike the LIDAR 131, the RADAR 132 uses radio waves and can obtain distance data to the object by measuring the time the radio waves take to reflect and return to the object.
  • SONAR (133) is equipment that can acquire distance data to an object using sound waves.
  • SONAR 133 may have a cone-shaped angle of view, and may obtain distance data to the object by measuring the time it takes for a sound wave to reflect and return to an object.
  • the processor 150 provides type information about the area to be cleaned based on the image acquired through the camera 120 and a plurality of distance data respectively acquired through LIDAR 131, RADAR 132, and SONAR 133. It can be obtained.
  • the driving unit 140 may include a motor 141, a plate 142, a rail 143, a slider 144, an arm 145, a suction unit 146, and a wire 147. Since each component included in the driving unit 140 has been described above, detailed description will be omitted here.
  • the user interface 160 is a component that helps the robot 100 interact with a user.
  • the user interface 160 may include, but is not limited to, at least one of a display, a touch screen, a button, a jog dial, a switch, a proximity sensor, various types of biometric sensors, a microphone, or a speaker. If it is impossible to move an object adjacent to the cleaning target area, the processor 150 may provide a guide UI requesting movement of the object through the user interface 160, and may provide a guide UI requesting movement of the object in the image acquired through the camera 120. Once the area is identified, a UI that guides the area that cannot be cleaned can be provided through the user interface 160.
  • the communication interface 170 can input and output various types of data.
  • the communication interface 170 is AP-based Wi-Fi (Wireless LAN network), Bluetooth, Zigbee, wired/wireless LAN (Local Area Network), and WAN (Wide Area Network).
  • Ethernet IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical ), coaxial, etc. to external devices (e.g. source devices), external storage media (e.g. USB memory), external servers (e.g. web hard drives) and various types of data. can be sent and received.
  • external devices e.g. source devices
  • external storage media e.g. USB memory
  • external servers e.g. web hard drives
  • the processor 150 may provide various UIs through the user interface 160, but may also provide various UIs by transmitting UI information to the user terminal through the communication interface 160.
  • the processor 150 may use the image acquired through the camera 120 and the distance sensor.
  • the communication interface 170 may be controlled to transmit the distance data obtained through 130 to an external device, and information on the type of area to be cleaned may be received from the external device through the communication interface 170.
  • Figure 10 is a flowchart for explaining a control method according to an embodiment of the present disclosure.
  • the control method inputs an image acquired through a camera and distance data obtained through a distance sensor into a neural network model to obtain type information about at least one cleaning target area included in the image ( S1010).
  • cleaning can be performed by controlling the driving unit based on the obtained cleaning scenario (S1030).
  • the driving part includes a motor, a plate designed to rotate, a rail disposed on the plate and having a slope inclined at a certain angle with the ground, a slider arranged to be able to reciprocate on the rail, and one side is coupled to the slider and the slider It may include an arm that moves while maintaining a constant angle with the ground as it moves back and forth on the rail, and a suction portion coupled to the other side of the arm.
  • the neural network model is trained to output type information about at least one cleaning target area included in the image, or is trained to output information about objects included in the image, and is trained to output at least one cleaning target area.
  • type information about the target area S1010
  • type information about the cleaning target area included in the image is acquired based on the information about the acquired object. can do.
  • the driving unit further includes a first wire coupled to one side of the suction unit and a second wire coupled to one side of the suction unit at a predetermined distance from the first wire.
  • the control method may be used to control the suction unit according to the type of the area to be cleaned. Winding the first wire in a first direction to maintain a first angle with the ground and winding the second wire in a second direction so that the suction portion maintains a second angle with the ground depending on the type of area to be cleaned. Additional steps may be included.
  • the step of winding the first wire in the first direction includes winding the first wire in the first direction so that the suction unit contacts the object when the object adjacent to the cleaning target area is identified as a movable object.
  • the control method is suction.
  • the method may further include rotating the plate in one direction when it comes into contact with an additional object.
  • the step of providing a guide UI (User Interface) to request movement of the object may be further included.
  • the step of winding the first wire in the first direction is winding the first wire in the first direction when the area to be cleaned is a specific type
  • the step of winding the second wire in the second direction is to do so when the area to be cleaned is a specific type.
  • the second wire can be wound in the second direction.
  • the slider can be moved backward to position the suction unit in the cleaning target area.
  • the slider can be moved based on distance data acquired through the LiDAR sensor while cleaning.
  • a step of providing a UI to guide the area that cannot be cleaned may be further included.
  • embodiments described above may be implemented in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof.
  • embodiments described herein may be implemented by the processor 150 itself.
  • embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing processing operations of the robot 100 according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • Computer instructions stored in such a non-transitory computer-readable medium when executed by a processor of a specific device, cause the specific device to perform processing operations in the robot 100 according to the various embodiments described above.
  • a non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories.
  • Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

로봇이 개시된다. 로봇은 청소 대상 영역의 타입에 따른 청소 시나리오 및 신경망 모델이 저장된 메모리, 카메라, 거리 센서, 구동부 및 프로세서를 포함한다. 프로세서는 카메라를 통해 획득된 이미지 및 거리 센서를 통해 획득된 거리 데이터를 신경망 모델에 입력하여 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하고, 획득된 타입 정보에 대응되는 청소 시나리오를 메모리로부터 획득하고, 획득된 청소 시나리오에 기초하여 구동부를 제어할 수 있다. 구동부는 모터, 회전 가능하도록 설계된 플레이트, 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일, 레일 상에서 왕복 가능하도록 배치된 슬라이더, 일 측이 슬라이더에 결합되며 슬라이더가 레일 상에서 왕복함에 따라 지면과 일정한 각도를 유지하며 이동하는 암(Arm) 및 암의 타 측에 결합된 석션부를 포함할 수 있다.

Description

로봇 및 그 제어 방법
본 발명은 로봇 및 그 제어 방법에 관한 것으로, 보다 상세하게는 공간을 주행하며 청소 태스크를 수행하는 로봇 및 그 제어 방법에 관한 것이다.
최근 실내 공간에 배치되어 사용자에게 서비스를 제공하는 로봇에 대한 기술 개발이 활발해지고 있다. 로봇은 실내 공간을 주행하며 청소, 가이드, 서빙, 패트롤 또는 긴급 상황 대처 등과 같이 다양한 서비스를 제공할 수 있다. 특히, 사용자의 개입 없이 스스로 공간을 청소하는 로봇에 대한 수요는 나날이 높아지고 있다.
로봇이 청소 서비스를 제공하는 경우, 공간의 구조적 특성 또는 공간 내에 위치한 장애물로 인해 공간 내에 로봇이 주행할 수 없는 사각지대가 형성될 수 있으며, 이로 인해 원활한 서비스 제공이 어려워진다는 문제점이 있었다. 이에 따라, 다양한 타입의 청소 영역에 대하여 만족스러운 청소 서비스를 제공할 수 있는 방법에 대한 지속적인 요구가 있었다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 이미지 및 거리 데이터에 기초하여 청소 대상 영역에 대한 타입 정보를 획득하고, 획득된 타입 정보에 대응되는 청소 시나리오에 기초하여 청소를 수행하는 로봇 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 로봇은, 청소 대상 영역의 타입에 따른 청소 시나리오 및 신경망 모델이 저장된 메모리, 카메라, 거리 센서, 구동부 및 상기 카메라를 통해 획득된 이미지 및 상기 거리 센서를 통해 획득된 거리 데이터를 상기 신경망 모델에 입력하여 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하고, 상기 획득된 타입 정보에 대응되는 청소 시나리오를 상기 메모리로부터 획득하고, 상기 획득된 청소 시나리오에 기초하여 상기 구동부를 제어하는 프로세서를 포함하며, 상기 구동부는, 모터, 회전 가능하도록 설계된 플레이트, 상기 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일, 상기 레일 상에서 왕복 가능하도록 배치된 슬라이더, 일 측이 상기 슬라이더에 결합되며 상기 슬라이더가 상기 레일 상에서 왕복함에 따라 상기 지면과 일정한 각도를 유지하며 이동하는 암(Arm) 및 상기 암의 타 측에 결합된 석션부를 포함할 수 있다.
여기서, 상기 신경망 모델은, 이미지 및 거리 데이터가 입력되면, 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습되거나, 상기 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습되며, 상기 프로세서는, 상기 신경망 모델로부터 상기 이미지에 포함된 오브젝트에 대한 정보가 획득되면, 상기 획득된 오브젝트에 대한 정보에 기초하여 상기 이미지에 포함된 청소 대상 영역에 대한 타입 정보를 획득할 수 있다.
또한, 상기 구동부는, 상기 석션부의 일측에 결합된 제1 와이어 및 상기 석션부의 상기 일측에서 상기 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어를 더 포함하며, 상기 프로세서는, 상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제1 각도를 유지하도록 상기 제1 와이어를 제1 방향으로 와인딩(winding)하며, 상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제2 각도를 유지하도록 상기 제2 와이어를 제2 방향으로 와인딩할 수 있다.
여기서, 상기 프로세서는, 상기 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면, 상기 석션부가 상기 오브젝트에 접촉되도록 상기 제1 와이어를 상기 제1 방향으로 와인딩하며, 상기 석션부가 상기 오브젝트에 접촉되면, 상기 플레이트가 일 방향으로 회전되도록 상기 모터를 제어할 수 있다.
또한, 상기 프로세서는, 상기 오브젝트가 이동 불가능한 오브젝트인 것으로 식별되면, 상기 오브젝트의 이동을 요청하는 가이드 UI(User Interface)를 제공할 수 있다.
또한, 상기 프로세서는, 상기 청소 대상 영역이 특정 타입이면, 상기 제1 와이어를 상기 제1 방향으로 와인딩하고, 상기 청소 대상 영역이 상기 특정 타입 외의 타입이면, 상기 제2 와이어를 상기 제2 방향으로 와인딩할 수 있다.
또한, 상기 프로세서는, 상기 청소 대상 영역과 상기 지면의 단차가 임계 값 이상인 경우, 상기 슬라이더를 후방으로 이동시켜 상기 청소 대상 영역으로 상기 석션부의 위치를 제어할 수 있다.
또한, 상기 거리 센서는, 라이다(LIDAR) 센서를 포함하며, 상기 프로세서는, 상기 청소를 수행하는 동안 상기 라이다 센서를 통해 획득된 거리 데이터에 기초하여 상기 슬라이더를 제어할 수 있다.
또한, 상기 프로세서는, 상기 이미지에서 청소 불가능한 영역이 식별되면, 청소 불가능한 영역을 가이드하는 UI를 제공할 수 있다.
한편, 본 발명의 일 실시 예에 따른 로봇의 제어 방법은, 카메라를 통해 획득된 이미지 및 거리 센서를 통해 획득된 거리 데이터를 신경망 모델에 입력하여 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하는 단계, 상기 획득된 타입 정보에 대응되는 청소 시나리오를 획득하는 단계 및 상기 획득된 청소 시나리오에 기초하여 상기 구동부를 제어하여 청소를 수행하는 단계를 포함하며, 상기 구동부는, 모터, 회전 가능하도록 설계된 플레이트, 상기 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일, 상기 레일 상에서 왕복 가능하도록 배치된 슬라이더, 일 측이 상기 슬라이더에 결합되며 상기 슬라이더가 상기 레일 상에서 왕복함에 따라 상기 지면과 일정한 각도를 유지하며 이동하는 암(Arm) 및 상기 암의 타 측에 결합된 석션부를 포함할 수 있다.
여기서, 상기 신경망 모델은, 이미지 및 거리 데이터가 입력되면, 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습되거나, 상기 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습되며, 상기 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하는 단계는, 상기 신경망 모델로부터 상기 이미지에 포함된 오브젝트에 대한 정보가 획득되면, 상기 획득된 오브젝트에 대한 정보에 기초하여 상기 이미지에 포함된 청소 대상 영역에 대한 타입 정보를 획득할 수 있다.
또한, 상기 구동부는, 상기 석션부의 일측에 결합된 제1 와이어 및 상기 석션부의 상기 일측에서 상기 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어를 더 포함하며, 상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제1 각도를 유지하도록 상기 제1 와이어를 제1 방향으로 와인딩(winding)하는 단계 및 상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제2 각도를 유지하도록 상기 제2 와이어를 제2 방향으로 와인딩하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 와이어를 제1 방향으로 와인딩하는 단계는, 상기 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면, 상기 석션부가 상기 오브젝트에 접촉되도록 상기 제1 와이어를 상기 제1 방향으로 와인딩하며, 상기 제어 방법은, 상기 석션부가 상기 오브젝트에 접촉되면, 상기 플레이트를 일 방향으로 회전시키는 단계를 더 포함할 수 있다.
또한, 상기 오브젝트가 이동 불가능한 오브젝트인 것으로 식별되면, 상기 오브젝트의 이동을 요청하는 가이드 UI(User Interface)를 제공하는 단계를 더 포함할 수 있다.
또한, 상기 제1 와이어를 제1 방향으로 와인딩하는 단계는, 상기 청소 대상 영역이 특정 타입이면, 상기 제1 와이어를 상기 제1 방향으로 와인딩하고, 상기 제2 와이어를 제2 방향으로 와인딩하는 단계는, 상기 청소 대상 영역이 상기 특정 타입 외의 타입이면, 상기 제2 와이어를 상기 제2 방향으로 와인딩할 수 있다.
또한, 상기 청소를 수행하는 단계는, 상기 청소 대상 영역과 상기 지면의 단차가 임계 값 이상인 경우, 상기 슬라이더를 후방으로 이동시켜 상기 청소 대상 영역으로 상기 석션부를 위치시킬 수 있다.
또한, 상기 청소를 수행하는 단계는, 상기 청소를 수행하는 동안 라이다 센서를 통해 획득된 거리 데이터에 기초하여 상기 슬라이더를 이동시킬 수 있다.
또한, 상기 이미지에서 청소 불가능한 영역이 식별되면, 청소 불가능한 영역을 가이드하는 UI를 제공하는 단계를 더 포함할 수 있다.
본 개시의 다양한 실시 예에 따르면, 로봇이 다양한 타입의 청소 영역에 대하여 만족스러운 청소 서비스를 제공할 수 있으므로, 사용자의 편의가 향상될 수 있다.
도 1은 로봇의 청소 서비스 제공에 관해 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 3a 및 도 3b는 본 개시의 일 실시 예에 따른 암의 동작을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 석션부의 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 신경망 모델에 대해 설명하기 위한 도면이다.
도 6a 내지 도 6d는 본 개시의 일 실시 예에 따른 다양한 청소 시나리오에 대해 설명하기 위한 도면이다.
도 7a 및 도 7b는 본 개시의 일 실시 예에 따른 오브젝트 이동 가부에 따른 로봇의 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 로봇의 단차 영역에 대한 청소 동작을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 로봇의 구성을 구체적으로 설명하기 위한 블록도이다.
도 10은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시에서 '사용자'는 로봇으로부터 서비스를 제공받는 사람을 의미할 수 있으나, 이에 한정되는 것은 아니다.
도 1은 로봇의 청소 서비스 제공에 관해 개략적으로 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 특정 공간에 배치되며, 공간에 거주하거나 일시 방문한 사용자에게 다양한 서비스를 제공할 수 있다. 로봇(100)은 사용자에게 청소, 가이드, 서빙, 패트롤 또는 긴급 상황 대처 등의 서비스를 제공할 수 있으나, 본 명세서에서는 로봇(100)이 청소 서비스를 제공하는 것을 전제로 로봇(100)의 동작을 설명하도록 한다.
공간을 주행하며 청소 서비스를 제공하는 로봇(100)은 공간 내에 위치한 오브젝트와 임계 거리 이내로 이격된 것으로 식별되면 오브젝트와 인접한 영역에 대한 청소 시나리오에 기초하여 청소를 수행할 수 있다. 예를 들어, 로봇(100)은 오브젝트에 의해 형성된 코너(10)에 대응되는 청소 시나리오에 기초하여 코너(10) 영역을 청소할 수 있다.
예를 들어, 로봇(100)은 코너(10)를 포함하는 이미지 및 거리 데이터를 획득하고, 획득된 이미지 및 거리 데이터에 기초하여 이미지에 포함된 코너(10) 타입의 청소 영역을 식별할 수 있다. 또한, 로봇(100)은 식별된 영역에 대응되는 청소 시나리오를 획득하고, 획득된 청소 시나리오에 기초하여 청소를 수행할 수 있다.
또한, 로봇(100)은 특정한 타입의 청소 대상 영역을 효과적으로 청소하기 위해 로봇(100)의 본체를 기준으로 청소가 가능한 범위를 가변적으로 조절할 수 있는 특수한 형태의 구동부를 포함할 수 있다. 로봇(100)은 획득된 청소 시나리오에 기초하여 구동부를 제어함으로써 식별된 청소 대상 영역을 효과적으로 청소할 수 있다.
이하에서는, 이미지 및 거리 데이터에 기초하여 청소 대상 영역에 대한 타입 정보를 획득하고, 획득된 타입 정보에 대응되는 청소 시나리오에 기초하여 청소를 수행하는 다양한 실시 예에 대해 좀더 구체적으로 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 2에 따르면, 본 개시의 일 실시 예에 따른 로봇(100)은 메모리(110), 카메라(120), 거리 센서(130), 구동부(140) 및 프로세서(150)를 포함할 수 있다.
메모리(110)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(110)는 데이터 저장 용도에 따라 로봇(100)에 임베디드된 메모리 형태로 구현되거나, 로봇(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100)의 구동을 위한 데이터의 경우 로봇(100)에 임베디드된 메모리에 저장되고, 로봇(100)의 확장 기능을 위한 데이터의 경우 로봇(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 로봇(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따른 메모리(110)는 청소 대상 영역의 타입에 따른 청소 시나리오 및 청소 영역의 타입 정보 획득에 활용되는 신경망 모델을 저장할 수 있다.
일 예에 따르면, 신경망 모델은 이미지 및 거리 데이터가 입력되면 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습된 모델일 수 있다. 이 경우 신경망 모델은 이미지 및 거리 데이터가 입력되면 이미지에 포함된 복수의 세그먼트(Segment) 영역 각각 또는 서로 다른 세그먼트가 접하고 있는 영역 중 청소가 가능한 영역(이하, 청소 대상 영역)의 타입 정보를 출력하도록 학습된 모델일 수 있다.
다른 예에 따르면, 신경망 모델은 이미지 및 거리 데이터가 입력되면 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습된 모델일 수 있다. 이 경우 신경망 모델은 이미지 및 거리 데이터가 입력되면 이미지에 포함된 복수의 세그먼트 각각에 대한 정보를 출력할 수 있다.
카메라(120)는 로봇(100)의 주변의 오브젝트를 포함하는 이미지를 획득하는 구성이다. 카메라(120)는 오브젝트에 의해 반사되어 수신되는 가시광 기타 광학 신호를 이미지 센서로 포커싱하는 렌즈 및 가시광 기타 광학 신호를 감지할 수 있는 이미지 센서를 포함할 수 있다. 여기서, 이미지 센서는 복수의 픽셀로 구분되는 2D의 픽셀 어레이를 포함할 수 있다.
프로세서(150)는 가시광선 또는 적외선 등 다양한 파장대의 광학 신호를 카메라(120)의 렌즈를 통해 수신하고, 수신된 광학 신호를 카메라(120)의 이미지 센서를 통해 처리하여 이미지를 획득할 수 있다. 또한, 일 예에 따른 카메라(120)는 뎁스(Depth) 카메라로 구현될 수 있으며, 이 경우 프로세서(150)는 카메라(120)를 통해 뎁스 이미지를 획득할 수 있다.
한편, 카메라(120)는 복수의 렌즈 및 복수의 이미지 센서를 포함하는 카메라 모듈의 형태로 구현될 수 있다. 일 예에 따르면, 카메라(120)는 두 개의 렌즈와 두 개의 이미지 센서를 포함하는 스테레오 카메라(stereo camera)일 수 있으나 이에 한정되는 것은 아니다.
거리 센서(130)는 거리 데이터를 획득할 수 있다. 구체적으로, 거리 센서(130)는 로봇(100)의 위치와 오브젝트의 위치와의 거리를 측정하고, 측정 결과에 기초하여 거리 데이터를 획득할 수 있다. 일 예에 따른 거리 센서(130)는 라이다(LIDAR, Light Detection And Ranging), RADAR(RAdio Detection And Ranging) 또는 SONAR((RAdio Detection And Ranging) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
구동부(140)는 로봇(100)의 주행 및 청소 서비스 제공을 위한 구성이다. 로봇(100)의 주행과 관련하여, 구동부(140)는 프로세서(150)의 제어에 따라 주행 방향 및 주행 속도를 조절할 수 있다. 일 예에 따른 구동부(140)는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 사용 연료(또는 에너지원)에 따라 가솔린 엔진(engine), 디젤 엔진, LPG(liquefied petroleum gas) 엔진, 전기 모터 등), 주행 방향을 조절하기 위한 조향 장치(예: 기계식 스티어링(manual steering), 유압식 스티어링(hydraulics steering), 전자식 스티어링(electronic control power steering, EPS) 등), 동력에 따라 로봇(100)을 주행시키는 주행 장치(예: 바퀴, 프로펠러 등) 등을 포함할 수 있다. 또한, 구동부(140)는 로봇(100)의 주행 타입(예: 휠 타입, 보행 타입, 비행 타입 등)에 따라 변형 실시될 수 있다.
로봇(100)의 청소 기능과 관련하여, 구동부(140)는 프로세서(150)의 제어에 따라 청소 대상 영역에 분포하고 있는 이물질을 흡입하여 제거할 수 있다. 일 예에 따른 구동부(140)는 모터, 회전 가능하도록 설계된 플레이트, 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일, 레일 상에서 왕복 가능하도록 배치된 슬라이더, 일 측이 슬라이더에 결합되며 슬라이더가 레일 상에서 왕복함에 따라 지면과 일정 각도를 유지하며 이동하는 암(Arm) 및 암의 타측에 결합된 석션부를 포함할 수 있다.
또한, 구동부(140)는 석션부의 일측에 결합된 제1 와이어 및 석션부의 일측에서 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어를 포함할 수 있다.
프로세서(150)는 로봇(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(150)는 로봇(100)의 각 구성과 연결되어 로봇(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(150)는 메모리(110), 카메라(120), 거리 센서(130) 및 구동부(140)와 연결되어 로봇(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(150)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(150)로 기재한다.
프로세서(150)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(150)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(150)는 카메라(120)를 통해 획득된 이미지 및 거리 센서(130)를 통해 획득된 거리 데이터를 메모리(110)에 저장된 신경망 모델에 입력하여 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득할 수 있다.
일 예에 따라 이미지 및 거리 데이터가 입력되면 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습된 신경망 모델을 활용하는 경우, 프로세서(150)는 신경망 모델을 통해 출력된 결과 값에 기초하여 별도의 후처리 없이 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득할 수 있다. 여기서, 청소 대상 영역의 타입은 노멀(Normal), 얕은 틈, 코너, 깊은 틈, 좁은 틈 또는 단차 영역 중 적어도 하나일 수 있으나 이에 한정되는 것은 아니다.
다른 예에 따르면, 신경망 모델은 이미지 및 거리 데이터가 입력되면 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습된 모델일 수 있다. 이러한 방식으로 학습된 신경망 모델을 활용하는 경우, 프로세서(150)는 신경망 모델을 통해 출력된 오브젝트에 대한 정보에 기초하여 별도의 후처리를 통해 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득할 수 있다. 구체적으로, 프로세서(150)는 후처리를 통해 이미지에 포함된 세그먼트에 대응되는 오브젝트들 간의 관계에 기초하여 청소 대상 영역의 타입 정보를 획득할 수 있다.
이어서, 프로세서(150)는 메모리(110)에 저장된 복수의 청소 시나리오 중 획득된 타입 정보에 대응되는 청소 시나리오를 식별할 수 있다. 프로세서(150)는 식별된 청소 시나리오에 기초하여 구동부(140)를 제어함으로써 청소 대상 영역에 대한 청소를 수행할 수 있다.
또한, 프로세서(150)는 청소 대상 영역의 타입에 따라 석션부가 지면과 제1 각도를 유지하도록 제1 와이어를 제1 방향으로 와인딩하거나 석션부가 지면과 제2 각도를 유지하도록 제2 와이어를 제2 방향으로 와인딩할 수 있다. 여기서, 프로세서(150)는 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면 석션부가 오브젝트에 접촉되도록 제1 와이어를 제1 방향으로 와인딩하며, 석션부가 오브젝트에 접촉되면 플레이트가 일 방향으로 회전되도록 모터를 제어할 수 있다.
또한, 프로세서(150)는 오브젝트가 이동 불가능한 오브젝트인 것으로 식별되면 오브젝트의 이동을 요청하는 가이드 UI(User Interface)를 제공할 수 있다.
또한, 프로세서(150)는 청소 대상 영역이 특정 타입인 것으로 식별되면 제1 와이어를 제1 방향으로 와인딩하고, 청소 대상 영역이 특정 타입 외의 타입이면 제2 와이어를 제2 방향으로 와인딩할 수 있다.
또한, 프로세서(150)는 청소 대상 영역과 지면의 단차가 임계 값 이상인 경우, 슬라이더를 후방으로 이동시켜 청소 대상 영역으로 석션부의 위치를 제어할 수 있다.
또한, 거리 센서(130)가 라이다(LIDAR) 센서를 포함하는 경우, 프로세서(150)는 청소를 수행하는 동안 라이다 센서를 통해 획득된 거리 데이터에 기초하여 청소 대상 영역에 대한 타입 정보를 획득하고, 획득된 타입 정보에 대응되는 청소 시나리오에 기초하여 슬라이더를 제어할 수 있다.
또한, 프로세서(150)는 이미지에서 청소 불가능한 영역이 식별되면, 청소 불가능한 영역을 가이드하는 UI를 제공할 수도 있다. 여기서, 청소 불가능한 영역은 이미지에 포함된 오브젝트 자체 및 로봇(100)의 폼 팩터를 고려할 때 청소를 전혀 수행할 수 없는 영역은 물론 청소를 수행하는 경우 오브젝트의 파손 등의 문제가 발생할 수 있는 영역을 포함할 수 있으나 이에 한정되는 것은 아니다.
도 3a 및 도 3b는 본 개시의 일 실시 예에 따른 암의 동작을 설명하기 위한 도면이다.
구동부(140)는 모터를 포함할 수 있다. 구동부(140)는 로봇(100)의 주행 및 청소 기능과 관계되는 단일한 모터를 포함할 수도 있으며, 주행에 관계되는 제1 모터와 청소 기능에 관계되는 제2 모터를 포함할 수도 있다.
구동부(140)는 회전 가능하도록 설계된 플레이트(142)를 포함할 수 있다. 플레이트(142)는 지면과 수직한 방향을 기준으로 회전 가능하도록 설계될 수 있으며, 플레이트(142) 상에는 지면과 일정한 각도로 기울어진 슬로프를 구비한 레일(143)이 배치될 수 있다. 일 예에 따르면, 레일(143)은 한 쌍의 직선형 레일로 구현될 수 있으나 이에 한정되는 것은 아니다.
레일(143)은 슬라이더(144)와 결합할 수 있으며, 레일(143)과 슬라이더(144)의 결합부에는 베어링 등의 부속이 포함될 수 있다. 슬라이더(144)는 레일(143)상에서 왕복 가능하도록 배치되며, 일 예에 따른 슬라이더(144)는 한 쌍의 레일에 대응되는 한쌍의 결합부를 포함할 수 있다.
슬라이더(144)는 암(145)과 결합된 구성이다. 암(145)은 슬라이더(144)가 레일(143) 상에서 왕복함에 따라 지면과 일정한 각도를 유지하며 이동할 수 있다. 이 경우, 암(145)은 레일(143)에 포함된 슬로프를 따라서 지면과 일정한 각도를 유지하며 이동할 수 있다. 암(145)이 슬라이더(144)와 결합한 일 측에는 힌지 등이 포함되어 암(145)의 원활한 동작을 도울 수 있다.
암(145)의 타 측에는 석션부(146)가 결합될 수 있다. 석션부(146)는 청소 대상 영역에 분포된 이물질을 흡입하여 제거하기 위한 흡입부 및 석션부(146)가 청소 대상 영역에 인접한 오브젝트에 접촉할 경우 석션부(146)와 오브젝트 간의 마찰력을 증대시키기 위한 논슬립(non-slip) 부재 등을 포함할 수 있다.
암(145)은 석션부(146)의 동작을 제어하기 위한 와이어(147)를 포함할 수 있다. 예를 들어, 와이어(147)는 석션부(146)의 일측에 결합된 제1 와이어 및 석션부(146)의 일측에서 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어를 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 3a에 따르면, 프로세서(150)는 슬라이더(144)가 암(145)의 반대 방향으로 이동하도록 제어할 수 있다. 이 경우 암(145)은 슬라이더(144)의 이동 방향으로 함께 이동하며, 그 결과 레일(143) 밖으로 돌출된 암(145)의 길이는 단축될 수 있다. 즉, 슬라이더(144)의 후퇴에 따라 로봇(100)의 위치를 기준으로 로봇(100)이 청소할 수 있는 범위는 감소할 수 있다.
또한, 슬라이더(144)의 후퇴에 따라 석션부(146)가 지면으로부터 이격된 거리는 증가할 수 있다. 이 경우 석션부(146)에 의한 이물질 흡입이 원활하게 이루어지지 않을 수 있기 때문에, 프로세서(150)는 모터(141)를 통해 와이어(147)를 제어하여 석션부(146)가 지면에 가까워지도록 석션부(146)의 위치를 조정할 수 있다.
도 3b에 따르면, 프로세서(150)는 슬라이더(144)가 암(145)의 방향으로 이동하도록 제어할 수 있다. 이 경우 암(145)은 슬라이더(144)의 이동 방향으로 함께 이동하며, 그 결과 레일(143) 밖으로 돌출된 암(145)의 길이는 신장될 수 있다. 즉, 슬라이더(144)의 전진에 따라 로봇(100)의 위치를 기준으로 로봇(100)이 청소할 수 있는 범위는 증가할 수 있다.
또한, 슬라이더(144)의 전진에 따라 석션부(146)가 지면으로부터 이격된 거리는 감소할 수 있다. 이 경우 석션부(146)가 지면에 일시적으로 접합되거나 주행 중에 석션부(146)와 지면의 마찰이 야기될 수 있기 때문에, 프로세서(150)는 모터(141)를 통해 와이어(147)를 제어하여 석션부(146)가 지면과 멀어지도록 석션부(146)의 위치를 조정할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 석션부의 동작을 설명하기 위한 도면이다.
도 4에 따르면, 모터(141)에 의한 와이어(147)의 와인딩(winding)에 의하여 지면과 석션부(146) 사이의 각도가 조정될 수 있다. 예를 들어, 석션부(146)는 지면을 기준으로 제1 각도 이상 제2 각도 이하의 범위를 갖도록 구동될 수 있다. 석션부(146)는 모터(141)에 의한 와이어(147)의 와인딩에 따라 지면을 기준으로 슬로프가 기울어진 각도보다 더 작은 각도(이하, 제1 각도)를 유지할 수도 있고, 슬로프가 기울어진 각도보다 더 작은 각도(이하, 제2 각도)를 유지할 수도 있다. 석션부(146)가 지면과 제1 각도를 유지하는 경우에는 로봇(100)이 청소 대상 영역과 인접한 오브젝트를 이동시키는 동작을 수행할 수 있으며, 석션부(146)가 지면과 제2 각도를 유지하는 경우에는 로봇(100)이 통상적인 청소 서비스를 제공할 수 있다.
로봇(100)이 통상적인 청소 서비스를 제공하는 과정에서 석션부(146)는 슬로프의 경사 방향보다 아래로 꺾인 상태(401)를 유지할 수 있다.
일 예에 따르면, 프로세서(150)는 청소 대상 영역의 타입 정보에 기초하여 청소 대상 영역에 인접한 오브젝트를 이동시킬 필요가 있는지 식별할 수 있다. 오브젝트를 이동시킬 필요가 있는 것으로 식별되면, 프로세서(150)는 석션부(146)의 일측에 결합된 제1 와이어를 제1 방향으로 와인딩하여 석션부(146)가 지면과 제1 각도를 유지하도록 모터(141)를 제어할 수 있다. 이 경우 석션부(146)는 슬로프의 경사 방향보다 위로 꺾인 상태(402)를 유지할 수 있다.
또한, 프로세서(150)는 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면, 석션부(146)가 오브젝트에 접촉되도록 제1 와이어를 제1 방향으로 와인딩 하도록 모터(141)를 제어할 수 있다. 프로세서(150)는 석션부(146)가 오브젝트에 접촉되면 플레이트(142)가 일 방향으로 회전되도록 모터(141)를 제어하여 오브젝트를 이동시킬 수 있다.
또한, 프로세서(150)는 청소 대상 영역이 특정 타입이면 제1 와이어를 제1 방향으로 와인딩할 수 있다. 예를 들어, 프로세서(150)는 청소 대상 영역이 ‘좁은 틈’으로 식별되면 제1 와이어를 제1 방향으로 와인딩한 후 청소 대상 영역에 인접한 오브젝트를 이동시킬 수 있다. 만일 청소 대상 영역이 특정 타입 외의 타입이면, 프로세서(150)는 제2 와이어를 제1 방향으로 와인딩하여 통상적인 청소 서비스를 제공할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 신경망 모델에 대해 설명하기 위한 도면이다.
본 개시에 따른 청소 대상 영역에 대한 타입 정보 획득과 관련된 기능은 프로세서(150)와 메모리(110)를 통해 동작된다. 프로세서(150)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(110)에 저장된 신경망 모델에 따라 입력 데이터를 처리할 수 있으며, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는 특정 신경망 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
메모리(110)에 저장된 신경망 모델(500)은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 신경망 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 신경망 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 다양한 실시 예가 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
신경망 모델(500)은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 신경망 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 신경망 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
본 개시의 일 실시 예에 따르면, 신경망 모델(500)은 카메라(120)를 통해 획득된 이미지(511) 및 거리 센서(130)를 통해 획득된 거리 데이터(512)가 입력되면 이미지에 포함된 세그먼트(521) 및 세그먼트의 타입(522)을 출력하도록 학습된 모델일 수 있다. 여기서, 세그먼트의 타입(522)은 바닥, 벽, 슬로프 또는 장애물과 같이 이미지(511)에 포함된 오브젝트에 대한 정보일 수도 있고, 노멀(Normal), 얕은 틈, 코너, 깊은 틈, 좁은 틈 또는 단차 영역과 같이 이미지(511)에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보일 수도 있다.
도 6a 내지 도 6d는 본 개시의 일 실시 예에 따른 다양한 청소 시나리오에 대해 설명하기 위한 도면이다.
도 6a에 따르면, 로봇(100)은 청소 대상 영역의 타입이 ‘얕은 틈’인 것으로 식별하고, 얕은 틈(610)에 대응되는 청소 시나리오에 기초하여 청소를 수행할 수 있다. 예를 들어, 로봇(100)은 석션부(146)를 얕은 틈(610) 상에 위치시킨 상태에서 얕은 틈(610)을 따라 주행하며 청소를 수행할 수 있다.
도 6b에 따르면, 로봇(100)은 청소 대상 영역의 타입이 ‘코너’인 것으로 식별하고, 코너(620)에 대응되는 청소 시나리오에 기초하여 청소를 수행할 수 있다. 예를 들어, 로봇(100)의 석션부(146)가 코너(620)를 구성하는 오브젝트와 근접한 상태를 유지하면서 플레이트(142)를 회전시켜 청소를 수행할 수 있다. 이 과정에서, 프로세서(150)는 로봇(100)의 위치를 기준으로 로봇(100)이 청소할 수 있는 범위를 가변적으로 조절하기 위해 모터(141)를 통해 슬라이더(144)를 왕복운동 시킬 수 있다.
도 6c에 따르면, 로봇(100)은 청소 대상 영역의 타입이 ‘깊은 틈’인 것으로 식별하고, 깊은 틈(630)에 대응되는 청소 시나리오에 기초하여 청소를 수행할 수 있다. 예를 들어, 로봇(100)은 플레이트(142)가 제1 방향 또는 제2 방향으로 교번적으로 회전하도록 모터(141)를 제어할 수 있다. 플레이트(142)의 교번적인 회전 동작과 동시에 로봇(100) 깊은 틈(630)을 따라 주행하는 경우, 이를 통해 석션부(146)가 깊은 틈(630) 내부로 진입한 정도가 지속적으로 변화하면서 청소가 수행되기 때문에 짧은 시간 내에 보다 넓은 범위에 대한 청소가 수행될 수 있다.
도 6d에 따르면, 로봇(100)은 청소 대상 영역의 타입이 ‘좁은 틈’인 것으로 식별하고, 좁은 틈(640)에 대응되는 청소 시나리오에 기초하여 청소를 수행할 수 있다. 예를 들어, 로봇(100)은 좁은 틈이 시작되는 지점과 끝나는 지점 사이의 영역을 청소하기 위해 슬라이더(144)를 왕복운동 시킬 수 있다. 이를 통해 암(145)이 로봇(100)의 본체를 기준으로 돌출되거나 회수되는 동작이 연속적으로 일어날 수 있으므로, 좁은 틈(640)에 대한 효율적인 청소가 가능해진다.
도 7a 및 도 7b는 본 개시의 일 실시 예에 따른 오브젝트 이동 가부에 따른 로봇의 동작을 설명하기 위한 도면이다.
도 7a에 따르면, 로봇(100)은 로봇(100)의 스펙을 기초로 이동 가능한 오브젝트(710)가 인접한 청소 대상 영역을 청소할 수 있다. 청소 과정에서 로봇(100)은 오브젝트(710)가 이동 가능한 오브젝트인 것인지 여부를 식별할 수 있다. 예를 들어, 로봇(100)은 이미지 및 거리 데이터를 신경망 모델에 입력하여 출력된 결과에 기초하여 오브젝트(710)가 이동 가능한 오브젝트인 것으로 식별하고, 석션부(146)가 오브젝트(710)에 접촉되도록 모터(141)를 통해 와이어(147)를 제어할 수 있다.
석션부(146)가 오브젝트에 접촉되면, 프로세서(150)는 플레이트(142)가 일 방향으로 회전하도록 모터(141)를 제어하여 오브젝트(710)를 이동시킬 수 있다. 이후 프로세서(150)는 오브젝트(710)의 기존 위치와 인접한 영역을 청소하도록 구동부(140)를 제어할 수 있다.
도 7b에 따르면, 로봇(100)은 사용자 인터페이스(160)를 더 포함할 수 있다. 로봇(100)은 로봇(100)의 스펙을 기초로 이동 불가능한 오브젝트(720)가 인접한 청소 대상 영역을 청소하는 과정에서 이미지 및 거리 데이터를 신경망 모델에 입력하여 출력된 결과에 기초하여 오브젝트(720)가 이동 불가능한 오브젝트인 것으로 식별하고, 오브젝트(720)의 이동을 요청하는 가이드 UI(700)를 사용자 인터페이스(160)를 통해 제공할 수 있다.
일 예에 따른 가이드 UI(700)는 사용자로 하여금 오브젝트(720)를 이동시키도록 주위를 환기하는 텍스트, 확인 버튼(701) 및 무시 버튼(702) 등의 정보를 포함할 수 있다. 여기서, 사용자가 확인 버튼(701)을 선택하는 경우 로봇(100)은 구동을 중지하고 오브젝트(720)가 이동될 때까지 대기할 수 있다. 반대로, 사용자가 무시 버튼(702)을 선택하는 경우 로봇(100)은 오브젝트(720)의 이동과 무관하게 다음 청소 대상 영역을 청소하기 위해 현 위치를 벗어날 수 있다.
도 8은 본 개시의 일 실시 예에 따른 로봇의 단차 영역에 대한 청소 동작을 설명하기 위한 도면이다.
도 8에 따르면, 로봇(100)이 위치한 공간 내에는 지면과 임계 값 이상의 단차를 갖는 영역(이하, 단차 영역)을 형성하는 오브젝트(800)가 배치되어 있을 수 있다. 일 예에 따른 프로세서(150)는 청소 대상 영역인 단차 영역이 지면과 임계 값 이상의 단차를 가지는 것으로 식별되면 슬라이더(144)를 후방으로 이동시켜 단차 영역으로 석션부(146)의 위치를 제어할 수 있다.
이 과정에서 암(145)이 레일(143)에 포함된 슬로프를 따라 로봇(100)의 본체 방향으로 회수되므로 석션부(146)가 지면과 이격된 거리는 증가하며, 그에 따라 석션부(146)가 단차 영역과 적정한 거리로 이격된 상태가 유지될 수 있다.
한편, 로봇(100)은 상술한 방식 이외에도 와이어(147)를 와인딩하여 석션부(146)가 단차 영역과 적정한 거리로 이격된 상태가 유지되도록 모터(141)를 제어할 수 있음은 물론이다.
도 9는 본 개시의 일 실시 예에 따른 로봇의 구성을 구체적으로 설명하기 위한 블록도이다.
도 9에 따르면, 로봇(100)은 메모리(110), 카메라(120), 거리 센서(130), 구동부(140), 프로세서(150), 사용자 인터페이스(160) 및 통신 인터페이스(170)를 포함할 수 있다. 도 9에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
카메라(120)는 RGB 카메라(121)와 적외선 카메라(122)를 포함하는 카메라 모듈의 형태로 구현될 수 있다. 일 예에 따르면, 카메라(120)는 가시광 센서를 포함하는 RGB 카메라(121)와 적외선 센서를 포함하는 적외선 카메라(122)를 포함할 수 있으며, 이 경우 프로세서(150)는 RGB 카메라(121)를 통해 획득된 가시광 이미지, 적외선 카메라(122)를 통해 획득된 적외선 이미지 및 거리 데이터를 신경망 모델에 입력하여 청소 대상 영역에 대한 타입 정보를 획득할 수 있다.
거리 센서(130)는 LIDAR(131), RADAR(132) 및 SONAR(133)를 포함할 수 있다.
LIDAR(131)는 고출력 레이저 펄스를 발사해, 레이저가 오브젝트에 도달한 후 다시 반사되어 돌아오는 시간을 측정할 수 있다(Tof, Time of Flight 방식). 이를 통해 LIDAR(131)는 오브젝트에 이르는 거리 데이터를 획득할 수 있다. 또한, LIDAR는 오브젝트 표면 영역에 대응되는 포인트 클라우드에 기초하여 오브젝트의 형태에 관한 데이터 역시 획득할 수 있다. 프로세서(150)는 로봇(100)이 청소를 수행하는 동안 LIDAR(131)를 통해 획득된 거리 데이터에 기초하여 석션부(146)가 오브젝트와 충돌하지 않는 범위 내에서 청소 범위가 조정되도록 모터(141)를 통해 슬라이드(144)를 제어할 수 있다.
RADAR(132)는 LIDAR(131)와 같은 방식(ToF)으로 오브젝트에 이르는 거리 데이터를 획득할 수 있다. 다만, RADAR(132)는 LIDAR(131)와 달리 전파를 이용하며, 전파가 오브젝트에 반사되어 돌아오는 시간을 측정하여 오브젝트까지의 거리 데이터를 획득할 수 있다.
SONAR(133)는 음파를 활용해 오브젝트까지의 거리 데이터를 획득할 수 있는 장비이다. 일 예에 따른 SONAR(133)는 원추 형상의 화각을 가질 수 있으며, 음파가 오브젝트에 반사되어 돌아오는 시간을 측정하여 오브젝트까지의 거리 데이터를 획득할 수 있다.
프로세서(150)는 카메라(120)를 통해 획득된 이미지 및 LIDAR(131), RADAR(132) 및 SONAR(133)를 통해 각각 획득된 복수의 거리 데이터들에 기초하여 청소 대상 영역에 대한 타입 정보를 획득할 수 있다.
구동부(140)는 모터(141), 플레이트(142), 레일(143), 슬라이더(144), 암(145), 석션부(146) 및 와이어(147)를 포함할 수 있다. 구동부(140)에 포함된 각 구성에 대해서는 전술하였으므로 여기에서는 자세한 설명을 생략하도록 한다.
사용자 인터페이스(160)는 로봇(100)이 사용자와 인터렉션(Interaction)을 수행하는 데 관여하는 구성이다. 예를 들어 사용자 인터페이스(160)는 디스플레이, 터치 스크린, 버튼, 조그(Jog) 다이얼, 스위치, 근접 센서, 다양한 타입의 생체 센서, 마이크 또는 스피커 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다. 프로세서(150)는 청소 대상 영역에 인접한 오브젝트의 이동이 불가능한 경우에는 사용자 인터페이스(160)를 통해 오브젝트의 이동을 요청하는 가이드 UI를 제공할 수 있으며, 카메라(120)를 통해 획득된 이미지에서 청소 불가능한 영역이 식별되면 사용자 인터페이스(160)를 통해 청소 불가능한 영역을 가이드하는 UI를 제공할 수 있다.
통신 인터페이스(170)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어, 통신 인터페이스(170)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
프로세서(150)는 사용자 인터페이스(160)를 통해 각종 UI를 제공할 수도 있으나, 통신 인터페이스(160)를 통해 UI 정보를 사용자 단말로 전송함으로써 각종 UI를 제공할 수도 있다. 또한, 본 개시에 따른 신경망 모델을 활용한 청소 대상 영역의 타입 정보 획득 동작이 외부 장치(예: 서버 등)를 통해 이루어지는 경우, 프로세서(150)는 카메라(120)를 통해 획득된 이미지 및 거리 센서(130)를 통해 획득된 거리 데이터를 외부 장치로 전송하도록 통신 인터페이스(170)를 제어하고, 통신 인터페이스(170)를 통해 외부 장치로부터 청소 대상 영역의 타입 정보를 수신할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 제어 방법은 카메라를 통해 획득된 이미지 및 거리 센서를 통해 획득된 거리 데이터를 신경망 모델에 입력하여 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득한다(S1010).
이어서, 획득된 타입 정보에 대응되는 청소 시나리오를 획득한다(S1020).
마지막으로, 획득된 청소 시나리오에 기초하여 구동부를 제어하여 청소를 수행할 수 있다(S1030).
여기서, 구동부는 모터, 회전 가능하도록 설계된 플레이트, 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일, 레일 상에서 왕복 가능하도록 배치된 슬라이더, 일 측이 슬라이더에 결합되며 슬라이더가 레일 상에서 왕복함에 따라 지면과 일정한 각도를 유지하며 이동하는 암(Arm) 및 암의 타 측에 결합된 석션부를 포함할 수 있다.
여기서, 신경망 모델은 이미지 및 거리 데이터가 입력되면 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습되거나, 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습되며, 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하는 단계(S1010)에서는 신경망 모델로부터 이미지에 포함된 오브젝트에 대한 정보가 획득되면 획득된 오브젝트에 대한 정보에 기초하여 이미지에 포함된 청소 대상 영역에 대한 타입 정보를 획득할 수 있다.
또한, 구동부는 석션부의 일측에 결합된 제1 와이어 및 석션부의 일측에서 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어를 더 포함하며, 이 경우 제어 방법은 청소 대상 영역의 타입에 따라 석션부가 지면과 제1 각도를 유지하도록 제1 와이어를 제1 방향으로 와인딩(winding)하는 단계 및 청소 대상 영역의 타입에 따라 석션부가 지면과 제2 각도를 유지하도록 제2 와이어를 제2 방향으로 와인딩하는 단계를 더 포함할 수 있다.
여기서, 제1 와이어를 제1 방향으로 와인딩하는 단계는 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면 석션부가 오브젝트에 접촉되도록 제1 와이어를 제1 방향으로 와인딩하며, 이 경우 제어 방법은 석션부가 오브젝트에 접촉되면 플레이트를 일 방향으로 회전시키는 단계를 더 포함할 수 있다.
또한, 오브젝트가 이동 불가능한 오브젝트인 것으로 식별되면 오브젝트의 이동을 요청하는 가이드 UI(User Interface)를 제공하는 단계를 더 포함할 수 있다.
또한, 제1 와이어를 제1 방향으로 와인딩하는 단계는 청소 대상 영역이 특정 타입이면 제1 와이어를 제1 방향으로 와인딩하고, 제2 와이어를 제2 방향으로 와인딩하는 단계는 청소 대상 영역이 특정 타입 외의 타입이면 제2 와이어를 제2 방향으로 와인딩할 수 있다.
또한, 청소를 수행하는 단계(S1030)에서는 청소 대상 영역과 지면의 단차가 임계 값 이상인 경우 슬라이더를 후방으로 이동시켜 청소 대상 영역으로 석션부를 위치시킬 수 있다.
또한, 청소를 수행하는 단계(S1030)에서는 청소를 수행하는 동안 라이다 센서를 통해 획득된 거리 데이터에 기초하여 슬라이더를 이동시킬 수 있다.
또한, 이미지에서 청소 불가능한 영역이 식별되면 청소 불가능한 영역을 가이드하는 UI를 제공하는 단계를 더 포함할 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버 또는 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서(150) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇(100)의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해 되어져서는 안될 것이다.

Claims (15)

  1. 로봇에 있어서,
    청소 대상 영역의 타입에 따른 청소 시나리오 및 신경망 모델이 저장된 메모리;
    카메라;
    거리 센서;
    구동부; 및
    상기 카메라를 통해 획득된 이미지 및 상기 거리 센서를 통해 획득된 거리 데이터를 상기 신경망 모델에 입력하여 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하고,
    상기 획득된 타입 정보에 대응되는 청소 시나리오를 상기 메모리로부터 획득하고,
    상기 획득된 청소 시나리오에 기초하여 상기 구동부를 제어하는 프로세서;를 포함하며,
    상기 구동부는,
    모터;
    회전 가능하도록 설계된 플레이트;
    상기 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일;
    상기 레일 상에서 왕복 가능하도록 배치된 슬라이더;
    일 측이 상기 슬라이더에 결합되며 상기 슬라이더가 상기 레일 상에서 왕복함에 따라 상기 지면과 일정한 각도를 유지하며 이동하는 암(Arm); 및
    상기 암의 타 측에 결합된 석션부;를 포함하는, 로봇.
  2. 제1항에 있어서,
    상기 신경망 모델은,
    이미지 및 거리 데이터가 입력되면, 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습되거나,
    상기 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습되며,
    상기 프로세서는,
    상기 신경망 모델로부터 상기 이미지에 포함된 오브젝트에 대한 정보가 획득되면, 상기 획득된 오브젝트에 대한 정보에 기초하여 상기 이미지에 포함된 청소 대상 영역에 대한 타입 정보를 획득하는, 로봇.
  3. 제1항에 있어서,
    상기 구동부는,
    상기 석션부의 일측에 결합된 제1 와이어; 및
    상기 석션부의 상기 일측에서 상기 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어;를 더 포함하며,
    상기 프로세서는,
    상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제1 각도를 유지하도록 상기 제1 와이어를 제1 방향으로 와인딩(winding)하며,
    상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제2 각도를 유지하도록 상기 제2 와이어를 제2 방향으로 와인딩하는, 로봇.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면, 상기 석션부가 상기 오브젝트에 접촉되도록 상기 제1 와이어를 상기 제1 방향으로 와인딩하며,
    상기 석션부가 상기 오브젝트에 접촉되면, 상기 플레이트가 일 방향으로 회전되도록 상기 모터를 제어하는, 로봇.
  5. 제3항에 있어서,
    상기 프로세서는,
    상기 오브젝트가 이동 불가능한 오브젝트인 것으로 식별되면, 상기 오브젝트의 이동을 요청하는 가이드 UI(User Interface)를 제공하는, 로봇.
  6. 제3항에 있어서,
    상기 프로세서는,
    상기 청소 대상 영역이 특정 타입이면, 상기 제1 와이어를 상기 제1 방향으로 와인딩하고,
    상기 청소 대상 영역이 상기 특정 타입 외의 타입이면, 상기 제2 와이어를 상기 제2 방향으로 와인딩하는, 로봇.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 청소 대상 영역과 상기 지면의 단차가 임계 값 이상인 경우, 상기 슬라이더를 후방으로 이동시켜 상기 청소 대상 영역으로 상기 석션부의 위치를 제어하는, 로봇.
  8. 제1항에 있어서,
    상기 거리 센서는,
    라이다(LIDAR) 센서;를 포함하며,
    상기 프로세서는,
    상기 청소를 수행하는 동안 상기 라이다 센서를 통해 획득된 거리 데이터에 기초하여 상기 슬라이더를 제어하는, 로봇.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 이미지에서 청소 불가능한 영역이 식별되면, 청소 불가능한 영역을 가이드하는 UI를 제공하는, 로봇.
  10. 구동부를 포함하는 로봇의 제어 방법에 있어서,
    카메라를 통해 획득된 이미지 및 거리 센서를 통해 획득된 거리 데이터를 신경망 모델에 입력하여 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하는 단계;
    상기 획득된 타입 정보에 대응되는 청소 시나리오를 획득하는 단계; 및
    상기 획득된 청소 시나리오에 기초하여 상기 구동부를 제어하여 청소를 수행하는 단계;를 포함하며,
    상기 구동부는,
    모터, 회전 가능하도록 설계된 플레이트, 상기 플레이트 상에 배치되며 지면과 일정한 각도로 기울어진 슬로프(slope)를 구비한 레일, 상기 레일 상에서 왕복 가능하도록 배치된 슬라이더, 일 측이 상기 슬라이더에 결합되며 상기 슬라이더가 상기 레일 상에서 왕복함에 따라 상기 지면과 일정한 각도를 유지하며 이동하는 암(Arm) 및 상기 암의 타 측에 결합된 석션부를 포함하는, 제어 방법.
  11. 제10항에 있어서,
    상기 신경망 모델은,
    이미지 및 거리 데이터가 입력되면, 상기 이미지에 포함된 적어도 하나의 청소 대상 영역에 대한 타입 정보를 출력하도록 학습되거나,
    상기 이미지에 포함된 오브젝트에 대한 정보를 출력하도록 학습되며,
    상기 적어도 하나의 청소 대상 영역에 대한 타입 정보를 획득하는 단계는,
    상기 신경망 모델로부터 상기 이미지에 포함된 오브젝트에 대한 정보가 획득되면, 상기 획득된 오브젝트에 대한 정보에 기초하여 상기 이미지에 포함된 청소 대상 영역에 대한 타입 정보를 획득하는, 제어 방법.
  12. 제10항에 있어서,
    상기 구동부는,
    상기 석션부의 일측에 결합된 제1 와이어 및 상기 석션부의 상기 일측에서 상기 제1 와이어와 일정 거리 이격되어 결합된 제2 와이어를 더 포함하며,
    상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제1 각도를 유지하도록 상기 제1 와이어를 제1 방향으로 와인딩(winding)하는 단계; 및
    상기 청소 대상 영역의 타입에 따라 상기 석션부가 상기 지면과 제2 각도를 유지하도록 상기 제2 와이어를 제2 방향으로 와인딩하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 와이어를 제1 방향으로 와인딩하는 단계는,
    상기 청소 대상 영역에 인접한 오브젝트가 이동 가능한 오브젝트로 식별되면, 상기 석션부가 상기 오브젝트에 접촉되도록 상기 제1 와이어를 상기 제1 방향으로 와인딩하며,
    상기 제어 방법은,
    상기 석션부가 상기 오브젝트에 접촉되면, 상기 플레이트를 일 방향으로 회전시키는 단계;를 더 포함하는, 제어 방법.
  14. 제12항에 있어서,
    상기 오브젝트가 이동 불가능한 오브젝트인 것으로 식별되면, 상기 오브젝트의 이동을 요청하는 가이드 UI(User Interface)를 제공하는 단계;를 더 포함하는, 제어 방법.
  15. 제12항에 있어서,
    상기 제1 와이어를 제1 방향으로 와인딩하는 단계는,
    상기 청소 대상 영역이 특정 타입이면, 상기 제1 와이어를 상기 제1 방향으로 와인딩하고,
    상기 제2 와이어를 제2 방향으로 와인딩하는 단계는,
    상기 청소 대상 영역이 상기 특정 타입 외의 타입이면, 상기 제2 와이어를 상기 제2 방향으로 와인딩하는, 제어 방법.
PCT/KR2023/006041 2022-06-16 2023-05-03 로봇 및 그 제어 방법 WO2023243859A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220073793A KR20230173277A (ko) 2022-06-16 2022-06-16 로봇 및 그 제어 방법
KR10-2022-0073793 2022-06-16

Publications (1)

Publication Number Publication Date
WO2023243859A1 true WO2023243859A1 (ko) 2023-12-21

Family

ID=89191449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/006041 WO2023243859A1 (ko) 2022-06-16 2023-05-03 로봇 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230173277A (ko)
WO (1) WO2023243859A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140070250A (ko) * 2012-11-30 2014-06-10 삼성테크윈 주식회사 로봇 청소기
US20190246858A1 (en) * 2018-02-13 2019-08-15 Nir Karasikov Cleaning robot with arm and tool receptacles
KR20200119418A (ko) * 2019-03-29 2020-10-20 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
KR20210040613A (ko) * 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
KR20220059741A (ko) * 2020-11-03 2022-05-10 삼성전자주식회사 로봇 암 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140070250A (ko) * 2012-11-30 2014-06-10 삼성테크윈 주식회사 로봇 청소기
US20190246858A1 (en) * 2018-02-13 2019-08-15 Nir Karasikov Cleaning robot with arm and tool receptacles
KR20200119418A (ko) * 2019-03-29 2020-10-20 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
KR20210040613A (ko) * 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
KR20220059741A (ko) * 2020-11-03 2022-05-10 삼성전자주식회사 로봇 암 장치

Also Published As

Publication number Publication date
KR20230173277A (ko) 2023-12-27

Similar Documents

Publication Publication Date Title
WO2019143040A1 (en) Device and method for assisting with driving of vehicle
US20220144110A1 (en) Systems and methods for retracting a charging cable of an electric vehicle charging station
US9191642B2 (en) Visual obstruction removal with image capture
WO2018070664A1 (ko) 공항용 보조 로봇 및 그의 동작 방법
WO2018070686A1 (ko) 공항용 안내 로봇 및 그의 동작 방법
WO2018128292A1 (ko) 공항용 로봇 및 그의 동작 방법
WO2018070663A1 (ko) 공항용 로봇 및 그의 동작 방법
KR102559745B1 (ko) 공항 로봇 및 그를 포함하는 공항 로봇 시스템
WO2004032086A1 (ja) ロボットシステムおよび自律走行ロボット
CN110146098A (zh) 一种机器人地图扩建方法、装置、控制设备和存储介质
WO2018066837A1 (ko) 공항 로봇 및 이를 포함하는 시스템
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2023243859A1 (ko) 로봇 및 그 제어 방법
CN104917957A (zh) 用于控制摄像机成像的设备及其系统
WO2022154153A1 (ko) 로봇 및 그 제어 방법
WO2021215668A1 (ko) 로봇 장치 및 그 제어 방법
WO2021201569A1 (ko) 강화학습 기반 신호 제어 장치 및 신호 제어 방법
CN114237225A (zh) 一种四足机器人及其智能巡检管理平台
WO2020230921A1 (ko) 레이저 패턴을 이용하여 이미지 내의 특징을 추출하는 방법 및 이를 적용한 식별장치와 로봇
WO2022098164A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022035054A1 (ko) 로봇 및 이의 제어 방법
CN113031588B (zh) 商场机器人导航系统
WO2022102967A1 (ko) 전자 장치 및 그 제어 방법
WO2023219253A1 (ko) 로봇 및 그 제어 방법
WO2024043552A1 (ko) 반려 객체 관리 로봇 및 그 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23824085

Country of ref document: EP

Kind code of ref document: A1