KR20240028188A - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
KR20240028188A
KR20240028188A KR1020220106367A KR20220106367A KR20240028188A KR 20240028188 A KR20240028188 A KR 20240028188A KR 1020220106367 A KR1020220106367 A KR 1020220106367A KR 20220106367 A KR20220106367 A KR 20220106367A KR 20240028188 A KR20240028188 A KR 20240028188A
Authority
KR
South Korea
Prior art keywords
robot
user
information
avatar
server
Prior art date
Application number
KR1020220106367A
Other languages
English (en)
Inventor
최예은
한훈
공진아
김효진
황지웅
이승준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220106367A priority Critical patent/KR20240028188A/ko
Priority to PCT/KR2023/006049 priority patent/WO2024043434A1/ko
Priority to US18/321,261 priority patent/US20240066717A1/en
Publication of KR20240028188A publication Critical patent/KR20240028188A/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/026Acoustical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Acoustics & Sound (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 로봇은 디스플레이, 로봇의 식별 정보를 저장하는 메모리, 가상 환경 서비스를 제공하는 서버와 통신하는 통신 인터페이스 및 로봇을 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 메모리에 저장된 로봇의 식별 정보를 통신 인터페이스를 통해 서버에 전송하고, 서버로부터 로봇의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 통신 인터페이스를 통해 수신되면, 인터렉션 정보에 기초하여 로봇의 동작을 제어하는 적어도 하나의 프로세서를 포함한다.

Description

로봇 및 그 제어 방법{ROBOT AND CONTROLLING METHOD THEREOF}
본 개시는 로봇 및 그 제어방법에 관한 것으로, 더욱 상세하게는 가상 환경 서비스와 관련된 정보를 이용하여 사용자에게 응답을 제공하는 로봇 및 그 제어방법에 대한 것이다.
사용자의 발화에 따라 응답을 제공하는 음성 인식 서비스를 제공하는 로봇이 존재한다. 로봇은 사용자 명령에 따라 적합한 응답을 제공할 수 있다. 한편, 로봇은 사용자 대화에 따라 적합한 응답을 제공할 수 있다. 여기서, 로봇은 기 설정된 데이터에 의존하여 응답을 생성한다. 로봇은 기 학습된 모델을 이용하거나, 사용자가 로봇이 배치된 공간에서 발화한 음성만을 저장할 수 있다.
따라서, 로봇은 사용자에 대한 구체적인 정보를 알기 어려우므로, 사용자에게 상황에 맞는 적합한 응답을 제공하지 못하는 문제점이 있다.
최근, 가상 환경 서비스 내지 메타 버스 서비스 등을 이용하는 사용자가 늘어나고 있다는 점에서, 외부 서버에서 이루어지는 사용자 행동을 로봇에 반영하기 위해 사용자가 별도의 데이터를 옮기는 행위 등을 수행해야 하는 번거로움이 있었다.
본 개시는 상술한 문제를 개선하기 위해 고안된 것으로, 본 개시의 목적은 가상 환경 서비스에서 획득되는 정보에 기초하여 로봇의 주행을 제어하는 로봇 및 그의 제어 방법을 제공함에 있다.
본 실시 예에 따른 로봇은 디스플레이, 상기 로봇의 식별 정보를 저장하는 메모리, 가상 환경 서비스를 제공하는 서버와 통신하는 통신 인터페이스 및 상기 로봇을 상기 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 상기 메모리에 저장된 상기 로봇의 식별 정보를 상기 통신 인터페이스를 통해 상기 서버에 전송하고, 상기 서버로부터 상기 로봇의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 상기 통신 인터페이스를 통해 수신되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어하는 적어도 하나의 프로세서를 포함한다.
한편, 상기 적어도 하나의 프로세서는 상기 인터렉션 정보가 상기 통신 인터페이스를 통해 수신되면, 사용자 인증을 수행하기 위한 UI(User Interface)를 표시하도록 상기 디스플레이를 제어하고, 상기 UI를 통해 수신된 정보에 기초하여 사용자 인증이 완료되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어할 수 있다.
한편, 로봇은 마이크를 더 포함하고, 상기 적어도 하나의 프로세서는 상기 인터렉션 정보가 상기 통신 인터페이스를 통해 수신되면, 상기 인터렉션 정보에 기초하여 아바타의 식별 정보를 발화하도록 가이드하는 상기 UI를 표시하도록 상기 디스플레이를 제어하고, 상기 UI에 기초하여 상기 사용자 아바타의 식별 정보를 포함하는 사용자 음성이 상기 마이크를 통해 획득되면, 상기 사용자의 인증이 완료된 것으로 식별할 수 있다.
한편, 상기 인터렉션 정보는 상기 사용자에 대응되는 사용자 아바타와 관련된 인터렉션 정보, 상기 로봇에 대응되는 로봇 아바타와 관련된 인터렉션 정보, 상기 가상 환경 서비스와 관련된 환경 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 사용자 아바타와 관련된 인터렉션 정보는 상기 사용자 아바타의 식별 정보, 상기 사용자 아바타와 관련된 대화 정보, 상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 사용자 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고, 상기 로봇 아바타와 관련된 인터렉션 정보는 상기 로봇 아바타의 식별 정보, 상기 로봇 아바타와 관련된 대화 정보, 상기 로봇 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고, 상기 가상 환경 서비스와 관련된 환경 정보는 상기 가상 환경 서비스에서 획득되는 이벤트와 관련된 정보를 포함할 수 있다.
한편, 상기 사용자 아바타의 식별 정보 또는 상기 로봇 아바타의 식별 정보는 아바타를 식별하기 위한 이름, 식별 번호 또는 프로필 정보 중 적어도 하나를 포함하고, 상기 사용자 아바타와 관련된 대화 정보 또는 상기 로봇 아바타와 관련된 대화 정보는 아바타의 대화에 포함된 키워드 단어, 선호 주제, 선호 감정 표현 또는 성향 중 적어도 하나를 포함하고, 상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 컨텍스트 정보는 아바타의 관계, 활동, 방문 장소, 구매 물품 또는 선호 물품 중 적어도 하나를 포함할 수 있다.
한편, 상기 적어도 하나의 프로세서는 상기 마이크를 통해 사용자 음성이 획득되면, 상기 사용자 음성이 상기 메모리에 기 등록된 사용자의 음성인지 식별하고, 상기 사용자 음성이 상기 기 등록된 사용자의 음성이면, 상기 인터렉션 정보에 기초하여 상기 사용자 음성에 대응되는 기능을 수행할 수 있다.
한편, 전자 장치는 스피커를 더 포함하고, 상기 적어도 하나의 프로세서는 상기 사용자 음성에 스케쥴과 관련된 단어가 포함되면, 상기 인터렉션 정보에 포함된 스케쥴 정보를 출력하도록 상기 스피커를 제어할 수 있다.
한편, 상기 적어도 하나의 프로세서는 상기 서버로부터 기 설정된 이벤트에 대한 알림 정보가 상기 통신 인터페이스를 통해 수신되면, 상기 인터렉션 정보에 기초하여 상기 기 설정된 이벤트에 대응되는 기능을 수행할 수 있다.
한편, 상기 적어도 하나의 프로세서는 기 설정된 이벤트가 식별되면, 상기 인터렉션 정보 및 상기 기 설정된 이벤트에 대한 알림 정보를 결합한 맵핑 정보를 획득하고, 상기 맵핑 정보를 상기 통신 인터페이스를 통해 상기 서버에 전송할 수 있다.
본 실시 예에 따른 가상 환경 서비스를 제공하는 서버와 통신하는 로봇의 제어 방법은 상기 로봇을 상기 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 상기 로봇에 저장된 상기 로봇의 식별 정보를 상기 서버에 전송하는 단계 및 상기 서버로부터 상기 로봇의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 수신되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어하는 단계를 포함한다.
한편, 상기 제어 방법은 상기 인터렉션 정보가 수신되면, 사용자 인증을 수행하기 위한 UI(User Interface)를 표시하는 단계를 더 포함하고, 상기 로봇의 동작을 제어하는 단계는 상기 UI를 통해 수신된 정보에 기초하여 사용자 인증이 완료되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어할 수 있다.
한편, 상기 UI를 표시하는 단계는 상기 인터렉션 정보가 수신되면, 상기 인터렉션 정보에 기초하여 아바타의 식별 정보를 발화하도록 가이드하는 상기 UI를 표시하고, 상기 제어 방법은 상기 UI에 기초하여 상기 사용자 아바타의 식별 정보를 포함하는 사용자 음성이 획득되면, 상기 사용자의 인증이 완료된 것으로 식별하는 단계를 더 포함할 수 있다.
한편, 상기 인터렉션 정보는 상기 사용자에 대응되는 사용자 아바타와 관련된 인터렉션 정보, 상기 로봇에 대응되는 로봇 아바타와 관련된 인터렉션 정보, 상기 가상 환경 서비스와 관련된 환경 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 사용자 아바타와 관련된 인터렉션 정보는 상기 사용자 아바타의 식별 정보, 상기 사용자 아바타와 관련된 대화 정보, 상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 사용자 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고, 상기 로봇 아바타와 관련된 인터렉션 정보는 상기 로봇 아바타의 식별 정보, 상기 로봇 아바타와 관련된 대화 정보, 상기 로봇 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고, 상기 가상 환경 서비스와 관련된 환경 정보는 상기 가상 환경 서비스에서 획득되는 이벤트와 관련된 정보를 포함할 수 있다.
한편, 상기 사용자 아바타의 식별 정보 또는 상기 로봇 아바타의 식별 정보는 아바타를 식별하기 위한 이름, 식별 번호 또는 프로필 정보 중 적어도 하나를 포함하고, 상기 사용자 아바타와 관련된 대화 정보 또는 상기 로봇 아바타와 관련된 대화 정보는 아바타의 대화에 포함된 키워드 단어, 선호 주제, 선호 감정 표현 또는 성향 중 적어도 하나를 포함하고, 상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 컨텍스트 정보는 아바타의 관계, 활동, 방문 장소, 구매 물품 또는 선호 물품 중 적어도 하나를 포함할 수 있다.
한편, 상기 제어 방법은 사용자 음성이 획득되면, 상기 사용자 음성이 상기 로봇에 기 등록된 사용자의 음성인지 식별하는 단계를 더 포함하고, 상기 로봇의 동작을 제어하는 단계는 상기 사용자 음성이 상기 기 등록된 사용자의 음성이면, 상기 인터렉션 정보에 기초하여 상기 사용자 음성에 대응되는 기능을 수행할 수 있다.
한편, 상기 로봇의 동작을 제어하는 단계는 상기 사용자 음성에 스케쥴과 관련된 단어가 포함되면, 상기 인터렉션 정보에 포함된 스케쥴 정보를 상기 로봇의 스피커를 통해 출력할 수 있다.
한편, 상기 로봇의 동작을 제어하는 단계는 상기 서버로부터 기 설정된 이벤트에 대한 알림 정보가 수신되면, 상기 인터렉션 정보에 기초하여 상기 기 설정된 이벤트에 대응되는 기능을 수행할 수 있다.
한편, 기 설정된 이벤트가 식별되면, 상기 인터렉션 정보 및 상기 기 설정된 이벤트에 대한 알림 정보를 결합한 맵핑 정보를 획득하는 단계, 상기 맵핑 정보를 상기 서버에 전송하는 단계를 더 포함할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 로봇을 도시한 블록도이다.
도 2는 도 1의 로봇의 구체적인 구성을 설명하기 위한 블록도이다.
도 3은 로봇과 서버를 포함하는 시스템을 설명하기 위한 도면이다.
도 4는 제1 서버와 제2 서버를 포함하는 시스템을 설명하기 위한 도면이다.
도 5는 로봇과 서버의 연동 기능을 수행하는 동작을 설명하기 위한 흐름도이다.
도 6은 아바타 정보를 이용하여 사용자 음성에 대응되는 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 7은 로봇에서 센싱한 정보에 기초하여 서버에서 서비스를 제공하는 동작을 설명하기 위한 흐름도이다.
도 8은 아바타 정보를 설명하기 위한 도면이다.
도 9는 다양한 실시 예에 따라, 로봇이 메타버스와 연동하기 위한 동작을 설명하기 위한 흐름도이다.
도 10은 다양한 실시 예에 따라, 로봇이 메타버스와 연동하기 위한 동작을 설명하기 위한 흐름도이다.
도 11은 사용자 인증 방법을 설명하기 위한 도면이다.
도 12는 식별 정보를 이용한 사용자 인증을 설명하기 위한 도면이다.
도 13은 제스쳐를 이용한 사용자 인증을 설명하기 위한 도면이다.
도 14는 단말 장치를 이용한 사용자 인증을 설명하기 위한 도면이다.
도 15는 질문을 이용한 사용자 인증을 설명하기 위한 도면이다.
도 16은 기 등록된 물건을 이용한 사용자 인증을 설명하기 위한 도면이다.
도 17은 생체 인식을 통한 사용자 인증을 설명하기 위한 도면이다.
도 18은 사용자 인증 동작 이후 로봇의 응답을 설명하기 위한 도면이다.
도 19는 사용자 음성에 대응되는 응답 동작을 설명하기 위한 흐름도이다.
도 20은 사용자 음성에 대응되는 응답 동작을 설명하기 위한 도면이다.
도 21은 다양한 실시 예에 따라, 서버에서 발생한 기 설정된 이벤트에 기초하여 로봇이 응답 정보를 획득하는 동작을 설명하기 위한 흐름도이다.
도 22는 다양한 실시 예에 따라, 서버에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보를 획득하는 동작을 설명하기 위한 흐름도이다.
도 23은 다양한 실시 예에 따라, 서버에서 획득된 기 설정된 이벤트에 기초하여 로봇이 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 24는 다양한 실시 예에 따라, 서버에서 획득된 기 설정된 이벤트에 기초하여 로봇이 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 25는 다양한 실시 예에 따라, 서버에서 획득된 기 설정된 이벤트에 기초하여 로봇이 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 26은 다양한 실시 예에 따라, 서버에서 획득된 기 설정된 이벤트에 기초하여 로봇이 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 27은 다양한 실시 예에 따라, 서버에서 획득된 기 설정된 이벤트에 기초하여 로봇이 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 28은 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보를 획득하는 동작을 설명하기 위한 흐름도이다.
도 29는 사용자 음성에 기초하여 기 설정된 이벤트를 식별하는 동작을 설명하기 위한 흐름도이다.
도 30은 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 31은 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 32는 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 33은 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 34는 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 35는 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 36은 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 37은 다양한 실시 예에 따라, 로봇에서 발생한 기 설정된 이벤트에 기초하여 서버가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 38은 사용자에 따라 상이한 응답을 제공하는 동작을 설명하기 위한 도면이다.
도 39는 다수의 사용자에게 기능을 제공하는 로봇을 설명하기 위한 도면이다.
도 40은 다양한 실시 예에 따라, 로봇의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 명세서에서, 사용자라는 용어는 로봇을 사용하는 사람 또는 로봇을 사용하는 장치(예: 인공지능 로봇)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 로봇(100)를 도시한 블록도이다.
도 1을 참조하면, 로봇(100)은 디스플레이(110), 메모리(120), 통신 인터페이스(130) 또는 적어도 하나의 프로세서(140) 중 적어도 하나를 포함할 수 있다.
여기서, 로봇(100)은 이동형 서비스 로봇을 의미할 수 있다.
여기서, 디스플레이(110)는 사용자에게 제공되는 이미지를 표시할 수 있다. 디스플레이(110)는 사용자에게 제공되는 다양한 형태의 UI를 표시할 수 있다.
여기서, 메모리(120)는 로봇의 식별 정보 또는 기 등록된 사용자와 음성 정보를 저장할 수 있다.
여기서, 통신 인터페이스(130)는 서버(200)와 통신할 수 있다. 여기서, 서버(200)는 가상 환경 서비스 또는 메타 버스 환경 서비스를 제공하는 서버를 의미할 수 있다.
적어도 하나의 프로세서(140)는 로봇(100)의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 적어도 하나의 프로세서(140)는 로봇(100)의 전반적인 동작을 제어하는 기능을 한다.
메모리(120)는 로봇(100)의 식별 정보를 저장할 수 있다. 여기서, 로봇(100)의 식별 정보는 시리얼 넘버 또는 모델 번호 등을 의미할 수 있다. 여기서, 로봇(100)의 식별 정보는 공장 출하 단계 또는 최초 배송 단계에서 이미 메모리(120)에 저장될 수 있다.
통신 인터페이스(130)는 가상 환경 서비스를 제공하는 서버(200)와 통신할 수 있다. 여기서, 서버(200)는 가상 환경 서비스 또는 메타버스 서비스를 제공하는 서버를 의미할 수 있다. 다양한 실시 예에 따라, 서버(200)는 게임 서버일 수 있다.
로봇(100)을 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 메모리(120)에 저장된 로봇(100)의 식별 정보를 통신 인터페이스(130)를 통해 서버(200)에 전송하고,
다양한 실시 예에 따라, 적어도 하나의 프로세서(140)는 서버(200)로부터 로봇(100)의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 통신 인터페이스(130)를 통해 수신되면, 인터렉션 정보에 기초하여 로봇(100)의 동작을 제어할 수 있다.
다양한 실시 예에 따라, 적어도 하나의 프로세서(140)는 서버(200)로부터 로봇(100)의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 통신 인터페이스(130)를 통해 수신되면, 사용자의 인증을 수행하기 위한 UI(User Interface)를 표시하도록 디스플레이(110)를 제어하고, UI(또는 가이드 UI)를 통해 획득된 사용자 입력에 기초하여 사용자의 인증이 완료되면, 인터렉션 정보에 기초하여 로봇(100)의 동작을 제어할 수 있다.
사용자는 로봇(100)을 구매한 경우, 공장 초기화 상태의 로봇(100)을 받을 수 있다. 여기서, 로봇(100)은 기본 설정이 적용된 상태에서 서비스를 제공할 수 있다. 여기서, 로봇(100)을 배송 받은 사용자는 가상 환경 서비스와 연동하여 자신과 관련된 정보를 로봇(100)에 적용하고 싶을 수 있다. 따라서, 사용자는 로봇(100)을 가상 환경 서비스와 연동하기 위한 사용자 입력(또는 사용자 명령)을 로봇(100)에 입력할 수 있다.
여기서, 사용자 입력은 가상 환경 서비스와 로봇(100)을 연동하기 위한 사용자 명령을 의미할 수 있다. 여기서, 가상 환경 서비스는 메타 버스 서비스를 의미할 수 있다. 가상 환경 서비스는 가상 공간에서 아바타 등을 통해 사용자가 특정 기능을 이용하도록 환경을 제공하는 서비스를 의미할 수 있다.
사용자는 로봇(100)과 가상 환경 서비스를 연동하기 위한 사용자 명령을 로봇(100)에 입력할 수 있다. 여기서, 연동 동작은 로봇(100)에서 저장되는 정보와 가상 환경에서 저장되는 정보를 공유하는 동작을 의미할 수 있다. 적어도 하나의 프로세서(140)는 통신 인터페이스(130)를 통해 서버(200)와 통신을 수행할 수 있다. 구체적으로, 적어도 하나의 프로세서(140)는 통신 인터페이스(130)를 통해 사용자에 대응되는 정보를 요청할 수 있다. 적어도 하나의 프로세서(140)는 복수의 사용자 중 로봇(100)의 사용자를 특정하기 위해 로봇(100)의 식별 정보를 서버(200)에 통신 인터페이스(130)를 통해 전송할 수 있다.
다양한 실시 예에 따라, 로봇(100)은 로봇(100)의 식별 정보를 서버(200)에 전송하고, 서버(200)로부터 사용자의 인터렉션 정보를 획득할 수 있다. 구체적으로, 서버(200)는 로봇(100)을 구매한 사용자에 대한 정보 및 사용자가 구매한 로봇(100)의 식별 정보를 이미 저장하고 있을 수 있다. 서버(200)는 구매자의 인터렉션 정보 및 로봇(100)의 식별 정보를 결합한 맵핑 정보를 서버(200)의 메모리에 저장할 수 있다. 이와 관련된 구체적인 동작은 도 9 및 도 10에서 기재한다. 여기서, 사용자는 로봇(100)에 사용자의 식별 정보를 별도로 입력할 필요가 없을 수 있다.
다양한 실시 예에 따라, 로봇(100)은 사용자의 식별 정보를 서버(200)에 전송하고, 서버(200)로부터 사용자의 인터렉션 정보를 획득할 수 있다. 구체적으로, 서버(200)는 사용자의 인터렉션 정보를 이미 저장하고 있을 수 있다. 서버(200)는 로봇(100)으로부터 사용자의 식별 정보에 대응되는 사용자의 인터렉션 정보를 식별할 수 있다. 서버(200)는 식별된 사용자의 인터렉션 정보를 로봇(100)에 전송할 수 있다. 여기서, 사용자는 로봇(100)에 사용자의 식별 정보를 직접 입력해야 한다.
로봇(100)은 서버(200)로부터 수신한 사용자의 인터렉션 정보를 수신하고, 수신된 인터렉션 정보를 메모리(120)에 저장할 수 있다. 그리고, 로봇(100)은 저장된 인터렉션 정보에 기초하여 동작을 제어할 수 있다.
서버(200)는 복수의 사용자에 대한 정보를 저장할 수 있다. 서버(200)에서 저장하고 있는 정보를 인터렉션 정보로 기재한다. 인터렉션 정보는 가상 환경 서비스를 제공하는 서버(200)에서 획득되는 정보이며, 가상 환경 서비스 내에 존재하는 아바타와 관련된 정보를 의미할 수 있다. 인터렉션 정보는 가상 환경 서비스를 통해 획득되는 다양한 정보를 의미할 수 있다.
한편, 인터렉션 정보는 사용자에 대응되는 사용자 아바타 정보(또는 사용자 아바타와 관련된 인터렉션 정보), 로봇(100)에 대응되는 로봇 아바타 정보(또는 로봇 아바타와 관련된 인터렉션 정보), 서버(200)에서 가상 환경 서비스와 관련된 환경 정보 중 적어도 하나를 포함할 수 있다.
여기서, 사용자 아바타는 가상 환경에 존재하는 사용자를 나타내는 아바타를 의미할 수 있다. 사용자 아바타는 로봇(100)의 사용자를 나타내는 아바타일 수 있다. 사용자 아바타는 가상 환경 서비스를 이용하는 사용자에 따라 상이할 수 있다.
로봇 아바타는 가상 환경에 존재하는 로봇을 나타내는 아바타를 의미할 수 있다. 로봇 아바타는 로봇(100)을 나타내는 아바타일 수 있다. 로봇 아바타는 가상 환경 서비스를 이용하는 사용자에 따라 상이할 수 있다. 비로, 기본 모습 또는 제공 서비스 등이 사용자 별로 동일하다고 하여도, 정보 수집 동작을 사용자 각각 이루어질 수 있다. 따라서, 제1 사용자에 대응되는 로봇 아바타와 제2 사용자에 대응되는 로봇 아바타는 상이한 아바타일 수 있다.
한편, 사용자 아바타 정보(또는 사용자 아바타와 관련된 인터렉션 정보)는 사용자 아바타의 식별 정보, 사용자 아바타를 통해 획득되는 대화 정보, 사용자 아바타를 통해 획득되는 관찰 정보(또는 컨텍스트 정보) 또는 사용자 아바타의 스케쥴 정보 중 적어도 하나를 포함할 수 있다.
한편, 로봇 아바타 정보(또는 로봇 아바타와 관련된 인터렉션 정보)는 로봇(100) 아바타의 식별 정보, 로봇(100) 아바타를 통해 획득되는 대화 정보, 로봇(100) 아바타를 통해 획득되는 관찰 정보(또는 컨텍스트 정보) 또는 로봇(100) 아바타의 스케쥴 정보 중 적어도 하나를 포함할 수 있다.
한편, 사용자 아바타의 식별 정보 또는 로봇(100) 아바타의 식별 정보는 아바타를 식별하기 위한 이름, 식별 번호 또는 프로필 정보 중 적어도 하나를 포함할 수 있다. 또한, 식별 정보는 아바타를 특정할 수 있는 이름, 번호, 아이디, 닉네임, 고유 번호 등을 의미할 수 있다.
한편, 사용자 아바타의 대화 정보 또는 로봇(100) 아바타의 대화 정보는 아바타의 대화에 포함된 키워드 단어, 선호 주제, 선호 감정 표현 또는 성향 중 적어도 하나를 포함할 수 있다. 또한, 대화 정보는 아바타를 통해 제공되는 대화 서비스에서 이루어진 대화 데이터를 의미할 수 있다. 여기서, 대화 정보는 텍스트 데이터 또는 오디오 데이터 중 적어도 하나를 포함할 수 있다.
한편, 사용자 아바타의 관찰 정보(또는 컨텍스트 정보) 또는 로봇(100) 아바타의 관찰 정보(또는 컨텍스트 정보)는 아바타의 관계, 활동, 방문 장소, 구매 물품 또는 선호 물품 중 적어도 하나를 포함할 수 있다. 또한, 관찰 정보(또는 컨텍스트 정보)는 아바타를 통해 사용자에게 제공된 서비스와 관련된 다양한 정보를 의미할 수 있다.
한편, 환경 정보는 서버(200)에서 획득되는 이벤트 정보를 포함할 수 있다. 또한, 환경 정보는 아바타가 아닌 가상 환경 서비스 자체에서 사용자가 획득 가능한 다양한 정보를 의미할 수 있다.
인터렉션 정보와 관련된 구체적인 예시는 도 8에서 추가로 기재한다. 인터렉션 정보는 메타버스 정보, 메타 버스와 관련된 정보, 아바타 정보, 아바타와 관련된 정보, 가상 환경 서비스와 관련된 정보, 가상 환경 서비스를 통해 획득된 정보 등으로 기재된 수 있다.
한편, 인터렉션 정보가 통신 인터페이스(130)를 통해 수신되면, 적어도 하나의 프로세서(140)는 인터렉션 정보에 포함된 아바타의 식별 정보를 발화하도록 가이드하는 UI를 표시하도록 디스플레이(110)를 제어할 수 있다.
인터렉션 정보가 서버(200)로부터 수신된다 하더라도, 적어도 하나의 프로세서(140)는 사용자 인증 동작을 수행할 수 있다. 제공된 인터렉션 정보가 사용자에 대응되는 개인 정보이라는 점에서, 로봇(100)은 연동 동작을 수행학기 전에 사용자의 인증을 요구할 수 있다. 사용자 인증과 관련된 구체적인 설명은 도 11 내지 도 18에서 기재한다.
여기서, 적어도 하나의 프로세서(140)는 이미 수신된 인터렉션 정보에 기초하여 사용자 인증을 수행할 수 있다. 적어도 하나의 프로세서(140)는 사용자가 인터렉션 정보에 포함된 정보를 발화하는 경우, 사용자가 인증을 성공한 것으로 판단할 수 있다. 이와 관련된 구체적인 설명은 도 12에서 기재한다.
한편, 로봇(100)은 마이크(180)를 더 포함하고, 인터렉션 정보에 포함된 아바타의 식별 정보는 서버(200)에 저장된 사용자에 대응되는 아바타의 식별 정보이고, 적어도 하나의 프로세서(140)는 UI에 기초하여 아바타의 식별 정보를 포함하는 사용자 음성이 마이크(180)를 통해 획득되면, 사용자의 인증이 완료된 것으로 식별할 수 있다.
예를 들어, 로봇(100)은 사용자가 사용자 아바타의 식별 정보를 발화할 것을 가이드하는 UI를 출력할 수 있다. 사용자는 UI를 통해 자신이 가상 환경 서비스에서 이용하는 사용자 아바타의 식별 정보(S-USER)를 발화할 수 있다. 적어도 하나의 프로세서(140)는 사용자가 발화한 음성(S-USER)에 대응되는 텍스트 정보를 획득할 수 있다. 적어도 하나의 프로세서(140)는 획득된 텍스트 정보와 기 저장된 사용자 아바타의 식별 정보를 비교하여 사용자 인증을 수행할 수 있다. 획득된 텍스트 정보와 기 저장된 사용자 아바타의 식별 정보가 일치하면, 적어도 하나의 프로세서(140)는 사용자 인증이 성공하였다고 식별할 수 있다. 이와 관련된 구체적인 설명은 도 12의 실시 예(1210)에서 기재한다.
한편, 적어도 하나의 프로세서(140)는 마이크(180)를 통해 사용자 음성이 획득되면, 사용자 음성이 메모리(120)에 기 등록된 사용자의 음성인지 식별하고, 사용자 음성이 기 등록된 사용자의 음성이면, 인터렉션 정보에 기초하여 사용자 음성에 대응되는 기능을 수행할 수 있다. 기 등록된 사용자의 음성 여부를 판단하는 동작은 도 6, 도 19, 도 29에서 구체적으로 기재한다.
한편, 로봇(100)은 스피커(170)를 더 포함하고, 적어도 하나의 프로세서(140)는 사용자 음성에 스케쥴과 관련된 단어가 포함되면, 인터렉션 정보에 포함된 스케쥴 정보를 출력하도록 스피커(170)를 제어할 수 있다.
적어도 하나의 프로세서(140)는 사용자 음성을 수신할 수 있다. 적어도 하나의 프로세서(140)는 사용자 음성에 대응되는 텍스트 정보를 획득할 수 있다. 적어도 하나의 프로세서(140)는 사용자 음성에 대응되는 텍스트 정보에 포함된 키워드를 식별할 수 있다. 여기서, 키워드는 스케쥴과 관련된 단어를 나타낼 수 있다. 사용자 음성에 대응되는 텍스트 정보 중 스케쥴과 관련된 기 설정된 단어(예를 들어, 쇼핑)가 식별되면, 적어도 하나의 프로세서(140)는 인터렉션 정보에 포함된 스케쥴 정보를 스피커(170)를 통해 출력할 수 있다.
이와 관련된 구체적인 동작은 도 20의 실시 예(2020)에서 기재한다.
한편, 적어도 하나의 프로세서(140)는 서버(200)로부터 기 설정된 이벤트에 대한 알림 정보가 통신 인터페이스(130)를 통해 수신되면, 인터렉션 정보에 기초하여 기 설정된 이벤트에 대응되는 기능을 수행할 수 있다. 이와 관련된 구체적인 설명은 도 21 내지 도 27에서 기재한다.
한편, 적어도 하나의 프로세서(140)는 기 설정된 이벤트가 식별되면, 인터렉션 정보 및 기 설정된 이벤트에 대한 알림 정보를 결합한 맵핑 정보를 획득하고, 맵핑 정보를 통신 인터페이스(130)를 통해 서버(200)에 전송할 수 있다. 이와 관련된 구체적인 설명은 도 28 내지 도 37에서 기재한다.
다양한 실시 예에 따른 로봇(100) 및 서버(200)는 가상 환경 서비스에서 수집되는 정보를 로봇(100)에 자동으로 적용할 수 있다. 로봇(100)은 오랜 기간동안 사용자와 관련된 정보를 통해 학습하지 않더라도 인터렉션 정보를 통해 사용자에게 적합한 응답(또는 답변)을 제공할 수 있다.
다양한 실시 예에 따른 로봇(100)은 가상 환경 서비스에서 제공되는 복수의 아바타(사용자 아바타, 로봇 아바타)와 관련된 인터렉션 정보를 함께 이용하여 서비스를 제공한다는 점에서, 로봇(100)은 현실 환경과 가상 환경이 그대로 매칭되는 경험을 사용자에게 제공할 수 있다.
한편, 이상에서는 로봇(100)을 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현 시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 2를 참조하여 이하에서 설명한다.
도 2는 도 1의 로봇(100)의 구체적인 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 로봇(100)은 디스플레이(110), 메모리(120), 통신 인터페이스(130), 적어도 하나의 프로세서(140), 조작 인터페이스(150), 구동부(160), 스피커(170), 마이크(180), 센서부(190) 중 적어도 하나를 포함할 수 있다.
한편, 디스플레이(110), 메모리(120), 통신 인터페이스(130) 및 적어도 하나의 프로세서(140)의 동작 중에서 앞서 설명한 것과 동일한 동작에 대해서는 중복 설명은 생략한다.
디스플레이(110)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(110)내에는 a-si TFT(amorphous silicon thin film transistor), LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(110)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display, three-dimensional dispaly) 등으로 구현될 수 있다. 또한, 본 개시의 일 실시 예에 따른, 디스플레이(110)는 이미지를을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 개시의 일 실시 예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다.
메모리(120)는 프로세서(140)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(140)와 별도의 메모리로 구현될 수도 있다. 이 경우, 메모리(120)는 데이터 저장 용도에 따라 로봇(100)에 임베디드된 메모리 형태로 구현되거나, 로봇(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100)의 구동을 위한 데이터의 경우 로봇(100)에 임베디드된 메모리에 저장되고, 로봇(100)의 확장 기능을 위한 데이터의 경우 로봇(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
한편, 로봇(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 로봇(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
통신 인터페이스(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(130)는 무선 통신 모듈 또는 유선 통신 모듈을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
무선 통신 모듈은 무선으로 외부 장치와 통신하는 모듈일 수 있다. 예를 들어, 무선 통신 모듈은 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 또는 기타 통신 모듈 중 적어도 하나의 모듈을 포함할 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 와이파이 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID(service set identifier) 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 모듈은 가시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
기타 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
유선 통신 모듈은 유선으로 외부 장치와 통신하는 모듈일 수 있다. 예를 들어, 유선 통신 모듈은 LAN(Local Area Network) 모듈, 이더넷 모듈, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 UWB(Ultra Wide-Band) 모듈 중 적어도 하나를 포함할 수 있다.
적어도 하나의 프로세서(140)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), GPU(graphics-processing unit) 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM(advanced reduced instruction set computer (RISC) machines) 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 적어도 하나의 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 적어도 하나의 프로세서(140)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
조작 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 로봇(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
구동부(160)는 로봇(100)의 이동을 제어하기 위한 모터를 포함할 수 있다. 여기서, 모터를 물리적인 힘을 생성할 수 있다.
스피커(170)는 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다.
마이크(180)는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환하기 위한 구성이다. 마이크(180)는 활성화 상태에서 사용자의 음성을 수신할 수 있다. 예를 들어, 마이크(180)는 로봇(100)의 상측이나 전면 방향, 측면 방향 등에 일체형으로 형성될 수 있다. 마이크(180)는 아날로그 형태의 사용자 음성을 수집하는 마이크, 수집된 사용자 음성을 증폭하는 앰프 회로, 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
센서부(190)는 적어도 하나의 센서를 포함할 수 있다. 여기서, 센서부(190)는 거리 센서, 뎁스 카메라, 이미지 센서, 생체 센서 중 적어도 하나를 포함할 수 있다. 여기서, 생체 센서는 지문 센서, 홍채 센서 등을 의미할 수 있다. 여기서, 센서부(190)는 라이다 센서를 포함할 수 있다.
도 3은 로봇(100)와 서버(200)를 포함하는 시스템을 설명하기 위한 도면이다.
도 3을 참조하면, 로봇(100)은 음성 인식 모듈(101), 이미지 분석 모듈(102), 기 등록된 사용자 관리 모듈(103), 사용자 인증 모듈(104), 메타버스 연동 모듈(105), 지도 생성 모듈(106), 이동 제어 모듈(107) 또는 모션 제어 모듈(108) 중 적어도 하나를 포함할 수 있다.
음성 인식 모듈(101)은 사용자 음성을 획득하여 사용자 음성을 텍스트 정보로 변환할 수 있다. 그리고, 음성 인식 모듈(101)은 텍스트 정보에 대응되는 응답 정보(결과 정보)를 사용자에게 제공할 수 있다.
이미지 분석 모듈(102)은 촬영 이미지 또는 획득된 이미지를 분석하여 특징 오브젝트를 추출할 수 있다.
기 등록된 사용자 관리 모듈(103)은 기 등록된 적어도 하나의 사용자에 대한 정보를 저장할 수 있다. 또한, 기 등록된 사용자 관리 모듈(103)은 필요에 따라 저장된 정보를 타 모듈 또는 타 기기에 전송할 수 있다.
사용자 인증 모듈(104)은 사용자가 접근 권한 또는 이용 권한이 있는지 여부를 확인하는 모듈일 수 있다.
메타버스 연동 모듈(105)은 서버(200)에 저장된 인터렉션 정보를 수신하여 저장하는 모듈일 수 있다. 메타버스 연동 모듈(105)은 로봇(100)의 동작에 인터렉션 정보가 이용되도록 인터렉션 정보를 타 모듈에 전송할 수 있다.
지도 생성 모듈(106)은 로봇(100)의 이동 경로를 설정하기 위해 공간과 관련된 지도 데이터를 생성 및 저장할 수 있다.
이동 제어 모듈(107)은 구동부 또는 모터 등을 이용하여 로봇(100)의 이동을 제어할 수 있다.
모션 제어 모듈(108)은 기 설정된 명령에 따라 로봇(100)이 특정 모션을 취하도록 제어할 수 있다.
여기서, 서버(200)는 인터렉션 정보 관리 모듈(201), 로봇 구매자 관리 모듈(202) 또는 메타버스 서비스 모듈(203) 중 적어도 하나를 포함할 수 있다.
인터렉션 정보 관리 모듈(201)은 서버(200)에서 제공하는 아바타와 관련된 인터렉션 정보를 저장 및 관리할 수 있다.
로봇 구매자 관리 모듈(202)은 로봇을 구매하는 구매와 관련된 정보를 저장 및 관리할 수 있다.
메타버스 서비스 모듈(203)은 서버(200)에 접속하는 사용자에게 아바타와 관련된 다양한 서비스를 제공할 수 있다.
한편, 로봇(100) 및 서버(200)는 상호 통신 연결될 수 있다. 따라서, 로봇(100)의 통신 인터페이스 및 서버(200)의 통신 인터페이스를 통해 상호 정보를 송수신할 수 있다.
도 4는 제1 서버(200)와 제2 서버(300)를 포함하는 시스템(4000)을 설명하기 위한 도면이다.
도 4를 참조하면, 시스템(4000)은 제1 서버(200) 및 제2 서버(300)를 포함할 수 있다. 여기서, 제1 서버(200)는 아바타와 관련된 다양한 서비스를 제공하는 서버를 의미할 수 있다. 제2 서버(300)는 로봇을 구매하기 위한 서버를 의미할 수 있다.
제1 서버(200)는 사용자 아바타(S-USER)와 로봇 아바타(S-ROBOT)를 표시하는 서비스를 제공할 수 있다. 그리고, 제1 서버(200)는 사용자 아바타(S-USER) 또는 로봇 아바타(S-ROBOT) 각각에 의하여 인터렉션 정보를 획득할 수 있다. 제1 서버(200)는 인터렉션 정보를 인터렉션 DB에 저장할 수 있다.
제2 서버(300)는 로봇을 구매하는 서버 또는 로봇을 배송하는 서버를 의미할 수 있다. 제2 서버(300)는 구매자에게 배송되는 로봇의 식별 정보를 결정할 수 있다. 그리고, 제2 서버(300)는 구매자에게 배송되는 로봇의 식별 정보와 구매 정보를 획득하고, 획득된 구매 정보를 저장할 수 있다.
제2 서버(300)는 제1 서버(200)에 로봇의 식별 정보 및 구매 정보를 전송할 수 있다. 여기서, 구매 정보는 배송지, 구매자의 이름, 구매자 연락처 등을 포함할 수 있다. 제1 서버(200)는 제2 서버(300)로부터 로봇의 식별 정보 및 구매 정보를 수신할 수 있다.
한편, 제1 서버(200)는 제2 서버(300)에 인터렉션 정보를 전송할 수 있다. 여기서, 인터렉션 정보는 제1 서버(200)에서 제공하는 아바타와 관련된 정보를 의미할 수 있다. 제2 서버(300)는 제1 서버(200)로부터 인터렉션 정보를 수신할 수 있다.
제1 서버(200) 및 제2 서버(300)는 서로 연결되어 일부 정보들을 송수신할 수 있다.
다양한 실시 예에 따라, 제2 서버(300)에서 구매 정보가 획득되면, 제2 서버(300)는 구매자에게 배송할 로봇의 식별 정보를 획득하고, 로봇의 식별 정보 및 구매 정보를 제1 서버(200)에 전송할 수 있다. 제1 서버(200)는 구매 정보에 기초하여 사용자를 특정할 수 있다. 그리고, 제1 서버(200)는 특정된 사용자에 대응되는 인터렉션 정보와 로봇의 식별 정보를 맵핑할 수 있다. 그리고, 추후 로봇(100)으로부터 연동 명령이 수신되면, 제1 서버(200)는 로봇의 식별 정보와 함께 맵핑된 특정된 사용자에 대응되는 인터렉션 정보를 로봇(100)에 전송할 수 있다.
다양한 실시 예에 따라, 제1 서버(200)는 제2 서버(300)로부터 인터렉션 정보 요청 명령을 수신할 수 있다. 구체적으로, 제1 서버(200)는 제2 서버(300)로부터 구매 정보를 수신할 수 있다. 제1 서버(200)는 구매 정보에 기초하여 사용자를 특정할 수 있다. 그리고, 제1 서버(200)는 특정된 사용자에 대응되는 인터렉션 정보를 식별할 수 있다. 제1 서버(200)는 식별된 인터렉션 정보를 제2 서버(300)에 전송할 수 있다. 제2 서버(300)는 제1 서버(200)로부터 인터렉션 정보를 수신할 수 있다. 제2 서버(300)는 수신된 인터렉션 정보를 배송할 로봇(100)에 저장할 수 있다. 사용자는 이미 로봇(100)에 인터렉션 정보가 저장되어 있으므로, 별도의 연동 동작을 수행할 필요가 없을 수 있다.
도 5는 로봇(100)와 서버(200)의 연동 기능을 수행하는 동작을 설명하기 위한 흐름도이다.
도 5를 참조하면, 로봇(100)은 메타 버스 연동 명령을 수신할 수 있다 (S510). 그리고, 로봇(100)은 로봇의 식별 정보를 서버(200)에 전송할 수 있다 (S515).
서버(200)는 로봇의 식별 정보와 인터렉션 정보가 결합된 맵핑 정보를 획득할 수 있다 (S511). 서버(200)는 로봇(100)로부터 로봇의 식별 정보를 수신할 수 있다. 서버(200)는 로봇의 식별 정보에 대응되는 인터렉션 정보를 획득할 수 있다 (S520). 서버(200)는 인터렉션 정보를 로봇(100)에 전송할 수 있다 (S525).
로봇(100)은 인터렉션 정보를 서버(200)로부터 수신할 수 있다. 로봇(100)은 사용자 인증을 위한 가이드 UI를 제공할 수 있다 (S535). 로봇(100)은 사용자 인증의 성공 여부를 판단할 수 있다 (S540). 사용자 인증이 성공하지 못하면 (S540-N), 로봇(100)은 S510 내지 S540 단계를 반복할 수 있다.
사용자 인증이 성공하면 (S540-Y), 로봇(100)는 인터렉션 정보에 기초하여 로봇을 메타버스와 연동하는 기능을 수행할 수 있다 (S545).
도 6은 인터렉션 정보를 이용하여 사용자 음성에 대응되는 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 6을 참조하면, 로봇(100)은 주 사용자의 인터렉션 정보를 획득할 수 있다 (S605). 로봇(100)은 사용자 음성을 수신할 수 있다 (S610). 로봇(100)은 사용자 음성이 주 사용자의 음성인지 여부를 판단할 수 있다 (S615). 사용자 음성이 주 사용자의 음성이 아니면 (S615-N), 로봇(100)은 S610 내지 S615 단계를 반복할 수 있다.
사용자 음성이 주 사용자의 음성이면 (S615-Y), 로봇(100)은 인터렉션 정보 중 사용자 음성에 대응되는 제1 정보를 획득할 수 있다 (S620). 로봇(100)은 제1 정보에 기초하여 사용자 음성에 대응되는 응답 정보를 획득할 수 있다 (S625). 그리고, 로봇(100)은 사용자에게 응답 정보를 제공할 수 있다 (S630).
도 6에서 주 사용자는 사전 설정된 방식을 이용하여 인식 가능한 사용자를 의미할 수 있다. 주 사용자는 로봇(100)을 주로 이용하는 사용자를 의미할 수 있다. 로봇(100)은 기 설정된 방식에 따라 복수의 사용자 중 주 사용자를 특정(또는 인식)할 수 있다. 여기서, 로봇(100)은 주 사용자를 인식하고, 주 사용자에게 사용자 음성에 대응되는 적절한 응답 정보를 제공할 수 있다. 또한, 주 사용자는 기 등록된 사용자를 의미할 수 있다. 로봇(100)은 기 설정된 방식에 따라 사용자를 미리 등록할 수 있다. 그리고, 로봇(100)은 기 설정된 방식에 따라 기 등록된 사용자 여부를 판단할 수 있다.
도 7은 로봇(100)에서 센싱한 정보에 기초하여 서버(200)에서 서비스를 제공하는 동작을 설명하기 위한 흐름도이다.
도 7을 참조하면, 로봇(100)은 환경 정보 및 사용자 정보를 획득할 수 있다. 여기서, 환경 정보 및 사용자 정보는 로봇(100)이 직접 센싱한 정보 또는 로봇(100)에 저장되는 정보일 수 있다.
로봇(100)은 S705 단계에서 획득된 정보가 메타 버스에 적용 가능한 정보인지 여부를 판단할 수 있다 (S710). 획득된 정보가 메타 버스에 적용 가능한 정보가 아니면 (S710-N), 로봇(100)은 S705 내지 S710 단계를 반복할 수 있다.
획득된 정보가 메타 버스에 적용 가능한 정보이면 (S710-Y), 로봇(100)은 사용자 명령을 수행 시 참고 가능한 오프라인 정보가 있는지 탐색할 수 있다 (S715). 그리고, 로봇(100)은 메타버스 서비스 상의 발화 및 행동에 고려되도록 탐색된 정보를 서버(200)에 전송할 수 있다 (S720).
도 8은 인터렉션 정보를 설명하기 위한 도면이다.
도 8을 참조하면, 인터렉션 정보는 1차 정보(기본 정보), 2차 정보(대화 정보), 3차 정보(관찰 정보), 4차 정보(환경 정보) 중 적어도 하나를 포함할 수 있다.
1차 정보(기본 정보)는 계정 정보(ID), 프로필 정보 중 적어도 하나를 포함할 수 있다.
2차 정보(대화 정보)는 키워드 단어, 선호 주제, 선호 감정 표현, 성향 중 적어도 하나를 포함할 수 있다.
3차 정보(관찰 정보)는 관계, 활동, 방문 장소, 소비, 구매 물품, 선호 물품, 선호 주제, 취향 중 적어도 하나를 포함할 수 있다.
4차 정보(환경 정보)는 메타버스 환경에서 수집되는 정보, 이벤트, 공지 중 적어도 하나를 포함할 수 있다. 4차 정보(환경 정보)는 사용자가 메타버스 서버에 온라인(로그인)한 상태 이외에 오프라인(로그아웃)한 상태에서도 수집될 수 있다.
도 9는 다양한 실시 예에 따라, 로봇(100)가 메타버스와 연동하기 위한 동작을 설명하기 위한 흐름도이다.
도 9를 참조하면, 로봇(100)는 로봇을 의미하고, 서버(200)는 로봇 구매 정보를 관리하고 메타 버스 서비스를 제공하는 서버를 의미할 수 있다.
로봇(100) 및 서버(200)는 상호 연동 동작을 수행할 수 있다. 서버(200)는 로봇의 구매 정보를 획득할 수 있다 (S905).
다양한 실시 예에 따라, 로봇의 구매 정보는 서버(200) 자체에서 획득될 수 있다. 서버(200)는 구매 정보에 대응되는 로봇의 식별 정보를 획득할 수 있다. 여기서, 로봇의 식별 정보는 로봇의 고유의 시리얼 넘버를 의미할 수 있다.
다양한 실시 예에 따라, 구매 정보는 구매 관련 서버(제2 서버)를 통해 획득될 수 있다. 이와 관련된 설명은 도 10에서 기재한다.
한편, 로봇(100)는 제조 과정에서 로봇의 식별 정보가 내부 메모리에 저장될 수 있다. 로봇의 식별 정보는 복수의 기기 중 특정 기기임을 나타내는 시리얼 넘버를 의미할 수 있다.
서버(200)는 구매 정보에 대응되는 식별 정보를 획득한 후, 서버(200)는 구매 정보에 포함된 구매자를 식별할 수 있다 (S915). 그리고, 서버(200)는 구매자의 인터렉션 정보를 식별할 수 있다 (S920). 여기서, 인터렉션 정보는 로봇 아바타 정보 또는 사용자 아바타 정보 중 적어도 하나를 포함할 수 있다. 인터렉션 정보는 서버(200)에서 획득되는 다양한 정보를 의미할 수 있다. 여기서, 서버(200)는 메타버스 또는 가상공간과 관련된 환경을 의미할 수 있다.
서버(200)는 로봇의 식별 정보 및 구매자의 인터렉션 정보를 결합한 맵핑 정보를 획득할 수 있다 (S925). 그리고, 서버(200)는 맵핑 정보를 내부 메모리에 저장할 수 있다.
로봇(100)는 메타 버스와 연동하기 위한 제어 명령을 획득할 수 있다 (S926). 다양한 실시 예에 따라, 제어 명령은 사용자가 직접 로봇(100)를 조작하여 입력될 수 있다. 여기서, 제어 명령은 사용자 명령으로 기재될 수 있다. 다양한 실시 예에 따라, 제어 명령은 로봇(100)가 최초 전원이 연결되어 부팅되는 시점에 자동으로 입력될 수 있다.
여기서, 로봇(100)는 로봇의 식별 정보를 서버(200)에 전송할 수 있다 (S930).
서버(200)는 로봇(100)로부터 로봇의 식별 정보를 수신할 수 있다. 그리고, 서버(200)는 맵핑 정보에 기초하여 로봇의 식별 정보에 대응되는 구매자의 인터렉션 정보를 식별할 수 있다 (S935). 서버(200)는 구매자의 인터렉션 정보를 로봇(100)에 전송할 수 있다 (S940).
로봇(100)는 서버(200)로부터 구매자의 인터렉션 정보를 수신할 수 있다. 그리고, 로봇(100)는 사용자 인증을 수행하여 사용자 인증이 성공하였는지 여부를 식별할 수 있다 (S945). 사용자 인증 동작과 관련하여 도 11 내지 도 18에서 기재한다.
사용자 인증이 성공하지 않은 것으로 식별되면 (S945-N), 로봇(100)는 반복하여 사용자 인증을 사용자에게 요구할 수 있다.
사용자 인증이 성공한 것으로 식별되면 (S945-Y), 로봇(100)는 서버(200)로부터 수신된 인터렉션 정보를 저장할 수 있다. 로봇(100)는 인터렉션 정보에 기초하여 로봇(100)에서 저장하고 있는 정보와 함께 특정 기능을 수행할 수 있다.
한편, 다양한 실시 예에 따라, 도 9와 달리 로봇의 구매 정보가 서버(200)가 아닌 별도의 서버에서 획득될 수 있다.
도 10은 다양한 실시 예에 따라, 로봇(100)가 메타버스와 연동하기 위한 동작을 설명하기 위한 흐름도이다.
도 10의 S1011, S1015, S1020, S1025, S1026, S1030, S1035, S1040, S1045, S1050 단계는 도 9의 S911, S915, S920, S925, S926, S930, S935, S940, S945, S950 단계에 대응될 수 있다 .따라서, 중복 설명을 생략한다.
도 10의 제1 서버(200)는 도 9의 서버(200)를 의미할 수 있다. 시스템은 로봇(100), 제1 서버(200) 및 제2 서버(300)를 포함할 수 있다.
로봇(100)는 로봇을 의미하고, 제1 서버(200)는 메타 버스관련 서비스를 제공하고, 제2 서버(300)를 로봇 구매 정보를 관리할 수 있다.
제2 서버(300)는 로봇의 구매 정보를 획득할 수 있다 (S1005). 예를 들어, 로봇을 구매하고자 하는 사용자는 제2 서버(300)를 통해 직접 로봇을 구매할 수 있다. 사용자가 로봇을 구매하면, 제2 서버(300)는 구매자(사용자)와 관련된 정보를 획득할 수 있다. 그리고, 제2 서버(300)는 구매 정보에 대응되는 로봇의 식별 정보를 획득할 수 있다 (S1010). 복수의 로봇 각각에 할당된 로봇의 식별 정보가 존재할 수 있다. 구매자에게 어떤 로봇이 배송되어야 하는지를 결정하는 방법이 다양할 수 있다.
다양한 실시 예에 따라, 로봇 배송 관련 담당자가 구매 정보에 기초하여 특정 로봇을 할당하고, 배송될 특정 로봇의 식별 정보를 제2 서버(300)에 입력할 수 있다.
다양한 실시 예에 따라, 제2 서버(300)는 복수의 로봇 및 복수의 로봇 각각에 대응되는 로봇의 식별 정보를 저장할 수 있다. 그리고, 구매 요청이 수신되면, 제2 서버(300)는 구매자에 대응되는 로봇을 자동으로 할당할 수 있다. 그리고, 제2 서버(300)는 구매 정보에 대응되는 로봇의 식별 정보를 획득할 수 있다.
제2 서버(300)는 로봇의 식별 정보 및 구매 정보를 제1 서버(200)에 전송할 수 있다 (S1012). 여기서, 로봇의 식별 정보 및 구매 정보는 결합된 맵핑 정보로써 전송될 수 있다. 제2 서버(300)는 로봇의 식별 정보 및 구매 정보를 결합하여 하나의 맵핑 정보를 생성할 수 있다. 그리고, 제1 서버(200)는 결합된 맵핑 정보를 제1 서버(200)에 전송할 수 있다.
제1 서버(200)는 제2 서버(300)로부터 로봇의 식별 정보 및 구매 정보를 수신할 수 있다. 그리고, 로봇(100) 및 제1 서버(200)는 S1015 내지 S1050 단계를 수행할 수 있다.
도 11은 사용자 인증 방법을 설명하기 위한 도면이다.
도 11의 실시 예(1110)는 사용자에게 제공되는 가이드 UI를 나타낼 수 있다. 로봇(100)는 사용자에게 인증 동작을 수행하도록 가이드하는 가이드 UI를 제공할 수 있다. 예를 들어, 로봇(100)는 가이드 UI를 디스플레이(110)에 표시할 수 있다. 사용자 인증 동작은 인증 키워드를 입력하는 방법, 제스쳐를 인식시키는 방법, 휴대폰과 연동하는 방법, 질문에 대답하는 방법, 인증 물건을 인식시키는 방법, 생체 인증을 수행하는 방법 중 적어도 하나를 포함할 수 있다.
여기서, 인증 키워드를 입력하는 방법은 인터렉션 정보와 관련된 정보를 사용자가 직접 입력하는 방법을 의미할 수 있다. 이와 관련된 구체적인 설명은 도 12에서 기재한다.
제스쳐를 인식시키는 방법은 사용자가 취한 특정 제스쳐(또는 포즈)를 로봇(100)가 카메라를 통해 인식하는 방법을 의미할 수 있다. 이와 관련된 구체적인 설명은 도 13에서 기재한다.
휴대폰과 연동하는 방법은 사용자가 휴대폰을 이용하여 본인 인증을 수행하는 방법을 의미할 수 있다. 이와 관련된 구체적인 설명은 도 14에서 기재한다.
질문에 대답하는 방법은 기 설정된 질문에 대응되는 기 설정된 답변을 사용자가 발화하는 방법을 의미할 수 있다. 이와 관련된 구체적인 설명은 도 15에서 기재한다.
인증 물건을 인식시키는 방법은 기 설정된 물건을 로봇(100)가 카메라를 통해 인식하는 방법을 의미할 수 있다. 이와 관련된 구체적인 설명은 도 16에서 기재한다.
생체 인증을 수행하는 방법은 사용자의 신체 정보를 이용하여 인증을 수행하는 방법을 의미할 수 있다. 이와 관련된 구체적인 설명은 도 17에서 기재한다.
도 11의 실시 예(1120)는 로봇(100)가 사용자에게 추가 인증을 수행하기 위해 제공하는 가이드 UI를 나타낼 수 있다. 사용자가 인증 키워드를 이용한 인증 방식에 성공하였다고 가정한다. 로봇(100)는 인증 키워드에 대응되는 아이콘(1121)에 성공을 나타내는 UI를 제공할 수 있다. 예를 들어, 로봇(100)는 아이콘(1121)의 색상을 변경할 수 있다. 또한, 로봇(100)는 아이콘(1121)에 대응되는 위치에 인증 성공을 나타내는 텍스트 정보(1122)를 표시할 수 있다. 사용자는 아이콘(1121)의 색상 변경 또는 텍스트 정보(1122)를 통해 이미 수행한 인증 방식을 쉽게 알 수 있다.
한편, 서버(200)로부터 수신된 인터렉션 정보가 기 설정된 보안 등급 이상의 등급으로 식별되는 경우, 로봇(100)는 추가 인증을 사용자에게 요구할 수 있다.
도 12는 식별 정보를 이용한 사용자 인증을 설명하기 위한 도면이다.
도 12의 실시 예(1210)는 사용자가 사용자 아바타의 식별 정보를 발화하여 인증을 수행함을 나타낸다. 인터렉션 정보는 서버(200)에서 이용되는 사용자 아바타의 식별 정보를 포함할 수 있다. 로봇(100)는 사용자에게 서버(200)에서 이용되는 사용자 아바타의 식별 정보를 발화하도록 가이드 하기 위한 UI를 사용자에게 제공할 수 있다.
예를 들어, 로봇(100)는 “메타버스 환경에서 사용자님의 아바타 이름을 알려주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 이에 “S-USER”라고 발화할 수 있다. 로봇(100)는 사용자 음성에 대응되는 텍스트 정보를 획득할 수 있다. 그리고, 로봇(100)는 사용자 음성에 대응되는 텍스트 정보와 서버(200)로부터 수신된 인터렉션 정보에 포함된 사용자 아바타의 식별 정보를 비교할 수 있다. 사용자 음성에 대응되는 텍스트 정보와 인터렉션 정보에 포함된 사용자 아바타의 식별 정보가 일치하면, 로봇(100)는 사용자의 인증 동작이 성공하였다고 식별할 수 있다.
도 12의 실시 예(1220)는 사용자가 로봇 아바타의 식별 정보를 발화하여 인증을 수행함을 나타낸다. 인터렉션 정보는 서버(200)에서 이용되는 로봇 아바타의 식별 정보를 포함할 수 있다. 로봇(100)는 사용자에게 서버(200)에서 이용되는 로봇 아바타의 식별 정보를 발화하도록 가이드 하기 위한 UI를 사용자에게 제공할 수 있다.
예를 들어, 로봇(100)는 “메타버스 환경에서 로봇의 아바타 이름을 알려주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 이에 “S-ROBOT”라고 발화할 수 있다. 로봇(100)는 사용자 음성에 대응되는 텍스트 정보를 획득할 수 있다. 그리고, 로봇(100)는 사용자 음성에 대응되는 텍스트 정보와 서버(200)로부터 수신된 인터렉션 정보에 포함된 로봇 아바타의 식별 정보를 비교할 수 있다. 사용자 음성에 대응되는 텍스트 정보와 인터렉션 정보에 포함된 로봇 아바타의 식별 정보가 일치하면, 로봇(100)는 사용자의 인증 동작이 성공하였다고 식별할 수 있다.
도 13은 제스쳐를 이용한 사용자 인증을 설명하기 위한 도면이다.
도 13의 실시 예(1310)는 사용자의 제스쳐를 로봇(100)가 인식하는 동작을 나타낼 수 있다. 로봇(100)는 기 설정된 제스쳐를 저장하고 있을 수 있다. 로봇(100)는 사용자에게 인증을 위한 가이드 UI를 제공할 수 있다. 그리고, 사용자는 특정 제스쳐 또는 특정 포즈를 취할 수 있다. 그리고, 로봇(100)는 사용자를 포함하는 이미지를 센서부(190)를 통해 획득할 수 있다. 그리고, 로봇(100)는 이미지를 통해 획득한 사용자의 제스쳐와 기 설정된 제스쳐가 일치하는지 여부를 식별할 수 있다. 이미지를 통해 획득한 사용자의 제스쳐와 기 설정된 제스쳐가 일치하면, 로봇(100)는 사용자의 인증 동작이 성공하였다고 식별할 수 있다.
예를 들어, 로봇(100)는 “기 설정된 제스쳐를 보여주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 이에 손가락으로 ‘V’를 나타내는 제스쳐를 취할 수 있다. 로봇(100)는 사용자를 카메라로 촬영하여 이미지를 획득할 수 있다. 로봇(100)는 이미지를 분석하여 사용자가 ‘V’ 제스쳐를 취했다고 식별할 수 있다. 그리고, ‘V’ 제스쳐가 기 설정된 제스쳐이면, 로봇(100)는 사용자의 인증 동작이 성공하였다고 식별할 수 있다.
도 13의 실시 예(1320)는 사용자에게 후보 제스쳐를 제공하는 동작을 나타낸다. 기 설정된 제스쳐를 사용자가 기억하지 못할 수 있다. 따라서, 로봇(100)는 기 설정된 제스쳐 및 후보 제스쳐(또는 더미 제스쳐)를 포함하는 이미지(1321)를 사용자에게 제공할 수 있다. 사용자는 이미지(1321)를 통해 어떤 종류의 제스쳐를 취할지 쉽게 판단할 수 있다.
예를 들어, 로봇(100)는 “다음 중 인증 제스쳐를 보여주세요” 라는 내용을 포함하는 정보 및 “가위, 바위, 보 등을 포함하는 이미지”를 출력할 수 있다. 그리고, 사용자는 출력된 정보 및 출력된 이미지를 통해 특정 제스쳐를 취할 수 있다.
도 14는 단말 장치(400)를 이용한 사용자 인증을 설명하기 위한 도면이다.
도 14의 실시 예(1410)는 근거리 통신 방법을 이용하여 단말 장치(400)와 로봇(100)이 통신함을 나타낸다. 로봇(100)는 단말 장치(400)에 인증과 관련된 요청 신호를 전송할 수 있다. 단말 장치(400)는 인증과 관련된 요청 신호를 수신할 수 있다. 단말 장치(400)는 요청 신호에 대응한 응답 정보를 로봇(100)에 전송할 수 있다. 로봇(100)는 단말 장치(400)로부터 응답 정보를 수신할 수 있다. 응답 정보가 기 설정된 인증 정보와 동일하면, 로봇(100)는 단말 장치(400)를 통한 인증 동작이 성공하였다고 식별할 수 있다.
예를 들어, 로봇(100)는 “휴대폰을 태깅해주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 단말 장치(400)를 로봇(100)에 태깅할 수 있다. 로봇(100)는 근거리 통신(NFC, Near Field Communication)을 이용하여 인증 동작을 수행할 수 있다.
도 14의 실시 예(1420)는 단말 장치(400)에서 직접 사용자가 인증 동작을 수행함을 나타낸다. 로봇(100)는 별도의 관리 서버(미도시)에 인증 동작을 수행하도록 요청할 수 있다. 관리 서버(미도시)는 로봇(100)으로부터 받은 요청에 기초하여 단말 장치(400)에 인증을 요청하는 알림 정보를 제공할 수 있다. 단말 장치(400)는 관리 서버(미도시)를 통해 수신한 알림 정보에 기초하여 사용자 입력을 입력하고, 사용자 입력을 관리 서버(미도시)에 전송할 수 있다. 관리 서버(미도시)는 단말 장치(400)로부터 수신된 사용자 입력이 기 설정된 정보와 일치하는지 확인할 수 있다. 단말 장치(400)로부터 수신된 사용자 입력이 기 설정된 정보와 일치하면, 관리 서버(미도시)는 인증이 성공하였음을 식별하고, 인증 성공을 나타내는 결과 정보를 로봇(100)에 전송할 수 있다. 그리고, 로봇(100)는 관리 서버(미도시)로부터 받은 결과 정보에 기초하여 인증 성공 여부를 판단할 수 있다.
예를 들어, 로봇(100)는 “휴대폰에서 인증 동작을 수행해 주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 단말 장치(400)를 통해 직접 인증 관련 정보를 입력할 수 있다.
다양한 실시 예에 따라, 로봇(100)는 관리 서버(미도시)를 통하지 않고 직접 단말 장치(400)와 통신함으로써 사용자로부터 인증 관련 정보를 수신할 수 있다.
도 15는 질문을 이용한 사용자 인증을 설명하기 위한 도면이다.
도 15의 실시 예(1510)는 서버(200)에서 획득한 인터렉션 정보에 기초하여 질문을 제공함을 나타낸다. 인터렉션 정보는 사용자가 서버(200)를 통해 이용한 가상 환경 서비스에서 이용한 서비스 이름을 포함할 수 있다. 로봇(100)는 인터렉션 정보에 기초하여 사용자가 이용한 서비스 이름을 획득할 수 있다. 로봇(100)는 서비스 이름을 사용자가 발화하도록 가이드하는 가이드 UI를 사용자에게 제공할 수 있다.
예를 들어, 로봇(100)는 “어제 메타버스에서 했던 게임 이름을 말씀해주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 “카드 게임”을 발화할 수 있다. 사용자 음성에 대응되는 텍스트 정보(“카드 게임”)와 인터렉션 정보가 일치하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
도 15의 실시 예(1520)는 서버(200)에서 획득한 인터렉션 정보에 기초하여 질문을 제공함을 나타낸다. 인터렉션 정보는 사용자가 서버(200)를 통해 이용한 가상 환경 서비스에서 구매한 아이템 이름을 포함할 수 있다. 로봇(100)는 인터렉션 정보에 기초하여 사용자가 구매한 아이템 이름을 획득할 수 있다. 로봇(100)는 아이템 이름을 사용자가 발화하도록 가이드하는 가이드 UI를 사용자에게 제공할 수 있다.
예를 들어, 로봇(100)는 “어제 메타버스에서 구매한 아이템은 무엇인가요?” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 “아바타 옷”을 발화할 수 있다. 사용자 음성에 대응되는 텍스트 정보(“아바타 옷”)와 인터렉션 정보가 일치하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
도 16은 기 등록된 물건을 이용한 사용자 인증을 설명하기 위한 도면이다.
도 16의 실시 예(1610)는 기 등록된 물건을 로봇(100)가 인식함을 나타낸다. 로봇(100)는 기 등록된 물건을 저장할 수 있다. 로봇(100)는 기 등륵된 물건이 인식되도록 가이드하는 가이드 UI를 사용자에게 제공할 수 있다. 그리고, 로봇(100)는 촬영된 이미지를 통해 기 등록된 물건이 인식되는지 여부를 식별할 수 있다. 촬영된 이미지에 기 등록된 물건이 포함되면, 로봇(100)는 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
예를 들어, 로봇(100)는 “기 등록된 물건을 보여주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 토끼 인형을 로봇(100) 근처에 위치시킬 수 있다. 로봇(100)는 촬영된 이미지에서 토끼 인형을 나타내는 오브젝트를 획득할 수 있다. 토끼 인형 오브젝트와 기 등록된 물건(기 등록된 오브젝트)가 일치하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
도 16의 실시 예(1620)는 기 등록된 물건이 가상 환경 서비스에서 제공하는 전용 카드임을 나타낸다.
예를 들어, 로봇(100)는 “메타버스에서 발급된 카드를 보여주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 전용 카드를 로봇(100) 근처에 위치시킬 수 있다. 로봇(100)는 촬영된 이미지에서 전용 카드를 나타내는 오브젝트를 획득할 수 있다. 전용 카드 오브젝트와 기 등록된 물건(기 등록된 오브젝트)가 일치하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
도 17은 생체 인식을 통한 사용자 인증을 설명하기 위한 도면이다.
도 17의 실시 예(1710)는 지문을 인식하여 인증을 수행함을 나타낸다. 로봇(100)는 사용자에게 생체 정보를 입력하기 위한 가이드 UI를 사용자에게 제공할 수 있다. 사용자로부터 생체 정보가 입력되면, 로봇(100)는 입력된 생체 정보와 기 저장된 생체 정보를 비교할 수 있다. 입력된 생체 정보와 기 저장된 생체 정보가 동일하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
예를 들어, 로봇(100)는 “지문을 인식시켜 주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 로봇(100)의 센서부(190)를 통해 지문을 인식시킬 수 있다. 로봇(100)는 센서부(190)를 통해 입력된 사용자의 지문과 관련된 정보를 획득할 수 있다. 센서부(190)를 통해 입력된 사용자의 지문과 기 등록된 지문이 일치하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
도 17의 실시 예(1720)는 홍채를 인식하여 인증을 수행함을 나타낸다.
예를 들어, 로봇(100)는 “홍채를 인식시켜 주세요” 라는 내용을 포함하는 정보를 출력할 수 있다. 사용자는 로봇(100)의 센서부(190)를 통해 홍채를 인식시킬 수 있다. 로봇(100)는 센서부(190)를 통해 입력된 사용자의 홍채와 관련된 정보(이미지)를 획득할 수 있다. 센서부(190)를 통해 입력된 사용자의 지문과 기 등록된 지문이 일치하면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다.
도 18은 사용자 인증 동작 이후 로봇(100)의 응답을 설명하기 위한 도면이다.
도 18의 실시 예(1810)는 사용자 인증이 성공함에 따라 제공되는 로봇(100)의 기능을 나타낼 수 있다. 사용자 인증이 성공되면, 로봇(100)는 사용자에게 특정 정보를 출력할 수 있다.
예를 들어, 사용자가 도 12의 실시 예(1210)에 따라 사용자 아바타의 식별 정보(S-USER)를 발화하였다고 가정한다. 사용자 음성에 대응되는 텍스트 정보(S-USER)가 기 저장된 인터렉션 정보에 포함되면, 로봇(100)는 사용자 인증 동작이 성공하였다고 식별할 수 있다. 그리고, 로봇(100)는 “드디어 만났군요! 보고 싶었어요” 라는 내용의 정보를 출력할 수 있다.
도 19는 사용자 음성에 대응되는 응답 동작을 설명하기 위한 흐름도이다.
도 19를 참조하면, 로봇(100)는 인터렉션 정보를 저장할 수 있다 (S1910). 그리고, 서버(200)는 로봇의 식별 정보 및 인터렉션 정보를 결합한 맵핑 정보를 획득할 수 있다 (S1911).
여기서, 서버(200)는 인터렉션 정보가 업데이트되는지 여부를 식별할 수 있다 (S1915). 인터렉션 정보가 업데이트 되지 않으면 (S1915-N), 로봇(100)는 반복하여 인터렉션 정보의 업데이트 여부를 확인할 수 있다.
인터렉션 정보가 업데이트 되면 (S1915-Y), 로봇(100)는 업데이트된 인터렉션 정보를 로봇(100)에 전송할 수 있다 (S1920).
로봇(100)는 서버(200)로부터 인터렉션 정보를 수신할 수 있다. 그리고, 로봇(100)는 서버(200)로부터 수신된 인터렉션 정보에 기초하여 기존에 저장된 인터렉션 정보를 업데이트할 수 있다 (S1925).
한편, 로봇(100)는 사용자 음성을 획득할 수 있다 (S1930). 로봇(100)는 사용자 음성이 기 등록된 사용자의 음성인지 식별할 수 있다 (S1935). 획득된 사용자 음성이 기 등록된 사용자의 음성이 아니면 (S1935-N), 로봇(100)는 반복적으로 S1930 단계 내지 S1935 단계를 수행할 수 있다.
획득된 사용자 음성이 기 등록된 사용자의 음성이면 (S1935-Y), 로봇(100)는 업데이트된 인터렉션 정보에 기초하여 사용자 음성에 대응되는 응답 정보를 획득할 수 있다 (S1940). 그리고, 로봇(100)는 업데이트된 인터렉션 정보에 기초하여 응답 정보에 대응되는 기능을 수행할 수 있다 (S1945).
한편, 다양한 실시 예에 따라, S1915 , S1920 단계는 생략될 수 있다.
도 20은 사용자 음성에 대응되는 응답 동작을 설명하기 위한 도면이다.
도 20의 실시 예(2010)는 인터렉션 정보에 기초하여 로봇(100)가 특정 기능을 수행함을 나타낸다. 로봇(100)는 사용자 음성을 획득할 수 있다. 그리고, 로봇(100)는 사용자 음성을 분석함에 있어 인터렉션 정보를 이용할 수 있다. 사용자 음성에 대응되는 기능을 수행함에 있어, 로봇(100)는 인터렉션 정보를 포함하는 응답 정보를 생성할 수 있다.
예를 들어, 로봇(100)는 “나 지금 쇼핑하러 갈거야” 라는 내용을 포함하는 사용자 음성을 수신하였다고 가정한다. 로봇(100)는 인터렉션 정보에 메타버스에서 발급된 할인 쿠폰이 있음을 저장하고 있을 수 있다. 로봇(100)는 “메타버스에서 발급된 할인 쿠폰을 확인해주세요”를 포함하는 응답 정보를 출력할 수 있다. 사용자는 가상 환경 서비스와 관련된 정보를 로봇(100)로부터 제공받을 수 있다.
도 20의 실시 예(2020)는 인터렉션 정보에 기초하여 로봇(100)가 특정 기능을 수행함을 나타낸다.
예를 들어, 로봇(100)는 “나 지금 쇼핑하러 갈거야” 라는 내용을 포함하는 사용자 음성을 수신하였다고 가정한다. 로봇(100)는 인터렉션 정보에 메타버스에서 예약된 스케쥴 정보가 있음을 저장하고 있을 수 있다. 로봇(100)는 “오늘 16:00에 메타버스에서 약속이 있어요! 잊으시면 안돼요” 를 포함하는 응답 정보를 출력할 수 있다. 사용자는 가상 환경 서비스와 관련된 정보를 로봇(100)로부터 제공받을 수 있다.
도 21은 다양한 실시 예에 따라, 서버(200)에서 발생한 기 설정된 이벤트에 기초하여 로봇(100)가 응답 정보를 획득하는 동작을 설명하기 위한 흐름도이다.
도 21을 참조하면, 로봇(100)는 인터렉션 정보를 저장할 수 있다 (S2110). 그리고, 서버(200)는 로봇의 식별 정보 및 인터렉션 정보를 결합한 맵핑 정보를 획득할 수 있다 (S2111).
여기서, 서버(200)는 가상 환경 서비스와 관련된 기 설정된 이벤트를 식별할 수 있다 (S2115). 서버(200)는 기 설정된 이벤트에 대한 알림 정보를 생성할 수 있다. 그리고, 서버(200)는 기 설정된 이벤트에 대한 알림 정보를 로봇(100)에 전송할 수 있다 (S2120).
로봇(100)는 서버(200)로부터 기 설정된 이벤트에 대한 알림 정보를 수신할 수 있다. 그리고, 로봇(100)는 인터렉션 정보에 기초하여 기 설정된 이벤트에 대응되는 응답 정보를 획득할 수 있다 (S2125). 로봇(100)는 인터렉션 정보에 기초하여 응답 정보에 대응되는 기능을 수행할 수 있다 (S2130).
기 설정된 이벤트와 관련된 구체적인 설명은 도 23 내지 도 27에서 기재한다.
도 22는 다양한 실시 예에 따라, 서버(200)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보를 획득하는 동작을 설명하기 위한 흐름도이다.
도 22를 참조하면, 로봇(100)는 인터렉션 정보를 저장할 수 있다 (S2210). 그리고, 서버(200)는 로봇의 식별 정보 및 인터렉션 정보를 결합한 맵핑 정보를 획득할 수 있다 (S2211).
여기서, 서버(200)는 가상 환경 서비스와 관련된 기 설정된 이벤트를 식별할 수 있다 (S2215). 서버(200)는 인터렉션 정보에 기초하여 기 설정된 이벤트에 대응되는 응답 정보를 획득할 수 있다 (S2225). 그리고, 서버(200)는 기 설정된 이벤트에 대응되는 응답 정보를 로봇(100)에 전송할 수 있다 (S2226).
로봇(100)는 서버(200)로부터 기 설정된 이벤트에 대응되는 응답 정보를 수신할 수 있다. 그리고, 로봇(100)는 인터렉션 정보에 기초하여 응답 정보에 대응되는 기능을 수행할 수 있다 (S2230).
도 23은 다양한 실시 예에 따라, 서버(200)에서 획득된 기 설정된 이벤트에 기초하여 로봇(100)가 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 23의 실시 예(2310)는, 기 설정된 이벤트가 가상 환경 서비스에서 사용자의 게시물과 관련된 정보(피드백)를 수신하는 이벤트임을 나타낸다. 가상 환경 서비스에서 로봇(100)의 사용자가 특정 게시물을 업로드할 수 있다. 그리고, 다른 사용자가 업로드된 특정 게시물과 관련된 피드백(예를 들어, 관심 아이콘 클릭)을 제공할 수 있다. 서버(200)는 특정 게시물과 관련된 피드백을 획득할 수 있다. 그리고, 특정 게시물과 관련된 피드백을 로봇(100)에 전송할 수 있다.
예를 들어, 로봇(100)의 사용자가 가상 환경 서비스에서 이미지를 업로드하였다고 가정한다. 가상 환경 서비스의 다른 사용자는 업로드된 이미지를 보고 선호를 나타내는 아이콘을 클릭할 수 있다. 서버(200)는 다른 사용자의 피드백 정보(선호 아이콘 클릭)를 획득할 수 있다. 서버(200)는 다른 사용자의 피드백 정보를 로봇(100)에 전송할 수 있다.
도 23의 실시 예(2320)는 기 설정된 이벤트에 대응되는 기능을 수행함을 나타낸다. 로봇(100)는 서버(200)로부터 사용자가 업로드한 게시물과 관련된 정보(피드백)를 수신할 수 있다. 로봇(100)는 수신된 정보에 대응되는 응답 정보를 출력할 수 있다.
예를 들어, 다른 사용자의 피드백 정보(선호 아이콘 클릭)가 수신되면, 로봇(100)는 선호 아이콘에 대응되는 정보(“좋아요!”)를 출력할 수 있다. 추가적으로, 로봇(100)는 업로드된 이미지 또는 업로드된 이미지의 썸네일 정보를 선호 아이콘에 대응되는 정보(“좋아요!”)와 함께 출력할 수 있다.
여기서, 출력 동작은 로봇(100)이 정보(피드백)를 이미지 데이터로써 디스플레이(110)에 표시하는 것을 의미할 수 있다. 다양한 실시 예에 따라, 로봇(100)은 이미지 데이터를 프로젝션부를 통해 투사할 수 있다.
도 24는 다양한 실시 예에 따라, 서버(200)에서 획득된 기 설정된 이벤트에 기초하여 로봇(100)가 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 24의 실시 예(2410)는 기 설정된 이벤트가 가상 환경 서비스에서 저장된 스케쥴 정보와 관련된 이벤트임을 나타낸다. 서버(200)는 사용자의 스케쥴 정보를 저장하고 있을 수 있다. 그리고, 서버(200)는 스케쥴 정보에 포함된 특정 스케쥴에 대한 알림이 발생하는 이벤트를 기 설정된 이벤트로 식별할 수 있다. 서버(200)는 특정 스케쥴에 대한 알림을 로봇(100)에 전송할 수 있다.
예를 들어, 서버(200)는 사용자가 오늘 14:00에 가상 환경 서비스에서 예약된 스케쥴이 있음을 식별할 수 있다. 서버(200)는 가상 환경 서비스 이외에 로봇(100)에 직접 예약된 스케쥴과 관련된 정보를 전송할 수 있다.
도 24의 실시 예(2420)는 기 설정된 이벤트에 대응되는 기능을 수행함을 나타낸다. 로봇(100)는 서버(200)로부터 스케쥴과 관련된 정보를 수신할 수 있다. 로봇(100)는 수신된 정보에 대응되는 응답 정보를 출력할 수 있다.
예를 들어, 스케쥴 정보가 수신되면, 로봇(100)는 스케쥴 정보와 관련된 내용(“14:00에 메타 버스에서 예약된 스케쥴이 있어요”)을 포함하는 정보를 출력할 수 있다.
도 25는 다양한 실시 예에 따라, 서버(200)에서 획득된 기 설정된 이벤트에 기초하여 로봇(100)가 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 25의 실시 예(2510)는 기 설정된 이벤트가 다른 사용자(20)와 관련된 정보가 수신되는 이벤트임을 나타낸다. 서버(200)는 가상 환경 서비스에서 다른 사용자(20)가 사용자(10)에게 대화를 보낸 이벤트를 기 설정된 이벤트로 식별할 수 있다.
예를 들어, 가상 환경 서비스에서 다른 사용자(20)가 사용자(10)에게 “안녕”이라는 대화를 전송하였다고 가정한다. 서버(200)는 다른 사용자(20)의 대화에 기초하여 기 설정된 이벤트의 발생을 식별할 수 있다. 그리고, 서버(200)는 다른 사용자(20)의 대화와 관련된 정보를 로봇(100)에 전송할 수 있다.
도 25의 실시 예(2520)는 기 설정된 이벤트에 대응되는 기능을 수행함을 나타낸다. 로봇(100)는 서버(200)로부터 다른 사용자와 관련된 정보를 수신할 수 있다. 로봇(100)는 수신된 정보에 대응되는 응답 정보를 출력할 수 있다.
예를 들어, 다른 사용자(20)의 대화 정보가 수신되면, 로봇(100)는 다른 사용자(20)의 대화 정보에 대응하는 기능을 식별할 수 있다. 로봇(100)는 다른 사용자(20)의 대화 정보에 안녕이라는 키워드를 식별할 수 있고, 방문에 대응되는 응답 정보로서 “ID T-USER” 님이 메타버스에서 말을 걸었어요”라는 정보를 출력하는 제어 명령을 획득할 수 있다. 그리고, 로봇(100)는 “ID T-USER” 님이 메타버스에서 말을 걸었어요”라는 출력할 수 있다.
도 26은 다양한 실시 예에 따라, 서버(200)에서 획득된 기 설정된 이벤트에 기초하여 로봇(100)가 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 26의 실시 예(2610)는 기 설정된 이벤트가 다른 사용자(20)와 관련된 정보가 수신되는 이벤트임을 나타낸다. 서버(200)는 가상 환경 서비스에서 다른 사용자(20)가 사용자(10)에게 대화를 보낸 이벤트를 기 설정된 이벤트로 식별할 수 있다.
예를 들어, 가상 환경 서비스에서 다른 사용자(20)가 사용자(10)에게 “18:00에 너희집에 놀러갈게”라는 대화를 전송하였다고 가정한다. 서버(200)는 다른 사용자(20)의 대화에 기초하여 기 설정된 이벤트의 발생을 식별할 수 있다. 그리고, 서버(200)는 다른 사용자(20)의 대화와 관련된 정보를 로봇(100)에 전송할 수 있다.
도 26의 실시 예(2620)는 기 설정된 이벤트에 대응되는 기능을 수행함을 나타낸다. 로봇(100)는 서버(200)로부터 다른 사용자와 관련된 대화 정보를 수신할 수 있다. 로봇(100)는 수신된 정보에 대응되는 응답 정보를 출력할 수 있다.
예를 들어, 다른 사용자(20)의 대화 정보가 수신되면, 로봇(100)는 다른 사용자(20)의 대화 정보에 대응하는 기능을 식별할 수 있다. 로봇(100)는 다른 사용자(20)의 대화 정보에 방문이라는 키워드를 식별할 수 있고, 방문에 대응되는 응답 정보로서 청소 기능을 수행하는 제어 명령을 획득할 수 있다. 그리고, 로봇(100)는 다른 사용자(20)의 방문 시간보다 기 설정된 시간 앞선 시간(17:30)에 청소 기능을 수행할 수 있다.
도 27은 다양한 실시 예에 따라, 서버(200)에서 획득된 기 설정된 이벤트에 기초하여 로봇(100)가 응답 정보에 대응되는 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 27의 실시 예(2710)는 기 설정된 이벤트가 다른 사용자(20)와 관련된 정보가 수신되는 이벤트임을 나타낸다. 서버(200)는 가상 환경 서비스에서 다른 사용자(20)가 사용자(10)에게 대화를 보낸 이벤트를 기 설정된 이벤트로 식별할 수 있다. 그리고, 서버(200)는 사용자(10)가 다른 사용자(20)의 대화에 대응되는 답변을 식별할 수 있다.
예를 들어, 가상 환경 서비스에서 다른 사용자(20)가 사용자(10)에게 “18:00에 너희집에 놀러갈게”라는 대화를 전송하였다고 가정한다. 서버(200)는 다른 사용자(20)의 대화에 기초하여 기 설정된 이벤트의 발생을 식별할 수 있다. 여기서, 사용자(10)가 다른 사용자(20)의 방문에 동의하는 대화(“그래”)를 입력할 수 있다. 그리고, 서버(200)는 다른 사용자(20)의 대화와 관련된 정보 및 사용자(10)와 관련된 정보를 로봇(100)에 전송할 수 있다.
도 27의 실시 예(2720)는 기 설정된 이벤트에 대응되는 기능을 수행함을 나타낸다. 로봇(100)는 서버(200)로부터 다른 사용자와 관련된 대화 정보 및 사용자와 관련된 대화 정보를 수신할 수 있다. 로봇(100)는 수신된 정보에 대응되는 응답 정보를 출력할 수 있다.
예를 들어, 다른 사용자(20)의 대화 정보가 수신되면, 로봇(100)는 다른 사용자(20)의 대화 정보에 대응하는 기능을 식별할 수 있다. 로봇(100)는 다른 사용자(20)의 대화 정보에 방문이라는 키워드를 식별할 수 있고, 방문에 대응되는 응답 정보로서 청소 기능을 수행하는 제어 명령을 획득할 수 있다. 그리고, 로봇(100)는 다른 사용자(20)의 방문 시간보다 기 설정된 시간 앞선 시간(17:30)에 청소 기능을 수행할 수 있다. 또한, 로봇(100)는 사용자(10)의 대화 정보에 기초하여 다른 사용자(20)의 방문에 동의하였음을 식별할 수 있다. 따라서, 로봇(100)는 특정 시간(18:00)에 스마트 도어락을 열림으로 설정할지 여부를 질의하는 정보를 출력할 수 있다. 로봇(100)는 “스마트 도어락을 미리 개방하길 원하시면, 추가 인증을 수행해주세요”라는 내용을 포함하는 정보를 출력할 수 있다. 로봇(100)는 사용자의 추가 인증이 성공하면, 스마트 도어락을 열림으로 설정하는 동작을 특정 시간(18:00)에 수행할 수 있다.
도 28은 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보를 획득하는 동작을 설명하기 위한 흐름도이다.
도 28을 참조하면, 로봇(100)는 인터렉션 정보를 저장할 수 있다 (S2810). 그리고, 서버(200)는 로봇의 식별 정보 및 인터렉션 정보를 결합한 맵핑 정보를 획득할 수 있다 (S2811).
여기서, 로봇(100)는 사용자와 관련된 기 설정된 이벤트를 식별할 수 있다 (S2830). 로봇(100)는 인터렉션 정보 및 기 설정된 이벤트에 대응되는 정보를 결합한 맵핑 정보를 획득할 수 있다 (S2840). 로봇(100)는 맵핑 정보를 서버(200)에 전송할 수 있다 (S2845).
서버(200)는 로봇(100)로부터 맵핑 정보를 수신할 수 있다. 서버(200)는 맵핑 정보에 포함된 인터렉션 정보와 서버(200)에 저장된 인터렉션 정보를 비교할 수 있다. 그리고, 서버(200)는 로봇(100)로부터 수신된 인터렉션 정보에 기초하여 로봇(100)를 특정할 수 있다. 서버(200)는 인터렉션 정보에 기초하여 기 설정된 이벤트에 대응되는 응답 정보를 획득할 수 있다 (S2850). 그리고, 서버(200)는 인터렉션 정보에 기초하여 응답 정보에 대응되는 서비스를 제공할 수 있다 (S2855).
기 설정된 이벤트와 관련된 구체적인 설명은 도 30 내지 도 37에서 기재한다.
도 29는 사용자 음성에 기초하여 기 설정된 이벤트를 식별하는 동작을 설명하기 위한 흐름도이다.
도 29의 S2910, S2920, S2940, S2945, S2950, S2955 단계는 도 28의 S2810, S2820, S2840, S2845, S2850, S2855 단계에 대응될 수 있다. 따라서, 중복 설명을 생략한다.
인터렉션 정보가 저장된 후, 로봇(100)는 사용자 음성을 획득할 수 있다 (S2931). 로봇(100)는 획득된 사용자 음성이 기 등록된 사용자의 음성인지 식별할 수 있다 (S2932). 획득된 사용자 음성이 기 등록된 사용자의 음성이 아니면 (S2932-N), 로봇(100)는 S2931 내지 S2932 단계를 반복할 수 있다.
획득된 사용자 음성이 기 등록된 사용자의 음성이면 (S2932-Y), 로봇(100)는 사용자 음성에 기초하여 기 설정된 이벤트가 식별되는지 판단할 수 있다 (S2933). 사용자 음성에 기초하여 기 설정된 이벤트가 식별되지 않으면 (S2933-N), 로봇(100)는 S2931 내지 S2933 단계를 반복할 수 있다.
사용자 음성에 기초하여 기 설정된 이벤트가 식별되면 (S2933-Y), 로봇(100)는 S2940 단계 내지 S2955 단계를 수행할 수 있다.
도 30은 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 30의 실시 예(3010)는 기 설정된 이벤트는 사용자가 아이템(3011)을 로봇(100)에 인식시키는 이벤트임을 나타낸다. 로봇(100)는 아이템(3011)을 인식할 수 있다. 기 설정된 이벤트에 대응되는 정보는 아이템(3011)과 관련된 정보를 의미할 수 있다.
다양한 실시 예에 따라, 로봇(100)는 통신 인터페이스(130)를 통해 RFID(Radio-Frequency Identification)를 인식할 수 있다. 사용자는 아이템(3011)을 로봇(100)에 태깅(tagging)할 수 있다.
로봇(100)는 인식된 아이템(3011)에 대응되는 정보를 획득할 수 있다. 그리고, 로봇(100)는 아이템(3011)에 대응되는 정보를 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 사용자가 보여주는 옷을 식별할 수 있다. 그리고, 옷과 관련된 정보를 RFID 방식으로 획득할 수 있다. 로봇(100)는 RFID 방식을 통해 옷의 이름, 색상, 재질, 구매 정보 등 옷과 관련된 정보를 획득할 수 있다. 그리고, 로봇(100)는 RFID방식으로 획득한 옷의 정보를 서버(200)에 전송할 수 있다.
도 30의 실시 예(3020)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 아이템(3011)과 관련된 정보를 수신할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 스킨 중 아이템(3011)과 관련된 스킨을 식별할 수 있다. 그리고, 서버(200)는 식별된 스킨을 적용한 사용자 아바타(3021)를 사용자에게 제공할 수 있다.
도 31은 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 31의 실시 예(3110)는 기 설정된 이벤트는 사용자가 가전 기기(3111)를 로봇(100)에 인식시키는 이벤트임을 나타낸다. 로봇(100)는 가전 기기(3111)를 인식할 수 있다. 기 설정된 이벤트에 대응되는 정보는 가전 기기(3111)와 관련된 정보를 의미할 수 있다.
다양한 실시 예에 따라, 로봇(100)는 가전 기기(3111)와 관련된 정보를 사용자로부터 획득할 수 있다. 다양한 실시 예에 따라, 로봇(100)는 가전 기기(3111)와 직접 통신하여 가전 기기(3111)에 대응되는 정보를 획득할 수 있다.
로봇(100)는 인식된 가전 기기(3111)에 대응되는 정보를 획득할 수 있다. 그리고, 로봇(100)는 가전 기기(3111)에 대응되는 정보를 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 공기 청정기를 식별할 수 있다. 그리고, 공기 청정기와 관련된 정보를 획득할 수 있다. 로봇(100)는 공기 청정기의 제품 정보, 구매 정보 등 공기 청정기와 관련된 정보를 획득할 수 있다. 그리고, 로봇(100)는 공기 청정기의 정보를 서버(200)에 전송할 수 있다.
도 31의 실시 예(3120)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 가전 기기(3111)와 관련된 정보를 수신할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 아이콘 중 가전 기기(3111)와 관련된 아이콘을 식별할 수 있다. 그리고, 서버(200)는 식별된 아이콘(3121)을 사용자에게 제공할 수 있다.
도 32는 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 32의 실시 예(3210)는 기 설정된 이벤트는 가전 기기(3211)의 고장을 인식하는 이벤트임을 나타낸다. 로봇(100)는 가전 기기(3211)의 고장을 인식할 수 있다. 기 설정된 이벤트에 대응되는 정보는 가전 기기(3211)와 관련된 정보를 의미할 수 있다.
다양한 실시 예에 따라, 로봇(100)는 가전 기기(3211)와 관련된 고장 정보를 사용자로부터 획득할 수 있다. 다양한 실시 예에 따라, 로봇(100)는 가전 기기(3211)와 직접 통신하여 가전 기기(3211)에 대응되는 고장 정보를 획득할 수 있다.
로봇(100)는 인식된 가전 기기(3211)에 대응되는 고장 정보를 획득할 수 있다. 그리고, 로봇(100)는 가전 기기(3211)에 대응되는 고장 정보를 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 공기 청정기의 고장 이벤트를 식별할 수 있다. 그리고, 공기 청정기와 관련된 고장 정보를 획득할 수 있다. 로봇(100)는 공기 청정기의 제품 정보, 구매 정보, 고장 정보 등 공기 청정기와 관련된 정보를 획득할 수 있다. 그리고, 로봇(100)는 공기 청정기의 정보를 서버(200)에 전송할 수 있다.
도 32의 실시 예(3220)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 가전 기기(3211)와 관련된 고장 정보를 수신할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 기기 정보 중 고장 사실을 알리기 위한 정보 또는 수리 요청을 질의하기 위한 정보 중 적어도 하나를 로봇 아바타(3221)를 통해 제공할 수 있다.
도 33은 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 33의 실시 예(3310)는 기 설정된 이벤트는 공간 분석에 따라 특정 물품이 필요하다고 인식되는 이벤트임을 나타낸다. 로봇(100)는 로봇(100) 주변의 공간을 분석할 수 있다. 그리고, 로봇(100)는 공간 분석을 통해 특정 물품이 필요하다고 식별할 수 있다. 로봇(100)는 특정 물품을 사용자에게 추천하는 기능을 수행할 수 있다. 기 설정된 이벤트에 대응되는 정보는 분석된 물품 정보를 의미할 수 있다.
로봇(100)는 공간 정보를 획득하여 공간 정보에 대응되는 물품을 식별할 수 있다. 그리고, 로봇(100)는 식별된 물품과 관련된 물품 정보를 획득할 수 있다. 그리고, 로봇(100)는 물품 정보를 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 공간을 분석하여 소파가 필요하다고 식별할 수 있다. 그리고, 로봇(100)는 소파와 관련된 정보를 획득할 수 있다. 로봇(100)는 소파의 제품 정보, 구매 정보 등 소파와 관련된 정보를 획득할 수 있다. 그리고, 로봇(100)는 소파와 관련된 정보를 서버(200)에 전송할 수 있다.
도 33의 실시 예(3320)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 소파와 관련된 정보를 수신할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 아이콘 중 소파와 관련된 아이콘(3321)을 식별할 수 있다. 그리고, 서버(200)는 식별된 아이콘(3321)을 사용자에게 제공할 수 있다.
도 34는 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 34의 실시 예(3410)는 기 설정된 이벤트는 공간 분석에 따라 특정 의류를 추천하는 이벤트임을 나타낸다. 로봇(100)는 로봇(100) 주변의 공간을 분석할 수 있다. 그리고, 로봇(100)는 공간 분석을 통해 특정 의류를 촬영하고, 촬영된 의류 중 하나를 추천할 것을 식별할 수 있다. 로봇(100)는 특정 의류를 사용자에게 추천하는 기능을 수행할 수 있다. 기 설정된 이벤트에 대응되는 정보는 분석된 의류 정보를 의미할 수 있다.
로봇(100)는 공간 정보를 획득하여 공간 정보에 대응되는 의류를 식별할 수 있다. 그리고, 로봇(100)는 복수의 의류 정보 중 추천 의류(3411)와 관련된 의류 정보를 획득할 수 있다. 그리고, 로봇(100)는 의류 정보를 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 공간을 분석하여 특정 의류를 사용자에게 추천할 수 있다. 그리고, 로봇(100)는 추천 의류(3411)와 관련된 정보를 획득할 수 있다. 로봇(100)는 추천 의류의 제품 정보, 구매 정보 등 의류와 관련된 정보를 획득할 수 있다. 그리고, 로봇(100)는 추천 의류와 관련된 정보를 서버(200)에 전송할 수 있다.
도 34의 실시 예(3420)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 추천 의류와 관련된 정보를 수신할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 스킨 중 추천 의류(3411)와 관련된 스킨을 식별할 수 있다. 그리고, 서버(200)는 식별된 스킨이 적용된 사용자 아바타(3421)를 사용자에게 제공할 수 있다.
도 35는 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 35의 실시 예(3510)는 기 설정된 이벤트는 스케쥴 정보를 포함하는 사용자 음성을 수신하는 이벤트임을 나타낸다. 로봇(100)는 사용자 음성을 수신하여 음성 인식 동작을 수행할 수 있다. 그리고, 로봇(100)는 사용자 음성 인식을 통해 획득한 스케쥴 정보를 가상 환경 서비스에서 사용자에게 제공하도록 제어할 수 있다. 기 설정된 이벤트에 대응되는 정보는 분석된 스케쥴 정보를 의미할 수 있다.
로봇(100)는 사용자 음성에 포함된 스케쥴 정보를 획득할 수 있다. 그리고, 로봇(100)는 스케쥴 정보를 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 “금요일에 캠핑을 갈거야” 라고 발화하는 사용자 음성을 획득할 수 있다. 로봇(100)는 사용자 음성을 분석하여 금요일, 캠핑과 관련된 키워드를 스케쥴 정보로서 획득할 수 있다. 그리고, 로봇(100)는 스케쥴 정보를 서버(200)에 전송할 수 있다.
도 35의 실시 예(3520)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 스케쥴 정보를 수신할 수 있다. 로봇(100)는 스케쥴 정보에 포함된 시간 및 키워드를 식별할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 스킨 중 키워드와 관련된 스킨을 식별할 수 있다. 그리고, 서버(200)는 식별된 스킨이 적용된 로봇 아바타(3521), 별도의 아이템(3522) 또는 사용자 아바타(3523) 중 적어도 하나를 사용자에게 제공할 수 있다. 서버(200)는 캠핑과 관련된 스킨을 적용한 아바타(3521, 3523) 또는 캠핑과 관련된 아이템(3522)을 사용자에게 제공할 수 있다.
도 36은 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 36의 실시 예(3610)는 기 설정된 이벤트는 로봇(100)의 이용 정도가 임계 등급 이상인 이벤트임을 나타낸다.
로봇(100)는 사용자의 이용 정도에 따라 친밀도를 계산할 수 있다. 그리고, 친밀도가 임계 등급 이상이면, 로봇(100)는 기 설정된 이벤트가 발생하였다고 식별할 수 있다. 그리고, 로봇(100)는 친밀도 정보를 획득할 수 있다. 친밀도 정보는 사용자의 이용 횟수 또는 이용 내역 등 히스토리 정보에 기초하여 결정될 수 있다. 기 설정된 이벤트에 대응되는 정보는 분석된 친밀도 정보를 의미할 수 있다.
로봇(100)는 친밀도 정보를 획득할 수 있다. 그리고, 로봇(100)는 친밀도 정보를 서버(200)에 전송할 수 있다.
예를 들어, “날씨가 어때” 라고 발화하는 사용자 음성을 획득하면, 로봇(100)는 “맑아요”라는 답변을 사용자에게 출력할 수 있다. 또한, “회사까지 얼마나 걸려?” 라고 발화하는 사용자 음성을 획득하면, 로봇(100)는 “1시간이요”라는 답변을 사용자에게 출력할 수 있다. 또한, “오늘 약속이 있니?” 라고 발화하는 사용자 음성을 획득하면, 로봇(100)는 “없어요”라는 답변을 사용자에게 출력할 수 있다. 로봇(100)는 이용 횟수가 임계 횟수(3회) 이상이면, 친밀도 정보가 임계 등급 이상이라고 식별할 수 있다. 로봇(100)는 기 설정된 이벤트가 발생하였다고 식별할 수 있다.
로봇(100)는 저장된 복수의 친밀도 등급 중 사용자에 대응되는 친밀도 등급을 결정할 수 있다. 그리고, 로봇(100)는 결정된 친밀도 등급을 포함하는 친밀도 정보를 서버(200)에 전송할 수 있다.
도 36의 실시 예(3620)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 친밀도 정보를 수신할 수 있다. 로봇(100)는 친밀도 정보에 포함된 친밀도 등급을 식별할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 스킨 중 식별된 친밀도 등급과 관련된 스킨을 식별할 수 있다. 그리고, 서버(200)는 식별된 스킨이 적용된 로봇 아바타(3621) 또는 사용자 아바타(3622) 중 적어도 하나를 사용자에게 제공할 수 있다. 서버(200)는 캠핑과 관련된 스킨을 적용한 아바타(3621, 3622)를 사용자에게 제공할 수 있다.
도 37은 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 37은 다양한 실시 예에 따라, 로봇(100)에서 발생한 기 설정된 이벤트에 기초하여 서버(200)가 응답 정보에 대응되는 서비스를 제공하는 동작을 설명하기 위한 도면이다.
도 37의 실시 예(3710)는 기 설정된 이벤트는 사용자가 아이템(3711)을 로봇(100)에 인식시키고 사용자 명령을 입력하는 이벤트임을 나타낸다. 로봇(100)는 아이템(3711)을 인식하고 사용자 명령을 획득할 수 있다. 기 설정된 이벤트에 대응되는 정보는 아이템(3711)과 관련된 정보 및 사용자 명령을 의미할 수 있다.
아이템(3711)을 인식하는 동작은 도 30의 실시 예(3010)에서 기재하였으므로, 중복 설명을 생략한다.
로봇(100)는 인식된 아이템(3711)에 대응되는 정보 및 사용자 명령을 획득할 수 있다. 그리고, 로봇(100)는 아이템(3711)에 대응되는 정보 및 사용자 명령을 서버(200)에 전송할 수 있다.
예를 들어, 로봇(100)는 “이 옷을 중고로 팔거야, 메타 버스에 올려줘”라는 사용자 명령을 획득하고, 옷에 대응되는 정보를 획득할 수 있다.
도 37의 실시 예(3720)는 로봇(100)에서 수신되는 정보에 기초하여 서버(200)가 특정 서비스를 제공함을 나타낸다. 서버(200)는 로봇(100)로부터 기 설정된 이벤트에 대응되는 정보를 수신할 수 있다. 서버(200)는 기 설정된 이벤트에 대응되는 정보에 기초하여 특정 서비스를 제공할 수 있다.
예를 들어, 서버(200)는 로봇(100)로부터 아이템(3711)과 관련된 정보 및 사용자 명령을 수신할 수 있다. 서버(200)는 내부 메모리에 저장된 복수의 아이콘 중 아이템(3711)에 대응되는 아이콘(3721)을 식별하여 표시할 수 있다. 또한, 사용자 아바타가 기존에 아이콘(3721)에 대응되는 스킨이 적용된 상태였다면, 로봇(100)는 아이콘(3721)에 대응되는 스킨이 아닌 새로운 스킨이 적용된 사용자 아바타(3722)를 사용자에게 제공할 수 있다.
도 38은 사용자에 따라 상이한 응답을 제공하는 동작을 설명하기 위한 도면이다.
도 38의 실시 예(3810)는 기 등록된 사용자(3811)에게 답변하는 상황을 나타낸다. 로봇(100)는 기 등록된 사용자(3811)를 인식할 수 있다. 로봇(100)는 기 등록된 사용자(3811)에 대응되는 인터렉션 정보에 기초하여 특정 기능을 수행할 수 있다. 특정 기능은 기 등록된 사용자(3811)에게 제공되는 대화 정보를 의미할 수 있다.
예를 들어, 로봇(100)는 기 등록된 사용자(3811)에게 기 등록된 사용자(3811)에 대응되는 인터렉션 정보에 기초하여 친밀도가 높은 대화 정보(“S-USER님 오늘 옷이 너무 이뻐요”)를 출력할 수 있다.
도 38의 실시 예(3820)는 일반 사용자(3821)에게 답변하는 상황을 나타낸다. 로봇(100)는 등록되지 않은 일반 사용자(3821)를 인식할 수 있다. 로봇(100)는 일반 사용자(3821)에 대응되는 인터렉션 정보를 저장하지 않고 있음을 가정한다. 로봇(100)는 인터렉션 정보 없이 특정 기능을 수행할 수 있다. 특정 기능은 일반 사용자(3821)에게 제공되는 대화 정보를 의미할 수 있다.
예를 들어, 로봇(100)는 일반 사용자(3821)에게 친밀도가 낮은 대화 정보(“안녕하십니까. 도움이 필요하면 말씀해주세요. ”)를 출력할 수 있다.
도 39는 다수의 사용자에게 기능을 제공하는 로봇(100)를 설명하기 위한 도면이다.
도 39를 참조하면, 로봇(100)는 기 등록된 사용자가 없는 환경에 배치될 수 있다. 예를 들어, 공공 장소 또는 사업장 같은 곳에 로봇(100)가 배치될 수 있다.
로봇(100)는 특정 사용자가 아닌 불특정 다수의 사용자에게 서비스를 제공하는 기기일 수 있다. 로봇(100)가 임계 시간(3시간)동안 임계 사람 수(10명)보다 많은 사용자에게 서비스(또는 기능)을 제공하는 경우, 로봇(100)는 공공 이용 모드로 동작할 수 있다. 여기서, 공공 이용 모드는 다양한 사용자에게 서비스를 제공하는 모드를 의미할 수 있다.
공공 이용 모드는 모든 사용자에게 친밀도가 높은 답변을 제공하는 모드를 의미할 수 있다. 도 38에서와 달리, 도 39에서 기재하는 로봇(100)는 기 등록되지 않은 일반 사용자(3911)에게도 친밀도가 높은 답변을 제공할 수 있다.
도 40은 다양한 실시 예에 따라, 로봇(100)의 제어 방법을 설명하기 위한 흐름도이다.
도 40을 참조하면, 가상 환경 서비스를 제공하는 서버와 통신하는 로봇의 제어 방법은 로봇을 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 로봇에 저장된 로봇의 식별 정보를 서버에 전송하는 단계 (S4005) 및 서버로부터 로봇의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 수신되면, 인터렉션 정보에 기초하여 로봇의 동작을 제어하는 단계 (S4010)를 포함한다.
한편, 제어 방법은 인터렉션 정보가 수신되면, 사용자 인증을 수행하기 위한 UI(User Interface)를 표시하는 단계를 더 포함하고, 로봇의 동작을 제어하는 단계 (S4010)는 UI를 통해 수신된 정보에 기초하여 사용자 인증이 완료되면, 인터렉션 정보에 기초하여 로봇의 동작을 제어할 수 있다.
한편, UI를 표시하는 단계는 인터렉션 정보가 수신되면, 인터렉션 정보에 기초하여 아바타의 식별 정보를 발화하도록 가이드하는 UI를 표시하고, 제어 방법은 UI에 기초하여 사용자 아바타의 식별 정보를 포함하는 사용자 음성이 획득되면, 사용자의 인증이 완료된 것으로 식별하는 단계를 더 포함할 수 있다.
한편, 인터렉션 정보는 사용자에 대응되는 사용자 아바타와 관련된 인터렉션 정보, 로봇에 대응되는 로봇 아바타와 관련된 인터렉션 정보, 가상 환경 서비스와 관련된 환경 정보 중 적어도 하나를 포함할 수 있다.
한편, 사용자 아바타와 관련된 인터렉션 정보는 사용자 아바타의 식별 정보, 사용자 아바타와 관련된 대화 정보, 사용자 아바타와 관련된 컨텍스트 정보 또는 사용자 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고, 로봇 아바타와 관련된 인터렉션 정보는 로봇 아바타의 식별 정보, 로봇 아바타와 관련된 대화 정보, 로봇 아바타와 관련된 컨텍스트 정보 또는 로봇 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고, 가상 환경 서비스와 관련된 환경 정보는 가상 환경 서비스에서 획득되는 이벤트와 관련된 정보를 포함할 수 있다.
한편, 사용자 아바타의 식별 정보 또는 로봇 아바타의 식별 정보는 아바타를 식별하기 위한 이름, 식별 번호 또는 프로필 정보 중 적어도 하나를 포함하고, 사용자 아바타와 관련된 대화 정보 또는 로봇 아바타와 관련된 대화 정보는 아바타의 대화에 포함된 키워드 단어, 선호 주제, 선호 감정 표현 또는 성향 중 적어도 하나를 포함하고, 사용자 아바타와 관련된 컨텍스트 정보 또는 로봇 아바타와 관련된 컨텍스트 정보는 아바타의 관계, 활동, 방문 장소, 구매 물품 또는 선호 물품 중 적어도 하나를 포함할 수 있다.
한편, 제어 방법은 사용자 음성이 획득되면, 사용자 음성이 로봇에 기 등록된 사용자의 음성인지 식별하는 단계를 더 포함하고, 로봇의 동작을 제어하는 단계 (S4010)는 사용자 음성이 기 등록된 사용자의 음성이면, 인터렉션 정보에 기초하여 사용자 음성에 대응되는 기능을 수행할 수 있다.
한편, 로봇의 동작을 제어하는 단계 (S4010)는 사용자 음성에 스케쥴과 관련된 단어가 포함되면, 인터렉션 정보에 포함된 스케쥴 정보를 로봇의 스피커를 통해 출력할 수 있다.
한편, 로봇의 동작을 제어하는 단계 (S4010)는 서버로부터 기 설정된 이벤트에 대한 알림 정보가 수신되면, 인터렉션 정보에 기초하여 기 설정된 이벤트에 대응되는 기능을 수행할 수 있다.
한편, 기 설정된 이벤트가 식별되면, 인터렉션 정보 및 기 설정된 이벤트에 대한 알림 정보를 결합한 맵핑 정보를 획득하는 단계, 맵핑 정보를 서버에 전송하는 단계를 더 포함할 수 있다.
한편, 도 40과 같은 로봇의 제어 방법은 도 1 또는 도 2의 구성을 가지는 로봇 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 로봇 상에서도 실행될 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치(로봇)에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치(로봇)에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치(로봇)에 구비된 임베디드 서버, 또는 전자 장치(로봇) 및 디스플레이 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(로봇)를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 로봇
110: 메모리
120: 통신 인터페이스
130: 디스플레이
140: 적어도 하나의 프로세서
200: 서버

Claims (20)

  1. 로봇에 있어서,
    디스플레이;
    상기 로봇의 식별 정보를 저장하는 메모리;
    가상 환경 서비스를 제공하는 서버와 통신하는 통신 인터페이스; 및
    상기 로봇을 상기 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 상기 메모리에 저장된 상기 로봇의 식별 정보를 상기 통신 인터페이스를 통해 상기 서버에 전송하고,
    상기 서버로부터 상기 로봇의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 상기 통신 인터페이스를 통해 수신되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어하는 적어도 하나의 프로세서;를 포함하는, 로봇.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 인터렉션 정보가 상기 통신 인터페이스를 통해 수신되면, 사용자 인증을 수행하기 위한 UI(User Interface)를 표시하도록 상기 디스플레이를 제어하고,
    상기 UI를 통해 수신된 정보에 기초하여 사용자 인증이 완료되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어하는, 로봇.
  3. 제2항에 있어서,
    마이크;를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 인터렉션 정보가 상기 통신 인터페이스를 통해 수신되면, 상기 인터렉션 정보에 기초하여 아바타의 식별 정보를 발화하도록 가이드하는 상기 UI를 표시하도록 상기 디스플레이를 제어하고,
    상기 UI에 기초하여 상기 사용자 아바타의 식별 정보를 포함하는 사용자 음성이 상기 마이크를 통해 획득되면, 상기 사용자의 인증이 완료된 것으로 식별하는, 로봇.
  4. 제1항에 있어서,
    상기 인터렉션 정보는,
    상기 사용자에 대응되는 사용자 아바타와 관련된 인터렉션 정보, 상기 로봇에 대응되는 로봇 아바타와 관련된 인터렉션 정보, 상기 가상 환경 서비스와 관련된 환경 정보 중 적어도 하나를 포함하는, 로봇.
  5. 제4항에 있어서,
    상기 사용자 아바타와 관련된 인터렉션 정보는,
    상기 사용자 아바타의 식별 정보, 상기 사용자 아바타와 관련된 대화 정보, 상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 사용자 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고,
    상기 로봇 아바타와 관련된 인터렉션 정보는,
    상기 로봇 아바타의 식별 정보, 상기 로봇 아바타와 관련된 대화 정보, 상기 로봇 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고,
    상기 가상 환경 서비스와 관련된 환경 정보는,
    상기 가상 환경 서비스에서 획득되는 이벤트와 관련된 정보를 포함하는, 로봇.
  6. 제5항에 있어서,
    상기 사용자 아바타의 식별 정보 또는 상기 로봇 아바타의 식별 정보는,
    아바타를 식별하기 위한 이름, 식별 번호 또는 프로필 정보 중 적어도 하나를 포함하고,
    상기 사용자 아바타와 관련된 대화 정보 또는 상기 로봇 아바타와 관련된 대화 정보는,
    아바타의 대화에 포함된 키워드 단어, 선호 주제, 선호 감정 표현 또는 성향 중 적어도 하나를 포함하고,
    상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 컨텍스트 정보는,
    아바타의 관계, 활동, 방문 장소, 구매 물품 또는 선호 물품 중 적어도 하나를 포함하는, 로봇.
  7. 제1항에 있어서,
    마이크;를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 마이크를 통해 사용자 음성이 획득되면, 상기 사용자 음성이 상기 메모리에 기 등록된 사용자의 음성인지 식별하고,
    상기 사용자 음성이 상기 기 등록된 사용자의 음성이면, 상기 인터렉션 정보에 기초하여 상기 사용자 음성에 대응되는 기능을 수행하는, 로봇.
  8. 제7항에 있어서,
    스피커;를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 사용자 음성에 스케쥴과 관련된 단어가 포함되면, 상기 인터렉션 정보에 포함된 스케쥴 정보를 출력하도록 상기 스피커를 제어하는, 로봇.
  9. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 서버로부터 기 설정된 이벤트에 대한 알림 정보가 상기 통신 인터페이스를 통해 수신되면, 상기 인터렉션 정보에 기초하여 상기 기 설정된 이벤트에 대응되는 기능을 수행하는, 로봇.
  10. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    기 설정된 이벤트가 식별되면, 상기 인터렉션 정보 및 상기 기 설정된 이벤트에 대한 알림 정보를 결합한 맵핑 정보를 획득하고,
    상기 맵핑 정보를 상기 통신 인터페이스를 통해 상기 서버에 전송하는, 로봇.
  11. 가상 환경 서비스를 제공하는 서버와 통신하는 로봇의 제어 방법에 있어서,
    상기 로봇을 상기 가상 환경 서비스와 연동하기 위한 사용자 입력이 수신되면, 상기 로봇에 저장된 상기 로봇의 식별 정보를 상기 서버에 전송하는 단계; 및
    상기 서버로부터 상기 로봇의 식별 정보에 대응되는 아바타와 관련된 인터렉션 정보가 수신되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 인터렉션 정보가 수신되면, 사용자 인증을 수행하기 위한 UI(User Interface)를 표시하는 단계;를 더 포함하고,
    상기 로봇의 동작을 제어하는 단계는,
    상기 UI를 통해 수신된 정보에 기초하여 사용자 인증이 완료되면, 상기 인터렉션 정보에 기초하여 상기 로봇의 동작을 제어하는, 제어 방법.
  13. 제12항에 있어서,
    상기 UI를 표시하는 단계는,
    상기 인터렉션 정보가 수신되면, 상기 인터렉션 정보에 기초하여 아바타의 식별 정보를 발화하도록 가이드하는 상기 UI를 표시하고,
    상기 제어 방법은,
    상기 UI에 기초하여 상기 사용자 아바타의 식별 정보를 포함하는 사용자 음성이 획득되면, 상기 사용자의 인증이 완료된 것으로 식별하는 단계;를 더 포함하는, 제어 방법.
  14. 제11항에 있어서,
    상기 인터렉션 정보는,
    상기 사용자에 대응되는 사용자 아바타와 관련된 인터렉션 정보, 상기 로봇에 대응되는 로봇 아바타와 관련된 인터렉션 정보, 상기 가상 환경 서비스와 관련된 환경 정보 중 적어도 하나를 포함하는, 제어 방법.
  15. 제14항에 있어서,
    상기 사용자 아바타와 관련된 인터렉션 정보는,
    상기 사용자 아바타의 식별 정보, 상기 사용자 아바타와 관련된 대화 정보, 상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 사용자 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고,
    상기 로봇 아바타와 관련된 인터렉션 정보는,
    상기 로봇 아바타의 식별 정보, 상기 로봇 아바타와 관련된 대화 정보, 상기 로봇 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 스케쥴 정보 중 적어도 하나를 포함하고,
    상기 가상 환경 서비스와 관련된 환경 정보는,
    상기 가상 환경 서비스에서 획득되는 이벤트와 관련된 정보를 포함하는, 제어 방법.
  16. 제15항에 있어서,
    상기 사용자 아바타의 식별 정보 또는 상기 로봇 아바타의 식별 정보는,
    아바타를 식별하기 위한 이름, 식별 번호 또는 프로필 정보 중 적어도 하나를 포함하고,
    상기 사용자 아바타와 관련된 대화 정보 또는 상기 로봇 아바타와 관련된 대화 정보는,
    아바타의 대화에 포함된 키워드 단어, 선호 주제, 선호 감정 표현 또는 성향 중 적어도 하나를 포함하고,
    상기 사용자 아바타와 관련된 컨텍스트 정보 또는 상기 로봇 아바타와 관련된 컨텍스트 정보는,
    아바타의 관계, 활동, 방문 장소, 구매 물품 또는 선호 물품 중 적어도 하나를 포함하는, 제어 방법.
  17. 제11항에 있어서,
    사용자 음성이 획득되면, 상기 사용자 음성이 상기 로봇에 기 등록된 사용자의 음성인지 식별하는 단계;를 더 포함하고,
    상기 로봇의 동작을 제어하는 단계는,
    상기 사용자 음성이 상기 기 등록된 사용자의 음성이면, 상기 인터렉션 정보에 기초하여 상기 사용자 음성에 대응되는 기능을 수행하는, 제어 방법.
  18. 제17항에 있어서,
    상기 로봇의 동작을 제어하는 단계는,
    상기 사용자 음성에 스케쥴과 관련된 단어가 포함되면, 상기 인터렉션 정보에 포함된 스케쥴 정보를 상기 로봇의 스피커를 통해 출력하는, 제어 방법.
  19. 제11항에 있어서,
    상기 로봇의 동작을 제어하는 단계는,
    상기 서버로부터 기 설정된 이벤트에 대한 알림 정보가 수신되면, 상기 인터렉션 정보에 기초하여 상기 기 설정된 이벤트에 대응되는 기능을 수행하는, 제어 방법.
  20. 제11항에 있어서,
    기 설정된 이벤트가 식별되면, 상기 인터렉션 정보 및 상기 기 설정된 이벤트에 대한 알림 정보를 결합한 맵핑 정보를 획득하는 단계;
    상기 맵핑 정보를 상기 서버에 전송하는 단계;를 더 포함하는, 제어 방법.
KR1020220106367A 2022-08-24 2022-08-24 로봇 및 그 제어 방법 KR20240028188A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220106367A KR20240028188A (ko) 2022-08-24 2022-08-24 로봇 및 그 제어 방법
PCT/KR2023/006049 WO2024043434A1 (ko) 2022-08-24 2023-05-03 로봇 및 그 제어 방법
US18/321,261 US20240066717A1 (en) 2022-08-24 2023-05-22 Robot and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220106367A KR20240028188A (ko) 2022-08-24 2022-08-24 로봇 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20240028188A true KR20240028188A (ko) 2024-03-05

Family

ID=90013384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220106367A KR20240028188A (ko) 2022-08-24 2022-08-24 로봇 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20240028188A (ko)
WO (1) WO2024043434A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101744674B1 (ko) * 2015-03-19 2017-06-09 모젼스랩(주) 가상아바타와 실감아바타의 동기화를 이용한 콘텐츠 생성 장치 및 방법
JP2017100221A (ja) * 2015-11-30 2017-06-08 パナソニックIpマネジメント株式会社 コミュニケーションロボット
JP2018176386A (ja) * 2017-04-19 2018-11-15 富士ゼロックス株式会社 情報処理装置及びプログラム
KR20180119515A (ko) * 2017-04-25 2018-11-02 김현민 스마트 휴대 기기를 이용한 스마트 기기와 로봇의 개인 맞춤형 서비스 운용 시스템 및 방법
JP7298860B2 (ja) * 2018-06-25 2023-06-27 Groove X株式会社 仮想キャラクタを想定する自律行動型ロボット

Also Published As

Publication number Publication date
WO2024043434A1 (ko) 2024-02-29

Similar Documents

Publication Publication Date Title
EP3525205B1 (en) Electronic device and method of performing function of electronic device
US11532181B2 (en) Provision of targeted advertisements based on user intent, emotion and context
EP3198376B1 (en) Image display method performed by device including switchable mirror and the device
CN105320404B (zh) 用于执行功能的设备和方法
US11238871B2 (en) Electronic device and control method thereof
US20160093081A1 (en) Image display method performed by device including switchable mirror and the device
KR102440651B1 (ko) 자연어 표현 제공 방법 및 이를 지원하는 전자 장치
KR102389996B1 (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
CN109474658B (zh) 用外部设备支持任务运行的电子设备、服务器和记录介质
KR102423298B1 (ko) 음성 인식 서비스 운용 방법, 이를 지원하는 전자 장치 및 시스템
KR102361458B1 (ko) 사용자 발화 응답 방법 및 이를 지원하는 전자 장치
US11036285B2 (en) Systems and methods for mixed reality interactions with avatar
KR102472010B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
KR102546510B1 (ko) 복수의 입력 간에 매핑된 정보 제공 방법 및 이를 지원하는 전자 장치
CN109272994A (zh) 话音数据处理方法以及支持该话音数据处理方法的电子装置
KR102134189B1 (ko) 인공지능 로봇을 활용한 도서 콘텐츠 제공 방법 및 장치
EP3819851A1 (en) Electronic device and method for controlling same
US20210151154A1 (en) Method for personalized social robot interaction
KR20200044175A (ko) 전자 장치 및 그의 비서 서비스 제공 방법
US20210264905A1 (en) Electronic device and control method therefor
KR102511517B1 (ko) 음성 입력 처리 방법 및 이를 지원하는 전자 장치
US11762545B1 (en) Future state graphical visualization generator
KR20240028188A (ko) 로봇 및 그 제어 방법
KR102449350B1 (ko) 재고 관리 서비스를 제공하는 시스템 및 그 동작 방법
CN115509361A (zh) 虚拟空间交互方法、装置、设备和介质