課題3

目次

課題3の内容

1.全方向から懐中電灯の方向を探しだし、懐中電灯を狙ってブロックを投げる。
2.懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば一定の距離(懐中電灯から30cm以上離れた距離)まで近づいて懐中電灯を狙ってブロックを投げる。

ロボットの構造

<土台>


TS3A0075011.JPG
ディファレンシャルギアを用いた場合に、どのようにストッパーをつければ良いか分からずロボの作成には今まで以上に苦労した。片方が前に進む場合にもう片方が後ろに回らないようにストッパーを設置。

<土台 裏>


TS3A0074011.JPG
小回りがきくように、三輪にした。三輪といっても後輪は一本の軸に二つの黄タイヤをつけてあり、そうすることで、発射台の位置からくるバランスの悪さを解消した。

<発射台>


TS3A0077011.JPG
飛距離をのばすため試行錯誤して、こういう形になった。遠心力でふり投げるタイプではなく、あらかじめ球が高い位置にあり、それを押し出して投げるタイプである。

<光センサー>

光センサー同士の距離を近づけすぎると両方共のセンサーが感知してしまいますので、できるだけ距離をあけて設置しました。

<完成>


TS3A0076011.JPG
ついに完成!!ロボット造りにかなりの時間を費やした。

プログラミング


プログラム1(全方向から懐中電灯の方向を探しだし、懐中電灯を狙ってブロックを投げる。)
プログラム2(懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば一定の距離(懐中電灯から30cm以上離れた距離)まで近づいて懐中電灯を狙ってブロックを投げる。)

daikiの明るい方向を見つけて投げるプログラム(1)

#define turn_time 100
#define A OUT_A 
#define B OUT_B 
#define C OUT_C
#define nageru OnFwd(C);Wait(5);Off(C)     //投げるプログラム
int maxlight;          //光センサー最大
int maxtime;          //光センサーの最大値の時間
task main()
{
 SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1と光センサー オン
 SetPower(A,7);                               
 ClearTimer(0);                    //タイマーセット  
 OnFwd(A);                        //右回りに回転
 while(FastTimer(0)<turn_time)      //回転時間の間
      {if(SENSOR_1>maxlight)        //一番明るい時間を記録
         {maxlight=SENSOR_1;          
          maxtime=FastTimer(0);      //現在の時刻を光センサの最大値を与える時刻に代入
 
        }
     }
Off(A);
Wait(10);
OnFwd(A);
Wait(maxtime);            //明るい場所まで回転
Off(A);
nageru;          //投げる
}

KOUの光を追いかけて投げるプログラム(2)

#define A OUT_A 
#define B OUT_B 
#define C OUT_C
#define nageru OnFwd(B);Wait(5);Off(B) //投げるプログラム
#define Max 64
task main()
{
   SetSensor(SENSOR_1,SENSOR_LIGHT); 
   SetSensor(SENSOR_3,SENSOR_LIGHT);
   while(SENSOR_1<=Max || SENSOR_3<=Max)   //明るさがある程度大きくなるまで近づく
        {if(SENSOR_1>SENSOR_3)
           {OnRev(A);}          //左のが明るいので左に回りながら前進
         else{OnFwd(A);}    //右のが明るいので右に回りながら前進
        }
  Off(A);
  Wait(150);                 //光が止まったかどうかを確認する時間
 nageru;}

感想

daiki

今回のは、プログラミングもロボット造りも難しくとても苦労したがどうにか完成できた。プログラミングは、今までの技術を総動員しなければならず、ロボも小回りが利き発射台完備という形にしなければならず、とても難しかった。工夫した点だが、やはり発射台とタイヤである。発射台は、KOUが苦労して造ってくれたのでコメントはKOUが。タイヤは始め二輪でロボの後ろに抵抗をなくす円盤型のブロックが付いているタイプであった。しかし、しっかりと後ろもタイヤをつけた方がよりスムーズだと考え、三輪となった。

KOU

ロボットの足回りを作るのにすごい苦労した。発射装置は始め一般的な、遠心力を使って投げるものを考えていた。しかし、過去のグループのものを色々見ていくと、押し出すタイプもいいなと思い、発射台の角度にこだわりながら(飛距離をのばすため)ブロックをくみたて、この形になった。

コメント

  • 一つ目のプログラムに説明を入れましょう。二つ目のは懐中電灯が逃げていくので、それを追跡する課題です。過去のホームページを参考にしてみてください -- FI? 2009-08-05 (水) 08:31:17
  • ロボット本体についてもプログラムについても、苦労したり工夫したりしたことをもっと具体的に記述しましょう。 -- 松本 2009-08-07 (金) 14:49:48
  • 2つ目のプログラムに関しては、できればですが、もっと明確に懐中電灯が停止できたのを確認できた方がいいです。また、while(SENSOR_1<=Max || SENSOR_3<=Max)だと常に同じ方向に懐中電灯があるとは限らないかもしれません。工夫した点やロボットの説明を今できる範囲でいいので追加してください -- FI? 2009-08-08 (土) 03:46:24
  • 一応成功はしたのでそのままあげてしまいました。プログラムもまだ機体があったら手を加えてみたいと思いますが、現状ではこれの以外のプログラムを作っていないの他のを上げることができません -- KOU? 2009-08-08 (土) 23:59:02
  • SENSOR_1とSENSOR_3の二つの光センサーがあるようですが、それらはどのようについているのかの説明がないと、プログラムが正しいのかも判断しかねます。思い出して説明を追加してもらえるとわかりやすいです。 -- こさか? 2009-08-09 (日) 22:30:16
  • 光センサーについての項目を作りました -- KOU? 2009-08-14 (金) 01:55:28
  • プログラムも過去のを参考に少し手を加えてみました -- KOU? 2009-08-14 (金) 02:06:43


添付ファイル: fileTS3A0077011.JPG 270件 [詳細] fileTS3A0076011.JPG 276件 [詳細] fileTS3A0074011.JPG 285件 [詳細] fileTS3A0075011.JPG 302件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-08-14 (金) 02:18:13