2006a/MemberOnly/進行状況A

課題2反転するロボ

制作者 Fuji.SHU

task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー
   
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー 
   
while(true)
{
OnFwd(OUT_A+OUT_C);
    
if(SENSOR_1==1)     //何かに当ったら・・・
{   
OnRev(OUT_A+OUT_C);  Wait(50);
OnFwd(OUT_A);  Wait(150);
OnFwd(OUT_C);      //後退して旋回する
                                                                                           
{
                   //ライントレース部
if(SENSOR_2<40)     //右にずれたとき
{ OnFwd(OUT_C);Off(OUT_A);}
else{OnFwd(OUT_A+OUT_C);}
    
if(SENSOR_3<40)     //左にずれたとき
{  OnFwd(OUT_C);Off(OUT_A);}
else{OnFwd(OUT_A+OUT_C); }
    
}
}                        

制作者 カミー

#define THRESHOLD 48

task main () 
{
SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー
SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2はタッチセンサー
while(true){
if(SENSOR_1<THRESHOLD) {  //光センサー1個で進む
Off(OUT_A);
OnFwd(OUT_C);
}
if(SENSOR_2==1){  //ぶつかると反転
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
}else{
OnFwd(OUT_A);
Off(OUT_C);
}.
}
}

課題2前のロボに当たると追い抜く

制作者:Fuji .SHU

task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー
  
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);  //センサー2・3は光センサー 
  
OnFwd(OUT_A+OUT_C);
  
while(true){
if(SENSOR_1==1){
OnRev(OUT_A+OUT_C);Wait(50); //後退
OnFwd(OUT_A);Wait(40);    
OnFwd(OUT_A+OUT_C);Wait(50);
OnFwd(OUT_C);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(250); //前のロボットを追い越す
OnFwd(OUT_C);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(50); //コースに戻る
OnFwd(OUT_A);Wait(40);              }
     
else{
if(SENSOR_2<40)
{OnFwd(OUT_C);}
if(SENSOR_3<40)
{OnFwd(OUT_A);}     }  }  } //ライントレース部

   

制作者  カミー

#difine THRESHOLD 45 task main () {

SetSensor(SENSOR_1,SENSOR_LIGHT); 
SetSensor(SENSOR_2,SENSOR_LIGHT);//センサー1、2は光センサー
SetSensor(SENSOR_3,SENSOR_TOUCH);//センサー3はタッチセンサー
while(true){
if(SENSOR_1<THRESHOLD){  //左にずれたら右に修正
OnFwd(OUT_A);
Off(OUT_C);
}
if(SENSOR_2<THRESHOLD){  //右にずれたら左に修正
OnFwd(OUT_C);
Off(OUT_A);
}
if((SENSOR_1>THRESHOLD)&&(SENSOR_2>THRESHOLD)){
OnFwd(OUT_A+OUT_C);  //直進
}
if(SENSOR_3==1){
OnRev(OUT_A+OUT_C);//後退
Wait(90);
OnFwd(OUT_A);//追い越し
Off(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(90);
Off(OUT_A);
OnFwd(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(150);
Off(OUT_A);
OnFwd(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(90);
OnFwd(OUT_A);//コースに戻る
Off(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(20);
}
}
}

苦労した所

タッチセンサーと光センサー2個をロボに取り付けなくてはいけなかったところ。前にタッチセンサーを付けるので光センサーをつけるのが苦労した。 タッチセンサーの付け方に苦労しました。最初に作った物は前のロボットにぶつかってもうまくセンサーが押されなかったので、どうしたら押されるかを工夫したのと同時に苦労しました。 追い越すときのモーターの回転時間をどのぐらいにすればいいのかがいまいちわからなかったので、何回も実際に動かしてちょうどいい時間を探すのに苦労しました。

工夫した所

タッチセンサーのバンパーを少し短くして反転するときや曲がるときに邪魔にならないようにした。  前のロボットを追い越すときに、少し大きく動くことによってだいたいの物はよけられるようにしました。  

感想

今回はメンバー同士の連携がとれて、計画的に作業ができた。 メンバーの結束も強まってきたので、次回から更に良いものができそうだ。 

コメントをどうぞ

#coment 


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-07-14 (金) 14:29:00