[[2010b]] #contents *課題2の内容とルール [#r45faa9e] 各チームで次のようなコースを作成し、コースを2周するロボットを製作せよ。 -黒い線の幅は15〜25mmの範囲で一定にすること -交差点が3箇所以上あること -直角のコーナーを2箇所以上設置すること -近道を2箇所 (直角のコーナーをショートカットしてもよい) -スタート地点にはコースに直角に横5cmのラインを描く ただし、 -速さと正確さを追求すること -2周目はスタート地点の直前で自動的に止まること -近道を選択するプログラムとそうでないプログラムを2人で分担して作成すること *メンバー紹介 [#nfd81916] -松澤 -水野 *ロボットの紹介 [#wc013992] **機体の構造 [#v16d2593] これがロボットの外見です。小回りが利くように全体的に小型化しました。 #ref(./CA3C0260.JPG,100%,ロボット) **工夫した点 [#l8131040] 写真のように、光センサー、回転センサーを機体に装着しました。 黄色の四角で囲ったのが光センサー、赤の四角で囲ったのが回転センサーです。 #ref(./CA3C0261.JPG,100%,ロボットその2) コースの黒線を光センサーが挟む形になります。なので、次の4つのパターンが発生します。 (左のセンサー,右のセンサー) (白,白) まっすぐ進みます。 (白,黒) 左に寄ります。 (黒,白) 右に寄ります。 (黒,黒) 交差点の判定をします。 *コースの紹介 [#ma49512d] 赤の矢印が共通のコースです。黄色の矢印が近道のコースです。 #ref(./CA3C0264.JPG,100%,コース) *プログラムと作成図 [#y66ecd3d] -松澤(近道Ver) --プログラム -水野 --プログラム 仮のプログラムです。後々修正します。 #define THRESHOLD 45 // 閾値 #define RUN_TIME 200 // トレースする時間(単位 1/10 秒) int i; task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); SetPower(OUT_A,2); SetPower(OUT_C,2); ClearTimer(0); i=0; while (i!=100) { if(SENSOR_1>THRESHOLD) { //センサー1が白を認知 if(SENSOR_3>THRESHOLD) { //センサー3も白を認知 OnFwd(OUT_A+OUT_C); Wait(1); } else { //センサー3は黒を認知 if(i==10) { Off(OUT_C); OnFwd(OUT_A); Wait(90); PlaySound(SOUND_CLICK); Wait(10); i=i+1; } else { Off(OUT_C); OnFwd(OUT_A); Wait(15); PlaySound(SOUND_CLICK); Wait(10); i=i+1; } } } else { //センサー1が黒を認知 if(SENSOR_3>THRESHOLD) { //センサー3は白を認知 if(i==14) { Off(OUT_A); OnFwd(OUT_C); Wait(90); PlaySound(SOUND_CLICK); Wait(10); i=i+1; } else { Off(OUT_A); OnFwd(OUT_C); Wait(15); PlaySound(SOUND_CLICK); Wait(10); i=i+1; } } else { //センサー3も黒を認知 Off(OUT_A+OUT_C); Wait(1); OnFwd(OUT_A+OUT_C); Wait(1); PlaySound(SOUND_CLICK); Wait(10); i=i+1; } } } while(Timer(0)<=RUN_TIME) { if(SENSOR_1>THRESHOLD) { //センサー1が白を認知 if(SENSOR_3>THRESHOLD) { //センサー3も白を認知 OnRev(OUT_A+OUT_C); Wait(1); } else { //センサー3は黒を認知 OnRev(OUT_A); Off(OUT_C); Wait(15); } } else { //センサー1が黒を認知 if(SENSOR_3>THRESHOLD) { //センサー3は白を認知 OnRev(OUT_C); Off(OUT_A); Wait(15); } } } } *反省・感想 [#v4bada11] -松澤 -水野 *コメントをお願いします [#dc304afe] #comment