KR20140000189A - 자연스러운 대화 인터페이스가 장착된 인간형 로봇, 이러한 로봇의 제어 방법 및 대응 프로그램 - Google Patents

자연스러운 대화 인터페이스가 장착된 인간형 로봇, 이러한 로봇의 제어 방법 및 대응 프로그램 Download PDF

Info

Publication number
KR20140000189A
KR20140000189A KR1020137002968A KR20137002968A KR20140000189A KR 20140000189 A KR20140000189 A KR 20140000189A KR 1020137002968 A KR1020137002968 A KR 1020137002968A KR 20137002968 A KR20137002968 A KR 20137002968A KR 20140000189 A KR20140000189 A KR 20140000189A
Authority
KR
South Korea
Prior art keywords
channel
robot
message
channels
talker
Prior art date
Application number
KR1020137002968A
Other languages
English (en)
Other versions
KR101880775B1 (ko
Inventor
브루노 매소니에
제롬 몽소
Original Assignee
알데바란 로보틱스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알데바란 로보틱스 filed Critical 알데바란 로보틱스
Publication of KR20140000189A publication Critical patent/KR20140000189A/ko
Application granted granted Critical
Publication of KR101880775B1 publication Critical patent/KR101880775B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • 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
    • 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/003Controls for manipulators by means of an audio-responsive input
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 대화자와의 자연스러운 대화를 위한 인터페이스가 구비된 인간형 로봇에 관한 것이다. 선행 기술에서, 전개된 이동 기능이 구비된 인간형 로봇과 인간 사이의 대화의 양상은 특히 로봇에 탑재될 수 있는 음성 및 시각 인식 프로세싱에 대한 능력에 의해 제한된다. 본 발명은 이러한 로봇에 메시지 통신의 몇 가지 양상에 대한 의심을 해결하고 이러한 여러 양상을 결합하기 위한 능력을 구비시켜며, 이는 로봇 대화자와의 대화의 품질 및 자연적 특성을 크게 개선할 수 있다. 본 발명은 또한 이러한 멀티모달 대화의 유동성을 보장할 수 있는 기능의 프로그래밍을 달성하기 위한 간단하고 사용자-친화적인 수단을 제공할 수 있다.

Description

자연스러운 대화 인터페이스가 장착된 인간형 로봇, 이러한 로봇의 제어 방법 및 대응 프로그램{HUMANOID ROBOT EQUIPPED WITH A NATURAL DIALOGUE INTERFACE, METHOD FOR CONTROLLING THE ROBOT AND CORRESPONDING PROGRAM}
본 발명은 인간형 로봇의 분야에 관한 것이다. 더욱 상세하게는, 본 발명은 이러한 유형의 로봇과 대화하기 위한 인터페이스를 프로그래밍하고 사용하여 상기 로봇에 의한 사용자의 명령에 대한 반응을 구현하고, 상기 로봇에 의한 적절한 답변을 제공하고, 더욱 일반적으로는, 상기 로봇과 대화자 또는 대화자들 사이의 "인간적인 관계"를 성취하고자 하는 방법에 관한 것이다.
로봇은 머리, 몸통, 두 팔, 선택적으로 두 손, 두 다리, 두 발 등과 같은 인간의 외형 및 기능부의 일정한 속성을 갖는 한 인간형으로 묘사될 수 있다. 외형 이외에, 인간형 로봇이 달성할 수 있는 기능은 움직임을 수행하고, 말하고, "사고(reason)"할 수 있는 능력에 의존할 것이다. 인간형 로봇은 사지(limb) 또는 머리를 사용하여, 몸짓(gesture)을 표현하고, 걸을 수 있다. 이러한 로봇이 수행할 수 있는 몸짓의 복잡성은 계속하여 증가하고 있다.
일부 로봇은 환경으로부터의 자극에 반응하여, 말할 수 있다. 음성 인식 및 합성 도구(tool)의 개발은 상호작용에 대한 가능성을 상당히 증가시키는, 일부 로봇과 인간 사이의 대화를 위한 기능을 개선시키는 것을 또한 가능하게 하였다. 음성을 사용하는 이러한 인간-로봇 인터페이스는 특히 미국 특허 US 7,711,569뿐만 아니라 US2009/287678로 공개된 특허 출원에 기재되어 있다.
이러한 선행기술 문헌에서, 음성 인식에서 본질적인 불완전성은 의미적 및/또는 문맥적 지원(semantic and/or contextual aids)에 대한 의지에 의해 경감되는데, 이러한 의미적 및/또는 문맥적 지원은 낮은 인식 신뢰 구간, 거짓 긍정, 거짓 부정과 같은 인식 의심을 해결하기 위하여 데이터베이스에 대한 접근, 상당한 연산 자원의 학습 및 사용을 요구한다. 이러한 수단의 사용은 모션과 같은 중요 프로세스를 관리하기 위한 연산 자원에 있어서 경제적이어야만 하는 다기능 인간형 로봇의 경우에는 적절하지 않다.
상기 로봇에 장착된 연산 자원을 사용하여 단순하고 효과적인 방법으로, 불완전하게 유지될 센서 및 소프트웨어에 의해 수행되는 인식(recognition)에 대한 의심을 해결할 수 있는 인간형 로봇을 가질 수 있다는 것이 유리할 것이다.
본 발명은 답변 확인의 자연 모드를 사용하는 인간형 로봇과 대화하기 위한 인터페이스를 제공함으로써 이러한 문제점을 해결한다.
이러한 목적을 위하여, 본 발명은 서로 다른 양상(modalities)에 따라 적어도 하나의 대화자와 메시지의 자연 통신(natural communication)을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨, 및 상기 채널들의 입력/출력을 위한 제어 모듈을 포함하는 인간형 로봇을 개시하며, 여기서 상기 제어 모듈은, 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성된다.
유리하게는, 상기 통신 채널들은 청각, 시각, 촉각 메시지, 로봇의 적어도 한 부분의 이동 및/또는 위치에 관한 메시지, 및 디지털 메시지를 송신 및/또는 수신하기 위한 통신 채널들의 그룹으로부터 선택된다.
유리하게는, 제1 통신 채널은 소리 송신 채널이며 제2 통신 채널은 상기 적어도 하나의 대화자에 의해 로봇의 적어도 한 부분으로부터의 이동 및/또는 위치를 수신하기 위한 채널이며, 상기 이동 및/또는 위치는 대화자에 의해 로봇으로 통신되는 입력을 나타내며, 상기 입력의 명세(specification)는 제1 채널 상에서 송신된 메시지에 의해 대화자에 대하여 로봇에 의해 정의된다.
유리하게는, 본 발명의 로봇은 더욱이 제3 촉각 통신 채널을 포함하는데 이를 통하여 대화자는 제2 채널에서 실행되는 입력을 승인한다.
유리하게는, 제1 통신 채널은 소리 메시지를 수신하기 위한 채널이며 제2 통신 채널은 소리 메시지를 송신하기 위한 채널이며 여기서 상기 제어 모듈은 상기 제1 채널 상에서 수신된 제1 메시지의 상기 로봇에 의한 이해의 신뢰 수준을 평가할 수 있고 상기 제2 채널 상에서 자신의 콘텐츠가 상기 신뢰 수준에 의존하는 적어도 하나의 제2 메시지를 발생시킬 수 있다.
유리하게는, 제1 채널은 각각이 예상된 인식률과 관련되는 표현들의 목록에 의해 수신된 메시지의 음성 인식을 위한 필터를 포함하며, 여기서 상기 제2 메시지의 콘텐츠는 제1 채널 상에서 상기 제1 메시지의 반복을 위한 요청, 상기 필터의 표현들의 서브세트의 제1 채널 상에서 대화자에 의해 송신될 제3 메시지에 의한 확인을 위한 요청, 및 적어도 제3 채널 상에서 적어도 또 다른 메시지를 대화자에 의해 송신하기 위한 요청을 포함하는 요청들의 그룹으로부터 선택되는 휴리스틱(heuristic)에 의해 선택된다.
유리하게는, 본 발명의 로봇은 제1 채널 상에서의 청취의 시작 신호를 제2 채널 상에서 송신하여 제1 및 제2 채널 상에서 메시지의 반-이중 모드(half-duplex mode)에서의 시퀀싱을 보장하도록 구성된다.
유리하게는, 상기 선택 휴리스틱(heuristic)은 예상된 인식률에 기초하여 결정된 임계치(threshold)에 대한 실질 인식률의 위치의 함수이다.
유리하게는, 상기 제3 채널은 촉각 인지를 위하거나 또는 로봇의 한 부분으로부터의 이동을 수신하기 위한 채널이다.
유리하게는, 본 발명의 로봇은 전자 메일 시스템과 인터페이스 하기 위한 모듈을 더욱 포함하며, 상기 인터페이스 모듈은, 상기 전자 메일 시스템에 대한 계정 소유자가, 제2 채널 상에서 전자 메시지를 수신/판독하기 위하여, 제1 채널 상에서 기록/송신하기 위하여, 그리고 상기 제1 및 제2 채널을 사용하여 대화에 의해 상기 계정을 관리하기 위하여, 상기 로봇을 매개체(agent)로서 사용하는 것을 가능하게 한다.
유리하게는, 상기 제3 채널은 제1 채널의 필터의 표현들의 목록에 대응하는 개체의 이미지의 시각적 인지를 위한 채널이며, 상기 이미지는, 상기 통신 채널들의 입력/출력을 위한 상기 제어 모듈에 의해 접근가능하며 상기 표현과 함께 사전에 기록된 상기 개체의 이미지의 데이터베이스와 비교된다.
유리하게는, 제1 통신 채널은 시각 메시지를 수신하기 위한 채널이며 제2 통신 채널은 소리 메시지를 송신하기 위한 채널이며 여기서 상기 제어 모듈은 상기 제1 채널 상에서 수신된 제1 메시지의 상기 로봇에 의한 이해의 신뢰 수준을 평가할 수 있고 상기 제2 채널 상에서 자신의 콘텐츠가 상기 신뢰 수준에 의존하는 적어도 하나의 제2 메시지를 발생시킬 수 있다.
유리하게는, 제1 채널은 각각이 예상된 인식률과 관련되는 표현들의 목록에 의해 수신된 메시지의 이미지를 인식하기 위한 필터를 포함하며, 여기서 상기 제2 메시지의 콘텐츠는 제1 채널 상에서 상기 제1 메시지의 반복을 위한 요청, 상기 필터의 표현들의 서브세트의 소리 메시지를 수신하기 위하여 제3 채널 상에서 대화자에 의해 송신될 제3 메시지에 의한 확인을 위한 요청, 및 적어도 제4 채널 상에서 적어도 또 다른 메시지의 대화자에 의한 송신을 위한 요청을 포함하는 요청들의 그룹으로부터 선택되는 휴리스틱(heuristic)에 의해 선택된다.
유리하게는, 채널들 중 적어도 하나는 입력 및 출력에 대한 상기 제어 모듈에 의해 병합되는, 2개 채널의 출력을 입력으로서 수신하는 하이브리드 채널(hybrid channel)이다.
본 발명은 또한, 서로 다른 양상을 사용하는 통신 채널에 의한 메시지 전송의 적어도 두 단계, 여기서 상기 두 단계 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨, 및 상기 채널들의 입력/출력을 제어하는 단계를 포함하는, 인간형 로봇과 적어도 하나의 대화자의 통신을 제어하는 방법을 개시하며, 여기서 상기 제어 단계는, 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성된다.
본 발명은 또한 프로그램이 컴퓨터에서 실행될 때 본 발명의 방법의 실행을 가능하게 하는 프로그램 코드 명령을 포함하는 컴퓨터 프로그램을 개시하며, 상기 프로그램은 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨, 및 상기 채널들의 입력/출력의 제어를 위한 서브루틴(subroutine)을 포함하는 인간형 로봇을 허용하도록 구성되며, 여기서 상기 제어 서브루틴은 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성된다.
본 발명은 또한 적어도 하나의 인간형 로봇과 적어도 하나의 대화자 사이의 통신 인터페이스를 편집 및 제어하는 방법을 개시하며, 상기 적어도 하나의 인간형 로봇은 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨, 및 상기 채널들의 입력/출력을 위한 제어 모듈을 포함하며, 여기서 상기 제어 모듈은, 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성되며, 상기 방법은 상기 선택된 기능을 프로그래밍하는 단계를 더욱 포함한다.
유리하게는, 상기 선택된 기능을 프로그래밍하는 상기 단계는 제1 통신 채널을 소리 송신 채널로서 그리고 제2 통신 채널을 상기 적어도 하나의 대화자에 의해 로봇의 적어도 하나의 사지의 이동을 수신하기 위한 채널로서 정의하는 적어도 하나의 하위-단계, 대화자에 의해 로봇으로 통신되는 입력과 상기 이동 사이의 통신을 정의하는 하위-단계, 및 로봇에 의해 제1 채널 상에서 대화자에게 송신될 적어도 하나의 메시지를 발생시킴으로써 상기 입력의 명세를 정의하는 하위-단계를 포함한다.
유리하게는, 본 발명의 편집 및 제어 방법은 제3 촉각 통신 채널을 정의하는 하위-단계를 더욱 포함하며, 여기서 대화자는 상기 제3 촉각 통신 채널에 의해 제2 채널 상에서 수행되는 입력을 승인한다.
유리하게는, 상기 선택된 기능을 프로그래밍하는 상기 단계는 제1 통신 채널을 소리 메시지를 수신하기 위한 채널로서 그리고 제2 통신 채널을 소리 메시지를 송신하기 위한 채널로서 정의하는 적어도 하나의 하위-단계, 상기 제1 채널 상에서 수신된 제1 메시지의 상기 로봇에 의한 이해의 신뢰 수준을 평가하기 위한 기능을 정의하는 하위-단계, 및 자신의 콘텐츠가 상기 신뢰 수준에 의존하는 상기 제2 채널 상의 적어도 하나의 제2 메시지의 발생을 정의하는 하위-단계를 포함한다.
본 발명은 또한 프로그램이 컴퓨터에서 실행될 때 본 발명의 방법의 실행을 위한 프로그램 코드 명령을 포함하는 컴퓨터 프로그램을 개시하며, 상기 프로그램은, 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨, 및 상기 채널들의 입력/출력의 제어를 위한 서브루틴(subroutine)을 포함하는 인간형 로봇을 사용자가 프로그래밍하도록 구성되며, 상기 컴퓨터 프로그램은, 로봇에 의해 실행되며 그리고 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 제어를 위한 서브루틴에서의 프로그래밍을 위한 모듈을 포함하는 것을 특징으로 한다.
유리하게는, 본 발명의 컴퓨터 프로그램은 적어도 하나의 매개변수의 제어 박스로의 전달을 프로그래밍하기 위한 모듈을 더욱 포함한다.
본 발명의 인터페이스는 예컨대 음성 인식이 어떠한 유효성도 가질 수 없을 정도로 주변 잡음이 큰 경우, 대화가 실행되는 환경에 쉽게 적용될 수 있는 멀티모달 확인 모드(multimodal confirmation mode)를 제공하는 장점을 더욱 제공한다. 따라서 사용자는 접촉, 몸짓 또는 특정 색깔 또는 형상의 디지털 심벌의 디스플레이를 통하여 모호한 답변을 대체/확인하도록 요청될 수 있다. 따라서 사용자는 사용자가 컴퓨터에 대면하거나 또는 사용자가 지능형 전화기 또는 터치패드를 사용할 때, 사용하기에 익숙한 종래 인터페이스를 직관적인 방식으로 대체하거나 또는 경쟁시키는 것을 허용하는 자신의 처분에 따른 수단을 가진다.
더욱이, 로봇의 표현 모드는, 특히 억양, 시선, 몸짓을 결합시켜 대화자의 주의력을 유지시키고 제공될 답변에 관한 감정 또는 단서를 대화자에게 전달함으로써, 멀티모달(multimodal)이 될 수 있다. 더욱이, 인간들 사이의 자연적 통신 모드에 접근함으로써, 본 발명의 인터페이스는 인식 시스템의 결과를 개선하고 "실제 같은 가상(real virtuality)", 즉 물리적 화신 아바타(incarnate avatar)와의 대화에 몰두 된 사용자의 경험의 질(quality)을 향상시키는 것에 기여한다.
본 발명은 또한 이러한 인터페이스를 개발하기 위한 인간환경공학적(ergonomic) 및 다재다능한 환경을 제공하며, 이는 특히 설계자에 의해 의도되지 않았던 로봇의 사용에 적용되는 새로운 대화형 시나리오를 매우 쉽게 그리고 매우 짧은 시간에 생성하는 것을 가능하게 한다.
상세한 설명 및 후속하는 몇몇 바람직한 실시예 및 첨부된 도면으로부터 본 발명이 더욱 이해될 것이며 여러 특징 및 장점이 도출될 것이다.
도 1은 본 발명의 일부 구체 예의 인간형 로봇의 물리적 구조의 도면이다.
도 2는 일부 구체 예에서 본 발명의 실시를 위하여 유용한 센서를 포함하는 인간형 로봇의 머리를 도시한다.
도 3은 본 발명의 일부 구체 예에서 로봇의 기능 제어를 가능하게 하는 상위-수준 소프트웨어의 아키텍처의 도면이다.
도 4는 본 발명의 일부 구체 예에서 로봇의 거동/상호작용을 편집 및 프로그래밍하기 위한 기능 아키텍처의 도면이다.
도 5는 본 발명의 일부 구체 예에서 인간형 로봇이 수신한 응답/자극의 인간형 로봇에 의한 해석을 개선하기 위하여 일반적인 방식으로 적용되는 프로세싱 작업의 기능 흐름도이다.
도 6은 본 발명의 일부 구체 예에서 로봇의 거동/상호작용에 대한 프로그래밍 로직 차트이다.
도 7a, 7b 및 7c는 본 발명의 일부 구체 예에서 멀티모달 인터페이스의 상호작용의 로직 결합 및 일시적 결합을 도시하는 타임차트를 나타낸다.
도 8a, 8b, 8c, 8d 및 8e는 본 발명의 한 구체 예에서 상호작용 언어를 교체하기 위한 이진 선택(binary choice) 및 옵션이 구비된, 인간형 로봇과의 대화를 프로그래밍하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 9a, 9b, 9c, 9d 및 9e는 본 발명의 한 구체 예에서 상호작용 언어를 교체하기 위한 목록 및 옵션으로부터의 선택이 구비된, 인간형 로봇과의 대화를 프로그래밍하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 10a, 10b, 10c 및 10d는 본 발명의 한 구체 예에서 선택 목록의 몇몇 옵션들 사이에서 음성 인식 시험 비교를 수행하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 11a 및 11b는 본 발명의 한 구체 예에서 선택 목록의 옵션들을 대체 또는 보충하고 몇몇 옵션들 사이에서 새로운 음성 인식 시험 비교를 수행하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 12a, 12b, 12c 및 12d는 본 발명의 한 구체 예에서 질문 언어와 다른 언어로 선택 목록의 몇몇 옵션들 사이에서 음성 인식 시험 비교를 수행하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 13a, 13b, 13c 및 13d는 본 발명의 한 구체 예에서 선택 목록의 몇몇 옵션들 사이에서 음성 인식 시험 비교의 임계치를 확인/변형시키는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 1은 본 발명의 한 구체 예에서 인간형 로봇의 물리적 구조를 나타낸다. 이러한 로봇은 특히 2009.10.15. 공개된 특허 출원 WO2009/124951에 개시되어 있다. 이러한 양상은 본 발명을 유도한 특징에 대한 기초로서 작용한다. 후속하는 설명에서, 이러한 인간형 로봇은 이러한 일반 용어로서 또는 변형된 참조의 보편성 없이 그 상표명인 NAOTM으로 불릴 수 있다.
본 로봇은 관절을 구동시키는 센서 및 작동기(actuator)를 제어하기 위한 일정 유형의 약 24개 전자 카드(110)를 포함한다. 도면에 제시된 카드(110)는 왼쪽 발을 제어하는 카드이다. 이러한 구조의 효과 중 하나는 관절을 제어하는 카드들이 대부분의 부분에 대하여 상호 교환적이라는 점이다. 관절은 통상 적어도 2의 자유도(degree of freedom)를 가지며 따라서 2개의 모터를 가진다. 각각의 모터는 각도의 관점에서 구동된다. 관절은 또한 수 개의 위치 센서, 특히 자기 회전식 인코더(Magnetic Rotary Encoder, MRE)를 포함한다. 전자 제어 카드는 기성제품 마이크로제어기를 포함한다. 상기 마이크로제어기는 예컨대 마이크로칩(Microchip)사가 시판 중인 DSPICTM일 수 있다. 이는 DSP에 연결된 16-비트(bit) MCU이다. 이러한 MCU는 1 ms의 루프 종속 사이클(looped slaving cycle)을 가진다. 로봇은 또한 또 다른 유형의 작동기, 특히 그 색깔 및 세기가 로봇의 감정을 전달할 수 있는 발광 다이오드(Light-emitting diode, LED)를 포함할 수 있다. 후자는 또한 또 다른 유형의 위치 센서, 특히 관성 유닛(inertial unit), 지상 압력 센서(Ground pressure sensor, FSR), 등을 포함할 수 있다.
머리(160)는 로봇의 지능, 특히, 게임과 관련된 본 발명의 체제 내에서, 로봇에 부여된 임무를 로봇이 달성하도록 하는 상위-수준 기능을 실행하는 카드(130)를 포함한다. 그렇지만 카드(130)는 예컨대 몸통과 같은, 로봇의 다른 부위에 위치될 수 있다. 그렇지만, 머리가 제거 가능한 경우, 본 위치는 이러한 상위-수준 기능을 대체하고 이에 따라 특히 로봇의 지능을 완전하게 변화시켜 그 결과 그 임무를 매우 빠르게 변화시킬 수 있음이 제시될 것이다. 또는 동일한 인공 지능을 유지하면서 하나의 신체를 다른 신체와 역으로 교체한다(예컨대 결함 신체를 비-결함 신체로 교체한다). 머리는 또한 전문 카드, 특히 예컨대 광역 네트워크(Wide Area Network, WAN) 상에서의 원격 통신을 달성하기 위하여 포트를 개방하기 위해 필수적인 인코딩(encoding )과 같은, 서비스 입력/출력을 처리하기 위하거나 또는 음성 또는 영상을 처리하기 위한 전문 카드를 포함할 수 있다. 카드(130)의 프로세서는 기성제품 x86 프로세서일 수 있다. AMD사에서 시판중인 GeodeTM(32 bits, 500 MHz)와 같은 저-소비 프로세서가 바람직한 방식에서 선택될 수 있다. 카드는 또한 한 세트의 RAM 및 플래시 메모리들을 포함할 수 있다. 본 카드는 또한 통상 WiFi, WiMax 전송 계층 상에서, 선택사항으로 선택적으로 VPN 내에 밀봉된(encapsulated) 표준 프로토콜에 의해 데이터의 모바일 통신을 위한 공용 네트워크 상에서, 로봇과 외부 개체(거동 서버, 또 다른 로봇 등)와의 통신을 관리할 수 있다. 프로세서는 통상 표준 OS에 의해 구동되며 이에 따라 통상적인 상위-수준 언어(C, C++, Python, 등) 또는 상위-수준 기능을 프로그래밍하기 위한 URBI(로봇 공학을 위한 전문 프로그래밍 언어)와 같은 인공 지능을 위한 특수 언어를 사용할 수 있다.
카드(120)는 로봇의 몸통 안에 내장된다. 여기는 카드(130)에 의해 연산된 명령의 카드(110)로의 전송을 보장하는 연산장치가 위치하는 곳이다. 본 카드는 로봇의 다른 곳에 내장될 수도 있다. 그러나 몸통 내 위치가 유리한데 왜냐하면 머리 근처 및 4개의 사지의 교차로에 위치하며, 이에 따라 본 카드(130)를 카드(120) 및 카드(110)에 연결시키는 연결 배열을 최소화할 수 있기 때문이다. 상기 카드(120)의 연산장치는 또한 기성제품 프로세서일 수 있다. 이는 유리하게는 100 MHz에서 클록(clock)되는 ARMTM 유형의 32-bit 프로세서일 수 있다. 이러한 유형의 프로세서는, 중앙 위치에서, 온-오프 버튼에 근접하며, 전력 공급원의 제어부와 상기 프로세서의 연결은 이러한 장치를 로봇의 전력 공급원을 관리하기에 적합하도록 만든다(대기 모드, 비상 종료, 등). 카드는 또한 한 세트의 RAM 및 플래시 메모리들을 포함한다.
이러한 수준의 본 아키텍처는, 로봇이 통합적 움직임(coordinated movement) 및 예컨대 센서 판독과 같은 또 다른 활동을 실행할 수 있어야만 하고 동시에 주변으로 방출된 음성 또는 싸인을 해석하고 이에 대하여 반응 또는 응답하여야 하는, 본 발명의 실현을 위하여 특히 유리하다.
도 2a 및 2b는 본 발명의 일부 구체 예에서 본 발명의 실시를 위하여 유용한 센서를 포함하는 인간형 로봇의 머리의 정명도 및 측면도를 각각 나타낸다.
도 1의 머리(160)는 로봇이 본 발명의 실행을 위하여 유용한 센서 능력 및 표현 능력을 구비하도록 머리(200a, 200b)로서 개선된다.
NAO에는 4개의 전방향성 마이크로폰(211a, 212a, 213a, 214a)이 구비되는데, 예를 들면 Kingstate Electronics Corp사에 의해 공급되는 KEEG1540PBL-A를 참조할 수 있으며, 마이크로폰(211a)은 정면에 위치하고, 마이크로폰(214a)은 후면에 위치하며 마이크로폰(212a 및 213a)은 머리의 각 측면에 위치하며(도 2b 참조), 여기서 외부에 대한 접속을 위한 구멍(hole)만이 도면에 제시되는데 왜냐하면 이들 마이크로폰들은 머리 내부에 배치되기 때문이다. 마이크로폰에 의해 수행되는 소리 포착(sound capture)에 기초하여, 음성 분석 및 인식 시스템, 예컨대 AcapelaTM사가 시판중인 시스템 BabEARTM는 본 설명에서 더욱 제시되듯이 적절한 인터페이스를 갖는 사용자가 자신의 용어를 더욱 풍부하게 할 수 있는 사전 정의된 단어들의 언어자료를 인식한다. 이러한 단어들은 자신의 선택의 거동, 특히 로봇에 의해 해석되는 질문에 대한 답변을 시작하는 것을 가능하게 한다. 소프트웨어 환경은 수 개의 언어를 지원하며, 이는 본 설명에서 더욱 제시된다. NAO는 또한 소리의 기원을 탐지할 수 있으며, 이에 의해 복수의 대화자 사이의 모호성을 해결할 수 있다.
NAO는 초당 최대 30개 이미지를 포착할 수 있는 2개의 CMOS 640x480 카메라(220a)를 통하여 보는데, 예컨대 0V760(CMOS 1/6th 인치 센서: 3.6 마이크로미터 픽셀)으로 불리는 상표 OmnivisionTM의 카메라이다. 이마의 평면에 위치한 제1 카메라는 수평선을 향하여 지향되며, 반면 입의 평면에 위치한 제2 카메라는 극접 환경(immediate environment)을 조사한다. 소프트웨어가 NAO가 본 것의 사진 및 비디오 스트림을 회수할 수 있다. 그 환경을 인지하고 해석하기 위하여, NAO는 한 세트의 얼굴 및 형상 탐지 및 인지 알고리즘을 탑재하는데, 이들은 NAO가 대화자를 인식하게 하고, 공 및 또한 더욱 복잡한 개체(물건)를 위치시키는 것을 가능하게 한다.
NAO는 그 머리 상단에 위치하는 용량 센서(230a)를 구비하며, 이는 예를 들어 3개의 섹션으로 구분되고 구체적으로 이러한 애플리케이션을 위한 애플리컨트에 의해 개발된다. 3개보다 더 많은 섹션이 특정 애플리케이션을 위하여 제공될 수 있다. 따라서 NAO에게 접촉(touch)에 의해, 예컨대 애플리케이션에 의해 정의된 작동을 개시하는 일련의 버튼을 누름으로써 정보를 제공할 수 있는데, 이는 본 발명의 구조 내에서, 각각의 버튼과 관련된 서로 다른 응답, 제안된 선택 목록을 통한 진행 스크롤, 도움 메뉴에 대한 접근 등일 수 있다. 시스템은 접촉이 있는지 여부를 알려주는 LED를 구비한다.
NAO는 예컨대 본 설명에서 더욱 상세하게 설명되는 모드에 따라 프로그래밍되거나 또는 웹 사이트 또는 RSS 스트립트로부터 회수되어, 자신의 저장 공간에 국지적으로 저장된 모든 텍스트 파일을 큰 소리로 읽어서 자신을 표현할 수 있다. 자신의 머리 각 측면에 위치된 2개의 스피커(210b)가 구비된 음성 합성 시스템, 예컨대 Acapela사가 시판중인 Acapela Mobility가 매개변수화될 수 있으며, 이에 따라 음성의 속도 및 톤(tone)의 변형을 가능하게 한다.
음악 파일을 NAO에 전송하고 이를 플레이 하는 것이 가능하다. NAO는 예컨대 _.wav 및 _.mp3 포맷을 수용하여, 본 발명의 구성 내에서, 음성 응답에 대한 반주로서 또는 음성 응답에 대한 대안으로서 음악 응답 또는 사용자정의 소리를 제공할 수 있다.
도 3은 본 발명의 일부 구체 예에서 로봇의 기능 제어를 가능하게 하는 상위-수준 소프트웨어의 아키텍처의 도면이다.
이러한 유형의 소프트웨어 아키텍처는 특히 2009.10.15. 공개된 특허 출원 WO2009/124955에 개시되어 있다. 이는 로봇과 PC 또는 원격 사이트 사이의 통신을 관리하기 위한 그리고 본 발명의 실행을 위하여 필수적인 소프트웨어 인프라구조를 제공하는 소프트웨어를 교환하기 위한 기초 기능들을 포함한다. 이러한 아키텍처는 특정 애플리케이션에서 사용되는 소프트웨어 기능에 대한 언급을 하지 않으면서 일반적인 방식으로 이하에서 기재되며, 이러한 기능들은 본 발명의 로봇의 거동을 관리하기 위한 또 다른 소프트웨어 기능과 같이 처리된다고 이해된다.
도 3에서 예컨대 이동성 이유로 인하여 무선 링크에 의해 제1 원격 단자 TD1과 통신하는 제1 인간형 로봇 RH1이 매우 개략적으로 도시된다. 표현 원격 단자는, 통신 네트워크에 의하여, 이러한 유형의 인간형 로봇 RH1에 전용되는 웹 서비스 SW에 대한 접속을 제공하는 서버 플랫폼 PFS로부터 원격에 있는 단자를 의미한다.
물론, 시스템의 요소들 사이의 통신 링크는 유선일 수 있으며, 모바일 단자는, 대안으로서, 휴대용 전화기 또는 휴대용 컴퓨터일 수 있다.
제2 인간형 로봇 RH2는 인간형 로봇 RH2의 이동성을 방해하지 않기 위하여 예컨대 또한 무선 링크에 의해 제2 원격 단자 TD2와 통신한다.
원격 단자 TD1 및 TD2 그리고 서버 플랫폼 PFS는 통신 네트워크 RC에 의해 네트워크 내에서 링크된다. 서버 플랫폼 PFS의 웹 서비스뿐만 아니라 원격 단자 TD1 및 TD2, 그리고 또한 인간형 로봇 RH1 및 RH2에 대하여, 적어도 하나의 모듈에 전용되는 각각의 단일 링크업 모듈 B5, B2, B4, B1 및 B3는 프로세서에 의한 실행에 의해 소프트웨어 기능을 실시하는 적어도 하나의 일련의 명령을 포함한다. 링크업 모듈 B5, B2, B4, B1 및 B3의 각각의 모듈 M51, M52, M21, M22, M41, M42, M11, M12, M31, M32는 본 실시예에서 링크업 모듈 당 숫자 2개로 표현되는데, 이러한 숫자는 각각의 링크업 모듈에 대하여 서로 다르고 임의적인 것일 수 있다.
이제 제1 인간형 로봇 RH1을 프로세싱하는 제1 원격 단자 TD1의 사용자에 의해 조작되는 시스템의 전체 비-제한적인 실시예를 제시할 것이다. 예컨대 제1 원격 단자 TD1에 탑재되거나 또는 제1 원격 단자 TD1으로부터 서버 플랫폼 PFS에서 접속 가능한 소프트웨어 애플리케이션에 의해 많은 기능들이 상기 로봇을 통하여 수행될 수 있다. 예를 들어, 로봇이 10초 동안 걷고 그 후 "Hello everyone"이라고 말하는 상기 로봇을 위한 애플리케이션이, 소프트웨어 애플리케이션의 그래픽 툴에 의해 단순하게 실행될 수 있다. 이러한 애플리케이션은 예를 들어 모듈, 예컨대 모듈 M11에서 제1 인간형 로봇 RH1으로 다운로드 되고, 그 후 제1 원격 단자 TD1을 통하여 사용자에 의해 개시된다.
제1 인간형 로봇 RH1은 먼저 "걷기(walk)" 기능을 사용해야만 하는 모듈 M11을 개시한다. 그 후 모듈 M11은, 연결 인터페이스 및 기능 호출 모듈, 또는 모듈 M11이 링크되어 있는 링크업 모듈 B1에 대한 요청을 생성하는 프록시 P1을 사용한다. 네트워크 링크업 모듈이 모듈 내에서 호출한 기능의 위치에 관한 요청에 응답할 때까지, 링크업 모듈 B1은 자신의 모듈에 대한 그리고 반복 방식으로 작동을 반복하며 직접 링크된 네트워크에 링크 업 하기 위한 모듈(차일드 링크업 모듈)에 대한 목적을 요청한다. 프록시 P1에 직접 링크된 링크업 모듈 B1이 연결되고 이러한 기능을 호출할 필요가 있을 때까지, 요청에 대한 응답은 또한 패어런트 링크업 모듈에 의해 반복 방식으로 전송된다(역 방향으로). 예를 들어, 걷기 위해 요청된 기능은 제2 원격 단자 TD2의 모듈 M41에 위치된다. 반환에서, 링크업 모듈 B4는, 예컨대 로봇이 걷게 될 기간을 나타내는 초 단위의 정수 유형의 기간 매개변수, 및 로봇이 걷는 동안 또 다른 작동을 하도록 승인되는지 안 되는지 여부인 로봇의 독점적 또는 비-독점적 걷기를 나타내는 부울린(boolean) 유형의 독점 매개변수를 포함하는, "걷기" 기능의 호출 매개변수를 반환한다. 이러한 실시예에서, 10초 걸어 간 후에 말하는 것이 요구되기 때문에 본 실시예에서 걷기 기능은 10과 동일한 기간 매개변수 및 1과 동일한 독점 매개변수와 함께 호출된다.
따라서 연결 인터페이스 및 호출 모듈 P1은 마치 국지적으로 위치된 것처럼, 원격으로, 요망되는 매개변수를 갖는 "걷기" 기능에 대한 연결 및 호출을 수행할 수 있다. 연결 인터페이스 및 기능 호출 모듈은 서로 다른 단자 또는 서버에 위치한 모듈의 기능을 호출할 수 있는 상호통신 소프트웨어를 사용하며, 상기 기능이 서로 다른 컴퓨터 언어로 일련의 명령에 의해 호출 모듈로부터 기록되는 것이 가능하다. 프록시는 예를 들어 SOAP 상호통신 소프트웨어를 사용한다. 그러므로 이는 상호-플랫폼(inter-platform) 및 상호-언어 통신 아키텍처를 야기한다.
일단 이러한 비로컬화된(delocalized) "걷기" 기능이 수행된 이후, 모듈 M11은 "말하기" 기능을 호출하여야 한다. 또 다른 연결 인터페이스 및 기능 호출 모듈 또는 프록시 P2는 모듈 M11이 링크된 링크업 모듈 B1에 대한 요청을 생성한다. 링크업 모듈 B1은, 예컨대 모듈 M12에서 이러한 "말하기" 기능의 존재를 반환할 것인 일련의 저장된 명령의 형태로 수행되는 기능에 의해, 초기에 자기 자신의 모듈 M11 및 M12에 대한 목적을 요청한다. 링크업 모듈 B1은 연결 인터페이스 및 기능 호출 모듈 P2에 통지하고 이는, 로컬 호출 유형의 호출에 의해, 매개변수로서 예컨대 말하게 될 글자 "hello"와 함께 모듈 M12의 "말하기" 기능을 직접 호출할 수 있으며, 이러한 매개변수는 링크업 모듈 B1에 의해 프록시 P2에 전송된 것이다. 더욱이, 본 시스템은 본 실시예에서 인간형 로봇 RH1의 모바일 단자의 상태를 나타내는 매개변수를 위한 저장 및 관리 모듈 STM(Short Term Memory, 단기 메모리)을 포함하며, 이는 외부 이벤트의 수신 시에 상기 매개변수의 값을 갱신하고, 사전 요청에 대하여, 모듈에게 상기 저장된 매개변수 중 하나의 갱신을 통지하도록 구성된다. 따라서, 전술한 모듈은 통지된 매개변수의 변형의 함수로서 작동을 수행할 수 있을 것이다.
앞서 기재된 실시예와 함께, 예컨대 저장 및 관리 모듈 STM은 로봇 RH1의 움직임 탐지기에 의해 탐지된 모든 것의 외형을 나타내는 매개변수의 상태를 저장할 수 있다. 이러한 매개변수가 모듈 M11에 의해 사전에 수행된 요청에 대하여, 로봇의 극접 환경에 아무도 없음을 나타내는 상태로부터 로봇의 극접 환경에 누군가가 존재하는 것을 나타내는 상태로 변할 때, 저장 및 관리 모듈 STM은 이벤트 또는 신호를 통하여 이러한 값의 변화를 미리 경고한다. 그 후 모듈 M11은 예컨대 앞서 설명한 후속하는 트리거("걷기" 및 "말하기" 기능)를 자동적으로 개시할 수 있다.
도 3의 예에서, 저장 및 관리 모듈 STM은 원격 단자 TD1의 일부를 형성하지만, 다른 변형으로서, 서버 플랫폼 PFS 또는 인간형 로봇 RH1 또는 RH2의 또 다른 원격 단자 TD2의 일부를 형성할 수도 있다.
저장 및 관리 모듈 STM은 또한 각각의 참조 시간 간격에 걸쳐 일부 매개변수의 시간적 변화를 메모리에 저장할 수 있다. 따라서, 본 시스템의 모듈은 일정 기간으로부터 이러한 매개변수의 값의 변화에 접근할 수 있으며, 취해질 작동에 있어서 이러한 변화를 고려한다.
다른 변형으로서, 호출된 기능의 모듈은 인간형 로봇 RH1, RH2 또는 통신 네트워크 RC의 원격 단자 TD1, TD2상의 서버 플랫폼 PGS에 위치될 수 있다.
따라서, 본 발명은 기능에 대한 로컬 또는 원격 호출을 생성하던, 네트워크에 분포된 프로그램 및 모바일 단자와 동일한 작동을 가질 수 있다.
더욱이, 본 아키텍처는 또한 모바일 단자의 상태를 나타내는 한 세트의 저장된 매개변수를 가질 수 있으며, 일부 작동을 자동으로 개시하기 위해 이러한 상태의 변화를 고려할 수 있다.
더욱이, 저장 및 관리 모듈은 또한 사전결정된 시간 기간 동안 매개변수 값의 변화를 기록할 수 있으며, 이에 따라 모듈이 이러한 매개변수의 변화의 로그에 접근하도록 한다.
로봇의 인터페이스를 관리하기 위한 운영 체제를 구성하는 이러한 이러한 통신 및 저장 기능, 즉 NAOQI는 본 발명의 실시에 대하여 특히 유용한다.
도 4는 본 발명의 일부 구체 예에서 로봇의 거동을 편집 및 프로그래밍하기 위한 기능 아키텍처의 도면이다.
이러한 아키텍처는 2010.5.25. 출원된 특허 출원 PCT/EP2010/057111에 기재되어 있다. 상기 아키텍처의 실시를 가능하게 하는 인간형 로봇의 거동을 편집 및 프로그래밍하기 위한 소프트웨어는 코레그라프(Choregraphe)TM로서 시판되고 있으며, 참조의 일반성에 악영향을 미치지 않으면서 통상적인 명칭으로 불리거나 또는 상표명으로 불릴 수 있다.
이러한 아키텍처에 의해 제어되는 로봇은 머리, 몸통, 및 4개의 사지를 갖는 인간형 로봇일 수 있으며, 각각의 부분은 관절로 이루어져 있으며, 각각의 관절은 하나 이상의 모터에 의해 제어된다. 이러한 아키텍처는 시스템의 사용자가, 가상 로봇에 대하여 모의되고 유선 또는 무선 링크에 의해 본 시스템과 링크된 실제 로봇에 대하여 실행되는 거동을 생성함으로써 이러한 로봇을 제어할 수 있게 한다.
이는 시각, 모의, 및 실행 거동(예컨대 걷기-정면 앞으로, 우측 또는 좌측으로 n 걸음; "hello"- 머리 상부에서 팔 중 어느 하나의 움직임; 말하기, 등) 및 작동하도록 프로그래밍 된 컴퓨터의 스크린 상에서의 (머리, 사자 각 부분, 주어진 각도)의 움직임을 구비한다.
도 4는 프로세싱 작업의 흐름도인데 이는 시간적 차원의 이벤트에 의해 개시되는 제어의 각 블록을 나타낸다. 이벤트에 의해 개시되는 제어는 "박스" 또는 "제어 박스"(410)로서 본 발명에서 제시된다. 박스는 나무와 유사한 프로그래밍 구조인데 이는 이하에서 다음과 같이 정의되는 하나 이상의 요소를 포함할 수 있다:
"타임라인" 즉 프레임의 시간 축(420);
"다이어그램" 즉 흐름도(470);
스크립트(490).
제어 박스는 통상 하나의 박스로부터 다른 박스로 이벤트 정보 아이템을 전송하는 연결에 의해 함께 링크되며, 본 설명에서 더욱 상세하게 기재된다. 모든 박스는 로봇의 거동/움직임 양상을 시작하는 "루트 박스" 즉 루트에 직접 또는 간접적으로 링크된다.
프레임의 시간 축(420)은 상기 프레임의 시간 축이 삽입된 박스 내에서 정의된, 로봇의 거동 및 움직임이 종속되는 시간적 제약을 나타낸다. 후속하는 설명 및 청구범위에서, 프로그래밍 분야에서 동일한 의미를 갖는 것으로 통상 용인되는, 용어 타임라인을 사용할 것이다. 따라서 타임라인은 박스의 거동 및 움직임의 동기화(synchronization)를 수행한다. 타임라인은 초 당 프레임(FPS, Frames Per Second)의 수로 정의되는 진행 속도와 관련되는 프레임으로 분할된다. 각각의 타임라인의 FPS는 사용자의 의해 매개변수화 된다. 초기값으로, FPS는 소정의 값, 예컨대 15 FPS로 고정될 수 있다.
타임라인은 다음을 포함할 수 있다:
- 하나 이상의 거동 계층(430), 이들 각각은 하나 이상의 거동 키 프레임 즉 "메인 거동 프레임"(450)을 포함하며, 이는 하나 이상의 다이어그램 즉 "흐름도"(470)를 포함할 수 있으며, 이는 실제로 거동 계층 또는 타임라인을 관통하지 않고 더 높은-계층 박스에 직접적으로 부착될 수 있는 박스의 세트임;
- 하나 이상의 모션 계층(440), 이들 각각은 모션 키 프레임 즉 "메인 모션 프레임"(460)을 포함하며 이는 하나 이상의 모션 스크린(480)을 포함할 수 있음.
거동 계층은 한 세트의 로봇의 거동 또는 메인 거동 프레임을 정의한다. 몇몇 거동 계층이 하나의 동일한 박스 내에서 정의될 수 있다. 이들은 그 후 프로그래밍되어 박스의 타임라인에 의해 동기화된 방식을 진행할 것이다.
거동 계층은 하나 이상의 메인 거동 프레임을 포함할 수 있다. 메인 거동 프레임은 걷기("Walk"), 말하기("Say"), 음악 실행("Music") 등과 같은 로봇의 거동을 정의한다. 특정한 수의 거동이 본 발명의 시스템 내에서 프로그래밍되어 라이브러리로부터 단순한 "드래그 앤 드롭(drag and drop)"으로 사용자에 의해 직접 삽입되며 본 설명에서 더욱 상세하게 기술된다. 각각의 메인 거동 프레임은 트리거 이벤트(trigger event)에 의해 정의되는데 상기 트리거 이벤트는 상기 트리거 이벤트가 타임라인 내에 삽입된 프레임의 시작점이다. 메인 거동 프레임의 종점은 단지 또 다른 메인 거동 프레임이 후속하여 삽입될 때, 또는 종결 이벤트가 정의되는 경우에 정의된다.
모션 계층은 로봇의 관절 모터의 움직임을 함께 그룹핑하는 하나 이상의 연속적인 메인 모션 프레임에 의해 프로그래밍되는 로봇의 한 세트의 모션을 정의한다. 실시될 이러한 움직임은 모션 스크린 상에서의 작동에 의해 프로그래밍될 수 있는 상기 모터의 도달 각도 위치에 의해 정의되며, 상기 작동은 본 설명에서 더욱 상세하게 기술된다. 하나의 동일한 박스의 모든 메인 모션 프레임은 박스의 타임라인에 의해 동기화된다. 메인 모션 프레임은 도착 프레임에 의해 정의된다. 시작 프레임은 이전 메인 모션 프레임의 종점의 프레임이거나 또는 박스의 시작 이벤트의 프레임이다.
메인 거동 프레임 및 메인 모션 프레임은 통상적인 명칭인 메인 작동 프레임으로 불린다.
몇 개의 메인 작동 프레임(거동 또는 모션 프레임)을 이들이 동일한 타임라인에 부착되는 조건에서 병행하여 실행할 수 있다.
흐름도는 함께 연결된 한 세트의 박스이며, 이하에서 더욱 상세하게 기술된다. 각각의 박스는 순서대도 또 다른 타임라인을 포함할 수 있으며 이러한 타임라인에 새로운 거동 또는 모션 계층이 부착된다.
스크립트는 로봇에 의해 직접적으로 실행될 수 있는 프로그램이다. 본 발명의 구성 내에서, 스크립트는 C++ 언어로 작성되는 것이 선호된다. 스크립트를 포함하는 박스는 어떠한 또 다른 요소도 포함하지 않는다.
소프트웨어는 WindowsTM, MacTM, 또는 LinuxTM 운영 체제를 사용하는 개인용 컴퓨터 유형의 플랫폼 또는 PC에 구비될 수 있다.
본 발명의 인간형 로봇은 일반적으로 코레그라프(Choregraphe)TM 소프트웨어를 사용하여 인간과 상호작용할 수 있도록 프로그래밍될 것이다. 이러한 개발 아키텍처에 의해 가능한 한 렌더링되는 시간 및 거동 로직의 조합이 본 발명의 실시에 대하여 특히 유리하다. 이하의 본 설명에서 더욱 설명되듯이, 일부 툴은 특히 본 발명의 구성 내에서 자연스러운 대화를 위한 인터페이스를 갖는 인간형 로봇의 실시를 위하여 특히 개발되었다.
도 5는 본 발명의 일부 구체 예에서 수신되는 응답/자극의 인간형 로봇에 의해 주어지는 해석을 개선하기 위하여 일반적인 방식으로 적용되는 프로세싱 작업의 기능적 흐름도이다.
시간이 지남에 따라, 인간은 기계와 상호작용하기 위한 다양한 수단을 개발하였다. 이러한 수단은 기술의 진화를 따르며, 따라서 이들은 더욱 효과적이 된다. 모든 경우에, 효과적이기 위하여, 상호작용은 그것이 무엇이던지 플랫폼 및 사용자의 요구에 부합하여야 한다.
그래픽 인터페이스 및 윈도우 환경은 또한 그래픽 인터페이스 구성요소(GUI 요소 또는 그래픽 유저 인터페이스 요소)라 불리는 많은 인터페이스 요소를 사용자가 처리하도록 하며, 여기에는 예컨대 텍스트 영역(텍스트 박스(Text Box)), 오케이/취소(OK/Cancel) 버튼, 체크될 박스(체크 박스(Check Boxes)), 라디오 버튼, 또는 조합 박스(콤보 박스(Combo Boxes))등이 있다. 그래픽 인터페이스에 적용되는 이러한 요소들은 종래 스크린 유형의 어떠한 시각적 피드백도 원칙적으로 제공하지 않는 인간형 로봇에서 사용될 수 없다. 여기서, 로봇과의 교환은 적어도 컴퓨터의 그래픽 인터페이스와의 교환만큼 많을 것이다. 박스를 체크하는 방식, 텍스트를 키보드로 입력하는 방식, 아이콘을 더블클릭하는 방식, 또는 애플리케이션의 윈도우를 가로질러 클릭하는 방식과 동일한 방식으로 애플리케이션을 작동시키거나 방치하거나, 단어를 해석하는 옵션을 선택할 수 있는 것이 요구된다. 이러한 기존의 요소들을 단순하게 복제하는 것은 바람직하지 않은데, 왜냐하면 사용자를 위한 인간형이며 자연스러운 인터페이스가 바람직하기 때문이다. 따라서 독립된 인간형 로봇에 적용되는 사용자 인터페이스 요소를 찾는 것이 필수적이다.
이러한 요소들은 인간형 로봇 거동의 창시자에 대하여 쉽게 매개변수화 되어야 하며 사용자의 언어에 대한 용이한 적응이 가능하여야 한다. 기존의 독립형 로봇은 음성 인식과 같은 단순한 인간-로봇 인터페이스를 구비할 수 있으나, 종래 기술에서는, 사용자 및 개발자 모두에게, 현지화되고(regionalized)(다중언어 허용) 실패를 관리하는 어떠한 멀티모달 사용자 인터페이스 요소도 제공되지 않는다.
실제로, 오늘날, 멀티-센서 취득 및 프로세싱 용량, 이동 능력 및 4개 사지의 많은 자유도가 구비되고 합리적인 크기 및 가격의 인간형 로봇에 내장될 수 있는 음성 인식 유형이 로봇을 작동시킬 수 있는 전기 에너지 자원 및 컴퓨터 자원에 의해 필수적으로 제한된다. 이러한 자원은 실제 움직임의 실행에 필수적인 신호 및 제어의 포획의 안전성 및 신뢰도를 보장할 수 있는 프로세싱 작동에 우선적으로 할당된다. 따라서 본 문맥에서, 음성 인식의 불가피한 불완전성에 대한 가능한 최선의 교정을 허용하는 인간-로봇 인터페이스 요소를 제공하고, 사용자로부터 수신한 메시지 및 집중되는 대화 시퀀스의 구성 내에 포함되는 로봇에 의해 반환된 질문에 대한 로봇에 의해 주어지는 해석에 관한 의심을 해결하기 위한 메커니즘에 의해 성공적인 상호작용을 사용자에게 제공하는 것이 필수적이다.
인간은 로봇에게 자연적인 방식으로 말을 할 수 없는데 왜냐하면 인간이 동일 상황에서 가질 수 있는 예컨대 몸짓 및 거동과 같은 인간의 참조사항을 로봇이 회수하지 않기 때문이다. 상호작용은, 특히 인간-인간 상호작용에서의 통상적인 상호작용처럼 로봇이 인간이 있는 방향으로 응시하지 않는 경우, 자연스럽지 않을 것이다. 더욱이, 인간의 소통과 대조적으로, 다기능 인간형 로봇에 탑재된 컴퓨터 자원과 호환되는 유형의 음성 인식은 자체적으로 몇몇 사용자와의 상호작용의 효율적인 관리를 허용하지 않는다. 더욱이, 대부분의 로봇은, 인간에 의해 사전 기록된 어구에 의해 일반적으로 프로그래밍 되거나, 로봇을 위하여 발명된 이야기이건, 또는 인간에 의해 기록되고 로봇이 읽을 이메일인, 자연적인 언어, 음성 합성을 거의 또는 전혀 사용하지 않는다. 그러므로, 인간-로봇 상호작용을 인간-인간 상호작용에 가능한 한 가깝게 만들기 위한 요소가 부족하다. 선행기술의 인간-로봇 인터페이스는 인간-인간 자연적 상호작용을 모의하고 상호작용의 성공에 기여하는 것을 가능하게 하는 충분한 멀티-모달리티(multi-modality) 또는 상호작용을 갖지 않는다. 더욱이, 인터페이스가 사용자에 의해 이미 획득되고 심지어 사용자가 매일 사용하는 지식을 요청하는 경우, 경험이 훨씬 더 쉬울 것이며 사용자의 일부에 대한 단지 적은 학습을 요구할 것이다. 따라서, 가상 세계에서 눈으로 공간을 가로질러 스캐닝하는 것은 컴퓨터 키보드 상의 화살표를 누르는 것보다 머리를 이동시켜 시각 현실 헬멧에 의해 더욱 직관적으로 수행될 것이다.
본 발명의 해결책은 독립적인 인간형 로봇에 적용되는, 소프트웨어 및 하드웨어를 결합하는, 사용자 인터페이스 요소를 제공한다. 앞서 사용된 용어 GUI 요소를 로봇의 거동으로 전환함으로써, 더욱 일반적으로 단순하게 UI요소로 불릴 수 있는 BUI 요소(Behavior User Interface Element)를 정의한다. 이러한 UI요소는 예컨대 다음과 같이 단순한 방식의 작동을 코딩하기 위해 정의될 수 있다:
- 로봇 머리의 3개의 촉각 센서를 동시에 탭핑(tapping)함으로써 어느 때나 애플리케이션을 중지시킴;
- 음성 인식을 사용하여 로봇에게 질문함;
- 로봇의 촉각 센서 중 하나를 탭핑함으로써 애플리케이션의 그 다음 단계로 이동함.
이러한 단순한 요소는 따라서 소정의 제품의 특정 자원과 관련하여 생성되거나 로봇의 거동 및 애플리케이션에서 활용가능하게 되는 일반적인 라이브러리에 탑재될 수 있는 진정한 상호작용 코드이다.
본 발명의 UI요소는 거동 개발자에 의해 용이하게 사용되고 매개변수화될 수 있는 요소이다. 이는 주로 거동을 프로그래밍하기 위한 기본적인 GUI 요소가 되는 코레그라프(Choregraphe) 박스이다. 특히 이러한 박스 중 일부는 그래픽 인터페이스 구성요소를 개발하기 위한 QtTM 환경에 의해 생성된 위젯(Widge) 라이브러리를 사용하여 C++에서 코딩된 코레그라프(Choregraphe) 플러그인을 포함한다.
본 발명의 실시를 가능하게 하는 기능 아키텍처의 개략도가 도 5에 제시된다.
통신 채널의 입력/출력을 위한 제어 모듈(510)이 도 1의 중앙 장치(120) 내에 또는 이와 결합하여 구성되며, 상기 제어 모듈을 통하여 로봇이 대화자와 메시지를 교환할 것이다. 상기 모듈은 물리적으로 또는 논리적으로(logically), 로봇에 구비된 특성화된 통신 채널의 사전-처리를 송신/수신하는 수단을 포함한다.
비-제한적으로, 3가지 유형의 메시지 통신 채널이 도면에 도시되며, 각각의 유형은 수신 채널 및 송신 채널을 가진다. 유형 1의 수신기 채널(521)은 인간의 청각에 대응하며 로봇이 소리 신호, 특히 의미 내용을 갖는 음성 메시지를 획득하도록 한다. 따라서, 로봇에는 도 2a에 도시된 마이크로폰(210a)이 구비될 수 있다. 상기 채널의 출력은 통상 음성 인식 알고리즘을 실행하는 특성화된 신호 처리 프로세서에 의해 사전-처리된다. 이러한 알고리즘은 더욱 또는 덜 복잡할 수 있으며 이들이 사용되는 환경(주변 잡음, 복수의 사용자) 및 더욱 또는 덜 완전한 구체적인 학습의 실시에 의존하여 가변적으로 효과적일 수 있다. 그렇지만 모든 구성에서, 인식 오류는 불가피하다.
유형 1의 송신기 채널(531)은 인간의 말에 대응하며 로봇이 말하는 것, 즉 예컨대 도 2b에 제시된 스피커(210b)에 의해 의미 내용을 갖는 음성 메시지를 발음하는 것을 가능하게 한다. 언어, 음색, 리듬 및 음성의 톤은 문맥의 함수로서 변하여 감정을 표현할 수 있다. 그렇지만, 이러한 소리는 또한 경적(beep), 사전-기록된 음악일 수 있으며, 이는 예컨대 모스 시퀀스(Morse sequence)의 경적, 및 사전-설정된 코드에 따르는 음악이 또한 의미 내용을 갖는 것으로 이해된다.
유형 2의 수신기 채널(522)은 인간의 시각에 대응하며 로봇이 그 환경에 대해 지도를 만들도록 하고 접근 가능한 메모리에 저장된 경우 인식할 수 있는 이미지를 획득하도록 한다. 따라서, 예컨대 로봇에는 도 2a에 도시된 CMOS 카메라(220a)가 구비될 수 있다. 카메라 중 하나는 바람직하게는 먼 거리 시각에 대해 전용되며, 나머지는 가까운 거리 시각에 대해 전용된다. 유리하게는, 이미지 인식 알고리즘은 로봇의 대화자의 얼굴을 탐지 또는 실질적인 인식을 가능하게 하도록 구성된다. 다시 한번 언급하면, 인식 성능이 어떻든지, 불확실성 또는 오류가 불가피하다. 이미지 인식은 VDU 또는 브랜드 마크 상의 로봇에 제공되는 자리 숫자(numerical digit)와 같은 단순한 형상에 적용될 수 있으며, 그 의미는 코딩에 의해 정의될 수 있다.
유형 2의 송신기 채널(532)은 직접적으로 인간과 동등한 것이 없는 인공 채널이다. 본 채널은 로봇의 신체에 내장된 LED에 의해 생성되는 빛 신호의 방출을 가능하게 한다. 많은 LED가 제공될 수 있으며, 특히 눈, 귀, 몸통, 발에 제공될 수 있다. 이들은 서로 다른 색깔을 가질 수 있으며 가변-빈도수의 점멸 기능이 구비될 수 있다. 이러한 채널은 로봇에 단순하고 강력한 메시지 발송 수단을 제공한다. 특히 특정한 코드가 사용자에 의해 정의되고 프로그래밍 될 수 있다.
유형 3의 수신기 채널(523)은 인간의 촉각과 동등한 채널이다. 이러한 채널은 그렇지만 촉각 범위에 한정된다. 촉각 범위는 예를 들어 도 2a에 제시된 센서(230a)와 같은 촉각 센서에 집중될 수 있다. 로봇의 대화자는 2진(작동의 유효함) 또는 더욱 복잡한 유형으로 로봇과 메시지를 통신하도록 촉각 센서를 작동시킬 것이다. 이러한 채널에 의해 수신된 정보는 실제로 모스 유형의 단위(각각 처벌 또는 보상의 의미를 갖는 스맥, 스트로크), 또는 모스 유형의 순서로, 사용자에 의해 정의되는 코드에 대응할 수 있다. 특정 촉각 센서가 이러한 유형의 통신 채널을 정의하기 위해 절대적으로 필수적인 것은 아니다. 동일한 유형의 채널은, 대화자의 접촉 작동을 수신하는 한, 메시지 센서가 로봇의 팔 및/또는 팔뚝의 위치에 의해 제시되는 센서를 따라 연속적이 되도록 정의될 수 있으며, 상기 위치는 로봇에 대하여 대화자에 의해 통신되는 수치 값을 나타내며, 이하의 설명에서 더욱 상세하게 기재된다. 실제로, 어느 상황에서나 로봇은 자기 관절의 각도 위치를 인식하며, 이에 따라 이동의 의미가 미리 정의된 경우 대화자의 작동 하에서 상기 이동에 의해 야기되는 각도 위치를 메시지 변화로서 해석하는 것을 한다. 사지(예컨대 팔뚝)의 단순한 접촉이 또한 로봇의 관절의 각도 위치의 센서에 의해 인식될 수 있다. 덜컹거림 또는 들어올림과 같은 더욱 급작스런 이동은 로봇의 관성 장치 및 솔-오브-피트 센서(soles-of-feet sensor) (FSR)에 의해 각각 검출될 수 있다.
유형 3의 송신기 채널(533)은 인간의 몸짓과 동등하다. 머리에는 2의 자유도가 제공되는데, 요우(yaw)의 각도에 의해 측정되는 방위각에서의 이동 및 피치(pitch)의 각도에 의해 측정되는 상승 이동이다. 이러한 2가지 움직임은 전통적으로 승인 메시지(피치) 또는 거부(요우) 메시지를 정의한다. 이들은 또한 로봇이 대화중인 대화자에 대하여 직접적으로 응시하도록 한다. 어깨, 팔꿈치, 손목의 관절에 각각 다음의 자유도가 제공될 수 있다: 피치 및 롤(롤 즉 우측/좌측 비틀림); 요우; 요우. 손에는 개방 및 폐쇄 능력이 제공될 수 있다. 이러한 관절 움직임의 결합은 이러한 채널을 통하여 로봇의 대화자에게 통신될 메시지의 내용을 정의하는 것을 가능하게 한다.
도면에 제시되지 않은 또 다른 메시지 통신 채널이 또한 존재하거나 정의될 수 있다. 특히, 로봇은 적외선, 블루투스, 또는 와이파이 링크를 통하여 신호를 송신 및 수신할 수 있다. 따라서 이는 대화자가, 특히 모션 캡처 및/또는 위치설정 기능을 갖는 AppleTM 사의 iPhoneTM 또는 또 다른 전화기와 같은, 본 목적을 위하여 프로그래밍된 원격 제어를 사용하여, 이러한 채널을 통하여 로봇에 메시지를 전송하는 것을 가능하게 한다.
유사하게, 로봇은 이러한 통신 포트를 사용하여 또 다른 로봇에게 메시지를 발송할 수 있다.
본 발명에 따르면, 메시지 통신 채널은 서로 다른 유형의 채널을 하이브리드 유형의 채널로 합병함으로써 정의될 수 있다. 따라서, 말하기 인식이 구비된 소리 채널 및 이미지 인식이 구비된 시각 채널의 출력이 결합되어 데이터 합병 프로세스에 의해 출력이 개선되는 새로운 채널을 형성할 수 있으며, 본 채널로부터의 출력 상의 출력은 별도로 취해진 두 개의 출력의 신뢰 수준보다 더 큰 신뢰 수준의 이점을 갖는다.
로봇의 2명의 대화자(541 및 542)가 또한 도 5에 도시된다. 통상, 단지 1명 또는 2명 이상의 대화자가 본 발명의 양상을 실시하는데 가능하다. 더욱이, 대화자는 로봇으로부터 일정 거리에 위치할 수 있으며, 로봇이 메시지의 교환을 위하여 필수적인 청각 및/또는 시각 신호를 전달하게 하는 데이터 링크에 의해 위치되는 방에 링크되는 조건 하에 있을 수 있다. 통상, 이러한 경우, 물리적 접촉을 요구하는 유형 3의 통신 채널의 사용은 불가능하다.
대화자와 주변환경에 대한 로봇의 상대적 위치가 또한 특정 센서(대화자 위치와 관련하여 음성 인식; 이미지 인식; 초음파 센서, 등)에 의해 측정되고, 인간/로봇의 대화의 성질을 특징짓고 그 진행을 선택적으로 변화시키기 위하여 볼륨, 톤 또는 표현의 분석을 참고하여 해석될 수 있다. 따라서, 접근하고 크게 말하는 대화자는 위협적인 존재로서 로봇에 의해 감지되고, 바디 랭귀지, 또는 상호 작용의 실질적인 변형 또는 방해와 관련된 다양한 보호 거동을 실시한다.
이러한 다양한 통신 채널의 입력/출력의 로직 제어가 모듈(510)에 의해 수행된다.
상기 모듈은 동일한 제1 유형의 송신기 채널 상에서 송신된 메시지를 통하여, 제1 유형의 수신기 채널(예컨대 소리 채널)의 입력에 관한 의심을 해결하는 것을 동시에 가능하게 하며, 이는 이하에서 더욱 설명되며, 상기 의심 해결 작동은 가능한 한 제2 유형의 수신기 채널(예컨대 촉각 채널) 상에서 또는 동일한 제1 유형의 채널 상에서 대화자에 의한 응답으로 수행된다. 제1 유형의 채널(예컨대 소리 채널) 상에서 수신된 메시지에 관한 의심 해결을 요구하는 메시지가 또한 제2 유형의 채널(예컨대 시각 채널, LED 송신에 의함) 상에서 송신될 수 있으며, 대화자 의심 해결 작동은 제3 유형의 채널(예컨대 촉각 채널) 상에서 수행되어야 한다. 이러한 조합은 단지 비-제한적인 예시로서 제공되며, 다양한 조합이 가능하다.
통신 채널의 입력/출력을 위한 제어 모듈(510)은 또한 메시지의 입력을 조합하기 위해 더욱 단순하게 사용될 수 있으며, 이러한 조합은 로봇의 "마음" 속에서 의심의 가능성을 실제로 제거할 수 있다.
수신기 채널에 의해 수신된 입력 및 수신기 채널에 의해 송신된 출력을 조합하기 위한 기능의 프로그래밍은 BUI요소를 사용함으로써 단순한 방법으로 수행될 수 있다.
선택 유형의 제어 박스 또는 선택 박스로 구성된 BUI요소의 유형에 대하여 더욱 설명한다. 선택 박스는 폐쇄 목록으로부터 선택하는 방식을 나타낸다. 이는 대화의 구성 내에서, 단어 및 구의 제한된 수를 인식하는데 적용되며, 로봇은 사용자의 선택을 청취하기 이전에 질문을 할 수 있다.
이하에서 선택 박스의 다른 유형으로부터 구별되는 BUI요소의 유형을 설명한다.
정수 숫자를 선택하는 예와 관련하여 이러한 양상을 설명한다. 이러한 요소를 위하여, 로봇은 예를 들어 사용자에게 허용되는 최소 숫자 및 최대 숫자를 유형 1의 송신기 채널(531) 상에서 언급하고, 대화자에게로 자신의 팔 중 하나를 뻗으며, 상기 언급은 약하게 서버-제어된다. 상기 팔은 도 5의 유형 3의 수신기 채널(523)을 구성할 것이다. 팔의 하부 위치는 최소 숫자와 관련되며, 상부 위치는 최대 숫자와 관련된다. 따라서 사용자는 로봇의 팔을 자신의 숫자를 선택하기 위한 커서로서 사용한다. 로봇은 자신의 팔의 위치를 어깨의 피치 관절(어깨피치)에서 활용 가능한 감지기(feeler)에 의해 알 수 있다. 이러한 상호작용을 증가시키기 위하여, 로봇은 사용자가 그 팔을 이동시키는 동안 손을 바라본다. 각각의 위치 변화에 따라, 로봇은 선택된 숫자를 언급할 수 있다. 사용자는 유형 3의 또 다른 수신기 채널(523)을 사용하여, 로봇 머리의 중간에 있는 촉각 센서를 접촉함으로써 자신의 선택을 승인할 수 있다. 특히 센서의 정확성과 관련하여 너무 많은 숫자의 경우, 하나의 팔은 대략적인 조정을 가능하게 하고, 나머지 팔이 더욱 정확한 선택을 하도록 하는 가정이 있을 수 있다. 표현의 서열화된 목록이 숫자로 제시될 수 있다. 따라서 상기 과정이 로봇에 의해 발표되는 하향식 메뉴로부터의 선택 양상이 될 수 있다.
단지 촉각 센서를 사용하는 숫자 선택의 변형이 가능하다. 예를 들어:
- 전방 센서를 탭핑하는 것은 숫자의 목록에서 한 단계를 강하시키며;
- 후미 센서를 탭핑하는 것은 숫자의 목록을 통하여 상승하며;
- 전방 및 후미 센서를 눌린 채로 방치하는 것은 숫자의 목록을 통한 스크롤링을 촉진시킨다.
- 선택은 중간 센서를 접촉함으로써 수행될 수 있다.
본 발명의 사용 양상의 기능으로서 가능한 조합을 상당히 변화시키는 것이 가능하다.
도 6은 본 발명의 일부 구체 예에서 로봇의 거동/상호작용에 대한 프로그래밍 로직 차트이다.
도면에 의해 제시된 실시예는 예컨대 수수께끼 게임의 경우, 단어 목록으로부터 선택을 로봇에게 제공하는 대화자와 로봇이 대화하는 양상이다. 이러한 양상에서, 유형 1의 수신기 채널, 유형 3의 수신기 채널 및 유형 1의 송신기 채널이 사용된다.
도면에서 코드(610)로 표현되는 작동은 로봇의 대화자의 작동: 예컨대 로봇에 의해 사전에 언급된 목록으로부터 사용자에 의해 언급된 선택; 타임아웃(즉 선택 부재); 상기 목록의 하나 이상의 단어의 이해의 확인을 위한 "예/아니오" 답변이다.
도면에서 코드(620)로 표현되는 작동은 로봇의 작동인데 이는 코드(630)에 의해 표현되는 내부 변수의 상태의 함수로서 활성화될 것이다. 이러한 내부 변수의 의미는 다음과 같다:
- r: 선택 목록 중에서 사용자에 의해 언급되는 단어에 대한 로봇에 의한 인식 확률;
- f: 인식 실패의 총합 수;
- t: 타임아웃의 수(또는 사전-정의된 시간 이후 대화자에 의한 선택의 부재);
- S1: 인식 확률의 임계치 1;
- S2: 인식 확률의 임계치 2;
- tmax: 가능한 타임아웃의 최대 수;
- fmax: 가능한 실패의 최대 수.
타임아웃이 진행되는 일반적인 방식은 일상의 인간 생활의 단순한 원리: "Whoever does not say a word consents...".
본 도면에 제시된 처리 작업의 일반적인 로직은 이하에서 설명된다.
NAO는 사용자/대화자를 청취하며 변수 f 및 t는 0(zero)으로 초기화된다. 대화자가 미리-결정된 타임아웃 시간을 지나면, 타임아웃 카운터가 증가하고 타임아웃의 최대 수에 도달하면, 상호작용 루프가 중단된다.
본 애플리케이션은, 머리의 촉각 센서 중 하나를 누르거나 게임이 시작할 때 플레이어의 수를 확인하기 위하여 게임에서, 사용자에 의해 수행된 특정 작동이 로봇의 질문 등을 시작하는 결정론적인 문맥에서의 거동에서 초기화되거나, 또는 탐지된 인간의 존재, 하루의 시간 또는 더욱 일반적으로, 로봇에 의해 저장되는 하루 이벤트의 로그와 같은 매개변수의 함수로서 개시되는 인공 지능의 문맥에서 초기화된다. 예를 들어, 사용자가 호출하는 것이 탐지되는 경우, 사용자가 무엇을 원하는지 그리고 왜 사용자가 호출하는지를 알기 위해 애플리케이션을 개시한다. 또 다른 문맥에서, 인간의 존재가 탐지된 경우 게임을 제안하기 위하여 애플리케이션을 개시할 수 있으며, 이는 플레이 하기에 매우 바람직하며 플레이 된 이후 오랜 시간이다.
대화자가 타임아웃 만료되기 이전에 선택을 언급하면, 측정된 인식 확률 r은 예상 인식 확률의 임계치 S1 및 S2(S1 < S2)와 비교되며, 이들은 이하에서 더욱 설명되는 방식으로 결정된다.
r ≤ S1인 경우, 이러한 단어 인식은 실패로 간주된다. 이러한 실패 카운터가 증가된다. Fmax에 도달하면, 단어는 완전하게 인식안됨으로 선언되며 상호작용은 중단된다. fmax에 도달하지 않으면, 도면에 도시된 바와 같이, 3가지 경우에 대한 가정이 이루어질 수 있다:
- 첫 번째 실패에서(f = 1), 로봇은 대화자에게 "이해하지 못하였음(I didn't understand)"을 표시하며 "activateHelpWhenFailure" 기능 중 하나를 활성화시켜 선택 목록의 반복을 구성함;
- 두 번째 실패에서(f = 2), 로봇은 또한 "이해하지 못하였음(I didn't understand)"을 표시하며 "activateHelpWhenFailure" 기능 중 또 다른 것을 활성화시켜 대화자에게 선택 목록을 제공하고 상기 선택 목록을 사용하는 방법에 나타내는 촉각 센서를 대화자가 사용하도록 함;
- 그 이상에서(3 = f < fmax), 로봇은 "너무 많은 잡음이 존재함("there is too much noise)"과 같이, 효과적인 대화가 충족되지 않았다는 상태를 대화자에게 표시하는 어구를 발표할 수 있으며, 이는 상기 대화자에게 대화를 종료할 것일 통상 제안한다.
S1 < r ≤ S2인 경우, 로봇은 실제로 청취한 것에 대한 의심을 가지며; 도면에 도시된 과정에 따라, 로봇은 인식한 것을 생각하는 단어 또는 표현을 발표하고 대화자에게 "맞는가(Is that correct)?"라고 질문함으로써 의심을 해결하기 위한 작동을 취할 수 있으며; 대화자가 "예"라고 하거나 또는 타임아웃의 종점에서 답변이 없는 경우, 로봇은 답변이 맞다라는 것으로 간주한다. 대화자가 "아니오"라고 답변하는 경우, 실패 카운터가 증가하고, fmax에 도달하면, 로봇은 최종적으로 이해하지 못하였음을 표시하고 상호작용을 중단하며; fmax에 도달하지 않으면:
- 첫 번째 실패에서(f = 1), 로봇은 "activateHelpWhenFailure" 기능 중 하나를 활성화시켜 선택 목록의 반복을 구성함;
- 두 번째 실패에서(f = 2), "activateHelpWhenFailure" 기능 중 또 다른 것을 활성화시켜 대화자에게 선택 목록을 제공하고 상기 선택 목록을 사용하는 방법에 나타내는 촉각 센서를 대화자가 사용하도록 함;
- 세 번째 실패 이상 내지 최대 fmax에서, 대화자는 인식 확률이 개선될 때까지 선택을 반복하여야 함.
이러한 방식으로, 음성 인식의 불완전성을 상당히 감소시키고 로봇과 대화자 사이의 대화에서 개선된 유동성을 생성하는 것이 가능하다.
도 7a, 7b 및 7c는 본 발명의 일부 구체 예에서 멀티모달 인터페이스의 상호작용의 로직컬(logical) 및 시간적(temporal) 조합을 나타내는 타임차트를 제시한다.
본 도면들은 도 6의 차트에 제시된 유형들의 상호작용을 프로그래밍 가능하게 하는 선택 박스의 도면이다.
선택 박스는 도 4의 도면부호 410으로 도시된 것과 같은 박스이며, 이들은 자연적인 대화를 위한 특성화된 거동의 특히 효과적인 프로그래밍을 가능하게 하는 특정한 유형이다.
본 도면들의 부호 의미는 다음과 같다:
- 도 7a에서,
- 710a는 로봇 또는 대화자의 작동/말하기를 나타내며;
- 720a는 촉각 센서를 나타내며;
- 740a는 인식 경적을 나타내며;
- 750a는 회전 애니메이션 위치에서 로봇 얼굴의 LED를 나타내며;
- 751a는 고정 위치에서 로봇 얼굴의 LED를 나타내며;
- 760a는 로봇 얼굴의 LED의 플래시를 나타내며(수신된 메시지에 대한 로봇의 이해에 대한 함수로서 다양한 색깔일 수 있음);
- 770a는 타임아웃 기능부를 나타내며;
- 780a는 선택 박스의 출력을 나타내며;
- 790a는 "촉각 센서 메뉴로 가시오"(도 7b)라는 기능을 나타내며;
- 7A0은 "선택의 정렬로 가시오"(도 7c)라는 기능을 나타내며;
- 7B0은 "음성 인식 메뉴로 가시오"라는 기능을 나타내며;
- R1, R2 및 R3은 각각, 로봇이 불명료함 없이 이해하는 경우, 로봇이 일부 의심을 가지면서 이해하는 경우 및 로봇이 전혀 이해하지 못하는 경우를 나타내며;
- 도 7c에서, 710c는 "이전 메뉴로 돌아가시오"라는 기능을 나타냄.
선택 박스에 프로그래밍된 처리 작업의 일반적인 로직은 이미 기재된 것과 동일하다. 기재되는 추가 요소는 다음과 같다:
- 로봇 얼굴의 LED(750a)의 사용, 선택적으로 질문 및 답변을 교환을 구분하기 위한 LED 플래시의 사용: LED는 고정 위치(751a)이며 이는 로봇이 말하기를 탐지하고 이를 분석하는 중임을 나타냄;
- 인식할 준비가 된 시점을 나타내기 위해 로봇에 의해 방출되는 청취 가능한 경적("비프(beep)")의 사용; 실제로, 처리 능력 및 전력 공급원의 한계로 인하여, 또한 인식의 잡음을 회피하기 위하여, 경적은 음성 합성과 동일한 시간에 활성화되지 않으며; 따라서 로봇에 의해 대화자에게 부여된 질문이 대화자에 의해 너무 빨리 답변될 필요가 없으며; 경적은 답변을 시작하도록 하는 실마리를 제공함;
- 도움의 몇몇 수준을 사용하는 가능성, 이는 로봇의 역사적 로그 및 사전 교환 및 본 교환 도중에 사용자의 경험에 의존함;
- 프로그래밍을 촉진하기 위하여 몇몇 메뉴를 탐지하는 가능성.
지금 설명되는 도면들은 스크린샷이며, 여기에 앞서 도 4에서 논의된 코레그라프(Choregraphe) 소프트웨어의 선택 박스 구성성분이 사용되어 실시예에서 제시된 유형 1의 수신 및 송신 채널(음성 교환)을 사용하여 NAO 로봇과 대화자 사이의 단순하거나 복잡한 상호작용을 프로그래밍한다.
도 8a, 8b, 8c, 8d 및 8e는 본 발명의 한 구체 예에서 상호작용 언어를 교체하기 위한 이진 선택(binary choice) 및 옵션이 구비된, 인간형 로봇과의 대화를 프로그래밍하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 9a, 9b, 9c, 9d 및 9e는 본 발명의 한 구체 예에서 상호작용 언어를 교체하기 위한 목록 및 옵션으로부터의 선택이 구비된, 인간형 로봇과의 대화를 프로그래밍하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 10a, 10b, 10c 및 10d는 본 발명의 한 구체 예에서 선택 목록의 몇몇 옵션들 사이에서 음성 인식 시험 비교를 수행하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 11a 및 11b는 본 발명의 한 구체 예에서 선택 목록의 옵션들을 대체 또는 보충하고 몇몇 옵션들 사이에서 새로운 음성 인식 시험 비교를 수행하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 12a, 12b, 12c 및 12d는 본 발명의 한 구체 예에서 질문 언어와 다른 언어로 선택 목록의 몇몇 옵션들 사이에서 음성 인식 시험 비교를 수행하는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
도 13a, 13b, 13c 및 13d는 본 발명의 한 구체 예에서 선택 목록의 몇몇 옵션들 사이에서 음성 인식 시험 비교의 임계치를 확인/변형시키는 것을 가능하게 하는 스크린의 시퀀스를 나타낸다.
일반적으로, 선택 박스는 사용자가 사전-정의된 선택 세트 중에서 답변을 선택할 수 있도록 한다. 개발자로 하여금 직관적으로 그리고 판독 가능한 방식으로 가능한 선택의 세트를 기록할 수 있도록 하는 표 유형의 구성성분이 요구된다. 개발자가 사전에 알지 못하는 경우, 선태 목록은 또한 입력으로서 박스에 삽입된다. 따라서, 예를 들어, 사용자의 메일을 관리하는 애플리케이션의 경우, 로봇은 별도의 파일에 저장된 주소록으로부터 연락처를 선택할 수 있다. 이러한 UI요소는 고도로 매개변수화 될 수 있는 도구이다. 음성 인식 및/또는 합성을 사용하는 UI요소는 또한 국지화될 수 있다. 예를 들어, 선택 박스는 불어 또는 영어로 편집될 수 있다. 이들을 프로그래밍하기 위한 그래픽 인터페이스 수준에서, 박스를 편집하기 위해 사용된 언어를 교체하기 이한 Widget QtTM은 콤보박스(ComboBox)일 수 있다.
코레그라프(Choregraphe) 박스의 입력(및 출력)은 다음과 같은 몇 가지 유형일 수 있다:
1. "뱅(bang)": 신호가 발송됨
2. 수(number): 입력이 수, 정수 또는 플로팅을 회수함
3. 스트링(string): 입력이 문자 스트링을 회수함
4. 다이내믹(dynamic).
다이내믹 유형의 입력(각각 출력)은 알값(ALValue)을 회수(각각 출력)한다.
알값(ALValue)은 NAOQI 라이브러리에 기재된 통상적인 유형일 수 있는데, 특히 정수, 플로팅, 어레이, 부울린(boolean), 스트링(string), 및 또한 "뱅(bang)"일 수 있으며, 이는 초기화되지 않은 알값(ALValue)이다. 다이내믹 유형의 입력은 매우 유연한 방식으로 애플리케이션의 진화를 관리할 수 있다. 특히 인터-모달리티 및/또는 인트라-모달리티 확인 모드의 선택에서, 도움 표현이 로봇의 대화자에게 제공되어 가능한 선택의 수에 의존할 수 있도록 이들을 활성화시킨다.
따라서, 입력이 다이내믹 유형인 조건에서 코레그라프(Choregraphe) 박스에 대한 입력으로서 피톤 테이블(python table)(어레이 유형)을 입력하는 것이 가능하다.
본 발명을 실시하기 위하여 사용된 코레그라프(Choregraphe) 소프트웨어는 부울린(boolean) 유형의 박스(체크 박스), 문자 스트링(string) 유형(텍스트 박스)의 박스, 편집가능하나 최종 사용자에 의한 것은 아닌 문자 스트링 유형(콤보박스)의 다중 선택 박스, 정수 숫자 또는 플로팅 플로팅 유형(슬라이더)의 박스, 또는 또 다른 유형의 박스의 매개변수를 포함한다. 예를 들어, 자신의 거동 또는 애플리케이션에서 선택 박스를 사용하는 프로그래머는 부울린(boolean) 매개변수 "승인된 선택 반복(Repeat validated choice)"(불어로는 "Repeter le choix valide")를 체크하거나 체크하지 않을 가능성을 가진다. 상호작용 동안 NAO의 거동에 영향을 미치는데 왜냐하면 이는 NAO가 사용자에 의해 승인된 선택을 체계적으로 반복하거나 하지 않을 것을 정의하기 때문이다.
음성 인식의 결함을 감소시키기 위하여, 진단 도구는 음성 상호작용의 성공을 최대화할 수 있다. 따라서, 선택 박스에서, 개발자가 테이블에 단어 목록을 기재하는 것을 종결할 때, 그는 이러한 단어들의 백분율 인식을 표시할 상기 도구를 작동시킬 수 있으며, 단어에 대하여 100%는 로봇이 확실하게 인식할 것이며, 단어에 대하여 0%는 로봇이 인식하지 못할 것을 의미한다. 이러한 진단은 음성 합성(사용자가 말할 것과 유사한 것으로 가정됨)에 의해 말해지는 단어와 음성 인식에 의해 예상되는 단어를 비교함으로써 수행된다. 더욱이, 상호작용의 기회 및 자연스러움을 최대화시키기 위하여, 각각의 선택에 대하여, 몇몇 표현이 정의된다. 따라서, 로봇으로 하여금 메일을 송신하도록 요구하기 위하여, 개발자는 사용자의 처리에 따른 "메일 송신(send a mail)", "메시지 송신(send a message)" 또는 "이메일 송신(send an email)"과 같은 몇몇 어구를 배치할 수 있을 것이다. 사용자는 따라서 최종적으로 동일한 것을 말하기 위해 이러한 다양한 표현들 사이에서 선택할 것이다.
본 발명의 해결책은 몇몇 사용자의 존재를 관리하지 않는 음성 인식의 문제를 해결할 수 있다. 인간은 복수의 사람에게 말을 할 때, 소통이 어렵고, 따라서 이들은 한 사람씩 말하는 것을 적용하는 것을 이해한다. 이러한 상황은 유사한 불어 "투(tu)" 형태의 로봇에 의한 사용과 같은, 명백한 단일-사용자 상호작용 코드의 존재에 의해 촉진된다.
결함적인 음성 인식은 인간-로봇 인터페이스가 특히 실패 상황을 최선으로 관리하고, 사용자가 즉시 말하게 하고(이는 상호작용 코드를 포함할 것임), 그리고 대화하기 위한 대안이고 더욱 효과적인 활용 가능한 해결책을 만들어야 한다.
본 발명의 구성 내에서, 오디오 진단 기능은 이러한 유형의 문제점을 해결할 수 있다. 이러한 기능은 음성 합성 소프트웨어, 텍스트-투-스피치에 의해 발표되는 단어를 시험함으로써 실행된다. 이러한 단어는 그 후 음성 인식에 의해 분석된다. 더욱 상세하게는, 동일한 단어가 예컨대 세 번 발표되며, 각각 음성의 속도 및 그 피치를 변화시켜 상기 단어를 발표하는 방식의 대표적인 샘플을 가진다. 음성 인식에 의해 반환된 세 가지 인식률이 평균화되고, 이러한 값이 단어의 평가된 백분율 인식이 된다. 오디오 진단에는 두 가지 가능한 모드가 있다:
"함께(Together)" 모드는 다음과 같이 작동한다: 선택 박스 내에 기록된 모든 단어가 음성 인식에 의해 청취되고, 그 후 NAO가 본 명세서에서 설명된 바에 따라 측정된 인식률을 계산한다.
"차례 차례(One by One)" 모드는 다음과 같이 작동한다: 주어진 라인에 대하여, 분석될 단어가 음성 인식뿐만 아니라 다른 라인 상의 가능한 또 다른 선택에 의해 청취되며, 그러나 동일 라인에서의 상황은 대안적인 것이 아니다. 이러한 진단의 이점은 두 가지 "동의어"가 서로 닮은 경우, 예컨대 "coucou!" 및 "coucou toi!"의 경우, 측정된 인식률은 " 함께(Together)" 모드만큼 낮지 않을 것이다(인식률은 매우 나쁜데 왜냐하면 음성 인식에 의해 종종 혼동되기 때문이다). 실제로, 두 개의 동의어가 로봇에 의해 혼동되는지 여부는 심각하지 않다.
일단 진단이 각각의 라인에서 수행되면, 동의어가 평가된 인식률의 내림차순 순서로 정렬되고, 최선의 동의어의 인식률이 라인의 종점에 기록된다.
따라서, 선택 박스는 사용자로 하여금 로봇이 답변을 올바르게 인식 또는 해석하지 못하였을 때 자신의 답변을 확인하도록 프로그래밍된다. 이러한 메커니즘은 결함 있는 청취를 하거나 또는 이해를 어렵게 만드는 환경에 처한 인간에 의해 사용되는 메커니즘과 동일하다. 로봇은 사용자의 답변의 이해 수준에 따라 다른 반응을 가질 것이다. 몇몇 임계치(예컨대 도 5와 관련된 설명에서 정의된 임계치 S1 및 S2)가 인식 소프트웨어에 의해 계산된 인식 신뢰성의 함수로서 고정된다: 예를 들어, 제1 인식 임계치 S1에 도달하지 않은 경우, 로봇은 플레이어에게 그의 답변을 반복하도록 요청하며; 제1 임계치 S1에 도달하였으나 더 높은 제2 인식 임계치 S2에 도달하지 않은 경우, 로봇은 의심을 해결하게 하는 답변에 대한 질문을 할 것이다. 로봇은 또한 사용자가 로봇에게 올바르게 답변하도록 도움을 줄 수 있다: 로봇은 가능한 선택의 목록을 제공할 수 있으며, 상호작용의 수단을 지시할 수 있으며, 하나의 경우 질문을 반복할 수 있다. 상호작용 코드는 또한 음성 인식의 결함을 감소시키기에 매우 유용하다. 실제로, 음성 인식은 로봇이 말하는 동안 로봇에게 말을 할 수 없으며, 음성 인식을 운영하는 시점과 실제 활성이 되는 시점 사이의 지연(lag)이 상당히 길다. 청취 가능한 코드는 따라서 음성 인식이 실행될 때 플레이되며, 이는 사용자에게 사용자가 말할 수 있음을 지시한다. 그 후, 매우 직관적인 시각 코드로서, 회전하는 귀의 LED가 사용자로 하여금 로봇이 청취중임을 알게 한다. 음성 인식을 사용하는 UI요소가 또한 이러한 음성 인식에 대한 대안적인 수단을 제공하며, 이는 심지어 반복적인 이해 문제의 경우(이는 예컨대 극심한 잡음 환경에 기인할 수 있음)에도 사용자가 성공적으로 소통할 수 있도록 한다. 이러한 대안적인 수단은 촉각, 청각, 시각 등일 수 있다. 예를 들어, 선택 박스는 사용자로 하여금 촉각 센서를 사용하여 답변을 선택하도록 하는데: 즉 전방 센서를 눌러서 선택 목록을 통하여 진행하도록 하며(로봇은 각각의 선택을 언급함), 후미 센서를 눌러 상기 목록을 통하여 재처리하도록 하며, 중간 센서를 눌러 자신의 선택을 승인하도록 한다. 또한 로봇이 다양한 선택을 언급하는 것, 사용자가 그가 승인하기 원하는 것을 들었을 때 사용자가 "오케이(OK)"라고 말하는 것을 고려할 수 있다. 다른 한편으로, 확인을 위하여, "예(yes)" 또는 "아니오(no)"라고 말하는 대신에, 사용자는 로봇의 팔 중 하나를 누를 수 있다. 도 5의 설명에서 정의된 여러 유형 1, 2, 3의 통신 채널의 입력/출력을 위한 제어 모듈은 선택 박스의 여러 입력/출력들 사이의 링크를 통하여 이러한 조합을 관리하기 위한 기능을 단순하고 사용자-편의 방식으로 생성할 수 있다.
일반적으로, 본 발명의 해결책은 인터페이스의 인간화, 즉 인간-인간 인터페이스의 시뮬레이션을 제안한다. 2명의 인간 사이에서의 직접적인 소통 동안 3가지 주요 인자가 구현된다는 것이 알려져 있으며: 즉 말하기로서, 이는 언급되는 단어, 뿐만 아니라 음성 톤 및 시각 요소를 의미한다. 증거로서, 전개를 통하여, 쓰기 및 즉각적인 메시지와 같은 간접적인 소통의 수단을 관찰함으로써, 직접 소통에 대한 대안을 추가함으로써 대화에서의 정보의 결핍이 일반적인 규칙으로서 감소될 수 있음을 명확하게 볼 수 있으며, 이러한 대안에는 구두점 또는 더욱 최근에는 미소 등이 있다. 모든 경우에, 오늘날의 대단한 기술 개발에도 불구하고, 이러한 기본적인 요소는 여전히 완전하게 인간-로봇 통신에서 전달되기 어렵다. 그렇지만, 대화의 성능을 개선하는 인공적인 대안을 찾을 수 있다. 로봇 음성 합성 및 음성 인식은 동등한 말하기를 가능하게 한다. 따라서 이들은 인간과의 소통의 중심이다. 인간형 로봇은 대화의 시각적 요소의 대부분, 즉 몸짓 및 얼굴 표현을 렌더링할 수 있는 이점이 있다. 실제로, 의인화된 신체에도 불구하고, 그 배치는 휠 상부의 로봇만큼 용이하지 않으며, 그 몸짓은 인간의 거동에 더욱 용이하게 기초할 수 있으며, 따라서 인간의 움직임만큼 용이하게 해독될 수 있다. 소통은 따라서 더욱 자연스럽게 일어난다.
음성의 톤 및 얼굴 표정은 그럼에도, 고정 얼굴 및 톤을 갖는 로봇에 부족하다. 그렇지만, 이러한 두 가지 요소는 또 다른 기능, 즉 이러한 요소를 전달할 코드에 의해 보상된다. 이는 사용자에 의한 더 또는 덜 오랜 학습을 요구한다. 대상은 이러한 학습을 가능한 한 짧게 하고 이에 따라 코드가 사용자가 이미 알고 있는 것과 가능한 한 일관되고 근접하도록 한다.
저서 Designing the User Interface: Strategies for Effective Human-Computer Interaction (1997 발행: http://www.cs.umd.edu/hcil/pubs/books/dtui.shtml)에 기술되고 통상적으로 그래픽 인터페이스에 적용되는, 벤 슈나이더만(Ben Shneiderman)의 인간공학 기초 규칙을 적용함으로써, 단순한 일관된 코드를 달성하고 이에 따라 자연적이고 유동적인 상호작용을 달성한다. 이러한 규칙은 다음과 같은 원리를 기술한다: 코드 및 인터페이스 요소의 일관성, 고급 사용자를 위한 쇼컷의 존재, 수행된 작동으로의 즉각 전환의 존재, 대화의 명확한 종결, 간단한 오류 관리, 피드백의 가능성, 상호작용 동안 그리고 최종적으로 사용자가 자신이 마스터로 느껴야 하는 것, 사용자 단기간 메모리의 더 적은 시뮬레이션.
음성 인식 및 합성은 제한적인데, 특히 자연 언어의 부재 및 제한된 수의 단어를 인식하도록 하는 단일-사용자 인식 때문이다. 본 발명의 해결책은 충분히 자연스러운 인간-로봇 상호작용을 제공하기 위하여 로봇에 의한 자연 언어의 미-사용의 문제를 해결한다. 이미, 최선의 사용은 로봇 음성 합성으로 구성된다. 특히, 음성 합성 및/또는 인식을 사용하는 로봇의 UI요소의 대부분은 현지화된다(regionalized). 프랑스어(또는 영어) 사용자들은 따라서 불어(또는 영어)로 로봇과 대화할 수 있을 것이며, 따라서 상호작용의 성공을 최대화한다. 그 후, 최선의 사용은 인간-로봇 소통의 성공을 촉진하기 위하여 그리고 로봇의 반응을 개선하기 위한 타이밍 및 상호작용 코드로 구성된다. 따라서, 선택 박스는 사용자로부터의 답변에 대한 대기 시간과 같은 몇몇 매개변수를 제시한다. 따라서, 로봇은 사용자가 전혀 답변하지 않았음을 인식하기 이전에 너무 많은 시간을 대기하지 않으며, 또한 음성 인식이 즉시 활성화될 때까지 많은 충분한 시간을 대기한다. 상호작용 코드는 몸짓, 청각 및/또는 시각일 수 있다. 따라서 음성 인식 종료를 위한 청각 경적음은 로봇이 더 이상 사용자의 말을 듣지 않는다는 것을 사용자가 알도록 한다.
더욱이, 본 발명의 해결책에서, 소통은 다른 양상의 일부 통신 채널의 사용에 의해, 특히 로봇의 각 신체부분에서의 거동에 의해 더욱 자연스럽게 렌더링 된다. 따라서, 소리 위치 및 얼굴 탐지(특히 그 위치) 사용은 로봇이 머리를 인간 대화자 쪽으로 돌리도록 하고, 이는 또 다른 인간을 인식할 때 달성되는 것으로 여겨진다. 로봇은 또한 대화자 신분증명(얼굴 인식, 음성의 음색, 음성 프린트 등)을 실시하여 특히 그 이름을 사용하여 인간을 식별하고, 이들에게 특성화된 특징을 식별하는데, 예컨대 로봇에 의해 플레이되는 대환 및 거동의 역사적 로그이다. 로봇은 또한 촉각 센서를 스트로크 하면서(인간의 거동과 유사) 사용자가 무슨 생각을 하는지 거동을 통해 알 수 있으며, 예컨대 음성 소통 동안 플레이 하도록 제공한다. 로봇은 상황에 적합한 방식으로 작동하려고 시도한다. 따라서, 애니메이션을 플레이하고, LED를 사용하고, 소리를 브로드캐스트 하여, 인간이 말할 때(손을 사용하면서 말할 때 등) 인간이 하는 것과 같은 직관적인 몸짓을 수행하도록 한다. 로봇은 또한 머리 끄덕임을 할 수 있다. 일부 연구, 특히 저스틴 카셀(Justine Cassell)의 논문 Social Dialogue With Embodied Conversational Agents (2005년 발행: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.124.9853&rep=rep1&type=pdf)의 연구는 심지어 기계 또는 아바타가 랜덤하게 머리 끄덕임을 하더라도, 이들 기계 또는 아바타가 머리 끄덕임을 할 때 기계 및 아바타가 대화에 더욱 관심 갖는 것으로 사람들이 생각한다는 것을 입증한다. 모든 이러한 몸짓 신호(머리, 팔 또는 손을 올리거나 내리는 것), 소리 신호, 상호작용의 연대, 대화자의 위치, 또는 사용자 의도의 탐지(사용자가 전진하는지 후진하는지)는 인간-로봇 상호작용을 더욱 자연스럽게 만들고 통상적인 인간 코드에 가깝게 함으로써 효과적이 되도록 한다. 이들은 또한 제한적인 음성 인식과 관련된 일부 문제를 해결한다. 이는 본 발명의 장점 중 하나이다. 도 8 내지 13의 스크린샷은 NAO 로봇과 대화자 사이의 대화의 몇몇 케이스가 프로그래밍 되는 방식을 제시한다.
거동에서 선택 박스를 사용하기 위하여, 선택 박스를 코레그라프(Choregraphe)의 디폴트 라이브러리로부터 차트 안으로 드래그-앤-드롭하는 것이 필수적이다(도 8a). 현지화텍스트 박스(LocalizedText Box)가 추가되는데, 이는 불어 및 영어로 질문을 편집하는 것을 가능하게 한다. 질문 "What is your favorite animal?"이 현지화텍스트 박스의 텍스트 플러그인에 영어로 기입된다(도 8b). 상기 질문은 불어로 편집되는 것이 요구된다. 이에 따라, 박스의 플러그인의 콤보 박스가 사용되어, 불어가 선택된다(도 8c). 질문 텍스트는 따라서 편집되지 않을 때 비어있는 텍스트 플러그인에서 다음과 같이 불어로 기입된다: "Quel est ton animal prefere?" (도 8d). 질문은 로봇에 의해 적절하게 관리되기 위하여 선택 박스에 입력되어야만 한다. 현지화텍스트 박스의 출력은 선택 박스의 온스타트(onStart) 입력에 링크된다(도 8e).
이제 선택 박스의 콤보 박스에 의해 표시된 바와 같이, 영어로 선택을 편집한다. 디폴트 선택을 박스로부터 제거한다. 첫 번째 선택 "천산갑(pangolin)"(도 9a)을 테이블의 첫 번째 열에 기입한다. 두 번째 열에, 또 다른 동물 "거미(spider)"를 제안하고, 동의어 "타란큘라(tarantula)"를 슬래시 '/'를 사용하여 "거미(spider)"와 구별하여 추가한다. 이는 로봇이 거미(spider)와 타란큘라(tarantula)를 동의어로 간주하도록 한다 (도 9b). 예컨대 "토끼(rabbit)" 또는 "조랑말(pony)"을 추가함으로써 선택의 편집을 종료한다. 열의 수는 선택이 추가될 때 자동으로 조절된다(도 9c). 콤보 박스를 사용하여 선택 박스를 편집하기 위한 언어를 불어로 변환시킨다(도 9d). 단지 영어에 대하여, 선택 목록이 기재되며, 따라서 "천산갑(pangolin)", "araignee/타란큘라(tarantula)", "토기(lapin)" 및 "조랑말(poney)"을 획득한다(도 9d).
그러나, 로봇이 이러한 선택을 실제로 인식하는지 아닌지를 모른다. 따라서 사용자는 오디오 진단 기능을 실행하는 것을 원한다. 사용자는 "플러스(plus)"를 클릭한다(도 10a). 사용자는 그 후 평가 아이콘(evaluation icon)을 클릭한다(도 10b). 각각의 열에 대하여, 단어들이 평가된다(도 10c). 동의어의 경우, 최선책이 시작 시에 놓이고, 표시된 백분율이 최선의 동의어의 결과이다. 오디오 진단이 종료되고, 그 후 "poney"가 매우 나쁘게 인식되는 것으로 제시된다(도 10d).
그 후 사용자는 단어를 교체하여 "말(cheval)"을 입력한다(도 11a). 진단을 수행한다. "말(cheval)"은 82%의 훌륭한 수치를 획득하며, 이를 유지시킨다(도 11b). 사용자는 영어로 돌아가서 영어로 단어에 대하여 진단을 수행한다(도 12a, 12b). 동의어 "말(horse)"이 "말(cheval)"의 번역으로서, "조랑말(pony)"에 추가된다(도 12c). 진단을 수행하고, "조랑말(pony)"보다 더 우수한 점수를 갖는 "말(horse)"을 첫 번째 위치에 자동적으로 위치시킨다(도 12d).
사용자는 이제 조정될 수 있는 매개변수를 편집한다. 사용자는 선택 박스 하단 좌측에서 썸휠 키(thumbwheel key)를 클릭한다(도 13a). 매개변수화 윈도우를 열고(도 13b); 사용자는 부울린(boolean) 매개변수 "팔을 활성화시킴(activate arms)"을 체크한다(도 13c). 그 후, 로봇은 말하는 동안 팔을 움직일 것이다. 사용자는 이러한 새로운 매개변수화를 승인하기 위해 오케이(OK)를 클릭한다.
거동의 일반적인 입력은 현지화텍스트 박스의 입력에 링크되고, 선택 박스의 출력은 거동의 일반적인 출력에 링크된다(도 13d).
본 명세서에 기재된 바와 같이 실시예에서 프로그래밍된 소프트웨어의 예시적인 작동을 이제 설명한다.
로봇은 코레그라프(Choregraphe) 아이콘 "모든 모터를 온/오프로 설정함(enslave all motors on/off)"에 의해 종속되며, 자세 라이브러리의 "자세 초기화(init pose)" 위치에 의해 똑바로 일어선다. 로봇의 언어는 웹 페이지 상에 존재하는 매개변수에 의해 불어로 설정된다. 코레그라프(Choregraphe)의 플레이(Play) 아이콘에 의해 로봇이 거동을 시작한다.
자신의 팔을 움직이면서, 로봇은 다음과 같은 질문을 하며: "What is your favorite animal?", 그 후 소리 신호를 청취하기 시작한다. 청취하는 도중, 눈은 청색으로 변하고, 귀도 청색으로 변하며, 머리의 촉각 센서는 청색으로 깜박거린다.
사용자는 그 후 "돌고래(dolphin)"라 답변한다. NAO의 눈이 어떤 말을 방금 들었는지 분석하는 동안 노란색으로 변한다. 답변을 이해하지 못하고: 눈은 2회 적색으로 번쩍거리고, 귀는 청색이 된다. 로봇은 "I didn't understand, You can answer: pangolin, spider, rabbit or horse. What is your favorite animal?"이라고 팔을 움직이면서 말하고, 그 후 청취 상태로 되돌아간다.
사용자는 "rabbit"이라고 대답한다. 로봇은 확실하지는 않지만 "pangolin"으로 이해한 것으로 판단한다. 로봇의 눈이 녹색으로 한 번 번쩍거린다. 그 후, 활기차게 팔을 움직이면서, "I understood pangolin, is that correct?"라 말한다. 사용자는 "no"라고 대답한다. 로봇은 눈을 적색으로 한번 번쩍거리고 손을 움직이면서 도움 요청을 개시한다: "pangolin, spider, rabbit, or horse? You can also choose an answer with the help of my tactile sensor. What is your favorite animal?"이라고 하고 청취 모드로 되돌아간다. 사용자는 그 후 전면 촉각 센서를 누르고, 로봇은 눈을 청색으로 한번 번쩍이고 "pangolin"이라고 말한다. 그 다음, 사용자는 다시 누르고, 로봇은 "spider"라고 눈을 청색으로 한 번 번쩍거리면서 대답한다. 세 번째, 로봇은 "rabbit"이라고 눈을 청색으로 한 번 번쩍거리면서 말한다. 사용자는 그 후 중간 촉각 센서를 눌러 그의 선택을 승인한다. 로봇은 눈을 녹색으로 한 번 번쩍거리고, 그 후 "rabbit"을 반복하고 박스 및 거동을 나온다.
이하에서 기재된 것과 같이, 로봇의 통신 채널들 사이의 또 다른 상호작용이 가능하다.
선택 박스는 바람직한 방식으로 촉각 센서와 조합하여 음성 인식을 사용하여 사용자의 선택을 인식한다. 또 다른 가능성은 로봇의 시각, 특히 이미지 인식을 사용하는 것이다. 이는 개체 인식이며 개념 인식이 아니며: 병(bottle)이라고 제시되면, 동일한 병(bottle)을 인식하며 다른 브랜드의 병을 고려하지 않는다. 본 발명의 실시를 가능하게 하는 버전 중 개발 소프트웨어의 가능성 중 하나는 이러한 소프트웨어에서 로봇 카메라를 교환하도록 하는 것이다. 사용자는 로봇 개체를 보여줄 수 있으며, 코레그라프(Choregraphe)에서 획득한 이미지를 볼 수 있고, 이미지 내 관심 개체를 손 안에서 확인할 수 있다. 사용자는 이에 이름을 부여한다. 로봇은 그 후 개체를 분석하고 이를 이미지 데이터베이스에 저장한다.
사용자는 그 후 이러한 이미지를 선택 박스에 대한 가능한 선택으로서 사용할 수 있다.
예를 들어, 사용자가 선택 박스를 개체의 이름, 예컨대 "병(bottle)", "컵(cup)", "잡지(magazine)" 등으로 채우고자 하는 경우, 사용자는 선택 박스를 이러한 단어들로 채우고, 그 후 병, 자신이 좋아하는 컵 및 잡지의 표지를 취해서 이들을 로봇에게 보여주고 로봇은 전술한 바와 같이 이를 분석한다. 그 후 선택박스는 로봇의 이미지 데이터베이스를 검색하며: "컵(cup)"으로 명명된 개체가 존재하는 경우, NAO는 사용자로부터 청취하는 동시에 이를 검색하며, 다른 단어에 대하여도 동일하게 수행한다. 따라서, 사용자는 이러한 박스를 그의 선택을 듣고 있는 NAO에 대하여 개시한다. 사용자는 "병(bottle)"이라고 말하지만 로봇은 이해하지 못한다. 2회 더 수행한 후, 로봇은 사용자에게 "병(bottle)", "컵(cup)" 및 "잡지(magazine)"를 자신에게 보여달라고 설명하는데 왜냐하면 이들이 자신의 데이터베이스에 있기 때문이다. 사용자는 기록을 위하여 작용하는(또는 동일 브랜드의) 병을 들으면서 보여줄 수 있다. 로봇은 그 후 단어 "병(bottle)"으로 인식한 것처럼 행동한다.
본 발명의 구성 내에서, 수신/읽기, 쓰기/송신 및 로봇의 사용자의 메시지 계정의 관리를 위한 매개체으로서 작동하도록 로봇을 프로그래밍할 수 있다. 이러한 애플리케이션은 이하에서 설명된다.
메일 애플리케이션에 대하여, NAO는 특히 이메일을 읽고, 이메일에 응답하고 이메일을 연락처로 보낼 수 있으며, 또한 수신된 메일의 저자를 연락처에 추가할 수 있으며, 메시지를 삭제하고, 읽지 않음으로 만들고, 다시 읽고, 그 다음 또는 이전 메시지를 읽을 수 있다.
3가지 선택 박스가 본 애플리케이션에서 사용되며, 따라서 이는 불가피한 요소이다. 단어들은 오디오 진단에 의해 선택되었다.
애플리케이션이 실행될 때, 로봇은 사용자가 새로운 메시지를 수신하였는지 여부를 확인하면서 시작한다. 그렇다면, 로봇은 첫 번째 새로운 메시지를 읽고 그 후 질문 없이 선택 박스를 실행한다. 그렇지 않은 경우, 로봇은 동일한 선택박스를 실행하지만 다음과 같은 질문을 한다: "What would you like me to do?". 질문 없이 또는 질문을 하면서 선택 박스를 실행할 수 있다는 사실은 메일 애플리케이션에서 사용된다. 이러한 선택 박스는 사용자가 NAO의 가능한 행동으로부터 선택할 수 있도록 한다. 이러한 행동은 박스의 플러그인의 테이블에 기록된다. "타임아웃" 선택 박스 출력이 유용한데, 왜냐하면 타임아웃의 경우, NAO가 다음 메시지를 읽기 때문이다. 매개변수 "응답이 없는 경우 최대 반복 횟수(maximum number of repetition when no reply)"가 그 후 1로 설정되고: 로봇은 첫 번째 타임아웃에서 본 선택 박스를 나간다. 더욱이, 매개변수 "승인된 선택 박복"이 비활성화되는데, 왜냐하면 사용자에 의한 선택 이후 로봇이 로봇이 무엇을 이해하였는지를 명확히 나타내는 특정 애니메이션 또는 행동을 수행하기 때문이다. 부울린 매개변수 "머리 활성화(activate head)", "팔 활성화(activate arms)" 및 "다리 활성화(activate legs)"에 의해, 로봇은 그 발표에 적합한 애니메이션으로 활동할 것이다.
예를 들어, 이러한 박스의 가능한 선택은 다음과 같다:
- 응답 기록/ 본 메일에 대한 응답/메일에 대한 응답/응답;
- 다시 읽기/본 메일 다시 읽기/ 메일 읽기/다시 읽기;
- 다음/다음 읽기/ 다음 메일 읽기;
- 이전/이전 메일 읽기/이전 메시지 읽기;
- 읽지 않음으로 표시/보관/추후 다시 읽기
- 삭제/메일 삭제/메시지 삭제
- 메일 쓰기/메일 보내기/보내기;
- 연락처에 추가;
- 나가기/그만하기/통과/중지/중지/취소/조용/ "나가기(Exit)"는 선택 박스의 디폴트 선택 중 하나이며, 이는 메일 애플리케이션으로부터 나가는 것을 가능하게 함.
사용자가 "메일 쓰기(Write a mail)" 옵션을 선택하는 경우, 사용자는 먼저 주소록으로부터 연락처를 선택하여야 한다. 이러한 선택 기능을 수행하기 위해, 입력으로서 질문 "Who do you want to write to?"를 갖는 선택 박스가 사용된다. 선택의 목록은 가변적이다. 후속하여, 선택 박스의 테이블이 채워지지 않고, 연락처 목록이 이를 저장하는 파일로부터 회수되고 다이내믹 유형으로서 선택 박스의 입력을 "선택목록("choicesList)"에 보낸다. 이때, 매개변수 "승인된 선택 반복(repeat validated choice"이 활성화되어, 사용자에게 NAO가 실제로 메시지가 누구에게 보내지는지 여부를 이해하였다는 것을 표시한다.
매개변수 "응답이 없는 경우 최대 반복 횟수(maximum number of repetition when no reply)"가 예컨대 3으로 설정되며, 이는 타이아웃의 경우, 메일을 아무에게도 보내지 않고, 메일 보내기를 취소하고 메인 메뉴로 돌아오기 위한 디폴트 값이다. 유사하게, 애플리케이션의 디폴트 선택이 "나가기(Exit)"를 말하는 것은 메인 메뉴로 되돌아 가도록 한다. 도움 기능은 사용자가 더 이상 연락처를 재호출하지 않는 경우를 위한 것이다. 이러한 경우, 예컨대 촉각 센서를 사용하여, NAO는 연락처 목록을 언급한다. 메일을 직접 보내는 경우, 또는 수신된 메시지를 응답하는 경우, 로봇은 사용자 메시지를 기록할 것이다.
일단 메시지가 종료되면, 로봇은 기록된 메시지를 다시 읽고 그 후 선택 박스를 열어서 예컨대 다음과 같은 여러 상호작용을 제안한다:
- 리플레이/메시지 리플레이/내 메시지 리플레이: NAO는 메시지를 다시 읽음.
- 메시지 다시 기록/내 메시지 다시 기록/그것 다시 기록: 첫 번째가 적절하지 않은 경우 메시지가 다시 기록될 수 있음;
- 그것 보내지 마시오/보내지 마시오/메시지 보내지 마시오: NAO는 메시지를 보내지 않을 것이며, 그 후 애플리케이션의 이전 상태로 되돌아 갈 것임;
- 그것 보내기/메시지 보내기/내 메시지 보내기: NAO는 메시지를 보낼 것임;
- 타임아웃의 경우, 메시지가 보내짐;
- 예컨대 반복적으로 나가기 또는 실패를 요청하는 것과 같이, 타임아웃이 아닌 다른 방식으로 박스를 나오는 경우, 애플리케이션은 이전 상태로 되돌아 감.
매개변수는 메인 메뉴의 선택 박스에 대한 것과 실질적으로 동일하며, 여기서 매개변수 "응답이 없는 경우 최대 반복 횟수(maximum number of repetition when no reply)"는 1로 설정된다. 로봇이 타임아웃이라고 간주할 때까지 응답 없는 횟수를 나타내는 매개변수 "말하기 인식 타임아웃(speech recognition timeout)", 및 "확인 시의 말하기 인식 타임아웃(speech recognition timeout when confirmation)"은 예를 들어 디폴트값으로 6 대신에 4초로 설정될 수 있으며, 이에 따라 사용자가 용이하게 아무것도 말하지 않고 메시지를 보낼 수 있다.
선택 박스는 또한 박스의 사용 전체 기간 동안 일정한 매개변수를 갖는 고정식으로 구성될 수 있다. 그렇지만 자동으로 질문을 생성하기 위한 시스템의 사용 구성 내에서는, 매개변수가 자동으로 조절될 수 있다. 예를 들어, As An Angel사에 의해 개발된 것과 같은 대화자의 사용 구성에 있어서, 상기 대화자는 자동으로 발생된 질문-답변의 함수로서 선택 박스를 구성할 수 있다.
코레그라프(Choregraphe) 거동 개발에 대하여 특히 본 발명의 실시를 촉진하기 위한 또 다른 개선점이 있을 수 있다. 이들의 설명을 이하에서 제시한다.
코레그라프(Choregraphe) 박스는 지원되는 프로그래밍 언어 중 하나로 된 스트립트에 의해 실행된다. 이러한 박스가 반복 횟수, 로봇에 의해 사용되는 언어, 로봇이 말해야 하는 텍스트와 같은 매개변수 양상을 갖는 경우, 이들 정보 아이템들은 박스의 스크립트로 직접적으로 통합된다. 예를 들어 매개변수를 다르게 사용하기 위해 상기 매개변수를 복사한 이후 박스의 매개변수를 변형시키는 것이 요구되는 경우, 그 거동을 변화시키기 위해 박스의 스크립트를 변형시키는 것이 필요하다. 이것은, 사용자가 사용된 스크립트 언어에 대한 완전한 지식 없이 수행하는 것을 원하고, 코레그라프(Choregraphe) 사용자의 생산성을 개선하는 것을 원하는 점에서 통상적인 작업이므로, 특별한 인터페이스가 박스 스크립트를 구성할 수 있도록 개발되었다. 이러한 기능에는 2가지 양상이 있다.
코레그라프(Choregraphe) 인터페이스에서, 사용자는 박스에 대한 입력 및 출력을 생성할 수 있는 것과 동일한 방식으로, 박스의 속성을 편집하기 위하여 윈도우의 "박스 매개변수(Box parameters)"를 생성할 수 있다. 각각의 "박스 매개변수(Box parameters)"는 이름, 설명, 유형(부울린, 정수, 플로팅 및 스트링 중에서)을 가지며, 이러한 유형의 함수로서 추가적인 속성, 예컨대 디폴트 값을 가질 수 있다. 마지막으로, "박스 매개변수(Box parameters)"는 부모 박스로부터 유래되어 정의될 수 있으며, 이는 값이 결정되는 방식에 영향을 미칠 것이다. 일단 "박스 매개변수(Box parameters)"가 정의되면, 박스는 그 바닥 좌측 코너에서 추가 시각 표시기를 갖는 차트에서 디스플레이 된다. 사용자가 이러한 아이콘을 클릭하면, "박스 매개변수(Box parameters)" 편집 대화가 열리고, 사용자는 "박스 매개변수(Box parameters)"의 속성 내에서 정의된 선택적인 한계 구성 내에서, 각각의 "박스 매개변수(Box parameters)"와 관련된 값을 정의할 수 있다.
박스의 스크립트에서, 박스의 저자는 이후 "박스 매개변수(Box parameters)"의 이름을 논거로 취하는 몇몇 기능의 도움으로 "박스 매개변수(Box parameters)"에 접속할 수 있다. "박스 매개변수(Box parameters)"의 현재 값을 상의하고 이를 변화시킬 수 있다. 또한 다이내믹 "박스 매개변수(Box parameters)"를 생성할 수 있으며, 이는 코레그라프(Choregraphe)에 나타나지 않을 것이지만, 박스의 스크립트에서 임시 저장으로서 작용할 수 있을 것이다. 매개변수의 현재 값은 부모 박스로부터 유래된 것으로 표시되거나 또는 그렇지 않은 것으로 표시되는 사실에 의존한다. 그렇지 않은 경우(디폴트 경우), "박스 매개변수(Box parameters)"는 박스에 대하여 특성화되며, 박스의 스크립트가 이를 상의하는 경우, 그 현재 값은 간단하게 회복된다. 유래된 것으로 표시된 경우, 값을 읽는 동안, 박스 차트의 계층을 통한 백트래킹이 동일 이름의 "박스 매개변수(Box parameters)"를 함유하는 부모 박스가 발견될 때까지 일어난다. 아무것도 발견되지 않은 경우, 현재 박스에 대한 현재 값이 사용된다.
더욱이, 로봇이 자기 카메라의 시야에 들어오는 개체를 인식하도록 하기 위한 소프트웨어 모듈이 사용될 수 있다. 그렇지만, 인식될 개체는 먼저 학습 단계에서 학습되어야 한다. 학습은 코레그라프(Choregraphe) 내 특정 인터페이스의 도움으로 수행된다.
이러한 인터페이스는 로봇의 카메라에 의해 전송된 비디오를 실시간으로 디스플레이 한다. 이미지는, 카메라를 갖고 올바르게 비디오 캡처 모듈로 구성되는 로봇에 코레그라프(Choregraphe)가 연결될 때에만 활용 가능하다. 비디오 디스플레이가 활성화될 때, 사용자는 학습을 시작할 수 있다. 그 후 카운트다운이 이미지에 나타나며, 사용자는 예컨대 4초 동안 개체를 카메라 전방에 제공한다. 카운트다운 종료 시에 이미지는 캡처 되고 기록된다. 사용자는 그 후 고정된 이미지상에 다각형을 그려서 이미지 중의 관심 개체의 윤곽을 잡아야 한다. 일단 다각형이 닫히면, 대화가 열려서 사용자에게 상기 개체를 정의하는 키워드를 입력하라고 한다.
각각의 학습은 사용자의 컴퓨터에 코레그라프(Choregraphe)에 의해 저장되는 데이터베이스 내 엔트리를 생성한다. 일단 학습이 종료되면, 버튼을 사용하여 데이터베이스의 이전 다운 버전을 로봇에 전송한다. 개체 인식 모듈은 그 후 이러한 데이터베이스를 사용할 것이며, 개체가 인식될 때, 관련 키워드를 포함하는 이벤트가 로봇에서 개시될 것이다.
더욱이, 코레그라프(Choregraphe)는 로봇에 대한 거동의 편집자이다. 도 4와 관련하여 전술한 바와 같이, 거동은 컴퓨터 프로그램과 유사한 개체이며, 이는 로봇에 의해 실행될 수 있다. 이러한 거동을 로봇에 설치하고 실행하기 위하여, 로봇에 대한 거동을 관리하기 위한 인터페이스 개발이 존재하였다. 코레그라프(Choregraphe)가 로봇에 연결되면, 애플리케이션 메뉴의 엔트리가 거동 관리자를 디스플레이한다. 이는 로봇에 설치된 거동의 목록, 뿐만 아니라 이를 조작하기 위한 버튼 설정을 디스플레이하는 모달 윈도우이다.
각각의 경우 설치된 거동은 그 이름, 상태(현재 실행 중인지 아닌지) 및 로봇이 시작할 때 상기 거동이 실행되어야만 하는지 여부를 정의하는 속성을 디스플레이 한다. 거동을 시작 또는 중지하기 위하여, 현재 상태를 나타내는 아이콘을 클릭하며, 그 효과는 상태를 고정시킨다. 일단 거동이 종료되면 상태는 자동으로 "정지되었음(stopped)"으로 다시 변한다. 속성 "스타트 업에서 시작(launch on startup)"은 체크될 박스이다. 이는 속성의 현재 값을 나타내며, 사용자는 이러한 값을 바꾸기 위해 이를 단순히 클릭할 수 있다.
거동 목록과 나란히 디스플레이되는 버튼은 일부를 추가하건, 일부 삭제하건, 일부를 사용자 컴퓨터에 전달할 수 있다. 사용자는 따라서, 거동들이 자신의 컴퓨터에 있는 파일인 것처럼 매우 용이하게 로봇에 설치된 거동을 조작할 수 있다. 특히, 사용자는 자신의 컴퓨터에 기록하지 않으면서, 거동을 다운로드 하고, 이를 변형시켜, 로봇에 재설치할 수 있으며,
사용자에 의해 설치된 거동들은, 여러 거동 박스, 거동 프레임 및 타임라인에 의해 정의된 거동들 사이 및 시각적 일치의 제약 하에서, 병행하여 실행될 수 있다.
앞서 기재된 실시예들은 본 발명의 실시예의 예로서 제공된다. 이는 첨부된 청구항에 의해 정의되는 본 발명의 분야를 어떠한 방식으로도 제한하지 않는다.

Claims (22)

  1. 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신(natural communication)을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨; 및 상기 채널들의 입력/출력을 위한 제어 모듈을 포함하는 인간형 로봇에 있어서,
    상기 제어 모듈은, 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성됨을 특징으로 하는, 인간형 로봇.
  2. 제 1 항에 있어서, 상기 통신 채널들은 청각, 시각, 촉각, 몸짓, 위치 또는 심벌 메시지를 송신 및/또는 수신하기 위한 통신 채널들의 그룹으로부터 선택됨을 특징으로 하는, 인간형 로봇.
  3. 제 2 항에 있어서, 제1 통신 채널은 소리 송신 채널이며 제2 통신 채널은 상기 적어도 하나의 대화자에 의해 로봇의 적어도 한 부분으로부터의 몸짓 및/또는 위치를 수신하기 위한 채널이며, 상기 몸짓 및/또는 위치는 상기 대화자에 의해 상기 로봇으로 통신되는 입력을 나타내며, 상기 입력의 명세(specification)는 상기 제1 채널 상에서 송신된 메시지에 의해 대화자에 대하여 로봇에 의해 정의됨을 특징으로 하는, 인간형 로봇.
  4. 제 3 항에 있어서, 제3 촉각 통신 채널을 더욱 포함하며, 이에 의하여 상기 대화자는 상기 제2 채널로 들어가는 입력을 승인함을 특징으로 하는, 인간형 로봇.
  5. 제 2 항에 있어서, 상기 제1 통신 채널은 소리 메시지를 수신하기 위한 채널이며 상기 제2 통신 채널은 소리 메시지를 송신하기 위한 채널이며, 여기서 상기 제어 모듈은 상기 제1 채널 상에서 수신된 제1 메시지의 상기 로봇에 의한 이해의 신뢰 수준을 평가할 수 있고 상기 제2 채널 상에서 자신의 콘텐츠가 상기 신뢰 수준에 의존하는 적어도 하나의 제2 메시지를 발생시킬 수 있음을 특징으로 하는, 인간형 로봇.
  6. 제 5 항에 있어서, 상기 제1 채널은 각각이 예상된 인식률과 관련되는 표현들의 목록에 의해 수신된 메시지의 음성 인식을 위한 필터를 포함하며, 여기서 상기 제2 메시지의 콘텐츠는 상기 제1 채널 상에서 상기 제1 메시지의 반복을 위한 요청, 상기 필터의 표현들의 서브세트의 상기 제1 채널 상에서 대화자에 의해 송신될 제3 메시지에 의한 확인을 위한 요청, 및 적어도 제3 채널 상에서 적어도 또 다른 메시지를 대화자에 의해 송신하기 위한 요청을 포함하는 요청들의 그룹으로부터 선택되는 휴리스틱(heuristic)에 의해 선택됨을 특징으로 하는, 인간형 로봇.
  7. 제 6 항에 있어서, 상기 제1 채널 상에서의 청취의 시작 신호를 상기 제2 채널 상에서 송신하여 상기 제1 및 제2 채널 상에서 메시지의 반-이중 모드(half-duplex mode)에서의 시퀀싱을 보장하도록 구성됨을 특징으로 하는, 인간형 로봇.
  8. 제 6 항에 있어서, 상기 선택 휴리스틱(heuristic)은 상기 예상된 인식률에 기초하여 결정된 임계치에 대한 실질 인식률의 위치의 함수임을 특징으로 하는, 인간형 로봇.
  9. 제 6 항에 있어서, 상기 제3 채널은 촉각 인지를 위하거나 또는 로봇의 한 부분으로부터의 몸짓을 수신하기 위한 채널임을 특징으로 하는, 인간형 로봇.
  10. 제 5 항에 있어서, 전자 메일 시스템과 인터페이스 하기 위한 모듈을 더욱 포함하며, 상기 인터페이스 모듈은, 상기 전자 메일 시스템에 대한 계정 소유자가, 제2 채널 상에서 전자 메시지를 수신/판독하기 위하여, 제1 채널 상에서 기록/송신하기 위하여, 그리고 상기 제1 및 제2 채널을 사용하여 대화에 의해 상기 계정을 관리하기 위하여, 상기 로봇을 매개체(agent)로서 사용하는 것을 가능하게 함을 특징으로 하는, 인간형 로봇.
  11. 제 6 항에 있어서, 상기 제3 채널은 상기 제1 채널의 필터의 표현들의 목록에 대응하는 개체의 이미지의 시각적 인지를 위한 채널이며, 상기 이미지는, 상기 통신 채널들의 입력/출력을 위한 상기 제어 모듈에 의해 접근가능하며 상기 표현과 함께 사전에 기록된 상기 개체의 이미지의 데이터베이스와 비교됨을 특징으로 하는, 인간형 로봇.
  12. 제 2 항에 있어서, 제1 통신 채널은 시각 메시지를 수신하기 위한 채널이며 제2 통신 채널은 소리 메시지를 송신하기 위한 채널이며 여기서 상기 제어 모듈은 상기 제1 채널 상에서 수신된 제1 메시지의 상기 로봇에 의한 이해의 신뢰 수준을 평가할 수 있고 상기 제2 채널 상에서 자신의 콘텐츠가 상기 신뢰 수준에 의존하는 적어도 하나의 제2 메시지를 발생시킬 수 있음을 특징으로 하는, 인간형 로봇.
  13. 제 12 항에 있어서, 상기 제1 채널은 각각이 예상된 인식률과 관련되는 표현들의 목록에 의해 수신된 메시지의 이미지를 인식하기 위한 필터를 포함하며, 여기서 상기 제2 메시지의 콘텐츠는 제1 채널 상에서 상기 제1 메시지의 반복을 위한 요청, 상기 필터의 표현들의 서브세트의 소리 메시지를 수신하기 위하여 제3 채널 상에서 대화자에 의해 송신될 제3 메시지에 의한 확인을 위한 요청, 및 적어도 제4 채널 상에서 적어도 또 다른 메시지의 대화자에 의한 송신을 위한 요청을 포함하는 요청들의 그룹으로부터 선택되는 휴리스틱(heuristic)에 의해 선택됨을 특징으로 하는, 인간형 로봇.
  14. 제 1 항에 있어서, 채널들 중 적어도 하나는 입력 및 출력에 대한 상기 제어 모듈에 의해 병합되는, 2개 채널의 출력을 입력으로서 수신하는 하이브리드 채널임을 특징으로 하는, 인간형 로봇.
  15. 서로 다른 양상을 사용하는 통신 채널에 의한 메시지 전송의 적어도 두 단계, 여기서 상기 두 단계 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨; 및 상기 채널들의 입력/출력을 제어하는 단계;를 포함하는, 인간형 로봇과 적어도 하나의 대화자의 통신을 제어하는 방법에 있어서,
    상기 제어 단계는, 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성됨을 특징으로 하는, 인간형 로봇과 적어도 하나의 대화자의 통신을 제어하는 방법.
  16. 프로그램이 컴퓨터에서 실행될 때 제 15 항에 따르는 방법의 실행을 가능하게 하는 프로그램 코드 명령을 포함하는 컴퓨터 프로그램에 있어서,
    상기 프로그램은 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨; 및 상기 채널들의 입력/출력의 제어를 위한 서브루틴(subroutine);을 포함하는 인간형 로봇을 허용하도록 구성되며, 여기서 상기 제어 서브루틴은 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성됨을 특징으로 하는, 컴퓨터 프로그램.
  17. 적어도 하나의 인간형 로봇과 적어도 하나의 대화자 사이의 통신 인터페이스를 편집 및 제어하는 방법에 있어서,
    상기 적어도 하나의 인간형 로봇은 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨; 및 상기 채널들의 입력/출력을 위한 제어 모듈;을 포함하며, 상기 제어 모듈은, 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 실행에 기초하여 상기 로봇에 의해 수신된 메시지의 이해를 개선하도록 구성되며, 상기 방법은 상기 선택된 기능을 프로그래밍하는 단계를 더욱 포함함을 특징으로 하는, 통신 인터페이스를 편집 및 제어하는 방법.
  18. 제 17 항에 있어서, 상기 선택된 기능을 프로그래밍하는 단계는, 제1 통신 채널을 소리 송신 채널로서 그리고 제2 통신 채널을 상기 적어도 하나의 대화자에 의해 로봇의 사지 중 하나에 구현된 적어도 하나의 몸짓을 수신하기 위한 채널로서 정의하는 적어도 하나의 하위-단계; 대화자에 의해 로봇으로 통신되는 입력과 상기 적어도 하나의 몸짓 사이의 통신을 정의하는 하위-단계; 및 로봇에 의해 제1 채널 상에서 대화자에게 송신될 적어도 하나의 메시지를 발생시킴으로써 상기 입력의 명세를 정의하는 하위-단계;를 포함함을 특징으로 하는, 통신 인터페이스를 편집 및 제어하는 방법.
  19. 제 18 항에 있어서, 제3 촉각 통신 채널을 정의하는 하위-단계를 더욱 포함하며, 여기서 대화자는 상기 제3 촉각 통신 채널에 의해 제2 채널 상에서 수행되는 입력을 승인함을 특징으로 하는, 통신 인터페이스를 편집 및 제어하는 방법.
  20. 제 17 항에 있어서, 상기 선택된 기능을 프로그래밍하는 단계는 제1 통신 채널을 소리 메시지를 수신하기 위한 채널로서 그리고 제2 통신 채널을 소리 메시지를 송신하기 위한 채널로서 정의하는 적어도 하나의 하위-단계; 상기 제1 채널 상에서 수신된 제1 메시지의 상기 로봇에 의한 이해의 신뢰 수준을 평가하기 위한 기능을 정의하는 하위-단계; 및 자신의 콘텐츠가 상기 신뢰 수준에 의존하는 상기 제2 채널 상의 적어도 하나의 제2 메시지의 발생을 정의하는 하위-단계;를 포함함을 특징으로 하는, 통신 인터페이스를 편집 및 제어하는 방법.
  21. 프로그램이 컴퓨터에서 실행될 때 제 17 항의 방법의 실행을 위한 프로그램 코드 명령을 포함하는 컴퓨터 프로그램에 있어서,
    상기 프로그램은, 서로 다른 양상에 따라 적어도 하나의 대화자와 메시지의 자연 통신을 위한 적어도 2개의 채널, 여기서 상기 적어도 2개의 채널 각각은 수신, 송신 채널을 포함하는 채널들의 그룹으로부터 선택됨; 및 상기 채널들의 입력/출력의 제어를 위한 서브루틴(subroutine);을 포함하는 인간형 로봇을 사용자가 프로그래밍하도록 구성되며, 로봇에 의해 실행되며 그리고 제1 채널 및 제2 채널 상에서 수신/송신된 메시지를 결합하는 기능 및 하나의 채널 상에서 수신된 제1 메시지에 기초하여 발생된 제2 메시지를 송신하는 기능을 포함하는 기능들의 그룹으로부터 선택되는 적어도 하나의 기능의 제어를 위한 서브루틴에서의 프로그래밍을 위한 모듈을 포함하는 것을 특징으로 하는, 컴퓨터 프로그램.
  22. 제 21 항에 있어서, 적어도 하나의 매개변수의 제어 박스로의 전달을 프로그래밍하기 위한 모듈을 더욱 포함함을 특징으로 하는, 컴퓨터 프로그램.
KR1020137002968A 2010-07-23 2011-07-11 자연스러운 대화 인터페이스가 장착된 인간형 로봇, 이러한 로봇의 제어 방법 및 대응 프로그램 KR101880775B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1056047A FR2963132A1 (fr) 2010-07-23 2010-07-23 Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
FR1056047 2010-07-23
PCT/EP2011/061743 WO2012010451A1 (fr) 2010-07-23 2011-07-11 Robot humanoide dote d'une interface de dialogue naturel, procede de controle du robot et programme correspondant

Publications (2)

Publication Number Publication Date
KR20140000189A true KR20140000189A (ko) 2014-01-02
KR101880775B1 KR101880775B1 (ko) 2018-08-17

Family

ID=43618099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137002968A KR101880775B1 (ko) 2010-07-23 2011-07-11 자연스러운 대화 인터페이스가 장착된 인간형 로봇, 이러한 로봇의 제어 방법 및 대응 프로그램

Country Status (8)

Country Link
US (1) US8942849B2 (ko)
EP (1) EP2596493A1 (ko)
JP (2) JP6129073B2 (ko)
KR (1) KR101880775B1 (ko)
CN (1) CN103119644B (ko)
BR (1) BR112013001711A2 (ko)
FR (1) FR2963132A1 (ko)
WO (2) WO2012010437A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170003580A (ko) * 2014-04-17 2017-01-09 소프트뱅크 로보틱스 유럽 휴머노이드 로봇과 사용자 간 멀티모드 대화를 수행하는 방법, 이러한 방법을 구현하기 위한 컴퓨터 프로그램 프로덕트 및 휴머노이드 로봇
CN109822581A (zh) * 2018-12-08 2019-05-31 浙江国自机器人技术有限公司 用于机房机器人的导览方法
KR20190069282A (ko) * 2017-12-11 2019-06-19 한국전자통신연구원 로봇의 사회 지능 평가 방법 및 이를 위한 장치
KR20200007011A (ko) * 2017-09-12 2020-01-21 구글 엘엘씨 다수의 컴퓨팅 장치를 이용한 인터콤 스타일 통신

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
FR2962048A1 (fr) * 2010-07-02 2012-01-06 Aldebaran Robotics S A Robot humanoide joueur, methode et systeme d'utilisation dudit robot
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US10866783B2 (en) * 2011-08-21 2020-12-15 Transenterix Europe S.A.R.L. Vocally activated surgical control system
KR20130021943A (ko) * 2011-08-24 2013-03-06 한국전자통신연구원 디지털 마인드 서비스 장치 및 방법
JP5982840B2 (ja) * 2012-01-31 2016-08-31 富士通株式会社 対話装置、対話プログラムおよび対話方法
FR2989209B1 (fr) 2012-04-04 2015-01-23 Aldebaran Robotics Robot apte a integrer des dialogues naturels avec un utilisateur dans ses comportements, procedes de programmation et d'utilisation dudit robot
US20130311528A1 (en) * 2012-04-25 2013-11-21 Raanan Liebermann Communications with a proxy for the departed and other devices and services for communicaiton and presentation in virtual reality
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US20170206064A1 (en) * 2013-03-15 2017-07-20 JIBO, Inc. Persistent companion device configuration and deployment platform
US9037396B2 (en) * 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US9242372B2 (en) * 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9314924B1 (en) 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
JP5945732B2 (ja) * 2013-07-03 2016-07-05 パナソニックIpマネジメント株式会社 電子部品実装システムにおける伝言伝達装置
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
JP5996603B2 (ja) * 2013-10-31 2016-09-21 シャープ株式会社 サーバ、発話制御方法、発話装置、発話システムおよびプログラム
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9358685B2 (en) 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
US9302393B1 (en) * 2014-04-15 2016-04-05 Alan Rosen Intelligent auditory humanoid robot and computerized verbalization system programmed to perform auditory and verbal artificial intelligence processes
EP2933070A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Methods and systems of handling a dialog with a robot
CN106573378A (zh) * 2014-06-12 2017-04-19 普雷-艾公司 通过机器人反馈增强编程教育的系统和方法
US10279470B2 (en) 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
CN106575382B (zh) * 2014-08-07 2021-12-21 学校法人冲绳科学技术大学院大学学园 估计对象行为的计算机方法和系统、预测偏好的系统和介质
CN104267922B (zh) * 2014-09-16 2019-05-31 联想(北京)有限公司 一种信息处理方法及电子设备
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
CN104493827A (zh) * 2014-11-17 2015-04-08 福建省泉州市第七中学 智能认知机器人及其认知系统
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
CN104951077A (zh) * 2015-06-24 2015-09-30 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法、装置和终端设备
WO2016206643A1 (zh) * 2015-06-26 2016-12-29 北京贝虎机器人技术有限公司 机器人交互行为的控制方法、装置及机器人
CN106313113B (zh) * 2015-06-30 2019-06-07 芋头科技(杭州)有限公司 一种对机器人进行训练的系统及方法
CN104985599B (zh) * 2015-07-20 2018-07-10 百度在线网络技术(北京)有限公司 基于人工智能的智能机器人控制方法、系统及智能机器人
US9828094B2 (en) * 2015-07-26 2017-11-28 John B. McMillion Autonomous cleaning system
US20170050320A1 (en) * 2015-08-18 2017-02-23 Behzad Nejat Novel robotic device with a configurable behavior image
CN105206273B (zh) * 2015-09-06 2019-05-10 上海智臻智能网络科技股份有限公司 语音传输控制方法及系统
JP5892531B1 (ja) * 2015-11-16 2016-03-23 プレンプロジェクト・ホールディングス有限会社 リンク列マッピング装置、リンク列マッピング方法、及びプログラム
CN105425648A (zh) * 2016-01-11 2016-03-23 北京光年无限科技有限公司 便携机器人及其数据处理方法和系统
CN105680972A (zh) * 2016-01-20 2016-06-15 山东大学 机器人集群协同任务网络同步控制方法
CN105808501A (zh) * 2016-03-09 2016-07-27 北京众星智联科技有限责任公司 一种人工智能学习的实现
JP6726388B2 (ja) * 2016-03-16 2020-07-22 富士ゼロックス株式会社 ロボット制御システム
EP3450118A4 (en) * 2016-04-28 2019-04-10 Fujitsu Limited ROBOT
DE102016115243A1 (de) * 2016-04-28 2017-11-02 Masoud Amri Programmieren in natürlicher Sprache
US11645444B2 (en) * 2016-05-10 2023-05-09 Trustees Of Tufts College Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems
US10241514B2 (en) 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
US20170326443A1 (en) * 2016-05-13 2017-11-16 Universal Entertainment Corporation Gaming machine
US9987752B2 (en) 2016-06-10 2018-06-05 Brain Corporation Systems and methods for automatic detection of spills
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
US10239205B2 (en) * 2016-06-29 2019-03-26 International Business Machines Corporation System, method, and recording medium for corpus curation for action manifestation for cognitive robots
US10016896B2 (en) 2016-06-30 2018-07-10 Brain Corporation Systems and methods for robotic behavior around moving bodies
CN106056109A (zh) * 2016-07-30 2016-10-26 深圳市寒武纪智能科技有限公司 一种基于计算机视觉的讲故事机器人
CN106327291A (zh) * 2016-08-10 2017-01-11 深圳市豆娱科技有限公司 一种基于虚拟现实商城的导购交互系统及其应用方法
JP6517762B2 (ja) 2016-08-23 2019-05-22 ファナック株式会社 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
JP2018067100A (ja) * 2016-10-18 2018-04-26 株式会社日立製作所 ロボット対話システム
US10987804B2 (en) * 2016-10-19 2021-04-27 Fuji Xerox Co., Ltd. Robot device and non-transitory computer readable medium
US10274325B2 (en) 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10001780B2 (en) 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
JP6713057B2 (ja) * 2016-11-08 2020-06-24 シャープ株式会社 移動体制御装置および移動体制御プログラム
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
US11443161B2 (en) 2016-12-12 2022-09-13 Microsoft Technology Licensing, Llc Robot gesture generation
JP6795387B2 (ja) * 2016-12-14 2020-12-02 パナソニック株式会社 音声対話装置、音声対話方法、音声対話プログラム及びロボット
KR102616403B1 (ko) * 2016-12-27 2023-12-21 삼성전자주식회사 전자 장치 및 그의 메시지 전달 방법
CN106548772A (zh) * 2017-01-16 2017-03-29 上海智臻智能网络科技股份有限公司 语音识别测试系统及方法
US10377040B2 (en) 2017-02-02 2019-08-13 Brain Corporation Systems and methods for assisting a robotic apparatus
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
JP6433525B2 (ja) * 2017-03-06 2018-12-05 政信 近藤 個人認証装置
CN110692048B (zh) * 2017-03-20 2023-08-15 电子湾有限公司 会话中任务改变的检测
JP7002143B2 (ja) * 2017-03-21 2022-01-20 国立大学法人東京工業大学 コミュニケーション解析装置およびそれに使用される測定・フィードバック装置、インタラクション装置
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
CN106920552A (zh) * 2017-03-30 2017-07-04 天津中科先进技术研究院有限公司 一种具有云端交互功能的智能机器人
JP6610610B2 (ja) * 2017-04-27 2019-11-27 トヨタ自動車株式会社 音声入出力装置、無線接続方法、音声対話システム
CN108235745B (zh) 2017-05-08 2021-01-08 深圳前海达闼云端智能科技有限公司 机器人唤醒方法、装置和机器人
CN107219849B (zh) * 2017-05-23 2020-04-07 北京理工大学 一种多途径的捡球和发球机器人控制系统
US10678338B2 (en) 2017-06-09 2020-06-09 At&T Intellectual Property I, L.P. Determining and evaluating data representing an action to be performed by a robot
US10569420B1 (en) 2017-06-23 2020-02-25 X Development Llc Interfacing with autonomous devices
CN111201566A (zh) 2017-08-10 2020-05-26 费赛特实验室有限责任公司 用于处理数据和输出用户反馈的口语通信设备和计算体系架构以及相关方法
US20200357382A1 (en) * 2017-08-10 2020-11-12 Facet Labs, Llc Oral, facial and gesture communication devices and computing architecture for interacting with digital media content
US11024294B2 (en) 2017-12-29 2021-06-01 DMAI, Inc. System and method for dialogue management
US11222632B2 (en) 2017-12-29 2022-01-11 DMAI, Inc. System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
US11504856B2 (en) * 2017-12-29 2022-11-22 DMAI, Inc. System and method for selective animatronic peripheral response for human machine dialogue
US10800039B2 (en) * 2018-01-23 2020-10-13 General Electric Company Controlling and commanding an unmanned robot using natural interfaces
US20190236976A1 (en) * 2018-01-31 2019-08-01 Rnd64 Limited Intelligent personal assistant device
US11331807B2 (en) 2018-02-15 2022-05-17 DMAI, Inc. System and method for dynamic program configuration
US10832118B2 (en) * 2018-02-23 2020-11-10 International Business Machines Corporation System and method for cognitive customer interaction
CN108161955A (zh) * 2018-03-19 2018-06-15 重庆鲁班机器人技术研究院有限公司 机器人控制装置
CN110322875A (zh) * 2018-03-29 2019-10-11 富泰华工业(深圳)有限公司 机器人交互系统及方法
FR3080926B1 (fr) * 2018-05-04 2020-04-24 Spoon Procede de commande d'une pluralite d'effecteurs d'un robot
WO2019222160A1 (en) * 2018-05-14 2019-11-21 Board Of Regents, The University Of Texas System Integrated system design for a mobile manipulation robot with socially expressive abilities
JP7000253B2 (ja) * 2018-05-31 2022-01-19 国立大学法人東海国立大学機構 力覚視覚化装置、ロボットおよび力覚視覚化プログラム
CN109003612B (zh) * 2018-06-08 2021-01-29 英业达科技有限公司 基于人工智能的语音问答验证系统及其方法
CN108942926B (zh) * 2018-06-28 2020-06-19 达闼科技(北京)有限公司 一种人机交互的方法、装置和系统
US11230017B2 (en) * 2018-10-17 2022-01-25 Petoi Llc Robotic animal puzzle
KR102228866B1 (ko) * 2018-10-18 2021-03-17 엘지전자 주식회사 로봇 및 그의 제어 방법
WO2020090332A1 (ja) * 2018-10-30 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
CN109262617A (zh) * 2018-11-29 2019-01-25 北京猎户星空科技有限公司 机器人控制方法、装置、设备及存储介质
CN109889723A (zh) * 2019-01-30 2019-06-14 天津大学 一种基于nao机器人的音视频数据采集系统
CN109828568B (zh) * 2019-02-15 2022-04-15 武汉理工大学 对RoboCup比赛的NAO机器人寻球步态优化方法
EP3894972B1 (en) 2019-04-29 2023-11-08 Google LLC Motorized computing device that autonomously adjusts device location and/or orientation of interfaces according to automated assistant requests
WO2020251074A1 (ko) * 2019-06-12 2020-12-17 엘지전자 주식회사 음성 인식 기능을 제공하는 인공 지능 로봇 및 그의 동작 방법
CN111061370B (zh) * 2019-12-16 2021-07-16 深圳市云网万店电子商务有限公司 用于智能设备的人机交互装置及方法
CN111694939B (zh) * 2020-04-28 2023-09-19 平安科技(深圳)有限公司 智能调用机器人的方法、装置、设备及存储介质
US11875362B1 (en) 2020-07-14 2024-01-16 Cisco Technology, Inc. Humanoid system for automated customer support
US11907670B1 (en) 2020-07-14 2024-02-20 Cisco Technology, Inc. Modeling communication data streams for multi-party conversations involving a humanoid
CN113222805B (zh) * 2021-05-08 2023-04-07 西北工业大学 一种快速高准确度nao型足球机器人视觉处理方法
KR102519599B1 (ko) * 2021-10-29 2023-04-11 주식회사 서큘러스 멀티모달 기반의 인터랙션 로봇, 및 그 제어 방법
WO2023090951A1 (en) * 2021-11-19 2023-05-25 Samsung Electronics Co., Ltd. Methods and systems for suggesting an enhanced multimodal interaction
CN114770514A (zh) * 2022-05-11 2022-07-22 北京睿知文峰教育科技有限公司 基于stm32的人工智能机器人控制方法及装置
CN116117834A (zh) * 2023-04-11 2023-05-16 佛山宜视智联科技有限公司 可交互的机器人变色系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188555A (ja) * 1999-12-28 2001-07-10 Sony Corp 情報処理装置および方法、並びに記録媒体
JP2002261966A (ja) * 2000-09-08 2002-09-13 Matsushita Electric Works Ltd コミュニケーション支援システムおよび撮影装置
JP2004295766A (ja) * 2003-03-28 2004-10-21 Sony Corp ロボット装置及びロボットを介したユーザの認証方法
JP2008052178A (ja) * 2006-08-28 2008-03-06 Toyota Motor Corp 音声認識装置と音声認識方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881936B2 (en) * 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
JP4765155B2 (ja) * 2000-09-28 2011-09-07 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
WO2002029715A1 (en) * 2000-10-03 2002-04-11 Kent Ridge Digital Labs A system, method and language for programming behaviour in synthetic creatures
JP2004283943A (ja) * 2003-03-20 2004-10-14 Sony Corp コンテンツ選択装置及び方法並びにロボット装置
WO2005008432A2 (en) * 2003-07-11 2005-01-27 Sonolink Communications Systems, Llc System and method for advanced rule creation and management within an integrated virtual workspace
WO2005050849A2 (en) * 2003-10-01 2005-06-02 Laird Mark D Wireless virtual campus escort system
US20060031340A1 (en) * 2004-07-12 2006-02-09 Boban Mathew Apparatus and method for advanced attachment filtering within an integrated messaging platform
JP4629560B2 (ja) 2004-12-01 2011-02-09 本田技研工業株式会社 対話型情報システム
US20060122837A1 (en) * 2004-12-08 2006-06-08 Electronics And Telecommunications Research Institute Voice interface system and speech recognition method
JP2006187825A (ja) * 2005-01-05 2006-07-20 Yaskawa Electric Corp ロボット装置およびその制御方法
JP2007069302A (ja) * 2005-09-07 2007-03-22 Hitachi Ltd 動作表出装置
JP2007260864A (ja) * 2006-03-29 2007-10-11 Advanced Telecommunication Research Institute International コミュニケーションロボット
KR100827088B1 (ko) * 2006-09-07 2008-05-02 삼성전자주식회사 소프트웨어 로봇 장치
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
JP2008241933A (ja) * 2007-03-26 2008-10-09 Kenwood Corp データ処理装置及びデータ処理方法
US8706914B2 (en) * 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
JP2009061547A (ja) * 2007-09-06 2009-03-26 Olympus Corp ロボット制御システム、ロボット、プログラム及び情報記憶媒体
FR2930108B1 (fr) 2008-04-09 2010-07-30 Aldebaran Robotics Systeme et procede de communication distribue comprenant au moins un serveur, au moins un terminal distant, et au moins un terminal mobile capable de communiquer avec le terminal distant relie en reseau audit serveur
FR2929873B1 (fr) 2008-04-09 2010-09-03 Aldebaran Robotics Architecture de controle-commande d'un robot mobile utilisant des membres articules
US8275803B2 (en) 2008-05-14 2012-09-25 International Business Machines Corporation System and method for providing answers to questions
JP5334178B2 (ja) * 2009-01-21 2013-11-06 クラリオン株式会社 音声認識装置およびデータ更新方法
FR2946160B1 (fr) 2009-05-26 2014-05-09 Aldebaran Robotics Systeme et procede pour editer et commander des comportements d'un robot mobile.
CN101604204B (zh) * 2009-07-09 2011-01-05 北京科技大学 智能情感机器人分布式认知系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188555A (ja) * 1999-12-28 2001-07-10 Sony Corp 情報処理装置および方法、並びに記録媒体
JP2002261966A (ja) * 2000-09-08 2002-09-13 Matsushita Electric Works Ltd コミュニケーション支援システムおよび撮影装置
JP2004295766A (ja) * 2003-03-28 2004-10-21 Sony Corp ロボット装置及びロボットを介したユーザの認証方法
JP2008052178A (ja) * 2006-08-28 2008-03-06 Toyota Motor Corp 音声認識装置と音声認識方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170003580A (ko) * 2014-04-17 2017-01-09 소프트뱅크 로보틱스 유럽 휴머노이드 로봇과 사용자 간 멀티모드 대화를 수행하는 방법, 이러한 방법을 구현하기 위한 컴퓨터 프로그램 프로덕트 및 휴머노이드 로봇
KR20200007011A (ko) * 2017-09-12 2020-01-21 구글 엘엘씨 다수의 컴퓨팅 장치를 이용한 인터콤 스타일 통신
KR20190069282A (ko) * 2017-12-11 2019-06-19 한국전자통신연구원 로봇의 사회 지능 평가 방법 및 이를 위한 장치
CN109822581A (zh) * 2018-12-08 2019-05-31 浙江国自机器人技术有限公司 用于机房机器人的导览方法

Also Published As

Publication number Publication date
US8942849B2 (en) 2015-01-27
CN103119644A (zh) 2013-05-22
JP2013539569A (ja) 2013-10-24
CN103119644B (zh) 2016-01-20
WO2012010451A1 (fr) 2012-01-26
US20130218339A1 (en) 2013-08-22
JP2017041260A (ja) 2017-02-23
FR2963132A1 (fr) 2012-01-27
EP2596493A1 (fr) 2013-05-29
JP6129073B2 (ja) 2017-05-17
KR101880775B1 (ko) 2018-08-17
WO2012010437A1 (fr) 2012-01-26
BR112013001711A2 (pt) 2016-05-31

Similar Documents

Publication Publication Date Title
KR101880775B1 (ko) 자연스러운 대화 인터페이스가 장착된 인간형 로봇, 이러한 로봇의 제어 방법 및 대응 프로그램
CN104350541B (zh) 能够将与用户的自然对话合并到其行为中的机器人,以及编程和使用所述机器人的方法
KR101604593B1 (ko) 이용자 명령에 기초하여 리프리젠테이션을 수정하기 위한 방법
CN112162628A (zh) 基于虚拟角色的多模态交互方法、装置及系统、存储介质、终端
Rossi et al. An extensible architecture for robust multimodal human-robot communication
JP4839838B2 (ja) 情報処理システム、情報処理方法および情報処理用プログラム
JP2001229392A (ja) 少ないメッセージ交信により会話式キャラクタを実施する合理的アーキテクチャ
US20130066467A1 (en) Service scenario editing apparatus for an intelligent robot, method for same, intelligent robot apparatus and service-providing method for an intelligent robot
WO2017200074A1 (ja) 対話方法、対話システム、対話装置、及びプログラム
CN110737335B (zh) 机器人的交互方法、装置、电子设备及存储介质
EP3752959A1 (en) System and method for inferring scenes based on visual context-free grammar model
WO2019161246A1 (en) System and method for visual rendering based on sparse samples with predicted motion
Kühnel Quantifying quality aspects of multimodal interactive systems
KR20210042523A (ko) 전자 장치 및 이의 제어 방법
Li et al. " BIRON, let me show you something": evaluating the interaction with a robot companion
Kapadia et al. EchoBot: Facilitating data collection for robot learning with the Amazon echo
WO2016206647A1 (zh) 用于控制机器装置产生动作的系统
Lekova et al. System software architecture for enhancing human-robot interaction by Conversational AI
WO2017200077A1 (ja) 対話方法、対話システム、対話装置、及びプログラム
JP2023120130A (ja) 抽出質問応答を利用する会話型aiプラットフォーム
US20210201139A1 (en) Device and method for measuring a characteristic of an interaction between a user and an interaction device
US20240096093A1 (en) Ai-driven augmented reality mentoring and collaboration
Pereira ISR-RobotHead v2. 0: New hardware and software modules
CN113468042A (zh) 人机交互测试系统和方法
AlTarawneh A cloud-based extensible avatar for human robot interaction

Legal Events

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