(57)【要約】  永続的コンパニオンデバイス（ＰＣＤ）に対する技能を開発するための開発プラットフォームは、技能を生成するのに利用可能な１又は２以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも１つを可能にするように構成されたアプリケーションプログラミングインタフェース（ＡＰＩ）を有するアセット開発ライブラリと、開発者によって指定されて少なくとも１つの定められた入力に応答してＰＣＤによって実行可能である技能に関連付けられた１又は２以上の表現がそれを通じて受信される１又は２以上のＡＰＩを有する表現ツールスイートと、技能に関するＰＣＤの１又は２以上の挙動シーケンスを指定するための挙動エディタと、ＰＣＤの実行エンジンに技能を配備するためのＡＰＩを有する技能配備設備とを含む。【選択図】図２７
2019521449.tif 000002
【特許請求の範囲】
【請求項１】
永続的コンパニオンデバイス（ＰＣＤ）に対する技能を開発するためのシステムであって、
前記ＰＣＤによって実行可能である技能を生成するのに利用可能な１又は２以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも１つを可能にするように構成されてプロセッサ上で実行されるアプリケーションプログラミングインタフェース（ＡＰＩ）を通じてアクセス可能なアセット開発ライブラリと、
前記開発者によって定められた少なくとも１つの入力に応答して前記ＰＣＤによって実行可能である前記技能に関して電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも２つを含む該ＰＣＤの１又は２以上の物理要素の作動が該開発者によってそれを通じて指定される１又は２以上のＡＰＩを有して前記プロセッサ上で実行されるアニメーションツールスイートと、
前記技能に関する前記ＰＣＤの１又は２以上の挙動シーケンスを指定するために前記プロセッサ上で実行される挙動エディタと、
前記技能を実行するための実行エンジンに該技能を配備するために前記プロセッサ上で実行される技能配備設備と、
を含むことを特徴とするシステム。
【請求項２】
前記技能配備設備は、ＡＰＩを通じて前記技能を配備することを特徴とする請求項１に記載のシステム。
【請求項３】
前記挙動エディタは、前記ＰＣＤの感覚入力システム及び表現出力システムの作動を容易にすることを特徴とする請求項１に記載のシステム。
【請求項４】
ソフトウエア開発キット（ＳＤＫ）を用いて永続的コンパニオンデバイス（ＰＣＤ）技能の開発を可能にするためのシステムであって、
前記ＰＣＤに受信された入力を符号化された応答にマップするように構成されてプロセッサ上で作動する論理レベルマッピングシステムと、
前記ＰＣＤの知覚エンジンを構成するようになった前記プロセッサ上で作動するＰＣＤ挙動ツールスイートであって、
１又は２以上の視覚機能事象を検出し、かつ該１又は２以上の検出視覚機能事象を前記論理レベルマッピングシステムに通知するように前記挙動ツールスイートを通じて構成された視覚機能システム、及び
定められた音を検出し、かつ該検出発話／音を前記論理レベルマッピングシステムに通知するように前記挙動ツールスイートによって構成可能な発話／音認識及び理解システム、
を含む前記ＰＣＤ挙動ツールスイートと、
少なくとも１つの入力に応答して少なくとも１つの定められた状態を表現する１又は２以上のアニメーションを発生させ、かつ該入力への該アニメーションのマッピングのために該１又は２以上のアニメーションを前記論理レベルマッピングシステムに送信するように表現エンジンを構成するようになった前記プロセッサ上で作動するＰＣＤアニメーションツールスイートと、
を含むことを特徴とするシステム。
【請求項５】
前記定められた状態は、感情状態、ペルソナ状態、認識状態、及び定められたエネルギレベルを表現する状態のうちの少なくとも１つであることを特徴とする請求項４に記載のシステム。
【請求項６】
技能を実施するように永続的コンパニオンデバイス（ＰＣＤ）を構成するためのシステムであって、
ユーザが前記技能に関連付けられたアニメーションをそれを通して構成する複数のアニメーションユーザインタフェース画面であって、電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも２つを含む前記ＰＣＤの物理要素の作動の指定を容易にする前記複数のアニメーションユーザインタフェース画面と、
前記技能に関連付けられたロボットアクション及び決断を調整するために前記ＰＣＤの挙動を前記ユーザがそれを通して構成する複数の挙動ユーザインタフェース画面であって、該ＰＣＤの感覚入力システムに応答する該ＰＣＤの表現出力システムの作動を容易にする前記複数の挙動ユーザインタフェース画面と、
を含むネットワーク化サーバ上で実行されるソフトウエア開発キットであって、
前記アニメーションユーザインタフェース画面及び前記挙動ユーザインタフェース画面のうちの少なくとも一方における前記ＰＣＤのグラフィック表現が、前記ユーザによる前記構成に基づく入力に応答する該ＰＣＤの移動を表す、
前記ソフトウエア開発キット、
を含むことを特徴とするシステム。
【請求項７】
前記ＰＣＤに対する３次元空間内の点として該ＰＣＤの近くに位置付けられたターゲットに向けて該ＰＣＤの表示画面を表情豊かに向けるように該ＰＣＤをユーザがそれを通して構成する凝視方位ユーザインタフェース画面であって、該ＰＣＤが、単一ショットモード及び連続ターゲット追跡モードのうちの少なくとも一方で該ターゲットに応答する前記凝視方位ユーザインタフェース画面を更に含むことを特徴とする請求項６に記載のシステム。
【請求項８】
永続的コンパニオンデバイス（ＰＣＤ）をアニメ化するためのシステムであって、
ソフトウエア開発キットを通じて前記ＰＣＤのＰＣＤアニメーション構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行されるアニメーションエディタと、
ＰＣＤへの電子インタフェースであって、該ＰＣＤが、複数の相互接続可動身体セグメントと、その回転のためのモータと、少なくとも１つの照明リングと、電子表示画面と、オーディオシステムとを用いて構成される前記電子インタフェースと、
前記ＰＣＤの機能の少なくとも一部分を前記アニメーションエディタがそれを通じて制御するＰＣＤアニメーションアプリケーションプログラミングインタフェースと、
前記アニメーションエディタのユーザによって構成可能であり、能動アニメーションセッションを指定するアニメーションインスタンスをスポーンする複数のアニメーションビルダと、
を含むことを特徴とするシステム。
【請求項９】
信号に応答して第１のアニメーションインスタンスから第２のアニメーションインスタンスへの前記ＰＣＤの移行を指定するための挙動移行システムを更に含むことを特徴とする請求項８に記載のシステム。
【請求項１０】
永続的コンパニオンデバイス（ＰＣＤ）の挙動を制御するためのシステムであって、
ソフトウエア開発キットを通じて前記ＰＣＤのＰＣＤ挙動構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行される挙動エディタと、
複数のセンサ入力機能と複数の表現出力機能とを含む自律ロボット作動機能の挙動及び制御フローを制御することを容易にする前記挙動エディタによってアクセス可能な複数の挙動木データ構造であって、該複数の挙動木データ構造が、ロボット作動機能の制御を階層的に編成し、少なくとも１つの挙動木データ構造が、前記ＰＣＤによって実施される少なくとも１つの技能に関連付けられる前記複数の挙動木データ構造と、
を含み、
各挙動木データ構造が、複数の挙動ノードを含み、該複数の挙動ノードの各々が、無効状態、進行中状態、成功状態、及び失敗状態から構成される４つの挙動状態のうちの１つに関連付けられ、
各挙動木データ構造が、少なくとも１つの親挙動ノードを含み、該少なくとも１つの親ノードが、少なくとも１つの子挙動ノードを参照し、かつ順次子挙動ノード作動、並列子挙動ノード作動、子挙動ノード間の切り換え、及び参照した子挙動ノードのランダム起動のうちの少なくとも１つを開始するようになっている、
ことを特徴とするシステム。
【請求項１１】
前記挙動ノードの少なくとも一部分が、その挙動ノードの状態を挙動ノードが開始するのを阻止すること、実行中の挙動ノードを強制的に成功させること、実行中の挙動ノードを強制的に失敗させること、挙動ノードを再実行することのうちの少なくとも１つを実施することによって修正するように機能する挙動ノード修飾子を用いて各々構成されることを特徴とする請求項１０に記載のシステム。
【請求項１２】
永続的コンパニオンデバイス（ＰＣＤ）を用いて発話を認識するためのシステムであって、
埋め込み規則及びカスタム規則のうちの少なくとも一方を含む発話理解規則を構成するためにネットワーク化コンピュータ上で実行される発話規則エディタをユーザがそれを用いて作動させる複数のユーザインタフェース画面を含み、ＰＣＤによる自然言語理解を容易にするＰＣＤ発話認識構成システムと、
前記ネットワーク化サーバを通じて前記ユーザによってアクセスされる埋め込み発話理解規則のライブラリを含むソフトウエア開発キットと、
傾聴タイプＰＣＤ挙動と傾聴成功修飾子によって試験された条件の成功結果に基づいて前記ＰＣＤに作動を実施させるようにユーザが構成する該傾聴成功修飾子とのうちの少なくとも一方に発話理解規則を該ユーザがそれを用いて関連付けるソフトウエア開発のロボット挙動関連付け機能と、
を含むことを特徴とするシステム。
【請求項１３】
スクリプト式アニメーションの再生を通した前記ＰＣＤの表現出力と、ユーザによって構成可能である事象リスナーによって検出された事象に対する該ＰＣＤの応答作動と、アニメーション指令を指定することを容易にする複数のアニメーション層とを制御することを容易にするＰＣＤアニメーション構成システムと、
前記ＰＣＤの機械的及び電子的作動を制御することを容易にするＰＣＤ挙動構成システムと、
ターゲットと単一ショット及びターゲット追跡のうちの少なくとも一方の凝視ＰＣＤ機能モードとを指定することによって前記ＰＣＤの凝視の指向活動を決定することを容易にするＰＣＤ凝視方位構成システムと、
人間発話を認識するための複数の埋め込み規則と人間発話を認識するために規則をカスタム化するためのユーザインタフェースとを含むＰＣＤ発話認識構成システムであって、該人間発話が、前記ＰＣＤのオーディオセンサ入力システムによって捕捉される前記ＰＣＤ発話認識構成システムと、
を含むことを特徴とする永続的コンパニオンデバイス（ＰＣＤ）制御構成システム。
【請求項１４】
ロボット挙動を通して前記ＰＣＤの機械的及び電子的作動を制御することが、アニメ化された挙動間の移行を制御すること、複数のアニメ化された挙動を並列制御及び順次制御のうちの少なくとも一方で制御すること、及び複数の子挙動を親及び子挙動の挙動木に基づいて制御することを含み、子挙動が、該子挙動の間で選択するための切り換え条件及び該子挙動の間でランダムに選択することのうちの一方に基づいて起動されることを特徴とする請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願への相互参照〕
この出願は、２０１６年３月３１日出願の米国仮特許出願第６２／３１６，２４７号［ＪＩＢＯ−０００４−Ｐ０１］の利益を主張するものである。全ての上記の出願は、その全体が引用によって本明細書に組み込まれている。
【０００２】
本発明の分野
【０００３】
本出願は、一般的に永続的コンパニオンデバイス（PERSISTENT COMPANION DEVICE）に関する。特に、本出願は、人の環境に継続的に存在し、かつコンパニオンデバイスのユーザと対話してデバイスとの感情的な関わり合いを与えるようになった及び／又はアプリケーション、コンテンツ、サービス、又はコンパニオンデバイスのユーザのコンパニオンデバイスとの対話に関する長期的データ収集に関連付けられたコンパニオンデバイスを提供するための装置及び方法に関する。
【背景技術】
【０００４】
関連技術の説明
【０００５】
スマートフォン及びタブレットコンピュータのようなデバイスは、ネットワーキング機能、高精細ビデオ、タッチインタフェース、及びアプリケーションのような益々増大する機能を有するが、そのようなデバイスは、デバイスとの対話からコンパニオンシップ又は高度な感情体験の利益を与えることのような人間ユーザと関わり合うそれらの機能に限界がある。コンパニオンシップを提供するための改善されたデバイスと関連の方法及びシステムとに対する必要性が存在する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第２００９／００５５０１９  Ａ１号明細書
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の開示は、人の環境に継続的に存在し、かつコンパニオンデバイスのユーザと対話してデバイスとの感情的な関わり合いを与えるようになった及び／又はアプリケーション、コンテンツ、サービス、又はコンパニオンデバイスのユーザのコンパニオンデバイスとの対話に関する長期的データ収集に関連付けられたコンパニオンデバイスを提供するための方法及びシステムに関する。デバイスは、本明細書で更に詳しく説明する広範な用途に関して豊富な対話を提供するために関連のハードウエア、ソフトウエア、及び他の構成要素と対話するシステムの一部である場合がある。
【０００８】
例示的かつ非限定的実施形態により、永続的コンパニオンデバイス（ＰＣＤ）に対する技能を開発するための開発プラットフォームは、ＰＣＤによって実行可能である技能を生成するのに利用可能な１又は２以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも１つを可能にするように構成されたアプリケーションプログラミングインタフェース（ＡＰＩ）を有するアセット開発ライブラリと、開発者によって指定されて少なくとも１つの定められた入力に応答してＰＣＤによって実行可能である技能に関連付けられた１又は２以上の表現をそれを通じて受信する１又は２以上のＡＰＩを有する表現ツールスイートと、技能に関するＰＣＤの１又は２以上の挙動シーケンスを指定するための挙動エディタと、技能を実行するための実行エンジンに技能を配備するためのＡＰＩを有する技能配備設備とを含む。
【０００９】
例示的かつ非限定的実施形態により、ソフトウエア開発キット（ＳＤＫ）を用いて技能の開発を可能にするためのプラットフォームは、受信した入力を符号化された応答にマップするように構成された論理レベルモジュールと、１又は２以上の視覚機能事象を検出して１又は２以上の検出した視覚機能事象を論理レベルモジュールに通知するように構成された視覚機能モジュール、定められた音を検出して検出した発話／音を論理レベルモジュールに通知するように構成された発話／音認識器、及び定められた感情／ペルソナ状態を表現する１又は２以上のアニメーションを発生させて１又は２以上のアニメーションを論理レベルモジュールに送信するように構成された表現エンジンを含む知覚レベルモジュールとを含む。
【００１０】
技能開発プラットフォーム方法及びシステムは、永続的コンパニオンデバイス（ＰＣＤ）に対する技能を開発するためのシステムを含む。システムは、ＰＣＤによって実行可能である技能を生成するのに利用可能な１又は２以上のコンテンツアセットを開発者が発見し、生成し、編集し、かつアクセスすることのうちの少なくとも１つを可能にするように構成されたプロセッサ上で実行されるアプリケーションプログラミングインタフェース（ＡＰＩ）を通じてアクセス可能であるアセット開発ライブラリを含むことができる。システムはまた、プロセッサ上で実行され、かつ電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも２つを含む技能に関するＰＣＤの１又は２以上の物理要素の作動がそれを通じて開発者によって指定される１又は２以上のＡＰＩを有するアニメーションツールスイートを含むことができ、技能は、開発者によって定められた少なくとも１つの入力に応答してＰＣＤによって実行可能である。システムはまた、技能に関するＰＣＤの１又は２以上の挙動シーケンスを指定するためにプロセッサ上で実行される挙動エディタを含むことができる。これに加えて、システムは、プロセッサ上で実行され、かつ技能を実行するための実行エンジンに技能を配備するようになった技能配備設備を含むことができる。このシステムでは、技能配備機構は、ＡＰＩを通して技能を配備することができる。これに加えて、挙動エディタは、ＰＣＤの感覚入力システム及び表現出力システムの作動を容易にすることができる。
【００１１】
技能開発ＳＤＫ方法及びシステムは、ＰＣＤに受信された入力を符号化された応答にマップするように構成されたプロセッサ上で作動する論理レベルマッピングシステムを含むことができるソフトウエア開発キット（ＳＤＫ）を用いて永続的コンパニオンデバイス（ＰＣＤ）技能の開発を可能にするためのシステムを含むことができる。システムはまた、ＰＣＤの知覚エンジンを構成するようになったプロセッサ上で作動するＰＣＤ挙動ツールスイートを含むことができ、ツールスイートは、１又は２以上の視覚機能事象を検出し、かつ検出した１又は２以上の視覚機能事象を論理レベルマッピングシステムに通知するように挙動ツールスイートを通じて構成される視覚機能システムと、定められた音を検出し、かつ検出した発話／音を論理レベルマッピングシステムに通知するように挙動ツールスイートによって構成可能な発話／音認識及び理解システムとを含む。システムはまた、少なくとも１つの入力に応答して少なくとも１つの定められた状態を表現する１又は２以上のアニメーションを発生させ、かつ入力へのアニメーションのマッピングのために１又は２以上のアニメーションを論理レベルマッピングシステムに送信するように表現エンジンを構成するようになったプロセッサ上で作動するＰＣＤアニメーションツールスイートを含むことができる。このシステムでは、定められた状態は、感情状態、ペルソナ状態、認識状態、及び定められたエネルギレベルを表現する状態のうちの少なくとも１つとすることができる。
【００１２】
ＰＣＤソフトウエア開発キットは、技能を実施するように永続的コンパニオンデバイス（ＰＣＤ）を構成するためのシステムを含むことができるユーザインタフェース方法及びシステムを含むことができる。システムは、ネットワーク化サーバ上で実行されるソフトウエア開発キットを含むことができる。ＳＤＫは、ユーザが技能に関連付けられたアニメーションをそれを通して構成し、電子ディスプレイ、複数の可動身体セグメント、発話出力システム、及び多色光源のうちの少なくとも２つを含むＰＣＤの物理要素の作動の指定を容易にする複数のアニメーションユーザインタフェース画面を含むことができる。ＳＤＫはまた、技能に関連付けられたロボットアクション及び決断を調整するためにユーザがそれを通してＰＣＤの挙動を構成し、ＰＣＤの感覚入力システムに応答するＰＣＤの表現出力システムの作動を容易にする複数の挙動ユーザインタフェース画面を含むことができる。同じく、アニメーションユーザインタフェース画面及び挙動ユーザインタフェース画面のうちの少なくとも一方におけるＰＣＤのグラフィック表現は、ユーザによる構成に基づいて入力に応答するＰＣＤの移動を表している。これに加えて、ＳＤＫは、ＰＣＤに対する３次元空間内の点としてＰＣＤの近くに位置付けられたターゲットに向けてＰＣＤの表示画面を表情豊かに向けるようにユーザがそれを通してＰＣＤを構成する凝視方位ユーザインタフェース画面を含むことができ、ＰＣＤは、単一ショットモード又は連続ターゲット追跡モードのうちの少なくとも一方でターゲットに応答する。
【００１３】
方法及びシステムは、ソフトウエア開発キットを通じてＰＣＤのＰＣＤアニメーション構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行されるアニメーションエディタを含むことができる永続的コンパニオンデバイス（ＰＣＤ）をアニメ化するためのシステムを含むことができる。システムはまた、ＰＣＤへの電子インタフェースを含むことができ、ＰＣＤは、複数の相互接続可動身体セグメントと、それを回転させるためのモータと、少なくとも１つの照明リングと、電子表示画面と、オーディオシステムとを用いて構成される。これに加えて、システムは、ＰＣＤの機能の少なくとも一部分をアニメーションエディタがそれを通じて制御するＰＣＤアニメーションアプリケーションプログラミングインタフェースを含むことができる。同じく、システムは、アニメーションエディタのユーザによって構成可能な複数のアニメーションビルダを含むことができ、アニメーションビルダは、能動アニメーションセッションを示すアニメーションインスタンスをスポーンする。システムは、信号に応答して第１のアニメーションインスタンスから第２のアニメーションインスタンスへのＰＣＤの移行を指定するための挙動移行システムを更に含むことができる。
【００１４】
本明細書に説明する方法及びシステムは、永続的コンパニオンデバイス（ＰＣＤ）の挙動を制御するためのシステムを含むことができる。システムは、ソフトウエア開発キットを通じてＰＣＤのＰＣＤ挙動構成及び制御機能へのアクセスを提供するネットワーク化サーバ上で実行される挙動エディタを含むことができる。システムはまた、複数のセンサ入力機能と複数の表現出力機能とを含む自律ロボット作動機能の挙動及び制御フローを制御することを容易にする挙動エディタによってアクセス可能な複数の挙動木データ構造を含むことができ、複数の挙動木データ構造は、ロボット作動機能の制御を階層的に編成し、少なくとも１つの挙動木データ構造は、ＰＣＤによって実施される少なくとも１つの技能に関連付けられる。システムは、各挙動木の複数の挙動ノードを更に含むことができ、複数の挙動ノードの各々は、無効状態、進行中状態、成功状態、及び失敗状態から構成される４つの挙動状態のうちの１つに関連付けられる。システムはまた、各挙動木の少なくとも１つの親挙動ノードを含み、少なくとも１つの親ノードは、少なくとも１つの子挙動ノードを参照し、かつ順次子挙動ノード作動、並列子挙動ノード作動、子挙動ノード間切り換え、及び参照子挙動ノードのランダム起動のうちの少なくとも１つを開始するようになっている。このシステムでは、挙動ノードの少なくとも一部分は、その挙動ノードの状態を挙動ノードの開始の阻止、実行中の挙動ノードの成功への強制、実行中の挙動ノードの失敗への強制、挙動ノードの再実行のうちの少なくとも１つを実施することによって修正するように機能する挙動ノード修飾子を用いて各々が構成される。
【００１５】
本明細書に説明する方法及びシステムは、永続的コンパニオンデバイス（ＰＣＤ）を用いて発話を認識するためのシステムを含むことができる。システムは、ＰＣＤによる自然言語理解を容易にするＰＣＤ発話認識構成システムを含むことができ、このシステムは、埋め込み規則及びカスタム規則のうちの少なくとも一方を含む発話理解規則を構成するためにネットワーク化コンピュータ上で実行される発話規則エディタをユーザがそれによって作動させる複数のユーザインタフェース画面を含む。システムは、ネットワーク化サーバを通じてユーザによってアクセスされる埋め込み発話理解規則のライブラリを含む開発キットを更に含むことができる。これに加えて、システムは、傾聴タイプＰＣＤ挙動と、傾聴成功修飾子によって試験された条件の成功結果に基づいてＰＣＤに作動を実施させるようにユーザが構成する傾聴成功修飾子とのうちの少なくとも一方にユーザが発話理解規則をそれによって関連付けるソフトウエア開発のロボット挙動関連付け機能を含むことができる。
【００１６】
本明細書に説明する方法及びシステムは、永続的コンパニオンデバイス（ＰＣＤ）制御構成システムを含むことができる。システムは、スクリプト式アニメーションの再生を通したＰＣＤの表現出力と、ユーザによって構成可能である事象リスナーによって検出された事象に対するＰＣＤの応答作動と、アニメーション指令を指定することを容易にする複数のアニメーション層とを制御することを容易にするＰＣＤアニメーション構成システムを含むことができる。システムは、ＰＣＤの機械的及び電子的作動を制御することを容易にするＰＣＤ挙動構成システムを更に含むことができる。システムはまた、ターゲットと単一ショット及びターゲット追跡のうちの少なくとも一方の凝視ＰＣＤ機能モードとを指定することによってＰＣＤの凝視の指向活動を決定することを容易にするＰＣＤ凝視方位構成システムを含むことができる。これに加えて、システムは、人間発話を認識するための複数の埋め込み規則と人間発話を認識するための規則をカスタム化するためのユーザインタフェースとを含むＰＣＤ発話認識構成システムを含むことができ、人間発話は、ＰＣＤのオーディオセンサ入力システムによって捕捉される。このシステムでは、ロボット挙動を通してＰＣＤの機械的及び電子的作動を制御する段階は、アニメ化された挙動間の移行を制御する段階と、複数のアニメ化された挙動を並列制御及び順次制御のうちの少なくとも一方で制御する段階と、親及び子挙動の挙動木に基づいて複数の子挙動を制御する段階とを含み、子挙動は、子挙動の間で選択するための切り換え条件及び子挙動の間でランダムに選択することのうちの一方に基づいて起動される。
【００１７】
必ずしも正確な縮尺に示したものとは限らない図面では、類似の数字は、いくつかの図を通して実質的に類似の構成要素を表す場合がある。異なる接尾文字を有する類似の数字は、実質的に類似の構成要素の異なる事例を表す場合がある。図面は、本明細書で議論するある一定の実施形態の詳細説明を限定ではなく一例として一般的に示すものである。
【図面の簡単な説明】
【００１８】
【図１】ＰＣＤの多くのビューを示す図である。
【図２】ＰＣＤのソフトウエアアーキテクチャを示す図である。
【図３】心理社会的対話モジュール（ＰＳＩＭ）のアーキテクチャを示す図である。
【図４】ＰＣＤによる挨拶対話の簡易バージョンを示すタスクネットワークを例示する図である。
【図５】ＰＣＤのハードウエアアーキテクチャを示す図である。
【図６】ＰＣＤの機械アーキテクチャを示す図である。
【図７】通話返答及びメッセージングサービスを提供する方法に関する流れ図である。
【図８】ＰＣＤによって物語を中継する方法に関する流れ図である。
【図９】ＰＣＤの使用によってユーザの感情状態を示す及び／又はそれに影響を及ぼす方法に関する流れ図である。
【図１０】ＰＣＤによる物語の実演又はアニメ化機能を可能にする方法に関する流れ図である。
【図１１】経歴を発生させて符号化する方法に関する流れ図である。
【図１２】対話データにアクセスし、それを用いてユーザの必要性に対処する方法に関する流れ図である。
【図１３】ユーザ入力に基づいてＰＣＤの挙動を調節する方法に関する流れ図である。
【図１４】反復的、永続的、又は半永続的視覚要素を表示する例を示す図である。
【図１５】反復的、永続的、又は半永続的視覚要素を表示する例を示す図である。
【図１６】反復的、永続的、又は半永続的視覚要素を表示する例を示す図である。
【図１７】ＰＣＤのための実行時技能の例示的かつ非限定的実施形態を示す図である。
【図１８】ＳＤＫを用いた技能の開発を可能にするプラットフォームに関するフロー及び様々なアーキテクチャ構成要素の例示的かつ非限定的実施形態の図である。
【図１９】アセットの生成のために与えることができるユーザインタフェースの例示的かつ非限定的実施形態の図である。
【図２０】開発者がＰＣＤのローカル知覚空間を見ることを可能にすることができるローカル知覚空間（ＬＰＳ）視覚化ツールの例示的かつ非限定的スクリーンショットの図である。
【図２１】例示的かつ非限定的実施形態による挙動エディタのスクリーンショットの図である。
【図２２】例示的かつ非限定的実施形態による分岐論理部を生成する公式方法の図である。
【図２３】選択論理部を引数として挙動に追加することを可能にする例示的かつ非限定的実施形態の図である。
【図２４】シミュレーション窓の例示的かつ非限定的実施形態の図である。
【図２５】社会ロボット表現ツールスイートの社会ロボットアニメーションエディタの例示的かつ非限定的実施形態の図である。
【図２６】ＰＣＤアニメーション移動ツールの例示的かつ非限定的実施形態の図である。
【図２７】社会ロボット特定のソフトウエア開発キットのアーキテクチャのブロック図である。
【図２８】２つの挙動が同時に実行され、次に第２の挙動、次に第３の挙動が実行される挙動木断片を描く図である。
【図２９】葉挙動を描く図である。
【図３０】順次及び並列親挙動のユーザインタフェース表示を描く図である。
【図３１】挙動修飾子のユーザインタフェース表示を描く図である。
【図３２】技能の主挙動木を描く図である。
【図３３】挙動木の葉を編集するための挙動エディタのユーザインタフェースを描く図である。
【図３４】測定可能条件に基づいて挙動の状態を変更するように構成された修飾子を描く図である。
【図３５】挙動の引数を指定するためのユーザインタフェースを描く図である。
【図３６】構成、起動、及び実行／制御にわたるビルダ及びインスタンスのライフサイクルの図である。
【図３７】ロボットの個々のＤＯＦ、ＤＯＦ値タイプ、及び共通ＤＯＦグループのマップを提供する線図を描く図である。
【図３８】直近にトリガされたアニメートインスタンスによる限定的ＤＯＦ所有のポリシーに従うアニメートモジュールを描く図である。
【図３９】図３８の実施形態に対する代替実施形態を描く図である。
【図４０】アニメーションを用いてトランザクションを構成する段階を描く図である。
【図４１】例示的コアアニメーション事象のタイミングを描く図である。
【図４２】２つの重複アニメーションインスタンスによって生成される事象のタイムラインを描く図である。
【図４３】注視方位構成インタフェースの例を描く図である。
【図４４】２つの異なる注視ターゲット間で切り換えるために挙動木ノードにカスタムコードを含める段階を描く図である。
【図４５】ソフトウエア開発キットによって参照される社会ロボットの３次元座標系を描く図である。
【図４６】アニメーションを編集するためのソフトウエア開発キットのユーザインタフェースを描く図である。
【図４７】社会ロボットのセグメントを制御するために身体層を構成するためのユーザインタフェースを描く図である。
【図４８】社会ロボットの代表的な眼画像を制御するために眼層を構成するためのユーザインタフェースを描く図である。
【図４９】社会ロボットの代表的な眼画像のテクスチャ態様を制御するために眼テクスチャ層を構成するためのユーザインタフェースを描く図である。
【図５０】社会ロボットの代表的な眼画像を制御するために眼オーバーレイ層を構成するためのユーザインタフェースを描く図である。
【図５１】社会ロボットの代表的な眼画像を制御するために眼オーバーレイテクスチャ層を構成するためのユーザインタフェースを描く図である。
【図５２】社会ロボットの代表的な眼画像の背景を制御するために背景層を構成するためのユーザインタフェースを描く図である。
【図５３】社会ロボットの身体セグメントの周りに配置されたＬＥＤを構成するためのユーザインタフェースを描く図である。
【図５４】事象を構成するためのユーザインタフェースを描く図である。
【図５５】オーディオ事象層を構成するためのユーザインタフェースを描く図である。
【図５６】発話規則エディタのユーザインタフェースを描く図である。
【図５７】代替発話規則エディタユーザインタフェース画面を描く図である。
【図５８】傾聴挙動エディタユーザインタフェース画面を描く図である。
【図５９】代替傾聴挙動エディタユーザインタフェースを描く図である。
【図６０】別の代替傾聴挙動エディタユーザインタフェース画面を描く図である。
【図６１】ＭＩＭ構成ユーザインタフェースを描く図である。
【図６２】ＭＩＭ規則エディタユーザインタフェースを描く図である。
【図６３】ＰＣＤ  ＳＤＫのフローエディタを描く図である。
【発明を実施するための形態】
【００１９】
例示的かつ非限定的実施形態に従って人／ユーザの環境に継続的に存在し、ユーザと対話するための永続的コンパニオンデバイス（ＰＣＤ）を提供して説明する。本明細書に使用する場合に、状況が別途示す場合を除き、「ＰＣＤ」と「社会ロボット」とを交換可能に使用することができる。下記でより完全に説明するように、ＰＣＤは、移動、グラフィック、音、光、芳香を通して表現することができる際立ったペルソナを有する永続的親交的存在を提供する。更に、下記ではＰＣＤの各実施形態に「デジタルソウル」アテンダントの概念を導入する。本明細書に使用する場合に「デジタルソウル」は、デジタルフォーマットで格納することができ、ＰＣＤによるアクションを決定して実行するための入力として機能する複数の属性を意味する。本明細書に使用する場合に「環境」は、ＰＣＤのセンサによるユーザの観察を可能にするほど十分なユーザ近接範囲のユーザの物理環境を意味する。
【００２０】
このデジタルソウルは、親交的対話及び友好関係の構成活動において親交的−感情的／対人的な感覚のアテンダントを通してユーザをＰＣＤの対話／インタフェースに関わらせるように作動する。下記でより完全に説明するように、ＰＣＤ１００は、そのユーザに対して広範な機能を実施することができる。下記で詳細に説明する例示的かつ非限定的実施形態により、ＰＣＤは、（１）人々／ユーザの間のかなり有意義で、参加型で、物理的に埋め込まれて、親交的な状況の対話を容易にし、かつサポートすることができ、（２）家族が一家の物語及び知識（特別なレシピのような）などを生成／保存／共有するのに役立つようにユーザに有利な情報を提供することと、写真家としてなどで機能することのような特定のサービスのスケジューリング、リマインド、提供を助けることとを含むパーソナルサービスを提供するアシスタント又は何かとしてＰＣＤが機能する実用的タスクの実施に携わることができ、かつ（３）ユーザを楽しませ（例えば、物語、ゲーム、音楽、及び他のメディア又はコンテンツ）、同伴及びコンパニオンシップを提供することができる。
【００２１】
例示的かつ非限定的実施形態により、以下を含むがこれらに限定されない複数の作動モードを通してＰＣＤの様々な機能を達成することができる。
ｉ．擬人化されたインタフェースを通じて、任意的に、改善されたコンパニオンシップを提供するように経時的に適応させることができる特徴を含む様々な異なる性格傾向を表現することにより。
ｉｉ．情報、並びに情緒を伝えることができる表現豊かで温かく人間らしいインタフェースを通して。下記で説明するように、そのようなインタフェースは、顔の表情（アニメーション又は移動のいずれかによる）、身体の移動、グラフィック、音、発話、色、光、及び芳香などを含むいくつかの手がかりを通して感情、情緒、及び性格を表現することができる。
ｉｉｉ．ＰＣＤをユーザに合うように徐々に調整し、適応させ、同調させるための複数のソース（センサ、データ、他のデバイスからの情報、インターネット、ＧＰＳのような）にわたる状況説明的な長期的情報の収集を通して。
ｉｖ．ユーザの必要性／要求により的確に適応するための適応自己構成／自己修復により。
ｖ．特定の状況及びそのユーザの親交的及び感情的な特異性を考慮することにより。
【００２２】
図１を参照すると、例示的かつ非限定的実施形態によるＰＣＤ１００の多くの図が例示されている。図示のように、ＰＣＤ１００は、例えば、容量センサ１０２、１０２を含む複数の例示的入力／センサデバイスを組み込んでいる。１又は２以上の容量センサ１０２は、摩ること、抱き締めること、及び触ることなど、並びに時にユーザインタフェースとして機能することを含むがこれらに限定されない身体的親交的対話を感知するように作動することができる。ＰＣＤ１００は、ユーザから入力を受信し、かつＰＣＤ１００によるユーザへのデータ出力のためのグラフィックディスプレイとして機能するように構成されたデバイスとしてのタッチ画面１０４を更に組み込むことができる。ＰＣＤ１００は、静止画像及びビデオを含むがこれらに限定されない視覚的性質の入力を受信するための１又は２以上のカメラ１０６を更に組み込むことができる。更に、ＰＣＤ１００は、ユーザから入力を受信するための１又は２以上のジョイスティック１０８を組み込むことができる。更に、ＰＣＤ１００は、オーディオデータを発する又は他に出力するための１又は２以上のスピーカ１１０を組み込むことができる。更に、ＰＣＤ１００は、１又は２以上のマイクロフォン１１２を更に組み込むことができる。
【００２３】
ＰＣＤソフトウエアアーキテクチャ
【００２４】
図２を参照すると、例示的かつ非限定的実施形態によるソフトウエアアーキテクチャ２００を描くブロック図が例示されている。ソフトウエアアーキテクチャ２００は、ＰＣＤ１００がロボット実施形態、並びに接続されたデバイスを通して広範な用途にわたって人々に関わり合うことができる共感的ペルソナとしての体験を生命に与えることを可能にすることができる人工知能、機械学習、並びに関連のソフトウエアシステム及びハードウエアシステムのような技術に適応することができる。
【００２５】
例示的かつ非限定的実施形態により、ＰＣＤ１００に関連付けられた人工知能を人間の交際コードを機械に符号化することができる１又は２以上のカテゴリに分割することができる。一部の実施形態では、これら１又は２以上のカテゴリをＰＣＤの認識−感情表出アーキテクチャの基礎とすることができる。１又は２以上のカテゴリは、心理社会的知覚、心理社会的学習、心理社会的対話、及び心理社会的表現などを含むことができるがこれらに限定されない。人工知能の心理社会的知覚カテゴリは、ＰＣＤ１００の自然な親交的相互作用及び遠方場対話をサポートするための人間の親交的手がかりの統合機械知覚（例えば、視覚、聴覚、触覚）を含むことができる。心理社会的学習カテゴリは、ＰＣＤ１００が直接対話及びＰＣＤ１００及びデバイスデジタルエコシステムによって捕捉されたマルチモーダルデータからのデータ解析によって人々のＩＤ、活動パターン、プリファレンス、及び興味に対して学習することを可能にするアルゴリズムを含むことができる。ＰＣＤは、その近傍場及び遠方場の通信距離内に進入する人々の音声サンプルを記録し、検出した人々のＩＤ及び個人データを取得するために音声識別システムを利用することができる。更に、ＰＣＤは、ＢＬＥ対応デバイスの発見チャネル内で同報通信されるＵＵＩＤを検出し、デバイスユーザに関する個人データを復号することができる。ＰＣＤは、Ｆａｃｅｂｏｏｋ、Ｔｗｉｔｔｅｒ、及びＬｉｎｋｅｄＩｎなどのようなソーシャルネットワーキングサイトから追加の個人情報を収集するために、取得したＩＤ及び個人データを使用することができる。ＰＣＤは、その近傍場又は遠方場の通信距離内で検出した人々の存在及びＩＤを構成した人々の個人プロファイルの表示と共に告知することができる。
【００２６】
心理社会的対話カテゴリは、ＰＣＤ１００が、タスク及び活動、並びに人々との信頼及び感情的絆を構成する友好関係構成技能をサポートするために先見的意志決定処理を実施することを可能にすることができる。人工知能の心理社会的表現カテゴリは、ＰＣＤ１００が、そのマルチモーダル出力を「生命を宿すかのように」編成し、コンテンツを活気付け、更に発話、移動、グラフィック、音、及び照明の編成によって人々に共感的ペルソナとして関わり合うことを可能にすることができる。アーキテクチャ２００は、マルチモーダル機械知覚技術、発話認識、表現的発話合成、並びに対費用効果を改善するハードウエアモジュール（すなわち、モバイルデバイスに共通の構成要素）に対応するモジュールを含むことができる。図１に示すように、ＰＣＤ１００内には１又は２以上のソフトウエアサブシステムが設けられ、これら１又は２以上のサブシステムに対しては下記でより詳細に以下に説明する。
【００２７】
心理社会的知覚
【００２８】
ＰＣＤ１００の心理社会的知覚は、音声入力を処理するために使用することができる聴覚知覚と、ユーザの場所を見極め、ユーザの感情を捕捉し、ユーザのＩＤ及び身振りを認識し、ユーザとの対話を維持するために使用することができる視覚−空間的知覚とを含むことができる。ＰＣＤ１００の聴覚知覚は、マイクロフォンアレイ２０２と、２０４のような１又は２以上の信号処理技術と、自動発話認識モジュール２０６とを用いて実現することができる。更に、聴覚知覚は、対話型社会ロボットの独特の感知要件及び処理要件を有するモバイルコンピュータデジタルエコシステムに向けて生成される構成要素及び技術を利用することによって実現することができる。ＰＣＤ１００は、マイクロフォンアレイ２０２、及び信号処理モジュール２０４ａを用いたノイズ消去技術、並びに自動発話認識モジュール２０６及び聴覚情景解析を支援する第三者ソリューションを用いて発話による遠方場対話をサポートするためのハードウエア及びソフトウエアを含むことができる。
【００２９】
ＰＣＤ１００は、ノイズ環境内で人々が何と言っているかを聞いて理解することに適応するように構成することができる。これを行うために、音信号を自動発話認識器（ＡＳＲ）モジュール２０６に渡す前に信号処理モジュール２０４ａに通すことができる。ＡＳＲの成功率を改善するために、音信号は、静的及び動的な背景ノイズ、エコー、モータから、更に、他の人々の会話からも発話を分離するように処理される。
【００３０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、少なくとも４つのＭＥＭＳマイクロフォンのアレイを空間的構成に使用するように構成することができる。更に、特定の方向の音を分離するために、音到着時間に基づくアルゴリズム（本明細書ではビーム形成アルゴリズムと呼ぶ）を使用することができる。複数（例えば、合計で６つ）のマイクロフォン信号、方向ベクトル、及びマイクロフォン配置を用いて、ビーム形成アルゴリズムは、特定の空間的音源から到着する音を分離することができる。ビーム形成アルゴリズムは、複数のビームを同時に許容することによって複数の音源に関する情報を与えることができる場合がある。更に、発話−非発話検出アルゴリズムが、発話源を識別することができる場合があり、話者の空間的位置特定を可能にすることができる。一部の実施形態では、ビーム形成情報は、方向を選択するためのＰＣＤ１００の視覚システム及び認識システム、並びに方向転換して向けるための運動機能と統合することができる。例えば、３Ｄ空間内で人の頭の場所を検出するために３Ｄセンサを使用することができ、それに従ってその方向をビーム形成アルゴリズムに通信することができ、ビーム形成アルゴリズムは、感知された場所から到着する音を分離することができ、その後に、それをＡＳＲモジュール２０６に渡す。
【００３１】
作動中に、ＰＣＤ１００は、発声又はノイズを出すことのいずれかによって音を発生させる場合がある。信号処理モジュール２０４ａは、これらの音がマイクロフォンアレイ２０２を通してＡＳＲモジュール２０６に供給し戻されるのを阻止するように構成することができる。スピーカノイズを除去するために、信号処理モジュール２０４ａは、マイクロフォンによって感受されている信号からスピーカに供給されている信号を減算することができるアルゴリズムを使用することができる。調波の多いモータノイズを低減するために、ＰＣＤ１００は、機械的手法及び信号処理技術を実施するように構成することができる。
【００３２】
一部の実施形態では、ＰＣＤ１００は、モータの様々なポートから発生するノイズに対処するためにモータのこれらのポートをモニタすることができる。一例では、ＰＣＤ１００は、電機子軸受によってブーン音の形態で生成される可能性がある高周波を吸収することができる弾性材料内にモータを装着するように構成することができる。モータは、それが高速で回転している時にだけに目立つスー音を生成する可能性があるブラシを含む場合がある。従って、ＰＣＤ１００は、スー音を回避するために比較的低速でのアニメーション及び移動を示すことができる。更に、ＰＣＤ１００は、低めの歯車比を実施し、更にモータの速度を低減することによってスー音を回避するように構成することができる。一般的に、愛好家のサーボモータに見られるような低品質のＰＷＭドライブは、高ピッチのヒュー音を生成する場合がある。ＰＣＤ１００は、モータノイズのこの部分を排除するために良品質ＰＷＭドライブを用いて構成することができる。一般的に、モータの歯車は、モータノイズの大部分を占める低めのピッチの擦れ音をもたらす場合がある。最終歯車ドライブは、ドライブ系内の殆どのトルクを支持することができ、従って、殆どのノイズの発生源である。ＰＣＤ１００は、このノイズ発生源を最小にするために、最終歯車ドライブを摩擦ドライブで置換するように構成することができる。更に、ＰＣＤ１００は、モータが発生させるノイズを低減するために信号処理技術を使用するように構成することができる。一部の実施形態では、主マイクロフォンアレイ２０２内の信号からノイズ信号を減算することができるように、各モータの隣にマイクロフォンを配置することができる。
【００３３】
ＰＣＤ１００のオーディオパイプラインの出力が、ノイズ除去されたオーディオ源をＡＳＲモジュール２０６内に供給することができ、ＡＳＲモジュール２０６は、例えば、ＡＳＲのｎ−ｂｅｓｔ出力又はワードラティスを用いて発話をテキストに、時に有意な信頼度レベルで強化された別の競合するワード仮説に変換することができる。次に、発話のテキスト表現（ワード）は、ユーザの意志及びユーザが提供する情報を「理解」するために構文解析し、最終的に記号表現（意味構造）に変換することができる。ＡＳＲモジュール２０６は、通常音声及び典型的な対人通信距離に対応する距離でのユーザからの発話を認識することができる。一例では、距離は、周囲ノイズ及び発話品質を含む複数の環境属性に依存して５〜６フィート付近又はそれよりも大きいとすることができる。一例では、発話認識範囲は、一般的に１２フィート×１５フィートの部屋の区域を網羅しなければならない。ＡＳＲモジュール２０６に供給される信号は、マイクロフォンアレイビーム形成アルゴリズムの結果になり、話者の周りの約±３０度の集音角度から利用可能である。比較的狭い集音角度は、劣悪な発話認識精度の主原因である背景の周りノイズ及び残響の一部を能動的に低減することを可能にすることができる。例えば、話者がマイクロフォンから遠過ぎるか又は話者が過度に小声で発声していることに起因して発話信号が過度に低いシナリオでは、ＰＣＤ１００は、先見的に話者により近づくように依頼する（例えば、３Ｄセンサによって決定された話者の距離が利用可能である場合）又はより大声で発声するように依頼するか又はこれらの両方を行うことができる。一部の実施形態では、ＰＣＤ１００は、文法及び統計言語モデル（ＳＬＭ）を用いて大きい語彙の認識をサポートすることができる実時間埋め込みＡＳＲ手法を使用するように構成することができる。更に、発話認識率を改善するために、音響ＡＳＲモデルは、音響装備からのデータを用いて訓練及び／又は調整することができる。
【００３４】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ＡＳＲモジュール２０６とＰＣＤ１００の対話システムの間に挟むことができる自然言語処理層を含むように構成することができる。自然言語処理層は、ＡＳＲによって生成されたテキストを取得してそれに意味を割り当てることができる自然言語理解（ＮＬＵ）モジュールを含むことができる。一部の実施形態では、ＮＬＵモジュールは、上述の埋め込み発話認識がサポートすることができる拡張バッカス−ナウア記法（ＢＮＦ）表示、Ｊａｖａ（登録商標）発話文法フォーマット（ＪＳＧＦ）、又は発話認識文法フォーマット（ＳＲＧＦ）のようなフォーマットに適応するように構成することができる。より多くのユーザ発言が収集される時に、ＰＣＤ１００は、従来の文法をより高い発話認識及び理解の性能を与え、自動的なデータ駆動適応を可能にする統計的文法に徐々に転換することができる。
【００３５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、各対話タスクに対するマルチモーダル言語対話システムユーザインタフェース設計原理を用いて構造化対話フローを設計するように構成することができる（ＰＣＤ１００の頭脳に向けて採用されたタスクネットワーク表現に基づいて）。対話フローは、マルチモーダル入力（例えば、音声及びタッチ）を順次受信して（例えば、一度に１つの入力）、又は同時に受信して（例えば、入力を受信順に独立して処理することができる）マルチモーダル出力（例えば、音声プロンプト、ＰＣＤの移動、表示アイコン及び表示テキスト）を生成するように設計することができる。限定ではなく例として、ＰＣＤ１００は、イエス／ノー質問を投げ掛けることができ、ＰＣＤ１００の眼は、１又は２以上のタッチセンサが選択することができるイエス／ノーアイコンを有する疑問符形状に変態することができる。一部の実施形態では、ＰＣＤ１００は、意志を表現することができる自然言語対話（例えば、やあ、！写真を撮ろうよ！）を処理するように適応させることができる。一部の実施形態では、対話には、「方向に沿った言語対話」を続けることができる。例えば、写真を撮るという意志が識別された後に、ＰＣＤ１００は、直前に聞いたことを見るため又は追加情報を求めるためのいずれかを目的とする方向に沿った質問（例えば、私があなたの写真を撮りましょうか？）を投げ掛けることができる。
【００３６】
視覚−空間的知覚
【００３７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、２Ｄ映像、３Ｄ映像を感受するため又は運動又は色を感知するためにＲＧＢカメラ２１２、深度カメラ２１４、及び他のセンサのような１又は２以上の視覚−空間的知覚センサを使用するように構成することができる。ＰＣＤ１００は、周囲環境内でユーザの感情知覚を取得するように構成することができる。例えば、ＰＣＤ１００は、各人の表情に出た感情状態を検出することができる。ＰＣＤ１００は、一瞬一瞬のユーザの身体状態及び環境を記録するために視覚−空間的知覚サブシステムを含むことができる。このサブシステムは、ユーザの現在状態の推定を他の内部ソフトウエアモジュールに局所知覚空間（ＬＰＳ）２０８と呼ぶ動的に更新される共有データ構造として提供することができる。ＬＰＳは、ＰＣＤ１００の現在場所を中心とする単一３Ｄ座標系内で複数の感知入力ストリームを組み合わせることによって構成することができ、一方、ＰＣＤ１００の移動を考慮することができる運動変換を用いてセンサを３Ｄで位置合わせすることができる。一部の実施形態では、ＬＰＳ２０８は、各々がより高い詳細レベルに改善する複数レベルの情報を維持するように設計することができ、処理及び主要なセンサ入力を要求することができる。ＬＰＳ２０８のレベルは、以下のレベルを含むことができる。
【００３８】
人検出：このレベルは、隣接の周りに存在する個人を検出することができる。例えば、ＰＣＤ１００は、センサを用いて隣接の人々の数を計算することができる。一部の実施形態では、ＰＣＤ１００の向けるためにシステム内視覚運動キューを使用することができる。更に、システムを低電力「スリープ」状態に入れることができるが、依然として誰かが部屋に入るのに反応することができるようにマイクロコントローラ上にスリープ解除を実施するために、焦電赤外線（ＰＩＲ）感知及び簡単なマイクロフォン出力を統合することができる。人々の存在を検出するために、これを視覚運動キュー及び色セグメント化モデルと組み合わせることができる。検出は、ＬＰＳ２０８と統合することができる。
【００３９】
人追跡：ＰＣＤ１００は、人の場所を３Ｄで決定し、それに従って人の軌道を視覚、深度、運動、音、色、特徴部、及び能動的移動などのセンサを用いて決定するように構成することができる。例えば、ユーザ（特にユーザの頭／顔）の場所を決定するために視覚運動検出と３Ｄ人検出との組合せを使用することができる。更に、ＬＰＳ２０８は、遮蔽及び更に多くの人々を処理するために時間モデル及び他の入力を含むように適応させることができる。運動及び３Ｄの手がかりに加えて、システムは、ユーザの顔及び手を背景から適応的に分離するために画像からオンラインで色セグメント化モデル（ナイーブベイズ）を学習することができ（移動領域及び３Ｄから）、システムに対してロバストな人居場所検出を可能にするために複数の入力の結果をＬＰＳ２０８の空間的及び時間的なフィルタリングと組み合わせることができる。
【００４０】
人識別：ＰＣＤ１００は、既知及び未知の人を視覚センサ、聴覚センサ、又は人ＩＤに関するタッチ入力を用いて識別することができる。一例では、顔識別モジュールに対して１又は２以上のオープンソースＯｐｅｎＣＶライブラリを使用することができる。更に、顔検出に対する候補である限定画像領域セットを識別するために、人追跡情報と運動検出とを組み合わせることができる。
【００４１】
姿勢／身振り追跡：ＰＣＤ１００は、各人の姿勢又は体勢を視覚分類（例えば、顔、身体姿勢、骨格追跡のような）又はタッチマッピングを用いて識別することができる。一部の実施形態では、ＰＣＤ１００のセンサモダリティを使用するこの機能を組み込むために３Ｄデータセットを使用することができる。一例では、視覚及び３Ｄ視覚の特徴部の追跡に基づいてカスタム身振り認識を高速化するためにオープンソース身振り認識ツールキットを採用することができる。
【００４２】
注意の集中：ＰＣＤ１００は、集中区域を決定し、決定した集中区域に向く又はそこを注視することができるように構成することができる。様々なセンサを注意の集中に関する場所／方向セットに組み合わせることができる。例えば、人々の推定場所が、ＬＰＳ２０８内に注意集中場所セットを生成することができる。これらの場所は、所与の場所に対する注意駆動の信頼度に加えて人々の推定に関する最大確度の場所とすることができる。集中点及び方向のセットは信頼度によって評価され、他のモジュールによる使用のためのＬＰＳ２０８の包括的な要約が生成される。ＰＣＤ１００は、ユーザに直接話しかけ、複数のユーザの間で途切れることなく「凝視を急転させる」ように凝視ターゲットを選択するためにこれらの集中点及び方向を使用することができる。更に、それにより、ＰＣＤ１００ロボットが隣接のユーザの存在を見るために低めの信頼度の場所を注視することを可能にすることができる。
【００４３】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、システム内に活動推定を含めるように構成することができ、又は音声入力による追跡及び識別、並びに音声韻律からの感情状態の推定に向けてより多くのセンサモダリティを組み込むことができる。ＬＰＳ２０８は、処理ターゲットの入力特徴に対して格子ベースの粒子フィルタモデルを用いて複数の入力からのデータを組み合わせることができる。粒子フィルタは、ユーザの身体的状態のロバストなオンライン推定、並びにＰＣＤ側の更に別の感知及びアクションによって解決しなければならない重大な不確立性が存在する場合の複数の仮定ケースに関する表現に対してサポートを与えることができる。必然的に粒子フィルタリング技術は、明確な閉形態の関節分布モデルを必要とすることなく関連の属性と感知入力との組合せを物理的に測定可能なユーザ状況に組み合わせることを可能にすることができる。更に、格子ベースの粒子フィルタは、３Ｄ（立体）及び２Ｄ（映像）の感知入力を単一座標系内で融合し、いずれか所与の時点で１つの物体しか空間を占有することができないという制約条件を課すのに役立たせることができる。
【００４４】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、それ自体がユーザを直接注視していない可能性がある場合であってもモデルユーザ状況を経時的に捕捉するのに役立たせることができる発見的提案分布及び発見的遷移モデルを含むように構成することができる。この構成は、ＰＣＤ１００との言語手がかり及び非言語手がかりを用いた自然な方向転換を行いながらの多者間会話を可能にすることができ、粒子フィルタリングフレームワーク内に容易に適応させることができる。その結果、ロバストな統計推定を人間中心の発見的方法と原理に則った方式で組み合わせることを可能にすることができる。更に、ＬＰＳ２０８は、度重なる対話から過去の確率分布を学習することができ、人々が廊下、ドア、及び調理台付近から現れる可能性がある空間内の「ホットスポット」に適応することになり、ユーザに最も関連性の高い場所に自動的にターゲットを定めるためにこの空間情報を使用することができる。低レベル画像及び信号処理コードは、ＯｐｅｎＣＶ、統合ビジョンツールキット（ＩＶＴ）、一般的な数値処理のためのＥｉｇｅｎ、及びプロセッサ特定の最適化ライブラリのような高品質オープンソースツールに基づいてカスタム化することができる。
【００４５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ビデオストリームから喜び、怒り、侮り、嫌悪、恐れ、悲しみ、混乱、欲求不満、及び驚きのような様々なレベルの感情を認識するように構成することができる。一部の実施形態では、ＰＣＤ１００は、頭の位置、性別、年齢、及び誰かが眼鏡を着用しているか否か、顔の毛を有するか否かなどを決定するように構成することができる。
【００４６】
例示的かつ非限定的実施形態により、オーディオ入力システムは、ユーザに集中する。一部の実施形態では、ＰＣＤ１００は、例えば、ロボットの移動、運動、及び推定３Ｄ注意集中方向に依存してオーディオビーム形成機能の方向を実時間で更新するように構成することができる。この構成は、ＰＣＤ１００が、関連かつアクティブオーディオ入力がある特定の「セクター」を選択的に傾聴することを可能にすることができる。それにより、完全３Ｄ人感知及び注意の集中との統合によってＡＳＲ及びＮＬＵの機能の信頼性を高めることができる。
【００４７】
空間的確率学習
【００４８】
例示的かつ非限定的実施形態により、ユーザがチェックインした時にＰＣＤ１００がより円滑に関わり合うのを助けるために、空間的確率学習技術を使用することができる。長期間にわたって、ＰＣＤ１００は、ユーザの到着及び合同的存在のシーケンスを格納し、所与の部屋に関するこれらの統計を累積することができる。この統計累積は、入室時にユーザとの関わり合い規則を予想する機能を与えることができ、それによってＰＣＤ１００が所与の期間にわたってセクターを方向転換すること、更に部屋の占有者を推量することさえも可能にすることができる。例えば、この機能は、ＰＣＤ１００が入室する誰かを完全に識別してしまうことができる前に「やあ、ビリー、君かい？」と言う対話をサポートするための限定的予想を使用する機能をＰＣＤ１００に与えることができる。同時に、ＰＣＤ１００は、当該時刻で誰かを見ることになる可能性が最も高い空間的方向に方向転換することができる。
【００４９】
心理社会的対話
【００５０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、完全に自律した人工キャラクターとすることができる。ＰＣＤ１００は、感情を有することができ、独自のゴールを選択し（ユーザ入力に基づいて）、これらのゴールを達成してユーザを幸福で健全な状態に保つために閉ループ実時間制御システムを実行することができる。心理社会的対話モジュール（ＰＳＩＭ）は、センサの出力を処理して出力及び表現に向けてアクションを選択することができる閉ループの別個の時間制御システムの最上位層である。様々なサポート処理がＣＰＵ上で同時に進行することができ、感知入力を意志決定モジュールに非同期的に配信することができる。「ティック」は、新しいアクション及び表現を選択するためにＰＣＤ１００の累積センサ情報と、現在の短期格納／知識と、タスク駆動の意志状態とを組み合わせることができる意志決定サイクルである。
【００５１】
図３Ａは、例示的かつ非限定的実施形態によるＰＳＩＭ３００のアーキテクチャを示している。ＰＳＩＭ３００のコアは、他の要素の作動を編成するエグゼクティブ３０２である。エグゼクティブ３０２は、ＰＣＤ１００の頭脳の定期更新を受け持つ。ＰＳＩＭ３００の各「ティック」は、心理社会的表現モジュールに以下の方式で新しい指令を出すように進行する処理段階セットを含むことができる。
【００５２】
内部更新：
ａ．感情更新
ｂ．ゴール選択
【００５３】
入力処理：
ａ．心理社会的知覚３０４からの非同期入力をサンプリングし、意志決定モジュールの黒板３０６内に更新入力する。
ｂ．入力は、様々なユーザからの人居場所、顔ＩＤサンプル、及び構文解析されたＮＬＵ発言のような情報を含むことができる。
ｃ．黒板３０６として更新する必要がある可能性がある新しい情報のみがキャッシュのように機能することができる。
ｄ．更に、現在のタスクに関連の情報を捕捉する必要がある場合がある。
【００５４】
クエリ処理：
ａ．いずれかの知識クエリ作動からの結果を心理社会的知識ベース３０８から黒板３０６内にサンプリングする。
ｂ．このサンプリングは、クエリ作動の繰延処理の結果を現在の意志決定での使用に向けて収集することができる。
【００５５】
タスクネットワーク３１０：思考／更新
ａ．エグゼクティブ３０２は、タスクネットワーク３１０の「思考」作動及びいずれか必要なアクションを実行することができ、各レベルで意志決定を行う。この処理中にタスクネットワーク３１０内のアクティブノードセットを更新することができる。
ｂ．タスクネットワーク３１０は、ロボットの対話に対する階層型コントローラとして機能する状態機械ベースの論理部の柔軟な形態である。
【００５６】
出力処理：
ａ．特定の黒板３０６のフレーム内にロードされた出力を心理社会的表現モジュール３１２に伝達する。
【００５７】
例示的かつ非限定的実施形態により、エグゼクティブ３０２は、タスクネットワーク３１０内のタスクの非同期ディスパッチという重要なサービスを提供することができる。ネットワーク３１０内のあらゆるタスクは、いずれかの計算負荷が高い作業を実施するために非同期ディスパッチを要求することによって同時背景スレッドへの計算を繰延べることができる場合がある。この機能は、タスクネットワーク３１０が重い計算及び低速又はネットワークＩ／Ｏを阻害さえするようなものを意志決定サイクルを「阻害」することのないか又はＰＣＤ１００の意志決定処理の反応性を変化させることのないアクションとして編成することを可能にすることができる。一部の実施形態では、エグゼクティブ３０２は、タスクネットワーク３１０の新しいセクションを生成する計画作動をディスパッチすることができ、生成物の知能が成熟する時に計画機能によって作動を拡張するようにこれらのセクションは実行木に動的に取り付けられることになる。タスクネットワーク３１０は、同時階層型有限状態機械（ＣＨＦＳＭ）の形態として概念することができる。しかし、挙動木設計によって使用される手法は、人間の設計者とソフトウエア技術者とが協働してコンテンツパイプライン内で対話型体験を生成することを可能にすることにおいて多大な成功を収めている。タスクネットワーク設計は、従来のプログラミング言語での不整合がなく有効なタスクの実施及び構成を可能にすることができる。
【００５８】
図４は、ＰＣＤ１００による挨拶対話の簡易バージョンを示すタスクネットワークを示している。タスクネットワーク３１０のアーキテクチャは、様々な表現、移動、感知アクション、及び発話をエンジン内で統合することを可能にし、それによって設計者にＰＣＤ１００の対話動特性に対する完全な制御を与える。図示のように、作動中のいずれかの時点でネットワークの微小部分が有効である。技術系と設計系の両方の閲読者に情報伝達するために、視覚タスクネットワーク表現をコンテンツ生成の一部として使用することができる。この例では、ＰＣＤ１００のＰＩＲセンサは、区域に入る人を検出している。ＰＣＤ１００は、その誰かに挨拶する必要がある可能性があることを認識し、「ユーザに挨拶」シーケンスを開始する。この「ユーザに挨拶」シーケンスは、運動手がかりを追跡し始め、両者が近づく時にユーザに関する追跡を更新しながら次に「やあ、」と言うことができる。ＰＣＤ１００は、ユーザの顔ＩＤを捕捉するために視覚入力を更新し続けることができる。このシナリオでは、この誰かがジェーンであることをＩＤが示し、従って、ＰＣＤ１００は、シーケンスの次の部分に移り、そこでジェーンが元気か否かを見るための発言を形成することができ、応答に対して準備を整えるためにＡＳＲ／ＮＬＵ処理窓を開ける。ジェーンが何かを言うと、この発言を「良い」又は「悪い」に分類するために知識クエリを使用することができ、ＰＣＤ１００は、その挨拶を完了するためにジェーンに対する適切な身体及び発話の反応を形成することができる。このネットワークは、知能がどのように機能するかに関する概念を伝えることができる。
【００５９】
心理社会的表現
【００６０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、それ自体の社交性を相補することができるエンジンを含むように構成することができる。例えば、エンジンは、発話出力を修正するためのタグ付けシステムを含むことができる。エンジンは、ＰＣＤ１００の音声品質を制御することを可能にすることができる。一例では、ＰＣＤ１００の音声を制御するために、音声アーティストによる録音を行うことができる。エンジンは、埋め込みデバイスに対する高品質圧縮オーディオファイル及び直接的な評価モデルのような特徴を含むことができる。更に、ＰＣＤ１００は、身体関節回転と、グラフィック、形状、テクスチャ、及び色と、ＬＥＤ照明又はムード配色と、計時と、ＰＣＤ１００のいずれかの他の表現態様とに関するアニメーションを提供するためのアニメーションエンジンを含むことができる。これらのアニメーションには、オーディオ手がかり、発話、芳香のような他の表現出力を添付することができる。次に、アニメーションエンジンは、当該アニメーションの全て又は一部を様々な速度、遷移、曲線間で手順的アニメーションと実時間で合成しながら再生することができる。このエンジンは、異なるＰＣＤモデル、形状、及び自由度を柔軟に受け入れることができる。
【００６１】
動的ターゲッティング
【００６２】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、３Ｄ空間内の点にＰＣＤ１００を手順的に向けることができるアルゴリズムを使用するように構成することができる。ＰＣＤ１００の眼は、ＰＣＤ１００の身体が別個のアニメーションを演じている間に単一点に固定されるように見えることが可能であり、又は眼は、特定の方向の点に先導することができ、同時に身体が追従することができる。実施形態では、ＰＣＤの注視ターゲットを計算するために、閉形式幾何学ソルバーを使用することができる。次に、このターゲット姿勢は、加速度制約条件、加算合成／積層化、及びＶＯＲ（前庭動眼反射）シミュレーションに対するサポートを含むことができるマルチターゲット合成システム内に供給される。
【００６３】
シミュレーション
【００６４】
例示的かつ非限定的実施形態により、アニメーションエンジンは、アニメーション及び手順的アニメーションを仮想的に演じ、合成することができるシミュレータを含むことができる。シミュレータは、顔検出のような感知入力を模倣することができる。一部の実施形態では、アニメーションを検証及び試験するために、仮想モデル内への物理シミュレーションをロボットの質量、モータの動力、及びロボットの電流引き込み制限を考慮しながら構成することができる。
【００６５】
眼
【００６６】
例示的かつ非限定的実施形態により、個人のグラフィック表現、例えば、ＰＣＤ１００の眼は、それが様々な物体にそれ自体を変態させて成形することを可能にするために関節を用いて構成することができる。眼グラフィックエンジンは、虹彩を様々な形状に変態させ、その色を変化させ、テクスチャを変化させて最大の表現範囲を可能にするために、カスタムアニメーションファイルを使用することができる。
【００６７】
グラフィック
【００６８】
ＰＣＤ  ＡＰＩは、２Ｄシーングラフ様式インタフェースでのグラフィック、写真、アニメーション、ビデオ、及びテキストの表示をサポートすることができる。
【００６９】
プラットフォーム及びエコシステム
【００７０】
ＰＣＤ１００は、モバイルデバイスの「コンパニオン」アプリのエコシステム、クラウドベースのバックエンド、及び購入可能なコンテンツ及び機能を有するオンラインストアに結合された高集積高性能埋め込みＬｉｎｕｘ（登録商標）システムに基づくプラットフォームである。
【００７１】
ＰＣＤ  ＳＤＫ
【００７２】
ＰＣＤ  ＳＤＫは、第三者開発者が低学習曲線を有する機能を追加することができるオープンで柔軟なプラットフォームを提供するためにＪａｖａｓｃｒｉｐｔ（登録商標）及び最新のウェブ開発者コミュニティのオープン言語を利用することができる。ＰＣＤ  ＳＤＫによって生成されたＰＣＤの全てのアプリ、コンテンツ、及びサービスは、ＰＣＤアプリストアからのダウンロードに向けて利用可能である。ＴＴＳ、感知認識、ＮＬＵ、アニメーション、及びその他を含むＰＣＤの機能の全ては、ＰＣＤ  ＡＰＩを通して利用可能になる。このＡＰＩは、ＣｈｒｏｍｅのオープンソースＪａｖａＳｃｒｉｐｔエンジンであるＶ８の上に構成されたＪａｖａＳｃｒｉｐｔプラットフォームであるＮｏｄｅＪＳを使用する。ＮｏｄｅＪＳは、高速かつ効率的であり、ロボット工学プログラミングに変換しやすい事象駆動型モデルを使用する。ＮｏｄｅＪＳは、設定不要の豊富な機能を伴い、アド−オンとして容易に拡張可能である。ＰＣＤ  ＡＰＩは、ＮｏｄｅＪＳアド−オンになる。更に、アド−オンは容易に解除又は修正されるので、開発者がＰＣＤと対話することができる方法を制御することができる。例えば、開発者は、アウトバウンドソケットを生成することができるが、アウトバウンド接続の数を制限することもできる。
【００７３】
クラウドアーキテクチャ
【００７４】
例示的かつ非限定的実施形態により、ＰＣＤの知能をサポートし、未使用コンテンツを取り出し、人々が自分の家族とつながった状態に留まることを可能にするために高度なクラウドベースのバックエンドプラットフォームを使用することができる。家庭内のＰＣＤデバイスは、ＷｉＦｉを通してクラウド内のＰＣＤサーバに接続することができる。ＰＣＤクラウドサーバへのアクセスは、非常にセキュアな暗号化ウェブ通信プロトコルに頼る。ＰＣＤユーザ、介護者、及び無休で働く家族構成員をサポートすることができる様々なアプリケーションをｉＯＳ、Ａｎｄｒｏｉｄ、及びＨＴＭＬ５に対して開発することができる。これらのモバイルアプリ及びウェブアプリを使用することで、ＰＣＤ１００は、多くのデバイス上で常時ユーザのそばにいることができ、その間に終始、ユーザのプリファレンス、必要性、及び興味をどのようにより確実にサポートするかを学習しながら支援を実施する。図２を参照すると、ＰＣＤ１００は、ユーザが将来のＰＣＤロボットリリースへのアップグレードを容易に行い、かつペルソナ及びユーザとＰＣＤとが確立した関係を維持することができるように、ＰＣＤ１００をその家族に対して独特のものにすることができる全てのデータをクラウド内でミラーリングするように構成することができる。例えば、ＰＣＤのサーバは、機械学習アルゴリズムがユーザモデル２１６を改善し、ＰＣＤペルソナモデル２１８を適応することを可能にするために、クラウドストレージ２１４内のデータを収集し、ＰＣＤロボット及び他の接続されたデバイスからのメトリックを計算するように構成することができる。更に、製品の提供を継続的に改善するために、クラウドストレージ２１４において収集されたデータは、ＰＣＤのどの機能がユーザに最も適合しているかを解析し、ＰＣＤデジタルエコシステムにわたる使用パターンを理解するために使用することができる。
【００７５】
例示的かつ非限定的実施形態により、クラウドベースのバックエンドプラットフォームは、多くのＰＣＳ間で共有されることが意図されたデータの格納及び配信に向けて使用すべきデータベースシステムを含むことができる。クラウドベースのバックエンドプラットフォームは、人々の識別においてＰＣＤをサポートするサービスアプリケーション（例えば、音声ＩＤアプリケーション）及びソーシャルネットワークとの連携によって個人マルチモーダルデータの収集においてＰＣＤをサポートするサービスアプリケーションをホストすることができる。
【００７６】
クラウドベースのサーバ
【００７７】
例示的かつ非限定的実施形態により、１又は２以上のＰＣＤ１００は、圧縮ＪＳＯＮを使用するＲＥＳＴｆｕｌベースのウェブサービスを用いてクラウドベースのサーババックエンドと通信するように構成することができる。
【００７８】
セキュリティ
【００７９】
例示的かつ非限定的実施形態により、識別情報を検証するために、ゼロ構成ネットワークプロトコルをＯＡＵＴＨ認証モデルと併用することができる。更に、役割及び許可の周りに追加のセキュリティプロトコルを設けるために、取りわけ、Ａｐａｃｈｅ（登録商標）によって提供されているＳｈｉｒｏ（登録商標）セキュリティフレームワークのようなセキュリティフレームワークを適用することができる。全ての機密データはＳＳＬを通して送られることになる。サーバ側では、データは、コンテンツトークンを取得するためにＯＡＵＴＨを使用する厳しいファイアウォール構成を用いてセキュアに保つことができる。更に、有効なコンテンツトークンを有するためには、クラウドベースのサーバへの全ての呼び出しを必要とする場合がある。
【００８０】
コンテンツ配信
【００８１】
例示的かつ非限定的実施形態により、所与のＰＣＤデバイスのための最新のコンテンツを取得するためのウェブサービス呼び出しを含むサーバＡＰＩが使用される。このウェブサービスは、全てのペンディング中のメッセージ、警告、更新リスト（例えば、ショッピング、リマインダー、及びチェックインなど）、及び他のコンテンツのリストを簡潔で小型のジョブマニフェスト内で戻す高レベルの呼び出しを可能にすることができる。ＰＣＤロボットは、それ自体の現在の予定表に基づいて、このマニフェスト内に表されているペンディングデータを相応に取り出すことができる。一部の実施形態では、ＰＣＤの真実はクラウド内にあり、すなわち、リスト、リマインダー、チェックイン、及び他のアプリケーション状態のマスター記録がＰＣＤサーバ上に格納される。ロボットが最新のコンテンツへのアクセスを有することができることを保証するために、ＡＰＩを頻繁に呼び出すことができ、コンテンツを相応に（しかし、適時に）収集することができる。
【００８２】
ワークフロー管理
【００８３】
例示的かつ非限定的実施形態により、クラウドにオフロードされ、実時間で結果を戻すことにはならない機能を使用することができる。これは、上記で議論した予定表に基づくメッセージの待ち行列化の概念と密接に結び付けることができる。更に、これは、サービス要求をＲＥＳＴｆｕｌウェブサービスＡＰＩを通して行うことを可能にし、ジョブをアプリケーションサーバにディスパッチすることができるサーバアーキテクチャを必要とする場合がある。そのようなシステムを従来のメッセージ待ち行列化システムと共に実施するために、Ａｍａｚｏｎ  Ｓｉｍｐｌｅ  Ｗｏｒｋｆｌｏｗ（ＳＷＦ）又は類似のワークフローを使用することができる。
【００８４】
更新
【００８５】
例示的かつ非限定的実施形態により、更新を必要とする可能性があるコンテンツは、オペレーティングシステムカーネル、ファームウエア、ハードウエアドライブ、Ｖ８エンジン、又はＰＣＤ１００のコンパニオンアプリを含むことができる。このコンテンツへの更新は、利用可能な更新のタイプに関する情報を戻し、特定の項目の要求を可能にするウェブサービスを通して利用可能にすることができる。ＰＣＤは、ユーザ活動を妨害するのを回避するために日和見的であることが多くの場合に必要になるので、ロボットは、更新を適用することができる時にそれを要求することができる。更新に関して定期的にポーリングを行う上でＰＣＤロボットに頼るのではなく、ある一定のタイプの更新の利用可能性をロボットにプッシュすることができる。
【００８６】
ロギング／メトリック
【００８７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、サーバにログ情報を送ることができる。サーバは、このデータを適切な入れ物（ＳＱＬ又はＮｏＳＱＬ）に格納することができる。データを解析するために、Ｈａｄｏｏｐ（Ａｍａｚｏｎ  ＭａｐＲｅｄｕｃｅ）及びＳｐｌｕｎｋのようなツールを使用することができる。メトリックは、人々がＰＣＤ１００とどのように対話し、それをどのように使用するかに関する報告を実行することができるようなクエリ可能なものとすることができる。これらの解析の結果は、ＰＣＤがどのように学習し、対話し、挙動するかに対して、更に将来の更新においてどの機能を必要とする可能性があるかに関するパラメータを調節するために使用することができる。
【００８８】
機械学習
【００８９】
例示的かつ非限定的実施形態により、ＰＣＤロボット及びクラウドベースのシステムが継続的に改善を行うことを可能にするために、様々な訓練システム及びフィードバックループを開発することができる。ＰＣＤロボットは、機械学習アルゴリズムを訓練するために使用することができる。情報は、収集することができる。ある程度の量の機械学習はロボット自体において行うことができるが、クラウド内では、分類器を訓練するためのデータが多くの情報源から集約されている場合がある。クラウドベースのサーバは、正確に聞こえる、見える、又は理解される確率が低いコンテンツの曖昧性を解消するためにある程度の量のデータを人間符号器に送ることによって真値を決定することを可能にすることができる。新しい分類器が生成された状態で、これらの分類器は、上記で議論した更新システムを通して送り出すことができる。機械学習及び分類器／予想器の訓練は、監督下学習法、無監督下学習法、又は強化学習法とより複雑な真値の人為的符号化との両方にわたるとすることができる。訓練信号は、ＰＣＤロボットがタスクを完了したという知識、又は音声、タッチプロンプト、笑顔、身振りのようなユーザが発生させる明確なフィードバックを含むことができる。クラウド内のこれらそれぞれのシステムの品質を改善するために、顔を含むことができるカメラからの累積画像及びオーディオデータを使用することができる。
【００９０】
テレプレゼンスサポート
【００９１】
例示的かつ非限定的実施形態により、ビデオチャットオプションを含むテレプレゼンス機能を使用することができる。更に、ユーザの安全を保証するためのビデオチャット周りのセキュリティモデルが有効にされる。更に、ビデオチャット機能の不正使用からエンドユーザを保護するために役割、許可、及びセキュリティのインフラストラクチャを利用するウェブアプリ、並びにモバイルデバイスアプリを使用することができる。
【００９２】
ソフトウエアインフラストラクチャ
【００９３】
本出願人の高レベルソフトウエアシステムに不整合がなくロバストで信頼性の高い開発環境を提供するために、ＰＣＤのソフトウエアシステムの高レベル機能は、主要ライブラリ、盤サポート、ドライブ、及び他の依存性を用いてカスタム化されたロバストで有利な埋め込みＬｉｎｕｘプラットフォーム上に構成される。最上位レベルの機能モジュールは、本出願人の埋め込みＬｉｎｕｘシステム内の処理として達成される。ＰＣＤのモジュールインフラストラクチャは、コンテンツの柔軟なスクリプト式、対話、及び挙動をＪａｖａＳｃｒｉｐｔでサポートし、それに対してコンピュータにより重い演算を言語ライブラリに基づくＣ＋＋及びＣでサポートすることに特定的にターゲットが定められる。このインフラストラクチャは、Ｖ８ＪａｖａＳｃｒｉｐｔエンジン及びＣ＋＋のモジュール及びライブラリとしてパッケージ化された主要な拡張部及びサポートを有する好結果を誘導するＮｏｄｅ．ｊｓプラットフォーム上に構成される。
【００９４】
ハードウエアシステムアーキテクチャ
【００９５】
図５Ａは、ＰＣＤ１００の１又は２以上の機能の感知、モータ、接続、電力、及び計算の必要性をサポートするように設計することができるＰＣＤ１００のハードウエアアーキテクチャを示している。一部の実施形態では、ＰＣＤ１００の１又は２以上の要素は、ハイエンドタブレット及び他のモバイルデバイスに使用されてきたものとすることができるコアハードウエアの特殊化物及び適応物である。しかし、形状、運動、及びセンサの物理的な実現及び編成はＰＣＤ１００に独特のものである。本明細書ではＰＣＤ１００の全体的な物理構造を三環ゼータタイプと呼ぶ場合もある。ＰＣＤ１００のそのようなタイプの物理構造は、ＰＣＤ１００に不整合がなく制御可能かつ魅力的な作用線を与えることができる。実施形態では、構造は、注意及び感情を伝えるためにキャラクターアニメーション制作者によって使用することができる原理から導出することができる。ＰＣＤ１００の物理構造は、３つのリング体積、運動範囲、及び必要なセンサ配置に基づいて機械的及び電気的なアーキテクチャの境界を定めることができる。
【００９６】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、移動に対する３つの軸と、１又は２以上の立体視覚カメラ５０４と、マイクロフォンアレイ５０６と、タッチ感知機能５０８と、ＬＣＤディスプレイ５１０のようなディスプレイとを含むように構成することができる。移動に対する３つの軸は、感情表現と、センサを方向付けし、ユーザに自然に付き添う機能とをサポートすることができる。立体視覚カメラ５０４は、ビデオ入力及びカメラスナップなどを供給するためにユーザの３Ｄ場所特定及び追跡をサポートするように構成することができる。マイクロフォンアレイ５０６は、ＡＳＲ性能を最大にするためにビーム形成されたオーディオ入力をサポートすることができる。タッチ感知機能５０８は、ＰＣＤ１００を友人のように見せること又はユーザインタフェースの形態としての別の対話を可能にすることができる。ＬＣＤディスプレイ５１０は、感情表現、並びに動的な情報表示をサポートすることができる。周囲ＬＥＤ照明を含めることもできる。
【００９７】
例示的かつ非限定的実施形態により、ハードウエアアーキテクチャ５００は、埋め込み制御及びロボット工学空間からのＣＯＴＳプロセッサに基づいて、モバイルデバイス及びタブレット空間からのハイエンドアプリケーションプロセッサと組み合わせることができる電気アーキテクチャを含むように構成することができる。埋め込みコントローラは、運動制御及び低レベルセンサ集計を受け持ち、それに対してソフトウエアスタックの大部分はアプリケーションプロセッサ上で実行される。製品内の電気盤は、Ｖ１設計では機能単位で分離され、それによってロボットの物理構造に整合するモジュール性を与えることができ、同時に１つの盤での設計変更をより大きい設計更新に拡張する必要性が軽減される。一部の実施形態では、電気アーキテクチャは、捕捉画像を立体システムに対して適時に登録することができるようにハードウエア同期をサポートすることができる２つのモバイル産業ベースの低解像度ＭＩＰＩカメラモジュールを統合することができるカメラインタフェース盤を含むことができる。立体カメラは、ビデオを連続モードでストリーミングするように設計される。更に、カメラインタフェース盤は、高解像度写真及びビデオ会議のビデオ品質を撮影するために単一ＲＧＢアプリケーションカメラをサポートすることができる。ＲＧＢアプリケーションカメラは、特定の写真撮影、画像スナップ、及びビデオアプリケーションに使用するように設計することができる。
【００９８】
例示的かつ非限定的実施形態により、ハードウエアアーキテクチャは、マイクロフォンアレイ５０６と、オーディオ処理コーデックサポート５１４とを支持することができ、デジタルオーディオストリームを主アプリケーションプロセッサ５１６に送るマイクロフォンインタフェース盤を含むことができる。本発明者のコーデック５１４からのオーディオ出力は、スピーカ５１８が音の分離に向けて身体の別個のセクションに存在することで外部に伝達することができる。
【００９９】
例示的かつ非限定的実施形態により、ハードウエアアーキテクチャは、身体の中央セクション内で統合することができ、ＰＣＤ１００に対してモータ制御、低レベル身体感知、パワーマネージメント、及びシステム起動機能を与える身体制御盤５２０を含むことができる。限定ではなく例として、身体制御盤５２０は、産業規格ＣｏｒｔｅｘＭ４Ｆマイクロコントローラプラットフォームの周りに構成することができる。これに加えて、アーキテクチャ５００は、コアシステムオンチップ（ＳｏＣ）プロセッサを形成してロボットシステムの残余を互いに結び付けることができるアプリケーションプロセッサ盤を含むことができる。一部の実施形態では、盤は、システムオンモジュール（ＳｏＭ）を用いて早期プロトタイプを開発する時間及び費用を最小にすることができる。一部の実施形態では、アプリケーションプロセッサ盤は、コスト低減及び簡単な製造に向けてＳｏＣプロセッサを含むことができる。アプリケーションプロセッサ盤の重要なインタフェースは、ＭＩＰＩカメラと、ディスプレイと、無線通信と、高性能オーディオとをサポートするためのインタフェースを含むことができる。
【０１００】
例示的かつ非限定的実施形態により、ハードウエアアーキテクチャ５００は、ＰＣＤ１００の電力要件に対処することができるパワーマネージメント盤５２２を含むように構成することができる。パワーマネージメント盤５２２は、電力調整器と、バッテリ充電器と、バッテリとを含むことができる。電力調整器は、ハードウエアアーキテクチャ５００の１又は２以上の要素又は盤が調節された電源を受電することができるように入力電力を調整するように構成することができる。更に、バッテリ充電器は、ＰＣＤ１００が長時間にわたって作動することを可能にするためにバッテリを充電するように構成することができる。一部の実施形態では、ＰＣＤ１００は、壁コンセントのためのプラグ及びブラインドメイト充電コネクタを組み込むことになる充電ドック／ベース／クレードルを有することができ、それによってＰＣＤ１００は、ベース上に置かれた時に内部バッテリを充電することができることになる。
【０１０１】
機械アーキテクチャ
【０１０２】
例示的かつ非限定的実施形態により、ＰＣＤ１００の様々な機能は、ユーザに単一デバイスの形態で提供される。図６Ａは、使いやすい方式でユーザに様々な機能を提供するのに必要なソフトウエア及びハードウエアのアーキテクチャを含むように構成することができるＰＣＤ１００の例示的設計を示している。ＰＣＤ１００の機械アーキテクチャは、費用効果的な材料費に的を絞りながら静寂性による優雅さと豊富な表現力とに向けて最適化してきたものである。いくつかの成熟した市場から最適な要素を慎重に選択し、それらをＰＣＤ１００のための独特の組合せにまとめ上げることによって独特のデバイスを提供する。図６Ａに示すように、機械アーキテクチャは、ＰＣＤ１００内の例示的位置にマイクロフォン盤、主盤、バッテリ盤、身体制御盤、カメラ盤のような様々な盤の配置を示している。更に、冷却効果を与えるための空気流を相応に可能にするためにＰＣＤ１００の設計に１又は２以上の通気口が設けられる。
【０１０３】
以下で説明する様々な例示的かつ非限定的実施形態により、ＰＣＤは、データを感知するためにプロセッサと通信している複数のセンサを利用する。下記で説明するように、これらのセンサは、プロセッサがタスクを実施するために一連のプログラム可能アルゴリズムを通して作動するのに基礎とする全ての方式の感覚入力を取得するように作動する。これらのタスクの達成において、ＰＣＤ１００は、その一部を形成するローカルメモリに格納されたデータを利用し、更にサーバ又はクラウド内にリモートに格納されたデータに有線モード又は無線モードの通信などを通してアクセスする。同じく、ＰＣＤ１００は、タッチ画面、スピーカ、及び触覚要素などのような様々な出力デバイスを利用して親交的対話に携わっているユーザに情報を出力する。コンパニオンデバイスに関するデータ、センサ、プロセッサ、及び通信モードの作動及び相互作動性を詳述する追加の非限定的開示は、その出願の内容が本明細書に引用によって組み込まれている［特許文献１］に見出すことができる。
【０１０４】
本明細書に説明する実施形態は、特にＰＣＤ１００とユーザ間の親交的対話をもたらすためにそのようなコンパニオンデバイスを適用することができる機能及び機能の新しく非自明の実施形態を提供する。当業者に公知であるように、物理環境からの親交的手がかりを評価及び検出するために様々な形態のセンサデータ及び技術を使用することができることを理解しなければならない。そのような技術は、音声及び発話の認識、眼球移動追跡、人間の姿勢、位置、及び運動などの視覚的検出を含むがこれらに限定されない。本発明の開示をそのような技術に関して説明するが、本明細書に説明する特徴及び実施形態を達成するためにＰＣＤ１００によってデータを取得、処理、及び出力するあらゆる全ての方法を網羅するように広義に線引きする。
【０１０５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、携帯電話、ＰＤＡ、腕時計のようなモバイルコンピュータデバイス上で実行された時等に、仮想的な存在として純粋に物理的な実施形態で表すことができ、又は混合モードの物理／仮想ロボットとして表すことができる。一部の実施形態では、混合モードＰＣＤ、物理ＰＣＤ、又は仮想ＰＣＤを駆動するためのソース情報をその全てが同じ実施形態であるかのように導出することができる。例えば、ＧＵＩインタフェースを通して入力されてデータベースに格納されたものとすることができるソース情報は、機械ＰＣＤを駆動し、更に、仮想ＰＣＤの一部を形成するディスプレイのアニメーション構成要素を駆動することができる。一部の実施形態では、ソース情報は、ＡＩシステムからの出力、リアルタイム感知からの出力、ソースアニメーションソフトウエアモデル、及び運動情報モデルなどを含む様々なソースを含む。一部の実施形態では、単一ソースから純粋に仮想的なキャラクター（ソースにある）の挙動に関するデータをプッシュすることができ、次に、物理ＰＣＤに向けて物理モード、並びに仮想モードを出力することができる。このようにして、ＰＣＤの実施形態は、純粋に物理的なモードから完全に仮想的なモードまで、更にこれら両方の一部を含む混合モードまでの全範囲に広がることができる。ＰＣＤ１００は、クラウドに格納することができ、ユーザが物理デバイスによって行うことを格納して永続させることを可能にすることができるコアペルソナを有し、このコアペルソナとして表現され、それによって仮想ペルソナが物理デバイスにおいて発生していることを格納して反応することができ、その逆も同様である。物理インスタンスと仮想インスタンスは、例えば適切な場合に一方から他方に移行し、二重体験などを有するようにクラウドを通して管理することができる。
【０１０６】
図示のように、ＰＣＤ１００は、ほぼ円形のリングによって分離された３つの別個の身体セグメントを含む一般的に三部構成の設計を組み込んでいる。内部モータ等（図示せず）を通してリングの周りに各身体セグメントを回転させることにより、ＰＣＤ１００は、その形状を変更して様々な形状因子を達成し、更に、センサ１０２、１０４、１０６、１０８、１１２を用いてユーザ及び他の物体を追跡するように構成される。様々な実施形態では、タッチ画面１０４の形状、表現的な身体の移動、特定の表現音及び格納術、発声時の特定の韻律の質及び音声の質、デジタルインタフェースの仕様、ＰＣＤ１００の「顔」、及びフルスペクトルＬＥＤ照明要素などを含むがこれらに限定されないＰＣＤ１００の属性を静的に又は動的に構成することができる。
【０１０７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、マルチモーダルユーザインタフェースを使用するように構成することができ、多くの入力及び出力を同時に有効にすることができる。そのようなタイプの同時インタフェースは、ロバストなユーザ体験を提供することができる。一部の実施形態では、ユーザインタフェースの入力又は出力の１又は２以上は、環境に依存して損なわれる場合があり、その結果、ＰＣＤ１００のそれ程最適とは言えない作動がもたらされる。様々なモードを同時に作動させることは、ユーザ体験及びデバイスとの対話をフェイルセーフして通信損失がないことを保証するのに役立たせることができる。
【０１０８】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、そのユーザに豊富な体験を提供するように１又は２以上の入力を処理するように構成することができる。ＰＣＤ１００は、ユーザの発話を認識するように構成することができる。例えば、ＰＣＤ１００は、「誤感知」による関わり合いを低減するために発話から「目覚ましワード」及び／又は他の機能を識別する。一部の実施形態では、ＰＣＤ１００は、Ｎフィート×Ｍフィートの近接場範囲で発話を認識するように構成することができ、この場合のＮ及びＭは、発話の音質及びＰＣＤの検出感度によって決定することができる。他の実施形態では、ＰＣＤ１００は、少なくとも１２フィート×１５フィートの面積の部屋サイズを網羅するＮフィートよりも大きい遠方場範囲において発話を認識するように構成することができる。一部の実施形態では、ＰＣＤ１００は、発声された言語以外の音を識別するように構成することができる。ＰＣＤは、それ自体が認識して反応することができる音によって構成された音痕跡データベースを使用することができる。ＰＣＤは、このデータベースのコンテンツを直接に通信又はクラウドベースの通信を通して他のＰＣＤデバイスと共有することができる。限定ではなく例として、発声言語以外の音は、ガラスを割る音、ドアベル、電話の呼び出し音、人が転倒する音、サイレン、銃声、及び可聴警報などに対応する音を含むことができる。更に、ＰＣＤ１００は、ＰＣＤ１００の既存の分類子に適合しない音源を識別するようにユーザに依頼することによって新しい音を「学習」するように構成することができる。デバイスは、複数の言語に応答することができる。一部の実施形態では、ＰＣＤ１００は、近接場範囲外にいるユーザに目覚ましワードで応答するように構成することができる。このユーザに対しては、デバイスの視野内に入るように要求することができる。
【０１０９】
一部の実施形態では、ＰＣＤ１００は、その面上に発話入力がいずれかの理由で損なわれた時に使用することができるタッチ感知区域を有することができる。これらのタッチ入力を用いて、ＰＣＤ１００は、イエス／ノー質問を投げ掛けるか又は画面上にオプションを表示することができ、画面上のユーザのタッチをユーザからの入力と見なすことができる。一部の実施形態では、ＰＣＤ１００は、特に２又は３以上のユーザが視界範囲にいる時に、１人のユーザを別のユーザから区別するために視覚及び移動を使用することができる。更に、ＰＣＤ１００は、近接場範囲で全体の骨格の姿勢及び移動、並びにいくつかの共通の身振りを解釈する機能を有することができる。これらの身振りは、デバイス制御ではなく親交的対話に向けられたものとすることができる。一部の実施形態では、ＰＣＤ１００は、写真及び動画を撮影するためのカメラを含むように構成することができる。一部の実施形態では、カメラは、ユーザがカメラの予め決められた範囲にいる時に写真及び動画を撮影するように構成することができる。更に、ＰＣＤ１００は、ビデオ会議（ポップイン）をサポートするように構成することができる。更に、ＰＣＤ１００は、カメラが写真モードにある時に「赤目」を排除するモードを含むように構成することができる。
【０１１０】
一部の実施形態では、ＰＣＤ１００は、それ自体が持ち上げられている、運ばれている、及び落下しているなどが行われているか否かを決定するように構成することができる。更に、ＰＣＤ１００は、磁力計を実施するように構成することができる。一部の実施形態では、ＰＣＤ１００は、周囲照明レベルを決定することができる。更に、ＰＣＤ１００は、周囲光レベルに基づいてディスプレイ及びアクセント照明輝度レベルを適切なレベルに調節することができる。一部の実施形態では、ＰＣＤ１００は、デバイスの場所を見積もるためにＧＰＳを使用する機能を有することができる。ＰＣＤ１００は、住居内の相対位置を決定することができる。一部の実施形態では、ＰＣＤ１００は、全体又は遠方場の運動の検出を助けるために１又は２以上の受動ＩＲ運動検出センサ（ＰＩＲ）を含むように構成することができる。一部の実施形態では、ＰＣＤ１００は、環境の周囲温度を示すために少なくとも１つのサーミスタを含むことができる。
【０１１１】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、分かりやすい自然な音声でユーザに「一音声」英語を話し掛けるように構成することができる。ＰＣＤ１００は、アニメ化されたデバイスの感情状態を模倣するように発声音声の音調を変化させるように（ＰＣＤ１００が悲しい時には悲しい音を出すように）構成することができる。一部の実施形態では、ＰＣＤ１００は、発話、高忠実度音楽、及び効果音を再生することができる少なくとも１つのスピーカを含むように構成することができる。一部の実施形態では、ＰＣＤ１００は、１つが発話に関し、１つが音楽に関する複数のスピーカ、及び／又は特殊な可聴信号及び警報のための追加のスピーカを有することができる。発話専用スピーカは、ユーザに向けて配置し、音声周波数応答に向けて調整されたものとすることができる。音楽専用スピーカは、フル周波数応答に向けて調整されたものとすることができる。ＰＣＤ１００は、トゥルーカラーのフルフレームレートディスプレイを有するように構成することができる。一部の実施形態では、表示される動画を直径が少なくとも４・１／２’’の円形のものにする（マスク処理する）ことができる。一部の実施形態では、ＰＣＤ１００は、最小で３つの移動自由度を有することができ、環境の３６０度センサ網羅と、人間様の姿勢及び移動の範囲（表現的作用線）とを可能にする。ＰＣＤ１００は、音、発話、アクセント照明、及び表示グラフィックに身体アニメーションを同期させるように構成することができる。この同期は、人間の知覚に対して継ぎ目のない程十分に近いとすることができる。一部の実施形態では、ＰＣＤ１００は、周囲への通知と親交的対話の両方に向けてアクセント照明を使用することができる指定区域を有することができる。デバイス形態に基づいて、アクセント照明は、ＰＣＤ１００のカメラが写真又は動画の取り込みモードにある時に写真内の被写体を照明するのに役立たせることができる。一部の実施形態では、ＰＣＤ１００は、カメラが写真取り込みモードにある時に被写体を自動的に照明することになるカメラフラッシュを有することができる。更に、アクセント照明が被写体の照明をもたらす方が良い場合がある。更に、ＰＣＤ１００は、カメラが写真取り込みモードにある時に「赤目」を排除するモードを有することができる。
【０１１２】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザを識別して追跡することができる。一部の実施形態では、ＰＣＤ１００は、人が近接場範囲に入った時に通知することができる。例えば、近接場範囲は、１０フィートとすることができる。別の実施形態では、ＰＣＤ１００は、人が遠方場範囲に入った時に通知することができる。例えば、遠方場範囲は、１０フィートとすることができる。一部の実施形態では、ＰＣＤ１００は、ビデオ（顔認識）、深度カメラ（骨格特徴照合）、及び音（音声ＩＤ）の組合せによって最大で５人の異なるユーザを識別することができる。一部の実施形態では、ＰＣＤ１００が認識することができることになるユーザを学習するためにＰＣＤ１００によって「学習」ルーチンが使用される。一部の実施形態では、ＰＣＤ１００は、ビデオと深度カメラと聴覚情景解析との組合せによって近接場範囲において全３６０度でユーザの場所を決定し、このユーザを追跡することができる。一部の実施形態では、ＰＣＤ１００は、１０フィートの遠方場範囲において全３６０度でユーザの場所を決定し、このユーザを追跡することができる。一部の実施形態では、ＰＣＤ１００は、ユーザが近接場範囲にいる場合は必ずＰＣＤ１００自体に対する様々なユーザの場所の内部マップを維持することができる。一部の実施形態では、ＰＣＤ１００は、それ自体からユーザが遠くに離れた時に機能レベルが低下する場合がある。一部の実施形態では、ＰＣＤ１００の全機能をＰＣＤ１００の近接場範囲にいるユーザに対して利用可能にすることができる。一部の実施形態では、ＰＣＤ１００は、ユーザの気分及び応答を追跡するように構成することができる。一部の実施形態では、ＰＣＤ１００は、ビデオ解析と、骨格追跡と、発話韻律と、ユーザ語彙と、口頭質問（すなわち、デバイスが「元気ですか？」と尋ね、更に応答を解釈する）との組合せによってユーザ又はユーザグループの気分を決定することができる。
【０１１３】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、それ自体のアニメーション内に感情内容を合成するために人間の交際コードを用いてプログラムすることができる。特に、ユーザ表情の知覚された感情内容に基づいて、完全に自律的な方式で出力の感情内容を適切に調節するためにＰＣＤ１００にプログラム知能を適用しなければならない。ＰＣＤ１００は、発話と、照明と、移動と、効果音との組合せにより、感知されるユーザの気分を改善しようと試みるようにプログラムすることができる。更に、ＰＣＤの交際コードは、ユーザとの友好関係を構成する機能、すなわち、挙動を反映する、頭の姿勢を模倣することのような機能を与えることができる。
【０１１４】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、スポーツニュース及びゲーム、天気予報、ニュースクリップ、現在のイベントに関する情報などを含む先見的にカスタム化されたインターネットコンテンツを学習されたユーザプリファレンスに基づく親交的な関わり方でユーザに配信し、及び／又はユーザの潜在的な興味を広げる手法としてこれらの情報及びデータを共有するためにＰＣＤ１００自体のプリファレンスを開発するようにプログラムすることができる。
【０１１５】
ＰＣＤデバイスは、コンテンツのタイプと、ＰＣＤデバイスが認識する各個々のユーザにコンテンツが伝えられる手法の両方を適応する機能を有するようにプログラムすることができる。
【０１１６】
ＰＣＤデバイスは、ユーザプリファレンス及びユーザ反応、並びに配信されるインターネットコンテンツの処理習性に基づいて経時的に個々のユーザへのコンテンツ／配信のカスタム化を改善及び最適化する機能を有するようにプログラムすることができる。
【０１１７】
ＰＣＤは、ユーザとの親交的言語対話に携わり、配信した情報がユーザによって理解されたことを見るようにプログラムすることができる。
【０１１８】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザの活動を管理及びモニタするように構成することができる。一部の実施形態では、サービスに関する通信デバイス１２２は、ユーザの要求を受けて、やることリスト、食料雑貨品リスト、又は他のリストを生成して格納することができ、これらのリストは、買い物に出かけた後にユーザに伝えることができる。一部の実施形態では、ＰＣＤ１００は、リストをユーザの携帯電話にテキスト（ＳＭＳ）メッセージとしてプッシュする（サービスを通して）、又は要求時に本発明者のモバイル又はウェブアプリのいずれかのユーザによってプルされることが可能である。一部の実施形態では、ユーザは、そのような要求をＰＣＤ１００上で音声を通して、又はサービスを通してモバイル又はウェブアプリを通して行うことができる。ＰＣＤ１００は、ユーザと対話してリストを管理することができる（すなわち、購入された項目／実施された項目／もはや必要のない項目を削除し、ユーザ履歴に基づいて追加のリスト項目に関する提案を行うことのような）。ＰＣＤ１００は、周囲の会話での主要フレーズを聞いて理解することにより（すなわち、デバイスが「コーヒーを切らしている」を聞いて食料雑貨品リストにコーヒーを追加したいか否かをユーザに尋ねる）、必要項目を推測してリストに追加することができる。
【０１１９】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザが生成したリマインダー又はメッセージを正しい時点で提供するように構成することができる。ＰＣＤ１００は、正しい時点でリマインダーを配信するための条件を設定するために使用することができる。一部の実施形態では、リマインダーに対する条件は、「明日の朝、あなたが私を最初に見た時」又は「娘が次にここにきた時」など、又は更に「あなたが来週の火曜日の午後に最初に私を見た時」のような実時間条件を含むことができる。条件セットが満たされた状態で、ＰＣＤ１００は、ユーザの注意を引き（「注視」、並びにボディーランゲージ／表情の観点から）、適切な音声及びキャラクターでリマインダーを配信することができる。一部の実施形態では、ＰＣＤ１００は、リマインダーの気分内容を解析し、この情報を用いてこのリマインダーのアニメーション／照明／配信に影響を及ぼすことができる。他の実施形態では、ＰＣＤ１００は、リマインダーを配信した後に、喚起した挙動をユーザが実施したか否かをユーザに見ることによってユーザに念を押すことができる。
【０１２０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザが与えることができる要求を受けてユーザの不在をモニタすることができる。例えば、ユーザは、場を離れる時及びその理由を伝え（例えば、「ここで散歩してくるよ」）、更にユーザが所望／所要の時間フレーム内に戻ったことをＰＣＤ１００が確かめることができるように活動の予想所要時間を伝えることができる。更に、ユーザが指定窓内に戻らなかった場合に、ＰＣＤ１００は、この不測の事象に対してユーザが指定した通りに緊急連絡を通知することができる。ＰＣＤ１００は、テキストメッセージ及び／又はモバイルアプリを通して緊急連絡を通知することができる。ＰＣＤ１００は、ユーザが戻った時に存在を認識することができ、活動に対して後追い検査する（すなわち、活動がどうであったか、又は活動に関する他の質問を尋ねる）。そのようなタイプの対話は、ＰＣＤ１００とユーザ間の親交的対話を可能にし、学習データベースに向けてユーザに関する情報の収集を可能にすることができる。ＰＣＤ１００は、チェックアウト／チェックイン時間及び現在のユーザステータスを当該目的のためにユーザが識別された家族／友人に表示することができる。この表示は、モバイルアプリを通してもたらすことができる。ＰＣＤ１００は、より詳細な活動のモニタ／パターン化／報告の機能を有することができる。
【０１２１】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、１又は２以上のデータ接続によって外部ネットワークに接続するように構成することができる。一部の実施形態では、ＰＣＤ１００は、ＷｉＦｉデータ接続のようなロバストな高帯域幅無線データ接続へのアクセスを有することができる。一部の実施形態では、ＰＣＤ１００は、２．４ＧＨＺ帯域と５ＧＨｚ帯域の両方において２×２の二ストリームＭＩＭＯ構成を使用する８０２．１１ｎＷｉＦｉ規格を実施することができる。一部の実施形態では、ＰＣＤ１００は、他のＢｌｕｅｔｏｏｔｈ（登録商標）デバイス（医療センサ、オーディオスピーカのような）に接続することができる。一部の実施形態では、ＰＣＤ１００は、Ｂｌｕｅｔｏｏｔｈ４．０ＬＥ（ＢＬＥ）規格を実施することができる。ＢＬＥ対応ＰＣＤ１００デバイスは、そのＵＵＩＤをそれがマルチモーダルユーザデータを含み、これらのデータを他のＢＬＥ対応ＰＣＤ１００デバイスと共有するようにカスタム化するように構成することができる。一部の実施形態では、ＰＣＤ１００は、３Ｇ／４Ｇ／ＬＴＥ又は他のセルラーネットワークへの接続を有することができる。
【０１２２】
例示的かつ非限定的実施形態により、クラウドベースのサービスを必要とすることなく直接的なデータ共有及び通信を可能にするために、複数のＰＣＤ１００デバイスをアドホックネットワーキング技術を用いてメッシュネットワーク構成で構成することができる。これに代えて、複数のＰＣＤ１００デバイス間で共有されるデータをクラウドベースのデータベース／データセンター内にアップロードして格納することができ、そこでこれらのデータを複数のＰＣＤ１００デバイスに同報通信するように処理して提供することができる。複数の場所にある複数のＰＣＤ１００デバイスに向けてローカルと中心の両方のデータ格納、共有、及び分散を可能にするために、クラウドベースのデータサービスをメッシュネットワーク編成と組み合わせることができる。
【０１２３】
例示的かつ非限定的実施形態により、コンパニオンアプリケーションは、ＰＣＤ１００に接続するように構成することができる。一部の実施形態では、コンパニオンアプリケーションは、ｉＯＳプラットフォーム、Ａｎｄｒｏｉｄプラットフォーム、及びウェブプラットフォーム上で利用可能にすることができる。コンパニオンアプリケーションは、機能又は機能にアクセスするのに３回よりも多い対話を必要としない直感的で使いやすいユーザインタフェース（ＵＩ）を含むことができる。コンパニオンアプリケーションは、ＰＣＤ１００の仮想対応物へのアクセスをユーザに提供することができ、それによってユーザが、実在のＰＣＤ１００と対話するためにこの仮想対応物へのアクセスを提供する。
【０１２４】
一部の実施形態では、ユーザは、買い物リスト、ＰＣＤ１００の活動ログのような情報にコンパニオンアプリケーションを通じてアクセス可能である場合がある。更に、コンパニオンアプリケーションは、ＰＣＤ１００にローカルなユーザ活動の長期的レポートを提供することができる。一部の実施形態では、コンパニオンアプリケーションは、ユーザをＰＣＤ１００にビデオ及びオーディオを通して接続することができる。更に、コンパニオンアプリケーションは、ある一定の条件（例えば、ローカルユーザが「チェックイン」によって予想されている時間よりも遅れていること、大音量のノイズがあったこと、及びローカルユーザが応答しないことなど）をユーザに非同期的に警告することができる。
【０１２５】
一部の実施形態では、グループのデバイスにわたる接続又は制御を可能にするための運営／配備アプリケーションをウェブプラットフォーム上で利用可能にすることができる。運営アプリケーションのＵＩは、詳細報告機能、設定機能、配備機能、及び／又はサポート機能への迅速なアクセスを必要とすることができる病院／介護管理者又は購入者がそれを行うことを可能にすることができる。更に、グループは、管理されるＰＣＤ１００デバイスセットにわたって格納された情報に運営アプリケーションを用いてアクセスことができる。運営アプリケーションは、ある一定の条件（例えば、ローカルユーザが「チェックイン」によって予想されている時間よりも遅れていること、大音量のノイズがあったこと、及びローカルユーザが応答しないことなど）をユーザに非同期的に警告することができる。更に、運営アプリケーションは、その管理されるデバイスの部分集合又は全てにわたってメッセージ及びリマインダーを同報通信することができる。
【０１２６】
例示的かつ非限定的実施形態により、ＰＣＤ１００の担当者が１又は２以上のデバイスをモニタ／サポート／診断／配備することをサポートコンソールが可能にすることができる。サポートコンソールは、ウェブプラットフォーム上で利用可能にすることができる。一部の実施形態では、サポートコンソールは、独特な製造番号、所有者、機関配備セット、ファームウエア及びアプリケーションのバージョン番号、又は登録された例外によって識別することができる全ての配備されたＰＣＤデバイスのリストビューをサポートすることができる。一部の実施形態では、サポートコンソールは、製造番号、所有者、機関配備セット、ファームウエア及びアプリケーションのバージョン番号、又は登録された例外を含むタグを用いた対話型クエリをサポートすることができる。更に、サポートコンソールは、デバイス診断の実施及び報告をサポートすることができる。
【０１２７】
例示的かつ非限定的実施形態により、サポートコンソールは、ファームウエア及びソフトウエアの新しいバージョンの配備を支援することができる（プッシュモデル）。更に、サポートコンソールは、より新しいＮＬＵ、新しいアプリのような配備を支援することができる。サポートコンソールは、顧客サポートシナリオ、及び計画されたサービス停止時間のような事柄を伝えるための配備されたデバイスの部分集合又は全てへのメッセージの同報通信などをサポートすることができる。一部の実施形態では、サポートコンソールは、ＰＣＤ１００との対話に費やされた時間、全てのアプリ／サービスにわたる時間内訳、オーディオ知覚アルゴリズム及びビデオ知覚アルゴリズムに対する集計ヒット／ミスメトリック、ログされたアクション（データマイニングなどをサポートするための）、例外ログ、（例えば、どの程度の例外レベルにおいてサポートコンソールが叫ばなければならないか）、及びその他を含む（しかし、これらに限定されない）様々なデバイス上のメトリックへのアクセスをサポートする必要がある場合がある。
【０１２８】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、テレビ会議に携わることができる。一部の実施形態では、テレビ会議は、ＰＣＤ１００の身体又はタッチ画面１０４のタッチ、又はいくつかのフレーズ、及び音などによって開始することができるもののような音声起動のいずれかによって簡単なＵＩを通して実行を開始することができる。一実施形態では、テレビ会議を開始するのに２回よりも多いＰＣＤ１００のタッチを必要としない。一部の実施形態では、通話スケジューリング／プロンプト提示機能の出力として通話を開始することができる。開始された状態で、ＰＣＤ１００は、ＷｉＦｉ接続、Ｂｌｕｅｔｏｏｔｈ、電話接続、又はこれらのあらゆる組合せを用いて電話機能を実行しながら、ユーザからオーディオデータを受信して出力するためにマイクロフォン１１２及びスピーカ１１０を使用する電話として機能することができる。
【０１２９】
通話は、標準的な音声通話とするか、又はビデオ構成要素を含むかのいずれかとすることができる。そのような対話中に、ＰＣＤ１００は、会話のＰＣＤ１００端においてカメラマンとして機能することができる。一部の実施形態では、ＰＣＤ１００をテーブル又は他の親交的会合点の中心に配置することができ、通話中に全員が立ち上がり、移動し、活動的である可能性がある家族のような複数のユーザがＰＣＤ１０００を囲んで部屋を占有する。通話中に、ＰＣＤ１００は、カメラ１０６を望ましい場所に向けることができる。一実施形態では、ＰＣＤ１００は、カメラ１０６を話者／ユーザに向いた状態に保つために音位置及び顔追跡を利用することができる。他の実施形態では、ＰＣＤ１００は、部屋の中にいる人々／ユーザが向けることができる（例えば、「ＰＣＤ、ルビーを見て」）。他の実施形態では、遠くにいる人が、デバイスによって追跡されるターゲットを指定することができ、ＰＣＤ１００は、そのターゲットを自律的に注視して追跡することになる。いかなるシナリオにおいても、例えば、遠くにいる参加者が、スマートフォン、ラップトップ、又はビデオを表示する機能を有する他のデバイスを用いている場合に、カメラ１０６が入力として感受したものがこれらの参加者に示される。
【０１３０】
デバイスは、複数の言語で理解及び応答することができる。そのような対話中に、ＰＣＤ１００は、音声入力を受信し、プロセッサによって入力を変換し、変換された出力を出力することにより、国際連合の通訳機の例とほぼ同じくリンクの他端にいる人に対する「通訳者」として機能することができる。ＴＶ及びｉＰａｄ（登録商標）などのような画面がＰＣＤ１００を有する部屋の中で利用可能である場合に、ＰＣＤ１００は、Ｂｌｕｅｔｏｏｔｈ又はＷｉＦｉなどを通してオーディオを送り、このＴＶ画面上に表示されるリモート参加者のビデオを利用することができる場合にこのビデオを送ることができる。他の利用可能な画面がない場合に、ＰＣＤ１００は、リモート参加者からのオーディオを中継することができるが、遠隔ビデオを利用可能にすることはできない。そのような事例では、ＰＣＤ１００は、リモート参加者の言葉しか中継しない。一部の実施形態では、ＰＣＤ１００は、例えば、リモート参加者が予め決められた時間量にわたって休止している場合に瞬きする及び下を向くこと、又はリモート参加者が非常に興奮していることをＰＣＤ１００が感知した場合に、少しのダンス又は「シミー」を踊ることなどによってアニメ化してユーザに反応することができる。
【０１３１】
別の実施形態では、ＰＣＤ１００は、リンクのリモート端にいる人のアバターとすることができる。例えば、タッチ画面１０４上に表示された眼又は他の部位は、リモート参加者の顔のレンダリングバージョン（実施形態の中でも取りわけ、漫画、画像ベースのもの又はビデオストリームのいずれか）に変態することができる。レンダリング物は格納し、ＰＣＤ１００対してアクセス可能にすることができる。他の実施形態では、アバター体験を改善するために、ＰＣＤ１００は、リモートユーザに関連付けられ、リモートユーザを説明するデータを取り出し、リモートユーザの運動／非言語的手がかりを模倣することができる。
【０１３２】
一部の実施形態では、通話中に、リモート参加者又はローカル参加者のいずれも、参加者の静止画像、ビデオ、及び音声クリップ、並びにＰＣＤ１００のカメラビュー又は説明の格納の開始指示（例えば、「ＰＣＤ、この番号を覚えなさい」）を出すことができる。これらのタグ付けされる項目は、適切にメタタグが付けられ、ＰＣＤクラウドに格納される。
【０１３３】
他の実施形態により、ＰＣＤ１００は、要求時にリモート対話を誘起するのに役立たせることができる。例えば、ユーザは、ＰＣＤ１００にゲームを提案するように見出すことができ、ＰＣＤ１００は、下記でより詳しく説明する接続ゲームモードを開始し、両方の参加者が同意するまで複数のゲームを提案することになる。別の例では、ユーザは、ＰＣＤ１００に話される話題を求めることができる。従って、ＰＣＤ１００は、会話の参加者の共通の興味にターゲットが絞られた「事情通ＰＣＤ」データベースにアクセスするか又は話すことを提案する（例えば、「ねえおばあちゃん、おばあちゃんが先日お友達と食べたランチに関してルビーに話して」）ための事象に関して参加者に関するＰＣＤカレンダーを求めることができる。
【０１３４】
スケジューリングアシスタント
【０１３５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、カレンダーの利用可能性、特別な日、及び／又はリンクの他端の存在の知識に基づいて通話を提案することができる（例えば、「あなたのママは今家にいて、今日は彼女の誕生日だけど、ママに電話したい？」）。ユーザは、提案を受信することができ、その場合に、ＰＣＤ１００と、リモート参加者のＰＣＤ１００、電話、スマートデバイス、又はスカイプアカウントとの間でＰＣＤ通話アプリが起動される。ユーザは、通話をそれ以降にスケジューリングすることをＰＣＤ１００に見出すことによって提案を受信することができ、その場合に、スケジューリングアプリがこの通話をユーザのカレンダーに追加する。
【０１３６】
通話返答及びメッセージング
【０１３７】
例示的かつ非限定的実施形態により、ＰＣＤ１００において通話返答及びメッセージング機能を実施することができる。この機能は、ＰＣＤ１００にかけられる音声通話又はビデオ通話にも適用され、ＰＣＤ１００は、他のセルラー接続デバイスに対する通話管理サービスを実施しないことになる。図７を参照すると、例示的かつ非限定的実施形態の流れ図７００が示されている。図示のように、段階７０２において、ＰＣＤ１００に通話がかけられた時に、ＰＣＤ１００は、送信者を部屋の中にいる人々に告知することができる。部屋の中に誰もいない場合に、ＰＣＤ１００は、ユーザのカレンダーを見ることができ、ユーザが家にいないことが示された場合に、段階７０４において、通話をＰＣＤ１００に関連付けられた留守番電話に直接送ることができる。それとは逆にユーザが家にいることが示された場合に、ＰＣＤ１００は、段階７０６において、大音量音（ベル音、リング音、叫び声？）を用いて家の中にいる人の注意を引くことになる。
【０１３８】
ＰＣＤ１００がそれ自体のユーザの注意を引いた状態で、段階７０８において、ＰＣＤ１００は、送信者を告知してユーザが通話を受けたいか否かを尋ねることができる。段階７１０において、ユーザは、簡単なタッチインタフェースを用いて、又は理想的には自然言語インタフェースを用いて応答することができる。返答が「イエス」である場合に、段階７１２において、ＰＣＤ１００は、「同期オンデマンドマルチモーダルメッセージング」機能に説明するように通話を接続する。返答が「ノー」である場合に、段階７１４において、通話はＰＣＤ１００の留守番電話に送られる。
【０１３９】
送信者が留守番電話に誘導された場合に、ＰＣＤ１００は、送信者に挨拶してメッセージを残すように見出すことができる。一部の実施形態では、音声又は音声／ビデオ（送信者がスカイプ又は均等物を用いている場合）メッセージを後日の再生に向けて記録することができる。
【０１４０】
ユーザが戻り、ＰＣＤ１００が部屋の中で再度ユーザを検出した状態で、ＰＣＤ１００は、段階７１６において、ユーザにメッセージを通知し（「あなたにメッセージがあります」と言語的に行うか、又は照明付きポンポン等で非言語的に行うかのいずれかで）、ユーザにメッセージを聞きたいか否かを尋ねることができる。「イエス」の場合に、ＰＣＤ１００は、音声を再生すること又は上述のようにＴＶ／タブレット／他の上で音声／映像メッセージを再生することのいずれかを行うことができる。
【０１４１】
ユーザは、後のためにメッセージを保存するというオプションを有することができる。ユーザは、特定の時点で再度尋ねること又は単に「後に」再度尋ねることのいずれかを行うようにＰＣＤ１００に伝えることができ、後者の場合に、ＰＣＤ１００は、予め決められた時間量の後に再度尋ねることになる。
【０１４２】
ＰＣＤ１００に対して送信者が未知である場合に、ＰＣＤ１００は、通話を留守番電話に誘導し、番号Ｘからの未確認通話を受信したことをユーザに通知し、メッセージが記録されている場合はそれを再生することができる。次に、ユーザは、この番号が接続／留守番電話に進行するのを実効的に阻止するようにＰＣＤ１００に命令することができる。ＰＣＤ１００は、ユーザが同期的又は非同期的のいずれかで折り返し通話を行いたいか否かを尋ねることができる。ユーザが承諾した場合に、ＰＣＤ１００は、ユーザ要求を完了させるために適切なメッセージングモードを起動する。一部の実施形態では、ＰＣＤ１００は、家の中にある他のセルラーデバイス又は固定電話回線デバイスに対する通話管理機能を提供することができる。更に他の実施形態では、ＰＣＤ１００は、通話に応答し、送信者にメッセージを残すように会話的に促すことができ、従って、個人秘書のように機能する。
【０１４３】
接続式物語朗読
【０１４４】
例示的かつ非限定的実施形態により、リモート参加者がＰＣＤ１００を有する部屋の中にいるローカル参加者にＰＣＤ１００を「通じて」物語を読み聞かることを可能にするＰＣＤ１００は接続物語朗読アプリを組み込むことができる。朗読者は、仮想ＰＣＤ１００によって案内される簡単なウェブ又はＡｎｄｒｏｉｄアプリベースのインタフェースを通して物語を選択してそれを朗読する処理によって対話を行うことができる。朗読者は、仮想ＰＣＤ１００によって促される通りに物語のワードを朗読することができる。一部の実施形態では、朗読者の音声が物理ＰＣＤ１００によって聞き手に対して再生されることになり、朗読者が朗読を行うための生来の機能を持たない場合であっても信じ難いほど魅力的にキャラクターの「音声を演じる」ことができるように、朗読者の音声に事前設定フィルタが適用される。この再生の中にサウンドトラック音楽及び効果を挿入することができる。朗読者のインタフェースは、聞き手の「ＰＣＤのアイビュー」ビデオフィードを示すことができ、ＰＣＤ１００は、その「カメラマン」機能を用いて聞き手をビデオ内に引き留めることができる。
【０１４５】
物理ＰＣＤ１００は、適切な時点で短いアニメーションによって物語に反応することができ（恐怖の身震いのような）、上述したＰＣＤ１００の眼は、物語要素のサポートするように異なる形状に変態することができる。この機能は、朗読者と聞き手が物語に関する会話等で物語を中断することができるように、ＰＣＤ通話機能内にラップすることができる。このアプリは、朗読者が物語の朗読を中止したことを認識し、朗読者と聞き手とがフィルタリングなく会話することができるようにこの機能を一時停止することができる。これに代えて、話し手は、物語を事前に記録し、それが下記で説明する物語中継アプリを用いて後で再生されるようにスケジューリングすることができる。
【０１４６】
ホットライン
【０１４７】
例示的かつ非限定的実施形態により、ユーザは、ＰＣＤ１００を利用して「プッシュ・ツー・トーク」方式又は「ウォーキー・トーキー」方式のインタフェースを通して「ネットワーク内」メンバと通信することができる。この機能は、ＰＣＤ１００上の皮膚又は画面アイコン上の１回のタッチにより、又は「ＰＣＤ１００、ママと話して」という簡単な音声指令を通してアクセス可能である。一部の実施形態では、この機能は、ＰＣＤ対ＰＣＤの会話だけに限定され、両方のＰＣＤ１００がリンクの互いの端でユーザの存在を検出した場合にのみ使用可能にすることができる。
【０１４８】
物語中継
【０１４９】
図８を参照すると、例示的かつ非限定的実施形態の流れ図８００が示されている。図示のように、段階８０２において、ユーザ／語り手は、ＰＣＤ１００が後で再生するためにいずれかの時点で物語を記録することができる。物語は、以下のいくつかの方法で記録することができる。
【０１５０】
ＰＣＤ１００により：語り手は、再生に向けて記録するＰＣＤ１００に物語を話す。
【０１５１】
仮想ＰＣＤ１００のウェブインタフェース又はＡｎｄｒｏｉｄアプリにより：ユーザは、仮想ＰＣＤ１００によって物語をウェブキャムに話すように案内される。ユーザは、これらのタイプの物語の中に豊富なアニメーション／効果音／背景音楽を組み込む機会も有する。
【０１５２】
物語が記録された状態で、ＰＣＤ１００は、段階８０４において、話し手によって設定されたスケジューリングプリファレンスに従って物語を再生することができる。聞き手には、スケジューリング時点で物語を聞くオプションが与えられることになり、聞き手は、物語を受信する、拒否する、又は再スケジューリングすることができる。
【０１５３】
実施形態では、語り中に、ＰＣＤ１００は、予め決められた頻度で聞き手の静止写真を撮影することができる。物語が完了した状態で、ＰＣＤ１００は、段階８０６において、語り手にメッセージを返送したいか否かを聞き手に尋ねることができる。ユーザが承諾した場合に、段階８０８において、ＰＣＤ１００は、「非同期マルチモーダルメッセージング」機能に入ってメッセージを編集し、話し手が物理ＰＣＤ１００を有する場合はそれに送ること又は仮想ＰＣＤ１００のウェブリンクを通して送ることのいずれかを行うことができる。聞き手は、物語を聞いている聞き手自身の写真を返信メッセージ内に組み込む機会を有することができる。
【０１５４】
写真／メモリメーカー
【０１５５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、それ自体に事象に対して写真家の役割を受け持たせる写真／メモリメーカー機能を組み込むことができる。この機能には２つのモードが存在する。
【０１５６】
ＰＣＤスナップモード
【０１５７】
このモードでは、写真に入ろうと望むユーザらは、一緒に立って「ＰＣＤ、私たちを撮って」と言うことができる。ＰＣＤ１００は了承し、次に「後に下がって」、「左に移動」のような手がかりを使用する言語手がかりを用いて人をカメラ画像内の中心に置く。人が適切に配置された状態で、ＰＣＤ１００は、人に動かないように伝え、次に、笑顔を引き出すためのいくつかのフレーズ（「チーズ」のような）を使用する。ＰＣＤ１００は、顔表情認識を用いて人々が笑っていないか否かを見分け、笑顔を引き出そうと試行し続けることができる。画像内の全てのユーザが笑っている時に、ＰＣＤ１００は、必要に応じて自動フォーカス及びフラッシュを用いて何枚かの写真を撮影することができる。
【０１５８】
イベント写真家モード
【０１５９】
このモードでは、ユーザは、特定の時点（又は必要に応じて「現時点」）で始まる予め決められた時間量の間に事象の写真を撮影するようにＰＣＤ１００に命令することができる。ＰＣＤ１００は、音位置と顔認識との組合せを用いて部屋の中を見回し、ユーザ定義頻度で部屋の中にいる人々のスナップ写真を撮影する。生成された全ての写真をＰＣＤ１００のメモリ内にローカルに格納することができる。
【０１６０】
写真が生成された状態で、ＰＣＤ１００は、写真がＰＣＤ１００のクラウドにアップロードされたことをユーザに通知することができる。この時点で、ＰＣＤ１００のアプリ又はウェブインタフェースを通して写真にアクセスすることができ、この場合に、仮想ＰＣＤ１００が、写真を削除、編集、整えることのような処理をユーザに案内することができる。次に、写真は、ユーザに電子メール送信されるか又はフェースブック（登録商標）等に掲示されることになる。このアプリケーションのこの「初期設定された」バージョンでは、写真は、例えば、下記で説明する「リビングレガシー（ｌｉｖｉｎｇ  ｌｅｇａｃｙ）」アプリの一部として月額料金で提供されている永久ストレージを用いたファイル格納／メタタグ付けによって予め決められた時間量の間ＰＣＤ１００のクラウド上に保持することしかできない場合がある。
【０１６１】
従って、本明細書に説明するように、ＰＣＤ１００は、個人間の親交的機会を高めるのを助けるように作動させることができる。一実施形態では、親交的活動をもたらすために、アプリケーション又は「アプリ」をＰＣＤ１００の１又は２以上のインタフェース構成要素にアクセスしてこれらを作動させるように構成するか又はその目的でＰＣＤ１００上にインストールすることができる。例えば、ＰＣＤ１００は、実行された時にユーザと対話してＰＣＤ１００が１枚又は２枚以上の写真を撮影して格納する段階を進める際に従う１又は２以上のパラメータを受信するように作動する工場インストール式アプリを含むことができる。例えば、ユーザは、ＰＣＤ１００に「このパーティにいる一人一人全員の写真を少なくとも１枚撮ってちょうだい」と言うことができる。従って、ＰＣＤ１００は、アクセス可能なゲストリストからパーティゲストのリストを編成して、各ゲストの写真を撮影する段階を進めることができる。一実施形態では、ＰＣＤ１００は静止状態に留まり、個々の人がそばを通った時にその人のＩＤに関して質問し、インスタンスを記録し、個人の写真を撮影することができる。別の実施形態では、ＰＣＤ１００はゲストと対話して、これらのゲストに、写真を撮影するためにゲストグループの前にＰＣＤ１００を置くように依頼することができる。パーティの持続時間のような期間にわたって、ＰＣＤ１００は、親交的事象を文書に記録する段階を含む親交的ゴール／活動の達成においてユーザの望みに従ってパーティゲストの１枚又は２枚以上の写真を取得する。
【０１６２】
他の例示的実施形態により、ＰＣＤ１００は、親交的手がかりを読み取ってそれに反応することができる。例えば、ＰＣＤ１００は、ユーザを観察して別の人により優しく話す必要性を示すことができる。従って、ＰＣＤ１００は、言語コミュニケーションを出力する音量を下げることができる。同じく、ＰＣＤ１００は、抱き締められた時又は摩られた時に喜びを示す音を発することができる。他の実施形態では、ＰＣＤ１００は、親交的手がかりを発する又は他に出力することができる。例えば、ＰＣＤ１００は、ユーザが約束に遅れかけていることを感知して、ユーザの出掛ける速度を速めるために見かけ上いらいらした状態で前後に揺れることができる。
【０１６３】
対話型カレンダー
【０１６４】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、仕事以外のユーザの事柄と家族の事柄とを捕捉するカレンダーシステムを有するように構成することができる。あらゆる家庭内でＰＣＤ１００によって拡大家族全体が、全員のための単一の統一されたカレンダーを有することができるように、ＰＣＤ１００は、それ自体のユーザが許可を与えた場合にカレンダーを共有し、他のＰＣＤ１００のカレンダーと統合することができる。
【０１６５】
ＰＣＤ１００のカレンダー内の項目は、適切な情報、最初は、約束に関する家族メンバの名称、家族メンバが約束／事象に対してどのように感じているか、及び日付又は日に独特の情報（休日のような）、などでメタタグ付けすることができる。入力することができる事象のタイプは、起床時間、食事時間、約束、リマインダー、電話通話、家事／庭仕事などを含むがこれらに限定されない。全ての事象を特定の時間に設定する必要があるわけではなく、事象は、例えば、「明日の朝最初に私を見た時に傘を荷物に入れることを通知して」のようにセンサ入力に基づいて断定してスケジューリングすることができる。
【０１６６】
ＰＣＤ１００のカレンダー内への項目の入力は、いくつかの方法で達成することができる。一実施形態は、Ａｎｄｒｏｉｄアプリ又はウェブインタフェースを利用し、この場合に、仮想ＰＣＤ１００がユーザに処理を案内する。この時点で、顔文字又は他のインタフェースを用いてユーザが約束／事象に対してどのように感じているかをＰＣＤ１００に伝えることができる。このモードでのカレンダーのグラフィック描写は、Ｏｕｔｌｏｏｋと類似とすることができ、ユーザが他のネットワークメンバの事象／約束を見ることを可能にする。ＰＣＤ１００のカレンダーは、Ｏｕｔｌｏｏｋがこの点に関して行うことと類似の約束のバッティング回避のための機能を有することができる。
【０１６７】
一部の実施形態では、ユーザは、自然言語インタフェースを通してカレンダーに項目を追加することができる場合がある（「ＰＣＤ、私は火曜日の午後１時に歯医者の予約があるので、それを３０分前に通知して」又は「ＰＣＤ、今夜の夕食は５時３０分だ」）。ユーザの感覚は、ユーザによって伝えられない場合はＰＣＤ１００が後に尋ねることができ（例えば、「その約束に対してどう思う？」）、適切な感情的メタタグ付けを可能にする。
【０１６８】
事象リマインダーが始動された状態で、ＰＣＤ１００は、２つの方法の一方でリマインダーを伝えることができる。リマインダーが設定されているユーザがＰＣＤ１００の環境に存在する場合に、ＰＣＤ１００は、言語リマインダー、アニメーション、顔の表情等が揃ったリマインダーを自体で直接伝える。顔の表情の感情内容は、顔文字又はユーザの口頭入力などを通して事象のメタタグ付けから導出することができる。ユーザの挙動は、既知の状況から導出することができる（例えば、ユーザは、目覚める時には必ず眠たいか又は食事時間には必ず空腹である）。様々な事象に対して状況的に適切な表現は、コンテンツを反復的でなく面白い状態に保つために定期的に生成することによって更新することができる。
【０１６９】
リマインダーが発生しているユーザがＰＣＤ１００と物理的に一緒に存在しない場合に、ＰＣＤ１００は、ユーザに呼び掛けることができる。そのような事例でユーザがこれに応答しない場合に、ＰＣＤ１００は、それ自体の電話でリマインダーをテキスト送信することができる。
【０１７０】
リストマネージャ
【０１７１】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、リストマネージャ機能を有するように構成することができる。この機能により、ＰＣＤ１００は、ユーザの要求を受けて、ユーザが買い物に出かけた後にユーザにテキスト送信することができるやることリスト又は買い物リストを生成することができる。この機能は、簡単なタッチインタフェースを通して、又は理想的には自然言語インタフェースを通してユーザが始動することができる。ユーザは、生成されるリストのタイプ（例えば、「食料雑貨品」、「衣服」、「やること」、又は特定のタイプの店又は店名）を指定することができる。ＰＣＤ１００は、最初にリスト上に載せるものを尋ねることができ、ユーザは、話し言葉を通して応答してＰＣＤ１００に品物をリストに追加させることができる。いずれか後の時点で、ユーザは、ＰＣＤ１００にリストに他の項目を追加するように依頼することができる。
【０１７２】
一部の実施形態により、ＰＣＤ１００は、日常会話を構文解析して項目をリストに追加されることを決定することができる。例えば、部屋の中にいる誰かが「牛乳を切らしている」と言った場合に、ＰＣＤ１００は、牛乳を食料雑貨品リストに自動的に追加することができる。
【０１７３】
ユーザは、ＰＣＤ１００によって関連のリストが維持されている店に出掛ける際に、店で買い物している時に適切なリストが利用可能になるようにＰＣＤ１００にこのリストをテキスト送信するように要求することができる。更に、ユーザは、ＰＣＤ１００から離れているが、店の近くにいる場合に、Ａｎｄｒｏｉｄ又はウェブアプリを通してリストを送信するように要求することができる。
【０１７４】
ユーザが戻った時（すなわち、ユーザがリストをテキスト送信するように要求した後に最初にＰＣＤ１００がこのユーザを見た時）に、ＰＣＤ１００は、買い物がどのようであったか／ユーザがリストにあった全てを見つけたか否かを尋ねることができる。「イエス」の場合に、ＰＣＤ１００は、リストを消去し、それに追加される他の項目を待つ。「ノー」の場合に、ＰＣＤ１００は、購入されなかったものに対して尋ね、リストからそれ以外の全ての項目を消去する。
【０１７５】
やることリストの場合に、ユーザは、ＰＣＤ１００に「私はＸをした」と伝えることができ、その項目を格納されたリストから削除することができる。
【０１７６】
ユーザは、他の誰かのＰＣＤ生成リストをテキスト送信するように要求することができる（適切な許可を待つ間）。例えば、ある大人が高齢の親にＰＣＤ１００を与えた場合に、この人は、自分の買い物をしながら親の食料雑貨品を買うことができるように親のＰＣＤ１００によって生成された買い物リストを自分に送信するようにＰＣＤ１００に要求すること、又は訪問前にいずれかの必要なツールを有することを保証するために母親の「やること」リストをＰＣＤ１００に見出すことなどができる。
【０１７７】
内情通ＰＣＤ
【０１７８】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、「内情通」機能を有するように構成することができる。この機能により、ＰＣＤ１００は、ユーザが興味のあるニュース、天気、スポーツ等に対してユーザに最新情報を提供し続けることができる。この機能は、簡単なタッチインタフェースを用いて、又は理想的には自然言語指令（例えば、「ＰＣＤ１００、私に昨夜の野球のスコアを教えて」）を用いて要求時にアクセス可能である。
【０１７９】
ユーザは、ある一定の時刻に「情報セッション」を開設する機能を有することができる。この開設は、ウェブインタフェース又はモバイルアプリインタフェースを通して行うことができる。この機能を用いて、ＰＣＤ１００をある一定の時刻にある一定の情報を伝達するようにスケジューリングすることができる。例えば、ユーザは、目覚めた後にニュースを提供するようにＰＣＤ１００をプログラムすることができる。ユーザが「イエス」と言った場合に、ＰＣＤ１００は、ユーザが「朝のミーティング」で要求した情報を配信することができる。これらの情報は、ある一定のチームの成績／ニュース、天気、主要紙からのヘッドライン概説などを含むことができる。ＰＣＤ１００は、これらの項目の概要で始めることができ、いずれかの時点で、ユーザは、特定の項目に対してより深く知ることを求めることができ、ＰＣＤ１００は、そのニュース項目の全体を朗読することになる。
【０１８０】
ニュース項目は、「ＰＣＤ化」することができる。特に、ＰＣＤ１００は、それ自体が朗読しているニュースに議論及び反応を与えることができる。そのような反応は、ＡＩ生成の結果として状況的に適切なものとすることができる。
【０１８１】
気分、活動、環境モニタ
【０１８２】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、それに対するアプリケーションの形態で気分、活動、及び環境のモニタ機能を有するように構成することができる。このアプリケーションは、ＰＣＤ１００を例えば高齢の親のために既に購入した人が購入することができる。購入時に、ウェブインタフェース又はＡｎｄｒｏｉｄアプリインタフェースを用いてモニタの構成及びステータスにアクセス可能である。仮想ＰＣＤ１００は、ユーザにこの処理を案内することができる。モニタすることができるもののいくつかの例は、（１）ＰＣＤ１００がある部屋／家内の周囲温度と、（２）活動（１時間／１日に人が通りかかった回数、人を見ることがなかった時間数のような）と、（３）センサからのフィードバック（顔の表情、笑いの頻度、ある一定のワード／フレーズの使用頻度のような）に基づく選択物の有限集合のうちの１つとして表された部屋の中にいる人の気分と、（４）薬剤を摂取したか否かを尋ねること又は薬剤が摂取される場所を明確に見ることのいずれかによってＰＣＤ１００がモニタすることができる薬剤投与法の遵守とを含む。
【０１８３】
設定されている場合があるモニタのステータスは、アプリ又はウェブインタフェースを通して見ることができ、又は警告レベルを超えた（例えば、家の中が寒すぎて閾値時間量内に誰も通りかからなかった）場合はＰＣＤ１００がモニタしているユーザにテキストを送ることができる。更に、ＰＣＤ１００は、モニタしているユーザがアプリ又はウェブインタフェースを通して設定したある一定の条件が満たされている場合にユーザに自律的に教えることができ、例えば、寒すぎる場合に身震いし、暖房を付けるかを尋ねる。
【０１８４】
ムードリング
【０１８５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ムードリング機能を有するように構成することができる。ムードリング機能は、ＰＣＤ１００のセンサを利用してユーザの気分／感情状態のインジケータとして機能し、更に、インフルーエンサーとしての役割をももたらすことができる。この機能は、ユーザの感情状態の実時間ログを維持することができる。このインジケータは、顔の表情認識、体温、眼球の移動、活動のレベル及びタイプ、発話韻律、キーワードの使用に基づいて、更に、ユーザにどのように感じているかをＰＣＤ１００が尋ねることのような簡単な技術にも基づく場合がある。ＰＣＤ１００は、それ自体の解釈を補正し、時間が経つ時により的確な感情モデルを生成するためにユーザ検証技術（尋問のような）を試みることになる。この技術は、ＰＣＤ１００のクラウドからの「クラウドソーシング」学習データ（検証されたセンサデータ＜―＞他のユーザからの感情状態マッピング）を含むことができる。図９を参照すると、例示的かつ非限定的実施形態の流れ図９００が例示されている。段階９０２において、ＰＣＤ１００は、ユーザの身体／顔／発話の詳細を解釈してユーザの感情状態を決定する。時間が経つ時に、ＰＣＤ１００は、ユーザの感情状態を決定するのにユーザの身体／顔／発話の詳細を正確に解釈することができる。
【０１８６】
ＰＣＤ１００は、ユーザの感情状態を決定した状態で、段階９０４においてそれを他者に報告する。この報告は、いくつかの手法で行うことができる。同じ場所（例えば、病院環境内の）にいる介護者に対して、介護者が介護中の人が悲しんでいた／喜んでいた／怒っていた／のようなことを一目で理解し、従って、介入する（又はしない）ことができるように、ＰＣＤ１００は、それ自体が属する人の気分を照明／顔のグラフィック／姿勢の組合せを用いて示すことができる。
【０１８７】
同じ場所にいない介護者（例えば、１人で住み続ける高齢の親の世話をしている大人）に対しては、ＰＣＤ１００は、どのデータをどの期間にわたって提供するかに関してカスタム化可能なモバイル／ウェブアプリを通してこの感情状態データを提供することができる。
【０１８８】
ユーザの気分のこの理解が確立された状態で、ＰＣＤ１００は、段階９０６においてこの気分の変化を試み、それをもたらす。この試みは自律的に行うことができ、ＰＣＤ１００は、物語／冗談を話す、同情する、ゲームで遊ぶ、感情の反映のような処理を通してユーザの感情状態の正の変化を引き起こそうと試みる。これに代えて、介護者は、主ユーザが負の感情状態にあることをＰＣＤ１００によって警告された時に、この特定の関連において負の感情を軽減することになるＰＣＤ１００が知っていると思われるある一定の事柄を言う／試みる／行うようにＰＣＤ１００に命令することができる。
【０１８９】
夜間照明
【０１９０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、夜間照明機能を有するように構成することができる。この機能により、ＰＣＤ１００は、ユーザが真夜中に目覚めた場合にアニメーション付き夜間照明として機能することができる。正しい条件が満たされた場合（例えば、時間が真夜中である場合に、周囲光が非常に弱い場合に、長時間にわたって静けさ及び静寂又はいびきがあり、次に、突然に移動又は発声がある場合）には、ＰＣＤ１００は静かに起動し、確立された色でポンポンを照明し、時にユーザが大丈夫であるか否かを尋ねることができる。一部の実施形態では、ＰＣＤ１００は、ユーザを落ち着かせ、睡眠状態に戻すのに役立たせることができる活動又はアプリを提案することができる。
【０１９１】
ランダム愛嬌行為
【０１９２】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ランダム愛嬌行為機能を有するように構成することができる。この機能により、ＰＣＤ１００は、１日中様々な時点で楽しいか又は刺激的であるように設計された方式で何かを言う／質問を投げ掛けるように作動させることができる。一実施形態では、この機能は、ＰＣＤ１００との自由形態の自然言語会話を含まず、代わりに思考／会話に対するネタとして面白い、可愛い、可笑しいのようなことを言うＰＣＤ１００の機能を含む。
【０１９３】
一部の実施形態では、ＰＣＤ１００は、その中にあるか又は外部に提供される、生成される、維持される、時々に更新されることわざ、フレーズ、冗談のようなデータベースにアクセス可能である。データは、例えば、天気、スポーツ、ニュースなど、ＲＳＳフィード、他のＰＣＤ１００からのクラウドソーシング、及びユーザプロファイルから利用可能である。これらのビットをメタタグ付けし、これらのメタタグを個々のＰＣＤ１００のユーザプリファレンスと比較する処理を通して、適切な事実又はことわざを全ての個々のＰＣＤ１００に送ることができる。
【０１９４】
ＰＣＤ１００は、ランダム愛嬌作動を配信することを決定すると、クラウドに接続され、ユーザＩＤなどを提供し、データリポジトリからのビットを要求することができる。上述のように、サーバは、当該ユーザに配信するのに最良のビットを決定するために、事実をユーザプリファレンス、日／日付／時間、ユーザの自宅地域内の天気等と照合することになる。
【０１９５】
一部の実施形態では、この機能は、簡単な質問の形態を取るように機能することができ、この場合に、質問は、返答の認識を容易にするほど十分に具体的であり、同時にそのような質問への返答は、当該ユーザのプロファイルを構成するのを助けるために使用することができ、それによってより適合性の高いビットがユーザのＰＣＤ１００に適時に配信されることを保証する。他の実施形態では、ユーザは、簡単なタッチインタフェース又は自然言語インタフェースを通して愛嬌作動を特定的に要求することができる。一部の実施形態では、この機能は、「好き／嫌い」ユーザフィードバック募集を用いて、アルゴリズムがこの特定のユーザに対して興味のあるビットをより的確に提供することを可能にするようにすることができる。
【０１９６】
ＤＪ  ＰＣＤ
【０１９７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ＤＪ機能を有するように構成することができる。この機能により、ＰＣＤ１００は、音楽演奏、ダンス演技、及びＰＣＤ１００からの提案を特徴として実施するように作動させることができる。この機能は、いくつかのモードで作動させることができる。そのようなモード又は機能は、簡単なタッチインタフェース（開始から望ましいアクションまで２回よりも多くないビート）を通じて、又は他の実施形態では自然言語インタフェースを通してアクセスし、制御することができる。音楽は、ローカルに格納するか又は外部ソースから受信することができる。
【０１９８】
ＰＣＤ１００は、この機能を用いて曲を演奏する時に、曲にダンスアニメーション、照明／色表示、顔の表情などを添えるためにビート追跡を使用することができる。ＰＣＤ１００の選曲は、以下のモードのような選択されるモードに基づくことができる。
【０１９９】
ジュークボックスモード
【０２００】
このモードでは、ＰＣＤ１００は、ユーザが選択した特定の曲、アーティスト、又はアルバムを演奏することができる。
【０２０１】
ムードボックスモード
【０２０２】
このモードでは、ユーザがある一定のムードの曲を要求する。ＰＣＤ１００は、曲を選択するのにムードメタタグを使用することができる。ユーザは、Ｐａｎｄｏｒａと同じく曲に関するフィードバックを与えることができ、ＰＣＤ１００が後の選択に対する重み付けを調整することを可能にする。
【０２０３】
周囲音楽モード
【０２０４】
ユーザがこのモードを選択した状態で、ＰＣＤ１００は、部屋の中に背景雰囲気を生成するためにウェブからの情報（日付、曜日、時刻、カレンダー事象、外の天気のような）、並びにセンサ１０２、１０４、１０６、１０８、１１２からの情報（例えば、部屋の中にいる人々の人数／活動レベル、ノイズレベルのような）を用いて演奏される曲及びそれを演奏する際の音量を選択する。ユーザは、音量を制御するか又は曲を飛ばす機能を有することができる。更に、ユーザは、周囲音楽モードを離れることなく何時でも特定の曲を要求することができる。要求された曲は演奏することができ、このユーザ選択は（音量変更の場合と同じく）後の選択の重み付けに使用することができる。
【０２０５】
ＰＣＤ好み
【０２０６】
一部の実施形態では、ユーザは、このモードに直接にアクセス可能であるが（「どのタイプの音楽が好きなんだい、ＰＣＤ？」）、ＰＣＤ１００は、曲のストリームの中に１又は２以上の選択曲を時々に差し挟むか、又はジュークボックスモード又はムードボックスモードの開始時に選択曲を演奏しようと試みることができる（周囲音楽モードでは、ＰＣＤ１００はこれを行うことができない）。ＰＣＤの選曲は、作曲者又は例えば他のＰＣＤからのクラウドソーシング曲選択によって達成されたＰＣＤ１００，Ｉｎｃ．からの定期更新リストに基づく場合がある。ＰＣＤ１００好みはまた、ユーザのネットワーク内の一定のＰＣＤ１００から特定の曲をプルすることができ、例えば、ＰＣＤ１００は、「あなたの娘さんは、いつもこの曲をリクエストしています！」と告知し、次に、娘の好みの曲を演奏することができる。
【０２０７】
踊るＰＣＤ
【０２０８】
例示的かつ非限定的実施形態により、いずれかのモードで曲を演奏した後に、ＰＣＤ１００は、曲がどうであったかを尋ねることができ（更にユーザの返答に依存して嬉しいか又は悲しいと相応に応答することができ）、又はユーザがどれ程上手に踊ったかに関するスコアをユーザに提供することができる。ＰＣＤ１００は、ユーザが踊っている写真を捕捉してこれらの写真をユーザのＰＣＤプロファイル、ソーシャルメディアサイトにアップロードすること又はこれらの写真を電子メールすることを提案することができる。様々な機能モードは、以下のモードを含む。
【０２０９】
貴方をコピー
【０２１０】
このモードでは、ＰＣＤ１００は、演奏する曲を選択し、次に、音位置／顔／骨格追跡を用いて視覚／ＲＧＢＤ視野内でユーザを取得する。ユーザが音楽に合わせて一緒に踊る時に、ＰＣＤ１００は、ユーザの踊りを模倣しようと試みることができる。ユーザが音楽とリズムを合わせ損ねた場合に、音楽が遅くなるか又は速くなることができる。曲が終わった時に、ＰＣＤ１００は、ユーザの移動をコピーするのにどれ程上手に演技したかを尋ねること、又はユーザがどれ程上手にビートを合わせたかに関するスコアをユーザに提供することができる。ＰＣＤ１００はまた、ユーザが踊っている写真を捕捉してこれらの写真をユーザのＰＣＤプロファイル、ソーシャルメディアサイトにアップロードすること又はこれらの写真をユーザに電子メールすることを提案することができる。
【０２１１】
ＰＣＤをコピー
【０２１２】
このモードでは、ＰＣＤ１００が踊り、ユーザが踊りを模倣する。ここでもまた、ユーザが良い演技を行わなかった場合は音楽の再生が影響を受ける。一部の実施形態では、別個の画面が、ユーザとＰＣＤ１００の両方に対する人間の踊り手が模倣するのを表示する。ユーザとＰＣＤ１００の両方が一緒に踊りを踊り、次に、ＰＣＤ１００が、それ自体とユーザの両方を採点する。
【０２１３】
一緒に踊る
【０２１４】
このモードでは、ユーザが、ラジオ、ｉＰｏｄ（登録商標）、歌、鼻歌等からの音楽を流し、ＰＣＤ１００が一緒に踊ろうと試み、終わった時にどれ程上手に踊ったかを尋ねる。
【０２１５】
物語演技／アニメ化
【０２１６】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、物語演技／アニメ化機能を有するように構成することができる。この機能により、ＰＣＤ１００は、ユーザがＰＣＤ１００との対話型実演に向けて劇を購入することを可能にするように作動させることができる。図１０を参照すると、例示的かつ非限定的実施形態の流れ図１０００が示されている。段階１００２において、劇を即座に購入してユーザのＰＣＤクラウドプロファイルに格納することができ、又はＮｅｔｆｌｉｘ方式で賃借することができる。
【０２１７】
劇／情景の購入は、例えば、Ａｎｄｒｏｉｄアプリ又はウェブインタフェースを通して行うことができ、この場合に、仮想ＰＣＤ１００は、ユーザに購入及びインストールの処理を案内することができる。一部の実施形態では、段階１００４において、ユーザは、実演したい劇／情景を選択することができる。この選択、並びに使用時のこの機能の制御は、簡単なタッチインタフェース（ＰＣＤ１００の眼又は身体のいずれか）又は自然言語インタフェースを通して達成することができる。ユーザが劇を選択した状態で、段階１００６において、ＰＣＤ１００は、ユーザがリハーサル又は実演のいずれを行いたいかを尋ねることができる。
【０２１８】
選択されたモードに関係なく、段階１００８において、ＰＣＤ１００は、劇の中でどの登場人物になりたいかをユーザに尋ねることによって始めることができる。この初回の後に、ＰＣＤ１００は、この劇が再度選択される場合にこの選択を見ることになり、ユーザは何時でも変更することができる。
【０２１９】
リハーサルモード
【０２２０】
ユーザがリハーサルモードに入った状態で、段階１０１０において、ＰＣＤ１００は、ユーザをこの劇に習熟させるためにそれを実演することを提案することができる。既に習熟している場合に、ユーザはこの段階を省略することができる。ＰＣＤ１００が劇を実演することをユーザが強く望む場合に、段階１０１２において、ＰＣＤ１００は、ユーザが読み合わせを行う時にユーザの役に対する台詞を強調表示することができる。
【０２２１】
この読み合わせに続いて、段階１０１４において、ＰＣＤ１００は、ユーザに台詞を教え始めることができる。各台詞に関して、ＰＣＤ１００は、台詞付け及び台詞を告知し、次に、ユーザが台詞を暗唱する間にタッチ画面１０４上にワードを表示することができる。ＰＣＤ１００は、発話認識を用いてユーザが正しいか否かを決定することができ、ユーザが台詞を正しく繰り返すまで試行し続けることになる。次に、ＰＣＤ１００は、台詞付けをユーザに提供して台詞を繰り返させることができ、ユーザが台詞付けに対して適切に台詞を繰り返すことができるまで再度試行する。その後にＰＣＤ１００は次の台詞に移ることができる。
【０２２２】
ユーザが全ての台詞を習得した状態で、段階１０１６において、ＰＣＤ１００は、全ての台詞付けを用いて通し稽古を行うことになり、掛け合いの中での適正な台詞を検査し、必要に応じてユーザに台詞を教える。
【０２２３】
台詞付けは、最初にグラフィックの形態を取ることができ、眼が台詞を示唆する形状に変態することに注意されたい。これは、台詞付けでの最初の試みとすることができ、ユーザが依然として台詞を覚えることができない場合に、ＰＣＤ１００は言語台詞付けに進行することができる。
【０２２４】
実演モード
【０２２５】
ユーザが演じたい登場人物に対する全ての台詞を覚えた状態で、段階１０１８において、実演モードに入ることができる。このモードでは、ＰＣＤ１００は、ユーザに自分の台詞を言わせるための時間を取り、ユーザがつかえた又は忘れた場合は台詞を教えながら劇の完全な実演を行うことになる。ＰＣＤ１００は、この実演中、更に、ユーザが発する台詞の間にも完全な効果音、背景音楽、アニメーション、及び照明効果を使用することになる。一部の実施形態では、劇が実演された後に、ＰＣＤ１００は、この劇の漫画／アニメ化バージョンを生成することができ、ユーザの台詞中のユーザの音声オーディオが含まれ、ユーザが演じるキャラクターの口と同期される（可能な場合に）。この漫画は、ＰＣＤクラウド上に格納する、ソーシャルメディアサイトに掲載する、又は共有／思い出作りに向けてユーザに電子メールすることができる。一部の実施形態では、ＰＣＤ１００は、劇を各々が独自の登場人物を演じる複数の参加者と共に実演するように構成することができ、これらの参加者はリモート（例えば、テレフローの他端）とすることができる。
【０２２６】
踊るＰＣＤ−共有
【０２２７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、上述した踊るＰＣＤアプリの追加の機能を使用するように構成することができる。この機能の一部の実施形態では、ユーザは、ＰＣＤ１００に向けてカスタムの踊りを生成することができる。このカスタム踊りは、モバイルアプリ又はウェブアプリを通して取得され、ＰＣＤ１００が音楽に乗って実演するために、ユーザが曲を選択し、踊りの振りを選択してまとめ合わせることが可能になる。踊りをＰＣＤ１００と協働して生成するように、ユーザは、ＰＣＤ１００に踊りの振りを選択させることができる。一部の実施形態では、照明効果／効果音（例えば、ＰＣＤが「身をかがめて！」と言う）を追加し、踊りと同期させることができる。他の実施形態では、ＰＣＤ１００の踊りを他のＰＣＤ１００に送ること、仮想ＰＣＤ１００によって演じて友人に見せること、かつオンラインで保存することなどができる。ユーザは、他のＰＣＤ１００のユーザによって生成された他のＰＣＤ１００の踊りを演じることができる。
【０２２８】
有名人が生成したコンテンツ
【０２２９】
例示的かつ非限定的実施形態により、この機能は、ユーザが、有名人が生成したコンテンツを自分のＰＣＤ１００にダウンロード又はストリーミングすることを可能にする。コンテンツは、ウェブインタフェース又はＡｎｄｒｏｉｄアプリを通して選択され、この場合に、仮想ＰＣＤ１００は、ユーザにコンテンツ購入処理を案内することができる。コンテンツは、以下のいずれかとすることができる。
【０２３０】
事前記録されたもの
【０２３１】
これは、映画に関する監督／俳優の論評、ミステリーサイエンスシアター３０００方式の冗談などを含むことができる。全てのコンテンツは、映画に加えることができる。ＰＣＤ１００のコンテンツ配信を観賞中のメディアと同期させるために音響透かしを使用することができる。
【０２３２】
ライブストリーミング
【０２３３】
このモードでは、ＰＣＤ１００は、中心にいる有名人／評論家によって実時間で生成されているコンテンツをストリーミングすることができる。コンテンツ生成者は、話し言葉を相補するために、実時間「パペット」ＰＣＤ１００にアニメーション効果／照明効果／色彩効果を果たさせる機能を有することができる。そのような事例では、理論的にはコンテンツ生成者が事象をユーザと同時に見ており、論評を実時間で加えていることになるので、音響透かしは必要ではない。ライブストリーミングは、政治評論家が大統領演説に対して論評している場所、選挙報道など、又はユーザの好きな運動選手がスポーツ事象に対して論評している場所を含むことができる。
【０２３４】
例示的かつ非限定的実施形態により、永続的コンパニオンデバイス（ＰＣＤ）１００は、１又は複数の人の環境内で継続的又はほぼ継続的に存在するように適応される。一実施形態では、個人は、当人を識別する様々なパラメータデータをＰＣＤによって取得するか又はＰＣＤに対して利用可能である個人の特定のインスタンスである。下記でより完全に説明するように、人のＩＤに加えて、ＰＣＤ１００は、挙動パターン（スケジュール、日課、癖のような）、プリファレンス、態度、ゴール、仕事などを更に認識することができる。
【０２３５】
パラメータ識別データは、例えば、上述したセンサ１０２、１０４、１０６、１０８、１１２のうちの１又は２以上を利用する音声認識及び顔認識などを用いて人の存在を識別するために使用することができる。パラメータデータは、ＰＣＤ１００のメモリ内等にローカルに格納するか又はＰＣＤ１００がＢｌｕｅｔｏｏｔｈ及びＷｉＦｉなどのような有線又は無線の通信しているサーバ上にリモートに格納することができる。そのようなパラメータデータは、ＰＣＤ１００又はサーバ内に手動入力することができ、又はＰＣＤ１００が長期間にわたって取得するか又は初期化処理の一部として取得することができる。
【０２３６】
例えば、他の点では初期化されていないＰＣＤ１００をユーザの環境に運び入れると、ユーザは、自分の音声及び顔の特徴部など（及び他の関連の事実情報）の例を取得するようにＰＣＤ１００が作動される／対話を受ける初期化手順を実施することができる。下記でより完全に説明する家族ハブ実施形態では、ユーザが拡大家族を含むユーザのソーシャルネットワークを形成する場合は複数である場合がある。これらのデータはＰＣＤ１００に格納することができ、同じくＰＣＤ１００が、例えば、サーバ等にある外部ストレージに向けて通信することができる。ユーザ名、ユーザの誕生日、ユーザの眼の色、ユーザの髪の色、及びユーザの体重などのような他のユーザ識別データをサーバが有するか又はＰＣＤ１００の一部を形成するグラフィックユーザインタフェース、発話インタフェースなどを通して手動入力することができる。パラメータデータの一部分がＰＣＤ１００内に入力される又は他にＰＣＤ１００によって得られた状態で、ＰＣＤ１００は、他のパラメータデータをこれに加えて取得するように作動させることができる。例えば、ＰＣＤ１００に対して予め決められたテキストを朗読することなどによってサンプル音声痕跡を与える段階を含む初期化を実施した状態で、ＰＣＤ１００は、発声中のユーザを識別し、顔識別に必要とされる顔特徴データを取得するように自律的に作動させることができる。ＰＣＤ１００は、ユーザの環境に永続的な存在を維持するので、長期間にわたってユーザの様々なパラメータデータを取得するように作動させることができる。
【０２３７】
一部の実施形態では、ＰＣＤ１００は、人に関する初期化中にＩＤ以外の関連情報を取得するように作動する。上述のように、ＰＣＤ１００は、背景情報、人口統計情報、好物、連絡先情報（電子メール、電話のような）、興味、プリファレンス、及び性格などを取得するように作動させることができる。そのような事例では、ＰＣＤ１００は、「付き合い始め」の対話等中にテキストベースの情報／ＧＵＩ情報／発話入力情報を取得するように作動させることができる。更に、ＰＣＤ１００は、連絡先情報と、複数のＰＣＤ１００の間で共有する、かつＰＣＤ１００内に直接入力することができる家族ハブのパーソナル化パラメータ化情報（例えば、高齢の親、子のような）とを取得するように作動させることができる。下記でより完全に説明する様々な実施形態では、ＰＣＤ１００は、拡大家族との家族接続を容易にするように作動する。下記でより詳しく説明するように、人のスケジュール、事象、及び気分などを含むがこれらに限定されない日常情報は、ＰＣＤ１００がどのようにユーザと対話し、ユーザに活動を推奨、提案し、情報を提供するかに関する重要な背景を与えることができる。
【０２３８】
例示的かつ非限定的実施形態により、ＰＣＤ１００によって得られる背景的長期的なデータは、ユーザの興味、プリファレンス、及びユースケースに徐々に適合状態になるように自体の機能及び特徴を構成する適応システムを容易にする。例えば、ＰＣＤ１００は、ユーザが音楽を好ましいことを習得した場合に、音楽の好みを見出し、その種の音楽を演奏し、情報に基づく音楽の提案を行うことができるように、クラウドから「音楽属性」を自動的にダウンロードすることができる。
【０２３９】
このようにしてＰＣＤ１００は、ユーザの生活を学習する。ＰＣＤ１００は、現実世界においてユーザを感知することができ、ＰＣＤ１００に接続された他のデバイス、技術、システム、パーソナルコンピュータデバイス、パーソナル電子デバイスのデジタルエコロジーからデータを収集することができる。この長期的データ集合から、ＰＣＤ１００は、人と、このユーザに対して学習し、提供することができる機能により的確に適合及び整合するようにＰＣＤ１００自体を構成することを可能にする活動パターンとに対して学習する。重要な点として、ＰＣＤ１００は、人の社会／家族パターン、人の生活で誰が重要な人々（人の拡大家族）であるかに対して学習し、人の感情／気分に対して学習してそれを追跡し、重要な挙動パターン（人がある一定の事柄を行う傾向を有する時）に対して学習し、人のプリファレンス、好みなどを学習し、人が知りたいこと、人を楽しませることなどを学習する。
【０２４０】
下記でより完全に説明するように、ＰＣＤ１００は、そのユーザとそれ自体との対話に関するデータを収集するための長期的データ収集機能を設けるためにユーザと対話するように構成される。
【０２４１】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、視覚センサ、聴覚センサ、及び触覚センサ１０２、１０４、１０６、１０８、１１２を含む対話によるユーザとの永続的対話の１又は２以上の属性を含む長期的データを取得するように構成される。各事例において、視覚、聴覚、及び触覚の感覚をユーザからＰＣＤ１００が知覚、又は他に取得し、更に、ＰＣＤ１００がユーザに伝達することができる。例えば、ＰＣＤ１００は、ユーザの活動、感情状態、及び健康状態に関するデータを含む視覚情報をユーザから取得するためにカメラセンサ１０６を組み込むことができる。同じくＰＣＤ１００は、発話認識から導出されたデータ、ストレスレベルに関するデータを含むオーディオ情報、並びにユーザによって利用されている娯楽メディアの識別情報のような背景情報をユーザから取得するためにオーディオセンサ１１２を組み込むことができる。更に、ＰＣＤ１００は、それを撫でること及び抱き締めることを含むがこれらに限定されないＰＣＤ１００との物理的接触でのユーザのタッチ又は介入に関するデータを含む触覚情報をユーザから取得するために触覚センサ１０２を組み込むことができる。他の実施形態では、ユーザは、ＰＣＤ１００のタッチ画面インタフェースをナビゲートするためにタッチを使用することができる。他の実施形態では、ＰＣＤ１００又はユーザの場所をユーザが携帯しており、場所・背景関連の情報を与え、サービスを提供するための入力として使用されるセル電話などを通して決定することができる。
【０２４２】
上述のように、視覚、聴覚、及び触覚の感覚をＰＣＤ１００がユーザに伝達することができる。例えば、音、警報、音楽、及び音声対話などを出力し、ユーザとの会話に携わるためにオーディオ出力デバイスを使用することができる。同じく、ユーザにテキスト及び画像を伝達し、更に、ＰＣＤ１００とユーザ間のコミュニケーション対話の一部分を含むグラフィックデータを伝達するように作動させるためにグラフィック要素を利用することができる。グラフィック要素は、周囲光及び他の手がかり（そのＬＥＤポンポン）を使用することができる。触覚デバイス１０２は、ＰＣＤ１００の感情状態及び含まれる様々な他のデータを例えば振動によって伝達し、更にデバイスのインタフェース／コンテンツをナビゲートするために使用することができる。このデバイスは、ユーザの状況、気分等に適する様々な芳香を発することができる。
【０２４３】
情報は、ＰＣＤ１００に接続された様々なデバイスを通して収集することができる。これらの情報は、第三者システムデータ（例えば、医療、ホームセキュリティーのような）、モバイルデバイスデータ（音楽再生リスト、写真、検索履歴、カレンダー、連絡先リスト、ビデオのような）、及びデスクトップコンピュータデータ（特にＰＣＤ１００のポータルを通して入力されたもの）などから利用可能である。
【０２４４】
上述したセンサに加えて、ＰＣＤ１００とユーザ間の対話に含まれるデータ及び情報は、様々なデータソースから取得し、そこに格納及び出力することができる。例示的かつ非限定的実施形態では、対話データは、ＰＣＤ１００上に格納し、それとユーザとの間でクラウドデータ又は他の接続モード（Ｂｌｕｅｔｏｏｔｈのような）を通して送信することができる。一実施形態では、ＰＣＤ１００との対話を可能にするために、ＰＣＤ１００によるユーザのクラウド格納データへのアクセスを可能にすることができる。例えば、ＰＣＤ１００は、インターネットを検索し、アプリ／サービスを用いるか又はクラウドストレージからのユーザのスケジュールのようなクラウドからのデータにアクセスし、そこから導出された情報を用いて対話をトリガすることができる。一例として、ＰＣＤ１００は、ユーザに、隣接レストランで９：００ａｍに友人との朝食の約束があることを指摘することができる。ＰＣＤ１００は、ユーザが約束の５分前に自宅にいることに気づいた場合に、オーディオデバイス１１０を通して発声することによってユーザと対話し、出掛ける準備ができていないのではないかと問い合わせることができる。例示的実施形態では、ＰＣＤ１００は、この芸当を現在のＧＰＳ座標とレストランとに基づいて移動時間の計算を自律的に実施することによって達成することができる。このようにして、ＰＣＤ１００は、アクセスしたオンライン又はクラウドのデータに対して、ＰＣＤ１００とユーザ間に友好関係構成対話をもたらすアクションをトリガするための１又は２以上のアルゴリズムを適用することができる。人々は、ソーシャルネットワーキング、実時間又は非同期の方法、例えば、テキストを送ること、実時間視聴覚接続を確立すること、及び他のアプリ／サービス（Ｆａｃｅｂｏｏｋ、Ｔｗｉｔｔｅｒのような）を通して接続することなどによってＰＣＤ１００とコミュニケーションを取ることができる。他の例は、対話をトリガするために使用することができるｉＴｕｎｅｓデータ及びＮｅｔｆｌｉｘデータを含むがこれらに限定されないクラウドに格納されたユーザの娯楽ファイル及びメディアファイルへのＰＣＤ１００によるアクセスを含む。
【０２４５】
類似の方式で、他の例示的実施形態により、対話データは、サーバ、パーソナルコンピュータ、又はモバイルデバイス上のようなユーザの環境の近く又はこの環境に格納することができ、ユーザがアクセス可能である。ＰＣＤ１００は、データを同じくクラウドに格納することができる。他の実施形態では、対話データは、ＰＣＤ１００の外部にあるセンサが取得することができる。
【０２４６】
例示的かつ非限定的実施形態により、ＰＣＤ１００上、サーバ上、又はクラウドに格納することができるもの等であり、対話を容易にするのに利用することができる活動ログ及びデバイス使用ログを生成することができる。活動ログは、ユーザが携わった活動、ＰＣＤ１００が携わった活動、又はユーザとＰＣＤ１００の両方が対話方式で携わった活動を記録する情報を格納することができる。例えば、活動ログは、チェスゲームに携わるＰＣＤ１００及びユーザのインスタンスを記録することができる。更に、ユーザの愉快レベルを推量することを可能にするそのような対戦中のユーザの感情状態に関する情報を格納することができる。このデータを用いて、ＰＣＤ１００は、ユーザがどれ程多くの場合にチェスをしたいと望んでいるか、ＰＣＤ１００とユーザとが最後にチェスをしてからどれ程の時間が経つか、及びユーザがチェスペア戦に携わりたいと望む可能性などのような事柄を決定することができる。類似の方式で、ユーザがＰＣＤ１００といつ、どれ程頻繁に、かつどのように対話することを好むかを示すデバイス使用ログを格納して維持することができる。明らかなように、活動ログとデバイス使用ログの両方を用いて、ＰＣＤ１００とユーザ間の対話の頻度と質の両方を高めることができる。
【０２４７】
例示的かつ非限定的実施形態により、対話データは、手動入力によって取得することができる。そのようなデータは、ユーザが、ＰＣＤ１００の一部を形成する入力デバイス１０２、１０４、１０６、１０８、１１２を通して直接ＰＣＤ１００内に入力するか、又はサーバ、ＰＤＡ、及びパーソナルコンピュータなどのようなコンピュータデバイス内に入力し、Ｂｌｕｅｔｏｏｔｈ又はＷｉＦｉ／クラウドなどを通してＰＣＤ１００に送信又は他に通信することができる。他の実施形態では、対話データは、ＰＣＤ１００がそれ自体とユーザとの言語対話を通して取得することができる。例えば、ＰＣＤ１００は、一連の質問を含むユーザとの言語対話に携わることができ、ユーザの返答は、ＰＣＤ１００上、サーバ上、又はクラウド内で作動する発話認識ソフトウエアによってテキストに変換され、結果は、ＧＵＩ又はタッチベースの対話に関するものと同じく対話データとして格納される。
【０２４８】
例示的かつ非限定的実施形態により、対話データは、嗅覚データを識別するように構成されたセンサ１０２、１０４、１０６、１０８、１１２を通して取得することができる。同じく、ＰＣＤ１００は、嗅覚芳香を放出するように構成することができる。更に他の実施形態では、対話を改善するために、ＰＣＤ１００内にＧＰＳ及び他の場所特定装置を組み込むことができる。例えば、子供ユーザは、自分のＰＣＤ１００を家族旅行又は家族休暇に持って行くことができる。移動中に、ＰＣＤ１００はそれ自体の地点を決定し、インターネットにアクセスして隣接の目印を決定し、これらの目印に対して話し合うことによって時間及び場所に関する子供との言語対話に携わる。
【０２４９】
このようにして話し合いのための題材を確立するのに加えて、一部の実施形態では、そのような対話の結果をその時点又は後の時点でリモートストレージ設備に送信することができ、そこには、定められたセキュリティ設定に従って複数のユーザからこのようにして得られた対話データが累積される。このようにして、ユーザの属性と場所のようなＰＣＤ１００取得データとの統計的側面に基づいて、好ましい対話モードの中央集中データベースを開発することができる。例えば、直前の例では、ＰＣＤ１００は、それ自体の場所を航空宇宙博物館の近くで自然史博物館の向かいにあるナショナルモール上にあるものと決定する場合がある。中央集中データベースにアクセスしてユーザの年齢及び場所を提供することにより、ユーザの年齢プロファイルに適合する他の子供が恐竜に興味を示す傾向を有することを決定することができる。その結果、ＰＣＤ１００は、ユーザを自然史博物館に向けながら恐竜の話し合いを始める。
【０２５０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザの様々な生理学的かつ身体的な属性及びパラメータに少なくとも部分的に基づいて、ユーザとの対話の態様を変調することができる。一部の実施形態では、ＰＣＤ１００は、凝視追跡を用いてユーザの凝視方向を決定することができる。そのような情報は、例えば、ユーザの興味を決定するために又はごまかしの程度を計るために使用することができる。同じく、ユーザの心拍数及び呼吸数を取得することができる。更に他の実施形態では、視覚センサデータからユーザの皮膚の色調を決定し、それを利用してユーザの身体状態又は感情状態を確立することができる。センサ１０２、１０４、１０６、１０８、１１２を通して確立することができるユーザの他の挙動属性は、音声韻律及びワード選択を含むがこれらに限定されない。他の例示的実施形態では、ＰＣＤ１００は、手振り又は指さしのようなユーザの身振りを確立して解釈することができ、後にそれを対話に対するトリガとして利用することができる。同じく、ユーザが立っている、前屈みしている、寄りかかっている、及び類似の状態にあるか否かを決定するために、ＰＣＤ１００は、ユーザの姿勢を評価して解析することができる。
【０２５１】
様々な例示的かつ非限定的実施形態により、ＰＣＤ１００とユーザの対話は、決定されたユーザの感情的又は精神的な状態又は属性に少なくとも部分的に基づく場合がある。例えば、ＰＣＤ１００は、ユーザが、例えば、神経質になっている、嬉しい、心配している、楽しんでいる可能性が高いか否かを見るために、ユーザが瞬きをしている頻度、ユーザが微笑んでいる又は唇を噛んでいるのいずれであるか、及びユーザが発した笑いの存在などを決定して記録することができる。同じく、ＰＣＤ１００は、又は他に静かな環境内でユーザが比較的動いておらず、静かな状態に留まる中でユーザの凝視が空間内の１点に固定しているのを観察し、ユーザが熟考又は困惑した状態にあることを決定することができる。更に他の実施形態では、ＰＣＤ１００は、うなずく又は頭を振ることのようなユーザの身振りを心的同意又は不同意と解釈することができる。
【０２５２】
例示的かつ非限定的実施形態により、ユーザがそれを通じて対話するインタフェースの一般的な属性を擬人的なＰＣＤ１００又は非人間ベースのＰＣＤ１００を提供するように構成する及び／又は調整することができる。一実施形態では、ＰＣＤ１００は、非人間動物の特徴を表示するように構成される。そうすることで特定の動物に対するユーザによる既存の感情先入的愛好を模倣及び／又は増幅することにより、ＰＣＤ１００とユーザ間の対話を改善することができる。例えば、ＰＣＤ１００は、興奮状態を伝えるように作動する時に吠えることによって犬を模倣することができる。更に、ＰＣＤ１００には、ユーザ対話に応答して振ることができる尾のような付属肢を取り付けることができる。同じく、ＰＣＤ１００は、馴染み深い猫の「ニャーオ」と同様の音を出力することができる。ＰＣＤ１００インタフェースの実時間発現に加えて、そのようなインタフェース属性は、時間経過に伴って変化してユーザ及びＰＣＤ１００の動物キャラクターの経年変化処理を調節することによって対話を更に改善することができる。例えば、犬に基づくＰＣＤ１００キャラクターは、最初に得られた時には子犬のアクションを模倣し、挙動及び対話において徐々に成熟してユーザとＰＣＤキャラクターの関係が経時変化しているという感覚をユーザ側に与えることができる。
【０２５３】
上述のように、動物又は架空の生き物に基づくＰＣＤ特徴に加えて、ＰＣＤ１００は、人間に基づいてモデル化された擬人的インタフェースを提供するように構成することができる。そのような人間又は「ペルソナ」は、事前構成されたものユーザ定義可能なもの又はこれら２つのあらゆる組合せとすることができる。このペルソナは物真似を含むことができ、この場合に、ＰＣＤ１００は、有名人、メディア番組の司会者、又は登場人物（例えば、ダウントンアビーからの登場人物であるラリーバード、ジョンスチュワートのような）の独特の癖及び特徴を装うことができる。ＰＣＤ１００のペルソナ又は「デジタルソウル」は、ＰＣＤ１００上、ＰＣＤ１００の外部に存在することに加えて格納することができ（例えば、クラウド内に）、従って、他のＰＣＤ１００上にダウンロードしてインストールすることができる。これらの他のＰＣＤは、グラフィックである（例えば、その外見がユーザのモバイルデバイス上に登場する）又は別の物理ＰＣＤ１００（例えば、新しいモデル）内に入ることができる。
【０２５４】
ＰＣＤ１００のペルソナはまた、合成又は技術的性質のものとすることができる。その結果、ＰＣＤ１００は、擬人化された技術として機能し、この場合に、デバイスＰＣＤ１００は、人、動物、及び既知の登場人物などのような既に存在する何か別を模倣しようと試みるのではなく、独自の固有ペルソナを有するように見える。一部の実施形態では、ＰＣＤ１００に対して、そのユーザにより的確に適するように時間経過に伴って適応及び修正することができる専有ペルソナを生成することができる。例えば、ユーザのＰＣＤ１００の韻律は、ユーザ自身の韻律をより厳密に反映するように時間経過に伴って適応させることができ、これは、そのような技術が親近感及び愛情を構成することによる。ＰＣＤ１００をパーソナル化又はカスタム化するためにユーザが買ういずれかの化粧品又は仮想人工物に加えて、ＰＣＤ１００は、そのグラフィック外見をユーザの好み及びプリファレンスに適応するように変化させることができる。
【０２５５】
例示的実施形態では、ＰＣＤ１００のデジタルソウルは、ＰＣＤ１００のインタフェースの特徴及び属性、並びにユーザとＰＣＤ１００間の対話の性質に影響を及ぼす属性を定める。このデジタルソウルは、ユーザとの対話に携わるＰＣＤ１００によって利用される対話データ及び情報から二分されるが、デジタルソウルは、特定のユーザとの応答対話において時間経過に伴って変化する場合がある。例えば、各々が自分自身のＰＣＤ１００を有するユーザを分離することは、例えば、アルバートアインシュタインのような公知の歴史的人物に基づいて等しいデジタルソウルをインストールする場合がある。２つの別個のＰＣＤ１００上へのインストールの時点から、各ＰＣＤ１００は、当該ＰＣＤ１００によって生成され、それに対してアクセス可能なユーザ独特の対話データに依存して異なる方式で対話することになる。デジタルソウルは、いくつかの形態で、様々な物理形態（例えば、ロボット形態）又はデジタル形態（例えば、グラフィックアバター）から実施することができる。
【０２５６】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、収集データに基づいて対話の質を改善するために機械学習機能を提供する。機械学習を実施するのに利用されるアルゴリズムは、ＰＣＤ１００上、それと通信しているコンピュータプラットフォーム上で実行することができる。例示的実施形態では、ＰＣＤ１００は、ユーザと対話して指導及び訓練を提供するために関連性条件付けを使用することができる。関連性又は「オペラント」の条件付けは、挙動を改善するための強化を使用することに主眼を置く。この処理を通して、挙動とそれに対する結果の間に関連性が形成される。例えば、ＰＣＤ１００は、ユーザが迅速に目覚め、動かない状態に留まるのとは対照的にベッドから飛び出した場合に嬉しいノイズを発することができる。ユーザは、ＰＣＤ１００の幸せの見かけ状態をそのようなアクションに関連付けられたので、時間経過に伴って、ＰＣＤ１００とユーザのこの対話は、より迅速に起き上がるようにユーザを促進するように作動する。別の例では、ＰＣＤ１００は、ユーザが運動しているのを観察した時に激励する音又はワードを発することができる。そのような事例では、ＰＣＤ１００は、ユーザが望むアクションに対して永続的な正の強化を与えるように機能する。
【０２５７】
様々な例示的実施形態により、ＰＣＤ１００は、機械学習を実施する時に、時間パターンのモデル化及び認識、ユーザプリファレンスのモデル化、特徴の分類、タスク／ポリシーのモデル化、及び強化学習を含むがこれらに限定されない当業技術で公知の複数のタイプの解析のうちの１つを使用することができる。
【０２５８】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザと対話するのに最も適する対話モードを識別するために視覚モデル、聴覚モデル、運動感覚モデル、又は「ＶＡＫ」モデルを使用することができる。ＰＣＤ１００は、ユーザの支配的学習方式を決定するように作動させることができる。例えば、ユーザが情報を主として視覚的に処理することをＰＣＤ１００が決定した場合に、ＰＣＤ１００は、ユーザに情報を伝達するのにＰＣＤ１００の一部を形成するグラフィックディスプレイ１０４のような上で図表及び図を使用することができる。同じく、ＰＣＤ１００は、聴覚環境においてユーザが覚醒状態に留まるのを助けるためにユーザに質問及び他のプロンプトを出すように作動させることができる。
【０２５９】
同じく、ユーザが情報を主として聴覚的に処理することをＰＣＤ１００が決定した場合に、ＰＣＤ１００は、何がやってくるのかに関する簡単な説明によって新しい対話を始めることができ、何が起こったかに関する要約で結論付けることができる。最後に、ユーザが情報を主として運動感覚的に処理することをＰＣＤ１００が決定した場合に、ＰＣＤ１００は、移動及びタッチを含む運動感覚対話及び触覚対話によってユーザと対話するように作動させることができる。例えば、朝ユーザを起こして活動的にするために、ＰＣＤ１００は、ユーザに抱き締めるように要求する活動に携わることができる。他の実施形態では、親交的対話の要素を強調及び強化するために、ＰＣＤ１００は、対話に関する芳香を発することができる。
【０２６０】
家の方々にＰＣＤ１００を移動する機能は、ＰＣＤ１００としての重要な態様である。作動時に、ＰＣＤ１００は、人々が画面の前で立ち止まって覗き込まなければならない（現代のビデオ会議）のではなく、「自分の生活の流れの中に居続ける」ことを可能にするように物理的に実施され、身体的親交的に表現力に富むコミュニケーション手法を離れている人に与えるように作動する。その結果、ＰＣＤ１００は、ユーザが誰かの家を訪ねているかのようなさりげない対話に対するサポートを提供する。ユーザは、例えば、皿洗いのような他の活動をしていながら、依然としてＰＣＤ１００が部屋の方々にユーザを追跡することができる方式に起因して会話を続けることができる。上述した例示的実施形態では、ＰＣＤ１００は、そのセンサ及び出力を部屋のような至る所に運ぶように設計される。中核を構成する技術態様は、以下のことを含む。
【０２６１】
ユーザは、ＰＣＤ１００のカメラビューを制御することができ、ＰＣＤ１００は、逆運動を追跡し、実行してカメラをターゲットの物体上に保つことによってこの制御を自動化するのに役立たせることができる。
【０２６２】
ＰＣＤ１００は、アイコンタクトのような重要な非言語手がかりを維持する手法で人の表現を画面にレンダリングする（ビデオストリーム、グラフィックのような）ことができる。
【０２６３】
ＰＣＤ１００は、人が表現的な物理的存在を有するように、離れている人の頭の姿勢、身体の姿勢を反映することができる。ＰＣＤ１００は、友好関係を構成するために姿勢の反映及び同期のような状況に適するＰＣＤ１００独自の表現的な身体の移動を生成することができる。
【０２６４】
ＰＣＤ１００は、更にアニメーション及び音をトリガすることができる。従って、ユーザは、自分を自分又は面白いキャラクターのいずれかとして正確に伝達しようと試みることができる。これは、おばあちゃんが物語の朗読中に様々なキャラクターを装いながら孫に物語をリモートに読み聞かせることができる接続物語朗読に対して確かに有利である。
【０２６５】
ＰＣＤ１００は、話している人を追跡して自体の凝視／ユーザのカメラビューをこの話者に自動的に変位することができる（ＰＣＤ１００を手動制御しなければならない時の認識負荷を軽減するために）。
【０２６６】
ＰＣＤ１００は、リモートユーザが、ＰＣＤ１００に対する大なり小なり直接的な制御をアサートすることができ、ＰＣＤ１００が自律性を用いて補足することができるようなスライド式自律性インタフェースを有することができる。
【０２６７】
ＰＣＤ１００は、ユーザに広い視野（他のデバイスが提供する／装備するトンネルビジョンでは、ユーザがその前に留まらなければならないことでそれよりもかなり優れている）を提供することができる。
【０２６８】
これら全てのことを行い、ＰＣＤ１００を家の方々の異なる場所に置くことができることにより、離れている人は、コミュニケーションを取ることができるだけではなく、活動に参加することができると感じる。寝る時間に物語を共有すること、遊び部屋において孫達と遊ぶこと、感謝祭の夕食にリモートに参加すること、娘が家族レシピを調理するのを手伝いながらキッチン天板の上に腰掛けることなどができるために、ＰＣＤ１００は、ハンズフリー作動をサポートし、従って、ユーザは、どこか他の場所に現実の物理的な親交的存在を有するように感じる。
【０２６９】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザが生活して動く環境に典型的な様々な面上又はその周りで安定した状態又は平衡が保たれた状態で配置されるように構成するか又は適応させることができる。例えば、ＰＣＤ１００のほぼ平面の面を滑らかな面上でＰＣＤ１００の摺動を防止するように作動する摩擦パッドから少なくとも部分的に製造するか又はこの面がこのパッドを組み込むことができる。他の実施形態では、ＰＣＤ１００は、凹凸面上にＰＣＤ１００を配置するために手動又は自動のいずれかで配備することができる部分的に着脱可能又は伸縮性の付属物を使用することができる。他の実施形態では、デバイスは、それが環境内で移動回るか又は物体を操作することを可能にするハードウエア付属品を有することができる。デバイスには、外面又は物体上に表示することができるようなレーザポインタ又はプロジェクタを装備することができる。そのような事例では、ＰＣＤ１００は、滑りを更に低減するために付属物の末端上又はその近くに摩擦パッドを組み込むことができる。更に他の実施形態では、ＰＣＤ１００は、面への一時的な付着に向けてＰＣＤ１００の外部の１又は複数の面上に１又は２以上の吸盤を組み込むことができる。更に他の実施形態では、ＰＣＤ１００は、ＰＣＤ１００を固定するため及び／又はＰＣＤ１００を吊り下げるためにフック及びループなどを組み込むことができる。
【０２７０】
他の例示的実施形態では、ＰＣＤ１００は、手で携帯可能であるように適応される。特に、ＰＣＤ１００は、１０ｋｇ未満の重さしかなく、４，０００ｃｍ3よりも大きくない体積しか占有しないように構成される。更に、ＰＣＤ１００は、それを運ぶ上での使用に向けて備え付けの又は着脱可能なストラップ又はハンドルを含むことができる。
【０２７１】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、親交的手がかりの存在又は発生を永続的に認識する又は計算によって決定することができ、親交的に存在するように構成される。従って、ＰＣＤ１００は、完全な停止期間を回避するように作動させることができる。一部の実施形態では、ＰＣＤ１００は、電力を節約するために定期的に低電力状態又は「スリープ状態」に入ることができる。そのようなスリープ状態中に、ＰＣＤ１００は、人又はユーザがＰＣＤ１００の周りに入ること、人声の音、及び類似のもののような親交的手がかりの存在に対してＰＣＤ１００に注意を促す可能性が高い少ない入力セットを処理するように作動させることができる。ＰＣＤ１００は、それ自体が対話することができる人又はユーザの存在を検出すると、ＰＣＤ１００のセンサ入力のうちのより多くのもの又は全てが背景データを感受して処理するのに利用される完全覚醒モードに移行することができる。
【０２７２】
親交的手がかりを永続的に認識する状態に留まることができることにより、常にＰＣＤ１００の電源を停止するか又は手動で電源を投入する必要が低減する。停止及び起動することができることは機械デバイスに関する属性であるので、完全電源停止モードに入るのを回避するＰＣＤ１００の機能は、ＰＣＤ１００が生きているコンパニオンであるという感覚を高める。一部の実施形態では、ＰＣＤ１００は、白色ノイズ又はいびきを模倣する音を発することによってスリープ状態にあることを強調することができる。そのような事例では、ユーザがＰＣＤ１００に出会うと、ＰＣＤ１００はユーザの存在を感知し、例えば、あくびのような目覚めを示すノイズでユーザに挨拶することで完全覚醒モード又は電源投入モードへの移行を進める。そのようなアクションは、ＰＣＤ１００とユーザとの間で対話を始める手がかりとして機能する。
【０２７３】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザからの言語合図及び非言語合図及び手がかりをモニタ、追跡、及び特徴付けるように適応される。そのような手がかりの例は、身振り、凝視方向、ワードの選択、音声韻律、体勢、顔の表情、感情手がかり、及びタッチなどを含むがこれらに限定されない。全てのそのような手がかりは、センサデバイス１０２、１０４、１０６、１０８、１１２を通して捕捉することができる。ＰＣＤ１００は、その挙動を捕捉された手がかりを実質的に模倣するか又は反映するように適応し、調節するように更に構成することができる。そうすることにより、ＰＣＤ１００は、ユーザの特徴及び精神状態を反映するように見せることでＰＣＤ１００とユーザ間の友好関係を高める。そのような反映は、ＰＣＤ１００のこの特徴の長期投影に向けてＰＣＤ１００の個性又はデジタルソウルの中に組み込むことができ、又は一時的なものとし、例えば、特定の親交的対話を包含する期間にわたって延長することができる。
【０２７４】
例えば、ＰＣＤ１００は、ユーザが特定のフレーズを繰り返し使用することを検出した場合に、このフレーズをその後にユーザと対話する時のＰＣＤ１００による永続的な使用に向けて対話データのコーパスに追加することができる。同じく、ＰＣＤ１００は、一過性の言語及び非言語の身振りを実時間又は近実時間で模倣することができる。例えば、ＰＣＤ１００は、興奮を示すユーザの音声の周波数増大と相まった高いワード速度を検出した場合に、通常よりも高い周波数と高い語速度とでユーザとの言語対話を始めることができる。
【０２７５】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、身体形状因子、物理的移動、グラフィック、及び音を含むがこれらに限定されないＰＣＤ１００の一部を形成する様々な物理的発現を通して際立ったペルソナ又はデジタルソウルを投影することができる。一実施形態では、ＰＣＤ１００は、表現的技巧を使用することができる。例えば、ＰＣＤ１００は、オーディオ信号の出力を通して発声する時に作動させることができる可動顎付属物を組み込むことができる。そのような付属物には、笑顔又は不興顔を適切に模倣するほど十分な自由度数を付与することができる。同じく、ＰＣＤ１００は、視覚露出度を変化させることができる１又は２以上の「眼様」付属品を有するように構成することができる。その結果、ＰＣＤ１００は、びっくりすること、驚くこと、及び興味を有することなどに応答して「眼を大きく見開いた」表現を表示することができる。
【０２７６】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、例えば、画面モードと全体モードの間で移行するために空間でのＰＣＤ１００自体の姿勢又は位置を検出することができる。例えば、ＰＣＤ１００は、グラフィック情報を表示するために画面１０４を組み込んでいる場合に、ユーザが画面を自分の顔に向けて上方に自分がディスプレイを見ることができる位置に有する時に、ＰＣＤ１００がいかなる状態にあったとしてもそこから画面に情報を出力するモードに移行することができる。
【０２７７】
別の実施形態により、ＰＣＤ１００の一部を形成する１又は２以上の圧力センサが、ユーザがＰＣＤ１００を親交的にタッチした時を検出することができる。例えば、ＰＣＤ１００は、１よりも多い圧力センサが圧力を受けているパターンからユーザがそれを摩っている、撫でているか、又は軽く叩いていることを決定することができる。親交的タッチの様々な検出モードが、ユーザとの親交的対話を促進又は抑制する対話挙動を示す際のＰＣＤ１００へのトリガとして機能することができる。
【０２７８】
例示的かつ非限定的実施形態により、ＰＣＤ１００には、その見栄え及び雰囲気を改善するための付属品を取り付けることができる。そのような付属品は、皮膚、衣装、内部と外部の両方の照明及びマスクなどを含むがこれらに限定されない。
【０２７９】
上述のように、ＰＣＤ１００のペルソナ又はデジタルソウルは、ＰＣＤ１００の物理的発現から二分することができる。ＰＣＤ１００のペルソナを含む属性は、Ｂｌｕｅｔｏｏｔｈ又はＷｉ−Ｆｉなどを通してサーバ及びパーソナルコンピュータデバイスを含むがこれらに限定されない１又は２以上の他のコンピュータデバイスに伝達又は通信することができるデジタルデータとして格納することができる。そのような状況では、パーソナルコンピュータデバイスは、一連のプログラム可能段階を実行するためにプロセッサ及び格納メモリを利用するあらゆるデバイスとすることができる。一部の実施形態では、ＰＣＤ１００のデジタルソウルは、腕時計又は携帯電話のような消費者付属品に伝達することができる。そのような事例では、ＰＣＤ１００のペルソナは、有効かつ一時的に別のデバイスに伝達することができる。一部の実施形態では、伝達中に、ＰＣＤ１００の伝達インスタンスがユーザの環境を感知し、親交的対話に携わり、対話データを取り出して出力し続けることができる。そのような対話データは、後の時点でＰＣＤ１００に伝達するか又はＰＣＤ１００による後の検索取得に向けてサーバにアップロードすることができる。
【０２８０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、親交的手がかりに応答して適応する視覚パターンを示すことができる。例えば、ディスプレイ１０４は、興奮時に赤色光を発し、平静時に青色光を発することができる。同じく、ディスプレイ１０４は、ユーザがタスクを首尾良く完了した時等にお祝いを伝達するために落ちて行く紙ふぶきのアニメーションを表示することができる。一部の実施形態では、表示のためのテクスチャ及びアニメーションは、直接ＰＣＤ１００内か、又はＰＣＤ１００と通信しているサーバ又は外部デバイス内かのいずれかにユーザが選択可能又はプログラム可能なものとすることができる。更に他の実施形態では、ＰＣＤ１００は、シミュレーション感情を表現するために一連のビープ音及びホイッスルを発することができる。一部の実施形態では、ビープ音及びホイッスルは、ユーザの発話及び他の言語発言から導出されたパターンに基づいてパターン化することができる。一部の事例では、ビープ音、ホイッスル、及び他のオーディオ出力は、ＰＣＤ１００に固有の聴覚痕跡として機能することができる。一部の実施形態では、シミュレーション家族を形成する「関連」ＰＣＤ１００のグループのような複数のＰＣＤ１００に対して、関連度を示すために同じ聴覚痕跡の変形を使用することができる。
【０２８１】
一部の実施形態では、ＰＣＤ１００は、感情を伝達するために表現モード中の歪像移行に携わることができる。例えば、ＰＣＤ１００は、人間感情を表示する方法として、ランダムパターン、擬似ランダムパターン、又は他のグラフィックから笑顔又は不興顔の口の表示に移行するようにディスプレイ１０４を作動させることができる。
【０２８２】
他の例示的実施形態では、ＰＣＤ１００は、感情状態を表現するために芳香又はフェロモンを発することができる。
【０２８３】
更に別の例示的実施形態により、ユーザとの対話の基礎のためのものとすることができる経歴をＰＣＤ１００に対してアクセス可能なデータの形態で与えることができる。そのようなデータは、現実と架空の両方のものであり、ＰＣＤ１００の前歴の一部を形成する過去の事象を参照する１又は２以上の物語を含むことができる。例えば、ＰＣＤ１００には、その生涯での過去の出来事を発話生成によってユーザに伝える物語を与えることができる。そのような物語は、ユーザによる要求時に出力するか又は対話データによってトリガすることができる。例えば、ＰＣＤ１００は、今日がユーザの誕生日であることをユーザデータから判別することができる。従って、ＰＣＤ１００をトリガし、ＰＣＤ１００の過去の誕生日に関する物語をユーザと共有することができる。経歴を含むデータは、中心に格納し、ユーザによる要求時に、又はＰＣＤ１００によって自律的にＰＣＤ１００にダウンロードすることができる。
【０２８４】
経歴は、ＰＣＤ１００の製造業者が生成して格納し、要求時にユーザに対して利用可能にすることができる。図１１を参照すると、例示的かつ非限定的実施形態の流れ図１１００が示されている。一例では、段階１１０２において、製造業者が、スポーツ、特に野球及びボストンレッドソックスに興味があるユーザに随伴する犬に基づいてモデル化されたＰＣＤ１００に関する経歴への要求を入力として受信することができる。従って、段階１１０４において、製造業者又は第三者経歴提供者が、基本経歴を生成することができる。一例では、この履歴は、比較的一般的な犬の履歴をレッドソックスに関する詳細が追加された野球を扱ったより具体的な履歴によって拡張したものを含むことができる。
【０２８５】
一部の実施形態では、段階１１０６において、この経歴をＰＣＤ１００による更に別の実時間カスタム化を可能にすることになる変数を用いて符号化することができる。例えば、経歴を「私と私の兄弟姉妹達＜ｆｏｒｉ＝＝１ｔｏｍａｘ_ｓｉｂｌｉｎｇｓ，ｉｎｓｅｒｔ  ｓｉｂｌｉｎｇ_ｎａｍｅ［ｉ］＞は、〜で育った．．．」のような擬似コードで符号化することができる。このようにして、ＰＣＤ１００が読み取る時に、この履歴をＰＣＤ１００に関するものとして構成された他のＰＣＤ１００の名称を含むものとして読み取ることができる。
【０２８６】
例示的かつ非限定的実施形態により、ＰＣＤ１００には、コンパニオンデバイスの世話をすることを促進するＰＣＤ１００の相互世話焼き機能を管理するための実行可能なモジュール又はプログラムを与えることができる。例えば、相互世話焼きモジュールは、乳児に関する音、グラフィック、及び芳香などを含む挙動を通してユーザと対話し始めることによって赤ん坊の世話をしようとする生来の衝動を利用するように作動させることができる。ＰＣＤ１００とユーザの友好関係は、相互世話焼きモジュールが、悲しみ、寂しさ、及び／又は憂鬱のような負の感情を表現し、同時にユーザからこの負の感情を和らげるためのアクションを誘い出すように作動する時に更に促進させることができる。このようにして、ユーザは、ＰＣＤ１００と対話してそれを元気付けるように仕向けられる。
【０２８７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、ユーザ属性、ＰＣＤ１００のユーザとＰＣＤ１００との対話、ＰＣＤ１００のユーザの環境を示す対話データにアクセスするように構成されたモジュールを含むことができる。図１２００を参照すると、例示的かつ非限定的実施形態の流れ図が示されている。段階１２０２において、対話データがアクセスされる。段階１２０４において、対話データは、中央集中データ収集機器に格納することができる。取り出されて格納された状態で、段階１２０６において、対話データを利用してユーザの必要状態を予想することができる。必要状態が識別された状態で、段階１２０８において、それを利用して、アクションを実施するのにスケジュールに頼ることなくユーザの必要に先見的に対処することができる。一部の実施形態では、ユーザの身体的外見及び姿勢などが、必要状態を識別するための基礎を形成することができる。一部の事例では、必要状態の識別は、対話データの一部分などを含むスケジュールデータで補足することができる。例えば、スケジュールは、抗生物質剤を飲むというユーザの必要性を満たすには時間が過ぎていることを示すことができる。ＰＣＤ１００は、部分的に顔解析及び音声変調解析から導出されたユーザの必要状態を見ることができる。
【０２８８】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、１人の人から別の人にメッセージを伝達するためのメッセンジャーとして使用することができる。メッセージは、送信者の音声のオーディオ記録を含むがこれに限定されず、ＰＣＤ１００は、メッセージ及び曲を改善するのに使用されるキャラクター、踊り／アニメーション／音のクリップでメッセージを伝達する。
【０２８９】
メッセージは、様々な手法で生成することができる。一実施形態では、ＰＣＤ１００は、スマートデバイス上のアプリとして実施される。送信者は、アプリを開き、メッセージ及び関連の音、スケジューリングなどを選択することができる。アプリ内のＰＣＤ１００の仮想インスタンスは、ユーザに処理をウォークスルーさせることができる。別の実施形態では、ＰＣＤ１００との直接対話により、送信者／ユーザは、簡単なタッチインタフェース又は自然言語インタフェースを通していずれか後の時点で別の人に何かを伝えるようにＰＣＤ１００に命令することができる。例えば、ユーザは、「ＰＣＤ、妻が今朝キッチンに入ったら、彼女の好きな曲Ｘを再生して「愛してるよ」と伝えて」と言うことができる。送信者は、ＰＣＤ１００に自分の音声を記録させてメッセージの一部として使用することができる。他の実施形態では、送信者のＰＣＤ１００がメッセージを配信する代わりに、別の場所にある異なるＰＣＤ１００がメッセージを配信することができる。更に別の実施形態では、ユーザ／送信者は、例えば、特定のＰＣＤ１００のハッシュタグにメッセージをツイートすることができ、ＰＣＤ１００は、このメッセージをユーザ／受信者に話すことになる。メッセージ内に、記録されたアニメーション／音スクリプトをＰＣＤ１００が実行に移すことを促す顔文字を挿入することができる。いくつかの例示的感情は以下の通りである。
【０２９０】
（表１）
2019521449.tif 000003
表１：感情定義
【０２９１】
更に、メッセージは、後の特定の日付及び時間又はある一定の状況セットの下で送られるようにスケジューリングすることができる（例えば、「火曜日に人Ｘに最初に会った時」又は「人Ｙが水曜日に目覚めた時にこのメッセージを与えて」）。
【０２９２】
他の実施形態では、ＰＣＤ１００を用いて、ＰＣＤを持たないユーザに対するメッセージを生成することができる。そのようなメッセージは、ウェブリンクの形態で生成することができ、受信者がＰＣＤを有する場合に物理ＰＣＤ１００が配信することになるのと全く同じくメッセージを配信するために仮想ＰＣＤ１００を組み込むことができる。
【０２９３】
従って、明らかなように、ＰＣＤ１００は、ユーザの友人及び家族のような人から、メッセージ内に指定された感情に関するアクションをトリガするメッセージを受信するように構成することができる。例えば、人は、ユーザに関するＰＣＤ１００に、メッセージの送信者がＰＣＤ１００を通して伝達したい感情又は親交的アクションを表す感情が内部に埋め込まれたメッセージをテキスト送信することができる。例えば、送信者が「非常に会いたいよ、ＯＸ」と書かれたメッセージをＰＣＤ１００に送った場合に、ＰＣＤ１００は、メッセージを受信して、発話シンセサイザを通して「ロバートからきたメッセージに「非常に会いたい」と書かれています」を出力し、同時にキスする音を発し、ディスプレイ上にすぼめた唇又は類似のアクションを表示する。このようにして、メッセージ送信者は、自分達のメッセージに、ＰＣＤ１００がユーザと対話することを可能にする表現的モダリティを利用するための注釈を付けることができる。
【０２９４】
図１３を参照すると、例示的かつ非限定的実施形態の流れ図及びそれぞれの方法１３００が示されている。本方法は、段階１３０２において永続的コンパニオンデバイス（ＰＣＤ）を与える段階を含む。本方法は、段階１３０４において、身振り、凝視方向、ワードの選択、音声韻律、体勢、顔の表情、感情手がかり、及びタッチのグループから選択されるユーザからの言語合図又は非言語合図のうちの少なくとも１つを入力する段階を含む。本方法は、段階１３０６において、言語合図及び非言語合図のうちの少なくとも１つを反映するようにＰＣＤの挙動を調節する段階を更に含む。
【０２９５】
開発プラットフォーム、ライブラリ、アセット、及びＰＣＤなどの全ての上述の属性は、他の言語及び文化をサポートするように拡張することができる（ローカライズ）。
【０２９６】
図１４を参照すると、ＰＣＤ１００がユーザインタフェースを利用してユーザとの対話中に眼のような反復的、永続的、又は半永続的視覚要素を表示することを可能にする例の例示的かつ非限定的実施形態が示されている。例えば、以下に示すように、疑問符を表示するために、虹彩又は眼の面上の反射を示す明るめの円を含む視覚要素１４００が、その位置を疑問符の底部に変位することができ、同時に眼が、中間の視覚要素１４００’、１４００’’を通して疑問符視覚要素１４００’’’に変態する又は他に滑らかに移行する。説明して図示するように変態する視覚要素の機能は、高い可読性をもたらす。
【０２９７】
図１５を参照すると、眼が眼としては視覚的に過度に複雑な形状に変態することが意図される事例において、視覚要素１５００が図示のように「瞬き」して視覚的により複雑な形状１５００’に移行することを可能にする例の例示的かつ非限定的実施形態が示されている。例えば、図示のように、眼の視覚要素１５００は、「瞬き」して温度又は他の天気関連の変数の形状１５００’を見せる。
【０２９８】
図１６を参照すると、口の記号を眼視覚要素の面区域から形成するか又は掘り出すことを可能にする例の例示的かつ非限定的実施形態が示されている。様々な実施形態では、視覚要素の色を変更して表示される表現を強化することができる。
【０２９９】
様々な例示的かつ非限定的実施形態により、ＰＣＤ１００は、スマートフォン及びタブレットのような従来のモバイルデバイス上で作動するアプリケーションと比較して「技能」を有し、それを示すことができる。ｉＯＳ及びＡｎｄｒｏｉｄのようなモバイルプラットフォーム上で作動するアプリケーションと全く同じく、ＰＣＤ１００は、広範な新しい技能を配備する機能をサポートすることができる。ＰＣＤの技能は、ＪａｖａＳｃｒｉｐｔパッケージに加えて、様々なＪａｖａＳｃｒｉｐｔＡＰＩ、並びに実行エンジンへのフィード情報を呼び出すことができるアセット及び構成ファイルを含むことができる。その結果、ＰＣＤ１００のための新しい技能を開発するのに内部と外部の両方の開発者をサポートすることができる。
【０３００】
基本原理として、あらゆる新しい社会ロボット技能は、新しい技能を開発するためのソフトウエア開発キット（ＳＤＫ）のコア構成要素を含むＪａｖａＳｃｒｉｐｔＡＰＩセットに関するＪａｖａＳｃｒｉｐｔで完全に書くことができる。しかし、開発を容易にするために、表現ツールスイート及び挙動エディタのようなツールセットは、実行エンジン内に流し込まれる構成ファイルを開発者が生成することを可能にすることができ、より簡単でより迅速な技能開発、並びに過去に開発された技能の使用を容易にする。
【０３０１】
図１７を参照すると、ＰＣＤ１００のための実行時技能を可能にするためのプラットフォームの例示的かつ非限定的実施形態が示されている。図示のように、様々な入力１７００は、立体ＲＧＢカメラ、マイクロフォンアレイ、及びタッチ感知センサからの画像を含むがこれらに限定されない。入力１７００は、タッチ画面を通して利用可能である。入力１７００は、入力データを抽出して分類するための処理を実施する感知処理モジュール１７０２への入力を形成することができる。入力は、永続的コンパニオンデバイスの外部にあるデバイス又はソフトウエアアプリケーション、例えば、ウェブアプリケーション、モバイルアプリケーション、モノのインターネット（ＩｏＴ）デバイス、ホームオートメーションデバイス、及び警報システムなどから利用可能である。感知処理モジュールに使用することができる処理形態の例は、自動化発話認識（ＡＳＲ）、感情検出、顔識別（ＩＤ）、人又は物体の追跡、ビーム形成、及びタッチ識別を含むがこれらに限定されない。感知処理の結果は、実行エンジン１７０４に入力として伝達することができる。実行エンジン１７０４は、定められた技能を適用し、任意的に、例えば、限定されることなく入力文法、挙動木、ＪａｖａＳｃｒｉｐｔ、アニメーション、及び発話／音の形態にある追加入力１７０６を受信するように作動させることができる。同じく実行エンジン１７０４は、家族メンバモデル１７０８からの入力を受信することができる。
【０３０２】
実行エンジン１７０４は、表現モジュール１７１０への入力を形成するデータを出力することができ、表現モジュール１７１０において、論理的に定められた技能態様が、各々を本発明の開示の他の箇所で説明するようにＰＣＤのモード、状態、気分、及びペルソナなどを反映するように表現モジュール１７１０内でプログラムすることができるアニメーション（例えば、ＰＣＤの様々な部分の移動）、グラフィック（タッチ画面とすることができる画面上に表示されるもの又は上述した眼の移動）、照明、及び発話又は他の音を含むがこれらに限定されないＰＣＤ１００の表現的要素にマップされる。表現モジュール１７１０は、オーディオ出力、ディスプレイ、照明要素、及び移動を可能にするモータを含むがこれらに限定されず、技能を表現するためのＰＣＤ１００の様々なハードウエア構成要素１７１２にデータ及び命令を出力することができる。出力は、ＰＣＤ１００の外部にあるデバイス又はアプリケーション、例えば、ＩｏＴデバイス、ウェブアプリケーション、及びモバイルアプリケーションなどへの制御信号又はデータを含むことができる。
【０３０３】
図１８を参照すると、ＳＤＫを用いた技能の開発を可能にするプラットフォームに関するフロー及び様々なアーキテクチャ構成要素の例示的かつ非限定的実施形態が示されている。図示のように、論理レベル１８００は、知覚レベル１８０２と通信することができる。知覚レベル１８０２は、様々な事象を検出することができ、例えば、視覚機能モジュール１８０４を通して視覚機能事象を表現エンジン１８０６を通してアニメーション事象を更に発話認識器１８０６を通して発話認識事象を検出することができる。論理レベル１８００と知覚レベル１８０２の間の通信は、知覚された事象を表現される技能に変換するように機能することができる。
【０３０４】
上述のことを念頭に置き、ＪａｖａＳｃｒｉｐｔＡＰＩセットを通してある一定の機能を提供することができる。第１に、ＪａｖａＳｃｒｉｐｔＡＰＩは、様々なタイプの感知入力に対して存在することができる。ＪａｖａＳｃｒｉｐｔＡＰＩは、様々な表現出力に対して存在することができる。ＪａｖａＳｃｒｉｐｔＡＰＩは、他の既存のＪａｖａＳｃｒｉｐｔＡＰＩを更に呼び出すことができる実行エンジン１７０４に対して存在することができる。ＪａｖａＳｃｒｉｐｔＡＰＩは、家族メンバモデル１７０８のような様々なモデルに格納された情報に対して存在することができる。実行エンジン１７０４は、その中での使用に向けてこれらのＡＰＩを通して情報を抽出することなどによってこれらのＡＰＩのいずれかを使用する。実施形態では、実行エンジンを用いない開発者は、家族メンバモデル１７０８に直接アクセス可能である。取りわけ、ＰＣＤ１００は、それ自体を１又は２以上のユーザ、その環境、及びその使用パターンに対して適応及びパーソナル化することなどを可能にするために情報、挙動パターン、プリファレンス、及びユースケースパターンなどに対して機械学習などを用いて学習することができる。そのようなデータ及びそのような学習の結果は、ＰＣＤ１００に対する家族メンバモデル１７０８内に実施することができる。
【０３０５】
感知入力ＡＰＩは、自動化発話認識（ＡＳＲ）ＡＰＩ、音声入力ＡＰＩ、他の音を処理するためのＡＰＩ（例えば、音楽認識及び特定の音パターンの検出などのための）、超音波又はソナーを処理するためのＡＰＩ、電磁エネルギ（可視光、無線信号、マイクロ波、Ｘ線、及び赤外線信号など）を処理するためのＡＰＩ、画像処理のためのＡＰＩ、化学信号を処理する（例えば、煙、一酸化炭素、及び芳香などの検出）ためのＡＰＩ、及び他の多くを含む広範囲にわたるタイプを含むことができる。感知入力ＡＰＩは、ＰＣＤ１００のセンサからの直接入力を処理するために、又はセンサネットワーク及びＩＯＴデバイスのセンサなどのような他の感知入力ソースによって収集されて送信されたセンサデータを処理するために使用することができる。
【０３０６】
様々な感知入力に対して、様々な異種感知入力形式の融合を可能にするために、タイムスタンプを付与することができる。例えば、タイムスタンプは、認識された発話と他の感知入力との融合を可能にするために発話認識器によって付与することができる。ＡＳＲは、様々な話者を登録するために使用することができる。全体的に、ＰＣＤ１００の発話インタフェースに対して発話ツールスイートを与えることができる。
【０３０７】
更に、様々な顔追跡及び人追跡のＡＰＩ、タッチＡＰＩ、感情認識ＡＰＩ、表現出力ＡＰＩ、移動ＡＰＩ、画面及び眼グラフィックのＡＰＩ、照明ＡＰＩ（例えば、ＬＥＤ照明のための）、音及びテキスト発話変換（ＴＴＳ）のＡＰＩ、及び他の様々なものを与えることができる。音及びＴＴＳのＡＰＩは、ＰＣＤ１００がオーディオファイルを再生すること及び一連のテキストからのワードを発声することなどを可能にすることができる。これらの音は、一定のもの又は文字列変数の内容、任意量の無音、又はこれらのいずれか任意の組合せのいずれかとすることができる。例えば、開発者は、Ｓｐｅａｋ（“ｂｅｅｐ．ｗａｖ”，ＮＡＭＥ，“：ＳＩＬ  ３ｓｅｃ”，“あなたに会えて非常に嬉しい”）のような指令を指定することができ、結果としてビープ音、ＮＡＭＥ変数に実際の名称を入力することによって表される特定の名称の発声、３秒の無音期間、その後に挨拶がもたらされる。テキストは、ＳＳＭＬ（発話合成マークアップ言語）で表すことができる。簡単なテキストは、従来の句読点規則に従って発声することができる。実施形態では、発声される発言内に表現的フィルタ又は効果音を重ねるか又は挿入することができる。
【０３０８】
ＰＣＤ  ＳＤＫは、オーディオファイルのようなコンテンツアセットをアップロードする方法、並びに音量のようなオーディオ出力の特性を設定する方法を含むことができる。社会ロボットは、．ｗａｖ及び．ｍｐ３などのような様々な異なるフォーマットを再生するように構成することができる。アセットは、クラウド又はローカルコンピュータデバイス内等にある様々なライブラリに格納することができる。ＰＣＤ  ＳＤＫは、ＰＣＤが音楽、ビデオ、及びアニメーションなどのような適切なコンテンツに関してインターネット又は１又は２以上のサイトを検索することなどによってアセットに関して検索することを可能にすることができる。
【０３０９】
クラウド内等にリモートに格納されたデータへのフロントエンドとして機能する家族メンバ及びユーティリティのＡＰＩセットを与えることができる。これらのＡＰＩは、開発者が用いたいと望む可能性があるユーティリティ（ロギングのような）を含むことができる。
【０３１０】
実行エンジン１７０４とのインタフェース接続を可能にするために実行エンジンＡＰＩセットを与えることができる。実行エンジン１７０４は、限定することなく挙動エディタ及び表現ツールスイート等であるいくつかの異なるツールを用いて生成された構成ファイルに対して機能することができる任意的なＪａｖａＳｃｒｉｐｔ構成要素を含むことができる。実行エンジンは、家族メンバストアからのデータを多重化することができ、ここでもまた、開発者が技能を書くのを容易にする。実施形態では、家族メンバストアは、プロジェクタ、ＰＣＤ１００に対するモバイル台、マニピュレータ、及びスピーカなどのようなＰＣＤ１００の物理的機能を拡張するためのハードウエア付属品、並びにユーザがＰＣＤ１００の外見をカスタム化することを可能にする装飾要素を含むことができる。
【０３１１】
新しいＰＣＤ技能を生成するためには、アセット生成で始まり、次に、技能を書く段階、シミュレーション、試験、及び認定（実施形態では、そのような認定は、本明細書に説明する方法及びシステムを管理するホスト企業によって与えられる）に進行するワークフローを辿ることができる。
【０３１２】
図１９を参照すると、アセットの生成のために与えることができるユーザインタフェースの例示的かつ非限定的実施形態が示されている。アセット生成は、技能のアセットを生成する段階を含むことができる。必ずしもこの段階を最初の段階としなくてもよく、多くの場合に、技能を生成するフロー内の実行中のタスクであり、この場合に、アセットは、技能自体が開発される時に改良又は拡張される。生成することができるアセットのタイプは、表現ツールスイート内の身体及び眼の新しいアニメーションを容易に生成するための特殊ツールなどを用いたアニメーションを含む。開発者は、ＰＣＤ技能ストアの「開発者」セクション内の身体及び眼のアニメーションを別の目的で作り変えることができる場合がある。実施形態では、開発者は、自分のアセットをＰＣＤ１００のための技能ストア又は開発者のポータルのような他の環境等において消費者又は他の開発者と共有することができる。アセットは、リソースが、適切に定められた特徴を有する適切なフォーマットにある限り、開発者が自分の好みの音エディタを用いて独自の音を生成することができるような音を含むことができる。アセットは、開発者がテキスト発話変換のインスタンスを生成し、これらのインスタンスに発話を変調することができる様々な属性（「嬉しい」のような）で注釈を付けることができるようにパラメトリックＴＴＳシステムを利用するテキスト発話変換のアセットを含むことができる。
【０３１３】
アセットは、ＰＣＤ１００上（例えば、胴体上）へのＬＥＤ光を制御することなどのために光視覚化を含むことができ、この場合に、開発者は、表現ツールスイートを用いて制御を指定することができる。更に、開発者は、ＰＣＤ技能ストアの「開発者」セクション等からのＬＥＤ光アニメーションを別の目的で作り変えることができることに注意されたい。
【０３１４】
アセットは、入力文法を含むことができる。技能の認識される入力文法を管理するために、開発者は、発話ツールスイートを用いて認識されることを望む様々な文法を指定することができる。
【０３１５】
開発者が技能に対するアセットを順番に有した状態で、開発者は、挙動エディタを用いて技能自体を書くことができる。挙動エディタは、感知入力の処理を制御する論理部、並びに表現出力の制御を可能にする。この段階の大部分は、直接的なエディタを用いて行うことができるが、ＳＤＫは、開発者が、１又は２以上の専有ＲＥＳＥＴ  ＡＰＩなどとデータを交換することのような特定の技能に独特である可能性があることを行うことを可能にするための直線的なＪａｖａＳｃｒｉｐｔコードの追加を可能にすることができる。
【０３１６】
技能が書かれた状態で（部分的に）、開発者は、ＰＣＤシミュレータを用いて、実時間又は近実時間で行うことができる技能の様々な態様の試行を行うことができる。シミュレータは、基本感知入力のトリガをサポートすることができ、更にＰＣＤの開発者記録モードを通して先に生成された感知入力ファイルに影響を及ぼすことができる。シミュレータへの入力は、ＰＣＤ１００への物理的入力から、ＰＣＤ１００の外部にある１又は２以上のセンサから、直接シミュレータから、又はＩｏＴデバイスのような外部デバイス又はウェブアプリケーション又はモバイルアプリケーションのようなアプリケーションから利用可能である。シミュレータは、ＷｅｂＧＬグラフィック出力を通して、並びにＴＴＳ出力を表すためのテキストを通して表現システムの一部をサポートすることになる。開発及びシミュレーションのサイクルは、技能の変化がシミュレータ上で即座に目視可能であり、シミュレータ内の動的編集に対して応答性を有するようにＷＹＳＩＷＹＧ方式を用いて実時間又は近実時間とすることができる。
【０３１７】
シミュレータ内では、更に複雑な挙動（通知のような）をサポートすることができないので、最終的に開発者は、ＰＣＤ１００自体の上で技能を試験する必要がある場合がある。その場限りのライブ試験に加えて、開発者は、ＰＣＤの記録モードを通して取得された感知入力ファイルによって試験を再度駆動することができる。実施形態では、入力は、外部ソースから実時間又は近実時間でストリーミングすることができる。
【０３１８】
同じく、開発者は、他者が新しい技能を使用すること及び購入することを可能にすることが望ましい場合に、認定に向けてＳＤＫのホスト等に技能を提出することができる。様々な技能にわたる挙動の一貫性を促進すること、安全を保証すること、及び信頼性を保証することなどのために様々な認定指針を生成することができる。認定された状態で、ユーザ、他の開発者、及び類似の者によるアクセスに向けて技能をＰＣＤストア内に入ることができる。実施形態では、開発者は、アセット（例えば、アニメーション、技能、音のような）をＰＣＤ１００のためのストア及び開発者のポータルなどの上に掲載することができる。
【０３１９】
ＳＤＫ内に又はそれとの接続状態で様々なツールを配備することができる。これらのツールは、開発者が社会ロボットのローカル知覚空間を確認、理解、及び／又は試験する（例えば、人識別、人追跡、感情検出等に向けて）ことを可能にするローカル知覚空間（ＬＰＳ）視覚化ツールを含むことができる。ツールは、新しい文法を生成し、テキスト発話変換の出力に注釈を付けるための様々な発話関連ツールをユーティリティの発話ツールスイート内に含むことができる。実施形態では、発声される発言に対してフィルタ又は他の音又は効果音を適用するためにツールを使用することができる。ツールは、開発者が所与の技能に関連付けられた挙動木（例えば、「頭脳」）などを通して挙動を生成することを可能にするための挙動エディタを含むことができる。
【０３２０】
表現ツールスイートは、ＰＣＤ１００の挙動アニメーションを模倣するアニメーションシミュレータを含むことができる社会ロボットに対する表現出力を生成するためのユーティリティスイートを含むことができる。表現ツールスイートは、ウェブキットと、Ｇｏｏｇｌｅ（登録商標）ｕｎｄｅｒｎｅａｔｈからのＶ８  ＪＳ  Ｉｎｔｅｒｐｒｅｔｅｒ（登録商標）のような変換機とを有するＨＴＭＬ又はＪａｖａＳｃｒｉｐｔを含むことができる。挙動及び画面グラフィックは、標準のウェブアプリケーションコードを用いて拡張することができる。
【０３２１】
様々な技能態様を試行するためのツールとしてシミュレーション実行時環境を与えることができる。
【０３２２】
図２０を参照すると、開発者がＰＣＤ１００のカメラを通して確認されるもののようなＰＣＤ１００のローカル知覚空間を見ることを可能にすることができるローカル知覚空間（ＬＰＳ）視覚化ツールの例示的かつ非限定的スクリーンショットが示されている。このローカル知覚空間を用いてＰＣＤ１００のビュー内にいる人々を識別及び追跡することができる。実施形態では、ローカル知覚空間は複雑さを増すことができ、ＰＣＤ１００が対話することができるアバターのような要素及び他の視覚要素を有する３次元世界を含むことができる。
【０３２３】
発話ツールスイートは、聞くこと（例えば、「耳」ツール）及び発声に関するツールを含むことができる。発話ツールスイートは、イエス／ノー文法、数字のシーケンス、自然数、制御（続行、停止、一時停止）、日付及び時間、非フレーズ検出文法、及び変数（例えば、＄ｎａｍｅ）などのようなライブラリからのフレーズ及び様々な文法形式（ワード検出、統計のような）をインポートするための様々な機能を含むことができる。これらの機能は、ＡＳＲ及び発話テキスト変換機能などを使用することができ、クラウドベースのもの又はＰＣＤ１００自体の上に埋め込まれたものとすることができる。ツールスイートは、上述のシミュレータ内のアプリケーション論理部を用いる文法の基本検証及びデバッグを含むことができる。ツールスイートは、ＰＣＤ１００に対するＮＬＵ（自然言語理解）モードを開発するためのツールを含むことができる。リソースは、デバイス上文法編集ツールを用いて生成することができる。リソースは、データを収集するためのツール（例えば、メカニカルタークのような）と、フレーズ検出、音声による人識別、又は他の発話又は音の認識、又は理解機能等に向けて新しいモデルを訓練するための機械学習ツールとを含むことができる。文法は、ＧＵＩプレゼンテーション及び論理部デバッグに向けて出力タグを公開することができる。感知リソースを生成して文法認識性能を試験するために、ＰＣＤ１００のセンサライブラリを使用することができる。試験は、全体の技能に対して実際の発声ＡＳＲを用いて実施することができる。フレーズ検出文法は、生成し、試験し、かつ調整することができる。
【０３２４】
挙動エディタ内で認識器を呼び出す時に、開発者は、認識器のパラメータの制限セット（例えば、タイムアウト、拒否のような）を修正すること、及び／又は認識結果に基づいてコールバックを呼び出す（例えば、テキスト処理を実施するために）ことができる。
【０３２５】
図２１を参照すると、例示的かつ非限定的実施形態による挙動エディタのスクリーンショットが示されている。ＰＣＤ挙動エディタ２１００は、開発者／設計者がＰＣＤ１００上で新しい技能を迅速に生成することを可能にすることができる。この節で定める出力ファイルが実行エンジン１７０４を駆動する。挙動エディタ２１００に関する更なる詳細を下記で提供する。
【０３２６】
実施形態では、挙動生成ツールは、使いやすく、明確で、拡張性を有し、実質的にＷＹＳＩＷＹＧであるように設計された挙動木発生器を含むことができる。挙動自体は、生きたドキュメンテーションを含むことができる。各挙動は、説明及びコメント表示を有することができる。挙動は、実施されることなく定めることができる。それにより、設計者が依然として存在していない挙動を「書き込む」ことが可能になる。
【０３２７】
ＰＣＤ挙動システムは、そのコアにおいて、非常に低レベルの単純な挙動で構成することができる。これらの低レベルを組み合わせてより高いレベルの複雑な挙動を生成することができる。高レベル挙動は、手動で符号化されたもの又は他のより低いレベルの挙動からなるもののいずれかとすることができる。この階層構造は、事実上無制限である。複雑さの勾配はあるが、挙動階層構造は、大まかに（１）アトミック挙動（必ずしもＰＣＤ１００の機能に依存するとは限らない挙動を一般的に含む機能的な挙動木を有する最小挙動木セット）、（２）ＰＣＤ１００ベースの挙動（社会ロボットに関する様々なＪａｖａＳｃｒｉｐｔＡＰＩ内に実施されたもののようなＰＣＤ１００の完全機能セットにわたる挙動）、（３）複合高レベル挙動（手動で符号化されたもの又はパラメータ化された挙動階層構造自体からなるもののいずれかとすることができる）、及び（４）スケルトン挙動（存在せず、完全に実施されるわけではないか、又は実施が別個の挙動）という３つのレベルに分割することができる。挙動階層構造は、取りわけ強化学習のような機械学習法などを用いてＰＣＤ１００の体験から学習することができる。ＪａｖａＳｃｒｉｐｔＡＰＩ内に実施されたもののような社会ロボットＡＰＩ内の各関数呼び出しは、それが意味を構成する場合は挙動として表すことができる。スケルトン挙動は、ドキュメンテーション目的で挙動木内に挿入し、後に実施して実行時にバインドすることができる。それにより、依然として存在しない挙動を必要とする設計者が、この挙動の説明及び可能な結果（失敗、成功のような）を含むこの「バインドタイプ」を挿入し、後に技術者に実施を符号化させることが可能になる。再生中にバインドタイプが存在する場合に、このタイプが実施にバインドされ、又は他にＰＣＤ１００又はシミュレーションは、バインド挙動名及びその戻りタイプを発声し、挙動木内で続行することができる。ツールは、高度な知覚処理パイプラインを開発するための知覚階層構造の定義をサポートすることができる。これらの知覚木の出力は、挙動などに接続することができる。更に、開発プラットフォーム及びＳＤＫは、より高次の知覚分類モジュール（再使用可能マルチモーダル入力−出力モジュール）のマルチモーダルライブラリスイートを開発者に利用可能にするのをサポートする。
【０３２８】
最もアトミックには、挙動木は、ＢａｓｅＢｅｈａｖｉｏｒ（基本挙動）−葉ノード、ＢａｓｅＤｅｃｏｒａｔｏｒ（基本修飾子）−挙動修飾子、Ｐａｒａｌｌｅｌ（並列）−複合ノード、Ｓｅｑｕｅｎｃｅ（シーケンス）（及びシーケンス変形）−複合ノード、Ｓｅｌｅｃｔ（選択）−複合ノード、及びＲａｎｄｏｍ（ランダム）（及びランダム変形）−複合ノードという基本挙動で構成することができる。アトミック挙動は、ＰＣＤのＪａｖａＳｃｒｉｐｔＡＰＩへのほぼ生の関数呼び出しとすることができるが、適切なタイミングを用いて挙動としてラップすることができる。これらの挙動は、ＡＰＩを通して、非常に低いレベルとすることができる。いくつかの例は、ＬｏｏｋＡｔ（注視）、ＬｏａｄＣｏｍｐｉｌｅＣｌｉｐ（編集クリップをロード）、及びＰｌａｙＣｏｍｐｉｌｅｄＣｌｉｐ（編集クリップをロード）を含む。編集されたクリップは、埋め込み事象を有することができる。挙動又は修飾子は、ある一定のタイプの事象を傾聴してこの事象の正確な時点で論理を実行することができる。それにより、表現出力とより高いレベルの意志決定との間の厳密な同期が可能になる。アトミック挙動は、ＰｌａｙＭｐ３（Ｍｐ３を再生）、Ｌｉｓｔｅｎ（傾聴）、ＬｉｓｔｅｎＴｏｕｃｈ（タッチを傾聴）、Ｂｌｉｎｋ（瞬き）（例えば、ｂｌｉｎｋＳｐｅｅｄ（瞬きの速度）に関するパラメータ、ｉｎｔｅｒｒｕｐｔＰｒｅｖｉｏｕｓＢｌｉｎｋ＝（ｔｒｕｅ｜ｆａｌｓｅ）（直前の瞬きを中断＝（真／偽））を有する）を含むことができる。
【０３２９】
複合／高レベル挙動は、他の高レベル及び／又は低レベルの挙動を組み合わせる高レベル挙動とすることができる。これらの挙動はパラメータ化することができる。例は、ＢｅＡｔｔｅｎｔｉｖｅ（注意）、ＴａｋｅＲａｎｄｏｍＰｉｃｔｕｒｅｓ（ランダムな写真を撮影）、ＢｅＨａｐｐｙ（嬉しい）、ＳｔｒｅａｍＣａｍｅｒａＴｏＳｃｒｅｅｎ（カメラから画面へストリーミング）を含むことができる。挙動は、世界との関わりにおいて望ましい結果又は状態をもたらすためにアクションを変化させることのようなゴール誘導型とすることができる。例えば、物体追跡の場合に、ターゲットは、物体を追跡してそれを視野内に保つこととすることができる。より複雑な例は、特定の人を見つけ出すために見出すこと、又は人を笑顔にすることなどのためにＰＣＤ１００の挙動を変化させることであろう。実施形態では、ＰＣＤ１００の気分、情緒状態、又は感情状態がＰＣＤ１００の挙動又はその方式を修正することが可能である。それによってＰＣＤのゴール又は注意の優先順位付けが影響を受けることが可能である。それによってＰＣＤ１００が体験から何をどのように学習するかが影響を受けることが可能である。
【０３３０】
特に挙動木が大きくなった場合に、挙動木の可読性が重要である。発言に基づいて挙動木を分岐させる簡単なｃａｓｅ文を取り上げる。ｃａｓｅ文を宣言する公式方法は、実行される１つを「選択」することになる子を有するＳｅｌｅｃｔ  ｂｅｈａｖｉｏｒ（挙動を選択）を生成することである。各子は、当該挙動を「選択」するための論理部を含むＦａｉｌＯｎＣｏｎｄｉｔｉｏｎ（条件に基づいて失敗）で装飾される。公式ではあるが、この手法は、各修飾子の論理部を検査することなく１つの要素を別の要素に優先して選択することができる理由を自動的に見ることが困難である。しかし、記述フィールドを手動で編集してより多くのコンテクストを与えることができるが、選択論理部と記述フィールドの間に必ずしも公式な関係が存在しなくてもよい。図２２を参照すると、例示的かつ非限定的実施形態による分岐論理部を生成する公式方法が示されている。第１及び第２の修飾子２２００、２２０２に注意されたい。図２２は、公式な関係を示している。
【０３３１】
ＰＣＤ１００では、共通の分岐パターンが存在する。これらのうちの一部は、文法ベースの分岐、タッチベースの分岐、及び視覚ベースの分岐を含む。
【０３３２】
最も一般的な分岐では、挙動ツールＧＵＩが、木の視覚化を簡易化し、「記述」と論理部の間の公式関係を提供することができる。この視覚化及び提示は、基礎論理部をイントロスペクトすることによって導出された記述が自動入力される「情報」列を挙動木エディタに追加することによって達成することができる。ＧＵＩツールは、「ＧｒａｍｍａｒＳｅｌｅｃｔ（文法選択）」と呼ぶ特殊挙動がＧＵＩの特定のモードにおいて存在することが意図されたものであることを知ることができる。基礎木構造は、図２２に記載のものと正確に同じとすることができるが、より可読性の高い手法で提供することができる。
【０３３３】
図２３を参照すると、選択論理部を引数として挙動自体に追加することを可能にする例示的かつ非限定的実施形態が示されている。この場合に、追加引数は、戻される文法タグに対応する文字列フィールドとすることができ、この引数の値は、「情報」フィールド内に自動的に入ることができる。ＧｒａｍｍａｒＳｅｌｅｃｔ（文法選択）に追加される各子挙動内の引数の値を用いて、下層のＳｕｃｃｅｅｄＥｌｓｅＦａｉｌ（成功そうでなければ失敗）修飾子に入力される正しいコードを生成することができる。
【０３３４】
マルチモーダル対話に対する「共通パターン」が公知であり、これは、過去に使用されてきたユニモーダル対話（発話）に対する共通パターンの進化形である。これは、「連続マルチモダリティ」（例えば、２つのモード）においてのみ成り立つ。しかし、ロボット挙動と人間−機械対話（ＨＭＩ）とは若干異なるパラダイムを有する。最初のロボット挙動の方は挙動木によってかなり容易に表現されるが、言語対話の「入れ子」構造は、入れ子「ｃａｓｅ」文又は更に一般的には条件円弧を有する再帰指向グラフを含む表現により適している。従って、これら２つをＧｒａｍｍａｒＳｅｌｅｃｔ（文法選択）への強化によって調和させて高度な対話を構成することを可能にするＨＭＩフローの可読性を高めることができる。
【０３３５】
実際に、あらゆる人間−機械対話は、このようにして発生させることができる。最初に、機械が、何か（一般的にはアニメーション＋オーディオ＋テクスチャのような何か）を出力するように構成され、次に、人間が、何か（一般的には発話又はタッチ）を入力するか又はいずれかの他の処理が対話に対して有意な事象を戻し、そこからこのシーケンスが更に別の出力及び入力によって繰り返される。
【０３３６】
従って、上述のｃａｓｅ文（ＧｒａｍｍａｒＳｅｌｅｃｔ（文法選択））は、それがフル事象パラダイムに拡張されて一般的なＨＭＩ選択を有することができる場合を包含することになり、この場合に、タグ（事象に対応する）及びタグのタイプ（文法、視覚、タッチ）を指定することができる。従って、上記は以下のようになる。
【０３３７】
ＨＭＩ_ＩｎｐｕｔＳｅｌｅｃｔ（ＨＭＩ_入力選択）：
【０３３８】
ＡｎｙＢｅｈａｖｉｏｒ１  Ｓｐｅｅｃｈ：ＲＡＮＤＯＭＰＩＣＴＵＲＥ，Ｔｏｕｃｈ：ＡＲＥＡ１（任意挙動１  発話：ランダム写真、タッチ：区域１）
【０３３９】
ＡｎｙＢｅａｈｖｉｏｒ２  Ｓｐｅｅｃｈ：ＰＬＡＹＭＵＳＩＣ，Ｔｏｕｃｈ：ＡＲＥＡ２（任意挙動２  発話：音楽再生、タッチ：区域２）
【０３４０】
ＡｎｙＢｅｈａｖｉｏｒ３  Ｖｉｓｉｏｎ：ＴＲＡＣＫＩＮＧＦＡＣＥＬＯＳＴ（任意挙動３  視覚：追跡中の顔を見失う）
【０３４１】
コンマで分離されたタグはＯＲ（又は）状態にある。この例では、挙動は、誰かが「ランダムな写真を撮って」というＯＲ（又は）ＡＲＥＡ１（区域１）にタッチするのにＡｎｙＢｅｈａｖｉｏｒ１（任意挙動１）で応答することになる、誰かが「音楽を再生して」という又はＡｒｅａ２（区域２）をタッチするのにＢｅｈａｖｉｏｒ２（挙動２）で応答することになるか、又は視覚システムがＴＲＡＣＫＩＮＧＦＡＣＥＬＯＳＴ（追跡中の顔を見失う）を戻した場合はＢｅｈａｖｉｏｒ２（挙動３）で応答することになる。
【０３４２】
ＨＭＩフローの可読性を改善する別の手法は、例えば、「Ｓｐｅａｋ」（発声）と呼ぶ基本挙動を導入することによって挙動木仕様ビュー内でプロンプトテキストを明確に見ることである。従って、上述の例を参照すると、誰かがＲＡＮＤＯＭＰＩＣＴＵＲＥ（ランダム写真）と言った場合に、ＡｎｙＢｅｈａｖｉｏｒ１Ｓｅｑｕｅｎｃｅ：ＡｎｙＢｅｈａｖｉｏｒ１（任意挙動シーケンス：任意挙動１）に入る。
【０３４３】
ＰＣＤ１００は、「いいよ、じゃあ君の写真を撮ってあげよう。準備はいいかい？」と発声する。
【０３４４】
ユーザは、「イエス」と言い戻し、Ｂｅｈａｖｉｏｒ  Ｓｐｅｅｃｈ：ＹＥＳ（挙動  発話：イエス）又はＴｏｕｃｈ：ＹＥＳＡＲＥＡ（タッチ：イエス区域）のいずれかの処理がもたらされる。
【０３４５】
次に、ＰＣＤ１００は、ＴａｋｅＰｉｃｔｕｒｅＢｅｈａｖｉｏｒ（写真撮影挙動）のようなシーケンスを開始する。
【０３４６】
ＰＣＤ１００がＮｏＢｅｈａｖｉｏｒ  Ｓｐｅｅｃｈ：ＮＯ（挙動  発話：ノー）を聞くこと又はＴｏｕｃｈ：ＮＯＡＲＥＡ（タッチ：ノー区域）を感知することなどで「ノー」を検出した場合に、ユーザは、ＧｏＨｏｍｅＢｅｈａｖｉｏｒ（ホームに行く挙動）を実行し、ｒｏｂｏｔＳｐｅａｋ（ロボット発声）「分りました、ホーム画面に戻ります」という発話挙動を開始する。
【０３４７】
この場合に、ＰＣＤ  Ｓｐｅａｋは、いくつかのプロンプト及びそれに対応するアニメーションをランダム化する基本挙動である（実施形態では、この挙動をダブルクリックした場合にプロンプト及びアニメーションを見ることができ、挙動編集ボックスがポップアップすることになる）。ＵＩ設計は、開発者がアプリケーションを設計している間にプロンプトを書くことができるので、この挙動タイプを有することは重要である。次に、全てのプロンプトに対する挙動木を自動的にマイニングし、音声タレントに対する発現テーブルを生成し、プロンプト等に対するファイル名を自動的に生成することができる（これだけでも設計及び技能開発の多くの時間が節約されることになる）。
【０３４８】
上述の例で対話挙動が表現される手法は、設計と実施とを同時に表すことになるので、開発者は、何が起こることになるかを迅速に理解することができる。
【０３４９】
インデント付きの木を用いて対話を表すことに関して言及しておくべきことは、対話が深い（例えば、多くの入れ子段を有する）場合に、水平セクションが急激に使い果たされることである。従って、設計者は、その後の段を他の箇所で定められた挙動の中にカプセル化する習慣を付けることができる。可読性に影響を及ぼす別の問題は、入れ子文では脱出条件が明確ではないことである。指向グラフ表現では、何処でも望ましい場所に行くあらゆる点に円弧を置くことができ、この点は好ましくは可読である。入れ子手順では、手順を抜けさせる条件、並びに他の呼び出し手順を生成することができる。
【０３５０】
挙動エディタのメイン窓は、拡張可能かつ収縮可能な木構造とすることができる。この木構造は、挙動の木構造を表している。実施形態では、このビュー内の各挙動に対して、ドラッグ、ドロップ、削除、コピー、カット、ペースト、別の挙動との交換、１又は２以上の修飾の追加又は除去、上又は下への兄弟の追加、及び子の追加を行う（及び兄弟又は子に上述したもののうちのあらゆるものを適用する）ことができる。
【０３５１】
この最上位レベルビューは、木が何をしようと試みているかに関する的確な理解を生成者が達成することができるほど十分な情報に富む。これは、全ての行が挙動及び修飾子の名称、挙動タイプを表す小さいアイコン、並びにユーザ入力の記述フィールドを含むことができることを意味する。
【０３５２】
各挙動は、ゼロ又はそれよりも多いパラメータでパラメータ化することができる。例えば、ＳｉｍｐｌｅＰｌａｙＡｎｉｍａｔｉｏｎ（簡単なアニメーション再生）挙動は、アニメーション名という１つのパラメータしか要さない場合がある。より複雑な挙動は、一般的に更に多くのパラメータを要することになる。
【０３５３】
挙動ツール内で複合挙動を部分挙動として生成することができる。実施形態では、部分木パラメータを任意にパラメータ化し、これらをグラフィック操作によって複合挙動の最上位にバブルアップすることができる。
【０３５４】
挙動への各パラメータは、関連の「タイプ」を有することができる。パラメータのタイプにより、挙動生成ツールは、ユーザが各引数に対する有効値をグラフィック操作によって入力するのを可能な限り助けるのを可能にすることができる。以下は、ユーザが適切な値を入力するのをツールがどのようにグラフィック操作によって助けることになるかに関する説明を添えたタイプ継承構造の実施形態である。（１）ＣｏｍｐｉｌｅｄＣｌｉｐ（編集ターゲットクリップ）：編集ターゲットクリップは、開発者をタイムラインベースのエディタとすることができるアニメーションエディタに誘導することができる。（２）Ｓｔｒｉｎｇ（文字列）：テキストボックスが現れる。（３）Ｆｉｌｅ（ファイル）：ファイルチューザが現れる。（４）Ａｎｉｍａｔｉｏｎ  Ｆｉｌｅ（アニメーションファイル）：ユーザ生成アニメーション及びＰＣＤ生成アニメーションを含むことができる利用可能アニメーションを列挙するファイルチューザ窓が現れる。この窓は、アニメーションを即座に生成するためにアニメーション生成ツールへのリンクを表示することができる。（５）Ｓｏｕｎｄ  Ｆｉｌｅ（音ファイル）：利用可能なｍｐ３ファイルを列挙するファイルチューザが現れることができる。（６）Ｇｒａｍｍａｒ  Ｆｉｌｅ（文法ファイル）：利用可能な．ｒａｗファイル又は．ｇｒａｍｍａｒファイルを列挙するファイルチューザ。（７）Ｇｒａｍｍａｒ  Ｔｅｘｔ（文法テキスト）：これは、自動完了及び構文強調表示を行う文法構文エディタを表示する。（８）ＴＴＳ：場合によってプレビューモードでＴＴＳエディタが現れる。（９）ＪａｖａＳｃｒｉｐｔ：これは、構文強調表示及び社会ロボットＡＰＩに対して可能なコード相補を行うＡｔｏｍのようなＪａｖａＳｃｒｉｐｔエディタを表示する。（１０）Ｅｎｖｉｒｏｎｍｅｎｔ  Ｖａｒｉａｂｌｅｓ（環境変数）：これらの変数は、ＰＣＤ１００に対して重要な変数である。（１１）Ｎｕｍｂｅｒ（数字）：最小値、最大値、デフォルトの数字ボックスが現れる。（１２）Ｉｎｔｅｇｅｒ（整数）：最小値、最大値、デフォルトの整数選択ボックスが現れる。（１３）Ｂｏｏｌｅａｎ（ブール）：真／偽コンボボックス又はラジオ選択ボタンが現れる。（１４）Ａｒｒａｙ＜Ｔｙｐｅ＞（アレイ＜タイプ＞）：これは、タイプの要素を加算する、減算する、上に移動するか、又は下に移動する機能を表示する。（１５）Ｖｅｃｔｏｒ３ｄ（ベクトル３ｄ）：これは、（ｘ，ｙ，ｚ）ボックスを表示する。及び（１６）Ｐｅｒｓｏｎ（人）：これは、最も近い、最も遠い、最も既知の人等とすることができる。
【０３５５】
ＰＣＤ１００が挙動木を実行する時に、デバッグウェブインタフェースが、木のグラフィック表現を表示してＰＣＤ１００がいる現在ノードを強調表示することができる。開始ボタン、停止ボタン、及び前進ボタンを利用可能にすることができる。一時停止中に、ツールは、グローバルに対するイントロスペクトが変数及び挙動パラメータ値をモニタすることを可能にすることができる。更に、限られた入力の対話を利用可能に留めることができる。この段階は、フレーズをトリガする段階又は人を社会ロボットの近くに置く段階を含むことができ、それにより、例えば、この人に関するテンプレート知識を追加することができる。実施形態では、開発者は、感知−モータの技能又はモジュールを共有することのような挙動モデルを他の開発者と共有することができる。例えば、ＰＣＤ１００がモバイル基地局を有する場合に、ナビゲーション及び地図生成モデルを開発者の間で共有することができる。機能を拡張し、機能に対して変形を与えることなどのために開発者が挙動論理クラスを修正することができる。
【０３５６】
ＳＤＫのツールは、社会ロボットの表現を管理するための表現ツールスイートを含むことができる。表現ツールスイートのコア機能はシミュレーション窓である。図２４を参照すると、両方のスクリーンショット内のメインビューがＰＣＤ１００のアニメーションを模倣するシミュレーション窓の実施形態が例示されている。上部のメインビュー２４００は、眼グラフィックに関するフォーカスも模倣している。各スクリーンショット内の左上部分は、画面グラフィック２４０２、２４０２’を模倣している。このシミュレーションビューはＷｅｂＧＬで書くことができ、従って、社会ロボットアニメーションを模倣するのに特殊なツールを必要としない（Ｃｈｒｏｍｅ（登録商標）のようなブラウザの最新バージョンが実行されていること以外）。このシミュレーションビューはそれ自体が別個のツールである必要はなく、代わりに、ＰＣＤプラットフォームのホスト及び他の開発者が、様々な技能のアニメーションのようなＰＣＤアニメーションを発生させて試験することを可能にすることになるツール内に埋め込むことができるビューとすることができる。このビューは、開発者が移動又はアニメーションを再生しようと望む場合に実時間又はアニメーションの逐次「ステップ実行」のいずれかで呼び出すことができる。以上により、本明細書では、シミュレーションと、社会ロボットの実際の実行とに同じコードを使用することができる社会ロボットの挙動を模倣するためのシミュレーションツールを提供する。
【０３５７】
図２５を参照すると、社会ロボット表現ツールスイートの社会ロボットアニメーションエディタの例示的かつ非限定的実施形態が示されている。そのようなツールを用いて、開発者は、社会ロボットの１又は２以上の移動、画面グラフィック、音、テキスト発話変換のアクション、並びにＬＥＤの身体照明及び機能のような照明の社会ロボットアニメーションを互いに組み合わせることができる。図２５は、ＰＣＤ１００との併用に適応させることができるタイプの従来のアニメーションエディタ２５００を示している。アニメーションエディタの主な機能は、社会ロボットアニメーションを再生するためのシミュレーション窓２５０２と、開発者／設計者がアセット（移動、グラフィック、音／ＴＴＳ、ＬＥＤ身体照明、又は完成したアニメーション）をタイムライン内に入ることができるアニメーションエディタ２５０４と、開発者／設計者がタイムライン内への包含に向けて既存のアセットを選択することができるアセットライブラリ２５０６とを含むことができる。アセットは、開発者のハードドライブ又はＰＣＤストアから利用可能である。このアニメーションエディタは、ＰＣＤ１００のビュー、スケール、及び回転などを変更するための３Ｄビュー表示をサポートすることができる。実施形態では、エディタは、人々を模倣するためのアバターを有すること及びユーザインタフェースから入力を受信することなどを行ってＰＣＤの仮想環境を拡張することができる背景又はオブジェクトの使用を可能にすることができる。実施形態では、アニメーションエディタは、制御を逆転し、ユーザがロボットの姿勢を決定することを可能にするモードを有し、更にこの姿勢に基づいてキーフレームを設定するためのインタフェースを有することができる。類似の方式で、眼のような画面ベースの要素をアニメ化すること、背景要素上に重なることをタッチ操作及びそれに続く新しい方位／変化のキーフレーム設定によって行うことができる。この手法の変形を実施することができ、例えば、ＰＣＤ１００を用いてアニメーション（代替物又は最終物）に向けてカスタム効果音を記録することにより、設計技能の生成処理が有意に加速されることになる。実施形態では、このツールは、アニメーションエディタによってこのエディタが接続したＰＣＤ１００上で直接アニメーションをプレビューすることを可能にすることができる。
【０３５８】
実施形態では、ＰＣＤプラットフォームのホストは、アセットをインポートし、新しいアセットを生成する機能をサポートすることができる。「インポート」及び「生成」の機能は、本明細書に説明する様々なアセットタイプをサポートすることができる。例えば、新しい移動を生成する段階は社会ロボットアニメーション移動ツールを起動することができ、一方、新しいＴＴＳフレーズを生成する段階は社会ロボットの発声ツールを起動する。
【０３５９】
新しいＬＥＤ照明手法を生成する段階は、ダイアログボックス又は照明ツールを通して指定することができる。
【０３６０】
実施形態では、１又は２以上のツールをＣｈｒｏｍｅ（登録商標）ウェブアプリケーションのようなウェブアプリケーションとして実施することができる。実施形態では、所与のツールは、社会ロボットアニメーション自体を．ｊｂａファイル又は．ａｎｉｍファイルのような固有のファイル形式等、並びにｊｂｐファイル形式のような社会ロボットアニメーションプロジェクトファイルの両方で保存することができる。この手法は、ＰＣＤ１００が知覚機能、身体機能、表現機能、及び新しいデバイス（例えば、拡張現実デバイス）との接続性などのような新しい機能によって進化する時に新しいツールに拡張可能にすることができる。
【０３６１】
図２６を参照すると、ＰＣＤアニメーションエディタ２５００から「新しい．．．．アニメーション」を呼び出すことなどによって使用することができるＰＣＤアニメーションエディタ２５００の例示的かつ非限定的実施形態が示されている。ＰＣＤアニメーションエディタ２５００のコアには、身体位置を指定するラジアル位置が存在する（例えば、三部構成ロボットにおいてその底セクション、中央セクション、及び上セクションの半径方向位置を制御することにより）。図２６では、スライドバーセット２６０２を用いて移動位置を与えることができる。実施形態では、完全な移動が一並びの時間／身体位置の値によって定められるように各位置セットにタイムスタンプを付けることができる。眼アニメーションにおいて関節を制御するために残りのスライドバーを使用することができる。実施形態では、新しい眼アニメーションを生成する段階を新しい身体アニメーションを生成する段階から分離することができる（この実施形態ではこれら２つは合成される）。最後に、このツールは、眼グラフィックの見栄えを制御するためのテクスチャファイルのインポートをサポートすることができる。このツールは、タッチ画面との対話を模倣する段階をサポートすることができる。実施形態では、ツールは、対話型物語アニメーションのような眼以外の様々なグラフィックを可能にすることができる。
【０３６２】
ＰＣＤシミュレータは、上記で言及したシミュレーション窓を含むことができるだけではなく、感知入力を挿入するためのインタフェース／コンソールを有することができる。
【０３６３】
実施形態では、ＰＣＤ１００に関するウェブポータルへの鍵ベースのアクセスは、開発者が開発及び試験に向けて社会ロボット上に技能をインストールすることを可能にすることができる。ＰＣＤ１００に関するウェブポータルは、ユーザがＰＣＤ１００と対話し続けながらのＰＣＤ１００の技能の実行時デバッグ実行のためのウェブベースの開発デバッグ実行ツール及び視覚化ツールの集合を提供することができる。
【０３６４】
ＰＣＤ１００は、グラフィック、身体の移動、音、表現のアニメーションのためのコンテンツ生成をサポートするホストされたウェブベースのツール及び格納機能のセットを含むことができるＰＣＤクラウドのような関連のリモートストレージ設備を有することができる。実施形態では、ＰＣＤ１００は、発話認識機械学習及びナビゲーションなどのような他の盤外処理を有することができる。この処理は、挙動木ライブラリ、並びに共通の感情アニメーション、グラフィック、及び音のような開発者技能を改善するための「接続」コンテンツのライブラリを用いた技能論理部に対する挙動木の生成のためのウェブベースのツールを含むことができる。このインタフェースは、ホームオートメーションＡＰＩなどのような他のＡＰＩとのインタフェースに拡張可能にすることができる。
【０３６５】
本明細書に開示する方法及びシステムは、様々なセキュリティ要件に対処することができる。例えば、技能は、ビデオ及びオーディオの入力ストリームのような機密プラットフォームリソースにアクセスするための認証トークンを必要とすることができる。技能は、社会ロボットストアを通してデジタル痕跡付き「パッケージ」として発売することができる。開発者は、個々のパッケージを対応する鍵を用いてＳＤＫの一部として利用可能である。
【０３６６】
実施形態では、ＰＣＤ  ＳＤＫは、Ｃｈｒｏｍｅ（登録商標）ブラウザのような簡単なブラウザがアクセスすることができ、ＨＴＭＬ５、ＣＳＳ、ＪＳ、及びＷｅｂＧＬのような従来のウェブ開発ツールに対するサポートを有する構成要素、並びに視覚化のためのキャンバスを含むことができる。実施形態では、Ｃｈｒｏｍｅ（登録商標）のようなブラウザのオープンソースバージョンは、デスクトップアプリケーションを構成するために、更にシミュレータ、開発環境、及び関連の接続に向けて、並びにＰＣＤ１００の実行時アプリケーションに向けて使用することができる。これは、開発使用、シミュレーション使用、又は実行時使用のためのＰＣＤ１００に対するコードを一般的に標準のブラウザ内で最小限の改訂しか伴わずに実行することができ、それによって例えば技能をモバイルブラウザ又はＰＣブラウザ上でプレビューすることが可能になることを意味する。
【０３６７】
本明細書に説明するＳＤＫは、入力文法（例えば、事前調整されたワード検出文法を含む）、グラフィックリソース（社会ロボットの画面上に表示するための人気のグラフィックリソースのような）、音（ＰＣＤ１００のスピーカ上で再生するための、ＰＣＤ１００の発言の韻律を形成するための、音声に対するフィルタ及び他の効果音などを追加するための人気の音リソース）、アニメーション（調和したアニメーションにパッケージ化される移動、画面グラフィック、音、及び発話の人気のバンドルのような）、及び挙動木（開発者が技能の中に組み込むことができる人気の挙動木例のような）のような様々なアセットタイプをサポートすることができる。
【０３６８】
ＰＣＤ  ＳＤＫは、ローカル知覚空間に関する機能（実時間３Ｄ人追跡、音声認識及び／又は顔認識による人識別、並びに顔感情推定のような）、撮像（スナップ写真撮影、画像の重なり、及び画像ストリームの圧縮のような）、オーディオ入力（オーディオ源の位置、オーディオビーム方向の選択、及びオーディオストリームの圧縮のような）、発話認識（話者識別、フレーズ認識及びフレーズ検出文法、名称認識、標準発話認識、及びカスタムフレーズ検出文法の使用のような）、タッチ（グラフィック要素上の顔のタッチの検出及び社会ロボットの頭へのタッチの検出のような）、制御（簡素化ＩＦＴＴＴ、ＪａｖａＳｃｒｉｐｔを用いた複雑な挙動木、又は組み込み挙動ライブラリの使用）のような広範囲の感知入力及び制御機能を管理することを可能にすることができる。
【０３６９】
ＰＣＤ  ＳＤＫは、移動（社会ロボットが生成したアニメーションの再生、カスタムアニメーションの生成、カスタムアニメーションのインポート、並びにプログラム及び運動のアニメーションの構成のような）、音（社会ロボットが生成した音の再生、カスタム音のインポート、カスタム音の再生、及び音のマイニング（例えば、実時間の）又は合成のような）、発話出力（事前記録音声セグメントの再生、正しい名称発音のサポート、テキスト発話変換を用いた再生、カスタム事前記録音声セグメントの組み込み、及びテキスト発話変換感情注釈の使用のような）、照明（ＬＥＤ照明の制御のような）、グラフィック（社会ロボットが生成したグラフィックの実行又はカスタムグラフィックのインポートのような）、パーソナル化及び技能の共有（単一アカウント内の複数のデバイス上での実行、他のデバイス上の開発者との共有、及び技能ストアへの配信のような）等に関する表現の出力及び共有に関する様々な機能を有することができる。
【０３７０】
様々な例示的かつ非限定的実施形態により、ＰＣＤ１００を用いて「モノのインターネット（ＩＯＴ）」デバイスのライブ実演を調整する方法及びシステムを提供する。
【０３７１】
一部の実施形態では、ＰＣＤ１００は、スピーカ、照明などを含むＩＯＴのタイプ及び場所を自動的に見出すことができる。次に、ＰＣＤ１００は、ライブ音楽実演を改善するように照明及びスピーカを制御することができる。ＰＣＤ１００は、音楽デバイス及びＩＯＴデバイスなどのような外部デバイスの設定及び挙動をパーソナル化することなどのためにユーザのプリファレンスが何であるかを体験から学習することができる。
【０３７２】
廉価なＩＯＴデバイスが一般的になると、これらのデバイスを娯楽用途に利用することが可能になる。これらのデバイスを音楽、ビデオ、及び他の娯楽メディアと調和するように制御するために、理想的には空間地図生成、物体検出、及びオーディオ検出を使用するＰＣＤ１００が装備される。的確に編成された実演は、観客を喜ばせることになる。
【０３７３】
劇場及びライブの音楽実演を改善するために音及び照明を自動的に制御するための市販の手法が存在する。更に、カラオケ実演を改善するために類似のシステムが使用される。既存の市販システムに関連付けられた問題は、これらが高価であり、音デバイス及び照明デバイスを正しく構成するのに専門技術を必要とすることである。一般的には、特にシアタ劇場環境又は講堂環境に対して制御可能デバイスが設計される。これらのシステム及びデバイスは家庭では見当たらない。
【０３７４】
本明細書では、（１）照明、スピーカなどを含むＩＯＴデバイスのタイプ及び場所を自動的に見出し、（２）これらの照明、スピーカなどを例えばライブ音楽実演を改善するように制御することができる適切にプログラムされたＰＣＤ１００を提供する。
【０３７５】
ＩＯＴ照明及びスピーカが例えばキッチン及び隣接する家族部屋の中に設けられた家を有する家族を考察する。新しい技術の採用者であるこの家族は、キッチン内に配備することができるパーソナルＰＣＤ１００を購入することが可能である。ＰＣＤ１００の構成手順の一部として、この社会ロボットは、家族のＩＯＴデバイスのタイプ及び場所を見出し、これらのデバイスにアクセスしてそれを制御するための許可を要求することができる。許可が与えられた場合に、ＰＣＤ１００は人気の曲を実演する提案を行うことができる。次に、社会ロボットは、それ自体の音システム及び表現的身体アニメーションを用いて実演を開始することができる。次に、家族の歓喜に応答して、キッチン及び家族部屋の中にあるＩＯＴ照明が音楽と共に点滅し始め、音楽事象を引き立たせる。その後に、ＩＯＴスピーカが再生を始め、音楽の立体／空間的性質を改善する。
【０３７６】
ＩＯＴデバイスを音楽（又はその他）の実演と調和させる機能は、ＰＣＤ１００の知覚値を改善する。この機能は、家の外でのアドホックライブ実演を自動的に設定し、改善するのに有利なものにすることができる。
【０３７７】
本明細書では、ＰＣＤ１００を用いて人間参加者の間のミーティング又は会話の司会を務める方法及びシステムを提供する。そのような実施形態では、ミーティング及び会話のダイナミクス及び有効性を改善するために適正に設計されたＰＣＤ１００をミーティングの司会として使用することができる。
【０３７８】
ミーティングは、多くの場合に意図したようには有効でなく、ミーティングの司会を手際良く務めることができる個人が常に得られるとは限らない。準最適なミーティングに寄与するファクタを考慮するのに良好な結果を誘導する試みは、一般的に特別な研修又は熟練司会者の利用という形態を取る。これらの手法は有効である場合もあるが高価である。
【０３７９】
個人は対等者によって与えられる指示及び助言に抵抗を感じるので、訓練を受けていない個人がミーティングの司会を務める試みは多くの場合に失敗する。
【０３８０】
多くの場合に、ミーティング又は会話のゴールは、参加者がミーティングの過程においてアイデア及び意見を出しながらこれらに対して説明することである。多くの場合に予想されることは、参加者が自由に意見を説明する機会を有することになることである。これらのゴール及び予想を前提とすると、最適なミーティング又は会話は、全ての参加者によって貴重で有意な意見提供が行われ、全ての重要なアイデア及び意見が出されるものである。
【０３８１】
いくつかの人的ファクタが、ミーティングの成功を制限する場合がある。例えば、個人は、ミーティングのゴール及び予想に対して常に献身的であるとは限らない。同じく、個人間のダイナミクスが、ミーティングのゴール及び予想に常に合致しているとは限らない。時に、ミーティングの参加者の意図がミーティングのゴールに明白に反することがある。例えば、相互説明を促進することが意図されたミーティングが、この説明をある一定の方向に誘導するというゴールを有する参加者によって乗っ取られる場合がある。他の事例では、個人間のダイナミクスが相反し、その結果、説明のフォーカスが意図する主題ではなくダイナミクスに置かれることになる場合がある。意図しない妨害が、ミーティングの成功を最小限に止める可能性もある。例えば、話し好きで押し出しが強い参加者は、説明を不用意に独占し、他者が自由に意見を出すのを妨げる場合がある。
【０３８２】
これらの制限的ファクタに起因して、多くの（殆どではないにしても）ミーティングは準最適である。ビジネス環境では、準最適で非効率的なミーティングは不経済なリソースの浪費である場合がある。家族では、準最適な会話は、不運な機会喪失である場合がある。
【０３８３】
上記に示した問題は、人間の生来の傾向の結果であり、それを考慮して修正するためのことが殆ど行われないことで存続する。典型的な個人教育中に、読み、書き、算術、科学、芸術、音楽、ビジネス等に関する教授に多大な時間が費やされる。しかし、会話、協力、又は説得（修辞学）のような重要な技能に対しては明確な教授が殆ど又は全く提供されない。それに起因して、一般的に協力、具体的にはミーティングの有効性を有意に改善する機会が存在する。
【０３８４】
人間が、別の人間よりも社会ロボットから指示及び助言を受け、それに従いたいと望んでいることが研究によって明らかになっている。社会ロボットは、ミーティングのための公平で中立的な熟練司会者として機能することができる。ＰＣＤのバイオメトリック認識機能は、ＰＣＤがミーティング中の各個人による参加度を正確に追跡して測定することを可能にすることができる。この情報は、実時間参加ヒストグラムとして提供することができる。このヒストグラムは、個人毎の発話時間、個人間のやり取り、各個人によって発せられた音調（積極的／消極的）、礼儀正しさ、慣のための表現（積極的及び消極的、激励的及び軽蔑的、無神経）、教養的な失策、個人の感情状態（情緒解析）、時間経過に関連付けられた全体的活気、並びに議題及び小議題を含むことができる。
【０３８５】
ミーティングの過程を通して、ＰＣＤ１００は、言語コンテンツを変換し、それを親交的測定値と相関付けて説明を捕捉する段階とミーティングの有効性を評価する段階の両方のための客観的ツールを提供することができる。
【０３８６】
ＰＣＤ１００は、ミーティングを本題から離さないように保つためにミーティング中に介入することができるように有意な閾値を用いて構成することができる。例えば、ロボットは、誰かが話し過ぎている時に、音調が過度に消極的である時に、不適切な慣のための表現が使用された時に、無神経さが検出された時に、全体的活気が過度に低い時に、及び／又は本質的な論題が作業されていない時に介入することができる。
【０３８７】
ＰＣＤ１００は、その公平なミーティング司会者と親交的な反映者の両方としての機能において、ミーティングをより実質的に管理すること、及びより実質的に協力して会話するように学習することという２つの重要なゴールを参加者をもたらすのに役立たせることができる。
【０３８８】
ミーティングは、例えば、技術を配備することができる環境である。ミーティングの参加者は、様々なコミュニケーション方式を有する様々な分野からの専門家を含む場合がある。ミーティングが話し好きな参加者によって支配されている場合に、ＰＣＤ司会者は、全ての参加者の相対発話時間を示す実時間ヒストグラムを適切なディスプレイ上に提供することができる（中立的に）。更に、不適切な表現が使用された場合に、社会ロボットは、意見を出した参加者にヒストグラムなどを通してこれらの表現に属性を付けすることができる（分別なく）。ミーティングの活気及び音調を測定して実時間で追跡し、それまでの有効なミーティングと比較することができる。学習機会として、有効なミーティングと無効なミーティングの両方をＰＣＤ１００によって収集された統計を用いて比較することができる。
【０３８９】
以上により、ＰＣＤ１００のような社会ロボットは、有意な情報を記録して表示し、ミーティングの有効性及びダイナミクスを改善しながらミーティングの司会者として機能することができ、これは、高い生産率及び優れたリソース使用を意味することができる。
【０３９０】
本明細書では、更に、複数の信頼性が証明されたＩＤの人間及びネットワーキングモバイルデバイスの間で情報を配信するロボットエージェントのネットワークを編成する方法及びシステムを提供する。
【０３９１】
通信チャネルの数及びタイプが増加する時に、メッセージの送受信者が戦わなければならない「ノイズ」も増加する。更に、新しいチャネルは、多くの場合にメッセージ配信の特定のモードに特化される。その結果、メッセージ送信者は、メッセージ配信の可能性及び有効性を最大にするためにどのチャネルを使用するかを決定しなければならない。同じく、メッセージ受信者は、メッセージを適時に受信するためにどのチャネルを「モニタ」するかを決定しなければならない。これらの決定は、行うのが益々困難になってきている。
【０３９２】
現在、複数の電子メールアカウントからのメッセージをメール読取プログラムが自動的に集約することができ、複数の電子メールチャネルを同時にモニタすることが可能になっている。同じく、モバイルデバイスは、複数のチャネルからのテキストメッセージを集約方式で提供することができる。しかし、メッセージの集約は、「ノイズ」問題を解決しない。この集約は、全てが同じモードで示されるメッセージを受信者に浴びせることによって問題を悪化させる場合がある。
【０３９３】
社会ロボットは、注意を喚起する機能及び人間に人間様の通信があてがわれることの重要度に起因してメッセージングにおいて独特の役割を演じることができる。社会ロボットが受信者にメッセージを配信するためのチャネルとして使用される場合に、このメッセージが受信者による最適な程度の着目を受けるように社会ロボットが配信モードを自動的に選択することができる。
【０３９４】
この自動配信モード選択は、社会ロボットに独特のいくつかの特徴、すなわち、（１）社会ロボットの物理的存在により、人間が生来慣れている表現的手がかりを用いて社会ロボットが注意を引くことが可能になること、（２）バイオメトリック認識機能を有する社会ロボットが、メッセージの意図する受信者が物理的に存在している時を検出することができ、この受信者に最も有効な物理的手がかりを用いて促すことができること、（３）社会ロボットによって使用される学習アルゴリズムが、メッセージコンテンツ、状況コンテクスト、及び受信者の挙動履歴を用いてメッセージをどのようにして実質的に配信するかに関する最適な決定を行うことができることを用いて達成することができる。
【０３９５】
本明細書に開示する方法及びシステムでは、ＰＣＤ１００のようなネットワーキング社会ロボット、並びにモバイルデバイス及び他のネットワーキングデバイスのような他のデバイスを使用することができる。個々の社会ロボットによってもたらされるメッセージ配信の利点は、複数のネットワーキング社会ロボットが使用される場合に増幅される。家庭環境では、家の部屋／セクションの間で分散されるいくつかのＰＣＤは、メッセージ配信の労力を調整することができる。家庭にわたる複数のＰＣＤの物理的存在は、ロボットがメッセージを配信することができる窓を拡大する。ＰＣＤネットワークは、ＰＣＤの共有バイオメトリック認識機能を用いて家庭を通して意図する受信者の行方を追跡することができる。ＰＣＤネットワークによって使用される学習アルゴリズムは、どのＰＣＤエージェントがメッセージを最も有効に配信することができるかを決定するために受信者の移動及び挙動に関する予想モデルを生成することができる。
【０３９６】
この同じダイナミクスをあらゆる物理的な場所に適用することができ、商店、展示館、図書館等に適用することができる。
【０３９７】
ＰＣＤネットワーク内ロボットの物理的形態は様々なものとすることができる。ネットワークは、据え置き型のもの、移動可能なもの、歩行可能なもの、転動可能なもの、飛行可能なもの、車両のダッシュボード内に埋め込まれたもの、冷蔵庫のような電化製品内に埋め込まれたものであるＰＣＤで構成することができる。
【０３９８】
これに加えて、ＰＣＤの「頭脳」（そのソフトウエア、論理、学習アルゴリズム、メモリのような）は、様々なデバイスにわたって複写することができ、これらのデバイスのうちの一部は物理的に表現する身体を有し、いくつかは、ＰＣＤ１００ソフトウエアが携帯電話又はタブレット内に具現化される場合と同じく身体を持たない（モバイルデバイスに複写される）。
【０３９９】
ＰＣＤのソフトウエアがモバイルデバイスに複写される場合に、このデバイスは、社会ロボットネットワークを構成するメンバであり、更に、親交的及び／又は技術的なネットワーク内にいる人間と十分に協力的で十分に立場を認識したメンバとして機能することができる。物理的に制約されるＰＣＤのインスタンスがメッセージ配信タスクに寄与することができる程度は、このインスタンスが有する機能に依存し、すなわち、典型的なスマートフォン内に実施されるＰＣＤソフトウエアは、多くの場合に、バイオメトリック認識、カメラモニタ、発話認識を提供し、更に、画面上レンダリングによってシミュレーション身体表現さえも提供することができることになる。
【０４００】
スマートフォン制約型ＰＣＤのインスタンスは、一般的に、ネットワーク内の他の無制約型ＰＣＤが後に配信することができる完全に形成されたメッセージを与えることができる場合がある。
【０４０１】
ＰＣＤインスタンスのネットワークでは、各インスタンスは、完全に独立した寄与要素として作動させることができる。しかし、いずれの所与のインスタンスも、ネットワーク上の別のＰＣＤインスタンスへのリモートインタフェース（リモート制御）として機能することができる。このリモートインタフェースモードは断続的に有効にすることができ、又は無制約インスタンスにリモートアクセスを与えるという特定の目的でＰＣＤソフトウエアがスマートフォン又はスマート腕時計内に実施される場合と同じく、あるインスタンスを別のインスタンスへのリモートインタフェースとして機能するように永久に構成することができる。
【０４０２】
実施形態では、自宅環境で無制約（完全装備の）ロボットユニットをキッチンに使用する親がメッセージを生成することができる。親は、ＰＣＤ１００に話し掛けることによってメッセージを生成することができる。
【０４０３】
メッセージは、音声／映像記録として捕捉することができ、更に発話テキスト変換技術等からの転写テキストとして捕捉してテキスト発話変換（ＴＴＳ）を通して配信することができる。配信は、今日の放課後のような後のいずれかの時間にスケジューリングされる。意図する受信者であるティーンエイジャーは、その時点で家にいない可能性があるが、意図する配信時間には帰り着くことができる。この例では、ティーンエイジャーは、放課後確実に帰宅するが、キッチンには入らない。ガレージの入口のそばの壁の中に埋め込まれたタブレット実施ロボットユニットが、帰り着いたティーンエイジャーを認識することができる。タブレット実施ユニットはキッチンロボットユニット、上階のロボットユニット、及びティーンエイジャーのｉＰｏｄ実施ユニットとネットワーキングされているので、４つ全てのユニットが適時メッセージを配信するように協働する。この種のメッセージに対して好ましい配信モードは、無制約ロボットユニットを通じたものであり、従って、タブレットユニットは、メッセージが待機中であることしか述べない。「やあ、［ティーンエイジャー］、メッセージが来てるよ」。ティーンエイジャーは、キッチン及び上階のロボットユニットを無視して自分の部屋に進行する場合がある。配信時間が来ると、ロボットユニットのネットワークは、ティーンエイジャーが無制約ロボットユニットの近くにいないので、メッセージを配信する次に最良の手法が、ティーンエイジャーのｉＰｏｄ実施ユニットを通じたものであると決定することができる。その結果、ｉＰｏｄユニットは、警告トーンを鳴らし、「やあ、［ティーンエイジャー］、キッチンでブラウニーが君を待ってるよ」というメッセージを配信する。最終的にティーンエイジャーがキッチンに入ると、キッチンロボットユニットは、メッセージが配信されたことを既に認識しており、「やあ、［ティーンエイジャー］、ブラウニーを食べる気があるならオーブントースターの中にあるよ」という好意のリマインダーだけを提供する。ＰＣＤ１００は、「キャロル、ジムが君にメッセージを残してるよ。今日サッカーから子供達を乗せて帰ることに対してみたい」等とメッセージの内容を要約することができる。この要約は、キャロルがいつメッセージを聞くか（直ぐに又は少し後で）を決定するのに役立たせることができる。
【０４０４】
従って、社会ロボットネットワークは、バイオメトリック認識、追跡、物理的存在（例えば、ＰＣＤ１００と関連のモバイルデバイス間のリンクに基づく）、非言語及び／又は親交的手がかり、並びに能動的プロンプト表示を用いてそうでなければ複数の混雑したメッセージチャネルのノイズで失われることになるメッセージを配信することができる。
【０４０５】
他の実施形態では、ＴＶを視聴すること又は大音量で競技されるビデオゲームをうるさく競技することは、オーディオが心地よいと感じる際に異なる好みを有する付近にいる他者に対して非常に迷惑である場合がある。更に、多くの家族が、他のメンバよりも遅くまで起きているメンバを有する。
【０４０６】
提案する手法は、聴取者が、社会ロボットからオーディオを無線で受信するヘッドフォンを用い、それによってこの聴取者が自分だけで聞くことができ、他者が妥協することなく好きなだけ大音量で自由に視聴するようにする手法をサポートするものである。変形は、Ｂｌｕｅｔｏｏｔｈヘッドフォン、ヘッドフォンバンドル、及び有線ヘッドフォンを有するモバイル受信機（ローカルＷｉ−Ｆｉ又はＢｌｕｅｔｏｏｔｈを使用するもののような）などを含むことができる。
【０４０７】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、人気のスマートフォン上にあるパーソナルアシスタント内のものと類似のリマインダー機能を有することができる。一例は、「１２月５日の午後３時にアニバサリーギフトを買うことを通知して」「オーケー、通知してあげるよ」である。リマインダーは、投薬リマインダーのようなものをサポートするために反復することができる。ユーザは、リマインダーをオーディオ記録として生成するか又はビデオ記録として生成するというオプションを有することができ、この場合に、ＰＣＤ１００は、記録の開始時点で促す必要がある場合がある。ＰＣＤ１００は、メッセージが生成された後に要約することができる。一例は、「オーケー、明日ジョンに会った時に伝えとくよ［オーディオを再生］」である。リマインダーは、時間が指定されるＰＣＤメモの特殊形態に過ぎない。
【０４０８】
ＰＣＤ１００は、家族内の既知の人々（同じリマインダーに対して１又は２以上）にある事柄に対して想起させることができる場合がある。一例は、「スージーに会ったら宿題するように伝えて」又は「夕方６時にサッカーの練習から僕を乗せて帰ってくれるようにパパとママに伝えて」である。リマインダーが与えられると、リマインダーの送信者に、社会ロボットＰＣＤリンク上で送信者が社会ロボットリンクデバイスを有するか否かを通知しなければならない。リマインダーは、時間が指定されるＰＣＤメモの特殊形態に過ぎない。実施形態では、リンクは、ＰＣＤ１００とモバイルデバイス間とすることができる。
【０４０９】
ターゲットの人がいないことに起因してＰＣＤ１００がリマインダーを配信することができない場合に、このリマインダーはゴールの社会ロボットリンクデバイス上に登場することができる。ターゲットに割り当てられた社会ロボットリンクデバイスが存在しない場合に、ＰＣＤ１００は、ターゲットの人を見た時に直ぐにメッセージを表示することができる。
【０４１０】
例示的かつ非限定的実施形態により、ＰＣＤ１００は、住所録内の他のＰＣＤに本明細書で「メモ」と呼ぶ短いテキストメッセージ又はオーディオ／ビジュアル記録を送ることができる場合がある。ＰＣＤメモメッセージは編集可能にすることができ、ＰＣＤメモ記録は、送る前に再生及び再記録することができる。ＰＣＤ１００は、送信者のためにＰＣＤメモが首尾良く送られたことを見ることができる。ＰＣＤ１００は、家庭の各メンバに関して閲覧し、メッセージ毎に削除することができる「送信された」フォルダを維持することができる。送信されたメモは、ＰＣＤリンク又はＰＣＤ１００上で視聴可能及び／又は編集可能にすることができる。
【０４１１】
ＰＣＤは、メッセージに活気を与えること又はその快活性を改善することなどのために、画面ベースのデバイスに使用される絵文字に類似して本明細書で「ロボッティコン」と呼ぶＰＣＤアニメーションリストを維持することができる。その例は、「やあ、」に対する可愛いウィンク又は「おっと」に対する「ｏ０」を含むことができる。ソーシャルロボッティコンは精巧なものとすることができ、ＰＣＤ技能ストア上での購入に向けてある一定の専用ライブラリを利用可能にすることができる。いくつかのＰＣＤロボッティコンは、独立型アニメーション表現とすることができる。他は、ユーザビデオ画像／メッセージの統合に対応することができる。ＰＣＤロボッティコンは、ＰＣＤの表現機能（ＬＥＤ、ｂｉｐｉｔｙ  ｂｏｏｐｓ、又は他の音又は効果音、アニメーションのような）のうちのいずれかを含むことができる。
【０４１２】
ユーザが、ＰＣＴの「スナップ撮影」モード等によって捕捉された写真を送ることを選択した場合に、写真に添付するためにＰＣＤメモ機能を利用可能にすることができる。
【０４１３】
例えば、家族メンバは、ＰＣＤ１００に「リマインダー（［人］からの）を再生して」といつでも依頼することができ、ＰＣＤ１００は、その人に関する最先のリマインダーから再生を開始することによって応答することができる。ＰＣＤの画面は、待機中のリマインダーがあることを示すことができる。ＰＣＤ１００は、ＰＣＤメモの意図する受信者を見て、リマインダーが過去６時間以内に視聴されておらず、リマインダーの時間が既に来ている場合に、メモを再生することを提案することができる。メッセージを視聴した後に、受信者は、リプレイ又は伝達のオプションを有し、次に、メッセージを保存又は削除するか又は「スヌーズ」してユーザ定義の時間間隔の後に再生することができる。デフォルトのアクションは、メッセージを保存することとすることができる。ＰＣＤは、家庭の各メンバに関してスクロールすることができるＰＣＤメモの受信ボックスを維持することができる。
【０４１４】
複数の家族メンバがいる場合に、着信ＰＣＤメモは、意図する受信者の識別子を有することができる。ＰＣＤ１００は、メッセージを意図する受信者又は他の権限所有ユーザにしか見せない場合がある。例えば、家族の各メンバは、独自の色を有することができ、当該色の点滅「メッセージ」インジケータにより、当該家族メンバは、メッセージが自分に関することを知る。このパラダイムは、様々な家族メンバを待ち受ける様々なメッセージがあるインスタンスを受け入れなければならない。ある家族メンバが別の家族メンバのメッセージを視聴する権限を有するか否かは、運営者を通じて設定可能である場合がある。
【０４１５】
ＰＣＤ１００は、ＰＣＤリンク上で視聴可能及び編集可能にすることができやることリスト及び買い物リストを生成することができる。例えば、ユーザは、「ＰＣＤ、ジェニーをサマーキャンプに申し込まなくちゃいけないの」と言うことができる場合があり、ＰＣＤ１００は、「「ジェニーのサマーキャンプ申し込み」を君のやることリストに追加しといたよ」と応答することができる。これに代えて、「ＰＣＤ、私の買い物リストにバターを追加しといて」。各家族メンバに対して又は家族全体に対してリストを生成することができる。家族の各メンバがリストを有することができ、家族リストが存在することが可能である。
【０４１６】
ＰＣＤメモは、ある不使用期間の後に中断することができる。
【０４１７】
ＰＣＤは、ユーザとの親交的なキャラクターベース（感情的ペルソナモデル駆動の挙動）の対話、決断、学習に携わる永続的な「存在」状態を有することができる。この状態は、体験及び他の入力に基づいて特定のユーザに合わせてＰＣＤ技能を調整し、ＰＣＤの挙動及びこれらの技能の実施をパーソナル化することができる。
【０４１８】
ＰＣＤ１００は、単一の明確な「電源停止」姿勢、並びにＰＣＤ１００が停止された時にそれをこの姿勢に誘導するいくつかの異なるアニメーションシーケンスを有することができる。ＰＣＤ１００は、接続した時又はバッテリ電力で作動している時の明確な「スリープ状態」姿勢、並びにＰＣＤ１００が「スリープ」指令を得た場合又は解除されている間に小休止を取ろうと決定した場合にＰＣＤ１００をこの姿勢に誘導するいくつかの異なるアニメーションシーケンスを有することができる。ＰＣＤ１００は、「目覚め」言語指令又は触覚指令、又は他の視聴覚事象、又は≦４８時間にわたってスリープ状態又は停止状態が続いた後の電源投入／電源接続に相応に異なるいくつかのアニメーションを有することができる。実施形態では、ＰＣＤ１００が待機しているが、依然として適時目覚めするために有効なマイクロフォン及びカメラを有する場合のもののような明確なスリープモードが存在することが可能である。別のスリープモード（ＬＥＤインジケータのようないずれかの手がかりによって示すことができる）では、ＰＣＤ１００は、マイクロフォン及びカメラを停止することができ、従って、ＰＣＤ１００は、このモードでスリープ状態にある時に見ること又は聞くことをしない。このモードでは、人は、ＰＣＤ１００を目覚めさせるためにロボットにタッチするか又は発話又はビジュアル入力とは異なるモダリティを使用することができる。
【０４１９】
ＰＣＤ１００は、言語又は触覚の「目覚め」指令、又は≧４８時間にわたってスリープ状態又は停止状態が続いた後に電源を投入する／電源に接続する他の視聴覚事象に相応に異なるいくつかのアニメーションを有することができる。
【０４２０】
ＰＣＤ１００は、言語又は触覚の「目覚め」指令、又は例えば現地時間で午後１１と午前１１の間の３時間よりも長いスリープ状態又は停止状態の後に電源を投入する／電源に接続することに対応するいくつかの目覚めアニメーションを有することができる。
【０４２１】
ＰＣＤ１００は、スリープ状態にある間にいくつかの異なる「夢を見る」方式を有することができる。これらの夢見状態は、１５分よりも長く続くスリープ期間の〜３０％の間に発生することが可能である。ＰＣＤの夢は、部屋の中にいる人々がＰＣＤの夢が邪魔であると思った場合に指令又はタッチ画面によってＰＣＤが無音スリープ状態に入るように中断することができる。
【０４２２】
ＰＣＤ１００は、その電力レベルが２０％を下回った時に、更にその後に例えば約５＆の各減分時に言語及び画面上でユーザに通知することができる。
【０４２３】
ＰＣＤ１００は、その電源がコンセントとバッテリの間で切り換えられた時に画面上でユーザに通知することができる。ＰＣＤ１００は、「接続されてるの？」又は「バッテリを使ってるの？」のような質問に応答することができなければならない。ＰＣＤ１００は、その頭の後部にあるボタンが押下されて保持された時に自動的に電力を投入又は停止することができる。短いボタン押下は、社会ロボットをスリープ状態に入れる。
【０４２４】
ＰＣＤ１００は、（音声又はタッチ）又はタッチだけでスリープ状態から目覚めるように設定することができる。ＰＣＤ１００は、オン状態にあるが、能動的対話に携わっていない（すなわち、本明細書で「存在」状態又は「存在している」状態と呼ぶ基本状態にある）場合に、誰かが視線に入るか又はノイズを立てると受動的認識アニメーションを示すことができる。これらのアニメーションは、この人が関わり合いたいと望んでいるとＰＣＤ１００が考えた場合にアイドル状態能動的認識に誘導することができる。
【０４２５】
ＰＣＤ１００は、誰かを受動的に認識し、言語指令に起因して又はその人が意図的にＰＣＤ１００に向けて歩いていることのいずれかに起因してこの人が能動的に関わり合いたいと望んでいると考えた場合に、「何なりとお申し付け下さい」方式の能動的認識アニメーションを示すことができる。
【０４２６】
ＰＣＤ１００は、視界を必要とするいずれかの事柄を行うように依頼された場合にそれ自体の眼を外来物体が覆っていることに起因して見ることができない場合はコメントを説明することができる。ＰＣＤ１００は、いずれかのタイプのプロンプトとは無関係に頭を軽く叩かれた場合に、アイドル状態能動的認識に復帰することができる。他の実施形態では、ＰＣＤ１００は、摩られた又は撫でられた場合又は言語で褒められた場合に、「歓喜」アニメーションを示し、アイドル状態能動的認識に復帰することができる。
【０４２７】
ＰＣＤの家族の認識されたメンバが視線内にいるか又は音声ＩＤ等によって識別された場合に、ＰＣＤ１００は、その家族メンバに必ずしも言語によるものとは限らないが個人的な方式（この家族メンバを最後に見た時の新近性に基づくことができる）で一般的に挨拶することができる。
【０４２８】
外来者が視線内にいるか又は音声によって検出された場合に、ＰＣＤは受動的認識モードに入ることができる。ＰＣＤは、外来者からの興味を検出した場合に、反復することなく自分自身を紹介しなければならない。ＰＣＤ１００は、「既知の家族メンバ」がＰＣＤの家族運営者によって管理されているので、他者が誰であるかを率先して尋ねることをしない場合がある。
【０４２９】
ＰＣＤの家族の認識されたメンバが未認識の外来者を用いている場合に、ＰＣＤ１００は、最初にその家族メンバに個人的に挨拶する。その家族メンバがＰＣＤ１００を外来者に紹介した場合に、ＰＣＤ１００は、「既知の家族メンバ」が社会ロボットの家族運営者によって管理されるので、他者が誰であるかを率先して尋ねることはしない場合がある。
【０４３０】
社会ロボットの家族運営者が社会ロボットを新しい人に紹介し、この新しい人を格納しなければならないことを率先して告げた場合に、社会ロボットは、１６個のＩＤスロットのうちの１つを割り当てる。利用可能なＩＤスロットがない場合に、ＰＣＤ１００は、運営者に既存の認識された人を置換したいか否かを尋ねることができる。
【０４３１】
新しい人を学習するように依頼された時には、ＰＣＤ１００は、必要なビジュアルデータ及びオーディオデータを収集し、新しい人にＰＣＤリンクアプリを体験させてビジュアルサンプル及びオーディオサンプルをより適確に捕捉し、名称の発音を習得するように運営者に提案することができる。
【０４３２】
一部の実施形態では、ＰＣＤ１００は、時刻に基づいていくつかの挨拶形態を有することができる。一例は、「おはよう」、「こんばんは」、又は「夜更かししていますね」である。ＰＣＤ１００は、挨拶しているターゲットの人を知っている場合に、常にではないにしても多くの場合にその人の名称でパーソナル化することができる。
【０４３３】
誰かがＰＣＤ１００にさようならと言った場合に、ＰＣＤ１００は、別れを告げるいくつかの方式を有することができる。ＰＣＤ１００は、さようならと言った人を知っている場合に、この別れをその人の名称でパーソナル化することができる。
【０４３４】
ＰＣＤ１００は、制約のない言語対話を促さないように構成されたいくつかのアイドル状態チャッター機能を有することができる。これらの機能は、ユーザ応答を目的とする発言、又はユーザを面白がらせるが応答を誘わないように設計された簡単な軽口を含むことができる。これらの発言は、家族の誰かに「誕生日おめでとう」と言うことのような家族事情タブ内に定められた既知の「家族事情」を参照したものとすることができる。実施形態では、ＰＣＤ１００のユーザを促すことのようなＰＣＤ１００がどのような発言を聞くことを予想しているかに関するビジュアルヒントを画面上に表示することができる。発言は、特定のＰＣＤの郵便番号に基づく地理を中心としたものとすることができる。発言は、「バードマンがアカデミー賞を全なめにしたなんて信じられないよ！」のような設計チームによってＰＣＤクラウドからプッシュされた今日的話題に関することができる。軽口は、ユーモアがあり、如才なく、ＰＣＤのペルソナに沿ったものとすることができる。チャットボットコンテンツは、人々がＰＣＤに話したこと、又はＰＣＤが、写真、曲、冗談のようなものに対する顔表現反応から収集したものに基づく人々が好きなものかつ嫌いなもののＰＣＤメモリから引き出すべきでもある。
【０４３５】
ＰＣＤ１００は、楽しませるように設計された質問を家族メンバに定期的に投げ掛けることができる。
【０４３６】
ＰＣＤ１００は、発言を繰り返すように依頼したにも関わらずユーザを理解することができなかった場合に大目に見るようにユーザに促す不可解を表現するいくつかの優雅な方式を有することができる。
【０４３７】
ＰＣＤ１００は、それ自体が時々に表現するプリファレンス、恐れ、及び気分のような特定の好ましい独特の挙動を有することができる。
【０４３８】
ＰＣＤ１００は、ユーザから辛抱及び寛容を引き出すように設計することができる定められたマルチモーダル曖昧性除去パラダイムを有することができる。
【０４３９】
ＰＣＤ１００は、発言は理解するが満足のゆく返事又は応答をすることができないことを表現するいくつかの優雅な方式を有することができる。
【０４４０】
ＰＣＤ１００は、時折、それ自体が嬉しく、満足しており、いかなる手助けも必要ではないことを示す方式で静かに悦に興じることができる。
【０４４１】
ＰＣＤ１００は、いずれかの待ち時間インシデント又はコアサーバ更新中に思考中であることを示すいくつかの方式を有することができる。
【０４４２】
ＰＣＤ１００は、そのＷｉＦｉ接続が停止したこと、更にＷｉＦｉが再接続したことをユーザに警告するいくつかの方式を有することができる。ユーザは、ＰＣＤリンクからのＱＲコード（登録商標）を使用することによってＷｉＦｉをいつでも設定から再起動することができる。
【０４４３】
ＰＣＤ１００は、ユーザが技能及び基本設定を閲覧すること、並びに有効な技能を終了することを可能にする基本マルチモーダルナビゲーションパラダイムを有することができる。ＰＣＤリンクを通して高度な設定を入力することが必要である場合がある。
【０４４４】
ＰＣＤ１００は、それ自体を運営者に「ロック」させ、それによってパスワードなしではＰＣＤ１００がロックされているという謝罪的通知を超えて関わり合うことができないようにする機能を有することができる。
【０４４５】
ＰＣＤ１００は、指示を受けて利用可能なＷｉＦｉネットワークを表示することができる。ＰＣＤ１００は、ＷｉＦｉ接続が失われた場合に利用可能なＷｉＦｉネットワークを表示することができる。ＰＣＤ１００は、その画面上にＷｉＦｉパスワードを入力する手法を提供することができる。
【０４４６】
ＰＣＤ１００は、家族の各既知のメンバとの視覚関連付けを有することができる。例えば、ジムは常に青色であり、ジェーンは常に桃色であり、ママは常に緑色であり、パパは常に紫色である。ＰＣＤ１００が家族メンバと対話する時には、この視覚手法が優勢でなければならない。この視覚識別子は、ＰＣＤ１００が家族メンバを認識していることを家族メンバが知ることを保証するためにＰＣＤの技能を通して使用することができる。
【０４４７】
ＰＣＤ１００は、笑顔を認識して類似の方式で応答することができる。
【０４４８】
ＰＣＤ１００は、存在状態にある間にＰＣＤスナップ写真アルバムからの写真をスライドモードで再生することができ、写真の中にユーザがいる場合に「この写真内の君は特に良く写っているよ」と言うことができる。時には、ＰＣＤ１００は、初代Ｍａｃｉｎｔｏｓｈ、又はＲ２Ｄ２、又はピンボール機のような様相のＰＣＤ１００自体の写真を見ることができるが、更にＰＣＤ１００の家族の写真も時々に含められる。
【０４４９】
ＰＣＤ１００は、対話を必要とすることなく嬉しさを多くの場合に示すことができる。例えば、ＰＣＤ１００は、それ自体でピンポンをやり、ＰＣＤ１００を顔として用いてその画面上にモナリザのような絵を示している。時間経過に伴って、これらの技能は進化することができる（例えば、月着陸船ＡＳＣＩＩゲーム又は棒図形から始めてより複雑なゲームに発達する）。一部の実施形態では、ＰＣＤ１００は、子犬のようなペットを有することができ、ＰＣＤ１００の眼が、この犬が取ってくることができるボールになることができる。ＰＣＤ１００は、犬に宛先を任せて一緒に歩き回ることができる。ＰＣＤ１００は、料理本を読むように自体の技能を閲覧することができる。ＰＣＤ１００は、いずれかのタイプの限られた音楽ライブラリに合わせて踊り、その移動を練習することができる。ＰＣＤ１００は、時折昼寝する。一部の実施形態では、ＰＣＤ１００は、家族事情に基づいて鐘で合図を出して俳句のような詩を書くことができる。他の実施形態では、ＰＣＤ１００は運動し、それ自体を励ますことができる。他の実施形態では、ＰＣＤ１００は、楽器を演奏し、面白いユーチューブクリップを観てくすくす笑い、子供の遊びであるカラー・バイ・ナンバーズをやり、迷路を通過するようにボールを移動し、数独をして遊ぶことができる。ＰＣＤ１００は、独自の写真アルバムを有し、切手を収集することができる。
【０４５０】
一部の実施形態では、ＰＣＤ１００は、ピンポンベースのゲームに携わってそれを表示することができ、左右の移動が、ゲームでＰＣＤ１００に対抗するユーザのラケットを制御する。
【０４５１】
ＰＣＤ１００がバッテリ電力で作動している場合に、残りのバッテリ寿命を示すアイコンをＰＣＤ１００の画面上に置くことができる。
【０４５２】
人々がタスクの状況ではなく親交の状況でＰＣＤ１００を褒めた場合に、ＰＣＤ１００は「歓喜／愛情」アニメーションを示すことができる。
【０４５３】
グループ内にいる場合に、ＰＣＤ１００は、一度に一人ずつ関わり合うことができる。ＰＣＤ１００は、他の誰かがＰＣＤ１００と話したいという望みを示す場合に初めてその人と関わり合うために方向転換することができ、ＰＣＤ１００がその時点で関わり合っていた人は静かにする又は他に関わり合いを解除する。実施形態では、ＰＣＤは、様々な非言語及びパラ言語の親交的手がかりを用いて多人数対話を同時に処理することができる。
【０４５４】
ＰＣＤ１００は、基本タイマー機能を有することができる。一例は、「ＰＣＤ、１５分経ったら通知して」である。
【０４５５】
ＰＣＤ１００は、ユーザがＷｉＦｉ範囲でなくした電話を探し出すのを助けるために、ＰＣＤリンクを通してＰＣＤ１００に接続された電話に着信音を発生させることができる場合がある。誰かが、自分のデバイスではないＰＣＤリンク接続電話でこの着信音を発生させることができるか否かを制御する機能は、運営者設定を通して構成可能にすることができる。
【０４５６】
ＰＣＤ１００は、現在のスマートフォンに使用されているものと類似のストップウオッチ機能を有することができる。
【０４５７】
ＰＣＤ１００は、組み込み時計を有し、いかなる期間においても尋ねられた場合に時間を伝えることができる場合がある。時には、ＰＣＤ１００は、時間、関わり合いのレベル及びそれ自体が何をしているかに少なくとも部分的に基づかない可能性がある他の時間を表示することができる。ＰＣＤ１００は、アラーム時計機能を有することができる。一例は、「社会ロボット、午後３：３０になったら通知して」である。スヌーズ機能を含めることができる。ＰＣＤ１００は、利用可能ないくつかのアラーム音を有することができ、各家族メンバは、各自の好きなアラーム音を設定することができる。好きなアラーム音が設定されない場合に、ＰＣＤ１００が選択することができる。
【０４５８】
ＰＣＤ１００は、技能によって異なる可能性がある既存の多者間対話ポリシーを有することができる。
【０４５９】
ＰＣＤ１００は、その機能を「見せる」ように見出された場合に示すことができる簡易「デモリール」を有することができる。
【０４６０】
家族メンバによって別のＰＣＤ１００に音声ＩＤが導入されている場合に、ＰＣＤ１００は、この別のＰＣＤ１００に遭遇して音声ＩＤによって認識した時に、指定されたものではあるが簡単な挙動オプションを有することができる。実施形態では、ＰＣＤ１００は、別のＰＣＤ１００と対話するように設計された特定の特殊挙動を有することができる。
【０４６１】
例示的かつ非限定的実施形態により、所与の技能又は挙動（アニメーション及び発話など）は、ＰＣＤ１００に関する他の属性に基づいて別様に発現することができる。例えば、ＰＣＤ１００は、ユーザ又はグループとの経時的な対話などを通して、ある一定の性格を有する、ある一定のペルソナの役目をこなす、特定のモードで作動する、ある一定の気分を有する、あるレベルのエネルギ又は疲労を表現する、及びある一定のように機能するかなどを行うように適応させることができる。ＰＣＤ  ＳＤＫは、上述のうちのいずれか又は上述のあらゆる組合せに基づいて特定の技能又はその構成要素がどのように変えられるかを開発者が示すことを可能にすることができる。例えば、ＰＣＤ１００は、「社交性に富んだ」性格を植え付けることができ、この場合に、ＰＣＤ１００は、短めで小声のバージョンの発話挙動を実行する「内向的」ＰＣＤ１００と比較して長めで大声のバージョンを実行することができる。同じく、「能動的な」ＰＣＤ１００は大きい移動を行い、それに対して「不活発な」ＰＣＤ１００は、同じ技能又は挙動を実行する時に小さい移動しか行わない場合がある。同じく、「疲れた」ＰＣＤ１００は、寝る時間だという合図をほのめかすことのような緩慢な移動及び遅い発話などしか示さない場合がある。以上により、本明細書では、技能とは無関係なＰＣＤ１００のモードに従って表現することができる技能及び挙動の開発を可能にするＳＤＫを含む社会ロボットプラットフォームを提供する。実施形態では、ＰＣＤ１００は、別個の人々に別様に対話するように、例えば、明確で堅実なペルソナを変わらずに維持しながら子供に大人とは別様に話し掛けるように適応させることができる。
【０４６２】
様々な実施形態により、広範な技能を提供することができる。重要な技能は、ミーティング技能（初回及びその後のミーティングに対するロボット拡張ビデオ通話などを含む）、モニタ技能（家の中で人々及び／又はペットなどをモニタする）、写真家技能、読み聞かせ技能（及びユーザが分岐点で冒険小説の筋に影響を及ぼす選択することなどを可能にするマルチメディアマッシュアップ及びマルチメディア実演ベースの物語など）、ゲームプレイ技能、ユーザが社会ロボットを人工知能ミラーとして使用することを可能にする「マジックミラー」技能、天気技能、スポーツ技能又はスポーツプログラム又はファンタジースポーツのようなスポーツ情報又はスポーツ活動を改善するように対話を行うスポーツ仲間技能、音楽技能、背景／アニメーション効果を使用する人工知能対話テレプロンプターとして機能するレシピと協働するための技能、及び指導技能（薬物療法の遵守、自己啓発、及び訓練など）を含む。
【０４６３】
自動化発話認識（又は他の音認識）を容易にするために、本明細書に開示する方法及びシステムはビーム形成を行うことができる。課題は、ユーザが「よお、相棒」のような「ホットなフレーズ」を使用することなどによって社会ロボットの注意を引くことを可能にすることが望ましい場合があることである。ＰＣＤ１００は、存在する場合に、ホットなフレーズを発した音声の方向に向く（注意を向ける）ことができる。それを行う１つの手法は、様々な箇所に向くビーム（空間フィルタ又はチャネル）が存在するビーム形成を使用することである。理論的には、ビームに対応する各空間フィルタ又はチャネルが、このチャネルから音を取得し、他のチャネルを無視しようと模索する。典型的に、人々は、これを例えばポリフォンデバイスにおいて最大音量を有するビームを選択し、最大音量ビームが話している人に関連すると仮定することによって行う。本明細書に開示する方法及びシステムは、ホットなフレーズを言う人のビームを選択することなどのために改善されたビームの形成及び利用を行うことができる。実施形態では、社会ロボットプラットフォームは、各ビーム又はビーム部分集合に対して別個の発話認識器インスタンスを有することができる。従って、各発話認識器は、空間円錐を傾聴する。デバイスが、例えば、４人のグループの中にあり、１人が「よぉ、相棒」と言った場合に、デバイスは、誰かが話者の方向から注意を引こうとすると理解することになる。これを実施するために、システム及び方法は、チャネル又はチャネル部分集合毎に発話認識器を有することができる。
【０４６４】
理想的には、ＰＣＤの運動／方位に基づいてビームの方位を維持しようと望むことができる。ビーム形成を実行しているシステムは、モータコントローラから情報を受信することができ、又はＧＰＳシステム、視覚システム又はビジュアル入力、ＩＯＴデバイスの場所等に基づく家のような環境内の場所特定システムのような外部システムから場所又は方位を受信することができる。モータコントローラは、例えば、ＰＣＤ１００がそれ自体を回転させる角度を知ることができ、次に、ＰＣＤ１００は、その座標を求める必要がある場合がある。この座標の究明は、ＰＣＤ１００の方位を変更するためにホットなフレーズを再度発声すること、又は他の場所情報を利用することによって達成することができる。話者が位置付けられると人追跡を使用することができ、それによってＰＣＤ１００は、話者が動く時に話者の方向にビームを維持するために適切に移動、方向転換することができ、更に他の知覚モダリティが、タッチ及び熱痕跡など等によってこれを補うことができる。実施形態では、音位置とビジュアル手がかりとを統合したものを用いて、どの人がＰＣＤ１００に話しかけようとするかを顔の移動を視覚的に決定することなどによって決定することができる。実施形態では、全方位「低解像度」視覚システムを配備して部屋の中で運動を検出し、次に、より高い品質のカメラを話者に向けることができる。
【０４６５】
他の例示的実施形態では、本明細書に開示する方法及びシステムは、フレーズ検出技術の一部としてタイル分割文法を使用することができる。有効なフレーズ検出を行うのに好ましくは短いフレーズを有することができるが、フレーズ検出を構成するコストは、幾つの異なるフレーズを認識しなければならないかに依存して高くなる。例えば、１０個の内容の間で区別するために様々な別個のフレーズをより多く有する程、コストは高くなる（幾何級数的に）。実施形態では、本明細書に開示する方法及びシステムは、異なるスレッド内で同時に実行される異なる認識器にフレーズを分割することができ、従って、各認識器は小さく、コストが低い。フレーズ検出の概念は、内容を有する発話チャンクを探し出すことを可能にすることであるので、ここで一連の事柄を導入することができる。例えば、「よぉ、相棒、写真を撮ってそれを妹に送りたいんだが」というフレーズを取得する。殆どの関連において、「写真を撮る」及び「それを妹に送る」という２つのチャンクが問題になる可能性が高い。１つのフレーズ検出スレッドに基づいて、別の修正されたフレーズ検出認識器をトリガすることができる。各々が特定のタイプのフレーズを認識する認識器のグラフ（文法のグラフだけではなく実際の認識器も）構成することができる。グラフに基づいて、認識器は、適用可能性及び使用を制御する適切な親認識器がトリガすることができる。以上により、本明細書では、並列で作動し、任意的に広範なフレーズにわたってフレーズ検出を可能にするためにグラフに従って編成された複数の発話認識器を提供する。
【０４６６】
ロボット技能及びアセットを開発する方法、ツール、ユーザインタフェース、及び技術（一般的にＳＤＫの要素）の詳細を添付図面に示し、下記で説明する。一般的に、これらの要素は、本明細書に説明するソフトウエア、データ構造、データベース、及びユーザインタフェースなどを使用するようになった１又は２以上のコンピュータサーバを通じて開発者及び類似の者に対してアクセス可能にすることができる。各要素をその要件、入力、使用、作動、他の要素との相互作用、及び出力に関して説明するが、これらの要素を併せることにより、永続的に存在する社会ロボットにおいて親交的対話、並びに他の技能及び技能のためのアセットを開発、試験、及びインスタンス化するための全体的な環境が与えられる。この場合の要素は、配置、移動、制御、入力感知、表示、光、音、芳香の生成のようなロボットの物理態様に関する多くの複雑な技術問題に対処するように設計される。これらの要素は、人間との友好関係を開発すること、人間様の感情を表現すること、及びロボットの環境を検出してそれにほぼ人間の方式で応答することなどのような機能を注入するためのロボットの１又は２以上の処理機能を作動させる複雑なアルゴリズムへのアクセスを与えるようにも設計される。
【０４６７】
社会ロボットソフトウエア開発者キット（ＳＤＫ）は、社会ロボット技能（例えば、ロボットアプリケーション）を構成する容易な手法を開発者に与えるようになったウェブベースのアプリケーションツールである。社会ロボットＳＤＫは、取りわけ、Ａｔｏｍ／Ｅｌｅｃｔｒｏｎ及びＮｏｄｅ．ｊｓに同等であるいくつかの主構成要素を通して技能開発を容易にする。これらの主構成要素は、アニメーション、挙動生成、技能シミュレーション、非言語及びパラ言語の親交的手がかりを使用する自然言語対話、及びロボット保守を含む。ＳＤＫを使用することで、社会ロボットの発話技術、顔の認識及び追跡、タッチ入力技術、移動システム、及び視覚システムなど、並びにこれらを用いて構成される社会ロボットのより高いレベルの機能及び技能を含む社会ロボットの多くの態様へのアクセスが得られる。
【０４６８】
実施形態では、社会ロボットＳＤＫは、Ａｔｏｍパッケージマネージャから適切なユーザインタフェースを通してダウンロードすることができる。社会ロボットＡｔｏｍパッケージ（社会ロボットｓｄｋと呼ぶ）は、Ｅｌｅｃｔｒｏｎ（登録商標）の上に構成される統合開発者環境（ＩＤＥ）であるＡｔｏｍ（登録商標）の上に構成することができる。社会ロボット技能は、例えば、ＪａｖａＳｃｒｉｐｔで書いてＥｌｅｃｔｒｏｎ（登録商標）上で実行することができる。社会ロボット技能は、社会ロボットＡｔｏｍパッケージＧＵＩ内で直接生成するか又はＪａｖａＳｃｒｉｐｔで直接ＡＰＩ呼び出しを行うことによって生成することができる。社会ロボットＡｔｏｍパッケージは、簡単なＵＩを含み、Ｃｈｒｏｍｅ  ＤｅｖＴｏｏｌｓ（登録商標）、事前生成されたアニメーション、挙動、画像、及び効果音のライブラリ、並びに感情の重ね合わせ及び非言語又はパラ言語の手がかりを用いた表現豊かでキャラクターに富む発声台詞の実演を設計するためのツール及びマークアップ言語、更に、技能をゼロから生成する機能へのアクセスを提供することができる。
【０４６９】
社会ロボット指令ラインインタフェース（ＣＬＩ）は、それを通して技能を生成し、直接に配備する機能を提供することができる。社会ロボットＡｔｏｍパッケージと社会ロボットＣＬＩの両方は、アニメーション、３Ｄの身体の移動、対話、表現、及び技能の他の発現を社会ロボットに送る前にプレビューすることを可能にする社会ロボットシミュレータへのアクセスを提供することができる。
【０４７０】
例示的かつ非限定的実施形態により、社会ロボットのアニメーションシステムは、モータ、照明リング、及び眼グラフィックなどを含むロボットの身体を通して表現出力を調整する役割を受け持つことができる。システムは、スクリプト式アニメーションの再生、並びに表現的注視挙動及び方位設定挙動のような手順に沿って行われる表既存動をサポートすることができる。更に、システムは、姿勢から姿勢へ、又は１つのアニメーション又は表既存動の終了から次のものに滑らかに移行することを保証する。
【０４７１】
ＰＣＤ  ＳＤＫの主な要素は、以下を含むことができる。
・技能構造−殆どの技能が厳守するデータ構造。
・メインスクリプト−ロボットが初期化する時にエクスポートされる技能エントリポイントセット。
・様式−ロボットの身体部分による方式作動を実施するためのデータ構造。
・ビルダ及びインスタンス−技能要素の実施に向けてデータを保持するデータ構造。
・自由度（ＤＯＦ）−アニメーションモジュールによって制御される動的要素の表現。
・アニメーション−スクリプト式アニメーションの再生を制御する。
・移行−アニメ化された１つの挙動から次のものへの滑らかな運動を保証する。
・凝視／方位設定挙動−社会ロボットの一部を着目の場所に表現的に向けるために使用される。
・アニメーションエディタ−別個のアニメーション層を用いて対話型にアニメーションファイルを生成するためのグラフィックインタフェース。
・挙動エディタ−各技能に対する挙動木の編集を可能にする。
・発話規則エディタ−ロボットの自然言語理解又は傾聴機能を通して発話が検出された時に使用されることになる規則を生成する。
・ＭＩＭエディタ−自然音言語対話のための言語対話の規則及び機能。
【０４７２】
ＰＣＤ  ＳＤＫ
ＰＣＤ独特のソフトウエア開発キットのアーキテクチャのブロック図を描く図２７を参照すると、ＰＣＤソフトウエア開発者キット（ＳＤＫ）２７０４は、ＰＣＤ技能（ロボットアプリケーション）を構成する容易な手法を開発者に与えるようになったウェブベースのアプリケーションツールとして作動させることができる。ＰＣＤ  ＳＤＫは、いくつかが別個のユーザインタフェース、ツールセット、及びＡＰＩなどを有することができる４つの主構成要素から構成される。主構成要素は、アニメーション構成要素２７０６と、挙動生成構成要素２７０２と、技能シミュレーション構成要素と、ロボット保守構成要素とを含む。ＳＤＫを使用することで、ＰＣＤの発話技術、顔の認識及び追跡、タッチ入力技術、及び他の感知入力及び表現出力へのアクセスが得られる。
【０４７３】
ＰＣＤ技能は、構成要素のユーザインタフェース内で直接に生成するか又はＪａｖａＳｃｒｉｐｔのようなプログラミング言語で直接ＡＰＩ呼び出しを行うことによって生成することができる。ＰＣＤ  ＳＤＫは、ユーザインタフェースを含むことができ、事前生成されたアニメーション、挙動、画像、及び効果音などのライブラリ、更に、技能をゼロから生成する機能へのアクセスを提供することができる。
【０４７４】
ＰＣＤ  ＳＤＫは、ＰＣＤが実施することができる技能を生成する段階を容易にすることができる。例示的かつ非限定的実施形態により、技能は、ＳＤＫが生成段階を容易にすることができる基本構造の厳守を必要とすることができる。複数の例示的実施形態では、下記で説明する構造は、本明細書に説明する挙動エディタ及びアニメーションエディタのようなＳＤＫの技能発生器機能を通して新しい技能を生成する時にデフォルトで開始することができる。各技能は、技能のユーザインタフェース（ＵＩ）を実施し、更に様式ファイルへのリンク、コードの分割又はセクションを定めるタグ、及び全てのＵＩ要素を含むＰＣＤのｉｄのような要素を含むｉｎｄｅｘ．ｈｔｍｌファイルを有することを必要とすることができる。
【０４７５】
各技能は、ＰＣＤによる技能の実行中に１又は２以上の技能機能をエクスポートする役割を受け持つメインスクリプトを用いて構成することができる。
【０４７６】
技能のアクションは、写真を撮影するアクションから捕捉画像を表示するアクションへのような１つのアクションから別のアクションへの写実的な移行段階を容易にするためにアクションの前及び／又は後にある余裕又は穴埋めを有するようにＰＣＤ  ＳＤＫを用いて構成することができる。ＰＣＤ  ＳＤＫは、技能、技能間の移行、及び関連のＰＣＤ表現を構成する段階を容易にする。
【０４７７】
ＰＣＤ指令ラインインタフェース（ＣＬＩ）は、それを通して技能を生成し、直接に配備する機能を提供することができる。ＰＣＤ  ＡｔｏｍパッケージとＰＣＤ  ＣＬＩの両方は、アニメーション、３Ｄの身体の移動、対話、及び表現をＰＣＤに送る前にプレビューすることを可能にするＰＣＤシミュレータへのアクセスを提供することができる。
【０４７８】
挙動及び挙動エディタ
図２７を参照すると、ＳＤＫ２７０４内の挙動エディタ２７０２は、木、ノード、葉、親、及び修飾子などを含むことができる。挙動は、ＳＤＫ２７０４内でそれを用いて構成、順序付け、シミュレーション、及び配備することができるクラスとしてアクセス可能にすることができる。例示的挙動クラスは、Ｂｌｉｎｋ（瞬き）、ＥｘｅｃｕｔｅＳｃｒｉｐｔ（スクリプト実行）、ＥｘｅｃｕｔｅＳｃｒｉｐｔＡｓｙｎｃ（非同期スクリプト実行）、Ｌｉｓｔｅｎ（傾聴）、ＬｉｓｔｅｎＥｍｂｅｄｄｅｄ（埋め込み傾聴）、ＬｉｓｔｅｎＪｓ（傾聴Ｊｓ）、ＬｏｏｋＡｔ（注視）、Ｎｕｌ（ヌル）、Ｐａｒａｌｌｅｌ（並列）、ＰｌａｙＡｎｉｍａｔｉｏｎ（アニメーション再生）、ＰｌａｙＡｕｄｉｏ（オーディオ再生）、Ｐｏｉｎｔ３Ｄ（３Ｄ点）、Ｒａｎｄｏｍ（ランダム）、ＲｅａｄＢａｒｃｏｄｅ（バーコード読取り）、Ｓｅｑｕｅｎｃｅ（シーケンス）、Ｓｕｂｔｒｅｅ（部分木）、ＳｕｂｔｒｅｅＪｓ（部分木Ｊｓ）、Ｓｗｉｔｃｈ（切り換え）、ＴａｋｅＰｈｏｔｏ（写真撮影）、ＴｅｘｔＴｏＳｐｅｅｃｈ（テキスト発話変換）、ＴｅｘｔＴｏＳｐｅｅｃｈＪｓ（テキスト発話変換Ｊｓ）、及びＴｉｍｅｏｕｔＪｓ（タイムアウトＪｓ）などを含む。
【０４７９】
挙動木は、挙動をモデル化し、自律エージェントのフローを制御するために使用することができる表現ツールである。挙動木は、同時アクション及び意志決定処理を調整する機能の理由からロボット工学及びビデオゲーム産業では一般的である。状態機械（いずれか所与の時点で単一の有効な状態しか存在しない）とは異なり、挙動木は、複数の挙動を並列で実行することができる。それにより、挙動木は、表現出力を有するＰＣＤ感知入力の全てを調整するための非常に強力なツールになる。挙動木は、グラフとして表される状態機械とは異なり階層的にある。
【０４８０】
生成される各技能は、デフォルトでｍａｉｎ．ｂｔ挙動木を含むことができる。この挙動木は、技能が実行される時に実行される挙動木である。技能の中でｍａｉｎ．ｂｔが参照するための追加の挙動木を生成することができる。挙動は、別途指定しない限り挙動木の最上位から最下位に実行することができる。
【０４８１】
図２８を参照すると、２つの挙動が同時に実行され、次に、第２の挙動、更に第３の挙動が実行される挙動木断片２８００の例示的かつ非限定的実施形態が示されている。特に、カメラアニメーションを再生する段階と写真を撮影する段階は、最初に第１の挙動の一部として並列に実施される。完了時に、それぞれ写真を表示する段階及び表示から写真を削除する段階を含む第２及び第３の挙動が実施される。
【０４８２】
挙動は、アクションを実施する挙動木内のノードである。これは、非常に簡単なアクション（オーディオファイルを再生する段階のような）又は複雑なアクション（誰かの名称を尋ねる段階のような）である可能性がある。
【０４８３】
挙動は、以下の少なくとも４つの別個の状態を取ることができる。
ａ．ＩＮＶＡＬＩＤ（無効）：挙動は依然として始まっていない。
ｂ．ＩＮ_ＰＲＯＧＲＥＳＳ（進行中）：挙動が、アニメーションを再生する段階又はテキスト発話変換を用いて発声する段階のようないずれかのアクションを能動的に実施している。
ｃ．ＳＵＣＣＥＥＤＥＤ（成功）：挙動がそのタスクを首尾良く完了した。
ｄ．ＦＡＩＬＥＤ（失敗）：挙動がそのタスクを不成功に完了した。これは必ずしもエラーが発生したことを意味するとは限らないことに注意されたい。
【０４８４】
葉挙動は子を持たない。葉挙動は、オーディオファイルを再生する段階又はＰＣＤに発声させる段階のような１つのアクションを実施する役割を受け持つ。
【０４８５】
図２９を参照すると、葉挙動の例示的かつ非限定的実施形態が示されている。図示のこの葉挙動は、アニメーションを再生し、写真を撮影し、タイムアウトの間一時停止し、かつＪａｖａＳｃｒｉｐｔコードを実行する。
【０４８６】
一般的に、親挙動は子を有することができる。子は、葉挙動又は他の親挙動のいずれかとすることができる。ＳＤＫ２７０４では、４つのコア親挙動が存在する。
ａ．Ｓｅｑｕｅｎｃｅ（シーケンス）：Ｓｅｑｕｅｎｃｅは、その子を最上位から最下位への順序で実行することになる。Ｓｅｑｕｅｎｃｅの子のうちのいずれかがＩＮ_ＰＲＯＧＲＥＳＳ状態にあるが、ＳｅｑｕｅｎｃｅもＩＮ_ＰＲＯＧＲＥＳＳ状態にあることになる。Ｓｅｑｕｅｎｃｅの子の全てがＳＵＣＣＥＳＳステータスを用いて戻った場合に、Ｓｅｑｕｅｎｃｅは、ＳＵＣＣＥＳＳステータスを用いて戻ることになる。Ｓｅｑｕｅｎｃｅの子のいずれかがＦＡＩＬＥＤステータスを用いて戻るや否や、Ｓｅｑｕｅｎｃｅは、ＦＡＩＬＥＤステータスを用いて即座に戻ることになる。
ｂ．Ｐａｒａｌｌｅｌ（並列）：Ｐａｒａｌｌｅｌ親挙動は、その子の全てを同時に開始することになる。Ｐａｒａｌｌｅｌは、その子のうちのいずれかが失敗するまで（この場合に、ＰａｒａｌｌｅｌはＦＡＩＬＥＤステータスを戻すことになる）、又は子の全てがＳＵＣＣＥＥＤＥＤ状態を有するまで（この場合に、ＰａｒａｌｌｅｌはＳＵＣＣＥＳＳステータスを戻すことになる）ＩＮ_ＰＲＯＧＲＥＳＳに留まることになる。
ｃ．Ｓｗｉｔｃｈ（切り換え）：Ｓｗｉｔｃｈ挙動は、挙動木が分岐論理を処理する方法である。Ｓｗｉｔｃｈは、その１つの子が成功するまでシーケンス内の子の全てを試験することになり、この成功時点でこの子を実行し、次に、ＳＵＣＣＥＥＤＥＤステータスを用いて戻ることになる。Ｓｗｉｔｃｈは、その子の全てが失敗した場合であっても常に成功することになる。
ｄ．Ｒａｎｄｏｍ（ランダム）：Ｒａｎｄｏｍ挙動は、その子のうちの１つをランダムに選択することになる。この子が失敗した場合に、Ｒａｎｄｏｍは失敗することになる。この子が成功した場合に、Ｒａｎｄｏｍは成功することになる。
【０４８７】
図３０を参照すると、シーケンス親挙動と並列親挙動の両方の例示的かつ非限定的実施形態が示されている。Ｓｅｑｕｅｎｃｅ親挙動は、その子を最上位から最下位への順序で実行する。Ｐａｒａｌｌｅｌ親挙動は、その全ての子を同時に実行する。
【０４８８】
修飾子は、木内のノードではない。修飾子は、挙動の状態を変更するために挙動に追加することができる構成要素である。修飾子は、以下の４つの事柄を行うことができる。
ａ．いずれかの条件が満たされるまで挙動が開始するのを阻止する。
ｂ．ＩＮ_ＰＲＯＧＲＥＳＳにある挙動に成功させる。
ｃ．ＩＮ_ＰＲＯＧＲＥＳＳにある挙動に失敗させる。
ｄ．成功又は失敗のいずれかで終わった挙動を再開する。
【０４８９】
ＳＤＫ２７０４を通じてアクセス可能である例示的修飾子クラスは以下を含むことができる。
ａ．それが修飾する挙動を開始する前に単一検査を実施するＣａｓｅ（場合分け）。この検査が失敗した場合に、Ｃａｓｅは挙動を失敗させる。
ｂ．評価中の条件が満たされた場合に、それが修飾している挙動を明示的に中断するＦａｉｌＯｎＣｏｎｄｉｔｉｏｎ（条件付き失敗）。
ｃ．アニメーションがその事象層から事象を発射した場合に挙動の実行を始めるＳｔａｒｔＯｎＡｎｉｍＥｖｅｎｔ（アニメ事象時開始）。
ｄ．評価中の条件が満たされるまで、それが修飾している挙動が開始するのを阻止するＳｔａｒｔＯｎＣｏｎｄｉｔｉｏｎ（条件付き開始）。
ｅ．挙動木のグローバルエミッタが事象を発生させるまで、それが修飾している挙動が開始されるのを阻止するＳｔａｒｔＯｎＥｖｅｎｔ（事象時開始）。
ｆ．評価中の条件が満たされた場合に、それが修飾している挙動を明示的に中断するＳｕｃｃｅｅｄＯｎＣｏｎｄｉｔｉｏｎ（条件付き成功）。
ｇ．指定されたオーディオフレーズが検出された時に、それが修飾している挙動を成功させるＳｕｃｃｅｅｄＯｎＥｍｂｅｄｄｅｄ（埋め込み時成功）。
ｈ．挙動木のグローバルエミッタが事象を発生させた時に、それが修飾している挙動を成功させるＳｕｃｃｅｅｄＯｎＥｖｅｎｔ（事象時成功）。
ｉ．オーディオ発話認識を実施し、その結果を規則ファイルに従って構文解析するＳｕｃｃｅｅｄＯｎＬｉｓｔｅｎ（傾聴時成功）
ｊ．オーディオ発話認識を実施し、その結果を規則ファイルに従って構文解析して適用するＳｕｃｃｅｅｄＯｎＬｉｓｔｅｎＪｓ（傾聴時成功Ｊｓ）
ｋ．指定時間量の後に、それが修飾している挙動を強制的に失敗させるＴｉｍｅｏｕｔＦａｉｌ（タイムアウト失敗）。
ｌ．指定時間量の後に、それが修飾している挙動を強制的に成功させるＴｉｍｅｏｕｔＳｕｃｃｅｅｄ（タイムアウト成功）。
ｍ．指定時間量の後に、それが修飾している挙動を強制的に成功させるＴｉｍｅｏｕｔＳｕｃｃｅｅｄＪｓ（タイムアウト成功Ｊｓ）。
ｎ．構成要素が首尾良く成功した後に条件を評価することになるＷｈｉｌｅＣｏｎｄｉｔｉｏｎ（Ｗｈｉｌｅ条件）。評価中の条件が満たされた場合に、この構成要素が再度開始される。条件が満たされなかった場合に、構成要素のステータスが、この修飾子を起動した関数に送出される（戻される）。
【０４９０】
図３１を参照すると、条件が満たされるまでＳｅｑｕｅｎｃｅ挙動が始まるのを阻止するＣａｓｅ修飾子の例示的かつ非限定的実施形態が示されている。ＳｔａｒｔＯｎＡｎｉｍＥｖｅｎｔ修飾子は、ＰｌａｙＡｎｉｍａｔｉｏｎ挙動でのカメラアニメーションが事象を発生させるまでＴａｋｅＰｈｏｔｏ挙動が始まるのを阻止する。
【０４９１】
図３２を参照すると、技能の主挙動木のユーザインタフェースレンダリングの例示的かつ非限定的実施形態が示されている。
【０４９２】
各技能は、デフォルトで主挙動木を含む。この挙動木は、技能が実行される時に実行される挙動木である。技能の中でｍａｉｎ．ｂｔが参照するための追加の挙動木を生成することができる。
【０４９３】
挙動は、別途指定しない限り挙動木の最上位から最下位に実行される。
【０４９４】
図３３を参照すると、Ｓｅｑｕｅｎｃｅ親の子であるＰａｒａｌｌｅｌ親の子としてのＴｅｘｔＴｏＳｐｅｅｃｈ葉挙動の例示的かつ非限定的実施形態が示されている。ＴｅｘｔＴｏＳｐｅｅｃｈ挙動は、ＳｔａｒｔＯｎＡｎｉｍＥｖｅｎｔ修飾子と説明とを有し、挙動木に追加することができる３つのタイプの挙動、すなわち、親挙動、葉挙動、及び修飾子がある。
【０４９５】
親挙動は、子挙動を有することができる。子は、葉挙動又は他の親の挙動とすることができる。
【０４９６】
挙動エディタには以下の４つの親挙動がある。
ａ．Ｓｅｑｕｅｎｃｅ（シーケンス）：その子を最上位から最下位への順序で実行する。
ｂ．Ｐａｒａｌｌｅｌ（並列）：その子を一斉に実行する。
ｃ．Ｓｗｉｔｃｈ（切り換え）：最上位から最下位に向う中で成功した最初の子を実行する。
ｄ．Ｒａｎｄｏｍ（ランダム）：その子のうちの１つをランダムに実行する。
【０４９７】
一部の実施形態では、葉挙動は、他の挙動を含むことができない。葉挙動は、オーディオファイルを再生すること又はＰＣＤに発声させることのような単一アクションを実行する。
【０４９８】
図示のように、修飾子は、挙動が開始、成功、又は失敗する時を変更する。修飾子は、挙動を再開することができる。
【０４９９】
図３４を参照すると、測定可能条件に基づいて挙動の状態を変更するように構成された修飾子の例示的かつ非限定的実施形態が示されている。
【０５００】
図３５を参照すると、挙動の引数を指定するためのユーザインタフェースの例示的かつ非限定的実施形態が示されている。
【０５０１】
挙動木内で挙動が選択された状態で、その挙動に対して利用可能ないずれかの引数が挙動引数内に現れる。引数ペイン内で修飾子が選択された状態で、修飾子引数ペイン内に当該修飾子に対するいずれかの引数が現れる。
【０５０２】
挙動エディタ内には３タイプの引数がある。
ａ．文字列
ｂ．ファイル
ｃ．整数
ｄ．数字
ｅ．ｅｎｕｍ
ｆ．ブール
ｇ．関数
ｈ．ＳＳＭＬ部分集合
【０５０３】
アニメーション及びアニメーションエディタ
例示的かつ非限定的実施形態により、ＰＣＤのアニメーションシステムは、モータ、照明リング、及び眼グラフィックなどを含むロボットの身体を通して表現出力を調整する役割を受け持つことができる。システムは、スクリプト式アニメーションの再生、並びに表現的注視挙動及び方位設定挙動をサポートすることができる。更に、システムは、姿勢から姿勢へ、又は１つのアニメーション又は表既存動の終了から次のものに滑らかに移行することを保証する。
【０５０４】
構成にわたるビルダ及びインスタンスのライフサイクル、起動、及び実行／制御の図を描く図３６を参照すると、ビルダは、構成情報及び他のデータを格納するために使用することができ、次に、有効インスタンスハンドルをもたらすために使用する（更に再度使用する）ことができるビルダ及びインスタンスのいくつかの例は、ＡｎｉｍａｔｉｏｎＩｎｓｔａｎｃｅ（アニメーションインスタンス）をもたらすＡｎｉｍａｔｉｏｎＢｕｉｌｄｅｒ（アニメーションビルダ）、ＬｏｏｋａｔＩｎｓｔａｎｃｅ（注視インスタンス）をもたらすＬｏｏｋａｔＢｕｉｌｄｅｒ（注視ビルダ）、及び「中間」運動をもたらすＴｒａｎｓｉｔｉｏｎＢｕｉｌｄｅｒ（移行ビルダ）などを含むことができる。ビルダ３６０２は、構成処理段階３６０４中に構成することができる。有効処理段階３６０８中に、ビルダ３６０２は、それが、例えば、現在のパラメータに基づいてビルダのインスタンス３６１０を生成する段階を開始することができる開始入力を受信することができる。実行／制御処理３６１２中に、ビルダ３６０２は、再使用されるように待機することができ、その間に、開始されたインスタンス３６１０は、ＰＣＤの作動要素にモータ／グラフィック／ＬＥＤの値を与える段階のようなアクションを実施することができる。実施形態では、開始されたビルダインスタンスは、一度しか使用することができない。
【０５０５】
ロボットの個々の自由度（ＤＯＦ）のマップ、ＤＯＦ値タイプ、及び共通ＤＯＦグループを提供する図を描く図３７を参照すると、アニメ化モジュールを通して同期される動的要素は、自由度として表すことができる。ＤＯＦは、ＰＣＤ  ＳＤＫのユーザが制御することができるアニメ化モジュールの最小分離可能ユニットを表すことができる。いくつかのＤＯＦは、ＰＣＤの身体モータの回転を制御し、他のＤＯＦは、ＬＥＤ照明リングの色チャネルを制御し、更に他は画面上の眼及びオーバーレイに関するグラフィックパラメータを制御する。ＤＯＦは個々に制御することができるが、一般的に他のＤＯＦとグループ分けされてＤＯＦセットに入れられる。例えば、ＳＤＫを通して利用可能なリソース内で共通使用ＤＯＦセットを提供する。図３７は、ロボットの個々のＤＯＦのマップ（イタリック体）、ＤＯＦ値タイプ、及び共通のＤＯＦグループ（大文字）を提示している。
【０５０６】
直近にトリガされたアニメ化インスタンスによる限定的ＤＯＦ所有ポリシーに従うアニメ化モジュールを描く図３８を参照すると、ＰＣＤ  ＳＤＫのアニメ化モジュールは、直近にトリガされたインスタンスによる限定的ＤＯＦ所有ポリシーに従うことができる。図３８では、ロボットの身体、ＬＥＤ、及び眼を制御しているインスタンスＡは、ＰＣＤの身体ＤＯＦのみを制御するように構成されたインスタンスＢによる割り込みを受ける。インスタンスＢは、トリガされるや否や、ロボットの身体の制御だけを引き受け、一方、インスタンスＡは、ロボットのＬＥＤ及び眼を制御し続ける。ＤＯＦ制御の様々な他の組合せ及び重複インスタンスが本明細書に組み込まれている。
【０５０７】
ビルダ３６０２によって与えられるアニメーションのビルダインスタンス３６１０によってどのＤＯＦが制御されるかを決定することに加えて、ｓｅｔＳｐｅｅｄ（速度設定）３９０２、ｓｅｔＮｕｍＬｏｏｐｓ（ループ数設定）３９０４、又は関連の方法を含む図３９に示すもののようなパラメータ又は引数によってアニメーション作動制御を調節することができる。
【０５０８】
アニメーション間のトランザクションを構成する段階を描く図４０を参照すると、この移行は、アニメ化された１つの挙動の終了から次のものの開始への滑らかな運動を保証する。アニメーションを構成するためにＰＣＤ  ＳＤＫのユーザによってＡｎｉｍａｔｉｏｎＢｕｉｌｄｅｒ（アニメーションビルダ）４００２のインスタンスが選択された状態で、ＳＤＫは、選択されるアニメーションの開始までの移行運動４００４をＰＣＤの現在状態（例えば、その身体状態）から自動的に生成することができる。この移行運動は、図４０に示すように、アニメーションインスタンスの前に技能フロー内に挿入することができる。移行運動は、ＰＣＤの現在状態と選択されるアニメーションのためのＰＣＤ状態とが既に十分に位置合わせされている場合は、短い永続時間を（又はゼロの永続時間さえも）有することができる。
【０５０９】
例示的かつ非限定的実施形態により、ＰＣＤ  ＳＤＫのＡｎｉｍａｔｉｏｎＢｕｉｌｄｅｒ４００２の関数は、それによって定められているアニメーションに向うインバウンド移行を生成するために使用することができるシステムデフォルトＴｒａｎｓｉｔｉｏｎＢｕｉｌｄｅｒ４００４を用いて事前構成された状態で届けることができる。このデフォルト挙動は、ビルダのｓｅｔＴｒａｎｓｉｔｉｏｎＩｎ（インバウンド移行設定）関数によって変更することができる。この関数は、ａｎｉｍａｔｉｏｎＢｕｉｌｄｅｒ．ｓｅｔＴｒａｎｓｉｔｉｏｎＩｎ（ｔｒａｎｓｉｔｉｏｎＢｕｉｌｄｅｒ）のような指令によって又はＳＤＫのユーザインタフェースを通して設定することができる。ＳＤＫは、少なくとも２つの基本形式の移行ビルダを提供することができる。例えば、ＬｉｎｅａｒＴｒａｎｓｉｔｉｏｎＢｕｉｌｄｅｒ（線形移行ビルダ）は、単純な線形合成を用いて移行運動を生成することができ、それに対してＡｃｃｅｌｅｒａｔｉｏｎＴｒａｎｓｉｔｉｏｎＢｕｉｌｄｅｒ（加速移行ビルダ）は、構成可能な加速制限に従う運動を生成することができる。移行ビルダは、ゼロから生成する又は既存の移行を複製して変更することによって生成することができ、ＳＤＫは、移行を生成し、カスタム化するこれらのモードのうちのあらゆるものを容易にすることができる。
【０５１０】
例示的コアアニメーション事象のタイミングを描く図４１を参照すると、例えば、アニメーションシーケンスの再生を含むことができる本明細書に説明するアニメーションのインスタンスのようなアニメーションは、ＳＴＡＲＴＥＤ（開始）、ＳＴＯＰＰＥＤ（停止）、及びＣＡＮＣＥＬＬＥＤ（キャンセル）、更に、他のカスタム事象を含むいくつかの異なる事象を通してモニタすることができる。有効アニメーションインスタンスをモニタするための事象リスナーは、ＡｎｉｍａｔｉｏｎＢｕｉｌｄｅｒの事象傾聴機能を用いてインストールすることができる。図４１の例では、適用可能な場合に、いずれかのインバウンド移行運動の完了後に、アニメーションインスタンスが始まる時にＳＴＡＲＴＥＤ事象が発射される（例えば、アニメーション−時間０において事象が発射される）。アニメーションインスタンスが完了するか又は完全に中断された状態で、ＳＴＯＰＰＥＤ事象が発射される。これらの場合を区別するためにＳＴＯＰＰＥＤ事象の中断特性を検査することができる。一例として、新しくトリガされたインスタンスが現在実行中のアニメーションを切断した場合又は現在実行中のアニメーションの停止方法がアニメーションの終了前に実行された場合に、ｐａｙｌｏａｄ．ｉｎｔｅｒｒｕｐｔｅｄ＝＝＝ｔｒｕｅ（ペイロード．中断＝真）が成り立つ。アニメーションインスタンスが削除された場合又はＳＴＡＲＴＥＤが行われることもなくその前に完全に中断された場合にＣＡＮＣＥＬＬＥＤ事象が発射される。
【０５１１】
アニメーションは、事象がロボットのＤＯＦのうちの少なくとも１つを制御する状態に留まる限り、これらの事象を生成し続けることができる。特定のアニメーションに対するＤＯＦが残ってない時にはＳＴＯＰＰＥＤ事象が発射される。従って、複数のアニメーションインスタンスが同時に事象を生成することが一般的である。図４２は、２つの重複アニメーションインスタンスによって生成される事象のタイムライン４２０２を示している。アニメーションＡ４２０４は、身体、ＬＥＤ、及び眼に対するＤＯＦを制御する。アニメーションＢ４２０８は身体ＤＯＦしか制御せず、従って、アニメーションＡの身体ＤＯＦを中断させるが、アニメーションＡのＬＥＤ又は眼のアニメーションは中断させない。事象４２０２は、アニメーションＡ４２０４のＬＥＤ及び眼のＤＯＦに対して生成され、それに対してアニメーションＢ４２０８は身体ＤＯＦに対する事象を生成する。
【０５１２】
凝視方位構成インタフェースの例を描く図４３及び図４４を参照すると、これらの図は、ＰＣＤによって凝視及び方位設定を実施するアニメ化機能を構成して作動させる方法及びシステムの機能を表している。ＰＣＤの凝視及び方位設定は、表現的凝視挙動を生成するためにトリガすることができる。これらの挙動を用いて、ＰＣＤの身体及び／又は眼を周囲環境内の着目の場所に表現的に向けることができる。
【０５１３】
凝視挙動は、アニメーションと類似の方式で管理することができる。挙動トリガは、ＬｏｏｋａｔＢｕｉｌｄｅｒオブジェクトを用いて達成することができる。最初に、ｃｒｅａｔｅＬｏｏｋａｔＢｕｉｌｄｅｒ（注視ビルダ生成）方法を用いてビルダを生成する。次に、ビルダを任意的に構成することができる。最終的に、ビルダのｓｔａｒｔＬｏｏｋａｔ（注視開始）方法を通して挙動のインスタンスがトリガすされる。
【０５１４】
凝視挙動は、単一ショットモード又は連続モードという２つのモードの一方で作動させることができる。この連続モードは、ビルダのｓｅｔＣｏｎｔｉｎｕｏｕｓＭｏｄｅ（連続モード設定）方法を通して構成することができる。単一ショットモードでは、凝視挙動はスクリプト式アニメーションとよく似ており、ロボットの方位を選択されるゴールに向けて形成し、次に、ゴールに到達すれば一度停止する。連続モードでは、挙動は、それ自体で停止せず、ターゲット場所は、インスタンスのｕｐｄａｔｅＴａｒｇｅｔ（ターゲット更新）方法を用いて繰り返し変更することができる。この変更は、顔追跡又はＰＣＤが動くターゲットを追従する他の状況に対して有利とすることができる。図４３は、単一ショットモードの凝視作動を構成する段階を示している。連続モードでは、ターゲットポイントは、いつでも更新することができる。図４４は、２つの異なる凝視ゴール間で３秒毎に切り換えるためにＬｏｏｋＡｔ関数を有するＰＣＤ  ＳＤＫを用いたカスタムコードを含める段階を示している。
【０５１５】
図４５を参照すると、この図は、凝視ＡＰＩにゴールを提供するソフトウエア開発キットによって参照される社会ロボットの３次元座標系が、時々に３Ｄベクトルとの整合を行うことを必要とする場合があることを示している。３Ｄベクトル数値計算及び他の線形代数演算に対してｐｒｅｃｏｎＦｉｇｕｒｅｄ（事前構成）モジュールを使用するのが好ましい場合がある。ｌｅｔ  ｔａｒｇｅｔ＝ｎｅｗ  ａｎｉｍａｔｅ．ＴＨＲＥＥ．Ｖｅｃｔｏｒ３（１．０，０．０，１．０）（ゴール＝新しいアニメ化．３．ベクトル３（１．０，０．０，１．０）とする）という例を通して新しい３Ｄベクトルオブジェクトを生成することができる。実施形態では、ＰＣＤは、ロボットのベースの中心に原点を有する３Ｄ座標系を使用することができる。ＰＣＤから見ると、図４５の模式図に示すように正のＸ軸４５０４は前に向き、正のＹ軸４５０８は左に向き、正のＺ軸４５１０は上に向く。
【０５１６】
アニメーションを編集するためのソフトウエア開発キットのユーザインタフェースを描く図４６を参照すると、このインタフェースを通してアニメーションを生成することができる。アニメーションを構成し、個々のアニメーションファイルに格納することができる。図４６に記載のアニメーションエディタは、身体ペイン４６０２と、眼ペイン４６０４と、タイムラインペイン４６０８とを含むことができる。各ペインはズームすることができ、各ペインの色は変更することができ、アニメーションエディタのペインはリセットすることができる。身体ペイン４６０２は、ポイント機能、クリック機能、及びドラッグ機能によって身体セグメントの直接制御を容易にする。
【０５１７】
タイムラインペイン４６０８は、毎秒３０フレームのフレームレートでの３０フレームのデフォルトアニメーションを調節することによってアニメーションの長さを調節するために使用することができる。タイムラインペイン内のタイムラインは、２倍及び類似の倍数等だけスケーリングすることができる。キーフレームパラメータを設定することによってタイムライン内のある一定のフレームをロックすることができる。タイムラインペイン４６０８内のフレームは、カット、ペースト、コピー、及び削除などのような指令を用いて編集することができる。タイムライン上のフレームは、身体ペイン４６０２及び／又は眼ペイン４６０４が、タイムラインペイン４６０８内で選択されるアニメーションフレームシーケンスを描くことができるようにシミュレーション機能によって作動させることができる。シミュレーションは、連続的、一度に１つのフレーム、又は停止指令が入力されるまで、及び類似の方式で作動させることができる。
【０５１８】
アニメーションエディタは、層を用いてアニメーションの生成を可能にする。層に対してアニメーションを生成するために、アニメーションエディタ内でこの層が選択される。
【０５１９】
一部の場合に、同じタイプの複数の層が合成されることになる。いくつかの層は加算的である。例えば、ＰＣＤの眼を１だけ上に移動する層と眼を２だけ下に移動する層とが合成されて眼を１だけ下に移動するアニメーションが提供されることになる。他の層は乗算的である。例えば、ＰＣＤの眼を３倍スケーリングする層とＰＣＤの眼を２倍スケーリングする層とが合成されてＰＣＤの眼を６倍スケーリングするアニメーションが提供されることになる。合成されない層は、最上位層上に適用されるアニメーションにデフォルト設定される。
【０５２０】
図４７は、ＰＣＤの制限の違反を示すことができる画面を表示している。アニメーションを生成する時に、実施するようにＰＣＤに見出す移動がＰＣＤにそのモータの内部ハードウエア制限を超えさせることになる場合に、ＰＣＤが過度に迅速に動くフレームは赤色４７０２に変わり、特性ペイン４７０４内にエラーメッセージが現れることになる。アニメーションエラーは、移動が加速度制限又は速度制限を違反した場合に発生する場合がある。これらのメッセージは警告に過ぎない。ＰＣＤは、これらの移動を依然として実施しようと試みる可能性があるが、ハードウエアは、これらの移動をサポートすることができない場合がある。制限は、全ての身体層の加算的累積に基づいている。例えば、身体層上に過度に速いキーフレームが追加されるが、別の身体層上で相殺された場合に、得られるアニメーションは許容され、エラーは現れないことになる。制限を超えた場合に、あらゆる身体層が原因又は解決である可能性があるので、全ての身体層上の影響を受ける全ての区域内に警告が現れる。制限違反を修正するために、キーフレーム間でＰＣＤが動く度数を低減するか、又はキーフレーム間のフレーム数を増加するかのいずれかを行うことができる。
【０５２１】
本明細書ではフレーム間の運動の処理を「ツイーニング」と呼ぶ。例えば、線形ツイーンは、ＰＣＤの身体をキーフレーム間で一様のペースで移動することになる。アニメーションツイーンは、自然な移動を模倣するためにキーフレームの内外にイーズイン及び／又はイーズアウトするように調節することができる。ツイーニングは、アニメーションが適用されたキーフレームから次の設定キーフレームに（タイムライン上で左から右に）アニメーションがどのように動くかに影響を及ぼす。
【０５２２】
社会ロボットの代表的な眼画像を制御するために眼層を構成するためのユーザインタフェースを描く図４８を参照すると、このユーザインタフェースを用いて、ＰＣＤの眼のサイズ、位置、形状、及び回転を操作することができる。ツイーニングは、眼アニメーションに適用することができる。ＰＣＤの眼には、サイズ変更、制約付き比率を用いた又は用いないスケーリング、形状変更、及び回転などを加えることができる。図４８のユーザインタフェースは、ポイント機能、クリック機能、及びドラッグ機能によって眼の直接制御を容易にする。
【０５２３】
社会ロボットの代表的な眼画像のテクスチャ態様を制御するために眼テクスチャ層を構成するためのユーザインタフェースを描く図４９を参照すると、このユーザインタフェースを通して眼の色及びテクスチャを構成することができる。ＰＣＤ眼層構成ユーザインタフェースは、身体ペイン４９０２と眼ペイン４９０４とタイムラインペイン４９０８とを含むことができる。身体ペイン４９０２内にアニメーションのシミュレーションを描くことができ、このシミュレーションは、身体、照明リング、眼、及びオーディオのシミュレーションを含むことができる。眼ペイン４９０４は、少なくとも色及びテクスチャのアニメーションを含む眼４９１０のアニメーションの制御とシミュレーションの両方を可能にすることができる。色は、アニメーションのフレームからフレームにＲＧＢ空間を通して内挿され、加算的なものとすることができる。色をテクスチャの上に合成することができ、従って、デフォルトの白色ではない眼テクスチャを構成することにより、下層のテクスチャの色の影響に起因して各色がどのように示されるかが影響を受けることになる。
【０５２４】
図５０を参照すると、社会ロボットの代表的な眼画像を制御するために眼オーバーレイ層を構成するためのユーザインタフェースが示されている。ユーザインタフェースは、身体ペイン５００２と眼オーバーレイペイン５００４とタイムラインペイン５００８とを含むことができる。オーバーレイ層は、ＰＣＤの眼の前面にあるＰＣＤの画面上に現れる。オーバーレイは、眼オーバーレイユーザインタフェース内で変更することができる。このユーザインタフェース内では、ｘ値は右に増加し、ｙは画面の中心から下に増加し、この中心はデフォルトで眼の中心であり、（ｘ＝０，ｙ＝０）．に位置付けられる。オーバーレイは、実質的に眼と等しく構成され、同じ特性の実質的に全てを含む。眼オーバーレイ層コンテンツは、デフォルトでＰＣＤの眼の前面に現れるが、この登場は、テクスチャを交換すること（すなわち、眼テクスチャを眼オーバーレイテクスチャと交換すること）によって実質的に逆転させることができる。眼オーバーレイ層は、眼とは無関係に追加し、削除し、移動し、繋ぐことができ、制約付き比率を用いて又は用いずにサイズ変更し、形状変更し、回転させることができる。
【０５２５】
社会ロボットの代表的な眼画像を制御するために眼オーバーレイテクスチャ層を構成するためのユーザインタフェースを描く図５１を参照すると、眼オーバーレイに対するテクスチャを構成することができる。図５１のユーザインタフェースは、オーバーレイのテクスチャを変更すること及びオーバーレイの色を変更することなどを可能にする。異なる層上のテクスチャを合成することはできないが、ＲＧＢ空間を通して色を合成することができ、加算的なものとすることができる。オーバーレイが有色テクスチャを有する場合に、色の操作をテクスチャの色と合成することもできる。
【０５２６】
社会ロボットの代表的な眼画像の背景を制御するために背景層を構成するためのユーザインタフェースを描く図５２を参照すると、表示背景層テクスチャを構成することができる。背景テクスチャ層は、眼の背後のＰＣＤ画面上に現れることができる。背景テクスチャ、並びに背景テクスチャの色は、変更することができる。
【０５２７】
社会ロボットの身体セグメントの周りに配置されたＬＥＤを構成するためのユーザインタフェースを描く図５３を参照すると、ＬＥＤは、点灯／消灯、点灯強度、点灯色、色温度、彩度、及び変化速度などのような態様に関して制御することができる。これらの要素は、図５３に記載のＬＥＤ構成ユーザインタフェース内で選択及び／又は入力することができる。
【０５２８】
上記では、事象を停止、開始、及び中断などに対するアニメーション作動制御に関して説明した。眼、身体、ＬＥＤ、及び他の層に加えて、事象層をＰＣＤ  ＳＤＫユーザインタフェースを通して構成及び／又はカスタム化することができる。図５４は、事象を事象名と事象の起動時に関連のアニメーションの条件を試験するためのペイロードとのような情報を用いて構成するためのユーザインタフェースを示している。事象はまた、アニメーションを本明細書で図２７〜図３５を参照して説明した挙動とリンクさせることができる。特定のアニメーションフレーム中に発生する挙動を生成するために、最初に事象が生成される。事象は、アニメーションと挙動をリンクさせる。本明細書に含まれる挙動エディタ内容は、挙動ツール内で事象をどのように使用するかを説明している。複数の事象層が可能である。全ての事象が実行されることになり、同じフレームに設定された事象は、最上位層から最下位層への順序で実行されることになる。
【０５２９】
オーディオ事象層を構成するためのユーザインタフェースを描く図５５を参照すると、オーディオファイル又は他のコンテンツをアニメーションに関連付けられたことによってアニメーションにオーディオを追加することができる。オーディオ事象層ユーザインタフェースはまた、アニメーションに関連付けるためのオーディオファイルの一部分をユーザが選択することを可能にするスクラバーアイコンのような制御器を含む。
【０５３０】
発話認識及び発話エディタ
図５６を参照すると、ＰＣＤ  ＳＤＫ発話規則エディタ５６００内で生成される「ｒｅｓｅｒｖａｔｉｏｎｓ．ｒｕｌｅ（予約．規則）」と呼ぶ発話規則の例示的かつ非限定的実施形態が示されている。
【０５３１】
ＰＣＤは、自然言語理解（ＮＬＵ）を示している。ＰＣＤは、以下の２タイプの発話認識規則を認識することができる。
ａ．埋め込み規則−ＰＣＤが得て傾聴することができる組み込みフレーズ。
ｂ．カスタム規則−カスタムフレーズ又はワードに関して傾聴するようにＰＣＤに命令するために開発者によって符号化される規則。
【０５３２】
埋め込規則はＳＤＫの中に組み込まれる。更に、フレーズ検出がＰＣＤのソフトウエア内に組み込まれ、従って、発話を処理するためにクラウドに接続する必要はない。
【０５３３】
例えば、誰かが「やあ、ＰＣＤ」と言った時に何かをするようにＰＣＤに伝えるために、ＬｉｓｔｅｎＥｍｂｅｄｄｅｄ（埋め込み傾聴）挙動又はＳｕｃｃｅｅｄＯｎＥｍｂｅｄｄｅｄ（埋め込み時成功）修飾子を用いて「やあ、ＰＣＤ」を引数内のｒｕｌｅＮａｍｅ（規則名）として指定することによってそれを行うことができ、ＰＣＤは、誰かが「やあ、ＰＣＤ」と言うのを聞いた時に文字列「やあ、ＰＣＤ」を戻すことになる。
【０５３４】
ＰＣＤ  ＳＤＫは、話者が「やあ、ＰＣＤ」と言うのを認識する規則のような１又は２以上の規則が予備ロードされた状態で届けることができる。ＰＣＤは、これらの規則に関して傾聴するように構成された状態で届けることができ、規則の符号化は必要ではない。
【０５３５】
図５７を参照すると、誰かが「やあ、ＰＣＤ」と言うまでアイドル状態にあり、その時点でＰＣＤがアイドル状態を停止してテキスト発話変換を用いて挨拶をする例示的かつ非限定的実施形態が示されている。
【０５３６】
ＰＣＤに、埋め込み規則を通して利用可能であるもの以外の何かに関して傾聴させるためにカスタム規則を生成することができる。この生成は、それをもたらすのに例えばＬｉｓｔｅｎ挙動、ＬｉｓｔｅｎＪｓ挙動、ＳｕｃｃｅｅｄＯｎＬｉｓｔｅｎ修飾子、又はＳｕｃｃｅｅｄＯｎＬｉｓｔｅｎＪｓ修飾子を使用することによって達成することができる。
【０５３７】
発話規則の論理は、ＰＣＤが聴覚入力に関して傾聴し、聞いたものに基づいて文字列変数を戻すという単純なものである（現時点では、ＳＤＫ内の発話規則は、ＰＣＤが数字を聞いた場合であっても文字列値しか戻さない。数字及び整数を戻すことに対するサポートは近々行われる予定である）。例えば、「ブッキング」と言う文字列変数を生成し、ＰＣＤが「フライト」というワードを聞いた場合に「航空便」という文字列を戻し、「ホテル」というワードを聞いた場合に「宿泊」というワードを戻すようにＳＤＫに伝えることができる。更に進行して、ＰＣＤが「フライト」、「航空便」、「飛行機」、又は「航空機」というワードを聞いた場合に「航空便」という文字列を戻し、「ホテル」、「モーテル」、「部屋」、又は「スイート」を聞いた場合に「宿泊」を戻すようにＳＤＫに伝えることができる。
【０５３８】
発話規則を設計する時に、（１）達成するのに何が必要であるかをＰＣＤが理解するためにどの変数を戻されるか、及び（２）ＰＣＤユーザがこの情報をワードで表現するのに使用する可能性がある異なる方法という２つの事柄を考慮することが重要である。
【０５３９】
一般的に、カスタム発話規則は、以下のようなものに見える。
【０５４０】
ＴｏｐＲｕｌｅ＝（
【０５４１】
（ｐｈｒａｓｅ  ｔｏ  ｌｉｓｔｅｎ  ｆｏｒ）｛ｒｅｔｕｒｎ_ｖａｒｉａｂｌｅ＝’ｓｔｒｉｎｇ’｝（傾聴するフレーズ）｛戻り変数＝’文字列’｝
【０５４２】
｝；
【０５４３】
又は、例えば、
【０５４４】
ＴｏｐＲｕｌｅ＝（
【０５４５】
ｒｅｓｅｒｖｅ  ｍｅ  ａ  ｆｌｉｇｈｔ  ｛ｂｏｏｋ＝’ａｉｒ’｝フライトを予約して｛ブッキング＝’飛行便’｝
【０５４６】
）；
【０５４７】
上述の例では、ＰＣＤは、「フライトを予約して」というフレーズに関して傾聴する。ＰＣＤが確かにこのフレーズを聞いた場合に、ＳＤＫは「航空便」という値を有する「ブッキング」という名称の変数を戻す。しかし、これは非常に有利というわけではない。上記にもう少し複雑さを追加するために規則を拡張する。単に「フライト」に関して傾聴する代わりに、ＰＣＤが更に「ホテル」に関して傾聴するというオプションを追加する。コードの中で標準のＯＲ論理を使用することができる。
【０５４８】
ＴｏｐＲｕｌｅ＝（
【０５４９】
ｒｅｓｅｒｖｅ  ｍｅ  ａ予約して
【０５５０】
ｆｌｉｇｈｔ｛ｂｏｏｋ＝’ａｉｒ’｝｜ｈｏｔｅｌ｛ｂｏｏｋ＝’ｌｏｄｇｉｎｇ’｝フライト｛ブッキング＝’飛行便’｝｜ホテル｛ブッキング＝’宿泊’｝
【０５５１】
）；
【０５５２】
この時点で、ＰＣＤは、「フライト」又は「ホテル」のいずれかに続いて「予約して」に関して傾聴する。
【０５５３】
下記の表は、ＳＤＫが上述の規則を用いて様々な発声入力に対して何を戻すことになるかを示している。
【０５５４】
（表）
2019521449.tif 000004
【０５５５】
Ｌｉｓｔｅｎ挙動及びＳｕｃｃｅｅｄＯｎＬｉｓｔｅｎ修飾子は、規則ファイルが選択されるファイル引数を取得する。
【０５５６】
図５８を参照すると、「．ｒｕｌｅ」形式のファイルを用いてＰＣＤに対するカスタム傾聴規則を生成する例示的かつ非限定的実施形態が示されている。
【０５５７】
図５９を参照すると、「やあ、ＰＣＤ」に関して傾聴するようにＰＣＤに伝える例示的かつ非限定的実施形態が示されている。
【０５５８】
図６０を参照すると、ＪａｖａＳｃｒｉｐｔを用いてＰＣＤに対する動的傾聴規則を生成する例示的かつ非限定的実施形態が示されている。
【０５５９】
ＭＩＭ
自然な言語対話を模倣するために、ＰＣＤ  ＳＤＫは、変動性を導入し、エラーを処理し、更に音声ユーザインタフェース（ＶＵＩ）対話及びグラフィックユーザインタフェース（ＧＵＩ）対話を調整するための機能を構成する段階及び使用する段階を容易にする。ＰＣＤ  ＳＤＫは、開発者から負担を取り除き、技能にわたって一貫性を与えるためにマルチモーダル対話モジュール（ＭＩＭ）を提供する。名称が示す通りに、ＭＩＭは、音声（ＶＵＩ）モード及びタッチ画面（ＧＵＩ）モードを含む１よりも多いモードを有する対話を処理する。「この写真を共有したいですか？」のような質問で促された時に、予想されるのは、ユーザが、「イエス」ということ又はＰＣＤのタッチ画面上のボタンを軽く叩くことのいずれかによって答える可能性があるということである。ＭＩＭ挙動は、ＭＩＭタイプ（例えば、質問、告知、及び任意的な応答など）、ユーザの発言を構文解析するのに使用される発話認識、テキスト発話変換（ＴＴＳ）プロンプト、オーディオ入力が予想されるが受信されない（例えば、ユーザがプロンプトに応答しなかった）場合のプロンプト、及び不整合なプロンプト応答などを含む様々なパラメータにわたって構成された状態機械を含む。マルチモーダル対話モジュール（ＭＩＭ）は、テキスト発話変換（ＴＴＳ）挙動を定められた方式でより柔軟にするように設計される。ＰＣＤ  ＳＤＫ  ＭＩＭエディタは、ＴＴＳプロンプトを発話認識規則ファイル及びＡＰＩ入力と整合させることを可能にする。
【０５６０】
ＭＩＭエディタを描く図６１を参照すると、ユーザはＭＩＭを様々な手法で構成することができる。言語対話を自然な感じにするために、ＭＩＭは、あらゆる数のプロンプトを用いて構成することができる。ＭＩＭ挙動は、実行された時に、適切なカテゴリから利用可能なプロンプトのうちの１つを選択する。プロンプトは、ランダムに、又は条件フィールド内に与えられた論理部を用いて選択することができる。
【０５６１】
例えば、複数の入力コアプロンプトを利用可能なデータに基づいてこれらのプロンプトをフィルタリングする条件フィールドを用いて定めることができる。この例では、ＰＣＤが話者を識別しなかった状況に適する２つの入力コアプロンプト（入力−１及び入力−３）がある。これらの場合に、ＰＣＤは、２つの一方をランダムに選択することになる。しかし、話者が識別された場合に、ＰＣＤは入力−２プロンプトを使用することになる。あらゆるＭＩＭに対して任意の個数のプロンプト＋条件を定めることができるので、開発者は、言語対話による対話に多くのプロンプト変動性を追加するための簡単な手法を有する。
【０５６２】
ＭＩＭ構成においてサンプル発言を定めることにより、ＰＣＤは、音声対話に対する代替物として使用することができるグラフィックユーザインタフェース（ＧＵＩ）を自動的に生成することができる。図６１に記載のＣｈｅｃｋＬｉｇｈｔｓ（照明検査）ＭＩＭは、「イエス・ノー」規則を用いてユーザの発言を処理する。サンプル発言として「イエス」及び「ノー」を与えることにより、ＰＣＤは、その画面上に「イエス」及び「ノー」のタッチ画面ボタンを提供することができる。これらのボタンを軽く叩くことで、「イエス」又は「ノー」と言うのと同じ結果がもたらされる。この例では、Ｔｒｉｇｇｅｒ  ＧＵＩ（ＧＵＩをトリガ）フィールドへのＦａｉｌｕｒｅ（失敗）は１に設定される。それにより、ＮｏＭａｔｃｈ（不適合）エラーが存在する場合、すなわち、話者がＰＣＤと音声を通してコミュニケーションすることに問題を有する場合にのみＧＵＩを提供することがＰＣＴに伝えられる。この値が０に設定された場合に、ＰＣＤはＧＵＩを常に提供することになる。
【０５６３】
本明細書に説明する傾聴挙動のように、ＭＩＭは、ユーザの発言を構文解析するために発話認識規則を用いて構成される。ＰＣＤの自動発話認識（ＡＳＲ）システムがユーザの発言の転写を戻すと、この転写はＰＣＤの盤上自然言語理解（ＮＬＵ）構文解析プログラムに渡される。発言のセマンティクス的意味を決定するために、構文解析プログラムは、ＭＩＭに関する規則ファイル内に定められたパターンを探す。規則は、複数の応答がＭＩＭの予想に準拠することを可能にする規則構文に準拠することができる。一例では、規則は、「イエス」と言う予想応答が「そうですね」及び「僕はいいよ」などを含むことができるように構成することができる。
【０５６４】
図６２は、ＭＩＭ規則を編集する段階を容易にするＰＣＤ  ＳＤＫのユーザインタフェースを示している。フレーズを入力フィールド６２０２内にタイプ入力することにより、規則ペイン６２０４内の所与の規則に対する結果オブジェクトが結果ペイン６２０８内に表示される。
【０５６５】
人間対人間の言語対話の場合と全く同じように、ＰＣＤとの音声対話は、時として誤解及び認識エラーを含むことになる。ＭＩＭは、これらのエラーから可能な限り自然に復帰する。上述のように、ＭＩＭは、ＰＣＤが、質問を出すが返答の意味を理解することができなかった場合に、ＰＣＤが応答するための手法を定める。ＮｏＩｎｐｕｔ（無入力）プロンプト及びＮｏＭａｔｃｈ（不適合）プロンプトを定めることにより、ＰＣＤは、質問を問い直す及び／又は表現し直す適切な手法を有する。
【０５６６】
ＰＣＤ  ＳＤＫはまた、ＭＩＭのためのＡＰＩを含む。このＡＰＩは、応答が予想されるが受信されない時の中断を可能にすることができる。ＭＩＭの様々な機能を入力文字列、適合文字列、不適合文字列、繰り返し、感謝文字列、及び冗長応答文字列などを含むＡＰＩによって制御することができる。
【０５６７】
フロー
ＰＣＤは、フロー実行器活動、ＭＩＭ活動、及び挙動のような活動から構成される制御フローの使用によって作動させることができる。図６３は、ＰＣＤ  ＳＤＫの例示的フローエディタを示している。ＰＣＤ制御フローは、ＰＣＤ上で実行されるフローエンジンが解釈することができる。ＰＣＤ  ＳＤＫは、流れ図様の方式でロボット技能を生成及び編集するためのフローエディタツールを含む。フローは、フローエディタツール内で活動を追加すること及び活動に対する制御によって構成することができる。これらの制御をフロー実行器活動と呼び、これらは、フロー内の活動を制御するのに使用される。フロー実行器活動は、フローを開始する段階、並列フローを実行する段階、フローを終了する段階、別のフローにアクセスする段階、挙動木を実行する段階、フローを中断する段階、スロー及びキャッチを用いてフロー内の方々に飛ぶ段階、任意のＪａｖａＳｃｒｉｐｔを実行する段階、及び類似の段階を行うために使用することができる。フローに追加することができる他の活動は、ＭＩＭ活動及び挙動活動を含む。フローは、１つの活動の結果を用いて実施される次の活動を決定することを容易にする移行処理を含むことができる。
【０５６８】
実施形態では、ＰＣＤ  ＳＤＫを用いてＰＣＤを作動させるための技能及びアセットを生成することができる。技能を生成するための基本段階は、ＳＤＫユーザインタフェースを用いて新しい技能プロジェクトを開く段階、アニメーションを生成する段階、身体の移動、眼の活動、及びＬＥＤリング照明のような活動を実施するための挙動木を生成する段階、ＰＣＤが傾聴するように誘導する発話規則を生成する段階、ＰＣＤが発話規則を適用するのに応答してマルチモーダル対話を容易にするための１又は２以上のＭＩＭを生成する段階、ＰＣＤの表示画面上に表示するためのＧＵＩメニューを生成する段階、生成されたこれらの要素を活動のコヒーレントな連続フローにまとめ合わせたフローを生成する段階、技能を含む活動のフローが予想通りのものであることをシミュレータを用いて検証する段階、技能をＰＣＤにダウンロードする段階を含む。
【０５６９】
挙動エディタは、ＰＣＤ挙動の階層構造を構成する段階を容易にすることができる。挙動エディタは、ノード、葉、及び親挙動などで構成することができる挙動木構造に基づいてＰＣＤの挙動活動を制御する段階を容易にすることができる。挙動エディタは、挙動を順次及び並列のうちの少なくとも一方で順序付けする階層構造挙動木でＰＣＤ挙動を構成する段階を容易にすることができる。挙動木は、ＰＣＤがリソース及び意志決定処理を処理するアクションを調整することを容易にするためのＰＣＤの制御シーケンスを含む。挙動エディタは、ユーザが少なくとも１つの知覚システムと、ＰＣＤの複数の表現システムのうちの少なくとも１つの表現システムとを制御することを可能にすることができる。挙動木エディタは、無効挙動状態と、進行中挙動状態と、成功挙動状態と、失敗挙動状態とを含む少なくとも４つの異なる挙動状態に基づいてＰＣＤ挙動を制御することを容易にすることができる。無効挙動状態は、特定の挙動が依然として始まっていないことを示すことができる。進行中挙動状態は、ＰＣＤが特定の挙動を能動的に実施していることを示すことができる。成功挙動状態は、挙動が成功したという決定に基づいてＰＣＤが特定の挙動を実施する段階を完了したことを示すことができる。失敗挙動状態は、挙動が不成功であったという決定に基づいてＰＣＤが特定の挙動を実施する段階を完了したことを示すことができる。挙動エディタは、挙動の階層的にＰＣＤ挙動を定める挙動木の機能要素として、より低いレベルの挙動を持たない葉挙動を構成することを容易にすることができる。挙動エディタは、親挙動と子挙動との組合せであるＰＣＤ挙動セットを構成することを容易にすることができ、この場合に、子挙動は対応する親挙動の完了後にＰＣＤによって実施される。親挙動は、１又は２以上の子挙動を個々に定められたシーケンス又は並列等を用いて実施するように挙動エディタを用いて構成することができる。子挙動は、順次子挙動実行、並列子挙動実行、切り換え子挙動実行、及びランダム子挙動実行のうちの少なくとも１つに基づいて挙動木内の親挙動が選択することができる。挙動エディタは、それ自体によって構成中のＰＣＤ挙動に対して少なくとも１つの挙動修飾子を構成することを容易にすることができる。挙動修飾子は、ＰＣＤに対して効果を与えて対応する挙動の状態を変更することができる。ＰＣＤ  ＳＤＫは、技能がＰＣＤ上で実行される時にユーザが挙動エディタを用いて構成した挙動木特性に基づいて関連の挙動内の挙動が実行されるように挙動木を構成してＰＣＤ技能に関連付けられたことを可能にするユーザインタフェースを含むことができる。挙動エディタは、ＰＣＤ  ＳＤＫの挙動ツールスイートを含むことができる。ＰＣＤ  ＳＤＫの挙動ツールスイートは、挙動エディタを含むことができる。挙動エディタは、挙動を生成する段階、定める段階、構成する段階、模倣する段階、改修する段階、及びＰＣＤに配備する段階のうちの少なくとも１つに適応された複数の挙動ユーザインタフェースを含むことができる。
【０５７０】
ＰＣＤ  ＳＤＫのアニメーションツールスイートは、複数の可動セグメントから構成される多軸身体、光源、表示画面、及びオーディオ出力システムのうちの少なくとも１つを含むＰＣＤのアセットを制御することを容易にするようになったアニメーションエディタを含むことができる。アニメーションエディタは、アニメーションアクション間の移行中にＰＣＤアセットを制御することを容易にすることができる。アニメーションエディタは、特定のアニメーションビルダモジュールから導出された少なくとも１つのアニメーションインスタンスのＰＣＤプロセッサによる実行をもたらすアニメーションビルダに基づくＰＣＤアニメーションアクションセットを構成することを容易にすることができる。もたらされた少なくとも１つのアニメーションインスタンスは、ＰＣＤのアセットを制御する。アセットのうちの少なくとも１つのものの制御は、当該アニメーションインスタンスがＰＣＤ上で実行されている間に、限定的にこのアニメーションインスタンスによって制御される。ＰＣＤ  ＳＤＫのアニメーションツールスイートは、ＰＣＤの実行シーケンス内でアニメーションビルダをインスタンス化することができる。アニメーションツールスイートは、ＰＣＤの複数の自由度を制御するためのアクセスを与えることができ、各自由度は、ＰＣＴのアクション可能物理態様に関連付けられる。ＰＣＤの自由度は、ＰＣＤの１又は２以上の可動身体セグメントに関連付けることができる。ＰＣＤの自由度は、ＰＣＤの電子表示画面に関連付けることができる。ＰＣＤの自由度は、ＰＣＤの１又は２以上の身体セグメント上に配置された照明リングのような光源に関連付けることができる。ＰＣＤの自由度は、ＰＣＤの電子ディスプレイ上に表示される模式化した眼を含むことができる。アニメーションツールスイートは、ＰＣＤの１又は２以上の自由度をアニメーションインスタンスに割り当てるのを容易にすることができる。アニメーションツールスイートは、別個のアニメーションインスタンス間のＰＣＤの自由度の制御を変更することを容易にすることができる。アニメーションツールスイートは、ＰＣＤの１又は２以上の自由度のアニメーションの速度及び対話などの制御を容易にすることができる。ＰＣＤの自由度を制御するためのアニメーションツールスイートは、アニメーション開始事象、アニメーション停止事象、及びアニメーションキャンセル事象を含むアニメーションインスタンスに関する事象に基づいてアニメーション制御を容易にすることができる。ＰＣＤ  ＳＤＫのアニメーションツールスイートは、コンピュータデバイスの電子ディスプレイ上に表示され、ＰＣＤの表現的凝視アニメーションの制御を容易にすることができるユーザインタフェース制御要素を含むことができる。表現的凝視アニメーションは、３次元空間内でＰＣＤに対して定めることができる凝視点への単一移動として実施することができる。これに代えて、表現的凝視アニメーションは、ＰＣＤが凝視ゴールを連続的に凝視するようにアニメ化することを容易にする凝視ターゲット追跡を用いて連続的な移動として実施することができる。アニメーションツールスイートに関するもののようなＰＣＤ  ＳＤＫのアニメーションエ���ィタは、ＰＣＤの視覚表現が内部に示される身体ペインと、ＰＣＤの電子表示画面上に表示される眼の視覚表現が内部に示される眼ペインと、アニメーションアクションがアニメーション及び移行などのタイムラインとして内部に示されるタイムラインペインとを含むことができる。
【０５７１】
ＰＣＤと人間参加者間の対話中に変動性及び処理エラーなどを導入するためのマルチモーダル対話モジュール（ＭＩＭ）エディタは、１よりも多い対話モードを制御することを容易にすることができる。ＭＩＭエディタは、発声応答、触覚入力、及び応答欠如などのような知覚された条件に応答してＰＣＤによって生成される複数のマルチモーダルプロンプトを構成することを容易にすることができる。ＭＩＭエディタは、人間及び別のＰＣＤなどのような参加者との対話中にマルチモーダル応答を制御することを容易にする。ＭＩＭエディタは、ＰＣＤによって出力されるオーディオと調和するようにＰＣＤの表示画面を制御することを容易にすることができ、表示画面は、触覚入力を受信してこの入力を表示画面上の視覚提示に基づいて複数の応答オプションのうちの１つに関連付けられるように適応される。ＭＩＭエディタは、ＰＣＤの自然言語理解プロセッサがＰＣＤの近くにいる人間からの発言をどのように解釈するかを制御することができる発話認識規則を構成することを容易にすることができる。ＭＩＭエディタは、フレーズ入力フィールドと、結果オブジェクト表示ペインと、発話認識規則ペインとを含むことができるユーザインタフェースを含むことができる。ＭＩＭエディタは、ＰＣＤが取るべき不適合アクション及び無入力アクションのユーザ構成を可能にすることによってエラー又は応答の無認識からの復帰を更に容易にすることができる。
【０５７２】
本明細書に説明する方法及びシステムは、プロセッサ上でコンピュータソフトウエア、プログラムコード、及び／又は命令を実行する機械を部分的又は全体的に通じて配備することができる。プロセッサは、サーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピュータプラットフォーム、据え置きコンピュータプラットフォーム、又は他のコンピュータプラットフォームの一部とすることができる。プロセッサは、プログラム命令、コード、及びバイナリ命令などを実行することができるあらゆるタイプの計算デバイス又は処理デバイスとすることができる。プロセッサは、信号プロセッサ、デジタルプロセッサ、埋め込みプロセッサ、マイクロプロセッサ、又は格納されたプログラムコード又はプログラム命令の実行を直接的又は間接的に容易にすることができるコプロセッサ（数値演算コプロセッサ、グラフィックコプロセッサ、及び通信コプロセッサなど）のような変形などとするか又はこれらを含むことができる。更に、プロセッサは、複数のプログラム、スレッド、及びコードの実行を可能にすることができる。スレッドは、プロセッサの性能を改善し、アプリケーションの同時作動を容易にするために同時に実行することができる。実施により、本明細書に説明する方法、プログラムコード、及びプログラム命令などは、１又は２以上のスレッドに実施することができる。スレッドは、関連の優先度が割り当てられたものとすることができ、プロセッサは、優先度に基づいて、又はプログラムコード内に与えられた命令に基づくいずれかの他の順序に基づいてこれらのスレッドを実行することができる。プロセッサは、本明細書及び他の箇所で説明する方法、コード、命令、及びプログラムを格納するメモリを含むことができる。プロセッサは、本明細書及び他の箇所で説明する方法、コード、及び命令を格納することができるストレージ媒体にインタフェースを通してアクセス可能である。コンピュータデバイス又は処理デバイスによって実行することができる方法、プログラム、コード、プログラム命令、又は他のタイプの命令を格納するためのプロセッサに関連付けられたストレージ媒体は、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ、ハードディスク、フラッシュドライブ、ＲＡＭ、ＲＯＭ、及びキャッシュなどのうちの１又は２以上を含むことができるがこれらに限定されない。
【０５７３】
プロセッサは、マルチプロセッサの速度及び性能を改善することができる１又は２以上のコアを含むことができる。実施形態では、プロセッサは、２又は３以上の独立したコア（ダイと呼ばれる）を組み合わせたデュアルコアプロセッサ、クアッドコアプロセッサ、及び他のチップレベルマルチプロセッサなどとすることができる。
【０５７４】
本明細書に説明する方法及びシステムは、サーバ、クライアント、ファイアウォール、ゲートウェイ、ハブ、ルータ、又は他のそのようなコンピュータ及び／又はネットワーキングハードウエア上でコンピュータソフトウエアを実行する機械を部分的又は全体的に通じて配備することができる。ソフトウエアプログラムは、ファイルサーバ、印刷サーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、及び他の変形、例えば、２次サーバ、ホストサーバ、及び分散サーバなどを含むことができるサーバに関連付けられる場合がある。サーバは、メモリ、プロセッサ、コンピュータ可読媒体、ストレージ媒体、ポート（物理的及び仮想的）、通信デバイス、及び有線又は無線の媒体を通して他のサーバ、クライアント、機械、及びデバイスにアクセス可能なインタフェース、並びに類似のもののうちの１又は２以上を含むことができる。本明細書に説明する方法、プログラム、又はコードは、サーバを実行することができる。これに加えて、本出願で説明する方法の実行に必要とされる他のデバイスは、サーバに関連付けられたインフラストラクチャの一部と考えることができる。
【０５７５】
サーバは、クライアント、他のサーバ、プリンタ、データベースサーバ、印刷サーバ、ファイルサーバ、通信サーバ、及び分散サーバなどを限定なく含む他のデバイスにインタフェースを提供することができる。これに加えて、この結合及び／又は接続は、ネットワーク上のプログラムのリモート実行を容易にすることができる。これらのデバイスの一部又は全てのネットワーキングは、１又は２以上の場所でのプログラム又は方法の並列処理を本範囲から逸脱することなく容易にすることができる。これに加えて、インタフェースを通してサーバに取り付けられたデバイスのうちのいずれかは、方法、プログラム、コード、及び／又は命令を格納することができる少なくとも１つのストレージ媒体を含むことができる。中央リポジトリは、異なるデバイス上で実行されることになるプログラム命令を提供することができる。この実施では、リモートリポジトリは、プログラムコード、命令、及びプログラムに対するストレージ媒体として機能することができる。
【０５７６】
ソフトウエアプログラムは、ファイルクライアント、印刷クライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、並びに他の変形、例えば、２次クライアント、ホストクライアント、及び分散クライアントなど含むことができるクライアントに関連付けることができる。クライアントは、メモリ、プロセッサ、コンピュータ可読媒体、ストレージ媒体、ポート（物理的及び仮想的）、通信デバイス、及び有線又は無線の媒体を通して他のクライアント、サーバ、機械、及びデバイスにアクセス可能なインタフェース、並びに類似のもののうちの１又は２以上を含むことができる。本明細書に説明する方法、プログラム、又はコードは、サーバを実行することができる。これに加えて、本出願で説明する方法の実行に必要とされる他のデバイスは、クライアントに関連付けられたインフラストラクチャの一部と考えることができる。
【０５７７】
クライアントは、サーバ、他のクライアント、プリンタ、データベースサーバ、印刷サーバ、ファイルサーバ、通信サーバ、及び分散サーバなどを限定なく含む他のデバイスにインタフェースを提供することができる。これに加えて、この結合及び／又は接続は、ネットワーク上のプログラムのリモート実行を容易にすることができる。これらのデバイスの一部又は全てのネットワーキングは、１又は２以上の場所でのプログラム又は方法の並列処理を本範囲から逸脱することなく容易にすることができる。これに加えて、インタフェースを通してクライアントに取り付けられたデバイスのうちのいずれかは、方法、プログラム、アプリケーション、コード、及び／又は命令を格納することができる少なくとも１つのストレージ媒体を含むことができる。中央リポジトリは、異なるデバイス上で実行されることになるプログラム命令を提供することができる。この実施では、リモートリポジトリは、プログラムコード、命令、及びプログラムに対するストレージ媒体として機能することができる。
【０５７８】
本明細書に説明する方法及びシステムは、ネットワークインフラストラクチャを部分的又は全体的に通じて配備することができる。ネットワークインフラストラクチャは、コンピュータデバイス、サーバ、ルータ、ハブ、ファイアウォール、クライアント、パーソナルコンピュータ、通信デバイス、経路指定デバイス、並びに当業技術で公知の他の能動的及び受動的なデバイス、モジュール、及び／又は構成要素のような要素を含むことができる。ネットワークインフラストラクチャに関連付けられたコンピュータデバイス及び／又は非コンピュータデバイスは、他の構成要素はともかく、フラッシュメモリ、バッファ、スタック、ＲＡＭ、及びＲＯＭなどのようなストレージ媒体を含むことができる。本明細書及び他の箇所で説明する処理、方法、プログラムコード、命令は、ネットワークインフラストラクチャ要素のうちの１又は２以上を実行することができる。
【０５７９】
本明細書及び他の箇所で説明する方法、プログラムコード、及び命令は、複数のセルを有するセルラーネットワーク上に実施することができる。セルラーネットワークは、周波数分割多重アクセス（ＦＤＭＡ）ネットワーク又はコード分割多重アクセス（ＣＤＭＡ）ネットワークのいずれかとすることができる。セルラーネットワークは、モバイルデバイス、セルサイト、基地局、リピータ、アンテナ、及び電波塔などを含むことができる。セルネットワークは、ＧＳＭ（登録商標）、ＧＰＲＳ、３Ｇ、ＥＶＤＯ、メッシュ、又は他のネットワークタイプとすることができる。
【０５８０】
本明細書及び他の箇所で説明する方法、プログラムコード、及び命令は、モバイルデバイス上又はそれを通して実施することができる。モバイルデバイスは、ナビゲーションデバイス、セル電話、携帯電話、モバイル携帯情報端末、ラップトップ、パームトップ、ネットブック、ポケットベル、電子書籍リーダ、及び音楽プレーヤなどを含むことができる。これらのデバイスは、他の構成要素はともかく、フラッシュメモリ、バッファ、ＲＡＭ、ＲＯＭ、及び１又は２以上のコンピュータデバイスのようなストレージ媒体を含むことができる。モバイルデバイスに関連付けられた」コンピュータデバイスは、そこに格納されたプログラムコード、方法、及び命令を実行するように使用可能にすることができる。これに代えて、モバイルデバイスは、他のデバイスと協働して命令を実行するように構成することができる。モバイルデバイスは、サーバとインタフェースで接続されてプログラムコードを実行するように構成された基地局と通信することができる。モバイルデバイスは、ピアツーピアネットワーク、メッシュネットワーク、又は他の通信ネットワーク上で通信することができる。プログラムコードは、サーバに関連付けられたストレージ媒体上に格納され、サーバ内に埋め込まれたコンピュータデバイスを実行することができる。基地局は、コンピュータデバイスとストレージ媒体とを含むことができる。ストレージデバイスは、基地局に関連付けられたコンピュータデバイスによって実行されるプログラムコード及び命令を格納することができる。
【０５８１】
コンピュータソフトウエア、プログラムコード、及び／又は命令は、計算に使用されるデジタルデータをある程度の時間間隔にわたって保持するコンピュータ構成要素、デバイス、及び記録媒体と、ランダムアクセスメモリ（ＲＡＭ）として公知の個体ストレージと、光ディスク、ハードディスクのような磁気ストレージ形態、テープ、ドラム、カード、及び他のタイプのもののような一般的により永続的な格納のための大容量ストレージと、プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリと、ＣＤ、ＤＶＤのような光ストレージと、フラッシュメモリ（例えば、ＵＳＢスティック又はＵＳＢキー）、フロッピーディスク、磁気テープ、紙テープ、パンチカード、独立型ＲＡＭディスク、Ｚｉｐドライブ、着脱可能大容量ストレージ、及びオフラインなどのような着脱可能媒体と、動的メモリ、静的メモリ、読取／書込ストレージ、可変ストレージ、読取専用メモリ、ランダムアクセスメモリ、シーケンシャルアクセスメモリ、位置アドレス可能メモリ、ファイルアドレス可能メモリ、コンテンツアドレス可能メモリ、ネットワークアタッチトストレージ、ストレージエリアネットワーク、バーコード、及び磁気インクなどのような他のコンピュータメモリとを含むことができる機械可読媒体上に格納され、及び／又は上でアクセス可能である。
【０５８２】
本明細書に説明する方法及びシステムは、物理的な及び／又は無形の品目を１つの状態から別の状態に変換することができる。本明細書に説明する方法及びシステムは、物理的な及び／又は無形の品目を表すデータを１つの状態から別の状態に変換することができる。
【０５８３】
図を通した流れ図及びブロック図内のものを含む本明細書で記載して描く要素は、これらの要素間の論理境界の意味を包含している。しかし、ハードウエア工学の慣例により、描く要素及びその機能は、プロセッサにモノリシックソフトウエア構造として、独立型ソフトウエアモジュールとして、又は外部のルーチン、コード、サービス、及びその他を使用するモジュールとして、又はこれらのあらゆる組合せとして格納されたプログラム命令を実行することができるプロセッサを有するコンピュータ実行可能媒体を通して機械上に実施することができ、全てのそのような実施が本発明の開示の範囲にあるとすることができる。そのような機械の例は、携帯情報端末、ラップトップ、パーソナルコンピュータ、携帯電話、他の手持ち式コンピュータデバイス、医療機器、有線又は無線の通信デバイス、変換器、チップ、計算機、衛星、タブレットＰＣ、電子書籍、ガジェット、電子デバイス、人工知能を有するデバイス、コンピュータデバイス、ネットワーキング機器、サーバ、及びルータなど含むことができるがこれらに限定されない。更に、流れ図及びブロック図内に示す要素又はいずれかの他の論理構成要素は、プログラム命令を実行することができる機械上に実施することができる。すなわち、上述の図面及び説明は本発明の開示のシステムの機能態様を示すが、明示的に述べない限り又は他に状況から明確でない限り、これらの機能態様を実施するための特定のソフトウエア編成をこれらの説明から推定すべきではない。同じく、上記で指定して説明した様々な段階は変更することができ、段階の順序は、本明細書に開示する技術の特定の用途に適応させることができることは認められるであろう。全てのそのような変形及び修正は、本発明の開示の範囲に収まるように意図している。従って、特定の用途によって必要とされない限り、又は明示的に述べない限り、又は他に状況から明確でない限り、様々な段階に対する順序の描画及び／又は説明は、これらの段階に対する特定の実行順序を必要とするものと理解すべきではない。
【０５８４】
上述した方法及び／又は処理、並びにその段階は、特定の用途に適するソフトウエア、ハードウエア、又はソフトウエアとハードウエアのあらゆる組合せで実現することができる。ハードウエアは、汎用コンピュータ及び／又は専用コンピュータデバイス、又は特定のコンピュータデバイス又は特定のコンピュータデバイスの特定の態様又は構成要素を含むことができる。処理は、１又は２以上のマイクロプロセッサ、マイクロコントローラ、埋め込みマイクロコントローラ、プログラム可能デジタル信号プロセッサ、又は他のプログラム可能デバイス、並びに内部及び／又は外部のメモリに実現することができる。同じく又は代わりに、処理は、特定用途向け集積回路、プログラム可能ゲートアレイ、プログラム可能アレイ論理部、又は電子信号を処理するように構成することができるいずれかの他のデバイス又はデバイスの組合せに具現化することができる。処理のうちの１又は２以上は、機械可読媒体上で実行することができるコンピュータ実行可能コードとして実現することができることが更に認められるであろう。
【０５８５】
コンピュータ実行可能コードは、上述のデバイス、並びにプロセッサ、プロセッサアーキテクチャの異種組合せ、又は様々なハードウエアとソフトウエアとの組合せ、又はプログラム命令を実行することができる他の機械のうちの１つの上で実行されるように格納され、コンパイル実行又は変換機実行することができるＣのような構造化プログラミング言語、Ｃ＋＋のようなオブジェクト指向プログラミング言語、又はいずれかの他の高レベル又は低レベルのプログラミング言語（アセンブリ言語、ハードウエア説明言語、並びにデータベースプログラミングの言語及び技術を含む）を用いて生成することができる。
【０５８６】
すなわち、一態様では、上述した各方法及びその組合せは、１又は２以上のコンピュータデバイス上で実行された時にこれらの方法の段階を実施するコンピュータ実行可能コードに具現化することができる。別の態様では、これらの方法は、その段階を実施するためのシステムに具現化することができ、複数のデバイスにわたっていくつかの方法で分散させることができ、又は機能の全てを専用独立型デバイス又は他のハードウエア内に統合することができる。別の態様では、上述した処理に関する段階を実施するための手段は、上述したハードウエア及び／又はソフトウエアのうちのいずれかを含むことができる。全てのそのような組み替え及び組合せは、本発明の開示の範囲に収まるように意図している。
【０５８７】
本明細書に説明した方法及びシステムは、詳細に図示して説明したある一定の好ましい実施形態に関して開示したが、当業者には、これらの実施形態に対する様々な修正及び改善が直ちに明らかになるであろう。従って、本明細書に説明する方法及びシステムの精神及び範囲は、上述の例によって限定されないものとし、むしろ法律によって許される最も広義の意味で理解されるものとする。
【０５８８】
本明細書で引用する全ての文献は、これにより引用によって組み込まれる。
【符号の説明】
【０５８９】
２７０２  挙動エディタ
２７０４  ＰＣＤソフトウエア開発者キット（ＳＤＫ）
２７０６  アニメーションエディタ
【図１】
2019521449.tif 000005
【図２】
2019521449.tif 000006
【図３】
2019521449.tif 000007
【図４】
2019521449.tif 000008
【図５】
2019521449.tif 000009
【図６】
2019521449.tif 000010
【図７】
2019521449.tif 000011
【図８】
2019521449.tif 000012
【図９】
2019521449.tif 000013
【図１０】
2019521449.tif 000014
【図１１】
2019521449.tif 000015
【図１２】
2019521449.tif 000016
【図１３】
2019521449.tif 000017
【図１４】
2019521449.tif 000018
【図１５】
2019521449.tif 000019
【図１６】
2019521449.tif 000020
【図１７】
2019521449.tif 000021
【図１８】
2019521449.tif 000022
【図１９】
2019521449.tif 000023
【図２０】
2019521449.tif 000024
【図２１】
2019521449.tif 000025
【図２２】
2019521449.tif 000026
【図２３】
2019521449.tif 000027
【図２４】
2019521449.tif 000028
【図２５】
2019521449.tif 000029
【図２６】
2019521449.tif 000030
【図２７】
2019521449.tif 000031
【図２８】
2019521449.tif 000032
【図２９】
2019521449.tif 000033
【図３０】
2019521449.tif 000034
【図３１】
2019521449.tif 000035
【図３２】
2019521449.tif 000036
【図３３】
2019521449.tif 000037
【図３４】
2019521449.tif 000038
【図３５】
2019521449.tif 000039
【図３６】
2019521449.tif 000040
【図３７】
2019521449.tif 000041
【図３８】
2019521449.tif 000042
【図３９】
2019521449.tif 000043
【図４０】
2019521449.tif 000044
【図４１】
2019521449.tif 000045
【図４２】
2019521449.tif 000046
【図４３】
2019521449.tif 000047
【図４４】
2019521449.tif 000048
【図４５】
2019521449.tif 000049
【図４６】
2019521449.tif 000050
【図４７】
2019521449.tif 000051
【図４８】
2019521449.tif 000052
【図４９】
2019521449.tif 000053
【図５０】
2019521449.tif 000054
【図５１】
2019521449.tif 000055
【図５２】
2019521449.tif 000056
【図５３】
2019521449.tif 000057
【図５４】
2019521449.tif 000058
【図５５】
2019521449.tif 000059
【図５６】
2019521449.tif 000060
【図５７】
2019521449.tif 000061
【図５８】
2019521449.tif 000062
【図５９】
2019521449.tif 000063
【図６０】
2019521449.tif 000064
【図６１】
2019521449.tif 000065
【図６２】
2019521449.tif 000066
【図６３】
2019521449.tif 000067
【国際調査報告】
2019521449.tif 000068
2019521449.tif 000069
2019521449.tif 000070