(57)【特許請求の範囲】
【請求項１】
マイクロプロセッサ制御の玩具組立要素（１０１、５０１）であって、該マイクロプロセッサ制御の玩具組立要素（１０１、５０１）は、
マイクロプロセッサ（１０２、５０７）と、
サブプログラム（Ｒ１、Ｒ２、．．．、Ｒ６）のそれぞれが該マイクロプロセッサ（１０２、５０７）で実行されることで動作を実現する該サブプログラムと、該サブプログラムのそれぞれの組合せからなるサブプログラム呼出命令リストと、が予め格納されているメモリ（１１７、５０９）と、
ディスプレイ（１０４）と、前記サブプログラムのそれぞれの組合せからなるユーザ入力のサブプログラム呼出命令リストを新たに入力するキーボードと、を具備するユーザインターフェース（５０８）と、
起動手段により移動可能な組立要素と結合可能な結合手段と、
通信手段（５０４、５０５）とを備えるマイクロプロセッサ制御の玩具組立要素（１０１、５０１）であって、
該マイクロプロセッサ制御の玩具組立要素（１０１、５０１）は、他のマイクロプロセッサ制御の玩具組立要素（５０２）とサブプログラム呼出命令リストを交換可能であって、
前記他のマイクロプロセッサ制御の玩具組立要素（５０２）は、
他のマイクロプロセッサ（５１４）と、
サブプログラム（Ｒ１、Ｒ２、．．．、Ｒ６）のそれぞれが該他のマイクロプロセッサ（１０２、５１４）で実行されることで動作を実現する該サブプログラムが格納されている他のメモリ（１０２、５１６）と、
他の玩具組立要素と結合可能となっている他の結合手段と、
他の通信手段（５１１、５１２）とを備え、
該マイクロプロセッサ制御の玩具組立要素（１０１、５０１）の該マイクロプロセッサ（１０２、５０７）は、該サブプログラム（Ｒ１、Ｒ２、．．．、Ｒ６）、または該メモリ（１１７、５０９）中に予め保存されたサブプログラム呼出命令リスト若しくはユーザ入力のサブプログラム呼出命令リストを特定することにより、該起動手段を個々に制御することが可能であって、
該マイクロプロセッサ制御の玩具組立要素（１０１、５０１）の該通信手段（５０４、５０５）は、該メモリ（１１７、５０９）中に予め保存されたサブプログラム呼出命令リストまたはユーザ入力のサブプログラム呼出命令リストを、該他の通信手段（５１１、５１２）を介して他のマイクロプロセッサ（１０２、５１４）に送信することが可能であって、その結果、該他のマイクロプロセッサ（１０２、５１４）は、該通信手段（５０４、５０５）から送信された該サブプログラム呼出命令リストによって動作可能であることを特徴とする玩具組立要素。
【請求項２】
請求項１に記載の玩具組立要素において、該ディスプレイ（１０４）は、マイクロプロセッサ（１０２、５０７）への命令であるところの複数のアイコン（２０４、２０５、２０６、２０７、２０８）を表示でき、該マイクロプロセッサ（１０２、５０７）でのプログラミングのために、ユーザーが起動可能であることを特徴とする玩具組立要素。
【請求項３】
請求項２に記載の玩具組立要素において、該複数のアイコンの一に対応する命令で該サブプログラム（Ｒ１、Ｒ２、．．．、Ｒ６）の一が実行され、該玩具組立要素に連結されたセンサからの信号に応じて起動手段を制御することを特徴とする玩具組立要素。
【請求項４】
請求項１から３のいずれか一項に記載の玩具組立要素において、該通信手段（５０４、５０５）は該他のマイクロプロセッサでのプログラミングのための命令を無線受信するレシーバを具備することを特徴とする玩具組立要素。
【請求項５】
請求項１から３のいずれか一項に記載の玩具組立要素において、該通信手段（５０４、５０５）は赤外線信号を受信するレシーバを具備することを特徴とする玩具組立要素。
【請求項６】
請求項１から５のいずれか一項に記載の玩具組立要素において、該マイクロプロセッサへの命令を手動入力するためのキーボードを備えることを特徴とする玩具組立要素。
【請求項７】
請求項１から６のいずれか一項に記載の玩具組立要素において、該通信手段（５０４、５０５）は、命令を前記他の玩具組立要素（５０２）に無線伝送するための送信機を備えることを特徴とする玩具組立要素。
【請求項８】
請求項１から７のいずれか一項に記載の玩具組立要素において、該通信手段（５０４、５０５）は、前記サブプログラム呼出リストを伝送するための光ガイド（５０３）を具備した送信機を備えることを特徴とする玩具組立要素。
【請求項９】
請求項８に記載のマイクロプロセッサ制御の玩具組立要素において、該光ガイド（５０３）は、可視光を伝送可能であって、伝送される可視光部分がその側部から流出させるようになっていることを特徴とする玩具組立要素。
【請求項１０】
請求項１から９のいずれか一項に記載のマイクロプロセッサ制御の玩具組立要素（５０１）と、他のマイクロプロセッサ制御の玩具組立要素（５０２）とを備える組立玩具であって、
該他のマイクロプロセッサ制御の玩具組立要素（５０２）は、
他のマイクロプロセッサ（５１４）と、
サブプログラム（Ｒ１、Ｒ２、．．．、Ｒ６）のそれぞれが該他のマイクロプロセッサ（１０２、５１４）で実行されることで動作を実現する該サブプログラムが格納されている他のメモリ（１０２、５１６）と、
他の玩具組立要素と結合可能となっている他の結合手段と、
他の通信手段（５１１、５１２）とを備え、
該マイクロプロセッサ制御の玩具組立要素（１０１、５０１）の該マイクロプロセッサ（１０２、５０７）は、該サブプログラム（Ｒ１、Ｒ２、．．．、Ｒ６）、または該メモリ（１１７、５０９）中に予め保存されたサブプログラム呼出命令リスト若しくはユーザ入力のサブプログラム呼出命令リストを特定することにより、該起動手段を個々に制御することが可能であって、
該マイクロプロセッサ制御の玩具組立要素（１０１、５０１）の該通信手段（５０４、５０５）は、該メモリ（１１７、５０９）中に予め保存されたサブプログラム呼出命令リストまたはユーザ入力のサブプログラム呼出命令リストを、該他の通信手段（５１１、５１２）を介して他のマイクロプロセッサ（１０２、５１４）に送信することが可能であって、その結果、該他のマイクロプロセッサ（１０２、５１４）は、該通信手段（５０４、５０５）から送信された該サブプログラム呼出命令リストによって動作可能であることを特徴とする組立玩具。
【請求項１１】
請求項１０に記載の組立玩具であって、
前記他のマイクロプロセッサ制御の玩具組立要素（５０２）の前記他のメモリ（１０２、５１６）は、該通信手段（５０４、５０５）から送信された該サブプログラム呼出命令リストを格納可能であることを特徴とする組立玩具。
【発明の詳細な説明】
【０００１】
本発明は、メモリに格納されるプログラムの形式で命令を実行できるマイクロプロセッサと、組立要素と結合する結合手段とを備えるマイクロプロセッサ制御の玩具組立要素に関する。前記メモリは、サブプログラム呼出リストを指定することにより個々に起動可能なサブプログラムを備え、前記起動手段は命令に反応して制御可能である。
【０００２】
小型で、精巧かつ比較的廉価なマイクロプロセッサの開発に関連して、これらを玩具など多くの様々な消費者製品に使用することは魅力あるものになってきている。一般に玩具の開発は、人形が音を鳴らしたり、ロボットが単純なパターンの動きを行なうなどの簡単な機能から、精巧なパターンの動きと行動形式とを備えた玩具の開発へと進歩している。
【０００３】
このような玩具組立要素は、一部は組立要素をプログラムすることにより、一部は互いに結合された異なるタイプの玩具組立要素から成る構造体を組み立てることにより、いろいろな物理的動作を実行することができる。このため、構造体の作製についての、また構造体に様々な機能を与えるについての多くの組合せの可能性がある。物理的動作は無条件でよく、電気モータや光の放出、音響信号により制御される簡単な、あるいは複雑な動きを含む。物理的動作はまた、玩具とその環境との対話により条件づけることもできる。こうすれば玩具は物体との物理的接触や光、随時に音に反応するようにプログラムされ、このような対話に基づいてその行動を変えることができる。
【０００４】
このようなプログラマブル玩具は例えばＬＥＧＯ ＭＩＮＤＳＴＯＲＭＳの製品ＲＯＢＯＴＩＣＳ ＩＮＶＥＮＴＩＯＮ ＳＹＳＴＥＭにより周知であり、これはコンピュータによりプログラムされ、条件動作と同様に無条件動作も行える玩具である。
【０００５】
ＣＡ２，２２５，０６０は対話型玩具要素を記述している。ユーザーにより起動される第１の玩具要素は第２の玩具要素を起動し、第２の玩具要素は第１の玩具要素や第３の玩具要素を起動できる。玩具要素は作業を実行できる人形や、動物、車の形をとることができる。
【０００６】
ところがこの玩具の問題は、ユーザー定義プログラムをこのようなマイクロプロセッサ制御の玩具要素に転送するために、この玩具が外部のコンピュータを必要とすることである。従来技術においては先入観があり、プログラムと機械構造体との対話はエラーの可能性を伴うとして、玩具要素間のプログラムの交換は同一の玩具要素間だけにしか関与させていない。
【０００７】
組立玩具の分野の中で、構造体を組み立て、これを繰り返し変更することは一般に行われることである。これはゲームの肝要な部分であるから、特定の構造体に適応した新しいプログラムを起動するためには必要である。
【０００８】
したがって本発明の目的は、より柔軟なプログラミング機能を有するマイクロプロセッサ制御の玩具組立要素を提供することにある。
【０００９】
このことは、最初に言及したマイクロプロセッサ制御の玩具組立要素に通信手段を備えることで特徴づけ、通信手段が第２の玩具組立要素に前記機能呼出を伝送し、それのプログラムが実行されれば達成される。
【００１０】
これにより、第１のマイクロプロセッサ制御の玩具組立要素は、第２のマイクロプロセッサ制御の玩具組立要素に機能呼出リストを伝送できる。第２の玩具組立要素が第１の玩具組立要素により記憶されたサブプログラムを格納すると、２つの玩具組立要素間でプログラムを素早く交換できる。これにより、構造体の複数の標準的組立要素と複数の標準的プログラムステップとの機能性に基づく組立玩具の潜在能力が、有効な方法により利用可能となる。以下本発明の好ましい実施形態を図面を参照しながら記述する。
【００１１】
図１はプログラム可能な玩具要素のブロック図を示す。玩具要素１０１は玩具要素をプログラムする複数の電子手段を備え、各種電子センサ（例えば電気スイッチ）から受け取る信号に反応して電子装置（例えばモータ）に作用できる。
これにより、玩具要素が電子装置／センサと適当な方法で結合されれば、玩具要素に、例えば動作の制御された動きなど精巧な機能を実行させることができる。
【００１２】
玩具要素１０１は、通信バス１０３を介して複数の装置に連結されるマイクロプロセッサ１０２を備える。マイクロプロセッサ１０２は通信バス１０３を介して２つのＡ／Ｄ変換器、「Ａ／Ｄ入力＃１」１０５と「Ａ／Ｄ入力＃２」１０６、からデータを受け取ることができる。Ａ／Ｄ変換器は個別のマルチビット信号や簡単なバイナリー信号を受け取ることができる。さらに、Ａ／Ｄ変換器は例えばオーム抵抗など適正な値を検出ようにされている。
【００１３】
マイクロプロセッサ１０２は例えば電気モータ（図示せず）などの電子装置を１組の端子、「ＰＷＭ出力＃１」１０７と「ＰＷＭ出力＃２」１０８、を介して制御することができる。本発明の好ましい実施形態において、電子装置はパルス幅変調信号により制御される。
【００１４】
さらに、玩具要素は例えばラウドスピーカつまり圧電装置などの音響発生器１０９を制御することで音響信号つまり反復音を発することができる。
【００１５】
玩具要素は光源「ＶＬ出力」１１０を介して光信号を発することができる。これらの光信号は発光ダイオードにより放射できる。発光ダイオードは例えば、玩具要素と電子装置／センサとの様々な状態を表示するようにすることができる。さらに光信号は対応するタイプの他の玩具要素の通信信号として使用できる。光信号は例えば、光案内を介してデータを第２の玩具要素に転送するのに使用できる。
【００１６】
玩具要素は光検知器「ＶＬ入力」１１１を介して光信号を受け取ることができる。これらの光信号はとりわけ、玩具要素のある部屋の光の輝度を検知するのに用いることができる。光信号は光案内を介しても受け取られ、第２の玩具要素やパソコンからのデータを表示できる。このため同じ光検知器は光案内を介して通信する機能と、玩具要素がある部屋の光の輝度を検知する光センサとして働く機能を持つことができる。
【００１７】
好ましい実施形態において、「ＶＬ入力」１１１は光案内を介する通信か、玩具要素がある部屋の光の輝度の検知かのいずれかかを選択的に行うようにされる。
【００１８】
赤外線光検知器「ＩＲ入力／出力」１１２を介して、玩具要素は他の玩具要素にデータを転送したり、他の玩具要素あるいは例えばパソコンからデータを受け取ったりすることができる。
【００１９】
マイクロプロセッサ１０２は通信プロトコルを用いてデータを受け取ったり伝送したりする。データの伝送は特別なキーの組合せを起動することにより行われる。
【００２０】
ディスプレイ１０４とキーの「シフト」１１３、「実行」１１４、「選択」１１５、及び「スタート／中止」１１６とはユーザインターフェースを構成し、玩具要素の操作／プログラムを行う。好ましい実施形態においてディスプレイは、複数の特定のアイコンつまり記号を表示できるＬＣＤディスプレイである。ディスプレイ上の記号の外観は個々に制御でき、例えばアイコンは表示、非表示ができ、また点滅させることもできる。
【００２１】
キーを作用させることにより玩具要素はプログラム可能となり、同時にディスプレイが生成中のすなわち実行中のプログラムについてユーザーにフィードバックを与える。このことは以下により完全に記述する。ユーザインターフェースは制限された要素の数（つまり制限されたアイコンとキーの数）から構成されるので、玩具と遊びたい子供が早急に操作方法を覚えることが保証される。
【００２２】
玩具要素はまたＲＡＭやＲＯＭの形式のメモリー１１７を備える。メモリーは、マイクロプロセッサの基本的機能の制御を行うオペレーティングシステム「ＯＳ」１１８と、ユーザー指定のプログラムの実行を制御できるプログラム制御「ＰＳ」１１９と、マイクロプロセッサに対する複数の特定の命令から構成される複数のルール１２０と、特定のルールを利用するＲＡＭのプログラム１２１とを含む。
【００２３】
ルールは、機能呼出により呼出し可能なサブプログラムとして設計することができる。これをスクリプト処理とも言う。このためプログラム（例えばユーザー指定のプログラム）は機能呼出の組合せとして設計できる。プログラムを別のマイクロプロセッサ制御の玩具組立要素に伝送する際、プログラムを受け取る玩具組立要素がサブプログラムを記憶していれば、単に機能呼出だけを転送できる。プログラムの伝送はキーの組合せを起動することで、すなわちディスプレイ２０１上の特別なアイコンを起動することで開始できる。
【００２４】
好ましい実施形態において、玩具要素は複数の入力及び出力と、メモリーと、単一集積回路のマイクロプロセッサとを備えるいわゆるシングルチッププロセッサを基本としている。
【００２５】
好ましい実施形態において、玩具要素は連結されたモータの回転方向を表示できる発光ダイオードを備える。
【００２６】
図２は玩具要素のディスプレイを示す。ディスプレイ２０１は複数の指定アイコンを表示するようにされ、全部のアイコンが見えている状態で表示される。アイコンは水平及び垂直ビーム２０２、２０３によりその機能にしたがって複数のグループ２０４、２０５、２０６、２０７、２０８に分割される。
【００２７】
アイコンは例えば可能なパターンの車の動きを表示するように設計できる。車は例えば玩具要素を、１組の車輪を車のそれぞれ右側と左側とで駆動できる２つのモータと組み合わせることで構成できる。これにより車は前後、左右への動きが制御できる。さらに、車は衝突を検知する圧力感知スイッチと光感知センサとを備えることができる。
【００２８】
グループ２０４は直線的な前向きのパターンの動きと、前向きでジグザグパターンの動きと、円運動と、一定のパターンを繰り返す動きとに対するアイコンを含む。これらのパターンの動きはセンサの動作により条件づけられず、したがって無条件である。
【００２９】
グループ２０５は動きのパターンに対する第１のアイコンを含み、これは障害物が検知されると保存される。第２のアイコンは直線的な前向きのパターンの動きを表示し、前向きの動きは単に障害物の検知により修正される。第３のアイコンは動きのパターンの開始を条件づける。第４のアイコンは圧力センサが作動すると進行中の動きのパターンを中止する。このためグループ２０５のアイコンは圧力感知センサにより条件づけられる動きのパターンを表現する。
【００３０】
グループ２０６は、それぞれ光の最強輝度に向って移動する動きのパターンと、光の最弱輝度に向って移動する動きのパターンとを開始するためのアイコンを含む。光の輝度は光感知センサにより検知される。このためグループ２０６のアイコンは光感知センサにより条件づけられる動きのパターンを表現する。
【００３１】
グループ２０７は組み合せて表示できる３つの同一のアイコンを含み、言及した動きのパターンが実行される時定数を表示する。例えばジグザグパターンは、方向を変える前に経過すべき時間を段階的に変更することにより修正できる。時定数は例えば２秒、４秒、７秒とすることができる。
【００３２】
グループ２０８は複数の特別な効果を表現するアイコンを含む。これらの効果には例えば、言及した動きのパターンの任意な起動に自由に結合される各種音響や光の信号の放出がある。
【００３３】
本発明の玩具要素は他の組立要素と結合できる組立要素を含むため、複数の標準的要素を持つ構造体を組み立てることにより、アイコンで見ることができる機能を実現することが特に容易となる。
【００３４】
留意点はディスプレイがＬＣＤ型、ＬＥＤ型、あるいは別の型であっても構わないことである。さらにディスプレイは様々な形式のテキストメッセージを表示するようにすることができる。アイコンもテキストであってもよい。
【００３５】
図３ａは玩具要素のビジュアルプログラミングのための、状態機械の第１図を示したものである。状態機械はマイクロプロセッサ１０２により実行可能なプログラムとして実現される。状態機械がユーザー指定のプログラムを実行しない場合、玩具要素に電源が入れられると、キー「選択」の起動はフォーカスを次々にアイコングループに仕向ける。１つのアイコングループがフォーカスされていることは、グループ内の１つのアイコンやグループの全部のアイコンを点滅させることで表示できる。図示した状態機械は、３つの異なるアイコングループ間のフォーカスの切換えに対応する３つの状態３０１、３０２、３０３を含む。
【００３６】
状態機械はキーの「選択」あるいは「シフト」が起動されると、状態を変える。キー「選択」が起動されると、状態３０１、３０２、３０３の間で切換えが行われる。キー「シフト」が起動されると、状態機械は図３ｂに示す別組の状態に滞在する。
【００３７】
留意点は、ディスプレイ２０１の３つのアイコングループに対応するまさに３つの状態がこのプログラムに示されることである。これはダイアグラムを容易に理解するように選ばれたものである。実際は、ディスプレイ上のアイコングループの数に対応する状態数がなければならない。さらに、プログラムの伝送のための状態もなければならない。
【００３８】
図３ｂは玩具要素のビジュアルプログラミングのための、状態機械の第２図を示したものである。キーの「シフト」が起動されると、これらの状態を状態機械に仮定させる。あるアイコングループがフォーカスされていることが仮定される。「シフト」が起動されると、状態機械は状態３０４を仮定し、フォーカスされているグループの第１のアイコンが起動され、同じグループの他のアイコンは表示されない。キー「選択」が起動されると、状態機械は「ルール＃１」が選択される状態３０５を仮定する。「ルール＃１」はマイクロプロセッサに対する１組の命令に対応し、マイクロプロセッサはアイコン「アイコン＃１」で表示される動きのパターンを実行できる。それから状態機械は状態３０６を仮定し、フォーカスが現在のアイコングループから他のアイコングループへ移動してこのグループのアイコンの選択を行う。
【００３９】
また、状態３０４でキー「シフト」が選択されると状態機械は状態３０７を仮定して、「アイコン＃２」がディスプレイに表示され、同じグループの他のアイコンは表示されない。同様に状態３０４においても、状態３０７がアイコンに対応するルールを選択することは可能である。このことはキー「選択」を起動することで実行され、状態機械は状態３０６を仮定して、ルール「ルール＃２」の選択を行う。次いで、フォーカスは状態３０９において次のアイコングループへ移動する。
【００４０】
これに対応して、「アイコン＃３」は「シフト」の起動により状態３１０において表示できる。「ルール＃３」は「選択」の起動により選択でき、それに従いフォーカスが他のグループへ移動する。
【００４１】
状態３１０での「シフト」のさらなる起動により、グループの全てのアイコンが表示され、次にグループのアイコンが上述したように個々に表示される。
【００４２】
状態３０６、３０９、３１２において、キー「シフト」の起動により状態機械はそれぞれの状態３０２、３０３、３０１のうちの１つを仮定する。
【００４３】
留意点は１以上のグループにおけるルールを選択しないこともまた可能であることである。他の実施形態においては、さらに同じグループの幾つかのルールを選択することも可能である。
【００４４】
また留意点は、このプログラムが各グループにおけるまさに３つのアイコンによりディスプレイに対応することである。これはダイアグラムを容易に理解するように選ばれるものである。実際は、与えられたグループのアイコン数に対応する状態の数がなければならない。
【００４５】
一般にキー「実行」１１４の起動は、選択されたルールの数とは関わりなく状態機械にプログラムの実行状態を仮定させる。このためユーザーにプログラムが作動可能かどうか聞く必要はない。
【００４６】
幾つかのルールから成るユーザー指定プログラムのルールに変更するため、望ましいアイコングループにジャンプすることができる。
【００４７】
状態機械の選択された状態においては、指定されたプログラムを伝送することができる。
【００４８】
図３ｃは状態機械を中止するための第３のプログラムを示す。このプログラムは、状態３１４の状態機械が「中止」の起動によりマイクロプロセッサ／状態機械の存在する状態Ｔの表現をどのように記憶するかを示している。これにより突然中止されたプログラム進路をスクラッチから始める必要なく仮定することが可能となる。玩具要素は状態３１５において電源を切られる。
【００４９】
図３ｄは状態機械を開始するための第４の図を示す。このプログラムは、状態機械が「スタート」の起動によりどのように状態３１６の玩具要素に電源を入れるかを示している。この時、以前に記憶された状態表現Ｔは状態３１７において取り込まれる。状態３１８において状態Ｔを表現するアイコンが表示される。状態３１９においてグループ１のアイコンがフォーカスされ、状態機械は図３ａ、３ｂ、３ｃに関して述べたように作動可能となる。
【００５０】
図３ａ、３ｂ、３ｃ及び３ｄについて上述したことから明らかなように、ユーザーは簡単な方法で玩具要素をプログラムし、複雑な機能を備えたプログラムを実行できる。プログラムは多くの特定のルールを組み合せて生成される。
【００５１】
上述した状態機械は極めてコンパクトな方法で実現できる。これにより確実に、ユーザーとの簡単な対話に反応して、精巧かつユーザー指定の機能が実行可能となる。
【００５２】
ルールが選択された状態、つまり状態３０５、３０８、３１１において、プログラムシステム１１９は多数の動作を実行し、これによりマイクロプロセッサ１０２により実行可能なユーザー指定のプログラムが生成される。
【００５３】
ユーザー指定のプログラムは、メモリ１２１に、メモリ１２０に格納されたルールを参照する参照（すなわちポインタ）を格納することで生成できる。幾つかのルールが選択され同じユーザー指定のプログラムに含有されると、メモリ１２０のルール参照リストはメモリ１２１に格納される。このためユーザー指定のプログラムは１以上のルールを含むことができる。
【００５４】
また、ユーザー指定のプログラムは選択されたルールの各コピーをメモリ１２０内に作り、かつコピーをメモリ１２１に挿入することでプログラムすることができる。これによりメモリ１２１は完全なプログラムを含むことになる。さらに、ユーザー指定のプログラムは、ルールの参照とマイクロプロセッサ１０２への命令の組合せとして生成できる。
【００５５】
留意点は、各ルールは典型的に１組の命令を含み、これらをサブプログラムや機能、手続きとみなすことができることである。しかしルールはまたパラメタ、例えば連結されたモータの速度すなわち時定数を示すパラメタ、の変更も含むことができる。
【００５６】
本発明の適切な実施形態において、与えられた動作は、状態機械が第１の状態から第２の状態へ変る際に実行できる。動作は例えば音及び／または光での信号をユーザーに送ることを含み、玩具要素が仮定する状態つまり状態のタイプを示すことができる。
【００５７】
図４は並列及び順次のプログラムの実行を示す。ユーザー指定のプログラムが生成されると、ルールの順番に従って並列に、または順次と並列のプログラム実行の組み合せで、ルールを実行できる。
【００５８】
並列に次々と実行される２つのルールの例は、車が光を探索する第１のルールと、車が障害物を検知するとその方向を変える第２のルールがある。
【００５９】
順次に次々と実行される２つのルールの例は、車が直線的に前方へ動く第１のルールと、車が円運動で動く第２のルールがある。
【００６０】
ルールＲ１  ４０１、Ｒ２  ４０２、Ｒ３  ４０６、Ｒ４  ４０５、Ｒ５  ４０３、及びＲ６  ４０４は順次と並列のプログラム実行の組合せの例を提供する。
【００６１】
サブプログラムが並列に次々と、つまり各サブプログラムを時分割する形式で実行するようにルールが実行される際、幾つかのルールが例えばモータ形式の資源へのアクセスを望む状態を、処理することができなければならない。好ましい実施形態において、このような状態は選択可能なルールの各々に優先番号を割り当てることで処理される。例えば、ディスプレイ上の同じアイコングループ内のルールに同じ優先番号を与えることができる。２つのルールつまりサブプログラムの両方が時間期限内に資源へのアクセスを望んでいることをオペレーティングシステム１１８が検知すると、最低の優先番号を持つルールは中止つまりストップされる。この時最高の優先番号を持つルールは資源を使うことを許可される。同じアイコングループから１つのルールしか選択できない場合、上記の如くユーザー指定プログラムの一意的かつ予測可能な実行が達成される。
【００６２】
図５は第１と第２の玩具要素を示し、第１の玩具要素は第２の玩具要素にプログラムを転送することができる。第１の玩具要素５０１はマイクロプロセッサ５０７と、Ｉ／Ｏモジュール５１０と、メモリ５０９と、ユーザインターフェイス５０８とを備える。さらに玩具要素５０１は二方向通信装置５０６を備えて、赤外線送信機／レシーバ５０５を介する通信、あるいは可視光の放出と検知が可能な光源／光検知機５０４による通信を行う。
【００６３】
これに対応して、第２の玩具要素５０２はマイクロプロセッサ５１４と、Ｉ／Ｏモジュール５１５と、メモリ５１６とを備える。さらに玩具要素５０２は通信装置５１３を備えて、赤外線送信機／レシーバ５１２を介する通信、あるいは可視光の放出と検知が可能な光源／光検知機５１１による通信を行う。
【００６４】
本発明の好ましい実施形態において、第１の玩具要素はデータの伝送と受取りの両方が可能であるが、第２の玩具要素はデータの受取りのみ可能である。
【００６５】
データは光案内５０３を介して可視光として転送できる。また、データは赤外線５１７、５１８としても転送可能である。データは、マイクロプロセッサ５０７及び／または５１４により解釈できる特定の命令及び関連のパラメータを表示するコード形式でもよい。また、データはメモリ５１６に記憶されたサブプログラムつまりルールを参照するコード形式でもよい。
【００６６】
Ｉ／Ｏモジュール５１０、５１５は電子装置（例えばモータ）に連結され、これらを制御することができる。Ｉ／Ｏモジュール５１０、５１５はまた電子センサにも連結され、検出された信号に反応して電子装置を制御できる。
【００６７】
好ましい実施形態において、ファイバ５０３はファイバにより転送される可視光部分がファイバから漏れるようにされる。これによりユーザーが直接伝送を見ることが可能となる。ユーザーは例えば通信の開始時と中止時とを見ることができる。
【００６８】
ファイバを通る光は、データをファイバ中の光のレベルの変化として一定のデータ伝送回数により転送できる。データは、ユーザーが伝送中の個々の光のレベルの変化を（つまり相応しい低いデータ伝送回数で）、あるいは伝送が進行しているのを単に見ることにより（つまり相応しい高いデータ伝送回数で）観察できるように伝送することができる。
【００６９】
一般に、ファイバを通って伝送される光部分がファイバから漏れるのは望ましくない。しかし２つの玩具要素間の通信に関しては、通信を極めて直感的な方法で見ることができるから、これは望ましい効果である。
【００７０】
確実に光部分をファイバから流出させる方法は当業者には周知である。これは例えばファイバのシースに不純物を与えたり、ファイバに機械的切欠きすなわちパターンを作ることで実行できる。ファイバから流出する光部分はまた、光案内のシースの屈折率に対するコアの屈折率を制御することにより制御できる。
【００７１】
以下、プログラムが状態Ｒ＝Ｐである時、玩具要素５０２においてこれがいかに受け取られるかを述べる。
【００７２】
図６はプログラムステップを格納するためのフローチャートを示す。フローチャートは、ユーザーが外部の装置、例えば上述した第２の玩具要素、あるいはパソコンから転送された自分のルールを格納できる方法を示している。実施形態において、玩具要素に記憶されたルールの参照のみ転送される。これは玩具要素間の通信のための必要な帯域幅を減少させる。ステップ６０２において、外部装置からダウンロード信号を受け取ったかどうかがチェックされる。事実であれば、ステップ６０３においてダウンロード信号が有効かどうかがチェックされる。信号が有効でない（ｎｏ）場合、ステップ６０４においてエラーを表示する音が鳴らされる。信号が有効（ｙｅｓ）であれば、信号がすぐに実行されるべきコマンド（実行）として解釈されるか、あるいは信号が次の実行を期待して記憶されるべきコマンド（保存）として解釈されるかがチェックされる。コマンドがすぐに実行される場合、ステップ６０６において実行され、プログラムはステップ６０２に戻る。コマンドが記憶される場合は、ステップ６０７において認識音が鳴らされ、コマンドはステップ６０８において記憶装置６０９にプログラムステップとして記憶される。
【００７３】
すぐに実行されるコマンドの例は、記憶装置６０９のコマンドの実行がある。他の実施形態において、既存のルールの組合せを作ることで外部装置を使用せずにユーザー自身のルールを作ることができる。
【００７４】
以下に多くのルールを基本とするプログラムＲ１−Ｒ７の可能な機能の例を示す（ルール１、ルール２、ルール３、ルール４、ルール５、ルール６、及びルール７）。
ルール１：
１）１秒の休止。
２）連続音（スタート音）を鳴らす。
３）０．５秒の休止。
４）連続音（後方音）を鳴らす。
５）モータが５秒間後ろへ走る。
６）モータが止る。
７）項目３―６を２回繰り返す（全部で３回）。
８）ルールを止める。
ルール２：
９）１秒の休止。
１０）連続音（スタート音）を鳴らす。
１１）０．５秒の休止。
１２）連続音（後方音）を鳴らす。
１３）モータが５秒間後ろへ走る。
１４）モータが止る。
１５）０．５秒の休止。
１６）連続音（前方音）を鳴らす。
１７）モータが５秒間前へ走る。
１８）モータが止る。
１９）項目３―１０を２回繰り返す（全部で３回）。
２０）ルールを止める。
ルール３：
１）１秒の休止。
２）連続音（調整音）を鳴らす。
３）連続音（スタート音）を鳴らす。
４）連続音（後方音）を鳴らす。
５）モータが最大７秒間後ろへ走る。
６）７秒経過以前に（項目５）光を検知したら：
−モータが止る。
−前方連続音を鳴らす。
−モータが光を感知する限り前方へ走る。
光が消えたら：
ｉ．モータが０．５秒後に止る。
ｉｉ．光が２秒以内に復活すれば、モータは再びスタートする。
ｉｉｉ．光が２秒間消えたら、モータは電源を切られたままになる。
７）光を７秒以内に検知する限り、光なしの３つの試みを行うまで項目４―６を繰り返す。
８）モータが止る。
９）ルールが止る。
【００７５】
ユーザーの体験の例：モデルが後方に動く際モデルは向きを変え、前方に動く際は直線的に前へ進むするようにモデルを組み立てる。したがってルールは、ユーザーがモデルに光を投げる際サーチライト機能を与え、モデルはユーザーに向って前進する。
【００７６】
図７は、命令の選択に反応して１組のプログラムステップからプログラムステップのサブセットを選択するためのプログラムを示す。命令の選択は例えば、スイッチ１１１を操作することで行うことができる。フローチャートはステップ７００からスタートする。次いでプログラムステップのサブセットが選択される。プログラムステップのサブセットもルールと言う。７０１において、メモリ１１０に格納されたルールベースプログラム形式の所定のルールＲ１−Ｒ７の集合体からルールＲを選択する。ステップ７０２において選択されたルールがＲ＝Ｒ１であるがどうかが決まる。事実であれば（ｙｅｓ）、ルールベースプログラムＲ１がステップ７０３において実行される。他の場合（ｎｏ）、ルールＲ＝Ｒ２が選択されたかどうかがチェックされる。これに応じてステップ７０４、７０６、７０８において、選択されたルールがルール２あるいは３、７であるかがチェックされ、個々のルールベースプログラムがステップ７０５あるいは７０７、７０９において実行される。このようにすることにより幾つかの所定のルールのうちの１つを選択することが可能となる。これらのルールは例えば、玩具要素の製造業者により定めることができる。
【００７７】
上述したように、所定のルールを組み合せることでユーザー定義のルールを記憶することが可能となる。
【００７８】
図８は周知の玩具組立要素と一緒に結合された、本発明のマイクロプロセッサ制御の玩具要素を備える玩具構造体を示す。マイクロプロセッサ制御の玩具要素８０１は、組立要素と２つのモータ（図示せず）とからなる構造体８０５の上に結合される。モータは車の各側部で車輪を駆動する。玩具構造体の一側部に車の車輪８０２のみ見える。車輪は軸８０４により駆動され、軸は大歯車８０３を介してモータに連結される。モータはワイヤ８１５により玩具組立要素８１０に電気接続される。
【００７９】
さらに玩具構造体は軸受８０７の中を回転する２つの可動アーム８０６を備えるため、回転する際アームをして１組のスイッチ８０８に作用させることができる。スイッチ８０８はワイヤ８０９を介して玩具組立要素８１０と電気接続される。
【００８０】
玩具要素はキー８１３を介して動作できる。ディスプレイ８１２は図２に関して記述したように情報を表示できる。玩具要素８０１は１組の電気接触面８１０、８１１を有し、ワイヤ８０９、８１５はこれらに接続され、それぞれ信号を受け取りかつ信号を放出する。
【００８１】
玩具要素８０１の適切なプログラミングにより、アーム６０８に作用する障害物を車に駆逐させることができる。
【図面の簡単な説明】
【図１】  プログラマブル玩具要素のブロック図である。
【図２】  玩具要素のディスプレイを示した図である。
【図３ａ】  玩具要素のビジュアルプログラミングを示した状態機械の第１の図である。
【図３ｂ】  玩具要素のビジュアルプログラミングを示した状態機械の第２の図である。
【図３ｃ】  状態機械の中止を示した第３の図である。
【図３ｄ】  状態機械の開始を示した第４の図である。
【図４】  プログラムの並列かつ順次実行を示した図である。
【図５】  第１の玩具要素が第２の玩具要素へデータを転送できる、第１と第２の玩具要素を示した図である。
【図６】  プログラムステップを格納するためのフローチャートを示した図である。
【図７】  命令の選択に反応して１組のプログラムステップからプログラムステップのサブセットを選択するための、プログラムのフローチャートを示した図である。
【図８】  周知の玩具組立要素と一緒に結合された、本発明によるマイクロプロセッサ制御の玩具要素を備える玩具構造体を示した図である。
【符号の説明】
８０１  マイクロプロセッサ制御の玩具組立要素
８０２  車輪
８０３  大歯車
８０４  軸
８０５  組立構造体
８０６  可動アーム
８０７  軸受
８０８  スイッチ
８０９、８１５  ワイヤ
８１０  電気接触面
８１２  ディスプレイ
８１３  キー
【図１】
0004754695.tif 000002
【図２】
0004754695.tif 000003
【図３ａ】
0004754695.tif 000004
【図３ｂ】
0004754695.tif 000005
【図３ｃ】
0004754695.tif 000006
【図３ｄ】
0004754695.tif 000007
【図４】
0004754695.tif 000008
【図５】
0004754695.tif 000009
【図６】
0004754695.tif 000010
【図７】
0004754695.tif 000011
【図８】
0004754695.tif 000012