ロボティクス入門ゼミ

目次

勉強ノート

テスト 祐介のページ

自己紹介

祐介

課題1「介」

プログラム

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);                                   //筆を放し、終了
}

苦労した点

課題2 ライントレースロボット

画用紙に書かれた黒いライン上を走るロボット。さらに、タッチセンサーを使い、ほかのロボットと正面衝突したときに右に迂回するプログラム。

プログラム

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);}                  //両方のセンサーが触れなければ直進
  }
 }

苦労した点

コースのどの位置で対向車に接触するかによって、迂回した後にライン上に戻れないことが多く、苦労した。例えば、円形のコースなので、迂回したまま反対側のラインに乗ったり、逆向きに走り出したりなど。そこで相手も迂回してくれることを想定して、小回りで回避するようにした。

リンク

2006b/A4/ひかるのページ


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