KR20220150131A - 청소 로봇을 제어하는 방법 및 시스템 - Google Patents

청소 로봇을 제어하는 방법 및 시스템 Download PDF

Info

Publication number
KR20220150131A
KR20220150131A KR1020210057478A KR20210057478A KR20220150131A KR 20220150131 A KR20220150131 A KR 20220150131A KR 1020210057478 A KR1020210057478 A KR 1020210057478A KR 20210057478 A KR20210057478 A KR 20210057478A KR 20220150131 A KR20220150131 A KR 20220150131A
Authority
KR
South Korea
Prior art keywords
cleaning robot
home appliance
scenario
cleaning
information
Prior art date
Application number
KR1020210057478A
Other languages
English (en)
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 KR1020210057478A priority Critical patent/KR20220150131A/ko
Priority to PCT/KR2022/003605 priority patent/WO2022234944A1/ko
Priority to US17/703,215 priority patent/US20220347862A1/en
Publication of KR20220150131A publication Critical patent/KR20220150131A/ko

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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2894Details related to signal transmission in suction cleaners
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/80Homes; Buildings
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Computing Systems (AREA)
  • Accounting & Taxation (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Architecture (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Numerical Control (AREA)
  • Electric Vacuum Cleaner (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Telephonic Communication Services (AREA)

Abstract

서버 장치가 청소 로봇을 제어하는 방법이 개시될 수 있다. 구체적으로, 제 1 가전 기기를 통해 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 단계; 청소 로봇의 동작을 정의한 시나리오 목록 중에서 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 단계; 제 1 시나리오에 기초하여, 청소 로봇의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별하는 단계; 및 제어 명령을 청소 로봇으로 전송하는 단계를 포함하는 방법이 개시될 수 있다.

Description

청소 로봇을 제어하는 방법 및 시스템{METHOD AND SYSTEM FOR CONTROLLING CLEENING ROBOT}
본 개시의 실시 예들은 가전 기기의 유휴 버튼을 이용하여 생성된 시나리오에 기반하여 청소 로봇을 제어하는 방법 및 시스템에 관한 것이다. 또한, 본 개시의 실시 예들은 가전 기기의 유휴 리소스를 이용하여 청소 로봇에서 획득되는 정보를 분산 처리하는 방법 및 시스템에 관한 것이다.
사물인터넷(IOT: Internet of Things)은 초연결사회의 기반 기술 · 서비스이자 차세대 인터넷이다. 사물인터넷(IOT: Internet of Things)은 사물 간 인터넷 혹은 개체 간 인터넷(Internet of Objects)으로 정의되며, 고유 식별이 가능한 사물이 만들어낸 정보를 인터넷을 통해 공유하는 환경을 의미한다.
인터넷에 연결된 장치(IoT 기기)는 내장 센서를 사용하여 데이터를 수집하고, 경우에 따라 그에 맞게 반응한다. IoT 기기는 업무 및 생활 방식을 개선하는 데 유용하다. IoT 기기는 난방과 조명을 자동으로 조절하는 스마트 홈 기기부터 산업 장비를 모니터링하여 문제를 찾은 후 자동으로 문제를 해결하는 스마트 팩토리에 이르기까지 다양한 분야에 응용되고 있다.
특히, 최근에는 위생과 관련한 기능을 강화하기 위해 생활가전 제품 군이 IoT와의 결합을 추구하는 경향을 보인다. 가습기, 제습기, 공기청정기, 공기순환기 등이 IoT 기능과 결합하게 되면서, 사용자의 실내 거주 여부 및 실내 외의 미세먼지 수준 등을 분석하여, 실내 환경을 자동으로 최적화해 준다.
한편, 청소 로봇의 경우에도 IoT 기기로 이용될 수 있다. 예를 들어, 청소 로봇이 인터넷에 연결되는 경우 사용자는 실내에 거주하지 않더라도 모바일 단말을 이용하여 외부에서 원격으로 청소 로봇을 제어할 수 있고, 모바일 단말을 이용하여 청소 시간을 예약할 수도 있다 따라서, 최근에는 청소 로봇에 대한 활용도가 점점 늘고 있다.
본 개시의 다양한 실시 예에 의하면, 서버 장치가 청소 로봇을 제어하는 방법 및 청소 로봇을 제어하는 시스템이 제공될 수 있다. 구체적으로, 본 개시의 일 실시 예에 의하면, 댁내에 위치하는 가전 기기의 유휴 버튼을 이용하여 생성된 시나리오에 기반하여, 청소 로봇을 제어하는 방법 및 시스템이 제공될 수 있다. 본 개시의 다른 실시 예에 의하면, 댁내에 위치하는 가전 기기의 유휴 리소스를 이용하여 청소 로봇의 영상 정보를 분산 처리하는 방법 및 시스템이 제공될 수 있다.
본 개시의 일 실시 예에 따른 서버 장치가 청소 로봇을 제어하는 방법은, 제 1 가전 기기를 통해 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 단계; 청소 로봇의 동작을 정의한 시나리오 목록 중에서 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 단계; 제 1 시나리오에 기초하여, 청소 로봇의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별하는 단계; 및 제어 명령을 청소 로봇으로 전송하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따른 서버 장치가 청소 로봇을 제어하는 방법은, 적어도 하나의 가전 기기의 유휴 버튼들에 관한 정보를 획득하는 단계; 및 적어도 하나의 가전 기기의 유휴 버튼들과 청소 로봇의 적어도 하나의 동작을 매칭하는 복수의 추천 시나리오를 디스플레이 장치를 통해 사용자에게 제공하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따른 서버 장치가 청소 로봇을 제어하는 방법은, 청소 로봇으로부터 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리 요청을 수신하는 단계; 분산 처리 요청에 따라, 복수의 가전 기기의 유휴 리소스 정보를 확인하는 단계; 복수의 가전 기기의 유휴 리소스 정보에 기초하여, 복수의 가전 기기 중에서 제 5 가전 기기를 선택하는 단계; 및 제 5 가전 기기에 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리를 요청하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따른 서버 장치는 적어도 하나의 가전 기기 및 청소 로봇과 통신하는 통신부; 하나 이상의 인스트럭션을 저장하는 메모리; 및 메모리에 연결된 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 제 1 가전 기기를 통해 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 동작; 청소 로봇의 동작을 정의한 시나리오 목록 중에서 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 동작; 제 1 시나리오에 기초하여, 청소 로봇의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별하는 동작; 및 통신부를 통해 제어 명령을 청소 로봇으로 전송하는 동작을 수행할 수 있다.
본 개시의 일 실시 예에 따른 컴퓨터로 읽을 수 있는 기록 매체는 서버 장치가 제 1 가전 기기를 통해 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 동작; 서버 장치가 청소 로봇의 동작을 정의한 시나리오 목록 중에서 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 동작; 서버 장치가 제 1 시나리오에 기초하여, 청소 로봇의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별하는 동작; 및 서버 장치가 제어 명령을 청소 로봇으로 전송하는 동작을 수행하도록 하는 프로그램이 저장될 수 있다.
도 1은 본 개시의 일 실시예에 따른 청소 로봇을 제어하는 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 서버 장치가 청소 로봇을 제어하는 방법을 설명하기 위한 순서도이다.
도 3은 본 개시의 일 실시예에 따른 서버 장치가 청소 로봇을 제어하는 방법을 설명하기 위한 순서도이다.
도 4는 본 개시의 일 실시예에 따른 시나리오 목록을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 청소 로봇이 생성하는 실내 공간 지도를 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 냉장고의 유휴 버튼을 이용하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 TV 리모컨의 유휴 버튼을 이용하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 서버 장치가 복수의 추천 시나리오를 제공하는 방법을 설명하기 위한 순서도이다.
도 9는 본 개시의 일 실시예에 따른 서버 장치가 복수의 추천 시나리오를 제공하는 동작을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 서버 장치가 시나리오 설정 창을 제공하는 방법을 설명하기 위한 순서도이다.
도 11은 본 개시의 일 실시예에 따른 서버 장치가 시나리오 설정 창을 통해 사용자로부터 시나리오를 설정 받는 동작을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 서버 장치가 청소 로봇의 지도 이미지에서 호출 영역을 설정하는 입력을 수신하는 동작을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시예에 따른 서버 장치에 연결되지 않은 가전 기기의 유휴 버튼을 이용하여 시나리오를 설정하는 방법을 설명하기 위한 순서도이다.
도 14는 본 개시의 일 실시예에 따른 서버 장치에 연결되지 않은 가전 기기의 유휴 버튼을 이용하여 시나리오를 설정하는 동작을 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 가전 기기가 근거리 무선 통신을 통해 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다.
도 16은 본 개시의 일 실시예에 따른 가전 기기가 댁내에 위치하는 중간 단말을 통해서 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다.
도 17은 본 개시의 일 실시예에 따른 오븐이 사용자 입력에 기초하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시예에 따른 자동 급식기가 사용자 입력에 기초하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다.
도 19는 본 개시의 일 실시예에 따른 청소 로봇의 정보를 분산 처리하는 방법을 설명하기 위한 순서도이다.
도 20은 본 개시의 일 실시예에 따른 청소 로봇의 정보를 근거리 무선 통신을 통해 가전 기기와 분산 처리하는 방법을 설명하기 위한 순서도이다.
도 21은 본 개시의 일 실시예에 따른 청소 로봇의 정보를 공기 청정기와 분산 처리하는 동작을 설명하기 위한 도면이다.
도 22는 본 개시의 일 실시예에 따른 가전 기기 주변에 대한 청소가 중단된 경우 가전 기기가 청소 로봇을 호출하는 방법을 설명하기 위한 순서도이다.
도 23은 본 개시의 일 실시예에 따른 에어컨 주변에 대한 청소가 중단된 경우 에어컨이 청소 로봇을 호출하는 동작을 설명하기 위한 도면이다.
도 24는 본 개시의 일 실시예에 따른 가전 기기의 센서 값에 대응하여 설정된 시나리오에 기반하여, 서버 장치가 청소 로봇을 제어하는 방법을 설명하기 위한 순서도이다.
도 25는 본 개시의 일 실시예에 따른 미세 먼지 센서 값에 대응하는 시나리오에 기초하여 서버 장치가 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다.
도 26은 본 개시의 일 실시예에 따른 인덕션의 온도 센서 값에 대응하는 시나리오에 기초하여 서버 장치가 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다.
도 27은 본 개시의 일 실시예에 따른 서버 장치가 가전 기기들의 동작과 관련된 추천 시나리오를 제공하는 동작을 설명하기 위한 도면이다.
도 28은 본 개시의 일 실시예에 따른 서버 장치가 추천 시나리오를 시나리오 목록에 추가하는 동작을 설명하기 위한 도면이다.
도 29는 본 개시의 일 실시예에 따른 서버 장치가 시나리오 설정 창을 통해 특정 조건과 가전 기기의 동작을 매칭하는 시나리오를 입력 받는 동작을 설명하기 위한 도면이다.
도 30은 본 개시의 일 실시예에 따른 청소 로봇의 기능을 설명하기 위한 블록 구성도이다.
도 31은 본 개시의 일 실시예에 따른 서버 장치의 기능을 설명하기 위한 블록 구성도이다.
본 개시에서 사용되는 용어에 대해 간략히 설명하고, 본 개시의 일 실시 예에 대해 구체적으로 설명하기로 한다.
본 개시에서 사용되는 용어는 본 개시의 일 실시 예에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 본 개시의 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 본 개시에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시의 일 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시의 일 실시예를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 본 개시 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 개시의 일 실시예에 따른 청소 로봇을 제어하는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 개시의 일 실시예에 따른 청소 로봇을 제어하는 시스템 (이하, 청소 로봇 제어 시스템)은 청소 로봇(1000), 서버 장치(2000), 디스플레이 장치(3000), 복수의 가전 기기(4000)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 청소 로봇 제어 시스템이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 청소 로봇 제어 시스템이 구현될 수 있다. 예를 들어, 청소 로봇 제어 시스템은, 청소 로봇(1000)과 복수의 가전 기기(4000)로 구현될 수도 있고, 청소 로봇(1000), 서버 장치(2000) 및 복수의 가전 기기(4000)로 구현될 수도 있고, 청소 로봇(1000)과 서버 장치(2000)로 구현될 수도 있다. 각 구성에 대해서 살펴보기로 한다.
본 개시의 일 실시예에 따른 청소 로봇(1000)은, 바퀴 등을 이용하여 스스로 이동이 가능한 로봇 장치로서, 청소 공간을 이동하면서 청소 동작을 수행할 수 있다. 청소 공간은, 예를 들어, 집, 사무실과 같이 청소가 필요한 공간일 수 있다.
청소 로봇(1000)은 적어도 하나의 센서를 이용하여 실내 공간을 탐색하고, 실내 공간 지도를 생성할 수 있다. 실내 공간은 청소 로봇(1000)이 실질적으로 자유롭게 이동할 수 있는 영역을 의미할 수 있다. 실내 공간 지도는, 예를 들어, 청소 중 주행에 사용되는 내비게이션 맵(Navigation map), 위치 인식에 사용되는 SLAM(Simultaneous localization and mapping) 맵, 및 인식된 장애물에 관한 정보가 기록되는 장애물 인식 맵 중 적어도 하나에 관한 데이터를 포함할 수 있다. 실내 공간 지도는 청소 로봇(1000)에 의해 분할된 복수의 청소 영역(예컨대, 거실, 주방, 방1, 방2 등)을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 실내 공간 지도는 복수의 가전 기기(4000)의 위치 정보를 포함할 수도 있다. 청소 로봇(1000)은, 카메라를 통해 획득되는 영상 정보, 3D 센서 또는 라이다 센서에 의해 획득되는 장애물 정보, 및 가전 기기의 통신 세기 중 적어도 하나에 기초하여, 복수의 가전 기기(4000)의 위치를 추정할 수 있다. 실내 공간 지도는 청소 로봇(1000)이 청소 동작을 수행할 때마다 업데이트될 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은, 인공 지능(AI) 프로세서를 탑재할 수 있다. 인공 지능(AI) 프로세서는, 인공 지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 청소 로봇(1000)에 탑재될 수도 있다. 청소 로봇(1000)은 인공 지능(AI) 프로세서를 이용하여 청소 경로 또는 운행 모드를 계획할 수 있다. 예를 들어, 청소 로봇(1000)은, AI 프로세서를 이용하여, 실내의 먼지 양 또는 바닥의 재질에 따라, 흡입 강도를 조절할 수 있다. 청소 로봇(1000)은, AI 프로세서를 이용하여, 집중 청소 영역을 설정할 수도 있다. 또한, 청소 로봇(1000)은 장애물의 위치에 따라 청소 경로를 변경할 수 있으며, 배터리 잔존 양에 따라서 충전 스테이션으로 복귀할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은, 외부의 장치와 통신을 수행하기 위한 통신 인터페이스를 포함할 수 있다. 예를 들어, 청소 로봇(1000)은 통신 인터페이스를 통해 서버 장치(2000) 또는 복수의 가전 기기(4000)와 통신을 수행할 수 있다. 통신 인터페이스는, 근거리 통신부, 이동 통신부 등을 포함할 수 있다. 근거리 통신부(short-range wireless communication interface)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication interface), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 서버 장치(2000)로부터 제어 명령을 수신하고, 제어 명령에 따라 청소 동작을 수행할 수 있다. 이때, 본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 청소 동작은 가전 기기의 유휴 버튼과 관련된 입력에 매칭될 수 있다. 유휴 버튼은 가전 기기에서 제공하는 적어도 하나의 기능에 매칭되지 않은 특정 버튼에 대한 조작(또는 입력 패턴)을 의미할 수 있다. 청소 로봇(1000)이 서버 장치(2000)로부터 제어 명령을 수신하는 동작에 대해서는 도 2를 참조하여 후에 자세히 살펴보기로 한다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 청소 경로를 따라 이동하면서 주변에 위치하는 가전 기기와 통신을 수행할 수 있다. 청소 로봇(1000)은 가전 기기의 주변 청소 상태와 관련된 정보를 가전 기기와 공유할 수 있으며, 가전 기기의 유휴 리소스 정보를 획득할 수도 있다. 또한, 청소 로봇(1000)은 영상 정보(또는 센싱 정보)에 대한 분산 처리를 가전 기기에 요청할 수도 있다. 이때, 청소 로봇(1000)은 영상 정보(또는 센싱 정보)에 대한 분산 처리를 근거리 무선 통신(예컨대, 와이파이 다이렉트)를 통해서 가전 기기에 직접 요청할 수도 있고, 서버 장치(2000)를 통해서 가전 기기에 요청할 수도 있다. 청소 로봇(1000)이 영상 정보(또는 센싱 정보)를 외부의 가전 기기와 분산 처리하는 동작에 대해서는 도 19 내지 도 21을 참조하여 후에 자세히 살펴보기로 한다.
본 개시의 일 실시예에 따른 서버 장치(2000)는 AI 프로세서를 포함할 수 있다. AI 프로세서는 인공신경망을 학습시켜, 가전 기기의 유휴 버튼을 이용한 추천 시나리오를 제공하기 위한 인공 지능 모델을 생성할 수 있다. 인공신경망을 ‘학습’시킨다는 것은 데이터를 바탕으로 가중치를 적절히 바꿔주면서 인공신경망을 구성하는 뉴런들의 연결이 최적의 의사결정을 할 수 있는 수학적 모델을 만드는 것을 의미할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 외부의 장치와 통신을 수행하기 위한 통신 인터페이스를 포함할 수 있다. 예를 들어, 서버 장치(2000)는 청소 로봇(1000), 복수의 가전 기기(4000) 또는 디스플레이 장치(3000)와 통신을 수행할 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 청소 로봇(1000)의 식별 정보 또는 사용자의 식별 정보(예컨대, 로그인 정보 또는 계정 정보)를 서버 장치(2000)로 전송할 수 있다. 청소 로봇(1000)은 청소 로봇(1000)의 식별 정보 또는 사용자의 식별 정보를 서버 장치(2000)로부터 인증 받음으로써, 서버 장치(2000)에 접근할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 복수의 가전 기기(4000) 또는 청소 로봇(1000)의 정보를 수집할 수 있다. 예를 들어, 서버 장치(2000)는, 복수의 가전 기기(4000) 및 청소 로봇(1000)이 서버 장치(2000)에 등록될 때, 복수의 가전 기기(4000)의 유휴 버튼 및 청소 로봇(1000)의 유휴 버튼에 관한 정보를 획득할 수 있다. 서버 장치(2000)는 복수의 가전 기기(4000)에서 수집되는 센싱 정보를 수신할 수도 있다. 서버 장치(2000)는 센싱 정보를 복수의 가전 기기(4000)로부터 주기적으로 수신할 수도 있고, 특정 이벤트가 발생했을 때 수신할 수도 있다. 서버 장치(2000)는 청소 로봇(1000)으로부터 청소 상태와 관련된 정보를 수신할 수도 있다. 예를 들어, 서버 장치(2000)는 청소 로봇(1000)으로부터 청소 완료 메시지, 청소 중단 메시지, 청소 시작 메시지, 청소 경로에 대한 이미지 등을 수신할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 복수의 가전 기기(4000)의 상태 또는 청소 로봇(1000)의 상태를 모니터링할 수 있다. 예를 들어, 서버 장치(2000)는, 복수의 가전 기기(4000)의 유휴 리소스 정보를 모니터링할 수도 있고, 청소 로봇(1000)의 위치를 모니터링할 수도 있다.
본 개시의 일 실시 예에 따른 디스플레이 장치(3000)는, 서버 장치(2000)에 연결되며, 서버 장치(2000)에서 제공하는 정보를 표시하는 장치일 수 있다. 본 개시의 일 실시예에 의하면, 디스플레이 장치(3000)는 디스플레이 장치(3000)에 설치된 특정 애플리케이션을 통해서 서버 장치(2000)와 정보를 송수신할 수 있다. 본 개시의 일 실시예에 의하면, 특정 애플리케이션은 사용자가 청소 로봇(1000) 또는 복수의 가전 기기(4000)의 정보를 확인하거나 청소 로봇(1000) 또는 복수의 가전 기기(4000)를 원격으로 제어하는 기능을 제공하는 애플리케이션일 수 있다.
본 개시의 일 실시 예에 의하면, 디스플레이 장치(3000)는, 청소 로봇(1000)과 동일한 계정 정보로 연결된 장치일 수 있다. 디스플레이 장치(3000)는 청소 로봇(1000)과 근거리 통신 링크를 통해서 직접 연결될 수도 있고, 서버 장치(2000)를 통해서 청소 로봇(1000)과 간접적으로 연결될 수도 있다.
본 개시의 일 실시예에 따른 디스플레이 장치(3000)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 개시에서 기술되는 디스플레이 장치(3000)는 모바일 단말, 디스플레이를 포함하는 냉장고, TV, 컴퓨터, 디스플레이를 포함하는 오븐 등일 수 있으나, 이에 한정되는 것은 아니다. 또한, 모바일 단말은, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 디지털 카메라, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 모바일 단말은 사용자에 의해 착용될 수 있는 웨어러블 디바이스일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있다. 이하에서는, 설명의 편의상, 디스플레이 장치(3000)가 스마트폰인 경우를 예로 들어 설명하기로 한다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000) 또는 디스플레이 장치(3000)는, 마이크로폰을 통해 아날로그 신호인 음성 신호를 수신하고, ASR(Automatic Speech Recognition) 모델을 이용하여 음성 부분을 컴퓨터로 판독 가능한 텍스트로 변환할 수 있다. 청소 로봇(1000) 또는 디스플레이 장치(3000)는 자연어 이해(Natural Language Understanding, NLU) 모델을 이용하여 변환된 텍스트를 해석하여, 사용자의 발화 의도를 획득할 수 있다. 여기서 ASR 모델 또는 NLU 모델은 인공지능 모델일 수 있다. 인공지능 모델은 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서에 의해 처리될 수 있다. 인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다.
언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리(Natural Language Processing), 기계 번역(Machine Translation), 대화 시스템(Dialog System), 질의 응답(Question Answering), 음성 인식/합성(Speech Recognition/Synthesis) 등을 포함한다.
본 개시의 일 실시예에 따른 복수의 가전 기기(4000)는, 청소 로봇(1000)과 같은 공간에 위치하는 가전 기기들일 수 있다. 예를 들어, 청소 로봇(1000)이 댁내에 위치하는 경우, 복수의 가전 기기(4000)는 댁내에 위치하는 가전 기기들일 수 있다.
본 개시의 일 실시예에 의하면, 복수의 가전 기기(4000)는 냉장고, 공기 청정기, 에어컨, 오디오 장치, 인덕션, 세탁기, 건조기, 의류 관리기, TV, 식기세척기, 오븐, 전자레인지, 에어 프라이어, 반려 동물을 위한 자동 급식기, 정수기, 조명 장치, 비데 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
복수의 가전 기기(4000)는 유휴 버튼을 포함할 수 있다. 본 개시에서, 소정 버튼에 대한 조작이 가전 기기의 특정 기능 또는 특정 동작과 매칭되지 않는 경우, 특정 버튼에 대한 조작을 유휴 버튼으로 정의할 수 있다. 예를 들어, 전원 버튼을 한 번 터치하는 조작이 가전 기기의 전원을 온/오프 하는 기능을 갖는 경우, 전원 버튼을 한번 터치하는 조작은 유휴 버튼이 아닐 수 있으나, 전원 버튼을 두 번 터치하는 조작과 매칭된 기능이 없는 경우, 전원 버튼을 두 번 터치하는 조작은 유휴 버튼일 수 있다. 가전 기기의 종류가 다양해 지고, 가전 기기에서 제공하는 기능이 많아짐에 따라, 가전 기기의 버튼들이 늘어나고, 가전 기기의 버튼들에 특정 조작을 매칭한 유휴 버튼들도 늘어날 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기의 유휴 버튼에 청소 로봇(1000)의 동작을 매칭한 시나리오를 설정함으로써, 사용자가 주변에 위치하는 가전 기기의 유휴 버튼에 대한 입력을 통해서 청소 로봇(1000)을 가전 기기 주변으로 호출할 수 있다. 이 경우, 사용자는 청소 로봇(1000)을 제어하기 위한 리모컨이나 모바일 단말을 항상 가지고 다니지 않더라도 언제든지 청소 로봇(1000)을 쉽게 호출할 수 있다. 가전 기기의 유휴 버튼에 청소 로봇(1000)의 동작을 매칭한 시나리오를 설정하는 동작에 대해서는 도 10을 참조하여 후에 자세히 살펴보기로 한다.
복수의 가전 기기(4000)는 유휴 리소스를 가질 수 있다. 가전 기기들의 하드웨어(예컨대, CPU, GPU, RAM 등) 성능이 좋아짐에 따라, 가전 기기에 따라서는 유휴 리소스가 많이 생길 수 있다. 예를 들어, 냉장고의 경우, 자체적으로 연산해야 하는 양이 많지 않기 때문에, 가용 리소스 대비 유휴 리소스가 많을 수 있다. 본 개시의 일 실시예에 의하면, 복수의 가전 기기(4000)는 유휴 리소스를 이용하여 청소 로봇(1000)의 영상 처리를 도울 수 있다.
본 개시의 일 실시예에 의하면, 복수의 가전 기기(4000)는 서버 장치(2000)에 연결되는 제 1 그룹(4100)의 가전 기기들과 서버 장치(2000)에 연결되지 않은 제 2 그룹(4200)의 가전 기기들로 나뉠 수 있다.
제 1 그룹(4100)의 가전 기기들은 서버 장치(2000)에 식별 정보(또는 계정 정보)를 등록하기 위해 식별 정보를 서버 장치(2000)에 전송할 수 있다. 이때, 서버 장치(2000)는 제 1 그룹(4100)의 가전 기기들의 식별 정보(또는 계정 정보)를 메모리에 등록하고, 식별 정보(또는 계정 정보)에 기초하여 제 1 그룹(4100)의 가전 기기들의 유휴 버튼 정보를 획득할 수 있다. 유휴 버튼 정보는 가전 기기에서 제공하는 특정 기능이나 특정 동작에 매칭되지 않은 특정 키에 대한 조작(예컨대, 예약 버튼을 3초 동안 선택)에 관한 정보를 의미할 수 있다. 본 개시의 일 실시예에 의하면, 제 1 그룹(4100)의 가전 기기들은 유휴 버튼에 대한 사용자 입력이 수신되는 경우 사용자 입력에 관한 정보를 서버 장치(2000)에 전달할 수 있다.
제 1 그룹(4100)의 가전 기기들은 서버 장치(2000)로 센싱 정보(예컨대, 미세 먼지 값, 온도 값, 습도 값 등) 또는 상태 정보(예컨대, 운전 모드 정보, 풍량 정보, 풍속 정보, 배터리 정보, 현재 사용 중인 리소스 정보 등)를 전송할 수 있다. 제 1 그룹(4100)의 가전 기기들은 주기적으로 센싱 정보 또는 상태 정보를 서버 장치(2000)에 전송할 수도 있고, 특정 이벤트가 발생했을 때 센싱 정보 또는 상태 정보를 서버 장치(2000)로 전송할 수도 있다.
한편, 제 1 그룹(4100)의 가전 기기들은, 서버 장치(2000)를 통해서 청소 로봇(1000)과 통신할 수 있으며, 근거리 무선 통신(예컨대, 와이파이 다이렉트, 블루투스 등)을 통해서 청소 로봇(1000)과 직접 통신할 수도 있다.
제 2 그룹(4200)의 가전 기기들은 서버 장치(2000)에 연결되어 있지 않으므로, 청소 로봇(1000)과 근거리 무선 통신을 통해서 직접 통신할 수 있다. 예를 들어, 제 2 그룹(4200)의 가전 기기들은 근거리 무선 통신을 통해서 제 2 그룹(4200)의 가전 기기들의 유휴 버튼과 청소 로봇(1000)의 동작을 매칭한 시나리오를 청소 로봇(1000)으로부터 수신하여 저장할 수 있다. 또한, 제 2 그룹(4200)의 가전 기기들은 시나리오에 기반하여 청소 로봇(1000)에 호출 명령을 직접 전송할 수도 있다. 본 개시의 일 실시예에 의하면, 제 2 그룹(4200)의 가전 기기들은 청소 로봇(1000)으로부터 영상 정보(또는 센싱 정보)에 대한 분산 처리(Distributed processing) 요청을 근거리 무선 통신을 통해 수신하고, 영상 정보(또는 센싱 정보)에 대한 분산 처리 결과를 청소 로봇(1000)에 직접 전송할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 제 2 그룹(4200)의 가전 기기들은 서버 장치(2000)에 연결되어 있지 않으므로, 청소 로봇(1000)이 제 2 그룹(4200)의 식별 정보를 서버 장치(2000)에 전달하여, 제 2 그룹(4200)의 식별 정보를 서버 장치(2000)에 등록할 수도 있다.
이하에서는, 복수의 가전 기기(4000) 중에서, 서버 장치(2000)에 연결되는 제 1 그룹(4100)의 가전 기기들의 유휴 버튼 및 유휴 리소스를 활용하는 실시 예에 대해서 도 2 내지 도 12 및 도 19를 참조하여 먼저 설명 한 후에, 서버 장치(2000)에 연결되지 않은 제 2 그룹(4200)의 가전 기기들의 유휴 버튼 및 유휴 리소스를 활용하는 실시 예에 대해서 도 13 내지 도 18 및 도 20 참조하여 설명하기로 한다.
도 2는 본 개시의 일 실시예에 따른 서버 장치가 청소 로봇을 제어하는 방법을 설명하기 위한 순서도이다.
단계 S210에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 1 가전 기기를 통해 청소 로봇과 관련된 제 1 사용자 입력을 수신할 수 있다. 예를 들어, 제 1 가전 기기가 청소 로봇(1000)과 관련된 제 1 사용자 입력을 수신하는 경우, 제 1 가전 기기는 서버 장치(2000)에 제 1 가전 기기에서 청소 로봇(1000)과 관련된 제 1 사용자 입력이 수신되었음을 알릴 수 있다. 이 경우, 서버 장치(2000)는, 제 1 가전 기기로부터 제 1 사용자 입력에 관한 정보(예컨대, 입력 형태, 입력 시간 등)를 수신함으로써, 제 1 가전 기기를 통해 제 1 사용자 입력을 수신할 수 있다. 여기서, 제 1 가전 기기는 서버 장치(2000)에 연결되는 제 1 그룹(4100)의 가전 기기들 중 하나일 수 있다.
본 개시의 일 실시예에 의하면, 제 1 사용자 입력은, 제 1 가전 기기가 제공하는 적어도 하나의 기능과 매칭되지 않은 제 1 가전 기기의 유휴 버튼과 관련된 입력일 수 있다. 예를 들어, 제 1 가전 기기가 에어컨인 경우, 에어컨의 풍속 버튼을 3회 터치하는 제 1 조작, 전원 버튼을 3초 이상 누르는 제 2 조작, 풍향 버튼과 예약 버튼을 동시에 터치하는 제 3 조작 등은 에어컨이 기본적으로 제공하는 기능에 매칭되어 있지 않을 수 있다. 이때, 에어컨에 대한 제 1 조작, 제 2 조작, 제 3 조작은 에어컨의 유휴 버튼과 관련된 입력일 수 있다.
단계 S220에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 시나리오 목록 중에서 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별할 수 있다.
본 개시의 일 실시예에 의하면, 시나리오 목록은 적어도 하나의 가전 기기의 유휴 버튼과 청소 로봇(1000)의 적어도 하나의 동작을 매칭한 적어도 하나의 시나리오를 포함할 수 있다. 시나리오 목록은, 사용자에 의해 미리 승인된 시나리오를 포함할 수 있다. 예를 들어, 시나리오 목록에는 서버 장치(2000)에서 추천한 시나리오들 중에서 사용자가 선택한 시나리오가 포함될 수 있으며, 사용자가 직접 설정한 시나리오가 포함될 수도 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 제 1 가전 기기를 통해 수신된 제 1 사용자 입력에 기초하여, 시나리오 목록에서 제 1 시나리오를 선택할 수 있다. 예를 들어, 서버 장치(2000)는 제 1 사용자 입력이 포함된 제 1 시나리오를 선택할 수 있다. 본 개시의 일 실시예에 의하면, 제 1 시나리오는, 제 1 가전 기기의 유휴 버튼과 관련된 입력(즉, 제 1 사용자 입력)에 대응하는 청소 로봇(1000)의 적어도 하나의 동작을 포함할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 적어도 하나의 동작은, 가전 기기 주변의 청소를 수행하는 동작(이하에서는, 호출 동작이라고 표현하기도 함), 특정 모드로 청소를 수행하는 동작, 충전 스테이션으로 복귀하는 동작, 방향을 전환하는 동작 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 특정 모드는 집중 모드, 일반 모드, 반복 모드 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 집중 모드는 흡입 동작을 지속적으로 수행하는 모드일 수 있으며, 일반 모드보다 청소 경로 간격을 좁게 해서 청소하는 모드일 수 있다. 일반 모드는 이동 중에는 흡입 동작을 수행하지 않고 먼지가 있는 구간에서만 흡입 동작을 수행하는 모드일 수 있다. 반복 모드는 청소 로봇(1000)의 배터리 잔량이 임계값 미만이 될 때까지 반복적으로 청소하는 모드일 수 있다.
단계 S230에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 1 시나리오에 기초하여, 청소 로봇(1000)의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 이동 위치 정보는 청소 로봇(1000)이 이동해야 하는 목표 위치에 관한 정보일 수 있다. 예를 들어, 청소 로봇(1000)의 이동 위치 정보는 가전 기기의 식별 정보, 가전 기기의 위치 정보, 충전 스테이션의 위치 정보, 가전 기기까지 이동하기 위한 경로 정보(네비게이션 정보) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 의하면, 제 1 시나리오가 청소 로봇(1000)을 제 1 가전 기기 주변으로 호출하는 동작을 포함하는 경우, 서버 장치(2000)는 제 1 가전 기기의 위치 정보를 포함하는 제어 명령을 검출할 수 있다. 청소 로봇(1000)이 가전 기기들의 위치가 표시된 실내 공간 지도를 가지고 있는 경우, 제 1 가전 기기의 식별 정보만 청소 로봇(1000)에 알려주더라도 청소 로봇(1000)이 제 1 가전 기기 주변으로 이동할 수 있으므로, 서버 장치(2000)는 제 1 가전 기기의 위치 정보로서 제 1 가전 기기의 식별 정보를 청소 로봇(1000)에 전송할 수도 있다.
본 개시의 일 실시예에 의하면, 제어 명령은 제 1 가전 기기의 주변 영역에 대한 청소 명령, 충전 스테이션으로의 복귀 명령, 방향 전환 명령, 동작 모드 전환 명령, 특정 모드(예컨대, 집중 모드, 일반 모드, 반복 모드 등)로 청소를 수행하는 명령 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 제 1 시나리오가 청소 로봇(1000)이 제 1 가전 기기 주변을 집중 모드로 청소하는 동작을 포함하는 경우, 서버 장치(2000)는 제 1 가전 기기의 위치 정보 및 청소 로봇(1000)의 동작 모드 정보(예컨대, 집중 모드)를 포함하는 제어 명령을 검출할 수 있다.
단계 S240에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제어 명령을 청소 로봇(1000)으로 전송할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)으로 전송하는 제어 명령은, 제 1 가전 기기로부터 소정 거리 내의 제 1 영역에 대한 청소 명령을 포함할 수 있다. 제 1 영역은 사용자가 실내 공간 지도(예컨대, 평면도 또는 청소 로봇(1000)이 생성한 지도)에서 지정한 영역일 수도 있고, 서버 장치(2000)에서 추천한 영역일 수도 있고, 청소 로봇(1000)이 구획한 영역일 수도 있다.
청소 로봇(1000)은 서버 장치(2000)로부터 제어 명령이 수신되는 경우, 제 1 가전 기기 주변으로 이동하여, 제 1 영역에 대한 청소를 완료할 수 있다. 예를 들어, 청소 로봇(1000)은 제 1 영역에 대한 청소 경로를 계획하고, 계획된 청소 경로를 따라서 제 1 영역에 대한 청소를 완료할 수 있다. 청소 로봇(1000)이 청소하는 중에 제 1 영역에서 장애물을 인식한 경우, 청소 로봇(1000)은 계획된 청소 경로를 변경할 수도 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 청소 로봇(1000)으로부터 제어 명령에 따른 청소 완료 메시지를 수신할 수 있고, 제 1 가전 기기로 제 1 영역에 대한 청소가 완료되었다는 메시지(청소 완료 메시지)를 전송할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 디스플레이 장치(3000)를 통해서 제 1 영역에 대한 청소가 완료되었다는 메시지를 사용자에게 출력해 줄 수도 있다.
본 개시의 일 실시예에 의하면, 사용자는 청소 로봇(1000)을 제어하기 위한 원격 제어 장치가 없더라도, 사용자 근처에 있는 가전 기기의 유휴 버튼을 이용하여 가전 기기 주변으로 청소 로봇(1000)을 빠르게 호출할 수 있다. 도 3을 참조하여, 서버 장치(2000)가 가전 기기의 유휴 버튼과 청소 로봇(1000)의 동작을 매칭한 시나리오에 기반하여 청소 로봇(1000)을 제어하는 동작에 대해서 조금 더 자세히 살펴보기로 한다.
도 3은 본 개시의 일 실시예에 따른 서버 장치가 청소 로봇을 제어하는 방법을 설명하기 위한 순서도이다.
단계 S301에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 시나리오 목록을 메모리에 저장할 수 있다. 시나리오 목록은 적어도 하나의 시나리오의 정보를 포함할 수 있다. 시나리오 목록은 적어도 하나의 가전 기기의 유휴 버튼과 청소 로봇(1000)의 적어도 하나의 동작을 매칭한 정보를 포함할 수 있다. 서버 장치(2000)는 디스플레이 장치(3000)를 통해서 사용자에게 시나리오 목록을 제공해 줄 수도 있다.
도 4를 참조하면, 사용자는 디스플레이 장치(3000)를 통해서 시나리오 목록(2033)을 확인할 수 있다. 예를 들어, 시나리오 목록(2033)은 시나리오 A(410)와 시나리오 B(420)를 포함할 수 있다. 시나리오 목록(2033)에 포함된 시나리오 A(410)와 시나리오 B(420) 각각은 가전 기기의 식별 정보, 가전 기기의 유휴 버튼과 관련된 사용자 입력 정보, 청소 로봇(1000)의 동작을 포함할 수 있다. 예를 들어, 시나리오 A(410)는 에어컨(가전 기기의 식별 정보)의 제습 버튼을 3초 선택(유휴 버튼과 관련된 사용자 입력 정보)하는 경우, 청소 로봇(1000)을 에어컨 근처로 호출하는 동작(청소 로봇(1000)의 동작)을 포함할 수 있다. 시나리오 B(420)는 냉장고(가전 기기의 식별 정보)의 맞춤 보관실 버튼을 두 번 터치(유휴 버튼과 관련된 사용자 입력 정보)하는 경우 냉장고 주변으로 청소 로봇(1000)을 호출하는 동작(청소 로봇(1000)의 동작)을 포함할 수 있다.
본 개시의 일 실시예에 의하면, 시나리오 목록(2033)은 사용자에 의해 편집될 수 있다. 예를 들어, 도 4를 참조하면, 사용자는 편집 아이콘(411)을 선택하여, 시나리오 A(410) 상의 가전 기기의 종류, 사용자 입력의 형태, 청소 로봇(1000)의 동작을 수정할 수 있다. 사용자는 삭제 아이콘(412)을 선택하여, 시나리오 A(410)를 시나리오 목록(2033)에서 삭제할 수도 있다. 사용자는 알림 아이콘(413)을 선택하여 시나리오 A(410)의 수행과 관련된 알림을 수신할 수도 있다. 예를 들어, 시나리오 A(410)가 수행될 때, 청소 로봇(1000) 또는 디스플레이 장치(3000)(예컨대, 사용자의 모바일 단말)가 '청소 로봇(1000)이 에어컨 근처로 이동합니다'라는 음성 가이드를 출력하도록 설정할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 사용자로부터의 편집 입력에 따라 시나리오 목록(2033)을 업데이트할 수 있다.
단계 S302에서, 본 개시의 일 실시예에 따른 제 1 가전 기기(4001)는, 사용자로부터 청소 로봇(1000)과 관련된 제 1 사용자 입력을 수신할 수 있다. 이때, 제 1 가전 기기(4001)는 서버 장치(2000)에 연결된 가전 기기일 수 있다. 제 1 사용자 입력은 청소 로봇(1000)의 동작과 관련하여 미리 정의된 입력일 수 있다. 제 1 사용자 입력은, 제 1 가전 기기(4001)가 제공하는 적어도 하나의 기능과 매칭되지 않은 제 1 가전 기기(4001)의 유휴 버튼과 관련된 입력일 수 있다.
예를 들어, 도 4를 참조하면, 제 1 가전 기기(4001)가 에어컨인 경우, 제 1 사용자 입력은 시나리오 A(410) 상의 에어컨의 제습 버튼을 3초 선택하는 입력일 수 있다. 에어컨의 제습 버튼을 3초 선택하는 입력은 에어컨의 제습 기능과 무관할 수 있으며, 에어컨에서 제공하는 다른 기능과도 무관할 수 있다.
단계 S303에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 제 1 가전 기기(4001)로부터 제 1 사용자 입력에 관한 정보를 수신할 수 있다. 예를 들어, 제 1 가전 기기(4001)가 사용자로부터 제 1 사용자 입력을 수신하는 경우, 제 1 가전 기기(4001)는 제 1 사용자 입력의 이벤트가 발생했음을 알리는 정보를 서버 장치(2000)에 전송할 수 있다. 예를 들어, 사용자가 에어컨의 제습 버튼을 3초 선택하는 경우, 에어컨은 제습 버튼을 3초 선택하는 입력 이벤트가 발생했음을 나타내는 정보를 서버 장치(2000)에 전송할 수 있다.
본 개시의 일 실시예에 의하면, 제 1 가전 기기(4001)는 제 1 가전 기기(4001)의 식별 정보와 함께 제 1 사용자 입력에 관한 정보를 서버 장치(2000)에 전달할 수 있다.
단계 S304에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 1 가전 기기(4001)를 통해 수신된 제 1 사용자 입력에 대응되는 제 1 시나리오를 식별할 수 있다. 예를 들어, 서버 장치(2000)는 시나리오 목록(2033) 중에서 제 1 사용자 입력이 포함된 제 1 시나리오를 선택할 수 있다. 본 개시의 일 실시예에 의하면, 제 1 시나리오는, 제 1 가전 기기(4001)의 유휴 버튼과 관련된 입력(즉, 제 1 사용자 입력)에 대응하는 청소 로봇(1000)의 적어도 하나의 동작을 포함할 수 있다.
예를 들어, 도 4를 참조하면, 제 1 사용자 입력이 에어컨의 제습 버튼을 3초 선택하는 입력인 경우, 서버 장치(2000)는 시나리오 목록(2033) 중에서 에어컨의 제습 버튼을 3초 선택하는 입력과 관련된 시나리오 A(410)(즉, 에어컨의 제습 버튼을 3초 선택하면 청소 로봇을 에어컨 근처로 호출합니다)를 선택할 수 있다.
단계 S305에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 1 시나리오로부터 청소 로봇(1000)의 이동 위치 정보가 포함된 제어 명령을 검출할 수 있다. 청소 로봇(1000)의 이동 위치 정보는 청소 로봇(1000)이 이동해야 하는 목적지에 관한 정보일 수 있다. 예를 들어, 청소 로봇(1000)의 이동 위치 정보는 제 1 가전 기기(4001)의 식별 정보, 제 1 가전 기기(4001)의 위치 정보, 충전 스테이션의 위치 정보, 제 1 가전 기기(4001)까지 이동하기 위한 경로 정보(네비게이션 정보) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 의하면, 제 1 시나리오가 청소 로봇(1000)을 제 1 가전 기기(4001) 주변으로 호출하는 동작을 포함하는 경우, 서버 장치(2000)는 제 1 가전 기기(4001)의 위치 정보를 포함하는 제어 명령을 검출할 수 있다. 청소 로봇(1000)이 가전 기기들의 위치가 표시된 실내 공간 지도를 가지고 있는 경우, 제 1 가전 기기(4001)의 식별 정보만 청소 로봇(1000)에 알려주더라도 청소 로봇(1000)이 제 1 가전 기기(4001) 주변으로 이동할 수 있으므로, 서버 장치(2000)는 제 1 가전 기기(4001)의 위치 정보로서 제 1 가전 기기(4001)의 식별 정보를 청소 로봇(1000)에 전송할 수도 있다.
본 개시의 일 실시예에 의하면, 제 1 시나리오가 청소 로봇(1000)이 제 1 가전 기기(4001) 주변을 집중 모드로 청소하는 동작을 포함하는 경우, 서버 장치(2000)는 제 1 가전 기기(4001)의 위치 정보 및 청소 로봇(1000)의 동작 모드 정보(예컨대, 집중 모드로 동작)를 포함하는 제어 명령을 검출할 수 있다. 한편, 제어 명령이 충전 스테이션으로 복귀하라는 명령인 경우, 청소 로봇(1000)의 이동 위치 정보는 충전 스테이션의 위치에 관한 정보가 될 수 있다.
도 4를 참조하면, 시나리오 목록(2033) 중에서 시나리오 A(410)가 선택된 경우, 서버 장치(2000)는 시나리오 A(410)로부터 '에어컨 근처를 청소'하라는 제어 명령을 검출할 수 있다.
단계 S306에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 검출된 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 무선 통신 인터페이스(예컨대, 와이파이)를 통해서 검출된 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
단계 S307에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 서버 장치(2000)로부터 수신된 제어 명령에 따라 동작을 수행할 수 있다.
예를 들어, 제어 명령이 제 1 가전 기기(4001) 근처를 청소하라는 명령인 경우, 청소 로봇(1000)은 실내 공간 지도에 기반하여 제 1 가전 기기(4001) 주변으로 이동할 수 있다. 청소 로봇(1000)은 가전 기기들의 위치 정보를 포함하는 실내 공간 지도를 생성할 수 있다. 가전 기기들의 위치는 통신 세기 정보에 기반하여 추정될 수 있다. 예를 들어, 청소 로봇(1000)은 가전 기기들과 근거리 무선 통신을 수행할 수 있으므로, 청소 로봇(1000)은 가전 기기들로부터 수신되는 수신 신호의 강도(RSSI: Received Signal Strength Indication)에 기초하여 가전 기기들의 위치를 추정할 수 있다. 본 개시의 다른 실시예에 의하면, 청소 로봇(1000)은 카메라를 통해 획득되는 영상 정보를 분석하여, 가전 기기들의 위치를 추정할 수도 있다. 이때, 청소 로봇(1000)은 객체를 인식하도록 학습된 인공 지능 모델에 영상 정보를 적용하여 가전 기기들의 위치를 추정할 수도 있다. 예를 들어, 청소 로봇(1000)이 카메라를 통해 획득한 거실 이미지를 인공 지능 모델에 입력하는 경우, 청소 로봇(1000)은 인공 지능 모델로부터 거실의 좌측에 에어컨이 위치하고 거실 중앙에 TV가 위치하고, 거실 오른쪽에 공기 청정기가 위치한다는 정보를 결과 값으로 수신할 수 있다. 청소 로봇(1000)은 인공 지능 모델의 결과 값에 기초하여 가전 기기들의 위치가 표시된 실내 공간 지도를 생성할 수 있다.
도 5를 참조하면, 청소 로봇(1000)은 냉장고(501), 공기 청정기(502), 에어컨(503)의 위치가 포함된 실내 공간 지도(500)를 생성할 수 있다. 그리고 청소 로봇(1000)은 주행 시마다 실내 공간 지도(500)를 업데이트할 수 있다. 예를 들어, 청소 로봇(1000)이 어제 청소 동작을 수행할 때는 공기 청정기(502)가 제 1 지점에 위치하였으나, 그 후에 사용자가 공기 청정기(502)의 위치를 제 1 지점에서 제 2 지점으로 변경한 경우, 청소 로봇(1000)은 오늘 청소 동작을 수행하면서 공기 청정기(502)가 제 2 지점에 위치하는 것으로 실내 공간 지도(500)를 업데이트할 수 있다.
제어 명령이 제 1 가전 기기(4001) 근처를 청소하라는 명령인 경우, 청소 로봇(1000)은 제 1 가전 기기(4001) 근처의 영역에 대한 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 완료할 수 있다. 청소 로봇(1000)이 청소하는 중에 제 1 가전 기기(4001) 근처에서 장애물을 인식한 경우, 청소 로봇(1000)은 계획된 청소 경로를 변경할 수도 있고, 제 1 가전 기기(4001) 근처의 영역에 대한 청소를 중단할 수도 있다. 예를 들어, 장애물이 크지 않은 경우, 청소 로봇(1000)은 장애물을 피해서 청소하는 것으로 청소 경로를 변경할 수 있지만, 장애물이 커서 더 이상 청소를 진행할 수 없는 경우, 청소 로봇(1000)은 청소를 중단하고 충전 스테이션으로 복귀할 수 있다.
단계 S308에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 동작 수행 결과를 서버 장치(2000)에 업로드할 수 있다. 본 개시의 일 실시예에 의하면, 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 동작 수행 결과는 청소 히스토리에 관한 정보(예컨대, 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지)를 포함할 수도 있다.
단계 S309에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 청소 로봇(1000)의 동작 수행 결과를 제 1 가전 기기(4001)에 전달할 수 있다. 이 경우, 제 1 가전 기기(4001)는 제 1 가전 기기(4001) 주변 영역의 청소가 완료되었는지 또는 장애물 등에 의해 청소가 중단되었는지 등의 정보를 알 수 있다.
단계 S310에서, 본 개시의 일 실시예에 따른 제 1 가전 기기(4001)는 청소 로봇(1000)의 동작 수행 결과를 저장할 수 있다. 본 개시의 일 실시예에 의하면, 제 1 가전 기기(4001)는 메모리의 보안 영역(예컨대, 트러스트 존)에 청소 로봇(1000)의 동작 수행 결과를 저장할 수 있다. 보안 영역(예컨대, 트러스트 존)은 인증된 기기들(예컨대, 청소 로봇(1000))만 접근할 수 있는 영역일 수 있다.
본 개시의 일 실시예에 의하면, 제 1 가전 기기(4001)는, 청소 로봇(1000)의 동작 수행 결과에 기초하여, 청소 로봇(1000)이 제 1 가전 기기(4001) 주변의 청소를 완료하지 않은 경우, 추후에 청소 로봇(1000)을 제 1 가전 기기(4001) 주변으로 다시 호출할 수 있다. 제 1 가전 기기(4001) 주변의 청소가 중단된 경우에 제 1 가전 기기(4001)가 청소 로봇(1000)을 다시 호출하는 동작에 대해서는 도 22를 참조하여 후에 자세히 살펴보기로 한다.
단계 S311에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은, 제어 명령에 따라 동작 수행을 완료한 경우, 기존 청소 경로로 복귀할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 청소 동작을 수행하는 중에 제 1 가전 기기(4001) 근처로 호출된 경우, 청소 로봇(1000)은 제 1 가전 기기(4001) 주변에 대한 청소를 완료한 후, 기존 청소 경로로 복귀할 수 있다. 이때, 본 개시의 일 실시예에 의하면, 청소 로봇(4001)은 기존 청소 경로 중에서 제 1 가전 기기(4001)와 가장 가까운 지점으로 복귀할 수도 있고, 기존 청소 경로 중에서 청소가 중단된 지점으로 복귀할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 충전 스테이션에서 충전하는 중에 제 1 가전 기기(4001) 근처로 호출된 경우, 청소 로봇(1000)은 제 1 가전 기기(4001) 주변에 대한 청소를 완료한 후, 충전 스테이션으로 복귀할 수 있다.
이하에서는 도 6 및 도 7을 참조하여, 가전 기기의 유휴 버튼을 이용하여 청소 로봇을 제어하는 시나리오에 대해서 조금 더 구체적으로 살펴보기로 한다.
도 6은 본 개시의 일 실시예에 따른 냉장고의 유휴 버튼을 이용하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다. 도 6에서는 시나리오 목록(2033)에 냉장고(600)의 맞춤 보관실 버튼(610)을 두 번 터치하면 냉장고(600) 주변으로 청소 로봇(1000)을 호출하는 시나리오 B(420)가 저장되어 있는 경우를 예로 들어 설명하기로 한다.
도 6을 참조하면, 냉장고(600)가 위치하는 주방에 음식물 등이 떨어져 있는 경우, 사용자는 거실에서 충전하고 있는 청소 로봇(1000)을 주방으로 호출하기 위해 냉장고(600)의 맞춤 보관실 버튼(610)을 두 번 터치할 수 있다. 이때, 냉장고(600)는, 맞춤 보관실 버튼(610)을 두 번 터치하는 입력 이벤트가 발생했음을 감지할 수 있다. 그리고 냉장고(600)는, 냉장고(600)에서 맞춤 보관실 버튼(610)을 두 번 터치하는 사용자 입력을 수신했음을 나타내는 정보(사용자 입력에 관한 정보)를 서버 장치(2000)에 전송할 수 있다(단계 S601).
서버 장치(2000)가 냉장고(600)로부터 맞춤 보관실 버튼(610)을 두 번 터치하는 사용자 입력을 수신했음을 나타내는 정보를 수신한 경우, 서버 장치(2000)는, 시나리오 목록(2033) 중에서 맞춤 보관실 버튼(610)을 두 번 터치하는 사용자 입력에 대응하는 시나리오 B(420)를 선택할 수 있다. 서버 장치(2000)는 시나리오 B(420)에 기반해서 냉장고(600)의 주변 영역을 청소하라는 제어 명령을 검출할 수 있다. 서버 장치(2000)는 통신 인터페이스를 통해서 냉장고(600)의 주변 영역을 청소하라는 제어 명령을 청소 로봇(1000)으로 전송할 수 있다 (단계 S602). 여기서, 제어 명령은 냉장고(600)의 주변 영역의 위치 정보, 냉장고(600)의 식별 정보를 포함할 수 있다.
청소 로봇(1000)은, 서버 장치(2000)로부터 제어 명령을 수신한 경우, 제어 명령에 따라 청소 동작을 수행할 수 있다(단계 S603). 예를 들어, 청소 로봇(1000)은 냉장고(600)의 주변 영역으로 이동하고, 냉장고(600)의 주변 영역을 청소하기 위한 청소 경로를 계획할 수 있다. 이때, 청소 로봇(1000)은, 실내 공간 지도(500)를 이용하여, 냉장고(600)의 주변 영역으로 이동하고 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로에 따라 냉장고(600)의 주변 영역에 대한 청소를 완료하고, 서버 장치(2000)에 청소 완료 메시지를 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 냉장고(600)의 주변 영역에 대한 청소 완료 메시지를 냉장고(600)에 전달함으로써, 냉장고(600)가 주변 영역에 대한 청소가 완료되었는지 여부를 확인할 수 있도록 한다.
청소 로봇(1000)은 충전 중에 냉장고(600)의 주변 영역으로 호출되었으므로, 냉장고(600)의 주변 영역에 대한 청소를 완료한 경우, 청소 로봇(1000)은 충전 스테이션으로 복귀할 수 있다. 본 개시의 다른 실시예에 의하면, 청소 로봇(1000)은 배터리 잔량이 임계 값보다 큰 경우, 충전 스테이션으로 복귀하지 않고, 평소의 청소 경로를 따라 청소 동작을 더 수행할 수도 있다.
본 개시의 일 실시예에 의하면, 사용자는 주방에서 청소 로봇(1000)을 호출하기 위해, 모바일 단말에서 특정 애플리케이션을 실행시키거나 원격 제어 장치를 찾지 않고도, 미리 설정된 시나리오에 따라 냉장고(600)의 맞춤 보관실 버튼을 두 번 터치함으로써, 청소 로봇(1000)을 주방으로 빠르게 호출할 수 있다.
도 7은 본 개시의 일 실시예에 따른 TV 리모컨의 유휴 버튼을 이용하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다. 도 7에서는 시나리오 목록(2033)에 TV 리모컨(710)의 홈 키를 소정 시간 이상 길게 누르면(long press 입력) 청소 로봇(1000)이 TV (700) 주변 영역(거실 영역)을 청소하는 시나리오 C가 저장되어 있는 경우를 예로 들어 설명하기로 한다.
도 7을 참조하면, 사용자가 TV(700)를 시청하는 중에 거실에 먼지가 보이는 경우, 안방 에어컨 주변을 청소하고 있는 청소 로봇(1000)을 거실로 호출하기 위해 TV 리모컨(710)의 홈 키를 3초 이상 길게 누를 수 있다. 이때, TV(700)는 TV 리모컨(710)으로부터 적외선 통신을 통해 TV 리모컨(710)의 홈 키를 길게 누르는 입력(long press 입력)을 수신할 수 있다. 그리고 TV(700)는 TV 리모컨(710)의 홈 키를 길게 누르는 입력(long press 입력)이 수신되었음을 나타내는 정보(사용자 입력에 관한 정보)를 서버 장치(2000)에 전송할 수 있다(단계 S701).
서버 장치(2000)는, TV(700)로부터 TV 리모컨(710)의 홈 키를 길게 누르는 입력(long press 입력)이 수신되었음을 나타내는 정보를 수신한 경우, 시나리오 목록(2033) 중에서 TV 리모컨(710)의 홈 키를 길게 누르는 사용자 입력(long press 입력)에 대응하는 시나리오 C를 선택할 수 있다. 서버 장치(2000)는 시나리오 C에 기반해서 TV(700) 주변 영역(거실 영역)을 청소하라는 제어 명령을 검출할 수 있다. 서버 장치(2000)는 통신 인터페이스를 통해서 TV(700) 주변 영역을 청소하라는 제어 명령을 청소 로봇(1000)으로 전송할 수 있다 (단계 S702). 본 개시의 일 실시예에 의하면, TV(700) 주변 영역이 거실 영역으로 미리 지정되어 있는 경우, 제어 명령은 거실 영역의 위치 정보를 포함할 수 있다. 제어 명령은 TV(700)의 식별 정보를 포함할 수도 있다.
청소 로봇(1000)은, 서버 장치(2000)로부터 제어 명령을 수신한 경우, 제어 명령에 따라 청소 동작을 수행할 수 있다(단계 S703). 예를 들어, 청소 로봇(1000)은 TV(700) 주변 영역(거실 영역)으로 이동하고, TV(700) 주변 영역(거실 영역)을 청소하기 위한 청소 경로를 계획할 수 있다. 이때, 청소 로봇(1000)은, 실내 공간 지도(500)를 이용하여, TV(700) 주변 영역(거실 영역)으로 이동하고 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로에 따라 TV(700) 주변 영역(거실 영역)에 대한 청소를 완료하고, 서버 장치(2000)에 청소 완료 메시지를 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 TV(700) 주변 영역에 대한 청소 완료 메시지를 TV(700)에 전달함으로써, TV(700)가 주변 영역에 대한 청소가 완료되었는지 여부를 확인할 수 있도록 한다.
청소 로봇(1000)은 안방 에어컨 주변을 청소하는 중에 호출되었으므로, TV(700) 주변 영역(거실 영역)에 대한 청소를 완료한 경우, 청소 로봇(1000)은 기존 청소 경로로 복귀할 수 있다. 예를 들어, 청소 로봇(1000)이 안방 영역에 대한 제 1 청소 경로를 계획하고, 제 1 청소 경로를 따라 청소하는 중에 에어컨 주변(A 지점)에서 호출된 경우, 청소 로봇(1000)은 제 1 청소 경로 상의 에어컨 주변(A 지점)으로 복귀할 수 있다. 그리고 청소 로봇(1000)은 제 1 청소 경로 중에서 청소를 완료하지 못한 부분에 대한 청소를 계속 수행할 수 있다.
본 개시의 일 실시예에 의하면, 사용자는 TV(700)를 시청하는 중에 청소 로봇(1000)을 호출하기 위해, 모바일 단말의 청소 애플리케이션을 실행시키거나 청소 로봇(1000)의 원격 제어 장치를 찾지 않고도, 미리 설정된 시나리오에 따라 TV 리모컨(710)의 홈 키를 길게 누름으로써, 청소 로봇(1000)을 거실로 빠르게 호출할 수 있다.
이하에서는 청소 로봇(1000)과 관련된 시나리오를 생성하는 방법에 대해서 도 8 내지 도 14를 참조하여 자세히 살펴보기로 한다.
도 8은 본 개시의 일 실시예에 따른 서버 장치가 복수의 추천 시나리오를 제공하는 방법을 설명하기 위한 순서도이다.
단계 S810에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 적어도 하나의 가전 기기의 유휴 버튼들에 관한 정보를 획득할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 각 가전 기기를 서버 장치(2000)에 등록할 때, 각 가전 기기로부터 각 가전 기기 본연의 기능에 따라 기 설정된 키(이하, 고정 키 또는 고정 버튼이라 함)에 대한 정보를 수신할 수 있다. 이때, 서버 장치(2000)는, 고정 키 또는 고정 버튼을 제외하고 각 가전 기기의 유휴 버튼을 정의할 수 있다. 예를 들어, 서버 장치(2000)는 각 가전 기기의 특정 버튼에 대해 다양한 조작(또는 입력 패턴)을 매칭시킴으로써 유휴 버튼을 정의할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 각 가전 기기로부터 고정 버튼에 관한 정보와 유휴 버튼에 관한 정보가 포함된 매뉴얼 정보를 수신할 수도 있다. 이 경우, 서버 장치(2000)는 각 가전 기기의 매뉴얼 정보에 기초하여 각 가전기기의 유휴 버튼을 식별할 수 있다.
본 개시의 일 실시 예에 의하면, 서버 장치(2000)는 각 가전 기기로부터 식별 정보(예컨대, 모델 명, 출하 지역, OS 버전 정보, 맥 어드레스 등)를 수신할 수 있다. 이 경우, 서버 장치(2000)는 각 가전 기기의 식별 정보에 기초하여, 메모리에 저장된 각 가전 기기의 매뉴얼에서 각 가전 기기의 유휴 버튼을 검색할 수 있다. 본 개시의 일 실시예에 의하면 각 가전 기기의 매뉴얼에 고정 버튼에 대한 정보와 함께 유휴 버튼에 관한 정보도 포함되어 있을 수 있다.
만일, 각 가전 기기의 매뉴얼에 유휴 버튼에 관한 정보가 정의되어 있지 않은 경우, 서버 장치(2000)는, 매뉴얼에서 검색된 고정 키 또는 고정 버튼을 제외하고 각 가전 기기의 유휴 버튼을 새롭게 정의할 수 있다. 예를 들어, 서버 장치(2000)는 각 가전 기기의 특정 버튼에 대해 다양한 조작(또는 입력 패턴)을 매칭시킴으로써 유휴 버튼을 정의할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 서버 장치(2000)의 메모리에 가전 기기의 매뉴얼이 저장되어 있지 않은 경우, 서버 장치(2000)는 외부 서버에서 가전 기기의 매뉴얼을 검색할 수도 있다. 예를 들어, 서버 장치(2000)는 가전 기기와 관련된 서비스를 제공하는 서비스 서버에 가전 기기의 식별 정보에 대응하는 매뉴얼을 요청하고, 서비스 서버로부터 가전 기기의 식별 정보에 대응하는 매뉴얼을 수신할 수 있다.
단계 S820에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 적어도 하나의 가전 기기의 유휴 버튼들을 이용하여, 복수의 추천 시나리오를 생성할 수 있다.
예를 들어, 서버 장치(2000)는, 적어도 하나의 가전 기기의 유휴 버튼들과 청소 로봇(1000)의 적어도 하나의 동작을 매칭하여, 복수의 추천 시나리오를 생성할 수 있다. 이 경우, 추천 시나리오는 가전 기기의 유휴 버튼 정보와 청소 로봇(1000)의 동작 정보를 포함할 수 있다. 예를 들어, 서버 장치(2000)는, 인덕션의 시간 버튼을 2회 터치하면 청소 로봇을 인덕션 근처로 호출하는 제 1 추천 시나리오와 인덕션의 시간 버튼을 3회 이상 터치하면 인덕션 근처를 집중 모드로 청소하는 제 2 추천 시나리오 등을 생성할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 사용자의 활용도를 고려하여, 추천 시나리오를 생성할 수 있다. 예를 들어, 서버 장치(2000)는 사용자의 가전 기기 사용 횟수 정보, 사용자의 모바일 단말로부터 수집한 사용자의 컨텍스트 정보(예컨대, 댁내에서 사용자가 주로 머무는 시간 정보, 댁내에서 사용자가 주로 머무는 공간 정보), 다른 사용자들이 선택한 시나리오에 관한 정보 등에 기초하여, 추천 시나리오를 생성할 수 있다.
예컨대, 사용자가 주방에 위치하는 가전 기기들을 이용하는 횟수가 많은 경우, 서버 장치(2000)는, 주방에 위치하는 가전 기기들의 유휴 버튼을 이용하여 추천 시나리오를 생성할 수 있다. 또한, 서버 장치(2000)가 사용자의 모바일 단말로부터 수신한 사용자의 위치 정보를 분석한 결과, 사용자가 거실에 주로 머무는 경우, 서버 장치(2000)는 거실에 위치하는 TV의 리모컨의 유휴 버튼을 이용하여 추천 시나리오를 생성할 수 있다. 한편, 다른 사용자들이 에어컨의 유휴 버튼과 청소 로봇(1000)의 동작을 매칭한 시나리오를 많이 이용하는 경우, 서버 장치(2000), 에어컨의 유휴 버튼과 청소 로봇(1000)의 동작을 매칭한 시나리오를 추천 시나리오로 생성할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 인공 지능 모델을 이용하여 추천 시나리오를 생성할 수 있다. 인공 지능 모델은 사용자들이 이용하는 시나리오를 학습하여 생성되거나 갱신(refine)될 수 있다. 인공 지능 모델은 서버 장치(2000)의 메모리에 저장되며, 계속 갱신될 수 있다.
단계 S830에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 복수의 추천 시나리오를 디스플레이 장치(3000)에 전송할 수 있다. 예를 들어, 서버 장치(2000)는, 디스플레이 장치(3000)가 디스플레이 장치(3000)에 설치된 특정 애플리케이션을 실행하는 경우, 특정 애플리케이션을 통해서 복수의 추천 시나리오를 디스플레이 장치(3000)에 제공할 수 있다. 특정 애플리케이션은 청소 로봇(1000) 또는 가전 기기와 관련된 서비스를 제공하는 애플리케이션일 수 있다.
단계 S840에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 복수의 추천 시나리오를 표시할 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 디스플레이 장치(3000)에 설치된 특정 애플리케이션을 실행하는 경우, 디스플레이 장치(3000)는 특정 애플리케이션의 실행 창을 통해서 복수의 추천 시나리오를 표시할 수 있다.
예를 들어, 도 9의 900-1을 참조하면, 디스플레이 장치(3000)는 특정 애플리케이션의 실행 창에 추천 시나리오 목록(910)을 표시할 수 있다. 예를 들어, 추천 시나리오 목록(910)은 인덕션의 예약 버튼을 3회 터치하면, 청소 로봇(1000)을 인덕션 근처로 호출하는 추천 시나리오 A(901)와 자동 급식기의 전원 버튼을 3회 터치하면, 청소 로봇(1000)을 자동 급식기 근처로 호출하는 추천 시나리오 B(902) 등을 포함할 수 있다. 자동 급식기는 반려 동물에게 사료를 자동으로 지급하는 기기일 수 있다. 자동 급식기는 서버 장치(2000)에 무선 통신(예컨대, 와이파이)를 통해 연결될 수 있다.
단계 S850에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 복수의 추천 시나리오 중에서 제 2 가전 기기의 유휴 버튼과 관련된 제 2 시나리오를 선택하는 입력을 수신할 수 있다.
제 2 가전 기기는 서버 장치(2000)에 무선 통신(예컨대, 와이파이)으로 연결된 가전 기기일 수 있다. 제 2 가전 기기의 종류는 다양할 수 있다. 예를 들어, 제 2 가전 기기는, 공기 청정기, 인덕션, 자동 급식기, TV, 에어컨, 식기 세척기, 냉장고, 세탁기, 건조기, 의료 관리기, 비데 등일 수 있으나, 이에 한정되는 것은 아니다.
제 2 시나리오는 제 2 가전 기기의 유휴 버튼과 청소 로봇(1000)의 적어도 하나의 동작이 매칭된 추천 시나리오일 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 적어도 하나의 동작은, 가전 기기 주변의 청소를 수행하는 동작(호출 동작), 특정 모드(예컨대, 집중 모드, 일반 모드, 반복 모드 등)로 청소를 수행하는 동작, 충전 스테이션으로 복귀하는 동작, 방향을 전환하는 동작 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
단계 S860에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 제 2 시나리오를 선택하는 입력을 서버 장치(2000)에 전달할 수 있다. 본 개시의 일 실시예에 따른 서버 장치(2000)는, 복수의 추천 시나리오 중에서 제 2 가전 기기의 유휴 버튼과 관련된 제 2 시나리오를 선택하는 입력을 디스플레이 장치(3000)를 통해 수신할 수 있다. 예를 들어, 서버 장치(2000)는 디스플레이 장치(3000)에서 실행되고 있는 특정 애플리케이션을 통해서 제 2 시나리오를 선택하는 입력을 수신할 수 있다.
도 9의 900-1을 참조하면, 서버 장치(2000)는 디스플레이 장치(3000)에 표시된 추천 시나리오 목록(910) 중에서 추천 시나리오 A(901)를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 사용자는 디스플레이 장치(3000)를 통해서 추천 시나리오 목록(910)을 확인하고, 추천 시나리오 목록(910) 중에서 이용하고자 하는 추천 시나리오 A(901)(인덕션의 예약 버튼을 3회 터치하면, 청소 로봇(1000)을 인덕션 근처로 호출합니다)를 선택할 수 있다.
단계 S870에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 2 시나리오를 시나리오 목록(2033)에 추가할 수 있다. 서버 장치(2000)는 이후에 제 2 시나리오와 관련된 사용자 입력이 제 2 가전 기기를 통해 수신되는 경우, 제 2 시나리오에 따라 청소 로봇(1000)의 동작을 제어할 수 있다.
예를 들어, 도 9의 900-2를 참조하면, 서버 장치(2000)가 추천 시나리오 목록(910) 중에서 추천 시나리오 A(901)를 선택하는 사용자 입력을 수신하는 경우, 서버 장치(2000)는 시나리오 목록(2033)에 추천 시나리오 A(901)를 추가할 수 있다. 이 후, 사용자는 시나리오 목록(2033)에서 추천 시나리오 A(901)를 확인할 수 있다. 그리고 사용자가 인덕션의 예약 버튼을 3회 터치하는 입력하는 경우, 서버 장치(2000)는 추천 시나리오 A(901)에 따라 청소 로봇(1000)에 인덕션 근처 영역을 청소하라는 제어 명령을 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 사용자의 활용도를 고려하여 추천 시나리오를 생성해서 제공해줌으로써, 사용자가 유용한 시나리오를 선택하고 이용할 수 있도록 한다. 이하에서는 사용자가 직접 시나리오를 정의하는 방법에 대해서 도 10을 참조하여 자세히 살펴보기로 한다.
도 10은 본 개시의 일 실시예에 따른 서버 장치가 시나리오 설정 창을 제공하는 방법을 설명하기 위한 순서도이다.
단계 S1010에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 복수의 가전 기기의 목록, 유휴 버튼의 목록 및 청소 로봇(1000)의 동작 목록을 포함하는 시나리오 설정 창을 생성할 수 있다.
복수의 가전 기기의 목록은 서버 장치(2000)에 등록된 가전 기기들의 목록일 수 있다. 복수의 가전 기기의 목록에는 가전 기기들의 명칭, 닉네임, 아이콘 이미지 등이 포함될 수 있다. 본 개시의 일 실시예에 의하면, 같은 종류의 가전 기기가 여러 대 서버 장치(2000)에 등록되어 있는 경우, 서버 장치(2000)는 복수의 가전 기기의 목록에 동종의 가전 기기들을 닉네임으로 표시할 수 있다. 또한, 같은 종류의 가전 기기가 여러 대 서버 장치(2000)에 등록되어 있는 경우, 서버 장치(2000)는, 복수의 가전 기기의 목록에 동종의 가전 기기들의 위치를 표시해 줄 수도 있다. 예를 들어, 댁내에 공기 청정기가 3대 있고, 공기 청정기 3대가 모두 서버 장치(2000)에 등록된 경우, 서버 장치(2000)는 복수의 가전 기기 목록에 '공기 청정기 1 - 거실', '공기 청정기 2 - 안방', '공기 청정기 3-주방'과 같이 표시할 수 있다.
유휴 버튼의 목록에는 가전 기기 별로 각 가전 기기 본연의 기능과 매칭되지 않은 유휴 버튼들이 표시될 수 있다. 복수의 가전 기기의 목록에서 선택된 가전 기기에 따라 유휴 버튼의 목록은 변경될 수 있다. 청소 로봇(1000)의 동작 목록에는 청소 로봇(1000)이 제공하는 동작들이 표시될 수 있다. 예를 들어, 청소 로봇(1000)의 동작 목록에는 호출(가전 기기의 주변 영역에 대한 청소), 충전 스테이션으로의 복귀, 방향 전환, 동작 모드 전환, 특정 모드(예컨대, 집중 모드, 일반 모드, 반복 모드 등)로 동작 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
단계 S1020에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 시나리오 설정 창을 디스플레이 장치(3000)에 제공할 수 있다. 예를 들어, 서버 장치(2000)는, 디스플레이 장치(3000)가 디스플레이 장치(3000)에 설치된 특정 애플리케이션을 실행하는 경우, 특정 애플리케이션을 통해서 시나리오 설정 창을 디스플레이 장치(3000)에 제공할 수 있다. 특정 애플리케이션은 청소 로봇(1000) 또는 가전 기기와 관련된 서비스를 제공하는 애플리케이션일 수 있다. 본 개시의 일 실시예에 의하면, 시나리오 설정 창은 시나리오를 설정하기 위한 GUI(Graphical User Interface)일 수 있다.
단계 S1030에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 시나리오 설정 창을 표시할 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 디스플레이 장치(3000)에 설치된 특정 애플리케이션을 실행하는 경우, 디스플레이 장치(3000)는 특정 애플리케이션의 실행 창에 시나리오 설정 창을 표시할 수 있다.
단계 S1040에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 시나리오 설정 창을 통해 제 3 시나리오를 설정하는 입력을 수신할 수 있다.
예를 들어, 디스플레이 장치(3000)는 시나리오 설정 창을 통해 복수의 가전 기기의 목록에서 제 3 가전 기기를 선택하고, 유휴 버튼의 목록에서 제 3 유휴 버튼을 선택하고, 청소 로봇(1000)의 동작 목록에서 제 3 동작을 선택하는 입력을 사용자로부터 수신할 수 있다. 이때, 사용자에 의해 선택된 제 3 가전 기기의 제 3 유휴 버튼과 청소 로봇(1000)의 제 3 동작을 매칭하여 제 3 시나리오가 정의될 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 청소 로봇(1000)의 동작 목록에서 '호출'을 선택하는 경우, 호출 위치는 제 3 가전 기기 주변으로 자동 설정될 수 있다. 본 개시의 다른 실시예에 의하면, 사용자가 청소 로봇(1000)의 동작 목록에서 '호출'을 선택하는 경우, 시나리오 설정 창에는 호출 위치를 선택하기 위한 팝업창이 표시될 수도 있다, 이 경우, 사용자는 청소 로봇(1000)이 생성한 실내 공간 지도(500) 또는 평면도에서 호출 위치를 선택할 수 있다.
단계 S1050에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 제 3 시나리오를 설정하는 입력을 서버 장치(2000)에 전달할 수 있다. 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 3 가전 기기의 유휴 버튼과 관련된 제 3 시나리오를 설정하는 입력을 디스플레이 장치(3000)를 통해 수신할 수 있다. 예를 들어, 서버 장치(2000)는 디스플레이 장치(3000)에서 실행되고 있는 특정 애플리케이션을 통해서 제 3 시나리오를 설정하는 입력을 수신할 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 복수의 가전 기기의 목록에서 제 3 가전 기기를 선택하고, 유휴 버튼의 목록에서 제 3 유휴 버튼을 선택하고, 청소 로봇(1000)의 동작 목록에서 제 3 동작을 선택하는 경우, 서버 장치(2000)는 사용자에 의해 선택된 제 3 가전 기기의 제 3 유휴 버튼과 청소 로봇(1000)의 제 3 동작을 매칭한 제 3 시나리오를 정의할 수 있다.
단계 S1060에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 제 3 시나리오를 시나리오 목록(2033)에 추가할 수 있다.
서버 장치(2000)는 이후에 제 3 시나리오와 관련된 사용자 입력이 제 3 가전 기기를 통해 수신되는 경우, 제 3 시나리오에 따라 청소 로봇(1000)의 동작을 제어할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 시나리오 설정 창을 사용자에게 제공해 줌으로써, 사용자가 필요한 시나리오를 직접 정의할 수 있도록 한다. 이하에서는 서버 장치(2000)가 시나리오 설정 창을 제공하는 동작에 대해서 도 11을 참조하여 조금 더 살펴보기로 한다.
도 11은 본 개시의 일 실시예에 따른 서버 장치가 시나리오 설정 창을 통해 사용자로부터 시나리오를 설정 받는 동작을 설명하기 위한 도면이다.
도 11의 1100-1을 참조하면, 시나리오 설정 창(1110)은 복수의 가전 기기의 목록(1101), 유휴 버튼의 목록(1102), 제어 대상 기기의 목록(1103), 동작 목록(1104)을 포함할 수 있다. 사용자는 시나리오 설정 창(1110)을 확인하고, 시나리오를 직접 설정하기 위해, 복수의 가전 기기의 목록(1101)에서 에어컨을 선택하고, 유휴 버튼의 목록(1102)에서 운전 모드를 3초 누르는 입력을 선택하고, 제어 대상 기기의 목록(1103)에서 청소 로봇(1000)을 선택하고, 동작 목록(1104)에서 호출 아이콘을 선택할 수 있다. 그리고 사용자가 만들기 아이콘(1105)을 누르는 경우, "에어컨의 운전 모드 버튼을 3초 누르면, 청소 로봇(1000)을 에어컨 근처로 호출합니다"라는 시나리오가 새롭게 생성될 수 있다.
도 11의 1100-2를 참조하면, 사용자가 동작 목록(1104)에서 호출 아이콘을 선택하는 경우, 시나리오 설정 창(1110)에는 호출 위치를 확인하기 위한 팝업 창(1106)이 표시될 수 있다. 예를 들어, 시나리오 설정 창(1110)에 '에어컨 주변으로 호출하시겠습니까?'라는 팝업 창(1106)이 표시될 수 있다.
사용자가 팝업 창(1106)에서 예 항목(1107)을 선택하는 경우, 서버 장치(2000)에서 호출 위치를 에어컨 주변 영역으로 자동 설정할 수 있다. 사용자가 팝업 창(1106)에서 지도에서 선택하기 항목(1108)을 선택하는 경우, 서버 장치(2000)는 디스플레이 장치(3000)에 지도 이미지를 제공해 줄 수 있다. 이때, 지도 이미지는 청소 로봇(1000)이 생성한 실내 공간 지도(500)일 수도 있고, 기 저장된 평면도 이미지일 수도 있다.
도 12를 참조하면, 서버 장치(2000)는, 디스플레이 장치(3000) 상의 시나리오 설정 창(1110) 위에 지도 이미지(1210)를 제공할 수 있다. 이때, 지도 이미지(1210)는 가전 기기들의 위치가 표시되어 있을 수 있다. 사용자는 지도 이미지(1210)를 확인하고, 에어컨(1201)이 위치하는 거실 영역(1202)을 호출 위치로 지정할 수 있다.
이 경우, 서버 장치(2000)는 에어컨(1201)의 운전 모드 버튼을 3초 누르면, 청소 로봇(1000)을 에어컨(1201) 근처 영역(거실 영역(1202))으로 호출하는 시나리오를 새롭게 생성하고, 새롭게 생성된 시나리오를 시나리오 목록(2033)에 추가할 수 있다.
이후, 사용자가 에어컨(1201)의 운전 모드 버튼을 3초 누르면, 서버 장치(2000)는 새롭게 생성된 시나리오에 따라 에어컨(1201) 근처 영역(거실 영역(1202))을 청소하라는 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
도 13은 본 개시의 일 실시예에 따른 서버 장치에 연결되지 않은 가전 기기의 유휴 버튼을 이용하여 시나리오를 설정하는 방법을 설명하기 위한 순서도이다. 도 13에서는, 제 4 가전 기기(4004)가 서버 장치(2000)에 연결되지 않은 가전 기기인 경우를 예로 들어 설명하기로 한다.
단계 S1301에서, 청소 로봇(1000)은 서버 장치(2000)에 연결되지 않은 제 4 가전 기기(4004)로부터 제 4 가전 기기(4004)의 유휴 버튼 정보를 획득할 수 있다.
여기서, 유휴 버튼 정보는 제 4 가전 기기(4004)가 제공하는 기능에 매칭되지 않은 유휴 버튼에 관한 정보를 의미할 수 있다. 한편, 고정 버튼에 대한 정보를 서버 장치(2000)에 제공하는 경우, 서버 장치(2000)는 고정 버튼을 제외하고 유휴 버튼을 새롭게 정의할 수 있으므로, 유휴 버튼 정보는 고정 버튼에 관한 정보를 포함할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스 등)을 통해서 제 4 가전 기기(4000)의 고정 버튼에 대한 정보와 제 4 가전 기기(4000)의 유휴 버튼에 관한 정보가 포함된 매뉴얼 정보를 수신할 수도 있다.
단계 S1302에서, 청소 로봇(1000)은 제 4 가전 기기(4004)의 유휴 버튼 정보를 서버 장치(2000)에 전송할 수 있다. 이때, 본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 제 4 가전 기기(4004)의 정보를 서버 장치(2000)에 등록해 달라고 서버 장치(2000)에 요청할 수도 있다.
단계 S1303에서, 서버 장치(2000)는 시나리오 설정 창에 제 4 가전 기기(4004)의 식별 정보 및 제 4 가전 기기(4004)의 유휴 버튼 정보를 추가할 수 있다.
본 개시의 일 실시예에 의하면, 제 4 가전 기기(4004)의 식별 정보 및 유휴 버튼 정보는 아이콘 형태로 시나리오 설정 창에 추가될 수 있다.
본 개시의 일 실시예에 의하면, 제 4 가전 기기(4004)의 유휴 버튼 정보에 고정 버튼에 관한 정보만 포함되어 있는 경우, 서버 장치(2000)는 제 4 가전 기기(4004)의 유휴 버튼을 새롭게 정의할 수도 있다. 본 개시의 다른 실시예에 의하면, 서버 장치(2000)는, 제 4 가전 기기(4004)의 식별 정보에 기초하여 외부 서버로부터 제 4 가전 기기(4004)의 매뉴얼 정보를 획득할 수도 있다. 이때, 서버 장치(2000)는 매뉴얼 정보에서 제 4 가전 기기(4004)의 유휴 버튼을 검색할 수도 있다.
단계 S1304에서, 서버 장치(2000)는 시나리오 설정 창을 디스플레이 장치(3000)에 제공할 수 있다. 단계 S1305에서, 디스플레이 장치(3000)는 시나리오 설정 창을 표시할 수 있다. 이때, 시나리오 설정 창에는 제 4 가전 기기(4004)의 식별 정보와 제 4 가전 기기(4004)의 유휴 버튼이 추가되어 있을 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 디스플레이 장치(3000)에 설치된 특정 애플리케이션을 실행하는 경우, 디스플레이 장치(3000)는 특정 애플리케이션의 실행 창을 통해서 시나리오 설정 창을 표시할 수 있다.
단계 S1306에서, 디스플레이 장치(3000)는 제 4 가전 기기의 유휴 버튼과 관련된 제 4 시나리오를 설정하는 입력을 수신할 수 있다.
예를 들어, 디스플레이 장치(3000)는 시나리오 설정 창을 통해 복수의 가전 기기의 목록에서 제 4 가전 기기(4004)를 선택하고, 유휴 버튼의 목록에서 제 4 유휴 버튼을 선택하고, 청소 로봇(1000)의 동작 목록에서 제 4 동작을 선택하는 입력을 사용자로부터 수신할 수 있다. 이때, 사용자에 의해 선택된 제 4 가전 기기(4004)의 제 4 유휴 버튼과 청소 로봇(1000)의 제 4 동작을 매칭하여 제 4 시나리오가 정의될 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 청소 로봇(1000)의 동작 목록에서 '호출'을 선택하는 경우, 호출 위치는 제 4 가전 기기(4004) 주변으로 자동 설정될 수 있다. 본 개시의 다른 실시예에 의하면, 사용자가 청소 로봇(1000)의 동작 목록에서 '호출'을 선택하는 경우, 시나리오 설정 창에는 호출 위치를 선택하기 위한 팝업창이 표시될 수도 있다. 이 경우, 사용자는 청소 로봇(1000)이 생성한 실내 공간 지도(500) 또는 평면도에서 호출 위치를 선택할 수 있다.
단계 S1307에서, 본 개시의 일 실시예에 따른 디스플레이 장치(3000)는, 제 4 시나리오를 설정하는 입력을 서버 장치(2000)에 전달할 수 있다. 즉, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 4 가전 기기(4004)의 유휴 버튼과 관련된 제 4 시나리오를 설정하는 입력을 디스플레이 장치(3000)를 통해 수신할 수 있다. 예를 들어, 서버 장치(2000)는 디스플레이 장치(3000)에서 실행되고 있는 특정 애플리케이션을 통해서 제 4 시나리오를 설정하는 입력을 수신할 수 있다.
본 개시의 일 실시예에 의하면, 사용자가 복수의 가전 기기의 목록에서 제 4 가전 기기(4004)를 선택하고, 유휴 버튼의 목록에서 제 4 유휴 버튼을 선택하고, 청소 로봇(1000)의 동작 목록에서 제 4 동작을 선택하는 경우, 서버 장치(2000)는 사용자에 의해 선택된 제 4 가전 기기(4004)의 제 4 유휴 버튼과 청소 로봇(1000)의 제 4 동작을 매칭한 제 4 시나리오를 정의할 수 있다.
단계 S1308에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 제 4 시나리오를 시나리오 목록(2033)에 추가할 수 있다. 그리고 단계 S1309에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 무선 통신을 통해서 청소 로봇(1000)에 시나리오 목록(2033)을 전송할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 주기적으로 시나리오 목록(2033)을 청소 로봇(1000)에 전송할 수도 있고 시나리오 목록(2033)이 갱신되는 이벤트가 발생되는 경우에만 갱신된 시나리오 목록(2033)을 청소 로봇(1000)에 전송할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 시나리오 목록(2033)을 저장하고 있는 경우, 서버 장치(2000)는 새롭게 생성된 제 4 시나리오에 관한 정보만 청소 로봇(1000)에 전송할 수도 있다.
단계 S1310에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 시나리오 목록(2033)을 메모리에 저장할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)에서 새롭게 생성된 제 4 시나리오에 관한 정보만 청소 로봇(1000)에 전송한 경우, 청소 로봇(1000)은 기 저장된 시나리오 목록(2033)에 제 4 시나리오를 추가하여, 시나리오 목록(2033)을 갱신할 수도 있다.
단계 S1311에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 시나리오 목록(2033) 중에서 제 4 시나리오를 제 4 가전 기기(4004)에 전달할 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스 등)을 통해서 제 4 시나리오에 관한 정보를 제 4 가전 기기(4004)에 전송할 수 있다.
단계 S1312에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 청소 로봇(1000)으로부터 수신한 제 4 시나리오를 메모리에 저장할 수 있다. 본 개시의 일 실시예에 의하면, 제 4 가전 기기(4004)는 제 4 시나리오를 보안 영역(예컨대, 트러스트 존)에 저장할 수 있다. 보안 영역(예컨대, 트러스트 존)은 인증된 기기들(예컨대, 청소 로봇(1000))만 접근할 수 있는 영역일 수 있다.
본 개시의 다양한 실시 예에 따라서는, 도 13의 단계 S1301 내지 단계 S1312 중 일부 단계가 생략될 수도 있고, 일부 단계들 간의 순서가 변경될 수도 있다.
도 14는 본 개시의 일 실시예에 따른 서버 장치에 연결되지 않은 가전 기기의 유휴 버튼을 이용하여 시나리오를 설정하는 동작을 설명하기 위한 도면이다. 도 14에서는 인덕션(1401)이 서버 장치(2000)에 연결되지 않은 제 4 가전 기기(4004)인 경우를 예로 들어 설명하기로 한다.
도 14를 참조하면, 청소 로봇(1000)은 인덕션(1401)과 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 수행할 수 있다. 이때, 청소 로봇(1000)은 인덕션(1401)으로부터 인덕션(1401)의 유휴 버튼 정보를 수신할 수 있다.
인덕션(1401)이 서버 장치(2000)와 통신할 수 없으므로, 청소 로봇(1000)이 인덕션(1401)의 식별 정보(예컨대, 모델명, 출하 지역, OS 정보, 맥 어드레스 등) 및 인덕션(1401)의 유휴 버튼 정보를 서버 장치(2000)에 전송할 수 있다. 서버 장치(2000)는, 인덕션(1401)의 식별 정보 및 유휴 버튼 정보를 수신하는 경우, 시나리오 설정 창(1110)에 인덕션(1401)의 식별 항목 및 인덕션(1401)의 유휴 버튼 항목을 추가할 수 있다. 예를 들어, 서버 장치(2000)는 시나리오 설정 창(1110)의 복수의 가전 기기의 목록(1410)에 인덕션(1401)의 아이콘을 추가하고, 유휴 버튼의 목록(1420)에 전원 버튼을 3회 터치하는 입력 패턴, 최고 화력 버튼을 2회 터치하는 입력 패턴, 보온 버튼을 3초 누르는 입력 패턴을 추가할 수 있다.
사용자는 시나리오 설정 창(1110)을 확인하고, 시나리오를 직접 설정하기 위해, 복수의 가전 기기의 목록(1410)에서 인덕션(1401)의 아이콘을 선택하고, 유휴 버튼의 목록(1420)에서 최고 화력 버튼을 2회 터치하는 입력 패턴(1402)을 선택하고, 제어 대상 기기의 목록(1430)에서 청소 로봇(1000)의 아이콘(1403)을 선택하고, 동작 목록(1440)에서 집중 모드 아이콘(1404)을 선택할 수 있다. 그리고 사용자가 만들기 아이콘(1405)을 누르는 경우, "인덕션(1401)의 최고 화력 버튼을 2회 터치하면, 청소 로봇(1000)이 인덕션(1401) 근처를 집중 모드로 청소합니다"라는 제 4 시나리오가 새롭게 생성될 수 있다.
서버 장치(2000)는 새롭게 생성된 제 4 시나리오를 시나리오 목록(2033)에 추가할 수 있다. 그리고 서버 장치(2000)는 새롭게 생성된 제 4 시나리오에 관한 정보를 청소 로봇(1000)으로 전송할 수 있다. 청소 로봇(1000)은 서버 장치(2000)로부터 수신한 새로운 제 4 시나리오가 인덕션(1401)에 관한 것이므로, 인덕션(1401)으로 제 4 시나리오에 관한 정보를 전송할 수 있다. 인덕션(1401)은 보안 영역(예컨대, trust zone)에 제 4 시나리오를 저장할 수 있다.
이하에서는, 제 4 가전 기기(4004)가 제 4 시나리오를 이용하여, 서버 장치(2000)를 통하지 않고 직접 청소 로봇(1000)을 제어하는 동작에 대해서 도 15를 참조하여 살펴보기로 한다.
도 15는 본 개시의 일 실시예에 따른 가전 기기가 근거리 무선 통신을 통해 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다.
단계 S1510에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 메모리에 제 4 시나리오를 저장할 수 있다. 예를 들어, 제 4 가전 기기(4004)는 서버 장치(2000)에서 생성된 제 4 시나리오를 청소 로봇(1000)을 통해서 수신할 수 있다. 이때, 제 4 가전 기기(4004)는 메모리의 보안 영역(예컨대, 트러스트 존)에 제 4 시나리오를 저장할 수 있다. 제 4 시나리오는 제 4 가전 기기(4004)의 유휴 버튼과 청소 로봇(1000)의 적어도 하나의 동작을 매칭한 시나리오일 수 있다. 예를 들어, 도 14를 참조하면, 제 4 가전 기기(4004)가 인덕션(1401)인 경우, 제 4 시나리오에는 제 4 가전 기기(4004)의 유휴 버튼으로서 최고 화력 버튼을 2회 터치하는 입력이 정의되고, 청소 로봇(1000)의 동작으로서, 인덕션(1401) 근처를 집중 모드로 청소하는 동작이 정의될 수 있다.
단계 S1520에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 청소 로봇(1000)과 관련된 제 4 사용자 입력을 수신할 수 있다. 이때, 제 4 사용자 입력은 청소 로봇(1000)의 동작과 관련하여 제 4 시나리오에 미리 정의된 입력일 수 있다. 또한, 제 4 사용자 입력은 제 4 가전 기기(4004) 본연의 기능에 매칭되지 않은 유휴 버튼과 관련된 입력일 수 있다.
예를 들어, 도 14를 참조하면, 제 4 가전 기기(4004)가 인덕션(1401)인 경우, 제 4 사용자 입력은 제 4 시나리오 상의 인덕션(1401)의 최고 화력 버튼을 2초 터치하는 입력일 수 있다. 인덕션(1401)의 최고 화력 버튼을 2초 터치하는 입력은 인덕션(1401)의 화력 기능과 무관할 수 있으며, 인덕션(1401)에서 제공하는 다른 기능과도 무관할 수 있다. 인덕션(1401)의 최고 화력 버튼을 2초 터치하는 입력은 청소 로봇(1000)을 호출하는 동작에만 매칭되어 있을 수 있다.
단계 S1530에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 메모리에 저장되어 있는 제 4 시나리오에 기초하여, 제 4 사용자 입력에 대응되는 제어 명령을 검출할 수 있다. 예를 들어, 제 4 가전 기기(4004)는 시나리오 목록(2033) 중에서 제 4 사용자 입력이 포함된 제 4 시나리오를 선택할 수 있다. 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는, 제 4 시나리오로부터 청소 로봇(1000)의 이동 위치 정보가 포함된 제어 명령을 검출할 수 있다. 청소 로봇(1000)의 이동 위치 정보는 청소 로봇(1000)이 이동해야 하는 목적지에 관한 정보일 수 있다. 예를 들어, 청소 로봇(1000)의 이동 위치 정보는 제 4 가전 기기(4004)의 식별 정보, 제 4 가전 기기(4004)의 위치 정보, 충전 스테이션의 위치 정보, 제 4 가전 기기(4004)까지 이동하기 위한 경로 정보(네비게이션 정보) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 도 14를 참조하면, 제 4 사용자 입력이 인덕션(1401)의 최고 화력 버튼을 2회 터치하는 입력인 경우, 인덕션(1401)은 시나리오 목록(2033) 중에서 인덕션(1401)의 최고 화력 버튼을 2회 터치하는 입력과 관련된 제 4 시나리오(예컨대, 인덕션(1401)의 최고 화력 버튼을 2회 터치하면, 청소 로봇(1000)이 인덕션(1401) 근처를 집중 모드로 청소합니다)를 선택할 수 있다. 그리고 인덕션(1401)은 제 4 시나리오에 기초하여, 인덕션(1401) 근처를 집중 모드로 청소하는 동작을 제어 명령으로 검출할 수 있다.
단계 S1540에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 제어 명령을 청소 로봇(1000)으로 전송할 수 있다. 이때, 제 4 가전 기기(4000)는 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 이용하여 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
본 개시의 일 실시예에 의하면, 제 4 시나리오가 청소 로봇(1000)을 제 4 가전 기기(4004) 주변으로 호출하는 동작을 포함하는 경우, 제 4 가전 기기(4004)는 제 4 가전 기기(4004)의 위치 정보를 포함하는 제어 명령을 검출할 수 있다. 청소 로봇(1000)이 가전 기기들의 위치가 표시된 실내 공간 지도(500)를 가지고 있는 경우, 제 4 가전 기기(4004)의 식별 정보만 청소 로봇(1000)에 알려주더라도 청소 로봇(1000)이 제 4 가전 기기(4004) 주변으로 이동할 수 있으므로, 제 4 가전 기기(4004)는 제 4 가전 기기(4004)의 위치 정보로서 제 4 가전 기기(4004)의 식별 정보를 청소 로봇(1000)에 전송할 수도 있다.
본 개시의 일 실시예에 의하면, 제 4 시나리오가 청소 로봇(1000)이 제 4 가전 기기(4004) 주변을 집중 모드로 청소하는 동작을 포함하는 경우, 제 4 가전 기기(4004)는 제 4 가전 기기(4004)의 위치 정보 및 청소 로봇(1000)의 동작 모드 정보를 포함하는 제어 명령을 검출할 수 있다. 한편, 제어 명령이 충전 스테이션으로 복귀하라는 명령인 경우, 청소 로봇(1000)의 이동 위치 정보는 충전 스테이션의 위치에 관한 정보가 될 수 있다.
도 14를 참조하면, 시나리오 목록(2033) 중에서 제 4 시나리오(인덕션(1401)의 최고 화력 버튼을 2회 터치하면, 청소 로봇(1000)이 인덕션(1401) 근처를 집중 모드로 청소합니다)가 선택된 경우, 제 4 가전 기기(4004)(즉, 인덕션(1401))은 제 4 시나리오로부터 '인덕션(1401) 근처를 집중 모드로 청소'하라는 제어 명령을 검출할 수 있다. 그리고, 제 4 가전 기기(4004)(즉, 인덕션(1401))는 검출된 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
단계 S1550에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제 4 가전 기기(4004)로부터 제어 명령을 수신할 수 있다. 예를 들어, 청소 로봇(1000)은 제 4 가전 기기(4004)로부터 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해 제어 명령을 수신할 수 있다.
단계 S1560에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제어 명령에 따라 동작을 수행할 수 있다.
예를 들어, 제어 명령이 제 4 가전 기기(4004) 근처를 청소하라는 명령인 경우, 청소 로봇(1000)은 실내 공간 지도(500)에 기반하여 제 4 가전 기기(4004) 주변으로 이동할 수 있다. 그리고 청소 로봇(1000)은 제 4 가전 기기(4004) 근처의 영역에 대한 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 완료할 수 있다. 청소 로봇(1000)이 청소하는 중에 제 4 가전 기기(4004) 근처에서 장애물을 인식한 경우, 청소 로봇(1000)은 계획된 청소 경로를 변경할 수도 있고, 제 4 가전 기기(4004) 근처의 영역에 대한 청소를 중단할 수도 있다. 예를 들어, 장애물이 크지 않은 경우, 청소 로봇(1000)은 장애물을 피해서 청소하는 것으로 청소 경로를 변경할 수 있지만, 장애물이 커서 더 이상 청소를 진행할 수 없는 경우, 청소 로봇(1000)은 청소를 중단하고 충전 스테이션으로 복귀할 수 있다.
단계 S1570에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 동작 수행 결과를 제 4 가전 기기(4004)에 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 전송할 수 있다.
본 개시의 일 실시예에 의하면, 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 동작 수행 결과는 청소 히스토리에 관한 정보(예컨대, 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지)를 포함할 수도 있다.
단계 S1580에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 청소 로봇(1000)의 동작 수행 결과를 저장할 수 있다. 예를 들어, 제 4 가전 기기(4004)는 제 4 가전 기기(4004) 주변 영역의 청소가 완료되었는지 또는 장애물 등에 의해 청소가 중단되었는지 등의 정보를 가지고 있을 수 있다.
제 4 가전 기기(4004)는, 청소 로봇(1000)의 동작 수행 결과에 기초하여, 청소 로봇(1000)이 제 4 가전 기기(4004) 주변의 청소를 완료하지 않은 경우, 추후에 청소 로봇(1000)을 제 4 가전 기기(4004) 주변으로 다시 호출할 수 있다.
본 개시의 일 실시예에 의하면, 댁내에 위치하는 가전 기기들 중에서 서버 장치(2000)에 연결되지 않은 가전 기기의 유휴 버튼을 이용하여 청소 로봇(1000)을 호출할 수도 있다.
도 16은 본 개시의 일 실시예에 따른 가전 기기가 댁내에 위치하는 중간 단말을 통해서 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다.
단계 S1601에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 메모리에 제 4 시나리오를 저장할 수 있다. 예를 들어, 제 4 가전 기기(4004)는 서버 장치(2000)에서 생성된 제 4 시나리오를 청소 로봇(1000)을 통해서 수신할 수 있다. 이때, 제 4 가전 기기(4004)는 메모리의 보안 영역(예컨대, 트러스트 존)에 제 4 시나리오를 저장할 수 있다. 제 4 시나리오는 제 4 가전 기기(4004)의 유휴 버튼과 관련된 사용자 입력에 청소 로봇(1000)의 적어도 하나의 동작을 매칭한 시나리오일 수 있다.
단계 S1602에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 청소 로봇(1000)과 관련된 제 4 사용자 입력을 수신할 수 있다. 이때, 제 4 사용자 입력은 청소 로봇(1000)의 동작과 관련하여 제 4 시나리오에 미리 정의된 입력일 수 있다. 또한, 제 4 사용자 입력은 제 4 가전 기기(4004) 본연의 기능에 매칭되지 않은 유휴 버튼과 관련된 입력일 수 있다.
단계 S1603에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 메모리에 저장되어 있는 제 4 시나리오에 기초하여, 제 4 사용자 입력에 대응되는 제어 명령을 검출할 수 있다. 예를 들어, 제 4 가전 기기(4004)는 시나리오 목록(2033) 중에서 제 4 사용자 입력이 포함된 제 4 시나리오를 선택할 수 있다. 그리고 제 4 가전 기기(4004)는, 제 4 시나리오로부터 청소 로봇(1000)의 이동 위치 정보가 포함된 제어 명령을 검출할 수 있다. 청소 로봇(1000)의 이동 위치 정보는 청소 로봇(1000)이 이동해야 하는 목적지에 관한 정보일 수 있다.
단계 S1604에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 제어 명령을 청소 로봇(1000)으로 전송할 수 있다. 이때, 제 4 가전 기기(4004)는 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 이용하여 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
예를 들어, 제어 명령이 제 4 가전 기기(4004) 주변 영역으로 호출하는 명령인 경우, 제 4 가전 기기(4004)는 호출 신호를 청소 로봇(1000)으로 전송할 수 있다.
단계 S1601 내지 단계 S1604는 도 15의 단계 S1510 내지 단계 S1540에 대응하므로, 구체적인 설명은 생략하기로 한다.
단계 S1605에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 소정 시간 동안 호출 신호에 대한 결과값을 미수신 할 수 있다. 예를 들어, 청소 로봇(1000)이 제 4 가전 기기(4004)로부터 멀리 떨어져 있는 경우, 근거리 무선 통신 신호가 청소 로봇(1000)에 잘 전달되지 않을 수 있다. 이때 청소 로봇(1000)은 제 4 가전 기기(4004)로부터의 제어 명령을 수신할 수 없으므로, 제어 명령을 수행하지 못하고, 청소 동작을 완료했다는 메시지를 제 4 가전 기기(4004)에 전달할 수 없다.
단계 S1606에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 소정 시간 동안 호출 신호에 대한 결과값을 미수신한 경우, 제어 명령을 청소 로봇(1000)에 전달해 달라는 요청을 중간 단말(1610)에 전송할 수 있다. 제 4 가전 기기(4004)는 근거리 무선 통신(예컨대, 와이파이, 와이파이 다이렉트, 블루투스 등)을 이용하여, 제어 명령을 청소 로봇(1000)으로 전달해 달라는 요청을 중간 단말(1610)에 전송할 수 있다.
본 개시의 일 실시예에 의하면, 중간 단말(1610)은 가전 기기들의 허브 역할을 하는 단말일 수 있다. 중간 단말은 냉장고, TV, 에어컨과 같은 가전 기기일 수도 있고, 공유기나 게이트웨이 장치일 수도 있으나, 이에 한정되는 것은 아니다.
단계 S1607에서, 중간 단말(1610)은 청소 로봇(1000)에 제어 명령을 전달할 수 있다. 중간 단말(1610)은 근거리 무선 통신(예컨대, 와이파이, 와이파이 다이렉트, 블루투스 등)을 통해서 청소 로봇(1000)에 제어 명령을 전달할 수 있다.
단계 S1608에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 중간 단말(1610)로부터 제어 명령을 수신할 수 있다.
단계 S1609에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제어 명령에 따라 동작을 수행할 수 있다.
예를 들어, 제어 명령이 제 4 가전 기기(4004) 근처를 청소하라는 명령인 경우, 청소 로봇(1000)은 실내 공간 지도(500)에 기반하여 제 4 가전 기기(4004) 주변으로 이동할 수 있다. 그리고 청소 로봇(1000)은 제 4 가전 기기(4004) 근처의 영역에 대한 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 완료할 수 있다. 청소 로봇(1000)이 청소하는 중에 제 4 가전 기기(4004) 근처에서 장애물을 인식한 경우, 청소 로봇(1000)은 계획된 청소 경로를 변경할 수도 있고, 제 4 가전 기기(4004) 근처의 영역에 대한 청소를 중단할 수도 있다. 예를 들어, 장애물이 크지 않은 경우, 청소 로봇(1000)은 장애물을 피해서 청소하는 것으로 청소 경로를 변경할 수 있지만, 장애물이 커서 더 이상 청소를 진행할 수 없는 경우, 청소 로봇(1000)은 청소를 중단하고 충전 스테이션으로 복귀할 수 있다.
단계 S1610에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 동작 수행 결과를 중간 단말(1610)로 전송할 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 근거리 무선 통신(예컨대, 와이파이, 와이파이 다이렉트 또는 블루투스)을 통해서 동작 수행 결과를 중간 단말(1610)로 전송할 수 있다.
본 개시의 일 실시예에 의하면, 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 동작 수행 결과는 청소 히스토리에 관한 정보(예컨대, 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지)를 포함할 수도 있다.
단계 S1611에서, 본 개시의 일 실시예에 따른 중간 단말(1610)은 청소 로봇(1000)의 동작 수행 결과를 제 4 가전 기기(4004)로 전송할 수 있다. 본 개시의 일 실시예에 의하면, 중간 단말(1610)은 근거리 무선 통신(예컨대, 와이파이, 와이파이 다이렉트 또는 블루투스)을 통해서 청소 로봇(1000)의 동작 수행 결과를 제 4 가전 기기(4004)로 전송할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 중간 단말(1610)을 통하지 않고 직접 제 4 가전 기기(4004)에 동작 수행 결과를 전달할 수도 있다. 예를 들어, 청소 로봇(1000)이 제 4 가전 기기(4004) 근처를 청소한 경우, 제 4 가전 기기(4004)는 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 동작 수행 결과를 직접 제 4 가전 기기(4004)로 전송할 수도 있다.
단계 S1612에서, 본 개시의 일 실시예에 따른 제 4 가전 기기(4004)는 청소 로봇(1000)의 동작 수행 결과를 저장할 수 있다. 예를 들어, 제 4 가전 기기(4004)는 제 4 가전 기기(4004) 주변 영역의 청소가 완료되었는지 또는 장애물 등에 의해 청소가 중단되었는지 등의 정보를 가지고 있을 수 있다.
제 4 가전 기기(4004)는, 청소 로봇(1000)의 동작 수행 결과에 기초하여, 청소 로봇(1000)이 제 4 가전 기기(4004) 주변의 청소를 완료하지 않은 경우, 추후에 청소 로봇(1000)을 제 4 가전 기기(4004) 주변으로 다시 호출할 수 있다.
도 17은 본 개시의 일 실시예에 따른 오븐이 사용자 입력에 기초하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다. 도 17에서는, 오븐(1710)의 시작 버튼을 2회 터치하면 오븐(1710) 주변으로 청소 로봇(1000)을 호출하는 시나리오 D가 오븐(1710)에 저장되어 있는 경우를 예로 들어 설명하기로 한다.
도 17을 참조하면, 사용자가 주방에서 요리를 하는 중에 조리대 위에 있던 밀가루가 바닥으로 쏟아진 경우, 사용자는 청소 로봇(1000)을 호출하기 위해 오븐(1710)의 시작 버튼을 2회 터치할 수 있다. 이때, 오븐(1710)은 메모리에 저장되어 있는 시나리오 D에 기초하여, 시작 버튼을 2회 터치하는 입력에 대응하는 제어 명령을 검출할 수 있다. 예를 들어, 오븐(1710)은 시나리오 D에서 오븐(1710) 주변 영역(주방 영역)을 청소하라는 제어 명령을 검출할 수 있다.
오븐(1710)은 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 청소 로봇(1000)에 제어 명령(호출 신호)을 전달할 수 있다(단계 S1701). 본 개시의 일 실시예에 의하면, 오븐(1710) 주변 영역이 주방 영역으로 미리 지정되어 있는 경우, 제어 명령은 주방 영역의 위치 정보를 포함할 수 있다. 제어 명령은 오븐(1710)의 식별 정보를 포함할 수도 있다.
청소 로봇(1000)은, 오븐(1710)으로부터 제어 명령을 수신한 경우, 제어 명령에 따라 청소 동작을 수행할 수 있다(단계 S1702). 예를 들어, 청소 로봇(1000)은 오븐(1710) 주변 영역(주방 영역)으로 이동하고, 오븐(1710) 주변 영역(주방 영역)을 청소하기 위한 청소 경로를 계획할 수 있다. 이때, 청소 로봇(1000)은, 실내 공간 지도(500)를 이용하여, 오븐(1710) 주변 영역(주방 영역)으로 이동하고 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로에 따라 오븐(1710) 주변 영역(주방 영역)에 대한 청소를 완료하고, 오븐(1710)에 청소 완료 메시지를 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 전송할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 오븐(1710)의 주변 영역에 대한 청소 완료 메시지를 오븐(1710)에 전달함으로써, 오븐(1710)이 주변 영역에 대한 청소가 완료되었는지 여부를 확인할 수 있도록 한다.
청소 로봇(1000)은 충전 중에 오븐(1710)의 주변 영역으로 호출되었으므로, 오븐(1710)의 주변 영역에 대한 청소를 완료한 경우, 청소 로봇(1000)은 충전 스테이션으로 복귀할 수 있다. 본 개시의 다른 실시예에 의하면, 청소 로봇(1000)은 배터리 잔량이 임계 값보다 큰 경우, 충전 스테이션으로 복귀하지 않고, 평소의 청소 경로를 따라 청소 동작을 더 수행할 수도 있다.
한편, 본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 소정 시간 동안 오븐(1710)의 제어 명령에 응답하지 않는 경우, 오븐(1710)은 중간 단말(1610)을 통해서 제어 명령을 청소 로봇(1000)에 다시 전달할 수도 있다.
본 개시의 일 실시예에 의하면, 사용자는 주방에서 청소 로봇(1000)을 호출하기 위해, 모바일 단말이나 원격 제어 장치를 찾지 않고도 미리 설정된 시나리오에 따라 오븐(1710)의 시작 버튼을 2회 터치함으로써, 청소 로봇(1000)을 주방으로 빠르게 호출할 수 있다.
도 18은 본 개시의 일 실시예에 따른 자동 급식기가 사용자 입력에 기초하여 청소 로봇을 제어하는 동작을 설명하기 위한 도면이다. 도 18에서는, 자동 급식기(1810)의 전원 버튼을 3회 터치하면 자동 급식기(1810) 주변으로 청소 로봇(1000)을 호출하는 시나리오 E가 자동 급식기(1810)에 저장되어 있는 경우를 예로 들어 설명하기로 한다.
도 18을 참조하면, 반려 동물이 자동 급식기(1810)에서 분배된 사료를 먹다가 바닥으로 흘린 경우, 사용자는 청소 로봇(1000)을 호출하기 위해 자동 급식기(1810)의 전원 버튼을 3회 터치할 수 있다. 이때, 자동 급식기(1810)는 메모리에 저장되어 있는 시나리오 E에 기초하여, 전원 버튼을 3회 터치하는 입력에 대응하는 제어 명령을 검출할 수 있다. 예를 들어, 자동 급식기(1810)는 시나리오 E에서 자동 급식기(1810) 주변 영역을 청소하라는 제어 명령을 검출할 수 있다.
자동 급식기(1810)는 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 청소 로봇(1000)에 제어 명령(호출 신호)을 전달할 수 있다(단계 S1801). 본 개시의 일 실시예에 의하면, 자동 급식기(1810) 주변 영역이 안방 영역으로 미리 지정되어 있는 경우, 제어 명령은 안방 영역의 위치 정보를 포함할 수 있다. 제어 명령은 자동 급식기(1810)의 식별 정보를 포함할 수도 있다.
청소 로봇(1000)은, 자동 급식기(1810)로부터 제어 명령을 수신한 경우, 제어 명령에 따라 청소 동작을 수행할 수 있다(단계 S1802). 예를 들어, 청소 로봇(1000)은 자동 급식기(1810) 주변 영역(안방 영역)으로 이동하고, 자동 급식기(1810) 주변 영역(안방 영역)을 청소하기 위한 청소 경로를 계획할 수 있다. 이때, 청소 로봇(1000)은, 실내 공간 지도(500)를 이용하여, 자동 급식기(1810) 주변 영역(안방 영역)으로 이동하고 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로에 따라 자동 급식기(1810) 주변 영역(안방 영역)에 대한 청소를 완료하고, 자동 급식기(1810)에 청소 완료 메시지를 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 전송할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 자동 급식기(1810)의 주변 영역에 대한 청소 완료 메시지를 자동 급식기(1810)에 전달함으로써, 자동 급식기(1810)가 주변 영역에 대한 청소가 완료되었는지 여부를 확인할 수 있도록 한다.
청소 로봇(1000)이 거실을 청소하는 중에 호출된 경우, 자동 급식기(1810) 주변 영역(안방 영역)에 대한 청소를 완료한 후 청소 로봇(1000)은 기존 청소 경로로 복귀할 수 있다. 예를 들어, 청소 로봇(1000)이 거실 영역에 대한 제 1 청소 경로를 계획하고, 제 1 청소 경로를 따라 청소하는 중에 에어컨 주변(A 지점)에서 호출된 경우, 청소 로봇(1000)은 제 1 청소 경로 상의 에어컨 주변(A 지점)으로 복귀할 수 있다. 그리고 청소 로봇(1000)은 제 1 청소 경로 중에서 청소를 완료하지 못한 부분에 대한 청소를 계속 수행할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 소정 시간 동안 자동 급식기(1810)의 제어 명령에 응답하지 않는 경우, 자동 급식기(1810)는 중간 단말(1610)을 통해서 제어 명령을 청소 로봇(1000)에 다시 전달할 수도 있다.
본 개시의 일 실시예에 의하면, 사용자는 안방에서 반려 동물과 함께 있으면서 청소 로봇(1000)을 호출하기 위해, 모바일 단말의 청소 애플리케이션을 실행시키거나 청소 로봇(1000)의 원격 제어 장치를 찾지 않고도, 미리 설정된 시나리오에 따라 자동 급식기(1810)의 전원 버튼을 3회 터치함으로써, 청소 로봇(1000)을 안방으로 빠르게 호출할 수 있다.
이하에서는, 도 19를 참조하여, 댁내 가전 기기들의 유휴 리소스를 이용하여, 청소 로봇의 영상 정보(또는 센싱 정보)를 가전 기기와 분산 처리하는 방법에 대해서 살펴보기로 한다.
도 19는 본 개시의 일 실시예에 따른 청소 로봇의 영상 정보를 분산 처리하는 방법을 설명하기 위한 순서도이다.
단계 S1901에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 청소 동작을 수행할 수 있다. 예를 들어, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 수행할 수 있다.
단계 S1902에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 청소 동작을 수행하면서 영상 정보 및 센싱 정보 중 적어도 하나를 획득할 수 있다. 영상 정보는 청소 로봇(1000)에 배치된 카메라를 통해 획득되는 주변 이미지 또는 천장 이미지에 관한 정보일 수 있다. 센싱 정보는 청소 로봇(1000)에 배치된 다양한 센서들을 통해 획득되는 정보를 의미할 수 있다. 예를 들어, 센싱 정보는 장애물을 인식하기 위한 3D 센서에서 획득되는 3D 센서 값, 라이더 센서에서 획득되는 라이더 센서 값, 초음파 센서에서 획득되는 초음파 센서 값 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
단계 S1903에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 영상 정보 및 센싱 정보 중 적어도 하나를 제 1 정보와 제 2 정보로 분할할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 청소 경로를 수정하거나, 장애물을 인식하기 위해 다양한 정보를 분석할 수 있다. 이때, 청소 로봇(1000)이 처리해야하는 정보가 많으므로, 청소 로봇(1000)은 다른 가전 기기와 분산 처리(distributed processing)하기 위해 정보를 분할할 수 있다. 예를 들어, 청소 로봇(1000)은 영상 정보 및 센싱 정보 중 적어도 하나를 제 1 정보와 제 2 정보로 분할할 수 있다.
단계 S1904에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제 1 정보에 대한 처리를 수행할 수 있다. 그리고 단계 S1905에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제 2 정보에 대한 분산 처리를 서버 장치(2000)에 요청할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은, 카메라 또는 센서를 통해 획득되는 정보를 처리하기 전에 작업 스케줄링을 할 수 있다. 메모리에 적재된 프로그램을 CPU가 실행할 수 있도록, 운영체제로 하여금 프로세스 또는 스레드에 CPU를 할당하는 것을 스케줄링이라 한다. 스케줄러는 제한된 자원을 여러 프로세스가 효율적으로 사용하도록 다양한 정책(policy)을 가지고 CPU를 할당한다. 여기서 정책이란 어떤 프로세스 또는 스레드에게 어떤 순서로 또는 어떤 기준으로 CPU를 할당할지를 결정하는 방법이다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 멀티 스레드 환경(하나의 프로세스 내에 여러 개의 스레드를 허용하는 환경)을 제공하는 경우, 청소 로봇(1000)은 정보를 여러 개로 분할하고, 분할된 정보 각각을 다른 스레드에 매칭할 수 있다. 그리고 청소 로봇(1000)은 스레드 단위로 스케줄링할 수 있다. 스레드는 하나의 프로세스 내에서 실행되는 하나 또는 여러 개의 작업 단위라고 볼 수 있다. 예를 들어, 도 21을 참조하면, 청소 로봇(1000)은 #1정보 내지 #10정보 중에서 #1정보부터 #3정보를 제 1 스레드에 매칭하고, #4정보부터 #7정보를 제 2 스레드에 매칭하고, #8정보부터 #10정보를 제 3 스레드에 매칭할 수 있다.
그리고 청소 로봇(1000)은, 제 1 스레드에 CPU를 할당하면서 #8정보부터 #10 정보(제 2 정보)에 대해서는 다른 가전 기기에 분산 처리를 요청할 수 있다.
단계 S1906에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 복수의 가전 기기의 유휴 리소스 정보를 확인할 수 있다. 리소스에는 CPU, 메모리, 전원, 스토리지 및 네트워크 리소스 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 사용 가능한 리소스 용량이 리소스 소비자가 필요로 하는 양보다 많은 경우, 남아있는 리소스를 유휴 리소스라 할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 서버 장치(2000)에 연결된 복수의 가전 기기의 리소스를 모니터링할 수 있다. 예를 들어, 복수의 가전 기기들은 현재 사용하고 있는 CPU 상태나 RAM 상태 등을 서버 장치(2000)에 업로드할 수 있다.
서버 장치(2000)는 복수의 가전 기기가 현재 사용하고 있는 리소스에 기초하여, 복수의 가전 기기의 유휴 리소스를 확인할 수 있다. 예를 들어, 서버 장치(2000)는, 제 1 가전 기기의 경우 사용 가능한 리소스 대비 현재 사용하고 있는 리소스가 40%이므로, 유휴 리소스가 60% 존재한다고 확인할 수 있다.
단계 S1907에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 복수의 가전 기기 중에서 제 5 가전 기기(4005)를 선택할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 복수의 가전 기기의 유휴 리소스 정보에 기초하여, 분산 처리를 수행할 수 있는 기기로서 제 5 가전 기기(4005)를 선택할 수 있다. 본 개시의 일 실시예에 의하면, 제 5 가전 기기(40005)의 유휴 리소스가 임계 값(예컨대, 50%)보다 클 수 있다.
단계 S1908에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는 제 5 가전 기기(4005)로 제 2 정보에 대한 분산 처리를 요청할 수 있다. 예를 들어, 서버 장치(2000)는, 제 2 정보를 제 5 가전 기기(4005)에 전송하면서 제 2 정보에 대한 처리 결과를 요청할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 청소 로봇(1000)으로부터 분산 처리를 요청 받았다는 정보를 제 5 가전 기기(4005)에 전송할 수도 있다.
단계 S1909에서, 본 개시의 일 실시예에 따른 제 5 가전 기기(4005)는 제 2 정보에 대한 분산 처리 수행할 수 있다. 예를 들어, 제 5 가전 기기(4005)는 유휴 리소스를 활용하여, 제 2 정보에 대한 분산 처리를 수행할 수 있다. 제 5 가전 기기(4005)는 유휴 리소스를 이용하여 제 2 정보에 대한 분산 처리를 수행하므로, 제 5 가전 기기(4005)에서 제공하는 기본적인 기능에는 아무런 문제가 발생하지 않을 수 있다.
단계 S1910에서, 본 개시의 일 실시예에 따른 제 5 가전 기기(4005)는 제 2 정보에 대한 분산 처리 결과를 서버 장치(2000)에 전달할 수 있다.
단계 S1911에서, 본 개시의 일 실시예에 따른 서버 장치(2000)는, 제 5 가전 기기(4005)로부터 제 2 정보에 대한 분산 처리 결과를 수신하고, 제 2 정보에 대한 분산 처리 결과를 청소 로봇(1000)에 전달할 수 있다.
단계 S1912에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제 1 정보에 대한 처리 결과와 제 2 정보에 대한 분산 처리 결과를 이용하여, 지도(예컨대, 실내 공간 지도(500))를 업데이트하거나, 장애물을 인식하거나, 청소 경로를 계획(또는 수정)할 수 있다.
본 개시의 일 실시예에 의하면, 제 1 정보에 대한 영상 처리를 완료한 시점에 제 2 정보에 대한 분산 처리 결과가 수신되지 않는 경우, 청소 로봇(1000)이 제 2 정보에 대한 처리를 추가적으로 수행할 수도 있다.
또한, 본 개시의 일 실시예에 의하면, 서버 장치(2000)로부터 수신된 제 2 정보에 대한 분산 처리 결과가 잘못된 경우, 청소 로봇(1000)은 제 2 정보에 대한 분산 처리 결과를 무시하고, 다시 제 2 정보에 대한 처리를 수행할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 주변에 존재하는 가전 기기의 유휴 리소스를 활용하여, 영상 정보 또는 센싱 정보를 분산 처리함으로써, 영상 처리 속도를 개선할 수 있으며, 지도 업데이트 속도도 높일 수 있다. 이하에서는 청소 로봇(1000)이 서버 장치(2000)를 통하지 않고 가전 기기와 직접 통신하여 정보를 분산 처리하는 방법에 대해서 도 20을 참조하여 살펴보기로 한다.
도 20은 본 개시의 일 실시예에 따른 청소 로봇의 정보를 근거리 무선 통신을 통해 가전 기기와 분산 처리하는 방법을 설명하기 위한 순서도이다.
단계 S2001에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 청소 동작을 수행할 수 있다. 예를 들어, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 수행할 수 있다.
단계 S2002에서 본 개시의 일 실시예에 따른 청소 로봇(1000)은 주변에 위치하는 제 6 가전 기기(4006)에 연결될 수 있다. 예를 들어 청소 로봇(1000)은 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해 주변에 위치하는 제 6 가전 기기(4006)와 통신 링크를 형성할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 제 6 가전 기기(4006)에 이전에 연결된 적이 있는 경우, 제 6 가전 기기(4006)의 맥 어드레스에 기반해서, 제 6 가전 기기(4006)와 통신 링크를 형성할 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 청소 경로를 따라 이동하면서 주변의 다양한 가전 기기와 통신 링크를 형성할 수 있다.
단계 S2003에서, 청소 로봇(1000)은 제 6 가전 기기(4006)에 유휴 리소스 정보를 요청할 수 있다. 예를 들어, 청소 로봇(1000)은 제 6 가전 기기(4006)에 근거리 무선 통신 링크를 통해서 유휴 리소스 정보를 요청할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 제 6 가전 기기(4006)에 유휴 리소스에 관한 정보를 요청할 수도 있고, 유휴 리소스가 존재하는지 확인을 요청할 수도 있다. 리소스에는 CPU, 메모리, 전원, 스토리지 및 네트워크 리소스 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 사용 가능한 리소스 용량이 리소스 소비자가 필요로 하는 양보다 많은 경우, 남아있는 리소스를 유휴 리소스라 할 수 있다.
단계 S2004에서, 청소 로봇(1000)은 제 6 가전 기기(4006)으로부터 유휴 리소스 정보를 수신할 수 있다. 예를 들어, 제 6 가전 기기(4006)가 사용 가능한 리소스 중에서 40%만 사용하고 있는 경우, 제 6 가전 기기(4006)는 사용 가능한 리소스 중에서 60%의 유휴 리소스가 존재한다는 정보를 청소 로봇(1000)에 전달할 수 있다.
단계 S2005에서, 청소 로봇(1000)은 청소 동작을 수행하면서 영상 정보 및 센싱 정보 중 적어도 하나를 획득할 수 있다. 영상 정보는 청소 로봇(1000)에 배치된 카메라를 통해 획득되는 주변 이미지 또는 천장 이미지에 관한 정보일 수 있다. 센싱 정보는 청소 로봇(1000)에 배치된 다양한 센서들을 통해 획득되는 정보를 의미할 수 있다. 예를 들어, 센싱 정보는 장애물을 인식하기 위한 3D 센서에서 획득되는 3D 센서 값, 라이더 센서에서 획득되는 라이더 센서 값, 초음파 센서에서 획득되는 초음파 센서 값 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
단계 S2006에서, 청소 로봇(1000)은 영상 정보 및 센싱 정보 중 적어도 하나를 제 1 정보와 제 2 정보로 분할할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 청소 경로를 수정하거나, 장애물을 인식하기 위해 다양한 정보를 분석할 수 있다. 이때, 청소 로봇(1000)이 처리해야하는 정보가 많으므로, 제 6 가전 기기(4006)에 유휴 리소스가 존재하는 경우, 청소 로봇(1000)은 제 6 가전 기기(4006)에 분산 처리를 요청하기 위해 정보를 분할할 수 있다. 예를 들어, 청소 로봇(1000)은 영상 정보 및 센싱 정보 중 적어도 하나를 제 1 정보와 제 2 정보로 분할할 수 있다.
단계 S2007에서, 청소 로봇(1000)은 제 1 정보에 대한 처리를 수행할 수 있다. 그리고 단계 S2008에서, 청소 로봇(1000)은 근거리 무선 통신을 통해서 제 2 정보에 대한 분산 처리를 제 6 가전 기기(4006)에 요청할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은, 카메라 또는 센서를 통해 획득되는 정보를 처리하기 전에 작업 스케줄링을 할 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 멀티 스레드 환경(하나의 프로세스 내에 여러 개의 스레드를 허용하는 환경)을 제공하는 경우, 청소 로봇(1000)은 정보를 여러 개로 분할하고, 분할된 정보 각각을 다른 스레드에 매칭할 수 있다. 그리고 청소 로봇(1000)은 스레드 단위로 스케줄링할 수 있다. 스레드는 하나의 프로세스 내에서 실행되는 하나 또는 여러 개의 작업 단위라고 볼 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 영상 정보 또는 센싱 정보를 처리하기 위해 2의 스레드를 생성한 경우, 제 1 스레드(제 1 정보에 대한 처리)를 CPU에 할당하면서 제 2 스레드(제 2 정보에 대한 처리)에 매칭된 작업에 대해서는 제 6 가전 기기(4006)에 분산 처리를 요청할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 단계 S2003 및 단계 S2004는 생략될 수도 있다. 즉, 청소 로봇(1000)은 제 6 가전 기기(4006)의 유휴 리소스 정보를 확인하지 않고, 제 2 정보에 대한 분산 처리를 제 6 가전 기기(4006)에 바로 요청할 수도 있다.
단계 S2009에서, 제 6 가전 기기(4006)은 제 2 정보에 대한 분산 처리 수행할 수 있다. 예를 들어, 제 6 가전 기기(4006)는 유휴 리소스를 활용하여, 제 2 정보에 대한 분산 처리를 수행할 수 있다. 제 6 가전 기기(4006)는 유휴 리소스를 이용하여 제 2 정보에 대한 분산 처리를 수행하므로, 제 6 가전 기기(4006)에서 제공하는 기본적인 기능에는 아무런 문제가 발생하지 않을 수 있다.
단계 S2010에서, 제 6 가전 기기(4006)은 제 2 정보에 대한 분산 처리 결과를 청소 로봇(1000)에 전달할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)이 제 1 정보에 대한 처리를 수행하는 동안 제 6 가전 기기(4006)가 제 2 정보에 대한 처리를 병렬적으로 수행할 수 있으므로, 정보 처리 속도가 빨라질 수 있다. 또한, 청소 로봇(1000)의 리소스를 효율적으로 배분할 수 있다.
단계 S2011에서, 본 개시의 일 실시예에 따른 청소 로봇(1000)은 제 1 정보에 대한 처리 결과와 제 2 정보에 대한 분산 처리 결과를 이용하여, 지도(예컨대, 실내 공간 지도(500))를 업데이트하거나 청소 경로를 계획(또는 수정)할 수 있다.
본 개시의 일 실시예에 의하면, 제 1 정보에 대한 영상 처리를 완료한 시점에 제 6 가전 기기(4006)로부터 제 2 정보에 대한 분산 처리 결과가 수신되지 않은 경우, 청소 로봇(1000)이 제 2 정보에 대한 처리를 수행할 수도 있다.
또한, 본 개시의 일 실시예에 의하면, 제 6 가전 기기(4006)로부터 수신된 제 2 정보에 대한 분산 처리 결과가 잘못된 경우, 청소 로봇(1000)은 제 2 정보에 대한 분산 처리 결과를 무시하고, 다시 제 2 정보에 대한 처리를 수행할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 주변에 존재하는 제 6 가전 기기(4006)의 유휴 리소스를 활용하여, 영상 정보 또는 센싱 정보를 분산 처리함으로써, 영상 처리 속도를 개선할 수 있으며, 지도 업데이트 속도도 높일 수 있다.
단계 S2012에서, 청소 로봇(1000)은 청소 동작 수행 결과를 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 제 6 가전 기기(4006)에 전달할 수 있다.
본 개시의 일 실시예에 의하면, 청소 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 동작 수행 결과는 청소 히스토리에 관한 정보(예컨대, 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지)를 포함할 수도 있다.
단계 S2013에서, 본 개시의 일 실시예에 따른 제 6 가전 기기(4006)는 청소 로봇(1000)의 청소 동작 수행 결과를 저장할 수 있다. 예를 들어, 제 6 가전 기기(4006)는 제 6 가전 기기(4006) 주변 영역의 청소가 완료되었는지 또는 장애물 등에 의해 청소가 중단되었는지 등의 정보를 가지고 있을 수 있다. 본 개시의 일 실시예에 의하면, 제 6 가전 기기(4006)는 청소 로봇(1000)의 청소 동작 수행 결과를 메모리의 보안 영역(예컨대, 트러스트존)에 저장할 수도 있다.
제 6 가전 기기(4006)는, 청소 로봇(1000)의 청소 동작 수행 결과에 기초하여, 청소 로봇(1000)이 제 6 가전 기기(4006) 주변의 청소를 완료하지 않은 경우, 추후에 청소 로봇(1000)을 제 6 가전 기기(4006) 주변으로 다시 호출할 수 있다. 제 6 가전 기기(4006)가 추후에 청소 로봇(1000)을 제 6 가전 기기(4006) 주변으로 다시 호출하는 동작에 대해서는 도 22를 참조하여 후에 자세히 살펴보기로 한다.
도 21은 본 개시의 일 실시예에 따른 청소 로봇의 정보를 공기 청정기와 분산 처리하는 동작을 설명하기 위한 도면이다.
도 21을 참조하면, 청소 로봇(1000)은 청소 동작을 수행하면서 주변에 위치하는 가전 기기와 통신을 수행할 수 있다. 예를 들어, 청소 로봇(1000)은 거실을 청소하면서 주변에 있는 공기 청정기(2100)와 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 수행할 수 있다.
이때, 청소 로봇(1000)은 청소 경로를 계획하고 장애물을 감지하기 위해 영상 정보(또는 센싱 정보)에 대한 처리를 수행해야한다. 청소 로봇(1000)이 멀티 스레드 환경을 제공하는 경우, 청소 로봇(1000)은 정보를 여러 개로 분할하고, 분할된 정보 각각을 다른 스레드에 매칭할 수 있다. 그리고 청소 로봇(1000)은 스레드 단위로 스케줄링할 수 있다. 예를 들어, 청소 로봇(1000)은 #1정보 내지 #10정보 중에서 #1정보부터 #3정보를 제 1 스레드에 매칭하고, #4정보부터 #7정보를 제 2 스레드에 매칭하고, #8정보부터 #10정보를 제 3 스레드에 매칭할 수 있다.
그리고 청소 로봇(1000)은, 제 1 스레드에 CPU를 할당하면서 제 3 스레드에 매칭된 정보(2101)(예컨대, #8정보부터 #10 정보)에 대해서는 주변에 위치하는 공기 청정기(2100)에 분산 처리를 요청할 수 있다. 본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 공기 청정기(2100)에 분산 처리를 요청하기 전에 공기 청정기(2100)의 유휴 리소스 정보를 확인할 수 있다. 본 개시의 다른 실시예에 의하면 청소 로봇(1000)은 공기 청정기(2100)의 유휴 리소스 정보를 확인하지 않고 분산 처리를 요청할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 서버 장치(2000)에 제 3 스레드에 매칭된 정보(2101)를 전달하면서 분산 처리를 요청할 수도 있다. 이 경우, 서버 장치(2000)는 가전 기기들의 유휴 리소스 정보를 모니터링하고 있으므로, 가전 기기들의 유휴 리소스 정보에 기초하여, 가전 기기들 중에서 공기 청정기(2100)를 선택하고, 공기 청정기(2100)에 제 3 스레드에 매칭된 정보(2101)를 전송하면서 분산 처리를 요청할 수도 있다. 이 경우, 서버 장치(2000)는 제 3 스레드에 매칭된 정보(2101)에 대한 분산 처리 결과를 공기 청정기(2100)로부터 수신하여 청소 로봇(1000)에 전달할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)은 제 1 스레드에 매칭된 정보의 처리 결과, 제 2 스레드에 매칭된 정보의 처리 결과 및 제 3 스레드에 매칭된 정보(2101)에 대한 분산 처리 결과에 기초하여, 지도(예컨대, 실내 공간 지도(500))를 업데이트하거나, 장애물을 인식하거나, 청소 경로를 계획(또는 수정)할 수 있다.
본 개시의 일 실시예에 의하면, 제 1 스레드와 제 2 스레드가 완료된 시점에 공기 청정기(2100)로부터 제 3 스레드에 매칭된 정보(2101)에 대한 분산 처리 결과가 수신되지 않는 경우, 청소 로봇(1000)은 제 3 스레드에 CPU를 할당하여 제 3 스레드를 진행할 수 있다.
또한, 본 개시의 일 실시예에 의하면, 공기 청정기(2100)로부터 수신된 제 3 스레드에 매칭된 정보(2101)에 대한 분산 처리 결과가 잘못된 경우, 청소 로봇(1000)은 분산 처리 결과를 무시하고, 다시 제 3 스레드에 CPU를 할당하여 제 3 스레드를 진행할 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기(공기 청정기(2100))의 유휴 리소스를 활용하여 여러 개의 스레드가 동시에 진행될 수 있으므로, 청소 로봇(1000)의 처리 속도가 높아질 수 있으며, 리소스의 효율적인 분배가 가능해진다.
도 22는 본 개시의 일 실시예에 따른 가전 기기 주변에 대한 청소가 중단된 경우 가전 기기가 청소 로봇을 호출하는 방법을 설명하기 위한 순서도이다.
단계 S2201에서, 본 개시의 일 실시예에 따른 제 6 가전 기기(4006)는 청소 로봇(1000)의 청소 동작 수행 결과를 저장할 수 있다. 예를 들어, 제 6 가전 기기(4006)는 제 6 가전 기기(4006) 주변 영역의 청소가 완료되었는지 또는 장애물 등에 의해 청소가 중단되었는지 등의 정보를 가지고 있을 수 있다.
단계 S2202에서, 본 개시의 일 실시예에 따른 제 6 가전 기기(4006)는, 청소 동작 수행 결과에 기초하여, 청소 중단 상태가 소정 시간 이상 유지되고 있는지 판단할 수 있다. 예를 들어, 제 6 가전 기기(4006)는 청소 로봇(1000)으로부터 청소 중단 메시지를 수신할 수 있다. 그리고 소정 시간(예컨대, 1시간) 경과 후도 청소 로봇(1000)으로부터 청소 완료 메시지가 수신되지 않는 경우, 제 6 가전 기기(4006)는 청소 중단 상태가 소정 시간(예컨대, 1시간) 이상 유지되고 있다고 판단할 수 있다.
단계 S2203에서, 본 개시의 일 실시예에 따른 제 6 가전 기기(4006)는 청소 중단 상태가 소정 시간 이상 유지되고 있는 경우, 청소 로봇(1000)에 제어 명령을 전송할 수 있다. 예를 들어, 제 6 가전 기기(4006)는 제 6 가전 기기(4006) 주변을 청소하라는 제어 명령을 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 청소 로봇(1000)에 전송할 수 있다.
단계 S2204에서, 청소 로봇(1000)은 제어 명령에 따라 제 6 가전 기기(4006) 주변을 청소할 수 있다. 예를 들어, 청소 로봇(1000)은 제 6 가전 기기(4006)의 주변 영역에 대한 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 수행할 수 있다. 이전에 청소를 중단한 이유가 장애물 때문이었으나, 장애물이 사라진 경우, 청소 로봇(1000)은 제 6 가전 기기(4006)의 주변 영역에 대한 청소를 완료할 수 있다. 만일, 장애물이 계속 남아있는 경우 청소 로봇(1000)은 제 6 가전 기기(4006)의 주변 영역에 대한 청소를 다시 완료하지 못할 수도 있다.
단계 S2205에서, 청소 로봇(1000)은 청소 동작 수행 결과를 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 제 6 가전 기기(4006)에 전달할 수 있다.
본 개시의 일 실시예에 의하면, 청소 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 동작 수행 결과는 청소 히스토리에 관한 정보(예컨대, 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지)를 포함할 수도 있다.
단계 S2206에서, 본 개시의 일 실시예에 따른 제 6 가전 기기(4006)는 청소 로봇(1000)의 청소 동작 수행 결과를 업데이트할 수 있다. 예를 들어, 제 6 가전 기기(4006)는, 제 6 가전 기기(4006) 주변 영역의 청소가 완료되었다는 메시지를 청소 로봇(1000)으로부터 수신한 경우, 청소 동작 수행 결과를 청소 중단에서 청소 완료로 변경할 수 있다.
도 23은 본 개시의 일 실시예에 따른 에어컨 주변에 대한 청소가 중단된 경우 에어컨이 청소 로봇을 호출하는 동작을 설명하기 위한 도면이다.
도 23을 참조하면, 에어컨(2300)은 청소 로봇(1000)의 청소 동작 결과 정보를 저장할 수 있다. 예를 들어, 에어컨(2300)은 에어컨(2300) 주변의 청소가 중단되었다는 정보를 청소 로봇(1000)으로부터 수신하여 메모리(예컨대, 트러스트존)에 저장할 수 있다. 청소 로봇(1000)은 에어컨(2300) 주변을 청소하러 오다가 다른 가전 기기의 호출 명령에 따라 다른 가전 기기 주변으로 이동하여 청소를 수행할 수 있다. 이때, 청소 로봇(1000)은 에어컨(2300) 주변의 청소를 완료하지 못했다는 정보를 에어컨(2300)에 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해서 전달할 수 있다.
본 개시의 일 실시예에 의하면, 에어컨(2300)은 청소 로봇(1000)의 청소 히스토리로서 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지(2310)를 저장할 수 있다. 지도 이미지(2310)에 보면, 에어컨(2300) 주변 영역(2320)은 청소가 되지 않은 것을 알 수 있다.
본 개시의 일 실시예에 의하면, 에어컨(2300)은 청소 로봇(1000)의 청소 동작 수행 결과에 기초하여, 청소 로봇(1000)을 호출할 수 있다 (단계 S2301). 예를 들어, 에어컨(2300)은 에어컨(2300) 주변 영역(2320)의 청소를 수행하라는 제어 명령을 근거리 무선 통신(예컨대, 와이파이 다이렉트 또는 블루투스)을 통해 청소 로봇(1000)에 전달할 수 있다.
청소 로봇(1000)은 에어컨(2300)의 호출에 따라 청소 동작을 수행할 수 있다(단계 S2302). 예를 들어, 청소 로봇(1000)은 에어컨(2300) 주변 영역(2320)으로 이동하고, 에어컨(2300) 주변 영역(2320)에 대한 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로를 따라 에어컨(2300) 주변 영역(2320)에 대한 청소를 완료할 수 있다. 청소 로봇(1000)이 에어컨(2300) 주변 영역(2320)에 대한 청소를 완료한 경우 청소 완료 메시지를 에어컨(2300)에 전달할 수 있다.
에어컨(2300)은, 에어컨(2300) 주변 영역(2320)의 청소가 완료되었다는 메시지를 청소 로봇(1000)으로부터 수신한 경우, 청소 동작 수행 결과를 청소 중단에서 청소 완료로 변경할 수 있다.
한편, 본 개시의 일 실시예에 의하면, 에어컨(2300)의 호출 명령에 청소 로봇(1000)이 소정 시간 동안 응답하지 않는 경우, 에어컨(2300)은 중간 단말(1610)을 통해서 청소 로봇(1000)에 호출 명령을 전달할 수도 있다. 예를 들어, 청소 로봇(1000)이 에어컨(2300)으로부터 멀리 떨어져있어, 근거리 무선 통신이 원활하지 않은 경우, 에어컨(2300)은 중간 단말(1610)로 호출 명령을 전송하고, 중간 단말(1610)이 청소 로봇(1000)에 호출 명령을 전달할 수 있다.
본 개시의 일 실시예에 의하면, 장애물 등에 의해 가전 기기 주변의 청소가 중단되더라도, 소정 시간 경과 후에 가전 기기가 청소 로봇(1000)을 호출하여, 가전 기기 주변의 중단되었던 청소를 완료할 수 있다.
도 24는 본 개시의 일 실시예에 따른 가전 기기의 센서 값에 대응하여 설정된 시나리오에 기반하여, 서버 장치가 청소 로봇을 제어하는 방법을 설명하기 위한 순서도이다.
단계 S2401에서, 본 개시의 일 실시예에 따른 가전 기기(2400)는, 센서 값을 감지할 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기(2400)는 서버 장치(2000)에 연결되는 가전 기기일 수 있으며, 다양할 수 있다. 예를 들어, 가전 기기(2400)는 오븐, 인덕션, 공기 청정기, TV, 세탁기, 냉장고 등일 수 있으나, 이에 한정되는 것은 아니다. 가전 기기(2400)는 여러 종류의 센서를 포함할 수 있다. 예를 들어, 가전 기기(2400)가 에어컨인 경우, 가전 기기(2400)는 습도 센서, 온도 센서 등을 포함할 수 있고, 가전 기기(2400)가 공기 청정기인 경우, 가전 기기(2400)는 먼지 센서, 가스 센서 등을 포함할 수 있고, 가전 기기(2400)가 조명 장치인 경우 가전 기기(2400)가 조도 센서를 포함할 수 있고, 가전 기기(2400)가 인덕션, 오븐 등인 경우에 가전 기기(2400)는 온도 센서를 포함할 수 있고, 가전 기기(2400)가 인공지능 스피커인 경우 가전 기기(2400)는 소음 측정 센서 등을 포함할 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기(2400)는 다양한 센서를 통해서 센서 값을 획득할 수 있다. 센서 값은 미세 먼지 센서 값, 온도 값, 습도 값, 소음 값, 조도 값 등일 수 있으나, 이에 한정되는 것은 아니다.
단계 S2402에서, 본 개시의 일 실시예에 따른 가전 기기(2400)는, 센서 값을 서버 장치(2000)에 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 가전 기기(2400)에서 수집되는 정보를 모니터링할 수 있다. 본 개시의 일 실시예에 의하면, 가전 기기(2400)는 센서를 통해 획득된 센서 값을 주기적으로 서버 장치(2000)에 업로드할 수 있다. 본 개시의 다른 실시예에 의하면, 가전 기기(2400)는 서버 장치(2000)에 알릴만한 특정 이벤트가 발생한 경우에 센서 값을 서버 장치(2000)에 업로드할 수도 있다. 예를 들어, 가전 기기(2400)가 공기 청정기인 경우, 미세 먼지 값이 임계 값 이상으로 높아진 경우에 미세 먼지 값을 서버 장치(2000)에 업로드할 수 있다.
단계 S2403에서, 서버 장치(2000)는 센서 값에 대응하는 제 7 시나리오를 식별할 수 있다.
본 개시의 일 실시예에 따른 서버 장치(2000)는, 시나리오 목록(2033) 중에서 가전 기기(2400)를 통해 수신된 센서 값에 대응되는 제 7 시나리오를 식별할 수 있다. 본 개시의 일 실시예에 의하면, 시나리오 목록(2033)에는 특정 센서 값과 청소 로봇(1000)의 적어도 하나의 동작을 매칭한 적어도 하나의 시나리오가 포함될 수 있다.
예를 들어, 서버 장치(2000)는, 임계 값보다 큰 미세 먼지 센서 값이 수신되는 경우, 임계 값보다 큰 미세 먼지 센서 값에 대응하는 제 7 시나리오를 식별할 수 있다.
단계 S2404에서, 서버 장치(2000)는 제 7 시나리오에 기반한 제어 명령을 검출할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 제 7 시나리오로부터 청소 로봇(1000)의 이동 위치 정보가 포함된 제어 명령을 검출할 수 있다. 청소 로봇(1000)의 이동 위치 정보는 청소 로봇(1000)이 이동해야 하는 목적지에 관한 정보일 수 있다. 예를 들어, 청소 로봇(1000)의 이동 위치 정보는 기기(2400)의 식별 정보, 가전 기기(2400)의 위치 정보, 충전 스테이션의 위치 정보, 가전 기기(2400)까지 이동하기 위한 경로 정보(네비게이션 정보) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 의하면, 제 7 시나리오가 청소 로봇(1000)을 가전 기기(2400) 주변으로 호출하는 동작을 포함하는 경우, 서버 장치(2000)는 가전 기기(2400)의 위치 정보를 포함하는 제어 명령을 검출할 수 있다. 청소 로봇(1000)이 가전 기기들의 위치가 표시된 실내 공간 지도(500)를 가지고 있는 경우, 가전 기기(2400)의 식별 정보만 청소 로봇(1000)에 알려주더라도 청소 로봇(1000)이 가전 기기(2400) 주변으로 이동할 수 있으므로, 서버 장치(2000)는 가전 기기(2400)의 위치 정보로서 가전 기기(2400)의 식별 정보를 청소 로봇(1000)에 전송할 수도 있다.
본 개시의 일 실시예에 의하면, 제 7 시나리오가 청소 로봇(1000)이 가전 기기(2400) 주변을 집중 모드로 청소하는 동작을 포함하는 경우, 서버 장치(2000)는 가전 기기(2400)의 위치 정보 및 청소 로봇(1000)의 동작 모드 정보를 포함하는 제어 명령을 검출할 수 있다. 한편, 제어 명령이 충전 스테이션으로 복귀하라는 명령인 경우, 청소 로봇(1000)의 이동 위치 정보는 충전 스테이션의 위치에 관한 정보가 될 수 있다.
단계 S2405에서, 서버 장치(2000)는 제어 명령을 청소 로봇(1000)에 전달할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는, 무선 통신 인터페이스(예컨대, 와이파이)를 통해서 검출된 제어 명령을 청소 로봇(1000)에 전송할 수 있다.
단계 S2406에서, 청소 로봇(1000)은 제어 명령에 따라 동작을 수행할 수 있다. 예를 들어, 제어 명령이 가전 기기(2400) 근처를 청소하라는 명령인 경우, 청소 로봇(1000)은 실내 공간 지도(500)에 기반하여 가전 기기(2400) 주변으로 이동할 수 있다.
제어 명령이 가전 기기(2400) 근처를 청소하라는 명령인 경우, 청소 로봇(1000)은 가전 기기(2400) 근처의 영역에 대한 청소 경로를 계획하고, 계획된 청소 경로를 따라서 청소 동작을 완료할 수 있다. 청소 로봇(1000)이 청소하는 중에 가전 기기(2400) 근처에서 장애물을 인식한 경우, 청소 로봇(1000)은 계획된 청소 경로를 변경할 수도 있고, 가전 기기(2400) 근처의 영역에 대한 청소를 중단할 수도 있다. 예를 들어, 장애물이 크지 않은 경우, 청소 로봇(1000)은 장애물을 피해서 청소하는 것으로 청소 경로를 변경할 수 있지만, 장애물이 커서 더 이상 청소를 진행할 수 없는 경우, 청소 로봇(1000)은 청소를 중단하고 충전 스테이션으로 복귀할 수 있다.
단계 S2407에서, 청소 로봇(1000)은 동작 수행 결과를 서버 장치(2000)에 전달할 수 있다. 본 개시의 일 실시예에 의하면, 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등의 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 동작 수행 결과는 청소 히스토리에 관한 정보(예컨대, 청소 로봇(1000)이 지나간 경로가 표시된 지도 이미지)를 포함할 수도 있다.
단계 S2408에서, 서버 장치(2000)는 청소 로봇(1000)의 동작 수행 결과를 가전 기기(2400)에 전달할 수 있다. 이 경우, 가전 기기(2400)는 가전 기기(2400) 주변 영역의 청소가 완료되었는지 또는 장애물 등에 의해 청소가 중단되었는지 등의 정보를 알 수 있다.
단계 S2409에서, 가전 기기(2400)는 청소 로봇(1000)의 동작 수행 결과를 저장할 수 있다. 본 개시의 일 실시예에 의하면, 가전 기기(2400)는 메모리의 보안 영역(예컨대, 트러스트 존)에 청소 로봇(1000)의 동작 수행 결과를 저장할 수 있다. 보안 영역(예컨대, 트러스트 존)은 인증된 기기들(예컨대, 청소 로봇(1000))만 접근할 수 있는 영역일 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기(2400)는, 청소 로봇(1000)의 동작 수행 결과에 기초하여, 청소 로봇(1000)이 가전 기기(2400) 주변의 청소를 완료하지 않은 경우, 추후에 청소 로봇(1000)을 가전 기기(2400) 주변으로 다시 호출할 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기(2400)의 센서 값을 청소 동작과 매칭해 놓은 시나리오에 기반해서 청소 로봇(1000)이 사용자 입력 없이 청소를 수행할 수 있도록 한다.
도 25는 본 개시의 일 실시예에 따른 미세 먼지 센서 값에 대응하는 시나리오에 기초하여 서버 장치가 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다. 도 25에서는, 공기 청정기(2500)의 미세 먼지 센서 값이 임계 값보다 커지면 공기 청정기(2500)의 주변 영역을 집중 모드로 청소하는 시나리오가 시나리오 목록(2033)에 저장되어 있는 경우를 예로 들어 설명하기로 한다.
도 25를 참조하면, 공기 청정기(2500)는 먼지 센서를 통해서 미세 먼지 센서 값을 계속 측정할 수 있다. 공기 청정기(2500)는 먼지 센서를 통해서 측정되는 미세 먼지 센서 값을 서버 장치(2000)에 전달할 수 있다(단계 S2501). 본 개시의 일 실시예에 의하면, 반려견이 공기 청정기(2500) 주변을 뛰어다니는 경우, 공기 청정기(2500)에서 측정되는 미세 먼지 센서 값이 갑자기 높아질 수 있다. 예를 들어, 공기 청정기(2500)의 디스플레이(2510)에 표시되는 미세 먼지 센서 값이 좋음에서 매우 나쁨으로 변경될 수 있다. 이때, 공기 청정기(2500) 주변 바닥에도 먼지가 많아질 수 있다.
서버 장치(2000)는, 공기 청정기(2500)에서 수집되는 미세 먼지 센서 값을 모니터링하다가 미세 먼지 센서 값이 임계 값보다 높아지는 경우, 임계 값보다 큰 미세 먼지 센서 값에 대응하는 시나리오를 검출할 수 있다.
서버 장치(2000)는 검출된 시나리오에 기반해서 공기 청정기(2500)의 주변 영역을 집중 모드로 청소하라는 제어 명령을 검출할 수 있다. 서버 장치(2000)는 통신 인터페이스를 통해서 공기 청정기(2500)의 주변 영역을 집중 모드로 청소하라는 제어 명령을 청소 로봇(1000)으로 전송할 수 있다(단계 S2502). 여기서, 제어 명령은 공기 청정기(2500)의 주변 영역(예컨대, 거실 영역)의 위치 정보, 공기 청정기(2500)의 식별 정보, 동작 모드(예컨대, 집중 모드)에 관한 정보 등을 포함할 수 있다.
청소 로봇(1000)은, 서버 장치(2000)로부터 제어 명령을 수신한 경우, 제어 명령에 따라 청소 동작을 수행할 수 있다(단계 S2503). 예를 들어, 청소 로봇(1000)은 공기 청정기(2500)의 주변 영역(예컨대, 거실 영역)으로 이동하고, 공기 청정기(2500)의 주변 영역을 청소하기 위한 청소 경로를 계획할 수 있다. 이때, 청소 로봇(1000)은, 실내 공간 지도(500)를 이용하여, 공기 청정기(2500)의 주변 영역으로 이동하고 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로에 따라 집중 모드로 공기 청정기(2500)의 주변 영역에 대한 청소를 완료하고, 서버 장치(2000)에 청소 완료 메시지를 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 공기 청정기(2500)의 주변 영역에 대한 청소 완료 메시지를 공기 청정기(2500)에 전달함으로써, 공기 청정기(2500)가 주변 영역에 대한 청소가 완료되었는지 여부를 확인할 수 있도록 한다.
청소 로봇(1000)은, 다른 영역을 청소하다가 공기 청정기(2500)의 주변 영역으로 호출된 경우, 공기 청정기(2500)의 주변 영역에 대한 청소를 완료한 후, 기존 청소 경로로 복귀할 수 있다. 예를 들어, 청소 로봇(1000)이 안방 영역에 대한 제 1 청소 경로를 계획하고, 제 1 청소 경로를 따라 청소하는 중에 공기 청정기(2500)의 주변 영역으로 호출된 경우, 청소 로봇(1000)은 제 1 청소 경로로 복귀할 수 있다. 그리고 청소 로봇(1000)은 제 1 청소 경로 중에서 청소를 완료하지 못한 부분에 대한 청소를 계속 수행할 수 있다.
본 개시의 일 실시예에 의하면, 공기 청정기(2500) 주변 바닥에 먼지가 많은 경우, 서버 장치(2000)가 청소 로봇(1000)을 공기 청정기(2500) 주변으로 호출함으로써, 공기 청정기(2500) 주변 바닥이 깨끗한 상태로 유지될 수 있도록 한다.
도 26은 본 개시의 일 실시예에 따른 인덕션의 온도 센서 값에 대응하는 시나리오에 기초하여 서버 장치가 청소 로봇을 제어하는 동작을 설명하기 위한 순서도이다. 도 26에서는 인덕션(2600)의 사용이 종료되면, 인덕션(2600) 주변 영역(주방 영역)으로 청소 로봇(1000)을 호출하는 시나리오가 시나리오 목록(2033)에 저장되어 있는 경우를 예로 들어 설명하기로 한다.
도 26을 참조하면, 인덕션(2600)은 온도 센서를 통해서 온도 센서 값을 계속 측정할 수 있다. 인덕션(2600)은 온도 센서를 통해서 측정되는 온도 센서 값을 서버 장치(2000)에 전달할 수 있다(단계 S2601). 본 개시의 일 실시예에 의하면, 인덕션(2600)의 사용을 시작하는 경우 온도 센서 값이 높아지다가 인덕션(2600)의 사용이 종료된 경우 온도 센서 값이 낮아는 패턴이 형성될 수 있다.
서버 장치(2000)는, 인덕션(2600)에서 측정되는 온도 센서 값을 모니터링하다가, 인덕션(2600)의 사용이 종료되는 패턴(예컨대, 온도 센서 값이 100℃ 이상으로 올라가다가 온도 센서 값이 0℃에 가까워지는 패턴)이 식별되는 경우, 인덕션(2600)의 사용 종료에 대응하는 시나리오를 검출할 수 있다.
본 개시의 다른 실시예에 의하면, 서버 장치(2000)는, 인덕션(2600)으로부터 인덕션(2600)의 전원을 종료하는 버튼이 선택되었다는 사용자 입력 정보를 수신한 경우, 인덕션(2600)의 사용 종료에 대응하는 시나리오를 검출할 수도 있다.
서버 장치(2000)는 검출된 시나리오에 기반해서 인덕션(2600)의 주변 영역(주방 영역)을 청소하라는 제어 명령을 검출할 수 있다. 서버 장치(2000)는 통신 인터페이스를 통해서 인덕션(2600)의 주변 영역(주방 영역)을 청소하라는 제어 명령을 청소 로봇(1000)으로 전송할 수 있다(단계 S2602). 여기서, 제어 명령은 인덕션(2600)의 주변 영역(예컨대, 주방 영역)의 위치 정보, 인덕션(2600)의 식별 정보 등을 포함할 수 있다.
청소 로봇(1000)은, 서버 장치(2000)로부터 제어 명령을 수신한 경우, 제어 명령에 따라 청소 동작을 수행할 수 있다(단계 S2603). 예를 들어, 청소 로봇(1000)은 인덕션(2600)의 주변 영역(주방 영역)으로 이동하고, 인덕션(2600)의 주변 영역(주방 영역)을 청소하기 위한 청소 경로를 계획할 수 있다. 이때, 청소 로봇(1000)은, 실내 공간 지도(500)를 이용하여, 인덕션(2600)의 주변 영역(주방 영역)으로 이동하고 청소 경로를 계획할 수 있다. 청소 로봇(1000)은 계획된 청소 경로에 따라 인덕션(2600)의 주변 영역(주방 영역)에 대한 청소를 완료하고, 서버 장치(2000)에 청소 완료 메시지를 전송할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 인덕션(2600)의 주변 영역(주방 영역)에 대한 청소 완료 메시지를 인덕션(2600)에 전달함으로써, 인덕션(2600)가 주변 영역(주방 영역)에 대한 청소가 완료되었는지 여부를 확인할 수 있도록 한다.
청소 로봇(1000)은, 충전 중에 인덕션(2600)의 주변 영역으로 호출되었으므로, 인덕션(2600)의 주변 영역(주방 영역)에 대한 청소를 완료한 후, 충전 스테이션으로 복귀할 수 있다. 본 개시의 다른 실시예에 의하면, 청소 로봇(1000)은 배터리 잔량이 임계 값보다 큰 경우, 충전 스테이션으로 복귀하지 않고, 평소의 청소 경로를 따라 청소 동작을 더 수행할 수도 있다.
본 개시의 일 실시예에 의하면, 인덕션(2600)의 사용이 종료된 경우, 서버 장치(2000)가 청소 로봇(1000)을 주방으로 호출함으로써, 주방 바닥이 깨끗한 상태로 유지될 수 있도록 한다.
도 27은 본 개시의 일 실시예에 따른 서버 장치가 가전 기기들의 동작과 관련된 추천 시나리오를 제공하는 동작을 설명하기 위한 도면이다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 댁내에 위치하는 가전 기기들과 관련된 다양한 추천 시나리오들을 포함하는 추천 시나리오 목록(2700)을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 IFTTT(IF This Then That)를 이용하여 다양한 추천 시나리오들을 생성할 수 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)는 사용자의 활용도를 고려하여, 다양한 추천 시나리오들을 생성할 수 있다. 예를 들어, 서버 장치(2000)는 사용자의 가전 기기 사용 횟수 정보, 사용자의 모바일 단말로부터 수집한 사용자의 컨텍스트 정보(예컨대, 사용자가 집에 주로 머무는 시간, 사용자가 집에서 주로 머무는 공간 정보), 가족 정보(예컨대, 가족 수, 아기 유무, 반려 동물 유무 등), 다른 사용자들이 선택한 시나리오에 관한 정보 등에 기초하여, 추천 시나리오를 생성할 수 있다.
도 27을 참조하면, 서버 장치(2000)는, 청소 로봇(1000)의 전원과 에어컨의 전원을 매칭하여, '청소 로봇(1000)의 전원이 켜지면 에어컨의 전원을 끕니다'라는 제 1 추천 시나리오(2701)를 생성할 수 있다. 또한, 서버 장치(2000)는 모바일 단말의 통화 기능과 청소 로봇(1000)의 전원을 매칭하여, '전화를 받으면 청소 로봇(1000)의 전원을 끕니다'라는 제 2 추천 시나리오(2702)를 생성할 수도 있다. 서버 장치(2000)는, 날씨 정보와 에어컨의 동작 모드를 매칭하여, '비 오는 날에는 에어컨을 제습 모드로 운전합니다'라는 제 3 추천 시나리오(2703)를 생성할 수 있다.
도 28은 본 개시의 일 실시예에 따른 서버 장치가 추천 시나리오를 시나리오 목록에 추가하는 동작을 설명하기 위한 도면이다.
도 28의 2800-1을 참조하면, 본 개시의 일 실시예에 의하면, 서버 장치(2000)는 디스플레이 장치(3000)에 설치된 특정 애플리케이션 실행 창을 통해서 추천 시나리오 목록(2700)을 사용자에게 제공할 수 있다. 서버 장치(2000)는, 디스플레이 장치(3000)에 설치된 특정 애플리케이션 실행 창을 통해서, 추천 시나리오 목록(2700)에서 제 3 추천 시나리오(2703)을 선택하는 사용자 입력(2800)을 수신할 수 있다.
도 28의 2800-2를 참조하면, 서버 장치(2000)가 추천 시나리오 목록(2700) 중에서 제 3 추천 시나리오(2703)를 선택하는 사용자 입력(2800)을 수신하는 경우, 서버 장치(2000)는 시나리오 목록(2033)에 제 3 추천 시나리오(2703)를 추가할 수 있다. 이 후, 사용자는 시나리오 목록(2033)에서 제 3 추천 시나리오(2703)를 확인할 수 있다. 사용자는, 특정 애플리케이션의 실행 창을 통해서, 제 3 추천 시나리오(2703)를 편집할 수도 있고, 시나리오 목록(2033)에서 삭제할 수도 있고, 제 3 추천 시나리오(2703)가 실행될 때 알림을 제공받을 수도 있다.
본 개시의 일 실시예에 의하면, 서버 장치(2000)가 사용자의 활용도를 고려하여 추천 시나리오를 생성하여 사용자에게 제공해주는 경우, 사용자는 유용한 시나리오를 선택하고 이용할 수 있다. 이하에서는 사용자가 특정 조건과 가전 기기의 동작을 매칭하는 시나리오를 직접 설정하는 시나리오 설정 창에 대해서 도 29를 참조하여 살펴보기로 한다.
도 29는 본 개시의 일 실시예에 따른 서버 장치가 시나리오 설정 창을 통해 특정 조건과 가전 기기의 동작을 매칭하는 시나리오를 입력 받는 동작을 설명하기 위한 도면이다.
도 29의 2910을 참조하면, 시나리오 설정 창(2900)은 조건 목록(2910), 제어 대상 기기의 목록(2920), 동작 목록(2930)을 포함할 수 있다. 사용자는 시나리오 설정 창(2900)을 확인하고, 시나리오를 직접 설정하기 위해, 조건 목록(2910)에서 날씨 항목(2901)과 온도 항목(2902)을 선택하고, 제어 대상 기기의 목록(2920)에서 에어컨 항목(2903)을 선택하고, 동작 목록(2904)에서 운전 모드 항목(2904)을 선택하는 입력을 수신할 수 있다. 그리고 사용자가 만들기 아이콘(2905)을 누르는 경우, 시나리오 설정 창(2900) 위에 시나리오를 상세 설정할 수 있는 팝업창(2940)이 표시될 수 있다.
도 2900-2를 참조하면, 사용자는 팝업창(2940)에서 온도를 31℃로 설정하고, 에어컨의 운전 모드를 '냉방 모드'로 선택할 수 있다. 이 경우, '온도가 31℃ 이상이면 에어컨을 냉방 모드로 운전합니다'라는 시나리오가 새롭게 생성될 수 있다. 서버 장치(2000)는 새롭게 생성된 시나리오('온도가 31℃ 이상이면 에어컨을 냉방 모드로 운전합니다')를 시나리오 목록(2033)에 추가할 수 있다.
이후, 서버 장치(2000)는, 가전 기기로부터 수집되는 센서 값에 기초하여, 실내 온도를 모니터링하다가 실내 온도가 31℃ 이상이 되는 경우, 시나리오에 기반하여 '냉방 모드로 운전하라'는 제어 명령을 검출할 수 있다. 그리고 서버 장치(2000)는, 검출된 제어 명령(냉방 모드로 운전하라)을 에어컨으로 전송할 수 있다. 이때, 에어컨은 제어 명령에 따라 냉방 모드로 운전을 시작할 수 있다.
본 개시의 일 실시예에 의하면, 가전 기기의 동작을 소정의 조건에 매칭한 시나리오를 생성함으로써, 소정의 조건을 만족하는 경우 가전 기기들이 자동으로 동작할 수 있도록 한다.
도 30은 본 개시의 일 실시예에 따른 청소 로봇의 기능을 설명하기 위한 블록 구성도이다.
도 30을 참조하면, 청소 로봇1000)은, 센싱부(1100), 프로세서(1200), 메모리(1300), 출력부(1400), 통신부(1500), 구동부(1600), 전원공급부(1700)를 포함할 수 있다. 그러나, 도 30에 도시된 구성 요소 모두가 청소 로봇(1000)의 필수 구성 요소인 것은 아니다. 도 30에 도시된 구성 요소보다 많은 구성 요소에 의해 청소 로봇(1000)이 구현될 수도 있고, 도 30에 도시된 구성 요소보다 적은 구성 요소에 의해 청소 로봇(1000)이 구현될 수도 있다. 각 구성에 대해 차례로 살펴보기로 한다.
센싱부(1100)는, 청소 로봇(1000) 주변 환경에 관한 정보를 감지하도록 구성되는 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(1100)는, 추락 방지 센서(1111), 이미지 센서(카메라, 1112)(예컨대, 스테레오 카메라, 모노 카메라, 와이드 앵글 카메라, 어라운드 뷰 카메라 또는 3D 비전 센서 등), 적외선 센서(1113), 초음파 센서(1114), 라이다 센서(1115), 장애물 센서(3D 센서)(1116), 주행거리 검출 센서(미도시) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 주행거리 검출 센서는 바퀴의 회전수를 계산하는 회전검출 센서를 포함할 수 있다. 예를 들면, 회전 검출센서는 모터의 회전수를 검출하도록 설치된 엔코더가 있을 수 있다. 이미지 센서(카메라, 1112)는 구현 예에 따라서 청소 로봇(1000)에 여러 개가 배치될 수도 있다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
본 개시의 일 실시예에 의하면, 센싱부(1100)는 실내 공간 지도(500)를 생성하는데 이용될 수 있다. 예를 들어, 청소 로봇(1000)은 카메라(1112), 초음파 센서(1114), 라이더 센서(1115), 장애물 센서(3D 센서)(1116) 중 적어도 하나를 이용하여, 실내 공간 지도(500)를 생성할 수 있다.
프로세서(1200)는, 통상적으로 청소 로봇(1000)의 전반적인 동작을 제어할 수 있다. 프로세서(1200)는 저장부(160)에 저장된 프로그램들을 실행함으로써, 센싱부(1100), 출력부(1400), 통신부(1500), 구동부(1600), 전원공급부(1700)를 제어할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(1200)는, 인공 지능(AI; artificial intelligence) 프로세서를 포함할 수 있다. 이 경우, AI 프로세서는, 인공지능(AI) 시스템의 학습 네트워크 모델을 이용하여, 청소 모드에 따라 적어도 하나의 청소 가능 영역을 복수의 부분 영역으로 분할할 수 있다. AI 프로세서는 청소 모드에 따라 청소 경로를 계획할 수도 있다.
AI 프로세서는, 인공 지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 청소 로봇(1000)에 탑재될 수도 있다.
프로세서(1200)는 청소 로봇(1000)의 진행방향 결정 등의 청소주행, 위치인식 및 배터리의 자동충전 등을 담당할 수도 있다. 예를 들어, 프로세서(1200)는, 배터리의 비 작업 시에 외부 충전 장치와 결합된 상태로 대기하도록 제어하여, 배터리의 충전량을 일정 범위 내로 유지시킬 수 있다. 프로세서(1200)는, 작업완료 또는 작업도중 배터리 충전량 검출부로부터 충전요청 및 신호가 입력되면, 외부 충전장치(충전 스테이션)로 복귀하도록 구동부(1600)를 제어할 수도 있다.
메모리(1300)는, 프로세서(1200)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 실내 공간 지도(500), 청소 경로, 시나리오 목록(2033) 등)을 저장할 수도 있다. 메모리(1300)는 인공지능 모델을 저장할 수도 있다.
메모리(1300)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 청소 로봇(1000)은 인터넷(internet)상에서 저장 기능을 수행하는 웹 스토리지(web storage) 또는 클라우드 서버를 운영할 수도 있다.
출력부(1400)는, 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 디스플레이(1411)와 음향 출력부(1412), 진동부(1413) 등이 포함될 수 있다.
디스플레이(1411)는 청소 로봇(1000)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이(1411)는 청소 로봇(1000)의 현재 위치를 표시하거나, 청소 로봇(1000)의 청소 모드를 표시하거나, 청소 상태(예컨대, 진행률), 충전 상태(예컨대, 잔여 배터리 량) 등을 표시할 수 있으나, 이에 한정되는 것은 아니다. 디스플레이(1411)는, 모드 설정과 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시할 수도 있다.
한편, 디스플레이(1411)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이(1411)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이(1411)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 청소 로봇(1000)의 구현 형태에 따라 청소 로봇(1000)은 디스플레이(1411)를 2개 이상 포함할 수도 있다.
음향 출력부(1412)는 통신부(1500)로부터 수신되거나 메모리(1300)에 저장된 오디오 데이터를 출력할 수 있다. 또한, 음향 출력부(1412)는 청소 로봇(1000)에서 수행되는 기능과 관련된 음향 신호를 출력할 수 있다. 예를 들어, 음향 출력부(1412)는 청소 완료를 알리는 음성 메시지를 출력할 수 있다. 이러한 음향 출력부(1412)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
진동부(1413)는 진동 신호를 출력할 수 있다. 예를 들어, 진동부(1413)는 오디오 데이터 또는 비디오 데이터(예컨대, 경고 메시지 등)의 출력에 대응하는 진동 신호를 출력할 수 있다.
통신부(1500)는, 다른 장치(예컨대, 서버 장치(2000), 디스플레이 장치(3000), 복수의 가전 기기(4000))와 무선으로 통신하기 위한 적어도 하나의 안테나를 포함할 수 있다. 예를 들어, 통신부(1500)는, 청소 로봇(1000)과 서버 장치(2000), 청소 로봇(1000)과 복수의 가전 기기(4000) 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(short-range wireless communication unit)(1511), 이동 통신부(1512) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
근거리 통신부(short-range wireless communication unit)(1511)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부, 마이크로 웨이브(uWave) 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1512)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 통신부(1500)는 서버 장치(2000) 또는 복수의 가전 기기(4000) 중 하나로부터 제어 명령을 수신할 수 있다. 청소 로봇(1000)의 통신부(1500)는, 청소 동작 수행 결과를 복수의 가전 기기(4000) 중 하나에 전송할 수도 있다. 예를 들어, 청소 동작 수행 결과는 청소 완료, 청소 중단, 일부 영역 청소 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 통신부(1500)는, 서버 장치(2000)로부터 시나리오 목록(2033)을 수신할 수도 있고, 복수의 가전 기기(4000) 중 하나에 시나리오를 전달할 수도 있다.
본 개시의 일 실시예에 의하면, 청소 로봇(1000)의 통신부(1500)는 복수의 가전 기기(4000) 중 하나에 영상 정보 또는 센싱 정보를 전달하면서 분산 처리를 요청하고, 복수의 가전 기기(4000) 중 하나로부터 분산 처리 결과를 수신할 수도 있다.
구동부(1600)는 청소 로봇(1000)의 구동(운행) 및 청소 로봇(1000) 내부의 장치들의 동작에 이용되는 구성들을 포함할 수 있다. 구동부(1600)는 흡입부, 주행부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 흡입부는, 공기를 흡입하면서 바닥의 먼지를 집진하는 기능을 하는데, 회전브러쉬 또는 빗자루, 회전브러쉬 모터, 공기흡입구, 필터, 집진실, 공기배출구 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 흡입부는, 부가적으로 구석 먼지를 쓸어낼 수 있는 솔이 회전되는 구조로 장착될 수도 있다.
주행부는 전방의 양측에 설치된 두 개의 바퀴와 후방의 양측에 설치된 두 개의 바퀴, 후방의 두 개의 바퀴를 각각 회전 구동시키는 모터 및 후방의 바퀴에서 발생되는 동력을 전방의 바퀴로 전달할 수 있도록 설치된 타이밍 벨트 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 청소 로봇(1000)은 입력부(미도시)를 포함할 수도 있다. 입력부는, 사용자가 청소 로봇(1000)을 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 31은 본 개시의 일 실시예에 따른 서버 장치의 기능을 설명하기 위한 블록 구성도이다.
도 31을 참조하면, 서버 장치(2000)는 통신부(2010), 프로세서(2020) 및 메모리(2030)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 서버 장치(2000)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 서버 장치(2000)는 구현될 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
통신부(2010)는, 서버 장치(2000)와 청소 로봇(1000) 또는 서버 장치(2000)와 가전 기기들(예컨대, 제 1 그룹(4100)의 가전 기기들), 서버 장치(2000)와 디스플레이 장치(3000) 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 통신부(2010)는, 제 1 가전 기기를 통해 청소 로봇(1000)과 관련된 제 1 사용자 입력을 수신할 수 있다. 통신부(2010)는, 제 1 가전 기기로부터 제 1 사용자 입력에 관한 정보(예컨대, 입력 형태, 입력 시간 등)를 수신함으로써, 제 1 가전 기기를 통해 제 1 사용자 입력을 수신할 수 있다. 여기서, 제 1 가전 기기는 서버 장치(2000)에 연결되는 제 1 그룹(4100)의 가전 기기들 중 하나일 수 있다.
제 1 사용자 입력은, 상기 제 1 가전 기기가 제공하는 적어도 하나의 기능과 매칭되지 않은 제 1 가전 기기의 유휴 버튼과 관련된 입력일 수 있다. 예를 들어, 제 1 가전 기기가 에어컨인 경우, 에어컨의 풍속 버튼을 3회 터치하는 제 1 조작, 전원 버튼을 3초 이상 누르는 제 2 조작, 풍향 버튼과 예약 버튼을 동시에 터치하는 제 3 조작 등은 에어컨이 기본적으로 제공하는 기능에 매칭되어 있지 않을 수 있다. 이때, 에어컨에 대한 제 1 조작, 제 2 조작, 제 3 조작은 에어컨의 유휴 버튼과 관련된 입력일 수 있다.
본 개시의 일 실시예에 의하면, 통신부(2010)는, 제어 명령을 청소 로봇(1000)으로 전송할 수 있다. 제어 명령은 청소 로봇(1000)의 이동 위치 정보, 동작 모드 정보 등을 포함할 수 있다. 예를 들어, 제어 명령은, 제 1 가전 기기로부터 소정 거리 내의 제 1 영역에 대한 청소 명령을 포함할 수 있다. 통신부(2010)는, 청소 로봇(1000)으로부터 청소 완료 메시지를 수신하고, 제 1 가전 기기로 제 1 영역에 대한 청소 완료 메시지를 전송할 수 있다.
본 개시의 일 실시예에 의하면, 통신부(2010)는, 가전 기기들로부터 현재 리소스 상태와 관련된 정보(예컨대, 현재 사용하고 있는 CPU 상태나 RAM 상태)를 수신할 수도 있다. 리소스에는 CPU, 메모리, 전원, 스토리지 및 네트워크 리소스 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 통신부(2010)는, 가전 기기들에서 획득되는 센서 값을 수신할 수도 있다. 센서 값은 미세 먼지 센서 값, 온도 값, 습도 값, 소음 값, 조도 값 등일 수 있으나, 이에 한정되는 것은 아니다.
통신부(2010)는, 가전 기기를 서버 장치(2000)에 등록할 때, 가전 기기로부터 가전 기기 본연의 기능에 따라 기 설정된 키(이하, 고정 키 또는 고정 버튼이라 함)에 대한 정보를 수신할 수 있다. 통신부(2010)는, 서버 장치(2000)에 연결되지 않은 제 2 그룹(4200)의 가전 기기들의 식별 정보의 고정 버튼의 정보를 청소 로봇(1000)으로부터 수신할 수도 있다.
프로세서(2020)는, 메모리(2030)에 저장된 프로그램 또는 정보를 이용하여 서버 장치(2000)의 전반적인 동작을 제어할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(2020)는 청소 로봇(1000)의 동작을 정의한 시나리오 목록(2033) 중에서 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별할 수 있다. 프로세서(2020)는 제 1 시나리오에 기초하여, 청소 로봇(1000)의 이동 위치 정보가 포함된 제어 명령을 검출할 수 있다. 프로세서(2020)는 검출된 제어 명령을 통신부(2010)를 통해서 청소 로봇(1000)에 전송할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(2020)는 적어도 하나의 가전 기기의 유휴 버튼들에 관한 정보를 획득할 수 있다. 프로세서(2020)는 적어도 하나의 가전 기기의 유휴 버튼들과 청소 로봇(1000)의 적어도 하나의 동작을 매칭하는 복수의 추천 시나리오를 디스플레이 장치(3000)를 통해 사용자에게 제공할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(2020)는 복수의 추천 시나리오 중에서 제 2 가전 기기의 유휴 버튼과 관련된 제 2 시나리오를 선택하는 입력을 디스플레이 장치(3000)를 통해 수신하고, 제 2 시나리오를 시나리오 목록(2033)에 추가할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(2020)는 복수의 가전 기기의 목록, 유휴 버튼의 목록 및 청소 로봇(1000)의 동작 목록을 포함하는 시나리오 설정 창을 디스플레이 장치(3000)에 제공할 수 있다. 프로세서(2020)는 시나리오 설정 창을 통해, 제 3 가전 기기의 유휴 버튼과 관련된 제 3 시나리오를 설정하는 입력을 수신할 수 있다. 이 경우, 프로세서(2020)는 제 3 시나리오를 시나리오 목록(2033)에 추가할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(2020)는 통신부(2010)를 통해 청소 로봇(1000)으로부터 서버 장치(2000)에 연결되지 않은 제 4 가전 기기의 유휴 버튼 정보를 획득할 수 있다. 이 경우, 프로세서(2020)는 시나리오 설정 창에 제 4 가전 기기의 식별 정보 및 제 4 가전 기기의 유휴 버튼 정보를 추가할 수 있다.
본 개시의 일 실시예에 의하면, 프로세서(2020)는, 통신부(2010)를 통해 청소 로봇(1000)으로부터 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리 요청을 수신할 수 있다. 이 경우, 프로세서(2020)는, 분산 처리 요청에 따라, 복수의 가전 기기의 유휴 리소스 정보를 확인할 수 있다. 프로세서(2020)는, 복수의 가전 기기의 유휴 리소스 정보에 기초하여, 복수의 가전 기기 중에서 제 5 가전 기기를 선택할 수 있다. 예를 들어, 프로세서(2020)는, 리소스 모니터링 모델(2032)을 이용하여 제 5 가전 기기를 선택할 수 있다. 프로세서(2020)는, 통신부(2010)를 통해 제 5 가전 기기에 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리를 요청할 수 있다.
프로세서(2020)는, 통신부(2010)를 통해 제 5 가전 기기로부터 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리 결과를 수신할 수 있다. 이 경우, 프로세서(2020)는, 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리 결과를 통신부(2010)를 통해 청소 로봇(1000)으로 전송할 수 있다.
메모리(2030)는, 프로세서(2020)의 처리를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들을 저장할 수도 있다. 예를 들어, 메모리(2030)는 추천 모델(2031), 리소스 모니터링 모델(2032), 시나리오 목록(2033)을 저장할 수 있다.
추천 모델(2031)은 추천 시나리오를 생성하기 위한 인공지능 모델일 수 있다. 추천 모델(2031)은 적어도 하나의 가전 기기의 유휴 버튼들을 이용하여, 복수의 추천 시나리오를 생성할 수 있다. 예를 들어, 추천 모델(2031)은 적어도 하나의 가전 기기의 유휴 버튼들과 청소 로봇(1000)의 적어도 하나의 동작을 매칭하여, 복수의 추천 시나리오를 생성할 수 있다.
추천 모델(2031)은 사용자의 활용도를 고려하여, 추천 시나리오를 생성할 수 있다. 예를 들어, 추천 모델(2031)은 사용자의 가전 기기 사용 횟수 정보, 사용자의 모바일 단말로부터 수집한 사용자의 컨텍스트 정보(예컨대, 사용자가 주로 머무는 공간 정보), 다른 사용자들이 선택한 시나리오에 관한 정보 등에 기초하여, 추천 시나리오를 생성할 수 있다.
리소스 모니터링 모델(2032)은 서버 장치(2000)에 연결된 가전 기기들의 리소스 상태를 모니터링하는 인공지능 모델일 수 있다. 예를 들어, 리소스 모니터링 모델(2032)은 서버 장치(2000)에 연결된 가전 기기들이 현재 사용하고 있는 CPU 상태나 RAM 상태를 모니터링할 수 있으며, 서버 장치(2000)에 연결된 가전 기기들의 유휴 리소스를 결정할 수도 있다.
시나리오 목록(2033)은 적어도 하나의 가전 기기의 유휴 버튼과 청소 로봇(1000)의 적어도 하나의 동작을 매칭한 적어도 하나의 시나리오를 포함할 수 있다. 시나리오 목록(2033)은, 사용자에 의해 미리 승인된 시나리오를 포함할 수 있다. 예를 들어, 시나리오 목록(2033)에는 서버 장치(2000)에서 추천한 시나리오들 중에서 사용자가 선택한 시나리오가 포함될 수 있으며, 사용자가 직접 설정한 시나리오가 포함될 수도 있다.
본 개시의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
본 개시의 일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.  또한, 본 개시의 일부 실시예는 컴퓨터에 의해 실행되는 컴퓨터 프로그램과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품 (computer program product)으로도 구현될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
본 개시의 일 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수도 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서 본 개시의 실시예들에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.

