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

10-1 ロボット競技に役立つEV3センサー入門

第5回「ライントレースロボットを工夫する」


◆センサーの補正機能

問題点を対策して、さらにセンサーの値を表示するプログラムを作ってみました(trace1.ev3)。
対策として「センサーの補正機能」を追加しました。 最初に左右のセンサーの差を記憶して「center」という変数に代入します。これが中心値となります。これ以降にセンサーを測定するとcenterの値を差し引いて、測定結果を補正します。
センサーの値は「(左側のセンサー値)-(右側のセンサー値)」で求めます。センサーの値を差で見るようにします。こうすると周辺の明かりの強さに影響されずにラインを検出できます。

プログラムの実行結果です。
ラインの中心にロボットを置いて、プログラムを実行します。
手作業でラインの上にセンサーを置いてみました。 改良した副作用として、センサーのピーク時の値が左右で不ぞろいになってしまいました。本当はさらに補正の処理が必要ですが、プログラムが複雑になるので、このままにします。