ロボットプログラミングの定番、ライントレースに挑戦

ロボットを使ったプログラミング教室で、よく行われるのがライントレースです。
線をトレースする。つまり、黒い線に沿ってロボットを走らせるというものです。
ロボットは色を識別するセンサーからの情報を得て、黒かどうかで判断して方向を決めて進めます。
そういえば、私はまだロボット実験講座で使っているコーディロッキーというロボットでライントレースをやっていないなあ、と気づきました。
そのうちやろう、と思いつつしばらく忘れていたところでした。
先日ついにやってみました。
まずはコース作りから

まずはコースを用意しないといけません。
スーパーで模造紙を買ってきました。それを広げて黒いマジックで線を引いてコースを作ります。
線は太くしておかないとはみ出してしまします。
急カーブだと曲がるのが難しくなりますから、最初はゆるいカーブで、後半は少しきつくします。
そんなことを意識しながらコースを作っていきました。
センサーの確認をしよう
コースができ上ったので、ロボットを持ってきました。まずはセンサーの確認をします。ちゃんと白と黒を区別できるよね。
まずは白いところに乗せると色センサーの反応は白。

ところが黒い線上に乗せると、「キイロ」。再び乗せても「キイロ」。何度かやると、「クロ」や「ムラサキ」となったりします。
黒い線の色をきちんと識別できないのです。
部屋の明るさにも影響されるでしょうけれど。これは誤算でした。違う色で線を引けばよかったかな?
1回目のプログラムのできは?

それでも気をとりなおして、とりあえずプログラムを作ってみました。
白か黒かでは判定できないので、白かそれ以外か、で判定して方向を変えるようにしました。
まずは作成した1回目のプログラムで走らせます。
順調に走っている。と思ったら、最初のカーブで早くもコースアウト。
曲がらずにそのまま直進してしまいました。
まあ、1発でうまく行くとは思っていませんでした。
でもこの状況だと前途多難な気がします。mBlockというスクラッチのようなソフトで作るのは難しそうです。
今回、ライントレースのプログラムは、次男の二郎にも「作ってみて」と言ってあります。
二郎は小学生のころ、ロボット教室に通っていました。そこでライントレースもやりました。
ただ、今回使っているmBlockのソフトは初めてです。果たしてうまくライントレースするプログラムを作れるでしょうか?
私とどっちが先に完成させるか。そしてどっちが速くコースのゴールまで戻ってこれるか。競争です。
こんなことをするのも楽しいものですね。
コメント