[[2019a/Member]]

*今回の課題 [#v100fc77]

今回の課題は[[2019a/Mission3]]に掲載されています。

*制作したロボット [#b21f7756]

*動作についての狙い・戦略 [#t8f0b576]

*工夫した点 [#o0b2006c]

*プログラム [#l4ef4d2b]

*実際にロボコンをやってみた結果 [#q5349f54]

 #!/usr/bin/env python3
 from ev3dev.ev3 import *
 from time import sleep

 mL = LargeMotor('outB')
 mR = LargeMotor('outD')
 mZ = MediumMotor('outA')
 cs = ColorSensor('in1')
 cs.mode = 'COL-REFLECT'

 def motor_init():
  mL.reset()
  mR.reset()
  mZ.reset()

 def down():
  mZ.run_timed(time_sp=600,speed_sp=150,stop_action='brake')
  sleep(1)

 def up():
  mZ.run_timed(time_sp=685,speed_sp=-160,stop_action='hold')
  sleep(1)

 def up2():
  mZ.run_timed(time_sp=285,speed_sp=-569,stop_action='hold')
  sleep(1)

 def nage():
  mZ.run_timed(time_sp=400,speed_sp=-1000,stop_action='brake')
  sleep(1)

 def go():
  mL.run_timed(time_sp=80,speed_sp=150,stop_action='brake')
  mR.run_timed(time_sp=80,speed_sp=150,stop_action='brake')

 def over(t):
  mL.run_timed(time_sp=t,speed_sp=200,stop_action='brake')
  mR.run_timed(time_sp=t,speed_sp=200,stop_action='brake')
  sleep(1)

 def back(t):
  mL.run_timed(time_sp=t,speed_sp=-200,stop_action='brake')
  mR.run_timed(time_sp=t,speed_sp=-200,stop_action='brake')
  sleep(1)
 
 def turnr2():
  mR.run_timed(time_sp=200,speed_sp=75,stop_action='brake')
  mL.run_timed(time_sp=200,speed_sp=-45,stop_action='brake')

 def turnr2X(x):
  mR.run_timed(time_sp=x,speed_sp=-75,stop_action='brake')
  mL.run_timed(time_sp=x,speed_sp=45,stop_action='brake')

 def turnr2Y(y):
  mR.run_timed(time_sp=y,speed_sp=45,stop_action='brake')
  mL.run_timed(time_sp=y,speed_sp=-75,stop_action='brake')

 def turnl2():
  mL.run_timed(time_sp=200,speed_sp=45,stop_action='brake')
  mR.run_timed(time_sp=200,speed_sp=-50,stop_action='brake')

 def turnC(a):
  mR.run_timed(time_sp=a,speed_sp=-150,stop_action='brake')
  mL.run_timed(time_sp=a,speed_sp=150,stop_action='brake')
  sleep(1)

 def turnD(a):
  mR.run_timed(time_sp=a,speed_sp=150,stop_action='brake')
  mL.run_timed(time_sp=a,speed_sp=-150,stop_action='brake')
  sleep(1)

 def stop():
  mL.stop
  mR.stop

 def modi():
  mR.run_timed(time_sp=400,speed_sp=120,stop_action='brake')
  mL.run_timed(time_sp=400,speed_sp=-40,stop_action='brake')
  sleep(0.5)

 def linel():
  S = 1
  while S > 0:
   go()
   if cs.value() > 15:
    while cs.value() > 15:
     turnl2()
   if cs.value() < 9:
    tS = time.time()
    while cs.value() < 9:
     turnr2()
   if time.time()-tS > 0.48:
    turnr2X((time.time()-tS)*1400)
     S = 0
     sleep(1)
 
 def liner():
  S = 1
  while S > 0:
   go()
   if cs.value() > 15:
    while cs.value() > 15:
     turnr2()
   if cs.value() < 9:
    tS = time.time()
    while cs.value() < 9:
     turnl2()
    if time.time()-tS > 0.48:
     turnr2Y((time.time()-tS)*1400)
     S = 0
  sleep(1)

 def running():
  while cs.value() > 15:
   go()
 sleep(1)

 motor_init()
 sleep(110)
 liner()
 over(833)
 sleep(1)
 turnC(1760)
 back(2000)
 sleep(3)
 down()
 over(2000)
 sleep(3)
 up()
 sleep(1)
 turnC(800)
 over(400)
 linel()
 turnC(900)
 over(500)
 running()
 sleep(3)
 turnC(1910)
 sleep(4)
 back(300)
 sleep(1)
 up2()
 sleep(2)
 down()
 sleep(1)
 up()
 over(150)
 sleep(0.5)
 back(150)
 sleep(1)
 turnD(500)
 running()
 linel()
 over(150)
 sleep(1)
 turnC(1100)
 down()
 nage()
*実際にロボコンをやってみた結果 [#q5349f54]   

*反省点 [#d010a92a]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS