KR20230057034A - 로봇 및 이의 제어 방법 - Google Patents

로봇 및 이의 제어 방법 Download PDF

Info

Publication number
KR20230057034A
KR20230057034A KR1020210140975A KR20210140975A KR20230057034A KR 20230057034 A KR20230057034 A KR 20230057034A KR 1020210140975 A KR1020210140975 A KR 1020210140975A KR 20210140975 A KR20210140975 A KR 20210140975A KR 20230057034 A KR20230057034 A KR 20230057034A
Authority
KR
South Korea
Prior art keywords
user
interaction
information
robot
history
Prior art date
Application number
KR1020210140975A
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 KR1020210140975A priority Critical patent/KR20230057034A/ko
Priority to PCT/KR2022/013080 priority patent/WO2023068536A1/ko
Publication of KR20230057034A publication Critical patent/KR20230057034A/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/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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Abstract

로봇이 개시된다. 본 로봇은 적어도 하나의 센서, 구동부, 적어도 하나의 명령어를 저장하는 메모리, 및 메모리와 연결되어 적어도 하나의 명령어를 실행함으로써, 적어도 하나의 센서를 통해 이벤트 발생을 감지하고, 이벤트에 대응되는 인터랙션을 식별하고, 사용자 컨텍스트를 식별하고, 메모리에 저장된 이력 정보, 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하고, 식별된 인터랙션 파라미터에 기초하여, 인터랙션을 수행하도록 구동부를 제어하고, 수행된 인터랙션에 따른 사용자의 반응에 대한 정보를 획득하고, 식별된 인터랙션 파라미터 및 반응에 대한 정보에 기초하여 이력정보를 업데이트하는 프로세서를 포함한다.

Description

