*¥á¥ó¥Ð¡¼¾Ò²ð [#f73dc71c]
-²Ö²¬²ÂÂÀ¡¡¹©³ØÉôµ¡³£¥·¥¹¥Æ¥à¹©³Ø²Ê¡¡
-»ÔÀîÂçµ³¡¡Á¡°Ý³ØÉôµ¡³£¥í¥Ü¥Ã¥È³Ø·Ï¡¡

*²ÝÂê [#icc3e4e6]

[ÌÜɸ]

-¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ¥´¡¼¥ë¤òÌܻؤ¹¡£
-¥³¡¼¥¹¤ÎÅÓÃæ¤Ë¤¢¤ë¶õ¤­´Ì¤òÄϤßÌÜɸ¤Î°ÌÃ֤˱¿¤Ö¡£

[¿Þ]
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2013a%2FMission1&src=robotics-2013a-mission1.jpg


*¥í¥Ü¥Ã¥È¾Ò²ð [#of9c4bdd]

-¶ËÎϻȤ¦¥Ñ¡¼¥Ä¤ò¸º¤é¤·¤Æ¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎºÝ¤Î¸÷¥»¥ó¥µ¡¼¤Î»Ù¾ã¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
-»õ¼Ö¤òÍøÍѤ·¤Æ¥â¡¼¥¿¡¼¤Î²óžÊýË¡¤òÊѹ¹¤·¤Þ¤·¤¿¡£ºÇ½é¤Ï¥â¡¼¥¿¡¼¤ò²£¤Ë¤·¤Æ»È¤Ã¤Æ¤¤¤¿¤¬¡¢½ÄÊý¸þ¤Ç»È¤¦¤³¤È¤Ç¡¢¥¢¡¼¥à¤ò¼è¤êÉÕ¤±¤ä¤¹¤¯¤Ê¤Ã¤¿¡£¢¨¼Ì¿¿1.2

&ref(2013a/Member/free/Mission1/3.JPG,480¡ß640,¼Ì¿¿1);

&ref(2013a/Member/free/Mission1/2.JPG,640¡ß480,¼Ì¿¿2);

*¥×¥í¥°¥é¥à¤Î³µÍ×(È¿»þ·×¼þ¤ê) [#v9ba94d7]

­¡¥¹¥¿¡¼¥È¤«¤é7.5Éø塢¥¢¡¼¥à¤òÊĤ¸¤Æ´Ì¤òÄϤࡣ

­¢¤½¤Î¤Þ¤Þ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¹Ô¤¤¡¢26Éøå¥È¥ì¡¼¥¹¤¹¤ë°ÌÃÖ¤ÎÊѹ¹

­£36ÉøåºÆ¤Ó°ÌÃÖ¤ÎÊѹ¹

­¤¤â¤·55Éøå°Ê¹ß¤Ë¸òº¹ÅÀ¤Ë¤Ö¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¸þ¤­¤ò180Åٲ󞤷¤¿¸å´Ì¤òÃÖ¤¯¡£

­¥¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ë¤è¤ê¥´¡¼¥ë¤Ø¸þ¤«¤¦¡£

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

 #define white1 39
 #define white2 45
 #define black1 60
 #define black2 65
 #define go_forward OnFwd(OUT_BC,40)
 #define turn_left2 OnFwd(OUT_C,40);Off(OUT_B)
 #define turn_left1 OnFwd(OUT_C,40);OnRev(OUT_B,30)
 #define turn_right2 OnFwd(OUT_B,40);Off(OUT_C)
 #define turn_right1 OnFwd(OUT_B,40);OnRev(OUT_C,20)
 #define STEP 1
 #define nMAX 180
 #define short_break Off(OUT_BC);Wait(1000);


 task main ()
 {
    SetSensorLight(S3);
    int nOnline=0;
    long t0 = CurrentTick();
    int n=0;

    while (CurrentTick()-t0 <= 7500) {

        if (SENSOR_3 < white1) {
            turn_left1;
        } else if (SENSOR_3 < white2) {
            turn_left2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_right2;
        } else {
            turn_right1;
        }
       Wait(STEP);
    }
       OnFwd(OUT_A,50);Wait(800);Off(OUT_A);



    while (CurrentTick()-t0 <= 26000) {

        while(nOnline < nMAX && CurrentTick()-t0 <= 26000) {
            if (SENSOR_3 < white1) {
            turn_left1;
            nOnline++;
      } else {
          if (SENSOR_3 < white2) {
            turn_left2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_right2;
        } else {
            turn_right1;
          }
        nOnline=0;
        }
       Wait(STEP);
    }
    turn_right2;Wait(nMAX*STEP);
    OnFwd(OUT_BC,30);Wait(200);
    nOnline=0;
  }turn_right1;Wait(100);


    while (CurrentTick()-t0 <= 36000) {

        while(nOnline < nMAX && CurrentTick()-t0 <= 36000) {
            if (SENSOR_3 < white1) {
            turn_right1;
            nOnline++;
      } else {
          if (SENSOR_3 < white2) {
            turn_right2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_left2;
        } else {
            turn_left1;
          }
        nOnline=0;
        }
       Wait(STEP);
    }
    turn_left2;Wait(nMAX*STEP);
    OnFwd(OUT_BC,30);Wait(200);
    nOnline=0;
  }turn_left1;Wait(200);


    while (CurrentTick()-t0 <= 55000) {

        while(nOnline < nMAX && CurrentTick()-t0 <= 55000) {
            if (SENSOR_3 < white1) {
            turn_left1;
            nOnline++;
      } else {
          if (SENSOR_3 < white2) {
            turn_left2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_right2;
        } else {
            turn_right1;
          }
        nOnline=0;
        }
       Wait(STEP);
    }
    turn_right2;Wait(nMAX*STEP);
    OnFwd(OUT_BC,30);Wait(200);
    nOnline=0;
  }


    while (n<2) {

        while(nOnline < nMAX && n<2) {
            if (SENSOR_3 < white1) {
            turn_left1;
            nOnline++;
      } else {
          if (SENSOR_3 < white2) {
            turn_left2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_right2;
        } else {
            turn_right1;
          }
        nOnline=0;
        }
       Wait(STEP);
    }
    turn_right2;Wait(nMAX*STEP);
    OnRev(OUT_BC,30);Wait(200);
    nOnline=0;n++;
  }
    OnRev(OUT_BC,50);Wait(500);OnFwd(OUT_C,50);OnRev(OUT_B,50);Wait(300);
    OnFwd(OUT_C,50);OnRev(OUT_B,50);until(SENSOR_3 < 50);
    long t1 = CurrentTick();

      while (CurrentTick()-t1 <= 1800) {

        if (SENSOR_3 < white1) {
            turn_right1;
        } else if (SENSOR_3 < white2) {
            turn_right2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_left2;
        } else {
            turn_left1;
        }
       Wait(STEP);
    }
    turn_left1;Wait(270);Off(OUT_BC);OnRev(OUT_A,50);Wait(300);Off(OUT_A);
    OnRev(OUT_BC,50);Wait(600);OnFwd(OUT_B,50);OnRev(OUT_C,50);Wait(300);
    OnFwd(OUT_B,50);OnRev(OUT_C,50);until(SENSOR_3 < 50);
    long t2 = CurrentTick();

        while (CurrentTick()-t2 <= 3900) {

        if (SENSOR_3 < white1) 
 {
            turn_left1;
        } else if (SENSOR_3 < white2) {
            turn_left2;
        } else if (SENSOR_3 < black1) {
            go_forward;
        } else if (SENSOR_3 < black2) {
            turn_right2;
        } else {
            turn_right1;
        }
       Wait(STEP);
    }
    Off(OUT_BC);
 }

*´¶ÁÛ [#o11c00ca]

¡¦º£²ó¤Î²ÝÂê¤òÄ̤¸¤Æ¡¢ºÇ½é¤Ï¾å¼ê¤¯¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Ê¤«¤Ã¤¿¤¿¤á¡¢¥Ñ¥ï¡¼¤òÍî¤È¤·¤ÆÆ°¤«¤¹¤³¤È¤ÇÀµ³Î¤Ê¥È¥ì¡¼¥¹¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£

¡¦È¯É½¤ÎºÝ¤Ë¤Ï¡¢º£¤Þ¤Ç¾å¼ê¤¯¤¤¤Ã¤Æ¤¤¤¿¤Î¤Ë¡¢ËÜÈ֤Ǥϵޤ˼ºÇÔ¤·¤Æ¤·¤Þ¤¤¡¢¥¿¥¤¥Þ¡¼¤Ç¤ÎÁàºî¤ÎÆñ¤·¤µ¤ò¼Â´¶¤·¤¿¡£

¡¦¸òº¹ÅÀ¤Ç¤Î¼ºÇÔ¤¬Â¿¤«¤Ã¤¿¤¿¤á¡¢¤â¤¦¾¯¤·²þÎɤ¹¤Ù¤­¤Ç¤¢¤Ã¤¿¡£

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