#contents

*ロボットの名前 [#dae745a4]
      &size(30){谷さ〜〜〜ん。どんだけ〜〜〜1号};

*メンバー紹介 [#ldaa2d6d]
      小谷口 貴

      滝本 剛史

*今回の課題 [#fa1c4744]
・全方向から懐中電灯の方向を探しだし、懐中電灯に向けてブロックを投げる。懐中電灯は動かさない。~
・懐中電灯をゆっくり動かしたとき懐中電灯に向かって進む。~
・懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めればブロックを投げる。
*作ったロボ [#k84a4b05]
&ref(2007a/A5/課題3右/070705_195329.JPG,100%,たにさん);
*プログラム [#x898a7bf]

光が動かないときのプログラム
**光が動かないときのプログラム [#i46c8d3b]

 #define  THRESHOLD  50
   
   task main()
     
     {
       SetSensor(SENSOR_1, SENSOR_LIGHT);
       SetSensor(SENSOR_3,SENSOR_LIGHT); 
       
       while  (true)  {
                                 
                                 if ((SENSOR_1 > THRESHOLD) || (SENSOR_3 > THRESHOLD))
                                   
                                 if ((SENSOR_1 > THRESHOLD) || (SENSOR_3 > THRESHOLD)) //センサー1または     
                                                                   //センサー3が反応中
                                   {
                                      Off(OUT_A);Wait(500);
                                      Off(OUT_A);Wait(500);//モーターを止める
                                      
                                      OnRev(OUT_C);Wait(30);
                                      OnRev(OUT_C);Wait(30);//投げる
                                      
                                      Off(OUT_C);
                                      Off(OUT_C);//止める
                                      
                                   }
                                  
                                   
                                 else
                                 else//センサーが反応していないとき
                                   
                                   {
                                     
                                     OnFwd(OUT_A);Wait(150);
                                     OnFwd(OUT_A);Wait(150);//
                                     
                                     Off(OUT_A);
                                     
                                     OnRev(OUT_A);Wait(300);
                                     
                                   }
       
                                   
                               }
                               
     } 

**懐中電灯をゆっくり動かしたとき懐中電灯に向かって進む [#abad5ca3]
 #define THRESHOLD 47
 task main()
   {     
         SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1を光センサーと定義
         SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3を光センサーと定義
         while(true)
         { 
              if((SENSOR_1 <THRESHOLD)&&(SENSOR_3 <THRESHOLD))//もしセンサー1、3が閾値した値より小さいなら              {
                   OnFwd(OUT_A);//右に回って光を探す
             }
            if((SENSOR_1 >=THRESHOLD))//もしセンサー1が閾値した値より大きいなら           
 {
                 OnRev(OUT_A);//左に回って光を追いかける
            }
            if((SENSOR_3 >=THRESHOLD))//もしセンサー3が閾値した値より大きいなら           
 {
                 OnFwd(OUT_A);//右に回って光を追いかける
            }
         }
    }        
      
**懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めればブロックを投げる[#j63e1689]
 #define THRESHOLD 47
 task main()
   {     
         SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1を光センサーとする
         SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3を光センサーとする
        while(true)
        { 
            if((SENSOR_1 <THRESHOLD)&&(SENSOR_3 <THRESHOLD))//センサー1、3が閾値した値より小さい//なら            
            {
                  OnFwd(OUT_A);//右に旋回
            }
                       if((SENSOR_1 >=THRESHOLD)//センサー1が閾値した値より大きいなら           
      {
                  OnRev(OUT_A);//左に回る
            }
            else//そうでなければ
            {
                  OnFwd(OUT_A);右に回る
            }
            if((SENSOR_1 >=THRESHOLD)&&(SENSOR_3 >=THRESHOLD))//せんさ−1と3が閾値 した値より大きいなら          
 {
                 Off(OUT_A);Wait(500);//Aのモーターを止める
                 OnRev(OUT_C);Wait(30);//投げる
            }
            
                    }
   }        
       
*工夫したところ [#v852c5cf]
スムーズに曲がれるように、前輪を一つにした。
一番苦労したところは前輪です。

最初は四輪で進むロボットを作ろうと思っていました。

しかし、前輪の抵抗が大きいためか、スムーズに曲がらなかった。

そこで、前輪をなくして棒で支えるロボットを作った。

しかし、曲がるときに床に引っかかったり、

動きがまばらになったりした。

最終的に、小回りもスムーズにいくタイヤを作った。

これは、動きも最高になった。

&ref(2007a/A5/課題3右/070705_195043.JPG,100%,たにさん);


遠投するための部分にはとてつもない時間をかけて、

何パターンも研究しました。

パーツの輪ゴムを使ったものなども考えたのですが、

最終的にはロボットの後ろから前に飛ばすようにするのが

一番飛距離が出ることがわかりました。

それからも、角度や長さなどいろいろ研究してこの形になりました。


今回のロボットは「他にはない個性的なものを作ろう!」を目標に、

あえて、後輪に一番大きなタイヤを作ったり、

羽根など付けてみました。



プログラム面では、「 || や && 」を使うことを思いつかなくてとても苦労しました。

しかし、このことに気がついてからは案外スムーズに進んでくれました。


*感想 [#ifb2885a]
とてつもなく遠投のできるロボットを作ろうと思いかなりの時間を費やした。
だけど、なかなか思いどうりに行かなかった。
今回の課題は今までで一番苦労した。
だけど、なんか自分たちで一から作ってる感があり、よかった。
-さすがに課題3ともなれば、もう少し考察したり、課題をクリアするロボットの作成やプログラムの作成段階で色々あったはずです。ほかの班のレポートも適度に参考にしながら、もう少し内容のあるページにしよう。 -- [[まいける(TA)]] &new{2007-08-03 (金) 13:05:06};

#comment


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