KR20190053001A - 이동이 가능한 전자 장치 및 그 동작 방법 - Google Patents

이동이 가능한 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20190053001A
KR20190053001A KR1020170148932A KR20170148932A KR20190053001A KR 20190053001 A KR20190053001 A KR 20190053001A KR 1020170148932 A KR1020170148932 A KR 1020170148932A KR 20170148932 A KR20170148932 A KR 20170148932A KR 20190053001 A KR20190053001 A KR 20190053001A
Authority
KR
South Korea
Prior art keywords
electronic device
user
task
destination point
information
Prior art date
Application number
KR1020170148932A
Other languages
English (en)
Other versions
KR102463806B1 (ko
Inventor
김진원
국중갑
한승범
장동식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170148932A priority Critical patent/KR102463806B1/ko
Priority to EP18876627.3A priority patent/EP3655204A4/en
Priority to PCT/KR2018/010613 priority patent/WO2019093646A1/en
Priority to CN201880062061.7A priority patent/CN111163906B/zh
Priority to US16/160,193 priority patent/US11407106B2/en
Publication of KR20190053001A publication Critical patent/KR20190053001A/ko
Application granted granted Critical
Publication of KR102463806B1 publication Critical patent/KR102463806B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40233Portable robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40411Robot assists human in non-industrial environment like home or office
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40414Man robot interface, exchange of information between operator and robot
    • 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/01Social networking

Abstract

다양한 실시예에 따라서, 전자 장치는, 명령어들을 저장하는 메모리, 및 상기 저장된 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하고, 적어도 상기 획득된 태스크 및 상기 식별된 사용자 정보에 기반하여, 상기 식별된 사용자 정보에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하고, 상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 전자 장치의 구동 회로를 제어하도록 설정될 수 있다.

Description

이동이 가능한 전자 장치 및 그 동작 방법{ELECTRONIC DEVICE CAPABLE OF MOVING AND METHOD FOR OPERATING THEREOF}
다양한 실시예들은, 이동이 가능한 전자 장치 및 그 동작 방법에 관한 것이다.
다양한 종류의 이동이 가능한 전자 장치(예: 로봇)가 활발하게 도입되고 있다. 이러한 전자 장치는, 바퀴, 이족(two legs), 비행(flying)을 위한 프로펠러 등의 다양한 이동 수단을 구비하여, 하나의 지점으로부터 다른 지점으로 이동할 수 있다. 전자 장치는, 특정 이벤트의 발생을 검출하면, 검출된 이벤트에 대응하는 지점으로 이동할 수 있다. 예를 들어, 전자 장치는, 특정 사용자에게 전달하기 위한 메시지 등이 수신되면, 해당 특정 사용자의 근처로 이동하여 메시지 내용을 시각적 또는 청각적으로 해당 특정 사용자에게 제공할 수 있다.
사용자에게 특정 서비스를 제공하는 경우에 있어, 사용자 별로 서비스를 제공하는 전자 장치의 위치에 대한 선호도가 다를 수 있다. 예를 들어, 전자 장치가 사진을 촬영하는 서비스를 제공하는 경우, 제 1 사용자는 왼쪽 방향에서 사진이 찍히는 것을 선호할 수 있는 반면, 제 2 사용자는 오른쪽 방향에서 사진이 찍히는 것을 선호할 수도 있다. 기존의 전자 장치에서는, 태스크를 수행하는 경우에 사용자별 선호 장소를 고려하지 않으며, 이에 따라 태스크 수행 결과에 대한 사용자의 만족도가 저하된다. 뿐만 아니라, 사용자가 현재 다른 지점을 주시하고 있는지 등의 사용자 상태를 고려하여, 태스크 수행 지점 또는 이동 경로 등을 결정하는 전자 장치에 대하여서는 개시된 바가 없다.
다양한 실시예는, 적어도 사용자 식별 결과 또는 사용자 상태 중 적어도 하나에 기반하여, 태스크를 수행하기 위한 전자 장치의 위치 또는 이동 경로 중 적어도 하나를 결정하는 전자 장치 및 그 동작 방법을 제공할 수 있다.
다양한 실시예에 따라서, 전자 장치는, 명령어들을 저장하는 메모리, 및 상기 저장된 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하고, 적어도 상기 획득된 태스크 및 상기 식별된 사용자 정보에 기반하여, 상기 식별된 사용자 정보에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하고, 상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 전자 장치의 구동 회로를 제어하도록 설정될 수 있다.
다양한 실시예에 따라서, 전자 장치는, 명령어들을 저장하는 메모리, 및 상기 저장된 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하고, 적어도 상기 태스크 및 상기 사용자의 상태에 기반하여, 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하고, 상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 전자 장치의 구동 회로를 제어하도록 설정될 수 있다.
다양한 실시예에 따라서, 전자 장치는, 명령어들을 저장하는 메모리, 및 상기 저장된 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하고, 상기 사용자 정보가 제 1 사용자로 확인되면 상기 전자 장치의 목적 지점을 제 1 위치로 결정하거나, 또는, 상기 사용자 정보가 상기 제 1 사용자와 상이한 제 2 사용자로 확인되면 상기 전자 장치의 목적 지점을 상기 제 1 위치와 상이한 제 2 위치로 결정하고, 상기 결정된 목적 지점으로 상기 전자 장치가 이동하도록 상기 전자 장치의 구동 회로를 제어하고, 상기 목적 지점에서, 상기 태스크를 수행하도록 설정될 수 있다.
다양한 실시예에 따라서, 전자 장치는, 명령어들을 저장하는 메모리, 및 상기 저장된 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하고, 상기 사용자가 제 1 위치에서 제 1 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 제 2 위치로 결정하거나, 또는, 상기 사용자가 상기 제 1 위치에서 제 2 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 상기 제 2 위치와 상이한 제 3 위치로 결정하고, 상기 결정된 목적 지점으로 상기 전자 장치가 이동하도록 상기 전자 장치의 구동 회로를 제어하고, 상기 목적 지점에서 상기 태스크를 수행하도록 설정될 수 있다.
다양한 실시예에 따라서, 전자 장치의 동작 방법은, 획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하는 동작, 적어도 상기 태스크 및 상기 식별된 사용자 정보에 기반하여, 상기 식별된 사용자 정보에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 동작, 및 상기 확인된 목적 지점으로 이동하는 동작을 포함할 수 있다.
다양한 실시예에 따라서, 전자 장치의 동작 방법은, 획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하는 동작, 적어도 상기 태스크 및 상기 사용자의 상태에 기반하여, 상기 태스크에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 동작, 및 상기 확인된 목적 지점으로 상기 전자 장치를 이동하는 동작을 포함할 수 있다.
다양한 실시예에 따라서, 전자 장치의 동작 방법은, 획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하는 동작, 상기 사용자가 제 1 사용자로 식별되면 상기 전자 장치의 목적 지점을 제 1 위치로 결정하거나, 또는, 상기 사용자 정보가 상기 제 1 사용자와 상이한 제 2 사용자로 식별되면 상기 전자 장치의 목적 지점을 상기 제 1 위치와 상이한 제 2 위치로 결정하는 동작, 상기 결정된 목적 지점으로 이동하는 동작 및 상기 목적 지점에서, 상기 태스크를 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따라서, 전자 장치의 동작 방법은, 획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하는 동작, 상기 사용자가 제 1 위치에서 제 1 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 제 2 위치로 결정하거나, 또는, 상기 사용자가 상기 제 1 위치에서 제 2 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 상기 제 2 위치와 상이한 제 3 위치로 결정하는 동작, 상기 결정된 목적 지점으로 이동하는 동작 및 상기 목적 지점에서 상기 태스크를 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따라서, 적어도 사용자 식별 결과 또는 사용자 상태 중 적어도 하나에 기반하여, 태스크를 수행하기 위한 전자 장치의 위치 또는 이동 경로 중 적어도 하나를 결정하는 전자 장치 및 그 동작 방법이 제공될 수 있다.
도 1a는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
도 1b는 다양한 실시예에 따른 전자 장치의 정면도를 도시한다.
도 1c는 다양한 실시예에 따른 전자 장치의 회전 수단을 설명하기 위한 도면이다.
도 1d는 다양한 실시예에 따른 복수 개의 마이크의 배치를 설명하기 위한 전자 장치의 평면도이다.
도 2는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 3a 내지 3d는 다양한 실시예에 따른 전자 장치의 이동을 설명하기 위한 도면을 도시한다.
도 4a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 4b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 5a는 다양한 실시예에 따른 적어도 하나의 태스크 수행 조건에서의 태스크 수행을 설명하기 위한 도면이다.
도 5b는 다양한 실시예에 따른 태스크 수행 결과에 대한 데이터베이스를 도시한다.
도 5c는 다양한 실시예에 따른 태스크에 대한 사용자별 태스크 수행 조건을 도시한다.
도 6은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 7은 다양한 실시예에 따른 실내 환경에서의 전자 장치의 이동을 설명하기 위한 도면이다.
도 8a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 8b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 9a 및 9b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 10a 및 10b는 다양한 실시예에 따른 복수 사용자에 대한 태스크 수행을 위한 전자 장치의 이동을 설명하기 위한 도면들을 도시한다.
도 10c는 다양한 실시예에 따른 전자 장치의 회전 또는 촬영 방향 변경을 설명하기 위한 도면을 도시한다.
도 11은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 12는 다양한 실시예에 따른 전자 장치의 이동을 설명하기 위한 도면을 도시한다.
도 13은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 14a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도들을 도시한다.
도 14b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 15a 및 15b는 다양한 실시예에 따른 전자 장치의 사용자 상태에 따른 이동 과정을 설명하기 위한 도면들이다.
도 16a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 16b는 다양한 실시예에 따른 전자 장치의 이동 경로를 설명하기 위한 도면을 도시한다.
도 17은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 18은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 19a 내지 19c는 다양한 실시예에 따른 전자 장치의 이동을 설명하기 위한 도면들을 도시한다.
도 20은 다양한 실시예에 따른 사용자 인증을 수행하는 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
도 21a 및 21b는, 다양한 실시예에 따른 모션을 통한 인증 과정을 설명하기 위한 도면들이다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
도 1a는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
도 1a를 참조하면, 다양한 실시예에 따라서, 전자 장치(101)는, 프로세서(120), 메모리(130), 구동 회로(160), 출력 장치(170), 센서 모듈(176), 카메라(180) 및 통신 모듈(190)을 포함할 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(예:RAM)에 로드(load)하여 처리하고, 결과 데이터를 비휘발성 메모리(예:NAND)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서는 메인 프로세서와 별개로 또는 임베디드되어 운영될 수 있다. 즉, 연산을 수행할 수 있는 칩 또는 회로는, 전자 장치(101)내에 복수 개 포함될 수 있다.
보조 프로세서는, 예를 들면, 메인 프로세서가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서를 대신하여, 또는 메인 프로세서가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 출력 장치(170), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 다양한 실시예에 따라서, 메모리(130)는, 다양한 태스크에 대응하는 태스크 수행 조건에 대한 정보가 저장될 수 있다. 전자 장치(101)는, 예를 들어, 사용자 식별 정보별로 태스크 수행 조건을 대응시켜 저장할 수 있다. 메모리(130)는, 사용자를 식별할 수 있는 알고리즘 또는 프로그램을 저장할 수 있으며, 미리 획득된 적어도 하나의 사용자 식별 정보를 저장할 수도 있다. 프로세서(120)는, 센서 모듈(176) 또는 카메라(180) 중 적어도 하나로부터의 데이터에, 식별을 위한 알고리즘 또는 프로그램을 적용하여, 사용자를 식별할 수 있다. 프로세서(120)는, 사용자 식별 정보에 대응된 태스크 수행 조건에 따라 동작할 수 있다. 또는, 전자 장치(101)는, 예를 들어, 사용자 상태별로 태스크 수행 조건을 대응시켜 저장할 수도 있다. 메모리(130)는, 사용자 상태를 확인할 수 있는 알고리즘 또는 프로그램을 저장할 수 있으며, 미리 획득된 적어도 하나의 사용자 상태를 저장할 수도 있다. 프로세서(120)는, 센서 모듈(176) 또는 카메라(180) 중 적어도 하나로부터의 데이터에, 확인을 위한 알고리즘 또는 프로그램을 적용하여, 사용자 상태를 확인할 수 있다. 프로세서(120)는, 사용자 상태에 대응된 태스크 수행 조건에 따라 동작할 수 있다. 사용자 식별 정보와 태스크 수행 조건 사이의 연관 정보는, 적어도 해당 사용자 식별 정보에 대하여 다양한 태스크 수행 조건에 기반한 태스크 수행 결과 및 대응하는 피드백 정보에 기반하여 생성될 수 있다. 사용자 식별 정보와 태스크 수행 조건 사이의 연관 정보는, 예를 들어 데이터베이스에 대한 클러스터링과 같은 처리를 통하여 생성될 수도 있으며, 다양한 학습(learning) 알고리즘 적용 결과에 따라 생성 또는 갱신될 수 있다. 사용자 상태와 태스크 수행 조건 사이의 연관 정보 또한 기존의 수행 결과 및 피드백 정보의 데이터베이스에 대한 처리를 통하여 생성될 수도 있다. 연관 정보의 생성 과정에 대하여서는 더욱 상세하게 후술하도록 한다. 메모리(130)에는, 전자 장치(101)의 이동 또는 회전을 위한 프로그램, 이미지 분석을 위한 프로그램, 사용자 포즈 인식을 위한 프로그램 등의 후술할 다양한 동작을 위한 프로그램이 저장될 수 있다. 다양한 실시예에 따라서, 전자 장치(101)의 동작을 위한 적어도 일부의 프로그램이 외부 장치(예: 서버)에 저장될 수도 있다. 이 경우, 전자 장치(101)는, 쿼리를 상기 외부 장치로 송신할 수도 있으며, 외부 장치는 쿼리에 포함된 데이터를 이용하여 응답을 생성하여 전자 장치(101)로 송신할 수도 있다.
구동 회로(160)는, 전자 장치(101)의 적어도 일부분을 움직이도록 할 수 있다. 구동 회로(160)는, 예를 들어 전자 장치(101)를 제 1 위치로부터 제 2 위치로 이동하도록 할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 바퀴를 더 포함할 수도 있으며, 구동 회로(160)는 바퀴에 연결된 모터 또는 액츄에이터를 포함할 수 있다. 프로세서(120)는, 전자 장치(101)가 제 1 위치로부터 제 2 위치로 이동하도록, 바퀴를 회전시키거나 또는 바퀴의 회전을 제동하도록 구동 회로(160)를 제어할 수 있다. 예를 들어, 제 1 위치로부터 출발하는 시점에서는 제 1 각속도로 바퀴를 회전하도록 구동 회로(160)를 제어할 수 있으며, 제 2 위치에 근접할수록 바퀴의 각속도를 감소시키도록 구동 회로(160)를 제어할 수 있다. 전자 장치(101)는, 제 2 위치에 도착한 것으로 확인되면, 바퀴가 멈추도록 구동 회로(160)를 제어할 수도 있다. 다양한 실시예에 따라서, 전자 장치(101)는, 복수 개의 다리(leg)를 포함할 수도 있으며, 구동 회로(160)는 복수 개의 다리 각각에 연결될 수 있으며, 다리의 움직임을 제어할 수 있는 모터 또는 액츄에이터를 포함할 수도 있다. 또는, 전자 장치(101)는, 비행을 할 수 있도록 적어도 하나의 프로펠러를 포함할 수도 있으며, 구동 회로(160)는 적어도 하나의 프로펠러를 회전시킬 수 있는 모터 또는 액츄에이터를 포함할 수도 있다.
출력 장치(170)는 표시 장치, 음향 출력 장치, 진동 출력 장치 등의 다양한 종류의 장치를 포함할 수 있다. 표시 장치는, 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치는 사용자의 터치 입력을 감지할 수 있는 터치 회로(touch circuitry) 또는 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다. 전자 장치(101)는, 어플리케이션 실행 화면, 팝업 윈도우, 인디케이터, 사용자 조작을 위한 다양한 UI를 표시 장치 상에 표시하거나, 또는 디스플레이의 밝기를 조정할 수 있으며, 표시 장치에 표시되는 그래픽 오브젝트에는 제한이 없다. 음향 출력 장치는, 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다. 전자 장치(101)는, 다양한 TTS(text to speech) 프로그램을 이용하여, 사용자와 인터랙션을 위한 음성(voice)을 출력할 수 있다. 또는, 전자 장치(101)는, 사용자로부터 태스크 수행 명령에 대한 애크(ack)를 위한 비프(beep)를 출력할 수도 있다. 또는, 전자 장치(101)는 태스크 수행 명령에 대한 응답으로 출력하는 음성의 볼륨을 조정하거나, 템포를 조정할 수도 있다. 진동 출력 장치는, 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 진동 출력 장치, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 초음파 센서, 또는 조도 센서를 포함할 수 있다. 프로세서(120)는, 센서 모듈(176)을 통하여 수신된 다양한 정보에 따라, 사용자 식별, 사용자 포즈 인식, 장애물 검출 등을 수행할 수 있다.
카메라(180)는 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라(180)는 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다. 카메라(180)는, 스테레오스코픽 카메라(stereoscopic camera) 등으로 구현될 수 있는, 3차원 카메라를 포함할 수도 있다. 프로세서(120)는, 카메라를 통하여 획득한 이미지를 분석하여, 사용자의 위치 정보, 복수 사용자 사이의 상대적인 위치, 외부 환경에 위치한 물체의 위치, 사용자의 식별 정보, 사용자 상태, 사용자의 피드백과 연관된 정보 등의 다양한 정보를 확인할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 다른 전자 장치, 또는 서버)간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다. 일실시예에 따르면, 무선 통신 모듈은 가입자 식별 모듈에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크에 연결된 서버를 통해서 전자 장치(101)와 외부의 전자 장치 간에 송신 또는 수신될 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 1b는 다양한 실시예에 따른 전자 장치의 정면도를 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 바퀴의 회전에 따라 이동할 수 있는 로봇의 형태를 가질 수 있다. 전자 장치(101)는, 제 1 하우징(102) 및 제 2 하우징(103)을 포함할 수 있다. 제 1 하우징(102)은, 예를 들어 로봇의 두상에 대응하는 형태를 가질 수 있으며, 제 2 하우징(103)은, 예를 들어 로봇의 몸(body)에 대응하는 형태를 가질 수 있고, 하우징(102,103)의 형태에는 제한이 없다. 제 1 하우징(102)에 카메라(180)가 위치할 수 있으며, 외부의 영상을 입력 받기 위해 제 1 하우징(102)의 적어도 일부를 통하여 카메라(180)가 노출될 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 복수 개의 카메라(180)를 포함할 수 있으며, 복수 개의 카메라(180)는 스테레오스코픽 카메라를 구성할 수 있다. 이에 따라, 전자 장치(101)는, 촬영된 이미지 내에 포함된 오브젝트들의 깊이 정보를 확인할 수도 있으며, 3차원에서의 피사체의 위치에 대한 정보를 확인할 수도 있다. 제 1 하우징(102)에 마이크(150)가 위치할 수 있으며, 제 1 하우징(102)의 적어도 다른 일부를 통하여 마이크(150)가 노출될 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 복수 개의 마이크(150)를 포함할 수 있으며, 전자 장치(101)는, 복수 개의 마이크(150) 각각에서 음성이 수신되는 시점의 차이를 검출할 수 있으며, 검출된 시점 차이에 기반하여 음성이 발생한 지점의 위치에 대한 정보를 확인할 수 있으며, 이에 대하여서는 더욱 상세하게 후술하도록 한다. 제 2 하우징(103)에 스피커(172)가 위치할 수 있으며, 제 2 하우징(103)의 적어도 일부를 통하여 스피커(172)가 노출될 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 복수 개의 스피커(172)를 포함할 수도 있다. 제 2 하우징(103)에 디스플레이(171)가 위치할 수 있으며, 제 2 하우징(103)의 적어도 다른 일부를 통하여 디스플레이(171)가 노출될 수 있다. 전자 장치(101)는, 다양한 시각적인 아이템을 디스플레이(171)를 통하여 사용자에게 표시할 수 있다. 제 2 하우징(103)의 내부 또는 표면에는 거리 센서(177)가 위치할 수 있다. 거리 센서(177)는, 예를 들어 장애물이 전자 장치(101)의 특정 방향에 위치하는지 여부를 확인할 수 있는 근접 센서(proximity sensor)를 포함할 수 있다. 근접 센서는, 예를 들어, 광 센서로 구현될 수도 있으며, 장애물에 의한 광 센서로 입사되는 광량의 변경에 따라 전자 장치(101)는 장애물이 위치하는지 여부를 확인할 수 있다. 거리 센서(177)는, 예를 들어 초음파 생성 회로 및 초음파 수신 회로를 포함하는 센서를 포함할 수도 있다. 거리 센서(177)는, 초음파를 생성하고, 장애물에 의하여 반사되는 반사파를 수신할 수 있다. 전자 장치(101)는, 반사파 특성을 분석할 수 있으며, 분석 결과에 따라 장애물의 위치를 확인할 수 있다. 거리 센서(177)는, 예를 들어 레이저, 또는 적외선과 같은 광원 및 광 센서를 포함할 수도 있다. 거리 센서(177)는, 레이저 또는 적외선을 발생시킬 수 있으며, 광 센서를 이용하여 장애물에 의하여 반사된 빛을 수신할 수 있다. 전자 장치(101)는, 빛의 이동 시간(time of flight: TOF)을 이용하여 장애물까지의 거리를 확인할 수도 있다. 상술한 바 이외에도, 전자 장치(101)는, 다양한 거리 센서를 포함할 수 있으며, 거리 센서의 종류에는 제한이 없음을 당업자는 용이하게 이해할 수 있을 것이다. 전자 장치(101)는, 거리 센서(177)를 통하여 전자 장치(101)의 전면에 있는 장애물을 검출할 수 있으며, 이동 중 장애물과 충돌을 회피하도록, 미리 정해진 경로가 아닌 장애물을 우회하는 경로에 따라 이동할 수도 있다. 제 2 하우징(103)에는 제 1 팔(arm)(104)의 일단 및 제 2 팔(106)의 일단이 연결될 수 있다. 제 1 팔(104)의 타단에는 제 1 손(hand)(105)이 연결될 수 있으며, 제 2 팔(106)의 타단에는 제 2 손(107)이 연결될 수 있다. 예를 들어, 제 2 팔(106) 및 제 2 손(107) 사이에는 회전 수단(164)(예: 모터 또는 액츄에이터)이 위치할 수 있으며, 회전 수단(164)의 회전에 따라서 제 2 손(107)이 회전될 수 있다. 제 1 팔(104) 및 제 1 손(105) 사이에도 회전 수단이 포함될 수도 있다. 제 1 손(105) 또는 제 2 손(107)은 적어도 하나의 손가락을 포함할 수도 있으며, 이때 전자 장치(101)는 손가락 각각을 쥐거나 펼 수 있도록 하는 회전 수단을 포함할 수도 있다. 전자 장치(101)는, 전자 장치(101)의 제 2 하우징(103)을 기준으로 제 1 하우징(102)을 회전할 수 있도록 하는 적어도 하나의 회전 수단을 포함할 수도 있으며, 전자 장치(101)의 움직임 및 이에 대응하는 회전 수단의 종류 또는 위치에는 제한이 없음을 당업자는 이해할 것이다.
도 1c는 다양한 실시예에 따른 전자 장치의 회전 수단을 설명하기 위한 도면이다. 제 1 하우징(102) 내에는 모터(161)가 위치할 수 있으며, 모터(161)의 회전에 따라서, 제 1 하우징(102)이 회전할 수 있다. 도 1c에서 상술한 바와 같이, 제 1 하우징(102)에는 도 1b에서 언급한 적어도 하나의 카메라(180)가 포함될 수 있으며, 모터(161)의 회전에 따라 전자 장치(101)의 촬영 방향이 변경될 수 있다. 예를 들어, 촬영 방향을 변경하기 위하여, 전자 장치(101)는, 촬영 방향 변경 정도에 대응하여 모터(161)의 회전각이나 회전량을 제어할 수 있으며, 이에 따라 원하는 촬영 방향으로 카메라(180)가 향하도록 할 수 있다. 모터(161)는, 예를 들어 복수 개일 수도 있으며, 이에 따라서 복수 개의 모터의 회전에 따라, 제 1 하우징(102)은 좌우 방향으로 회전하거나, 또는 상하 방향으로 회전할 수도 있다. 만약 제 1 하우징(102)에 3개의 모터가 포함된 경우에, 전자 장치(101)는 제 1 하우징(102)을 롤(roll), 피치(pitch), 요우(yaw)의 3 방향으로 회전시킬 수도 있으며, 모터의 개수에는 제한이 없다. 제 2 하우징(103) 내에는 복수개의 모터(162, 163, 165)가 포함될 수 있다. 전자 장치(101)는, 제 2 하우징(103)의 모션 수행을 위하여 모터(162)를 회전시킬 수 있다. 전자 장치(101)는, 제 1 팔(104) 및 제 2 팔(106) 각각의 모션 수행을 위하여 모터(163,165)를 회전시킬 수 있다. 전자 장치(101)는, 손 모션 수행을 위하여 모터(164)를 회전시킬 수 있다. 전자 장치(101)는, 바퀴(108,109)의 회전을 위하여 모터(166)를 회전시킬 수 있다. 한편, 제 2 하우징(103) 내에는 프로세서(120) 및 메모리(130)가 포함될 수도 있다. 도 1c에 제 2 하우징(103) 내에 프로세서(120) 및 메모리(130)가 포함되는 것으로 예시하였으나, 설계에 따라서 제 1 하우징(102)에 프로세서(120) 및 메모리(130)가 포함될 수 있다.
도 1d는 다양한 실시예에 따른 복수 개의 마이크의 배치를 설명하기 위한 전자 장치의 평면도이다.
도 1d를 참조하면, 다양한 실시예에 따라서, 제 1 하우징(102)의 복수 개의 지점들에 마이크들(151,152,153,154)이 위치할 수 있다. 예를 들어, 음성이 제 1 지점(115)에서 발생한 경우를 상정한다. 제 1 지점(115)과 마이크(151) 사이의 거리는 제 1 거리(116)일 수 있으며, 제 1 지점(115)과 마이크(152) 사이의 거리는 제 2 거리(117)일 수 있으며, 제 1 지점(115)과 마이크(153) 사이의 거리는 제 3 거리(118)일 수 있으며, 제 1 지점(115)과 마이크(154) 사이의 거리는 제 4 거리(119)일 수 있다. 거리가 서로 상이하기 때문에, 제 1 지점(115)으로부터 발생한 음성은 각각 상이한 시점(time point)에 마이크(151,152,153,154) 각각에서 수신될 수 있다. 전자 장치(101)는, 마이크(151,152,153,154) 각각에서 음성이 수신된 시각(예를 들어, t1, t2, t3, t4)을 이용하여, 전자 장치(101)에 대한 음성이 발생한 지점(예: 제 1 지점(115))의 상대적인 방향을 결정할 수 있다. 예를 들어, 전자 장치(101)는 t1-t2, t1-t3, t1-t4, t2-t3, t2-t4, t3-t4의 시각 차이 정보를 이용하여 음성이 발생한 지점의 상대적인 방향을 결정할 수 있다. 전자 장치(101)는, 예를 들어 메모리(130)에 저장된 방향을 결정할 수 있는 프로그램 또는 알고리즘을 이용하여 음성이 발생한 지점의 상대적인 방향을 결정할 수 있다. 또는, 전자 장치(101)는, 예를 들어 메모리(130)에 저장된 마이크별 수신 시각의 차이와 음성이 발생한 지점의 방향 사이의 룩업(lookup) 테이블을 이용하여, 음성이 발생한 지점의 상대적인 방향을 결정할 수도 있다. 전자 장치(101)는 다양한 방식, 예를 들어 TDOA(time difference of arrival) 또는 FDOA(frequency difference of arrival) 등의 방식으로 음성이 발생한 지점의 상대적인 방향을 결정할 수 있으며, 결정을 위한 프로그램 또는 알고리즘의 종류에는 제한이 없다.
도 2는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 2의 실시예는 도 3a 및 3b를 참조하여 더욱 상세하게 설명하도록 한다. 도 3a 및 3b는 다양한 실시예에 따른 전자 장치의 이동을 설명하기 위한 도면을 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 201 동작에서, 수행할 태스크를 확인할 수 있다. 전자 장치(101)가 특정 동작을 수행하는 것은, 예를 들어 전자 장치(101)에 포함된 프로세서(120)가, 특정 동작을 수행하거나, 특정 동작을 수행하도록 다른 하드웨어를 제어하는 것을 의미할 수 있다. 또는, 전자 장치(101)가 특정 동작을 수행하는 것은, 예를 들어 전자 장치(101)에 포함된 메모리(130)에 저장된 적어도 하나의 명령이 실행됨에 따라서, 프로세서(120)가 특정 동작을 수행하거나, 특정 동작을 수행하도록 다른 하드웨어를 제어하는 것을 의미할 수도 있다. 예를 들어, 전자 장치(101)는, 획득한 음성에 대응하는 태스크를 확인하거나, 모션 인식 결과에 대응하는 태스크를 확인할 수 있다.
다양한 실시예에 따라서, 전자 장치(101)는 외부 음성을 전기적인 신호로 변환하는 마이크를 포함할 수 있으며, 주변에서 발화된 음성을 전기적인 신호로 변환할 수 있다. 전자 장치(101)는, 전기적인 신호에 대하여 다양한 필터링을 수행하여 노이즈(noise)를 제거하거나, 또는 전기적인 신호를 증폭할 수도 있다. 전자 장치(101)는, 음성에 대응하는 전기적인 신호를 분석하여, 적어도 분석 결과에 기반하여 음성에 대응하는 태스크를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 마이크로부터 수신된 전기적인 신호에 대하여 자동 스피치 인식(automatic speech recognition: ASR)을 적용하여 전기적인 신호에 대응하는 텍스트를 획득할 수 있다. 전자 장치(101)는, 획득한 텍스트에 대하여 자연어 이해(natural language understanding: NLU)를 적용하여, 텍스트에 대한 이해 결과를 획득할 수 있으며, 적어도 이해 결과에 기반하여, 음성에 대응하는 태스크를 확인할 수 있다. 예를 들어, 전자 장치(101)는, "사진 찍어줘"라는 음성에 대응하는 전기적인 신호에 ASR 및 NLU를 적용하여, 음성에 대응하는 태스크가 "사진 촬영"이라는 것을 확인할 수 있다. 다양한 실시예에서, 전자 장치(101)는, 마이크로부터 획득한 전기적인 신호에 대하여 전처리(pre-processing)를 하거나, 또는 획득한 그대로 통신 모듈(190)을 통해 외부 서버(미도시)로 송신할 수도 있다. 외부 서버는, 전자 장치(101)로부터 수신한 음성에 대응하는 전기적인 신호에 ASR 및 NLU를 적용할 수 있으며, 적어도 적용 결과에 기반하여 전자 장치(101)가 수행할 태스크를 확인할 수 있다. 외부 서버는, 확인된 태스크와 관련된 정보를 전자 장치(101)로 송신할 수도 있으며, 전자 장치(101)는 적어도 수신한 정보에 기반하여 태스크를 확인할 수 있다. 외부 서버는, NLU 처리 결과를 그대로 전자 장치(101)로 송신할 수 있거나, 또는 NLU 처리 결과에 따라 전자 장치(101)가 수행하여야 할 적어도 하나의 서브 태스크의 순차적인 실행 과정에 대한 정보를 송신할 수도 있다. 전자 장치(101)는, NLU 처리 결과에 따라 동작하거나, 또는 순차적인 실행 과정에 따라 서브 태스크를 수행할 수도 있다. 또는, 전자 장치(101)는, 전기적인 신호에 ASR을 수행하여 텍스트를 획득할 수도 있으며, 텍스트와 연관된 정보를 외부 서버로 송신할 수도 있다. 외부 서버는, 수신한 텍스트와 연관된 정보에 NLU를 적용할 수 있으며, 적어도 적용 결과에 기반하여 전자 장치(101)가 수행할 태스크를 확인할 수 있다. 외부 서버는, 확인된 태스크와 관련된 정보를 전자 장치(101)로 송신할 수도 있으며, 전자 장치(101)는 적어도 수신한 정보에 기반하여 태스크를 확인할 수 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 음성 인식이 아닌 다른 방식으로 태스크를 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 적어도 하드웨어 버튼의 조작에 기반하여 태스크를 확인할 수 있거나, 또는 적어도 터치스크린 상에 표시되는 적어도 하나의 조작을 위한 그래픽 오브젝트에 대한 사용자의 터치에 기반하여 태스크를 확인할 수도 있다. 또는, 전자 장치(101)는 사용자의 모션을 인식하여, 모션 인식 기반으로 태스크를 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 사용자의 모션을 검출할 수 있는 다양한 센서(예: 이미지 센서 또는 초음파 센서)를 포함할 수 있으며, 적어도 센서를 통하여 획득한 데이터에 기반하여 사용자의 모션을 검출할 수 있다. 전자 장치(101)는, 시간의 흐름에 따라 사용자를 촬영한 복수 개의 이미지의 분석 결과에 기반하여 사용자의 모션을 확인할 수 있다. 전자 장치(101)는, 스켈레톤(skeleton) 기반의 HPR(human posture recognition) 등의 다양한 방식에 따라 사용자의 모션을 검출할 수 있다. 전자 장치(101)는, 사용자의 모션 및 태스크 사이의 연관 정보를 미리 저장할 수 있다. 예를 들어, 사용자가 오른쪽 손을 주먹을 쥐었다 펼치는 모션이 이미지 촬영 태스크와 연관되어 전자 장치(101)에 미리 저장될 수 있다. 추후에, 전자 장치(101)가 사용자의 오른쪽 손이 주먹을 쥐었다 펼치는 모션을 검출하는 경우에는, 전자 장치(101)는 이미지 촬영의 태스크를 수행할 것으로 확인할 수 있다. 사용자의 모션 및 태스크 사이의 연관 정보는, 전자 장치(101)에 미리 설정될 수도 있으며, 사용자는 이 경우에 전자 장치(101)에서 제공하는 조작법에 따라 태스크 수행 명령을 수행할 수 있다. 다른 예에서, 사용자의 모션 및 태스크 사이의 연관 정보는 사용자에 의하여 설정될 수도 있으며, 이 경우 사용자의 모션 및 태스크 사이의 연관 정보는 사용자 별로 상이할 수 있다. 전자 장치(101)는, 사용자 식별 정보별로 사용자의 모션 및 태스크 사이의 연관 정보를 구분하여 관리할 수도 있다. 사용자의 모션 및 태스크 사이의 연관 정보는, 갱신될 수도 있다. 예를 들어, 전자 장치(101)는, 사용자로부터의 피드백 결과에 따라 사용자의 모션 및 태스크 사이의 연관 정보를 갱신할 수도 있다. 사용자의 모션을 검출하는 센서, 또는 모션 인식 알고리즘에는 제한이 없다.
다양한 실시예에 따라서, 전자 장치(101)는, 다른 전자 장치로부터 태스크를 직접 나타내는 정보, 또는 전자 장치(101)의 조작을 위한 적어도 하나의 정보를 포함하는 통신 신호를 수신할 수도 있다. 예를 들어, 사용자는 다른 전자 장치(예: 스마트 폰, 또는 웨어러블 전자 장치)에 사진 촬영을 요청하는 사용자 입력을 수신할 수 있다. 다른 전자 장치는, 적어도 사용자 입력과 연관된 정보 또는 사용자 입력에 기반하여 확인한 태스크와 연관된 정보를 포함하는 통신 신호를 전자 장치(101)로 송신할 수 있다. 다른 전자 장치는, ASR 또는 NLU 중 적어도 하나를 수행하거나, 외부 서버를 통하여 수행할 수도 있으며, 이 경우 다른 전자 장치는, 확인한 태스크와 연관된 정보를 전자 장치(101)로 송신할 수도 있다. 또는, 사용자는, 리모트 컨트롤러와 같은 비교적 단순한 전자 장치를 조작할 수도 있으며, 이 경우 전자 장치(101)는 리모트 컨트롤러로부터 수신된 적외선 신호를 현재 전자 장치(101)의 상태에 적용함으로써, 수행하여야 할 태스크를 확인할 수도 있다. 예를 들어, 전자 장치(101)의 상태가 볼륨 조정 상태인 경우에, 리모트 컨트롤러의 상측 방향 키에 대응하는 IR 신호가 수신되면, 전자 장치(101)는 볼륨 증가의 태스크를 수행할 수도 있다. 또는, 전자 장치(101)가 모드 선택 상태에서, 인디케이터가 사진 촬영 모드에 있는 동안, 리모트 컨트롤러의 확정(enter) 키에 대응하는 IR 신호가 수신되면, 전자 장치(101)는 “사진 촬영”의 태스크를 확인할 수 있다. 상술한 바와 같이, 전자 장치(101)는, 음성 인식 기반으로 태스크를 확인하거나, 외부 입력 방식으로 태스크를 확인하거나, 또는 외부로부터 통신 신호를 수신하는 방식으로 태스크를 확인할 수 있으며, 전자 장치(101)가 태스크를 확인하는 방식에는 제한이 없음을 당업자는 이해할 수 있을 것이다. 태스크 수행 명령을 획득할 수 있는, 카메라, 마이크, 또는 다양한 센서 들을 입력 장치로 명명할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 태스크를 확인하는 중임을 나타내는 메시지 또는 태스크의 확인 결과를 나타내는 메시지를, 출력 장치(170)을 통하여 시각적 또는 청각적으로 사용자에게 제공할 수도 있다. 사용자로부터 수정(correction) 명령이 수신되면, 전자 장치(101)는, 태스크 확인을 다시 수행할 수도 있다. 예를 들어, 사용자가 “show me pictures of Gangnam”의 음성을 발화한 경우에, 전자 장치(101)가 음성을 수신하여 ASR을 적용한 결과 “show me pictures of Gwangnam”의 텍스트를 획득할 수도 있다. 전자 장치(101)는, 수행할 태스크를 “광남의 사진을 표시”로 확인할 수 있으며, 태스크 확인 결과를 표시할 수 있다. 사용자는, 태스크 확인 결과가 자신의 의도한 것과 차이가 있음을 확인하고, 이에 대한 수정 명령을 발화할 수 있다. 예를 들어, 사용자는, “Not Gwangnam, but Gangnam”의 수정 명령의 음성을 발화할 수 있다. 전자 장치(101)는, 음성에 대하여 ASR을 적용하여 “Not Gwangnam, but Gangnam”의 텍스트를 획득할 수 있다. 전자 장치(101)는, 획득한 텍스트에 대하여 NLU를 적용하여, 해당 텍스트가 의미하는 바가, 기존에 확인한 태스크 확인 결과 중 적어도 일부(예: Gwangnam)를 다른 단어(예: Gangnam)으로 변경하는 것으로 확인할 수 있다. 전자 장치(101)는, NLU 적용 결과에 따라, 태스크를 “show me pictures of Gwangnam”의 Gwangnam을 Gangnam으로 변경한 “show me pictures of Gangnam”으로 확인할 수 있다. 전자 장치(101)는, 변경된 태스크를 다시 표시할 수도 있으며, 사용자로부터 확정 명령을 수신하면 이에 대응하여, 변경된 태스크를 수행할 수도 있다.
또는, 태스크 확인이 실패한 경우에, 전자 장치(101)는 사용자의 근처로 이동하여 사용자에게 음성을 다시 발화할 것을 요청하는 메시지를 출력할 수도 있다. 또는, 전자 장치(101)는, 음성에 대응하는 태스크가 복수 개로 확인된 경우에는, 복수 개의 후보를 출력하고, 적어도 이에 대한 추가적인 사용자 입력에 기반하여 태스크를 결정할 수도 있다. 또는, 전자 장치(101)는, 복수 개의 후보 또는 음성을 다시 요청하는 메시지를, 대화 형식에 따른 음성으로 출력할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 203 동작에서, 사용자의 위치를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 음성을 발화한 사용자의 위치 및/또는 음성이 발화된 방향을 확인할 수 있다. 전자 장치(101)는, 복수 개의 마이크(150)를 포함할 수도 있으며, 적어도 복수 개의 마이크에서 음성이 수신된 시점의 차이에 기반하여 음성이 발화된 방향을 확인할 수 있다. 전자 장치(101)는, 음성이 발화된 방향으로 카메라(180)를 향하도록 전자 장치(101)가 향하는 방향을 조정할 수 있다. 전자 장치(101)는, 카메라(180)를 이용하여 촬영된 이미지를 획득할 수 있으며, 적어도 이미지 분석 결과에 기반하여 사용자의 위치를 확인할 수 있다. 또는, 전자 장치(101)는, 카메라(180)를 이용하여 전방위 스캐닝을 수행할 수도 있으며, 적어도 스캐닝 결과에 기반하여 사용자의 위치를 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 실내의 복수 개의 위치를 촬영할 수 있도록, 회전 또는 이동할 수 있으며, 적어도 실내의 복수 개의 위치에 대한 촬영된 이미지에 기반하여 사용자의 위치를 확인할 수 있다. 전자 장치(101)는, 촬영된 이미지로부터 사용자, 즉 인간의 형상을 인식할 수 있으며, 적어도 인식된 오브젝트가 위치한 위치 또는 크기 중 적어도 하나에 기반하여, 전자 장치(101)를 기준으로 한 사용자의 위치 또는 실내의 절대 좌표계 내에서의 사용자의 위치를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 전자 장치(101)의 현재 위치를 기준으로, 사용자가 위치한 방향 또는 사용자까지의 거리 중 적어도 하나를 확인할 수 있다. 전자 장치(101)는 이미지 분석 결과에 이용하여 거리를 확인하거나, 또는 적어도 센서(176)로부터의 데이터에 기반하여 거리를 확인할 수도 있다. 또는, 전자 장치(101)는, 공간의 일 지점을 기준으로 설정된 절대 좌표계 내에서의 사용자의 좌표를 확인할 수도 있다. 전자 장치(101)는, 이미지로부터의 인식 결과와 함께, 전자 장치(101)가 위치한 공간의 맵 데이터를 이용하여 사용자의 위치를 확인할 수도 있다. 다양한 실시예에 따라서, 맵 데이터는, 장애물의 위치를 나타내는 맵 데이터, 소음 레벨을 나타내는 맵 데이터, 또는 밝기 정보를 나타내는 맵 데이터 등의 다양한 정보로서 구현될 수 있다. 전자 장치(101)는, 다른 전자 장치로부터 맵 데이터를 수신하거나, 또는 전자 장치(101)가 직접 공간의 복수 개의 지점들을 이동하면서 맵 데이터를 생성할 수 있다. 또는, 전자 장치(101)가, 통신 신호를 수신하는 경우에는, 전자 장치(101)는 수신된 통신 신호 내의 정보(예: 통신 신호의 송신 세기 또는 통신 신호의 송신 시점에 대한 정보 등), 통신 신호의 수신 세기, 통신 신호의 수신 위상, 또는 통신 신호의 수신 시점 중 적어도 하나에 기반하여, 사용자의 위치를 확인할 수도 있다. 전자 장치(101)는, 주기적 또는 비주기적으로, 실내 환경에서 위치한 사용자들의 위치를 확인하여 관리할 수도 있으며, 태스크 수행 시점에서 관리하고 있던 위치를 이용할 수도 있다. 또는, 전자 장치(101)는, 태스크 수행 명령의 수신에 대한 응답으로, 사용자의 위치를 확인할 수도 있다.
205 동작에서, 전자 장치(101)는, 태스크에 대응하는 사용자를 식별할 수 있다. 예를 들어, 전자 장치(101)는 사용자 음성을 발화한 사용자를 식별할 수 있다. 또는, 전자 장치(101)는, 태스크 수행 명령을 요청한 사용자를 식별할 수도 있다. 전자 장치(101)는, 사용자에 대하여 촬영된 이미지를 분석하여, 적어도 분석 결과에 기반하여 사용자를 식별할 수 있다. 전자 장치(101)는, 다양한 인식 알고리즘을 촬영된 이미지에 적용하여 사용자를 식별할 수 있다. 전자 장치(101)는, 적어도 얼굴 인식, 사용자 움직임 패턴 인식, 다양한 생체 정보 인식 등의 이미지로부터 획득할 수 있는 다양한 정보에 기반하여 사용자를 식별할 수 있으며, 이미지를 이용하여 사용자를 식별하는 방식에는 제한이 없음을 당업자는 이해할 것이다. 전자 장치(101)는, 촬영한 이미지를 외부 서버로 송신할 수도 있으며, 외부 서버에 의하여 확인된 식별 결과를 수신할 수도 있다. 다양한 실시예에서, 전자 장치(101)는 사용자에 대한 이미지 분석 방식 이외에도 다양한 방식을 이용하여 사용자 식별을 수행할 수도 있다. 예를 들어, 전자 장치(101)는, 수집한 음성을 분석하여 성문(voice print)을 획득할 수도 있으며, 적어도 획득한 성문에 기반하여 사용자 식별을 수행할 수도 있다. 전자 장치(101)는, 실내 환경에 위치할 수 있는 사용자 후보에 대한 정보를 미리 저장할 수도 있으며, 사용자 후보에 대한 정보와 이미지로부터 추출한 정보를 비교하여 사용자를 식별할 수도 있다. 또는, 전자 장치(101)가 통신 신호를 수신한 경우에는, 적어도 통신 신호 내의 식별 정보에 기반하여 사용자를 식별할 수도 있다. 또는, 전자 장치(101)는, 센서 모듈(176)을 이용하여 획득한 다양한 생체 정보(예: 지문 인식 정보, 홍채 인식 정보 등)를 이용하여 사용자를 식별할 수도 있다. 다양한 실시예에 따라서, 전자 장치(101)는 음성을 발화하거나, 또는 통신 신호를 송신하도록 조작한 사용자가 아닌, 태스크 수행과 연관된 사용자를 식별할 수도 있다. 예를 들어, 제 1 사용자가, "제 2 사용자를 찍어줘"라는 음성을 발화할 수도 있다. 이 경우, 전자 장치(101)는, 음성을 발화한 제 1 사용자를 검색하지 않고, 태스크와 연관된 제 2 사용자의 위치를 확인 및 식별할 수 있다. 즉, 전자 장치(101)는, 식별 목표를 결정하고, 이후에 식별 목표에 매칭되는 이미지 내의 오브젝트를 검색할 수도 있으며, 이를 이용하여 제 2 사용자의 위치를 확인할 수도 있다.
207 동작에서, 전자 장치(101)는, 적어도 태스크 및 식별된 사용자 정보에 기반하여, 사용자 정보에 대응하는 사용자의 위치를 기준으로 하는 전자 장치(101)의 목적 지점을 확인할 수 있다. 209 동작에서, 전자 장치(101)는, 확인된 목적 지점으로 이동할 수 있다. 다양한 실시예에서, 전자 장치(101)는, 사용자별 태스크 수행 선호 위치에 대한 정보를 이용하여, 사용자의 위치를 기준으로 하는 전자 장치(101)의 목적 지점을 확인할 수 있다. 예를 들어, 전자 장치(101)는, 표 1과 같은 정보를 미리 저장할 수 있다.
태스크 종류 사용자 식별 정보 태스크 수행 선호 위치
사진 촬영 Tom (θ1, φ1) 방향, d1 거리
Teddy (θ2, φ2) 방향, d2 거리
전자 장치(101)의, 표 1과 같은 사용자별 태스크 수행 선호 위치는, 사용자에 의하여 설정될 수 있거나, 또는 전자 장치(101) 또는 외부 전자 장치에 의하여 생성될 수 있다. 표 1과 같은 정보가 생성되는 과정에 대하여서는 더욱 상세하게 설명하도록 한다. 예를 들어, 도 3a에서와 같이, 전자 장치(101)는 제 1 사용자(301)가 "사진 찍어줘"라는 음성을 발화한 것을 확인할 수 있다. 전자 장치(101)는 제 1 지점(310)에 위치할 수 있으며, 제 1 사용자(301)가 "Tom"인 것으로 식별할 수 있다. 전자 장치(101)는, 제 1 사용자(301)의 위치가 제 2 지점(302)인 것을 확인할 수 있다. 전자 장치(101)는, 제1 사용자(301)의 위치뿐만 아니라. 제 1 사용자(301)의 얼굴이 향하는 방향을 확인할 수 있다. 전자 장치(101)는, 제 1 사용자(301)인 "Tom"의 태스크 수행 선호 위치가 사용자의 위치를 기준으로 "(θ1, φ1) 방향, d1 거리"인 것을 확인할 수 있다. 전자 장치(101)는, 제 1 사용자(301)의 위치인 제 2 지점(302)을 기준으로 제 1 거리(d1)만큼 떨어져 있고, 제 1 사용자(301)의 얼굴이 향하는 방향을 기준으로 (θ1, φ1) 방향인 제 3 지점(312)으로 이동(311)할 수 있다. 아울러, 전자 장치(101)는, 제 3 지점(312)에서 전자 장치(101)가 향하는 방향 및 제 1 사용자(301)의 얼굴이 향하는 방향이 (θ1, φ1) 방향이 되도록 회전할 수도 있다. 즉, 전자 장치(101)의 카메라가 향하는 방향과 제 1 사용자(301)의 얼굴이 향하는 방향이 (θ1, φ1) 방향이 되도록, 전자 장치(101)는 이동 또는 회전 중 적어도 하나를 수행할 수 있다. 예를 들어, 도 3b에서와 같이, 전자 장치(101)는 제 2 사용자(321)가 "사진 찍어"라는 음성을 발화한 것을 확인할 수 있다. 전자 장치(101)는 제 1 지점(310)에 위치할 수 있으며, 제 2 사용자(321)가 "Teddy"인 것으로 식별할 수 있다. 전자 장치(101)는, 제 2 사용자(321)의 위치가 제 2 지점(302)인 것을 확인할 수 있다. 전자 장치(101)는, 제 2 사용자(321)의 얼굴이 향하는 방향을 확인할 수 있다. 전자 장치(101)는, 제 2 사용자(321)인 "Teddy"의 태스크 수행 선호 위치가 사용자의 위치를 기준으로 "(θ2, φ2) 방향, d2 거리"인 것을 확인할 수 있다. 전자 장치(101)는, 제 2 사용자(321)의 위치인 제 2 지점(302)을 기준으로 제 2 거리(d2)만큼 떨어져 있고, 제 2 사용자(321)의 얼굴이 향하는 방향을 기준으로 (θ2, φ2) 방향인 제 4 지점(314)으로 이동(313)할 수 있다. 아울러, 전자 장치(101)는, 제 4 지점(314)에서 전자 장치(101)가 향하는 방향 및 제 2 사용자(321)의 얼굴이 향하는 방향이 (θ2, φ2) 방향이 되도록 회전할 수도 있다.
상술한 바와 같이, 전자 장치(101)는, 동일한 위치에서 동일한 방향으로 위치한 서로 다른 사용자가 동일한 태스크 수행을 요청한 경우에, 사용자별로 상이한 태스크 수행 위치로 이동할 수 있다. 이에 따라, 사용자별로 최적화된 위치에서 태스크를 수행할 수 있는 전자 장치(101) 및 그 동작 방법이 제공될 수 있다. 전자 장치(101)는, 내부의 프로세서(120)가 표 1과 같은 정보를 생성하고 저장할 수 있다. 또는, 외부 전자 장치(예: 서버)가 표 1과 같은 정보를 생성 및 저장할 수 있으며, 이 경우 전자 장치(101)는 촬영 결과 또는 사용자 식별 정보를 외부 전자 장치로 송신할 수 있다. 예를 들어, 전자 장치(101) 또는 외부 전자 장치는, 전자 장치(101)가 특정 사용자에 대하여 특정 태스크를 다양한 조건에서 복수 회 수행할 수 있다. 전자 장치(101)는, 사용자로부터 직접적인 피드백, 또는 사용자의 선호도를 확인할 수 있는 팩터(예: 이미지 삭제, SNS 업로드 등)를 이용하여 해당 태스크 수행 조건에 대한 스코어를 확인할 수도 있다. 하나의 실시예에서, 전자 장치(101)는, 사용자의 활동을 지속적으로 모니터링할 수 있으며, 모니터링 결과에 기반하여 스코어를 확인하거나, 또는 기존의 스코어를 갱신할 수 있다. 예를 들어, 전자 장치(101)는, 촬영된 이미지에 대한 SNS 업로드, 다른 전자 장치로의 전송, 이미지 삭제 등의 사용자의 활동에 대응하여 스코어를 확인 또는 갱신할 수 있다. 또 다른 예에서, 전자 장치(101)가 음악을 재생하는 경우에, 사용자의 음악에 대한 집중도를 확인할 수도 있으며, 확인 결과에 따라 스코어를 확인 또는 갱신할 수도 있다. 예를 들어, 전자 장치(101)는, 사용자를 촬영한 이미지를 분석하여 사용자의 움직임이 임계치 미만인 경우에 사용자의 집중도가 상대적으로 높은 것으로 확인할 수 있다. 또는, 전자 장치(101)는, 하나의 음악을 스킵하지 않고 재생하는 기간에 기반하여 사용자의 집중도를 확인할 수도 있다. 또 다른 예에서, 전자 장치(101)는 사용자의 식별 정보에 따라 스코어를 확인할 수도 있다. 예를 들어, 전자 장치(101)는 전자 장치(101)의 소유자로 확인되는 사용자에 대하여서는, 스코어 확인 시 상대적으로 높은 가중치를 부여할 수 있으며, 소유자 이외의 사용자에 대하여서는 스코어 확인 시 상대적으로 낮은 가중치를 부여할 수도 있다.
전자 장치(101)는, 다양한 태스크 수행 조건 각각에 대한 피드백에 기반하여 표 1과 같은 연관 정보를 생성할 수 있다. 전자 장치(101)가 표 1과 같은 연관 정보를 생성하는 과정에 대하여서는 더욱 상세하게 후술하도록 한다.
외부 전자 장치는, 수신한 촬영 결과를 분석하여 사용자를 식별하거나 또는 수신된 식별 정보에 대응하여, 최적의 태스크 수행 위치 또는 방향 중 적어도 하나를 확인할 수 있다. 외부 전자 장치가 전자 장치(101)로 확인된 태스크 수행 위치 또는 방향 중 적어도 하나를 송신하면, 전자 장치(101)는 적어도 수신된 정보에 기반하여 이동 또는 회전 중 적어도 하나를 수행할 수 있다.
다양한 실시예에서, 전자 장치(101)는, 205 동작에서 사용자 식별에 실패할 수도 있다. 예를 들어, 전자 장치(101)는, 촬영된 이미지로부터 분석된 얼굴 인식 정보가 미리 등록되지 않거나, 또는 성문 정보가 미리 등록되지 않은 것을 확인할 수 있다. 이 경우, 전자 장치(101)는, 지정된 초기 조건 또는 랜덤 조건에 따라 태스크를 수행할 수 있다. 또는, 전자 장치(101)는, 분석된 인식 정보(예: 얼굴 인식 정도, 또는 성문 정보)와 유사한 속성을 가지는 사용자에 대응하여 설정된 태스크 수행 조건에 따라 동작할 수도 있다. 상술한 사용자 식별에 실패한 경우의 전자 장치(101)의 동작 방법에 대하여서는, 도 8a 및 8b를 참조하여 더욱 상세하게 설명하도록 한다.
도 3c 및 3d는 다양한 실시예에 따른 태스크 수행을 위한 전자 장치의 회전을 설명하기 위한 도면들을 도시한다.
도 3c를 참조하면, 도 3b에서와 같이 전자 장치(101)는 제 4 지점(314)으로 이동할 수 있다. 전자 장치(101)는 제 4 지점(314)으로 이동한 경우, 제 2 방향(332)을 향할 수 있다. 제 2 방향은 (x2,y2,z2)의 절대 좌표계 내에서의 벡터로 표현될 수 있으나, 방향의 표현 방식에는 제한이 없음을 당업자는 이해할 것이다. 전자 장치(101)는, 제 2 사용자(321)가 제 1 방향(331)(예: (x1,y1,z1)의 벡터 방향)을 향하는 것을 확인할 수 있다. 전자 장치(101)는, 제 2 사용자(321)를 촬영한 이미지를 분석하여 제 2 사용자(321)의 얼굴을 인식할 수 있으며, 얼굴 내의 오브젝트들(왼쪽 눈, 오른쪽 눈, 코, 입)을 인식할 수 있다. 전자 장치(101)는, 예를 들어 적어도 얼굴 내의 오브젝트들의 형상 또는 상대적인 위치 관계 중 적어도 하나에 기반하여, 제 2 사용자(321)가 제 1 방향(331)을 향하는 것을 확인할 수 있다. 또는, 전자 장치(101)는, 스켈레톤(skeleton) 기반의 HPR(human posture recognition) 등의 다양한 방식에 따라, 제 2 사용자(321)가 향하는 제 1 방향(331)을 확인할 수도 있다.
상술한 바와 같이, 전자 장치(101)는 제 2 사용자(321)에 대응하는 태스크 수행 조건을 확인할 수 있다. 전자 장치(101)는, 제 2 사용자(321)에 대응하는 촬영 각도가 표 1에서와 같이, 예를 들어 (θ2, φ2) 방향인 것을 확인할 수 있다. 전자 장치(101)는, 제 1 방향(331)을 기준으로, (θ2, φ2) 방향을 적용한 제 3 방향(333)을 확인할 수 있으며, 제 3 방향(333)은 예를 들어 (x3,y3,z3) 벡터의 절대 좌표로 표현될 수도 있다. 이 경우, 전자 장치(101)는, 제 2 사용자(321)의 얼굴 중 적어도 하나의 지점을 기준으로 (x3,y3,z3) 벡터의 절대 좌표를 확인할 수 있다. 전자 장치(101)는, 도 3d에서와 같이, 전자 장치(101)가 도 3c에 도시된 제 2 방향(332)으로부터 제 4 방향(334)을 향하도록, 하우징 중 적어도 일부를 회전시킬 수 있다. 제 4 방향(334)은, 예를 들어 도 3c에 도시된 제 3 방향(333)과 동일한 방향 또는 역방향일 수도 있다. 전자 장치(101)는, 회전에 따라, 전자 장치(101)의 카메라가 향하는 방향이 제 2 사용자(321)가 향하는 방향을 기준으로 하여 지정된 촬영 방향이 되도록 제어할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 적어도 지정된 정보에 기반하여 일차적으로 이동 또는 회전 중 적어도 하나를 수행할 수 있다. 전자 장치(101)는, 이동 또는 회전 중 적어도 하나를 수행한 이후에, 사용자를 촬영하면서, 미리 지정된 오브젝트의 형상 또는 오브젝트 사이의 상대적인 관계가 검출될 때까지 이동 또는 회전 중 적어도 하나를 추가적으로 수행할 수도 있다. 이 경우, 전자 장치(101)는, 적어도 미리 지정된 패턴에 기반하여 추가적인 이동 또는 회전 중 적어도 하나를 수행할 수 있다. 또는, 전자 장치(101)는, 이미지 내의 오브젝트의 형상 또는 오브젝트들 사이의 상대적인 위치 관계를 분석하여, 미리 지정된 이미지 내의 오브젝트의 형상 또는 미리 지정된 오브젝트들 사이의 상대적인 위치 관계를 획득하기 위하여 수행되어야 할 이동의 크기 또는 회전의 크기 중 적어도 하나를 확인할 수도 있으며, 확인 결과에 기반하여 추가적인 이동 또는 회전 중 적어도 하나를 수행할 수도 있다.
다양한 실시예에서, 전자 장치(101)는 태스크 수행 명령이 검출되면, 태스크 수행 명령에 대응하는 사용자를 향하여 우선 이동하고, 정확한 목적지는 이동 이후에 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 최초에 태스크 수행에 대응하는 사용자가 향하는 방향을 정확하게 확인하기 어려운 위치에 배치될 수도 있다. 예를 들어, 전자 장치(101)가 사용자의 뒤에 위치한 경우에는, 사용자의 얼굴의 형상을 촬영할 수 없기 때문에, 사용자가 향하는 방향을 확인할 수 없다. 이 경우에, 전자 장치(101)는, 사용자가 향하는 방향을 참조하여 최종 목적지를 확인하기 어려울 수도 있다. 다양한 실시예에 따라서, 전자 장치(101)는 태스크 수행 조건의 확인에 요구되는 정보를 획득할 수 있는 위치로 일차적으로 이동할 수 있다. 전자 장치(101)가, 예를 들어 사용자가 향하는 방향을 확인하여야 하는 경우에는, 전자 장치(101)는 사용자의 얼굴을 촬영할 수 있는 위치로 우선 이동할 수 있다. 예를 들어, 전자 장치(101)는, 사용자에 대한 촬영 이미지가 사용자의 뒷모습인 것을 분석할 수 있으며, 이에 대응하여 사용자의 앞으로 이동할 수 있다. 전자 장치(101)는, 일차 이동 이후에 태스크 수행 조건 결정에 요구되는 정보(예: 사용자의 얼굴 이미지)를 획득할 수 있으며, 획득한 정보에 기반하여 최종 목적지를 확인할 수도 있다. 전자 장치(101)는, 확인된 최종 목적지로 이동할 수 있으며, 태스크 수행 조건에 따라 회전을 수행할 수도 있다. 다양한 실시예에서, 전자 장치(101)는, 이동을 완료하기 이전에도 사용자를 촬영할 수도 있으며, 이동 중에 최종 목적지를 확인할 수도 있다. 전자 장치(101)는, 이동 중에 최종 목적지로 경로를 변경하여 이동할 수도 있다.
도 4a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 4a의 실시예는 도 5a 내지 5c를 참조하여 더욱 상세하게 설명하도록 한다. 도 5a는 다양한 실시예에 따른 적어도 하나의 태스크 수행 조건에서의 태스크 수행을 설명하기 위한 도면이다. 도 5b는 다양한 실시예에 따른 태스크 수행 결과에 대한 데이터베이스를 도시한다. 도 5c는 다양한 실시예에 따른 태스크에 대한 사용자별 태스크 수행 조건을 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 401 동작에서, 적어도 하나의 태스크 수행 조건에서, 제 1 사용자에 대하여 제 1 태스크를 수행할 수 있다. 403 동작에서, 전자 장치(101)는, 제 1 사용자 및 제 1 태스크에 대응하여, 적어도 하나의 태스크 수행 조건을 저장할 수 있다. 405 동작에서, 전자 장치(101)는, 제 1 태스크 수행 결과에 대한 피드백 정보를 획득할 수 있다. 예를 들어, 도 5a에서와 같이, 전자 장치(101)는, 제 1 지점(501)에 위치한 제 1 사용자(301)를, 제 2 지점(502)에서 제 1 촬영 방향(511)으로 촬영함으로써, 제 1 이미지를 획득할 수 있다. 전자 장치(101)는, 도 5b에서와 같이, 제 1 이미지(531)에 대응하는 제 1 정보(541)를 저장할 수 있다. 도 5b에서와 같이, 촬영 태스크 수행 결과에 대한 데이터베이스는, 전자 장치(101)가 피사체의 정면(예: 사용자의 얼굴)이 향하는 방향을 기준으로 위치한 방향, 전자 장치(101)가 피사체로부터 떨어진 거리, 피사체의 정면이 향하는 방향을 기준으로 카메라가 향하는 촬영 방향 등의 태스크 수행 정보(530)와 각 태스크 수행 결과에 대응하는 피드백 정보(540)를 포함할 수 있다. 한편, 도 5b에 도시된, 방향, 거리, 촬영 방향의 태스크 수행 정보는 단순히 예시적인 것이며, 촬영 시간, 촬영 시 주변 밝기, 플레시(flash) 사용 여부, 사용자 연령, 사용자 성별 등과 같은 추가적인 다른 태스크 수행 정보가 더 포함될 수도 있으며, 도 5b의 태스크 수행 정보 중 일부가 제외될 수도 있음을 당업자는 이해할 것이다. 전자 장치(101)는 제 1 이미지(531)에 대응하는 제 1 정보(541)로써, 전자 장치(101)가 위치한 방향이 (θ1,φ1)이며, 전자 장치(101)가 위치한 거리가 X1이며, 촬영 방향이 (θ5,φ5)인 것과, 이에 대응하는 피드백 정보가 "삭제"라는 제 1 정보(541)를 저장할 수 있다. 아울러, 전자 장치(101)는, 도 5a에서와 같이, 다양한 지점들(502,503,504) 각각에서 다양한 촬영 각도(512,513,514)로 촬영을 수행하여 이미지들(532,533,534)을 획득할 수 있다. 전자 장치(101)는, 이미지들(532,533,534) 각각 별로 다양한 태스크 수행 조건들 및 피드백 정보들을 포함하는 제 2 정보(542), 제 3 정보(543) 및 제 4 정보(544)를 저장할 수 있다.
다양한 실시예에 따라서, 피드백 정보(540)는 이미지 삭제, SNS 업로드, 긍정 피드백 수신, SNS 피드백 수신 등의, 이미지에 대한 선호도를 확인할 수 있는 다양한 정보를 포함할 수 있다. 예를 들어, 도시되지는 않았지만, "선호도를 확인할 수 있는 사용자의 표정", "선호도를 확인할 수 있는 사용자의 음성", "선호도를 확인할 수 있는 사용자의 입력", "직접적인 수정 지시", “해당 태스크에 대한 사용자의 실행 빈도” 등의 다양한 정보가 피드백 정보로서 이용될 수 있다. 직접적인 수정 지시는, 사용자가 특정 태스크 수행 조건을 직접적으로 수정하라는 취지의 명령을 의미할 수 있다. 예를 들어, 전자 장치(101)가 특정 촬영 위치에서 촬영을 수행하려고 하는 경우, 사용자가 “No, more left”라는 취지의 직접적인 태스크 수행 조건을 수정하고자 하는 취지의 명령을 발화할 수도 있다. 전자 장치(101)는, 촬영을 수행하고자 하였던 특정 촬영 위치의 태스크 수행 조건이 부정적인 피드백을 가진 것으로 확인할 수 있다. 아울러, 전자 장치(101)는, 사용자로부터 직접적으로 태스크 수행 조건을 입력받을 수도 있으며, 입력받은 태스크 수행 조건에 대하여 상대적으로 높은 스코어를 부여할 수 있다. 다양한 실시예에서, 피드백 정보(540)는, 좋음/싫음의 이분법적인 스코어로 표현될 수 있다. 여기에서, 스코어는 유용성 스코어로 명명될 수도 있으며, 이는 사용자의 효용을 나타낼 수 있는 지표임을 의미할 수 있다. 예를 들어, "SNS 업로드", 또는 "긍정 피드백 수신"은 "좋음"의 스코어에 대응될 수 있으며, "이미지 삭제"는 "싫음"의 스코어에 대응될 수 있다. "SNS 피드백"은, 예를 들어 다른 SNS 계정으로부터 수신된 "좋아요"의 개수가 임계치를 초과하는 경우에는 "긍정"의 스코어로 확인할 수 있으며, "좋아요"의 개수가 임계치 이하인 경우에는 "부정"의 스코어로 확인할 수 있다. 또 다른 실시예에서, 피드백 정보(540)는, 도 5b에서와 같은, 다양한 이벤트의 내용(예: 이미지 삭제, SNS 업로드, 긍정 피드백 수신, 또는 SNS 피드백 수신)을 포함할 수도 있으며, 이 경우 전자 장치(101)는 해당 이벤트를 다양한 수치를 가지는 스코어로서 확인할 수도 있다. 예를 들어, 전자 장치(101)는, "SNS 업로드"와 같은 피드백에 대하여서는 상대적으로 높은 수치의 스코어를 부여할 수 있으며, "이미지 삭제"의 피드백에 대하여서는 상대적으로 낮은 수치의 스코어를 부여할 수 있다. 전자 장치(101)는, 다양한 피드백 정보와 스코어 사이의 연관 정보를 미리 저장할 수도 있으며, 저장된 연관 정보를 이용하여 피드백 정보에 대한 스코어를 확인할 수 있다.
다시 도 4a를 참조하면, 407 동작에서, 전자 장치(101)는, 적어도 하나의 태스크 수행 조건 및 각각에 대응하는 피드백 정보에 기반하여, 태스크 수행 조건 별 유용성 스코어를 확인하여 저장할 수 있다. 409 동작에서, 전자 장치(101)는, 적어도 저장된 태스크 수행 조건 별 유용성 스코어에 기반하여, 제 1 사용자에 대하여 최적화된 태스크 수행 조건을 결정할 수 있다. 예를 들어, 전자 장치(101)는, 도 5b와 같은 다양한 태스크 수행 조건 및 피드백 정보(예: 스코어)에 대하여 클러스터링(clustering)을 수행할 수 있으며, 이에 따라 유사한 태스크 수행 조건들끼리 군집화할 수 있다. 전자 장치(101)는, 군집화된 태스크 수행 조건들 중, 상대적으로 높은 스코어를 가지는 군집의 수행 조건을 제 1 사용자에 대하여 최적화된 태스크 수행 조건으로 결정할 수 있다. 전자 장치(101)는, 태스크 수행 조건의 범위로써 최적화된 태스크 수행 조건을 설정할 수도 있고, 또는 군집의 대푯값(예: 평균, 중간값 등)으로써 최적화된 태스크 수행 조건을 설정할 수도 있다. 다양한 실시예에서, 전자 장치(101)는, 적어도 다양한 학습 모델에 기반하여 태스크 수행 조건을 분류할 수 있으며, 적어도 분류된 태스크 수행 조건 각각에 대응하는 스코어에 기반하여, 사용자별로 최적화된 수행 조건을 확인할 수 있다.
예를 들어, 전자 장치(101)가, 저장된 이야기(story)를 음성으로 출력하는 태스크에 대하여, 어른 사용자에 대하여서는 지정된 바에 따라 제 1 거리에서 태스크를 수행할 수 있다. 전자 장치(101)는, 아이 사용자에 대하여서는 제 1 거리보다 가까운 제 2 거리에서 태스크를 수행할 수 있으며, 눈을 사용자와 마주치는 것과 같은 추가 동작을 수행할 수도 있다.
도 5c는 다양한 실시예에 따른 사용자별 태스크 수행 조건에 대한 정보를 도시한다.
도 5c에서와 같이, 다양한 실시예에 따라서, 전자 장치(101)는 제 1 태스크(560)에 대하여 사용자별(예: 제 1 사용자(561) 및 제 2 사용자(571))로 태스크 수행 조건들을 저장할 수 있다. 전자 장치(101)는, 제 1 사용자(561)에 대하여서는 제 1 순위로 제 1 조건(562), 제 2 순위로 제 2 조건(563), 제 3 순위로 제 3 조건(564) 및 제 4 순위로 제 4 조건(565)을 대응시켜 저장할 수 있다. 예를 들어, 제 1 태스크(560)가 “촬영”인 경우에는, 제 1 조건(562) 내지 제 4 조건(565) 각각은 적어도 하나의 태스크 수행 과정에서 확인된 조건(예: 전자 장치(101) 및 대상체까지의 거리, 전자 장치(101)의 대상체에 대하여 위치한 방향, 전자 장치(101)의 촬영 각도 등)을 포함할 수 있다. 조건은 태스크의 종류에 따라 달라질 수 있다. 아울러, 제 1 조건(562) 내지 제 4 조건(565) 각각은 하나의 값으로 표현될 수 있거나, 또는 지정된 범위로 표현될 수도 있다. 전자 장치(101)는, 순위에 따라서, 태스크 수행 조건을 확인할 수 있으며, 만약 제 1 순위의 제 1 조건(562)이 수행 불가능한 경우에는, 차순위의 조건에 따라 전자 장치(101)의 태스크 수행 조건을 결정할 수도 있다. 전자 장치(101)는, 제 2 사용자(571)에 대하여서는, 제 1 순위로 제 5 조건(572), 제 2 순위로 제 6 조건(573) 및 제 3 순위로 제 7 조건(574)을 대응시켜 저장할 수 있다. 제 1 조건(562) 및 제 5 조건(572)은 상이할 수 있다.
다양한 실시예에서, 전자 장치(101)는, 촬영 시점에서의 전자 장치의 위치, 방향, 촬영 방향 등의 물리적인 팩터(factor)가 아닌, 촬영된 이미지의 분석 결과를 태스크 수행 조건으로 이용할 수도 있다. 전자 장치(101)는, 적어도 이미지 분석 결과에 포함된 다양한 오브젝트들(예: 눈, 코, 입, 얼굴, 목) 각각의 형상 또는 오브젝트들 사이의 상대적인 위치에 기반하여, 이미지를 분류할 수도 있다. 전자 장치(101)는, 다양한 이미지 분류를 위한 학습 모델을 이용하여, 이미지를 분류할 수 있다. 전자 장치(101)는, 분류된 이미지들에 대한 피드백 정보를 기반으로, 최적의 오브젝트 관련 정보(예: 오브젝트들의 형상, 오브젝트들 사이의 상대적인 위치 등)를 확인할 수 있다. 전자 장치(101)는, 식별된 사용자에 따라서, 최적의 오브젝트 관련 정보가 검출될 수 있도록 이동 또는 회전 중 적어도 하나를 수행할 수 있다. 예를 들어, 전자 장치(101)는, 이동, 회전 또는 촬영 방향 변경 중 적어도 하나를 수행하면서, 식별된 사용자를 대상으로 프리뷰 이미지로서 촬영을 수행할 수 있다. 전자 장치(101)는, 프리뷰 이미지에서 확인된 최적의 오브젝트 관련 정보가 검출될 때까지 이동, 회전 또는 촬영 방향 변경 중 적어도 하나를 수행할 수 있다. 전자 장치(101)는, 저장된 최적의 오브젝트 관련 정보와 임계치 이상의 유사도를 가지는 오브젝트 관련 정보가 프리뷰 이미지를 통하여 확인되면, 해당 프리뷰 이미지를 비일시적으로 저장할 수도 있다. 즉, 전자 장치(101)는, 프리뷰 이미지를 통하여 획득하는 이미지의 분석 결과가 저장된 조건에 만족한 것으로 확인되면 해당 이미지를 저장할 수 있다. 또는, 전자 장치(101)는, 해당 태스크 수행 조건에서 추가적인 이미지를 촬영할 수도 있으며, 추가 촬영 시에는 카운트다운을 제공함으로써 사용자로 하여금 포즈를 취할 수 있는 시간을 제공할 수도 있다. 전자 장치(101)는, 사용자별로 최적의 오브젝트와 연관된 정보(예: 오브젝트의 형상 또는 오브젝트 사이의 상대적인 위치)를 저장할 수 있다. 예를 들어, 전자 장치(101)는, 제 1 사용자에 대하여서는 좌상측에서 촬영한 경우에 나타나는 오브젝트 형상에 대한 정보 또는 오브젝트의 상대적인 위치 관계에 대한 정보를 최적의 오브젝트와 연관된 정보로서 저장하고, 제 2 사용자에 대하여서는 우하측에서 촬영한 경우에 나타나는 오브젝트 형상에 대한 정보 또는 오브젝트의 상대적인 위치 관계에 대한 정보를 최적의 오브젝트와 연관된 정보로서 저장할 수 있다. 전자 장치(101)는, 제 1 사용자가 촬영을 요청한 경우에, 지정된 오브젝트 형상 또는 오브젝트 사이의 상대적인 위치 관계와 프리뷰 이미지를 통해 획득되는 오브젝트 관련 정보가 임계치 미만의 유사도가 확인될 때까지 이동 또는 회전 중 적어도 하나를 수행할 수도 있다. 임계치 이상의 유사도의 오브젝트와 연관된 정보가 검출되면, 전자 장치(101)는 이미지를 비일시적으로 저장할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는, 도 5c와 같은 정보와, 오브젝트와 연관된 정보를 모두 이용할 수도 있다. 이 경우, 전자 장치(101)는, 도 5c와 같은 정보를 이용하여 이동 또는 회전 중 적어도 하나를 수행할 수 있으며, 이후 적어도 오브젝트와 연관된 정보에 기반하여 추가적인 이동 또는 회전 중 적어도 하나를 수행할 수 있다.
도 4b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 421 동작에서, 제 1 태스크 및 제 1 사용자에 관련하여, 적어도 하나의 태스크 수행 조건에 대한 유용성 스코어를 저장할 수 있다. 423 동작에서, 전자 장치(101)는, 적어도 저장된 적어도 하나의 태스크 수행 조건에 대한 유용성 스코어에 기반하여 동작할 수 있다. 425 동작에서, 전자 장치(101)는, 적어도, 수행 결과, 수행 중 센싱 데이터 또는 피드백 정보 중 적어도 하나에 기반하여, 제 1 태스크 및 제 1 사용자에 관련하여, 적어도 하나의 태스크 수행 조건에 대한 유용성 스코어를 갱신할 수 있다. 예를 들어, 전자 장치(101)는, 기존에 저장된 최적화된 태스크 수행 조건에 따라 태스크를 수행하였다가, 이에 대한 부정적인 피드백을 수신할 수도 있다. 이 경우, 전자 장치(101)는, 부정적인 피드백에 기반하여 태스크 수행 조건을 차순위 태스크 수행 조건으로 결정할 수도 있으며, 또는 부정적인 피드백을 포함하는 데이터베이스에 대하여 분류를 다시 수행하여 유용성 스코어를 갱신할 수도 있다. 이에 따라, 도 5c와 같은 정보가 갱신될 수 있으며, 데이터베이스의 용량이 커짐에 따라, 도 5c와 같은 정보가 사용자가 의도하는 태스크 수행 조건으로 수렴될 수 있다.
도 6은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 6의 실시예는 도 7을 참조하여 더욱 상세하게 설명하도록 한다. 도 7은 다양한 실시예에 따른 실내 환경에서의 전자 장치의 이동을 설명하기 위한 도면이다.
다양한 실시예에 따라서, 전자 장치(101)는, 601 동작에서, 수행할 태스크를 확인할 수 있다. 603 동작에서, 전자 장치(101)는, 사용자의 위치를 확인할 수 있다. 605 동작에서, 전자 장치(101)는, 태스크에 관련된 사용자를 식별할 수 있다. 607 동작에서, 전자 장치(101)는, 적어도 태스크 및 식별된 사용자 정보에 기반하여, 사용자의 위치를 기준으로 하는 전자 장치의 목적 지점을 확인할 수 있다. 예를 들어, 전자 장치(101)는, 사용자 정보에 대응하는 사용자의 위치를 기준으로 하는 전자 장치의 목적 지점을 확인할 수 있다. 예를 들어, 전자 장치(101)는, 적어도 도 5c와 같은 미리 저장된 태스크 수행 조건에 기반하여, 사용자의 위치를 기준으로 하는 태스크 수행 위치를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 도 7에서와 같이 사용자(701)가 제 1 사용자(예: 도 5c에서의 제 1 사용자(561))인 것을 식별할 수 있다. 전자 장치(101)는, 제 1 사용자(561)에 대응하여 저장된 복수 개의 태스크 수행 조건 중 제 1 순위로 지정된 제 1 조건(562)을 선택할 수 있다. 전자 장치(101)는, 사용자(701)의 현재 위치를 기준으로 제 1 조건(562)을 적용함으로써, 전자 장치의 목적지를 확인할 수 있다.
609 동작에서, 전자 장치(101)는, 확인된 목적지가 태스크 수행이 가능한 범위에 속하는지를 확인할 수 있다. 전자 장치(101)는, 전자 장치(101)가 이동 가능한 범위인지 여부에 따라 태스크 수행이 가능한 범위인지 여부를 확인할 수 있다. 예를 들어, 다른 물체(702)가 위치한 영역으로 전자 장치(101)는 이동할 수 없으므로, 전자 장치(101)는 다른 물체(702)가 위치한 영역은 이동 불가능한 영역으로 확인하고, 태스크 수행이 가능한 범위에서 제외시킬 수 있다. 전자 장치(101)는, 예를 들어 주변을 스캐닝하여 다른 물체(702)의 위치를 미리 파악하여 저장하거나, 또는 태스크 수행 명령이 요청되는 시점에서 다른 물체(702)가 위치하는지 여부를 확인할 수 있다. 또는, 전자 장치(101)는, 실내 환경(700)에 미리 배치된 물체들(예: 물체(702))의 위치에 대한 맵 데이터를 미리 저장할 수도 있으며, 맵 데이터를 이용하여 태스크 수행이 가능한 범위를 확인할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 태스크의 종류에 따라 설정된 태스크 수행이 가능한 범위를 확인할 수도 있다. 예를 들어, 특정 화면을 표시하는 태스크에 대하여서는, 전자 장치(101)로부터 시청이 가능한 거리 및 시청이 가능한 시야각 이내에 사용자가 있을 것이 요구될 수 있으며, 화면 표시의 태스크 수행이 가능한 범위는 전자 장치(101)를 기준으로 지정된 거리 이내 및 지정된 시야각 이내로 지정될 수 있다. 예를 들어, 특정 오디오 정보를 출력하는 태스크에 대하여서는, 전자 장치(101)로부터 청음이 가능한 거리 이내에 사용자가 있을 것이 요구될 수 있으며, 오디오 정보 출력의 태스크 수행이 가능한 범위는 전자 장치(101)를 기준으로 지정된 거리 이내로 지정될 수 있다. 전자 장치(101)는, 햅틱 등의 물리적 정보를 제공하는 태스크에 대응하는 범위, 사용자로부터 입력을 수신하는 태스크에 대응하는 범위 등, 태스크의 종류별로 다양한 태스크 수행이 가능한 범위를 미리 저장하거나 확인할 수 있다. 상술한 다양한 태스크 수행이 가능한 범위는, 태스크 종류뿐만 아니라, 사용자의 위치(예: 사용자의 절대좌표계에서의 위치, 전자 장치(101)를 기준으로 하는 사용자의 위치 등), 사용자가 향하는 방향(예: 사용자의 얼굴의 방향, 사용자의 몸의 방향, 사용자의 귀의 방향 등), 사용자의 상태(사용자가 특정 지점을 주시하는지 여부, 사용자의 액티비티, 사용자의 인터랙션 등), 외부 환경의 상태(예: 소음 레벨, 장애물 유무, 습도, 온도, 밝기 등) 등의 다양한 추가적인 팩터에 의하여 결정될 수도 있다. 또한, 태스크 수행이 가능한 범위는, 전자 장치(101)의 상태(예: 전자 장치(101)의 현재 처리 중인 프로세스의 크기, 잔여 전력량)에 기반하여 결정될 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는 사용자의 상태에 기반하여 태스크 수행이 가능한 범위를 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 사용자가 현재 특정 물체를 주시하는 것을 확인할 수 있다. 전자 장치(101)는, 사용자를 촬영하여 시선을 분석할 수 있으며, 분석 결과 사용자의 시선이 임계치 이상으로 움직이지 않는 것이 검출되면, 이에 대응하여 사용자가 특정 물체를 주시하는 것으로 확인할 수 있다. 전자 장치(101)는, 사용자의 시선에 대응하는 범위를, 태스크 수행이 가능한 범위에서 제외시킬 수 있다. 전자 장치(101)는, 또는 사용자가 다른 사용자와 인터랙션 중인 것이 검출되면, 이에 대응하여 인터랙션을 방해하는 범위를 태스크 수행이 가능한 범위에서 제외시킬 수 있다. 예를 들어, 전자 장치(101)는, 사용자의 인터랙션의 범위 또는 몰입도를, 학습 기반으로 추론하거나 규칙 기반으로 결정할 수 있으며, 또는 두 방법을 함께 이용하여 확인할 수도 있다. 전자 장치(101)는, 사용자와 사용자 주변 환경을 촬영한 이미지를 분석하여, 신 콘텍스트(scene context)를 확인할 수 있고, 오브젝트 레벨로 이미지를 세그먼테이션하여, 사용자 및 세그먼테이션된 오브젝트 사이의 인터랙션 종류, 인터랙션 범위, 인터랙션 방향 등을 확인할 수 있다. 전자 장치(101)는, 태스크 수행이 가능한 범위를, 기존 수행 결과에 대한 데이터베이스를 이용하여 사용자 식별 정보 별 또는 사용자 상태 별로 확인할 수도 있다. 이에 따라 사용자 식별 정보 별 또는 사용자 상태 별로, 태스크 수행이 가능한 범위가 설정될 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 611 동작에서, 확인된 목적 지점이 확인된 범위 이내에 존재하는지 여부를 확인할 수 있다. 확인된 목적 지점이 확인된 범위 이내에 존재하지 않는 것으로 확인되면, 613 동작에서, 전자 장치(101)는 목적 지점을 다시 확인할 수 있다. 확인된 목적 지점이 확인된 범위 이내에 존재하는 것으로 확인되면, 615 동작에서, 전자 장치(101)는 확인된 목적 지점으로 이동하여 태스크 수행할 수 있다. 예를 들어, 전자 장치(101)는, 도 7에서와 같이, 물체(702)의 배치로 인하여 태스크 수행이 가능한 범위에서 제외된 범위 내에 1차적으로 확인된 목적 지점이 속하는 것을 확인할 수 있다. 전자 장치(101)는, 이에 대응하여, 2차적으로 목적 지점을 다시 확인할 수 있다. 전자 장치(101)는, 예를 들어 적어도 차순위로 설정된 태스크 수행 조건에 기반하여 목적 지점을 다시 확인할 수 있다. 전자 장치(101)는, 다시 확인된 목적 지점이 태스크 수행이 가능한 범위에 속하는 것으로 확인되면, 확인된 지점으로 이동(703)할 수 있다. 다양한 실시예에서, 전자 장치(101)는 사용자로부터 직접적인 태스크 수행 조건을 수신할 수도 있으며, 이 경우 전자 장치(101)는 직접적인 태스크 수행 조건에 따라 동작할 수도 있다.
도 8a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 801 동작에서, 수행할 태스크를 확인할 수 있다. 803 동작에서, 전자 장치(101)는, 사용자의 위치를 확인할 수 있다. 805 동작에서, 전자 장치(101)는, 태스크에 관련된 사용자를 식별할 수 있다. 807 동작에서, 전자 장치(101)는, 태스크에 관련하여 식별된 사용자에 대한 태스크 수행 조건이 미리 저장되어 있는지 여부를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 도 5c와 같은 정보를 참조하여, 확인된 태스크에 대응하여 식별된 사용자에 대한 정보가 저장되어 있는지 여부를 확인할 수 있다. 태스크에 관련하여 식별된 사용자에 대한 태스크 수행 조건이 미리 저장된 것으로 확인되면, 전자 장치(101)는, 809 동작에서, 저장된 태스크 수행 조건에 따라 동작할 수 있다. 태스크에 관련하여 식별된 사용자에 대한 태스크 수행 조건이 미리 저장되지 않은 것으로 확인되면, 전자 장치(101)는, 811 동작에서, 지정된 초기 조건 또는 랜덤 조건에 따라 동작할 수 있다. 예를 들어, 전자 장치(101)는, 태스크마다 지정된 초기 조건을 확인할 수 있으며, 사용자에 대한 특별히 저장된 태스크 수행 조건이 없는 경우에는, 초기 조건에 따라 태스크를 수행할 수 있다. 또는, 전자 장치(101)는, 랜덤 조건에 따라 태스크를 수행할 수도 있다. 다양한 실시예에서, 전자 장치(101)는, 805 동작에서의 사용자 식별에 실패하면, 811 동작에서 지정된 초기 조건 또는 랜덤 조건에 따라 동작할 수도 있다. 813 동작에서, 전자 장치(101)는, 태스크에 관련하여 신규 사용자에 대한 태스크 수행 조건을 저장하거나, 또는 태스크 수행 조건 및 유용성 스코어를 저장할 수 있다. 전자 장치(101)는, 지정된 초기 조건 또는 랜덤 조건에 의하여 수행한 태스크에 대한 피드백을 획득할 수 있으며, 이를 이용하여 신규 사용자에 대한 태스크 수행 조건 및 유용성 스코어를 저장할 수 있다.
도 8b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
801 동작 내지 809 동작에 대하여서는, 도 8a를 참조하여 설명하였으므로, 여기에서의 더 이상의 설명은 생략하도록 하다. 태스크에 관련하여, 식별된 사용자에 대한 태스크 수행 조건이 미리 저장되지 않은 것으로 확인되면, 821 동작에서, 전자 장치(101)는, 저장된 사용자 중 식별된 사용자 속성과 유사한 속성을 가지는 사용자를 선택할 수 있다. 전자 장치(101)는, 사용자를 촬영한 이미지를 분석하여, 이미지 내의 사용자의 연령, 사용자의 성별 등의 속성을 확인할 수 있다. 전자 장치(101)는, 저장되어 있던 사용자 중에서, 분석된 속성과 유사한 속성을 사용자를 선택할 수 있다. 다양한 실시예에서, 전자 장치(101)는, 805 동작에서의 사용자 식별에 실패하면, 821 동작에서 저장된 사용자 중 805 동작에서 확인된 속성과 유사한 속성을 가지는 사용자를 선택할 수도 있다. 823 동작에서, 전자 장치(101)는, 선택된 사용자에 대응하는 태스크 수행 조건에 따라 동작할 수 있다. 825 동작에서, 전자 장치(101)는, 태스크에 관련하여 신규 사용자에 대한 태스크 수행 조건을 저장하거나, 또는 태스크 수행 조건 및 유용성 스코어를 저장할 수 있다. 이에 따라, 전자 장치(101)는, 최초 이용하는 사용자에 대하여서도, 지정된 조건 또는 랜덤 조건에 따라 태스크를 수행하지 않고, 사용자가 선호할 가능성이 높은 태스크 수행 조건에 기반하여 동작할 수 있다.
도 9a 및 9b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 9a 및 9b의 실시예는 도 10a 내지 10c를 참조하여 더욱 상세하게 설명하도록 한다. 도 10a 및 10b는 다양한 실시예에 따른 복수 사용자에 대한 태스크 수행을 위한 전자 장치의 이동을 설명하기 위한 도면들을 도시한다. 도 10c는 다양한 실시예에 따른 전자 장치의 회전 또는 촬영 방향 변경을 설명하기 위한 도면을 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 901 동작에서, 복수 사용자와 연관된 태스크 수행 명령을 수신할 수 있다. 예를 들어, 전자 장치(101)는, "우리의 사진을 찍어줘"라는 음성을 획득하여, 음성을 분석할 수 있다. 전자 장치(101)는, 음성이 의미하는 바가, 음성을 발화한 사용자 및 사용자 근처에 있는 사용자를 모두 이미지를 촬영하도록 하는 태스크 수행 명령인 것을, ASR 또는 NLU 중 적어도 하나를 기반으로 확인할 수 있다. 또는, 전자 장치(101)는, 통신 신호를 통하여 복수의 사용자와 연관된 태스크 수행 명령을 획득하거나, 또는 포함하고 있는 입력 장치를 통하여 복수의 사용자와 연관된 태스크 수행 명령을 획득할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 903 동작에서, 음성을 발화한 사용자를 포함하는 복수 사용자 각각의 위치를 확인할 수 있다. 이때, 전자 장치(101)는 복수 사용자 각각의 위치를 전자 장치(101)를 기준으로 하는 방향과 거리로 설정할 수 있다. 전자 장치(101)는, 우선 상술한 다양한 방식에 따라서 음성을 발화한 사용자의 위치를 확인할 수 있으며, 음성을 발화한 사용자를 포함하는 신(scene)을 촬영할 수 있다. 전자 장치(101)는, 촬영된 이미지를 분석하여, 음성을 발화한 사용자 근처에 있는 다른 사용자들의 위치를 확인할 수 있다. 전자 장치(101)는, 이미지 분석 결과 음성을 발화한 사용자로부터 임계치 이하의 거리 내에 있는 것으로 확인된 사용자들을 촬영 대상으로 확인할 수 있으며, 각각의 사용자들의 위치를 확인할 수 있다. 또는, 전자 장치(101)는, 음성이 발화된 것으로 확인된 방향에 위치한 복수의 사용자들을, 바로 촬영 대상으로 확인하여 복수의 사용자들 각각의 위치를 확인할 수도 있다. 한편, 전자 장치(101)는 음성을 발화한 사용자를 곧바로 촬영할 수 없는 위치에 배치될 수도 있다. 이 경우에, 전자 장치(101)는 음성이 발화된 지점을 향하여 우선 이동할 수 있으며, 이동 중에 촬영을 수행함으로써 음성을 발화한 사용자 및 주변의 다른 사용자들을 촬영할 수도 있다. 전자 장치(101)가, 통신 신호를 수신한 경우에는, 전자 장치(101)는 통신 신호가 수신된 방향을 다양한 방식(예: TDOA 또는 FDOA)에 기반하여 확인할 수 있다. 전자 장치(101)는, 통신 신호가 송신된 것으로 예상되는 지점을 향하여 이동하면서 촬영을 수행할 수 있으며, 음성을 발화한 사용자 및 주변의 다른 사용자들을 촬영할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 905 동작에서, 복수 사용자 각각에 대한 태스크 수행 가능 범위를 확인할 수 있다. 예를 들어, 전자 장치(101)가, 901 동작에서 복수 사용자들을 촬영하라는 태스크 수행 명령을 획득한 경우를 상정하도록 한다. 전자 장치(101)는, 예를 들어 도 10a에서와 같이, 복수의 사용자들(1011,1012,1013) 각각의 위치를 확인할 수 있다. 전자 장치(101)는, 복수의 사용자들(1011,1012,1013) 각각이 향하는 방향을 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 복수의 사용자들(1011,1012,1013)의 얼굴의 적어도 일부를 우선 촬영할 수 있는 위치로, 도 10a에서와 같이 이동할 수 있다. 전자 장치(101)는, 실내 환경(1000)에 배치된 테이블(1001,1002)을 회피하여, 얼굴의 적어도 일부의 촬영을 수행할 수 있는 위치로 우선 이동할 수 있다. 전자 장치(101)는, 얼굴의 적어도 일부의 촬영이 가능한 위치를 확인하여 이동하거나, 또는 이동 중에 촬영을 계속하면서 얼굴의 적어도 일부가 촬영될 때까지 이동 또는 회전 중 적어도 하나를 수행할 수도 있다. 전자 장치(101)는, 얼굴의 적어도 일부가 포함된 이미지를 분석하여, 복수의 사용자들(1011,1012,1013) 각각이 향하는 방향을 확인할 수도 있다. 전자 장치(101)는, 복수의 사용자들(1011,1012,1013) 각각의 위치 또는 향하는 방향 중 적어도 하나에 기반하여, 복수의 사용자들(1011,1012,1013) 각각에 대한 태스크 수행 가능 범위를 확인할 수 있다. 예를 들어, 이미지 촬영의 태스크에 대하여서는, 전자 장치(101)를 기준으로 지정된 촬영각에 사용자가 위치할 것이 요구될 수 있다. 전자 장치(101)는, 사용자의 위치 및 방향을 기준으로 이미지 촬영의 태스크를 수행 가능한 범위들(1031,1032,1033)을 확인할 수 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 907 동작에서, 적어도 확인된 범위에 기반하여, 전자 장치(101)의 목적 지점을 확인할 수 있다. 전자 장치(101)는, 복수의 사용자들(1011,1012,1013) 각각에 대응하는 태스크 수행이 가능한 범위(1031,1032,1033) 각각이 겹치는 영역(1034)을 전자 장치(101)의 목적지로 확인할 수 있다. 전자 장치(101)는, 도 10b에서와 같이, 확인된 목적지로 이동(1040)할 수 있으며, 목적지에서 복수의 사용자(1011,1012,1013)를 촬영할 수 있다. 전자 장치(101)는, 복수의 사용자(1011,1012,1013)의 얼굴을 촬영할 수 있도록 회전을 수행할 수도 있다. 예를 들어, 전자 장치(101)는, 확인된 목적지로 이동(1040)한 이후에, 복수의 사용자들(1011,1012,1013)에 대하여 연속 촬영을 시작할 수 있다. 전자 장치(101)는, 회전하거나, 또는 촬영 각도를 변경하면서, 촬영된 이미지 내에 복수의 사용자들(1011,1012,1013)에 대응하는 오브젝트가 지정된 조건을 만족하는지 확인할 수 있다. 예를 들어, 전자 장치(101)는, 도 10c에서와 같이, 이동 이후에 촬영(1035)을 수행할 수 있다. 전자 장치(101)는, 촬영(1035) 결과 획득된 이미지 내의 오브젝트(예: 사용자의 얼굴)가 지정된 조건을 만족하지 못하는 것을 확인할 수 있다. 예를 들어, 촬영(1031) 결과, 복수의 사용자들(1011,1012,1013)의 얼굴의 일부가 누락되거나, 또는 일부 사용자의 얼굴이 포함되지 않을 수도 있다. 전자 장치(101)는, 제 1 하우징(102)를 좌우 방향으로의 회전(1020) 또는 상하 방향으로의 회전(1021)시킬 수 있으며, 회전 중에 이미지를 연속적으로 촬영(1036)할 수 있다. 전자 장치(101)는, 촬영 결과 획득한 이미지 내의 오브젝트가 지정된 조건을 만족하는 것을 확인할 수 있으며, 전자 장치(101)는 오브젝트가 지정된 조건을 만족한 이미지를 촬영된 이미지로서 저장할 수 있다. 또는, 전자 장치(101)는, 사용자가 촬영을 위한 포즈를 취할 수 있는 시간을 인식할 수 있도록 카운트다운을 실행하고, 카운트다운 종료 이후에 이미지를 촬영하여 획득한 이미지를 촬영된 이미지로서 저장할 수 있다. 전자 장치(101)는 촬영된 이미지를 디스플레이를 통하여 표시할 수 있거나, 또는 복수의 사용자들(1011,1012,1013) 각각에 대응하여 지정된 전자 장치들에게 전송할 수도 있다. 다양한 실시예에 따른 전자 장치(101)는, 촬영 위치 또는 촬영 방향과, 복수의 피사체에 대한 촬영 이미지 사이의 상관 관계를 학습할 수도 있으며, 학습 결과로 복수의 피사체에 대한 촬영 위치 또는 촬영 방향을 저장할 수도 있다. 전자 장치(101)는, 적어도 저장된 데이터에 기반하여, 복수의 사용자에 대한 촬영 위치 또는 촬영 방향 중 적어도 하나를 확인할 수도 있다. 다양한 실시예에 따라서, 전자 장치(101)는, 주변 조도 정보를 계산할 수도 있으며, 피사체까지의 거리를 확인할 수도 있고, 적어도 해당 정보들에 기반하여 촬영 위치 또는 촬영 방향 중 적어도 하나를 확인할 수도 있다. 전자 장치(101)는, 카운트 다운을 수행하고, 카운트 다운이 종료되면 촬영을 수행할 수도 있다. 전자 장치(101)는, 카운트 다운 중에, 복수의 사용자들 중 적어도 한 명으로부터 촬영 위치 또는 촬영 방향 중 적어도 하나의 수정을 요청하는 음성을 수신할 수도 있다. 예를 들어, 한 명의 사용자가 “내 얼굴 크게 나오는 거 싫어”라는 음성을 카운트 다운 중 발화할 수 있다. 전자 장치(101)는, 음성을 발화한 사용자를 식별하고, 해당 식별자로부터의 거리가 다른 사용자들에 비하여 먼 지점으로 위치를 재이동할 수 있다. 전자 장치(101)는, 이미지 내에서 해당 사용자의 얼굴에 대응하는 오브젝트의 면적이, 다른 사용자의 얼굴에 대응하는 오브젝트의 면적보다 작아짐이 검출될 때까지 이동하거나, 또는 전자 장치(101)의 하우징 중 적어도 일부를 회전할 수 있다. 전자 장치(101)는, 이동 및 회전을 모두 수행할 수도 있다. 전자 장치(101)는, 이미지 내에서 해당 사용자의 얼굴에 대응하는 오브젝트의 면적이, 다른 사용자의 얼굴에 대응하는 오브젝트의 면적보다 작아짐이 검출되면, 해당 이미지를 비일시적으로 저장하거나, 또는 다시 카운트다운을 수행하여 카운트 다운 종료 이후 촬영된 이미지를 비일시적으로 저장할 수도 있다.
도 11은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 11의 실시예는 도 12를 참조하여 더욱 상세하게 설명하도록 한다. 도 12는 다양한 실시예에 따른 전자 장치의 이동을 설명하기 위한 도면을 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 1111 동작에서, 복수 사용자와 연관된 태스크 수행 명령을 수신할 수 있다. 예를 들어, 전자 장치(101)는, 음성 분석 결과, 통신 신호, 직접 입력 등에 기반하여, 복수의 사용자와 연관된 태스크 수행 명령을 수신할 수 있다. 1113 동작에서, 전자 장치(101)는, 복수 사용자 각각의 위치를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 복수의 사용자가 포함된 신(scene)을 촬영하고, 촬영된 이미지를 분석하여 복수의 사용자 각각의 위치를 확인할 수 있다. 전자 장치(101)는, 복수의 사용자 각각이 향하고 있는 방향을 확인할 수도 있다. 전자 장치(101)는, 예를 들어, 적어도 이미지 내에서의 사용자의 얼굴 또는 몸의 형상에 기반하여 복수의 사용자 각각이 향하는 방향을 확인할 수 있다. 1115 동작에서, 전자 장치(101)는, 복수 사용자 각각을 식별할 수 있다. 전자 장치(101)는, 이미지 내에 대하여 얼굴 인식을 수행함으로써, 이미지에 포함된 오브젝트 각각을 식별할 수 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 1117 동작에서, 적어도 복수 사용자 별 설정된 우선 순위에 기반하여 태스크 수행 조건을 확인할 수 있다. 1119 동작에서, 전자 장치(101)는, 확인된 태스크 수행 조건에 따라 동작할 수 있다. 예를 들어, 전자 장치(101)는, 도 5c에서와 같이, 특정 태스크에 대하여 사용자별 태스크 수행 조건을 저장할 수 있다. 태스크 수행 조건 각각은, 예를 들어 스코어를 가지거나, 또는 순위를 가질 수 있다. 예를 들어 도 12에서와 같이, 전자 장치(101)는 실내 환경(1200)에 위치할 수 있다. 실내 환경(1200)에는 복수의 사용자들(1201,1202,1203)이 위치할 수 있다. 전자 장치(101)는, 복수의 사용자들(1201,1202,1203) 각각의 위치를 확인할 수 있다. 전자 장치(101)는, 복수의 사용자들(1201,1202,1203) 각각이 향하는 방향을 확인할 수 있다. 전자 장치(101)는, 복수의 사용자들(1201,1202,1203) 각각에 대하여 설정된 최적의 태스크 수행 조건을 확인할 수 있다. 전자 장치(101)는, 복수의 사용자들(1201,1202,1203) 각각의 위치 또는 방향 중 적어도 하나를 기준으로 하여, 복수의 사용자들(1201,1202,1203) 각각에 대응하는 최적의 태스크 수행 범위들(1211,1212,1213) 각각을 확인할 수 있다. 전자 장치(101)는, 적어도 복수의 사용자들(1201,1202,1203)의 우선 순위에 기반하여 태스크 수행 조건을 확인할 수 있다. 예를 들어, 전자 장치(101)는, 제 2 사용자(1202)가 다른 사용자들(1201,1203)보다 높은 우선 순위를 가지는 것을 확인할 수 있다. 우선 순위는 미리 지정될 수 있다. 다양한 실시예에서, 전자 장치(101)는 음성을 발화한 사용자에게 우선 순위를 부여할 수도 있다. 전자 장치(101)는, 특정 사용자 예를 들어, 제 2 사용자(1202)에 대응하는 태스크 수행 범위(1212)를 최적의 태스크 수행 위치로 확인할 수 있으며, 확인된 최적의 태스크 수행 위치로 이동(1220)할 수 있다. 다양한 실시예에서, 전자 장치(101)는 동일한 우선 순위를 가지는 사용자들에 대하여서는, 시분할적으로 태스크를 수행할 수도 있다. 예를 들어, 두 사용자에 대하여 눈을 맞추면서 이야기를 출력하는 태스크를 수행이 요청되며, 두 사용자에 대하여 동일한 우선 순위가 설정된 경우에, 전자 장치(101)는 제 1 사용자에 대하여 제 1 시간 기간 동안 태스크를 수행하고, 이후 제 2 시간 기간 동안에는 제 2 사용자에 대하여 태스크를 수행할 수 있다. 전자 장치(101)는, 복수 사용자들 각각에 대하여 교번적으로 태스크를 수행할 수도 있다.
도 13은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 1301 동작에서, 복수 사용자와 연관된 태스크 수행 명령을 수신할 수 있다. 1303 동작에서, 전자 장치(101)는, 복수 사용자 각각의 위치를 확인할 수 있다. 전자 장치(101)는, 복수 사용자 각각을 식별할 수 있다. 1305 동작에서, 전자 장치(101)는, 복수 사용자 각각과 연관된 태스크 수행 조건에 대한 유용성 스코어를 확인할 수 있다. 1307 동작에서, 전자 장치(101)는, 복수 사용자의 유용성 스코어 합계가 최대가 되도록 하는 태스크 수행 조건을 확인할 수 있다. 1309 동작에서, 전자 장치(101)는, 확인된 태스크 수행 조건에 따라 태스크를 수행할 수 있다. 예를 들어, 전자 장치(101)는, 촬영 태스크와 관련하여, 제 1 사용자에 대하여 왼쪽 촬영에 대하여 100, 정면 촬영에 대하여 50, 오른쪽 촬영에 대하여 50의 유용성 스코어를 가지는 것을 확인할 수 있다. 전자 장치(101)는, 촬영 태스크와 관련하여, 제 2 사용자에 대하여 왼쪽 촬영에 대하여 70, 정면 촬영에 대하여 20, 오른쪽 촬영에 대하여 100의 유용성 스코어를 가지는 것을 확인할 수 있다. 전자 장치(101)는, 제 1 사용자 및 제 2 사용자를 왼쪽에서 촬영하는 경우의 유용성 스코어가 170으로 최대인 것을 확인할 수 있다. 이에 따라, 전자 장치(101)는 복수의 사용자들을 왼쪽 방향에서 촬영할 수 있다. 전자 장치(101)는, 유용성 스코어의 합계를 산출하는 과정에서, 사용자별로 가중치를 적용할 수도 있으며, 이에 따라 유용성 스코어의 가중치 합계를 산출할 수도 있다. 예를 들어, 제 2 사용자가 음성을 발화한 것으로 확인되면, 전자 장치(101)는 제 2 사용자에 대하여서는 "1"의 가중치를 부여하고, 나머지 사용자인 제 1 사용자에 대하여서는 "0.5"의 가중치를 부여할 수도 있다. 이 경우에는, 전자 장치(101)는, 왼쪽 촬영하는 경우의 유용성 스코어의 가중치 합계는, 100*0.5 + 70 = 120인 것으로 확인할 수 있으며, 오른쪽 촬영하는 경우의 유용성 스코어의 가중치 합계는, 50*0.5 + 100 = 125인 것을 확인할 수 있다. 전자 장치(101)는, 유용성 스코어의 가중치 합계가 최대가 되는 오른쪽 방향에서 복수의 사용자를 촬영할 수도 있다. 전자 장치(101)는, 적어도 사용자와 연관된 다양한 정보에 기반하여 가중치를 부여할 수도 있다. 예를 들어, 전자 장치(101)는, 제 2 사용자가, 제 1 사용자에 비하여, 다수의 이미지를 촬영하고, 다수의 이미지를 SNS로 업로드하는 것이 검출되면, 이에 대응하여 제 2 사용자에 대하여 높은 가중치를 부여할 수도 있다. 전자 장치(101)는, 적어도 미리 설정된 우선 순위에 기반하여 사용자별로 가중치를 부여할 수도 있다. 한편, 우선 순위는 사용자들이 포함되는 그룹에 따라 변경될 수도 있다. 예를 들어, Tom과 Teddy의 두 사용자가 식별된 경우에, 전자 장치(101)는 Tom 및 Teddy 각각에 1과 0.8의 가중치를 부여할 수 있다. 만약, Tom, Teddy, Jane이 식별된 경우에, 전자 장치(101)는 Tom, Teddy에 0.3과 0.4의 가중치를 부여하고, Jane에 1의 가중치를 부여할 수도 있다. 다양한 실시예에서, 전자 장치(101)는 가중치를 전자 장치(101)의 소유 여부에 따라 결정할 수도 있다. 예를 들어, Tom이 전자 장치(101)의 소유자라는 정보가 확인되면, 전자 장치(101)는 비소유자인 Teddy, Jane에 비하여 Tom에 보다 높은 가중치를 부여할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 가중치 합계, 단순 합계, 콤플렉스 함수(complex function) 등의 다양한 연산 방식을 이용하여, 복수 사용자에 대한 태스크 수행 조건을 확인할 수도 있다.
도 14a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도들을 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 1401 동작에서, 수행할 태스크를 확인할 수 있다. 1403 동작에서, 전자 장치(101)는, 태스크와 연관된 사용자의 위치를 확인할 수 있다. 1405 동작에서, 전자 장치(101)는, 태스크와 연관된 사용자 상태를 확인할 수 있다. 다양한 실시예에서, 사용자 상태는, 사용자의 시선, 사용자가 다른 물체 또는 다른 사용자와 인터랙션하는 경우의 인터랙션의 종류, 사용자의 인터랙션 방향 또는 사용자의 인터랙션 범위 등의 다양한 팩터를 포함할 수 있으며, 세부 팩터에 대한 실시예에 대하여서는 더욱 상세하게 후술하도록 한다. 1407 동작에서, 전자 장치(101)는, 적어도 태스크 및 사용자 상태에 기반하여, 사용자의 위치를 기준으로 하는 전자 장치의 목적 지점을 확인할 수 있다. 1409 동작에서, 전자 장치(101)는, 확인된 목적 지점으로 전자 장치(101)를 이동하도록 제어할 수 있다. 예를 들어, 전자 장치(101)는, 사용자로부터 제 1 태스크의 수행 명령을 수신한 경우에, 사용자의 상태에 따라서 상이한 목적지를 확인할 수도 있으며, 이는 더욱 상세하게 후술하도록 한다.
도 14b는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 14b의 실시예는 도 15a 및 15b를 참조하여 더욱 상세하게 설명하도록 한다. 도 15a 및 15b는 다양한 실시예에 따른 전자 장치의 사용자 상태에 따른 이동 과정을 설명하기 위한 도면들이다.
다양한 실시예에 따라서, 전자 장치(101)는, 1411 동작에서, 수행할 태스크를 확인할 수 있다. 1413 동작에서, 전자 장치(101)는, 사용자의 위치를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 도 15a에서와 같이, 사용자(1501)의 위치를 확인할 수 있다. 1415 동작에서, 전자 장치(101)는, 태스크와 연관된 사용자가 다른 대상을 주시하고 있는지 확인할 수 있다. 예를 들어, 전자 장치(101)는, 사용자를 촬영한 이미지를 분석하여 사용자 시선을 확인할 수 있다. 전자 장치(101)는, 기준 시간 동안에, 사용자 시선의 움직임이 임계치를 이상으로 변동되지 않는 시간이, 임계 시간 이상인 것으로 확인되면, 사용자가 다른 대상을 주시하고 있는 것으로 확인할 수 있다. 추가적으로, 전자 장치(101)는, 다른 전자 장치(예: 도 15a에서의 실내 환경(1500)에 배치된 TV(1502))로부터의 통신 신호를 이용하여 사용자의 주시 여부를 확인할 수도 있다. 전자 장치(101)는, TV(1502)로부터의 통신 신호(예: 근거리 통신 신호)를 수신할 수 있으며, 이에 따라 TV(1502)가 턴 온 상태인 것을 확인할 수 있다. 전자 장치(101)는, TV(1502)가 턴 온 상태이면서, 사용자가 임계 시간 이상으로, 임계치 이상으로 시선을 움직이지 않는 것으로 확인되면, 사용자가 TV(1502)를 시청중인 것으로 확인할 수도 있다. 또는, 전자 장치(101)는, 사용자(1501) 및 TV(1502)에 대한 촬영 결과 획득된 이미지에 대한 신(scene) 분석을 통하여서도, 사용자가 TV(1502)를 시청중인 것으로 확인할 수도 있다. 또는, 전자 장치(101)는, TV(1502)로부터 출력되는 음향을 분석하여, TV(1502)가 턴 온 상태인 것으로 확인할 수도 있다.
사용자가 다른 대상을 주시하고 있는 것으로 확인되면, 전자 장치(101)는, 1417 동작에서, 사용자의 시선에 대응하지 않는 지점으로 이동하여 태스크를 수행할 수 있다. 사용자가 다른 대상을 주시하고 있지 않은 것으로 확인되면, 전자 장치(101)는, 1419 동작에서, 전자 장치(101)는, 적어도 미리 저장된 정보에 기반하여 결정 된 지점으로 이동하여 태스크를 수행할 수 있다. 예를 들어, 도 15a에서와 같이, 사용자(1501)가 TV(1502)를 주시하고 있지 않은 것으로 확인되면, 전자 장치(101)는 특정 태스크(예: 화면 표시)를 수행하기 위하여 사용자(1501) 및 TV(1502) 사이의 위치로 이동할 수 있다. 전자 장치(101)는, “이게 뭐야?”라는 음성을 분석하여, 태스크 수행을 위한 위치를 확인하여 이동할 수 있다. 도 15b에서와 같이, 사용자(1501)가 TV(1502)를 주시(1503)하는 것으로 확인되면, 전자 장치(101)는, 사용자(1501) 및 TV(1502) 사이의 영역을 태스크 수행 가능 범위에서 제외할 수 있다. 전자 장치(101)는, 특정 태스크를 수행하기 위하여, 태스크 수행 가능 범위에서 제외된 사용자(1501) 및 TV(1502) 사이의 영역 이외의 다른 지점으로 이동(1511)할 수 있다. 전자 장치(101)는, “이게 뭐야?”라는 음성에 대응하여 컨텐츠의 제공이 가능한 위치 중에서, 표시하는 컨텐트를 사용자가 가장 잘 시청할 수 있는 지점을 목적지로 확인할 수 있다. 예를 들어, 전자 장치(101)는, 사용자가 시청 가능한 거리 또는 시야각을 고려하여 목적지를 확인할 수도 있으며, 외부 환경의 밝기 정보를 이용하여 목적지를 확인할 수도 있다. 밝기가 너무 밝은 지점에서는 사용자가 디스플레이되는 컨텐트를 시청하는데 어려움이 있을 수 있다. 이에 따라, 전자 장치(101)는, 외부 환경에 대한 이미지를 촬영한 후, 밝기(intensity)에 대한 임계 이미지(threshold image)를 생성하고, 이를 이용하여 외부 환경에 대한 밝기 정보를 확인할 수 있다. 임계 이미지는, 픽셀의 밝기 값이 임계치를 초과하는 픽셀들을 제 1 영역으로 구분하고, 픽셀의 밝기 값이 임계치 이하인 픽셀들을 제 2 영역으로 구분하여 생성된 이미지일 수 있다. 전자 장치(101)는, 밝기가 임계치 미만인 지점을 컨텐트 디스플레이의 태스크 수행 가능 범위로 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 임계 이미지의 제 2 영역을 태스크 수행 가능 범위로 확인할 수 있다. 임계 이미지를 생성하기 위한 임계치는 특정 태스크를 수행하기 위한 밝기 값으로 설정될 수 있으며, 태스크의 종류별로 상이하게 설정될 수도 있다. 또는, 전자 장치(101)는, 예를 들어 TV(1502)로부터 발생하는 소음을 고려하여 목적지를 확인할 수 있다. 상술한 바와 같이, 전자 장치(101)는, 동일한 사용자로부터 동일한 종류의 태스크 수행 명령을 수신하더라도, 사용자의 현재 상태에 따라 상이한 위치로 이동할 수 있다. 전자 장치(101)는, 예를 들어 사용자로부터 “아~”의 음성을 피드백 정보로서 수신할 수도 있으며, 이를 긍정적인 피드백으로 확인하여, 해당 태스크 수행 조건에 대한 유용성 스코어를 상향 조정할 수 있다. 전자 장치(101)는, 예를 들어 사용자가 눈을 찡그리는 것을 확인할 수 있으며, 이에 대응하여 사용자로부터 더욱 가까운 지점으로 이동할 수 있다. 경우에 따라서는 더 먼 지점 또는 현재 위치에서 왼쪽 또는 오른쪽으로 더 이동 할 수 있다. 아울러, 전자 장치(101)는, 해당 태스크 수행 조건에 대한 유용성 스코어를 하향 조정할 수도 있다. 전자 장치(101)는, 예를 들어 사용자가 전자 장치(101)의 디스플레이를 시청하지 않는 것을 확인할 수도 있으며, 오히려 사용자가 몸이 향하는 방향을 변경하여 TV(1502)의 시청을 유지하는 것을 확인할 수도 있다. 전자 장치(101)는, 이를 부정적인 피드백으로 확인할 수 있으며, 해당 태스크 수행 조건에 대한 유용성 스코어를 하향 조정할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 적어도, 사용자의 인터랙션 또는 액티비티의 종류, 범위, 또는 방향 중 적어도 하나에 기반하여, 태스크 수행 조건을 확인할 수도 있다. 전자 장치(101)는, 사용자를 촬영한 적어도 하나의 이미지를 분석함으로써, 사용자가 다른 사용자와 대화 중이라는 정보, 사용자가 운동을 수행하고 있다는 정보와 같은 사용자가 인터랙션 또는 액티비티를 수행하고 있는 정보를 확인할 수 있다. 전자 장치(101)는, 사용자의 인터랙션 또는 액티비티 종류, 인터랙션 또는 액티비티 범위, 인터랙션 또는 액티비티 방향 등을 확인할 수 있으며, 인터랙션 또는 액티비티 방해할 수 있는 범위를 태스크 수행이 가능한 영역에서 제외할 수 있다. 전자 장치(101)는, 태스크 수행이 가능한 영역 중에서, 목적지를 선택함에 따라, 사용자의 액티비티 또는 인터랙션이 방해받지 않을 수 있다.
도 16a는 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 16a는 도 16b를 참조하여 더욱 상세하게 설명하도록 한다. 도 16b는 다양한 실시예에 따른 전자 장치의 이동 경로를 설명하기 위한 도면을 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 1601 동작에서, 수행할 태스크를 확인할 수 있다. 1603 동작에서, 전자 장치(101)는, 사용자의 위치를 확인할 수 있다. 1605 동작에서, 전자 장치(101)는, 태스크와 연관된 사용자 상태를 확인할 수 있다. 1607 동작에서, 전자 장치(101)는, 적어도 태스크 및 사용자 상태에 기반하여, 전자 장치의 현재 위치로부터 사용자의 위치를 기준으로 하는 전자 장치의 목적 지점으로의 이동 경로를 확인할 수 있다. 전자 장치(101)는, 적어도, 태스크 수행 가능 범위, 사용자 식별 정보 또는 사용자 상태 중 적어도 하나에 기반하여, 목적지를 확인할 수 있다. 예를 들어, 도 16b에서와 같이, 전자 장치(101)는, "사진 촬영"의 태스크를 수행할 것을 요청받을 수 있으며, 사용자(1501)에 대응하는 최적의 태스크 수행 조건에 따라 목적지(1512)를 확인할 수 있다. 전자 장치(101)는, 현재 지점(1511)으로부터 목적지(1512)까지의 이동 경로를 확인할 수 있다. 전자 장치(101)는, 현재 지점(1511)으로부터 목적지(1512)까지의 직선 최단 경로(1513)를, 이동 경로로 확인할 수 있다. 전자 장치(101)는, 적어도 태스크 및 사용자 상태에 기반하여, 이동 경로를 확인할 수도 있다. 예를 들어, 도 16b에서와 같이, 사용자(1501)가 TV(1502)를 주시하는 것으로 확인되면, 전자 장치(101)는 사용자(1501) 및 TV(1502) 사이의 영역을 이동 불가 영역으로 확인할 수 있으며, 이동 경로로부터 제외할 수 있다. 전자 장치(1501)는, 이동 불가 영역을 제외하여 우회 이동 경로(1514)를 결정할 수 있다. 전자 장치(101)는, 예를 들어, 이동 불가 영역을 제외한 최단 경로를 우회 이동 경로(1514)로 결정할 수 있다. 1609 동작에서, 전자 장치(101)는, 확인된 이동 경로에 따라 이동할 수 있다.
도 17은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 1701 동작에서, 음성에 대응하는 태스크를 확인할 수 있다. 1703 동작에서, 전자 장치(101)는, 사용자의 위치를 확인할 수 있다. 1705 동작에서, 전자 장치(101)는, 사용자 식별 정보 또는 사용자 상태 중 적어도 하나에 기반하여, 전자 장치의 목적지 또는 이동 경로 중 적어도 하나를 확인할 수 있다. 상술한 바와 같이, 전자 장치(101)는, 사용자 식별 정보에 대응하여 최적의 목적지를 확인할 수 있다. 전자 장치(101)는, 사용자 식별 정보에 대응하여 최적의 이동 경로 또한 확인할 수도 있다. 예를 들어, 전자 장치(101)는, 적어도 하나의 태스크 수행 중의 이동 경로와 이에 대응하는 피드백을 저장할 수 있으며, 저장된 정보를 분석하여 사용자 별로 최적의 이동 경로를 확인할 수도 있다. 예를 들어, 전자 장치(101)는 사용자를 식별자로 구분하여 관리하고, 최적의 이동 경로는 사용자 식별자로 구분될 수 있다. 전자 장치(101)는, 적어도 사용자 상태에 기반하여 목적지 또는 이동 경로 중 적어도 하나를 확인할 수도 있다. 1707 동작에서, 전자 장치(101)는, 외부 환경을 센싱할 수 있다. 1709 동작에서, 전자 장치(101)는, 적어도 센싱된 외부 환경에 기반하여, 확인된 목적지 또는 이동 경로 중 적어도 하나를 조정할 수 있다. 예를 들어, 전자 장치(101)는, 확인된 목적지 상에 다른 물체가 위치한다든지 또는 이동 경로 상에 다른 물체가 위치하는 것을 센싱할 수 있다. 전자 장치(101)는, 다른 물체를 회피할 수 있는 목적지 또는 이동 경로 중 적어도 하나를 확인할 수 있다. 1711 동작에서, 전자 장치(101)는, 조정된 목적지 또는 이동 경로 중 적어도 하나에 기반하여 이동할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는, 1705 동작에서 확인된 목적지를 향하여, 확인된 이동 경로에 따라 이동할 수 있으며, 이동 중에 외부 환경을 센싱할 수도 있다. 전자 장치(101)는, 이동 중에 외부 환경 센싱 분석 결과에 따라 이동 경로를 실시간으로 변경할 수도 있다. 실시간으로 이동 경로를 변경함에 따라, 전자 장치(101)는 정적인 장애물 이외의 동적인 장애물 또한 회피할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는 이동 경로에 따른 피드백 정보를 확인할 수도 있으며, 적어도 피드백 정보에 기반하여, 태스크에 대한 사용자 식별 정보별 또는 사용자 상태별로, 적어도 하나의 이동 경로 각각에 대한 유용성 스코어를 확인 및 관리할 수 있다. 전자 장치(101)는, 이동 중에도 실시간으로 유용성 스코어가 피크(peak)가 될 수 있는 이동 경로를 확인할 수 있다. 예를 들어, 전자 장치(101)는 유용성 스코어의 값이 최고, 또는 극댓값을 가지도록 하는 이동 경로를 확인할 수 있다.
도 18은 다양한 실시예에 따른 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다.
다양한 실시예에 따라서, 전자 장치(101)는, 1801 동작에서, 명령을 인식할 수 있다. 전자 장치(101)는, 음성을 분석하거나, 통신 신호를 분석하거나, 이미지를 분석하거나, 전자 장치(101)에 구비된 터치 스크린, 버튼 등을 통한 사용자의 직접 입력을 분석하는 방식 등의 다양한 방식으로, 명령을 인식할 수 있다. 이에 따라, 전자 장치(101)는, 수행하여야 할 태스크를 확인할 수 있다. 1803 동작에서, 전자 장치(101)는, 목적 위치를 결정할 수 있다. 전자 장치(101)는, 적어도, 태스크 종류, 사용자 식별 정보 또는 사용자 상태 중 하나에 기반하여, 전자 장치(101)의 목적지를 결정할 수 있다. 전자 장치(101)는, 추가적으로 외부 센싱 정보, 태스크 수행 가능 범위를 고려하여 목적지를 결정할 수도 있다. 1805 동작에서, 전자 장치(101)는, 경로 계획 및 이동을 수행할 수 있다. 전자 장치(101)는, 적어도, 태스크 종류, 사용자 식별 정보 또는 사용자 상태 중 하나에 기반하여 전자 장치(101)의 이동 경로를 확인할 수 있다. 아울러, 전자 장치(101)는, 적어도 외부 센싱 정보에 기반하여 이동 경로를 조정할 수도 있으며, 조정된 경로에 따라 이동할 수 있다. 1807 동작에서, 전자 장치(101)는, 태스크를 수행할 수 있다.
도 19a 내지 19c는 다양한 실시예에 따른 전자 장치의 이동을 설명하기 위한 도면들을 도시한다.
도 19a를 참조하면, 실내 환경(1900)에 식탁(1901), 가스레인지(1902), 싱크대(1903) 및 전자 레인지(1904)가 위치할 수 있다. 전자 장치(101)는, 사용자(1910)가 발화한 음성(1911)을 센싱할 수 있다. 전자 장치(101)는, 생활 소음(1905)과 음성(1911)을 함께 수신할 수도 있으며, 이 중 음성(1911)만을 추출할 수도 있으며, 추출된 음성(1911)이 발화된 지점을 확인할 수 있다. 전자 장치(101)는, 예를 들어 마이크로부터의 데이터에 대한 스펙트로그램(spectrogram)을 이용하여, 음성(1911)만을 추출할 수도 있다. 예를 들어, 전자 장치(101)는, 적어도, 추출된 음성(1911)이 마이크 어레이 각각에서 수신된 시점 사이의 차이에 기반하여, 음성(1911)이 발화된 위치를 확인할 수 있다. 동일한 방식으로, 전자 장치(101)는 생활 소음(1905)이 발생하는 위치를 확인할 수도 있다. 전자 장치(101)는, 음성(1911)을 처리한 전기적인 신호에 ASR을 적용하여 "노래 좀 틀어봐"라는 텍스트를 획득할 수 있다. 전자 장치(101)는, 획득한 텍스트에 대하여 NLU를 적용하여 해당 텍스트가 "음악 재생 명령"의 태스크 수행 명령인 것을 확인할 수 있다. 다양한 실시예에 따라서, 전자 장치(101)는, 음성(1911)이 발화된 것으로 확인된 지점으로 이동하거나, 또는 음성(1911)이 발화된 것으로 확인된 지점을 향하도록 회전을 수행할 수 있다. 전자 장치(101)는, 촬영을 수행할 수 있으며, 이에 따라 사용자(1910)가 포함된 이미지를 획득할 수 있다. 전자 장치(101)는, 사용자를 인식할 수 있다. 전자 장치(101)는, 음성(1911)의 감지 또는 인식에 대한 피드백으로, 비프(beep) 등의 알림음을 출력할 수도 있다. 또는, 전자 장치(101)는, 음성(1911)의 감지 또는 인식에 대한 피드백으로, 디스플레이 상에 특정 오브젝트를 표시할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 사용자(1910)에 대한 적어도 하나의 이미지를 분석할 수 있으며, 분석 결과 중 적어도 신 컨텍스트(scene context) 해석에 기반하여 사용자(1910)가 주방에서 업무를 수행 중임을 인지할 수 있다. 전자 장치(101)는, 사용자(1910) 및 주변의 물체들(1902,1903,1904)을 포함하는 신(scene)을 촬영할 수 있으며, 이미지를 분석하여 사용자(1910) 및 주변의 물체들(1902,1903,1904) 사이의 상대적인 위치 관계를 확인할 수 있다. 전자 장치(101)는, 예를 들어, 적어도 생활 소음(1905)이 발생한 것으로 확인된 위치에 기반하여, 사용자가 재생되는 음악을 가장 잘 청취할 수 있는 위치를 목적지로 확인할 수 있다. 전자 장치(101)는, 소음 레벨과 관련된 맵 데이터를 생성 및 관리할 수도 있으며, 이를 이용하여 "음악 재생 명령"의 태스크 수행 명령에 대응하는 목적지를 확인할 수 있다. 예를 들어, 전자 장치(101)는, 실시간 음원 인식 중 가스레인지(1902)로부터 상대적으로 높은 데시벨의 생활 소음(1905)이 발생되는 것으로 확인할 수 있으며, 해당 위치로부터 기설정된 거리 이상으로 떨어진 위치인 전자레인지(1904) 근처로 이동할 수 있다. 전자 장치(101)는, 적어도 물체들(1901,1902,1903,1904)의 위치가 반영된 맵 데이터에 기반하여 이동 경로를 확인할 수 있으며, 이에 기초하여 목적지로 이동할 수 있다. 전자 장치(101)는, 전자레인지(1904) 근처로 이동하여, 음악(1921)을 재생할 수 있다. 전자 장치(101)는, 주변의 생활 소음(1905)을 고려하여 음악(1921) 재생 볼륨을 결정할 수도 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 태스크 수행 중에도, 태스크 수행과 연관된 팩터인 실시간 소음 레벨을 측정할 수 있다. 예를 들어, 도 19b에서와 같이, 가스레인지(1902)로부터 발생되던 생활 소음(1905)이 더 이상 발생하지 않으며, 전자레인지(1904)로부터 생활 소음(1906)이 발생할 수 있다. 전자 장치(101)는, 적어도 생활 소음(1906)이 발생한 위치에 기반하여 태스크 수행 위치를 이동할 수 있다. 전자 장치(101)는 생활 소음(1906)이 발생하는 지점으로부터 기설정된 거리 이상으로 떨어진 위치인 가스레인지(1902) 근처로 이동하여, 음악(1921)을 재생할 수 있다.
다양한 실시예에 따라서, 전자 장치(101)는, 태스크 수행 중에도, 사용자에 대한 촬영을 계속할 수 있다. 전자 장치(101)는, 예를 들어 도 19c에서와 같이, 사용자가 이동하는 것을 촬영 결과에 기반하여 확인할 수 있다. "음악 재생 명령"의 태스크 수행 가능 범위는, 사용자(1910)로부터 임계치 이하의 거리 이내로 설정될 수 있다. 이에 따라, 전자 장치(101)는, 사용자(1910)의 위치 이동에 따라 태스크 수행 가능 범위를 변경할 수 있다. 전자 장치(101)는, 변경되는 태스크 수행 가능 범위 내에 위치할 수 있도록, 사용자(1910)를 추종하여 이동할 수 있다. 전자 장치(101)는, 사용자(1910)를 추종하여 이동하는 중에도, 주변을 센싱할 수 있으며, 장애물을 회피하면서 사용자(1910)로부터 임계치 이하의 거리 이내에 위치하도록 이동할 수 있다. 예를 들어, 전자 장치(101)는 장애물 검출 시 카메라를 통하여 획득한 이미지 및 근접 센서를 통하여 획득한 데이터를 함께 이용하여, 장애물을 검출할 수소 있다. 예를 들어, 전자 장치(101)는, 거리 센서로부터의 데이터를 이용하여 사용자(1910)까지의 거리가 임계치 미만이 되도록 유지할 수 있다. 전자 장치(101)는, 사용자가(1910)가 주방에서 비트에 맞춰 몸을 흔드는 것이 검출되면, 이에 대한 신(scene) 분석을 통하여 사용자(1910)가 춤을 추는 것으로 확인할 수도 있으며, 이를 긍정적인 피드백으로서 저장할 수 있다. 추후, 전자 장치(101)는, 동일한 종류의 태스크 수행 명령이 수신되면, 적어도 긍정적인 피드백을 받은 기존의 태스크 수행 조건에 기반하여 동작할 수 있다. 전자 장치(101)는, 사용자(1910)가 전자 장치(101)로 하여금 실내 환경(1900)으로부터 벗어나라는 명령을 수신할 수도 있다. 예를 들어, 전자 장치(101)는 실내 환경(1900)(예: 주방)으로 이동하여 음악을 재생할 수 있다. 이 경우, 사용자는 다른 소음 때문에 음악 청취가 어려울 수 있으며, 전자 장치(101)에게 실내 환경(1900)(예: 주방)을 벗어나라는 취지의 명령을 발화할 수 있다. 전자 장치(101)는, 이를 부정적인 피드백으로 관리할 수도 있으며, 태스크 수행 조건에 반영할 수 있다. 예를 들어, 전자 장치(101)는, 주변 소음의 크기가 임계치 이상인 경우에는, 주변 소음의 크기가 임계치 미만인 지점으로 이동하여 음악을 재생하는 태스크 수행 조건을 저장할 수 있다. 전자 장치(101)는, 추후 동일한 종류의 태스크 수행 명령(예: 음악 재생)이 수신되고, 실내 환경(1900)의 소음 정도가 임계치 이상인 경우에, 실내 환경(1900)(예: 주방)이 아닌 다른 위치(예: 거실) 등에서 태스크를 수행할 수도 있다.
도 20은 다양한 실시예에 따른 사용자 인증을 수행하는 전자 장치의 동작 방법을 설명하기 위한 흐름도를 도시한다. 도 20의 실시예는 도 21a 및 21b를 참조하여 더욱 상세하게 설명하도록 한다. 도 21a 및 21b는, 다양한 실시예에 따른 모션을 통한 인증 과정을 설명하기 위한 도면들이다.
다양한 실시예에 따라서, 전자 장치(101)는, 2001 동작에서, 전자 장치(101) 근처의 사용자를 식별할 수 있다. 전자 장치(101)는, 인증이 요구되는 태스크 수행의 명령을 획득할 수 있다. 예를 들어, 전자 장치(101)는 보안이 요구되는 태스크(예: 저장된 사진 표시, 전자 결제 등)에 대하여서는, 수행 시 인증을 요구하도록 설정될 수 있다. 전자 장치(101)는, 주변 환경을 촬영할 수 있으며, 이미지로부터 사용자에 대응하는 오브젝트를 검출할 수 있다. 전자 장치(101)는, 오브젝트에 대하여 식별 알고리즘을 적용함으로써, 사용자의 식별 정보를 확인할 수 있다. 전자 장치(101)는, 이미지 분석 이외에도, 적어도, 사용자의 생체 정보를 센싱하거나, 사용자가 소지한 다른 전자 장치로부터의 통신 신호를 분석하는 등의 다양한 방식에 기반하여, 사용자를 식별할 수 있다. 2003 동작에서, 전자 장치(101)는, 식별된 사용자에 대응하는 지정된 제 1 모션을 수행할 수 있다. 전자 장치(101)는, 사용자로부터 미리 제 1 모션에 대한 정보를 입력받을 수 있으며, 입력된 모션에 대한 정보를 저장할 수 있다. 전자 장치(101)는, 전자 장치(101)의 제 1 모션에 대응하여 사용자가 수행하는 제 2 모션에 대한 정보 또한 저장할 수 있다. 2005 동작에서, 전자 장치(101)는, 사용자의 모션을 검출할 수 있다. 전자 장치(101)는, 적어도 카메라 또는 다양한 센서를 통하여 센싱된 정보에 기반하여, 사용자의 모션을 센싱할 수 있다. 2007 동작에서, 전자 장치(101)는, 센싱된 모션이 지정된 제 2 모션에 대응하는지 여부를 확인할 수 있다. 센싱된 모션이 지정된 제 2 모션에 대응되는 것으로 확인되면, 2009 동작에서, 전자 장치(101)는, 사용자 인증이 성공한 것으로 확인할 수 있다. 센싱된 모션이 지정된 제 2 모션에 대응되지 않는 것으로 확인되면, 2011 동작에서, 전자 장치(101)는, 사용자 인증이 실패한 것으로 확인할 수 있다. 예를 들어, 도 21a에서와 같이, 전자 장치(101)는, 오른쪽 팔에 대응하는 제 1 부분(2201)을 접어서 거수하는 제 1 모션을 수행할 수 있다. 전자 장치(101)는, 적어도 카메라를 통하여 획득한 이미지 또는 제 1 부분(2201)에 위치한 적어도 하나의 센서 중 적어도 하나에 기반하여, 사용자(2202)가 손으로 제 1 부분(2201)의 적어도 일부를 잡는 모션을 검출할 수 있다. 전자 장치(101)는, 사용자(2202)의 모션이 미리 지정된 모션에 대응하는지 여부를 확인할 수 있으며, 지정된 모션에 대응되는지 여부에 따라 사용자 인증의 성공 또는 실패를 확인할 수 있다. 예를 들어, 도 21b에서와 같이, 전자 장치(101)는, 손과 같은 형태를 가지를 제 2 부분(2211)이 마치 주먹을 쥐는 것과 같은 모션을 수행할 수도 있다. 전자 장치(101)는, 적어도 카메라를 통하여 획득한 이미지 또는 제 1 부분(2201)에 위치한 적어도 하나의 센서 중 적어도 하나에 기반하여, 사용자(2212)가 주먹을 쥔 손으로 제 2 부분(2211)의 적어도 일부와 접촉하는 모션을 검출할 수 있다. 전자 장치(101)는, 사용자(2212)의 모션이 미리 지정된 모션에 대응하는지 여부를 확인할 수 있으며, 지정된 모션에 대응되는지 여부에 따라 사용자 인증의 성공 또는 실패를 확인할 수 있다. 다양한 실시예에 따라서, 제 2 모션은 제 1 모션과 동기화되거나, 또는 동기화되지 않을 수도 있다.
다양한 실시예에 따른 전자 장치(101)는, 인증이 완료되면, 보안이 요구되는 정보에 대한 접근을 허용할 수 있다. 제 2 모션이 보안이 요구되는 정보에 대한 인증 키로서 이용될 수 있다. 전자 장치(101)는, 사용자별로 접근이 가능한 정보를 상이하게 설정할 수도 있다. 전자 장치(101)는, 인증을 위하여 상술한 바와 같은 모션에 연관된 팩터와, 또 다른 팩터(예: 홍채, 지문 등의 생체 정보)를 모두 이용하는 멀티 팩터 인증 방식을 이용할 수도 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (29)

  1. 전자 장치에 있어서,
    명령어들을 저장하는 메모리; 및
    상기 저장된 명령어들을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하고,
    적어도 상기 획득된 태스크 및 상기 식별된 사용자 정보에 기반하여, 상기 식별된 사용자 정보에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하고,
    상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 전자 장치의 구동 회로를 제어하도록 설정된 전자 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는, 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로,
    상기 태스크와 관련하여, 상기 식별된 사용자 정보에 대응하는 태스크 수행 조건을 확인하고,
    적어도 상기 확인된 태스크 수행 조건에 기반하여, 상기 사용자의 위치를 기준으로 하는 상기 전자 장치의 목적 지점을 확인하도록 설정된 전자 장치.
  3. 제 2 항에 있어서,
    상기 태스크 수행 조건은, 적어도 상기 사용자에 대하여 수행되었던 적어도 하나의 태스크 수행 결과 및 상기 적어도 하나의 태스크 수행 결과 각각에 대한 피드백 정보에 기반하여 확인된 것을 특징으로 하는 전자 장치.
  4. 제 3 항에 있어서,
    상기 태스크 수행 조건은, 적어도 하나의 태스크 수행 결과 및 상기 적어도 하나의 태스크 수행 결과 각각에 대한 피드백 정보에 기반하여 부여된 유용성 스코어에 대한 정보를 포함하며,
    상기 프로세서는,
    상기 유용성 스코어에 대한 정보를 참조하여, 가장 높은 유용성 스코어를 가지는 태스크 수행 조건을 선택하도록 설정된 전자 장치.
  5. 제 3 항에 있어서,
    상기 프로세서는,
    상기 목적 지점으로 이동한 이후에, 상기 태스크를 수행하고,
    상기 태스크 수행에 대한 피드백 정보를 획득하고,
    적어도 상기 피드백 정보에 기반하여, 상기 태스크 수행 조건을 갱신하도록 설정된 전자 장치.
  6. 제 2 항에 있어서,
    상기 프로세서는, 상기 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로,
    상기 태스크와 관련하여, 상기 식별된 사용자 정보에 대응하여 지정된 태스크 수행 조건이 없는 경우에, 지정된 초기 조건 또는 랜덤 조건에 따라 상기 태스크 수행 조건을 결정하도록 설정된 전자 장치.
  7. 제 2 항에 있어서,
    상기 프로세서는, 상기 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로,
    상기 태스크와 관련하여, 상기 식별된 사용자 정보에 대응하여 지정된 태스크 수행 조건이 없는 경우에, 상기 사용자의 속성과 유사한 속성을 가지는 다른 사용자를 검색하고, 상기 검색된 다른 사용자에 대응하여 지정된 태스크 수행 조건에 따라 상기 태스크 수행 조건을 결정하도록 설정된 전자 장치.
  8. 제 1 항에 있어서,
    상기 프로세서는, 상기 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로,
    상기 사용자가 향하는 방향을 확인하고,
    적어도 상기 태스크 및 상기 식별된 사용자 정보에 기반하여, 상기 사용자의 위치 및 상기 사용자가 향하는 방향을 기준으로 하는 상기 전자 장치의 목적 지점을 확인하도록 설정된 전자 장치.
  9. 제 8 항에 있어서,
    상기 프로세서는,
    상기 전자 장치의 상기 목적 지점으로 이동한 이후에, 적어도 상기 사용자가 향하는 방향에 기반하여 상기 전자 장치가 회전하도록 상기 구동 회로를 제어하도록 설정된 전자 장치.
  10. 제 1 항에 있어서,
    상기 프로세서는, 상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 구동 회로를 제어하는 과정의 적어도 일부로,
    상기 태스크에 대응하는 태스크 가능 범위를 확인하고,
    상기 목적 지점이 상기 태스크 가능 범위에 포함되면 상기 목적 지점으로 상기 전자 장치를 이동하도록 상기 구동 회로를 제어하고, 또는, 상기 목적 지점이 상기 태스크 가능 범위에 포함되지 않으면 상기 목적 지점과 다른 지점으로 상기 전자 장치를 이동하도록 상기 구동 회로를 제어하도록 설정된 전자 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는, 상기 태스크에 대응하는 상기 태스크 가능 범위를 확인하는 과정의 적어도 일부로,
    적어도 상기 태스크의 종류 또는 상기 사용자의 상태의 적어도 하나에 기반하여, 상기 태스크 가능 범위를 확인하도록 설정된 전자 장치.
  12. 제 11 항에 있어서,
    상기 사용자의 상태는, 상기 사용자의 시선과 관련된 정보, 상기 사용자의 인터랙션과 관련된 정보, 또는 상기 사용자의 액티비티와 관련된 정보 중 적어도 하나를 포함하는 전자 장치.
  13. 제 1 항에 있어서,
    상기 프로세서는,
    상기 사용자를 포함하는 복수의 사용자에 대하여 수행되어야 하는 태스크를 확인하고,
    상기 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로, 상기 복수의 사용자에 대응하는 복수 개의 태스크 수행 조건을 확인하고, 상기 복수 개의 태스크 수행 조건 중 제 1 태스크 수행 조건을 선택하고, 적어도 상기 선택된 제 1 태스크 수행 조건에 기반하여 상기 전자 장치의 목적 지점을 확인하도록 설정된 전자 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는, 상기 복수 개의 태스크 수행 조건 중 제 1 태스크 수행 조건을 선택하는 과정의 적어도 일부로,
    상기 복수의 사용자별로 상기 복수 개의 태스크 수행 조건 각각에 부여된 유용성 스코어들 각각을 확인하고,
    상기 복수의 사용자들에 대한 유용성 스코어들의 합계 또는 상기 복수의 사용자들에 대한 유용성 스코어들의 가중치 합계가 최댓값을 가지도록 하는 제 1 태스크 수행 조건을 선택하도록 설정된 전자 장치.
  15. 제 13 항에 있어서,
    상기 프로세서는, 상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 구동 회로를 제어하는 과정의 적어도 일부로,
    상기 복수의 사용자 각각에 대한 복수의 태스크 가능 범위 각각을 확인하고,
    상기 목적 지점이 상기 복수의 태스크 가능 범위들이 겹치는 범위에 포함되면 상기 목적 지점으로 상기 전자 장치를 이동하도록 상기 구동 회로를 제어하고, 또는, 상기 목적 지점이 상기 복수의 태스크 가능 범위들이 겹치는 범위에 포함되지 않으면 상기 목적 지점과 다른 지점으로 상기 전자 장치를 이동하도록 상기 구동 회로를 제어하도록 설정된 전자 장치.
  16. 제 1 항에 있어서,
    상기 프로세서는,
    상기 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하는 과정의 적어도 일부로, 상기 사용자를 포함하는 복수의 사용자에 대하여 수행되어야 하는 태스크를 확인하고,
    상기 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로, 상기 복수의 사용자 사이의 우선 순위를 확인하고, 적어도 가장 높은 우선 순위를 가지는 사용자에 대응하는 태스크 수행 조건에 기반하여 상기 전자 장치의 목적 지점을 확인하도록 설정된 전자 장치.
  17. 제 1 항에 있어서,
    상기 전자 장치는 센서 모듈을 더 포함하고,
    상기 프로세서는,
    상기 센서 모듈을 통하여, 상기 전자 장치의 외부 환경에 대한 정보를 획득하도록 설정된 전자 장치.
  18. 제 17 항에 있어서,
    상기 프로세서는, 상기 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 과정의 적어도 일부로, 적어도 상기 외부 환경에 대한 정보에 기반하여 상기 전자 장치의 목적 지점을 확인하도록 설정된 전자 장치.
  19. 제 17 항에 있어서,
    상기 프로세서는,
    상기 확인된 목적 지점까지의 상기 전자 장치의 이동 경로를, 적어도 상기 외부 환경에 대한 정보에 기반하여 확인하도록 설정된 전자 장치.
  20. 제 1 항에 있어서,
    상기 프로세서는,
    상기 태스크의 종류, 상기 식별된 사용자 정보, 또는 상기 사용자의 상태의 적어도 하나에 기반하여, 상기 확인된 목적 지점까지의 상기 전자 장치의 이동 경로를 확인하도록 설정된 전자 장치.
  21. 제 20 항에 있어서,
    센서 모듈
    을 더 포함하고,
    상기 프로세서는,
    상기 확인된 목적 지점으로 상기 전자 장치가 이동하는 과정에서, 상기 센서 모듈을 통하여, 상기 전자 장치의 외부 환경에 대한 정보를 획득하고,
    상기 확인된 이동 경로를, 적어도 상기 외부 환경에 대한 정보에 기반하여 조정하도록 설정된 전자 장치.
  22. 제 21 항에 있어서,
    입력 장치
    를 더 포함하고,
    상기 프로세서는, 상기 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하는 과정의 적어도 일부로,
    적어도 상기 입력 장치를 통하여 획득한 데이터에 기반하여 상기 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하도록 설정된 전자 장치.
  23. 전자 장치에 있어서,
    명령어들을 저장하는 메모리; 및
    상기 저장된 명령어들을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하고,
    적어도 상기 태스크 및 상기 사용자의 상태에 기반하여, 사용자의 위치를 기준으로 하는 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하고,
    상기 확인된 목적 지점으로 상기 전자 장치를 이동시키도록 상기 전자 장치의 구동 회로를 제어하도록 설정된 전자 장치.
  24. 전자 장치에 있어서,
    명령어들을 저장하는 메모리; 및
    상기 저장된 명령어들을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하고
    상기 사용자 정보가 제 1 사용자로 확인되면 상기 전자 장치의 목적 지점을 제 1 위치로 결정하거나, 또는, 상기 사용자 정보가 상기 제 1 사용자와 상이한 제 2 사용자로 확인되면 상기 전자 장치의 목적 지점을 상기 제 1 위치와 상이한 제 2 위치로 결정하고,
    상기 결정된 목적 지점으로 상기 전자 장치가 이동하도록 상기 전자 장치의 구동 회로를 제어하고,
    상기 목적 지점에서, 상기 태스크를 수행하도록 설정된 전자 장치.
  25. 전자 장치에 있어서,
    명령어들을 저장하는 메모리; 및
    상기 저장된 명령어들을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 입력 장치를 사용하여 획득한 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하고,
    상기 사용자가 제 1 위치에서 제 1 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 제 2 위치로 결정하거나, 또는, 상기 사용자가 상기 제 1 위치에서 제 2 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 상기 제 2 위치와 상이한 제 3 위치로 결정하고,
    상기 결정된 목적 지점으로 상기 전자 장치가 이동하도록 상기 전자 장치의 구동 회로를 제어하고,
    상기 목적 지점에서 상기 태스크를 수행하도록 설정된 전자 장치.
  26. 전자 장치의 동작 방법에 있어서,
    획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하는 동작;
    적어도 상기 태스크 및 상기 식별된 사용자 정보에 기반하여, 상기 식별된 사용자 정보에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 동작; 및
    상기 확인된 목적 지점으로 이동하는 동작
    을 포함하는 전자 장치의 동작 방법.
  27. 전자 장치의 동작 방법에 있어서,
    획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하는 동작;
    적어도 상기 태스크 및 상기 사용자의 상태에 기반하여, 상기 태스크에 대응하는 사용자의 위치를 기준으로 상기 태스크 수행을 위한 상기 전자 장치의 목적 지점을 확인하는 동작; 및
    상기 확인된 목적 지점으로 상기 전자 장치를 이동하는 동작
    을 포함하는 전자 장치의 동작 방법.
  28. 전자 장치의 동작 방법에 있어서,
    획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자 정보를 식별하는 동작;
    상기 사용자 정보가 제 1 사용자로 식별되면 상기 전자 장치의 목적 지점을 제 1 위치로 결정하거나, 또는, 상기 사용자 정보가 상기 제 1 사용자와 상이한 제 2 사용자로 식별되면 상기 전자 장치의 목적 지점을 상기 제 1 위치와 상이한 제 2 위치로 결정하는 동작;
    상기 결정된 목적 지점으로 이동하는 동작; 및
    상기 목적 지점에서, 상기 태스크를 수행하는 동작
    을 포함하는 전자 장치의 동작 방법.
  29. 전자 장치의 동작 방법에 있어서,
    획득된 태스크 수행 명령에 대응하는 태스크 및 상기 태스크에 대응하는 사용자의 상태를 확인하는 동작;
    상기 사용자가 제 1 위치에서 제 1 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 제 2 위치로 결정하거나, 또는, 상기 사용자가 상기 제 1 위치에서 제 2 상태로 있는 것으로 확인되면 상기 전자 장치의 목적 지점을 상기 제 2 위치와 상이한 제 3 위치로 결정하는 동작;
    상기 결정된 목적 지점으로 이동하는 동작; 및
    상기 목적 지점에서 상기 태스크를 수행하는 동작
    을 포함하는 전자 장치의 동작 방법.

