- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[2017a/Member]]
#contents
*²ÝÂê [#u40627ee]
ºÇ½ª²ÝÂê¤Ï¼«Î©¤·¤Æ´Ì¤ò¸«¤Ä¤±¡¢±¿¤Ó¡¢ÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ç¤¢¤ë¡£¾Ü¤·¤¯¤Ï[[²ÝÂê3:http://yakushi.shinshu-u.ac.jp/robotics/?2017a%2FMission3]]
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2017a%2FMission3&src=2017a-mission3.png
*¥í¥Ü¥Ã¥È¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ [#v6665313]
¥í¥Ü¥Ã¥È¤ÏÅö½é£²¤Ä¤Ëʬ¤±¤ëͽÄê¤À¤Ã¤¿¡£¤½¤ÎÊý¤¬ÊÌ¡¹¤Ë¿Ê¤á¤é¤ì¤Æ³Ú¤Ç¤¢¤ë¤È¹Í¤¨¤¿¤«¤é¤À¡£¤·¤«¤·¤â¤È¤â¤È¤½¤ì¤¾¤ì¥â¡¼¥¿¡¼¤Ï£³¤Ä¤·¤«ÉÕ¤±¤é¤ì¤Ê¤¤¹½Â¤¤ÎÃæ¤Ç£²¤Ä¤Ëʬ¤±¤ë¤È¡¢¶îÆ°¤Ë¥â¡¼¥¿¡¼¤òº¸±¦£²¤Ä»È¤Ã¤¿¤È¤¥¢¡¼¥à¤Ë¤Û¤È¤ó¤É»È¤¨¤Ê¤¤¡£¤½¤ì¤Ç¤Ï¾å¼ê¤¯µ¡Ç½¤·¤Ê¤¤²ÄǽÀ¤¬¤¢¤ë¤ÈȽÃǤ·¡¢·ë¶É1¤Ä¤Ë¤·¤¿¡£¤Þ¤º´ðÁÃÉôʬ¡¢¶îÆ°¤Ë¤Ï¥¥ã¥¿¥Ô¥é¤òºÎÍѤ·¤¿¡£ÀâÌÀËܤ˺ܤäƤ¤¤ë´ðËÜŪ¤Ê¥¥ã¥¿¥Ô¥é¤ò±þÍѤ·¤¿¤â¤Î¤À¡£¥¥ã¥¿¥Ô¥é¤ÏÁ°¸å¤ËŤ¯¡¢¥Ð¥é¥ó¥¹¤ò¼è¤ê¤ä¤¹¤¤¡£¤ª¤Þ¤±¤Ë¸«¤¿Ìܤ⥯¡¼¥ë¤À¡£¸÷¥»¥ó¥µ¡¼¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤÈÁ°Êý³ÎǧÍѤˤ½¤ì¤¾¤ìÉÕ¤±¤Æ¤¢¤ë¡£Á°Êý³Îǧ¤Ï´Ì¤È¤Îµ÷Î¥¤ò¬¤Ã¤¿¤ê¤¹¤ëÌò³ä¤¬¤¢¤ë¡£¤Þ¤¿À½ºîÃæ¤ËÀèÀ¸¤«¤é»ØŦ¤ò¼õ¤±¤¿¤¿¤á¡¢Ä¾³Ñ¤ËΩ¤Æ¤¿¥í¥Ü¥Ã¥ÈËÜÂΤθÇÄê¤Ë¤Ïľ³Ñ¤ÎÉôÉʤòÍѤ¤¤¿¡£http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2017a%2FMember%2FKobakazu%2FMission3&src=IMG_2.jpg
¥¢¡¼¥àÉô¤ÏÂ礤¯Ê¬¤±¤ë¤È»ÙÃì¤È¥¢¡¼¥à¤Ëʬ¤±¤é¤ì¤ë¡£¥¢¡¼¥à¤Ï¥¨¥ì¥Ù¡¼¥¿¡¼¤Î¤è¤¦¤Ë»ÙÃì¤ò¾º¤ëµ¡¹½¤ò»È¤Ã¤Æ¤¤¤ë¡£²¿Ãʤ«ÀѤि¤á¤Ë¤Ï¹â¤µ¤¬É¬ÍפÀ¤¬¡¢¹â¤µ¤ò½Ð¤¹¤È¥Ð¥é¥ó¥¹¤¬¼è¤ê¤Ë¤¯¤¯¤Ê¤ë¡£ÉôÉʤò¸º¤é¤¹¤¿¤á¤Ë¿§¡¹¤Ê¸ÇÄêË¡¤ò»î¤·¤¿¤¬¡¢·ë¶ÉÅÚÂæÉôʬ¤«¤éÀѤ߾夲¤¿¤Û¤¦¤¬¤·¤Ã¤«¤ê¸ÇÄê¤Ç¤¤ë¤Èµ¤¤Å¤¤¤¿¡£¤Þ¤¿¥¢¡¼¥à¤Ï²«¿§¤Î¶Ê¤¬¤Ã¤¿ÉôÉʤòÍѤ¤¤Æ¤ª¤ê¡¢´Ì¤òÄϤߤ䤹¤¯¤¹¤ë¤¿¤á¤Ë¥¿¥¤¥ä¤ò¼è¤êÉÕ¤±¤Æ¤¢¤ë¡£¥¢¡¼¥à¤¬½Å¤¹¤®¤ë¤È¥í¥Ü¥Ã¥ÈÁ´ÂΤΥХé¥ó¥¹¤¬Êø¤ì¤ë¤À¤±¤Ç¤Ê¤¯»ý¤Á¾å¤²¤¿¸å¼«Á³¤Ë¥¢¡¼¥à¤¬Íî¤Á¤Æ¤¯¤ëÅù¤ÎÉÔ¶ñ¹ç¤âµ¯¤¤¿¡£·Ú¤¯¤¹¤ë¾¤Ë¤â¥¦¥©¡¼¥à¥®¥¢¤ò¤«¤Þ¤»¤ë¤Ê¤ÉÍÍ¡¹¤ÊÂкö¤ò¹Í¤¨¤¿¡£
#ref(./20170807_151555157.jpg,30%)
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2017a%2FMember%2FKobakazu%2FMission3&src=IMG_5.jpg
*¶îÆ°¥×¥í¥°¥é¥à [#sa1c98c7]
º£²ó¼«Ê¬¤Ï¥×¥í¥°¥é¥àºîÀ®¤Ë¤Ï¤¢¤Þ¤ê´Ø¤ï¤Ã¤Æ¤¤¤Ê¤¤¤¬¡¢²ÝÂê2¤Ç»È¤Ã¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤ò±þÍѤ·¤Æºî¤Ã¤Æ¤¢¤ë¡£»þ´Ö¤Î´Ø·¸¤ÇÀѤ߾夲¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢·ÐÏ©¾å¤Ë¤¢¤ë´Ì¤ò½¸¤á¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ËÊѹ¹¤·¤¿¡£
**ÄêµÁÉôʬ [#jab40b4d]
#define go_forward OnFwd(OUT_AC);//Á°¿Ê
#define turn_right OnFwd(OUT_A);//±¦ÀÞ
#define turn_left OnFwd(OUT_C);//º¸ÀÞ
#define migisenkai OnFwd(OUT_A); OnRev(OUT_C);//±¦Àû²ó
#define hidarisenkai OnFwd(OUT_C); OnRev(OUT_A);//º¸Àû²ó
#define power(s) SetPower(OUT_AC,s); //¥â¡¼¥¿¡¼¤Î½ÐÎϤ¬Êѹ¹²Äǽ
#define sound1 PlaySound(SOUND_UP);
#define sound2 PlaySound(SOUND_DOWN);Wait(100);
#define GO(t) OnFwd(OUT_AC); Wait(t); Off(OUT_AC);//Á°¿Ê»þ´ÖÊѹ¹²Äǽ
#define SIGNALGRAB 100
#define SIGNALBACK 200
#define back(u) OnRev(OUT_AC); Wait(u); Off(OUT_AC);//¸åÂà»þ´ÖÊѹ¹²Äǽ
sub trace2()//¸òº¹ÅÀ¤ÎȽÃǤʤɤϲÝÂ궤λþ¤ÈƱÍÍ
{
ClearTimer(0);
while (FastTimer(0)<=25){
if (SENSOR_1 > 49){//±¦Àû²ó
migisenkai; ClearTimer(0);
} else if (SENSOR_1 > 44){//±¦ÀÞ
turn_right; ClearTimer(0);
} else if (SENSOR_1 > 40){//Á°¿Ê
go_forward; ClearTimer(0);
} else if (SENSOR_1 > 36){//º¸ÀÞ
turn_left; ClearTimer(0);
} else if (SENSOR_1 > 33){//º¸Àû²ó
hidarisenkai;//¥¿¥¤¥Þ¤ò¥ê¥»¥Ã¥È¤·¤Ê¤¤
}
}
Off(OUT_AC);
}
sub hidari1()
{
sound1;
go_forward;
Wait(20);
hidarisenkai;
Wait(40);
turn_left;
Wait(30);
}
sub hidari2()
{
sound2;
go_forward;
Wait(20);
hidarisenkai;
Wait(40);
turn_left;
Wait(30);
}
**Æ°ºî¥×¥í¥°¥é¥à [#xc54c0ec]
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);
power(4);//¥â¡¼¥¿¡¼¤Î½ÐÎϤòÄ´À°¡£²ÝÂ궤λþ¤Ï0¤Ç¤¢¤Ã¤¿¤¬¡¢0¤Î¾ì¹ç¤Ç¤Ï½ÐÎϤ¬Â¤ê¤Ê¤«¤Ã ¤¿¤Î¤Ç¡¢Á°²ó¤Î²ÝÂê¤Î¤È¤¤è¤ê¤â½ÐÎϤò¹â¤á¤¿¡£
ClearMessage();
GO(100);//¥¹¥¿¡¼¥ÈÏȤ«¤éÁ°¿Ê
trace2();//A-F¶è´Ö
hidari1();//F¤òº¸ÀÞ
trace2();//F-Q¶è´Ö
hidari2();//Q¤òº¸Êý¸þ
trace2();//Q-R¶è´Ö
hidari1();//R¤òº¸ÀÞ¤·¡¢T¤Ë¸þ¤«¤¦
trace2();//R-T
GO(200);//Á°¿Ê¤·¤Æ¥´¡¼¥ë¤ÎÃæ¤ËÆþ¤ë
SendMessage(SIGNALGRAB);//¥´¡¼¥ë¤Î°ÌÃÖ¤ËÅþÃ夷¤¿¤³¤È¤òÃΤ餻¤ë¡£¥¢¡¼¥à¦¤Ï¤³¤ì¤ò¼õ¤± ¼è¤Ã¤¿¤é¥¢¡¼¥à¤òÆ°¤«¤·¤Æ´Ì¤¬¥´¡¼¥ë¤ÎÎΰè¤ËÆþ¤ë¤è¤¦¤Ë¤¹¤ë
while(true){
until (Message() == SIGNALBACK);//SIGNALBACK¤ò¼õ¿®¤¹¤ë¤Þ¤ÇÂÔ¤Ä
back(300);//¸åÂह¤ë
}
}
*¥¢¡¼¥à¥×¥í¥°¥é¥à [#x484e89f]
**ÄêµÁÉôʬ [#h0cfea86]
#define grab OnFwd(OUT_C); Wait(100); Off(OUT_C);//¥¢¡¼¥à¤Ç´Ì¤ò¤Ä¤«¤à
#define relese OnRev(OUT_C); Wait(100); Off(OUT_C);//¥¢¡¼¥à¤Ç´Ì¤òÎ¥¤¹
#define rift_up OnFwd(OUT_A); Wait(700); Off(OUT_A);//¥ê¥Õ¥È¤ò»ý¤Á¾å¤²¤ë
#define rift_down1 OnRev(OUT_A); Wait(200); Off(OUT_A);//¥ê¥Õ¥È¤ò¼¡¤Î´Ì¤Î¹â¤µ¤Þ¤Ç²¼¤²¤ë
#define rift_down2 OnRev(OUT_A); Wait(300); Off(OUT_A);//¥ê¥Õ¥È¤ò¼¡¤Î´Ì¤Î¤Ä¤«¤à¹â¤µ¤Þ¤Ç²¼ ¤²¤ë¡£¤Ä¤Þ¤ê¤Ï¤¸¤á¤Î¹â¤µ¤Þ¤Ç²¼¤²¤ë
#define SIGNALGRAB 100
#define SIGNALBACK 200
#define grab2(s) OnFwd(OUT_C); Wait(s); Off(OUT_C);//´Ì¤òÄϤà»þ´ÖÊѹ¹²Äǽ
#define relese(t) OnRev(OUT_C); Wait(t); Off(OUT_C);//´Ì¤òÎ¥¤¹»þ´ÖÊѹ¹²Äǽ
**Æ°ºî¥×¥í¥°¥é¥à [#hba65ea0]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);//¥»¥ó¥µ¡¼1¤Ë¥¿¥Ã¥Á¥»¥ó¥µ
ClearMessage();
int count;//ÊÑ¿ô¤òÄêµÁ
count=0;
while (count<1){//count¤¬1̤Ëþ¤Î»þ¥ë¡¼¥×¤ËÆþ¤ë
ClearMessage();//Message¤ÎÃͤò0¤Ë½é´ü²½
if (Message() == SIGNALGRAB){//SIGNALGRAB¤ò¼õ¿®¤·¤¿¤écount¤Ë1¤¬Â¤µ¤ì¤ë¡£¼õ¿®¤·¤¿ ¤é¥ë¡¼¥×¤òÈ´¤±½Ð¤¹¡£
count++;
} else count = 0;//¤½¤¦¤Ç¤Ê¤±¤ì¤Ðcount¤Ï0
}
grab2(50);//´Ì¤ò¥´¡¼¥ëÆâ¤Ë¤Þ¤È¤á¤ë¤¿¤á¤Ë¥¢¡¼¥à¤òÆ°¤«¤¹
relese(70);//Â礤á¤Ë¥¢¡¼¥à¤ò³«¤¤¤Æ´Ì¤ò´°Á´¤ËÎ¥¤¹
SendMessage(SIGNALBACK);//¸åÂह¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£
}
*´¶ÁÛ [#z1a9f502]
ËÜÈ֤Ǵ̤òÀѤळ¤È¤Ï¤Ç¤¤Ê¤«¤Ã¤¿¡£¤·¤«¤·¼«Ê¬¤ÇÊýË¡¤ä¹½Â¤¤ò¹Í¤¨¤Æ¥í¥Ü¥Ã¥È¤òÀ½ºî¤¹¤ë¤³¤È¤ä¥×¥í¥°¥é¥à¤ò»×°Æ¤¹¤ë¤³¤È¡£¤½¤ì¤³¤½¤¬¥í¥Ü¥Ã¥È¤ÎÌÌÇò¤µ¤Ç¤¢¤ê¡¢Æñ¤·¤µ¤Ç¤â¤¢¤ë¤È»×¤Ã¤¿¡£º£²ó¤Î²ÝÂê¤â´Þ¤á¤Æ»Â¿·¤ÊȯÁۤϥꥹ¥¯¤â¤¢¤ë¤¬¤½¤ì¤À¤±Â礤ÊÀ®²Ì¤ä¶Ã¤¤òÀ¸¤à¤³¤È¤â¤¢¤ë¤ó¤À¤È´¶¤¸¤¿¡£Åú¤¨¤Î¤Ê¤¤´°À®¤ò¤É¤Î¤è¤¦¤ËÌܻؤ·¤Æ¤¤¤¯¤Î¤«¡£¿§¡¹¤Ê¤³¤È¤ò³Ø¤Ù¤¿¤È»×¤¦¡£¤Þ¤¿»þ´Ö¤ò͸ú¤Ë»È¤Ã¤Æ´ü¸Â¤Þ¤Ç¤Ë¤·¤Ã¤«¤ê´°À®¤µ¤»¤ë¤³¤È¤Î½ÅÍ×À¤ò²þ¤á¤Æ´¶¤¸¤¿¡£¤½¤Î¤¿¤á¤Ë¤Ï¤¢¤ëÄøÅÙ¤ÎÂŶ¨¤È½ç½ø¤Î·×²è¤¬Âç»ö¤Ç¤¢¤Ã¤¿¡£º£²ó¤Î¤è¤¦¤ËÅú¤¨¤¬¤Ê¤¤¾ì¹ç¡¢¤¤¤¯¤é¤Ç¤â»þ´Ö¤ò¤«¤±¤ë¤³¤È¤¬¤Ç¤¤Æ¤·¤Þ¤¦¡£¤½¤³¤ò¾å¼ê¤Ë¿Ê¤á¤Æ¤¤¤«¤Ê¤¤¤È·ë²Ì¤¬½Ð¤Ê¤¤¡£¤³¤Î¹ÖºÂ¤Ï¤â¤¦½ª¤ï¤Ã¤Æ¤·¤Þ¤¦¤¬¿§¡¹¤Ê¤³¤È¤Ë³è¤«¤»¤ë¤È»×¤¦¤Î¤Ç˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¡£