¥í¥Ü¥Ã¥È¤Î¾Ò²ð

  • ¥µ¥ó¥×¥ë¤Î¥í¥Ü¥Ã¥È¤Ç¤Ï¹¶Î¬¤¹¤ë¥³¡¼¥¹¤Î¤è¤¦¤ÊµÞ¤Ê¥«¡¼¥Ö¤Ï¶Ê¤¬¤ê¤­¤ë¤³¤È¤ÏÆñ¤·¤¤¡£
    ¤½¤³¤Ç¥â¡¼¥¿¡¼¤È¥â¡¼¥¿¡¼¤È¤Îµ÷Î¥¤ò½Ì¤á¤ë¤³¤È¤Ë¤è¤Ã¤Æ¾®²ó¤ê¤¬Íø¤¯¤è¤¦¤Ë¤·¡¢
    º£²ó¤Î¤è¤¦¤ÊµÞ¤Ê¥«¡¼¥Ö¤â¶Ê¤¬¤êÀÚ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£
  • ´Ì¤ò¶´¤à¥®¥ß¥Ã¥¯¤Ë¤Ï¥â¡¼¥¿¡¼ÉÕ¤­¤ÎÂ礭¤Ê¥Ï¥µ¥ß¤ò»ÈÍѤ·¤¿¡£
    ´Ì¤¬¥í¥Ü¥Ã¥È¤Ë¿¨¤ì¤¿¤«¤É¤¦¤«¤ÎȽÄê¤ò¤¹¤ë¤¿¤á¤Ë¥Ð¥ó¥Ñ¡¼¤ò¼è¤êÉÕ¤±¤¿¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤ò»È¤Ã¤¿¡£
DSC_0148.jpg

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

¥³¡¼¥¹¹¶Î¬Ë¡

robotics-2013a-mission10.jpg
  • ¤³¤Î¥³¡¼¥¹¤Ç¤Ï»þ·×²ó¤ê¥³¡¼¥¹¤òôÅö¤·¤¿¡£
  • ´Ì¤ò¤Ä¤«¤ßÌÜŪ¤Î¾ì½ê¤ËÃÖ¤¯¤¿¤á¤Ë¿Þ¤Î¤è¤¦¤Ë¥³¡¼¥¹¤ò£µÊ¬³ä¤·¡¢
    ¥×¥í¥°¥é¥à¤â¤½¤ì¤Ë¹ç¤ï¤»¤Æ£µ¤Ä¤Ëʬ¤±¤ÆºîÀ®¤·¤¿¡£

¥×¥í¥°¥é¥à¤ÎÀâÌÀ

#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);
 }
}

¤Þ¤È¤á

¥í¥Ü¥Ã¥ÈËÜÂΤˤĤ¤¤Æ

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

¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

  • ³ç¸ÌÉôʬ¤Îʸˡ¥ß¥¹¤¬Â¿¤«¤Ã¤¿¤Î¤Ç¡¢¼¡²ó¤«¤é¤Ï¥¤¥ó¥Ç¥ó¥È¤ò¤·¤Ã¤«¤ê¤¹¤ë¤Ê¤É¤·¤ÆÂкö¤·¤¿¤¤¡£
  • Éô²°¤ÎÌÀ¤ë¤µ¡¢ÅÅÃӤλÄÎÌ¡¢¾²¤Î½À¤é¤«¤µ¤Ê¤É¤Ç¸÷¥»¥ó¥µ¤¬Ç§¼±¤¹¤ëÌÀ¤ë¤µ¤ä¥¿¥¤¥ä¤Î³ê¤ê¤Ê¤É¤¬°ã¤Ã¤¿¤¿¤á¡¢Áö¹Ô¤Ë¤«¤«¤ë»þ´Ö¤¬ÊѤï¤Ã¤¿¤Î¤ÇÄ´À°¤¬Æñ¤·¤«¤Ã¤¿¡£
  • ºÇ¸å¤Î´Ì¤ò»ØÄê¤Î°ÌÃÖ¤ËÃÖ¤¯¥×¥í¥°¥é¥à¤Îºî¤ê¤¬´Å¤«¤Ã¤¿¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤È¹Í¤¨¤Æ¤«¤éºî¤ê»Ï¤á¤¿¤¤¡£

źÉÕ¥Õ¥¡¥¤¥ë: fileDSC_0148.jpg 170·ï [¾ÜºÙ] filerobotics-2013a-mission10.jpg 222·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2013-08-17 (ÅÚ) 22:06:02