2019a/Member/hiroe/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
#contents
*課題3 [#jd7a5d28]
コース上に置いてあるピンポン球を拾い、カップの中にいれよ...
*課題2の反省から [#m57ee3dd]
課題2の反省点に、ピンポン球を拾う際ロボットの位置が少し...
&ref(2019a/Member/hiroe/Mission3/拾える.png,50%,許容範囲);
許容範囲が狭いとロボットの位置に精密な調整が必要になる。...
*ピンポン球の拾い方、運び方、入れ方 [#m0d41825]
ピンポン球の拾うためにつまむ、すくうという方法をとると許...
&ref(2019a/Member/hiroe/Mission3/hakobu.png,50%,運ぶ);
プラ容器に入ったピンポン球は拾う際のアームとは別のアーム...
&ref(2019a/Member/hiroe/Mission3/アーム.png,50%,アーム);
入れるときは囲んだアームを回転させ、ピンポン球を外にはじ...
&ref(2019a/Member/hiroe/Mission3/シュート.png,50%,シュー...
*ロボット [#r2215c7c]
&ref(2019a/Member/hiroe/Mission3/全体.jpg,20%,全体);
2台分のEV3が使えるのでカラーセンサーを2個ミディアムモータ...
-アーム
&ref(2019a/Member/hiroe/Mission3/aamu.jpg,20%,アーム拡大);
アームにはアームに垂直になるように1本棒を付けた。これを付...
-受け皿
&ref(2019a/Member/hiroe/Mission3/sara.jpg,20%,sara);
ピンポン球を囲い、運ぶ受け皿は奥にいくほど狭まるようにし...
&ref(2019a/Member/hiroe/Mission3/飛んでく.png,50%,飛んで...
&ref(2019a/Member/hiroe/Mission3/飛んでかない.png,50%,飛...
&ref(2019a/Member/hiroe/Mission3/きょよ.png,50%,きょよ);
*道のり [#hdbfc730]
今回ロボットが進む道のりは以下の通りである。
&ref(2019a/Member/hiroe/Mission3/miti.jpg,50%,道);
+直進し直線AMを認識する。
+プラ容器の位置まで前進し左回転する。
+前進し、直線KLの一つ手前の直線を認識する。
+位置を前後微調整し、アームを下ろしピンポン球を囲う。
+左回転し、直線B'C'を認識する。
+位置を前後微調整し、再びアームを下ろしピンポン球を入れる。
*プログラム [#ybbc30b5]
**始めに [#r2934aff]
-ev3dev用に書かれたpythonライブラリやsleep関数などを導入...
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import *
mR = LargeMotor('outC')
mL = LargeMotor('outA')
csR = ColorSensor('in1')
csL = ColorSensor('in2')
arm = LargeMotor('outD')
hand = MediumMotor('outB')
armがプラ容器を倒すアーム、handがピンポン球を囲むアームを...
基本的な関数を定義する。
def migi(a):
sleep(1)
mR.run_timed(speed_sp=100, time_sp=a, stop_actio...
def hidari(b):
sleep(1)
mL.run_timed(speed_sp=100, time_sp=b, stop_actio...
migiで左タイヤを軸に右に回転、hidariで右タイヤを軸に左に...
def bihidari(c):
mR.run_timed(time_sp=c, speed_sp=100, stop_actio...
mL.run_timed(time_sp=c, speed_sp=-100, stop_acti...
def bimigi(d):
mR.run_timed(time_sp=d, speed_sp=-100, stop_acti...
mL.run_timed(time_sp=d, speed_sp=100, stop_actio...
bihidariでロボット中心に左回転、bimigiでロボット中心に右...
def koutai(e):
mR.run_timed(speed_sp=-100, time_sp=e, stop_acti...
mL.run_timed(speed_sp=-100, time_sp=e, stop_acti...
def zensin(f):
mR.run_timed(speed_sp=100, time_sp=f, stop_actio...
mL.run_timed(speed_sp=-00, time_sp=f, stop_actio...
sleep(1)
koutaiで後進、zensinで前進する。
def zensin_forever(g):
mR.run_forever(speed_sp=-g, stop_action='brake')
mL.run_forever(speed_sp=-g, stop_action='brake')
zensin_foreverでstopメゾットが入るまで前進し続ける。
**ライントレース [#yd8674c6]
今回は2台分のEV3が使えるので一台のEV3にカラーセンサーを2...
def Trace_Method():
while True:
if csL.value() >= 15 and csR.value() >= 15:
zensin_forever(100)
sleep(0.1)
elif csL.value() <= 14 and csR.value() >= 15:
bihidari(100)
sleep(0.1)
elif csL.value() >= 15 and csR.value() <= 14:
bimigi(100)
else:
mR.stop()
mL.stop()
sleep(0.1)
break
交差点と認識したら別の行程に入るためbreakを入れWhile文か...
**メインプログラム [#nf0994b1]
「道のり」にある順番通りにプログラムを載せる。
1 直進し直線AMを認識する。
Trace_Method()
sleep(0.1)
2 プラ容器の位置まで前進し左回転する。
zensin_forever(100)
sleep(4)
mL.stop()
mR.stop()
bihidari(1900)
sleep(2.1)
3 前進し、直線KLの一つ手前の直線を認識する。
Trace_Method()
sleep(0.1)
4 位置を前後微調整し、アームを下ろしピンポン球を囲う。
zensin_forever(100)
sleep(0.3)
mL.stop()
mR.stop()
arm.reset()
sleep(0.1)
arm.run_to_rel_pos(position_sp=160, speed_sp=250, stop_a...
sleep(3)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=250, stop_...
hand.reset()
sleep(2)
arm.reset()
arm.run_to_rel_pos(position_sp=160, speed_sp=250, stop_a...
sleep(2)
hand.run_to_rel_pos(position_sp=80, speed_sp=300, stop_a...
sleep(1)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=100, stop_...
sleep(3)
プラ容器の中にはピンポン球が2つ入っているので確実に受け皿...
5 左回転し、直線B'C'を認識する。
bihidari(2000)
sleep(3)
zensin_forever(100)
sleep(3)
mR.stop()
mL.stop()
sleep(1)
Trace_Method()
sleep(1)
6 位置を前後微調整し、再びアームを下ろしピンポン球を入れ...
koutai(800)
sleep(1)
koutai(800)
sleep(1)
arm.reset()
arm.run_to_rel_pos(position_sp=160, speed_sp=120, stop_a...
sleep(2)
hand.reset()
hand.run_to_rel_pos(position_sp=-2000, speed_sp=1000, st...
sleep(5)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=120, stop_...
確実にプラ容器にピンポン球を入れるためhandは高速に何回転...
*反省 [#f82cfa22]
発表会ではアームを下ろしたときに勢いがつきすぎてピンポン...
今日の訪問者数&counter(today);人
昨日の訪問者数&counter(yesterday);人
合計訪問者数&counter(all);人
終了行:
[[2019a/Member]]
#contents
*課題3 [#jd7a5d28]
コース上に置いてあるピンポン球を拾い、カップの中にいれよ...
*課題2の反省から [#m57ee3dd]
課題2の反省点に、ピンポン球を拾う際ロボットの位置が少し...
&ref(2019a/Member/hiroe/Mission3/拾える.png,50%,許容範囲);
許容範囲が狭いとロボットの位置に精密な調整が必要になる。...
*ピンポン球の拾い方、運び方、入れ方 [#m0d41825]
ピンポン球の拾うためにつまむ、すくうという方法をとると許...
&ref(2019a/Member/hiroe/Mission3/hakobu.png,50%,運ぶ);
プラ容器に入ったピンポン球は拾う際のアームとは別のアーム...
&ref(2019a/Member/hiroe/Mission3/アーム.png,50%,アーム);
入れるときは囲んだアームを回転させ、ピンポン球を外にはじ...
&ref(2019a/Member/hiroe/Mission3/シュート.png,50%,シュー...
*ロボット [#r2215c7c]
&ref(2019a/Member/hiroe/Mission3/全体.jpg,20%,全体);
2台分のEV3が使えるのでカラーセンサーを2個ミディアムモータ...
-アーム
&ref(2019a/Member/hiroe/Mission3/aamu.jpg,20%,アーム拡大);
アームにはアームに垂直になるように1本棒を付けた。これを付...
-受け皿
&ref(2019a/Member/hiroe/Mission3/sara.jpg,20%,sara);
ピンポン球を囲い、運ぶ受け皿は奥にいくほど狭まるようにし...
&ref(2019a/Member/hiroe/Mission3/飛んでく.png,50%,飛んで...
&ref(2019a/Member/hiroe/Mission3/飛んでかない.png,50%,飛...
&ref(2019a/Member/hiroe/Mission3/きょよ.png,50%,きょよ);
*道のり [#hdbfc730]
今回ロボットが進む道のりは以下の通りである。
&ref(2019a/Member/hiroe/Mission3/miti.jpg,50%,道);
+直進し直線AMを認識する。
+プラ容器の位置まで前進し左回転する。
+前進し、直線KLの一つ手前の直線を認識する。
+位置を前後微調整し、アームを下ろしピンポン球を囲う。
+左回転し、直線B'C'を認識する。
+位置を前後微調整し、再びアームを下ろしピンポン球を入れる。
*プログラム [#ybbc30b5]
**始めに [#r2934aff]
-ev3dev用に書かれたpythonライブラリやsleep関数などを導入...
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import *
mR = LargeMotor('outC')
mL = LargeMotor('outA')
csR = ColorSensor('in1')
csL = ColorSensor('in2')
arm = LargeMotor('outD')
hand = MediumMotor('outB')
armがプラ容器を倒すアーム、handがピンポン球を囲むアームを...
基本的な関数を定義する。
def migi(a):
sleep(1)
mR.run_timed(speed_sp=100, time_sp=a, stop_actio...
def hidari(b):
sleep(1)
mL.run_timed(speed_sp=100, time_sp=b, stop_actio...
migiで左タイヤを軸に右に回転、hidariで右タイヤを軸に左に...
def bihidari(c):
mR.run_timed(time_sp=c, speed_sp=100, stop_actio...
mL.run_timed(time_sp=c, speed_sp=-100, stop_acti...
def bimigi(d):
mR.run_timed(time_sp=d, speed_sp=-100, stop_acti...
mL.run_timed(time_sp=d, speed_sp=100, stop_actio...
bihidariでロボット中心に左回転、bimigiでロボット中心に右...
def koutai(e):
mR.run_timed(speed_sp=-100, time_sp=e, stop_acti...
mL.run_timed(speed_sp=-100, time_sp=e, stop_acti...
def zensin(f):
mR.run_timed(speed_sp=100, time_sp=f, stop_actio...
mL.run_timed(speed_sp=-00, time_sp=f, stop_actio...
sleep(1)
koutaiで後進、zensinで前進する。
def zensin_forever(g):
mR.run_forever(speed_sp=-g, stop_action='brake')
mL.run_forever(speed_sp=-g, stop_action='brake')
zensin_foreverでstopメゾットが入るまで前進し続ける。
**ライントレース [#yd8674c6]
今回は2台分のEV3が使えるので一台のEV3にカラーセンサーを2...
def Trace_Method():
while True:
if csL.value() >= 15 and csR.value() >= 15:
zensin_forever(100)
sleep(0.1)
elif csL.value() <= 14 and csR.value() >= 15:
bihidari(100)
sleep(0.1)
elif csL.value() >= 15 and csR.value() <= 14:
bimigi(100)
else:
mR.stop()
mL.stop()
sleep(0.1)
break
交差点と認識したら別の行程に入るためbreakを入れWhile文か...
**メインプログラム [#nf0994b1]
「道のり」にある順番通りにプログラムを載せる。
1 直進し直線AMを認識する。
Trace_Method()
sleep(0.1)
2 プラ容器の位置まで前進し左回転する。
zensin_forever(100)
sleep(4)
mL.stop()
mR.stop()
bihidari(1900)
sleep(2.1)
3 前進し、直線KLの一つ手前の直線を認識する。
Trace_Method()
sleep(0.1)
4 位置を前後微調整し、アームを下ろしピンポン球を囲う。
zensin_forever(100)
sleep(0.3)
mL.stop()
mR.stop()
arm.reset()
sleep(0.1)
arm.run_to_rel_pos(position_sp=160, speed_sp=250, stop_a...
sleep(3)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=250, stop_...
hand.reset()
sleep(2)
arm.reset()
arm.run_to_rel_pos(position_sp=160, speed_sp=250, stop_a...
sleep(2)
hand.run_to_rel_pos(position_sp=80, speed_sp=300, stop_a...
sleep(1)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=100, stop_...
sleep(3)
プラ容器の中にはピンポン球が2つ入っているので確実に受け皿...
5 左回転し、直線B'C'を認識する。
bihidari(2000)
sleep(3)
zensin_forever(100)
sleep(3)
mR.stop()
mL.stop()
sleep(1)
Trace_Method()
sleep(1)
6 位置を前後微調整し、再びアームを下ろしピンポン球を入れ...
koutai(800)
sleep(1)
koutai(800)
sleep(1)
arm.reset()
arm.run_to_rel_pos(position_sp=160, speed_sp=120, stop_a...
sleep(2)
hand.reset()
hand.run_to_rel_pos(position_sp=-2000, speed_sp=1000, st...
sleep(5)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=120, stop_...
確実にプラ容器にピンポン球を入れるためhandは高速に何回転...
*反省 [#f82cfa22]
発表会ではアームを下ろしたときに勢いがつきすぎてピンポン...
今日の訪問者数&counter(today);人
昨日の訪問者数&counter(yesterday);人
合計訪問者数&counter(all);人
ページ名: