KR20220125655A - Robot cleaner and control method thereof - Google Patents

Robot cleaner and control method thereof Download PDF

Info

Publication number
KR20220125655A
KR20220125655A KR1020210093064A KR20210093064A KR20220125655A KR 20220125655 A KR20220125655 A KR 20220125655A KR 1020210093064 A KR1020210093064 A KR 1020210093064A KR 20210093064 A KR20210093064 A KR 20210093064A KR 20220125655 A KR20220125655 A KR 20220125655A
Authority
KR
South Korea
Prior art keywords
room
map
robot cleaner
area
name
Prior art date
Application number
KR1020210093064A
Other languages
Korean (ko)
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 PCT/KR2022/002940 priority Critical patent/WO2022186598A1/en
Priority to US17/828,697 priority patent/US20220291693A1/en
Publication of KR20220125655A publication Critical patent/KR20220125655A/en

Links

Images

Classifications

    • 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
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0047Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with monitoring or indicating devices or circuits
    • H02J7/0048Detection of remaining charge capacity or state of charge [SOC]
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
    • G05D2201/0203

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Power Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing Of Printed Wiring (AREA)

Abstract

A robot cleaner is disclosed. The robot cleaner of the present invention comprises: a driving device; a sensor; a memory; and a processor that controls the driving device to allow the robot cleaner to travel in a space where the robot cleaner is located, generates a map of the space where the robot cleaner is located on the basis of information acquired through the sensor, and stores the generated map in the memory. The processor performs the following tasks: dividing a space to be cleaned on the map into a plurality of rooms; recognizing an object located in the space through the sensor; mapping and storing information about the recognized object to a location corresponding to the location of the recognized object on the map; and generating a room name on the basis of information on the object located in each space divided into rooms.

Description

로봇 청소기 및 이의 제어 방법{ROBOT CLEANER AND CONTROL METHOD THEREOF}Robot cleaner and its control method

본 개시는 로봇 청소기 및 이의 제어 방법에 관한 것으로, 보다 상세하게는 공간에 대한 맵을 생성하고, 맵 상의 청소 영역을 방 단위로 구분하여 제어할 수 있는 로봇 청소기 및 이의 제어 방법에 관한 것이다.The present disclosure relates to a robot cleaner and a control method thereof, and more particularly, to a robot cleaner capable of generating a map of a space and dividing and controlling a cleaning area on the map in units of rooms and a control method thereof.

일반적으로 로봇은 산업용으로 개발되어 여러 산업 현장에서 널리 사용되고 있다. 최근에는 로봇을 이용한 분야가 더욱 확대되어, 의료 분야, 우주 항공 분야뿐만 아니라, 일반 가정집에도 활용되고 있다. In general, robots are developed for industrial use and are widely used in various industrial sites. In recent years, the field of using robots has been further expanded, and it is being used not only in the medical field and aerospace field, but also in general households.

가정에서 사용되는 로봇 중 대표적인 것이, 로봇 청소기이다. 로봇 청소기는 가정 내 실내 공간을 스스로 주행하면서 먼지 등의 이물질을 흡입하면서 청소하는 기능을 수행한다. A typical example of robots used at home is a robot vacuum cleaner. The robot vacuum cleaner performs the function of cleaning while inhaling foreign substances such as dust while driving in the indoor space of the home by itself.

이와 같이, 로봇 청소기를 사용하는 사용자들이 늘어나고 있는 상황에서, 보다 효율적으로 로봇 청소기를 제어하기 위한 방안의 모색이 요청된다.As such, in a situation where the number of users using the robot cleaner is increasing, it is required to find a way to more efficiently control the robot cleaner.

본 개시는 상술한 필요성에 따라 안출된 것으로, 본 개시의 목적은 로봇 청소기에 의해 생성된 맵 상의 청소 영역을 방 단위로 구분하여 제어할 수 있는 로봇 청소기 및 이의 제어 방법을 제공함에 있다.The present disclosure has been made in response to the above-mentioned necessity, and an object of the present disclosure is to provide a robot cleaner capable of classifying and controlling a cleaning area on a map generated by the robot cleaner in units of rooms, and a control method thereof.

이상과 같은 목적을 달성하기 위해 본 개시의 일 실시예에 따른 로봇 청소기는, 구동 장치, 센서, 메모리 및 상기 로봇 청소기가 위치한 공간을 주행하도록 상기 구동 장치를 제어하고, 상기 센서를 통해 획득된 정보에 기초하여 상기 로봇 청소기가 위치한 공간에 대한 맵을 생성하고, 생성된 맵을 상기 메모리에 저장하는 프로세서를 포함하고, 상기 프로세서는, 상기 맵 상의 청소 영역을 방 단위로 구분하고, 상기 센서를 통해 상기 공간 내에 위치한 사물을 인식하고, 인식된 사물에 대한 정보를 상기 맵 상에서 상기 인식된 사물의 위치에 대응되는 위치에 매핑하여 저장하고, 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성한다.In order to achieve the above object, the robot cleaner according to an embodiment of the present disclosure controls the driving device to travel through a driving device, a sensor, a memory, and a space in which the robot cleaner is located, and information obtained through the sensor and a processor for generating a map for a space in which the robot cleaner is located based on Recognizes an object located in the space, maps information on the recognized object to a location corresponding to the recognized object's location on the map and stores it, and based on information on objects located in each area divided by room to create a room name.

이 경우, 상기 프로세서는, 방에 위치한 사물의 종류 및 방의 면적 중 적어도 하나에 기초하여 방 이름을 생성할 수 있다.In this case, the processor may generate a room name based on at least one of a type of an object located in the room and an area of the room.

한편, 상기 프로세서는, 상기 맵 상에서 하나의 방에 대한 분할 명령이 입력되면, 입력된 분할 명령에 대응되도록 상기 맵 상에서 방을 분할하고, 분할을 통해 생성된 각각의 방에 대해 방 이름을 생성하고, 상기 맵 상에서 복수의 방을 하나로 병합하는 병합 명령이 입력되면, 입력된 병합 명령에 대응되도록 상기 맵 상에서 복수의 방을 병합하고, 병합을 통해 생성된 하나의 방에 대해 방 이름을 생성할 수 있다.Meanwhile, when a division command for one room is input on the map, the processor divides a room on the map to correspond to the input division command, and generates a room name for each room generated through division, , when a merge command for merging a plurality of rooms into one is input on the map, a plurality of rooms can be merged on the map to correspond to the input merging command, and a room name can be generated for one room created through merging. have.

이 경우, 상기 프로세서는, 분할을 통해 생성된 각각의 방에 위치한 사물의 정보에 기초하여 분할된 각각의 방 이름을 생성할 수 있다.In this case, the processor may generate a name of each divided room based on information on a thing located in each room generated through division.

한편, 상기 프로세서는, 분할을 통해 생성된 각각의 방의 면적에 기초하여, 가장 넓은 면적을 가진 방은 분할 전 방의 이름을 지정하고, 나머지 방에 대하여는 방에 위치한 사물의 정보에 기초하여 방 이름을 생성할 수 있다.On the other hand, the processor, based on the area of each room created through division, designates the name of the room before the division for the room with the largest area, and for the remaining rooms, the room name based on the information of objects located in the room can create

한편, 상기 프로세서는, 병합을 통해 생성된 하나의 방에 위치한 사물의 정보에 기초하여 병합된 방 이름을 생성할 수 있다.Meanwhile, the processor may generate a merged room name based on information on a thing located in one room generated through merging.

한편, 상기 프로세서는, 병합 전 복수의 방 각각의 면적에 기초하여, 가장 넓은 면적을 가진 방의 이름을 병합된 방 이름으로 생성할 수 있다.Meanwhile, the processor may generate the name of the room having the largest area as the merged room name, based on the area of each of the plurality of rooms before merging.

한편, 상기 프로세서는, 상기 맵 상의 복수의 방 중 적어도 어느 하나에 대하여 작동 금지 시간 설정 명령이 입력되면, 작동 금지 시간 설정 명령이 입력된 방에 대응되는 청소 영역에서는 설정된 시간대에 상기 로봇 청소기의 청소 동작을 중지할 수 있다.On the other hand, when the operation prohibition time setting command is input for at least one of the plurality of rooms on the map, the processor cleans the robot cleaner in a set time period in the cleaning area corresponding to the room to which the operation prohibition time setting command is input operation can be stopped.

한편, 상기 프로세서는, 가구 주변 청소 명령이 입력되면, 상기 맵 상에 저장된 사물 중 가구의 위치를 중심으로 한 기설정된 영역에 대해 청소 동작을 수행하도록 상기 구동 장치를 제어할 수 있다.Meanwhile, when a command for cleaning around furniture is input, the processor may control the driving device to perform a cleaning operation on a preset area centered on the location of the furniture among objects stored on the map.

한편, 상기 프로세서는, 상기 로봇 청소기가 상기 맵 상의 일 영역에서 기 설정된 횟수 이상 오작동이 발생한 것으로 식별되면, 상기 일 영역에 대응되는 청소 영역을 청소 제외 영역으로 설정할 수 있다.Meanwhile, when it is identified that the robot cleaner has malfunctioned more than a preset number of times in one area on the map, the processor may set a cleaning area corresponding to the one area as a cleaning exclusion area.

한편, 상기 프로세서는, 상기 메모리에 저장된 맵이 없는 경우 맵 작성을 제안하는 알림을 제공하고, 제1 사용자 명령이 입력되면 공간을 이동하며 맵을 생성하고, 제2 사용자 명령이 입력되면 청소 동작을 수행함과 동시에 맵을 작성할 수 있다.On the other hand, the processor provides a notification suggesting map creation when there is no map stored in the memory, moves the space when a first user command is input, creates a map, and performs a cleaning operation when a second user command is input You can create a map at the same time you do it.

한편, 본 개시의 일 실시예에 따른 사용자 단말 장치는, 통신 인터페이스, 디스플레이 및 상기 통신 인터페이스를 통해 로봇 청소기로부터 맵 정보를 수신하면, 맵 상의 청소 영역이 방 단위로 구분된 맵 UI를 표시하도록 상기 디스플레이를 제어하는 프로세서를 포함하고, 상기 맵 UI는 구분된 방 각각에 대응되는 방 이름을 표시하고, 상기 로봇 청소기는 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성한다.On the other hand, the user terminal device according to an embodiment of the present disclosure, when receiving map information from the robot cleaner through a communication interface, a display, and the communication interface, displays a map UI in which the cleaning area on the map is divided into rooms. a processor for controlling a display, wherein the map UI displays a room name corresponding to each divided room, and the robot cleaner generates a room name based on information on objects located in each area divided by room unit do.

이 경우, 상기 프로세서는, 상기 맵 UI 상에서 하나의 방에 대한 분할 명령 또는 복수의 방을 하나로 병합하는 병합 명령을 입력 받기 위한 편집 UI를 표시하고, 상기 편집 UI를 통해 입력 받은 분할 명령 또는 병합 명령을 상기 로봇 청소기로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 로봇 청소기로부터 업데이트된 맵 정보를 수신하면, 방 이름이 업데이트된 맵 UI를 표시할 수 있다.In this case, the processor displays an edit UI for receiving a split command for one room or a merge command for merging a plurality of rooms into one on the map UI, and the split command or merge command received through the edit UI When the communication interface is controlled to transmit to the robot cleaner and updated map information is received from the robot cleaner, a map UI with an updated room name may be displayed.

한편, 본 개시의 일 실시예에 따른 로봇 청소기의 제어 방법은, 상기 로봇 청소기가 위치한 공간을 주행하며 센서를 통해 획득된 정보에 기초하여 상기 로봇 청소기가 위치한 공간에 대한 맵을 생성하는 단계, 생성된 맵을 저장하는 단계, 상기 맵 상의 청소 영역을 방 단위로 구분하는 단계, 상기 센서를 통해 상기 공간 내에 위치한 사물을 인식하는 단계, 인식된 사물에 대한 정보를 상기 맵 상에서 상기 인식된 사물의 위치에 대응되는 위치에 매핑하여 저장하는 단계 및 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는 단계를 포함할 수 있다.On the other hand, the control method of the robot cleaner according to an embodiment of the present disclosure includes the steps of generating a map for a space in which the robot cleaner is located based on information obtained through a sensor while driving in a space in which the robot cleaner is located; Storing the map, dividing the cleaning area on the map by room unit, recognizing an object located in the space through the sensor, and providing information on the recognized object to the location of the recognized object on the map It may include the steps of storing the mapping to a location corresponding to , and generating a room name based on the information of the object located in each area divided by the room unit.

