#contents

*課題2・黒い線に沿って動くロボット [#ge99588a]
  2つの光センサーが白を感知して進みます。それによって、ロボット本体を黒の線上を進むようにしました。 
   
**【メンバー】 [#t1e2029d]
 ・宮原
 ・大益

**【ロボット紹介】 [#j76913f3]

**【プログラム】 [#q7a68997]
 #define MOTOR OUT_A+OUT_C  
 #define THRESHOLD  40            
 #define TIME  0

 task main ()
  {
        SetSensor(SENSOR_1,SENSOR_LIGHT);               
        SetSensor(SENSOR_3,SENSOR_LIGHT);             
        SetSensor(SENSOR_2,SENSOR_TOUCH);             
      
        while(true){
              if(SENSOR_2 == 1){
                          OnRev(MOTOR);
                          Wait(60);
                          Off(MOTOR);
                          Wait(300);    
                     } else {
                   if(SENSOR_1 > THRESHOLD){
                      if(SENSOR_3 > THRESHOLD){
                         OnFwd(MOTOR);     
                      } else {
                         OnFwd(OUT_A);
                         Off(OUT_C);
                         Wait(TIME);
                         }
                     } else {
                         if(SENSOR_3 > THRESHOLD){                      
                         Off(OUT_A); 
                         OnFwd(OUT_C);      
                         Wait(TIME);
                      } else {
                          OnFwd(MOTOR);
                          Wait(30);
                          Off(MOTOR);
                              }
                                    
                       }
                  }   
   
       }       
 }

***衝突時の対応 [#vd4c4ef4]
 いくつかのロボットをコース上で動かすために、交差点などで衝突した場合の対応を組み込みました。
 if(SENSOR_2 == 1){
                         OnRev(MOTOR);
                         Wait(30);
                         Off(MOTOR);
                         Wait(100);

  衝突直後3秒間後退します、その後10秒間停止して、再び前進し始めます。最初はテーブルバンパーを元に、タッチセンサを本体に付けようと考えていましたが、衝突した時の反応時間が遅くなってしまうこと、それにより衝突した相手のロボットの進路を妨げないために、下の写真のようにしました。拡散

**工夫した点・努力した点 [#ld375496]
 前回の書道ロボットに比べ、軽量で小回りを利かせる事を念頭に考えて作りました。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS