目次
テスト 祐介のページ
祐介
task main() { OnFwd(OUT_C);Wait(25);Off(OUT_C); //筆を紙に下ろす OnFwd(OUT_A);Wait(300); //第一画目 OnRev(OUT_C);Wait(25);Off(OUT_C); //筆を上げる OnRev(OUT_A);Wait(540);Off(OUT_A); //二画目へ向かって移動、方向転換 OnFwd(OUT_A);Wait(100); //直進 OnFwd(OUT_C);Wait(25);Off(OUT_C); //筆を下ろす OnFwd(OUT_A);Wait(300); //二画目 OnRev(OUT_C);Wait(25);Off(OUT_C); //筆を上げる OnRev(OUT_A);Wait(950);OnFwd(OUT_A);Wait(480); //以下、三画目へ移動 OnRev(OUT_A);Wait(780); // OnFwd(OUT_A);Wait(50); // OnFwd(OUT_C);Wait(27);Off(OUT_C); //筆を下ろす OnFwd(OUT_A);Wait(200); //三画目 OnRev(OUT_C);Wait(25);Off(OUT_C); //筆を上げる OnRev(OUT_A);Wait(920);OnFwd(OUT_A);Wait(500); //以下、四画目へ移動 OnRev(OUT_A);Wait(1170); // OnFwd(OUT_A);Wait(250); // OnFwd(OUT_C);Wait(27);Off(OUT_C); //筆を下ろす OnFwd(OUT_A);Wait(300);Off(OUT_A); //四画目、停止 OnRev(OUT_C); //筆を放し、終了 }
画用紙に書かれた黒いライン上を走るロボット。さらに、タッチセンサーを使い、ほかのロボットと正面衝突したときに右に迂回するプログラム。
task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor (SENSOR_3,SENSOR_LIGHT); //各センサーを設定 while(true) { if(SENSOR_2==1) //相手ロボットと接触したら { OnRev(OUT_A+OUT_C); Wait(30); //少し後退 OnFwd(OUT_A); OnRev(OUT_C); Wait(60);//右を向く OnFwd(OUT_A+OUT_C);Wait(150); //ラインをはずれる OnRev(OUT_A);OnFwd(OUT_C);Wait(60); //ラインに向かう OnFwd(OUT_A+OUT_C);until(SENSOR_3<42);//ラインに乗るまで直進 } if(SENSOR_3<42) //以下、ラインとレースのプログラム 右のセンサーがラインに触れると { OnFwd(OUT_A); Rev(OUT_C); Wait(25); //右に方向修正 OnFwd(OUT_A+OUT_C); //直進 } if(SENSOR_1<42) //左のセンサーがラインに触れると { OnFwd(OUT_C); Rev(OUT_A); Wait(25); //左に方向修正 OnFwd(OUT_A+OUT_C); //直進 } else{OnFwd(OUT_A+OUT_C);} //両方のセンサーが触れなければ直進 } }
コースのどの位置で対向車に接触するかによって、迂回した後にライン上に戻れないことが多く、苦労した。例えば、円形のコースなので、迂回したまま反対側のラインに乗ったり、逆向きに走り出したりなど。そこで相手も迂回してくれることを想定して、小回りで回避するようにした。