이 경우, 상기 방 이름을 생성하는 단계는, 방에 위치한 사물의 종류 및 방의 면적 중 적어도 하나에 기초하여 방 이름을 생성할 수 있다.In this case, the generating of the room name may include generating the room name based on at least one of a type of an object located in the room and an area of the room.

한편, 상기 방 이름을 생성하는 단계는, 상기 맵 상에서 하나의 방에 대한 분할 명령이 입력되면, 입력된 분할 명령에 대응되도록 상기 맵 상에서 방을 분할하고, 분할을 통해 생성된 각각의 방에 대해 방 이름을 생성하고, 상기 맵 상에서 복수의 방을 하나로 병합하는 병합 명령이 입력되면, 입력된 병합 명령에 대응되도록 상기 맵 상에서 복수의 방을 병합하고, 병합을 통해 생성된 하나의 방에 대해 방 이름을 생성할 수 있다.Meanwhile, in the generating of the room name, when a division command for one room is input on the map, the room is divided on the map to correspond to the input division command, and each room created through division is When a merge command for generating a room name and merging a plurality of rooms into one is input on the map, a plurality of rooms are merged on the map to correspond to the input merging command, and a room created through merging is You can create a name.

이 경우, 상기 방 이름을 생성하는 단계는, 분할을 통해 생성된 각각의 방에 위치한 사물의 정보에 기초하여 분할된 각각의 방 이름을 생성할 수 있다.In this case, in the generating of the room name, each divided room name may be generated based on information on objects located in each room generated through division.

한편, 상기 방 이름을 생성하는 단계는, 분할을 통해 생성된 각각의 방의 면적에 기초하여, 가장 넓은 면적을 가진 방은 분할 전 방의 이름을 지정하고, 나머지 방에 대하여는 방에 위치한 사물의 정보에 기초하여 방 이름을 생성할 수 있다.On the other hand, in the generating of the room name, based on the area of each room created through division, the room with the largest area designates the name of the room before division, and for the remaining rooms, information of objects located in the room is used. You can create a room name based on it.

한편, 상기 방 이름을 생성하는 단계는, 병합을 통해 생성된 하나의 방에 위치한 사물의 정보에 기초하여 병합된 방 이름을 생성할 수 있다.Meanwhile, in the generating of the room name, the merged room name may be generated based on information on a thing located in one room generated through merging.

한편, 상기 방 이름을 생성하는 단계는, 병합 전 복수의 방 각각의 면적에 기초하여, 가장 넓은 면적을 가진 방의 이름을 병합된 방 이름으로 생성할 수 있다.Meanwhile, in the generating of the room name, the name of the room having the largest area may be generated as the merged room name, based on the area of each of the plurality of rooms before merging.

도 1은 본 개시의 일 실시예에 따른 전자 시스템을 개략적으로 나타내는 도면이다.
도 2는본 개시의 일 실시예에 따른 로봇 청소기의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따른 로봇 청소기의 세부 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 사용자 단말 장치의 구성을 나타내는 블록도이다.
도 5는 저장된 맵이 없는 경우 맵 작성을 제안하는 알림을 제공하는 UI를 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 사용자 단말 장치를 통해 제공되는 맵 UI를 설명하기 위한 도면이다.
도 7은 맵 UI 상의 청소 영역을 방 단위로 구분하고, 맵 UI 상에서 각각의 방에 대한 방 이름을 표시하는 동작을 설명하기 위한 도면이다.
도 8은 맵 UI 상에서 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는 동작을 설명하기 위한 도면이다.
도 9는 맵 UI 상에서 분할 선을 생성하여 방을 분할하는 동작을 설명하기 위한 도면이다.
도 10은 맵 UI 상에서 분할 선을 수정하여 방을 분할하는 동작을 설명하기 위한 도면이다.
도 11은 맵 UI 상에서 분할 선을 삭제하여 방을 병합하는 동작을 설명하기 위한 도면이다.
도 12는 맵 UI 상에서 인접한 복수의 방을 선택하여 방을 병합하는 동작을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시예에 따른 로봇 청소기의 작동 금지 시간을 설정하는 UI를 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 로봇 청소기의 청소 동작 수행 후 장애물에 의해 청소가 완료되지 않은 미청소 영역에 대해 다시 청소할 것을 제안하는 UI를 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 로봇 청소기의 청소 동작 수행 후 로봇 청소기 오작동에 의해 청소가 완료되지 않은 미청소 영역에 대해 다시 청소할 것을 제안하는 UI를 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따른 로봇 청소기의 청소 동작 수행 후 로봇 청소기에 설정된 작동 금지 시간에 의해 청소가 완료되지 않은 미청소 영역에 대해 다시 청소할 것을 제안하는 UI를 설명하기 위한 도면이다.
도 17은 본 개시의 일 실시예에 따른 로봇 청소기의 가구 주변 청소 동작을 제어하기 위한 UI를 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시예에 따른 로봇 청소기가 맵 상의 일 영역에서 지속적으로 오작동이 발생하는 경우 해당 영역을 청소 제외 영역으로 설정하도록 가이드하는 UI를 설명하기 위한 도면이다.
도 19는 본 개시의 일 실시예에 따른 로봇 청소기의 제어 방법을 설명하기 위한 흐름도이다.
1 is a diagram schematically illustrating an electronic system according to an embodiment of the present disclosure.
2 is a block diagram illustrating a configuration of a robot cleaner according to an embodiment of the present disclosure.
3 is a block diagram illustrating a detailed configuration of a robot cleaner according to an embodiment of the present disclosure.
4 is a block diagram illustrating a configuration of a user terminal device according to an embodiment of the present disclosure.
FIG. 5 is a diagram for explaining a UI that provides a notification suggesting map creation when there is no stored map.
6 is a diagram for explaining a map UI provided through a user terminal device according to an embodiment of the present disclosure.
FIG. 7 is a diagram for explaining an operation of dividing a cleaning area on a map UI by room unit and displaying a room name for each room on the map UI.
8 is a diagram for explaining an operation of generating a room name based on information on objects located in each area divided by room on the map UI.
9 is a diagram for explaining an operation of dividing a room by creating a dividing line on the map UI.
10 is a diagram for explaining an operation of dividing a room by correcting a dividing line on the map UI.
11 is a diagram for explaining an operation of merging rooms by deleting a dividing line on the map UI.
12 is a diagram for explaining an operation of selecting a plurality of adjacent rooms on a map UI and merging the rooms.
13 is a view for explaining a UI for setting an operation prohibition time of a robot cleaner according to an embodiment of the present disclosure.
14 is a view for explaining a UI suggesting to clean an uncleaned area in which cleaning is not completed due to an obstacle after the robot cleaner performs a cleaning operation according to an embodiment of the present disclosure;
15 is a view for explaining a UI suggesting to clean an uncleaned area in which cleaning is not completed due to a malfunction of the robot cleaner after the robot cleaner performs a cleaning operation according to an embodiment of the present disclosure;
FIG. 16 is a view for explaining a UI suggesting to clean an uncleaned area in which cleaning is not completed due to an operation prohibition time set in the robot cleaner after performing a cleaning operation of the robot cleaner according to an embodiment of the present disclosure;
17 is a view for explaining a UI for controlling a cleaning operation around furniture of a robot cleaner according to an embodiment of the present disclosure.
18 is a view for explaining a UI for guiding the robot cleaner to set the area as a cleaning exclusion area when a malfunction continuously occurs in an area on a map by the robot cleaner according to an embodiment of the present disclosure;
19 is a flowchart illustrating a control method of a robot cleaner according to an embodiment of the present disclosure.

이하에서 설명되는 실시 예는 본 개시의 이해를 돕기 위하여 예시적으로 나타낸 것이며, 본 개시는 여기서 설명되는 실시 예들과 다르게, 다양하게 변형되어 실시될 수 있음이 이해되어야 할 것이다. 다만, 이하에서 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성요소에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명 및 구체적인 도시를 생략한다. 또한, 첨부된 도면은 개시의 이해를 돕기 위하여 실제 축척대로 도시된 것이 아니라 일부 구성요소의 치수가 과장되게 도시될 수 있다.It should be understood that the embodiments described below are illustratively shown to help the understanding of the present disclosure, and the present disclosure may be implemented with various modifications, unlike the embodiments described herein. However, in the following description of the present disclosure, if it is determined that a detailed description of a related known function or component may unnecessarily obscure the subject matter of the present disclosure, the detailed description and specific illustration thereof will be omitted. In addition, the accompanying drawings are not drawn to scale in order to help understanding of the disclosure, but dimensions of some components may be exaggerated.

본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. The terms used in this specification and claims have been chosen in consideration of the function of the present disclosure. However, these terms may vary depending on the intention, legal or technical interpretation of a person skilled in the art, and the emergence of new technology. Also, some terms are arbitrarily selected by the applicant. These terms may be interpreted in the meaning defined in the present specification, and if there is no specific term definition, it may be interpreted based on the general content of the present specification and common technical knowledge in the art.

본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. In the description of the present disclosure, the order of each step should be understood as non-limiting unless the preceding step must be logically and temporally performed before the subsequent step. That is, except for the above exceptional cases, even if the process described as the subsequent step is performed before the process described as the preceding step, the essence of the disclosure is not affected, and the scope of rights should also be defined regardless of the order of the steps.

본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In the present specification, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms may be used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

그리고, 본 명세서에서는 본 개시의 각 실시 예의 설명에 필요한 구성요소를 설명한 것이므로, 반드시 이에 한정되는 것은 아니다. 따라서, 일부 구성요소는 변경 또는 생략될 수도 있으며, 다른 구성요소가 추가될 수도 있다. 또한, 서로 다른 독립적인 장치에 분산되어 배치될 수도 있다.In addition, since the present specification describes components necessary for the description of each embodiment of the present disclosure, the present disclosure is not necessarily limited thereto. Accordingly, some components may be changed or omitted, and other components may be added. In addition, they may be distributed and arranged in different independent devices.

나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 개시의 실시 예를 상세하게 설명하지만, 본 개시가 실시 예들에 의해 제한되거나 한정되는 것은 아니다.Furthermore, embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present disclosure is not limited or limited by the embodiments.

이하, 도면들을 참고하여 본 개시를 상세히 설명하도록 한다.Hereinafter, the present disclosure will be described in detail with reference to the drawings.

도 1은 본 개시의 일 실시예에 따른 전자 시스템을 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating an electronic system according to an embodiment of the present disclosure.

도 1을 참고하면, 전자 시스템(1000)은 로봇 청소기(100), 사용자 단말 장치(200) 및 서버(300)를 포함할 수 있다.Referring to FIG. 1 , the electronic system 1000 may include a robot cleaner 100 , a user terminal device 200 , and a server 300 .

로봇 청소기(100)는 공간을 주행하며 자동으로 청소 동작을 수행하는 장치이다.The robot cleaner 100 is a device that travels in space and automatically performs a cleaning operation.

여기에서, 청소 동작은 로봇 청소기(100)가 바닥면에 존재하는 오물, 먼지 등의 이물질을 흡입하는 것을 의미할 수 있다. 이를 위해, 로봇 청소기(100)는 이물질을 흡입하기 위한 청소 장치(즉, 청소 툴)를 포함할 수 있다. 청소 장치는 회전 가능하게 설치되어 이물질을 수거하기 위한 브러쉬(brush)를 포함할 수 있으며, 모터 등을 통해 흡입력을 발생시켜, 바닥면으로부터 이물질을 흡입할 수 있다. 이때, 흡입된 이물질은 로봇 청소기(100)에 마련된 먼지 통에 수용될 수 있다.Here, the cleaning operation may mean that the robot cleaner 100 sucks foreign substances such as dirt and dust present on the floor surface. To this end, the robot cleaner 100 may include a cleaning device (ie, a cleaning tool) for sucking in foreign substances. The cleaning device is rotatably installed and may include a brush for collecting foreign substances, and may generate a suction force through a motor or the like to suck the foreign substances from the floor. In this case, the sucked foreign substances may be accommodated in a dust bin provided in the robot cleaner 100 .

사용자 단말 장치(200)는 사용자에게 정보를 제공하거나 사용자 명령을 입력 받는 등 다양한 기능을 수행할 수 있는 장치이며, 스마트폰, 태블릿, 웨어러블 장치, PC 등 다양한 전자 장치일 수 있다.The user terminal device 200 is a device capable of performing various functions, such as providing information to a user or receiving a user command, and may be various electronic devices such as a smart phone, a tablet, a wearable device, and a PC.

사용자 단말 장치(200)는 로봇 청소기(100), 서버(300)와 같은 외부 장치로부터 수신한 정보를 사용자에게 제공하거나, 사용자로부터 입력 받은 명령을 외부 장치로 전송할 수 있다. 이를 위해, 사용자 단말 장치(200)는 다양한 UI를 제공할 수 있다.The user terminal device 200 may provide the user with information received from an external device such as the robot cleaner 100 and the server 300 , or transmit a command inputted from the user to the external device. To this end, the user terminal device 200 may provide various UIs.

