#contents

*最終課題 紙パック収集・積み上げロボット〜ロボコン〜 [#ea4282a6]

**課題内容 [#ub543763]
&ref(2007a/A5/ロボコン/robocon-2007a-field.gif,50%,所定の用紙); 

所定の時間内に紙パックを所定の場(↑)に運んで積み上げる。

*ロボットについて [#wa3aac5d]
その1  紙パック収集ロボット 
&size(30){その1  紙パック収集ロボット OPAP小島よしお1号};
 
8/2 8/1までテストがあったため、8/2から本格的に作成を開始しました。

8/1までテストがあったため、8/2から本格的に作成を開始しました。

積み上げロボットを動かさないということから「つかむ+積み上げ役のところまで運ぶ」という動作をするロボットにすることにしました。

試作にして完成というすばらしいスピードで完成させました。
試作1 &ref(2007a/A5/ロボコン/200708021416000.jpg,25%,収集);

&ref(2007a/A5/ロボコン/200708021416000.jpg,50%,収集);
8/3 (レポート作成者私事のため欠席)
ロボ完成!! &ref(2007a/A5/ロボコン/200708041027000.jpg,100%,収集);

8/4 一巡目で危機を覚え、急遽小島よしお2号を作成しました。

その2  積み上げロボット
1号よりアームを長くして少なくとも基本点はもらえるように悪あがきしちゃいましたっ(>皿<) かわいい羽がPOINT★笑

収集組同様に2日から本格作業開始!!
&ref(2007a/A5/ロボコン/200708041556000.jpg,125%,よしお2号);


&size(30){その2 積み上げロボット};

8/2 収集組同様に2日から本格作業開始!!

だいたいの形は出来たものの、高さの面で問題が発生してしまいました。
&ref(2007a/A5/ロボコン/NEC_0070.jpg,25%,積み上げ1);
&ref(2007a/A5/ロボコン/NEC_0070-2.jpg,150%,積み上げ1);

縦に2個積む計画だったのですが、高さが少し足りない...ということで高さをのばしたものの今度は強度が足りず...

というわけでこんな形になりました☆

&ref(2007a/A5/ロボコン/NEC_0072.jpg,50%,積み上げ2);

8/3 (レポート作成者私事のため欠席)

8/4  一巡目でうまくいかず、せめてインパクトだけでも!!ということでロボを改造しました。目が光ってますよ...

&ref(2007a/A5/ロボコン/NEC_0075.jpg,100%,積み上げ3);

**工夫した点 [#m58ba8c2]

その1 収集ロボット
&size(30){その1 OPAP小島よしお1号};

最も工夫したのは、タッチセンサーの部分です。

ここは、牛乳パックが軽いこともあって、反応せずに押してしまうことがたびたびありました。

そこで、「どうにか少しあたっただけで反応してくれる構造は作れないか?」と考えた末、

前に一度使ったことのあったタッチセンサーの構造を試してみると

少し触れるだけで反応してくれるようになりました。

しかし、ここに至るまでにいろいろあがいたということもあって、

ここが一番工夫したところだと思います。
 
その2 積み上げロボット

&size(30){その2 積み上げロボット};

一番工夫したのはやはりパックを上下に動かすところです。

私たちの班は縦に2個ずつ積んで点数を稼ごう!!(実際は…)

**苦労した点とその解決策 [#o65b2d2a]
ということだったので、2個積み上げられる構造を考えるのにかなり苦労しました。

その1 収集ロボット
試作段階で作ったロボットは2個積み上げるには高さが足りなくて、その次に作ったものは強度が足りず…という大変な過程を通してこのロボットに至ります。

その2 積み上げロボット


**苦労した点 [#h49c38ec]

&size(30){その1 収集ロボット};

一番苦労した点は、牛乳パックをつかむためのアームの部分です。

ここは、どのようにつけるとうまくモーターが動くか。

どのような角度でモーターをつけると一番よいのかなどいろいろ悩みました。

いくつもギアをかましてみたりもしてみました。

後は、クレーンロボの方が大量に部品が必要であるということから、

自分たちの方は極力部品の無駄遣いがないよにして作りました。


&size(30){その2 積み上げロボット};

強度がこのロボットの最大の問題でした。

前傾のままやるのは明らかに無理だろうと判断したので、無理矢理バランンスを保てるようにコードでつないでしまいました。
前傾のままやるのは明らかに無理だろうと判断したので、無理矢理バランスを保てるようにコードでつないでしまいました。

&ref(2007a/A5/ロボコン/NEC_0073.jpg,30%,積み上げ苦労);


*プログラミングについて [#hff52286]
その1 紙パック回収ロボット
&size(30){その1 OPAP小島よしお1号};

その2 積み上げロボット
 #define THRESHOLD 40
   
  task main () 
    {
 SetSensor(SENSOR_1,SENSOR_LIGHT);
 
  SetSensor(SENSOR_2,SENSOR_TOUCH);
 
  SetSensor(SENSOR_3,SENSOR_LIGHT);
 
  while(true){
  
                 if(SENSOR_2 == 0)  //タッチセンサーが反応していないとき
                 {
                 
                 if(SENSOR_1 > THRESHOLD) //光センサー1が反応していないとき
                 
                  {
                              if(SENSOR_3 > THRESHOLD) //光センサー3が反応していないとき
                                {
                                  OnFwd (OUT_A+OUT_C); //前進する
                                }   
                                    
                             else  //光センサー3が反応しているとき
                                {  
                                  Off(OUT_A); //モーターAは停止
                                  OnFwd(OUT_C); //モーターC前進
                                 }
                                 }
                                 
                   else // 光センサー1が反応しているとき
                            {
                               if(SENSOR_3 >THRESHOLD) //光センサー3が反応していないとき
                                  {
                                    OnFwd(OUT_A); //モーターAは前進
                                    Off(OUT_C); //モーターCは停止
                                  }
                                  else //光センサー3が反応していないとき
                                  {
                                  OnFwd(OUT_A+OUT_C ); //A,Cともに前進する
                                  
                                 }
                            
                            
                            }
                           }
                  else{ //タッチセンサー2が反応しているとき
   Off(OUT_A+OUT_C); //モーターA,Cともに停止
   OnFwd(OUT_B);Wait(180); //モーターBを回転させパックをはさむ
   Off(OUT_B);Wait(30); //モーターBを停止する
   OnFwd(OUT_A+OUT_C);Wait(50); //モーターA,Cともに前進
   Off(OUT_A+OUT_C); //モーター停止
   OnRev(OUT_B);Wait(180); //モーターBを逆回転させアームを開く
   Off(OUT_B); //モーターB停止
   SendMessage(1); //もう一台のロボにメッセージを送る
   OnRev(OUT_A+OUT_C);Wait(50); //パックから離れるように後退する
   Off(OUT_A+OUT_C);Wait(400); //モーターA,Cともに停止する
   OnFwd(OUT_A+OUT_C); //再び動き出す
   
      
   }
     }               
                 } 

**工夫した点 [#h2a53084]

**苦労した点とその解決策 [#g1e9626f]

&size(30){その2 積み上げロボット};



*反省点 [#gb1d4d40]
とにかく時間が足りなかった。。それぞれの時間の都合が合わない+テストのため、グループ全体で集まれたのは開始2日前でした。結局最後は一人任せにしてしまい本当に申し訳なかったです。もっと協力して効率よくやればこんなに焦らなくてもよかったと後悔してます(><)

結果は散々でしたが、みんなで死に物狂いでやったこと(?!)はいい経験になったと思います★

ありがとうございましたっ!!



*COMMENTS [#f2667dd7]
コメントをお願いします(>M<)
#comment


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