Ìܼ¡
¡Ö³Æ¼«¤Î½Ð¿ÈÃϤޤ¿¤Ï»á̾¤ÎÃæ¤Î°ìʸ»ú(7²è°Ê¾å)¤òA4ÍÑ»æ¤ÎÃæ¤Ë½ñ¤¯¡×¥í¥Ü¥Ã¥È¤òÀ½ºî¤·¤¿¡£
´°À®¤·¤¿»ú
(º¸:Îý½¬»þ¡¢»æ¤ò¸ÇÄꤷ¤¿¤È¤) (±¦:ȯɽ»þ¡¢»æ¤ò·Ú¤¯²¡¤µ¤¨¤¿¤È¤)
½é´ü¥í¥Ü¥Ã¥È¤Î¸å¤í¤Ë¥Ú¥ó¤ò¤Ä¤±¤¿¹½Â¤¡£¥Ú¥ó¤ÏÎØ¥´¥à¤Ç¸ÇÄꤷ¤Æ¤¢¤ë¡£
¥â¡¼¥¿A¤Ï¥Ú¥ó¤ò»ý¤Ä¥¢¡¼¥à¤Ë¡¢¥â¡¼¥¿B¤Ï±¦¤Î¥¿¥¤¥ä¤Ë¡¢¥â¡¼¥¿C¤Ïº¸¤Î¥¿¥¤¥ä¤Ë¼è¤êÉÕ¤±¤¿¡£
¥Ú¥ó¤Î°ÌÃ֤ϡ¢¥â¡¼¥¿BC¤ÎÃæ´Ö¤È°ìľÀþ¾å¤Ë¤¢¤ë¡£¤³¤ì¤¬¸å¡¹Ìò¤ËΩ¤Ã¤¿¡£
¥µ¡¼¥Ü¥â¡¼¥¿¤È¡¢²óž¿ô¤ò·×»»¤¹¤ë´Ø¿ô¤ò»È¤Ã¤Æ¡¢¡Ö°ÜÆ°µ÷Î¥¡×¤ä¡ÖÊý¸þÊÑ´¹¤¹¤ë³ÑÅ١פò°ú¿ô¤Ë¤È¤ë¥µ¥Ö¥ë¡¼¥Á¥ó¤òºî¤Ã¤¿¡£¤½¤ì¤é¤òÍѤ¤¤Æ¥í¥Ü¥Ã¥È¤ò°ÜÆ°¤µ¤»¤ë¤¿¤á¡¢¥â¡¼¥¿¤ò²ó¤¹Éÿô¤Ï¹Í¤¨¤Ê¤¯¤ÆÎɤ¯¤Ê¤Ã¤¿¡£¥â¡¼¥¿¤Î²óž³ÑÅÙ¤ò»ØÄꤷ¤ÆÆ°¤«¤¹¤Î¤Ç¡¢ÅÅÃӤλÄÎ̤ˤè¤ëÆ°¤¤ÎÊѲ½¤âÍÞ¤¨¤é¤ì¤¿(¤¢¤ëÄøÅÙ)
Êý¸þÊÑ´¹»þ¤Î¥¹¥Ô¡¼¥É¤Ï¡¢¥¿¥¤¥ä¤ÎË໤¤ò¸º¤é¤¹¤³¤È¤Ð¤«¤ê¹Í¤¨¤¿·ë²Ì¡¢100¤Ë¤Ê¤Ã¤¿(¤»¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿)¡£¤³¤Î¤»¤¤¤Ç»æ¤ò¤ª¤µ¤¨¤Ê¤±¤ì¤Ð»ú¤¬½ñ¤±¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
#define SPEED 30 //Á°Å¾¸åž»þ¤Î¥¹¥Ô¡¼¥É #define WRITE_SPEED 20 //»ú¤ò½ñ¤¯¤È¤¤Î¥¹¥Ô¡¼¥É #define TURN_SPEED 100 //Êý¸þÊÑ´¹»þ¤Î¥¹¥Ô¡¼¥É #define PUT_ANGLE 91 //¥Ú¥ó¤ò¾å¤²²¼¤²¤¹¤ë»þ¡¢¥â¡¼¥¿¤¬²óž¤¹¤ë³ÑÅÙ
¥Ú¥ó¤Î¾å¤²²¼¤²¤ò¹Ô¤¦¥Þ¥¯¥í¡Ödown¡×¤È¡Öup¡×¡£¥Ú¥ó¤òÆóÃʳ¬¤Ëʬ¤±¤Æ²¼¤í¤¹¡£°ìÃʳ¬ÌÜ(down1)¤Ç¡Ö»Ä¤ê20ÅÙ¤ÇÀÜÃϤ¹¤ë¡×³ÑÅÙ¤Þ¤ÇÁÇÁ᤯²¼¤í¤·¡¢ÆóÃʳ¬ÌÜ(down2)¤Ç¡Ö»Ä¤ê¤Î20Å١פæ¤Ã¤¯¤ê²¼¤í¤¹¡£¾å¤²¤ë¤È¤(up)¤Ï¡¢ÁÇÁ᤯¡¢°ìµ¤¤Ë°ìÃʳ¬¤Ç¡£
#define down1() RotateMotor(OUT_A,-30,PUT_ANGLE-20) //¥Ú¥ó¤òÁÇÁ᤯²¼¤²¤ë(ÃÏÌ̤ˤϤĤ±¤Ê¤¤) #define down2() RotateMotor(OUT_A,-5,20) //¥Ú¥ó¤ò¤æ¤Ã¤¯¤êÃÏÌ̤ˤĤ±¤ë #define up() RotateMotor(OUT_A,70,PUT_ANGLE); //¥Ú¥ó¤ò¾å¤²¤ë
¡Ömagni¡ß°ÜÆ°µ÷Î¥¡×°ÜÆ°¤¹¤ë¡¢¤È¥×¥í¥°¥é¥à¤¹¤ë¤³¤È¤Ç¡¢¹¥¤¤ÊÂ礤µ¤Çʸ»ú¤ò½ñ¤±¤ë¤è¤¦¤Ë¤¹¤ë¡£
°ÜÆ°¤Ë¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤ò»È¤Ã¤Æ¤¤¤ë¤¿¤á¡¢magni¤ò¤¢¤Á¤³¤Á¤Ë¤Ä¤±¤ëɬÍפÏ̵¤¯¡¢3¤Ä¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ë¤Ä¤±¤ë¤À¤±¤ÇºÑ¤ó¤À¡£
float magni=1.0; //ÇÜΨ¤òÀßÄê Îã:magni=2.0 ¢ª ʸ»ú¤ÎÂ礤µ¤¬2.0ÇÜ
¢«Ê¸»ú¤ÎÇÜΨ¤ò0.5¢ª1.0¢ª1.5¢ª2.0¢ª2.5¤Ë¤·¤¿»þ¤ÎÂ礤µ¤ÎÈæ³Ó
¥¿¥¤¥ä¤Î²óž¿ô¤ò·×»»¤¹¤ë¤¿¤á¤Ë»È¤¦ÊÑ¿ô
float pen_to_center=17.0; //²óž¤ÎÃæ¿´(º¸±¦¤Î¥¿¥¤¥ä¤ÎÃæ´Ö)¤«¤é¥Ú¥ó¤Þ¤Ç¤Îµ÷Î¥ float diameter=5.45; //¥¿¥¤¥ä¤Îľ·Â(cm) float pi=3.1415; //±ß¼þΨ float tire_ang; //¥¿¥¤¥ä¤Î²óž¤¹¤ë³ÑÅÙ(ÊÖ¤êÃÍÍÑ)
¡ÖGetAngle_d¡×... ¿Ê¤ß¤¿¤¤µ÷Î¥(cm)¤«¤é¡¢¥¿¥¤¥ä¤Î²óž¿ô¤ò·×»»¤¹¤ë´Ø¿ô¡Êhttp://yakushi.shinshu-u.ac.jp/robotics-jr/robotics-jr-2013.pdf¤Î31¥Ú¡¼¥¸¤Î¥×¥í¥°¥é¥à¤ò»²¹Í¤Ë¤·¤Þ¤·¤¿¡Ë
float GetAngle_d(float distance) { //¿Ê¤ß¤¿¤¤µ÷Î¥(cm)¡Ödistance¡×¤«¤é¡¢¥¿¥¤¥ä¤Î²óž¿ô¤ò·×»»¤¹¤ë´Ø¿ô tire_ang=(distance)/(diameter*pi)*360.0; //³ÑÅÙ¤ò·×»»¤¹¤ë return tire_ang; //³ÑÅÙ¤òÊÖ¤¹(float·¿) }
¡ÖGetAngle_s¡×... Êý¸þÊÑ´¹¤·¤¿¤¤³ÑÅÙ¤«¤é¡¢¥¿¥¤¥ä¤Î²óž¿ô¤ò·×»»¤¹¤ë´Ø¿ô(http://yakushi.shinshu-u.ac.jp/robotics-jr/robotics-jr-2013.pdf¤Î31¥Ú¡¼¥¸¤Ë¤¢¤ëÎý½¬ÌäÂê62¤ò»²¹Í¤Ë¤·¤Þ¤·¤¿)
float GetAngle_s(float spin_ang) { //Êý¸þÊÑ´¹¤·¤¿¤¤³ÑÅÙ¡Öspin_ang¡×¤«¤é¡¢¥¿¥¤¥ä¤Î²óž¿ô¤ò·×»»¤¹¤ë´Ø¿ô const float spin_dia=11.4; //¥í¥Ü¥Ã¥È¤¬¤½¤Î¾ì¤Ç1¼þ²óž¤·¤¿»þ¤Ë¡¢¥¿¥¤¥ä¤¬ÃÏÌ̤ËÉÁ¤¯±ß¤Îľ·Âspin_dia(cm) //spin_dia...º¸±¦¤Î¥¿¥¤¥ä¤Î´Ö³Ö tire_ang=(spin_dia*spin_ang)/(diameter); //Êý¸þÊÑ´¹¤·¤¿¤¤³ÑÅÙ¤«¤é¡¢¥¿¥¤¥ä¤Î²óž¤¹¤ë³ÑÅÙ¤ò·×»»¤¹¤ë //ÌóʬÁ°¤Î¼°¤Ï tire_ang=(spin_dia*pi*(spin_ang/360.0)*360.0)/(diameter*pi) return tire_ang; //³ÑÅÙ¤òÊÖ¤¹(float·¿) }
¡¦¥µ¥Ö¥ë¡¼¥Á¥ó¡Öforward¡×...»ØÄꤷ¤¿µ÷Î¥(cm)¤À¤±Á°Å¾¤¹¤ë
sub forward(float fwd){ RotateMotorEx(OUT_BC,SPEED,GetAngle_d(fwd)*magni,0,true,true); //fwd(cm)*magni(ÇÜΨ)Á°Å¾ }
¡¦¥µ¥Ö¥ë¡¼¥Á¥ó¡Öreverse¡×...»ØÄꤷ¤¿µ÷Î¥(cm)¤À¤±¸åž¤¹¤ë
sub reverse(float rev) { RotateMotorEx(OUT_BC,-SPEED,GetAngle_d(rev)*magni,0,true,true); //rev(cm)*magni(ÇÜΨ)¸åž }
GetAngle_d¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¡Öforward¡×¡Öreverse¡×¤Ï¡ÖÁ°Å¾¸åž¤¹¤ëµ÷Î¥(cm)¡×¤ò¤½¤Î¤Þ¤Þ°ú¿ô¤Ë¤È¤ë¤³¤È¤¬¤Ç¤¤ë¡£
»ÈÍÑÎã:3.0cm¿Ê¤ß¤¿¤¤¤È¤ ¢ª¡¡forward(3.0)
5.0cm²¼¤¬¤ê¤¿¤¤¤È¤¡¡¢ª¡¡reverse(5.0)
¡¦¥µ¥Ö¥ë¡¼¥Á¥ó¡Öturn¡×...»ØÄꤷ¤¿³ÑÅÙ¥í¥Ü¥Ã¥È¤¬²óž¤¹¤ë
sub turn(float tn,int pl_mi) { //tn(ÅÙ)Êý¸þÊÑ´¹
°ú¿ôpl_mi¤Ï¡¢¥í¥Ü¥Ã¥È¤¬±¦²óž¤¹¤ë¤«º¸²óž¤¹¤ë¤«¤ò·è¤á¤ë¡£
/*pl_mi=1 ¢ª ±¦¤Þ¤ï¤ê¤Ë²óž pl_mi=-1 ¢ª º¸¤Þ¤ï¤ê¤Ë²óž*/
º¸±¦¤Î¥¿¥¤¥ä¤òµÕ¸þ¤¤Ë²ó¤¹¤³¤È¤Ç¡¢¤½¤Î¾ì¤Ç²óž¤¹¤ë¡£
RotateMotorEx(OUT_BC,TURN_SPEED,GetAngle_s(tn),100*pl_mi,true,true); //º¸±¦¤Î¥¿¥¤¥ä¤ÎµÕ¸þ¤¤Ë²ó¤¹¤³¤È¤ÇÊý¸þÊÑ´¹ Off(OUT_BC); Wait(100); }
GetAngle_s¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¡Öturn¡×¤Ï¡Ö²óž¤¹¤ë³ÑÅ١פò¤½¤Î¤Þ¤Þ°ú¿ô¤Ë¤È¤ë¤³¤È¤¬¤Ç¤¤ë¡£
»ÈÍÑÎã:90ÅÙ±¦²óž¤µ¤»¤¿¤¤¤È¤¡¡¢ª¡¡turn(90,1);
¥µ¥Ö¥ë¡¼¥Á¥ó¡Öspin_re¡×... ¥í¥Ü¥Ã¥È¤Î¸þ¤¤òÊѤ¨¤ë¤¬¡¢¥Ú¥ó¤Î°ÌÃÖ¤ÏÊѤ¨¤Ê¤¤
°ú¿ôpl_mi¤Ï¡¢¥í¥Ü¥Ã¥È¤¬±¦²óž¤¹¤ë¤«º¸²óž¤¹¤ë¤«¤ò·è¤á¤ë¡£
°ú¿ôspin_ang¤Ï¡¢Êý¸þÊÑ´¹¤·¤¿¤¤³ÑÅÙ¤ò·è¤á¤ë¡£
sub spin_re(float spin_ang,int pl_mi) { //¡Ö¥Ú¥ó¤òÃæ¿´¤Ë¡¢spin_angÅٲ󞤹¤ë¡×(¤È¤¤ÈƱ¤¸·ë²Ì¤Ë¤Ê¤ë)´Ø¿ô /*±¦¤Ë²óž¤¹¤ë¤È¤...pl_mi=1 º¸¤Ë²óž¤¹¤ë¤È¤...pl_mi=-1*/
¡Ö¥í¥Ü¥Ã¥È¤¬²óž¤¹¤ë»þ¤ËÀ¸¤¸¤ë¸íº¹¡×¤ò½¤Àµ¤¹¤ë¤¿¤á¤Î¡Ögosa1¡×¡Ögosa2¡×
float gosa1=0; //±¦¤Ë²óž¤¹¤ë¤È¤¤Î¸íº¹¡Ögosa1¡× float gosa2=0; //º¸¤Ë²óž¤¹¤ë¤È¤¤Î¸íº¹¡Ögosa2¡× if (pl_mi>0) { //pl_mi>0(±¦¤Ø¤ÎÊý¸þÊÑ´¹¤Î¤È¤) gosa1=0.5; //±¦¤Ø²óž¤¹¤ë¤È¤¤Î¸íº¹¤ò½¤Àµ¤¹¤ë } else { //º¸¤Ø¤ÎÊý¸þÊÑ´¹¤Î¤È¤ gosa2=0.5; //º¸¤Ø²óž¤¹¤ë¤È¤¤Î¸íº¹¤ò½¤Àµ¤¹¤ë }
¼ÂºÝ¤ËÊý¸þÊÑ´¹¤¹¤ëÆ°ºî
RotateMotorEx(OUT_BC,-50,GetAngle_d(pen_to_center-gosa1),0,true,true); //pen_to_center-gosa1(cm)¸åž(gosa¤Ï²óž¤Î»þ¤Î¥º¥ì¤òÄ´À᤹¤ë¤¿¤á) turn(spin_ang,pl_mi); //spin_ang(ÅÙ)²óž RotateMotorEx(OUT_BC,20,GetAngle_d(pen_to_center-gosa2-gosa1),0,true,true); //pen_to_center-gosa2-gosa1(cm)Á°Å¾ }
¡¦Êý¸þÊÑ´¹¤Î¤È¤¡¢¥í¥Ü¥Ã¥È¤Ï¤½¤Î¾ì¤Ç²óž¤¹¤ë¤Î¤Ç¡¢º¸±¦¤Î¥¿¥¤¥ä¤Î´Ö¤Ë²óž¤ÎÃæ¿´¤¬¤¢¤ë¡£
¡¦²óž¤ÎÃæ¿´¤Ç¤Ï¡¢¤¤¤¯¤é²óž¤·¤Æ¤â°ÌÃÖ¤¬ÊѤï¤é¤Ê¤¤¡£
¢ª¥Ú¥ó¤òÆ°¤«¤µ¤º¤Ë¥í¥Ü¥Ã¥È¤Î¸þ¤¤òÊѤ¨¤¿¤¤¤Ê¤é¤Ð
¡¡Ö²óž¤ÎÃæ¿´(º£²ó¤Ïº¸±¦¤Î¥¿¥¤¥ä¤ÎÃæ´Ö)¡×¤ò¡Ö¥Ú¥ó¤Î°ÌÃ֡פޤǰÜÆ°¤µ¤»¤ë
¢¥í¥Ü¥Ã¥È¤ò»ØÄê¤Î³ÑÅٲ󞤵¤»¤ë
£¥Ú¥ó¤ò¡¢¡¤Î¡Ö¥Ú¥ó¤Î°ÌÃ֡פޤǰÜÆ°¤µ¤»¤ë
¤È¤¹¤ì¤Ð¤è¤¤
¡¡Á£¤ò¹Ô¤¦¤È¡¢¡Ö¥Ú¥ó¤òÃæ¿´¤Ë»ØÄê¤Î³ÑÅٲ󞤵¤»¤¿¡×¤È¤¤ÈƱ¤¸·ë²Ì¤¬ÆÀ¤é¤ì¤ë¡£
»ÈÍÑÎã:¥Ú¥ó¤òÃæ¿´¤Ë±¦¤Ë90ÅÙÊý¸þÊÑ´¹ ¢ª spin_re(90,1);
¡Öspin_re¡×¤ÎÀâÌÀ¤Ï¡¢¾¯¤·Ê¬¤«¤ê¤Å¤é¤¤¤È»×¤ï¤ì¤ë¡£¤Ê¤Î¤Ç¡ÖÊý¸þÊÑ´¹¤ÎÆ°ºî¤ò¾Ü¤·¤¯¡×¤Î¹àÌܤǡ¢¼Ì¿¿¤È¤È¤â¤ËÀâÌÀ¤¹¤ë¡£
¥µ¥Ö¥ë¡¼¥Á¥ó¡Öwrite¡×... ¥Ú¥ó¤¬ÃÏÌ̤ˤĤ¤¤¿¾õÂ֤ǡ¢¥í¥Ü¥Ã¥È¤òÁ°¿Ê¤µ¤»¤ë¤³¤È¤Ç»ú¤ò½ñ¤¯
¥Ú¥ó¤òÆóÃʳ¬¤Ëʬ¤±¤Æ²¼¤í¤¹¤Î¤¬ÆÃħ¡£°ìÃʳ¬ÌÜ(down1)¤Ç¤Ï¡Ö¤¢¤È20ÅÙ¤ÇÀÜÃϤ¹¤ë³ÑÅ١פޤÇÁÇÁ᤯²¼¤í¤·¡¢¤½¤³¤Ç0.1ÉÃÄä»ß¤¹¤ë¡£ÆóÃʳ¬ÌÜ(down2)¤Ç¤Ï¡¢¡Ö»Ä¤ê¤Î20Å١פÀ¤±¤æ¤Ã¤¯¤ê¥Ú¥ó¤ò²¼¤í¤¹¡£¥Ú¥ó¤¬ÀÜÃϤ¹¤ë¤È¤¤ËȯÀ¸¤¹¤ëÎϤϡ¢ÆóÃʳ¬ÌܤΡÖ20ÅÙʬ¤æ¤Ã¤¯¤ê²¼¤í¤·¤¿¡×¤È¤¤ÎÎϤÀ¤±¤Ê¤Î¤Ç¡¢¥Ú¥ó¤Ï°ÂÄꤷ¤¿ÀÜÃϤ¬²Äǽ¡£
¥Ú¥óÀÜÃϸ塢»ØÄꤵ¤ì¤¿µ÷Î¥¤À¤±¿Ê¤à(¤³¤Î¤È¤»ú¤ò½ñ¤¯)¡£¤½¤Î¸å¡¢¥Ú¥ó¤ò¾å¤²¤ë¡£¤³¤Î¤È¤¡¢¥Ú¥ó¤òÁÇÁ᤯¡¢°ìµ¤¤Ë(°ìÃʳ¬¤Ç)¾å¤²¤ë¤³¤È¤Ç¡¢ÌµÂ̤ʥ¤¥ó¥¯¤¬»æ¤ËÉÕ¤¯¤Î¤òËɤ°¡£
sub write(float kaku) //¥Ú¥ó¤ÇÀþ¤ò°ú¤¯ { down1(); //¥Ú¥ó¤òÁÇÁ᤯²¼¤²¤ë(ÃÏÌ̤ˤϤĤ±¤Ê¤¤) Wait(100); down2(); //¥Ú¥ó¤ò¤æ¤Ã¤¯¤êÃÏÌ̤ˤĤ±¤ë Wait(10); RotateMotorEx(OUT_BC,WRITE_SPEED,GetAngle_d(kaku)*magni,0,true,true); //WRITE_SPEED¤Î®¤µ¤Çkaku(cm)¿Ê¤à ¢ª kaku(cm)¤ÎÀþ¤ò½ñ¤¯ up(); //¥Ú¥ó¤ò¾å¤²¤ë }
»ÈÍÑÎã:6.0cm¤ÎÀþ¤ò°ú¤¤¿¤¤¤È¤ ¢ª write(6.0);
¡Ö¹â¡×¤Ç¤Ï¡Ö¸ý¡×¤ò2²ó½ñ¤¯¤Î¤Ç¡¢°ì±þ¥µ¥Ö¥ë¡¼¥Á¥ó¤Ë¤·¤¿¡£
sub kuti(float tate, float yoko) //¸ý¤Î»ú¤ò½ñ¤¯ //¸ý¤Î½Ä¤ÎŤµ(tate)¤È¡¢²£¤ÎŤµ(yoko)¤ò°ú¿ô¤Ë¤È¤ë { write(tate); //tate(cm)½ñ¤¯ spin_re(90.0,-1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙº¸²óž write(yoko); //yoko(cm)½ñ¤¯ spin_re(90.0,-1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙº¸²óž write(tate); // ¢¤³¤³¤«¤é¾å¤Î·«¤êÊÖ¤·(repeat¤ò»È¤Ã¤¿¤é¸íº¹¤¬½Ð¤¿) spin_re(90.0,-1); write(yoko); spin_re(90.0,-1); }
»ÈÍÑÎã:½Ä¤ÎŤµ5.0cm¡¢²£¤ÎŤµ10.0cm¤Î¡Ö¸ý¡×¤ò½ñ¤¤¿¤¤¤È¤ ¢ª kuti(5.0,10.0);
¥µ¥Ö¥ë¡¼¥Á¥ó¡Öspin_re¡×¤ò»È¤Ã¤¿¤È¤¡¢¥í¥Ü¥Ã¥È¤¬¼ÂºÝ¤Ë¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¤¹¤ë¤Î¤«¤ÎÀâÌÀ
º£²ó¤Ï¡Ö90ÅÙº¸²óž¤ÎÊý¸þÊÑ´¹¤ò¤¹¤ë¡×¤È¤¤òÎã¤ËÀâÌÀ¤¹¤ë¡£
¡Öspin_re¡×¤Ï¡¢¥í¥Ü¥Ã¥È¤ò²óž¤µ¤»¤Ä¤Ä¡¢¥Ú¥ó¤Î°ÌÃÖ¤òºÇ½é¤ÈƱ¤¸¤Ë¤¹¤ë¤Î¤¬ÌÜŪ
(º¸¼Ì¿¿:²óž¤ÎÃæ¿´¤Î°ÌÃÖ¡¢¥â¡¼¥¿B¤È¥â¡¼¥¿C¤Î´Ö¤Ë¤¢¤ë)
(±¦¼Ì¿¿:¥Ú¥ó¤Î½é´ü°ÌÃÖ)
²óž¤ÎÃæ¿´¤ò¡¢ºÇ½é¥Ú¥ó¤Î¤¢¤Ã¤¿°ÌÃ֤ޤǻý¤Ã¤Æ¤¤¤¯¡£
¤³¤Î¤È¤¼Â¹Ô¤µ¤ì¤¿¥×¥í¥°¥é¥à¢¢
RotateMotorEx(OUT_BC,-50,GetAngle_d(pen_to_center-gosa1),0,true,true); //pen_to_center-gosa1(cm)¸åž(gosa¤Ï²óž¤Î»þ¤Î¥º¥ì¤ò½¤Àµ¤¹¤ë¤¿¤á)
¼ÂºÝ¤ËÊý¸þÊÑ´¹¤·¤¿¤¤³ÑÅÙʬ¡¢²óž¤µ¤»¤ë¡£
¤³¤Î¤È¤¼Â¹Ô¤µ¤ì¤¿¥×¥í¥°¥é¥à¢¢
turn(spin_ang,pl_mi); //spin_ang(ÅÙ)²óž
¥Ú¥ó¤ò¸µ¤Î°ÌÃÖ¤ËÌ᤹¤¿¤á¡¢¡¤Ç²¼¤¬¤Ã¤¿Ê¬¤Îµ÷Î¥¤ò¿Ê¤à¡£
¤³¤Î¤È¤¤Î¥Ú¥ó¤Î°ÌÃ֤ϡ¢ºÇ½é¤Î¥Ú¥ó¤Î°ÌÃÖ¤ÈƱ¤¸¡£
¤³¤Î¤È¤¼Â¹Ô¤µ¤ì¤¿¥×¥í¥°¥é¥à¢¢
RotateMotorEx(OUT_BC,20,GetAngle_d(pen_to_center-gosa2-gosa1),0,true,true); //pen_to_center-gosa2-gosa1(cm)Á°Å¾(gosa¤Ï²óž¤Î»þ¤Î¥º¥ì¤ò½¤Àµ¤¹¤ë¤¿¤á)
¡Ö¥Ú¥ó¤òÃæ¿´¤Ë¤·¤Æ¡¢»ØÄê¤Î³ÑÅٲ󞤵¤»¤¿¤È¤¡×¤ÈƱ¤¸·ë²Ì¤¬ÆÀ¤é¤ì¤ë¡£
task main() { up(); //¥Ú¥ó¤òÃÏÌ̤ˤĤ±¤¿¤Þ¤Þ¥¹¥¿¡¼¥È write(1.0); //£±²èÌÜ(¡Öе¡×¤Î¡Ö|¡×¤ÎÉôʬ)
//£²²èÌܤΰÌÃÖ(¡Öе¡×¤Î¡Ö¡½¡×¤ÎÉôʬ)¤Þ¤Ç°ÜÆ° spin_re(90.0,-1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙº¸²óž reverse(2.0); //2.0(cm)¸åž write(4.0); //£²²èÌÜ(¡Öе¡×¤Î¡Ö¡½¡×¤ÎÉôʬ)
//£³²èÌܡʸý¤ÎÉôʬ¡Ë¤Þ¤Ç°ÜÆ° reverse(3.0); //3.0(cm)¸åž spin_re(90.0,1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙ±¦²óž forward(0.5); //0.5(cm)Á°Å¾ kuti(1.0, 2.25); //¡Ö¸ý¡×¤Î»ú¤ò½ñ¤¯(£´¡¤£µ¡¤£¶²èÌÜ)
//£·²èÌÜ¡Ê¡Ö¹â¡×¤Îº¸²¼¤Î¡Ö|¡×¤ÎÉôʬ¡Ë¤Þ¤Ç°ÜÆ° forward(1.5); //1.5(cm)Á°Å¾ spin_re(90.0,-1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙº¸²óž reverse(1.25); //1.25(cm)¸åž spin_re(90.0,1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙ±¦²óž write(3.0); //£·²èÌÜ¡Ê¡Ö¹â¡×¤Îº¸²¼¤Î¡Ö|¡×¤ÎÉôʬ)
//£¸²èÌÜ(¿¿¤óÃæ¤òÄ̤ë¡Ö°ì¡×¤ÎÉôʬ)¤Þ¤Ç°ÜÆ° reverse(3.0); //3.0(cm)¸åž spin_re(90.0,-1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙº¸²óž write(4.75); //£¸²èÌÜ(¿¿¤óÃæ¤òÄ̤ë¡Ö°ì¡×¤ÎÉôʬ)
//£¹²èÌÜ(±¦²¼¤Î¡Ö|¡×¤ÎÉôʬ)¤Þ¤Ç°ÜÆ° spin_re(90.0,1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙ±¦²óž write(3.0); //£¹²èÌÜ(±¦²¼¤Î¡Ö|¡×¤ÎÉôʬ)
spin_re(90.0,1); //¥í¥Ü¥Ã¥È¤Î¸þ¤¤ò£·²èÌܤΡ֡¼¡×¤ÈÊ¿¹Ô¤Ë¤¹¤ë
//ºÇ¸å¤Î¡Ö¸ý¡×¤ÎÉôʬ¤Þ¤Ç°ÜÆ° forward(3.5); //3.5(cm)Á°Å¾ spin_re(90.0,-1); //¥Ú¥ó¤òÃæ¿´¤Ë90ÅÙº¸²óž reverse(2.5); //2.5(cm)¸åž kuti(1.0, 2.25); //ºÇ¸å¤Î¡Ö¸ý¡×¤ò½ñ¤¯ }
¡¦¥µ¡¼¥Ü¥â¡¼¥¿¤ä¡¢²óž³ÑÅÙ¤ò·×»»¤¹¤ë´Ø¿ô¤ò»È¤Ã¤¿¤³¤È¤Ç¡¢¡Öx¥»¥ó¥Á¿Ê¤à¡×¡Öy¥»¥ó¥Á²¼¤¬¤ë¡×¡ÖzÅÙ¸þ¤¤òÊѤ¨¤ë¡×¤Î¤è¤¦¤ËŤµ¤ä³ÑÅÙ¤ò»ØÄꤷ¤Æ¥í¥Ü¥Ã¥È¤òÆ°¤«¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¥µ¥Ö¥ë¡¼¥Á¥ó¤Î°ú¿ô¤Ë¿Ê¤àµ÷Î¥¤ä²óž¤¹¤ë³ÑÅÙ¤¬½ñ¤¤¤Æ¤¢¤ë¤Î¤Ç¡¢¥×¥í¥°¥é¥à¤ò¸«¤ì¤Ð¡¢¥í¥Ü¥Ã¥È¤¬¤É¤ó¤ÊÆ°¤¤ò¤·¤Æ¤¤¤ë¤Î¤«¤¬¤ï¤«¤ë¡£
¡¦Ê¸»ú¤ÎÇÜΨ¤òÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£¤½¤Î¤ª¤«¤²¤Ç¡¢Ê¸»ú¤¬»æ¤«¤é¤Ï¤ß½Ð¤ë¿´ÇÛ¤¬¾Ã¤¨¤¿¡£
¡¦»æ¤ò¤ª¤µ¤¨¤Ê¤¤¤È»ú¤¬½ñ¤±¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¥¿¥¤¥ä¤ÎË໤¤ò¸º¤é¤¹¤¿¤á¤È¤Ï¤¤¤¨¡¢²óž¥¹¥Ô¡¼¥É100%¤ÏήÀФˤä¤ê²á¤®¤À¤Ã¤¿¡£
¡¦¥×¥í¥°¥é¥à¤¬¤«¤Ê¤êŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£É¬Íװʾå¤Ë¥µ¥Ö¥ë¡¼¥Á¥ó¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥µ¥Ö¥ë¡¼¥Á¥óƱ»Î¤ò¤Þ¤È¤á¤¿¤ê¤·¤Æ¡¢¿ô¤ò¸º¤é¤¹¤Ù¤¤À¤Ã¤¿(Æäˡ¢¡Öturn¡×¤È¡Öspin_re¡×¤Ï¡¢¤Þ¤È¤á¤Æ¤ª¤¯¤Ù¤¤À¤Ã¤¿)
¡¦¥í¥Ü¥Ã¥ÈÀ½ºî¤Ç¤ÏÁ´¤¯¹×¸¥¤Ç¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¼¡²ó¤«¤é¤Ï¹×¸¥¤Ç¤¤ë¤è¤¦¤Ë´èÄ¥¤ê¤¿¤¤¡£