2013b/Member/kk/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2013b/kk/missoin]]
*¥í¥Ü¥³¥ó [#rc648b11]
***º£²ó¤Î¥í¥Ü¥³¥ó¤Î²ÝÂê [#p3d4f813]
~¥é¥¤¥ó¾å¤ËÀßÃÖ¤µ¤ì¤¿´Ì¤ò½¸¤á¥Ý¥¤¥ó¥È¤ÎÏÈÆâ¤Ë¤É¤ì¤À¤±ÀѤ߾夲¤ì¤ë¤«¤ò¶¥¤¤¤Þ¤¹¡£
&ref(.png);
~¥ë¡¼¥ë¤Î³µÍפÏÂç¤Þ¤«¤Ë
-´Ì¤òÀѤߥ´¡¼¥ëÏÈÆâ¡Ê¶³¦²Ä¡Ë¤Ë¼ý¤á¤ë´ðÁÃÅÀ¤¬¼ç
-´Ì¤òÀѤ߾夲¤ëÆ°ºî
-´Ì¤ò±¿¤ÖÆ°ºî
-Ï¢·È¤ÎÎɤµ¡¢¸«¤¿ÌÜÅù¤Îµ»½ÑÅÀ¤¬²Ã¤¨¤é¤ì¤ë¡£
~¾Ü¤·¤¯¤Ï[¤³¤Á¤é:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMission2]
**ÆóÈÉ¡¡kk¡¡matsuro¡¡trtr¡¡6638 [#nf1d3d4c]
~»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤ÎÊý¿Ë¤È¤·¤Æ¤Ï¥í¥Ü¥Ã¥È¤ò¡Ö´Ì¤ò½¸¤á¤ë¡×Ìò¤È¡ÖÀѤ߾夲¤ë¡×Ìò¤Ë
&BR;¤½¤ì¤¾¤ì¥í¥Ü¥Ã¥È¤òʬ¤±£²Ãʤδ̤òÊ£¿ôÀѤߤ¢¤²¤ÆÆÀÅÀ¤ò²Ô¤®¤Þ¤¹¡£
#ref(separate.jpg)
~´Ì¤ò¤¢¤Ä¤á¤Æ¤¯¤ë¥í¥Ü¥Ã¥È¤ÏÁ°²ó¤Î²ÝÂê¤Î±þÍѤǡ¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ´Ì¤ò¸«¤Ä¤±±¿¤Ö¥×¥í¥°¥é¥à¤ò²Ã¤¨¤¿¤¤¤È»×¤¤¤Þ¤¹¡£¥é¥¤¥ó¾å¤Ë¤Ê¤¤´Ì¤ò¤É¤¦½¸¤á¤ë¤«¤¬²ÝÂê¤È¤Ê¤ê¤Þ¤¹¡£
&br;´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤Ï¡¢²¿¤«¥¨¥ì¥Ù¡¼¥¿¡¼¼°¤Î»ÅÁȤߤò¤Ä¤±¤Æ´Ì¤ò¾å¤ËÀѤ߾夲¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#bc577471]
~´Ì¤ò½¸¤á¤Æ¤¯¤ë¦¤Î¥í¥Ü¥Ã¥È¤Ç¤¹¡£´ðËÜ·Á¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¤È¤¤Î¤â¤Î¤ò±þÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤³¤Á¤é¤Ïkk¤Èmatsuro¤¬¼ç¤ËÀ©ºî¤òôÅö¤·¤Þ¤·¤¿¡£
&br;Â礤ÊÆÃħ¤È¤·¤Æ¤Ï´Ì¤Î¼õ¤±ÅϤ·¤Î¤¿¤á¡¢¤Ä¤«¤ó¤À´Ì¤ò²¡¤·½Ð¤·¥Ï¥µ¥ß¤Î³°¤Ë½Ð¤¹»ÅÁȤߤǤ¹¡£
&br;µ¡ÂΤÎÄì¤òºÇÂç¤Î¥¿¥¤¥ä¤ò»ÈÍѤ·¤Æ»ý¤Á¾å¤²¡¢´Ì¤ò²¡¤·½Ð¤¹¤Î¤Ë»ÈÍѤ¹¤ë¥â¡¼¥¿¡¼¤ò¼è¤ê¤Ä
¤±¤Þ¤·¤¿¡£¤³¤Î»þ¡¢½Å¤¿¤¤¥â¡¼¥¿¡¼¤ò¸ÇÄꤹ¤ë¤Î¤Ë¶ìÏ«¤·¤Þ¤·¤¿¡£&br;
&ref(soko.jpg);
£Ì»ú¤Î¥Ö¥í¥Ã¥¯¤ÈijÈ֤Υ֥í¥Ã¥¯¤ò»ÈÍѤ·¤Æ¶¯¸Ç¤Ë¤·¤Þ¤·¤¿¡£¤³¤Î¥â¡¼¥¿¡¼¤Ë¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¸÷¥»¥ó¥µ¡¼¤â¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£
&br;¥Ï¥µ¥ß¤ÎÀè¤Ë¤Ä¤¤¤¿¸÷¥»¥ó¥µ¡¼¤Ç´Ì¤òÄϤó¤À¤³¤È¤ò´¶ÃΤ·¤Þ¤¹¡£¥»¥ó¥µ¡¼¤Î°ÌÃ֤ϡ¢½é¤áµ¡ÂΤÎÃæ±û¡§¹õ¤¤¼õ¿®¥Ý¡¼¥È²¼¡§¤Ë°ÌÃÖ¤·¤Æ¤¤¤Þ¤·¤¿¤¬·Ö¸÷Åô¤ä»æ¤«¤é¤ÎÈ¿¼Í¸÷¤Ë¤è¤Ã¤ÆÃͤ¬£³£°¡Á£´£°¤È¤Ð¤é¤Ä¤¤¬À¸¤¸¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢¤è¤ê´Ì¤Ë¶á¤¤»õÀè¤Ë¼è¤êÉÕ¤±¤Þ¤·¤¿¡£¤³¤¦¤¹¤ë¤³¤È¤ÇÃͤΤФé¤Ä¤¤Ï»Ä¤Ã¤¿¤â¤Î¤Î´Ì̵¤·¤Ç¸íÆ°ºî¤¹¤ë¤³¤È¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£
#ref(bou.jpg);
»î¹çľÁ°¤Ë¤Ï´Ì²¡¤·½Ð¤·¤ÎÀºÅÙ¤ò¾å¤²¤ë¤¿¤á°Ê²¼¤ÎÍͤˤʤê¤Þ¤·¤¿¡£
#ref(bou2.JPG);
~¥Ï¥µ¥ß¤Ï¥·¥ó¥×¥ë¤ËËÀÆóËÜ¡£¥È¥ì¡¼¥¹Ãæ¤Ë½ÅÎ̤ηڤ¤´Ì¤ò°ÂÄꤷ¤Æ±¿¤Ö¤³¤È¤¬ÌäÂê¤Ç¤·¤¿¤¬¡¢¥Ï¥µ¥ß¤ËÊÖ¤·¤ò¼è¤êÉÕ¤±¤¿¤ê¡¢Á´ÂΤÎÆ°¤¯¥¹¥Ô¡¼¥É¤òÍî¤È¤·¤¿¤ê¡¢90¡ë°Ê¾å¤Î²óž¤ò¿ô³ÑÅ٤ŤĤËʬ¤±¤¿¤ê¤·¤Æ²¿¤È¤«´Ì¤¬¤Ï¤ß½Ð¤Ê¤¤ÄøÅÙ¤ËÍÞ¤¨¤Þ¤·¤¿¡£¤³¤ÎÌäÂ꤬µ¡³£¤À¤±¤òÀè¹Ô¤·¤Æºî¤Ã¤¿¤³¤È¤ÎÊÀ³²¤Ç¤·¤¿¡£
~´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤Ï¡¢ÇØÌ̤ˤ¢¤ë¥¿¥¤¥ä¤òÍѤ¤¤Æ´Ì¤ò¿âľ¤Ë¾å¤²¤Þ¤¹¡£
&ref(up.JPG);
¤³¤Á¤é¤Ïtrtr¡¢6683¤¬¼ç¤ËôÅö¤·¤Þ¤·¤¿¡£
&br;¥´¡¼¥ë¤Ë¹Ô¤¯ÅÓÃæ¤Î´Ì¡¤È¢¤ò¤Ä¤«¤ß¤Ê¤¬¤é¿Ê¹Ô¤·¤Æ¤¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á±¿¤Ö¦¤Î¥í¥Ü¥Ã¥È¤Ï´Ì£¡¢¤¤Î½ç¤Ë´Ì¤Ë¸þ¤«¤¤¤Þ¤¹¡£
&br;Âç¤Þ¤«¤Ê»ÅÁȤߤÈÆ°¤¤ÏÍý²ò¤·¤Æ¤¤¤Þ¤¹¤¬´ÌÀѤ߾夲¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï
&br;[¤³¤Á¤é:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMember%2Ftrtr%2FMission2]
&br;[:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMember%2F6638%2FMission2]¤ò»²¾È¤µ¤ì¤¿¤¤¡£
*¥×¥í¥°¥é¥à{´Ì¤ò±¿¤Ö¦} [#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;
}
}
}
&ref(skime.png);
*·ë²Ì [#lc992438]
|·ë²Ì|´Ì¤Î¸Ä¿ô|´ðÁÃÆÀÅÀ| µ»½ÑÅÀ |
|¡¡¡¡|¡¡£±¡¡¡¡|¡¡£µ¡¡¡¡|ave:10.1|
¡¡º£²ó¤Ï¤¿¤¯¤µ¤ó¤Î»þ´Ö¤¬¤¢¤ë¤Ë¤â´Ø¤ï¤é¤º´Ì¤ò°ì¤Ä¤·¤«±¿¤Ö¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£
&br;·ë²Ì¤À¤±¸«¤ì¤Ð¡¢Á°²ó¤Î²ÝÂ꣱¤«¤é¤Î¿ÊÊ⤬¤Û¤È¤ó¤É¤Ê¤«¤Ã¤¿¡£
&br;À©ºî¤Ë»þ´Ö¤ò¤«¤±¤¿¡¢´Ì¤Î²¡¤·½Ð¤·¤Î»ÅÁȤߤâËÜÈ֤ǤÏȾʬ¤·¤«µ¡Ç½¤òȯ´ø¤Ç¤¤Ê¤«¤Ã¤¿¡£
&br;¡¡¤Þ¤¿ÀѤ߾夲¦¤Î¥í¥Ü¥Ã¥È¤¬Æ°ºî¤Ç¤¤Ê¤«¤Ã¤¿Í×°ø¤È¤·¤Æ¡¢¥¼¥í¤«¤é¤ÎºîÀ®¤À¤Ã¤¿¤¬
&br;ºîÀ®¤ÎÌò³äʬô¤ò¤·¤¿¤¿¤á¤Ë¡¢ÀѤ߾夲¦¤ÎÉéô¤¬Â礤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¥Á¡¼¥à¥ï¡¼¥¯¤ÎÉÔ¤¬¤Ï¤Ã¤¤ê¤È½Ð¤Æ¤·¤Þ¤¤»ÄÇ°¤À¤Ã¤¿¡£
&br;»Ï¤á¤Î°Æ¤òÊѹ¹¤¹¤ë¤È³Ú¤Ë¤Ç¤¤¿Éôʬ¤â¤¢¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¤¬ºîÀï¤Ë¶á¤¤·Á¤Ç¥í¥Ü¥Ã¥È¤¬ºîÀ®¤Ç¤¤Æ³Ú¤·¤«¤Ã¤¿
½ªÎ»¹Ô:
[[2013b/kk/missoin]]
*¥í¥Ü¥³¥ó [#rc648b11]
***º£²ó¤Î¥í¥Ü¥³¥ó¤Î²ÝÂê [#p3d4f813]
~¥é¥¤¥ó¾å¤ËÀßÃÖ¤µ¤ì¤¿´Ì¤ò½¸¤á¥Ý¥¤¥ó¥È¤ÎÏÈÆâ¤Ë¤É¤ì¤À¤±ÀѤ߾夲¤ì¤ë¤«¤ò¶¥¤¤¤Þ¤¹¡£
&ref(.png);
~¥ë¡¼¥ë¤Î³µÍפÏÂç¤Þ¤«¤Ë
-´Ì¤òÀѤߥ´¡¼¥ëÏÈÆâ¡Ê¶³¦²Ä¡Ë¤Ë¼ý¤á¤ë´ðÁÃÅÀ¤¬¼ç
-´Ì¤òÀѤ߾夲¤ëÆ°ºî
-´Ì¤ò±¿¤ÖÆ°ºî
-Ï¢·È¤ÎÎɤµ¡¢¸«¤¿ÌÜÅù¤Îµ»½ÑÅÀ¤¬²Ã¤¨¤é¤ì¤ë¡£
~¾Ü¤·¤¯¤Ï[¤³¤Á¤é:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMission2]
**ÆóÈÉ¡¡kk¡¡matsuro¡¡trtr¡¡6638 [#nf1d3d4c]
~»ä¤¿¤Á¤Î¥°¥ë¡¼¥×¤ÎÊý¿Ë¤È¤·¤Æ¤Ï¥í¥Ü¥Ã¥È¤ò¡Ö´Ì¤ò½¸¤á¤ë¡×Ìò¤È¡ÖÀѤ߾夲¤ë¡×Ìò¤Ë
&BR;¤½¤ì¤¾¤ì¥í¥Ü¥Ã¥È¤òʬ¤±£²Ãʤδ̤òÊ£¿ôÀѤߤ¢¤²¤ÆÆÀÅÀ¤ò²Ô¤®¤Þ¤¹¡£
#ref(separate.jpg)
~´Ì¤ò¤¢¤Ä¤á¤Æ¤¯¤ë¥í¥Ü¥Ã¥È¤ÏÁ°²ó¤Î²ÝÂê¤Î±þÍѤǡ¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ´Ì¤ò¸«¤Ä¤±±¿¤Ö¥×¥í¥°¥é¥à¤ò²Ã¤¨¤¿¤¤¤È»×¤¤¤Þ¤¹¡£¥é¥¤¥ó¾å¤Ë¤Ê¤¤´Ì¤ò¤É¤¦½¸¤á¤ë¤«¤¬²ÝÂê¤È¤Ê¤ê¤Þ¤¹¡£
&br;´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤Ï¡¢²¿¤«¥¨¥ì¥Ù¡¼¥¿¡¼¼°¤Î»ÅÁȤߤò¤Ä¤±¤Æ´Ì¤ò¾å¤ËÀѤ߾夲¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#bc577471]
~´Ì¤ò½¸¤á¤Æ¤¯¤ë¦¤Î¥í¥Ü¥Ã¥È¤Ç¤¹¡£´ðËÜ·Á¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¤È¤¤Î¤â¤Î¤ò±þÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤³¤Á¤é¤Ïkk¤Èmatsuro¤¬¼ç¤ËÀ©ºî¤òôÅö¤·¤Þ¤·¤¿¡£
&br;Â礤ÊÆÃħ¤È¤·¤Æ¤Ï´Ì¤Î¼õ¤±ÅϤ·¤Î¤¿¤á¡¢¤Ä¤«¤ó¤À´Ì¤ò²¡¤·½Ð¤·¥Ï¥µ¥ß¤Î³°¤Ë½Ð¤¹»ÅÁȤߤǤ¹¡£
&br;µ¡ÂΤÎÄì¤òºÇÂç¤Î¥¿¥¤¥ä¤ò»ÈÍѤ·¤Æ»ý¤Á¾å¤²¡¢´Ì¤ò²¡¤·½Ð¤¹¤Î¤Ë»ÈÍѤ¹¤ë¥â¡¼¥¿¡¼¤ò¼è¤ê¤Ä
¤±¤Þ¤·¤¿¡£¤³¤Î»þ¡¢½Å¤¿¤¤¥â¡¼¥¿¡¼¤ò¸ÇÄꤹ¤ë¤Î¤Ë¶ìÏ«¤·¤Þ¤·¤¿¡£&br;
&ref(soko.jpg);
£Ì»ú¤Î¥Ö¥í¥Ã¥¯¤ÈijÈ֤Υ֥í¥Ã¥¯¤ò»ÈÍѤ·¤Æ¶¯¸Ç¤Ë¤·¤Þ¤·¤¿¡£¤³¤Î¥â¡¼¥¿¡¼¤Ë¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¸÷¥»¥ó¥µ¡¼¤â¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£
&br;¥Ï¥µ¥ß¤ÎÀè¤Ë¤Ä¤¤¤¿¸÷¥»¥ó¥µ¡¼¤Ç´Ì¤òÄϤó¤À¤³¤È¤ò´¶ÃΤ·¤Þ¤¹¡£¥»¥ó¥µ¡¼¤Î°ÌÃ֤ϡ¢½é¤áµ¡ÂΤÎÃæ±û¡§¹õ¤¤¼õ¿®¥Ý¡¼¥È²¼¡§¤Ë°ÌÃÖ¤·¤Æ¤¤¤Þ¤·¤¿¤¬·Ö¸÷Åô¤ä»æ¤«¤é¤ÎÈ¿¼Í¸÷¤Ë¤è¤Ã¤ÆÃͤ¬£³£°¡Á£´£°¤È¤Ð¤é¤Ä¤¤¬À¸¤¸¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢¤è¤ê´Ì¤Ë¶á¤¤»õÀè¤Ë¼è¤êÉÕ¤±¤Þ¤·¤¿¡£¤³¤¦¤¹¤ë¤³¤È¤ÇÃͤΤФé¤Ä¤¤Ï»Ä¤Ã¤¿¤â¤Î¤Î´Ì̵¤·¤Ç¸íÆ°ºî¤¹¤ë¤³¤È¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£
#ref(bou.jpg);
»î¹çľÁ°¤Ë¤Ï´Ì²¡¤·½Ð¤·¤ÎÀºÅÙ¤ò¾å¤²¤ë¤¿¤á°Ê²¼¤ÎÍͤˤʤê¤Þ¤·¤¿¡£
#ref(bou2.JPG);
~¥Ï¥µ¥ß¤Ï¥·¥ó¥×¥ë¤ËËÀÆóËÜ¡£¥È¥ì¡¼¥¹Ãæ¤Ë½ÅÎ̤ηڤ¤´Ì¤ò°ÂÄꤷ¤Æ±¿¤Ö¤³¤È¤¬ÌäÂê¤Ç¤·¤¿¤¬¡¢¥Ï¥µ¥ß¤ËÊÖ¤·¤ò¼è¤êÉÕ¤±¤¿¤ê¡¢Á´ÂΤÎÆ°¤¯¥¹¥Ô¡¼¥É¤òÍî¤È¤·¤¿¤ê¡¢90¡ë°Ê¾å¤Î²óž¤ò¿ô³ÑÅ٤ŤĤËʬ¤±¤¿¤ê¤·¤Æ²¿¤È¤«´Ì¤¬¤Ï¤ß½Ð¤Ê¤¤ÄøÅÙ¤ËÍÞ¤¨¤Þ¤·¤¿¡£¤³¤ÎÌäÂ꤬µ¡³£¤À¤±¤òÀè¹Ô¤·¤Æºî¤Ã¤¿¤³¤È¤ÎÊÀ³²¤Ç¤·¤¿¡£
~´Ì¤òÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤Ï¡¢ÇØÌ̤ˤ¢¤ë¥¿¥¤¥ä¤òÍѤ¤¤Æ´Ì¤ò¿âľ¤Ë¾å¤²¤Þ¤¹¡£
&ref(up.JPG);
¤³¤Á¤é¤Ïtrtr¡¢6683¤¬¼ç¤ËôÅö¤·¤Þ¤·¤¿¡£
&br;¥´¡¼¥ë¤Ë¹Ô¤¯ÅÓÃæ¤Î´Ì¡¤È¢¤ò¤Ä¤«¤ß¤Ê¤¬¤é¿Ê¹Ô¤·¤Æ¤¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á±¿¤Ö¦¤Î¥í¥Ü¥Ã¥È¤Ï´Ì£¡¢¤¤Î½ç¤Ë´Ì¤Ë¸þ¤«¤¤¤Þ¤¹¡£
&br;Âç¤Þ¤«¤Ê»ÅÁȤߤÈÆ°¤¤ÏÍý²ò¤·¤Æ¤¤¤Þ¤¹¤¬´ÌÀѤ߾夲¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï
&br;[¤³¤Á¤é:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMember%2Ftrtr%2FMission2]
&br;[:http://yakushi.shinshu-u.ac.jp/robotics/?2013b%2FMember%2F6638%2FMission2]¤ò»²¾È¤µ¤ì¤¿¤¤¡£
*¥×¥í¥°¥é¥à{´Ì¤ò±¿¤Ö¦} [#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;
}
}
}
&ref(skime.png);
*·ë²Ì [#lc992438]
|·ë²Ì|´Ì¤Î¸Ä¿ô|´ðÁÃÆÀÅÀ| µ»½ÑÅÀ |
|¡¡¡¡|¡¡£±¡¡¡¡|¡¡£µ¡¡¡¡|ave:10.1|
¡¡º£²ó¤Ï¤¿¤¯¤µ¤ó¤Î»þ´Ö¤¬¤¢¤ë¤Ë¤â´Ø¤ï¤é¤º´Ì¤ò°ì¤Ä¤·¤«±¿¤Ö¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£
&br;·ë²Ì¤À¤±¸«¤ì¤Ð¡¢Á°²ó¤Î²ÝÂ꣱¤«¤é¤Î¿ÊÊ⤬¤Û¤È¤ó¤É¤Ê¤«¤Ã¤¿¡£
&br;À©ºî¤Ë»þ´Ö¤ò¤«¤±¤¿¡¢´Ì¤Î²¡¤·½Ð¤·¤Î»ÅÁȤߤâËÜÈ֤ǤÏȾʬ¤·¤«µ¡Ç½¤òȯ´ø¤Ç¤¤Ê¤«¤Ã¤¿¡£
&br;¡¡¤Þ¤¿ÀѤ߾夲¦¤Î¥í¥Ü¥Ã¥È¤¬Æ°ºî¤Ç¤¤Ê¤«¤Ã¤¿Í×°ø¤È¤·¤Æ¡¢¥¼¥í¤«¤é¤ÎºîÀ®¤À¤Ã¤¿¤¬
&br;ºîÀ®¤ÎÌò³äʬô¤ò¤·¤¿¤¿¤á¤Ë¡¢ÀѤ߾夲¦¤ÎÉéô¤¬Â礤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¥Á¡¼¥à¥ï¡¼¥¯¤ÎÉÔ¤¬¤Ï¤Ã¤¤ê¤È½Ð¤Æ¤·¤Þ¤¤»ÄÇ°¤À¤Ã¤¿¡£
&br;»Ï¤á¤Î°Æ¤òÊѹ¹¤¹¤ë¤È³Ú¤Ë¤Ç¤¤¿Éôʬ¤â¤¢¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¤¬ºîÀï¤Ë¶á¤¤·Á¤Ç¥í¥Ü¥Ã¥È¤¬ºîÀ®¤Ç¤¤Æ³Ú¤·¤«¤Ã¤¿
¥Ú¡¼¥¸Ì¾: