JP2004536634A - ロボット玩具プログラミング - Google Patents
ロボット玩具プログラミング Download PDFInfo
- Publication number
- JP2004536634A JP2004536634A JP2002591925A JP2002591925A JP2004536634A JP 2004536634 A JP2004536634 A JP 2004536634A JP 2002591925 A JP2002591925 A JP 2002591925A JP 2002591925 A JP2002591925 A JP 2002591925A JP 2004536634 A JP2004536634 A JP 2004536634A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- area
- action
- signal
- symbols
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 claims abstract description 117
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 230000000704 physical effect Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 abstract description 44
- 230000001276 controlling effect Effects 0.000 abstract description 9
- 230000006399 behavior Effects 0.000 description 63
- 239000011324 bead Substances 0.000 description 51
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 230000003542 behavioural effect Effects 0.000 description 11
- 230000033001 locomotion Effects 0.000 description 11
- 239000000872 buffer Substances 0.000 description 10
- 230000007704 transition Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000035945 sensitivity Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000001795 light effect Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000035939 shock Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0044—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Toys (AREA)
- Manipulator (AREA)
Abstract
ロボットを基準とした複数の区域の1つに物体(1109)を検出する検出手段(1103、1104)と、上記検出に応答して、検出された区域に対応する予め定められた行動を選択して実行する処理手段とを有するロボット(1102)を制御する方法。この方法は、各領域シンボルがロボットを基準とした区域のうちの対応する1つの区域を表す複数の領域シンボル(1106〜1108)を、グラフィカルユーザインタフェース(1101)を介してユーザに提示すること、各行動シンボルがロボットの少なくとも1つの各行動を表す複数の行動シンボル(1124〜1127)を、グラフィカルユーザインタフェースを介して提示すること、第1の区域に対応する、上記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある行動シンボルの位置を示すユーザコマンドを受信すること、第1の区域に物体を検出したことに応答して、対応する行動を実行するようにロボット玩具を制御する命令を生成することを含む。
Description
【技術分野】
【0001】
[発明の分野]
この発明は、ロボットを制御することに関し、詳細には、ロボットを基準とした予め定められた複数の区域のうちの第1の区域に物体を検出して、その第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを含むロボットに関する。
【0002】
[発明の背景]
ロボット玩具は、子供、若者、および大人に人気のあるタイプのロボットである。ロボット玩具で遊んでいる間に達成される満足度は、その環境と相互作用するロボット玩具の能力に強く依存する。環境には、ロボットで遊んでいる人、例えば居間の家具などのさまざまなタイプの障害物、他のロボット玩具、ならびに気温および光の強度といった状況が含まれ得る。
【0003】
同じ限られた数の行動を繰り返すロボット玩具は、ユーザの興味がすぐに冷めてしまう。したがって、環境と相互作用する能力を増加させることが主な関心事である。環境との相互作用は、環境を検知するステップと、判断を行うステップと、行動するステップとを含み得る。特に、行動は、例えば鬼ごっこや、ロボットにさまざまな作業をさせるなどの子供が関与したいと望む遊びの状況に依存すべきある。
【0004】
環境との相互作用を高度化させるこのような目的を達成するために、基本的な必須条件となるものは、環境を検知する手段である。この意味で、例えば同じまたは同様の種類もしくは種のロボット玩具と通信する手段、および、他のこのようなロボット玩具の位置を判断する手段は重要である。
【0005】
ロボットの検知手段および行動手段が発展するほど、ロボットは、周りの環境とのより複合化した相互作用を持つことができ、環境の複雑さをより細かく反映することになる。したがって、複雑な挙動は、高度な検知手段、行動手段、および通信手段に由来する。
【0006】
米国特許第5,819,008号は、移動ロボット間の衝突、および、移動ロボットと他の障害物との間の衝突を防止するセンサシステムを開示している。各移動ロボットは、さまざまな方向に送信データを送信する複数の赤外線信号送信機と、さまざまな方向からの送信データを受信する複数の赤外線受信機とを含む。送信データは、送信したロボットの運動方向に関する情報を含む。各ロボットは、別の移動ロボットが検出された方向および別のロボットが信号により送信した運動方向に応じて、予め定められた衝突回避動作を実行するように、その移動ロボットを制御する制御装置をさらに備える。
【0007】
しかしながら、上記従来技術の移動ロボットは、ユーザには、すぐに単調に見えてくる同じ限られた数の行動を繰り返す。したがって、このロボットは、ユーザの興味がすぐに冷めてくる。
【0008】
このため、上記従来技術のシステムは、移動ロボットが、知的であるとユーザが知覚できる、変化する状況依存型の挙動によって、他のロボットの中を移動することができないという不都合を含んでいる。
【0009】
[発明の概要]
上記のおよび他の問題を解決するのは、ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを備える上記ロボットを制御する方法であって、
各領域シンボルが上記ロボットを基準とした上記複数の区域のうちの対応する区域を表す複数の領域シンボルを、グラフィカルユーザインタフェースを介してユーザに提示すること、
各行動シンボルが上記ロボットの少なくとも1つの各行動を表す複数の行動シンボルを、上記グラフィカルユーザインタフェースを介してユーザに提示すること、
第1の区域に対応する、上記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある第1の行動に対応する行動シンボルの位置を示すユーザコマンドを受信すること、
上記第1の区域に物体を検出したことに応答して、上記第1の行動を実行するように上記ロボット玩具を制御する命令を生成すること
とを含むことを特徴とするロボットを制御する方法である。
【0010】
その結果、他のロボットとの位置関係に応じたロボットの挙動が、ユーザによって制御可能となる。ロボットをプログラムするグラフィカルユーザインタフェースが提供され、このグラフィカルユーザインタフェースは、ユーザ、さらには空間の抽象性についての能力が限られている子供にとっても理解しやすい方法で空間条件を提示する。ユーザには、ロボットの周りの複数の区域および複数の行動シンボルの図形表現が表示される。複数の行動シンボルのそれぞれは、ある一定の行動を表し、ユーザは、複数の行動シンボルのそれぞれを異なる区域に配置することができる。その結果、ロボットをカスタム化してプログラムするツールであって、高度な技術的熟練も抽象的な論理能力もないユーザによって使用可能なツールが提供される。
【0011】
ここで、区域という用語は、ロボットを基準とした位置の予め定められた組または範囲を含み、例えば、ロボットを基準としたある一定のセクタや、ロボットが移動する面に平行な平面内のある一定の領域などを含む。したがって、ロボットが、当該ロボットの区域の1つで別のロボットを検出すると、これら2体のロボットは、あらかじめ定められた位置関係を有する。例えば、2体のロボット間の距離が、ある一定の範囲内にあったり、他方のロボットが、検出側ロボットの運動方向を基準として、ある一定の方向範囲内の方向に位置したりするなどである。
【0012】
検出手段という用語は、別の物体またはロボットとの位置関係を検出するのに適したあらゆるセンサを含む。このようなセンサの例としては、例えば電波、可視光、赤外光などといった電磁波の送信機および/または受信機が含まれる。この手段は、赤外光放射器および赤外光受信機を備えることが好ましい。
【0013】
好ましい実施の形態では、ロボットは、ロボットの周りにおける、ロボットを基準とした予め定められた場所の複数の区域に信号を放射する手段を備え、この手段は、ロボットの周りの個々の区域に特有の情報を上記信号に搬送させるように構成される。
【0014】
その結果、ロボットの向きを判断する情報が、区域ごとに放射される。向きの精度は、区域の個数によって決定される。個々の区域に特有の情報は、区域がその場所から識別できる当該場所に向けて放射される。この情報が、ロボットを基準とした予め定められた場所に向けて送信されるので、ロボットの向きを判断することができる。
【0015】
好ましい実施の形態では、この手段は、相互に距離を置き、かつ、相互にオフセット角度をもって取り付けられる個々の放射器として構成されて、ロボットの周りに空間的な放射照度区域を確立する。これにより、区域特有の情報をそれぞれの区域に向けて送信する簡単な実施の形態が得られる。
【0016】
個々の区域に特有の情報が、時間多重信号として区域ごとに放射されると、信号のタイミングを制御することにより、異なる区域に送信された信号間の干渉を回避することができる。
【0017】
少なくとも1つの放射器が、そのロボットについての情報を有するメッセージ信号を他のロボットに送信するように制御されると、他のロボットは、自らの裁量でこの情報を受信することができ、自身のルールに従ってその情報を解釈することができる。このルールは、通常、コンピュータプログラムとして実施され、更には、あるタイプの挙動を実施することができる。このような情報の例として、ロボットやロボットのタイプなどの識別情報、ロボットの内部状態についての情報などが含まれる。
【0018】
本発明の好ましい実施の形態では、上記方法は、少なくとも1つの選択された目標物体の識別情報を示すユーザコマンドを受信するステップをさらに含み、命令を生成する上記ステップは、上記少なくとも1つの選択された目標物体のうちの1つを上記第1の区域に検出したことに応答して、上記第1の行動を実行するように上記ロボット玩具を制御する命令を生成することをさらに含む。その結果、どのロボットが検出されたか、どのタイプのロボット/物体であるかなどに応じて、ロボットの行動を変更するように当該ロボットを制御することができる。これにより、ロボットの挙動が状況に依存するので、可能な行動の多様性が増大し、ロボットとの対話がはるかに興味のあるものとなる。選択された目標ロボットは、例えば、ある一定のタイプの任意のロボットや任意のリモコンなどのように、特定のロボットまたは他のデバイスであってもよいし、複数の目標ロボットからなるグループであってもよい。例えば、さまざまなロボットまたはさまざまなロボットのチームが、互いに協力し合ったり、互いに競争したりするゲームのシナリオをプログラムすることができる。
【0019】
検出手段の他の例としては、磁気センサ、無線送信機/受信機などが含まれる。例えば、ロボットは、さまざまな出力レベルおよびさまざまな周波数で電波を送信する無線送信機を含むことができる。このさまざまな周波数は、さまざまな出力レベルに対応する。ロボットは、さらに、このような電波を受信して、それら電波の対応する周波数を検出する対応の受信機を備えることができる。受信した周波数から、ロボットは、別のロボットまでの距離を判断することができる。
【0020】
好ましい実施の形態では、上記検出手段は、特定の情報を搬送するデジタル信号によって制御される。
【0021】
この検出手段が、物体までの距離を示すセンサ信号を生成するようになっている距離センサを備え、領域シンボルのそれぞれが、物体からの予め定められた距離の範囲を表す場合には、さまざまな区域を区別する簡単な測度が提供される。
【0022】
区域は、それぞれの出力レベルで上記信号を放射する上記手段を制御することにより確立することができ、このそれぞれの出力レベルで、信号は、その特定の出力レベルを識別する情報を含む。したがって、信号の送信機までの距離を判断する情報が提供される。
【0023】
距離を判断するための信号の送信機までの距離は、信号が送信された特定の出力レベルを識別する情報を有する信号を受信する手段と、その情報を、システムと信号を送信した送信機との間の距離を表す情報に変換する手段とを備えるシステムによって判断することができる。
【0024】
本発明の好ましい実施の形態では、上記検出手段は、上記物体への方向を示すセンサ信号を生成するようになっている方向センサ手段を備え、上記領域シンボルのそれぞれは、物体への予め定められた方向の範囲を表す。
【0025】
システムは、遠隔のロボットの周りにおける、そのロボットを基準とした複数の区域の1つに特有の情報を搬送する信号を受信する手段と、個々の区域に特有の情報を抽出して、その情報を、遠隔のロボットの向きを表す情報に変換する手段とを備えることができる。これにより、上述したようなロボットの向きについての情報を有する送信信号は、受信されて、その遠隔のロボットの向きの表現に変換される。遠隔のロボットの向きについてのこの知識は、さまざまな目的、すなわち、遠隔のロボットの動作の追尾または追従のため、遠隔のロボットの物理的な動作によって信号により伝達されるそのロボットの挙動状態の感知のために使用することができる。
【0026】
本発明の好ましい実施の形態では、上記検出手段は、上記物体の向きを示すセンサ信号を生成するようになっている向きセンサ手段を備え、上記領域シンボルのそれぞれは、物体の予め定められた向きの範囲を表す。
【0027】
したがって、システムが、遠隔のロボットからの信号を受信して、受信信号の発生方向を判断することによって遠隔のロボットへの方向を判断する手段を備えると、遠隔のロボットの向きおよび遠隔のロボットへの方向の双方が判明する。これにより、遠隔のロボットの向きを判断する目的で遠隔のロボットから送信された信号は、遠隔のロボットへの方向を判断することにも使用することができる。発生方向は、例えば、各検出器が相互にオフセットの角度をもって配置された検出器の配列によって判断することができる。
【0028】
ここで、物体という用語には、検出手段によって検出可能なあらゆる物理的な物体が含まれる。物体の例としては、他のロボット、リモコンまたはロボットコントローラ、ロボットの検出手段によって検出できる信号の、他の静止した送信デバイス/受信デバイスが含まれる。別の例として、ロボットによって放射された信号を反射する物体などが含まれる。
【0029】
処理手段という用語には、汎用もしくは専用のプログラム可能なマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラマブルロジックアレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、専用電子回路、他の適切な処理装置など、またはそれらの組み合わせが含まれる。
【0030】
行動は、ロボットの簡単な物理的行動であってもよく、例えば、予め定められた時間または距離だけ前方に移動すること、予め定められた角度だけ回転すること、スピーカを介して音を生成すること、LEDなどの光放射器を起動すること、腕を上げたり、頭を回転させたりといったロボットの可動部を動かすことなどがある。
【0031】
好ましい実施の形態では、行動シンボルのそれぞれは、ロボット玩具の予め定められた一連の物理的行動に対応する。このような一連の行動の例として、短い距離を後方に移動して、左に回転して、前方に移動することが含まれ得る。その結果、障害物の回りを移動するというより複雑な行動が行われる。他のロボットのような物体との位置関係の検出に応じた複雑で複合的な挙動を容易にプログラムできることが、本発明の利点である。
【0032】
領域シンボルは、区域の任意の適切な図形表現を含むことができる。領域シンボルの例としては、円、楕円、または他の形状が含まれ、これらの形状は、上記検出手段の検出区域の位置および範囲に対応するように、ロボットの位置の周りに延びて配置される。ロボットの位置は、予め定められたシンボルによって示すことができ、ロボットの画像や描画などによって示されることが好ましい。
【0033】
行動シンボルは、さまざまな行動を表すアイコンまたは他のシンボルとすることができる。さまざまな行動は、さまざまなアイコン、色彩、形状などによって区別することができる。行動シンボルは、グラフィカルユーザインタフェースの制御要素とすることができ、ポインティングデバイスによって起動されて、対応する命令を上記処理手段に生成させる制御信号を生成するようになっていることができる。好ましい実施の形態では、行動シンボルは、ドラッグ・アンド・ドロップ操作を介して起動され得る。このドラッグ・アンド・ドロップ操作により、領域シンボルの1つに関係した行動シンボルは、例えば領域シンボルの1つの内部や、その領域シンボル内の予め定められた位置や、その領域シンボルの端部などに置かれる。行動シンボルが起動されると、その行動シンボルの識別情報と、その行動シンボルが関係する領域シンボルの識別情報とを含む制御信号が生成される。
【0034】
ユーザコマンドを受信する他の例としては、ポインティングデバイスによる行動シンボルのクリック、および、その後の領域シンボルの1つのクリックを検出することが含まれる。これにより、行動シンボルが領域シンボルと関係付けられる。
【0035】
入力手段という用語には、領域シンボルと関係した行動シンボルの配置を示すユーザコマンドを受信する任意の回路またはデバイスが含まれる。入力デバイスの例としては、例えばコンピュータマウス、トラックボール、タッチパッド、タッチスクリーンなどのポインティングデバイスが含まれる。入力手段という用語は、さらに、例えば音声インタフェースなどの他の形態のマンマシンインタフェースを含むことができる。
【0036】
命令という用語は、対応する行動をロボットに実行させる任意の制御命令を含むことができる。命令は、特定のモータ、アクチュエータ、ライト、サウンドジェネレータなどを直接起動させる低レベルの命令を含むことができる。一実施の形態では、命令は、例えば「3秒間、前に移動せよ」、「20度、右に回転せよ」などの高レベルの命令を含む。これらの高レベルの命令は、ロボットによって処理されて、対応する複数の低レベルの命令に変換される。これにより、ロボットに送信される命令を、ロボットの特定の機能、例えばモータ、ギアなどのタイプに依存しないものとすることができる。
【0037】
好ましい実施の形態では、命令を生成する上記ステップは、上記ロボットによって実行される状態機械用の命令を生成するステップを含む。
【0038】
上記少なくとも1つの選択された目標物体は、上記状態機械の第1の状態に対応することが好ましい。
【0039】
別の好ましい実施の形態では、上記方法は、上記生成された命令を含むダウンロード信号を生成すること、上記ロボット玩具に該ダウンロード信号を通信することとをさらに含む。このダウンロード信号は、任意の適切な通信リンクを介してロボットに転送することができる。この任意の適切な通信リンクとしては、例えば、シリアル接続のような有線接続、または、例えばIrDA接続といった赤外線接続、ブルートゥース接続のような電波接続などの無線接続がある。
【0040】
上述した本方法および以下に説明する本方法の機能は、ソフトウェアで実施されて、データ処理システム、または、コンピュータにより実行可能な命令の実行によってもたらされる他の処理手段によって実行できることに留意されたい。命令は、記憶媒体から、または、コンピュータネットワークを介した別のコンピュータから、RAMのようなメモリにロードされるプログラムコード手段であってもよい。あるいは、説明された機能は、ソフトウェアではなく、ハードウェア回路によって実施することもできるし、ソフトウェアと組み合わされたハードウェア回路によって実施することもできる。
【0041】
さらに、上述した方法および以下に説明する方法、ロボット、さらなる製品手段を含む本発明は、さまざまな形式で実施することができる。それぞれは、最初に述べた方法と共に説明した利益および利点の1つまたは2つ以上をもたらし、それぞれは、最初に述べた方法と共に説明した好ましい実施の形態およびその従属請求項に開示した好ましい実施の形態に対応する1つまたは2つ以上の好ましい実施の形態を有する。
【0042】
本発明はさらに、ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを備える上記ロボットを制御するシステムであって、
各領域シンボルが上記ロボットを基準とした上記複数の区域のうちの対応する区域を表す複数の領域シンボルと、各行動シンボルが上記ロボットの少なくとも1つの各行動を表す複数の行動シンボルとを有するグラフィカルユーザインタフェースを表示スクリーン上に生成する手段と、
第1の区域に対応する、上記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある第1の行動に対応する行動シンボルの位置を示すユーザコマンドを受信するようになっている入力手段と、上記第1の区域に物体を検出したことに応答して、上記第1の行動を実行するように上記ロボット玩具を制御する命令を生成するようになっている処理装置と、
を含むことを特徴とするロボットを制御するシステムに関する。
【0043】
本発明はさらに、ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段と、を備える上記ロボットであって、上記検出手段は、さらに、複数の予め定められた目標物体のうちの第1の目標物体として上記物体を識別して、対応する識別信号を生成するようになっており、上記処理手段は、上記検出信号および上記識別信号を受信して、上記識別された第1の目標物体と、該識別された第1の目標物体が検出された上記第1の区域を識別する上記検出信号とに応じて、複数の行動のうちの少なくとも1つを選択して実行するようになっている、ことを特徴とするロボットに関する。
【0044】
好ましい実施の形態では、上記処理手段は、状態機械であって、
各状態が複数の予め定められた目標物体選択基準の1つに対応する複数の状態と、
上記識別信号に応答して、上記状態機械の上記複数の状態のうちの第1の状態を選択する第1の選択モジュールと、
上記選択された第1の状態と、上記識別された目標物体が検出された上記第1の区域を識別する上記検出信号とに応じて、複数の行動のうちの1つを選択する第2の選択モジュールと、
を含む状態機械、を実施するようになっている。したがって、状態機械の各状態が、選択基準によって指定される1つまたは2つ以上の目標物体に関係付けられる場合、状態機械の状態は、状況に依存した挙動を実施する。一実施の形態では、選択基準は、任意のロボット、任意のロボット制御デバイス、ユーザのロボット制御デバイス、相手チームの任意のロボットなどの目標物体のタイプの仕様である。この選択基準に代えて、または、それに加えて、選択基準は、ロボット/物体の識別子、ロボット/物体の識別子の一覧または範囲などを含むことができる。
【0045】
さらに、本発明は、上述したロボットおよび以下に説明するロボットを備える玩具セットに関する。
【0046】
さらに、本発明は、上述したロボットおよび以下に説明するロボットを備えた玩具装置を備える玩具構築セットであって、上記玩具装置が、玩具構築要素の相補結合手段と相互接続する結合手段を備える、玩具構築セットに関する。
【0047】
本発明について、以下に、図面を参照しながら、好ましい実施の形態と共により十分に説明することとする。
【0048】
[好ましい実施の形態の詳細な説明]
図1aは、第1のロボットおよび第2のロボットの平面図を示している。この図では、2体のロボットの相対的な位置、距離、および向きが示されている。2体のロボット間のこの空間的関係を説明するために、第2のロボット102は、x軸およびy軸を有する座標系の原点に位置する。第1のロボット101は、第2のロボット102から距離d離れ、向きに関して第2のロボットの方向αに位置する。第1のロボットの第2のロボットに対する向き(すなわち、垂直軸103の回りの回転角)は、φと測定することができる。
【0049】
d、α、およびφの知識が、第2のロボット102に利用可能である場合、第2のロボット102は、第1のロボット101に応答して移動することができる。この知識は、あるタイプのロボット間の挙動を実施するシステムへの入力として使用することができる。d、α、およびφの知識は、ロボット位置システムが保持することができる。d、α、およびφは、それぞれのタイプの間隔、すなわち距離の間隔または角度の間隔を示す離散信号として提供することができる。
【0050】
本発明によると、以下により十分に説明するように、d、α、またはφの知識は、第1のロボットの周りのそれぞれの限られた領域に、各信号が空間領域識別情報を搬送する信号を放射することにより得られる。第2のロボットは、空間領域識別情報の関連する値およびそれぞれの領域の関連する値を調べることができると、d、α、および/またはφを求めることができる。
【0051】
放射される信号は、赤外線光信号、可視光信号、超音波信号、無線周波信号などの形態のものが可能である。
【0052】
上述した領域は、以下では区域と記されることに留意すべきである。
【0053】
図1bは、ロボット、および、放射される信号の空間的な放射照度特性によって定められる区域の平面図を示している。ロボット104は、信号TZ1、TZ12、TZ2、TZ23、TZ3、TZ34、TZ4、およびTZ14を、4つの放射器(図示せず)の放射照度特性によって定められるそれぞれの区域に送信することができる。放射器は、ロボット104の周りに、相互に重なる放射照度区域を確立するように、相互に距離を置き、かつ、相互にオフセット角度をもって配置される。信号TZ1、TZ12、TZ2、TZ23、TZ3、TZ34、TZ4、およびTZ14を互いに一意に識別でき、かつ、信号が受信可能である場合には、それらの区域のいずれにおいて信号が受信されるかを推定することができる。これについては、より詳細に説明する。
【0054】
図1cは、ロボット、および、受信信号の空間的な感度特性によって定められる区域の平面図を示している。ロボット104は、通常は上述したタイプの信号RZ1、RZ12、およびRZ2を受信することもできる。また、受信機も、ロボット104の周りに、相互に重なる受信区域を確立するように、相互に距離を置き、かつ、相互にオフセット角度をもって配置される。対応する1つの受信機または複数の受信機の受信区域の位置の知識により、信号が受信される方向を求めることができる。これについても、より詳細に説明する。
【0055】
図1dは、各ロボットが、他方のロボットの放射照度/感度区域の一方に存在する2体のロボットの平面図を示している。ロボット106は、受信区域RZ1を確立する右前方の受信機により信号を受信する。これにより、ロボット105の方向は、右前方の方向であると推定することができる。さらに、信号TZ1が識別され、ロボット105に対する空間区域の場所にマッピングされると、ロボット106では、ロボット105の向きを推定することができる。その結果、ロボット105の方向およびロボット105の向きの双方を、ロボット106で推定することができる。このために、ロボット105は、上述したタイプの信号を放射しなければならない一方、ロボット106は、その信号を受信できて、かつ、ロボット105の放射照度区域の情報を持たなければならない。通常、送信システムおよび受信システムの双方は、1体のロボット内に具体化される。
【0056】
図1eは、ロボット、および、さまざまな出力レベルで放射された信号の空間的な放射照度特性によって定められる区域の平面図を示している。ロボット107は、区域特有の信号が異なる出力レベルで放射されることを付加することにより、図1bに示すような区域特有の信号を放射することができる。各出力レベルにおいて、信号は、その出力レベルを識別する情報を含む。これにより、ロボット107は、区域(Z1,Z2,…)に特有の情報およびロボット107からの距離間隔を有する信号を放射する。距離間隔は、例えば(Z1;P2)から(Z1;P3)の2つの放射照度曲線間の空間によって定められる。
【0057】
ロボット108は、区域Z1および出力レベルP4を識別する情報を検出できるが、出力レベルP3、P2およびP1を識別する情報を検出できない場合には、(Z1;P4)と(Z1;P3)との間の空間に存在することが、ロボット108によって推定可能である。曲線(例えば(Z1;P4)と(Z1;P3))間の距離の実際のサイズは、信号を受信する受信機の感度および信号が放射される出力レベルによって決定される。
【0058】
図2は、ロボットを取り囲む複数の区域のそれぞれに特徴的な信号を放射する放射器を有するロボット玩具を示している。このロボット201は、そのロボットの前方が、上方に向いている向きで示されている。
【0059】
ロボット201は、4つの赤外光放射器202、203、204、および205を備える。各放射器は、それぞれの赤外光信号を放射する。これらの放射器は、940nmと960nmとの間の波長の光を放射するように構成されることが好ましい。
【0060】
赤外光放射器202、203、および204は、異なる位置および異なる角度でロボットに取り付けられて、ロボットを取り囲む放射照度曲線209、210、および211によってそれぞれ示すような区域FR、FL、およびBに赤外光を放射する。これらのダイオードの方向は、ロボットの前進運動方向に対して、それぞれ60°、300°、および180°である。ダイオードのそれぞれの放射照度の角度が120°より大きい、例えば120°と160°との間である場合には、区域209および210は重なり合って、さらに別の区域Fを確立する。同様に、区域210および211が重なり合って、区域BLを確立し、区域209および211が重なり合って、区域BRを確立する。それらの区域は、個々の放射器の放射口ならびに上述した位置および角度、ならびに放射器により放射される赤外光の出力によって定められる。
【0061】
放射器202、203、および204は、2つの異なる出力レベルで赤外光を放射するように制御される。以下では、これら2つの出力レベルは、低出力レベル(接頭語「L」)および中出力レベル(接頭語「M」)と呼ぶこととする。
【0062】
相対的に大きな放射照度曲線209、210、および211は、送信機の1つが中出力レベルで送信を行っている時に、受信機が、当該受信機に向けて放射された赤外光信号FR、FLおよびBを検出できる区域を表す。同様に、相対的に小さな放射照度曲線206、207、および208は、送信機の1つが低出力レベルで送信を行っている時に、受信機が、当該受信機に向けて放射された赤外光信号LFR、LFLおよびLBを検出できる区域を表す。一実施の形態では、相対的に大きな曲線209、210、211は、約120〜160cmの直径を有する。相対的に小さな曲線206、207、および208は、約30〜40cmの直径を有する。
【0063】
放射器205は、上記中出力レベルよりも大きな高出力レベルでロボットの周囲に信号を放射するように構成される。この信号は、壁、ドアなどの物体から反射される可能性があるので、対応する放射照度曲線は図示されていない。その代わり、大文字Hが、この放射照度を示している。高出力のピング信号(ping-signal)は、約6メートル×6メートルの通常の居間で検出可能であろう。
【0064】
このように、放射器202、203、および204は、中出力レベル(M)での作動時には、一部が相互に重なり合う区域209、210、および211を確立するように構成される。さらに、放射器202、203、および204が、低出力レベル(L)で作動している時は、それら放射器は、一部が相互に重なり合う区域206、207、および208を確立する。これにより、ロボット201の向きを正確に判断することが可能になる。
【0065】
図2の実施の形態では、重なり合う区域LF、LBR、およびLBLは、中出力レベルの対応する重なり区域、すなわちF、BR、およびBLにそれぞれ存在して、ダイオード放射器202、203、および204の少なくとも1つからの低出力信号を受信する受信機によって定められる
【0066】
赤外線信号FR、FL、およびBのそれぞれは、赤外線放射器の一意の1つに対応する情報により符号化され、これにより、ロボットを取り囲む区域のそれぞれの区域に対応する。
【0067】
赤外線信号は、赤外線放射器に一意の情報が、相互に重ならないタイムスロットで構成される時間多重信号として構成されることが好ましい。
【0068】
信号に基づいて、検出器がどの区域に存在するかを判断できるようにするために、検出器システムには、区域の場所とそれぞれの信号との間の関係の情報が提供される。
【0069】
検出原理の好ましい実施の形態については、図3a〜図3eと共に説明することとする。
【0070】
送信側ロボットが、向きおよび距離の情報を符号化して、その情報を区域に送信し、送信後、別の受信側ロボットが復号して解釈するために、ネットワークプロトコルが使用される。このネットワークプロトコルは、ピング信号およびメッセージ信号に基づいている。これらの信号について、以下に説明する。
【0071】
図3aは、それぞれの放射器、例えば図2の放射器202、203、204、および205からピング信号を送信するために使用される出力レベルを示している。出力レベルPは、時間tの関数として、離散的な出力レベルL、M、およびHで示される。
【0072】
ピング信号は、密な列で送信される位置情報ビット列301として符号化される。列301は、サイクル時間TPRを有するサイクルで送信される。密な列301間には一時休止308が置かれる。この一時休止は、付加的なメッセージを送信するために使用され、また、他のロボットの同様の信号の送信を可能にするために使用され、かつ/または、他の情報、例えばメッセージ信号を送信するのに使用される。
【0073】
位置情報ビット列301は、12ビット(b0〜b11)を備える。ビットは、低出力(L)、中出力(M)、または高出力(H)で送信される。第1ビット302は、ダイオード205によって高出力で送信される。好ましい実施の形態では、このビットは、放射器202、203、および204によって中出力でも送信される。中出力を有する他のダイオードに高出力ビットを複製することにより、受信範囲が増加し、部屋の壁および天井があまり反射しない場合であっても、近くの受信機がそのビットを受信することが保証される。この最初のビットの後には、どのダイオードも信号を送信しない無信号の2ビット303が続く。後続する3ビット304は、低出力レベルで送信され、各ビットは、ダイオード202、203、および204の1つのみによって送信される。同様に、次の3ビット305は、中出力レベルで送信され、ダイオード202、203、および204のそれぞれが、ビット305の1つのみを送信する。後続する2ビット306は、再度、ダイオード205によって高出力レベルで送信され、好ましくは、ダイオード202、203、および204によって中出力レベルで送信される。その後、無信号のストップビット307が続く。
【0074】
したがって、ダイオード202、203、204、および205のそれぞれは、図3b〜図3eに示すような異なるビットパターンを送信する。ここで、図3bは、ダイオード202によって放射される位置ビット列を示し、図3cは、ダイオード203によって放射される位置ビット列を示し、図3dは、ダイオード204によって放射される位置ビット列を示し、図3eは、ダイオード205によって放射される位置ビット列を示す。
【0075】
受信側ロボットは、自身が送信側ロボットのどの区域に位置するかを判断できるので、受信側ロボットは、受信ビット列を使用して、その受信ビットパターンを送信したロボットまでの距離および送信側ロボットの向きを判断することができる。この判断は、受信ビットパターンを図2の区域の1つに関係づける参照表により行う簡単に行うことができる。この参照表を表1に示す。
【0076】
【表1】
【0077】
表1は、送信側ロボットの区域の1つに受信側ロボットがもし存在すれば、送信されたピング信号の符号化された出力レベル情報をその存在にどのように復号できるかを示している。区域は、順に向きおよび距離を表す。
【0078】
上記原理は、異なる個数のダイオードおよび/または異なる個数の出力レベルに適用することができ、ダイオードの個数が多くなるほど、向きの判断の精度が向上し、出力レベルの個数が多くなるほど、距離の計測の精度が向上することが理解される。この精度の向上は、ビット列の増加という代償を払って達成され、したがって、送信速度を減少させる。
【0079】
一実施の形態では、ロボットは、付加的なメッセージを送信する。この付加的なメッセージは、例えばピング信号と関連したものであるか、または、関連のない別のメッセージ信号として送信される。これらのメッセージは、位置情報ビット列と関連して送信されることが好ましく、例えば、各位置ビット列の後に複数のバイトを送信することにより送信される。一実施の形態では、ロボットは、位置情報ビット列を含むピング信号に続いて、ヘッダバイト、ロボットID、およびチェックサム、例えば巡回冗長検査(CRC)を送信する。これらの情報に加えて、または、これらの情報に代えて、他の情報を送信することができる。他の情報は、例えば速度、運動方向、行動などのロボットについてのさらに別の情報、コマンド、ロボット間で交換されるデジタルトークンといったものである。
【0080】
各バイトは、複数のデータビット、例えば8データビット、ならびにスタートビット、ストップビット、およびパリティビットといった付加ビットを含むことができる。これらのビットは、適切なビットレート、例えば4800ボーで送信することができる。付加的なメッセージバイトは、ダイオード205によって高出力レベルで送信され、かつ、ダイオード202、203、および204によって中出力レベルで送信されることが好ましい。
【0081】
ロボットIDは、所与の状況においてそのロボットに一意の番号であることが好ましい。ロボットIDにより、ロボットは、実世界で出会った仲間のロボットまたはインターネット上で出会った仲間のロボットに関する情報を登録して保持することができる。ロボットは、外部状態記録の一部として、好ましくは既知ロボットの一覧として、他のロボットについての情報を記憶することができる。その一覧の各登録項目は、ロボットID、ロボットのセンサによって計測された例えば方向、距離、向きといったマッピング情報、運動情報、例えばロボットのあるチームへの割り当てといったそれぞれのロボットから受信したゲーム関連情報、ロボットのさまざまなグループを選択基準により区別するために使用されるタイプ情報、ロボットを制御するロボットコントローラの識別情報などを含むことができる。
【0082】
ロボットは、別のロボットからブロードキャストメッセージを受信すると、その一覧の情報を更新する。メッセージの発信元が未知である場合には、新しい登録項目が作成される。予め定められた時間の間、例えば2回のブロードキャストの繰り返し期間よりも長い間、一覧の特定の登録項目からメッセージが受信されないと、ロボットの項目は、存在しないものとして印が付けられる。
【0083】
ロボットIDを例えば1バイトに制限するというように短く維持して、所与の状況においてロボットの一意の識別を可能にするために、例えば部屋の中といった通信範囲内に存在するロボット間に調停アルゴリズムを使用することができる。例えば、同じIDを有する別のロボットからピング信号を受信したロボットは、異なるIDを選択することができる。
【0084】
図4は、ピング信号およびメッセージ信号を送信する通信システムのブロック図を示している。このシステム401は、ピング信号(例えば、ヘッダ、ロボットIDおよびCRCバイト)ならびにメッセージ信号をバッファ405を介して受信する。ピング信号およびメッセージ信号は、外部システム(図示せず)により、送信インタフェース406を介して提供される。このように、通信システム401は、外部システムから情報を受信でき、その結果、外部システムを、通信システムとは非同期に動作させることができる。
【0085】
このシステムは、図3a〜図3eと共に説明したさまざまなダイオードのそれぞれの位置ビット列を記憶するメモリ403を備える。
【0086】
コントローラ402は、ピング信号およびメッセージ信号を受信し、メモリ403から検索された対応するビット列を前に付け、かつ、増幅器407、408、409、および410を介して赤外光送信機202、203、204、および205を制御するように構成される。放射器202、203、204、および205によって放射される出力レベルは、増幅器407、408、409、および410の増幅度を調節することにより制御される。コントローラに提供される信号Sは、通信が無信号であるかどうか、すなわち放射される信号と干渉を起こす可能性のある他の信号が検出できないかどうかを示す2値信号である。さらに、コントローラは、信号が送信される時を示す信号Rを提供する。
【0087】
図5は、ロボットに取り付けられた2つの受信機の感度曲線を示している。曲線504は、図2と共に説明したように、受信機502に向けて送信された中出力レベルの信号を、受信機502が検出できる区域を定める。曲線506は、低出力レベルで受信機502に向けて送信された信号を、受信機502が検出できる小さな区域を定める。
【0088】
曲線505および507は、それぞれ中出力レベルおよび低出力レベルで受信機503に向けて送信された信号を、受信機503が検出できる区域をそれぞれ定める。一般に、上述した区域は、受信区域と記される。受信機502および503の一方に向けて高出力で送信された信号を検出できる区域は、より広く拡散する。したがって、このような区域は、破線の曲線508で示される。
【0089】
図2の放射器202、203、204は、信号が送信される出力レベルを表す情報を含んだ信号を送信するので、別のロボットが現れる位置の方向および距離を、区域H、ML、MC、MR、LL、LCL、LC、LCRおよびLRの点で判断することができる。
【0090】
第1のロボットの2つの受信機502および503の一方または双方は、第2のロボットの放射器202、203、204、および205によって放射された信号を受信することができる。
【0091】
その結果、上述したような簡単な送信/受信システムにより、距離、方向、および向きの高分解能を得ることができる。
【0092】
以下では、方向および距離の情報を復号する方法をより十分に説明する。次のことが仮定される。
【0093】
・ある受信機が高出力のピング信号を得ると、他の受信機もそのピング信号を得る。
・受信機が低出力のピング信号を得ると、その受信機は中出力のピング信号および高出力のピング信号も得る。
・受信機が中出力のピング信号を得ると、その受信機は高出力のピング信号も得る。
【0094】
低出力のピング信号に対してL、中出力のピング信号に対してM、および高出力のピング信号に対してHの表記を適用すると、存在する区域は、以下の表2による受信信号に基づいて判断することができる。
【0095】
【表2】
【0096】
表2は、左の列の10個の区域の1つに受信側ロボットがもし存在すれば、送信ピング信号の符号化された出力レベル情報をその存在にどのように復号できるかを示している。
【0097】
向き情報を復号する目的で、上記表1を使用することができる。
【0098】
図6は、デバイスを取り囲む複数の区域のそれぞれ1つに特徴的な信号を放射する放射器を有する当該デバイスを示している。図2のロボットと同様に、このデバイス601は、赤外光放射器602および603を備える。各放射器は、それぞれの赤外光信号を放射する。これらの放射器は、940nmと960nmとの間の波長の光を放射するように構成されることが好ましい。一方で、デバイス601は、当該デバイスに取り付けられた1つの赤外光放射器602のみを備え、それぞれ放射照度曲線604により示された中出力レベルの区域Mおよび放射照度曲線605により示された低出力レベルの区域Lに赤外光を放射する。
【0099】
放射器603は、図2の放射器205と共に説明したように、デバイスの周囲に上記中出力レベルよりも大きな高出力レベルで信号を放射するように構成される。
【0100】
このように、放射器602および603は、デバイスに最も近い区域L、中程度の距離の区域M、および外部の区域Hの3つの近傍区域を確立するように構成される。これにより、別のデバイスまたはロボットによる距離計測が可能になる。
【0101】
ダイオード602および603は、図3a〜図3eと共に説明したような位置ビット列を含んだピング信号を放射するように制御される。ダイオード603によって送信されるビットパターンは、図2の実施の形態の高出力ダイオード205のビットパターン、すなわち図3eに示すビットパターンに対応する。ダイオード603によって送信されるビットパターンは、図3cのビットパターンに対応する。
【0102】
受信側ロボットは、上記図3a〜図3eと共に説明したように、受信したビット列を使用して、受信したビットパターンを送信したロボットまでの距離を求めることができる。
【0103】
デバイス601は、ロボットであってもよいし、ロボットと通信する静止したデバイス、例えば、リモコン、ロボットコントローラ、またはロボットにコマンドメッセージを送信するようになっている別のデバイスであってもよい。
【0104】
したがって、リモコンまたはロボットコントローラからコマンドメッセージを送信することにより、ロボットを制御することができる。ここで、コマンドメッセージが、距離および/または位置の情報を含むことにより、ロボットは、コマンド源までの距離および/またはコマンド源の位置に応じて、受信したコマンドを解釈することが可能になる。
【0105】
図7は、ピング信号およびメッセージ信号を受信するシステムのブロック図を示している。このシステム701は、ロボット間の信号(特にピング信号およびメッセージ信号)ならびにリモコン信号を受信する2つの赤外線受信機702および703を備える。
【0106】
受信機702および703によって検出された信号は、信号の到来に応答して、それぞれデータ獲得手段710および709によりデジタルデータとして提供される。データ獲得手段からのデジタルデータは、それぞれの先入れ先出しバッファであるLバッファ708およびRバッファ707にバッファリングされる。LバッファおよびRバッファからのデータは、バッファ704に移動される。バッファ704は、より大きな容量を有し、制御システム(図示せず)へ転送を行っている間、データを収容する。
【0107】
赤外線信号が受信機702および703に向けて放射されるかどうかを示す2値信号Sは、加算器706によりシュミットトリガ705を介して提供される。加算器706は、データ獲得手段709および710から信号を加算する。これにより、2値信号は、無信号の通信が存在するかどうかを示すものとなる。
【0108】
制御信号Rは、ロボット自体が、ピング信号を送信している時を示す。この制御信号は、そのロボットがピング信号を送信していない時にのみデータ信号を出力するようにデータ獲得手段710および709を制御するのに使用される。したがって、そのロボット自身のピング信号の反射信号を受信することが回避される。
【0109】
リモコン装置(図示せず)からの信号を受信するように、このシステムを制御することができる。その場合、バッファに供給されるデータは、リモコンコマンドとして解釈される。これにより、受信機702および703は、ピング信号/メッセージ信号に加えてリモコンコマンドを受信するのに使用することができる。
【0110】
図8は、ロボット制御システムのブロック図を示している。この制御システム801は、ユーザによってプログラム可能なロボットを制御して、あるタイプの挙動を示すように構成される。制御システム801は、中央処理装置(CPU)803、メモリ802、および入出力インタフェース804を備える。
【0111】
入出力インタフェース804は、ロボット位置情報を受信するインタフェース(RPS/Rx)811と、ロボット位置情報を放射するインタフェース(RPS/Tx)812と、操縦手段(図示せず)に制御信号を提供する行動インタフェース809と、トランスデューサ(図示せず)を介してさまざまな物理的影響を検知する検知インタフェース810と、外部デバイスと通信するリンクインタフェース813とを備える。
【0112】
インタフェースRPS/Rx811は、図4に示すように具体化できることが好ましく、インタフェースRPS/Txは、図7に示すように具体化されることが好ましい。リンクインタフェース813は、例えば図10と共に説明するように、外部デバイスとの通信を可能にするために使用される。外部デバイスとしては、例えばパーソナルコンピュータ、PDA、または他のタイプの電子データ情報源/データ消費デバイス(data consumer device)がある。この通信は、ユーザが作成したスクリプトプログラムおよび/またはファームウェアプログラムのプログラムダウンロード/アップロードを含むことができる。インタフェースは、電線/コネクタタイプ(例えばRS323)、IRタイプ(例えばIrDA)、無線周波数タイプ(例えばブルートゥース)などの任意のインタフェースタイプとすることができる。
【0113】
操縦手段(図示せず)に制御信号を提供する行動インタフェース809は、デジタル出力ポートとデジタル/アナログ変換器とを組み合わせたものとして実施される。これらのポートは、モータ、ランプ、サウンドジェネレータ、および他のアクチュエータを制御するために使用される。
【0114】
さまざまな物理的影響を検知する検知インタフェース810は、デジタル入力ポートとアナログ/デジタル変換器とを組み合わせたものとして実施される。これらの入力ポートは、スイッチおよび/または光レベルの起動、気温の度合い、音圧などを検知するために使用される。
【0115】
メモリ802は、データセグメント805(DATA)と、状態機械実行システムを有する第1のコードセグメント806(SMES)と、機能ライブラリを有する第2のコードセグメント807と、オペレーティングシステム(OS)を有する第3のコードセグメント808とに分割される。
【0116】
データセグメント805は、入出力インタフェース804とデータ(例えば、バッファ704によって提供されるデータおよびバッファ405に供給されるデータ)を交換するために使用される。さらに、データセグメントは、プログラムの実行に関係したデータを記憶するために使用される。
【0117】
第2のコードセグメント807は、インタフェース手段804の使用の細部を処理するプログラム手段を備える。このプログラム手段は、いわゆるアプリケーションプログラミングインタフェース(API)によって実行される機能および手順として実施される。
【0118】
第1のコードセグメント806は、ロボットのプログラムされた挙動を実施するプログラム手段を備える。このようなプログラムは、アプリケーションプログラミングインタフェースによって提供される機能および手順に基づいている。状態機械を実施するこのようなプログラムの例は、図9と共に説明することとする。
【0119】
第3のコードセグメント808は、複数の並行したプログラムプロセス、メモリ管理などを処理するオペレーティングシステム(OS)を実施するプログラム手段を備える。
【0120】
CPUは、ロボットの制御および/または外部デバイスとの通信を行うために、メモリに記憶された命令を実行して、インタフェースからデータを読み出し、インタフェースにデータを供給するように構成される。
【0121】
図9は、ロボット制御システムによって実施される状態機械の状態イベント図を示している。状態機械901は、複数の目的指向の挙動状態902および903を備える。それらの一方が、同時にアクティブになることができる。図9の例では、状態機械は、2つの挙動状態902および903を備える。しかしながら、この個数は、実際のゲームのシナリオに依存し、表されるさまざまな目的の個数に応じて変化し得る。挙動状態のそれぞれは、複数の高レベルの行動に関係付けられる。すなわち、図9の例では、状態902は、行動B111,…,B11I、B121,…,B12J、B131,…,B13K、つまり(I+J+K)個の行動に関係付けられる一方、状態903は、行動B211,…,B21L、B221,…,B22M、B231,…,B23N、つまり(L+M+N)個の行動に関係付けられる。行動は、高レベルの目的指向の挙動を実行する命令を含むことが好ましい。このような行動の例には、「ロボットXに追従する」、「ロボットYから逃げる」、「ロボットZにぶつかる」、「部屋を探索する」などが含まれる。これらの高レベルの命令は、ライブラリの機能を介して実施することができる。このライブラリの機能は、好ましくはセンサ入力に応答して、ロボットの制御装置により、ロボットを制御する制御信号に変換される。上記高レベルの行動は、行動ビーズ(action beads)とも呼ばれる。複数の異なるタイプの行動ビーズが存在する。例えば、状態図のある状態から別の状態に状態遷移を行うビーズ、ある一定の条件が満たされると、行動を行う条件付き行動ビーズなどが存在する。一実施の形態では、条件は、ロボット制御システムによって実行される監視人プロセス(watcher process)によって検査することができる。監視人プロセスは、ロボットの内部状態パラメータまたは外部状態パラメータを監視することができ、条件が満たされた時を示す信号を状態機械に送ることができる。例えば、監視人は、ロボットが所与の受信区域で検出されたかどうか、検出されたロボットが所与の向きを有するかどうかなどを検査することができる。したがって、一実施の形態では、行動ビーズは、一組のプリミティブな行動のうちの1つまたは2つ以上のもの、1つまたは2つ以上のプリミティブな行動が従う条件、または異なる状態への遷移を状態機械実行システムに実行させる遷移動作を備えることができる。これに代えて、または、これに加えて、状態遷移は、行動ビーズとは異なるメカニズムによって実施できることに留意されたい。
【0122】
ゲームのシナリオのすべての目的、ルール、および戦略が、明白にされ、したがって、異なるゲームのシナリオに容易に調節可能であることが、このような状態機械システムの利点である。
【0123】
図9の状態図は、開始状態912、勝ち状態910、負け状態911、ならびに2つの挙動状態902および903を備える。2つの挙動状態のそれぞれは、目標物体T1およびT2をそれぞれ表す。目標物体は、選択基準によって識別される。この選択基準としては、例えば、別のロボットまたはデバイスのロボットID、複数の予定されるロボットおよび/またはデバイスの仕様、現在のロボットと関連付けられたロボットコントローラなどがある。また、上記複数の予定されるロボットおよび/またはデバイスとしては、ある一定のタイプのすべてのロボット、それ以外の任意のロボット、別のロボットチームの任意のロボットといったものがある。
【0124】
挙動状態のそれぞれは、それぞれの近傍区域を表す3つの行動状態に関係付けられる。状態902は、行動状態904、905、906に関係付けられる。ここで、行動状態904は、近傍区域Lに関係付けられ、行動状態905は、近傍区域Mに関係付けられ、行動状態906は、近傍区域Hに関係付けられる。したがって、状態902では、状態機械実行システムは、状態902の選択基準を満たす目標物体T1が、これらの区域のいずれかで検出されたかどうかを検査する。
【0125】
選択基準に応じて、その選択基準を満たす2つ以上の目標物体が、ロボットの近傍区域内に検出されることがある。状態機械実行システムは、ロボットによって保持される、現在検出されたすべての物体の一覧を検索し、現在の状態の選択基準を使用してその一覧を選択除去することにより、検出された目標ロボットを識別することができる。2つ以上の物体が、選択基準を満たす場合には、あらかじめ定められた優先順位ルールを適用して、検出された物体の1つを現在の目標物体T1として選択することができる。一実施の形態では、選択基準を満たす物体の中から目標物体を選択するために、区域情報を使用することができる。例えば、ロボットまでの距離が短いほうの物体をより高い優先順位で選択することができる。
【0126】
状態902の目標物体T1が、近傍区域Lで検出された場合、システムは、行動状態904で実行を継続する。行動状態904は、例えば逐次的に実行される複数の行動ビーズB111,…,B11Iを含む。これらの行動ビーズは、その1つまたは2つ以上のものが、条件付き行動ビーズである場合には、ある一定の条件に依存する可能性がある。行動B111,…,B11Iが実行されると、状態機械は、状態902で実行を継続する。行動状態904が、行動ビーズを含まない場合には、行動は行われず、状態機械実行システムは、状態902に戻る。同様に、目標物体が、区域Mで検出された場合、状態905で実行が継続し、その結果、ビーズB121,…,B12Jが実行される。図9の例では、行動ビーズB12Jが、状態903への遷移を引き起こす遷移行動であるものと仮定する。したがって、この場合、状態903で実行が継続される。状態902にいる間、目標物体が、区域Hで検出された場合、状態905で実行が継続し、その結果、ビーズB131,…,B13Kが実行される。図9の例では、行動ビーズB13Kが、負け状態911への遷移を引き起こす遷移行動であるものと仮定する。この負け状態911は、ゲームのシナリオを終了させる。負け状態は、ロボットの動作を停止し、ゲームの結果を、例えば光効果、音響効果などを介して、そのロボットに示させるようにすることができる。さらに、ロボットは、自身が負けたことを示す対応したピングメッセージを他のロボットに送信してもよい。最後に、状態902にいる時、目標物体が、どの区域にも検出されない場合、状態902で実行が継続する。あるいは、この場合に関係付けられた特別な行動状態をさらに設けて、この場合の複数の行動を実行させてもよい。
【0127】
同様に、挙動状態903は、目標T2、すなわち、上述したように状態903の対応する目標選択基準によって選択された目標物体に関係付けられる。したがって、状態903にいる時、状態機械実行システムは、目標物体T2が、接頭語L、M、またはHを有する区域の1つで検出されるかどうかをチェックする。目標物体T2が、区域Lで検出されると、状態907で実行が継続され、その結果、行動ビーズB211,…,B21Lが実行される。図9の例では、行動ビーズB211,…,B21Lの1つが、状態902への条件付き遷移ビーズであるものと仮定する。その結果、対応する条件が満たされた場合には、状態902で実行が継続される。そうでない場合には、状態機械実行システムは、行動ビーズB211,…,B21Lの実行後、状態903に戻る。状態903で、目標物体T2が、区域Mに存在すると検出された場合には、状態908で実行が継続され、その結果、行動ビーズB221,…,B22Mが実行される。図9の例では、行動ビーズB221,…,B22Mの1つが、勝ち状態910への条件付き遷移ビーズであるものと仮定する。その結果、対応する条件が満たされた場合には、状態910で実行が継続される。そうでない場合には、状態機械実行システムは、行動ビーズB221,…,B22Mの実行後、状態903に戻る。最後に、状態903にいる時、目標物体T2が、区域Hに存在すると検出された場合には、状態909で実行が継続され、その結果、行動ビーズB231,…,B23Nが実行され、その後、実行は、状態903に戻る。
【0128】
一実施の形態では、目標物体が、ある区域から別の区域に移動したことが検出されると、現在実行中の行動は中止され、また状態実行システムは、対応する挙動状態に戻る。その挙動状態から、上述したように、新しい区域に対応する行動状態で、実行が継続される。
【0129】
図9の例では、区域L、M、およびHは、図5に示すそれぞれの区域を介して定められる近傍区域に対応し、3つの出力レベルL、M、およびHに対応する。したがって、この実施の形態によると、所与の目標物体に対してどの行動状態が実行されるかを判断するために、距離情報のみが使用される。目標物体が、図5の受信区域506および507の少なくとも一方内に存在する場合、目標物体は、L区域内に存在するものと検出される。目標物が、区域504および505の少なくとも一方に検出されるが、L区域に検出されない場合には、目標物体は、M区域内に存在するものと検出される。目標物体が、受信区域508に存在するものと検出されるが、それ以外の区域のいずれにも検出されない場合には、目標物体は、H区域に存在するものと検出される。しかしながら、行動ビーズに対応する命令は、方向情報および/または向き情報も使用することができる。
【0130】
さらに、別の実施の形態では、各挙動状態に関係付けられた異なる組の行動状態が存在し得ることに留意されたい。例えば、図5の区域H、ML、MR、MC、LL、LCL、LC、LCR、およびLRのそれぞれの行動状態である。
【0131】
それに加えて、ロボットの挙動は、モニタ、イベントハンドラ、割り込みハンドラなどのような例えば並列状態機械によって提供される別の制御信号によって制御できることにさらに留意されたい。したがって、上記状態機械は、一例であり、行動ビーズの実行シナリオの別の実施態様を提供できることが理解される。
【0132】
図10は、本発明によるロボット玩具の挙動をプログラムするシステムの実施の形態を示している。この実施の形態では、挙動は、ダウンロードプログラムによって制御される。このシステムは、パーソナルコンピュータ1031を備える。このパーソナルコンピュータ1031は、スクリーン1034または他の表示手段、キーボード1033、およびポインティングデバイス1032を有する。ポインティングデバイス1032は、例えば、マウス、タッチパッド、トラックボールなどである。コンピュータ上では、アプリケーションプログラムが実行される。このアプリケーションプログラムによって、ユーザは、スクリプトの作成および編集を行って、そのスクリプトを記憶し、コンパイルとしてロボット玩具1000にダウンロードすることができる。コンピュータ1031は、コンピュータ1031のシリアルポートの1つからロボット玩具1000のシリアルリンク1017へ、シリアル接続1035を介してロボット玩具1000に接続される。あるいは、この接続は、赤外線接続またはブルートゥース接続といった無線であってもよい。プログラムコードが、コンピュータ1031からロボット玩具1000にダウンロードされると、ダウンロードされたデータは、メモリ1012に転送されて記憶される。一実施の形態では、ロボット玩具のリンク1017は、光学インタフェースを提供するようになっている光センサおよびLEDを備える。
【0133】
ロボット玩具1000は、ハウジング1001、シャフト1008aおよび1008bを介してモータ1007aおよび1007bにより駆動される一組のホイール1002a〜1002dを備える。これらに代えて、または、これらに加えて、ロボット玩具は、足、糸などといった、別の移動手段を含むことができる。また、プロペラ、アーム、ツール、回転ヘッドなどといった他の移動可能な部品を含むこともできる。ロボット玩具は、モータならびにロボット玩具の他の電気コンポーネントおよび電子コンポーネントに電力を提供する電源装置1011をさらに備える。この電源装置1011は、標準的な電池を含むことが好ましい。ロボット玩具は、ロボット玩具1000の制御を担当する中央プロセッサCPU1013をさらに備える。プロセッサ1013は、メモリ1012に接続される。メモリ1012は、ROM部およびRAM部またはEPROM部(図示せず)を備えてもよい。メモリ1012は、中央プロセッサ1013用のオペレーティングシステム、および、低レベルのコンピュータにより実行可能な命令を含むファームウェアを記憶することができる。このファームウェアは、中央プロセッサ1013によって実行されて、例えば「モータを作動させる」といったコマンドを実施することによりロボット玩具のハードウェアを制御する。さらに、メモリ1012は、より高レベルの命令を備えたアプリケーションソフトウェアを記憶することができる。このアプリケーションソフトウェアは、中央プロセッサ1013によって実行されて、ロボット玩具の挙動を制御する。中央プロセッサは、バスシステム104により、個別の制御信号などを介してロボット玩具の制御可能ハードウェアコンポーネントに接続することができる。
【0134】
ロボット玩具は、バスシステム1014を介して中央プロセッサ1013に接続される複数のさまざまなセンサを備えることができる。ロボット玩具1000は、衝撃を受けた時を検出する衝撃センサ1005、ならびに、光レベルの計測および点滅の検出を行う光センサ1006を備える。ロボット玩具は、4つの赤外線(IR)送信機1003a〜1003d、および、上述したように他のロボットを検出してマッピングを行う2つのIR受信機1004a〜1004bをさらに備える。これに代えて、または、これに加えて、ロボット玩具は、他のセンサを備えることができる。これらの他のセンサとしては、ショックセンサや量を検出するセンサといったものがある。ショックセンサは、例えば、ロボット玩具が衝撃を受けたり、何かにぶつかったりした時に出力を提供する、バネから吊るされた重りである。量を検出するセンサには、時間、味覚、嗅覚、光、パターン、近さ、動作、音、会話、振動、接触、圧力、磁気、温度、歪み、通信などを検出するセンサが含まれる。
【0135】
ロボット玩具1000は、例えばレーザガンを模倣した光効果を生成するLED1016、および、音響効果を作成するピエゾ素子1015をさらに備える。これらに代えて、または、これらに加えて、ロボット玩具は、プロセッサ1013によって制御される他のアクティブなハードウェアコンポーネントを備えることができる。
【0136】
図11は、ロボットをプログラムするグラフィカルユーザインタフェースの一例の概略図を示している。このユーザインタフェース1101は、ロボット制御コンピュータプログラムを実行するデータ処理システムによって生成される。ユーザインタフェースは、通常、対応するユーザコマンドに応答して、データ処理システムに接続されたディスプレイに表示される。グラフィカルユーザインタフェースは、プログラムされるロボット1102の表示を備える。このロボットは、衝撃センサ1103および光センサ1104を備える。
【0137】
ユーザインタフェースは、複数の領域シンボル1106、1107、および1108をさらに備える。これらのシンボルのそれぞれは、ロボットが、別のロボット、制御デバイスなどの物体を検出できる近傍区域を概略的に示している。領域シンボルは、異なるサイズの楕円形であり、ロボットのシンボル1101から異なる距離に延びている。領域1108は、別のロボットにより出力レベルLで送信された信号を受信できる検出区域を示している。同様に、領域1107は、別のロボットまたはデバイスにより送信された中出力レベル信号の受信区域を示し、領域1106は、別のロボットまたはデバイスにより送信された高出力レベル信号の受信区域を示している。領域シンボル1106、1107、および1108は、さらに制御要素1116、1117、および1118にそれぞれ接続される。
【0138】
ユーザインタフェースは、行動シンボル1124、1125、1126、および1127用の選択領域1140をさらに備える。各行動シンボルは、上述したようなロボットにより実行可能な行動に対応する。行動シンボルは、それらの対応する行動によりラベル付けすることができ、例えば、対応する行動の結果の図的なイラストによりラベル付けすることができる。各行動シンボルは、ポインティングデバイスによって起動できる要素である。ユーザは、行動シンボルのいずれか1つに対してドラッグ・アンド・ドロップ操作を実行して、制御要素1116、1117、および1118のいずれか1つの中にその行動シンボルを置くことができる。図11は、行動シンボル1113が、外側の区域1106に関係付けられた制御要素1116内に置かれている状況を示している。選択可能な行動シンボルの個数を増やすために、スクロール機能が提供される。このスクロール機能は、制御要素1122および1123を介して起動することができ、これにより、行動シンボルの一覧をスクロールすることが可能になる。制御シンボルの一覧は、行動シンボルのグループにさらに分割される。この分割は、例えば、行動シンボルを、それらの行動の性質に従ったグループに整理することにより行われる。グループの例として、「直線運動」、「回転」、「光効果」、「音響効果」、「ロボット間相互作用」などを含むことができる。行動シンボル1124、1125、1126、および1127の一覧は、対応するグループ表示要素1121によって示されるように、上記グループのうちの1つの行動シンボルを含む。ユーザは、制御要素1119および1120を介して別のグループを選択することができ、これにより、別の行動シンボルが表示され、選択可能にされる。
【0139】
行動シンボルの一覧および対応する命令は、事前に記述することができ、特定の種類のロボット用のプログラムライブラリとして、例えばCDで、または、インターネットを介して利用可能にすることができる。行動ビーズは、例えば円などのシンボルにより表現でき、それらの形状、色彩および/またはラベルは、それらの機能を識別することができる。行動ビーズを円の中に置くことは、例えば、ポインティングデバイスによるドラッグ・アンド・ドロップ操作によって行うことができる。
【0140】
ユーザインタフェースは、衝撃センサのイラスト1103および光センサのイラスト1104にそれぞれ接続された付加的な制御要素1132および1133をさらに備える。その結果、ユーザは、行動シンボルをこれらの制御要素にも同様にドラッグ・アンド・ドロップすることができ、これにより、行動をこれらのセンサに関係付けることができる。図9の実施の形態では、1つの動作シンボルしか、制御要素1116、1117、1118、1132、および1133のそれぞれに置くことができない。これにより、プログラム可能な挙動の複雑さが削減され、特に子供にとって、プログラミングおよび検査の作業がより簡単になる。一方、別の実施の形態では、この制限は除去されてもよい。
【0141】
ユーザインタフェース1101は、さまざまな目標物体を表す制御要素1110、1111、および1112をさらに備え、したがって、図9と共に説明したような状態機械のさまざまな挙動状態をさらに備える。制御要素1110、1111、および1112は、ポインティングデバイスによって、例えばそれらの要素の1つをクリックすることにより起動することができる。これにより、その要素が選択され、それ以外のものが選択解除される。図11では、目標物体T1に対応する制御要素1110が選択されている状況が示されている。この選択は、目標物体を示すシンボル1109への線1134によって示される。その結果、ユーザは、さまざまな目標物体に関連したさまざまな区域内にさまざまな行動シンボルを置くことができる。
【0142】
ユーザインタフェースは、ポインティングデバイスによって起動できるさらに別の制御要素1129、1130、1131をさらに備える。制御要素1129は、ユーザが、このロボット制御システムのさらに別の機能にアクセスするために他のスクリーン映像に移動することを可能にするものである。制御要素1130は、ダウンロードボタンであり、起動されると、例えば図10と共に説明したように、データ処理システムの処理装置に制御信号を送信し、データ処理システムにプログラムスクリプトを生成させて、そのプログラムスクリプトをロボットにダウンロードする。
【0143】
プログラムスクリプトは、目標物体の一覧、および、対応する制御要素に置かれた行動シンボルによって定められるさまざまな区域の関係付けられた行動を備えることができる。
【0144】
以下は、このようなプログラムスクリプトの表現例である。
【0145】
[Game(ゲーム)]
Name=Game1(名前=ゲーム1)
NumStates=2(状態数=2)
【0146】
[State1(状態1)]
TargetObject=T1(目標物体=T1)
BeadsLZone={Bead1, Bead15, Bead34}(ビーズL区域={ビーズ1,ビーズ15,ビーズ34})
BeadsMZone={Bead2, Bead1, Bead54, Bead117}(ビーズM区域={ビーズ2,ビーズ1,ビーズ54,ビーズ117})
BeadsHZone={}(ビーズH区域={})
【0147】
[State2(状態2)]
TargetObject={T2, T3}(目標物体={T2,T3})
BeadsLZone={Bead21, Bead5, Bead7}(ビーズL区域={ビーズ21,ビーズ5,ビーズ7})
BeadsMZone={Bead3}(ビーズM区域={ビーズ3})
BeadsHZone={Bead5, Bead1}(ビーズH区域={ビーズ5,ビーズ1})
【0148】
上記プログラムスクリプトに代えて、または、それに加えて、プログラムスクリプトは、異なる形式、異なるシンタックス、構造などで表現することができる。例えば、プログラムスクリプトをよりコンパクトな形式、例えばバイナリフォーマットにコンパイルすることができる。コンパイル中、行動ビーズに対応する、事前に定義されたスクリプトは、そのビーズが置かれている区域に関係付けられる。
【0149】
制御要素1131は、保存ボタンであり、起動されると、データ処理システムに上記プログラムスクリプトを生成させて、そのプログラムスクリプトを、例えばハードディスク、ディスケット、書き込み可能CD−ROMなどの記憶媒体に保存する。いくつかのプログラムがコンピュータに記憶されている場合には、保存ダイアログが表示されてもよく、これにより、ユーザは、記憶されたプログラムに目を通すことができる。
【0150】
上記のものに代えて、または、それに加えて、ユーザインタフェースは、例えばヘルプ、取り消し、目標物体の追加/削除などといった異なる機能およびオプションへのアクセスを提供することができる。
【0151】
したがって、他の物体の位置に応じ、かつ図9と共に説明したような状態機械によって制御されるロボットの挙動をプログラムするためのユーザインタフェースを提供するシステムが開示される。
【0152】
図12は、行動シンボルを編集するグラフィカルユーザインタフェースの概略図を示している。このユーザインタフェースは、行動シンボルに関連付けられた行動の編集を可能にする。上述したように、図11の各行動シンボルは、高レベルの行動に対応することができ、この高レベルの行動は、より単純な一連の行動として表現することができる。これらのより単純な一連の行動は、プリミティブビーズと呼ばれる。ユーザが、所与の行動シンボルのエディタを起動すると、ロボット制御システムは、ユーザインタフェース1201を生成する。
【0153】
このユーザインタフェースは、現在編集中の行動についての情報を表示する説明領域1210を備える。この情報は、例えば名前、機能の説明などである。
【0154】
現在の行動に含まれるプリミティブビーズの列は、ビーズシンボル1202および1203の列として示される。これらのビーズシンボルは、予め定められた場所シンボルP1、P2、P3、およびP4にそれらの実行順に置かれる。場所シンボルは、関連付けられたパラメータフィールド1204、1205、1206、および1207をそれぞれ有し、これにより、ユーザは、プリミティブビーズと関連付けることができるパラメータを入力するか、または、編集することができる。このようなパラメータの例として、運動の時間、回転の度合い、音のボリュームなどが含まれる。このパラメータ表示に代えて、または、それに加えて、例えばスライドバーなどのように、パラメータを視覚化して、他の制御要素を介して制御可能にすることができる。
【0155】
さらに、1つのプリミティブビーズに関連付けられた2つ以上のパラメータが存在してもよい。ユーザインタフェースは、必要に応じてプリミティブビーズの列をスクロールする制御要素1208および1209をさらに提供する。
【0156】
ユーザインタフェースは、ビーズ選択領域1240をさらに提供する。ビーズ選択領域1240は、プリミティブビーズを表す選択可能な制御要素1224、1225、および1226の一覧を備える。これらの制御要素は、ポインティングデバイスによって、例えばドラッグ・アンド・ドロップ操作により起動されて、場所シンボルP1、P2、P3、またはP4の1つに、選択されたビーズを置く。図11と共に説明した選択領域1140と同様に、選択領域1240は、プリミティブビーズの一覧をスクロールする制御要素1222および1223と、表示フィールド1221に表示されるプリミティブビーズの複数のグループの1つを選択する制御要素1219および1220とを備える。
【0157】
さらに、ユーザインタフェースは、他のスクリーン、例えば図11のロボット構成スクリーンに移動するための制御要素1229と、現在の編集操作を取り消すための制御要素1230と、編集されたビーズの保存操作を開始する制御要素1231とを備える。これらの制御要素に代えて、または、それらに加えて、他の制御要素が提供されてもよい。
【0158】
図13は、ロボットをプログラムするグラフィカルユーザインタフェースの別の例の概略図を示している。この例では、ロボットは、円1301として示された制御要素によって表されている。このユーザインタフェースは、領域シンボル1302、1303、1304、1305、1306、および1307を備える。各領域シンボルは、区域を表す。ユーザインタフェースは、図11と共に説明したような行動シンボル選択領域1140をさらに備える。この例では、行動ビーズは、ラベル付けされた円1318〜1327として表されている。これらの円は、ある一定の区域と関連付けるために、領域シンボル内にドラッグ・アンド・ドロップすることができる。ビーズの機能は、そのラベル、その色彩、形状などによって示されることが好ましい。
【0159】
図13の例では、6つの受信区域を表す6つの領域シンボルが存在する。さらに、ロボットを表すシンボル1301は、行動シンボルをドロップすることができる制御要素でもある。これらの行動は、目標物体がいずれの区域にも検出されない時に実行される。表3は、図5に示す受信区域が図13の区域にどのようにマッピングされるかを示している。
【0160】
【表3】
【0161】
したがって、この実施の形態によると、ロボットの対応する状態機械実行システムは、各挙動状態に関連付けられた7つの行動状態を有する。
【0162】
ユーザインタフェースは、目標物体を選択する制御要素と、図11と共に説明したような他のスクリーンに移動するための制御要素、プログラムスクリプトを保存する制御要素、およびプログラムスクリプトをダウンロードする制御要素とをさらに備える。
【0163】
本発明について、赤外光放射器/受信機を使用してゲームを行うロボット玩具の好ましい実施の形態と共に説明してきたことに留意されたい。他の検出システムおよび原理が実施可能であることが理解される。例えば、異なる個数の放射器/受信機を使用でき、かつ/または、単一の出力レベルもしくは3つ以上の出力レベルで信号を送信するように放射器を適合させることができる。これにより、検出システムには、異なるレベルの位置検出精度を提供する異なる個数の区域が提供される。
【0164】
さらに、他のセンサを使用することができる。例えば、無線ベースの計測器、磁気センサなどを使用することができる。
【0165】
さらに、説明したユーザインタフェースは、制御要素を起動する技法、および、領域シンボル、行動シンボルなどを表す技法として異なる技法を使用することができる。
【0166】
さらに、本発明は、ロボット玩具とは異なる移動ロボットと関連して使用することができることも理解される。例えば他の移動ロボットと団体で、例えばある一定の作業を行うようにユーザによってプログラムされる移動ロボットと関連して使用することができる。このような作業の例としては、掃除、調査などがある。
【0167】
上述したように、本発明による方法は、コンピュータプログラムとして具体化することができる。本発明による方法は、さらに、上述した方法をプロセッサに実行させるように構成されたコンピュータプログラム製品として具体化できることに留意されたい。このコンピュータプログラム製品は、コンピュータ読み取り可能媒体上に具体化することができる。コンピュータ読み取り可能媒体という用語は、磁気テープ、光ディスク、デジタルビデオディスク(DVD)、コンパクトディスク(CDまたはCD−ROM)、ミニディスク、ハードディスク、フロッピィディスク、強誘電体メモリ、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、EPROM、読み出し専用メモリ(ROM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、同期ダイナミックランダムアクセスメモリ(SDRAM)、強磁性体メモリ、光記憶装置、電荷結合デバイス、スマートカード、PCMCIAカードなどを含むことができる。
【図面の簡単な説明】
【0168】
【図1a】2体のロボットおよびそれらの空間的な相互関係の平面図である。
【図1b】ロボット、および、放射される信号の空間的な放射照度特性によって定められる区域の平面図である。
【図1c】ロボット、および、受信信号の空間的な感度特性によって定められる区域の平面図である。
【図1d】各ロボットが、他方のロボットの放射照度/感度区域の一方に存在する2体のロボットの平面図である。
【図1e】ロボット、および、さまざまな出力レベルで放射された信号の空間的な放射照度特性によって定められる区域の平面図である。
【図2】ロボットを取り囲む複数の区域のそれぞれに特徴的な信号を放射する放射器を有するロボット玩具である。
【図3a】3つの異なる出力レベルでロボットによりピング信号を送信するために使用される出力レベルである。
【図3b】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図3c】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図3d】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図3e】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図4】ピング信号およびメッセージを送信するブロック図である。
【図5】ロボットに取り付けられた2つの受信機の感度曲線である。
【図6】デバイスを取り囲む複数の区域のそれぞれ1つに特徴的な信号を放射する放射器を有する当該デバイスである。
【図7】ピング信号およびメッセージ信号を受信するシステムのブロック図である。
【図8】ロボット制御システムのブロック図である。
【図9】ロボット制御システムによって実施される状態機械の状態イベント図である。
【図10】ロボットをプログラムするシステムの概略図である。
【図11】ロボットをプログラムするグラフィカルユーザインタフェースの一例の概略図である。
【図12】行動シンボルを編集するグラフィカルユーザインタフェースの概略図である。
【図13】ロボットをプログラムするグラフィカルユーザインタフェースの別の例の概略図である。
【0001】
[発明の分野]
この発明は、ロボットを制御することに関し、詳細には、ロボットを基準とした予め定められた複数の区域のうちの第1の区域に物体を検出して、その第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを含むロボットに関する。
【0002】
[発明の背景]
ロボット玩具は、子供、若者、および大人に人気のあるタイプのロボットである。ロボット玩具で遊んでいる間に達成される満足度は、その環境と相互作用するロボット玩具の能力に強く依存する。環境には、ロボットで遊んでいる人、例えば居間の家具などのさまざまなタイプの障害物、他のロボット玩具、ならびに気温および光の強度といった状況が含まれ得る。
【0003】
同じ限られた数の行動を繰り返すロボット玩具は、ユーザの興味がすぐに冷めてしまう。したがって、環境と相互作用する能力を増加させることが主な関心事である。環境との相互作用は、環境を検知するステップと、判断を行うステップと、行動するステップとを含み得る。特に、行動は、例えば鬼ごっこや、ロボットにさまざまな作業をさせるなどの子供が関与したいと望む遊びの状況に依存すべきある。
【0004】
環境との相互作用を高度化させるこのような目的を達成するために、基本的な必須条件となるものは、環境を検知する手段である。この意味で、例えば同じまたは同様の種類もしくは種のロボット玩具と通信する手段、および、他のこのようなロボット玩具の位置を判断する手段は重要である。
【0005】
ロボットの検知手段および行動手段が発展するほど、ロボットは、周りの環境とのより複合化した相互作用を持つことができ、環境の複雑さをより細かく反映することになる。したがって、複雑な挙動は、高度な検知手段、行動手段、および通信手段に由来する。
【0006】
米国特許第5,819,008号は、移動ロボット間の衝突、および、移動ロボットと他の障害物との間の衝突を防止するセンサシステムを開示している。各移動ロボットは、さまざまな方向に送信データを送信する複数の赤外線信号送信機と、さまざまな方向からの送信データを受信する複数の赤外線受信機とを含む。送信データは、送信したロボットの運動方向に関する情報を含む。各ロボットは、別の移動ロボットが検出された方向および別のロボットが信号により送信した運動方向に応じて、予め定められた衝突回避動作を実行するように、その移動ロボットを制御する制御装置をさらに備える。
【0007】
しかしながら、上記従来技術の移動ロボットは、ユーザには、すぐに単調に見えてくる同じ限られた数の行動を繰り返す。したがって、このロボットは、ユーザの興味がすぐに冷めてくる。
【0008】
このため、上記従来技術のシステムは、移動ロボットが、知的であるとユーザが知覚できる、変化する状況依存型の挙動によって、他のロボットの中を移動することができないという不都合を含んでいる。
【0009】
[発明の概要]
上記のおよび他の問題を解決するのは、ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを備える上記ロボットを制御する方法であって、
各領域シンボルが上記ロボットを基準とした上記複数の区域のうちの対応する区域を表す複数の領域シンボルを、グラフィカルユーザインタフェースを介してユーザに提示すること、
各行動シンボルが上記ロボットの少なくとも1つの各行動を表す複数の行動シンボルを、上記グラフィカルユーザインタフェースを介してユーザに提示すること、
第1の区域に対応する、上記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある第1の行動に対応する行動シンボルの位置を示すユーザコマンドを受信すること、
上記第1の区域に物体を検出したことに応答して、上記第1の行動を実行するように上記ロボット玩具を制御する命令を生成すること
とを含むことを特徴とするロボットを制御する方法である。
【0010】
その結果、他のロボットとの位置関係に応じたロボットの挙動が、ユーザによって制御可能となる。ロボットをプログラムするグラフィカルユーザインタフェースが提供され、このグラフィカルユーザインタフェースは、ユーザ、さらには空間の抽象性についての能力が限られている子供にとっても理解しやすい方法で空間条件を提示する。ユーザには、ロボットの周りの複数の区域および複数の行動シンボルの図形表現が表示される。複数の行動シンボルのそれぞれは、ある一定の行動を表し、ユーザは、複数の行動シンボルのそれぞれを異なる区域に配置することができる。その結果、ロボットをカスタム化してプログラムするツールであって、高度な技術的熟練も抽象的な論理能力もないユーザによって使用可能なツールが提供される。
【0011】
ここで、区域という用語は、ロボットを基準とした位置の予め定められた組または範囲を含み、例えば、ロボットを基準としたある一定のセクタや、ロボットが移動する面に平行な平面内のある一定の領域などを含む。したがって、ロボットが、当該ロボットの区域の1つで別のロボットを検出すると、これら2体のロボットは、あらかじめ定められた位置関係を有する。例えば、2体のロボット間の距離が、ある一定の範囲内にあったり、他方のロボットが、検出側ロボットの運動方向を基準として、ある一定の方向範囲内の方向に位置したりするなどである。
【0012】
検出手段という用語は、別の物体またはロボットとの位置関係を検出するのに適したあらゆるセンサを含む。このようなセンサの例としては、例えば電波、可視光、赤外光などといった電磁波の送信機および/または受信機が含まれる。この手段は、赤外光放射器および赤外光受信機を備えることが好ましい。
【0013】
好ましい実施の形態では、ロボットは、ロボットの周りにおける、ロボットを基準とした予め定められた場所の複数の区域に信号を放射する手段を備え、この手段は、ロボットの周りの個々の区域に特有の情報を上記信号に搬送させるように構成される。
【0014】
その結果、ロボットの向きを判断する情報が、区域ごとに放射される。向きの精度は、区域の個数によって決定される。個々の区域に特有の情報は、区域がその場所から識別できる当該場所に向けて放射される。この情報が、ロボットを基準とした予め定められた場所に向けて送信されるので、ロボットの向きを判断することができる。
【0015】
好ましい実施の形態では、この手段は、相互に距離を置き、かつ、相互にオフセット角度をもって取り付けられる個々の放射器として構成されて、ロボットの周りに空間的な放射照度区域を確立する。これにより、区域特有の情報をそれぞれの区域に向けて送信する簡単な実施の形態が得られる。
【0016】
個々の区域に特有の情報が、時間多重信号として区域ごとに放射されると、信号のタイミングを制御することにより、異なる区域に送信された信号間の干渉を回避することができる。
【0017】
少なくとも1つの放射器が、そのロボットについての情報を有するメッセージ信号を他のロボットに送信するように制御されると、他のロボットは、自らの裁量でこの情報を受信することができ、自身のルールに従ってその情報を解釈することができる。このルールは、通常、コンピュータプログラムとして実施され、更には、あるタイプの挙動を実施することができる。このような情報の例として、ロボットやロボットのタイプなどの識別情報、ロボットの内部状態についての情報などが含まれる。
【0018】
本発明の好ましい実施の形態では、上記方法は、少なくとも1つの選択された目標物体の識別情報を示すユーザコマンドを受信するステップをさらに含み、命令を生成する上記ステップは、上記少なくとも1つの選択された目標物体のうちの1つを上記第1の区域に検出したことに応答して、上記第1の行動を実行するように上記ロボット玩具を制御する命令を生成することをさらに含む。その結果、どのロボットが検出されたか、どのタイプのロボット/物体であるかなどに応じて、ロボットの行動を変更するように当該ロボットを制御することができる。これにより、ロボットの挙動が状況に依存するので、可能な行動の多様性が増大し、ロボットとの対話がはるかに興味のあるものとなる。選択された目標ロボットは、例えば、ある一定のタイプの任意のロボットや任意のリモコンなどのように、特定のロボットまたは他のデバイスであってもよいし、複数の目標ロボットからなるグループであってもよい。例えば、さまざまなロボットまたはさまざまなロボットのチームが、互いに協力し合ったり、互いに競争したりするゲームのシナリオをプログラムすることができる。
【0019】
検出手段の他の例としては、磁気センサ、無線送信機/受信機などが含まれる。例えば、ロボットは、さまざまな出力レベルおよびさまざまな周波数で電波を送信する無線送信機を含むことができる。このさまざまな周波数は、さまざまな出力レベルに対応する。ロボットは、さらに、このような電波を受信して、それら電波の対応する周波数を検出する対応の受信機を備えることができる。受信した周波数から、ロボットは、別のロボットまでの距離を判断することができる。
【0020】
好ましい実施の形態では、上記検出手段は、特定の情報を搬送するデジタル信号によって制御される。
【0021】
この検出手段が、物体までの距離を示すセンサ信号を生成するようになっている距離センサを備え、領域シンボルのそれぞれが、物体からの予め定められた距離の範囲を表す場合には、さまざまな区域を区別する簡単な測度が提供される。
【0022】
区域は、それぞれの出力レベルで上記信号を放射する上記手段を制御することにより確立することができ、このそれぞれの出力レベルで、信号は、その特定の出力レベルを識別する情報を含む。したがって、信号の送信機までの距離を判断する情報が提供される。
【0023】
距離を判断するための信号の送信機までの距離は、信号が送信された特定の出力レベルを識別する情報を有する信号を受信する手段と、その情報を、システムと信号を送信した送信機との間の距離を表す情報に変換する手段とを備えるシステムによって判断することができる。
【0024】
本発明の好ましい実施の形態では、上記検出手段は、上記物体への方向を示すセンサ信号を生成するようになっている方向センサ手段を備え、上記領域シンボルのそれぞれは、物体への予め定められた方向の範囲を表す。
【0025】
システムは、遠隔のロボットの周りにおける、そのロボットを基準とした複数の区域の1つに特有の情報を搬送する信号を受信する手段と、個々の区域に特有の情報を抽出して、その情報を、遠隔のロボットの向きを表す情報に変換する手段とを備えることができる。これにより、上述したようなロボットの向きについての情報を有する送信信号は、受信されて、その遠隔のロボットの向きの表現に変換される。遠隔のロボットの向きについてのこの知識は、さまざまな目的、すなわち、遠隔のロボットの動作の追尾または追従のため、遠隔のロボットの物理的な動作によって信号により伝達されるそのロボットの挙動状態の感知のために使用することができる。
【0026】
本発明の好ましい実施の形態では、上記検出手段は、上記物体の向きを示すセンサ信号を生成するようになっている向きセンサ手段を備え、上記領域シンボルのそれぞれは、物体の予め定められた向きの範囲を表す。
【0027】
したがって、システムが、遠隔のロボットからの信号を受信して、受信信号の発生方向を判断することによって遠隔のロボットへの方向を判断する手段を備えると、遠隔のロボットの向きおよび遠隔のロボットへの方向の双方が判明する。これにより、遠隔のロボットの向きを判断する目的で遠隔のロボットから送信された信号は、遠隔のロボットへの方向を判断することにも使用することができる。発生方向は、例えば、各検出器が相互にオフセットの角度をもって配置された検出器の配列によって判断することができる。
【0028】
ここで、物体という用語には、検出手段によって検出可能なあらゆる物理的な物体が含まれる。物体の例としては、他のロボット、リモコンまたはロボットコントローラ、ロボットの検出手段によって検出できる信号の、他の静止した送信デバイス/受信デバイスが含まれる。別の例として、ロボットによって放射された信号を反射する物体などが含まれる。
【0029】
処理手段という用語には、汎用もしくは専用のプログラム可能なマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラマブルロジックアレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、専用電子回路、他の適切な処理装置など、またはそれらの組み合わせが含まれる。
【0030】
行動は、ロボットの簡単な物理的行動であってもよく、例えば、予め定められた時間または距離だけ前方に移動すること、予め定められた角度だけ回転すること、スピーカを介して音を生成すること、LEDなどの光放射器を起動すること、腕を上げたり、頭を回転させたりといったロボットの可動部を動かすことなどがある。
【0031】
好ましい実施の形態では、行動シンボルのそれぞれは、ロボット玩具の予め定められた一連の物理的行動に対応する。このような一連の行動の例として、短い距離を後方に移動して、左に回転して、前方に移動することが含まれ得る。その結果、障害物の回りを移動するというより複雑な行動が行われる。他のロボットのような物体との位置関係の検出に応じた複雑で複合的な挙動を容易にプログラムできることが、本発明の利点である。
【0032】
領域シンボルは、区域の任意の適切な図形表現を含むことができる。領域シンボルの例としては、円、楕円、または他の形状が含まれ、これらの形状は、上記検出手段の検出区域の位置および範囲に対応するように、ロボットの位置の周りに延びて配置される。ロボットの位置は、予め定められたシンボルによって示すことができ、ロボットの画像や描画などによって示されることが好ましい。
【0033】
行動シンボルは、さまざまな行動を表すアイコンまたは他のシンボルとすることができる。さまざまな行動は、さまざまなアイコン、色彩、形状などによって区別することができる。行動シンボルは、グラフィカルユーザインタフェースの制御要素とすることができ、ポインティングデバイスによって起動されて、対応する命令を上記処理手段に生成させる制御信号を生成するようになっていることができる。好ましい実施の形態では、行動シンボルは、ドラッグ・アンド・ドロップ操作を介して起動され得る。このドラッグ・アンド・ドロップ操作により、領域シンボルの1つに関係した行動シンボルは、例えば領域シンボルの1つの内部や、その領域シンボル内の予め定められた位置や、その領域シンボルの端部などに置かれる。行動シンボルが起動されると、その行動シンボルの識別情報と、その行動シンボルが関係する領域シンボルの識別情報とを含む制御信号が生成される。
【0034】
ユーザコマンドを受信する他の例としては、ポインティングデバイスによる行動シンボルのクリック、および、その後の領域シンボルの1つのクリックを検出することが含まれる。これにより、行動シンボルが領域シンボルと関係付けられる。
【0035】
入力手段という用語には、領域シンボルと関係した行動シンボルの配置を示すユーザコマンドを受信する任意の回路またはデバイスが含まれる。入力デバイスの例としては、例えばコンピュータマウス、トラックボール、タッチパッド、タッチスクリーンなどのポインティングデバイスが含まれる。入力手段という用語は、さらに、例えば音声インタフェースなどの他の形態のマンマシンインタフェースを含むことができる。
【0036】
命令という用語は、対応する行動をロボットに実行させる任意の制御命令を含むことができる。命令は、特定のモータ、アクチュエータ、ライト、サウンドジェネレータなどを直接起動させる低レベルの命令を含むことができる。一実施の形態では、命令は、例えば「3秒間、前に移動せよ」、「20度、右に回転せよ」などの高レベルの命令を含む。これらの高レベルの命令は、ロボットによって処理されて、対応する複数の低レベルの命令に変換される。これにより、ロボットに送信される命令を、ロボットの特定の機能、例えばモータ、ギアなどのタイプに依存しないものとすることができる。
【0037】
好ましい実施の形態では、命令を生成する上記ステップは、上記ロボットによって実行される状態機械用の命令を生成するステップを含む。
【0038】
上記少なくとも1つの選択された目標物体は、上記状態機械の第1の状態に対応することが好ましい。
【0039】
別の好ましい実施の形態では、上記方法は、上記生成された命令を含むダウンロード信号を生成すること、上記ロボット玩具に該ダウンロード信号を通信することとをさらに含む。このダウンロード信号は、任意の適切な通信リンクを介してロボットに転送することができる。この任意の適切な通信リンクとしては、例えば、シリアル接続のような有線接続、または、例えばIrDA接続といった赤外線接続、ブルートゥース接続のような電波接続などの無線接続がある。
【0040】
上述した本方法および以下に説明する本方法の機能は、ソフトウェアで実施されて、データ処理システム、または、コンピュータにより実行可能な命令の実行によってもたらされる他の処理手段によって実行できることに留意されたい。命令は、記憶媒体から、または、コンピュータネットワークを介した別のコンピュータから、RAMのようなメモリにロードされるプログラムコード手段であってもよい。あるいは、説明された機能は、ソフトウェアではなく、ハードウェア回路によって実施することもできるし、ソフトウェアと組み合わされたハードウェア回路によって実施することもできる。
【0041】
さらに、上述した方法および以下に説明する方法、ロボット、さらなる製品手段を含む本発明は、さまざまな形式で実施することができる。それぞれは、最初に述べた方法と共に説明した利益および利点の1つまたは2つ以上をもたらし、それぞれは、最初に述べた方法と共に説明した好ましい実施の形態およびその従属請求項に開示した好ましい実施の形態に対応する1つまたは2つ以上の好ましい実施の形態を有する。
【0042】
本発明はさらに、ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを備える上記ロボットを制御するシステムであって、
各領域シンボルが上記ロボットを基準とした上記複数の区域のうちの対応する区域を表す複数の領域シンボルと、各行動シンボルが上記ロボットの少なくとも1つの各行動を表す複数の行動シンボルとを有するグラフィカルユーザインタフェースを表示スクリーン上に生成する手段と、
第1の区域に対応する、上記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある第1の行動に対応する行動シンボルの位置を示すユーザコマンドを受信するようになっている入力手段と、上記第1の区域に物体を検出したことに応答して、上記第1の行動を実行するように上記ロボット玩具を制御する命令を生成するようになっている処理装置と、
を含むことを特徴とするロボットを制御するシステムに関する。
【0043】
本発明はさらに、ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、上記検出信号に応答して、複数の行動の中から、上記第1の区域に対応する予め定められた行動を選択して実行する処理手段と、を備える上記ロボットであって、上記検出手段は、さらに、複数の予め定められた目標物体のうちの第1の目標物体として上記物体を識別して、対応する識別信号を生成するようになっており、上記処理手段は、上記検出信号および上記識別信号を受信して、上記識別された第1の目標物体と、該識別された第1の目標物体が検出された上記第1の区域を識別する上記検出信号とに応じて、複数の行動のうちの少なくとも1つを選択して実行するようになっている、ことを特徴とするロボットに関する。
【0044】
好ましい実施の形態では、上記処理手段は、状態機械であって、
各状態が複数の予め定められた目標物体選択基準の1つに対応する複数の状態と、
上記識別信号に応答して、上記状態機械の上記複数の状態のうちの第1の状態を選択する第1の選択モジュールと、
上記選択された第1の状態と、上記識別された目標物体が検出された上記第1の区域を識別する上記検出信号とに応じて、複数の行動のうちの1つを選択する第2の選択モジュールと、
を含む状態機械、を実施するようになっている。したがって、状態機械の各状態が、選択基準によって指定される1つまたは2つ以上の目標物体に関係付けられる場合、状態機械の状態は、状況に依存した挙動を実施する。一実施の形態では、選択基準は、任意のロボット、任意のロボット制御デバイス、ユーザのロボット制御デバイス、相手チームの任意のロボットなどの目標物体のタイプの仕様である。この選択基準に代えて、または、それに加えて、選択基準は、ロボット/物体の識別子、ロボット/物体の識別子の一覧または範囲などを含むことができる。
【0045】
さらに、本発明は、上述したロボットおよび以下に説明するロボットを備える玩具セットに関する。
【0046】
さらに、本発明は、上述したロボットおよび以下に説明するロボットを備えた玩具装置を備える玩具構築セットであって、上記玩具装置が、玩具構築要素の相補結合手段と相互接続する結合手段を備える、玩具構築セットに関する。
【0047】
本発明について、以下に、図面を参照しながら、好ましい実施の形態と共により十分に説明することとする。
【0048】
[好ましい実施の形態の詳細な説明]
図1aは、第1のロボットおよび第2のロボットの平面図を示している。この図では、2体のロボットの相対的な位置、距離、および向きが示されている。2体のロボット間のこの空間的関係を説明するために、第2のロボット102は、x軸およびy軸を有する座標系の原点に位置する。第1のロボット101は、第2のロボット102から距離d離れ、向きに関して第2のロボットの方向αに位置する。第1のロボットの第2のロボットに対する向き(すなわち、垂直軸103の回りの回転角)は、φと測定することができる。
【0049】
d、α、およびφの知識が、第2のロボット102に利用可能である場合、第2のロボット102は、第1のロボット101に応答して移動することができる。この知識は、あるタイプのロボット間の挙動を実施するシステムへの入力として使用することができる。d、α、およびφの知識は、ロボット位置システムが保持することができる。d、α、およびφは、それぞれのタイプの間隔、すなわち距離の間隔または角度の間隔を示す離散信号として提供することができる。
【0050】
本発明によると、以下により十分に説明するように、d、α、またはφの知識は、第1のロボットの周りのそれぞれの限られた領域に、各信号が空間領域識別情報を搬送する信号を放射することにより得られる。第2のロボットは、空間領域識別情報の関連する値およびそれぞれの領域の関連する値を調べることができると、d、α、および/またはφを求めることができる。
【0051】
放射される信号は、赤外線光信号、可視光信号、超音波信号、無線周波信号などの形態のものが可能である。
【0052】
上述した領域は、以下では区域と記されることに留意すべきである。
【0053】
図1bは、ロボット、および、放射される信号の空間的な放射照度特性によって定められる区域の平面図を示している。ロボット104は、信号TZ1、TZ12、TZ2、TZ23、TZ3、TZ34、TZ4、およびTZ14を、4つの放射器(図示せず)の放射照度特性によって定められるそれぞれの区域に送信することができる。放射器は、ロボット104の周りに、相互に重なる放射照度区域を確立するように、相互に距離を置き、かつ、相互にオフセット角度をもって配置される。信号TZ1、TZ12、TZ2、TZ23、TZ3、TZ34、TZ4、およびTZ14を互いに一意に識別でき、かつ、信号が受信可能である場合には、それらの区域のいずれにおいて信号が受信されるかを推定することができる。これについては、より詳細に説明する。
【0054】
図1cは、ロボット、および、受信信号の空間的な感度特性によって定められる区域の平面図を示している。ロボット104は、通常は上述したタイプの信号RZ1、RZ12、およびRZ2を受信することもできる。また、受信機も、ロボット104の周りに、相互に重なる受信区域を確立するように、相互に距離を置き、かつ、相互にオフセット角度をもって配置される。対応する1つの受信機または複数の受信機の受信区域の位置の知識により、信号が受信される方向を求めることができる。これについても、より詳細に説明する。
【0055】
図1dは、各ロボットが、他方のロボットの放射照度/感度区域の一方に存在する2体のロボットの平面図を示している。ロボット106は、受信区域RZ1を確立する右前方の受信機により信号を受信する。これにより、ロボット105の方向は、右前方の方向であると推定することができる。さらに、信号TZ1が識別され、ロボット105に対する空間区域の場所にマッピングされると、ロボット106では、ロボット105の向きを推定することができる。その結果、ロボット105の方向およびロボット105の向きの双方を、ロボット106で推定することができる。このために、ロボット105は、上述したタイプの信号を放射しなければならない一方、ロボット106は、その信号を受信できて、かつ、ロボット105の放射照度区域の情報を持たなければならない。通常、送信システムおよび受信システムの双方は、1体のロボット内に具体化される。
【0056】
図1eは、ロボット、および、さまざまな出力レベルで放射された信号の空間的な放射照度特性によって定められる区域の平面図を示している。ロボット107は、区域特有の信号が異なる出力レベルで放射されることを付加することにより、図1bに示すような区域特有の信号を放射することができる。各出力レベルにおいて、信号は、その出力レベルを識別する情報を含む。これにより、ロボット107は、区域(Z1,Z2,…)に特有の情報およびロボット107からの距離間隔を有する信号を放射する。距離間隔は、例えば(Z1;P2)から(Z1;P3)の2つの放射照度曲線間の空間によって定められる。
【0057】
ロボット108は、区域Z1および出力レベルP4を識別する情報を検出できるが、出力レベルP3、P2およびP1を識別する情報を検出できない場合には、(Z1;P4)と(Z1;P3)との間の空間に存在することが、ロボット108によって推定可能である。曲線(例えば(Z1;P4)と(Z1;P3))間の距離の実際のサイズは、信号を受信する受信機の感度および信号が放射される出力レベルによって決定される。
【0058】
図2は、ロボットを取り囲む複数の区域のそれぞれに特徴的な信号を放射する放射器を有するロボット玩具を示している。このロボット201は、そのロボットの前方が、上方に向いている向きで示されている。
【0059】
ロボット201は、4つの赤外光放射器202、203、204、および205を備える。各放射器は、それぞれの赤外光信号を放射する。これらの放射器は、940nmと960nmとの間の波長の光を放射するように構成されることが好ましい。
【0060】
赤外光放射器202、203、および204は、異なる位置および異なる角度でロボットに取り付けられて、ロボットを取り囲む放射照度曲線209、210、および211によってそれぞれ示すような区域FR、FL、およびBに赤外光を放射する。これらのダイオードの方向は、ロボットの前進運動方向に対して、それぞれ60°、300°、および180°である。ダイオードのそれぞれの放射照度の角度が120°より大きい、例えば120°と160°との間である場合には、区域209および210は重なり合って、さらに別の区域Fを確立する。同様に、区域210および211が重なり合って、区域BLを確立し、区域209および211が重なり合って、区域BRを確立する。それらの区域は、個々の放射器の放射口ならびに上述した位置および角度、ならびに放射器により放射される赤外光の出力によって定められる。
【0061】
放射器202、203、および204は、2つの異なる出力レベルで赤外光を放射するように制御される。以下では、これら2つの出力レベルは、低出力レベル(接頭語「L」)および中出力レベル(接頭語「M」)と呼ぶこととする。
【0062】
相対的に大きな放射照度曲線209、210、および211は、送信機の1つが中出力レベルで送信を行っている時に、受信機が、当該受信機に向けて放射された赤外光信号FR、FLおよびBを検出できる区域を表す。同様に、相対的に小さな放射照度曲線206、207、および208は、送信機の1つが低出力レベルで送信を行っている時に、受信機が、当該受信機に向けて放射された赤外光信号LFR、LFLおよびLBを検出できる区域を表す。一実施の形態では、相対的に大きな曲線209、210、211は、約120〜160cmの直径を有する。相対的に小さな曲線206、207、および208は、約30〜40cmの直径を有する。
【0063】
放射器205は、上記中出力レベルよりも大きな高出力レベルでロボットの周囲に信号を放射するように構成される。この信号は、壁、ドアなどの物体から反射される可能性があるので、対応する放射照度曲線は図示されていない。その代わり、大文字Hが、この放射照度を示している。高出力のピング信号(ping-signal)は、約6メートル×6メートルの通常の居間で検出可能であろう。
【0064】
このように、放射器202、203、および204は、中出力レベル(M)での作動時には、一部が相互に重なり合う区域209、210、および211を確立するように構成される。さらに、放射器202、203、および204が、低出力レベル(L)で作動している時は、それら放射器は、一部が相互に重なり合う区域206、207、および208を確立する。これにより、ロボット201の向きを正確に判断することが可能になる。
【0065】
図2の実施の形態では、重なり合う区域LF、LBR、およびLBLは、中出力レベルの対応する重なり区域、すなわちF、BR、およびBLにそれぞれ存在して、ダイオード放射器202、203、および204の少なくとも1つからの低出力信号を受信する受信機によって定められる
【0066】
赤外線信号FR、FL、およびBのそれぞれは、赤外線放射器の一意の1つに対応する情報により符号化され、これにより、ロボットを取り囲む区域のそれぞれの区域に対応する。
【0067】
赤外線信号は、赤外線放射器に一意の情報が、相互に重ならないタイムスロットで構成される時間多重信号として構成されることが好ましい。
【0068】
信号に基づいて、検出器がどの区域に存在するかを判断できるようにするために、検出器システムには、区域の場所とそれぞれの信号との間の関係の情報が提供される。
【0069】
検出原理の好ましい実施の形態については、図3a〜図3eと共に説明することとする。
【0070】
送信側ロボットが、向きおよび距離の情報を符号化して、その情報を区域に送信し、送信後、別の受信側ロボットが復号して解釈するために、ネットワークプロトコルが使用される。このネットワークプロトコルは、ピング信号およびメッセージ信号に基づいている。これらの信号について、以下に説明する。
【0071】
図3aは、それぞれの放射器、例えば図2の放射器202、203、204、および205からピング信号を送信するために使用される出力レベルを示している。出力レベルPは、時間tの関数として、離散的な出力レベルL、M、およびHで示される。
【0072】
ピング信号は、密な列で送信される位置情報ビット列301として符号化される。列301は、サイクル時間TPRを有するサイクルで送信される。密な列301間には一時休止308が置かれる。この一時休止は、付加的なメッセージを送信するために使用され、また、他のロボットの同様の信号の送信を可能にするために使用され、かつ/または、他の情報、例えばメッセージ信号を送信するのに使用される。
【0073】
位置情報ビット列301は、12ビット(b0〜b11)を備える。ビットは、低出力(L)、中出力(M)、または高出力(H)で送信される。第1ビット302は、ダイオード205によって高出力で送信される。好ましい実施の形態では、このビットは、放射器202、203、および204によって中出力でも送信される。中出力を有する他のダイオードに高出力ビットを複製することにより、受信範囲が増加し、部屋の壁および天井があまり反射しない場合であっても、近くの受信機がそのビットを受信することが保証される。この最初のビットの後には、どのダイオードも信号を送信しない無信号の2ビット303が続く。後続する3ビット304は、低出力レベルで送信され、各ビットは、ダイオード202、203、および204の1つのみによって送信される。同様に、次の3ビット305は、中出力レベルで送信され、ダイオード202、203、および204のそれぞれが、ビット305の1つのみを送信する。後続する2ビット306は、再度、ダイオード205によって高出力レベルで送信され、好ましくは、ダイオード202、203、および204によって中出力レベルで送信される。その後、無信号のストップビット307が続く。
【0074】
したがって、ダイオード202、203、204、および205のそれぞれは、図3b〜図3eに示すような異なるビットパターンを送信する。ここで、図3bは、ダイオード202によって放射される位置ビット列を示し、図3cは、ダイオード203によって放射される位置ビット列を示し、図3dは、ダイオード204によって放射される位置ビット列を示し、図3eは、ダイオード205によって放射される位置ビット列を示す。
【0075】
受信側ロボットは、自身が送信側ロボットのどの区域に位置するかを判断できるので、受信側ロボットは、受信ビット列を使用して、その受信ビットパターンを送信したロボットまでの距離および送信側ロボットの向きを判断することができる。この判断は、受信ビットパターンを図2の区域の1つに関係づける参照表により行う簡単に行うことができる。この参照表を表1に示す。
【0076】
【表1】
【0077】
表1は、送信側ロボットの区域の1つに受信側ロボットがもし存在すれば、送信されたピング信号の符号化された出力レベル情報をその存在にどのように復号できるかを示している。区域は、順に向きおよび距離を表す。
【0078】
上記原理は、異なる個数のダイオードおよび/または異なる個数の出力レベルに適用することができ、ダイオードの個数が多くなるほど、向きの判断の精度が向上し、出力レベルの個数が多くなるほど、距離の計測の精度が向上することが理解される。この精度の向上は、ビット列の増加という代償を払って達成され、したがって、送信速度を減少させる。
【0079】
一実施の形態では、ロボットは、付加的なメッセージを送信する。この付加的なメッセージは、例えばピング信号と関連したものであるか、または、関連のない別のメッセージ信号として送信される。これらのメッセージは、位置情報ビット列と関連して送信されることが好ましく、例えば、各位置ビット列の後に複数のバイトを送信することにより送信される。一実施の形態では、ロボットは、位置情報ビット列を含むピング信号に続いて、ヘッダバイト、ロボットID、およびチェックサム、例えば巡回冗長検査(CRC)を送信する。これらの情報に加えて、または、これらの情報に代えて、他の情報を送信することができる。他の情報は、例えば速度、運動方向、行動などのロボットについてのさらに別の情報、コマンド、ロボット間で交換されるデジタルトークンといったものである。
【0080】
各バイトは、複数のデータビット、例えば8データビット、ならびにスタートビット、ストップビット、およびパリティビットといった付加ビットを含むことができる。これらのビットは、適切なビットレート、例えば4800ボーで送信することができる。付加的なメッセージバイトは、ダイオード205によって高出力レベルで送信され、かつ、ダイオード202、203、および204によって中出力レベルで送信されることが好ましい。
【0081】
ロボットIDは、所与の状況においてそのロボットに一意の番号であることが好ましい。ロボットIDにより、ロボットは、実世界で出会った仲間のロボットまたはインターネット上で出会った仲間のロボットに関する情報を登録して保持することができる。ロボットは、外部状態記録の一部として、好ましくは既知ロボットの一覧として、他のロボットについての情報を記憶することができる。その一覧の各登録項目は、ロボットID、ロボットのセンサによって計測された例えば方向、距離、向きといったマッピング情報、運動情報、例えばロボットのあるチームへの割り当てといったそれぞれのロボットから受信したゲーム関連情報、ロボットのさまざまなグループを選択基準により区別するために使用されるタイプ情報、ロボットを制御するロボットコントローラの識別情報などを含むことができる。
【0082】
ロボットは、別のロボットからブロードキャストメッセージを受信すると、その一覧の情報を更新する。メッセージの発信元が未知である場合には、新しい登録項目が作成される。予め定められた時間の間、例えば2回のブロードキャストの繰り返し期間よりも長い間、一覧の特定の登録項目からメッセージが受信されないと、ロボットの項目は、存在しないものとして印が付けられる。
【0083】
ロボットIDを例えば1バイトに制限するというように短く維持して、所与の状況においてロボットの一意の識別を可能にするために、例えば部屋の中といった通信範囲内に存在するロボット間に調停アルゴリズムを使用することができる。例えば、同じIDを有する別のロボットからピング信号を受信したロボットは、異なるIDを選択することができる。
【0084】
図4は、ピング信号およびメッセージ信号を送信する通信システムのブロック図を示している。このシステム401は、ピング信号(例えば、ヘッダ、ロボットIDおよびCRCバイト)ならびにメッセージ信号をバッファ405を介して受信する。ピング信号およびメッセージ信号は、外部システム(図示せず)により、送信インタフェース406を介して提供される。このように、通信システム401は、外部システムから情報を受信でき、その結果、外部システムを、通信システムとは非同期に動作させることができる。
【0085】
このシステムは、図3a〜図3eと共に説明したさまざまなダイオードのそれぞれの位置ビット列を記憶するメモリ403を備える。
【0086】
コントローラ402は、ピング信号およびメッセージ信号を受信し、メモリ403から検索された対応するビット列を前に付け、かつ、増幅器407、408、409、および410を介して赤外光送信機202、203、204、および205を制御するように構成される。放射器202、203、204、および205によって放射される出力レベルは、増幅器407、408、409、および410の増幅度を調節することにより制御される。コントローラに提供される信号Sは、通信が無信号であるかどうか、すなわち放射される信号と干渉を起こす可能性のある他の信号が検出できないかどうかを示す2値信号である。さらに、コントローラは、信号が送信される時を示す信号Rを提供する。
【0087】
図5は、ロボットに取り付けられた2つの受信機の感度曲線を示している。曲線504は、図2と共に説明したように、受信機502に向けて送信された中出力レベルの信号を、受信機502が検出できる区域を定める。曲線506は、低出力レベルで受信機502に向けて送信された信号を、受信機502が検出できる小さな区域を定める。
【0088】
曲線505および507は、それぞれ中出力レベルおよび低出力レベルで受信機503に向けて送信された信号を、受信機503が検出できる区域をそれぞれ定める。一般に、上述した区域は、受信区域と記される。受信機502および503の一方に向けて高出力で送信された信号を検出できる区域は、より広く拡散する。したがって、このような区域は、破線の曲線508で示される。
【0089】
図2の放射器202、203、204は、信号が送信される出力レベルを表す情報を含んだ信号を送信するので、別のロボットが現れる位置の方向および距離を、区域H、ML、MC、MR、LL、LCL、LC、LCRおよびLRの点で判断することができる。
【0090】
第1のロボットの2つの受信機502および503の一方または双方は、第2のロボットの放射器202、203、204、および205によって放射された信号を受信することができる。
【0091】
その結果、上述したような簡単な送信/受信システムにより、距離、方向、および向きの高分解能を得ることができる。
【0092】
以下では、方向および距離の情報を復号する方法をより十分に説明する。次のことが仮定される。
【0093】
・ある受信機が高出力のピング信号を得ると、他の受信機もそのピング信号を得る。
・受信機が低出力のピング信号を得ると、その受信機は中出力のピング信号および高出力のピング信号も得る。
・受信機が中出力のピング信号を得ると、その受信機は高出力のピング信号も得る。
【0094】
低出力のピング信号に対してL、中出力のピング信号に対してM、および高出力のピング信号に対してHの表記を適用すると、存在する区域は、以下の表2による受信信号に基づいて判断することができる。
【0095】
【表2】
【0096】
表2は、左の列の10個の区域の1つに受信側ロボットがもし存在すれば、送信ピング信号の符号化された出力レベル情報をその存在にどのように復号できるかを示している。
【0097】
向き情報を復号する目的で、上記表1を使用することができる。
【0098】
図6は、デバイスを取り囲む複数の区域のそれぞれ1つに特徴的な信号を放射する放射器を有する当該デバイスを示している。図2のロボットと同様に、このデバイス601は、赤外光放射器602および603を備える。各放射器は、それぞれの赤外光信号を放射する。これらの放射器は、940nmと960nmとの間の波長の光を放射するように構成されることが好ましい。一方で、デバイス601は、当該デバイスに取り付けられた1つの赤外光放射器602のみを備え、それぞれ放射照度曲線604により示された中出力レベルの区域Mおよび放射照度曲線605により示された低出力レベルの区域Lに赤外光を放射する。
【0099】
放射器603は、図2の放射器205と共に説明したように、デバイスの周囲に上記中出力レベルよりも大きな高出力レベルで信号を放射するように構成される。
【0100】
このように、放射器602および603は、デバイスに最も近い区域L、中程度の距離の区域M、および外部の区域Hの3つの近傍区域を確立するように構成される。これにより、別のデバイスまたはロボットによる距離計測が可能になる。
【0101】
ダイオード602および603は、図3a〜図3eと共に説明したような位置ビット列を含んだピング信号を放射するように制御される。ダイオード603によって送信されるビットパターンは、図2の実施の形態の高出力ダイオード205のビットパターン、すなわち図3eに示すビットパターンに対応する。ダイオード603によって送信されるビットパターンは、図3cのビットパターンに対応する。
【0102】
受信側ロボットは、上記図3a〜図3eと共に説明したように、受信したビット列を使用して、受信したビットパターンを送信したロボットまでの距離を求めることができる。
【0103】
デバイス601は、ロボットであってもよいし、ロボットと通信する静止したデバイス、例えば、リモコン、ロボットコントローラ、またはロボットにコマンドメッセージを送信するようになっている別のデバイスであってもよい。
【0104】
したがって、リモコンまたはロボットコントローラからコマンドメッセージを送信することにより、ロボットを制御することができる。ここで、コマンドメッセージが、距離および/または位置の情報を含むことにより、ロボットは、コマンド源までの距離および/またはコマンド源の位置に応じて、受信したコマンドを解釈することが可能になる。
【0105】
図7は、ピング信号およびメッセージ信号を受信するシステムのブロック図を示している。このシステム701は、ロボット間の信号(特にピング信号およびメッセージ信号)ならびにリモコン信号を受信する2つの赤外線受信機702および703を備える。
【0106】
受信機702および703によって検出された信号は、信号の到来に応答して、それぞれデータ獲得手段710および709によりデジタルデータとして提供される。データ獲得手段からのデジタルデータは、それぞれの先入れ先出しバッファであるLバッファ708およびRバッファ707にバッファリングされる。LバッファおよびRバッファからのデータは、バッファ704に移動される。バッファ704は、より大きな容量を有し、制御システム(図示せず)へ転送を行っている間、データを収容する。
【0107】
赤外線信号が受信機702および703に向けて放射されるかどうかを示す2値信号Sは、加算器706によりシュミットトリガ705を介して提供される。加算器706は、データ獲得手段709および710から信号を加算する。これにより、2値信号は、無信号の通信が存在するかどうかを示すものとなる。
【0108】
制御信号Rは、ロボット自体が、ピング信号を送信している時を示す。この制御信号は、そのロボットがピング信号を送信していない時にのみデータ信号を出力するようにデータ獲得手段710および709を制御するのに使用される。したがって、そのロボット自身のピング信号の反射信号を受信することが回避される。
【0109】
リモコン装置(図示せず)からの信号を受信するように、このシステムを制御することができる。その場合、バッファに供給されるデータは、リモコンコマンドとして解釈される。これにより、受信機702および703は、ピング信号/メッセージ信号に加えてリモコンコマンドを受信するのに使用することができる。
【0110】
図8は、ロボット制御システムのブロック図を示している。この制御システム801は、ユーザによってプログラム可能なロボットを制御して、あるタイプの挙動を示すように構成される。制御システム801は、中央処理装置(CPU)803、メモリ802、および入出力インタフェース804を備える。
【0111】
入出力インタフェース804は、ロボット位置情報を受信するインタフェース(RPS/Rx)811と、ロボット位置情報を放射するインタフェース(RPS/Tx)812と、操縦手段(図示せず)に制御信号を提供する行動インタフェース809と、トランスデューサ(図示せず)を介してさまざまな物理的影響を検知する検知インタフェース810と、外部デバイスと通信するリンクインタフェース813とを備える。
【0112】
インタフェースRPS/Rx811は、図4に示すように具体化できることが好ましく、インタフェースRPS/Txは、図7に示すように具体化されることが好ましい。リンクインタフェース813は、例えば図10と共に説明するように、外部デバイスとの通信を可能にするために使用される。外部デバイスとしては、例えばパーソナルコンピュータ、PDA、または他のタイプの電子データ情報源/データ消費デバイス(data consumer device)がある。この通信は、ユーザが作成したスクリプトプログラムおよび/またはファームウェアプログラムのプログラムダウンロード/アップロードを含むことができる。インタフェースは、電線/コネクタタイプ(例えばRS323)、IRタイプ(例えばIrDA)、無線周波数タイプ(例えばブルートゥース)などの任意のインタフェースタイプとすることができる。
【0113】
操縦手段(図示せず)に制御信号を提供する行動インタフェース809は、デジタル出力ポートとデジタル/アナログ変換器とを組み合わせたものとして実施される。これらのポートは、モータ、ランプ、サウンドジェネレータ、および他のアクチュエータを制御するために使用される。
【0114】
さまざまな物理的影響を検知する検知インタフェース810は、デジタル入力ポートとアナログ/デジタル変換器とを組み合わせたものとして実施される。これらの入力ポートは、スイッチおよび/または光レベルの起動、気温の度合い、音圧などを検知するために使用される。
【0115】
メモリ802は、データセグメント805(DATA)と、状態機械実行システムを有する第1のコードセグメント806(SMES)と、機能ライブラリを有する第2のコードセグメント807と、オペレーティングシステム(OS)を有する第3のコードセグメント808とに分割される。
【0116】
データセグメント805は、入出力インタフェース804とデータ(例えば、バッファ704によって提供されるデータおよびバッファ405に供給されるデータ)を交換するために使用される。さらに、データセグメントは、プログラムの実行に関係したデータを記憶するために使用される。
【0117】
第2のコードセグメント807は、インタフェース手段804の使用の細部を処理するプログラム手段を備える。このプログラム手段は、いわゆるアプリケーションプログラミングインタフェース(API)によって実行される機能および手順として実施される。
【0118】
第1のコードセグメント806は、ロボットのプログラムされた挙動を実施するプログラム手段を備える。このようなプログラムは、アプリケーションプログラミングインタフェースによって提供される機能および手順に基づいている。状態機械を実施するこのようなプログラムの例は、図9と共に説明することとする。
【0119】
第3のコードセグメント808は、複数の並行したプログラムプロセス、メモリ管理などを処理するオペレーティングシステム(OS)を実施するプログラム手段を備える。
【0120】
CPUは、ロボットの制御および/または外部デバイスとの通信を行うために、メモリに記憶された命令を実行して、インタフェースからデータを読み出し、インタフェースにデータを供給するように構成される。
【0121】
図9は、ロボット制御システムによって実施される状態機械の状態イベント図を示している。状態機械901は、複数の目的指向の挙動状態902および903を備える。それらの一方が、同時にアクティブになることができる。図9の例では、状態機械は、2つの挙動状態902および903を備える。しかしながら、この個数は、実際のゲームのシナリオに依存し、表されるさまざまな目的の個数に応じて変化し得る。挙動状態のそれぞれは、複数の高レベルの行動に関係付けられる。すなわち、図9の例では、状態902は、行動B111,…,B11I、B121,…,B12J、B131,…,B13K、つまり(I+J+K)個の行動に関係付けられる一方、状態903は、行動B211,…,B21L、B221,…,B22M、B231,…,B23N、つまり(L+M+N)個の行動に関係付けられる。行動は、高レベルの目的指向の挙動を実行する命令を含むことが好ましい。このような行動の例には、「ロボットXに追従する」、「ロボットYから逃げる」、「ロボットZにぶつかる」、「部屋を探索する」などが含まれる。これらの高レベルの命令は、ライブラリの機能を介して実施することができる。このライブラリの機能は、好ましくはセンサ入力に応答して、ロボットの制御装置により、ロボットを制御する制御信号に変換される。上記高レベルの行動は、行動ビーズ(action beads)とも呼ばれる。複数の異なるタイプの行動ビーズが存在する。例えば、状態図のある状態から別の状態に状態遷移を行うビーズ、ある一定の条件が満たされると、行動を行う条件付き行動ビーズなどが存在する。一実施の形態では、条件は、ロボット制御システムによって実行される監視人プロセス(watcher process)によって検査することができる。監視人プロセスは、ロボットの内部状態パラメータまたは外部状態パラメータを監視することができ、条件が満たされた時を示す信号を状態機械に送ることができる。例えば、監視人は、ロボットが所与の受信区域で検出されたかどうか、検出されたロボットが所与の向きを有するかどうかなどを検査することができる。したがって、一実施の形態では、行動ビーズは、一組のプリミティブな行動のうちの1つまたは2つ以上のもの、1つまたは2つ以上のプリミティブな行動が従う条件、または異なる状態への遷移を状態機械実行システムに実行させる遷移動作を備えることができる。これに代えて、または、これに加えて、状態遷移は、行動ビーズとは異なるメカニズムによって実施できることに留意されたい。
【0122】
ゲームのシナリオのすべての目的、ルール、および戦略が、明白にされ、したがって、異なるゲームのシナリオに容易に調節可能であることが、このような状態機械システムの利点である。
【0123】
図9の状態図は、開始状態912、勝ち状態910、負け状態911、ならびに2つの挙動状態902および903を備える。2つの挙動状態のそれぞれは、目標物体T1およびT2をそれぞれ表す。目標物体は、選択基準によって識別される。この選択基準としては、例えば、別のロボットまたはデバイスのロボットID、複数の予定されるロボットおよび/またはデバイスの仕様、現在のロボットと関連付けられたロボットコントローラなどがある。また、上記複数の予定されるロボットおよび/またはデバイスとしては、ある一定のタイプのすべてのロボット、それ以外の任意のロボット、別のロボットチームの任意のロボットといったものがある。
【0124】
挙動状態のそれぞれは、それぞれの近傍区域を表す3つの行動状態に関係付けられる。状態902は、行動状態904、905、906に関係付けられる。ここで、行動状態904は、近傍区域Lに関係付けられ、行動状態905は、近傍区域Mに関係付けられ、行動状態906は、近傍区域Hに関係付けられる。したがって、状態902では、状態機械実行システムは、状態902の選択基準を満たす目標物体T1が、これらの区域のいずれかで検出されたかどうかを検査する。
【0125】
選択基準に応じて、その選択基準を満たす2つ以上の目標物体が、ロボットの近傍区域内に検出されることがある。状態機械実行システムは、ロボットによって保持される、現在検出されたすべての物体の一覧を検索し、現在の状態の選択基準を使用してその一覧を選択除去することにより、検出された目標ロボットを識別することができる。2つ以上の物体が、選択基準を満たす場合には、あらかじめ定められた優先順位ルールを適用して、検出された物体の1つを現在の目標物体T1として選択することができる。一実施の形態では、選択基準を満たす物体の中から目標物体を選択するために、区域情報を使用することができる。例えば、ロボットまでの距離が短いほうの物体をより高い優先順位で選択することができる。
【0126】
状態902の目標物体T1が、近傍区域Lで検出された場合、システムは、行動状態904で実行を継続する。行動状態904は、例えば逐次的に実行される複数の行動ビーズB111,…,B11Iを含む。これらの行動ビーズは、その1つまたは2つ以上のものが、条件付き行動ビーズである場合には、ある一定の条件に依存する可能性がある。行動B111,…,B11Iが実行されると、状態機械は、状態902で実行を継続する。行動状態904が、行動ビーズを含まない場合には、行動は行われず、状態機械実行システムは、状態902に戻る。同様に、目標物体が、区域Mで検出された場合、状態905で実行が継続し、その結果、ビーズB121,…,B12Jが実行される。図9の例では、行動ビーズB12Jが、状態903への遷移を引き起こす遷移行動であるものと仮定する。したがって、この場合、状態903で実行が継続される。状態902にいる間、目標物体が、区域Hで検出された場合、状態905で実行が継続し、その結果、ビーズB131,…,B13Kが実行される。図9の例では、行動ビーズB13Kが、負け状態911への遷移を引き起こす遷移行動であるものと仮定する。この負け状態911は、ゲームのシナリオを終了させる。負け状態は、ロボットの動作を停止し、ゲームの結果を、例えば光効果、音響効果などを介して、そのロボットに示させるようにすることができる。さらに、ロボットは、自身が負けたことを示す対応したピングメッセージを他のロボットに送信してもよい。最後に、状態902にいる時、目標物体が、どの区域にも検出されない場合、状態902で実行が継続する。あるいは、この場合に関係付けられた特別な行動状態をさらに設けて、この場合の複数の行動を実行させてもよい。
【0127】
同様に、挙動状態903は、目標T2、すなわち、上述したように状態903の対応する目標選択基準によって選択された目標物体に関係付けられる。したがって、状態903にいる時、状態機械実行システムは、目標物体T2が、接頭語L、M、またはHを有する区域の1つで検出されるかどうかをチェックする。目標物体T2が、区域Lで検出されると、状態907で実行が継続され、その結果、行動ビーズB211,…,B21Lが実行される。図9の例では、行動ビーズB211,…,B21Lの1つが、状態902への条件付き遷移ビーズであるものと仮定する。その結果、対応する条件が満たされた場合には、状態902で実行が継続される。そうでない場合には、状態機械実行システムは、行動ビーズB211,…,B21Lの実行後、状態903に戻る。状態903で、目標物体T2が、区域Mに存在すると検出された場合には、状態908で実行が継続され、その結果、行動ビーズB221,…,B22Mが実行される。図9の例では、行動ビーズB221,…,B22Mの1つが、勝ち状態910への条件付き遷移ビーズであるものと仮定する。その結果、対応する条件が満たされた場合には、状態910で実行が継続される。そうでない場合には、状態機械実行システムは、行動ビーズB221,…,B22Mの実行後、状態903に戻る。最後に、状態903にいる時、目標物体T2が、区域Hに存在すると検出された場合には、状態909で実行が継続され、その結果、行動ビーズB231,…,B23Nが実行され、その後、実行は、状態903に戻る。
【0128】
一実施の形態では、目標物体が、ある区域から別の区域に移動したことが検出されると、現在実行中の行動は中止され、また状態実行システムは、対応する挙動状態に戻る。その挙動状態から、上述したように、新しい区域に対応する行動状態で、実行が継続される。
【0129】
図9の例では、区域L、M、およびHは、図5に示すそれぞれの区域を介して定められる近傍区域に対応し、3つの出力レベルL、M、およびHに対応する。したがって、この実施の形態によると、所与の目標物体に対してどの行動状態が実行されるかを判断するために、距離情報のみが使用される。目標物体が、図5の受信区域506および507の少なくとも一方内に存在する場合、目標物体は、L区域内に存在するものと検出される。目標物が、区域504および505の少なくとも一方に検出されるが、L区域に検出されない場合には、目標物体は、M区域内に存在するものと検出される。目標物体が、受信区域508に存在するものと検出されるが、それ以外の区域のいずれにも検出されない場合には、目標物体は、H区域に存在するものと検出される。しかしながら、行動ビーズに対応する命令は、方向情報および/または向き情報も使用することができる。
【0130】
さらに、別の実施の形態では、各挙動状態に関係付けられた異なる組の行動状態が存在し得ることに留意されたい。例えば、図5の区域H、ML、MR、MC、LL、LCL、LC、LCR、およびLRのそれぞれの行動状態である。
【0131】
それに加えて、ロボットの挙動は、モニタ、イベントハンドラ、割り込みハンドラなどのような例えば並列状態機械によって提供される別の制御信号によって制御できることにさらに留意されたい。したがって、上記状態機械は、一例であり、行動ビーズの実行シナリオの別の実施態様を提供できることが理解される。
【0132】
図10は、本発明によるロボット玩具の挙動をプログラムするシステムの実施の形態を示している。この実施の形態では、挙動は、ダウンロードプログラムによって制御される。このシステムは、パーソナルコンピュータ1031を備える。このパーソナルコンピュータ1031は、スクリーン1034または他の表示手段、キーボード1033、およびポインティングデバイス1032を有する。ポインティングデバイス1032は、例えば、マウス、タッチパッド、トラックボールなどである。コンピュータ上では、アプリケーションプログラムが実行される。このアプリケーションプログラムによって、ユーザは、スクリプトの作成および編集を行って、そのスクリプトを記憶し、コンパイルとしてロボット玩具1000にダウンロードすることができる。コンピュータ1031は、コンピュータ1031のシリアルポートの1つからロボット玩具1000のシリアルリンク1017へ、シリアル接続1035を介してロボット玩具1000に接続される。あるいは、この接続は、赤外線接続またはブルートゥース接続といった無線であってもよい。プログラムコードが、コンピュータ1031からロボット玩具1000にダウンロードされると、ダウンロードされたデータは、メモリ1012に転送されて記憶される。一実施の形態では、ロボット玩具のリンク1017は、光学インタフェースを提供するようになっている光センサおよびLEDを備える。
【0133】
ロボット玩具1000は、ハウジング1001、シャフト1008aおよび1008bを介してモータ1007aおよび1007bにより駆動される一組のホイール1002a〜1002dを備える。これらに代えて、または、これらに加えて、ロボット玩具は、足、糸などといった、別の移動手段を含むことができる。また、プロペラ、アーム、ツール、回転ヘッドなどといった他の移動可能な部品を含むこともできる。ロボット玩具は、モータならびにロボット玩具の他の電気コンポーネントおよび電子コンポーネントに電力を提供する電源装置1011をさらに備える。この電源装置1011は、標準的な電池を含むことが好ましい。ロボット玩具は、ロボット玩具1000の制御を担当する中央プロセッサCPU1013をさらに備える。プロセッサ1013は、メモリ1012に接続される。メモリ1012は、ROM部およびRAM部またはEPROM部(図示せず)を備えてもよい。メモリ1012は、中央プロセッサ1013用のオペレーティングシステム、および、低レベルのコンピュータにより実行可能な命令を含むファームウェアを記憶することができる。このファームウェアは、中央プロセッサ1013によって実行されて、例えば「モータを作動させる」といったコマンドを実施することによりロボット玩具のハードウェアを制御する。さらに、メモリ1012は、より高レベルの命令を備えたアプリケーションソフトウェアを記憶することができる。このアプリケーションソフトウェアは、中央プロセッサ1013によって実行されて、ロボット玩具の挙動を制御する。中央プロセッサは、バスシステム104により、個別の制御信号などを介してロボット玩具の制御可能ハードウェアコンポーネントに接続することができる。
【0134】
ロボット玩具は、バスシステム1014を介して中央プロセッサ1013に接続される複数のさまざまなセンサを備えることができる。ロボット玩具1000は、衝撃を受けた時を検出する衝撃センサ1005、ならびに、光レベルの計測および点滅の検出を行う光センサ1006を備える。ロボット玩具は、4つの赤外線(IR)送信機1003a〜1003d、および、上述したように他のロボットを検出してマッピングを行う2つのIR受信機1004a〜1004bをさらに備える。これに代えて、または、これに加えて、ロボット玩具は、他のセンサを備えることができる。これらの他のセンサとしては、ショックセンサや量を検出するセンサといったものがある。ショックセンサは、例えば、ロボット玩具が衝撃を受けたり、何かにぶつかったりした時に出力を提供する、バネから吊るされた重りである。量を検出するセンサには、時間、味覚、嗅覚、光、パターン、近さ、動作、音、会話、振動、接触、圧力、磁気、温度、歪み、通信などを検出するセンサが含まれる。
【0135】
ロボット玩具1000は、例えばレーザガンを模倣した光効果を生成するLED1016、および、音響効果を作成するピエゾ素子1015をさらに備える。これらに代えて、または、これらに加えて、ロボット玩具は、プロセッサ1013によって制御される他のアクティブなハードウェアコンポーネントを備えることができる。
【0136】
図11は、ロボットをプログラムするグラフィカルユーザインタフェースの一例の概略図を示している。このユーザインタフェース1101は、ロボット制御コンピュータプログラムを実行するデータ処理システムによって生成される。ユーザインタフェースは、通常、対応するユーザコマンドに応答して、データ処理システムに接続されたディスプレイに表示される。グラフィカルユーザインタフェースは、プログラムされるロボット1102の表示を備える。このロボットは、衝撃センサ1103および光センサ1104を備える。
【0137】
ユーザインタフェースは、複数の領域シンボル1106、1107、および1108をさらに備える。これらのシンボルのそれぞれは、ロボットが、別のロボット、制御デバイスなどの物体を検出できる近傍区域を概略的に示している。領域シンボルは、異なるサイズの楕円形であり、ロボットのシンボル1101から異なる距離に延びている。領域1108は、別のロボットにより出力レベルLで送信された信号を受信できる検出区域を示している。同様に、領域1107は、別のロボットまたはデバイスにより送信された中出力レベル信号の受信区域を示し、領域1106は、別のロボットまたはデバイスにより送信された高出力レベル信号の受信区域を示している。領域シンボル1106、1107、および1108は、さらに制御要素1116、1117、および1118にそれぞれ接続される。
【0138】
ユーザインタフェースは、行動シンボル1124、1125、1126、および1127用の選択領域1140をさらに備える。各行動シンボルは、上述したようなロボットにより実行可能な行動に対応する。行動シンボルは、それらの対応する行動によりラベル付けすることができ、例えば、対応する行動の結果の図的なイラストによりラベル付けすることができる。各行動シンボルは、ポインティングデバイスによって起動できる要素である。ユーザは、行動シンボルのいずれか1つに対してドラッグ・アンド・ドロップ操作を実行して、制御要素1116、1117、および1118のいずれか1つの中にその行動シンボルを置くことができる。図11は、行動シンボル1113が、外側の区域1106に関係付けられた制御要素1116内に置かれている状況を示している。選択可能な行動シンボルの個数を増やすために、スクロール機能が提供される。このスクロール機能は、制御要素1122および1123を介して起動することができ、これにより、行動シンボルの一覧をスクロールすることが可能になる。制御シンボルの一覧は、行動シンボルのグループにさらに分割される。この分割は、例えば、行動シンボルを、それらの行動の性質に従ったグループに整理することにより行われる。グループの例として、「直線運動」、「回転」、「光効果」、「音響効果」、「ロボット間相互作用」などを含むことができる。行動シンボル1124、1125、1126、および1127の一覧は、対応するグループ表示要素1121によって示されるように、上記グループのうちの1つの行動シンボルを含む。ユーザは、制御要素1119および1120を介して別のグループを選択することができ、これにより、別の行動シンボルが表示され、選択可能にされる。
【0139】
行動シンボルの一覧および対応する命令は、事前に記述することができ、特定の種類のロボット用のプログラムライブラリとして、例えばCDで、または、インターネットを介して利用可能にすることができる。行動ビーズは、例えば円などのシンボルにより表現でき、それらの形状、色彩および/またはラベルは、それらの機能を識別することができる。行動ビーズを円の中に置くことは、例えば、ポインティングデバイスによるドラッグ・アンド・ドロップ操作によって行うことができる。
【0140】
ユーザインタフェースは、衝撃センサのイラスト1103および光センサのイラスト1104にそれぞれ接続された付加的な制御要素1132および1133をさらに備える。その結果、ユーザは、行動シンボルをこれらの制御要素にも同様にドラッグ・アンド・ドロップすることができ、これにより、行動をこれらのセンサに関係付けることができる。図9の実施の形態では、1つの動作シンボルしか、制御要素1116、1117、1118、1132、および1133のそれぞれに置くことができない。これにより、プログラム可能な挙動の複雑さが削減され、特に子供にとって、プログラミングおよび検査の作業がより簡単になる。一方、別の実施の形態では、この制限は除去されてもよい。
【0141】
ユーザインタフェース1101は、さまざまな目標物体を表す制御要素1110、1111、および1112をさらに備え、したがって、図9と共に説明したような状態機械のさまざまな挙動状態をさらに備える。制御要素1110、1111、および1112は、ポインティングデバイスによって、例えばそれらの要素の1つをクリックすることにより起動することができる。これにより、その要素が選択され、それ以外のものが選択解除される。図11では、目標物体T1に対応する制御要素1110が選択されている状況が示されている。この選択は、目標物体を示すシンボル1109への線1134によって示される。その結果、ユーザは、さまざまな目標物体に関連したさまざまな区域内にさまざまな行動シンボルを置くことができる。
【0142】
ユーザインタフェースは、ポインティングデバイスによって起動できるさらに別の制御要素1129、1130、1131をさらに備える。制御要素1129は、ユーザが、このロボット制御システムのさらに別の機能にアクセスするために他のスクリーン映像に移動することを可能にするものである。制御要素1130は、ダウンロードボタンであり、起動されると、例えば図10と共に説明したように、データ処理システムの処理装置に制御信号を送信し、データ処理システムにプログラムスクリプトを生成させて、そのプログラムスクリプトをロボットにダウンロードする。
【0143】
プログラムスクリプトは、目標物体の一覧、および、対応する制御要素に置かれた行動シンボルによって定められるさまざまな区域の関係付けられた行動を備えることができる。
【0144】
以下は、このようなプログラムスクリプトの表現例である。
【0145】
[Game(ゲーム)]
Name=Game1(名前=ゲーム1)
NumStates=2(状態数=2)
【0146】
[State1(状態1)]
TargetObject=T1(目標物体=T1)
BeadsLZone={Bead1, Bead15, Bead34}(ビーズL区域={ビーズ1,ビーズ15,ビーズ34})
BeadsMZone={Bead2, Bead1, Bead54, Bead117}(ビーズM区域={ビーズ2,ビーズ1,ビーズ54,ビーズ117})
BeadsHZone={}(ビーズH区域={})
【0147】
[State2(状態2)]
TargetObject={T2, T3}(目標物体={T2,T3})
BeadsLZone={Bead21, Bead5, Bead7}(ビーズL区域={ビーズ21,ビーズ5,ビーズ7})
BeadsMZone={Bead3}(ビーズM区域={ビーズ3})
BeadsHZone={Bead5, Bead1}(ビーズH区域={ビーズ5,ビーズ1})
【0148】
上記プログラムスクリプトに代えて、または、それに加えて、プログラムスクリプトは、異なる形式、異なるシンタックス、構造などで表現することができる。例えば、プログラムスクリプトをよりコンパクトな形式、例えばバイナリフォーマットにコンパイルすることができる。コンパイル中、行動ビーズに対応する、事前に定義されたスクリプトは、そのビーズが置かれている区域に関係付けられる。
【0149】
制御要素1131は、保存ボタンであり、起動されると、データ処理システムに上記プログラムスクリプトを生成させて、そのプログラムスクリプトを、例えばハードディスク、ディスケット、書き込み可能CD−ROMなどの記憶媒体に保存する。いくつかのプログラムがコンピュータに記憶されている場合には、保存ダイアログが表示されてもよく、これにより、ユーザは、記憶されたプログラムに目を通すことができる。
【0150】
上記のものに代えて、または、それに加えて、ユーザインタフェースは、例えばヘルプ、取り消し、目標物体の追加/削除などといった異なる機能およびオプションへのアクセスを提供することができる。
【0151】
したがって、他の物体の位置に応じ、かつ図9と共に説明したような状態機械によって制御されるロボットの挙動をプログラムするためのユーザインタフェースを提供するシステムが開示される。
【0152】
図12は、行動シンボルを編集するグラフィカルユーザインタフェースの概略図を示している。このユーザインタフェースは、行動シンボルに関連付けられた行動の編集を可能にする。上述したように、図11の各行動シンボルは、高レベルの行動に対応することができ、この高レベルの行動は、より単純な一連の行動として表現することができる。これらのより単純な一連の行動は、プリミティブビーズと呼ばれる。ユーザが、所与の行動シンボルのエディタを起動すると、ロボット制御システムは、ユーザインタフェース1201を生成する。
【0153】
このユーザインタフェースは、現在編集中の行動についての情報を表示する説明領域1210を備える。この情報は、例えば名前、機能の説明などである。
【0154】
現在の行動に含まれるプリミティブビーズの列は、ビーズシンボル1202および1203の列として示される。これらのビーズシンボルは、予め定められた場所シンボルP1、P2、P3、およびP4にそれらの実行順に置かれる。場所シンボルは、関連付けられたパラメータフィールド1204、1205、1206、および1207をそれぞれ有し、これにより、ユーザは、プリミティブビーズと関連付けることができるパラメータを入力するか、または、編集することができる。このようなパラメータの例として、運動の時間、回転の度合い、音のボリュームなどが含まれる。このパラメータ表示に代えて、または、それに加えて、例えばスライドバーなどのように、パラメータを視覚化して、他の制御要素を介して制御可能にすることができる。
【0155】
さらに、1つのプリミティブビーズに関連付けられた2つ以上のパラメータが存在してもよい。ユーザインタフェースは、必要に応じてプリミティブビーズの列をスクロールする制御要素1208および1209をさらに提供する。
【0156】
ユーザインタフェースは、ビーズ選択領域1240をさらに提供する。ビーズ選択領域1240は、プリミティブビーズを表す選択可能な制御要素1224、1225、および1226の一覧を備える。これらの制御要素は、ポインティングデバイスによって、例えばドラッグ・アンド・ドロップ操作により起動されて、場所シンボルP1、P2、P3、またはP4の1つに、選択されたビーズを置く。図11と共に説明した選択領域1140と同様に、選択領域1240は、プリミティブビーズの一覧をスクロールする制御要素1222および1223と、表示フィールド1221に表示されるプリミティブビーズの複数のグループの1つを選択する制御要素1219および1220とを備える。
【0157】
さらに、ユーザインタフェースは、他のスクリーン、例えば図11のロボット構成スクリーンに移動するための制御要素1229と、現在の編集操作を取り消すための制御要素1230と、編集されたビーズの保存操作を開始する制御要素1231とを備える。これらの制御要素に代えて、または、それらに加えて、他の制御要素が提供されてもよい。
【0158】
図13は、ロボットをプログラムするグラフィカルユーザインタフェースの別の例の概略図を示している。この例では、ロボットは、円1301として示された制御要素によって表されている。このユーザインタフェースは、領域シンボル1302、1303、1304、1305、1306、および1307を備える。各領域シンボルは、区域を表す。ユーザインタフェースは、図11と共に説明したような行動シンボル選択領域1140をさらに備える。この例では、行動ビーズは、ラベル付けされた円1318〜1327として表されている。これらの円は、ある一定の区域と関連付けるために、領域シンボル内にドラッグ・アンド・ドロップすることができる。ビーズの機能は、そのラベル、その色彩、形状などによって示されることが好ましい。
【0159】
図13の例では、6つの受信区域を表す6つの領域シンボルが存在する。さらに、ロボットを表すシンボル1301は、行動シンボルをドロップすることができる制御要素でもある。これらの行動は、目標物体がいずれの区域にも検出されない時に実行される。表3は、図5に示す受信区域が図13の区域にどのようにマッピングされるかを示している。
【0160】
【表3】
【0161】
したがって、この実施の形態によると、ロボットの対応する状態機械実行システムは、各挙動状態に関連付けられた7つの行動状態を有する。
【0162】
ユーザインタフェースは、目標物体を選択する制御要素と、図11と共に説明したような他のスクリーンに移動するための制御要素、プログラムスクリプトを保存する制御要素、およびプログラムスクリプトをダウンロードする制御要素とをさらに備える。
【0163】
本発明について、赤外光放射器/受信機を使用してゲームを行うロボット玩具の好ましい実施の形態と共に説明してきたことに留意されたい。他の検出システムおよび原理が実施可能であることが理解される。例えば、異なる個数の放射器/受信機を使用でき、かつ/または、単一の出力レベルもしくは3つ以上の出力レベルで信号を送信するように放射器を適合させることができる。これにより、検出システムには、異なるレベルの位置検出精度を提供する異なる個数の区域が提供される。
【0164】
さらに、他のセンサを使用することができる。例えば、無線ベースの計測器、磁気センサなどを使用することができる。
【0165】
さらに、説明したユーザインタフェースは、制御要素を起動する技法、および、領域シンボル、行動シンボルなどを表す技法として異なる技法を使用することができる。
【0166】
さらに、本発明は、ロボット玩具とは異なる移動ロボットと関連して使用することができることも理解される。例えば他の移動ロボットと団体で、例えばある一定の作業を行うようにユーザによってプログラムされる移動ロボットと関連して使用することができる。このような作業の例としては、掃除、調査などがある。
【0167】
上述したように、本発明による方法は、コンピュータプログラムとして具体化することができる。本発明による方法は、さらに、上述した方法をプロセッサに実行させるように構成されたコンピュータプログラム製品として具体化できることに留意されたい。このコンピュータプログラム製品は、コンピュータ読み取り可能媒体上に具体化することができる。コンピュータ読み取り可能媒体という用語は、磁気テープ、光ディスク、デジタルビデオディスク(DVD)、コンパクトディスク(CDまたはCD−ROM)、ミニディスク、ハードディスク、フロッピィディスク、強誘電体メモリ、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、EPROM、読み出し専用メモリ(ROM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、同期ダイナミックランダムアクセスメモリ(SDRAM)、強磁性体メモリ、光記憶装置、電荷結合デバイス、スマートカード、PCMCIAカードなどを含むことができる。
【図面の簡単な説明】
【0168】
【図1a】2体のロボットおよびそれらの空間的な相互関係の平面図である。
【図1b】ロボット、および、放射される信号の空間的な放射照度特性によって定められる区域の平面図である。
【図1c】ロボット、および、受信信号の空間的な感度特性によって定められる区域の平面図である。
【図1d】各ロボットが、他方のロボットの放射照度/感度区域の一方に存在する2体のロボットの平面図である。
【図1e】ロボット、および、さまざまな出力レベルで放射された信号の空間的な放射照度特性によって定められる区域の平面図である。
【図2】ロボットを取り囲む複数の区域のそれぞれに特徴的な信号を放射する放射器を有するロボット玩具である。
【図3a】3つの異なる出力レベルでロボットによりピング信号を送信するために使用される出力レベルである。
【図3b】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図3c】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図3d】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図3e】ロボットの異なるダイオード放射器によってピング信号を送信する出力レベルである。
【図4】ピング信号およびメッセージを送信するブロック図である。
【図5】ロボットに取り付けられた2つの受信機の感度曲線である。
【図6】デバイスを取り囲む複数の区域のそれぞれ1つに特徴的な信号を放射する放射器を有する当該デバイスである。
【図7】ピング信号およびメッセージ信号を受信するシステムのブロック図である。
【図8】ロボット制御システムのブロック図である。
【図9】ロボット制御システムによって実施される状態機械の状態イベント図である。
【図10】ロボットをプログラムするシステムの概略図である。
【図11】ロボットをプログラムするグラフィカルユーザインタフェースの一例の概略図である。
【図12】行動シンボルを編集するグラフィカルユーザインタフェースの概略図である。
【図13】ロボットをプログラムするグラフィカルユーザインタフェースの別の例の概略図である。
Claims (16)
- ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、前記検出信号に応答して、複数の行動の中から、前記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを備える前記ロボットを制御する方法であって、
各領域シンボルが前記ロボットを基準とした前記複数の区域のうちの対応する区域を表す複数の領域シンボルを、グラフィカルユーザインタフェースを介してユーザに提示すること、
各行動シンボルが前記ロボットの少なくとも1つの各行動を表す複数の行動シンボルを、前記グラフィカルユーザインタフェースを介してユーザに提示すること、
第1の区域に対応する、前記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある第1の行動に対応する行動シンボルの位置を示すユーザコマンドを受信すること、
前記第1の区域に物体を検出したことに応答して、前記第1の行動を実行するように前記ロボット玩具を制御する命令を生成すること、
とを含むことを特徴とするロボットを制御する方法。 - 前記方法は、少なくとも1つの選択された目標物体の識別情報を示すユーザコマンドを受信するステップをさらに含み、命令を生成する前記ステップは、前記少なくとも1つの選択された目標物体のうちの1つを前記第1の区域に検出したことに応答して、前記第1の行動を実行するように前記ロボット玩具を制御する命令を生成することをさらに含む、ことを特徴とする請求項1に記載のロボットを制御する方法。
- 前記検出手段は、前記物体までの距離を示すセンサ信号を生成するようになっている距離センサを備え、前記領域シンボルのそれぞれは、物体からの予め定められた距離の範囲を表す、ことを特徴とする請求項1または2に記載のロボットを制御する方法。
- 前記検出手段は、前記物体への方向を示すセンサ信号を生成するようになっている方向センサ手段を備え、前記領域シンボルのそれぞれは、物体への予め定められた方向の範囲を表す、ことを特徴とする請求項1ないし3のいずれか1項に記載のロボットを制御する方法。
- 前記検出手段は、前記物体の向きを示すセンサ信号を生成するようになっている向きセンサ手段を備え、前記領域シンボルのそれぞれは、物体の予め定められた向きの範囲を表す、ことを特徴とする請求項1ないし4のいずれか1項に記載のロボットを制御する方法。
- 前記行動シンボルのそれぞれは、前記ロボット玩具の一連の予め定められた物理的な行動に対応する、ことを特徴とする請求項1ないし5のいずれか1項に記載のロボットを制御する方法。
- 命令を生成する前記ステップは、前記ロボットによって実行される状態機械用の命令を生成するステップを含む、ことを特徴とする請求項1ないし6のいずれか1項に記載のロボットを制御する方法。
- 前記少なくとも1つの選択された目標物体は、前記状態機械の第1の状態に対応する、ことを特徴とする請求項7に記載のロボットを制御する方法。
- 該方法は、前記生成された命令を含むダウンロード信号を生成すること、前記ロボット玩具に前記ダウンロード信号を伝達することとをさらに含む、ことを特徴とする請求項1ないし8のいずれか1項に記載のロボットを制御する方法。
- ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、前記検出信号に応答して、複数の行動の中から、前記第1の区域に対応する予め定められた行動を選択して実行する処理手段とを備える前記ロボットを制御するシステムであって、
各領域シンボルが前記ロボットを基準とした前記複数の区域のうちの対応する区域を表す複数の領域シンボルと、各行動シンボルが前記ロボットの少なくとも1つの各行動を表す複数の行動シンボルとを有するグラフィカルユーザインタフェースを表示スクリーン上に生成する手段と、
第1の区域に対応する、前記領域シンボルのうちの第1の領域シンボルに対して予め定められた関係にある第1の行動に対応する行動シンボルの位置を示すユーザコマンドを受信するようになっている入力手段と、
前記第1の区域に物体を検出したことに応答して、前記第1の行動を実行するように前記ロボット玩具を制御する命令を生成するようになっている処理装置と、
を含むことを特徴とするロボットを制御するシステム。 - ロボットを基準とした複数の予め定められた区域のうちの第1の区域に物体を検出して、該第1の区域を識別する検出信号を生成する検出手段と、
前記検出信号に応答して、複数の行動の中から、前記第1の区域に対応する予め定められた行動を選択して実行する処理手段と、
を備えるロボットであって、
前記検出手段は、さらに、複数の予め定められた目標物体のうちの第1の目標物体として前記物体を識別して、対応する識別信号を生成するようになっており、
前記処理手段は、前記検出信号および前記識別信号を受信して、前記識別された第1の目標物体と、該識別された第1の目標物体が検出された前記第1の区域を識別する前記検出信号とに応じて、複数の行動のうちの少なくとも1つを選択して実行するようになっている、
ことを特徴とするロボット。 - 前記処理手段は、状態機械であって、
各状態が複数の予め定められた目標物体選択基準の1つに対応する複数の状態と、
前記識別信号に応答して、該状態機械の前記複数の状態のうちの第1の状態を選択する第1の選択モジュールと、
前記選択された第1の状態と、前記識別された目標物体が検出された前記第1の区域を識別する前記検出信号とに応じて、複数の行動のうちの1つを選択する第2の選択モジュールと、
を含む状態機械、を実施するようになっていることを特徴とする請求項11に記載のロボット。 - 該ロボットは、データ処理システムによって生成された命令を含むダウンロード信号を受信する入力手段をさらに備え、前記命令は、対応する目標物体の識別情報および区域に関係したユーザ定義の行動に対応する、ことを特徴とする請求項11または12に記載のロボット。
- 請求項11ないし13のいずれか1項に記載のロボットを備える玩具セット。
- 請求項11ないし13のいずれか1項に記載のロボットを備えた玩具装置を備える玩具構築セットであって、前記玩具装置は、玩具構築要素の相補結合手段と相互接続する結合手段を備える、ことを特徴とする玩具構築セット。
- データ処理システム上で実行されると、請求項1ないし9のいずれか1項の方法を実行するコンピュータプログラムコード手段を備えるコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DKPA200100845 | 2001-05-25 | ||
DKPA200100844 | 2001-05-25 | ||
PCT/DK2002/000349 WO2002095517A1 (en) | 2001-05-25 | 2002-05-24 | Toy robot programming |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004536634A true JP2004536634A (ja) | 2004-12-09 |
Family
ID=26069026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002591925A Pending JP2004536634A (ja) | 2001-05-25 | 2002-05-24 | ロボット玩具プログラミング |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040186623A1 (ja) |
EP (1) | EP1390823A1 (ja) |
JP (1) | JP2004536634A (ja) |
CN (1) | CN1529838A (ja) |
CA (1) | CA2448389A1 (ja) |
WO (1) | WO2002095517A1 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010527294A (ja) * | 2007-05-08 | 2010-08-12 | レイセオン・サルコス・エルエルシー | ロボットクローラのための可変プリミティブマッピング |
JP2012515899A (ja) * | 2009-01-27 | 2012-07-12 | エックスワイゼッド・インタラクティヴ・テクノロジーズ・インコーポレーテッド | 単一のデバイスおよび/または複数のデバイスの測距探知、配向決定、および/または測位のための方法および装置 |
US8392036B2 (en) | 2009-01-08 | 2013-03-05 | Raytheon Company | Point and go navigation system and method |
US8393422B1 (en) | 2012-05-25 | 2013-03-12 | Raytheon Company | Serpentine robotic crawler |
KR101292807B1 (ko) * | 2011-06-30 | 2013-08-05 | 씨엔로봇(주) | 듀얼프로세서를 통해 효과적인 역할 분담이 가능한 지능로봇 메인 시스템 |
KR101323354B1 (ko) * | 2011-11-10 | 2013-10-29 | 주식회사 서희정보기술 | 터치스크린을 이용한 로봇 완구 제어 시스템 |
US9031698B2 (en) | 2012-10-31 | 2015-05-12 | Sarcos Lc | Serpentine robotic crawler |
US9409292B2 (en) | 2013-09-13 | 2016-08-09 | Sarcos Lc | Serpentine robotic crawler for performing dexterous operations |
US9566711B2 (en) | 2014-03-04 | 2017-02-14 | Sarcos Lc | Coordinated robotic control |
JP2019507930A (ja) * | 2015-11-24 | 2019-03-22 | エックス デベロップメント エルエルシー | 人間/ロボット統合環境のための安全システム |
US10452157B2 (en) | 2014-10-07 | 2019-10-22 | Xyz Interactive Technologies Inc. | Device and method for orientation and positioning |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3554848B2 (ja) * | 2001-12-17 | 2004-08-18 | コナミ株式会社 | ボール状遊戯具 |
US20040162637A1 (en) | 2002-07-25 | 2004-08-19 | Yulun Wang | Medical tele-robotic system with a master remote station with an arbitrator |
US7813836B2 (en) | 2003-12-09 | 2010-10-12 | Intouch Technologies, Inc. | Protocol for a remotely controlled videoconferencing robot |
US8077963B2 (en) | 2004-07-13 | 2011-12-13 | Yulun Wang | Mobile robot with a head-based movement mapping scheme |
JP4849829B2 (ja) * | 2005-05-15 | 2012-01-11 | 株式会社ソニー・コンピュータエンタテインメント | センタ装置 |
US9198728B2 (en) | 2005-09-30 | 2015-12-01 | Intouch Technologies, Inc. | Multi-camera mobile teleconferencing platform |
US20070166004A1 (en) * | 2006-01-10 | 2007-07-19 | Io.Tek Co., Ltd | Robot system using menu selection card having printed menu codes and pictorial symbols |
US8849679B2 (en) | 2006-06-15 | 2014-09-30 | Intouch Technologies, Inc. | Remote controlled robot system that provides medical images |
KR100759919B1 (ko) * | 2006-11-28 | 2007-09-18 | 삼성광주전자 주식회사 | 로봇청소기 및 그 제어방법 |
US8909370B2 (en) * | 2007-05-08 | 2014-12-09 | Massachusetts Institute Of Technology | Interactive systems employing robotic companions |
US9160783B2 (en) | 2007-05-09 | 2015-10-13 | Intouch Technologies, Inc. | Robot system that operates through a network firewall |
US10875182B2 (en) | 2008-03-20 | 2020-12-29 | Teladoc Health, Inc. | Remote presence system mounted to operating room hardware |
US8179418B2 (en) | 2008-04-14 | 2012-05-15 | Intouch Technologies, Inc. | Robotic based health care system |
US8170241B2 (en) | 2008-04-17 | 2012-05-01 | Intouch Technologies, Inc. | Mobile tele-presence system with a microphone system |
US9193065B2 (en) | 2008-07-10 | 2015-11-24 | Intouch Technologies, Inc. | Docking system for a tele-presence robot |
US9842192B2 (en) | 2008-07-11 | 2017-12-12 | Intouch Technologies, Inc. | Tele-presence robot system with multi-cast features |
KR101479234B1 (ko) * | 2008-09-04 | 2015-01-06 | 삼성전자 주식회사 | 로봇 및 그 제어 방법 |
US8340819B2 (en) | 2008-09-18 | 2012-12-25 | Intouch Technologies, Inc. | Mobile videoconferencing robot system with network adaptive driving |
US8996165B2 (en) | 2008-10-21 | 2015-03-31 | Intouch Technologies, Inc. | Telepresence robot with a camera boom |
US8463435B2 (en) | 2008-11-25 | 2013-06-11 | Intouch Technologies, Inc. | Server connectivity control for tele-presence robot |
US9138891B2 (en) | 2008-11-25 | 2015-09-22 | Intouch Technologies, Inc. | Server connectivity control for tele-presence robot |
US8849680B2 (en) | 2009-01-29 | 2014-09-30 | Intouch Technologies, Inc. | Documentation through a remote presence robot |
US8897920B2 (en) | 2009-04-17 | 2014-11-25 | Intouch Technologies, Inc. | Tele-presence robot system with software modularity, projector and laser pointer |
WO2010144813A1 (en) | 2009-06-11 | 2010-12-16 | Raytheon Sarcos, Llc | Method and system for deploying a surveillance network |
US11399153B2 (en) | 2009-08-26 | 2022-07-26 | Teladoc Health, Inc. | Portable telepresence apparatus |
US8384755B2 (en) | 2009-08-26 | 2013-02-26 | Intouch Technologies, Inc. | Portable remote presence robot |
DE102009054230A1 (de) * | 2009-11-23 | 2011-05-26 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern von Manipulatoren |
US11154981B2 (en) | 2010-02-04 | 2021-10-26 | Teladoc Health, Inc. | Robot user interface for telepresence robot system |
US8670017B2 (en) | 2010-03-04 | 2014-03-11 | Intouch Technologies, Inc. | Remote presence system including a cart that supports a robot face and an overhead camera |
US10343283B2 (en) | 2010-05-24 | 2019-07-09 | Intouch Technologies, Inc. | Telepresence robot system that can be accessed by a cellular phone |
US10808882B2 (en) | 2010-05-26 | 2020-10-20 | Intouch Technologies, Inc. | Tele-robotic system with a robot face placed on a chair |
US9144746B2 (en) * | 2010-08-20 | 2015-09-29 | Mattel, Inc. | Toy with locating feature |
US9264664B2 (en) | 2010-12-03 | 2016-02-16 | Intouch Technologies, Inc. | Systems and methods for dynamic bandwidth allocation |
US9090214B2 (en) | 2011-01-05 | 2015-07-28 | Orbotix, Inc. | Magnetically coupled accessory for a self-propelled device |
US9218316B2 (en) | 2011-01-05 | 2015-12-22 | Sphero, Inc. | Remotely controlling a self-propelled device in a virtualized environment |
US10281915B2 (en) | 2011-01-05 | 2019-05-07 | Sphero, Inc. | Multi-purposed self-propelled device |
US9114838B2 (en) | 2011-01-05 | 2015-08-25 | Sphero, Inc. | Self-propelled device for interpreting input from a controller device |
US9429940B2 (en) | 2011-01-05 | 2016-08-30 | Sphero, Inc. | Self propelled device with magnetic coupling |
US8718837B2 (en) | 2011-01-28 | 2014-05-06 | Intouch Technologies | Interfacing with a mobile telepresence robot |
US9323250B2 (en) | 2011-01-28 | 2016-04-26 | Intouch Technologies, Inc. | Time-dependent navigation of telepresence robots |
US20120244969A1 (en) | 2011-03-25 | 2012-09-27 | May Patents Ltd. | System and Method for a Motion Sensing Device |
US10769739B2 (en) | 2011-04-25 | 2020-09-08 | Intouch Technologies, Inc. | Systems and methods for management of information among medical providers and facilities |
US9098611B2 (en) | 2012-11-26 | 2015-08-04 | Intouch Technologies, Inc. | Enhanced video interaction for a user interface of a telepresence network |
US20140139616A1 (en) | 2012-01-27 | 2014-05-22 | Intouch Technologies, Inc. | Enhanced Diagnostics for a Telepresence Robot |
US8836751B2 (en) | 2011-11-08 | 2014-09-16 | Intouch Technologies, Inc. | Tele-presence system with a user interface that displays different communication links |
US8902278B2 (en) | 2012-04-11 | 2014-12-02 | Intouch Technologies, Inc. | Systems and methods for visualizing and managing telepresence devices in healthcare networks |
US9251313B2 (en) | 2012-04-11 | 2016-02-02 | Intouch Technologies, Inc. | Systems and methods for visualizing and managing telepresence devices in healthcare networks |
WO2013173389A1 (en) | 2012-05-14 | 2013-11-21 | Orbotix, Inc. | Operating a computing device by detecting rounded objects in an image |
US9292758B2 (en) | 2012-05-14 | 2016-03-22 | Sphero, Inc. | Augmentation of elements in data content |
US9827487B2 (en) | 2012-05-14 | 2017-11-28 | Sphero, Inc. | Interactive augmented reality using a self-propelled device |
US9361021B2 (en) | 2012-05-22 | 2016-06-07 | Irobot Corporation | Graphical user interfaces including touchpad driving interfaces for telemedicine devices |
EP2852475A4 (en) | 2012-05-22 | 2016-01-20 | Intouch Technologies Inc | SOCIAL BEHAVIOR OF A MEDICAL TELEPRESCENT ROBOT |
US10056791B2 (en) | 2012-07-13 | 2018-08-21 | Sphero, Inc. | Self-optimizing power transfer |
US20140038489A1 (en) * | 2012-08-06 | 2014-02-06 | BBY Solutions | Interactive plush toy |
US8655378B1 (en) * | 2012-10-30 | 2014-02-18 | Onasset Intelligence, Inc. | Method and apparatus for tracking a transported item while accommodating communication gaps |
CN103353758B (zh) * | 2013-08-05 | 2016-06-01 | 青岛海通机器人系统有限公司 | 一种室内机器人导航方法 |
WO2015078992A1 (en) | 2013-11-27 | 2015-06-04 | Engino.Net Ltd. | System and method for teaching programming of devices |
US9829882B2 (en) | 2013-12-20 | 2017-11-28 | Sphero, Inc. | Self-propelled device with center of mass drive system |
US10279470B2 (en) * | 2014-06-12 | 2019-05-07 | Play-i, Inc. | System and method for facilitating program sharing |
US9672756B2 (en) | 2014-06-12 | 2017-06-06 | Play-i, Inc. | System and method for toy visual programming |
US9498882B2 (en) | 2014-06-12 | 2016-11-22 | Play-i, Inc. | System and method for reinforcing programming education through robotic feedback |
USD777846S1 (en) | 2015-05-19 | 2017-01-31 | Play-i, Inc. | Connector accessory for toy robot |
DE102015221337A1 (de) | 2015-10-30 | 2017-05-04 | Keba Ag | Verfahren und Steuerungssystem zum Steuern der Bewegungen von Gelenkarmen eines Industrieroboters sowie dabei eingesetztes Bewegungsvorgabemittel |
US10010801B2 (en) * | 2016-03-31 | 2018-07-03 | Shenzhen Bell Creative Science and Education Co., Ltd. | Connection structures of modular assembly system |
US9914062B1 (en) | 2016-09-12 | 2018-03-13 | Laura Jiencke | Wirelessly communicative cuddly toy |
GB2560197A (en) * | 2017-03-03 | 2018-09-05 | Reach Robotics Ltd | Infrared sensor assembly and positioning system |
US11862302B2 (en) | 2017-04-24 | 2024-01-02 | Teladoc Health, Inc. | Automated transcription and documentation of tele-health encounters |
US10483007B2 (en) | 2017-07-25 | 2019-11-19 | Intouch Technologies, Inc. | Modular telehealth cart with thermal imaging and touch screen user interface |
US11636944B2 (en) | 2017-08-25 | 2023-04-25 | Teladoc Health, Inc. | Connectivity infrastructure for a telehealth platform |
CN110313933A (zh) * | 2018-03-30 | 2019-10-11 | 通用电气公司 | 超声设备及其用户交互单元的调节方法 |
US10617299B2 (en) | 2018-04-27 | 2020-04-14 | Intouch Technologies, Inc. | Telehealth cart that supports a removable tablet with seamless audio/video switching |
KR102252033B1 (ko) | 2018-09-06 | 2021-05-14 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
CN109807897B (zh) * | 2019-02-28 | 2021-08-10 | 深圳镁伽科技有限公司 | 运动控制方法和系统、控制设备及存储介质 |
DE102019207017B3 (de) * | 2019-05-15 | 2020-10-29 | Festo Se & Co. Kg | Eingabeeinrichtung, Verfahren zur Bereitstellung von Bewegungsbefehlen an einen Aktor und Aktorsystem |
CN111514593A (zh) * | 2020-03-27 | 2020-08-11 | 实丰文化创投(深圳)有限公司 | 一种玩具狗控制系统 |
CN111625003B (zh) * | 2020-06-03 | 2021-06-04 | 上海布鲁可积木科技有限公司 | 移动机器人玩具及其使用方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU642638B2 (en) * | 1989-12-11 | 1993-10-28 | Caterpillar Inc. | Integrated vehicle positioning and navigation system, apparatus and method |
IT1267730B1 (it) * | 1994-06-14 | 1997-02-07 | Zeltron Spa | Sistema di telecomando programmabile per un veicolo |
US5819008A (en) * | 1995-10-18 | 1998-10-06 | Rikagaku Kenkyusho | Mobile robot sensor system |
DE69627810D1 (de) * | 1996-02-23 | 2003-06-05 | Carlo Gavazzi Services Ag Stei | Schutzschaltung gegen elektromagnetisches Rauschen |
ATE322321T1 (de) * | 1999-01-28 | 2006-04-15 | Lego As | Ein ferngesteuertes spielzeug |
US6939192B1 (en) * | 1999-02-04 | 2005-09-06 | Interlego Ag | Programmable toy with communication means |
JP2002536088A (ja) * | 1999-02-04 | 2002-10-29 | レゴ エー/エス | ビジュアルプログラミングを伴うマイクロプロセッサ制御式の玩具の組立要素 |
JP2003205483A (ja) * | 2001-11-07 | 2003-07-22 | Sony Corp | ロボットシステム及びロボット装置の制御方法 |
-
2002
- 2002-05-24 WO PCT/DK2002/000349 patent/WO2002095517A1/en not_active Application Discontinuation
- 2002-05-24 EP EP02742837A patent/EP1390823A1/en not_active Withdrawn
- 2002-05-24 CA CA002448389A patent/CA2448389A1/en not_active Abandoned
- 2002-05-24 JP JP2002591925A patent/JP2004536634A/ja active Pending
- 2002-05-24 US US10/478,762 patent/US20040186623A1/en not_active Abandoned
- 2002-05-24 CN CNA028126440A patent/CN1529838A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010527294A (ja) * | 2007-05-08 | 2010-08-12 | レイセオン・サルコス・エルエルシー | ロボットクローラのための可変プリミティブマッピング |
US8392036B2 (en) | 2009-01-08 | 2013-03-05 | Raytheon Company | Point and go navigation system and method |
JP2012515899A (ja) * | 2009-01-27 | 2012-07-12 | エックスワイゼッド・インタラクティヴ・テクノロジーズ・インコーポレーテッド | 単一のデバイスおよび/または複数のデバイスの測距探知、配向決定、および/または測位のための方法および装置 |
US9024810B2 (en) | 2009-01-27 | 2015-05-05 | Xyz Interactive Technologies Inc. | Method and apparatus for ranging finding, orienting, and/or positioning of single and/or multiple devices |
KR101292807B1 (ko) * | 2011-06-30 | 2013-08-05 | 씨엔로봇(주) | 듀얼프로세서를 통해 효과적인 역할 분담이 가능한 지능로봇 메인 시스템 |
KR101323354B1 (ko) * | 2011-11-10 | 2013-10-29 | 주식회사 서희정보기술 | 터치스크린을 이용한 로봇 완구 제어 시스템 |
US8393422B1 (en) | 2012-05-25 | 2013-03-12 | Raytheon Company | Serpentine robotic crawler |
US9031698B2 (en) | 2012-10-31 | 2015-05-12 | Sarcos Lc | Serpentine robotic crawler |
US9409292B2 (en) | 2013-09-13 | 2016-08-09 | Sarcos Lc | Serpentine robotic crawler for performing dexterous operations |
US9566711B2 (en) | 2014-03-04 | 2017-02-14 | Sarcos Lc | Coordinated robotic control |
US10452157B2 (en) | 2014-10-07 | 2019-10-22 | Xyz Interactive Technologies Inc. | Device and method for orientation and positioning |
US10996768B2 (en) | 2014-10-07 | 2021-05-04 | Xyz Interactive Technologies Inc. | Device and method for orientation and positioning |
JP2019507930A (ja) * | 2015-11-24 | 2019-03-22 | エックス デベロップメント エルエルシー | 人間/ロボット統合環境のための安全システム |
US10773387B2 (en) | 2015-11-24 | 2020-09-15 | X Development Llc | Safety system for integrated human/robotic environments |
JP2020172022A (ja) * | 2015-11-24 | 2020-10-22 | エックス デベロップメント エルエルシー | 人間/ロボット統合環境のための安全システム |
US10946524B2 (en) | 2015-11-24 | 2021-03-16 | X Development Llc | Safety system for integrated human/robotic environments |
JP2021098269A (ja) * | 2015-11-24 | 2021-07-01 | エックス デベロップメント エルエルシー | 人間/ロボット統合環境のための安全システム |
JP7005801B2 (ja) | 2015-11-24 | 2022-01-24 | エックス デベロップメント エルエルシー | 人間/ロボット統合環境のための安全システム |
US11383382B2 (en) | 2015-11-24 | 2022-07-12 | Intrinsic Innovation Llc | Safety system for integrated human/robotic environments |
Also Published As
Publication number | Publication date |
---|---|
EP1390823A1 (en) | 2004-02-25 |
WO2002095517A1 (en) | 2002-11-28 |
US20040186623A1 (en) | 2004-09-23 |
CN1529838A (zh) | 2004-09-15 |
CA2448389A1 (en) | 2002-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004536634A (ja) | ロボット玩具プログラミング | |
JP7100086B2 (ja) | 機能構築要素を備える玩具構築システム | |
US20040236470A1 (en) | Position and communications system and method | |
US10881970B2 (en) | Game system | |
WO2017028571A1 (en) | An education system using connected toys | |
JP2003132373A (ja) | 仮想表示及びコンテンツ作成のための構成素子組立体 | |
CN107638689A (zh) | 获得用于控制游戏程序的运行的输入 | |
CN113382789B (zh) | 一种具有功能构造元件的玩具构造系统 | |
WO2010018486A1 (en) | Programmable device and programming method | |
US20030066050A1 (en) | Method and system for programming devices using finite state machine descriptions | |
JP2012239897A (ja) | 清掃ロボットの制御システムおよび制御方法 | |
WO2016156484A1 (en) | Tag reader and system comprising a tag reader | |
Koestler et al. | Mobile robot simulation with realistic error models | |
CN101766912A (zh) | 互动式电子宠物玩具及其操作方法 | |
JP2004298975A (ja) | ロボット装置、障害物探索方法 | |
US11599146B2 (en) | System, method, and apparatus for downloading content directly into a wearable device | |
US9927235B2 (en) | Interactive turret robot | |
TW592777B (en) | A toy robot, a system for controlling such a toy robot and a method of constructing such a toy robot | |
Bedi et al. | Home security surveillance system using multi–robot system | |
US11983714B2 (en) | System, method, and apparatus for downloading content directly into a wearable device | |
McCurry | Designing limited autonomous robotic systems |