2018b/Member

²ÝÂê

º£²ó¤Î²ÝÂê¤Ï¥é¥¤¥ó¥È¥ì¡¼¥¹¡¡²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥³¡¼¥¹¤ò³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¡¢¡Ö¥ß¥Ã¥·¥ç¥ó¡×¤ò¿ë¹Ô¤¹¤ë¤¿¤á¤Î¥í¥Ü¥Ã¥È¤òºîÀ®¤¹¤ë¡£

¥³¡¼¥¹¡¡

Àþ¤ÎÉý¤Ï20­Ð¤Ç¤Ê¤ë¤Ù¤¯¶ÑÅù¤ÊÇ»¤µ¤Ë¤¹¤ë¤³¤È¡£¤Ê¤ª¿Þ¤ÎÃæ¤ÎÀ£Ë¡¤Îñ°Ì¤Ï­Ñ¤Ç¡¢¹õÀþ¤Ë¤Ä¤¤¤Æ¤Ï¤½¤Î¿¿¤óÃ椫¤é¤Îµ÷Î¥¤Ç¤¢¤ë

robot01.png

¥ß¥Ã¥·¥ç¥ó

¼¡¤Î¤¤¤º¤ì¤«¤Î¥³¡¼¥¹¤Ç¹õ¤¤Àþ¤Ë±è¤Ã¤ÆÆ°¤­ÅÓÃæ¤Ç¥Ü¡¼¥ë¤ò¥´¡¼¥ëÉÕ¶á¤ËΩ¤Æ¤¿350ml¤Î¶õ¤­´Ì¡Ê²«¿§¤Çɽ¼¨¡Ë¤ËÅö¤Æ¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤»¤è¡£¡ÊÁêÊý¤È°ã¤¦¥³¡¼¥¹¤òÁª¤Ö¤³¤È¡Ë

Âè°ì¥³¡¼¥¹

1.¥í¥Ü¥Ã¥È¤òĹÊý·ÁXÆâ¤Ë¤ª¤­¡¢A¤ò¥¹¥¿¡¼¥È 2.B¤ò±¦ÀÞ 3.K¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ 4.J¤òľ¿Ê 5.I¤òľ¿Ê 6.H¤òº¸ÀÞ 7.G¤Ç°ì»þÄä»ß¤·¤Æº¸ÀÞ 8.E¤Ç°ì»þÄä»ß¤·¤Æ±¦ÀÞ 9.L¤ò·Ð¤ÆÀµÊý·ÁYÆâ¤ËÆþ¤Ã¤ÆÄä»ß

(°ì»þÄä»ß¤Î»ØÄ꤬¤¢¤ë¾ì½ê¤Ï¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È)

¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌKJIH¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤­´Ì¤ËÅö¤Æ¤ë

ÂèÆ󥳡¼¥¹

1.¥í¥Ü¥Ã¥È¤òÀµÊý·ÁXÆâ¤Ë¤ª¤­¡¢L¤ò¥¹¥¿¡¼¥È 2.E¤ò°ì»þÄä»ß¤·¤Æľ¿Ê 3.I¤ò°ì»þÄä»ß¤·¤Æº¸ÀÞ 4.H¤òľ¿Ê 5.K¤òľ¿Ê 6.J¤òº¸ÀÞ 7.C¤ò°ì»þÄä»ß¤·¤Æ±¦ÀÞ 8.E¤ò°ì»þÄä»ß¤·¤Æľ¿Ê 9.G¤ò°ì»þÄä»ß¤·¤Æľ¿Ê 10.ĹÊý·ÁXÆâ¤ËÆþ¤Ã¤ÆÄä»ß

(°ì»þÄä»ß¤Î»ØÄ꤬¤¢¤ë¾ì½ê¤Ï¡¢1ÉôÖÄä»ß¤¹¤ë¤³¤È)

¥Ü¡¼¥ë¤Ï¥í¥Ü¥Ã¥È¤¬¸ÌIHKJ¾å¤Ë¤¢¤ë»þ¤ËQÃÏÅÀ¤Î¶õ¤­´Ì¤ËÅö¤Æ¤ë

Ãí°Õ

