Ìܼ¡
#contents
* ²ÝÂê3 [#zc5ac2fc]
»æ¥³¥Ã¥×¤È¥Ô¥ó¥Ý¥ó¶Ì¤òÊÌ¡¹¤Ë½¸¤á¤ë¥í¥Ü¥Ã¥È¤ÎÀ½ºî
** ÆâÍÆ [#a64871f0]
²¼¿Þ¤Î¥Þ¥¸¥§¥ó¥¿¤Î±ß¤ËµÕ¤µ¤Þ¤Ë¤·¤¿»æ¥³¥Ã¥×¤òÃÖ¤­¡¢¤½¤ÎÃæ¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤ò2¤Ä¤º¤ÄÆþ¤ì¤Æ¤ª¤¯¡£°ìÊÕ¤¬14cm¤Î³ä¤êȤ¤ÎÀµÊý·Á¤òºî¤ê¡¢XÃÏÅÀ¤òÃæ¿´¤È¤·¤¿±ß¤ËÀܤ¹¤ë¤è¤¦¤ËÃÖ¤­¡¢¤½¤ÎÃæ¤Ë¥Ô¥ó¥Ý¥ó¶Ì¤ò½¸¤á¤ë¡£»æ¥³¥Ã¥×¤Ï¡¢YÃÏÅÀ¤òÃæ¿´¤È¤·¤¿±ß¤ÎÃæ¤Ë½¸¤á¤ë¡£¤Þ¤¿¡¢²¼¿Þ¤Î²«¿§¤¤±ß¤Ë»æ¥³¥Ã¥×¤òÄ̾ï¤Î¸þ¤­¤ËÃÖ¤­¡¢¾ã³²Êª¤È¤¹¤ë¡£
#ref(2017b/Mission3/2017b-mission3.png,50%,¥í¥Ü¥³¥ó¤Î¥Õ¥£¡¼¥ë¥ÉÊ¿ÌÌ¿Þ)
**¥ë¡¼¥ë [#kf13b008]
²¼µ­URL(2017ǯ¸å´üMission3)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£

http://yakushi.shinshu-u.ac.jp/robotics/?2017b%2FMission3

*¥í¥Ü¥Ã¥È [#h34081ac]
¤Ï¤¸¤á¤Ë¡¢RIS¤ÎÄÌ¿®µ¡Ç½¤ÎÀ­¼Á¤òƧ¤Þ¤¨¤Æ¥í¥Ü¥Ã¥ÈËÜÂΤÏ1Âæ¤Ë¤·¤è¤¦¤È·è¤á¤¿¡£¤Þ¤¿¡¢¥â¡¼¥¿¡¼¤Î¿ô¤¬¸Â¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢°ì¤Ä¤Î¥â¡¼¥¿¡¼¤Ç¥¢¡¼¥àÉôʬ¤Î¾å²¼¤È³«ÊĤò¹Ô¤¤¤¿¤«¤Ã¤¿¤¬¡¢¼Â¸½¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤½¤³¤Ç¡¢¥¢¡¼¥àÉôʬ¤È¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¼ÖÂÎÉôʬ¤ÇRIS¤òʬ¤±¡¢¸ß¤¤¤ËÄÌ¿®¤·¡¢¼ÖÂÎÉôʬ¤Ç¸÷¥»¥ó¥µ¡¼¤òÁ°Êý¤Ë¸þ¤±¥³¥Ã¥×¤òõ¤·¡¢¸«¤Ä¤±¼¡Âè¿®¹æ¤ò¥¢¡¼¥àÉôʬ¤ÎRIS¤ËÁ÷¤í¤¦¤È¹Í¤¨¤¿¡£¤·¤«¤·¡¢ÄÌ¿®²Äǽ¤ÊÈϰϤʤɤÎÌäÂê¤ÇÀ®¸ù¤·¤Ê¤«¤Ã¤¿¡£ºÇ½ªÅª¤Ë¡¢¥¢¡¼¥à¤Î³«ÊĤΥ¿¥¤¥ß¥ó¥°¤ò»þ´Ö¤Ç´ÉÍý¤¹¤ë¤È¤¤¤¦¡¢½éÊâŪ¤Ê¤â¤Î¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£

**¥¢¡¼¥àÉôʬ [#v850c5af]
&ref(2017b/Member/OGI/Mission3/¥¢¡¼¥à¾å.jpg,75%); &ref(2017b/Member/OGI/Mission3/¥¢¡¼¥à¾å²¼¥®¥¢.jpg,50%); &ref(2017b/Member/OGI/Mission3/¥¢¡¼¥à¥®¥¢.jpg,50%);
 
´ðËÜŪ¤Ê¹½Â¤¤Ï¡¢³«ÊĤò¹Ô¤¦¥¢¡¼¥àÉôʬ¤ò3Ëܤιõ¤¤ËÀ¤ÇËÜÂΤȷҤ®¡¢¤½¤ÎËÀ¤ò»Ù¤¨¤ë¤è¤¦¤Ëľ³Ñ¤Ë¸ò¤ï¤ë¸þ¤­¤Ç¹õ¤¤ËÀ¤ò¼è¤ê¤Ä¤±¤¿¡£»Ù¤¨¤Æ¤¤¤ëÊý¤Î¹õ¤¤ËÀ¤ò¾å²¼¤µ¤»¤ë¤³¤È¤Ç¥¢¡¼¥àÉôʬÁ´ÂΤò¾å²¼¤µ¤»¤¿¡£

1ËçÌܤμ̿¿¤ÎÂ礭¤¤¥®¥¢¤Ï¥â¡¼¥¿¡¼¤ÈľÀܤĤʤ¬¤Ã¤Æ¤ª¤ê¡¢¤³¤³¤«¤éÊ£¿ô¤Î¥®¥¢¤ò»È¤¤¥¢¡¼¥à¤Þ¤ÇÎϤòÅÁ¤¨¡¢³«ÊĤµ¤»¤¿¡£¾å¼ê¤¯³ú¤ß¹ç¤¦ÇÛÃÖ¤¬¤Ê¤«¤Ê¤«¸«¤Ä¤«¤é¤º¶ìÏ«¤·¤¿¡£¤Þ¤¿¡¢¥¢¡¼¥à¤Ë¤Ä¤¤¤Æ¤¤¤ë¥¿¥¤¥ä¤Ï³ê¤ê»ß¤á¤Î¤¿¤á¤Ë¼è¤êÉÕ¤±¤¿¡£º¸Â¦¤Î¥¢¡¼¥à¤ÎÀè¤Ë¡¢¤â¤¦1ËÜ¥¢¡¼¥à¤¬¿­¤Ó¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤Ïº¸Àû²ó¤¹¤ë¤È¤­¤Ë¥³¥Ã¥×¤¬¥¢¡¼¥à¤Î³°¤Ë½Ð¤Æ¤¤¤«¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£

2ËçÌܤμ̿¿¤Î¤è¤¦¤Ë¥®¥¢¤òÇÛÃÖ¤¹¤ë¤³¤È¤Ç¥â¡¼¥¿¡¼¤ÎÎϤθþ¤­¤ò90¡ëÊѤ¨¡¢¥â¡¼¥¿¡¼¤Î¼è¤êÉÕ¤±¤ë°ÌÃÖ¤¬ËÜÂÎÀµÌ̤ˤʤë¤è¤¦¤Ë¤·¤¿¡£¤Ê¤¼¤Ê¤é¡¢¥¿¥¤¥ä¤¬¼ÙËâ¤ò¤·¤Æ²£¤ËÃÖ¤±¤Ê¤«¤Ã¤¿¤«¤é¤À¡£¤³¤Î¥â¡¼¥¿¡¼¤ÎÎϤò¡¢3ËçÌܤΤ褦¤ËL»ú·¿¤Ë¤Ä¤Ê¤¤¤À¹õ¤¤ËÀ¤ËÅÁ¤¨¡¢¥¢¡¼¥à¤Î¾å²¼¤ò¤µ¤»¤Æ¤¤¤ë¡£


**¼ÖÂÎÉôʬ [#z9de6ba1]
&ref(2017b/Member/OGI/Mission3/ËÜÂξå.jpg,75%); &ref(2017b/Member/OGI/Mission3/ËÜÂβ£.jpg,75%);

¥¢¡¼¥à¤¬½Å¤«¤Ã¤¿¤¿¤á¡¢½Å¿´¤¬Ãæ¿´¤Ë¤Ê¤ë¤è¤¦¤ËRIS¤ÎÇÛÃÖ¤ò¼Ì¿¿¤Î¤è¤¦¤Ë¤·¤¿¡£

¥¢¡¼¥àÉôʬ¤È¼ÖÂÎÉôʬ¤ÎÀܳ¤¬¼å¤¯¡¢ËÜÈ֤ǤÏÁö¹ÔÃæ¤Ë¥¢¡¼¥àÉôʬ¤¬³°¤ì¤Æ¤·¤Þ¤Ã¤¿

*¥×¥í¥°¥é¥à [#ce44f58a]
¥í¥Ü¥Ã¥ÈÀ½ºî¤Ë¿¤¯¤Î»þ´Ö¤ò³ä¤¤¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢Æó¤Ä¤Î¥³¥Ã¥×¤ò±¿¤Ö¤³¤È¤òÌÜɸ¤È¤¿¡£
¥×¥í¥°¥é¥àôÅö¤Ç¤Ï¤Ê¤«¤Ã¤¿¤Î¤Ç´Êñ¤ÊÀâÌÀ¤È¤¹¤ë¡£
**RIS­¡¡¡¥¢¡¼¥àÉôʬ¤Î¾å²¼¤ò¹Ô¤¦RIS [#qfd165b5]
**RIS­¡¡¡¥¢¡¼¥àÉôʬ¤Î¾å²¼¤ò¹Ô¤¦ [#qfd165b5]
ÄêµÁ
 #define up(t) OnRev(OUT_A);Wait(t);Off(OUT_A);//tÉþ夲¤ë
 #define down(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);//tÉò¼¤²¤ë
 #define st(t) Off(OUT_A);Wait(t);//tÉÃÂÔµ¡
 #define up(t) OnRev(OUT_A);Wait(t);Off(OUT_A);   //tÉþ夲¤ë
 #define down(t) OnFwd(OUT_A);Wait(t);Off(OUT_A); //tÉò¼¤²¤ë
 #define st(t) Off(OUT_A);Wait(t);                //tÉÃÂÔµ¡
¥á¥¤¥ó¥×¥í¥°¥é¥à
 task main ()
 {
     Wait(870);//XÃÏÅÀ¤ËÃ夯¤Þ¤Ç¤Î»þ´Ö
     up(30);//¥³¥Ã¥×¤ò»ý¤Á¾å¤²¤ë
     st(200);//³ä¤ê¤Ð¤·¤ÎÀµÊý·Á¤ÎÃæ¤Ë¥³¥Ã¥×¤¬Æþ¤ë¤Þ¤ÇÂÔµ¡
     down(30);//¥³¥Ã¥×¤ò²¼¤í¤¹
     Wait(870); //XÃÏÅÀ¤ËÃ夯¤Þ¤Ç¤Î»þ´Ö
     up(30);    //¥³¥Ã¥×¤ò»ý¤Á¾å¤²¤ë
     st(200);   //³ä¤ê¤Ð¤·¤ÎÀµÊý·Á¤ÎÃæ¤Ë¥³¥Ã¥×¤¬Æþ¤ë¤Þ¤ÇÂÔµ¡
     down(30);  //¥³¥Ã¥×¤ò²¼¤í¤¹
 }
ÊÑ¿ô£ô¤ÎÃͤϡ¢¾¯¤·¤º¤ÄÃͤòÊѤ¨Å¬Àڤʤâ¤Î¤òÄ´¤Ù¤¿¡£
 
**RIS­¢¡¡¥é¥¤¥ó¥È¥ì¡¼¥¹¤È¥¢¡¼¥à¤Î³«ÊĤò¹Ô¤¦RIS [#i7353e58]
**RIS­¢¡¡¥é¥¤¥ó¥È¥ì¡¼¥¹¤È¥¢¡¼¥à¤Î³«ÊĤò¹Ô¤¦ [#i7353e58]
ÄêµÁ
 #define rightSENKAI OnFwd(OUT_C);OnRev(OUT_A);//±¦Àû²ó
 #define rightMAGARU OnFwd(OUT_C);Off(OUT_A);//±¦ÀÞ
 #define ch OnFwd(OUT_B);Wait(30);Off(OUT_B);//¥¢¡¼¥à¤ò
 #define re OnRev(OUT_B);Wait(20);Off(OUT_B);//¥¢¡¼¥à¤ò
 #define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);//£ôÉÃÁ°¿Ê
 #define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);//£ôÉøåÂà
 #define cross_stop Off(OUT_AC);Wait(100);//1Éûߤޤë
 #define carb 46//ïçÃÍ
 #define leftSENKAI OnFwd(OUT_A);OnRev(OUT_C);      //º¸Àû²ó
 #define leftMAGARU OnFwd(OUT_A);Off(OUT_C);        //º¸ÀÞ
 #define rightSENKAI OnFwd(OUT_C);OnRev(OUT_A);     //±¦Àû²ó
 #define rightMAGARU OnFwd(OUT_C);Off(OUT_A);       //±¦ÀÞ
 #define ch OnFwd(OUT_B);Wait(30);Off(OUT_B);       //¥¢¡¼¥à¤òÊĤ¸¤ë
 #define re OnRev(OUT_B);Wait(20);Off(OUT_B);       //¥¢¡¼¥à¤ò³«¤¯
 #define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);   //£ôÉÃÁ°¿Ê
 #define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC); //£ôÉøåÂà
 #define cross_stop Off(OUT_AC);Wait(100);          //1Éûߤޤë
 #define carb 46                                    //ïçÃÍ
¥é¥¤¥ó¥È¥ì¡¼¥¹
 sub r()
 {
  SetSensor(SENSOR_2,SENSOR_LIGHT);
  SetSensor(SENSOR_2,SENSOR_LIGHT); //ü»Ò2¤Ë¸÷¥»¥ó¥µ¡¼¤ò¥»¥Ã¥È
  ClearTimer(0);
  while(FastTimer(0)<=24)
  {
   if(SENSOR_2>carb+5)    
    {
     leftSENKAI
     ClearTimer(0);
  while(FastTimer(0)<=24)           //0.24ÉðÊÆâ¤Î¾ì¹ç¤Ï¥ë¡¼¥× Ķ¤¨¤¿¾ì¹ç¤Ï¸òº¹ÅÀ¤È¤·¤ÆȽÃÇ
   {
    if(SENSOR_2>carb+5)             // ¥»¥ó¥µ¡¼¤¬ïçÃÍ¡Ü£µ¤ÎÃͤòĶ¤¨¤¿¤éº¸Àû²ó
     {
      leftSENKAI
      ClearTimer(0);
     }
    else if(SENSOR_2>carb+3)        //¥»¥ó¥µ¡¼¤¬ïçÃÍ¡Ü£³¤ÎÃͤòĶ¤¨¤¿¤éº¸ÀÞ   
     {
      leftMAGARU
      ClearTimer(0);
     }
    else if(SENSOR_2>carb)          //¥»¥ó¥µ¡¼¤¬ïçÃͤòĶ¤¨¤¿¤éľ¿Ê  
     {
      OnFwd(OUT_AC);
      ClearTimer(0);
     }
    else if(SENSOR_2>carb-3)        //¥»¥ó¥µ¡¼¤¬ïçÃÍ¡Ý£³¤ÎÃͤòĶ¤¨¤¿¤é±¦ÀÞ
     {
      rightMAGARU
      ClearTimer(0);
     }
    else                            //¾åµ­¤Î¤É¤Î¾ò·ï¤Ë¤âÅö¤Æ¤Ï¤Þ¤é¤Ê¤¤¤È¤­¤Ë±¦Àû²ó
     {
      rightSENKAI
     }
    }
   else if(SENSOR_2>carb+3)    
    {
     leftMAGARU
     ClearTimer(0);
    }
   else if(SENSOR_2>carb)   
    {
     OnFwd(OUT_AC);
     ClearTimer(0);
    }
   else if(SENSOR_2>carb-3)    
    {
     rightMAGARU
     ClearTimer(0);
    }
   else    
    {
     rightSENKAI
     }
   }
 Off(OUT_AC);
  Off(OUT_AC);
 } 
¥á¥¤¥ó¥×¥í¥°¥é¥à
 task main ()
 {
     go(30);
     r();
     go(30);          //AÃÏÅÀ¤ÎÏȤ«¤é½Ð¤ë
     r();             //A¡ÁB¥é¥¤¥ó¥È¥ì¡¼¥¹
     leftSENKAI;
     Wait(5);
     re;
     go(160);
     cross_stop;
     ch;
     Wait(5);         //0.05Éôֺ¸Àû²ó¤·¤Æ°ÌÃÖÄ´À°
     re;              //¥¢¡¼¥à¤ò³«¤¯
     go(160);         //ľÀþAB¤Î±äĹ¾å¤Ë¤¢¤ë¥³¥Ã¥×¤Ë¶á¤Å¤¯
     cross_stop;      //1ÉÃÄä»ß
     ch;              //¥¢¡¼¥à¤òÊĤ¸¥³¥Ã¥×¤ò¤Ä¤«¤à
     rightSENKAI;
     Wait(140);
     cross_stop;
     ch;
     go(90);
     cross_stop;
     re;
     back(100);
     Wait(140);       //1.4Éôֱ¦Àû²ó¤·¤Æ°ÌÃÖÄ´À°
     cross_stop;      //1ÉÃÄä»ß
     ch;              //¥³¥Ã¥×¤òÎ¥¤µ¤Ê¤¤¤è¤¦¤ËºÆ¤Ó¥¢¡¼¥à¤òÊĤ¸¤ë
     go(90);          //XÃÏÅÀ¤Ë¶á¤Å¤¯
     cross_stop;      //1ÉÃÄä»ß
     re;              //¥¢¡¼¥à¤ò³«¤­XÃÏÅÀ¤Ë¥³¥Ã¥×¤òÃÖ¤¯
     back(100);       //1ÉøåÂष¤Æ°ÌÃÖÄ´À°
     leftSENKAI;
     Wait(30);
     go(200);
     Wait(30);        //0.3Éú¸Àû²ó¤·¤Æ°ÌÃÖÄ´À°
     go(200);         //2ÉÃÁ°¿Ê¤·¤Æ°ÌÃÖÄ´À°
     rightSENKAI;
     Wait(40);
     re;
     go(250);
     Wait(40);        //0.4Éñ¦Àû²ó¤·¤Æ¾ã³²Êª¤ËÅö¤¿¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë
     re;              //¥¢¡¼¥à¤ò³«¤¯
     go(250);         //¸òº¹ÅÀQ¤Î¾å¤Ë¤¢¤ë¥³¥Ã¥×¤òËÜÂΤDz¡¤·¤Ê¤¬¤éYÃÏÅÀ¤Ë¸þ¤«¤¦
 }

*È¿¾ÊÅÀ [#yee8fc69]
¥í¥Ü¥Ã¥ÈÀ½ºî¤Ë¿¤¯¤Î»þ´Ö¤ò³ä¤¤¤¿¤Ë¤â¤«¤«¤ï¤é¤º¡¢¤¢¤Þ¤êÎɤ¤¤â¤Î¤¬½ÐÍè¤Ê¤«¤Ã¤¿¤Î¤ÇÁ´ÂÎŪ¤Ë¥¯¥ª¥ê¥Æ¥£¤¬²¼¤¬¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£½é´ü¤Î¹½ÁۤǤϡ¢ÄÌ¿®¤ä°ì¤Ä¤Î¥â¡¼¥¿¡¼¤Ç¥¢¡¼¥à¤Î³«ÊĤä¾å²¼¤ò¹Ô¤¦¤Ê¤ÉÍÍ¡¹¤Ê¤³¤È¤ò¹Í¤¨¤Æ¤¤¤¿¤¬¡¢È¯ÁÛÎÏÉÔ­¤Ë¤è¤ê¼Â¸½¤Ç¤­¤Ê¤«¤Ã¤¿¡£¥×¥í¥°¥é¥à¤â»þ´Ö¤Î¤Ê¤¤Ãæ¤ÇÁȤó¤À¤¿¤á¡¢ºÇÄã¸Â¤Î¤³¤È¤·¤«¤Ç¤­¤Ê¤«¤Ã¤¿¡£
*´¶ÁÛ [#ue65b3cb]
¼«Ê¬¤¿¤Á¤Î¥Á¡¼¥à¤¬½ÐÍè¤Ê¤«¤Ã¤¿¤³¤È¤ò¾¤Î¥Á¡¼¥à¤Ç¤Ï½ÐÍè¤Æ¤¤¤¿¤Î¤Ç¡¢¤É¤¦¤ä¤Ã¤Æ¤¤¤ë¤Î¤À¤í¤¦¤ÈȯɽÁ°¤«¤éµ¤¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤¬¡¢ËÜÈ֤Dzþ¤á¤Æ¸«¤Æ¤ß¤ë¤ÈÁÇÀ²¤é¤·¤¤¤â¤Î¤Ð¤«¤ê¤Ç¶Ã¤¤¤¿¡£ÆäË1°Ì¤Î¥Á¡¼¥à¤Î¥í¥Ü¥Ã¥È¤Ï¡¢Æ±¤¸RIS¤ò»È¤Ã¤¿¤È¤Ï»×¤¨¤Ê¤¤¤â¤Î¤Ç´¶Æ°¤·¤¿¡£·ë²ÌŪ¤Ë¤ÏºÇ²¼°Ì¤À¤Ã¤¿¤¬¡¢¤ß¤ó¤Ê¤Ç°Õ¸«¤ò½Ð¤·¹ç¤¦¤³¤È¤¬½ÐÍ褿ͭ°ÕµÁ¤Ê»þ´Ö¤À¤Ã¤¿¤È»×¤¦¡£


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS