2007a/MemberOnly/進行状況A

Counter: 1444, today: 1, yesterday: 0

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

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

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

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


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

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

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

ロボット紹介

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

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種類を用いることによって、柔らかい動きを作ることができた

大変だった所

このロボの働き

sd 033.JPGsd 034.JPGsd 036.JPG

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

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

結果発表!!!

反省&感想

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



添付ファイル: filesd 039.JPG 358件 [詳細] filesd 038.JPG 353件 [詳細] filesd 036.JPG 306件 [詳細] filesd 034.JPG 334件 [詳細] filesd 033.JPG 341件 [詳細] filesd 042.JPG 326件 [詳細] filesd 043.JPG 341件 [詳細] filesd 047.JPG 362件 [詳細] filesd 048.JPG 353件 [詳細] filesd 029.JPG 323件 [詳細] filesd 025.JPG 399件 [詳細] filesd 024.JPG 391件 [詳細]

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