2013a/Member

ロボット紹介

ロボット
  • 光センサーが、本体が回転すると大きく動くように工夫した。
  • ぐらぐらしないようにしっかり固定した。
  • 缶を運ぶために、開閉式のアームをつけた。
  • なるべくシンプルに作った。

コース攻略法

  • 線の左側に沿うように動くようにして、コースを一周できるようにした。
  • タッチセンサーが缶に触れている間はアームが閉じるようにしたかった。

プログラムの説明

#define BLACK_01 34

#define BLACK_02 40

#define WHITE_01 50

#define WHITE_02 56

#define SPEED_H 60

#define SPEED_L 30

#define OnRL(speedR,speedL) OnFwd(OUT_A,speedR);OnFwd(OUT_C,speedL);

#define go_forward OnRL(SPEED_L,SPEED_L);

#define turn_right OnRev(OUT_A,SPEED_L);OnFwd(OUT_C,SPEED_L);

#define turn_left OnFwd(OUT_A,SPEED_L);OnRev(OUT_C,SPEED_L);

#define right Off(OUT_A);OnFwd(OUT_C,SPEED_L);

#define left OnFwd(OUT_A,SPEED_L);Off(OUT_C);

#define STEP 1

#define nMAX 150

#define short_break Off(OUT_AC);Wait(1000);

#define CROSS_TIME 200

#define cross_line OnRL(SPEED_L,SPEED_L);Wait(300);short_break;

task main() {

   OnFwd(OUT_AC,50);
   Wait(500);
   right;
   Wait(1700);

↑ここで、最初のT字路を左に曲がる。

   SetSensorLight(S1);
   int nOnline=0;
   int count=0;
   while (true) {
     while (count < 3) {
         while (nOnline < nMAX) {
           if (SENSOR_1<BLACK_01) {turn_right;nOnline++;}
           else {
             if (SENSOR_1<BLACK_02) {right;nOnline++;}
             else if (SENSOR_1<WHITE_01) {go_forward;}
             else if (SENSOR_1<WHITE_02) {left;}
             else {turn_left;}

↑ここの敷居値の設定は、黒線を光センサーを使って測定した結果、中央では26、端では60くらいであったため、 [〜34]右旋回 [34〜40]右折 [40〜50]直進 [50〜56]左折 [56〜]左旋回 という設定にした。この値は、なるべく滑らかに動くようにするため、直進する値の幅を大きくするようにした。

             nOnline=0;
           }
           Wait(STEP); 
         }
         short_break;
         turn_left;
         Wait(150);
         cross_line;
         nOnline=0;
         count++;
       }}

↑ここで、交差点と判断された回数が3回になったら、次のプログラムに移るように設定した。3回という回数は、最後にT字路に差し掛かった時にちょうど交差点判断が3回目になったためにこの値に設定した。

   turn_right;
   Wait(300);
   go_forward;
   Wait(500);
   Off(OUT_AC);

↑ここで、最後のT字路を左に曲がる。 }

まとめ

今回は、完成させることができなかったがいろんなことを経験し、そして、試行錯誤できた。なるべく線上を滑らかに動くようには工夫したが、缶をつかんで運び、そして離すという動作はうまくできなかったのが残念だ。次回からはもっと深く考えて、最後には解決できるようにしたい。


添付ファイル: fileCIMG1069.JPG 115件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-08-04 (日) 03:42:37 (2204d)