WO2020046038A1 - 로봇 및 그의 제어 방법 - Google Patents

로봇 및 그의 제어 방법 Download PDF

Info

Publication number
WO2020046038A1
WO2020046038A1 PCT/KR2019/011133 KR2019011133W WO2020046038A1 WO 2020046038 A1 WO2020046038 A1 WO 2020046038A1 KR 2019011133 W KR2019011133 W KR 2019011133W WO 2020046038 A1 WO2020046038 A1 WO 2020046038A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
cleaning robot
robot
information
obstacle
Prior art date
Application number
PCT/KR2019/011133
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 EP19853500.7A priority Critical patent/EP3782771A4/en
Priority to US16/973,354 priority patent/US20210213619A1/en
Publication of WO2020046038A1 publication Critical patent/WO2020046038A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • 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/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
    • 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/2857User input or output elements for control, e.g. buttons, switches or displays
    • 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/2894Details related to signal transmission in suction cleaners
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/243Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • G05D1/622Obstacle avoidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/648Performing a task within a working area or space, e.g. cleaning
    • G05D1/6484Performing a task within a working area or space, e.g. cleaning by taking into account parameters or characteristics of the working area or space, e.g. size or shape
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • 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
    • 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
    • B25J19/023Optical sensing devices including video camera means
    • 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