사용자 단말 장치(200)는 어플리케이션을 제공하는 서버(미도시)로부터 어플리케이션을 다운로드 받아 설치할 수 있다. 이 경우, 사용자는 사용자 단말 장치(200)에서 어플리케이션을 실행하고 사용자 계정을 입력하여, 입력된 사용자 계정을 통해 서버(300)에 로그인할 수 있으며, 사용자 단말 장치(100)는 로그인된 사용자 계정을 기반으로 서버(300)와 통신을 수행할 수 있다.The user terminal device 200 may download and install an application from a server (not shown) that provides the application. In this case, the user executes an application on the user terminal device 200 and inputs a user account, and can log in to the server 300 through the input user account, and the user terminal device 100 receives the logged in user account. Based on the communication with the server 300 may be performed.

사용자 단말 장치(200)는 다양한 통신 네트워크를 통해 서버(300)에 접속하여, 사용자 단말 장치(200)에 설치된 어플리케이션을 통해 서버(300)와 다양한 정보를 송수신할 수 있다. 예를 들어, 사용자 단말 장치(200)는 서버(300)를 통해 로봇 청소기(100)를 제어하기 위한 제어 신호를 전송하거나, 로봇 청소기(100)로부터 제공된 정보를 수신할 수 있다.The user terminal device 200 may access the server 300 through various communication networks, and may transmit/receive various information to and from the server 300 through an application installed in the user terminal device 200 . For example, the user terminal device 200 may transmit a control signal for controlling the robot cleaner 100 through the server 300 or receive information provided from the robot cleaner 100 .

서버(300)는 외부 장치의 데이터를 수집하고 처리하는 전자 장치를 지칭할 수 있다. 예를 들어, 서버(300)는 클라우드 서버 등과 같이 서버 전용의 기능을 수행하는 장치뿐만 아니라, 다른 기능과 함께 서버의 기능을 수행할 수 있는 스마트폰, 태블릿, 웨어러블 장치, PC 등 다양한 전자 장치로 구현될 수도 있다. 다만, 이는 일 실시 예일 뿐이며, 서버(300)는 이에 열거되지 않은 다양한 종류의 전자 장치로 구현되는 것 또한 가능하다. 또한, 서버(300)는 하나의 장치로 구현되거나, 또는 복수의 장치로 구성되는 집합체로 구현될 수 있다. 일 예로, 서버(300)는 SmartThings™ 서비스를 제공하는 서버일 수 있다.The server 300 may refer to an electronic device that collects and processes data of an external device. For example, the server 300 is not only a device that performs a function dedicated to the server, such as a cloud server, but also various electronic devices such as a smartphone, tablet, wearable device, and PC that can perform the function of the server together with other functions. may be implemented. However, this is only an example, and the server 300 may be implemented with various types of electronic devices not listed here. Also, the server 300 may be implemented as a single device or as an aggregate comprising a plurality of devices. For example, the server 300 may be a server that provides a SmartThings™ service.

한편, 본 명세서에서 개시되는 로봇 청소기(100), 사용자 단말 장치(200), 등 전자 장치에 의해 수행되는 다양한 연산은 서버(300)를 통해 수행될 수 있다.Meanwhile, various operations performed by the electronic device, such as the robot cleaner 100 , the user terminal device 200 , and the like disclosed herein, may be performed through the server 300 .

도 2는 본 개시의 일 실시예에 따른 로봇 청소기의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a robot cleaner according to an embodiment of the present disclosure.

도 2를 참고하면, 로봇 청소기(100)는 구동 장치(110), 센서(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다.Referring to FIG. 2 , the robot cleaner 100 may include a driving device 110 , a sensor 120 , a memory 130 , and a processor 140 .

구동 장치(110)는 로봇 청소기(100)를 이동시키기 위한 구성이다. 예를 들어, 구동 장치(110)는 로봇 청소기(100)의 본체의 좌측 및 우측에 각각 설치된 바퀴 및 바퀴들을 구동하기 위한 모터 등을 포함할 수 있다. 이에 따라, 구동 장치(110)는 로봇 청소기(100)의 이동, 정지, 속도 제어, 방향 전환 및 각속도 변경 등과 같은 다양한 주행 동작을 수행할 수 있다.The driving device 110 is configured to move the robot cleaner 100 . For example, the driving device 110 may include wheels installed on the left and right sides of the main body of the robot cleaner 100 , respectively, and a motor for driving the wheels. Accordingly, the driving device 110 may perform various driving operations such as movement, stopping, speed control, direction change, and angular velocity change of the robot cleaner 100 .

센서(120)는 로봇 청소기(100) 및 로봇 청소기(100) 주변과 관련된 다양한 정보를 획득할 수 있으며, 로봇 청소기(100)가 위치한 주변 공간의 환경을 센싱하여 센싱 데이터를 획득할 수 있는 구성이다. 예를 들어, 센서(120)는 로봇 청소기(100)의 주변 공간에 존재하는 오브젝트와의 거리를 측정하는 거리 센서(예: 레이더(Radar, Radio Detection And Ranging), 라이다(LiDAR, Light Detection and Ranging), 초음파 센서 등), 로봇 청소기(100)의 주변 공간에 대한 이미지를 획득하는 카메라(예: 모노 카메라, 스테레오 카메라 등), 뎁스 카메라, 지자기 센서, 로봇 청소기(100)의 각속도를 감지하는 자이로 센서, 로봇 청소기(100)에 설치된 바퀴의 회전수를 감지하는 엔코더(encoder) 등 중 적어도 하나를 포함할 수 있다.The sensor 120 may acquire various information related to the robot cleaner 100 and the robot cleaner 100 , and may acquire sensing data by sensing the environment of the space around the robot cleaner 100 . . For example, the sensor 120 is a distance sensor (eg, radar (Radar, Radio Detection And Ranging), LiDAR, Light Detection and Ranging), ultrasonic sensor, etc.), a camera that acquires an image of the surrounding space of the robot cleaner 100 (eg, a mono camera, a stereo camera, etc.), a depth camera, a geomagnetic sensor, that detects the angular velocity of the robot cleaner 100 It may include at least one of a gyro sensor and an encoder that detects the number of rotations of the wheels installed in the robot cleaner 100 .

메모리(130)는 프로세서(140)와 전기적으로 연결되며, 본 개시의 다양한 실시예를 위해 필요한 데이터를 저장할 수 있다.The memory 130 is electrically connected to the processor 140 and may store data necessary for various embodiments of the present disclosure.

예를 들어, 메모리(130)에는 로봇 청소기(100)가 위치하는 공간에 대해 생성된 맵이 저장될 수 있다.For example, a map generated for a space in which the robot cleaner 100 is located may be stored in the memory 130 .

메모리(130)는 로봇 청소기(100)의 적어도 하나의 다른 구성요소에 관계된 명령어 또는 데이터를 저장할 수 있다. 메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(130)는 프로세서(140)에 의해 액세스되며, 프로세서(140)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(130), 프로세서(140) 내 롬(ROM), 램(RAM) 또는 로봇 청소기(100)에 장착되는 메모리 카드(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.The memory 130 may store commands or data related to at least one other component of the robot cleaner 100 . The memory 130 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD). The memory 130 is accessed by the processor 140 , and reading/writing/modification/deletion/update of data by the processor 140 may be performed. In the present disclosure, the term memory refers to a memory 130, a ROM, a RAM, or a memory card (eg, a micro SD card, a memory stick) mounted in the robot cleaner 100 in the processor 140 . may include

프로세서(140)는 센서(120)를 통해 획득된 정보에 기초하여 로봇 청소기(100)가 위치한 공간에 대한 맵을 생성(또는 업데이트)할 수 있다. 그리고, 프로세서(140)는 생성(또는 업데이트)된 맵을 메모리(130)에 저장할 수 있다.The processor 140 may generate (or update) a map of the space in which the robot cleaner 100 is located based on the information obtained through the sensor 120 . In addition, the processor 140 may store the generated (or updated) map in the memory 130 .

이 경우, 프로세서(140)는 SLAM(simultaneous localization and mapping) 알고리즘을 이용하여, 로봇 청소기(100)가 위치하는 공간에 대응되는 맵을 생성할 수 있다. In this case, the processor 140 may generate a map corresponding to the space in which the robot cleaner 100 is located by using a simultaneous localization and mapping (SLAM) algorithm.

예를 들어, 프로세서(140)는 맵을 생성하기 위해 로봇 청소기(100)가 주행을 시작하는 위치(가령, 좌표) 및 로봇 청소기(100)의 회전각을 각각 기준 위치 및 기준 회전각으로 설정할 수 있다. 그리고, 프로세서(140)는 맵을 생성하기 위해 로봇 청소기(100)가 주행하는 동안 획득된 로봇 청소기(100)와 주변 물체와의 거리, 로봇 청소기(100)의 회전각 및 이동 거리를 SLAM 알고리즘의 입력으로 하여, SLAM 알고리즘을 통해 로봇 청소기(100)의 위치(가령, 좌표) 및 회전각(가령, 로봇 청소기(100)의 위치가 반영된 회전각)을 획득할 수 있다. 이 경우, 프로세서(140)는 라이다 센서를 통해 로봇 청소기(100)와 주변 물체와의 거리를 획득할 수 있다. 그리고, 프로세서(140)는 자이로 센서를 통해 획득한 로봇 청소기(100)의 각속도에 기초하여 로봇 청소기(100)의 회전각을 산출하고, 엔코더를 통해 획득한 바퀴들의 회전수에 기초하여 로봇 청소기(100)의 이동 거리를 산출할 수 있다. For example, the processor 140 may set a position (eg, coordinates) at which the robot cleaner 100 starts traveling and a rotation angle of the robot cleaner 100 as a reference position and a reference rotation angle, respectively, to generate a map. have. Then, the processor 140 calculates the distance between the robot cleaner 100 and the surrounding object, the rotation angle and the movement distance of the robot cleaner 100 obtained while the robot cleaner 100 is driving, of the SLAM algorithm to generate a map. As an input, a position (eg, coordinates) and a rotation angle (eg, a rotation angle reflecting the position of the robot cleaner 100 ) of the robot cleaner 100 may be acquired through the SLAM algorithm. In this case, the processor 140 may acquire the distance between the robot cleaner 100 and the surrounding object through the lidar sensor. Then, the processor 140 calculates the rotation angle of the robot cleaner 100 based on the angular velocity of the robot cleaner 100 obtained through the gyro sensor, and based on the number of rotations of the wheels obtained through the encoder, the robot cleaner ( 100) can be calculated.

이후, 프로세서(140)는 로봇 청소기(100)가 기준 위치에서 획득된 위치까지 이동하는 동안 라이다 센서를 통해 획득된 로봇 청소기(100)와 주변 물체와의 거리에 기초하여, 기준 위치부터 획득된 위치까지의 장애물의 위치(가령, 좌표)를 식별할 수 있다. Thereafter, the processor 140 performs the steps obtained from the reference position based on the distance between the robot cleaner 100 and the surrounding object obtained through the lidar sensor while the robot cleaner 100 moves from the reference position to the acquired position. The location (eg, coordinates) of the obstacle to the location may be identified.

결국, 프로세서(140)는 로봇 청소기(100)가 공간을 이동하는 동안 전술한 과정을 반복적으로 수행하여, 로봇 청소기(100)가 위치하는 공간에 대응되는 맵을 생성할 수 있다. 다만, 이에 한정되는 것은 아니고, 프로세서(140)는 공지된 다양한 방법을 이용하여 맵을 생성할 수도 있다.As a result, the processor 140 may generate a map corresponding to the space in which the robot cleaner 100 is located by repeatedly performing the above-described process while the robot cleaner 100 moves through the space. However, the present invention is not limited thereto, and the processor 140 may generate a map using various well-known methods.

그리고, 프로세서(140)는 맵을 복수의 영역으로 구분할 수 있다. 예를 들어, 프로세서(140)는 맵에 대한 보로노이 그래프(voronoi graph)를 생성하고, 보로노이 그래프를 이용하여 맵을 복수의 영역으로 구분할 수 있다. In addition, the processor 140 may divide the map into a plurality of regions. For example, the processor 140 may generate a Voronoi graph for the map, and divide the map into a plurality of regions using the Voronoi graph.

