WO2024075949A1 - 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치 - Google Patents

공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치 Download PDF

Info

Publication number
WO2024075949A1
WO2024075949A1 PCT/KR2023/010655 KR2023010655W WO2024075949A1 WO 2024075949 A1 WO2024075949 A1 WO 2024075949A1 KR 2023010655 W KR2023010655 W KR 2023010655W WO 2024075949 A1 WO2024075949 A1 WO 2024075949A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
task
information
user
spatial
Prior art date
Application number
PCT/KR2023/010655
Other languages
English (en)
French (fr)
Inventor
김동찬
변동남
신재욱
황진영
곽세진
이근호
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220148977A external-priority patent/KR20240049072A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US18/364,901 priority Critical patent/US20240119604A1/en
Publication of WO2024075949A1 publication Critical patent/WO2024075949A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정하고, 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 전자 장치의 사용자에게 제공하고, 상기 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여, 태스크를 수행하는데 이용되는 이동 경로를 결정하고, 결정된 이동 경로에 따라 전자 장치를 구동하는, 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치가 개시된다.

Description

공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치
공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트 가전, 스마트홈, 스마트 빌딩, 스마트 시티 등의 분야에 응용될 수 있다.
IoT 환경에서 서로 연결된 전자 장치들 각각은 데이터를 수집, 생성, 분석, 또는 가공하고, 상호 간에 데이터를 서로 공유하여, 각 장치의 태스크에 활용할 수 있다. 최근에는 컴퓨터 비전 분야의 비약적인 발전에 따라, 비전 태스크를 수행하는 신경망 모델을 활용하는 다양한 종류의 전자 장치가 개발되고 있다. 이에 따라, IoT 환경에서 다양한 종류의 전자 장치 간의 연결에 대한 관심이 고조되고 있다.
이상의 기재는 본 개시의 이해를 돕기 위한 배경 기술로서만 제공된 것이다. 위의 내용 중 어느 것이 본 개시에 대한 선행 기술로 적용될 수 있는지 여부에 대한 판단이나 주장을 한 것은 아니다.
본 개시의 일 실시예는 적어도 위에서 언급된 문제 및/또는 단점을 해결하고, 적어도 이하에서 설명되는 장점을 제공하는 것이다. 따라서, 본 개시의 일 실시예는 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치를 제공하기 위한 것이다.
본 개시의 일 실시예는 다음의 설명에서 부분적으로 설명될 것이고, 부분적으로는, 설명으로부터 명백해지거나 기재된 실시예의 실시에 의해 알 수 있다.
본 개시의 일 실시예에 따르면, 공간 정보를 이용하여 전자 장치를 제어하는 방법이 제공된다. 공간 정보를 이용하여 전자 장치를 제어하는 방법은 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정하는 단계를 포함한다. 또한, 공간 정보를 이용하여 전자 장치를 제어하는 방법은 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 전자 장치의 사용자에게 제공하는 단계를 포함한다. 또한, 공간 정보를 이용하여 전자 장치를 제어하는 방법은 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여, 상기 태스크를 수행하는데 이용되는 이동 경로를 결정하는 단계를 포함한다. 또한, 공간 정보를 이용하여 전자 장치를 제어하는 방법은 결정된 이동 경로에 따라 전자 장치를 구동하는 단계를 포함한다.
본 개시의 일 실시예에 따르면, 전술한 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
본 개시의 일 실시예에 따르면, 공간 정보를 이용하는 전자 장치가 제공된다. 공간 정보를 이용하는 전자 장치는 하나 이상의 인스트럭션을 저장하는 메모리, 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서, 및 센싱부를 포함한다. 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 상기 센싱부를 통해 획득된 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정한다. 또한, 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 전자 장치의 사용자에게 제공한다. 또한, 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여, 태스크를 수행하는데 이용되는 이동 경로를 결정한다. 또한, 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 결정된 이동 경로를 따라 전자 장치를 구동한다.
본 개시의 측면, 이점, 및 핵심 특징은 첨부된 도면과 함께 취해진 다음의 상세한 설명으로부터 당업자에 의해 자명해질 것이다.
본 개시의 일 실시예의 상기 및 다른 측면, 특징, 및 이점은 첨부된 도면과 함께, 다음의 설명으로부터 더욱 분명해질 것이다.
도 1은 본 개시의 일 실시예에 따른 전자 장치와 외부 장치들이 서로 연결되는 댁내 IoT 환경을 설명하기 위한 도면이다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른 공간 맵을 설명하기 위한 흐름도이다.
도 3a, 도 3b, 도 3c, 도 3d는 본 개시의 일 실시예에 따른 공간 맵을 구성하는 레이어를 활용하는 방식을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 공간 맵을 획득하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 공간 정보를 이용하여 전자 장치를 제어하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정하는 단계를 설명하기 위한 상세 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 태스크에 방해가 되는 객체로 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 제공하는 단계를 설명하기 위한 상세 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 제1 이동 리퀘스트 프로세스를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 객체 이동 가이드 정보를 사용자에게 제공하는 예를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 객체 이동 가이드 정보를 사용자에게 제공하는 다른 예를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 제2 이동 리퀘스트 프로세스를 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 선정된 객체를 이동시킬 후보 위치들을 선정하는 과정을 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시예에 따른 영상 평가 결과에 따른 객체 이동 가이드 정보를 사용자에게 제공하는 예를 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 태스크를 수행하는데 이용되는 이동 경로를 결정하는 단계를 설명하기 위한 상세 흐름도이다.
도 15 및 도 16은 본 개시의 일 실시예에 따른 공간 정보를 이용하는 전자 장치의 구성을 나타낸 블록도이다.
도면 전체에 걸쳐, 동일한 구성 요소를 나타내기 위해 동일한 참조 번호가 사용된다.
첨부된 도면을 참조한 다음의 설명은 청구범위 및 그 균등물에 의해 정의되는 본 개시의 일 실시예의 포괄적인 이해를 돕기 위해 제공된다. 이해를 돕기 위해 다양한 특정 세부 사항이 포함될 수 있으나, 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 지식을 가진 자는 본 개시의 범위 및 사상을 벗어남이 없이, 본 명세서에 기술된 일 실시예의 다양한 변경 및 수정이 이루어질 수 있음을 알 수 있다. 또한, 명료함과 간결함을 위해 잘 알려진 기능 및 구성에 대한 설명은 생략될 수 있다.
이하의 설명 및 청구 범위에서 사용된 용어 및 단어는 서지적 의미에 한정되지 않으며, 본 개시의 명확하고 일관된 이해를 가능하게 하기 위해 단지 사용될 수 있다. 따라서, 본 개시의 일 실시예에 대한 다음의 설명은 단지 예시의 목적으로 제공되고, 첨부된 청구범위 및 그 균등물에 의해 정의되는 본 개시를 한정하기 위한 것이 아님은 물론이다.
단수 형태는 문맥상 명확히 달리 지시하지 않는 이상, 복수의 지시 대상을 포함하는 것으로 이해되어야 한다. 따라서, 예를 들어, "컴포넌트 표면"이란 언급은 그러한 컴포넌트 표면 하나 이상에 대한 언급을 포함한다
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. 본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 "a", "b", "c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른 전자 장치(100)와 외부 장치들이 서로 연결되는 댁내 IoT 환경을 설명하기 위한 도면이다.
본 개시에서 전자 장치(100)는 로봇 청소기인 것을 전제로 설명하나, 사용자의 편의를 위해 구동되는 다양한 종류의 어시스턴트 로봇이나 모바일 장치, AR(Augmented Reality) 기기, VR(Virtual Reality) 기기, 주변 환경을 감지하고 특정 위치 또는 공간에서 소정의 서비스를 제공하는 기기일 수 있다. 전자 장치(100)는 공간을 스캔하고 공간 내의 객체를 검출하기 위한 다양한 종류의 센서와 신경망(Neural Network) 모델을 탑재할 수 있다. 예를 들어, 전자 장치(100)는 카메라와 같은 이미지 센서, LDS(Laser Distance Sensor)와 같은 라이다(LiDAR, Light Detection And Ranging) 센서, ToF(Time of Flight) 센서 중 적어도 하나를 구비할 수 있다. 전자 장치(100)는 DNN(Deep Neural Network), CNN(Convolution Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델을 적어도 하나 탑재할 수 있고, 이들을 조합적으로 이용할 수도 있다.
전자 장치(100)와 서로 연결되는 외부 장치들은 클라우드 서버(200)와 다양한 종류의 IoT 기기들(300-1, 300-2, 300-3)일 수 있다. 도 1을 참조하면, IoT 기기들은 버틀러 로봇(300-1), 애완로봇(300-2), 스마트 홈카메라(300-3) 등이 될 수 있으나, 이에 한정되는 것은 아니며, 전자 장치(100)와 동종의 기기일 수 있다. 버틀러 로봇(300-1), 애완로봇(300-2), 스마트 홈카메라(300-3) 각각은 구비된 다양한 종류의 센서를 이용하여 공간을 스캔하고 공간 내의 객체를 검출할 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치(100), 버틀러 로봇(300-1), 애완로봇(300-2), 및 스마트 홈카메라(300-3)는 각각에서 수집된 공간 스캔 정보 또는 객체 정보를 이용하여 공간 맵을 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보로써 생성하고 저장할 수 있다. 전자 장치(100), 버틀러 로봇(300-1), 애완로봇(300-2), 및 스마트 홈카메라(300-3)는 공간 스캔 정보나 객체 정보, 또는 공간 맵을 상호 간에 송신 또는 수신하여 저장함으로써 서로 공유할 수 있다.
동일한 공간 내에 있는 장치들이라하더라도, 각 장치의 위치나 각 장치의 성능 또는 센싱 레인지, 각 장치가 고정형인지 이동형인지, 각 장치가 동작하는 행태 등에 따라, 서로 다른 시점에서 서로 다른 화각으로 공간을 스캔하고 객체를 검출하기 때문에, 어느 하나의 장치에서 획득된 영상 또는 음성을 비롯한 센싱 정보가 다른 장치에 탑재된 인공지능 모델을 학습하는데 유용하게 활용될 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치(100), 버틀러 로봇(300-1), 애완로봇(300-2), 및 스마트 홈카메라(300-3) 중 어느 하나의 기기가 마스터 디바이스 또는 서버 디바이스가 될 수 있고, 나머지 기기들은 슬레이브 디바이스 또는 클라이언트 디바이스가 될 수 있다. 마스터 디바이스 또는 서버 디바이스에 해당하는 기기는 다른 IoT 기기들로부터 공간 스캔 정보나 객체 정보, 또는 공간 맵을 수신하여, 저장하고 관리할 수 있다. 마스터 디바이스 또는 서버 디바이스에 해당하는 기기는 수신된 정보들을 위치 별로 분류하여 저장하고 관리할 수 있다. 예를 들어, 마스터 디바이스 또는 서버 디바이스에 해당하는 기기는 동일한 공간인지, 동일한 구역인지, 또는 동일한 지역인지에 따라, 공간 스캔 정보나 객체 정보, 또는 공간 맵을 분류하여 취합하고 관리할 수 있다. 마스터 디바이스 또는 서버 디바이스에 해당하는 기기는 저장하고 있던 제1 정보를 동일한 위치에 대응되는 제2 정보로 업데이트함으로써, 해당 위치와 관련된 정보의 최신성 및 적확성을 유지할 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치(100), 버틀러 로봇(300-1), 애완로봇(300-2), 및 스마트 홈카메라(300-3)는 공간 스캔 정보나 객체 정보, 또는 공간 맵을 클라우드 서버(200)로 전송하여, 클라우드 서버(200)를 통해 공간 스캔 정보나 객체 정보, 또는 공간 맵을 저장하고 관리할 수 있다. 예를 들어, IoT 기기들의 전원이 꺼져 있거나 IoT 기기에서 특정 기능을 실행 중이어서 전자 장치(100)에 공간 스캔 정보나 객체 정보, 또는 공간 맵의 송신이 불가능한 경우, 전자 장치(100)는 클라우드 서버(200)에 공간 스캔 정보나 객체 정보, 또는 공간 맵을 요청하여 수신할 수 있다.
도 1을 참조하면, 클라우드 서버(200)는 전자 장치(100), 버틀러 로봇(300-1), 애완로봇(300-2), 스마트 홈카메라(300-3) 각각으로부터 수신된 공간 스캔 정보나 객체 정보, 또는 공간 맵을 관리하고, 댁내 공간을 모니터링할 수 있다. 클라우드 서버(200)는 복수의 IoT 기기들로부터 수집된 공간 스캔 정보나 객체 정보, 또는 공간 맵을 등록된 사용자의 계정이나 등록된 위치 별로 저장 및 관리할 수 있다. 예를 들어, 클라우드 서버(200)는 동일한 공간인지 또는 동일한 구역인지에 따라, 공간 스캔 정보나 객체 정보, 또는 공간 맵을 분류하여 취합하고 관리할 수 있다. 클라우드 서버(200)는 댁내에 위치한 전자 장치(100), 버틀러 로봇(300-1), 애완로봇(300-2), 스마트 홈카메라(300-3)의 요청에 응답하여, 공간 맵과 같은 댁내 공간에 대한 정보를 전송할 수 있다.
본 개시의 일 실시예에 따르면, 클라우드 서버(200) 대신, 댁내 위치한 AI 허브(예를 들어, AI 스피커)가 댁내 IoT 기기로부터 공간 스캔 정보나 객체 정보, 또는 공간 맵을 수신하여, 저장하고 관리할 수 있다. AI 허브는 복수의 IoT 기기들로부터 수집된 공간 스캔 정보나 객체 정보, 또는 공간 맵을 댁내의 공간 또는 구역 별로 저장 및 관리할 수 있다.
본 개시의 일 실시예에 따르면, 댁내 위치한 AI 허브는 클라우드 서버(200)와 함께 공간 스캔 정보나 객체 정보, 또는 공간 맵을 저장하고 관리할 수 있다. 예를 들어, AI 허브는 공간 맵을 생성 또는 관리하기 위해, 공간 스캔 정보 또는 객체 정보를 가공 내지 처리하거나, 개인 정보가 보호되도록 데이터를 변환하여 클라우드 서버(200)로 전송할 수 있다. 클라우드 서버(200)는 AI 허브로부터 수신된 정보를 가공 내지 처리하여, 공간 스캔 정보나 객체 정보, 또는 공간 맵을 저장하고 관리할 수 있으며, AI 허브로 전송할 수 있다.
본 개시의 일 실시예에 따르면, 로봇 청소기와 같은 전자 장치(100)는 청소와 같은 태스크를 수행하기 위해 공간 맵을 이용할 수 있다. 이를 위해, 전자 장치(100)는 다양한 종류의 센서를 이용하여 공간을 스캔하여 최신의 공간 스캔 정보로 공간 맵을 업데이트할 수 있다. 전자 장치(100)는 직접 센싱한 정보뿐만 아니라, 댁내 IoT 환경에서 서로 연결되는 클라우드 서버(200), 버틀러 로봇(300-1), 애완로봇(300-2), 스마트 홈카메라(300-3)로부터 수신된 공간 맵의 일부 또는 전체를 이용하여 전자 장치(100)에 저장된 공간 맵을 업데이트할 수 있다.
예를 들어, 로봇 청소기는 댁내의 공간을 청소하기 위해, 충전 스테이션에서 충전이 완료되면, 로봇 청소기에 저장된 공간 맵을 이용하여 청소를 수행할 수 있다. 로봇 청소기는 동일한 공간에 대한 청소를 수행하기 위해, 최근에 이용한 공간 맵을 그대로 이용할 수도 있다. 하지만, 이전 청소 시의 공간의 상태와 현재의 공간의 상태가 서로 다르므로, 효율적인 청소를 수행하기 위해, 공간 내 위치한 객체들의 최신 정보를 공간 맵에 반영하는 것이 바람직하다. 이를 위해, 로봇 청소기는 충전 스테이션에서 출발하여, 주요 루트를 사전 주행하여, 공간 내의 객체 정보를 직접 수집할 수 있다. 그러나 사전 주행을 하게 되면, 사전 주행을 위한 시간이 더 소요되고, 사전 주행에 따라 배터리가 더 소모될 수 있다. 이때, 로봇 청소기는 다른 로봇 청소기나 동일한 공간에 위치한 적어도 하나의 외부 장치로부터 최신의 공간 맵을 수신하여, 로봇 청소기에 저장된 공간 맵을 업데이트할 수 있다.
로봇 청소기는 외부 장치로부터 수신된 공간 맵의 일부 또는 전부를 활용할 수 있다. 로봇 청소기는 동종의 로봇 청소기로부터 수신된 공간 맵을 그대로 활용하거나 잦은 위치 변화가 예상되는 객체들에 관한 정보를 공간 맵의 업데이트에 활용할 수 있다. 로봇 청소기는 이종의 기기로부터 수신된 공간 맵이라 하더라도, 동일한 공간에 대한 공간 맵의 일부 또는 전부를 공간 맵의 업데이트에 활용할 수 있다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른 공간 맵을 설명하기 위한 흐름도이다.
도 2a를 참조하면, 로봇 청소기인 전자 장치(100)에 저장된 공간 맵과 공간 맵을 구성하는 복수의 레이어들 간의 계층적 구조를 나타내고 있다.
도 2a를 참조하면, 공간 맵은 베이스 레이어, 시맨틱 맵 레이어, 실시간 레이어로 구성될 수 있으나, 이에 한정되는 것은 아니며, 태스크의 특성에 따라 레이어가 가감될 수 있다.
베이스 레이어는 벽, 기둥, 통로 등 공간 전체의 기본 구조에 관한 정보를 제공한다. 3차원 포인트 클라우드 데이터를 처리하여, 좌표계를 정합하고, 위치를 저장함으로써, 베이스 레이어는 공간의 3차원 정보, 객체의 위치 정보, 이동 궤적 정보 등을 제공할 수 있다. 베이스 레이어는 베이스 맵과 지오메트릭 맵의 역할을 수행한다.
시멘틱 맵 레이어는 베이스 레이어 위에 시멘틱 정보를 제공하는 레이어이다. 전자 장치(100)의 사용자는 베이스 레이어의 공간 전체의 기본 구조에 'Room 1', 'Room 2', '접근 제한 구역' 등과 같은 시멘틱 정보를 부여하여, 전자 장치(100)의 태스크 수행에 활용할 수 있다. 예를 들어, 전자 장치(100)가 로봇 청소기인 경우, 사용자는 'Room 2'만 청소하게 하거나, '접근 제한 구역'은 로봇 청소기가 청소하지 않도록, 시멘틱 맵 레이어에 시멘틱 정보를 설정할 수 있다.
실시간 레이어는 공간 내의 적어도 하나의 객체 정보를 제공하는 레이어이다. 객체는 정적 객체와 동적 객체 모두 포함될 수 있다. 본 개시에서 실시간 레이어는 객체의 속성 정보에 기초한 복수의 레이어들을 포함할 수 있으며, 레이어들 간의 계층적 구조를 가질 수 있다. 도 2a를 참조하면, 실시간 레이어는 제1 레이어, 제2 레이어, 제3 레이어를 포함할 수 있으나, 이에 한정되는 것은 아니며, 객체의 속성 정보의 분류 기준에 따라 레이어의 개수가 가감될 수 있다. 도 2a를 보면, 제1 레이어에는 시스템 옷장, 붙박이 장이 포함되고, 제2 레이어에는 테이블과 소파가 포함되고, 제3 레이어에는 의자가 포함됨을 알 수 있다.
도 2b를 참조하면, 객체의 속성 정보에 기초한 복수의 레이어들을 포함하는 실시간 레이어의 다양한 예를 나타내고 있다.
객체의 속성 정보는 객체의 종류, 형상, 사이즈, 높이 등과 같은 객관적인 기준이나 복수의 기준을 조합하여 분류될 수 있는 정보일 수 있다. 또한, 객체의 속성 정보는 사용자 및 환경에 따라 달라질 수 있으므로, 객체 별로 레이블링하여 속성 정보를 입력해 둘 수있다.
본 개시의 일 실시예에 따르면, 객체의 속성 정보가 객체의 이동성 레벨(ML, Mobability Level)인 경우, 제1 레이어에는 ML 1에 해당하는 객체가 포함되고, 제2 레이어에는 ML 2와 ML 3에 해당하는 객체가 포함되며, 제3 레이어에는 ML 4에 해당하는 객체가 포함될 수 있다. 객체의 이동성 레벨은 객체의 객관적인 특징을 이동성을 평가하는 소정의 분류 기준에 적용함으로써 정해질 수 있다. 예를 들어, ML 1은 이동이 불가능한 객체, ML 2는 이동이 가능하지만, 주로 고정된 상태로 있는 객체, ML 3는 이동이 가능하지만, 가끔 이동하는 객체, ML 4는 이동 가능하며, 자주 이동하는 객체에 각각 대응된다.
본 개시의 일 실시예에 따르면, 객체의 속성 정보가 객체의 위치 이동 주기(Position Movement Cycle)인 경우, 제1 레이어에는 1개월 내로 위치 이동이 없었던 객체가 포함되고, 제2 레이어에는 1개월 내로 위치 이동이 있었던 객체가 포함되며, 제3 레이어에는 1주일 내로 위치 이동이 있었던 객체가 포함될 수 있다. 객체의 객관적 특징에 기초하여 분류되는 이동성 레벨과 달리, 위치 이동 주기는 객체를 사용하는 사용자나 객체가 위치하는 환경에 따라 동일한 객체라 하더라도, 위치 이동 주기는 다를 수 있다. 예를 들어, 'A'라는 객체는 제1 사용자가 자주 사용되는 객체인 반면, 제2 사용자는 거의 사용되지 않는 객체일 수 있다. 'B'라는 객체는 제1 장소에서는 자주 사용되는 객체인 반면, 제2 장소에서는 거의 사용되지 않는 객체일 수 있다.
본 개시의 일 실시예에 따르면, 객체의 속성 정보가 객체가 위치하는 높이(Height)인 경우, 제1 레이어에는 1m 이하에 해당하는 객체가 포함되고, 제2 레이어에는 1m 이상 2m 이하에 해당하는 객체가 포함되며, 제3 레이어에는 2m를 초과하는 객체가 포함될 수 있다.
본 개시의 일 실시예에 따르면, 실시간 레이어에 포함되는 복수의 레이어들의 분류 기준은 사용자에 의해 정의될 수 있다. 예를 들어, 사용자는 분류 기준에 대해 복수의 종류의 객체의 속성 정보를 조합하여 설정해둠으로써, 태스크의 특성을 반영한 공간 맵을 생성할 수 있다. 예를 들어, 로봇 청소기의 경우, 일반적으로 50cm 높이보다 아래에서 이동하기 때문에 1m 보다 높은 곳에 위치하는 객체들, 예를 들어, 전등이나 벽에 걸린 액자 등은 고려할 필요가 없다. 따라서, 사용자는 각 레이어를 구분하는 분류 기준을 직접 설정하여, 제1 레이어는 ML 1이고 1m 이하에 위치하는 객체가 포함되고, 제2 레이어는 ML 2 또는 ML 3이고 1m 이하에 위치하는 객체가 포함되며, 제3 레이어는 ML 4이고 1m 이하에 위치하는 객체가 포함되도록 할 수 있다.
도 3a, 도 3b, 도 3c, 도 3d는 본 개시의 일 실시예에 따른 공간 맵을 구성하는 레이어를 활용하는 방식을 설명하기 위한 도면이다.
전자 장치(100)와 IoT 기기들의 종류나 태스크의 특성에 따라, 각 장치에서 이용되는 공간 맵이 서로 다를 수 있다. 전자 장치(100)는 전자 장치(100)에 저장된 기존의 공간 맵을 그대로 활용할 수도 있지만, 태스크를 수행할 공간에 변화가 생긴 경우, 해당 변화를 반영하기 위해 공간 맵을 업데이트할 수 있다. 전자 장치(100)는 공간에 생긴 변화를 이미 반영하고 있는 공간 맵을 적어도 하나의 외부 장치로부터 수신하여, 기존의 공간 맵을 업데이트 할 수 있다. 전자 장치(100)는 기존의 공간 맵을 기초로, 새로운 공간 맵을 생성할 수 있다.
도 3a를 보면, 전자 장치(100)는 저장되어 있던 기존의 공간 맵(이하, 제1 공간 맵)을 불러올 수 있다. 제1 공간 맵은 베이스 레이어, 제1 레이어, 제2 레이어, 및 제3 레이어로 구성되어 있다. 이하, 설명의 편의상, 제1 레이어 내지 제3 레이어가 도 2b의 임의의 분류 기준에 따라 객체를 포함하는 것을 전제로 설명한다. 제1 공간 맵이 불과 몇분 전에 생성되었거나 제1 공간 맵이 이용된 후로 공간 내에 변화가 없는 경우, 전자 장치(100)는 제1 공간 맵을 그대로 활용하여, 새로운 공간 맵(이하, 제2 공간 맵)을 획득하고, 새로운 태스크를 수행하는데 제2 공간 맵을 이용할 수 있다.
도 3b를 보면, 전자 장치(100)는 저장되어 있던 제1 공간 맵을 불러올 수 있다. 전자 장치(100)가 태스크를 수행함에 있어서, 자주 이동하는 ML 4의 객체 정보는 필요하지 않거나, 1주일 이상 이동이 없었던 객체 정보만 이용하는 경우, 제1 공간 맵을 구성하는 레이어들 중에 베이스 레이어, 제1 레이어, 및 제2 레이어를 선별하거나 제1 공간 맵에서 제3 레이어를 제거하여, 제2 공간 맵을 획득할 수 있다.
도 3c를 보면, 전자 장치(100)는 저장되어 있던 제1 공간 맵을 불러올 수 있다. 전자 장치(100)가 새로운 태스크를 수행함에 있어서, ML 1의 객체 정보만 필요하거나, 1개월 이상 이동이 없었던 객체 정보만 이용하는 경우, 제1 공간 맵을 구성하는 레이어들 중에 베이스 레이어 및 제1 레이어를 선별하거나 제1 공간 맵에서 제2 레이어와 제3 레이어를 제거하여, 제2 공간 맵을 획득할 수 있다.
도 3d를 보면, 전자 장치(100)는 저장되어 있던 제1 공간 맵을 불러올 수 있다. 전자 장치(100)가 새로운 태스크를 수행함에 있어서, 이동이 가능한 ML 2, ML 3, 및 ML 4에 해당하는 객체들의 최신 정보를 반영할 필요가 경우, 제1 공간 맵을 구성하는 레이어들 중에 베이스 레이어 및 제1 레이어를 선별하거나 제1 공간 맵에서 제2 레이어와 제3 레이어를 제거하여, 제2 공간 맵을 획득할 수 있다. 이후, 전자 장치(100)는 외부 장치로부터 수신된 공간 맵에서 제2 레이어와 제3 레이어를 추출하여, 제2 공간 맵에 반영하여, 제3 공간 맵을 획득할 수 있다. 또는, 전자 장치(100)에 구비된 적어도 하나의 센서를 이용하여, ML 2, ML 3, 및 ML 4에 해당하는 객체들을 검출하여, 제2 공간 맵에 반영하여, 제3 공간 맵을 획득할 수 있다.
도 4는 본 개시의 일 실시예에 따른 공간 맵을 획득하는 방법을 설명하기 위한 흐름도이다.
S410 단계에서, 전자 장치(100)는 제1 공간 맵을 획득할 수 있다. 제1 공간 맵은 객체의 속성 정보에 기초한 복수의 레이어들로 구성될 수 있다. 제1 공간 맵은 전자 장치(100)에서 생성되었거나, 전자 장치(100)의 외부 장치로부터 수신된 것일 수 있다.
S420 단계에서, 전자 장치(100)는 제1 공간 맵에 대한 업데이트가 필요한지 판단할 수 있다. 예를 들어, 전자 장치(100)는 태스크의 특성에 따라 제1 공간 맵의 업데이트가 필요한 지 판단할 수 있다. 태스크는 전자 장치(100) 고유의 용도 또는 전자 장치(100)에서 실행할 수 있는 기능을 통해 전자 장치(100)가 수행하도록 설정된 작업을 의미한다. 태스크의 수행과 관련된 설정 정보는 사용자에 의해 전자 장치(100)에 직접 입력되거나 모바일 장치나 전용 리모컨 등과 같은 단말을 통해 전자 장치(100)로 전송될 수 있다. 예를 들어, 전자 장치(100)가 로봇 청소기인 경우, 로봇 청소기의 태스크는 댁내 청소 또는 사용자가 설정한 영역에 대한 청소이거나 예약 기능에 따른 예약 청소, 저소음 모드 청소 등일 수 있다. 전자 장치(100)는 태스크의 수행에 이용되는 정보가 부족한 경우, 제1 공간 맵에 대한 업데이트가 필요한 것으로 판단할 수 있다. 전자 장치(100)는 태스크가 수행될 공간 내의 객체 정보에 대한 최신 정보가 필요한 경우, 업데이트가 필요한 것으로 판단할 수 있다. 또는, 전자 장치(100)는 제1 공간 맵을 획득한 시점으로부터의 경과 시간이나 설정된 업데이트 주기에 따라 제1 공간 맵에 대한 업데이트가 필요한지 판단할 수 있다. 제1 공간 맵에 대한 업데이트가 필요 없는 경우, 전자 장치(100)는 제1 공간 맵을 태스크를 수행하는데 이용되는 제2 공간 맵으로써 활용할 수 있다.
S430 단계에서, 제1 공간 맵에 대한 업데이트가 필요한 경우, 전자 장치(100)는 객체 정보를 획득할 수 있다. 전자 장치(100)는 적어도 하나의 센서를 이용하여, 공간 스캔 정보 또는 객체 정보를 직접 수집할 수 있다. 전자 장치(100)는 외부 장치로부터 공간 맵의 일부 또는 전부를 수신하거나, 공간 스캔 정보 또는 객체 정보를 수신할 수 있다.
S440 단계에서, 전자 장치(100)는 획득된 공간 스캔 정보 또는 객체 정보를 이용하여, 제1 공간 맵에 공간 스캔 정보 또는 객체 정보를 업데이트할 수 있다. 예를 들어, 전자 장치(100)는 이동이 잦은 객체에 대해서는 최신 위치 정보가 반영되도록 해당 객체 정보 또는 해당 객체가 위치하던 곳의 공간 스캔 정보를 새로 획득하여, 제1 공간 맵에 업데이트할 수 있다.
S450 단계에서, 전자 장치(100)는 제2 공간 맵을 획득할 수 있다. 전자 장치(100)는 제1 공간 맵을 그대로 활용하거나, 일부 객체 정보나 일부 레이어가 수정된 형태의 제1 공간 맵을 활용하거나, 제1 공간 맵을 업데이트 함으로써, 제2 공간 맵을 획득할 수 있다.
한편, 태스크를 수행하기 위해 이용되는 제2 공간 맵은 전자 장치(100)의 기능이나 태스크의 특성에 따라, 적절한 형태의 맵으로 변형되거나 생성되어 이용될 수 있다. 예를 들어, 전자 장치(100)가 로봇 청소기인 경우, 공간 맵에 기초한 네비게이션 맵을 생성하여, 네비게이션 맵이 제공하는 이동 경로를 따라 청소를 수행할할 수 있다.
도 5는 본 개시의 일 실시예에 따른 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법을 설명하기 위한 흐름도이다.
S510 단계에서, 전자 장치(100)는 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체 를 선정할 수 있다. 공간 정보는 적어도 하나의 객체를 포함하는 공간에 대한 공간 맵일 수 있다. 전자 장치(100)가 수행하도록 설정된 태스크는 전자 장치(100)의 용도나 전자 장치(100)에서 실행할 수 있는 기능을 통해 처리하고자 하는 작업을 사용자가 전자 장치(100)에 입력하거나 설정해 둠으로써 결정될 수 있다. 전자 장치(100)의 사용자는 전자 장치(100)에 태스크에 관련된 설정을 직접 입력하거나, 사용자 단말을 통해 전자 장치(100)에 태스크에 관련된 제어 명령을 전송할 수 있다. 예를 들어, 전자 장치(100)가 로봇 청소기인 경우, 로봇 청소기가 수행하도록 설정된 태스크는 태스크가 수행될 위치로써 사용자가 지정한 공간이나 태스크를 수행할 시각, 또는 작동 모드에 따른 청소일 수 있다. 예를 들어, 전자 장치(100)의 사용자는 특정 구역에 대한 청소나 예약 기능에 따른 예약 청소, 또는 작동 모드에 따른 저소음 모드 청소를 로봇 청소기가 수행하도록 설정할 수 있다. 이하, 도 6을 참조하여 설명한다.
도 6은 본 개시의 일 실시예에 따른 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정하는 단계를 설명하기 위한 상세 흐름도이다.
S610 단계에서, 전자 장치(100)는 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보로써 해당 공간의 공간 맵을 획득할 수 있다. 전자 장치(100)는 전자 장치(100)에 저장된 공간 맵과 전자 장치(100)와 통신이 가능한 외부 장치로부터 수신된 공간 맵 중 적어도 하나에 기초하여, 공간 맵을 획득할 수 있다. 예를 들어, 전자 장치(100)는 앞서 설명한 도 4의 공간 맵을 획득하는 방법에 따라 공간 맵을 획득할 수 있다.
S620 단계에서, 전자 장치(100)는 공간 맵을 이용하여 전자 장치(100)가 수행하도록 설정된 태스크의 처리에 대한 예측을 분석할 수 있다. 전자 장치(100)는 전자 장치(100)가 수행하도록 설정된 태스크를 확인하고, 태스크가 수행될 위치에 대응되는 공간 맵을 획득할 수 있다. 전자 장치(100)는 공간 맵에서 태스크를 처리하는 다양한 케이스들을 예측 및 분석할 수 있다. 전자 장치(100)는 태스크를 수행하기 위한 전자 장치(100)의 가상 이동 경로에서 적어도 하나의 분기점 및 적어도 하나의 객체의 위치에 기초하여 서로 구분되는 복수의 케이스들에 대해 태스크의 처리에 대한 예측 결과들을 비교하여 분석할 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치(100)는 각 분기점에서의 방향 전환이나 각 개체의 위치 이동 여부를 고려하는 태스크 처리 모델을 생성할 수 있다. 예를 들어, 태스크 처리 모델은 전자 장치(100)의 위치를 입력으로 하고, 태스크 처리 모델의 각 레이어는 가상 이동 경로 상의 분기점 또는 객체의 위치에 대응될 수 있으며, 각 레이어에 포함된 각 노드는 해당 위치에서의 방향 전환이나 객체의 이동 여부에 따른 가상 이동 경로 상의 전자 장치(100)의 위치일 수 있다. 태스크 처리 모델은 태스크 처리 모델을 구성하는 각 레이어에 포함된 각 노드에서 다음 노드로 이동 시에, 가상 이동 경로 상의 위치가 중복되지 않는 방향일수록 높은 가중치가 적용되도록 설계될 수 있다. 태스크 처리 모델은 태스크 처리 모델을 구성하는 모든 레이어 각각에 포함된 적어도 하나의 노드를 거쳐, 마지막 레이어에 도달하면, 태스크의 처리가 완료된 것으로 판단할 수 있다. 태스크 처리 모델의 각 노드에 대응되는 위치에 기초하여, 태스크의 처리에 이용된 가상 이동 경로가 추적될 수 있다. 추적된 가상 이동 경로 별로, 태스크를 수행하는데 소요되는 시간, 태스크를 수행하는데 필요한 배터리 량, 태스크의 완료도 등을 분석할 수 있다.
본 개시의 일 실시예에 따르면, 전자 장치(100)는 각 분기점에서의 방향 전환이나 각 개체의 위치 이동 여부 등을 고려하여, 태스크를 처리하기 위한 다양한 시나리오를 생성할 수 있다. 전자 장치(100)는 각 시나리오 별로, 획득된 공간 맵에서의 태스크에 대한 시뮬레이션을 실행하여 분석할 수 있다. 전자 장치(100)는 각 시나리오 별로, 태스크를 수행하는데 소요되는 시간, 태스크를 수행하는데 필요한 배터리 량, 태스크의 완료도 등을 분석할 수 있다.
예를 들어, 전자 장치(100)가 로봇 청소기인 경우, 로봇 청소기는 태스크 처리 모델을 이용하여 추적된 가상 이동 경로 별로 또는 시뮬레이션을 실행한 각 시나리오 별로, 청소에 소요된 시간, 청소를 수행하는데 필요한 배터리 량, 청소의 완료도 등을 비교할 수 있다.
S630 단계에서, 전자 장치(100)는 태스크의 처리에 대한 예측을 분석한 분석 결과에 기초하여, 태스크에 방해가 되는 적어도 하나의 객체를 결정할 수 있다. 전자 장치(100)는 태스크의 처리에 소요되는 시간, 소요되는 배터리 량, 태스크의 완료도 중 적어도 하나에 기준에 따라, 베스트 케이스를 선정할 수 있다. 예를 들어, 태스크의 처리에 소요되는 시간이나 배터리 량이 가장 적은 경우나 태스크의 완료도가 가장 높은 경우, 또는 각 기준에 대해 가중치를 부여한 가중 평균이 가장 높은 경우가 베스트 케이스로 선정될 수 있다. 전자 장치(100)는 베스트 케이스에 대응되는 가상 이동 경로를 역추적하여, 가상 이동 경로 상의 객체의 위치 이동이 있었는지 확인할 수 있다. 이때, 위치 이동이 있었던 적어도 하나의 객체를 태스크에 방해가 되는 객체로 결정할 수 있다.
예를 들어, 전자 장치(100)가 로봇 청소기인 경우, 청소를 완료하는데 소요되는 시간이나 소요되는 배터리 량, 전체 면적 중 청소가 완료된 면적 등의 적어도 하나에 기준에 따라, 로봇 청소기가 청소를 수행하는 베스트 케이스를 선정할 수 있다. 로봇 청소기는 베스트 케이스에 대응되는 가상 이동 경로를 역추적하여, 가상 이동 경로 상의 객체의 위치 이동이 있었는지 확인하고, 위치 이동이 있음으로서, 베스트 케이스 선정에 기여한 적어도 하나의 객체를 태스크에 방해가 되는 객체로 결정할 수 있다.
다시 도 5를 참조하면, S520 단계에서, 전자 장치(100)는 선정된 객체의 속성에 따른 객체 이동 가이드 정보를 전자 장치(100)의 사용자에게 제공할 수 있다. 이하, 도 7 내지 도 13을 참조하여 설명한다.
도 7은 본 개시의 일 실시예에 따른 태스크에 방해가 되는 객체로 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 제공하는 단계를 설명하기 위한 상세 흐름도이다.
S710 단계에서, 전자 장치(100)는 태스크가 수행될 공간에서 이동이 요구되는 객체로 선정된 객체의 속성 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 선정된 객체의 종류나 선정된 객체가 속한 레이어 정보, 및 선정된 객체의 레이블 중 적어도 하나에 기초하여, 객체의 속성 정보를 확인할 수 있다. 전자 장치(100)는 선정된 객체의 이동성 레벨, 위치 이동 주기, 높이, 사이즈 등 적어도 하나의 속성 정보를 확인할 수 있다.
전자 장치(100)는 선정된 모든 객체에 대하여, 확인된 객체의 속성 정보에 대응되는 이동 리퀘스트 프로세스를 실행할 수 있다. 이동 리퀘스트 프로세스는 객체의 속성 정보에 대응되는 이동 리퀘스트 알고리즘 실행 결과를 사용자에게 제공하고, 사용자로부터의 응답을 확인하는 절차들을 포함할 수 있다.
도 7을 참조하면, 확인된 객체의 속성 정보가 객체의 이동성 레벨인 경우를 예로 들어 설명하면, S720 단계에서, 전자 장치(100)는 태스크에 방해가 되는 객체로 선정된 객체의 이동성 레벨을 확인할 수 있다. 설명의 편의상, 객체의 속성 정보가 객체의 이동성 레벨인 것을 전제로 하나, 이에 한정되는 것은 아니며, 객체의 위치 이동 주기, 높이, 사이즈 등 다른 타입의 속성 정보일 수 있다. 또한, 확인된 속성 정보의 분류도 도 7에 도시된 바와 같이 세 가지 케이스로 한정되는 것은 아니며, 각 속성 정보에 따라 적절한 수의 분류가 있을 수 있다.
S730 단계에서, 선정된 객체의 이동성 레벨이 4인 경우, 제1 이동 리퀘스트 프로세스를 실행할 수 있다. 이하, 도 8을 참조하여 설명한다.
도 8은 본 개시의 일 실시예에 따른 제1 이동 리퀘스트 프로세스를 설명하기 위한 도면이다.
S810 단계에서, 전자 장치(100)는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 사용자에게 제공할 수 있다. 예를 들어, 전자 장치(100)는 태스크의 처리에 대한 예측 결과들 중 태스크에 방해가 되는 객체를 이동 시킨 케이스와 이동시키지 않은 케이스 간의 차이를 분석한 분석 결과 및 태스크에 방해가 되는 객체의 이동을 요구하는 객체 이동 가이드 정보를 사용자 단말에 전송할 수 있다. 전자 장치(100)가 로봇 청소기인 경우, 선정된 객체의 이동을 반영 시, 얼마나 청소 시간이 단축되는지 또는 얼마나 청소 가능한 구역이 증가되는지 등의 차이를 분석한 분석 결과를 사용자에게 제공할 수 있다. 전자 장치(100)는 선정된 객체를 이동시킬 것을 사용자에게 요청할 수 있고, 이동시키기에 적절한 위치에 대한 정보를 사용자에게 제공할 수도 있다.
S820 단계에서, 전자 장치(100)는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 제공한 후 사용자의 응답을 수신할 수 있다. 전자 장치(100)가 사용자로부터 응답을 확인함으로써, 제1 이동 리퀘스트 프로세스가 종료될 수 있다. 전자 장치(100)는 사용자 단말로부터 객체의 이동에 관한 응답을 수신하거나, 사용자 단말로 가상 시뮬레이션 분석 결과를 제공하고, 객체의 이동을 요청한 후 소정의 시간이 경과하면, 객체의 이동에 관한 응답을 수신한 것으로 처리할 수 있다.
도 9는 본 개시의 일 실시예에 따른 객체 이동 가이드 정보를 사용자에게 제공하는 예를 설명하기 위한 도면이다.
전자 장치(100)는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 사용자의 사용자 단말(400)로 전송할 수 있다. 예를 들어, 전자 장치(100)는 태스크의 처리에 대한 예측 결과들 중 태스크에 방해가 되는 객체를 이동 시킨 케이스와 이동시키지 않은 케이스 간의 차이를 분석한 분석 결과 및 태스크에 방해가 되는 객체의 이동을 요구하는 객체 이동 가이드 정보를 사용자 단말(400)에 전송할 수 있다.
도 9를 참조하면, 전자 장치(100)가 로봇 청소기이고, 태스크의 처리에 대한 예측을 분석한 분석 결과, 거실 바닥에 있는 가방이 태스크에 방해가 되는 객체로 선정된 경우를 나타내고 있다.
도 9를 참조하면, 로봇 청소기는 태스크에 방해가 되는 객체로 선정된 가방의 이동을 반영 시, 얼마나 청소 시간이 단축되는지 차이를 분석한 분석 결과와 함께 거실 바닥에 있는 가방을 이동시킬 것을 사용자에게 요청하는 메시지를 사용자 단말(400)에 전송 할 수 있다. 사용자 단말(400)로 전송된 메시지는 가방을 이동시키기에 적절한 위치에 대한 정보를 더 포함할 수 있다.
로봇 청소기는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 사용자 단말(400)로 전송한 후 사용자의 응답을 수신할 수 있다. 로봇 청소기는 사용자 단말(400)로부터 가방의 이동 요청을 확인하였다는 응답을 수신하거나, 가방의 이동을 요청한 후 소정의 시간이 경과하면 사용자로부터 응답을 수신한 것으로 처리하여, 가방이 이동된 것으로 판단할 수 있다.
도 10은 본 개시의 일 실시예에 따른 객체 이동 가이드 정보를 사용자에게 제공하는 다른 예를 설명하기 위한 도면이다.
앞서 도 9의 실시예와 달리, 전자 장치(100)는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 음성의 형태로 출력할 수 있다. 예를 들어, 전자 장치(100)는 태스크의 처리에 대한 예측 결과들 중 태스크에 방해가 되는 객체를 이동 시킨 케이스와 이동시키지 않은 케이스 간의 차이를 분석한 분석 결과 및 태스크에 방해가 되는 객체의 이동을 요구하는 객체 이동 가이드 정보를 사용자에게 음성으로써 전달할 수 있다.
앞서 도 9에서 설명한 상황에서, 도 10에 도시된 바와 같이, 로봇 청소기는 태스크에 방해가 되는 객체로 선정된 가방의 이동을 반영 시, 얼마나 청소 시간이 단축되는지 차이를 분석한 분석 결과와 함께 거실 바닥에 있는 가방을 이동시킬 것을 사용자에게 음성의 형태로 전달할 수 있다. 로봇 청소기는 가방을 이동시키기에 적절한 위치에 대한 정보를 더 음성으로 전달할 수 있다.
로봇 청소기는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 음성의 형태로 출력한 후 사용자의 응답을 수신할 수 있다. 로봇 청소기는 사용자로부터 가방의 이동 요청을 확인하였다는 음성을 수신하거나, 가방의 이동을 요청한 후 소정의 시간이 경과하면 사용자로부터 응답을 수신한 것으로 처리하여, 가방이 이동된 것으로 판단할 수 있다.
다시 도 7을 참조하면, S740 단계에서, 선정된 객체의 이동성 레벨이 2 또는 3인 경우, 제2 이동 리퀘스트 프로세스를 실행할 수 있다. 이하, 도 11을 참조하여 설명한다.
도 11은 본 개시의 일 실시예에 따른 제2 이동 리퀘스트 프로세스를 설명하기 위한 도면이다.
S1110 단계에서, 제2 이동 리퀘스트 프로세스가 시작되면, 전자 장치(100)는 공간 맵을 이용하여 선정된 객체가 위치한 지역의 3차원 공간 맵을 생성할 수 있다. 전자 장치(100)는 3차원 공간 맵을 생성하면서, 태스크에 방해가 되는 객체로 선정된 객체의 사이즈를 반영하여 선정된 객체를 이동시킬 수 있는 영역과 전자 장치(100)가 이동할 수 있는 공간을 확보할 수 있다..
S1120 단계에서, 전자 장치(100)는 생성된 3차원 공간 맵에서 태스크에 방해가 되는 객체로 선정된 객체를 이동시킬 후보 위치들을 선정할 수 있다. 예를 들어, 후보 위치는 선정된 객체의 현재 위치와 가깝고, 사용자의 주동선과 겹쳐지 않는 위치일 수록, 우선 순위가 높은 것으로 결정될 수 있다.
도 12는 본 개시의 일 실시예에 따른 선정된 객체를 이동시킬 후보 위치들을 선정하는 과정을 설명하기 위한 도면이다.
도 12를 참조하면, 전자 장치(100)가 로봇 청소기인 경우, 로봇 청소기가 위치한 장소에 대응되는 3차원 공간 맵을 생성하고, 태스크에 방해가 되는 객체로 선정된 테이블을 이동시킬 후보 위치들을 선정하는 과정을 나타내고 있다. 로봇 청소기는 3차원 공간 맵을 생성 시, 로봇 청소기가 들어갈 공간과 테이블의 사이즈에 기초하여 테이블이 이동 가능한 영역을 확인할 수 있다. 로봇 청소기는 청소를 수행하기 위하여, 로봇 청소기가 반드시 통과해야 하는 공간을 미리 확보해두고, 테이블이 이동 가능한 영역들을 확인할 수 있다. 로봇 청소기는 테이블이 이동 가능한 영역들에서 로봇 청소기가 드나드는 통로가 되는 곳은 제외하고, 테이블의 후보 위치를 선정할 수 있다. 테이블의 후보 위치는 소정의 공식에 따라, 테이블의 현재 위치에서 가까울수록 높은 스코어가 부여될 수 있다. 도 12를 참조하면, 로봇 청소기는 테이블을 이동시킬 후보 위치들로 세 곳을 선정하였고, 각각 '0.9', '0.4', '0.3'의 스코어가 부여된 것을 알 수 있다. 후보 위치의 개수는 사전에 미리 설정될 수 있으며, 후보 위치가 되기 위한 최소한의 스코어에 대한 기준은 조정될 수 있다.
다시 도 11을 참조하면, S1130 단계에서, 전자 장치(100)는 3차원 공간 맵과 선정된 객체의 영상 합성을 통해, 각 후보 위치 별로 선정된 객체 이동 시의 영상을 획득할 수 있다. 전자 장치(100)는 3차원 공간 맵에서 후보 위치에 대응되는 공간에 태스크에 방해가 되는 객체로 선정된 객체가 이동한 경우의 모습을 나타내는 영상을 영상 합성 기술을 이용하여 생성할 수 있다.
S1140 단계에서, 전자 장치(100)는 영상 평가 모델에 객체 이동시의 영상을 입력하여, 영상 평가 모델을 통한 영상 평가 결과를 획득할 수 있다. 영상 평가 모델은 전자 장치(100)가 위치한 장소의 용도나 사용자의 설정에 따라 소정의 평가를 수행하는 모델일 수 있다. 일 실시예에 따르면, 영상 평가 모델은 객체 이동 시의 모습을 합성한 영상을 입력으로 하여, 인테리어 미적 가치를 점수화한 결과 값을 출력으로 하는 모델일 수 있으나, 이에 제한되는 것은 아니다. 일 실시예에 따르면, 영상 평가 모델은 객체 이동 시의 모습을 합성한 영상을 입력으로 하여, 해당 공간의 안전도를 점수화한 결과 값을 출력으로 하는 모델일 수 있다.
S1150 단계에서, 전자 장치(100)는 영상 평가 결과에 따른 객체 이동 가이드 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 태스크에 방해가 되는 객체로 선정된 객체를 후보 위치로 이동시켰을 경우, 어느 정도의 인테리어 미적 가치를 가지는지 또는 얼마나 안전한지 등의 영상 평가 결과에 따른 추천 위치를 사용자에게 제공할 수 있다. 전자 장치(100)는 영상 평가 결과에 기초하여, 후보 위치들 중 평가 점수가 높은 후보 위치를 추천 위치로 결정할 수 있다. 또는, 전자 장치(100)는 선정된 객체를 이동시키기에 평가 점수가 높은 소정의 개수의 후보 위치들을 사용자에게 추천 위치들로 제공할 수도 있다. 전자 장치(100)는 평가 점수가 높은 일정 개수의 후보 위치를 제공한 후 사용자의 응답을 수신할 수 있다(S1160). 전자 장치(100)가 사용자의 응답을 확인하면 제2 이동 리퀘스트 프로세스를 종료할 수 있다. 전자 장치(100)는 전자 장치(100)가 사용자 단말로부터 객체의 이동에 대한 응답을 수신하거나, 사용자 단말에 높은 평가 점수를 갖는 일정 개수의 후보 위치들을 제공하고 객체의 이동을 요청한 후 일정 시간이 경과한 경우, 객체의 이동에 관한 응답을 수신한 것으로 처리할 수 있다.
도 13은 본 개시의 일 실시예에 따른 영상 평가 결과에 따른 객체 이동 가이드 정보를 사용자에게 제공하는 예를 설명하기 위한 도면이다.
도 13을 참조하면, 전자 장치(100)가 로봇 청소기인 경우, 로봇 청소기는 태스크에 방해가 되는 객체로 선정된 테이블을 제1 후보 위치, 제2 후보 위치, 및 제3 후보 위치로 각각 이동 시킬 시의 모습을 나타내는 영상을 획득할 수 있다. 로봇 청소기는 3차원 공간 맵을 나타내는 영상과 태스크에 방해가 되는 객체로 선정된 테이블의 영상을 합성하여, 각 후보 위치에 테이블이 위치한 영상을 생성할 수 있다.
로봇 청소기는 영상 평가 모델에 영상 합성을 통해 획득한 후보 위치 별 영상을 입력하여, 영상 평가 모델을 통한 영상 평가 결과를 획득할 수 있다. 로봇 청소기는 영상 평가 결과에 따른 객체 이동 가이드 정보를 제공할 수 있다. 도 13을 참조하면, 로봇 청소기는 영상 평가 결과에 따른 추천 위치를 사용자 단말(400)에 전송할 수 있다. 로봇 청소기는 후보 위치 별 영상들 중 추천 위치에 대응되는 영상을 사용자 단말(400)에 함께 전송하고, 해당 영상에 현재 위치로부터 추천 위치까지의 이동 방향 및 거리를 나타낼 수 있다.
다시 도 11을 참조하면, S1160 단계에서, 전자 장치(100)는 영상 평가 결과에 따른 객체 이동 가이드 정보를 제공한 후 사용자의 응답을 수신할 수 있다. 전자 장치(100)가 사용자로부터 응답을 확인함으로써, 제2 이동 리퀘스트 프로세스가 종료될 수 있다. 전자 장치(100)는 사용자 단말(400)로부터 객체의 이동에 관한 응답을 수신하거나, 사용자 단말(400)로 영상 평가 결과에 따른 객체 이동 가이드 정보를 제공하고, 객체의 이동을 요청한 후 소정의 시간이 경과하면, 객체의 이동에 관한 응답을 수신한 것으로 처리할 수 있다.
다시 도 7을 참조하면, 객체의 이동성 레벨이 1인 경우, 객체의 이동이 불가하므로, 소정의 이동 리퀘스트 프로세스 실행 없이도, 해당 객체에 대응되는 이동 리퀘스트 프로세스는 실행이 된 것으로 처리될 수 있다.
S750 단계에서, 전자 장치(100)는 선정된 모든 객체에 대해, 이동 리퀘스트 프로세스가 실행된 것인지를 확인할 수 있다. 전자 장치(100)는 선정된 모든 객체에 대해, 객체의 속성 정보를 확인하고, 이동 리퀘스트 프로세스가 실행될 때까지 해당 동작을 반복할 수 있다.
한편, 전자 장치(100)는 태스크에 방해가 되는 객체로 선정된 객체가 위치한 지역의 3차원 공간 맵을 생성하여, 태스크에 방해가 되는 객체로 선정된 객체를 전자 장치(100)가 이동시킬 수 있는 영역과 전자 장치(100)가 이동할 수 있는 공간을 확인할 수 있다. 전자 장치(100)는 생성된 3차원 공간 맵에서, 태스크에 방해가 되는 객체로 선정된 객체를 이동시킬 적어도 하나의 후보 위치를 선정할 수 있다. 전자 장치(100)는 태스크에 방해가 되는 객체로 선정된 객체를 후보 위치 중 어느 하나로 이동시킬 수 있다. 예를 들어, 사용자가 사전에 전자 장치(100)에 객체 이동 가이드 정보 제공을 받지 않겠다고 설정해두었거나, 전자 장치(100)에 의해 충분히 이동이 가능한 객체의 경우, 전자 장치(100)는 태스크에 방해가 되는 객체로 선정된 객체를 후보 위치로 이동시킬 수 있다. 이와 같이 이동하는 경우, 전자 장치(100)는 객체를 이동시킨 위치를 태스크를 수행하는데 이용되는 이동 경로의 시작점으로 하여, 태스크를 수행하는데 이용되는 이동 경로를 획득하거나, 객체를 이동시킨 위치에서 태스크에 방해가 되는 객체를 다시 선정하는 절차부터 다시 수행할 수도 있다.
다시 도 5를 참조하면, S530 단계에서, 전자 장치(100)는 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여 태스크를 수행하는데 이용되는 이동 경로를 획득할 수 있다. 이하, 도 14를 참조하여 설명한다.
도 14는 본 개시의 일 실시예에 따른 태스크를 수행하는데 이용되는 이동 경로를 결정하는 단계를 설명하기 위한 상세 흐름도이다.
S1410 단계에서, 전자 장치(100)는 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여, 선정된 객체 중 이동된 객체를 확인할 수 있다. 전자 장치(100)는 실제 이동된 객체뿐만 아니라 사용자로부터 객체의 이동을 확인받은 경우, 선정된 객체가 이동된 것으로 처리할 수 있다. 전자 장치(100)는 사용자로부터 선정된 객체의 이동을 거부하는 응답을 받았거나, 사용자 단말에 선정된 객체의 이동을 요청한 후 사용자의 응답없이 소정의 시간이 경과된 경우, 선정된 객체가 이동되지 않은 것으로 처리할 수 있다.
S1420 단계에서, 전자 장치(100)는 태스크에 대응되는 공간에서 이동된 객체를 반영한 이동 경로를 결정할 수 있다. 예를 들어, 전자 장치(100)는 네비게이션 맵을 생성할 수 있다. 네비게이션 맵은 전자 장치(100)가 태스크를 수행하는데 이용되는 이동 경로를 제공할 수 있다.
다시 도 5를 참조하면, S540 단계에서, 전자 장치(100)는 이동 경로에 따라 전자 장치(100)를 구동할 수 있다. 전자 장치(100)는 네비게이션 맵이 제공하는 이동 경로를 따라 이동하면서, 태스크를 수행할 수 있다.
도 15 및 도 16은 본 개시의 일 실시예에 따른 공간 정보를 이용하는 전자 장치(100)의 구성을 나타낸 블록도이다.
도 15를 참조하면, 일 실시예에 따른 전자 장치(100)는, 메모리(110), 프로세서(120), 센싱부(130)를 포함할 수 있으나, 이에 한정되는 것은 아니며, 범용적인 구성이 더 추가될 수 있다. 예를 들어, 도 16을 참조하면, 전자 장치(100)는, 메모리(110), 프로세서(120), 센싱부(130)외에 입출력부(140), 통신부(150), 구동부(160)를 더 포함할 수 있다. 이하, 도 15 및 도 16을 참조하여, 각 구성에 대해 상세히 설명한다.
일 실시예에 따른 메모리(110)는, 프로세서(120)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(100)로 입력되거나 전자 장치(100)로부터 출력되는 데이터(예컨대, 공간 정보, 객체 정보, 공간 맵, 이동 경로 등)를 저장할 수 있다. 메모리(110)는 프로세서(120)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예에서, 프로세서(120)가 수행하는 동작들은 메모리(110)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다.
일 실시예에 따른 메모리(110)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등)를 포함할 수 있으며, 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비 휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.
일 실시예에 따른 메모리(110)는 공간 정보를 이용하는 전자 장치(100)가 태스크를 수행할 수 있도록 제어하는 하나 이상의 인스트럭션 및/또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(110)에는 공간 정보 관리 모듈, 태스크 처리 모듈, 구동 모듈 등이 저장될 수 있다.
일 실시예에 따른 프로세서(120)는 메모리(110)에 저장된 명령어들이나 프로그램화된 소프트웨어 모듈을 실행함으로써, 전자 장치(100)가 태스크를 수행할 수 있도록 동작이나 기능을 제어할 수 있다. 프로세서(120)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다. 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션(instructions)을 실행함으로써, 전자 장치(100)가 공간 정보를 이용하여 태스크를 수행하는 전반적인 동작들을 제어할 수 있다. 프로세서(120)는 메모리(110)에 저장된 프로그램들을 실행함으로써, 센싱부(130), 입출력부(140), 통신부(150), 구동부(160)를 제어할 수 있다.
일 실시예에 따른 프로세서(120)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 처리 장치(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 애플리케이션 프로세서(Application Processor), 신경망 처리 장치(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다. 프로세서(120)를 구성하는 각 프로세서는 소정의 기능을 수행하기 위한 전용 프로세서일 수 있다.
일 실시예에 따른 인공 지능(AI; artificial intelligence) 프로세서는, 인공지능(AI) 모델을 이용하여, 전자 장치(100)가 수행하도록 설정된 태스크의 처리를 위해, 연산 및 제어를 수행할 수 있다. AI 프로세서는, 인공 지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전자 장치(100)에 탑재될 수도 있다.
일 실시예에 따른 센싱부(130)는, 전자 장치(100) 주변 환경에 관한 정보를 감지하도록 구성되는 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(130)는, 이미지 센서(131), 라이다(LiDAR, Light Detection And Ranging) 센서(132), 적외선 센서(133), 초음파 센서(134), ToF(Time of Flight) 센서(135), 자이로 센서(136) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 이미지 센서(131)는 스테레오 카메라, 모노 카메라, 와이드 앵글 카메라, 어라운드 뷰 카메라 또는 3D 비전 센서 등을 포함할 수 있다.
라이다 센서(132)는 레이저를 목표물에 비춰 사물과의 거리 및 다양한 물성을 감지할 수 있다. 라이다 센서(132)는 주변 사물, 지형지물 등을 감지하고 이를 3D 영상으로 모델링하는데 이용될 수 있다.
적외선 센서(133)는 적외선을 복사해 빛이 차단됨으로써 변화를 검지하는 능동식 적외선 센서와 발광기를 가지지 않고 외계로부터 받는 적외선의 변화만을 감지하는 수동식 적외선 센서 중 어느 하나가 될 수 있다. 예를 들어, 적외선 근접 센서는 전자 장치(100)의 바퀴 주변에 설치되어, 바닥으로 적외선을 조사한 후 수신함으로써, 추락 방지 센서로 사용될 수 있다.
초음파 센서(134)는 초음파를 이용하여 물체까지의 거리를 측정할 수 있으며, 물체의 근접성에 대한 정보를 전달하는 초음파 펄스를 방출 및 검출할 수 있다. 초음파 센서(134)는 근접한 물체의 감지 및 투명한 물체의 감지에 이용될 수 있다.
ToF 센서(135)는 물체로 발사한 빛이 튕겨져 돌아오는 거리를 시간으로 계산하여, 사물의 입체감과 움직임, 공간 정보를 획득할 수 있다. ToF 센서(135)는 복잡한 공간이나 어두운 곳, 그리고 눈앞의 장애물까지 수준 높은 사물 인지가 가능하도록 하여, 전자 장치(100)가 장애물을 피해가도록 할 수 있다.
자이로 센서(136)는 각속도를 검출할 수 있다. 자이로 센서(136)는 전자 장치(100)의 위치 측정과 방향 설정에 이용될 수 있다.
일 실시예에 의하면, 센싱부(130)는 적어도 하나의 센서를 이용하여, 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보를 생성하는데 이용될 수 있다. 예를 들어, 전자 장치(100)는 이미지 센서(131), 라이다 센서(123), 적외선 센서(133), 초음파 센서(134), ToF 센서(135), 및 자이로 센서(136) 중 동종 또는 이종의 복수의 센서를 이용하여, 공간 스캔 정보 또는 객체 정보를 획득함으로써, 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보를 획득할 수 있다.
도 16을 참조하면, 전자 장치(140)는 입출력부(140), 통신부(150), 구동부(160)를 더 포함할 수 있으며, 도 16에 도시되지 않았지만 전원부와 같은 구성을 더 포함할 수 있다.
입출력부(140)는 입력부(141)와 출력부(143)을 포함할 수 있다. 입출력부(140)는 입력부(141)와 출력부(143)가 분리된 형태이거나, 터치스크린과 같이 통합된 하나의 형태일 수 있다. 입출력부(140)는 사용자로부터 입력 정보를 수신할 수 있고, 사용자에게 출력 정보를 제공할 수 있다.
입력부(141)는, 사용자가 전자 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 의미할 수 있다. 예를 들어, 입력부(141)는 키 패드(key pad), 터치 패널(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등) 등이 될 수 있다. 뿐만 아니라, 입력부(141)는 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
출력부(142)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(143)는 디스플레이부, 음향 출력부, 및 진동 모터를 포함할 수 있다.
디스플레이부는 전자 장치(100)에서 처리되는 정보를 표시할 수 있다. 예를 들어, 디스플레이부는 사용자의 조작을 입력받기 위한 사용자 인터페이스를 디스플레이할 수 있다. 디스플레이부와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 전자 장치(100)의 구현 형태에 따라 전자 장치(100)는 디스플레이부를 2개 이상 포함할 수 있다.
음향 출력부는 메모리(110)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력부는 전자 장치(100)에서 수행되는 기능과 관련된 음향 신호를 출력할 수 있다. 음향 출력부에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
진동 모터는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터는 오디오 데이터 또는 비디오 데이터의 출력에 대응하는 진동 신호를 출력할 수 있다. 진동 모터는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수 있다.
통신부(150)는, 전자 장치(100)가 외부 장치 예컨대, 클라우드 서버(200), IoT 기기들(300-1, 쪋 , 300-3), 사용자 단말(400)돠 통신을 가능하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(150)는, 근거리 통신부(short-range wireless communication unit)(151), 이동 통신부(152) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, Ant+ 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, 적외선(IrDA, infrared Data Association) 통신부, 마이크로 웨이브(uWave) 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(152)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
구동부(160)는 전자 장치(100)의 구동(주행) 및 전자 장치(100) 내부의 장치들의 동작에 이용되는 구성들을 포함할 수 있다. 전자 장치(100)가 로봇 청소기인 경우, 구동부(160)는 흡입부, 주행부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
흡입부는, 공기를 흡입하면서 바닥의 먼지를 집진하는 기능을 하는데, 회전브러쉬 또는 빗자루, 회전브러쉬 모터, 공기흡입구, 필터, 집진실, 공기배출구 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 흡입부는, 부가적으로 구석 먼지를 쓸어낼 수 있는 솔이 회전되는 구조로 장착될 수도 있다.
주행부는 전자 장치(100)에 설치된 바퀴를 각각 회전 구동시키는 모터 및 바퀴에서 발생되는 동력을 전달할 수 있도록 설치된 타이밍 벨트 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 따르면, 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 센싱부(130)를 통해 획득된 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정할 수 있다.
프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 공간 정보로써 공간 맵을 획득할 수 있다. 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 전자 장치(100)에 저장된 제1 공간 맵과 전자 장치(100)와 통신 중인 외부 장치로부터 수신된 제2 공간 맵 중 적어도 하나에 기초하여, 공간 맵을 획득할 수 있다. 공간 맵은 객체의 속성 정보에 기초한 복수의 레이어들을 포함할 수 있다.
프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 획득된 공간 맵을 이용하여 태스크의 처리에 대한 예측 결과를 분석할 수 있다. 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 태스크를 수행하기 위한 전자 장치(100)의 가상 이동 경로 상의 적어도 하나의 분기점 및 적어도 하나의 객체의 위치에 기초하여 구분되는 복수의 이동 경로들에 따른 태스크의 처리에 대한 예측 결과들을 비교하여 분석할 수 있다. 프로세서(120)는 분석 결과에 기초하여, 태스크에 방해가 되는 적어도 하나의 객체를 결정할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 태스크에 방해가 되는 객체로 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 전자 장치(100)의 사용자에게 제공할 수 있다. 프로세서(120)는 태스크에 방해가 되는 객체로 선정된 객체의 속성 정보를 확인하고, 선정된 객체의 확인된 속성 정보에 대응되는 이동 리퀘스트 프로세스를 실행하여, 객체 이동 가이드 정보를 사용자에게 제공할 수 있다.
일 실시예에 따르면, 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 통신부(150)를 통해서 사용자의 사용자 단말(400)로 전송할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 태스크에 방해가 되는 객체로 선정된 객체가 위치한 지역의 3차원 공간 맵에서 선정된 객체를 이동시킬 후보 위치들을 선정할 수 있다. 프로세서(120)는 각 후보 위치 별로 태스크에 방해가 되는 객체로 선정된 객체 이동 시의 영상을 획득하고, 영상 평가 모델에 획득된 영상을 입력하여, 영상 평가 모델을 통해 영상을 평가할 수 있다. 프로세서(120)는 영상 평가 결과에 따른 객체 이동 가이드 정보를 통신부(150)를 통해 사용자의 사용자 단말(400)로 전송할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여, 태스크를 수행하는데 이용되는 이동 경로를 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자의 응답에 기초하여, 태스크에 방해가 되는 객체로 선정된 객체 중 이동된 객체를 확인하고, 태스크에 대응되는 공간에서 이동된 객체를 반영한 이동 경로를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 결정된 이동 경로에 따라 전자 장치(100)를 구동할 수 있다. 전자 장치(100)가 이동 경로에 따라 주행하는 중에 예상치 못한 객체 또는 이동되었을 것으로 판단한 객체가 감지되는 경우, 프로세서(120)는 이와 같은 객체를 우회한 후 다시 이동 경로에 따라 전자 장치(100)를 구동하거나, 사용자에게 해당 객체의 존재를 알릴 수 있다.
한편, 본 개시의 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시의 일 실시예에 따르면, 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법이 제공된다. 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법은 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정하는 단계(S510)를 포함한다. 또한, 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법은 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 전자 장치(100)의 사용자에게 제공하는 단계(S520)를 포함한다. 또한, 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법은 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여 태스크를 수행하는데 이용되는 이동 경로를 결정하는 단계(S530)를 포함한다. 또한, 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법은 결정된 이동 경로에 따라 전자 장치(100)를 구동하는 단계(S540)를 포함한다.
또한, 본 개시의 일 실시예에 따르면, 태스크에 방해가 되는 객체를 선정하는 단계(S510)는 공간 정보로써 공간 맵을 획득하는 단계(S610)를 포함한다. 또한, 태스크에 방해가 되는 객체를 선정하는 단계(S510)는 획득된 공간 맵을 이용하여 태스크의 처리에 대한 예측을 분석하는 단계(S620)를 포함한다. 또한, 태스크에 방해가 되는 객체를 선정하는 단계(S510)는 분석 결과에 기초하여, 태스크에 방해가 되는 적어도 하나의 객체를 결정하는 단계(S630)를 포함한다.
또한, 공간 맵을 획득하는 단계(S610)는 전자 장치(100)에 저장된 제1 공간 맵과 전자 장치(100)와 통신 중인 외부 장치로부터 수신된 제2 공간 맵 중 적어도 하나에 기초하여, 공간 맵을 획득한다.
또한, 예측을 분석하는 단계(S620)는 태스크를 수행하기 위한 전자 장치(100)의 가상 이동 경로 상의 적어도 하나의 분기점 및 적어도 하나의 객체의 위치에 기초하여 구분되는 복수의 이동 경로들에 따른 태스크의 처리에 대한 예측 결과들을 비교하여 분석한다.
또한, 본 개시의 일 실시예에 따르면, 객체 이동 가이드 정보를 전자 장치(100)의 사용자에게 제공하는 단계(S520)는 선정된 객체의 속성 정보를 확인하는 단계(S710)를 포함한다. 또한, 객체 이동 가이드 정보를 전자 장치(100)의 사용자에게 제공하는 단계(S520)는 확인된 객체의 속성 정보에 대응되는 이동 리퀘스트 프로세스를 실행하여, 객체 이동 가이드 정보를 사용자에게 제공하는 단계(S720, S730, S740, S750);를 포함한다.
또한, 사용자에게 제공하는 단계(S730)는 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 사용자의 사용자 단말로 전송하는 단계(S810)를 포함한다.
또한, 사용에게 제공하는 단계(S740)는 선정된 객체가 위치한 지역의 3차원 공간 맵에서 선정된 객체를 이동시킬 후보 위치들을 선정하는 단계(S1110, S1120)를 포함한다. 또한, 사용에게 제공하는 단계(S740)는 각 후보 위치 별로 선정된 객체 이동 시의 영상을 획득하는 단계(S1130)를 포함한다. 또한, 사용에게 제공하는 단계(S740)는 영상 평가 모델에 획득된 영상을 입력하여, 영상 평가 모델을 통해 영상을 평가하는 단계(S1140)를 포함한다. 또한, 사용에게 제공하는 단계(S740)는 영상 평가 결과에 따른 객체 이동 가이드 정보를 사용자의 사용자 단말로 전송하는 단계(S1150)를 포함한다.
또한, 본 개시의 일 실시예에 따르면, 이동 경로를 결정하는 단계(S530)는 사용자의 응답에 기초하여, 선정된 객체 중 이동된 객체를 확인하는 단계(S1410)를 포함한다. 또한, 이동 경로를 결정하는 단계(S530)는 태스크에 대응되는 공간에서 이동된 객체를 반영한 이동 경로를 획득하는 단계(S1420)를 포함한다.
또한, 본 개시의 일 실시예에 따르면, 전자 장치(100)는 로봇 청소기이다.
본 개시의 일 실시예에 따르면, 전술한 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 개시의 일 실시예에 따르면, 공간 정보를 이용하는 전자 장치(100)가 제공된다. 공간 정보를 이용하는 전자 장치(100)는 메모리(110), 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서(120), 및 센싱부(130)를 포함한다. 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 센싱부(130)를 통해 획득된 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 태스크에 대응되는 공간에 위치한 객체 중 태스크에 방해가 되는 객체를 선정한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 전자 장치(100)의 사용자에게 제공한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 객체 이동 가이드 정보에 대응하는 사용자의 응답에 기초하여, 태스크를 수행하는데 이용되는 이동 경로를 결정한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 결정된 이동 경로에 따라 전자 장치(100)를 구동한다.
또한, 본 개시의 일 실시예에 따르면, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 공간 정보로써 공간 맵을 획득한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 획득된 공간 맵을 이용하여 태스크의 처리에 대한 예측을 분석한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 분석 결과에 기초하여, 태스크에 방해가 되는 적어도 하나의 객체를 결정한다.
또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 전자 장치(100)에 저장된 제1 공간 맵과 전자 장치(100)와 통신이 가능한 외부 장치로부터 수신된 제2 공간 맵 중 적어도 하나에 기초하여, 공간 맵을 획득한다.
또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 태스크를 수행하기 위한 전자 장치(100)의 가상 이동 경로 상의 적어도 하나의 분기점 및 적어도 하나의 객체의 위치에 기초하여 구분되는 복수의 이동 경로들에 따른 태스크의 처리에 대한 예측 결과들을 비교하여 분석한다.
또한, 공간 맵은 객체의 속성 정보에 기초한 복수의 레이어들을 포함한다.
또한, 본 개시의 일 실시예에 따르면, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 선정된 객체의 속성 정보를 확인한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 확인된 객체의 속성 정보에 대응되는 이동 리퀘스트 프로세스를 실행하여, 객체 이동 가이드 정보를 사용자에게 제공한다.
또한, 공간 정보를 이용하는 전자 장치(100)는 통신부(150)를 더 포함한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 태스크의 처리에 대한 예측을 분석한 분석 결과 및 객체 이동 가이드 정보를 통신부(150)를 통해서 사용자의 사용자 단말(400)로 전송한다.
또한, 공간 정보를 이용하는 전자 장치(100)는 통신부(150)를 더 포함한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 선정된 객체가 위치한 지역의 3차원 공간 맵에서 선정된 객체를 이동시킬 후보 위치들을 선정한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 각 후보 위치 별로 선정된 객체 이동 시의 영상을 획득한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 영상 평가 모델에 획득된 영상을 입력하여, 영상 평가 모델을 통해 영상을 평가한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 영상 평가 결과에 따른 객체 이동 가이드 정보를 통신부(150)를 통해 사용자의 사용자 단말(400)로 전송한다.
또한, 본 개시의 일 실시예에 따르면, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 사용자의 응답에 기초하여, 선정된 객체 중 이동된 객체를 확인한다. 또한, 프로세서(120)는 하나 이상의 인스트럭션을 실행함으로써, 태스크에 대응되는 공간에서 이동된 객체를 반영한 이동 경로를 획득한다.
또한, 본 개시의 일 실시예에 따르면, 전자 장치(100)는 로봇 청소기이다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
실시예를 참조하여 전술한 본 개시는 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 첨부된 청구범위 및 그 균등물에 의해 정의된 본 개시의 기술적 사상이나 범위를 벗어남이 없이, 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.

Claims (15)

  1. 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 상기 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 상기 태스크에 대응되는 공간에 위치한 객체 중 상기 태스크에 방해가 되는 객체를 선정하는 단계(S510);
    상기 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 상기 전자 장치(100)의 사용자에게 제공하는 단계(S520);
    상기 객체 이동 가이드 정보에 대응하는 상기 사용자의 응답에 기초하여 상기 태스크를 수행하는데 이용되는 이동 경로를 결정하는 단계(S530); 및
    상기 결정된 이동 경로에 따라 상기 전자 장치(100)를 구동하는 단계(S540);
    를 포함하는, 공간 정보를 이용하여 전자 장치(100)를 제어하는 방법.
  2. 제1 항에 있어서,
    상기 태스크에 방해가 되는 객체를 선정하는 단계(S510)는,
    상기 공간 정보로써 공간 맵을 획득하는 단계(S610);
    상기 획득된 공간 맵을 이용하여 상기 태스크의 처리에 대한 예측을 분석하는 단계(S620); 및
    상기 분석 결과에 기초하여, 상기 태스크에 방해가 되는 적어도 하나의 객체를 결정하는 단계(S630);
    를 포함하는, 방법.
  3. 제1 항 또는 제2 항에 있어서,
    상기 공간 맵을 획득하는 단계(S610)는,
    상기 전자 장치(100)에 저장된 제1 공간 맵과 상기 전자 장치(100)와 통신 중인 외부 장치로부터 수신된 제2 공간 맵 중 적어도 하나에 기초하여, 상기 공간 맵을 획득하는, 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 예측을 분석하는 단계(S620)는,
    상기 태스크를 수행하기 위한 전자 장치(100)의 가상 이동 경로 상의 적어도 하나의 분기점 및 적어도 하나의 객체의 위치에 기초하여 구분되는 복수의 이동 경로들에 따른 상기 태스크의 처리에 대한 예측 결과들을 비교하여 분석하는, 방법.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 객체 이동 가이드 정보를 제공하는 단계(S520)는,
    상기 선정된 객체의 속성 정보를 확인하는 단계(S710); 및
    상기 확인된 객체의 속성 정보에 대응되는 이동 리퀘스트 프로세스를 실행하여, 상기 객체 이동 가이드 정보를 상기 사용자에게 제공하는 단계(S720, S730, S740, S750);를 포함하는, 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 객체 이동 가이드 정보를 상기 사용자에게 제공하는 단계(S730)는,
    상기 태스크의 처리에 대한 예측을 분석한 분석 결과 및 상기 객체 이동 가이드 정보를 상기 사용자의 사용자 단말로 전송하는 단계(S810)를 포함하는, 방법.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 객체 이동 가이드 정보를 상기 사용에게 제공하는 단계(S740)는,
    상기 선정된 객체가 위치한 지역의 3차원 공간 맵에서 상기 선정된 객체를 이동시킬 후보 위치들을 선정하는 단계(S1110, S1120);
    각 후보 위치 별로 상기 선정된 객체 이동 시의 영상을 획득하는 단계(S1130);
    영상 평가 모델에 상기 획득된 영상을 입력하여, 상기 영상 평가 모델을 통해 영상을 평가하는 단계(S1140); 및
    상기 획득된 영상 평가 결과에 따른 상기 객체 이동 가이드 정보를 상기 사용자의 사용자 단말로 전송하는 단계(S1150);
    를 포함하는, 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    상기 이동 경로를 결정하는 단계(S530)는,
    상기 사용자의 응답에 기초하여, 상기 선정된 객체 중 이동된 객체를 확인하는 단계(S1410); 및
    상기 태스크에 대응되는 공간에서 상기 이동된 객체를 반영한 상기 이동 경로를 획득하는 단계(S1420);
    를 포함하는, 방법.
  9. 제1 항 내지 제8 항 중 어느 한 항에 있어서,
    상기 전자 장치(100)는 로봇 청소기인, 방법.
  10. 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서가 다음을 제어하게 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 상기 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 상기 태스크에 대응되는 공간에 위치한 객체 중 상기 태스크에 방해가 되는 객체를 선정하는 단계;
    상기 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 상기 전자 장치(100)의 사용자에게 제공하는 단계;
    상기 객체 이동 가이드 정보에 대응하는 상기 사용자의 응답에 기초하여 상기 태스크를 수행하는데 이용되는 이동 경로를 결정하는 단계; 및
    상기 결정된 이동 경로에 따라 상기 전자 장치(100)를 구동하는 단계;
    를 포함하는, 상기 기록 매체.
  11. 하나 이상의 인스트럭션을 저장하는 메모리(110);
    상기 메모리(110)에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서(120); 및
    센싱부(130)를 포함하고,
    상기 프로세서(120)는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 센싱부(130)를 통해 획득된 적어도 하나의 객체를 포함하는 공간에 대한 공간 정보와 전자 장치(100)가 수행하도록 설정된 태스크에 기초하여, 상기 태스크에 대응되는 공간에 위치한 객체 중 상기 태스크에 방해가 되는 객체를 선정하고, 상기 선정된 객체의 속성 정보에 따른 객체 이동 가이드 정보를 상기 전자 장치(100)의 사용자에게 제공하고, 상기 객체 이동 가이드 정보에 대응하는 상기 사용자의 응답에 기초하여, 상기 태스크를 수행하는데 이용되는 이동 경로를 결정하고, 상기 결정된 이동 경로에 따라 상기 전자 장치(100)를 구동하는, 공간 정보를 이용하는 전자 장치(100).
  12. 제11 항에 있어서,
    상기 프로세서(120)는,
    상기 공간 정보로써 공간 맵을 획득하고, 상기 획득된 공간 맵을 이용하여 상기 태스크의 처리에 대한 예측을 분석하고, 상기 분석 결과에 기초하여, 상기 태스크에 방해가 되는 적어도 하나의 객체를 결정하는, 전자 장치(100).
  13. 제11 항 또는 제12 항에 있어서,
    상기 프로세서(120)는,
    상기 선정된 객체의 속성 정보를 확인하고, 상기 확인된 객체의 속성 정보에 대응되는 이동 리퀘스트 프로세스를 실행하여, 상기 객체 이동 가이드 정보를 상기 사용자에게 제공하는, 전자 장치(100).
  14. 제11 항 내지 제13 항 중 어느 한 항에 있어서,
    통신부(150)를 더 포함하고,
    상기 프로세서(120)는,
    상기 태스크의 처리에 대한 예측을 분석한 분석 결과 및 상기 객체 이동 가이드 정보를 상기 통신부(150)를 통해서 상기 사용자의 사용자 단말(400)로 전송하는, 전자 장치(100).
  15. 제11 항 내지 제14 항 중 어느 한 항에 있어서,
    상기 프로세서(120)는,
    상기 사용자의 응답에 기초하여, 상기 선정된 객체 중 이동된 객체를 확인하고, 상기 태스크에 대응되는 공간에서 상기 이동된 객체를 반영한 상기 이동 경로를 획득하는, 전자 장치(100).
PCT/KR2023/010655 2022-10-07 2023-07-24 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치 WO2024075949A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/364,901 US20240119604A1 (en) 2022-10-07 2023-08-03 Method of controlling electronic device by using spatial information and electronic device using spatial information

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0129054 2022-10-07
KR20220129054 2022-10-07
KR10-2022-0148977 2022-11-09
KR1020220148977A KR20240049072A (ko) 2022-10-07 2022-11-09 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/364,901 Continuation US20240119604A1 (en) 2022-10-07 2023-08-03 Method of controlling electronic device by using spatial information and electronic device using spatial information

Publications (1)

Publication Number Publication Date
WO2024075949A1 true WO2024075949A1 (ko) 2024-04-11

Family

ID=90608645

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/010655 WO2024075949A1 (ko) 2022-10-07 2023-07-24 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치

Country Status (1)

Country Link
WO (1) WO2024075949A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001129787A (ja) * 1999-11-02 2001-05-15 Atr Media Integration & Communications Res Lab 自律移動ロボット
KR20130091879A (ko) * 2012-02-09 2013-08-20 삼성전자주식회사 로봇 청소기의 청소 작업을 제어하기 위한 장치 및 방법
KR20180087798A (ko) * 2017-01-25 2018-08-02 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR20200027072A (ko) * 2018-08-27 2020-03-12 엘지전자 주식회사 인공지능 이동 로봇의 제어 방법
KR20210039232A (ko) * 2019-10-01 2021-04-09 엘지전자 주식회사 로봇 청소기 및 청소 경로를 결정하기 위한 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001129787A (ja) * 1999-11-02 2001-05-15 Atr Media Integration & Communications Res Lab 自律移動ロボット
KR20130091879A (ko) * 2012-02-09 2013-08-20 삼성전자주식회사 로봇 청소기의 청소 작업을 제어하기 위한 장치 및 방법
KR20180087798A (ko) * 2017-01-25 2018-08-02 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR20200027072A (ko) * 2018-08-27 2020-03-12 엘지전자 주식회사 인공지능 이동 로봇의 제어 방법
KR20210039232A (ko) * 2019-10-01 2021-04-09 엘지전자 주식회사 로봇 청소기 및 청소 경로를 결정하기 위한 방법

Similar Documents

Publication Publication Date Title
WO2017091008A1 (ko) 이동 로봇 및 그 제어 방법
WO2016200098A1 (ko) 이동 로봇 및 그 제어방법
WO2021103987A1 (zh) 扫地机器人控制方法、扫地机器人及存储介质
EP2068275B1 (en) Communication robot
WO2020139064A1 (en) Cleaning robot and method of performing task thereof
US11330951B2 (en) Robot cleaner and method of operating the same
WO2018110963A1 (en) Movable object and method for controlling the same
WO2021002499A1 (ko) 군집 로봇을 이용하여 사용자의 위치를 추적하는 방법, 태그장치 및 이를 구현하는 로봇
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2020027515A1 (ko) 속성 블록을 설정하는 이동 로봇
WO2019031825A1 (ko) 전자 장치 및 그 동작 방법
WO2021045271A1 (ko) 로봇
WO2019208950A1 (ko) 사용자에게 서비스를 제공하는 이동형 로봇 장치 및 방법
WO2020004824A1 (en) Plurality of autonomous cleaner and controlling method for the same
WO2021006622A1 (en) Electronic apparatus and controlling method thereof
WO2020256180A1 (ko) 사용자 인식 기반의 유모차 로봇 및 그 제어 방법
WO2021230503A1 (en) Electronic apparatus and controlling method thereof
WO2024075949A1 (ko) 공간 정보를 이용하여 전자 장치를 제어하는 방법 및 공간 정보를 이용하는 전자 장치
WO2021006590A1 (en) Docking device and mobile robot system
WO2020204355A1 (ko) 전자 장치 및 그 제어 방법
AU2020208074B2 (en) Mobile robot and method of controlling mobile robot
WO2020101244A1 (ko) 청소 장치 및 그 제어 방법
WO2020251100A1 (ko) 퓨전 슬램에서 맵을 업데이트하는 방법 및 이를 구현하는 로봇
WO2024090942A1 (ko) 다수의 카메라들에 의해 촬영된 객체를 나타내는 영상을 증강하여 신경망 모델을 학습시키는 방법 및 전자 장치
WO2023033232A1 (en) Delivery robot and control method of the delivery robot