2007a/MemberOnly/進行状況A

Counter: 1213, today: 1, yesterday: 0

ロボコン:目指せロボットコンテスト!!

頑張った人たち→ギョーザ、アンゼリカ、たけぽん、あつみ

課題:紙パック収集・積み上げロボット

紙パックを収集して所定の位置にできるだけ高く積み上げる    ロボコンのフィールド平面図


フィールドの説明
  • フィールドは約160cm×110cm
  • 運搬する500mlの紙パック(以下単に紙パックと呼ぶ)は約7cm×7cm×10.3cm
  • 紙パックはすべての面に白あるいは緑色の画用紙がはられている
  • 紙パックは(目的地の円周上を除く)各交差点に立てて配置されている
  • 目的地の円を囲む正方形の4隅には緑の紙パックが配置されている
  • 1つの格子はの境界の黒線の芯々で20cm平方の正方形である
  • 黒い線の太さは約25mm*ルール説明 [#icd0cc3f]

詳しい説明はこちらをどうぞ→ ロボコンルール

このルールから高得点を狙うためには

  • まず時間が少ないことが問題であり、たくさん真ん中に持ってきて、ピラミットのように積み上げるということも考えたが、それではとても時間が足りないということである。そのため高得点を狙うためには、いかにたくさんパックを集めるか、いかにパックをたくさん積むか、という2つの戦法に限られてくる。
  • パックをたくさん集めることの長所は、簡単かつ安全で失敗することが少ないということである。短所はさほど高得点が狙えないうえにロボットの芸術性が見せつけにくいところである。
  • パックをたくさん積むことの長所は、とにかく高得点が狙え、ロボットの芸術性が見られやすく、他の班からの評価も良くなりやすいことである。短所はとにかく失敗しやすく、危険で、もし失敗すると点数が0になりかねないことである。
  • まとめると、ローリスクローリターンの集めることを重視するか、ハイリスクハイリターンの積むことを重視するか、という2択であり、以下の説明を見てもらうとわかると思うが、うちの班ではどちらかというと集めることを重視していることがわかると思う。

ロボット紹介

|''メインロボット''→牛乳パックを上げる

sd 024.JPGsd 029.JPG

プログラム

#define Do  523
#define Re  587
#define Mi  659
#define Fa  698
#define Sol 784
#define Ra  440
#define Shi 494
#define DO 1047
task play_music() // doreminouta 音楽をつける
{
while (true)
  {
  PlayTone(Do,25);  Wait(30);
  PlayTone(Re, 5);  Wait(10);
  PlayTone(Mi,25);  Wait(30);
  PlayTone(Do, 5);  Wait(10);
  PlayTone(Mi,10);  Wait(15);
  PlayTone(Do,10);  Wait(15);
  PlayTone(Mi,20);  Wait(25);
  PlayTone(Re,25);  Wait(30);
  PlayTone(Mi, 5);  Wait(10);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Mi, 5);  Wait(10);
  PlayTone(Re, 5);  Wait(10);
  PlayTone(Fa,40);  Wait(45);
  PlayTone(Mi,25);  Wait(30);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Sol,25); Wait(30);
  PlayTone(Mi, 5);  Wait(10);
  PlayTone(Sol,10); Wait(15);
  PlayTone(Mi,10);  Wait(15);
  PlayTone(Sol,20); Wait(25);
  PlayTone(Fa,25);  Wait(30);
  PlayTone(Sol, 5); Wait(10);
  PlayTone(Ra, 5);  Wait(10);
  PlayTone(Ra, 5);  Wait(10);
  PlayTone(Sol, 5); Wait(10);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Ra,40);  Wait(45);
  PlayTone(Sol,25); Wait(30);
  PlayTone(Do, 5);  Wait(10);
  PlayTone(Re, 5);  Wait(10);
  PlayTone(Mi, 5);  Wait(10);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Sol, 5); Wait(10);
  PlayTone(Ra,40);  Wait(45);
  PlayTone(Ra,25);  Wait(30);
  PlayTone(Re, 5);  Wait(10);
  PlayTone(Mi, 5);  Wait(10);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Sol, 5); Wait(10);
  PlayTone(Ra, 5);  Wait(10);
  PlayTone(Shi,40); Wait(45);
  PlayTone(Shi,25); Wait(30);
  PlayTone(Mi, 5);  Wait(10);
  PlayTone(Fa, 5);  Wait(10);
  PlayTone(Sol, 5); Wait(10);
  PlayTone(Ra, 5);  Wait(10);
  PlayTone(Shi, 5); Wait(10);
  PlayTone(DO,40);  Wait(45);
  PlayTone(DO, 5);  Wait(10);
  PlayTone(Shi, 5); Wait(10);
  PlayTone(Ra,10);  Wait(15);
  PlayTone(Fa,10);  Wait(15);
  PlayTone(Shi,10); Wait(15);
  PlayTone(Sol,10); Wait(15);
  PlayTone(DO,40);  Wait(45);
   }}
