- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
*¥á¥ó¥Ð¡¼¾Ò²ð [#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) {
while (CurrentTick()-t0 <= 7500) { /¥¹¥¿¡¼¥È¤«¤é7.5Éäޤǥ饤¥ó¥È¥ì¡¼¥¹
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);
OnFwd(OUT_A,50);Wait(800);Off(OUT_A);¡¡/¡¡7.5ÉäË㤷¤¿¤é¥¢¡¼¥à¤Ç´Ì¤òÄϤà
while (CurrentTick()-t0 <= 26000) {
while (CurrentTick()-t0 <= 26000) {¡¡¡¡/ ¥¹¥¿¡¼¥È¤«¤é26Éäˤʤë¤Þ¤ÇºÆ¤Ó¥é¥¤¥ó¥È¥ì¡¼¥¹
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;
OnFwd(OUT_BC,30);Wait(200);¡¡¡¡/ 0.2ÉäÀ¤±Á°¿Ê¤¹¤ë»ö¤Ë¤è¤ê¥È¥ì¡¼¥¹¤¹¤ëÀþ¤Îº¸±¦¤Îȿž(¢¨)
nOnline=0;¡¡¡¡¡¡/¡¡¥«¥¦¥ó¥¿¡¼¤Î¥ê¥»¥Ã¥È
}turn_right1;Wait(100);
while (CurrentTick()-t0 <= 36000) {
&ref(2013a/Member/free/Mission1/6.jpg,819¡ß460,¼Ì¿¿3);
while(nOnline < nMAX && CurrentTick()-t0 <= 36000) {
(¢¨)¤Ë¤Ä¤¤¤Æ
¾å¤Î¿Þ¤Ï²«¿§¤ÎÀþ¤¬¥í¥Ü¥Ã¥È¤Îµ°ÀפǤ¢¤ë¡£
¾å¤Î¥×¥í¥°¥é¥à¤Ç¤ÏÀÖ¤¤´Ý¤Ç°Ï¤Þ¤ì¤¿ÊÕ¤ê¤ËÍ褿»þ¤Ë¼Ð¤á¤ËÁ°¿Ê¤µ¤»¤ë¤³¤È¤Ë¤è¤Ã¤Æ
Àþ¤Î±¦Â¦¤òÄ̤äƤ¤¤¿¥í¥Ü¥Ã¥È¤òÀþ¤Îº¸Â¦¤Ë°ÜÆ°¤µ¤»¤ë¡£
¤½¤¦¤¹¤ë»ö¤Ç¸òº¹ÅÀ¤òÅϤëºÝ¤Ë±Ô³Ñ¤Ê¸òº¹ÅÀ¤òÄ̤ë»ö¤¬¤Ç¤¤ë¡£
¤Þ¤¿¡¢Àִݤ¬£²¤Ä¤¢¤ë¤Î¤Ï¡¢¤³¤Î¸å¤Î¥×¥í¥°¥é¥à¤Ë¤â¤³¤ÎÆ°ºî¤¬¹Ô¤ï¤ì¤ë¤«¤é¤Ç¤¢¤ë¡£
¤½¤Î²Õ½ê¤ò(¢¨2)¤È¤¹¤ë
while (CurrentTick()-t0 <= 36000) { / ¥¹¥¿¡¼¥È¤«¤é36Éøå¤Þ¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹
while(nOnline < nMAX && CurrentTick()-t0 <= 36000) {¡¡/36É÷Ф俾ì¹ç¼¡¤Î¥×¥í¥°¥é¥à¤Ë°Ü¤ë
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);
OnFwd(OUT_BC,30);Wait(200);¡¡/Á°¿Ê¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¥È¥ì¡¼¥¹¤¹¤ëÀþ¤Îȿž(¢¨2)
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) {
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);
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();
OnFwd(OUT_C,50);OnRev(OUT_B,50);until(SENSOR_3 < 50);¡¡¡¡/ ¾å¤Î2¹Ô¤Ë¤è¤Ã¤Æ¥í¥Ü¥Ã¥È¤ÏU¥¿¡¼¥ó¤¹¤ë
long t1 = CurrentTick();¡¡/ ㊟¤³¤³¤«¤ét0¤«¤ét1¤Î¥¿¥¤¥Þ¡¼¤ËÀÚ¤êÂؤ¨
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();
long t2 = CurrentTick();¡¡¡¡/ ¾å¤Î£³¹Ô¤Î¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆU¥¿¡¼¥ó¤ò¤·¤¿¥í¥Ü¥Ã¥È¤¬Äê°ÌÃ֤ޤǿʤߴ̤òÃÖ¤¤¤Æu¥¿¡¼¥ó¤¹¤ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/ ㊟¤³¤³¤«¤é¤Ït1¤«¤ét2¤Ë¥¿¥¤¥Þ¡¼¤òÊѹ¹
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);
Off(OUT_BC);¡¡/¥´¡¼¥ë¤·¤¿¤¿¤á¥×¥í¥°¥é¥à¤Î½ªÎ»
}
*´¶ÁÛ [#o11c00ca]
¡¦º£²ó¤Î²ÝÂê¤òÄ̤¸¤Æ¡¢ºÇ½é¤Ï¾å¼ê¤¯¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Ê¤«¤Ã¤¿¤¿¤á¡¢¥Ñ¥ï¡¼¤òÍî¤È¤·¤ÆÆ°¤«¤¹¤³¤È¤ÇÀµ³Î¤Ê¥È¥ì¡¼¥¹¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¡¦È¯É½¤ÎºÝ¤Ë¤Ï¡¢º£¤Þ¤Ç¾å¼ê¤¯¤¤¤Ã¤Æ¤¤¤¿¤Î¤Ë¡¢ËÜÈ֤Ǥϵޤ˼ºÇÔ¤·¤Æ¤·¤Þ¤¤¡¢¥¿¥¤¥Þ¡¼¤Ç¤ÎÁàºî¤ÎÆñ¤·¤µ¤ò¼Â´¶¤·¤¿¡£
¡¦¸òº¹ÅÀ¤Ç¤Î¼ºÇÔ¤¬Â¿¤«¤Ã¤¿¤¿¤á¡¢¤â¤¦¾¯¤·²þÎɤ¹¤Ù¤¤Ç¤¢¤Ã¤¿¡£