
WROの競技は年々難しくなっていて(特に小学生競技は異常!)大変なんですが、基本セット+αでなんとか競技できるマシンを作ってみます。
本講習会では体験会でシーケンス制御によるペットボトル倒し、第1回では基本のローバーを組み立てた後、ペットボトル倒しの復習をしています。
今回はライントレースの研究をします。
まずは基本のオンオフ制御から。

見たまんまですが、モーターパワーの変数入力をループの前に持ってきた方がよかったですね。
スイッチの中身は、3番のセンサーの明るさによって分岐。しきい値より暗ければ上に行って右カーブ。明るければ下に行って左カーブします。1番のセンサーが暗くなると停止します。
続いて、目標値との差分でステアリングを切るタイプ。

今度は、始めにBモーターをリセットしておき、ループを抜ける条件をBモーターの角度にすることで、必要な角度だけ進んで止まるようにしてあります。
ADVの式の中身はaが3番センサーの明るさ、bが目標とする明るさ(今回はしきい値)、cは曲がり加減でマイナスの値をかけると黒線の右側をたどります。dは使っていません。その結果をステアリングブロックに突っ込んで線をたどらせています。
最後は最も機敏な左右独立制御。


1番と3番の両方のセンサーが暗くなったら止まるようにするため、BとCという変数を用意し、スイッチで明るいときは0、暗くなったら1を入れるように設定しています。それぞれ大小判定でロジックを出し、ロジックブロックでAかつBになったときループを抜けるように設定しています。
さて、初心者向け第2回の内容としてはかなり濃いですが、子供たちはついてこれるでしょうか?
とても楽しみです。
サンプルプログラムはこちらです。
WRO2024-EL-L.ev3