2006a/B1

練習課題2

壁にぶつかったら方向転換して走るロボットのプログラム

黒い線に沿って動くロボット

-6/9
今日は久しぶりに3人揃っての作業(^-^*)
光センサーを使って、黒い線に沿って動くロボットを作成しました。
荒木君の提案でコースは「M」に…
しかし、途中までは上手くいくものの「M」の溝?の部分で変な方向に…Σ(-。-*)o
只今プログラム試行錯誤中…がんばるぞー!!(がんばれ大ちゃん!);

試作プログラム(ライントレースのみ)

#define THRESHOLD 35~
#define  RUN_TIME 150~
task main  ()~
{~
SetSensor(SENSOR_1,SENSOR_LIGHT);~
ClearTimer(0);~
while (Timer(0)<RUN_TIME) {~
if(SENSOR_1<40){~
OnFwd(OUT_A);~
Off(OUT_C);~
}else{~
Off(OUT_A);~
OnFwd(OUT_C);~
}~




}~
Off(OUT_A+OUT_C);~
}~

この時点での反省点

前方のロボットに接触したら反転して進むプログラム

task main()~ [#n0f0d028]
SetSensor(SENSOR_1, SENSOR_LIGHT); 
SetSensor(SENSOR_3, SENSOR_LIGHT);
while(true)
 {
   if(SENSOR_1<40;  //センサ−1が黒のライン上に乗ったら
    {
 OnFwd(OUT_C);   //左折する    
 OnRev(OUT_A);
    }
   if(SENSOR_3<40) //センサ−3が黒のラインに乗ったら
    {
  OnFwd(OUT_A);   //右折する
  OnRev(OUT_C);
    }
   if((SENSOR_1>40)&&(SENSOR_3>40))  //もしどちらのセンサーも黒のライン上に乗ってなかったら
    {
    OnFwd(OUT_A+OUT_C);   //前進する
   if(SENSOR_2==1)     //もしセンサー2がぶつかったら
     {
      OnFwd(OUT_A) ;OnRev(OUT_C);  //反転する
      Wait(180);
      OnFwd(OUT_A+OUT_C);      //前進する
     }
    }
 }
}

その後右の班と合同プログラミング作成を行いなんとか上のプログラムを完成させました。
そのためプログラム内容は右の班と全く同じになりました。

前方のロボットに接触したらそのロボットを右側から追い抜いて(あるいは避けて通り)、再びライン上に戻って進むプログラム

task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);  //左の光センサー
SetSensor(SENSOR_3, SENSOR_LIGHT);  //右の光センサー 
while(true)
 {
   if(SENSOR_1<40)    //もし左のセンサーがライン上に乗ったら
    {
 OnFwd(OUT_C);      //右折する
 OnRev(OUT_A);  
    }
   if(SENSOR_3<40)    //もし右のセンサ−がライン上に乗ったら
    {
  OnFwd(OUT_A);      //左折する
  OnRev(OUT_C);
    }
   if((SENSOR_1>40)&&(SENSOR_3>40))  //もしどちらのセンサーもライン上に乗らなかったら
    {
    OnFwd(OUT_A+OUT_C);  //前進する
   if(SENSOR_2==1)    //もしタッチセンサーがぶつかったら
    {
      OnRev(OUT_A+OUT_C);  //バックする
      Wait(40);
      OnFwd(OUT_A) ;OnRev(OUT_C);  //右折する
      Wait(60);
      OnFwd(OUT_A+OUT_C);      //前進する
      Wait(120);
      OnRev(OUT_A);OnFwd(OUT_C);   //左折する 
      Wait(60);
      OnFwd(OUT_A+OUT_C);  //前進する
      Wait(120);
      OnRev(OUT_A);OnFwd(OUT_C);   //左折する
      Wait(60);
    }

   }
 }
}

努力した点や工夫した点

反省点および次の授業への課題

コメントよろしくお願いします



添付ファイル: file060616_1545~01001.jpg 145件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-07-07 (金) 14:57:55