[[2016a/Member]]

#contents

*¤Ï¤¸¤á¤Ë [#db5768ef]

º£²ó¤Î²ÝÂê¤Ï²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¥ß¥Ã¥·¥ç¥ó¤ò¿ë¹Ô¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£

#ref(2016a-mission2.png)

¤Ê¤ª¡¢º£²ó¤Î»ä¤Î¥ß¥Ã¥·¥ç¥ó¤Ï

BÃÏÅÀ¤«¤éCÃÏÅÀ¤Ø

(BÃÏÅÀ ¢ª R±¦ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ªP±¦ÀÞ ¢ª S±¦ÀÞ ¢ª CÃÏÅÀ)

¤Ç¤¢¤ë¡£([[2016ǯÅÙÁ°´ü ²ÝÂê2:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2FMission2]]°úÍÑ)

*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#dcc4ff80]

*¥×¥í¥°¥é¥à [#h080aa93]


 float GetAngle(float d)
 {
 const float diameter=5.45;¡¡¡¡¡¡¡¡//¥¿¥¤¥ä¤Îľ·Â(­Ñ)
 const float pi=3.1415;¡¡¡¡¡¡¡¡¡¡¡¡//±ß¼þΨ(¦Ð)
 float ang = d/(diameter*pi)*360.0;¡¡¡¡//³ÑÅÙ¤ò·×»»¤¹¤ë
 return ang;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//³ÑÅÙ¤òÊÖ¤¹¡¡
 }

 #define Ninety  GetAngle(16.5)
 #define Two GetAngle(2)
 #define Usetsu RotateMotorEx(OUT_BC,50,Ninety,100,true,false);
 #define Tyokusin RotateMotorEx(OUT_BC,50,Two,0,true,true);
 #define Tyokushin RotateMotorEx(OUT_BC,50,Two,0,true,true);


 #define THRESHOLD 45
 #define SHIKIICHI 45
 #define OnRL(b,c) OnFwd(OUT_B,b);OnFwd(OUT_C,c);
 #define go_forward OnRL(50,50);
 #define turn_left1 OnRL(25,-25); // º¸Àû²ó
 #define turn_left0 OnRL(25,0); // º¸ÀÞ
 #define turn_right0 OnRL(0,25); // ±¦ÀÞ
 #define turn_right1 OnRL(-25,25); // ±¦Àû²ó
 #define STEP 1  // 1²ó¤ÎȽÃǤÇÆ°ºî¤µ¤»¤ë»þ´Ö
 #define nMAX 120
 #define Sound PlaySound(SOUND_UP);Off(OUT_BC);Wait(2000); //¸òº¹ÅÀ¤Ç²»¤òÌĤ餹
 int t=0; //¸òº¹ÅÀ¤òÄ̤俲ó¿ô
 
 
 sub L_susumu() //¹õÀþ¤Îº¸Â¦¤ò¿Ê¤à
  {
    SetSensorLight(S3);
    int n=0; 
   while (n < nMAX) {
      if (SENSOR_3 < 30) {
      if (SENSOR_3 < SHIKIICHI-15) {
        turn_left1
        n++;
        t=t+1;
      } else {
        if (SENSOR_3 < 38) {
        if (SENSOR_3 < SHIKIICHI-7) {
          turn_left0
        } else if (SENSOR_3 < 52) {
        } else if (SENSOR_3 < SHIKIICHI+7) {
          go_forward
        } else if (SENSOR_3 < 60) {
        } else if (SENSOR_3 < SHIKIICHI+15) {
          turn_right0
        } else {
          turn_right1
        }
        n=0;
      }
      Wait(1000);
    }
  }

 
 sub R_susumu() //¹õÀþ¤Î±¦Â¦¤ò¿Ê¤à
 {
   SetSensorLight(S3);
   int n=0; 
   while (n < nMAX) {
     if (SENSOR_3 < 30) {
     if (SENSOR_3 < SHIKIICHI-15) {
       turn_right1
       n++;
       t=t+1;
     } else {
       if (SENSOR_3 < 38) {
       if (SENSOR_3 < SHIKIICHI-7) {
         turn_right0
       } else if (SENSOR_3 < 52) {
       } else if (SENSOR_3 < SHIKIICHI+7) {
         go_forward
       } else if (SENSOR_3 < 60) {
       } else if (SENSOR_3 < SHIKIICHI+15) {
         turn_left0
       } else {
         turn_left1
       }
       n=0;
     }
     Wait(1000);
   }
 }


 task main()
 {
   while(t <= 6){
     if(t <= 1){
      L_susumu();
      Sound
      Tyokushin //¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ïľ¿Ê
      n=0;
    } else if (t <= 2){
      Sound
      Usetsu
      n=0;
      Off(OUT_BC);
      OnFwd(OUT_B,50);
      Wait(200);
      Off(OUT_B); //1¤ÄÌܤθòº¹ÅÀ¤ò±¦À޸塢¹õÀþ¤Î±¦Â¦¤ò¿Ê¤à¤¿¤á°ÌÃÖÊÑ
      R_susumu();
    } else if (t <= 3){
      Sound
      Tyokushin
      n=0;
      Off(OUT_BC);
      OnFwd(OUT_C,50);
      Wait(200);
      Off(OUT_C); //2¤ÄÌܤθòº¹ÅÀ¤òľ¿Ê¸å¡¢¹õÀþ¤Îº¸Â¦¤ò¿Ê¤à¤¿¤á°ÌÃÖÊÑ
      L_susumu();
    } else if (t <= 4){
      Sound
      Tyokushin //3¤ÄÌܤθòº¹ÅÀ¤Ïľ¿Ê
      n=0;
      L_susumu();
    } else if {
      Sound
      Usetsu //4,5¤ÄÌܤθòº¹ÅÀ¤Ï±¦ÀÞ
      n=0;
      L_susumu();
    }
  }
  OnFwd(OUT_BC,50);
  Wait(3000);
  Off(OUT_BC);
 }

*´¶ÁÛ¡¦¹Í»¡ [#r903969b]


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS