2010b

メンバー 

作成したロボット

今回の課題の特徴

  1. タイヤを動かすためのモーターが一つしか使えない
  2. ホイールを投げるようなロボットにする

そこで、今回のロボットは下の写真のようになりました。

3d.JPG 3a.JPG

工夫した点

二個目のホイールの乗る部分を坂のようにしました。このとき、斜めの部分があるブロ ックを使用しました。

3c.JPG

使用したブロック→→→3f.png

これによって、ジグザグにではありますが、一つのモーターで走ることができます。

3e.JPG 3b.JPG

苦労した点

ギアの数を調整するとき、どうしても、「ここでかみ合ってほしい」と思うギアが、入らなかったり、大きさが合わなかったりで、すごく難しかったです。

その結果、坂のようにして、重力で落ちてくるというのが、一番簡単でいいのではないかと思い、それを採用しました。しかし、坂の位置などで苦労しました。

プログラム

ライントレースのプログラム

#define THRETHOLD 40
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
   while(true)
    {
     if(SENSOR_1>THRETHOLD)
       {    Onfwd(OUT_A);   }
      if(SENSOR_1<THRETHOLD)
       {    OnRev(OUT_A);   }
     }
}
     

山崎のプログラム

#define time 350 //半周するための時間
task main()
{
 int l_max=0;  //光の最大値を定義
 int t_max=0;  //光が最大値に達するまでの時間
  SetSensor(SENSOR_1,SENSOR_LIGHT);
   ClearTimer(0);
    while(Timer(0)<=time){   //マシンが半周するまでのプログラム
        OnRev(OUT_A);
      if(SENSOR_1>l_max)
        {  l_max=SENSOR_1;
           t_max=Timer(0);  }
       }
      while(Timer(0)>time){   //マシンが半周した後
         OnFwd(OUT_A);
         Wait(time-t_max);    //光が最大のところに向く
          Off(OUT_A);
          OnFwd(OUT_C);  //投げる
          Wait(50);
         }
         Off(OUT_C);
}

植田のプログラム

#define wheel OnFwd(OUT_C);Wait(30);Off(OUT_C);      //ホイールを打つ
#define turn_r OnFwd(OUT_A); //右折
#define turn_l OnRev(OUT_A); //左折
#define trun_time 400         //光を追う時間
#define STOP Off(OUT_A);     //停止
task main()
{      SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー 
       int light_max=0; //光センサーの最大値           
       int t_max=0;     //センサーが最大値の時                     
       ClearTimer(0);  //タイマー動作           
while ( Timer(0)<trun_time)   //タイマーがturn_timeになるまで下の動作を続ける
            {
                if(SENSOR_1<light_max)  //センサー1が光を感知するまで
                {turn_r;}  //右に回り続ける
                if(SENSOR_1>light_max)  //センサー1がより強い光を感知したら
                       {light_max=SENSOR_1; //最大値を現在の値に
                        t_max=Timer(0); }  //現在の値を最大値の時刻に  
                                                                        }  
         STOP; 
         Wait(50);
         OnFwd(OUT_A);    //右回りに回転
         Wait(t_max);
         STOP;
         wheel;    //ホイールを投げる
       }

感想・反省

山崎

今回の課題はとても難しかった。ライントレースにかんしては、カーブはうまくいかない仕様になっています。またプログラムの方もなかなかうまくいかずに苦労した。

植田

今回も時間がなく、ロボットもプログラムもきちんと完成させることができませんでした。特にプログラムは先生の言ってることがいまいち理解できなくて、全く何がしたいのかわからないまま仕上げてしまった感じがあります。次の課題は最後の課題なので、もう少し頑張りたいと思います。

コメント

ロボットの方は詳しく説明していて良かったです。プログラムの方はうまく貼れていないのでなおしてください。そして、ロボットがどういう動きをするかという説明だけではなく、どのような意図でその動きをさせるのかという点まで踏み込んだ説明があるとより良いレポートになると思います。 FI

プログラム部分を修正してください。TAKA


添付ファイル: file3e.JPG 335件 [詳細] file3b.JPG 315件 [詳細] file3f.png 309件 [詳細] file3c.JPG 319件 [詳細] file3a.JPG 326件 [詳細] file3d.JPG 330件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-02-11 (金) 13:36:52