ロボジョイちゃれんじ教室

4-2 ライントレース入門

第1回「センサ1個だけでトレースする」

◆最も簡単なライントレースプログラム

ライントレース用のシートを床に広げます。

まず、最初に光センサの特性をチェックします。
「View」をメニュー選択して、「Reflected light」→「Port3」を選択します。

赤色LEDの光が直径1.5cmくらいの範囲を照らします。その光を床面の「白」と「黒」の中間に合わせて、値を読み取ります。
このセンサ値はあとで使いますので、覚えておいてください。

光センサと床面の距離は1cmくらいがベストです。
写真のようにシートが平らじゃないと、センサの値が数%変わってしまうので注意してください。

こちらが「ロボットエデュケータ」でも紹介されている、おそらく一番簡単なプログラムです。 NXTソフトウェアを使ってプログラムを作りました。これを1号機と名付けました。

このプログラムは、「スイッチブロック」を使って、光センサの値を「白」か「黒」かに分岐させています。
[Download]ライントレーサ1号機
(教育用NXTソフトウェア2.0で作成)

「スイッチブロック」の設定です。

こちらがプログラムが動いているときのムービーです。
[Movie]1号機の動作中のムービー(youtube)

よく見るとロボットはジグザグに進んでいます。
これはなぜでしょうか?

ライントレースロボットの動きを図にするとこのようになります。
青い矢印がC側のモータを動かした時の動き、
赤い矢印がB側のモータを動かした時の動き、です。

ロボットは BとCのモータを交互に動かして、線の切れ目を探しながら前に進みます。ロボットがジグザグに進んでいるのはこのためです。

スイッチブロックには先に測定した「白と黒の中間」のセンサ値を入力します。
自分の場合だと「42」が中間だったので、「42」を入力しました。
ここが「白でもない黒でもない位置」ということになります。