ライントレース
ライントレースとは
赤外線センサーモジュールの働きにより、床などの黒い線に沿ってロボットが自動で走る状態を言います。
画像のモデルでは、ロボットの前についている二箇所の赤外線センサーモジュールが、黒い線と白い床を判断しています。
ライントレースしているロボットを観察すると、黒い線を追っている様に見えますが、プログラムの仕組みとしては、実は黒い線を避けて走行しています。
赤外線センサーは、自ら出した光が物体に反射し、戻ってきた光を感知した時は「オン」(1)になり、無感知の時は「オフ」(0)になります。黒い色は光を吸収してしまいほとんど反射しませんので、センサーは反射を感知せずに、離れた時と同じ「オフ」になる仕組みです。
ロボットを持ち上げた時も光が反射する物体が無いので両方の赤外線センサーは「オフ」になり、下記のプログラム内容だと[IF=0]の条件と一致し[STOP]を実行します。
しくみのポイント「自動ドアと同じで近付くとオンになる」とおぼえるとわかりやすい。
プログラム
- [IF=0]は、両方の赤外線センサーがオフで実行
- [IF=1]は、左側(IN 0)の赤外線センサーだけがオンで実行
- [IF=2]は、右側(IN 1)の赤外線センサーだけがオンで実行
- [IF=3]は、両方の赤外線センサーがオンで実行
しくみの説明
画像の状態は、右側(IN1)の赤外線センサーだけが黒いラインの上にかかり、センサーがオフになっている状態です。この場合プログラムは、残った左側(IN0)の[IF=1]条件に一致と判断するので、[IF=1]の中にある[RIGHT=0]を実行しロボットを右回転させます。
ロボットが右回転する事で黒いラインにかかっていた右側(IN1)のセンサーは白い床へと戻り、センサーの状態はオンに変わります。すると両方のセンサーがオンの条件[IF=3]と一致するので[GO=0]を実行しロボットは直進します。
しくみのポイント片方のセンサーがオフになると条件が変わり、反対側のセンサーがオンの時のプログラムを実行する。