*タッチセンサによる壁に沿った移動(課題2) [#j83bbc2a] task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); //センサ1がタッチセンサ SetSensor(SENSOR_3,SENSOR_TOUCH); //であると宣言 OnFwd(OUT_A+OUT_C); until(SENSOR_1 == 1 || SENSOR_3 == 1); Off(OUT_A+OUT_C); while(true) //動作を繰り返す { if (SENSOR_1 == 1) //センサ1がオンになった { //ら OnFwd(OUT_A+OUT_C); until (SENSOR_1 == 0 || SENSOR_3 == 1); Off(OUT_A+OUT_C); } if (SENSOR_3 == 1) //センサ3がオンになった { //ら Off(OUT_A+OUT_C); OnFwd(OUT_A); OnRev(OUT_C); Wait(165); OnFwd(OUT_C); until (SENSOR_1 == 1) ; //センサ1がオンになるま Off(OUT_A+OUT_C); //で1つ上の動作を続ける } else { //上の2つの条件以外の動 OnFwd(OUT_C); //作 until (SENSOR_1 == 1) ; Off(OUT_C); } } } -感想 結構思うような動きをロボットがしてくれてよかった。難しかったのは、ロボッ トが壁に正面から当たったときにどれくらい横に曲がれば次の動作につながって いくのかが、なかなかうまく把握できず、微妙な調整をしなければならなかった ことです。あと、ロボットをスムーズに動かすためにはどんなロボットにすれば 良いかという点で悩みました。最終的にはいいものが仕上って良かったです。 -// を使ったコメントはその行の // 以降だけがコメント文になります。したがって2行にわたるコメント文は2行目にも // を入れておいてください。 -- [[松本(教員)]] &new{2005-11-30 (水) 21:11:23}; -プログラムの文法を再確認しましょう。 -- [[かとりーぬ(TA)]] &new{2005-12-16 (金) 18:42:09}; #comment