KR1020170148932A 2017-11-09 2017-11-09 이동이 가능한 전자 장치 및 그 동작 방법 KR102463806B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170148932A KR102463806B1 (ko) 2017-11-09 2017-11-09 이동이 가능한 전자 장치 및 그 동작 방법
EP18876627.3A EP3655204A4 (en) 2017-11-09 2018-09-11 ELECTRONIC MOVING DEVICE AND OPERATING PROCEDURES FOR IT
PCT/KR2018/010613 WO2019093646A1 (en) 2017-11-09 2018-09-11 Electronic device capable of moving and operating method thereof
CN201880062061.7A CN111163906B (zh) 2017-11-09 2018-09-11 能够移动的电子设备及其操作方法
US16/160,193 US11407106B2 (en) 2017-11-09 2018-10-15 Electronic device capable of moving and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170148932A KR102463806B1 (ko) 2017-11-09 2017-11-09 이동이 가능한 전자 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20190053001A true KR20190053001A (ko) 2019-05-17
KR102463806B1 KR102463806B1 (ko) 2022-11-07

Family

ID=66326618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170148932A KR102463806B1 (ko) 2017-11-09 2017-11-09 이동이 가능한 전자 장치 및 그 동작 방법

Country Status (5)

Country Link
US (1) US11407106B2 (ko)
EP (1) EP3655204A4 (ko)
KR (1) KR102463806B1 (ko)
CN (1) CN111163906B (ko)
WO (1) WO2019093646A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210085398A (ko) * 2019-12-30 2021-07-08 엘지전자 주식회사 이동 로봇
US11480968B1 (en) * 2018-08-29 2022-10-25 Amazon Technologies, Inc. System for dynamic positioning of an autonomous mobile device with respect to a user

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442056B (zh) * 2019-07-29 2020-09-11 南京蹑波物联网科技有限公司 一种机器人紧急故障预警系统
KR102641117B1 (ko) * 2019-08-26 2024-02-27 삼성전자주식회사 영상을 증강하는 방법 및 장치
US11869213B2 (en) * 2020-01-17 2024-01-09 Samsung Electronics Co., Ltd. Electronic device for analyzing skin image and method for controlling the same
CN113223510B (zh) * 2020-01-21 2022-09-20 青岛海尔电冰箱有限公司 冰箱及其设备语音交互方法、计算机可读存储介质
CN111866660B (zh) * 2020-06-29 2022-09-09 深圳优地科技有限公司 声音播放方法、机器人、终端设备及存储介质
CN113733118B (zh) * 2021-09-10 2023-05-26 中山大学 一种带柔性臂的空间站舱外服务机器人及其工作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140249676A1 (en) * 2013-03-04 2014-09-04 Microsoft Corporation Adapting robot behavior based upon human-robot interaction
KR20170066034A (ko) * 2015-12-04 2017-06-14 삼성전자주식회사 알람 출력 방법 및 이를 지원하는 전자 장치
JP2017177228A (ja) * 2016-03-28 2017-10-05 株式会社国際電気通信基礎技術研究所 サービス提供ロボットシステム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001277166A (ja) * 2000-03-31 2001-10-09 Sony Corp ロボット及びロボットの行動決定方法
JP4448024B2 (ja) * 2002-05-31 2010-04-07 富士通株式会社 遠隔操作ロボットおよびロボット自己位置同定方法
US7756322B2 (en) * 2003-08-18 2010-07-13 Honda Motor Co., Ltd. Picture taking mobile robot
JP4220856B2 (ja) * 2003-08-18 2009-02-04 本田技研工業株式会社 携帯端末機器を用いた移動ロボットの画像撮影装置及びその方法
JP4316477B2 (ja) * 2004-11-18 2009-08-19 パナソニック株式会社 移動ロボットの追従方法
JP4455417B2 (ja) * 2005-06-13 2010-04-21 株式会社東芝 移動ロボット、プログラム及びロボット制御方法
US8935006B2 (en) * 2005-09-30 2015-01-13 Irobot Corporation Companion robot for personal interaction
JP4456561B2 (ja) * 2005-12-12 2010-04-28 本田技研工業株式会社 自律移動ロボット
JP4682217B2 (ja) * 2007-03-07 2011-05-11 パナソニック株式会社 行動制御装置、方法、プログラム
JP4886572B2 (ja) * 2007-03-29 2012-02-29 本田技研工業株式会社 ロボット
US8838268B2 (en) 2008-01-28 2014-09-16 Seegrid Corporation Service robot and method of operating same
CN101653662A (zh) * 2008-08-21 2010-02-24 鸿富锦精密工业(深圳)有限公司 机器人
KR101094648B1 (ko) 2009-08-10 2011-12-16 성균관대학교산학협력단 구도결정을 하는 사진사 로봇 및 그 제어방법
KR101119030B1 (ko) 2010-05-12 2012-03-13 (주) 퓨처로봇 지능형 로봇 장치의 서비스 시나리오 편집 방법, 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체, 지능형 로봇 장치 및 지능형 로봇의 서비스 방법
US9259842B2 (en) * 2011-06-10 2016-02-16 Microsoft Technology Licensing, Llc Interactive robot initialization
KR20130010553A (ko) * 2011-07-19 2013-01-29 주식회사 바이오닉스 사용자 피드백 및 작업교시를 이용한 치료장치 및 그 방법
JP2013022705A (ja) * 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
KR101710667B1 (ko) 2012-12-17 2017-02-27 한국전자통신연구원 로봇을 이용한 서비스 어플리케이션 제공 장치 및 그 방법
CN107530882B (zh) * 2015-04-22 2021-08-10 索尼公司 移动体控制系统、控制方法以及存储介质
US10486313B2 (en) * 2016-02-09 2019-11-26 Cobalt Robotics Inc. Mobile robot map generation
JP6726388B2 (ja) * 2016-03-16 2020-07-22 富士ゼロックス株式会社 ロボット制御システム
CN107030691B (zh) * 2017-03-24 2020-04-14 华为技术有限公司 一种看护机器人的数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140249676A1 (en) * 2013-03-04 2014-09-04 Microsoft Corporation Adapting robot behavior based upon human-robot interaction
KR20170066034A (ko) * 2015-12-04 2017-06-14 삼성전자주식회사 알람 출력 방법 및 이를 지원하는 전자 장치
JP2017177228A (ja) * 2016-03-28 2017-10-05 株式会社国際電気通信基礎技術研究所 サービス提供ロボットシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11480968B1 (en) * 2018-08-29 2022-10-25 Amazon Technologies, Inc. System for dynamic positioning of an autonomous mobile device with respect to a user
KR20210085398A (ko) * 2019-12-30 2021-07-08 엘지전자 주식회사 이동 로봇

