我が家にあるMINDSTORMS ROBOTICS INVENTION SYSTEM(RIS)は英語版バージョン1.0である。数年前に日本語版のRIS2.0が発売になっており,標準のプログラム開発環境で変数が使えるようになったのをはじめ機能が充実し,チュートリアルもわかりやすくなっていると聞いていた。

 しかし,長い間使ってきたこのわかりやすいとは言い難い英語版RIS1.0に愛着もあり,RIS2.0の良い評判を聞くとなおさらRIS1.0に判官びいきしたい気持ちになっていた。それが,訳あってRIS2.0を借りて使ってみる機会を得た。

 RISの本体であるRCXには大きな違いはみられないのであるが(ACアダプタを使えなくなったのは残念だが),高機能になっているのにもかかわらず,わかりやすく,ロボットを作りやすくなっているのである。こうしろうの評価は「レゴらしくなった」である。うまくいかない理由がわからないという状況に陥りにくくなっているように感じられた。より「おもちゃ」としての完成度が上がったと言えよう。

 まず,ハードウェアとしてのレゴブロックが洗練され,ロボットが作りやすくなっている。RIS1.0では,普通のレゴブロックに特殊な役物部品がプラスされているイメージだったが,2.0は目的のハッキリしたパーツ,プラス汎用的な部品という感じだ。



 最初に作るローバーも,1.0のロバート君(第2話参照)よりカッコイイ。



 こうしろうと2人でタッチセンサーやライトセンサーを付けてプログラムを試しているとかずも寄ってきた。

 触ってみた感じではRCXのハードウェア,つまりCPUやROM,RAMなどのメモリの容量が,RIS1.0と大幅に変更された感じはしない。大幅に変わったのはプログラム開発環境とチュートリアルである。プログラム開発環境が日本語なのでわかりやすい。コマンドも全て日本語化されている。

 早とちりが得意なかずに言わせれば「わかりやすー。書いてあるまんまやん」ということらしい。小学6年生のかずは英語版でどれだけ説明されても,実際にそのプログラムブロックを使ってみなければ役割を実感できなかったのだろう。

 しかし,プログラミングと日本語にはどうも相容れぬ部分があるのだ。こうしろうと「なんのこっちゃ」と首をひねったのが,赤いプログラムブロックの「リピート期限」。repeat ~ untilのことだとわかるまでに時間が掛かった。実は,RIS2.0ではプログラムを保存すると,拡張子がlscのファイルとして保存されるのだが,そのファイルをエディタソフトで開いてみたら,リピート期限のところがrepeat ~ untilとなっていたのである。

 リピートを繰り返しではなく,そのままリピートにしておくのは正しい判断だと思う。ある条件が成り立つまで繰り返すuntilをアンティルのままにしておくわけにはいかないという律儀さにも共感する。しかし,期限と言われると,どうもしっくりこない。何か返さなくていけないのかと思う。



 プログラムブロックで一瞬,嫌な感じがしたのがビッグブロックである。見えにくいかもしれないが「前進 1.0秒」などという複数のコマンドを組み合わせたプログラムブロックがビッグブロックである。

 RIS1.0でプログラムを作ってきたものにとって,ローバーを前進させるという動作は,2つのモーターの回転方向を設定して,回転速度を決め,モーターをオンにしてwaitで指定した時間,その動作を続けさせるという面倒だが,全てを自分でコントロールできるものであった。それを前進1.0秒とか右ターンなんてプログラムブロックを作って,自分で細部までコントロールできない出来合いのおもちゃにしやがったのかと思った。

 早とちりだった。スモールブロックという従来と同じ単機能のブロックが別に用意されているだけでなく,ビッグブロックに控えめに付いている小さなボタンをクリックすると,中からスモールブロックが出てきて,設定を変更できるのである。

 やはり,一番大きな変化は前バージョンではNQC(C言語に似たMindStormsを動かすための言語)をはじめとする他の言語でしか使えなかった変数がRISの標準開発環境で使えることである。RIS2.0では変数に名前を付けて定義し,値を代入したり計算したりできるのだ。

 変数が使えると言うことは,大げさに言えば過去の記憶が持てるということである。そしてその記憶に基づいて判断ができるということである。具体的に言うと,以前検知したセンサーの値と現在のセンサーとの値を比較して動作を変えたり,「右に2回曲がって,次に左に 1回曲がった」などと過去の履歴をたどれるのである。

 また,RCXCCやBrickCCなどの統合開発環境でないとできなかったセンサーや変数の値をウォッチする機能まで付いている。この辺でこうしろうは「ヘェー」とトリビアの泉みたいな声をあげた。

 トレーニングミッションを早足で終了し,すっかりRIS2.0のとりこになったかずと,普通のチャレンジを通り越して,プロチャレンジに挑戦する。



 かなり手の込んだロボットである。マニュアルに作り方は載っていないのだが,作成過程の画像を拡大・縮小して見ることができるので,困ることはない。



 これはデリバリボットといって,大きなタイヤを天板とする専用の荷台に荷物を載せ,キャタピラで巻き上げ,どこかに運ぶロボットである。荷台があることをアームに付けたタッチセンサーで感知し,もう一方のアームの付け根のライトセンサーが荷台をはさんだことを光の変化で知り,キャタピラを巻き上げる。巻き上げ終了の判断にもう1つのライトセンサーを使っている。

 モーター2個,タッチセンサー2個,ライトセンサー1個という主要部品の構成は変わってはいない。

 しかし,RIS1.0と比べると,その完成度の高さに感心する。敷居が低くなって,かつ奥行きが広がった感じがする。小学生がひとりで始めても何とかなりそうだし,標準のプログラム環境だけでRCXの能力を味わい尽くすことができそうだ。(ちょっと興奮しすぎの試乗レポートのようになってしまった。)

 「どうしても,RIS2.0を買わんなんならん」というかずに「そうやな,ほしいな」と同調しかけたところで,「また,そんなもんばっかり!」という妻の視線が突き刺さった。イテッ。