マインドストームNXTの機能をマインドマップで書いてみた。マインドマップは半構造なので,思いついたことをブランチとして追加し,一目で全体がわかる図を簡単に作成できる。特に事前に複雑なルールを勉強する必要がないところが,マインドマップの良いところだ。

 FreeMindというマインドマップ作成ツールが無償で利用できるので,議事録やシステム開発時の要件分析に使っていきたいと思っている。FreeMindのバージョン0.8は日本語に対応しており,ダウンロードしてインストールするだけで,快適に使うことができる。

 センサーのうち,グレーの雲で囲まれているタッチセンサーは前回勉強した。今回,小学3年生の娘ほのちゃんはアフレルのデスクロボ第2号にしたがい薄緑色の雲の部分,光センサーとサウンドセンサーに進む。

 光センサーを下向きに,ロボットに接続する。光センサーは反射光を読み取るので,地面の色を感知してロボットの動作を変えることができる。

 プログラムには光センサー待機ブロックを使う。

 前進し,光センサーの返す値が50より小さくなったら,後退するプログラムだ。ほのは不等号を知らなかったが,20とか40とか50より小さい値を示すと説明したら,「わかった」と言った。

 光センサーは白い紙の上では大きな値を返し,黒い線の上では小さな値を返す。ロボットが黒い線まで進み,暗くなったと感知してバックすれば目的は達成だ。

 事前にView機能を使って,光センサーが返す値をほのと一緒に何度も確かめてみた。NXTはRCXに比べ,コンピュータらしくなっているのでView機能を選び,光センサーが接続されているポートを指定して,ビューするという操作のネストが深くなっている。だから,ほの一人では難しいのだ。

 デスクロボのテキストには,View機能の使い方がビジュアルに説明してある。だが,簡単な英語が読めるか,あるいは,ある程度慣れてしまわないと操作が難しい。

 ところが,事前に何度か測っても,光センサーは照明や影の影響を受けやすいので,テストシートの白い部分でバックを始めたりと不安定な動作をした。ほのはこのあたりで少し興味を失ってしまった。でも,「サウンドセンサーも試してみるか」と誘うと迷いながらも同意した。

 サウンドセンサーを組み立てて,ロボットに取り付ける。「ほのちゃん,上手になったね。慣れてきたね」とほめて,しばらく他のことをしていたら,前後が逆になっていた。毎年,ロボット教室を開いている経験から言っても,女の子は前後左右を間違える傾向が強いようだ。その分,細かいところは間違えにくい。

 サウンドセンサー待機ブロックを使い,大きな音がしたら,バックするプログラムを作る。光センサー待機ブロックを使ったプログラムと内容は同じである。黒い線を感知するか,音を感知するかの違いがあるだけだ。

 小さな音に反応しないように,40より大きな音がするまで待機するようにプロパティを設定する。走らせて,ポンと手をたたくと戻ってくる。ほのが「戻っておいで」と大きな声で呼ぶと戻ってくる。サウンドセンサーは反応が良い。
 
 「おもしーね。ペットみたいやね」とサウンドセンサーは,ほのを夢中にした。