- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[2012b/Member]]
¥×¥í¥°¥é¥à¤òŽ¤êÉÕ¤±¤ë»þ¤ÏÀ°·ÁºÑ¤ß¥Æ¥¥¹¥È¤ò»È¤¦
¾Ü¤·¤¯²Ã¹©ÃúÇ«¤¹¤®¤ë¤¯¤é¤¤¤¬¤¤¤¤
¼Ì¿¿¤Ï¾®¤µ¤á¤Ç
¥³¥Þ¥ó¥É¡¡convert -geometry ¥µ¥¤¥º ¸µ¤Î¥Õ¥¡¥¤¥ë
*¥é¥¤¥ó¥È¥ì¡¼¥¹de¶õ¤´Ì±¿¤Ó [#fc3e4d1d]
*¥í¥Ü¥Ã¥È¤Î¾Ò²ð [#n619a93f]
º£²ó¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤Ï¡¢³Ñ¤ä¥«¡¼¥Ö¤¬¤¢¤êÂ礤ʥí¥Ü¥Ã¥È¤À¤ÈÉÔÍø¤Ë¤Ê¤ë¤È»×¤Ã¤¿¤Î¤Ç¡¢¤Ç¤¤ë¤À¤±¾®¤µ¤¯¥·¥ó¥×¥ë¤Ê¥í¥Ü¥Ã¥È¤ò»Å¾å¤²¤Þ¤·¤¿¡£
~ÆÃħŪ¤Ê¤Î¤Ï¤ä¤Ï¤êÁ°Ì̤«¤é±ä¤Ó¤ë2ËܤÎËÀ¤Ç¤¹¡£ËÀ¤Î´Ö³Ö¤ò¤¢¤´Ì¤È¤Û¤ÜƱ¤¸¡Ê¶õ¤´Ì¤òÆþ¤ì¤Æ1cm·ä´Ö¤¬¶õ¤¯¤¯¤é¤¤¡Ë¤Ë¤·¤Æ¡¢Åݤì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£¤µ¤é¤Ë¡¢ËÀ¤ÎÀè¤Ë²¼¤Ë¿¤Ó¤ëÈĤò¼è¤êÉÕ¤±¡¢°ÂÄêÀ¤ò¤µ¤é¤Ë¹â¤á¤Þ¤·¤¿¡£
~ËÀ¤Î´Ö³Ö¤È¶õ¤´Ì¤ÎÉý¤¬Æ±¤¸¤À¤ÈËÀ¤Î´Ö¤ËÆþ¤ì¹þ¤à¤È¤¤Ë¡¢¤º¤ì¤ÆÆþ¤é¤Ê¤¤¤³¤È¤¬¤¢¤ë¤È»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¶õ¤´Ì¤Î¦Ì̤ϱ߷Á¤Ê¤Î¤Ç¡¢ËÀ¤¬¶õ¤´Ì¤Î¦Ì̤γ°Â¦¡ÊËÀ¤Î´Ö¤ÎÃæ¿´Êý¸þ¤òÆ⦤Ȥ¹¤ë¡Ë¤Ë¤¢¤¿¤ë¤«¤®¤ê¡¢É¬¤º¶õ¤´Ì¤ÏÆþ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¶õ¤´Ì¢ª¡û¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡û ¡û
¡¡¡¡ËÀ¢ª|¡¡|¡¡¢Í |¡û|¡¡¤³¤ì¤ÏÆþ¤ë¡¡¡¡¡¡¡¡¡¡¡¡¡Ã ¡Ã ¡¡¤³¤ì¤Ï¥¥Ä¥¤ ¡¡¡¡¡¡¡Ã ¡Ã¡¡¤³¤ì¤Ï̵Íý
*¥³¡¼¥¹¤Î¹¶Î¬Ë¡ [#y4d4ac72]
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&refer=2013a%2FMission1&openfile=robotics-2013a-mission1.jpg
**»þ·×²ó¤ê [#h952dd39]
+¥¹¥¿¡¼¥Èľ¸å¤Î¶Ê¤¬¤ê³Ñ¤ò¶Ê¤¬¤ë¤¿¤á¤Ë¥¹¥¿¡¼¥È¤«¤é¡¤Þ¤Ç¤Ï¸òº¹ÅÀ¤Ê¤·¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Þ¤¹¡£
+¶õ¤´Ì¤ò¤Ä¤«¤à¤Þ¤Ç¤Ï®ÅÙ¤òÍî¤È¤·¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¡£
+¤½¤ì°Ê¹ß¤Ï¸òº¹ÅÀͤê¤Î¥×¥í¥°¥é¥à¤ËÀÚ¤êÂؤ¨¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¡£
+¶õ¤´Ì¤òÃÖ¤¯¤È¤³¤í¤ò¤Á¤ç¤Ã¤È¤¹¤®¤¿¤È¤³¤í¤Ç¡¢¶õ¤´Ì¤òÃÖ¤¯¤¿¤á¤Î¥×¥í¥°¥é¥à¤òÀÚ¤êÂؤ¨¤ë¡£
+ºÆ¤Ó¤¿¤À¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹ÍÑ¥×¥í¥°¥é¥à¤ËÀÚ¤êÂؤ¨¤ë¡£
*¥×¥í¥°¥é¥à¤ÎÀâÌÀ [#e15a1eb1]
#define off Off(OUT_BC);
#define TURN_TIME 500 //1/4²óž¤Î»þ´Ö
#define BLACK 31 //²¼¸Â
#define WHITE 62 //¾å¸Â
#define go OnFwd(OUT_BC,);
#define left OnFwd(OUT_B,35);Off(OUT_C);
#define right OnFwd(OUT_C,35);Off(OUT_B);
#define THRESHOLD 46
#define lleft OnFwd(OUT_B,35);OnRev(OUT_C,35);
#define rright OnFwd(OUT_C,35);OnRev(OUT_B,35);
task main()
{
SetSensorLight(S1);
int n=0;
long t0 = CurrentTick();
long t1 = CurrentTick();
ÊÑ¿ô¤òÄêµÁ¤¹¤ë
while(CurrentTick()-t0 <= 5350)
{
»þ´Ö»ØÄê¤Ç¥×¥í¥°¥é¥à¤ÎÀÚ¤êÂؤ¨¤ò¹Ô¤¦
if (SENSOR_1 < 35){OnFwd(OUT_B,20);Off(OUT_C);}
else {if(SENSOR_1 < 42){OnFwd(OUT_B,20);OnRev(OUT_C,20); }
else if (SENSOR_1 < 50){OnFwd(OUT_BC,20);}
else {OnFwd(OUT_C,20);Off(OUT_B);}
}
}
®ÅÙ¤òÁ᤯¤·¤¹¤®¤ë¤ÈæÀþ¤¹¤ë³ÎΨ¤¬¹â¤¯¤Ê¤ë¤Î¤ÇºÇ½é¤À¤±Â®ÅÙ¤òÃÙ¤¯¤·¤Æ¤ª¤¯
while (true)
{
while(CurrentTick()-t1 <= 43500)
{
while(n<5000)
{
if (SENSOR_1 < 35){left;n++; }
else {if(SENSOR_1 < 42){lleft}
else if (SENSOR_1 < 50){go}
else if (SENSOR_1 < 56){right}
else {rright}
n=0;
}
}
Wait(1000);
rright;
Wait(5000);
go
Wait(200);
n=0;
}
¸òº¹ÅÀÍÑ¥×¥í¥°¥é¥à¡§£î¤¬°ìÄêÃͤòĶ¤¨¤¿¤é¸òº¹ÅÀ¤ÈȽÃǤ¹¤ë
off
Wait(500);
OnFwd(OUT_C,25);OnRev(OUT_B,25);
Wait(1100);
off
Wait(500);
OnRev(OUT_BC,30);
Wait(900);
off
rright
Wait(1000);
´Ì¤ò»ØÄê¤Î¾ì½ê¤ËÃÖ¤¯¤¿¤á¤Ë¥×¥í¥°¥é¥à¡£¹ÔÆ°½ªÎ»»þ¤Ë¾¤Î¥é¥¤¥ó¤Ë¾è¤ê°Ü¤é¤Ê¤¤¤è¤¦¤Ë²óž»þ´Ö¤ä¸òÂåµ÷Î¥¤òÄ´À°¤·¤¿¡£
while(true)
{
if (SENSOR_1 < 35){left}
else {if(SENSOR_1 < 42){lleft}
else if (SENSOR_1 < 50){go}
else {right}
}
}
´Ì¤ò¤ª¤¤¤¿¤¢¤È¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹ÍÑ¥×¥í¥°¥é¥à¡£±¦²óž¤ÏɬÍפʤ¤¤Î¤Çºï½ü¡£
}
}
*¤Þ¤È¤á [#yd2e7fd2]
¸òº¹ÅÀÍѤÎn¤ÎÃͤ¬¤ª¤«¤·¤¤¤Î¤«¡¢ºÇ¸å¤Î¸òº¹ÅÀ¤òÅϤ뤳¤È¤¬¤¿¤Þ¤Ë¡Ê1³ä¡Á2³ä¤¯¤é¤¤¡Ë¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤½¤³¤¬¿´»Ä¤ê¤Ç¤¹¡£Â¾¤Ï·ë¹½¤¦¤Þ¤¯¤Ç¤¤Æ¤¤¤¿¤È»×¤¤¤Þ¤¹¡£
~¼¡²ó¤Î²ÝÂê¤Î»þ¤â¡¢¿§¡¹¤È¹©Éפò¤·¤Æ°ÂÄêÀ¤ËÉÙ¤ó¤À¤â¤Î¤òºî¤Ã¤Æ¤¤¤¤¿¤¤¤Ç¤¹¡£