2006a/B2

マシンの構造

ロボットの外形

今回の課題のロボットは、いつにないほどシンプルです。。光センサーの数は、二つだとたまに変な動きをするのでひとつに。 ということで今回は(も?)マシン製作にはじかんがかかりませんでした。

oto1.jpg ←左後ろからみたマシン

oto2.jpg ←右前からのマシン

今までは小さい方のタイヤが前輪、大きいほうが後輪だったが、今回は逆にしました。

この決定が割と功を奏しました。

oto3.jpg oto4.jpg

↑↑光センサーは、マシンのフロント中央部分に設置しました。

曲は??

自分は音楽経験がないからどうなることになるかと思いきや、たかがピアノ経験者!!ということで曲はまかせます♪

任せたのはいいが、授業時間内に全部打ち込むことが出来ずに 家でたかにやってきてもらう事に。

曲のプログラム 

「チューリップ」

製作日:// 06-06-31
製作者:// たか

#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define Ra 880
#define Si 988 

task play_music()
{
  while(true)
 {
   PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);  

  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(So,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Do,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,40);Wait(70);
  
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(So,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Do,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Do,40);Wait(70);
  
  PlayTone(So,30);Wait(35);
  PlayTone(So,30);Wait(35);
  PlayTone(Mi,30);Wait(35);
  PlayTone(So,30);Wait(35);
  PlayTone(Ra,30);Wait(35);
  PlayTone(Ra,30);Wait(35);
  PlayTone(So,30);Wait(70);
  
  PlayTone(Mi,30);Wait(35);
  PlayTone(Mi,30);Wait(35);
  PlayTone(Re,30);Wait(35);
  PlayTone(Re,30);Wait(35);
  PlayTone(Do,30);Wait(35);
  Wait(20);
 }
}

本番プログラム共

『チューリップ』を演奏しながら回転して光をさがし回るプログラムです☆★

製作日:// 06-07-03
製作者:// Blue たか

#define Do 523   //ドと定義
#define Re 587   //レと定義
#define Mi 659   //ミと定義
#define Fa 698   //ファと定義
#define So 784   //ソと定義
#define Ra 880   //ラと定義
#define Si 988   //シと定義

task play_music()
{
 while(true)
{
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
 
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(So,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Do,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,40);Wait(70);
  
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(So,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Do,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Do,40);Wait(70);
  
  PlayTone(So,30);Wait(35);
  PlayTone(So,30);Wait(35);
  PlayTone(Mi,30);Wait(35);
  PlayTone(So,30);Wait(35);
  PlayTone(Ra,30);Wait(35);
  PlayTone(Ra,30);Wait(35);
  PlayTone(So,30);Wait(70);
  
  PlayTone(Mi,30);Wait(35);
  PlayTone(Mi,30);Wait(35);
  PlayTone(Re,30);Wait(35);
  PlayTone(Re,30);Wait(35);
  PlayTone(Do,30);Wait(35);
  }
 }  

int Light=0;
int turn_time=90;

 
task main()
{
 SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1が光センサーと宣言
 ClearTimer(0);
 


  while(Timer(0)<=turn_time)  
    {
       if(SENSOR_1>Light)    //センサー1が光を感知
         {
             Light=SENSOR_1;
         }

      OnFwd(OUT_A);      //モータAを正回転
      OnRev(OUT_C);            //モータCを逆回転
    }

  OnFwd(OUT_A);        //モータAを正回転
  OnRev(OUT_C);        //モータCを逆回転
  start play_music;      //光を見つけるまで音楽を流し始める   
  until(SENSOR_1>=Light);

 while(true)
    {
       if(SENSOR_1<Light)   //センサー1が光からはずれたら
         {
             OnFwd(OUT_A);   //モータAを正回転
             OnRev(OUT_C);   //モータCを逆回転
             until(SENSOR_1>=Light);//光を見つけるまで
         }
      else
         {
             OnFwd(OUT_A+OUT_C); //光から外れていなかったら
             stop play_music;   //音楽を止める
             until(SENSOR_1<Light);//光からはずれるまで
         }
    }
} 