#define   go     OnRev(OUT_A); //前に進む
#define   back   OnFwd(OUT_A);//後ろに下がる
#define   hand   OnFwd(OUT_B);//アームを開く
#define   up     OnFwd(OUT_C);//アームを持ち上げる
task main ()
{     
          SetSensor(SENSOR_1, SENSOR_LIGHT);
          SetSensor(SENSOR_3, SENSOR_LIGHT);
start play_music ; //音楽を始める
        while(true){
  if(SENSOR_1<=42&&SENSOR_3<=40){
    go ;
    }                  
  if(SENSOR_1>=42&&SENSOR_3>=40){
    stop play_music; //音楽を止める
    Off(OUT_A); //モータを止める
    hand ; Wait(300); //3秒間開く
    up ;   Wait(500); // 5秒間持ち上げる
    go ;   Wait(50);  Off(OUT_A);  //前に進む
    OnRev(OUT_B); Wait(300); Off(OUT_B);  //置く
    back ;        Wait(300); Off(OUT_A); //後ろに下がる
    }}}

このロボットの特徴

sd 025.JPG光センサーの位置が重要! 
2つが適当な位置にあるため、例外なく物体を認識することが出来る
sd 047.JPG4つのギアを用いることにより、アームを上に上げることができる
sd 048.JPGアームの動作の中心となるギア 
小さいギアと大きいギアの2種類を用いることによって、柔らかい動きを作ることができた

大変だった所

  • キット本体の黄色の部分の重さとアームとの部品との重さのバランスをとるのが難しかった。
  • アームを上に上げるための機構を作るのが大変だった
    →4つのキアを使うことによって、アームを上に上げるときの安定感をもたらした

    →アームの先にタイヤをつけることにより、摩擦力を上げて、パックがすべらないようにした。

このロボの働き

sd 033.JPGsd 034.JPGsd 036.JPG

  • 2つのパックを積み上げるときの動き
    • アームを開いて、前にあるパックをつかむ
    • アームを閉じて、あらかじめ置いてあるパックの上まで持ち上げて、のせる。
    • アームを開いて、後ろに下がる。

''サブロボット''→牛乳パックを集める

sd 038.JPGsd 039.JPG
  • サブロボの単純で明確な動きはパックをとにかくあつめて押す!ってことである。
    • そのために、いらない部品やプログラムはすべてカット、シンプルな構造にしました。
    • 試合の時、あらかじめ、サブロボをパックが沢山おいてある所に置いて、スタートするのがポイント。

プログラム

#define Do 1047 //音楽スタート  
#define Re 1175
#define Mi 1319 
#define Fa 1397  
#define So 1568 
#define Ra 1760 
#define Shi 1976 
#define Doo 2093
task play_music() 
{ 
while (true)
{  
  PlayTone(Do,20); Wait(30);
  PlayTone(Re,20); Wait(30);
  PlayTone(Mi,20); Wait(30);
  PlayTone(Fa,20); Wait(30);
  PlayTone(So,20); Wait(30);
  PlayTone(Ra,20); Wait(30);
  PlayTone(Shi,20); Wait(60);
  PlayTone(Doo,20); Wait(120);
}}
void left(int t) //左に動く
{
   OnRev(OUT_A); OnFwd(OUT_C); Wait(t);
   Off(OUT_A+OUT_C);
}
void right(int t) //右に動く
{
   OnFwd(OUT_A); OnRev(OUT_C); Wait(t);
   Off(OUT_A+OUT_C);
}
void go(int t)    //前に進む       
{
   OnFwd(OUT_A+OUT_C); Wait(t);  
   Off(OUT_A+OUT_C);
}
void back(int t)  //後ろに下がる
{   
    OnRev(OUT_A+OUT_C); Wait(t);  
    Off(OUT_A+OUT_C); 
} 
task main()
{
   start play_music ; //音楽を流す時間の設定
   go(350);  
   back(250);
   left(60);
   go(250);
   right(80);
   go(350);
   right(135);
   go(150);
   back(300);
   stop play_music;
}

このロボットの働き

sd 042.JPGsd 043.JPG

結果発表!!!

  • ロボコンの単純な点数では、大接戦のロボコンの中、一位がA8の54点、二位がA9で26点、そして我がA6は15点で三位でした。

反省&感想

  • ロボコンにあたって、1人の人(ギョーザさん)にほとんど任せてしまって申し訳なかった。
  • ロボコンまでの準備時間の不足と試験後の疲れでまともに集中できなかった。
  • やっている期間は、辛いこととか大変なことがたくさんあったけど終わってみると、楽しい授業でした。普段、教えてもらえないことを数多く学べたし、なにより協調性が豊かになったと思えます。これからも、今日まで学んだことを忘れずに学業に励んでいきたいと思います。
  • 普段教科書で勉強できない日本語をいっぱい聞く機会になり、留学生としては特別な時間だったと思います。ここで学んだ日本人との付き合いを大切にしこれからも日本での生活を楽しみたいと思います。

先生、TAの方々のコメント

  • ルールに関して1個づつ取り上げて吟味していくのでなければ、ロボコンの課題やルールについての説明は2007a/ロボコンにリンクを張れば十分でしょう。転載は必要ありません。 -- 松本 2007-08-06 (月) 08:33:50


添付ファイル: filesd 039.JPG 264件 [詳細] filesd 038.JPG 246件 [詳細] filesd 036.JPG 227件 [詳細] filesd 034.JPG 246件 [詳細] filesd 033.JPG 257件 [詳細] filesd 042.JPG 228件 [詳細] filesd 043.JPG 251件 [詳細] filesd 047.JPG 262件 [詳細] filesd 048.JPG 257件 [詳細] filesd 029.JPG 246件 [詳細] filesd 025.JPG 296件 [詳細] filesd 024.JPG 277件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-08-07 (火) 21:55:50 (4395d)