2016a/Member/takuya/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*目次 [#x421dcc9]
#contents
*はじめに [#u0445827]
#ref(DSC_0459.JPG)
今回の課題は経路を黒い線にそって動くロボットの作成である...
私はB地点からC地点へ ・B地点 → ?R右折 → ?Q直進 → ?Q直進 →...
*ロボットの説明 [#g224fc57]
#ref(DSC_0439.JPG)
今回、黒線と下地の白の左側の境界に合わせてライントレース...
#ref(DSC_0445.JPG)
また、走行中に黒と白のColorValueを安定させるため、ColorSe...
*プログラムの説明 [#x7a17a04]
#!/usr/bin/python
import ev3dev.ev3 as ev3
import time
まず、ev3とtime関数を導入する。
ml = ev3.LargeMotor('outA')
mr = ev3.LargeMotor('outB')
cs = ev3.ColorSensor('in1')
mlを機体左のモーター~
mrを機体右のモーターとした。~
csは機体前方に取り付けたカラーセンサーである。
def line_follow():
t0 = time.time()
while time.time() - t0 < 0.3 :
if cs.value () > 38 :
mr.run_forever(duty_cycle_sp=0)
ml.run_forever(duty_cycle_sp=30)
t0 = time.time()
elif cs.value () > 30 :
mr.run_forever(duty_cycle_sp=20)
ml.run_forever(duty_cycle_sp=20)
t0 = time.time()
elif cs.value () > 12 :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-15)
t0 = time.time()
else :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-5)
次に行ったのはカラーセンサーを使った通常のライントレース...
t0 = time.time()
while time.time() - t0 < 0.3 :
上記のプログラムはev3が下記で説明するifまたは、elifの内容...
それではif、elifのプログラムを見ていこう。
if cs.value () > 38 :
mr.run_forever(duty_cycle_sp=0)
ml.run_forever(duty_cycle_sp=30)
t0 = time.time()
ここで、if構文を用いてまずcs.valueが38を超えるとき、つま...
elif cs.value () > 30 :
mr.run_forever(duty_cycle_sp=20)
ml.run_forever(duty_cycle_sp=20)
t0 = time.time()
elif cs.value () > 12 :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-15)
t0 = time.time()
そして上記に続き、elif構文を用い、cs.valueが31〜38の時、...
else :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-5)
最後にelse文を用いて、上記のプログラムを全て通過したとき...
def cross_forward(t):
mr.run_forever(duty_cycle_sp=10)
ml.run_forever(duty_cycle_sp=20)
time.sleep(t/1000)
mr.stop()
ml.stop()
def cross_left(t):
mr.run_forever(duty_cycle_sp=20)
ml.run_forever(duty_cycle_sp=-20)
time.sleep(t/1000)
mr.stop()
ml.stop()
def cross_right(t):
mr.run_forever(duty_cycle_sp=-10)
ml.run_forever(duty_cycle_sp=30)
time.sleep(t/1000)
mr.stop()
ml.stop()
上記のプログラムでは前回の課題1を利用して交差点で止まっ...
下記が実際のライントレースのB地点からC地点のプログラミン...
line_follow() #B地点から?の交差点までライ...
mr.stop() #交差点でストップ
ml.stop()
time.sleep(3)
cross_right(2000) #?の交差点を右折
line_follow() #?の交差点を過ぎてから?の交...
mr.stop() #交差点でストップ
ml.stop()
time.sleep(3)
cross_forward(1000) #?の交差点を直進
line_follow() #?の交差点から?の交差点まで...
mr.stop() #交差点でストップ
ml.stop()
time.sleep(3)
cross_forward(1000) #?の交差点を直進
line_follow() #?の交差点から?の交差点まで...
mr.stop() #?の交差点でストップ
ml.stop()
time.sleep(3)
cross_right(2000) #?の交差点を右折
line_follow() #?の交差点から?の交差点まで...
mr.stop() #?の交差点でストップ
ml.stop()
time.sleep(3)
cross_right(2000) #?の交差点を右折
line_follow() #?の交差点からC地点までライ...
mr.stop() #C地点の入り口でストップ
ml.stop()
cross_forward(3000) #C地点に入ってストップ
*感想 [#wa9bb61f]
今回の課題では、前回のプログラミングを生かして交差点での...
終了行:
*目次 [#x421dcc9]
#contents
*はじめに [#u0445827]
#ref(DSC_0459.JPG)
今回の課題は経路を黒い線にそって動くロボットの作成である...
私はB地点からC地点へ ・B地点 → ?R右折 → ?Q直進 → ?Q直進 →...
*ロボットの説明 [#g224fc57]
#ref(DSC_0439.JPG)
今回、黒線と下地の白の左側の境界に合わせてライントレース...
#ref(DSC_0445.JPG)
また、走行中に黒と白のColorValueを安定させるため、ColorSe...
*プログラムの説明 [#x7a17a04]
#!/usr/bin/python
import ev3dev.ev3 as ev3
import time
まず、ev3とtime関数を導入する。
ml = ev3.LargeMotor('outA')
mr = ev3.LargeMotor('outB')
cs = ev3.ColorSensor('in1')
mlを機体左のモーター~
mrを機体右のモーターとした。~
csは機体前方に取り付けたカラーセンサーである。
def line_follow():
t0 = time.time()
while time.time() - t0 < 0.3 :
if cs.value () > 38 :
mr.run_forever(duty_cycle_sp=0)
ml.run_forever(duty_cycle_sp=30)
t0 = time.time()
elif cs.value () > 30 :
mr.run_forever(duty_cycle_sp=20)
ml.run_forever(duty_cycle_sp=20)
t0 = time.time()
elif cs.value () > 12 :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-15)
t0 = time.time()
else :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-5)
次に行ったのはカラーセンサーを使った通常のライントレース...
t0 = time.time()
while time.time() - t0 < 0.3 :
上記のプログラムはev3が下記で説明するifまたは、elifの内容...
それではif、elifのプログラムを見ていこう。
if cs.value () > 38 :
mr.run_forever(duty_cycle_sp=0)
ml.run_forever(duty_cycle_sp=30)
t0 = time.time()
ここで、if構文を用いてまずcs.valueが38を超えるとき、つま...
elif cs.value () > 30 :
mr.run_forever(duty_cycle_sp=20)
ml.run_forever(duty_cycle_sp=20)
t0 = time.time()
elif cs.value () > 12 :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-15)
t0 = time.time()
そして上記に続き、elif構文を用い、cs.valueが31〜38の時、...
else :
mr.run_forever(duty_cycle_sp=30)
ml.run_forever(duty_cycle_sp=-5)
最後にelse文を用いて、上記のプログラムを全て通過したとき...
def cross_forward(t):
mr.run_forever(duty_cycle_sp=10)
ml.run_forever(duty_cycle_sp=20)
time.sleep(t/1000)
mr.stop()
ml.stop()
def cross_left(t):
mr.run_forever(duty_cycle_sp=20)
ml.run_forever(duty_cycle_sp=-20)
time.sleep(t/1000)
mr.stop()
ml.stop()
def cross_right(t):
mr.run_forever(duty_cycle_sp=-10)
ml.run_forever(duty_cycle_sp=30)
time.sleep(t/1000)
mr.stop()
ml.stop()
上記のプログラムでは前回の課題1を利用して交差点で止まっ...
下記が実際のライントレースのB地点からC地点のプログラミン...
line_follow() #B地点から?の交差点までライ...
mr.stop() #交差点でストップ
ml.stop()
time.sleep(3)
cross_right(2000) #?の交差点を右折
line_follow() #?の交差点を過ぎてから?の交...
mr.stop() #交差点でストップ
ml.stop()
time.sleep(3)
cross_forward(1000) #?の交差点を直進
line_follow() #?の交差点から?の交差点まで...
mr.stop() #交差点でストップ
ml.stop()
time.sleep(3)
cross_forward(1000) #?の交差点を直進
line_follow() #?の交差点から?の交差点まで...
mr.stop() #?の交差点でストップ
ml.stop()
time.sleep(3)
cross_right(2000) #?の交差点を右折
line_follow() #?の交差点から?の交差点まで...
mr.stop() #?の交差点でストップ
ml.stop()
time.sleep(3)
cross_right(2000) #?の交差点を右折
line_follow() #?の交差点からC地点までライ...
mr.stop() #C地点の入り口でストップ
ml.stop()
cross_forward(3000) #C地点に入ってストップ
*感想 [#wa9bb61f]
今回の課題では、前回のプログラミングを生かして交差点での...
ページ名: