- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
#author("2019-12-26T21:30:45+09:00","LaiHen","LaiHen")
#author("2020-01-04T20:19:52+09:00","LaiHen","LaiHen")
----
Ìܼ¡
#contents
----
* ²ÝÂꣲ¡§¥é¥¤¥ó¥È¥ì¡¼¥¹ [#u7470bfe]
²¼¤Î²èÁü¤Î»ØÄꤵ¤ì¤¿¥³¡¼¥¹¤ò¹õÀþ¤Ë±è¤Ã¤Æ¿Ê¤à
&ref(2019b/Member/LaiHen/Mission2/2019b-mission2.png,70%,¥³¡¼¥¹¤ÎÁ´ÂοÞ);
** »ØÄꥳ¡¼¥¹ [#vce05226]
+ AÃÏÅÀ¤«¤é½Ðȯ
+ B
+ C (ľ¿Ê)
+ D (°ì»þÄä»ß¤Î¸å¡¢Ä¾¿Ê)
+ E, F Ä̲á
+ G (°ì»þÄä»ß¤Î¸å¡¢º¸ÀÞ)
+ H (°ì»þÄä»ß¤Î¸å¡¢º¸ÀÞ)
+ I (¥¥å¡¼¥Ü¥¤¥É¤ò¤Ä¤«¤ó¤ÇU¥¿¡¼¥ó)
+ H (ľ¿Ê)
+ J (°ì»þÄä»ß)
+ AÃÏÅÀ¤ËÆþ¤ë(¥´¡¼¥ë)
* ¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ [#h73f63eb]
** ¥í¥Ü¥Ã¥È¤Î¹½Â¤ [#d613c006]
º£²ó¤Î²ÝÂê¤Ç¥í¥Ü¥Ã¥È¤ËɬÍפÊʪ¤ÏËÜÂΤò°ÜÆ°¤µ¤»¤ë¤¿¤á¤Î¥â¡¼¥¿¡¼£²¤Ä°Ê³°¤Ë¡¢¹õÀþ¤Ë±è¤Ã¤Æ¿Ê¤à¤¿¤á¤Ë¿§¤ò´¶ÃΤ¹¤ë¥«¥é¡¼¥»¥ó¥µ¡¼¡¢¥¥å¡¼¥Ü¥¤¥É¤È¤Îµ÷Î¥¤ò¬¤ëĶ²»ÇÈ¥»¥ó¥µ¡¼¡¢¥¥å¡¼¥Ü¥¤¥É¤ò¤Ä¤«¤à¥â¡¼¥¿¡¼¤Ç¾å¤²²¼¤²¤Ç¤¤ë¥¢¡¼¥à¤Î3¤Ä¤Ç¤¹¡£¤³¤ì¤é¤ò¤¦¤Þ¤¯»È¤¦¤¿¤á¤Ë¤½¤ì¤¾¤ì¤Ë¹©Éפ·¤¿ÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
*** ¥«¥é¡¼¥»¥ó¥µ¡¼ [#h529f137]
¥«¥é¡¼¥»¥ó¥µ¡¼¤Ïº£²ó¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÇºÇ¤â½ÅÍפÊÉôʬ¤Ç¤¹¡£¤·¤«¤âËÜÂΤΰÜÆ°¤Ï¤³¤Î¥»¥ó¥µ¡¼¤òÍѤ¤¤Æ·èÄꤹ¤ë¤¿¤á¥¿¥¤¥ä¤È¤Î°ÌÃÖ¤â¹Í¤¨¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£º£²ó¤Î¥³¡¼¥¹¤ÇºÇ¤âÆñ¤·¤¤¤È»×¤ï¤ì¤ë¤Î¤ÏH¤ÈJ¤Î´Ö¤Ë¤¢¤ëȾ·Â5£ã£í¤ÎȾ±ßÉôʬ¤Ç¤¹¡£¤â¤·¥»¥ó¥µ¡¼¤¬ËÜÂΤμ´¤«¤é£µ£ã£í°Ê¾åÎ¥¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ËÜÂΤò¥Ð¥Ã¥¯¤µ¤»¤Ê¤¤¤È¤Þ¤ï¤ì¤Þ¤»¤ó¡£¤½¤Î¤¿¤á£µ£ã£í¤òĶ¤¨¤Ê¤¤¤è¤¦¤Ë¥»¥ó¥µ¡¼¤òÀßÃÖ¤·¤Þ¤·¤¿¡£
*** Ķ²»ÇÈ¥»¥ó¥µ¡¼ [#c9e9e386]
Á°Äó¤È¤·¤Æ¥¥å¡¼¥Ü¥¤¥É¤È¤Î¬¤ëºÝËÜÂΤϥ饤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ¤¤¤ë´Ø·¸¾åÀþ¤Îº¸±¦¤É¤Á¤é¤«¤Ë´ó¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤áËÜÂΤÎÃæ±û¤ËÀßÃÖ¤·¤Æ¤â¥»¥ó¥µ¡¼¤ÎÀµÌ̤˥¥å¡¼¥Ü¥¤¥É¤ÏÍè¤Þ¤»¤ó¡£¤½¤Î¤¿¤á¥»¥ó¥µ¡¼¤òº¸´ó¤ê¤ËÀßÃÖ¤·¡¢¥¥å¡¼¥Ü¥¤¥É¤ò¤Ä¤«¤àºÝ¤ÏÀþ¤Î±¦Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¤È¥»¥ó¥µ¡¼¤ÎÃæ±û¤Ë¥¥å¡¼¥Ü¥¤¥É¤¬Íè¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
*** ¥¢¡¼¥à [#b9c5da66]
¥¢¡¼¥à¤ÎÀßÃÖ°ÌÃÖ¤ÏĶ²»ÇÈ¥»¥ó¥µ¡¼¤ò´ð½à¤Ë¤·¤¿¤Î¤Ç´Êñ¤Ç¤·¤¿¤¬¡¢2¤Ä¤Î¥»¥ó¥µ¡¼¤òÉÕ¤±¤¿¤¿¤á¥í¥Ü¥Ã¥È¼«ÂΤ¬½Ä¤ËŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤Ç¤¤ë¤À¤±¥¢¡¼¥à¤Ï¥³¥ó¥Ñ¥¯¥È¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
** Á´ÂÎŪ¤Ê¹©É×ÅÀ [#x6509f6c]
EV3¤Î¥»¥ó¥µ¡¼¤ÏÀºÅÙ¤¬¹â¤¤¤¿¤á¿¶¤ì¤Ê¤É¤Ë¤è¤Ã¤ÆÃͤ¬ÊѲ½¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤Ç¤¹¤¬¥í¥Ü¥Ã¥È¤Î²èÁü¤«¤é¤ï¤«¤ë¤è¤¦¤Ë½Ä¤ËŤ¯Æ°¤¯¤¿¤Ó¤ËÍɤì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤½¤ì¤òËɤ°¤¿¤á¤Ë¤Ç¤¤ë¤À¤±¸ÇÄê¤ò¤·¡¢Á°Êý¤Ø¤ÎÅݤ줳¤ß¤ò·Ú¸º¤¹¤ë¤¿¤á¤Ë2ËçÌܤβèÁü¤Î¤è¤¦¤Ë¥¿¥¤¥ä¤ò¤Ä¤±¤Þ¤·¤¿¡£
&ref(2019b/Member/LaiHen/Mission2/KD22.jpg,25%,¥í¥Ü¥Ã¥È¤ÎÁ´ÂβèÁü);
&ref(2019b/Member/LaiHen/Mission2/KD21.jpg,25%,Êä½õÎزèÁü);
&ref(2019b/Member/LaiHen/Mission2/KD24.jpg,25%,¥»¥ó¥µ¡¼´Ø·¸¤Î²èÁü);
** ¥í¥Ü¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Î¤Þ¤È¤á [#c64c38da]
Á°²ó¤Ï¤¢¤Þ¤ê¥í¥Ü¥Ã¥È¤Ë¤«¤«¤ï¤é¤Ê¤«¤Ã¤¿¤Î¤Ç¤¤¤í¤¤¤í¤È»î¹Ôºø¸í¤·¤Æ¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤Þ¤·¤¿¡£¤Ç¤¹¤¬°ÂÄꤵ¤»¤ë¤³¤È¤ò½Å»ë¤¹¤ë¤¢¤Þ¤ê¤«¤Ê¤êÂ礤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£²ÝÂê¤ÎÆâÍƤ«¤é¹Í¤¨¤ë¤È¤Ç¤¤ë¤À¤±¥³¥ó¥Ñ¥¯¥È¤ÎÊý¤¬Ë¾¤Þ¤·¤¤¤È»×¤¦¤Î¤Ç¡¢¼¡²ó¤Ï²ÝÂê¤òãÀ®¤¹¤ë¤À¤±¤Ç¤Ê¤¯¤½¤Î²ÝÂê¤Ë¤Õ¤µ¤ï¤·¤¤¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤è¤¦¤È»×¤¤¤Þ¤¹¡£
* ¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ [#f9aa9a86]
** ¥×¥í¥°¥é¥à¤Î¥·¥¹¥Æ¥à¤Ë¤Ä¤¤¤Æ [#i0b559db]
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï¹õÀþ¤Î¾å¤ò¿Ê¤à¤Î¤Ç¤Ï¤Ê¤¯¹õ¤ÈÇò¤Î¶³¦Éôʬ¤ò¿Ê¤ó¤Ç¤¤¤¯ÊýË¡¤Ç¹Ô¤¤¤Þ¤¹¡£¤Þ¤¿¡¢º£²ó¤Ï¥í¥Ü¥Ã¥È¤Îºî¶ÈÎ̤¬Â¿¤¤¤¿¤áÆ°¤¤ÎÄ´À°¤ò´Êñ¤Ë¤Ç¤¤ë¤è¤¦¤Ë¤¤¤¯¤Ä¤«¤Î¿ôÃͤòÆþÎϤ¹¤ì¤Ð¸å¤Ï¤¹¤Ù¤Æ·×»»¤ò¤·¡¢Ãͤò·èÄꤷ¤Æ¤¤¤¯»ÅÁȤߤˤ·¤Þ¤¹¡£²Ã¤¨¤Æ¡¢Æ°ºî¤´¤È¤Ë´Ø¿ô¤òºîÀ®¤·¸å¤«¤éÆ°¤¤Î»Ø¼¨¤ò¤·¤ä¤¹¤¯¤·¤Þ¤¹¡£¤³¤ì¤é¤ò¤â¤È¤ËºîÀ®¤·¤¿¤Î¤¬°Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç¤¹¡£
#!/usr/bin/env python3
from ev3dev2.motor import *
from ev3dev2.sensor import *
from ev3dev2.sensor.lego import *
from time import *
Wmax,Bmax,spmax,spmin,brockch,tst=75,5,8,4,6,1.5
tw = MoveTank(OUTPUT_B, OUTPUT_C)
Mm= MediumMotor(OUTPUT_A)
cs,ts,us = ColorSensor(),TouchSensor(),UltrasonicSensor()
us.mode = 'US-DIST-CM'
Mv=(Wmax+Bmax)/2
Lp=(Wmax-Mv)/4
llp=2*Lp
spab=(spmax+spmin)/2
Clev=[Wmax,Wmax-Lp,Mv+Lp,Mv-Lp,Bmax+Lp,Bmax]
class Linetorace:
def __init__(self,a):
self.cv=a
self.colortyp,self.dcv,self.lesp,self.risp=0,0,0,0
self.typcheck()
self.movesp()
def typcheck(self):
for i in range(5):
if Clev[i+1]<=self.cv<Clev[i]:
self.colortyp=i
self.dcv=Clev[i]-self.cv
def movesp(self):
zuw=round(self.dcv/llp,1)
if self.colortyp==0:
self.lesp=spab-(spab-spmin)*zuw
self.risp=-spmin
elif self.colortyp==1:
self.lesp=spmax
self.risp=spab+(spmax-spab)*zuw
elif self.colortyp==2:
self.lesp=spmax
self.risp=spmax
elif self.colortyp==3:
self.lesp=spab+(spmax-spab)*zuw
self.risp=spmax
else:
self.lesp=-spmin
self.risp=spab-(spab-spmin)*zuw
class root:
def __init__(self,v1,v2):
self.typ,self.chst=v1,v2
def action(self):
if self.typ==0:
follow_line(self.chst,50)
elif self.typ==1:
closs(self.chst)
elif self.typ==2:
fetch_cuboid(self.chst)
else:
gostart()
def follow_line(chst,ched):#¥é¥¤¥ó¥È¥ì¡¼¥¹ÍÑ¥×¥í¥°¥é¥à
sttime1,notime1 = time(),time()
bcon=0
while not (ts.is_pressed) and not ((notime1-sttime1)>ched):
cvp = cs.reflected_light_intensity
MLT=Linetorace(cvp)
if MLT.colortyp==4:
bcon=bcon+1
else:
bcon=0
notime1=time()
if (chst <= (notime1-sttime1) <=ched) and (bcon== brockch):
break
tw.on(MLT.lesp,MLT.risp)
sleep(0.1)
tw.off()
def closs(pp):#¸òº¹ÅÀ¤Èľ³Ñ¥«¡¼¥Ö¤ÎºÝ¤Î¹ÔÆ°ÍÑ¥×¥í¥°¥é¥à
cvp= cs.reflected_light_intensity
MLT = Linetorace(cvp)
tw.on(-MLT.lesp,-MLT.risp)
sleep(0.1*brockch)
tw.off()
if pp==0:
follow_line(tst,tst+0.1)
else:
sleep(5)
if pp==1:
follow_line(tst,tst+0.1)
elif pp==2:
tw.on_for_seconds(spmax,spmax,1)
else:
sttime=time()
notime=time()
while (notime- sttime <=tst):
cvp= cs.reflected_light_intensity
MLT= Linetorace(cvp)
tw.on(MLT.risp,MLT.lesp)
sleep(0.1)
notime=time()
tw.off()
def fetch_cuboid(edti):#¥é¥¤¥ó¥È¥ì¡¼¥¹¸å¥¥å¡¼¥Ö¤ò²ó¼ý¤·U¥¿¡¼¥ó¡¢¤½¤Î¸å¥é¥¤¥ó¥È¥ì¡¼¥¹ºÆ³«
sttime2 = time()
fase=0
while not (ts.is_pressed):
cvp= cs.reflected_light_intensity
MLT= Linetorace(cvp)
tw.on(MLT.risp,MLT.lesp)
notime2= time()
txle= us.distance_centimeters
if txle <= 4 :
tw.on(0,0)
Mm.on_for_seconds(-10,1.2)
tw.on_for_degrees(-spmax,spmax,360)
fase=1
break
if (notime2-sttime2) >= edti:
fase=1
break
sleep(0.1)
if fase==1:
follow_line(5,edti)
tw.off()
Mm.off()
def gostart():#¥¹¥¿¡¼¥È»þ¤ÎÁ°¿ÊÍÑ¥×¥í¥°¥é¥à
tw.on_for_seconds(spmax,spmax,2)
def main():
MAP=[root(4,0),root(0,0),root(1,0),root(0,0),root(1,1),root(0,0),root(1,1),root(2,30),root(0,20),root(1,2)]
for i in range(len(MAP)):
if not ts.is_pressed:
MAP[i].action()
else:
break
print("all clear")
if __name__ == '__main__':
main()
¤³¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ°Ê²¼¤Ç8¤Ä¤Ëʬ¤±¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Æ¤¤¤¤Þ¤¹
** ¡¥×¥í¥°¥é¥à¤Î»öÁ°ÀßÄê¤È´ð½àÃͤλ»½Ð [#xacf6790]
#!/usr/bin/env python3
from ev3dev2.motor import *
from ev3dev2.sensor import *
from ev3dev2.sensor.lego import *
from time import *
¤³¤ÎÉôʬ¤ÇɬÍפÊʪ¤Î¥¤¥ó¥Ý¡¼¥È¤ò¤¹¤ë
Wmax,Bmax,spmax,spmin,brockch,tst=75,5,8,4,6,1.5
¤³¤³¤Ç»È¤¦¿ôÃͤòÆþÎϤ·¤Þ¤¹¡£¤³¤ÎÉôʬ°Ê³°¤Ç¤Ï¶ËÎÏ¿ôÃͤòľÀÜ»ØÄꤷ¤Ê¤¤¤Ç¤ª¤¯¤³¤È¤Ç¥×¥í¥°¥é¥àÁ´ÂΤÎÄ´À°¤ò´Êñ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
ÆþÎϤ¹¤ë¤Î¤Ï
+ Çò¿§¤Î¥»¥ó¥µ¡¼¤ÎÃÍ(Wmax) ==75
+ ¹õ¿§¤Î¥»¥ó¥µ¡¼¤ÎÃÍ(Bmax) ==5
+ ¥â¡¼¥¿¡¼¤ÎºÇ¹â®ÅÙ(spmax) ==8
+ ¥â¡¼¥¿¡¼¤ÎºÇÄã®ÅÙ(spmin) ==4
+ ¸òº¹ÅÀȽÃǤ¹¤ë¹õ¿§¤Î¥«¥¦¥ó¥ÈÃÍ(brockch) ==6
+ ¸òº¹ÅÀÅù¤Î¥³¥Þ¥ó¥É¤Î·Ñ³»þ´Ö(tst) ==1.5
¾åµ¤Î6¤Ä¤Ç¤¹¡£¤³¤ì°Ê³°¤Î¿ôÃͤϤ³¤ì¤é¤ò¤â¤È¤Ë·×»»¤·¤Æ¤¤¤¤Þ¤¹
tw = MoveTank(OUTPUT_B, OUTPUT_C)
Mm= MediumMotor(OUTPUT_A)
cs,ts,us = ColorSensor(),TouchSensor(),UltrasonicSensor()
us.mode = 'US-DIST-CM'
¥â¡¼¥¿¡¼¤ä¥»¥ó¥µ¡¼¤ò»È¤¦¤¿¤á¤Î½àÈ÷¤ò¹Ô¤¤¤Þ¤¹¡£
Mv=(Wmax+Bmax)/2
Lp=(Wmax-Mv)/4
llp=2*Lp
spab=(spmax+spmin)/2
Clev=[Wmax,Wmax-Lp,Mv+Lp,Mv-Lp,Bmax+Lp,Bmax]
ÆþÎϤµ¤ì¤¿¿ôÃͤ«¤é¥×¥í¥°¥é¥à¤Ç»È¤¦¤â¤Î¤Î·èÄê¤ò¤·¤Æ¤¤¤¤Þ¤¹¡£
*** Çò¿§¤È¹õ¿§¤Î¶³¦Àþ¡Ê³¥¿§¡Ë¤Ç¤Î¥»¥ó¥µ¡¼¤Î¿ôÃÍ [#za6788aa]
³¥¿§¤ÎÃͤò·×¬¤¹¤ë¾ì¹çÀµ³Î¤Ë¶³¦Àþ¤ÎÃæ±û¤ò¬¤ë¤³¤È¤ÏÆñ¤·¤¤¤¿¤á¡¢ºÙ¤«¤¯¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤º¤é¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤½¤Î¤¿¤áÇò¿§¤È¹õ¿§¤ÎÃͤÎÊ¿¶ÑÃͤò³¥¿§¤ÎÃͤˤ·¤¿¡£
Mv=(Wmax+Bmax)/2
*** ¿§¤ÎÃʳ¬¤òȽÃǤÎÈϰϤò·èÄꤹ¤ë [#n6c736ea]
Çò¤«¤é¹õ¤Þ¤Ç¤ò¶ÑÅù¤Ëʬ¤±¤ë¤Î¤Ë»È¤¦¡£¤³¤³¤Ç¤Ï¡ÊÇò¿§¤ÎÃÍ-³¥¿§¤ÎÃÍ¡Ë/4¤È¤¹¤ë¡£
Lp=(Wmax-Mv)/4
llp=2*Lp
*** ®ÅÙ¤ÎÊ¿¶ÑÃͤò·èÄê [#wcf781ed]
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î®Å٤η׻»¤ÎºÝ¤ËºÇ¹â®Å٤ȺÇÄã®ÅÙ¤ÎÊ¿¶ÑÃͤò»È¤¦¤¿¤áÀè¤Ë·×»»¤·¤Æ¤ª¤¯
spab=(spmax+spmin)/2
*** ¿§¤ÎÈϰϤδð½àÃͤò¥ê¥¹¥È¤È¤·¤Æ·èÄꤹ¤ë [#y1019516]
Çò¤«¤é¹õ¤Þ¤Ç¤ò5Ãʳ¬¤Ëʬ¤±¤ë¤È¤¤Î´ð½àÃͤòÀè¤Ëµá¤á¤¿¿ôÃͤ«¤é·è¤á¤ë
³ÆÃʳ¬¤Î´ð½àÃͤÏ
+ Wmax¡ÁWmax-Lp
+ Wmax-Lp¡ÁMv+Lp
+ Mv+Lp¡ÁMv-Lp
+ Mv-Lp¡ÁBmax+Lp
+ Bmax+Lp¡ÁBmax
Clev=[Wmax,Wmax-Lp,Mv+Lp,Mv-Lp,Bmax+Lp,Bmax]
** ¢¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤΥ¯¥é¥¹ [#dc918a51]
class Linetorace:
def __init__(self,a):
self.cv=a
self.colortyp,self.dcv,self.lesp,self.risp=0,0,0,0
self.typcheck()
self.movesp()
def typcheck(self):
for i in range(5):
if Clev[i+1]<=self.cv<Clev[i]:
self.colortyp=i
self.dcv=Clev[i]-self.cv
def movesp(self):
zuw=round(self.dcv/llp,1)
if self.colortyp==0:
self.lesp=spab-(spab-spmin)*zuw
self.risp=-spmin
elif self.colortyp==1:
self.lesp=spmax
self.risp=spab+(spmax-spab)*zuw
elif self.colortyp==2:
self.lesp=spmax
self.risp=spmax
elif self.colortyp==3:
self.lesp=spab+(spmax-spab)*zuw
self.risp=spmax
else:
self.lesp=-spmin
self.risp=spab-(spab-spmin)*zuw
°ú¿ô¤È¤·¤ÆÁ÷¤é¤ì¤Æ¤¤¿¥«¥é¡¼¥»¥ó¥µ¡¼¤ÎÃͤò5Ãʳ¬¤Î¤¦¤Á¤É¤ì¤Ë³ºÅö¤¹¤ë¤«¤òȽÄꤹ¤ë¡£¤½¤Î¸å¤½¤ì¤¾¤ì¤ÎÃʳ¬¤´¤È¤Ëº¸±¦¤Î¥â¡¼¥¿¡¼¤Î®ÅÙ¤ò·è¤á¤ë¡£
** £¥ë¡¼¥È»ØÄêÍѤΥ¯¥é¥¹ [#o79a6f60]
class root:
def __init__(self,v1,v2):
self.typ,self.chst=v1,v2
def action(self):
if self.typ==0:
follow_line(self.chst,50)
elif self.typ==1:
closs(self.chst)
elif self.typ==2:
fetch_cuboid(self.chst)
else:
gostart()
mainÉôʬ¤Ç¥ë¡¼¥È¤Î¥³¡¼¥É¤òÂǤÁ¹þ¤ó¤Ç¤¤¤¯¤Î¤ÏÂçÊѤʤΤÇ2¤Ä¤Î°ú¿ô¤Ç¥ë¡¼¥È¤ò»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿¡£
** ¤Ä̾ï»þ¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹ÍѤδؿô [#z4db0b7e]
def follow_line(chst,ched):#¥é¥¤¥ó¥È¥ì¡¼¥¹ÍÑ¥×¥í¥°¥é¥à
sttime1,notime1 = time(),time()
bcon=0
while not (ts.is_pressed) and not ((notime1-sttime1)>ched):
cvp = cs.reflected_light_intensity
MLT=Linetorace(cvp)
if MLT.colortyp==4:
bcon=bcon+1
else:
bcon=0
notime1=time()
if (chst <= (notime1-sttime1) <=ched) and (bcon== brockch):
break
tw.on(MLT.lesp,MLT.risp)
sleep(0.1)
tw.off()