여기에서, 보로노이 그래프는 주어진 메트릭 공간(metric space)을 분해하여 표시하는 방법 중 하나이다. 구체적으로, 보로노이 그래프의 각 선은 오브젝트들이 배치되어 있는 메트릭 공간 내에서, 특정 오브젝트까지의 거리가 다른 오브젝트까지의 거리보다 크지 않은 점들을 하나의 집합으로 구성하였을 때, 이러한 집합들의 경계를 나타내는 선이다. 즉, 보로노이 그래프는 주어진 메트릭 공간 내의 두 개의 오브젝트에 대하여 같은 거리에 있는 중간 점들을 연결한 선이라고 할 수 있다. Here, the Voronoi graph is one of methods for decomposing and displaying a given metric space. Specifically, each line of the Voronoi graph represents the boundary of these sets when the distance to a specific object is not greater than the distance to another object in the metric space in which the objects are arranged. is the line That is, the Voronoi graph can be said to be a line connecting intermediate points at the same distance for two objects in a given metric space.

이 경우, 프로세서(140)는 맵에 기초하여 생성된 보로노이 그래프에 대해 법선을 생성하고, 법선에 기초하여 맵에서 구분된 폐공간의 면적 및 법선의 길이를 고려하여 맵을 복수의 영역으로 구분할 수 있다. 예를 들어, 프로세서(140)는 길이가 기설정된 범위 내에 속하는 법선에 기초하여 맵에서 구분된 폐공간의 면적이 기설정된 크기보다 큰 경우, 해당 폐공간을 하나의 영역으로 식별하고, 식별된 영역과 다른 영역을 연결하는 통로(gate)를 식별할 수 있다. 다만, 이에 한정되는 것은 아니고, 프로세서(140)는 공지된 다양한 방법을 이용하여 맵을 복수의 복수의 영역으로 구분할 수 있다. In this case, the processor 140 generates a normal for the Voronoi graph generated based on the map, and divides the map into a plurality of regions in consideration of the area of the closed space and the length of the normal divided in the map based on the normal line. can For example, when the area of the closed space divided on the map based on a normal whose length falls within a preset range is greater than the preset size, the processor 140 identifies the closed space as one region, and the identified region It is possible to identify a gate connecting the area and other areas. However, the present invention is not limited thereto, and the processor 140 may divide the map into a plurality of regions using various well-known methods.

한편, 프로세서(140)는 맵 상에서 로봇 청소기(100)에 의해 청소 동작이 수행되는 청소 영역을 방 단위로 구분하고, 방 단위로 구분된 각각의 영역에 대해 방 이름을 생성할 수 있다. 이와 관련한 상세한 설명은 도 6 내지 도 12에서 후술하기로 한다.Meanwhile, the processor 140 may classify a cleaning area in which a cleaning operation is performed by the robot cleaner 100 on the map in units of rooms, and may generate a room name for each area divided in units of rooms. A detailed description related thereto will be described later with reference to FIGS. 6 to 12 .

한편, 프로세서(140)는 센서(120)를 통해 획득된 정보에 기초하여 맵에 포함된 청소 영역을 주행하도록 구동 장치(110)를 제어할 수 있다.Meanwhile, the processor 140 may control the driving device 110 to drive the cleaning area included in the map based on the information obtained through the sensor 120 .

구체적으로, 프로세서(140)는 로봇 청소기(100)와 주변 물체와의 거리, 로봇 청소기(100)의 회전각 및 이동 거리를 SLAM 알고리즘의 입력으로 하여, SLAM 알고리즘을 통해 맵 상에서 로봇 청소기(100)의 위치 및 회전각을 획득할 수 있다. 그리고, 프로세서(140)는 획득된 로봇 청소기(100)의 위치 및 회전각에 기초하여 로봇 청소기(100)가 맵의 청소 영역을 주행하도록 구동 장치(110)를 제어할 수 있다. 이때, 프로세서(140)는 맵, 맵 상에서 로봇 청소기(100)의 위치 및 회전각, 라이다 센서를 통해 획득된 로봇 청소기(100)와 주변 물체와의 거리에 기초하여, 로봇 청소기(100) 주변의 장애물을 감지할 수 있다.Specifically, the processor 140 takes the distance between the robot cleaner 100 and the surrounding object, the rotation angle and the movement distance of the robot cleaner 100 as inputs of the SLAM algorithm, and the robot cleaner 100 on the map through the SLAM algorithm. The position and rotation angle of can be obtained. In addition, the processor 140 may control the driving device 110 so that the robot cleaner 100 travels in the cleaning area of the map based on the obtained position and rotation angle of the robot cleaner 100 . At this time, the processor 140 is based on the map, the position and rotation angle of the robot cleaner 100 on the map, and the distance between the robot cleaner 100 and the surrounding object obtained through the lidar sensor, around the robot cleaner 100 obstacles can be detected.

한편, 프로세서(140)는 카메라를 통해 획득한 이미지를 이용하여 주변 사물을 인식할 수 있다. 예를 들어, 프로세서(140)는 카메라를 통해 획득한 이미지로부터 사물을 인식하여 로봇 청소기(100) 주변에 존재하는 사물의 종류, 위치 등의 정보를 획득할 수 있다. Meanwhile, the processor 140 may recognize a surrounding object using an image acquired through a camera. For example, the processor 140 may recognize an object from an image acquired through a camera and acquire information such as a type and a location of an object existing around the robot cleaner 100 .

또한, 프로세서(140)는 맵 상에서 인식된 사물의 위치에 대응되는 위치에, 인식된 사물에 대한 정보를 매핑하여 저장할 수 있다.In addition, the processor 140 may map and store information on the recognized object at a location corresponding to the recognized object's location on the map.

그리고, 프로세서(140)는 맵 상에서 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성할 수 있다. 이와 관련한 상세한 설명은 도 6 내지 도 12에서 후술하기로 한다.In addition, the processor 140 may generate a room name based on information on objects located in each area divided into rooms on the map. A detailed description related thereto will be described later with reference to FIGS. 6 to 12 .

도 3은 본 개시의 일 실시예에 따른 로봇 청소기의 세부 구성을 나타내는 블록도이다.3 is a block diagram illustrating a detailed configuration of a robot cleaner according to an embodiment of the present disclosure.

도 3을 참고하면, 로봇 청소기(100)는 로봇 청소기(100)는 구동 장치(110), 센서(120), 메모리(130), 프로세서(140), 통신 인터페이스(150), 입력 인터페이스(160) 및 출력 인터페이스(170)를 포함할 수 있다. 도 3에 도시된 구성 중 도 2에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.Referring to FIG. 3 , the robot cleaner 100 includes a driving device 110 , a sensor 120 , a memory 130 , a processor 140 , a communication interface 150 , and an input interface 160 . and an output interface 170 . A detailed description of the portion overlapping with the configuration shown in FIG. 2 among the configuration shown in FIG. 3 will be omitted.

통신 인터페이스(150)는 외부 장치와 통신을 수행하여 다양한 데이터를 송수신할 수 있다. 예를 들어, 로봇 청소기(100)는 통신 인터페이스(150)를 통해 사용자 단말 장치(200), 서버(300)와 정보를 송수신할 수 있다.The communication interface 150 may transmit/receive various data by performing communication with an external device. For example, the robot cleaner 100 may transmit/receive information to and from the user terminal device 200 and the server 300 through the communication interface 150 .

통신 인터페이스(150)는 근거리 통신망(LAN: Local Area Network), 인터넷 네트워크, 이동 통신 네트워크를 통해 외부 장치와 통신을 수행할 수 있음은 물론, BT(Bluetooth), BLE(Bluetooth Low Energy), UWB(Ultra-wideband), WI-FI(Wireless Fidelity), WI-FI Direct(Wireless Fidelity Direct), Zigbee, NFC 등과 같은 다양한 통신 방식 등을 통해 외부 장치와 통신을 수행할 수 있다. 이를 위해, 통신 인터페이스(150)는 네트워크 통신을 수행하기 위한 다양한 통신 모듈을 포함할 수 있다. 예를 들어, 통신 인터페이스(150)는 블루투스 칩, 와이파이 칩, 무선 통신 칩 등을 포함할 수 있다.The communication interface 150 may communicate with an external device through a local area network (LAN), an Internet network, and a mobile communication network, as well as BT (Bluetooth), BLE (Bluetooth Low Energy), UWB ( Ultra-wideband), WI-FI (Wireless Fidelity), WI-FI Direct (Wireless Fidelity Direct), Zigbee, and various communication methods such as NFC can communicate with an external device. To this end, the communication interface 150 may include various communication modules for performing network communication. For example, the communication interface 150 may include a Bluetooth chip, a Wi-Fi chip, a wireless communication chip, and the like.

입력 인터페이스(160)는 다양한 사용자 명령을 입력 받을 수 있다. 예를 들어, 입력 인터페이스(160)는 로봇 청소기(100)를 제어하기 위한 사용자 명령을 입력 받을 수 있다. 입력 인터페이스(160)는 사용자 명령을 입력 받기 위한 물리 버튼을 포함하거나, 사용자 발화 음성을 입력 받는 마이크를 포함할 수 있으며, 터치 스크린을 통해 사용자 명령을 입력 받는 디스플레이를 포함할 수도 있다.The input interface 160 may receive various user commands. For example, the input interface 160 may receive a user command for controlling the robot cleaner 100 . The input interface 160 may include a physical button for receiving a user command, a microphone for receiving a user's spoken voice, and a display for receiving a user command through a touch screen.

출력 인터페이스(170)는 디스플레이 및 스피커 중 적어도 하나를 포함할 수 있다. 여기서, 디스플레이는 정보를 시각적인 형태(예: 문자, 이미지 등)로 출력하는 장치이다. 디스플레이는 이미지 프레임을 디스플레이 영역의 전체 또는 일부 영역에 표시할 수 있다. 디스플레이 영역은 정보 또는 데이터가 시각적으로 표시되는 픽셀 단위의 영역 전체를 지칭할 수 있다. 스피커는 정보를 청각적인 형태(예: 음성)로 출력하는 장치이다. 스피커는 오디오 처리부에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 직접 소리로 출력할 수 있다.The output interface 170 may include at least one of a display and a speaker. Here, the display is a device for outputting information in a visual form (eg, text, image, etc.). The display may display the image frame in all or part of the display area. The display area may refer to the entire area of a pixel unit in which information or data is visually displayed. A speaker is a device that outputs information in an audible form (eg, voice). The speaker may directly output various types of notification sounds or voice messages as well as various audio data on which various processing operations such as decoding, amplification, and noise filtering have been performed by the audio processing unit.

도 4는 본 개시의 일 실시예에 따른 사용자 단말 장치의 구성을 나타내는 블록도이다.4 is a block diagram illustrating a configuration of a user terminal device according to an embodiment of the present disclosure.

도 4를 참고하면, 사용자 단말 장치(200)는 통신 인터페이스(210), 디스플레이(220) 및 프로세서(230)를 포함할 수 있다.Referring to FIG. 4 , the user terminal device 200 may include a communication interface 210 , a display 220 , and a processor 230 .

통신 인터페이스(210)는 로봇 청소기(100), 서버(300)와 같은 외부 장치와 통신하여 다양한 정보를 송수신할 수 있다. 통신 인터페이스(210)는 사용자 단말 장치(200)를 통해 입력 받은 사용자 명령 등의 로봇 청소기(100)를 제어하기 위한 신호를 전송할 수 있으며, 로봇 청소기(100)로부터 정보를 수신할 수 있다. 예를 들어, 사용자 단말 장치(200)는 통신 인터페이스(210)를 통해 로봇 청소기(100)로부터 생성된 맵을 수신할 수 있다.The communication interface 210 may communicate with an external device such as the robot cleaner 100 and the server 300 to transmit/receive various information. The communication interface 210 may transmit a signal for controlling the robot cleaner 100 , such as a user command input through the user terminal device 200 , and may receive information from the robot cleaner 100 . For example, the user terminal device 200 may receive a map generated from the robot cleaner 100 through the communication interface 210 .

디스플레이(220)는 디스플레이(130)는 정보를 시각적인 형태로 출력할 수 있다. 디스플레이(220)는 정보를 제공하거나 사용자 명령을 입력 받기 위한 다양한 UI를 표시할 수 있다.The display 220 may output information to the display 130 in a visual form. The display 220 may display various UIs for providing information or receiving user commands.

디스플레이(220)는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(130) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(220)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 롤러블 디스플레이(rollable display), 3차원 디스플레이(3D display), 복수의 디스플레이 모듈이 물리적으로 연결된 디스플레이 등으로 구현될 수 있다.The display 220 may be implemented as a display including a self-luminous device or a display including a non-light-emitting device and a backlight. For example, Liquid Crystal Display (LCD), Organic Light Emitting Diodes (OLED) displays, Light Emitting Diodes (LEDs), micro LEDs (micro LEDs), Mini LEDs, Plasma Display Panel (PDP), Quantum dot (QD) displays. , Quantum dot light-emitting diodes (QLEDs) may be implemented in various types of displays. The display 130 may also include a driving circuit, a backlight unit, and the like, which may be implemented in the form of an a-si TFT, a low temperature poly silicon (LTPS) TFT, or an organic TFT (OTFT). On the other hand, the display 220 is implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a three-dimensional display (3D display), a display in which a plurality of display modules are physically connected, etc. can be

프로세서(230)는 통신 인터페이스(210) 및 디스플레이(220)와 전기적으로 연결되며, 사용자 단말 장치(200)의 전반적인 동작을 제어할 수 있다.The processor 230 is electrically connected to the communication interface 210 and the display 220 , and may control the overall operation of the user terminal device 200 .

구체적으로, 프로세서(230)는 통신 인터페이스(210)를 통해 로봇 청소기(100)로부터 맵 정보를 수신하면, 맵 상의 청소 영역이 방 단위로 구분된 맵 UI를 표시하도록 디스플레이(220)를 제어할 수 있다. 이 경우, 맵 UI는 구분된 방 각각에 대응되는 방 이름을 표시할 수 있다. Specifically, when the processor 230 receives map information from the robot cleaner 100 through the communication interface 210, the processor 230 may control the display 220 to display a map UI in which the cleaning areas on the map are divided into rooms. have. In this case, the map UI may display room names corresponding to each of the divided rooms.

한편, 프로세서(230)는 맵 UI 상에서 하나의 방에 대한 분할 명령 또는 복수의 방을 하나로 병합하는 병합 명령을 입력 받기 위한 편집 UI를 표시할 수 있다. 이 경우, 편집 UI를 통해 입력 받은 분할 명령 또는 병합 명령을 로봇 청소기(100)로 전송하도록 통신 인터페이스(210)를 제어할 수 있다. 그리고, 로봇 청소기(100)로부터 업데이트된 맵 정보를 수신하면, 방 이름이 업데이트된 맵 UI를 표시할 수 있다. 이와 관련한 상세한 설명은 도 9 내지 도 12에서 후술하기로 한다.Meanwhile, the processor 230 may display an edit UI for receiving a split command for one room or a merge command for merging a plurality of rooms into one on the map UI. In this case, the communication interface 210 may be controlled to transmit a division command or a merge command input through the editing UI to the robot cleaner 100 . And, when the updated map information is received from the robot cleaner 100 , a map UI with an updated room name may be displayed. A detailed description related thereto will be described later with reference to FIGS. 9 to 12 .

도 5는 저장된 맵이 없는 경우 맵 작성을 제안하는 알림을 제공하는 UI를 설명하기 위한 도면이다.FIG. 5 is a diagram for explaining a UI that provides a notification suggesting map creation when there is no stored map.

도 5에 도시된 UI는 사용자 단말 장치(200)의 디스플레이(220)를 통해 제공될 수 있다.The UI shown in FIG. 5 may be provided through the display 220 of the user terminal device 200 .

로봇 청소기(100)는 메모리(130)에 저장된 맵이 없는 경우 맵 작성을 제안하는 알림을 제공할 수 있다. 도 5를 참고하면, 알림은 사용자 단말 장치(200)의 디스플레이(220)를 통해 표시되는 UI로 표시될 수 있다. When there is no map stored in the memory 130 , the robot cleaner 100 may provide a notification suggesting map creation. Referring to FIG. 5 , the notification may be displayed as a UI displayed through the display 220 of the user terminal device 200 .

알림 UI는 단독으로 공간 학습을 수행하도록 명령하는 제1 사용자 명령을 입력 받기 위한 UI(510) 및 청소와 동시에 공간 학습을 수행하도록 명령하는 제2 사용자 명령을 입력 받기 위한 UI(520)를 포함할 수 있다. 사용자 단말 장치(200)는 입력 받은 사용자 명령을 로봇 청소기(100)로 제공할 수 있다.The notification UI may include a UI 510 for receiving a first user command to instruct to perform spatial learning alone and a UI 520 for receiving a second user command to command to perform spatial learning at the same time as cleaning. can The user terminal device 200 may provide the received user command to the robot cleaner 100 .

로봇 청소기(100)는 제1 사용자 명령이 입력되면 공간을 이동하며 맵을 생성할 수 있다. 이 경우, 로봇 청소기(100)는 각각의 방의 중앙 위치로 이동하여 센서(120)를 통해 센싱한 정보에 기초하여 맵을 생성할 수 있다.When the first user command is input, the robot cleaner 100 may move in space and generate a map. In this case, the robot cleaner 100 may move to a central location of each room and generate a map based on information sensed by the sensor 120 .

로봇 청소기(100)는 제2 사용자 명령이 입력되면 청소 동작을 수행함과 동시에 맵을 생성할 수 있다. 이 경우, 로봇 청소기(100)는 모든 방을 이동하며 청소 동작을 수행하며, 동시에 센서(120)를 통해 센싱한 정보에 기초하여 맵을 생성할 수 있다.When a second user command is input, the robot cleaner 100 may generate a map while performing a cleaning operation. In this case, the robot cleaner 100 may perform a cleaning operation while moving in all rooms, and at the same time may generate a map based on information sensed by the sensor 120 .

로봇 청소기(100)는 생성된 맵을 메모리(130)에 저장할 수 있으며, 맵이 저장된 이후에도 청소 동작을 수행하며 새로운 공간에 대한 정보가 센싱되거나, 공간의 크기에 변화가 센싱되거나, 공간에 배치된 사물의 종류, 위치 등이 달라진 것이 센싱되는 경우 맵을 업데이트할 수 있다.The robot cleaner 100 may store the generated map in the memory 130 , and performs a cleaning operation even after the map is stored, and information about a new space is sensed, a change in the size of the space is sensed, or the space is arranged in a space. When a change in the type, location, etc. of an object is sensed, the map may be updated.

도 6은 본 개시의 일 실시예에 따른 사용자 단말 장치를 통해 제공되는 맵 UI를 설명하기 위한 도면이고, 도 7은 맵 UI 상의 청소 영역을 방 단위로 구분하고, 맵 UI 상에서 각각의 방에 대한 방 이름을 표시하는 동작을 설명하기 위한 도면이다. FIG. 6 is a diagram for explaining a map UI provided through a user terminal device according to an embodiment of the present disclosure, and FIG. 7 is a view showing a cleaning area on the map UI divided into rooms, and for each room on the map UI. A diagram for explaining an operation of displaying a room name.

사용자 단말 장치(200)는 로봇 청소기(100)로부터 맵 정보를 수신하면, 맵 상의 청소 영역이 방 단위로 구분된 맵 UI를 디스플레이를 통해 표시할 수 있다.When the user terminal device 200 receives map information from the robot cleaner 100 , the user terminal device 200 may display a map UI in which the cleaning areas on the map are divided into rooms through the display.

도 6을 참고하면, 맵 UI는 구분된 방 각각에 대응되는 방 이름을 표시할 수 있다. 사용자는 맵 UI를 통해 맵 상에서 청소 제외 구역을 설정하거나, 작성된 맵을 저장하도록 명령할 수 있다.Referring to FIG. 6 , the map UI may display room names corresponding to each of the divided rooms. The user can set a cleaning exclusion zone on the map through the map UI, or command to save the created map.

한편, 도 7을 참고하면, 맵 UI는 방 단위로 구분된 각각의 영역에 대해 지정된 방 이름을 표시할 수 있다. Meanwhile, referring to FIG. 7 , the map UI may display a room name designated for each area divided by room unit.

본 개시의 일 실시예에 따르면, 방 이름은 각각의 방에 위치한 사물의 정보에 기초하여 생성될 수 있다. 로봇 청소기(100)는 센서(120)를 통해 공간 내에 위치한 사물을 인식하고, 인식된 사물에 대한 정보를 맵 상에 저장할 수 있다. 이 경우, 로봇 청소기(100)는 인식된 사물의 위치에 대응되도록 맵 상에 사물의 위치를 매핑하여 저장할 수 있다. According to an embodiment of the present disclosure, a room name may be generated based on information on a thing located in each room. The robot cleaner 100 may recognize an object located in a space through the sensor 120 and store information on the recognized object on a map. In this case, the robot cleaner 100 may map and store the location of the object on the map so as to correspond to the recognized location of the object.

로봇 청소기(100)는 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성할 수 있다.The robot cleaner 100 may generate a room name based on information on objects located in each area divided into rooms.

도 8은 맵 UI 상에서 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는 동작을 설명하기 위한 도면이다.8 is a diagram for explaining an operation of generating a room name based on information on objects located in each area divided by room on the map UI.

로봇 청소기(100)는 방에 위치한 사물의 종류 및 방의 면적 중 적어도 하나에 기초하여 방 이름을 생성할 수 있다. 로봇 청소기(100)는 카메라를 통해 사물 인식을 수행하거나, 공간 내 배치된 다양한 가전 기기와 BLE 통신을 수행하여 가전 기기의 종류, 위치 등을 획득할 수 있다. 또한, 로봇 청소기(100)는 작성된 맵에 기초하여 각각의 방의 면적을 획득할 수 있다.The robot cleaner 100 may generate a room name based on at least one of a type of an object located in the room and an area of the room. The robot cleaner 100 may acquire the type, location, etc. of the home appliance by performing object recognition through a camera or performing BLE communication with various home appliances arranged in the space. Also, the robot cleaner 100 may acquire the area of each room based on the created map.

도 8은 방 이름을 설정하는 다양한 실시예를 예시적으로 도시하고 있다.8 exemplarily illustrates various embodiments of setting a room name.

예를 들어, 냉장고, 오븐 등을 비롯한 주방 기기가 위치한 것으로 식별되는 방의 이름은 “주방”으로, 방의 면적이 가장 큰 방의 이름은 “거실”로, 침대가 위치한 것으로 식별되는 방의 이름은 “침실”로, 테이블 및 책장이 위치한 것으로 식별되는 방의 이름은 “서재”로, 식자재가 배치된 것으로 식별되는 방의 이름은 “팬트리”로, 변기, 욕조 또는 세면대가 위치한 것으로 식별되는 방의 이름은 “화장실”로, 세탁기 또는 건조기만 위치한 것으로 식별되는 방의 이름은 “세탁실”로, 2개 이상의 신발이 배치되며 단차가 존재하는 것으로 식별되는 영역의 이름은 “현관”으로 설정할 수 있다. 한편, 앞서 설명한 것과 같은 기 설정된 조건이 식별되지 않는 방의 경우, “방#”과 같이 방에 숫자를 붙여 방의 이름으로 표시할 수 있다.For example, the room identified as having kitchen appliances, including refrigerators, ovens, etc., is named “kitchen”, the room with the largest area is named “living room”, and the room identified as having the bed is named “bedroom”. , the room identified as having a table and bookshelf is named “Study”, the room identified as having food items placed is named “Pantry”, and the room identified as having a toilet, bathtub, or sink is named “Toilet” For example, the name of a room identified as having only a washing machine or dryer may be set as “laundry room”, and the name of an area in which two or more shoes are disposed and identified as having a step may be set as “entrance”. On the other hand, in the case of a room in which a preset condition as described above is not identified, a number may be added to the room, such as “room #,” to be displayed as the name of the room.

한편, 사용자는 맵 UI 상에서 방의 영역을 편집할 수 있다. 구체적으로, 사용자 명령 입력에 따라 하나의 방을 분할하여 복수의 방을 생성하거나, 복수의 방을 병합하여 하나의 방을 생성할 수 있다.Meanwhile, the user may edit the area of the room on the map UI. Specifically, according to a user command input, one room may be divided to create a plurality of rooms, or a plurality of rooms may be merged to create one room.

이를 위해, 사용자 단말 장치(200)는 맵 UI 상에서 하나의 방에 대한 분할 명령 또는 복수의 방을 하나로 병합하는 병합 명령을 입력 받기 위한 편집 UI를 표시할 수 있다. 사용자 단말 장치(200)는 편집 UI를 통해 입력 받은 분할 명령 또는 병합 명령을 로봇 청소기(100)로 전송할 수 있으며, 로봇 청소기(100)로부터 업데이트된 맵 정보를 수신하면, 방 이름이 업데이트된 맵 UI를 표시할 수 있다.To this end, the user terminal device 200 may display an edit UI for receiving a split command for one room or a merge command for merging a plurality of rooms into one on the map UI. The user terminal device 200 may transmit a split command or a merge command input through the edit UI to the robot cleaner 100 , and upon receiving updated map information from the robot cleaner 100 , the room name is updated map UI can be displayed.

