前回はロボットに搭載された超音波センサを使って様々なロボットを再現してみました。
今回はライントレースに挑戦してみます。
ライントレースは、ロボットプログラミングにおける一般的な技術で、ロボットが特定の線に沿って移動することを指します。この技術は、教育用ロボットや競技会、工業用ロボットなど、さまざまな分野で応用されています。
今回も前回同様maqueenを使ってライントレースの勉強をしてみます。
ラインセンサのキャリブレーション
黒い線をセンサーで読み取りながらロボットを操作するのですが、線の色や部屋の明るさによって黒い線を正しく読み取れない場合があります。
maqueenにはセンサーの自動調整機能があります。
ラインセンサは下の図①のように2つついています。
①ラインセンサを黒い線の真上に置きます。
②黒い線の上に置いた状態で、④のスイッチを長押しします。
きちんとキャリブレーションが出来ると。ラインセンサが白を読み取っている際に青色のLEDが点灯します。
ラインセンサの仕組み
ラインセンサは赤外線の送信器と受光器がセットになった構造をしています。
光の跳ね返る強さを検出することで色を判別します。
黒色は光を吸収するため、センサに跳ね返ってくる光は弱くなります。maqueenのラインセンサの値は0になります。
白色は光を反射するため、センサに跳ね返ってくる光が強くなります。maqueenのラインセンサの値は1になります。
練習問題1
ラインセンサーが白色を検出していると進み続け、黒色を検出したら停止するプログラムを作ってください。
答えはこちらをクリック
ライントレーサー
ライントレーサは左右2つのセンサーがどのように反応してるか判別しながら進む方向を決めることで、ラインをなぞって進むことが出来ます。
黒い線がラインセンサの間にある場合は両方が白を検出します。
この場合はロボットは直進して大丈夫です。
ロボットが線に対して左に傾いている場合は左のセンサが1で右のセンサが0を検出しています。ロボットは右に進まなくてはいけません。
ロボットが線に対して右に傾いている場合は右のセンサが1で左のセンサが0を検出しています。ロボットは左に進まなくてはいけません。
この図を参考に、ライントレースプログラムを作ってみてください。
解答例はこちらをクリック
課題
ライントレースはプログラムの工夫次第でいくらでも早くなります。
プログラムを改良し、最速を目指してみてください。
コースはこちらを使っています。