(57)【特許請求の範囲】
【請求項１】
少なくとも１人のユーザーが少なくとも１つのシナリオを編集および制御するシステムであって、前記少なくとも１つのシナリオがモータおよび発話機能を備える少なくとも１つのロボットにより実行されるべき少なくとも１つの挙動および話されるべきテキストを含み、前記システムが前記挙動およびテキストを編集するモジュール（２１０）を含み、前記編集モジュールが前記ロボットに関して自律的であり、かつ、前記ロボットにより話されるべき前記テキストの入力のためのサブモジュール、前記少なくとも１つの挙動と前記少なくとも１つのテキストを関連付ける少なくとも１つのシナリオを編集するサブモジュール（３２０）、および前記挙動を管理するサブモジュール（３４０）を含み、少なくとも１つのシナリオを編集する前記サブモジュールが前記少なくとも１つの挙動および前記少なくとも１つのテキストを含む前記シナリオの複合表示のための少なくとも１つの領域における前記少なくとも１つの挙動および前記少なくとも１つのテキストを含む前記シナリオの表現およびグラフィックな方法による関連付けのための機能を実行することができ、前記複合表示領域がビネット（５１０、５２０、５３０、５４０、５５０、５６０、５７０）を構成し、前記ビネットが、シナリオに従って、対応する挙動が実行されることを必要とするや否や、前記ロボット上で挙動実行モジュール（４６０）によって実行されるためにコンパイルスレッド（４２０）によりコンパイルされ得るコンピュータオブジェクトを構成する、編集および制御システム。
【請求項２】
請求項１に記載の編集および制御システムであって、前記少なくとも１つのビネットがウェイティングアイコン（５１１０，５２１０）、ロボット挙動アイコン（５３１０、５４１０、５５１０、５６１０、５７１０）および少なくとも１つの単語を含むテキスト吹き出し（５３２０、５４２０、５５２０、５６２０、５７２０）を含むグループに属する少なくとも１つのグラフィックオブジェクトを含み、前記テキストが前記ロボットにより話されることを意図されている編集および制御システム。
【請求項３】
請求項２に記載の編集および制御システムであって、ビネット（５４０、５７０）の前記挙動アイコン（５４１０、５７１０）が前記ビネット（５４０、５７０）中の少なくとも１つのテキスト吹き出し（５４２０、５７２０）に関連付けられる前記ロボットの個性および／または感情を表すグラフィックマーク（５４３０、５７３０）を含む編集および制御システム。
【請求項４】
請求項２に記載の編集および制御システムであって、前記シナリオの表現およびグラフィックな方法による関連付けのための機能が、さらに、前記少なくとも１つのビネットにより表されるアクションの進行を同期させる少なくとも１つのバナー（５Ｈ０）を表示することを含む編集および制御システム。
【請求項５】
請求項１〜４のいずれか一項に記載の編集および制御システムであって、それが入力において少なくとも１つのシナリオに識別子およびタイプを与えるように前記少なくとも１つのシナリオを条件づける機能（４１０）を実行するように構成されることにより特徴付けられる編集および制御システム。
【請求項６】
請求項１〜５のいずれか一項に記載の編集および制御システムであって、前記コンパイルスレッドが前記シナリオを句読点または行端により区切られるサブアセンブリに分割するように構成される編集および制御システム。
【請求項７】
請求項１〜６のいずれか一項に記載の編集および制御システムであって、さらに、前記挙動実行モジュール（４６０）による実行のために、前記ロボットのメモリへの前記少なくとも１つの挙動のプレローディングを制御する機能（４３０）を実行するように構成される編集および制御システム。
【請求項８】
請求項１〜７のいずれか一項に記載の編集および制御システムであって、さらに、前記少なくとも１つのテキストを前記少なくとも１つの挙動に同期させる機能（４４０）を実行するように構成される編集および制御システム。
【請求項９】
少なくとも１人のユーザーが少なくとも１つのシナリオを編集および制御する方法であって、前記少なくとも１つのシナリオがモータおよび発話機能を備える少なくとも１つのロボットにより実行されるべき少なくとも１つの挙動および話されるべきテキストを含み、前記方法が前記挙動およびテキストを編集するステップを含み、前記編集ステップが前記ロボットに関して自律的であり、かつ、前記ロボットにより話されるべき前記テキストの入力のためのサブステップ、前記少なくとも１つの挙動と前記少なくとも１つのテキストを関連付ける少なくとも１つのシナリオを編集するサブステップ、および前記挙動を管理するサブステップを含み、少なくとも１つのシナリオを編集する前記サブステップが前記少なくとも１つの挙動および前記１つのテキストの複合表示のための少なくとも１つの領域における前記少なくとも１つの挙動および前記少なくとも１つのテキストの表現およびグラフィックな方法による関連付けのための機能を実行し、前記複合表示領域がビネットを構成し、前記ビネットが、シナリオに従って、対応する挙動が実行されることを必要とするや否や、挙動実行ステップにおいて前記ロボット上で実行されるためにコンパイルスレッドによりコンパイルされ得るコンピュータオブジェクトを構成する、方法。
【請求項１０】
コンピュータプログラムがコンピュータ上で実行されたときに請求項９の方法の実行を可能にするプログラムコード命令を含むコンピュータプログラムであって、前記コンピュータプログラムが少なくとも１つのシナリオの編集を可能にするように構成され、前記少なくとも１つのシナリオがモータおよび発話機能を備える少なくとも１つのロボットにより実行されるべき少なくとも１つの挙動および話されるべきテキストを含み、前記コンピュータプログラムが前記の挙動およびテキストを編集するモジュールを含み、前記編集モジュールが前記ロボットに関して自律的であり、かつ、前記ロボットにより話されるべき前記テキストの入力のためのサブモジュール、前記少なくとも１つの挙動と前記少なくとも１つのテキストを関連付ける少なくとも１つのシナリオを編集するサブモジュール、および前記挙動を管理するサブモジュールを含み、少なくとも１つのシナリオを編集する前記サブモジュールが前記少なくとも１つの挙動および前記１つのテキストの複合表示のための少なくとも１つの領域における前記少なくとも１つの挙動および前記少なくとも１つのテキストのグラフィックな表現および提示のための機能を実行することができ、前記複合表示領域がビネットを構成し、前記ビネットが、シナリオに従って、対応する挙動が実行されることを必要とするや否や、挙動実行モジュールにより前記ロボット上で実行されるためにコンパイルされ得るコンピュータオブジェクトを構成する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットをプログラムするシステムの分野に属する。より正確には、それは、ロボット、特に人または動物の形として現れ、自己を表現し、関節でつながれているかまたはつながれていない手足を使って移動するロボットの脈絡に合致する挙動の制御に適用される。ロボットは、ある程度の人間の外観および機能の属性をもつや否や人型と表現されることがある：頭、胴体、２本の腕、おそらく２つの手、２本の脚、２つの足等。ロボットに人間のような外観および挙動を与えると思われる機能性の１つは、身振り表現と口頭表現間の高度の一致を与える可能性である。特に、この結果に直感的に到達できるならば、多数のユーザーグループが人型ロボット挙動のプログラミングを利用できるようになる。
【背景技術】
【０００２】
（特許文献１）は、この一般的課題に応えるシステムおよび方法を開示している。前記出願により開示された発明は、専門プログラマーのみ利用できる特殊化されたプログラミング言語を利用する先行技術の短所の一部の克服を可能にする。仮想エージェントおよびアバターの分野において、ＦＭＬ（ファンクションマークアップ言語）などの機能的または意図的レベル（物理作用とは無関係の）における挙動のプログラミングを行う特殊化言語またはＢＭＬ（挙動マークアップ言語）などの挙動それ自身のレベルにおける挙動のプログラミングを行う特殊化言語も（それは、機能を実行するためにバーチャルキャラクターの複数の部分を含む）、専門プログラマーのみ利用可能の状態に留まっており、通常の言語で書かれたスクリプトと統合することはできない。この発明は、先行技術のこれらの限界を乗り越えることを可能にする。
【０００３】
しかし、引用した特許出願に含まれている発明は、ロボットのリアルタイム制御を可能にしない。それは、「ストリーミング」を使用してコマンドをロボットに直接送ることができないエディタを使用するからである。ストリーミングとは、これらのコマンドがロボットの環境の進展に従って行われるであろうロボットの挙動とリアルタイムで相互作用できることである。特に、前記先行技術のロボットの場合、コマンドシナリオ中で予期していない事象が発生した場合、シナリオを最初からリプレーする必要がある。
【０００４】
コミックストリップにより枠組みの与えられるグラフィックな方法によりシナリオが定義され得る文脈内においてこの問題を解決するために、出願人は、多数行の記述により示される「ビネット」コンセプトに依存した。それは、本出願において、（非特許文献１）により与えられる意味の１つ、「コマにより区切られるコミックストリップ中の図形のそれぞれ」で使用される。
【０００５】
本発明は、上述した先行技術の問題の解決を可能にする。特に、本発明のロボットは、送り込まれたときに直ちに実行され得るシナリオからのテキストおよび挙動をグループ化するビネット内にグラフィックな方法により組み込むことができるエディタおよびコマンドインタープリータを備えている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１１／００３６２８号
【非特許文献】
【０００７】
【非特許文献１】辞書“Ｔｒｅｓｏｒ  ｄｅ  ｌａ  ｌａｎｇｕｅ  ｆｒａｎｃａｉｓｅ  ｉｎｆｏｒｍａｔｉｓｅ”（ｈｔｔｐ：／／ａｔｉｌｆ．ａｔｉｌｆ．ｆｒ／ｄｅｎｄｉｅｎ／ｓｃｒｉｐｔｓ／ｔｌｆｉｖ５／ｖｉｓｕｓｅｌ．ｅｘｅ？１２；ｓ＝２７７４１５７４９５；ｒ＝１；ｎａｔ＝；ｓｏｌ＝１；）
【発明の概要】
【課題を解決するための手段】
【０００８】
この目的のために、本発明は、少なくとも１つのシナリオを編集および制御するシステムを開示する。前記の少なくとも１つのシナリオは、モーターおよび発話機能を備えた少なくとも１つのロボットにより少なくとも１つの行われるべき挙動および話されるべきテキストを含む。また、前記システムは、前記挙動およびテキストを編集するモジュールを含み、前記編集モジュールは前記ロボットとの関係において自律的であり、また、ロボットにより話されるべき前記テキストの入力のためのサブモジュールおよび前記挙動を管理するサブモジュールを含み、前記編集モジュールはさらに前記の少なくとも１つの挙動および少なくとも１つのテキストの複合表示のための少なくとも１つの領域における前記の少なくとも１つの挙動および前記の少なくとも１つのテキストの表現およびグラフィックな結合のためのサブモジュールを含み、前記複合表示領域はビネットを構成し、前記ビネットは前記ロボット上で実行されるためにコンパイルされ得るコンピュータオブジェクトを構成する。
【０００９】
有利な結果をもたらすように、前記の少なくとも１つのビネットは、ウェイティングアイコン、ロボット挙動アイコンおよび少なくとも１語を含むテキスト吹き出しを含むグループに属する少なくとも１つのグラフィックオブジェクトを含んでおり、前記テキストはロボットにより話されることを目的としている。
【００１０】
有利な結果をもたらすように、ビネットの前記挙動アイコンは、ビネットにおいて少なくとも１つのテキスト吹き出しと関連付けられるロボットの個性および／または感情を表すグラフィックマークを含んでいる。
【００１１】
有利な結果をもたらすように、前記シナリオの前記グラフィック表現は、さらに、前記の少なくとも１つのビネットにより表されるアクションの進行を同期させるための少なくとも１つのバナーを含んでいる。
【００１２】
有利な結果をもたらすように、本発明の編集および制御システムは、さらに、前記シナリオを解釈するモジュールを含んでおり、前記解釈モジュールは前記の少なくとも１つのロボットに搭載されており、かつ、編集モジュールとストリーミングモードで通信する。
【００１３】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは、少なくとも１つのシナリオを条件付けるサブモジュールを含んでおり、前記サブモジュールは入力において前記の少なくとも１つのシナリオに識別子およびタイプを与えるように構成されている。
【００１４】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは、前記の少なくとも１つの挙動をコンパイルするサブモジュールを含んでおり、前記サブモジュールはオブジェクト構造の属性を前記挙動に関係付けるように構成されている。
【００１５】
有利な結果をもたらすように、前記コンパイルサブモジュールは、前記シナリオを句読点または行端により区切られるサブアセンブリに分割するように構成されている。
【００１６】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは、前記挙動実行モジュールによる実行のために、前記の少なくとも１つの挙動のロボットのメモリへのプレローディングを制御するサブモジュールを含んでいる。
【００１７】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは、前記の少なくとも１つのテキストを前記の少なくとも１つの挙動に同期させるサブモジュールを含んでいる。
【００１８】
本発明は、その上に、少なくとも１つのシナリオを編集および制御する方法を開示する。前記の少なくとも１つのシナリオは、モーターおよび発話機能を備える少なくとも１つのロボットにより実行されるべき少なくとも１つの挙動および話されるべきテキストを含んでおり、前記の方法は前記の挙動およびテキストを編集するステップを含んでおり、前記の編集ステップは前記ロボットとの関係において自律的であり、かつ、ロボットにより話されるべき前記テキストの入力のサブステップおよび挙動の管理のサブステップを含んでおり、前記編集ステップは、さらに、少なくとも１つのビネットにおける前記の少なくとも１つの挙動および前記の少なくとも１つのテキストの表現およびグラフィックな関連付けのサブステップを含んでいる。
【００１９】
本発明は、その上に、当該プログラムがコンピュータ上で実行されたときに本発明の方法の実行を可能にするプログラムコード命令を含むコンピュータプログラムを開示する。前記プログラムは少なくとも１つのシナリオの編集を可能にするように構成され、前記の少なくとも１つのシナリオはモーターおよび発話機能を備える少なくとも１つのロボットにより実行されるべき少なくとも１つの挙動および話されるべき少なくとも１つのテキストを含み、前記コンピュータプログラムは前記の挙動およびテキストを編集するモジュールを含み、前記編集モジュールは前記ロボットとの関係において自律的であり、かつ、ロボットにより話されるべき前記テキストの入力のためのサブモジュールおよび挙動を管理するサブモジュールを含んでおり、前記編集モジュールは、さらに、少なくとも１つのビネットにおける前記の少なくとも１つの挙動および前記の少なくとも１つのテキストの表現およびグラフィックな関連付けのためのサブモジュールを含んでいる。
【００２０】
本発明は、その上に、当該プログラムがコンピュータ上で実行されたときに本発明による方法の実行を可能にするプログラムコード命令を含むコンピュータプログラムを開示する。前記プログラムは少なくとも１つのシナリオの解釈を可能にするように構成され、前記の少なくとも１つのシナリオはモーターおよび発話機能を備える少なくとも１つのロボットにより実行されるべき少なくとも１つの挙動および話されるべき少なくとも１つのテキストを含み、前記コンピュータプログラムは前記シナリオを解釈するモジュールを含み、前記解釈モジュールは前記の少なくとも１つのロボットに搭載され、かつ、外部プラットフォームとストリーミングモードで通信する。
【００２１】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは前記の少なくとも１つの挙動をコンパイルするサブモジュールを含み、前記サブモジュールはオブジェクト構造の属性を前記挙動に関係づけるように構成されている。
【００２２】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは、前記挙動実行モジュール（４６０）による実行のために、前記の少なくとも１つの挙動のロボットのメモリへのプレローディングを制御するサブモジュールを含んでいる。
【００２３】
有利な結果をもたらすように、前記シナリオを解釈するモジュールは、前記の少なくとも１つのテキストを前記の少なくとも１つの挙動に同期させるサブモジュールを含んでいる。
【００２４】
本発明は、挙動ライブラリの作成およびロボットにより演じられるシーンのスクリプトへのそれの容易な挿入を可能にする。挙動は、各ビネットにおいてロボットの身振り挙動および感動挙動、およびその言葉と環境的要素（音楽、映像、他のキャラクタの言葉等）を表現するグラフィックなビネットによりモデル化される。このシナリオ作成インターフェースは直感的であり、リアルタイムで適合され得る複雑なシナリオのユーザによる容易な作成を可能にする。
【００２５】
本発明は、その上に、移動ロボットの挙動を編集および制御するシステムおよび方法に関する本件出願人の仏国特許第０９／５３４３４号明細書に対する適切な補完を提供する。前記出願は、ロボットに挙動を実行させる手段を与える。前記挙動は、プログラマーの利用可能な特殊化されたスクリプト言語を使用することにより、またはあらかじめプログラムされたライブラリ（これらのライブラリは、選択した後に、事象により接続される一連の挙動ボックスに挿入することができる）を呼び出すことによりグラフィックな方法により制御することができる。本発明は、ロボットの挙動をプログラムするインターフェースの単純化も可能にする。
【００２６】
複数の例示実施形態の記述および添付図から本発明がより良く理解され、また、その種々の特徴および長所も明らかとなるであろう。添付図の内容は以下のとおりである：
【図面の簡単な説明】
【００２７】
【図１】複数の実施形態により本発明を実施するシステムの物理的構造を示す。
【図２】本発明の複数の実施形態による処理動作の概要流れ図を示す。
【図３】本発明の複数の実施形態によるコマンド編集モジュールにおいて行われる処理動作の流れ図を示す。
【図４】本発明の複数の実施形態によるコマンド解釈モジュールにおいて行われる処理動作の流れ図を示す。
【図５ａ】本発明の実施形態においてロボットにより実行されるシナリオを構成するビネットを示す。
【図５ｂ】本発明の実施形態においてロボットにより実行されるシナリオを構成するビネットを示す。
【発明を実施するための形態】
【００２８】
図１は、複数の実施形態に従って本発明を実施するシステムの物理構造を示す。
【００２９】
人型ロボット１１０は、本発明の１つの実施形態における形状で示されている。このようなロボットは、特に、２００９年１０月１５日に公開された国際公開第２００９／１２４９５１号パンフレットにおいて開示されている。このプラットフォームは、本発明に通じた改良の基礎として採用された。本出願の以下の記述において、前記人型ロボットは、この一般名またはその商標であるＮＡＯ（商標）により、その言及の一般性を変ずることなく、無差別に示されることがある。
【００３０】
前記ロボットは、関節を駆動するセンサおよびアクチュエータを制御するための約２４枚の電子ボードを含んでいる。この電子制御ボードは、市販マイクロコントローラを備えている。これは、たとえば、Ｍｉｃｒｏｃｈｉｐ社のＤＳＰＩＣ（商標）でよい。これは、ＤＳＰと結合される１６ビットＭＣＵである。前記ＭＣＵは、１ｍｓのループサーボ制御サイクルをもっている。
【００３１】
このロボットは、他のタイプのアクチュエータ、特にＬＥＤ（発光ダイオード）も備えることができる。ＬＥＤの色および強度は、ロボットの感情を表すことができる。ロボットは、他のタイプの位置センサ、特に慣性装置、ＦＳＲ（接地圧センサ）等を備えることもできる。
【００３２】
頭部は、ロボットの知能、特に、高レベルの機能を実行するボードを備えており、この機能は、ロボットに与えられた任務、特に、本発明の脈絡の中では、専門プログラマーでないユーザーにより作成されたシナリオを実行するための任務をロボットが果たすことを可能にする。頭部は、特に言葉または映像を処理するかまたは同様に広域ネットワークＷＡＮ上の遠隔通信を設定する際にポートを開くために必要な符号化などのサービス入力／出力を処理することを目的として特殊化されたボードを備えることもできる。このボードのプロセッサは、市販ｘ８６プロセッサでよい。好ましくは、低消費プロセッサ、たとえばＩｎｔｅｌ社のＡＴＯＭ（商標）（３２ビット、１６００ＭＨｚ）を選択する。このボードは、一組のＲＡＭおよびフラッシュメモリも備えている。前記ボードは、ロボットの外界（挙動サーバ、他のロボット等）との通信の管理も行う。この通信は、通常はＷｉＦｉまたはＷｉＭａｘ通信レイヤ上、場合によってはおそらくＶＰＮ中にカプセル化されている標準プロコトルにより公衆移動データ通信ネットワーク上で行われる。このプロセッサは、通常、通常の高レベル言語（Ｃ、Ｃ＋＋、Ｐｙｔｈｏｎ等）または高レベル機能プログラム用のＵＲＢＩ（ロボット工学用特殊人工知能言語）などの特殊人工知能言語の使用を可能にする標準ＯＳにより駆動される。
【００３３】
ロボット１１０は、それに事前にプログラムにしておくことが可能な挙動を、特に仏国特許出願第０９／５３４３４号明細書（すでに引用した）において開示された発明に従って生成されたコードの手段により、実行することができる。前記のコードは、プログラマーによりグラフィックインターフェース上で作成されたものである。前記挙動は、同様に、専門プログラマーでないユーザーにより作成されたシナリオ中で国際公開第２０１１／００３６２８号パンフレット（やはりすでに引用された）において開示された発明を使用して前もって準備しておくことができる。第１の場合、これらは、比較的複雑な論理に従って結合された挙動とすることができる。この論理中の挙動の順序は、ロボットの環境で発生する事象により調整される。この場合、ユーザーは、最低限のプログラマー技能を持たなければならないが、Ｃｈｏｒｅｇｒａｐｈｅ（商標）スタジオを使用することができる。このスタジオの活動の主な方法は、引用された出願中で記述されている。第２の場合、シナリオの進行論理は原則として適応性をもたない。
【００３４】
本発明では、専門プログラマーでないユーザー、１２０が身振りおよび種々の運動、音声または可視信号、質問および回答を形成する言葉の発出を含む数組の挙動を含む複雑なシナリオを作成することができる。前記の種々の要素は、すべて、一連のビネット上のアイコンによりグラフィックな方法により表現される（図５参照）。以下において示すように、これらのビネットは、ロボットにより演じられるストーリーをプログラムするためのインターフェースを構成する。
【００３５】
図２は、本発明の複数の実施形態による動作を処理する概要流れ図を示す。
【００３６】
本発明の手順に従ってシナリオを作成するために、ＰＣ１２０は、ロボットに与えられるコマンドをグラフィックな方法により編集するソフトウェアモジュール２１０を含んでいる。アーキテクチャおよび動作について図３を参照しつつ詳しく説明する。
【００３７】
ＰＣはロボットと通信し、それにビネットを送る。ビネットは、実行されるために、ビネット２２０を解釈するソフトウェアモジュールにより解釈される。前記モジュール２２０のアーキテクチャおよび動作について図４を参照しつつ詳しく説明する。
【００３８】
ユーザーのＰＣは、有線インターフェースまたは無線により、またはロボットとユーザーが離れた場所に位置しており、広域ネットワーク経由で通信する場合には両方により、ロボットと通信する。後者のケースは図に示されていないが、それは本発明の可能な実施形態の１つである。
【００３９】
複数のロボットが単一のユーザーによりプログラムされるかまたは１個のロボットが複数のユーザーによりプログラムされるかまたは複数のロボットが複数のユーザーによりプログラムされる本発明の実施形態は図に示されていないが、これらのケースは、本発明の範囲内において全面的に可能である。
【００４０】
図３は、本発明の複数の実施形態に従ってコマンド編集モジュールにおいて行われる処理動作の流れ図を示す。
【００４１】
処理モジュール２１０は、シナリオファイル３１１０と通信するシナリオコレクタ３１０を含んでいる。このシナリオは、複数のシナリオ３２１０をメモリ中に同時にもつことができるシナリオエディタ３２０において可視的に表示され、かつ、変更され得る。シナリオは一般的にテキストに対応し、かつ、一連のビネットにより構成される。
【００４２】
本発明を実行するために、編集モジュールは、ビネットエディタ３３０を含んでいる。ビネットは、その中に挿入される基本挙動のためのコマンド（アイコンにより表される）をもっている。前記挙動は、ロボットにより再現され得る。テキストを挿入することも可能である（図５に関連して説明するように吹き出し中に挿入される）。前記テキストは、やはりロボットにより音声的に再現される。
【００４３】
編集モジュールは、通常、シナリオを定義するテキストを入力として受け取る。前記入力は、単にコンピュータキーボードを使用して直接に、またはテキスト型（＊．ｄｏｃ、＊．ｔｘｔ等）のファイルまたはｈｔｍｌファイル（おそらくそのＵＲＬアドレスにより示される）をシステムにロードすることにより行うことができる。前記ファイルは、遠隔サイトから、たとえばメッセージングシステム経由で受け取ることもできる。
【００４４】
この読み上げを行うために、システムまたはロボットは、音を出すためにスクリプトエディタからのテキストを解釈することができる合成装置を備えている。この音は、人型ロボットの場合の言葉または動物の挙動を表す音響のいずれでもよい。音響合成装置は、背景音、たとえば、場合により遠隔コンピュータ上で再生することができる環境音楽を再生することもできる。
【００４５】
ストーリーの読み上げは、次のようなロボット外部の事象の受領により開始することができる：
−  電子メッセージ（ｅメール、ＳＭＳ、電話呼またはその他のメッセージ）の受領
−  ホームオートメーション事象（たとえば、誰かがドアを開ける、誰かが照明のスイッチを入れる、またはその他の事象）
−  ユーザーによる動作−これを行うためにプログラムされるロボットのタッチセンサー領域（たとえばロボットの頭）に触れること、身振りまたは単語などでよい。
【００４６】
挙動コマンドは、前記挙動を示すアイコンによりビネット中に表される。非制限的な例示であるが、挙動コマンドは以下を生成することができる：
−  ロボットにより再現されるロボットの手足による運動（腕をあげること、移動等）
−  ロボット上に配置されるＬＥＤにより生成される照明効果
−  ロボットにより合成される音響
−  ロボットにより再現されるテキストの朗読方法を調整する音声設定（速度、音声、言語等）。
【００４７】
挙動コマンドは、選択した挙動制御アイコンをライブラリ３４１０からビネット編集モジュール３３０中に置かれているビネットにスライドすることにより挙動管理モジュール３４０の中に挿入することができる。編集モジュール３３０は、テキストのコピーおよび貼り付けも可能にする。ロボットに搭載されている解釈モジュールは、外部アプリケーションからの注釈テキストを解釈することができる。
【００４８】
有利な結果をもたらすように、本発明の範囲内において、外部アプリケーションは、Ｃｈｏｒｅｇｒａｐｈｅ（商標）ボックスとすることができるが、前記アプリケーションは、特に、すでに引用した仏国特許第０９／５３４３４号明細書において記述されたＮＡＯロボットをプログラムするソフトウェアである。前記注釈テキストは、同様にウェブページ、ｅメール、ショート・インスタント・メッセージ（ＳＭＳ）とすることができ、または、他のアプリケーションから到来することも可能である（モジュール３３０がそれらのアプリケーションを含めるために必要なインターフェースをもっている場合に）。
【００４９】
編修モジュール２１０は、ロボットをＰＣに接続する物理レイヤ上で送られるＸＭＬストリームを条件付ける通信管理モジュール３７０経由でロボットと通信する。解釈マネージャー３５０および通信マネージャー３６０は、編修モジュールを補完する。解釈マネージャー３５０は、テキストの解釈を開始するため、それを中止するため、および解釈に関する情報（たとえば、解釈がなされるテキスト中の一節）を与えるために使用される。通信マネージャー３６０は、ロボットに接続するため、切断するため、および接続に関する情報（たとえば、接続または不時の切断の状態）を受け取るために使用される。
【００５０】
図４は、本発明の複数の実施形態によるコマンド解釈モジュールにおいて行われる処理動作の流れ図を示す。
【００５１】
ｅメールボックスまたは移動電話からの注釈テキストなどの編集モジュール２１０のＸＭＬストリームおよびその他のストリームは、ビネット解釈モジュール２２０のサブモジュール４１１０による識別子（ＩＤ）およびタイプを備えている。キュー４１０中の識別されており、かつ、タイプの付されたストリームは、次にコンパイルスレッド４２０により挙動などの解釈可能なオブジェクトに変換される。文脈を離れており必ずしも明確でない挙動に対する参照は、それが記憶されている場所に対する経路の手段による挙動への直接参照に結合される同期タグにより置き換えられる。前記スレッドは、ビネットエディタ２１０の挙動管理モジュール３４０とやりとりする。このやりとりは、テキスト中の挙動に対する参照の検出を可能にする。コンパイルスレッドは、挙動に対応する可能性のあるタグを知らないので、それは、先ず第１に、テキスト中のそれらを検出することができるようにするために、挙動管理モジュールに対しすべてのこれらのタグを要求する必要がある。次に、それがテキスト中のタグを検出したとき、それは、挙動管理モジュールに対し、前記タグに対応する挙動が何であるか（たとえば、“ｌｏｌ”）問い合わせる。挙動管理モジュールは、それに対応する挙動への経路を与えることによりそれに応える（たとえば、“Ａｎｉｍａｔｉｏｎｓ／Ｐｏｓｉｔｉｖｅ／Ｌａｕｇｈ”）。これらのやりとりは、コンパイルスレッドと同期して行われる。
【００５２】
コンパイルスレッドが文の終わり（それは、句読点、行端等により定義されているであろう）を検出したとき、それは、その文をキュー４２１０に送る。シナリオの実行を速めるため、キュー４２１０からキュー４３１０へプレロードするスレッド４３０が設けられており、挙動への経路の形態のアドレスをもつ挙動が挙動実行モジュール４６０に直接送られる。したがって、識別子ＩＤによりプログラムされた呼び出しは、シナリオにより実行が必要になるや否や、隣接して存在している。これを行うために、実行モジュールは、次に挙動をプレロードし、そして実行準備ができている挙動のインスタンスの固有ＩＤを返す。したがって、実行モジュールは、前記挙動の実行が必要になったとき、直ちにそれを実行することができ、したがってテキストと挙動の同期が大幅に改善される。
【００５３】
同期スレッド４４０は、音声合成モジュール４５０により発話されるテキストと挙動実行モジュール４６０により実行される挙動が時間的に結合されることを可能にする。同期タグをもつテキストは音声合成モジュール４５０に送られるのに対し、同期のテンポに対応する挙動識別子ＩＤは挙動実行モジュール４６０に送られ、それにより実行されるべき挙動のＩＤに対応するプレロードされた挙動の呼出しが行われる。
【００５４】
前記ビネット解釈モジュールにおける処理動作の組織化は、ローディングの実現およびロボットにより実行されるべきシナリオの流れに乗った実行を可能にする。これは、ユーザーとロボット間の非常に滑らかな相互作用を可能とし、ユーザーは、たとえば、順次シナリオを作成し、自分の望むときにそれをロボットに送り込むことができる。そして前記ロボットは、シナリオのシーケンスを受け取った後に殆ど直ちにそれを実行することができる。
【００５５】
図５ａおよび５ｂは、本発明の１つの実施形態においてロボットにより実行されるシナリオを構成するビネットを示している。
【００５６】
完全に例示のためであるが、この図のシナリオは、１６枚のビネットを含んでいる。シナリオは、任意の枚数のビネットを含むことができる。第１のビネット５１０において、ロボットは、その頭５１２０上に置かれている触覚センサー５１１０が作動することを待機している。第２のビネット５２０において、ロボットは、触覚センサに対するタッチ動作から所定の時間５２２０の経過を待ち合わせている。第３のビネット５３０において、ロボットは第１キャラクタであり、ナレーターは５３１０であり、そしてキャラクタのグラフィック表現により記号化されている第１挙動を実行する。これは、吹き出し５３２０に書かれているテキストを前記第１キャラクターを特徴付ける声で読みながら１回転を行うことを含む。第４のビネット５４０において、ロボットは第２キャラクタ５４１０であり（例のシナリオでは、グラフィック記号５４３０により表されるバッタ）、そして、このキャラクタのグラフィック表示により記号化されている第２の挙動を行う。これは、ナレーターの声とは異なり、かつ、第２のキャラクタを特徴付ける声で吹き出し５４２０中に書かれているテキストを読みながら右腕を上方に振ることを含む。第５のビネット５５０において、ナレーターロボットはキャラクタ５５１０により表される静止位置にあり、そして吹き出し５５２０中に書かれているテキストを読む。第６のビネット５６０において、バッタロボット５６１０は、同じく、５５１０と同様に表される静止位置にあり、そして吹き出し５６２０中に書かれているテキストを読む。第７のビネット５７０において、ロボットは第３のキャラクタであり（例のシナリオにおいて、グラフィック記号５７３０により記号化されるアリ）、そしてテキスト５７２０を話す。
【００５７】
したがって、この図により示されているシナリオ例では、３種類の異なるキャラクタ５３１０、５４１０および５７１０が介在する。このキャラクタ個数は、制限されない。
【００５８】
挙動および感情の個数も制限されない。挙動は、Ｃｈｏｒｅｇｒａｐｈｅ、専門挙動エディタまたはその他のツールにおいて作成される挙動のベース３４１０から取り出すことができる。これらの挙動は、場合によっては、挙動ベース３４１０を管理する編集モジュール２１０の挙動管理モジュール３４０において変更することができる。本発明の実施の範囲内において、挙動オブジェクトは、名称、カテゴリ、場合によりサブカテゴリ、表現、場合により１つ以上のパラメータ、場合により１つ以上のファイルの結合（オーディオまたはその他）により定義される。ビネットは、ビネット５Ａ０に示すように複数の吹き出し、または最小限１語を含む吹き出しを含むことができる。
【００５９】
シナリオは、楽譜に対応してもしなくてもよいバナー５Ｈ０により特徴付けることもでき、前記楽譜は、ビネット／吹き出しのツリー構造に同期される。前記同期は、条件付きで実行される複数のレベルのビネットのインターリービングを容易にする。複数のバナーは、図においてバナー５Ｉ０により示されているように平行して進行することできる。
【００６０】
テキストは、種々の韻律（速度、音量、話しぶり、音声等）を使用して種々の言語により読まれ得る。本発明のシステムにおいて使用できる挙動および感情の種類は、制限されない。例として、音声は、男声、女声または子供の声でよい。音質は、多かれ少なかれ高くても低くてもよい。速度は、多かれ少なかれ速くてよい。抑揚は、ロボットがスクリプトのテキストに基づいてもつと思われる感情（愛情、驚き、怒り、喜び、小言等）に応じて選択することができる。スクリプトに伴う身振りは、例示であるが、スクリプトに関連して伝える必要のある感銘に従って、腕の上げ下げの動き、地団駄を踏むこと、頭を上下または左右に振ることなどとすることができる。
【００６１】
ロボットは、同様に非常に多様な方法により、たとえば、言葉、身振り、接触、光信号の発射などにより、その環境およびその対話者と相互作用することができる。例示であるが、ロボットが発光ダイオード（ＬＥＤ）を備えている場合、テキストを読んだときにロボットにより「感覚される」強い感情を表すために、または話し方の形式と速度に適した点滅を発生させるために発光ダイオードを作動させることができる。
【００６２】
ビネット５１０および５２０に示すように、一部のコマンドは、ロボットにより尋ねられた質問に応ずる動きなどの外部事象の中断のためおよび待機のためのコマンドとすることができる。
【００６３】
一部のコマンドは、ロボットのその環境に対する反応、たとえば、カメラまたは超音波センサにより捉えられた反応に依存することができる。
【００６４】
上述した例は、本発明の実施形態の説明のために与えたものである。それは、以下の請求項により定義される本発明の分野を決して制限しない。
【図１】
0006319772.tif 000002
【図２】
0006319772.tif 000003
【図３】
0006319772.tif 000004
【図４】
0006319772.tif 000005
【図５ａ】
0006319772.tif 000006
【図５ｂ】
0006319772.tif 000007