¡¦°ì»þÄä»ß¤Î»Ø¼¨¤¬¤¢¤ë¸òº¹ÅÀ¤ÈÃú»úÏ©¡¢¤ª¤è¤Ó¥Ü¡¼¥ë¤òÅꤲ¤ë»þ°Ê³°¤ÏÄä»ß¤·¤Ê¤¤¤³¤È¡£ ¡¦°ì¤Ä¤Î¸òº¹ÅÀ(or T»úÏ© or ľ³Ñ¥«¡¼¥Ö)¤«¤é¼¡¤Î¸òº¹ÅÀ(or T»úÏ© or ľ³Ñ¥«¡¼¥Ö)¤Þ¤Ç¤Î°ÜÆ°¤ò°ì¤Ä¤Î´Ø¿ô¤ÇÄêµÁ¤¹¤ë¤³¤È¡£ ¡¦Á°¤Î¸òº¹ÅÀ¤«¤é¤Î»þ´Ö¤äµ÷Î¥¤òÈùÄ´À°¤·¤Æ¸òº¹ÅÀ¤òȽÃǤ¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢Ä̾ï¤Î¥«¡¼¥Ö¤È¸òº¹ÅÀ¤Î°ã¤¤¤ò¸÷¥»¥ó¥µ¤ÎÃͤ«¤éȽÃǤ¹¤ë¤³¤È¡£

¥í¥Ü¥Ã¥È¤ÎÀâÌÀ

IMG_0795-min.jpg

¤³¤ì¤¬¥í¥Ü¥Ã¥È¤ÎÁ´ÂοޤǤʤë¤Ù¤¯¥·¥ó¥×¥ë¤Ê·Á¤Ë¤·¤¿ ¥«¥é¡¼¥»¥ó¥µ¡¼¤ÈĶ²»ÇÈ¥»¥ó¥µ¡¼¤ò¤Û¤ÜÃæ¿´¤Ë¼è¤êÉÕ¤±¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤¬º¸±¦ÂоΤˤä¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¤Þ¤¿¶õ¤­´Ì¤Î°ÌÃÖ¤ò¤è¤êÀµ³Î¤ËÄ´¤Ù¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ ¤½¤·¤Æ¥Ü¡¼¥ë¤Ï¥â¡¼¥¿¡¼¤ò²óž¤µ¤»¤Æ½³¤ê½Ð¤¹·Á¤Çȯ¼Í¤µ¤»¤ë¤è¤¦¤Ë¤·¤¿¡£

¥×¥í¥°¥é¥à

¤Ï¤¸¤á¤Ë

¤½¤ì¤¾¤ì¤Î¥»¥ó¥µ¡¼¤È¥â¡¼¥¿¡¼¤ò°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë

#!/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¤È¤·¤ÆÄêµÁ¤·¤¿

¥é¥¤¥ó¥È¥ì¡¼¥¹¤Î¥×¥í¥°¥é¥à

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¤Ç¤Þ¤Ã¤¹¤°¿Ê¤ó¤Ç¸òº¹ÅÀ¤ò±Û¤¨¤ë¤è¤¦¤Ë¤·¤¿

´Ì¤òȯ¸«¤·È¯¼Í¤¹¤ë¥×¥í¥°¥é¥à

¤Þ¤º¤Ï´Ì¤òȯ¸«¤¹¤ë¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ

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¤ò²óž¤µ¤»¤Æ¥Ü¡¼¥ë¤òȯ¼Í¤¹¤ë

¤Þ¤È¤á

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

°Ê¾å¤¬¥í¥Ü¥Ã¥È¤òÆ°¤«¤¹¥×¥í¥°¥é¥à¤Ç¤¢¤ë

´¶ÁÛ

À®¸ùΨ¤È¤·¤Æ¤Ï50%¤¯¤é¤¤¤Çȯɽ²ñ¤Ç¤Ï¼ºÇÔ¤ò¤·¤Æ¤·¤Þ¤Ã¤¿¡£ ¸¶°ø¤È¤·¤Æ¤Ï¸òº¹ÅÀ¤òȯ¸«¤¹¤ëÀ©ÅÙ¤¬¹â¤¯¤Ê¤¯Ç§¼±¤·¤Ê¤«¤Ã¤¿¤ê¸íǧ¼±¤òµ¯¤³¤·¤Æ¤·¤Þ¤Ã¤¿¤«¤é¤À¤È¹Í¤¨¤é¤ì¤ë


źÉÕ¥Õ¥¡¥¤¥ë: fileIMG_0795-min.jpg 178·ï [¾ÜºÙ] filerobot01.png 129·ï [¾ÜºÙ]

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2019-02-13 (¿å) 23:07:53