[発明の実施の形態1]
この発明の実施の形態1について、図1~図15を用いて説明する。
図1は、この実施の形態1に係る学習玩具100の全体構成を概略的に示す図である。図1に示したように、学習玩具100は、「移動体」としての1台の移動ロボット110と、複数枚のコマンド・パネル121と、「携帯型情報処理端末」であるタブレットコンピュータ130とで構成されている。また、複数のコマンド・パネル121が連続して配置され、移動路120が形成されている。これらのコマンド・パネル121には、移動ロボット110の動作の命令である異なるコマンド情報が記録されている。学習者は、移動ロボット110にさせたい動作に応じて、複数のコマンド・パネル121を順次並べて、任意の移動路120を形成する。移動ロボット110は、これらのコマンド・パネル121の上を自走しながら、コマンド・パネル121に記録されているコマンド情報を読み取り、コマンド情報に応じた様々な動作を行う。
図2(a)及び(b)は、移動ロボット110の外観の概要を示す図である。この移動ロボット110は、本体部211と、底面部212とを有し、本体部211と底面部212とは、着脱できる構造になっている。本体部211には、周囲に渦巻き状に発光部220が形成されている。また、正面の2個の円形部221は、顔の目を模したデザインとして設けられている。底面部212には、移動ロボット110が自走するための「移動手段」である移動機構230と、コマンド・パネル121のコマンド情報を読み取る「読取手段」である光学読取モジュール240が設けられている。
本体部211は、例えば樹脂等の安全性が高い材料で形成することが望ましく、球形部213と円錐形状部214とを組み合わせて形成されている。但し、この本体部211の形状や寸法等は、任意である。
発光部220は、例えば透明の樹脂等の安全性が高い材料で形成される。本体部211内には、移動ロボット110を発光させる「移動体側発光手段」であるRGB光源503(例えばLEDを用いたもの、図1及び図2では示さず)が設けられている。RGB光源503が発光することで、この発光部220が発光して見えるように構成されている。RGB光源503は、赤、緑、及び青のLEDで構成され、RGB光源503の赤、緑、及び青の発光の組合せによって、移動ロボット110の発光部220を任意の色に発光させることができる。この実施の形態1では、発光部220の形状を図2(a)に示したように渦巻き状としたが、この発光部220の形状は任意である。
底面部212は、例えば樹脂等の安全性が高い材料で形成することが望ましく、下側に突出する凸面を有している。但し、底面部212の形状等は任意である。図3には、本体部211から底面部212を取り外した状態で、底面部212に配置された移動機構230を示している。図3は斜め下方から見た斜視図を示している。
移動機構230は、この移動ロボット110を移動・回転等させるための機構である。この移動機構230は、図2及び図3に示したように、一対の回転脚231と、一対の補助ボール232とを備えている。
一対の回転脚231は、底面部212の外縁付近から、外側に傾斜した状態で、突出して配置されている。これら回転脚231は、底面部212の中心を挟んで、対称な位置に配置されている。これら回転脚231は、先端に形成された球面で、床面に接する。また、これら回転脚231は、本体部211内に配置された、一対のモータ401(図4参照)の駆動軸(図示せず)にそれぞれ連結されており、これらの駆動軸によって回転駆動される。
一対の補助ボール232は、底面部212の外縁付近に、この底面部212から突出した状態で、回転自在に設けられている。すなわち、これら補助ボール232は、底面部212の上側に設けられた保持部材(図示せず)で保持されているにすぎず、駆動力を有さない。また、補助ボール232は、本体部211の内部に確実に保持されるようになっている。補助ボール232が、底面部212の孔径から外側に絶対に飛び出さない安全対策がされているため、万が一にも、補助ボール232が、脱落することはなく、学習者は安心して学習をすることができる。また、これら補助ボール232は、平面視で回転脚231からそれぞれ略90゜の位置に配置されると共に(図2(b)参照)、これら回転脚231と同時に床面に接するような高さに配置されている(図2(a)参照)。
回転脚231及び補助ボール232を、このように配置することで、移動ロボット110の本体部211が傾くこと無しに安定した状態で床面に置くことができると共に、移動ロボット110の移動・回転等の動作をスムーズに行うことができる。但し、移動機構230の具体的構造は任意であり、前進や回転等の動作を行うことができるものであればよい。
移動ロボット110は、一対の回転脚231の回転制御をそれぞれ個別に行うことで、直進、回転、右折、左折等を行うことができる。例えば、移動ロボット110を直進させたい場合は、一対の回転脚231を同じ回転速度で同じ方向に回転させればよい。一方、移動ロボット110を、移動することなくその場で回転させたい場合には、一対の回転脚231を、同じ回転速度で逆方向に回転させればよい。また、一対の回転脚231を全て停止させれば、動いている移動ロボット110は停止する。
移動ロボット110は、コマンド・パネル121の上に乗った状態で、コマンド・パネル121に記録されたコマンド情報を読み取り、読み取ったコマンド情報に基づいて所望の動作をする。
移動ロボット110の光学読取モジュール240は、図2及び図3に示したように、底面部212の中心位置部分に下向きに取り付けられており、真下にあるコマンド・パネル121を読み取ることができるようになっている。
光学読取モジュール240は、二次元のドットパターンを使用した方式(特許第3829143号、特許第4054339号)を用いてコマンド・パネル121に記録されたコマンド情報を光学的に読み取ることができる構成になっている。
コマンド・パネル121表面には、コマンド情報と一対一に対応する二次元のドットパターンが印刷されており、この光学読取モジュール240に内蔵されている二次元配列の光センサが光学的にこのドットパターンの画像を検出できるようになっている。読み取られる二次元のドットパターンからは、コマンド情報が検出できるだけでなく、コマンド・パネル121の向きも検出できる。このため、コマンド・パネル121に対して、移動ロボット110がどの方向を向いているかを識別できるようになっている。また、二次元のドットパターンは、小さく目立ちにくいように印刷されている。
二次元のドットパターンを使用したこの方式は、十分に大きい容量のデータをコマンド・パネル121に記録することができ、また、二次元のドットパターンが視覚的に認識し難い状態で付加できるため、光学読取モジュール240がコマンド・パネル121を読み取る方法として好適である。
なお、コマンド・パネル121にコマンド情報を付加する方法は、特に限定されない。例えば、バーコードや二次元コード等を光学的に読み取る方法であっても良いし、情報を磁気的に記録する方法であっても良いし、IC(Integrated Circuit)チップ等を用いる方法であってもよいし、他の方法であってもよい。また、コマンド情報は、コマンド・パネル121の表面に印刷等で付加してもよいし、コマンド・パネル121の内部や裏面に付加してもよい。すなわち、そのコマンド・パネル121上に移動ロボット110が位置しているときに、その移動ロボット110がコマンド情報を読み取れさえすれば、どのような方法であってもよい。
移動ロボット110の本体部211には、図4に示したような移動ロボット側制御回路500が配置されている。
この移動ロボット側制御回路500は、読み取られるコマンド情報をタブレットコンピュータ130との間で通信する「移動体側通信手段」である移動ロボット側Bluetooth(登録商標)モジュール510と、「動作パラメータ記憶手段」である動作パラメータ用ROM(Read Only Memory)511と、移動ロボット110に動作をさせる「移動体側制御手段」である移動ロボット側制御部501とを有している。さらに、この移動ロボット側制御回路500には、RGB光源503と、この移動ロボット110から音声を発生させる「移動体側音声発生手段」である移動ロボット側スピーカ508とが含まれている。また、移動ロボット110の機能は、これらに限定されず、他の機能を追加してもよい。
移動ロボット側Bluetooth(登録商標)モジュール510は、Bluetooth(登録商標)通信機能を有するタブレットコンピュータ130との間で無線通信により、データの送受信を可能にするモジュールである。なお、移動ロボット110とタブレットコンピュータ130の間の通信を可能するものであれば、Bluetooth(登録商標)に限らず、Wi-Fi(登録商標)などのその他の無線通信方式により構成してもよい。また、移動ロボット110とタブレットコンピュータ130の間を有線で接続し通信する構成でもよい。
動作パラメータ用ROM511には、フラッシュメモリが用いられている。フラッシュメモリは、電気的にデータを書き換えることができ、電源を切ってもそのデータが保存される不揮発性メモリである。なお、不揮発性メモリであれば、EEPROM(Electrically Erasable Programmable Read-Only Memory)などのその他の種類のメモリが使用できる。なお、フラッシュメモリは、フラッシュROM(Flash ROM)とも呼ばれている。動作パラメータ用ROM511には、コマンド情報に基づく移動ロボット110の動作の内容を決定する「移動体動作パラメータ」である移動ロボット動作パラメータ600が記憶されている。
移動ロボット動作パラメータ600は、図5(a)に示したように、例えば10個のパラメータが連続して配列する構造をしている。1個のパラメータには、1バイト(8ビット)で表すことができる0から255までの数値を記憶させることができる。もちろん移動ロボット動作パラメータ600の記憶領域の構造は、その他の構造であってよい。移動ロボット動作パラメータ600は、各々のコマンド情報について一対一に対応するように複数存在し、コマンド情報ごとに、動作パラメータ用ROM511にアドレスを区切りメモリ領域が確保されている。また、動作パラメータ用ROM511の任意のアドレスのパラメータは、書き込みと読み出しがができ、書き込まれたパラメータは、電源を切っても、保存されている。なお、移動ロボット動作パラメータ600についての詳細は、後述する。
また、動作パラメータ用ROM511は、後述する移動ロボット側制御部用ROM(フラッシュメモリ)521によって、その機能を実現させてもよい。
移動ロボット側制御部501には、図4に示したように、RGB光源駆動部502、電源スイッチ504、光学読取モジュール240、モータコントローラ506、移動ロボット側音声再生部507、移動ロボット側Bluetooth(登録商標)モジュールI/F部509が接続されている。
移動ロボット側制御部501は、接続されている電子要素を制御するプログラムに従って処理を行う移動ロボット側CPU(Central Processing Unit)520と、移動ロボット側CPU520を動作させるためのプログラムやデータを保持している移動ロボット側制御部用ROM(フラッシュメモリ)521と、移動ロボット側CPU520の動作に必要なデータを一時的に保持する移動ロボット側制御部用RAM(Random Access Memory)522などから構成されている。移動ロボット側制御部用ROM(フラッシュメモリ)521としてフラッシュメモリ、移動ロボット側制御部用RAM522としてSRAM(Static Random Access Memory)が用いられているが、その他の種類のメモリであってよい。
移動ロボット側制御部501は、光学読取モジュール240から受け取ったコマンド情報に基づいてRGB光源駆動部502、モータコントローラ506、移動ロボット側音声再生部507、移動ロボット側Bluetooth(登録商標)モジュールI/F部509を制御することにより、移動ロボット110に動作を実行させる。
RGB光源駆動部502は、移動ロボット側制御部501の制御に基づいて、RGB光源503の赤、緑、及び青の各LEDに印加される電圧をパルス幅変調により連続する矩形波形状に変化させて、点滅発光させる発光時間を変化させることで、赤、緑、及び青の発光の強さを調整して、RGB光源503の発光の色を変化させることができる。ただし、RGB光源503の赤、緑、及び青の各LEDの発光は、印加される電圧の大きさを制御することにより発光の強さを調整してもよい。また、RGB光源駆動部502は、RGB光源503に流れる電流を供給する。RGB光源503は、上述したように、移動ロボット側制御部501の制御に基づいて、移動ロボット110の発光部220を所定の色に発光させる。
電源スイッチ504は、移動ロボット110の電源をオン/オフするためのスイッチであるが、必須では無い。この電源スイッチ504は、移動ロボット110の本体部211或いは底面部212の、目立たない場所に配置することが望ましい。
光学読取モジュール240は、この光学読取モジュール240が読み取った光学情報から、コマンド情報及び移動ロボット110のコマンド・パネル121に対する方向を検出して、移動ロボット側制御部501へ送る。
モータコントローラ506は、移動ロボット側制御部501の制御に基づいて、一対のモータ401を駆動する。上述のように、これらモータ401の回転速度や回転方向は、対応するコマンド・パネル121のコマンド情報に応じて、個別に決定される。
移動ロボット側音声再生部507は、移動ロボット側制御部501の制御に基づいて、移動ロボット側スピーカ508に音声を再生させる。移動ロボット側スピーカ508が再生する音声の種類や音階等は、対応するコマンド・パネル121のコマンド情報に応じて決定される。
移動ロボット側Bluetooth(登録商標)モジュールI/F部509は、移動ロボット側制御部501と移動ロボット側Bluetooth(登録商標)モジュール510の間のインターフェイスをする機能を発揮する。移動ロボット側制御部501は、移動ロボット側Bluetooth(登録商標)モジュールI/F部509を介することで、無線通信のハードウェアやプロトコルを特に意識することなく、タブレットコンピュータ130の通信を行うことができる。
本体部211には、このような移動ロボット側制御回路500の他、バッテリ(図示せず)等も収容されている。バッテリの種類は限定されず、例えば乾電池でもよいし、充電池等でもよい。
なお、図4には示さなかったが、移動ロボット側制御回路500に加速度センサや音声録音用マイク等を接続して、より複雑な動作を移動ロボット110に実行させることができるようにしてもよい。
図6は、タブレットコンピュータ130の概略図である。タブレットコンピュータ130の表面には、「端末側表示手段」である液晶画面と学習者が入力をすることができる「端末側入力手段」であるタッチパネルが一体化したタッチパネル付き液晶画面701が設けられている。学習者は、タッチパネル付き液晶画面701に表示される画像を見ることができ、指でタッチパネル付き液晶画面701に接触することで、タブレットコンピュータ130に入力することができる。なお、移動ロボット110と通信できる機能を有し、画像が表示でき、音声が発生できる機能を備えていれば、タブレットコンピュータ130に限らず、スマートフォンや携帯情報端末(PDA)などであってもよいし、パーソナルコンピュータなどであってもよい。また、タブレットコンピュータ130は、専用品として開発製造をしてもよいし、一般に流通し容易に入手できるものを使用してもよい。また、表示部は液晶ディスプレイ以外にも、有機ELディスプレイ等のその他のデバイスを使用してもよい。
図6に示したように、タブレットコンピュータ130の周囲は、ゴム製のガード702に覆われており、タブレットコンピュータ130が落下しても壊れにくい構造になっている。また、タブレットコンピュータ130のガード702の両端中央部にはグリップ部703が形成されており、子供でも扱いやすい構造になっている。さらに、タブレットコンピュータ130の表面の左下部には、デザイン表示部704が設けられ、イヌ、ライオン、ニワトリ、ゾウ、ネコの動物の絵が印刷され、子供が親しみやすい表示がされている。
図7には、タブレットコンピュータ130に内蔵されているタブレット側制御回路800のブロック図が示されている。
このタブレット側制御回路800は、「第一の端末側通信手段」であるタブレット側Bluetooth(登録商標)通信部802と、タッチパネル付き液晶画面701と、このタッチパネル付き液晶画面701を制御するタッチパネル付き液晶画面コントローラ803と、「端末側音声発生手段」であるタブレット側スピーカ805と、このタブレット側スピーカ805から音声を発生させるタブレット側音声再生部804とを有する。
また、タブレット側制御回路800は、タッチパネル付き液晶画面701に画像を表示させたり、タブレット側スピーカ805から音声を発生させたりする「端末側制御手段」であるタブレット側制御部801を有する。
さらに、タブレット側制御回路800は、タッチパネル付き液晶画面701及びタブレット側スピーカ805から再生される画像や音声を保存しているデータの「画像音声再生データ保持手段」である画像音声再生データ用メモリ806を有する。
またさらに、タブレット側制御回路800は、移動ロボット110の画像を撮影できる「撮像手段」である二次元CMOS(Complementary Metal-Oxide Semiconductor)エリアセンサ808と、この二次元CMOSエリアセンサ808を作動させて撮像された画像データを読み出すことができる二次元エリアセンサ駆動部807とを有する。
さらにまた、タブレット側制御回路800は、移動ロボット110から送信され、タブレットコンピュータ130に受信される複数のコマンド情報を記憶する「第一の端末側記憶手段」であるタブレット側コマンド情報用RAM809を有する。
また、タブレット側制御回路800は、学習者がタッチパネル付き液晶画面701に入力する複数の仮想パネル122の種類や入力位置や入力方向を記憶する「第二の端末側記憶手段」である仮想パネル用RAM810を有する。
ここで、仮想パネル122とは、学習者がタッチパネル付き液晶画面701に入力できる仮想的なパネルのことである。コマンド・パネル121やコマンド・シート125に記録されているコマンド情報の代わりに、タッチパネル付き液晶画面701に移動ロボット110の動作の命令である動作指示情報を入力することにより、移動ロボット110に所望の動作をさせることができる。学習者が動作指示情報を認識できるように、タッチパネル付き液晶画面701には、コマンド・パネル121の表面に印刷されている絵柄と同様の絵柄の画像を表示させるようになっており、学習者はこの絵柄の画像を目印として動作指示情報を認識して入力できるようになっている。このコマンド・パネル121と同様の絵柄が表示される画像のことを仮想パネル122という。仮想パネル122は、動作指示情報と一対一の対応関係があり、仮想パネル122を設定することにより、動作指示情報を入力したことと同様の効果が生じる。また、コマンド情報と動作指示情報は、どちらも移動ロボット110の動作の命令であり、コマンド・パネル121と仮想パネル122の絵柄が同一であれば、移動ロボット110の動作の命令も同一のものになっている。すなわち、絵柄が同一であれば、移動ロボット110は同一の動作を行うようになっている。コマンド情報と動作指示情報と呼び名を変えているのは、コマンド情報はコマンド・パネル121やコマンド・シート125に記録されている情報であり、コマンド・パネル121やコマンド・シート125から移動ロボット110に読み取られる情報であるのに対して、動作指示情報は、タッチパネル付き液晶画面701に入力される仮想パネル122と一対一の対応関係を有する情報であり、タブレットコンピュータ130から移動ロボット110に向けて送信されるという経路の相違がある。この相違を明確にするために、コマンド情報と動作指示情報の呼び名を変えている。
また、仮想パネル122の入力方向が決まれば、入力される仮想パネル122の向きを基準にして、移動ロボット110の進行方向が決定されるようになっている。このため、学習者は、仮想パネル122の入力方向を選択することにより、移動ロボット110を進行させたい方向に、指定して進行させることができるようになっている。
なお、仮想パネル122に対応づけられている動作指示情報は同一であるが、前後方向および左右方向の4方向のうち、それぞれ一方向を指し示す4種類の仮想パネル122を用意してもよい。こうすることにより、学習者は、仮想パネル122の種類と仮想パネル122の入力位置を選択することで、移動ロボット110を所望の進行方向に進行させることができるようになる。この場合には、仮想パネル122の入力方向を選択する必要はなくなる。
さらに、タブレット側制御回路800は、複数のタブレットコンピュータ130の間で通信を可能にする「第二の端末側通信手段」であるWi-Fi通信部811を有する。
図7に示したように、タブレット側制御部801には、タブレット側Bluetooth(登録商標)通信部802と、タッチパネル付き液晶画面コントローラ803と、タブレット側音声再生部804と、画像音声再生データ用メモリ806と、二次元エリアセンサ駆動部807と、タブレット側コマンド情報用RAM809と、仮想パネル用RAM810と、Wi-Fi通信部811が接続され、これらを制御することで、タブレットコンピュータ130に所望の動作を実行させる。
タブレット側制御部801は、接続されている電子要素を制御するプログラムに従って処理を行うタブレット側CPU820と、タブレット側CPU820を動作させるためのプログラムやデータを保持しているタブレット側制御部用ROM(フラッシュメモリ)821と、タブレット側CPU820の動作に必要なデータを一時的に保持するタブレット側制御部用RAM822などから構成されている。タブレット側制御部用ROM(フラッシュメモリ)821としてフラッシュメモリ、タブレット側制御部用RAM822としてSRAM及びDRAM(Dynamic Random Access Memory)が用いられている。なお、タブレット側制御部用ROM(フラッシュメモリ)821に使用されるメモリはEEPROMやハードディスクなどその他の種類でもよいし、また、タブレット側制御部用RAM822に使用されるメモリもその他の種類であってもよい。
タブレット側Bluetooth(登録商標)通信部802は、タブレット側制御部801の制御に基づいて、タブレットコンピュータ130と移動ロボット110の間で通信し、データの送受信ができるようになっている。
図8(a)は、タブレットコンピュータ130と移動ロボット110との間で送受信される通信のデータ構造の一例を示している。図8(a)は、例えば、1バイト(8ビット)の領域が連続して13個分配列したデータ構造になっている。図8(a)に示したように最初の領域には、データの種類を示すタグの情報が格納されている。例えば、この領域にコマンド情報を示す数値を格納することで、この通信データがコマンド情報を保持していることが認識できる。2番目の領域には、データの内容を示す情報が格納されている。例えば、この領域にそれぞれのコマンド情報の内容を識別できるように各コマンド情報に一対一に対応する数値が格納されている。3番目から12番目の領域は、任意の内容を示すのに使用できるデータ領域になっている。例えば、それぞれのコマンド情報に対する移動ロボット110の動作を規定しているパラメータなどが、この領域に格納される。最後の領域には、チェックサムを計算した結果が格納される。チェックサムの計算方法は、簡単に計算するには、最初から12番目の領域のデータを加算した数値の下位の1バイトの数値を求めればよい。送信したデータ構造のチェックサムと、受信したデータ構造のチェックサムが一致するか確認することで、通信の過程でエラーが発生しているかどうか検出することができる。
この実施の形態1に係る移動ロボット110では、移動ロボット110から送信してタブレットコンピュータ130に受信される通信のデータ構造と、タブレットコンピュータ130から送信して移動ロボット110に受信される通信のデータ構造とが同一になっている。このようにデータ構造を同一にすることで、学習玩具100の開発や改良の際のミスが少なくなり、開発効率の向上に寄与することができる。
なお、タブレットコンピュータ130と移動ロボット110とで、無線通信方式を一致させる必要があるが、Bluetooth(登録商標)に限らず、Wi-Fiなどのその他の無線通信方式により構成してもよい。また、有線で接続し通信する構成でもよい。
タッチパネル付き液晶画面コントローラ803は、タブレット側制御部801の制御に基づいて、タッチパネル付き液晶画面701を作動させて、液晶画面に画像を表示し、また、学習者からタッチパネルに入力される信号を検出して、この信号をタブレット側制御部801が読み取ることができるようにしている。
タブレット側音声再生部804は、タブレット側制御部801の制御に基づいて、タブレット側スピーカ805に音声を再生させる。タブレット側スピーカ805が再生する音声の種類や音階等は、画像音声再生データ用メモリ806に保存されている中から、コマンド情報に基づいて決定される。
画像音声再生データ用メモリ806には、タブレットコンピュータ130のタッチパネル付き液晶画面701に表示される画像やタブレット側スピーカ805から発生される音声の「再生データ」である画像音声データファイルが複数、保存されている。画像音声データファイルには、画像と音声の動画を再生できるデータが記録されており、MP4のファイル形式になっている。ただし、ファイルの形式は、AVI、MOV、MPEG-2など、MP4以外の形式であってもよい。また、再生データは、静止画であってもよい。この場合のファイルの形式は、PNG、JPEG、GIFなどを使用することができる。再生される画像音声データファイルは、コマンド情報に基づいて、画像音声再生データ用メモリ806に保存されている複数の画像音声データファイルの中からタブレット側制御部801により決定される。画像音声再生データ用メモリ806には、フラッシュメモリが用いられているが、その他の不揮発性メモリを使用してもよい。また、画像音声再生データ用メモリ806は、タブレット側制御部用ROM(フラッシュメモリ)821によって、その機能を実現させてもよい。さらに、画像音声再生データ用メモリ806は、タブレットコンピュータ130に内蔵せず、SDカードやUSBメモリなどの外付けメモリに複数の画像音声データファイルを保存して、この外付けメモリをタブレットコンピュータ130に装着することにより実現してもよい。
二次元エリアセンサ駆動部807は、タブレット側制御部801の制御に基づいて、タブレットコンピュータ130に内蔵されている二次元CMOSエリアセンサ808を作動させて、外部からの像をCMOSエリアセンサが受光することで画像を取り込み、受光信号をA/D変換する。こうすることによりアナログ信号からデジタルデータに変換して、その画像データをタブレット側制御部用RAM822であるDRAMに読み込めるようになっている。タブレット側制御部801は、読み込まれた画像データに対して、画像処理を行うことができる。また、タブレット側制御部801が加工した画像をタッチパネル付き液晶画面701に表示させることもできる。なお、二次元CMOSエリアセンサ808は、CCD(Charged-Coupled Device)エリアセンサなどのCMOSエリアセンサ以外の種類を使用してもよい。
タブレット側コマンド情報用RAM809は、タブレット側制御部801の制御に基づいて、移動ロボット110から送信されて、タブレット側Bluetooth(登録商標)通信部802に受信される複数のコマンド情報を順次、記憶することができる。移動ロボット110に読み取られるすべてのコマンド情報は、移動ロボット110からタブレットコンピュータ130に向けて送信されて、そのすべてのコマンド情報がタブレットコンピュータ130に受信される。タブレット側制御部801は、そのすべてのコマンド情報をタブレット側コマンド情報用RAM809に順次、記憶させていく。もちろん、移動ロボット110から送信されるすべてのコマンド情報を記憶させる必要はなく、選択された複数のコマンド情報のみを記憶させるようにしてもよい。移動ロボット110に読み取られるコマンド情報をタブレット側コマンド情報用RAM809に記憶させておくことにより、タブレット側制御部801は、現在の移動ロボット110の動作を検出できるだけでなく、過去から現在までのコマンド情報をいつでも読み出すことができるため、移動ロボット110が過去にどのような動作をしたか再現することができる。また、複数のコマンド情報の組合せに基づいて、タブレット側制御部801は、タッチパネル付き液晶画面701に表示する画像やタブレット側スピーカ805から発生させる音声を変化させることも可能になる。タブレット側コマンド情報用RAM809には、SRAMが用いられているが、その他の種類のメモリを使用してもよい。また、タブレット側コマンド情報用RAM809は、タブレット側制御部用RAM822によって、その機能を実現させてもよい。
仮想パネル用RAM810は、タブレット側制御部801の制御に基づいて、学習者がタッチパネル付き液晶画面701に入力する複数の仮想パネル122の種類や、あらかじめ定められている仮想パネル122の入力可能領域の中の仮想パネル122の入力位置である入力座標や、仮想パネル122の入力可能領域の中の仮想パネル122の入力方向を順次、記憶することができる。
仮想パネル122の入力可能領域とは、複数のコマンド・パネル121やコマンド・シート125が四角形領域に敷き詰められて、移動ロボット110がその上を移動できる四角形領域と対応関係にあるタッチパネル付き液晶画面701に画像として表示される領域のことである。移動ロボット110が移動できる四角形領域の中の位置と、仮想パネル122の入力可能領域の中の位置とは、一対一の対応関係がある。すなわち、タッチパネル付き液晶画面701に表示される仮想パネル122の入力可能領域の中の位置に、仮想パネル122を入力することにより、仮想パネル122の入力可能領域と一対一の対応関係にある移動ロボット110が移動できる四角形領域の位置に仮想パネル122を配置するのと同様の効果を生じさせることができる。
例えば、7行7列の正方形領域を構成するように複数のコマンド・パネル121やコマンド・シート125が配置された上を移動ロボット110が移動できるものとする。1行1列の位置から7行7列の位置までの合計49個分の位置を、それぞれ1行1列の位置に対応する座標位置から7行7列の位置に対応する座標位置として、格子状の画像をタッチパネル付き液晶画面701に表示させることにより、仮想パネル122の入力可能領域を表示させることができる。こうすることにより、移動ロボット110が移動できる正方形領域の中の座標位置と、タッチパネル付き液晶画面701に表示される仮想パネル122の入力可能領域の中の座標位置を一対一に対応づけることができる。
なお、仮想パネル122の入力可能領域として、あらかじめ7行7列の領域と13行13列の領域と21行21列の領域の3種類が用意されている。学習者は、この学習玩具100による学習を開始する前に、この3種類の内の1種類を選択できるようになっている。ただし、仮想パネル122の入力可能領域の大きさは、これら3種類に限定されるものでなく、任意に設定することができる。
なお、複数のコマンド・パネル121やコマンド・シート125が四角形領域に敷き詰められて、移動ロボット110がその上を移動できる四角形領域が、「コマンド・パネル121またはコマンド・シート125が複数配置されている領域」に該当する。この移動ロボット110が移動できる領域は、四角形領域に限らず、その他の形状の領域にしてもよい。
学習者が、タッチパネル付き液晶画面701に表示されている仮想パネル122の入力可能領域の中の任意の座標位置に、仮想パネル122の種類と、仮想パネル122の方向を入力すると、この入力信号は、タッチパネル付き液晶画面コントローラ803を介して、タブレット側制御部801に検出される。タブレット側制御部801は、仮想パネル122の入力可能領域の中の入力座標である行番号及び列番号と、入力された仮想パネル122の種類と、入力された仮想パネル122の方向とを、仮想パネル用RAM810に記憶させる。タブレット側制御部801が、仮想パネル122の入力可能領域の中の任意の座標位置に入力された仮想パネル122の種類と方向とを読み出すには、仮想パネル用RAM810から、仮想パネル122の入力可能領域の中の行番号と列番号を順次読み出して、読み出そうとする座標位置の行番号と列番号が一致する記憶領域の仮想パネル122の種類と方向を読み出すことにより行われる。
仮想パネル用RAM810には、SRAMが用いられているが、その他の種類のメモリを使用してもよい。また、仮想パネル用RAM810は、タブレット側制御部用RAM822によって、その機能を実現させてもよい。
Wi-Fi通信部811は、タブレット側制御部801の制御に基づいて、複数のタブレットコンピュータ130の間で通信し、データの送受信ができるようになっている。Wi-Fi通信部811による複数のタブレットコンピュータ130の間の通信のデータ構造も、図8(a)に示したものと同様の構造になっている。図8(a)に示した通信のデータ構造は、上述したタブレット側Bluetooth(登録商標)通信部802によるタブレットコンピュータ130と移動ロボット110の間の通信のデータ構造と同一なものになっている。このように通信のデータ構造を同一にすることで、学習玩具100の開発や改良の際のミスが少なくなり、開発効率の向上に寄与することができる。ただし、図8(a)に示した通信のデータ構造は、一例であり、この他のデータ構造を採用してもよいのは、もちろんである。
複数のタブレットコンピュータ130の間の通信では、移動ロボット110がコマンド・パネル121やコマンド・シート125から読み取るコマンド情報であって移動ロボット110からタブレットコンピュータ130に向けて送信されるコマンド情報や、タッチパネル付き液晶画面701に入力される仮想パネル122の種類と、仮想パネル122の入力可能領域の中の入力位置である入力座標を構成する行番号及び列番号と、仮想パネル122の入力可能領域の中の入力方向とを含む入力情報などが、送受信される。
なお、あらかじめ前後方向および左右方向の4方向のうち、それぞれ一方向を指し示す4種類の仮想パネル122を用意しておけば、4種類の仮想パネル122の中から1種類を選択することにより、仮想パネル122の入力方向を入力しなくても、移動ロボット110の進行方向を決定することができるようになる。このようにすることで、入力情報から仮想パネル122の入力方向を取り除くようにしてもよい。
コマンド情報を送受信する場合には、図8(a)に示す最初の領域に、コマンド情報を示す数値を格納することで、通信データがコマンド情報を保持していることが認識できるようになっている。また、2番目の領域には、それぞれのコマンド情報の内容を識別できるように各コマンド情報に一対一に対応する数値が格納される。3番目の領域には、送信元であるタブレットコンピュータ130を識別できる数値が格納されている。これは、複数のタブレットコンピュータ130の間で通信が行われているため、この3番目の領域に格納されている数値を検出することにより、送信元のタブレットコンピュータ130を特定するのに利用される。送信元のタブレットコンピュータ130を特定することにより、送信されてくるコマンド情報に基づいて、その特定されたタブレットコンピュータ130と組合せになっている移動ロボット110の位置などが検出できるようになっている。4番目から12番目の領域には、任意の数値が格納される。最後の領域には、チェックサムを計算した結果が格納される。
一方、仮想パネル122の入力情報を送受信する場合には、図8(a)に示す最初の領域に、仮想パネル122の入力情報を示す数値を格納することで、通信データが仮想パネル122の入力情報を保持していることが認識できるようになっている。また、2番目の領域には、それぞれの仮想パネル122の種類を識別できるように各仮想パネル122に一対一に対応する数値が格納される。さらに、3番目の領域には、仮想パネル122の入力可能領域の中の入力座標としての行番号が格納される。4番目の領域には、仮想パネル122の入力可能領域の中の入力座標としての列番号が格納される。5番目の領域には、仮想パネル122の入力可能領域の中の仮想パネル122の入力方向を示す数値が格納される。6番目の領域には、送信元であるタブレットコンピュータ130を識別できる数値が格納される。これは、複数のタブレットコンピュータ130の間で通信が行われているため、この6番目の領域に格納されている数値を検出することにより、送信元のタブレットコンピュータ130を特定するのに利用される。送信元のタブレットコンピュータ130を特定することにより、送信されてくる仮想パネル122の入力情報に基づいて、その特定されたタブレットコンピュータ130に入力された仮想パネル122の種類や、入力座標、入力方向などが検出できるようになっている。7番目から12番目の領域には、任意の数値が格納される。最後の領域には、チェックサムを計算した結果が格納される。
また、タブレットコンピュータ130は、Wi-Fi通信部811を介して、無線LANルータと接続することにより、インターネットに接続することができる。このため、遠隔地の学習者間のタブレットコンピュータ130と通信することができ、遠隔地の学習者が、データの共有をしながら、この学習玩具100で学習することができる。
さらに、タブレットコンピュータ130がインターネットと接続することで、タブレットコンピュータ130の制御プログラムであるファームウェアや、アプリケーションソフトウェアの各種プログラムや、様々なデータをダウンロードして取り込むことができる。こうすることで、タブレットコンピュータ130を最新の状態に更新することができる。
なお、複数のタブレットコンピュータ130の間で、無線通信方式を一致させる必要があるが、Wi-Fiに限らず、Bluetooth(登録商標)などのその他の無線通信方式により構成してもよい。また、有線で接続し通信する構成でもよい。
図7には示さなかったが、タブレットコンピュータ130にはバッテリである充電池が内蔵されており、タブレット側制御回路800などに電源が供給されるようになっている。バッテリの種類は限定されず、例えば乾電池であってもよい。
また、図7には示さなかったが、タブレットコンピュータ130にGPSモジュール、加速度センサ、ジャイロセンサ、音声録音用マイク等を接続して、より複雑な動作をタブレットコンピュータ130に実行させることができるようにしてもよい。
次に、コマンド・パネル121について説明する。
コマンド・パネル121は、正方形のプレートの角部を切断した形状を呈している。正方形の角部を切断した形状にしたことで、コマンド・パネル121を隙間なく平面状に配置しても、コマンド・パネル121の角部の部分に指の入る隙間ができ、平面内部に配置されたコマンド・パネル121であっても取り外しやすくなるという利点がある。さらに、角部の角度が鈍角になるため、コマンド・パネル121を角部から落下させても破損しにくくなり、子供にひっかき傷などの怪我を負わせることも防止できる。
また、コマンド・パネル121は、例えば樹脂等の安全性が高い材料で形成することが望ましい。
コマンド・パネル121には、それぞれ異なるコマンド情報が記録されている。上述したように、コマンド・パネル121表面には、コマンド情報と一対一に対応する二次元のドットパターンが印刷されており、光学読取モジュール240により検出されるようになっている。コマンド情報は、学習者には直接認識できないため、コマンド情報に基づく移動ロボット110の動作を表示する絵柄がコマンド・パネル121に描かれ、学習者は、この絵柄を通してコマンド情報を認識できるようになっている。コマンド・パネル121に描かれる絵柄は、コマンド情報を学習者にイメージさせるような絵柄であることが好ましい。
また、コマンド・パネル121の表面と裏面に同一のコマンド情報を記録してもよいし、異なるコマンド情報を記録してもよい。
次に、コマンド・パネル121に描かれた絵柄と、その絵柄に対応するコマンド情報に基づく移動ロボット110の動作を説明する。
図9には、一部のコマンド・パネル121の絵柄を示している。図9の絵柄の表示は一例であり、これ以外の絵柄を用いて、コマンド情報を表示してもよい。
移動ロボット110は、上述したように、コマンド・パネル121表面に印刷された二次元のドットパターンを光学読取モジュール240により検出してコマンド情報を読み取る。移動ロボット側制御部501は、読み取られたコマンド情報に一対一で対応する移動ロボット110の動作を規定したプログラムを移動ロボット側制御部用ROM(フラッシュメモリ)521から読み出して、そのプログラムを実行し、移動ロボット110に所望の動作をさせる。
図9に示されている、コマンド・パネル121aは、移動ロボット110に移動を開始させるコマンド情報を含むパネルであり、移動路120のスタート地点に配置される。このコマンド・パネル121aの上に置かれた移動ロボット110は、このコマンド・パネル121aの絵柄の中に示されている矢印の方向に移動を開始する。移動ロボット側制御部501は、まず、このコマンド・パネル121aの絵柄の中に示されている矢印の方向に移動ロボット110の方向を一致させるように、移動機構230を作動させて、その後、その方向に前進させるように、移動機構230を作動させる。
コマンド・パネル121bは、移動ロボット110に移動を停止させるコマンド情報を含んでおり、移動路120のゴール地点に配置される。移動ロボット側制御部501は、このコマンド・パネル121bの上で移動機構230を停止させる。なお、例えば移動ロボット110を停止させると同時にファンファーレ音を再生させて、移動ロボット110の発光部220を発光させるというように、1枚のコマンド・パネル121bに含まれるコマンド情報に基づいて複数種類の動作を行わせることもできる。
コマンド・パネル121cは、移動ロボット110の進行方向を決定させるコマンド情報を含んでいる。例えば、このコマンド・パネル121cに印刷されている矢印の方向と移動ロボット110の進行方向が、同じ方向になるように配置する場合、移動ロボット110はそのまま直進する。一方、このコマンド・パネル121cに印刷されている矢印の方向が右方向を指すように配置する場合、移動ロボット110は、このコマンド・パネル121c上の中央部で右折する。同様に、このコマンド・パネル121cに印刷されている矢印の方向が左方向を指すように配置する場合、移動ロボット110は、このコマンド・パネル121c上の中央部で左折する。
コマンド・パネル121dは、移動ロボット110にそのコマンド・パネル121d上で一回転させるコマンド情報を含んでいる。
コマンド・パネル121eは、移動ロボット110の発光部220を、所定の色に発光させるコマンド情報を含んでいる。移動ロボット側制御部501は、RGB光源駆動部502を制御することにより、所望の色でRGB光源503を発光させる。また、発光状態を点灯だけでなく点滅させることもできる。例えば、コマンド・パネル121eの絵柄が赤の場合は移動ロボット110の発光部220を赤に発光させて、その絵柄が青の場合は発光部220を青に発光させるというように、発光色を絵柄に対応させて設定することができる。異なる発光色に対応するコマンド・パネル121e上の中央部を移動ロボット110が通過するたびに、発光部220の発光色が切り換えられる。
コマンド・パネル121fは、移動ロボット110に、発光部220の発光色に応じて移動ロボット110の進行方向を決定させるコマンド情報を含んでいる。上向きの矢印は青、左向きの矢印は赤、下向きの矢印は緑、右向きの矢印は黄で表示されている。例えば、移動ロボット110がコマンド・パネル121f上の中央部に達したときに、発光部220が赤に発光していれば直進、青に発光していれば右折、黄に発光していれば後退、緑に発光していれば左折というように、進行方向を決定させることが可能である。このコマンド・パネル121fには、4個の矢印が描かれているが、それぞれ進行方向と一致するように、各矢印の色彩を設定することが望ましい。すなわち、コマンド・パネル121fは、プログラム言語の‘IF’文(すなわち、分岐命令)に相当する。このように、この実施の形態1に係る移動ロボット110は、二枚のコマンド・パネル121e、121fに含まれるコマンド情報の組み合わせに基づいて、一つの動作を実行することができる。
ここで、例えば移動ロボット110の発光部220を青に発光させるコマンド・パネル121eがコマンド・パネル121fの手前に配置されているにも係わらず、進行方向決定用のコマンド・パネル121fの右側(すなわち、青色発光時に移動ロボット110が進行する方向)にコマンド・パネル121が配置されていないような場合には、この移動ロボット110は移動路120から外れてしまうことになる。このような場合には、移動ロボット110にエラー動作を行わせる。エラー動作としては、例えば、移動ロボット110が、移動路120から外れたときに、エラー音を発しながら、移動を停止する動作を採用できる。
また、例えば、移動ロボット110が発光のコマンド・パネル121eを通過していないにも係わらず進行方向決定用のコマンド・パネル121fの中央部に到達したような場合は、移動ロボット110が、そのコマンド・パネル121fでそのまま停止してエラー音を発することとしてもよい。
コマンド・パネル121gは、移動ロボット110に、再生音の楽器を設定させるコマンド情報を含んでいる。このコマンド・パネル121gには、ピアノの絵が描かれており、再生音はピアノ音に設定されるが、トランペット、木琴、アコーディオンなどのその他の楽器に設定するためのコマンド・パネル121を設けてもよいことはもちろんである。なお、このコマンド・パネル121gのコマンド情報は、移動ロボット110に再生音の楽器を設定させるだけであり、再生は行わせない。
コマンド・パネル121hは、移動ロボット110に、所定の音階の再生音を出力させるコマンド情報を含んでいる。移動ロボット側制御部501は、移動ロボット側音声再生部507を制御して、所望の音階を移動ロボット側スピーカ508から発生させる。このコマンド・パネル121hは再生音階が‘ド’の例であるが、他の音階を設定するコマンド・パネル121を設けてよいことはもちろんである。このように、この実施の形態1に係る移動ロボット110は、二枚のコマンド・パネル121g、121hに含まれるコマンド情報の組み合わせに基づいて、一つのサウンド再生動作を実行することができる。また、コマンド・パネル121gの後に、所定の音階の再生音を出力させるコマンド情報を含むコマンド・パネル121を、複数枚並べることにより、所望のメロディをピアノ音で再生させることもできる。さらに、これら複数枚のコマンド・パネル121上を通過する際に、移動ロボット110の移動速度を速めることとしてもよい。一方、移動ロボット110が移動しながらサウンド再生を行うのでは無く、音階出力用のコマンド・パネル121を通過する際に移動ロボット110が音階を順次記憶することとし、これらの音階で構成されるメロディを、移動ロボット110がゴール地点のコマンド・パネル121bに到達した際に所定回数だけ再生することにしてもよい。
コマンド・パネル121iは、移動ロボット110に、イヌの鳴き声を移動ロボット側スピーカ508から再生させるコマンド情報を含んでいる。このコマンド・パネル121iには、イヌの絵が描かれており、移動ロボット110がこのコマンド・パネル121iの中央部を通過する際に、イヌの鳴き声が1回再生される。
コマンド・パネル121jは、移動ロボット110に、ライオンの鳴き声を移動ロボット側スピーカ508から再生させるコマンド情報を含んでいる。このコマンド・パネル121jには、ライオンの絵が描かれており、移動ロボット110がこのコマンド・パネル121jの中央部を通過する際に、ライオンの鳴き声が1回再生される。
コマンド・パネル121kは、移動ロボット110に、ゾウの動物の鳴き声を移動ロボット側スピーカ508から再生させるコマンド情報を含んでいる。このコマンド・パネル121kには、ゾウの絵が描かれており、移動ロボット110がこのコマンド・パネル121kの中央部を通過する際に、ゾウの鳴き声が1回再生される。
コマンド・パネル121mは、移動ロボット110に、サルの鳴き声を移動ロボット側スピーカ508から再生させるコマンド情報を含んでいる。このコマンド・パネル121mには、サルの絵が描かれており、移動ロボット110がこのコマンド・パネル121mの中央部を通過する際に、サルの鳴き声が1回再生される。
なお、ニワトリ、ネコなどその他の動物の鳴き声を再生させるコマンド・パネル121を設けてもよいことはもちろんである。
このように、この実施の形態1によれば、スタート用のコマンド・パネル121aとゴール用のコマンド・パネル121bとの間に、様々なコマンド・パネル121を配置することで、移動ロボット110の動作をコンピュータ処理に見立てて、学習者にコンピュータ・プログラミングの基礎を学習させることができる。また、例えば進行方向決定用のコマンド・パネル121f(コンピュータ言語のIF文に対応する)等を用いることにより、「分岐」や「ループ」といった基本的なプログラミング手法を学習することができる。更には、「エラー停止」の概念を導入することで、「デバッグ」の学習も行うことができる。
なお、一部又は全部のコマンド・パネル121について、予め絵柄が印刷されたものを使用するのでは無く、学習者等が自分で絵を描くことにしてもよい。
図9に示したコマンド・パネル121には、移動ロボット110への基本的な命令となるコマンド情報が記録されている。一方、図10に示したコマンド・パネル121には、移動ロボット110に、より複雑な動作をさせることができるコマンド情報が記録されている。
図10に示すコマンド・パネル121nは、移動ロボット110に、横断歩道で信号を横断するイメージの所定の動作をさせるコマンド情報を含んでいる。移動ロボット側制御部501は、移動ロボット110がこのコマンド・パネル121nの上に達したとき、移動ロボット側スピーカ508から自動車の音を再生させる。移動ロボット側制御部501が、自動車の音を再生させている間、移動ロボット110に、このコマンド・パネル121nに留まらせる。その後、移動ロボット側制御部501は、自動車の音の再生を終了させた後、移動ロボット110に左右を確認する動作を模して、左方向と右方向にそれぞれ90度回転させる。これらの動作を経てから、移動ロボット110は進行する。学習者は、移動ロボット110の動作を通して、横断歩道での信号の横断は、まず、その場に立ち止まり、自動車の往来がなくなった後、左右の安全を確認してから渡るという一連の行動として学ぶことができる。また、コマンド・パネル121nに続けて、上述した赤、緑、青、黄の4個の矢印が描かれているコマンド・パネル121fが配置されている場合には、移動ロボット110は緑の矢印の方向に進むようにしてもよい。
コマンド・パネル121oは、移動ロボット110に、踏切を横断するイメージの所定の動作をさせるコマンド情報を含んでいる。移動ロボット側制御部501は、移動ロボット110がこのコマンド・パネル121oの上に達したとき、移動ロボット110に、まず、警報音を発生させるとともに発光部220の発光を赤にして点滅させる。その後、移動ロボット側制御部501は、移動ロボット110に電車の音を発生させるとともに発光部220の発光を赤にして点滅させる。移動ロボット側制御部501は、移動ロボット110から警報音や電車の音を発生させている間、移動ロボット110にこのコマンド・パネル121oに留まらせる。その後、移動ロボット側制御部501は、電車の音及び警告音を停止させてから、移動ロボット110は進行する。学習者は、移動ロボット110の動作を通して、踏切の横断は、信号が赤に点滅している間、その場に立ち止まり、電車が通り過ぎて、信号の赤の点滅が消えてなくなり、電車の音が聞こえなくなってから渡るという一連の行動として学ぶことができる。また、コマンド・パネル121oに続けて、上述した赤、緑、青、黄の4個の矢印が描かれているコマンド・パネル121fが配置されている場合には、移動ロボット110は赤の矢印の方向に進むようにしてもよい。
コマンド・パネル121pは、移動ロボット110に感情を表現させるコマンド情報を含んでおり、コマンド・パネル121pの絵柄は「楽しい」感情を表現させる。移動ロボット110に感情を表現させるため、移動ロボット110の発光部220の発光の色や点滅を変化させたり、移動ロボット110のスピーカ507から発生される音声を変えたりする。この他の感情として、「嬉しい」感情、「感動」の感情その他の感情を表現させることもできる。
コマンド・パネル121qとコマンド・パネル121rは、この2枚のコマンド・パネル121の間に挟まれた3枚のコマンド・パネル121に記録されているコマンド情報に基づいて、タブレットコンピュータ130のタッチパネル付き液晶画面701に絵本のような画像を表示させ、また、タブレット側スピーカ805から音声を再生させるものであり、絵本パネルと呼ばれている。
この実施の形態1に係る移動ロボット110では、移動ロボット110が読み取るすべてのコマンド情報が、移動ロボット110からタブレットコンピュータ130に向けて送信されるようになっている。このため、移動ロボット110が、これらコマンド・パネル121q及びコマンド・パネル121rの2枚と、これら2枚に挟まれた3枚のコマンド・パネル121の上を通過する際には、これら5枚に記録されたすべてのコマンド情報が、移動ロボット110からタブレットコンピュータ130に向けて送信される。タブレットコンピュータ130は、これら5個のコマンド情報を順次、受信して、タブレット側制御部801は、これら5個すべてのコマンド情報をタブレット側コマンド情報用RAM809に記憶させる。タブレット側制御部801は、タブレット側コマンド情報用RAM809に記憶されている複数のコマンド情報の中から、このコマンド・パネル121qとコマンド・パネル121rの2枚に記録されているコマンド情報を検出して、その2個のコマンド情報に挟まれている3個のコマンド情報を抽出することができる。このように読み出すことで、タブレット側制御部801は、これら3個のコマンド情報の種類と順序を検出することができる。タッチパネル付き液晶画面701やタブレット側スピーカ805に再生される内容は、これら3個のコマンド情報の種類と順序により変化する。タブレット側制御部801は、上述した画像音声再生データ用メモリ806からこれら3個のコマンド情報の種類と順序に基づいて、画像音声データファイルを1個選択し再生する。
再生される内容は、コマンド・パネル121qとコマンド・パネル121rに挟まれるコマンド・パネル121が、例えば、図11(a)に示されるように、ライオンの鳴き声を再生させるコマンド情報と、移動ロボット110の発光部220を青に発光させるコマンド情報と、移動ロボット110の進行方向を決定させる矢印に関するコマンド情報とが記録された3枚のコマンド・パネル121である場合、例えば、「ライオンに会って、青ざめて、逃げる」という画像をタッチパネル付き液晶画面701に表示して、それに伴う音声を、タブレット側スピーカ805から発生する。また、例えば、図11(b)に示されるように、このコマンド・パネル121qとコマンド・パネル121rの間に、ゾウの鳴き声を再生させるコマンド情報と、移動ロボット110に1回転させる回転に関するコマンド情報と、移動ロボット110に「楽しい」感情を表現させるコマンド情報とが記録された3枚のコマンド・パネル121が配置される場合、例えば、「ゾウさんに会って、グルっと回って、楽しくなる」というような内容の画像と音声が再生される。
タブレットコンピュータ130に表示される絵本の内容は、3枚のコマンド・パネル121の種類や、配置の順序により変化する。タブレットコンピュータ130による絵本の表現は、画像と音声により行ってもよいし、画像または音声のみで行ってもよい。
なお、コマンド・パネル121qとコマンド・パネル121rの間に挟むコマンド・パネル121の数は、3枚に限らず、それ以上でもそれ以下でもよい。
また、学習者が、自ら製作した画像音声データファイルを画像音声再生データ用メモリ806に保存して、コマンド・パネル121qとコマンド・パネル121rに挟まれる3個のコマンド情報の種類と順序に関連づけをしておくこともできる。こうすることにより、対応するコマンド情報の種類と順序が読み込まれる場合に、学習者が製作した画像音声データファイルが再生されるようにしてもよい。
学習者は、再生される画像や音声の内容を想像しながら、複数のコマンド・パネル121の種類や順序を考えることになり、より高度なプログラミングが可能になる。
コマンド・パネル121sは、移動ロボット110に矢印の方向に曲がり進行させるというコマンド情報を含んでいる。移動ロボット110は、矢印の後端側からコマンド・パネル121sに進入し、コマンド・パネル121s上の中央部で矢印の方向に向きを変えて、矢印の先端側からコマンド・パネル121sを出て行く。移動ロボット側制御部501は、移動ロボット110がこのコマンド・パネル121sの中央付近に達したときに、移動機構230の左右の回転脚231の回転方向を制御して、移動ロボット110の向きを90度回転させる。その後、移動ロボット側制御部501は、移動機構230の回転脚231の回転方向を制御して、移動ロボット110に前進させて、このコマンド・パネル121sを通過させる。なお、移動ロボット110が、矢印の後端側以外からコマンド・パネル121bに進入した場合には、エラー動作を行わせる。
コマンド・パネル121tは、拡張現実(AR)の表示をタブレットコンピュータ130に開始させるように移動ロボット110に送信させるコマンド情報を含んでいる。移動ロボット側制御部501は、移動ロボット側Bluetooth(登録商標)モジュールI/F部509を制御して、このコマンド情報をタブレットコンピュータ130に向けて送信する。このコマンド情報をタブレットコンピュータ130が受信すると、タブレット側制御部801は、タッチパネル付き液晶画面701に、拡張現実(AR)の表示をさせる。タッチパネル付き液晶画面701に表示される拡張現実(AR)の技術を利用した画像については、図13を用いて後述する。
コマンド・パネル121uは、移動ロボット110にリンゴを1個獲得したと記憶させるコマンド情報を含んでいる。このコマンド・パネル121uには、1個のリンゴの絵柄が印刷されている。なお、リンゴの個数が2個以上描かれているコマンド・パネル121uも用意されている。移動ロボット110が、このコマンド・パネル121u上の中央部に達したときに、印刷されているリンゴの個数と同じ回数だけ発光部220を赤に点滅発光させるようにしてもよい。発光部220の赤色は、リンゴの色を想像させるものであり、学習者は、この発光の色からリンゴの個数であることを認識できる。また、印刷されているリンゴの個数と発光部220の点滅回数が同一であることから、学習者は、視覚的に数を認識して、数について学習することができる。
コマンド・パネル121vは、移動ロボット110にバナナを3本獲得したと記憶させるコマンド情報を含んでいる。このコマンド・パネル121vには、3本のバナナの絵柄が印刷されている。なお、3本以外のバナナの本数が描かれているコマンド・パネル121vも用意されている。上述したリンゴのコマンド・パネル121uの場合と同様に、移動ロボット110が、このコマンド・パネル121v上で、印刷されているバナナの本数と同じ回数だけ発光部220を黄に点滅発光するようにしてもよい。発光部220の黄色は、バナナの色を想像させるものであり、学習者は、この発光の色からバナナの本数であることを認識できる。
コマンド・パネル121uやコマンド・パネル121vを使用することにより、学習者は、数字ではなく、リンゴやバナナという身近にあるものを通して、数を学習できるようになっている。
また、移動ロボット110が、リンゴのコマンド・パネル121u上の中央部を通過するときに、描かれているリンゴの個数分、リンゴの数を加算させていくこともできる。このとき、移動ロボット110が、このコマンド・パネル121u上で、加算されたリンゴの個数と同じ回数だけ発光部220を赤に点滅発光させるようにしてもよい。学習者は、発光部220の点滅回数を観察することにより、数字を用いずに視覚的に、加算について学習することができる。このようにすることで、数字を認識することが困難と思われる幼児にも足し算の学習ができるようにしてもよい。
また、移動ロボット110が、ゾウの絵柄の印刷されているコマンド・パネル121kを通過すると、ゾウがリンゴを1個食べてしまうイメージを想定して、それまでに移動ロボット110が獲得したリンゴの個数を1個減らすという規則を定めてもよい。このとき、移動ロボット110が、ゾウのコマンド・パネル121k上で、それまでに獲得したリンゴの個数から1個を減じた個数と同じ回数だけ発光部220を赤に点滅発光させるようにしてもよい。学習者は、発光部220の点滅回数を観察することにより、数字を用いずに視覚的に、減算について学習することができる。このようにすることによって、数字を認識することが困難と思われる幼児にも引き算の学習ができるようにしてもよい。
バナナの絵が印刷されているコマンド・パネル121vについても、同様に、移動ロボット110が、通過することにより、バナナの本数を加算させていくこともできる。上述したリンゴのコマンド・パネル121uの場合と同じように、移動ロボット110が、バナナのコマンド・パネル121v上に達したときに、加算されたバナナの本数と同じ回数だけ発光部220を黄に点滅発光させるようにしてもよい。また、移動ロボット110が、サルの絵柄が印刷されているコマンド・パネル121mを通過するときに、サルがバナナを1本食べてしまうイメージを想定して、それまでに移動ロボット110が獲得したバナナの本数を1本減らすという規則を定めてもよい。このときにも、上述したリンゴのコマンド・パネル121uと同様に、移動ロボット110が、バナナのコマンド・パネル121v上で、それまでに獲得したバナナの本数から1本を減じた本数と同じ回数だけ発光部220を黄に点滅発光させるようにしてもよい。
こうすることにより、学習者は、数字を使用せずに、足し算と引き算の学習をすることができる。
次に、この実施の形態1に係る学習玩具100を用いた学習の方法を説明する。
学習者は、まず、スタート地点用のコマンド・パネル121aを床面等に配置する。
次に、このコマンド・パネル121aに隣接させて、所望のコマンド・パネル121を順次配置していく。
そして、複数のコマンド・パネル121を配置することにより構成される移動路120の最後の位置に、ゴール地点用のコマンド・パネル121bを配置する。
このようにコマンド・パネル121を配置して移動路120を完成させた後、移動ロボット110の電源スイッチ504をオンにして、スタート地点用のコマンド・パネル121aの上に置く。このようにすると、移動ロボット110は、移動路120の上で移動を開始する。移動ロボット110は、移動路120を移動しながら、コマンド・パネル121のコマンド情報を順次読み取って、そのコマンド情報に基づいて動作を順次実行していく。また、移動ロボット110が読み取ったコマンド情報は、移動ロボット110からタブレットコンピュータ130に向けて送信されて、タブレットコンピュータ130は受信されるコマンド情報に基づいて所望の動作を順次実行する。
これらの動作の結果、この移動ロボット110がゴール地点用のコマンド・パネル121bまで到達して停止すれば、‘成功’となる。一方、移動ロボット110が移動路120から外れてしまったり、移動路120の途中でエラーを発生したりする場合には、ゴール地点であるコマンド・パネル121bに到達できずに、‘失敗’となる。
次に、移動ロボット110から送信されるコマンド情報に基づいてタブレットコンピュータ130が行う動作について説明する。
図12は、移動ロボット110が読み取るコマンド情報に基づいて、あらかじめタブレットコンピュータ130に保存されている所定の画像がタッチパネル付き液晶画面701に表示されている様子を示す概念図である。
これは、コマンド情報と一対一の対応関係にある画像音声データファイルが、タブレットコンピュータ130にあらかじめ保存されており、読み取られるコマンド情報に基づいて、対応する画像音声データファイルが自動的に選択されて、再生されるというアプリケーションである。
移動ロボット110が乗っているコマンド・パネル121に基づいて所定の画像が表示されるため、移動ロボット110の移動とともに、コマンド・パネル121の切り替わりと合わせて画像が次々と切り替わっていく。学習者は、コマンド・パネル121とそれに対応して表示される画像の関係性を考えたり、連続して表示される画像に一定の意味や物語性を持たせるようにコマンド・パネル121の並べ方を考えたりすることができる。
このアプリケーションが実行される流れを以下に示す。
まず、学習者は、タブレットコンピュータ130に保存されている専用のアプリケーションソフトを起動させる。こうすることにより、タブレットコンピュータ130と移動ロボット110との間で通信ができるようになり、タブレットコンピュータ130は、移動ロボット110から送信されるコマンド情報を受信して、そのコマンド情報に基づいて画像を表示したり、音声を発生させたりできる状態になる。
図12に示されているように、コマンド・パネル121の配置が、例えば、移動ロボット110の進行方向を決定させるコマンド・パネル121cと、移動ロボット110に一回転させるコマンド・パネル121dと、移動ロボット側スピーカ508からの再生音をトランペットに設定させるコマンド・パネル121gの順序で配置されている場合について説明する。
このようなコマンド・パネル121の配置の場合には、まず、移動ロボット110は、コマンド・パネル121cに達して、コマンド情報を読み取り、このコマンド情報に基づいて描かれている矢印の方向に前進するとともに、このコマンド情報をタブレットコンピュータ130に向けて送信する。
移動ロボット110から送信されるデータ構造は、図8(b)に示したように、13個の連続するデータ配列として送信される。最初の領域には、コマンド情報であることを示すデータが格納されており、2番目の領域には、読み取られるコマンド情報に対応するデータが格納されている。3番目から12番目までの領域には、送信すべきデータがないため、任意のデータが格納されるがここではゼロが格納されている。13番目の領域は、チェックサムが格納されている。
タブレットコンピュータ130が移動ロボット110から送信された通信データを受信した後、タブレット側制御部801は、この受信データの解析を行う。タブレット側制御部801は、この受信データの最初の領域からコマンド情報が送信されてきたことを検出して、2番目の領域から、コマンド情報の内容が、移動ロボット110の進行方向を決定させるコマンド情報であることを検出する。
次に、タブレット側制御部801は、受信したコマンド情報に対応する画像音声データファイルを画像音声再生データ用メモリ806から読み出して、タッチパネル付き液晶画面701に画像を表示させて、また、タブレット側スピーカ805から音声を発生させる。
移動ロボット110が、コマンド・パネル121cに達したときには、移動ロボット110の進行方向を決定させるコマンド情報に対応する画像が表示される。例えば、図12の左下に示すタッチパネル付き液晶画面701の概略図のように「なにかでてきそう」というような内容の表示がされる。この実施の形態1に係る学習玩具100では、画像音声データファイルにより再生される内容は、アニメーションであるが、それ以外の内容を再生するようにしてもよい。
移動ロボット110がさらに前進して、右隣に配置されているコマンド・パネル121dに達すると、移動ロボット110はコマンド・パネル121d上の中央部で一回転するとともに、読み取ったコマンド情報をタブレットコンピュータ130に向けて送信する。このコマンド情報は、移動ロボット110に一回転させるという命令を含むものである。このコマンド情報を受信したタブレットコンピュータ130は、画像音声再生データ用メモリ806からこのコマンド情報に対応する画像音声データファイルを読み出して、画像を表示する。例えば、図12の中央下に示す「めがまわったすこしきゅうけい」というような内容の表示がされる。
さらに、移動ロボット110が前進して、右隣のコマンド・パネル121gに達すると、移動ロボット110は、コマンド・パネル121g上の中央部で1回、トランペットの音を発生させるとともに、読み取ったコマンド情報をタブレットコンピュータ130に向けて送信する。このコマンド情報を受信したタブレットコンピュータ130は、画像音声再生データ用メモリ806からこのコマンド情報に対応する画像音声データファイルを読み出して、画像を表示する。例えば、図12の右下に示す「トランペットを吹いている」というような内容の表示がされる。
なお、学習者が、自ら製作した画像音声データファイルを画像音声再生データ用メモリ806に保存して、コマンド情報に関連づけをしておき、対応するコマンド情報が読み込まれる場合に、学習者が製作した画像音声データファイルが再生されるようにしてもよい。
学習者は、移動ロボット110の動作だけでなく、タブレットコンピュータ130に再生される画像や音声の内容を想像しながら、複数のコマンド・パネル121の種類や順序を考えて配置することになり、より高度なプログラミングが可能になる。
また、学習者は、移動ロボット110とタブレットコンピュータ130が有線で接続されていないにもかかわらず、移動ロボット110の動作と、タブレットコンピュータ130に表示される画像や発生される音声とが協調して動作をしていることを確認することができる。これは、無線通信により、移動ロボット110とタブレットコンピュータ130の間でデータの送受信が行われることにより実現されている。このような学習経験を通して、学習者は、無線通信がどのようなものかについて学ぶことができる。
さらに、コマンド情報に基づいてタブレットコンピュータ130に再生される内容を、クイズなど楽しく学べるものを取り入れることができ、そうすることにより学習効果をより高めることができる。
次に、タッチパネル付き液晶画面701に拡張現実(AR)の技術を利用した画像が表示されるアプリケーションについて説明する。
拡張現実(AR)とは、現実に撮影された映像に、デジタル情報を重ね合わせる技術のことをいう。この拡張現実(AR)の技術を利用する1例として、移動ロボット110及びその背景を撮影した画像をタッチパネル付き液晶画面701に表示させるとともに、移動ロボット110を除く背景の部分に、タブレットコンピュータ130にあらかじめ記録されている画像を重ね合わせて表示させることができる。タブレットコンピュータ130は、移動ロボット110及びその背景を撮影した画像について画像処理を行うことにより移動ロボット110に該当する画像の部分を抽出することができる。このような処理を行うことにより、タブレットコンピュータ130にあらかじめ記録されている画像を重ね合わせて表示する際、背景部分の画像にのみ重ね合わせて表示することができる。一方、移動ロボット110に該当する画像の部分には、タブレットコンピュータ130にあらかじめ記録されている画像が重ね合わされないため、欠けることなく表示されることになる。
図13は、学習者が、タブレットコンピュータ130に内蔵されている二次元CMOSエリアセンサ808で、コマンド・パネル121上を移動している移動ロボット110及びその背景を撮影しながら、その映像を観察している様子を示す概念図である。
このアプリケーションが実行される流れを以下に説明する。
まず、学習者は、タブレットコンピュータ130に保存されている専用のアプリケーションソフトを起動させる。こうすることにより、タブレットコンピュータ130に内蔵されている二次元CMOSエリアセンサ808で撮影した画像が、タッチパネル付き液晶画面701に表示されるようになる。
次に、学習者は、二次元CMOSエリアセンサ808を、コマンド・パネル121上を移動している移動ロボット110に向けて、移動ロボット110とその背景を撮影して、その画像をタッチパネル付き液晶画面701に表示させる。
この時点では、まだ、拡張現実(AR)の技術を利用した画像は表示されず、単に移動ロボット110とその背景の画像が表示されるのみである。
移動ロボット110が、コマンド・パネル121の上を自走して、図10に示した拡張現実(AR)の表示をタブレットコンピュータ130に開始させるコマンド・パネル121t上の中央部に達すると、移動ロボット110は読み取ったコマンド情報をタブレットコンピュータ130に向けて送信する。このコマンド情報をタブレットコンピュータ130が受信した後に、タッチパネル付き液晶画面701が拡張現実(AR)の技術を利用した画像に切り替わるようになっている。
図13には、一例として、発光部220を赤に発光させるコマンド・パネル121eの上を移動ロボット110が移動している場合が示されており、この例を参考にして説明する。
図13において、学習者は、二次元CMOSエリアセンサ808を、移動ロボット110に向けて、移動ロボット110及びその背景からなる画像を撮影している。このため、タッチパネル付き液晶画面701には、移動ロボット110と図9に示した発光部220を赤に発光させるコマンド・パネル121eの絵柄の一部が背景として表示されている。また、これに加えて、タッチパネル付き液晶画面701には、十字形状の星形の画像が重ね合わされて表示されている。この移動ロボット110の周囲に表示されている十字形状の星形の画像は、発光部220を赤に発光させるコマンド情報に基づいて画像音声再生データ用メモリ806から読み出される画像音声データファイルの再生画像である。この星形の画像は、移動ロボット110及びその背景からなる画像のうちの背景部分にのみ重ね合わされて表示されている。一方で、この星形の画像は、移動ロボット110の部分には、重ね合わせて表示されないようになっている。
学習者は、このようにして、拡張現実(AR)の技術を利用した画像を観察できるようになっている。
次に、このときのタブレットコンピュータ130の内部の動作について説明する。
二次元CMOSエリアセンサ808に移動ロボット110及びその背景からなる像が受光されると、それに基づいて電気信号が出力される。出力される電気信号は、A/D変換されてデジタルデータに変換されて、画像データが生成される。タブレット側制御部801は二次元エリアセンサ駆動部807を制御して、この画像データを取り込み、タブレット側制御部用RAM822であるDRAMに一時的に記憶させる。この画像データは、デジタルデータになっているため、タブレット側制御部801は、この画像データについて画像処理を行うことができる。画像処理を行うことにより、画像の中から移動ロボット110に該当する部分を抽出することができる。すなわち、タブレット側制御部801は、画像の中で移動ロボット110の画像が占める画素範囲と、それ以外の画素範囲である背景部分の画像を分離して検出することができる。
図13に示すように、移動ロボット110が、発光部220を赤に発光させるコマンド・パネル121e上に達すると、そのコマンド情報を読み取り、読み取られたコマンド情報をタブレットコンピュータ130に向けて送信する。
タブレットコンピュータ130が移動ロボット110から送信された通信データを受信した後、タブレット側制御部801は、受信された通信データを解析する。このような処理を経て、タブレット側制御部801は、受信されたコマンド情報の内容が、発光部220を赤に発光させるコマンド情報であることを検出する。続いて、タブレット側制御部801は、受信したこのコマンド情報に対応する画像音声データファイルを画像音声再生データ用メモリ806から読み出す。そして、この再生画像を、移動ロボット110及びその背景からなる画像のうち背景部分の画像に重ね合わせる。このとき、図13に示すように画像の中の移動ロボット110の部分の周囲に、この再生画像が表示されるように重ね合わされるようになっている。これらの処理は、タブレット側制御部用RAM822であるDRAMのメモリ内部で行われる。この処理を行った後、タブレット側制御部801は、タッチパネル付き液晶画面コントローラ803を制御することにより、タブレット側制御部用RAM822に記憶されている加工された画像データをタッチパネル付き液晶画面701に表示させる。
以上のように処理を行うことにより、画像音声再生データ用メモリ806から読み出される画像音声データファイルの再生画像が、移動ロボット110の部分に重なり合うことなく、その背景部分にのみ重なり合うように、タッチパネル付き液晶画面701に表示される。
なお、図12に示したアプリケーションと図13に示したアプリケーションとで、コマンド情報に対応して画像音声再生データ用メモリ806から読み出される画像音声データファイルが同一のファイルであってもよいし、別のファイルであってもよい。
また、タブレット側制御部801が、二次元CMOSエリアセンサ808で撮影した画像の中から移動ロボット110に該当する部分を抽出する画像処理の過程を、タッチパネル付き液晶画面701に表示させることもできる。このような表示をすることで、学習者は、画像処理について学習することができる。
図13に示すアプリケーションは、拡張現実(AR)と呼ばれる技術の一種であり、学習者は、学習体験を通して、拡張現実という技術がどのようなものかを認識することができる。
拡張現実(AR)の技術を利用するその他の例として、コマンド・パネル121及びその背景を撮影した画像をタッチパネル付き液晶画面701に表示させるとともに、コマンド・パネル121の部分に、タブレットコンピュータ130にあらかじめ記録されている移動ロボット110の画像を重ね合わせて表示させることもできる。移動ロボット110が存在しないにもかかわらず、タッチパネル付き液晶画面701に表示される画像では、あたかもコマンド・パネル121の上を移動ロボット110が移動しているかのように見えるようにすることができる。また、部屋や公園を撮影した画像をタッチパネル付き液晶画面701に表示させるとともに、例えば、撮影された机の上や人の頭の上に移動ロボット110の画像を重ね合わせて表示させることもできる。
タッチパネル付き液晶画面701にこのような画像表示をさせるときの流れについて以下に説明する。
まず、学習者は、タブレットコンピュータ130に保存されている専用のアプリケーションソフトを起動させる。その後、学習者は、タブレットコンピュータ130に内蔵されている二次元CMOSエリアセンサ808を、コマンド・パネル121に向けて、コマンド・パネル121とその背景を撮影する。
このとき、タブレットコンピュータ130の内部では、二次元CMOSエリアセンサ808に投影される像が、画像データとしてタブレット側制御部用RAM822に取り込まれるようになっている。タブレット側制御部801は、この画像データを画像処理することにより、この画像データの中からコマンド・パネル121の部分を検出できるようになっている。
また、画像音声再生データ用メモリ806には、移動ロボット110の画像があらかじめ画像音声データファイルとして保存されている。このため、タブレット側制御部801は、いつでも、この画像音声データファイルを取り出すことができて、移動ロボット110の画像を表示できるようになっている。
タブレット側制御部801は、画像処理の結果に基づいて、画像データの中のコマンド・パネル121の部分に、画像音声データファイルに記録されている移動ロボット110の画像を重ね合わせることができる。この処理は、タブレット側制御部用RAM822に記憶されているコマンド・パネル121及びその背景を撮影した画像データに、移動ロボット110の画像データを重ね合わせるようにデータを加工することにより行われる。
この処理の後、タブレット側制御部801は、タッチパネル付き液晶画面コントローラ803を制御して、タッチパネル付き液晶画面701にこのように加工された画像データを表示させる。
以上のような処理を行うことにより、タッチパネル付き液晶画面701には、コマンド・パネル121とその背景の画像とともに、コマンド・パネル121の部分に移動ロボット110の画像を重ね合わせて表示させることができるようになっている。学習者は、タッチパネル付き液晶画面701を通して、この画像を観察することができて、拡張現実(AR)について学ぶことができる。
次に、移動ロボット110の動作の内容を決定する移動ロボット動作パラメータ600について説明する。
移動ロボット110は、コマンド・パネル121に記録されているコマンド情報を読み取り、そのコマンド情報に基づいて動作を実行する。移動ロボット側制御部501は、まず、読み取られるコマンド情報に一対一に対応する移動ロボット動作パラメータ600の設定値を動作パラメータ用ROM511から読み出す。そうした上で、読み取られるコマンド情報に一対一に対応する移動ロボット110の動作を規定したプログラムを移動ロボット側制御部用ROM(フラッシュメモリ)521から選択して、前もって読み出している移動ロボット動作パラメータ600の設定値をそのプログラムへの入力として実行して、移動ロボット110に所望の動作をさせる。
上述したように、移動ロボット動作パラメータ600は、例えば、図5(a)のような構造をしており、動作パラメータ用ROM511に格納されている。移動ロボット動作パラメータ600には、例えば、10個の記憶領域が確保されており、各記憶領域に格納されているパラメータの内容は、コマンド情報ごとに異なる内容が割り当てられている。
図5(b)には、コマンド・パネル121cに記録されているコマンド情報に対応する移動ロボット動作パラメータ600の内容の一例が示されている。このコマンド情報は、移動ロボット110の進行方向を決定させるものである。最初の記憶領域には、移動ロボット110の移動の速さを決定するパラメータが割り当てられており、数値の‘125’が格納されている。パラメータの設定範囲は、0以上255以下であり、0が最も遅く、255が最も速い速さを表している。‘125’は、中速に相当する。このコマンド情報では、2番目から10番目までの記憶領域に、パラメータの割り当てがされていない。このため、これらの記憶領域には、任意の数値が格納されており、図5(b)では、2番目から10番目までの記憶領域に‘0’が格納されている。
図5(c)には、コマンド・パネル121dに記録されているコマンド情報に対応する移動ロボット動作パラメータ600の内容の一例が示されている。このコマンド情報は、移動ロボット110に一回転させるものである。最初の記憶領域には、移動ロボット110の回転回数を決定するパラメータが割り当てられており、数値の‘1’が格納されている。このパラメータを書き換えることにより、移動ロボット110の回転回数を変更させることができる。パラメータの設定範囲は、0以上255以下であり、0に設定すると移動ロボット110は回転をせず、255に設定すると移動ロボット110は255回回転する。‘1’は、移動ロボット110に1回回転させる設定である。2番目の記憶領域には、移動ロボット110の移動の速さを決定するパラメータが割り当てられており、数値の‘125’が格納されている。パラメータの設定範囲は、0以上255以下であり、0が最も遅く、255が最も速い速さを表している。‘125’は、中速に相当する。このコマンド情報では、3番目から10番目までの記憶領域に、パラメータの割り当てがされていない。このため、任意の数値が格納されており、図5(c)では、3番目から10番目までの記憶領域に‘0’が格納されている。
図5(d)は、コマンド・パネル121eに記録されているコマンド情報に対応する移動ロボット動作パラメータ600の内容の一例が示されている。このコマンド情報は、移動ロボット110の発光部220を赤に発光させるものである。最初から3番目までの記憶領域は、それぞれ、RGB光源503の赤、緑、及び青の各LEDの発光の強さを決定するパラメータが割り当てられており、最初の記憶領域には、数値の‘255’が格納されている。また、2番目と3番目の記憶領域には、‘0’が格納されている。この組合せにより、移動ロボット110の発光部220を赤に発光させる設定になっている。なお、最初から3番目までの記憶領域には、それぞれ0以上255以下の数値を設定することができ、この3個の数値を変更することにより、移動ロボット110の発光部220の発光の色を変化させることができる。なお、赤、緑、及び青の各LEDの発光の強さを設定する数値の範囲を任意に決めてもよいことは、もちろんである。例えば、赤、緑、及び青のそれぞれの設定値を0以上3以下の範囲にする場合、設定値の組合せによって、64種類の色を調整して発光させることができる。4番目の記憶領域には、発光状態を決定するパラメータが割り当てられている。この記憶領域に‘0’を設定すると発光は点灯状態になり、一方、‘1’を設定すると発光は点滅状態になる。図5(d)では、‘1’が設定されているため、発光は点滅状態になる。5番目の記憶領域には、発光の点滅間隔を決定するパラメータが割り当てられており、例えば0.1秒単位の設定が可能になっている。この記憶領域に数値の‘5’を設定すると、発光は0.5秒間隔で点滅する。図5(d)では、‘10’が設定されているため、発光は1秒間隔で点滅する。このコマンド情報では、6番目から10番目までの記憶領域に、パラメータが割り当てられていない。このため、任意の数値が格納されており、図5(d)では、6番目から10番目までの記憶領域に‘0’が格納されている。
図5(e)は、コマンド・パネル121iに記録されているコマンド情報に対応する移動ロボット動作パラメータ600の内容の一例を示している。このコマンド情報は、移動ロボット110にイヌの鳴き声を再生させるものである。最初の記憶領域には、移動ロボット側スピーカ508から再生される音量を決定するパラメータが割り当てられており、数値の‘65’が格納されている。このパラメータを書き換えることにより、再生される音量を変化させることができる。パラメータの設定範囲は、0以上255以下であり、0に設定すると音量が最も小さく、255に設定すると音量が最も大きくなる。‘65’は、最大音量の25パーセント程度の設定であることを示している。2番目の記憶領域には、再生される音の高さを決定するパラメータが割り当てられており、数値の‘130’が格納されている。このパラメータを書き換えることにより、再生される音の高さを変化させることができる。パラメータの設定範囲は、0以上255以下であり、0に設定すると音の高さが最も低く、255に設定すると音の高さが最も高くなる。‘130’は、普通の音の高さよりもわずかに高めの音で再生される設定であることを示している。このコマンド情報では、3番目から10番目までの記憶領域に、パラメータが割り当てられていない。このため、任意の数値が格納されており、図5(e)では、3番目から10番目までの記憶領域に‘0’が格納されている。
次に、タブレットコンピュータ130から移動ロボット動作パラメータ600を書き換える操作について説明する。
図14は、学習者が、タブレットコンピュータ130を操作して、移動ロボット110の動作パラメータ用ROM511に記憶されている移動ロボット動作パラメータ600を書き換えて記憶させる際に、タッチパネル付き液晶画面701に表示される画像の概念図を示している。
図14には、一例として、コマンド・パネル121iに記録されているコマンド情報に対する移動ロボット動作パラメータ600を書き換えて記憶させる画面が表示されており、これを参考にして説明する。なお、このコマンド情報は、移動ロボット110にイヌの鳴き声を再生させるものである。
まず、タブレットコンピュータ130に保存されている専用のアプリケーションソフトを起動して、移動ロボット110との間で通信ができる状態にする。
続いて、タブレットコンピュータ130は、コマンド・パネル121iに記録されているコマンド情報に対する移動ロボット動作パラメータ600を移動ロボット110から読み出して、読み出した移動ロボット動作パラメータ600をタッチパネル付き液晶画面701に表示する。
タブレットコンピュータ130が、移動ロボット110から移動ロボット動作パラメータ600を読み出すには、移動ロボット110に向けて、移動ロボット動作パラメータ600を読み出す命令を送信する。この命令を受信した移動ロボット110の移動ロボット側制御部501は、動作パラメータ用ROM511から該当するコマンド情報の移動ロボット動作パラメータ600の設定値を読み出して、その内容をタブレットコンピュータ130に向けて送信する。
移動ロボット110からタブレットコンピュータ130に向けて送信される移動ロボット動作パラメータ600の設定値を含む通信のデータ構造は、上述した図8(b)とほぼ同様であり、通信のデータ構造の最初の領域には、コマンド情報であることを示すデータが格納されており、2番目の領域には、コマンド情報を特定するデータが格納されている。また、通信のデータ構造の3番目以降の領域には、移動ロボット動作パラメータ600に設定されている数値が先頭から順次格納されている。すなわち、通信のデータ構造の3番目の領域には、図5(a)に示した移動ロボット動作パラメータ600の最初の領域に設定されているパラメータが格納され、通信のデータ構造の4番目の領域には、図5(a)に示した移動ロボット動作パラメータ600の2番目の領域に設定されているパラメータが格納される。通信のデータ構造の5番目以降の領域にも、順次、図5(a)に示した移動ロボット動作パラメータ600の3番目以降の領域に設定されているパラメータが格納される。そして、通信のデータ構造の最後の領域には、チェックサムが格納されている。
移動ロボット110にイヌの鳴き声を再生させるコマンド情報に対しては、通信のデータ構造の3番目の領域に、移動ロボット側スピーカ508から再生される音量を決定するパラメータが格納されており、4番目の領域には、再生される音の高さを決定するパラメータが格納されている。タブレットコンピュータ130が受信した通信データについて、タブレット側制御部801が解析を行うことで、3番目と4番目の領域から、移動ロボット側スピーカ508から再生される音量を決定するパラメータに設定されている数値と、再生される音の高さを決定するパラメータに設定されている数値を取得することができる。
このように、タブレット側制御部801は、その時点で設定されている移動ロボット動作パラメータ600を読み出すことができる。
図14には、イヌの鳴き声を再生させるコマンド情報であることを示すため、画面の右上部に「いぬのパネルせってい」と表示されている。また、その下に「おとのおおきさ」と表示されており、再生される音量を決定するパラメータの設定値が白抜きプロットの位置として表示されている。さらに、その下に「おとのたかさ」と表示されており、再生される音の高さを決定するパラメータの設置値が白抜きプロットの位置として表示されている。
次に、学習者は、タッチパネル付き液晶画面701を操作して、新たに設定しようとする移動ロボット動作パラメータ600を入力する。具体的には、タッチパネル付き液晶画面701に指を接触させて、タップすることにより、設定しようとする位置に白抜きプロットの位置を移動させる。その後、図14の画面右下部に表示されている「クミータにおくる」という表示部分に指を接触させて、タップすることにより、書換用パラメータが、移動ロボット110に向けて送信される。なお、移動ロボット110は、KUMIITA(登録商標)の日本語表記であるクミータと名付けられているため、タッチパネル付き液晶画面701の画面表示には、クミータの文字が含まれている。ここで、書換用パラメータとは、移動ロボット動作パラメータ600を書き換えて動作パラメータ用ROM511に記憶させる移動ロボット110の動作の内容を規定するパラメータのことをいう。
書換用パラメータが移動ロボット110に向けて送信される際の通信のデータ構造は、図8(c)に示されるような構造になっている。
この通信のデータ構造は、13個の連続するデータ配列として構成されている。最初の領域には、書換用パラメータであることを示すデータが格納されており、2番目の領域には、移動ロボット動作パラメータ600を書き換える対象となるコマンド情報を示すデータが格納されている。3番目から12番目までの領域には、書き換えるパラメータの数値が格納されており、図5(a)に示した構造の移動ロボット動作パラメータ600に設定される数値が先頭から順次格納されている。すなわち、通信のデータ構造の3番目の領域には、図5(a)に示した移動ロボット動作パラメータ600の最初の領域に設定されるパラメータが格納されており、通信のデータ構造の4番目の領域には、図5(a)に示した移動ロボット動作パラメータ600の2番目の領域に設定されるパラメータが格納されている。通信のデータ構造の5番目以降の領域にも、順次、図5(a)に示した移動ロボット動作パラメータ600の3番目以降の領域に設定されるパラメータが格納されている。そして、通信のデータ構造の最後の領域には、チェックサムが格納されている。
図14に示す場合には、最初の領域に、書換用パラメータであることを示すデータが格納されており、2番目の領域には、移動ロボット動作パラメータ600を書き換える対象となるイヌの鳴き声を再生させるコマンド情報を示すデータが格納されている。3番目の領域には、移動ロボット側スピーカ508から再生される音量を決定するパラメータの設定値が格納されており、4番目の領域には、再生される音の高さを決定するパラメータの設定値が格納されている。5番目から12番目までの領域には、任意の数値が格納されるが、ここでは‘0’が格納されている。13番目の領域は、チェックサムが格納されている。
移動ロボット110が受信した通信データについて、移動ロボット側制御部501が解析を行うことで、最初の領域から、書換用パラメータであることを検出して、2番目の領域から、イヌの鳴き声を再生させるコマンド情報であることを検出する。そして、3番目と4番目の領域から、移動ロボット側スピーカ508から再生される音量を決定するパラメータの設定値と、再生される音の高さを決定するパラメータの設定値を取得する。このように、移動ロボット側制御部501は、学習者が新たに設定しようとしてタッチパネル付き液晶画面701に入力した移動ロボット動作パラメータ600を書き換える内容について取得することができる。その後、移動ロボット側制御部501は、イヌの鳴き声を再生させるコマンド情報に対する移動ロボット動作パラメータ600の最初と2番目の領域を書き換えて、動作パラメータ用ROM511に記憶させる。上述のように動作パラメータ用ROM511は、不揮発性メモリであるため、移動ロボット110の電源を切ってもそのデータが保存され、再度、電源を投入するときにも、書き換えた移動ロボット動作パラメータ600の内容で移動ロボット110が動作する。
なお、移動ロボット動作パラメータ600の読み出しや書き換えが実行されている間にも、移動ロボット110は、コマンド・パネル121に記録されているコマンド情報を読み取り、読み取られるコマンド情報に基づいて動作を行い、さらに、読み取られるコマンド情報をタブレットコンピュータ130に送信することを並行して実行していることも想定される。この場合には、タブレットコンピュータ130から送信される命令に対して行う移動ロボット110の応答の方が、優先して実行されるようになっている。そして、タブレットコンピュータ130からの命令に対する応答が完了した後、移動ロボット110は、コマンド・パネル121に記録されているコマンド情報を読み取り、読み取られるコマンド情報に基づいて動作を行い、さらに、読み取られるコマンド情報をタブレットコンピュータ130に送信するという元の動きに戻り、その動きが継続して実行される。タブレットコンピュータ130からの命令に対する移動ロボット110の応答は、一種の割り込み処理のような動きをするように、移動ロボット側制御部501が移動ロボット110の動きを制御している。
学習者は、タブレットコンピュータ130への入力作業を通じて、タブレットコンピュータ130の操作方法を学習することができる。また、学習者は、移動ロボット動作パラメータ600を書き換えることで、それに基づいて移動ロボット110の動作の内容が変化することを確認でき、移動ロボット110の動作自体が決定されるプログラム部分と、移動ロボット110の動作の内容が決定されるパラメータ部分の機能の違いを、学習体験を通して、認識することができる。
学習者が、移動ロボット110の動作パラメータ用ROM511に記憶されている移動ロボット動作パラメータ600を書き換えるアプリケーションの応用として、学習者のオリジナルのコマンド・パネル121であるオリジナルパネル121zを作成することができる。
次に、オリジナルパネル121zの作成について説明する。
まず、透明フィルムシートに移動ロボット110の光学読取モジュール240で読み取り可能な二次元のドットパターンを印刷する。この二次元のドットパターンからは、コマンド情報が検出できるようになっている。ただし、このコマンド情報は、透明フィルムシートに印刷されていることを検出できるものであり、すでに存在するコマンド・パネル121に記録されているコマンド情報と異なっている。また、移動ロボット側制御部501及びタブレット側制御部801が透明フィルムシートに印刷されているコマンド情報を識別できるように、あらかじめ移動ロボット側制御部用ROM(フラッシュメモリ)521及びタブレット側制御部用ROM(フラッシュメモリ)821にこのコマンド情報が記録されている。
学習者は、コマンド・パネル121の寸法と同程度のパネルを用意して、その表面に自ら絵を描くなどして絵柄をデザインして、その上に二次元のドットパターンが印刷されているこの透明フィルムシートを被せる。このようにしてオリジナルパネル121zのハードウェアが学習者によって作成される。
続いて、学習者は、このオリジナルパネル121zのコマンド情報に基づく移動ロボット110の動作の内容を設定する。
オリジナルパネル121zのコマンド情報に対応する移動ロボット動作パラメータ600は、あらかじめ動作パラメータ用ROM511に記憶領域が確保されており、移動ロボット動作パラメータ600の各記憶領域に割り当てられているパラメータも、例えば図5(f)のように決められている。
図5(f)に示すように、最初の記憶領域には、移動ロボット110の移動の速さを決定するパラメータが割り当てられている。パラメータの設定範囲は、0以上255以下であり、0が最も遅く、255が最も速い速さを表している。2番目の記憶領域には、移動ロボット110の回転回数を決定するパラメータが割り当てられている。パラメータの設定範囲は、0以上255以下であり、0に設定すると移動ロボット110は回転をせず、255に設定すると移動ロボット110は255回回転する。3番目から5番目までの記憶領域は、それぞれ、RGB光源503の赤、緑、及び青の各LEDの発光の強さを決定するパラメータが割り当てられており、それぞれ、0以上255以下の数値を設定することができる。この3個の数値を変更することにより、移動ロボット110の発光部220の発光の色を調整して変化させることができる。6番目の記憶領域には、移動ロボット110の発光部220の発光状態を決定するパラメータが割り当てられている。この記憶領域に‘0’を設定すると発光は点灯状態になり、一方、‘1’を設定すると発光は点滅状態になる。7番目の記憶領域には、発光の点滅間隔を決定するパラメータが割り当てられている。例えば0.1秒単位の設定が可能になっており、この記憶領域に数値の‘5’を設定すると、発光は0.5秒間隔で点滅する。なお、8番目から10番目までの記憶領域には、パラメータが割り当てられていない。このため、任意の数値が格納されるが、図5(f)の8番目から10番目までの記憶領域には、‘0’が格納されている。
次に、タブレットコンピュータ130からオリジナルパネル121zのコマンド情報に対する移動ロボット動作パラメータ600を設定する操作について説明する。
図15には、学習者が、オリジナルパネル121zのコマンド情報に対する移動ロボット動作パラメータ600を設定する際の、タッチパネル付き液晶画面701に表示される画像の概念図が示されている。
まず、タブレットコンピュータ130に保存されている専用のアプリケーションソフトを起動して、移動ロボット110との間で通信ができる状態にする。
図15に示すようにオリジナルパネル121zのコマンド情報に対する設定であることを学習者に認識できるようにするため、画面の右上部に「なんでもパネルのせってい」と表示されている。その下に「はやさ」と表示されており、移動ロボット110の移動の速さを決定するパラメータの設定値が白抜きプロットの位置として表示されている。また、その下に「かいてん」と「かいてんかいすう」と表示されており、移動ロボット110の回転回数を決定するパラメータの設定値がスイッチの位置と数値によって表示されている。「かいてん」のスイッチが、右側の位置にあるときは、移動ロボット110が回転して、左側の位置にあるときは回転しない設定になる。「かいてん」のスイッチが左側にある場合には、移動ロボット110の回転回数を決定するパラメータに‘0’が設定される。一方、「かいてん」のスイッチが右側にある場合には、移動ロボット110の回転回数を決定するパラメータに「かいてんかいすう」に表示されている数値が設定される。さらに、その下に「ひかりのいろ」と表示されており、RGB光源503の赤、緑、及び青の各LEDの発光の強さを決定するパラメータの設定値が3個の白抜きプロットの位置として表示されている。またさらに、その下に「てんめつ」と表示されており、移動ロボット110の発光部220の発光状態を決定するパラメータ及び発光の点滅間隔を決定するパラメータの設定値が白抜きプロットの位置として表示されている。「てんめつ」の白抜きプロットの位置が最も左側の「ゆっくり」の位置に設定される場合、発光は点灯するものとして、発光状態を決定するパラメータに、点灯状態を示す‘0’が設定される。それ以外の場合には、発光状態を決定するパラメータには、点滅状態を示す‘1’が設定されるとともに、「てんめつ」の白抜きプロットの位置に対応する数値が、発光の点滅間隔を決定するパラメータに設定される。
学習者は、タッチパネル付き液晶画面701を操作して、図15に示す各パラメータの設定値を入力し、その後に「クミータにおくる」(図示せず)という表示部分を指で接触して、タップする。こうすることにより、書換用パラメータが、タブレットコンピュータ130から移動ロボット110に向けて送信される。
タブレットコンピュータ130から送信されて移動ロボット110が受信する通信データについて、移動ロボット側制御部501が解析を行うことで、オリジナルパネル121zのコマンド情報に対する移動ロボット動作パラメータ600の各設定値が取得される。移動ロボット側制御部501は、取得した移動ロボット動作パラメータ600を、動作パラメータ用ROM511に記憶させることで、オリジナルパネル121zのコマンド情報に対する移動ロボット動作パラメータ600の設定がされる。上述のように動作パラメータ用ROM511は、不揮発性メモリであるため、移動ロボット110の電源を切ってもそのデータが保存されて、再度、電源を投入するときにも、書き換えた移動ロボット動作パラメータ600の内容で移動ロボット110が動作する。
以上のように、学習者は、自らオリジナルパネル121zを作成して、移動ロボット110の動作の内容を設定することができる。
学習者は、図15に示される「かいてん」と「かいてんかいすう」に対する入力により、移動ロボット110に回転させるか、させないかを設定することができ、移動ロボット110の回転回数を決定するパラメータにゼロを設定することで、移動ロボット110にその動作自体をさせないように操作することができる。このようにして、ゼロという概念を学習することができる。
また、学習者は、この学習玩具100を用いて、楽しみながらプログラミングの学習をすることができる。学習者が複数の異なるコマンド・パネル121を並べて、その上を自走する移動ロボット110に所望の動作をさせることが、どのようにプログラミングの学習につながるのかは、次のように対応関係がある。
学習者が移動ロボット110をどのように動作させようかと考えることは、プログラミング設計に相当する。そして、コマンド・パネル121の配置作業をすることは、プログラミングの実装に相当する。続いて、移動ロボット110にコマンド・パネル121の上を自走させて、動作を実行させることは、プログラムの実行に相当する。移動ロボット110に動作をさせた結果、不具合があれば、コマンド・パネル121の選択や配置位置を変更する必要が生ずるが、この作業は、プログラムのデバッグ作業に相当する。
学習者の具体的な学習行為は次のようになる。
まず、学習者は、移動ロボット110にどのような動作をさせるかを考える(プログラミング設計)。移動ロボット110にさせる動作を決定した後、学習者は、コマンド・パネル121に描かれた絵柄から移動ロボット110の動作を想像して、最適なコマンド・パネル121を選択し、そのコマンド・パネル121を最適な位置、最適な向きに配置していく(プログラミングの実装)。学習者がコマンド・パネル121の配置を完成させた後、実際に、移動ロボット110に動作をさせて、自ら設計した移動ロボット110の動作と一致するか確認する(プログラムの実行)。移動ロボット110の動作が、想定外であれば、学習者は、再度、最適なコマンド・パネル121を選択し、そのコマンド・パネル121を最適な位置、最適な向きに並べ替えて、移動ロボット110が設計通りの動作をするように修正する(プログラムのデバッグ作業)。
この実施の形態1によれば、移動ロボット110はコマンド・パネル121からコマンド情報を読み取り、そのコマンド情報に基づいて動作をするため、学習者が、コマンド・パネル121の種類を選択して、それを配置することによって、移動ロボット110に多様な動作をさせることができる。
また、学習者は、移動ロボット110の動きを直接観察できるため、幼児等の子供にも視覚を通して動きが理解しやすく、興味を持ってプログラミングの学習をすることができる。一方で、コマンド情報に基づいてタブレットコンピュータ130も動作をさせることにより、多様な内容を表現でき、低年齢の子供だけでなくそれ以上の年齢層の子供も興味を持ってこの学習玩具100でプログラミングを学ぶことができる。
さらに、読み取られるコマンド情報によって、移動ロボット110のみが動作する基本的な構成だけでなく、移動ロボット110とタブレットコンピュータ130との複数の対象が動作するため、プログラミングによる操作の対象が拡大し、高度なプログラミングの学習ができる。この結果、子供の発達段階に応じて、基礎的な内容から高度な内容に至るまで段階的に難易度を変更することができる。また、子供が飽きてしまうことや、子供の成長により、短期間のうちに使われなくなってしまうことを防ぎ、長期間にわたりこの学習玩具100を使用することができる。さらに、タブレットコンピュータ130を支える基礎技術である無線通信や画像処理等について、学習体験を通じて、どのようなものか認識することができ、プログラミングの際に必要となる基礎知識を養うことができる。
また、この実施の形態1によれば、タブレットコンピュータ130は、二次元CMOSエリアセンサ808で撮影される画像をタッチパネル付き液晶画面701に表示するとともに、その画像を画像処理することにより、移動ロボット110の背景の部分にあらかじめタブレットコンピュータ130に記憶されている画像を表示する。これは、拡張現実(AR)と呼ばれる技術であり、学習者は、学習体験を通して、拡張現実(AR)という技術がどのようなものかを認識することができる。また、拡張現実(AR)を実現する画像処理の過程を、タッチパネル付き液晶画面701に表示することもでき、学習者は、どのように画像の処理が行われていくのかを学習することができる。
さらに、この実施の形態1によれば、学習者は、タブレットコンピュータ130を操作して、移動ロボット110の動作の内容を変更することができる。学習者は、タブレットコンピュータ130の操作方法を学習することができるとともに、プログラムとパラメータの役割の違いについて、学習体験を通して、認識することができる。さらに、学習者は、移動ロボット動作パラメータ600にゼロを設定することで、移動ロボット110にその動作自体をさせないように操作することができ、ゼロという概念を学習することができる。
またさらに、この実施の形態1によれば、学習者は、タブレットコンピュータ130を操作して、移動ロボット110の動作を操作することができる。学習者は、コマンド・パネル121からのみでなく、タブレットコンピュータ130からも操作を行えるようになり、複数の異なる入力経路から1個の出力対象である移動ロボット110が操作可能であることを学習できる。
さらにまた、この実施の形態1によれば、タブレットコンピュータ130は、複数のコマンド情報に基づいて画像を表示したり、または、音声を発生したりする。複数のコマンド情報の種類やその組合せに基づいて表示される画像や発生させる音声の再生データを多数、保持させておくことができ、コマンド・パネル121の種類や順序により、画像や音声を様々に変化させることができる。このため、学習者は、飽きることなく学習を続けることができる。また、1個のコマンド情報だけでなく複数のコマンド情報に基づいて、タブレットコンピュータ130が動作するため、学習者は、複数のコマンド・パネル121の種類や組合せを考慮する必要が生じ、高度なプログラミングの学習をすることができる。
また、この実施の形態1によれば、移動ロボット110は、複数台数購入することができ、学習者は、複数の移動ロボット110を使用した学習ができる。
さらに、この実施の形態1によれば、コマンド・パネル121は、記録されるコマンド情報の種類を増加させることができるため、多様な動作を移動ロボット110に行わせることができる。この結果、多様で高度なプログラミングの学習をすることができる。また、コマンド・パネル121の種類を選択することで、プログラミングの難易度を段階的に調節することができる。このため、学習者の発達段階に応じたプログラミングの学習が可能になる。さらに、コマンド・パネル121単体で、販売できるため、学習者は、必要に応じて、コマンド・パネル121を買い足すことができる。
またさらに、この実施の形態1によれば、学習者は、学習体験を通して、タブレットコンピュータ130の操作方法を学習することができる。また、学習者は、専用品として開発製造されたタブレットコンピュータ130だけでなく、市販のタブレットコンピュータ130を使用することができるため、低価格でプログラミングの学習をすることが可能になる。
[発明の実施の形態2]
この発明の実施の形態2について、図16~図18を用いて説明する。
この発明の実施の形態2に使用される移動ロボット110及びタブレットコンピュータ130は、実施の形態1のものと同様である。
この発明の実施の形態2による対戦ゲームの概要は、次のようになる。
図16は、2台の移動ロボット110による対戦ゲームが実行されている様子を概略的に示す平面図である。コマンド・シート125の上に乗っている2台の移動ロボット110と、2台のタブレットコンピュータ130から構成されている。一組が移動ロボット110aとタブレットコンピュータ130aの組合せであり、もう一組が、移動ロボット110bとタブレットコンピュータ130bの組合せである。
コマンド・シート125は7行7列の格子状に区分されており、移動ロボット110は、これらの格子点上を移動することができるようになっている。この発明の実施の形態2では、移動ロボット110は、各格子点上で停止してタブレットコンピュータ130から送信されてくる動作指示情報を受け付ける状態になるようになっている。学習者が、タブレットコンピュータ130のタッチパネル付き液晶画面701に仮想パネル122を入力することにより、動作指示情報がタブレットコンピュータ130から移動ロボット110に向けて送信されて、移動ロボット110がコマンド・シート125上の格子点の前後方向または左右方向に1個分進むようになっている。移動ロボット110が格子点の1個分進むと、再び停止して、タブレットコンピュータ130から送信されてくる動作指示情報を受け付ける状態になる。
対戦ゲームでは、例えば、まず、2台の移動ロボット110が、コマンド・シート125の対角位置である図16に示したコマンド・シート125上の格子点領域126aと格子点領域126dに初期位置として配置される。すなわち、一方の学習者が操作する移動ロボット110aが格子点を中心とする格子点領域126dに配置されて、もう一方の学習者が操作する移動ロボット110bが格子点領域126aに配置される。
対戦ゲームが開始されると、二人の学習者が交互にそれぞれのタブレットコンピュータ130に仮想パネル122を入力して、それぞれの移動ロボット110が格子点上を1個ずつ進むよう操作される。そして、移動ロボット110がコマンド・シート125の中心位置でありゴールと印刷されている格子点領域126eに最初に到達した学習者が勝者となる。なお、ゴール位置は、コマンド・シート125の中心位置に限られるものではなく、例えば、相手方の初期位置に最初に到達した学習者が勝者になるような規則にしてもよい。
学習者は、タブレットコンピュータ130に表示されるコマンド・シート125上の位置と一対一に対応する仮想パネル122の入力可能領域を見ながらタブレットコンピュータ130を操作する。また、タブレットコンピュータ130に表示される仮想パネル122の入力可能領域には、それまでに自ら入力した全ての仮想パネル122と自らが操作する移動ロボット110の現在位置が重ねて表示される。さらに、これに加えて、それまでに相手方が入力した全ての仮想パネル122と相手方が操作する移動ロボット110の現在位置も重ねて表示される。学習者は、自らのタブレットコンピュータ130のタッチパネル付き液晶画面701を観察することにより、それまでの対戦ゲームの履歴を把握することができるようになっている。
また、タッチパネル付き液晶画面701には、学習者、自らの残りの仮想パネル122の種類と数を表示するとともに、相手方の残りの仮想パネル122の種類と数を表示するようにしてもよい。こうすることにより、学習者は、自らの残りの仮想パネル122と相手方の残りの仮想パネル122を比較して、相手方の戦略を考えながら、対戦ゲームを進めて、ゴールを目指すことができる。
学習者は、自らが操作する移動ロボット110がその時点で存在するコマンド・シート125上の位置と一対一に対応する仮想パネル122の入力可能領域の位置に仮想パネル122を入力することができる。入力可能領域のこの位置に仮想パネル122を入力することにより、移動ロボット110を隣の格子点に1個分進めることができる。または、学習者のもう一つの選択として、学習者は、自らが操作する移動ロボット110がその時点で存在しない位置に仮想パネル122を入力することもできる。このような位置に仮想パネル122を入力すると、自らが操作する移動ロボット110は停止したままで格子点を進めることはできない。しかし、移動ロボット110を進める代わりに、相手側の移動ロボット110の進行を妨害するように仮想パネル122を入力することができる。学習者は、このような選択をして、順次、仮想パネル122を入力していく。
次に、仮想パネルについて説明する。
図17には、一例となる仮想パネル122の絵柄の画像が示されている。これらの仮想パネル122は、この発明の実施の形態2の対戦ゲームで使用されるものである。
仮想パネル122は、タッチパネル付き液晶画面701に表示される仮想パネル122の入力可能領域に座標と方向を指定して入力される。
図17の左上に示されている仮想パネル122aは、移動ロボット110の対戦ゲームの開始位置に入力される。移動ロボット110は、この仮想パネル122aが入力される仮想パネル122の入力可能領域の位置と、一対一に対応するコマンド・シート125上の位置に配置されて対戦ゲームが開始される。
仮想パネル122bは、対戦ゲームの中で山をイメージした障害物を表現して、移動ロボット110の進行方向を制限するように機能する。この仮想パネル122bは、山の絵柄の画像で表現されており、学習者が認識できるようになっている。この仮想パネル122bが入力される位置と、一対一に対応するコマンド・シート125上の位置の1個手前の格子点領域では、移動ロボット110は、そのまま直進できず、右向きに進まなければならないという規則になっている。
仮想パネル122cは、対戦ゲームの中で崖をイメージした障害物を表現して、移動ロボット110の進行方向を制限するように機能する。この仮想パネル122cは、崖の絵柄の画像で表現されており、学習者が認識できるようになっている。この仮想パネル122cが入力される位置と、一対一に対応するコマンド・シート125上の位置の1個手前の格子点領域では、移動ロボット110は、そのまま直進できず、左向きに進まなければならないという規則になっている。
仮想パネル122dは、対戦ゲームの中で川をイメージした障害物を表現して、移動ロボット110の進行方向を制限するように機能する。この仮想パネル122dは、川の絵柄の画像で表現されており、学習者が認識できるようになっている。この仮想パネル122dが入力される位置と、一対一に対応するコマンド・シート125上の位置の1個手前の格子点領域では、移動ロボット110は、そのまま直進できず、右向き、または、左向きに進まなければならないという規則になっている。ただし、次に示す橋をイメージした仮想パネル122eをこの仮想パネル122dの手前に入力することにより、移動ロボット110は、この仮想パネル122dによる制限を受けずに直進して通過することができるという規則になっている。
仮想パネル122eは、対戦ゲームの中で橋をイメージして、障害物を通過できる構造物を表現している。この仮想パネル122eは、橋の絵柄の画像で表現されており、学習者が認識できるようになっている。上述した川を表現する仮想パネル122dの手前にこの仮想パネル122eを入力することで、移動ロボット110は、川を表現する仮想パネル122dによる制限を受けずに直進して通過することができるという規則になっている。
仮想パネル122fは、対戦ゲームの中で一時停止をイメージした標識を表現して、タブレットコンピュータ130への仮想パネル122の入力を一回休みとするように機能する。この仮想パネル122fは、一時停止の標識の絵柄の画像で表現されており、学習者が認識できるようになっている。この仮想パネル122fが入力される位置と、一対一に対応するコマンド・シート125上の位置の1個手前の格子点領域に移動ロボット110が達すると、学習者は、タブレットコンピュータ130への仮想パネル122の入力を一回スキップされるという規則になっている。
仮想パネル122gは、対戦ゲームの中で進入禁止をイメージした標識を表現して、移動ロボット110の進行方向を制限するように機能する。この仮想パネル122gは、進入禁止の標識の絵柄の画像で表現されており、学習者が認識できるようになっている。この仮想パネル122gが入力される位置と、一対一に対応するコマンド・シート125上の位置の1個手前の格子点領域では、移動ロボット110は、そのまま直進できず、右向き、または、左向きに進まなければならないという規則になっている。
仮想パネル122hは、移動ロボット110に矢印の方向に進行させて、この仮想パネル122hの直後の1枚の仮想パネル122を無視してスキップする動作をさせる動作指示情報を含んでいる。この仮想パネル122hを表示する絵柄の画像は、矢印の図とスキップされる仮想パネル122を破線で表現した図が組み合わされている構成になっている。
この仮想パネル122hの使用方法としては、例えば、山をイメージした障害物を表現している仮想パネル122bが、移動ロボット110の1個手前の格子点領域に対応する仮想パネル122の入力可能領域の位置に入力されているときに、この仮想パネル122hを選択して入力することができる。この仮想パネル122hを入力することにより、移動ロボット110は、山を表現している仮想パネル122bをスキップして、乗り越えることができる。このため、移動ロボット110は、この仮想パネル122hの絵柄の画像が示す矢印の方向に山を表現している仮想パネル122bを乗り越えて、直進することができる。
一方、この仮想パネル122hによってスキップした後の位置が仮想パネル122の入力可能領域の領域外になる場合には、対戦ゲームが終了するようになっている。そして、タブレットコンピュータ130にこの仮想パネル122hを入力した学習者が敗者になるという規則になっている。
仮想パネル122iは、移動ロボット110に矢印の方向に進行させて、この仮想パネル122iの直後の2枚の仮想パネル122を無視してスキップする動作をさせる動作指示情報を含んでいる。
この仮想パネル122iに記録されている動作指示情報に基づく移動ロボット110の動作は、上述した仮想パネル122hに基づく移動ロボット110の動作とほぼ同じであるが、スキップさせる仮想パネル122の枚数が2枚であることが相違点である。
対戦ゲーム用に移動ロボット110の移動の方向に様々な制限を課す仮想パネル122を用意することにより、学習者は、その制限を回避するようにタブレットコンピュータ130に仮想パネル122を入力して移動ロボット110を操作する必要が生ずる。この結果、対戦ゲームの内容が複雑化するため、学習者は楽しみながら学習を続けることができる。
なお、図9及び図10に示したコマンド・パネル121に印刷されている絵柄と同様の絵柄の画像を表示する仮想パネル122も用意されている。絵柄が同様となるコマンド・パネル121と仮想パネル122について、コマンド・パネル121に記録されているコマンド情報に基づいて行われる移動ロボット110の動作と、仮想パネル122に一対一で対応する動作指示情報に基づいて行われる移動ロボット110の動作は、一致するようになっている。すなわち、コマンド・パネル121と仮想パネル122の絵柄が同じであれば移動ロボット110の動作が同じになるようになっている。
また、図17に示した仮想パネル122aから仮想パネル122iまでの絵柄の画像を絵柄として印刷されるコマンド・パネル121を用意してもよい。
次に、対戦ゲームに使用されるコマンド・シート125について説明する。
コマンド・シート125は、素材がビニールシートで作成されており、正方形状の1枚のシートであり、床に広げて使用される。コマンド・シート125は、柔軟な素材で作成されているため、折り畳むことができ、小スペースで収納することができる。なお、コマンド・シート125の素材は、ビニールシートに限らず、布、紙、ゴムなどその他の素材を使用してもよい。ただし、子供が使用するため、安全な素材を使用することが望ましい。
また、コマンド・シート125の形状も、正方形状に限らず、長方形状などその他の形状でもよい。さらに、コマンド・シート125を1枚の大きなシートとせず、小さなシートを複数枚用意して、その小さなシートを1枚の大きなシートに貼り付けてもよいし、その小さなシートを床に貼り付けるようにしてもよい。対戦ゲームに使用されるコマンド・シート125は、複数枚の小さなコマンド・シート125を隙間なく敷き詰めて平面状に配置して1枚の大きなコマンド・シート125を構成しているのと同じ構成になっている。
図16に示したコマンド・シート125の大きさは、コマンド・パネル121の1枚の寸法に相当する大きさを基準にして、行方向に7枚分、列方向に7枚分配置された平面領域と同じ範囲の大きさになっている。7行7列の範囲のコマンド・シート125の大きさの他に、13行13列の範囲や21行21列の範囲のコマンド・シート125の大きさも用意されている。ただし、コマンド・シート125の大きさは、任意であり、これ以外の大きさで構成してもよい。
また、コマンド・シート125の表面には、コマンド・パネル121の1枚分に相当する大きさを基準にして、行方向に7枚分、列方向に7枚分に区切られていることが、学習者に目視により認識できるように、コマンド・パネル121の1枚分に相当する大きさの中心位置に十字線マーク127が印刷されている。この十字線マーク127を格子点の位置として目印にすることで、学習者は、コマンド・パネル121の1枚分に相当する大きさの区切りの中心位置を認識し、1行1列から7行7列までの格子点の位置を識別することができる。
さらに、コマンド・シート125の四隅となるコマンド・パネル121の1枚分に相当する格子点を中心とする格子点領域には、着色がされている。このように着色することにより、コマンド・シート125の向きが認識できるようになっている。図16に示したようにコマンド・シート125上の1行1列の格子点を中心とする格子点領域126aは黄色に着色されており、1行7列の格子点領域126bは赤色、7行1列の格子点領域126cは青色、7行7列の格子点領域126dは緑色に着色されている。このようにコマンド・シート125の四隅となる格子点領域を着色することで、黄色に着色されている格子点領域126aの位置が1行1列であることを基準とすることで、学習者は、コマンド・シート125上の向きを認識することができる。
また、コマンド・シート125の表面全体には、移動ロボット110の光学読取モジュール240で読み取り可能な二次元のドットパターンが印刷されている。ただし、上述したように、この二次元のドットパターンは、小さく目立ちにくいように印刷されているため、学習者は、この二次元のドットパターンに注意を引かれることはない。
印刷されている二次元のドットパターンは、図16に示した十字線マーク127を中心とする格子点領域と同様に、コマンド・パネル121の1枚分に相当する大きさを基準に、行方向に7枚分、列方向に7枚分の領域に格子状に区切られ、そのコマンド・パネル121の1枚分に相当する格子点領域内では、同一のコマンド情報が記録されている。すなわち、移動ロボット110がコマンド・シート125の表面全体に印刷されている二次元のドットパターンを読み取り、コマンド情報を読み出すことにより、移動ロボット110のコマンド・シート125上の位置が検出できるようになっている。また、読み取られる二次元のドットパターンからは、コマンド・シート125上の位置が検出できるだけでなく、コマンド・シート125の向きも検出できるようになっている。このため、コマンド・シート125に対して、移動ロボット110がどの方向を向いているかを検出できるようになっている。
さらに、移動ロボット110に読み取られるコマンド情報は、移動ロボット110からタブレットコンピュータ130に向けて送信されるため、そのコマンド情報を受信するタブレットコンピュータ130も、そのコマンド情報を解析することにより移動ロボット110のコマンド・シート125上の位置を検出できるようになっている。
なお、コマンド・シート125の代わりに、コマンド・シート125に記録されている位置の情報を示すコマンド情報と同様のコマンド情報をコマンド・パネル121に記録することにより、コマンド・パネル121を四角形領域に配置した上を移動ロボット110に移動させて、この発明の実施の形態2の対戦ゲームができるように構成してもよい。
次に、この発明の実施の形態2による対戦ゲームについて、詳細に説明する。
ここでは、二人の学習者である甲と乙により、対戦ゲームが行われるものとする。ただし、対戦ゲームは、二人だけでなく、三人以上でも同時に行うことができる。また、タブレットコンピュータ130のWi-Fi通信部811を介して、インターネットに接続することにより、遠隔地の学習者が、同時に対戦ゲームを行うことができるようになっている。
甲が操作する移動ロボット110とタブレットコンピュータ130は、移動ロボット110aとタブレットコンピュータ130aの組合せであり、一方、乙が操作する移動ロボット110とタブレットコンピュータ130は、移動ロボット110bとタブレットコンピュータ130bの組合せである。
対戦ゲームを開始するのにあたり、甲と乙は、それぞれのタブレットコンピュータ130にインストールされている対戦ゲーム用のアプリケーションソフトを実行する。そして、コマンド・シート125の大きさを選択する。コマンド・シート125の大きさは、7行7列、13行13列、及び21行21列の3種類が用意されている。学習者は、タッチパネル付き液晶画面701に入力することにより、この3種類の中から1種類のコマンド・シート125の大きさを選択できるようになっている。ただし、これ以外の大きさのコマンド・シート125を用意して、設定できるようにしてもよい。ここでは、7行7列のコマンド・シート125の大きさが選択されたものとして説明する。
図18には、対戦ゲームが行われているときのタッチパネル付き液晶画面701に表示される画像の一例が示されている。図18には、複数の仮想パネル122が配置されている様子が示されているが、最初は、仮想パネル122は表示されず、仮想パネル122の入力可能領域のみが表示される。この説明では、7行7列のコマンド・シート125の大きさを想定しているため、仮想パネル122の入力可能領域としてコマンド・シート125の大きさと同じ7行7列の格子点が表示される。仮想パネル122の入力可能領域として表示される格子点と、コマンド・シート125上に印刷されている十字線マーク127により構成される格子点とは、一対一の対応関係がある。すなわち、仮想パネル122の入力可能領域として表示される格子点の位置に仮想パネル122を入力することは、一対一に対応するコマンド・シート125上に印刷されている十字線マーク127の位置に仮想パネル122を配置することに相当する。また、コマンド・シート125上の十字線マーク127の位置に移動ロボット110が存在しているときには、一対一に対応する仮想パネル122の入力可能領域として表示される格子点の位置に移動ロボット110を表す画像が表示される。
次に甲と乙は、どちらが先攻で、どちらが後攻になるかを決定する。対戦ゲーム用のアプリケーションソフトでは、複数のタブレットコンピュータ130から同時に仮想パネル122を入力できないように排他処理が組み込まれている。このため、タッチパネル付き液晶画面701に仮想パネル122を入力する順番を決定する必要がある。タッチパネル付き液晶画面701への仮想パネル122の入力は、甲と乙が仮想パネル122を1枚ずつ交互に入力していくことになる。ここでは、甲が先攻になったとして説明をする。
続いて、甲と乙は、それぞれの移動ロボット110の対戦ゲームの開始位置に仮想パネル122aを入力するとともに、移動ロボット110をコマンド・シート125上の対戦ゲームの開始位置に配置する。例えば、対戦ゲームの開始位置としては、コマンド・シート125の対角位置であるコマンド・シート125上の1行1列の格子点領域126aと7行7列の格子点領域126dに配置される。この場合には、例えば、甲の移動ロボット110aが格子点領域126dに配置されて、乙の移動ロボット110bが格子点領域126aに配置されることになる。
以上が対戦ゲームを開始する前の準備であり、これ以降、対戦ゲームが開始される。
先攻の甲がタッチパネル付き液晶画面701を操作して、対戦ゲームを開始させると、まず、甲の移動ロボット110aは、コマンド・シート125に記録されているコマンド情報を読み取る。そして、甲の移動ロボット110aの移動ロボット側制御部501は、移動ロボット側Bluetooth(登録商標)モジュールI/F部509を制御することにより、甲のタブレットコンピュータ130aに向けて、読み取ったコマンド情報を送信する。
移動ロボット110からタブレットコンピュータ130に向けて送信されるデータ構造は、上述した図8(b)と同様である。最初の領域には、コマンド情報であることを示すデータが格納されており、2番目の領域には、読み取られるコマンド情報に対応するデータが格納されている。3番目から12番目までの領域には、送信すべきデータがないため、任意のデータが格納されるがここではゼロが格納されている。13番目の領域には、チェックサムが格納されている。
甲のタブレットコンピュータ130aが甲の移動ロボット110aから送信された通信データを受信した後、甲のタブレットコンピュータ130aのタブレット側制御部801は、受信データの解析を行う。受信データの最初の領域を解析することで、コマンド情報が送信されてきたことが検出され、2番目の領域を解析することで、コマンド情報の内容が検出される。コマンド・シート125に記録されているコマンド情報は、コマンド・シート125の7行7列の各格子点領域の位置と一対一に対応しているため、甲のタブレットコンピュータ130aのタブレット側制御部801は、甲の移動ロボット110aの現在位置を検出することができる。そして、タブレット側制御部801は、タッチパネル付き液晶画面コントローラ803を制御することにより、タッチパネル付き液晶画面701に甲の移動ロボット110aの現在位置に対応する位置に移動ロボット110の画像を表示させる。ここで、甲の移動ロボット110aの現在位置に対応する位置とは、タッチパネル付き液晶画面701に表示される仮想パネル122の入力可能領域として表示される格子点のうち、甲の移動ロボット110aの現在位置に一対一に対応する格子点の位置のことである。甲は、タッチパネル付き液晶画面701に表示される甲の移動ロボット110aの画像の位置を見ることで、甲の移動ロボット110aのコマンド・シート125上の現在位置を認識することができる。
さらに、甲のタブレットコンピュータ130aのタブレット側制御部801は、Wi-Fi通信部811を制御して、甲の移動ロボット110aから送信されたコマンド情報を乙のタブレットコンピュータ130bに向けて送信する。
一方のタブレットコンピュータ130から他方のタブレットコンピュータ130に向けてコマンド情報が送信されるときのデータ構造の例が、図8(e)に示されている。最初の領域には、コマンド情報であることを示すデータが格納されており、2番目の領域には、読み取られるコマンド情報に対応するデータが格納されている。3番目の領域には、送信元であるタブレットコンピュータ130を識別できる数値が格納されている。この通信データを受信したタブレットコンピュータ130が、この3番目の領域に格納されている数値を検出することにより、送信元のタブレットコンピュータ130を特定することができる。送信元のタブレットコンピュータ130が特定できれば、2番目の領域に格納されているコマンド情報の内容を読み取ることで、送信したタブレットコンピュータ130と組合せになっている移動ロボット110の位置を検出することができる。上述したようにコマンド・シート125に記録されているコマンド情報は、コマンド・シート125の各格子点領域の位置と一対一に対応しているため、コマンド情報に基づいて移動ロボット110の位置を検出できるようになっている。4番目から12番目までの領域には、送信すべきデータがないため、任意のデータが格納されるがここではゼロが格納されている。13番目の領域には、チェックサムが格納されている。
乙のタブレットコンピュータ130bが、甲のタブレットコンピュータ130aから送信されたコマンド情報を含む通信データを受信した後、乙のタブレットコンピュータ130bのタブレット側制御部801は、受信データの解析を行う。受信データの最初の領域を解析することで、コマンド情報が送信されてきたことが検出され、2番目の領域を解析することで、コマンド情報の内容が検出される。上述したようにコマンド・シート125に記録されているコマンド情報は、コマンド・シート125の7行7列の各格子点領域の位置と一対一に対応しているため、乙のタブレットコンピュータ130bのタブレット側制御部801は、コマンド情報に基づいて移動ロボット110の現在位置を検出することができる。そして、3番目の領域から、送信元が甲のタブレットコンピュータ130aであることを検出する。以上の解析の結果から、乙のタブレットコンピュータ130bのタブレット側制御部801は、甲の移動ロボット110aの現在位置を検出できる。その後、乙のタブレットコンピュータ130bのタブレット側制御部801は、タッチパネル付き液晶画面701に、甲の移動ロボット110aの現在位置を表示する。
このようにすることにより、乙は、自らのタッチパネル付き液晶画面701に表示される相手方である甲の移動ロボット110aの画像の位置を見ることができて、甲の移動ロボット110aのコマンド・シート125上の現在位置を認識することができるようになっている。
続いて、甲は、タッチパネル付き液晶画面701の仮想パネル122の入力可能領域として表示される格子点の位置に仮想パネル122を入力する。仮想パネル122を入力できる位置は、仮想パネル122の入力可能領域の中で、まだ、自分や他の学習者が仮想パネル122を入力していない格子点領域であれば、どこにでも入力することができる。仮想パネル122を入力する位置と対応するコマンド・シート125上の位置が、その時点における自らの操作する移動ロボット110の現在位置と一致している場合には、仮想パネル122と一対一の対応関係にある動作指示情報が、タブレットコンピュータ130から自らの操作する移動ロボット110に向けて送信される。そして、自らの操作する移動ロボット110は、受信する動作指示情報に基づいて所望の動作を行う。一方、仮想パネル122を入力する位置に対応するコマンド・シート125上の位置が、その時点における自らの操作する移動ロボット110の現在位置と一致していない場合には、動作指示情報は自らの操作する移動ロボット110に向けてタブレットコンピュータ130から送信されることはない。このため、移動ロボット110はその位置に停止したままの状態になる。自らの操作する移動ロボット110が存在しない位置に仮想パネル122を入力する意味は、他の学習者の移動ロボット110の進行を妨害することにある。
甲が、自ら操作するタブレットコンピュータ130aのタッチパネル付き液晶画面701に仮想パネル122を入力するには、仮想パネル122の種類と、仮想パネル122の入力可能領域の中の入力座標を示す行番号及び列番号と、仮想パネル122の方向とを定めて入力する必要がある。
具体的な仮想パネル122の入力操作方法としては、例えば、学習者が、タッチパネル付き液晶画面701に表示されている仮想パネル122の入力可能領域の格子点の位置を指で接触してタップの動作をする。この動作により、学習者がタップした仮想パネル122の入力可能領域の格子点の位置に仮想パネル122に描かれている絵柄と同様の画像が表示される。さらに続けて、学習者が、タッチパネル付き液晶画面701上の同じ格子点の位置でタップを繰り返すと、表示される仮想パネル122の絵柄の画像が次々に異なるものへと切り替わる。学習者は、その格子点の位置に入力しようと考えている仮想パネル122の絵柄の画像になったときに、タップを停止する。すると、その仮想パネル122の絵柄の画像に表示が固定されるとともに、コマンド・シート125に対する方向を入力する指示が表示(図示せず)される。このため、学習者は、コマンド・シート125に対するその仮想パネル122の方向を入力して決定する。このような操作を行うことにより、コマンド・シート125上のその格子点の位置における仮想パネル122の種類と、仮想パネル122の入力可能領域の中の入力座標を示す行番号及び列番号と、仮想パネル122の方向が入力されるようになっている。
なお、仮想パネル122の方向が入力されると、仮想パネル122の入力方向を基準にして、移動ロボット110の進行方向が決定されるようになっている。このため、学習者が、仮想パネル122の方向を選択して入力することにより、移動ロボット110を所望の進行方向に指定して進行させることができるようになっている。
甲のタブレットコンピュータ130aのタッチパネル付き液晶画面701に入力される仮想パネル122の入力情報は、タッチパネル付き液晶画面コントローラ803を介してタブレット側制御部801に検出されるようになっている。甲のタブレットコンピュータ130aのタブレット側制御部801は、入力された仮想パネル122の種類と、仮想パネル122の入力可能領域の中の入力座標を示す行番号及び列番号と、仮想パネル122の方向とを、仮想パネル用RAM810に記憶させる。また、タブレット側制御部801は、タッチパネル付き液晶画面701に、仮想パネル用RAM810に記憶されている全ての仮想パネル122の入力情報の内容を表示させる。
甲のタブレットコンピュータ130aのタッチパネル付き液晶画面701には、仮想パネル用RAM810に記憶されている全ての仮想パネル122の絵柄の画像が、仮想パネル122の入力可能領域の座標と入力された方向に一致させて表示されるようになっている。このため、甲は、タッチパネル付き液晶画面701に表示される仮想パネル122の絵柄の画像を見ることで、仮想パネル122の入力可能領域における全ての仮想パネル122の入力結果を一目で確認することができるようになっている。
さらに、甲のタブレットコンピュータ130aのタブレット側制御部801は、仮想パネル122の入力情報を、Wi-Fi通信部811を制御して、乙のタブレットコンピュータ130bに向けて送信させる。
一方のタブレットコンピュータ130から他方のタブレットコンピュータ130に向けて仮想パネル122の入力情報が送信されるときのデータ構造の例を図8(f)に示している。最初の領域には、仮想パネル122の入力情報を示す数値が格納されており、通信データが仮想パネル122の入力情報を保持していることが認識できるようになっている。2番目の領域には、入力された仮想パネル122の種類を識別できるように各種類の仮想パネル122に一対一に対応する数値が格納される。3番目の領域には、仮想パネル122の入力座標の行番号が格納される。4番目の領域には、仮想パネル122の入力座標の列番号が格納される。5番目の領域には、仮想パネル122の入力された方向を示す数値が格納される。そして、6番目の領域には、送信元であるタブレットコンピュータ130を識別できる数値が格納される。複数のタブレットコンピュータ130の間で通信が行われているため、この6番目の領域に格納されている数値を検出することにより、送信元のタブレットコンピュータ130が特定できるようになっている。送信元のタブレットコンピュータ130を特定することにより、送信元のタブレットコンピュータ130に入力された仮想パネル122の種類や、入力座標、入力方向などが検出できるようになっている。7番目から12番目の領域には、任意の数値が格納される。最後の領域には、チェックサムを計算した結果が格納される。
甲のタブレットコンピュータ130aから仮想パネル122の入力情報が送信されて、乙のタブレットコンピュータ130bに受信された後、乙のタブレットコンピュータ130bのタブレット側制御部801は、受信されたデータを解析する。タブレット側制御部801は、仮想パネル122の入力情報を含む受信データについて最初の領域を解析することで、仮想パネル122の入力情報が送信されてきたことを検出して、2番目の領域を解析することで、仮想パネル122の種類を検出する。また、タブレット側制御部801は、3番目と4番目の領域から、それぞれ仮想パネル122の入力座標の行番号と列番号を検出して、5番目の領域から、仮想パネル122の入力方向を検出する。そして、タブレット側制御部801は、6番目の領域から、送信元が甲のタブレットコンピュータ130aであることを検出する。
このように、乙のタブレットコンピュータ130bのタブレット側制御部801は、甲のタブレットコンピュータ130aに入力された仮想パネル122の入力情報を検出することができる。その後、タブレット側制御部801は、仮想パネル用RAM810に、甲の入力した仮想パネル122の種類と、入力座標である行番号及び列番号と、入力方向とを記憶させる。また、乙のタブレットコンピュータ130bのタブレット側制御部801は、仮想パネル用RAM810に記憶されている全ての仮想パネル122の入力情報の内容をタッチパネル付き液晶画面701に表示させる。具体的には、仮想パネル122を入力した座標に、入力された方向で、入力された仮想パネル122の種類を示す画像を表示する。
このようにすることで、乙は、タッチパネル付き液晶画面701に表示される仮想パネル122の絵柄の画像を見ることにより、仮想パネル122の入力可能領域における相手方である甲の全ての仮想パネル122の入力結果を確認することができるようになっている。
甲が仮想パネル122を入力する位置と対応するコマンド・シート125上の位置に、その時点において甲の移動ロボット110aが存在する場合、甲のタブレットコンピュータ130aのタブレット側制御部801は、タブレット側Bluetooth(登録商標)通信部802を制御して、仮想パネル122と一対一の対応関係にある動作指示情報を、甲の移動ロボット110aに向けて送信させる。動作指示情報が移動ロボット110に向けて送信される際の通信のデータ構造は、図8(d)に示されるような構造になっており、13個の連続するデータ配列として構成されている。最初の領域には、動作指示情報であることを示すデータが格納されており、2番目の領域には、移動ロボット110に所望の動作をさせる命令である動作指示情報の内容を示すデータが格納されている。3番目の領域には、仮想パネル122のコマンド・シート125に対する方向を示すデータが格納されている。例えば、タブレットコンピュータ130に入力される仮想パネル122のコマンド・シート125に対する方向が、コマンド・シート125の行番号が小さくなる方向に向いている場合、‘1’が格納され、行番号が大きくなる方向に向いている場合、‘3’が格納される。また、例えば、入力される仮想パネル122のコマンド・シート125に対する方向が、コマンド・シート125の列番号が大きくなる方向に向いている場合、‘2’が格納され、列番号が小さくなる方向に向いている場合、‘4’が格納される。4番目から12番目までの領域には、送信すべきデータがないため、任意のデータが格納されるがここではゼロが格納されている。13番目の領域には、チェックサムが格納されている。
タブレットコンピュータ130から送信されて移動ロボット110が受信するこの通信データについて、移動ロボット側制御部501が解析を行うことで、最初の領域からは、動作指示情報であることが検出されて、2番目の領域からは、動作指示情報の内容が検出される。そして、3番目の領域からは、入力される仮想パネル122のコマンド・シート125に対する方向が検出される。
続いて、移動ロボット110は、受信される動作指示情報に基づいて動作を実行するが、上述のように動作指示情報とコマンド情報とは同一の内容を有しているため、移動ロボット110は、動作指示情報と一対一の対応関係にあるコマンド情報に基づいて動作を実行する。
すなわち、移動ロボット側制御部501は、まず、動作指示情報と一対一の対応関係にあるコマンド情報を検出して、そのコマンド情報に対応する移動ロボット動作パラメータ600の設定値を動作パラメータ用ROM511から読み出す。そうした上で、そのコマンド情報に対応する移動ロボット110の動作を規定するプログラムを移動ロボット側制御部用ROM(フラッシュメモリ)521から選択して、前もって読み出している移動ロボット動作パラメータ600の設定値をそのプログラムへの入力として実行させる。このようにして、移動ロボット110に所望の動作をさせる。このとき、受信データの3番目の領域から検出される入力された仮想パネル122のコマンド・シート125に対する方向を考慮して、移動ロボット110のコマンド・シート125に対する方向が決定される。
移動ロボット110は、動作指示情報に基づいて動作を行うと、移動ロボット110の進行方向にコマンド・シート125の格子点領域の1個分進み、コマンド・シート125の格子点領域で、コマンド・シート125に記録されているコマンド情報を読み取り、読み取ったコマンド情報を、タブレットコンピュータ130に向けて送信する。そして、移動ロボット110の移動ロボット側制御部501は、移動ロボット110をそのコマンド・シート125の格子点領域の位置で停止させて、タブレットコンピュータ130からの動作指示情報を受け付ける状態にさせる。
上述のように、移動ロボット110から送信されるコマンド情報は、タブレットコンピュータ130に受信されて、タッチパネル付き液晶画面701に移動ロボット110の現在位置が表示される。それとともに、タブレットコンピュータ130は、Wi-Fi通信部811を介して、他方のタブレットコンピュータ130に向けて、受信したコマンド情報を送信する。タブレットコンピュータ130からのこの通信データを受信する他方のタブレットコンピュータ130は、受信したデータを解析することにより、送信元のタブレットコンピュータ130と一組として組合せを構成している移動ロボット110のコマンド・シート125上の現在位置を検出して、タッチパネル付き液晶画面701に移動ロボット110の現在位置を表示させる。
以上が、甲のタブレットコンピュータ130aに仮想パネル122を入力する際の一連の動きとなる。
次は、乙の側が、タブレットコンピュータ130bに仮想パネル122を入力する順番となる。乙が仮想パネル122を入力することにより、甲による動作と同様に一連の動きが行われる。
このように甲と乙が交互に仮想パネル122を一枚ずつ入力していき、どちらかの移動ロボット110が先に、コマンド・シート125の中心位置でありゴールと印刷されている格子点領域122eに到達すると、その移動ロボット110を操作している者が勝者になるというゲームの規則になっている。
次に、図18を参考にして、対戦ゲームの開始から図18に示されている仮想パネル122の配置に至るまでの、甲と乙の仮想パネル122の入力とタッチパネル付き液晶画面701の表示の動きを説明する。
先攻の甲は、最初の手として、甲の移動ロボット110aの対戦ゲーム開始位置である7行7列の座標位置に、矢印の画像の仮想パネル122を行番号が小さくなる方向に入力する。矢印の画像の仮想パネル122は、移動ロボット110の進行方向を決定させるコマンド・パネル121cの絵柄を画像にした仮想パネル122である。コマンド・パネル121cに基づく移動ロボット110の動作と同様に、矢印の画像の仮想パネル122の矢印の方向に移動ロボット110が進行する。
甲の入力により、甲の移動ロボット110aは、矢印の方向である列方向に1個だけ座標を進み、6行7列の座標位置で停止する。
このとき、甲と乙のタブレットコンピュータ130には、甲の入力と甲と乙の移動ロボット110の現在位置が表示されている。
甲の移動ロボット110aが6行7列の座標位置に移動した後、7行7列の座標位置には、対戦ゲームの開始位置であることを後からでも確認できるように仮想パネル122aの画像が表示される。
次に、後攻の乙は、最初の手として、1行1列の座標位置に、矢印の画像の仮想パネル122を行番号が大きくなる方向に入力する。乙の移動ロボット110bは、2行1列の座標位置に移動して停止する。
甲と乙のタブレットコンピュータ130には、甲と乙のこれまでの全ての入力結果が表示されるとともに、甲と乙の移動ロボット110の現在位置が表示される。
続く甲と乙のそれぞれの二手目は、甲は2行5列に進入禁止の仮想パネル122gを、乙は5行2列に崖の仮想パネル122cを入力している。このように、仮想パネル122の入力位置は、移動ロボット110が存在しない位置にも入力できるようになっている。しかし、このような入力に対しては、移動ロボット110は停止したままであり、次の座標位置に進むことができないという規則になっている。
続く甲と乙のそれぞれの三手目と四手目は、矢印の画像の仮想パネル122の入力となっている。甲の三手目と四手目は、6行7列と6行6列に列番号が小さくなる方向に入力されている。乙の三手目と四手目は、2行1列に列番号が大きくなる方向、2行2列に行番号が大きくなる方向にそれぞれ入力されている。
ここまでの甲と乙の入力によって、それぞれの移動ロボット110の画像は、図18に示されている位置に表示される。甲の移動ロボット110aは、6行5列に表示されて、乙の移動ロボット110bは、3行2列に表示される。
次に甲は、乙の移動ロボット110bの進行を妨害する目的で、五手目として3行3列の位置に山の仮想パネル122bを入力している。上述したように、山の仮想パネル122bは、この仮想パネル122bの方向に直進できず、この仮想パネル122bの1個手前の位置では移動ロボット110が右向きに進まなければならないという規則になっている。
続く乙の五手目は、5行5列の位置に一時停止の仮想パネル122fが入力されている。上述したように、一時停止の仮想パネル122fの1個手前の位置に移動ロボット110が存在する場合、その移動ロボット110に対する仮想パネル122の入力は一回休みとなり、スキップされるという規則になっている。このため、甲は、仮想パネル122の入力ができず、続けて乙がもう一回入力することになる。
ここまでの甲と乙の全ての入力結果、及び、甲と乙の移動ロボット110の現在位置が、甲と乙のタブレットコンピュータ130に表示される。このときの甲のタブレットコンピュータ130aのタッチパネル付き液晶画面701には、図18に示されている画面と同様の表示がされる。
以上が、対戦ゲームの開始から図18の仮想パネル122の配置に至るまでの、仮想パネル122の入力と画面の表示の説明である。
上述したように、甲と乙が入力した仮想パネル122の入力情報、及び、甲と乙の移動ロボット110がコマンド・シート125から読み取ったコマンド情報が、Wi-Fi通信部811を介して送受信されることにより、それぞれのタブレットコンピュータ130間でデータが共有されるようになっている。このようになっているため、対戦ゲームに参加している全ての学習者の移動ロボット110の現在位置と、仮想パネル122の入力結果がそれぞれのタブレットコンピュータ130にデータ共有されて、記憶されて、そして、表示される。
移動ロボット110の進行方向を制限するように機能する仮想パネル122bから仮想パネル122gまでの仮想パネル122が入力されている場合、それぞれのタブレット側制御部801は、学習者の入力に対して、その入力を許可したり、禁止したりして、対戦ゲームの規則が保持されるように制御するようになっている。また、学習者が、誤った入力をした場合に、その入力をした学習者が敗者となるような規則にして、対戦ゲームを終了させるようにしてもよい。
なお、上述の対戦ゲームの説明では、移動ロボット110の開始位置を対角位置である図16に示す1行1列の座標位置となる格子点領域126aと7行7列の座標位置となる格子点領域126dにして、ゴール位置としてはコマンド・シート125の中心位置となる格子点領域126eに設定する場合を述べた。しかし、対戦ゲームの開始位置及びゴール位置は、任意に設定できることはもちろんである。
また、対戦ゲームを実現できる複数のタブレットコンピュータ130のみを使用して、コマンド・シート125上に配置される移動ロボット110を使用しない構成で、複数の学習者が、タブレットコンピュータ130上のみで対戦ゲームを実現することも可能である。
この実施の形態2によっても、上述の実施の形態1と同様の効果を得ることができる。
また、この実施の形態2によれば、学習者は、タブレットコンピュータ130に仮想パネル122を入力することにより、仮想パネル122と一対一に対応する動作指示情報が移動ロボット110に送信されて、受信される動作指示情報に基づいて移動ロボット110に動作を行わせることができる。このため、学習者は、コマンド・パネル121を実際に配置しなくても、タブレットコンピュータ130に仮想パネル122を入力することにより、同様の学習をすることができる。この結果、学習者は、コマンド・パネル121を配置する手間が省かれ、効率よくプログラミングの学習をすることができる。
さらに、移動ロボット110とタブレットコンピュータ130の組合せを複数組使用して、複数の学習者が同時に対戦ゲームに参加することができる。このため、学習者間でコミュニケーションをとりながら、対戦ゲームを進めることができる。