로봇 청소기(100)는 맵 상에서 하나의 방에 대한 분할 명령이 입력되면, 입력된 분할 명령에 대응되도록 맵 상에서 방을 분할하고, 분할을 통해 생성된 각각의 방에 대해 방 이름을 생성할 수 있다. 또한, 맵 상에서 복수의 방을 하나로 병합하는 병합 명령이 입력되면, 입력된 병합 명령에 대응되도록 맵 상에서 복수의 방을 병합하고, 병합을 통해 생성된 하나의 방에 대해 방 이름을 생성할 수 있다.When a division command for one room is input on the map, the robot cleaner 100 divides the room on the map to correspond to the input division command, and generates a room name for each room generated through division. . Also, when a merge command for merging a plurality of rooms into one is input on the map, a plurality of rooms may be merged on the map to correspond to the input merging command, and a room name may be generated for one room generated through the merging. .

이하, 도 9 내지 도 12를 참고하여 분할 명령 또는 병합 명령을 입력 받기 위한 편집 UI의 다양한 실시예를 설명한다.Hereinafter, various embodiments of an editing UI for receiving a split command or a merge command will be described with reference to FIGS. 9 to 12 .

도 9는 편집 UI에 표시된 맵 상에서 분할 선을 생성하여 방을 분할하는 동작을 설명하기 위한 도면이고, 도 10은 편집 UI에 표시된 맵 상에서 분할 선을 수정하여 방을 분할하는 동작을 설명하기 위한 도면이다.9 is a diagram for explaining an operation of dividing a room by creating a dividing line on a map displayed on the editing UI, and FIG. 10 is a diagram for explaining an operation of dividing a room by modifying the dividing line on the map displayed on the editing UI to be.

도 9를 참고하면, 사용자는 편집 UI에 표시된 맵 상에서 터치/드래그 동작을 통해 분할 선을 생성할 수 있다. 편집 UI는 생성된 분할 선을 적용할 것인지를 입력 받는 알림창을 표시할 수 있으며, 적용 명령이 입력되면 생성된 분할 선을 기준으로 맵 상에서 방을 분할할 수 있다.Referring to FIG. 9 , a user may create a dividing line through a touch/drag operation on the map displayed on the editing UI. The editing UI may display a notification window for receiving input whether to apply the generated dividing line, and when an application command is input, the room may be divided on the map based on the generated dividing line.

일 실시예에 따라, 분할을 통해 생성된 2개의 방의 이름은 각 방에 위치한 사물의 정보에 기초하여 설정될 수 있다. 예를 들어, 분할된 각 영역에 위치한 사물의 정보에 기초하여, 도 8에서 설명한 방 이름 설정 방법을 적용하여 방 이름을 설정할 수 있다. According to an embodiment, the names of the two rooms generated through division may be set based on information on objects located in each room. For example, the room name may be set by applying the room name setting method described with reference to FIG. 8 based on information on objects located in each divided area.

다른 실시예에 따라, 분할을 통해 생성된 각각의 방의 면적에 기초하여, 가장 넓은 면적을 가진 방은 분할 전 방의 이름을 지정하고, 나머지 방에 대하여는 방에 위치한 사물의 정보에 기초하여 방 이름을 생성할 수 있다.According to another embodiment, based on the area of each room created through division, the room with the largest area is named the room before the division, and for the remaining rooms, the room name is given based on information on objects located in the room. can create

또 다른 실시예에 따르면, 분할된 방 1에는 인식된 사물이 위치하고, 분할된 방 2에는 인식된 사물이 없다고 식별되는 경우, 분할된 방 1은 방 1에 위치한 사물의 정보에 기초하여 방 이름을 설정하고, 분할된 방 2는 분할 전 방의 이름을 지정할 수 있다.According to another embodiment, when it is identified that a recognized object is located in the divided room 1 and there is no recognized object in the divided room 2, the divided room 1 is a room name based on the information of the object located in the room 1. You can specify the name of the room before the split room 2, which is set.

도 10을 참고하면, 사용자는 편집 UI에 표시된 분할 선을 수정하여 방을 분할할 수 있다. 편집 UI는 기존에 생성되어 있던 분할 선을 선택하면 선택된 분할 선을 수정할 것인지를 입력 받는 알림창을 표시할 수 있으며, 수정 명령이 입력되면 수정된 분할 선을 기준으로 맵 상에서 방을 분할할 수 있다.Referring to FIG. 10 , a user may divide a room by modifying a dividing line displayed on the editing UI. The editing UI can display a notification window that receives input whether to modify the selected dividing line when selecting a previously created dividing line, and can divide a room on the map based on the modified dividing line when an edit command is input.

도 11은 맵 UI 상에서 분할 선을 삭제하여 방을 병합하는 동작을 설명하기 위한 도면이고, 도 12는 맵 UI 상에서 인접한 복수의 방을 선택하여 방을 병합하는 동작을 설명하기 위한 도면이다.11 is a diagram illustrating an operation of merging rooms by deleting a dividing line on the map UI, and FIG. 12 is a diagram illustrating an operation of merging rooms by selecting a plurality of adjacent rooms on the map UI.

도 11을 참고하면, 사용자는 편집 UI에 표시된 분할 선을 삭제하여 방을 병합할 수 있다. 편집 UI는 기존에 생성되어 있던 분할 선을 선택하면 선택된 분할 선을 삭제할 것인지를 입력 받는 알림창을 표시할 수 있으며, 삭제 명령이 입력되면 삭제된 분할 선을 기준으로 나뉘어져 있던 복수의 방을 병합할 수 있다.Referring to FIG. 11 , the user may merge rooms by deleting the dividing line displayed on the editing UI. The editing UI can display a notification window that asks if you want to delete the selected dividing line when you select an existing dividing line, and when a delete command is entered, you can merge multiple rooms based on the deleted dividing line have.

한편, 도 12를 참고하면, 사용자는 편집 UI 상에서 인접한 복수의 방을 선택하여 방을 병합할 수 있다. 예를 들어, '방 합치기' 명령이 입력되면 병합하기 위한 방을 선택할 수 있는 UI를 표시하고, 하나의 방을 선택하면 선택된 방과 인접한 방을 선택할 수 있도록 UI를 제어할 수 있다.Meanwhile, referring to FIG. 12 , the user may select a plurality of adjacent rooms on the editing UI and merge the rooms. For example, when a 'merge rooms' command is input, a UI for selecting a room to be merged is displayed, and when one room is selected, the UI can be controlled to select a room adjacent to the selected room.

일 실시예에 따라, 방 병합 명령이 입력된 경우 병합된 방의 면적을 비교하여 더 넓은 면적을 가진 방의 이름을 병합된 방 이름으로 지정할 수 있다.According to an embodiment, when a room merging command is input, a name of a room having a larger area may be designated as the merged room name by comparing the areas of the merged rooms.

다른 실시예에 따라, 병합을 통해 생성된 하나의 방에 위치한 사물의 정보에 기초하여 병합된 방 이름을 생성할 수 있다. 예를 들어, 병합된 영역에 위치한 사물의 정보에 기초하여, 도 8에서 설명한 방 이름 설정 방법을 적용하여 방 이름을 설정할 수 있다.According to another embodiment, a merged room name may be generated based on information on a thing located in one room generated through merging. For example, the room name may be set by applying the room name setting method described with reference to FIG. 8 based on the information on the object located in the merged area.

또 다른 실시예에 따르면, 병합 전의 방 1에는 인식된 사물이 위치하고, 병합 전의 방 2에는 인식된 사물이 없다고 식별되는 경우, 병합된 방의 이름은 사물이 위치하는 방 1의 이름과 동일하게 지정할 수 있다.According to another embodiment, when a recognized object is located in room 1 before merging and it is identified that there is no recognized object in room 2 before merging, the name of the merged room may be designated the same as the name of room 1 in which the object is located. have.

도 13은 본 개시의 일 실시예에 따른 로봇 청소기의 작동 금지 시간을 설정하는 UI를 설명하기 위한 도면이다.13 is a view for explaining a UI for setting an operation prohibition time of a robot cleaner according to an embodiment of the present disclosure.

로봇 청소기(100)는 맵 상의 복수의 방 중 적어도 어느 하나에 대하여 작동 금지 시간 설정 명령이 입력되면, 작동 금지 시간 설정 명령이 입력된 방에 대응되는 청소 영역에서는 설정된 시간대에 청소 동작을 중지할 수 있다. 이 경우, 방 별로 작동 금지 시간을 설정할 수 있다. 예를 들어, 사용자는 공부하는 시간대를 공부방의 작동 금지 시간으로 설정하거나, TV를 주로 시청하는 시간대를 거실의 작동 금지 시간으로 설정하거나, 취침하는 시간대를 침실의 작동 금지 시간으로 설정할 수 있다. When the operation prohibition time setting command is input for at least one of a plurality of rooms on the map, the robot cleaner 100 may stop the cleaning operation in the set time period in the cleaning area corresponding to the room in which the operation prohibition time setting command is input. have. In this case, the operation prohibition time can be set for each room. For example, the user may set the time to study as the prohibition time of the study room, set the time period in which TV is mainly viewed as the operation prohibition time of the living room, or set the time to sleep as the operation prohibition time of the bedroom.

사용자 단말 장치(200)는 작동 금지 시간을 설정하는 UI를 통해 작동 금지 시간 설정 명령을 입력 받아 로봇 청소기(100)로 전송할 수 있다. 도 13을 참고하면, 사용자는 UI 상에 표시된 맵에서 방을 선택하여 작동 금지 시간의 시작 시간 및 종료 시간을 설정할 수 있다. The user terminal device 200 may receive an operation prohibition time setting command through the UI for setting the operation prohibition time and transmit it to the robot cleaner 100 . Referring to FIG. 13 , a user may select a room from a map displayed on the UI to set a start time and an end time of the operation prohibition time.

도 14는 본 개시의 일 실시예에 따른 로봇 청소기의 청소 동작 수행 후 장애물에 의해 청소가 완료되지 않은 미청소 영역에 대해 다시 청소할 것을 제안하는 UI를 설명하기 위한 도면이고, 도 15는 본 개시의 일 실시예에 따른 로봇 청소기의 청소 동작 수행 후 로봇 청소기 오작동에 의해 청소가 완료되지 않은 미청소 영역에 대해 다시 청소할 것을 제안하는 UI를 설명하기 위한 도면이다.14 is a view for explaining a UI suggesting to clean an uncleaned area in which cleaning is not completed due to an obstacle after a cleaning operation of the robot cleaner is performed according to an embodiment of the present disclosure, and FIG. 15 is a diagram of the present disclosure It is a diagram for explaining a UI suggesting to clean an uncleaned area in which cleaning is not completed due to a malfunction of the robot cleaner after performing the cleaning operation of the robot cleaner according to an embodiment.

로봇 청소기(100)는 청소 동작이 완료되면 청소 결과에 대한 청소 리포트를 사용자 단말 장치(200)로 제공할 수 있다. 장애물, 로봇 청소기의 오작동 등으로 인해 청소가 완료되지 않은 미청소 영역이 존재하는 경우, 사용자 단말 장치(200)는 사용자에게 미청소 영역에 대해 다시 청소 동작을 수행하도록 제어하는 UI를 제공할 수 있다. When the cleaning operation is completed, the robot cleaner 100 may provide a cleaning report on the cleaning result to the user terminal device 200 . When there is an uncleaned area in which cleaning is not completed due to an obstacle or a malfunction of the robot cleaner, the user terminal device 200 may provide a UI for controlling the user to perform a cleaning operation on the uncleaned area again. .

이 경우, UI를 통해 맵 상에 장애물의 위치를 표시하고 장애물에 대한 정보를 제공함으로써 장애물을 치운 후 미청소 영역을 청소하도록 가이드할 수 있다. 또한, 로봇 청소기(100)의 오작동으로 인해 미청소 영역이 발생한 경우, 오작동이 발생한 위치를 맵 상에 표시하고, 오작동 발생 원인을 제공할 수 있다.In this case, by displaying the location of the obstacle on the map through the UI and providing information about the obstacle, it is possible to guide the cleaning of the uncleaned area after the obstacle is removed. In addition, when an uncleaned area occurs due to a malfunction of the robot cleaner 100 , a location where the malfunction occurs may be displayed on a map, and a cause of the malfunction may be provided.

한편, 로봇 청소기(100)에 설정된 작동 금지 시간으로 인해 미청소 영역이 발생할 수 있다.Meanwhile, an uncleaned area may occur due to the operation prohibition time set in the robot cleaner 100 .

도 16은 본 개시의 일 실시예에 따른 로봇 청소기의 청소 동작 수행 후 로봇 청소기에 설정된 작동 금지 시간에 의해 청소가 완료되지 않은 미청소 영역에 대해 다시 청소할 것을 제안하는 UI를 설명하기 위한 도면이다.FIG. 16 is a view for explaining a UI suggesting to clean an uncleaned area in which cleaning is not completed due to an operation prohibition time set in the robot cleaner after performing a cleaning operation of the robot cleaner according to an embodiment of the present disclosure;

도 16을 참고하면, 작동 금지 시간으로 인해 미청소 영역이 발생한 경우, 사용자 단말 장치(200)는 작동 금지 시간 종료 후 다시 청소 동작을 수행하도록 제어하는 UI를 제공할 수 있다. Referring to FIG. 16 , when an uncleaned area occurs due to the operation prohibition time, the user terminal device 200 may provide a UI for controlling the cleaning operation to be performed again after the operation prohibition time ends.

도 17은 본 개시의 일 실시예에 따른 로봇 청소기의 가구 주변 청소 동작을 제어하기 위한 UI를 설명하기 위한 도면이다.17 is a view for explaining a UI for controlling a cleaning operation around furniture of a robot cleaner according to an embodiment of the present disclosure.

로봇 청소기(100)는 가구 주변 청소 명령이 입력되면, 맵 상에 저장된 사물 중 가구의 위치를 중심으로 한 기설정된 영역에 대해 청소 동작을 수행할 수 있다. 로봇 청소기(100)는 카메라를 통해 촬영된 이미지를 이용한 사물 인식, 가전 기기 간 BLE 통신을 이용한 위치 인식 등 다양한 방식으로 가구의 위치를 인식할 수 있다. 로봇 청소기(100)는 가구의 크기, 형태를 인식하여 가구 주변의 청소 영역을 판단할 수 있다. 예를 들어, 로봇 청소기(100)는 가구로부터 기설정된 거리 이내를 가구 주변 영역으로 판단하고, 가구 주변 청소 명령 입력 시 해당 영역에 대해 청소 동작을 수행할 수 있다. When a command to clean around furniture is input, the robot cleaner 100 may perform a cleaning operation on a preset area centered on the location of the furniture among objects stored on the map. The robot cleaner 100 may recognize the location of furniture in various ways, such as object recognition using an image captured by a camera, and location recognition using BLE communication between home appliances. The robot cleaner 100 may determine a cleaning area around the furniture by recognizing the size and shape of the furniture. For example, the robot cleaner 100 may determine an area within a preset distance from the furniture as an area around the furniture, and perform a cleaning operation on the area when a cleaning command is input around the furniture.

도 18은 본 개시의 일 실시예에 따른 로봇 청소기가 맵 상의 일 영역에서 지속적으로 오작동이 발생하는 경우 해당 영역을 청소 제외 영역으로 설정하도록 가이드하는 UI를 설명하기 위한 도면이다. 18 is a view for explaining a UI for guiding the robot cleaner to set the area as a cleaning exclusion area when a malfunction continuously occurs in an area on a map by the robot cleaner according to an embodiment of the present disclosure;

로봇 청소기(100)는 맵 상의 일 영역에서 기 설정된 횟수 이상 오작동이 발생한 것으로 식별되면, 오작동이 발생한 영역에 대응되는 청소 영역을 청소 제외 영역으로 설정할 수 있다. 도 18을 참고하면, 동일한 영역에서 기 설정된 횟수 이상 오작동이 발생하면, 사용자 단말 장치(200)를 통해 청소 제외 영역을 설정하도록 가이드하는 UI를 표시할 수 있다. 이 경우, 맵 상에서 오작동이 발생한 영역을 표시할 수 있으며, 오작동의 원인을 제공할 수 있다. When it is identified that a malfunction has occurred more than a preset number of times in one area on the map, the robot cleaner 100 may set a cleaning area corresponding to the area in which the malfunction occurs as a cleaning exclusion area. Referring to FIG. 18 , if a malfunction occurs more than a preset number of times in the same area, a UI for guiding to set the cleaning exclusion area may be displayed through the user terminal device 200 . In this case, an area in which a malfunction has occurred may be displayed on the map, and a cause of the malfunction may be provided.

도 19는 본 개시의 일 실시예에 따른 로봇 청소기의 제어 방법을 설명하기 위한 흐름도이다.19 is a flowchart illustrating a control method of a robot cleaner according to an embodiment of the present disclosure.

본 개시의 일 실시예에 따른 로봇 청소기의 제어 방법은 로봇 청소기가 위치한 공간을 주행하며 센서를 통해 획득된 정보에 기초하여 로봇 청소기가 위치한 공간에 대한 맵을 생성하는 단계(S1910), 생성된 맵을 저장하는 단계(S1920), 맵 상의 청소 영역을 방 단위로 구분하는 단계(S1930), 센서를 통해 공간 내에 위치한 사물을 인식하는 단계(S1940), 인식된 사물에 대한 정보를 맵 상에서 인식된 사물의 위치에 대응되는 위치에 매핑하여 저장하는 단계(S1950) 및 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는 단계(S1960)를 포함할 수 있다.The control method of a robot cleaner according to an embodiment of the present disclosure includes generating a map for a space in which the robot cleaner is located based on information obtained through a sensor while driving in a space in which the robot cleaner is located (S1910), the generated map A step of storing (S1920), a step of dividing the cleaning area on the map by room unit (S1930), a step of recognizing an object located in the space through a sensor (S1940), information about the recognized object on the map recognized object It may include the step of storing the mapping to a location corresponding to the location (S1950) and generating a room name based on the information of the object located in each area divided by the room (S1960).

먼저, 로봇 청소기는 주행하며 센서를 통해 획득된 정보에 기초하여 로봇 청소기가 위치한 공간에 대한 맵을 생성(S1910)할 수 있다.First, the robot cleaner may drive and generate a map for a space in which the robot cleaner is located based on information obtained through a sensor (S1910).

그리고, 로봇 청소기는 생성된 맵을 저장(S1920)할 수 있다.Then, the robot cleaner may store the generated map (S1920).

그리고, 로봇 청소기는 맵 상의 청소 영역을 방 단위로 구분(S1930)할 수 있다.In addition, the robot cleaner may divide the cleaning area on the map in units of rooms ( S1930 ).

그리고, 로봇 청소기는 센서를 통해 공간 내에 위치한 사물을 인식(S1940)할 수 있다.In addition, the robot cleaner may recognize an object located in the space through the sensor (S1940).

그리고, 로봇 청소기는 인식된 사물에 대한 정보를 맵 상에서 인식된 사물의 위치에 대응되는 위치에 매핑하여 저장(S1950)할 수 있다.In addition, the robot cleaner may map and store information on the recognized object to a location corresponding to the recognized object's location on the map ( S1950 ).

그리고, 로봇 청소기는 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성(S1960)할 수 있다.In addition, the robot cleaner may generate a room name based on the information of an object located in each area divided by room unit (S1960).

이 경우, 로봇 청소기는 방에 위치한 사물의 종류 및 방의 면적 중 적어도 하나에 기초하여 방 이름을 생성할 수 있다.In this case, the robot cleaner may generate a room name based on at least one of a type of an object located in the room and an area of the room.

한편, 로봇 청소기는 맵 상에서 하나의 방에 대한 분할 명령이 입력되면, 입력된 분할 명령에 대응되도록 맵 상에서 방을 분할하고, 분할을 통해 생성된 각각의 방에 대해 방 이름을 생성할 수 있다. 또한, 맵 상에서 복수의 방을 하나로 병합하는 병합 명령이 입력되면, 입력된 병합 명령에 대응되도록 맵 상에서 복수의 방을 병합하고, 병합을 통해 생성된 하나의 방에 대해 방 이름을 생성할 수 있다.Meanwhile, when a division command for one room is input on the map, the robot cleaner may divide a room on the map to correspond to the input division command, and generate a room name for each room generated through division. Also, when a merge command for merging a plurality of rooms into one is input on the map, a plurality of rooms may be merged on the map to correspond to the input merging command, and a room name may be generated for one room generated through the merging. .

분할 명령이 입력된 경우, 분할을 통해 생성된 각각의 방에 위치한 사물의 정보에 기초하여 분할된 각각의 방 이름을 생성할 수 있다.When a division command is input, each divided room name may be generated based on information on objects located in each room generated through division.

한편, 분할을 통해 생성된 각각의 방의 면적에 기초하여, 가장 넓은 면적을 가진 방은 분할 전 방의 이름을 지정하고, 나머지 방에 대하여는 방에 위치한 사물의 정보에 기초하여 방 이름을 생성할 수 있다.On the other hand, based on the area of each room created through division, the room with the largest area is designated as the name of the room before the division, and for the remaining rooms, a room name can be generated based on information on objects located in the room. .

병합 명령이 입력된 경우, 병합을 통해 생성된 하나의 방에 위치한 사물의 정보에 기초하여 병합된 방 이름을 생성할 수 있다.When a merge command is input, a merged room name may be generated based on information on objects located in one room generated through merging.

한편, 병합 전 복수의 방 각각의 면적에 기초하여, 가장 넓은 면적을 가진 방의 이름을 병합된 방 이름으로 생성할 수 있다.Meanwhile, the name of the room having the largest area may be generated as the merged room name based on the area of each of the plurality of rooms before merging.

본 명세서에서 설명한 다양한 실시예는 개별적으로 실시될 수 있음은 물론, 복수의 실시예가 조합되어 실시될 수 있다.The various embodiments described herein may be implemented individually, as well as a plurality of embodiments may be implemented in combination.

한편, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Meanwhile, according to an embodiment of the present disclosure, the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media readable by a machine (eg, a computer). The device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments. When executed by the processor, the processor may perform a function corresponding to the instruction, either directly or by using other components under the control of the processor, The instruction may include code generated or executed by a compiler or an interpreter. A device-readable storage medium may be provided in the form of a non-transitory storage medium, where the 'non-transitory storage medium' is a tangible device and a signal (eg, electromagnetic waves), and this term does not distinguish between a case in which data is stored semi-permanently in a storage medium and a case in which data is temporarily stored. It may contain buffers.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product). Computer program products may be traded between sellers and buyers as commodities. The computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store™) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg smartphones). In the case of online distribution, at least a portion of the computer program product (eg, a downloadable app) is stored at least in a machine-readable storage medium, such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.

또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.In addition, each of the components (eg, a module or a program) according to the above-described various embodiments may be composed of a single or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be omitted. Components may be further included in various embodiments. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added. can

이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been illustrated and described, but the present disclosure is not limited to the specific embodiments described above, and is commonly used in the technical field to which the disclosure belongs without departing from the gist of the present disclosure as claimed in the claims. Various modifications may be made by those having the knowledge of

100: 로봇 청소기 200: 사용자 단말 장치
300: 서버
100: robot cleaner 200: user terminal device
300: server

Claims (20)

