[[2007a/MemberOnly/進行状況A]]
*ライントレースロボ [#x6efe21c]
今回は黒のラインに沿って走るロボットを制作した。

光センサーによって黒の部分と白の部分を見極めて走るようになっている。

センサーが両方白の部分にある場合は進み、両方黒なら停止。また片方が黒でもう一方が白なら修正を聞かしながらライン上を移動していく仕組みになっている。
**ロボ’s name [#o8140cbc]
  
      くわが   たろう 

    &size(30){桑我 太郎};

#ref(2007a/A3/課題2右/070620_1633~0001.jpg)
**コース [#ta92b890]
コースはエンドレスに進み続けかつ交差点を二つという課題のもとR班,L班と協力し決定した。

ロボットが90度の曲がり角を曲がるのは非常に難しいと聞き、あえて緩やかなカーブを作ってある。

グループで一つのコース設定をしなければならず、お互い別のロボットを作っていることから光センサーとの関係により黒線の太さを統一することに気をつけた。

また、交差点の部分に突入する時の縦棒は光センサーのプログラム上一時停止し数秒後に進めるようにするために書いた。形に特に意味はない。
#ref(2007a/A3/課題2右/070620_1642~0001.jpg)
**ロボット作成 [#u441eaf2]
上記に記したが、ライントレースロボなので光センサーがついている。

またこれに加えて何か障害物に当たった時に一時停止するためのタッチセンサーも搭載されている。

光センサーは一つでも進むことはできるが、一つだと線から外れた時にラインの探し方が遅れるが、二つだと短時間で修正が利くというアドバイスのもと光センサーを二つつけている。
#ref(2007a/A3/課題2右/070620_1643~0001.jpg)
***特徴 [#cf5b3aae]
●タッチセンサーの部品に黒のバンパーを使用し、見た目をクワガタに似せて作っている。

#ref(2007a/A3/課題2右/070620_1644~0001.jpg)
●光センサーを二つ搭載している。

●あまり大型にならないようコンパクトに収まるように意識している。

●音楽がなるようにプログラミングをしてみた!
**プログラミング [#f907c39c]
 #define THRRSHOLD 40
 #define Do   523
 #define Re    587
 #define Mi    659
 #define Fa    698
 #define So   784
 #define Ra     880
 #define Si     988
 #define Jo     1047
 task play_music()   // 音楽を演奏しながら走ります!
 {
     while (true)
     {
     PlayTone(Do,30) ;  Wait(40);   キラキラ星です。
     PlayTone(Do,30) ;  Wait(40);
     PlayTone(So,30) ;   Wait(40);
     PlayTone(So,30) ;   Wait(40);
     PlayTone(Ra,30) ;   Wait(40);
     PlayTone(Ra,30) ;   Wait(40);
     PlayTone(So,60) ;   Wait(80);
     
     PlayTone(Fa,30) ;  Wait(40);
     PlayTone(Fa,30) ;  Wait(40); 
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Re,30) ;  Wait(40); 
     PlayTone(Re,30) ;  Wait(40);
     PlayTone(Do,60) ;  Wait(80);  
 
     PlayTone(So,30) ;  Wait(40);
     PlayTone(So,30) ;  Wait(40);
     PlayTone(Fa,30) ;  Wait(40);
     PlayTone(Fa,30) ;  Wait(40);
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Re,60) ;  Wait(80);
     
     PlayTone(So,30) ;  Wait(40);
     PlayTone(So,30) ;  Wait(40);
     PlayTone(Fa,30) ;  Wait(40);
     PlayTone(Fa,30) ;  Wait(40);
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Re,60) ;  Wait(80);
 
     PlayTone(Do,30) ;  Wait(40);
     PlayTone(Do,30) ;  Wait(40);
     PlayTone(So,30) ;   Wait(40);
     PlayTone(So,30) ;   Wait(40);
     PlayTone(Ra,30) ;   Wait(40);
     PlayTone(Ra,30) ;   Wait(40);
     PlayTone(So,60) ;   Wait(80);
     
     PlayTone(Fa,30) ;  Wait(40);
     PlayTone(Fa,30) ;  Wait(40); 
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Mi,30) ;  Wait(40);
     PlayTone(Re,30) ;  Wait(40); 
     PlayTone(Re,30) ;  Wait(40);
     PlayTone(Do,60) ;  Wait(80);  
     Wait(100);
     }
 }   
 task main ()
 {
       SetSensor(SENSOR_2,SENSOR_TOUCH);
       SetSensor(SENSOR_1,SENSOR_LIGHT);
       SetSensor(SENSOR_3,SENSOR_LIGHT);
      start play_music ;
       while(true){
            
            if  (SENSOR_2==1)
            {
                   
                    Off(OUT_A+OUT_C);Wait(300);
            }
            if  (SENSOR_1>40) {
            if  (SENSOR_3>40) {
                     
                    OnFwd(OUT_A) ;
                    OnFwd(OUT_C) ;
            }else{
                    Off(OUT_C) ;
                    OnFwd(OUT_A) ;
            }
            }else{
             if  (SENSOR_3>40) {
                  OnFwd(OUT_C) ;
                  Off(OUT_A) ;
            }else{
                  Off(OUT_A+OUT_C) ;Wait(300);
                  OnFwd(OUT_A+OUT_C) ;Wait(80);
          }
       }
    }
 }                    
**苦労した点 [#f659c753]
一度作ったプログラミングでは交差点の部分で一時停止はするものの、

そこから次ぎに進むときにラインに沿って行かずそのままラインのない方向に進んでしまった。

原因を突き止めてみると、コースの曲がり角を曲がった後ロボットの車体が斜めのままになっているためその状態から真っすぐに進んでいた。

当初、原因がなかなか分からず悩みに悩んだ。
**工夫した点 [#r34f8e45]
 苦労した点にものべているが、交差点で斜めに進むという事態を解決するために一時停止した後は1秒進むように設定されていたところを少し短めにして、0.8秒にしてみた。

 結果上手く真っすぐ進む事ができたので良かった!!

 また前回時間がなくてギリギリになっていたという反省点があった事を振り返り、余裕でできたとは言いがたいが少し時間があったので、音楽がなるようにプログラミングしてみた。

曲:きらきら星
**反省点 [#p95641e7]
コース決めに少々時間がかかったこと。4人で一つ以上案を出し合ってロボの進み方を考慮して考えているとなかなか決まらず期間直前まで決まらなかった。

また、他のチームのところを参考にしてみるとロボットの進む早さを追求しているところがあった。私たちのチームは早さに関しては何も考えていなかったのでここで初めて気づかされた。どうすれば早く進む事ができるのかを解明するのが今後の課題である。

*コメントお願いします!? [#d707d6eb]
#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS