2017a/Member

²ÝÂê

ºÇ½ª²ÝÂê¤Ï¼«Î©¤·¤Æ´Ì¤ò¸«¤Ä¤±¡¢±¿¤Ó¡¢ÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ç¤¢¤ë¡£¾Ü¤·¤¯¤Ï²ÝÂê3 http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2017a%2FMission3&src=2017a-mission3.png

¥í¥Ü¥Ã¥È¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ

¥í¥Ü¥Ã¥È¤ÏÅö½é£²¤Ä¤Ëʬ¤±¤ëͽÄê¤À¤Ã¤¿¡£¤½¤ÎÊý¤¬ÊÌ¡¹¤Ë¿Ê¤á¤é¤ì¤Æ³Ú¤Ç¤¢¤ë¤È¹Í¤¨¤¿¤«¤é¤À¡£¤·¤«¤·¤â¤È¤â¤È¤½¤ì¤¾¤ì¥â¡¼¥¿¡¼¤Ï£³¤Ä¤·¤«ÉÕ¤±¤é¤ì¤Ê¤¤¹½Â¤¤ÎÃæ¤Ç£²¤Ä¤Ëʬ¤±¤ë¤È¡¢¶îÆ°¤Ë¥â¡¼¥¿¡¼¤òº¸±¦£²¤Ä»È¤Ã¤¿¤È¤­¥¢¡¼¥à¤Ë¤Û¤È¤ó¤É»È¤¨¤Ê¤¤¡£¤½¤ì¤Ç¤Ï¾å¼ê¤¯µ¡Ç½¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¤ÈȽÃǤ·¡¢·ë¶É1¤Ä¤Ë¤·¤¿¡£¤Þ¤º´ðÁÃÉôʬ¡¢¶îÆ°¤Ë¤Ï¥­¥ã¥¿¥Ô¥é¤òºÎÍѤ·¤¿¡£ÀâÌÀËܤ˺ܤäƤ¤¤ë´ðËÜŪ¤Ê¥­¥ã¥¿¥Ô¥é¤ò±þÍѤ·¤¿¤â¤Î¤À¡£¥­¥ã¥¿¥Ô¥é¤ÏÁ°¸å¤ËŤ¯¡¢¥Ð¥é¥ó¥¹¤ò¼è¤ê¤ä¤¹¤¤¡£¤ª¤Þ¤±¤Ë¸«¤¿Ìܤ⥯¡¼¥ë¤À¡£¸÷¥»¥ó¥µ¡¼¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤÈÁ°Êý³ÎǧÍѤˤ½¤ì¤¾¤ìÉÕ¤±¤Æ¤¢¤ë¡£Á°Êý³Îǧ¤Ï´Ì¤È¤Îµ÷Î¥¤ò¬¤Ã¤¿¤ê¤¹¤ëÌò³ä¤¬¤¢¤ë¡£¤Þ¤¿À½ºîÃæ¤ËÀèÀ¸¤«¤é»ØŦ¤ò¼õ¤±¤¿¤¿¤á¡¢Ä¾³Ñ¤ËΩ¤Æ¤¿¥í¥Ü¥Ã¥ÈËÜÂΤθÇÄê¤Ë¤Ïľ³Ñ¤ÎÉôÉʤòÍѤ¤¤¿¡£http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2017a%2FMember%2FKobakazu%2FMission3&src=IMG_2.jpg ¥¢¡¼¥àÉô¤ÏÂ礭¤¯Ê¬¤±¤ë¤È»ÙÃì¤È¥¢¡¼¥à¤Ëʬ¤±¤é¤ì¤ë¡£¥¢¡¼¥à¤Ï¥¨¥ì¥Ù¡¼¥¿¡¼¤Î¤è¤¦¤Ë»ÙÃì¤ò¾º¤ëµ¡¹½¤ò»È¤Ã¤Æ¤¤¤ë¡£²¿Ãʤ«ÀѤि¤á¤Ë¤Ï¹â¤µ¤¬É¬ÍפÀ¤¬¡¢¹â¤µ¤ò½Ð¤¹¤È¥Ð¥é¥ó¥¹¤¬¼è¤ê¤Ë¤¯¤¯¤Ê¤ë¡£ÉôÉʤò¸º¤é¤¹¤¿¤á¤Ë¿§¡¹¤Ê¸ÇÄêË¡¤ò»î¤·¤¿¤¬¡¢·ë¶ÉÅÚÂæÉôʬ¤«¤éÀѤ߾夲¤¿¤Û¤¦¤¬¤·¤Ã¤«¤ê¸ÇÄê¤Ç¤­¤ë¤Èµ¤¤Å¤¤¤¿¡£¤Þ¤¿¥¢¡¼¥à¤Ï²«¿§¤Î¶Ê¤¬¤Ã¤¿ÉôÉʤòÍѤ¤¤Æ¤ª¤ê¡¢´Ì¤òÄϤߤ䤹¤¯¤¹¤ë¤¿¤á¤Ë¥¿¥¤¥ä¤ò¼è¤êÉÕ¤±¤Æ¤¢¤ë¡£¥¢¡¼¥à¤¬½Å¤¹¤®¤ë¤È¥í¥Ü¥Ã¥ÈÁ´ÂΤΥХé¥ó¥¹¤¬Êø¤ì¤ë¤À¤±¤Ç¤Ê¤¯»ý¤Á¾å¤²¤¿¸å¼«Á³¤Ë¥¢¡¼¥à¤¬Íî¤Á¤Æ¤¯¤ëÅù¤ÎÉÔ¶ñ¹ç¤âµ¯¤­¤¿¡£·Ú¤¯¤¹¤ë¾¤Ë¤â¥¦¥©¡¼¥à¥®¥¢¤ò¤«¤Þ¤»¤ë¤Ê¤ÉÍÍ¡¹¤ÊÂкö¤ò¹Í¤¨¤¿¡£

20170807_151555157.jpg

http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&page=2017a%2FMember%2FKobakazu%2FMission3&src=IMG_5.jpg

¶îÆ°¥×¥í¥°¥é¥à

º£²ó¼«Ê¬¤Ï¥×¥í¥°¥é¥àºîÀ®¤Ë¤Ï¤¢¤Þ¤ê´Ø¤ï¤Ã¤Æ¤¤¤Ê¤¤¤¬¡¢²ÝÂê2¤Ç»È¤Ã¤¿¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à¤ò±þÍѤ·¤Æºî¤Ã¤Æ¤¢¤ë¡£»þ´Ö¤Î´Ø·¸¤ÇÀѤ߾夲¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢·ÐÏ©¾å¤Ë¤¢¤ë´Ì¤ò½¸¤á¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ËÊѹ¹¤·¤¿¡£

ÄêµÁÉôʬ

#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);
}

Æ°ºî¥×¥í¥°¥é¥à

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);//¸åÂह¤ë
    }
}

¥¢¡¼¥à¥×¥í¥°¥é¥à

ÄêµÁÉôʬ

#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);//´Ì¤òÎ¥¤¹»þ´ÖÊѹ¹²Äǽ

Æ°ºî¥×¥í¥°¥é¥à

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);//¸åÂह¤ë¤è¤¦¤ËÅÁ¤¨¤ë¡£

}

´¶ÁÛ

ËÜÈ֤Ǵ̤òÀѤळ¤È¤Ï¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤·¤«¤·¼«Ê¬¤ÇÊýË¡¤ä¹½Â¤¤ò¹Í¤¨¤Æ¥í¥Ü¥Ã¥È¤òÀ½ºî¤¹¤ë¤³¤È¤ä¥×¥í¥°¥é¥à¤ò»×°Æ¤¹¤ë¤³¤È¡£¤½¤ì¤³¤½¤¬¥í¥Ü¥Ã¥È¤ÎÌÌÇò¤µ¤Ç¤¢¤ê¡¢Æñ¤·¤µ¤Ç¤â¤¢¤ë¤È»×¤Ã¤¿¡£º£²ó¤Î²ÝÂê¤â´Þ¤á¤Æ»Â¿·¤ÊȯÁۤϥꥹ¥¯¤â¤¢¤ë¤¬¤½¤ì¤À¤±Â礭¤ÊÀ®²Ì¤ä¶Ã¤­¤òÀ¸¤à¤³¤È¤â¤¢¤ë¤ó¤À¤È´¶¤¸¤¿¡£Åú¤¨¤Î¤Ê¤¤´°À®¤ò¤É¤Î¤è¤¦¤ËÌܻؤ·¤Æ¤¤¤¯¤Î¤«¡£¿§¡¹¤Ê¤³¤È¤ò³Ø¤Ù¤¿¤È»×¤¦¡£¤Þ¤¿»þ´Ö¤òÍ­¸ú¤Ë»È¤Ã¤Æ´ü¸Â¤Þ¤Ç¤Ë¤·¤Ã¤«¤ê´°À®¤µ¤»¤ë¤³¤È¤Î½ÅÍ×À­¤ò²þ¤á¤Æ´¶¤¸¤¿¡£¤½¤Î¤¿¤á¤Ë¤Ï¤¢¤ëÄøÅÙ¤ÎÂŶ¨¤È½ç½ø¤Î·×²è¤¬Âç»ö¤Ç¤¢¤Ã¤¿¡£º£²ó¤Î¤è¤¦¤ËÅú¤¨¤¬¤Ê¤¤¾ì¹ç¡¢¤¤¤¯¤é¤Ç¤â»þ´Ö¤ò¤«¤±¤ë¤³¤È¤¬¤Ç¤­¤Æ¤·¤Þ¤¦¡£¤½¤³¤ò¾å¼ê¤Ë¿Ê¤á¤Æ¤¤¤«¤Ê¤¤¤È·ë²Ì¤¬½Ð¤Ê¤¤¡£¤³¤Î¹ÖºÂ¤Ï¤â¤¦½ª¤ï¤Ã¤Æ¤·¤Þ¤¦¤¬¿§¡¹¤Ê¤³¤È¤Ë³è¤«¤»¤ë¤È»×¤¦¤Î¤Ç˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤¤¡£


źÉÕ¥Õ¥¡¥¤¥ë: file20170807_151555157.jpg 190·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2017-08-15 (²Ð) 01:03:41