로봇 청소기에 있어서,
구동 장치;
센서;
메모리; 및
상기 로봇 청소기가 위치한 공간을 주행하도록 상기 구동 장치를 제어하고, 상기 센서를 통해 획득된 정보에 기초하여 상기 로봇 청소기가 위치한 공간에 대한 맵을 생성하고, 생성된 맵을 상기 메모리에 저장하는 프로세서;를 포함하고,
상기 프로세서는,
상기 맵 상의 청소 영역을 방 단위로 구분하고,
상기 센서를 통해 상기 공간 내에 위치한 사물을 인식하고,
인식된 사물에 대한 정보를 상기 맵 상에서 상기 인식된 사물의 위치에 대응되는 위치에 매핑하여 저장하고,
방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는, 로봇 청소기.
In the robot vacuum cleaner,
drive;
sensor;
Memory; and
a processor that controls the driving device to travel in the space in which the robot cleaner is located, generates a map of the space in which the robot cleaner is located based on information obtained through the sensor, and stores the generated map in the memory; including,
The processor is
The cleaning area on the map is divided into rooms,
Recognizing an object located in the space through the sensor,
information on the recognized object is mapped to a location corresponding to the location of the recognized object on the map and stored;
A robot cleaner that generates a room name based on information on objects located in each area divided into rooms.
제1항에 있어서,
상기 프로세서는,
방에 위치한 사물의 종류 및 방의 면적 중 적어도 하나에 기초하여 방 이름을 생성하는, 로봇 청소기.
According to claim 1,
The processor is
A robot cleaner that generates a room name based on at least one of a type of an object located in the room and an area of the room.
제1항에 있어서,
상기 프로세서는,
상기 맵 상에서 하나의 방에 대한 분할 명령이 입력되면, 입력된 분할 명령에 대응되도록 상기 맵 상에서 방을 분할하고, 분할을 통해 생성된 각각의 방에 대해 방 이름을 생성하고,
상기 맵 상에서 복수의 방을 하나로 병합하는 병합 명령이 입력되면, 입력된 병합 명령에 대응되도록 상기 맵 상에서 복수의 방을 병합하고, 병합을 통해 생성된 하나의 방에 대해 방 이름을 생성하는, 로봇 청소기.
According to claim 1,
The processor is
When a division command for one room is input on the map, the room is divided on the map to correspond to the input division command, and a room name is generated for each room created through division,
When a merging command for merging a plurality of rooms into one is input on the map, a robot that merges a plurality of rooms on the map to correspond to the input merging command, and generates a room name for one room generated through merging vacuum cleaner.
제3항에 있어서,
상기 프로세서는,
분할을 통해 생성된 각각의 방에 위치한 사물의 정보에 기초하여 분할된 각각의 방 이름을 생성하는, 로봇 청소기.
4. The method of claim 3,
The processor is
A robot cleaner that generates a name for each divided room based on information on objects located in each room generated through division.
제3항에 있어서,
상기 프로세서는,
분할을 통해 생성된 각각의 방의 면적에 기초하여, 가장 넓은 면적을 가진 방은 분할 전 방의 이름을 지정하고, 나머지 방에 대하여는 방에 위치한 사물의 정보에 기초하여 방 이름을 생성하는, 로봇 청소기.
4. The method of claim 3,
The processor is
Based on the area of each room created through division, the room with the largest area names the room before division, and for the remaining rooms, a room name is generated based on the information of objects located in the room, a robot cleaner.
제1항에 있어서,
상기 프로세서는,
병합을 통해 생성된 하나의 방에 위치한 사물의 정보에 기초하여 병합된 방 이름을 생성하는, 로봇 청소기.
According to claim 1,
The processor is
A robot cleaner that generates a merged room name based on information on objects located in one room generated through merging.
제1항에 있어서,
상기 프로세서는,
병합 전 복수의 방 각각의 면적에 기초하여, 가장 넓은 면적을 가진 방의 이름을 병합된 방 이름으로 생성하는, 로봇 청소기.
According to claim 1,
The processor is
A robot cleaner that generates the name of the room having the largest area as the merged room name, based on the area of each of the plurality of rooms before merging.
제1항에 있어서,
상기 프로세서는,
상기 맵 상의 복수의 방 중 적어도 어느 하나에 대하여 작동 금지 시간 설정 명령이 입력되면, 작동 금지 시간 설정 명령이 입력된 방에 대응되는 청소 영역에서는 설정된 시간대에 상기 로봇 청소기의 청소 동작을 중지하는, 로봇 청소기.
According to claim 1,
The processor is
When an operation prohibition time setting command is input for at least one of a plurality of rooms on the map, in the cleaning area corresponding to the room to which the operation prohibition time setting command is input, the robot cleaner stops the cleaning operation at a set time period. vacuum cleaner.
제1항에 있어서,
상기 프로세서는,
가구 주변 청소 명령이 입력되면, 상기 맵 상에 저장된 사물 중 가구의 위치를 중심으로 한 기설정된 영역에 대해 청소 동작을 수행하도록 상기 구동 장치를 제어하는, 로봇 청소기.
According to claim 1,
The processor is
When a cleaning command around furniture is input, the robot cleaner controls the driving device to perform a cleaning operation on a predetermined area centered on the location of the furniture among the objects stored on the map.
제1항에 있어서,
상기 프로세서는,
상기 로봇 청소기가 상기 맵 상의 일 영역에서 기 설정된 횟수 이상 오작동이 발생한 것으로 식별되면, 상기 일 영역에 대응되는 청소 영역을 청소 제외 영역으로 설정하는, 로봇 청소기.
According to claim 1,
The processor is
When it is identified that the robot cleaner has malfunctioned more than a preset number of times in one area on the map, a cleaning area corresponding to the one area is set as a cleaning exclusion area.
제1항에 있어서,
상기 프로세서는,
상기 메모리에 저장된 맵이 없는 경우 맵 작성을 제안하는 알림을 제공하고, 제1 사용자 명령이 입력되면 공간을 이동하며 맵을 생성하고, 제2 사용자 명령이 입력되면 청소 동작을 수행함과 동시에 맵을 작성하는, 로봇 청소기.
According to claim 1,
The processor is
If there is no map stored in the memory, a notification suggesting map creation is provided, a map is created while moving through space when a first user command is input, and a cleaning operation is performed when a second user command is input and a map is created at the same time A robot vacuum cleaner.
사용자 단말 장치에 있어서,
통신 인터페이스;
디스플레이; 및
상기 통신 인터페이스를 통해 로봇 청소기로부터 맵 정보를 수신하면, 맵 상의 청소 영역이 방 단위로 구분된 맵 UI를 표시하도록 상기 디스플레이를 제어하는 프로세서;를 포함하고,
상기 맵 UI는 구분된 방 각각에 대응되는 방 이름을 표시하고,
상기 로봇 청소기는 방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는, 사용자 단말 장치.
In the user terminal device,
communication interface;
display; and
When the map information is received from the robot cleaner through the communication interface, the processor controls the display to display a map UI in which the cleaning areas on the map are divided into rooms;
The map UI displays a room name corresponding to each divided room,
The robot cleaner generates a room name based on information on objects located in each area divided by room unit, a user terminal device.
제12항에 있어서,
상기 프로세서는,
상기 맵 UI 상에서 하나의 방에 대한 분할 명령 또는 복수의 방을 하나로 병합하는 병합 명령을 입력 받기 위한 편집 UI를 표시하고,
상기 편집 UI를 통해 입력 받은 분할 명령 또는 병합 명령을 상기 로봇 청소기로 전송하도록 상기 통신 인터페이스를 제어하고,
상기 로봇 청소기로부터 업데이트된 맵 정보를 수신하면, 방 이름이 업데이트된 맵 UI를 표시하는, 사용자 단말 장치.
13. The method of claim 12,
The processor is
displaying an editing UI for receiving a split command for one room or a merge command for merging a plurality of rooms into one on the map UI;
controlling the communication interface to transmit a division command or a merge command input through the editing UI to the robot cleaner,
Upon receiving the updated map information from the robot cleaner, the user terminal device for displaying the updated map UI with a room name.
로봇 청소기의 제어 방법에 있어서,
상기 로봇 청소기가 위치한 공간을 주행하며 센서를 통해 획득된 정보에 기초하여 상기 로봇 청소기가 위치한 공간에 대한 맵을 생성하는 단계;
생성된 맵을 저장하는 단계;
상기 맵 상의 청소 영역을 방 단위로 구분하는 단계;
상기 센서를 통해 상기 공간 내에 위치한 사물을 인식하는 단계;
인식된 사물에 대한 정보를 상기 맵 상에서 상기 인식된 사물의 위치에 대응되는 위치에 매핑하여 저장하는 단계; 및
방 단위로 구분된 각각의 영역에 위치한 사물의 정보에 기초하여 방 이름을 생성하는 단계;를 포함하는, 제어 방법.
In the control method of a robot cleaner,
generating a map of the space in which the robot cleaner is located based on information obtained through a sensor while driving in the space in which the robot cleaner is located;
storing the generated map;
dividing the cleaning area on the map into rooms;
recognizing an object located in the space through the sensor;
mapping and storing information on the recognized object to a location corresponding to the location of the recognized object on the map; and
A control method comprising a; generating a room name based on the information of the object located in each area divided by the room unit.
제14항에 있어서,
상기 방 이름을 생성하는 단계는,
방에 위치한 사물의 종류 및 방의 면적 중 적어도 하나에 기초하여 방 이름을 생성하는, 제어 방법.
15. The method of claim 14,
The step of generating the room name is,
A control method for generating a room name based on at least one of a type of an object located in the room and an area of the room.
제14항에 있어서,
상기 방 이름을 생성하는 단계는,
상기 맵 상에서 하나의 방에 대한 분할 명령이 입력되면, 입력된 분할 명령에 대응되도록 상기 맵 상에서 방을 분할하고, 분할을 통해 생성된 각각의 방에 대해 방 이름을 생성하고,
상기 맵 상에서 복수의 방을 하나로 병합하는 병합 명령이 입력되면, 입력된 병합 명령에 대응되도록 상기 맵 상에서 복수의 방을 병합하고, 병합을 통해 생성된 하나의 방에 대해 방 이름을 생성하는, 제어 방법.
15. The method of claim 14,
The step of generating the room name is,
When a division command for one room is input on the map, the room is divided on the map to correspond to the input division command, and a room name is generated for each room created through division,
When a merging command for merging a plurality of rooms into one is input on the map, a control for merging a plurality of rooms on the map to correspond to the input merging command, and generating a room name for one room generated through merging Way.
제16항에 있어서,
상기 방 이름을 생성하는 단계는,
분할을 통해 생성된 각각의 방에 위치한 사물의 정보에 기초하여 분할된 각각의 방 이름을 생성하는, 제어 방법.
17. The method of claim 16,
The step of generating the room name is,
A control method for generating a name of each divided room based on information of a thing located in each room generated through division.
제16항에 있어서,
상기 방 이름을 생성하는 단계는,
분할을 통해 생성된 각각의 방의 면적에 기초하여, 가장 넓은 면적을 가진 방은 분할 전 방의 이름을 지정하고, 나머지 방에 대하여는 방에 위치한 사물의 정보에 기초하여 방 이름을 생성하는, 제어 방법.
17. The method of claim 16,
The step of generating the room name is,
Based on the area of each room created through division, the room with the largest area is named the room before the division, and for the remaining rooms, a room name is generated based on information on objects located in the room, a control method.
제16항에 있어서,
상기 방 이름을 생성하는 단계는,
병합을 통해 생성된 하나의 방에 위치한 사물의 정보에 기초하여 병합된 방 이름을 생성하는, 제어 방법.
17. The method of claim 16,
The step of generating the room name is,
A control method for generating a merged room name based on information on objects located in one room generated through merging.
제16항에 있어서,
상기 방 이름을 생성하는 단계는,
병합 전 복수의 방 각각의 면적에 기초하여, 가장 넓은 면적을 가진 방의 이름을 병합된 방 이름으로 생성하는, 제어 방법.
17. The method of claim 16,
The step of generating the room name is,
A control method for generating a name of a room having the largest area as a merged room name based on the area of each of the plurality of rooms before merging.
KR1020210093064A 2021-03-05 2021-07-15 Robot cleaner and control method thereof KR20220125655A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2022/002940 WO2022186598A1 (en) 2021-03-05 2022-03-02 Robot cleaner and control method thereof
US17/828,697 US20220291693A1 (en) 2021-03-05 2022-05-31 Robot cleaner and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210029247 2021-03-05
KR1020210029247 2021-03-05

Publications (1)

Publication Number Publication Date
KR20220125655A true KR20220125655A (en) 2022-09-14

Family

ID=83279139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210093064A KR20220125655A (en) 2021-03-05 2021-07-15 Robot cleaner and control method thereof

Country Status (1)

Country Link
KR (1) KR20220125655A (en)

Similar Documents

Publication Publication Date Title
KR102385263B1 (en) Mobile home robot and controlling method of the mobile home robot
KR102616863B1 (en) Robotic vacuum cleaner and method for planning cleaning routes
US11516040B2 (en) Electronic device and method for controlling thereof
AU2015322263B2 (en) Cleaning robot and method for controlling cleaning robot
US11132000B2 (en) Robot with automatic styles
EP3508937B1 (en) Mobile cleaning robot artificial intelligence for situational awareness
KR102255273B1 (en) Apparatus and method for generating map data of cleaning space
US11272823B2 (en) Zone cleaning apparatus and method
US20200097012A1 (en) Cleaning robot and method for performing task thereof
KR102577785B1 (en) Cleaning robot and Method of performing task thereof
EP2804065A1 (en) Mobile device for generating first map information for an electronic device and receiving second map information from the electronic device
KR20170022912A (en) Apparatus and Method for User-Configurable Interactive Region Monitoring
US11399687B2 (en) Moving robot and control method thereof using artificial intelligence
GB2567944A (en) Robotic virtual boundaries
KR20170060353A (en) Electronic apparatus, distance measurement sensor and control method for electronic apparatus and distance measurement sensor
CN107211113A (en) Monitoring
CN114008681A (en) Electronic device and control method thereof
KR102594358B1 (en) Terminal apparatus, method of transmitting control command thereof
KR20200094831A (en) Robot and method for controlling thereof
KR20220125655A (en) Robot cleaner and control method thereof
US20220291693A1 (en) Robot cleaner and control method thereof
KR20210155283A (en) Electronic device and operating method for the same
KR20220114873A (en) Robot cleaner and control method thereof
US20240119604A1 (en) Method of controlling electronic device by using spatial information and electronic device using spatial information
KR20240028120A (en) Robot device for identifying movement path based on a privacy zone and control method thereof