ʸ»ú¤ò½ñ¤¯¥í¥Ü¥Ã¥È¤ÎÀ½ºî¡¢½»¤ó¤À¤³¤È¤Î¤¢¤ëÃÏ̾¤ò£²Ê¸»ú°Ê¾å¡¢£±£°²è°Ê¾å¤ÇA4»æ¤Ë½ñ¤«¤»¤ë¡£»ä¤ÏÀ¾µÜ¤ò½ñ¤«¤»¤ë¤³¤È¤Ë¤·¤¿¡£Ãϸµ°¦¤¬¶¯¤á¤Ê¤Î¤Ç¼ºÇԤϵö¤µ¤ì¤Ê¤¤¡£¡¡
À¾µÜ¤È¤¤¤¦Ê¸»ú¤Ï»Í³Ñ¤ËÆ°¤¯Æ°ºî¤ò¿¤á¤Ë¿Íͤ·¡¢½ÐÍè¤ë¤À¤±°ÜÆ°¤ò¾¯¤Ê¤¯¤·¤¿Æ°ºî¤ò¤¹¤ì¤Ð´Ê°×¤À¤Èͽ¬¡£Á°Ç¯ÅÙ¤ÎÊý¤Îµ½Ò¤ò¸«¤ë¸Â¤êÀè¤Ë¥×¥í¥°¥é¥ß¥ó¥°¤ò½ñ¤²¥¤Ã¤Æ¤¤¤ë°õ¾Ý¤ò¼õ¤±¤¿¤¬¡¢»ä¤Ï°ì²è¤º¤ÄÈùÄ´À°¤·¤Æ´°À®¤µ¤»¤è¤¦¤È¤¤¤¦Êý¿Ë¤òΩ¤Æ¤¿¡£
µ¡¹½£±¤ÏËÜÂΤòÁ°¸å¤¹¤ë¤¿¤á¡¢µ¡¹½£²¤Ï¥Ú¥ó¤ò¾å²¼¤¹¤Ê¤ï¤Á½ñ¤»Ï¤á½ª¤ï¤ê¤òºî¤ë°Ù¤Ë¥é¡¼¥¸¥â¡¼¥¿¡¼¤ò»ÈÍÑ¡£µ¡¹½£³¤Ï¥Ú¥ó¤òº¸±¦¤ËÆ°¤«¤¹¤¿¤á¤Ë¥ß¥Ç¥£¥¢¥à¥â¡¼¥¿¡¼¤ò»ÈÍÑ¡£
¥â¡¼¥¿¡¼¤Î¶îÆ°¤Ërun_to_rel_pos¤È¤¤¤¦·è¤á¤é¤ì¤¿³ÑÅÙ¤À¤±²ó¤¹¤È¤¤¤¦¥á¥½¥Ã¥É¤ò»ÈÍÑ¡¢¤³¤Î¤ª¤«¤²¤ÇÊÑ¿ô¤¬£±¤Ä¤Ê¤Î¤Ç°ì²è¤º¤Ä½ñ¤¤¤Æ¤¤¤¯¤ä¤êÊý¤¬¥Þ¥Ã¥Á¤·¤Æ¤¤¤¿¡£
¥é¡¼¥¸¥â¡¼¥¿¡¼¤ÇËÜÂΤòÆ°¤«¤¹¥·¥ó¥×¥ë¤Êµ¡¹½¤Ç¤¢¤ë¡£¤³¤³¤ÎÆ°¤¤¬¤â¤Ã¤È¤â¥Ú¥ó¤ÎÀþ¤ò¤Þ¤Ã¤¹¤°°ú¤±¤ë¡£
¥Ú¥ó¤ò¾å²¼¤¹¤Ê¤ï¤Á½ñ¤»Ï¤á½ª¤ï¤ê¤òºî¤ë°Ù¤Ë¥é¡¼¥¸¥â¡¼¥¿¡¼¤ò»ÈÍÑ¡¢µ¡ÂΣ³¤ÈϢư¤µ¤»¤ë¤¿¤á¤Ë·ë¹çÉôʬ¤Ë¤Ïµ¤¤ò¸¯¤Ã¤¿¡£»Ù¤¨¤é¤ì¤ë¤®¤ê¤®¤ê¤Î½Å¤µ¤Ê¤Î¤Ç½Å¤¤¥Ú¥ó¤Ï»ÈÍѤǤ¤Ê¤¤¤À¤í¤¦¡£
¥ß¥Ç¥£¥¢¥à¥â¡¼¥¿¡¼¤Ç¥Ú¥ó¤òº¸±¦¤ËÍɤ餹¡£¤³¤ÎºÝÀßÃÖ¤·¤¿¥Ú¥ó¤ò´¬¤¹þ¤Þ¤Ê¤¤¤è¤¦Ãí°Õ¤¹¤ëɬÍפ¢¤ê¡£Ã±½ã¤Ë¤«¤Ã¤³¤è¤¤¤«¤é¤È¥¥ã¥¿¥Ô¥éµÚ¤Ó̵¸Âµ°Æ»¤òºÎÍѤ·¤¿¤¬¤³¤³¤¬º£²ó¤Î°ìÈ֤ε´Ìç¤À¤Ã¤¿¡£Íýͳ¤Ï¸å½Ò¤¹¤ë¡£
²óž³ÑÅÙ¤ÈŤµ¤Î´Ø·¸¤¬½Ä180¢ª13Ñ¡¡²£360¢ª13Ñ¡Ê180¤ä360¤Ïrun_to_rel_pos¤Îposition_sp¤ËÆþ¤ì¤ëÃ͡ˤǤ¢¤ë¤³¤È¤òÁêÊý¤¬Ä´¤Ù¤Æ¤¯¤ì¤Æ¤¤¤¿¤¬°ì²è°ì²è½ñ¤¤¤Æ¤¤¤¯Êý¿Ë¤Ê¤Î¤Ç¤½¤³¤Ï¤¢¤Þ¤ê¤¤Ë¤·¤Ê¤«¤Ã¤¿¡£º¬µ¤¤Îºî¶È¤Ç¤¢¤ë¡£ÀµÄ¾¤³¤³¤Ç½ñ¤±¤ë¤Û¤É¤Îµ²±¤Ï¤Ê¤¤¡£Å°Ìë¤Ç¤Îºî¶È¤À¤Ã¤¿¤Î¤Ç¤¢¤ë¡£¤È¤ê¤¢¤¨¤º°Õ¼±¤·¤Æ¤¤¤¿¤Î¤Ï̵Â̤Τʤ¤Æ°¤¡¢¤Ä¤Þ¤ê¤Ï½ñ¤½ç¤È¥×¥í¥°¥é¥à¤¬½ñ¤¤ä¤¹¤¤¤è¤¦¤Ë¥Ô¥ó¥¯¤Î¿§¤ÎÀþ¤Ï¹â¤µ¤ò¤½¤í¤¨¤¿¡£¸å¤Ï¤Ò¤¿¤¹¤éÈùÄ´À°¤Ç¤¢¤ë¡£
EV3¤ò°·¤Ã¤Æ¤ª¤ê¥×¥í¥°¥é¥ß¥ó¥°¤ËTera Term¤È¤¤¤¦¥½¥Õ¥È¤«¤éPython¤È¤¤¤¦¸À¸ì¤òÍѤ¤¤¿¡£
yoko = MediumMotor('outB')¡¡ tate = LargeMotor('outA') mae = LargeMotor('outD' )¡¡
¥â¡¼¥¿¡¼¤Ë̾Á°¤ò¤Ä¤±¤Æ¤¤¤¯¡£
def orosu(): tate.run_to_rel_pos(position_sp=-90, speed_sp=300, stop_action='brake') def ageru(): tate.run_to_rel_pos(position_sp=90, speed_sp=300, stop_action='brake') def migi(a): yoko.run_to_rel_pos(position_sp=-a, speed_sp=300, stop_action='brake') def hidari(b): yoko.run_to_rel_pos(position_sp=b, speed_sp=300, stop_action='brake') def susumu(c): mae.run_to_rel_pos(position_sp=-c, speed_sp=200, stop_action='brake') def sagaru(d): mae.run_to_rel_pos(position_sp=d, speed_sp=200, stop_action='brake')
def¤ò»È¤Ã¤ÆÄêµÁ¤·¤ÆÄ´Àᤷ¤ä¤¹¤¯¡¢¸«¤ä¤¹¤¯¤¹¤ë¡£ ´ðËÜŪ¤Ê¥×¥í¥°¥é¥à¤òÄêµÁ¤·¤Æ¤ª¤¯¤³¤È¤Ç¤«¤Ê¤ê¤½¤Î¸å³Ú¤Ë¤Ê¤ë¡£position_sp¤ÎÃͤ˴ؿô¤òƳÆþ¡£¤³¤³¤Ë¤¢¤È¤«¤éabcd¤òÂåÆþ¤·¤Æ¤¤¤¯Êý¼°¤Ç¤¢¤ë¡£¡¡
¼ÂºÝ¤ËÆ°ºî¤µ¤»¤¿¥×¥í¥°¥é¥à¤Ï°Ê²¼¤Ç¤¢¤ë¡£¡¡
#!/usr/bin/env python3 from ev3dev.ev3 import * from time import sleep
yoko = MediumMotor('outB') tate = LargeMotor('outA') mae = LargeMotor('outD') def orosu(): tate.run_to_rel_pos(position_sp=-90, speed_sp=300, stop_action='brake') def ageru(): tate.run_to_rel_pos(position_sp=90, speed_sp=300, stop_action='brake') def migi(a): yoko.run_to_rel_pos(position_sp=-a, speed_sp=300, stop_action='brake') def hidari(b): yoko.run_to_rel_pos(position_sp=b, speed_sp=300, stop_action='brake') def susumu(c): mae.run_to_rel_pos(position_sp=c, speed_sp=200, stop_action='brake') def sagaru(d): mae.run_to_rel_pos(position_sp=-d, speed_sp=200, stop_action='brake')
ƳÆþ¤ÈÄêµÁ¤Ç¤¢¤ë¡£
½ñ¤¤¤Æ¤¤¤ëÆ°ºî¤ò¿Þ¤ÇÀâÌÀ¤¹¤ë¡£
orosu() sleep(3) susumu(165)
£´¤ò½ñ¤¯
sleep(3) migi(180) sleep(3) sagaru(165) sleep(3) hidari(180) sleep(3)
£±¤Þ¤Ç¤½¤Î¤Þ¤Þ½ñ¤¯
ageru() migi(240) sleep(3) orosu() sleep(3) susumu(165)
É®¤ò¤¢¤²¤Æ£²¤ÎºÇ½é¤Þ¤Ç°ÜÆ°¡¢£²¤ò½ñ¤¯¡£
sleep(3) ageru() sleep(3) sagaru(85) sleep(3) orosu() sleep(3) sagaru(80) hidari(225) sleep(3)
£³¤ò½ñ¤¯¡¢¼Ð¤á¤ò¤«¤¯¤Î¤ÏÈó¾ï¤ËÆñµ·¤À¤Ã¤¿¡£
ageru() migi(225) susumu(95) sleep(3) orosu() sleep(3) hidari(155) sleep(3) susumu(70) sleep(3) ageru() migi(90) sleep(3)
£´¤ò½ñ¤¡¢¤³¤³¤ÇÀ¾¤ò½ñ¤½ª¤¨¤ë¡£
susumu(30) sleep(3) orosu() sleep(3) migi(50) sleep(3) susumu(175) sleep(3) hidari(50) sagaru(10) sleep(3) ageru()
£µ¤ò½ñ¤¯
sagaru(47.5) sleep(3) orosu() sleep(3) hidari(50) sleep(3) sagaru(50) sleep(3) migi(50) sleep(3) susumu(40) sleep(3) ageru()
£¶¤ò°ì¼þ¤·¤Æ½ñ¤¾å¤²¤ë
sagaru(20) sleep(3) sleep(3) orosu() sleep(3) migi(40) sleep(3) ageru()
£·¤ò½ñ¤¯
sleep(3) hidari(140) sleep(3) orosu() sleep(3) sagaru(30) hidari(20) sleep(3) sagaru(20) sleep(3) hidari(110) sleep(3) susumu(100) sleep(3) migi(110) sleep(3) sagaru(100) sleep(3) ageru()
£¸¤ò½ñ¤¤¤Æ´°À®¤Ç¤¢¤ë¡£
»£±Æ¤·¤Æ¤¤¤¿¤Î¤ÇÆ°²è¤ò¸ÂÄê¸ø³«¤¹¤ë¡£ https://youtu.be/-clGInIQXc8¡¡
¥Ú¥ó¤ò»ý¤Á¾å¤²¤ëÎϤ¬¼å¤¤¤Î¤«¡¢ÁêÊý¤ÏÂç¾æÉפÀ¤Ã¤¿¤¬¥Ú¥óÀ褬¤¿¤ë¤à¥Ú¥ó¤À¤È¤¦¤Þ¤¯¥Ú¥ó¤¬¤¢¤¬¤é¤Ê¤«¤Ã¤¿¤ê¤·¤¿¡£¥¥ã¥¿¥Ô¥é¤òÍѤ¤¤¿Éôʬ¤¬Èó¾ï¤ËÉÔµ¬Â§¤¹¤Ê¤Ï¤Á¥¬¥¿¥¬¥¿¤ËÆ°¤¤¤Æµ´Ìç¤À¤Ã¤¿¡£¤³¤ì¤Ï¾¯¤·¹Í¤¨¤ì¤Ðͽ¬½ÐÍ褿¤Î¤ÇÈ¿¾ÊÅÀ¤È¤·¤Æ¤ÎÅÀ¤Ï¹â¤¤¡£¥¥ã¥¿¥Ô¥é¤ÎÉÔµ¬Â§¤µ¤òÀ©¸æ¤·¤ÆåºÎï¤Êʸ»ú¤ò¤«¤¯¤Î¤ÏÈó¾ï¤Ë¤¤Ä¤«¤Ã¤¿¡£¤¢¤È¤¤Á¤ó¤È¥×¥í¥°¥é¥àÄ̤ê¤ËÆ°¤«¤Ê¤¤ÌäÂ꤬ȯÀ¸¤·¤¿¤È¤¡¢ÌäÂêÅÀ¤òȯ¸«½ÐÍè¤Ê¤«¤Ã¤¿¤Î¤ÏÈ¿¾ÊÅÀ¤Ç¤¢¤ë¡£run_to_rel_pos"¡¢¥á¥½¥Ã¥É¤Ï¥í¥Ü¥Ã¥È¤¬»×¤¦º£¤Î°ÌÃÖ¤«¤é»ØÄꤷ¤¿³ÑÅ٤ޤDz󤹤Ȥ¤¤¦¤â¤Î¤Ç¤¢¤í¤¦¤«¡£"run_to_rel_pos"¤ÎÁ°¤Ë¥â¡¼¥¿¡¼¤ò¥ê¥»¥Ã¥È¤¹¤ë¡¢"run_to_abs_pos"¤ò»È¤¦¡¢¼êÆ°¤ÇÌᤷ¤¿¸å¤Ë¥í¥Ü¥Ã¥È¤È¤Ä¤Ê¤®¤Ê¤ª¤¹¤Ê¤É¤¬²ò·èºö¤Ç¤¢¤ë¡£
½é¤á¤Æ¤Î¥í¥Ü¥Ã¥È¤ÎÀß·×¤È¥×¥í¥°¥é¥ß¥ó¥°¤Ç¡¢º¤Æñ¤Ï¿¡¹¤¢¤ê¡£¤½¤ì¤È»þ´Ö¤ËÈæÎ㤷¤ÆÂ礤ÊãÀ®´¶¤â¤¢¤Ã¤¿¡£¤³¤Î²ÝÂê¤òÄ̤·µ¡ÂÎÀ½ºî¡¢¥×¥í¥°¥é¥ß¥ó¥°¤ÎÃμ±¤ä¤½¤ì¤ÎÉéô¶ìǺ¡¢¤½¤ì¤ò²ò·è¤¹¤ëµ¤»ý¤Á¤è¤µ¤ò¾¯¤·¤Ç¤âÌ£¤ï¤¨¤¿¤È´¶¤¸¤ë¡£¤³¤ì¤¬¾Íè¥×¥í¥°¥é¥Þ¡¼¤Ë¤Ê¤ëÎȤˤʤ俤À¤í¤¦¡£³Ú¤·¤«¤Ã¤¿