Claims (20)

  1. 서버 장치가 청소 로봇을 제어하는 방법에 있어서,
    제 1 가전 기기를 통해 상기 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 단계;
    상기 청소 로봇의 동작을 정의한 시나리오 목록 중에서 상기 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 단계;
    상기 제 1 시나리오에 기초하여, 상기 청소 로봇의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별하는 단계; 및
    상기 제어 명령을 상기 청소 로봇으로 전송하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서, 상기 제 1 사용자 입력은,
    상기 제 1 가전 기기가 제공하는 본연의 기능과 매칭되지 않은 상기 제 1 가전 기기의 유휴 버튼과 관련된 입력을 포함하는, 방법.
  3. 제 2 항에 있어서, 상기 제 1 시나리오는,
    상기 제 1 가전 기기의 유휴 버튼과 관련된 입력에 대응하는 상기 청소 로봇의 적어도 하나의 동작을 포함하는, 방법.
  4. 제 1 항에 있어서, 상기 제어 명령은,
    상기 제 1 가전 기기로부터 소정 거리 내의 제 1 영역에 대한 청소 명령을 포함하고,
    상기 방법은,
    상기 청소 로봇의 청소 완료 메시지에 따라 상기 제 1 가전 기기로 상기 제 1 영역에 대한 청소 완료 메시지를 전송하는 단계를 더 포함하는, 방법.
  5. 제 1 항에 있어서, 상기 방법은,
    적어도 하나의 가전 기기의 유휴 버튼들에 관한 정보를 획득하는 단계; 및
    상기 적어도 하나의 가전 기기의 유휴 버튼들과 상기 청소 로봇의 적어도 하나의 동작을 매칭하는 복수의 추천 시나리오를 디스플레이 장치를 통해 사용자에게 제공하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서, 상기 방법은,
    상기 복수의 추천 시나리오 중에서 제 2 가전 기기의 유휴 버튼과 관련된 제 2 시나리오를 선택하는 입력을 상기 디스플레이 장치를 통해 수신하는 단계; 및
    상기 제 2 시나리오를 상기 시나리오 목록에 추가하는 단계를 포함하는, 방법.
  7. 제 1 항에 있어서, 상기 방법은,
    복수의 가전 기기의 목록, 유휴 버튼의 목록 및 상기 청소 로봇의 동작 목록을 포함하는 시나리오 설정 창을 디스플레이 장치에 제공하는 단계;
    상기 시나리오 설정 창을 통해, 제 3 가전 기기의 유휴 버튼과 관련된 제 3 시나리오를 설정하는 입력을 수신하는 단계; 및
    상기 제 3 시나리오를 상기 시나리오 목록에 추가하는 단계를 더 포함하는, 방법.
  8. 제 7 항에 있어서, 상기 시나리오 설정 창을 제공하는 단계는,
    상기 청소 로봇으로부터 상기 서버 장치에 연결되지 않은 제 4 가전 기기의 유휴 버튼 정보를 획득하는 단계; 및
    상기 시나리오 설정 창에 상기 제 4 가전 기기의 식별 정보 및 상기 제 4 가전 기기의 유휴 버튼 정보를 추가하는 단계를 더 포함하는, 방법.
  9. 제 1 항에 있어서, 상기 방법은,
    상기 청소 로봇으로부터 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리 요청을 수신하는 단계;
    상기 분산 처리 요청에 따라, 복수의 가전 기기의 유휴 리소스 정보를 확인하는 단계;
    상기 복수의 가전 기기의 유휴 리소스 정보에 기초하여, 상기 복수의 가전 기기 중에서 제 5 가전 기기를 선택하는 단계; 및
    상기 제 5 가전 기기에 상기 영상 정보 및 상기 센싱 정보 중 적어도 하나에 대한 분산 처리를 요청하는 단계를 더 포함하는, 방법.
  10. 제 9 항에 있어서, 상기 방법은,
    상기 제 5 가전 기기로부터 상기 영상 정보 및 상기 센싱 정보 중 적어도 하나에 대한 분산 처리 결과를 수신하는 단계; 및
    상기 영상 정보 및 상기 센싱 정보 중 적어도 하나에 대한 분산 처리 결과를 상기 청소 로봇으로 전송하는 단계를 더 포함하는, 방법.
  11. 적어도 하나의 가전 기기 및 청소 로봇과 통신하는 통신부;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    제 1 가전 기기를 통해 상기 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 동작;
    상기 청소 로봇의 동작을 정의한 시나리오 목록 중에서 상기 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 동작;
    상기 제 1 시나리오에 기초하여, 상기 청소 로봇의 목표 위치를 나타내는 이동 위치 정보가 포함된 제어 명령을 식별하는 동작; 및
    상기 통신부를 통해 상기 제어 명령을 상기 청소 로봇으로 전송하는 동작을 수행하는, 서버 장치.
  12. 제 11 항에 있어서, 상기 제 1 사용자 입력은,
    상기 제 1 가전 기기가 제공하는 본연의 기능과 매칭되지 않은 상기 제 1 가전 기기의 유휴 버튼과 관련된 입력을 포함하는, 서버 장치.
  13. 제 11 항에 있어서,
    상기 제어 명령은, 상기 제 1 가전 기기로부터 소정 거리 내의 제 1 영역에 대한 청소 명령을 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 청소 로봇의 청소 완료 메시지에 따라 상기 통신부를 통해 상기 제 1 가전 기기로 상기 제 1 영역에 대한 청소 완료 메시지를 전송하는 동작을 더 수행하는, 서버 장치.
  14. 제 11 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 가전 기기의 유휴 버튼들에 관한 정보를 획득하는 동작; 및
    상기 적어도 하나의 가전 기기의 유휴 버튼들과 상기 청소 로봇의 적어도 하나의 동작을 매칭하는 복수의 추천 시나리오를 디스플레이 장치를 통해 사용자에게 제공하는 동작을 더 수행하는, 서버 장치.
  15. 제 14 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 복수의 추천 시나리오 중에서 제 2 가전 기기의 유휴 버튼과 관련된 제 2 시나리오를 선택하는 입력을 상기 디스플레이 장치를 통해 수신하는 동작; 및
    상기 제 2 시나리오를 상기 시나리오 목록에 추가하는 동작을 더 수행하는, 서버 장치.
  16. 제 11 항에 있어서, 상기 적어도 하나의 프로세서는,
    복수의 가전 기기의 목록, 유휴 버튼의 목록 및 상기 청소 로봇의 동작 목록을 포함하는 시나리오 설정 창을 디스플레이 장치에 제공하는 동작;
    상기 시나리오 설정 창을 통해, 제 3 가전 기기의 유휴 버튼과 관련된 제 3 시나리오를 설정하는 입력을 수신하는 동작; 및
    상기 제 3 시나리오를 상기 시나리오 목록에 추가하는 동작을 더 수행하는, 서버 장치.
  17. 제 16 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 통신부를 통해 상기 청소 로봇으로부터 상기 서버 장치에 연결되지 않은 제 4 가전 기기의 유휴 버튼 정보를 획득하는 동작; 및
    상기 시나리오 설정 창에 상기 제 4 가전 기기의 식별 정보 및 상기 제 4 가전 기기의 유휴 버튼 정보를 추가하는 동작을 더 수행하는, 서버 장치.
  18. 제 11 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 통신부를 통해 상기 청소 로봇으로부터 영상 정보 및 센싱 정보 중 적어도 하나에 대한 분산 처리 요청을 수신하는 동작;
    상기 분산 처리 요청에 따라, 복수의 가전 기기의 유휴 리소스 정보를 확인하는 동작;
    상기 복수의 가전 기기의 유휴 리소스 정보에 기초하여, 상기 복수의 가전 기기 중에서 제 5 가전 기기를 선택하는 동작; 및
    상기 통신부를 통해 상기 제 5 가전 기기에 상기 영상 정보 및 상기 센싱 정보 중 적어도 하나에 대한 분산 처리를 요청하는 동작을 더 수행하는, 서버 장치.
  19. 제 18 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 통신부를 통해 상기 제 5 가전 기기로부터 상기 영상 정보 및 상기 센싱 정보 중 적어도 하나에 대한 분산 처리 결과를 수신하는 동작; 및
    상기 영상 정보 및 상기 센싱 정보 중 적어도 하나에 대한 분산 처리 결과를 상기 통신부를 통해 상기 청소 로봇으로 전송하는 동작을 더 수행하는, 서버 장치.
  20. 서버 장치가 제 1 가전 기기를 통해 청소 로봇과 관련된 제 1 사용자 입력을 수신하는 동작;
    상기 서버 장치가 상기 청소 로봇의 동작을 정의한 시나리오 목록 중에서 상기 제 1 사용자 입력에 대응하는 제 1 시나리오를 식별하는 동작;
    상기 서버 장치가 상기 제 1 시나리오에 기초하여, 상기 청소 로봇의 이동 위치 정보가 포함된 제어 명령을 식별하는 동작; 및
    상기 서버 장치가 상기 제어 명령을 상기 청소 로봇으로 전송하는 동작을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020210057478A 2021-05-03 2021-05-03 청소 로봇을 제어하는 방법 및 시스템 KR20220150131A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210057478A KR20220150131A (ko) 2021-05-03 2021-05-03 청소 로봇을 제어하는 방법 및 시스템
PCT/KR2022/003605 WO2022234944A1 (ko) 2021-05-03 2022-03-15 청소 로봇을 제어하는 방법 및 시스템
US17/703,215 US20220347862A1 (en) 2021-05-03 2022-03-24 Method and system for controlling cleaning robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210057478A KR20220150131A (ko) 2021-05-03 2021-05-03 청소 로봇을 제어하는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20220150131A true KR20220150131A (ko) 2022-11-10

Family

ID=83932211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210057478A KR20220150131A (ko) 2021-05-03 2021-05-03 청소 로봇을 제어하는 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR20220150131A (ko)
WO (1) WO2022234944A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017113279A1 (de) * 2017-06-16 2018-12-20 Vorwerk & Co. Interholding Gmbh System aus mindestens einem Haushaltsgerät, mindestens einem sich selbsttätig fortbewegenden Reinigungsgerät und einer Steuereinrichtung
KR102412847B1 (ko) * 2017-06-30 2022-06-24 엘지전자 주식회사 로봇 청소기 및 로봇 청소 시스템
KR102045385B1 (ko) * 2017-09-26 2019-11-15 엘지전자 주식회사 센서 장치
KR102014057B1 (ko) * 2018-02-21 2019-08-27 부산대학교 산학협력단 로봇 청소기 제어 시스템 및 방법
KR20200049189A (ko) * 2018-10-31 2020-05-08 엘지전자 주식회사 가전 기기

