(57)【特許請求の範囲】
【請求項１】
ロボットのジェスチャを生成するコンピュータを用いた方法であって、
前記コンピュータは、
１又は複数の音声要素を含む発話文を受け取り、
複数のパターンモジュールによって前記発話文を分析して前記発話文内の音声要素と同じ音声要素と結びついた複数のジェスチャ候補を特定し、
前記複数のパターンモジュールによって特定された前記複数のジェスチャ候補から１つのジェスチャを選択し、
前記ロボットの複数のアクチュエータを制御することによって前記選択されたジェスチャを生成し、
前記ロボットの状態ごとに定められた複数の異なる範囲のうちの任意の値を取る乱数に基づいて、前記選択されたジェスチャの、振幅、周波数及び速度のうちの少なくとも１つを修正し、
前記選択されたジェスチャに同期する前記ロボットの音声出力を、前記発話文から合成し、
前記複数のパターンモジュールのそれぞれは、
異なる規則の集合を前記１又は複数の音声要素に適用して、前記１又は複数の音声要素に対応する１又は複数のジェスチャ候補であって、前記発話文に対応する前記音声出力を前記ロボットが出力する間に前記ロボットが行う１又は複数のジェスチャ候補を特定すること、
を特徴とする方法。
【請求項２】
前記コンピュータは、
前記音声出力中の前記音声要素のタイミングを分析し、
前記選択されたジェスチャ又は前記合成された音声出力を調整して、前記選択されたジェスチャのタイミング及び前記音声出力中の前記音声要素のタイミングを同期させること、
を特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータは、
前記発話文を分析することによって前記発話文に情報をタグ付けし、
前記複数のジェスチャ候補は、
前記タグ付けされた情報をさらに分析することによって特定されること、
を特徴とする請求項１に記載の方法。
【請求項４】
前記タグ付けされた情報は、
前記音声要素の単語のタイプを示すこと、
を特徴とする請求項３に記載の方法。
【請求項５】
前記コンピュータは、
前記ロボットが表現するはずである表現力の度合いを示す表現力パラメータを受け取り、
前記表現力パラメータと前記複数のジェスチャごとの重みとの関係を規定するモデルに対して前記受け取った表現力パラメータを適用することにより、前記複数のジェスチャごとに前記重みを算出し、
前記算出した重みに基づいて前記ジェスチャを選択すること、
を特徴とする請求項１に記載の方法。
【請求項６】
前記コンピュータは、
前記選択されたジェスチャに対応する動作を作成する前に、準備動作を追加することによって、前記選択されたジェスチャを計画すること、
を特徴とする請求項１に記載の方法。
【請求項７】
前記準備動作は、
前のジェスチャ又は開始ジェスチャの終了位置から、前記選択されたジェスチャの初期位置へ、エフェクタを移動させること、
を特徴とする請求項６に記載の方法。
【請求項８】
前記複数のパターンモジュールは、
第１の規則の集合を適用してエンブレムを検出する第１のパターンモジュールと、
第２の規則の集合を適用してアイコニクスを検出する第２のパターンモジュールと、
第３の規則の集合を適用して隠喩を検出する第３のパターンモジュールと、
第４の規則の集合を適用して直示を検出する第４のパターンモジュールと、
第５の規則の集合を適用して拍子を検出する第５のパターンモジュールと、
を含むこと、
を特徴とする請求項１に記載の方法。
【請求項９】
ジェスチャを生成するロボットであって、
前記ロボットは、
ジェスチャ生成部、動作生成部、音声合成部及び少なくとも１つのアクチュエータを有し、
前記ジェスチャ生成部は、
１又は複数の音声要素を含む発話文を受け取り、
複数のパターンモジュールによって前記発話文を分析して前記発話文内の音声要素と同じ音声要素と結びついた複数のジェスチャ候補を特定し、
前記複数のパターンモジュールによって特定された前記複数のジェスチャ候補から１つのジェスチャを選択し、
前記動作生成部は、
前記選択されたジェスチャに基づいて、制御信号を生成し、
前記ロボットの状態ごとに定められた複数の異なる範囲のうちの任意の値を取る乱数に基づいて、前記選択されたジェスチャの、振幅、周波数及び速度のうちの少なくとも１つを修正し、
前記少なくとも１つのアクチュエータは、
前記制御信号に応じて、前記ロボットの部分に相対運動を起こさせ、
前記音声合成部は、
前記選択されたジェスチャに同期する前記ロボットの音声出力を、前記発話文から合成し、
前記複数のパターンモジュールのそれぞれは、
異なる規則の集合を前記１又は複数の音声要素に適用して、前記１又は複数の音声要素に対応する１又は複数のジェスチャ候補であって、前記発話文に対応する前記音声出力を前記ロボットが出力する間に前記ロボットが行う１又は複数のジェスチャ候補を特定すること、
を特徴とするロボット。
【請求項１０】
前記動作生成部は、
前記音声出力中の前記音声要素のタイミングを分析し、
前記選択されたジェスチャを調整して、前記選択されたジェスチャのタイミング及び前記音声出力中の前記音声要素のタイミングを同期させること、
を特徴とする請求項９に記載のロボット。
【請求項１１】
前記ジェスチャ生成部は、
前記発話文を分析することによって前記発話文に情報をタグ付けし、
前記複数のジェスチャ候補は、
前記タグ付けされた情報をさらに分析することによって特定されること、
を特徴とする請求項９に記載のロボット。
【請求項１２】
前記タグ付けされた情報は、
前記音声要素の単語のタイプを示すこと、
を特徴とする請求項１１に記載のロボット。
【請求項１３】
前記ジェスチャ生成部は、
前記ロボットが表現するはずである表現力の度合いを示す表現力パラメータを受け取り、
前記表現力パラメータと前記複数のジェスチャごとの重みとの関係を規定するモデルに対して前記受け取った表現力パラメータを適用することにより、前記複数のジェスチャごとに前記重みを算出し、
前記算出した重みに基づいて前記ジェスチャを選択すること、
を特徴とする請求項９に記載のロボット。
【請求項１４】
前記動作生成部は、
前記選択されたジェスチャに対応する動作を作成する前に、準備動作を追加することによって、前記選択されたジェスチャを計画すること、
を特徴とする請求項９に記載のロボット。
【請求項１５】
前記複数のパターンモジュールは、
第１の規則の集合を適用してエンブレムを検出する第１のパターンモジュールと、
第２の規則の集合を適用してアイコニクスを検出する第２のパターンモジュールと、
第３の規則の集合を適用して隠喩を検出する第３のパターンモジュールと、
第４の規則の集合を適用して直示を検出する第４のパターンモジュールと、
第５の規則の集合を適用して拍子を検出する第５のパターンモジュールと、
を含むこと、
を特徴とする請求項９に記載のロボット。
【請求項１６】
口頭の命令を認識するための不揮発性のコンピュータ読取可能な記憶媒体であって、
前記記憶媒体に記憶される指示は、
プロセッサに対して、
１又は複数の音声要素を含む発話文を受け取り、
複数のパターンモジュールによって前記発話文を分析して前記発話文内の音声要素と同じ音声要素と結びついた複数のジェスチャ候補を特定し、
前記複数のパターンモジュールによって特定された前記複数のジェスチャ候補から１つのジェスチャを選択し、
ロボットの複数のアクチュエータを制御することによって前記選択されたジェスチャを生成し、
前記ロボットの状態ごとに定められた複数の異なる範囲のうちの任意の値を取る乱数に基づいて、前記選択されたジェスチャの、振幅、周波数及び速度のうちの少なくとも１つを修正し、
前記選択されたジェスチャに同期する前記ロボットの音声出力を、前記発話文から合成する処理を実行させ、
前記複数のパターンモジュールのそれぞれは、
異なる規則の集合を前記１又は複数の音声要素に適用して、前記１又は複数の音声要素に対応する１又は複数のジェスチャ候補であって、前記発話文に対応する前記音声出力を前記ロボットが出力する間に前記ロボットが行う１又は複数のジェスチャ候補を特定すること、
を特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットによって生成されるはずの発話文を分析することによって、ロボットのジェスチャを作成することに関する。
【背景技術】
【０００２】
人間ロボット間意思疎通（ＨＲＩ）のために、様々な方法が使用され得る。ＨＲＩの１つの方法は、コンピュータユーザインターフェースの使用である。この方法の一例は、コンピュータを使用して、ロボットに命令又は指示をアップロードすることである。一般的に、このような意思疎通は、コンピュータプログラミングに詳しくロボット操作についての深い知識を有するユーザ向けである。他の操作方法として、音声合成及び音声認識の使用がある。ロボットについての技術的知識を欠く一般の人々は、ロボットに対して話しかけ、ロボットが生成する任意の音声を聞き取ることによって、自然にロボットと意思疎通する。このような操作方法は、人間側にとっては直感的であるが、音声を処理し合成するハードウエア装置及びコンピュータプログラムを必要とするかもしれない。
【０００３】
人間とロボットとの間の意思疎通を増進する１つの方法は、ジェスチャを使用することである。ジェスチャは、身体動作によってなされる非言語コミュニケーションの一形態である。ジェスチャは、それ自身で又は音声との組合せで、人間が他人と効果的に意思疎通することを可能にする。
【０００４】
ジェスチャは、異なる複数のタイプに分類できる。ジェスチャの一種は、エンブレムである。エンブレムとは、言葉が話されなくても意味が理解できる自己充足型ジェスチャのことである。エンブレムは、例えば、手を振って、“さようなら”又は“こんにちは”の意を伝えることを含む。アイコニクスは、言葉とともに使用されて具体物を示すジェスチャの一種である。アイコニクスは、例えば、通り道の軌跡を辿ることを含む。隠喩は、抽象概念のイメージを提供するジェスチャの一群である。隠喩は、目に見えない物を右手と左手に持っているように見せかけることによって議論の側面に言及するジェスチャを含む。直示は、身体の一部を使用して、会話中に具体物及び抽象物の両者を指すジェスチャである。直示は、例えば、人差し指で関心対象を指しながら腕を使用することを含む。拍子は、音声の抑揚に同調してリズミカルに手を動かすジェスチャの一群である。音声の進行中に、複数のタイプのジェスチャが表現されることもある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
人間型ロボットは、人間に類似した外観及び特徴を有する。したがって、多くの人が、これらのロボットに対して自然な親近感を覚える。しかしながら、人間型ロボットは、人間との意思疎通中に動かなくなることがよくある。すると、ユーザは、ロボットとの意思疎通が、人間との意思疎通に比べて不自然でぎこちないものであると感じることが多い。
【課題を解決するための手段】
【０００６】
実施形態は、異なる規則の集合を使用して発話文を分析し、ジェスチャのタイプごとに１又は複数のジェスチャ候補を特定することによって、ロボットのジェスチャを生成することに関する。１又は複数のジェスチャ候補のうちから、実施対象として１つのジェスチャが選択されてもよい。選択されたジェスチャに対応するアクチュエータ信号を生成することによって、ロボットのアクチュエータが制御されてもよい。
【０００７】
ある実施形態においては、発話文を合成することによって生成された音声出力が、ロボットによって生成されたジェスチャと同期する。選択されたジェスチャ又は合成された音声を調整することによって、同期が取られてもよい。
【０００８】
ある実施形態においては、発話文を分析することによって、その発話文に対して情報がタグ付けされる。１又は複数のジェスチャ候補は、発話文だけではなくタグ付けされた情報も分析することによって特定される。
【０００９】
ある実施形態においては、タグ付けされた情報は、音声要素の単語のタイプを示す。
【００１０】
ある実施形態において、ロボットが表現するはずの表現力を示す表現力パラメータが受け取られる。より高い表現力パラメータは、より表現力が大きいとされるジェスチャが選択される機会を増やし得る一方、より低い表現力パラメータは、より表現力が小さいとされるジェスチャが選択される機会を増やし得る。ジェスチャは、さらに表現力パラメータに基づいて選択される。
【００１１】
ある実施形態においては、選択されたジェスチャの振幅、周波数及び速度のうちの少なくとも１つが、乱数に基づいて修正される。このように、無作為性がジェスチャに導入されて、ジェスチャを非反復的にし、より自然に見せる。
【００１２】
ある実施形態においては、選択されたジェスチャに対応する動作を作成する前に、準備動作を加えることによって、選択されたジェスチャが計画される。準備動作は、前のジェスチャ又は開始ジェスチャの終了位置から、選択されたジェスチャの初期位置へ、エフェクタを移動してもよい。
【００１３】
ある実施形態においては、複数のパターンモジュールが、発話文内のパターンの一致を検出するために使用される。複数のパターンモジュールは、第１のパターンモジュール、第２のパターンモジュール、第３のパターンモジュール、第４のパターンモジュール及び第５のパターンモジュールを含む。第１のパターンモジュールは、第１の規則の集合を適用してエンブレムを検出する。第２のパターンモジュールは、第２の規則の集合を適用してアイコニクスを検出する。第３のパターンモジュールは、第３の規則の集合を適用して隠喩を検出する。第４のパターンモジュールは、第４の規則の集合を適用して直示を検出する。第５のパターンモジュールは、第５の規則の集合を適用して拍子を検出する。これらパターンモジュールのうちの１又は複数は、文法規則を発話文に対して適用してもよい。
【００１４】
本明細書に記述されている特徴及び利点は、限定的なものではなく、図面、明細書及び特許請求の範囲を見れば、当業者には、追加的な特徴及び利点が明らかになる。さらに、本明細書中で使用される用語は、主として意味の取りやすさ及び教示目的から選択されており、本発明の主旨を限定するために選択されているものではないことは当然である。
【図面の簡単な説明】
【００１５】
添付図面を参照しつつ以降に詳述される説明を読めば、本発明の教示は容易に理解される。
【００１６】
【図１】ある実施形態に係る、ロボット及びロボットと通信する遠隔コンピュータの図である。
【図２】ある実施形態に係るロボットのブロック図である。
【図３Ａ】ある実施形態に係るロボット内のジェスチャ生成部のブロック図である。
【図３Ｂ】ある実施形態に係る、図３Ａのジェスチャ生成部のソフトウエア構成を示すブロック図である。
【図４】ある実施形態に係る、異なる複数の文法モジュールのアクティブな文法識別子を示す図である。
【図５】ある実施形態に係る、ロボットが表現するはずのジェスチャの選択と重みとの関連を示すグラフである。
【図６】ある実施形態に係る動作生成部を示す図である。
【図７Ａ】ある実施形態に係る、ジェスチャを生成する処理手順を示すフローチャートである。
【図７Ｂ】ある実施形態に係る、ジェスチャを生成する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の好適な一実施形態を、図を参照しつつ説明する。複数の図にまたがって同様の参照番号が記される場合、それらは同一の又は機能的に類似した構成要素を意味する。
【００１８】
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴又は構造が含まれていることを意味する。本明細書のあちこちに“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【００１９】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスを意味する。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの数値は、記憶され、転送され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理量に対する物理的操作を要求するステップの配列のうちいくつかのものは、一般性を失うことなくモジュール又はコードデバイスと呼ぶことが便宜である。
【００２０】
しかしながら、このような用語の全ては適当な物理量と関連付けられており、これらの物理量に付された単なる便宜的なラベルに過ぎない。後記において特段の説明がない限り、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、（電子的な）物理量としてのデータを、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージのなかで操作しかつ変形するコンピュータシステムや同様の電子的コンピューティングデバイスの動作や処理のことを言う。
【００２１】
本発明のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本発明のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウエアによって実装され、ソフトウエアで実施される場合は、ダウンロードされることが可能であり、多様なオペレーティングシステムが用いる別のプラットフォームから操作されることも可能である。
【００２２】
本発明は、操作を実行する装置にも関する。この装置は、所与の目的を達成する専用装置であってもよいし、コンピュータに記憶されたコンピュータプログラムによって動作する汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピーディスク（登録商標）、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いた装置であってもよい。
【００２３】
ここでいうアルゴリズムやディスプレイは、もともと特定のコンピュータや他の装置に関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な一般目的システムが使用され得る。又は、必要とされる方法ステップを実行するためにさらに特化した装置を作成することも便宜である。これらのシステムのそれぞれについてどのような構成が必要となるかは、後記する明細書本文から明らかになる。さらには、本発明は特定のプログラム言語を参照して記載されるものではない。本発明の教示を実施するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【００２４】
さらに、本明細書で使用される言語は、主として意味の取りやすさ及び教示目的から選択されているのであって、本発明の主旨を限定するために選択されているのではない。従って、本発明の開示は、特許請求の範囲にて記述されている本発明の範囲を例示するものであるが限定するものではない。
【００２５】
実施形態は、ロボットが出力する音声に同期してロボットのジェスチャを生成することに関する。発話文を分析し、複数のジェスチャ候補のうちから時間フレームごとに適当なジェスチャを選択することによってジェスチャが生成される。発話文が分析されて、ジェスチャの生成に関する情報が発話文にタグ付けされる。発話文、タグ付けされた情報及び他の関連する情報に基づいて、ジェスチャ識別子が選択される。ジェスチャ識別子に対応するジェスチャテンプレートが検索され、次に、関連するパラメータを追加することによって当該ジェスチャテンプレートが処理され、ロボットが行うはずのジェスチャを表現するジェスチャ記述子を生成する。ジェスチャ記述子及び音声に関連付けられたタイミングの分析に基づいて、ジェスチャ動作が計画される。両腕及び両手のようなアクチュエータを制御するためのアクチュエータ信号が、計画されたジェスチャ動作に基づいて生成される。
【００２６】
本明細書で使用される“発話文”という語は、自然言語又は自然言語に変換可能な上位概念言語で記述された音声のテキストを示す。発話文は、単語の文字列を含んでもよい。
【００２７】
ここで使用される“ジェスチャ識別子”という語は、あるジェスチャを他のジェスチャから概念レベルで識別する情報を意味する。ジェスチャ識別子は、例えば、“手を振る”及び“目標物を指す”というジェスチャを示してもよい。
【００２８】
本明細書で使用される“ジェスチャテンプレート”という語は、ジェスチャ識別子をロボットのエフェクタ（例えば、手）の軌跡に対応付けることを意味する。軌跡は、対応するセンサ又はセンサが処理した情報と結びついた１又は複数のパラメータに依存することとしてもよい。
【００２９】
本明細書で使用される“ジェスチャ記述子”という語は、あるジェスチャを表現するためのエフェクタの軌跡の初期バージョンを示す。ジェスチャ記述子は、更なる情報なしでジェスチャを生成すると解釈できる自己充足型の情報である。ジェスチャ記述子は、現在のジェスチャを準備し又は現在のジェスチャを前のジェスチャと混合するジェスチャ計画段階において、さらに精緻化される。
【００３０】
本明細書で使用される“アクチュエータ信号”という語は、ロボットのアクチュエータ（例えば、モータ）の座標値、速度及び／又は加速度を示す機械レベル信号を意味する。
【００３１】
図１は、ある実施形態に係る、ロボット１００及びロボット１００と通信する遠隔コンピュータ１５０の図である。ロボット１００は、他の構成とともに、複数の身体部分、身体部分間の相対運動を引き起こすためのアクチュエータ、ローカルコンピュータ１４０、センサ及び出力装置（例えば、スピーカ）を含んでもよい。複数の身体部分は、例えば、両腕、両手、胴体、頭、両脚及び両足を含んでもよい。これらの身体部分の相対運動は、モータのようなアクチュエータによって引き起こされる。センサは、身体部分に取り付けられて、視覚映像又は音響信号を取得するとともにロボットの姿勢を感知する。
【００３２】
ローカルコンピュータ１４０は、センサ信号及び他の入力命令を処理し、アクチュエータ信号を生成し、他のコンピュータ装置と通信するためのハードウエア、ソフトウエア、ファームウエア又はこれらの組合せである。ある実施形態においては、ローカルコンピュータ１４０は、チャンネル１５２を介して遠隔コンピュータ１５０と通信し、分散データ処理を実行し、又は、遠隔コンピュータからソフトウエア又はファームウエアをロードする。チャンネル１５２は、有線技術又は無線技術を使用して具体化される。
【００３３】
ロボット１００の身体部分は、アクチュエータによって相互に関係付けて動かされジェスチャを生成する。ある実施形態においては、ジェスチャは、手１２０のようなロボットのエフェクタの軌跡を画定することによって生成され得る。他の実施形態においては、ロボット１００の足及び頭のような他のエフェクタの軌跡を画定し、ジェスチャを生成する。
【００３４】
図１は人間形状を示しているが、実施形態は、様々な他の形状のロボットに使用され、そのロボットが利用可能な身体部分を用いるジェスチャを生成し得る。
【００３５】
図２は、ある実施形態に係るロボット１００のブロック図である。ロボット１００は、他の構成とともに、ジェスチャ生成部２１０、動作生成部２３０、アクチュエータ２５０、センサ２２０、周辺監視モジュール２４０、音声合成部２６０及びスピーカ２６６を含み得る。ジェスチャ生成部２１０、動作生成部２３０、周辺監視モジュール２４０及び音声合成部２６０は、ソフトウエア、ファームウエア、ハードウエア又はこれらの組合せによって実現されてもよい。さらに、ジェスチャ生成部２１０、動作生成部２３０、周辺監視モジュール２４０及び音声合成部２６０は、１つのコンピュータ装置で実現してもよい。
【００３６】
ジェスチャ生成部２１０は、発話文２０４を分析し処理することによってジェスチャ記述子２１４を生成するハードウエア、ソフトウエア、ファームウエア又はこれらの組合せである。発話文２０４は、コンピュータプログラムによって生成してもよいし、人間オペレータから受け取ってもよい。ジェスチャ生成部２１０は、図３Ａ及び図３Ｂを参照して以下詳しく後記される。
【００３７】
ある実施形態においては、発話文２０４は、自然人間言語の形で表現されている。発話文２０４は、人間と意思疎通するための有意な単語を含み得る。追加情報が発話文２０４内に追加されて、例えば、会話の文脈、イントネーション又は速度の変化を示し得る。他の実施形態においては、発話文２０４は、ある単語又は句が短縮されている圧縮フォーマットで表現され、発話文の処理及び通信を容易にする。
【００３８】
ジェスチャ記述子２１４は、エフェクタ（例えば、手１２０）の関節角度又は軌跡についての情報を含む。ジェスチャ記述子２１４は、動作生成部２３０が、アクチュエータ２５０を制御するアクチュエータ信号２３４を計画し生成することを可能にする自己充足型の指示である。ある実施形態においては、１つの時点において、１つのジェスチャ記述子２１４がアクティブになる。しかしながら、アクティブなジェスチャ記述子２１４は、発話文の途中で変化し得るし、１つの文の途中でさえも変化し得る。
【００３９】
動作生成部２３０は、ジェスチャ記述子２１４を受け取り、受け取ったジェスチャ記述子２１４を処理して、アクチュエータ信号２３４を生成する。複数のアクチュエータ信号２３４のそれぞれは、１つのアクチュエータ（例えば、モータ）の操作を制御するための信号である。アクチュエータ信号２３４は、エフェクタの座標値、ロボット１００の関節角度、又は、対応するアクチュエータ２５０の速度若しくは加速度を定義してもよい。図６を参照しつつ詳しく後記するように、動作生成部２３０は、ジェスチャを混合又は継ぎ合わせること、表現力を制御すること、及び、身体部分同士の衝突を回避すること、等の複数の対応をする。
【００４０】
センサ２２０は、様々な物理的物性を検知し、これらの物性を電気的なセンサ信号２２４に変換するハードウエア構成要素である。センサ信号２２４は、姿勢センサ信号と同様に知覚センサ信号を含んでもよい。知覚センサ信号は、ロボットが、ロボットの周辺にある様々な物又は事象を認識し処理することを可能にする。知覚センサ信号は、例えば、カメラ又はマイクロフォンによって生成され得る。姿勢センサ信号は、ロボット１００の身体部分の相対位置及び／又は相対運動を示す。姿勢センサ信号は、ロボット１００の現在の姿勢の検出を可能にする。
【００４１】
周辺監視モジュール２４０は、センサ信号２２４を処理し、ロボット１００の周辺の事象又は物の位置を、パノラマ座標系中に対応付ける。事象又は物の位置を処理し特定することによって、周辺監視モジュール２４０は、ロボット１００が、事象又は物の位置に相応しいジェスチャを実行することを可能にする。例えば、周辺監視モジュール２４０は、ロボット１００が実体情報２４４に基づいて、会話中に物又は人（すなわち、実体）を指すことを可能にする。周辺監視モジュール２４０を実施する１つの技術例が、例えば、米国特許出願１２／８１９，０３２に記述されている。当該出願の出願日は、２０１０年６月１８日であり、発明の名称は、“人間型ロボットのための周辺監視”である。当該出願の全体が引用されて当該明細書に組み込まれる。
【００４２】
音声合成部２６０は、当業界で周知の技術を使用して、電気的な信号２６４を合成しスピーカ２６６又は他の音声出力装置で音声を生成する。音声合成部２６０は、動作生成部２３０に対する出力２６２を提供し、動作生成部２３０が音声の進行を確認し、音声とジェスチャが同期され得るように、ジェスチャの速度を調節することを可能にする。
【００４３】
図２に示される構成要素の１又は複数は、遠隔コンピュータ１５０内に実装され、ローカルコンピュータ１４０が処理するデータ量を削減し、又は、ロボット１００が搭載するハードウエア構成要素を単純化し得る。ある実施形態においては、分離型センサが遠隔コンピュータ１５０に接続され、ロボット１００に対してロボット１００の周辺環境に関する追加情報を提供し得る。
【００４４】
（ジェスチャ生成部の例）
図３Ａは、ある実施形態に係るロボット１００内のジェスチャ生成部２１０のブロック図である。ジェスチャ生成部２１０は、発話文２０４を受け取り、ロボット１００が行うはずであるジェスチャを示すジェスチャ記述子２１４を生成する。ジェスチャ生成部２１０は、他の構成要素とともに、プロセッサ３１０、出力インタフェース３１４、入力インタフェース３１８及びメモリ３３０を含み得る。これらの構成要素は、バス３２２を介して接続されている。図２を参照しつつ前記したように、ジェスチャ生成部２１０は、動作生成部２３０、周辺監視モジュール２４０及び音声合成部２６０のような、ロボット１００の他の構成要素と一体化されてもよい。
【００４５】
プロセッサ３１０は、指示を読み出したうえで実行し、当該指示の実行結果として処理済のデータを出力するハードウエア構成要素である。プロセッサ３１０は、複数の処理コアを含み、データ処理の能力及び速度を向上させてもよい。
【００４６】
出力インタフェース３１４は、ジェスチャ生成部２１０が、ロボット１００の他の構成要素に対してデータを出力することを可能にする構成要素である。例えば、動作生成部２３０がジェスチャ生成部２１０から分離されたコンピュータ装置上で実現されているとき、出力インタフェース３１４は、ジェスチャ記述子２１４を動作生成部２３０に送信してもよい。出力インタフェース３１４は、ＩＥＥＥ１３９４及びユニバーサルシリアルバス（ＵＳＢ）を含む様々なプロトコルを使用して実現され得る。
【００４７】
入力インタフェース３１８は、ジェスチャ生成部２１０が、ロボット１００の他の構成要素からデータを受け取ることを可能にする構成要素である。例えば、入力インタフェース３１８は、外部ソースから発話文２０４を受け付けてもよい。入力インタフェース３１８は、ＩＥＥＥ１３９４及びＵＳＢを含む様々なプロトコルを使用して実現され得る。ある実施形態においては、入力インタフェース３１８は、出力インタフェース３１４と一体となって、ロボット１００の様々な構成要素との双方向通信を実行する。
【００４８】
メモリ３３０は、プロッセッサ３１０がデータ処理を実行するための、指示モジュール及び／又はデータを記憶する。メモリ３３０内の指示モジュールの詳細は、図３Ｂを参照しつつ後記される。
【００４９】
図３はジェスチャ生成部２１０の構成を示しているが、動作生成部２３０、周辺監視モジュール２４０及び音声合成部２６０のそれぞれは、ジェスチャ生成部２１０と同じ又は類似の構成要素を含んで、それらの機能を実行してもよい。
【００５０】
図３Ｂは、ある実施形態に係る、図３Ａのジェスチャ生成部２１０のソフトウエア構成を示すブロック図である。図３Ｂに示される１又は複数のソフトウエア構成要素は、専用ハードウエア又はファームウエアとして実現されてもよい。メモリ３３０は、他のソフトウエア構成要素とともに、インタフェース３３４、音声内容分析部３３８、複数の文法モジュール３４０Ａ〜３４０Ｎ（以降、集合的に“文法モジュール３４０”と呼ぶ）、音声タイミング分析部３４８及びジェスチャ選択モジュール３５０を格納してもよい。
【００５１】
インタフェース３３４は、外部ソース（例えば、遠隔コンピュータ１５０）から発話文２０４を受け取り、他のソフトウエアモジュールが処理する又は参照するのに備えて発話文２０４を記憶する。外部ソースとの通信を可能にするために、インタフェース３３４は、通信プロトコルに準拠してもよい。
【００５２】
音声内容分析部３３８は、バッファメモリ内に格納された発話文３３６を受け取る。音声内容分析部３３８は、発話文３３６に追加情報をタグ付けしてもよい。タグ付けされた情報は、話題の変化、音声に関連付けられた興奮度のような文脈上のヒントを示してもよい。１又は複数の実施形態において、音声内容分析部３３８は、スタンフォード対数線形品詞タグ付け装置（Stanford Log-linear Part-Of-Speech Tagger）を使用して、発話文３３６内の各単語に対して品詞（例えば、名詞、動詞、形容詞）を割り当てる。スタンフォード対数線形品詞タグ付け装置は、K. Toutanova及びC. Manningによる“最大エントロピ品詞タグ付け装置において使用される知識ソースの改良”In Proceedings of the Workshop on Balanced Perception and Action in ECAs at AAMAS（２００４年４月）に記述されている。当該文献の全体が引用されて当該明細書に組み込まれる。品詞を識別することに加えて、音声内容分析部は、感情状態又は心理状態（例えば、平静、興奮、中立、幸福、悲観）を示すいくつかの語句にタグ付けしてもよい。音声内容分析部は、任意の話題変化を検出してもよいし、発話文３３６内の強調部分（例えば、イタリック体の単語）を検出してもよい。
【００５３】
タグ付けされた情報３３９を伴う（又は伴わない）もとの発話文３３６は、複数の文法モジュール３４０に提供される。それぞれの文法モジュールは、発話文３３６及びタグ付けされた情報３３９を分析し、分析した発話文３３６中のいくつかのパターンを検出するパターン検出モジュールである。検出されたパターンに基づいて、あるタイプ又はある種類のジェスチャの適用可能性が決定され得る。ある実施形態においては、５つの文法モジュール３４０がメモリ内に提供され、それぞれの文法モジュール３４０が、以下のタイプ又は種類のジェスチャを特定しアクティブにする。すなわち、（i）エンブレム、（ii）アイコニクス、（iii）隠喩、（iv）直示及び（v）拍子である。図４を参照しつつ詳しく後記するように、単語のシーケンスすなわち文ごとに、これらのジェスチャのタイプの１又は複数が、そのシーケンスの間、アクティブにすなわち適用可能になる。ジェスチャの種類又はタイプがアクティブにすなわち適用可能になるとき、対応する文法モジュール３４０のそれぞれは、ジェスチャ識別子３４２Ａ〜３４２Ｎ（以降、集合的に“ジェスチャ識別子３４２”と呼ぶ）を生成する。代替的に、ジェスチャのタイプがアクティブであるか否か、すなわち適用可能であるか否かに拘わらず、ジェスチャ識別子３４２が、文法モジュール３４０からジェスチャ選択モジュール３５０に流される。しかしながら、そのジェスチャのタイプがアクティブであるか否か、すなわち適用可能であるか否かを示すフラグが、ジェスチャ識別子３４２に付される。
【００５４】
具体的には、各文法モジュール３４０は、規則の集合を有する。当該規則は、発話文３３６及びタグ付けされた情報を分析して、あるタイプのジェスチャが適用可能であるか否かを決定する。エンブレムの一例を挙げると、エンブレム用に特化された文法モジュール（例えば、３４０Ａ）は、あるキー単語又はキー句が発話文３３６内に現れるか否かを分析する。このようなキー単語又はキー句が現れる場合、文法モジュールは、ジェスチャ識別子（例えば、３４２Ａ）を出力する。当該ジェスチャ識別子は、１つのエンブレムがアクティブであることを示し、かつ、そのジェスチャが何を表すべきであるかを示している。例えば、発話文３３６が“こんにちは”又は“さようなら”を示している場合、文法モジュール（例えば、３４０Ａ）は、ジェスチャ識別子（例えば、３４２Ａ）を生成し出力する。当該ジェスチャ識別子は、あるエンブレムが適用可能である、すなわちアクティブであることを示し、かつ、対応するジェスチャは、目標人物に対して手を振るというジェスチャであるべきであることを示している。拍子についての他例を挙げると、拍子用に特化された文法モジュール（例えば、３４０Ｂ）は、音声の抑揚に応じて周期的にジェスチャ識別子（例えば、３４２Ｂ）を生成して出力してもよい。
【００５５】
文法モジュール３４０のいくつかは、音声内容分析部３３８を使用することによってあるタイプの単語（例えば、動詞）を検出し、これらの単語をあるタイプのジェスチャ（例えば、爆発タイプのジェスチャ）に対応付けてもよい。さらに、文法モジュール３４０は、あるタイプの句（例えば、“・・・と・・・の間”という句は、ロボットに、あるジェスチャをそれらの単語間において行わせる）のような、より上位概念のパターンを発見してもよい。別の文法モジュール３４０が、別のキー単語又はキー句を検出し、その結果、単語シーケンスの別の部分でジェスチャ識別子を生成してもよい。
【００５６】
ジェスチャ選択モジュール３５０は、複数の文法モジュール３４０からジェスチャ識別子３４２を受け取り、ロボットによって表現されるべきジェスチャタイプを選択する。ある実施形態においては、ジェスチャ選択モジュール３５０は、表現力パラメータ３６２に基づいてジェスチャタイプを選択する。表現力パラメータ３６２は、人間又はコンピュータアルゴリズムによって提供されてもよい。代替的に、表現力パラメータ３６２は、コンピュータプログラムによって、又は、発話文の分析に基づいて、アルゴリズム的に設定されてもよい。ジェスチャ選択モジュール３５０は、音声のあるタイムフレームに対応するジェスチャのタイプを選択し、選択されたジェスチャタイプのジェスチャ識別子３５２を動作生成部２３０に送る。選択されたジェスチャ識別子３５２は、文の集合ごとに、１つの文ごとに、又は、文の部分（例えば、句又は単語）ごとに変化してもよい。このとき、ロボット１００がある文の集合に対して、ある１つの文に対して、又は、文のある部分に対して出力を生成した後、ロボット１００が表現するジェスチャが変化することになる。
【００５７】
音声タイミング分析部３４８は、発話文３３６を受け取り、発話文３３６を解析し、音声合成部２６０によって各単語又は各句が生成されるはずのタイミングを決定する。ある実施形態においては、テキスト対音声エンジンが使用されて、各単語又は各句が話される又は生成されるのに必要な時間を示すテーブルを作成する。次に、当該テーブルが参照されて、各音声要素（例えば、単語又は句）が話される又は生成されるタイミングを推定する。当該分析に基づいて、音声タイミング分析部３４８は、タイミング情報３４４を生成し、動作生成部２３０に対して出力する。図６を参照して詳しく後記するように、音声の進行を確認し、任意のタイミングのずれを音声の予測複製時間を用いて修正するために、タイミング情報３４４が音声合成部の出力２６２と比較されてもよい。
【００５８】
ある実施形態においては、ロボット１００は、発話文２０４以外の情報を提供する他の構成要素を含んでもよい。このような情報は、文法モジュール３４０に追加情報を提供するために、又は、ジェスチャ識別子３４２を選択するために、音声内容分析部３３８及び／又はジェスチャ選択モジュールによって考慮される。
【００５９】
（ジェスチャタイプの選択）
図４は、ある実施形態に係る、異なる複数の文法モジュール３４０のアクティブなジェスチャ識別子を示す図である。単語シーケンス（例えば、文）が複数の文法モジュールによって分析されるにつれて、文法モジュール３４０のそれぞれは、単語シーケンスの複数の異なる点を検出して、ジェスチャ識別子３４２を生成し得る。
【００６０】
図４に示されるように、スライド線４１０が左（すなわち、文の開始点）から右（すなわち、文の終了点）へ移動するにつれて、ジェスチャ識別子３４２が、単語シーケンスの複数の異なる点においてアクティブになる。例えば、文法モジュール３４０Ａは、期間４０４Ａ、４０４Ｃ及び４０４Ｅでは非アクティブのままである一方、当該モジュール３４０Ａは、期間４０４Ｂ及び４０４Ｄではジェスチャ識別子３４２Ａを生成する。文法モジュール３４０Ｂは、期間４０８Ａ及び４０８Ｃでは非アクティブのままであるが、期間４０８Ｂではジェスチャ識別子３４２Ｂを生成する。文法モジュール３４０Ｎは、期間４１２Ｂ、４１２Ｄ、４１２Ｆ、４１２Ｈ及び４１２Ｊでは非アクティブのままであるが、期間４１２Ａ、４１２Ｃ、４１２Ｅ、４１２Ｇ、４１２Ｉ及び４１２Ｋではジェスチャ識別子３４２Ｎを生成する。図４の例では、スライド線４１０は、単語シーケンスのある点にある。当該点においては、ジェスチャ識別子３４２Ｂはアクティブであるが、ジェスチャ識別子３４２Ａ及びジェスチャ識別子３４２Ｎは非アクティブである。換言すれば、文法モジュール３４０Ｂによって検出されるジェスチャのタイプはアクティブであるが、文法モジュール３４０Ａ及び３４０Ｎによって検出されるジェスチャのタイプは、非アクティブである。
【００６１】
ジェスチャ選択モジュール３５０がアクティブなジェスチャ識別子３４２を受け取った後、ジェスチャ選択モジュール３５０は、アクティブなジェスチャ識別子３４２及び表現力パラメータ３６２に基づいて、ロボット１００が表現するはずのジェスチャを決定する。ある実施形態においては、表現力パラメータｘに基づいて、複数の異なる重みｗｉ（ｘ）が、ジェスチャのタイプのそれぞれに対して割り当てられる。表現力パラメータｘは、ロボット１００がジェスチャを行うときに認識されるはずの表現力の強さ又は水準を示す。無ジェスチャの表現力が最も低い値を有し、拍子ジェスチャが相対的に低い表現力を有し、アイコニクスジェスチャは中間の表現力を有し、隠喩ジェスチャはアイコニクスジェスチャよりも高い表現力を有し、直示ジェスチャはより高い表現力を有し、エンブレムジェスチャは最も高い表現力を有する。
【００６２】
図５は、本実施形態に係る、ジェスチャのタイプごとの重みｗａ（ｘ）〜ｗｆ（ｘ）を示すグラフである。ジェスチャのタイプに応じて、重みｗｉ（ｘ）の分布の中心点の値は様々な値を取りうる。所与のジェスチャタイプｉの重みの平均値μｉ、分散σｉ２が所与である場合、ジェスチャタイプｉの重みｗｉ（ｘ）は、表現力パラメータｘの変化に応じた、次の式１のようなガウシアン分布としてモデル化され得る。
【００６３】
【数１】
0005967838.tif 000002
【００６４】
ここで、ｘは、０より小さくなく、かつ、１より大きくない値を取る。
【００６５】
図５においては、曲線５１０、５１４、５１８、５２２、５２８及び５３２は、エンブレムジェスチャについての重みｗａ（ｘ）、アイコニクスジェスチャについての重みｗｂ（ｘ）、隠喩ジェスチャについての重みｗｃ（ｘ）、直示ジェスチャについての重みｗｄ（ｘ）、無ジェスチャについての重みｗｅ（ｘ）、及び、拍子ジェスチャについての重みｗｆ（ｘ）をそれぞれ示す。アイコニクスジェスチャ、隠喩ジェスチャ及び直示ジェスチャの平均値が、表現力パラメータｘの中間的な値であるのに比して、エンブレムジェスチャは、平均値が大きく、分散が相対的に小さく設定されている。無ジェスチャ及び拍子ジェスチャの分布は、表現力パラメータｘの全範囲に亘って広く設定されている。
【００６６】
図５においては、６つのタイプ（“無ジェスチャ”を含む）のジェスチャしか使用されていないが、ロボット１００が使用するジェスチャのタイプは、６つより多くてもよいし、少なくてもよい。
【００６７】
ある実施形態においては、ロボット１００が表現するはずのジェスチャタイプは、次の式２を使用して確率的に選択される。
【００６８】
【数２】
0005967838.tif 000003
【００６９】
ここで、単語シーケンス内の１つの単語についてのアクティブなジェスチャタイプの候補のすべてが、集合Ｃ内に含まれる。表現力パラメータｘの値が増加するにつれて、より表現力の高いジェスチャのタイプを選択する可能性が増加する。逆に、表現力パラメータｘの値が減少するにつれて、より表現力の低いジェスチャのタイプを選択する可能性が増加する。他の根拠に基づくよりは、確率的にジェスチャタイプを選択することが有利である。なぜならば、ロボット１００が表現するジェスチャの選択に無作為性を導入し得るからである。この無作為性のおかげで、ロボット１００は、たとえ同じテキストを話すときであっても同じジェスチャを表現することがなくなるので、人間にはロボット１００がより自然に見える。ある実施形態においては、単語又は句のような、文の一部に対して、選択されたジェスチャタイプが適用され得る。選択されたジェスチャタイプに基づいて、対応するジェスチャ識別子３５２が、動作生成部２３０に送られる。
【００７０】
（動作生成部の例）
図６は、ある実施形態に係る動作生成部２３０を示す図である。動作生成部２３０は、他の構成要素とともに、動作計画部６１０、動作テンプレートデータベース６２０、動作無作為化部６３０及び動作制御部６４０を含み得る。これらの構成要素は、図３に示されるジェスチャ生成部２１０と同じハードウエア構成によって実現されてもよい。
【００７１】
動作計画部６１０は、選択されたジェスチャ識別子３５２、タイミング情報３４４及び実体情報２４４に基づいて、ロボット１００が行うはずのジェスチャを示すジェスチャ記述子６１２を生成する。具体的には、動作計画部６１０は、選択されたジェスチャ識別子３５２に対応するジェスチャテンプレート６２６を検索し、必要であれば、実体情報２４４に基づく複数のパラメータを書き入れ、ジェスチャ記述子６１２を生成する。
【００７２】
動作テンプレートデータベース６２０は、複数のジェスチャテンプレート（テンプレートＡ〜Ｚ）を格納する。ジェスチャテンプレートは、ロボット１００の１又は複数のエフェクタの軌跡を記述する。ジェスチャテンプレートのそれぞれが、異なる複数のエフェクタの組合せの軌跡に関連付けられてもよい。他のジェスチャテンプレートが片手の軌跡及び頭の軌跡を記述する一方、いくつかのジェスチャテンプレートは、片手の軌跡だけを記述してもよい。ジェスチャテンプレートは、時系列の関節角度軌跡のような複数の別のパラメータを使用し得る。さらに、いくつかのジェスチャパラメータは、軌跡が画定される前に、追加的な情報又は追加的なパラメータを要求してもよい。例えば、聞き手を指すジェスチャに関連付けられたジェスチャテンプレートは、当該聞き手がどこにいるかを示すパラメータを含んでもよい。
【００７３】
具体的には、動作テンプレートデータベースに格納されている１つのテンプレートは、１つのジェスチャ識別子に対応付けられる。動作計画部６１０は、選択されたジェスチャ識別子３５２を受け取った後、動作テンプレートデータベース６２０から、当該ジェスチャ識別子３５２に対応付けられたジェスチャテンプレート６２６を検索する。ジェスチャテンプレートが追加的な情報又は追加的なパラメータを要求する場合は、動作計画部６１０は、ロボット１００の周囲にいる人間の座標値を示す実体情報２４４を要求し、実体情報２４４を受け取る。動作計画部６１０は、関連する実体の座標値又は他の情報を抽出し、当該座標値又は他の情報をジェスチャテンプレートに追加し、ジェスチャ記述子６１２を生成する。
【００７４】
ある実施形態においては、ジェスチャテンプレート６２６は、エフェクタが通過するはずの点であるキー点の集合を含む。このとき、コチャネックバーテル（ＴＣＢ）３次スプラインが使用されて、複数のキー点を用いて内挿補間することによって軌跡曲線を画定してもよい。他の実施形態においては、張力連続バイアス（ＴＣＢ）スプラインが使用されて、軌跡が複数のキー点からなる集合をいかに滑らかに、かつ、ずれることなく通過するかを制御してもよい。
【００７５】
動作計画部６１０は、ジェスチャテンプレートが定義する通りのジェスチャを、タイミング情報３４４に基づいて修正し、ジェスチャが音声と同期して起こることを保証してもよい。当該目的のために、動作計画部６１０は、音声合成部の出力２６２を使用して、音声の推定タイミングと音声合成部２６０が生成する音声の実際のタイミングとが一致するか否かを決定してもよい。タイミングが一致しない場合、動作計画部６１０は、ジェスチャ記述子６１２についての動作を、遅らせてもよいし進めてもよい。
【００７６】
さらに、ジェスチャ記述子６１２が画定した通りの軌跡が大きすぎて又は小さすぎて、話されている単語又は句と同期して当該軌跡が終了しない場合、エフェクタの軌跡の振幅を減少又は増加させてもよい。代替的に、ジェスチャが継続する時間の長さが、単語又は句が話される時間の長さに一致するように、軌跡が短縮されてもよいし繰り返されてもよい。
【００７７】
ロボット１００が前のジェスチャから又は開始姿勢から滑らかに遷移できるように、動作計画部６１０は、最終的なジェスチャテンプレートに対応する軌跡の前に、準備動作を加えてもよい。準備動作は、当該ジェスチャの初期姿勢が起きるはずの場所へエフェクタを移動すること、及び、ロボット１００の他の部分を動かすこと（例えば、ロボット１００の胴体を、目標人物に向き合うように動かすこと）を含んでもよい。対応する単語又は句が音声合成部２６０によって生成される前に、このような準備動作が行われ得る。このような準備動作に対応する軌跡は、ジェスチャ記述子６１２に含まれる。
【００７８】
動作計画部６１０は、ジェスチャ記述子６１２が定義する通りにジェスチャを修正し、現在の動作を撤回する、又は、現在の動作をロボット１００の他の動作と混合する。例えば、片腕を伸ばす動作が繰り返されるはずである場合、動作計画部６１０は、片腕を伸ばす次回の動作に移る前に、中立休止姿勢に戻る動作を挿入し、ロボット１００の動作を自然に見せる。
【００７９】
動作制御部６４０は、ジェスチャ記述子６１２を受け取り、アクチュエータ信号２５０を生成する。アクチュエータ信号２５０を生成するために、動作制御部６４０は、動作無作為化部６３０から乱数６２２を受け取り、エフェクタの軌跡に無作為性を与える。乱数６２２は、軌跡の振幅を増加させても減少させてもよく、及び／又は、エフェクタの速度を変更してもよい。このように、動作計画部６１０から同じジェスチャ記述子６１２が受け取られる場合であっても、ロボット１００は同じジェスチャを繰り返さないので、ジェスチャが人間にはより自然に見える。
【００８０】
ある実施形態においては、エフェクタの軌跡は、乱数６２２に依存するスタイルパラメータを使用して画定される。例えば、スタイルパラメータは、次の式３で定義され得る。
【００８１】
【数３】
0005967838.tif 000004
【００８２】
ここで、ｎは、現在のジェスチャ記述中のキーフレームの数であり、Ａは、ジェスチャ軌跡の振幅であり、Ｆは、繰り返されるジェスチャ成分（すなわち、ジェスチャに含まれる動作の単位）の周波数であり、Ｔｉは、張力であり、Ｃｉは、連続性であり、Ｂｉは、バイアスであり、ｔｉは、０から１までの間に正規化された、キーフレームｉの時間の長さである。キーフレームは、所与の時点における軌跡上の標本点である。一連のキーフレームを記述し、これらの点を補間することによって、異なる複数の空間点を用いて滑らかに遷移する軌跡が画定される。キーフレームは、しばしばスプラインで繋がれ、空間点間の滑らかで連続的な遷移を画定する。張力とは、内挿補間された軌跡中のキーフレームの前後の曲線の“緊張度”を意味する。高張力曲線は、各キーフレームにおいて鋭く曲がる一方、低張力曲線は、各キーフレームにおいてさほど鋭く曲がることはない。数学モデルの観点から言えば、張力は、各キーフレームにおける接線ベクトルの長さに対応する。連続性は、曲線の数学的な連続性を意味する。Ｃ０は、曲線が単に連続であることを意味する。Ｃ１は、曲線がその点において連続であり、かつ、その点において同じ１次の微分係数（すなわち、同じ速度）を有することを意味する。Ｃ２は、曲線が同じ点において連続であり、かつ、対応する１次の微分係数及び２次の微分係数（すなわち、加速度）を有することを意味する。数学的には、連続性は、曲線上の各点を終点とする接線ベクトルとその点を起点とする接線ベクトルとがなす角度の変化の鋭さを意味する。バイアスは、曲線のオーバーシュートの量を意味する。数学的には、バイアスは、各点における接線の方向を意味する。バイアス値「−１」は、接線ベクトルがアンダーシュートしていること、つまり、軌跡上の前の点の方向に向かって接線の傾きが大きくなっていくことを示す。一方、バイアス値「＋１」は、軌跡上の次の点の方向に向かって接線の傾きが大きくなっていくことを意味する。
【００８３】
発話文３３６を分析することによって決定された、又は、外部ソースから提供された情報によって示されたロボット１００の状態に応じて、乱数６２２の値は、複数の異なる範囲を取り得る。例えば、乱数６２２は、“興奮”状態については、０.６より小さくなく、１より大きくない値を取り、“中立”状態については、０.３より小さくなく、０.７より大きくない値を取り、“平静”状態については、０より小さくなく、０.４より大きくない値を取る。さらに、式３のパラメータＡ、Ｆ，Ｂｉ及びＴｉは、乱数６２２を線形変換又は非線形変換した値であってもよい。乱数６２２及びスタイルパラメータのより複雑な機能を使用してもよい。ある実施形態においては、乱数６２２は、所与のスタイルタグ（例えば、平静、興奮又は中立）に依存して変化する範囲にわたって生成される。乱数６２２は、式３の各スタイルパラメータの値を設定するために使用される。例えば、興奮状態では、早くかつ緊張した腕の動作に対応する非常に高い張力値及び高いバイアス値が設定される一方、平静状態では、高い連続性値が設定され滑らかな軌跡を創作する。
【００８４】
動作制御部６４０は、ジェスチャ記述子６１２によって画定された通りに軌跡を修正し、当業界で公知の方法でロボット１００の身体部分同士が衝突するのを防ぎ得る。
【００８５】
（ジェスチャ生成処理手順の例）
図７Ａ及び図７Ｂは，ある実施形態に係る、ジェスチャを生成する処理手順を示すフローチャートである。ジェスチャ生成部２１０は、発話文を受け取る（ステップ７０６）。発話文は、人間オペレータから受け取ってもよいし、コンピュータアルゴリズムから受け取ってもよい。次に、受け取られた発話文を分析して、当該テキストに追加ヒント又は他の情報がタグ付けされる（ステップ７１０）。ジェスチャ生成部２１０は、表現力パラメータｘも受け取る（ステップ７１４）。
【００８６】
ジェスチャ生成部２１０は、複数の文法モジュール３４０を使用して発話文及びタグ付けされた情報を分析し、単語シーケンスのある音声要素（例えば、単語又は句）に対してアクティブである、すなわち適用可能であると決定されたジェスチャのタイプごとにジェスチャ識別子３４２を生成する（ステップ７１６）。同じ単語シーケンス中であっても、音声要素が異なればジェスチャ識別子も変わるが、１つの音声要素の時間ごとに、単一のジェスチャ識別子が単一の文法モジュールから生成される。
【００８７】
次に、ジェスチャ生成部２１０は、文法モジュール３４０によって生成されたアクティブなジェスチャ識別子のうちから、表現力パラメータｘに基づいて、１つのジェスチャ識別子を選択する（ステップ７１８）。表現力パラメータｘが高い値である場合、表現力がより高いジェスチャが選択されやすい。逆に、表現力パラメータｘが低い値である場合、表現力がより低いジェスチャが選択されやすい。ある実施形態においては、式３が使用されて、アクティブなジェスチャ識別子のうちから１つのジェスチャ識別子を選択する。
【００８８】
次に、動作生成部２３０は、選択されたジェスチャ識別子に対応する動作テンプレートを検索する（ステップ７２２）。次に、動作生成部２３０は、ジェスチャテンプレートに対してパラメータ又は追加情報を追加することによって、ジェスチャ記述子を生成する（ステップ７２４）。追加されたパラメータ又は情報は、例えば、目標人物の座標値を示してもよい。
【００８９】
発話文が分析されて、音声中の音声要素（例えば、単語又は句）のタイミングを決定する（ステップ７２６）。ある実施形態においては、音声要素に対応するジェスチャを開始するタイミングが、音声要素が音声合成部２６０によって生成される時点に起こるように、音声要素の開始時点が決定される。
【００９０】
動作生成部２３０は、分析された音声要素のタイミング、ジェスチャ記述子、及び、前のジェスチャ（もしあれば）に基づいて、ジェスチャ動作を計画する（ステップ７３０）。計画の一部として、動作生成部２３０は、前のジェスチャ動作又は開始姿勢から、現在のジェスチャ動作の初期位置に至る準備動作も生成する。さらに、計画の一部として、動作生成部２３０は、ジェスチャ記述子によって画定された通りにジェスチャを修正して、動作をより自然に見せる。
【００９１】
動作生成部２３０は、無作為化パラメータも受け取る（ステップ７３４）。次に、計画された動作及び無作為化パラメータに基づいて、アクチュエータ信号が生成される（ステップ７３８）。例えば、振幅、速度又は（繰り返し動作についての）周波数が無作為化されたパラメータに基づいて修正されて、ジェスチャに無作為性を与えてもよい。無作為化されたパラメータは、ロボット１００によってジェスチャが表現されるときに、スタイルを修正してもよい。このようにすれば、ロボット１００が同じ又は類似のジェスチャを行ったとしても、ロボット１００のジェスチャは、機械的に繰り返されているようには見えなくなる。動作生成部２３０は、アクチュエータ信号を生成するときに、身体部分同士の衝突の可能性を考慮し、身体部分同士の衝突が回避され得るように、アクチュエータ信号を修正してもよい。
【００９２】
次に、生成されたアクチュエータ信号は、アクチュエータに送られ、身体部分の相対的な動きを引き起こす（ステップ７４２）。
【００９３】
図７Ａ及び図７Ｂを参照して記述された実施形態は、代表的なものに過ぎない。図７Ａ及び図７Ｂに示された処理に対して様々な修正がなされ得る。例えば、音声要素のタイミングの分析（ステップ７２６）は、他の処理と並行して行われてもよいし、ジェスチャ記述子を生成する（ステップ７２４）前に行われてもよい。１又は複数の処理が省略されてもよい。例えば、表現力パラメータを受け取る処理（ステップ７１４）が削除され、表現力パラメータに対応する無作為な値を生成する処理に置換されてもよい。
【００９４】
（代替的な実施形態）
１又は複数の実施形態において、ジェスチャを生成する処理は、現実のロボットとは対照的に、コンピュータグラフィック又はコンピュータ摸擬にも使用され得る。摸擬されたジェスチャが生成されユーザに対してスクリーン上に表示されて、コンピュータ化された仮想キャラクターを含むビデオシーケンスの生成を容易にする、又は、ロボットに対してなされる現実の操作を評価する。
【００９５】
１又は複数の実施形態において、発話文は、並列的に処理されるのではなく、複数の文法モジュールにおいて直列的に処理される。発話文が各文法モジュールにおいて処理されるので、ジェスチャ識別子は、各発話文で生成され得る。同じ単語又は句に対応するジェスチャ識別子のそれぞれは、動作生成部によって収集され、さらなる処理に備えて選択される。
【００９６】
１又は複数の実施形態において、ジェスチャ生成に関する処理は、遠隔コンピュータ１５０において遠隔実行され、動作生成に関する処理は、ローカルコンピュータ１４０において局地的に実行されてもよい。逆もまた同様である。さらに、ジェスチャ生成処理の一部又は動作生成処理の一部が、遠隔コンピュータ１５０上で実行されてもよい。
【００９７】
前記では、いくつかの実施形態に関して本発明を記述してきたが、本開示の主旨の範囲内で様々な修正が可能である。したがって、本発明の開示は、例示的なものであって、特許請求の範囲に記載された本発明の範囲を限定するものではない。
【図１】
0005967838.tif 000005
【図２】
0005967838.tif 000006
【図３Ａ】
0005967838.tif 000007
【図３Ｂ】
0005967838.tif 000008
【図４】
0005967838.tif 000009
【図５】
0005967838.tif 000010
【図６】
0005967838.tif 000011
【図７Ａ】
0005967838.tif 000012
【図７Ｂ】
0005967838.tif 000013