黒い線上をライントレースし、相手のロボットと接触したら反転し、再びライントレースを続けるプログラムです。
task main() {
SetSensor(SENSOR_1,SENSOR_LIGHT); 光センサーです。 SetSensor(SENSOR_2,SENSOR_TOUCH); タッチセンサーです。 SetSensor(SENSOR_3,SENSOR_LIGHT); 光センサーです。 while(true) 繰り返し動作します。 { OnFwd(OUT_A+OUT_C); if (SENSOR_3<42) { OnFwd(OUT_A); OnRev(OUT_C); Wait(25); 黒い線の左側にはみ出してしまったときは、右を向きます。 } if(SENSOR_1<42) { OnFwd(OUT_C); OnRev(OUT_A); Wait(25); 黒い線の右側にはみ出してしまったときは、左を向きます。 } else(OUT_A+OUT_C); if(SENSOR_2==1) { OnRev(OUT_A+OUT_C); Wait(30); OnFwd(OUT_A); OnRev(OUT_C); Wait(190); OnRev(OUT_A+OUT_C); Wait(35); 相手のロボットと接触したら、少し後退して反転し、再びライントレースを続けます。 } }
}
・うまくカーブを曲がれるようにすること。カーブが急だったのでたびたび飛び出してしまうことがあった。
・反転後もライントレースにうまくつなげるにはどうしたらよいかということ。反転後に、ライン上から飛び出して走り去ってしまうことがあった。
反転後に少し後退させること。これによって、ライントレースがやりやすくなった。