光源に近づきすぎたら停止するプログラム

製作日//: 06-7-03
製作者//: Blue たか
#define Do 523
#define Re 587
#define Mi 659
#define Fa 698
#define So 784
#define Ra 880
#define Si 988

task play_music()
{
  while(true)
 {
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70); 

  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(So,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Do,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,40);Wait(70);
  
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(Do,33);Wait(33);
  PlayTone(Re,33);Wait(33);
  PlayTone(Mi,40);Wait(70);
  
  PlayTone(So,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Do,30);Wait(30);
  PlayTone(Re,30);Wait(30);
  PlayTone(Mi,30);Wait(30);
  PlayTone(Do,40);Wait(70);
  
  PlayTone(So,30);Wait(35);
  PlayTone(So,30);Wait(35);
  PlayTone(Mi,30);Wait(35);
  PlayTone(So,30);Wait(35);
  PlayTone(Ra,30);Wait(35);
  PlayTone(Ra,30);Wait(35);
  PlayTone(So,30);Wait(70);
 
  PlayTone(Mi,30);Wait(35);
  PlayTone(Mi,30);Wait(35);
  PlayTone(Re,30);Wait(35);
  PlayTone(Re,30);Wait(35);
  PlayTone(Do,30);Wait(35);
  Wait(20);
 }
}  


task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);     //センサー1:光センサー
  while(true) 
  {
  start play_music;            //音楽を演奏
  while(SENSOR_1<60)            //明るさが60以下のとき
 {
  go_straight;               //直進
 }
  while(SENSOR_1>60)            //明るさが60より大きいとき   
 {
  if(SENSOR_1==THRESHOLD)         //明るさが100のとき
   {
   Off(OUT_A+OUT_C);            //停止
   }
   else{stop play_music;          //明るさが60より大きく100より小さいとき
  turn_left;                 //左旋回  
   }
  }
 }
}

考察

工夫した点

1、今回の課題は回転動作が多いので、前輪のタイヤを大きいタイヤにした。それによって、スムーズな回転が実現!

    これはそう狙って作った訳ではなく、走らしたらたまたまタイヤの大きい方が前輪になっただけである。。。

2、曲を送り込むプログラム作成は、コピー/ペーストが使いやすかったので、自分のwindowsのパソコンで打ち込んだ。

    Macには右クリックがなく、コピペするのにいちいちマウスを動かすのがうっとうしかったからである。。。

苦労した点

  • 光を探すプログラムが全くわからなかった。
    ホームページや、プログラミングに強い人に聞きまくって、なんとかかんとか完成。C4の人にTimerの意味を教えてもらった。
  • 光を感知したはずなのに、光を追いかけない
    光センサーの値をいじって、なんとか追いかけるようになったが、まだまだ十分とはいえない。

感想

またも時間がなかった。。徹夜で課題二つをこなしたから、結果的にはよかったが、健康面にやや障害が...泣

やはりロボティクスもここまできたら、一筋縄ではいかなくなった。正直しんどい...自分の知能に限界を感じている。

毎回同じようなホームページだなぁと思いつつひたすら打ち込む。色をつけようと試みるが、センスが感じられなかったので、速攻却下!

たかの音楽センスには頭が上がらない。。

個人的な事情だが、レポートなど課題をこなすのに精一杯でホームページ制作がかなり先延ばしになってしまった。 先生、TAの方々、ご迷惑をおかけしました↓↓

  • ロボコンのページを見るとどうしても見劣りしてしまいます… [sad] せめて体裁をもっと整えてください。 -- まいける(TA) 2006-08-16 (水) 00:20:53
  • 他のチームや以前のページで、どのようなページのどのようなところが参考になったのか、もう少し具体的な説明があると問題点や改良点の整理にもなると思います。 -- 松本(教員)? 2006-08-25 (金) 09:40:01


添付ファイル: fileoto4.jpg 232件 [詳細] fileoto3.jpg 231件 [詳細] fileoto2.jpg 272件 [詳細] fileoto1.jpg 220件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-26 (土) 21:00:13 (4747d)