Also Published As

Publication number Publication date
WO2022234944A1 (ko) 2022-11-10

Similar Documents

Publication Publication Date Title
JP6767206B2 (ja) 応答システム
US10984790B2 (en) Method of providing service based on location of sound source and speech recognition device therefor
US9712967B2 (en) Systems and methods for object tracking using wireless beacons
US20220303341A1 (en) Method and device for controlling home device
CN112789561B (zh) 用于为电器定制便携式自然语言处理接口的系统和方法
US10408928B2 (en) User terminal device and method for recognizing location of user
CN106463047B (zh) 用于命名智能对象并与智能对象交互的方法、智能对象以及系统
US20180299899A1 (en) Localized collection of ambient data
JP7115813B2 (ja) 複数の電気機器に跨るポータブルの自然言語処理インターフェースを提供するためのシステム、及び方法
US20160036953A1 (en) Method and device for providing function of mobile terminal
JP2018176387A (ja) ロボット装置及びプログラム
KR102391683B1 (ko) 오디오 장치 및 그 제어 방법
CN109298904B (zh) 信息处理方法、装置、存储介质及计算设备
JP6732977B2 (ja) サーバー及びその動作方法(server and operating method thereof)
KR101966253B1 (ko) 무빙 디바이스를 이용하여 사용자의 위치 및 공간에 알맞은 정보를 제공하는 방법 및 장치
KR20190117837A (ko) 사용자 입력에 대한 답변 메시지를 제공하는 디바이스 및 방법
CN104904158A (zh) 用于控制外部设备的方法和系统
KR20180054365A (ko) 제품의 판매 정보를 제공하는 방법 및 장치
KR20200085143A (ko) 외부 장치를 등록하는 대화형 제어 시스템 및 방법
JP2018176386A (ja) 情報処理装置及びプログラム
KR102075507B1 (ko) 모바일 단말을 이용한 실내 조명 관리 방법, 장치 및 컴퓨터-판독가능 기록매체
KR102399594B1 (ko) 디스플레이 장치 및 그 동작 방법
CN110602197A (zh) 物联网控制装置和方法、电子设备
KR20220150131A (ko) 청소 로봇을 제어하는 방법 및 시스템
US20220347862A1 (en) Method and system for controlling cleaning robot

Legal Events

Date Code Title Description
A201 Request for examination