Also Published As

Publication number Publication date
CN111163906A (zh) 2020-05-15
EP3655204A4 (en) 2020-08-12
CN111163906B (zh) 2023-07-21
US11407106B2 (en) 2022-08-09
WO2019093646A1 (en) 2019-05-16
EP3655204A1 (en) 2020-05-27
US20190134812A1 (en) 2019-05-09
KR102463806B1 (ko) 2022-11-07

Similar Documents

Publication Publication Date Title
KR102463806B1 (ko) 이동이 가능한 전자 장치 및 그 동작 방법
US11241789B2 (en) Data processing method for care-giving robot and apparatus
US11010601B2 (en) Intelligent assistant device communicating non-verbal cues
JP5456832B2 (ja) 入力された発話の関連性を判定するための装置および方法
US20210132686A1 (en) Storage medium, augmented reality presentation apparatus, and augmented reality presentation method
EP4027234A1 (en) Multi-user intelligent assistance
CN112400150A (zh) 基于预测扫视着陆点的动态图形渲染
JP7092028B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US11373650B2 (en) Information processing device and information processing method
JP2012040655A (ja) ロボット制御方法、プログラム、及びロボット
CN111354434A (zh) 电子装置及其提供信息的方法
US11429186B2 (en) Location-based entity selection using gaze tracking
US10540542B2 (en) Monitoring
US11656837B2 (en) Electronic device for controlling sound and operation method therefor
US20210303258A1 (en) Information processing device, information processing method, and recording medium
KR20200076438A (ko) 사용자의 액티비티를 추적하는 전자 장치 및 전자 장치의 동작 방법
JP6798258B2 (ja) 生成プログラム、生成装置、制御プログラム、制御方法、ロボット装置及び通話システム
KR102168812B1 (ko) 사운드를 제어하는 전자 장치 및 그 동작 방법
WO2020184317A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
CN111919250A (zh) 传达非语言提示的智能助理设备
US20240119928A1 (en) Media control tools for managing communications between devices
WO2023181808A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
WO2023249073A1 (ja) 情報処理装置、ディスプレイデバイス、情報処理方法、及びプログラム
US20240134492A1 (en) Digital assistant interactions in extended reality
CN114779924A (zh) 头戴显示设备及控制家居设备的方法、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant