º£²ó¤Î²ÝÂê¤Ï¤³¤ì¤Þ¤Ç½»¤ó¤À¤³¤È¤Î¤¢¤ëÍÍ¡¹¤ÊÃÏ̾¤ÎÃ椫¤é2ʸ»ú°Ê¾å¤Î¤â¤Î¤òÁª¤Ó¡¢¤½¤ì¤òA4¤Î»æ¤Ë½ñ¤¯¥í¥Ü¥Ã¥È¤òºî¤ë¤³¤È¤Ç¤·¤¿¡£Ãí°ÕÅÀ¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¡¢
¤Ç¤·¤¿¡£¤½¤³¤ÇËͤÏÂç³Ø¤ËÍè¤ë¤Þ¤Ç½»¤ó¤Ç¤¤¤¿¡ÖÅìµþ¡×¤ò½ñ¤¯¤³¤È¤Ë¤·¤Þ¤·¤¿¡£¤³¤Î´Á»ú¤òÁª¤ó¤ÀÍýͳ¤Ï¸å½Ò¤·¤Þ¤¹¡£
½ñÆ»¥í¥Ü¥Ã¥È¤Ë¤ÏÂ礤¯¤¤¤¯¤Ä¼ïÎब¤¢¤ê¤Þ¤·¤¿¤¬¡¢¥×¥í¥°¥é¥à¤Ï½éÄ©Àï¤À¤Ã¤¿¤Î¤Ç¡¢À½ºî¤ÏÆñ¤·¤¤¤¬¥×¥í¥°¥é¥à¤¬Èæ³ÓŪ´Êñ¤Ç¤¤ì¤¤¤Êʸ»ú¤¬½ñ¤¤ä¤¹¤¤¤È¤¤¤ï¤ì¤ë¡Öxy¼´·¿¡×¤Î¥í¥Ü¥Ã¥È¤òÀ½ºî¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¡¡¡¡¡Ê²ÝÂê¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤Ïhttp://yakushi.shinshu-u.ac.jp/robotics/?2018a%2FMission1¤ò»²¾È²¼¤µ¤¤¡Ë
Ëͤ¿¤Á¤Ï¤³¤Î¥í¥Ü¥Ã¥È¤Ë¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡ÉSTRIDE ¡É
¤È̾ÉÕ¤±¤Þ¤·¤¿¡£stride¤Ï'ïèÊ⤹¤ë'¤ò°ÕÌ£¤¹¤ë¸ÀÍÕ¤ÇÍÑ»æ¤Î¾å¤ò½Ä²£Ìµ¿Ô¤ËÆ°¤¤¤ÆÍߤ·¤¤¤È¤¤¤¦»×¤¤¤ò¹þ¤á¤Þ¤·¤¿¡£
¡¡¡¡¡¡ÁêÊý(Maedak)¤Ë½ñ¤¤¤Æ¤¢¤ë¤Î¤Ï¥¦¥½¤Ç¤¹¤è¡¢´èÄ¥¤Ã¤Æ¿´¹þ¤á¤Æ̾ÉÕ¤±¤Þ¤·¤¿¤è¡¢·è¤·¤Æ¤½¤ó¤Ê¥Æ¥¥È¥¦¤¸¤ã¤Ê¤¤¤Ç¤¹¤è¡¢¥Û¥ó¥È¥Ç¥¹¥è.......
¤³¤Î¥í¥Ü¥Ã¥È¤Ë¤Ï¼ç¤Ë£³¤Ä¤Î¶îÆ°·Ï¤Ëʬ¤±¤é¤ì¤Þ¤¹¡£
¡¼ÀÖ¤Ù¤³¥Ø¥Ã¥É¡¼
¥Ú¥ó¤Î¾å¤²²¼¤²¤ò¤¹¤ëµ¡¹½¤Ç¤¹¡£Æ°¤¤¬ÀÖ¤Ù¤³¡Ê²ñÄż㾾¤Î¶¿ÅÚ´á¶ñ¡Ë¤Ë»÷¤Æ¤¤¤ë¤¿¤á¤³¤¦Ì¾ÉÕ¤±¤Þ¤·¤¿¡£
¡¼üú¼´·ÏÅý¡¼¡¡¡¡
A4¤ÎÍÑ»æ¤ò½Ä¤ËÃÖ¤¤¤¿¤È¤¤Î²£¸þ¤¤ËÀÖ¤Ù¤³¥Ø¥Ã¥É¤òÆ°¤«¤¹¤¿¤á¤Îµ¡¹½¤Ç¤¹¡£
¡¼£Ù¼´·ÏÅý¡¼
A4¤ÎÍÑ»æ¤ò½Ä¤ËÃÖ¤¤¤¿¤È¤¤Î½Ä¸þ¤¤Ë¶íÂÎËÜÂΤòÆ°¤«¤¹¤¿¤á¤Îµ¡¹½¤Ç¤¹¡£
ÀÖ¤Ù¤³¥Ø¥Ã¥É¤Îµ¡¹½¤Ï¿®ÍêÀ¤ò½Å»ë¤·¥Þ¥Ë¥å¥¢¥ë¤Ë¤¢¤ë´û¸¤Îµ¡¹½¤òήÍѤ·¤Æ¤¤¤Þ¤¹¡£¡Ê¼Ì¿¿¡¡¤¢-1»²¾È¡Ë¤Þ¤º¥ß¥Ç¥£¥¢¥à¥â¡¼¥¿¡¼¤ËÀܳ¤µ¤ì¤¿½½»ú¾õ¤ÎÉôÉÊ¡Ê¥ª¥ì¥ó¥¸¿§¤ÎÌð°õ¡Ë¤¬²óž¤·¤Þ¤¹¡£¤¹¤ë¤Èľ³Ñ¤ËÀܳ¤µ¤ì¤¿Æ±¤¸½½»ú¾õ¤ÎÉôÉʤ¬²óž¤·¡ÊÎ理ÎÌð°õ¡Ë¤½¤ì¤Ë¤è¤Ã¤Æ¥¢¡¼¥à¤¬¾å²¼¤·¤Þ¤¹¡£¡Ê¼Ì¿¿¤¢-2¡Ë
¤Þ¤¿ÀÖ¤Ù¤³¥Ø¥Ã¥É¤òºî¤ëºÝ¤ÏEV3¤ËÎØ¥´¥à¤¬Éí°¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤¿¤á¥Ú¥ó¤ò¸ÇÄꤹ¤ë¤Î¤Ë¶ìÏ«¤·¤Þ¤·¤¿¡£¤½¤³¤Ç¥´¥à¤Î¤Ä¤¤¤¿¥¿¥¤¥ä¤ò³ê¤ê»ß¤á¤È¤¹¤ë¤³¤È¤Ç¥Ú¥ó¤ò¸ÇÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£Éû»ºÊª¤È¤·¤Æ¤³¤Î¥¿¥¤¥äÉôʬ¤ò²óž¤µ¤»¤ë¤³¤È¤Ç¥Ú¥ó¤òÈùÄ´À°¤¹¤ë¤³¤È¤¬¤Ç¤°Ê³°¤ËÌòΩ¤Á¤Þ¤·¤¿¡£
STRIDE¤Îüú¼´·ÏÅý¤Ï¥Þ¥¸¥Ã¥¯¥¢¡¼¥à¤È¤½¤ì¤ò»Ù¤¨¤ë¥ì¡¼¥ë¤«¤éÀ®¤êΩ¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Þ¤º¥Þ¥¸¥Ã¥¯¥¢¡¼¥à¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£üú¼´·ÏÅý¤Ï£Ù¼´·ÏÅý¤Î¾å¤Ë¾è¤Ã¤Æ¤ª¤ê£Ù¼´·ÏÅý¦¤Ë¥â¡¼¥¿¡¼¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¥â¡¼¥¿¡¼¤Ë¤Ï£´¤Ä¤Î»õ¼Ö¤¬Àܳ¤·¤Æ¤ª¤ê¡¢¥â¡¼¥¿¡¼¤¬²óž¤¹¤ë¤Èξü¤Î¥â¡¼¥¿¡¼¤¬¸ß¤¤¤ËµÕ¸þ¤¤Ë²óž¤·¤Þ¤¹¡£¤³¤Îξü¤Î»õ¼Ö¤Ë¥Þ¥¸¥Ã¥¯¥¢¡¼¥à¤Îü¤ò¸ÇÄꤹ¤ë¤³¤È¤Ç¥â¡¼¥¿¡¼¤Î²óž±¿Æ°¤òÊ¿¹Ô±¿Æ°¤ËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¡£¡Ê¼Ì¿¿¡¡X-1,2¡Ë¼Ì¿¿¤ò¸«¤Æ¤¤¤¿¤À¤±¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤Îüú¼´·ÏÅý¤Ï¥¸¥ã¥Ð¥é¾õ¤ËÁȤó¤À¹üÁȤߤ¬¿½Ì¤¹¤ë¤³¤È¤ÇÀÖ¤Ù¤³¥Ø¥Ã¥É¤òÆ°¤«¤·¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¤³¤Î¥¢¡¼¥à¤Ï¤Ç¤¤ë¤À¤±°ì¤Ä¤Î¹üÁȤߤòÂ礤¯¤·¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï»îºî¤·¤¿ºÝ»È¤¦ÉôÉʤοô¤¬Áý¤¨¤ë¤Û¤É¥â¡¼¥¿¡¼¤ÎÆ°¤¤ËÂФ·¤Æ¸íº¹¤¬Â礤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¤Ç¤¹¡£
¼¡¤Ë¥ì¡¼¥ë¤Ë´Ø¤·¤Æ¤Ç¤¹¡£¥ì¡¼¥ë¤Ï¥¢¡¼¥à¤È¤ÏÊ̤ˤʤäƤª¤ê£Ù¼´·ÏÅý¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥ì¡¼¥ë¤Ë¤Ï¥¢¡¼¥à¤¬£Ù¼´¤ËÂФ·¤¤Á¤ó¤Èľ³Ñ¤Ë°ÜÆ°¤¹¤ë¤¿¤á¤Î¥¬¥¤¥É¤È¤·¤Æ¤ÎÌò³ä¤Î¤¬¤¢¤ê¤Þ¤¹¡£ÀÖ¤Ù¤³¥Ø¥Ã¥É¤Î²¼¤Ë¤ÏĹºÙ¤¤ÉôÉʤ¬Èô¤Ó½Ð¤Æ¤ª¤ê¡Ê¼Ì¿¿X-3 ¥ª¥ì¥ó¥¸¤Î´Ý¡Ë¡¢¤³¤ì¤¬¥ì¡¼¥ë¤ËÁȤ߹ç¤ï¤µ¤ë¤³¤È¤ÇÀÖ¤Ù¤³¥Ø¥Ã¥É¤Î°ÜÆ°Êý¸þ¤È¥Ú¥ó¤Î¸þ¤¤¬¸ÇÄꤵ¤ì¤Þ¤¹¡£¤Þ¤¿ºÇ½é¤Ï£²ËܤΥ졼¥ë¤ÎÀܳ¤Ï¥ì¡¼¥ë¤Î£±Ãʲ¼¤Ç¹Ô¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡ÊÀÖ¿§Éô¡ËÀÖ¤Ù¤³¤ÎÆ͵¯¤¬°ú¤Ã¤«¤«¤Ã¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¥ì¡¼¥ë¤Î£²Ãʲ¼¡Ê²«¿§Éô¡Ë¤ÇÀܳ¤µ¤»¤Æ¤¤¤Þ¤¹¡Ê¼Ì¿¿¡¡X-R1¡Ë ¤Þ¤¿¡¢¥ì¡¼¥ë¤Ë¤Ï¥¿¥¤¥ä¤¬¤Ä¤¤¤Æ¤ª¤ê½Å¤¿¤¤ÀÖ¤Ù¤³¥Ø¥Ã¥É¤ò»Ù¤¨¤ëÌò³ä¤â¤¢¤ê¤Þ¤¹¡£¡Ê¼Ì¿¿¡¡X-R2¡ËºÇ½é¤Ï¥ì¡¼¥ë¤¬¤Ê¤¯¡¢¥¿¥¤¥ä¤Ï¼«Í³¤Ë¸þ¤¤òÊѤ¨¤ì¤ë¤è¤¦¤Ë¤·¤¿¤¦¤¨¤ÇÀÖ¤Ù¤³¥Ø¥Ã¥É¤ËľÀÜÀܳ¤·¤Æ¤¤¤Þ¤·¤¿¤¬¥¿¥¤¥ä¤Î¸þ¤¤¬¤¦¤Þ¤¯ÊѤï¤é¤Ê¤«¤Ã¤¿¤¿¤áÀÖ¤Ù¤³¥Ø¥Ã¥É¤ò°ÜÆ°¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ºº£¤Î·Á¤Ë½¤Àµ¤·¤Þ¤·¤¿¡£
£Ù¼´·ÏÅý¤Ï°ì¤Ä¥é¡¼¥¸¥â¡¼¥¿¡¼¤ÇƱ¼´¤Î£²¤Ä¤Î¥¿¥¤¥ä¤ò²óž¤µ¤»½ÄÊý¸þ¤Ë¹Ô¤Í褹¤ë¤À¤±¤Î¤¤¤¿¤Ã¤Æ¥·¥ó¥×¥ë¤Êµ¡¹½¤Ç¤¹¡£¤Á¤Ê¤ß¤Ëüú¼´·ÏÅý¤Î¥ì¡¼¥ë¤Ë¤Ä¤¤¤Æ¤¤¤ë¥¿¥¤¥ä¤â£Ù¼´·ÏÅý¤Î¥¿¥¤¥ä¤ÈƱ¤¸¸þ¤¤Ë¸ÇÄꤵ¤ì¤Æ¤ª¤ê¡¢¥ì¡¼¥ë¤ò»Ù¤¨¤Æ¤¤¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤òÁȤà¤Ë¤¢¤¿¤Ã¤Æ¤Þ¤º½é¤á¤Ë¥í¥Ü¥Ã¥È¤Ç½ñ¤¯Ê¸»ú¤ò¸¡Æ¤¤·¤Þ¤·¤¿¡£ºÇ½é¤Ï²è¿ô¤«¾¯¤Ê¤¯Èæ³ÓŪ¥·¥ó¥×¥ë¤Ç¤¢¤Ã¤¿¡Ö´¢Ã«¡×¤ò½ñ¤³¤¦¤È¤·¤Þ¤·¤¿¡£¤·¤«¤·üú¼´¤ò¥Þ¥¸¥Ã¥¯¥¢¡¼¥à¤ÇÆ°¤«¤¹STRIDE¤ÎÆÃÀ¾å¡¢üú¼´°ÜÆ°¤Î¥¹¥Ô¡¼¥É¤ò¶ÑÅù¤Ë¤¹¤ë¤³¤È¤¬¤¦¤Þ¤¯¤¤¤«¤º¼Ð¤á¤ÎÀþ¤¬¶Ê¤¬¤Ã¤Æ¤·¤Þ¤¤¤¦¤Þ¤¯½ñ¤±¤Þ¤»¤ó¤Ç¤·¤¿¡Ê²¼¼Ì¿¿ ¥ª¥ì¥ó¥¸¤Ç°Ï¤ó¤ÀÉôʬ¡Ë¡£¤½¤³¤ÇºÇ½ªÅª¤Ë¡¢²è¿ô¤Ï¿¤¤¤¬¼Ð¤á¤ÎÀþ¤¬¾¯¤Ê¤¤¡ÖÅìµþ¡×¤ò¤«¤¯¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¼¡¤Ë½ñ¤½ç¤ò¸¡Æ¤¤·¤Þ¤·¤¿¡£¡Ö´¢Ã«¡×¤ò½ñ¤³¤¦¤È¤·¤¿ºÝ¡¢²¼¤«¤é¾å¤Ø½ñ¤³¤¦¤È¤¹¤ë¤È¥Ú¥óÀ褬»æ¤Ë°ú¤Ã¤«¤«¤ê¤½¤³¤ò¼´¤Ë²ó¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬²ò¤ê¤Þ¤·¤¿¡£¤½¤ì¤òƧ¤Þ¤¨¤Æ¹Í¤¨¤ë¤È¿Í´Ö¤¬½ñ¤¯½ñ¤½ç¤Ï¥í¥Ü¥Ã¥È¤Ë¤È¤Ã¤Æ¤â½ñ¤¤ä¤¹¤¤¤â¤Î¤Ç¤¢¤ë¤³¤È¤Ëµ¤¤¬ÉÕ¤¤¤¿¤Î¤Ç¡¢½ñ¤½çÄ̤ê¤Ë½ñ¤¯¤³¤È¤Ë·è¤á¤Þ¤·¤¿¡£
»²¹Í
¤Þ¤º¼¡¤Îʸ¾Ï¤ò¥×¥í¥°¥é¥à¤·¤Þ¤·¤¿¡£ÀâÌÀ¤Ï¾Êά¤·¤Þ¤¹¡£
#!/usr/bin/env python3 from ev3dev.ev3 import * from time import sleep
¤½¤ì¤¾¤ì¤Îü»Ò¤ËÀܳ¤·¤Æ¤¤¤ë¥â¡¼¥¿¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¤Þ¤¹¡£mX¤Ïüú¼´·ÏÅý¡¢mY¤Ï£Ù¼´·ÏÅý¡¢mM¤ÏÀÖ¤Ù¤³¥Ø¥Ã¥É¤ËÀܳ¤·¤¿¥â¡¼¥¿¡¼¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£
mX = LargeMotor('outA')¡¡¡¡¡¡¡¡ mY = LargeMotor('outB') mM = MediumMotor('outD') mX.reset() mY.reset()
´Ø¿ô¤òºîÀ®¤·¤Þ¤¹¡£
def pen_down(): mM.run_to_rel_pos(position_sp=40, speed_sp=100, stop_action='brake') sleep(3)
def move_vertical(t): sleep(0.2) mY.run_to_rel_pos(position_sp=t, speed_sp=170, stop_action='hold')
def move_slide(t): mX.run_to_rel_pos(position_sp=t, speed_sp=110, stop_action='hold')
def pen_up(): mM.run_to_rel_pos(position_sp=-40, speed_sp=100, stop_action='coast') sleep(3)
¤³¤³¤«¤é¤Ï¾å¤ÇÄêµÁ¤·¤¿´Ø¿ô¤ò»ÈÍѤ·¼ÂºÝ¤Ëʸ»ú¤ò½ñ¤¯¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤¤¤¤Þ¤¹¡£
½ñ¤»Ï¤á¤Î°ÌÃ֤ޤǰÜÆ°¤·¤¿¤Î¤Á¥Ú¥ó¤ò²¼¤²¡¢£±¤Ä¤Î²è¤ò½ñ¤¥Ú¥ó¤ò¾å¤²¤ë¤Þ¤Ç¤ÎÆ°ºî¤Ç£±¤Ä¤ÎÃÊÍî¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
pen_down()¡¡¡¡¡¡¡¡¡¡¡¡//°ì²èÌÜ move_slide(-90)¡¡¡¡¡¡¡¡¡¡¡¦¡¦¡¦¡ sleep(3) pen_up() move_slide(90) //Æó²èÌÜ sleep(3) move_vertical(50) sleep(3) pen_down() move_vertical(60) sleep(3) pen_up() move_vertical(-65) //»°²èÌÜ sleep(3) pen_down() move_slide(-80)¡¡¡¡¡¡¡¡¡¡¡¡¡¦¡¦¡¦¢ sleep(3) move_vertical(60) sleep(3) pen_up() move_slide(80) //»Í²èÌÜ sleep(3) move_vertical(-25) sleep(3) pen_down() move_slide(-80) sleep(3) pen_up() move_slide(80) //¸Þ²èÌÜ move_vertical(30) sleep(3) pen_down() move_slide(-80) sleep(3) pen_up() move_slide(55) //Ï»²èÌÜ sleep(2) move_vertical(-140) sleep(3) pen_down() move_vertical(220) sleep(3) pen_up() move_vertical(-70) //¼·²èÌÜ sleep(2) move_slide(9) sleep(3) pen_down() move_vertical(30) move_slide(30) sleep(2) pen_up() move_vertical(-45) //Ȭ²èÌÜ sleep(2) move_slide(-58) sleep(3) pen_down() move_vertical(30) move_slide(-30) sleep(2) pen_up()
move_slide(45) //°ì²èÌÜ sleep(2) move_vertical(60) sleep(3) pen_down() move_vertical(30) sleep(2) pen_up() move_slide(30) // Æó²èÌÜ sleep(3) pen_down() move_slide(-80) sleep(3) pen_up() move_slide(80) //»°²èÌÜ sleep(2) move_vertical(40) sleep(3) pen_down() move_vertical(50) sleep(3) pen_up() move_vertical(-50) //»Í²èÌÜ sleep(3) pen_down() move_slide(-60) sleep(3) move_vertical(50) sleep(3) pen_up() move_slide(60) //¸Þ²èÌÜ sleep(2) pen_down() move_slide(-60) sleep(2) pen_up() move_slide(35) //Ï»²èÌÜ sleep(3) pen_down() move_vertical(95) sleep(3) pen_up() move_vertical(-75) //¼·²èÌÜ sleep(2) move_slide(15) sleep(2) pen_down() move_vertical(30) move_slide(20) sleep(2) pen_up() move_vertical(-40) //Ȭ²èÌÜ sleep(2) move_slide(-60) sleep(3) pen_down() move_vertical(30) move_slide(-20) sleep(2) pen_up()
ɬÍ×¤Ê¥×¥í¥°¥é¥à¤Ï¤³¤³¤Þ¤Ç¤Ç¤¹¤¬üú¼´·ÏÅý¤È£Ù¼´·ÏÅý¤Î¥Ö¥ì¡¼¥¤¬'hold'¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤áÆ°ºî½ªÎ»¸å¤ËËÜÂΤò½é´ü°ÌÃÖ¤ËÌ᤹¤Î¤¬ÂçÊѤʤ¿¤á'coast'¤Ëľ¤·¤Æ¤ª¤¤Þ¤¹¡£
sleep(3) mX.stop_action = 'coast' mY.stop_action = 'coast'
¤¤¤í¤¤¤í´èÄ¥¤Ã¤Æ¤Ç¤¤¿¤Î¤¬¤³¤ì¤Ç¤¹¡£
¤«¤Ê¤ê»Í¶ìȬ¶ì¤·¤Þ¤·¤¿¤¬Æɤá¤ë¤â¤Î¤¬¤Ç¤¤Æ¤è¤«¤Ã¤¿¤Ç¤¹¡£