Yが昨日組み立てたROBODESIGNERのテストロボットですが、今日は光センサーの部分をしっかり作って、ライントレースをさせるまでやろうということになりました。
昨日の実験で、光センサーのところには白色LEDを付けることにしていたので、Yが(お得意の)ハンダ付けをしました。
これで、あとはプログラムをするだけのハズなのですが・・・
まずは、データロガーで床の明るさを計ってみると、黒、緑、白は判別出来そうです。 しかし、銀色が白と同じような数値で判別出来そうにありません。
このROBODESIGNERは、ロボカップの上位大会常連組は皆経験しているようです。 富永先生からもコメントをいただきましたが、昨年のジャパンオープン大阪でいっしょだった「あめふらし☆」のロボットもROBODESIGNERだったなあ、と思い出しました。 そのチームのプレゼンに銀色の被災者を発見できないので、通電方式で探索するようにした、と書いてありました。 やっぱり、銀色の判別は難しいのですかね。
とりあえず、黒線だけを判別してライントレースをするようにプログラムを作り、ロボットに転送して実行してみました。 確かにライントレースをするのですが・・・すぐに線を外れてしまいます。 原因は恐らく 「電池が単二×4本で本体が重い」「モータを止める命令を実行してもすぐに車輪が止まらない」の2つだと思います。 これは結構難問だぞ。 モータに付いているギア比を変更できるようなので、もっとゆっくり動くように変更してみよう。
ロボットを開発していく環境についてですが(私見ですが)パソコン本体との接続のRS-232Cというのが、(今の時代では)時代遅れのように感じます。 そもそもパソコン側にRS-232Cのポートが無いものが多くなっています。(USB変換ケーブルを買うしかないのでしょうね。) また、このRS-232Cのケーブルをロボットに接続する部分の強度が心配です。 プログラムの転送に必ずケーブルを接続しますが、ロボットを動作させるときにはケーブルを抜きます。 このように頻繁に抜き差しをする部分なのですが、耐久性は大丈夫なのでしょうか?
それから、光センサーの閾値を決めるのが大変です。 センサー1つ1つに対してデータを取得するプログラムをロボットに転送して、それを実行して、色毎の値を取得して・・・やっと、メインのプログラムの閾値を設定して、ロボットに転送して実行となります。 この長い道のりを、大会の会場で競技開始前の短い時間のなかで調整するのは神業のように思います。 関西のチームはみんなこんなことをしていたのでしょうか。 なんだかすごいな。
ロボット単体で、光センサーの値を読み取れるLEGOは、システムとして完成度が高いことを改めて認識しました。
まだ、結論を出すのは早いのですが・・・いまのところ我が家のチームはLEGOから乗り換えるメリットはなさそうです。 まあ、いろいろ体験させることができたし、無駄ではなかったな・・・と自己満足しておこう。
全国大会の時に、自作機のチームのメンバーが、パソコンを競技台の近くに持ってきて、ロボットとケーブルをつないで競技台の(黒線や床や被災者の)明るさを計っていました。 これが、必要ないだけでもLEGOは便利だと思います。 今回、ROBODESIGNERを体験しただけでも、いろいろなことが分かりました。 まあ、これも経験ということで。 いずれ、TJ3もやってみたいです。