[[2013b/kk/missoin]] *¥í¥Ü¥³¥ó [#rc648b11] ***º£²ó¤Î¥í¥Ü¥³¥ó¤Î²ÝÂê [#p3d4f813] ~¥é¥¤¥ó¾å¤ËÀßÃÖ¤µ¤ì¤¿´Ì¤ò½¸¤á¥Ý¥¤¥ó¥È¤ÎÏÈÆâ¤Ë¤É¤ì¤À¤±ÀѤ߾夲¤ì¤ë¤«¤ò¶¥¤¤¤Þ¤¹¡£ &ref(.png); ~¥ë¡¼¥ë¤Î³µÍפÏÂç¤Þ¤«¤Ë -´Ì¤òÀѤߥ´¡¼¥ëÏÈÆâ¡Ê¶³¦²Ä¡Ë¤Ë¼ý¤á¤ë´ðÁÃÅÀ¤ò¼ç¤È¤·¤Æ -´Ì¤òÀѤ߾夲¤ëÆ°ºî -´Ì¤ò±¿¤ÖÆ°ºî -Ï¢·È¤ÎÎɤµ¡¢¸«¤¿ÌÜÅù¤Îµ»½ÑÅÀ¤¬²Ã¤¨¤é¤ì¤Þ¤¹¡£ ~¾Ü¤·¤¯¤Ï[¤³¤Á¤é:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMission2] **ÆóÈÉ¡¡kk¡¡matsuro¡¡trtr¡¡8666 [#nf1d3d4c] ~»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤ÎÊý¿Ë¤È¤·¤Æ¤Ï¥í¥Ü¥Ã¥È¤ò¡Ö´Ì¤ò½¸¤á¤ë¡×Ìò¤È¡ÖÀѤ߾夲¤ë¡×Ìò¤Ë &BR;¤½¤ì¤¾¤ì¥í¥Ü¥Ã¥È¤òʬ¤±£²Ãʤδ̤òÊ£¿ôÀѤߤ¢¤²¤ÆÆÀÅÀ¤ò²Ô¤®¤Þ¤¹¡£ #ref(separate.jpg) ~´Ì¤ò¤¢¤Ä¤á¤Æ¤¯¤ë¥í¥Ü¥Ã¥È¤ÏÁ°²ó¤Î²ÝÂê¤Î±þÍѤǡ¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ´Ì¤ò¸«¤Ä¤±±¿¤Ö¥×¥í¥°¥é¥à¤ò²Ã¤¨¤¿¤¤¤È»×¤¤¤Þ¤¹¡£¥é¥¤¥ó¾å¤Ë¤Ê¤¤´Ì¤ò¤É¤¦½¸¤á¤ë¤«¤¬²ÝÂê¤È¤Ê¤ê¤Þ¤¹¡£ &br;´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤Ï¡¢²¿¤«¥¨¥ì¥Ù¡¼¥¿¡¼¼°¤Î»ÅÁȤߤò¤Ä¤±¤Æ´Ì¤ò¾å¤ËÀѤ߾夲¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ *¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#bc577471] ~´Ì¤ò½¸¤á¤Æ¤¯¤ë¦¤Î¥í¥Ü¥Ã¥È¤Ç¤¹¡£´ðËÜ·Á¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¤È¤¤Î¤â¤Î¤ò±þÍѤ·¤Æ¤¤¤Þ¤¹¡£ ¤³¤Á¤é¤Ïkk¤Èmatsuro¤¬¼ç¤ËÀ©ºî¤òôÅö¤·¤Þ¤·¤¿¡£ &br;Â礤ÊÆÃħ¤È¤·¤Æ¤Ï´Ì¤Î¼õ¤±ÅϤ·¤Î¤¿¤á¡¢¤Ä¤«¤ó¤À´Ì¤ò²¡¤·½Ð¤·¥Ï¥µ¥ß¤Î³°¤Ë½Ð¤¹»ÅÁȤߤǤ¹¡£ &br;µ¡ÂΤÎÄì¤òºÇÂç¤Î¥¿¥¤¥ä¤ò»ÈÍѤ·¤Æ»ý¤Á¾å¤²¡¢´Ì¤ò²¡¤·½Ð¤¹¤Î¤Ë»ÈÍѤ¹¤ë¥â¡¼¥¿¡¼¤ò¼è¤ê¤Ä ¤±¤Þ¤·¤¿¡£¤³¤Î»þ¡¢½Å¤¿¤¤¥â¡¼¥¿¡¼¤ò¸ÇÄꤹ¤ë¤Î¤Ë¶ìÏ«¤·¤Þ¤·¤¿¡££Ì»ú¤Î¥Ö¥í¥Ã¥¯¤ÈijÈ֤Υ֥í¥Ã¥¯¤ò»ÈÍѤ·¤Æ¶¯¸Ç¤Ë¤·¤Þ¤·¤¿¡£¤³¤Î¥â¡¼¥¿¡¼¤Ë¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¸÷¥»¥ó¥µ¡¼¤â¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£ &br;¥Ï¥µ¥ß¤ÎÀè¤Ë¤Ä¤¤¤¿¸÷¥»¥ó¥µ¡¼¤Ç´Ì¤òÄϤó¤À¤³¤È¤ò´¶ÃΤ·¤Þ¤¹¡£¥»¥ó¥µ¡¼¤Î°ÌÃ֤ϡ¢½é¤áµ¡ÂΤÎÃæ±û¡§¹õ¤¤¼õ¿®¥Ý¡¼¥È²¼¡§¤Ë°ÌÃÖ¤·¤Æ¤¤¤Þ¤·¤¿¤¬·Ö¸÷Åô¤ä»æ¤«¤é¤ÎÈ¿¼Í¸÷¤Ë¤è¤Ã¤ÆÃͤ¬£³£°¡Á£´£°¤È¤Ð¤é¤Ä¤¤¬À¸¤¸¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢¤è¤ê´Ì¤Ë¶á¤¤»õÀè¤Ë¼è¤êÉÕ¤±¤Þ¤·¤¿¡£¤³¤¦¤¹¤ë¤³¤È¤ÇÃͤΤФé¤Ä¤¤Ï»Ä¤Ã¤¿¤â¤Î¤Î´Ì̵¤·¤Ç¸íÆ°ºî¤¹¤ë¤³¤È¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ ~¥Ï¥µ¥ß¤Ï¥·¥ó¥×¥ë¤ËËÀÆóËÜ¡£¥È¥ì¡¼¥¹Ãæ¤Ë½ÅÎ̤ηڤ¤´Ì¤ò°ÂÄꤷ¤Æ±¿¤Ö¤³¤È¤¬ÌäÂê¤Ç¤·¤¿¤¬¡¢¥Ï¥µ¥ß¤ËÊÖ¤·¤ò¼è¤êÉÕ¤±¤¿¤ê¡¢Á´ÂΤÎÆ°¤¯¥¹¥Ô¡¼¥É¤òÍî¤È¤·¤¿¤ê¡¢90¡ë°Ê¾å¤Î²óž¤ò¿ô³ÑÅ٤ŤĤËʬ¤±¤¿¤ê¤·¤Æ²¿¤È¤«´Ì¤¬¤Ï¤ß½Ð¤Ê¤¤ÄøÅÙ¤ËÍÞ¤¨¤Þ¤·¤¿¡£¤³¤ÎÌäÂ꤬µ¡³£¤À¤±¤òÀè¹Ô¤·¤Æºî¤Ã¤¿¤³¤È¤ÎÊÀ³²¤Ç¤·¤¿¡£ ~´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤Ï¡¢ÇØÌ̤ˤ¢¤ë¥¿¥¤¥ä¤òÍѤ¤¤Æ´Ì¤ò¿âľ¤Ë¾å¤²¤Þ¤¹¡£ *¥×¥í¥°¥é¥à{´Ì¤ò±¿¤Ö¦} [#p4e8727b] -ÄêµÁʸ #define WHITE 46¡¡¡¡¡¡//Çò¤ÎÃÍ #define BLACK 40¡¡¡¡¡¡//¹õ¡Ê¥é¥¤¥ó¾å¡Ë¤ÎÃÍ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¶³¦¤ÎÃͤϾå¤ÎÆó¤Ä¤«¤é¡Ü¡¢-¤ò¤â¤Á¤¤¤Æºî¤Ã¤Æ¤¤¤Þ¤¹¡£ #define CATCH 44¡¡¡¡¡¡//´Ì¤ò¤Ä¤«¤ó¤À»þ¤Î¸÷¥»¥ó¥µ¡¼£³¤ÎÃÍ #define power SetPower(OUT_AC,1);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥â¡¼¥¿¡¼¤Î½ÐÎϤò7Ãʳ¬Ãæ¤Î£±¤Ë¤¹¤ëÄêµÁ¤Ç¤¹¡£ #define go_forward power;OnFwd(OUT_AC);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥Ñ¥ï¡¼¤òÍÞ¤¨¤¿Á°¿Ê #define go_back power;OnRev(OUT_AC);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥Ñ¥ï¡¼¤òÍÞ¤¨¤¿¸åÂà #define LEFT power;OnRev(OUT_A);OnFwd(OUT_C);¡¡¡¡¡¡¡¡¡¡¡¡//¥Ñ¥ï¡¼¤òÍÞ¤¨¤¿º¸¤½¤Î¾ìÀû²ó #define left power;Off(OUT_A);OnFwd(OUT_C);¡¡¡¡¡¡¡¡¡¡¡¡//¥Ñ¥ï¡¼¤òÍÞ¤¨¤¿º¸²ó¤ê #define RIGHT power;OnFwd(OUT_A);OnRev(OUT_C);¡¡¡¡¡¡¡¡¡¡//¥Ñ¥ï¡¼¤òÍÞ¤¨¤¿±¦¤½¤Î¾ìÀû²ó #define right power;OnFwd(OUT_A);Off(OUT_C);¡¡¡¡¡¡¡¡¡¡//¥Ñ¥ï¡¼¤òÍÞ¤¨¤¿±¦²ó¤ê #define PUSH power;OnRev(OUT_B);Wait(3);Off(OUT_B);¡¡¡¡Wait(20);¡¡¡¡OnFwd(OUT_B);Wait(10);Float(OUT_B); //´Ì¤ò²¡¤·½Ð¤¹Æ°ºî¤Ç¤¹¡£¥â¡¼¥¿¡¼¤Î¸þ¤¤«¤éOnRev¤ÇËÀ¤¬Èô¤Ó½Ð¤·¡¢OnFwd¤ÇÌá¤ê¤Þ¤¹¡£Float¤ÇÍ¥¤·¤¯»ÅÉñ¤¤¤Þ¤¹¡£ -¥µ¥Ö¥ë¡¼¥Á¥ó ¡¡¥é¥¤¥ó¥È¥ì¡¼¥¹(±¦Â¦) sub trace1_R(){ if (SENSOR_1 < BLACK){ RIGHT; } else if (SENSOR_1 < BLACK +2){¡¡//¹õ´ó¤ê¤Î¶³¦¤ÎÃÍ right; } else if (SENSOR_1 > WHITE -2){¡¡//Çò´ó¤ê¤Î¶³¦¤ÎÃÍ left; } else if (SENSOR_1 > WHITE){ LEFT; } } ¡¡¥é¥¤¥ó¥È¥ì¡¼¥¹(º¸Â¦) sub trace1_L(){ if (SENSOR_1 < BLACK){ LEFT; } else if (SENSOR_1 < BLACK +2){ left; } else if (SENSOR_1 > WHITE -2){ right; } else if (SENSOR_1 > WHITE){ RIGHT; } } ¡¡¸òº¹ÅÀ¤òȽÃǤ¹¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹(±¦Â¦) sub trace2_R(){ while (FastTimer(0) < 25){¡¡//¸òº¹ÅÀ¤ÈȽÃǤ¹¤ë¤Þ¤Ç¤Î»þ´Ö¤Ç¤¹¡£ if (SENSOR_1 < BLACK){ RIGHT; }else if (SENSOR_1 < BLACK +2){ ClearTimer(0); right; }else if (SENSOR_1 > WHITE -2){ ClearTimer(0); left; }else if (SENSOR_1 > WHITE){ ClearTimer(0); LEFT; }else{ ClearTimer(0); go_forward; } } if(FastTimer(0) >= 25){¡¡¡¡//¸òº¹ÅÀ¤Ç¤ÎÆ°ºî¤Ç¤¹¡£ ClearTimer(0); LEFT; Wait(40); go_forward; Wait(20); Off(OUT_AC); ClearTimer(0); } } ¡¡¸òº¹ÅÀ¤òȽÃǤ¹¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹(º¸Â¦) sub trace2_L(){ while (FastTimer(0) < 25){ if (SENSOR_1 < BLACK){ LEFT; }else if (SENSOR_1 < BLACK +2){ ClearTimer(0); left; }else if (SENSOR_1 > WHITE -2){ ClearTimer(0); right; }else if (SENSOR_1 > WHITE){ ClearTimer(0); RIGHT; }else{ ClearTimer(0); go_forward; } } if(FastTimer(0) >= 25){ ClearTimer(0); RIGHT; Wait(40); go_forward; Wait(20); Off(OUT_AC); ClearTimer(0); } } ¡¡´Ì¤Î¼õ¤±ÅϤ·(±¦Â¦¥È¥ì¡¼¥¹»þ) sub trace3_R(){ while (FastTimer(0) < 25){ if (SENSOR_1 < BLACK){ RIGHT; }else if (SENSOR_1 < BLACK +2){ ClearTimer(0); right; }else if (SENSOR_1 > WHITE -2){ ClearTimer(0); left; }else if (SENSOR_1 > WHITE){ ClearTimer(0); LEFT; }else{ ClearTimer(0); go_forward; } } if(FastTimer(0) >= 25){ go_forward; Wait(10); LEFT; Wait(70); Off(OUT_AC); Wait(100); PUSH; go_back;¡¡¡¡//¥Ï¥µ¥ß¤ÎÀÜ¿¨¤òÈò¤±¤ë¤¿¤á Wait(100); Off(OUT_AC); ClearTimer(0); } } ¡¡´Ì¤Î¼õ¤±ÅϤ·(º¸Â¦) sub trace3_L(){ while (FastTimer(0) < 25){ if (SENSOR_1 < BLACK){ LEFT; }else if (SENSOR_1 < BLACK +2){ ClearTimer(0); left; }else if (SENSOR_1 > WHITE -2){ ClearTimer(0); right; }else if (SENSOR_1 > WHITE){ ClearTimer(0); RIGHT; }else{ ClearTimer(0); go_forward; } } if(FastTimer(0) >= 25){ RIGHT; Wait(70); Off(OUT_AC); PUSH; go_back; Wait(50); Off(OUT_AC); ClearTimer(0); } } ¥á¥¤¥ó¥¿¥¹¥¯ task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); ClearTimer(0); int n=0; while(n==0){ Wait(100); //Áê¼ê¤òÂԤĻþ´Ö until(SENSOR_1 < BLACK){ //¹õ¤Ë¤Ê¤ë¤Þ¤Çľ¿Ê¡¢¥é¥¤¥ó¤ò´¶ÃΤ·¤Æ¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Þ¤¹¡£ go_forward;} Off(OUT_AC); Wait(100); go_back;¡¡¡¡¡¡¡¡//´¶ÃΤ«¤éÆ°ºî¤Þ¤Ç¤Ë¿Ê¤ó¤Ç¤·¤Þ¤Ã¤¿Ê¬Ìá¤ê¤Þ¤¹¡£ Wait(15); Off(OUT_AC); Wait(30); n++; } while(n==1){ if (SENSOR_3 > CATCH){ PlaySound(SOUND_UP);¡¡¡¡¡¡//´Ì¤ò¤Ä¤«¤ó¤À¹ç¿Þ ClearTimer(0); until(FastTimer(0) > 500){¡¡¡¡//¡¤ÇÅϤë°ÌÃ֤ޤǤλþ´Ö¤Ç¤¹¡£ trace1_R();} LEFT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¤ÇÅϤë¤È¤¤ÎÆ°ºî¤Ç¤¹¡£ Wait(55); go_forward; Wait(20); until(SENSOR_1 < BLACK){ go_forward;} ClearTimer(0); until(FastTimer(0) > 500){¡¡//¡¤òÅϤ꽪¤¨¤Æ¤«¤é¤Î¥È¥ì¡¼¥¹ trace1_R();} ClearTimer(0); trace3_R(); n++; } else if (SENSOR_1 < BLACK){ RIGHT; } else if (SENSOR_1 < BLACK +2){ right; } else if (SENSOR_1 > WHITE -2){ left; } else if (SENSOR_1 > WHITE){ LEFT; } } while(n==2){¡¡¡¡//Æó¤ÄÌܤδ̤ò±¿¤Ö¥×¥í¥°¥é¥à¤Ç¤¹¡£ RIGHT; Wait(40); go_forward; Wait(150); until(SENSOR_1 < BLACK){ right;} if (SENSOR_3 > CATCH){ until(SENSOR_1 < BLACK){ LEFT;} ClearTimer(0); trace3_L(); n++; } else if (SENSOR_1 < BLACK){ LEFT; } else if (SENSOR_1 < BLACK +2){ left; } else if (SENSOR_1 > WHITE -2){ right; } else if (SENSOR_1 > WHITE){ RIGHT; } } } *·ë²Ì [#lc992438] |·ë²Ì|´Ì¤Î¸Ä¿ô|´ðÁÃÆÀÅÀ| µ»½ÑÅÀ | |¡¡¡¡|¡¡£±¡¡¡¡|¡¡£µ¡¡¡¡|ave:10.1| º£²ó¤Ï¤¿¤¯¤µ¤ó¤Î»þ´Ö¤¬¤¢¤ë¤Ë¤â´Ø¤ï¤é¤º´Ì¤ò°ì¤Ä¤·¤«±¿¤Ö¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£·ë²Ì¤À¤±¸«¤ì¤Ð¡¢ Á°²ó¤Î²ÝÂ꣱¤«¤é¤Î¿ÊÊ⤬¤Û¤È¤ó¤É¤Ê¤«¤Ã¤¿¡£À©ºî¤Ë»þ´Ö¤ò¤«¤±¤¿¡¢´Ì¤Î²¡¤·½Ð¤·¤Î»ÅÁȤߤâËÜÈ֤ǤÏȾʬ¤·¤«µ¡Ç½¤òȯ´ø¤Ç¤¤Ê¤«¤Ã¤¿¡£