Definitions

  • the present invention relates to a robot and a control method thereof, and more particularly, to a robot and a control method thereof capable of providing an efficient and safe movement path by identifying surrounding obstacles and structures using the front image of the robot.
  • the conventional cleaning robot performed the avoiding driving only with information on the presence of obstacles and structures in the near distance due to the limited sensor combination and the sensing range.
  • the conventional cleaning robot does not perform efficient cleaning utilizing a wide cleaning area, the user of the cleaning robot may feel frustrated by seeing the cleaning robot moving differently from the intention.
  • the conventional cleaning robot performs the cleaning without distinguishing the structure from the surrounding obstacles, the obstacles are close to each other until they are detected by the near field sensor like the structures. Accordingly, there has been a problem of being damaged by the cleaning robot in the case of sensitive obstacles.
  • the present disclosure is in accordance with the necessity described above, an object of the present disclosure, by using the front camera image of the cleaning robot to distinguish the surrounding obstacles and the structure, to accurately grasp information on the movable area to provide a smooth service to the user
  • the present invention provides a cleaning robot and a control method thereof.
  • Control method of the cleaning robot according to an embodiment of the present disclosure for providing the above-mentioned service is the step of photographing the image; Obtaining a first image obtained by dividing a bottom surface from the image; Recognizing an obstacle included in the image by using the learned first artificial intelligence model; Acquiring and storing a second image for cleaning by the cleaning robot based on information about the first image and a region including the recognized obstacle; And moving the cleaning robot based on the second image.
  • the control method may further include obtaining moving state information and shooting direction information of the cleaning robot that captures an image.
  • the storing may include: storing the moving state information and the direction information in the second direction. And storing the image together with the image.
  • the control method may further include determining a distance between the cleaning robot and a wall surface using the second image and the movement state information.
  • the control method may further include determining a moving speed of the cleaning robot based on the distance to the wall surface.
  • the control method may further include generating a navigation map for the movable area of the cleaning robot using the second image stored together with the movement state information and the photographing direction information.
  • the control method may further include determining a location of a cleaning robot and establishing a movement plan by using the second image stored together with the navigation map and the photographing direction information.
  • the acquiring of the first image may include acquiring a first image by using a second artificial intelligence model trained to detect a floor area in the image.
  • the size of the area including the obstacle may vary according to the type of the obstacle recognized through the first artificial intelligence model.
  • Cleaning robot for providing the above service, the camera; A drive unit; Memory; And controlling the camera to capture an image, obtaining a first image obtained by dividing a bottom surface from the image, recognizing an obstacle included in the image by using a learned first AI model, and receiving the first image. And a second image for the cleaning robot to perform the cleaning based on the information on the region including the recognized obstacle, and store the second image in the memory, and move the cleaning robot based on the second image. It may include a processor for controlling the driver.
  • the cleaning robot may further include a sensor.
  • the cleaning robot may obtain the moving state information and the direction information.
  • the memory may be stored together with the second image.
  • the processor may determine a distance between the cleaning robot and a wall surface using the second image and the movement state information.
  • the processor may determine a moving speed of the cleaning robot based on the distance to the wall.
  • the processor may generate a navigation map of the movable area of the cleaning robot using the second image stored together with the movement state information and the photographing direction information, and store the navigation map in the memory.
  • the processor may determine the position of the cleaning robot and establish a movement plan by using the second image stored together with the navigation map and the photographing direction information.
  • the processor may acquire the first image by using the second artificial intelligence model trained to detect the bottom region in the image.
  • the processor may change the size of the area including the obstacle according to the type of the obstacle recognized through the first artificial intelligence model.
  • the cleaning robot can accurately identify obstacles and structures, and provide an efficient service using a wide space.
  • FIG. 1 is a diagram illustrating an electronic system according to an exemplary embodiment.
  • FIG. 2 is a detailed block diagram illustrating a configuration of a cleaning robot according to an embodiment of the present disclosure.
  • FIG. 3 is a flowchart illustrating a method of analyzing an image photographed by a cleaning robot to determine a moving direction, according to an exemplary embodiment.
  • 4A and 4B are diagrams for describing obtaining a floor split image from an image captured by a cleaning robot, according to an exemplary embodiment.
  • 5A to 5C are diagrams for describing obtaining information about an obstacle from an image photographed by a cleaning robot according to an embodiment of the present disclosure.
  • 6A and 6B are diagrams for describing obtaining a depth map image from an image acquired by a cleaning robot, according to an exemplary embodiment.
  • FIGS. 7A and 7B are diagrams for describing a method of estimating a distance to a wall surface through an image acquired by a cleaning robot, according to an exemplary embodiment.
  • FIGS. 8A and 8B are diagrams for explaining that the cleaning robot moves efficiently to perform a task according to one embodiment of the present disclosure.
  • 9A and 9B illustrate a cleaning robot generating a navigation map for a space in which a task is to be performed.
  • FIG. 10 is a diagram illustrating a cleaning robot using a navigation map to establish a movement plan for performing a cleaning task.
  • 11A and 11B are block diagrams illustrating a learner and a recognizer, according to various embodiments.
  • FIG. 12 is a diagram illustrating an example in which the cleaning robot 100 and the server 200 learn and recognize data by interworking with each other according to an embodiment of the present disclosure.
  • FIG. 13 is a flowchart of a network system using a recognition model according to an embodiment of the present disclosure.
  • FIG. 14 is a flowchart illustrating an example in which a cleaning robot according to an embodiment of the present disclosure provides a search result for a first area by using a recognition model.
  • 15 is a flowchart of a system using a recognition model according to an embodiment of the present disclosure.
  • first and second may modify various components in any order and / or importance, and may distinguish one component from another. Used only and do not limit the components.
  • the first user device and the second user device may represent different user devices regardless of the order or importance.
  • a first component may be named a second component, and similarly, the second component may be renamed to a first component.
  • One component (such as a first component) is "(functionally or communicatively) coupled with / to" to another component (such as a second component) or " When referred to as “connected to,” it is to be understood that any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
  • a component e.g., a first component
  • another component e.g., a second component
  • the cleaning robot 100 moves by itself and provides a cleaning service to a user, and may be implemented as various types of electronic devices.
  • the cleaning robot 100 may be implemented in various forms such as a cylindrical shape, a rectangular parallelepiped shape for various purposes, such as a household cleaning robot, a large building cleaning robot, an airport cleaning robot.
  • the cleaning robot 100 may not only perform a task of simply removing foreign substances on the floor, but may also perform a task of moving an object according to a user's command.
  • the driving unit 110 may drive the cleaning robot 100.
  • the driving unit 110 may move the cleaning robot 100 to a position to perform a task under the control of the processor 140.
  • the drive unit 110 may include at least one wheel in contact with the bottom surface, a motor for powering the wheel and a driver to control the motor.
  • the driver 110 may implement an operation for performing a task.
  • the driving unit 110 may include a motor for performing an operation such as picking up an object.
  • the camera 120 is a component for photographing the surrounding image of the cleaning robot 100 in various directions.
  • the camera 120 may photograph the front image of the cleaning robot 100 or may photograph an image in a direction different from the driving direction.
  • the camera 120 may be configured to include a plurality of cameras.
  • the camera 120 may be installed both above and in front of the cleaning robot 100, or may be installed only in at least one of the above and the front.
  • the memory 130 may store the image photographed by the camera 120 and the movement state information and the photographing direction information of the cleaning robot 100 at the time of photographing. In addition, the memory 130 may store navigation map information on a place for the cleaning robot 100 to perform a task. This is only an example, and the memory 130 may store various programs necessary for operating the cleaning robot 100.
  • the memory 130 may store a plurality of application programs or applications that are driven by the cleaning robot 100, data for operating the cleaning robot 100, and instructions. At least some of these applications may be downloaded from an external server through wireless communication. In addition, at least some of these application programs may exist on the cleaning robot 100 from the time of shipment for the basic function of the cleaning robot 100.
  • the application program may be stored in the memory 130 and may be driven by the processor 140 to perform an operation (or a function) of the cleaning robot 100.
  • the memory 130 may be implemented as a nonvolatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the memory 130 may be accessed by the processor 140 and read / write / modify / delete / update of data by the processor 140.
  • the term memory refers to memory 130, a ROM (not shown) in the processor 140, a RAM (not shown), or a memory card (not shown) mounted to the cleaning robot 100 (eg, micro SD). Card, memory stick).
  • the processor 140 may control the overall configuration of the cleaning robot 100. For example, the processor 140 may control the camera 120 to capture an image around the cleaning robot 100. The processor 140 may generate a first image in which the bottom surface is characteristically divided from the captured image. In this case, the processor 140 may use an image segmentation technique to divide the bottom surface. This will be described later in detail.
  • the processor 140 may recognize the obstacle included in the image through the first artificial intelligence model trained to recognize an object such as an obstacle. That is, the processor 140 may input an image including an obstacle into the first artificial intelligence model and obtain an output result including information about the obstacle type. The processor 140 may determine different sizes of the prohibition area according to the type of obstacle. In this case, the access prohibition area is an area including an obstacle, and means an area that the cleaning robot 100 does not approach when performing the cleaning task.
  • the first AI model may be learned and stored in the memory 130 or may be stored in an external server. This will be described later in detail. Hereinafter, an embodiment in which the first artificial intelligence model is stored in the cleaning robot 100 will be described.
  • the processor 140 may generate a second image that overlaps the prohibition area for the recognized obstacle and the first image.
  • the processor 140 may recognize positions of structures and obstacles around the cleaning robot 100 based on the information included in the second image, and determine the direction and speed at which the cleaning robot 100 will move.
  • the processor 140 may control the driving unit 110 to move the cleaning robot 100 according to the determined movement direction and speed.
  • the processor 140 may include a CPU, a RAM, a ROM, and a system bus.
  • the ROM is a configuration in which a command set for system booting is stored, and the CPU copies the operating system stored in the memory of the cleaning robot 100 to RAM according to the instructions stored in the ROM, and executes O / S to boot the system. .
  • the CPU may copy and execute various applications stored in the memory 130 to RAM and perform various operations.
  • the processor 140 has been described as including only one CPU, the processor 140 may be implemented by a plurality of CPUs (or DSPs, SoCs, etc.).
  • the processor 140 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital signals.
  • DSP digital signal processor
  • TCON time controller
  • the present invention is not limited thereto, and may include a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), or a communication processor (
  • the processor 140 may include one or more of a communication processor (CP), an ARM processor, or may be defined in the corresponding terms. ) Or may be implemented in the form of a field programmable gate array (FPGA).
  • CP communication processor
  • ARM ARM processor
  • the cleaning robot 100 includes a driving unit 110, a camera 120, a memory 130, a communication unit 150, a dust collecting unit 160, a sensor 170, a power supply unit 180, and the above-described configuration. It may include a processor 140 for controlling. Since the driver 110, the camera 120, the memory 130, and the processor 140 have already been described, overlapping descriptions thereof will be omitted.
  • the communicator 150 may transmit / receive data, a control command, and the like with an external device.
  • the communicator 150 may receive global map information including location information about a space where the cleaning robot 100 will operate from an external device.
  • the communication unit 150 may transmit information for updating the global map information to the external device.
  • the communication unit 150 may receive a signal for controlling the cleaning robot 100 transmitted by the user using a remote control device.
  • the remote control device may be implemented in various forms such as a remote control, a mobile device.
  • the communication unit 150 may transmit and receive data with an external server (not shown).
  • the communication unit 150 may transmit an image captured by the camera 120 to the external server, and may be recognized using the artificial intelligence model stored in the external server. Information about the obstacle may be received. This is only an embodiment, and the communication unit 150 may receive information on a movable area of a space where the cleaning robot 100 will perform a task from an external server.
  • the communication unit 150 may use various methods such as Near Field Communication (NFC), Wireless LAN (InfraRed), InfraRed (IR) Communication, Zigbee Communication, WiFi, and Bluetooth.
  • NFC Near Field Communication
  • Wireless LAN InfraRed
  • IR InfraRed
  • Zigbee Communication Zigbee Communication
  • WiFi Wireless Fidelity
  • Bluetooth Bluetooth
  • Dust collector 160 is a configuration for collecting dust.
  • the dust collecting unit 160 may suck air and collect dust in the sucked air.
  • the dust collecting unit 160 may include a motor for passing air through a guide pipe extending from the inlet to the outlet, a filter for filtering dust in the sucked air, and a dust container for filtering the dust.
  • the sensor 170 may include various kinds of sensors. Specifically, the sensor 170 may include a sensor for detecting a surrounding environment such as a dust sensor, an odor sensor, a laser sensor, a UWB sensor, an image sensor, an obstacle sensor, and a sensor for detecting a moving state such as a gyro sensor or a GPS sensor. Can be. At this time, the sensor for detecting the surrounding and the sensor for detecting the moving state of the cleaning robot may be implemented in a different configuration, or may be implemented in one configuration. In addition, each sensor of the sensor 170 may be implemented in a separate configuration. The sensor 170 may further include various types of sensors, and may not include some of the sensors shown according to a task to be performed by the cleaning robot 100.
  • the dust sensor and the odor sensor may be used to detect the degree of contamination of the environment around the cleaning robot 100.
  • the dust sensor may detect dust concentration around the cleaning robot 100.
  • the dust sensor may detect the concentration of dust sucked from the dust collector 160.
  • Dust sensors can detect dust concentrations using scattered light from dust particles.
  • odor sensors can detect specific odors.
  • odor sensors detect contaminants such as pet excrement.
  • Odor sensors can detect specific odors through changes in electrical resistance due to contact with odor molecules.
  • the laser sensor may detect the complexity of the environment around the cleaning robot 100.
  • the laser sensor may emit a laser beam in all directions to detect whether an object exists around the cleaning robot 100.
  • the complexity will be evaluated when furniture such as a chair is arranged around the cleaning robot 100, and the complexity will be low when there is no object around the cleaning robot 100.
  • UWB sensor can measure the distance by using the time (Time of Flight) when transmitting and receiving radio waves.
  • UWB sensors can measure distances with high accuracy using ultra wide band signal characteristics.
  • by arranging a plurality of UWB sensors in the cleaning robot 100 it is possible to grasp the direction of where the UWB tag is located. For example, when using a UWB sensor, since the location of the UWB tag can be tracked, even if the location of the charging station with the UWB tag is changed, the cleaning robot 100 can find and return to the exact location of the charging station. Can be.
  • the obstacle sensor may detect an obstacle that prevents the movement of the cleaning robot 100.
  • the obstacle sensor may include a non-contact detection sensor and a contact collision / bumper sensor that can identify walls, gaps, columns, thresholds, mounds, and the like, which the cleaning robot 100 cannot pass through.
  • the gyro sensor is a sensor used for position measurement and direction setting as a concept using a dynamic movement of the rotating cleaning robot 100.
  • Gyro sensors measure angular velocity unlike acceleration sensors that measure acceleration.
  • Gyroscopes measure the angular velocity.
  • a chip-type gyro sensor with MEMS technology can also measure angular velocity.
  • the power supply unit 180 supplies power required for driving the cleaning robot 100.
  • the power supply unit 180 may be implemented as a battery capable of charging and discharging.
  • the processor 140 may control the driving unit 110 to move to the charging station when the remaining power of the cleaning robot 100 falls below a predetermined level or when the task is completed.
  • the charging method of the power supply unit 180 may be both contact and non-contact charging.
  • FIG. 3 is a flowchart illustrating a method of analyzing an image photographed by a cleaning robot to determine a moving direction, according to an exemplary embodiment.
  • the cleaning robot 100 may capture an image capturing the surrounding environment (S310).
  • the captured image may be an environment captured in the same direction as the direction in which the cleaning robot 100 moves, or may be an environment captured in a different direction from the moving direction.
  • the cleaning robot 100 may obtain a first image (floor split image) obtained by dividing the bottom surface from the captured image (S320).
  • the cleaning robot 100 may input the acquired image to the learned AI model to recognize the object, and may output information on the type of the obstacle as a result of recognizing the obstacle included in the image (S330).
  • the cleaning robot 100 may determine the size of the access prohibited area including the obstacle based on the information on the type of the obstacle.
  • the first artificial intelligence model may be a convolutional neural network (CNN), but this is only an example.
  • the first artificial intelligence model may be a typical adversarial network (GAN), deep neural network (DNN), recurrent neural network (RNN), or bidirectional recurrent deep (BRDNN).
  • GAN convolutional neural network
  • DNN deep neural network
  • RNN recurrent neural network
  • BBDNN bidirectional recurrent deep
  • Various neural networks such as Neural Network can be used.
  • the cleaning robot 100 may obtain a second image based on the information about the region (access prohibition region) including the first image and the recognized obstacle (S340). That is, the second image may be an image representing only an area where the cleaning robot 100 may perform a cleaning task.
  • the cleaning robot 100 may determine a moving speed and a moving direction based on the second image, and move to perform a cleaning task (S350).
  • 4A and 4B are diagrams for describing obtaining a floor split image from an image captured by a cleaning robot, according to an exemplary embodiment.
  • FIG. 4A is a photographed image of the front of the cleaning robot 100 through the camera 120. Thereafter, the cleaning robot 100 may acquire the bottom divided image 410 of FIG. 4B through scene segmentation of the acquired image 400.
  • image segmentation refers to a technique of classifying pixels as components of an image and finding a boundary of an object in the image to extract a desired object.
  • the object in order to know the shape and size of an object in an image, the object must be divided into two regions, an object and a background.
  • Objects play an important role in image interpretation and presentation.
  • the Moving Picture Experts Group (MPEG) -4 visual standard encodes images on a per-object basis. This technique is called object-based coding. If necessary, images can be reproduced or efficiently compressed using various editing techniques for objects such as combining, removing, and modifying objects.
  • the cleaning robot 100 may display an image such as brightness, edge information, or geometric information in the acquired image 400.
  • the homogeneous regions can be distinguished based on their characteristics.
  • the cleaning robot 100 may obtain the bottom surface area 420 by overlapping areas having similar characteristics among the divided areas, and may mask other areas.
  • the cleaning robot 100 may acquire a bottom segmented image as shown in FIG. 4B by using boundary value processing, region expansion, segmentation integration, watershed, and edge-based methods. have.
  • the cleaning robot 100 may classify the acquired image in units of frames, estimate the floor to be separated, and determine the positions of the windows corresponding to the floor. In addition, the cleaning robot 100 adjusts at least one of the size and spacing of the windows existing at the positions of the determined windows, and at the bottom surface as shown in FIG. Only 420 can be separated.
  • the cleaning robot 100 may acquire the floor split image by using the second artificial intelligence model trained to recognize the floor surface.
  • the second AI model may be stored in the cleaning robot 100 or may be stored in an external server.
  • the cleaning robot 100 may transmit information about the captured image to the external server through the communication unit 150, and the floor surface output from the second AI model. Information about the divided image may be received from an external server.
  • the second artificial intelligence model may be a convolutional neural network (CNN), but this is only an example.
  • the second artificial intelligence model may be a typical adversarial network (GAN), deep neural network (DNN), recurrent neural network (RNN), or bidirectional recurrent deep (BRDNN).
  • GAN typical adversarial network
  • DNN deep neural network
  • RNN recurrent neural network
  • BTDNN bidirectional recurrent deep
  • Various neural networks such as Neural Network can be used.
  • the cleaning robot 100 may separate only the bottom surface 420 from the image input through the second artificial intelligence model, as well as the image segmentation technique.
  • 5A to 5C are diagrams for describing obtaining information about an obstacle from an image photographed by a cleaning robot according to an embodiment of the present disclosure.
  • 5A is a photographed image 500 of the same direction as the moving direction of the cleaning robot 100 through the camera 120.
  • the captured image includes an obstacle 510 that is not a structure such as a wall surface.
  • the cleaning robot 100 may recognize the obstacle by inputting the image 500 acquired in the first artificial intelligence model, and may output information on the type of the obstacle.
  • the cleaning robot 100 may determine an access prohibited area including the obstacle, based on the recognized information about the obstacle.
  • the first AI model may include information that an obstacle is included in the input image, and the type of the included obstacle may be a vase. Information can be printed.
  • the cleaning robot 100 may determine the range of the prohibition area 520 when performing the cleaning task according to the recognized type of obstacle.
  • the cleaning robot 100 may differently output the range of the area 520 not to approach depending on the type of obstacle.
  • the cleaning robot 100 may determine an area corresponding to twice the width of the vase as an access prohibited area.
  • the cleaning robot 100 may determine that the area corresponding to 1.5 times the width of the doll does not approach the area. This is because the doll is relatively small even if the cleaning robot 100 approaches and cleans the risk of damage.
  • Data for setting an access prohibited area for each type of obstacle may be stored in the memory 130 or may be received from an external server through the communication unit 150.
  • the cleaning robot 100 may overlap and store an access prohibition area including a recognized obstacle with a floor split image obtained through image segmentation.
  • the cleaning robot 100 may mask the access prohibition area 520 including the obstacle.
  • the cleaning robot 100 may obtain an image 540 in which the masked area 530 overlaps the bottom divided image.
  • the cleaning robot 100 may set a movement path for performing a task based on the overlapping image 540. This will be described later in detail.
  • 6A and 6B are diagrams for describing obtaining a depth map image from an image acquired by a cleaning robot, according to an exemplary embodiment.
  • the cleaning robot 100 may obtain a split bottom image from an image acquired to set a movement path, but may also obtain a depth map of the image as shown in FIG. 6A. have.
  • the cleaning robot 100 may estimate the distance to the wall surface through the depth map image of the acquired image.
  • the cleaning robot 100 may overlap the depth prohibition area 610 and the prohibition area 610 including the recognized obstacle as described above. According to another embodiment, the cleaning robot 100 may overlap and store the acquired depth map together with the portion 620 that divides the bottom surface and the access prohibited area 610.
  • the cleaning robot 100 may obtain more accurate structure information based on information including depth information of the surrounding environment, and plan the path of the cleaning robot 100 more safely.
  • FIGS. 7A and 7B are diagrams for describing a method of estimating a distance to a wall surface through an image acquired by a cleaning robot, according to an exemplary embodiment.
  • the cleaning robot 100 may acquire an image of the surroundings of the cleaning robot 100 as shown in FIGS. 4 and 5.
  • FIG. 7A illustrates that the cleaning robot 100 acquires an image for performing a task after the cleaning robot 100 is located at a task execution place not previously stored in the memory 130.
  • the cleaning robot 100 may obtain a first image corresponding to a range corresponding to the angle of view 121 of the camera 120.
  • the acquired image may be an image corresponding to the front of the cleaning robot 100 based on the driving direction 700 of the cleaning robot 100.
  • the cleaning robot 100 may move in the driving direction 700 to perform a task.
  • the cleaning robot 100 may acquire the first image in the stopped state, or may acquire the first image while moving.
  • the cleaning robot 100 may obtain information about the movement state of the cleaning robot 100 moving from the first position to the second position through the sensor 170.
  • the information about the movement state may include information about the movement direction and the movement speed of the cleaning robot 100.
  • the cleaning robot 100 may store information about the movement state of the cleaning robot 100 when the first image is acquired in the memory 130.
  • the cleaning robot 100 may obtain information about the moving state of the cleaning robot 100 while moving in the driving direction (700).
  • the cleaning robot 100 may acquire the second image at the second position as shown in FIG. 7B at a predetermined time interval after acquiring the first image.
  • the cleaning robot 100 may obtain information about the movement state of the cleaning robot 100 when the second image is obtained, and store the information in the memory 130 together with the second image.
  • the cleaning robot 100 may estimate the distance between the cleaning robot and the wall based on the first image, the second image, and the information about the movement state of the cleaning robot 100. For example, the cleaning robot 100 may obtain floor split images (first floor split image and second floor split image) for the first image and the second image. The cleaning robot 100 may calculate the moving distance based on the information about the moving speed from the acquisition of the first image to the acquisition of the second image. The cleaning robot 100 may calculate a distance to the wall based on the difference between the first floor split image (not shown) and the second floor split image (not shown) and the moving distance of the cleaning robot 100. .
  • the cleaning robot 100 may calculate the distance to the wall surface included in the acquired image and then set the moving direction and the moving speed of the cleaning robot 100. This will be described with reference to FIGS. 8A and 8B.
  • FIGS. 8A and 8B are diagrams for explaining that the cleaning robot moves efficiently to perform a task according to one embodiment of the present disclosure.
  • the cleaning robot 100 using the conventional short-range sensor changes the direction of movement after the cleaning robot 100 approaches the first wall surface 800-1, and the second wall surface 800. -2) and travel through the first path 820 again changing the direction of movement.
  • the cleaning robot 100 of the present disclosure may calculate the distance to the wall surface and set the moving speed and the moving direction of the cleaning robot.
  • the cleaning robot 100 may move to the second path 821 that reaches the large space 820 in the image based on the distance between the first wall surface 800-1 and the second wall surface 800-2.
  • the corresponding movement direction can be determined.
  • the cleaning robot 100 includes 1) a distance to the cleaning robot 100 and the first wall surface 800-1 and a distance to the second wall surface 800-2, and 2) a cleaning robot 100 and The moving direction may be determined using an angle formed between the first wall surface 800-1 and the second wall surface 800-2. More specifically, the cleaning robot 100 has a path in which the distance to the cleaning robot 100 and the first wall surface 800-1 and the distance to the cleaning robot 100 and the second wall surface 800-2 are equal to each other. It may be determined, and the direction toward the corresponding path may be determined as the moving direction of the cleaning robot 100.
  • the cleaning robot 100 may determine the moving speed of the cleaning robot 100 moving in the determined direction to reach the large space 820 in the image.
  • the cleaning robot 100 may obtain information about the distance to the third wall surface 800-3 included in the image.
  • the cleaning robot 100 may acquire an image of the front at a predetermined time interval during movement, and calculate a distance to each wall based on the movement state information of the cleaning robot 100 whenever an image is acquired. . More specifically, the cleaning robot 100 may move until the distance between at least one of the distances between the cleaning robot 100 and the first, second, and third wall surfaces reaches a predetermined first distance while moving through the second path. Can move at 1 speed. When at least one of the distances between the cleaning robot 100 and the first, second, and third wall surfaces is smaller than the predetermined first distance, the cleaning robot 100 may move at a second speed smaller than the first speed. . In addition, the cleaning robot 100 may stop movement when at least one of the distances to the first, second, and third wall surfaces is smaller than the predetermined second distance.
  • the cleaning robot 100 has described the first and second predetermined distances for changing the speed, but this is only an example, and it is possible to provide two or more predetermined distances to provide continuous speed control. Can be.
  • the cleaning robot 100 may recognize the obstacle 840 through the first artificial intelligence model, and the obstacle 840
  • the area 841 may not be determined according to the type of).
  • the cleaning robot 100 may recognize the area 841 not to be approached as a structure such as a wall surface.
  • the cleaning robot 100 efficiently moves to the large space 810 based on at least one of the distance to the first, second, and third wall surfaces, and the distance to the area 841.
  • the movement direction corresponding to 830 may be determined.
  • the cleaning robot 100 may include 1) a distance to the cleaning robot 100 and the first wall surface 800-1 and a distance to an access prohibited area 841, and 2) a cleaning robot 100 and a second wall surface. 3) the moving direction using the distance between the 800-2 and the third wall surface 800-3, and the angle between the cleaning robot 100, the first wall surface 800-1, and the restraining area 841, or the like. Can be judged. More specifically, the cleaning robot 100 determines a path at which the distance to the cleaning robot 100 and the first wall surface 800-1 and the distance to the cleaning robot 100 and the access prohibited area 841 are equal to each other. The direction toward the corresponding path may be determined as the moving direction of the cleaning robot 100.
  • the cleaning robot 100 detects that an angle forming the movement direction of the access prohibition area 841 and the cleaning robot 100 exceeds 90 degrees, the cleaning robot 100 and the second wall surface 800-2 are detected.
  • the path to which the distance to and the distance to the third wall surface 800-3 may be equal may be determined, and the direction toward the corresponding path may be determined as the moving direction of the cleaning robot 100.
  • the cleaning robot 100 may set a moving speed based on at least one of a distance to the first, second, and third wall surfaces, and a distance to the area 841.
  • a moving speed based on at least one of a distance to the first, second, and third wall surfaces, and a distance to the area 841.
  • the vehicle may move at a first speed until it reaches within a predetermined first distance.
  • the cleaning robot 100 is at a first speed.
  • the cleaning robot 100 may stop movement when at least one of the distance to the first, second, and third wall surfaces and the distance to the area 841 is smaller than the preset second distance.
  • the cleaning robot 100 of the present disclosure unlike the conventional cleaning robot 100, in consideration of the position of the structure and the obstacle to move through a most efficient moving direction and speed to a large space to provide a cleaning service Can be. By doing so, the cleaning robot 100 moves first to a large space and then cleans an additional space, thereby providing an effective cleaning service such as cleaning by a person.
  • 9A and 9B illustrate a cleaning robot generating a navigation map for a space in which a task is to be performed.
  • the cleaning robot 100 may capture an image corresponding to the angle of view 121 of the camera 120.
  • the cleaning robot 100 may acquire the movement state information and the shooting direction information when the image was taken.
  • the cleaning robot 100 may move to perform a cleaning task, and may obtain respective floor split images based on the obtained plurality of images.
  • the cleaning robot 100 may acquire information on the photographing direction of each image and movement state information. It can be stored in memory along with floor split information. This is only an embodiment, and the cleaning robot 100 may overlap the area including the obstacle recognized by the artificial intelligence model with the floor split image, and overlap the overlapped image with respect to the recording direction of each image. It can be saved along with information and movement status information.
  • the area including the obstacle is an area that the cleaning robot 100 does not recognize as a structure and does not approach, and the size of the area may vary according to the type of the obstacle recognized through the artificial intelligence model.
  • the cleaning robot 100 performs a cleaning task based on the divided image of the bottom surface of the photographed image, an area including an obstacle, information on the photographing direction of each image, and information on the movement state of the cleaning robot 100 during image capturing. You can create a navigation map to perform.
  • the cleaning robot 100 may acquire the first floor split image at the first position, and may acquire the second floor split image at the second position while maintaining the photographing direction.
  • the first and second floor split images may include a first wall surface. The distance from the first and second positions to the first wall surface may be calculated based on the information about the movement state of the cleaning robot 100 moving from the first position to the second position of the cleaning robot 100.
  • the cleaning robot 100 may acquire the third floor split image after capturing the image with a different shooting direction at the second position, and divide the fourth floor surface at the third position while maintaining the shooting direction. An image can be obtained.
  • the third and fourth bottom surface split images may include a first wall surface and a second wall surface.
  • the cleaning robot 100 may calculate a distance from the second and third positions to the second wall surface based on the information about the movement state of the cleaning robot 100 moving from the second position to the third position.
  • the cleaning robot 100 has a first wall surface and a second wall surface based on a distance from the first position to the first wall surface, a distance from the second position to the first and second wall surfaces, and a distance from the third position to the second wall surface. This form can be judged.
  • the cleaning robot 100 may determine a structure such as a wall surface of a space for performing cleaning and the shape of an obstacle, and generate an entire navigation map for performing the cleaning task as shown in FIG. 9B. Can be.
  • the cleaning robot 100 may determine the location of the cleaning robot 100 through a navigation map when the location of the cleaning robot 100 is newly changed, such as being abducted by a user.
  • the cleaning robot 100 may photograph an image of a surrounding at a newly changed position, and may acquire information about a floor split image and a photographing direction of the photographed image.
  • the cleaning robot 100 may compare the plurality of floor split images and the shooting direction information used when generating the navigation map with the floor split images and the shooting direction information acquired at the new location. The location on the navigation map can be determined.
  • FIG. 10 is a diagram illustrating a cleaning robot using a navigation map to establish a movement plan for performing a cleaning task.
  • the cleaning robot 100 may establish a movement plan for performing the cleaning task.
  • the cleaning robot 100 may move to a wide space 1020, 1030, 1040 of a structure and perform a task efficiently.
  • the cleaning robot 100 may establish a movement plan based on the information about the area 1010 not to be accessed including the obstacle included when generating the navigation map.
  • the cleaning robot 100 may photograph the surrounding image through the camera 120 while moving according to the established movement plan.
  • the cleaning robot 100 may recognize an obstacle included in the image through an artificial intelligence model, and determine an area not to approach by determining the type of obstacle in real time.
  • the cleaning robot 100 may change the movement plan in real time based on the determined area including the obstacle.
  • the cleaning robot 100 may update the navigation map with information about areas not to be accessed including the determined obstacles.
  • 11A and 11B are block diagrams illustrating a learner and a recognizer, according to various embodiments.
  • the processor 1100 may include at least one of the learner 1110 and the recognizer 1120.
  • the processor 1100 of FIG. 11A may correspond to the processor 140 of the cleaning robot 100 of FIG. 2 or the processor of a data learning server (not shown).
  • the learner 1110 may generate or learn a recognition model having a criterion for determining a predetermined situation.
  • the learner 1110 may generate a recognition model having a criterion based on the collected training data.
  • the learner 1110 may generate, learn, or update an object recognition model having a criterion for determining which object is included in the image by using an image including the object as learning data.
  • the learner 1110 generates and learns an ambient information recognition model having a criterion for determining various additional information around an object included in an image, using the surrounding information included in the screen including the object as learning data. Or can be updated.
  • the learner 1110 may generate, learn, or update an obstacle recognition model having a criterion for determining an obstacle included in the image by using the image photographed by the camera as learning data.
  • the recognition unit 1120 may estimate the recognition target included in the predetermined data using the predetermined data as input data of the learned recognition model.
  • the recognizer 1120 obtains (or estimates or infers) object information about an object included in the object area using the object area (or image) including the object as input data of the learned recognition model. can do.
  • the recognizer 1120 may estimate (or determine or infer) a search category to provide a search result by applying object information to a learned recognition model.
  • a plurality of search results may be obtained according to priority.
  • At least a part of the learner 1110 and at least a part of the recognizer 1120 may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • at least one of the learner 1110 and the recognizer 1120 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general purpose processor (eg, a CPU or an application). It may be manufactured as a part of a processor or a graphics dedicated processor (eg, a GPU) and mounted on the cleaning robot 100 described above.
  • AI artificial intelligence
  • a graphics dedicated processor eg, a GPU
  • the dedicated hardware chip for artificial intelligence is a dedicated processor specialized in probability calculation, and has a higher parallel processing performance than a conventional general-purpose processor, so that a computational task in an artificial intelligence field such as machine learning can be processed quickly.
  • the software module may be a computer readable non-transitory readable recording medium. transitory computer readable media).
  • the software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the software modules may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • the learner 1110 and the recognizer 1120 may be mounted on one electronic device or may be mounted on separate electronic devices, respectively.
  • one of the learner 1210 and the recognizer 1220 may be included in the cleaning robot 100, and the other may be included in an external server.
  • the learner 1110 and the recognizer 1120 may provide the model information constructed by the learner 1110 to the recognizer 1120 through a wired or wireless connection, or may be input to the recognizer 1120. The data may be provided to the learner 1110 as additional learning data.
  • 11B is a block diagram of the learner 1110 and the recognizer 1120, according to various embodiments.
  • the learner 1110 may include a training data acquirer 1110-1 and a model learner 1110-4.
  • the learner 1110 may further include at least one of the training data preprocessor 1110-2, the training data selector 1110-3, and the model evaluator 1110-5.
  • the training data acquisition unit 1110-1 may acquire training data necessary for a recognition model for inferring a recognition target.
  • the training data acquisition unit 1110-1 may acquire an entire image including an object, an image corresponding to an object region, and object information as training data.
  • the training data may be data collected or tested by the learner 1110 or the manufacturer of the learner 1110.
  • the model learner 1110-4 may train the recognition model to have a criterion regarding how the recognition model determines a predetermined recognition object by using the training data. For example, the model learner 1110-4 may train the recognition model through supervised learning using at least some of the training data as a criterion. Alternatively, the model learning unit 1110-4 may learn by using unsupervised learning data, for example, through unsupervised learning that finds a criterion for determining a situation. Can learn. In addition, the model learner 1110-4 may train the recognition model, for example, through reinforcement learning using feedback on whether the result of the situation determination according to the learning is correct. In addition, the model learner 1110-4 may train the recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method.
  • model learner 1110-4 may learn a selection criterion about what training data should be used to estimate a recognition object using the input data.
  • the model learner 1110-4 may determine, as a recognition model to learn, a recognition model having a large relation between the input training data and the basic training data.
  • the basic training data may be previously classified according to the type of data, and the recognition model may be pre-built for each type of data.
  • the basic training data may be based on various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, and the types of objects in the training data. It may be.
  • the model learner 1110-4 may store the learned recognition model.
  • the model learner 1110-4 may store the learned recognition model in the memory 130 of the cleaning robot 100.
  • the model learner 1110-4 may store the learned recognition model in a memory of a server connected to the cleaning robot 100 through a wired or wireless network.
  • the learner 1110 uses the training data preprocessor 1110-2 and the training data selection unit 1110-3 to improve analysis results of the recognition model or to save resources or time required for generating the recognition model. It may further include.
  • the training data preprocessor 1110-2 may preprocess the acquired data so that the data acquired for learning for situation determination may be used.
  • the training data preprocessor 1110-2 may process the acquired data into a preset format so that the model learner 1110-4 can use the acquired data for learning for situation determination.
  • the training data selector 1110-3 may select data necessary for learning from data acquired by the training data acquirer 1110-1 or data preprocessed by the training data preprocessor 1110-2.
  • the selected training data may be provided to the model learner 1110-4.
  • the training data selector 1110-3 may select the training data necessary for learning from the acquired or preprocessed data according to a predetermined selection criterion.
  • the training data selector 1110-3 may select the training data according to a predetermined selection criterion by learning by the model learner 1110-4.
  • the learner 1110 may further include a model evaluator 1110-5 to improve an analysis result of the data recognition model.
  • the model evaluator 1110-5 may input the evaluation data into the recognition model, and cause the model learner 1110-4 to relearn when the analysis result output from the evaluation data does not satisfy a predetermined criterion.
  • the evaluation data may be predefined data for evaluating the recognition model.
  • the model evaluator 1110-5 satisfies a predetermined criterion when the number or ratio of the evaluation data whose analysis results are not accurate among the analysis results of the learned recognition model for the evaluation data exceeds a preset threshold. You can evaluate it as not.
  • the model evaluator 1110-5 evaluates whether each learned recognition model satisfies a predetermined criterion, and determines a model satisfying the predetermined criterion as a final recognition model. Can be. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 1110-5 may determine any one or a predetermined number of models that are set in the order of the highest evaluation score as the final recognition model.
  • the recognizer 1120 may include a recognition data acquirer 1120-1 and a recognition result provider 1120-4.
  • the recognition unit 1120 may further include at least one of the recognition data preprocessor 1120-2, the recognition data selection unit 1120-3, and the model updater 1120-5.
  • the recognition data acquisition unit 1120-1 may acquire data necessary for determining a situation.
  • the recognition result providing unit 1120-4 may determine the situation by applying the data acquired by the recognition data obtaining unit 1120-1 to the recognition model learned as an input value.
  • the recognition result providing unit 1120-4 may provide an analysis result according to the analysis purpose of the data.
  • the recognition result providing unit 1120-4 may acquire the analysis result by applying the data selected by the recognition data preprocessor 1120-2 or the recognition data selection unit 1120-3 to be described later as an input value to the recognition model. have.
  • the analysis result can be determined by the recognition model.
  • the recognition result providing unit 1120-4 acquires object information corresponding to the object area by applying the learned recognition model to the object area including the object acquired by the recognition data obtaining unit 1120-1 ( Or estimated).
  • the recognition result providing unit 1120-4 may apply the at least one of the object area, the object information, and the context information acquired by the recognition data obtaining unit 1120-1 to the learned recognition model to provide a search result. Obtain (or estimate) a search category to be performed
  • the recognition unit 1120 may use the recognition data preprocessor 1120-2 and the recognition data selection unit 1120-3 to improve analysis results of the recognition model or to save resources or time for providing the analysis results. It may further include.
  • the recognition data preprocessor 1120-2 may preprocess the acquired data so that the obtained data may be used for the situation determination.
  • the recognition data preprocessor 1120-2 may process the acquired data into a predefined format so that the recognition result providing unit 1120-4 can use the data obtained for the situation determination.
  • the recognition data selector 1120-3 may select data necessary for situation determination from data acquired by the recognition data acquirer 1120-1 or data preprocessed by the recognition data preprocessor 1120-2. The selected data may be provided to the recognition result provider 1120-4. The recognition data selector 1120-3 may select some or all of the acquired or preprocessed data according to preset selection criteria for determining a situation. In addition, the recognition data selector 1120-3 may select data according to a predetermined selection criterion by learning by the model learner 1110-4.
  • the model updater 1120-5 may control the recognition model to be updated based on the evaluation of the analysis result provided by the recognition result provider 1120-4. For example, the model updater 1120-5 provides the analysis result provided by the recognition result provider 1120-4 to the model learner 1110-4 so that the model learner 1110-4 can be used. You can request to learn or update your recognition model.
  • FIG. 12 is a diagram illustrating an example in which the cleaning robot 100 and the server 200 learn and recognize data by interworking with each other, according to an exemplary embodiment.
  • the server 200 may learn a criterion for determining a situation, and the cleaning robot 100 may determine a situation based on a learning result by the server 200.
  • the model learner 1110-4 of the server 200 may perform a function of the learner 1110 illustrated in FIG. 11B.
  • the model learner 1110-4 of the server 200 may learn a criterion about which object image, object information or context information is used to determine a predetermined situation, and how to determine the situation using the data. Can be.
  • the recognition result providing unit 1120-4 of the cleaning robot 100 may apply the data selected by the recognition data selection unit 1120-3 to the recognition model generated by the server 200 to search for object information or a search category. Can be determined.
  • the recognition result providing unit 1120-4 of the cleaning robot 100 may receive the recognition model generated by the server 200 from the server 200, and determine the situation using the received recognition model. .
  • the recognition result providing unit 1120-4 of the cleaning robot 100 applies the object image selected by the recognition data selecting unit 1120-3 to the recognition model received from the server 200, and applies the object image to the object image.
  • Corresponding object information may be determined.
  • the recognition result providing unit 1120-4 may determine a search category for obtaining a search result by using at least one of the context information and the context recognition information.
  • FIG. 13 is a flowchart of a network system using a recognition model according to an embodiment of the present disclosure.
  • the first component 1301 may be the electronic device A
  • the second component 1302 may be the server 200 in which the recognition model is stored.
  • the first component 1301 may be a general purpose processor
  • the second component 1302 may be an artificial intelligence dedicated processor.
  • the first component 1301 may be at least one application
  • the second component 1302 may be an operating system (OS). That is, the second component 1302 is more integrated, dedicated, delayed, superior in performance, or has more resources than the first component 1301.
  • OS operating system
  • Many operations required in generation, update, or application may be a component that can process more quickly and effectively than the first component 1301.
  • the first component 1301 may generate a captured image by photographing a surrounding environment including an object in operation 1311.
  • the first component 1301 can transmit the captured image to the second component 1302 (1312).
  • the first component 1301 may transmit information about the object region corresponding to the selected object together with the captured image.
  • the second component 1302 can separate the received captured image into an object region and a peripheral region (1313).
  • the second component 1302 may separate the object region and the peripheral region based on the received information about the object region.
  • the second component 1302 may obtain the object information and the additional information about the object by inputting the separated object area and the surrounding area as a recognition model (1314).
  • the second component 1302 may obtain the object information by inputting the object region into the object recognition model, and may obtain additional information about the object by inputting the peripheral region into the surrounding information recognition model.
  • the second component 1302 may determine the search category and the priority of the search category based on the object information and the additional information about the object.
  • the second component 1302 may obtain a result associated with the object using the obtained object information and the additional information (1315).
  • the second component 1302 may obtain the result associated with the object by applying the object information and the additional information to the recognition model as input data.
  • the second component 1302 may obtain a result by using the search category together.
  • the second component 1302 may obtain the result using additional data (eg, the risk of the obstacle and the importance of the user of the obstacle) in addition to the object information and the additional information.
  • the additional data may be transmitted from the first component 1301 or another element or pre-stored in the second component 1302.
  • the first component 1301 transmits the result associated with the received object to the moving path of the cleaning robot 100. Can be reflected in the plan (1317).
  • FIG. 14 is a flowchart illustrating an example in which a cleaning robot according to an embodiment of the present disclosure provides a search result for a first area by using a recognition model.
  • the cleaning robot 100 may generate an image by capturing the surrounding environment (1410).
  • the cleaning robot 100 may obtain first information about the first area through the trained first model using the generated image as input data (1420).
  • the first model may be stored in the cleaning robot 100, but this is only an example and may be stored in an external server.
  • the cleaning robot 100 may obtain second information about the second area through the trained second model using the first information and the generated image as input data (1430).
  • the second model may be stored in the cleaning robot 100, but this is only an example and may be stored in an external server.
  • the cleaning robot 100 transmits the generated image to the external server, inputs the image from the external server to the first model, and acquires the first information, image,
  • the second information obtained by inputting the first information into the second model may be received.
  • the information on the first area can be obtained more accurately. do.
  • 15 is a flowchart of a system using a recognition model according to an embodiment of the present disclosure.
  • the cleaning robot 100 may generate an image by capturing the surrounding environment (1510).
  • the cleaning robot 100 may acquire first information about the first area through the trained first model using the generated image as input data (1520).
  • the cleaning robot 100 may transmit the generated image and the first information to the server 200 (1530).
  • the server 200 may acquire second information about the second area through the trained second model using the first information and the generated image as input data (1540).
  • the server 200 may search for information related to the first area based on the first information and the second information (1550).
  • the server 200 may transmit a search result related to the first area to the cleaning robot 100 (1560), and the cleaning robot 100 may provide the received search result (1570).
  • the operation of acquiring the first information through the first model for recognizing the object is performed by the cleaning robot 100, and the second information is acquired through the second model for estimating the context information.
  • the server 200 may perform the operation. That is, the cleaning robot 100 may perform an object recognition operation capable of performing information with a small throughput, and the server 200 may perform a context estimation operation that requires a large throughput.
  • one server 200 obtains the first information or the second information through the learned model and searches for information related to the first region. Only the plurality of servers may divide and perform the above-described operations. That is, the first server acquires the first information and the second information through the trained model, and the second server searches the information related to the first area based on the first information and the second information obtained from the first server. can do. This is only an embodiment, and all the processes performed by the server 200 may be performed by the cleaning robot 100.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

