- 追加された行はこの色です。
- 削除された行はこの色です。
[[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]