4月23日 明るくなる前に目が覚めてしまった。年のせい?いや,今日は富山県ITセンターという施設でロボット体験会の講師を務める予定なので,なんとなく気がせいてしまったのだ。ITネットワークアシストたかおか(略称NAT)というボランティア団体に入っている私は,これまでも市の設備や小学校でロボット講習会の講師を務めてきたのだが,NATが富山県ITセンターの指定管理者になったので,県ITセンターでもロボット講習会を行うことになったのだ。

 朝,NATの仲間を車に載せ,県ITセンターに向かう。さすがに県を冠する施設は立派だ。パソコンなども,ここで仕事がしたくなるほど充実している。住みつきたい。
 体験会の数日前から当日の台本を用意した。最近はロボット講習会慣れしているので,当日のメニューだけを決めて詳細はその場で考えることが多い。そのほうが私自身が緊張感を持続できて,ダレないからだ。
 でも,今回はしおらしく台本を用意してしまった。富山県ITセンターという名前にプレッシャーを感じたからだろうか。

 最初はこんな風にはじめようと書いた。

【はじめに】
今日は体験会ということで2時間という短い時間でロボットの作成,プログラムの作成,車庫入れゲームといろいろやりたいのでムダなく進めたいと思います。だから,説明を聞くときは静かにしてください。ロボットを組み立てたり,ゲームをするときはにぎやかに楽しくやってください。


 別に書いておかなくたって,いつもこんなことは話しているのだ。台本に頼っていたせいか自己紹介するのを忘れた。台本に「自己紹介をする」と書いておけばよかったか。言うこと,やることだけを箇条書きにしておくほうがよかった。
 しばらく話しをしてから,「ああ,自己紹介を忘れてましたね。NATの金宏です。」と言った途端に台本はどうでもよくなった。

   保護者向けには次のような惹句を用意した。

 情報工房でのロボット体験会や講習会では,LEGOマインドストームのチームチャレンジセットという教材を使います。 LEGOマインドストームではLEGOブロックでロボットを組み立て,パソコンで作成したプログラムをマインドストームの本体に転送して,ロボットを動かします。つまりリモコンで操作するロボットではなく,プログラムを内蔵して自分で勝手に動く自律型のロボットを作ります。

 ロボット講習会の目的は次世代のITを創る人を育てることです。LEGOマインドストームは,パソコンでプログラムを作るだけでなく,手を使ってブロックを組み立てるバランスの取れた教材です。手を使って創意工夫をすることで,学校の勉強やスポーツでは味わえないようなものづくりの面白さを感じることができるでしょう。自分で考えてロボットを組み立て,プログラムを作成するので論理的思考能力が育つはずです。また,ブロックで作ったロボットはこわれやすく,思い通りには動かないことが多いので,改良を繰り返していくうちに問題解決能力も養われることでしょう。


 この体験会は,5月からの始まる連続的な講習会の呼び水なのだ。でも,見渡す限り保護者は1,2名しかいなかったので4行分程度しか話さなかった。

 マインドストームの説明は以下のように台本に書いた

 マインドストームの本体RCXは小さなコンピュータです。入力ができて,計算や記憶,そして出力ができます。みなさんの学校にある普通のコンピュータであるパソコンは キーボードから文字を入力し,計算や加工をして,ディスプレイに出力します。
 RCXはセンサーの値を入力として受け取ります。マインドストームに付いているセンサーは,光(ライト)センサーとタッチセンサーです。光センサーは光を放ち,その反射を読み取り,ロボットが暗いところの上にいるか明るい場所の上にいるかを判断します。タッチセンサーは小さな突起の付いた部品で,何かにぶつかっているかどうかを判断します。走っていて,何かにぶつかったら向きを変えるようにプログラムを作ることで障害物をよけて走るロボットを作成できます。
 出力はモーターを回すことです。モーターの回転をギヤで伝えタイヤを回転させるだけでなく,ギヤの組み合わせで複雑な動きをさせることができます。
 パソコンで作ったプログラムはIR TowerからRCXの赤外線ポートに送ります。


 まあ,このあたりの説明はまともだ。でも,私は左手にテストシートを持ち,右にローバーを握り,「こんな風に動かすのだ」とぐりぐりとローバーが動く様子を示していた。

 次に,ライントレースのデモンストレーションを行う。「集まれ,集まれ」というと子供たちはすぐに前に出てくる。高岡に比べるとやはり少し町の子なのか,モジモジ君はいない。

 こんなプログラムで,ライントレースのデモを見せる。黒い線をなぞるようにロボットが進む側で「ここから光が出て,ここで反射を読みとって暗かったら,明るかったらと判断してモーターを動かすのだ」と説明するが,子供たちはまだ,ポカーンとしていた。

 次にタッチセンサーを使うプログラムのデモを見せる。走っているローバーのバンパーにタッチして,タッチセンサーを押し込むと,ローバーが6秒間止まった後,また走り出すと説明し,RUNボタンを押して走らせると誰かがパッと手を出してバンパーを押し込んだ。ロボットは止まり,また走り出す。すると,また誰かが手を出した。このとき「ああ,この体験会はうまくいく」と感じた。

 今回はまだセンサーを使わないで,シーケンス制御というロボットの動かし方を勉強しましょうと,たとえば5秒間真っ直ぐ進み,次に3秒間右に回り,止まるというように時間を指定してロボットを動かすことをシーケンス制御と呼ぶのだと説明した。

 ローバーの作成を始める。上のローバーの画像のタッチセンサーとライトセンサーをはずした状態になるまで,ロボットを組み立てる。あらかじめパーツを揃えてあったので30分程度でみんなローバーを完成させた。今回は体験会なので,短い時間でいろいろな体験をできるようにパーツを揃えておいたが,たくさんの部品の山からガチャガチャと部品を探す苦労も味あわせてあげたい。たくさん触れば触るほど,部品の見分けは速くなる。

 1番のスロットに入っているプログラムを実行してまっすぐ進むことを確認する。

 「できた,できた」と喜ぶ声がする。待て,待て,お楽しみはこれからだ。

 ROBOLABソフトウエアを起動して,プログラムの作り方を教える。関数パレットから,コマンドをブロックダイアグラムに配置して,ツールパレットのストリングツール(糸巻き)でつなぐ方法を教える。

 AとCのモーターを順回転させると直進すること,片方のモーターを止めてもう一方だけを回転させると,どっちかに曲がることを説明して,まずL字型に進むプログラムを作ってみる。L字型にローバーを動かしてみせてから,プロジェクタで映しているお手本のプログラムを消す。

 「さあ,自分で作ってみよう」というプログラムの作成を促す。ちゃんと聞いていなかったのか,説明したことを聞き返す子もいたが,結局はみんな成功する。子供の誇らしげな表情はいいなあと思う。

 最後に車庫入れゲームをする。スタートラインから走り出して,車庫に入るようにプログラムを作成する。「バックで入れると,それらしくていいよ」とローバーを15分で組み立てた子には難しい注文を出す。車庫と言っても,黒いビニールテープで線を引いただけのものだ。

 最近,私は黒ビニが気にいっている。ライトセンサーを使うロボットのテストもこの黒ビニで可能だろう。「黒ビニ一巻きあればいい」と言えるようにもっと芸を磨いてみようか。

 何秒真っ直ぐ進んで,どれだけ曲がり,何秒進めば車庫に入るのかめいめいに調べ,プログラムを作成する。高学年の参加者の多いなか,小学三年生の参加者がいち早く車庫入れを成功させたのが目をひいた。彼は「テストしてはプログラムを変更」というループをちょこまかと回し,結果を出した。

 彼を見ていたら「そうだわな,プログラミングの入門時には,あまり難しく考えず,とにかく動くプログラムを作り,テストをして結果を整えていく方法がいい」とあらためて気づいた。達成感を味わった後に理屈を考えることができれば身に付くだろう。