めまい
レゴの教育用ロボットMindstormsを引き続き調査しています。
当面は、線を読み取って進むライントレースのプログラムです。
プログラム言語は多数用意されており、C、java、VBといった汎用的なプログラム言語や、アイコンを繋いでフローチャートを組み立てるようにしてプログラムを作成するROBOLABというソフトもあります。
ROBOLABは、プログラム言語を知らなくてもアルゴリズムを組み立てることができるので、Mindstormsの代表的なプログラム手法の一つのようです。
このソフトも同時に購入しているので、まずはこのソフトの使い方を覚えようと3日ほどつかってみました。
なるほど、これはこれでよくできたソフトのようですが、Windows標準のGUIと微妙に何かが異なるからか、どうもしっくりときません。
ということで、我慢できずに、Javaの開発環境を色々調べながら整えてみました。
わたしはてっきり、どんな言語を使ったとしても、パソコン側でコンパイルした結果、Mindstormsで理解できるマシン語なりの言語に翻訳されてから、Mindostormsにソフトが送られるものだと思っていましたが、どうやらその認識は間違っていたようです。
javaで開発する場合は、LeJOSと言う名のjavaVMを、既存のMindstormsのRAM上のファームウェアと置き換えないといけないらしく、javaとRABOLABを気分で使い分ければ良いやと思っていましたが、なかなかそういう訳でもないようです。
で、LeJOSをPCに設定しましたが、悪戦苦闘して結局最新バージョン3.0ではまったく通信ができずじまい。一つ前のバージョンを使用してようやく、動きましたが、あいかわらず赤外線通信は不安定なままです。eclipseのplug-inもURLがNot Foundだし。
とりあえずそんな感じの手探り状態を打破するために、行きつけの図書館へ情報を集めに行きました。
見つけたのは、モーターの動力を効率よく伝える方法の本でした。
小さな歯車に動力を与えて大きな歯車に伝えれば軽い力で大きな力がパワーが得られて、大きな歯車に動力を与えて小さな歯車に伝えれば大きな力で早い回転が得られるとのこと。
典型的な文系人間だった私には、これを高校時代に知っていれば、愛車だった原チャリ「通学2号」をもっと速くしてやれたのに・・・と思い出して涙するほど、目から鱗な情報がたくさん得られました。
そして更に、インカ帝国では、車輪ですらまだ発明されていなかったのが、わずか千数百年でこんなものまで生み出してしまうとはと、人類の可能性とレゴの奥深さに感動を覚えつつ、とんでもない世界に足を踏み入れてしまったと軽いめまいを覚えた週末です。