ライントレースが主な内容なので、特に工夫されている所はありません。
あえていうなら、ライントレースをなるべく正確に行うために、車軸近くにセンサーを取り付けました。
あと、ロボットは左右対称になっています。
コースは、比較的シンプルな造りになっています。
#define THRESHOLD 48
task main() { long fTime=0,time=0; bool escape=false; SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensorLight(IN_1);//光センサーを設定 fTime = CurrentTick(); //時間取得 while(true) { time = CurrentTick() - fTime; if(time >= 65000) //timeが65秒を超えたとき { if(SENSOR_1 >= THRESHOLD) //白 { while(SENSOR_1 >= THRESHOLD) //黒い線を見つけるまで、繰り返し { OnFwd(OUT_C,50); Off(OUT_A); } } while(SENSOR_1 < THRESHOLD) //黒い線の外側に移動 { OnFwd(OUT_AC,70); Off(OUT_AC); } escape = true; } if(escape == false) //脱出しない場合 { if(SENSOR_1 < THRESHOLD) //黒 { OnFwd(OUT_A,45); Off(OUT_C); } else if(SENSOR_1 >= THRESHOLD) //白 { OnFwd(OUT_C,45); Off(OUT_A); } } else if(escape == true) //脱出の時 { if(SENSOR_1 < THRESHOLD) //黒 { OnFwd(OUT_C,45); Off(OUT_A); } else if(SENSOR_1 >= THRESHOLD) //白 { OnFwd(OUT_A,45); Off(OUT_C); } } } Off(OUT_AC); }
ライントレースは簡単だと思っていたが、難しく、大変だった。
脱出方法を考えるのが意外と難しかった。
時間によって脱出する方法は、失敗する時もあったので、もっとよい脱出方法を考えられればよかった。
もっと早く、正確にトレースできるようにしたいと思った。