''&size(30){目次};''
#contents

*メンバー [#df0629b7]

こだま

ユージ


**課題内容 [#zf61cf2b]
黄色いホイールを2個以上連射できるロボットを作成する

**それぞれの課題について [#k6ed6934]
こだま→懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば一定の距離(懐中電灯から30cm以上離れた距離)まで近づいて懐中電灯を狙ってブロックを投げる。

ユージ→全方向から2つの懐中電灯の方向を探しだし、懐中電灯を狙ってホイールを投げる。可能な限り正確な方向に投げること。

*コンセプト [#h9447ac9]
今回のロボットはブロックを複数投げつけるため、どうしても大きくなってしまいます。というわけで、私たちのチームは軽量化(コンパクト)を目指して作りました。
今回はホイールを連射できるようにするのがキーポイントなので、あらかじめ複数のアイディアを出さないと詰まってしまうのではないかと心配でした。 

*ロボットの紹介 [#l7234490]

#ref(2010a/A8/課題3右/ディファレンシャルギア.jpg);

例年通りディファレンシャルギアを採用させていただきました。最初何も知らない状態で作り始めたので、ストッパーをつけ忘れてたり、ギアの数を間違えたりと、いろいろ苦労しました。個人的にはこのコンパクトさが気に入ってます。
ディファレンシャルギアを採用させていただきました。ディファレンシャルギアとは、1個のモーターで左右のタイヤを動かすことができる便利なシステムです。最初何も知らない状態で作り始めたので、ストッパーをつけ忘れてたり、ギアの数を間違えたりと、いろいろ苦労しました。個人的にはこのコンパクトさが気に入ってます。

#ref(2010a/A8/課題3右/土台.jpg);

土台のみです。少し光センサーの高さが心配ですが、まぁ大丈夫だろうということでこうなりました。

#ref(2010a/A8/課題3右/打ち出す.jpg);

今回はこの部分を考えるのが一番苦労しました。なぜかというと、これを考える前に2つ案があり作成まで至ったのですが、それが両方とも却下されたからです。この場合はゴルフみたいにホイールを打ち出します。

#ref(2010a/A8/課題3右/リロード.jpg);

ホイールを固定・供給を同時にこなす今回のロボットの中で一番重要な役割を果たす部分です。試行錯誤の結果、これがシンプルかつ安定した仕事をこなせます。

#ref(2010a/A8/課題3右/ロボット・全体像.jpg);

これがそれぞれの部分を合わせた全体像です。ホイールを飛ばす部分がそれほど重くないので、土台をコンパクトにしても十分動くことができました。

#ref(2010a/A8/課題3右/ホイール有り.JPG);

ホイールを足すとこんな感じになります。見えづらくてすみません。

*失敗作 [#va686014]
ホイールを打ち出す部分の制作にあたり、作成まで至ったのに却下されたパーツを紹介します。

**その1 ピッチングマシーン [#h4780a5f]
#ref(2010a/A8/課題3右/失敗作.jpg,50%);

ホイールを飛ばすにあたり、これが真っ先に思い浮かんだのですが実際に飛ばしてみたところ、5cmも飛びませんでした。また、ホイールの供給に苦労するだろうということで却下されました。

**その2 投擲マシーン [#ib6851bf]
2つ目の案です。時間をかけて作成したのですが失敗に終わり、あまりのショックで写真を撮り忘れました。イメージとしては人間の腕を再現した感じです。文字通りロボットが投げつけます。しかし、投擲の際に複数詰めてたホイールがすべて飛んでいってしまった上に思うようなところに行かなかったので却下されました。

*プログラム [#x7bd8145]

**こだま [#kd84dfd0]
 #define L 60 //Lで光を探すための閾値
 #define M 80 //Mで光との距離を調節するための閾値
 task main()
 {
       SetSensor(SENSOR_1,SENSOR_LIGHT);  //センサ1は光センサに接続
       SetSensor(SENSOR_3,SENSOR_LIGHT);  //センサ3は光センサに接続
       while((SENSOR_1<M) && (SENSOR_2<M)){  //光に近づくまで繰り返し
         if(SENSOR_1>L){    //どちらも明るければ直進
         if(SENSOR_2>L){
          OnFwd(OUT_A);
          Wait(50);
          OnRev(OUT_A);
          Wait(50);
           }
         if(SENSOR_1>L){if(SENSOR_2>L){      //左が明るければ左に行く
          OnFwd(OUT_A);
          Wait(100);
           }}
         else{
          if(SENSOR_2>L){   //右が明るければ右に
            OnRev(OUT_A);
           }
 }
 }
 OnFwd(OUT_B);              //光に近づけばブロックを投げる
 Wait(200);
 Off(OUT_B);
 }
 }
**ユージ [#nd4174ed]
 #define Light 70           //閾値を設定
 #define Eye SENSOR_1       //光センサを設定
 
 task main()
 
 {
  SetSensor(Eye, SENSOR_LIGHT);           //光センサー
 
  ClearTimer(0);                         //タイマーをリセット     
 
  repeat(2){                             //2回繰り返し
 
  whlie(Eye < Light){          //括弧内はライト探索動作     
 
  OnFwd(OUT_A);   }
                  
  OnFwd(OUT_B);             //見つけ次第ホイール打ち出し
  Wait(200);
  Off(OUT_B);
  OnFwd(OUT_A);                          //ちょっと右にターン
  Wait(200);      
  Off(OUT_A);               }  
  Off(OUT_A);                            //仕事を果たしたら機能停止
  Off(OUT_B);               }


*感想 [#o9d7a6a0]

**こだま [#h088982f]
今回は前よりも製作時間が短くていつもより大変だった。

プログラムもロボットもかなり大雑把になってしまった。
**ユージ [#jdc115c4]
本当はもっと凝ったタスクを作りたかったのですが、ちょっと時間が足りなくてお粗末なプログラムになってしまいまいた。その分最終課題のロボコンで挽回したいと思います。
本当はもっと凝ったタスクを作りたかったのですが、ちょっと時間が足りなくて粗末なプログラムになってしまいまいた。その分最終課題のロボコンで挽回したいと思います。

*コメント [#w0af36b1]
コメントをどうぞ
#comment


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