²¼¿Þ¤Î¹õÀþ¤òÄ󼨤µ¤ì¤¿¥ë¡¼¥ëÄ̤ê¤Ë±è¤Ã¤ÆÆ°¤¯¥í¥Ü¥Ã¥È¤ÎºîÀ®¡£
¾Ü¤·¤¤ÆâÍƤÏ2018a/Mission2¤ò»²¾È¡£
¡mA = MediumMotor('outA') ¡¡¡¡
¡¡¡¡´Ì¤ò¥¥ã¥Ã¥Á¤¹¤ë¥¢¡¼¥à¤òÆ°ºî¤µ¤»¤ë¤¿¤á¤Î¥â¡¼¥¿¡¼¡£ ¡¡¡¡ºîÆ°¤µ¤»¤ë¤È»Í³Ñ¤¤ÏȾå¤Î¥¢¡¼¥à¤¬¹ß¤ê¡¤´Ì¤ò°Ï¤à¤è¤¦¤Ë¤·¤ÆÊÝ»ý¤¹¤ë¡¥
¢mR = LargeMotor('outB')
¡¡¡¡¿Ê¹ÔÊý¸þ±¦Â¦¤Î¥¿¥¤¥ä¤òÆ°¤«¤¹¥â¡¼¥¿¡¼¡£
£mL = LargeMotor('outC')
¡¡¡¡¿Ê¹ÔÊý¸þº¸Â¦¤Î¥¿¥¤¥ä¤òÆ°¤«¤¹¥â¡¼¥¿¡¼¡£
¤cs = ColorSensor('in1')
¡¡¡¡ÃÏÌ̤理òȽÊ̤¹¤ë¥»¥ó¥µ¡£¤³¤ì¤ò»ÈÍѤ·¹õ¤¤Àþ¤òȽÊ̤µ¤»¤ë¡£
#!/usr/bin/env python3 from ev3dev.ev3 import * from time import sleep#¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¤¿¤á¤Î´ðËÜŪ¤Ê¥×¥í¥°¥é¥à
mA = MediumMotor('outA') mR = LargeMotor('outB') mL = LargeMotor('outC') cs = ColorSensor('in1')#Á°½Ò¤Î¥â¡¼¥¿¡¼¤ä¥»¥ó¥µ¡¼
cs.mode = 'COL-REFLECT' Itime = 1.8#¥»¥ó¥µ¡¼¤ÎÀßÄê¡¥ÌÀ¤ë¤µ¡ÊÇò¤È¹õ¡Ë¤òȽÊ̤· £±¡¥£¸Éôֹõ¤òǧ¼±¤·Â³¤±¤ë¤È¸å½Ò¤¹¤ëÍÍ¡¹¤Ê´Ø¿ô¤¬ºîÆ°¤¹¤ë¡¥
def move_foward(): mR.run_forever(speed_sp=100, stop_action='brake') mL.run_forever(speed_sp=100, stop_action='brake') Á°¤Ë¿Ê¤ß³¤±¤ë´Ø¿ô
def move_right1(): mR.run_forever(speed_sp=60, stop_action='brake') mL.run_forever(speed_sp=90, stop_action='brake') ¶Ï¤«¤Ë±¦¤Ë¸þ¤«¤¤¤Ê¤¬¤éÁ°¿Ê¤¹¤ë
def move_right2(): mR.run_forever(speed_sp=35, stop_action='brake') mL.run_forever(speed_sp=90, stop_action='brake') ¾¯¤·±¦¤Ë¸þ¤«¤¤¤Ê¤¬¤éÁ°¿Ê
def move_right3(): mR.run_forever(speed_sp=-45, stop_action='brake') mL.run_forever(speed_sp=80, stop_action='brake') Â礤¯±¦Á°Êý¤Ë¸þ¤«¤¦
def turn_right(): mR.run_forever(speed_sp=-80, stop_action='brake') mL.run_forever(speed_sp=80, stop_action='brake') ¥í¥Ü¥Ã¥ÈËÜÂΤò±¦¤Ë90ÅÙ¥¿¡¼¥ó¤¹¤ë
def move_left1(): mR.run_forever(speed_sp=90, stop_action='brake') mL.run_forever(speed_sp=60, stop_action='brake')¡¡ def move_left2(): mR.run_forever(speed_sp=90, stop_action='brake') mL.run_forever(speed_sp=35, stop_action='brake') move_right¤Îº¸ÈÇ
def turn_left(): mR.run_forever(speed_sp=80, stop_action='brake') mL.run_forever(speed_sp=-80, stop_action='brake') º¸¤Ë¥¿¡¼¥ó
def stop(): mR.run_timed(time_sp=0, speed_sp=0, stop_action='coast') mL.run_timed(time_sp=0, speed_sp=0, stop_action='coast') Á´¤Æ¤Î¥¿¥¤¥ä¤ÎÆ°ºî¤òÄä»ß¤µ¤»¤ë
def armturn(t): mA.run_to_rel_pos(position_sp=t, speed_sp=70, stop_action='brake') sleep(1)#¥¢¡¼¥à¤ò¾å²¼¤µ¤»¤ë
def toresu_right():#¹õÀþ¤Î±¦Ã¼¤ò¤Ê¤¾¤Ã¤ÆÁö¤ë t0 = time.time() while time.time() - t0 < Itime: if 80 < cs.value(0): move_left3() t0 = time.time() if 60 < cs.value(0) < 80: move_left2() t0 = time.time() if 45 < cs.value(0) < 60: move_left1() t0 = time.time() if 40 < cs.value(0) < 45: move_foward() t0 = time.time() if 40 < cs.value(0) < 45: move_right1() if 35 < cs.value(0) < 40: move_right2() if cs.value(0) < 35: move_right3()#ÌÀ¤ë¤µ(cs.value¤ÎÃͤÎÂ礤µ)¤Ë¤è¤Ã¤ÆÁ°½Ò¤Î´Ø¿ô¤¿¤Á¤òÀÚ¤êÂؤ¨¤ÆºîÆ°¤µ¤»¤Æ¤¤¤ë
def toresu_left():#¾å¤ÈƱÍͺ¸Â¦¤ò¤Ê¤¾¤ë t0 = time.time() while time.time() - t0 < Itime: if 80 < cs.value(0): move_right3() t0 = time.time() if 60 < cs.value(0) < 80: move_right2() t0 = time.time() if 45 < cs.value(0) < 60: move_right1() t0 = time.time() if 40 < cs.value(0) < 45: move_foward() t0 = time.time() if 40 < cs.value(0) < 45: move_left1() if 35 < cs.value(0) < 40: move_left2() if cs.value(0) < 35: move_left3()
def return_toresu_left(R,L):#R,L¤Ï¤½¤ì¤¾¤ìº¸±¦¤Î¥¿¥¤¥ä¤Î¥¹¥Ô¡¼¥É mR.run_to_rel_pos(position_sp=R, speed_sp=100, stop_action='brake') mL.run_to_rel_pos(position_sp=L, speed_sp=100, stop_action='brake') sleep(3.5) while cs.value(0) > 45: move_right1()#¹õÀþ¤«¤éÂ礤¯³°¤ì¤¿¤È¤Àþ¤ËÌá¤ë¤¿¤á¤Î´Ø¿ô
def return_toresu_right(R,L): mR.run_to_rel_pos(position_sp=R, speed_sp=100, stop_action='brake') mL.run_to_rel_pos(position_sp=L, speed_sp=100, stop_action='brake') sleep(4) while cs.value(0) > 45: move_left1()#¾å¤ËƱ¤¸
def return_circle_right(): mR.run_to_rel_pos(position_sp=180, speed_sp=80, stop_action='brake') sleep(4) while cs.value(0) > 45: mR.run_forever(speed_sp=100, stop_action='brake') ¾å¤Î´Ø¿ô¤ÈƱÍͤÎÌÜŪ¤À¤¬¤³¤Á¤é¤Ï±ß¸Ì¤Ë³°Â¦¤«¤éÉüµ¢¤¹¤ë¤¿¤á¤Î¤â¤Î
def return_circle_left(): mL.run_to_rel_pos(position_sp=180, speed_sp=80, stop_action='brake') sleep(4) while cs.value(0) > 45: mL.run_forever(speed_sp=100, stop_action='brake')#¾å¤ËƱ¤¸
°Ê¹ß¤Ï´Ø¿ô¤òÁȤ߹ç¤ï¤»¤Æ¥í¥Ü¥Ã¥È¤Ë½Ð¤·¤¿Ì¿Îá¤Ç¤¢¤ë¡¥
return_toresu_right(180,180) toresu_right() toresu_left() stop() sleep(1) armturn(30) sleep(1) toresu_left() return_circle_left() stop()
º£²ó¤Ï²ÝÂê¤òãÀ®¤Ç¤¤Ê¤«¤Ã¤¿¡¥ °ì¤ÄÌܤζʤ¬¤ê³Ñ¤ò¶Ê¤¬¤ê¡¤´Ì¤òÊÝ»ý¤¹¤ëÃʳ¬¤«¤éÀè¤Ø¤Ï¿Ê¤á¤Ê¤«¤Ã¤¿¡¥
¤³¤ì¤Ïºî¶È¤Î»þ´Ö¤ò½½Ê¬¤Ë³ÎÊݤǤ¤Ê¤«¤Ã¤¿¤¿¤á¤Ç¤¢¤ë¡¥ ¼¡²ó¤Ï¥Á¡¼¥à¥á¥¤¥È¤È¶¨ÎϤ·¤Æ¸úΨ¤è¤¯À©ºî¤Ë¼è¤êÁȤߤ¿¤¤¡¥