본 발명은 로봇 및 그의 제어 방법에 관한 것으로, 더욱 구체적으로는, 로봇의 전면 영상을 이용하여 주변 장애물 및 구조물을 파악하여 효율적이고 안전한 이동 경로를 제공할 수 있는 로봇 및 그의 제어 방법에 관한 것이다. 본 개시의 일 실시 예에 따른 로봇의 제어방법은 영상을 촬영하는 단계, 영상에서 바닥면을 분할한 제1 영상을 획득하는 단계, 학습된 제1 인공지능모델을 이용하여 영상에 포함된 장애물을 인식하는 단계, 제1 영상과 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 로봇이 태스크를 수행하기 위한 제2 영상을 획득하여 저장하는 단계, 제2 영상을 바탕으로 로봇이 이동하는 단계를 포함할 수 있다.

Description

로봇 및 그의 제어 방법
본 발명은 로봇 및 그의 제어 방법에 관한 것으로, 더욱 구체적으로는, 로봇의 전면 영상을 이용하여 주변 장애물 및 구조물을 파악하여 효율적이고 안전한 이동 경로를 제공할 수 있는 로봇 및 그의 제어 방법에 관한 것이다.
로봇 기술의 발전에 따라 전문화된 학술 분야 또는 대규모의 노동력을 요하는 산업 분야뿐만 아니라 일반적인 가정에도 로봇의 공급이 보편화 되고 있다. 사용자에게 가사 서비스를 제공하는 서비스 로봇, 청소 로봇, 애완용 로봇 등이 많이 보급되고 있다.
특히 청소 로봇과 같은 경우, 청소 가능 영역을 판단하고 가능한 넓은 영역을 안전하게 청소해야 하는 것이 매우 중요하다. 종래의 청소 로봇은 제한된 센서 조합과 센싱 범위로 인해 근거리의 장애물과 구조물의 유무 정보만을 가지고 회피 주행을 수행하였다. 이에, 종래의 청소 로봇은 넓은 청소 영역을 활용한 효율적인 청소를 수행하지 못하기 때문에, 청소 로봇의 사용자는 의도와 다르게 움직이는 청소 로봇을 보고 답답함을 느낄 수 있었다.
또한, 종래의 청소 로봇은 구조물과 주변 장애물을 구분하지 않고 청소를 수행하였기 때문에, 장애물도 구조물과 마찬가지로 근거리 센서에 의해서 감지될 때까지 근접하였다. 이에 따라, 민감한 장애물의 경우에 청소 로봇에 의해 훼손되는 문제점이 존재하였다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은, 청소 로봇의 전방카메라 영상을 이용해 주변 장애물과 구조물을 구분하고, 이동 가능한 영역에 대한 정보를 정확히 파악하여 사용자에게 원활한 서비스를 제공할 수 있는 청소 로봇 및 그의 제어 방법을 제공함에 있다.
상술한 서비스를 제공하기 위한 본 개시의 일 실시 예에 따른 청소 로봇의 제어방법은 영상을 촬영하는 단계; 상기 영상에서 바닥면을 분할한 제1 영상을 획득하는 단계; 학습된 제1 인공지능모델을 이용하여 상기 영상에 포함된 장애물을 인식하는 단계; 상기 제1 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 청소 로봇이 청소를 수행하기 위한 제2 영상을 획득하여 저장하는 단계; 및 상기 제2 영상을 바탕으로 상기 청소 로봇이 이동하는 단계;를 포함할 수 있다.
또한, 상기 제어방법은, 영상을 촬영하는 상기 청소 로봇의 이동상태정보 및 촬영방향정보를 획득하는 단계;를 더 포함하고, 상기 저장하는 단계는, 상기 이동상태정보 및 상기 방향정보를 상기 제2 영상과 함께 저장하는 단계;를 더 포함할 수 있다.
또한, 상기 제어방법은, 상기 제2 영상과 상기 이동상태정보를 이용하여 상기 청소 로봇과 벽면 간의 거리를 판단하는 단계;를 더 포함할 수 있다.
또한, 상기 제어방법은, 상기 벽면까지의 거리를 바탕으로 상기 청소 로봇의 이동속도를 결정하는 단계;를 더 포함할 수 있다.
또한, 상기 제어방법은, 상기 이동상태정보 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 상기 청소 로봇의 이동가능영역에 대한 네비게이션 맵을 생성하는 단계;를 더 포함할 수 있다.
또한, 상기 제어방법은, 상기 네비게이션 맵 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 청소 로봇의 위치를 판단하고 이동계획을 수립하는 단계;를 더 포함할 수 있다.
또한, 상기 제1 영상을 획득하는 단계는, 영상 속에 바닥면 영역을 감지하도록 학습된 제2 인공지능 모델을 이용하여 제1 영상을 획득할 수 있다.
또한, 상기 장애물을 포함하는 영역은, 상기 제1 인공지능 모델을 통해 인식된 장애물의 유형에 따라 상기 영역의 크기가 변할 수 있다.
또한, 상기 제어방법은, 상기 촬영한 영상의 뎁스 정보를 포함하는 뎁스 맵 영상을 획득하는 단계;를 더 포함하고, 상기 뎁스 맵 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 청소 로봇이 청소를 수행하기 위한 제3 영상을 획득하여 저장하는 단계; 및 상기 제3 영상을 바탕으로 상기 청소 로봇이 이동하는 단계;를 포함할 수 있다.
상술한 서비스를 제공하기 위한 본 개시의 일 실시 예에 따른 청소 로봇은, 카메라; 구동부; 메모리; 및 영상을 촬영하도록 상기 카메라를 제어하고, 상기 영상에서 바닥면을 분할한 제1 영상을 획득하고, 학습된 제1 인공지능모델을 이용하여 상기 영상에 포함된 장애물을 인식하고, 상기 제1 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 청소 로봇이 청소를 수행하기 위한 제2 영상을 획득하여 상기 메모리에 저장하고, 상기 제2 영상을 바탕으로 상기 청소 로봇이 이동하도록 상기 구동부를 제어하는 프로세서;를 포함할 수 있다.
또한, 상기 청소 로봇은, 센서;를 더 포함하고, 상기 프로세서는, 상기 센서를 통해 영상을 촬영하는 상기 청소 로봇의 이동상태정보 및 촬영방향정보를 획득하면, 상기 이동상태정보 및 상기 방향정보를 상기 제2 영상과 함께 상기 메모리에 저장할 수 있다.
또한, 상기 프로세서는, 상기 제2 영상과 상기 이동상태정보를 이용하여 상기 청소 로봇과 벽면 간의 거리를 판단할 수 있다.
또한, 상기 프로세서는, 상기 벽면까지의 거리를 바탕으로 상기 청소 로봇의 이동속도를 결정할 수 있다.
또한, 상기 프로세서는, 상기 이동상태정보 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 상기 청소 로봇의 이동가능영역에 대한 네비게이션 맵을 생성하여 상기 메모리에 저장할 수 있다.
또한, 상기 프로세서는, 상기 네비게이션 맵 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 청소 로봇의 위치를 판단하고 이동계획을 수립할 수 있다.
또한, 상기 프로세서는, 영상 속에 바닥면 영역을 감지하도록 학습된 제2 인공지능 모델을 이용하여 제1 영상을 획득할 수 있다.
또한, 상기 프로세서는, 상기 제1 인공지능 모델을 통해 인식된 장애물의 유형에 따라 상기 장애물을 포함하는 영역의 크기를 변경할 수 있다.
또한, 상기 프로세서는, 상기 촬영한 영상의 뎁스 정보를 포함하는 뎁스 맵 영상을 획득하고, 상기 뎁스 맵 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 청소 로봇이 청소를 수행하기 위한 제3 영상을 획득하여 상기 메모리에 저장하고, 상기 제3 영상을 바탕으로 상기 청소 로봇이 이동하도록 상기 구동부를 제어할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 청소 로봇이 장애물과 구조물을 정확히 파악하고, 넓은 공간을 이용한 효율적인 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 전자 시스템을 나타내는 도면이다.
도 2는 본 개시의 일 실시 예에 따른, 청소 로봇의 구성을 설명하기 위한 상세한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른, 청소 로봇이 이동 방향을 결정하기 위해 촬영한 영상을 분석하는 방법을 설명하기 위한 흐름도이다.
도 4A 및 4B는 본 개시의 일 실시 예에 따른, 청소 로봇이 촬영한 영상에서 바닥 면 분할영상을 획득하는 것을 설명하기 위한 도면이다.
도 5A 내지 5C는 본 개시의 일 실시 예에 따른, 청소 로봇이 촬영한 영상에서 장애물에 대한 정보를 획득하는 것을 설명하기 위한 도면이다.
도 6A 및 6B는 본 개시의 일 실시 예에 따른, 청소 로봇이 획득한 영상에서 뎁스 맵 영상을 획득하는 것을 설명하기 위한 도면이다.
도 7A 및 7B는 본 개시의 일 실시 예에 따른, 청소 로봇이 획득한 영상을 통해 벽면까지의 거리를 추정하는 방법을 설명하기 위한 도면이다.
도 8A 및 8B는 본 개시의 일 실시 에에 따른, 청소 로봇이 태스크를 수행하기 위해 효율적으로 이동하는 것을 설명하기 위한 도면이다.
도 9A 및 9B는 청소 로봇이 태스크를 수행할 공간에 대한 네비게이션 맵을 생성하는 것을 도시한 도면이다.
도 10은 청소 로봇이 네비게이션 맵을 이용하여, 청소 태스크 수행을 위한 이동계획을 수립하는 것을 도시한 도면이다.
도 11A 및 도 11B는, 다양한 실시예에 따른 학습부 및 인식부를 나타내는 블록도이다.
도 12는, 본 개시의 일 실시예에 따른 청소 로봇(100) 및 서버(200)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 13은, 본 개시의 일 실시 예에 따른 인식 모델을 이용하는 네트워크 시스템의 흐름도이다.
도 14는, 본 개시의 일 실시 예에 따른 청소 로봇이 인식 모델을 이용하여 제1 영역에 대한 검색 결과를 제공하는 실시예를 설명하기 위한 흐름도이다.
도 15는, 본 개시의 일 실시 예에 따른 인식 모델을 이용하는 시스템의 흐름도이다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
또한, 본 문서에서 사용된 "제 1," "제 2," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
이하에서, 첨부된 도면을 이용하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명한다. 도 1은 본 개시의 일 실시 예에 따른, 청소 로봇(100)의 구성을 설명하기 위한 간단한 블록도이다. 도 1을 참조하면, 청소 로봇(100)은 구동부(110), 카메라(120), 메모리(130), 프로세서(140)를 포함할 수 있다.
청소 로봇(100)은 스스로 이동하며 사용자에게 청소 서비스를 제공하는 장치로, 다양한 형태의 전자장치로 구현될 수 있다. 예를 들면, 청소 로봇(100)은 가정용 청소 로봇, 대형건물용 청소 로봇, 공항용 청소 로봇 등 다양한 목적을 위해 원기둥 형태, 직육면체 형태 등 다양한 형태로 구현될 수 있다. 일 실시 예에 따르면, 청소 로봇(100)은 바닥의 이물질을 단순히 제거하는 태스크를 수행할 뿐만 아니라, 사용자의 명령에 따라 물체를 옮기는 태스크도 수행할 수 있다.
구동부(110)는 청소 로봇(100)을 구동시킬 수 있다. 예를 들어, 구동부(110)는 프로세서(140)의 제어에 의해 태스크를 수행할 위치로 청소 로봇(100)을 이동시킬 수 있다. 이러한 경우에, 구동부(110)는 바닥면과 접촉하는 적어도 하나의 바퀴, 바퀴에 동력을 제공하는 모터 및 모터를 제어할 드라이버를 포함할 수 있다. 다른 예로, 구동부(110)는 태스크를 수행하기 위한 동작을 구현할 수 있다. 물체 이동 태스크의 경우에 구동부(110)는 물체를 집어드는 동작 등을 수행하기 위한 모터를 포함할 수 있다.
카메라(120)는 청소 로봇(100)의 주변 영상을 다양한 방면으로 촬영하기 위한 구성이다. 특히, 카메라(120)는 청소 로봇(100)의 전면 영상을 촬영할 수도 있고, 주행 방향과 다른 방향에 대한 영상을 촬영할 수도 있다.
카메라(120)는 복수의 카메라를 포함하는 구성일 수 있다. 특히 카메라(120)는 청소 로봇(100)의 상방 및 전방에 모두 설치되어 있을 수도 있고, 상방 및 전방 중 적어도 하나에만 설치되어 있을 수도 있다.
메모리(130)는 카메라(120)가 촬영한 영상 및 촬영 당시의 청소 로봇(100)의 이동상태정보 및 촬영 방향정보를 저장할 수 있다. 또한 메모리(130)는 청소 로봇(100)이 태스크를 수행하기 위한 장소에 대한 네비게이션 맵 정보를 저장할 수 있다. 이는 일 실시 예에 불과할 뿐, 메모리(130)는 청소 로봇(100)을 동작시키기 위해 필요한 각종 프로그램 등이 저장될 수 있다.
메모리(130)는 청소 로봇(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 청소 로봇(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는, 청소 로봇(100)의 기본적인 기능을 위하여 출고 당시부터 청소 로봇(100) 상에 존재할 수 있다. 응용 프로그램은, 메모리(130)에 저장되고, 프로세서(140)에 의하여 청소 로봇(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(130)는 프로세서(140)에 의해 액세스 되며, 프로세서(140)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(130), 프로세서(140) 내 ROM(미도시), RAM(미도시) 또는 청소 로봇 (100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
프로세서(140)는 청소 로봇(100)의 전반적인 구성을 제어할 수 있다. 예를 들어, 프로세서(140)는 청소 로봇(100) 주변의 영상을 촬영하도록 카메라(120)를 제어할 수 있다. 프로세서(140)는 촬영된 영상에서 바닥면을 특징적으로 분할한 제1 영상을 생성할 수 있다. 이때, 바닥면을 분할하기 위해서 프로세서(140)는 영상 분할 기법을 사용할 수 있다. 이에 대해서는 추후에 자세히 설명하기로 한다.
프로세서(140)는 장애물과 같은 객체를 인식하도록 학습된 제1 인공지능모델을 통해 영상에 포함된 장애물을 인식할 수 있다. 즉, 프로세서(140)는 제1 인공지능모델에 장애물을 포함하는 영상을 입력하고, 장애물 유형에 대한 정보를 포함하는 출력 결과를 획득할 수 있다. 프로세서(140)는 장애물의 유형에 따라 상이한 접근금지 영역의 크기를 결정할 수 있다. 이때 접근금지 영역은 장애물을 포함하는 영역으로, 청소 로봇(100)이 청소 태스크를 수행 시 접근하지 않을 영역을 의미한다. 한편, 제1 인공지능 모델은 학습 되어 메모리(130)에 저장된 것일 수도 있고, 외부 서버에 저장된 것일 수도 있다. 이에 대하여 추후에 자세히 설명하도록 한다. 이하에서는 청소 로봇(100)에 제1 인공지능모델을 저장하고 있는 실시 예를 가정하고 설명하기로 한다.
프로세서(140)는 인식된 장애물에 대한 접근금지 영역과 제1 영상을 오버래핑한 제2 영상을 생성할 수 있다. 프로세서(140)는 제2 영상에 포함된 정보를 바탕으로, 청소 로봇(100)의 주변의 구조물과 장애물의 위치를 인식할 수 있고, 청소 로봇(100)이 이동할 방향 및 속도를 결정할 수 있다. 프로세서(140)는 결정된 이동방향 및 속도에 따라 청소 로봇(100)이 이동되도록 구동부(110)를 제어할 수 있다.
한편, 프로세서(140)는 CPU, 램(RAM), 롬(ROM), 시스템 버스를 포함할 수 있다. 여기서, 롬은 시스템 부팅을 위한 명령어 세트가 저장되는 구성이고, CPU는 롬에 저장된 명령어에 따라 청소 로봇(100)의 메모리에 저장된 운영체제를 램에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU는 메모리(130)에 저장된 각종 애플리케이션을 램에 복사하고, 실행시켜 각종 동작을 수행할 수 있다. 이상에서는 프로세서(140)가 하나의 CPU만을 포함하는 것으로 설명하였지만, 구현 시에는 복수의 CPU(또는 DSP, SoC 등)으로 구현될 수 있다.
본 발명의 일 실시 예에 따라, 프로세서(140)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
도 2는 본 개시의 일 실시 예에 따른, 청소 로봇의 구성을 설명하기 위한 상세한 블록도이다. 도 2를 참조하면, 청소 로봇(100)은 구동부(110), 카메라(120), 메모리(130), 통신부(150), 집진부(160), 센서(170), 전원부(180) 및 상술한 구성을 제어하기 위한 프로세서(140)를 포함할 수 있다. 구동부(110), 카메라(120), 메모리(130), 프로세서(140)에 대하여는 이미 설명하였으므로, 중복되는 설명은 생략하도록 한다.
통신부(150)는 외부 장치와 데이터, 제어 명령 등을 송수신할 수 있다. 예를 들어, 통신부(150)는 외부 장치로부터 청소 로봇(100)이 동작할 공간에 대한 위치 정보를 포함하는 전역 지도 정보를 수신할 수 있다. 또한, 통신부(150)는 외부 장치로 전역 지도 정보를 갱신하기 위한 정보를 송신할 수 있다. 다른 예로, 통신부(150)는 사용자가 원격제어장치를 이용하여 송신한 청소 로봇(100)을 제어하기 위한 신호를 수신할 수 있다. 이때 원격제어장치는 리모컨, 모바일 장치 등 다양한 형태로 구현될 수 있다.
또한 통신부(150)는 외부 서버(미도시)와 데이터 등을 송수신할 수 있다. 예를 들어 외부 서버에 인공지능모델이 저장되어 있는 경우, 통신부(150)는 외부 서버로 카메라(120)를 통해 촬영한 영상을 송신할 수 있고, 외부 서버에 저장된 인공지능 모델을 이용하여 인식된 장애물에 대한 정보를 수신할 수 있다. 이는 일 실시 예에 불과하며, 통신부(150)는 외부 서버로부터 청소 로봇(100)이 태스크를 수행할 공간에 대한 이동 가능 영역에 대한 정보를 수신할 수 있다.
한편, 통신부(150)는 무선 통신 방식으로 NFC(Near Field Communication), 무선 LAN(Wireless LAN), IR(InfraRed) 통신, Zigbee 통신, WiFi, 블루투스(Bluetooth) 등 다양한 방식을 이용할 수 있다.
집진부(160)는 먼지를 집진하기 위한 구성이다. 구체적으로, 집진부(160)는 공기를 흡입하고, 흡입된 공기 중의 먼지를 집진할 수 있다. 예를 들어, 집진부(160)는 흡입구에서 배출구까지 이어지는 가이드 배관을 통해 공기를 통과시키는 모터와 흡입된 공기 중의 먼지를 거르는 필터 및 걸러진 먼지를 담는 먼지통 등을 포함할 수 있다.
센서(170)는 다양한 종류의 센서를 포함할 수 있다. 구체적으로 센서(170)는 먼지 센서, 냄새 센서, 레이저 센서, UWB 센서, 이미지 센서, 장애물 센서 등과 같은 주변탐지를 위한 센서 및 자이로 센서, GPS 센서 등과 같은 이동상태를 감지하기 위한 센서 등을 포함할 수 있다. 이때, 주변탐지를 위한 센서와 청소 로봇의 이동상태를 감지하기 위한 센서는 상이한 구성으로 구현될 수도 있고, 하나의 구성으로 구현될 수도 있다. 또한, 센서(170)의 각각의 센서는 별도의 구성으로 구현될 수 있다. 센서(170)는 이외에도 다양한 종류의 센서를 더 포함할 수 있으며, 청소 로봇(100)이 수행할 태스크에 따라 도시된 센서 중 일부는 포함하지 않을 수도 있다.
먼지 센서 및 냄새 센서는 청소 로봇(100) 주변 환경의 오염도를 감지하는데 이용될 수 있다. 먼지 센서는 청소 로봇(100) 주변의 먼지 농도를 감지할 수 있다. 예를 들어, 먼지 센서는 집진부(160)에서 흡입되는 먼지의 농도를 감지할 수 있다. 먼지 센서(는 먼지 입자에 의한 산란광을 이용하여 먼지 농도를 감지할 수 있다. 또한, 냄새 센서는 특정 냄새를 감지할 수 있다. 예를 들어, 냄새 센서는 애완동물의 배설물과 같은 오염 물질을 감지할 수 있다. 냄새 센서는 냄새 분자와의 접촉으로 인한 전기 저항의 변화를 통하여 특정 냄새를 감지할 수 있다.
레이저 센서는 청소 로봇(100) 주변 환경의 복잡도를 감지할 수 있다. 예를 들어, 레이저 센서는 전 방향으로 레이저 빔을 발광하여 청소 로봇(100) 주변에 물체가 존재하는지 감지할 수 있다. 청소 로봇(100) 주변에 의자와 같은 가구가 배치된 경우에 복잡도가 높게 평가될 것이고, 청소 로봇(100) 주변에 물체가 없는 경우 복잡도가 낮게 평가될 것이다.
UWB 센서는 전파 송수신 시에 소요되는 시간(Time of Flight)을 이용하여 거리를 측정할 수 있다. UWB 센서는 초광대역(ultra wide band)의 신호 특성을 이용하여 높은 정확도로 거리를 측정할 수 있다. 또한, 복수의 UWB 센서를 청소 로봇(100)에 배치함으로써, UWB 태그가 위치한 곳의 방향을 파악할 수 있다. 예를 들어, UWB 센서를 이용할 경우에, UWB 태그가 위치한 곳을 추적할 수 있기 때문에, UWB 태그가 설치된 충전 스테이션의 위치를 변경하더라도, 청소 로봇(100)은 충전 스테이션의 정확한 위치를 찾아 복귀할 수 있다.
장애물 센서는 청소 로봇(100)의 이동을 방해하는 장애물을 감지할 수 있다. 예를 들어, 장애물 센서는 청소 로봇(100)이 통과할 수 없는 벽, 틈새, 기둥, 문턱, 둔덕 등을 식별할 수 있는 비접촉식 감지 센서 및 접촉식 충돌/범퍼 센서를 포함할 수 있다.
자이로 센서는 회전하는 청소 로봇(100)의 역학운동을 이용한 개념으로 위치 측정과 방향 설정 등에 활용되는 센서이다. 자이로 센서는 가속도를 측정하는 가속도 센서와 달리 각속도를 측정한다. 자이로스코프(Gyroscope)가 각속도를 측정하는 기구인데 MEMS 기술을 적용한 칩 형태의 자이로센서도 각속도를 측정할 수 있다.
전원부(180)는 청소 로봇(100)의 구동에 필요한 전원을 공급한다. 예를 들어, 전원부(180)는 충방전이 가능한 배터리로 구현될 수 있다. 프로세서(140)는 청소 로봇(100)의 잔여 전원이 기설정된 레벨 이하로 떨어진 경우, 또는 태스크를 완료한 경우에 충전 스테이션으로 이동하도록 구동부(110)를 제어할 수 있다. 전원부(180)의 충전 방식은 접촉식 및 비접촉식 충전이 모두 가능하다.
도 3은 본 개시의 일 실시 예에 따른, 청소 로봇이 이동 방향을 결정하기 위해 촬영한 영상을 분석하는 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 청소 로봇(100)은 주변의 환경을 캡쳐한 영상을 촬영할 수 있다(S310). 이때, 캡쳐한 영상은 청소 로봇(100)이 이동하는 방향과 동일한 방향에 대한 환경을 캡쳐한 것일 수도 있고, 이동하는 방향과 상이한 방향에 대한 환경을 캡쳐한 것일 수도 있다.
청소 로봇(100)은 촬영한 영상에서 바닥면을 분할한 제1 영상(바닥면 분할영상)을 획득할 수 있다(S320). 또한, 청소 로봇(100)은 획득한 영상을 객체를 인식하기 위해 학습된 인공지능모델에 입력하고, 영상에 포함된 장애물을 인식한 결과 장애물의 유형에 대한 정보를 출력할 수 있다(S330). 또한, 청소 로봇(100)은 장애물의 유형에 대한 정보를 바탕으로 장애물을 포함하는 접근금지 영역의 크기를 결정할 수 있다. 제1 인공지능 모델은 CNN(Convolutional Neural Network)일 수 있으나, 이는 일 실시예에 불과할 뿐, GAN (Generative Adversarial Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)등과 같은 다양한 신경망을 이용할 수 있다.
청소 로봇(100)은 제1 영상과 인식된 장애물을 포함하는 영역(접근금지 영역)에 대한 정보를 바탕으로 제2 영상을 획득할 수 있다(S340). 즉, 제2 영상은 청소 로봇(100)이 청소 태스크를 수행할 수 있는 영역만을 나타내는 영상일 수 있다. 청소 로봇(100)은 제2 영상을 바탕으로 이동속도 및 이동방향을 결정하고, 청소 태스크를 수행하기 위해 이동할 수 있다(S350).
도 4A 및 4B는 본 개시의 일 실시 예에 따른, 청소 로봇이 촬영한 영상에서 바닥 면 분할영상을 획득하는 것을 설명하기 위한 도면이다.
도 4A는 카메라(120)를 통해 청소 로봇(100)의 전방의 영상을 촬영한 것이다. 이후 청소 로봇(100)은 획득한 영상(400)을 영상 분할(scene segmentation)을 통해 도 4B와 같은 바닥 면 분할영상(410)을 획득할 수 있다.
이때, 영상 분할(scene segmentation)이란, 영상의 구성 요소인 픽셀을 분류하여 영상 내에서 객체의 경계선을 찾아 원하는 객체를 추출하는 기술을 말한다. 예를 들어, 영상 중에 객체의 형태 및 크기를 알려면 객체와 배경의 2개의 영역으로 분할하지 않으면 안 된다. 객체는 영상 해석과 표현에 있어서 중요한 역할을 한다. 특히, MPEG(Moving Picture Experts Group)-4 비주얼 표준은 영상을 객체 단위로 부호화한다. 이러한 기술을 객체기반 부호화(object-based coding)라고 한다. 필요에 따라 객체를 조합, 제거, 변형하는 등의 객체에 대한 다양한 편집기술을 이용하여 영상을 재생산하거나 효율적으로 압축할 수 있다.
그러나 각각의 획득한 영상의 명확한 경계가 없으며, 영상마다 특징이 다르기 때문에, 청소 로봇(100)은 획득한 영상(400)에서 밝기 값(luminance), 에지 정보(edge), 혹은 기하학적 정보와 같은 영상의 특성에 기반하여 비슷한 값을 가지는 영역(homogeneous region)을 구분할 수 있다. 청소 로봇(100)은 구분해낸 영역들 중 비슷한 특성을 가지는 영역들을 서로 오버래핑하여 바닥 면 영역(420)을 획득할 수 있고, 이외의 영역을 마스킹(masking)할 수 있다.
청소 로봇(100)은 영상 분할 알고리즘들로서, 경계 값 처리법, 영역확장법, 분할 통합법, 워터쉐드법(watershed), 및 에지에 기반한 방법을 사용하여 도 4B와 같은 바닥 면 분할영상을 획득할 수 있다.
또는 청소 로봇(100)은 획득한 영상을 프레임 단위로 구분하고, 분리하고자 하는 바닥 면을 추정하여 바닥 면에 해당하는 윈도우들의 위치를 결정할 수 있다. 또한, 청소 로봇(100)은 결정된 윈도우들의 위치에 존재하는 윈도우들의 크기 및 간격 중 적어도 하나를 조절하고, 크기 및 간격 중 적어도 하나가 조절된 윈도우들을 이용하여 입력된 영상에서 도 4B와 같이 바닥 면(420)만을 분리할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 청소 로봇(100)은 바닥 면을 인식하도록 학습된 제2 인공지능 모델을 이용하여 바닥 면 분할영상을 획득할 수도 있다. 이때, 제2 인공지능 모델은 청소 로봇(100) 내에 저장되어 있을 수도 있고, 외부 서버에 저장되어 있을 수도 있다. 제2 인공지능 모델이 외부 서버에 저장되어 있는 경우에는 청소 로봇(100)은 통신부(150)를 통해 촬영 영상에 대한 정보를 외부 서버로 송신할 수 있고, 제2 인공지능모델에서 출력된 바닥 면 분할영상에 대한 정보를 외부 서버로부터 수신할 수 있다. 제2 인공지능 모델은 CNN(Convolutional Neural Network)일 수 있으나, 이는 일 실시예에 불과할 뿐, GAN (Generative Adversarial Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)등과 같은 다양한 신경망을 이용할 수 있다.
상술한 바와 같이, 청소 로봇(100)은 영상분할 기법을 뿐만 아니라, 제2 인공지능 모델을 통해 입력된 영상에서 도 4B와 같이 바닥 면(420)만을 분리할 수 있다.
도 5A 내지 5C는 본 개시의 일 실시 예에 따른, 청소 로봇이 촬영한 영상에서 장애물에 대한 정보를 획득하는 것을 설명하기 위한 도면이다.
도 5A는 카메라(120)를 통해 청소 로봇(100)의 이동 방향과 동일한 방향의 영상(500)을 촬영한 것이다. 도 5A를 참조하면 촬영된 영상은 벽면과 같은 구조물이 아닌 장애물(510)을 포함하고 있다. 청소 로봇(100)은 제1 인공지능 모델에 획득한 영상(500)을 입력하여 장애물을 인식할 수 있고, 장애물의 유형에 대한 정보를 출력할 수 있다. 청소 로봇(100)은 인식된 장애물에 대한 정보를 바탕으로, 장애물을 포함하는 접근금지 영역을 판단할 수 있다.
도 5B를 참조하면, 입력된 영상(500)에 꽃병(510)과 같은 장애물이 포함되어 있는 경우, 제1 인공지능 모델은 입력된 영상에 장애물이 포함되어 있다는 정보, 포함된 장애물의 유형이 꽃병이라는 정보를 출력할 수 있다. 또한, 청소 로봇(100)은 인식된 장애물의 유형에 따라 청소 태스크 수행 시 접근금지 영역(520)의 범위를 판단할 수 있다.
한편, 청소 로봇(100)은 장애물의 종류에 따라서 접근하지 않을 영역(520)의 범위를 다르게 출력할 수 있다. 상술한 예시와 같이 인식된 장애물이 꽃병인 경우, 청소 로봇(100)은 꽃병의 폭의 2배에 해당하는 영역을 접근금지 영역으로 판단할 수 있다. 반면, 인식된 장애물이 인형인 경우, 청소 로봇(100)은 인형의 폭의 1.5배에 해당하는 영역을 접근하지 않을 영역으로 판단할 수 있다. 인형의 경우 청소 로봇(100)이 접근하여 청소하더라도 파손의 위험이 상대적으로 작기 때문이다. 장애물의 유형별 접근금지 영역을 설정하기 위한 데이터는 메모리(130)에 저장되어 있을 수도 있고, 통신부(150)를 통해 외부 서버로부터 수신할 수도 있다.
도 5C를 참조하면, 청소 로봇(100)은 인식된 장애물을 포함하는 접근금지 영역을 영상 분할을 통해 획득한 바닥 면 분할영상과 오버래핑하여 저장할 수 있다. 청소 로봇(100)은 장애물을 포함하는 접근금지 영역(520)을 마스킹 처리할 수 있다. 그 결과, 청소 로봇(100)은 마스킹 처리된 영역(530)이 바닥면 분할영상에 오버래핑된 영상(540)을 획득할 수 있다. 청소 로봇(100)은 오버래핑 영상(540)을 바탕으로 태스크를 수행하기 위한 이동 경로를 설정할 수 있다. 이에 대하여는 추후에 자세히 설명하기로 한다.
도 6A 및 6B는 본 개시의 일 실시 예에 따른, 청소 로봇이 획득한 영상에서 뎁스 맵 영상을 획득하는 것을 설명하기 위한 도면이다.
도 4 내지 5에서 설명한 바와 같이 청소 로봇(100)은 이동 경로를 설정하기 위해 획득한 영상에서 바닥면 분할영상을 획득할 수도 있으나, 도 6A와 같이 영상에 대한 뎁스(depth) 맵을 획득할 수도 있다. 청소 로봇(100)은 획득한 영상에 대한 뎁스 맵 영상을 통해서, 벽면까지의 거리를 추정할 수 있다.
본 개시의 일 실시 예에 의하면, 청소 로봇(100)은 상술한 바와 같이 인식된 장애물을 포함하는 접근금지 영역(610)과 뎁스 맵을 오버래핑할 수 있다. 또 다른 실시 예에 의하면, 청소 로봇(100)은 획득한 뎁스 맵을 바닥면을 분할한 부분(620) 및 접근 금지 영역(610)과 함께 오버래핑하여 저장할 수도 있다.
상술한 실시 예를 통해, 청소 로봇(100)은 주변 환경의 뎁스 정보까지 포함한 정보를 바탕으로, 더욱 정확한 구조물 정보를 획득할 수 있고, 더 안전하게 청소 로봇(100)의 경로를 계획할 수 있다.
도 7A 및 7B는 본 개시의 일 실시 예에 따른, 청소 로봇이 획득한 영상을 통해 벽면까지의 거리를 추정하는 방법을 설명하기 위한 도면이다.
도 7A를 참조하면, 청소 로봇(100)은 도 4 및 5에서와 같이 청소 로봇(100)의 주변의 영상을 획득할 수 있다. 도 7A에서는 청소 로봇(100)이 메모리(130)에 기저장되어 있지 않은 태스크 수행장소에 위치한 후, 태스크 수행을 위해 영상을 획득하는 것을 도시한다. 청소 로봇(100)은 카메라(120)의 화각(121)에 대응하는 범위에 해당하는 제1 영상을 획득할 수 있다. 이때, 획득하는 영상은 청소 로봇(100)의 주행 방향(700)을 기준으로, 청소 로봇(100)의 전방에 대응하는 영상일 수 있다.
청소 로봇(100)은 영상을 획득한 후, 태스크를 수행하기 위해 주행 방향(700)으로 이동할 수 있다. 청소 로봇(100)은 멈춰있는 상태에서 제1 영상을 획득할 수도 있고, 이동 중에 제1 영상을 획득할 수도 있다. 이때, 청소 로봇(100)은 센서(170)를 통해 제1 위치에서 제2 위치로 이동하는 청소 로봇(100)의 이동상태에 대한 정보를 획득할 수 있다. 구체적으로, 이동상태에 대한 정보는 청소 로봇(100)의 이동 방향 및 이동 속도에 대한 정보를 포함할 수 있다. 청소 로봇(100)은 제1 위치에서 제1 영상을 획득하는 경우, 제1 영상을 획득하는 때의 청소 로봇(100)의 이동상태에 대한 정보를 함께 메모리(130)에 저장할 수 있다.
한편, 청소 로봇(100)은 주행 방향(700)으로 이동하는 동안 청소 로봇(100)의 이동상태에 대한 정보를 획득할 수 있다. 청소 로봇(100)은 제1 영상을 획득한 후 기설정된 시간 간격으로 도 7B와 같이 제2 위치에서 제2 영상을 획득할 수 있다. 마찬가지로 청소 로봇(100)은 제2 영상을 획득하는 때의 청소 로봇(100)의 이동상태에 대한 정보를 획득할 수 있고, 제2 영상과 함께 메모리(130)에 저장할 수 있다.
청소 로봇(100)은 제1 영상, 제2 영상 및 청소 로봇(100)의 이동상태에 대한 정보를 바탕으로 청소 로봇과 벽면까지의 거리를 추정할 수 있다. 예를 들어, 청소 로봇(100)은 제1 영상, 제2 영상에 대한 바닥면 분할영상(각각 제1 바닥 분할영상, 제2 바닥 분할영상)을 획득할 수 있다. 청소 로봇(100)은 제1 영상을 획득한 후 제2 영상을 획득할 때까지의 이동 속도에 대한 정보를 바탕으로 이동 거리를 계산할 수 있다. 청소 로봇(100)은 제1 바닥 분할영상(미도시)와 제2 바닥 분할영상(미도시)의 차이 및 청소 로봇(100)의 이동 거리에 대한 정보를 바탕으로 벽면까지의 거리를 계산할 수 있다.
청소 로봇(100)은 획득한 영상에 포함된 벽면까지의 거리를 계산한 후, 청소 로봇(100)의 이동 방향 및 이동 속도를 설정할 수 있다. 이에 대해서는 도 8A 및 8B를 통해 설명하도록 한다.
도 8A 및 8B는 본 개시의 일 실시 에에 따른, 청소 로봇이 태스크를 수행하기 위해 효율적으로 이동하는 것을 설명하기 위한 도면이다.
종래의 근거리 센서를 이용한 청소 로봇(100)은 넓은 공간(810)으로 이동하기 위해서는 청소 로봇(100)이 제1 벽면(800-1)에 접근한 후 이동 방향을 변경하고, 제2 벽면(800-2)에 접근하고 다시 이동 방향을 변경하는 제1 경로(820)를 통해 이동한다.
반면 본 개시의 청소 로봇(100)은 도 7A 및 7B에서 설명한 바와 같이, 청소 로봇(100)은 벽면까지의 거리를 계산하고, 청소 로봇의 이동 속도 및 이동 방향을 설정할 수 있다. 청소 로봇(100)은 제1 벽면(800-1)과 제2 벽면(800-2)까지의 거리를 바탕으로, 영상 내의 넓은 공간(820)에 한 번에 도달하는 제2 경로(821)에 대응하는 이동 방향을 판단할 수 있다.
구체적으로, 청소 로봇(100)은 1) 청소 로봇(100)과 제1 벽면(800-1)까지의 거리 및 제2 벽면(800-2)까지의 거리, 2) 청소 로봇(100)과 제1 벽면(800-1) 및 제2 벽면(800-2) 간 이루는 각도를 이용하여 이동 방향을 판단할 수 있다. 더욱 구체적으로, 청소 로봇(100)은 청소 로봇(100)과 제1 벽면(800-1)까지의 거리 및 청소 로봇(100)과 제2 벽면(800-2)까지의 거리가 동일하게 되는 경로를 판단할 수 있고, 해당 경로를 향한 방향을 청소 로봇(100)의 이동 방향으로 판단할 수 있다.
또한, 청소 로봇(100)은 영상 내의 넓은 공간(820)에 도달하기 위해 판단된 방향으로 이동하는 청소 로봇(100)의 이동 속도를 결정할 수 있다.
구체적으로, 청소 로봇(100)은 영상에 포함된 제3 벽면(800-3)까지의 거리에 대한 정보를 획득할 수 있다. 청소 로봇(100)은 이동 중에 기설정된 시간 간격으로 전방에 대한 영상을 획득할 수 있고, 영상이 획득될 때마다 청소 로봇(100)의 이동상태정보를 바탕으로 각 벽면까지의 거리를 계산할 수 있다. 더욱 구체적으로, 청소 로봇(100)은 제2 경로를 통해 이동하던 중 청소 로봇(100)과 제1, 2, 3 벽면까지의 거리 중 적어도 하나의 거리가 기설정된 제1 거리 내에 도달하기 전까지 제1 속도로 이동할 수 있다. 청소 로봇(100)과 제1, 2, 3 벽면까지의 거리 중 적어도 하나의 거리가 기설정된 제1 거리보다 작아지는 경우, 청소 로봇(100)은 제1 속도보다 작은 제2 속도로 이동할 수 있다. 또한, 청소 로봇(100)은 제1, 2, 3 벽면까지의 거리 중 적어도 하나의 거리가 기설정된 제2 거리보다 작아지는 경우, 이동을 멈출 수 있다.
본 예시에서는 청소 로봇(100)은 속도를 변경하기 위한 제1, 제2 기설정된 거리를 설명하였으나, 이는 일 실시 예에 불과하며, 2개 이상의 기설정된 거리를 설정하여 연속적인 속도 제어를 제공할 수 있다.
청소 로봇(100)이 획득한 영상에 도 8B와 같이 장애물(840)이 포함되어 있을 경우, 청소 로봇(100)은 제1 인공지능 모델을 통해 장애물(840)을 인식할 수 있고, 장애물(840)의 유형에 따라 청소 로봇이 접근하지 않을 영역(841)을 결정할 수 있다. 청소 로봇(100)은 접근하지 않을 영역(841)을 벽면 등과 같은 구조물로 인식할 수 있다. 청소 로봇(100)은 도 8A에서와 마찬가지로 제1, 2, 3 벽면까지의 거리, 상기 영역(841)까지의 거리 중 적어도 하나의 거리를 바탕으로 넓은 공간(810)까지 효율적으로 이동하기 위한 경로(830)에 대응하는 이동 방향을 판단할 수 있다.
구체적으로, 청소 로봇(100)은 1) 청소 로봇(100)과 제1 벽면(800-1)까지의 거리 및 접근금지 영역(841)까지의 거리, 2) 청소 로봇(100)과 제2 벽면(800-2) 및 제3 벽면(800-3)까지의 거리, 3) 청소 로봇(100)과 제1 벽면(800-1) 및 접근금지 영역(841) 간 이루는 각도 등을 이용하여 이동 방향을 판단할 수 있다. 더욱 구체적으로, 청소 로봇(100)은 청소 로봇(100)과 제1 벽면(800-1)까지의 거리 및 청소 로봇(100)과 접근금지 영역(841)까지의 거리가 동일하게 되는 경로를 판단할 수 있고, 해당 경로를 향한 방향을 청소 로봇(100)의 이동 방향으로 판단할 수 있다. 또한, 청소 로봇(100)은 접근금지 영역(841)과 청소 로봇(100)의 이동 방향을 이루는 각도가 90도를 초과하는 것을 감지하면, 청소 로봇(100)과 제2 벽면(800-2)까지의 거리 및 제3 벽면(800-3)까지의 거리가 동일하게 되는 경로를 판단할 수 있고, 해당 경로를 향한 방향을 청소 로봇(100)의 이동 방향으로 판단할 수 있다.
또한, 청소 로봇(100)은 제1, 2, 3 벽면까지의 거리 및 상기 영역(841)까지의 거리 중 적어도 하나의 거리를 바탕으로 이동 속도를 설정할 수 있다. 구체적으로, 청소 로봇(100)은 상기 경로(830)를 통해 이동하던 중 청소 로봇(100)과 제1, 2, 3 벽면까지의 거리 및 상기 영역(841)까지의 거리 중 적어도 하나의 거리가 기설정된 제1 거리 내에 도달하기 전까지 제1 속도로 이동할 수 있다. 청소 로봇(100)과 제1, 2, 3 벽면까지의 거리 및 상기 영역(841)까지의 거리 중 적어도 하나의 거리가 기설정된 제1 거리보다 작아지는 경우, 청소 로봇(100)은 제1 속도보다 작은 제2 속도로 이동할 수 있다. 또한, 청소 로봇(100)은 제1, 2, 3 벽면까지의 거리 및 상기 영역(841)까지의 거리 중 적어도 하나의 거리가 기설정된 제2 거리보다 작아지는 경우, 이동을 멈출 수 있다.
상술한 실시 예에 의하면, 본 개시의 청소 로봇(100)은 종래의 청소 로봇(100)과 달리 구조물과 장애물의 위치를 고려하여 넓은 공간까지 가장 효율적인 이동 방향 및 속도를 통해 이동해 청소 서비스를 제공할 수 있다. 이를 통해 청소 로봇(100)은 넓은 공간으로 먼저 이동 후 부수적인 공간을 청소함으로써, 마치 사람이 청소하는 것과 같은 효율적인 청소 서비스를 제공하는 효과가 있다.
도 9A 및 9B는 청소 로봇이 태스크를 수행할 공간에 대한 네비게이션 맵을 생성하는 것을 도시한 도면이다.
도 9A를 참조하면, 청소 로봇(100)은 카메라(120)의 화각(121)에 대응하는 영상을 촬영할 수 있다. 청소 로봇(100)은 영상을 촬영하던 때의 이동상태정보 및 촬영방향에 대한 정보를 획득할 수 있다. 또한, 청소 로봇(100)은 청소 태스크를 수행하기 위해 이동하며 획득한 복수의 영상을 바탕으로 각각의 바닥면 분할영상을 획득할 수 있고, 각각의 영상의 촬영방향에 대한 정보 및 이동상태정보를 바닥면 분할 정보와 함께 메모리에 저장할 수 있다. 이는 일 실시 예에 불과하고, 청소 로봇(100)은 인공지능모델을 통해 인식된 장애물을 포함하는 영역을 바닥면 분할영상과 오버래핑할 수 있고, 상기 오버래핑된 영상을 각각의 영상의 촬영방향에 대한 정보 및 이동상태정보와 함께 저장할 수 있다. 이때 장애물을 포함하는 영역은 청소 로봇(100)이 구조물로 인식하여 접근하지 않을 영역이며, 인공지능모델을 통해 인식한 장애물의 유형에 따라 영역의 크기가 달라질 수 있다.
청소 로봇(100)은 촬영된 영상의 바닥면 분할영상, 장애물을 포함하는 영역, 각 영상의 촬영방향에 대한 정보, 영상 촬영시 청소 로봇(100)의 이동상태에 대한 정보를 바탕으로 청소 태스크를 수행하기 위한 네비게이션 맵을 생성할 수 있다.
예를 들어, 청소 로봇(100)은 제1 위치에서 제1 바닥면 분할영상을 획득할 수 있고, 촬영방향을 유지한 채 제2 위치에서 제2 바닥면 분할영상을 획득할 수 있다. 이때 제1, 제2 바닥면 분할영상은 제1 벽면을 포함할 수 있다. 청소 로봇(100)의 제1 위치에서부터 제2 위치까지의 이동하는 청소 로봇(100)의 이동상태에 대한 정보를 바탕으로 제1, 제2 위치로부터 제1 벽면까지의 거리를 계산할 수 있다. 또한, 청소 로봇(100)은 제2 위치에서 촬영방향을 다르게 하여 영상을 촬영한 후, 제3 바닥면 분할영상을 획득할 수 있고, 촬영방향을 유지한 채 제3 위치에서 제4 바닥면 분할영상을 획득할 수 있다. 이때 제3, 제4 바닥면 분할영상은 제1 벽면 및 제2 벽면을 포함할 수 있다. 청소 로봇(100)은 제2 위치에서부터 제3 위치까지 이동하는 청소 로봇(100)의 이동상태에 대한 정보를 바탕으로 제2, 제3 위치로부터 제2 벽면까지의 거리를 계산할 수 있다. 청소 로봇(100)은 제1 위치에서 제1 벽면까지의 거리, 제2 위치에서 제1, 2 벽면까지의 거리, 제3 위치에서 제2 벽면까지의 거리를 바탕으로 제1 벽면과 제2 벽면이 이루는 형태에 대해서 판단할 수 있다.
상술한 방법에 의해, 청소 로봇(100)은 청소를 수행하기 위한 공간의 벽면 등과 같은 구조물과 장애물의 형태에 대하여 판단할 수 있고, 도 9B와 같이 청소 태스크를 수행하기 위한 전체 네비게이션 맵을 생성할 수 있다.
청소 로봇(100)은 사용자에 의해 납치되는 등 청소 로봇(100)의 위치가 새롭게 변경되는 경우, 네비게이션 맵을 통해 청소 로봇(100)의 위치를 판단할 수 있다. 구체적으로, 청소 로봇(100)은 새롭게 변경된 위치에서 주변의 영상을 촬영할 수 있고, 촬영된 영상에 대한 바닥면 분할영상 및 촬영 방향에 대한 정보를 획득할 수 있다. 청소 로봇(100)은 네비게이션 맵을 생성할 때 이용한 복수의 바닥면 분할영상 및 촬영방향정보와 새로운 위치에서 획득한 바닥면 분할영상 및 촬영방향정보를 비교할 수 있고, 비교결과 청소 로봇(100)의 네비게이션 맵 상 위치를 판단할 수 있다.
도 10은 청소 로봇이 네비게이션 맵을 이용하여, 청소 태스크 수행을 위한 이동계획을 수립하는 것을 도시한 도면이다.
네비게이션 맵 상의 청소 로봇(100)의 위치가 판단되면, 청소 로봇(100)은 청소 태스크를 수행하기 위한 이동계획을 수립할 수 있다. 도 10을 참조하면, 청소 로봇(100)은 구조물의 넓은 공간(1020, 1030, 1040)으로 이동하며 효율적으로 태스크를 수행할 수 있다. 이때, 청소 로봇(100)은 네비게이션 맵을 생성할 때 포함된 장애물을 포함하는 접근하지 않을 영역(1010)에 대한 정보를 바탕으로, 이동 계획을 수립할 수 있다.
다만, 청소 로봇(100)은 수립한 이동 계획에 따라 이동하는 동안에도, 카메라(120)를 통해 주변의 영상을 촬영할 수 있다. 청소 로봇(100)은 영상에 포함된 장애물을 인공지능모델을 통해 인식할 수 있고, 실시간으로 장애물의 유형을 판단하여 접근하지 않을 영역을 판단할 수 있다. 청소 로봇(100)은 장애물이 포함된 판단된 영역을 바탕으로 실시간으로 이동 계획을 변경할 수 있다. 또한, 청소 로봇(100)은 판단된 장애물을 포함하는 접근하지 않을 영역에 대한 정보를 네비게이션 맵에 업데이트할 수 있다.
도 11A 및 도 11B는, 다양한 실시예에 따른 학습부 및 인식부를 나타내는 블록도이다.
도 11A를 참조하면, 프로세서(1100)는 학습부(1110) 및 인식부(1120) 중 적어도 하나를 포함할 수 있다. 도 11A의 프로세서(1100)는 도 2의 청소 로봇(100)의 프로세서(140) 또는 데이터 학습 서버(미도시)의 프로세서에 대응될 수 있다.
학습부(1110)는 소정의 상황 판단을 위한 기준을 갖는 인식 모델을 생성 또는 학습시킬 수 있다. 학습부(1110)는 수집된 학습 데이터를 이용하여 판단 기준을 갖는 인식 모델을 생성할 수 있다.
일 예로, 학습부(1110)는 객체가 포함된 이미지를 학습 데이터로써 이용하여 이미지에 포함된 객체가 어떤 것인지 판단하는 기준을 갖는 객체 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
또 다른 예로, 학습부(1110)는 객체가 포함된 화면에 포함된 주변 정보를 학습 데이터로써 이용하여 이미지에 포함된 객체 주변에 다양한 추가 정보를 판단하는 기준을 갖는 주변 정보 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
또 다른 예로, 학습부(1110)는 카메라에 의해 촬영된 이미지를 학습 데이터로써 이용하여 이미지에 포함된 장애물을 판단하는 기준을 갖는 장애물 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
인식부(1120)는 소정의 데이터를 학습된 인식 모델의 입력 데이터로 사용하여, 소정의 데이터에 포함된 인식 대상을 추정할 수 있다.
일 예로, 인식부(1120)는 객체가 포함된 객체 영역(또는, 이미지)을 학습된 인식 모델의 입력 데이터로 사용하여 객체 영역에 포함된 객체에 대한 객체 정보를 획득(또는, 추정, 추론)할 수 있다.
다른 예로, 인식부(1120)는 객체 정보를 학습된 인식 모델에 적용하여 검색 결과를 제공할 검색 카테고리를 추정(또는, 결정, 추론)할 수 있다. 이때, 검색 결과는 우선 순위에 따라 복수 개가 획득될 수도 있다.
학습부(1110)의 적어도 일부 및 인식부(1120)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(1110) 및 인식부(1120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 청소 로봇(100)에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(1110) 및 인식부(1120)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 학습부(1110) 및 인식부(1120)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(1210) 및 인식부(1220) 중 하나는 청소 로봇(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(1110) 및 인식부(1120)는 유선 또는 무선으로 통하여, 학습부(1110)가 구축한 모델 정보를 인식부(1120)로 제공할 수도 있고, 인식부(1120)로 입력된 데이터가 추가 학습 데이터로서 학습부(1110)로 제공될 수도 있다.
도 11B는, 다양한 실시예에 따른 학습부(1110) 및 인식부(1120)의 블록도이다.
도 11B의 (a)를 참조하면, 일부 실시예에 따른 학습부(1110)는 학습 데이터 획득부(1110-1) 및 모델 학습부(1110-4)를 포함할 수 있다. 또한, 학습부(1110)는 학습 데이터 전처리부(1110-2), 학습 데이터 선택부(1110-3) 및 모델 평가부(1110-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(1110-1)는 인식 대상을 추론하기 위한 인식 모델에 필요한 학습 데이터를 획득할 수 있다. 본 문서의 실시예로, 학습 데이터 획득부(1110-1)는 객체를 포함하는 전체 이미지, 객체 영역에 대응하는 이미지, 객체 정보를 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(1110) 또는 학습부(1110)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(1110-4)는 학습 데이터를 이용하여, 인식 모델이 소정의 인식 대상을 어떻게 판단할지에 관한 판단 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(1110-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인식 모델을 학습시킬 수 있다. 또는, 모델 학습부(1110-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1110-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1110-4)는, 예를 들어, 오류 역 전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인식 모델을 학습시킬 수 있다
또한, 모델 학습부(1110-4)는 입력 데이터를 이용하여 인식 대상을 추정하기 위하여 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준을 학습할 수도 있다.
모델 학습부(1110-4)는 미리 구축된 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인식 모델을 학습할 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기 분류되어 있을 수 있으며, 인식 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기분류되어 있을 수 있다.
인식 모델이 학습 되면, 모델 학습부(1110-4)는 학습된 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1110-4)는 학습된 인식 모델을 청소 로봇(100)의 메모리(130)에 저장할 수 있다. 또는, 모델 학습부(1110-4)는 학습된 인식 모델을 청소 로봇(100)과 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습부(1110)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(1110-2) 및 학습 데이터 선택부(1110-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(1110-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(1110-2)는 모델 학습부(1110-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1110-3)는 학습 데이터 획득부(1110-1)에서 획득된 데이터 또는 학습 데이터 전처리부(1110-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1110-4)에 제공될 수 있다. 학습 데이터 선택부(1110-3)는 기설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1110-3)는 모델 학습부(1110-4)에 의한 학습에 의해 기설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(1110)는 데이터 인식 모델의 분석 결과를 향상시키기 위하여, 모델 평가부(1110-5)를 더 포함할 수도 있다.
모델 평가부(1110-5)는 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1110-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(1110-5)는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중에서, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1110-5)는 각각의 학습된 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1110-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인식 모델로서 결정할 수 있다.
도 11B의 (b)를 참조하면, 일부 실시예에 따른 인식부(1120)는 인식 데이터 획득부(1120-1) 및 인식 결과 제공부(1120-4)를 포함할 수 있다.
또한, 인식부(1120)는 인식 데이터 전처리부(1120-2), 인식 데이터 선택부(1120-3) 및 모델 갱신부(1120-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
인식 데이터 획득부(1120-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 인식 결과 제공부(1120-4)는 인식 데이터 획득부(1120-1)에서 획득된 데이터를 입력 값으로 학습된 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(1120-4)는 데이터의 분석 목적에 따른 분석 결과를 제공할 수 있다. 인식 결과 제공부(1120-4)는 후술할 인식 데이터 전처리부(1120-2) 또는 인식 데이터 선택부(1120-3)에 의해 선택된 데이터를 입력 값으로 인식 모델에 적용하여 분석 결과를 획득할 수 있다. 분석 결과는 인식 모델에 의해 결정될 수 있다.
일 실시예로, 인식 결과 제공부(1120-4)는 인식 데이터 획득부(1120-1)에서 획득한 객체가 포함된 객체 영역을 학습된 인식 모델 적용하여 객체 영역에 대응하는 객체 정보를 획득(또는, 추정)할 수 있다.
다른 실시예로, 인식 결과 제공부(1120-4)는 인식 데이터 획득부(1120-1)에서 획득한 객체 영역, 객체 정보 및 컨텍스트 정보 중 적어도 하나를 학습된 인식 모델에 적용하여 검색 결과를 제공할 검색 카테고리를 획득(또는, 추정)할 수 있다
인식부(1120)는 인식 모델의 분석 결과를 향상시키거나, 분석 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 인식 데이터 전처리부(1120-2) 및 인식 데이터 선택부(1120-3)를 더 포함할 수도 있다.
인식 데이터 전처리부(1120-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 인식 데이터 전처리부(1120-2)는 인식 결과 제공부(1120-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1120-3)는 인식 데이터 획득부(1120-1)에서 획득된 데이터 또는 인식 데이터 전처리부(1120-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1120-4)에게 제공될 수 있다. 인식 데이터 선택부(1120-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1120-3)는 모델 학습부(1110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(1120-5)는 인식 결과 제공부(1120-4)에 의해 제공되는 분석 결과에 대한 평가에 기초하여, 인식 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(1120-5)는 인식 결과 제공부(1120-4)에 의해 제공되는 분석 결과를 모델 학습부(1110-4)에게 제공함으로써, 모델 학습부(1110-4)가 인식 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 12는, 일 실시예에 따른 청소 로봇(100) 및 서버(200)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 12를 참조하면, 서버(200)는 상황 판단을 위한 기준을 학습할 수 있으며, 청소 로봇(100)는 서버(200)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(200)의 모델 학습부(1110-4)는 도 11B에 도시된 학습부(1110)의 기능을 수행할 수 있다. 서버(200)의 모델 학습부(1110-4)는 소정의 상황을 판단하기 위하여 어떤 객체 영상, 객체 정보 또는 컨텍스트 정보를 이용할지, 상기 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다.
또한, 청소 로봇(100)의 인식 결과 제공부(1120-4)는 인식 데이터 선택부(1120-3)에 의해 선택된 데이터를 서버(200)에 의해 생성된 인식 모델에 적용하여 객체 정보 또는 검색 카테고리를 판단할 수 있다. 또는, 청소 로봇(100)의 인식 결과 제공부(1120-4)는 서버(200)에 의해 생성된 인식 모델을 서버(200)로부터 수신하고, 수신된 인식 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 청소 로봇(100)의 인식 결과 제공부(1120-4)는 인식 데이터 선택부(1120-3)에 의해 선택된 객체 영상을 서버(200)로부터 수신된 인식 모델에 적용하여, 객체 영상에 대응하는 객체 정보를 판단할 수 있다. 또는, 인식 결과 제공부(1120-4)는 컨텍스트 정보 및 컨텍스트 인식 정보 중 적어도 하나를 이용하여 검색 결과를 획득할 검색 카테고리를 판단할 수 있다.
도 13은, 본 개시의 일 실시 예에 따른 인식 모델을 이용하는 네트워크 시스템의 흐름도이다.
여기서, 제1 구성 요소(1301)는 전자 장치(A)이고, 제2 구성 요소(1302)는 인식 모델이 저장된 서버(200)가 될 수 있다. 또는, 제1 구성 요소(1301)는 범용 프로세서이고, 제2 구성 요소(1302)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1301)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소(1302)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(1302)는 제1 구성 요소(1301)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 데이터 인식 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(1301)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.
도 13을 참조하면, 제1 구성 요소(1301)는 객체를 포함하는 주변 환경을 촬영하여 캡처 이미지를 생성할 수 있다(1311). 제1 구성 요소(1301)는 캡처 이미지를 제2 구성 요소(1302)로 전송할 수 있다(1312). 이때, 제1 구성 요소(1301)는 캡처 이미지와 함께 선택된 객체에 대응되는 객체 영역에 대한 정보를 전송할 수 있다.
제2 구성 요소(1302)는 수신된 캡처 이미지를 객체 영역 및 주변 영역으로 분리할 수 있다(1313). 이때, 제2 구성 요소(1302)는 수신된 객체 영역에 대한 정보를 바탕으로 객체 영역 및 주변 영역을 분리할 수 있다.
제2 구성 요소(1302)는 분리된 객체 영역 및 주변 영역을 인식 모델로 입력하여 객체 정보 및 객체에 대한 추가 정보를 획득할 수 있다(1314). 이때, 제2 구성 요소(1302)는 객체 영역을 객체 인식 모델에 입력하여 객체 정보를 획득할 수 있으며, 주변 영역을 주변 정보 인식 모델에 입력하여 객체에 대한 추가 정보를 획득할 수 있다. 또한, 제2 구성 요소(1302)는 객체 정보 및 객체에 대한 추가 정보를 바탕으로 검색 카테고리 및 검색 카테고리의 우선 순위를 결정할 수 있다.
제2 구성 요소(1302)는 획득된 객체 정보 및 추가 정보를 이용하여 객체와 연관된 결과를 획득할 수 있다(1315). 이때, 제2 구성 요소(1302)는 객체 정보 및 추가 정보를 입력 데이터로서 인식 모델에 적용하여 객체와 연관된 결과를 획득할 수 있다. 이때, 제2 구성 요소(1302)는 검색 카테고리를 함께 이용하여 결과를 획득할 수 있다. 또한, 제2 구성 요소(1302)는 객체 정보 및 추가 정보 이외에 부가 데이터(예를 들어, 장애물의 위험도, 장애물의 사용자에 대한 중요도)을 이용하여 결과를 획득할 수 있다. 이때, 부가 데이터는 제1 구성 요소(1301) 또는 다른 요소로부터 전송되거나 제2 구성 요소(1302)에 기 저장될 수 있다.
제2 구성 요소(1302)가 객체와 연관된 결과를 제1 구성 요소(1301)로 전송하면(1316), 제1 구성 요소(1301)는 수신한 객체와 연관된 결과를 청소 로봇(100)의 이동 경로 계획에 반영할 수 있다(1317).
도 14는, 본 개시의 일 실시 예에 따른 청소 로봇이 인식 모델을 이용하여 제1 영역에 대한 검색 결과를 제공하는 실시예를 설명하기 위한 흐름도이다.
도 14를 참조하면. 청소 로봇(100)은 주변 환경을 캡쳐하여 이미지를 생성할 수 있다(1410). 청소 로봇(100)은 생성된 이미지를 입력 데이터 사용하는 학습된 제1 모델을 통해 제1 영역에 대한 제1 정보를 획득할 수 있다(1420). 이때, 제1 모델은 청소 로봇(100)에 저장될 수 있으나, 이는 일 실시예에 불과할 뿐, 외부 서버에 저장될 수 도 있다.
청소 로봇(100)은 제1 정보 및 생성된 이미지를 입력 데이터로 사용하는 학습된 제2 모델을 통해 제2 영역에 대한 제2 정보를 획득할 수 있다(1430). 이때, 제2 모델은 청소 로봇(100)에 저장될 수 있으나, 이는 일 실시예에 불과할 뿐, 외부 서버에 저장될 수 도 있다.
외부 서버에 제1 모델 및 제2 모델이 저장된 경우, 청소 로봇(100)은 생성된 이미지를 외부 서버로 전송하고, 외부 서버로부터 이미지를 제1 모델에 입력하여 획득한 제1 정보 및 이미지와 제1 정보를 제2 모델에 입력하여 획득한 제2 정보를 수신할 수 있다.
상술한 바와 같이, 사용자 입력이 감지된 제1 영역에 대한 제1 정보뿐만 아니라 제1 영역 주위의 제2 영역에 대한 제2 정보를 획득함으로써, 제1 영역에 대한 정보를 더욱 정확하게 획득할 수 있게 된다.
도 15는, 본 개시의 일 실시 예에 따른 인식 모델을 이용하는 시스템의 흐름도이다.
도 15에서, 청소 로봇(100)은 주변의 환경을 캡쳐하여 이미지를 생성할 수 있다(1510). 청소 로봇(100)은 생성된 이미지를 입력 데이터로 사용하는 학습된 제1 모델을 통해 제1 영역에 대한 제1 정보를 획득할 수 있다(1520).
청소 로봇(100)은 생성된 이미지 및 제1 정보를 서버(200)로 전송할 수 있다(1530).
서버(200)는 제1 정보 및 생성된 이미지를 입력 데이터로 사용하는 학습된 제2 모델을 통해 제2 영역에 대한 제2 정보를 획득할 수 있다(1540).
서버(200)는 제1 정보 및 제2 정보를 바탕으로 제1 영역과 관련된 정보를 검색할 수 있다(1550).
서버(200)는 제1 영역과 관련된 검색 결과를 청소 로봇(100)로 전송할 수 있으며(1560), 청소 로봇(100)는 수신된 검색 결과를 제공할 수 있다(1570).
즉, 상술한 실시예에서는 객체를 인식하기 위한 제1 모델을 통해 제1 정보를 획득하는 동작은 청소 로봇(100)이 수행하고, 컨텍스트 정보를 추정하기 위한 제2 모델을 통해 제2 정보를 획득하는 동작은 서버(200)가 수행할 수 있다. 즉, 적은 처리량으로도 정보를 수행할 수 있는 객체 인식 동작은 청소 로봇(100)가 수행할 수 있으며, 많은 처리량이 필요한 컨텍스트 추정 동작은 서버(200)가 수행할 수 있다
한편, 도 15에서 설명한 실시예에서는 하나의 서버(200)가 학습된 모델을 통해 제1 정보 또는 제2 정보를 획득하고, 제1 영역과 관련된 정보를 검색하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 복수의 서버가 상술한 동작을 나누어 수행할 수 있다. 즉, 제1 서버가 학습된 모델을 통해 제1 정보 및 제2 정보를 획득하고, 제2 서버가 제1 서버로부터 획득된 제1 정보 및 제2 정보를 바탕으로 제1 영역과 관련된 정보를 검색할 수 있다. 이는 일 실시 예에 불과하며, 서버(200)에서 수행되는 모든 과정은 청소 로봇(100)에서 수행될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 로봇의 제어방법에 있어서,
    영상을 촬영하는 단계;
    상기 영상에서 바닥면을 분할한 제1 영상을 획득하는 단계;
    학습된 제1 인공지능모델을 이용하여 상기 영상에 포함된 장애물을 인식하는 단계;
    상기 제1 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 로봇이 태스크를 수행하기 위한 제2 영상을 획득하여 저장하는 단계; 및
    상기 제2 영상을 바탕으로 상기 로봇이 이동하는 단계;를 포함하는 제어방법.
  2. 제1항에 있어서,
    영상을 촬영하는 상기 로봇의 이동상태정보 및 촬영방향정보를 획득하는 단계;를 더 포함하고,
    상기 저장하는 단계는,
    상기 이동상태정보 및 상기 방향정보를 상기 제2 영상과 함께 저장하는 단계;를 더 포함하는 제어방법.
  3. 제2항에 있어서,
    상기 제어방법은,
    상기 제2 영상과 상기 이동상태정보를 이용하여 상기 로봇과 벽면 간의 거리를 판단하는 단계;를 더 포함하는 제어방법.
  4. 제3항에 있어서,
    상기 제어방법은,
    상기 벽면까지의 거리를 바탕으로 상기 로봇의 이동속도를 결정하는 단계;를 더 포함하는 제어방법.
  5. 제2 항에 있어서,
    상기 제어방법은,
    상기 이동상태정보 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 상기 로봇의 이동가능영역에 대한 네비게이션 맵을 생성하는 단계;를 더 포함하는 제어방법.
  6. 제5항에 있어서,
    상기 제어방법은,
    상기 네비게이션 맵 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 로봇의 위치를 판단하고 이동계획을 수립하는 단계;를 더 포함하는 제어방법.
  7. 제1항에 있어서,
    상기 제1 영상을 획득하는 단계는,
    영상 속에 바닥면 영역을 감지하도록 학습된 제2 인공지능 모델을 이용하여 제1 영상을 획득하는 제어방법.
  8. 제 1항에 있어서,
    상기 장애물을 포함하는 영역은,
    상기 제1 인공지능 모델을 통해 인식된 장애물의 유형에 따라 상기 영역의 크기가 변하는 것을 특징으로 하는 제어방법.
  9. 제1항에 있어서,
    상기 제어방법은,
    상기 촬영한 영상의 뎁스 정보를 포함하는 뎁스 맵 영상을 획득하는 단계;를 더 포함하고,
    상기 뎁스 맵 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 청소 로봇이 태스크를 수행하기 위한 제3 영상을 획득하여 저장하는 단계; 및
    상기 제3 영상을 바탕으로 상기 로봇이 이동하는 단계;를 포함하는 제어방법.
  10. 로봇에 있어서,
    카메라;
    구동부;
    메모리; 및
    영상을 촬영하도록 상기 카메라를 제어하고, 상기 영상에서 바닥면을 분할한 제1 영상을 획득하고,
    학습된 제1 인공지능모델을 이용하여 상기 영상에 포함된 장애물을 인식하고,
    상기 제1 영상과 상기 인식된 장애물을 포함하는 영역에 대한 정보를 바탕으로 상기 로봇이 태스크를 수행하기 위한 제2 영상을 획득하여 상기 메모리에 저장하고,
    상기 제2 영상을 바탕으로 상기 로봇이 이동하도록 상기 구동부를 제어하는 프로세서;를 포함하는 청소 로봇.
  11. 제10항에 있어서,
    상기 로봇은,
    센서;를 더 포함하고,
    상기 프로세서는,
    상기 센서를 통해 영상을 촬영하는 상기 로봇의 이동상태정보 및 촬영방향정보를 획득하면, 상기 이동상태정보 및 상기 방향정보를 상기 제2 영상과 함께 상기 메모리에 저장하는 로봇.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 제2 영상과 상기 이동상태정보를 이용하여 상기 로봇과 벽면 간의 거리를 판단하는 로봇.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 벽면까지의 거리를 바탕으로 상기 로봇의 이동속도를 결정하는 로봇.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 이동상태정보 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 상기 로봇의 이동가능영역에 대한 네비게이션 맵을 생성하여 상기 메모리에 저장하는 로봇.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 네비게이션 맵 및 촬영방향정보와 함께 저장된 상기 제2 영상을 이용하여 로봇의 위치를 판단하고 이동계획을 수립하는 로봇.
PCT/KR2019/011133 2018-08-30 2019-08-30 로봇 및 그의 제어 방법 WO2020046038A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19853500.7A EP3782771A4 (en) 2018-08-30 2019-08-30 ROBOTS AND CONTROL PROCEDURES FOR IT
US16/973,354 US20210213619A1 (en) 2018-08-30 2019-08-30 Robot and control method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180102689A KR102629036B1 (ko) 2018-08-30 2018-08-30 로봇 및 그의 제어 방법
KR10-2018-0102689 2018-08-30

Publications (1)

Publication Number Publication Date
WO2020046038A1 true WO2020046038A1 (ko) 2020-03-05

Family

ID=69644640

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/011133 WO2020046038A1 (ko) 2018-08-30 2019-08-30 로봇 및 그의 제어 방법

Country Status (4)

Country Link
US (1) US20210213619A1 (ko)
EP (1) EP3782771A4 (ko)
KR (2) KR102629036B1 (ko)
WO (1) WO2020046038A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2906821A1 (es) * 2020-10-15 2022-04-20 Cecotec Res And Development Sl Sistema de deteccion de espacios desordenados para robot de limpieza y/o desinfeccion y metodo asociado

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210051014A (ko) * 2019-10-29 2021-05-10 엘지전자 주식회사 로봇 청소기 및 그의 동작 방법
US11687086B2 (en) * 2020-07-09 2023-06-27 Brookhurst Garage, Inc. Autonomous robotic navigation in storage site
KR20220012000A (ko) * 2020-07-22 2022-02-03 엘지전자 주식회사 로봇 청소기 및 이의 제어방법
CN113925390B (zh) * 2021-10-19 2022-09-09 珠海一微半导体股份有限公司 一种基于地图图像的跨区域通道识别方法、机器人及芯片
KR102583669B1 (ko) * 2022-10-04 2023-09-26 한국전기연구원 이동로봇의 표시물 인식 및 위치 추정방법 및 이를 이용한 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825919B1 (ko) * 2006-12-18 2008-04-28 엘지전자 주식회사 거리 측정 센서, 거리 측정 센서를 가진 이동로봇 및 그를이용한 이동로봇 주행 방법
KR20140133369A (ko) * 2013-05-10 2014-11-19 삼성전자주식회사 청소 로봇 및 그 제어방법
US20160307070A1 (en) * 2013-12-27 2016-10-20 Huawei Technologies Co., Ltd. Method for Recognizing Target Object in Image, and Apparatus
KR20170061373A (ko) * 2015-11-26 2017-06-05 삼성전자주식회사 이동 로봇 및 그 제어 방법
KR20180048705A (ko) * 2015-09-03 2018-05-10 에이비 엘렉트로룩스 로봇 청소 장치의 시스템

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4871160B2 (ja) * 2007-02-16 2012-02-08 株式会社東芝 ロボットおよびその制御方法
WO2013176760A1 (en) * 2012-05-22 2013-11-28 Intouch Technologies, Inc. Graphical user interfaces including touchpad driving interfaces for telemedicine devices
KR102094347B1 (ko) * 2013-07-29 2020-03-30 삼성전자주식회사 자동 청소 시스템, 청소 로봇 및 그 제어 방법
US9704043B2 (en) * 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information
WO2016097900A1 (en) * 2014-12-17 2016-06-23 Husqvarna Ab Robotic vehicle learning site boundary
US9682483B1 (en) * 2015-03-19 2017-06-20 Amazon Technologies, Inc. Systems and methods for removing debris from warehouse floors
US9701016B1 (en) * 2015-08-10 2017-07-11 X Development Llc Detection of movable ground areas of a robot's environment using a transducer array
KR102662949B1 (ko) * 2016-11-24 2024-05-02 엘지전자 주식회사 인공지능 이동 로봇 및 그 제어방법
KR20180087798A (ko) * 2017-01-25 2018-08-02 엘지전자 주식회사 이동 로봇 및 그 제어방법
US10583561B2 (en) * 2017-08-31 2020-03-10 Neato Robotics, Inc. Robotic virtual boundaries
US10437252B1 (en) * 2017-09-08 2019-10-08 Perceptln Shenzhen Limited High-precision multi-layer visual and semantic map for autonomous driving
US10606269B2 (en) * 2017-12-19 2020-03-31 X Development Llc Semantic obstacle recognition for path planning
US10466707B2 (en) * 2017-12-22 2019-11-05 X Development Llc Planning robot stopping points to avoid collisions
US10717435B2 (en) * 2018-01-03 2020-07-21 Qualcomm Incorporated Adjustable object avoidance proximity threshold based on classification of detected objects

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825919B1 (ko) * 2006-12-18 2008-04-28 엘지전자 주식회사 거리 측정 센서, 거리 측정 센서를 가진 이동로봇 및 그를이용한 이동로봇 주행 방법
KR20140133369A (ko) * 2013-05-10 2014-11-19 삼성전자주식회사 청소 로봇 및 그 제어방법
US20160307070A1 (en) * 2013-12-27 2016-10-20 Huawei Technologies Co., Ltd. Method for Recognizing Target Object in Image, and Apparatus
KR20180048705A (ko) * 2015-09-03 2018-05-10 에이비 엘렉트로룩스 로봇 청소 장치의 시스템
KR20170061373A (ko) * 2015-11-26 2017-06-05 삼성전자주식회사 이동 로봇 및 그 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3782771A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2906821A1 (es) * 2020-10-15 2022-04-20 Cecotec Res And Development Sl Sistema de deteccion de espacios desordenados para robot de limpieza y/o desinfeccion y metodo asociado
WO2022079337A1 (es) * 2020-10-15 2022-04-21 Cecotec Research And Development, S.L. Sistema de detección de espacios desordenados para robot de limpieza y/o desinfección y método asociado

Also Published As

Publication number Publication date
KR102629036B1 (ko) 2024-01-25
EP3782771A1 (en) 2021-02-24
KR20240014093A (ko) 2024-01-31
KR20200027087A (ko) 2020-03-12
EP3782771A4 (en) 2021-06-23
US20210213619A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2017091008A1 (ko) 이동 로봇 및 그 제어 방법
WO2018226048A1 (en) Cleaning robot and controlling method thereof
WO2020139064A1 (en) Cleaning robot and method of performing task thereof
WO2018074903A1 (ko) 이동 로봇의 제어방법
WO2020060267A1 (en) Cleaning robot and method for performing task thereof
WO2015194868A1 (ko) 광각 카메라가 탑재된 이동 로봇의 주행을 제어하기 위한 장치 및 그 방법
WO2016200098A1 (ko) 이동 로봇 및 그 제어방법
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2020138908A1 (ko) 전자 장치 및 그 제어 방법
WO2015194867A1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2011013862A1 (ko) 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇
EP3774202A1 (en) Cleaning robot and method for performing task thereof
US20120213443A1 (en) Map generating and updating method for mobile robot position recognition
WO2019151735A1 (en) Vision inspection management method and vision inspection system
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019031825A1 (ko) 전자 장치 및 그 동작 방법
WO2020027515A1 (ko) 속성 블록을 설정하는 이동 로봇
WO2019208950A1 (ko) 사용자에게 서비스를 제공하는 이동형 로봇 장치 및 방법
WO2020075954A1 (ko) 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법
WO2018117538A1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
CN112233221A (zh) 基于即时定位与地图构建的三维地图重建系统及方法
WO2019245320A1 (ko) 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법
WO2018124500A1 (ko) 객체의 인식 결과를 제공하는 방법 및 전자 장치
WO2022255677A1 (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: 19853500

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019853500

Country of ref document: EP

Effective date: 20201118

NENP Non-entry into the national phase

Ref country code: DE