Mission2

²¼¿Þ¤Î¹õÀþ¤òÄ󼨤µ¤ì¤¿¥ë¡¼¥ëÄ̤ê¤Ë±è¤Ã¤ÆÆ°¤¯¥í¥Ü¥Ã¥È¤ÎºîÀ®¡£
2017a-mission2.png
¾Ü¤·¤¤ÆâÍƤÏ2018a/Mission2¤ò»²¾È¡£

¥í¥Ü¥Ã¥È

Mission2 Mission2 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()

´¶ÁÛ¡¦¹Í»¡

º£²ó¤Ï²ÝÂê¤òãÀ®¤Ç¤­¤Ê¤«¤Ã¤¿¡¥ °ì¤ÄÌܤζʤ¬¤ê³Ñ¤ò¶Ê¤¬¤ê¡¤´Ì¤òÊÝ»ý¤¹¤ëÃʳ¬¤«¤éÀè¤Ø¤Ï¿Ê¤á¤Ê¤«¤Ã¤¿¡¥

¤³¤ì¤Ïºî¶È¤Î»þ´Ö¤ò½½Ê¬¤Ë³ÎÊݤǤ­¤Ê¤«¤Ã¤¿¤¿¤á¤Ç¤¢¤ë¡¥ ¼¡²ó¤Ï¥Á¡¼¥à¥á¥¤¥È¤È¶¨ÎϤ·¤Æ¸úΨ¤è¤¯À©ºî¤Ë¼è¤êÁȤߤ¿¤¤¡¥


¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2018-08-10 (¶â) 15:36:34