(57)【要約】ロボットを基準とした複数の区域の１つに物体（１１０９）を検出する検出手段（１１０３、１１０４）と、上記検出に応答して、検出された区域に対応する予め定められた行動を選択して実行する処理手段とを有するロボット（１１０２）を制御する方法。この方法は、各領域シンボルがロボットを基準とした区域のうちの対応する１つの区域を表す複数の領域シンボル（１１０６〜１１０８）を、グラフィカルユーザインタフェース（１１０１）を介してユーザに提示すること、各行動シンボルがロボットの少なくとも１つの各行動を表す複数の行動シンボル（１１２４〜１１２７）を、グラフィカルユーザインタフェースを介して提示すること、第１の区域に対応する、上記領域シンボルのうちの第１の領域シンボルに対して予め定められた関係にある行動シンボルの位置を示すユーザコマンドを受信すること、第１の区域に物体を検出したことに応答して、対応する行動を実行するようにロボット玩具を制御する命令を生成することを含む。
2004536634.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを基準とした複数の予め定められた区域のうちの第１の区域に物体を検出して、該第１の区域を識別する検出信号を生成する検出手段と、前記検出信号に応答して、複数の行動の中から、前記第１の区域に対応する予め定められた行動を選択して実行する処理手段とを備える前記ロボットを制御する方法であって、
各領域シンボルが前記ロボットを基準とした前記複数の区域のうちの対応する区域を表す複数の領域シンボルを、グラフィカルユーザインタフェースを介してユーザに提示すること、
各行動シンボルが前記ロボットの少なくとも１つの各行動を表す複数の行動シンボルを、前記グラフィカルユーザインタフェースを介してユーザに提示すること、
第１の区域に対応する、前記領域シンボルのうちの第１の領域シンボルに対して予め定められた関係にある第１の行動に対応する行動シンボルの位置を示すユーザコマンドを受信すること、
前記第１の区域に物体を検出したことに応答して、前記第１の行動を実行するように前記ロボット玩具を制御する命令を生成すること、
とを含むことを特徴とするロボットを制御する方法。
【請求項２】
前記方法は、少なくとも１つの選択された目標物体の識別情報を示すユーザコマンドを受信するステップをさらに含み、命令を生成する前記ステップは、前記少なくとも１つの選択された目標物体のうちの１つを前記第１の区域に検出したことに応答して、前記第１の行動を実行するように前記ロボット玩具を制御する命令を生成することをさらに含む、ことを特徴とする請求項１に記載のロボットを制御する方法。
【請求項３】
前記検出手段は、前記物体までの距離を示すセンサ信号を生成するようになっている距離センサを備え、前記領域シンボルのそれぞれは、物体からの予め定められた距離の範囲を表す、ことを特徴とする請求項１または２に記載のロボットを制御する方法。
【請求項４】
前記検出手段は、前記物体への方向を示すセンサ信号を生成するようになっている方向センサ手段を備え、前記領域シンボルのそれぞれは、物体への予め定められた方向の範囲を表す、ことを特徴とする請求項１ないし３のいずれか１項に記載のロボットを制御する方法。
【請求項５】
前記検出手段は、前記物体の向きを示すセンサ信号を生成するようになっている向きセンサ手段を備え、前記領域シンボルのそれぞれは、物体の予め定められた向きの範囲を表す、ことを特徴とする請求項１ないし４のいずれか１項に記載のロボットを制御する方法。
【請求項６】
前記行動シンボルのそれぞれは、前記ロボット玩具の一連の予め定められた物理的な行動に対応する、ことを特徴とする請求項１ないし５のいずれか１項に記載のロボットを制御する方法。
【請求項７】
命令を生成する前記ステップは、前記ロボットによって実行される状態機械用の命令を生成するステップを含む、ことを特徴とする請求項１ないし６のいずれか１項に記載のロボットを制御する方法。
【請求項８】
前記少なくとも１つの選択された目標物体は、前記状態機械の第１の状態に対応する、ことを特徴とする請求項７に記載のロボットを制御する方法。
【請求項９】
該方法は、前記生成された命令を含むダウンロード信号を生成すること、前記ロボット玩具に前記ダウンロード信号を伝達することとをさらに含む、ことを特徴とする請求項１ないし８のいずれか１項に記載のロボットを制御する方法。
【請求項１０】
ロボットを基準とした複数の予め定められた区域のうちの第１の区域に物体を検出して、該第１の区域を識別する検出信号を生成する検出手段と、前記検出信号に応答して、複数の行動の中から、前記第１の区域に対応する予め定められた行動を選択して実行する処理手段とを備える前記ロボットを制御するシステムであって、
各領域シンボルが前記ロボットを基準とした前記複数の区域のうちの対応する区域を表す複数の領域シンボルと、各行動シンボルが前記ロボットの少なくとも１つの各行動を表す複数の行動シンボルとを有するグラフィカルユーザインタフェースを表示スクリーン上に生成する手段と、
第１の区域に対応する、前記領域シンボルのうちの第１の領域シンボルに対して予め定められた関係にある第１の行動に対応する行動シンボルの位置を示すユーザコマンドを受信するようになっている入力手段と、
前記第１の区域に物体を検出したことに応答して、前記第１の行動を実行するように前記ロボット玩具を制御する命令を生成するようになっている処理装置と、
を含むことを特徴とするロボットを制御するシステム。
【請求項１１】
ロボットを基準とした複数の予め定められた区域のうちの第１の区域に物体を検出して、該第１の区域を識別する検出信号を生成する検出手段と、
前記検出信号に応答して、複数の行動の中から、前記第１の区域に対応する予め定められた行動を選択して実行する処理手段と、
を備えるロボットであって、
前記検出手段は、さらに、複数の予め定められた目標物体のうちの第１の目標物体として前記物体を識別して、対応する識別信号を生成するようになっており、
前記処理手段は、前記検出信号および前記識別信号を受信して、前記識別された第１の目標物体と、該識別された第１の目標物体が検出された前記第１の区域を識別する前記検出信号とに応じて、複数の行動のうちの少なくとも１つを選択して実行するようになっている、
ことを特徴とするロボット。
【請求項１２】
前記処理手段は、状態機械であって、
各状態が複数の予め定められた目標物体選択基準の１つに対応する複数の状態と、
前記識別信号に応答して、該状態機械の前記複数の状態のうちの第１の状態を選択する第１の選択モジュールと、
前記選択された第１の状態と、前記識別された目標物体が検出された前記第１の区域を識別する前記検出信号とに応じて、複数の行動のうちの１つを選択する第２の選択モジュールと、
を含む状態機械、を実施するようになっていることを特徴とする請求項１１に記載のロボット。
【請求項１３】
該ロボットは、データ処理システムによって生成された命令を含むダウンロード信号を受信する入力手段をさらに備え、前記命令は、対応する目標物体の識別情報および区域に関係したユーザ定義の行動に対応する、ことを特徴とする請求項１１または１２に記載のロボット。
【請求項１４】
請求項１１ないし１３のいずれか１項に記載のロボットを備える玩具セット。
【請求項１５】
請求項１１ないし１３のいずれか１項に記載のロボットを備えた玩具装置を備える玩具構築セットであって、前記玩具装置は、玩具構築要素の相補結合手段と相互接続する結合手段を備える、ことを特徴とする玩具構築セット。
【請求項１６】
データ処理システム上で実行されると、請求項１ないし９のいずれか１項の方法を実行するコンピュータプログラムコード手段を備えるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［発明の分野］
この発明は、ロボットを制御することに関し、詳細には、ロボットを基準とした予め定められた複数の区域のうちの第１の区域に物体を検出して、その第１の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第１の区域に対応する予め定められた行動を選択して実行する処理手段とを含むロボットに関する。
【０００２】
［発明の背景］
ロボット玩具は、子供、若者、および大人に人気のあるタイプのロボットである。ロボット玩具で遊んでいる間に達成される満足度は、その環境と相互作用するロボット玩具の能力に強く依存する。環境には、ロボットで遊んでいる人、例えば居間の家具などのさまざまなタイプの障害物、他のロボット玩具、ならびに気温および光の強度といった状況が含まれ得る。
【０００３】
同じ限られた数の行動を繰り返すロボット玩具は、ユーザの興味がすぐに冷めてしまう。したがって、環境と相互作用する能力を増加させることが主な関心事である。環境との相互作用は、環境を検知するステップと、判断を行うステップと、行動するステップとを含み得る。特に、行動は、例えば鬼ごっこや、ロボットにさまざまな作業をさせるなどの子供が関与したいと望む遊びの状況に依存すべきある。
【０００４】
環境との相互作用を高度化させるこのような目的を達成するために、基本的な必須条件となるものは、環境を検知する手段である。この意味で、例えば同じまたは同様の種類もしくは種のロボット玩具と通信する手段、および、他のこのようなロボット玩具の位置を判断する手段は重要である。
【０００５】
ロボットの検知手段および行動手段が発展するほど、ロボットは、周りの環境とのより複合化した相互作用を持つことができ、環境の複雑さをより細かく反映することになる。したがって、複雑な挙動は、高度な検知手段、行動手段、および通信手段に由来する。
【０００６】
米国特許第５，８１９，００８号は、移動ロボット間の衝突、および、移動ロボットと他の障害物との間の衝突を防止するセンサシステムを開示している。各移動ロボットは、さまざまな方向に送信データを送信する複数の赤外線信号送信機と、さまざまな方向からの送信データを受信する複数の赤外線受信機とを含む。送信データは、送信したロボットの運動方向に関する情報を含む。各ロボットは、別の移動ロボットが検出された方向および別のロボットが信号により送信した運動方向に応じて、予め定められた衝突回避動作を実行するように、その移動ロボットを制御する制御装置をさらに備える。
【０００７】
しかしながら、上記従来技術の移動ロボットは、ユーザには、すぐに単調に見えてくる同じ限られた数の行動を繰り返す。したがって、このロボットは、ユーザの興味がすぐに冷めてくる。
【０００８】
このため、上記従来技術のシステムは、移動ロボットが、知的であるとユーザが知覚できる、変化する状況依存型の挙動によって、他のロボットの中を移動することができないという不都合を含んでいる。
【０００９】
［発明の概要］
上記のおよび他の問題を解決するのは、ロボットを基準とした複数の予め定められた区域のうちの第１の区域に物体を検出して、該第１の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第１の区域に対応する予め定められた行動を選択して実行する処理手段とを備える上記ロボットを制御する方法であって、
各領域シンボルが上記ロボットを基準とした上記複数の区域のうちの対応する区域を表す複数の領域シンボルを、グラフィカルユーザインタフェースを介してユーザに提示すること、
各行動シンボルが上記ロボットの少なくとも１つの各行動を表す複数の行動シンボルを、上記グラフィカルユーザインタフェースを介してユーザに提示すること、
第１の区域に対応する、上記領域シンボルのうちの第１の領域シンボルに対して予め定められた関係にある第１の行動に対応する行動シンボルの位置を示すユーザコマンドを受信すること、
上記第１の区域に物体を検出したことに応答して、上記第１の行動を実行するように上記ロボット玩具を制御する命令を生成すること
とを含むことを特徴とするロボットを制御する方法である。
【００１０】
その結果、他のロボットとの位置関係に応じたロボットの挙動が、ユーザによって制御可能となる。ロボットをプログラムするグラフィカルユーザインタフェースが提供され、このグラフィカルユーザインタフェースは、ユーザ、さらには空間の抽象性についての能力が限られている子供にとっても理解しやすい方法で空間条件を提示する。ユーザには、ロボットの周りの複数の区域および複数の行動シンボルの図形表現が表示される。複数の行動シンボルのそれぞれは、ある一定の行動を表し、ユーザは、複数の行動シンボルのそれぞれを異なる区域に配置することができる。その結果、ロボットをカスタム化してプログラムするツールであって、高度な技術的熟練も抽象的な論理能力もないユーザによって使用可能なツールが提供される。
【００１１】
ここで、区域という用語は、ロボットを基準とした位置の予め定められた組または範囲を含み、例えば、ロボットを基準としたある一定のセクタや、ロボットが移動する面に平行な平面内のある一定の領域などを含む。したがって、ロボットが、当該ロボットの区域の１つで別のロボットを検出すると、これら２体のロボットは、あらかじめ定められた位置関係を有する。例えば、２体のロボット間の距離が、ある一定の範囲内にあったり、他方のロボットが、検出側ロボットの運動方向を基準として、ある一定の方向範囲内の方向に位置したりするなどである。
【００１２】
検出手段という用語は、別の物体またはロボットとの位置関係を検出するのに適したあらゆるセンサを含む。このようなセンサの例としては、例えば電波、可視光、赤外光などといった電磁波の送信機および／または受信機が含まれる。この手段は、赤外光放射器および赤外光受信機を備えることが好ましい。
【００１３】
好ましい実施の形態では、ロボットは、ロボットの周りにおける、ロボットを基準とした予め定められた場所の複数の区域に信号を放射する手段を備え、この手段は、ロボットの周りの個々の区域に特有の情報を上記信号に搬送させるように構成される。
【００１４】
その結果、ロボットの向きを判断する情報が、区域ごとに放射される。向きの精度は、区域の個数によって決定される。個々の区域に特有の情報は、区域がその場所から識別できる当該場所に向けて放射される。この情報が、ロボットを基準とした予め定められた場所に向けて送信されるので、ロボットの向きを判断することができる。
【００１５】
好ましい実施の形態では、この手段は、相互に距離を置き、かつ、相互にオフセット角度をもって取り付けられる個々の放射器として構成されて、ロボットの周りに空間的な放射照度区域を確立する。これにより、区域特有の情報をそれぞれの区域に向けて送信する簡単な実施の形態が得られる。
【００１６】
個々の区域に特有の情報が、時間多重信号として区域ごとに放射されると、信号のタイミングを制御することにより、異なる区域に送信された信号間の干渉を回避することができる。
【００１７】
少なくとも１つの放射器が、そのロボットについての情報を有するメッセージ信号を他のロボットに送信するように制御されると、他のロボットは、自らの裁量でこの情報を受信することができ、自身のルールに従ってその情報を解釈することができる。このルールは、通常、コンピュータプログラムとして実施され、更には、あるタイプの挙動を実施することができる。このような情報の例として、ロボットやロボットのタイプなどの識別情報、ロボットの内部状態についての情報などが含まれる。
【００１８】
本発明の好ましい実施の形態では、上記方法は、少なくとも１つの選択された目標物体の識別情報を示すユーザコマンドを受信するステップをさらに含み、命令を生成する上記ステップは、上記少なくとも１つの選択された目標物体のうちの１つを上記第１の区域に検出したことに応答して、上記第１の行動を実行するように上記ロボット玩具を制御する命令を生成することをさらに含む。その結果、どのロボットが検出されたか、どのタイプのロボット／物体であるかなどに応じて、ロボットの行動を変更するように当該ロボットを制御することができる。これにより、ロボットの挙動が状況に依存するので、可能な行動の多様性が増大し、ロボットとの対話がはるかに興味のあるものとなる。選択された目標ロボットは、例えば、ある一定のタイプの任意のロボットや任意のリモコンなどのように、特定のロボットまたは他のデバイスであってもよいし、複数の目標ロボットからなるグループであってもよい。例えば、さまざまなロボットまたはさまざまなロボットのチームが、互いに協力し合ったり、互いに競争したりするゲームのシナリオをプログラムすることができる。
【００１９】
検出手段の他の例としては、磁気センサ、無線送信機／受信機などが含まれる。例えば、ロボットは、さまざまな出力レベルおよびさまざまな周波数で電波を送信する無線送信機を含むことができる。このさまざまな周波数は、さまざまな出力レベルに対応する。ロボットは、さらに、このような電波を受信して、それら電波の対応する周波数を検出する対応の受信機を備えることができる。受信した周波数から、ロボットは、別のロボットまでの距離を判断することができる。
【００２０】
好ましい実施の形態では、上記検出手段は、特定の情報を搬送するデジタル信号によって制御される。
【００２１】
この検出手段が、物体までの距離を示すセンサ信号を生成するようになっている距離センサを備え、領域シンボルのそれぞれが、物体からの予め定められた距離の範囲を表す場合には、さまざまな区域を区別する簡単な測度が提供される。
【００２２】
区域は、それぞれの出力レベルで上記信号を放射する上記手段を制御することにより確立することができ、このそれぞれの出力レベルで、信号は、その特定の出力レベルを識別する情報を含む。したがって、信号の送信機までの距離を判断する情報が提供される。
【００２３】
距離を判断するための信号の送信機までの距離は、信号が送信された特定の出力レベルを識別する情報を有する信号を受信する手段と、その情報を、システムと信号を送信した送信機との間の距離を表す情報に変換する手段とを備えるシステムによって判断することができる。
【００２４】
本発明の好ましい実施の形態では、上記検出手段は、上記物体への方向を示すセンサ信号を生成するようになっている方向センサ手段を備え、上記領域シンボルのそれぞれは、物体への予め定められた方向の範囲を表す。
【００２５】
システムは、遠隔のロボットの周りにおける、そのロボットを基準とした複数の区域の１つに特有の情報を搬送する信号を受信する手段と、個々の区域に特有の情報を抽出して、その情報を、遠隔のロボットの向きを表す情報に変換する手段とを備えることができる。これにより、上述したようなロボットの向きについての情報を有する送信信号は、受信されて、その遠隔のロボットの向きの表現に変換される。遠隔のロボットの向きについてのこの知識は、さまざまな目的、すなわち、遠隔のロボットの動作の追尾または追従のため、遠隔のロボットの物理的な動作によって信号により伝達されるそのロボットの挙動状態の感知のために使用することができる。
【００２６】
本発明の好ましい実施の形態では、上記検出手段は、上記物体の向きを示すセンサ信号を生成するようになっている向きセンサ手段を備え、上記領域シンボルのそれぞれは、物体の予め定められた向きの範囲を表す。
【００２７】
したがって、システムが、遠隔のロボットからの信号を受信して、受信信号の発生方向を判断することによって遠隔のロボットへの方向を判断する手段を備えると、遠隔のロボットの向きおよび遠隔のロボットへの方向の双方が判明する。これにより、遠隔のロボットの向きを判断する目的で遠隔のロボットから送信された信号は、遠隔のロボットへの方向を判断することにも使用することができる。発生方向は、例えば、各検出器が相互にオフセットの角度をもって配置された検出器の配列によって判断することができる。
【００２８】
ここで、物体という用語には、検出手段によって検出可能なあらゆる物理的な物体が含まれる。物体の例としては、他のロボット、リモコンまたはロボットコントローラ、ロボットの検出手段によって検出できる信号の、他の静止した送信デバイス／受信デバイスが含まれる。別の例として、ロボットによって放射された信号を反射する物体などが含まれる。
【００２９】
処理手段という用語には、汎用もしくは専用のプログラム可能なマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックアレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、専用電子回路、他の適切な処理装置など、またはそれらの組み合わせが含まれる。
【００３０】
行動は、ロボットの簡単な物理的行動であってもよく、例えば、予め定められた時間または距離だけ前方に移動すること、予め定められた角度だけ回転すること、スピーカを介して音を生成すること、ＬＥＤなどの光放射器を起動すること、腕を上げたり、頭を回転させたりといったロボットの可動部を動かすことなどがある。
【００３１】
好ましい実施の形態では、行動シンボルのそれぞれは、ロボット玩具の予め定められた一連の物理的行動に対応する。このような一連の行動の例として、短い距離を後方に移動して、左に回転して、前方に移動することが含まれ得る。その結果、障害物の回りを移動するというより複雑な行動が行われる。他のロボットのような物体との位置関係の検出に応じた複雑で複合的な挙動を容易にプログラムできることが、本発明の利点である。
【００３２】
領域シンボルは、区域の任意の適切な図形表現を含むことができる。領域シンボルの例としては、円、楕円、または他の形状が含まれ、これらの形状は、上記検出手段の検出区域の位置および範囲に対応するように、ロボットの位置の周りに延びて配置される。ロボットの位置は、予め定められたシンボルによって示すことができ、ロボットの画像や描画などによって示されることが好ましい。
【００３３】
行動シンボルは、さまざまな行動を表すアイコンまたは他のシンボルとすることができる。さまざまな行動は、さまざまなアイコン、色彩、形状などによって区別することができる。行動シンボルは、グラフィカルユーザインタフェースの制御要素とすることができ、ポインティングデバイスによって起動されて、対応する命令を上記処理手段に生成させる制御信号を生成するようになっていることができる。好ましい実施の形態では、行動シンボルは、ドラッグ・アンド・ドロップ操作を介して起動され得る。このドラッグ・アンド・ドロップ操作により、領域シンボルの１つに関係した行動シンボルは、例えば領域シンボルの１つの内部や、その領域シンボル内の予め定められた位置や、その領域シンボルの端部などに置かれる。行動シンボルが起動されると、その行動シンボルの識別情報と、その行動シンボルが関係する領域シンボルの識別情報とを含む制御信号が生成される。
【００３４】
ユーザコマンドを受信する他の例としては、ポインティングデバイスによる行動シンボルのクリック、および、その後の領域シンボルの１つのクリックを検出することが含まれる。これにより、行動シンボルが領域シンボルと関係付けられる。
【００３５】
入力手段という用語には、領域シンボルと関係した行動シンボルの配置を示すユーザコマンドを受信する任意の回路またはデバイスが含まれる。入力デバイスの例としては、例えばコンピュータマウス、トラックボール、タッチパッド、タッチスクリーンなどのポインティングデバイスが含まれる。入力手段という用語は、さらに、例えば音声インタフェースなどの他の形態のマンマシンインタフェースを含むことができる。
【００３６】
命令という用語は、対応する行動をロボットに実行させる任意の制御命令を含むことができる。命令は、特定のモータ、アクチュエータ、ライト、サウンドジェネレータなどを直接起動させる低レベルの命令を含むことができる。一実施の形態では、命令は、例えば「３秒間、前に移動せよ」、「２０度、右に回転せよ」などの高レベルの命令を含む。これらの高レベルの命令は、ロボットによって処理されて、対応する複数の低レベルの命令に変換される。これにより、ロボットに送信される命令を、ロボットの特定の機能、例えばモータ、ギアなどのタイプに依存しないものとすることができる。
【００３７】
好ましい実施の形態では、命令を生成する上記ステップは、上記ロボットによって実行される状態機械用の命令を生成するステップを含む。
【００３８】
上記少なくとも１つの選択された目標物体は、上記状態機械の第１の状態に対応することが好ましい。
【００３９】
別の好ましい実施の形態では、上記方法は、上記生成された命令を含むダウンロード信号を生成すること、上記ロボット玩具に該ダウンロード信号を通信することとをさらに含む。このダウンロード信号は、任意の適切な通信リンクを介してロボットに転送することができる。この任意の適切な通信リンクとしては、例えば、シリアル接続のような有線接続、または、例えばＩｒＤＡ接続といった赤外線接続、ブルートゥース接続のような電波接続などの無線接続がある。
【００４０】
上述した本方法および以下に説明する本方法の機能は、ソフトウェアで実施されて、データ処理システム、または、コンピュータにより実行可能な命令の実行によってもたらされる他の処理手段によって実行できることに留意されたい。命令は、記憶媒体から、または、コンピュータネットワークを介した別のコンピュータから、ＲＡＭのようなメモリにロードされるプログラムコード手段であってもよい。あるいは、説明された機能は、ソフトウェアではなく、ハードウェア回路によって実施することもできるし、ソフトウェアと組み合わされたハードウェア回路によって実施することもできる。
【００４１】
さらに、上述した方法および以下に説明する方法、ロボット、さらなる製品手段を含む本発明は、さまざまな形式で実施することができる。それぞれは、最初に述べた方法と共に説明した利益および利点の１つまたは２つ以上をもたらし、それぞれは、最初に述べた方法と共に説明した好ましい実施の形態およびその従属請求項に開示した好ましい実施の形態に対応する１つまたは２つ以上の好ましい実施の形態を有する。
【００４２】
本発明はさらに、ロボットを基準とした複数の予め定められた区域のうちの第１の区域に物体を検出して、該第１の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第１の区域に対応する予め定められた行動を選択して実行する処理手段とを備える上記ロボットを制御するシステムであって、
各領域シンボルが上記ロボットを基準とした上記複数の区域のうちの対応する区域を表す複数の領域シンボルと、各行動シンボルが上記ロボットの少なくとも１つの各行動を表す複数の行動シンボルとを有するグラフィカルユーザインタフェースを表示スクリーン上に生成する手段と、
第１の区域に対応する、上記領域シンボルのうちの第１の領域シンボルに対して予め定められた関係にある第１の行動に対応する行動シンボルの位置を示すユーザコマンドを受信するようになっている入力手段と、上記第１の区域に物体を検出したことに応答して、上記第１の行動を実行するように上記ロボット玩具を制御する命令を生成するようになっている処理装置と、
を含むことを特徴とするロボットを制御するシステムに関する。
【００４３】
本発明はさらに、ロボットを基準とした複数の予め定められた区域のうちの第１の区域に物体を検出して、該第１の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第１の区域に対応する予め定められた行動を選択して実行する処理手段と、を備える上記ロボットであって、上記検出手段は、さらに、複数の予め定められた目標物体のうちの第１の目標物体として上記物体を識別して、対応する識別信号を生成するようになっており、上記処理手段は、上記検出信号および上記識別信号を受信して、上記識別された第１の目標物体と、該識別された第１の目標物体が検出された上記第１の区域を識別する上記検出信号とに応じて、複数の行動のうちの少なくとも１つを選択して実行するようになっている、ことを特徴とするロボットに関する。
【００４４】
好ましい実施の形態では、上記処理手段は、状態機械であって、
各状態が複数の予め定められた目標物体選択基準の１つに対応する複数の状態と、
上記識別信号に応答して、上記状態機械の上記複数の状態のうちの第１の状態を選択する第１の選択モジュールと、
上記選択された第１の状態と、上記識別された目標物体が検出された上記第１の区域を識別する上記検出信号とに応じて、複数の行動のうちの１つを選択する第２の選択モジュールと、
を含む状態機械、を実施するようになっている。したがって、状態機械の各状態が、選択基準によって指定される１つまたは２つ以上の目標物体に関係付けられる場合、状態機械の状態は、状況に依存した挙動を実施する。一実施の形態では、選択基準は、任意のロボット、任意のロボット制御デバイス、ユーザのロボット制御デバイス、相手チームの任意のロボットなどの目標物体のタイプの仕様である。この選択基準に代えて、または、それに加えて、選択基準は、ロボット／物体の識別子、ロボット／物体の識別子の一覧または範囲などを含むことができる。
【００４５】
さらに、本発明は、上述したロボットおよび以下に説明するロボットを備える玩具セットに関する。
【００４６】
さらに、本発明は、上述したロボットおよび以下に説明するロボットを備えた玩具装置を備える玩具構築セットであって、上記玩具装置が、玩具構築要素の相補結合手段と相互接続する結合手段を備える、玩具構築セットに関する。
【００４７】
本発明について、以下に、図面を参照しながら、好ましい実施の形態と共により十分に説明することとする。
【００４８】
［好ましい実施の形態の詳細な説明］
図１ａは、第１のロボットおよび第２のロボットの平面図を示している。この図では、２体のロボットの相対的な位置、距離、および向きが示されている。２体のロボット間のこの空間的関係を説明するために、第２のロボット１０２は、ｘ軸およびｙ軸を有する座標系の原点に位置する。第１のロボット１０１は、第２のロボット１０２から距離ｄ離れ、向きに関して第２のロボットの方向αに位置する。第１のロボットの第２のロボットに対する向き（すなわち、垂直軸１０３の回りの回転角）は、φと測定することができる。
【００４９】
ｄ、α、およびφの知識が、第２のロボット１０２に利用可能である場合、第２のロボット１０２は、第１のロボット１０１に応答して移動することができる。この知識は、あるタイプのロボット間の挙動を実施するシステムへの入力として使用することができる。ｄ、α、およびφの知識は、ロボット位置システムが保持することができる。ｄ、α、およびφは、それぞれのタイプの間隔、すなわち距離の間隔または角度の間隔を示す離散信号として提供することができる。
【００５０】
本発明によると、以下により十分に説明するように、ｄ、α、またはφの知識は、第１のロボットの周りのそれぞれの限られた領域に、各信号が空間領域識別情報を搬送する信号を放射することにより得られる。第２のロボットは、空間領域識別情報の関連する値およびそれぞれの領域の関連する値を調べることができると、ｄ、α、および／またはφを求めることができる。
【００５１】
放射される信号は、赤外線光信号、可視光信号、超音波信号、無線周波信号などの形態のものが可能である。
【００５２】
上述した領域は、以下では区域と記されることに留意すべきである。
【００５３】
図１ｂは、ロボット、および、放射される信号の空間的な放射照度特性によって定められる区域の平面図を示している。ロボット１０４は、信号ＴＺ１、ＴＺ１２、ＴＺ２、ＴＺ２３、ＴＺ３、ＴＺ３４、ＴＺ４、およびＴＺ１４を、４つの放射器（図示せず）の放射照度特性によって定められるそれぞれの区域に送信することができる。放射器は、ロボット１０４の周りに、相互に重なる放射照度区域を確立するように、相互に距離を置き、かつ、相互にオフセット角度をもって配置される。信号ＴＺ１、ＴＺ１２、ＴＺ２、ＴＺ２３、ＴＺ３、ＴＺ３４、ＴＺ４、およびＴＺ１４を互いに一意に識別でき、かつ、信号が受信可能である場合には、それらの区域のいずれにおいて信号が受信されるかを推定することができる。これについては、より詳細に説明する。
【００５４】
図１ｃは、ロボット、および、受信信号の空間的な感度特性によって定められる区域の平面図を示している。ロボット１０４は、通常は上述したタイプの信号ＲＺ１、ＲＺ１２、およびＲＺ２を受信することもできる。また、受信機も、ロボット１０４の周りに、相互に重なる受信区域を確立するように、相互に距離を置き、かつ、相互にオフセット角度をもって配置される。対応する１つの受信機または複数の受信機の受信区域の位置の知識により、信号が受信される方向を求めることができる。これについても、より詳細に説明する。
【００５５】
図１ｄは、各ロボットが、他方のロボットの放射照度／感度区域の一方に存在する２体のロボットの平面図を示している。ロボット１０６は、受信区域ＲＺ１を確立する右前方の受信機により信号を受信する。これにより、ロボット１０５の方向は、右前方の方向であると推定することができる。さらに、信号ＴＺ１が識別され、ロボット１０５に対する空間区域の場所にマッピングされると、ロボット１０６では、ロボット１０５の向きを推定することができる。その結果、ロボット１０５の方向およびロボット１０５の向きの双方を、ロボット１０６で推定することができる。このために、ロボット１０５は、上述したタイプの信号を放射しなければならない一方、ロボット１０６は、その信号を受信できて、かつ、ロボット１０５の放射照度区域の情報を持たなければならない。通常、送信システムおよび受信システムの双方は、１体のロボット内に具体化される。
【００５６】
図１ｅは、ロボット、および、さまざまな出力レベルで放射された信号の空間的な放射照度特性によって定められる区域の平面図を示している。ロボット１０７は、区域特有の信号が異なる出力レベルで放射されることを付加することにより、図１ｂに示すような区域特有の信号を放射することができる。各出力レベルにおいて、信号は、その出力レベルを識別する情報を含む。これにより、ロボット１０７は、区域（Ｚ１，Ｚ２，…）に特有の情報およびロボット１０７からの距離間隔を有する信号を放射する。距離間隔は、例えば（Ｚ１；Ｐ２）から（Ｚ１；Ｐ３）の２つの放射照度曲線間の空間によって定められる。
【００５７】
ロボット１０８は、区域Ｚ１および出力レベルＰ４を識別する情報を検出できるが、出力レベルＰ３、Ｐ２およびＰ１を識別する情報を検出できない場合には、（Ｚ１；Ｐ４）と（Ｚ１；Ｐ３）との間の空間に存在することが、ロボット１０８によって推定可能である。曲線（例えば（Ｚ１；Ｐ４）と（Ｚ１；Ｐ３））間の距離の実際のサイズは、信号を受信する受信機の感度および信号が放射される出力レベルによって決定される。
【００５８】
図２は、ロボットを取り囲む複数の区域のそれぞれに特徴的な信号を放射する放射器を有するロボット玩具を示している。このロボット２０１は、そのロボットの前方が、上方に向いている向きで示されている。
【００５９】
ロボット２０１は、４つの赤外光放射器２０２、２０３、２０４、および２０５を備える。各放射器は、それぞれの赤外光信号を放射する。これらの放射器は、９４０ｎｍと９６０ｎｍとの間の波長の光を放射するように構成されることが好ましい。
【００６０】
赤外光放射器２０２、２０３、および２０４は、異なる位置および異なる角度でロボットに取り付けられて、ロボットを取り囲む放射照度曲線２０９、２１０、および２１１によってそれぞれ示すような区域ＦＲ、ＦＬ、およびＢに赤外光を放射する。これらのダイオードの方向は、ロボットの前進運動方向に対して、それぞれ６０°、３００°、および１８０°である。ダイオードのそれぞれの放射照度の角度が１２０°より大きい、例えば１２０°と１６０°との間である場合には、区域２０９および２１０は重なり合って、さらに別の区域Ｆを確立する。同様に、区域２１０および２１１が重なり合って、区域ＢＬを確立し、区域２０９および２１１が重なり合って、区域ＢＲを確立する。それらの区域は、個々の放射器の放射口ならびに上述した位置および角度、ならびに放射器により放射される赤外光の出力によって定められる。
【００６１】
放射器２０２、２０３、および２０４は、２つの異なる出力レベルで赤外光を放射するように制御される。以下では、これら２つの出力レベルは、低出力レベル（接頭語「Ｌ」）および中出力レベル（接頭語「Ｍ」）と呼ぶこととする。
【００６２】
相対的に大きな放射照度曲線２０９、２１０、および２１１は、送信機の１つが中出力レベルで送信を行っている時に、受信機が、当該受信機に向けて放射された赤外光信号ＦＲ、ＦＬおよびＢを検出できる区域を表す。同様に、相対的に小さな放射照度曲線２０６、２０７、および２０８は、送信機の１つが低出力レベルで送信を行っている時に、受信機が、当該受信機に向けて放射された赤外光信号ＬＦＲ、ＬＦＬおよびＬＢを検出できる区域を表す。一実施の形態では、相対的に大きな曲線２０９、２１０、２１１は、約１２０〜１６０ｃｍの直径を有する。相対的に小さな曲線２０６、２０７、および２０８は、約３０〜４０ｃｍの直径を有する。
【００６３】
放射器２０５は、上記中出力レベルよりも大きな高出力レベルでロボットの周囲に信号を放射するように構成される。この信号は、壁、ドアなどの物体から反射される可能性があるので、対応する放射照度曲線は図示されていない。その代わり、大文字Ｈが、この放射照度を示している。高出力のピング信号（ping-signal）は、約６メートル×６メートルの通常の居間で検出可能であろう。
【００６４】
このように、放射器２０２、２０３、および２０４は、中出力レベル（Ｍ）での作動時には、一部が相互に重なり合う区域２０９、２１０、および２１１を確立するように構成される。さらに、放射器２０２、２０３、および２０４が、低出力レベル（Ｌ）で作動している時は、それら放射器は、一部が相互に重なり合う区域２０６、２０７、および２０８を確立する。これにより、ロボット２０１の向きを正確に判断することが可能になる。
【００６５】
図２の実施の形態では、重なり合う区域ＬＦ、ＬＢＲ、およびＬＢＬは、中出力レベルの対応する重なり区域、すなわちＦ、ＢＲ、およびＢＬにそれぞれ存在して、ダイオード放射器２０２、２０３、および２０４の少なくとも１つからの低出力信号を受信する受信機によって定められる
【００６６】
赤外線信号ＦＲ、ＦＬ、およびＢのそれぞれは、赤外線放射器の一意の１つに対応する情報により符号化され、これにより、ロボットを取り囲む区域のそれぞれの区域に対応する。
【００６７】
赤外線信号は、赤外線放射器に一意の情報が、相互に重ならないタイムスロットで構成される時間多重信号として構成されることが好ましい。
【００６８】
信号に基づいて、検出器がどの区域に存在するかを判断できるようにするために、検出器システムには、区域の場所とそれぞれの信号との間の関係の情報が提供される。
【００６９】
検出原理の好ましい実施の形態については、図３ａ〜図３ｅと共に説明することとする。
【００７０】
送信側ロボットが、向きおよび距離の情報を符号化して、その情報を区域に送信し、送信後、別の受信側ロボットが復号して解釈するために、ネットワークプロトコルが使用される。このネットワークプロトコルは、ピング信号およびメッセージ信号に基づいている。これらの信号について、以下に説明する。
【００７１】
図３ａは、それぞれの放射器、例えば図２の放射器２０２、２０３、２０４、および２０５からピング信号を送信するために使用される出力レベルを示している。出力レベルＰは、時間ｔの関数として、離散的な出力レベルＬ、Ｍ、およびＨで示される。
【００７２】
ピング信号は、密な列で送信される位置情報ビット列３０１として符号化される。列３０１は、サイクル時間ＴＰＲを有するサイクルで送信される。密な列３０１間には一時休止３０８が置かれる。この一時休止は、付加的なメッセージを送信するために使用され、また、他のロボットの同様の信号の送信を可能にするために使用され、かつ／または、他の情報、例えばメッセージ信号を送信するのに使用される。
【００７３】
位置情報ビット列３０１は、１２ビット（ｂ０〜ｂ１１）を備える。ビットは、低出力（Ｌ）、中出力（Ｍ）、または高出力（Ｈ）で送信される。第１ビット３０２は、ダイオード２０５によって高出力で送信される。好ましい実施の形態では、このビットは、放射器２０２、２０３、および２０４によって中出力でも送信される。中出力を有する他のダイオードに高出力ビットを複製することにより、受信範囲が増加し、部屋の壁および天井があまり反射しない場合であっても、近くの受信機がそのビットを受信することが保証される。この最初のビットの後には、どのダイオードも信号を送信しない無信号の２ビット３０３が続く。後続する３ビット３０４は、低出力レベルで送信され、各ビットは、ダイオード２０２、２０３、および２０４の１つのみによって送信される。同様に、次の３ビット３０５は、中出力レベルで送信され、ダイオード２０２、２０３、および２０４のそれぞれが、ビット３０５の１つのみを送信する。後続する２ビット３０６は、再度、ダイオード２０５によって高出力レベルで送信され、好ましくは、ダイオード２０２、２０３、および２０４によって中出力レベルで送信される。その後、無信号のストップビット３０７が続く。
【００７４】
したがって、ダイオード２０２、２０３、２０４、および２０５のそれぞれは、図３ｂ〜図３ｅに示すような異なるビットパターンを送信する。ここで、図３ｂは、ダイオード２０２によって放射される位置ビット列を示し、図３ｃは、ダイオード２０３によって放射される位置ビット列を示し、図３ｄは、ダイオード２０４によって放射される位置ビット列を示し、図３ｅは、ダイオード２０５によって放射される位置ビット列を示す。
【００７５】
受信側ロボットは、自身が送信側ロボットのどの区域に位置するかを判断できるので、受信側ロボットは、受信ビット列を使用して、その受信ビットパターンを送信したロボットまでの距離および送信側ロボットの向きを判断することができる。この判断は、受信ビットパターンを図２の区域の１つに関係づける参照表により行う簡単に行うことができる。この参照表を表１に示す。
【００７６】
【表１】
2004536634.tif 000003
【００７７】
表１は、送信側ロボットの区域の１つに受信側ロボットがもし存在すれば、送信されたピング信号の符号化された出力レベル情報をその存在にどのように復号できるかを示している。区域は、順に向きおよび距離を表す。
【００７８】
上記原理は、異なる個数のダイオードおよび／または異なる個数の出力レベルに適用することができ、ダイオードの個数が多くなるほど、向きの判断の精度が向上し、出力レベルの個数が多くなるほど、距離の計測の精度が向上することが理解される。この精度の向上は、ビット列の増加という代償を払って達成され、したがって、送信速度を減少させる。
【００７９】
一実施の形態では、ロボットは、付加的なメッセージを送信する。この付加的なメッセージは、例えばピング信号と関連したものであるか、または、関連のない別のメッセージ信号として送信される。これらのメッセージは、位置情報ビット列と関連して送信されることが好ましく、例えば、各位置ビット列の後に複数のバイトを送信することにより送信される。一実施の形態では、ロボットは、位置情報ビット列を含むピング信号に続いて、ヘッダバイト、ロボットＩＤ、およびチェックサム、例えば巡回冗長検査（ＣＲＣ）を送信する。これらの情報に加えて、または、これらの情報に代えて、他の情報を送信することができる。他の情報は、例えば速度、運動方向、行動などのロボットについてのさらに別の情報、コマンド、ロボット間で交換されるデジタルトークンといったものである。
【００８０】
各バイトは、複数のデータビット、例えば８データビット、ならびにスタートビット、ストップビット、およびパリティビットといった付加ビットを含むことができる。これらのビットは、適切なビットレート、例えば４８００ボーで送信することができる。付加的なメッセージバイトは、ダイオード２０５によって高出力レベルで送信され、かつ、ダイオード２０２、２０３、および２０４によって中出力レベルで送信されることが好ましい。
【００８１】
ロボットＩＤは、所与の状況においてそのロボットに一意の番号であることが好ましい。ロボットＩＤにより、ロボットは、実世界で出会った仲間のロボットまたはインターネット上で出会った仲間のロボットに関する情報を登録して保持することができる。ロボットは、外部状態記録の一部として、好ましくは既知ロボットの一覧として、他のロボットについての情報を記憶することができる。その一覧の各登録項目は、ロボットＩＤ、ロボットのセンサによって計測された例えば方向、距離、向きといったマッピング情報、運動情報、例えばロボットのあるチームへの割り当てといったそれぞれのロボットから受信したゲーム関連情報、ロボットのさまざまなグループを選択基準により区別するために使用されるタイプ情報、ロボットを制御するロボットコントローラの識別情報などを含むことができる。
【００８２】
ロボットは、別のロボットからブロードキャストメッセージを受信すると、その一覧の情報を更新する。メッセージの発信元が未知である場合には、新しい登録項目が作成される。予め定められた時間の間、例えば２回のブロードキャストの繰り返し期間よりも長い間、一覧の特定の登録項目からメッセージが受信されないと、ロボットの項目は、存在しないものとして印が付けられる。
【００８３】
ロボットＩＤを例えば１バイトに制限するというように短く維持して、所与の状況においてロボットの一意の識別を可能にするために、例えば部屋の中といった通信範囲内に存在するロボット間に調停アルゴリズムを使用することができる。例えば、同じＩＤを有する別のロボットからピング信号を受信したロボットは、異なるＩＤを選択することができる。
【００８４】
図４は、ピング信号およびメッセージ信号を送信する通信システムのブロック図を示している。このシステム４０１は、ピング信号（例えば、ヘッダ、ロボットＩＤおよびＣＲＣバイト）ならびにメッセージ信号をバッファ４０５を介して受信する。ピング信号およびメッセージ信号は、外部システム（図示せず）により、送信インタフェース４０６を介して提供される。このように、通信システム４０１は、外部システムから情報を受信でき、その結果、外部システムを、通信システムとは非同期に動作させることができる。
【００８５】
このシステムは、図３ａ〜図３ｅと共に説明したさまざまなダイオードのそれぞれの位置ビット列を記憶するメモリ４０３を備える。
【００８６】
コントローラ４０２は、ピング信号およびメッセージ信号を受信し、メモリ４０３から検索された対応するビット列を前に付け、かつ、増幅器４０７、４０８、４０９、および４１０を介して赤外光送信機２０２、２０３、２０４、および２０５を制御するように構成される。放射器２０２、２０３、２０４、および２０５によって放射される出力レベルは、増幅器４０７、４０８、４０９、および４１０の増幅度を調節することにより制御される。コントローラに提供される信号Ｓは、通信が無信号であるかどうか、すなわち放射される信号と干渉を起こす可能性のある他の信号が検出できないかどうかを示す２値信号である。さらに、コントローラは、信号が送信される時を示す信号Ｒを提供する。
【００８７】
図５は、ロボットに取り付けられた２つの受信機の感度曲線を示している。曲線５０４は、図２と共に説明したように、受信機５０２に向けて送信された中出力レベルの信号を、受信機５０２が検出できる区域を定める。曲線５０６は、低出力レベルで受信機５０２に向けて送信された信号を、受信機５０２が検出できる小さな区域を定める。
【００８８】
曲線５０５および５０７は、それぞれ中出力レベルおよび低出力レベルで受信機５０３に向けて送信された信号を、受信機５０３が検出できる区域をそれぞれ定める。一般に、上述した区域は、受信区域と記される。受信機５０２および５０３の一方に向けて高出力で送信された信号を検出できる区域は、より広く拡散する。したがって、このような区域は、破線の曲線５０８で示される。
【００８９】
図２の放射器２０２、２０３、２０４は、信号が送信される出力レベルを表す情報を含んだ信号を送信するので、別のロボットが現れる位置の方向および距離を、区域Ｈ、ＭＬ、ＭＣ、ＭＲ、ＬＬ、ＬＣＬ、ＬＣ、ＬＣＲおよびＬＲの点で判断することができる。
【００９０】
第１のロボットの２つの受信機５０２および５０３の一方または双方は、第２のロボットの放射器２０２、２０３、２０４、および２０５によって放射された信号を受信することができる。
【００９１】
その結果、上述したような簡単な送信／受信システムにより、距離、方向、および向きの高分解能を得ることができる。
【００９２】
以下では、方向および距離の情報を復号する方法をより十分に説明する。次のことが仮定される。
【００９３】
・ある受信機が高出力のピング信号を得ると、他の受信機もそのピング信号を得る。
・受信機が低出力のピング信号を得ると、その受信機は中出力のピング信号および高出力のピング信号も得る。
・受信機が中出力のピング信号を得ると、その受信機は高出力のピング信号も得る。
【００９４】
低出力のピング信号に対してＬ、中出力のピング信号に対してＭ、および高出力のピング信号に対してＨの表記を適用すると、存在する区域は、以下の表２による受信信号に基づいて判断することができる。
【００９５】
【表２】
2004536634.tif 000004
【００９６】
表２は、左の列の１０個の区域の１つに受信側ロボットがもし存在すれば、送信ピング信号の符号化された出力レベル情報をその存在にどのように復号できるかを示している。
【００９７】
向き情報を復号する目的で、上記表１を使用することができる。
【００９８】
図６は、デバイスを取り囲む複数の区域のそれぞれ１つに特徴的な信号を放射する放射器を有する当該デバイスを示している。図２のロボットと同様に、このデバイス６０１は、赤外光放射器６０２および６０３を備える。各放射器は、それぞれの赤外光信号を放射する。これらの放射器は、９４０ｎｍと９６０ｎｍとの間の波長の光を放射するように構成されることが好ましい。一方で、デバイス６０１は、当該デバイスに取り付けられた１つの赤外光放射器６０２のみを備え、それぞれ放射照度曲線６０４により示された中出力レベルの区域Ｍおよび放射照度曲線６０５により示された低出力レベルの区域Ｌに赤外光を放射する。
【００９９】
放射器６０３は、図２の放射器２０５と共に説明したように、デバイスの周囲に上記中出力レベルよりも大きな高出力レベルで信号を放射するように構成される。
【０１００】
このように、放射器６０２および６０３は、デバイスに最も近い区域Ｌ、中程度の距離の区域Ｍ、および外部の区域Ｈの３つの近傍区域を確立するように構成される。これにより、別のデバイスまたはロボットによる距離計測が可能になる。
【０１０１】
ダイオード６０２および６０３は、図３ａ〜図３ｅと共に説明したような位置ビット列を含んだピング信号を放射するように制御される。ダイオード６０３によって送信されるビットパターンは、図２の実施の形態の高出力ダイオード２０５のビットパターン、すなわち図３ｅに示すビットパターンに対応する。ダイオード６０３によって送信されるビットパターンは、図３ｃのビットパターンに対応する。
【０１０２】
受信側ロボットは、上記図３ａ〜図３ｅと共に説明したように、受信したビット列を使用して、受信したビットパターンを送信したロボットまでの距離を求めることができる。
【０１０３】
デバイス６０１は、ロボットであってもよいし、ロボットと通信する静止したデバイス、例えば、リモコン、ロボットコントローラ、またはロボットにコマンドメッセージを送信するようになっている別のデバイスであってもよい。
【０１０４】
したがって、リモコンまたはロボットコントローラからコマンドメッセージを送信することにより、ロボットを制御することができる。ここで、コマンドメッセージが、距離および／または位置の情報を含むことにより、ロボットは、コマンド源までの距離および／またはコマンド源の位置に応じて、受信したコマンドを解釈することが可能になる。
【０１０５】
図７は、ピング信号およびメッセージ信号を受信するシステムのブロック図を示している。このシステム７０１は、ロボット間の信号（特にピング信号およびメッセージ信号）ならびにリモコン信号を受信する２つの赤外線受信機７０２および７０３を備える。
【０１０６】
受信機７０２および７０３によって検出された信号は、信号の到来に応答して、それぞれデータ獲得手段７１０および７０９によりデジタルデータとして提供される。データ獲得手段からのデジタルデータは、それぞれの先入れ先出しバッファであるＬバッファ７０８およびＲバッファ７０７にバッファリングされる。ＬバッファおよびＲバッファからのデータは、バッファ７０４に移動される。バッファ７０４は、より大きな容量を有し、制御システム（図示せず）へ転送を行っている間、データを収容する。
【０１０７】
赤外線信号が受信機７０２および７０３に向けて放射されるかどうかを示す２値信号Ｓは、加算器７０６によりシュミットトリガ７０５を介して提供される。加算器７０６は、データ獲得手段７０９および７１０から信号を加算する。これにより、２値信号は、無信号の通信が存在するかどうかを示すものとなる。
【０１０８】
制御信号Ｒは、ロボット自体が、ピング信号を送信している時を示す。この制御信号は、そのロボットがピング信号を送信していない時にのみデータ信号を出力するようにデータ獲得手段７１０および７０９を制御するのに使用される。したがって、そのロボット自身のピング信号の反射信号を受信することが回避される。
【０１０９】
リモコン装置（図示せず）からの信号を受信するように、このシステムを制御することができる。その場合、バッファに供給されるデータは、リモコンコマンドとして解釈される。これにより、受信機７０２および７０３は、ピング信号／メッセージ信号に加えてリモコンコマンドを受信するのに使用することができる。
【０１１０】
図８は、ロボット制御システムのブロック図を示している。この制御システム８０１は、ユーザによってプログラム可能なロボットを制御して、あるタイプの挙動を示すように構成される。制御システム８０１は、中央処理装置（ＣＰＵ）８０３、メモリ８０２、および入出力インタフェース８０４を備える。
【０１１１】
入出力インタフェース８０４は、ロボット位置情報を受信するインタフェース（ＲＰＳ／Ｒｘ）８１１と、ロボット位置情報を放射するインタフェース（ＲＰＳ／Ｔｘ）８１２と、操縦手段（図示せず）に制御信号を提供する行動インタフェース８０９と、トランスデューサ（図示せず）を介してさまざまな物理的影響を検知する検知インタフェース８１０と、外部デバイスと通信するリンクインタフェース８１３とを備える。
【０１１２】
インタフェースＲＰＳ／Ｒｘ８１１は、図４に示すように具体化できることが好ましく、インタフェースＲＰＳ／Ｔｘは、図７に示すように具体化されることが好ましい。リンクインタフェース８１３は、例えば図１０と共に説明するように、外部デバイスとの通信を可能にするために使用される。外部デバイスとしては、例えばパーソナルコンピュータ、ＰＤＡ、または他のタイプの電子データ情報源／データ消費デバイス（data consumer device）がある。この通信は、ユーザが作成したスクリプトプログラムおよび／またはファームウェアプログラムのプログラムダウンロード／アップロードを含むことができる。インタフェースは、電線／コネクタタイプ（例えばＲＳ３２３）、ＩＲタイプ（例えばＩｒＤＡ）、無線周波数タイプ（例えばブルートゥース）などの任意のインタフェースタイプとすることができる。
【０１１３】
操縦手段（図示せず）に制御信号を提供する行動インタフェース８０９は、デジタル出力ポートとデジタル／アナログ変換器とを組み合わせたものとして実施される。これらのポートは、モータ、ランプ、サウンドジェネレータ、および他のアクチュエータを制御するために使用される。
【０１１４】
さまざまな物理的影響を検知する検知インタフェース８１０は、デジタル入力ポートとアナログ／デジタル変換器とを組み合わせたものとして実施される。これらの入力ポートは、スイッチおよび／または光レベルの起動、気温の度合い、音圧などを検知するために使用される。
【０１１５】
メモリ８０２は、データセグメント８０５（ＤＡＴＡ）と、状態機械実行システムを有する第１のコードセグメント８０６（ＳＭＥＳ）と、機能ライブラリを有する第２のコードセグメント８０７と、オペレーティングシステム（ＯＳ）を有する第３のコードセグメント８０８とに分割される。
【０１１６】
データセグメント８０５は、入出力インタフェース８０４とデータ（例えば、バッファ７０４によって提供されるデータおよびバッファ４０５に供給されるデータ）を交換するために使用される。さらに、データセグメントは、プログラムの実行に関係したデータを記憶するために使用される。
【０１１７】
第２のコードセグメント８０７は、インタフェース手段８０４の使用の細部を処理するプログラム手段を備える。このプログラム手段は、いわゆるアプリケーションプログラミングインタフェース（ＡＰＩ）によって実行される機能および手順として実施される。
【０１１８】
第１のコードセグメント８０６は、ロボットのプログラムされた挙動を実施するプログラム手段を備える。このようなプログラムは、アプリケーションプログラミングインタフェースによって提供される機能および手順に基づいている。状態機械を実施するこのようなプログラムの例は、図９と共に説明することとする。
【０１１９】
第３のコードセグメント８０８は、複数の並行したプログラムプロセス、メモリ管理などを処理するオペレーティングシステム（ＯＳ）を実施するプログラム手段を備える。
【０１２０】
ＣＰＵは、ロボットの制御および／または外部デバイスとの通信を行うために、メモリに記憶された命令を実行して、インタフェースからデータを読み出し、インタフェースにデータを供給するように構成される。
【０１２１】
図９は、ロボット制御システムによって実施される状態機械の状態イベント図を示している。状態機械９０１は、複数の目的指向の挙動状態９０２および９０３を備える。それらの一方が、同時にアクティブになることができる。図９の例では、状態機械は、２つの挙動状態９０２および９０３を備える。しかしながら、この個数は、実際のゲームのシナリオに依存し、表されるさまざまな目的の個数に応じて変化し得る。挙動状態のそれぞれは、複数の高レベルの行動に関係付けられる。すなわち、図９の例では、状態９０２は、行動Ｂ１１１，…，Ｂ１１Ｉ、Ｂ１２１，…，Ｂ１２Ｊ、Ｂ１３１，…，Ｂ１３Ｋ、つまり（Ｉ＋Ｊ＋Ｋ）個の行動に関係付けられる一方、状態９０３は、行動Ｂ２１１，…，Ｂ２１Ｌ、Ｂ２２１，…，Ｂ２２Ｍ、Ｂ２３１，…，Ｂ２３Ｎ、つまり（Ｌ＋Ｍ＋Ｎ）個の行動に関係付けられる。行動は、高レベルの目的指向の挙動を実行する命令を含むことが好ましい。このような行動の例には、「ロボットＸに追従する」、「ロボットＹから逃げる」、「ロボットＺにぶつかる」、「部屋を探索する」などが含まれる。これらの高レベルの命令は、ライブラリの機能を介して実施することができる。このライブラリの機能は、好ましくはセンサ入力に応答して、ロボットの制御装置により、ロボットを制御する制御信号に変換される。上記高レベルの行動は、行動ビーズ（action beads）とも呼ばれる。複数の異なるタイプの行動ビーズが存在する。例えば、状態図のある状態から別の状態に状態遷移を行うビーズ、ある一定の条件が満たされると、行動を行う条件付き行動ビーズなどが存在する。一実施の形態では、条件は、ロボット制御システムによって実行される監視人プロセス（watcher process）によって検査することができる。監視人プロセスは、ロボットの内部状態パラメータまたは外部状態パラメータを監視することができ、条件が満たされた時を示す信号を状態機械に送ることができる。例えば、監視人は、ロボットが所与の受信区域で検出されたかどうか、検出されたロボットが所与の向きを有するかどうかなどを検査することができる。したがって、一実施の形態では、行動ビーズは、一組のプリミティブな行動のうちの１つまたは２つ以上のもの、１つまたは２つ以上のプリミティブな行動が従う条件、または異なる状態への遷移を状態機械実行システムに実行させる遷移動作を備えることができる。これに代えて、または、これに加えて、状態遷移は、行動ビーズとは異なるメカニズムによって実施できることに留意されたい。
【０１２２】
ゲームのシナリオのすべての目的、ルール、および戦略が、明白にされ、したがって、異なるゲームのシナリオに容易に調節可能であることが、このような状態機械システムの利点である。
【０１２３】
図９の状態図は、開始状態９１２、勝ち状態９１０、負け状態９１１、ならびに２つの挙動状態９０２および９０３を備える。２つの挙動状態のそれぞれは、目標物体Ｔ１およびＴ２をそれぞれ表す。目標物体は、選択基準によって識別される。この選択基準としては、例えば、別のロボットまたはデバイスのロボットＩＤ、複数の予定されるロボットおよび／またはデバイスの仕様、現在のロボットと関連付けられたロボットコントローラなどがある。また、上記複数の予定されるロボットおよび／またはデバイスとしては、ある一定のタイプのすべてのロボット、それ以外の任意のロボット、別のロボットチームの任意のロボットといったものがある。
【０１２４】
挙動状態のそれぞれは、それぞれの近傍区域を表す３つの行動状態に関係付けられる。状態９０２は、行動状態９０４、９０５、９０６に関係付けられる。ここで、行動状態９０４は、近傍区域Ｌに関係付けられ、行動状態９０５は、近傍区域Ｍに関係付けられ、行動状態９０６は、近傍区域Ｈに関係付けられる。したがって、状態９０２では、状態機械実行システムは、状態９０２の選択基準を満たす目標物体Ｔ１が、これらの区域のいずれかで検出されたかどうかを検査する。
【０１２５】
選択基準に応じて、その選択基準を満たす２つ以上の目標物体が、ロボットの近傍区域内に検出されることがある。状態機械実行システムは、ロボットによって保持される、現在検出されたすべての物体の一覧を検索し、現在の状態の選択基準を使用してその一覧を選択除去することにより、検出された目標ロボットを識別することができる。２つ以上の物体が、選択基準を満たす場合には、あらかじめ定められた優先順位ルールを適用して、検出された物体の１つを現在の目標物体Ｔ１として選択することができる。一実施の形態では、選択基準を満たす物体の中から目標物体を選択するために、区域情報を使用することができる。例えば、ロボットまでの距離が短いほうの物体をより高い優先順位で選択することができる。
【０１２６】
状態９０２の目標物体Ｔ１が、近傍区域Ｌで検出された場合、システムは、行動状態９０４で実行を継続する。行動状態９０４は、例えば逐次的に実行される複数の行動ビーズＢ１１１，…，Ｂ１１Ｉを含む。これらの行動ビーズは、その１つまたは２つ以上のものが、条件付き行動ビーズである場合には、ある一定の条件に依存する可能性がある。行動Ｂ１１１，…，Ｂ１１Ｉが実行されると、状態機械は、状態９０２で実行を継続する。行動状態９０４が、行動ビーズを含まない場合には、行動は行われず、状態機械実行システムは、状態９０２に戻る。同様に、目標物体が、区域Ｍで検出された場合、状態９０５で実行が継続し、その結果、ビーズＢ１２１，…，Ｂ１２Ｊが実行される。図９の例では、行動ビーズＢ１２Ｊが、状態９０３への遷移を引き起こす遷移行動であるものと仮定する。したがって、この場合、状態９０３で実行が継続される。状態９０２にいる間、目標物体が、区域Ｈで検出された場合、状態９０５で実行が継続し、その結果、ビーズＢ１３１，…，Ｂ１３Ｋが実行される。図９の例では、行動ビーズＢ１３Ｋが、負け状態９１１への遷移を引き起こす遷移行動であるものと仮定する。この負け状態９１１は、ゲームのシナリオを終了させる。負け状態は、ロボットの動作を停止し、ゲームの結果を、例えば光効果、音響効果などを介して、そのロボットに示させるようにすることができる。さらに、ロボットは、自身が負けたことを示す対応したピングメッセージを他のロボットに送信してもよい。最後に、状態９０２にいる時、目標物体が、どの区域にも検出されない場合、状態９０２で実行が継続する。あるいは、この場合に関係付けられた特別な行動状態をさらに設けて、この場合の複数の行動を実行させてもよい。
【０１２７】
同様に、挙動状態９０３は、目標Ｔ２、すなわち、上述したように状態９０３の対応する目標選択基準によって選択された目標物体に関係付けられる。したがって、状態９０３にいる時、状態機械実行システムは、目標物体Ｔ２が、接頭語Ｌ、Ｍ、またはＨを有する区域の１つで検出されるかどうかをチェックする。目標物体Ｔ２が、区域Ｌで検出されると、状態９０７で実行が継続され、その結果、行動ビーズＢ２１１，…，Ｂ２１Ｌが実行される。図９の例では、行動ビーズＢ２１１，…，Ｂ２１Ｌの１つが、状態９０２への条件付き遷移ビーズであるものと仮定する。その結果、対応する条件が満たされた場合には、状態９０２で実行が継続される。そうでない場合には、状態機械実行システムは、行動ビーズＢ２１１，…，Ｂ２１Ｌの実行後、状態９０３に戻る。状態９０３で、目標物体Ｔ２が、区域Ｍに存在すると検出された場合には、状態９０８で実行が継続され、その結果、行動ビーズＢ２２１，…，Ｂ２２Ｍが実行される。図９の例では、行動ビーズＢ２２１，…，Ｂ２２Ｍの１つが、勝ち状態９１０への条件付き遷移ビーズであるものと仮定する。その結果、対応する条件が満たされた場合には、状態９１０で実行が継続される。そうでない場合には、状態機械実行システムは、行動ビーズＢ２２１，…，Ｂ２２Ｍの実行後、状態９０３に戻る。最後に、状態９０３にいる時、目標物体Ｔ２が、区域Ｈに存在すると検出された場合には、状態９０９で実行が継続され、その結果、行動ビーズＢ２３１，…，Ｂ２３Ｎが実行され、その後、実行は、状態９０３に戻る。
【０１２８】
一実施の形態では、目標物体が、ある区域から別の区域に移動したことが検出されると、現在実行中の行動は中止され、また状態実行システムは、対応する挙動状態に戻る。その挙動状態から、上述したように、新しい区域に対応する行動状態で、実行が継続される。
【０１２９】
図９の例では、区域Ｌ、Ｍ、およびＨは、図５に示すそれぞれの区域を介して定められる近傍区域に対応し、３つの出力レベルＬ、Ｍ、およびＨに対応する。したがって、この実施の形態によると、所与の目標物体に対してどの行動状態が実行されるかを判断するために、距離情報のみが使用される。目標物体が、図５の受信区域５０６および５０７の少なくとも一方内に存在する場合、目標物体は、Ｌ区域内に存在するものと検出される。目標物が、区域５０４および５０５の少なくとも一方に検出されるが、Ｌ区域に検出されない場合には、目標物体は、Ｍ区域内に存在するものと検出される。目標物体が、受信区域５０８に存在するものと検出されるが、それ以外の区域のいずれにも検出されない場合には、目標物体は、Ｈ区域に存在するものと検出される。しかしながら、行動ビーズに対応する命令は、方向情報および／または向き情報も使用することができる。
【０１３０】
さらに、別の実施の形態では、各挙動状態に関係付けられた異なる組の行動状態が存在し得ることに留意されたい。例えば、図５の区域Ｈ、ＭＬ、ＭＲ、ＭＣ、ＬＬ、ＬＣＬ、ＬＣ、ＬＣＲ、およびＬＲのそれぞれの行動状態である。
【０１３１】
それに加えて、ロボットの挙動は、モニタ、イベントハンドラ、割り込みハンドラなどのような例えば並列状態機械によって提供される別の制御信号によって制御できることにさらに留意されたい。したがって、上記状態機械は、一例であり、行動ビーズの実行シナリオの別の実施態様を提供できることが理解される。
【０１３２】
図１０は、本発明によるロボット玩具の挙動をプログラムするシステムの実施の形態を示している。この実施の形態では、挙動は、ダウンロードプログラムによって制御される。このシステムは、パーソナルコンピュータ１０３１を備える。このパーソナルコンピュータ１０３１は、スクリーン１０３４または他の表示手段、キーボード１０３３、およびポインティングデバイス１０３２を有する。ポインティングデバイス１０３２は、例えば、マウス、タッチパッド、トラックボールなどである。コンピュータ上では、アプリケーションプログラムが実行される。このアプリケーションプログラムによって、ユーザは、スクリプトの作成および編集を行って、そのスクリプトを記憶し、コンパイルとしてロボット玩具１０００にダウンロードすることができる。コンピュータ１０３１は、コンピュータ１０３１のシリアルポートの１つからロボット玩具１０００のシリアルリンク１０１７へ、シリアル接続１０３５を介してロボット玩具１０００に接続される。あるいは、この接続は、赤外線接続またはブルートゥース接続といった無線であってもよい。プログラムコードが、コンピュータ１０３１からロボット玩具１０００にダウンロードされると、ダウンロードされたデータは、メモリ１０１２に転送されて記憶される。一実施の形態では、ロボット玩具のリンク１０１７は、光学インタフェースを提供するようになっている光センサおよびＬＥＤを備える。
【０１３３】
ロボット玩具１０００は、ハウジング１００１、シャフト１００８ａおよび１００８ｂを介してモータ１００７ａおよび１００７ｂにより駆動される一組のホイール１００２ａ〜１００２ｄを備える。これらに代えて、または、これらに加えて、ロボット玩具は、足、糸などといった、別の移動手段を含むことができる。また、プロペラ、アーム、ツール、回転ヘッドなどといった他の移動可能な部品を含むこともできる。ロボット玩具は、モータならびにロボット玩具の他の電気コンポーネントおよび電子コンポーネントに電力を提供する電源装置１０１１をさらに備える。この電源装置１０１１は、標準的な電池を含むことが好ましい。ロボット玩具は、ロボット玩具１０００の制御を担当する中央プロセッサＣＰＵ１０１３をさらに備える。プロセッサ１０１３は、メモリ１０１２に接続される。メモリ１０１２は、ＲＯＭ部およびＲＡＭ部またはＥＰＲＯＭ部（図示せず）を備えてもよい。メモリ１０１２は、中央プロセッサ１０１３用のオペレーティングシステム、および、低レベルのコンピュータにより実行可能な命令を含むファームウェアを記憶することができる。このファームウェアは、中央プロセッサ１０１３によって実行されて、例えば「モータを作動させる」といったコマンドを実施することによりロボット玩具のハードウェアを制御する。さらに、メモリ１０１２は、より高レベルの命令を備えたアプリケーションソフトウェアを記憶することができる。このアプリケーションソフトウェアは、中央プロセッサ１０１３によって実行されて、ロボット玩具の挙動を制御する。中央プロセッサは、バスシステム１０４により、個別の制御信号などを介してロボット玩具の制御可能ハードウェアコンポーネントに接続することができる。
【０１３４】
ロボット玩具は、バスシステム１０１４を介して中央プロセッサ１０１３に接続される複数のさまざまなセンサを備えることができる。ロボット玩具１０００は、衝撃を受けた時を検出する衝撃センサ１００５、ならびに、光レベルの計測および点滅の検出を行う光センサ１００６を備える。ロボット玩具は、４つの赤外線（ＩＲ）送信機１００３ａ〜１００３ｄ、および、上述したように他のロボットを検出してマッピングを行う２つのＩＲ受信機１００４ａ〜１００４ｂをさらに備える。これに代えて、または、これに加えて、ロボット玩具は、他のセンサを備えることができる。これらの他のセンサとしては、ショックセンサや量を検出するセンサといったものがある。ショックセンサは、例えば、ロボット玩具が衝撃を受けたり、何かにぶつかったりした時に出力を提供する、バネから吊るされた重りである。量を検出するセンサには、時間、味覚、嗅覚、光、パターン、近さ、動作、音、会話、振動、接触、圧力、磁気、温度、歪み、通信などを検出するセンサが含まれる。
【０１３５】
ロボット玩具１０００は、例えばレーザガンを模倣した光効果を生成するＬＥＤ１０１６、および、音響効果を作成するピエゾ素子１０１５をさらに備える。これらに代えて、または、これらに加えて、ロボット玩具は、プロセッサ１０１３によって制御される他のアクティブなハードウェアコンポーネントを備えることができる。
【０１３６】
図１１は、ロボットをプログラムするグラフィカルユーザインタフェースの一例の概略図を示している。このユーザインタフェース１１０１は、ロボット制御コンピュータプログラムを実行するデータ処理システムによって生成される。ユーザインタフェースは、通常、対応するユーザコマンドに応答して、データ処理システムに接続されたディスプレイに表示される。グラフィカルユーザインタフェースは、プログラムされるロボット１１０２の表示を備える。このロボットは、衝撃センサ１１０３および光センサ１１０４を備える。
【０１３７】
ユーザインタフェースは、複数の領域シンボル１１０６、１１０７、および１１０８をさらに備える。これらのシンボルのそれぞれは、ロボットが、別のロボット、制御デバイスなどの物体を検出できる近傍区域を概略的に示している。領域シンボルは、異なるサイズの楕円形であり、ロボットのシンボル１１０１から異なる距離に延びている。領域１１０８は、別のロボットにより出力レベルＬで送信された信号を受信できる検出区域を示している。同様に、領域１１０７は、別のロボットまたはデバイスにより送信された中出力レベル信号の受信区域を示し、領域１１０６は、別のロボットまたはデバイスにより送信された高出力レベル信号の受信区域を示している。領域シンボル１１０６、１１０７、および１１０８は、さらに制御要素１１１６、１１１７、および１１１８にそれぞれ接続される。
【０１３８】
ユーザインタフェースは、行動シンボル１１２４、１１２５、１１２６、および１１２７用の選択領域１１４０をさらに備える。各行動シンボルは、上述したようなロボットにより実行可能な行動に対応する。行動シンボルは、それらの対応する行動によりラベル付けすることができ、例えば、対応する行動の結果の図的なイラストによりラベル付けすることができる。各行動シンボルは、ポインティングデバイスによって起動できる要素である。ユーザは、行動シンボルのいずれか１つに対してドラッグ・アンド・ドロップ操作を実行して、制御要素１１１６、１１１７、および１１１８のいずれか１つの中にその行動シンボルを置くことができる。図１１は、行動シンボル１１１３が、外側の区域１１０６に関係付けられた制御要素１１１６内に置かれている状況を示している。選択可能な行動シンボルの個数を増やすために、スクロール機能が提供される。このスクロール機能は、制御要素１１２２および１１２３を介して起動することができ、これにより、行動シンボルの一覧をスクロールすることが可能になる。制御シンボルの一覧は、行動シンボルのグループにさらに分割される。この分割は、例えば、行動シンボルを、それらの行動の性質に従ったグループに整理することにより行われる。グループの例として、「直線運動」、「回転」、「光効果」、「音響効果」、「ロボット間相互作用」などを含むことができる。行動シンボル１１２４、１１２５、１１２６、および１１２７の一覧は、対応するグループ表示要素１１２１によって示されるように、上記グループのうちの１つの行動シンボルを含む。ユーザは、制御要素１１１９および１１２０を介して別のグループを選択することができ、これにより、別の行動シンボルが表示され、選択可能にされる。
【０１３９】
行動シンボルの一覧および対応する命令は、事前に記述することができ、特定の種類のロボット用のプログラムライブラリとして、例えばＣＤで、または、インターネットを介して利用可能にすることができる。行動ビーズは、例えば円などのシンボルにより表現でき、それらの形状、色彩および／またはラベルは、それらの機能を識別することができる。行動ビーズを円の中に置くことは、例えば、ポインティングデバイスによるドラッグ・アンド・ドロップ操作によって行うことができる。
【０１４０】
ユーザインタフェースは、衝撃センサのイラスト１１０３および光センサのイラスト１１０４にそれぞれ接続された付加的な制御要素１１３２および１１３３をさらに備える。その結果、ユーザは、行動シンボルをこれらの制御要素にも同様にドラッグ・アンド・ドロップすることができ、これにより、行動をこれらのセンサに関係付けることができる。図９の実施の形態では、１つの動作シンボルしか、制御要素１１１６、１１１７、１１１８、１１３２、および１１３３のそれぞれに置くことができない。これにより、プログラム可能な挙動の複雑さが削減され、特に子供にとって、プログラミングおよび検査の作業がより簡単になる。一方、別の実施の形態では、この制限は除去されてもよい。
【０１４１】
ユーザインタフェース１１０１は、さまざまな目標物体を表す制御要素１１１０、１１１１、および１１１２をさらに備え、したがって、図９と共に説明したような状態機械のさまざまな挙動状態をさらに備える。制御要素１１１０、１１１１、および１１１２は、ポインティングデバイスによって、例えばそれらの要素の１つをクリックすることにより起動することができる。これにより、その要素が選択され、それ以外のものが選択解除される。図１１では、目標物体Ｔ１に対応する制御要素１１１０が選択されている状況が示されている。この選択は、目標物体を示すシンボル１１０９への線１１３４によって示される。その結果、ユーザは、さまざまな目標物体に関連したさまざまな区域内にさまざまな行動シンボルを置くことができる。
【０１４２】
ユーザインタフェースは、ポインティングデバイスによって起動できるさらに別の制御要素１１２９、１１３０、１１３１をさらに備える。制御要素１１２９は、ユーザが、このロボット制御システムのさらに別の機能にアクセスするために他のスクリーン映像に移動することを可能にするものである。制御要素１１３０は、ダウンロードボタンであり、起動されると、例えば図１０と共に説明したように、データ処理システムの処理装置に制御信号を送信し、データ処理システムにプログラムスクリプトを生成させて、そのプログラムスクリプトをロボットにダウンロードする。
【０１４３】
プログラムスクリプトは、目標物体の一覧、および、対応する制御要素に置かれた行動シンボルによって定められるさまざまな区域の関係付けられた行動を備えることができる。
【０１４４】
以下は、このようなプログラムスクリプトの表現例である。
【０１４５】
［Game（ゲーム）］
Name=Game1（名前＝ゲーム１）
NumStates=2（状態数＝２）
【０１４６】
［State1（状態１）］
TargetObject=T1（目標物体＝Ｔ１）
BeadsLZone={Bead1, Bead15, Bead34}（ビーズＬ区域＝｛ビーズ１，ビーズ１５，ビーズ３４｝）
BeadsMZone={Bead2, Bead1, Bead54, Bead117}（ビーズＭ区域＝｛ビーズ２，ビーズ１，ビーズ５４，ビーズ１１７｝）
BeadsHZone={}（ビーズＨ区域＝｛｝）
【０１４７】
［State2（状態２）］
TargetObject={T2, T3}（目標物体＝｛Ｔ２，Ｔ３｝）
BeadsLZone={Bead21, Bead5, Bead7}（ビーズＬ区域＝｛ビーズ２１，ビーズ５，ビーズ７｝）
BeadsMZone={Bead3}（ビーズＭ区域＝｛ビーズ３｝）
BeadsHZone={Bead5, Bead1}（ビーズＨ区域＝｛ビーズ５，ビーズ１｝）
【０１４８】
上記プログラムスクリプトに代えて、または、それに加えて、プログラムスクリプトは、異なる形式、異なるシンタックス、構造などで表現することができる。例えば、プログラムスクリプトをよりコンパクトな形式、例えばバイナリフォーマットにコンパイルすることができる。コンパイル中、行動ビーズに対応する、事前に定義されたスクリプトは、そのビーズが置かれている区域に関係付けられる。
【０１４９】
制御要素１１３１は、保存ボタンであり、起動されると、データ処理システムに上記プログラムスクリプトを生成させて、そのプログラムスクリプトを、例えばハードディスク、ディスケット、書き込み可能ＣＤ−ＲＯＭなどの記憶媒体に保存する。いくつかのプログラムがコンピュータに記憶されている場合には、保存ダイアログが表示されてもよく、これにより、ユーザは、記憶されたプログラムに目を通すことができる。
【０１５０】
上記のものに代えて、または、それに加えて、ユーザインタフェースは、例えばヘルプ、取り消し、目標物体の追加／削除などといった異なる機能およびオプションへのアクセスを提供することができる。
【０１５１】
したがって、他の物体の位置に応じ、かつ図９と共に説明したような状態機械によって制御されるロボットの挙動をプログラムするためのユーザインタフェースを提供するシステムが開示される。
【０１５２】
図１２は、行動シンボルを編集するグラフィカルユーザインタフェースの概略図を示している。このユーザインタフェースは、行動シンボルに関連付けられた行動の編集を可能にする。上述したように、図１１の各行動シンボルは、高レベルの行動に対応することができ、この高レベルの行動は、より単純な一連の行動として表現することができる。これらのより単純な一連の行動は、プリミティブビーズと呼ばれる。ユーザが、所与の行動シンボルのエディタを起動すると、ロボット制御システムは、ユーザインタフェース１２０１を生成する。
【０１５３】
このユーザインタフェースは、現在編集中の行動についての情報を表示する説明領域１２１０を備える。この情報は、例えば名前、機能の説明などである。
【０１５４】
現在の行動に含まれるプリミティブビーズの列は、ビーズシンボル１２０２および１２０３の列として示される。これらのビーズシンボルは、予め定められた場所シンボルＰ１、Ｐ２、Ｐ３、およびＰ４にそれらの実行順に置かれる。場所シンボルは、関連付けられたパラメータフィールド１２０４、１２０５、１２０６、および１２０７をそれぞれ有し、これにより、ユーザは、プリミティブビーズと関連付けることができるパラメータを入力するか、または、編集することができる。このようなパラメータの例として、運動の時間、回転の度合い、音のボリュームなどが含まれる。このパラメータ表示に代えて、または、それに加えて、例えばスライドバーなどのように、パラメータを視覚化して、他の制御要素を介して制御可能にすることができる。
【０１５５】
さらに、１つのプリミティブビーズに関連付けられた２つ以上のパラメータが存在してもよい。ユーザインタフェースは、必要に応じてプリミティブビーズの列をスクロールする制御要素１２０８および１２０９をさらに提供する。
【０１５６】
ユーザインタフェースは、ビーズ選択領域１２４０をさらに提供する。ビーズ選択領域１２４０は、プリミティブビーズを表す選択可能な制御要素１２２４、１２２５、および１２２６の一覧を備える。これらの制御要素は、ポインティングデバイスによって、例えばドラッグ・アンド・ドロップ操作により起動されて、場所シンボルＰ１、Ｐ２、Ｐ３、またはＰ４の１つに、選択されたビーズを置く。図１１と共に説明した選択領域１１４０と同様に、選択領域１２４０は、プリミティブビーズの一覧をスクロールする制御要素１２２２および１２２３と、表示フィールド１２２１に表示されるプリミティブビーズの複数のグループの１つを選択する制御要素１２１９および１２２０とを備える。
【０１５７】
さらに、ユーザインタフェースは、他のスクリーン、例えば図１１のロボット構成スクリーンに移動するための制御要素１２２９と、現在の編集操作を取り消すための制御要素１２３０と、編集されたビーズの保存操作を開始する制御要素１２３１とを備える。これらの制御要素に代えて、または、それらに加えて、他の制御要素が提供されてもよい。
【０１５８】
図１３は、ロボットをプログラムするグラフィカルユーザインタフェースの別の例の概略図を示している。この例では、ロボットは、円１３０１として示された制御要素によって表されている。このユーザインタフェースは、領域シンボル１３０２、１３０３、１３０４、１３０５、１３０６、および１３０７を備える。各領域シンボルは、区域を表す。ユーザインタフェースは、図１１と共に説明したような行動シンボル選択領域１１４０をさらに備える。この例では、行動ビーズは、ラベル付けされた円１３１８〜１３２７として表されている。これらの円は、ある一定の区域と関連付けるために、領域シンボル内にドラッグ・アンド・ドロップすることができる。ビーズの機能は、そのラベル、その色彩、形状などによって示されることが好ましい。
【０１５９】
図１３の例では、６つの受信区域を表す６つの領域シンボルが存在する。さらに、ロボットを表すシンボル１３０１は、行動シンボルをドロップすることができる制御要素でもある。これらの行動は、目標物体がいずれの区域にも検出されない時に実行される。表３は、図５に示す受信区域が図１３の区域にどのようにマッピングされるかを示している。
【０１６０】
【表３】
2004536634.tif 000005
【０１６１】
したがって、この実施の形態によると、ロボットの対応する状態機械実行システムは、各挙動状態に関連付けられた７つの行動状態を有する。
【０１６２】
ユーザインタフェースは、目標物体を選択する制御要素と、図１１と共に説明したような他のスクリーンに移動するための制御要素、プログラムスクリプトを保存する制御要素、およびプログラムスクリプトをダウンロードする制御要素とをさらに備える。
【０１６３】
本発明について、赤外光放射器／受信機を使用してゲームを行うロボット玩具の好ましい実施の形態と共に説明してきたことに留意されたい。他の検出システムおよび原理が実施可能であることが理解される。例えば、異なる個数の放射器／受信機を使用でき、かつ／または、単一の出力レベルもしくは３つ以上の出力レベルで信号を送信するように放射器を適合させることができる。これにより、検出システムには、異なるレベルの位置検出精度を提供する異なる個数の区域が提供される。
【０１６４】
さらに、他のセンサを使用することができる。例えば、無線ベースの計測器、磁気センサなどを使用することができる。
【０１６５】
さらに、説明したユーザインタフェースは、制御要素を起動する技法、および、領域シンボル、行動シンボルなどを表す技法として異なる技法を使用することができる。
【０１６６】
さらに、本発明は、ロボット玩具とは異なる移動ロボットと関連して使用することができることも理解される。例えば他の移動ロボットと団体で、例えばある一定の作業を行うようにユーザによってプログラムされる移動ロボットと関連して使用することができる。このような作業の例としては、掃除、調査などがある。
【０１６７】
上述したように、本発明による方法は、コンピュータプログラムとして具体化することができる。本発明による方法は、さらに、上述した方法をプロセッサに実行させるように構成されたコンピュータプログラム製品として具体化できることに留意されたい。このコンピュータプログラム製品は、コンピュータ読み取り可能媒体上に具体化することができる。コンピュータ読み取り可能媒体という用語は、磁気テープ、光ディスク、デジタルビデオディスク（ＤＶＤ）、コンパクトディスク（ＣＤまたはＣＤ−ＲＯＭ）、ミニディスク、ハードディスク、フロッピィディスク、強誘電体メモリ、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、読み出し専用メモリ（ＲＯＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、強磁性体メモリ、光記憶装置、電荷結合デバイス、スマートカード、ＰＣＭＣＩＡカードなどを含むことができる。
【図面の簡単な説明】
【０１６８】
【図１ａ】２体のロボットおよびそれらの空間的な相互関係の平面図である。
【図１ｂ】ロボット、および、放射される信号の空間的な放射照度特性によって定められる区域の平面図である。
【図１ｃ】ロボット、および、受信信号の空間的な感度特性によって定められる区域の平面図である。
【図１ｄ】各ロボットが、他方のロボットの放射照度／感度区域の一方に存在する２体のロボットの平面図である。
【図１ｅ】ロボット、および、さまざまな出力レベルで放射された信号の空間的な放射照度特性によって定められる区域の平面図である。
【図２】ロボットを取り囲む複数の区域のそれぞれに特徴的な信号を放射する放射器を有するロボット玩具である。
【図３ａ】３つの異なる出力レベルでロボットによりピング信号を送信するために使用される出力レベルである。
【図３ｂ】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図３ｃ】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図３ｄ】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図３ｅ】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図４】ピング信号およびメッセージを送信するブロック図である。
【図５】ロボットに取り付けられた２つの受信機の感度曲線である。
【図６】デバイスを取り囲む複数の区域のそれぞれ１つに特徴的な信号を放射する放射器を有する当該デバイスである。
【図７】ピング信号およびメッセージ信号を受信するシステムのブロック図である。
【図８】ロボット制御システムのブロック図である。
【図９】ロボット制御システムによって実施される状態機械の状態イベント図である。
【図１０】ロボットをプログラムするシステムの概略図である。
【図１１】ロボットをプログラムするグラフィカルユーザインタフェースの一例の概略図である。
【図１２】行動シンボルを編集するグラフィカルユーザインタフェースの概略図である。
【図１３】ロボットをプログラムするグラフィカルユーザインタフェースの別の例の概略図である。
【図１ａ】
2004536634.tif 000006
【図１ｂ】
2004536634.tif 000007
【図１ｃ】
2004536634.tif 000008
【図１ｄ】
2004536634.tif 000009
【図１ｅ】
2004536634.tif 000010
【図２】
2004536634.tif 000011
【図３ａ】
2004536634.tif 000012
【図３ｂ】
2004536634.tif 000013
【図３ｃ】
2004536634.tif 000014
【図３ｄ】
2004536634.tif 000015
【図３ｅ】
2004536634.tif 000016
【図４】
2004536634.tif 000017
【図５】
2004536634.tif 000018
【図６】
2004536634.tif 000019
【図７】
2004536634.tif 000020
【図８】
2004536634.tif 000021
【図９】
2004536634.tif 000022
【図１０】
2004536634.tif 000023
【図１１】
2004536634.tif 000024
【図１２】
2004536634.tif 000025
【図１３】
2004536634.tif 000026
【国際公開パンフレット】
2004536634.tif 000027
2004536634.tif 000028
2004536634.tif 000029
2004536634.tif 000030
2004536634.tif 000031
2004536634.tif 000032
2004536634.tif 000033
2004536634.tif 000034
2004536634.tif 000035
2004536634.tif 000036
2004536634.tif 000037
2004536634.tif 000038
2004536634.tif 000039
2004536634.tif 000040
2004536634.tif 000041
2004536634.tif 000042
2004536634.tif 000043
2004536634.tif 000044
2004536634.tif 000045
2004536634.tif 000046
2004536634.tif 000047
2004536634.tif 000048
2004536634.tif 000049
2004536634.tif 000050
2004536634.tif 000051
2004536634.tif 000052
2004536634.tif 000053
2004536634.tif 000054
2004536634.tif 000055
2004536634.tif 000056
2004536634.tif 000057
2004536634.tif 000058
2004536634.tif 000059
2004536634.tif 000060
2004536634.tif 000061
2004536634.tif 000062
2004536634.tif 000063
2004536634.tif 000064
2004536634.tif 000065
2004536634.tif 000066
2004536634.tif 000067
2004536634.tif 000068
2004536634.tif 000069
2004536634.tif 000070
2004536634.tif 000071
2004536634.tif 000072
2004536634.tif 000073
2004536634.tif 000074
2004536634.tif 000075
2004536634.tif 000076
2004536634.tif 000077
2004536634.tif 000078
2004536634.tif 000079
2004536634.tif 000080
2004536634.tif 000081
2004536634.tif 000082
2004536634.tif 000083
2004536634.tif 000084
【国際調査報告】
2004536634.tif 000085
2004536634.tif 000086