[[2016a/Member]]

#contents

*¤Ï¤¸¤á¤Ë [#db5768ef]

º£²ó¤Î²ÝÂê¤Ï²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¥ß¥Ã¥·¥ç¥ó¤ò¿ë¹Ô¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£

#ref(2016a-mission2.png)

¤Ê¤ª¡¢º£²ó¤Î»ä¤Î¥ß¥Ã¥·¥ç¥ó¤Ï

BÃÏÅÀ¤«¤éCÃÏÅÀ¤Ø

(BÃÏÅÀ ¢ª R±¦ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ªP±¦ÀÞ ¢ª S±¦ÀÞ ¢ª CÃÏÅÀ)

¤Ç¤¢¤ë¡£([[2016ǯÅÙÁ°´ü ²ÝÂê2:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2FMission2]]°úÍÑ)

*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#dcc4ff80]

¥­¥Ã¥È¤ËÉÕ°¤·¤Æ¤¤¤¿ÀâÌÀ½ñ¤ËºÜ¤Ã¤Æ¤¤¤¿¤è¤¦¤Ë¡¢¸÷¥»¥ó¥µ¤ò¼è¤êÉÕ¤±¤Þ¤·¤¿¡£

#ref(robo3.jpg)

¤Ê¤ª¡¢¤è¤êÀµ³Î¤Ê¬Ä꤬½ÐÍè¤ë¤è¤¦¡¢¾²¤È¤Îµ÷Î¥¤ò½Ì¤á¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

#ref(robo4.jpg)

*¥×¥í¥°¥é¥à [#h080aa93]

**float·¿´Ø¿ô¥×¥í¥°¥é¥à [#i7675aa0]

Á°²ó¤Î¡ÖÅÅÃÓ»ÄÎ̤ˤè¤Ã¤Æ¥â¡¼¥¿¡¼¤Î²óž®ÅÙ¤¬ÃÙ¤¯¤Ê¤ë¡×¤³¤È¤ÎÂкö¤È¤·¤Æ([[2016a/Member/ngtrz/Mission1:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2FMember%2Fngtrz%2FMission1]]»²¾È)¡¢

º£²ó¤Ï¿Ê¤ß¤¿¤¤µ÷Î¥¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤ò·×»»¤¹¤ëfloat·¿¤Î´Ø¿ô¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤òÍѤ¤¤Þ¤·¤¿¡£

 float GetAngle(float d) /* d¤Ë¤Ï¿Ê¤ß¤¿¤¤µ÷Î¥¤¬Æþ¤ë */
 {
  const float diameter=5.45;  //¥¿¥¤¥ä¤Îľ·Â(­Ñ)
  const float pi=3.1415;      //±ß¼þΨ(¦Ð)
  float ang =d/(diameter*pi)*360.0;  //³ÑÅÙ¤ò·×»»¤¹¤ë
  return ang;                 //³ÑÅÙ¤òÊÖ¤¹¡¡
 }

***90¡ë²óž [#w1d6ee16]

±¦Àޤξì¹ç¡¢90¡ë²óž¤¬É¬ÍפȤʤê¤Þ¤¹¡£

¥¿¥¤¥ä¤È¥¿¥¤¥ä¤ÎŤµ(¥¿¥¤¥ä¤¬ÉÁ¤¯±ß¤ÎȾ·Âr)¤¬10.5­Ñ¤Ç¤¢¤ë¤Î¤Ç¡¢¤³¤ì¤ò¸µ¤Ëfloat·¿¤Î´Ø¿ô¤òÍøÍѤ·¤Æ¥¿¥¤¥ä¤Îé¤ë±ß¼þ¤ÎŤµ( L = 2¦Ðrx / 360 ) (x:³ÑÅÙ) ¤òµá¤á¤Þ¤¹¡£

90¡ë²óž¤¹¤ë¾ì¹ç¤Î¥¿¥¤¥ä¤Îé¤ë±ß¼þ¤ÎŤµ¤Ï

L¡ád¡á2¡ß3.1415¡ß10.5¡ß90/360¢â16.5­Ñ

¤¿¤À¤·¡¢º£²ó»ä¤Ï¥¿¥¤¥ä¤ò¤É¤Á¤é¤âÆ°¤«¤·¤Æ±¦Àû²ó¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤Æ¡¢16.5cm¤Ç¤ä¤ë¤È180¡ë²óž¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢È¾Ê¬¤Î8.25cm¤Ë¤¹¤ë¤³¤È¤Ç90¡ë²óž¤Ë¤·¤Þ¤·¤¿¡£

¤³¤ì¤è¤ê¡¢90¡ë²óž¤òÄêµÁ¤·¤Þ¤·¤¿¡£

 #define Ninety  GetAngle(8.25)

***2cm¿Ê¤à [#e3d3987b]
¸òº¹ÅÀ¤òľ¿Ê¤¹¤ëºÝ¡¢2cm¿Ê¤à¤³¤È(Àþ¤ÎÂÀ¤µ¤¬Ìó2cm¤Ç¤¢¤ë¤¿¤á)¤¬É¬ÍפȤʤê¤Þ¤¹¡£

¤³¤Î¾ì¹ç¤ÏÉáÄ̤Ë

d¡á2

¤Ç¤Ç¤­¤Þ¤¹¡£

¤³¤ì¤è¤ê¡¢2cm¿Ê¤à¤³¤È¤òÄêµÁ¤·¤Þ¤·¤¿¡£

 #define Two GetAngle(2)

**ÄêµÁ [#je60c3f9]

Àè¤Û¤É¤Î¡Ö90¡ë²óž¡×¡¢¡Ö2cm¿Ê¤à¡×ÄêµÁ¤ò¸µ¤Ë¡¢¡Ö¸òº¹ÅÀ±¦Àޡפȡָòº¹ÅÀľ¿Ê¡×¤òÄêµÁ¤·¤Þ¤·¤¿¡£

 #define usetsu RotateMotorEx(OUT_BC,50,Ninety,100,true,false); //¸òº¹ÅÀ±¦ÀÞ(¥â¡¼¥¿B¤ÈC¤ò50%¤Î¥¹¥Ô¡¼¥É¤ÇƱ´ü¤µ¤»¤º90ÅÙÁ°Å¾)
 #define tyokushin RotateMotorEx(OUT_BC,50,Two,0,true,true); //¸òº¹ÅÀľ¿Ê(¥â¡¼¥¿B¤ÈC¤ò50%¤Î¥¹¥Ô¡¼¥É¤ÇƱ´ü¤µ¤»¤Æ2cmʬÁ°Å¾)

¤µ¤é¤Ë¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ËɬÍפʤ³¤È¤ÎÄêµÁ¤ò¤·¤Þ¤·¤¿¡£

 #define OnRL(b,c) OnFwd(OUT_B,b);OnFwd(OUT_C,c); //¥¿¥¤¥äB¤òb¡ó¡¢¥¿¥¤¥äC¤òc¡ó¤Î¥¹¥Ô¡¼¥É¤Ç¤½¤ì¤¾¤ì¿Ê¤Þ¤»¤ë(¡Ü:Á°¿Ê¡¢¡Ý:¸å¿Ê)
 #define go_forward OnRL(30,30); //Á°¿Ê
 #define turn_left1 OnRL(15,-15); //º¸Àû²ó
 #define turn_left0 OnRL(15,0); //º¸ÀÞ
 #define turn_right0 OnRL(0,15); //±¦ÀÞ
 #define turn_right1 OnRL(-15,15); //±¦Àû²ó

**¥é¥¤¥ó¾åÁö¹Ô¡¦¸òº¹ÅÀǧ¼±¥µ¥Ö¥ë¡¼¥Á¥ó [#i41302c1]

»ä¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤µ¤»¤ëºÝ¡¢¸÷¥»¥ó¥µ¤¬¹õÀþ¤Èº¸Â¦¤ÎÇò¤¤Éôʬ¤Î¶­³¦¾å¤òÆ°¤¯¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£


¸÷¥»¥ó¥µ¤¬Çò¤¤Éôʬ¤Ë¤µ¤·¤«¤«¤Ã¤¿¤é¹õÀþ¦¤Ø¡¢¹õ¤¤Éôʬ¤Ë¤µ¤·¤«¤«¤Ã¤¿¤éÇò¤¤Êý¤Ø¸þ¤«¤¦¤è¤¦¤Ë¥«¡¼¥Ö¤µ¤»¤Þ¤·¤¿¡£


¤Þ¤º¥é¥¤¥ó¾å¤òÁö¹Ô¤¹¤ë¤¿¤á¤Ë¹õ¤¤Àþ¤Î¼þ°Ï¤ÎÌÀ¤ë¤µ¤ò¥»¥ó¥µ¡¼¤Ç¤Ï¤«¤ê¡¢¤·¤­¤¤Ãͤò·èÄꤷ¤Þ¤·¤¿¡£

#ref(Line.png)

¼ÂºÝ¬¤ë¤È¾å¿Þ¤Î¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢¤·¤­¤¤Ãͤò44¤ËÀßÄê¡¢ÄêµÁ¤·¤Þ¤·¤¿¡£

 #define THRESHOLD 44

¤½¤Î¸å¡¢¡Þ¤ÎÈϰϤòÄ´À°¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀþ¾å¤Ç¸ÞÃʳ¬¤ÎÌÀ¤ë¤µ¤òǧÃΤ¹¤ë¤è¤¦¤Ë¤µ¤»¡¢°Å¤¤½ç¤Ëº¸Àû²ó¡¢º¸ÀÞ¡¢Ä¾¿Ê¡¢±¦ÀÞ¡¢±¦Àû²ó¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

¤Ê¤ª¡¢¸òº¹ÅÀǧ¼±¤Ë¤Ä¤¤¤Æ¤Ï¡¢¾åµ­¤Î¸ÞÃʳ¬Ç§¼±¤Î¤¦¤Á¡Ö¤â¤Ã¤È¤â¹õ¤¤¡×»þ¤¬nMAX²ó³¤¤¤¿¤È¤­¤Ë¸òº¹ÅÀ¤Èǧ¼±¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

»î¹Ôºø¸í¤ò½Å¤Í¤Æ¤¤¤Ã¤¿·ë²Ì¡¢nMAX¡á160¤¬ÂÅÅö¤Ç¤·¤¿¤Î¤ÇÄêµÁ¤·¤Þ¤·¤¿¡£

 #define nMAX 160

¤³¤³¤Ç¤Þ¤¿Á°²ó¤ÎÈ¿¾Ê¤òƧ¤Þ¤¨¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍѤ¤¤Þ¤·¤¿¡£

 sub Line_toresu() //¥é¥¤¥ó¾åÁö¹Ô¥µ¥Ö¥ë¡¼¥Á¥ó
 {
   SetSensorLight(S3);
   int n=0; //³¤±¤Æ¹õ¤Ë¤Ê¤Ã¤¿²ó¿ô
     while (n <= nMAX) {
   /* ¹õ¤ò³¤±¤ÆnMAX²ó·«¤êÊÖ¤µ¤Ê¤±¤ì¤ÐÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë */
       if (SENSOR_3 < THRESHOLD-15) {
         turn_left1
         n++; //²ó¿ô¤òÁý¤ä¤¹¡¢¸òº¹ÅÀǧ¼±
       } else {
         if (SENSOR_3 < THRESHOLD-7) {
           turn_left0
         } else if (SENSOR_3 < THRESHOLD+7) {
           go_forward
         } else if (SENSOR_3 < THRESHOLD+15) {
           turn_right0
         } else {
           turn_right1
         }
         n=0; //²ó¿ô¥ê¥»¥Ã¥È
       }
     }
     Off(OUT_BC); 
     Wait(1000); // ¸òº¹ÅÀǧ¼±¤·¤¿¤é1ÉôֻߤޤäÆ
     PlaySound(SOUND_UP); //¥Ô¥í¥Ô¥í¡Á¤È²»¤ò½Ð¤¹
     Wait(2000);
  }

**¸òº¹ÅÀǧ¼±¸å¤Î¹ÔÆ°¥µ¥Ö¥ë¡¼¥Á¥ó [#md370fd2]

¸òº¹ÅÀǧ¼±¸å¡¢¡Ö±¦Àޡס¢¡Öľ¿Ê¡×¤Î£²¥Ñ¥¿¡¼¥ó¤ÎÆ°ºî¤ò¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢¼¡¤Î¤è¤¦¤Ë¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤ê¤Þ¤·¤¿¡£

 sub Usetsu() //±¦ÀÞ¥µ¥Ö¥ë¡¼¥Á¥ó
 { 
  OnFwd(OUT_BC,30);
  Wait(650);
  Off(OUT_BC); //±¦ÀÞ¸å¤Ë¥é¥¤¥ó¤ÈÇò¤¤Éôʬ¤Î¶­³¦¤Ë¤¤¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤ÎÄ´À°
 
  usetsu; //±¦ÀÞ
  Off(OUT_B);
  Off(OUT_C);
 }


 sub Tyokushin() //ľ¿Ê¥µ¥Ö¥ë¡¼¥Á¥ó
 {
  tyokushin; //ľ¿Ê
  Off(OUT_BC);
 }

**¥é¥¤¥ó¥È¥ì¡¼¥¹¥×¥í¥°¥é¥à [#nd5fefc0]

µÞ¥«¡¼¥ÖÃÏÅÀ¤Ë´Ø¤·¤Æ¤Ï¡¢¤Ç¤­¤ë¸Â¤ê´Ë¤á¤Ë¤Ê¤ë¤è¤¦¥«¡¼¥Ö¤Î³°Â¦¤Î¶­³¦¤òÁö¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

 task main()
 {
  /* ¥é¥¤¥ó¤Îº¸Â¦¶­³¦¤ò¿Ê¤à */
  OnFwd(OUT_BC,50);
  Wait(200);
  Off(OUT_BC); //¥¹¥¿¡¼¥È¾ì½ê¤«¤é¤ÎÁ°¿Ê
  Line_toresu(); //¸òº¹ÅÀR¤Þ¤Ç¿Ê¤à
  Usetsu(); //R±¦ÀÞ
  
  OnFwd(OUT_C,50);
  Wait(100);
  Off(OUT_C);
  OnFwd(OUT_B,50);
  Wait(75);
  Off(OUT_B); //Àè¤Ë¤¢¤ëµÞ¥«¡¼¥Ö¤ËÂн褹¤ë¤¿¤á¡¢¥é¥¤¥ó¤Î±¦Â¦¶­³¦¤Ø°ÜÆ°
  
  /* ¥é¥¤¥ó¤Î±¦Â¦¶­³¦¤ò¿Ê¤à */
  Line_toresu(); //¸òº¹ÅÀQ1¤Þ¤Ç¿Ê¤à
  Tyokushin(); //Q1ľ¿Ê
  
  OnFwd(OUT_B,50);
  Wait(100);
  Off(OUT_B);
  OnFwd(OUT_C,50);
  Wait(75);
  Off(OUT_C); //Àè¤Ë¤¢¤ëµÞ¥«¡¼¥Ö¤ËÂн褹¤ë¤¿¤á¡¢¥é¥¤¥ó¤Îº¸Â¦¶­³¦¤Ø°ÜÆ°
  
  /* ¥é¥¤¥ó¤Îº¸Â¦¶­³¦¤ò¿Ê¤à */
  Line_toresu(); //¸òº¹ÅÀQ2¤Þ¤Ç¿Ê¤à
  Tyokushin(); //Q2ľ¿Ê
  Line_toresu(); //¸òº¹ÅÀP¤Þ¤Ç¿Ê¤à
  Usetsu(); //P±¦ÀÞ
  Line_toresu(); //¸òº¹ÅÀS¤Þ¤Ç¿Ê¤à
  Usetsu(); //S±¦ÀÞ
  Line_toresu();
  
  OnFwd(OUT_BC,50);
  Wait(500);
  Off(OUT_BC); //¥´¡¼¥ë¾ì½ê¤ØÆͤÃÀÚ¤ë
 }

*¥ß¥Ã¥·¥ç¥ó¿ë¹Ô¥¿¥¤¥à [#ob0165e3]

BÃÏÅÀ¤«¤éCÃÏÅÀ¤Þ¤Ç¹Ô¤¯¤Þ¤Ç¤Ë¤«¤«¤Ã¤¿»þ´Ö¤Ï103ÉäǤ·¤¿¡£

¼þ¤ê¤ÈÈæ¤Ù¤ë¤ÈÃÙ¤¯¤Æ¡¢¾¯¤·»ÄÇ°¤Ç¤·¤¿¡£

*´¶ÁÛ¡¦¹Í»¡ [#r903969b]

¥ß¥Ã¥·¥ç¥ó¿ë¹Ô¥¿¥¤¥à¤Ë¤â¤¢¤ë¤è¤¦¤Ë¡¢¼þ¤ê¤ÈÈæ¤Ù¤ë¤È¥¿¥¤¥à¤¬ÃÙ¤«¤Ã¤¿¤Ç¤¹¡£

¥¹¥Ô¡¼¥É¤òÃÙ¤¯ÀßÄꤷ¤Æ¤¤¤¿¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢º¸±¦¤ÎÆ°¤­¤¬·ã¤·¤«¤Ã¤¿¤Î¤âÍ×°ø¤«¤È»×¤¤¤Þ¤·¤¿¡£

¤â¤¦¾¯¤·À­Ç½¤Î¤è¤¤Æ°¤­¤¬½ÐÍè¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤òÁȤá¤ì¤Ð¤è¤«¤Ã¤¿¤Ç¤¹¡£

¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¯¥È¤µ¤Ë¤Ä¤¤¤Æ¤Ï¡¢Á°²ó¤ÎÈ¿¾Ê¤òƧ¤Þ¤¨¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍѤ¤¤¿¤³¤È¤Ç¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ë¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤·¤¿¡£

¤·¤«¤·¤Þ¤À»È¤¨¤ë¤È¤³¤í¤â¤¢¤ë¤È¤ª¤â¤¦¤Î¤Ç¡¢¼¡²ó¤Î²ÝÂê¤Ç¤Ï¤è¤êÄêµÁ¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¤â¤Á¤¤¤Æ¥³¥ó¥Ñ¥¯¥È¤Ë¤ï¤«¤ê¤ä¤¹¤¤¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¤¤­¤¿¤¤¤Ç¤¹¡£
¤·¤«¤·¤Þ¤À»È¤¨¤ë¤È¤³¤í¤â¤¢¤ë¤È¤ª¤â¤¦¤Î¤Ç¡¢¼¡²ó¤Î²ÝÂê¤Ç¤Ï¤è¤êÄêµÁ¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¤â¤Á¤¤¤Æ¥³¥ó¥Ñ¥¯¥È¤Ç¤ï¤«¤ê¤ä¤¹¤¤¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¤¤­¤¿¤¤¤Ç¤¹¡£

¤Þ¤¿¡¢º£²ó¤â¤è¤ê¤è¤¤¥×¥í¥°¥é¥à¤Ë½ÐÍè¤ë¤è¤¦¡¢¥Á¡¼¥à¤ÎÃç´Ö¤È¶¨ÎϤ·¤¿¤êÁêÃ̤·¹ç¤¤¤Ê¤¬¤éºî¶È¤·¤Þ¤·¤¿¡£

¤½¤·¤ÆÃç´Ö¤È¤Î¶¨Ä´À­¡¢Ãç´Ö¤ÎÂçÀÚ¤µ¤ò¤è¤ê¶¯¤¯´¶¤¸¤Þ¤·¤¿¡£

¼¡¤Î²ÝÂê¤Ç¤Ï2¥Á¡¼¥à¹çƱ¤Ë¤Ê¤ë¤Î¤Ç¡¢¶¨Ä´À­¤òÂç»ö¤Ë¡¢¤½¤·¤Æº£²ó¤ÎÈ¿¾ÊÅÀ¤ò²þÁ±¤Ç¤­¤ë¤è¤¦Åؤá¤Æ¤¤¤­¤¿¤¤¤Ç¤¹¡£


¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS