#contents

*¥í¥Ü¥Ã¥È¤Î¾Ò²ð [#d2b4ef72]
-¥µ¥ó¥×¥ë¤Î¥í¥Ü¥Ã¥È¤Ç¤Ï¹¶Î¬¤¹¤ë¥³¡¼¥¹¤Î¤è¤¦¤ÊµÞ¤Ê¥«¡¼¥Ö¤Ï¶Ê¤¬¤ê¤­¤ë¤³¤È¤ÏÆñ¤·¤¤¡£~
¤½¤³¤Ç¥â¡¼¥¿¡¼¤È¥â¡¼¥¿¡¼¤È¤Îµ÷Î¥¤ò½Ì¤á¤ë¤³¤È¤Ë¤è¤Ã¤Æ¾®²ó¤ê¤¬Íø¤¯¤è¤¦¤Ë¤·¡¢~
º£²ó¤Î¤è¤¦¤ÊµÞ¤Ê¥«¡¼¥Ö¤â¶Ê¤¬¤êÀÚ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£~

-´Ì¤ò¶´¤à¥®¥ß¥Ã¥¯¤Ë¤Ï¥â¡¼¥¿¡¼ÉÕ¤­¤ÎÂ礭¤Ê¥Ï¥µ¥ß¤ò»ÈÍѤ·¤¿¡£~
´Ì¤¬¥í¥Ü¥Ã¥È¤Ë¿¨¤ì¤¿¤«¤É¤¦¤«¤ÎȽÄê¤ò¤¹¤ë¤¿¤á¤Ë¥Ð¥ó¥Ñ¡¼¤ò¼è¤êÉÕ¤±¤¿¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤ò»È¤Ã¤¿¡£

#ref(DSC_0148.jpg)

¼Ì¿¿¤Î¥Ï¥µ¥ß¤¬³«ÊĤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ´Ì¤ò¤Ä¤«¤ó¤À¤êÎ¥¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
¥Ï¥µ¥ß¤ÎÀèü¤Ë¤Ï¾®¤µ¤Ê¥¿¥¤¥ä¤ò¼è¤êÉÕ¤±¡¢´Ì¤¬¥Ï¥µ¥ß¤«¤é³ê¤êÍî¤Á¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£


*¥³¡¼¥¹¹¶Î¬Ë¡ [#l42dc28d]
#ref(robotics-2013a-mission10.jpg)
-¤³¤Î¥³¡¼¥¹¤Ç¤Ï»þ·×²ó¤ê¥³¡¼¥¹¤òôÅö¤·¤¿¡£~

-´Ì¤ò¤Ä¤«¤ßÌÜŪ¤Î¾ì½ê¤ËÃÖ¤¯¤¿¤á¤Ë¿Þ¤Î¤è¤¦¤Ë¥³¡¼¥¹¤ò£µÊ¬³ä¤·¡¢~
¥×¥í¥°¥é¥à¤â¤½¤ì¤Ë¹ç¤ï¤»¤Æ£µ¤Ä¤Ëʬ¤±¤ÆºîÀ®¤·¤¿¡£


*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#sa2fe1d4]
 #define THRESHOLD 42 //¤·¤­¤¤ÃÍ
 #define HIPOWER 5 //®¤µ¤ÎÃÍ¡Ê®¡Ë
 #define LOWPOWER 1 //®¤µ¤ÎÃÍ¡ÊÃÙ¡Ë
 #define set_power_H SetPower(OUT_AC,HIPOWER); //®¤¤²óž
 #define set_power_L SetPower(OUT_AC,LOWPOWER); //ÃÙ¤¤²óž
 #define go_forward set_power_H; OnFwd(OUT_AC); //Á°¿Ê
 #define turn_left1 set_power_L; OnRev(OUT_A); OnFwd(OUT_C);//±¦Àû²ó
 #define turn_left0 set_power_L; Off(OUT_A); OnFwd(OUT_C); //±¦ÀÞ
 #define turn_right0 set_power_L; OnFwd(OUT_A); Off(OUT_C); //º¸ÀÞ
 #define turn_right1 set_power_L; OnFwd(OUT_A); OnRev(OUT_C); //º¸Àû²ó
 #define STEP 1 //¹õ¤òȽÃǤ¹¤ë´Ö³Ö
 #define nMAX 3 //¸òº¹ÅÀ¤òȽÃǤ¹¤ë´ð½à¤ÎÃÍ
 #define short_break Off(OUT_AC); Wait(10); //¾®µÙ»ß
 #define cross_time 20 //¸òº¹ÅÀ¤òÅϤë»þ´Ö
 #define cross_line go_forward set_power_H; OnFwd(OUT_AC); Wait(cross_time); short_break; //¸òº¹ÅÀ¤òÅϤëÆ°ºî
 #define time1 1600 //·è¤á¤é¤ì¤¿¥Ý¥¤¥ó¥È¤Þ¤ÇÆ°ºî¤¹¤ë»þ´Ö
 #define time3 900 
 #define time5 900 
 


 task main() {
  SetSensor(SENSOR_2, SENSOR_LIGHT);
  SetSensor(SENSOR_1, SENSOR_TOUCH);
  ClearTimer(0);
  int counter=0;
  int nOnline=0;

-¤³¤³¤«¤é­¡¤ÎÉôʬ¤Î¥³¡¼¥¹¤Î¹¶Î¬¡£~
»ØÄꤵ¤ì¤¿»þ´Ö¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¡£~
¤Þ¤¿¡¢ÅÓÃæ¤Ç¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤ËÈ¿±þ¤¬¤¢¤ì¤Ð¥â¡¼¥¿¡¼¤Ë¤è¤Ã¤Æ¥Ï¥µ¥ß¤òÊĤ¸¡¢´Ì¤ò¶´¤â¤¦¤È¤¹¤ë¡£~

   if (SENSOR_1 == 0){ //­¡¤Î¥³¡¼¥¹¤ÎÅÓÃæ¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
    OnFwd(OUT_B);
   }
   while(FastTimer(0) <= time1){
    if (SENSOR_1 == 1){
     OnRev(OUT_B);
    }
    if (SENSOR_2 < THRESHOLD -4){
     turn_left1;
    } else if (SENSOR_2 < THRESHOLD -3){
     turn_left0;
    } else if (SENSOR_2 < THRESHOLD +0){
     go_forward;
    } else if (SENSOR_2 < THRESHOLD +2){
     turn_right0;
    } else {
     turn_right1;
    }
     Wait(STEP);
   }
  PlaySound(SOUND_CLICK);

-­¢¤ÎÉôʬ¡£~
¸òº¹ÅÀ¤Ë¤Ëº¹¤·³Ý¤«¤ë¤È¤½¤ì¤òǧ¼±¤·¤Æ¶Ê¤¬¤é¤º¤Ëľ¿Ê¤¹¤ë¡Ê¸òº¹ÅÀ¤òÅϤë¡Ë¥×¥í¥°¥é¥à¡£~
¤³¤Î¥Ñ¡¼¥È½ªÎ»¤Þ¤Ç¤Ë£³¤Ä¤Î¸òº¹ÅÀ¤¬¤¢¤ë¤Î¤Ç¡¢¸òº¹ÅÀ¤ò£³¤Äǧ¼±¤·¤¿»þÅÀ¤Ç¤³¤Î¥×¥í¥°¥é¥à¤Ï½ªÎ»¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£~

  while(counter < 3){ //¸òº¹ÅÀ¤ò£³¤ÄÅϤë
    while(nOnline < nMAX){
     if (SENSOR_2 < THRESHOLD -3){
      turn_left1;
      nOnline++;
     } else {
     if (SENSOR_2 < THRESHOLD -2){
      turn_left0;
     } else if (SENSOR_2 < THRESHOLD -0){
      go_forward;
     } else if (SENSOR_2 < THRESHOLD +2){
      turn_right0;
     } else {
      turn_right1;
     } 
      nOnline=0;
     }
     Wait(STEP);
    }
    short_break;
    turn_right1; Wait(nMAX*STEP);
    cross_line;
    PlaySound(SOUND_UP);
    nOnline=0;
    counter++;
    }
  PlaySound(SOUND_CLICK);

-­£¤ÎÉôʬ¡£~
±ß¾õ¤ÎÉôʬ¤ò¥í¥Ü¥Ã¥È¤¬²ó¤ë¤ª¤ª¤Þ¤«¤Ê»þ´Ö¤ò·×¬¤·¤Æ¡¢¥×¥í¥°¥é¥à¤·¤¿¡£

  ClearTimer(0);
  while(FastTimer(0) <= time3){ //Ä̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
   if (SENSOR_2 < THRESHOLD -4){
    turn_left1;
   } else if (SENSOR_2 < THRESHOLD -3){
    turn_left0;
   } else if (SENSOR_2 < THRESHOLD +0){
    go_forward;
   } else if (SENSOR_2 < THRESHOLD +2){
    turn_right0;
   } else {
    turn_right1;
   }
   Wait(STEP);
  }
  PlaySound(SOUND_CLICK);

-­¤¤ÎÉôʬ¡£~
¸òº¹ÅÀ¤¬¤¢¤ê¡¢¤³¤³¤À¤±¤ÏÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤ÏÆÍÇˤǤ­¤Ê¤¤¤Î¤Ç¡¢~
°ì½Ö¤À¤±¸òº¹ÅÀ¤òÅϤë¥×¥í¥°¥é¥à¤ËÀÚ¤êÂؤ¨¤Æ¹¶Î¬¤·¤¿¡£

  counter=0;
  while(counter < 1){ //¸òº¹ÅÀ¤ò°ì¤ÄÅϤë
   while(nOnline < nMAX){
    if (SENSOR_2 < THRESHOLD -4){
     turn_left1;
     nOnline++;
    } else {
     if (SENSOR_2 < THRESHOLD -3){
      turn_left0;
    } else if (SENSOR_2 < THRESHOLD -0){
      go_forward;
    } else if (SENSOR_2 < THRESHOLD +2){
      turn_right0;
    } else {
      turn_right1;
    } 
     nOnline=0;
    }
   Wait(STEP);
   }
   short_break;
   turn_right1; Wait(nMAX*STEP);
   cross_line;
   PlaySound(SOUND_UP);
   nOnline=0;
   counter++;
   }
  PlaySound(SOUND_CLICK);

-­¥¤ÎÉôʬ¡£~
Á°È¾Éôʬ¤ÏÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¡£~
¸åȾ¤«¤é¤Ï¸òº¹ÅÀ¡Ê¥¹¥¿¡¼¥ÈÃÏÅÀ¡Ë¤òǧ¼±¤¹¤ë¤È·è¤á¤é¤ì¤¿Æ°¤­¤ò¤·¤Æ~
´Ì¤ò·è¤á¤é¤ì¤¿°ÌÃÖ¤ËÃÖ¤¯¥×¥í¥°¥é¥à¡£~

  ClearTimer(0);
  while(FastTimer(0) <= time5){ //¥³¡¼¥¹ÅÓÃæ¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
   if (SENSOR_2 < THRESHOLD -4){
    turn_left1;
   } else if (SENSOR_2 < THRESHOLD -3){
    turn_left0;
   } else if (SENSOR_2 < THRESHOLD +0){
    go_forward;
   } else if (SENSOR_2 < THRESHOLD +4){
    turn_right0;
   } else {
    turn_right1;
    }
     Wait(STEP);
    }
  PlaySound(SOUND_CLICK);

 counter=0;
 while(counter < 1){ //¥¹¥¿¡¼¥È¤Î°ÌÃÖ¤òȽÃǤ·¤Æ¼¡¤ÎÌ¿Îá¤Ë°Ü¤ë
 while(nOnline < nMAX){
  if (SENSOR_2 < THRESHOLD -4){
   turn_left1;
   nOnline++;
  } else {
   if (SENSOR_2 < THRESHOLD -3){
    turn_left0;
  } else if (SENSOR_2 < THRESHOLD -0){
   go_forward;
  } else if (SENSOR_2 < THRESHOLD +2){
   turn_right0;
  } else {
   turn_right1;
  } 
  nOnline=0;
 }
 Wait(STEP);
 }
 OnRev(OUT_B); //È¿ÂÐÊý¸þ¤ò¸þ¤¯
 OnRev(OUT_A);
 OnFwd(OUT_C);  
 Wait(400);
 Off(OUT_AC);
 OnFwd(OUT_AC); //´Ì¤òÃÖ¤¯°ÌÃ֤ޤǿʤà
 Wait(200);
 OnFwd(OUT_B);
 Off(OUT_AC);
 Wait(100);
 Off(OUT_B); //´Ì¤òÎ¥¤·¤Æ¸åÂह¤ë
 OnRev(OUT_AC);
 Wait(100);
 OnRev(OUT_C); //È¿ÂÐÊý¸þ¤ò¸þ¤¯
 OnFwd(OUT_A);  
 Wait(400);
 counter++;

-´Ì¤òÃÖ¤­½ª¤ï¤ë¤È¥´¡¼¥ë¤Ø¸þ¤«¤¦

   while(true){ //¥´¡¼¥ë¤Þ¤ÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹
    if (SENSOR_2 < THRESHOLD -4){
     turn_left1;
    } else if (SENSOR_2 < THRESHOLD -3){
     turn_left0;
    } else if (SENSOR_2 < THRESHOLD +0){
     go_forward;
    } else if (SENSOR_2 < THRESHOLD +2){
     turn_right0;
    } else {
     turn_right1;
    }
   Wait(STEP);
   }
   PlaySound(SOUND_CLICK);
  }
 }

 
*¤Þ¤È¤á [#o78fb8f6]

**¥í¥Ü¥Ã¥ÈËÜÂΤˤĤ¤¤Æ [#ad75ad43]
-¥Ï¥µ¥ßÉôʬ¤Î½ÅÎ̤¬Í½Á۰ʾå¤Ë½Å¤¯¡¢¥í¥Ü¥Ã¥ÈËÜÂΤΥХé¥ó¥¹¤ò¼è¤ë¤Î¤¬Æñ¤·¤«¤Ã¤¿¡£


**¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ [#tcc7792e]
-³ç¸ÌÉôʬ¤Îʸˡ¥ß¥¹¤¬Â¿¤«¤Ã¤¿¤Î¤Ç¡¢¼¡²ó¤«¤é¤Ï¥¤¥ó¥Ç¥ó¥È¤ò¤·¤Ã¤«¤ê¤¹¤ë¤Ê¤É¤·¤ÆÂкö¤·¤¿¤¤¡£

-Éô²°¤ÎÌÀ¤ë¤µ¡¢ÅÅÃӤλÄÎÌ¡¢¾²¤Î½À¤é¤«¤µ¤Ê¤É¤Ç¸÷¥»¥ó¥µ¤¬Ç§¼±¤¹¤ëÌÀ¤ë¤µ¤ä¥¿¥¤¥ä¤Î³ê¤ê¤Ê¤É¤¬°ã¤Ã¤¿¤¿¤á¡¢Áö¹Ô¤Ë¤«¤«¤ë»þ´Ö¤¬ÊѤï¤Ã¤¿¤Î¤ÇÄ´À°¤¬Æñ¤·¤«¤Ã¤¿¡£

-ºÇ¸å¤Î´Ì¤ò»ØÄê¤Î°ÌÃÖ¤ËÃÖ¤¯¥×¥í¥°¥é¥à¤Îºî¤ê¤¬´Å¤«¤Ã¤¿¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤È¹Í¤¨¤Æ¤«¤éºî¤ê»Ï¤á¤¿¤¤¡£

¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS