[[2014b/Member]] Ìܼ¡ #contents *¤Ï¤¸¤á¤Ë [#h65b02b1] ²ÝÂê¤Ï½ñÆ»¥í¥Ü¥Ã¥È¤ÎºîÀ®¤Ç¤¢¤ë¡£ ¾Ü¤·¤¤ÆâÍƤȤ·¤Æ¡¢ ³Æ¼«¤Î̾Á°¤ÎÃæ¤Î°ìʸ»ú¤òA4ÍÑ»æ¤ÎÃæ¤Ë½ñ¤¤Ê¤µ¤¤¡£ ¤¿¤À¤·7²è°Ê¾å¤Îʸ»ú¤òÁª¤Ö¤³¤È¡£¤â¤·7²è°Ê¾å¤Îʸ»ú¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¹ç·×7²è°Ê¾å¤Ë¤Ê¤ë¤è¤¦¤ËÊ£¿ô¤Îʸ»ú¤ò½ñ¤¤Ê¤µ¤¤¡£ ¥Þ¥¯¥í¤ä´Ø¿ô¤Ê¤É¤ò»È¤¤¡¢main´Ø¿ô¤Ï¤Ê¤ë¤Ù¤¯Ã±½ã¤Ë¤Ê¤ë¤è¤¦¤Ë¥×¥í¥°¥é¥à¤òºî¤ë¤³¤È¡£ ([[2014ǯ¸å´ü/²ÝÂ꣱:http://yakushi.shinshu-u.ac.jp/robotics/?2014b%2FMission1]]¤è¤ê) º£²ó¤Ï¡Ö¹á¡×¤È¤¤¤¦Ê¸»ú¤ò¥í¥Ü¥Ã¥È¤Ë½ñ¤«¤»¤ë¡£ *¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#l6d65f52] #ref(2014b/Member/arisyka/Mission1/IMG_3305 p.gif,30%) ¥Ú¥ó¤ò»ý¤¿¤»¤ë¤¿¤á¤ËÀ֤ǰϤޤ줿Éôʬ¤ò´ðÁäȤʤë¼ÖÂΤ˼è¤êÉÕ¤±¡¢¥Ú¥ó¤òÎØ¥´¥à¤Ç¸ÇÄꤷ¤¿¤À¤±¤Î¥·¥ó¥×¥ë¤Ê¹½Â¤¤Ç¤¢¤ë¡£ *¥í¥Ü¥Ã¥È¤ÎÆ°ºî¡¦¥×¥í¥°¥é¥ß¥ó¥°¤ÎÀâÌÀ [#yb48396e] ¥í¥Ü¥Ã¥È¤Ëµá¤á¤ëÆ°¤¤Ï ¡¦É¬ÍפʳÑÅÙ¤ò²óž¤µ¤»¤ë ¡¦¥Ú¥ó¤Î¾å¤²²¼¤² ¤Î£²¤Ä¤¬¼ç¤È¤Ê¤ë¡£ Á´ÂΤǻȤ¦ÄêµÁ¤È¤·¤ÆSPEED=50¡¢¥â¡¼¥¿¡¼B¡¢C¤ò¤½¤ì¤¾¤ì±¦¡¢º¸¤Î¥¿¥¤¥ä¤ÎÆ°¤¤È¤·¤Æ¹Í¤¨¤ë¡£ º£²ó¤Ïµ÷Î¥¤«¤é¥¿¥¤¥ä¤Î²óž³Ñ¤ò·×»»¤¹¤ëfloat·¿¤Î´Ø¿ô¤ò»È¤Ã¤¿¥×¥í¥°¥é¥ß¥ó¥°¤ò¸µ¤Ë¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤Æ¤¤¤¯¡£ float GetAngle(float d) { const float diameter=5.45;¡¡¡¡¡¡¡¡//¥¿¥¤¥ä¤Îľ·Â(Ñ) const float pi=3.1415;¡¡¡¡¡¡¡¡¡¡¡¡//±ß¼þΨ(¦Ð) float ang = d/(diameter*pi)*360.0;¡¡¡¡//³ÑÅÙ¤ò·×»»¤¹¤ë return ang;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//³ÑÅÙ¤òÊÖ¤¹¡¡ } **¥í¥Ü¥Ã¥È¤ò²óž¤µ¤»¤ë [#q9d8bfe3] ʸ»ú¤ò½ñ¤¯¤¿¤á¤Ë¤Ï¡¢¥í¥Ü¥Ã¥ÈËÜÂΤò²óž¤µ¤»¤ëɬÍפ¬¤¢¤ë¡£¤³¤³¤Ç¤Ï¥Ú¥ó¤Ç½ñ¤¤¤¿Àþ¤ÈÀþ¤ò·Ò¤²¤ë¤¿¤á¤Ë¥¿¥¤¥ä¤òÊÒÊý¤À¤±Æ°¤«¤¹¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Á°¸å¤ÎÆ°¤¤âɬÍפȤʤ롣 ¥¿¥¤¥ä¤È¥¿¥¤¥ä¤ÎŤµ¡Êr¡Ë¤¬10.5ѤǤ¢¤ë¤«¤é¡¢¤³¤ì¤ò¸µ¤Ëfloat·¿¤Î´Ø¿ô¤òÍøÍѤ·¤Æ¥¿¥¤¥ä¤Îé¤ë±ß¼þ¤ÎŤµ¡ÊL=2¦ÐrX/360¡Ëµá¤á¤ë¡£¡ÊX=³ÑÅÙ¡Ë ¤Þ¤¿¡¢¥Ú¥ó¤ò¾å¤²¤¿°ÌÃÖ¤ÈƱ¤¸¾ì½ê¤Ë»ý¤Ã¤Æ¤¤¤¯¤¿¤á¤Ë¡¢¼ÂºÝ¤Ë¥í¥Ü¥Ã¥È¤ò²óž¤µ¤»¡¢½Ä¤È²£¤ÎŤµ¤Îº¹¤òÄ구¤Ç¬¤ê¡¢¤½¤Îº¹¤ò¥í¥Ü¥Ã¥È¤ËÁ°¸å°ÜÆ°¤µ¤»¤ë¡£ ***90ÅÙ²óž [#aca1e640] 90Åٲ󞤵¤»¤ë¤¿¤á¤Î±ß¼þ¤ÎŤµ¤Ï¡¢ L¡á2¡ß3.1415¡ß10.5¡ß90/360¡á16.5Ñ ¤Þ¤¿¡¢90Åٲ󞤷¤¿¸å¤Ë10Ѹå¤í¤Ë²¼¤²¤ë¤È¸µ¤Î¥Ú¥ó¤Î°ÌÃ֤ˤ¤¤¯¡£ #define Ninety GetAngle(16.5) #define Ten GetAngle(10) #define¡¡NBB¡¡RotateMotor(OUT_B,SPEED,Ninety);RotateMotor(OUT_BC,-50,Ten);¡¡¡¡¡¡¡¡//±¦¤Î¥¿¥¤¥ä¤ò16.5ѿʤޤ»¡¢10ÑÌá¤ë¢ª±¦¤Ë90ÅÙ²óž #define¡¡NBC RotateMotor(OUT_C,SPEED,Ninety);RotateMotor(OUT_BC,-50,Ten);¡¡¡¡¡¡¡¡//º¸¤Ë90ÅÙ²óž ***60ÅÙ²óž [#ff4fe7c6] 90ÅÙ²óž¤ÈƱ¤¸¤ä¤êÊý¤Ç¡¢ L=2¡ß3.1415¡ß10.5¡ß60/360¢â10.995Ñ ¤Þ¤¿¡¢3ÑÁ°¤Ë¿Ê¤ó¤À¸å¡¢60Åٲ󞤷¡¢10.494Ѹå¤í¤Ë²¼¤²¤ë¤È¸µ¤Î°ÌÃ֤ˤ¤¤¯¡£ #define Sixty GetAngle(10.995) #define Three RotateMotor(OUT_BC,SPEED,GetAngle(3)); #define SixtyBackB Three;RotateMotor(OUT_B,SPEED,Sixty);RotateMotor(OUT_BC,-50,GetAngle(10.494));¡¡¡¡¡¡¡¡//3ѿʤᡢ±¦¤Î¥¿¥¤¥ä¤ò10.494ѿʤޤ»¤¿¸å¡¢10.494ѸåÊý¤Ø¢ª±¦¤Ë60ÅÙ²óž #define SixtyBackC Three;RotateMotor(OUT_C,SPEED,Sixty);RotateMotor(OUT_BC,-50,GetAngle(10.494));¡¡¡¡¡¡¡¡//º¸¤Ë60ÅÙ²óž ***20ÅÙ²óž [#afd6aa67] 90ÅÙ²óž¤ÈƱ¤¸¤ä¤êÊý¤Ç L=2¡ß3.1415¡ß10.5¡ß20/360¢â3.665Ñ ¤Þ¤¿¡¢5ѿʤó¤À¸å¡¢20Åٲ󞤷¡¢¸å¤í¤Ë6.146¡Ê3.646+2.5¡ËѸå¤í¤Ë²¼¤²¤ë¤È¸µ¤Î°ÌÃ֤ˤ¤¤¯¡£ #define Twenty GetAngle(3.665) #define Five RotateMotor(OUT_BC,SPEED,GetAngle(5)); #define TwoFiveB RotateMotor(OUT_BC,-50,GetAngle(2.5)); #define TwentyBackB Five;RotateMotor(OUT_B,SPEED,Twenty);RotateMotor(OUT_BC,-50,GetAngle(3.646));TwoFiveB;¡¡¡¡¡¡¡¡//5ѿʤᡢ±¦¤Î¥¿¥¤¥ä¤ò3.665ѿʤޤ»¤¿¸å¡¢6.146ѸåÊý¤Ø¢ª±¦¤Ë20ÅÙ²óž #define TwentyBackC Five;RotateMotor(OUT_C,SPEED,Twenty);RotateMotor(OUT_BC,-50,GetAngle(3.646));TwoFiveB;¡¡¡¡¡¡¡¡//º¸¤Ë20ÅÙ²óž **¥Ú¥ó¤ÎÆ°ºî [#x33b61aa] ¤³¤³¤Ç¤ÏÍ£°ìfloat·¿¤Î´Ø¿ô¤ò»È¤ï¤º¤Ë¥â¡¼¥¿¡¼¤Î²óž³ÑÅÙ¤ò»ØÄꤷ¤Æ¥â¡¼¥¿¡¼¤ò²óž¤µ¤»¤ë¤³¤È¤Ç¥Ú¥ó¤Î¾å¤²²¼¤²¤ÎÆ°ºî¤ò¹Ô¤¦¡£ #define UP RotateMotor(OUT_A,SPEED,-50);¡¡¡¡¡¡¡¡//¥Ú¥ó¤ò¾å¤²¤ë #define DOWN RotateMotor(OUT_A,SPEED,50);¡¡¡¡¡¡//¥Ú¥ó¤ò²¼¤²¤ë #ref(2014b/Member/arisyka/Mission1/down up ¥ë¡¼¥×.gif,40%) *»ú¤ò½ñ¤¯ [#h20e4079] **½ñ¤¯½çÈÖ [#o48f3095] ¡Ö¹á¡×¤ò½ñ¤¯¤¿¤á¤Ë¡¢ 1¡¢¡¡Ö½½¡×¤ò½ñ¤¯¢ª¢¡ÖÆü¡×¤ò½ñ¤¯¡Ê¡Ö¸ý¡×¢ª¡Ö°ì¡×¡Ë¢ª£¡ÖȬ¡×¤ò½ñ¤¯¢ª¤¡Ö¥Î¡×¤ò½ñ¤¯ #ref(2014b/Member/arisyka/Mission1/nxc senn 1.2.gif,50%) 2¡¢¡¡Ö¥Î¡×¤ò½ñ¤¯¢ª¢²£Àþ4Ëܤò½ñ¤¯¢ª£½ÄÀþ3Ëܽñ¤¯¢ª¤¡ÖȬ¡×¤ò½ñ¤¯ #ref(2014b/Member/arisyka/Mission1/nxc senn 3.gif,50%) ½çÈÖ¤ò3¤Ä¹Í¤¨¡¢¥×¥í¥°¥é¥ß¥ó¥°¤·¡¢»î¤·¤Æ¤ß¤¿·ë²Ì¡¢2¤ÎÊý¤¬¤Þ¤À¾å¼ê¤¯¤«¤±¤¿¤Î¤Ç2¤Î½ñ¤¯½çÈÖ¤ò¾Ò²ð¤¹¤ë¡£ **¥×¥í¥°¥é¥à [#qc6c67ee] »Ï¤á¤ËŤµ¤òÄêÍý¤·¤Þ¤¹¤¬¡¢Á°¤Ø¿Ê¤àµ÷Î¥¤ò±Ñ¸ì¤Çɽµ¤·¡¢¸å¤í¤Ë¿Ê¤àÆ°¤¤Ï±Ñ¸ì¤Çɽµ¤·¤¿¤¹¤°¸å¤í¤Ë¡ÉBack¡É¤È¤¤¤¦°ÕÌ£¤Ç¡ÖB¡×¤Èɽµ¤·¤Æ¤¢¤ê¤Þ¤¹¡£ #define Two RotateMotor(OUT_BC,SPEED,GetAngle(2));¡¡¡¡¡¡//2ÑÁ°¤Ë¿Ê¤à¡¡ #define TwoFive RotateMotor(OUT_BC,SPEED,GetAngle(2.5));¡¡¡¡//2.5ÑÁ°¤Ë¿Ê¤à¡Ê°Ê²¼Î¬¡Ë #define ThreeFive RotateMotor(OUT_BC,SPEED,GetAngle(3.5)); #define Four RotateMotor(OUT_BC,SPEED,GetAngle(4));¡¡ #define FiveFive RotateMotor(OUT_BC,SPEED,GetAngle(5.5)); #define Six RotateMotor(OUT_BC,SPEED,GetAngle(6)); #define Seven RotateMotor(OUT_BC,SPEED,GetAngle(7)); #define Eight RotateMotor(OUT_BC,SPEED,GetAngle(8)); #define Eleven RotateMotor(OUT_BC,SPEED,GetAngle(11)); #define OneB RotateMotor(OUT_BC,-50,GetAngle(1));¡¡¡¡¡¡//1Ѹå¤í¤Ë¿Ê¤à¡Ê°Ê²¼Î¬¡Ë #define ThreeB RotateMotor(OUT_BC,-50,GetAngle(3)); #define SixB RotateMotor(OUT_BC,-50,GetAngle(6)); -¡Ö¥Î¡×¤ò½ñ¤¯ task main () { Wait(2000); DOWN; Eight;¡¡¡¡¡¡¡¡//¡Ö¥Î¡×¤ò½ñ¤¯ -²£Àþ4ËÜ°ú¤¯ UP; Two; SixtyBackB; Two; NBB; DOWN; Eleven;¡¡//¡Ö½½¡×¤Î¡Ö°ì¡×¤ò½ñ¤¯ UP;¡¡¡¡¡¡ NBC; TwoFive; NBC; Two; DOWN; Seven;¡¡¡¡¡¡//¡ÖÆü¡×¤Î¾å¤Î¡Ö°ì¡×¤ò½ñ¤¯ UP; NBB; Two; NBB; DOWN; Seven;¡¡¡¡¡¡//¡ÖÆü¡×¤Î¿¿¤óÃæ¤Î¡Ö°ì¡×¤ò½ñ¤¯ UP; NBC; Two; NBC; DOWN; Seven;¡¡¡¡¡¡//¡ÖÆü¡×¤Î²¼¤Î¡Ö°ì¡×¤ò½ñ¤¯ UP; -½ÄÀþ3ËÜ°ú¤¯ NBC; DOWN; Four;¡¡¡¡¡¡//¡ÖÆü¡×¤Îº¸¤Î¡Ö¡Ã¡×¤ò½ñ¤¯ UP; NBC; Seven; NBC; DOWN; Four;¡¡¡¡¡¡//¡ÖÆü¡×¤Î±¦¤Î¡Ö¡Ã¡×¤ò½ñ¤¯ UP; NBC; ThreeFive; NBC; Four; TwentyBackC; TwentyBackC; DOWN; Five;¡¡¡¡¡¡//¡Ö½½¡×¤Î¡Ö¡Ã¡×¤ò½ñ¤¯ UP; -¡ÖȬ¡×¤ò½ñ¤¯ ThreeB; OneB; OneB; NBC; Three; NBB; DOWN; RotateMotor(OUT_B,SPEED,Sixty);¡¡¡¡¡¡//10.494Ѥθ̤òÉÁ¤¯¤³¤È¤Ç¡ÖȬ¡×¤òɽ¸½¤¹¤ë UP; } *´¶ÁÛ [#nc23b398]