JP2019521449A - Persistent Companion Device Configuration and Deployment Platform - Google Patents

Persistent Companion Device Configuration and Deployment Platform Download PDF

Info

Publication number
JP2019521449A
JP2019521449A JP2019502527A JP2019502527A JP2019521449A JP 2019521449 A JP2019521449 A JP 2019521449A JP 2019502527 A JP2019502527 A JP 2019502527A JP 2019502527 A JP2019502527 A JP 2019502527A JP 2019521449 A JP2019521449 A JP 2019521449A
Authority
JP
Japan
Prior art keywords
pcd
user
behavior
animation
speech
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2019502527A
Other languages
Japanese (ja)
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 JP2019521449A publication Critical patent/JP2019521449A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/181Enclosures
    • G06F1/182Enclosures with special features, e.g. for use in industrial environments; grounding or shielding against radio frequency interference [RFI] or electromagnetical interference [EMI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Abstract

永続的コンパニオンデバイス(PCD)に対する技能を開発するための開発プラットフォームは、技能を生成するのに利用可能な1又は2以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも1つを可能にするように構成されたアプリケーションプログラミングインタフェース(API)を有するアセット開発ライブラリと、開発者によって指定されて少なくとも1つの定められた入力に応答してPCDによって実行可能である技能に関連付けられた1又は2以上の表現がそれを通じて受信される1又は2以上のAPIを有する表現ツールスイートと、技能に関するPCDの1又は2以上の挙動シーケンスを指定するための挙動エディタと、PCDの実行エンジンに技能を配備するためのAPIを有する技能配備設備とを含む。【選択図】図27A development platform for developing skills for persistent companion devices (PCDs) allows developers to discover, create, edit, and access one or more content assets that can be used to generate skills An asset development library with an application programming interface (API) configured to enable at least one of the things, and executable by the PCD in response to at least one defined input specified by the developer An expression tool suite having one or more APIs through which one or more expressions associated with a skill are received and a behavior editor for specifying one or more PCD behavior sequences for the skill And deploying skills to the PCD execution engine And a skills deployment facilities with the PI. [Selection] Figure 27

Description

〔関連出願への相互参照〕
この出願は、2016年3月31日出願の米国仮特許出願第62/316,247号[JIBO−0004−P01]の利益を主張するものである。全ての上記の出願は、その全体が引用によって本明細書に組み込まれている。
[Cross-reference to related applications]
This application claims the benefit of US Provisional Patent Application No. 62 / 316,247 [JIBO-0004-P01], filed March 31, 2016. All the above applications are incorporated herein by reference in their entirety.

本発明の分野Field of the Invention

本出願は、一般的に永続的コンパニオンデバイス(PERSISTENT COMPANION DEVICE)に関する。特に、本出願は、人の環境に継続的に存在し、かつコンパニオンデバイスのユーザと対話してデバイスとの感情的な関わり合いを与えるようになった及び/又はアプリケーション、コンテンツ、サービス、又はコンパニオンデバイスのユーザのコンパニオンデバイスとの対話に関する長期的データ収集に関連付けられたコンパニオンデバイスを提供するための装置及び方法に関する。   The present application relates generally to Persistent Companion Devices. In particular, the present application is continuously present in the human environment and is adapted to interact with the user of the companion device to provide an emotional interaction with the device and / or an application, content, service or companion An apparatus and method for providing a companion device associated with long-term data collection regarding interaction of a device user with a companion device.

関連技術の説明Description of Related Art

スマートフォン及びタブレットコンピュータのようなデバイスは、ネットワーキング機能、高精細ビデオ、タッチインタフェース、及びアプリケーションのような益々増大する機能を有するが、そのようなデバイスは、デバイスとの対話からコンパニオンシップ又は高度な感情体験の利益を与えることのような人間ユーザと関わり合うそれらの機能に限界がある。コンパニオンシップを提供するための改善されたデバイスと関連の方法及びシステムとに対する必要性が存在する。   Devices such as smartphones and tablet computers have more and more features such as networking capabilities, high definition video, touch interfaces, and applications, but such devices may not be able to interact or interact with the device to create companionship or advanced emotions. There is a limit to their ability to interact with human users, such as to benefit the experience. There is a need for improved devices and related methods and systems for providing companionship.

米国特許出願第2009/0055019 A1号明細書US Patent Application No. 2009/0055019 A1

本発明の開示は、人の環境に継続的に存在し、かつコンパニオンデバイスのユーザと対話してデバイスとの感情的な関わり合いを与えるようになった及び/又はアプリケーション、コンテンツ、サービス、又はコンパニオンデバイスのユーザのコンパニオンデバイスとの対話に関する長期的データ収集に関連付けられたコンパニオンデバイスを提供するための方法及びシステムに関する。デバイスは、本明細書で更に詳しく説明する広範な用途に関して豊富な対話を提供するために関連のハードウエア、ソフトウエア、及び他の構成要素と対話するシステムの一部である場合がある。   The present disclosure is continuously present in the human environment and is adapted to interact with the user of the companion device to provide emotional engagement with the device and / or to an application, content, service, or companion Methods and systems for providing a companion device associated with long-term data collection regarding interaction of a device user with a companion device. The device may be part of a system that interacts with associated hardware, software, and other components to provide a rich interaction for the broad range of applications described in more detail herein.

例示的かつ非限定的実施形態により、永続的コンパニオンデバイス(PCD)に対する技能を開発するための開発プラットフォームは、PCDによって実行可能である技能を生成するのに利用可能な1又は2以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも1つを可能にするように構成されたアプリケーションプログラミングインタフェース(API)を有するアセット開発ライブラリと、開発者によって指定されて少なくとも1つの定められた入力に応答してPCDによって実行可能である技能に関連付けられた1又は2以上の表現をそれを通じて受信する1又は2以上のAPIを有する表現ツールスイートと、技能に関するPCDの1又は2以上の挙動シーケンスを指定するための挙動エディタと、技能を実行するための実行エンジンに技能を配備するためのAPIを有する技能配備設備とを含む。   According to an exemplary and non-limiting embodiment, a development platform for developing skills for a persistent companion device (PCD) can be one or more content assets available to generate skills that are executable by the PCD Specified by the developer with an asset development library having an application programming interface (API) configured to allow at least one of: a developer to discover, generate, edit and access the A presentation tool suite having one or more APIs through which one or more expressions associated with the skills executable by the PCD are received in response to at least one defined input, and the PCD relating to the skills To specify one or more behavioral sequences of Including a behavior editor, and skills deployment equipment having an API for deploying skills execution engine to execute the skills.

例示的かつ非限定的実施形態により、ソフトウエア開発キット(SDK)を用いて技能の開発を可能にするためのプラットフォームは、受信した入力を符号化された応答にマップするように構成された論理レベルモジュールと、1又は2以上の視覚機能事象を検出して1又は2以上の検出した視覚機能事象を論理レベルモジュールに通知するように構成された視覚機能モジュール、定められた音を検出して検出した発話/音を論理レベルモジュールに通知するように構成された発話/音認識器、及び定められた感情/ペルソナ状態を表現する1又は2以上のアニメーションを発生させて1又は2以上のアニメーションを論理レベルモジュールに送信するように構成された表現エンジンを含む知覚レベルモジュールとを含む。   In accordance with an exemplary and non-limiting embodiment, a platform for enabling skill development using a software development kit (SDK) is logic configured to map received input to encoded response A level module, a visual function module configured to detect one or more visual function events and notify the logic level module of one or more detected visual function events, to detect a defined sound A speech / sound recognizer configured to notify a detected speech / sound to a logic level module, and generating one or more animations representing a defined emotion / persona state to perform one or more animations And a perceptual level module including a representation engine configured to transmit to the logic level module.

技能開発プラットフォーム方法及びシステムは、永続的コンパニオンデバイス(PCD)に対する技能を開発するためのシステムを含む。システムは、PCDによって実行可能である技能を生成するのに利用可能な1又は2以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも1つを可能にするように構成されたプロセッサ上で実行されるアプリケーションプログラミングインタフェース(API)を通じてアクセス可能であるアセット開発ライブラリを含むことができる。システムはまた、プロセッサ上で実行され、かつ電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも2つを含む技能に関するPCDの1又は2以上の物理要素の作動がそれを通じて開発者によって指定される1又は2以上のAPIを有するアニメーションツールスイートを含むことができ、技能は、開発者によって定められた少なくとも1つの入力に応答してPCDによって実行可能である。システムはまた、技能に関するPCDの1又は2以上の挙動シーケンスを指定するためにプロセッサ上で実行される挙動エディタを含むことができる。これに加えて、システムは、プロセッサ上で実行され、かつ技能を実行するための実行エンジンに技能を配備するようになった技能配備設備を含むことができる。このシステムでは、技能配備機構は、APIを通して技能を配備することができる。これに加えて、挙動エディタは、PCDの感覚入力システム及び表現出力システムの作動を容易にすることができる。   The skills development platform method and system include a system for developing skills for a persistent companion device (PCD). The system allows at least one of: a developer to discover, create, edit, and access one or more content assets available to generate skills that are executable by the PCD An asset development library can be included that is accessible through an application programming interface (API) that runs on a processor configured to The system is also implemented on a processor and operates one or more physical elements of the PCD for skills including at least two of an electronic display, a plurality of movable body segments, a speech output system, and a polychromatic light source An animation tool suite can be included having one or more APIs specified by the developer through which the skills can be executed by the PCD in response to at least one input defined by the developer. The system can also include a behavior editor that is run on the processor to specify one or more behavior sequences of the PCD for the skill. In addition to this, the system may include a skill deployment facility that is to be run on a processor and adapted to deploy the skills in an execution engine to execute the skills. In this system, the skill deployment mechanism can deploy skills through the API. In addition to this, the behavior editor can facilitate the operation of the PCD's sensory input and presentation output systems.

技能開発SDK方法及びシステムは、PCDに受信された入力を符号化された応答にマップするように構成されたプロセッサ上で作動する論理レベルマッピングシステムを含むことができるソフトウエア開発キット(SDK)を用いて永続的コンパニオンデバイス(PCD)技能の開発を可能にするためのシステムを含むことができる。システムはまた、PCDの知覚エンジンを構成するようになったプロセッサ上で作動するPCD挙動ツールスイートを含むことができ、ツールスイートは、1又は2以上の視覚機能事象を検出し、かつ検出した1又は2以上の視覚機能事象を論理レベルマッピングシステムに通知するように挙動ツールスイートを通じて構成される視覚機能システムと、定められた音を検出し、かつ検出した発話/音を論理レベルマッピングシステムに通知するように挙動ツールスイートによって構成可能な発話/音認識及び理解システムとを含む。システムはまた、少なくとも1つの入力に応答して少なくとも1つの定められた状態を表現する1又は2以上のアニメーションを発生させ、かつ入力へのアニメーションのマッピングのために1又は2以上のアニメーションを論理レベルマッピングシステムに送信するように表現エンジンを構成するようになったプロセッサ上で作動するPCDアニメーションツールスイートを含むことができる。このシステムでは、定められた状態は、感情状態、ペルソナ状態、認識状態、及び定められたエネルギレベルを表現する状態のうちの少なくとも1つとすることができる。   The skills development SDK method and system can include a software development kit (SDK) that can include a logic level mapping system operating on a processor configured to map input received at a PCD to an encoded response. A system can be included to be used to enable development of persistent companion device (PCD) skills. The system may also include a PCD behavior tool suite operating on a processor adapted to constitute a PCD perception engine, the tool suite detecting and detecting one or more visual function events 1 Or a visual function system configured through the behavior tool suite to notify the logical level mapping system of two or more visual function events, detect a defined sound, and notify the detected speech / sound to the logical level mapping system Include a speech / sound recognition and understanding system configurable by the behavior tool suite. The system also generates one or more animations representing at least one defined state in response to the at least one input, and logics the one or more animations for mapping the animations to the input A PCD animation tool suite can be included that runs on a processor adapted to configure the expression engine to send to the level mapping system. In this system, the defined state may be at least one of an emotional state, a persona state, a cognitive state, and a state representing a defined energy level.

PCDソフトウエア開発キットは、技能を実施するように永続的コンパニオンデバイス(PCD)を構成するためのシステムを含むことができるユーザインタフェース方法及びシステムを含むことができる。システムは、ネットワーク化サーバ上で実行されるソフトウエア開発キットを含むことができる。SDKは、ユーザが技能に関連付けられたアニメーションをそれを通して構成し、電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも2つを含むPCDの物理要素の作動の指定を容易にする複数のアニメーションユーザインタフェース画面を含むことができる。SDKはまた、技能に関連付けられたロボットアクション及び決断を調整するためにユーザがそれを通してPCDの挙動を構成し、PCDの感覚入力システムに応答するPCDの表現出力システムの作動を容易にする複数の挙動ユーザインタフェース画面を含むことができる。同じく、アニメーションユーザインタフェース画面及び挙動ユーザインタフェース画面のうちの少なくとも一方におけるPCDのグラフィック表現は、ユーザによる構成に基づいて入力に応答するPCDの移動を表している。これに加えて、SDKは、PCDに対する3次元空間内の点としてPCDの近くに位置付けられたターゲットに向けてPCDの表示画面を表情豊かに向けるようにユーザがそれを通してPCDを構成する凝視方位ユーザインタフェース画面を含むことができ、PCDは、単一ショットモード又は連続ターゲット追跡モードのうちの少なくとも一方でターゲットに応答する。   The PCD software development kit can include user interface methods and systems that can include a system for configuring a persistent companion device (PCD) to perform a skill. The system can include a software development kit running on a networked server. The SDK configures the animations through which the user is associated with the skills, and specifies the activation of the PCD's physical elements including at least two of the electronic display, the plurality of movable body segments, the speech output system, and the polychromatic light source Can include multiple animated user interface screens to facilitate. The SDK also allows the user to configure the behavior of the PCD to coordinate robot actions and decisions associated with the skills, and facilitate operation of the PCD's expressive output system in response to the PCD's sensory input system. A behavior user interface screen can be included. Similarly, the graphical representation of the PCD in at least one of the animation user interface screen and the behavior user interface screen represents movement of the PCD in response to the input based on the user configuration. In addition to this, the SDK also directs the gaze orientation user through which the user configures the PCD to point the display of the PCD expressively towards a target located near the PCD as a point in the three-dimensional space for the PCD An interface screen can be included, and the PCD responds to the target in at least one of single shot mode or continuous target tracking mode.

方法及びシステムは、ソフトウエア開発キットを通じてPCDのPCDアニメーション構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行されるアニメーションエディタを含むことができる永続的コンパニオンデバイス(PCD)をアニメ化するためのシステムを含むことができる。システムはまた、PCDへの電子インタフェースを含むことができ、PCDは、複数の相互接続可動身体セグメントと、それを回転させるためのモータと、少なくとも1つの照明リングと、電子表示画面と、オーディオシステムとを用いて構成される。これに加えて、システムは、PCDの機能の少なくとも一部分をアニメーションエディタがそれを通じて制御するPCDアニメーションアプリケーションプログラミングインタフェースを含むことができる。同じく、システムは、アニメーションエディタのユーザによって構成可能な複数のアニメーションビルダを含むことができ、アニメーションビルダは、能動アニメーションセッションを示すアニメーションインスタンスをスポーンする。システムは、信号に応答して第1のアニメーションインスタンスから第2のアニメーションインスタンスへのPCDの移行を指定するための挙動移行システムを更に含むことができる。   Methods and systems animate a persistent companion device (PCD) that can include an animation editor running on a networked server that provides access to PCD animation configuration and control functions of the PCD through a software development kit System can be included. The system may also include an electronic interface to the PCD, the PCD including a plurality of interconnected movable body segments, a motor for rotating it, at least one lighting ring, an electronic display screen, an audio system And is used. In addition to this, the system can include a PCD animation application programming interface through which the animation editor controls at least a portion of the functionality of the PCD. Also, the system can include a plurality of animation builders configurable by the user of the animation editor, the animation builder spawning animation instances indicating active animation sessions. The system may further include a behavior transition system for specifying the transition of the PCD from the first animation instance to the second animation instance in response to the signal.

本明細書に説明する方法及びシステムは、永続的コンパニオンデバイス(PCD)の挙動を制御するためのシステムを含むことができる。システムは、ソフトウエア開発キットを通じてPCDのPCD挙動構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行される挙動エディタを含むことができる。システムはまた、複数のセンサ入力機能と複数の表現出力機能とを含む自律ロボット作動機能の挙動及び制御フローを制御することを容易にする挙動エディタによってアクセス可能な複数の挙動木データ構造を含むことができ、複数の挙動木データ構造は、ロボット作動機能の制御を階層的に編成し、少なくとも1つの挙動木データ構造は、PCDによって実施される少なくとも1つの技能に関連付けられる。システムは、各挙動木の複数の挙動ノードを更に含むことができ、複数の挙動ノードの各々は、無効状態、進行中状態、成功状態、及び失敗状態から構成される4つの挙動状態のうちの1つに関連付けられる。システムはまた、各挙動木の少なくとも1つの親挙動ノードを含み、少なくとも1つの親ノードは、少なくとも1つの子挙動ノードを参照し、かつ順次子挙動ノード作動、並列子挙動ノード作動、子挙動ノード間切り換え、及び参照子挙動ノードのランダム起動のうちの少なくとも1つを開始するようになっている。このシステムでは、挙動ノードの少なくとも一部分は、その挙動ノードの状態を挙動ノードの開始の阻止、実行中の挙動ノードの成功への強制、実行中の挙動ノードの失敗への強制、挙動ノードの再実行のうちの少なくとも1つを実施することによって修正するように機能する挙動ノード修飾子を用いて各々が構成される。   The methods and systems described herein can include a system for controlling the behavior of a persistent companion device (PCD). The system can include a behavior editor running on a networked server that provides access to the PCD's PCD behavior configuration and control functions through a software development kit. The system also includes a plurality of behavior tree data structures accessible by a behavior editor that facilitates controlling the behavior and control flow of an autonomous robot actuation function including a plurality of sensor input functions and a plurality of representation output functions The plurality of behavior tree data structures hierarchically organize control of the robot actuation functions, and at least one behavior tree data structure is associated with at least one skill implemented by the PCD. The system may further include a plurality of behavior nodes of each behavior tree, each of the plurality of behavior nodes being one of four behavior states consisting of an invalid state, an ongoing state, a success state, and a failure state. Associated with one. The system also includes at least one parent behavior node for each behavior tree, the at least one parent node referring to at least one child behavior node, and sequential child behavior node actuation, parallel child behavior node actuation, child behavior node It is adapted to initiate at least one of switching between and random activation of the reference behavior node. In this system, at least a part of the behavior node blocks the state of its behavior node from starting the behavior node, forcing the running behavior node to success, forcing the running behavior node to fail, re-running the behavior node Each is configured with a behavioral node modifier that functions to correct by performing at least one of the runs.

本明細書に説明する方法及びシステムは、永続的コンパニオンデバイス(PCD)を用いて発話を認識するためのシステムを含むことができる。システムは、PCDによる自然言語理解を容易にするPCD発話認識構成システムを含むことができ、このシステムは、埋め込み規則及びカスタム規則のうちの少なくとも一方を含む発話理解規則を構成するためにネットワーク化コンピュータ上で実行される発話規則エディタをユーザがそれによって作動させる複数のユーザインタフェース画面を含む。システムは、ネットワーク化サーバを通じてユーザによってアクセスされる埋め込み発話理解規則のライブラリを含む開発キットを更に含むことができる。これに加えて、システムは、傾聴タイプPCD挙動と、傾聴成功修飾子によって試験された条件の成功結果に基づいてPCDに作動を実施させるようにユーザが構成する傾聴成功修飾子とのうちの少なくとも一方にユーザが発話理解規則をそれによって関連付けるソフトウエア開発のロボット挙動関連付け機能を含むことができる。   The methods and systems described herein can include a system for recognizing speech using a persistent companion device (PCD). The system can include a PCD speech recognition configuration system that facilitates natural language understanding by a PCD, the system comprising a networked computer for constructing speech understanding rules including at least one of embedding rules and custom rules. It includes a plurality of user interface screens by which the user operates the speech rule editor implemented above. The system may further include a development kit including a library of embedded speech understanding rules accessed by the user through the networked server. In addition to this, the system may at least of a listening type PCD behavior and a listening success modifier configured by the user to cause the PCD to perform an operation based on the success result of the condition tested by the listening success modifier. One can include software-developed robot behavior association functions by which the user relates the speech understanding rules accordingly.

本明細書に説明する方法及びシステムは、永続的コンパニオンデバイス(PCD)制御構成システムを含むことができる。システムは、スクリプト式アニメーションの再生を通したPCDの表現出力と、ユーザによって構成可能である事象リスナーによって検出された事象に対するPCDの応答作動と、アニメーション指令を指定することを容易にする複数のアニメーション層とを制御することを容易にするPCDアニメーション構成システムを含むことができる。システムは、PCDの機械的及び電子的作動を制御することを容易にするPCD挙動構成システムを更に含むことができる。システムはまた、ターゲットと単一ショット及びターゲット追跡のうちの少なくとも一方の凝視PCD機能モードとを指定することによってPCDの凝視の指向活動を決定することを容易にするPCD凝視方位構成システムを含むことができる。これに加えて、システムは、人間発話を認識するための複数の埋め込み規則と人間発話を認識するための規則をカスタム化するためのユーザインタフェースとを含むPCD発話認識構成システムを含むことができ、人間発話は、PCDのオーディオセンサ入力システムによって捕捉される。このシステムでは、ロボット挙動を通してPCDの機械的及び電子的作動を制御する段階は、アニメ化された挙動間の移行を制御する段階と、複数のアニメ化された挙動を並列制御及び順次制御のうちの少なくとも一方で制御する段階と、親及び子挙動の挙動木に基づいて複数の子挙動を制御する段階とを含み、子挙動は、子挙動の間で選択するための切り換え条件及び子挙動の間でランダムに選択することのうちの一方に基づいて起動される。   The methods and systems described herein can include a persistent companion device (PCD) control configuration system. The system facilitates the specification output of the PCD's representation output through playback of scripted animation, the PCD's response to events detected by the user-configurable event listener, and animation commands. A PCD animation configuration system can be included that facilitates controlling the layers. The system can further include a PCD behavior configuration system that facilitates controlling mechanical and electronic operation of the PCD. The system also includes a PCD gaze configuration system that facilitates determining the pointing activity of the PCD's gaze by specifying the target and the gaze PCD functional mode of the single shot and / or target tracking. Can. Additionally, the system can include a PCD speech recognition configuration system including a plurality of embedding rules for recognizing human speech and a user interface for customizing rules for recognizing human speech, Human speech is captured by the PCD's audio sensor input system. In this system, controlling mechanical and electronic operation of the PCD through robot behavior includes controlling transition between animated behaviors, and controlling a plurality of animated behaviors among parallel control and sequential control. Controlling at least one of the plurality of child behaviors and controlling a plurality of child behaviors based on the behavior tree of the parent and child behaviors, wherein the child behaviors include switching conditions for selecting between the child behaviors and the child behaviors Activated based on one of the randomly selected among.

必ずしも正確な縮尺に示したものとは限らない図面では、類似の数字は、いくつかの図を通して実質的に類似の構成要素を表す場合がある。異なる接尾文字を有する類似の数字は、実質的に類似の構成要素の異なる事例を表す場合がある。図面は、本明細書で議論するある一定の実施形態の詳細説明を限定ではなく一例として一般的に示すものである。   In the drawings, which are not necessarily drawn to scale, like numerals may represent substantially similar components throughout the several views. Similar numerals having different suffixes may represent different instances of substantially similar components. The drawings show, by way of example only, and not by way of limitation, a detailed description of certain embodiments discussed herein.

PCDの多くのビューを示す図である。FIG. 7 shows a number of views of the PCD. PCDのソフトウエアアーキテクチャを示す図である。FIG. 2 shows the software architecture of a PCD. 心理社会的対話モジュール(PSIM)のアーキテクチャを示す図である。FIG. 1 illustrates the architecture of a psychosocial dialogue module (PSIM). PCDによる挨拶対話の簡易バージョンを示すタスクネットワークを例示する図である。FIG. 6 illustrates a task network showing a simplified version of a greeting dialog with a PCD. PCDのハードウエアアーキテクチャを示す図である。It is a figure which shows the hardware architecture of PCD. PCDの機械アーキテクチャを示す図である。It is a figure which shows the machine architecture of PCD. 通話返答及びメッセージングサービスを提供する方法に関する流れ図である。FIG. 5 is a flow diagram of a method for providing call answering and messaging services. PCDによって物語を中継する方法に関する流れ図である。Figure 2 is a flow chart of a method of relaying a story by a PCD. PCDの使用によってユーザの感情状態を示す及び/又はそれに影響を及ぼす方法に関する流れ図である。FIG. 6 is a flow diagram of a method of indicating and / or affecting a user's emotional state by use of a PCD. PCDによる物語の実演又はアニメ化機能を可能にする方法に関する流れ図である。FIG. 6 is a flow diagram of a method for enabling a narrative demonstration or animation function with PCD. 経歴を発生させて符号化する方法に関する流れ図である。FIG. 7 is a flow diagram of a method of generating and encoding a history. 対話データにアクセスし、それを用いてユーザの必要性に対処する方法に関する流れ図である。FIG. 6 is a flow diagram of a method of accessing and using interaction data to address a user's needs. ユーザ入力に基づいてPCDの挙動を調節する方法に関する流れ図である。FIG. 6 is a flow diagram of a method of adjusting the behavior of a PCD based on user input. 反復的、永続的、又は半永続的視覚要素を表示する例を示す図である。FIG. 7 illustrates an example of displaying repetitive, permanent, or semi-permanent visual elements. 反復的、永続的、又は半永続的視覚要素を表示する例を示す図である。FIG. 7 illustrates an example of displaying repetitive, permanent, or semi-permanent visual elements. 反復的、永続的、又は半永続的視覚要素を表示する例を示す図である。FIG. 7 illustrates an example of displaying repetitive, permanent, or semi-permanent visual elements. PCDのための実行時技能の例示的かつ非限定的実施形態を示す図である。FIG. 7 illustrates an exemplary non-limiting embodiment of runtime skills for a PCD. SDKを用いた技能の開発を可能にするプラットフォームに関するフロー及び様々なアーキテクチャ構成要素の例示的かつ非限定的実施形態の図である。FIG. 7 is a diagram of an exemplary non-limiting embodiment of the flow and various architectural components for the platform that enables the development of skills using the SDK. アセットの生成のために与えることができるユーザインタフェースの例示的かつ非限定的実施形態の図である。FIG. 7 is an illustration of an exemplary non-limiting embodiment of a user interface that can be provided for the generation of an asset. 開発者がPCDのローカル知覚空間を見ることを可能にすることができるローカル知覚空間(LPS)視覚化ツールの例示的かつ非限定的スクリーンショットの図である。FIG. 7 is an illustration of an exemplary non-limiting screen shot of a local perceptual space (LPS) visualization tool that can allow a developer to view the local perceptual space of a PCD. 例示的かつ非限定的実施形態による挙動エディタのスクリーンショットの図である。FIG. 6 is a screen shot of a behavior editor according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態による分岐論理部を生成する公式方法の図である。FIG. 6 is a diagram of a formal method of generating branch logic according to an exemplary and non-limiting embodiment. 選択論理部を引数として挙動に追加することを可能にする例示的かつ非限定的実施形態の図である。FIG. 7 is a diagram of an exemplary non-limiting embodiment that allows selection logic to be added as an argument to a behavior. シミュレーション窓の例示的かつ非限定的実施形態の図である。FIG. 7 is a diagram of an exemplary non-limiting embodiment of a simulation window. 社会ロボット表現ツールスイートの社会ロボットアニメーションエディタの例示的かつ非限定的実施形態の図である。FIG. 5 is an illustration of an exemplary non-limiting embodiment of a social robot animation editor for a social robot representation tool suite. PCDアニメーション移動ツールの例示的かつ非限定的実施形態の図である。FIG. 7 is a diagram of an exemplary non-limiting embodiment of a PCD animation movement tool. 社会ロボット特定のソフトウエア開発キットのアーキテクチャのブロック図である。FIG. 5 is a block diagram of the social robot specific software development kit architecture. 2つの挙動が同時に実行され、次に第2の挙動、次に第3の挙動が実行される挙動木断片を描く図である。FIG. 5 depicts a behavior tree fragment in which two behaviors are performed simultaneously, then a second behavior and then a third behavior. 葉挙動を描く図である。It is a figure which depicts leaf behavior. 順次及び並列親挙動のユーザインタフェース表示を描く図である。FIG. 5 depicts a user interface display of sequential and parallel parent behavior. 挙動修飾子のユーザインタフェース表示を描く図である。FIG. 10 depicts a user interface display of a behavior modifier. 技能の主挙動木を描く図である。It is a figure which draws the main behavior tree of a skill. 挙動木の葉を編集するための挙動エディタのユーザインタフェースを描く図である。FIG. 6 depicts a user interface of a behavior editor for editing leaves of a behavior tree. 測定可能条件に基づいて挙動の状態を変更するように構成された修飾子を描く図である。FIG. 5 depicts a modifier configured to change the state of behavior based on measurable conditions. 挙動の引数を指定するためのユーザインタフェースを描く図である。FIG. 10 depicts a user interface for specifying behavior arguments. 構成、起動、及び実行/制御にわたるビルダ及びインスタンスのライフサイクルの図である。FIG. 7 is a diagram of the life cycle of builders and instances across configuration, launch, and execution / control ロボットの個々のDOF、DOF値タイプ、及び共通DOFグループのマップを提供する線図を描く図である。FIG. 7 depicts a diagram providing a map of the robot's individual DOFs, DOF value types, and common DOF groups. 直近にトリガされたアニメートインスタンスによる限定的DOF所有のポリシーに従うアニメートモジュールを描く図である。FIG. 10 depicts an animate module according to a policy of limited DOF ownership by the most recently triggered animate instance. 図38の実施形態に対する代替実施形態を描く図である。FIG. 39 depicts an alternative embodiment to the embodiment of FIG. 38. アニメーションを用いてトランザクションを構成する段階を描く図である。FIG. 5 depicts the stages of constructing a transaction using animation. 例示的コアアニメーション事象のタイミングを描く図である。FIG. 7 depicts the timing of an exemplary core animation event. 2つの重複アニメーションインスタンスによって生成される事象のタイムラインを描く図である。FIG. 7 depicts a timeline of events generated by two overlapping animation instances. 注視方位構成インタフェースの例を描く図である。FIG. 7 depicts an example of a gaze orientation configuration interface. 2つの異なる注視ターゲット間で切り換えるために挙動木ノードにカスタムコードを含める段階を描く図である。FIG. 7 depicts the steps of including custom code in a behavior tree node to switch between two different gaze targets. ソフトウエア開発キットによって参照される社会ロボットの3次元座標系を描く図である。FIG. 6 depicts a three-dimensional coordinate system of a social robot referenced by a software development kit. アニメーションを編集するためのソフトウエア開発キットのユーザインタフェースを描く図である。FIG. 7 depicts a user interface of a software development kit for editing animations. 社会ロボットのセグメントを制御するために身体層を構成するためのユーザインタフェースを描く図である。FIG. 5 depicts a user interface for configuring a body layer to control segments of a social robot. 社会ロボットの代表的な眼画像を制御するために眼層を構成するためのユーザインタフェースを描く図である。FIG. 6 depicts a user interface for configuring an eye layer to control a representative eye image of a social robot. 社会ロボットの代表的な眼画像のテクスチャ態様を制御するために眼テクスチャ層を構成するためのユーザインタフェースを描く図である。FIG. 7 depicts a user interface for configuring an eye texture layer to control the texture aspects of a typical eye image of a social robot. 社会ロボットの代表的な眼画像を制御するために眼オーバーレイ層を構成するためのユーザインタフェースを描く図である。FIG. 5 depicts a user interface for configuring an eye overlay layer to control a representative eye image of a social robot. 社会ロボットの代表的な眼画像を制御するために眼オーバーレイテクスチャ層を構成するためのユーザインタフェースを描く図である。FIG. 5 depicts a user interface for constructing an eye overlay texture layer to control a representative eye image of a social robot. 社会ロボットの代表的な眼画像の背景を制御するために背景層を構成するためのユーザインタフェースを描く図である。FIG. 5 depicts a user interface for configuring a background layer to control the background of a representative eye image of a social robot. 社会ロボットの身体セグメントの周りに配置されたLEDを構成するためのユーザインタフェースを描く図である。FIG. 5 depicts a user interface for configuring LEDs located around a body segment of a social robot. 事象を構成するためのユーザインタフェースを描く図である。FIG. 5 depicts a user interface for configuring an event. オーディオ事象層を構成するためのユーザインタフェースを描く図である。FIG. 6 depicts a user interface for configuring an audio event layer. 発話規則エディタのユーザインタフェースを描く図である。FIG. 7 depicts a user interface of a speech rule editor. 代替発話規則エディタユーザインタフェース画面を描く図である。FIG. 10 depicts an alternative speech rule editor user interface screen. 傾聴挙動エディタユーザインタフェース画面を描く図である。FIG. 10 depicts a listening behavior editor user interface screen. 代替傾聴挙動エディタユーザインタフェースを描く図である。FIG. 7 depicts an alternative listening behavior editor user interface. 別の代替傾聴挙動エディタユーザインタフェース画面を描く図である。FIG. 16 depicts another alternative listening behavior editor user interface screen. MIM構成ユーザインタフェースを描く図である。FIG. 6 depicts a MIM configuration user interface. MIM規則エディタユーザインタフェースを描く図である。FIG. 10 depicts a MIM rules editor user interface. PCD SDKのフローエディタを描く図である。It is a figure which draws the flow editor of PCD SDK.

例示的かつ非限定的実施形態に従って人/ユーザの環境に継続的に存在し、ユーザと対話するための永続的コンパニオンデバイス(PCD)を提供して説明する。本明細書に使用する場合に、状況が別途示す場合を除き、「PCD」と「社会ロボット」とを交換可能に使用することができる。下記でより完全に説明するように、PCDは、移動、グラフィック、音、光、芳香を通して表現することができる際立ったペルソナを有する永続的親交的存在を提供する。更に、下記ではPCDの各実施形態に「デジタルソウル」アテンダントの概念を導入する。本明細書に使用する場合に「デジタルソウル」は、デジタルフォーマットで格納することができ、PCDによるアクションを決定して実行するための入力として機能する複数の属性を意味する。本明細書に使用する場合に「環境」は、PCDのセンサによるユーザの観察を可能にするほど十分なユーザ近接範囲のユーザの物理環境を意味する。   A persistent companion device (PCD) for continuously interacting with a user is provided and described that continuously exists in a person / user environment according to an exemplary non-limiting embodiment. As used herein, "PCD" and "social robot" can be used interchangeably, unless the context indicates otherwise. As described more fully below, PCD provides a lasting intimate presence with a prominent persona that can be expressed through movement, graphics, sound, light, fragrance. Furthermore, in the following, the concept of “digital soul” attendant is introduced into each embodiment of the PCD. As used herein, "digital soul" means a plurality of attributes that can be stored in digital format and serve as input for determining and performing actions by the PCD. As used herein, "environment" means the physical environment of the user's proximity that is sufficient to allow the user's observation by the PCD's sensor.

このデジタルソウルは、親交的対話及び友好関係の構成活動において親交的−感情的/対人的な感覚のアテンダントを通してユーザをPCDの対話/インタフェースに関わらせるように作動する。下記でより完全に説明するように、PCD100は、そのユーザに対して広範な機能を実施することができる。下記で詳細に説明する例示的かつ非限定的実施形態により、PCDは、(1)人々/ユーザの間のかなり有意義で、参加型で、物理的に埋め込まれて、親交的な状況の対話を容易にし、かつサポートすることができ、(2)家族が一家の物語及び知識(特別なレシピのような)などを生成/保存/共有するのに役立つようにユーザに有利な情報を提供することと、写真家としてなどで機能することのような特定のサービスのスケジューリング、リマインド、提供を助けることとを含むパーソナルサービスを提供するアシスタント又は何かとしてPCDが機能する実用的タスクの実施に携わることができ、かつ(3)ユーザを楽しませ(例えば、物語、ゲーム、音楽、及び他のメディア又はコンテンツ)、同伴及びコンパニオンシップを提供することができる。   The digital soul operates to engage the user in the PCD dialogue / interface through the intimate-emotional / interpersonal sense attendant in the intimate dialogue and friendship composition activities. As described more fully below, the PCD 100 can perform a wide range of functions for its users. By means of the exemplary and non-limiting embodiments described in detail below, the PCD is (1) fairly meaningful, participatory, physically embedded between people / users and interactive situational dialogues Providing user-friendly information to facilitate and support and (2) to help families generate / store / share family stories and knowledge (like special recipes) etc. Engaging in the implementation of practical tasks that the PCD functions as an assistant or something that provides personal services, including scheduling, reminding, and serving specific services such as acting as a photographer, etc. And (3) entertain the user (eg, stories, games, music, and other media or content), provide companionship and It is possible.

例示的かつ非限定的実施形態により、以下を含むがこれらに限定されない複数の作動モードを通してPCDの様々な機能を達成することができる。
i.擬人化されたインタフェースを通じて、任意的に、改善されたコンパニオンシップを提供するように経時的に適応させることができる特徴を含む様々な異なる性格傾向を表現することにより。
ii.情報、並びに情緒を伝えることができる表現豊かで温かく人間らしいインタフェースを通して。下記で説明するように、そのようなインタフェースは、顔の表情(アニメーション又は移動のいずれかによる)、身体の移動、グラフィック、音、発話、色、光、及び芳香などを含むいくつかの手がかりを通して感情、情緒、及び性格を表現することができる。
iii.PCDをユーザに合うように徐々に調整し、適応させ、同調させるための複数のソース(センサ、データ、他のデバイスからの情報、インターネット、GPSのような)にわたる状況説明的な長期的情報の収集を通して。
iv.ユーザの必要性/要求により的確に適応するための適応自己構成/自己修復により。
v.特定の状況及びそのユーザの親交的及び感情的な特異性を考慮することにより。
The illustrative and non-limiting embodiments allow various functions of the PCD to be achieved through multiple modes of operation, including but not limited to:
i. By expressing a variety of different personality traits, including features that can optionally be adapted over time to provide improved companionship through an anthropomorphic interface.
ii. Through an expressive, warm and humanistic interface that can convey information and emotions. As described below, such an interface is through several cues including facial expressions (either by animation or movement), movement of the body, graphics, sounds, speech, colors, lights, aromas, etc. Can express emotions, emotions and characters.
iii. Contextual long-term information across multiple sources (sensors, data, information from other devices, Internet, GPS, etc.) to gradually adjust, adapt and tune the PCD to the user Through collection.
iv. By adaptive self-configuration / self-healing to better adapt to user needs / requests.
v. By considering the specific situation and the intimacy and emotional specificity of the user.

図1を参照すると、例示的かつ非限定的実施形態によるPCD100の多くの図が例示されている。図示のように、PCD100は、例えば、容量センサ102、102を含む複数の例示的入力/センサデバイスを組み込んでいる。1又は2以上の容量センサ102は、摩ること、抱き締めること、及び触ることなど、並びに時にユーザインタフェースとして機能することを含むがこれらに限定されない身体的親交的対話を感知するように作動することができる。PCD100は、ユーザから入力を受信し、かつPCD100によるユーザへのデータ出力のためのグラフィックディスプレイとして機能するように構成されたデバイスとしてのタッチ画面104を更に組み込むことができる。PCD100は、静止画像及びビデオを含むがこれらに限定されない視覚的性質の入力を受信するための1又は2以上のカメラ106を更に組み込むことができる。更に、PCD100は、ユーザから入力を受信するための1又は2以上のジョイスティック108を組み込むことができる。更に、PCD100は、オーディオデータを発する又は他に出力するための1又は2以上のスピーカ110を組み込むことができる。更に、PCD100は、1又は2以上のマイクロフォン112を更に組み込むことができる。   Referring to FIG. 1, many figures of a PCD 100 according to an exemplary and non-limiting embodiment are illustrated. As shown, PCD 100 incorporates a plurality of exemplary input / sensor devices, including, for example, capacitive sensors 102,102. One or more capacitive sensors 102 operate to sense physical intimacy, including but not limited to, acting as a user interface, such as wearing, hugging, touching, etc., as the case may be. Can. The PCD 100 can further incorporate a touch screen 104 as a device configured to receive input from a user and to act as a graphical display for data output by the PCD 100 to the user. The PCD 100 can further incorporate one or more cameras 106 to receive visual quality input, including but not limited to still images and video. Additionally, the PCD 100 can incorporate one or more joysticks 108 for receiving input from a user. Additionally, the PCD 100 can incorporate one or more speakers 110 for emitting or otherwise outputting audio data. Furthermore, the PCD 100 can further incorporate one or more microphones 112.

PCDソフトウエアアーキテクチャPCD software architecture

図2を参照すると、例示的かつ非限定的実施形態によるソフトウエアアーキテクチャ200を描くブロック図が例示されている。ソフトウエアアーキテクチャ200は、PCD100がロボット実施形態、並びに接続されたデバイスを通して広範な用途にわたって人々に関わり合うことができる共感的ペルソナとしての体験を生命に与えることを可能にすることができる人工知能、機械学習、並びに関連のソフトウエアシステム及びハードウエアシステムのような技術に適応することができる。   Referring to FIG. 2, a block diagram depicting software architecture 200 according to an exemplary and non-limiting embodiment is illustrated. The software architecture 200 enables artificial intelligence that can enable the PCD 100 to give life as a sympathetic persona that can engage people across a wide range of applications through robotic embodiments, as well as connected devices. It can be adapted to techniques such as machine learning and related software and hardware systems.

例示的かつ非限定的実施形態により、PCD100に関連付けられた人工知能を人間の交際コードを機械に符号化することができる1又は2以上のカテゴリに分割することができる。一部の実施形態では、これら1又は2以上のカテゴリをPCDの認識−感情表出アーキテクチャの基礎とすることができる。1又は2以上のカテゴリは、心理社会的知覚、心理社会的学習、心理社会的対話、及び心理社会的表現などを含むことができるがこれらに限定されない。人工知能の心理社会的知覚カテゴリは、PCD100の自然な親交的相互作用及び遠方場対話をサポートするための人間の親交的手がかりの統合機械知覚(例えば、視覚、聴覚、触覚)を含むことができる。心理社会的学習カテゴリは、PCD100が直接対話及びPCD100及びデバイスデジタルエコシステムによって捕捉されたマルチモーダルデータからのデータ解析によって人々のID、活動パターン、プリファレンス、及び興味に対して学習することを可能にするアルゴリズムを含むことができる。PCDは、その近傍場及び遠方場の通信距離内に進入する人々の音声サンプルを記録し、検出した人々のID及び個人データを取得するために音声識別システムを利用することができる。更に、PCDは、BLE対応デバイスの発見チャネル内で同報通信されるUUIDを検出し、デバイスユーザに関する個人データを復号することができる。PCDは、Facebook、Twitter、及びLinkedInなどのようなソーシャルネットワーキングサイトから追加の個人情報を収集するために、取得したID及び個人データを使用することができる。PCDは、その近傍場又は遠方場の通信距離内で検出した人々の存在及びIDを構成した人々の個人プロファイルの表示と共に告知することができる。   According to an exemplary and non-limiting embodiment, the artificial intelligence associated with the PCD 100 can be divided into one or more categories that can be machine coded into human cohesion code. In some embodiments, one or more of these categories can be the basis of the PCD's recognition-emotional architecture. One or more categories can include, but are not limited to, psychosocial perception, psychosocial learning, psychosocial dialogue, psychosocial expression, and the like. The psychosocial perception category of artificial intelligence can include integrated machine perception (eg, visual, auditory, tactile) of human intimacy cues to support PCD 100 natural intimacy interactions and far-field dialogue . The psychosocial learning category allows the PCD 100 to learn for people's identity, activity patterns, preferences and interests through direct dialogue and data analysis from multimodal data captured by the PCD 100 and the device digital ecosystem An algorithm can be included. The PCD can use voice recognition systems to record voice samples of people entering within their near field and far field communication distances, and to obtain detected people's ID and personal data. Additionally, the PCD can detect the UUID broadcast in the discovery channel of BLE enabled devices and decode personal data about the device user. The PCD can use the acquired ID and personal data to collect additional personal information from social networking sites such as Facebook, Twitter, LinkedIn and the like. The PCD can be notified with the presence of people detected within its near field or far field communication distance and with the display of the personal profile of the people who configured the ID.

心理社会的対話カテゴリは、PCD100が、タスク及び活動、並びに人々との信頼及び感情的絆を構成する友好関係構成技能をサポートするために先見的意志決定処理を実施することを可能にすることができる。人工知能の心理社会的表現カテゴリは、PCD100が、そのマルチモーダル出力を「生命を宿すかのように」編成し、コンテンツを活気付け、更に発話、移動、グラフィック、音、及び照明の編成によって人々に共感的ペルソナとして関わり合うことを可能にすることができる。アーキテクチャ200は、マルチモーダル機械知覚技術、発話認識、表現的発話合成、並びに対費用効果を改善するハードウエアモジュール(すなわち、モバイルデバイスに共通の構成要素)に対応するモジュールを含むことができる。図1に示すように、PCD100内には1又は2以上のソフトウエアサブシステムが設けられ、これら1又は2以上のサブシステムに対しては下記でより詳細に以下に説明する。   The psychosocial dialogue category allows the PCD 100 to perform a visionary decision-making process to support tasks and activities, as well as friendship composition skills that constitute trust and emotional bonds with people. it can. The psychosocial representation category of artificial intelligence is that PCD 100 organizes its multimodal output "as if to live", animate content, and further by organizing speech, movement, graphics, sounds, and lighting. It is possible to engage as an empathic persona. The architecture 200 can include modules corresponding to multi-modal machine perception techniques, speech recognition, expressive speech synthesis, and hardware modules (ie, components common to mobile devices) that improve cost effectiveness. As shown in FIG. 1, one or more software subsystems are provided in the PCD 100, and these one or more subsystems will be described in more detail below.

心理社会的知覚Psychosocial perception

PCD100の心理社会的知覚は、音声入力を処理するために使用することができる聴覚知覚と、ユーザの場所を見極め、ユーザの感情を捕捉し、ユーザのID及び身振りを認識し、ユーザとの対話を維持するために使用することができる視覚−空間的知覚とを含むことができる。PCD100の聴覚知覚は、マイクロフォンアレイ202と、204のような1又は2以上の信号処理技術と、自動発話認識モジュール206とを用いて実現することができる。更に、聴覚知覚は、対話型社会ロボットの独特の感知要件及び処理要件を有するモバイルコンピュータデジタルエコシステムに向けて生成される構成要素及び技術を利用することによって実現することができる。PCD100は、マイクロフォンアレイ202、及び信号処理モジュール204aを用いたノイズ消去技術、並びに自動発話認識モジュール206及び聴覚情景解析を支援する第三者ソリューションを用いて発話による遠方場対話をサポートするためのハードウエア及びソフトウエアを含むことができる。   The psychosocial perception of PCD 100 can be used to process speech input, auditory perception, determine the location of the user, capture the user's emotions, recognize the user's identity and gesture, and interact with the user Can include vision-spatial perception that can be used to maintain Auditory perception of PCD 100 may be implemented using microphone array 202, one or more signal processing techniques such as 204, and automatic speech recognition module 206. Furthermore, auditory perception can be realized by utilizing components and techniques generated towards a mobile computer digital ecosystem having the unique sensing and processing requirements of an interactive social robot. The PCD 100 supports hardware far field interaction with speech using the microphone array 202 and noise cancellation techniques using the signal processing module 204a, and an automatic speech recognition module 206 and a third party solution that supports auditory scene analysis. Software and software can be included.

PCD100は、ノイズ環境内で人々が何と言っているかを聞いて理解することに適応するように構成することができる。これを行うために、音信号を自動発話認識器(ASR)モジュール206に渡す前に信号処理モジュール204aに通すことができる。ASRの成功率を改善するために、音信号は、静的及び動的な背景ノイズ、エコー、モータから、更に、他の人々の会話からも発話を分離するように処理される。   The PCD 100 can be configured to adapt to listening and understanding what people are saying in a noisy environment. To do this, the sound signal may be passed to the signal processing module 204a before being passed to the automatic speech recognizer (ASR) module 206. To improve the success rate of ASR, the sound signal is processed to separate the speech from static and dynamic background noise, echo, motor and also from other people's speech.

例示的かつ非限定的実施形態により、PCD100は、少なくとも4つのMEMSマイクロフォンのアレイを空間的構成に使用するように構成することができる。更に、特定の方向の音を分離するために、音到着時間に基づくアルゴリズム(本明細書ではビーム形成アルゴリズムと呼ぶ)を使用することができる。複数(例えば、合計で6つ)のマイクロフォン信号、方向ベクトル、及びマイクロフォン配置を用いて、ビーム形成アルゴリズムは、特定の空間的音源から到着する音を分離することができる。ビーム形成アルゴリズムは、複数のビームを同時に許容することによって複数の音源に関する情報を与えることができる場合がある。更に、発話−非発話検出アルゴリズムが、発話源を識別することができる場合があり、話者の空間的位置特定を可能にすることができる。一部の実施形態では、ビーム形成情報は、方向を選択するためのPCD100の視覚システム及び認識システム、並びに方向転換して向けるための運動機能と統合することができる。例えば、3D空間内で人の頭の場所を検出するために3Dセンサを使用することができ、それに従ってその方向をビーム形成アルゴリズムに通信することができ、ビーム形成アルゴリズムは、感知された場所から到着する音を分離することができ、その後に、それをASRモジュール206に渡す。   According to an exemplary non-limiting embodiment, the PCD 100 can be configured to use an array of at least four MEMS microphones in a spatial configuration. Furthermore, an algorithm based on sound arrival time (referred to herein as a beamforming algorithm) can be used to separate sound in a particular direction. With multiple (e.g., six in total) microphone signals, direction vectors, and microphone placement, the beamforming algorithm can separate the sound arriving from a particular spatial source. Beamforming algorithms may be able to provide information about multiple sources by allowing multiple beams simultaneously. In addition, speech-not-speech detection algorithms may be able to identify the speech source and may allow for spatial location of the speaker. In some embodiments, beamforming information can be integrated with the vision and recognition system of the PCD 100 to select a direction, as well as motion functions to turn around. For example, a 3D sensor can be used to detect the location of a person's head in 3D space, and its direction can be communicated accordingly to the beamforming algorithm, the beamforming algorithm from the sensed location The arriving sound can be separated and then passed to the ASR module 206.

作動中に、PCD100は、発声又はノイズを出すことのいずれかによって音を発生させる場合がある。信号処理モジュール204aは、これらの音がマイクロフォンアレイ202を通してASRモジュール206に供給し戻されるのを阻止するように構成することができる。スピーカノイズを除去するために、信号処理モジュール204aは、マイクロフォンによって感受されている信号からスピーカに供給されている信号を減算することができるアルゴリズムを使用することができる。調波の多いモータノイズを低減するために、PCD100は、機械的手法及び信号処理技術を実施するように構成することができる。   During operation, the PCD 100 may generate sound by either speaking or producing noise. Signal processing module 204 a may be configured to block these sounds from being provided back to ASR module 206 through microphone array 202. In order to remove speaker noise, the signal processing module 204a can use an algorithm that can subtract the signal supplied to the speaker from the signal perceived by the microphone. In order to reduce harmonic-rich motor noise, the PCD 100 can be configured to implement mechanical approaches and signal processing techniques.

一部の実施形態では、PCD100は、モータの様々なポートから発生するノイズに対処するためにモータのこれらのポートをモニタすることができる。一例では、PCD100は、電機子軸受によってブーン音の形態で生成される可能性がある高周波を吸収することができる弾性材料内にモータを装着するように構成することができる。モータは、それが高速で回転している時にだけに目立つスー音を生成する可能性があるブラシを含む場合がある。従って、PCD100は、スー音を回避するために比較的低速でのアニメーション及び移動を示すことができる。更に、PCD100は、低めの歯車比を実施し、更にモータの速度を低減することによってスー音を回避するように構成することができる。一般的に、愛好家のサーボモータに見られるような低品質のPWMドライブは、高ピッチのヒュー音を生成する場合がある。PCD100は、モータノイズのこの部分を排除するために良品質PWMドライブを用いて構成することができる。一般的に、モータの歯車は、モータノイズの大部分を占める低めのピッチの擦れ音をもたらす場合がある。最終歯車ドライブは、ドライブ系内の殆どのトルクを支持することができ、従って、殆どのノイズの発生源である。PCD100は、このノイズ発生源を最小にするために、最終歯車ドライブを摩擦ドライブで置換するように構成することができる。更に、PCD100は、モータが発生させるノイズを低減するために信号処理技術を使用するように構成することができる。一部の実施形態では、主マイクロフォンアレイ202内の信号からノイズ信号を減算することができるように、各モータの隣にマイクロフォンを配置することができる。   In some embodiments, the PCD 100 can monitor these ports of the motor to account for noise generated from the various ports of the motor. In one example, the PCD 100 can be configured to mount the motor in an elastic material that can absorb high frequencies that may be generated in the form of a buzz by the armature bearings. The motor may include a brush that may produce a noticeable sounding only when it is rotating at high speeds. Thus, the PCD 100 can show animations and movements at relatively slow speeds to avoid sue. In addition, the PCD 100 can be configured to avoid spurious noise by implementing a lower gear ratio and further reducing the speed of the motor. In general, low quality PWM drives, such as those found in enthusiast servomotors, can produce high pitched hues. The PCD 100 can be configured with a good quality PWM drive to eliminate this portion of motor noise. In general, the gears of the motor may result in low pitch rub noise, which accounts for most of the motor noise. The final gear drive can support most of the torque in the drive system and is therefore the source of most noise. The PCD 100 can be configured to replace the final gear drive with a friction drive to minimize this noise source. Additionally, the PCD 100 can be configured to use signal processing techniques to reduce the noise generated by the motor. In some embodiments, microphones can be placed next to each motor so that noise signals can be subtracted from the signals in the main microphone array 202.

PCD100のオーディオパイプラインの出力が、ノイズ除去されたオーディオ源をASRモジュール206内に供給することができ、ASRモジュール206は、例えば、ASRのn−best出力又はワードラティスを用いて発話をテキストに、時に有意な信頼度レベルで強化された別の競合するワード仮説に変換することができる。次に、発話のテキスト表現(ワード)は、ユーザの意志及びユーザが提供する情報を「理解」するために構文解析し、最終的に記号表現(意味構造)に変換することができる。ASRモジュール206は、通常音声及び典型的な対人通信距離に対応する距離でのユーザからの発話を認識することができる。一例では、距離は、周囲ノイズ及び発話品質を含む複数の環境属性に依存して5〜6フィート付近又はそれよりも大きいとすることができる。一例では、発話認識範囲は、一般的に12フィート×15フィートの部屋の区域を網羅しなければならない。ASRモジュール206に供給される信号は、マイクロフォンアレイビーム形成アルゴリズムの結果になり、話者の周りの約±30度の集音角度から利用可能である。比較的狭い集音角度は、劣悪な発話認識精度の主原因である背景の周りノイズ及び残響の一部を能動的に低減することを可能にすることができる。例えば、話者がマイクロフォンから遠過ぎるか又は話者が過度に小声で発声していることに起因して発話信号が過度に低いシナリオでは、PCD100は、先見的に話者により近づくように依頼する(例えば、3Dセンサによって決定された話者の距離が利用可能である場合)又はより大声で発声するように依頼するか又はこれらの両方を行うことができる。一部の実施形態では、PCD100は、文法及び統計言語モデル(SLM)を用いて大きい語彙の認識をサポートすることができる実時間埋め込みASR手法を使用するように構成することができる。更に、発話認識率を改善するために、音響ASRモデルは、音響装備からのデータを用いて訓練及び/又は調整することができる。   The output of the audio pipeline of the PCD 100 can provide a de-noised audio source into the ASR module 206, which for example can translate the utterance into text using the n-best output of the ASR or the word lattice. , Can be transformed into another competing word hypothesis, sometimes enhanced with significant confidence levels. Next, a textual representation (word) of the utterance can be parsed to “understand” the user's will and the information provided by the user and finally converted to a symbolic representation (semantic structure). The ASR module 206 can recognize speech from the user at a distance corresponding to normal speech and typical interpersonal communication distances. In one example, the distance may be near or greater than 5 to 6 feet depending on multiple environmental attributes including ambient noise and speech quality. In one example, the speech recognition range should generally cover an area of a 12 foot by 15 foot room. The signals provided to the ASR module 206 are the result of the microphone array beamforming algorithm, and are available from a sound collection angle of about ± 30 degrees around the speaker. A relatively narrow sound collection angle may allow to actively reduce some of the background noise and reverberation that is the main cause of poor speech recognition accuracy. For example, in a scenario where the speech signal is too low due to the speaker being too far from the microphone or the speaker vocalizing excessively, the PCD 100 asks the speaker to look ahead (For example, if the distance of the speaker determined by the 3D sensor is available) and / or ask to speak louder. In some embodiments, the PCD 100 can be configured to use real-time embedded ASR techniques that can support large vocabulary recognition using grammar and statistical language models (SLMs). Further, to improve speech recognition rates, acoustic ASR models can be trained and / or adjusted using data from acoustic equipment.

例示的かつ非限定的実施形態により、PCD100は、ASRモジュール206とPCD100の対話システムの間に挟むことができる自然言語処理層を含むように構成することができる。自然言語処理層は、ASRによって生成されたテキストを取得してそれに意味を割り当てることができる自然言語理解(NLU)モジュールを含むことができる。一部の実施形態では、NLUモジュールは、上述の埋め込み発話認識がサポートすることができる拡張バッカス−ナウア記法(BNF)表示、Java(登録商標)発話文法フォーマット(JSGF)、又は発話認識文法フォーマット(SRGF)のようなフォーマットに適応するように構成することができる。より多くのユーザ発言が収集される時に、PCD100は、従来の文法をより高い発話認識及び理解の性能を与え、自動的なデータ駆動適応を可能にする統計的文法に徐々に転換することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to include a natural language processing layer that can be sandwiched between the ASR module 206 and the dialog system of the PCD 100. The natural language processing layer can include a natural language understanding (NLU) module that can obtain text assigned by the ASR and assign a meaning to it. In some embodiments, the NLU module may use Extended Backus-Naur Form (BNF) representation, Java® Speech Grammar Format (JSGF), or Speech Recognition Grammar Format (BNF) that the embedded speech recognition described above can support. It can be configured to adapt to a format such as SRGF). As more user utterances are collected, the PCD 100 can gradually convert traditional grammars into statistical grammars that provide higher speech recognition and understanding performance and allow automatic data-driven adaptation. .

例示的かつ非限定的実施形態により、PCD100は、各対話タスクに対するマルチモーダル言語対話システムユーザインタフェース設計原理を用いて構造化対話フローを設計するように構成することができる(PCD100の頭脳に向けて採用されたタスクネットワーク表現に基づいて)。対話フローは、マルチモーダル入力(例えば、音声及びタッチ)を順次受信して(例えば、一度に1つの入力)、又は同時に受信して(例えば、入力を受信順に独立して処理することができる)マルチモーダル出力(例えば、音声プロンプト、PCDの移動、表示アイコン及び表示テキスト)を生成するように設計することができる。限定ではなく例として、PCD100は、イエス/ノー質問を投げ掛けることができ、PCD100の眼は、1又は2以上のタッチセンサが選択することができるイエス/ノーアイコンを有する疑問符形状に変態することができる。一部の実施形態では、PCD100は、意志を表現することができる自然言語対話(例えば、やあ、!写真を撮ろうよ!)を処理するように適応させることができる。一部の実施形態では、対話には、「方向に沿った言語対話」を続けることができる。例えば、写真を撮るという意志が識別された後に、PCD100は、直前に聞いたことを見るため又は追加情報を求めるためのいずれかを目的とする方向に沿った質問(例えば、私があなたの写真を撮りましょうか?)を投げ掛けることができる。   By way of an illustrative and non-limiting embodiment, PCD 100 can be configured to design a structured dialogue flow using multimodal language dialogue system user interface design principles for each dialogue task (toward the brain of PCD 100) Based on the adopted task network representation). The interaction flow may receive multimodal inputs (eg, voice and touch) sequentially (eg, one input at a time) or simultaneously (eg, inputs may be processed independently in receive order) It can be designed to generate multimodal output (e.g. voice prompts, PCD movements, display icons and display text). By way of example and not limitation, the PCD 100 can cast a yes / no question, and the eye of the PCD 100 can be transformed into a question mark shape with a yes / no icon that can be selected by one or more touch sensors. it can. In some embodiments, the PCD 100 can be adapted to process natural language dialogues (eg, Hi! Let's take pictures!) That can express will. In some embodiments, the dialogue can be followed by a "verbal dialogue along the direction". For example, after the intention to take a picture has been identified, the PCD 100 may ask questions along a direction that either aims to see what you have just heard or to seek additional information (e.g. Shall we shoot?).

視覚−空間的知覚Vision-spatial perception

例示的かつ非限定的実施形態により、PCD100は、2D映像、3D映像を感受するため又は運動又は色を感知するためにRGBカメラ212、深度カメラ214、及び他のセンサのような1又は2以上の視覚−空間的知覚センサを使用するように構成することができる。PCD100は、周囲環境内でユーザの感情知覚を取得するように構成することができる。例えば、PCD100は、各人の表情に出た感情状態を検出することができる。PCD100は、一瞬一瞬のユーザの身体状態及び環境を記録するために視覚−空間的知覚サブシステムを含むことができる。このサブシステムは、ユーザの現在状態の推定を他の内部ソフトウエアモジュールに局所知覚空間(LPS)208と呼ぶ動的に更新される共有データ構造として提供することができる。LPSは、PCD100の現在場所を中心とする単一3D座標系内で複数の感知入力ストリームを組み合わせることによって構成することができ、一方、PCD100の移動を考慮することができる運動変換を用いてセンサを3Dで位置合わせすることができる。一部の実施形態では、LPS208は、各々がより高い詳細レベルに改善する複数レベルの情報を維持するように設計することができ、処理及び主要なセンサ入力を要求することができる。LPS208のレベルは、以下のレベルを含むことができる。   According to an exemplary and non-limiting embodiment, the PCD 100 may include one or more of a RGB camera 212, a depth camera 214, and other sensors to sense 2D video, 3D video, or to sense motion or color. Can be configured to use a visual-spatial perception sensor of The PCD 100 can be configured to capture the user's perception of emotion within the surrounding environment. For example, the PCD 100 can detect an emotional state appearing in each person's facial expression. The PCD 100 can include a visual-spatial perception subsystem to record a moment's physical state and environment of the user. This subsystem can provide an estimate of the user's current state to other internal software modules as a dynamically updated shared data structure called Local Perceptual Space (LPS) 208. The LPS can be constructed by combining multiple sensing input streams in a single 3D coordinate system centered on the current location of the PCD 100 while the sensor using a motion transformation that can take into account the movement of the PCD 100 Can be aligned in 3D. In some embodiments, LPS 208 can be designed to maintain multiple levels of information, each improving to a higher level of detail, and can require processing and key sensor input. The levels of LPS 208 can include the following levels.

人検出:このレベルは、隣接の周りに存在する個人を検出することができる。例えば、PCD100は、センサを用いて隣接の人々の数を計算することができる。一部の実施形態では、PCD100の向けるためにシステム内視覚運動キューを使用することができる。更に、システムを低電力「スリープ」状態に入れることができるが、依然として誰かが部屋に入るのに反応することができるようにマイクロコントローラ上にスリープ解除を実施するために、焦電赤外線(PIR)感知及び簡単なマイクロフォン出力を統合することができる。人々の存在を検出するために、これを視覚運動キュー及び色セグメント化モデルと組み合わせることができる。検出は、LPS208と統合することができる。   Person detection: This level can detect individuals present around the neighborhood. For example, the PCD 100 can use sensors to calculate the number of neighbors. In some embodiments, in-system visual motion cues can be used to direct the PCD 100. In addition, the system can be put into a low power "sleep" state, but still Pyroelectric Infrared (PIR) to perform wake up on the microcontroller so that someone can respond to entering the room. The sensing and simple microphone output can be integrated. This can be combined with visual motion cues and color segmentation models to detect the presence of people. Detection can be integrated with LPS 208.

人追跡:PCD100は、人の場所を3Dで決定し、それに従って人の軌道を視覚、深度、運動、音、色、特徴部、及び能動的移動などのセンサを用いて決定するように構成することができる。例えば、ユーザ(特にユーザの頭/顔)の場所を決定するために視覚運動検出と3D人検出との組合せを使用することができる。更に、LPS208は、遮蔽及び更に多くの人々を処理するために時間モデル及び他の入力を含むように適応させることができる。運動及び3Dの手がかりに加えて、システムは、ユーザの顔及び手を背景から適応的に分離するために画像からオンラインで色セグメント化モデル(ナイーブベイズ)を学習することができ(移動領域及び3Dから)、システムに対してロバストな人居場所検出を可能にするために複数の入力の結果をLPS208の空間的及び時間的なフィルタリングと組み合わせることができる。   People Tracking: PCD 100 configures 3D to determine the location of people and to determine their trajectories accordingly using sensors such as vision, depth, motion, sounds, colors, features, and active movement be able to. For example, a combination of visual motion detection and 3D human detection can be used to determine the location of the user (especially the user's head / face). Additionally, LPS 208 can be adapted to include temporal models and other inputs to process occlusion and more people. In addition to motion and 3D cues, the system can learn color segmentation models (naive Bayes) online from images to adaptively separate the user's face and hands from the background (moving area and 3D And from the results of multiple inputs can be combined with the spatial and temporal filtering of LPS 208 to enable robust location detection for the system.

人識別:PCD100は、既知及び未知の人を視覚センサ、聴覚センサ、又は人IDに関するタッチ入力を用いて識別することができる。一例では、顔識別モジュールに対して1又は2以上のオープンソースOpenCVライブラリを使用することができる。更に、顔検出に対する候補である限定画像領域セットを識別するために、人追跡情報と運動検出とを組み合わせることができる。   Person Identification: The PCD 100 can identify known and unknown persons using a visual sensor, an auditory sensor, or a touch input on a person ID. In one example, one or more open source OpenCV libraries can be used for the face identification module. In addition, human tracking information and motion detection can be combined to identify a limited image region set that is a candidate for face detection.

姿勢/身振り追跡:PCD100は、各人の姿勢又は体勢を視覚分類(例えば、顔、身体姿勢、骨格追跡のような)又はタッチマッピングを用いて識別することができる。一部の実施形態では、PCD100のセンサモダリティを使用するこの機能を組み込むために3Dデータセットを使用することができる。一例では、視覚及び3D視覚の特徴部の追跡に基づいてカスタム身振り認識を高速化するためにオープンソース身振り認識ツールキットを採用することができる。   Posture / Gesture Tracking: The PCD 100 can identify each person's posture or posture using visual classification (such as face, body posture, skeletal tracking) or touch mapping. In some embodiments, a 3D data set can be used to incorporate this functionality using the sensor modalities of PCD 100. In one example, an open source gesture recognition toolkit can be employed to accelerate custom gesture recognition based on tracking of visual and 3D visual features.

注意の集中:PCD100は、集中区域を決定し、決定した集中区域に向く又はそこを注視することができるように構成することができる。様々なセンサを注意の集中に関する場所/方向セットに組み合わせることができる。例えば、人々の推定場所が、LPS208内に注意集中場所セットを生成することができる。これらの場所は、所与の場所に対する注意駆動の信頼度に加えて人々の推定に関する最大確度の場所とすることができる。集中点及び方向のセットは信頼度によって評価され、他のモジュールによる使用のためのLPS208の包括的な要約が生成される。PCD100は、ユーザに直接話しかけ、複数のユーザの間で途切れることなく「凝視を急転させる」ように凝視ターゲットを選択するためにこれらの集中点及び方向を使用することができる。更に、それにより、PCD100ロボットが隣接のユーザの存在を見るために低めの信頼度の場所を注視することを可能にすることができる。   Attention concentration: The PCD 100 can be configured to determine a concentration area and be able to face or gaze at the determined concentration area. Various sensors can be combined into a location / direction set for attentional concentration. For example, people's inferred places may generate a set of attentional places in LPS 208. These locations can be locations of greatest likelihood for people's estimates, in addition to the attention-driven confidence for a given location. The set of concentration points and directions are evaluated by confidence levels, and a comprehensive summary of LPS 208 for use by other modules is generated. The PCD 100 can use these focus points and directions to select the gaze target to speak directly to the user and "turn the gaze" without interruption among multiple users. Furthermore, it can allow the PCD 100 robot to gaze at a less reliable location to see the presence of adjacent users.

例示的かつ非限定的実施形態により、PCD100は、システム内に活動推定を含めるように構成することができ、又は音声入力による追跡及び識別、並びに音声韻律からの感情状態の推定に向けてより多くのセンサモダリティを組み込むことができる。LPS208は、処理ターゲットの入力特徴に対して格子ベースの粒子フィルタモデルを用いて複数の入力からのデータを組み合わせることができる。粒子フィルタは、ユーザの身体的状態のロバストなオンライン推定、並びにPCD側の更に別の感知及びアクションによって解決しなければならない重大な不確立性が存在する場合の複数の仮定ケースに関する表現に対してサポートを与えることができる。必然的に粒子フィルタリング技術は、明確な閉形態の関節分布モデルを必要とすることなく関連の属性と感知入力との組合せを物理的に測定可能なユーザ状況に組み合わせることを可能にすることができる。更に、格子ベースの粒子フィルタは、3D(立体)及び2D(映像)の感知入力を単一座標系内で融合し、いずれか所与の時点で1つの物体しか空間を占有することができないという制約条件を課すのに役立たせることができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to include activity estimation in the system, or more towards tracking and identification by speech input, and estimation of emotional state from speech prosody Sensor modalities can be incorporated. The LPS 208 can combine data from multiple inputs using a grid based particle filter model for the input features of the processing target. The particle filter is for robust on-line estimation of the user's physical condition as well as for the representation of multiple hypothetical cases where there is significant non-establishment that must be resolved by further sensing and action on the PCD side. Support can be given. Inevitably, particle filtering techniques can allow the combination of relevant attributes and sense inputs to be combined into physically measurable user situations without the need for a well-defined closed form joint distribution model . Furthermore, grid-based particle filters fuse 3D (stereoscopic) and 2D (video) sensing inputs in a single coordinate system, and only one object can occupy space at any given time It can be useful to impose constraints.

例示的かつ非限定的実施形態により、PCD100は、それ自体がユーザを直接注視していない可能性がある場合であってもモデルユーザ状況を経時的に捕捉するのに役立たせることができる発見的提案分布及び発見的遷移モデルを含むように構成することができる。この構成は、PCD100との言語手がかり及び非言語手がかりを用いた自然な方向転換を行いながらの多者間会話を可能にすることができ、粒子フィルタリングフレームワーク内に容易に適応させることができる。その結果、ロバストな統計推定を人間中心の発見的方法と原理に則った方式で組み合わせることを可能にすることができる。更に、LPS208は、度重なる対話から過去の確率分布を学習することができ、人々が廊下、ドア、及び調理台付近から現れる可能性がある空間内の「ホットスポット」に適応することになり、ユーザに最も関連性の高い場所に自動的にターゲットを定めるためにこの空間情報を使用することができる。低レベル画像及び信号処理コードは、OpenCV、統合ビジョンツールキット(IVT)、一般的な数値処理のためのEigen、及びプロセッサ特定の最適化ライブラリのような高品質オープンソースツールに基づいてカスタム化することができる。   Exemplary and non-limiting embodiments allow the PCD 100 to be heuristically able to capture model user status over time, even though it may not be directly gazing at the user itself. It can be configured to include proposed distributions and heuristic transition models. This configuration can allow multi-party conversations with natural reorientation with verbal and non-verbal cues with the PCD 100 and can be easily adapted within the particle filtering framework. As a result, it is possible to combine robust statistical estimation in a human-centered heuristic and principle-based manner. Furthermore, the LPS 208 can learn past probability distributions from repeated dialogues, adapting to "hot spots" in spaces that people may emerge from near corridors, doors, and countertops, This spatial information can be used to automatically target locations that are most relevant to the user. Low-level image and signal processing code is customized based on high quality open source tools such as OpenCV, Integrated Vision Toolkit (IVT), Eigen for general numerical processing, and processor specific optimization library be able to.

例示的かつ非限定的実施形態により、PCD100は、ビデオストリームから喜び、怒り、侮り、嫌悪、恐れ、悲しみ、混乱、欲求不満、及び驚きのような様々なレベルの感情を認識するように構成することができる。一部の実施形態では、PCD100は、頭の位置、性別、年齢、及び誰かが眼鏡を着用しているか否か、顔の毛を有するか否かなどを決定するように構成することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 is configured to recognize various levels of emotions such as pleasure, anger, resentment, aversion, fear, sadness, confusion, frustration, and surprise from a video stream be able to. In some embodiments, the PCD 100 can be configured to determine head position, gender, age, whether someone is wearing glasses, whether they have facial hair, and so on.

例示的かつ非限定的実施形態により、オーディオ入力システムは、ユーザに集中する。一部の実施形態では、PCD100は、例えば、ロボットの移動、運動、及び推定3D注意集中方向に依存してオーディオビーム形成機能の方向を実時間で更新するように構成することができる。この構成は、PCD100が、関連かつアクティブオーディオ入力がある特定の「セクター」を選択的に傾聴することを可能にすることができる。それにより、完全3D人感知及び注意の集中との統合によってASR及びNLUの機能の信頼性を高めることができる。   In accordance with the illustrative and non-limiting embodiment, the audio input system is focused on the user. In some embodiments, the PCD 100 can be configured to update the direction of the audio beamforming function in real time, depending, for example, on robot movement, motion, and estimated 3D attention concentration directions. This configuration may allow the PCD 100 to selectively listen to certain "sectors" with associated and active audio input. Thereby, the integration of full 3D human sensing and attention concentration can enhance the reliability of the functions of ASR and NLU.

空間的確率学習Spatial stochastic learning

例示的かつ非限定的実施形態により、ユーザがチェックインした時にPCD100がより円滑に関わり合うのを助けるために、空間的確率学習技術を使用することができる。長期間にわたって、PCD100は、ユーザの到着及び合同的存在のシーケンスを格納し、所与の部屋に関するこれらの統計を累積することができる。この統計累積は、入室時にユーザとの関わり合い規則を予想する機能を与えることができ、それによってPCD100が所与の期間にわたってセクターを方向転換すること、更に部屋の占有者を推量することさえも可能にすることができる。例えば、この機能は、PCD100が入室する誰かを完全に識別してしまうことができる前に「やあ、ビリー、君かい?」と言う対話をサポートするための限定的予想を使用する機能をPCD100に与えることができる。同時に、PCD100は、当該時刻で誰かを見ることになる可能性が最も高い空間的方向に方向転換することができる。   The exemplary non-limiting embodiment allows spatial probabilistic learning techniques to be used to help PCD 100 more smoothly engage when the user checks in. Over time, the PCD 100 can store sequences of user arrivals and joint presences and accumulate these statistics for a given room. This statistical accumulation can provide the ability to predict user engagement rules upon entry, thereby causing the PCD 100 to turn the sector over a given period of time and even guess the occupants of the room. It can be enabled. For example, this feature allows the PCD 100 to use limited predictions to support the "Hello, Billy, you?" Dialog before the PCD 100 can completely identify someone entering the room. Can be given. At the same time, the PCD 100 can turn in the spatial direction that is most likely to see someone at that time.

心理社会的対話Psychosocial dialogue

例示的かつ非限定的実施形態により、PCD100は、完全に自律した人工キャラクターとすることができる。PCD100は、感情を有することができ、独自のゴールを選択し(ユーザ入力に基づいて)、これらのゴールを達成してユーザを幸福で健全な状態に保つために閉ループ実時間制御システムを実行することができる。心理社会的対話モジュール(PSIM)は、センサの出力を処理して出力及び表現に向けてアクションを選択することができる閉ループの別個の時間制御システムの最上位層である。様々なサポート処理がCPU上で同時に進行することができ、感知入力を意志決定モジュールに非同期的に配信することができる。「ティック」は、新しいアクション及び表現を選択するためにPCD100の累積センサ情報と、現在の短期格納/知識と、タスク駆動の意志状態とを組み合わせることができる意志決定サイクルである。   According to an exemplary and non-limiting embodiment, PCD 100 can be a fully autonomous artificial character. The PCD 100 can have emotions, select unique goals (based on user input), and implement a closed-loop real-time control system to achieve these goals and keep the user happy and healthy be able to. The psychosocial interaction module (PSIM) is the top layer of a closed-loop separate time control system that can process the sensor's output and select actions towards the output and representation. Various support processes can proceed simultaneously on the CPU and sense inputs can be delivered asynchronously to the decision making module. A "tick" is a decision cycle that can combine the PCD 100's accumulated sensor information, current short-term storage / knowledge and task-driven will states to select new actions and expressions.

図3Aは、例示的かつ非限定的実施形態によるPSIM300のアーキテクチャを示している。PSIM300のコアは、他の要素の作動を編成するエグゼクティブ302である。エグゼクティブ302は、PCD100の頭脳の定期更新を受け持つ。PSIM300の各「ティック」は、心理社会的表現モジュールに以下の方式で新しい指令を出すように進行する処理段階セットを含むことができる。   FIG. 3A shows the architecture of PSIM 300 according to an exemplary and non-limiting embodiment. The core of PSIM 300 is an executive 302 that orchestrates the operation of the other elements. The executive 302 is responsible for periodic updates of the brain of the PCD 100. Each "tick" of the PSIM 300 can include a set of processing steps that proceed to issue a new command to the psychosocial expression module in the following manner.

内部更新:
a.感情更新
b.ゴール選択
Internal update:
a. Emotional update b. Goal selection

入力処理:
a.心理社会的知覚304からの非同期入力をサンプリングし、意志決定モジュールの黒板306内に更新入力する。
b.入力は、様々なユーザからの人居場所、顔IDサンプル、及び構文解析されたNLU発言のような情報を含むことができる。
c.黒板306として更新する必要がある可能性がある新しい情報のみがキャッシュのように機能することができる。
d.更に、現在のタスクに関連の情報を捕捉する必要がある場合がある。
Input processing:
a. The asynchronous input from the psychosocial perception 304 is sampled and updated into the blackboard 306 of the decision making module.
b. The inputs can include information such as populated areas from various users, face ID samples, and parsed NLU utterances.
c. Only new information that may need to be updated as blackboard 306 can function like a cache.
d. In addition, it may be necessary to capture information relevant to the current task.

クエリ処理:
a.いずれかの知識クエリ作動からの結果を心理社会的知識ベース308から黒板306内にサンプリングする。
b.このサンプリングは、クエリ作動の繰延処理の結果を現在の意志決定での使用に向けて収集することができる。
Query processing:
a. The results from any of the knowledge query operations are sampled from the psychosocial knowledge base 308 into the blackboard 306.
b. This sampling may collect the results of deferred processing of query operations for use in current decision making.

タスクネットワーク310:思考/更新
a.エグゼクティブ302は、タスクネットワーク310の「思考」作動及びいずれか必要なアクションを実行することができ、各レベルで意志決定を行う。この処理中にタスクネットワーク310内のアクティブノードセットを更新することができる。
b.タスクネットワーク310は、ロボットの対話に対する階層型コントローラとして機能する状態機械ベースの論理部の柔軟な形態である。
Task network 310: Thoughts / updates a. The executive 302 can perform the “thinking” actuation of the task network 310 and any necessary actions, making decisions at each level. The active node set in task network 310 can be updated during this process.
b. Task network 310 is a flexible form of state machine based logic that acts as a hierarchical controller for robot interactions.

出力処理:
a.特定の黒板306のフレーム内にロードされた出力を心理社会的表現モジュール312に伝達する。
Output processing:
a. The output loaded in the frame of the particular blackboard 306 is communicated to the psychosocial expression module 312.

例示的かつ非限定的実施形態により、エグゼクティブ302は、タスクネットワーク310内のタスクの非同期ディスパッチという重要なサービスを提供することができる。ネットワーク310内のあらゆるタスクは、いずれかの計算負荷が高い作業を実施するために非同期ディスパッチを要求することによって同時背景スレッドへの計算を繰延べることができる場合がある。この機能は、タスクネットワーク310が重い計算及び低速又はネットワークI/Oを阻害さえするようなものを意志決定サイクルを「阻害」することのないか又はPCD100の意志決定処理の反応性を変化させることのないアクションとして編成することを可能にすることができる。一部の実施形態では、エグゼクティブ302は、タスクネットワーク310の新しいセクションを生成する計画作動をディスパッチすることができ、生成物の知能が成熟する時に計画機能によって作動を拡張するようにこれらのセクションは実行木に動的に取り付けられることになる。タスクネットワーク310は、同時階層型有限状態機械(CHFSM)の形態として概念することができる。しかし、挙動木設計によって使用される手法は、人間の設計者とソフトウエア技術者とが協働してコンテンツパイプライン内で対話型体験を生成することを可能にすることにおいて多大な成功を収めている。タスクネットワーク設計は、従来のプログラミング言語での不整合がなく有効なタスクの実施及び構成を可能にすることができる。   The exemplary non-limiting embodiment allows the executive 302 to provide the critical service of asynchronous dispatching of tasks in the task network 310. Every task in the network 310 may be able to defer computations to concurrent background threads by requesting asynchronous dispatch to perform any computationally intensive work. This function does not "inhibit" the decision-making cycle or alter the responsiveness of the PCD 100's decision-making process such that the task network 310 inhibits heavy calculations and slow or even network I / O. Can be organized as an action without In some embodiments, the executive 302 can dispatch a planning operation to generate a new section of the task network 310, these sections can be extended by the planning function as product intelligence matures. It will be attached dynamically to the execution tree. Task network 310 can be conceptualized as a form of concurrent hierarchical finite state machine (CHFSM). However, the approach used by Behavioral Tree Design has had great success in enabling human designers and software engineers to work together to create interactive experiences within the content pipeline. ing. Task network design can enable the implementation and configuration of valid tasks without inconsistencies in conventional programming languages.

図4は、PCD100による挨拶対話の簡易バージョンを示すタスクネットワークを示している。タスクネットワーク310のアーキテクチャは、様々な表現、移動、感知アクション、及び発話をエンジン内で統合することを可能にし、それによって設計者にPCD100の対話動特性に対する完全な制御を与える。図示のように、作動中のいずれかの時点でネットワークの微小部分が有効である。技術系と設計系の両方の閲読者に情報伝達するために、視覚タスクネットワーク表現をコンテンツ生成の一部として使用することができる。この例では、PCD100のPIRセンサは、区域に入る人を検出している。PCD100は、その誰かに挨拶する必要がある可能性があることを認識し、「ユーザに挨拶」シーケンスを開始する。この「ユーザに挨拶」シーケンスは、運動手がかりを追跡し始め、両者が近づく時にユーザに関する追跡を更新しながら次に「やあ、」と言うことができる。PCD100は、ユーザの顔IDを捕捉するために視覚入力を更新し続けることができる。このシナリオでは、この誰かがジェーンであることをIDが示し、従って、PCD100は、シーケンスの次の部分に移り、そこでジェーンが元気か否かを見るための発言を形成することができ、応答に対して準備を整えるためにASR/NLU処理窓を開ける。ジェーンが何かを言うと、この発言を「良い」又は「悪い」に分類するために知識クエリを使用することができ、PCD100は、その挨拶を完了するためにジェーンに対する適切な身体及び発話の反応を形成することができる。このネットワークは、知能がどのように機能するかに関する概念を伝えることができる。   FIG. 4 shows a task network showing a simplified version of the greeting dialog by the PCD 100. The architecture of task network 310 allows various expressions, movements, sensing actions, and utterances to be integrated within the engine, thereby giving the designer complete control over the interaction dynamics of PCD 100. As shown, small portions of the network are active at any point during operation. Visual task network representations can be used as part of content generation to communicate to both technical and design readers. In this example, the PIR sensor of PCD 100 detects a person entering the area. The PCD 100 recognizes that it may be necessary to greet someone and initiates a "greeting user" sequence. This "greeting the user" sequence begins tracking the motion cues, which can then be said "hello," updating the tracking for the user as both approach. The PCD 100 can continue to update visual input to capture the user's face ID. In this scenario, the ID indicates that this is someone Jane, so the PCD 100 can move on to the next part of the sequence, where it can form a remark to see if Jane is fine, in response Open the ASR / NLU processing window to prepare for against. When Jane says something, a knowledge query can be used to classify this statement as "good" or "bad", and PCD 100 will use the appropriate body and speech to Jane to complete its greeting. A reaction can be formed. This network can convey the notion of how intelligence works.

心理社会的表現Psychosocial expression

例示的かつ非限定的実施形態により、PCD100は、それ自体の社交性を相補することができるエンジンを含むように構成することができる。例えば、エンジンは、発話出力を修正するためのタグ付けシステムを含むことができる。エンジンは、PCD100の音声品質を制御することを可能にすることができる。一例では、PCD100の音声を制御するために、音声アーティストによる録音を行うことができる。エンジンは、埋め込みデバイスに対する高品質圧縮オーディオファイル及び直接的な評価モデルのような特徴を含むことができる。更に、PCD100は、身体関節回転と、グラフィック、形状、テクスチャ、及び色と、LED照明又はムード配色と、計時と、PCD100のいずれかの他の表現態様とに関するアニメーションを提供するためのアニメーションエンジンを含むことができる。これらのアニメーションには、オーディオ手がかり、発話、芳香のような他の表現出力を添付することができる。次に、アニメーションエンジンは、当該アニメーションの全て又は一部を様々な速度、遷移、曲線間で手順的アニメーションと実時間で合成しながら再生することができる。このエンジンは、異なるPCDモデル、形状、及び自由度を柔軟に受け入れることができる。   According to an exemplary and non-limiting embodiment, PCD 100 can be configured to include an engine capable of complementing its own sociability. For example, the engine can include a tagging system to modify speech output. The engine may allow to control the voice quality of the PCD 100. In one example, a recording by an audio artist can be performed to control the audio of the PCD 100. The engine can include features such as high quality compressed audio files and direct evaluation models for embedded devices. In addition, the PCD 100 is an animation engine to provide animations on body joint rotation, graphics, shapes, textures, and colors, LED lighting or mood coloration, timing, and any other presentation aspect of the PCD 100. Can be included. These animations can be accompanied by other expressive outputs such as audio cues, speech, aroma. Next, the animation engine can play back all or part of the animation while combining various speeds, transitions, curves between procedural animation and real time. This engine can flexibly accept different PCD models, shapes and degrees of freedom.

動的ターゲッティングDynamic targeting

例示的かつ非限定的実施形態により、PCD100は、3D空間内の点にPCD100を手順的に向けることができるアルゴリズムを使用するように構成することができる。PCD100の眼は、PCD100の身体が別個のアニメーションを演じている間に単一点に固定されるように見えることが可能であり、又は眼は、特定の方向の点に先導することができ、同時に身体が追従することができる。実施形態では、PCDの注視ターゲットを計算するために、閉形式幾何学ソルバーを使用することができる。次に、このターゲット姿勢は、加速度制約条件、加算合成/積層化、及びVOR(前庭動眼反射)シミュレーションに対するサポートを含むことができるマルチターゲット合成システム内に供給される。   According to an exemplary and non-limiting embodiment, PCD 100 can be configured to use an algorithm that can procedurally direct PCD 100 to points in 3D space. The eye of the PCD 100 can appear to be fixed at a single point while the body of the PCD 100 plays a separate animation, or the eye can lead to a point in a particular direction and at the same time The body can follow. In an embodiment, a closed form geometry solver can be used to calculate the gaze target of the PCD. This target attitude is then fed into a multi-target synthesis system which can include support for acceleration constraints, additive synthesis / stacking, and VOR (Vestibular Ophthalmic Reflection) simulations.

シミュレーションsimulation

例示的かつ非限定的実施形態により、アニメーションエンジンは、アニメーション及び手順的アニメーションを仮想的に演じ、合成することができるシミュレータを含むことができる。シミュレータは、顔検出のような感知入力を模倣することができる。一部の実施形態では、アニメーションを検証及び試験するために、仮想モデル内への物理シミュレーションをロボットの質量、モータの動力、及びロボットの電流引き込み制限を考慮しながら構成することができる。   By way of an illustrative and non-limiting embodiment, the animation engine can include a simulator capable of virtually playing and synthesizing animations and procedural animations. The simulator can mimic sensing inputs such as face detection. In some embodiments, to verify and test the animation, physical simulations into the virtual model can be configured taking into account robot mass, motor power, and robot current draw limitations.

eye

例示的かつ非限定的実施形態により、個人のグラフィック表現、例えば、PCD100の眼は、それが様々な物体にそれ自体を変態させて成形することを可能にするために関節を用いて構成することができる。眼グラフィックエンジンは、虹彩を様々な形状に変態させ、その色を変化させ、テクスチャを変化させて最大の表現範囲を可能にするために、カスタムアニメーションファイルを使用することができる。   According to an exemplary and non-limiting embodiment, the graphic representation of the individual, eg, the eye of the PCD 100, is configured with joints to allow it to transform itself into various objects and shape Can. The eye graphics engine can use custom animation files to transform the iris into different shapes, change its color, and change the texture to allow maximum presentation range.

グラフィックgraphic

PCD APIは、2Dシーングラフ様式インタフェースでのグラフィック、写真、アニメーション、ビデオ、及びテキストの表示をサポートすることができる。   The PCD API can support the display of graphics, photos, animations, videos, and text in a 2D scene graph style interface.

プラットフォーム及びエコシステムPlatform and Ecosystem

PCD100は、モバイルデバイスの「コンパニオン」アプリのエコシステム、クラウドベースのバックエンド、及び購入可能なコンテンツ及び機能を有するオンラインストアに結合された高集積高性能埋め込みLinux(登録商標)システムに基づくプラットフォームである。   PCD 100 is a platform based on a highly integrated, high-performance embedded Linux (R) system coupled to a mobile device "companion" app ecosystem, a cloud-based back end, and an online store with purchasable content and features. is there.

PCD SDKPCD SDK

PCD SDKは、第三者開発者が低学習曲線を有する機能を追加することができるオープンで柔軟なプラットフォームを提供するためにJavascript(登録商標)及び最新のウェブ開発者コミュニティのオープン言語を利用することができる。PCD SDKによって生成されたPCDの全てのアプリ、コンテンツ、及びサービスは、PCDアプリストアからのダウンロードに向けて利用可能である。TTS、感知認識、NLU、アニメーション、及びその他を含むPCDの機能の全ては、PCD APIを通して利用可能になる。このAPIは、ChromeのオープンソースJavaScriptエンジンであるV8の上に構成されたJavaScriptプラットフォームであるNodeJSを使用する。NodeJSは、高速かつ効率的であり、ロボット工学プログラミングに変換しやすい事象駆動型モデルを使用する。NodeJSは、設定不要の豊富な機能を伴い、アド−オンとして容易に拡張可能である。PCD APIは、NodeJSアド−オンになる。更に、アド−オンは容易に解除又は修正されるので、開発者がPCDと対話することができる方法を制御することができる。例えば、開発者は、アウトバウンドソケットを生成することができるが、アウトバウンド接続の数を制限することもできる。   The PCD SDK leverages Javascript and the latest web developer community open language to provide an open and flexible platform to which third party developers can add features with low learning curves be able to. All apps, content and services of PCD generated by PCD SDK are available for download from the PCD app store. All of the PCD's functionality, including TTS, sensing recognition, NLU, animation, and others, will be available through the PCD API. This API uses NodeJS, a JavaScript platform built on V8, Chrome's open source JavaScript engine. NodeJS uses an event-driven model that is fast and efficient and easy to translate into robotics programming. NodeJS is easily extensible as an add-on, with a rich set of features that do not require configuration. The PCD API is a NodeJS add-on. Furthermore, because add-ons are easily removed or modified, it is possible to control how developers can interact with the PCD. For example, developers can create outbound sockets, but can also limit the number of outbound connections.

クラウドアーキテクチャCloud architecture

例示的かつ非限定的実施形態により、PCDの知能をサポートし、未使用コンテンツを取り出し、人々が自分の家族とつながった状態に留まることを可能にするために高度なクラウドベースのバックエンドプラットフォームを使用することができる。家庭内のPCDデバイスは、WiFiを通してクラウド内のPCDサーバに接続することができる。PCDクラウドサーバへのアクセスは、非常にセキュアな暗号化ウェブ通信プロトコルに頼る。PCDユーザ、介護者、及び無休で働く家族構成員をサポートすることができる様々なアプリケーションをiOS、Android、及びHTML5に対して開発することができる。これらのモバイルアプリ及びウェブアプリを使用することで、PCD100は、多くのデバイス上で常時ユーザのそばにいることができ、その間に終始、ユーザのプリファレンス、必要性、及び興味をどのようにより確実にサポートするかを学習しながら支援を実施する。図2を参照すると、PCD100は、ユーザが将来のPCDロボットリリースへのアップグレードを容易に行い、かつペルソナ及びユーザとPCDとが確立した関係を維持することができるように、PCD100をその家族に対して独特のものにすることができる全てのデータをクラウド内でミラーリングするように構成することができる。例えば、PCDのサーバは、機械学習アルゴリズムがユーザモデル216を改善し、PCDペルソナモデル218を適応することを可能にするために、クラウドストレージ214内のデータを収集し、PCDロボット及び他の接続されたデバイスからのメトリックを計算するように構成することができる。更に、製品の提供を継続的に改善するために、クラウドストレージ214において収集されたデータは、PCDのどの機能がユーザに最も適合しているかを解析し、PCDデジタルエコシステムにわたる使用パターンを理解するために使用することができる。   An exemplary and non-limiting embodiment supports a smart cloud-based back-end platform to support PCD intelligence, retrieve unused content, and allow people to stay connected with their family members It can be used. The home PCD device can connect to the PCD server in the cloud through WiFi. Access to the PCD cloud server relies on a very secure encrypted web communication protocol. Various applications can be developed for iOS, Android, and HTML5 that can support PCD users, caregivers, and family members who work 24/7. By using these mobile apps and web apps, the PCD 100 can be always on the side of the user on many devices, and in the meantime, how to ensure the user's preferences, needs, and interests Provide support while learning what to support. Referring to FIG. 2, the PCD 100 can be used to direct the PCD 100 to its family so that the user can easily upgrade to future PCD robot releases and maintain the relationship established by the persona and the user with the PCD. All data that can be unique can be configured to be mirrored in the cloud. For example, a PCD server collects data in cloud storage 214, enables PCD robots and other connections to enable machine learning algorithms to improve user model 216 and adapt PCD persona model 218. Can be configured to calculate metrics from different devices. In addition, to continuously improve product delivery, data collected at cloud storage 214 analyze which features of the PCD best fit the user and understand usage patterns across the PCD digital ecosystem Can be used for

例示的かつ非限定的実施形態により、クラウドベースのバックエンドプラットフォームは、多くのPCS間で共有されることが意図されたデータの格納及び配信に向けて使用すべきデータベースシステムを含むことができる。クラウドベースのバックエンドプラットフォームは、人々の識別においてPCDをサポートするサービスアプリケーション(例えば、音声IDアプリケーション)及びソーシャルネットワークとの連携によって個人マルチモーダルデータの収集においてPCDをサポートするサービスアプリケーションをホストすることができる。   According to an exemplary and non-limiting embodiment, a cloud-based back end platform can include a database system to be used for storage and delivery of data intended to be shared among many PCSs. A cloud-based back-end platform may host a service application that supports PCD in the collection of personal multimodal data by cooperating with a service application that supports PCD in the identification of people (eg, voice ID application) and social networks it can.

クラウドベースのサーバCloud based server

例示的かつ非限定的実施形態により、1又は2以上のPCD100は、圧縮JSONを使用するRESTfulベースのウェブサービスを用いてクラウドベースのサーババックエンドと通信するように構成することができる。   According to an exemplary non-limiting embodiment, one or more PCDs 100 can be configured to communicate with a cloud based server backend using RESTful based web services that use compressed JSON.

セキュリティSecurity

例示的かつ非限定的実施形態により、識別情報を検証するために、ゼロ構成ネットワークプロトコルをOAUTH認証モデルと併用することができる。更に、役割及び許可の周りに追加のセキュリティプロトコルを設けるために、取りわけ、Apache(登録商標)によって提供されているShiro(登録商標)セキュリティフレームワークのようなセキュリティフレームワークを適用することができる。全ての機密データはSSLを通して送られることになる。サーバ側では、データは、コンテンツトークンを取得するためにOAUTHを使用する厳しいファイアウォール構成を用いてセキュアに保つことができる。更に、有効なコンテンツトークンを有するためには、クラウドベースのサーバへの全ての呼び出しを必要とする場合がある。   According to an exemplary and non-limiting embodiment, a zero configuration network protocol can be used in conjunction with the OAUTH authentication model to verify identification information. Furthermore, security frameworks such as the Shiro security framework provided by Apache can be applied, among other things, to provide additional security protocols around roles and permissions. . All sensitive data will be sent through SSL. On the server side, data can be kept secure using a strict firewall configuration that uses OAUTH to obtain content tokens. Furthermore, having a valid content token may require all calls to the cloud based server.

コンテンツ配信Content delivery

例示的かつ非限定的実施形態により、所与のPCDデバイスのための最新のコンテンツを取得するためのウェブサービス呼び出しを含むサーバAPIが使用される。このウェブサービスは、全てのペンディング中のメッセージ、警告、更新リスト(例えば、ショッピング、リマインダー、及びチェックインなど)、及び他のコンテンツのリストを簡潔で小型のジョブマニフェスト内で戻す高レベルの呼び出しを可能にすることができる。PCDロボットは、それ自体の現在の予定表に基づいて、このマニフェスト内に表されているペンディングデータを相応に取り出すことができる。一部の実施形態では、PCDの真実はクラウド内にあり、すなわち、リスト、リマインダー、チェックイン、及び他のアプリケーション状態のマスター記録がPCDサーバ上に格納される。ロボットが最新のコンテンツへのアクセスを有することができることを保証するために、APIを頻繁に呼び出すことができ、コンテンツを相応に(しかし、適時に)収集することができる。   According to an exemplary and non-limiting embodiment, a server API is used that includes web service calls to obtain up-to-date content for a given PCD device. This web service returns high-level calls that return a list of all pending messages, alerts, update lists (eg, shopping, reminders, check-ins, etc.), and other content in a simple, compact job manifest. It can be enabled. The PCD robot can retrieve the pending data represented in this manifest accordingly, based on its own current timeline. In some embodiments, the truth of the PCD is in the cloud, i.e. master records of lists, reminders, check-ins and other application states are stored on the PCD server. The API can be called frequently to ensure that the robot can have access to the latest content, and the content can be collected accordingly (but in a timely manner).

ワークフロー管理Workflow management

例示的かつ非限定的実施形態により、クラウドにオフロードされ、実時間で結果を戻すことにはならない機能を使用することができる。これは、上記で議論した予定表に基づくメッセージの待ち行列化の概念と密接に結び付けることができる。更に、これは、サービス要求をRESTfulウェブサービスAPIを通して行うことを可能にし、ジョブをアプリケーションサーバにディスパッチすることができるサーバアーキテクチャを必要とする場合がある。そのようなシステムを従来のメッセージ待ち行列化システムと共に実施するために、Amazon Simple Workflow(SWF)又は類似のワークフローを使用することができる。   Exemplary and non-limiting embodiments can use features that are offloaded to the cloud and that do not result in real time results. This can be closely tied to the notion of message queuing based on the agenda discussed above. Furthermore, this allows service requests to be made through the RESTful web services API and may require a server architecture that can dispatch jobs to the application server. Amazon Simple Workflow (SWF) or similar workflow can be used to implement such a system with a conventional message queuing system.

更新update

例示的かつ非限定的実施形態により、更新を必要とする可能性があるコンテンツは、オペレーティングシステムカーネル、ファームウエア、ハードウエアドライブ、V8エンジン、又はPCD100のコンパニオンアプリを含むことができる。このコンテンツへの更新は、利用可能な更新のタイプに関する情報を戻し、特定の項目の要求を可能にするウェブサービスを通して利用可能にすることができる。PCDは、ユーザ活動を妨害するのを回避するために日和見的であることが多くの場合に必要になるので、ロボットは、更新を適用することができる時にそれを要求することができる。更新に関して定期的にポーリングを行う上でPCDロボットに頼るのではなく、ある一定のタイプの更新の利用可能性をロボットにプッシュすることができる。   According to an exemplary non-limiting embodiment, content that may need updating may include an operating system kernel, firmware, hardware drive, V8 engine, or a companion app of PCD 100. Updates to this content can be made available through a web service that returns information about the type of update available and makes it possible to request specific items. Because the PCD is often required to be opportunistic to avoid interfering with user activity, the robot can request updates when it can be applied. Rather than relying on the PCD robot to periodically poll for updates, it is possible to push the robot to the availability of certain types of updates.

ロギング/メトリックLogging / metric

例示的かつ非限定的実施形態により、PCD100は、サーバにログ情報を送ることができる。サーバは、このデータを適切な入れ物(SQL又はNoSQL)に格納することができる。データを解析するために、Hadoop(Amazon MapReduce)及びSplunkのようなツールを使用することができる。メトリックは、人々がPCD100とどのように対話し、それをどのように使用するかに関する報告を実行することができるようなクエリ可能なものとすることができる。これらの解析の結果は、PCDがどのように学習し、対話し、挙動するかに対して、更に将来の更新においてどの機能を必要とする可能性があるかに関するパラメータを調節するために使用することができる。   The exemplary and non-limiting embodiment allows the PCD 100 to send log information to the server. The server can store this data in the appropriate container (SQL or NoSQL). Tools such as Hadoop (Amazon MapReduce) and Splunk can be used to analyze the data. Metrics can be queryable such that people can perform reports on how to interact with PCD 100 and how to use it. The results of these analyzes are used to adjust the parameters as to what functions may be needed in future updates, as to how the PCD learns, interacts and behaves be able to.

機械学習Machine learning

例示的かつ非限定的実施形態により、PCDロボット及びクラウドベースのシステムが継続的に改善を行うことを可能にするために、様々な訓練システム及びフィードバックループを開発することができる。PCDロボットは、機械学習アルゴリズムを訓練するために使用することができる。情報は、収集することができる。ある程度の量の機械学習はロボット自体において行うことができるが、クラウド内では、分類器を訓練するためのデータが多くの情報源から集約されている場合がある。クラウドベースのサーバは、正確に聞こえる、見える、又は理解される確率が低いコンテンツの曖昧性を解消するためにある程度の量のデータを人間符号器に送ることによって真値を決定することを可能にすることができる。新しい分類器が生成された状態で、これらの分類器は、上記で議論した更新システムを通して送り出すことができる。機械学習及び分類器/予想器の訓練は、監督下学習法、無監督下学習法、又は強化学習法とより複雑な真値の人為的符号化との両方にわたるとすることができる。訓練信号は、PCDロボットがタスクを完了したという知識、又は音声、タッチプロンプト、笑顔、身振りのようなユーザが発生させる明確なフィードバックを含むことができる。クラウド内のこれらそれぞれのシステムの品質を改善するために、顔を含むことができるカメラからの累積画像及びオーディオデータを使用することができる。   Various training systems and feedback loops can be developed to enable PCD robots and cloud based systems to make continuous improvements, according to exemplary and non-limiting embodiments. PCD robots can be used to train machine learning algorithms. Information can be collected. Some amount of machine learning can be done on the robot itself, but within the cloud, data for training the classifier may be aggregated from many sources. Cloud-based servers make it possible to determine the true value by sending some amount of data to the human encoder to resolve the ambiguity of the content that sounds accurate, less likely to be visible or understood can do. Once new classifiers have been generated, these classifiers can be sent through the update system discussed above. Machine learning and classifier / predictor training can be both over supervised learning, unsupervised learning, or both reinforcement learning and more complex artificial coding of true values. The training signal may include knowledge that the PCD robot has completed the task, or explicit feedback generated by the user, such as voice, touch prompts, smiles, gestures. In order to improve the quality of each of these systems in the cloud, cumulative image and audio data from cameras that can include faces can be used.

テレプレゼンスサポートTelepresence support

例示的かつ非限定的実施形態により、ビデオチャットオプションを含むテレプレゼンス機能を使用することができる。更に、ユーザの安全を保証するためのビデオチャット周りのセキュリティモデルが有効にされる。更に、ビデオチャット機能の不正使用からエンドユーザを保護するために役割、許可、及びセキュリティのインフラストラクチャを利用するウェブアプリ、並びにモバイルデバイスアプリを使用することができる。   According to an exemplary and non-limiting embodiment, telepresence features, including video chat options, can be used. Furthermore, a security model around video chat to ensure the safety of the user is enabled. In addition, web apps and mobile device apps can be used that leverage the role, permissions, and security infrastructure to protect end users from unauthorized use of the video chat feature.

ソフトウエアインフラストラクチャSoftware infrastructure

本出願人の高レベルソフトウエアシステムに不整合がなくロバストで信頼性の高い開発環境を提供するために、PCDのソフトウエアシステムの高レベル機能は、主要ライブラリ、盤サポート、ドライブ、及び他の依存性を用いてカスタム化されたロバストで有利な埋め込みLinuxプラットフォーム上に構成される。最上位レベルの機能モジュールは、本出願人の埋め込みLinuxシステム内の処理として達成される。PCDのモジュールインフラストラクチャは、コンテンツの柔軟なスクリプト式、対話、及び挙動をJavaScriptでサポートし、それに対してコンピュータにより重い演算を言語ライブラリに基づくC++及びCでサポートすることに特定的にターゲットが定められる。このインフラストラクチャは、V8JavaScriptエンジン及びC++のモジュール及びライブラリとしてパッケージ化された主要な拡張部及びサポートを有する好結果を誘導するNode.jsプラットフォーム上に構成される。   To provide a robust and reliable development environment without inconsistencies in Applicants' high-level software system, PCD's software system's high-level features include major libraries, board support, drives, and others. Configured on a robust and advantageous embedded Linux platform customized with dependencies. The top level functional modules are achieved as processing within the applicant's embedded Linux system. The modular infrastructure of PCD supports flexible scripting of content, interactions and behaviors with JavaScript, while specifically targeted to support computer-heavy operations with language libraries based on C ++ and C Be This infrastructure brings good results to Node.VNode with major extensions and support packaged as V8 JavaScript engine and C ++ modules and libraries. Configured on the js platform.

ハードウエアシステムアーキテクチャHardware system architecture

図5Aは、PCD100の1又は2以上の機能の感知、モータ、接続、電力、及び計算の必要性をサポートするように設計することができるPCD100のハードウエアアーキテクチャを示している。一部の実施形態では、PCD100の1又は2以上の要素は、ハイエンドタブレット及び他のモバイルデバイスに使用されてきたものとすることができるコアハードウエアの特殊化物及び適応物である。しかし、形状、運動、及びセンサの物理的な実現及び編成はPCD100に独特のものである。本明細書ではPCD100の全体的な物理構造を三環ゼータタイプと呼ぶ場合もある。PCD100のそのようなタイプの物理構造は、PCD100に不整合がなく制御可能かつ魅力的な作用線を与えることができる。実施形態では、構造は、注意及び感情を伝えるためにキャラクターアニメーション制作者によって使用することができる原理から導出することができる。PCD100の物理構造は、3つのリング体積、運動範囲、及び必要なセンサ配置に基づいて機械的及び電気的なアーキテクチャの境界を定めることができる。   FIG. 5A shows the hardware architecture of PCD 100 that can be designed to support the sensing, motor, connection, power, and computational needs of one or more functions of PCD 100. FIG. In some embodiments, one or more elements of PCD 100 are specializations and adaptations of core hardware that may have been used for high end tablets and other mobile devices. However, the physical realization and organization of the shape, motion, and sensors are unique to the PCD 100. The overall physical structure of PCD 100 may be referred to herein as the tricyclic zeta type. Such type of physical structure of the PCD 100 can provide the PCD 100 with unmismatched, controllable and attractive lines of action. In embodiments, the structure can be derived from principles that can be used by character animation creators to convey attention and emotion. The physical structure of the PCD 100 can demarcate the mechanical and electrical architecture based on the three ring volumes, the range of motion, and the required sensor placement.

例示的かつ非限定的実施形態により、PCD100は、移動に対する3つの軸と、1又は2以上の立体視覚カメラ504と、マイクロフォンアレイ506と、タッチ感知機能508と、LCDディスプレイ510のようなディスプレイとを含むように構成することができる。移動に対する3つの軸は、感情表現と、センサを方向付けし、ユーザに自然に付き添う機能とをサポートすることができる。立体視覚カメラ504は、ビデオ入力及びカメラスナップなどを供給するためにユーザの3D場所特定及び追跡をサポートするように構成することができる。マイクロフォンアレイ506は、ASR性能を最大にするためにビーム形成されたオーディオ入力をサポートすることができる。タッチ感知機能508は、PCD100を友人のように見せること又はユーザインタフェースの形態としての別の対話を可能にすることができる。LCDディスプレイ510は、感情表現、並びに動的な情報表示をサポートすることができる。周囲LED照明を含めることもできる。   According to an exemplary and non-limiting embodiment, the PCD 100 includes three axes for movement, one or more stereoscopic vision cameras 504, a microphone array 506, a touch sensing function 508, and a display such as an LCD display 510. Can be configured to include The three axes of movement can support emotional expression and the ability to orient the sensor and naturally accompany the user. Stereo vision camera 504 can be configured to support 3D location and tracking of the user to provide video input, camera snaps, and the like. The microphone array 506 can support beamformed audio input to maximize ASR performance. Touch sensing function 508 can allow PCD 100 to appear like a friend or another interaction in the form of a user interface. The LCD display 510 can support emotional expression as well as dynamic information display. Ambient LED lighting can also be included.

例示的かつ非限定的実施形態により、ハードウエアアーキテクチャ500は、埋め込み制御及びロボット工学空間からのCOTSプロセッサに基づいて、モバイルデバイス及びタブレット空間からのハイエンドアプリケーションプロセッサと組み合わせることができる電気アーキテクチャを含むように構成することができる。埋め込みコントローラは、運動制御及び低レベルセンサ集計を受け持ち、それに対してソフトウエアスタックの大部分はアプリケーションプロセッサ上で実行される。製品内の電気盤は、V1設計では機能単位で分離され、それによってロボットの物理構造に整合するモジュール性を与えることができ、同時に1つの盤での設計変更をより大きい設計更新に拡張する必要性が軽減される。一部の実施形態では、電気アーキテクチャは、捕捉画像を立体システムに対して適時に登録することができるようにハードウエア同期をサポートすることができる2つのモバイル産業ベースの低解像度MIPIカメラモジュールを統合することができるカメラインタフェース盤を含むことができる。立体カメラは、ビデオを連続モードでストリーミングするように設計される。更に、カメラインタフェース盤は、高解像度写真及びビデオ会議のビデオ品質を撮影するために単一RGBアプリケーションカメラをサポートすることができる。RGBアプリケーションカメラは、特定の写真撮影、画像スナップ、及びビデオアプリケーションに使用するように設計することができる。   According to an exemplary and non-limiting embodiment, hardware architecture 500 includes an electrical architecture that can be combined with mobile devices and high-end application processors from tablet space based on embedded control and COTS processors from robotics space Can be configured. The embedded controller is responsible for motion control and low level sensor aggregation, whereas most of the software stack is executed on the application processor. The electrical panels in the product are separated in functional units in the V1 design, which can provide modularity to match the physical structure of the robot, and at the same time the need to extend design changes in one panel to larger design updates Sex is reduced. In some embodiments, the electrical architecture integrates two mobile industry-based low-resolution MIPI camera modules that can support hardware synchronization so that captured images can be registered to the stereo system in a timely manner It can include a camera interface board that can. Stereo cameras are designed to stream video in continuous mode. Additionally, the camera interface board can support a single RGB application camera to capture high resolution photos and video quality of video conferencing. RGB application cameras can be designed for use in specific photography, image snap, and video applications.

例示的かつ非限定的実施形態により、ハードウエアアーキテクチャは、マイクロフォンアレイ506と、オーディオ処理コーデックサポート514とを支持することができ、デジタルオーディオストリームを主アプリケーションプロセッサ516に送るマイクロフォンインタフェース盤を含むことができる。本発明者のコーデック514からのオーディオ出力は、スピーカ518が音の分離に向けて身体の別個のセクションに存在することで外部に伝達することができる。   By way of an illustrative and non-limiting embodiment, the hardware architecture can include a microphone interface board that can support the microphone array 506 and the audio processing codec support 514 and sends digital audio streams to the main application processor 516. it can. The audio output from the inventor's codec 514 can be transmitted to the outside by having the speakers 518 in separate sections of the body towards sound separation.

例示的かつ非限定的実施形態により、ハードウエアアーキテクチャは、身体の中央セクション内で統合することができ、PCD100に対してモータ制御、低レベル身体感知、パワーマネージメント、及びシステム起動機能を与える身体制御盤520を含むことができる。限定ではなく例として、身体制御盤520は、産業規格CortexM4Fマイクロコントローラプラットフォームの周りに構成することができる。これに加えて、アーキテクチャ500は、コアシステムオンチップ(SoC)プロセッサを形成してロボットシステムの残余を互いに結び付けることができるアプリケーションプロセッサ盤を含むことができる。一部の実施形態では、盤は、システムオンモジュール(SoM)を用いて早期プロトタイプを開発する時間及び費用を最小にすることができる。一部の実施形態では、アプリケーションプロセッサ盤は、コスト低減及び簡単な製造に向けてSoCプロセッサを含むことができる。アプリケーションプロセッサ盤の重要なインタフェースは、MIPIカメラと、ディスプレイと、無線通信と、高性能オーディオとをサポートするためのインタフェースを含むことができる。   By way of an illustrative and non-limiting embodiment, the hardware architecture can be integrated within the central section of the body to provide PCD 100 with motor control, low level body sensing, power management, and system activation functions. A board 520 can be included. By way of example and not limitation, the body control board 520 may be configured around the industry standard Cortex M4F microcontroller platform. Additionally, architecture 500 can include an application processor board that can form a core system on chip (SoC) processor to tie the rest of the robotic system together. In some embodiments, the board can minimize the time and expense of developing early prototypes using System on Module (SoM). In some embodiments, the application processor board can include a SoC processor for cost reduction and easy manufacturing. An important interface of the application processor board can include an interface to support the MIPI camera, display, wireless communication and high performance audio.

例示的かつ非限定的実施形態により、ハードウエアアーキテクチャ500は、PCD100の電力要件に対処することができるパワーマネージメント盤522を含むように構成することができる。パワーマネージメント盤522は、電力調整器と、バッテリ充電器と、バッテリとを含むことができる。電力調整器は、ハードウエアアーキテクチャ500の1又は2以上の要素又は盤が調節された電源を受電することができるように入力電力を調整するように構成することができる。更に、バッテリ充電器は、PCD100が長時間にわたって作動することを可能にするためにバッテリを充電するように構成することができる。一部の実施形態では、PCD100は、壁コンセントのためのプラグ及びブラインドメイト充電コネクタを組み込むことになる充電ドック/ベース/クレードルを有することができ、それによってPCD100は、ベース上に置かれた時に内部バッテリを充電することができることになる。   According to an exemplary and non-limiting embodiment, hardware architecture 500 can be configured to include a power management board 522 that can address the power requirements of PCD 100. The power management board 522 may include a power regulator, a battery charger, and a battery. The power regulator may be configured to adjust the input power such that one or more elements or boards of the hardware architecture 500 can receive the regulated power. Furthermore, the battery charger can be configured to charge the battery to allow the PCD 100 to operate for an extended period of time. In some embodiments, the PCD 100 can have a charging dock / base / cradle that will incorporate a plug for a wall outlet and a blind mate charging connector, whereby the PCD 100 when placed on the base It will be possible to charge the internal battery.

機械アーキテクチャMachine architecture

例示的かつ非限定的実施形態により、PCD100の様々な機能は、ユーザに単一デバイスの形態で提供される。図6Aは、使いやすい方式でユーザに様々な機能を提供するのに必要なソフトウエア及びハードウエアのアーキテクチャを含むように構成することができるPCD100の例示的設計を示している。PCD100の機械アーキテクチャは、費用効果的な材料費に的を絞りながら静寂性による優雅さと豊富な表現力とに向けて最適化してきたものである。いくつかの成熟した市場から最適な要素を慎重に選択し、それらをPCD100のための独特の組合せにまとめ上げることによって独特のデバイスを提供する。図6Aに示すように、機械アーキテクチャは、PCD100内の例示的位置にマイクロフォン盤、主盤、バッテリ盤、身体制御盤、カメラ盤のような様々な盤の配置を示している。更に、冷却効果を与えるための空気流を相応に可能にするためにPCD100の設計に1又は2以上の通気口が設けられる。   According to an exemplary and non-limiting embodiment, the various functions of PCD 100 are provided to the user in the form of a single device. FIG. 6A illustrates an exemplary design of PCD 100 that can be configured to include the software and hardware architecture necessary to provide various functions to the user in an easy-to-use manner. The machine architecture of the PCD 100 has been optimized for quiet elegance and rich expressiveness while focusing on cost effective material costs. It offers unique devices by carefully selecting the best elements from several mature markets and putting them together in unique combinations for the PCD 100. As shown in FIG. 6A, the machine architecture shows the arrangement of various boards such as a microphone board, a main board, a battery board, a body control board, and a camera board at an exemplary position in the PCD 100. Furthermore, one or more vents are provided in the design of the PCD 100 to correspondingly enable air flow to provide a cooling effect.

以下で説明する様々な例示的かつ非限定的実施形態により、PCDは、データを感知するためにプロセッサと通信している複数のセンサを利用する。下記で説明するように、これらのセンサは、プロセッサがタスクを実施するために一連のプログラム可能アルゴリズムを通して作動するのに基礎とする全ての方式の感覚入力を取得するように作動する。これらのタスクの達成において、PCD100は、その一部を形成するローカルメモリに格納されたデータを利用し、更にサーバ又はクラウド内にリモートに格納されたデータに有線モード又は無線モードの通信などを通してアクセスする。同じく、PCD100は、タッチ画面、スピーカ、及び触覚要素などのような様々な出力デバイスを利用して親交的対話に携わっているユーザに情報を出力する。コンパニオンデバイスに関するデータ、センサ、プロセッサ、及び通信モードの作動及び相互作動性を詳述する追加の非限定的開示は、その出願の内容が本明細書に引用によって組み込まれている[特許文献1]に見出すことができる。   According to various exemplary and non-limiting embodiments described below, a PCD utilizes multiple sensors in communication with a processor to sense data. As described below, these sensors operate to obtain all types of sensory input based on which the processor operates through a series of programmable algorithms to perform a task. In accomplishing these tasks, the PCD 100 utilizes data stored in the local memory that forms part of it and further accesses data stored remotely in the server or cloud through communication in wired mode or wireless mode etc. Do. Similarly, the PCD 100 outputs information to users engaged in intimate interactions using various output devices such as touch screens, speakers, and tactile elements. Additional non-limiting disclosure detailing data, data on sensors, processors, and communication modes regarding companion devices, and the operation and interactivity of the communication mode is incorporated herein by reference. Can be found in

本明細書に説明する実施形態は、特にPCD100とユーザ間の親交的対話をもたらすためにそのようなコンパニオンデバイスを適用することができる機能及び機能の新しく非自明の実施形態を提供する。当業者に公知であるように、物理環境からの親交的手がかりを評価及び検出するために様々な形態のセンサデータ及び技術を使用することができることを理解しなければならない。そのような技術は、音声及び発話の認識、眼球移動追跡、人間の姿勢、位置、及び運動などの視覚的検出を含むがこれらに限定されない。本発明の開示をそのような技術に関して説明するが、本明細書に説明する特徴及び実施形態を達成するためにPCD100によってデータを取得、処理、及び出力するあらゆる全ての方法を網羅するように広義に線引きする。   The embodiments described herein provide new and non-obvious embodiments of features and functions to which such companion devices can be applied to provide intimate interaction between the PCD 100 and the user. It should be understood that various forms of sensor data and techniques can be used to evaluate and detect intimacy cues from the physical environment, as is known to those skilled in the art. Such techniques include, but are not limited to, voice and speech recognition, eye movement tracking, visual detection such as human posture, position, and motion. While the disclosure of the present invention will be described with respect to such techniques, it is broad to encompass any and all methods of acquiring, processing, and outputting data by the PCD 100 to achieve the features and embodiments described herein. Draw a line.

例示的かつ非限定的実施形態により、PCD100は、携帯電話、PDA、腕時計のようなモバイルコンピュータデバイス上で実行された時等に、仮想的な存在として純粋に物理的な実施形態で表すことができ、又は混合モードの物理/仮想ロボットとして表すことができる。一部の実施形態では、混合モードPCD、物理PCD、又は仮想PCDを駆動するためのソース情報をその全てが同じ実施形態であるかのように導出することができる。例えば、GUIインタフェースを通して入力されてデータベースに格納されたものとすることができるソース情報は、機械PCDを駆動し、更に、仮想PCDの一部を形成するディスプレイのアニメーション構成要素を駆動することができる。一部の実施形態では、ソース情報は、AIシステムからの出力、リアルタイム感知からの出力、ソースアニメーションソフトウエアモデル、及び運動情報モデルなどを含む様々なソースを含む。一部の実施形態では、単一ソースから純粋に仮想的なキャラクター(ソースにある)の挙動に関するデータをプッシュすることができ、次に、物理PCDに向けて物理モード、並びに仮想モードを出力することができる。このようにして、PCDの実施形態は、純粋に物理的なモードから完全に仮想的なモードまで、更にこれら両方の一部を含む混合モードまでの全範囲に広がることができる。PCD100は、クラウドに格納することができ、ユーザが物理デバイスによって行うことを格納して永続させることを可能にすることができるコアペルソナを有し、このコアペルソナとして表現され、それによって仮想ペルソナが物理デバイスにおいて発生していることを格納して反応することができ、その逆も同様である。物理インスタンスと仮想インスタンスは、例えば適切な場合に一方から他方に移行し、二重体験などを有するようにクラウドを通して管理することができる。   According to an exemplary and non-limiting embodiment, PCD 100 may be represented in a purely physical embodiment as a virtual entity, such as when implemented on a mobile computing device such as a mobile phone, PDA, watch, etc. Or can be represented as a physical / virtual robot in mixed mode. In some embodiments, source information for driving a mixed mode PCD, a physical PCD, or a virtual PCD can be derived as if it were all the same embodiment. For example, source information, which may be input through a GUI interface and stored in a database, may drive a machine PCD and may further drive an animation component of a display that forms part of a virtual PCD. . In some embodiments, source information includes various sources including output from an AI system, output from real-time sensing, a source animation software model, a motion information model, and the like. In some embodiments, data on the behavior of a purely virtual character (at the source) can be pushed from a single source, and then output physical mode as well as virtual mode towards physical PCD be able to. In this way, embodiments of the PCD can span the full range from purely physical modes to completely virtual modes and even mixed modes that include both of these. The PCD 100 has a core persona that can be stored in the cloud and allow the user to store and perpetuate what the physical device does, and is represented as this core persona, whereby the virtual persona What happens in the physical device can be stored and reacted, and vice versa. Physical instances and virtual instances can, for example, transition from one to the other where appropriate, and be managed through the cloud to have dual experiences and the like.

図示のように、PCD100は、ほぼ円形のリングによって分離された3つの別個の身体セグメントを含む一般的に三部構成の設計を組み込んでいる。内部モータ等(図示せず)を通してリングの周りに各身体セグメントを回転させることにより、PCD100は、その形状を変更して様々な形状因子を達成し、更に、センサ102、104、106、108、112を用いてユーザ及び他の物体を追跡するように構成される。様々な実施形態では、タッチ画面104の形状、表現的な身体の移動、特定の表現音及び格納術、発声時の特定の韻律の質及び音声の質、デジタルインタフェースの仕様、PCD100の「顔」、及びフルスペクトルLED照明要素などを含むがこれらに限定されないPCD100の属性を静的に又は動的に構成することができる。   As shown, the PCD 100 incorporates a generally three-part design that includes three separate body segments separated by a generally circular ring. By rotating each body segment around the ring through an internal motor or the like (not shown), the PCD 100 changes its shape to achieve various form factors and further sensors 102, 104, 106, 108, It is configured to track users and other objects using 112. In various embodiments, the shape of touch screen 104, expressive body movement, specific expressive sounds and storage techniques, specific prosodic quality and vocal quality when speaking, digital interface specifications, PCD 100 "face" The attributes of the PCD 100 can be configured statically or dynamically, including but not limited to full spectrum LED lighting elements and the like.

例示的かつ非限定的実施形態により、PCD100は、マルチモーダルユーザインタフェースを使用するように構成することができ、多くの入力及び出力を同時に有効にすることができる。そのようなタイプの同時インタフェースは、ロバストなユーザ体験を提供することができる。一部の実施形態では、ユーザインタフェースの入力又は出力の1又は2以上は、環境に依存して損なわれる場合があり、その結果、PCD100のそれ程最適とは言えない作動がもたらされる。様々なモードを同時に作動させることは、ユーザ体験及びデバイスとの対話をフェイルセーフして通信損失がないことを保証するのに役立たせることができる。   By way of an illustrative and non-limiting embodiment, the PCD 100 can be configured to use a multimodal user interface, and can have many inputs and outputs enabled simultaneously. Such type of simultaneous interface can provide a robust user experience. In some embodiments, one or more of the user interface inputs or outputs may be corrupted depending on the environment, resulting in less than optimal operation of the PCD 100. Activating the various modes simultaneously can help to fail-safe the user experience and interaction with the device to ensure that there is no loss of communication.

例示的かつ非限定的実施形態により、PCD100は、そのユーザに豊富な体験を提供するように1又は2以上の入力を処理するように構成することができる。PCD100は、ユーザの発話を認識するように構成することができる。例えば、PCD100は、「誤感知」による関わり合いを低減するために発話から「目覚ましワード」及び/又は他の機能を識別する。一部の実施形態では、PCD100は、Nフィート×Mフィートの近接場範囲で発話を認識するように構成することができ、この場合のN及びMは、発話の音質及びPCDの検出感度によって決定することができる。他の実施形態では、PCD100は、少なくとも12フィート×15フィートの面積の部屋サイズを網羅するNフィートよりも大きい遠方場範囲において発話を認識するように構成することができる。一部の実施形態では、PCD100は、発声された言語以外の音を識別するように構成することができる。PCDは、それ自体が認識して反応することができる音によって構成された音痕跡データベースを使用することができる。PCDは、このデータベースのコンテンツを直接に通信又はクラウドベースの通信を通して他のPCDデバイスと共有することができる。限定ではなく例として、発声言語以外の音は、ガラスを割る音、ドアベル、電話の呼び出し音、人が転倒する音、サイレン、銃声、及び可聴警報などに対応する音を含むことができる。更に、PCD100は、PCD100の既存の分類子に適合しない音源を識別するようにユーザに依頼することによって新しい音を「学習」するように構成することができる。デバイスは、複数の言語に応答することができる。一部の実施形態では、PCD100は、近接場範囲外にいるユーザに目覚ましワードで応答するように構成することができる。このユーザに対しては、デバイスの視野内に入るように要求することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to process one or more inputs to provide the user with a rich experience. The PCD 100 can be configured to recognize user utterances. For example, the PCD 100 identifies “wake up words” and / or other features from the utterance to reduce “false positive” engagement. In some embodiments, the PCD 100 can be configured to recognize speech in a near-field range of N feet × M feet, where N and M are determined by the speech quality and PCD detection sensitivity. can do. In another embodiment, the PCD 100 can be configured to recognize speech in a far field range greater than N feet covering room sizes of at least 12 feet by 15 feet. In some embodiments, the PCD 100 can be configured to identify sounds other than the spoken language. The PCD can use a sound trail database composed of sounds that can be recognized and reacted on their own. The PCD can share the contents of this database with other PCD devices directly through communication or cloud based communication. By way of example and not limitation, sounds other than the spoken language may include sounds corresponding to breaking glass, doorbells, ringing of phones, sounds of falling people, sirens, gunshots, audible alarms, and the like. Additionally, the PCD 100 can be configured to "learn" new sounds by asking the user to identify sound sources that do not fit into the existing classifiers of the PCD 100. The device can respond to multiple languages. In some embodiments, the PCD 100 can be configured to respond with a wake-up word to users who are outside the near field range. The user can be required to be within the field of view of the device.

一部の実施形態では、PCD100は、その面上に発話入力がいずれかの理由で損なわれた時に使用することができるタッチ感知区域を有することができる。これらのタッチ入力を用いて、PCD100は、イエス/ノー質問を投げ掛けるか又は画面上にオプションを表示することができ、画面上のユーザのタッチをユーザからの入力と見なすことができる。一部の実施形態では、PCD100は、特に2又は3以上のユーザが視界範囲にいる時に、1人のユーザを別のユーザから区別するために視覚及び移動を使用することができる。更に、PCD100は、近接場範囲で全体の骨格の姿勢及び移動、並びにいくつかの共通の身振りを解釈する機能を有することができる。これらの身振りは、デバイス制御ではなく親交的対話に向けられたものとすることができる。一部の実施形態では、PCD100は、写真及び動画を撮影するためのカメラを含むように構成することができる。一部の実施形態では、カメラは、ユーザがカメラの予め決められた範囲にいる時に写真及び動画を撮影するように構成することができる。更に、PCD100は、ビデオ会議(ポップイン)をサポートするように構成することができる。更に、PCD100は、カメラが写真モードにある時に「赤目」を排除するモードを含むように構成することができる。   In some embodiments, the PCD 100 can have a touch sensitive area on its face that can be used when speech input is lost for any reason. Using these touch inputs, the PCD 100 can ask yes / no questions or display options on the screen, and can consider the user's touch on the screen as input from the user. In some embodiments, the PCD 100 can use vision and movement to distinguish one user from another, particularly when two or more users are in view. In addition, the PCD 100 can have the ability to interpret the pose and movement of the entire skeleton in the near field range, as well as some common gestures. These gestures can be directed towards intimate interactions rather than device control. In some embodiments, the PCD 100 can be configured to include a camera for capturing photos and videos. In some embodiments, the camera can be configured to take pictures and videos when the user is in a predetermined range of the camera. Additionally, the PCD 100 can be configured to support video conferencing (pop-in). In addition, the PCD 100 can be configured to include a mode that eliminates "red eye" when the camera is in photo mode.

一部の実施形態では、PCD100は、それ自体が持ち上げられている、運ばれている、及び落下しているなどが行われているか否かを決定するように構成することができる。更に、PCD100は、磁力計を実施するように構成することができる。一部の実施形態では、PCD100は、周囲照明レベルを決定することができる。更に、PCD100は、周囲光レベルに基づいてディスプレイ及びアクセント照明輝度レベルを適切なレベルに調節することができる。一部の実施形態では、PCD100は、デバイスの場所を見積もるためにGPSを使用する機能を有することができる。PCD100は、住居内の相対位置を決定することができる。一部の実施形態では、PCD100は、全体又は遠方場の運動の検出を助けるために1又は2以上の受動IR運動検出センサ(PIR)を含むように構成することができる。一部の実施形態では、PCD100は、環境の周囲温度を示すために少なくとも1つのサーミスタを含むことができる。   In some embodiments, the PCD 100 can be configured to determine whether it is being lifted, carried, dropped, etc. itself. Additionally, the PCD 100 can be configured to implement a magnetometer. In some embodiments, the PCD 100 can determine an ambient illumination level. In addition, the PCD 100 can adjust the display and accent lighting luminance levels to appropriate levels based on the ambient light level. In some embodiments, the PCD 100 can have the ability to use GPS to estimate the device's location. The PCD 100 can determine the relative position within the residence. In some embodiments, the PCD 100 can be configured to include one or more passive IR motion detection sensors (PIRs) to aid in detection of total or far field motion. In some embodiments, the PCD 100 can include at least one thermistor to indicate the ambient temperature of the environment.

例示的かつ非限定的実施形態により、PCD100は、分かりやすい自然な音声でユーザに「一音声」英語を話し掛けるように構成することができる。PCD100は、アニメ化されたデバイスの感情状態を模倣するように発声音声の音調を変化させるように(PCD100が悲しい時には悲しい音を出すように)構成することができる。一部の実施形態では、PCD100は、発話、高忠実度音楽、及び効果音を再生することができる少なくとも1つのスピーカを含むように構成することができる。一部の実施形態では、PCD100は、1つが発話に関し、1つが音楽に関する複数のスピーカ、及び/又は特殊な可聴信号及び警報のための追加のスピーカを有することができる。発話専用スピーカは、ユーザに向けて配置し、音声周波数応答に向けて調整されたものとすることができる。音楽専用スピーカは、フル周波数応答に向けて調整されたものとすることができる。PCD100は、トゥルーカラーのフルフレームレートディスプレイを有するように構成することができる。一部の実施形態では、表示される動画を直径が少なくとも4・1/2’’の円形のものにする(マスク処理する)ことができる。一部の実施形態では、PCD100は、最小で3つの移動自由度を有することができ、環境の360度センサ網羅と、人間様の姿勢及び移動の範囲(表現的作用線)とを可能にする。PCD100は、音、発話、アクセント照明、及び表示グラフィックに身体アニメーションを同期させるように構成することができる。この同期は、人間の知覚に対して継ぎ目のない程十分に近いとすることができる。一部の実施形態では、PCD100は、周囲への通知と親交的対話の両方に向けてアクセント照明を使用することができる指定区域を有することができる。デバイス形態に基づいて、アクセント照明は、PCD100のカメラが写真又は動画の取り込みモードにある時に写真内の被写体を照明するのに役立たせることができる。一部の実施形態では、PCD100は、カメラが写真取り込みモードにある時に被写体を自動的に照明することになるカメラフラッシュを有することができる。更に、アクセント照明が被写体の照明をもたらす方が良い場合がある。更に、PCD100は、カメラが写真取り込みモードにある時に「赤目」を排除するモードを有することができる。   By way of an illustrative and non-limiting embodiment, the PCD 100 can be configured to speak "one voice" English to the user with clear natural voice. The PCD 100 can be configured to change the tone of the spoken voice (to produce a sad sound when the PCD 100 is sad) to mimic the emotional state of the animated device. In some embodiments, the PCD 100 can be configured to include at least one speaker capable of playing speech, high fidelity music, and sound effects. In some embodiments, the PCD 100 can have multiple speakers, one for speech and one for music, and / or additional speakers for special audio signals and alarms. Speech-only speakers can be positioned towards the user and tuned for audio frequency response. Music-only speakers can be tuned for full frequency response. The PCD 100 can be configured to have a true color full frame rate display. In some embodiments, the displayed moving image can be circular (masked) at least 41⁄2 '' in diameter. In some embodiments, the PCD 100 can have a minimum of three degrees of freedom of movement, allowing 360 degree sensor coverage of the environment and human-like pose and range of movement (representative action lines) . The PCD 100 can be configured to synchronize body animation with sounds, speech, accent lighting, and display graphics. This synchronization can be close enough to be seamless to human perception. In some embodiments, the PCD 100 can have designated areas that can use accent lighting for both ambient notification and intimate interaction. Based on the device configuration, accent lighting can be used to illuminate an object in a photo when the camera of the PCD 100 is in photo or video capture mode. In some embodiments, the PCD 100 can have a camera flash that will automatically illuminate the subject when the camera is in photo capture mode. Furthermore, it may be better for accent lighting to provide illumination of the subject. Additionally, the PCD 100 can have a mode that eliminates "red eye" when the camera is in photo capture mode.

例示的かつ非限定的実施形態により、PCD100は、ユーザを識別して追跡することができる。一部の実施形態では、PCD100は、人が近接場範囲に入った時に通知することができる。例えば、近接場範囲は、10フィートとすることができる。別の実施形態では、PCD100は、人が遠方場範囲に入った時に通知することができる。例えば、遠方場範囲は、10フィートとすることができる。一部の実施形態では、PCD100は、ビデオ(顔認識)、深度カメラ(骨格特徴照合)、及び音(音声ID)の組合せによって最大で5人の異なるユーザを識別することができる。一部の実施形態では、PCD100が認識することができることになるユーザを学習するためにPCD100によって「学習」ルーチンが使用される。一部の実施形態では、PCD100は、ビデオと深度カメラと聴覚情景解析との組合せによって近接場範囲において全360度でユーザの場所を決定し、このユーザを追跡することができる。一部の実施形態では、PCD100は、10フィートの遠方場範囲において全360度でユーザの場所を決定し、このユーザを追跡することができる。一部の実施形態では、PCD100は、ユーザが近接場範囲にいる場合は必ずPCD100自体に対する様々なユーザの場所の内部マップを維持することができる。一部の実施形態では、PCD100は、それ自体からユーザが遠くに離れた時に機能レベルが低下する場合がある。一部の実施形態では、PCD100の全機能をPCD100の近接場範囲にいるユーザに対して利用可能にすることができる。一部の実施形態では、PCD100は、ユーザの気分及び応答を追跡するように構成することができる。一部の実施形態では、PCD100は、ビデオ解析と、骨格追跡と、発話韻律と、ユーザ語彙と、口頭質問(すなわち、デバイスが「元気ですか?」と尋ね、更に応答を解釈する)との組合せによってユーザ又はユーザグループの気分を決定することができる。   The exemplary non-limiting embodiment allows the PCD 100 to identify and track users. In some embodiments, the PCD 100 can notify when a person enters the near field range. For example, the near field range can be 10 feet. In another embodiment, the PCD 100 can notify when a person enters far field range. For example, the far-field range can be 10 feet. In some embodiments, the PCD 100 can identify up to five different users by a combination of video (face recognition), depth camera (skeleton feature matching), and sound (voice ID). In some embodiments, a "learn" routine is used by the PCD 100 to learn the user that the PCD 100 will be able to recognize. In some embodiments, the PCD 100 can track and track the user's location at all 360 degrees in the near-field range through a combination of video, depth camera and auditory scene analysis. In some embodiments, the PCD 100 can determine and track the user's location at a full 360 degrees in a 10 foot far field range. In some embodiments, the PCD 100 can maintain an internal map of various user locations relative to the PCD 100 itself whenever the user is in near field range. In some embodiments, the PCD 100 may lose functionality when the user is far away from itself. In some embodiments, the full functionality of the PCD 100 can be made available to users in the near field range of the PCD 100. In some embodiments, the PCD 100 can be configured to track the user's mood and response. In some embodiments, the PCD 100 performs video analysis, skeletal tracking, speech prosody, user vocabulary, and verbal questions (ie, ask the device "How are you doing?" And interpret the response further) The combination can determine the mood of the user or user group.

例示的かつ非限定的実施形態により、PCD100は、それ自体のアニメーション内に感情内容を合成するために人間の交際コードを用いてプログラムすることができる。特に、ユーザ表情の知覚された感情内容に基づいて、完全に自律的な方式で出力の感情内容を適切に調節するためにPCD100にプログラム知能を適用しなければならない。PCD100は、発話と、照明と、移動と、効果音との組合せにより、感知されるユーザの気分を改善しようと試みるようにプログラムすることができる。更に、PCDの交際コードは、ユーザとの友好関係を構成する機能、すなわち、挙動を反映する、頭の姿勢を模倣することのような機能を与えることができる。   By way of an illustrative and non-limiting embodiment, the PCD 100 can be programmed with human relationship code to synthesize emotional content within its own animation. In particular, program intelligence must be applied to the PCD 100 to properly adjust the output emotional content in a completely autonomous manner, based on the perceived emotional content of the user's expression. The PCD 100 can be programmed to try to improve the perceived user's mood by a combination of speech, lighting, movement and sound effects. In addition, the PCD's relationship code can provide functions that constitute a friendly relationship with the user, ie, functions that mimic behavior, such as mimicking head posture.

例示的かつ非限定的実施形態により、PCD100は、スポーツニュース及びゲーム、天気予報、ニュースクリップ、現在のイベントに関する情報などを含む先見的にカスタム化されたインターネットコンテンツを学習されたユーザプリファレンスに基づく親交的な関わり方でユーザに配信し、及び/又はユーザの潜在的な興味を広げる手法としてこれらの情報及びデータを共有するためにPCD100自体のプリファレンスを開発するようにプログラムすることができる。   According to an exemplary and non-limiting embodiment, the PCD 100 is based on user preferences that have been trained on visionary customized internet content including sports news and games, weather forecasts, news clips, information about current events, etc. It can be programmed to develop preferences for the PCD 100 itself to share these information and data as a way of delivering to the user in an intimate manner and / or broadening the user's potential interests.

PCDデバイスは、コンテンツのタイプと、PCDデバイスが認識する各個々のユーザにコンテンツが伝えられる手法の両方を適応する機能を有するようにプログラムすることができる。   The PCD device can be programmed to have the ability to adapt both the type of content and the manner in which the content is delivered to each individual user that the PCD device recognizes.

PCDデバイスは、ユーザプリファレンス及びユーザ反応、並びに配信されるインターネットコンテンツの処理習性に基づいて経時的に個々のユーザへのコンテンツ/配信のカスタム化を改善及び最適化する機能を有するようにプログラムすることができる。   The PCD device is programmed to have the ability to improve and optimize the customization of content / delivery to individual users over time based on user preferences and user reactions and processing habits of the Internet content delivered be able to.

PCDは、ユーザとの親交的言語対話に携わり、配信した情報がユーザによって理解されたことを見るようにプログラムすることができる。   The PCD engages in intimate verbal dialogue with the user and can be programmed to see that the information delivered was understood by the user.

例示的かつ非限定的実施形態により、PCD100は、ユーザの活動を管理及びモニタするように構成することができる。一部の実施形態では、サービスに関する通信デバイス122は、ユーザの要求を受けて、やることリスト、食料雑貨品リスト、又は他のリストを生成して格納することができ、これらのリストは、買い物に出かけた後にユーザに伝えることができる。一部の実施形態では、PCD100は、リストをユーザの携帯電話にテキスト(SMS)メッセージとしてプッシュする(サービスを通して)、又は要求時に本発明者のモバイル又はウェブアプリのいずれかのユーザによってプルされることが可能である。一部の実施形態では、ユーザは、そのような要求をPCD100上で音声を通して、又はサービスを通してモバイル又はウェブアプリを通して行うことができる。PCD100は、ユーザと対話してリストを管理することができる(すなわち、購入された項目/実施された項目/もはや必要のない項目を削除し、ユーザ履歴に基づいて追加のリスト項目に関する提案を行うことのような)。PCD100は、周囲の会話での主要フレーズを聞いて理解することにより(すなわち、デバイスが「コーヒーを切らしている」を聞いて食料雑貨品リストにコーヒーを追加したいか否かをユーザに尋ねる)、必要項目を推測してリストに追加することができる。   According to an exemplary and non-limiting embodiment, PCD 100 can be configured to manage and monitor user activity. In some embodiments, the communication device 122 for services may generate and store to-do lists, grocery lists, or other lists upon request of the user, which may be purchased You can tell the user after you go out. In some embodiments, the PCD 100 pushes the list to the user's mobile phone as a text (SMS) message (through a service) or is pulled by the user of either the inventor's mobile or web app on demand It is possible. In some embodiments, the user can make such a request on the PCD 100 through voice or through a service through a mobile or web app. The PCD 100 can interact with the user to manage the list (i.e. delete the purchased / implemented / unnecessary items and make suggestions for additional listings based on the user's history) Like that). The PCD 100 listens to and understands the main phrases in the surrounding conversation (i.e., asking the user if he wants to add coffee to the grocery list by listening to the device "out of coffee"), Necessary items can be guessed and added to the list.

例示的かつ非限定的実施形態により、PCD100は、ユーザが生成したリマインダー又はメッセージを正しい時点で提供するように構成することができる。PCD100は、正しい時点でリマインダーを配信するための条件を設定するために使用することができる。一部の実施形態では、リマインダーに対する条件は、「明日の朝、あなたが私を最初に見た時」又は「娘が次にここにきた時」など、又は更に「あなたが来週の火曜日の午後に最初に私を見た時」のような実時間条件を含むことができる。条件セットが満たされた状態で、PCD100は、ユーザの注意を引き(「注視」、並びにボディーランゲージ/表情の観点から)、適切な音声及びキャラクターでリマインダーを配信することができる。一部の実施形態では、PCD100は、リマインダーの気分内容を解析し、この情報を用いてこのリマインダーのアニメーション/照明/配信に影響を及ぼすことができる。他の実施形態では、PCD100は、リマインダーを配信した後に、喚起した挙動をユーザが実施したか否かをユーザに見ることによってユーザに念を押すことができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to provide user generated reminders or messages at the right time. The PCD 100 can be used to set conditions for delivering reminders at the right time. In some embodiments, the condition for the reminder is "Tomorrow morning, when you first see me" or "when your daughter comes here next time", or even "You are next Tuesday afternoon" It can include real-time conditions like "when I first saw me." With the condition set satisfied, the PCD 100 can draw the user's attention (in terms of "gaze" as well as body language / expression) and deliver reminders with appropriate voice and character. In some embodiments, the PCD 100 can analyze the mood content of the reminder and use this information to influence the animation / lighting / delivery of this reminder. In another embodiment, after delivering the reminder, the PCD 100 can remind the user by seeing to the user whether the user has performed the triggered behavior.

例示的かつ非限定的実施形態により、PCD100は、ユーザが与えることができる要求を受けてユーザの不在をモニタすることができる。例えば、ユーザは、場を離れる時及びその理由を伝え(例えば、「ここで散歩してくるよ」)、更にユーザが所望/所要の時間フレーム内に戻ったことをPCD100が確かめることができるように活動の予想所要時間を伝えることができる。更に、ユーザが指定窓内に戻らなかった場合に、PCD100は、この不測の事象に対してユーザが指定した通りに緊急連絡を通知することができる。PCD100は、テキストメッセージ及び/又はモバイルアプリを通して緊急連絡を通知することができる。PCD100は、ユーザが戻った時に存在を認識することができ、活動に対して後追い検査する(すなわち、活動がどうであったか、又は活動に関する他の質問を尋ねる)。そのようなタイプの対話は、PCD100とユーザ間の親交的対話を可能にし、学習データベースに向けてユーザに関する情報の収集を可能にすることができる。PCD100は、チェックアウト/チェックイン時間及び現在のユーザステータスを当該目的のためにユーザが識別された家族/友人に表示することができる。この表示は、モバイルアプリを通してもたらすことができる。PCD100は、より詳細な活動のモニタ/パターン化/報告の機能を有することができる。   The exemplary non-limiting embodiment allows the PCD 100 to monitor the absence of the user upon a request that the user can provide. For example, the user can tell when and when to leave (for example, "I'll walk here") and also allow the PCD 100 to confirm that the user has returned within the desired / required time frame. Can communicate with the expected duration of the activity. In addition, if the user does not return within the designated window, the PCD 100 can notify the emergency notification as specified by the user for this unexpected event. The PCD 100 can notify emergency contact through text messages and / or mobile apps. The PCD 100 can recognize its presence when the user returns and back-check the activity (i.e. ask what the activity was or other questions about the activity). Such type of interaction may allow for an intimate interaction between the PCD 100 and the user, and may enable collection of information about the user towards a learning database. The PCD 100 can display the checkout / checkin time and the current user status to the family / friends with whom the user has been identified for the purpose. This display can be brought through the mobile app. The PCD 100 can have more detailed activity monitoring / patterning / reporting capabilities.

例示的かつ非限定的実施形態により、PCD100は、1又は2以上のデータ接続によって外部ネットワークに接続するように構成することができる。一部の実施形態では、PCD100は、WiFiデータ接続のようなロバストな高帯域幅無線データ接続へのアクセスを有することができる。一部の実施形態では、PCD100は、2.4GHZ帯域と5GHz帯域の両方において2×2の二ストリームMIMO構成を使用する802.11nWiFi規格を実施することができる。一部の実施形態では、PCD100は、他のBluetooth(登録商標)デバイス(医療センサ、オーディオスピーカのような)に接続することができる。一部の実施形態では、PCD100は、Bluetooth4.0LE(BLE)規格を実施することができる。BLE対応PCD100デバイスは、そのUUIDをそれがマルチモーダルユーザデータを含み、これらのデータを他のBLE対応PCD100デバイスと共有するようにカスタム化するように構成することができる。一部の実施形態では、PCD100は、3G/4G/LTE又は他のセルラーネットワークへの接続を有することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to connect to an external network by one or more data connections. In some embodiments, the PCD 100 can have access to a robust high bandwidth wireless data connection, such as a WiFi data connection. In some embodiments, the PCD 100 can implement the 802.11n WiFi standard using a 2 × 2 two-stream MIMO configuration in both the 2.4 GHZ band and the 5 GHz band. In some embodiments, the PCD 100 can be connected to other Bluetooth® devices (such as medical sensors, audio speakers). In some embodiments, the PCD 100 can implement the Bluetooth 4.0 LE (BLE) standard. A BLE-enabled PCD 100 device can be configured to customize its UUID so that it contains multimodal user data and shares these data with other BLE-enabled PCD 100 devices. In some embodiments, the PCD 100 can have a connection to 3G / 4G / LTE or other cellular networks.

例示的かつ非限定的実施形態により、クラウドベースのサービスを必要とすることなく直接的なデータ共有及び通信を可能にするために、複数のPCD100デバイスをアドホックネットワーキング技術を用いてメッシュネットワーク構成で構成することができる。これに代えて、複数のPCD100デバイス間で共有されるデータをクラウドベースのデータベース/データセンター内にアップロードして格納することができ、そこでこれらのデータを複数のPCD100デバイスに同報通信するように処理して提供することができる。複数の場所にある複数のPCD100デバイスに向けてローカルと中心の両方のデータ格納、共有、及び分散を可能にするために、クラウドベースのデータサービスをメッシュネットワーク編成と組み合わせることができる。   According to an exemplary and non-limiting embodiment, multiple PCD 100 devices are configured in a mesh network configuration using ad hoc networking technology to enable direct data sharing and communication without the need for cloud based services can do. Alternatively, data shared between multiple PCD 100 devices can be uploaded and stored in a cloud-based database / data center where they can be broadcast to multiple PCD 100 devices It can be processed and provided. Cloud-based data services can be combined with mesh network organization to enable both local and centralized data storage, sharing and distribution towards multiple PCD 100 devices at multiple locations.

例示的かつ非限定的実施形態により、コンパニオンアプリケーションは、PCD100に接続するように構成することができる。一部の実施形態では、コンパニオンアプリケーションは、iOSプラットフォーム、Androidプラットフォーム、及びウェブプラットフォーム上で利用可能にすることができる。コンパニオンアプリケーションは、機能又は機能にアクセスするのに3回よりも多い対話を必要としない直感的で使いやすいユーザインタフェース(UI)を含むことができる。コンパニオンアプリケーションは、PCD100の仮想対応物へのアクセスをユーザに提供することができ、それによってユーザが、実在のPCD100と対話するためにこの仮想対応物へのアクセスを提供する。   In accordance with the illustrative and non-limiting embodiment, a companion application can be configured to connect to the PCD 100. In some embodiments, companion applications can be made available on the iOS platform, the Android platform, and the web platform. The companion application can include an intuitive and easy-to-use user interface (UI) that does not require more than three interactions to access a function or feature. The companion application can provide the user with access to the virtual counterpart of the PCD 100, thereby providing the user with access to this virtual counterpart in order to interact with the real PCD 100.

一部の実施形態では、ユーザは、買い物リスト、PCD100の活動ログのような情報にコンパニオンアプリケーションを通じてアクセス可能である場合がある。更に、コンパニオンアプリケーションは、PCD100にローカルなユーザ活動の長期的レポートを提供することができる。一部の実施形態では、コンパニオンアプリケーションは、ユーザをPCD100にビデオ及びオーディオを通して接続することができる。更に、コンパニオンアプリケーションは、ある一定の条件(例えば、ローカルユーザが「チェックイン」によって予想されている時間よりも遅れていること、大音量のノイズがあったこと、及びローカルユーザが応答しないことなど)をユーザに非同期的に警告することができる。   In some embodiments, the user may be able to access information such as the shopping list, activity log of PCD 100 through the companion application. Additionally, the companion application can provide the PCD 100 with long-term reports of user activity local to it. In some embodiments, the companion application can connect the user to the PCD 100 through video and audio. In addition, the companion application may have certain conditions (eg, that the local user is behind the time expected by "check in", that there was loud noise, and that the local user has not responded, etc. ) Can alert the user asynchronously.

一部の実施形態では、グループのデバイスにわたる接続又は制御を可能にするための運営/配備アプリケーションをウェブプラットフォーム上で利用可能にすることができる。運営アプリケーションのUIは、詳細報告機能、設定機能、配備機能、及び/又はサポート機能への迅速なアクセスを必要とすることができる病院/介護管理者又は購入者がそれを行うことを可能にすることができる。更に、グループは、管理されるPCD100デバイスセットにわたって格納された情報に運営アプリケーションを用いてアクセスことができる。運営アプリケーションは、ある一定の条件(例えば、ローカルユーザが「チェックイン」によって予想されている時間よりも遅れていること、大音量のノイズがあったこと、及びローカルユーザが応答しないことなど)をユーザに非同期的に警告することができる。更に、運営アプリケーションは、その管理されるデバイスの部分集合又は全てにわたってメッセージ及びリマインダーを同報通信することができる。   In some embodiments, operation / deployment applications can be made available on the web platform to enable connection or control across groups of devices. The administration application's UI allows a hospital / care manager or purchaser who can require quick access to detail reporting, configuration, deployment, and / or support functions to do so be able to. In addition, groups can access information stored across the managed PCD 100 device set using the administrative application. The administration application is aware of certain conditions (for example, that the local user is behind the time expected by "check in", that there is loud noise, and that the local user is not responsive) Users can be alerted asynchronously. Additionally, the management application can broadcast messages and reminders across a subset or all of its managed devices.

例示的かつ非限定的実施形態により、PCD100の担当者が1又は2以上のデバイスをモニタ/サポート/診断/配備することをサポートコンソールが可能にすることができる。サポートコンソールは、ウェブプラットフォーム上で利用可能にすることができる。一部の実施形態では、サポートコンソールは、独特な製造番号、所有者、機関配備セット、ファームウエア及びアプリケーションのバージョン番号、又は登録された例外によって識別することができる全ての配備されたPCDデバイスのリストビューをサポートすることができる。一部の実施形態では、サポートコンソールは、製造番号、所有者、機関配備セット、ファームウエア及びアプリケーションのバージョン番号、又は登録された例外を含むタグを用いた対話型クエリをサポートすることができる。更に、サポートコンソールは、デバイス診断の実施及び報告をサポートすることができる。   Exemplary and non-limiting embodiments may allow the support console to allow the person in charge of the PCD 100 to monitor / support / diagnose / deploy one or more devices. The support console can be made available on the web platform. In some embodiments, the support console can be a unique serial number, an owner, an agency deployment set, firmware and application version numbers, or all deployed PCD devices that can be identified by a registered exception. It can support list views. In some embodiments, the support console can support interactive queries with tags including serial numbers, owners, agency deployment sets, firmware and application version numbers, or registered exceptions. Additionally, the support console can support the implementation and reporting of device diagnostics.

例示的かつ非限定的実施形態により、サポートコンソールは、ファームウエア及びソフトウエアの新しいバージョンの配備を支援することができる(プッシュモデル)。更に、サポートコンソールは、より新しいNLU、新しいアプリのような配備を支援することができる。サポートコンソールは、顧客サポートシナリオ、及び計画されたサービス停止時間のような事柄を伝えるための配備されたデバイスの部分集合又は全てへのメッセージの同報通信などをサポートすることができる。一部の実施形態では、サポートコンソールは、PCD100との対話に費やされた時間、全てのアプリ/サービスにわたる時間内訳、オーディオ知覚アルゴリズム及びビデオ知覚アルゴリズムに対する集計ヒット/ミスメトリック、ログされたアクション(データマイニングなどをサポートするための)、例外ログ、(例えば、どの程度の例外レベルにおいてサポートコンソールが叫ばなければならないか)、及びその他を含む(しかし、これらに限定されない)様々なデバイス上のメトリックへのアクセスをサポートする必要がある場合がある。   The exemplary non-limiting embodiment allows the support console to support deployment of new firmware and software versions (push model). Additionally, the support console can support deployments such as newer NLUs, new apps. The support console may support customer support scenarios and broadcast of messages to a subset or all of deployed devices to communicate things such as planned service downtime. In some embodiments, the support console takes the time spent interacting with the PCD 100, time breakdowns across all apps / services, aggregate hit / miss metrics for audio perception algorithm and video perception algorithm, logged actions ( Metrics on various devices, including (but not limited to) data to support data mining, exception logs, (eg, at what exception level the support console must scream), and others May need to support access to

例示的かつ非限定的実施形態により、PCD100は、テレビ会議に携わることができる。一部の実施形態では、テレビ会議は、PCD100の身体又はタッチ画面104のタッチ、又はいくつかのフレーズ、及び音などによって開始することができるもののような音声起動のいずれかによって簡単なUIを通して実行を開始することができる。一実施形態では、テレビ会議を開始するのに2回よりも多いPCD100のタッチを必要としない。一部の実施形態では、通話スケジューリング/プロンプト提示機能の出力として通話を開始することができる。開始された状態で、PCD100は、WiFi接続、Bluetooth、電話接続、又はこれらのあらゆる組合せを用いて電話機能を実行しながら、ユーザからオーディオデータを受信して出力するためにマイクロフォン112及びスピーカ110を使用する電話として機能することができる。   The exemplary and non-limiting embodiment allows the PCD 100 to engage in video conferencing. In some embodiments, teleconferencing is performed through a simple UI either by touching the body of PCD 100 or touch screen 104, or by voice activation, such as one that can be initiated by a few phrases and sounds etc. Can be started. In one embodiment, it is not necessary to touch the PCD 100 more than twice to initiate a video conference. In some embodiments, the call can be initiated as an output of the call scheduling / prompt presentation feature. Once started, the PCD 100 receives the microphone 112 and speaker 110 to receive and output audio data from the user while performing a phone function using WiFi connection, Bluetooth, phone connection, or any combination of these. It can function as a phone to use.

通話は、標準的な音声通話とするか、又はビデオ構成要素を含むかのいずれかとすることができる。そのような対話中に、PCD100は、会話のPCD100端においてカメラマンとして機能することができる。一部の実施形態では、PCD100をテーブル又は他の親交的会合点の中心に配置することができ、通話中に全員が立ち上がり、移動し、活動的である可能性がある家族のような複数のユーザがPCD1000を囲んで部屋を占有する。通話中に、PCD100は、カメラ106を望ましい場所に向けることができる。一実施形態では、PCD100は、カメラ106を話者/ユーザに向いた状態に保つために音位置及び顔追跡を利用することができる。他の実施形態では、PCD100は、部屋の中にいる人々/ユーザが向けることができる(例えば、「PCD、ルビーを見て」)。他の実施形態では、遠くにいる人が、デバイスによって追跡されるターゲットを指定することができ、PCD100は、そのターゲットを自律的に注視して追跡することになる。いかなるシナリオにおいても、例えば、遠くにいる参加者が、スマートフォン、ラップトップ、又はビデオを表示する機能を有する他のデバイスを用いている場合に、カメラ106が入力として感受したものがこれらの参加者に示される。   The call may be either a standard voice call or include a video component. During such interaction, the PCD 100 can function as a photographer at the PCD 100 end of the conversation. In some embodiments, the PCD 100 can be placed at the center of a table or other intimate meeting point, such as multiple families, all of whom can get up, move, and be active during a call. A user occupies a room around the PCD 1000. During a call, PCD 100 can direct camera 106 to a desired location. In one embodiment, the PCD 100 can utilize sound position and face tracking to keep the camera 106 facing the speaker / user. In other embodiments, the PCD 100 can be directed by people / users in the room (eg, "PCD, look at ruby"). In other embodiments, a person at a distance can specify a target to be tracked by the device, and the PCD 100 will focus on and track that target autonomously. In any scenario, for example, if a remote participant is using a smartphone, laptop, or other device with the ability to display video, what was perceived as an input by the camera 106 as these participants Indicated.

デバイスは、複数の言語で理解及び応答することができる。そのような対話中に、PCD100は、音声入力を受信し、プロセッサによって入力を変換し、変換された出力を出力することにより、国際連合の通訳機の例とほぼ同じくリンクの他端にいる人に対する「通訳者」として機能することができる。TV及びiPad(登録商標)などのような画面がPCD100を有する部屋の中で利用可能である場合に、PCD100は、Bluetooth又はWiFiなどを通してオーディオを送り、このTV画面上に表示されるリモート参加者のビデオを利用することができる場合にこのビデオを送ることができる。他の利用可能な画面がない場合に、PCD100は、リモート参加者からのオーディオを中継することができるが、遠隔ビデオを利用可能にすることはできない。そのような事例では、PCD100は、リモート参加者の言葉しか中継しない。一部の実施形態では、PCD100は、例えば、リモート参加者が予め決められた時間量にわたって休止している場合に瞬きする及び下を向くこと、又はリモート参加者が非常に興奮していることをPCD100が感知した場合に、少しのダンス又は「シミー」を踊ることなどによってアニメ化してユーザに反応することができる。   The device can understand and respond in multiple languages. During such a dialogue, the PCD 100 receives the voice input, converts the input by the processor, and outputs the converted output, so that the person at the other end of the link is about the same as the example of the United Nations interpreter Function as an “interpreter” for When a screen such as TV and iPad (registered trademark) is available in a room with PCD 100, PCD 100 sends audio through Bluetooth or WiFi etc, and the remote participant displayed on this TV screen You can send this video if it is available. In the absence of other available screens, the PCD 100 can relay audio from remote participants but can not make remote video available. In such cases, the PCD 100 only relays the language of the remote participant. In some embodiments, the PCD 100 may, for example, blink and turn down when the remote participant is resting for a predetermined amount of time, or that the remote participant is very excited. When the PCD 100 senses, it can be animated to react to the user, such as by dancing a little dance or "shimmy".

別の実施形態では、PCD100は、リンクのリモート端にいる人のアバターとすることができる。例えば、タッチ画面104上に表示された眼又は他の部位は、リモート参加者の顔のレンダリングバージョン(実施形態の中でも取りわけ、漫画、画像ベースのもの又はビデオストリームのいずれか)に変態することができる。レンダリング物は格納し、PCD100対してアクセス可能にすることができる。他の実施形態では、アバター体験を改善するために、PCD100は、リモートユーザに関連付けられ、リモートユーザを説明するデータを取り出し、リモートユーザの運動/非言語的手がかりを模倣することができる。   In another embodiment, the PCD 100 can be an avatar of a person at the remote end of the link. For example, the eye or other part displayed on the touch screen 104 may be transformed into a rendered version of the remote participant's face (in particular, cartoon, image based or video stream among others). Can. Rendered objects can be stored and made accessible to the PCD 100. In other embodiments, to improve the avatar experience, the PCD 100 can be associated with the remote user, retrieve data describing the remote user, and mimic the remote user's athletic / non-verbal cues.

一部の実施形態では、通話中に、リモート参加者又はローカル参加者のいずれも、参加者の静止画像、ビデオ、及び音声クリップ、並びにPCD100のカメラビュー又は説明の格納の開始指示(例えば、「PCD、この番号を覚えなさい」)を出すことができる。これらのタグ付けされる項目は、適切にメタタグが付けられ、PCDクラウドに格納される。   In some embodiments, during the call, either the remote participant or the local participant is instructed to start storing the participant's still image, video and audio clips, and the camera view or description of the PCD 100 (eg, “ PCD, remember this number ") can be issued. These tagged items are properly meta-tagged and stored in the PCD cloud.

他の実施形態により、PCD100は、要求時にリモート対話を誘起するのに役立たせることができる。例えば、ユーザは、PCD100にゲームを提案するように見出すことができ、PCD100は、下記でより詳しく説明する接続ゲームモードを開始し、両方の参加者が同意するまで複数のゲームを提案することになる。別の例では、ユーザは、PCD100に話される話題を求めることができる。従って、PCD100は、会話の参加者の共通の興味にターゲットが絞られた「事情通PCD」データベースにアクセスするか又は話すことを提案する(例えば、「ねえおばあちゃん、おばあちゃんが先日お友達と食べたランチに関してルビーに話して」)ための事象に関して参加者に関するPCDカレンダーを求めることができる。   According to another embodiment, the PCD 100 can be useful for inducing remote interaction on demand. For example, the user can find to suggest a game to PCD 100, which initiates a connected game mode, which will be described in more detail below, to suggest multiple games until both participants agree. Become. In another example, the user can ask for a topic to be spoken to the PCD 100. Thus, the PCD 100 proposes to access or talk to the "Joong PCD" database, which is targeted to the common interests of the participants in the conversation (for example, "Hey grandma, grandma ate with a friend the other day You can ask for a PCD calendar for the participants on the event to "talk to ruby" for lunch.

スケジューリングアシスタントScheduling assistant

例示的かつ非限定的実施形態により、PCD100は、カレンダーの利用可能性、特別な日、及び/又はリンクの他端の存在の知識に基づいて通話を提案することができる(例えば、「あなたのママは今家にいて、今日は彼女の誕生日だけど、ママに電話したい?」)。ユーザは、提案を受信することができ、その場合に、PCD100と、リモート参加者のPCD100、電話、スマートデバイス、又はスカイプアカウントとの間でPCD通話アプリが起動される。ユーザは、通話をそれ以降にスケジューリングすることをPCD100に見出すことによって提案を受信することができ、その場合に、スケジューリングアプリがこの通話をユーザのカレンダーに追加する。   According to an exemplary and non-limiting embodiment, the PCD 100 can propose a call based on knowledge of calendar availability, special days, and / or the presence of the other end of the link (e.g., "your Mom is at home now and today is her birthday but would you like to call mom? "). The user can receive a suggestion, in which case a PCD call application is launched between the PCD 100 and the remote participant's PCD 100, a phone, a smart device, or a skype account. The user can receive a suggestion by finding in the PCD 100 to schedule the call later, in which case the scheduling app adds this call to the user's calendar.

通話返答及びメッセージングCall answering and messaging

例示的かつ非限定的実施形態により、PCD100において通話返答及びメッセージング機能を実施することができる。この機能は、PCD100にかけられる音声通話又はビデオ通話にも適用され、PCD100は、他のセルラー接続デバイスに対する通話管理サービスを実施しないことになる。図7を参照すると、例示的かつ非限定的実施形態の流れ図700が示されている。図示のように、段階702において、PCD100に通話がかけられた時に、PCD100は、送信者を部屋の中にいる人々に告知することができる。部屋の中に誰もいない場合に、PCD100は、ユーザのカレンダーを見ることができ、ユーザが家にいないことが示された場合に、段階704において、通話をPCD100に関連付けられた留守番電話に直接送ることができる。それとは逆にユーザが家にいることが示された場合に、PCD100は、段階706において、大音量音(ベル音、リング音、叫び声?)を用いて家の中にいる人の注意を引くことになる。   The call answering and messaging function can be implemented in the PCD 100 according to an exemplary non-limiting embodiment. This feature also applies to voice or video calls made to the PCD 100, and the PCD 100 will not implement call management services for other cellular connected devices. Referring to FIG. 7, a flowchart 700 of an exemplary and non-limiting embodiment is shown. As shown, at step 702, when a call is made to the PCD 100, the PCD 100 can notify the sender to people in the room. If there is no one in the room, the PCD 100 can view the user's calendar, and if it is indicated that the user is not at home, then in step 704, the call is directly to the answering machine associated with the PCD 100. Can be sent. Conversely, if it is indicated that the user is at home, the PCD 100 uses the loud sound (bell, ring, scream?) To draw the attention of the person in the house at step 706 It will be.

PCD100がそれ自体のユーザの注意を引いた状態で、段階708において、PCD100は、送信者を告知してユーザが通話を受けたいか否かを尋ねることができる。段階710において、ユーザは、簡単なタッチインタフェースを用いて、又は理想的には自然言語インタフェースを用いて応答することができる。返答が「イエス」である場合に、段階712において、PCD100は、「同期オンデマンドマルチモーダルメッセージング」機能に説明するように通話を接続する。返答が「ノー」である場合に、段階714において、通話はPCD100の留守番電話に送られる。   With the PCD 100 drawing its own user's attention, in step 708, the PCD 100 can announce the sender and ask if the user wants to accept the call. At stage 710, the user can respond with a simple touch interface or ideally with a natural language interface. If the answer is "yes", then in step 712, the PCD 100 connects the call as described in the "sync on demand multimodal messaging" function. If the answer is "no", then at step 714 the call is sent to the PCD 100 answering machine.

送信者が留守番電話に誘導された場合に、PCD100は、送信者に挨拶してメッセージを残すように見出すことができる。一部の実施形態では、音声又は音声/ビデオ(送信者がスカイプ又は均等物を用いている場合)メッセージを後日の再生に向けて記録することができる。   When the sender is directed to an answering machine, the PCD 100 can be found to greet the sender and leave a message. In some embodiments, voice or voice / video (if the sender is using skype or equivalent) messages can be recorded for later playback.

ユーザが戻り、PCD100が部屋の中で再度ユーザを検出した状態で、PCD100は、段階716において、ユーザにメッセージを通知し(「あなたにメッセージがあります」と言語的に行うか、又は照明付きポンポン等で非言語的に行うかのいずれかで)、ユーザにメッセージを聞きたいか否かを尋ねることができる。「イエス」の場合に、PCD100は、音声を再生すること又は上述のようにTV/タブレット/他の上で音声/映像メッセージを再生することのいずれかを行うことができる。   With the user returning and the PCD 100 detecting the user again in the room, the PCD 100 notifies the user of the message at step 716 (pronounced "I have a message for you" or verbally poked Etc.) and ask the user if they want to hear the message. If "yes", the PCD 100 can either play audio or play audio / video messages on the TV / tablet / other as described above.

ユーザは、後のためにメッセージを保存するというオプションを有することができる。ユーザは、特定の時点で再度尋ねること又は単に「後に」再度尋ねることのいずれかを行うようにPCD100に伝えることができ、後者の場合に、PCD100は、予め決められた時間量の後に再度尋ねることになる。   The user may have the option of saving the message for later. The user can tell the PCD 100 to either ask again at a particular point in time or just ask again later, in the latter case the PCD 100 asks again after a predetermined amount of time. It will be.

PCD100に対して送信者が未知である場合に、PCD100は、通話を留守番電話に誘導し、番号Xからの未確認通話を受信したことをユーザに通知し、メッセージが記録されている場合はそれを再生することができる。次に、ユーザは、この番号が接続/留守番電話に進行するのを実効的に阻止するようにPCD100に命令することができる。PCD100は、ユーザが同期的又は非同期的のいずれかで折り返し通話を行いたいか否かを尋ねることができる。ユーザが承諾した場合に、PCD100は、ユーザ要求を完了させるために適切なメッセージングモードを起動する。一部の実施形態では、PCD100は、家の中にある他のセルラーデバイス又は固定電話回線デバイスに対する通話管理機能を提供することができる。更に他の実施形態では、PCD100は、通話に応答し、送信者にメッセージを残すように会話的に促すことができ、従って、個人秘書のように機能する。   If the sender is unknown to PCD 100, PCD 100 directs the call to an answering machine, notifies the user that an unconfirmed call from number X has been received, and if a message is recorded, It can be played back. The user can then instruct the PCD 100 to effectively block this number from going to a connected / answerphone. The PCD 100 can ask if the user wants to make a back call either synchronously or asynchronously. If the user approves, the PCD 100 activates the appropriate messaging mode to complete the user request. In some embodiments, the PCD 100 can provide call management functionality to other cellular or fixed telephone line devices in the home. In yet another embodiment, the PCD 100 can respond interactively, prompt the sender to leave a message, and thus act like a personal secretary.

接続式物語朗読Connected Story Reading

例示的かつ非限定的実施形態により、リモート参加者がPCD100を有する部屋の中にいるローカル参加者にPCD100を「通じて」物語を読み聞かることを可能にするPCD100は接続物語朗読アプリを組み込むことができる。朗読者は、仮想PCD100によって案内される簡単なウェブ又はAndroidアプリベースのインタフェースを通して物語を選択してそれを朗読する処理によって対話を行うことができる。朗読者は、仮想PCD100によって促される通りに物語のワードを朗読することができる。一部の実施形態では、朗読者の音声が物理PCD100によって聞き手に対して再生されることになり、朗読者が朗読を行うための生来の機能を持たない場合であっても信じ難いほど魅力的にキャラクターの「音声を演じる」ことができるように、朗読者の音声に事前設定フィルタが適用される。この再生の中にサウンドトラック音楽及び効果を挿入することができる。朗読者のインタフェースは、聞き手の「PCDのアイビュー」ビデオフィードを示すことができ、PCD100は、その「カメラマン」機能を用いて聞き手をビデオ内に引き留めることができる。   The exemplary and non-limiting embodiment allows the remote participant to read and hear stories through the PCD 100 to a local participant who is in a room with the PCD 100. The PCD 100 incorporates a connected story reading app be able to. Readers can interact by selecting a story and reading it through a simple web or Android app based interface guided by the virtual PCD 100. A good reader can read the words of the story as prompted by the virtual PCD 100. In some embodiments, the sound of the good reader will be played to the listener by the physical PCD 100, and it will be unbelievably attractive even if the read reader does not have the natural ability to read aloud A pre-set filter is applied to the reader's voice so that the character can "play the sound". Soundtrack music and effects can be inserted into this playback. The reader's interface can show the listener's "PCD's eye view" video feed, and the PCD 100 can keep the listener in the video using its "photographer" function.

物理PCD100は、適切な時点で短いアニメーションによって物語に反応することができ(恐怖の身震いのような)、上述したPCD100の眼は、物語要素のサポートするように異なる形状に変態することができる。この機能は、朗読者と聞き手が物語に関する会話等で物語を中断することができるように、PCD通話機能内にラップすることができる。このアプリは、朗読者が物語の朗読を中止したことを認識し、朗読者と聞き手とがフィルタリングなく会話することができるようにこの機能を一時停止することができる。これに代えて、話し手は、物語を事前に記録し、それが下記で説明する物語中継アプリを用いて後で再生されるようにスケジューリングすることができる。   The physical PCD 100 can respond to the story with short animations at appropriate times (like tremors of fear), and the eyes of the PCD 100 described above can be transformed into different shapes to support the story elements. This feature can be wrapped within the PCD calling feature so that readers and listeners can interrupt the story, such as in a storytelling conversation. This app can recognize that a reader has stopped reading a story and can pause this function so that the reader and the listener can talk without filtering. Alternatively, the speaker can pre-record the story and schedule it to be played back later using the story relay app described below.

ホットラインhotline

例示的かつ非限定的実施形態により、ユーザは、PCD100を利用して「プッシュ・ツー・トーク」方式又は「ウォーキー・トーキー」方式のインタフェースを通して「ネットワーク内」メンバと通信することができる。この機能は、PCD100上の皮膚又は画面アイコン上の1回のタッチにより、又は「PCD100、ママと話して」という簡単な音声指令を通してアクセス可能である。一部の実施形態では、この機能は、PCD対PCDの会話だけに限定され、両方のPCD100がリンクの互いの端でユーザの存在を検出した場合にのみ使用可能にすることができる。   The exemplary non-limiting embodiment allows the user to communicate with "in network" members through a "push-to-talk" or "walkie-talkie" interface using the PCD 100. This function can be accessed by a single touch on the skin or screen icon on the PCD 100 or through a simple voice command of "talk to PCD 100, mom". In some embodiments, this feature is limited to PCD to PCD conversations only, and can be enabled only if both PCDs 100 detect the presence of users at each other end of the link.

物語中継Story relay

図8を参照すると、例示的かつ非限定的実施形態の流れ図800が示されている。図示のように、段階802において、ユーザ/語り手は、PCD100が後で再生するためにいずれかの時点で物語を記録することができる。物語は、以下のいくつかの方法で記録することができる。   Referring to FIG. 8, a flowchart 800 of an exemplary and non-limiting embodiment is shown. As shown, at step 802, the user / narrator can record a story at any time for later playback by the PCD 100. The story can be recorded in several ways:

PCD100により:語り手は、再生に向けて記録するPCD100に物語を話す。   With PCD 100: The narrator tells the story to PCD 100 recording for playback.

仮想PCD100のウェブインタフェース又はAndroidアプリにより:ユーザは、仮想PCD100によって物語をウェブキャムに話すように案内される。ユーザは、これらのタイプの物語の中に豊富なアニメーション/効果音/背景音楽を組み込む機会も有する。   Via the virtual PCD 100 web interface or Android application: The user is guided by the virtual PCD 100 to speak a story to the web cam. Users also have the opportunity to incorporate rich animation / sound effects / background music into these types of stories.

物語が記録された状態で、PCD100は、段階804において、話し手によって設定されたスケジューリングプリファレンスに従って物語を再生することができる。聞き手には、スケジューリング時点で物語を聞くオプションが与えられることになり、聞き手は、物語を受信する、拒否する、又は再スケジューリングすることができる。   Once the story has been recorded, the PCD 100 can play the story at step 804 according to the scheduling preferences set by the speaker. The listener will be given the option to listen to the story at the time of scheduling, and the listener can receive, reject or reschedule the story.

実施形態では、語り中に、PCD100は、予め決められた頻度で聞き手の静止写真を撮影することができる。物語が完了した状態で、PCD100は、段階806において、語り手にメッセージを返送したいか否かを聞き手に尋ねることができる。ユーザが承諾した場合に、段階808において、PCD100は、「非同期マルチモーダルメッセージング」機能に入ってメッセージを編集し、話し手が物理PCD100を有する場合はそれに送ること又は仮想PCD100のウェブリンクを通して送ることのいずれかを行うことができる。聞き手は、物語を聞いている聞き手自身の写真を返信メッセージ内に組み込む機会を有することができる。   In an embodiment, during narrative, the PCD 100 can take a still picture of the listener at a predetermined frequency. Once the story is complete, the PCD 100 can ask the listener at step 806 if they would like to send back a message to the narrator. If the user accepts, at step 808, the PCD 100 enters the "Asynchronous Multimodal Messaging" function and edits the message, sending it if the talker has the physical PCD 100 or sending it through the virtual PCD 100 web link You can do either. The listener can have the opportunity to incorporate in the reply message the listener's own picture listening to the story.

写真/メモリメーカーPhoto / Memory maker

例示的かつ非限定的実施形態により、PCD100は、それ自体に事象に対して写真家の役割を受け持たせる写真/メモリメーカー機能を組み込むことができる。この機能には2つのモードが存在する。   By way of an illustrative and non-limiting embodiment, the PCD 100 can incorporate a photo / memory maker function that itself takes on the role of a photographer for events. There are two modes of this function.

PCDスナップモード   PCD snap mode

このモードでは、写真に入ろうと望むユーザらは、一緒に立って「PCD、私たちを撮って」と言うことができる。PCD100は了承し、次に「後に下がって」、「左に移動」のような手がかりを使用する言語手がかりを用いて人をカメラ画像内の中心に置く。人が適切に配置された状態で、PCD100は、人に動かないように伝え、次に、笑顔を引き出すためのいくつかのフレーズ(「チーズ」のような)を使用する。PCD100は、顔表情認識を用いて人々が笑っていないか否かを見分け、笑顔を引き出そうと試行し続けることができる。画像内の全てのユーザが笑っている時に、PCD100は、必要に応じて自動フォーカス及びフラッシュを用いて何枚かの写真を撮影することができる。   In this mode, users who want to enter a picture can stand together and say "PCD, take us." The PCD 100 acknowledges, and then centers the person in the camera image using linguistic cues that use cues such as “drop back later” and “move left”. With the person properly positioned, the PCD 100 tells the person to stay immobile and then uses some phrases (such as "cheese") to elicit a smile. The PCD 100 can use facial expression recognition to identify whether people are smiling or not, and can keep trying to pull out a smile. When all the users in the image are laughing, the PCD 100 can take some pictures using autofocus and flash as needed.

イベント写真家モード   Event photographer mode

このモードでは、ユーザは、特定の時点(又は必要に応じて「現時点」)で始まる予め決められた時間量の間に事象の写真を撮影するようにPCD100に命令することができる。PCD100は、音位置と顔認識との組合せを用いて部屋の中を見回し、ユーザ定義頻度で部屋の中にいる人々のスナップ写真を撮影する。生成された全ての写真をPCD100のメモリ内にローカルに格納することができる。   In this mode, the user can instruct the PCD 100 to take a picture of an event during a predetermined amount of time beginning at a particular point in time (or "currently" as needed). The PCD 100 uses a combination of sound location and face recognition to look around the room and take snapshots of people in the room at user defined frequencies. All photos generated can be stored locally in the memory of the PCD 100.

写真が生成された状態で、PCD100は、写真がPCD100のクラウドにアップロードされたことをユーザに通知することができる。この時点で、PCD100のアプリ又はウェブインタフェースを通して写真にアクセスすることができ、この場合に、仮想PCD100が、写真を削除、編集、整えることのような処理をユーザに案内することができる。次に、写真は、ユーザに電子メール送信されるか又はフェースブック(登録商標)等に掲示されることになる。このアプリケーションのこの「初期設定された」バージョンでは、写真は、例えば、下記で説明する「リビングレガシー(living legacy)」アプリの一部として月額料金で提供されている永久ストレージを用いたファイル格納/メタタグ付けによって予め決められた時間量の間PCD100のクラウド上に保持することしかできない場合がある。   Once the picture is generated, the PCD 100 can notify the user that the picture has been uploaded to the PCD 100 cloud. At this point, the photos can be accessed through the application or web interface of the PCD 100, in which case the virtual PCD 100 can guide the user through processes such as deleting, editing, and arranging the photos. Next, the picture will be emailed to the user or posted on Facebook (registered trademark) or the like. In this "defaulted" version of this application, photos are stored / saved using permanent storage provided for example as part of the "living legacy" application described below, at a monthly fee It may only be possible to keep on the cloud of the PCD 100 for a predetermined amount of time by metatagging.

従って、本明細書に説明するように、PCD100は、個人間の親交的機会を高めるのを助けるように作動させることができる。一実施形態では、親交的活動をもたらすために、アプリケーション又は「アプリ」をPCD100の1又は2以上のインタフェース構成要素にアクセスしてこれらを作動させるように構成するか又はその目的でPCD100上にインストールすることができる。例えば、PCD100は、実行された時にユーザと対話してPCD100が1枚又は2枚以上の写真を撮影して格納する段階を進める際に従う1又は2以上のパラメータを受信するように作動する工場インストール式アプリを含むことができる。例えば、ユーザは、PCD100に「このパーティにいる一人一人全員の写真を少なくとも1枚撮ってちょうだい」と言うことができる。従って、PCD100は、アクセス可能なゲストリストからパーティゲストのリストを編成して、各ゲストの写真を撮影する段階を進めることができる。一実施形態では、PCD100は静止状態に留まり、個々の人がそばを通った時にその人のIDに関して質問し、インスタンスを記録し、個人の写真を撮影することができる。別の実施形態では、PCD100はゲストと対話して、これらのゲストに、写真を撮影するためにゲストグループの前にPCD100を置くように依頼することができる。パーティの持続時間のような期間にわたって、PCD100は、親交的事象を文書に記録する段階を含む親交的ゴール/活動の達成においてユーザの望みに従ってパーティゲストの1枚又は2枚以上の写真を取得する。   Thus, as described herein, the PCD 100 can be activated to help enhance intimacy opportunities between individuals. In one embodiment, the application or “app” is configured to access and operate one or more interface components of the PCD 100 to provide intimate activity, or installed on the PCD 100 for that purpose. can do. For example, PCD 100 is a factory installation that operates to interact with the user when executed to receive one or more parameters according to which PCD 100 proceeds to take and store one or more photos. It can contain formula apps. For example, the user can tell the PCD 100, "Please take at least one photo of each and every person at this party." Thus, the PCD 100 can organize the list of party guests from the accessible guest list and proceed with taking a picture of each guest. In one embodiment, the PCD 100 may remain stationary, querying as to the person's ID as the individual passes by, record an instance, and take a picture of the individual. In another embodiment, the PCD 100 can interact with the guests and ask these guests to place the PCD 100 in front of the guest group to take a picture. Over a period such as the duration of the party, the PCD 100 acquires one or more photos of the party guest according to the user's wishes in achieving the intimate goal / activity including documenting the intimate event .

他の例示的実施形態により、PCD100は、親交的手がかりを読み取ってそれに反応することができる。例えば、PCD100は、ユーザを観察して別の人により優しく話す必要性を示すことができる。従って、PCD100は、言語コミュニケーションを出力する音量を下げることができる。同じく、PCD100は、抱き締められた時又は摩られた時に喜びを示す音を発することができる。他の実施形態では、PCD100は、親交的手がかりを発する又は他に出力することができる。例えば、PCD100は、ユーザが約束に遅れかけていることを感知して、ユーザの出掛ける速度を速めるために見かけ上いらいらした状態で前後に揺れることができる。   According to another exemplary embodiment, the PCD 100 can read and respond to intimate cues. For example, the PCD 100 can observe the user and indicate the need to speak more gently to another person. Therefore, the PCD 100 can reduce the volume at which the language communication is output. Also, the PCD 100 can emit a sound that indicates pleasure when it is hugged or worn. In other embodiments, the PCD 100 can emit or otherwise output intimacy cues. For example, the PCD 100 may swing back and forth in a seemingly frustrated state to sense the user's late appointment and speed up the user's outgoing speed.

対話型カレンダーInteractive calendar

例示的かつ非限定的実施形態により、PCD100は、仕事以外のユーザの事柄と家族の事柄とを捕捉するカレンダーシステムを有するように構成することができる。あらゆる家庭内でPCD100によって拡大家族全体が、全員のための単一の統一されたカレンダーを有することができるように、PCD100は、それ自体のユーザが許可を与えた場合にカレンダーを共有し、他のPCD100のカレンダーと統合することができる。   By way of an illustrative and non-limiting embodiment, the PCD 100 can be configured to have a calendar system that captures user and non-work matters. The PCD 100 shares the calendar when its own user gives permission so that the entire family can have a single unified calendar for all by PCD 100 in any home It can be integrated with PCD 100 Calendar.

PCD100のカレンダー内の項目は、適切な情報、最初は、約束に関する家族メンバの名称、家族メンバが約束/事象に対してどのように感じているか、及び日付又は日に独特の情報(休日のような)、などでメタタグ付けすることができる。入力することができる事象のタイプは、起床時間、食事時間、約束、リマインダー、電話通話、家事/庭仕事などを含むがこれらに限定されない。全ての事象を特定の時間に設定する必要があるわけではなく、事象は、例えば、「明日の朝最初に私を見た時に傘を荷物に入れることを通知して」のようにセンサ入力に基づいて断定してスケジューリングすることができる。   Items in the PCD 100's calendar include the appropriate information, initially the family member's name for the appointment, how the family member feels for the appointment / event, and the date or date unique information (like a holiday) Can be meta tagged. Types of events that can be entered include, but are not limited to, wake up time, meal times, appointments, reminders, phone calls, housework / garden work, etc. Not all events need to be set to a specific time, events can be sent to the sensor input, for example, "notify that you put an umbrella in the package the first time you see me tomorrow" It is possible to make a decision based on scheduling.

PCD100のカレンダー内への項目の入力は、いくつかの方法で達成することができる。一実施形態は、Androidアプリ又はウェブインタフェースを利用し、この場合に、仮想PCD100がユーザに処理を案内する。この時点で、顔文字又は他のインタフェースを用いてユーザが約束/事象に対してどのように感じているかをPCD100に伝えることができる。このモードでのカレンダーのグラフィック描写は、Outlookと類似とすることができ、ユーザが他のネットワークメンバの事象/約束を見ることを可能にする。PCD100のカレンダーは、Outlookがこの点に関して行うことと類似の約束のバッティング回避のための機能を有することができる。   Entry of items into the calendar of the PCD 100 can be accomplished in several ways. One embodiment utilizes an Android application or web interface, in which case the virtual PCD 100 guides the user through the process. At this point, an emoticon or other interface can be used to tell the PCD 100 how the user feels to the appointment / event. The graphical depiction of the calendar in this mode can be similar to Outlook, allowing the user to view events / promises of other network members. The calendar of the PCD 100 can have features for batting avoidance that promises similar to what Outlook does in this regard.

一部の実施形態では、ユーザは、自然言語インタフェースを通してカレンダーに項目を追加することができる場合がある(「PCD、私は火曜日の午後1時に歯医者の予約があるので、それを30分前に通知して」又は「PCD、今夜の夕食は5時30分だ」)。ユーザの感覚は、ユーザによって伝えられない場合はPCD100が後に尋ねることができ(例えば、「その約束に対してどう思う?」)、適切な感情的メタタグ付けを可能にする。   In some embodiments, the user may be able to add an item to the calendar through the natural language interface ("PCD, I have a appointment for dentists at 1:00 pm on Tuesday, so 30 minutes before that Inform "or" PCD, tonight's dinner is 5:30 "). The user's senses can be later asked by the PCD 100 if not conveyed by the user (e.g., "What do you think of that promise?") To allow for proper emotional metatagging.

事象リマインダーが始動された状態で、PCD100は、2つの方法の一方でリマインダーを伝えることができる。リマインダーが設定されているユーザがPCD100の環境に存在する場合に、PCD100は、言語リマインダー、アニメーション、顔の表情等が揃ったリマインダーを自体で直接伝える。顔の表情の感情内容は、顔文字又はユーザの口頭入力などを通して事象のメタタグ付けから導出することができる。ユーザの挙動は、既知の状況から導出することができる(例えば、ユーザは、目覚める時には必ず眠たいか又は食事時間には必ず空腹である)。様々な事象に対して状況的に適切な表現は、コンテンツを反復的でなく面白い状態に保つために定期的に生成することによって更新することができる。   Once an event reminder has been triggered, the PCD 100 can communicate the reminder in one of two ways. When the user to which the reminder is set is present in the environment of the PCD 100, the PCD 100 directly conveys a reminder in which a language reminder, an animation, a facial expression, etc. are aligned. Emotional content of facial expressions can be derived from metatagging of events, such as through emoticons or user verbal input. The behavior of the user can be derived from the known situation (e.g. the user is always sleepy when waking up or always hungry at mealtimes). Expressions that are contextually relevant to various events can be updated by generating periodically to keep the content in a repetitive, interesting state.

リマインダーが発生しているユーザがPCD100と物理的に一緒に存在しない場合に、PCD100は、ユーザに呼び掛けることができる。そのような事例でユーザがこれに応答しない場合に、PCD100は、それ自体の電話でリマインダーをテキスト送信することができる。   The PCD 100 can call upon the user if the user experiencing the reminder is not physically present with the PCD 100. If the user does not respond to this in such a case, the PCD 100 can text reminders on its own phone.

リストマネージャList manager

例示的かつ非限定的実施形態により、PCD100は、リストマネージャ機能を有するように構成することができる。この機能により、PCD100は、ユーザの要求を受けて、ユーザが買い物に出かけた後にユーザにテキスト送信することができるやることリスト又は買い物リストを生成することができる。この機能は、簡単なタッチインタフェースを通して、又は理想的には自然言語インタフェースを通してユーザが始動することができる。ユーザは、生成されるリストのタイプ(例えば、「食料雑貨品」、「衣服」、「やること」、又は特定のタイプの店又は店名)を指定することができる。PCD100は、最初にリスト上に載せるものを尋ねることができ、ユーザは、話し言葉を通して応答してPCD100に品物をリストに追加させることができる。いずれか後の時点で、ユーザは、PCD100にリストに他の項目を追加するように依頼することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have a list manager function. This feature allows the PCD 100 to generate a do-it-yourself or shopping list that can be text-sent to the user after the user goes out shopping, upon user request. This feature can be launched by the user through a simple touch interface, or ideally through a natural language interface. The user may specify the type of list to be generated (e.g. "grocery", "garment", "to do", or a specific type of store or store name). The PCD 100 can first ask what to put on the list, and the user can respond through speech to have the PCD 100 add items to the list. At any later time, the user can ask the PCD 100 to add other items to the list.

一部の実施形態により、PCD100は、日常会話を構文解析して項目をリストに追加されることを決定することができる。例えば、部屋の中にいる誰かが「牛乳を切らしている」と言った場合に、PCD100は、牛乳を食料雑貨品リストに自動的に追加することができる。   According to some embodiments, the PCD 100 can parse daily conversations to determine that items will be added to the list. For example, if someone in the room says "cut milk", the PCD 100 can automatically add milk to the grocery list.

ユーザは、PCD100によって関連のリストが維持されている店に出掛ける際に、店で買い物している時に適切なリストが利用可能になるようにPCD100にこのリストをテキスト送信するように要求することができる。更に、ユーザは、PCD100から離れているが、店の近くにいる場合に、Android又はウェブアプリを通してリストを送信するように要求することができる。   The user may request the PCD 100 to text-list this list so that the appropriate list is available when shopping at the store when going to a store where the related list is maintained by the PCD 100. it can. In addition, the user can request to send the list through Android or a web app while away from the PCD 100 but near the store.

ユーザが戻った時(すなわち、ユーザがリストをテキスト送信するように要求した後に最初にPCD100がこのユーザを見た時)に、PCD100は、買い物がどのようであったか/ユーザがリストにあった全てを見つけたか否かを尋ねることができる。「イエス」の場合に、PCD100は、リストを消去し、それに追加される他の項目を待つ。「ノー」の場合に、PCD100は、購入されなかったものに対して尋ね、リストからそれ以外の全ての項目を消去する。   When the user returned (i.e., when the PCD 100 first saw this user after requesting the user to text the list), the PCD 100 asked how the shopping was / all the users were in the list You can ask if you have found. If "yes", the PCD 100 clears the list and waits for other items to be added to it. If "no", the PCD 100 will ask for those that were not purchased and will delete all other items from the list.

やることリストの場合に、ユーザは、PCD100に「私はXをした」と伝えることができ、その項目を格納されたリストから削除することができる。   In the case of the to-do list, the user can tell the PCD 100 "I did X" and can delete the item from the stored list.

ユーザは、他の誰かのPCD生成リストをテキスト送信するように要求することができる(適切な許可を待つ間)。例えば、ある大人が高齢の親にPCD100を与えた場合に、この人は、自分の買い物をしながら親の食料雑貨品を買うことができるように親のPCD100によって生成された買い物リストを自分に送信するようにPCD100に要求すること、又は訪問前にいずれかの必要なツールを有することを保証するために母親の「やること」リストをPCD100に見出すことなどができる。   The user can request to text transmit someone else's PCD generated list (while waiting for the appropriate permissions). For example, if an adult gives a PCD 100 to an elderly parent, this person can use the shopping list generated by the parent's PCD 100 to allow the parent's groceries to be purchased while shopping for himself. A request can be made to the PCD 100 to send, or a mother's "doing" list can be found in the PCD 100, etc. to ensure that it has any necessary tools before visiting.

内情通PCDInternal love PCD

例示的かつ非限定的実施形態により、PCD100は、「内情通」機能を有するように構成することができる。この機能により、PCD100は、ユーザが興味のあるニュース、天気、スポーツ等に対してユーザに最新情報を提供し続けることができる。この機能は、簡単なタッチインタフェースを用いて、又は理想的には自然言語指令(例えば、「PCD100、私に昨夜の野球のスコアを教えて」)を用いて要求時にアクセス可能である。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have an "intimate" function. This function allows the PCD 100 to keep the user updated with news, weather, sports, etc. that the user is interested in. This feature can be accessed on demand using a simple touch interface, or ideally using natural language commands (e.g., "tell me the score for last night's baseball" with PCD 100).

ユーザは、ある一定の時刻に「情報セッション」を開設する機能を有することができる。この開設は、ウェブインタフェース又はモバイルアプリインタフェースを通して行うことができる。この機能を用いて、PCD100をある一定の時刻にある一定の情報を伝達するようにスケジューリングすることができる。例えば、ユーザは、目覚めた後にニュースを提供するようにPCD100をプログラムすることができる。ユーザが「イエス」と言った場合に、PCD100は、ユーザが「朝のミーティング」で要求した情報を配信することができる。これらの情報は、ある一定のチームの成績/ニュース、天気、主要紙からのヘッドライン概説などを含むことができる。PCD100は、これらの項目の概要で始めることができ、いずれかの時点で、ユーザは、特定の項目に対してより深く知ることを求めることができ、PCD100は、そのニュース項目の全体を朗読することになる。   A user can have the ability to open an "information session" at a certain time. This establishment can be done through a web interface or a mobile application interface. This function can be used to schedule the PCD 100 to communicate certain information at certain times. For example, the user can program the PCD 100 to provide news after waking up. If the user says "yes", the PCD 100 can deliver the information that the user requested in the "morning meeting". These information may include certain team scores / news, weather, headline overviews from major papers, etc. The PCD 100 can start with an overview of these items, and at some point the user can ask to know more about a particular item, and the PCD 100 reads the entire news item It will be.

ニュース項目は、「PCD化」することができる。特に、PCD100は、それ自体が朗読しているニュースに議論及び反応を与えることができる。そのような反応は、AI生成の結果として状況的に適切なものとすることができる。   News items can be "PCD-ized". In particular, the PCD 100 can provide arguments and responses to the news that it is reading aloud. Such reactions can be made contextually appropriate as a result of AI formation.

気分、活動、環境モニタMood, activity, environmental monitor

例示的かつ非限定的実施形態により、PCD100は、それに対するアプリケーションの形態で気分、活動、及び環境のモニタ機能を有するように構成することができる。このアプリケーションは、PCD100を例えば高齢の親のために既に購入した人が購入することができる。購入時に、ウェブインタフェース又はAndroidアプリインタフェースを用いてモニタの構成及びステータスにアクセス可能である。仮想PCD100は、ユーザにこの処理を案内することができる。モニタすることができるもののいくつかの例は、(1)PCD100がある部屋/家内の周囲温度と、(2)活動(1時間/1日に人が通りかかった回数、人を見ることがなかった時間数のような)と、(3)センサからのフィードバック(顔の表情、笑いの頻度、ある一定のワード/フレーズの使用頻度のような)に基づく選択物の有限集合のうちの1つとして表された部屋の中にいる人の気分と、(4)薬剤を摂取したか否かを尋ねること又は薬剤が摂取される場所を明確に見ることのいずれかによってPCD100がモニタすることができる薬剤投与法の遵守とを含む。   According to an exemplary non-limiting embodiment, the PCD 100 can be configured to have mood, activity, and environmental monitoring capabilities in the form of an application thereto. This application can be purchased by those who have already purchased the PCD 100, for example for an elderly parent. At the time of purchase, the configuration and status of the monitor can be accessed using the web interface or the Android application interface. The virtual PCD 100 can guide the user to this process. Some examples of what can be monitored are: (1) ambient temperature in the room / house where the PCD 100 is, and (2) activity (the number of times the person passed by 1 hour / day, did not see the person As one of a finite set of choices based on the number of hours) and (3) sensor feedback (such as facial expressions, frequency of laughs, frequency of use of certain words / phrases) Drugs that the PCD 100 can monitor either by feeling the person in the room being presented and (4) asking whether they have taken the drug or by clearly viewing where the drug is taken And compliance with the administration method.

設定されている場合があるモニタのステータスは、アプリ又はウェブインタフェースを通して見ることができ、又は警告レベルを超えた(例えば、家の中が寒すぎて閾値時間量内に誰も通りかからなかった)場合はPCD100がモニタしているユーザにテキストを送ることができる。更に、PCD100は、モニタしているユーザがアプリ又はウェブインタフェースを通して設定したある一定の条件が満たされている場合にユーザに自律的に教えることができ、例えば、寒すぎる場合に身震いし、暖房を付けるかを尋ねる。   The status of the monitor, which may be set, can be viewed through the app or the web interface, or exceeded a warning level (e.g. the house was too cold to let anyone pass by within the threshold amount of time) 2.) The PCD 100 can send text to the monitored user. In addition, the PCD 100 can autonomously teach the user if the monitoring user is satisfied certain conditions set through the application or web interface, eg shaking if it is too cold, heating and Ask if you want to put.

ムードリングMood ring

例示的かつ非限定的実施形態により、PCD100は、ムードリング機能を有するように構成することができる。ムードリング機能は、PCD100のセンサを利用してユーザの気分/感情状態のインジケータとして機能し、更に、インフルーエンサーとしての役割をももたらすことができる。この機能は、ユーザの感情状態の実時間ログを維持することができる。このインジケータは、顔の表情認識、体温、眼球の移動、活動のレベル及びタイプ、発話韻律、キーワードの使用に基づいて、更に、ユーザにどのように感じているかをPCD100が尋ねることのような簡単な技術にも基づく場合がある。PCD100は、それ自体の解釈を補正し、時間が経つ時により的確な感情モデルを生成するためにユーザ検証技術(尋問のような)を試みることになる。この技術は、PCD100のクラウドからの「クラウドソーシング」学習データ(検証されたセンサデータ<―>他のユーザからの感情状態マッピング)を含むことができる。図9を参照すると、例示的かつ非限定的実施形態の流れ図900が例示されている。段階902において、PCD100は、ユーザの身体/顔/発話の詳細を解釈してユーザの感情状態を決定する。時間が経つ時に、PCD100は、ユーザの感情状態を決定するのにユーザの身体/顔/発話の詳細を正確に解釈することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have a mood ring function. The mood ring function may function as an indicator of the user's mood / emotional state using the sensor of the PCD 100, and may also provide a role as an influencer. This feature can maintain a real-time log of the user's emotional state. This indicator is based on facial expression recognition of the face, temperature, movement of the eye, activity level and type, speech prosody, use of keywords, etc. Furthermore, it is easy to ask the user how the user feels. May also be based on The PCD 100 will correct its own interpretation and will attempt user verification techniques (such as questioning) to generate a more accurate emotion model over time. This technique can include “crowd sourcing” training data (verified sensor data <-> emotional state mapping from other users) from the cloud of the PCD 100. Referring to FIG. 9, a flowchart 900 of an exemplary and non-limiting embodiment is illustrated. At step 902, the PCD 100 interprets the user's body / face / utterance details to determine the user's emotional state. As time passes, the PCD 100 can accurately interpret the user's body / face / speech details to determine the user's emotional state.

PCD100は、ユーザの感情状態を決定した状態で、段階904においてそれを他者に報告する。この報告は、いくつかの手法で行うことができる。同じ場所(例えば、病院環境内の)にいる介護者に対して、介護者が介護中の人が悲しんでいた/喜んでいた/怒っていた/のようなことを一目で理解し、従って、介入する(又はしない)ことができるように、PCD100は、それ自体が属する人の気分を照明/顔のグラフィック/姿勢の組合せを用いて示すことができる。   Once the PCD 100 has determined the emotional state of the user, it reports it to others at step 904. This report can be made in several ways. Understand at a glance that the carer was sad / pleased / angry / such as to a carer who is in the same place (eg in a hospital environment), so To be able to intervene (or not), the PCD 100 can indicate the mood of the person to which it belongs using a combination of lighting / face graphics / posture.

同じ場所にいない介護者(例えば、1人で住み続ける高齢の親の世話をしている大人)に対しては、PCD100は、どのデータをどの期間にわたって提供するかに関してカスタム化可能なモバイル/ウェブアプリを通してこの感情状態データを提供することができる。   For carers who are not in the same place (eg, adults who are caring for older parents who live alone), PCD 100 can be customized mobile / web as to what data will be provided over which time period This emotional state data can be provided through the app.

ユーザの気分のこの理解が確立された状態で、PCD100は、段階906においてこの気分の変化を試み、それをもたらす。この試みは自律的に行うことができ、PCD100は、物語/冗談を話す、同情する、ゲームで遊ぶ、感情の反映のような処理を通してユーザの感情状態の正の変化を引き起こそうと試みる。これに代えて、介護者は、主ユーザが負の感情状態にあることをPCD100によって警告された時に、この特定の関連において負の感情を軽減することになるPCD100が知っていると思われるある一定の事柄を言う/試みる/行うようにPCD100に命令することができる。   With this understanding of the user's mood established, the PCD 100 attempts and causes this mood change at step 906. This attempt can be made autonomously, and the PCD 100 attempts to trigger positive changes in the user's emotional state through processes such as story / joking, sympathy, playing games, reflection of emotions. Alternatively, the caregiver may be aware that PCD 100 will reduce negative emotions in this particular context when alerted by PCD 100 that the primary user is in a negative emotional state The PCD 100 can be instructed to say / try / do certain things.

夜間照明Night lighting

例示的かつ非限定的実施形態により、PCD100は、夜間照明機能を有するように構成することができる。この機能により、PCD100は、ユーザが真夜中に目覚めた場合にアニメーション付き夜間照明として機能することができる。正しい条件が満たされた場合(例えば、時間が真夜中である場合に、周囲光が非常に弱い場合に、長時間にわたって静けさ及び静寂又はいびきがあり、次に、突然に移動又は発声がある場合)には、PCD100は静かに起動し、確立された色でポンポンを照明し、時にユーザが大丈夫であるか否かを尋ねることができる。一部の実施形態では、PCD100は、ユーザを落ち着かせ、睡眠状態に戻すのに役立たせることができる活動又はアプリを提案することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have a night lighting feature. This feature allows the PCD 100 to function as an animated night light when the user wakes up at midnight. If the correct conditions are met (for example, if the time is midnight, if the ambient light is very weak, there is stillness and silence or snoring for an extended period of time, then there is sudden movement or vocalization) To do so, the PCD 100 can be quietly activated and illuminate the pom-poms with an established color and sometimes ask if the user is fine. In some embodiments, the PCD 100 can suggest activities or apps that can help calm the user and bring it back to sleep.

ランダム愛嬌行為Random caress act

例示的かつ非限定的実施形態により、PCD100は、ランダム愛嬌行為機能を有するように構成することができる。この機能により、PCD100は、1日中様々な時点で楽しいか又は刺激的であるように設計された方式で何かを言う/質問を投げ掛けるように作動させることができる。一実施形態では、この機能は、PCD100との自由形態の自然言語会話を含まず、代わりに思考/会話に対するネタとして面白い、可愛い、可笑しいのようなことを言うPCD100の機能を含む。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have a random caress feature. This feature allows the PCD 100 to be activated to speak / query in a manner designed to be entertaining or exciting at various times throughout the day. In one embodiment, this feature does not include free-form natural language conversations with the PCD 100, but instead includes features of the PCD 100 that say something interesting, cute, funny, etc. as a hint to thinking / conversation.

一部の実施形態では、PCD100は、その中にあるか又は外部に提供される、生成される、維持される、時々に更新されることわざ、フレーズ、冗談のようなデータベースにアクセス可能である。データは、例えば、天気、スポーツ、ニュースなど、RSSフィード、他のPCD100からのクラウドソーシング、及びユーザプロファイルから利用可能である。これらのビットをメタタグ付けし、これらのメタタグを個々のPCD100のユーザプリファレンスと比較する処理を通して、適切な事実又はことわざを全ての個々のPCD100に送ることができる。   In some embodiments, the PCD 100 has access to a database, such as generated, maintained, occasionally updated proverbs, phrases, jokes, which may be within or provided externally. Data are available from, for example, weather, sports, news, etc., RSS feeds, crowdsourcing from other PCDs 100, and user profiles. Appropriate facts or proverbs can be sent to all individual PCDs 100 through the process of metataging these bits and comparing these metatags to the individual PCD 100 user preferences.

PCD100は、ランダム愛嬌作動を配信することを決定すると、クラウドに接続され、ユーザIDなどを提供し、データリポジトリからのビットを要求することができる。上述のように、サーバは、当該ユーザに配信するのに最良のビットを決定するために、事実をユーザプリファレンス、日/日付/時間、ユーザの自宅地域内の天気等と照合することになる。   When the PCD 100 decides to deliver a random Ehime Act, it can be connected to the cloud, provide a user ID etc, and request a bit from the data repository. As mentioned above, the server will match facts to user preferences, day / date / time, weather within the user's home area, etc. to determine the best bit to deliver to the user .

一部の実施形態では、この機能は、簡単な質問の形態を取るように機能することができ、この場合に、質問は、返答の認識を容易にするほど十分に具体的であり、同時にそのような質問への返答は、当該ユーザのプロファイルを構成するのを助けるために使用することができ、それによってより適合性の高いビットがユーザのPCD100に適時に配信されることを保証する。他の実施形態では、ユーザは、簡単なタッチインタフェース又は自然言語インタフェースを通して愛嬌作動を特定的に要求することができる。一部の実施形態では、この機能は、「好き/嫌い」ユーザフィードバック募集を用いて、アルゴリズムがこの特定のユーザに対して興味のあるビットをより的確に提供することを可能にするようにすることができる。   In some embodiments, this feature can function to take the form of a simple question, in which case the question is sufficiently specific to facilitate recognition of the response, and at the same time Responses to such questions can be used to help construct the profile of the user, thereby ensuring that more relevant bits are delivered to the user's PCD 100 in a timely manner. In other embodiments, the user can specifically request caress operation through a simple touch interface or a natural language interface. In some embodiments, this feature allows the algorithm to better provide the bits of interest to this particular user, using a "like / dislike" user feedback solicitation be able to.

DJ PCDDJ PCD

例示的かつ非限定的実施形態により、PCD100は、DJ機能を有するように構成することができる。この機能により、PCD100は、音楽演奏、ダンス演技、及びPCD100からの提案を特徴として実施するように作動させることができる。この機能は、いくつかのモードで作動させることができる。そのようなモード又は機能は、簡単なタッチインタフェース(開始から望ましいアクションまで2回よりも多くないビート)を通じて、又は他の実施形態では自然言語インタフェースを通してアクセスし、制御することができる。音楽は、ローカルに格納するか又は外部ソースから受信することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have DJ functionality. This feature allows the PCD 100 to operate to feature music performance, dance performance, and suggestions from the PCD 100. This feature can be activated in several modes. Such modes or functions can be accessed and controlled through a simple touch interface (no more than two beats from the start to the desired action) or in other embodiments through a natural language interface. Music can be stored locally or received from an external source.

PCD100は、この機能を用いて曲を演奏する時に、曲にダンスアニメーション、照明/色表示、顔の表情などを添えるためにビート追跡を使用することができる。PCD100の選曲は、以下のモードのような選択されるモードに基づくことができる。   When playing a song using this function, the PCD 100 can use beat tracking to attach dance animation, lighting / color display, facial expressions and the like to the song. The song selection of the PCD 100 can be based on the selected mode, such as the following modes.

ジュークボックスモード   Jukebox mode

このモードでは、PCD100は、ユーザが選択した特定の曲、アーティスト、又はアルバムを演奏することができる。   In this mode, the PCD 100 can play a particular song, artist or album selected by the user.

ムードボックスモード   Mood box mode

このモードでは、ユーザがある一定のムードの曲を要求する。PCD100は、曲を選択するのにムードメタタグを使用することができる。ユーザは、Pandoraと同じく曲に関するフィードバックを与えることができ、PCD100が後の選択に対する重み付けを調整することを可能にする。   In this mode, the user requests a certain mood song. The PCD 100 can use mood meta tags to select songs. The user can provide feedback on songs as well as Pandora, allowing the PCD 100 to adjust the weighting for later selections.

周囲音楽モード   Ambient music mode

ユーザがこのモードを選択した状態で、PCD100は、部屋の中に背景雰囲気を生成するためにウェブからの情報(日付、曜日、時刻、カレンダー事象、外の天気のような)、並びにセンサ102、104、106、108、112からの情報(例えば、部屋の中にいる人々の人数/活動レベル、ノイズレベルのような)を用いて演奏される曲及びそれを演奏する際の音量を選択する。ユーザは、音量を制御するか又は曲を飛ばす機能を有することができる。更に、ユーザは、周囲音楽モードを離れることなく何時でも特定の曲を要求することができる。要求された曲は演奏することができ、このユーザ選択は(音量変更の場合と同じく)後の選択の重み付けに使用することができる。   With the user selecting this mode, the PCD 100 can generate information from the web (such as date, day of the week, time of day, calendar events, outside weather), as well as the sensor 102, to create a background atmosphere in the room. The information from 104, 106, 108, 112 (such as the number of people in the room / activity level, noise level, etc.) is used to select the song to be played and the volume at which to play it. The user can have the ability to control the volume or skip songs. Furthermore, the user can request a particular song at any time without leaving the ambient music mode. The requested song can be played, and this user selection can be used to weight the later selection (as in the case of volume change).

PCD好み   PCD preference

一部の実施形態では、ユーザは、このモードに直接にアクセス可能であるが(「どのタイプの音楽が好きなんだい、PCD?」)、PCD100は、曲のストリームの中に1又は2以上の選択曲を時々に差し挟むか、又はジュークボックスモード又はムードボックスモードの開始時に選択曲を演奏しようと試みることができる(周囲音楽モードでは、PCD100はこれを行うことができない)。PCDの選曲は、作曲者又は例えば他のPCDからのクラウドソーシング曲選択によって達成されたPCD100,Inc.からの定期更新リストに基づく場合がある。PCD100好みはまた、ユーザのネットワーク内の一定のPCD100から特定の曲をプルすることができ、例えば、PCD100は、「あなたの娘さんは、いつもこの曲をリクエストしています!」と告知し、次に、娘の好みの曲を演奏することができる。   In some embodiments, while the user has direct access to this mode ("Which type of music do you like, PCD?"), PCD 100 may have one or more of the songs in the stream The selected song can sometimes be inserted or attempted to play the selected song at the start of the jukebox or moodbox mode (in ambient music mode, the PCD 100 can not do this). The song selection of the PCD is achieved by the PCD 100, Inc., achieved by composer or crowdsourcing song selection from eg other PCDs. May be based on a regular update list from PCD 100 preferences can also pull certain songs from certain PCDs 100 in the user's network, for example, PCD 100 announces, "Your daughter always requests this song!" You can then play your favorite song.

踊るPCDDancing PCD

例示的かつ非限定的実施形態により、いずれかのモードで曲を演奏した後に、PCD100は、曲がどうであったかを尋ねることができ(更にユーザの返答に依存して嬉しいか又は悲しいと相応に応答することができ)、又はユーザがどれ程上手に踊ったかに関するスコアをユーザに提供することができる。PCD100は、ユーザが踊っている写真を捕捉してこれらの写真をユーザのPCDプロファイル、ソーシャルメディアサイトにアップロードすること又はこれらの写真を電子メールすることを提案することができる。様々な機能モードは、以下のモードを含む。   According to an exemplary and non-limiting embodiment, after playing the song in any mode, the PCD 100 can ask what the song was (additionally depending on the user's response or being sad accordingly A response can be given) or a score can be provided to the user as to how well the user danced. The PCD 100 may capture the photos the user is dancing and suggest uploading these photos to the user's PCD profile, social media site or emailing these photos. The various function modes include the following modes:

貴方をコピーCopy you

このモードでは、PCD100は、演奏する曲を選択し、次に、音位置/顔/骨格追跡を用いて視覚/RGBD視野内でユーザを取得する。ユーザが音楽に合わせて一緒に踊る時に、PCD100は、ユーザの踊りを模倣しようと試みることができる。ユーザが音楽とリズムを合わせ損ねた場合に、音楽が遅くなるか又は速くなることができる。曲が終わった時に、PCD100は、ユーザの移動をコピーするのにどれ程上手に演技したかを尋ねること、又はユーザがどれ程上手にビートを合わせたかに関するスコアをユーザに提供することができる。PCD100はまた、ユーザが踊っている写真を捕捉してこれらの写真をユーザのPCDプロファイル、ソーシャルメディアサイトにアップロードすること又はこれらの写真をユーザに電子メールすることを提案することができる。   In this mode, the PCD 100 selects the song to play, and then uses sound position / face / skeleton tracking to acquire the user within the visual / RGBD field of view. When the user dances together to music, the PCD 100 can attempt to mimic the user's dance. Music can be slow or fast if the user fails to match the rhythm with the music. When the song is over, the PCD 100 can ask the user how well he played the copy of the user's movement, or provide the user with a score as to how well the user beats. The PCD 100 can also suggest capturing photos that the user is dancing and uploading these photos to the user's PCD profile, social media site or emailing the photos to the user.

PCDをコピー   Copy PCD

このモードでは、PCD100が踊り、ユーザが踊りを模倣する。ここでもまた、ユーザが良い演技を行わなかった場合は音楽の再生が影響を受ける。一部の実施形態では、別個の画面が、ユーザとPCD100の両方に対する人間の踊り手が模倣するのを表示する。ユーザとPCD100の両方が一緒に踊りを踊り、次に、PCD100が、それ自体とユーザの両方を採点する。   In this mode, the PCD 100 dances and the user imitates the dance. Again, music playback is affected if the user does not perform well. In some embodiments, a separate screen displays what the human dancer for both the user and the PCD 100 imitates. Both the user and the PCD 100 dance together, and then the PCD 100 scores both itself and the user.

一緒に踊る   Dancing together

このモードでは、ユーザが、ラジオ、iPod(登録商標)、歌、鼻歌等からの音楽を流し、PCD100が一緒に踊ろうと試み、終わった時にどれ程上手に踊ったかを尋ねる。   In this mode, the user plays music from the radio, iPod®, songs, hymns, etc. and asks how well the PCD 100 tried to dance together and danced when finished.

物語演技/アニメ化Story Acting / Animation

例示的かつ非限定的実施形態により、PCD100は、物語演技/アニメ化機能を有するように構成することができる。この機能により、PCD100は、ユーザがPCD100との対話型実演に向けて劇を購入することを可能にするように作動させることができる。図10を参照すると、例示的かつ非限定的実施形態の流れ図1000が示されている。段階1002において、劇を即座に購入してユーザのPCDクラウドプロファイルに格納することができ、又はNetflix方式で賃借することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to have narrative performance / animation functionality. This feature allows the PCD 100 to operate to allow the user to purchase plays for interactive demonstrations with the PCD 100. Referring to FIG. 10, a flowchart 1000 of an exemplary non-limiting embodiment is shown. At step 1002, the play may be purchased immediately and stored in the user's PCD cloud profile, or may be leased on a Netflix basis.

劇/情景の購入は、例えば、Androidアプリ又はウェブインタフェースを通して行うことができ、この場合に、仮想PCD100は、ユーザに購入及びインストールの処理を案内することができる。一部の実施形態では、段階1004において、ユーザは、実演したい劇/情景を選択することができる。この選択、並びに使用時のこの機能の制御は、簡単なタッチインタフェース(PCD100の眼又は身体のいずれか)又は自然言語インタフェースを通して達成することができる。ユーザが劇を選択した状態で、段階1006において、PCD100は、ユーザがリハーサル又は実演のいずれを行いたいかを尋ねることができる。   The play / scenery purchase can be made, for example, through an Android application or web interface, in which case the virtual PCD 100 can guide the user through the process of purchase and installation. In some embodiments, at stage 1004, the user may select the play / scenery that they want to demonstrate. This selection, as well as control of this function in use, can be accomplished through a simple touch interface (either the eye or body of PCD 100) or a natural language interface. Once the user has selected the play, in step 1006, the PCD 100 can ask whether the user wants to rehearse or perform.

選択されたモードに関係なく、段階1008において、PCD100は、劇の中でどの登場人物になりたいかをユーザに尋ねることによって始めることができる。この初回の後に、PCD100は、この劇が再度選択される場合にこの選択を見ることになり、ユーザは何時でも変更することができる。   Regardless of the mode selected, in step 1008, the PCD 100 can begin by asking the user which character he wants to be in the play. After this initial time, the PCD 100 will see this selection when the play is selected again and the user can change at any time.

リハーサルモード   Rehearsal mode

ユーザがリハーサルモードに入った状態で、段階1010において、PCD100は、ユーザをこの劇に習熟させるためにそれを実演することを提案することができる。既に習熟している場合に、ユーザはこの段階を省略することができる。PCD100が劇を実演することをユーザが強く望む場合に、段階1012において、PCD100は、ユーザが読み合わせを行う時にユーザの役に対する台詞を強調表示することができる。   With the user in rehearsal mode, at step 1010, the PCD 100 can suggest to demonstrate it to the user to familiarize themselves with the play. If already familiar with, the user can skip this stage. If the user strongly desires the PCD 100 to perform a play, then in step 1012, the PCD 100 can highlight a line for the user's role as the user performs a read-in.

この読み合わせに続いて、段階1014において、PCD100は、ユーザに台詞を教え始めることができる。各台詞に関して、PCD100は、台詞付け及び台詞を告知し、次に、ユーザが台詞を暗唱する間にタッチ画面104上にワードを表示することができる。PCD100は、発話認識を用いてユーザが正しいか否かを決定することができ、ユーザが台詞を正しく繰り返すまで試行し続けることになる。次に、PCD100は、台詞付けをユーザに提供して台詞を繰り返させることができ、ユーザが台詞付けに対して適切に台詞を繰り返すことができるまで再度試行する。その後にPCD100は次の台詞に移ることができる。   Following this reading, in step 1014, the PCD 100 can begin teaching the user a line. For each dialogue, the PCD 100 can announce the dialogue and the dialogue, and then display a word on the touch screen 104 while the user recurs the dialogue. The PCD 100 can use speech recognition to determine if the user is correct and will keep trying until the user repeats the dialogue correctly. Next, the PCD 100 can provide the user with a dialog and cause the user to repeat the dialog, and will try again until the user can repeat the dialog appropriately for the dialog. The PCD 100 can then move on to the next line.

ユーザが全ての台詞を習得した状態で、段階1016において、PCD100は、全ての台詞付けを用いて通し稽古を行うことになり、掛け合いの中での適正な台詞を検査し、必要に応じてユーザに台詞を教える。   Once the user has acquired all the lines, in step 1016, the PCD 100 will practice through all the lines, checking the appropriate lines in the interrogation and, if necessary, the user Teach the line.

台詞付けは、最初にグラフィックの形態を取ることができ、眼が台詞を示唆する形状に変態することに注意されたい。これは、台詞付けでの最初の試みとすることができ、ユーザが依然として台詞を覚えることができない場合に、PCD100は言語台詞付けに進行することができる。   It should be noted that the speech may take the form of a graphic first, the eye transforming into a shape suggestive of the speech. This can be the first attempt at adding a speech, and the PCD 100 can proceed to speech with speech if the user is still unable to remember the speech.

実演モード   Demonstration mode

ユーザが演じたい登場人物に対する全ての台詞を覚えた状態で、段階1018において、実演モードに入ることができる。このモードでは、PCD100は、ユーザに自分の台詞を言わせるための時間を取り、ユーザがつかえた又は忘れた場合は台詞を教えながら劇の完全な実演を行うことになる。PCD100は、この実演中、更に、ユーザが発する台詞の間にも完全な効果音、背景音楽、アニメーション、及び照明効果を使用することになる。一部の実施形態では、劇が実演された後に、PCD100は、この劇の漫画/アニメ化バージョンを生成することができ、ユーザの台詞中のユーザの音声オーディオが含まれ、ユーザが演じるキャラクターの口と同期される(可能な場合に)。この漫画は、PCDクラウド上に格納する、ソーシャルメディアサイトに掲載する、又は共有/思い出作りに向けてユーザに電子メールすることができる。一部の実施形態では、PCD100は、劇を各々が独自の登場人物を演じる複数の参加者と共に実演するように構成することができ、これらの参加者はリモート(例えば、テレフローの他端)とすることができる。   With all the lines for the character that the user wants to play learned, at step 1018, a demonstration mode can be entered. In this mode, the PCD 100 will take time to let the user tell his line, and if the user gets stuck or forgets, the PCD 100 will give a full demonstration of the play while teaching the line. The PCD 100 will also use perfect sound effects, background music, animations, and lighting effects during the demonstration as well as between the words emitted by the user. In some embodiments, after the play has been demonstrated, the PCD 100 can generate a cartoon / animated version of the play, which includes the user's voice audio in the user's speech, and of the character that the user plays. Synchronized with the mouth (if possible). The cartoon can be stored on a PCD cloud, posted on a social media site, or emailed to the user for sharing / remembering. In some embodiments, the PCD 100 can be configured to demonstrate a play with multiple participants, each playing their own character, who are remote (eg, the other end of the teleflow) and can do.

踊るPCD−共有Dancing PCD-Sharing

例示的かつ非限定的実施形態により、PCD100は、上述した踊るPCDアプリの追加の機能を使用するように構成することができる。この機能の一部の実施形態では、ユーザは、PCD100に向けてカスタムの踊りを生成することができる。このカスタム踊りは、モバイルアプリ又はウェブアプリを通して取得され、PCD100が音楽に乗って実演するために、ユーザが曲を選択し、踊りの振りを選択してまとめ合わせることが可能になる。踊りをPCD100と協働して生成するように、ユーザは、PCD100に踊りの振りを選択させることができる。一部の実施形態では、照明効果/効果音(例えば、PCDが「身をかがめて!」と言う)を追加し、踊りと同期させることができる。他の実施形態では、PCD100の踊りを他のPCD100に送ること、仮想PCD100によって演じて友人に見せること、かつオンラインで保存することなどができる。ユーザは、他のPCD100のユーザによって生成された他のPCD100の踊りを演じることができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be configured to use the additional features of the dancing PCD app described above. In some embodiments of this feature, the user can generate a custom dance towards the PCD 100. This custom dance is obtained through the mobile app or web app, allowing the user to select songs, select and dance the dance shake, to have the PCD 100 perform on music. The user can cause the PCD 100 to select a dance dance, such that the dance is produced in cooperation with the PCD 100. In some embodiments, lighting effects / sound effects (e.g., PCD says "Stuck!") Can be added and synchronized with the dance. In other embodiments, the dance of the PCD 100 can be sent to another PCD 100, played by the virtual PCD 100 to show to friends, stored online, etc. The user can play the dance of the other PCD 100 generated by the user of the other PCD 100.

有名人が生成したコンテンツCelebrity Generated Content

例示的かつ非限定的実施形態により、この機能は、ユーザが、有名人が生成したコンテンツを自分のPCD100にダウンロード又はストリーミングすることを可能にする。コンテンツは、ウェブインタフェース又はAndroidアプリを通して選択され、この場合に、仮想PCD100は、ユーザにコンテンツ購入処理を案内することができる。コンテンツは、以下のいずれかとすることができる。   By way of an illustrative and non-limiting embodiment, this feature allows a user to download or stream celebrity generated content to his or her PCD 100. Content is selected through a web interface or an Android application, in which case the virtual PCD 100 can guide the user through the content purchase process. The content can be either of the following:

事前記録されたもの   Pre-recorded

これは、映画に関する監督/俳優の論評、ミステリーサイエンスシアター3000方式の冗談などを含むことができる。全てのコンテンツは、映画に加えることができる。PCD100のコンテンツ配信を観賞中のメディアと同期させるために音響透かしを使用することができる。   This can include director / actor commentary on movies, Mystery Science Theater 3000 style jokes, etc. All content can be added to the movie. Acoustic watermarks can be used to synchronize the content delivery of the PCD 100 with the media being viewed.

ライブストリーミング   Live streaming

このモードでは、PCD100は、中心にいる有名人/評論家によって実時間で生成されているコンテンツをストリーミングすることができる。コンテンツ生成者は、話し言葉を相補するために、実時間「パペット」PCD100にアニメーション効果/照明効果/色彩効果を果たさせる機能を有することができる。そのような事例では、理論的にはコンテンツ生成者が事象をユーザと同時に見ており、論評を実時間で加えていることになるので、音響透かしは必要ではない。ライブストリーミングは、政治評論家が大統領演説に対して論評している場所、選挙報道など、又はユーザの好きな運動選手がスポーツ事象に対して論評している場所を含むことができる。   In this mode, the PCD 100 can stream content being generated in real time by a central celebrity / critician. The content generator may have the ability to cause the real-time "puppet" PCD 100 to perform animation effects / light effects / color effects to complement the speech. In such a case, no acoustic watermark is necessary, as in theory the content generator is looking at the event simultaneously with the user and adding a comment in real time. Live streaming can include where a political critic is commenting on a presidential speech, election coverage, etc., or where a user's favorite athlete is commenting on a sporting event.

例示的かつ非限定的実施形態により、永続的コンパニオンデバイス(PCD)100は、1又は複数の人の環境内で継続的又はほぼ継続的に存在するように適応される。一実施形態では、個人は、当人を識別する様々なパラメータデータをPCDによって取得するか又はPCDに対して利用可能である個人の特定のインスタンスである。下記でより完全に説明するように、人のIDに加えて、PCD100は、挙動パターン(スケジュール、日課、癖のような)、プリファレンス、態度、ゴール、仕事などを更に認識することができる。   According to an exemplary and non-limiting embodiment, a persistent companion device (PCD) 100 is adapted to exist continuously or nearly continuously in one or more human environments. In one embodiment, the individual is a specific instance of the individual who obtains or is available to the PCD various parameter data identifying the individual. As described more fully below, in addition to the person's ID, the PCD 100 can further recognize behavior patterns (such as schedules, chores, habits), preferences, attitudes, goals, jobs, and the like.

パラメータ識別データは、例えば、上述したセンサ102、104、106、108、112のうちの1又は2以上を利用する音声認識及び顔認識などを用いて人の存在を識別するために使用することができる。パラメータデータは、PCD100のメモリ内等にローカルに格納するか又はPCD100がBluetooth及びWiFiなどのような有線又は無線の通信しているサーバ上にリモートに格納することができる。そのようなパラメータデータは、PCD100又はサーバ内に手動入力することができ、又はPCD100が長期間にわたって取得するか又は初期化処理の一部として取得することができる。   The parameter identification data may be used to identify the presence of a person using, for example, voice recognition and face recognition, etc. utilizing one or more of the sensors 102, 104, 106, 108, 112 described above it can. The parameter data may be stored locally, such as in the memory of the PCD 100, or remotely stored on a wired or wireless communication server such as Bluetooth and WiFi, etc., by the PCD 100. Such parameter data may be manually input into the PCD 100 or server, or may be obtained over a long period of time by the PCD 100 or as part of an initialization process.

例えば、他の点では初期化されていないPCD100をユーザの環境に運び入れると、ユーザは、自分の音声及び顔の特徴部など(及び他の関連の事実情報)の例を取得するようにPCD100が作動される/対話を受ける初期化手順を実施することができる。下記でより完全に説明する家族ハブ実施形態では、ユーザが拡大家族を含むユーザのソーシャルネットワークを形成する場合は複数である場合がある。これらのデータはPCD100に格納することができ、同じくPCD100が、例えば、サーバ等にある外部ストレージに向けて通信することができる。ユーザ名、ユーザの誕生日、ユーザの眼の色、ユーザの髪の色、及びユーザの体重などのような他のユーザ識別データをサーバが有するか又はPCD100の一部を形成するグラフィックユーザインタフェース、発話インタフェースなどを通して手動入力することができる。パラメータデータの一部分がPCD100内に入力される又は他にPCD100によって得られた状態で、PCD100は、他のパラメータデータをこれに加えて取得するように作動させることができる。例えば、PCD100に対して予め決められたテキストを朗読することなどによってサンプル音声痕跡を与える段階を含む初期化を実施した状態で、PCD100は、発声中のユーザを識別し、顔識別に必要とされる顔特徴データを取得するように自律的に作動させることができる。PCD100は、ユーザの環境に永続的な存在を維持するので、長期間にわたってユーザの様々なパラメータデータを取得するように作動させることができる。   For example, bringing a PCD 100 that is otherwise uninitialized into the user's environment may cause the user to obtain an example of his voice and facial features etc (and other relevant factual information). Can be activated / interacted initialization procedure can be performed. In the family hub embodiment described more fully below, there may be more than one case where the user forms a social network of the user including the extended family. These data can be stored in the PCD 100, and the PCD 100 can also communicate towards external storage, for example in a server or the like. A graphical user interface where the server has other user identification data such as username, user's birthday, user's eye color, user's hair color, etc. user weight or forms part of PCD 100, It can be manually input through a speech interface or the like. With a portion of the parameter data being input into the PCD 100 or otherwise obtained by the PCD 100, the PCD 100 can be activated to acquire other parameter data in addition thereto. For example, with initialization being performed, such as providing sample audio traces by reading a predetermined text to the PCD 100, the PCD 100 identifies the user in the utterance and is required for face identification. Can be operated autonomously to obtain face feature data. The PCD 100 can be operated to acquire various parameter data of the user over a long period of time, as it maintains a permanent presence in the user's environment.

一部の実施形態では、PCD100は、人に関する初期化中にID以外の関連情報を取得するように作動する。上述のように、PCD100は、背景情報、人口統計情報、好物、連絡先情報(電子メール、電話のような)、興味、プリファレンス、及び性格などを取得するように作動させることができる。そのような事例では、PCD100は、「付き合い始め」の対話等中にテキストベースの情報/GUI情報/発話入力情報を取得するように作動させることができる。更に、PCD100は、連絡先情報と、複数のPCD100の間で共有する、かつPCD100内に直接入力することができる家族ハブのパーソナル化パラメータ化情報(例えば、高齢の親、子のような)とを取得するように作動させることができる。下記でより完全に説明する様々な実施形態では、PCD100は、拡大家族との家族接続を容易にするように作動する。下記でより詳しく説明するように、人のスケジュール、事象、及び気分などを含むがこれらに限定されない日常情報は、PCD100がどのようにユーザと対話し、ユーザに活動を推奨、提案し、情報を提供するかに関する重要な背景を与えることができる。   In some embodiments, the PCD 100 operates to obtain related information other than the ID during initialization for a person. As mentioned above, the PCD 100 can be operated to obtain background information, demographic information, favorites, contact information (such as email, phone calls), interests, preferences, personality, etc. In such a case, the PCD 100 can be activated to obtain text-based information / GUI information / speech input information, such as during a “start dating” dialogue. In addition, the PCD 100 can include contact information and personalization parameterization information (eg, elderly parents, children, etc.) of family hubs that can be shared among multiple PCDs 100 and can be input directly into the PCD 100. Can be activated to obtain In various embodiments described more fully below, the PCD 100 operates to facilitate family connection with an extended family. As described in more detail below, daily information, including but not limited to human schedules, events, moods, etc., is how the PCD 100 interacts with the user, recommends and suggests activities to the user, and information It can give important background about what to offer.

例示的かつ非限定的実施形態により、PCD100によって得られる背景的長期的なデータは、ユーザの興味、プリファレンス、及びユースケースに徐々に適合状態になるように自体の機能及び特徴を構成する適応システムを容易にする。例えば、PCD100は、ユーザが音楽を好ましいことを習得した場合に、音楽の好みを見出し、その種の音楽を演奏し、情報に基づく音楽の提案を行うことができるように、クラウドから「音楽属性」を自動的にダウンロードすることができる。   By means of an exemplary and non-limiting embodiment, the background long-term data obtained by the PCD 100 is adapted to configure its own functions and features to gradually adapt to the user's interests, preferences and use cases. Make the system easy. For example, when the PCD 100 learns that the user prefers music, it finds out music preferences, plays that kind of music, and can make music suggestions from the cloud so that they can make information suggestions. Can be downloaded automatically.

このようにしてPCD100は、ユーザの生活を学習する。PCD100は、現実世界においてユーザを感知することができ、PCD100に接続された他のデバイス、技術、システム、パーソナルコンピュータデバイス、パーソナル電子デバイスのデジタルエコロジーからデータを収集することができる。この長期的データ集合から、PCD100は、人と、このユーザに対して学習し、提供することができる機能により的確に適合及び整合するようにPCD100自体を構成することを可能にする活動パターンとに対して学習する。重要な点として、PCD100は、人の社会/家族パターン、人の生活で誰が重要な人々(人の拡大家族)であるかに対して学習し、人の感情/気分に対して学習してそれを追跡し、重要な挙動パターン(人がある一定の事柄を行う傾向を有する時)に対して学習し、人のプリファレンス、好みなどを学習し、人が知りたいこと、人を楽しませることなどを学習する。   Thus, the PCD 100 learns the life of the user. The PCD 100 can sense the user in the real world and can collect data from the digital ecology of other devices, technologies, systems, personal computing devices, personal electronic devices connected to the PCD 100. From this long-term data set, the PCD 100 will be able to configure the person and activity patterns that allow the PCD 100 itself to be more appropriately matched and matched to the functions that can be learned and provided to this user. Learn against. Importantly, the PCD 100 learns about the social / family pattern of the person, who is important in the human life (the expanded family of the person), and learns about the person's emotion / feeling. Track, learn about important behavioral patterns (when people have a tendency to do a certain thing), learn people's preferences, preferences, etc., what people want to know, entertain people Learn etc.

下記でより完全に説明するように、PCD100は、そのユーザとそれ自体との対話に関するデータを収集するための長期的データ収集機能を設けるためにユーザと対話するように構成される。   As described more fully below, the PCD 100 is configured to interact with the user to provide a long-term data collection facility to collect data regarding the user's interaction with itself.

例示的かつ非限定的実施形態により、PCD100は、視覚センサ、聴覚センサ、及び触覚センサ102、104、106、108、112を含む対話によるユーザとの永続的対話の1又は2以上の属性を含む長期的データを取得するように構成される。各事例において、視覚、聴覚、及び触覚の感覚をユーザからPCD100が知覚、又は他に取得し、更に、PCD100がユーザに伝達することができる。例えば、PCD100は、ユーザの活動、感情状態、及び健康状態に関するデータを含む視覚情報をユーザから取得するためにカメラセンサ106を組み込むことができる。同じくPCD100は、発話認識から導出されたデータ、ストレスレベルに関するデータを含むオーディオ情報、並びにユーザによって利用されている娯楽メディアの識別情報のような背景情報をユーザから取得するためにオーディオセンサ112を組み込むことができる。更に、PCD100は、それを撫でること及び抱き締めることを含むがこれらに限定されないPCD100との物理的接触でのユーザのタッチ又は介入に関するデータを含む触覚情報をユーザから取得するために触覚センサ102を組み込むことができる。他の実施形態では、ユーザは、PCD100のタッチ画面インタフェースをナビゲートするためにタッチを使用することができる。他の実施形態では、PCD100又はユーザの場所をユーザが携帯しており、場所・背景関連の情報を与え、サービスを提供するための入力として使用されるセル電話などを通して決定することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 includes one or more attributes of persistent interaction with the user through interaction including visual sensors, auditory sensors, and tactile sensors 102, 104, 106, 108, 112. Configured to obtain long-term data. In each case, the PCD 100 can perceive or otherwise obtain visual, auditory, and tactile sensations from the user, and the PCD 100 can further communicate to the user. For example, the PCD 100 can incorporate a camera sensor 106 to obtain visual information from the user, including data regarding the user's activity, emotional status, and health status. The PCD 100 also incorporates an audio sensor 112 to obtain background information from the user, such as data derived from speech recognition, audio information including data on stress levels, as well as identification information of entertainment media being used by the user. be able to. Furthermore, the PCD 100 incorporates the tactile sensor 102 to obtain tactile information from the user, including data regarding the user's touch or intervention in physical contact with the PCD 100, including but not limited to tapping and hugging it. be able to. In other embodiments, the user can use the touch to navigate the touch screen interface of the PCD 100. In other embodiments, the location of the PCD 100 or user may be carried by the user, determined via a cell phone or the like used as an input for providing location-related information and providing services.

上述のように、視覚、聴覚、及び触覚の感覚をPCD100がユーザに伝達することができる。例えば、音、警報、音楽、及び音声対話などを出力し、ユーザとの会話に携わるためにオーディオ出力デバイスを使用することができる。同じく、ユーザにテキスト及び画像を伝達し、更に、PCD100とユーザ間のコミュニケーション対話の一部分を含むグラフィックデータを伝達するように作動させるためにグラフィック要素を利用することができる。グラフィック要素は、周囲光及び他の手がかり(そのLEDポンポン)を使用することができる。触覚デバイス102は、PCD100の感情状態及び含まれる様々な他のデータを例えば振動によって伝達し、更にデバイスのインタフェース/コンテンツをナビゲートするために使用することができる。このデバイスは、ユーザの状況、気分等に適する様々な芳香を発することができる。   As mentioned above, the PCD 100 can convey the senses of sight, hearing and touch to the user. For example, audio output devices can be used to output sounds, alerts, music, voice dialogs, etc. and engage in conversations with the user. Also, graphical elements can be utilized to convey text and images to the user, as well as operate to convey graphic data that includes a portion of the communication interaction between the PCD 100 and the user. Graphic elements can use ambient light and other clues (its LED pompons). The haptic device 102 can be used to communicate, for example by vibration, the emotional state of the PCD 100 and various other data involved, as well as to navigate the interface / content of the device. This device can emit various fragrances suitable for the user's situation, mood etc.

情報は、PCD100に接続された様々なデバイスを通して収集することができる。これらの情報は、第三者システムデータ(例えば、医療、ホームセキュリティーのような)、モバイルデバイスデータ(音楽再生リスト、写真、検索履歴、カレンダー、連絡先リスト、ビデオのような)、及びデスクトップコンピュータデータ(特にPCD100のポータルを通して入力されたもの)などから利用可能である。   Information can be collected through various devices connected to the PCD 100. These information include third party system data (such as medical, home security, etc.), mobile device data (such as music playlists, photos, search history, calendars, contact lists, videos), and desktop computer data. (In particular, those input through the portal of the PCD 100).

上述したセンサに加えて、PCD100とユーザ間の対話に含まれるデータ及び情報は、様々なデータソースから取得し、そこに格納及び出力することができる。例示的かつ非限定的実施形態では、対話データは、PCD100上に格納し、それとユーザとの間でクラウドデータ又は他の接続モード(Bluetoothのような)を通して送信することができる。一実施形態では、PCD100との対話を可能にするために、PCD100によるユーザのクラウド格納データへのアクセスを可能にすることができる。例えば、PCD100は、インターネットを検索し、アプリ/サービスを用いるか又はクラウドストレージからのユーザのスケジュールのようなクラウドからのデータにアクセスし、そこから導出された情報を用いて対話をトリガすることができる。一例として、PCD100は、ユーザに、隣接レストランで9:00amに友人との朝食の約束があることを指摘することができる。PCD100は、ユーザが約束の5分前に自宅にいることに気づいた場合に、オーディオデバイス110を通して発声することによってユーザと対話し、出掛ける準備ができていないのではないかと問い合わせることができる。例示的実施形態では、PCD100は、この芸当を現在のGPS座標とレストランとに基づいて移動時間の計算を自律的に実施することによって達成することができる。このようにして、PCD100は、アクセスしたオンライン又はクラウドのデータに対して、PCD100とユーザ間に友好関係構成対話をもたらすアクションをトリガするための1又は2以上のアルゴリズムを適用することができる。人々は、ソーシャルネットワーキング、実時間又は非同期の方法、例えば、テキストを送ること、実時間視聴覚接続を確立すること、及び他のアプリ/サービス(Facebook、Twitterのような)を通して接続することなどによってPCD100とコミュニケーションを取ることができる。他の例は、対話をトリガするために使用することができるiTunesデータ及びNetflixデータを含むがこれらに限定されないクラウドに格納されたユーザの娯楽ファイル及びメディアファイルへのPCD100によるアクセスを含む。   In addition to the sensors described above, the data and information included in the interaction between the PCD 100 and the user can be obtained from various data sources, stored and output there. In an exemplary non-limiting embodiment, interaction data may be stored on the PCD 100 and transmitted between it and the user through cloud data or other connection modes (such as Bluetooth). In one embodiment, to enable interaction with the PCD 100, the PCD 100 may allow access to the user's stored cloud data. For example, the PCD 100 may search the Internet, access data from the cloud, such as using an application / service or the user's schedule from cloud storage, and trigger an interaction with information derived therefrom it can. As an example, the PCD 100 can indicate to the user that there is a promise of breakfast with a friend at 9:00 am in the adjacent restaurant. If the PCD 100 notices that the user is at home 5 minutes before the appointment, it can interact with the user by speaking through the audio device 110 and ask if they are not ready to go out. In the exemplary embodiment, the PCD 100 can accomplish this trick by autonomously performing travel time calculations based on current GPS coordinates and a restaurant. In this way, the PCD 100 can apply one or more algorithms to trigger an action that results in a friendly configuration interaction between the PCD 100 and the user, for the accessed online or cloud data. People use PCD 100 by social networking, real-time or asynchronous methods, such as sending text, establishing real-time audio-visual connectivity, and connecting through other apps / services (like Facebook, Twitter, etc.) Can communicate with Other examples include access by the PCD 100 to user entertainment and media files stored in the cloud, including but not limited to iTunes data and Netflix data that can be used to trigger interactions.

類似の方式で、他の例示的実施形態により、対話データは、サーバ、パーソナルコンピュータ、又はモバイルデバイス上のようなユーザの環境の近く又はこの環境に格納することができ、ユーザがアクセス可能である。PCD100は、データを同じくクラウドに格納することができる。他の実施形態では、対話データは、PCD100の外部にあるセンサが取得することができる。   In a similar manner, according to other exemplary embodiments, the interaction data may be stored near or accessible to the user's environment, such as on a server, personal computer, or mobile device, and accessible to the user. . The PCD 100 can also store data in the cloud. In other embodiments, interaction data may be obtained by sensors external to PCD 100.

例示的かつ非限定的実施形態により、PCD100上、サーバ上、又はクラウドに格納することができるもの等であり、対話を容易にするのに利用することができる活動ログ及びデバイス使用ログを生成することができる。活動ログは、ユーザが携わった活動、PCD100が携わった活動、又はユーザとPCD100の両方が対話方式で携わった活動を記録する情報を格納することができる。例えば、活動ログは、チェスゲームに携わるPCD100及びユーザのインスタンスを記録することができる。更に、ユーザの愉快レベルを推量することを可能にするそのような対戦中のユーザの感情状態に関する情報を格納することができる。このデータを用いて、PCD100は、ユーザがどれ程多くの場合にチェスをしたいと望んでいるか、PCD100とユーザとが最後にチェスをしてからどれ程の時間が経つか、及びユーザがチェスペア戦に携わりたいと望む可能性などのような事柄を決定することができる。類似の方式で、ユーザがPCD100といつ、どれ程頻繁に、かつどのように対話することを好むかを示すデバイス使用ログを格納して維持することができる。明らかなように、活動ログとデバイス使用ログの両方を用いて、PCD100とユーザ間の対話の頻度と質の両方を高めることができる。   Exemplary and non-limiting embodiments generate activity logs and device usage logs that can be stored on a PCD 100, on a server, in a cloud, etc. that can be used to facilitate interaction be able to. The activity log can store information that records activities that the user has engaged in, activities that the PCD 100 has engaged, or activities that both the user and the PCD 100 have engaged in an interactive manner. For example, the activity log may record instances of the PCD 100 and the user involved in the chess game. In addition, information regarding the emotional state of the user during such a match can be stored that makes it possible to infer the user's level of pleasure. Using this data, how often the PCD 100 wants to play chess, how long has it been since the PCD 100 and the user last played chess, and the user has a chess pair game You can decide things like the possibility you want to work with. In a similar manner, device usage logs can be stored and maintained that indicate when the user prefers to interact with the PCD 100, how often and how often. As is apparent, both activity and device usage logs can be used to enhance both the frequency and quality of interaction between the PCD 100 and the user.

例示的かつ非限定的実施形態により、対話データは、手動入力によって取得することができる。そのようなデータは、ユーザが、PCD100の一部を形成する入力デバイス102、104、106、108、112を通して直接PCD100内に入力するか、又はサーバ、PDA、及びパーソナルコンピュータなどのようなコンピュータデバイス内に入力し、Bluetooth又はWiFi/クラウドなどを通してPCD100に送信又は他に通信することができる。他の実施形態では、対話データは、PCD100がそれ自体とユーザとの言語対話を通して取得することができる。例えば、PCD100は、一連の質問を含むユーザとの言語対話に携わることができ、ユーザの返答は、PCD100上、サーバ上、又はクラウド内で作動する発話認識ソフトウエアによってテキストに変換され、結果は、GUI又はタッチベースの対話に関するものと同じく対話データとして格納される。   According to an exemplary and non-limiting embodiment, interaction data can be obtained by manual input. Such data may be input by the user directly into the PCD 100 through input devices 102, 104, 106, 108, 112 forming part of the PCD 100, or computer devices such as servers, PDAs, personal computers etc. It can be input inside and transmitted or otherwise communicated to the PCD 100 via Bluetooth or WiFi / cloud etc. In other embodiments, interaction data may be obtained by the PCD 100 through its verbal interaction with the user. For example, PCD 100 can engage in verbal interaction with the user including a series of questions, and the user's response is converted to text by speech recognition software running on PCD 100, on a server, or in the cloud, and the results are , As well as for GUI or touch based interactions are stored as interaction data.

例示的かつ非限定的実施形態により、対話データは、嗅覚データを識別するように構成されたセンサ102、104、106、108、112を通して取得することができる。同じく、PCD100は、嗅覚芳香を放出するように構成することができる。更に他の実施形態では、対話を改善するために、PCD100内にGPS及び他の場所特定装置を組み込むことができる。例えば、子供ユーザは、自分のPCD100を家族旅行又は家族休暇に持って行くことができる。移動中に、PCD100はそれ自体の地点を決定し、インターネットにアクセスして隣接の目印を決定し、これらの目印に対して話し合うことによって時間及び場所に関する子供との言語対話に携わる。   According to an exemplary and non-limiting embodiment, interaction data may be obtained through sensors 102, 104, 106, 108, 112 configured to identify olfactory data. Likewise, the PCD 100 can be configured to emit an olfactory aroma. In still other embodiments, GPS and other location specific devices can be incorporated into the PCD 100 to improve interaction. For example, a child user can take his or her PCD 100 for a family trip or vacation. While traveling, the PCD 100 determines its own points, accesses the Internet to determine neighboring landmarks, and engages in verbal dialogue with the child regarding time and place by discussing these landmarks.

このようにして話し合いのための題材を確立するのに加えて、一部の実施形態では、そのような対話の結果をその時点又は後の時点でリモートストレージ設備に送信することができ、そこには、定められたセキュリティ設定に従って複数のユーザからこのようにして得られた対話データが累積される。このようにして、ユーザの属性と場所のようなPCD100取得データとの統計的側面に基づいて、好ましい対話モードの中央集中データベースを開発することができる。例えば、直前の例では、PCD100は、それ自体の場所を航空宇宙博物館の近くで自然史博物館の向かいにあるナショナルモール上にあるものと決定する場合がある。中央集中データベースにアクセスしてユーザの年齢及び場所を提供することにより、ユーザの年齢プロファイルに適合する他の子供が恐竜に興味を示す傾向を有することを決定することができる。その結果、PCD100は、ユーザを自然史博物館に向けながら恐竜の話し合いを始める。   In addition to establishing material for discussion in this manner, in some embodiments, the results of such a dialogue may be sent to the remote storage facility at that time or later, The interaction data thus obtained from a plurality of users is accumulated according to the defined security settings. In this way, based on the statistical aspects of the user's attributes and PCD 100 acquired data such as location, a centralized database in a preferred interactive mode can be developed. For example, in the previous example, the PCD 100 may determine its own location to be on the National Mall near the Natural History Museum near the Aerospace Museum. By accessing the centralized database to provide the user's age and location, it can be determined that other children who fit the user's age profile have an interest in dinosaurs. As a result, the PCD 100 initiates dinosaur discussions while directing the user to the Natural History Museum.

例示的かつ非限定的実施形態により、PCD100は、ユーザの様々な生理学的かつ身体的な属性及びパラメータに少なくとも部分的に基づいて、ユーザとの対話の態様を変調することができる。一部の実施形態では、PCD100は、凝視追跡を用いてユーザの凝視方向を決定することができる。そのような情報は、例えば、ユーザの興味を決定するために又はごまかしの程度を計るために使用することができる。同じく、ユーザの心拍数及び呼吸数を取得することができる。更に他の実施形態では、視覚センサデータからユーザの皮膚の色調を決定し、それを利用してユーザの身体状態又は感情状態を確立することができる。センサ102、104、106、108、112を通して確立することができるユーザの他の挙動属性は、音声韻律及びワード選択を含むがこれらに限定されない。他の例示的実施形態では、PCD100は、手振り又は指さしのようなユーザの身振りを確立して解釈することができ、後にそれを対話に対するトリガとして利用することができる。同じく、ユーザが立っている、前屈みしている、寄りかかっている、及び類似の状態にあるか否かを決定するために、PCD100は、ユーザの姿勢を評価して解析することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can modulate aspects of user interaction based at least in part on various physiological and physical attributes and parameters of the user. In some embodiments, the PCD 100 can use gaze tracking to determine the user's gaze direction. Such information can be used, for example, to determine the user's interest or to gauge the degree of cheating. Similarly, the user's heart rate and respiration rate can be obtained. In yet another embodiment, the color tone of the user's skin can be determined from the visual sensor data and used to establish the physical or emotional state of the user. Other behavioral attributes of the user that can be established through the sensors 102, 104, 106, 108, 112 include but are not limited to speech prosody and word selection. In another exemplary embodiment, the PCD 100 can establish and interpret the user's gesture, such as a gesture or pointing, which can later be used as a trigger for interaction. Also, the PCD 100 can evaluate and analyze the user's pose to determine whether the user is standing, forward bending, leaning, and in a similar state.

様々な例示的かつ非限定的実施形態により、PCD100とユーザの対話は、決定されたユーザの感情的又は精神的な状態又は属性に少なくとも部分的に基づく場合がある。例えば、PCD100は、ユーザが、例えば、神経質になっている、嬉しい、心配している、楽しんでいる可能性が高いか否かを見るために、ユーザが瞬きをしている頻度、ユーザが微笑んでいる又は唇を噛んでいるのいずれであるか、及びユーザが発した笑いの存在などを決定して記録することができる。同じく、PCD100は、又は他に静かな環境内でユーザが比較的動いておらず、静かな状態に留まる中でユーザの凝視が空間内の1点に固定しているのを観察し、ユーザが熟考又は困惑した状態にあることを決定することができる。更に他の実施形態では、PCD100は、うなずく又は頭を振ることのようなユーザの身振りを心的同意又は不同意と解釈することができる。   According to various exemplary and non-limiting embodiments, the interaction between the PCD 100 and the user may be based at least in part on the determined emotional or mental state or attribute of the user. For example, the PCD 100 may smile at how often the user blinks to see if the user is likely to be nervous, anxious, anxious, having fun, for example. It is possible to determine and record, for example, whether the subject is out or biting a lip, and the presence of laughter that the user has issued. Similarly, the PCD 100 observes that the user's gaze is fixed at a point in space, while the user is not moving relatively in a quiet environment, or remains quiet. It can be determined to be in a contemplation or puzzled state. In yet another embodiment, the PCD 100 can interpret the user's gesture, such as nodding or waving, as mentally consent or disagreement.

例示的かつ非限定的実施形態により、ユーザがそれを通じて対話するインタフェースの一般的な属性を擬人的なPCD100又は非人間ベースのPCD100を提供するように構成する及び/又は調整することができる。一実施形態では、PCD100は、非人間動物の特徴を表示するように構成される。そうすることで特定の動物に対するユーザによる既存の感情先入的愛好を模倣及び/又は増幅することにより、PCD100とユーザ間の対話を改善することができる。例えば、PCD100は、興奮状態を伝えるように作動する時に吠えることによって犬を模倣することができる。更に、PCD100には、ユーザ対話に応答して振ることができる尾のような付属肢を取り付けることができる。同じく、PCD100は、馴染み深い猫の「ニャーオ」と同様の音を出力することができる。PCD100インタフェースの実時間発現に加えて、そのようなインタフェース属性は、時間経過に伴って変化してユーザ及びPCD100の動物キャラクターの経年変化処理を調節することによって対話を更に改善することができる。例えば、犬に基づくPCD100キャラクターは、最初に得られた時には子犬のアクションを模倣し、挙動及び対話において徐々に成熟してユーザとPCDキャラクターの関係が経時変化しているという感覚をユーザ側に与えることができる。   Exemplary and non-limiting embodiments may configure and / or adjust the general attributes of the interface through which the user interacts to provide the anthropomorphic PCD 100 or the non-human based PCD 100. In one embodiment, the PCD 100 is configured to display features of non-human animals. By doing so, the interaction between the PCD 100 and the user can be improved by imitating and / or amplifying the user's existing emotional preoccupation with a particular animal. For example, the PCD 100 can mimic a dog by barking when activated to communicate an excited state. Additionally, the PCD 100 can be fitted with a tail-like appendage that can be shaken in response to user interaction. Similarly, the PCD 100 can output the same sound as the familiar cat "Nyao". In addition to the real time expression of the PCD 100 interface, such interface attributes can be further improved over time by adjusting the aging process of the user's and PCD's 100 animal characters to change over time. For example, a dog-based PCD 100 character mimics the puppy's action when first obtained, giving the user a sense that the relationship between the user and the PCD character is changing over time, gradually matured in behavior and dialogue be able to.

上述のように、動物又は架空の生き物に基づくPCD特徴に加えて、PCD100は、人間に基づいてモデル化された擬人的インタフェースを提供するように構成することができる。そのような人間又は「ペルソナ」は、事前構成されたものユーザ定義可能なもの又はこれら2つのあらゆる組合せとすることができる。このペルソナは物真似を含むことができ、この場合に、PCD100は、有名人、メディア番組の司会者、又は登場人物(例えば、ダウントンアビーからの登場人物であるラリーバード、ジョンスチュワートのような)の独特の癖及び特徴を装うことができる。PCD100のペルソナ又は「デジタルソウル」は、PCD100上、PCD100の外部に存在することに加えて格納することができ(例えば、クラウド内に)、従って、他のPCD100上にダウンロードしてインストールすることができる。これらの他のPCDは、グラフィックである(例えば、その外見がユーザのモバイルデバイス上に登場する)又は別の物理PCD100(例えば、新しいモデル)内に入ることができる。   As mentioned above, in addition to PCD features based on animals or fictional creatures, the PCD 100 can be configured to provide anthropomorphic interface modeled on a human basis. Such a human or "persona" can be pre-configured and user definable or any combination of the two. This persona can include imitations, in which case the PCD 100 may be a celebrity, a media show host, or a character (such as Larry Bird, who is a character from Downton Abbey, John Stewart). It can be dressed up with unique armor and features. The PCD 100 Persona or "Digital Soul" can be stored on the PCD 100 in addition to being external to the PCD 100 (e.g., in the cloud) and thus can be downloaded and installed on other PCD 100 it can. These other PCDs can be graphical (e.g., their appearance appears on the user's mobile device) or fall within another physical PCD 100 (e.g., a new model).

PCD100のペルソナはまた、合成又は技術的性質のものとすることができる。その結果、PCD100は、擬人化された技術として機能し、この場合に、デバイスPCD100は、人、動物、及び既知の登場人物などのような既に存在する何か別を模倣しようと試みるのではなく、独自の固有ペルソナを有するように見える。一部の実施形態では、PCD100に対して、そのユーザにより的確に適するように時間経過に伴って適応及び修正することができる専有ペルソナを生成することができる。例えば、ユーザのPCD100の韻律は、ユーザ自身の韻律をより厳密に反映するように時間経過に伴って適応させることができ、これは、そのような技術が親近感及び愛情を構成することによる。PCD100をパーソナル化又はカスタム化するためにユーザが買ういずれかの化粧品又は仮想人工物に加えて、PCD100は、そのグラフィック外見をユーザの好み及びプリファレンスに適応するように変化させることができる。   The PCD 100 persona can also be of synthetic or technical nature. As a result, the PCD 100 functions as an anthropomorphic technology, in which case the device PCD 100 does not try to mimic something already existing such as a person, an animal, and a known character etc. It looks like it has its own unique persona. In some embodiments, a proprietary persona can be generated for PCD 100 that can be adapted and modified over time to better suit the user. For example, the prosody of the user's PCD 100 can be adapted over time to more closely reflect the user's own prosody, as such techniques constitute familiarity and affection. In addition to any cosmetic or virtual artifacts that the user purchases to personalize or customize the PCD 100, the PCD 100 can change its graphical appearance to adapt to the user's preferences and preferences.

例示的実施形態では、PCD100のデジタルソウルは、PCD100のインタフェースの特徴及び属性、並びにユーザとPCD100間の対話の性質に影響を及ぼす属性を定める。このデジタルソウルは、ユーザとの対話に携わるPCD100によって利用される対話データ及び情報から二分されるが、デジタルソウルは、特定のユーザとの応答対話において時間経過に伴って変化する場合がある。例えば、各々が自分自身のPCD100を有するユーザを分離することは、例えば、アルバートアインシュタインのような公知の歴史的人物に基づいて等しいデジタルソウルをインストールする場合がある。2つの別個のPCD100上へのインストールの時点から、各PCD100は、当該PCD100によって生成され、それに対してアクセス可能なユーザ独特の対話データに依存して異なる方式で対話することになる。デジタルソウルは、いくつかの形態で、様々な物理形態(例えば、ロボット形態)又はデジタル形態(例えば、グラフィックアバター)から実施することができる。   In the exemplary embodiment, the digital soul of the PCD 100 defines the features and attributes of the interface of the PCD 100 and attributes that affect the nature of the interaction between the user and the PCD 100. Although this digital soul is divided from the interaction data and information utilized by the PCD 100 engaged in interaction with the user, the digital soul may change over time in the response interaction with a particular user. For example, separating users each having their own PCD 100 may install equal digital souls based on known historical figures such as, for example, Albert Einstein. From the point of installation on two separate PCDs 100, each PCD 100 will interact in a different manner depending on the user-specific interaction data generated by and accessible to that PCD 100. Digital souls can be implemented in several forms, from various physical forms (eg, robot forms) or digital forms (eg, graphic avatars).

例示的かつ非限定的実施形態により、PCD100は、収集データに基づいて対話の質を改善するために機械学習機能を提供する。機械学習を実施するのに利用されるアルゴリズムは、PCD100上、それと通信しているコンピュータプラットフォーム上で実行することができる。例示的実施形態では、PCD100は、ユーザと対話して指導及び訓練を提供するために関連性条件付けを使用することができる。関連性又は「オペラント」の条件付けは、挙動を改善するための強化を使用することに主眼を置く。この処理を通して、挙動とそれに対する結果の間に関連性が形成される。例えば、PCD100は、ユーザが迅速に目覚め、動かない状態に留まるのとは対照的にベッドから飛び出した場合に嬉しいノイズを発することができる。ユーザは、PCD100の幸せの見かけ状態をそのようなアクションに関連付けられたので、時間経過に伴って、PCD100とユーザのこの対話は、より迅速に起き上がるようにユーザを促進するように作動する。別の例では、PCD100は、ユーザが運動しているのを観察した時に激励する音又はワードを発することができる。そのような事例では、PCD100は、ユーザが望むアクションに対して永続的な正の強化を与えるように機能する。   In accordance with the illustrative and non-limiting embodiment, the PCD 100 provides machine learning functionality to improve the quality of interaction based on collected data. The algorithms utilized to implement machine learning can be implemented on the PCD 100 and on a computer platform in communication therewith. In the exemplary embodiment, the PCD 100 can use relevance conditioning to interact with the user to provide instruction and training. Relevancy or "operant" conditioning focuses on using reinforcement to improve behavior. Through this process, an association is formed between the behavior and the result to it. For example, the PCD 100 can emit a pleasing noise if the user wakes up quickly and jumps out of bed as opposed to staying stationary. As the user has associated the happy appearance state of the PCD 100 with such an action, over time, this interaction of the PCD 100 with the user operates to encourage the user to get up more quickly. In another example, the PCD 100 can emit an encouraging sound or word when observing that the user is exercising. In such cases, the PCD 100 functions to provide permanent positive enhancement to the action the user desires.

様々な例示的実施形態により、PCD100は、機械学習を実施する時に、時間パターンのモデル化及び認識、ユーザプリファレンスのモデル化、特徴の分類、タスク/ポリシーのモデル化、及び強化学習を含むがこれらに限定されない当業技術で公知の複数のタイプの解析のうちの1つを使用することができる。   According to various exemplary embodiments, the PCD 100 includes temporal pattern modeling and recognition, user preference modeling, feature classification, task / policy modeling, and reinforcement learning when performing machine learning, One of several types of analysis known in the art, not limited to these, can be used.

例示的かつ非限定的実施形態により、PCD100は、ユーザと対話するのに最も適する対話モードを識別するために視覚モデル、聴覚モデル、運動感覚モデル、又は「VAK」モデルを使用することができる。PCD100は、ユーザの支配的学習方式を決定するように作動させることができる。例えば、ユーザが情報を主として視覚的に処理することをPCD100が決定した場合に、PCD100は、ユーザに情報を伝達するのにPCD100の一部を形成するグラフィックディスプレイ104のような上で図表及び図を使用することができる。同じく、PCD100は、聴覚環境においてユーザが覚醒状態に留まるのを助けるためにユーザに質問及び他のプロンプトを出すように作動させることができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can use a visual model, an auditory model, a kinesthetic model, or a "VAK" model to identify the most appropriate interaction mode to interact with the user. The PCD 100 can be operated to determine a user's dominant learning strategy. For example, if the PCD 100 decides to process the information primarily visually by the user, the PCD 100 may be on a diagram and diagram such as the graphic display 104 which forms part of the PCD 100 to convey the information to the user. Can be used. Also, the PCD 100 can be activated to ask questions and other prompts to the user to help the user stay awake in the auditory environment.

同じく、ユーザが情報を主として聴覚的に処理することをPCD100が決定した場合に、PCD100は、何がやってくるのかに関する簡単な説明によって新しい対話を始めることができ、何が起こったかに関する要約で結論付けることができる。最後に、ユーザが情報を主として運動感覚的に処理することをPCD100が決定した場合に、PCD100は、移動及びタッチを含む運動感覚対話及び触覚対話によってユーザと対話するように作動させることができる。例えば、朝ユーザを起こして活動的にするために、PCD100は、ユーザに抱き締めるように要求する活動に携わることができる。他の実施形態では、親交的対話の要素を強調及び強化するために、PCD100は、対話に関する芳香を発することができる。   Also, if the PCD 100 decides that the user processes the information primarily aurally, the PCD 100 can start a new dialogue with a brief explanation of what is coming, and concludes with a summary of what happened be able to. Finally, if the PCD 100 determines that the user processes the information primarily kinesthetically, the PCD 100 can be activated to interact with the user through kinesthetic and tactile interactions including movement and touch. For example, to wake and activate the user in the morning, the PCD 100 can engage in activities that require the user to hug. In other embodiments, the PCD 100 can emit an aroma for interaction in order to emphasize and enhance elements of intimate interaction.

家の方々にPCD100を移動する機能は、PCD100としての重要な態様である。作動時に、PCD100は、人々が画面の前で立ち止まって覗き込まなければならない(現代のビデオ会議)のではなく、「自分の生活の流れの中に居続ける」ことを可能にするように物理的に実施され、身体的親交的に表現力に富むコミュニケーション手法を離れている人に与えるように作動する。その結果、PCD100は、ユーザが誰かの家を訪ねているかのようなさりげない対話に対するサポートを提供する。ユーザは、例えば、皿洗いのような他の活動をしていながら、依然としてPCD100が部屋の方々にユーザを追跡することができる方式に起因して会話を続けることができる。上述した例示的実施形態では、PCD100は、そのセンサ及び出力を部屋のような至る所に運ぶように設計される。中核を構成する技術態様は、以下のことを含む。   The ability to move the PCD 100 to the home is an important aspect of the PCD 100. When activated, the PCD 100 is physically so as to allow people to "continue to be in the flow of their life" rather than having to stop and look in front of the screen (modern video conferencing) It works to give away people an expressive communication method that is physically friendly. As a result, the PCD 100 provides support for casual interactions such as if the user is visiting someone's home. While the user is doing other activities, such as dishwashing, for example, the conversation can still be continued due to the manner in which the PCD 100 can track the user to the people in the room. In the exemplary embodiment described above, the PCD 100 is designed to carry its sensors and outputs throughout, such as a room. The technical aspects that constitute the core include the following.

ユーザは、PCD100のカメラビューを制御することができ、PCD100は、逆運動を追跡し、実行してカメラをターゲットの物体上に保つことによってこの制御を自動化するのに役立たせることができる。   The user can control the camera view of the PCD 100, and the PCD 100 can help reverse this motion and help automate this control by keeping the camera on the target object.

PCD100は、アイコンタクトのような重要な非言語手がかりを維持する手法で人の表現を画面にレンダリングする(ビデオストリーム、グラフィックのような)ことができる。   The PCD 100 can render human representations on the screen (such as video streams, graphics) in a way that maintains important non-verbal cues such as eye contact.

PCD100は、人が表現的な物理的存在を有するように、離れている人の頭の姿勢、身体の姿勢を反映することができる。PCD100は、友好関係を構成するために姿勢の反映及び同期のような状況に適するPCD100独自の表現的な身体の移動を生成することができる。   The PCD 100 can reflect the posture of the head of the person who is away and the posture of the body so that the person has an expressive physical existence. The PCD 100 can generate the PCD 100's own expressive body movements suitable for situations such as posture reflection and synchronization to construct a friendly relationship.

PCD100は、更にアニメーション及び音をトリガすることができる。従って、ユーザは、自分を自分又は面白いキャラクターのいずれかとして正確に伝達しようと試みることができる。これは、おばあちゃんが物語の朗読中に様々なキャラクターを装いながら孫に物語をリモートに読み聞かせることができる接続物語朗読に対して確かに有利である。   The PCD 100 can also trigger animations and sounds. Thus, the user can try to correctly communicate himself as either himself or a funny character. This is certainly an advantage over connected narrative reading, where a grandma can remotely read stories to a grandchild while disguising various characters while reading a story.

PCD100は、話している人を追跡して自体の凝視/ユーザのカメラビューをこの話者に自動的に変位することができる(PCD100を手動制御しなければならない時の認識負荷を軽減するために)。   The PCD 100 can track the person who is speaking and automatically displace its gaze / user's camera view to this speaker (to reduce the recognition load when the PCD 100 has to be controlled manually) ).

PCD100は、リモートユーザが、PCD100に対する大なり小なり直接的な制御をアサートすることができ、PCD100が自律性を用いて補足することができるようなスライド式自律性インタフェースを有することができる。   The PCD 100 can have a sliding autonomy interface such that the remote user can assert more or less direct control over the PCD 100 and can be supplemented with autonomy.

PCD100は、ユーザに広い視野(他のデバイスが提供する/装備するトンネルビジョンでは、ユーザがその前に留まらなければならないことでそれよりもかなり優れている)を提供することができる。   The PCD 100 can provide the user with a wide field of view (in tunnel vision provided / equipped by other devices, much better than having the user have to stay in front of it).

これら全てのことを行い、PCD100を家の方々の異なる場所に置くことができることにより、離れている人は、コミュニケーションを取ることができるだけではなく、活動に参加することができると感じる。寝る時間に物語を共有すること、遊び部屋において孫達と遊ぶこと、感謝祭の夕食にリモートに参加すること、娘が家族レシピを調理するのを手伝いながらキッチン天板の上に腰掛けることなどができるために、PCD100は、ハンズフリー作動をサポートし、従って、ユーザは、どこか他の場所に現実の物理的な親交的存在を有するように感じる。   By doing all this and being able to place the PCD 100 in different places of the home, the remoter feels that they can not only communicate but also participate in activities. Sharing stories while sleeping, playing with grandchildren in the playroom, remotely joining a Thanksgiving dinner, sitting on a kitchen baking sheet while helping a daughter cook a family recipe, etc. To be able, the PCD 100 supports hands-free operation, so the user feels to have a real physical intimate presence somewhere else.

例示的かつ非限定的実施形態により、PCD100は、ユーザが生活して動く環境に典型的な様々な面上又はその周りで安定した状態又は平衡が保たれた状態で配置されるように構成するか又は適応させることができる。例えば、PCD100のほぼ平面の面を滑らかな面上でPCD100の摺動を防止するように作動する摩擦パッドから少なくとも部分的に製造するか又はこの面がこのパッドを組み込むことができる。他の実施形態では、PCD100は、凹凸面上にPCD100を配置するために手動又は自動のいずれかで配備することができる部分的に着脱可能又は伸縮性の付属物を使用することができる。他の実施形態では、デバイスは、それが環境内で移動回るか又は物体を操作することを可能にするハードウエア付属品を有することができる。デバイスには、外面又は物体上に表示することができるようなレーザポインタ又はプロジェクタを装備することができる。そのような事例では、PCD100は、滑りを更に低減するために付属物の末端上又はその近くに摩擦パッドを組み込むことができる。更に他の実施形態では、PCD100は、面への一時的な付着に向けてPCD100の外部の1又は複数の面上に1又は2以上の吸盤を組み込むことができる。更に他の実施形態では、PCD100は、PCD100を固定するため及び/又はPCD100を吊り下げるためにフック及びループなどを組み込むことができる。   According to an exemplary and non-limiting embodiment, the PCD 100 is configured to be placed in a stable or balanced state on or around various planes typical of the environment in which the user lives and moves Or can be adapted. For example, the substantially planar surface of the PCD 100 may be at least partially manufactured from or incorporated with a friction pad that operates to prevent sliding of the PCD 100 on a smooth surface. In other embodiments, the PCD 100 can use partially removable or stretchable appendages that can be deployed either manually or automatically to place the PCD 100 on a textured surface. In other embodiments, the device can have a hardware attachment that allows it to move around or manipulate an object in the environment. The device can be equipped with a laser pointer or projector such that it can be displayed on the outer surface or on an object. In such cases, the PCD 100 can incorporate a friction pad on or near the end of the appendage to further reduce slippage. In still other embodiments, the PCD 100 can incorporate one or more suction cups on one or more external surfaces of the PCD 100 for temporary attachment to the surface. In still other embodiments, the PCD 100 can incorporate hooks and loops or the like to secure the PCD 100 and / or suspend the PCD 100.

他の例示的実施形態では、PCD100は、手で携帯可能であるように適応される。特に、PCD100は、10kg未満の重さしかなく、4,000cm3よりも大きくない体積しか占有しないように構成される。更に、PCD100は、それを運ぶ上での使用に向けて備え付けの又は着脱可能なストラップ又はハンドルを含むことができる。 In another exemplary embodiment, the PCD 100 is adapted to be portable by hand. In particular, the PCD 100 is configured to only weigh less than 10 kg and occupy a volume no greater than 4,000 cm 3 . Additionally, the PCD 100 can include an attached or removable strap or handle for use in carrying it.

例示的かつ非限定的実施形態により、PCD100は、親交的手がかりの存在又は発生を永続的に認識する又は計算によって決定することができ、親交的に存在するように構成される。従って、PCD100は、完全な停止期間を回避するように作動させることができる。一部の実施形態では、PCD100は、電力を節約するために定期的に低電力状態又は「スリープ状態」に入ることができる。そのようなスリープ状態中に、PCD100は、人又はユーザがPCD100の周りに入ること、人声の音、及び類似のもののような親交的手がかりの存在に対してPCD100に注意を促す可能性が高い少ない入力セットを処理するように作動させることができる。PCD100は、それ自体が対話することができる人又はユーザの存在を検出すると、PCD100のセンサ入力のうちのより多くのもの又は全てが背景データを感受して処理するのに利用される完全覚醒モードに移行することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can be permanently recognized or calculated to determine the presence or occurrence of intimate cues, and is configured to be incoherently present. Thus, the PCD 100 can be operated to avoid a full shutdown period. In some embodiments, the PCD 100 can periodically go into a low power state or "sleep state" to conserve power. During such sleep states, the PCD 100 is likely to alert the PCD 100 to the presence of intrusive cues such as people or users entering the PCD 100, sounds of human voice, and the like. It can be operated to process a small set of inputs. When the PCD 100 detects the presence of a person or user that can interact with itself, a fully awake mode is utilized in which more or all of the sensor inputs of the PCD 100 are sensitive to and process background data Can be transferred to

親交的手がかりを永続的に認識する状態に留まることができることにより、常にPCD100の電源を停止するか又は手動で電源を投入する必要が低減する。停止及び起動することができることは機械デバイスに関する属性であるので、完全電源停止モードに入るのを回避するPCD100の機能は、PCD100が生きているコンパニオンであるという感覚を高める。一部の実施形態では、PCD100は、白色ノイズ又はいびきを模倣する音を発することによってスリープ状態にあることを強調することができる。そのような事例では、ユーザがPCD100に出会うと、PCD100はユーザの存在を感知し、例えば、あくびのような目覚めを示すノイズでユーザに挨拶することで完全覚醒モード又は電源投入モードへの移行を進める。そのようなアクションは、PCD100とユーザとの間で対話を始める手がかりとして機能する。   By being able to stay in a state that recognizes intimacy cues permanently, the need to shut down or manually power on the PCD 100 at all times is reduced. Because being able to stop and start is an attribute on the mechanical device, the ability of the PCD 100 to avoid entering the full power off mode enhances the sense that the PCD 100 is a living companion. In some embodiments, the PCD 100 can be emphasized to be in sleep by emitting white noise or a sound that mimics snoring. In such a case, when the user encounters the PCD 100, the PCD 100 senses the user's presence and, for example, greet the user with a noise indicating awakening like yawning to transition to the full awake mode or the power on mode. Advance. Such an action acts as a clue to initiate a dialogue between the PCD 100 and the user.

例示的かつ非限定的実施形態により、PCD100は、ユーザからの言語合図及び非言語合図及び手がかりをモニタ、追跡、及び特徴付けるように適応される。そのような手がかりの例は、身振り、凝視方向、ワードの選択、音声韻律、体勢、顔の表情、感情手がかり、及びタッチなどを含むがこれらに限定されない。全てのそのような手がかりは、センサデバイス102、104、106、108、112を通して捕捉することができる。PCD100は、その挙動を捕捉された手がかりを実質的に模倣するか又は反映するように適応し、調節するように更に構成することができる。そうすることにより、PCD100は、ユーザの特徴及び精神状態を反映するように見せることでPCD100とユーザ間の友好関係を高める。そのような反映は、PCD100のこの特徴の長期投影に向けてPCD100の個性又はデジタルソウルの中に組み込むことができ、又は一時的なものとし、例えば、特定の親交的対話を包含する期間にわたって延長することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 is adapted to monitor, track and characterize linguistic and non-verbal cues and cues from a user. Examples of such cues include, but are not limited to, gestures, gaze direction, word selection, speech prosody, posture, facial expressions, emotional cues, touch, etc. All such cues can be captured through the sensor devices 102, 104, 106, 108, 112. The PCD 100 can be further configured to adapt and adjust its behavior to substantially mimic or reflect captured cues. By doing so, the PCD 100 enhances the friendship between the PCD 100 and the user by making it appear to reflect the user's features and mental state. Such reflections can be incorporated into the personality or digital soul of PCD 100 towards long-term projection of this feature of PCD 100, or be temporary, eg, extended over a period that includes certain intimate interactions can do.

例えば、PCD100は、ユーザが特定のフレーズを繰り返し使用することを検出した場合に、このフレーズをその後にユーザと対話する時のPCD100による永続的な使用に向けて対話データのコーパスに追加することができる。同じく、PCD100は、一過性の言語及び非言語の身振りを実時間又は近実時間で模倣することができる。例えば、PCD100は、興奮を示すユーザの音声の周波数増大と相まった高いワード速度を検出した場合に、通常よりも高い周波数と高い語速度とでユーザとの言語対話を始めることができる。   For example, if the PCD 100 detects that the user repeatedly uses a particular phrase, then the phrase may be added to the corpus of dialog data for subsequent permanent use by the PCD 100 when interacting with the user. it can. Also, the PCD 100 can mimic transient language and non-verbal gestures in real time or near real time. For example, if the PCD 100 detects a high word rate coupled with the frequency increase of the user's voice indicating excitement, it can begin verbal interaction with the user at a higher than normal frequency and a high word rate.

例示的かつ非限定的実施形態により、PCD100は、身体形状因子、物理的移動、グラフィック、及び音を含むがこれらに限定されないPCD100の一部を形成する様々な物理的発現を通して際立ったペルソナ又はデジタルソウルを投影することができる。一実施形態では、PCD100は、表現的技巧を使用することができる。例えば、PCD100は、オーディオ信号の出力を通して発声する時に作動させることができる可動顎付属物を組み込むことができる。そのような付属物には、笑顔又は不興顔を適切に模倣するほど十分な自由度数を付与することができる。同じく、PCD100は、視覚露出度を変化させることができる1又は2以上の「眼様」付属品を有するように構成することができる。その結果、PCD100は、びっくりすること、驚くこと、及び興味を有することなどに応答して「眼を大きく見開いた」表現を表示することができる。   According to an exemplary and non-limiting embodiment, PCD 100 stands out as a persona or digital that stands out through various physical manifestations that form part of PCD 100 including, but not limited to, body shape factors, physical movements, graphics, and sounds. You can project Seoul. In one embodiment, the PCD 100 can use expressive techniques. For example, the PCD 100 can incorporate movable jaw appendages that can be activated when speaking through the output of an audio signal. Such appendages can be provided with a degree of freedom sufficient to mimic a smile or a bad face properly. Also, the PCD 100 can be configured to have one or more "eye-like" accessories that can change the degree of visual exposure. As a result, the PCD 100 can display an "eye-opened" expression in response to surprises, surprises, and interest.

例示的かつ非限定的実施形態により、PCD100は、例えば、画面モードと全体モードの間で移行するために空間でのPCD100自体の姿勢又は位置を検出することができる。例えば、PCD100は、グラフィック情報を表示するために画面104を組み込んでいる場合に、ユーザが画面を自分の顔に向けて上方に自分がディスプレイを見ることができる位置に有する時に、PCD100がいかなる状態にあったとしてもそこから画面に情報を出力するモードに移行することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can detect the attitude or position of the PCD 100 itself in space, for example, to transition between screen mode and global mode. For example, if the PCD 100 incorporates the screen 104 to display graphic information, any state of the PCD 100 when the user directs the screen towards his face and at a position where he can view the display upwards Even if there is, you can shift to a mode to output information to the screen from there.

別の実施形態により、PCD100の一部を形成する1又は2以上の圧力センサが、ユーザがPCD100を親交的にタッチした時を検出することができる。例えば、PCD100は、1よりも多い圧力センサが圧力を受けているパターンからユーザがそれを摩っている、撫でているか、又は軽く叩いていることを決定することができる。親交的タッチの様々な検出モードが、ユーザとの親交的対話を促進又は抑制する対話挙動を示す際のPCD100へのトリガとして機能することができる。   According to another embodiment, one or more pressure sensors that form part of the PCD 100 can detect when the user touches the PCD 100 incoherently. For example, the PCD 100 can determine that the user is wearing, brushing, or tapping from a pattern in which more than one pressure sensor is under pressure. Various detection modes of intimate touch may serve as a trigger to the PCD 100 in exhibiting an interactive behavior that facilitates or suppresses intimate interaction with the user.

例示的かつ非限定的実施形態により、PCD100には、その見栄え及び雰囲気を改善するための付属品を取り付けることができる。そのような付属品は、皮膚、衣装、内部と外部の両方の照明及びマスクなどを含むがこれらに限定されない。   According to an exemplary non-limiting embodiment, the PCD 100 can be fitted with accessories to improve its appearance and feel. Such accessories include, but are not limited to, skin, costumes, both internal and external lighting and masks, and the like.

上述のように、PCD100のペルソナ又はデジタルソウルは、PCD100の物理的発現から二分することができる。PCD100のペルソナを含む属性は、Bluetooth又はWi−Fiなどを通してサーバ及びパーソナルコンピュータデバイスを含むがこれらに限定されない1又は2以上の他のコンピュータデバイスに伝達又は通信することができるデジタルデータとして格納することができる。そのような状況では、パーソナルコンピュータデバイスは、一連のプログラム可能段階を実行するためにプロセッサ及び格納メモリを利用するあらゆるデバイスとすることができる。一部の実施形態では、PCD100のデジタルソウルは、腕時計又は携帯電話のような消費者付属品に伝達することができる。そのような事例では、PCD100のペルソナは、有効かつ一時的に別のデバイスに伝達することができる。一部の実施形態では、伝達中に、PCD100の伝達インスタンスがユーザの環境を感知し、親交的対話に携わり、対話データを取り出して出力し続けることができる。そのような対話データは、後の時点でPCD100に伝達するか又はPCD100による後の検索取得に向けてサーバにアップロードすることができる。   As mentioned above, the persona or digital soul of PCD 100 can be bisected from the physical expression of PCD 100. Attributes that include the persona of the PCD 100 may be stored as digital data that can be communicated or communicated to one or more other computing devices, including but not limited to servers and personal computing devices, such as through Bluetooth or Wi-Fi Can. In such situations, the personal computing device can be any device that utilizes a processor and storage memory to perform a series of programmable steps. In some embodiments, the digital soul of PCD 100 can be communicated to consumer accessories such as a watch or a mobile phone. In such cases, the persona of PCD 100 can effectively and temporarily communicate to another device. In some embodiments, during transmission, a transmission instance of the PCD 100 may sense the user's environment, engage in intimate interaction, and continue to retrieve and output interaction data. Such interaction data may be communicated to the PCD 100 at a later point in time or uploaded to the server for later retrieval by the PCD 100.

例示的かつ非限定的実施形態により、PCD100は、親交的手がかりに応答して適応する視覚パターンを示すことができる。例えば、ディスプレイ104は、興奮時に赤色光を発し、平静時に青色光を発することができる。同じく、ディスプレイ104は、ユーザがタスクを首尾良く完了した時等にお祝いを伝達するために落ちて行く紙ふぶきのアニメーションを表示することができる。一部の実施形態では、表示のためのテクスチャ及びアニメーションは、直接PCD100内か、又はPCD100と通信しているサーバ又は外部デバイス内かのいずれかにユーザが選択可能又はプログラム可能なものとすることができる。更に他の実施形態では、PCD100は、シミュレーション感情を表現するために一連のビープ音及びホイッスルを発することができる。一部の実施形態では、ビープ音及びホイッスルは、ユーザの発話及び他の言語発言から導出されたパターンに基づいてパターン化することができる。一部の事例では、ビープ音、ホイッスル、及び他のオーディオ出力は、PCD100に固有の聴覚痕跡として機能することができる。一部の実施形態では、シミュレーション家族を形成する「関連」PCD100のグループのような複数のPCD100に対して、関連度を示すために同じ聴覚痕跡の変形を使用することができる。   According to an exemplary and non-limiting embodiment, the PCD 100 can exhibit a visual pattern that adapts in response to intimacy cues. For example, the display 104 can emit red light when excited and blue light when quiet. Also, the display 104 may display an animation of falling confetti to convey a celebration, such as when the user has successfully completed the task. In some embodiments, the textures and animations for display may be user selectable or programmable either directly in the PCD 100 or in a server or external device in communication with the PCD 100. Can. In yet another embodiment, the PCD 100 can emit a series of beeps and whistles to represent simulated emotions. In some embodiments, beeps and whistles can be patterned based on patterns derived from the user's speech and other speech utterances. In some cases, beeps, whistle, and other audio outputs can serve as auditory signatures that are unique to the PCD 100. In some embodiments, for multiple PCDs 100, such as a group of "related" PCDs 100 forming a simulation family, the same auditory trace variant can be used to indicate the degree of association.

一部の実施形態では、PCD100は、感情を伝達するために表現モード中の歪像移行に携わることができる。例えば、PCD100は、人間感情を表示する方法として、ランダムパターン、擬似ランダムパターン、又は他のグラフィックから笑顔又は不興顔の口の表示に移行するようにディスプレイ104を作動させることができる。   In some embodiments, the PCD 100 can engage in distortion image transition in a representation mode to convey emotions. For example, the PCD 100 can activate the display 104 to transition from random patterns, pseudo-random patterns, or other graphics to the display of a smiling or displeased face as a way of displaying human emotions.

他の例示的実施形態では、PCD100は、感情状態を表現するために芳香又はフェロモンを発することができる。   In another exemplary embodiment, the PCD 100 can emit a fragrance or pheromone to express an emotional state.

更に別の例示的実施形態により、ユーザとの対話の基礎のためのものとすることができる経歴をPCD100に対してアクセス可能なデータの形態で与えることができる。そのようなデータは、現実と架空の両方のものであり、PCD100の前歴の一部を形成する過去の事象を参照する1又は2以上の物語を含むことができる。例えば、PCD100には、その生涯での過去の出来事を発話生成によってユーザに伝える物語を与えることができる。そのような物語は、ユーザによる要求時に出力するか又は対話データによってトリガすることができる。例えば、PCD100は、今日がユーザの誕生日であることをユーザデータから判別することができる。従って、PCD100をトリガし、PCD100の過去の誕生日に関する物語をユーザと共有することができる。経歴を含むデータは、中心に格納し、ユーザによる要求時に、又はPCD100によって自律的にPCD100にダウンロードすることができる。   According to yet another exemplary embodiment, a history can be provided in the form of data accessible to the PCD 100 that can be based on user interaction. Such data may be both real and fictional, and may include one or more stories referencing past events that form part of the PCD's 100 history. For example, the PCD 100 can be given a story that tells the user through past generation of past events in their lifetime. Such stories can be output upon request by the user or triggered by interaction data. For example, the PCD 100 can determine from user data that today is the user's birthday. Thus, the PCD 100 can be triggered to share a story about the PCD 100's past birthday with the user. Data including history can be stored centrally and downloaded to PCD 100 upon request by the user or autonomously by PCD 100.

経歴は、PCD100の製造業者が生成して格納し、要求時にユーザに対して利用可能にすることができる。図11を参照すると、例示的かつ非限定的実施形態の流れ図1100が示されている。一例では、段階1102において、製造業者が、スポーツ、特に野球及びボストンレッドソックスに興味があるユーザに随伴する犬に基づいてモデル化されたPCD100に関する経歴への要求を入力として受信することができる。従って、段階1104において、製造業者又は第三者経歴提供者が、基本経歴を生成することができる。一例では、この履歴は、比較的一般的な犬の履歴をレッドソックスに関する詳細が追加された野球を扱ったより具体的な履歴によって拡張したものを含むことができる。   The history can be generated and stored by the PCD 100 manufacturer and made available to the user upon request. Referring to FIG. 11, a flowchart 1100 of an exemplary and non-limiting embodiment is shown. In one example, at stage 1102, a manufacturer can receive as an input a request for a career with respect to a PCD 100 modeled based on a dog associated with a user interested in sports, particularly baseball and Boston Red Sox. Thus, at stage 1104, a manufacturer or third party career provider can generate a basic career. In one example, this history may include a more general dog history augmented with a more specific history dealing with baseball with additional details on Red Sox.

一部の実施形態では、段階1106において、この経歴をPCD100による更に別の実時間カスタム化を可能にすることになる変数を用いて符号化することができる。例えば、経歴を「私と私の兄弟姉妹達<fori==1tomax_siblings,insert sibling_name[i]>は、〜で育った...」のような擬似コードで符号化することができる。このようにして、PCD100が読み取る時に、この履歴をPCD100に関するものとして構成された他のPCD100の名称を含むものとして読み取ることができる。   In some embodiments, this history can be encoded at stage 1106 using variables that will allow for further real-time customization by the PCD 100. For example, a bio can be encoded with pseudocode such as "My and my siblings <fori == 1tomax_siblings, insert sibling_name [i]> grew up in ...". In this way, when the PCD 100 reads, this history can be read as including the names of other PCDs 100 configured as for the PCD 100.

例示的かつ非限定的実施形態により、PCD100には、コンパニオンデバイスの世話をすることを促進するPCD100の相互世話焼き機能を管理するための実行可能なモジュール又はプログラムを与えることができる。例えば、相互世話焼きモジュールは、乳児に関する音、グラフィック、及び芳香などを含む挙動を通してユーザと対話し始めることによって赤ん坊の世話をしようとする生来の衝動を利用するように作動させることができる。PCD100とユーザの友好関係は、相互世話焼きモジュールが、悲しみ、寂しさ、及び/又は憂鬱のような負の感情を表現し、同時にユーザからこの負の感情を和らげるためのアクションを誘い出すように作動する時に更に促進させることができる。このようにして、ユーザは、PCD100と対話してそれを元気付けるように仕向けられる。   By way of an illustrative and non-limiting embodiment, the PCD 100 can be provided with an executable module or program for managing the interworking function of the PCD 100 that facilitates caring for companion devices. For example, the mutual care module may be activated to take advantage of the natural impulses to take care of the baby by beginning to interact with the user through behaviors including sounds, graphics, aromas, etc. about the baby. The friendly relationship between the PCD 100 and the user operates such that the mutual caring module expresses negative emotions such as sadness, loneliness and / or depression and at the same time elicits an action from the user to alleviate this negative emotion. Sometimes it can be further promoted. In this way, the user is invited to interact with the PCD 100 and cheer it up.

例示的かつ非限定的実施形態により、PCD100は、ユーザ属性、PCD100のユーザとPCD100との対話、PCD100のユーザの環境を示す対話データにアクセスするように構成されたモジュールを含むことができる。図1200を参照すると、例示的かつ非限定的実施形態の流れ図が示されている。段階1202において、対話データがアクセスされる。段階1204において、対話データは、中央集中データ収集機器に格納することができる。取り出されて格納された状態で、段階1206において、対話データを利用してユーザの必要状態を予想することができる。必要状態が識別された状態で、段階1208において、それを利用して、アクションを実施するのにスケジュールに頼ることなくユーザの必要に先見的に対処することができる。一部の実施形態では、ユーザの身体的外見及び姿勢などが、必要状態を識別するための基礎を形成することができる。一部の事例では、必要状態の識別は、対話データの一部分などを含むスケジュールデータで補足することができる。例えば、スケジュールは、抗生物質剤を飲むというユーザの必要性を満たすには時間が過ぎていることを示すことができる。PCD100は、部分的に顔解析及び音声変調解析から導出されたユーザの必要状態を見ることができる。   According to an illustrative and non-limiting embodiment, the PCD 100 can include modules configured to access user attributes, interactions of the PCD 100 user with the PCD 100, interaction data indicative of the PCD 100 user's environment. Referring to FIG. 1200, a flowchart of an exemplary non-limiting embodiment is shown. At step 1202, interaction data is accessed. At stage 1204, the interaction data may be stored on a centralized data collection device. Once retrieved and stored, the interaction data may be utilized at step 1206 to predict the user's needs. Once the need has been identified, it can be used at step 1208 to proactively address the user's needs without resorting to a schedule to perform the action. In some embodiments, the physical appearance and posture of the user can form the basis for identifying the need. In some cases, the identification of the required state can be supplemented with schedule data, including a portion of the interaction data and the like. For example, the schedule can indicate that it is over time to meet the user's need to drink the antibiotic agent. The PCD 100 can view the user's needs derived in part from face analysis and speech modulation analysis.

例示的かつ非限定的実施形態により、PCD100は、1人の人から別の人にメッセージを伝達するためのメッセンジャーとして使用することができる。メッセージは、送信者の音声のオーディオ記録を含むがこれに限定されず、PCD100は、メッセージ及び曲を改善するのに使用されるキャラクター、踊り/アニメーション/音のクリップでメッセージを伝達する。   According to an exemplary and non-limiting embodiment, the PCD 100 can be used as a messenger to convey messages from one person to another. The message includes, but is not limited to, an audio recording of the sender's voice, and the PCD 100 communicates the message with a character, dance / animation / sound clip used to improve the message and song.

メッセージは、様々な手法で生成することができる。一実施形態では、PCD100は、スマートデバイス上のアプリとして実施される。送信者は、アプリを開き、メッセージ及び関連の音、スケジューリングなどを選択することができる。アプリ内のPCD100の仮想インスタンスは、ユーザに処理をウォークスルーさせることができる。別の実施形態では、PCD100との直接対話により、送信者/ユーザは、簡単なタッチインタフェース又は自然言語インタフェースを通していずれか後の時点で別の人に何かを伝えるようにPCD100に命令することができる。例えば、ユーザは、「PCD、妻が今朝キッチンに入ったら、彼女の好きな曲Xを再生して「愛してるよ」と伝えて」と言うことができる。送信者は、PCD100に自分の音声を記録させてメッセージの一部として使用することができる。他の実施形態では、送信者のPCD100がメッセージを配信する代わりに、別の場所にある異なるPCD100がメッセージを配信することができる。更に別の実施形態では、ユーザ/送信者は、例えば、特定のPCD100のハッシュタグにメッセージをツイートすることができ、PCD100は、このメッセージをユーザ/受信者に話すことになる。メッセージ内に、記録されたアニメーション/音スクリプトをPCD100が実行に移すことを促す顔文字を挿入することができる。いくつかの例示的感情は以下の通りである。   Messages can be generated in various ways. In one embodiment, the PCD 100 is implemented as an app on a smart device. The sender can open the app and select messages and associated sounds, scheduling etc. The virtual instance of the PCD 100 in the app can allow the user to walk through the process. In another embodiment, direct interaction with the PCD 100 causes the sender / user to instruct the PCD 100 to communicate something to another at a later point either through a simple touch interface or a natural language interface. it can. For example, the user can say, "PCD, when my wife enters the kitchen this morning, play her favorite song X and say" I love you ". The sender can have the PCD 100 record his voice and use it as part of the message. In other embodiments, instead of the sender's PCD 100 delivering the message, a different PCD 100 at another location may deliver the message. In yet another embodiment, the user / sender may, for example, tweet the message to a hashtag of a particular PCD 100, which will speak this message to the user / recipient. In the message, emoticons can be inserted that encourage the PCD 100 to put the recorded animation / sound script into action. Some exemplary emotions are as follows.

(表1)
表1:感情定義
(Table 1)
Table 1: Emotional definitions

更に、メッセージは、後の特定の日付及び時間又はある一定の状況セットの下で送られるようにスケジューリングすることができる(例えば、「火曜日に人Xに最初に会った時」又は「人Yが水曜日に目覚めた時にこのメッセージを与えて」)。   In addition, messages can be scheduled to be sent under a specific date and time or certain set of circumstances later (e.g. "when first met person X on Tuesday" or "person Y is Give this message when you wake up on Wednesday ").

他の実施形態では、PCD100を用いて、PCDを持たないユーザに対するメッセージを生成することができる。そのようなメッセージは、ウェブリンクの形態で生成することができ、受信者がPCDを有する場合に物理PCD100が配信することになるのと全く同じくメッセージを配信するために仮想PCD100を組み込むことができる。   In other embodiments, the PCD 100 can be used to generate a message for a user who does not have a PCD. Such a message can be generated in the form of a web link, and the virtual PCD 100 can be incorporated to deliver the message exactly as the physical PCD 100 would deliver if the recipient has a PCD .

従って、明らかなように、PCD100は、ユーザの友人及び家族のような人から、メッセージ内に指定された感情に関するアクションをトリガするメッセージを受信するように構成することができる。例えば、人は、ユーザに関するPCD100に、メッセージの送信者がPCD100を通して伝達したい感情又は親交的アクションを表す感情が内部に埋め込まれたメッセージをテキスト送信することができる。例えば、送信者が「非常に会いたいよ、OX」と書かれたメッセージをPCD100に送った場合に、PCD100は、メッセージを受信して、発話シンセサイザを通して「ロバートからきたメッセージに「非常に会いたい」と書かれています」を出力し、同時にキスする音を発し、ディスプレイ上にすぼめた唇又は類似のアクションを表示する。このようにして、メッセージ送信者は、自分達のメッセージに、PCD100がユーザと対話することを可能にする表現的モダリティを利用するための注釈を付けることができる。   Thus, as is apparent, the PCD 100 can be configured to receive messages from people such as the user's friends and family members that trigger actions related to emotions specified in the message. For example, a person can text transmit to the PCD 100 for the user a message in which the sender of the message wants to communicate through the PCD 100, the emotion representing embedded in it an emotion representing an affective action. For example, if the sender sends a message to the PCD 100 stating "very want to see, OX", the PCD 100 receives the message and wants to "very see the message from Robert" through the speech synthesizer Output “at the same time”, and at the same time, make a kiss sound, and display a lip or similar action which is blurred on the display. In this way, message senders can annotate their messages to take advantage of the expressive modalities that allow the PCD 100 to interact with the user.

図13を参照すると、例示的かつ非限定的実施形態の流れ図及びそれぞれの方法1300が示されている。本方法は、段階1302において永続的コンパニオンデバイス(PCD)を与える段階を含む。本方法は、段階1304において、身振り、凝視方向、ワードの選択、音声韻律、体勢、顔の表情、感情手がかり、及びタッチのグループから選択されるユーザからの言語合図又は非言語合図のうちの少なくとも1つを入力する段階を含む。本方法は、段階1306において、言語合図及び非言語合図のうちの少なくとも1つを反映するようにPCDの挙動を調節する段階を更に含む。   Referring to FIG. 13, a flowchart of an exemplary non-limiting embodiment and a respective method 1300 are shown. The method includes providing a persistent companion device (PCD) in step 1302. The method comprises, at step 1304, at least one of: a verbal or non-verbal cue from the user selected from the group of gestures, gaze direction, word selection, speech prosody, posture, facial expressions, emotional cues, and touch. Including the step of entering one. The method further includes, at step 1306, adjusting the behavior of the PCD to reflect at least one of speech cues and non-verbal cues.

開発プラットフォーム、ライブラリ、アセット、及びPCDなどの全ての上述の属性は、他の言語及び文化をサポートするように拡張することができる(ローカライズ)。   All the above mentioned attributes such as development platform, libraries, assets and PCD can be extended to support other languages and cultures (localization).

図14を参照すると、PCD100がユーザインタフェースを利用してユーザとの対話中に眼のような反復的、永続的、又は半永続的視覚要素を表示することを可能にする例の例示的かつ非限定的実施形態が示されている。例えば、以下に示すように、疑問符を表示するために、虹彩又は眼の面上の反射を示す明るめの円を含む視覚要素1400が、その位置を疑問符の底部に変位することができ、同時に眼が、中間の視覚要素1400’、1400’’を通して疑問符視覚要素1400’’’に変態する又は他に滑らかに移行する。説明して図示するように変態する視覚要素の機能は、高い可読性をもたらす。   Referring to FIG. 14, an exemplary but non-limiting example of enabling the PCD 100 to display repetitive, permanent, or semi-permanent visual elements such as eyes during user interaction using a user interface. A limited embodiment is shown. For example, as shown below, to display a question mark, a visual element 1400 comprising a bright circle indicating reflection on the surface of the iris or eye can displace its position to the bottom of the question mark at the same time as the eye Are transformed to the question mark visual element 1400 ′ ′ ′ or transition smoothly to the other through the intermediate visual elements 1400 ′, 1400 ′ ′. The ability of the visual element to transform as described and illustrated provides high readability.

図15を参照すると、眼が眼としては視覚的に過度に複雑な形状に変態することが意図される事例において、視覚要素1500が図示のように「瞬き」して視覚的により複雑な形状1500’に移行することを可能にする例の例示的かつ非限定的実施形態が示されている。例えば、図示のように、眼の視覚要素1500は、「瞬き」して温度又は他の天気関連の変数の形状1500’を見せる。   Referring to FIG. 15, in the case where the eye is intended to transform into an overly complex shape visually as the eye, the visual element 1500 “blinks” as shown to visually complicate the shape 1500 An exemplary non-limiting embodiment of an example that allows to transition to 'is shown. For example, as shown, the visual element 1500 of the eye "blinks" to show the shape 1500 'of temperature or other weather related variables.

図16を参照すると、口の記号を眼視覚要素の面区域から形成するか又は掘り出すことを可能にする例の例示的かつ非限定的実施形態が示されている。様々な実施形態では、視覚要素の色を変更して表示される表現を強化することができる。   Referring to FIG. 16, an exemplary non-limiting embodiment of an example that enables the mouth symbol to be formed or excavated from the surface area of the ocular visual element is shown. In various embodiments, the color of the visual element can be changed to enhance the displayed presentation.

様々な例示的かつ非限定的実施形態により、PCD100は、スマートフォン及びタブレットのような従来のモバイルデバイス上で作動するアプリケーションと比較して「技能」を有し、それを示すことができる。iOS及びAndroidのようなモバイルプラットフォーム上で作動するアプリケーションと全く同じく、PCD100は、広範な新しい技能を配備する機能をサポートすることができる。PCDの技能は、JavaScriptパッケージに加えて、様々なJavaScriptAPI、並びに実行エンジンへのフィード情報を呼び出すことができるアセット及び構成ファイルを含むことができる。その結果、PCD100のための新しい技能を開発するのに内部と外部の両方の開発者をサポートすることができる。   According to various exemplary and non-limiting embodiments, the PCD 100 can have "skills" as compared to applications running on conventional mobile devices such as smartphones and tablets. Just as applications running on mobile platforms like iOS and Android, PCD 100 can support the ability to deploy a wide range of new skills. The PCD's skills can include, in addition to JavaScript packages, various JavaScript APIs, as well as assets and configuration files that can invoke feed information to the execution engine. As a result, both internal and external developers can be supported in developing new skills for the PCD 100.

基本原理として、あらゆる新しい社会ロボット技能は、新しい技能を開発するためのソフトウエア開発キット(SDK)のコア構成要素を含むJavaScriptAPIセットに関するJavaScriptで完全に書くことができる。しかし、開発を容易にするために、表現ツールスイート及び挙動エディタのようなツールセットは、実行エンジン内に流し込まれる構成ファイルを開発者が生成することを可能にすることができ、より簡単でより迅速な技能開発、並びに過去に開発された技能の使用を容易にする。   As a basic principle, any new social robot skills can be completely written in JavaScript on a JavaScript API set that includes the core components of a software development kit (SDK) to develop new skills. However, to facilitate development, toolsets such as expressive tool suites and behavior editors can allow developers to generate configuration files that are streamed into the execution engine, and are easier and more Facilitate rapid skill development, as well as the use of skills developed in the past.

図17を参照すると、PCD100のための実行時技能を可能にするためのプラットフォームの例示的かつ非限定的実施形態が示されている。図示のように、様々な入力1700は、立体RGBカメラ、マイクロフォンアレイ、及びタッチ感知センサからの画像を含むがこれらに限定されない。入力1700は、タッチ画面を通して利用可能である。入力1700は、入力データを抽出して分類するための処理を実施する感知処理モジュール1702への入力を形成することができる。入力は、永続的コンパニオンデバイスの外部にあるデバイス又はソフトウエアアプリケーション、例えば、ウェブアプリケーション、モバイルアプリケーション、モノのインターネット(IoT)デバイス、ホームオートメーションデバイス、及び警報システムなどから利用可能である。感知処理モジュールに使用することができる処理形態の例は、自動化発話認識(ASR)、感情検出、顔識別(ID)、人又は物体の追跡、ビーム形成、及びタッチ識別を含むがこれらに限定されない。感知処理の結果は、実行エンジン1704に入力として伝達することができる。実行エンジン1704は、定められた技能を適用し、任意的に、例えば、限定されることなく入力文法、挙動木、JavaScript、アニメーション、及び発話/音の形態にある追加入力1706を受信するように作動させることができる。同じく実行エンジン1704は、家族メンバモデル1708からの入力を受信することができる。   Referring to FIG. 17, an exemplary non-limiting embodiment of a platform for enabling runtime skills for PCD 100 is shown. As shown, various inputs 1700 include, but are not limited to, images from stereoscopic RGB cameras, microphone arrays, and touch sensitive sensors. The input 1700 is available through the touch screen. Input 1700 can form an input to a sensing processing module 1702 that performs processing to extract and classify input data. Inputs are available from devices or software applications external to the persistent companion device, such as web applications, mobile applications, Internet of Things (IoT) devices, home automation devices, and alarm systems. Examples of processing forms that can be used for the sensing processing module include, but are not limited to, automated speech recognition (ASR), emotion detection, face identification (ID), tracking of people or objects, beamforming, and touch identification . The results of the sensing process can be communicated to the execution engine 1704 as an input. The execution engine 1704 applies the defined skills and optionally, for example, to receive additional inputs 1706 in the form of, without limitation, input grammar, behavior trees, JavaScript, animation, and speech / sound. It can be operated. The execution engine 1704 can also receive input from the family member model 1708.

実行エンジン1704は、表現モジュール1710への入力を形成するデータを出力することができ、表現モジュール1710において、論理的に定められた技能態様が、各々を本発明の開示の他の箇所で説明するようにPCDのモード、状態、気分、及びペルソナなどを反映するように表現モジュール1710内でプログラムすることができるアニメーション(例えば、PCDの様々な部分の移動)、グラフィック(タッチ画面とすることができる画面上に表示されるもの又は上述した眼の移動)、照明、及び発話又は他の音を含むがこれらに限定されないPCD100の表現的要素にマップされる。表現モジュール1710は、オーディオ出力、ディスプレイ、照明要素、及び移動を可能にするモータを含むがこれらに限定されず、技能を表現するためのPCD100の様々なハードウエア構成要素1712にデータ及び命令を出力することができる。出力は、PCD100の外部にあるデバイス又はアプリケーション、例えば、IoTデバイス、ウェブアプリケーション、及びモバイルアプリケーションなどへの制御信号又はデータを含むことができる。   The execution engine 1704 can output data forming an input to the representation module 1710, where logically defined skills aspects describe each other in the present disclosure. As animation (eg movement of various parts of PCD), graphics (touch screen) can be programmed in the expression module 1710 to reflect the mode, state, mood, persona etc etc of the PCD It is mapped to the expressive elements of the PCD 100 including, but not limited to, those displayed on the screen or eye movements described above, lighting, and speech or other sounds. The representation module 1710 outputs data and instructions to the various hardware components 1712 of the PCD 100 for expressing skills, including but not limited to audio outputs, displays, lighting elements, and motors that allow movement. can do. The output can include control signals or data to devices or applications external to PCD 100, such as, for example, IoT devices, web applications, and mobile applications.

図18を参照すると、SDKを用いた技能の開発を可能にするプラットフォームに関するフロー及び様々なアーキテクチャ構成要素の例示的かつ非限定的実施形態が示されている。図示のように、論理レベル1800は、知覚レベル1802と通信することができる。知覚レベル1802は、様々な事象を検出することができ、例えば、視覚機能モジュール1804を通して視覚機能事象を表現エンジン1806を通してアニメーション事象を更に発話認識器1806を通して発話認識事象を検出することができる。論理レベル1800と知覚レベル1802の間の通信は、知覚された事象を表現される技能に変換するように機能することができる。   Referring to FIG. 18, an exemplary non-limiting embodiment of the flow and various architectural components for the platform that enables the development of skills with the SDK is shown. As shown, logic level 1800 can be in communication with perception level 1802. Perception level 1802 can detect various events, for example, visual function events through visual function module 1804, animation events through expression engine 1806, and speech recognition events through speech recognizer 1806. Communication between logic level 1800 and perception level 1802 can function to convert perceived events into skills that are represented.

上述のことを念頭に置き、JavaScriptAPIセットを通してある一定の機能を提供することができる。第1に、JavaScriptAPIは、様々なタイプの感知入力に対して存在することができる。JavaScriptAPIは、様々な表現出力に対して存在することができる。JavaScriptAPIは、他の既存のJavaScriptAPIを更に呼び出すことができる実行エンジン1704に対して存在することができる。JavaScriptAPIは、家族メンバモデル1708のような様々なモデルに格納された情報に対して存在することができる。実行エンジン1704は、その中での使用に向けてこれらのAPIを通して情報を抽出することなどによってこれらのAPIのいずれかを使用する。実施形態では、実行エンジンを用いない開発者は、家族メンバモデル1708に直接アクセス可能である。取りわけ、PCD100は、それ自体を1又は2以上のユーザ、その環境、及びその使用パターンに対して適応及びパーソナル化することなどを可能にするために情報、挙動パターン、プリファレンス、及びユースケースパターンなどに対して機械学習などを用いて学習することができる。そのようなデータ及びそのような学習の結果は、PCD100に対する家族メンバモデル1708内に実施することができる。   With the above in mind, we can provide certain functionality through the JavaScript API set. First, JavaScript APIs can exist for various types of sensing input. JavaScript APIs can exist for various presentation outputs. A JavaScript API can exist for an execution engine 1704 that can further call other existing JavaScript APIs. A JavaScript API can exist for information stored in various models, such as family member model 1708. Execution engine 1704 uses any of these APIs, such as by extracting information through these APIs for use therein. In an embodiment, developers who do not use the execution engine have direct access to the family member model 1708. In particular, the PCD 100 can use information, behavior patterns, preferences, and use cases to enable itself to be adapted and personalized to one or more users, their environments, their usage patterns, etc. It is possible to learn patterns and the like using machine learning and the like. Such data and the results of such learning can be implemented in family member model 1708 for PCD 100.

感知入力APIは、自動化発話認識(ASR)API、音声入力API、他の音を処理するためのAPI(例えば、音楽認識及び特定の音パターンの検出などのための)、超音波又はソナーを処理するためのAPI、電磁エネルギ(可視光、無線信号、マイクロ波、X線、及び赤外線信号など)を処理するためのAPI、画像処理のためのAPI、化学信号を処理する(例えば、煙、一酸化炭素、及び芳香などの検出)ためのAPI、及び他の多くを含む広範囲にわたるタイプを含むことができる。感知入力APIは、PCD100のセンサからの直接入力を処理するために、又はセンサネットワーク及びIOTデバイスのセンサなどのような他の感知入力ソースによって収集されて送信されたセンサデータを処理するために使用することができる。   Sensing input API processes automated speech recognition (ASR) API, speech input API, API for processing other sounds (eg for music recognition and detection of specific sound patterns etc), ultrasound or sonar APIs for processing, APIs for processing electromagnetic energy (visible light, wireless signals, microwaves, X-rays, infrared signals etc.), APIs for image processing, processing chemical signals (for example, smoke, A wide range of types can be included, including carbon monoxide, and APIs for detection of aromas, etc., and many others. The sensing input API is used to process direct input from the sensors of the PCD 100 or to process sensor data collected and transmitted by sensor networks and other sensing input sources such as sensors of the IOT device etc. can do.

様々な感知入力に対して、様々な異種感知入力形式の融合を可能にするために、タイムスタンプを付与することができる。例えば、タイムスタンプは、認識された発話と他の感知入力との融合を可能にするために発話認識器によって付与することができる。ASRは、様々な話者を登録するために使用することができる。全体的に、PCD100の発話インタフェースに対して発話ツールスイートを与えることができる。   Time stamps can be applied to different sensing inputs to allow fusion of different disparate sensing input types. For example, a timestamp may be provided by the speech recognizer to allow fusion of the recognized speech with other sensed input. ASR can be used to register different speakers. Overall, a speech tool suite can be provided to the speech interface of the PCD 100.

更に、様々な顔追跡及び人追跡のAPI、タッチAPI、感情認識API、表現出力API、移動API、画面及び眼グラフィックのAPI、照明API(例えば、LED照明のための)、音及びテキスト発話変換(TTS)のAPI、及び他の様々なものを与えることができる。音及びTTSのAPIは、PCD100がオーディオファイルを再生すること及び一連のテキストからのワードを発声することなどを可能にすることができる。これらの音は、一定のもの又は文字列変数の内容、任意量の無音、又はこれらのいずれか任意の組合せのいずれかとすることができる。例えば、開発者は、Speak(“beep.wav”,NAME,“:SIL 3sec”,“あなたに会えて非常に嬉しい”)のような指令を指定することができ、結果としてビープ音、NAME変数に実際の名称を入力することによって表される特定の名称の発声、3秒の無音期間、その後に挨拶がもたらされる。テキストは、SSML(発話合成マークアップ言語)で表すことができる。簡単なテキストは、従来の句読点規則に従って発声することができる。実施形態では、発声される発言内に表現的フィルタ又は効果音を重ねるか又は挿入することができる。   In addition, various face tracking and human tracking APIs, touch APIs, emotion recognition APIs, expression output APIs, moving APIs, screen and eye graphics APIs, lighting APIs (for example for LED lighting), sound and text speech conversion (TTS) API, and various other things can be provided. Sound and TTS APIs can allow the PCD 100 to play audio files, utter words from a series of text, and so on. These sounds can either be constant or the contents of string variables, any amount of silence, or any combination thereof. For example, a developer can specify a command such as Speak (“beep.wav”, NAME, “: SIL 3 sec”, “very happy to see you”), resulting in a beep, a NAME variable An utterance of a specific name, represented by entering the actual name in, a silent period of 3 seconds, followed by a greeting. The text can be represented in SSML (Speech Synthesis Markup Language). Simple text can be spoken according to conventional punctuation rules. In embodiments, expressive filters or sound effects can be superimposed or inserted within the spoken utterance.

PCD SDKは、オーディオファイルのようなコンテンツアセットをアップロードする方法、並びに音量のようなオーディオ出力の特性を設定する方法を含むことができる。社会ロボットは、.wav及び.mp3などのような様々な異なるフォーマットを再生するように構成することができる。アセットは、クラウド又はローカルコンピュータデバイス内等にある様々なライブラリに格納することができる。PCD SDKは、PCDが音楽、ビデオ、及びアニメーションなどのような適切なコンテンツに関してインターネット又は1又は2以上のサイトを検索することなどによってアセットに関して検索することを可能にすることができる。   The PCD SDK can include how to upload content assets such as audio files, as well as how to set audio output characteristics such as volume. Social robots are ... wav and. It can be configured to play a variety of different formats, such as mp3. Assets can be stored in various libraries, such as in the cloud or in a local computing device. The PCD SDK may allow the PCD to search for assets, such as by searching the Internet or one or more sites for appropriate content such as music, videos, and animations.

クラウド内等にリモートに格納されたデータへのフロントエンドとして機能する家族メンバ及びユーティリティのAPIセットを与えることができる。これらのAPIは、開発者が用いたいと望む可能性があるユーティリティ(ロギングのような)を含むことができる。   An API set of family members and utilities can be provided to act as a front end to data stored remotely, such as in the cloud. These APIs can include utilities (such as logging) that the developer may want to use.

実行エンジン1704とのインタフェース接続を可能にするために実行エンジンAPIセットを与えることができる。実行エンジン1704は、限定することなく挙動エディタ及び表現ツールスイート等であるいくつかの異なるツールを用いて生成された構成ファイルに対して機能することができる任意的なJavaScript構成要素を含むことができる。実行エンジンは、家族メンバストアからのデータを多重化することができ、ここでもまた、開発者が技能を書くのを容易にする。実施形態では、家族メンバストアは、プロジェクタ、PCD100に対するモバイル台、マニピュレータ、及びスピーカなどのようなPCD100の物理的機能を拡張するためのハードウエア付属品、並びにユーザがPCD100の外見をカスタム化することを可能にする装飾要素を含むことができる。   An execution engine API set can be provided to enable interfacing with the execution engine 1704. The execution engine 1704 can include an optional JavaScript component that can act on configuration files generated using several different tools, such as, without limitation, a behavior editor and an expressive tool suite . The execution engine can multiplex data from family member stores, again facilitating developers to write skills. In an embodiment, the family member store may customize the appearance of the PCD 100 by the user, as well as hardware accessories for extending the physical functionality of the PCD 100 such as a projector, a mobile stand for the PCD 100, manipulators, and speakers. It can contain decorative elements that make it possible.

新しいPCD技能を生成するためには、アセット生成で始まり、次に、技能を書く段階、シミュレーション、試験、及び認定(実施形態では、そのような認定は、本明細書に説明する方法及びシステムを管理するホスト企業によって与えられる)に進行するワークフローを辿ることができる。   To create new PCD skills, start with asset creation, then write skills, simulation, tests, and certifications (in embodiments such certifications describe the methods and systems described herein. It is possible to follow the workflow that is advanced to the managing host company).

図19を参照すると、アセットの生成のために与えることができるユーザインタフェースの例示的かつ非限定的実施形態が示されている。アセット生成は、技能のアセットを生成する段階を含むことができる。必ずしもこの段階を最初の段階としなくてもよく、多くの場合に、技能を生成するフロー内の実行中のタスクであり、この場合に、アセットは、技能自体が開発される時に改良又は拡張される。生成することができるアセットのタイプは、表現ツールスイート内の身体及び眼の新しいアニメーションを容易に生成するための特殊ツールなどを用いたアニメーションを含む。開発者は、PCD技能ストアの「開発者」セクション内の身体及び眼のアニメーションを別の目的で作り変えることができる場合がある。実施形態では、開発者は、自分のアセットをPCD100のための技能ストア又は開発者のポータルのような他の環境等において消費者又は他の開発者と共有することができる。アセットは、リソースが、適切に定められた特徴を有する適切なフォーマットにある限り、開発者が自分の好みの音エディタを用いて独自の音を生成することができるような音を含むことができる。アセットは、開発者がテキスト発話変換のインスタンスを生成し、これらのインスタンスに発話を変調することができる様々な属性(「嬉しい」のような)で注釈を付けることができるようにパラメトリックTTSシステムを利用するテキスト発話変換のアセットを含むことができる。   Referring to FIG. 19, an exemplary non-limiting embodiment of a user interface that can be provided for the generation of assets is shown. Asset generation can include generating skills assets. This step does not necessarily have to be the first step, and in many cases is an ongoing task in the flow that generates the skill, in which case the asset is improved or expanded as the skill itself is developed Ru. Types of assets that can be generated include animations using special tools or the like to easily generate new animations of the body and eyes in the expressive tool suite. Developers may be able to reshape body and eye animations in the "Developer" section of the PCD Skills Store for other purposes. In embodiments, developers may share their assets with consumers or other developers, such as in a skill store for PCD 100 or other environment such as a developer's portal. An asset can contain sounds that allow developers to generate their own sounds with their favorite sound editors, as long as the resources are in the appropriate format with well-defined characteristics . Assets allow parametric developers to create instances of text-to-speech transformations and annotate these instances with various attributes (such as "joyful") that can modulate speech It can contain the text-to-speech conversion assets to be used.

アセットは、PCD100上(例えば、胴体上)へのLED光を制御することなどのために光視覚化を含むことができ、この場合に、開発者は、表現ツールスイートを用いて制御を指定することができる。更に、開発者は、PCD技能ストアの「開発者」セクション等からのLED光アニメーションを別の目的で作り変えることができることに注意されたい。   The asset can include light visualization, such as for controlling LED light on the PCD 100 (eg, on the torso), where the developer specifies the control using a presentation tool suite be able to. Furthermore, it should be noted that developers can re-create LED light animation from the "Developer" section etc. of the PCD Skills Store for other purposes.

アセットは、入力文法を含むことができる。技能の認識される入力文法を管理するために、開発者は、発話ツールスイートを用いて認識されることを望む様々な文法を指定することができる。   Assets can include input grammars. To manage skill recognized input grammars, developers can specify various grammars that they want to be recognized using the speech tool suite.

開発者が技能に対するアセットを順番に有した状態で、開発者は、挙動エディタを用いて技能自体を書くことができる。挙動エディタは、感知入力の処理を制御する論理部、並びに表現出力の制御を可能にする。この段階の大部分は、直接的なエディタを用いて行うことができるが、SDKは、開発者が、1又は2以上の専有RESET APIなどとデータを交換することのような特定の技能に独特である可能性があることを行うことを可能にするための直線的なJavaScriptコードの追加を可能にすることができる。   With the developer in turn having assets for the skill, the developer can write the skill itself using the behavior editor. The behavior editor allows control of the logic that controls the processing of the sensing input, as well as the representation output. Most of this phase can be done using a direct editor, but the SDK is unique to specific skills such as developers exchanging data with one or more proprietary RESET APIs etc. You can enable the addition of linear JavaScript code to enable you to do what is likely to be.

技能が書かれた状態で(部分的に)、開発者は、PCDシミュレータを用いて、実時間又は近実時間で行うことができる技能の様々な態様の試行を行うことができる。シミュレータは、基本感知入力のトリガをサポートすることができ、更にPCDの開発者記録モードを通して先に生成された感知入力ファイルに影響を及ぼすことができる。シミュレータへの入力は、PCD100への物理的入力から、PCD100の外部にある1又は2以上のセンサから、直接シミュレータから、又はIoTデバイスのような外部デバイス又はウェブアプリケーション又はモバイルアプリケーションのようなアプリケーションから利用可能である。シミュレータは、WebGLグラフィック出力を通して、並びにTTS出力を表すためのテキストを通して表現システムの一部をサポートすることになる。開発及びシミュレーションのサイクルは、技能の変化がシミュレータ上で即座に目視可能であり、シミュレータ内の動的編集に対して応答性を有するようにWYSIWYG方式を用いて実時間又は近実時間とすることができる。   Once the skills are written (partially), developers can use the PCD simulator to try out various aspects of the skills that can be done in real time or near real time. The simulator can support triggering of the basic sensing input, and can also affect previously generated sensing input files through the developer recording mode of the PCD. The inputs to the simulator can be from physical inputs to the PCD 100, from one or more sensors external to the PCD 100, directly from the simulator, or from an external device such as an IoT device or an application such as a web application or a mobile application It is available. The simulator will support parts of the presentation system through WebGL graphic output as well as through text to represent TTS output. The development and simulation cycle should be real-time or near-real-time using the WYSIWYG method so that changes in skills are immediately visible on the simulator and responsive to dynamic editing in the simulator. Can.

シミュレータ内では、更に複雑な挙動(通知のような)をサポートすることができないので、最終的に開発者は、PCD100自体の上で技能を試験する必要がある場合がある。その場限りのライブ試験に加えて、開発者は、PCDの記録モードを通して取得された感知入力ファイルによって試験を再度駆動することができる。実施形態では、入力は、外部ソースから実時間又は近実時間でストリーミングすることができる。   Ultimately, developers may need to test their skills on the PCD 100 itself, as it can not support more complex behaviors (such as notifications) within the simulator. In addition to ad hoc live testing, developers can re-drive the test with sensing input files obtained through the recording mode of the PCD. In embodiments, the input can be streamed in real time or near real time from an external source.

同じく、開発者は、他者が新しい技能を使用すること及び購入することを可能にすることが望ましい場合に、認定に向けてSDKのホスト等に技能を提出することができる。様々な技能にわたる挙動の一貫性を促進すること、安全を保証すること、及び信頼性を保証することなどのために様々な認定指針を生成することができる。認定された状態で、ユーザ、他の開発者、及び類似の者によるアクセスに向けて技能をPCDストア内に入ることができる。実施形態では、開発者は、アセット(例えば、アニメーション、技能、音のような)をPCD100のためのストア及び開発者のポータルなどの上に掲載することができる。   Similarly, developers can submit skills to a host such as the SDK for accreditation, if it is desirable to allow others to use and purchase new skills. Various qualification guidelines can be generated, such as for promoting consistency of behavior across different skills, ensuring safety, and ensuring reliability. Once authorized, skills can be put into the PCD store for access by users, other developers, and similar people. In an embodiment, a developer can post assets (eg, animations, skills, sounds, etc.) on a store for PCD 100, a developer's portal, etc.

SDK内に又はそれとの接続状態で様々なツールを配備することができる。これらのツールは、開発者が社会ロボットのローカル知覚空間を確認、理解、及び/又は試験する(例えば、人識別、人追跡、感情検出等に向けて)ことを可能にするローカル知覚空間(LPS)視覚化ツールを含むことができる。ツールは、新しい文法を生成し、テキスト発話変換の出力に注釈を付けるための様々な発話関連ツールをユーティリティの発話ツールスイート内に含むことができる。実施形態では、発声される発言に対してフィルタ又は他の音又は効果音を適用するためにツールを使用することができる。ツールは、開発者が所与の技能に関連付けられた挙動木(例えば、「頭脳」)などを通して挙動を生成することを可能にするための挙動エディタを含むことができる。   Various tools can be deployed within or connected with the SDK. These tools enable the developer to identify, understand and / or test the social robot's local perceptual space (eg, towards human identification, tracking, emotion detection etc.) Local perceptual space (LPS) ) Can include visualization tools. The tools can include various speech related tools for generating new grammars and annotating the output of the text speech conversion in the speech tool suite of the utility. In embodiments, tools may be used to apply filters or other sounds or sound effects to the spoken utterances. The tools can include a behavior editor to allow developers to generate behaviors, such as through a behavior tree (eg, a "brain") associated with a given skill.

表現ツールスイートは、PCD100の挙動アニメーションを模倣するアニメーションシミュレータを含むことができる社会ロボットに対する表現出力を生成するためのユーティリティスイートを含むことができる。表現ツールスイートは、ウェブキットと、Google(登録商標)underneathからのV8 JS Interpreter(登録商標)のような変換機とを有するHTML又はJavaScriptを含むことができる。挙動及び画面グラフィックは、標準のウェブアプリケーションコードを用いて拡張することができる。   The expression tool suite can include a utility suite for generating an expression output for a social robot that can include an animation simulator that mimics the behavior animation of the PCD 100. The expressive tool suite can include HTML or JavaScript with a web kit and a converter such as the V8 JS Interpreter® from Google® underneath. Behavior and screen graphics can be extended using standard web application code.

様々な技能態様を試行するためのツールとしてシミュレーション実行時環境を与えることができる。   A simulation runtime environment can be provided as a tool to try various skill aspects.

図20を参照すると、開発者がPCD100のカメラを通して確認されるもののようなPCD100のローカル知覚空間を見ることを可能にすることができるローカル知覚空間(LPS)視覚化ツールの例示的かつ非限定的スクリーンショットが示されている。このローカル知覚空間を用いてPCD100のビュー内にいる人々を識別及び追跡することができる。実施形態では、ローカル知覚空間は複雑さを増すことができ、PCD100が対話することができるアバターのような要素及び他の視覚要素を有する3次元世界を含むことができる。   Referring to FIG. 20, an exemplary non-limiting example of a Local Perceptual Space (LPS) visualization tool that can allow a developer to view the PCD 100's local perceptual space, such as that identified through the camera of the PCD 100. Screen shots are shown. This local perceptual space can be used to identify and track people in the view of the PCD 100. In embodiments, the local perceptual space can be complex and can include a three-dimensional world with elements such as avatars and other visual elements that the PCD 100 can interact with.

発話ツールスイートは、聞くこと(例えば、「耳」ツール)及び発声に関するツールを含むことができる。発話ツールスイートは、イエス/ノー文法、数字のシーケンス、自然数、制御(続行、停止、一時停止)、日付及び時間、非フレーズ検出文法、及び変数(例えば、$name)などのようなライブラリからのフレーズ及び様々な文法形式(ワード検出、統計のような)をインポートするための様々な機能を含むことができる。これらの機能は、ASR及び発話テキスト変換機能などを使用することができ、クラウドベースのもの又はPCD100自体の上に埋め込まれたものとすることができる。ツールスイートは、上述のシミュレータ内のアプリケーション論理部を用いる文法の基本検証及びデバッグを含むことができる。ツールスイートは、PCD100に対するNLU(自然言語理解)モードを開発するためのツールを含むことができる。リソースは、デバイス上文法編集ツールを用いて生成することができる。リソースは、データを収集するためのツール(例えば、メカニカルタークのような)と、フレーズ検出、音声による人識別、又は他の発話又は音の認識、又は理解機能等に向けて新しいモデルを訓練するための機械学習ツールとを含むことができる。文法は、GUIプレゼンテーション及び論理部デバッグに向けて出力タグを公開することができる。感知リソースを生成して文法認識性能を試験するために、PCD100のセンサライブラリを使用することができる。試験は、全体の技能に対して実際の発声ASRを用いて実施することができる。フレーズ検出文法は、生成し、試験し、かつ調整することができる。   Speech tool suites can include tools for listening (eg, "ear" tools) and for speaking. The speech tool suite is from a library such as yes / no grammar, sequence of numbers, natural numbers, control (continue, stop, pause), date and time, non-phrase detection grammar, and variables (eg $ name) etc. It can include various features for importing phrases and various grammatical forms (such as word detection, statistics). These functions may use ASR and spoken text conversion functions etc, and may be cloud based or embedded on the PCD 100 itself. The tool suite can include basic verification and debugging of grammars using application logic in the simulator described above. The tool suite can include tools for developing an NLU (natural language understanding) mode for the PCD 100. Resources can be generated using on-device grammar editing tools. Resources train new models towards tools (such as mechanical tak) to collect data, phrase detection, human identification by speech, or other speech or sound recognition or understanding functions etc. And machine learning tools can be included. The grammar can expose output tags for GUI presentation and logic debugging. The sensor library of the PCD 100 can be used to generate sensing resources and test grammar recognition performance. The test can be performed using the actual vocal ASR for the whole skill. Phrase detection grammars can be generated, tested and adjusted.

挙動エディタ内で認識器を呼び出す時に、開発者は、認識器のパラメータの制限セット(例えば、タイムアウト、拒否のような)を修正すること、及び/又は認識結果に基づいてコールバックを呼び出す(例えば、テキスト処理を実施するために)ことができる。   When calling the recognizer in the behavior editor, the developer modifies the restricted set of recognizer parameters (e.g., timeout, rejection etc) and / or invokes a callback based on the recognition result (e.g. , To perform text processing).

図21を参照すると、例示的かつ非限定的実施形態による挙動エディタのスクリーンショットが示されている。PCD挙動エディタ2100は、開発者/設計者がPCD100上で新しい技能を迅速に生成することを可能にすることができる。この節で定める出力ファイルが実行エンジン1704を駆動する。挙動エディタ2100に関する更なる詳細を下記で提供する。   Referring to FIG. 21, a screen shot of a behavior editor according to an exemplary and non-limiting embodiment is shown. The PCD Behavior Editor 2100 can allow developers / designers to quickly generate new skills on the PCD 100. The output files defined in this section drive the execution engine 1704. Further details regarding the behavior editor 2100 are provided below.

実施形態では、挙動生成ツールは、使いやすく、明確で、拡張性を有し、実質的にWYSIWYGであるように設計された挙動木発生器を含むことができる。挙動自体は、生きたドキュメンテーションを含むことができる。各挙動は、説明及びコメント表示を有することができる。挙動は、実施されることなく定めることができる。それにより、設計者が依然として存在していない挙動を「書き込む」ことが可能になる。   In embodiments, the behavior generation tool may include a behavior tree generator designed to be easy to use, clear, extensible, and substantially WYSIWYG. The behavior itself can include live documentation. Each behavior can have an explanation and a comment display. The behavior can be defined without being implemented. It allows the designer to "write" behavior that is not yet present.

PCD挙動システムは、そのコアにおいて、非常に低レベルの単純な挙動で構成することができる。これらの低レベルを組み合わせてより高いレベルの複雑な挙動を生成することができる。高レベル挙動は、手動で符号化されたもの又は他のより低いレベルの挙動からなるもののいずれかとすることができる。この階層構造は、事実上無制限である。複雑さの勾配はあるが、挙動階層構造は、大まかに(1)アトミック挙動(必ずしもPCD100の機能に依存するとは限らない挙動を一般的に含む機能的な挙動木を有する最小挙動木セット)、(2)PCD100ベースの挙動(社会ロボットに関する様々なJavaScriptAPI内に実施されたもののようなPCD100の完全機能セットにわたる挙動)、(3)複合高レベル挙動(手動で符号化されたもの又はパラメータ化された挙動階層構造自体からなるもののいずれかとすることができる)、及び(4)スケルトン挙動(存在せず、完全に実施されるわけではないか、又は実施が別個の挙動)という3つのレベルに分割することができる。挙動階層構造は、取りわけ強化学習のような機械学習法などを用いてPCD100の体験から学習することができる。JavaScriptAPI内に実施されたもののような社会ロボットAPI内の各関数呼び出しは、それが意味を構成する場合は挙動として表すことができる。スケルトン挙動は、ドキュメンテーション目的で挙動木内に挿入し、後に実施して実行時にバインドすることができる。それにより、依然として存在しない挙動を必要とする設計者が、この挙動の説明及び可能な結果(失敗、成功のような)を含むこの「バインドタイプ」を挿入し、後に技術者に実施を符号化させることが可能になる。再生中にバインドタイプが存在する場合に、このタイプが実施にバインドされ、又は他にPCD100又はシミュレーションは、バインド挙動名及びその戻りタイプを発声し、挙動木内で続行することができる。ツールは、高度な知覚処理パイプラインを開発するための知覚階層構造の定義をサポートすることができる。これらの知覚木の出力は、挙動などに接続することができる。更に、開発プラットフォーム及びSDKは、より高次の知覚分類モジュール(再使用可能マルチモーダル入力−出力モジュール)のマルチモーダルライブラリスイートを開発者に利用可能にするのをサポートする。   The PCD behavior system can be configured with very low levels of simple behavior in its core. These low levels can be combined to produce higher levels of complex behavior. The high level behavior can be either manually encoded or other lower level behavior. This hierarchical structure is virtually unlimited. Although there is a gradient of complexity, the behavior hierarchy is roughly (1) atomic behavior (a set of minimal behavior trees with functional behavior trees that generally include behaviors that are not necessarily dependent on the functionality of the PCD 100), (2) PCD 100-based behavior (behavior across the PCD 100's full functional set, such as those implemented in various JavaScript APIs for social robots), (3) complex high-level behavior (manually encoded or parameterized) Divided into three levels, which can be either of the behavior hierarchy structure itself, and (4) skeleton behavior (does not exist, is not completely implemented, or the behavior is separate) can do. The behavior hierarchy structure can be learned from the experience of the PCD 100 using machine learning methods such as reinforcement learning, among others. Each function call in the social robot API, such as that implemented in the JavaScript API, can be represented as a behavior if it constitutes a meaning. Skeleton behaviors can be inserted into the behavior tree for documentation purposes and implemented later and bound at runtime. Thereby, a designer who needs a behavior that does not yet exist inserts this "bind type" including a description of this behavior and possible outcomes (such as failure, success) and later encodes the implementation to the engineer It will be possible to If a bind type is present during replay, this type is bound to the implementation, or else the PCD 100 or simulation can say the bind behavior name and its return type and continue in the behavior tree. The tool can support the definition of perceptual hierarchy to develop advanced perceptual processing pipelines. The outputs of these perception trees can be connected to behavior etc. In addition, the development platform and SDK support making multimodal library suites of higher order perceptual classification modules (reusable multimodal input-output modules) available to developers.

最もアトミックには、挙動木は、BaseBehavior(基本挙動)−葉ノード、BaseDecorator(基本修飾子)−挙動修飾子、Parallel(並列)−複合ノード、Sequence(シーケンス)(及びシーケンス変形)−複合ノード、Select(選択)−複合ノード、及びRandom(ランダム)(及びランダム変形)−複合ノードという基本挙動で構成することができる。アトミック挙動は、PCDのJavaScriptAPIへのほぼ生の関数呼び出しとすることができるが、適切なタイミングを用いて挙動としてラップすることができる。これらの挙動は、APIを通して、非常に低いレベルとすることができる。いくつかの例は、LookAt(注視)、LoadCompileClip(編集クリップをロード)、及びPlayCompiledClip(編集クリップをロード)を含む。編集されたクリップは、埋め込み事象を有することができる。挙動又は修飾子は、ある一定のタイプの事象を傾聴してこの事象の正確な時点で論理を実行することができる。それにより、表現出力とより高いレベルの意志決定との間の厳密な同期が可能になる。アトミック挙動は、PlayMp3(Mp3を再生)、Listen(傾聴)、ListenTouch(タッチを傾聴)、Blink(瞬き)(例えば、blinkSpeed(瞬きの速度)に関するパラメータ、interruptPreviousBlink=(true|false)(直前の瞬きを中断=(真/偽))を有する)を含むことができる。   Most atomically, the behavior tree is: BaseBehavior (base behavior)-leaf node, BaseDecorator (basic modifier)-behavior modifier, Parallel (parallel)-compound node, Sequence (sequence) (and sequence modification)-compound node, The basic behavior can be configured as Select (select) -composite node, and Random (and random deformation) -composite node. Atomic behavior can be almost raw function calls to the PCD's JavaScript API, but can be wrapped as a behavior with appropriate timing. These behaviors can be at very low levels through the API. Some examples include LookAt (gaze), LoadCompileClip (load editing clip), and PlayCompiledClip (load editing clip). An edited clip can have an embedded event. The behavior or modifier can listen to certain types of events and perform logic at the exact time of this event. It allows tight synchronization between expressive output and higher level decision making. Atomic behavior is a parameter for PlayMp3 (play Mp3), Listen (listening), ListenTouch (listening to touch), Blink (blink) (for example, blinkSpeed (blink speed)), interruptPreviousBlink = (true | false) (previous blink Interrupt (with = (true / false))).

複合/高レベル挙動は、他の高レベル及び/又は低レベルの挙動を組み合わせる高レベル挙動とすることができる。これらの挙動はパラメータ化することができる。例は、BeAttentive(注意)、TakeRandomPictures(ランダムな写真を撮影)、BeHappy(嬉しい)、StreamCameraToScreen(カメラから画面へストリーミング)を含むことができる。挙動は、世界との関わりにおいて望ましい結果又は状態をもたらすためにアクションを変化させることのようなゴール誘導型とすることができる。例えば、物体追跡の場合に、ターゲットは、物体を追跡してそれを視野内に保つこととすることができる。より複雑な例は、特定の人を見つけ出すために見出すこと、又は人を笑顔にすることなどのためにPCD100の挙動を変化させることであろう。実施形態では、PCD100の気分、情緒状態、又は感情状態がPCD100の挙動又はその方式を修正することが可能である。それによってPCDのゴール又は注意の優先順位付けが影響を受けることが可能である。それによってPCD100が体験から何をどのように学習するかが影響を受けることが可能である。   The combined / high level behavior can be a high level behavior combining other high level and / or low level behaviors. These behaviors can be parameterized. Examples can include BeAttentive (attention), TakeRandom Pictures (take random photos), BeHappy (happy), StreamCameraToScreen (streaming from camera to screen). Behavior can be goal-guided, such as changing an action to produce a desired result or state in relation to the world. For example, in the case of object tracking, the target can track the object and keep it in view. A more complicated example would be to change the behavior of PCD 100, such as to find out to find a specific person, or to make a person smile. In embodiments, the mood, emotional state, or emotional state of the PCD 100 can modify the behavior of the PCD 100 or its manner. Thereby it is possible to influence the prioritization of the goals or attention of the PCD. Thereby, it is possible to influence what and how PCD 100 learns from the experience.

特に挙動木が大きくなった場合に、挙動木の可読性が重要である。発言に基づいて挙動木を分岐させる簡単なcase文を取り上げる。case文を宣言する公式方法は、実行される1つを「選択」することになる子を有するSelect behavior(挙動を選択)を生成することである。各子は、当該挙動を「選択」するための論理部を含むFailOnCondition(条件に基づいて失敗)で装飾される。公式ではあるが、この手法は、各修飾子の論理部を検査することなく1つの要素を別の要素に優先して選択することができる理由を自動的に見ることが困難である。しかし、記述フィールドを手動で編集してより多くのコンテクストを与えることができるが、選択論理部と記述フィールドの間に必ずしも公式な関係が存在しなくてもよい。図22を参照すると、例示的かつ非限定的実施形態による分岐論理部を生成する公式方法が示されている。第1及び第2の修飾子2200、2202に注意されたい。図22は、公式な関係を示している。   Readability of the behavior tree is important especially when the behavior tree becomes large. Take a simple case statement that branches the behavior tree based on the remarks. The formal way of declaring a case statement is to create a Select behavior with children that will "select" one to be performed. Each child is embellished with a FailOnCondition that contains logic to "select" the behavior. Although formal, this approach is difficult to automatically see why one element can be selected in preference to another without checking the logic of each modifier. However, although the description field can be manually edited to provide more context, there may not necessarily be a formal relationship between the selection logic and the description field. Referring to FIG. 22, a formal method of generating branch logic according to an exemplary and non-limiting embodiment is shown. Note the first and second modifiers 2200, 2202. FIG. 22 shows the official relationship.

PCD100では、共通の分岐パターンが存在する。これらのうちの一部は、文法ベースの分岐、タッチベースの分岐、及び視覚ベースの分岐を含む。   In PCD 100, there is a common branching pattern. Some of these include grammar based branches, touch based branches, and vision based branches.

最も一般的な分岐では、挙動ツールGUIが、木の視覚化を簡易化し、「記述」と論理部の間の公式関係を提供することができる。この視覚化及び提示は、基礎論理部をイントロスペクトすることによって導出された記述が自動入力される「情報」列を挙動木エディタに追加することによって達成することができる。GUIツールは、「GrammarSelect(文法選択)」と呼ぶ特殊挙動がGUIの特定のモードにおいて存在することが意図されたものであることを知ることができる。基礎木構造は、図22に記載のものと正確に同じとすることができるが、より可読性の高い手法で提供することができる。   In the most common branch, the behavior tool GUI can simplify tree visualization and provide a formal relationship between "description" and logic. This visualization and presentation can be accomplished by adding an "information" column to the behavior tree editor that is auto-populated with a description derived by introspecting the underlying logic. The GUI tool can know that a special behavior called "GrammarSelect" is intended to be present in a particular mode of the GUI. The underlying tree structure can be exactly the same as that described in FIG. 22, but can be provided in a more readable manner.

図23を参照すると、選択論理部を引数として挙動自体に追加することを可能にする例示的かつ非限定的実施形態が示されている。この場合に、追加引数は、戻される文法タグに対応する文字列フィールドとすることができ、この引数の値は、「情報」フィールド内に自動的に入ることができる。GrammarSelect(文法選択)に追加される各子挙動内の引数の値を用いて、下層のSucceedElseFail(成功そうでなければ失敗)修飾子に入力される正しいコードを生成することができる。   Referring to FIG. 23, an exemplary non-limiting embodiment is shown that allows selection logic to be added as an argument to the behavior itself. In this case, the additional argument may be a string field corresponding to the returned grammar tag, and the value of this argument may be automatically included in the "info" field. The value of the arguments in each child behavior added to GrammarSelect (grammar selection) can be used to generate the correct code to be input to the underlying SuccessElseFail (failed otherwise) failure modifier.

マルチモーダル対話に対する「共通パターン」が公知であり、これは、過去に使用されてきたユニモーダル対話(発話)に対する共通パターンの進化形である。これは、「連続マルチモダリティ」(例えば、2つのモード)においてのみ成り立つ。しかし、ロボット挙動と人間−機械対話(HMI)とは若干異なるパラダイムを有する。最初のロボット挙動の方は挙動木によってかなり容易に表現されるが、言語対話の「入れ子」構造は、入れ子「case」文又は更に一般的には条件円弧を有する再帰指向グラフを含む表現により適している。従って、これら2つをGrammarSelect(文法選択)への強化によって調和させて高度な対話を構成することを可能にするHMIフローの可読性を高めることができる。   A "common pattern" for multimodal dialogues is known, which is an evolution of common patterns for unimodal dialogues (utterances) that have been used in the past. This is true only for "continuous multi-modality" (eg, two modes). However, robot behavior and human-machine interaction (HMI) have a slightly different paradigm. The first robot behavior is more easily represented by the behavior tree, but the "nested" structure of the verbal dialogue is better suited to the representation involving nested "case" statements or more generally recursion oriented graphs with conditional arcs. ing. Thus, the readability of the HMI flow can be enhanced, which allows these two to be harmonized by enhancement to GrammarSelect (grammar selection) to configure advanced interactions.

実際に、あらゆる人間−機械対話は、このようにして発生させることができる。最初に、機械が、何か(一般的にはアニメーション+オーディオ+テクスチャのような何か)を出力するように構成され、次に、人間が、何か(一般的には発話又はタッチ)を入力するか又はいずれかの他の処理が対話に対して有意な事象を戻し、そこからこのシーケンスが更に別の出力及び入力によって繰り返される。   In fact, every human-machine interaction can be generated in this way. First, the machine is configured to output something (generally something like animation + audio + texture) and then the human being does something (generally speech or touch) The input or any other processing returns an event significant to the interaction, from which the sequence is repeated with further outputs and inputs.

従って、上述のcase文(GrammarSelect(文法選択))は、それがフル事象パラダイムに拡張されて一般的なHMI選択を有することができる場合を包含することになり、この場合に、タグ(事象に対応する)及びタグのタイプ(文法、視覚、タッチ)を指定することができる。従って、上記は以下のようになる。   Thus, the case statement described above (GrammarSelect (GrammarSelect)) will encompass the case where it can be extended to a full event paradigm and have a common HMI selection, in this case Corresponding) and tag types (grammar, visual, touch) can be specified. Therefore, the above is as follows.

HMI_InputSelect(HMI_入力選択): HMI_InputSelect (HMI_Input Select):

AnyBehavior1 Speech:RANDOMPICTURE,Touch:AREA1(任意挙動1 発話:ランダム写真、タッチ:区域1) AnyBehavior 1 Speech: RANDOM PICTURE, Touch: AREA 1 (arbitrary behavior 1 Speech: random photo, touch: area 1)

AnyBeahvior2 Speech:PLAYMUSIC,Touch:AREA2(任意挙動2 発話:音楽再生、タッチ:区域2) AnyBeahvior2 Speech: PLAYMUSIC, Touch: AREA 2 (arbitrary behavior 2 Utterance: music playback, touch: area 2)

AnyBehavior3 Vision:TRACKINGFACELOST(任意挙動3 視覚:追跡中の顔を見失う) AnyBehavior 3 Vision: TRACKINGFACELOST (arbitrary behavior 3 Vision: Losing sight of face while tracking)

コンマで分離されたタグはOR(又は)状態にある。この例では、挙動は、誰かが「ランダムな写真を撮って」というOR(又は)AREA1(区域1)にタッチするのにAnyBehavior1(任意挙動1)で応答することになる、誰かが「音楽を再生して」という又はArea2(区域2)をタッチするのにBehavior2(挙動2)で応答することになるか、又は視覚システムがTRACKINGFACELOST(追跡中の顔を見失う)を戻した場合はBehavior2(挙動3)で応答することになる。   Tags separated by commas are in the OR (or) state. In this example, the behavior is that someone will respond with AnyBehavior 1 (arbitrary behavior 1) to touch the OR (or area 1) "take a random picture", somebody "songs" Behavioral2 (behavior 2) if you are to respond with Behavior2 (behavior 2) to “replay” or touch Area2 (area 2), or if the vision system returns TRACKINGFACELOST (lost tracking face) It will respond by 3).

HMIフローの可読性を改善する別の手法は、例えば、「Speak」(発声)と呼ぶ基本挙動を導入することによって挙動木仕様ビュー内でプロンプトテキストを明確に見ることである。従って、上述の例を参照すると、誰かがRANDOMPICTURE(ランダム写真)と言った場合に、AnyBehavior1Sequence:AnyBehavior1(任意挙動シーケンス:任意挙動1)に入る。   Another approach to improving the readability of the HMI flow is to look clearly at the prompt text in the behavior tree specification view, for example by introducing a basic behavior called "Speak" (speech). Therefore, referring to the above example, AnyBehavior1Sequence: AnyBehavior1 (arbitrary behavior sequence: Arbitrary behavior 1) is entered when someone says RANDOMPICTURE (random picture).

PCD100は、「いいよ、じゃあ君の写真を撮ってあげよう。準備はいいかい?」と発声する。   PCD 100 utters, "Good, let's take a picture of you. Are you ready?"

ユーザは、「イエス」と言い戻し、Behavior Speech:YES(挙動 発話:イエス)又はTouch:YESAREA(タッチ:イエス区域)のいずれかの処理がもたらされる。   The user says "yes" and results in either Behavior Speech: YES (behavior speech: yes) or Touch: YES AREA (touch: yes area).

次に、PCD100は、TakePictureBehavior(写真撮影挙動)のようなシーケンスを開始する。   Next, the PCD 100 starts a sequence such as TakePictureBehavior (photographing behavior).

PCD100がNoBehavior Speech:NO(挙動 発話:ノー)を聞くこと又はTouch:NOAREA(タッチ:ノー区域)を感知することなどで「ノー」を検出した場合に、ユーザは、GoHomeBehavior(ホームに行く挙動)を実行し、robotSpeak(ロボット発声)「分りました、ホーム画面に戻ります」という発話挙動を開始する。   When the PCD 100 detects "No" by listening to NoBehavior Speech: NO (behavior: no) or sensing Touch: NOAREA (touch: no area), the user goes to GoHomeBehavior (behavior to go home) And start speaking behavior of robotSpeak (robot voice) "I understand, return to home screen".

この場合に、PCD Speakは、いくつかのプロンプト及びそれに対応するアニメーションをランダム化する基本挙動である(実施形態では、この挙動をダブルクリックした場合にプロンプト及びアニメーションを見ることができ、挙動編集ボックスがポップアップすることになる)。UI設計は、開発者がアプリケーションを設計している間にプロンプトを書くことができるので、この挙動タイプを有することは重要である。次に、全てのプロンプトに対する挙動木を自動的にマイニングし、音声タレントに対する発現テーブルを生成し、プロンプト等に対するファイル名を自動的に生成することができる(これだけでも設計及び技能開発の多くの時間が節約されることになる)。   In this case, PCD Speak is a basic behavior that randomizes some prompts and their corresponding animation (in the embodiment, you can see the prompt and animation when double clicking this behavior, the behavior edit box Will pop up). It is important to have this behavior type, as UI design allows the developer to write prompts while designing the application. Second, it can automatically mine behavior trees for all prompts, generate expression tables for voice talents, and automatically generate file names for prompts etc. (This alone takes much time for design and skill development. Will be saved).

上述の例で対話挙動が表現される手法は、設計と実施とを同時に表すことになるので、開発者は、何が起こることになるかを迅速に理解することができる。   The approach in which the dialogue behavior is represented in the above example will simultaneously represent design and implementation, so that the developer can quickly understand what will happen.

インデント付きの木を用いて対話を表すことに関して言及しておくべきことは、対話が深い(例えば、多くの入れ子段を有する)場合に、水平セクションが急激に使い果たされることである。従って、設計者は、その後の段を他の箇所で定められた挙動の中にカプセル化する習慣を付けることができる。可読性に影響を及ぼす別の問題は、入れ子文では脱出条件が明確ではないことである。指向グラフ表現では、何処でも望ましい場所に行くあらゆる点に円弧を置くことができ、この点は好ましくは可読である。入れ子手順では、手順を抜けさせる条件、並びに他の呼び出し手順を生成することができる。   It should be mentioned that the dialog is deep (e.g. with many nested levels) that the horizontal section is used up quickly, as it relates to representing the dialog using indented trees. Thus, the designer can put in the habit of encapsulating the subsequent stages in a defined behavior elsewhere. Another issue that affects readability is that nested statements do not give clear exit conditions. In a directed graph representation, an arc can be placed at any point going anywhere desired, which is preferably readable. Nested procedures can create conditions that cause the procedure to exit, as well as other calling procedures.

挙動エディタのメイン窓は、拡張可能かつ収縮可能な木構造とすることができる。この木構造は、挙動の木構造を表している。実施形態では、このビュー内の各挙動に対して、ドラッグ、ドロップ、削除、コピー、カット、ペースト、別の挙動との交換、1又は2以上の修飾の追加又は除去、上又は下への兄弟の追加、及び子の追加を行う(及び兄弟又は子に上述したもののうちのあらゆるものを適用する)ことができる。   The main window of the behavior editor can be an expandable and collapsible tree structure. This tree structure represents a tree structure of behavior. In embodiments, for each behavior in this view, drag, drop, delete, copy, cut, paste, exchange with another behavior, add or remove one or more modifications, siblings up or down , And the addition of children (and apply any of those described above to siblings or children).

この最上位レベルビューは、木が何をしようと試みているかに関する的確な理解を生成者が達成することができるほど十分な情報に富む。これは、全ての行が挙動及び修飾子の名称、挙動タイプを表す小さいアイコン、並びにユーザ入力の記述フィールドを含むことができることを意味する。   This top level view is rich enough to allow the creator to achieve a good understanding of what the tree is trying to do. This means that every line can contain the name of the behavior and modifier, a small icon representing the behavior type, and a descriptive field of user input.

各挙動は、ゼロ又はそれよりも多いパラメータでパラメータ化することができる。例えば、SimplePlayAnimation(簡単なアニメーション再生)挙動は、アニメーション名という1つのパラメータしか要さない場合がある。より複雑な挙動は、一般的に更に多くのパラメータを要することになる。   Each behavior can be parameterized with zero or more parameters. For example, SimplePlayAnimation (simple animation playback) behavior may require only one parameter, an animation name. More complex behavior will generally require more parameters.

挙動ツール内で複合挙動を部分挙動として生成することができる。実施形態では、部分木パラメータを任意にパラメータ化し、これらをグラフィック操作によって複合挙動の最上位にバブルアップすることができる。   Complex behaviors can be generated as partial behaviors within the behavior tool. In an embodiment, subtree parameters can be optionally parameterized and these can be bubbled up to the top of the complex behavior by graphic manipulation.

挙動への各パラメータは、関連の「タイプ」を有することができる。パラメータのタイプにより、挙動生成ツールは、ユーザが各引数に対する有効値をグラフィック操作によって入力するのを可能な限り助けるのを可能にすることができる。以下は、ユーザが適切な値を入力するのをツールがどのようにグラフィック操作によって助けることになるかに関する説明を添えたタイプ継承構造の実施形態である。(1)CompiledClip(編集ターゲットクリップ):編集ターゲットクリップは、開発者をタイムラインベースのエディタとすることができるアニメーションエディタに誘導することができる。(2)String(文字列):テキストボックスが現れる。(3)File(ファイル):ファイルチューザが現れる。(4)Animation File(アニメーションファイル):ユーザ生成アニメーション及びPCD生成アニメーションを含むことができる利用可能アニメーションを列挙するファイルチューザ窓が現れる。この窓は、アニメーションを即座に生成するためにアニメーション生成ツールへのリンクを表示することができる。(5)Sound File(音ファイル):利用可能なmp3ファイルを列挙するファイルチューザが現れることができる。(6)Grammar File(文法ファイル):利用可能な.rawファイル又は.grammarファイルを列挙するファイルチューザ。(7)Grammar Text(文法テキスト):これは、自動完了及び構文強調表示を行う文法構文エディタを表示する。(8)TTS:場合によってプレビューモードでTTSエディタが現れる。(9)JavaScript:これは、構文強調表示及び社会ロボットAPIに対して可能なコード相補を行うAtomのようなJavaScriptエディタを表示する。(10)Environment Variables(環境変数):これらの変数は、PCD100に対して重要な変数である。(11)Number(数字):最小値、最大値、デフォルトの数字ボックスが現れる。(12)Integer(整数):最小値、最大値、デフォルトの整数選択ボックスが現れる。(13)Boolean(ブール):真/偽コンボボックス又はラジオ選択ボタンが現れる。(14)Array<Type>(アレイ<タイプ>):これは、タイプの要素を加算する、減算する、上に移動するか、又は下に移動する機能を表示する。(15)Vector3d(ベクトル3d):これは、(x,y,z)ボックスを表示する。及び(16)Person(人):これは、最も近い、最も遠い、最も既知の人等とすることができる。   Each parameter to the behavior can have an associated "type". Depending on the type of parameter, the behavior generator can enable the user to help as much as possible to input valid values for each argument by graphic manipulation. The following is an embodiment of a type inheritance structure with a description of how the tool will assist the graphic operation with the user entering appropriate values. (1) Compiled Clip (Edit Target Clip): An edit target clip can lead a developer to an animation editor that can be a timeline-based editor. (2) String: A text box appears. (3) File: A file chooser appears. (4) Animation File: A file chooser window appears listing the available animations that can include user generated animations and PCD generated animations. This window can display a link to an animation generation tool to generate animation instantly. (5) Sound File: A file chooser may appear listing the available mp3 files. (6) Grammar File: Available. raw file or. File chooser to enumerate grammar files. (7) Grammar Text: This displays a grammar syntax editor with automatic completion and syntax highlighting. (8) TTS: In some cases, the TTS editor appears in preview mode. (9) JavaScript: This displays a JavaScript editor like Atom that does syntax highlighting and possible code complementation to the social robot API. (10) Environment Variables: These variables are important variables for the PCD 100. (11) Number: A minimum value, a maximum value, and a default number box appear. (12) Integer: The minimum value, the maximum value, and the default integer selection box appear. (13) Boolean: A true / false combo box or radio selection button appears. (14) Array <Type>: This displays the ability to add, subtract, move up, or move down elements of the type. (15) Vector 3d: This displays the (x, y, z) box. And (16) Person: this may be the closest, the farthest, the most known person etc.

PCD100が挙動木を実行する時に、デバッグウェブインタフェースが、木のグラフィック表現を表示してPCD100がいる現在ノードを強調表示することができる。開始ボタン、停止ボタン、及び前進ボタンを利用可能にすることができる。一時停止中に、ツールは、グローバルに対するイントロスペクトが変数及び挙動パラメータ値をモニタすることを可能にすることができる。更に、限られた入力の対話を利用可能に留めることができる。この段階は、フレーズをトリガする段階又は人を社会ロボットの近くに置く段階を含むことができ、それにより、例えば、この人に関するテンプレート知識を追加することができる。実施形態では、開発者は、感知−モータの技能又はモジュールを共有することのような挙動モデルを他の開発者と共有することができる。例えば、PCD100がモバイル基地局を有する場合に、ナビゲーション及び地図生成モデルを開発者の間で共有することができる。機能を拡張し、機能に対して変形を与えることなどのために開発者が挙動論理クラスを修正することができる。   As the PCD 100 executes the behavior tree, the debug web interface may display a graphical representation of the tree to highlight the current node that the PCD 100 is in. The start button, stop button, and advance button can be made available. While paused, the tool can allow the introspection to globals to monitor variable and behavioral parameter values. In addition, limited input interactions can be available. This step may include triggering a phrase or placing a person close to the social robot, for example, to add template knowledge about the person. In embodiments, developers can share behavioral models such as sharing sense-motor skills or modules with other developers. For example, where the PCD 100 has a mobile base station, navigation and mapping models can be shared among developers. The developer can modify the behavior logic class, for example, to extend the function and to modify the function.

SDKのツールは、社会ロボットの表現を管理するための表現ツールスイートを含むことができる。表現ツールスイートのコア機能はシミュレーション窓である。図24を参照すると、両方のスクリーンショット内のメインビューがPCD100のアニメーションを模倣するシミュレーション窓の実施形態が例示されている。上部のメインビュー2400は、眼グラフィックに関するフォーカスも模倣している。各スクリーンショット内の左上部分は、画面グラフィック2402、2402’を模倣している。このシミュレーションビューはWebGLで書くことができ、従って、社会ロボットアニメーションを模倣するのに特殊なツールを必要としない(Chrome(登録商標)のようなブラウザの最新バージョンが実行されていること以外)。このシミュレーションビューはそれ自体が別個のツールである必要はなく、代わりに、PCDプラットフォームのホスト及び他の開発者が、様々な技能のアニメーションのようなPCDアニメーションを発生させて試験することを可能にすることになるツール内に埋め込むことができるビューとすることができる。このビューは、開発者が移動又はアニメーションを再生しようと望む場合に実時間又はアニメーションの逐次「ステップ実行」のいずれかで呼び出すことができる。以上により、本明細書では、シミュレーションと、社会ロボットの実際の実行とに同じコードを使用することができる社会ロボットの挙動を模倣するためのシミュレーションツールを提供する。   SDK tools can include an expression tool suite for managing social robot expressions. The core function of the expressive tool suite is the simulation window. Referring to FIG. 24, an embodiment of a simulation window is illustrated in which the main views in both screen shots mimic the animation of the PCD 100. The upper main view 2400 also mimics the focus on the eye graphic. The upper left portion in each screen shot mimics the screen graphic 2402, 2402 '. This simulation view can be written in WebGL and therefore does not require special tools to mimic social robot animation (except that the latest version of a browser like Chrome® is running). This simulation view does not have to be a separate tool in itself, but instead allows the host of the PCD platform and other developers to generate and test PCD animations like animations of different skills. It can be a view that can be embedded within the tool that will be This view can be invoked either in real time or sequentially "stepping" the animation if the developer wishes to move or play the animation. Thus, the present specification provides a simulation tool for mimicking the behavior of a social robot that can use the same code for simulation and the actual execution of the social robot.

図25を参照すると、社会ロボット表現ツールスイートの社会ロボットアニメーションエディタの例示的かつ非限定的実施形態が示されている。そのようなツールを用いて、開発者は、社会ロボットの1又は2以上の移動、画面グラフィック、音、テキスト発話変換のアクション、並びにLEDの身体照明及び機能のような照明の社会ロボットアニメーションを互いに組み合わせることができる。図25は、PCD100との併用に適応させることができるタイプの従来のアニメーションエディタ2500を示している。アニメーションエディタの主な機能は、社会ロボットアニメーションを再生するためのシミュレーション窓2502と、開発者/設計者がアセット(移動、グラフィック、音/TTS、LED身体照明、又は完成したアニメーション)をタイムライン内に入ることができるアニメーションエディタ2504と、開発者/設計者がタイムライン内への包含に向けて既存のアセットを選択することができるアセットライブラリ2506とを含むことができる。アセットは、開発者のハードドライブ又はPCDストアから利用可能である。このアニメーションエディタは、PCD100のビュー、スケール、及び回転などを変更するための3Dビュー表示をサポートすることができる。実施形態では、エディタは、人々を模倣するためのアバターを有すること及びユーザインタフェースから入力を受信することなどを行ってPCDの仮想環境を拡張することができる背景又はオブジェクトの使用を可能にすることができる。実施形態では、アニメーションエディタは、制御を逆転し、ユーザがロボットの姿勢を決定することを可能にするモードを有し、更にこの姿勢に基づいてキーフレームを設定するためのインタフェースを有することができる。類似の方式で、眼のような画面ベースの要素をアニメ化すること、背景要素上に重なることをタッチ操作及びそれに続く新しい方位/変化のキーフレーム設定によって行うことができる。この手法の変形を実施することができ、例えば、PCD100を用いてアニメーション(代替物又は最終物)に向けてカスタム効果音を記録することにより、設計技能の生成処理が有意に加速されることになる。実施形態では、このツールは、アニメーションエディタによってこのエディタが接続したPCD100上で直接アニメーションをプレビューすることを可能にすることができる。   Referring to FIG. 25, an exemplary non-limiting embodiment of a social robot animation editor of the social robot expression tool suite is shown. With such tools, developers can interact with social robot animations of lighting such as one or more movements of social robots, screen graphics, sounds, text-to-speech conversion actions, and LED body lighting and functions. It can be combined. FIG. 25 shows a conventional animation editor 2500 of the type that can be adapted for use with the PCD 100. The main functions of the animation editor are the simulation window 2502 for playing back social robot animations, and the developer / designer in the timeline (as moving, graphic, sound / TTS, LED body lighting, or completed animation) And an asset library 2506 that allows developers / designers to select existing assets for inclusion in the timeline. Assets are available from the developer's hard drive or PCD store. This animation editor can support 3D view display to change the view, scale, rotation, etc. of the PCD 100. In an embodiment, the editor enables the use of backgrounds or objects that can extend the PCD's virtual environment, such as having avatars to imitate people, receiving input from a user interface, etc. Can. In an embodiment, the animation editor has a mode that reverses control and allows the user to determine the pose of the robot, and may further have an interface for setting keyframes based on this pose . In a similar manner, animating an eye-like screen-based element, overlaying on a background element can be done by touch manipulation and subsequent new orientation / change keyframe settings. Variations of this approach can be implemented, for example, by recording custom sound effects towards animation (alternative or final) using PCD 100, which significantly accelerates the process of generating design skills. Become. In an embodiment, this tool may allow the animation editor to preview animations directly on the PCD 100 to which the editor is connected.

実施形態では、PCDプラットフォームのホストは、アセットをインポートし、新しいアセットを生成する機能をサポートすることができる。「インポート」及び「生成」の機能は、本明細書に説明する様々なアセットタイプをサポートすることができる。例えば、新しい移動を生成する段階は社会ロボットアニメーション移動ツールを起動することができ、一方、新しいTTSフレーズを生成する段階は社会ロボットの発声ツールを起動する。   In an embodiment, the PCD platform host can support the ability to import assets and generate new assets. The "Import" and "Generate" functions can support the various asset types described herein. For example, generating a new movement can activate a social robot animation movement tool, while generating a new TTS phrase activates a speech tool of the social robot.

新しいLED照明手法を生成する段階は、ダイアログボックス又は照明ツールを通して指定することができる。   The step of generating a new LED lighting scheme can be specified through a dialog box or lighting tool.

実施形態では、1又は2以上のツールをChrome(登録商標)ウェブアプリケーションのようなウェブアプリケーションとして実施することができる。実施形態では、所与のツールは、社会ロボットアニメーション自体を.jbaファイル又は.animファイルのような固有のファイル形式等、並びにjbpファイル形式のような社会ロボットアニメーションプロジェクトファイルの両方で保存することができる。この手法は、PCD100が知覚機能、身体機能、表現機能、及び新しいデバイス(例えば、拡張現実デバイス)との接続性などのような新しい機能によって進化する時に新しいツールに拡張可能にすることができる。   In embodiments, one or more tools may be implemented as a web application, such as a Chrome® web application. In an embodiment, a given tool is a social robot animation itself. jba file or. It can be stored in both a specific file format such as anim file, etc., as well as a social robot animation project file such as jbp file format. This approach can be made extensible to new tools as PCD 100 evolves with new features such as perceptual features, physical features, presentation features, and connectivity with new devices (eg, augmented reality devices).

図26を参照すると、PCDアニメーションエディタ2500から「新しい....アニメーション」を呼び出すことなどによって使用することができるPCDアニメーションエディタ2500の例示的かつ非限定的実施形態が示されている。PCDアニメーションエディタ2500のコアには、身体位置を指定するラジアル位置が存在する(例えば、三部構成ロボットにおいてその底セクション、中央セクション、及び上セクションの半径方向位置を制御することにより)。図26では、スライドバーセット2602を用いて移動位置を与えることができる。実施形態では、完全な移動が一並びの時間/身体位置の値によって定められるように各位置セットにタイムスタンプを付けることができる。眼アニメーションにおいて関節を制御するために残りのスライドバーを使用することができる。実施形態では、新しい眼アニメーションを生成する段階を新しい身体アニメーションを生成する段階から分離することができる(この実施形態ではこれら2つは合成される)。最後に、このツールは、眼グラフィックの見栄えを制御するためのテクスチャファイルのインポートをサポートすることができる。このツールは、タッチ画面との対話を模倣する段階をサポートすることができる。実施形態では、ツールは、対話型物語アニメーションのような眼以外の様々なグラフィックを可能にすることができる。   Referring to FIG. 26, an exemplary non-limiting embodiment of a PCD animation editor 2500 is shown that can be used such as by invoking “new... Animation” from the PCD animation editor 2500. At the core of the PCD animation editor 2500 is a radial position specifying the body position (e.g. by controlling the radial position of its bottom section, center section and top section in a three part robot). In FIG. 26, a slide bar set 2602 can be used to provide a moving position. In an embodiment, each position set may be time stamped so that the complete movement is defined by the alignment time / body position values. The remaining slide bars can be used to control the joints in eye animation. In an embodiment, the step of generating a new eye animation can be separated from the step of generating a new body animation (in this embodiment these two are combined). Finally, this tool can support the import of texture files to control the look of the eye graphic. This tool can support the phase of mimicking the interaction with the touch screen. In embodiments, the tool may enable various graphics other than the eye, such as interactive story animation.

PCDシミュレータは、上記で言及したシミュレーション窓を含むことができるだけではなく、感知入力を挿入するためのインタフェース/コンソールを有することができる。   The PCD simulator can not only include the simulation window mentioned above, but can also have an interface / console for inserting the sensing input.

実施形態では、PCD100に関するウェブポータルへの鍵ベースのアクセスは、開発者が開発及び試験に向けて社会ロボット上に技能をインストールすることを可能にすることができる。PCD100に関するウェブポータルは、ユーザがPCD100と対話し続けながらのPCD100の技能の実行時デバッグ実行のためのウェブベースの開発デバッグ実行ツール及び視覚化ツールの集合を提供することができる。   In embodiments, key-based access to a web portal for the PCD 100 may allow developers to install skills on social robots for development and testing. The web portal for the PCD 100 can provide a collection of web based development debug execution tools and visualization tools for runtime debugging execution of the PCD 100 skills as the user continues to interact with the PCD 100.

PCD100は、グラフィック、身体の移動、音、表現のアニメーションのためのコンテンツ生成をサポートするホストされたウェブベースのツール及び格納機能のセットを含むことができるPCDクラウドのような関連のリモートストレージ設備を有することができる。実施形態では、PCD100は、発話認識機械学習及びナビゲーションなどのような他の盤外処理を有することができる。この処理は、挙動木ライブラリ、並びに共通の感情アニメーション、グラフィック、及び音のような開発者技能を改善するための「接続」コンテンツのライブラリを用いた技能論理部に対する挙動木の生成のためのウェブベースのツールを含むことができる。このインタフェースは、ホームオートメーションAPIなどのような他のAPIとのインタフェースに拡張可能にすることができる。   The PCD 100 can include a set of hosted web-based tools and storage capabilities to support content generation for graphics, movement of the body, sound, expression animation, and related remote storage equipment such as PCD Cloud It can have. In an embodiment, the PCD 100 may have other off board processing such as speech recognition machine learning and navigation. This process is a web for the creation of behavior trees for skill logic, using a library of behavior trees and a library of "connected" content to improve developer skills such as common emotion animations, graphics and sounds. It can include base tools. This interface can be extensible to interface with other APIs such as home automation API etc.

本明細書に開示する方法及びシステムは、様々なセキュリティ要件に対処することができる。例えば、技能は、ビデオ及びオーディオの入力ストリームのような機密プラットフォームリソースにアクセスするための認証トークンを必要とすることができる。技能は、社会ロボットストアを通してデジタル痕跡付き「パッケージ」として発売することができる。開発者は、個々のパッケージを対応する鍵を用いてSDKの一部として利用可能である。   The methods and systems disclosed herein can address various security requirements. For example, the skills may require an authentication token to access sensitive platform resources such as video and audio input streams. The skills can be marketed as "packages" with digital traces through social robot stores. Developers can use individual packages as part of the SDK with corresponding keys.

実施形態では、PCD SDKは、Chrome(登録商標)ブラウザのような簡単なブラウザがアクセスすることができ、HTML5、CSS、JS、及びWebGLのような従来のウェブ開発ツールに対するサポートを有する構成要素、並びに視覚化のためのキャンバスを含むことができる。実施形態では、Chrome(登録商標)のようなブラウザのオープンソースバージョンは、デスクトップアプリケーションを構成するために、更にシミュレータ、開発環境、及び関連の接続に向けて、並びにPCD100の実行時アプリケーションに向けて使用することができる。これは、開発使用、シミュレーション使用、又は実行時使用のためのPCD100に対するコードを一般的に標準のブラウザ内で最小限の改訂しか伴わずに実行することができ、それによって例えば技能をモバイルブラウザ又はPCブラウザ上でプレビューすることが可能になることを意味する。   In embodiments, the PCD SDK is a component that can be accessed by a simple browser, such as a Chrome® browser, with support for traditional web development tools such as HTML5, CSS, JS, and WebGL, As well as a canvas for visualization. In an embodiment, an open source version of a browser such as Chrome (R) further configures the desktop application, further towards the simulator, development environment, and related connections, and towards the runtime application of the PCD 100. It can be used. It can execute code for the PCD 100 for development use, simulation use, or run-time use, generally with minimal revision, within a standard browser, thereby, for example, mobile browser or It means that it becomes possible to preview on a PC browser.

本明細書に説明するSDKは、入力文法(例えば、事前調整されたワード検出文法を含む)、グラフィックリソース(社会ロボットの画面上に表示するための人気のグラフィックリソースのような)、音(PCD100のスピーカ上で再生するための、PCD100の発言の韻律を形成するための、音声に対するフィルタ及び他の効果音などを追加するための人気の音リソース)、アニメーション(調和したアニメーションにパッケージ化される移動、画面グラフィック、音、及び発話の人気のバンドルのような)、及び挙動木(開発者が技能の中に組み込むことができる人気の挙動木例のような)のような様々なアセットタイプをサポートすることができる。   The SDKs described herein include input grammars (eg, including pre-adjusted word detection grammars), graphic resources (such as popular graphic resources for display on social robot screens), sounds (PCD 100). Popular sound resources for adding filters and other sound effects, etc. to the voice, to form the prosody of the PCD 100's remarks for playback on the speakers of a), animation (packaged into a harmonious animation A variety of asset types such as movement, screen graphics, popular bundles of sounds and speech), and behavior trees (such as popular behavior trees that developers can incorporate into their skills) Can be supported.

PCD SDKは、ローカル知覚空間に関する機能(実時間3D人追跡、音声認識及び/又は顔認識による人識別、並びに顔感情推定のような)、撮像(スナップ写真撮影、画像の重なり、及び画像ストリームの圧縮のような)、オーディオ入力(オーディオ源の位置、オーディオビーム方向の選択、及びオーディオストリームの圧縮のような)、発話認識(話者識別、フレーズ認識及びフレーズ検出文法、名称認識、標準発話認識、及びカスタムフレーズ検出文法の使用のような)、タッチ(グラフィック要素上の顔のタッチの検出及び社会ロボットの頭へのタッチの検出のような)、制御(簡素化IFTTT、JavaScriptを用いた複雑な挙動木、又は組み込み挙動ライブラリの使用)のような広範囲の感知入力及び制御機能を管理することを可能にすることができる。   The PCD SDK supports functions related to the local perceptual space (such as real-time 3D human tracking, human identification with speech recognition and / or face recognition, and face emotion estimation), imaging (snapshots, image overlap, and image stream Speech input (such as compression), audio input (such as position of audio source, selection of audio beam direction, and compression of audio stream), speech recognition (speaker identification, phrase recognition and phrase detection grammar, name recognition, standard speech recognition , And the use of custom phrase detection grammar), touch (such as detection of face touch on graphic elements and detection of touch to the head of social robot), control (simplification IFTTT, complex with JavaScript A wide range of sensing input and control functions (such as the use of It is possible to be able to sense.

PCD SDKは、移動(社会ロボットが生成したアニメーションの再生、カスタムアニメーションの生成、カスタムアニメーションのインポート、並びにプログラム及び運動のアニメーションの構成のような)、音(社会ロボットが生成した音の再生、カスタム音のインポート、カスタム音の再生、及び音のマイニング(例えば、実時間の)又は合成のような)、発話出力(事前記録音声セグメントの再生、正しい名称発音のサポート、テキスト発話変換を用いた再生、カスタム事前記録音声セグメントの組み込み、及びテキスト発話変換感情注釈の使用のような)、照明(LED照明の制御のような)、グラフィック(社会ロボットが生成したグラフィックの実行又はカスタムグラフィックのインポートのような)、パーソナル化及び技能の共有(単一アカウント内の複数のデバイス上での実行、他のデバイス上の開発者との共有、及び技能ストアへの配信のような)等に関する表現の出力及び共有に関する様々な機能を有することができる。   PCD SDKs include movement (such as social robot generated animation playback, custom animation generation, custom animation import, and program and motion animation configuration), sound (social robot generated sound playback, custom Sound import, custom sound playback, and sound mining (such as real-time) or synthesis, speech output (pre-recorded speech segment reproduction, support for correct name pronunciation, reproduction using text speech conversion Such as custom embedded pre-recorded voice segments, and use of text-to-speech conversion emotional annotations, lighting (such as control of LED lighting), graphics (such as social robot generated graphics execution or custom graphics import) ), Personalization and skill Share functions related to the output and sharing of expressions related to sharing (such as execution on multiple devices in a single account, sharing with developers on other devices, and delivery to a skill store), etc. be able to.

様々な例示的かつ非限定的実施形態により、PCD100を用いて「モノのインターネット(IOT)」デバイスのライブ実演を調整する方法及びシステムを提供する。   Various exemplary and non-limiting embodiments provide methods and systems for coordinating live presentations of "Internet of Things (IOT)" devices using PCD 100.

一部の実施形態では、PCD100は、スピーカ、照明などを含むIOTのタイプ及び場所を自動的に見出すことができる。次に、PCD100は、ライブ音楽実演を改善するように照明及びスピーカを制御することができる。PCD100は、音楽デバイス及びIOTデバイスなどのような外部デバイスの設定及び挙動をパーソナル化することなどのためにユーザのプリファレンスが何であるかを体験から学習することができる。   In some embodiments, the PCD 100 can automatically find the type and location of the IOT, including speakers, lights, etc. The PCD 100 can then control the lights and speakers to improve the live music presentation. The PCD 100 can learn from the experience what the user's preferences are, such as to personalize settings and behavior of external devices such as music devices and IOT devices.

廉価なIOTデバイスが一般的になると、これらのデバイスを娯楽用途に利用することが可能になる。これらのデバイスを音楽、ビデオ、及び他の娯楽メディアと調和するように制御するために、理想的には空間地図生成、物体検出、及びオーディオ検出を使用するPCD100が装備される。的確に編成された実演は、観客を喜ばせることになる。   As inexpensive IOT devices become commonplace, these devices can be used for entertainment applications. A PCD 100 is ideally equipped that uses spatial mapping, object detection, and audio detection to control these devices to harmonize with music, video, and other entertainment media. An appropriately organized performance will please the audience.

劇場及びライブの音楽実演を改善するために音及び照明を自動的に制御するための市販の手法が存在する。更に、カラオケ実演を改善するために類似のシステムが使用される。既存の市販システムに関連付けられた問題は、これらが高価であり、音デバイス及び照明デバイスを正しく構成するのに専門技術を必要とすることである。一般的には、特にシアタ劇場環境又は講堂環境に対して制御可能デバイスが設計される。これらのシステム及びデバイスは家庭では見当たらない。   There are commercially available approaches to automatically control sound and lighting to improve theater and live music performances. In addition, similar systems are used to improve the karaoke performance. The problem associated with existing commercial systems is that they are expensive and require specialized skills to properly configure sound and lighting devices. In general, controllable devices are designed, in particular for theater theater or auditorium environments. These systems and devices are not found at home.

本明細書では、(1)照明、スピーカなどを含むIOTデバイスのタイプ及び場所を自動的に見出し、(2)これらの照明、スピーカなどを例えばライブ音楽実演を改善するように制御することができる適切にプログラムされたPCD100を提供する。   In this specification, (1) automatically find the type and location of IOT devices including lighting, speakers etc., (2) these lights, speakers etc can be controlled to improve eg live music performance Provide a properly programmed PCD 100.

IOT照明及びスピーカが例えばキッチン及び隣接する家族部屋の中に設けられた家を有する家族を考察する。新しい技術の採用者であるこの家族は、キッチン内に配備することができるパーソナルPCD100を購入することが可能である。PCD100の構成手順の一部として、この社会ロボットは、家族のIOTデバイスのタイプ及び場所を見出し、これらのデバイスにアクセスしてそれを制御するための許可を要求することができる。許可が与えられた場合に、PCD100は人気の曲を実演する提案を行うことができる。次に、社会ロボットは、それ自体の音システム及び表現的身体アニメーションを用いて実演を開始することができる。次に、家族の歓喜に応答して、キッチン及び家族部屋の中にあるIOT照明が音楽と共に点滅し始め、音楽事象を引き立たせる。その後に、IOTスピーカが再生を始め、音楽の立体/空間的性質を改善する。   Consider a family having a home where the IOT lighting and speakers are located, for example, in the kitchen and adjacent family room. As a adopter of new technology, this family can purchase a personal PCD 100 that can be deployed in the kitchen. As part of the PCD 100 configuration procedure, this social robot can find the type and location of the family's IOT devices and request permission to access and control these devices. With permission, the PCD 100 can make suggestions to demonstrate popular songs. The social robot can then start the demonstration using its own sound system and expressive body animation. Next, in response to the family's delight, the IOT lights in the kitchen and family room begin to flash with the music, highlighting the music event. After that, the IOT speakers begin to play, improving the stereo / spatial nature of the music.

IOTデバイスを音楽(又はその他)の実演と調和させる機能は、PCD100の知覚値を改善する。この機能は、家の外でのアドホックライブ実演を自動的に設定し、改善するのに有利なものにすることができる。   The ability to reconcile the IOT device with the music (or other) performance improves the perception of the PCD 100. This feature can be advantageous for automatically setting up and improving ad hoc live demonstrations outside the home.

本明細書では、PCD100を用いて人間参加者の間のミーティング又は会話の司会を務める方法及びシステムを提供する。そのような実施形態では、ミーティング及び会話のダイナミクス及び有効性を改善するために適正に設計されたPCD100をミーティングの司会として使用することができる。   Provided herein are methods and systems that use PCD 100 to host meetings or conversations between human participants. In such embodiments, a PCD 100 properly designed to improve the dynamics and effectiveness of the meeting and conversation can be used as a moderator of the meeting.

ミーティングは、多くの場合に意図したようには有効でなく、ミーティングの司会を手際良く務めることができる個人が常に得られるとは限らない。準最適なミーティングに寄与するファクタを考慮するのに良好な結果を誘導する試みは、一般的に特別な研修又は熟練司会者の利用という形態を取る。これらの手法は有効である場合もあるが高価である。   Meetings are often not as effective as intended, and it is not always the case that individuals who can successfully preside over meetings are always available. Attempts to derive good results in considering factors contributing to sub-optimal meetings generally take the form of special training or the use of a skilled presenter. These approaches may be effective but expensive.

個人は対等者によって与えられる指示及び助言に抵抗を感じるので、訓練を受けていない個人がミーティングの司会を務める試みは多くの場合に失敗する。   Attempts to host meetings by untrained individuals often fail, as individuals will resist the instructions and advice given by their peers.

多くの場合に、ミーティング又は会話のゴールは、参加者がミーティングの過程においてアイデア及び意見を出しながらこれらに対して説明することである。多くの場合に予想されることは、参加者が自由に意見を説明する機会を有することになることである。これらのゴール及び予想を前提とすると、最適なミーティング又は会話は、全ての参加者によって貴重で有意な意見提供が行われ、全ての重要なアイデア及び意見が出されるものである。   In many cases, the goal of the meeting or conversation is to explain to them the ideas and ideas in the course of the meeting. What is expected in many cases is that participants will have the opportunity to freely explain their views. Given these goals and expectations, the best meeting or conversation is one where valuable and meaningful input is provided by all participants and all key ideas and opinions are presented.

いくつかの人的ファクタが、ミーティングの成功を制限する場合がある。例えば、個人は、ミーティングのゴール及び予想に対して常に献身的であるとは限らない。同じく、個人間のダイナミクスが、ミーティングのゴール及び予想に常に合致しているとは限らない。時に、ミーティングの参加者の意図がミーティングのゴールに明白に反することがある。例えば、相互説明を促進することが意図されたミーティングが、この説明をある一定の方向に誘導するというゴールを有する参加者によって乗っ取られる場合がある。他の事例では、個人間のダイナミクスが相反し、その結果、説明のフォーカスが意図する主題ではなくダイナミクスに置かれることになる場合がある。意図しない妨害が、ミーティングの成功を最小限に止める可能性もある。例えば、話し好きで押し出しが強い参加者は、説明を不用意に独占し、他者が自由に意見を出すのを妨げる場合がある。   Several human factors may limit the success of the meeting. For example, individuals are not always dedicated to meeting goals and expectations. Likewise, inter-individual dynamics are not always consistent with meeting goals and expectations. Occasionally, the intent of a meeting participant may be contrary to the goal of the meeting. For example, a meeting intended to facilitate mutual explanation may be taken over by a participant who has the goal of directing this explanation in a certain direction. In other cases, the dynamics between individuals may be contradictory, resulting in the focus of the description being placed on the dynamics rather than the intended subject. Unintended interference can also minimize the success of the meeting. For example, a talkative, push-out participant may inadvertently monopolize the description and prevent others from giving up freely.

これらの制限的ファクタに起因して、多くの(殆どではないにしても)ミーティングは準最適である。ビジネス環境では、準最適で非効率的なミーティングは不経済なリソースの浪費である場合がある。家族では、準最適な会話は、不運な機会喪失である場合がある。   Due to these limiting factors, many (if not most) meetings are suboptimal. In a business environment, suboptimal and inefficient meetings can be wasteful of resources. In the family, sub-optimal conversation can be an unfortunate loss of opportunity.

上記に示した問題は、人間の生来の傾向の結果であり、それを考慮して修正するためのことが殆ど行われないことで存続する。典型的な個人教育中に、読み、書き、算術、科学、芸術、音楽、ビジネス等に関する教授に多大な時間が費やされる。しかし、会話、協力、又は説得(修辞学)のような重要な技能に対しては明確な教授が殆ど又は全く提供されない。それに起因して、一般的に協力、具体的にはミーティングの有効性を有意に改善する機会が存在する。   The above-mentioned problems are the result of the natural tendency of human beings, and there is little to be done to take into account and correct them. During typical personal education, a great deal of time is spent teaching reading, writing, arithmetic, science, art, music, business, etc. However, little or no clear teaching is provided for important skills such as speech, cooperation or persuasion (rhetzology). Because of that, there is generally an opportunity to significantly improve the effectiveness of the collaboration, specifically the meeting.

人間が、別の人間よりも社会ロボットから指示及び助言を受け、それに従いたいと望んでいることが研究によって明らかになっている。社会ロボットは、ミーティングのための公平で中立的な熟練司会者として機能することができる。PCDのバイオメトリック認識機能は、PCDがミーティング中の各個人による参加度を正確に追跡して測定することを可能にすることができる。この情報は、実時間参加ヒストグラムとして提供することができる。このヒストグラムは、個人毎の発話時間、個人間のやり取り、各個人によって発せられた音調(積極的/消極的)、礼儀正しさ、慣のための表現(積極的及び消極的、激励的及び軽蔑的、無神経)、教養的な失策、個人の感情状態(情緒解析)、時間経過に関連付けられた全体的活気、並びに議題及び小議題を含むことができる。   Research has shown that humans want to follow instructions and advice from social robots and to follow them rather than others. A social robot can function as a fair and neutral expert presenter for a meeting. The biometric recognition function of the PCD can allow the PCD to accurately track and measure the degree of participation by each person in the meeting. This information can be provided as a real time participation histogram. This histogram is used for speaking time of each person, communication between individuals, tone (active / negative) emitted by each individual, courtesy, expression for habituation (active and passive, encouraging and despise Can be included in the following situations: (unconscious, insensitive), cultural missteps, emotional status of the individual (emotional analysis), overall vigor associated with the passage of time, and agenda and agenda.

ミーティングの過程を通して、PCD100は、言語コンテンツを変換し、それを親交的測定値と相関付けて説明を捕捉する段階とミーティングの有効性を評価する段階の両方のための客観的ツールを提供することができる。   Throughout the course of the meeting, the PCD 100 provides an objective tool for both converting linguistic content and correlating it with intimate measures to capture an explanation and assessing the effectiveness of the meeting. Can.

PCD100は、ミーティングを本題から離さないように保つためにミーティング中に介入することができるように有意な閾値を用いて構成することができる。例えば、ロボットは、誰かが話し過ぎている時に、音調が過度に消極的である時に、不適切な慣のための表現が使用された時に、無神経さが検出された時に、全体的活気が過度に低い時に、及び/又は本質的な論題が作業されていない時に介入することができる。   The PCD 100 can be configured with significant thresholds so that it can intervene during the meeting to keep the meeting off the subject. For example, a robot is overly energetic overall when an insensitivity is detected when an inappropriate idiomatic expression is used when the tone is overly passive when someone is talking too much Can be intervened at low times and / or when the underlying topic is not being worked on.

PCD100は、その公平なミーティング司会者と親交的な反映者の両方としての機能において、ミーティングをより実質的に管理すること、及びより実質的に協力して会話するように学習することという2つの重要なゴールを参加者をもたらすのに役立たせることができる。   The PCD 100 has two functions: managing the meeting in a more substantial manner and learning to cooperate in a substantially cooperative manner in its functions as both a fair meeting presenter and an intimate reflector. Key goals can be used to bring in participants.

ミーティングは、例えば、技術を配備することができる環境である。ミーティングの参加者は、様々なコミュニケーション方式を有する様々な分野からの専門家を含む場合がある。ミーティングが話し好きな参加者によって支配されている場合に、PCD司会者は、全ての参加者の相対発話時間を示す実時間ヒストグラムを適切なディスプレイ上に提供することができる(中立的に)。更に、不適切な表現が使用された場合に、社会ロボットは、意見を出した参加者にヒストグラムなどを通してこれらの表現に属性を付けすることができる(分別なく)。ミーティングの活気及び音調を測定して実時間で追跡し、それまでの有効なミーティングと比較することができる。学習機会として、有効なミーティングと無効なミーティングの両方をPCD100によって収集された統計を用いて比較することができる。   A meeting, for example, is an environment in which technology can be deployed. Participants in the meeting may include experts from different fields with different communication methods. If the meeting is controlled by a talkative participant, the PCD presenter can provide a real time histogram on the appropriate display (neutrally) indicating the relative speech times of all participants. Furthermore, if an inappropriate expression is used, the social robot can attribute those expressions to a participant who has made an opinion through a histogram or the like (without distinction). The liveliness and tone of the meeting can be measured, tracked in real time, and compared to previous active meetings. As a learning opportunity, both valid and invalid meetings can be compared using statistics collected by the PCD 100.

以上により、PCD100のような社会ロボットは、有意な情報を記録して表示し、ミーティングの有効性及びダイナミクスを改善しながらミーティングの司会者として機能することができ、これは、高い生産率及び優れたリソース使用を意味することができる。   Thus, social robots such as the PCD 100 can record and display meaningful information, and act as a meeting presenter while improving the effectiveness and dynamics of the meeting, which has high production rates and excellent Resource usage can be implied.

本明細書では、更に、複数の信頼性が証明されたIDの人間及びネットワーキングモバイルデバイスの間で情報を配信するロボットエージェントのネットワークを編成する方法及びシステムを提供する。   There is further provided herein a method and system for organizing a network of robotic agents that distribute information between multiple trusted human identity and networking mobile devices.

通信チャネルの数及びタイプが増加する時に、メッセージの送受信者が戦わなければならない「ノイズ」も増加する。更に、新しいチャネルは、多くの場合にメッセージ配信の特定のモードに特化される。その結果、メッセージ送信者は、メッセージ配信の可能性及び有効性を最大にするためにどのチャネルを使用するかを決定しなければならない。同じく、メッセージ受信者は、メッセージを適時に受信するためにどのチャネルを「モニタ」するかを決定しなければならない。これらの決定は、行うのが益々困難になってきている。   As the number and type of communication channels increase, so does the "noise" that message senders and recipients have to fight. Furthermore, new channels are often dedicated to particular modes of message delivery. As a result, the message sender must decide which channel to use in order to maximize the likelihood and effectiveness of message delivery. Also, the message receiver has to decide which channel to "monitor" to receive the message in a timely manner. These decisions are becoming increasingly difficult to make.

現在、複数の電子メールアカウントからのメッセージをメール読取プログラムが自動的に集約することができ、複数の電子メールチャネルを同時にモニタすることが可能になっている。同じく、モバイルデバイスは、複数のチャネルからのテキストメッセージを集約方式で提供することができる。しかし、メッセージの集約は、「ノイズ」問題を解決しない。この集約は、全てが同じモードで示されるメッセージを受信者に浴びせることによって問題を悪化させる場合がある。   Currently, mail reading programs can automatically aggregate messages from multiple email accounts, enabling simultaneous monitoring of multiple email channels. Also, the mobile device can provide text messages from multiple channels in an aggregated manner. However, message aggregation does not solve the "noise" problem. This aggregation can exacerbate the problem by flooding the recipient with messages that are all presented in the same mode.

社会ロボットは、注意を喚起する機能及び人間に人間様の通信があてがわれることの重要度に起因してメッセージングにおいて独特の役割を演じることができる。社会ロボットが受信者にメッセージを配信するためのチャネルとして使用される場合に、このメッセージが受信者による最適な程度の着目を受けるように社会ロボットが配信モードを自動的に選択することができる。   Social robots can play a unique role in messaging due to the alerting function and the importance of human-like communication being applied to humans. When the social robot is used as a channel for delivering a message to the recipient, the social robot can automatically select the delivery mode so that the message receives an optimal degree of attention by the recipient.

この自動配信モード選択は、社会ロボットに独特のいくつかの特徴、すなわち、(1)社会ロボットの物理的存在により、人間が生来慣れている表現的手がかりを用いて社会ロボットが注意を引くことが可能になること、(2)バイオメトリック認識機能を有する社会ロボットが、メッセージの意図する受信者が物理的に存在している時を検出することができ、この受信者に最も有効な物理的手がかりを用いて促すことができること、(3)社会ロボットによって使用される学習アルゴリズムが、メッセージコンテンツ、状況コンテクスト、及び受信者の挙動履歴を用いてメッセージをどのようにして実質的に配信するかに関する最適な決定を行うことができることを用いて達成することができる。   This automatic delivery mode selection is characterized by several characteristics unique to social robots: (1) the physical presence of a social robot causes the social robot to draw attention using the expressive cues that humans are naturally used to (2) A social robot with biometric recognition capability can detect when the intended recipient of the message is physically present, the most effective physical cue for this recipient (3) An optimization as to how the learning algorithm used by the social robot substantially delivers the message using the message content, the context context and the behavior history of the recipient This can be achieved using the ability to make decisions.

本明細書に開示する方法及びシステムでは、PCD100のようなネットワーキング社会ロボット、並びにモバイルデバイス及び他のネットワーキングデバイスのような他のデバイスを使用することができる。個々の社会ロボットによってもたらされるメッセージ配信の利点は、複数のネットワーキング社会ロボットが使用される場合に増幅される。家庭環境では、家の部屋/セクションの間で分散されるいくつかのPCDは、メッセージ配信の労力を調整することができる。家庭にわたる複数のPCDの物理的存在は、ロボットがメッセージを配信することができる窓を拡大する。PCDネットワークは、PCDの共有バイオメトリック認識機能を用いて家庭を通して意図する受信者の行方を追跡することができる。PCDネットワークによって使用される学習アルゴリズムは、どのPCDエージェントがメッセージを最も有効に配信することができるかを決定するために受信者の移動及び挙動に関する予想モデルを生成することができる。   The methods and systems disclosed herein may use networking social robots such as PCD 100, as well as other devices such as mobile devices and other networking devices. The benefits of message delivery provided by individual social robots are amplified when multiple networking social robots are used. In a home environment, several PCDs distributed among the rooms / sections of the house can coordinate the effort of message delivery. The physical presence of multiple PCDs across the home enlarges the window through which the robot can deliver messages. The PCD network can track the intended recipient's whereabouts throughout the home using the PCD's shared biometric recognition function. The learning algorithm used by the PCD network can generate a predictive model of the recipient's movement and behavior to determine which PCD agent can most effectively deliver the message.

この同じダイナミクスをあらゆる物理的な場所に適用することができ、商店、展示館、図書館等に適用することができる。   This same dynamics can be applied to any physical location, and can be applied to shops, exhibition halls, libraries etc.

PCDネットワーク内ロボットの物理的形態は様々なものとすることができる。ネットワークは、据え置き型のもの、移動可能なもの、歩行可能なもの、転動可能なもの、飛行可能なもの、車両のダッシュボード内に埋め込まれたもの、冷蔵庫のような電化製品内に埋め込まれたものであるPCDで構成することができる。   The physical form of the robot in the PCD network can vary. The network is embedded in stationary, mobile, walkable, rollable, flyable, embedded in vehicle dashboards, appliances such as refrigerators, etc. Can be configured with a PCD.

これに加えて、PCDの「頭脳」(そのソフトウエア、論理、学習アルゴリズム、メモリのような)は、様々なデバイスにわたって複写することができ、これらのデバイスのうちの一部は物理的に表現する身体を有し、いくつかは、PCD100ソフトウエアが携帯電話又はタブレット内に具現化される場合と同じく身体を持たない(モバイルデバイスに複写される)。   In addition to this, the PCD's "brain" (such as its software, logic, learning algorithms, memory, etc.) can be replicated across various devices, some of which are physically represented Some have no body as much as when the PCD 100 software is embodied in a mobile phone or tablet (copied to the mobile device).

PCDのソフトウエアがモバイルデバイスに複写される場合に、このデバイスは、社会ロボットネットワークを構成するメンバであり、更に、親交的及び/又は技術的なネットワーク内にいる人間と十分に協力的で十分に立場を認識したメンバとして機能することができる。物理的に制約されるPCDのインスタンスがメッセージ配信タスクに寄与することができる程度は、このインスタンスが有する機能に依存し、すなわち、典型的なスマートフォン内に実施されるPCDソフトウエアは、多くの場合に、バイオメトリック認識、カメラモニタ、発話認識を提供し、更に、画面上レンダリングによってシミュレーション身体表現さえも提供することができることになる。   When PCD software is copied to a mobile device, this device is a member of a social robot network, and is fully cooperative and sufficient with people in an intimate and / or technical network. Can act as a member who recognizes the position. The degree to which a physically constrained instance of PCD can contribute to the message delivery task depends on the functionality this instance has, ie PCD software implemented in a typical smart phone is often It is possible to provide biometric recognition, camera monitor, speech recognition, and even on-screen rendering to provide even simulated body representation.

スマートフォン制約型PCDのインスタンスは、一般的に、ネットワーク内の他の無制約型PCDが後に配信することができる完全に形成されたメッセージを与えることができる場合がある。   An instance of a smartphone constrained PCD may generally be able to provide a fully formed message that other unconstrained PCDs in the network can later deliver.

PCDインスタンスのネットワークでは、各インスタンスは、完全に独立した寄与要素として作動させることができる。しかし、いずれの所与のインスタンスも、ネットワーク上の別のPCDインスタンスへのリモートインタフェース(リモート制御)として機能することができる。このリモートインタフェースモードは断続的に有効にすることができ、又は無制約インスタンスにリモートアクセスを与えるという特定の目的でPCDソフトウエアがスマートフォン又はスマート腕時計内に実施される場合と同じく、あるインスタンスを別のインスタンスへのリモートインタフェースとして機能するように永久に構成することができる。   In a network of PCD instances, each instance can act as a completely independent contributor. However, any given instance can serve as a remote interface (remote control) to another PCD instance on the network. This remote interface mode can be enabled intermittently, or another instance of PCD software implemented in a smartphone or smart watch for the specific purpose of giving remote access to unconstrained instances. It can be permanently configured to act as a remote interface to an instance of.

実施形態では、自宅環境で無制約(完全装備の)ロボットユニットをキッチンに使用する親がメッセージを生成することができる。親は、PCD100に話し掛けることによってメッセージを生成することができる。   In an embodiment, a parent may use the unconstrained (fully equipped) robotic unit in the kitchen environment in a home environment to generate a message. Parents can generate messages by speaking to the PCD 100.

メッセージは、音声/映像記録として捕捉することができ、更に発話テキスト変換技術等からの転写テキストとして捕捉してテキスト発話変換(TTS)を通して配信することができる。配信は、今日の放課後のような後のいずれかの時間にスケジューリングされる。意図する受信者であるティーンエイジャーは、その時点で家にいない可能性があるが、意図する配信時間には帰り着くことができる。この例では、ティーンエイジャーは、放課後確実に帰宅するが、キッチンには入らない。ガレージの入口のそばの壁の中に埋め込まれたタブレット実施ロボットユニットが、帰り着いたティーンエイジャーを認識することができる。タブレット実施ユニットはキッチンロボットユニット、上階のロボットユニット、及びティーンエイジャーのiPod実施ユニットとネットワーキングされているので、4つ全てのユニットが適時メッセージを配信するように協働する。この種のメッセージに対して好ましい配信モードは、無制約ロボットユニットを通じたものであり、従って、タブレットユニットは、メッセージが待機中であることしか述べない。「やあ、[ティーンエイジャー]、メッセージが来てるよ」。ティーンエイジャーは、キッチン及び上階のロボットユニットを無視して自分の部屋に進行する場合がある。配信時間が来ると、ロボットユニットのネットワークは、ティーンエイジャーが無制約ロボットユニットの近くにいないので、メッセージを配信する次に最良の手法が、ティーンエイジャーのiPod実施ユニットを通じたものであると決定することができる。その結果、iPodユニットは、警告トーンを鳴らし、「やあ、[ティーンエイジャー]、キッチンでブラウニーが君を待ってるよ」というメッセージを配信する。最終的にティーンエイジャーがキッチンに入ると、キッチンロボットユニットは、メッセージが配信されたことを既に認識しており、「やあ、[ティーンエイジャー]、ブラウニーを食べる気があるならオーブントースターの中にあるよ」という好意のリマインダーだけを提供する。PCD100は、「キャロル、ジムが君にメッセージを残してるよ。今日サッカーから子供達を乗せて帰ることに対してみたい」等とメッセージの内容を要約することができる。この要約は、キャロルがいつメッセージを聞くか(直ぐに又は少し後で)を決定するのに役立たせることができる。   Messages can be captured as audio / video recordings, and can also be captured as transposed text from spoken text conversion techniques or the like and distributed through text-to-speech conversion (TTS). Delivery is scheduled at some later time, such as today's after school. The teenager who is the intended recipient may not be at home at that time, but can return at the intended delivery time. In this example, the teenager will definitely go home after school but will not enter the kitchen. A tablet-implemented robot unit embedded in the wall by the entrance of the garage can recognize the returning teenager. Because the tablet implementation unit is networked with the kitchen robot unit, the upper floor robot unit, and the teenager's iPod implementation unit, all four units cooperate to deliver messages in a timely manner. The preferred delivery mode for this type of message is through the unconstrained robotic unit, so the tablet unit only states that the message is waiting. "Hey, [Teenger], a message is coming." The teenager may proceed to his room ignoring the kitchen unit and the upper floor robot unit. When the delivery time comes, the robot unit's network decides that the next best way to deliver the message is through the teenager's iPod implementation unit, as the teenager is not near the unconstrained robot unit be able to. As a result, the iPod unit sounds a warning tone and delivers the message, "Hey, [Teenager, Brownie is waiting for you in the kitchen"]. Finally, when the teenager gets into the kitchen, the kitchen robot unit already recognizes that the message has been delivered, "Hello, [Teenger], if you're willing to eat a brownie, it's in the oven toaster." Provide only a friendly reminder. PCD 100 can summarize the contents of the message such as "Carroll, Jim leaves a message for you. Today I would like to take children from football and return." This summary can help Carroll decide when to hear the message (immediately or slightly later).

従って、社会ロボットネットワークは、バイオメトリック認識、追跡、物理的存在(例えば、PCD100と関連のモバイルデバイス間のリンクに基づく)、非言語及び/又は親交的手がかり、並びに能動的プロンプト表示を用いてそうでなければ複数の混雑したメッセージチャネルのノイズで失われることになるメッセージを配信することができる。   Thus, social robot networks do so with biometric recognition, tracking, physical presence (eg, based on the link between the PCD 100 and the associated mobile device), non-verbal and / or intimacy cues, and active prompting. It can deliver messages that would otherwise be lost by the noise of multiple congested message channels.

他の実施形態では、TVを視聴すること又は大音量で競技されるビデオゲームをうるさく競技することは、オーディオが心地よいと感じる際に異なる好みを有する付近にいる他者に対して非常に迷惑である場合がある。更に、多くの家族が、他のメンバよりも遅くまで起きているメンバを有する。   In other embodiments, watching TV or playing loud video games is very annoying for others in the vicinity who have different preferences when the audio feels comfortable There may be. In addition, many families have members who stay up later than other members.

提案する手法は、聴取者が、社会ロボットからオーディオを無線で受信するヘッドフォンを用い、それによってこの聴取者が自分だけで聞くことができ、他者が妥協することなく好きなだけ大音量で自由に視聴するようにする手法をサポートするものである。変形は、Bluetoothヘッドフォン、ヘッドフォンバンドル、及び有線ヘッドフォンを有するモバイル受信機(ローカルWi−Fi又はBluetoothを使用するもののような)などを含むことができる。   The proposed approach is that the listener uses headphones that receive audio wirelessly from the social robot, so that this listener can listen on their own, and the others are free at as loud as they like without compromise It supports the method of viewing on Variations can include Bluetooth headphones, headphone bundles, mobile receivers with wired headphones (such as those using local Wi-Fi or Bluetooth), and the like.

例示的かつ非限定的実施形態により、PCD100は、人気のスマートフォン上にあるパーソナルアシスタント内のものと類似のリマインダー機能を有することができる。一例は、「12月5日の午後3時にアニバサリーギフトを買うことを通知して」「オーケー、通知してあげるよ」である。リマインダーは、投薬リマインダーのようなものをサポートするために反復することができる。ユーザは、リマインダーをオーディオ記録として生成するか又はビデオ記録として生成するというオプションを有することができ、この場合に、PCD100は、記録の開始時点で促す必要がある場合がある。PCD100は、メッセージが生成された後に要約することができる。一例は、「オーケー、明日ジョンに会った時に伝えとくよ[オーディオを再生]」である。リマインダーは、時間が指定されるPCDメモの特殊形態に過ぎない。   By way of an illustrative and non-limiting embodiment, the PCD 100 can have a reminder function similar to that in a personal assistant that is on a popular smartphone. An example is "notify buying an anniversary gift at 3:00 pm on December 5" and "I'll notify you". Reminders can be repeated to support things like medication reminders. The user may have the option of generating a reminder as an audio recording or as a video recording, in which case the PCD 100 may need to prompt at the start of the recording. The PCD 100 can be summarized after the message is generated. An example is "Okay, let's say when I see John tomorrow [Play Audio]". Reminders are only a special form of time-specified PCD notes.

PCD100は、家族内の既知の人々(同じリマインダーに対して1又は2以上)にある事柄に対して想起させることができる場合がある。一例は、「スージーに会ったら宿題するように伝えて」又は「夕方6時にサッカーの練習から僕を乗せて帰ってくれるようにパパとママに伝えて」である。リマインダーが与えられると、リマインダーの送信者に、社会ロボットPCDリンク上で送信者が社会ロボットリンクデバイスを有するか否かを通知しなければならない。リマインダーは、時間が指定されるPCDメモの特殊形態に過ぎない。実施形態では、リンクは、PCD100とモバイルデバイス間とすることができる。   The PCD 100 may be able to recall things that are in known people within the family (one or more for the same reminder). An example is "Tell me to do homework if I meet Susie" or "Tell dad and mom to put me back from the soccer practice at 6 o'clock in the evening". If a reminder is given, the sender of the reminder must be informed on the social robot PCD link whether the sender has a social robot link device or not. Reminders are only a special form of time-specified PCD notes. In an embodiment, the link may be between the PCD 100 and the mobile device.

ターゲットの人がいないことに起因してPCD100がリマインダーを配信することができない場合に、このリマインダーはゴールの社会ロボットリンクデバイス上に登場することができる。ターゲットに割り当てられた社会ロボットリンクデバイスが存在しない場合に、PCD100は、ターゲットの人を見た時に直ぐにメッセージを表示することができる。   If the PCD 100 can not deliver a reminder due to the lack of a target person, this reminder can appear on the goal social robot link device. When there is no social robot link device assigned to the target, the PCD 100 can display a message immediately when looking at the target person.

例示的かつ非限定的実施形態により、PCD100は、住所録内の他のPCDに本明細書で「メモ」と呼ぶ短いテキストメッセージ又はオーディオ/ビジュアル記録を送ることができる場合がある。PCDメモメッセージは編集可能にすることができ、PCDメモ記録は、送る前に再生及び再記録することができる。PCD100は、送信者のためにPCDメモが首尾良く送られたことを見ることができる。PCD100は、家庭の各メンバに関して閲覧し、メッセージ毎に削除することができる「送信された」フォルダを維持することができる。送信されたメモは、PCDリンク又はPCD100上で視聴可能及び/又は編集可能にすることができる。   According to an exemplary non-limiting embodiment, the PCD 100 may be able to send short text messages or audio / visual records, referred to herein as "notes", to other PCDs in the address book. PCD note messages can be made editable, and PCD note records can be played back and re-recorded before sending. The PCD 100 can see that the PCD note was successfully sent for the sender. The PCD 100 can maintain "sent" folders that can be browsed for each member of the home and deleted for each message. The sent notes may be viewable and / or editable on the PCD link or PCD 100.

PCDは、メッセージに活気を与えること又はその快活性を改善することなどのために、画面ベースのデバイスに使用される絵文字に類似して本明細書で「ロボッティコン」と呼ぶPCDアニメーションリストを維持することができる。その例は、「やあ、」に対する可愛いウィンク又は「おっと」に対する「o0」を含むことができる。ソーシャルロボッティコンは精巧なものとすることができ、PCD技能ストア上での購入に向けてある一定の専用ライブラリを利用可能にすることができる。いくつかのPCDロボッティコンは、独立型アニメーション表現とすることができる。他は、ユーザビデオ画像/メッセージの統合に対応することができる。PCDロボッティコンは、PCDの表現機能(LED、bipity boops、又は他の音又は効果音、アニメーションのような)のうちのいずれかを含むことができる。   The PCD maintains a PCD animation list, referred to herein as a "robot computer", similar to the pictograms used for screen-based devices, such as for energizing the message or improving its liveliness, etc. be able to. Examples can include a cute wink for "Hey," or "o 0" for "Oops". The social robot computer can be sophisticated and can make certain dedicated libraries available for purchase on the PCD skills store. Some PCD robots can be stand-alone animation representations. Others can accommodate user video image / message integration. The PCD robot computer can include any of the PCD's expressive features (such as LEDs, bidity boops or other sounds or sound effects, such as animation).

ユーザが、PCTの「スナップ撮影」モード等によって捕捉された写真を送ることを選択した場合に、写真に添付するためにPCDメモ機能を利用可能にすることができる。   If the user chooses to send a captured picture, such as in a "snapshot" mode of PCT, then the PCD note function can be made available for attachment to the photo.

例えば、家族メンバは、PCD100に「リマインダー([人]からの)を再生して」といつでも依頼することができ、PCD100は、その人に関する最先のリマインダーから再生を開始することによって応答することができる。PCDの画面は、待機中のリマインダーがあることを示すことができる。PCD100は、PCDメモの意図する受信者を見て、リマインダーが過去6時間以内に視聴されておらず、リマインダーの時間が既に来ている場合に、メモを再生することを提案することができる。メッセージを視聴した後に、受信者は、リプレイ又は伝達のオプションを有し、次に、メッセージを保存又は削除するか又は「スヌーズ」してユーザ定義の時間間隔の後に再生することができる。デフォルトのアクションは、メッセージを保存することとすることができる。PCDは、家庭の各メンバに関してスクロールすることができるPCDメモの受信ボックスを維持することができる。   For example, a family member can ask PCD 100 at any time to "replay a reminder (from [people]", and PCD 100 responds by starting playback from the earliest reminder for that person. Can. The screen of the PCD can indicate that there are reminders waiting. The PCD 100 may view the intended recipient of the PCD note and suggest playing the note if the reminder has not been viewed within the last 6 hours and the time for the reminder has already come. After watching the message, the recipient has the option of replaying or transmitting, and can then save or delete or "snooz" the message to play after a user-defined time interval. The default action may be to save the message. The PCD can maintain an inbox of PCD notes that can be scrolled for each member of the home.

複数の家族メンバがいる場合に、着信PCDメモは、意図する受信者の識別子を有することができる。PCD100は、メッセージを意図する受信者又は他の権限所有ユーザにしか見せない場合がある。例えば、家族の各メンバは、独自の色を有することができ、当該色の点滅「メッセージ」インジケータにより、当該家族メンバは、メッセージが自分に関することを知る。このパラダイムは、様々な家族メンバを待ち受ける様々なメッセージがあるインスタンスを受け入れなければならない。ある家族メンバが別の家族メンバのメッセージを視聴する権限を有するか否かは、運営者を通じて設定可能である場合がある。   When there are multiple family members, the incoming PCD note can have an identifier of the intended recipient. The PCD 100 may only show the message to the intended recipient or other authorized user. For example, each member of a family can have a unique color, and the flashing "message" indicator of that color tells the family member that the message is about him. This paradigm must accept instances with different messages awaiting different family members. Whether one family member has the right to view another family member's message may be configurable through the operator.

PCD100は、PCDリンク上で視聴可能及び編集可能にすることができやることリスト及び買い物リストを生成することができる。例えば、ユーザは、「PCD、ジェニーをサマーキャンプに申し込まなくちゃいけないの」と言うことができる場合があり、PCD100は、「「ジェニーのサマーキャンプ申し込み」を君のやることリストに追加しといたよ」と応答することができる。これに代えて、「PCD、私の買い物リストにバターを追加しといて」。各家族メンバに対して又は家族全体に対してリストを生成することができる。家族の各メンバがリストを有することができ、家族リストが存在することが可能である。   The PCD 100 can generate to-do lists and shopping lists that can be made viewable and editable over PCD links. For example, the user may be able to say "PCD, Jenny has to apply for summer camp", and PCD 100 has added "Jenny's summer camp application" to your to-do list. Can respond. Instead, "PCD, adding butter to my shopping list". Lists can be generated for each family member or for the entire family. Each member of the family can have a list, and there can be a family list.

PCDメモは、ある不使用期間の後に中断することができる。   PCD notes can be interrupted after a period of non-use.

PCDは、ユーザとの親交的なキャラクターベース(感情的ペルソナモデル駆動の挙動)の対話、決断、学習に携わる永続的な「存在」状態を有することができる。この状態は、体験及び他の入力に基づいて特定のユーザに合わせてPCD技能を調整し、PCDの挙動及びこれらの技能の実施をパーソナル化することができる。   The PCD can have a perpetual "presence" state involved in user-friendly character-based (emotional persona model driven behavior) dialogue, decisions, and learning. This state can tailor PCD skills to specific users based on experience and other inputs, and personalize PCD behavior and implementation of these skills.

PCD100は、単一の明確な「電源停止」姿勢、並びにPCD100が停止された時にそれをこの姿勢に誘導するいくつかの異なるアニメーションシーケンスを有することができる。PCD100は、接続した時又はバッテリ電力で作動している時の明確な「スリープ状態」姿勢、並びにPCD100が「スリープ」指令を得た場合又は解除されている間に小休止を取ろうと決定した場合にPCD100をこの姿勢に誘導するいくつかの異なるアニメーションシーケンスを有することができる。PCD100は、「目覚め」言語指令又は触覚指令、又は他の視聴覚事象、又は≦48時間にわたってスリープ状態又は停止状態が続いた後の電源投入/電源接続に相応に異なるいくつかのアニメーションを有することができる。実施形態では、PCD100が待機しているが、依然として適時目覚めするために有効なマイクロフォン及びカメラを有する場合のもののような明確なスリープモードが存在することが可能である。別のスリープモード(LEDインジケータのようないずれかの手がかりによって示すことができる)では、PCD100は、マイクロフォン及びカメラを停止することができ、従って、PCD100は、このモードでスリープ状態にある時に見ること又は聞くことをしない。このモードでは、人は、PCD100を目覚めさせるためにロボットにタッチするか又は発話又はビジュアル入力とは異なるモダリティを使用することができる。   The PCD 100 can have a single clear "power off" attitude, as well as several different animation sequences that direct it to this attitude when the PCD 100 is stopped. The PCD 100 has a clear "sleep" attitude when connected or operating on battery power, and when it decides to take a break while the PCD 100 gets a "sleep" command or is released. There may be several different animation sequences that direct the PCD 100 to this position. The PCD 100 may have a "wake up" verbal or tactile command, or some other audiovisual event, or some different animation on power-up / power-on after power-on / off continues for ≦ 48 hours it can. In an embodiment, it is possible for the PCD 100 to wait but still have a clear sleep mode, such as with the microphone and camera enabled to wake up timely. In another sleep mode (which can be indicated by any cue such as an LED indicator), the PCD 100 can turn off the microphone and the camera, so looking at the PCD 100 when it is sleeping in this mode Or do not listen. In this mode, a person can touch the robot to wake up the PCD 100 or use a modality different from speech or visual input.

PCD100は、言語又は触覚の「目覚め」指令、又は≧48時間にわたってスリープ状態又は停止状態が続いた後に電源を投入する/電源に接続する他の視聴覚事象に相応に異なるいくつかのアニメーションを有することができる。   The PCD 100 has several animations that are correspondingly different to verbal or tactile "wake up" commands, or other audiovisual events that power on / connect to the power after sleep or pause for> 48 hours Can.

PCD100は、言語又は触覚の「目覚め」指令、又は例えば現地時間で午後11と午前11の間の3時間よりも長いスリープ状態又は停止状態の後に電源を投入する/電源に接続することに対応するいくつかの目覚めアニメーションを有することができる。   The PCD 100 corresponds to a verbal or tactile "wake up" command, or to power on / connect to a power source, for example after a sleep or stop for longer than 3 hours between 11 pm and 11 am local time. You can have some awakening animation.

PCD100は、スリープ状態にある間にいくつかの異なる「夢を見る」方式を有することができる。これらの夢見状態は、15分よりも長く続くスリープ期間の〜30%の間に発生することが可能である。PCDの夢は、部屋の中にいる人々がPCDの夢が邪魔であると思った場合に指令又はタッチ画面によってPCDが無音スリープ状態に入るように中断することができる。   The PCD 100 can have several different “dreaming” ways while in sleep. These dreamy states can occur during -30% of the sleep period lasting longer than 15 minutes. The PCD's dream can be interrupted by a command or touch screen so that if the people in the room think that the PCD's dream is in the way, the PCD will enter silent sleep.

PCD100は、その電力レベルが20%を下回った時に、更にその後に例えば約5&の各減分時に言語及び画面上でユーザに通知することができる。   The PCD 100 can notify the user on the language and on the screen at each decrement of, for example, about 5 &, when the power level falls below 20%.

PCD100は、その電源がコンセントとバッテリの間で切り換えられた時に画面上でユーザに通知することができる。PCD100は、「接続されてるの?」又は「バッテリを使ってるの?」のような質問に応答することができなければならない。PCD100は、その頭の後部にあるボタンが押下されて保持された時に自動的に電力を投入又は停止することができる。短いボタン押下は、社会ロボットをスリープ状態に入れる。   The PCD 100 can notify the user on the screen when its power is switched between the outlet and the battery. The PCD 100 must be able to respond to questions such as "Are Connected?" Or "Are You Using a Battery?" The PCD 100 can automatically power on or off when the button at the back of its head is pressed and held. A short button press puts the social robot to sleep.

PCD100は、(音声又はタッチ)又はタッチだけでスリープ状態から目覚めるように設定することができる。PCD100は、オン状態にあるが、能動的対話に携わっていない(すなわち、本明細書で「存在」状態又は「存在している」状態と呼ぶ基本状態にある)場合に、誰かが視線に入るか又はノイズを立てると受動的認識アニメーションを示すことができる。これらのアニメーションは、この人が関わり合いたいと望んでいるとPCD100が考えた場合にアイドル状態能動的認識に誘導することができる。   The PCD 100 can be configured to wake up from sleep with (voice or touch) or touch only. When the PCD 100 is in the on state but not engaged in an active interaction (ie, in the basic state referred to herein as the "existing" state or "existing" state), someone gets in sight The noise or noise can indicate passive recognition animation. These animations can lead to idle active recognition when the PCD 100 thinks that this person wants to engage.

PCD100は、誰かを受動的に認識し、言語指令に起因して又はその人が意図的にPCD100に向けて歩いていることのいずれかに起因してこの人が能動的に関わり合いたいと望んでいると考えた場合に、「何なりとお申し付け下さい」方式の能動的認識アニメーションを示すことができる。   The PCD 100 recognizes someone passively and wants this person to actively engage either because of the language command or because the person is intentionally walking towards the PCD 100. If you think that you are out, you can show an active recognition animation in a "Please tell me" manner.

PCD100は、視界を必要とするいずれかの事柄を行うように依頼された場合にそれ自体の眼を外来物体が覆っていることに起因して見ることができない場合はコメントを説明することができる。PCD100は、いずれかのタイプのプロンプトとは無関係に頭を軽く叩かれた場合に、アイドル状態能動的認識に復帰することができる。他の実施形態では、PCD100は、摩られた又は撫でられた場合又は言語で褒められた場合に、「歓喜」アニメーションを示し、アイドル状態能動的認識に復帰することができる。   The PCD 100 can explain the comment if it can not be seen due to the foreign object covering its own eye when asked to do anything that requires visibility . The PCD 100 can revert to idle active recognition if the head is tapped independently of any type of prompt. In other embodiments, the PCD 100 can exhibit a "delight" animation and return to idle state active recognition when worn or scooped or licked.

PCDの家族の認識されたメンバが視線内にいるか又は音声ID等によって識別された場合に、PCD100は、その家族メンバに必ずしも言語によるものとは限らないが個人的な方式(この家族メンバを最後に見た時の新近性に基づくことができる)で一般的に挨拶することができる。   When a recognized member of a PCD's family is in line of sight or is identified by a voice ID etc., the PCD 100 may not necessarily be verbal to that family member, but in a personal manner (this family member You can generally say hello at the time you look at it).

外来者が視線内にいるか又は音声によって検出された場合に、PCDは受動的認識モードに入ることができる。PCDは、外来者からの興味を検出した場合に、反復することなく自分自身を紹介しなければならない。PCD100は、「既知の家族メンバ」がPCDの家族運営者によって管理されているので、他者が誰であるかを率先して尋ねることをしない場合がある。   The PCD can enter a passive recognition mode when the alien is in line of sight or detected by speech. When the PCD detects interest from a foreigner, it has to introduce itself without repetition. The PCD 100 may not proactively ask who the other is, as "known family members" are managed by the PCD's family operator.

PCDの家族の認識されたメンバが未認識の外来者を用いている場合に、PCD100は、最初にその家族メンバに個人的に挨拶する。その家族メンバがPCD100を外来者に紹介した場合に、PCD100は、「既知の家族メンバ」が社会ロボットの家族運営者によって管理されるので、他者が誰であるかを率先して尋ねることはしない場合がある。   If a recognized member of the PCD's family is using an unrecognized foreigner, the PCD 100 first personally greets the family member. When the family member introduces the PCD 100 to an outpatient, the PCD 100 can be asked to proactively ask who is the "known family member", as it is managed by the family operator of the social robot. May not.

社会ロボットの家族運営者が社会ロボットを新しい人に紹介し、この新しい人を格納しなければならないことを率先して告げた場合に、社会ロボットは、16個のIDスロットのうちの1つを割り当てる。利用可能なIDスロットがない場合に、PCD100は、運営者に既存の認識された人を置換したいか否かを尋ねることができる。   If the social robot's family operator introduces the social robot to a new person and proactively tells them that this new person must be stored, the social robot takes one of 16 ID slots. assign. If there is no ID slot available, the PCD 100 can ask the operator if he would like to replace the existing recognized person.

新しい人を学習するように依頼された時には、PCD100は、必要なビジュアルデータ及びオーディオデータを収集し、新しい人にPCDリンクアプリを体験させてビジュアルサンプル及びオーディオサンプルをより適確に捕捉し、名称の発音を習得するように運営者に提案することができる。   When asked to learn a new person, the PCD 100 collects the necessary visual and audio data, lets the new person experience the PCD link app, better captures the visual and audio samples, and names It can be suggested to the operator to learn the pronunciation of

一部の実施形態では、PCD100は、時刻に基づいていくつかの挨拶形態を有することができる。一例は、「おはよう」、「こんばんは」、又は「夜更かししていますね」である。PCD100は、挨拶しているターゲットの人を知っている場合に、常にではないにしても多くの場合にその人の名称でパーソナル化することができる。   In some embodiments, the PCD 100 can have several greeting forms based on time of day. An example is "Good morning", "Good evening", or "You are late at night". If the PCD 100 knows the target person who is greeting, it can often be personalized, if not always, by the person's name.

誰かがPCD100にさようならと言った場合に、PCD100は、別れを告げるいくつかの方式を有することができる。PCD100は、さようならと言った人を知っている場合に、この別れをその人の名称でパーソナル化することができる。   If someone says goodbye to the PCD 100, the PCD 100 can have several schemes to say goodbye. The PCD 100 can personalize this parting under the name of the person if he / she knows the person who said goodbye.

PCD100は、制約のない言語対話を促さないように構成されたいくつかのアイドル状態チャッター機能を有することができる。これらの機能は、ユーザ応答を目的とする発言、又はユーザを面白がらせるが応答を誘わないように設計された簡単な軽口を含むことができる。これらの発言は、家族の誰かに「誕生日おめでとう」と言うことのような家族事情タブ内に定められた既知の「家族事情」を参照したものとすることができる。実施形態では、PCD100のユーザを促すことのようなPCD100がどのような発言を聞くことを予想しているかに関するビジュアルヒントを画面上に表示することができる。発言は、特定のPCDの郵便番号に基づく地理を中心としたものとすることができる。発言は、「バードマンがアカデミー賞を全なめにしたなんて信じられないよ!」のような設計チームによってPCDクラウドからプッシュされた今日的話題に関することができる。軽口は、ユーモアがあり、如才なく、PCDのペルソナに沿ったものとすることができる。チャットボットコンテンツは、人々がPCDに話したこと、又はPCDが、写真、曲、冗談のようなものに対する顔表現反応から収集したものに基づく人々が好きなものかつ嫌いなもののPCDメモリから引き出すべきでもある。   The PCD 100 can have several idle chatter features configured to not prompt unconstrained verbal interaction. These features can include speech for the purpose of user response, or a simple tip designed to entertain the user but not elicit a response. These remarks may refer to a known "family context" defined in the family context tab, such as saying "happy birthday" to someone in the family. In an embodiment, visual hints can be displayed on the screen regarding what remarks the PCD 100 is expecting to hear, such as prompting the user of the PCD 100. The remarks can be centered around geography based on the zip code of a particular PCD. The remarks can relate to a hot topic pushed out of the PCD cloud by a design team such as "I can't believe Birdman got an Academy Award complete!" Light-hearted, humorous, genuine, can be in line with the PCD persona. Chatbot content should be pulled from the PCD memory of what people like and dislike based on what they talk to the PCD, or what the PCD collects from facial expression reactions to things like photos, songs, jokes It is also.

PCD100は、楽しませるように設計された質問を家族メンバに定期的に投げ掛けることができる。   The PCD 100 can periodically ask family members questions that are designed to be entertaining.

PCD100は、発言を繰り返すように依頼したにも関わらずユーザを理解することができなかった場合に大目に見るようにユーザに促す不可解を表現するいくつかの優雅な方式を有することができる。   The PCD 100 can have several elegant schemes to express the puzzling that urges the user to look over if they can not understand the user despite having asked to repeat the remark.

PCD100は、それ自体が時々に表現するプリファレンス、恐れ、及び気分のような特定の好ましい独特の挙動を有することができる。   The PCD 100 can have certain desirable unique behaviors such as preferences, fears and moods that it sometimes expresses from time to time.

PCD100は、ユーザから辛抱及び寛容を引き出すように設計することができる定められたマルチモーダル曖昧性除去パラダイムを有することができる。   The PCD 100 can have a defined multi-modal disambiguation paradigm that can be designed to elicit patience and tolerance from the user.

PCD100は、発言は理解するが満足のゆく返事又は応答をすることができないことを表現するいくつかの優雅な方式を有することができる。   The PCD 100 can have several elegant schemes to express that it understands but can not make a satisfactory reply or response.

PCD100は、時折、それ自体が嬉しく、満足しており、いかなる手助けも必要ではないことを示す方式で静かに悦に興じることができる。   From time to time, the PCD 100 can quietly play in a manner that indicates that it is happy, satisfied, and that no help is needed.

PCD100は、いずれかの待ち時間インシデント又はコアサーバ更新中に思考中であることを示すいくつかの方式を有することができる。   The PCD 100 can have several schemes to indicate that it is thinking during any latency incidents or core server updates.

PCD100は、そのWiFi接続が停止したこと、更にWiFiが再接続したことをユーザに警告するいくつかの方式を有することができる。ユーザは、PCDリンクからのQRコード(登録商標)を使用することによってWiFiをいつでも設定から再起動することができる。   The PCD 100 can have several schemes to alert the user that its WiFi connection has been dropped and that WiFi has been reconnected. The user can restart WiFi from configuration at any time by using the QR code from PCD link.

PCD100は、ユーザが技能及び基本設定を閲覧すること、並びに有効な技能を終了することを可能にする基本マルチモーダルナビゲーションパラダイムを有することができる。PCDリンクを通して高度な設定を入力することが必要である場合がある。   The PCD 100 can have a basic multimodal navigational paradigm that allows the user to view skills and preferences, as well as end effective skills. It may be necessary to enter advanced settings through the PCD link.

PCD100は、それ自体を運営者に「ロック」させ、それによってパスワードなしではPCD100がロックされているという謝罪的通知を超えて関わり合うことができないようにする機能を有することができる。   The PCD 100 may have the ability to "lock" itself to the operator, thereby making it impossible to engage beyond an apology notification that the PCD 100 is locked without a password.

PCD100は、指示を受けて利用可能なWiFiネットワークを表示することができる。PCD100は、WiFi接続が失われた場合に利用可能なWiFiネットワークを表示することができる。PCD100は、その画面上にWiFiパスワードを入力する手法を提供することができる。   The PCD 100 can display an available WiFi network in response to an instruction. The PCD 100 can display the available WiFi networks if the WiFi connection is lost. The PCD 100 can provide a method for entering a WiFi password on its screen.

PCD100は、家族の各既知のメンバとの視覚関連付けを有することができる。例えば、ジムは常に青色であり、ジェーンは常に桃色であり、ママは常に緑色であり、パパは常に紫色である。PCD100が家族メンバと対話する時には、この視覚手法が優勢でなければならない。この視覚識別子は、PCD100が家族メンバを認識していることを家族メンバが知ることを保証するためにPCDの技能を通して使用することができる。   The PCD 100 can have a visual association with each known member of the family. For example, Jim is always blue, Jane is always pink, mom is always green and dad is always purple. When the PCD 100 interacts with family members, this visual method must be dominant. This visual identifier can be used throughout the PCD's skills to ensure that family members know that PCD 100 recognizes family members.

PCD100は、笑顔を認識して類似の方式で応答することができる。   The PCD 100 can recognize a smile and respond in a similar manner.

PCD100は、存在状態にある間にPCDスナップ写真アルバムからの写真をスライドモードで再生することができ、写真の中にユーザがいる場合に「この写真内の君は特に良く写っているよ」と言うことができる。時には、PCD100は、初代Macintosh、又はR2D2、又はピンボール機のような様相のPCD100自体の写真を見ることができるが、更にPCD100の家族の写真も時々に含められる。   The PCD 100 can play back photos from the PCD snap photo album in slide mode while in the presence state, and if the user is in the photo, "You in this photo are particularly good." It can be said. Sometimes, the PCD 100 can see pictures of the PCD 100 itself, such as the original Macintosh or R2D 2 or a pinball machine-like appearance, but sometimes also pictures of the family of PCD 100 are included.

PCD100は、対話を必要とすることなく嬉しさを多くの場合に示すことができる。例えば、PCD100は、それ自体でピンポンをやり、PCD100を顔として用いてその画面上にモナリザのような絵を示している。時間経過に伴って、これらの技能は進化することができる(例えば、月着陸船ASCIIゲーム又は棒図形から始めてより複雑なゲームに発達する)。一部の実施形態では、PCD100は、子犬のようなペットを有することができ、PCD100の眼が、この犬が取ってくることができるボールになることができる。PCD100は、犬に宛先を任せて一緒に歩き回ることができる。PCD100は、料理本を読むように自体の技能を閲覧することができる。PCD100は、いずれかのタイプの限られた音楽ライブラリに合わせて踊り、その移動を練習することができる。PCD100は、時折昼寝する。一部の実施形態では、PCD100は、家族事情に基づいて鐘で合図を出して俳句のような詩を書くことができる。他の実施形態では、PCD100は運動し、それ自体を励ますことができる。他の実施形態では、PCD100は、楽器を演奏し、面白いユーチューブクリップを観てくすくす笑い、子供の遊びであるカラー・バイ・ナンバーズをやり、迷路を通過するようにボールを移動し、数独をして遊ぶことができる。PCD100は、独自の写真アルバムを有し、切手を収集することができる。   The PCD 100 can often show joy without the need for interaction. For example, the PCD 100 pings itself and uses the PCD 100 as a face to show a picture like a mona lisa on its screen. Over time, these skills can evolve (eg, starting with the Lunar Lander ASCII game or stick figure and developing into more complex games). In some embodiments, the PCD 100 can have a puppy-like pet, and the eyes of the PCD 100 can be a ball that this dog can retrieve. The PCD 100 can walk around with the dog leaving the destination. The PCD 100 can view its skills as it reads a cookbook. The PCD 100 can dance to any type of limited music library and practice its movement. The PCD 100 sometimes naps. In some embodiments, the PCD 100 can be bell-marked to write a haiku-like poem based on family circumstances. In other embodiments, the PCD 100 can exercise and encourage itself. In another embodiment, the PCD 100 plays an instrument, laughs at an interesting Youtube clip, does color by numbers which is a child's play, moves the ball through the maze, moves the sudoku Can play. The PCD 100 has its own photo album and can collect stamps.

一部の実施形態では、PCD100は、ピンポンベースのゲームに携わってそれを表示することができ、左右の移動が、ゲームでPCD100に対抗するユーザのラケットを制御する。   In some embodiments, the PCD 100 can engage in and display a ping-pong based game, with left and right movements controlling the user's racquet against the PCD 100 in the game.

PCD100がバッテリ電力で作動している場合に、残りのバッテリ寿命を示すアイコンをPCD100の画面上に置くことができる。   When the PCD 100 is operating on battery power, an icon may be placed on the screen of the PCD 100 indicating the remaining battery life.

人々がタスクの状況ではなく親交の状況でPCD100を褒めた場合に、PCD100は「歓喜/愛情」アニメーションを示すことができる。   If people give up PCD 100 in intimacy rather than task context, PCD 100 can show a “joy / love” animation.

グループ内にいる場合に、PCD100は、一度に一人ずつ関わり合うことができる。PCD100は、他の誰かがPCD100と話したいという望みを示す場合に初めてその人と関わり合うために方向転換することができ、PCD100がその時点で関わり合っていた人は静かにする又は他に関わり合いを解除する。実施形態では、PCDは、様々な非言語及びパラ言語の親交的手がかりを用いて多人数対話を同時に処理することができる。   When in a group, the PCD 100 can engage one at a time. The PCD 100 can only turn around to engage with someone else if it indicates a desire to talk to the PCD 100, and the person whom the PCD 100 was engaged at that time will be quiet or otherwise concerned. Release the match. In an embodiment, the PCD can handle multi-person interactions simultaneously with various non-verbal and para-lingual intimacy cues.

PCD100は、基本タイマー機能を有することができる。一例は、「PCD、15分経ったら通知して」である。   The PCD 100 can have a basic timer function. An example is "PCD, notify after 15 minutes".

PCD100は、ユーザがWiFi範囲でなくした電話を探し出すのを助けるために、PCDリンクを通してPCD100に接続された電話に着信音を発生させることができる場合がある。誰かが、自分のデバイスではないPCDリンク接続電話でこの着信音を発生させることができるか否かを制御する機能は、運営者設定を通して構成可能にすることができる。   The PCD 100 may be able to generate a ring tone on the phone connected to the PCD 100 through the PCD link to help the user locate the phone that is out of WiFi range. The ability to control whether someone can generate this ringtone on a PCD link-connected phone that is not his device can be made configurable through operator settings.

PCD100は、現在のスマートフォンに使用されているものと類似のストップウオッチ機能を有することができる。   The PCD 100 can have a stopwatch function similar to that used in current smartphones.

PCD100は、組み込み時計を有し、いかなる期間においても尋ねられた場合に時間を伝えることができる場合がある。時には、PCD100は、時間、関わり合いのレベル及びそれ自体が何をしているかに少なくとも部分的に基づかない可能性がある他の時間を表示することができる。PCD100は、アラーム時計機能を有することができる。一例は、「社会ロボット、午後3:30になったら通知して」である。スヌーズ機能を含めることができる。PCD100は、利用可能ないくつかのアラーム音を有することができ、各家族メンバは、各自の好きなアラーム音を設定することができる。好きなアラーム音が設定されない場合に、PCD100が選択することができる。   The PCD 100 may have a built-in clock and may be able to convey time when asked for any period. Sometimes, the PCD 100 can display time, level of engagement and other times that may not be at least partially based on what it is doing. The PCD 100 can have an alarm clock function. An example is "notify when social robot, 3:30 pm". Snooze feature can be included. The PCD 100 can have several alarm sounds available, and each family member can set their own favorite alarm sounds. The PCD 100 can select when a desired alarm sound is not set.

PCD100は、技能によって異なる可能性がある既存の多者間対話ポリシーを有することができる。   The PCD 100 can have an existing multi-party interaction policy that can vary with skills.

PCD100は、その機能を「見せる」ように見出された場合に示すことができる簡易「デモリール」を有することができる。   The PCD 100 can have a simple "demo reel" that can be shown if it is found to "show" its function.

家族メンバによって別のPCD100に音声IDが導入されている場合に、PCD100は、この別のPCD100に遭遇して音声IDによって認識した時に、指定されたものではあるが簡単な挙動オプションを有することができる。実施形態では、PCD100は、別のPCD100と対話するように設計された特定の特殊挙動を有することができる。   When a voice ID is introduced to another PCD 100 by a family member, the PCD 100 may have a specified but simple behavior option when encountering this other PCD 100 and recognizing by the voice ID it can. In an embodiment, the PCD 100 can have certain special behaviors designed to interact with another PCD 100.

例示的かつ非限定的実施形態により、所与の技能又は挙動(アニメーション及び発話など)は、PCD100に関する他の属性に基づいて別様に発現することができる。例えば、PCD100は、ユーザ又はグループとの経時的な対話などを通して、ある一定の性格を有する、ある一定のペルソナの役目をこなす、特定のモードで作動する、ある一定の気分を有する、あるレベルのエネルギ又は疲労を表現する、及びある一定のように機能するかなどを行うように適応させることができる。PCD SDKは、上述のうちのいずれか又は上述のあらゆる組合せに基づいて特定の技能又はその構成要素がどのように変えられるかを開発者が示すことを可能にすることができる。例えば、PCD100は、「社交性に富んだ」性格を植え付けることができ、この場合に、PCD100は、短めで小声のバージョンの発話挙動を実行する「内向的」PCD100と比較して長めで大声のバージョンを実行することができる。同じく、「能動的な」PCD100は大きい移動を行い、それに対して「不活発な」PCD100は、同じ技能又は挙動を実行する時に小さい移動しか行わない場合がある。同じく、「疲れた」PCD100は、寝る時間だという合図をほのめかすことのような緩慢な移動及び遅い発話などしか示さない場合がある。以上により、本明細書では、技能とは無関係なPCD100のモードに従って表現することができる技能及び挙動の開発を可能にするSDKを含む社会ロボットプラットフォームを提供する。実施形態では、PCD100は、別個の人々に別様に対話するように、例えば、明確で堅実なペルソナを変わらずに維持しながら子供に大人とは別様に話し掛けるように適応させることができる。   By way of an exemplary and non-limiting embodiment, a given skill or behavior (such as animation and speech) may be otherwise manifested based on other attributes regarding the PCD 100. For example, the PCD 100 operates as a certain persona, has a certain personality, operates in a specific mode, has a certain mood, has a certain mood, etc. through a time-course interaction with a user or a group. It can be adapted to express energy or fatigue, and perform certain functions etc. The PCD SDK may allow developers to show how specific skills or their components may be changed based on any of the above or any combination of the above. For example, PCD 100 can be implanted with a "sociable" character, in which case PCD 100 is longer and louder than "introverted" PCD 100, which performs a short, low voice version of the speech behavior. You can run the version. Also, the "active" PCD 100 may make large movements, whereas the "inactive" PCD 100 may make only small movements when performing the same skill or behavior. Similarly, the "tired" PCD 100 may only show slow movements and slow speech, such as implying that it is time to sleep. Thus, provided herein is a social robot platform that includes an SDK that enables development of skills and behaviors that can be expressed according to modes of the PCD 100 that are independent of skills. In an embodiment, the PCD 100 can be adapted to interact with different people differently, eg, talk to a child differently than an adult while maintaining a clear and consistent persona unchanged.

様々な実施形態により、広範な技能を提供することができる。重要な技能は、ミーティング技能(初回及びその後のミーティングに対するロボット拡張ビデオ通話などを含む)、モニタ技能(家の中で人々及び/又はペットなどをモニタする)、写真家技能、読み聞かせ技能(及びユーザが分岐点で冒険小説の筋に影響を及ぼす選択することなどを可能にするマルチメディアマッシュアップ及びマルチメディア実演ベースの物語など)、ゲームプレイ技能、ユーザが社会ロボットを人工知能ミラーとして使用することを可能にする「マジックミラー」技能、天気技能、スポーツ技能又はスポーツプログラム又はファンタジースポーツのようなスポーツ情報又はスポーツ活動を改善するように対話を行うスポーツ仲間技能、音楽技能、背景/アニメーション効果を使用する人工知能対話テレプロンプターとして機能するレシピと協働するための技能、及び指導技能(薬物療法の遵守、自己啓発、及び訓練など)を含む。   Various embodiments can provide a wide range of skills. Important skills include meeting skills (including robot-expanded video calls to first and subsequent meetings, etc.), monitoring skills (monitoring people and / or pets etc. in the house), photographer skills, reading skills (and Multimedia mash-ups and multimedia demonstration-based stories, etc.) that allow users to choose to influence the lines of adventure novels at bifurcations, gameplay skills, users to use social robots as artificial intelligence mirrors “Sports skill, music skills, background / animation effects” that interact to improve sport information or sport activities such as “magic mirror” skills, weather skills, sports skills or sports programs or fantasy sports. With artificial intelligence dialogue teleprompter to use Skills for cooperating with recipe function Te, and guidance skills including (compliance medication, self-development, and training, etc.).

自動化発話認識(又は他の音認識)を容易にするために、本明細書に開示する方法及びシステムはビーム形成を行うことができる。課題は、ユーザが「よお、相棒」のような「ホットなフレーズ」を使用することなどによって社会ロボットの注意を引くことを可能にすることが望ましい場合があることである。PCD100は、存在する場合に、ホットなフレーズを発した音声の方向に向く(注意を向ける)ことができる。それを行う1つの手法は、様々な箇所に向くビーム(空間フィルタ又はチャネル)が存在するビーム形成を使用することである。理論的には、ビームに対応する各空間フィルタ又はチャネルが、このチャネルから音を取得し、他のチャネルを無視しようと模索する。典型的に、人々は、これを例えばポリフォンデバイスにおいて最大音量を有するビームを選択し、最大音量ビームが話している人に関連すると仮定することによって行う。本明細書に開示する方法及びシステムは、ホットなフレーズを言う人のビームを選択することなどのために改善されたビームの形成及び利用を行うことができる。実施形態では、社会ロボットプラットフォームは、各ビーム又はビーム部分集合に対して別個の発話認識器インスタンスを有することができる。従って、各発話認識器は、空間円錐を傾聴する。デバイスが、例えば、4人のグループの中にあり、1人が「よぉ、相棒」と言った場合に、デバイスは、誰かが話者の方向から注意を引こうとすると理解することになる。これを実施するために、システム及び方法は、チャネル又はチャネル部分集合毎に発話認識器を有することができる。   In order to facilitate automated speech recognition (or other sound recognition), the methods and systems disclosed herein can perform beamforming. The challenge is that it may be desirable in some cases to allow the user to draw attention of the social robot, such as by using a "hot phrase" such as "Yo, Buddy". The PCD 100 can, if present, point in the direction of the audio that issued the hot phrase. One way to do that is to use beamforming with beams (spatial filters or channels) directed to different locations. In theory, each spatial filter or channel corresponding to a beam seeks to acquire sound from this channel and ignore the other channels. Typically, people do this by, for example, selecting the beam with the largest volume in a polyphone device and assuming that the largest volume beam is associated with the person speaking. The methods and systems disclosed herein can provide improved beam formation and utilization, such as for selecting those who say hot phrases. In an embodiment, the social robot platform may have a separate speech recognizer instance for each beam or beam subset. Thus, each speech recognizer listens to the space cone. If the device is, for example, in a group of four and one says "Yeah, buddy," the device will understand that someone tries to draw attention from the direction of the speaker . In order to do this, the system and method may have a speech recognizer for each channel or channel subset.

理想的には、PCDの運動/方位に基づいてビームの方位を維持しようと望むことができる。ビーム形成を実行しているシステムは、モータコントローラから情報を受信することができ、又はGPSシステム、視覚システム又はビジュアル入力、IOTデバイスの場所等に基づく家のような環境内の場所特定システムのような外部システムから場所又は方位を受信することができる。モータコントローラは、例えば、PCD100がそれ自体を回転させる角度を知ることができ、次に、PCD100は、その座標を求める必要がある場合がある。この座標の究明は、PCD100の方位を変更するためにホットなフレーズを再度発声すること、又は他の場所情報を利用することによって達成することができる。話者が位置付けられると人追跡を使用することができ、それによってPCD100は、話者が動く時に話者の方向にビームを維持するために適切に移動、方向転換することができ、更に他の知覚モダリティが、タッチ及び熱痕跡など等によってこれを補うことができる。実施形態では、音位置とビジュアル手がかりとを統合したものを用いて、どの人がPCD100に話しかけようとするかを顔の移動を視覚的に決定することなどによって決定することができる。実施形態では、全方位「低解像度」視覚システムを配備して部屋の中で運動を検出し、次に、より高い品質のカメラを話者に向けることができる。   Ideally, one may wish to maintain the beam's orientation based on the motion / orientation of the PCD. A system performing beamforming can receive information from a motor controller, or it can be a GPS system, a vision system or a location specific system in a home like environment based on visual input, IOT device location etc etc. Location or orientation from an external system. The motor controller may, for example, know the angle at which the PCD 100 rotates itself, and then the PCD 100 may need to determine its coordinates. This determination of coordinates can be accomplished by re-speaking the hot phrase to change the orientation of the PCD 100, or by utilizing other location information. When the speaker is positioned, person tracking can be used, whereby the PCD 100 can move and turn properly to maintain the beam in the direction of the speaker as the speaker moves, and so on Perceptual modalities can compensate for this, such as by touch and thermal signatures. In an embodiment, an integrated sound position and visual cue can be used to determine which person is going to talk to the PCD 100, such as by visually determining facial movement. In an embodiment, an omnidirectional "low resolution" vision system can be deployed to detect motion in a room, and then a higher quality camera can be directed to the speaker.

他の例示的実施形態では、本明細書に開示する方法及びシステムは、フレーズ検出技術の一部としてタイル分割文法を使用することができる。有効なフレーズ検出を行うのに好ましくは短いフレーズを有することができるが、フレーズ検出を構成するコストは、幾つの異なるフレーズを認識しなければならないかに依存して高くなる。例えば、10個の内容の間で区別するために様々な別個のフレーズをより多く有する程、コストは高くなる(幾何級数的に)。実施形態では、本明細書に開示する方法及びシステムは、異なるスレッド内で同時に実行される異なる認識器にフレーズを分割することができ、従って、各認識器は小さく、コストが低い。フレーズ検出の概念は、内容を有する発話チャンクを探し出すことを可能にすることであるので、ここで一連の事柄を導入することができる。例えば、「よぉ、相棒、写真を撮ってそれを妹に送りたいんだが」というフレーズを取得する。殆どの関連において、「写真を撮る」及び「それを妹に送る」という2つのチャンクが問題になる可能性が高い。1つのフレーズ検出スレッドに基づいて、別の修正されたフレーズ検出認識器をトリガすることができる。各々が特定のタイプのフレーズを認識する認識器のグラフ(文法のグラフだけではなく実際の認識器も)構成することができる。グラフに基づいて、認識器は、適用可能性及び使用を制御する適切な親認識器がトリガすることができる。以上により、本明細書では、並列で作動し、任意的に広範なフレーズにわたってフレーズ検出を可能にするためにグラフに従って編成された複数の発話認識器を提供する。   In another exemplary embodiment, the methods and systems disclosed herein may use tiling grammar as part of phrase detection techniques. While it may be preferable to have short phrases to perform valid phrase detection, the cost of constructing phrase detection may be high depending on how many different phrases must be recognized. For example, the more different the different phrases to distinguish among the 10 contents, the higher the cost (geometrically). In embodiments, the methods and systems disclosed herein can divide the phrase into different recognizers that are simultaneously executed in different threads, thus each recognizer is small and inexpensive. Since the concept of phrase detection is to make it possible to locate speech chunks with content, a series of things can be introduced here. For example, the phrase "I want to take a photo and send it to my sister" is acquired. In most connections, the two chunks "take a picture" and "send it to a sister" are likely to be problematic. Another modified phrase detection recognizer can be triggered based on one phrase detection thread. It is possible to construct recognizer graphs (not only grammar graphs but also actual recognizers), each of which recognizes a particular type of phrase. Based on the graph, the recognizer can be triggered by an appropriate parent recognizer that controls applicability and usage. Thus, provided herein are a plurality of speech recognizers operating in parallel and optionally organized according to a graph to enable phrase detection over a wide range of phrases.

ロボット技能及びアセットを開発する方法、ツール、ユーザインタフェース、及び技術(一般的にSDKの要素)の詳細を添付図面に示し、下記で説明する。一般的に、これらの要素は、本明細書に説明するソフトウエア、データ構造、データベース、及びユーザインタフェースなどを使用するようになった1又は2以上のコンピュータサーバを通じて開発者及び類似の者に対してアクセス可能にすることができる。各要素をその要件、入力、使用、作動、他の要素との相互作用、及び出力に関して説明するが、これらの要素を併せることにより、永続的に存在する社会ロボットにおいて親交的対話、並びに他の技能及び技能のためのアセットを開発、試験、及びインスタンス化するための全体的な環境が与えられる。この場合の要素は、配置、移動、制御、入力感知、表示、光、音、芳香の生成のようなロボットの物理態様に関する多くの複雑な技術問題に対処するように設計される。これらの要素は、人間との友好関係を開発すること、人間様の感情を表現すること、及びロボットの環境を検出してそれにほぼ人間の方式で応答することなどのような機能を注入するためのロボットの1又は2以上の処理機能を作動させる複雑なアルゴリズムへのアクセスを与えるようにも設計される。   Details of robot skills and methods, tools, user interfaces, and techniques for developing assets (generally elements of the SDK) are shown in the accompanying drawings and described below. In general, these elements are intended for developers and similar individuals through one or more computer servers adapted to use the software, data structures, databases, user interfaces, etc. described herein. Can be made accessible. Each element is described in terms of its requirements, inputs, uses, actions, interactions with other elements, and outputs, but by combining these elements, the intimate interaction in social robots that exist permanently, and other elements A global environment for developing, testing, and instantiating skills and skills assets is provided. The elements in this case are designed to address many complex technical issues regarding the physical aspects of the robot such as placement, movement, control, input sensing, display, light, sound, fragrance generation. These elements are used to inject functions such as developing friendly relationships with humans, expressing human-like emotions, and detecting and responding to the robot's environment in a nearly human manner. It is also designed to provide access to complex algorithms that operate one or more processing functions of the robot.

社会ロボットソフトウエア開発者キット(SDK)は、社会ロボット技能(例えば、ロボットアプリケーション)を構成する容易な手法を開発者に与えるようになったウェブベースのアプリケーションツールである。社会ロボットSDKは、取りわけ、Atom/Electron及びNode.jsに同等であるいくつかの主構成要素を通して技能開発を容易にする。これらの主構成要素は、アニメーション、挙動生成、技能シミュレーション、非言語及びパラ言語の親交的手がかりを使用する自然言語対話、及びロボット保守を含む。SDKを使用することで、社会ロボットの発話技術、顔の認識及び追跡、タッチ入力技術、移動システム、及び視覚システムなど、並びにこれらを用いて構成される社会ロボットのより高いレベルの機能及び技能を含む社会ロボットの多くの態様へのアクセスが得られる。   The Social Robot Software Developer Kit (SDK) is a web-based application tool designed to give developers an easy way to configure social robot skills (e.g. robot applications). The social robot SDK is, among others, Atom / Electron and Node. Facilitates skill development through several key components that are equivalent to js. These main components include animation, behavior generation, skill simulation, natural language dialogue using non-verbal and paralinguistic intimacy cues, and robot maintenance. By using the SDK, social robot speech technology, face recognition and tracking, touch input technology, mobile systems, vision systems, etc., and higher level functions and skills of social robots configured using them Access to many aspects of social robots, including:

実施形態では、社会ロボットSDKは、Atomパッケージマネージャから適切なユーザインタフェースを通してダウンロードすることができる。社会ロボットAtomパッケージ(社会ロボットsdkと呼ぶ)は、Electron(登録商標)の上に構成される統合開発者環境(IDE)であるAtom(登録商標)の上に構成することができる。社会ロボット技能は、例えば、JavaScriptで書いてElectron(登録商標)上で実行することができる。社会ロボット技能は、社会ロボットAtomパッケージGUI内で直接生成するか又はJavaScriptで直接API呼び出しを行うことによって生成することができる。社会ロボットAtomパッケージは、簡単なUIを含み、Chrome DevTools(登録商標)、事前生成されたアニメーション、挙動、画像、及び効果音のライブラリ、並びに感情の重ね合わせ及び非言語又はパラ言語の手がかりを用いた表現豊かでキャラクターに富む発声台詞の実演を設計するためのツール及びマークアップ言語、更に、技能をゼロから生成する機能へのアクセスを提供することができる。   In an embodiment, the social robot SDK can be downloaded from the Atom package manager through a suitable user interface. A social robot Atom package (referred to as a social robot sdk) can be configured on Atom (R) which is an integrated developer environment (IDE) configured on Electron (R). Social robot skills can, for example, be written in JavaScript and executed on Electron®. Social robot skills can be generated either directly in the social robot Atom package GUI or by making direct API calls in JavaScript. The Social Robot Atom package contains a simple UI, and uses Chrome DevTools®, a library of pre-generated animations, behaviors, images, and sound effects, as well as emotion overlays and non-verbal or para-language cues It provides access to tools and markup languages for designing demonstrations of expressive, character-rich spoken dialogues, as well as the ability to generate skills from scratch.

社会ロボット指令ラインインタフェース(CLI)は、それを通して技能を生成し、直接に配備する機能を提供することができる。社会ロボットAtomパッケージと社会ロボットCLIの両方は、アニメーション、3Dの身体の移動、対話、表現、及び技能の他の発現を社会ロボットに送る前にプレビューすることを可能にする社会ロボットシミュレータへのアクセスを提供することができる。   The Social Robot Command Line Interface (CLI) can provide the ability to generate skills and deploy directly through it. Both the Social Robot Atom Package and the Social Robot CLI have access to a social robot simulator that allows you to preview animations, 3D body movements, interactions, expressions, and other manifestations of skills before sending them to the social robot Can be provided.

例示的かつ非限定的実施形態により、社会ロボットのアニメーションシステムは、モータ、照明リング、及び眼グラフィックなどを含むロボットの身体を通して表現出力を調整する役割を受け持つことができる。システムは、スクリプト式アニメーションの再生、並びに表現的注視挙動及び方位設定挙動のような手順に沿って行われる表既存動をサポートすることができる。更に、システムは、姿勢から姿勢へ、又は1つのアニメーション又は表既存動の終了から次のものに滑らかに移行することを保証する。   According to an exemplary and non-limiting embodiment, an animation system of a social robot may be responsible for adjusting the output of expression through the robot's body, including motors, lighting rings, eye graphics and the like. The system can support playback of scripted animation, as well as pre-existing table actions that follow procedures such as expressive gaze and orienting behaviors. Furthermore, the system guarantees a smooth transition from posture to posture, or from the end of one animation or table motion to the next.

PCD SDKの主な要素は、以下を含むことができる。
・技能構造−殆どの技能が厳守するデータ構造。
・メインスクリプト−ロボットが初期化する時にエクスポートされる技能エントリポイントセット。
・様式−ロボットの身体部分による方式作動を実施するためのデータ構造。
・ビルダ及びインスタンス−技能要素の実施に向けてデータを保持するデータ構造。
・自由度(DOF)−アニメーションモジュールによって制御される動的要素の表現。
・アニメーション−スクリプト式アニメーションの再生を制御する。
・移行−アニメ化された1つの挙動から次のものへの滑らかな運動を保証する。
・凝視/方位設定挙動−社会ロボットの一部を着目の場所に表現的に向けるために使用される。
・アニメーションエディタ−別個のアニメーション層を用いて対話型にアニメーションファイルを生成するためのグラフィックインタフェース。
・挙動エディタ−各技能に対する挙動木の編集を可能にする。
・発話規則エディタ−ロボットの自然言語理解又は傾聴機能を通して発話が検出された時に使用されることになる規則を生成する。
・MIMエディタ−自然音言語対話のための言語対話の規則及び機能。
The main elements of the PCD SDK can include:
Skill structure-a data structure that most skills adhere to.
Main script-Skill entry point set exported when the robot initializes.
Style-Data structure for performing a style operation with the robot's body part.
Builders and Instances-Data structures that hold data towards the implementation of the skill element.
Degree of freedom (DOF)-a representation of a dynamic element controlled by an animation module.
Animation-Control playback of scripted animation.
Transition-guaranteeing smooth motion from one animated behavior to the next.
Gaze / orientation behavior-used to express a portion of a social robot to a location of interest.
Animation Editor-A graphical interface for generating animation files interactively using separate animation layers.
Behavior Editor-enables editing of behavior trees for each skill.
Speech Rule Editor-generate rules that will be used when speech is detected through the robot's natural language understanding or listening function.
MIM Editor-rules and functions of verbal dialogue for natural phonetic dialogue.

PCD SDK
PCD独特のソフトウエア開発キットのアーキテクチャのブロック図を描く図27を参照すると、PCDソフトウエア開発者キット(SDK)2704は、PCD技能(ロボットアプリケーション)を構成する容易な手法を開発者に与えるようになったウェブベースのアプリケーションツールとして作動させることができる。PCD SDKは、いくつかが別個のユーザインタフェース、ツールセット、及びAPIなどを有することができる4つの主構成要素から構成される。主構成要素は、アニメーション構成要素2706と、挙動生成構成要素2702と、技能シミュレーション構成要素と、ロボット保守構成要素とを含む。SDKを使用することで、PCDの発話技術、顔の認識及び追跡、タッチ入力技術、及び他の感知入力及び表現出力へのアクセスが得られる。
PCD SDK
Referring to FIG. 27, which depicts a block diagram of the PCD-specific software development kit architecture, the PCD Software Developer Kit (SDK) 2704 provides developers with an easy way to configure PCD skills (robotic applications) It can be run as a web-based application tool. The PCD SDK consists of four main components, some of which can have separate user interfaces, tool sets, APIs, etc. The main components include an animation component 2706, a behavior generation component 2702, a skill simulation component, and a robot maintenance component. The SDK provides access to PCD speech technology, face recognition and tracking, touch input technology, and other sensory input and expression outputs.

PCD技能は、構成要素のユーザインタフェース内で直接に生成するか又はJavaScriptのようなプログラミング言語で直接API呼び出しを行うことによって生成することができる。PCD SDKは、ユーザインタフェースを含むことができ、事前生成されたアニメーション、挙動、画像、及び効果音などのライブラリ、更に、技能をゼロから生成する機能へのアクセスを提供することができる。   PCD skills can be generated directly within the component's user interface or by making direct API calls in a programming language such as JavaScript. The PCD SDK can include a user interface, and can provide a library of pre-generated animations, behaviors, images, and sound effects, as well as access to the ability to generate skills from scratch.

PCD SDKは、PCDが実施することができる技能を生成する段階を容易にすることができる。例示的かつ非限定的実施形態により、技能は、SDKが生成段階を容易にすることができる基本構造の厳守を必要とすることができる。複数の例示的実施形態では、下記で説明する構造は、本明細書に説明する挙動エディタ及びアニメーションエディタのようなSDKの技能発生器機能を通して新しい技能を生成する時にデフォルトで開始することができる。各技能は、技能のユーザインタフェース(UI)を実施し、更に様式ファイルへのリンク、コードの分割又はセクションを定めるタグ、及び全てのUI要素を含むPCDのidのような要素を含むindex.htmlファイルを有することを必要とすることができる。   The PCD SDK can facilitate the phase of generating the skills that the PCD can perform. By way of an exemplary and non-limiting embodiment, the skills can require adherence to the basic structure that the SDK can facilitate the generation stage. In some exemplary embodiments, the structures described below can start by default when generating new skills through the SDK's skills generator functionality, such as the behavior editor and animation editor described herein. Each skill implements a skill's user interface (UI) and further includes elements such as links to form files, tags that define code breaks or sections, and ids of the PCD, including all UI elements. It may be necessary to have an html file.

各技能は、PCDによる技能の実行中に1又は2以上の技能機能をエクスポートする役割を受け持つメインスクリプトを用いて構成することができる。   Each skill can be configured using a main script responsible for exporting one or more skill functions during execution of the skill by the PCD.

技能のアクションは、写真を撮影するアクションから捕捉画像を表示するアクションへのような1つのアクションから別のアクションへの写実的な移行段階を容易にするためにアクションの前及び/又は後にある余裕又は穴埋めを有するようにPCD SDKを用いて構成することができる。PCD SDKは、技能、技能間の移行、及び関連のPCD表現を構成する段階を容易にする。   The action of the skill is the margin before and / or after the action to facilitate the graphic transition phase from one action to another such as from the action of taking a picture to the action of displaying a captured image Or it can be configured using the PCD SDK to have a fill-in. The PCD SDK facilitates the process of building skills, transitions between skills, and related PCD representations.

PCD指令ラインインタフェース(CLI)は、それを通して技能を生成し、直接に配備する機能を提供することができる。PCD AtomパッケージとPCD CLIの両方は、アニメーション、3Dの身体の移動、対話、及び表現をPCDに送る前にプレビューすることを可能にするPCDシミュレータへのアクセスを提供することができる。   The PCD Command Line Interface (CLI) can provide the ability to generate skills and deploy directly through it. Both the PCD Atom package and the PCD CLI can provide access to a PCD simulator that allows you to preview animations, 3D body movements, interactions and presentations before sending them to the PCD.

挙動及び挙動エディタ
図27を参照すると、SDK2704内の挙動エディタ2702は、木、ノード、葉、親、及び修飾子などを含むことができる。挙動は、SDK2704内でそれを用いて構成、順序付け、シミュレーション、及び配備することができるクラスとしてアクセス可能にすることができる。例示的挙動クラスは、Blink(瞬き)、ExecuteScript(スクリプト実行)、ExecuteScriptAsync(非同期スクリプト実行)、Listen(傾聴)、ListenEmbedded(埋め込み傾聴)、ListenJs(傾聴Js)、LookAt(注視)、Nul(ヌル)、Parallel(並列)、PlayAnimation(アニメーション再生)、PlayAudio(オーディオ再生)、Point3D(3D点)、Random(ランダム)、ReadBarcode(バーコード読取り)、Sequence(シーケンス)、Subtree(部分木)、SubtreeJs(部分木Js)、Switch(切り換え)、TakePhoto(写真撮影)、TextToSpeech(テキスト発話変換)、TextToSpeechJs(テキスト発話変換Js)、及びTimeoutJs(タイムアウトJs)などを含む。
Behavior and Behavior Editor Referring to FIG. 27, the behavior editor 2702 in the SDK 2704 can include trees, nodes, leaves, parents, qualifiers, and the like. Behaviors can be made accessible as classes that can be configured, ordered, simulated and deployed within the SDK 2704. Exemplary behavior classes are Blink (blink), ExecuteScript (script execution), ExecuteScriptAsync (asynchronous script execution), Listen (listening), ListenEmbedded (listening embedded), ListenJs (listening Js), LookAt (gaze), Nul (null) , Parallel (Parallel), PlayAnimation (Animation playback), PlayAudio (Audio playback), Point 3D (3D point), Random (Random), ReadBarcode (Barcode reading), Sequence (Sequence), Subtree (Subtree), SubtreeJs (Partial) Tree Js), Switch, TakePhoto, Photography, TextToSpeec (Text speech converter), TextToSpeechJs (text speech converter Js), and the like TimeoutJs (timeout Js).

挙動木は、挙動をモデル化し、自律エージェントのフローを制御するために使用することができる表現ツールである。挙動木は、同時アクション及び意志決定処理を調整する機能の理由からロボット工学及びビデオゲーム産業では一般的である。状態機械(いずれか所与の時点で単一の有効な状態しか存在しない)とは異なり、挙動木は、複数の挙動を並列で実行することができる。それにより、挙動木は、表現出力を有するPCD感知入力の全てを調整するための非常に強力なツールになる。挙動木は、グラフとして表される状態機械とは異なり階層的にある。   Behavior trees are representation tools that can be used to model behavior and control the flow of autonomous agents. Behavior trees are common in the robotics and video game industries because of their ability to coordinate concurrent actions and decision-making processes. Unlike a state machine (where there is only a single valid state at any given time), a behavior tree can execute multiple behaviors in parallel. Thereby, the behavior tree becomes a very powerful tool to adjust all of the PCD sense inputs that have an expressive output. Behavior trees are hierarchically different from state machines represented as graphs.

生成される各技能は、デフォルトでmain.bt挙動木を含むことができる。この挙動木は、技能が実行される時に実行される挙動木である。技能の中でmain.btが参照するための追加の挙動木を生成することができる。挙動は、別途指定しない限り挙動木の最上位から最下位に実行することができる。   Each skill generated is, by default, main. It can contain bt behavior trees. This behavior tree is a behavior tree that is executed when the skill is executed. Among the skills main. Additional behavior trees can be generated for bt to reference. Behavior can be executed from top to bottom of the behavior tree unless specified otherwise.

図28を参照すると、2つの挙動が同時に実行され、次に、第2の挙動、更に第3の挙動が実行される挙動木断片2800の例示的かつ非限定的実施形態が示されている。特に、カメラアニメーションを再生する段階と写真を撮影する段階は、最初に第1の挙動の一部として並列に実施される。完了時に、それぞれ写真を表示する段階及び表示から写真を削除する段階を含む第2及び第3の挙動が実施される。   Referring to FIG. 28, an exemplary non-limiting embodiment of a behavior tree fragment 2800 is shown in which two behaviors are performed simultaneously, and then a second behavior and then a third behavior. In particular, the steps of playing back the camera animation and taking a picture are initially performed in parallel as part of the first behavior. At completion, second and third behaviors are performed, including displaying the photo and deleting the photo from the display, respectively.

挙動は、アクションを実施する挙動木内のノードである。これは、非常に簡単なアクション(オーディオファイルを再生する段階のような)又は複雑なアクション(誰かの名称を尋ねる段階のような)である可能性がある。   A behavior is a node in a behavior tree that performs an action. This can be a very simple action (such as playing an audio file) or a complex action (such as asking someone's name).

挙動は、以下の少なくとも4つの別個の状態を取ることができる。
a.INVALID(無効):挙動は依然として始まっていない。
b.IN_PROGRESS(進行中):挙動が、アニメーションを再生する段階又はテキスト発話変換を用いて発声する段階のようないずれかのアクションを能動的に実施している。
c.SUCCEEDED(成功):挙動がそのタスクを首尾良く完了した。
d.FAILED(失敗):挙動がそのタスクを不成功に完了した。これは必ずしもエラーが発生したことを意味するとは限らないことに注意されたい。
The behavior can take at least four distinct states:
a. INVALID: The behavior has not yet begun.
b. IN_PROGRESS (in progress): The behavior is actively performing any action, such as playing an animation or uttering using text-to-speech conversion.
c. SUCCEEDED (success): The behavior has successfully completed its task.
d. FAILED: The behavior has successfully completed its task. Note that this does not necessarily mean that an error has occurred.

葉挙動は子を持たない。葉挙動は、オーディオファイルを再生する段階又はPCDに発声させる段階のような1つのアクションを実施する役割を受け持つ。   Leaf behavior has no children. Leaf behavior is responsible for performing one action, such as playing an audio file or letting the PCD speak.

図29を参照すると、葉挙動の例示的かつ非限定的実施形態が示されている。図示のこの葉挙動は、アニメーションを再生し、写真を撮影し、タイムアウトの間一時停止し、かつJavaScriptコードを実行する。   Referring to FIG. 29, an exemplary non-limiting embodiment of leaf behavior is shown. This illustrated leaf behavior plays animations, takes pictures, pauses during timeouts, and executes JavaScript code.

一般的に、親挙動は子を有することができる。子は、葉挙動又は他の親挙動のいずれかとすることができる。SDK2704では、4つのコア親挙動が存在する。
a.Sequence(シーケンス):Sequenceは、その子を最上位から最下位への順序で実行することになる。Sequenceの子のうちのいずれかがIN_PROGRESS状態にあるが、SequenceもIN_PROGRESS状態にあることになる。Sequenceの子の全てがSUCCESSステータスを用いて戻った場合に、Sequenceは、SUCCESSステータスを用いて戻ることになる。Sequenceの子のいずれかがFAILEDステータスを用いて戻るや否や、Sequenceは、FAILEDステータスを用いて即座に戻ることになる。
b.Parallel(並列):Parallel親挙動は、その子の全てを同時に開始することになる。Parallelは、その子のうちのいずれかが失敗するまで(この場合に、ParallelはFAILEDステータスを戻すことになる)、又は子の全てがSUCCEEDED状態を有するまで(この場合に、ParallelはSUCCESSステータスを戻すことになる)IN_PROGRESSに留まることになる。
c.Switch(切り換え):Switch挙動は、挙動木が分岐論理を処理する方法である。Switchは、その1つの子が成功するまでシーケンス内の子の全てを試験することになり、この成功時点でこの子を実行し、次に、SUCCEEDEDステータスを用いて戻ることになる。Switchは、その子の全てが失敗した場合であっても常に成功することになる。
d.Random(ランダム):Random挙動は、その子のうちの1つをランダムに選択することになる。この子が失敗した場合に、Randomは失敗することになる。この子が成功した場合に、Randomは成功することになる。
In general, parent behavior can have children. The offspring can be either leaf behavior or other parent behavior. In SDK 2704, there are four core parent behaviors.
a. Sequence: Sequence will execute its children in top to bottom order. While any of the Sequence's children are in the IN_PROGRESS state, the Sequence will also be in the IN_PROGRESS state. If all of the Sequence's children return with the SUCCESS status, the Sequence will return with the SUCCESS status. As soon as any of the Sequence's children return with the FAILED status, the Sequence will return immediately with the FAILED status.
b. Parallel: Parallel parent behavior will start all of its children at the same time. Parallel will return until any of its children fail (in this case, Parallel will return a FAILED status), or until all of the children have a SUCCEEDED state (in this case, Parallel returns a SUCCESS status) Will be) IN_PROGRESS).
c. Switch: Switch behavior is the way behavior trees handle branching logic. The Switch will test all of the children in the sequence until its one succeeds, and at this success will execute this child and then return with the SUCCEEDED status. Switch will always succeed even if all of its children fail.
d. Random: The Random behavior will randomly select one of its children. If this child fails, Random will fail. If this child succeeds, Random will succeed.

図30を参照すると、シーケンス親挙動と並列親挙動の両方の例示的かつ非限定的実施形態が示されている。Sequence親挙動は、その子を最上位から最下位への順序で実行する。Parallel親挙動は、その全ての子を同時に実行する。   Referring to FIG. 30, an exemplary non-limiting embodiment of both sequence parent behavior and parallel parent behavior is shown. The Sequence parent behavior executes its children in top to bottom order. The Parallel parent behavior executes all its children simultaneously.

修飾子は、木内のノードではない。修飾子は、挙動の状態を変更するために挙動に追加することができる構成要素である。修飾子は、以下の4つの事柄を行うことができる。
a.いずれかの条件が満たされるまで挙動が開始するのを阻止する。
b.IN_PROGRESSにある挙動に成功させる。
c.IN_PROGRESSにある挙動に失敗させる。
d.成功又は失敗のいずれかで終わった挙動を再開する。
Modifiers are not nodes in the tree. Modifiers are components that can be added to a behavior to change the state of the behavior. Modifiers can do four things:
a. Prevents the behavior from starting until either condition is met.
b. Make the behavior in IN_PROGRESS succeed.
c. Fail the behavior in IN_PROGRESS.
d. Resume behavior that ended with either success or failure.

SDK2704を通じてアクセス可能である例示的修飾子クラスは以下を含むことができる。
a.それが修飾する挙動を開始する前に単一検査を実施するCase(場合分け)。この検査が失敗した場合に、Caseは挙動を失敗させる。
b.評価中の条件が満たされた場合に、それが修飾している挙動を明示的に中断するFailOnCondition(条件付き失敗)。
c.アニメーションがその事象層から事象を発射した場合に挙動の実行を始めるStartOnAnimEvent(アニメ事象時開始)。
d.評価中の条件が満たされるまで、それが修飾している挙動が開始するのを阻止するStartOnCondition(条件付き開始)。
e.挙動木のグローバルエミッタが事象を発生させるまで、それが修飾している挙動が開始されるのを阻止するStartOnEvent(事象時開始)。
f.評価中の条件が満たされた場合に、それが修飾している挙動を明示的に中断するSucceedOnCondition(条件付き成功)。
g.指定されたオーディオフレーズが検出された時に、それが修飾している挙動を成功させるSucceedOnEmbedded(埋め込み時成功)。
h.挙動木のグローバルエミッタが事象を発生させた時に、それが修飾している挙動を成功させるSucceedOnEvent(事象時成功)。
i.オーディオ発話認識を実施し、その結果を規則ファイルに従って構文解析するSucceedOnListen(傾聴時成功)
j.オーディオ発話認識を実施し、その結果を規則ファイルに従って構文解析して適用するSucceedOnListenJs(傾聴時成功Js)
k.指定時間量の後に、それが修飾している挙動を強制的に失敗させるTimeoutFail(タイムアウト失敗)。
l.指定時間量の後に、それが修飾している挙動を強制的に成功させるTimeoutSucceed(タイムアウト成功)。
m.指定時間量の後に、それが修飾している挙動を強制的に成功させるTimeoutSucceedJs(タイムアウト成功Js)。
n.構成要素が首尾良く成功した後に条件を評価することになるWhileCondition(While条件)。評価中の条件が満たされた場合に、この構成要素が再度開始される。条件が満たされなかった場合に、構成要素のステータスが、この修飾子を起動した関数に送出される(戻される)。
Exemplary modifier classes that can be accessed through SDK 2704 can include:
a. Perform a single test before starting the behavior that it modifies Case. Case fails the behavior if this check fails.
b. FailOnCondition (conditional failure) that explicitly aborts the behavior it is modifying if the condition being evaluated is met.
c. StartOnAnimEvent (Start on animation event) to start executing the behavior when the animation fires an event from its event layer.
d. StartOnCondition (conditional start) that prevents the behavior it is modifying from starting until the condition under evaluation is met.
e. StartOnEvent Prevents the behavior that it is modifying from being started until the global emitter of the behavior tree generates an event.
f. SuccessOnCondition (conditional success) that explicitly aborts the behavior it is modifying if the condition under evaluation is met.
g. "SucceedOnEmbedded" to make the behavior modified by it succeed when the specified audio phrase is detected.
h. Behavior OnEvent When a global emitter generates an event, it succeeds in the behavior it is modifying.
i. SuccessOnListen to perform audio speech recognition and parse the result according to the rules file
j. Implements audio speech recognition, parses the result according to the rules file, and applies it. SuccessOnListenJs (Successful listening Js)
k. TimeoutFail which forces the behavior it is qualifying to fail after a specified amount of time.
l. TimeoutSucceed to force the behavior that it is qualifying to succeed after a specified amount of time.
m. TimeoutSucceedJs (Success timeout Js) which forces the behavior it is modifying to succeed after the specified amount of time.
n. WhileCondition A condition that will be evaluated after the component has been successfully completed. This component is started again if the condition under evaluation is fulfilled. If the condition is not met, the status of the component is sent back to the function that invoked this modifier.

図31を参照すると、条件が満たされるまでSequence挙動が始まるのを阻止するCase修飾子の例示的かつ非限定的実施形態が示されている。StartOnAnimEvent修飾子は、PlayAnimation挙動でのカメラアニメーションが事象を発生させるまでTakePhoto挙動が始まるのを阻止する。   Referring to FIG. 31, an exemplary non-limiting embodiment of a Case modifier is shown that prevents the initiation of Sequence behavior until a condition is met. The StartOnAnimEvent modifier prevents TakePhoto behavior from starting until the camera animation with PlayAnimation behavior generates an event.

図32を参照すると、技能の主挙動木のユーザインタフェースレンダリングの例示的かつ非限定的実施形態が示されている。   Referring to FIG. 32, an exemplary non-limiting embodiment of user interface rendering of a main behavior tree of skills is shown.

各技能は、デフォルトで主挙動木を含む。この挙動木は、技能が実行される時に実行される挙動木である。技能の中でmain.btが参照するための追加の挙動木を生成することができる。   Each skill contains the main behavior tree by default. This behavior tree is a behavior tree that is executed when the skill is executed. Among the skills main. Additional behavior trees can be generated for bt to reference.

挙動は、別途指定しない限り挙動木の最上位から最下位に実行される。   The behavior is executed from the top to the bottom of the behavior tree unless otherwise specified.

図33を参照すると、Sequence親の子であるParallel親の子としてのTextToSpeech葉挙動の例示的かつ非限定的実施形態が示されている。TextToSpeech挙動は、StartOnAnimEvent修飾子と説明とを有し、挙動木に追加することができる3つのタイプの挙動、すなわち、親挙動、葉挙動、及び修飾子がある。   Referring to FIG. 33, an exemplary non-limiting embodiment of TextToSpeech leaf behavior as a child of a Parallel parent that is a child of a Sequence parent is shown. The TextToSpeech behavior has a StartOnAnimEvent modifier and an explanation, and there are three types of behaviors that can be added to the behavior tree: parent behavior, leaf behavior, and modifiers.

親挙動は、子挙動を有することができる。子は、葉挙動又は他の親の挙動とすることができる。   The parent behavior can have child behavior. The offspring can be leaf behavior or other parent behavior.

挙動エディタには以下の4つの親挙動がある。
a.Sequence(シーケンス):その子を最上位から最下位への順序で実行する。
b.Parallel(並列):その子を一斉に実行する。
c.Switch(切り換え):最上位から最下位に向う中で成功した最初の子を実行する。
d.Random(ランダム):その子のうちの1つをランダムに実行する。
The behavior editor has four parent behaviors:
a. Sequence: Executes its children in top to bottom order.
b. Parallel: Executes the children all at once.
c. Switch: Execute the first successful child from top to bottom.
d. Random: Run one of its children randomly.

一部の実施形態では、葉挙動は、他の挙動を含むことができない。葉挙動は、オーディオファイルを再生すること又はPCDに発声させることのような単一アクションを実行する。   In some embodiments, leaf behavior can not include other behaviors. The leaf behavior performs a single action such as playing an audio file or letting the PCD speak.

図示のように、修飾子は、挙動が開始、成功、又は失敗する時を変更する。修飾子は、挙動を再開することができる。   As shown, the modifier changes when the behavior starts, succeeds or fails. Modifiers can resume their behavior.

図34を参照すると、測定可能条件に基づいて挙動の状態を変更するように構成された修飾子の例示的かつ非限定的実施形態が示されている。   Referring to FIG. 34, an exemplary non-limiting embodiment of a qualifier configured to change the state of behavior based on measurable conditions is shown.

図35を参照すると、挙動の引数を指定するためのユーザインタフェースの例示的かつ非限定的実施形態が示されている。   Referring to FIG. 35, an exemplary non-limiting embodiment of a user interface for specifying behavior arguments is shown.

挙動木内で挙動が選択された状態で、その挙動に対して利用可能ないずれかの引数が挙動引数内に現れる。引数ペイン内で修飾子が選択された状態で、修飾子引数ペイン内に当該修飾子に対するいずれかの引数が現れる。   Once a behavior is selected in the behavior tree, any available arguments for the behavior appear in the behavior argument. With a modifier selected in the arguments pane, one of the arguments for that modifier appears in the modifier arguments pane.

挙動エディタ内には3タイプの引数がある。
a.文字列
b.ファイル
c.整数
d.数字
e.enum
f.ブール
g.関数
h.SSML部分集合
There are three types of arguments in the behavior editor.
a. Character string b. File c. Integer d. Number e. enum
f. Boule g. Function h. SSML subset

アニメーション及びアニメーションエディタ
例示的かつ非限定的実施形態により、PCDのアニメーションシステムは、モータ、照明リング、及び眼グラフィックなどを含むロボットの身体を通して表現出力を調整する役割を受け持つことができる。システムは、スクリプト式アニメーションの再生、並びに表現的注視挙動及び方位設定挙動をサポートすることができる。更に、システムは、姿勢から姿勢へ、又は1つのアニメーション又は表既存動の終了から次のものに滑らかに移行することを保証する。
Animation and Animation Editors By way of an illustrative and non-limiting embodiment, the animation system of the PCD can be responsible for adjusting the presentation output through the robot's body, including motors, lighting rings, eye graphics, and the like. The system can support playback of scripted animation as well as expressive gaze and orienting behaviors. Furthermore, the system guarantees a smooth transition from posture to posture, or from the end of one animation or table motion to the next.

構成にわたるビルダ及びインスタンスのライフサイクル、起動、及び実行/制御の図を描く図36を参照すると、ビルダは、構成情報及び他のデータを格納するために使用することができ、次に、有効インスタンスハンドルをもたらすために使用する(更に再度使用する)ことができるビルダ及びインスタンスのいくつかの例は、AnimationInstance(アニメーションインスタンス)をもたらすAnimationBuilder(アニメーションビルダ)、LookatInstance(注視インスタンス)をもたらすLookatBuilder(注視ビルダ)、及び「中間」運動をもたらすTransitionBuilder(移行ビルダ)などを含むことができる。ビルダ3602は、構成処理段階3604中に構成することができる。有効処理段階3608中に、ビルダ3602は、それが、例えば、現在のパラメータに基づいてビルダのインスタンス3610を生成する段階を開始することができる開始入力を受信することができる。実行/制御処理3612中に、ビルダ3602は、再使用されるように待機することができ、その間に、開始されたインスタンス3610は、PCDの作動要素にモータ/グラフィック/LEDの値を与える段階のようなアクションを実施することができる。実施形態では、開始されたビルダインスタンスは、一度しか使用することができない。   Referring to FIG. 36 which depicts a diagram of the builder and instance life cycle, launch, and execution / control across the configuration, the builder can be used to store configuration information and other data, and then the valid instance. Some examples of builders and instances that can be used (and used again) to provide handles are: AnimationBuilder (Animation Builder) that brings AnimationInstance (Animation Instance), LookatBuilder (Gaze Builder) that brings LookatInstance (gaze instance) And TransitionBuilder (transition builder), etc., which provide an "intermediate" movement. The builder 3602 can be configured during the configuration processing stage 3604. During valid processing stage 3608, builder 3602 can receive a start input where it can initiate, for example, generating an instance 3610 of a builder based on current parameters. During the run / control process 3612, the builder 3602 can wait to be reused while the started instance 3610 is in the process of providing motor / graphics / LED values to the working elements of the PCD. Such actions can be performed. In an embodiment, a started builder instance can only be used once.

ロボットの個々の自由度(DOF)のマップ、DOF値タイプ、及び共通DOFグループを提供する図を描く図37を参照すると、アニメ化モジュールを通して同期される動的要素は、自由度として表すことができる。DOFは、PCD SDKのユーザが制御することができるアニメ化モジュールの最小分離可能ユニットを表すことができる。いくつかのDOFは、PCDの身体モータの回転を制御し、他のDOFは、LED照明リングの色チャネルを制御し、更に他は画面上の眼及びオーバーレイに関するグラフィックパラメータを制御する。DOFは個々に制御することができるが、一般的に他のDOFとグループ分けされてDOFセットに入れられる。例えば、SDKを通して利用可能なリソース内で共通使用DOFセットを提供する。図37は、ロボットの個々のDOFのマップ(イタリック体)、DOF値タイプ、及び共通のDOFグループ(大文字)を提示している。   Referring to FIG. 37 which depicts a map providing individual robot degrees of freedom (DOF), DOF value types, and common DOF groups, dynamic elements synchronized through the animation module may be represented as degrees of freedom it can. The DOF can represent the smallest separable unit of the animation module that the user of the PCD SDK can control. Some DOFs control the rotation of the PCD's body motor, others control the color channels of the LED lighting ring, and others control graphic parameters for the eyes and overlays on the screen. The DOFs can be controlled individually but are generally grouped with other DOFs into a DOF set. For example, provide a common usage DOF set within resources available through the SDK. FIG. 37 presents the robot's individual DOF maps (italic), DOF value types, and common DOF groups (upper case).

直近にトリガされたアニメ化インスタンスによる限定的DOF所有ポリシーに従うアニメ化モジュールを描く図38を参照すると、PCD SDKのアニメ化モジュールは、直近にトリガされたインスタンスによる限定的DOF所有ポリシーに従うことができる。図38では、ロボットの身体、LED、及び眼を制御しているインスタンスAは、PCDの身体DOFのみを制御するように構成されたインスタンスBによる割り込みを受ける。インスタンスBは、トリガされるや否や、ロボットの身体の制御だけを引き受け、一方、インスタンスAは、ロボットのLED及び眼を制御し続ける。DOF制御の様々な他の組合せ及び重複インスタンスが本明細書に組み込まれている。   Referring to FIG. 38 which depicts the animation module following the limited DOF ownership policy with the most recently triggered animated instance, the animation module of the PCD SDK can follow the limited DOF ownership policy with the most recently triggered instance . In FIG. 38, instance A controlling the robot's body, LEDs, and eyes is interrupted by instance B configured to control only the body DOF of the PCD. As soon as triggered, instance B only takes control of the robot's body, while instance A continues to control the robot's LEDs and eyes. Various other combinations and duplicate instances of DOF control are incorporated herein.

ビルダ3602によって与えられるアニメーションのビルダインスタンス3610によってどのDOFが制御されるかを決定することに加えて、setSpeed(速度設定)3902、setNumLoops(ループ数設定)3904、又は関連の方法を含む図39に示すもののようなパラメータ又は引数によってアニメーション作動制御を調節することができる。   In addition to determining which DOF is controlled by the builder instance 3610 of the animation provided by the builder 3602, setSpeed 3902, setNumLoops 3904, or related methods shown in FIG. Animation actuation control may be adjusted by parameters or arguments such as those shown.

アニメーション間のトランザクションを構成する段階を描く図40を参照すると、この移行は、アニメ化された1つの挙動の終了から次のものの開始への滑らかな運動を保証する。アニメーションを構成するためにPCD SDKのユーザによってAnimationBuilder(アニメーションビルダ)4002のインスタンスが選択された状態で、SDKは、選択されるアニメーションの開始までの移行運動4004をPCDの現在状態(例えば、その身体状態)から自動的に生成することができる。この移行運動は、図40に示すように、アニメーションインスタンスの前に技能フロー内に挿入することができる。移行運動は、PCDの現在状態と選択されるアニメーションのためのPCD状態とが既に十分に位置合わせされている場合は、短い永続時間を(又はゼロの永続時間さえも)有することができる。   Referring to FIG. 40 which depicts the steps of constructing a transaction between animations, this transition guarantees a smooth motion from the end of one animated behavior to the start of the next. With an instance of AnimationBuilder (Animation Builder) 4002 selected by the user of the PCD SDK to construct an animation, the SDK moves the transition motion 4004 to the start of the selected animation to the current state of the PCD (eg, its body State) can be generated automatically. This transitional motion can be inserted into the skill flow prior to the animation instance, as shown in FIG. The transitioning motion can have a short duration (or even a zero duration) if the current state of the PCD and the PCD state for the animation to be selected are already well aligned.

例示的かつ非限定的実施形態により、PCD SDKのAnimationBuilder4002の関数は、それによって定められているアニメーションに向うインバウンド移行を生成するために使用することができるシステムデフォルトTransitionBuilder4004を用いて事前構成された状態で届けることができる。このデフォルト挙動は、ビルダのsetTransitionIn(インバウンド移行設定)関数によって変更することができる。この関数は、animationBuilder.setTransitionIn(transitionBuilder)のような指令によって又はSDKのユーザインタフェースを通して設定することができる。SDKは、少なくとも2つの基本形式の移行ビルダを提供することができる。例えば、LinearTransitionBuilder(線形移行ビルダ)は、単純な線形合成を用いて移行運動を生成することができ、それに対してAccelerationTransitionBuilder(加速移行ビルダ)は、構成可能な加速制限に従う運動を生成することができる。移行ビルダは、ゼロから生成する又は既存の移行を複製して変更することによって生成することができ、SDKは、移行を生成し、カスタム化するこれらのモードのうちのあらゆるものを容易にすることができる。   According to an exemplary and non-limiting embodiment, the PCD SDK's AnimationBuilder 4002 function is pre-configured with a system default TransitionBuilder 4004 that can be used to generate the inbound transition towards the animation defined thereby. Can be delivered by This default behavior can be changed by the builder's setTransitionIn (inbound transition setting) function. This function is an animationBuilder. It can be set by a command such as setTransitionIn (transitionBuilder) or through the SDK user interface. The SDK can provide at least two basic forms of transition builders. For example, LinearTransitionBuilder (linear transition builder) can generate transition motion using simple linear synthesis, whereas AccelerationTransitionBuilder (acceleration transition builder) can generate motion according to configurable acceleration limitation . The transition builder can be generated from scratch or by duplicating and changing an existing transition, and the SDK can facilitate any of these modes of generating and customizing a transition. Can.

例示的コアアニメーション事象のタイミングを描く図41を参照すると、例えば、アニメーションシーケンスの再生を含むことができる本明細書に説明するアニメーションのインスタンスのようなアニメーションは、STARTED(開始)、STOPPED(停止)、及びCANCELLED(キャンセル)、更に、他のカスタム事象を含むいくつかの異なる事象を通してモニタすることができる。有効アニメーションインスタンスをモニタするための事象リスナーは、AnimationBuilderの事象傾聴機能を用いてインストールすることができる。図41の例では、適用可能な場合に、いずれかのインバウンド移行運動の完了後に、アニメーションインスタンスが始まる時にSTARTED事象が発射される(例えば、アニメーション−時間0において事象が発射される)。アニメーションインスタンスが完了するか又は完全に中断された状態で、STOPPED事象が発射される。これらの場合を区別するためにSTOPPED事象の中断特性を検査することができる。一例として、新しくトリガされたインスタンスが現在実行中のアニメーションを切断した場合又は現在実行中のアニメーションの停止方法がアニメーションの終了前に実行された場合に、payload.interrupted===true(ペイロード.中断=真)が成り立つ。アニメーションインスタンスが削除された場合又はSTARTEDが行われることもなくその前に完全に中断された場合にCANCELLED事象が発射される。   Referring to FIG. 41 which depicts the timing of an exemplary core animation event, animations such as, for example, instances of the animation described herein which may include playback of the animation sequence are STARTED, STOPPED. And can be monitored through several different events, including CANCELLED (cancellation) and other custom events. Event listeners for monitoring active animation instances can be installed using the event listening feature of AnimationBuilder. In the example of FIG. 41, if applicable, after completion of any inbound transition movements, a STARTED event is fired when an animation instance begins (eg, animation-event is fired at time 0). With the animation instance complete or completely suspended, a STOPPED event is fired. The stop characteristics of the STOPPED event can be examined to distinguish these cases. As an example, if a newly triggered instance disconnects the currently executing animation, or if the method of stopping the currently executing animation is executed before the end of the animation, payload. interrupted ==== true (payload. interrupted = true) holds. The CANCELLED event is fired if the animation instance has been deleted or if it has been completely interrupted before it has not been STARTED.

アニメーションは、事象がロボットのDOFのうちの少なくとも1つを制御する状態に留まる限り、これらの事象を生成し続けることができる。特定のアニメーションに対するDOFが残ってない時にはSTOPPED事象が発射される。従って、複数のアニメーションインスタンスが同時に事象を生成することが一般的である。図42は、2つの重複アニメーションインスタンスによって生成される事象のタイムライン4202を示している。アニメーションA4204は、身体、LED、及び眼に対するDOFを制御する。アニメーションB4208は身体DOFしか制御せず、従って、アニメーションAの身体DOFを中断させるが、アニメーションAのLED又は眼のアニメーションは中断させない。事象4202は、アニメーションA4204のLED及び眼のDOFに対して生成され、それに対してアニメーションB4208は身体DOFに対する事象を生成する。   The animation can continue to generate these events as long as the events remain in control of at least one of the robot's DOFs. A STOPPED event is fired when there is no remaining DOF for a particular animation. Thus, it is common for multiple animation instances to generate events simultaneously. FIG. 42 shows a timeline 4202 of an event generated by two overlapping animation instances. The animation A 4204 controls the DOF for the body, the LED and the eye. The animation B 4208 controls only the body DOF, thus interrupting the body DOF of animation A but not the animation A LED or eye animation. Event 4202 is generated for the LED of animation A 4204 and the DOF of the eye, whereas animation B 4208 generates an event for the body DOF.

凝視方位構成インタフェースの例を描く図43及び図44を参照すると、これらの図は、PCDによって凝視及び方位設定を実施するアニメ化機能を構成して作動させる方法及びシステムの機能を表している。PCDの凝視及び方位設定は、表現的凝視挙動を生成するためにトリガすることができる。これらの挙動を用いて、PCDの身体及び/又は眼を周囲環境内の着目の場所に表現的に向けることができる。   Referring to FIGS. 43 and 44, which depict examples of gaze orientation configuration interfaces, these figures depict the functionality of methods and systems for configuring and operating animating functionality to perform gaze and orientation settings by means of a PCD. The fixation and orientation of the PCD can be triggered to generate expressive fixation behavior. These behaviors can be used to expressively direct the PCD's body and / or eye to a location of interest within the surrounding environment.

凝視挙動は、アニメーションと類似の方式で管理することができる。挙動トリガは、LookatBuilderオブジェクトを用いて達成することができる。最初に、createLookatBuilder(注視ビルダ生成)方法を用いてビルダを生成する。次に、ビルダを任意的に構成することができる。最終的に、ビルダのstartLookat(注視開始)方法を通して挙動のインスタンスがトリガすされる。   Gaze behavior can be managed in a manner similar to animation. Behavioral triggers can be achieved using the LookatBuilder object. First, create a builder using the createLookatBuilder (gaze builder generation) method. The builder can then be optionally configured. Finally, an instance of the behavior is triggered through the builder's startLookat method.

凝視挙動は、単一ショットモード又は連続モードという2つのモードの一方で作動させることができる。この連続モードは、ビルダのsetContinuousMode(連続モード設定)方法を通して構成することができる。単一ショットモードでは、凝視挙動はスクリプト式アニメーションとよく似ており、ロボットの方位を選択されるゴールに向けて形成し、次に、ゴールに到達すれば一度停止する。連続モードでは、挙動は、それ自体で停止せず、ターゲット場所は、インスタンスのupdateTarget(ターゲット更新)方法を用いて繰り返し変更することができる。この変更は、顔追跡又はPCDが動くターゲットを追従する他の状況に対して有利とすることができる。図43は、単一ショットモードの凝視作動を構成する段階を示している。連続モードでは、ターゲットポイントは、いつでも更新することができる。図44は、2つの異なる凝視ゴール間で3秒毎に切り換えるためにLookAt関数を有するPCD SDKを用いたカスタムコードを含める段階を示している。   The gaze behavior can be operated in one of two modes: single shot mode or continuous mode. This continuous mode can be configured through the builder's setContinuousMode method. In single shot mode, the gaze behavior is similar to scripted animation, forming the robot's orientation towards the chosen goal and then stopping once it reaches the goal. In continuous mode, the behavior does not stop on its own, and the target location can be repeatedly changed using the instance's updateTarget method. This change can be advantageous for face tracking or other situations where the PCD follows a moving target. FIG. 43 shows the steps of constructing a single shot mode gaze operation. In continuous mode, target points can be updated at any time. FIG. 44 shows the step of including custom code using the PCD SDK with LookAt function to switch between two different fixation goals every 3 seconds.

図45を参照すると、この図は、凝視APIにゴールを提供するソフトウエア開発キットによって参照される社会ロボットの3次元座標系が、時々に3Dベクトルとの整合を行うことを必要とする場合があることを示している。3Dベクトル数値計算及び他の線形代数演算に対してpreconFigured(事前構成)モジュールを使用するのが好ましい場合がある。let target=new animate.THREE.Vector3(1.0,0.0,1.0)(ゴール=新しいアニメ化.3.ベクトル3(1.0,0.0,1.0)とする)という例を通して新しい3Dベクトルオブジェクトを生成することができる。実施形態では、PCDは、ロボットのベースの中心に原点を有する3D座標系を使用することができる。PCDから見ると、図45の模式図に示すように正のX軸4504は前に向き、正のY軸4508は左に向き、正のZ軸4510は上に向く。   Referring to FIG. 45, this figure may sometimes require that the social robot's three-dimensional coordinate system referenced by the software development kit that provides the goal to the gaze API perform alignment with the 3D vector from time to time. It shows that there is. It may be preferable to use preconFigured modules for 3D vector numerical computations and other linear algebra operations. let target = new animate. THREE. Create a new 3D vector object through the example Vector 3 (1.0, 0.0, 1.0) (goal = new animated .3. Vector 3 (1.0, 0.0, 1.0)) can do. In an embodiment, the PCD can use a 3D coordinate system with an origin at the center of the robot's base. As seen from the PCD, as shown in the schematic view of FIG. 45, the positive X axis 4504 points forward, the positive Y axis 4508 points left, and the positive Z axis 4510 points upward.

アニメーションを編集するためのソフトウエア開発キットのユーザインタフェースを描く図46を参照すると、このインタフェースを通してアニメーションを生成することができる。アニメーションを構成し、個々のアニメーションファイルに格納することができる。図46に記載のアニメーションエディタは、身体ペイン4602と、眼ペイン4604と、タイムラインペイン4608とを含むことができる。各ペインはズームすることができ、各ペインの色は変更することができ、アニメーションエディタのペインはリセットすることができる。身体ペイン4602は、ポイント機能、クリック機能、及びドラッグ機能によって身体セグメントの直接制御を容易にする。   Referring to FIG. 46, which depicts a software development kit user interface for editing animation, animation can be generated through this interface. Animations can be organized and stored in individual animation files. The animation editor described in FIG. 46 can include a body pane 4602, an eye pane 4604, and a timeline pane 4608. Each pane can be zoomed, the color of each pane can be changed, and the pane of the animation editor can be reset. Body pane 4602 facilitates direct control of body segments with point, click, and drag functions.

タイムラインペイン4608は、毎秒30フレームのフレームレートでの30フレームのデフォルトアニメーションを調節することによってアニメーションの長さを調節するために使用することができる。タイムラインペイン内のタイムラインは、2倍及び類似の倍数等だけスケーリングすることができる。キーフレームパラメータを設定することによってタイムライン内のある一定のフレームをロックすることができる。タイムラインペイン4608内のフレームは、カット、ペースト、コピー、及び削除などのような指令を用いて編集することができる。タイムライン上のフレームは、身体ペイン4602及び/又は眼ペイン4604が、タイムラインペイン4608内で選択されるアニメーションフレームシーケンスを描くことができるようにシミュレーション機能によって作動させることができる。シミュレーションは、連続的、一度に1つのフレーム、又は停止指令が入力されるまで、及び類似の方式で作動させることができる。   The timeline pane 4608 can be used to adjust the animation length by adjusting the default animation of 30 frames at a frame rate of 30 frames per second. The timelines in the timeline pane can be scaled by two times and similar multiples etc. By setting key frame parameters, certain frames in the timeline can be locked. Frames in the timeline pane 4608 can be edited using commands such as cut, paste, copy, and delete. The frames on the timeline can be activated by the simulation function so that the body pane 4602 and / or the eye pane 4604 can draw the animation frame sequence selected in the timeline pane 4608. The simulation can be run continuously, one frame at a time, or until a stop command is input and in a similar manner.

アニメーションエディタは、層を用いてアニメーションの生成を可能にする。層に対してアニメーションを生成するために、アニメーションエディタ内でこの層が選択される。   The animation editor uses layers to enable animation generation. This layer is selected in the animation editor to generate animation for the layer.

一部の場合に、同じタイプの複数の層が合成されることになる。いくつかの層は加算的である。例えば、PCDの眼を1だけ上に移動する層と眼を2だけ下に移動する層とが合成されて眼を1だけ下に移動するアニメーションが提供されることになる。他の層は乗算的である。例えば、PCDの眼を3倍スケーリングする層とPCDの眼を2倍スケーリングする層とが合成されてPCDの眼を6倍スケーリングするアニメーションが提供されることになる。合成されない層は、最上位層上に適用されるアニメーションにデフォルト設定される。   In some cases, multiple layers of the same type will be combined. Some layers are additive. For example, a layer that moves the eye of the PCD up one and a layer that moves the eye down two will be combined to provide an animation that moves the eye down one. The other layers are multiplicative. For example, a layer that scales the eye of the PCD by a factor of three and a layer that scales the eye of the PCD by a factor of two will be combined to provide an animation that scales the eye of the PCD by a factor of six. Layers that are not composited default to animation applied on the top layer.

図47は、PCDの制限の違反を示すことができる画面を表示している。アニメーションを生成する時に、実施するようにPCDに見出す移動がPCDにそのモータの内部ハードウエア制限を超えさせることになる場合に、PCDが過度に迅速に動くフレームは赤色4702に変わり、特性ペイン4704内にエラーメッセージが現れることになる。アニメーションエラーは、移動が加速度制限又は速度制限を違反した場合に発生する場合がある。これらのメッセージは警告に過ぎない。PCDは、これらの移動を依然として実施しようと試みる可能性があるが、ハードウエアは、これらの移動をサポートすることができない場合がある。制限は、全ての身体層の加算的累積に基づいている。例えば、身体層上に過度に速いキーフレームが追加されるが、別の身体層上で相殺された場合に、得られるアニメーションは許容され、エラーは現れないことになる。制限を超えた場合に、あらゆる身体層が原因又は解決である可能性があるので、全ての身体層上の影響を受ける全ての区域内に警告が現れる。制限違反を修正するために、キーフレーム間でPCDが動く度数を低減するか、又はキーフレーム間のフレーム数を増加するかのいずれかを行うことができる。   FIG. 47 displays a screen that can indicate a violation of the PCD's restrictions. When moving the PCD to locate the PCD to perform will cause the PCD to exceed its motor's internal hardware limitations when generating the animation, the frame moving the PCD too quickly changes to red 4702 and the feature pane 4704 An error message will appear inside. Animation errors may occur when movement violates acceleration or speed limitations. These messages are just warnings. The PCD may still attempt to perform these moves, but the hardware may not be able to support these moves. The limit is based on the additive accumulation of all body layers. For example, if too fast keyframes are added on the body layer, but offset on another body layer, the resulting animation will be acceptable and no errors will appear. If the limit is exceeded, a warning will appear in all affected areas on all body layers, as any body layer may be the cause or solution. In order to correct the restriction violation, either the frequency of movement of the PCD between keyframes can be reduced or the number of frames between keyframes can be increased.

本明細書ではフレーム間の運動の処理を「ツイーニング」と呼ぶ。例えば、線形ツイーンは、PCDの身体をキーフレーム間で一様のペースで移動することになる。アニメーションツイーンは、自然な移動を模倣するためにキーフレームの内外にイーズイン及び/又はイーズアウトするように調節することができる。ツイーニングは、アニメーションが適用されたキーフレームから次の設定キーフレームに(タイムライン上で左から右に)アニメーションがどのように動くかに影響を及ぼす。   The processing of motion between frames is referred to herein as "tweening". For example, a linear tween will move the PCD's body between keyframes at a uniform pace. The animation tween can be adjusted to ease in and / or out in and out of the keyframe to mimic natural movement. Tweaking affects how the animation moves (left to right on the timeline) from the keyframe to which the animation was applied to the next configuration keyframe.

社会ロボットの代表的な眼画像を制御するために眼層を構成するためのユーザインタフェースを描く図48を参照すると、このユーザインタフェースを用いて、PCDの眼のサイズ、位置、形状、及び回転を操作することができる。ツイーニングは、眼アニメーションに適用することができる。PCDの眼には、サイズ変更、制約付き比率を用いた又は用いないスケーリング、形状変更、及び回転などを加えることができる。図48のユーザインタフェースは、ポイント機能、クリック機能、及びドラッグ機能によって眼の直接制御を容易にする。   Referring to FIG. 48 which depicts a user interface for configuring the eye layer to control a typical eye image of a social robot, this user interface is used to determine the size, position, shape and rotation of the PCD eye It can be operated. Tweening can be applied to eye animation. The PCD eye can be scaled, scaled with or without constrained proportions, reshaped, rotated, etc. The user interface of FIG. 48 facilitates direct control of the eye with point, click and drag functions.

社会ロボットの代表的な眼画像のテクスチャ態様を制御するために眼テクスチャ層を構成するためのユーザインタフェースを描く図49を参照すると、このユーザインタフェースを通して眼の色及びテクスチャを構成することができる。PCD眼層構成ユーザインタフェースは、身体ペイン4902と眼ペイン4904とタイムラインペイン4908とを含むことができる。身体ペイン4902内にアニメーションのシミュレーションを描くことができ、このシミュレーションは、身体、照明リング、眼、及びオーディオのシミュレーションを含むことができる。眼ペイン4904は、少なくとも色及びテクスチャのアニメーションを含む眼4910のアニメーションの制御とシミュレーションの両方を可能にすることができる。色は、アニメーションのフレームからフレームにRGB空間を通して内挿され、加算的なものとすることができる。色をテクスチャの上に合成することができ、従って、デフォルトの白色ではない眼テクスチャを構成することにより、下層のテクスチャの色の影響に起因して各色がどのように示されるかが影響を受けることになる。   Referring to FIG. 49, which depicts a user interface for configuring an eye texture layer to control the texture aspects of a typical eye image of a social robot, eye color and texture can be configured through this user interface. The PCD eye layer configuration user interface can include a body pane 4902, an eye pane 4904, and a timeline pane 4908. A simulation of the animation can be drawn in the body pane 4902, which can include simulations of the body, lighting ring, eyes, and audio. Eye pane 4904 may allow both control and simulation of eye 4910 animation, including at least color and texture animation. Colors may be interpolated from RGB frame to frame through animation space and be additive. Colors can be composited on the texture, so by constructing the default non-white eye texture, it affects how each color is represented due to the influence of the color of the underlying texture It will be.

図50を参照すると、社会ロボットの代表的な眼画像を制御するために眼オーバーレイ層を構成するためのユーザインタフェースが示されている。ユーザインタフェースは、身体ペイン5002と眼オーバーレイペイン5004とタイムラインペイン5008とを含むことができる。オーバーレイ層は、PCDの眼の前面にあるPCDの画面上に現れる。オーバーレイは、眼オーバーレイユーザインタフェース内で変更することができる。このユーザインタフェース内では、x値は右に増加し、yは画面の中心から下に増加し、この中心はデフォルトで眼の中心であり、(x=0,y=0).に位置付けられる。オーバーレイは、実質的に眼と等しく構成され、同じ特性の実質的に全てを含む。眼オーバーレイ層コンテンツは、デフォルトでPCDの眼の前面に現れるが、この登場は、テクスチャを交換すること(すなわち、眼テクスチャを眼オーバーレイテクスチャと交換すること)によって実質的に逆転させることができる。眼オーバーレイ層は、眼とは無関係に追加し、削除し、移動し、繋ぐことができ、制約付き比率を用いて又は用いずにサイズ変更し、形状変更し、回転させることができる。   Referring to FIG. 50, a user interface for configuring an eye overlay layer to control a representative eye image of a social robot is shown. The user interface can include a body pane 5002, an eye overlay pane 5004, and a timeline pane 5008. The overlay layer appears on the screen of the PCD in front of the eye of the PCD. The overlay can be changed in the eye overlay user interface. Within this user interface, the x value increases to the right and y increases down from the center of the screen, which by default is the center of the eye, (x = 0, y = 0). It is located in The overlay is configured to be substantially equal to the eye and includes substantially all of the same characteristics. Although the eye overlay layer content appears by default on the anterior surface of the PCD's eye, this appearance can be substantially reversed by exchanging texture (ie, exchanging eye texture with eye overlay texture). The eye overlay layer can be added, removed, moved, tethered independently of the eye, and can be resized, reshaped, and rotated with or without constrained proportions.

社会ロボットの代表的な眼画像を制御するために眼オーバーレイテクスチャ層を構成するためのユーザインタフェースを描く図51を参照すると、眼オーバーレイに対するテクスチャを構成することができる。図51のユーザインタフェースは、オーバーレイのテクスチャを変更すること及びオーバーレイの色を変更することなどを可能にする。異なる層上のテクスチャを合成することはできないが、RGB空間を通して色を合成することができ、加算的なものとすることができる。オーバーレイが有色テクスチャを有する場合に、色の操作をテクスチャの色と合成することもできる。   Referring to FIG. 51, which depicts a user interface for constructing an eye overlay texture layer to control a representative eye image of a social robot, textures for the eye overlay can be constructed. The user interface of FIG. 51 allows changing the texture of the overlay, changing the color of the overlay, and so on. Textures on different layers can not be synthesized, but colors can be synthesized through RGB space and can be additive. If the overlay has a colored texture, the color manipulation can also be combined with the color of the texture.

社会ロボットの代表的な眼画像の背景を制御するために背景層を構成するためのユーザインタフェースを描く図52を参照すると、表示背景層テクスチャを構成することができる。背景テクスチャ層は、眼の背後のPCD画面上に現れることができる。背景テクスチャ、並びに背景テクスチャの色は、変更することができる。   Referring to FIG. 52, which depicts a user interface for configuring a background layer to control the background of a representative eye image of a social robot, a display background layer texture can be configured. A background texture layer can appear on the PCD screen behind the eye. The background texture, as well as the color of the background texture can be changed.

社会ロボットの身体セグメントの周りに配置されたLEDを構成するためのユーザインタフェースを描く図53を参照すると、LEDは、点灯/消灯、点灯強度、点灯色、色温度、彩度、及び変化速度などのような態様に関して制御することができる。これらの要素は、図53に記載のLED構成ユーザインタフェース内で選択及び/又は入力することができる。   Referring to FIG. 53 which depicts a user interface for configuring LEDs arranged around the social robot's body segment, the LEDs may be turned on / off, lighting intensity, lighting color, color temperature, saturation, change rate etc. Can be controlled with respect to such aspects. These elements can be selected and / or entered in the LED configuration user interface described in FIG.

上記では、事象を停止、開始、及び中断などに対するアニメーション作動制御に関して説明した。眼、身体、LED、及び他の層に加えて、事象層をPCD SDKユーザインタフェースを通して構成及び/又はカスタム化することができる。図54は、事象を事象名と事象の起動時に関連のアニメーションの条件を試験するためのペイロードとのような情報を用いて構成するためのユーザインタフェースを示している。事象はまた、アニメーションを本明細書で図27〜図35を参照して説明した挙動とリンクさせることができる。特定のアニメーションフレーム中に発生する挙動を生成するために、最初に事象が生成される。事象は、アニメーションと挙動をリンクさせる。本明細書に含まれる挙動エディタ内容は、挙動ツール内で事象をどのように使用するかを説明している。複数の事象層が可能である。全ての事象が実行されることになり、同じフレームに設定された事象は、最上位層から最下位層への順序で実行されることになる。   The above has been described with respect to animation actuation control for stopping, starting, and stopping events. In addition to the eye, body, LEDs, and other layers, the event layer can be configured and / or customized through the PCD SDK user interface. FIG. 54 illustrates a user interface for constructing an event using information such as an event name and a payload to test the associated animation conditions at the time of the event's launch. Events can also link the animation with the behavior described herein with reference to FIGS. An event is initially generated to generate the behavior that occurs during a particular animation frame. An event links animation with behavior. The behavior editor content contained herein describes how to use events within the behavior tool. Multiple event layers are possible. All events will be executed, and events set in the same frame will be executed in order from the highest layer to the lowest layer.

オーディオ事象層を構成するためのユーザインタフェースを描く図55を参照すると、オーディオファイル又は他のコンテンツをアニメーションに関連付けられたことによってアニメーションにオーディオを追加することができる。オーディオ事象層ユーザインタフェースはまた、アニメーションに関連付けるためのオーディオファイルの一部分をユーザが選択することを可能にするスクラバーアイコンのような制御器を含む。   Referring to FIG. 55, which depicts a user interface for constructing an audio event layer, audio can be added to the animation by associating an audio file or other content with the animation. The audio event layer user interface also includes controls such as scrubber icons that allow the user to select a portion of the audio file to associate with the animation.

発話認識及び発話エディタ
図56を参照すると、PCD SDK発話規則エディタ5600内で生成される「reservations.rule(予約.規則)」と呼ぶ発話規則の例示的かつ非限定的実施形態が示されている。
Speech Recognition and Speech Editor Referring to FIG. 56, an exemplary non-limiting embodiment of a speech rule called "reservations. Rule" generated within the PCD SDK speech rule editor 5600 is shown. .

PCDは、自然言語理解(NLU)を示している。PCDは、以下の2タイプの発話認識規則を認識することができる。
a.埋め込み規則−PCDが得て傾聴することができる組み込みフレーズ。
b.カスタム規則−カスタムフレーズ又はワードに関して傾聴するようにPCDに命令するために開発者によって符号化される規則。
PCD indicates natural language understanding (NLU). The PCD can recognize the following two types of speech recognition rules:
a. Embedding rules-built-in phrases that the PCD can obtain and listen to.
b. Custom Rules-Rules encoded by the developer to instruct the PCD to listen on custom phrases or words.

埋め込規則はSDKの中に組み込まれる。更に、フレーズ検出がPCDのソフトウエア内に組み込まれ、従って、発話を処理するためにクラウドに接続する必要はない。   Embedding rules are embedded in the SDK. Furthermore, phrase detection is incorporated into the PCD software, so it is not necessary to connect to the cloud to process the utterances.

例えば、誰かが「やあ、PCD」と言った時に何かをするようにPCDに伝えるために、ListenEmbedded(埋め込み傾聴)挙動又はSucceedOnEmbedded(埋め込み時成功)修飾子を用いて「やあ、PCD」を引数内のruleName(規則名)として指定することによってそれを行うことができ、PCDは、誰かが「やあ、PCD」と言うのを聞いた時に文字列「やあ、PCD」を戻すことになる。   For example, to tell the PCD to do something when someone says "Hey, PCD," use the ListenEmbedded behavior or the SucceedOnEmbedded modifier to "Hello, PCD" as an argument You can do that by specifying it as a ruleName within, and the PCD will return the string "Hello, PCD" when someone hears say "Hello, PCD".

PCD SDKは、話者が「やあ、PCD」と言うのを認識する規則のような1又は2以上の規則が予備ロードされた状態で届けることができる。PCDは、これらの規則に関して傾聴するように構成された状態で届けることができ、規則の符号化は必要ではない。   The PCD SDK can be delivered with one or more rules pre-loaded, such as the rules that the speaker recognizes as saying "Hey, PCD". The PCD can be delivered configured to listen on these rules, and no coding of the rules is required.

図57を参照すると、誰かが「やあ、PCD」と言うまでアイドル状態にあり、その時点でPCDがアイドル状態を停止してテキスト発話変換を用いて挨拶をする例示的かつ非限定的実施形態が示されている。   Referring to FIG. 57, an exemplary non-limiting embodiment in which someone is idle until saying "Hey, PCD", at which point the PCD stops idle and greets using text-to-speech conversion. It is shown.

PCDに、埋め込み規則を通して利用可能であるもの以外の何かに関して傾聴させるためにカスタム規則を生成することができる。この生成は、それをもたらすのに例えばListen挙動、ListenJs挙動、SucceedOnListen修飾子、又はSucceedOnListenJs修飾子を使用することによって達成することができる。   Custom rules can be generated to cause the PCD to listen for something other than what is available through the embedding rules. This generation can be accomplished by using, for example, the Listen behavior, the ListenJs behavior, the SucceedOnListen modifier, or the SucceedOnListenJs modifier to produce it.

発話規則の論理は、PCDが聴覚入力に関して傾聴し、聞いたものに基づいて文字列変数を戻すという単純なものである(現時点では、SDK内の発話規則は、PCDが数字を聞いた場合であっても文字列値しか戻さない。数字及び整数を戻すことに対するサポートは近々行われる予定である)。例えば、「ブッキング」と言う文字列変数を生成し、PCDが「フライト」というワードを聞いた場合に「航空便」という文字列を戻し、「ホテル」というワードを聞いた場合に「宿泊」というワードを戻すようにSDKに伝えることができる。更に進行して、PCDが「フライト」、「航空便」、「飛行機」、又は「航空機」というワードを聞いた場合に「航空便」という文字列を戻し、「ホテル」、「モーテル」、「部屋」、又は「スイート」を聞いた場合に「宿泊」を戻すようにSDKに伝えることができる。   The logic of the speech rules is as simple as the PCD listens for auditory input and returns string variables based on what you hear (at this point, the speech rules in the SDK are when the PCD hears numbers) Only returns string values if any, support for returning numbers and integers will be coming soon). For example, if you create a string variable that says "booking", and the PCD hears the word "flight," return the string "airmail," and if you hear the word "hotel," it says "stay You can tell the SDK to return the word. Going further, when the PCD hears the words "flight," "airmail," "airplane," or "aircraft," the string "airmail" is returned to "hotel," "motel," " You can tell the SDK to return "Accommodation" if you hear "room" or "suite".

発話規則を設計する時に、(1)達成するのに何が必要であるかをPCDが理解するためにどの変数を戻されるか、及び(2)PCDユーザがこの情報をワードで表現するのに使用する可能性がある異なる方法という2つの事柄を考慮することが重要である。   When designing speech rules, (1) which variables are returned for the PCD to understand what it takes to achieve, and (2) for the PCD user to express this information in words. It is important to consider two things: the different ways it can be used.

一般的に、カスタム発話規則は、以下のようなものに見える。   In general, custom speech rules look like:

TopRule=(   TopRule = (

(phrase to listen for){return_variable=’string’}(傾聴するフレーズ){戻り変数=’文字列’}   (Phrase to listen for) {return_variable = 'string'} (phrase to listen to) {return variable = 'string'}

};   };

又は、例えば、   Or for example

TopRule=(   TopRule = (

reserve me a flight {book=’air’}フライトを予約して{ブッキング=’飛行便’}   reserve me a flight {book = 'air'} Book a flight {booking = 'flight'}

);   );

上述の例では、PCDは、「フライトを予約して」というフレーズに関して傾聴する。PCDが確かにこのフレーズを聞いた場合に、SDKは「航空便」という値を有する「ブッキング」という名称の変数を戻す。しかし、これは非常に有利というわけではない。上記にもう少し複雑さを追加するために規則を拡張する。単に「フライト」に関して傾聴する代わりに、PCDが更に「ホテル」に関して傾聴するというオプションを追加する。コードの中で標準のOR論理を使用することができる。   In the above example, the PCD listens for the phrase "book a flight". If the PCD indeed hears this phrase, the SDK returns a variable named "booking" with the value "airmail". However, this is not very advantageous. Extend the rules to add a little more complexity to the above. Instead of just listening for "flight", the PCD adds an additional option to listen for "hotel". Standard OR logic can be used in the code.

TopRule=(   TopRule = (

reserve me a予約して   reserve me a reserve

flight{book=’air’}|hotel{book=’lodging’}フライト{ブッキング=’飛行便’}|ホテル{ブッキング=’宿泊’}   flight {book = 'air'} | hotel {book = 'lodding'} flight {booking = 'flight'} | hotel {booking = 'accommodation'}

);   );

この時点で、PCDは、「フライト」又は「ホテル」のいずれかに続いて「予約して」に関して傾聴する。   At this point, the PCD listens for "Reserve" followed by either "Flight" or "Hotel".

下記の表は、SDKが上述の規則を用いて様々な発声入力に対して何を戻すことになるかを示している。   The following table shows what the SDK will return for various vocal inputs using the rules described above.

(表)
(table)

Listen挙動及びSucceedOnListen修飾子は、規則ファイルが選択されるファイル引数を取得する。   The Listen behavior and the SuccessOnListen modifier get the file arguments from which the rules file is selected.

図58を参照すると、「.rule」形式のファイルを用いてPCDに対するカスタム傾聴規則を生成する例示的かつ非限定的実施形態が示されている。   Referring to FIG. 58, an exemplary non-limiting embodiment of generating a custom listening rule for a PCD using a file of the “.rule” format is shown.

図59を参照すると、「やあ、PCD」に関して傾聴するようにPCDに伝える例示的かつ非限定的実施形態が示されている。   Referring to FIG. 59, an exemplary non-limiting embodiment of telling the PCD to listen on "Hey PCD" is shown.

図60を参照すると、JavaScriptを用いてPCDに対する動的傾聴規則を生成する例示的かつ非限定的実施形態が示されている。   Referring to FIG. 60, an exemplary non-limiting embodiment of generating dynamic listening rules for PCD using JavaScript is shown.

MIM
自然な言語対話を模倣するために、PCD SDKは、変動性を導入し、エラーを処理し、更に音声ユーザインタフェース(VUI)対話及びグラフィックユーザインタフェース(GUI)対話を調整するための機能を構成する段階及び使用する段階を容易にする。PCD SDKは、開発者から負担を取り除き、技能にわたって一貫性を与えるためにマルチモーダル対話モジュール(MIM)を提供する。名称が示す通りに、MIMは、音声(VUI)モード及びタッチ画面(GUI)モードを含む1よりも多いモードを有する対話を処理する。「この写真を共有したいですか?」のような質問で促された時に、予想されるのは、ユーザが、「イエス」ということ又はPCDのタッチ画面上のボタンを軽く叩くことのいずれかによって答える可能性があるということである。MIM挙動は、MIMタイプ(例えば、質問、告知、及び任意的な応答など)、ユーザの発言を構文解析するのに使用される発話認識、テキスト発話変換(TTS)プロンプト、オーディオ入力が予想されるが受信されない(例えば、ユーザがプロンプトに応答しなかった)場合のプロンプト、及び不整合なプロンプト応答などを含む様々なパラメータにわたって構成された状態機械を含む。マルチモーダル対話モジュール(MIM)は、テキスト発話変換(TTS)挙動を定められた方式でより柔軟にするように設計される。PCD SDK MIMエディタは、TTSプロンプトを発話認識規則ファイル及びAPI入力と整合させることを可能にする。
MIM
To mimic natural language interactions, the PCD SDK introduces variability, handles errors, and configures functions to further coordinate voice user interface (VUI) interactions and graphic user interface (GUI) interactions. Ease the stages and stages of use. The PCD SDK provides a multimodal dialogue module (MIM) to relieve the developer and provide consistency across skills. As the name implies, MIM handles interactions with more than one mode, including voice (VUI) mode and touch screen (GUI) mode. When prompted with a question like "Do you want to share this photo?", What is expected is that the user either "yes" or tap the button on the touch screen of the PCD There is a possibility to answer. MIM behavior is expected to be MIM types (eg, questions, announcements, and optional responses), speech recognition used to parse the user's speech, text-to-speech conversion (TTS) prompts, audio input Includes a state machine configured over various parameters, including prompting when no is received (e.g., the user did not respond to a prompt), and inconsistent prompt response etc. The multimodal dialogue module (MIM) is designed to make text-to-speech transformation (TTS) behavior more flexible in a defined manner. The PCD SDK MIM Editor allows TTS prompts to be aligned with speech recognition rule files and API input.

MIMエディタを描く図61を参照すると、ユーザはMIMを様々な手法で構成することができる。言語対話を自然な感じにするために、MIMは、あらゆる数のプロンプトを用いて構成することができる。MIM挙動は、実行された時に、適切なカテゴリから利用可能なプロンプトのうちの1つを選択する。プロンプトは、ランダムに、又は条件フィールド内に与えられた論理部を用いて選択することができる。   Referring to FIG. 61, which depicts the MIM editor, the user can configure the MIM in various ways. The MIM can be configured with any number of prompts in order to make the language dialogue feel natural. The MIM behavior, when executed, selects one of the available prompts from the appropriate category. The prompt can be selected randomly or using logic provided in the condition field.

例えば、複数の入力コアプロンプトを利用可能なデータに基づいてこれらのプロンプトをフィルタリングする条件フィールドを用いて定めることができる。この例では、PCDが話者を識別しなかった状況に適する2つの入力コアプロンプト(入力−1及び入力−3)がある。これらの場合に、PCDは、2つの一方をランダムに選択することになる。しかし、話者が識別された場合に、PCDは入力−2プロンプトを使用することになる。あらゆるMIMに対して任意の個数のプロンプト+条件を定めることができるので、開発者は、言語対話による対話に多くのプロンプト変動性を追加するための簡単な手法を有する。   For example, multiple input core prompts can be defined using condition fields that filter these prompts based on available data. In this example, there are two input core prompts (input-1 and input-3) that are suitable for situations where the PCD has not identified the speaker. In these cases, the PCD will randomly select one of the two. However, if a speaker is identified, the PCD will use the input-2 prompt. As any number of prompts + conditions can be defined for any MIM, the developer has a simple way to add more prompt variability to the dialog with verbal interaction.

MIM構成においてサンプル発言を定めることにより、PCDは、音声対話に対する代替物として使用することができるグラフィックユーザインタフェース(GUI)を自動的に生成することができる。図61に記載のCheckLights(照明検査)MIMは、「イエス・ノー」規則を用いてユーザの発言を処理する。サンプル発言として「イエス」及び「ノー」を与えることにより、PCDは、その画面上に「イエス」及び「ノー」のタッチ画面ボタンを提供することができる。これらのボタンを軽く叩くことで、「イエス」又は「ノー」と言うのと同じ結果がもたらされる。この例では、Trigger GUI(GUIをトリガ)フィールドへのFailure(失敗)は1に設定される。それにより、NoMatch(不適合)エラーが存在する場合、すなわち、話者がPCDと音声を通してコミュニケーションすることに問題を有する場合にのみGUIを提供することがPCTに伝えられる。この値が0に設定された場合に、PCDはGUIを常に提供することになる。   By defining sample utterances in the MIM configuration, the PCD can automatically generate a graphic user interface (GUI) that can be used as an alternative to speech interaction. The CheckLights (lighting inspection) MIM described in FIG. 61 processes the user's utterance using the “yes-no” rule. By giving "yes" and "no" as sample utterances, the PCD can provide "yes" and "no" touch screen buttons on its screen. Tapping on these buttons has the same effect as saying "yes" or "no". In this example, the Failure to Trigger GUI field is set to one. It is then communicated to the PCT to provide a GUI only if there is a NoMatch error, ie if the speaker has problems communicating with the PCD through speech. If this value is set to 0, the PCD will always provide a GUI.

本明細書に説明する傾聴挙動のように、MIMは、ユーザの発言を構文解析するために発話認識規則を用いて構成される。PCDの自動発話認識(ASR)システムがユーザの発言の転写を戻すと、この転写はPCDの盤上自然言語理解(NLU)構文解析プログラムに渡される。発言のセマンティクス的意味を決定するために、構文解析プログラムは、MIMに関する規則ファイル内に定められたパターンを探す。規則は、複数の応答がMIMの予想に準拠することを可能にする規則構文に準拠することができる。一例では、規則は、「イエス」と言う予想応答が「そうですね」及び「僕はいいよ」などを含むことができるように構成することができる。   As with the listening behavior described herein, the MIM is configured using speech recognition rules to parse the user's speech. When the PCD's Automatic Speech Recognition (ASR) system returns a transcript of the user's utterance, this transcript is passed to the PCD's on-board Natural Language Understanding (NLU) parser. To determine the semantic meaning of the utterance, the parser looks for patterns defined in the rules file for MIM. The rules may conform to a rule syntax that allows multiple responses to conform to the MIM's expectations. In one example, the rules can be configured such that the expected response to say "yes" can include "yes" and "I'm fine" etc.

図62は、MIM規則を編集する段階を容易にするPCD SDKのユーザインタフェースを示している。フレーズを入力フィールド6202内にタイプ入力することにより、規則ペイン6204内の所与の規則に対する結果オブジェクトが結果ペイン6208内に表示される。   FIG. 62 shows the PCD SDK user interface that facilitates the step of editing MIM rules. By typing a phrase into the input field 6202, a result object for a given rule in the rules pane 6204 is displayed in the results pane 6208.

人間対人間の言語対話の場合と全く同じように、PCDとの音声対話は、時として誤解及び認識エラーを含むことになる。MIMは、これらのエラーから可能な限り自然に復帰する。上述のように、MIMは、PCDが、質問を出すが返答の意味を理解することができなかった場合に、PCDが応答するための手法を定める。NoInput(無入力)プロンプト及びNoMatch(不適合)プロンプトを定めることにより、PCDは、質問を問い直す及び/又は表現し直す適切な手法を有する。   Just as in the case of human-human linguistic dialogue, spoken dialogue with PCD will sometimes include misunderstanding and recognition errors. MIM recovers as naturally as possible from these errors. As mentioned above, the MIM defines the way for the PCD to respond if it asks a question but can not understand the meaning of the response. By defining the NoInput and NoMatch prompts, the PCD has an appropriate way to re-query and / or express the question.

PCD SDKはまた、MIMのためのAPIを含む。このAPIは、応答が予想されるが受信されない時の中断を可能にすることができる。MIMの様々な機能を入力文字列、適合文字列、不適合文字列、繰り返し、感謝文字列、及び冗長応答文字列などを含むAPIによって制御することができる。   The PCD SDK also contains an API for MIM. This API can enable interruption when a response is expected but not received. Various features of MIM can be controlled by APIs including input strings, conforming strings, nonconforming strings, repetitions, thank-you strings, and redundant response strings.

フロー
PCDは、フロー実行器活動、MIM活動、及び挙動のような活動から構成される制御フローの使用によって作動させることができる。図63は、PCD SDKの例示的フローエディタを示している。PCD制御フローは、PCD上で実行されるフローエンジンが解釈することができる。PCD SDKは、流れ図様の方式でロボット技能を生成及び編集するためのフローエディタツールを含む。フローは、フローエディタツール内で活動を追加すること及び活動に対する制御によって構成することができる。これらの制御をフロー実行器活動と呼び、これらは、フロー内の活動を制御するのに使用される。フロー実行器活動は、フローを開始する段階、並列フローを実行する段階、フローを終了する段階、別のフローにアクセスする段階、挙動木を実行する段階、フローを中断する段階、スロー及びキャッチを用いてフロー内の方々に飛ぶ段階、任意のJavaScriptを実行する段階、及び類似の段階を行うために使用することができる。フローに追加することができる他の活動は、MIM活動及び挙動活動を含む。フローは、1つの活動の結果を用いて実施される次の活動を決定することを容易にする移行処理を含むことができる。
Flow PCD can be activated by the use of control flows consisting of activities such as flow executor activity, MIM activity, and behavior. FIG. 63 shows an exemplary flow editor for the PCD SDK. The PCD control flow can be interpreted by the flow engine running on the PCD. The PCD SDK includes a flow editor tool for creating and editing robot skills in a flow chart like manner. A flow can be configured by adding activities and controlling on activities within the flow editor tool. These controls are called flow executor activities, which are used to control the activities in the flow. Flow executor activity is: start flow, execute parallel flow, end flow, access another flow, execute behavior tree, interrupt flow, throw and catch It can be used to fly to people in the flow, execute arbitrary JavaScript, and similar steps. Other activities that can be added to the flow include MIM activities and behavioral activities. A flow can include a transition process that facilitates determining the next activity to be performed using the results of one activity.

実施形態では、PCD SDKを用いてPCDを作動させるための技能及びアセットを生成することができる。技能を生成するための基本段階は、SDKユーザインタフェースを用いて新しい技能プロジェクトを開く段階、アニメーションを生成する段階、身体の移動、眼の活動、及びLEDリング照明のような活動を実施するための挙動木を生成する段階、PCDが傾聴するように誘導する発話規則を生成する段階、PCDが発話規則を適用するのに応答してマルチモーダル対話を容易にするための1又は2以上のMIMを生成する段階、PCDの表示画面上に表示するためのGUIメニューを生成する段階、生成されたこれらの要素を活動のコヒーレントな連続フローにまとめ合わせたフローを生成する段階、技能を含む活動のフローが予想通りのものであることをシミュレータを用いて検証する段階、技能をPCDにダウンロードする段階を含む。   In an embodiment, the PCD SDK can be used to generate the skills and assets for operating the PCD. The basic steps to generate the skills are to open a new skills project using the SDK user interface, to generate animation, to perform activities such as body movement, eye activity, and LED ring lighting Generating a behavior tree, generating a speech rule that induces the PCD to listen, one or more MIMs to facilitate multimodal interaction in response to the PCD applying the speech rule Generating, generating a GUI menu for display on the display screen of the PCD, generating a flow combining these generated elements into a coherent continuous flow of activities, flow of activities including skills Using a simulator to verify that is as expected, including downloading the skills to the PCD

挙動エディタは、PCD挙動の階層構造を構成する段階を容易にすることができる。挙動エディタは、ノード、葉、及び親挙動などで構成することができる挙動木構造に基づいてPCDの挙動活動を制御する段階を容易にすることができる。挙動エディタは、挙動を順次及び並列のうちの少なくとも一方で順序付けする階層構造挙動木でPCD挙動を構成する段階を容易にすることができる。挙動木は、PCDがリソース及び意志決定処理を処理するアクションを調整することを容易にするためのPCDの制御シーケンスを含む。挙動エディタは、ユーザが少なくとも1つの知覚システムと、PCDの複数の表現システムのうちの少なくとも1つの表現システムとを制御することを可能にすることができる。挙動木エディタは、無効挙動状態と、進行中挙動状態と、成功挙動状態と、失敗挙動状態とを含む少なくとも4つの異なる挙動状態に基づいてPCD挙動を制御することを容易にすることができる。無効挙動状態は、特定の挙動が依然として始まっていないことを示すことができる。進行中挙動状態は、PCDが特定の挙動を能動的に実施していることを示すことができる。成功挙動状態は、挙動が成功したという決定に基づいてPCDが特定の挙動を実施する段階を完了したことを示すことができる。失敗挙動状態は、挙動が不成功であったという決定に基づいてPCDが特定の挙動を実施する段階を完了したことを示すことができる。挙動エディタは、挙動の階層的にPCD挙動を定める挙動木の機能要素として、より低いレベルの挙動を持たない葉挙動を構成することを容易にすることができる。挙動エディタは、親挙動と子挙動との組合せであるPCD挙動セットを構成することを容易にすることができ、この場合に、子挙動は対応する親挙動の完了後にPCDによって実施される。親挙動は、1又は2以上の子挙動を個々に定められたシーケンス又は並列等を用いて実施するように挙動エディタを用いて構成することができる。子挙動は、順次子挙動実行、並列子挙動実行、切り換え子挙動実行、及びランダム子挙動実行のうちの少なくとも1つに基づいて挙動木内の親挙動が選択することができる。挙動エディタは、それ自体によって構成中のPCD挙動に対して少なくとも1つの挙動修飾子を構成することを容易にすることができる。挙動修飾子は、PCDに対して効果を与えて対応する挙動の状態を変更することができる。PCD SDKは、技能がPCD上で実行される時にユーザが挙動エディタを用いて構成した挙動木特性に基づいて関連の挙動内の挙動が実行されるように挙動木を構成してPCD技能に関連付けられたことを可能にするユーザインタフェースを含むことができる。挙動エディタは、PCD SDKの挙動ツールスイートを含むことができる。PCD SDKの挙動ツールスイートは、挙動エディタを含むことができる。挙動エディタは、挙動を生成する段階、定める段階、構成する段階、模倣する段階、改修する段階、及びPCDに配備する段階のうちの少なくとも1つに適応された複数の挙動ユーザインタフェースを含むことができる。   The behavior editor can facilitate the steps of constructing a hierarchical structure of PCD behavior. The behavior editor can facilitate controlling the behavior activity of the PCD based on a behavior tree structure that can be composed of nodes, leaves, parent behaviors, etc. The behavior editor can facilitate constructing the PCD behavior with a hierarchical behavior tree that orders the behavior in at least one of sequential and parallel. The behavior tree contains the control sequence of the PCD to facilitate the PCD's coordination of resource and action processing decision processing. The behavior editor may allow the user to control at least one perception system and at least one representation system of the plurality of representation systems of the PCD. The behavior tree editor can facilitate controlling PCD behavior based on at least four different behavior states, including an invalid behavior state, an ongoing behavior state, a success behavior state, and a failure behavior state. An invalid behavior state can indicate that a particular behavior has not yet begun. The on-going behavior state can indicate that the PCD is actively performing a particular behavior. The successful behavior state can indicate that the PCD has completed the stage of performing a particular behavior based on the determination that the behavior was successful. The failure behavior state can indicate that the PCD has completed the stage of performing a particular behavior based on the determination that the behavior was unsuccessful. The behavior editor can facilitate constructing leaf behavior without lower level behavior as a functional element of a behavior tree that defines PCD behavior hierarchically of behavior. The behavior editor can facilitate constructing a PCD behavior set that is a combination of parent behavior and child behavior, where child behavior is performed by the PCD after completion of the corresponding parent behavior. The parent behavior can be configured using the behavior editor to implement one or more child behaviors using individually defined sequences or parallels and the like. The child behavior can be selected from parent behaviors in the behavior tree based on at least one of sequential behavior execution, parallel behavior execution, switching behavior execution, and random behavior execution. The behavior editor can facilitate constructing at least one behavior modifier for the PCD behavior being configured by itself. Behavior modifiers can affect the PCD to change the state of the corresponding behavior. The PCD SDK constructs a behavior tree and associates it with the PCD skills so that the behavior within the relevant behavior is executed based on the behavior tree characteristics that the user configured with the behavior editor when the skills are run on the PCD It can include a user interface that allows for being done. The behavior editor can include the behavior tool suite of the PCD SDK. The behavior tool suite of the PCD SDK can include a behavior editor. The behavior editor may include a plurality of behavior user interfaces adapted to at least one of generating, defining, configuring, imitating, modifying, and deploying to a PCD. it can.

PCD SDKのアニメーションツールスイートは、複数の可動セグメントから構成される多軸身体、光源、表示画面、及びオーディオ出力システムのうちの少なくとも1つを含むPCDのアセットを制御することを容易にするようになったアニメーションエディタを含むことができる。アニメーションエディタは、アニメーションアクション間の移行中にPCDアセットを制御することを容易にすることができる。アニメーションエディタは、特定のアニメーションビルダモジュールから導出された少なくとも1つのアニメーションインスタンスのPCDプロセッサによる実行をもたらすアニメーションビルダに基づくPCDアニメーションアクションセットを構成することを容易にすることができる。もたらされた少なくとも1つのアニメーションインスタンスは、PCDのアセットを制御する。アセットのうちの少なくとも1つのものの制御は、当該アニメーションインスタンスがPCD上で実行されている間に、限定的にこのアニメーションインスタンスによって制御される。PCD SDKのアニメーションツールスイートは、PCDの実行シーケンス内でアニメーションビルダをインスタンス化することができる。アニメーションツールスイートは、PCDの複数の自由度を制御するためのアクセスを与えることができ、各自由度は、PCTのアクション可能物理態様に関連付けられる。PCDの自由度は、PCDの1又は2以上の可動身体セグメントに関連付けることができる。PCDの自由度は、PCDの電子表示画面に関連付けることができる。PCDの自由度は、PCDの1又は2以上の身体セグメント上に配置された照明リングのような光源に関連付けることができる。PCDの自由度は、PCDの電子ディスプレイ上に表示される模式化した眼を含むことができる。アニメーションツールスイートは、PCDの1又は2以上の自由度をアニメーションインスタンスに割り当てるのを容易にすることができる。アニメーションツールスイートは、別個のアニメーションインスタンス間のPCDの自由度の制御を変更することを容易にすることができる。アニメーションツールスイートは、PCDの1又は2以上の自由度のアニメーションの速度及び対話などの制御を容易にすることができる。PCDの自由度を制御するためのアニメーションツールスイートは、アニメーション開始事象、アニメーション停止事象、及びアニメーションキャンセル事象を含むアニメーションインスタンスに関する事象に基づいてアニメーション制御を容易にすることができる。PCD SDKのアニメーションツールスイートは、コンピュータデバイスの電子ディスプレイ上に表示され、PCDの表現的凝視アニメーションの制御を容易にすることができるユーザインタフェース制御要素を含むことができる。表現的凝視アニメーションは、3次元空間内でPCDに対して定めることができる凝視点への単一移動として実施することができる。これに代えて、表現的凝視アニメーションは、PCDが凝視ゴールを連続的に凝視するようにアニメ化することを容易にする凝視ターゲット追跡を用いて連続的な移動として実施することができる。アニメーションツールスイートに関するもののようなPCD SDKのアニメーションエディタは、PCDの視覚表現が内部に示される身体ペインと、PCDの電子表示画面上に表示される眼の視覚表現が内部に示される眼ペインと、アニメーションアクションがアニメーション及び移行などのタイムラインとして内部に示されるタイムラインペインとを含むことができる。   The PCD SDK's animation tool suite facilitates controlling PCD assets that include at least one of a multi-axis body consisting of multiple moveable segments, a light source, a display screen, and an audio output system. Can include an animated editor. The animation editor can facilitate controlling PCD assets during transitions between animation actions. The animation editor can facilitate constructing a PCD animation action set based on an animation builder that results in execution by the PCD processor of at least one animation instance derived from a particular animation builder module. The resulting at least one animation instance controls the assets of the PCD. Control of at least one of the assets is controlled exclusively by this animation instance while the animation instance is running on the PCD. The animation tool suite of the PCD SDK can instantiate animation builders within the PCD's execution sequence. The animation tool suite can provide access to control multiple degrees of freedom of the PCD, each degree of freedom being associated with an actionable physical aspect of the PCT. The degree of freedom of the PCD can be associated with one or more movable body segments of the PCD. The PCD's degree of freedom can be associated with the PCD's electronic display screen. The degree of freedom of the PCD can be associated with a light source such as a lighting ring disposed on one or more body segments of the PCD. The PCD's degrees of freedom can include the scheming eye displayed on the PCD's electronic display. The animation tool suite may facilitate assigning one or more degrees of freedom of the PCD to animation instances. The animation tool suite can facilitate changing control of PCD degrees of freedom between separate animation instances. The animation tool suite may facilitate control of the speed and interaction of the PCD with one or more degrees of animation in one or more degrees of freedom. An animation tool suite for controlling PCD degrees of freedom can facilitate animation control based on events related to animation instances, including animation start events, animation stop events, and animation cancellation events. The animation tool suite of the PCD SDK can include user interface control elements that can be displayed on the electronic display of the computing device to facilitate control of the PCD's expressive gaze animation. Expressive gaze animation can be implemented as a single move to a fixation point that can be defined for the PCD in three-dimensional space. Alternatively, expressive gaze animation can be implemented as a continuous move using gaze target tracking, which facilitates PCD to animate the gaze goal continuously. The animation editor of the PCD SDK, such as for the animation tool suite, has a body pane in which the visual representation of the PCD is shown and an eye pane in which the visual representation of the eye shown on the electronic display screen of the PCD is An animation action can include a timeline pane shown internally as a timeline, such as animation and transitions.

PCDと人間参加者間の対話中に変動性及び処理エラーなどを導入するためのマルチモーダル対話モジュール(MIM)エディタは、1よりも多い対話モードを制御することを容易にすることができる。MIMエディタは、発声応答、触覚入力、及び応答欠如などのような知覚された条件に応答してPCDによって生成される複数のマルチモーダルプロンプトを構成することを容易にすることができる。MIMエディタは、人間及び別のPCDなどのような参加者との対話中にマルチモーダル応答を制御することを容易にする。MIMエディタは、PCDによって出力されるオーディオと調和するようにPCDの表示画面を制御することを容易にすることができ、表示画面は、触覚入力を受信してこの入力を表示画面上の視覚提示に基づいて複数の応答オプションのうちの1つに関連付けられるように適応される。MIMエディタは、PCDの自然言語理解プロセッサがPCDの近くにいる人間からの発言をどのように解釈するかを制御することができる発話認識規則を構成することを容易にすることができる。MIMエディタは、フレーズ入力フィールドと、結果オブジェクト表示ペインと、発話認識規則ペインとを含むことができるユーザインタフェースを含むことができる。MIMエディタは、PCDが取るべき不適合アクション及び無入力アクションのユーザ構成を可能にすることによってエラー又は応答の無認識からの復帰を更に容易にすることができる。   A multimodal dialogue module (MIM) editor for introducing variability and processing errors etc. during dialogue between PCD and human participants can facilitate controlling more than one dialogue mode. The MIM editor can facilitate constructing a plurality of multimodal prompts generated by the PCD in response to perceived conditions such as vocal responses, tactile input, and lack of response. The MIM editor facilitates controlling multimodal responses while interacting with participants such as humans and other PCDs. The MIM editor can facilitate controlling the display screen of the PCD to match the audio output by the PCD, and the display screen receives tactile input and presents this input visually on the display screen Are adapted to be associated with one of a plurality of response options based on. The MIM editor can facilitate constructing speech recognition rules that can control how the natural language understanding processor of the PCD interprets speeches from people near the PCD. The MIM editor can include a user interface that can include a phrase input field, a result object display pane, and a speech recognition rules pane. The MIM editor can further facilitate recovery from errors or unrecognized responses by allowing the user configuration of nonconforming actions and no input actions that the PCD should take.

本明細書に説明する方法及びシステムは、プロセッサ上でコンピュータソフトウエア、プログラムコード、及び/又は命令を実行する機械を部分的又は全体的に通じて配備することができる。プロセッサは、サーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピュータプラットフォーム、据え置きコンピュータプラットフォーム、又は他のコンピュータプラットフォームの一部とすることができる。プロセッサは、プログラム命令、コード、及びバイナリ命令などを実行することができるあらゆるタイプの計算デバイス又は処理デバイスとすることができる。プロセッサは、信号プロセッサ、デジタルプロセッサ、埋め込みプロセッサ、マイクロプロセッサ、又は格納されたプログラムコード又はプログラム命令の実行を直接的又は間接的に容易にすることができるコプロセッサ(数値演算コプロセッサ、グラフィックコプロセッサ、及び通信コプロセッサなど)のような変形などとするか又はこれらを含むことができる。更に、プロセッサは、複数のプログラム、スレッド、及びコードの実行を可能にすることができる。スレッドは、プロセッサの性能を改善し、アプリケーションの同時作動を容易にするために同時に実行することができる。実施により、本明細書に説明する方法、プログラムコード、及びプログラム命令などは、1又は2以上のスレッドに実施することができる。スレッドは、関連の優先度が割り当てられたものとすることができ、プロセッサは、優先度に基づいて、又はプログラムコード内に与えられた命令に基づくいずれかの他の順序に基づいてこれらのスレッドを実行することができる。プロセッサは、本明細書及び他の箇所で説明する方法、コード、命令、及びプログラムを格納するメモリを含むことができる。プロセッサは、本明細書及び他の箇所で説明する方法、コード、及び命令を格納することができるストレージ媒体にインタフェースを通してアクセス可能である。コンピュータデバイス又は処理デバイスによって実行することができる方法、プログラム、コード、プログラム命令、又は他のタイプの命令を格納するためのプロセッサに関連付けられたストレージ媒体は、CD−ROM、DVD、メモリ、ハードディスク、フラッシュドライブ、RAM、ROM、及びキャッシュなどのうちの1又は2以上を含むことができるがこれらに限定されない。   The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program code, and / or instructions on a processor. The processor may be part of a server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platform. A processor may be any type of computing or processing device capable of executing program instructions, code, binary instructions and the like. The processor may be a signal processor, a digital processor, an embedded processor, a microprocessor, or a co-processor capable of facilitating, directly or indirectly, the execution of stored program code or program instructions (numerical arithmetic co-processor, graphic co-processor And communication co-processors etc.) or the like. Further, a processor can enable execution of multiple programs, threads, and code. Threads can be run simultaneously to improve processor performance and facilitate simultaneous operation of applications. Depending upon the implementation, the methods, program code, program instructions, etc. described herein may be implemented on one or more threads. The threads may be assigned associated priorities, and the processor may use these threads based on the priorities or any other order based on the instructions given in the program code. Can be performed. The processor may include memory that stores the methods, code, instructions, and programs described herein and elsewhere. The processor is accessible through the interface to a storage medium capable of storing the methods, codes and instructions described herein and elsewhere. A storage medium associated with the processor for storing a method, program, code, program instruction or other type of instruction that can be executed by a computer device or processing device includes a CD-ROM, a DVD, a memory, a hard disk, One or more of flash drive, RAM, ROM, cache, etc. may be included, but is not limited thereto.

プロセッサは、マルチプロセッサの速度及び性能を改善することができる1又は2以上のコアを含むことができる。実施形態では、プロセッサは、2又は3以上の独立したコア(ダイと呼ばれる)を組み合わせたデュアルコアプロセッサ、クアッドコアプロセッサ、及び他のチップレベルマルチプロセッサなどとすることができる。   The processor can include one or more cores that can improve multiprocessor speed and performance. In embodiments, the processor may be a dual core processor combining two or more independent cores (referred to as dies), a quad core processor, and other chip level multiprocessors, and the like.

本明細書に説明する方法及びシステムは、サーバ、クライアント、ファイアウォール、ゲートウェイ、ハブ、ルータ、又は他のそのようなコンピュータ及び/又はネットワーキングハードウエア上でコンピュータソフトウエアを実行する機械を部分的又は全体的に通じて配備することができる。ソフトウエアプログラムは、ファイルサーバ、印刷サーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、及び他の変形、例えば、2次サーバ、ホストサーバ、及び分散サーバなどを含むことができるサーバに関連付けられる場合がある。サーバは、メモリ、プロセッサ、コンピュータ可読媒体、ストレージ媒体、ポート(物理的及び仮想的)、通信デバイス、及び有線又は無線の媒体を通して他のサーバ、クライアント、機械、及びデバイスにアクセス可能なインタフェース、並びに類似のもののうちの1又は2以上を含むことができる。本明細書に説明する方法、プログラム、又はコードは、サーバを実行することができる。これに加えて、本出願で説明する方法の実行に必要とされる他のデバイスは、サーバに関連付けられたインフラストラクチャの一部と考えることができる。   The methods and systems described herein may partially or wholly execute machines running computer software on servers, clients, firewalls, gateways, hubs, routers, or other such computers and / or networking hardware. Can be deployed through Software programs may be associated with servers that may include file servers, print servers, domain servers, Internet servers, intranet servers, and other variations, such as secondary servers, host servers, distributed servers, etc. . A server is an interface accessible to other servers, clients, machines, and devices through memory, processor, computer readable media, storage media, ports (physical and virtual), communication devices, and wired or wireless media, and One or more of the similar ones can be included. The methods, programs, or code described herein may execute a server. Additionally, other devices needed to perform the methods described in this application can be considered as part of the infrastructure associated with the server.

サーバは、クライアント、他のサーバ、プリンタ、データベースサーバ、印刷サーバ、ファイルサーバ、通信サーバ、及び分散サーバなどを限定なく含む他のデバイスにインタフェースを提供することができる。これに加えて、この結合及び/又は接続は、ネットワーク上のプログラムのリモート実行を容易にすることができる。これらのデバイスの一部又は全てのネットワーキングは、1又は2以上の場所でのプログラム又は方法の並列処理を本範囲から逸脱することなく容易にすることができる。これに加えて、インタフェースを通してサーバに取り付けられたデバイスのうちのいずれかは、方法、プログラム、コード、及び/又は命令を格納することができる少なくとも1つのストレージ媒体を含むことができる。中央リポジトリは、異なるデバイス上で実行されることになるプログラム命令を提供することができる。この実施では、リモートリポジトリは、プログラムコード、命令、及びプログラムに対するストレージ媒体として機能することができる。   A server can provide an interface to other devices, including without limitation clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. Additionally, this coupling and / or connection can facilitate remote execution of programs on the network. Networking of some or all of these devices can facilitate parallel processing of programs or methods in one or more locations without departing from the scope. Additionally, any of the devices attached to the server through the interface may include at least one storage medium capable of storing methods, programs, code, and / or instructions. The central repository can provide program instructions that will be executed on different devices. In this implementation, the remote repository can serve as a storage medium for program code, instructions, and programs.

ソフトウエアプログラムは、ファイルクライアント、印刷クライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、並びに他の変形、例えば、2次クライアント、ホストクライアント、及び分散クライアントなど含むことができるクライアントに関連付けることができる。クライアントは、メモリ、プロセッサ、コンピュータ可読媒体、ストレージ媒体、ポート(物理的及び仮想的)、通信デバイス、及び有線又は無線の媒体を通して他のクライアント、サーバ、機械、及びデバイスにアクセス可能なインタフェース、並びに類似のもののうちの1又は2以上を含むことができる。本明細書に説明する方法、プログラム、又はコードは、サーバを実行することができる。これに加えて、本出願で説明する方法の実行に必要とされる他のデバイスは、クライアントに関連付けられたインフラストラクチャの一部と考えることができる。   Software programs can be associated with clients that can include file clients, print clients, domain clients, Internet clients, intranet clients, and other variations, such as secondary clients, host clients, distributed clients, and the like. Clients can access other clients, servers, machines, and devices through memory, processor, computer readable media, storage media, ports (physical and virtual), communication devices, and wired or wireless media, and One or more of the similar ones can be included. The methods, programs, or code described herein may execute a server. In addition to this, other devices needed to perform the method described in this application can be considered as part of the infrastructure associated with the client.

クライアントは、サーバ、他のクライアント、プリンタ、データベースサーバ、印刷サーバ、ファイルサーバ、通信サーバ、及び分散サーバなどを限定なく含む他のデバイスにインタフェースを提供することができる。これに加えて、この結合及び/又は接続は、ネットワーク上のプログラムのリモート実行を容易にすることができる。これらのデバイスの一部又は全てのネットワーキングは、1又は2以上の場所でのプログラム又は方法の並列処理を本範囲から逸脱することなく容易にすることができる。これに加えて、インタフェースを通してクライアントに取り付けられたデバイスのうちのいずれかは、方法、プログラム、アプリケーション、コード、及び/又は命令を格納することができる少なくとも1つのストレージ媒体を含むことができる。中央リポジトリは、異なるデバイス上で実行されることになるプログラム命令を提供することができる。この実施では、リモートリポジトリは、プログラムコード、命令、及びプログラムに対するストレージ媒体として機能することができる。   The client can provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. Additionally, this coupling and / or connection can facilitate remote execution of programs on the network. Networking of some or all of these devices can facilitate parallel processing of programs or methods in one or more locations without departing from the scope. Additionally, any of the devices attached to the client through the interface can include at least one storage medium capable of storing methods, programs, applications, code, and / or instructions. The central repository can provide program instructions that will be executed on different devices. In this implementation, the remote repository can serve as a storage medium for program code, instructions, and programs.

本明細書に説明する方法及びシステムは、ネットワークインフラストラクチャを部分的又は全体的に通じて配備することができる。ネットワークインフラストラクチャは、コンピュータデバイス、サーバ、ルータ、ハブ、ファイアウォール、クライアント、パーソナルコンピュータ、通信デバイス、経路指定デバイス、並びに当業技術で公知の他の能動的及び受動的なデバイス、モジュール、及び/又は構成要素のような要素を含むことができる。ネットワークインフラストラクチャに関連付けられたコンピュータデバイス及び/又は非コンピュータデバイスは、他の構成要素はともかく、フラッシュメモリ、バッファ、スタック、RAM、及びROMなどのようなストレージ媒体を含むことができる。本明細書及び他の箇所で説明する処理、方法、プログラムコード、命令は、ネットワークインフラストラクチャ要素のうちの1又は2以上を実行することができる。   The methods and systems described herein can be deployed in part or in whole through the network infrastructure. The network infrastructure may be computer devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices, and other active and passive devices, modules, and / or known in the art. It can include elements such as components. Computer devices and / or non-computer devices associated with the network infrastructure may include storage media such as flash memory, buffers, stacks, RAM, and ROM etc, aside from other components. The processes, methods, program code, instructions described herein and elsewhere may execute one or more of the network infrastructure elements.

本明細書及び他の箇所で説明する方法、プログラムコード、及び命令は、複数のセルを有するセルラーネットワーク上に実施することができる。セルラーネットワークは、周波数分割多重アクセス(FDMA)ネットワーク又はコード分割多重アクセス(CDMA)ネットワークのいずれかとすることができる。セルラーネットワークは、モバイルデバイス、セルサイト、基地局、リピータ、アンテナ、及び電波塔などを含むことができる。セルネットワークは、GSM(登録商標)、GPRS、3G、EVDO、メッシュ、又は他のネットワークタイプとすることができる。   The methods, program codes and instructions described herein and elsewhere may be implemented on a cellular network having a plurality of cells. The cellular network may be either a frequency division multiple access (FDMA) network or a code division multiple access (CDMA) network. A cellular network can include mobile devices, cell sites, base stations, repeaters, antennas, radio towers, and the like. The cell network may be GSM (registered trademark), GPRS, 3G, EVDO, mesh or other network type.

本明細書及び他の箇所で説明する方法、プログラムコード、及び命令は、モバイルデバイス上又はそれを通して実施することができる。モバイルデバイスは、ナビゲーションデバイス、セル電話、携帯電話、モバイル携帯情報端末、ラップトップ、パームトップ、ネットブック、ポケットベル、電子書籍リーダ、及び音楽プレーヤなどを含むことができる。これらのデバイスは、他の構成要素はともかく、フラッシュメモリ、バッファ、RAM、ROM、及び1又は2以上のコンピュータデバイスのようなストレージ媒体を含むことができる。モバイルデバイスに関連付けられた」コンピュータデバイスは、そこに格納されたプログラムコード、方法、及び命令を実行するように使用可能にすることができる。これに代えて、モバイルデバイスは、他のデバイスと協働して命令を実行するように構成することができる。モバイルデバイスは、サーバとインタフェースで接続されてプログラムコードを実行するように構成された基地局と通信することができる。モバイルデバイスは、ピアツーピアネットワーク、メッシュネットワーク、又は他の通信ネットワーク上で通信することができる。プログラムコードは、サーバに関連付けられたストレージ媒体上に格納され、サーバ内に埋め込まれたコンピュータデバイスを実行することができる。基地局は、コンピュータデバイスとストレージ媒体とを含むことができる。ストレージデバイスは、基地局に関連付けられたコンピュータデバイスによって実行されるプログラムコード及び命令を格納することができる。   The methods, program codes, and instructions described herein and elsewhere may be implemented on or through a mobile device. Mobile devices can include navigation devices, cell phones, cell phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic book readers, music players, and the like. These devices, aside from other components, can include storage media such as flash memory, buffers, RAM, ROM, and one or more computing devices. A computing device "associated with a mobile device can be enabled to execute program code, methods and instructions stored thereon. Alternatively, the mobile device can be configured to cooperate with other devices to execute instructions. The mobile device can be in communication with a base station interfaced with the server and configured to execute the program code. Mobile devices may communicate over peer-to-peer networks, mesh networks, or other communication networks. The program code may be stored on a storage medium associated with the server and may execute a computing device embedded in the server. A base station can include a computing device and a storage medium. The storage device may store program code and instructions to be executed by a computing device associated with a base station.

コンピュータソフトウエア、プログラムコード、及び/又は命令は、計算に使用されるデジタルデータをある程度の時間間隔にわたって保持するコンピュータ構成要素、デバイス、及び記録媒体と、ランダムアクセスメモリ(RAM)として公知の個体ストレージと、光ディスク、ハードディスクのような磁気ストレージ形態、テープ、ドラム、カード、及び他のタイプのもののような一般的により永続的な格納のための大容量ストレージと、プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリと、CD、DVDのような光ストレージと、フラッシュメモリ(例えば、USBスティック又はUSBキー)、フロッピーディスク、磁気テープ、紙テープ、パンチカード、独立型RAMディスク、Zipドライブ、着脱可能大容量ストレージ、及びオフラインなどのような着脱可能媒体と、動的メモリ、静的メモリ、読取/書込ストレージ、可変ストレージ、読取専用メモリ、ランダムアクセスメモリ、シーケンシャルアクセスメモリ、位置アドレス可能メモリ、ファイルアドレス可能メモリ、コンテンツアドレス可能メモリ、ネットワークアタッチトストレージ、ストレージエリアネットワーク、バーコード、及び磁気インクなどのような他のコンピュータメモリとを含むことができる機械可読媒体上に格納され、及び/又は上でアクセス可能である。   Computer software, program code, and / or instructions are computer components, devices, and recording media for holding digital data used in calculations for a certain time interval, and individual storage known as random access memory (RAM) And mass storage for generally more permanent storage such as optical storage systems such as optical disks and hard disks, tapes, drums, cards and other types, processor registers, cache memory, volatile memory , Non-volatile memory, optical storage such as CD, DVD, flash memory (eg USB stick or USB key), floppy disk, magnetic tape, paper tape, punch card, stand-alone RAM disk, Zip drive, removable Capacity storage, removable media such as offline, dynamic memory, static memory, read / write storage, variable storage, read only memory, random access memory, sequential access memory, location addressable memory, file address Stored on and / or on a machine readable medium which may include other memory such as possible memory, content addressable memory, network attached storage, storage area network, bar codes and magnetic ink etc. It is accessible.

本明細書に説明する方法及びシステムは、物理的な及び/又は無形の品目を1つの状態から別の状態に変換することができる。本明細書に説明する方法及びシステムは、物理的な及び/又は無形の品目を表すデータを1つの状態から別の状態に変換することができる。   The methods and systems described herein can convert physical and / or intangible items from one state to another. The methods and systems described herein can convert data representing physical and / or intangible items from one state to another.

図を通した流れ図及びブロック図内のものを含む本明細書で記載して描く要素は、これらの要素間の論理境界の意味を包含している。しかし、ハードウエア工学の慣例により、描く要素及びその機能は、プロセッサにモノリシックソフトウエア構造として、独立型ソフトウエアモジュールとして、又は外部のルーチン、コード、サービス、及びその他を使用するモジュールとして、又はこれらのあらゆる組合せとして格納されたプログラム命令を実行することができるプロセッサを有するコンピュータ実行可能媒体を通して機械上に実施することができ、全てのそのような実施が本発明の開示の範囲にあるとすることができる。そのような機械の例は、携帯情報端末、ラップトップ、パーソナルコンピュータ、携帯電話、他の手持ち式コンピュータデバイス、医療機器、有線又は無線の通信デバイス、変換器、チップ、計算機、衛星、タブレットPC、電子書籍、ガジェット、電子デバイス、人工知能を有するデバイス、コンピュータデバイス、ネットワーキング機器、サーバ、及びルータなど含むことができるがこれらに限定されない。更に、流れ図及びブロック図内に示す要素又はいずれかの他の論理構成要素は、プログラム命令を実行することができる機械上に実施することができる。すなわち、上述の図面及び説明は本発明の開示のシステムの機能態様を示すが、明示的に述べない限り又は他に状況から明確でない限り、これらの機能態様を実施するための特定のソフトウエア編成をこれらの説明から推定すべきではない。同じく、上記で指定して説明した様々な段階は変更することができ、段階の順序は、本明細書に開示する技術の特定の用途に適応させることができることは認められるであろう。全てのそのような変形及び修正は、本発明の開示の範囲に収まるように意図している。従って、特定の用途によって必要とされない限り、又は明示的に述べない限り、又は他に状況から明確でない限り、様々な段階に対する順序の描画及び/又は説明は、これらの段階に対する特定の実行順序を必要とするものと理解すべきではない。   The elements described and depicted herein, including those within the flow diagrams and block diagrams, encompass the meaning of the logical boundaries between these elements. However, according to the convention of hardware engineering, the depicted elements and their functions may be presented to the processor as a monolithic software structure, as a stand-alone software module, or as a module using external routines, code, services, and the like, or Be implemented on a machine through a computer-executable medium having a processor capable of executing program instructions stored in any combination of, and all such implementations are within the scope of the present disclosure. Can. Examples of such machines are personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical devices, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, It can include, but is not limited to, electronic books, gadgets, electronic devices, devices with artificial intelligence, computing devices, networking devices, servers, routers, and the like. Additionally, the elements shown in the flowcharts and block diagrams or any other logical components may be implemented on a machine capable of executing program instructions. That is, while the above-described drawings and description depict functional aspects of the disclosed system of the present invention, specific software arrangements for implementing those functional aspects unless explicitly stated or otherwise apparent from the context Should not be inferred from these explanations. Also, it will be appreciated that the various steps specified and described above may be varied, and the order of steps may be adapted to the particular application of the technology disclosed herein. All such variations and modifications are intended to fall within the scope of the present disclosure. Thus, unless the context requires otherwise, or explicitly stated, or otherwise apparent from the context, the drawing and / or explanation of the order for the various stages refers to the specific order of execution for these stages. It should not be understood as necessary.

上述した方法及び/又は処理、並びにその段階は、特定の用途に適するソフトウエア、ハードウエア、又はソフトウエアとハードウエアのあらゆる組合せで実現することができる。ハードウエアは、汎用コンピュータ及び/又は専用コンピュータデバイス、又は特定のコンピュータデバイス又は特定のコンピュータデバイスの特定の態様又は構成要素を含むことができる。処理は、1又は2以上のマイクロプロセッサ、マイクロコントローラ、埋め込みマイクロコントローラ、プログラム可能デジタル信号プロセッサ、又は他のプログラム可能デバイス、並びに内部及び/又は外部のメモリに実現することができる。同じく又は代わりに、処理は、特定用途向け集積回路、プログラム可能ゲートアレイ、プログラム可能アレイ論理部、又は電子信号を処理するように構成することができるいずれかの他のデバイス又はデバイスの組合せに具現化することができる。処理のうちの1又は2以上は、機械可読媒体上で実行することができるコンピュータ実行可能コードとして実現することができることが更に認められるであろう。   The methods and / or processes described above, as well as the steps thereof, may be implemented in software, hardware or any combination of software and hardware suitable for a particular application. The hardware may include a general purpose computer and / or a special purpose computing device, or a specific computing device or a specific aspect or component of a specific computing device. Processing may be implemented in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors, or other programmable devices, and internal and / or external memory. Also or alternatively, the processing may be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that can be configured to process electronic signals. Can be It will further be appreciated that one or more of the processes can be implemented as computer executable code that can be executed on a machine readable medium.

コンピュータ実行可能コードは、上述のデバイス、並びにプロセッサ、プロセッサアーキテクチャの異種組合せ、又は様々なハードウエアとソフトウエアとの組合せ、又はプログラム命令を実行することができる他の機械のうちの1つの上で実行されるように格納され、コンパイル実行又は変換機実行することができるCのような構造化プログラミング言語、C++のようなオブジェクト指向プログラミング言語、又はいずれかの他の高レベル又は低レベルのプログラミング言語(アセンブリ言語、ハードウエア説明言語、並びにデータベースプログラミングの言語及び技術を含む)を用いて生成することができる。   Computer-executable code may be found on any of the above-described devices, as well as processors, heterogeneous combinations of processor architectures, or a combination of various hardware and software, or any other machine capable of executing program instructions. A structured programming language such as C, an object oriented programming language such as C ++, or any other high or low level programming language that can be stored and executed to be compiled and executed It can be generated using (including assembly language, hardware description language, and database programming languages and techniques).

すなわち、一態様では、上述した各方法及びその組合せは、1又は2以上のコンピュータデバイス上で実行された時にこれらの方法の段階を実施するコンピュータ実行可能コードに具現化することができる。別の態様では、これらの方法は、その段階を実施するためのシステムに具現化することができ、複数のデバイスにわたっていくつかの方法で分散させることができ、又は機能の全てを専用独立型デバイス又は他のハードウエア内に統合することができる。別の態様では、上述した処理に関する段階を実施するための手段は、上述したハードウエア及び/又はソフトウエアのうちのいずれかを含むことができる。全てのそのような組み替え及び組合せは、本発明の開示の範囲に収まるように意図している。   That is, in one aspect, each of the above-described methods and combinations thereof may be embodied in computer-executable code that, when executed on one or more computing devices, perform the steps of these methods. In another aspect, these methods can be embodied in a system for performing the steps, can be distributed in several ways across multiple devices, or all of the functions are dedicated stand-alone devices Or can be integrated into other hardware. In another aspect, the means for performing the process steps described above may include any of the hardware and / or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.

本明細書に説明した方法及びシステムは、詳細に図示して説明したある一定の好ましい実施形態に関して開示したが、当業者には、これらの実施形態に対する様々な修正及び改善が直ちに明らかになるであろう。従って、本明細書に説明する方法及びシステムの精神及び範囲は、上述の例によって限定されないものとし、むしろ法律によって許される最も広義の意味で理解されるものとする。   Although the methods and systems described herein have been disclosed with respect to certain preferred embodiments as shown and described in detail, various modifications and improvements to these embodiments will be readily apparent to those skilled in the art. I will. Accordingly, the spirit and scope of the methods and systems described herein should not be limited by the above examples, but rather be understood in the broadest sense permitted by law.

本明細書で引用する全ての文献は、これにより引用によって組み込まれる。   All documents cited herein are hereby incorporated by reference.

2702 挙動エディタ
2704 PCDソフトウエア開発者キット(SDK)
2706 アニメーションエディタ
2702 Behavior Editor 2704 PCD Software Developer Kit (SDK)
2706 Animation Editor

Claims (14)

永続的コンパニオンデバイス(PCD)に対する技能を開発するためのシステムであって、
前記PCDによって実行可能である技能を生成するのに利用可能な1又は2以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも1つを可能にするように構成されてプロセッサ上で実行されるアプリケーションプログラミングインタフェース(API)を通じてアクセス可能なアセット開発ライブラリと、
前記開発者によって定められた少なくとも1つの入力に応答して前記PCDによって実行可能である前記技能に関して電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも2つを含む該PCDの1又は2以上の物理要素の作動が該開発者によってそれを通じて指定される1又は2以上のAPIを有して前記プロセッサ上で実行されるアニメーションツールスイートと、
前記技能に関する前記PCDの1又は2以上の挙動シーケンスを指定するために前記プロセッサ上で実行される挙動エディタと、
前記技能を実行するための実行エンジンに該技能を配備するために前記プロセッサ上で実行される技能配備設備と、
を含むことを特徴とするシステム。
A system for developing skills for a persistent companion device (PCD),
Allows at least one of: a developer to discover, create, edit and access one or more content assets available to generate skills that are executable by the PCD An asset development library that is configured and accessible through an application programming interface (API) that is executed on the processor;
At least two of an electronic display, a plurality of movable body segments, a speech output system, and a polychromatic light source with respect to the skills executable by the PCD in response to at least one input defined by the developer An animation tool suite executed on the processor with one or more APIs through which the developer specifies the operation of one or more physical elements of the PCD;
A behavior editor executed on the processor to specify one or more behavior sequences of the PCD regarding the skill;
A skills deployment facility executed on the processor to deploy the skills in an execution engine to execute the skills;
A system characterized by including.
前記技能配備設備は、APIを通じて前記技能を配備することを特徴とする請求項1に記載のシステム。   The system according to claim 1, wherein the skill deployment facility deploys the skills through an API. 前記挙動エディタは、前記PCDの感覚入力システム及び表現出力システムの作動を容易にすることを特徴とする請求項1に記載のシステム。   The system according to claim 1, wherein the behavior editor facilitates operation of the sensory input system and expression output system of the PCD. ソフトウエア開発キット(SDK)を用いて永続的コンパニオンデバイス(PCD)技能の開発を可能にするためのシステムであって、
前記PCDに受信された入力を符号化された応答にマップするように構成されてプロセッサ上で作動する論理レベルマッピングシステムと、
前記PCDの知覚エンジンを構成するようになった前記プロセッサ上で作動するPCD挙動ツールスイートであって、
1又は2以上の視覚機能事象を検出し、かつ該1又は2以上の検出視覚機能事象を前記論理レベルマッピングシステムに通知するように前記挙動ツールスイートを通じて構成された視覚機能システム、及び
定められた音を検出し、かつ該検出発話/音を前記論理レベルマッピングシステムに通知するように前記挙動ツールスイートによって構成可能な発話/音認識及び理解システム、
を含む前記PCD挙動ツールスイートと、
少なくとも1つの入力に応答して少なくとも1つの定められた状態を表現する1又は2以上のアニメーションを発生させ、かつ該入力への該アニメーションのマッピングのために該1又は2以上のアニメーションを前記論理レベルマッピングシステムに送信するように表現エンジンを構成するようになった前記プロセッサ上で作動するPCDアニメーションツールスイートと、
を含むことを特徴とするシステム。
A system for enabling development of persistent companion device (PCD) skills using a software development kit (SDK),
A logic level mapping system configured to map the input received at the PCD to a coded response and operating on a processor;
A PCD behavior tool suite operating on said processor adapted to constitute a perception engine of said PCD, comprising:
A visual function system configured through the behavior tool suite to detect one or more visual function events and to notify the logic level mapping system of the one or more detected visual function events, and A speech / sound recognition and understanding system configurable by the behavioral tool suite to detect sounds and to notify the logic level mapping system of the detected speech / sounds;
Said PCD behavior tool suite including:
Generating one or more animations representing at least one defined state in response to the at least one input, and the logic of the one or more animations for mapping the animation to the input A PCD animation tool suite operating on said processor adapted to configure an expression engine to send to a level mapping system;
A system characterized by including.
前記定められた状態は、感情状態、ペルソナ状態、認識状態、及び定められたエネルギレベルを表現する状態のうちの少なくとも1つであることを特徴とする請求項4に記載のシステム。   5. The system of claim 4, wherein the defined state is at least one of an emotional state, a persona state, a cognitive state, and a state representing a defined energy level. 技能を実施するように永続的コンパニオンデバイス(PCD)を構成するためのシステムであって、
ユーザが前記技能に関連付けられたアニメーションをそれを通して構成する複数のアニメーションユーザインタフェース画面であって、電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも2つを含む前記PCDの物理要素の作動の指定を容易にする前記複数のアニメーションユーザインタフェース画面と、
前記技能に関連付けられたロボットアクション及び決断を調整するために前記PCDの挙動を前記ユーザがそれを通して構成する複数の挙動ユーザインタフェース画面であって、該PCDの感覚入力システムに応答する該PCDの表現出力システムの作動を容易にする前記複数の挙動ユーザインタフェース画面と、
を含むネットワーク化サーバ上で実行されるソフトウエア開発キットであって、
前記アニメーションユーザインタフェース画面及び前記挙動ユーザインタフェース画面のうちの少なくとも一方における前記PCDのグラフィック表現が、前記ユーザによる前記構成に基づく入力に応答する該PCDの移動を表す、
前記ソフトウエア開発キット、
を含むことを特徴とするシステム。
A system for configuring a persistent companion device (PCD) to perform a skill, comprising:
A plurality of animation user interface screens through which a user configures animations associated with the skills, the screen including at least two of an electronic display, a plurality of movable body segments, a speech output system, and a polychromatic light source. The plurality of animation user interface screens that facilitate specification of the operation of physical elements of the PCD;
A plurality of behavioral user interface screens through which the user configures the behavior of the PCD to coordinate robot actions and decisions associated with the skill, the representation of the PCD responsive to the sensory input system of the PCD The plurality of behavioral user interface screens facilitating operation of the output system;
A software development kit to be run on a networked server including:
The graphical representation of the PCD in at least one of the animation user interface screen and the behavior user interface screen represents movement of the PCD in response to input by the user based on the configuration.
Said software development kit,
A system characterized by including.
前記PCDに対する3次元空間内の点として該PCDの近くに位置付けられたターゲットに向けて該PCDの表示画面を表情豊かに向けるように該PCDをユーザがそれを通して構成する凝視方位ユーザインタフェース画面であって、該PCDが、単一ショットモード及び連続ターゲット追跡モードのうちの少なくとも一方で該ターゲットに応答する前記凝視方位ユーザインタフェース画面を更に含むことを特徴とする請求項6に記載のシステム。   A gaze orientation user interface screen through which the user configures the PCD to aim the PCD's display screen expressively towards a target located near the PCD as a point in three-dimensional space to the PCD. 7. The system of claim 6, wherein the PCD further includes the gaze user interface screen responsive to the target in at least one of a single shot mode and a continuous target tracking mode. 永続的コンパニオンデバイス(PCD)をアニメ化するためのシステムであって、
ソフトウエア開発キットを通じて前記PCDのPCDアニメーション構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行されるアニメーションエディタと、
PCDへの電子インタフェースであって、該PCDが、複数の相互接続可動身体セグメントと、その回転のためのモータと、少なくとも1つの照明リングと、電子表示画面と、オーディオシステムとを用いて構成される前記電子インタフェースと、
前記PCDの機能の少なくとも一部分を前記アニメーションエディタがそれを通じて制御するPCDアニメーションアプリケーションプログラミングインタフェースと、
前記アニメーションエディタのユーザによって構成可能であり、能動アニメーションセッションを指定するアニメーションインスタンスをスポーンする複数のアニメーションビルダと、
を含むことを特徴とするシステム。
A system for animating a persistent companion device (PCD),
An animation editor running on a networked server that provides access to the PCD animation configuration and control functions of the PCD through a software development kit;
An electronic interface to a PCD, the PCD comprising a plurality of interconnected movable body segments, a motor for its rotation, at least one illumination ring, an electronic display screen and an audio system. The electronic interface
A PCD animation application programming interface through which the animation editor controls at least a portion of the functionality of the PCD;
A plurality of animation builders configurable by a user of said animation editor and spawning animation instances specifying an active animation session;
A system characterized by including.
信号に応答して第1のアニメーションインスタンスから第2のアニメーションインスタンスへの前記PCDの移行を指定するための挙動移行システムを更に含むことを特徴とする請求項8に記載のシステム。   The system of claim 8, further comprising a behavior transition system for specifying transition of the PCD from a first animation instance to a second animation instance in response to a signal. 永続的コンパニオンデバイス(PCD)の挙動を制御するためのシステムであって、
ソフトウエア開発キットを通じて前記PCDのPCD挙動構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行される挙動エディタと、
複数のセンサ入力機能と複数の表現出力機能とを含む自律ロボット作動機能の挙動及び制御フローを制御することを容易にする前記挙動エディタによってアクセス可能な複数の挙動木データ構造であって、該複数の挙動木データ構造が、ロボット作動機能の制御を階層的に編成し、少なくとも1つの挙動木データ構造が、前記PCDによって実施される少なくとも1つの技能に関連付けられる前記複数の挙動木データ構造と、
を含み、
各挙動木データ構造が、複数の挙動ノードを含み、該複数の挙動ノードの各々が、無効状態、進行中状態、成功状態、及び失敗状態から構成される4つの挙動状態のうちの1つに関連付けられ、
各挙動木データ構造が、少なくとも1つの親挙動ノードを含み、該少なくとも1つの親ノードが、少なくとも1つの子挙動ノードを参照し、かつ順次子挙動ノード作動、並列子挙動ノード作動、子挙動ノード間の切り換え、及び参照した子挙動ノードのランダム起動のうちの少なくとも1つを開始するようになっている、
ことを特徴とするシステム。
A system for controlling the behavior of a persistent companion device (PCD),
A behavior editor running on a networked server providing access to the PCD behavior configuration and control functions of the PCD through a software development kit,
A plurality of behavior tree data structures accessible by the behavior editor that facilitate controlling the behavior and control flow of an autonomous robot actuation function including a plurality of sensor input functions and a plurality of representation output functions, the plurality being the plurality A plurality of behavior tree data structures hierarchically organize control of robot actuation functions, and wherein at least one behavior tree data structure is associated with at least one skill implemented by the PCD;
Including
Each behavior tree data structure includes a plurality of behavior nodes, each of the plurality of behavior nodes being one of four behavior states consisting of an invalid state, an ongoing state, a success state, and a failure state. Associated,
Each behavior tree data structure includes at least one parent behavior node, the at least one parent node referring to at least one child behavior node, and sequential child behavior node actuation, parallel child behavior node actuation, child behavior node To start at least one of switching between and random activation of referenced child behavior nodes,
A system characterized by
前記挙動ノードの少なくとも一部分が、その挙動ノードの状態を挙動ノードが開始するのを阻止すること、実行中の挙動ノードを強制的に成功させること、実行中の挙動ノードを強制的に失敗させること、挙動ノードを再実行することのうちの少なくとも1つを実施することによって修正するように機能する挙動ノード修飾子を用いて各々構成されることを特徴とする請求項10に記載のシステム。   At least a part of the behavior node prevents the behavior node from starting the state of the behavior node, forces the running behavior node to succeed, and forces the running behavior node to fail 11. The system of claim 10, wherein the system is each configured with a behavior node qualifier that functions to correct by performing at least one of rerunning the behavior node. 永続的コンパニオンデバイス(PCD)を用いて発話を認識するためのシステムであって、
埋め込み規則及びカスタム規則のうちの少なくとも一方を含む発話理解規則を構成するためにネットワーク化コンピュータ上で実行される発話規則エディタをユーザがそれを用いて作動させる複数のユーザインタフェース画面を含み、PCDによる自然言語理解を容易にするPCD発話認識構成システムと、
前記ネットワーク化サーバを通じて前記ユーザによってアクセスされる埋め込み発話理解規則のライブラリを含むソフトウエア開発キットと、
傾聴タイプPCD挙動と傾聴成功修飾子によって試験された条件の成功結果に基づいて前記PCDに作動を実施させるようにユーザが構成する該傾聴成功修飾子とのうちの少なくとも一方に発話理解規則を該ユーザがそれを用いて関連付けるソフトウエア開発のロボット挙動関連付け機能と、
を含むことを特徴とするシステム。
A system for recognizing speech using a persistent companion device (PCD),
According to PCD, including a plurality of user interface screens with which a user operates a speech rules editor executed on a networked computer to construct speech understanding rules including at least one of embedding rules and custom rules PCD speech recognition configuration system that facilitates natural language understanding;
A software development kit comprising a library of embedded speech understanding rules accessed by the user through the networked server;
The speech comprehension rule is provided to at least one of the listening success modifiers configured by the user to cause the PCD to perform an operation based on the listening type PCD behavior and the success result of the condition tested by the listening success modifier. Robot behavior association function of software development that the user associates with it,
A system characterized by including.
スクリプト式アニメーションの再生を通した前記PCDの表現出力と、ユーザによって構成可能である事象リスナーによって検出された事象に対する該PCDの応答作動と、アニメーション指令を指定することを容易にする複数のアニメーション層とを制御することを容易にするPCDアニメーション構成システムと、
前記PCDの機械的及び電子的作動を制御することを容易にするPCD挙動構成システムと、
ターゲットと単一ショット及びターゲット追跡のうちの少なくとも一方の凝視PCD機能モードとを指定することによって前記PCDの凝視の指向活動を決定することを容易にするPCD凝視方位構成システムと、
人間発話を認識するための複数の埋め込み規則と人間発話を認識するために規則をカスタム化するためのユーザインタフェースとを含むPCD発話認識構成システムであって、該人間発話が、前記PCDのオーディオセンサ入力システムによって捕捉される前記PCD発話認識構成システムと、
を含むことを特徴とする永続的コンパニオンデバイス(PCD)制御構成システム。
A plurality of animation layers facilitating the specification output of the PCD through scripted animation playback, response actions of the PCD to events detected by event listeners configurable by the user, and animation commands PCD animation configuration system, which makes it easy to control
A PCD behavior configuration system that facilitates controlling mechanical and electronic operation of the PCD;
A PCD gaze configuration system that facilitates determining the pointing activity of the PCD's gaze by specifying a target and a gaze PCD functional mode of at least one of single shot and target tracking;
A PCD speech recognition arrangement system comprising a plurality of embedding rules for recognizing human speech and a user interface for customizing rules for recognizing human speech, said human speech being an audio sensor of said PCD Said PCD speech recognition configuration system captured by an input system;
And a persistent companion device (PCD) control configuration system.
ロボット挙動を通して前記PCDの機械的及び電子的作動を制御することが、アニメ化された挙動間の移行を制御すること、複数のアニメ化された挙動を並列制御及び順次制御のうちの少なくとも一方で制御すること、及び複数の子挙動を親及び子挙動の挙動木に基づいて制御することを含み、子挙動が、該子挙動の間で選択するための切り換え条件及び該子挙動の間でランダムに選択することのうちの一方に基づいて起動されることを特徴とする請求項13に記載のシステム。   Controlling mechanical and electronic actuation of the PCD through robot behavior controls transitions between animated behaviors, at least one of parallel controlling and sequential controlling a plurality of animated behaviors. Controlling and controlling a plurality of child behaviors based on parent and child behavior trees, wherein child behaviors are random between switching conditions for selecting between the child behaviors and the child behaviors The system of claim 13, wherein the system is activated based on one of the selecting.
JP2019502527A 2016-03-31 2017-03-30 Persistent Companion Device Configuration and Deployment Platform Pending JP2019521449A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662316247P 2016-03-31 2016-03-31
US62/316,247 2016-03-31
PCT/US2017/025137 WO2017173141A1 (en) 2016-03-31 2017-03-30 Persistent companion device configuration and deployment platform

Publications (1)

Publication Number Publication Date
JP2019521449A true JP2019521449A (en) 2019-07-25

Family

ID=59966475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019502527A Pending JP2019521449A (en) 2016-03-31 2017-03-30 Persistent Companion Device Configuration and Deployment Platform

Country Status (4)

Country Link
JP (1) JP2019521449A (en)
KR (1) KR102306624B1 (en)
CA (1) CA3019535A1 (en)
WO (1) WO2017173141A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7446178B2 (en) 2020-08-05 2024-03-08 本田技研工業株式会社 Behavior control device, behavior control method, and program

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468894B2 (en) 2017-12-29 2022-10-11 DMAI, Inc. System and method for personalizing dialogue based on user's appearances
CN111801730A (en) * 2017-12-29 2020-10-20 得麦股份有限公司 System and method for artificial intelligence driven automated companion
WO2019133684A1 (en) * 2017-12-29 2019-07-04 DMAI, Inc. System and method for personalized and adaptive application management
WO2019133710A1 (en) * 2017-12-29 2019-07-04 DMAI, Inc. System and method for dialogue management
CN112074899A (en) * 2017-12-29 2020-12-11 得麦股份有限公司 System and method for intelligent initiation of human-computer dialog based on multimodal sensory input
WO2019133689A1 (en) * 2017-12-29 2019-07-04 DMAI, Inc. System and method for selective animatronic peripheral response for human machine dialogue
US11150869B2 (en) 2018-02-14 2021-10-19 International Business Machines Corporation Voice command filtering
US11331807B2 (en) 2018-02-15 2022-05-17 DMAI, Inc. System and method for dynamic program configuration
US11238856B2 (en) 2018-05-01 2022-02-01 International Business Machines Corporation Ignoring trigger words in streamed media content
US11200890B2 (en) 2018-05-01 2021-12-14 International Business Machines Corporation Distinguishing voice commands
CN108928631B (en) * 2018-05-25 2024-01-26 上海优异达机电有限公司 Automatic distributing device for FPC jointed boards
USD888165S1 (en) 2018-11-05 2020-06-23 DMAI, Inc. Robot
USD916161S1 (en) 2018-11-05 2021-04-13 DMAI, Inc. Robot
US10824370B2 (en) * 2019-02-07 2020-11-03 quadric.io, Inc. Systems and methods for implementing random access memory in a flow-based machine perception and dense algorithm integrated circuit based on computing and coalescing of indices
US10467062B1 (en) * 2019-03-11 2019-11-05 Coupang, Corp. Systems and methods for managing application programming interface information
KR102361038B1 (en) * 2019-06-29 2022-02-09 주식회사 큐버 smart mirror chatbot system of high-level context awareness by use of adaptive multiple biometrics
US11355108B2 (en) 2019-08-20 2022-06-07 International Business Machines Corporation Distinguishing voice commands
CN116564304A (en) * 2019-09-30 2023-08-08 华为终端有限公司 Voice interaction method and device
KR102271361B1 (en) 2019-11-08 2021-06-30 고려대학교 산학협력단 Device for automatic question answering
US20230173683A1 (en) * 2020-06-24 2023-06-08 Honda Motor Co., Ltd. Behavior control device, behavior control method, and program
CN111787169B (en) * 2020-07-13 2021-06-15 南京硅基智能科技有限公司 Three-party call terminal for mobile man-machine cooperation calling robot
CN113744414B (en) * 2021-09-06 2022-06-28 北京百度网讯科技有限公司 Image processing method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002066156A (en) * 2000-05-12 2002-03-05 Fujitsu Ltd Robot linking device, robot linking program recording medium, and robot linking program
JP2002120174A (en) * 2000-10-11 2002-04-23 Sony Corp Authoring system, authoring method and storage medium
JP2007069302A (en) * 2005-09-07 2007-03-22 Hitachi Ltd Action expressing device
JP2012528015A (en) * 2009-05-26 2012-11-12 オルドウバラン、ロボティクス System and method for editing and controlling mobile robot behavior
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6427063B1 (en) * 1997-05-22 2002-07-30 Finali Corporation Agent based instruction system and method
EP1727605B1 (en) * 2004-03-12 2007-09-26 Koninklijke Philips Electronics N.V. Electronic device and method of enabling to animate an object
TWI375933B (en) * 2007-08-07 2012-11-01 Triforce Co Ltd Language learning method and system thereof
US9286711B2 (en) * 2011-09-30 2016-03-15 Microsoft Technology Licensing, Llc Representing a location at a previous time period using an augmented reality display
EP2974273A4 (en) * 2013-03-15 2018-01-10 Jibo, Inc. Apparatus and methods for providing a persistent companion device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002066156A (en) * 2000-05-12 2002-03-05 Fujitsu Ltd Robot linking device, robot linking program recording medium, and robot linking program
JP2002120174A (en) * 2000-10-11 2002-04-23 Sony Corp Authoring system, authoring method and storage medium
JP2007069302A (en) * 2005-09-07 2007-03-22 Hitachi Ltd Action expressing device
JP2012528015A (en) * 2009-05-26 2012-11-12 オルドウバラン、ロボティクス System and method for editing and controlling mobile robot behavior
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7446178B2 (en) 2020-08-05 2024-03-08 本田技研工業株式会社 Behavior control device, behavior control method, and program

Also Published As

Publication number Publication date
WO2017173141A1 (en) 2017-10-05
KR20180129886A (en) 2018-12-05
CA3019535A1 (en) 2017-10-05
KR102306624B1 (en) 2021-09-28

Similar Documents

Publication Publication Date Title
KR102306624B1 (en) Persistent companion device configuration and deployment platform
US11148296B2 (en) Engaging in human-based social interaction for performing tasks using a persistent companion device
US20170206064A1 (en) Persistent companion device configuration and deployment platform
AU2014236686B2 (en) Apparatus and methods for providing a persistent companion device
WO2016011159A1 (en) Apparatus and methods for providing a persistent companion device
US20220148271A1 (en) Immersive story creation
US20220284896A1 (en) Electronic personal interactive device
US20180133900A1 (en) Embodied dialog and embodied speech authoring tools for use with an expressive social robot
RU2690071C2 (en) Methods and systems for managing robot dialogs
CN112262024A (en) System and method for dynamic robot configuration for enhanced digital experience
WO2016206645A1 (en) Method and apparatus for loading control data into machine device
Origlia et al. FANTASIA: a framework for advanced natural tools and applications in social, interactive approaches
Schröder The SEMAINE API: A component integration framework for a naturally interacting and emotionally competent Embodied Conversational Agent
Platz Design Beyond Devices: Creating Multimodal, Cross-device Experiences
WO2018183812A1 (en) Persistent companion device configuration and deployment platform
WO2021007546A1 (en) Computing devices and systems for sending and receiving voice interactive digital gifts
Smith Ok, google: designing information architecture for smart speakers
Hanke et al. Embodied Ambient Intelligent Systems.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200219

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20201111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210415

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211213