2018b/Member/Kaneko/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2018b/Member]]
*²ÝÂê [#k8a07480]
º£²ó¤Î²ÝÂê¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¡¡²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¡Ö¥ß¥Ã¥·¥ç¥ó¡×¤ò¿ë¹Ô¤¹¤ë¤¿¤á¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¡£
**¥³¡¼¥¹¡¡ [#l7051c32]
Àþ¤ÎÉý¤Ï20ФǤʤë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¤Ê¤ª¿Þ¤ÎÃæ¤ÎÀ£Ë¡¤Îñ°Ì¤ÏѤǡ¢¹õÀþ¤Ë¤Ä¤¤¤Æ¤Ï¤½¤Î¿¿¤óÃ椫¤é¤Îµ÷Î¥¤Ç¤¢¤ë
#ref(robot01.png,,100%)
**¥ß¥Ã¥·¥ç¥ó [#x5e5b1a6]
¼¡¤Î¤¤¤º¤ì¤«¤Î¥³¡¼¥¹¤Ç¹õ¤¤Àþ¤Ë±è¤Ã¤ÆÆ°¤ÅÓÃæ¤Ç¥Ü¡¼¥ë¤ò¥´¡¼¥ëÉÕ¶á¤ËΩ¤Æ¤¿350ml¤Î¶õ¤´Ì¡Ê²«¿§¤Çɽ¼¨¡Ë¤ËÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£¡ÊÁêÊý¤È°ã¤¦¥³¡¼¥¹¤òÁª¤Ö¤³¤È¡Ë
***Âè°ì¥³¡¼¥¹ [#id485b8b]
1.¥í¥Ü¥Ã¥È¤òĹÊý·ÁXÆâ¤Ë¤ª¤¡¢A¤ò¥¹¥¿¡¼¥È
2.B¤ò±¦ÀÞ
3.K¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
4.J¤òľ¿Ê
5.I¤òľ¿Ê
6.H¤òº¸ÀÞ
7.G¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
8.E¤Ç°ì»þÄä»ß¤·¤Æ±¦ÀÞ
9.L¤ò·Ð¤ÆÀµÊý·ÁYÆâ¤ËÆþ¤Ã¤ÆÄä»ß
(°ì»þÄä»ß¤Î»ØÄ꤬¤¢¤ë¾ì½ê¤Ï¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È)
¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌKJIH¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
***ÂèÆ󥳡¼¥¹ [#vfb1846f]
1.¥í¥Ü¥Ã¥È¤òÀµÊý·ÁXÆâ¤Ë¤ª¤¡¢L¤ò¥¹¥¿¡¼¥È
2.E¤ò°ì»þÄä»ß¤·¤Æľ¿Ê
3.I¤ò°ì»þÄä»ß¤·¤Æº¸ÀÞ
4.H¤òľ¿Ê
5.K¤òľ¿Ê
6.J¤òº¸ÀÞ
7.C¤ò°ì»þÄä»ß¤·¤Æ±¦ÀÞ
8.E¤ò°ì»þÄä»ß¤·¤Æľ¿Ê
9.G¤ò°ì»þÄä»ß¤·¤Æľ¿Ê
10.ĹÊý·ÁXÆâ¤ËÆþ¤Ã¤ÆÄä»ß
(°ì»þÄä»ß¤Î»ØÄ꤬¤¢¤ë¾ì½ê¤Ï¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È)
¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌIHKJ¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
***Ãí°Õ [#ud98b516]
¡¦°ì»þÄä»ß¤Î»Ø¼¨¤¬¤¢¤ë¸òº¹ÅÀ¤ÈÃú»úÏ©¡¢¤ª¤è¤Ó¥Ü¡¼¥ë¤òÅꤲ¤ë»þ°Ê³°¤ÏÄä»ß¤·¤Ê¤¤¤³¤È¡£
¡¦°ì¤Ä¤Î¸òº¹ÅÀ(or T»úÏ© or ľ³Ñ¥«¡¼¥Ö)¤«¤é¼¡¤Î¸òº¹ÅÀ(or T»úÏ© or ľ³Ñ¥«¡¼¥Ö)¤Þ¤Ç¤Î°ÜÆ°¤ò°ì¤Ä¤Î´Ø¿ô¤ÇÄêµÁ¤¹¤ë¤³¤È¡£
¡¦Á°¤Î¸òº¹ÅÀ¤«¤é¤Î»þ´Ö¤äµ÷Î¥¤òÈùÄ´À°¤·¤Æ¸òº¹ÅÀ¤òȽÃǤ¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢Ä̾ï¤Î¥«¡¼¥Ö¤È¸òº¹ÅÀ¤Î°ã¤¤¤ò¸÷¥»¥ó¥µ¤ÎÃͤ«¤éȽÃǤ¹¤ë¤³¤È¡£
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#r6dde026]
#ref(IMG_0795-min.jpg,,10%)
¤³¤ì¤¬¥í¥Ü¥Ã¥È¤ÎÁ´ÂοޤǤʤë¤Ù¤¯¥·¥ó¥×¥ë¤Ê·Á¤Ë¤·¤¿
¥«¥é¡¼¥»¥ó¥µ¡¼¤ÈĶ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤Û¤ÜÃæ¿´¤Ë¼è¤êÉÕ¤±¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤¬º¸±¦ÂоΤˤä¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¤Þ¤¿¶õ¤´Ì¤Î°ÌÃÖ¤ò¤è¤êÀµ³Î¤ËÄ´¤Ù¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£
¤½¤·¤Æ¥Ü¡¼¥ë¤Ï¥â¡¼¥¿¡¼¤ò²óž¤µ¤»¤Æ½³¤ê½Ð¤¹·Á¤Çȯ¼Í¤µ¤»¤ë¤è¤¦¤Ë¤·¤¿¡£
*¥×¥í¥°¥é¥à [#kb69f6c7]
**¤Ï¤¸¤á¤Ë [#de08090e]
¤½¤ì¤¾¤ì¤Î¥»¥ó¥µ¡¼¤È¥â¡¼¥¿¡¼¤ò°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë
#!/usr/bin/env python3
from ev3dev.ev3 import *
import time
from time import sleep
mR=LargeMotor('outC')
mL=LargeMotor('outB')
mM=MediumMotor('outD')
cs=ColorSensor('in3')
us=UltrasonicSensor('in1')
±¦¥¿¥¤¥ä¤Î¥â¡¼¥¿¡¼¤òmR¡¢º¸¥¿¥¤¥ä¤Î¥â¡¼¥¿¡¼¤òmL¡¢È¯¼Íµ¡¹½¤Î¥â¡¼¥¿¡¼¤òmM¤È¤·¤ÆÄêµÁ¤·¤¿
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à [#a0e8098f]
def traceR():
t0=time.time()
while time.time()-t0<0.35:
if cs.value()<35: #¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35̤Ëþ¤Î»þÂ礤¯±¦¤Ë²ó¤ë
turnR2()
if 35<=cs.value()<40:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê¾å40̤Ëþ¤Î»þ¾®¤µ¤¯±¦¤Ë²ó¤ë
turnR1()
t0=time.time()¡¡
if 40<=cs.value()<=50:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬40°Ê¾å50°Ê¾å¤Î»þ¤Þ¤Ã¤¹¤°¿Ê¤à
run()
t0=time.time()
if 50<cs.value()<=60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬50¤è¤êÂ礤¯60̤Ëþ¤Î»þº¸¤Ë¾®¤µ¤¯²ó¤ë
turnL1()
t0=time.time()
if cs.value()>60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬60¤è¤êÂ礤¤¤È¤º¸¤ËÂ礤¯²ó¤ë
turnL2()
t0=time.time()
mR.stop()
mL.stop()
def traceL():
t0=time.time()
while time.time()-t0<0.25:
if cs.value()<35:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35̤Ëþ¤Î»þº¸¤ËÂ礤¯²ó¤ë
turnL2()
if 35<=cs.value()<40:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê¾å40̤Ëþ¤Î»þº¸¤Ë¾®¤µ¤¯²ó¤ë
turnL1()
t0=time.time()
if 40<=cs.value()<=50:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬40°Ê¾å50°Ê²¼¤Î»þ¤Þ¤Ã¤¹¤°¿Ê¤à
run()
t0=time.time()
if 50<cs.value()<=60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬50¤è¤êÂ礤¯60°Ê²¼¤Î»þ±¦¤Ë¾®¤µ¤¯²ó¤ë
turnR1()
t0=time.time()
if cs.value()>60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬60¤è¤êÂ礤¤¤È¤±¦¤ËÂ礤¯¤Þ¤ï¤ë
turnR2()
t0=time.time()
¤½¤ì¤¾¤ìtraceR¤Ï±¦Â¦traceL¤Ïº¸Â¦¤ò¥È¥ì¡¼¥¹¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¢¤³¤¦¤¹¤ë¤³¤È¤Çº¸Â¦¤Î¸òº¹ÅÀ¤Þ¤¿±¦Â¦¤Î¸òº¹ÅÀ¤½¤ì¤¾¤ì¤òȯ¸«¤·¤ä¤¹¤¯¤·¤¿¡¢¸òº¹ÅÀ¤Îǧ¼±ÊýË¡¤Ï0.35Éðʾå¹õ¤¤¤È¤³¤í¤òÄ̤ä¿»þ¤Ë¸òº¹ÅÀ¤È¤·¤Æ»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿
°Ê²¼¤Ï¤³¤ì¤é¤Îtrace´Ø¿ô¤ÎÃæ¿È¤Î´Ø¿ô¤Ç¤¢¤ë
def turnR1():¡¡#±¦¤Ë¾®¤µ¤¯²ó¤ë
mL.run_forever(speed_sp=100,stop_action='brake')
mR.stop()
def turnL1():¡¡#º¸¤Ë¾®¤µ¤¯²ó¤ë
mR.run_forever(speed_sp=100,stop_action='brake')
mL.stop()
def run():¡¡#¤Þ¤Ã¤¹¤°¿Ê¤à
mR.run_forever(speed_sp=100,stop_action='brake')
mL.run_forever(speed_sp=100,stop_action='brake')
def turnR2():¡¡#±¦¤ËÂ礤¯²ó¤ë
mL.run_forever(speed_sp=100,stop_action='brake')
mR.run_forever(speed_sp=-70,stop_action='brake')
def turnL2():¡¡#º¸¤ËÂ礤¯²ó¤ë
mR.run_forever(speed_sp=100,stop_action='brake')
mL.run_forever(speed_sp=-70,stop_action='brake')
¼¡¤Ë¾®¤µ¤¤È¾·Â¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë»þ¤Ë¸òº¹ÅÀ¤È¸íǧ¼±¤¹¤ë¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç°Ê²¼¤Î°ìÄê»þ´Ö¥È¥ì¡¼¥¹¤ò¤¹¤ë´Ø¿ô¤òºî¤Ã¤¿
def traceLa(t):
t1=time.time()
while time.time()-t1<t:
if cs.value()<35:
turnL2()
if 35<=cs.value()<40:
turnL1()
if 40<=cs.value()<=50:
run()
if 50<cs.value()<=60:
turnR1()
if cs.value()>60:
turnR2()
mR.stop()
mL.stop()
def traceRa(t):
t0=time.time()
while time.time()-t0<t:
if cs.value()<35:
turnR2()
if 35<=cs.value()<40:
turnR1()
if 40<=cs.value()<=50:
run()
if 50<cs.value()<=60:
turnL1()
if cs.value()>60:
turnL2()
mR.stop()
mL.stop()
¼¡¤Ë¸òº¹ÅÀ¤òȯ¸«¤·¤¿¸å¤Ë¤½¤Î¸òº¹ÅÀ¤òÄ̲᤹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¯
def turnR3(t): #tÉ佤ξì¤Ç±¦¤Ë²óž¤¹¤ë
mL.run_timed(time_sp=t,speed_sp=100,stop_action='brake')
mR.run_timed(time_sp=t,speed_sp=-100,stop_action='brake')
sleep(t/1000)
mR.stop()
mL.stop()
def turnL3(t):¡¡#tÉ佤ξì¤Çº¸¤Ë²óž¤¹¤ë
mR.run_timed(time_sp=t,speed_sp=100,stop_action='brake')
mL.run_timed(time_sp=t,speed_sp=-100,stop_action='brake')
sleep(t/1000)
mR.stop()
mL.stop()
def runT(t):¡¡#tÉäޤ乤°¿Ê¤à
mR.run_timed(time_sp=t, speed_sp=100, stop_action='brake')
mL.run_timed(time_sp=t, speed_sp=100, stop_action='brake')
sleep(t/1000)
mR.stop()
mL.stop()
¸òº¹ÅÀ¤òȯ¸«¤·¤¿¸åturnR3¤Þ¤¿¤ÏturnL3¤Ç¸þ¤¤òÌᤷ¤¿¸årunT¤Ç¤Þ¤Ã¤¹¤°¿Ê¤ó¤Ç¸òº¹ÅÀ¤ò±Û¤¨¤ë¤è¤¦¤Ë¤·¤¿
**´Ì¤òȯ¸«¤·È¯¼Í¤¹¤ë¥×¥í¥°¥é¥à [#h44f0951]
¤Þ¤º¤Ï´Ì¤òȯ¸«¤¹¤ë¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ
def search():
d_min=5000¡¡#²¾¤ÎºÇ¾®Ãͤòºî¤ë
t1=time.time()
while time.time()-t1 < 15: #15Éôֲó¤ê³¤±¤ë
turnR()
if us.value()<d_min:¡¡
d_min=us.value()¡¡#¤â¤·²¾¤ÎºÇ¾®Ãͤè¤êĶ²»ÇÈ¥»¥ó¥µ¡¼¤ÎÃͤ¬¾®¤µ¤«¤Ã¤¿¤é¿·¤·¤¤ºÇ¾®ÃͤòµÏ¿¤¹¤ë
t2=time.time()¡¡#ºÇ¾®ÃͤòµÏ¿¤·¤¿»þ¤Î»þ´Ö¤òµÏ¿¤¹¤ë
mM.reset()
mR.stop()
mL.stop()
t3=time.time()
sleep(1)
mR.run_timed(time_sp=1000*(t3-t2), speed_sp=50, stop_action='brake')
mL.run_timed(time_sp=1000*(t3-t2), speed_sp=-50, stop_action='brake')
sleep(t3-t2+2)¡¡#²óž¤·½ª¤ï¤Ã¤¿»þ´Ö¤«¤éºÇ¸å¤ËºÇ¾®ÃͤòµÏ¿¤·¤¿»þ´Ö¤ËµÕ²óž¤¹¤ë
fire()¡¡#¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë
sleep(1)
¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë¥×¥í¥°¥é¥à´Ø¿ô¤Ï°Ê²¼¤Ç¤¢¤ë
def fire():¡¡
mM.run_to_abs_pos(position_sp=150,speed_sp=500,stop_action='coast') #mM¤ò²óž¤µ¤»¤Æ¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë
**¤Þ¤È¤á [#m73c9511]
def LtoE():
traceL()
sleep(1)
turnR3(230)
runT(500)
def EtoI():
traceL()
sleep(1)
turnL3(600)
def ItoH():
traceLa(2)
traceL()
turnR3(230)
runT(700)
def HtoJ():
traceLa(4)
turnR3(600)
traceRa(4)
turnL3(600)
traceLa(2)
traceL()
turnL3(600)
def JtoC():
traceLa(2)
traceL()
sleep(1)
turnR3(1500)
def CtoE():
traceRa(30)
traceR()
turnL3(300)
runT(500)
def EtoG():
traceRa(30)
traceR()
turnL3(300)
runT(500)
def GtoGole():
traceR()
turnL3(300)
runT(4000)¡¡#ºÇ¸å¤Î¸òº¹ÅÀ¤òȯ¸«¤·¤¿¸å°ìÄê¤ÎÃͿʤó¤Ç¥´¡¼¥ë¤Ë¼ý¤Þ¤ë
¤½¤ì¤¾¤ì¤Î´Ø¿ô̾¤Ï¤É¤ÎÃÏÅÀ¤«¤é¤É¤ÎÃÏÅÀ¤Ø¤È°ÜÆ°¤¹¤ë¤È¤¤Ë»È¤¦¥×¥í¥°¥é¥à¤ò¼¨¤·¤Æ¤¢¤ë¡£
LtoE()
EtoI()
ItoH()
search()
HtoJ()
JtoC()
CtoE()
EtoG()
GtoGole()
°Ê¾å¤¬¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¥×¥í¥°¥é¥à¤Ç¤¢¤ë
*´¶ÁÛ [#x9ec2d09]
À®¸ùΨ¤È¤·¤Æ¤Ï50%¤¯¤é¤¤¤Çȯɽ²ñ¤Ç¤Ï¼ºÇÔ¤ò¤·¤Æ¤·¤Þ¤Ã¤¿¡£
¸¶°ø¤È¤·¤Æ¤Ï¸òº¹ÅÀ¤òȯ¸«¤¹¤ëÀ©ÅÙ¤¬¹â¤¯¤Ê¤¯Ç§¼±¤·¤Ê¤«¤Ã¤¿¤ê¸íǧ¼±¤òµ¯¤³¤·¤Æ¤·¤Þ¤Ã¤¿¤«¤é¤À¤È¹Í¤¨¤é¤ì¤ë
½ªÎ»¹Ô:
[[2018b/Member]]
*²ÝÂê [#k8a07480]
º£²ó¤Î²ÝÂê¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¡¡²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¡Ö¥ß¥Ã¥·¥ç¥ó¡×¤ò¿ë¹Ô¤¹¤ë¤¿¤á¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¡£
**¥³¡¼¥¹¡¡ [#l7051c32]
Àþ¤ÎÉý¤Ï20ФǤʤë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¤Ê¤ª¿Þ¤ÎÃæ¤ÎÀ£Ë¡¤Îñ°Ì¤ÏѤǡ¢¹õÀþ¤Ë¤Ä¤¤¤Æ¤Ï¤½¤Î¿¿¤óÃ椫¤é¤Îµ÷Î¥¤Ç¤¢¤ë
#ref(robot01.png,,100%)
**¥ß¥Ã¥·¥ç¥ó [#x5e5b1a6]
¼¡¤Î¤¤¤º¤ì¤«¤Î¥³¡¼¥¹¤Ç¹õ¤¤Àþ¤Ë±è¤Ã¤ÆÆ°¤ÅÓÃæ¤Ç¥Ü¡¼¥ë¤ò¥´¡¼¥ëÉÕ¶á¤ËΩ¤Æ¤¿350ml¤Î¶õ¤´Ì¡Ê²«¿§¤Çɽ¼¨¡Ë¤ËÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£¡ÊÁêÊý¤È°ã¤¦¥³¡¼¥¹¤òÁª¤Ö¤³¤È¡Ë
***Âè°ì¥³¡¼¥¹ [#id485b8b]
1.¥í¥Ü¥Ã¥È¤òĹÊý·ÁXÆâ¤Ë¤ª¤¡¢A¤ò¥¹¥¿¡¼¥È
2.B¤ò±¦ÀÞ
3.K¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
4.J¤òľ¿Ê
5.I¤òľ¿Ê
6.H¤òº¸ÀÞ
7.G¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ
8.E¤Ç°ì»þÄä»ß¤·¤Æ±¦ÀÞ
9.L¤ò·Ð¤ÆÀµÊý·ÁYÆâ¤ËÆþ¤Ã¤ÆÄä»ß
(°ì»þÄä»ß¤Î»ØÄ꤬¤¢¤ë¾ì½ê¤Ï¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È)
¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌKJIH¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
***ÂèÆ󥳡¼¥¹ [#vfb1846f]
1.¥í¥Ü¥Ã¥È¤òÀµÊý·ÁXÆâ¤Ë¤ª¤¡¢L¤ò¥¹¥¿¡¼¥È
2.E¤ò°ì»þÄä»ß¤·¤Æľ¿Ê
3.I¤ò°ì»þÄä»ß¤·¤Æº¸ÀÞ
4.H¤òľ¿Ê
5.K¤òľ¿Ê
6.J¤òº¸ÀÞ
7.C¤ò°ì»þÄä»ß¤·¤Æ±¦ÀÞ
8.E¤ò°ì»þÄä»ß¤·¤Æľ¿Ê
9.G¤ò°ì»þÄä»ß¤·¤Æľ¿Ê
10.ĹÊý·ÁXÆâ¤ËÆþ¤Ã¤ÆÄä»ß
(°ì»þÄä»ß¤Î»ØÄ꤬¤¢¤ë¾ì½ê¤Ï¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È)
¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌIHKJ¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤´Ì¤ËÅö¤Æ¤ë
***Ãí°Õ [#ud98b516]
¡¦°ì»þÄä»ß¤Î»Ø¼¨¤¬¤¢¤ë¸òº¹ÅÀ¤ÈÃú»úÏ©¡¢¤ª¤è¤Ó¥Ü¡¼¥ë¤òÅꤲ¤ë»þ°Ê³°¤ÏÄä»ß¤·¤Ê¤¤¤³¤È¡£
¡¦°ì¤Ä¤Î¸òº¹ÅÀ(or T»úÏ© or ľ³Ñ¥«¡¼¥Ö)¤«¤é¼¡¤Î¸òº¹ÅÀ(or T»úÏ© or ľ³Ñ¥«¡¼¥Ö)¤Þ¤Ç¤Î°ÜÆ°¤ò°ì¤Ä¤Î´Ø¿ô¤ÇÄêµÁ¤¹¤ë¤³¤È¡£
¡¦Á°¤Î¸òº¹ÅÀ¤«¤é¤Î»þ´Ö¤äµ÷Î¥¤òÈùÄ´À°¤·¤Æ¸òº¹ÅÀ¤òȽÃǤ¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢Ä̾ï¤Î¥«¡¼¥Ö¤È¸òº¹ÅÀ¤Î°ã¤¤¤ò¸÷¥»¥ó¥µ¤ÎÃͤ«¤éȽÃǤ¹¤ë¤³¤È¡£
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#r6dde026]
#ref(IMG_0795-min.jpg,,10%)
¤³¤ì¤¬¥í¥Ü¥Ã¥È¤ÎÁ´ÂοޤǤʤë¤Ù¤¯¥·¥ó¥×¥ë¤Ê·Á¤Ë¤·¤¿
¥«¥é¡¼¥»¥ó¥µ¡¼¤ÈĶ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤Û¤ÜÃæ¿´¤Ë¼è¤êÉÕ¤±¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤¬º¸±¦ÂоΤˤä¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¤Þ¤¿¶õ¤´Ì¤Î°ÌÃÖ¤ò¤è¤êÀµ³Î¤ËÄ´¤Ù¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£
¤½¤·¤Æ¥Ü¡¼¥ë¤Ï¥â¡¼¥¿¡¼¤ò²óž¤µ¤»¤Æ½³¤ê½Ð¤¹·Á¤Çȯ¼Í¤µ¤»¤ë¤è¤¦¤Ë¤·¤¿¡£
*¥×¥í¥°¥é¥à [#kb69f6c7]
**¤Ï¤¸¤á¤Ë [#de08090e]
¤½¤ì¤¾¤ì¤Î¥»¥ó¥µ¡¼¤È¥â¡¼¥¿¡¼¤ò°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë
#!/usr/bin/env python3
from ev3dev.ev3 import *
import time
from time import sleep
mR=LargeMotor('outC')
mL=LargeMotor('outB')
mM=MediumMotor('outD')
cs=ColorSensor('in3')
us=UltrasonicSensor('in1')
±¦¥¿¥¤¥ä¤Î¥â¡¼¥¿¡¼¤òmR¡¢º¸¥¿¥¤¥ä¤Î¥â¡¼¥¿¡¼¤òmL¡¢È¯¼Íµ¡¹½¤Î¥â¡¼¥¿¡¼¤òmM¤È¤·¤ÆÄêµÁ¤·¤¿
**¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à [#a0e8098f]
def traceR():
t0=time.time()
while time.time()-t0<0.35:
if cs.value()<35: #¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35̤Ëþ¤Î»þÂ礤¯±¦¤Ë²ó¤ë
turnR2()
if 35<=cs.value()<40:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê¾å40̤Ëþ¤Î»þ¾®¤µ¤¯±¦¤Ë²ó¤ë
turnR1()
t0=time.time()¡¡
if 40<=cs.value()<=50:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬40°Ê¾å50°Ê¾å¤Î»þ¤Þ¤Ã¤¹¤°¿Ê¤à
run()
t0=time.time()
if 50<cs.value()<=60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬50¤è¤êÂ礤¯60̤Ëþ¤Î»þº¸¤Ë¾®¤µ¤¯²ó¤ë
turnL1()
t0=time.time()
if cs.value()>60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬60¤è¤êÂ礤¤¤È¤º¸¤ËÂ礤¯²ó¤ë
turnL2()
t0=time.time()
mR.stop()
mL.stop()
def traceL():
t0=time.time()
while time.time()-t0<0.25:
if cs.value()<35:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35̤Ëþ¤Î»þº¸¤ËÂ礤¯²ó¤ë
turnL2()
if 35<=cs.value()<40:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê¾å40̤Ëþ¤Î»þº¸¤Ë¾®¤µ¤¯²ó¤ë
turnL1()
t0=time.time()
if 40<=cs.value()<=50:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬40°Ê¾å50°Ê²¼¤Î»þ¤Þ¤Ã¤¹¤°¿Ê¤à
run()
t0=time.time()
if 50<cs.value()<=60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬50¤è¤êÂ礤¯60°Ê²¼¤Î»þ±¦¤Ë¾®¤µ¤¯²ó¤ë
turnR1()
t0=time.time()
if cs.value()>60:¡¡¡¡#¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤ¬60¤è¤êÂ礤¤¤È¤±¦¤ËÂ礤¯¤Þ¤ï¤ë
turnR2()
t0=time.time()
¤½¤ì¤¾¤ìtraceR¤Ï±¦Â¦traceL¤Ïº¸Â¦¤ò¥È¥ì¡¼¥¹¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¢¤³¤¦¤¹¤ë¤³¤È¤Çº¸Â¦¤Î¸òº¹ÅÀ¤Þ¤¿±¦Â¦¤Î¸òº¹ÅÀ¤½¤ì¤¾¤ì¤òȯ¸«¤·¤ä¤¹¤¯¤·¤¿¡¢¸òº¹ÅÀ¤Îǧ¼±ÊýË¡¤Ï0.35Éðʾå¹õ¤¤¤È¤³¤í¤òÄ̤ä¿»þ¤Ë¸òº¹ÅÀ¤È¤·¤Æ»ß¤Þ¤ë¤è¤¦¤Ë¤·¤¿
°Ê²¼¤Ï¤³¤ì¤é¤Îtrace´Ø¿ô¤ÎÃæ¿È¤Î´Ø¿ô¤Ç¤¢¤ë
def turnR1():¡¡#±¦¤Ë¾®¤µ¤¯²ó¤ë
mL.run_forever(speed_sp=100,stop_action='brake')
mR.stop()
def turnL1():¡¡#º¸¤Ë¾®¤µ¤¯²ó¤ë
mR.run_forever(speed_sp=100,stop_action='brake')
mL.stop()
def run():¡¡#¤Þ¤Ã¤¹¤°¿Ê¤à
mR.run_forever(speed_sp=100,stop_action='brake')
mL.run_forever(speed_sp=100,stop_action='brake')
def turnR2():¡¡#±¦¤ËÂ礤¯²ó¤ë
mL.run_forever(speed_sp=100,stop_action='brake')
mR.run_forever(speed_sp=-70,stop_action='brake')
def turnL2():¡¡#º¸¤ËÂ礤¯²ó¤ë
mR.run_forever(speed_sp=100,stop_action='brake')
mL.run_forever(speed_sp=-70,stop_action='brake')
¼¡¤Ë¾®¤µ¤¤È¾·Â¤Ç¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë»þ¤Ë¸òº¹ÅÀ¤È¸íǧ¼±¤¹¤ë¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç°Ê²¼¤Î°ìÄê»þ´Ö¥È¥ì¡¼¥¹¤ò¤¹¤ë´Ø¿ô¤òºî¤Ã¤¿
def traceLa(t):
t1=time.time()
while time.time()-t1<t:
if cs.value()<35:
turnL2()
if 35<=cs.value()<40:
turnL1()
if 40<=cs.value()<=50:
run()
if 50<cs.value()<=60:
turnR1()
if cs.value()>60:
turnR2()
mR.stop()
mL.stop()
def traceRa(t):
t0=time.time()
while time.time()-t0<t:
if cs.value()<35:
turnR2()
if 35<=cs.value()<40:
turnR1()
if 40<=cs.value()<=50:
run()
if 50<cs.value()<=60:
turnL1()
if cs.value()>60:
turnL2()
mR.stop()
mL.stop()
¼¡¤Ë¸òº¹ÅÀ¤òȯ¸«¤·¤¿¸å¤Ë¤½¤Î¸òº¹ÅÀ¤òÄ̲᤹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¯
def turnR3(t): #tÉ佤ξì¤Ç±¦¤Ë²óž¤¹¤ë
mL.run_timed(time_sp=t,speed_sp=100,stop_action='brake')
mR.run_timed(time_sp=t,speed_sp=-100,stop_action='brake')
sleep(t/1000)
mR.stop()
mL.stop()
def turnL3(t):¡¡#tÉ佤ξì¤Çº¸¤Ë²óž¤¹¤ë
mR.run_timed(time_sp=t,speed_sp=100,stop_action='brake')
mL.run_timed(time_sp=t,speed_sp=-100,stop_action='brake')
sleep(t/1000)
mR.stop()
mL.stop()
def runT(t):¡¡#tÉäޤ乤°¿Ê¤à
mR.run_timed(time_sp=t, speed_sp=100, stop_action='brake')
mL.run_timed(time_sp=t, speed_sp=100, stop_action='brake')
sleep(t/1000)
mR.stop()
mL.stop()
¸òº¹ÅÀ¤òȯ¸«¤·¤¿¸åturnR3¤Þ¤¿¤ÏturnL3¤Ç¸þ¤¤òÌᤷ¤¿¸årunT¤Ç¤Þ¤Ã¤¹¤°¿Ê¤ó¤Ç¸òº¹ÅÀ¤ò±Û¤¨¤ë¤è¤¦¤Ë¤·¤¿
**´Ì¤òȯ¸«¤·È¯¼Í¤¹¤ë¥×¥í¥°¥é¥à [#h44f0951]
¤Þ¤º¤Ï´Ì¤òȯ¸«¤¹¤ë¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ
def search():
d_min=5000¡¡#²¾¤ÎºÇ¾®Ãͤòºî¤ë
t1=time.time()
while time.time()-t1 < 15: #15Éôֲó¤ê³¤±¤ë
turnR()
if us.value()<d_min:¡¡
d_min=us.value()¡¡#¤â¤·²¾¤ÎºÇ¾®Ãͤè¤êĶ²»ÇÈ¥»¥ó¥µ¡¼¤ÎÃͤ¬¾®¤µ¤«¤Ã¤¿¤é¿·¤·¤¤ºÇ¾®ÃͤòµÏ¿¤¹¤ë
t2=time.time()¡¡#ºÇ¾®ÃͤòµÏ¿¤·¤¿»þ¤Î»þ´Ö¤òµÏ¿¤¹¤ë
mM.reset()
mR.stop()
mL.stop()
t3=time.time()
sleep(1)
mR.run_timed(time_sp=1000*(t3-t2), speed_sp=50, stop_action='brake')
mL.run_timed(time_sp=1000*(t3-t2), speed_sp=-50, stop_action='brake')
sleep(t3-t2+2)¡¡#²óž¤·½ª¤ï¤Ã¤¿»þ´Ö¤«¤éºÇ¸å¤ËºÇ¾®ÃͤòµÏ¿¤·¤¿»þ´Ö¤ËµÕ²óž¤¹¤ë
fire()¡¡#¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë
sleep(1)
¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë¥×¥í¥°¥é¥à´Ø¿ô¤Ï°Ê²¼¤Ç¤¢¤ë
def fire():¡¡
mM.run_to_abs_pos(position_sp=150,speed_sp=500,stop_action='coast') #mM¤ò²óž¤µ¤»¤Æ¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë
**¤Þ¤È¤á [#m73c9511]
def LtoE():
traceL()
sleep(1)
turnR3(230)
runT(500)
def EtoI():
traceL()
sleep(1)
turnL3(600)
def ItoH():
traceLa(2)
traceL()
turnR3(230)
runT(700)
def HtoJ():
traceLa(4)
turnR3(600)
traceRa(4)
turnL3(600)
traceLa(2)
traceL()
turnL3(600)
def JtoC():
traceLa(2)
traceL()
sleep(1)
turnR3(1500)
def CtoE():
traceRa(30)
traceR()
turnL3(300)
runT(500)
def EtoG():
traceRa(30)
traceR()
turnL3(300)
runT(500)
def GtoGole():
traceR()
turnL3(300)
runT(4000)¡¡#ºÇ¸å¤Î¸òº¹ÅÀ¤òȯ¸«¤·¤¿¸å°ìÄê¤ÎÃͿʤó¤Ç¥´¡¼¥ë¤Ë¼ý¤Þ¤ë
¤½¤ì¤¾¤ì¤Î´Ø¿ô̾¤Ï¤É¤ÎÃÏÅÀ¤«¤é¤É¤ÎÃÏÅÀ¤Ø¤È°ÜÆ°¤¹¤ë¤È¤¤Ë»È¤¦¥×¥í¥°¥é¥à¤ò¼¨¤·¤Æ¤¢¤ë¡£
LtoE()
EtoI()
ItoH()
search()
HtoJ()
JtoC()
CtoE()
EtoG()
GtoGole()
°Ê¾å¤¬¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¥×¥í¥°¥é¥à¤Ç¤¢¤ë
*´¶ÁÛ [#x9ec2d09]
À®¸ùΨ¤È¤·¤Æ¤Ï50%¤¯¤é¤¤¤Çȯɽ²ñ¤Ç¤Ï¼ºÇÔ¤ò¤·¤Æ¤·¤Þ¤Ã¤¿¡£
¸¶°ø¤È¤·¤Æ¤Ï¸òº¹ÅÀ¤òȯ¸«¤¹¤ëÀ©ÅÙ¤¬¹â¤¯¤Ê¤¯Ç§¼±¤·¤Ê¤«¤Ã¤¿¤ê¸íǧ¼±¤òµ¯¤³¤·¤Æ¤·¤Þ¤Ã¤¿¤«¤é¤À¤È¹Í¤¨¤é¤ì¤ë
¥Ú¡¼¥¸Ì¾: