ロボットを線に沿って進ませられるか?

ロボットプログラミング

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

ロボットを使ったプログラミング教室で、よく行われるのがライントレースです。

線をトレースする。つまり、黒い線に沿ってロボットを走らせるというものです。

ロボットは色を識別するセンサーからの情報を得て、黒かどうかで判断して方向を決めて進めます。

そういえば、私はまだロボット実験講座で使っているコーディロッキーというロボットでライントレースをやっていないなあ、と気づきました。

そのうちやろう、と思いつつしばらく忘れていたところでした。

先日ついにやってみました。

まずはコース作りから


まずはコースを用意しないといけません。

スーパーで模造紙を買ってきました。それを広げて黒いマジックで線を引いてコースを作ります。

線は太くしておかないとはみ出してしまします。

急カーブだと曲がるのが難しくなりますから、最初はゆるいカーブで、後半は少しきつくします。

そんなことを意識しながらコースを作っていきました。

センサーの確認をしよう

コースができ上ったので、ロボットを持ってきました。まずはセンサーの確認をします。ちゃんと白と黒を区別できるよね。

まずは白いところに乗せると色センサーの反応は白。

ところが黒い線上に乗せると、「キイロ」。再び乗せても「キイロ」。何度かやると、「クロ」や「ムラサキ」となったりします。

黒い線の色をきちんと識別できないのです。

部屋の明るさにも影響されるでしょうけれど。これは誤算でした。違う色で線を引けばよかったかな?

1回目のプログラムのできは?

それでも気をとりなおして、とりあえずプログラムを作ってみました。

白か黒かでは判定できないので、白かそれ以外か、で判定して方向を変えるようにしました。

まずは作成した1回目のプログラムで走らせます。

順調に走っている。と思ったら、最初のカーブで早くもコースアウト。

曲がらずにそのまま直進してしまいました。

まあ、1発でうまく行くとは思っていませんでした。

でもこの状況だと前途多難な気がします。mBlockというスクラッチのようなソフトで作るのは難しそうです。

今回、ライントレースのプログラムは、次男の二郎にも「作ってみて」と言ってあります。

二郎は小学生のころ、ロボット教室に通っていました。そこでライントレースもやりました。

ただ、今回使っているmBlockのソフトは初めてです。果たしてうまくライントレースするプログラムを作れるでしょうか?

私とどっちが先に完成させるか。そしてどっちが速くコースのゴールまで戻ってこれるか。競争です。

こんなことをするのも楽しいものですね。

コメント