로봇 및 이의 제어 방법 { ROBOT AND CONTROLLING METHOD THEREOF }
본 개시는 로봇 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 이벤트 발생이 감지되면 해당 이벤트에 대응하는 인터랙션을 제공하는 로봇 및 이의 제어 방법에 관한 것이다.
종래의 로봇은 이벤트 발생이 감지되면 이벤트에 대응되는 인터랙션을 수행한다. 이 때, 종래의 로봇은 기설정된 인터랙션 파라미터에 기초하여 인터랙션을 수행한다.
상이한 사용자 컨텍스트에 따라 선호되는 인터랙션 파라미터가 다른 경우에도 기설정된 인터랙션 파라미터에 기초하여 인터랙션을 수행함에 따라 사용자 또는 상황에 맞는 인터랙션을 수행하지 못하는 문제가 있다.
강화학습과 같은 기계 학습을 이용하여 사용자 컨텍스트에 기초하여 인터랙션 파라미터를 식별하기 위해서는 다수의 인터랙션 수행 이력을 필요로 하는 문제가 있다.
본 발명은 종래의 문제를 해결하기 위해, 로봇에 저장된 이력정보에 기초하여 인터랙션 파라미터를 식별하고, 충분한 인터랙션 수행 이력이 없는 경우 로봇에 저장된 이력정보에 포함된 인터랙션 파라미터 값을 조합하여 인터랙션 파라미터를 식별하는 로봇 및 이의 제어 방법을 제공한다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 로봇의 제어 방법은 이벤트 발생을 감지하는 단계; 상기 이벤트에 대응되는 인터랙션을 식별하는 단계; 사용자 컨텍스트를 식별하는 단계; 상기 로봇에 저장된 이력 정보, 상기 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하는 단계; 상기 식별된 인터랙션 파라미터에 기초하여, 상기 인터랙션을 수행하는 단계; 상기 수행된 인터랙션에 따른 상기 사용자의 반응에 대한 정보를 획득하는 단계; 및 상기 식별된 인터랙션 파라미터 및 상기 반응에 대한 정보에 기초하여 상기 이력정보를 업데이트하는 단계;를 포함할 수 있다.
상기 인터랙션 파라미터를 식별하는 단계는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 이상이면, 상기 적어도 하나의 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 인터랙션 파라미터를 식별하는 단계는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 미만이면, 상기 이력정보 중 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 인터랙션 파라미터를 식별하는 단계는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 이상이면, 상기 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 인터랙션 파라미터를 식별하는 단계는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 미만이면, 상기 이력정보 중 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 제어 방법은, 상기 이력정보에 포함된 복수의 이력 중 중복되는 이력을 제거하거나, 유사한 이력을 병합하여 이력 정보를 업데이트하는 단계;를 더 포함할 수 있다.
상기 사용자 컨텍스트를 식별하는 단계는, 상기 사용자의 식별 정보, 상기 사용자의 위치 정보, 상기 사용자의 포즈 정보, 날씨 정보, 주가 정보 중 적어도 하나를 포함하는 정보에 기초하여 상기 사용자 컨텍스트를 식별할 수 있다.
상기 사용자의 반응에 대한 정보를 획득하는 단계는, 상기 사용자의 반응에 대한 정보를 획득하기 위한 사용자 정보가 설정되면, 상기 설정된 사용자 정보에 기초하여 사용자의 반응을 획득하고, 상기 획득된 사용자의 반응을 상기 사용자의 반응 스코어로 변환할 수 있다.
본 개시의 일 실시 예에 따른 로봇은 적어도 하나의 센서, 구동부, 적어도 하나의 명령어를 저장하는 메모리, 및 상기 메모리와 연결되어 상기 로봇을 제어하는 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써, 상기 적어도 하나의 센서를 통해 이벤트 발생을 감지하고, 상기 이벤트에 대응되는 인터랙션을 식별하고, 사용자 컨텍스트를 식별하고, 상기 메모리에 저장된 이력 정보, 상기 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하고, 상기 식별된 인터랙션 파라미터에 기초하여, 상기 인터랙션을 수행하도록 상기 구동부를 제어하고, 상기 수행된 인터랙션에 따른 상기 사용자의 반응에 대한 정보를 획득하고, 상기 식별된 인터랙션 파라미터 및 상기 반응에 대한 정보에 기초하여 상기 이력정보를 업데이트할 수 있다.
상기 프로세서는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 이상이면, 상기 적어도 하나의 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 프로세서는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 미만이면, 상기 이력정보 중 적어도 하나의 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 프로세서는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 이상이면, 상기 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 프로세서는, 상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 미만이면, 상기 이력정보 중 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별할 수 있다.
상기 프로세서는, 상기 이력정보에 포함된 복수의 이력 중 중복되는 이력을 제거하거나, 유사한 이력을 병합하여 이력 정보를 업데이트할 수 있다.
상기 프로세서는, 상기 사용자의 식별 정보, 상기 사용자의 위치 정보, 상기 사용자의 포즈 정보, 날씨 정보, 주가 정보 중 적어도 하나를 포함하는 정보에 기초하여 상기 사용자 컨텍스트를 식별할 수 있다.
상기 프로세서는, 상기 사용자의 반응에 대한 정보를 획득하기 위한 사용자 정보가 설정되면, 상기 설정된 사용자 정보에 기초하여 사용자의 반응을 획득하고, 상기 획득된 사용자의 반응을 상기 사용자의 반응 스코어로 변환할 수 있다.
본 개시의 일 실시 예에 따른 로봇의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서, 상기 로봇의 제어 방법은 이벤트 발생을 감지하는 단계; 상기 이벤트에 대응되는 인터랙션을 식별하는 단계; 사용자 컨텍스트를 식별하는 단계; 상기 로봇에 저장된 이력 정보, 상기 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하는 단계; 상기 식별된 인터랙션 파라미터에 기초하여, 상기 인터랙션을 수행하는 단계; 상기 수행된 인터랙션에 따른 상기 사용자의 반응에 대한 정보를 획득하는 단계; 상기 식별된 인터랙션 파라미터 및 상기 반응에 대한 정보에 기초하여 상기 이력정보를 업데이트하는 단계;를 포함할 수 있다.
상술한 실시 예들을 통해, 로봇이 사용자 컨텍스트에 기초하여 인터랙션 파라미터를 식별하여, 사용자 또는 상황에 맞는 인터랙션을 수행이 가능한 효과가 있다.
도 1a 내지 도 1b는 본 개시의 일 실시예에 따른 로봇의 동작을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 로봇의 동작을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 로봇이 인터랙션 파라미터를 식별하는 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 로봇이 인터랙션 파라미터를 식별하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 로봇에 저장된 이력 정보를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 로봇의 제어 방법을 설명하기 위한 도면이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1a 내지 도 1b는 본 개시의 일 실시예에 따른 로봇의 동작을 개략적으로 설명하기 위한 도면이다.
도 1a를 참조하면, 로봇(100)은 이벤트의 발생을 감지할 수 있다. 또는 로봇(100)은 로봇(100)을 제어하기 위한 제어 명령을 획득할 수 있다. 로봇(100)은 적어도 하나의 센서에 기초하여 이벤트의 발생을 감지할 수 있다. 여기서, 이벤트는 로봇(100)을 제어하기 위한 사용자(10)의 명령 입력, 사용자(10)의 발화 또는 제스처 일 수 있고, 로봇(100)의 주위에서 발생한 일련의 사건일 수 있다. 또는 로봇(100)은 통신 인터페이스(120) 또는 사용자 인터페이스(130)를 통해 이벤트 발생에 대한 정보를 획득하고, 이벤트의 발생을 감지할 수 있다.
이벤트가 발생하면, 로봇(100)은 이벤트(또는 제어 명령)에 대응되는 인터랙션을 식별할 수 있다. 여기서 인터랙션(또는 서비스)은 로봇(100)이 사용자(10)에게 제공하는 로봇(100)의 기능을 의미할 수 있다.
예를 들어, 로봇(100)은 사용자(10)로부터 "이리 와" 같은 음성을 감지함에 따라 사용자(10)의 음성 입력 이벤트 발생을 감지할 수 있다. 로봇(100)은 감지된 사용자(10) 음성 입력에 대응되는 "사용자에게 다가가기" 인터랙션을 식별할 수 있다.
로봇(100)은 사용자(10) 컨텍스트를 식별할 수 있다. 사용자(10) 컨텍스트는 사용자(10)의 식별 정보, 사용자(10)의 위치 정보, 사용자(10)의 포즈 정보 또는 날씨 정보를 의미할 수 있으나, 이는 일 실시예에 불과할 뿐 사용자(10)와 관련된 다양한 정보를 의미할 수 있다. 이 때, 로봇(100)이 이벤트 발생을 감지하고, 인터랙션을 식별한 후에 사용자(10) 컨텍스트를 식별하는 것으로 설명하였으나, 이는 일 실시예에 불과하고 로봇(100)은 이벤트 발생 감지하는 단계 또는 인터랙션을 식별하는 단계와 함께 사용자(10) 컨텍스트를 식별하거나, 이벤트 발생 감지 단계 또는 인터랙션을 식별하는 단계 이전에도 사용자(10) 컨텍스트를 식별할 수 있다.
로봇(100)은 로봇(100)에 저장된 이력 정보, 식별된 인터랙션 및 식별된 사용자(10) 컨텍스트에 기초하여 인터랙션 파라미터를 식별할 수 있다. 예를 들어, 식별된 인터랙션이 "사용자에게 다가가기" 이고, 식별된 사용자(10) 컨텍스트가 "사용자: 사용자1, 사용자 위치: 거실"이면, 로봇(100)은 식별된 인터랙션 및 식별된 사용자(10) 컨텍스트에 매칭되어 저장된 인터랙션 수행 이력 정보에 기초하여 식별된 인터랙션을 수행하기 위한 인터랙션 파라미터를 식별할 수 있다. 이 때, 식별된 인터랙션 및 식별된 사용자(10) 컨텍스트에 매칭되어 저장된 제1 이력의 수 또는 조건이 기설정된 조건을 만족하지 않는 경우, 제2 이력에 기초하여 인터랙션 파라미터를 식별할 수 있다.
도 1b를 참조하면, 식별된 인터랙션 파라미터에 기초하여, 로봇(100)은 식별된 인터랙션을 수행할 수 있다. 식별된 인터랙션 파라미터1(다가가는 속도)는 0.7m/s, 인터랙션 파라미터2(사용자와의 간격)은 0.7m인 경우, 로봇(100)은 0.7m/s의 속도로 사용자(10)에 대한 거리가 0.7m가 되는 지점으로 이동할 수 있다.
로봇(100)은 수행된 인터랙션에 따른 사용자(10)의 반응에 대한 정보를 획득할 수 있다. 사용자의 반응에 대한 정보는 사용자가 수행된 인터랙션에 대해 만족하는 정도를 나타내는 정보일 수 있다. 구체적으로, 로봇(100)은 사용자의 표정, 포즈, 행동과 같은 반응을 획득하고, 획득된 사용자의 반응을 스코어로 변환할 수 있다.
로봇(100)은 식별된 인터랙션 파라미터 및 반응에 대한 정보에 기초하여 로봇(100)에 저장된 이력 정보를 업데이트할 수 있다. 이하 도면들을 통해, 본 개시에 따른 로봇의 구성 및 동작을 보다 상세하게 설명한다.
도 2는 본 개시의 일 실시예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 로봇(100)은 센서(110), 통신 인터페이스(120), 사용자 인터페이스(130), 디스플레이(140), 스피커(150), 구동부(160), 메모리(170) 및 프로세서(180)를 포함할 수 있다. 로봇(100)은 구성요소 중 적어도 일부가 생략될 수 있으며, 다른 구성요소를 더 포함할 수 있다.
센서(110)는 로봇(100)의 주변에 대한 다양한 정보를 획득하기 위한 구성일 수 있다. 센서(110)는 열, 빛, 온도, 압력, 소리 등의 물리적인 변화를 감지하여 전기적 신호로 변경할 수 있고, 변경된 전기적 신호를 바탕으로 로봇(100)의 주변에 대한 다양한 정보를 획득할 수 있다. 센서(110)는 마이크(110-1), 비전 센서(110-2), 모션 센서(110-3), 초음파 센서(110-4), 온도 센서(110-5), 조도 센서(110-6) 또는 적외선 센서(110-7)를 포함할 수 있다. 예를 들어, 로봇(100)은 라이다 센서 또는 초음파 센서를 통하여 감지된 정보를 바탕으로 근접한 위치에 존재하는 사용자의 존재를 검출할 수 있다. 다만, 이는 일 실시예에 불과할 뿐, 로봇(100)은 가속도 센서(미도시), 자이로 센서(미도시) 등 사용자의 명령, 사용자의 컨텍스트 또는 로봇(100) 주변의 다양한 정보를 획득하기 위한 센서를 포함할 수 있다.
센서(110)는 불필요한 전력 소모를 막기 위해 특정 조건을 만족하는 경우에만 활성화될 수 있다. 예를 들어, 센서(110)는 로봇(100) 주변에 사용자가 감지된 경우에만 활성화될 수 있다. 또는 로봇(100)이 IoT 시스템의 일부인 경우, 센서(110)는 현관문이 열리거나, 실내 조명이 점등되는 조건을 만족하는 경우 활성화될 수 있다. 다만, 상술한 실시예에 한정되는 것은 아니고, 센서(110)는 항상 활성화되어 있을 수 있다.
마이크(110-1)는 로봇(100) 주변의 소리 또는 사용자 음성을 획득할 수 있다. 마이크(110-1)는 외부의 음향 신호를 입력 받아 전기적인 음성 정보를 생성할 수 있으며, 로봇(100)은 복수개의 마이크(110-1)를 구비할 수 있다. 로봇(100)은 복수개의 마이크 각각에 입력되는 음향신호의 도착 시간 차이를 이용하여 음향 신호를 발생시키는 음원(Sound Source)의 방향을 추정할 수 있다. 마이크(110-1)는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
비전 센서(110-2)는 로봇(100) 주변의 사용자 또는 객체를 감지하기 위한 센서일 수 있다. 예를 들어, 비전 센서(110-2)는 카메라, 레이더(radar) 센서, 라이다(lidar) 센서, 초음파 센서, RF 센서 또는 뎁스(depth) 센서 중 적어도 하나를 포함할 수 있다. 비전 센서(110-2)가 투과형 레이더(radar)의 일종인 경우, 장애물 뒤에 위치한 사용자 또는 객체를 인식할 수 있다.
모션 센서(110-3)는 움직임을 감지하기 위한 센서일 수 있다. 모션 센서(110-3)는 사용자의 움직임 또는 객체의 움직임을 감지하는데 이용되는 센서일 수 있다.
초음파 센서(110-4)는 비가청 주파수를 이용하여 거리 측정 또는 객체 감지를 위한 센서일 수 있다. 예를 들어, 초음파 센서(110-4)는 액티브(active) 센서의 일종으로 특정 신호를 전송하여 ToF(Time of Flight)를 측정하는 방식으로 거리를 측정할 수 있다. 여기서, ToF는 비행시간 거리측정 방법으로, 펄스가 발사된 기준 시점과 측정대상물에서 반사되어 되돌아온 펄스의 검출시점 사이의 시간차를 측정하여 거리를 측정하는 방법일 수 있다.
온도 센서(110-5)는 열을 감지하여 전기신호를 내는 센서일 수 있다. 온도 센서(110-5)는 온도에 따라 전기 특성이 변화하는 성질을 이용하여 온도를 감지할 수 있다.
조도 센서(110-6)는 빛의 밝기를 측정하는 센서일 수 있다. 조도 센서(110-6)는 빛의 밝기에 따라 저항이 변화하는 광 가변저항을 이용하여 빛의 밝기를 측정하는 센서를 의미할 수 있다.
적외선 센서(110-7)는 적외선을 이용해 온도, 압력, 방사선의 세기 등의 물리량이나 화학량을 감지하고 전기량을 변환하는 장치를 의미할 수 있다. 적외선 센서(110-7)는 조도가 낮은 경우(예컨대, 밤)에 사용자 또는 객체를 감지하는데 이용될 수 있다.
통신 인터페이스(120)는 회로(circuitry)를 포함하며, 외부 기기 및 서버와 통신할 수 있는 구성이다. 통신 인터페이스(120)는 유선 또는 무선 통신 방식에 기초하여 외부 기기 또는 서버와 통신을 수행할 수 있다. 이 경우, 통신 인터페이스(120)는 와이파이 모듈(미도시), 블루투스 모듈(미도시), IR(infrared) 모듈, LAN(Local Area Network) 모듈, 이더넷(Ethernet) 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다. 무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), USB(Universal Serial Bus), MIPI CSI(Mobile Industry Processor Interface Camera Serial Interface), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(120)는 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다. 통신 인터페이스(120)은 외부 장치들과 통신을 수행하여 이벤트 감지 또는 사용자 컨텍스트를 식별하기 위한 다양한 데이터를 송수신할 수 있다. 사용자 컨텍스트 식별이 외부 서버에서 수행되는 경우, 통신 인터페이스(120)는 획득한 사용자 데이터를 외부 서버로 전송하고, 사용자 데이터의 분석 결과 또는 식별된 사용자 컨텍스트 정보를 외부 서버로부터 수신할 수 있다.
사용자 인터페이스(130)는 로봇(100)을 제어하기 위한 사용자 명령을 입력받기 위한 구성이다. 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 로봇(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다. 로봇(100)는 사용자 인터페이스(130)를 통해 다양한 사용자 입력을 획득할 수 있다.
디스플레이(140)는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다.
디스플레이(140)는 로봇(100)의 상태 정보를 출력할 수 있다. 여기서, 상태 정보는, 로봇(100)의 주행 모드, 배터리 관련 정보, 도킹 스테이션(미도시)으로 복귀 여부 등 로봇(100)의 구동에 관련된 다양한 정보를 포함할 수 있다.
또한, 디스플레이(140)는 발생한 이벤트에 대응되는 응답 또는 인터랙션을 디스플레이(140)를 통해 제공할 수 있다. 예를 들어, 사용자로부터 "오늘 날씨 알려줘"와 같은 음성 입력을 감지하면, 로봇(100)은 날씨 정보를 디스플레이 하는 인터랙션을 수행하도록 디스플레이(140)를 제어할 수 있다.
스피커(150)는 오디오 처리부에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성일 수 있다. 특히, 스피커(150)는 감지된 이벤트에 대한 서비스를 제공하는데 이용될 수 있다. 예를 들어, 로봇(100)은 사용자에게 정보를 제공하는 인터랙션을 수행하기 위해, 스피커(150)를 이용하여 자연어 형태의 음성 메시지로 출력할 수 있다. 한편, 오디오를 출력하기 위한 구성은 스피커(150)로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
구동부(160)는 로봇(100)의 모션 내지는 이동을 제어하기 위한 구성일 수 있다. 그리고, 구동부(160)는 로봇(100)의 이동 수단을 제어할 수 있고, 로봇(100)의 물리적 움직임을 구현하는 기계적 구성과 전기적으로 연결되어 해당 구성을 구동/제어할 수 있다. 예를 들어, 도 1a 내지 도 1b의 로봇(100)의 형태로 구현되는 경우, 구동부(160)는 로봇(100)의 바퀴, 로봇(100)의 헤드의 회전을 제어하는 기계적 구성 등을 제어할 수 있다. 이밖에, 로봇에 팔이나 다리와 같은 별도 구성이 포함된 경우라면, 구동부(160)는 팔 및 다리의 움직임을 제어하도록 구현될 수도 있다.
메모리(170)는 로봇(100)에 관한 적어도 하나의 명령어(instruction)를 저장할 수 있다. 메모리(170)는 로봇(100)을 구동시키기 위한 O/S(Operating System)를 저장할 수 있다. 메모리(170)는 로봇(100)가 건조 완료 여부를 식별하기 위한 임계값을 저장할 수 있다. 또한, 메모리(170)는 본 개시의 다양한 실시 예들에 따라 로봇(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션을 저장할 수 있다. 그리고, 메모리(170)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(170)는 본 개시의 다양한 실시 예에 따라 로봇(100)가 동작하기 위한 각종 소프트웨어 모듈을 저장할 수 있으며, 프로세서(180)는 메모리(170)에 저장된 각종 소프트웨어 모듈을 실행하여 로봇(100)의 동작을 제어할 수 있다. 즉, 메모리(170)는 프로세서(180)에 의해 액세스되며, 프로세서(180)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
한편, 본 개시에서 메모리(170)라는 용어는 메모리(170), 프로세서(180) 내 롬(미도시), 램(미도시) 또는 로봇(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
특히, 메모리(170)는 로봇(100)의 인터랙션 수행 이력에 대한 이력 정보(171)를 저장할 수 있다. 여기서 이력 정보(171)는 인터랙션, 사용자 컨텍스트, 사용자 반응에 대한 정보 및 인터랙션 파라미터가 매칭되어 저장된 정보일 수 있다. 이력 정보(171)는 적어도 하나의 이력을 포함할 수 있다. 메모리(170)에 저장된 이력 정보는 도 5를 통해 구체적으로 설명하도록 한다.
프로세서(180)는 로봇(100)의 전반적인 동작 및 기능을 제어할 수 있다. 구체적으로, 프로세서(180)는 메모리(170)를 포함하는 로봇(100)의 구성과 연결되며, 상술한 바와 같은 메모리(170)에 저장된 적어도 하나의 명령어를 실행함으로써, 로봇(100)의 동작을 전반적으로 제어할 수 있다.
프로세서(180)는 다양한 방식으로 구현될 수 있다. 예를 들어, 프로세서(180)는 주문형 집적 회로(Application Specific Integrated Circuit, ASIC), 임베디드 프로세서, 마이크로 프로세서, 하드웨어 컨트롤 로직, 하드웨어 유한 상태 기계(hardware Finite State Machine, FSM), 디지털 신호 프로세서(Digital Signal Processor, DSP) 중 적어도 하나로 구현될 수 있다. 한편, 본 개시에서 프로세서(180)라는 용어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 및 MPU(Main Processing Unit)등을 포함하는 의미로 사용될 수 있다.
프로세서(180)는 인터랙션 식별 모듈(181), 사용자 컨텍스트 식별 모듈(182), 인터랙션 파라미터 식별 모듈(183), 인터랙션 수행 모듈(184), 사용자 반응 획득 모듈(185) 및 이력 정보 관리 모듈(186)을 포함할 수 있다. 본 개시에 따른 복수의 모듈은 소프트웨어 모듈 또는 하드웨어 모듈로 구현될 수 있으며, 복수의 모듈이 소프트웨어 모듈로 구현되는 경우, 프로세서(180)는 메모리(170)에 저장된 소프트웨어 모듈을 로딩함으로써 소프트웨어 모듈에 엑세스할 수 있다. 프로세서(180)가 로봇(100)의 동작 및 기능을 제어하는 구체적인 방법은 도 3을 통해 설명하도록 한다.
도 3을 참조하면, 프로세서(180)는 적어도 하나의 센서(110)에 의해 획득된 센싱 값에 기초하여 이벤트 발생을 감지할 수 있다. 예를 들어, 로봇(100)은 마이크(110-1) 또는 카메라와 같은 비전 센서(110-2)에 의해 획득된 정보를 바탕으로 이벤트 발생을 감지할 수 있다. 또는, 프로세서(180)는 기설정된 수치 이상으로 감지된 소리, 조도, 진동 등 다양한 정보를 통하여 이벤트 발생을 감지할 수 있다.
이 때, 프로세서(180)는 로봇(100)에 포함된 센서뿐만 아니라, 외부 장치(미도시)에 포함된 외부 센서를 이용하여 이벤트 발생을 감지할 수 있다. 프로세서(180)는 외부 장치로부터 이벤트 발생이 감지되면 통신 인터페이스(120)를 통해 이벤트 발생에 대한 정보를 획득할 수 있다. 또는, 프로세서(180)는 사용자 인터페이스(130)를 통해 사용자로부터 이벤트에 대한 정보를 획득할 수 있다.
이벤트 발생이 감지되면, 인터랙션 식별 모듈(181)은 이벤트에 대응되는 인터랙션을 식별할 수 있다. 예를 들어, 프로세서(180)가 사용자로부터 "이리 와"라고 하는 음성 입력 이벤트 발생이 감지되면, 인터랙션 식별 모듈(181)은 "이리 와"라고 하는 음성 입력 이벤트에 대응되는 "사용자에게 다가가기"와 같은 인터랙션을 식별할 수 있다.
사용자 컨텍스트 식별 모듈(182)은 센서(110), 통신 인터페이스(120) 또는 사용자 인터페이스(130)를 통해 획득된 정보로부터 사용자 컨텍스트를 식별할 수 있다. 예를 들어, 사용자 컨텍스트 식별 모듈(182)은 비전 센서(110-2)를 통해 획득한 이미지로부터 사용자의 신원 또는 사용자의 위치를 식별할 수 있다. 또는, 사용자 컨텍스트 식별 모듈(182)은 통신 인터페이스(120)를 통해 사용자의 휴대 단말 장치(미도시)로부터 사용자의 위치 정보를 획득하여 사용자의 위치를 식별할 수 있다.
예를 들어, 사용자 컨텍스트 식별 모듈(182)은 복수의 사용자 중 인터랙션을 수행 대상이 되는 사용자를 식별할 수 있다.
인터랙션 파라미터 식별 모듈(183)은 메모리(170)에 저장된 이력 정보(171), 식별된 인터랙션 및 식별된 사용자 컨텍스트에 기초하여 적어도 하나의 인터랙션 파라미터를 식별할 수 있다. 이 때 인터랙션 파라미터 식별 모듈(183)이 인터랙션 파라미터를 식별하는 구체적인 방법은 도 4 내지 도 5를 통해 구체적으로 설명하도록 한다.
식별된 인터랙션에 따라 인터랙션 파라미터 식별 모듈(183)이 식별하는 인터랙션 파라미터의 타입은 달라질 수 있다. 예를 들어, 인터랙션1이 식별되면, 인터랙션 파라미터 식별 모듈(183)은 인터랙션 파라미터 1,2를 식별할 수 있고, 인터랙션2가 식별되면, 인터랙션 파라미터 식별 모듈(183)은 인터랙션 파라미터 2,3을 식별할 수 있다. 이 때, 인터랙션에 따라 식별되는 인터랙션 파라미터의 타입은 사용자에 의해 설정될 수 있다.
식별된 적어도 하나의 인터랙션 파라미터에 기초하여, 인터랙션 수행 모듈(184)은 인터랙션을 수행할 수 있다. 예를 들어, 식별된 인터랙션이 "사용자에게 다가가기"이고 식별된 인터랙션 파라미터1(다가가는 속도)은 0.7m/s, 인터랙션 파라미터2(사용자와의 간격)은 0.7m일 수 있다. 인터랙션 수행 모듈(184)은 0.7m/s의 속도로 사용자에 대한 거리가 0.7m가 되는 지점으로 이동하도록 구동부(160)를 제어할 수 있다.
로봇(100)이 인터랙션을 수행하면, 사용자 반응 획득 모듈(193)은 수행된 인터랙션에 따른 사용자의 반응에 대한 정보를 획득할 수 있다. 구체적으로, 사용자 반응 획득 모듈(193)은 센서(110), 통신 인터페이스(120) 또는 사용자 인터페이스(130)를 통해 사용자의 반응에 대한 정보를 획득할 수 있다.
사용자의 반응에 대한 정보는 사용자 입력 정보를 통해 획득될 수 있다. 예를 들어, 사용자 반응 획득 모듈(185)은 사용자 반응을 획득하기 위한 UI를 디스플레이(140)를 통해 사용자에게 제공할 수 있다. 이 때, UI를 통해 입력된 사용자 입력에 기초하여 사용자 반응 획득 모듈(193)은 사용자 반응에 대한 정보를 획득할 수 있다.
사용자의 반응에 대한 정보를 획득하기 위한 사용자 정보는 상이하게 설정될 수 있다. 예를 들어, 사용자의 반응을 획득하기 위한 사용자 정보는 사용자의 표정(긍정 또는 부정), 사용자가 로봇(100)으로 다가오는지 여부 또는 사용자의 발화 음성(예를 들어 "다시 얘기해줘")일 수 있다. 이는 일 실시예에 불과할 뿐 사용자 반응 획득 모듈(193)은 다양한 사용자 정보를 획득하고 획득된 사용자 정보에 기초하여 사용자 반응에 대한 정보를 획득할 수 있다.
사용자 정보가 설정되면, 사용자 반응 획득 모듈(193)은 설정된 사용자 정보에 기초하여 사용자의 반응을 획득할 수 있다. 이 때, 사용자 반응 획득 모듈(193)은 획득된 적어도 하나의 사용자의 반응을 사용자의 반응 스코어로 변환할 수 있다.
예를 들어, 사용자 반응 획득 모듈(193)은 비전 센서(110-1)를 통하여 사용자의 표정을 획득할 수 있다. 사용자 반응 획득 모듈(193)은 얼굴의 특징점 좌표를 추출한 후 표정을 분석하고, 기 저장된 감정 분포 데이터 또는 감정 테이블을 기반으로 사용자의 반응 스코어를 획득할 수 있다. 또는, 사용자 반응 획득 모듈(193)은 마이크(110-2)를 통하여 사용자의 음성을 획득할 수 있다. 사용자 반응 획득 모듈(193)은 사용자의 음성 특징 벡터를 추출하고, 기 저장된 감정 분포 데이터 또는 감정 테이블과 비교하여 사용자의 반응 스코어를 획득할 수 있다.
사용자의 반응 스코어는 0부터 1사이의 값일 수 있다. 사용자의 반응이 인터랙션 수행에 대한 만족도가 높은 반응일수록(사용자의 반응이 긍정적일수록) 사용자의 반응 스코어는 높은 값일 수 있다. 예를 들어, 사용자 정보가 사용자가 로봇(100)으로 다가오는지 여부로 설정되면, 사용자 반응 획득 모듈(185)은 사용자가 로봇(100)으로 다가오는지 여부와 다가온 정도(예를 들어, 0.5m)를 식별할 수 있다. 이 때, 사용자가 로봇(100)으로 다가오는 정도가 클수록 반응 스코어는 높은 값일 수 있다. 사용자가 로봇(100)으로 0.7m 다가왔을 때의 사용자의 반응 스코어는 사용자가 로봇(100)으로 0.5m 다가왔을 때의 사용자의 반응 스코어보다 높은 값일 수 있다.
또 다른 예에 따르면, 사용자 정보가 사용자의 표정으로 설정되면, 사용자 반응 스코어는 사전 정의된 감정 테이블에 기초하여 획득될 수 있다. 웃는 표정 또는 놀람 표정 등이 획득되면, 찡그린 표정이나 슬픈 표정이 획득된 경우에 비하여 상대적으로 높은 사용자 반응 스코어가 획득될 수 있다.
또 다른 예에 따르면, 사용자의 웃음 소리 또는 감탄사 등의 음성 신호가 획득되면, 우는 소리 또는 실망한 소리에 대한 음성 신호가 획득된 경우에 비하여 상대적으로 높은 사용자 반응 스코어가 획득될 수 있다.
이력 정보 관리 모듈(186)은 식별된 인터랙션 파라미터 및 반응에 대한 정보에 기초하여 이력정보(171)를 업데이트할 수 있다. 이력 정보 관리 모듈(186)은 식별된 인터랙션, 식별된 사용자 컨텍스트, 식별된 인터랙션 파라미터, 사용자 반응에 대한 정보를 매칭한 이력(또는 데이터)을 이력 정보(171)에 저장할 수 있다.
이력 정보 관리 모듈(186)은 이력 정보(171)에 포함된 복수의 이력 중 중복되는 이력을 제거하거나, 유사한 이력을 병합하여 이력 정보를 업데이트할 수 있다.
도 4 내지 도 5는 로봇(100)이 인터랙션 파라미터를 식별하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 프로세서(180)는 이벤트 발생이 감지되면, 인터랙션 및 사용자 컨텍스트를 식별할 수 있다(S410).
프로세서(180)는 메모리(170)에 저장된 이력 정보(171) 중 식별된 인터랙션 및 사용자 컨텍스트에 대응되는 제1 이력의 수가 제1 임계값 이상인지 여부를 식별할 수 있다(S420).
제1 이력의 수가 제1 임계값 이상이면(S420-Y), 프로세서(180)는 적어도 하나의 제1 이력에 기초하여 인터랙션 파라미터를 식별할 수 있다(S430). 도 6을 참조하면, 메모리(170)는 도 6에 도시된 바와 같이 이력 정보(171)를 저장할 수 있다. 이 때, 이력 정보는 인터랙션, 사용자 컨텍스트, 사용자 반응 스코어, 인터랙션 파라미터가 매칭되어 저장된 정보일 수 있다. 예를 들어, 식별된 인터랙션이 "사용자에게 다가가기"이고, 식별된 사용자 컨텍스트가, "사용자: 사용자1, 위치: 거실"인 경우, 제1 이력(610,620)의 수는 2일 수 있다. 제1 임계값이 2인 경우, 프로세서(180)는 제1 이력(610,620)에 포함된 인터랙션 파라미터와 사용자 반응 스코어를 회귀 분석(Regression)하여 사용자 반응 스코어가 높은 값을 갖도록 인터랙션 파라미터를 식별할 수 있다. 다만, 이는 일 실시예에 불과할 뿐 기저장된 이력 중 가장 사용자 반응이 높았던 이력(620)에 매칭되어 저장된 인터랙션 파라미터 값을 식별된 인터랙션의 인터랙션 파라미터로 식별하는 방법 또는 기저장된 이력에 저장된 인터랙션 파라미터 값을 조합하거나 변형하는 방법과 같이 다양한 방법을 이용하여 인터랙션 파라미터를 식별할 수 있다.
제1 이력의 수가 제1 임계값 미만이면(S420-N), 프로세서(180)는 적어도 하나의 제2 이력에 기초하여 인터랙션 파라미터를 식별할 수 있다(S430). 도 6을 참조하면, 제1 임계값이 3인 경우, 제1 이력(610,620)의 수는 제1 임계값 미만일 수 있다. 이 때, 제1 이력(610,620)과 상이한 적어도 하나의 제2 이력(630,640,650)에 기초하여 프로세서(180)는 인터랙션 파라미터를 식별할 수 있다. 이 때 제2 이력(620,630,640)은 제1 임계값 이상인 이력일 수 있으나, 이에 한정되는 것은 아니다. 프로세서(180)는 제2 이력(620,630,640)에 포함된 파라미터 및 사용자 반응 스코어를 회귀분석(Regression)하거나, 제2 이력에 포함된 파라미터를 조합하거나 변화를 가하여 인터랙션 파라미터를 식별할 수 있다. 또 다른 실시 예에 따르면 프로세서(180)는 제2 이력을 이용하지 않고 랜덤하게 파라미터 값을 생성하여 인터랙션 파라미터를 식별하거나 제1 이력에 포함된 파라미터에 변환을 가하여 인터랙션 파라미터를 식별할 수 있다.
프로세서(180)는 식별된 인터랙션 파라미터에 기초하여 인터랙션을 수행할 수 있다(S450).
도 5를 참조하면, 프로세서(180)는 이벤트 발생이 감지되면, 인터랙션 및 사용자 컨텍스트를 식별할 수 있다(S510).
프로세서(180)는 메모리(170)에 저장된 이력 정보(171) 중 식별된 인터랙션 및 사용자 컨텍스트에 대응되는 제1 이력에 포함된 사용자 반응 스코어가 제2 임계값 이상인지 여부를 식별할 수 있다(S520). 예를 들어, 식별된 인터랙션이 "사용자에게 다가가기"이고, 식별된 사용자 컨텍스트가, "사용자: 사용자1, 위치: 거실"인 경우, 제1 이력(610,620)에 포함된 사용자 반응 스코어는 0.7 및 0.8일 수 있다. 제2 임계값이 0.8인 경우, 프로세서(180)는 제1 이력(610,620)에 포함된 사용자 반응 스코어가 제2 임계값 이상인 것으로 식별할 수 있다.
제1 이력에 포함된 사용자의 반응 스코어가 제2 임계값 이상이면 (S520-Y), 프로세서(180)는 제1 이력정보에 기초하여 인터랙션 파라미터를 식별할 수 있다(S530).
제1 이력에 포함된 사용자의 반응 스코어가 제2 임계값 미만이면(S520-N), 프로세서(180)는 제1 이력과 상이한 제2 이력에 기초하여 인터랙션 파라미터를 식별할 수 있다(S540). 또는, 프로세서(180)는 제1 이력에 포함된 인터랙션 파라미터에 일부 변화를 가하거나 랜덤하게 인터랙션 파라미터를 생성할 수 있다.
식별된 인터랙션 파라미터에 기초하여, 프로세서(180)는 인터랙션을 수행할 수 있다(S550).
상술한 방법을 통해, 로봇(100)은 이력 정보(171)에 포함된 이력의 수 또는 조건이 기설정된 조건을 만족하지 못하는 경우에도, 사용자 컨텍스트에 맞는 인터랙션 파라미터를 찾아나갈 수 있다.
도 7은 본 개시의 일 실시예에 따른 로봇(100)의 제어 방법을 설명하기 위한 순서도이다.
로봇(100)은 적어도 하나의 센서(110)를 통해 이벤트 발생을 감지할 수 있다(S710).
로봇(100)은 감지된 이벤트에 대응되는 인터랙션을 식별할 수 있다(S720).
로봇(100)은 적어도 하나의 센서(110), 통신 인터페이스(120) 또는 사용자 인터페이스(130)를 통해 사용자 컨텍스트를 식별할 수 있다(S730). 로봇(100)은 사용자의 식별 정보, 사용자의 위치 정보, 사용자의 포즈 정보, 날씨 정보, 주가 정보 중 적어도 하나를 포함하는 정보에 기초하여 사용자 컨텍스트를 식별할 수 있다.
로봇(100)에 저장된 이력 정보(171), 식별된 인터랙션 및 식별된 사용자 컨텍스트에 기초하여, 로봇(100)은 인터랙션 파라미터를 식별할 수 있다(S740). 로봇(100)은 로봇(100)에 저장된 이력정보 중 식별된 인터랙션 및 식별된 사용자 컨텍스트에 대응되는 이력과 임계값을 비교하여 인터랙션 파라미터를 식별할 수 있다.
식별된 인터랙션 파라미터에 기초하여, 로봇(100)은 인터랙션을 수행할 수 있다(S750).
로봇(100)은 수행된 인터랙션에 따른 사용자의 반응에 대한 정보를 획득할 수 있다(S760). 사용자의 반응에 대한 정보를 획득하기 위한 사용자 정보가 설정되면, 로봇(100)은 설정된 사용자 정보에 기초하여 사용자의 반응을 획득하고, 획득된 사용자의 반응을 사용자의 반응 스코어로 변환할 수 있다.
로봇(100)은 식별된 인터랙션 파라미터 및 사용자의 반응에 대한 정보에 기초하여 이력 정보(171)를 업데이트할 수 있다(S770). 로봇(100)은 이력 정보(171)에 포함된 복수의 이력 중 중복되는 이력을 제거하거나, 유사한 이력을 병합하여 이력 정보(171)를 업데이트할 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 로봇(100)를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
100 : 로봇 110 : 센서
120 : 통신 인터페이스 130 : 사용자 인터페이스
140 : 디스플레이 150 : 스피커
160 : 구동부 170 : 메모리
180 : 프로세서

Claims (17)

  1. 로봇의 제어 방법에 있어서,
    이벤트 발생을 감지하는 단계;
    상기 이벤트에 대응되는 인터랙션을 식별하는 단계;
    사용자 컨텍스트를 식별하는 단계;
    상기 로봇에 저장된 이력 정보, 상기 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하는 단계;
    상기 식별된 인터랙션 파라미터에 기초하여, 상기 인터랙션을 수행하는 단계;
    상기 수행된 인터랙션에 따른 상기 사용자의 반응에 대한 정보를 획득하는 단계; 및
    상기 식별된 인터랙션 파라미터 및 상기 반응에 대한 정보에 기초하여 상기 이력정보를 업데이트하는 단계;를 포함하는 로봇의 제어 방법.
  2. 제1항에 있어서,
    상기 인터랙션 파라미터를 식별하는 단계는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 이상이면, 상기 적어도 하나의 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별하는 로봇의 제어 방법.
  3. 제1항에 있어서,
    상기 인터랙션 파라미터를 식별하는 단계는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 미만이면, 상기 이력정보 중 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별하는 로봇의 제어 방법.
  4. 제1항에 있어서,
    상기 인터랙션 파라미터를 식별하는 단계는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 이상이면, 상기 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별하는 단계를 포함하는 로봇의 제어 방법.
  5. 제1항에 있어서,
    상기 인터랙션 파라미터를 식별하는 단계는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 미만이면, 상기 이력정보 중 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별하는 로봇의 제어 방법.
  6. 제1항에 있어서,
    상기 제어 방법은,
    상기 이력정보에 포함된 복수의 이력 중 중복되는 이력을 제거하거나, 유사한 이력을 병합하여 이력 정보를 업데이트하는 단계;를 더 포함하는 로봇의 제어 방법.
  7. 제1항에 있어서,
    상기 사용자 컨텍스트를 식별하는 단계는,
    상기 사용자의 식별 정보, 상기 사용자의 위치 정보, 상기 사용자의 포즈 정보, 날씨 정보, 주가 정보 중 적어도 하나를 포함하는 정보에 기초하여 상기 사용자 컨텍스트를 식별하는 로봇의 제어 방법.
  8. 제1항에 있어서,
    상기 사용자의 반응에 대한 정보를 획득하는 단계는,
    상기 사용자의 반응에 대한 정보를 획득하기 위한 사용자 정보가 설정되면, 상기 설정된 사용자 정보에 기초하여 사용자의 반응을 획득하고,
    상기 획득된 사용자의 반응을 상기 사용자의 반응 스코어로 변환하는 로봇의 제어 방법.
  9. 로봇에 있어서,
    적어도 하나의 센서,
    구동부,
    적어도 하나의 명령어를 저장하는 메모리, 및
    상기 메모리와 연결되어 상기 로봇을 제어하는 프로세서를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
    상기 적어도 하나의 센서를 통해 이벤트 발생을 감지하고,
    상기 이벤트에 대응되는 인터랙션을 식별하고,
    사용자 컨텍스트를 식별하고,
    상기 메모리에 저장된 이력 정보, 상기 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하고,
    상기 식별된 인터랙션 파라미터에 기초하여, 상기 인터랙션을 수행하도록 상기 구동부를 제어하고,
    상기 수행된 인터랙션에 따른 상기 사용자의 반응에 대한 정보를 획득하고,
    상기 식별된 인터랙션 파라미터 및 상기 반응에 대한 정보에 기초하여 상기 이력정보를 업데이트하는 로봇.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 이상이면, 상기 적어도 하나의 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별하는 로봇.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력의 수가 제1 임계값 미만이면, 상기 이력정보 중 적어도 하나의 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별하는 로봇.
  12. 제9항에 있어서,
    상기 프로세서는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 이상이면, 상기 제1 이력에 포함된 적어도 하나의 인터랙션 파라미터 및 상기 사용자의 반응 스코어를 회귀 분석(Regression) 하여 상기 인터랙션 파라미터를 식별하는 로봇.
  13. 제9항에 있어서,
    상기 프로세서는,
    상기 이력정보 중 상기 인터랙션 및 상기 사용자 컨텍스트에 대응되는 적어도 하나의 제1 이력에 포함된 상기 사용자의 반응에 대한 스코어가 제2 임계값 미만이면, 상기 이력정보 중 제2 이력에 포함된 적어도 하나의 인터랙션 파라미터를 이용하여 상기 인터랙션 파라미터를 식별하는 로봇.
  14. 제9항에 있어서,
    상기 프로세서는,
    상기 이력정보에 포함된 복수의 이력 중 중복되는 이력을 제거하거나, 유사한 이력을 병합하여 이력 정보를 업데이트하는 로봇.
  15. 제9항에 있어서,
    상기 프로세서는,
    상기 사용자의 식별 정보, 상기 사용자의 위치 정보, 상기 사용자의 포즈 정보, 날씨 정보, 주가 정보 중 적어도 하나를 포함하는 정보에 기초하여 상기 사용자 컨텍스트를 식별하는 로봇.
  16. 제9항에 있어서,
    상기 프로세서는,
    상기 사용자의 반응에 대한 정보를 획득하기 위한 사용자 정보가 설정되면, 상기 설정된 사용자 정보에 기초하여 사용자의 반응을 획득하고,
    상기 획득된 사용자의 반응을 상기 사용자의 반응 스코어로 변환하는 로봇.
  17. 로봇의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서,
    상기 로봇의 제어 방법은,
    이벤트 발생을 감지하는 단계;
    상기 이벤트에 대응되는 인터랙션을 식별하는 단계;
    사용자 컨텍스트를 식별하는 단계;
    상기 로봇에 저장된 이력 정보, 상기 인터랙션 및 상기 사용자 컨텍스트에 기초하여, 인터랙션 파라미터를 식별하는 단계;
    상기 식별된 인터랙션 파라미터에 기초하여, 상기 인터랙션을 수행하는 단계;
    상기 수행된 인터랙션에 따른 상기 사용자의 반응에 대한 정보를 획득하는 단계;
    상기 식별된 인터랙션 파라미터 및 상기 반응에 대한 정보에 기초하여 상기 이력정보를 업데이트하는 단계;를 포함하는 컴퓨터 판독 가능 기록매체.
KR1020210140975A 2021-10-21 2021-10-21 로봇 및 이의 제어 방법 KR20230057034A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210140975A KR20230057034A (ko) 2021-10-21 2021-10-21 로봇 및 이의 제어 방법
PCT/KR2022/013080 WO2023068536A1 (ko) 2021-10-21 2022-09-01 로봇 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210140975A KR20230057034A (ko) 2021-10-21 2021-10-21 로봇 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20230057034A true KR20230057034A (ko) 2023-04-28

Family

ID=86059327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140975A KR20230057034A (ko) 2021-10-21 2021-10-21 로봇 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20230057034A (ko)
WO (1) WO2023068536A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5429462B2 (ja) * 2009-06-19 2014-02-26 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット
KR101295003B1 (ko) * 2011-10-12 2013-08-16 한국과학기술연구원 지능 로봇, 지능 로봇과 사용자의 상호작용을 위한 시스템 및 지능 로봇과 사용자의 상호작용을 위한 방법
KR102140292B1 (ko) * 2017-12-27 2020-07-31 (주) 퓨처로봇 로봇 서비스 학습 시스템 및 그 방법
KR102314538B1 (ko) * 2018-08-01 2021-10-18 엘지전자 주식회사 인공지능 이동 로봇
KR20210096811A (ko) * 2020-01-29 2021-08-06 삼성전자주식회사 로봇 및 이의 제어 방법

Also Published As

Publication number Publication date
WO2023068536A1 (ko) 2023-04-27

Similar Documents

Publication Publication Date Title
EP3341934B1 (en) Electronic device
US10339913B2 (en) Context-based cancellation and amplification of acoustical signals in acoustical environments
CN108023934B (zh) 电子装置及其控制方法
CN113330392B (zh) 用于确定包括多个动作的任务的电子装置和方法
KR102582863B1 (ko) 사용자 의도 기반 제스처 인식 방법 및 장치
US11150743B2 (en) Electronic device and method for intelligent interaction thereof
US20190271940A1 (en) Electronic device, external device capable of being combined with the electronic device, and a display method thereof
CN110622108B (zh) 提供触觉反馈的方法以及执行该方法的电子装置
US20170157766A1 (en) Machine object determination based on human interaction
KR102591686B1 (ko) 증강 현실 이모지를 생성하기 위한 전자 장치 및 그에 관한 방법
US20180329612A1 (en) Interfacing with a computing device
KR102592907B1 (ko) 텍스트 입력 디바이스 및 그 방법
US20210200189A1 (en) Method for determining movement of electronic device and electronic device using same
US11128713B2 (en) Method of controlling external electronic device and electronic device for supporting same
US11710498B2 (en) Electronic device and control method therefor
KR20230057034A (ko) 로봇 및 이의 제어 방법
US20220288788A1 (en) Robot and method for controlling same
US11363189B2 (en) Apparatus and method for recognizing voice and face on basis of change in camera driving method
US20210232150A1 (en) Control device, control method, and program
CN109358755B (zh) 用于移动终端的手势检测方法、装置和移动终端
Ganihar et al. Android based wireless gesture controlled robot
KR20200095691A (ko) 밀리미터 웨이브를 이용한 객체 인식 방법 및 이를 지원하는 전자 장치
KR102668301B1 (ko) 전자 장치의 움직임을 결정하는 방법 및 이를 사용하는 전자 장치
KR102539947B1 (ko) 사용자를 인식하는 전자 장치 및 그 전자 장치를 제어하는 방법
KR20230036892A (ko) 전자 장치 및 이의 제어 방법