2019a/Member/Okina/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
*目次 [#p8d7fd6d]
#contents
*課題3 [#td8c3b1b]
ピンポン玉または青と赤のボールを運搬して、所定の容器の中...
&ref(2019a-mission3.png);
プラ容器内の玉を1個運べば8点。二つとも運べば20点。
L地点とL'地点の玉をどちらか1個運べば4点、2個とも運べば12...
競技終了後、ゴールのプラ容器が完全に円から出しまった場合...
競技終了後、ゴールのプラ容器の半分以上が円から出ていれば...
競技終了後、ゴールのプラ容器にもとのプラ容器が触れていれ...
競技終了後、ゴールのプラ容器にもとのプラ容器が触れていれ...
競技終了後、ゴールのプラ容器にロボットが触れていれば、も...
技術点の計算方法
以下の動作の精度・スピード・確実性などを含めた技術的な工...
玉を探し取りにいくまでの動作 (3点)
玉を掴む動作 (3点)
玉をを運ぶ動作 (2点)
玉を容器の中に入れる動作 (2点)
2台のRIS、NXT、EV3の連携の良さ(2点)
自立型のロボットとしての形や動作の美しさ、斬新さ(2点)
その他 (3点)
*機体 [#da026a66]
機体の説明を行う。移動用のモーターは機動性を確保するため...
&ref(Inked18598_LI.jpg);
**赤丸 [#b6faee35]
トレイを倒すための機構でミディアムモーターを使用している...
**青丸 [#u53ff9ad]
ボールを捉えるための機構でミディアムモーターを使用。赤丸...
**黄丸 [#pac2b58c]
&ref(2図.png);
カラーセンサーを二つ使い、精度を良くライントレースをさせ...
*プログラム [#uadaaa47]
**導入 [#z58889f8]
ev3dev用に書かれたpythonライブラリやsleep関数などを導入す...
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
mR = LargeMotor('outC')
mL = LargeMotor('outA')
csR = ColorSensor('in1')
csL = ColorSensor('in2')
arm = LargeMotor('outD')
hand = MediumMotor('outB')
**定義 [#h9a7dfc3]
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...
左へ旋回する簡単なプログラム
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...
左同様
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=100, time_sp=f, stop_actio...
sleep(1)
time_spにより時間を指定して前進、後退を行う。
zensin_forever(g):
mR.run_forever(speed_sp=g, stop_action='brake')
mL.run_forever(speed_sp=g, stop_action='brake')
速度指定して前進させる定義。
def Trace_Method():
while True:
if csL.value() >= 15 and csR.value() >= ...
zensin_forever(100)
sleep(0.1)
elif csL.value() <= 14 and csR.value() >...
bihidari(100)
sleep(0.1)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
sleep(0.1)
else:
mR.stop()
mL.stop()
sleep(0.1)
break
ライントレースの定義。黄丸の図で触れたように何もなければ...
**全文 [#z0dd7c89]
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
mR = LargeMotor('outC')
mL = LargeMotor('outA')
csR = ColorSensor('in1')
csL = ColorSensor('in2')
arm = LargeMotor('outD')
hand = MediumMotor('outB')
def migi(a):
sleep(1)
mR.run_timed(speed_sp=-100, time_sp=a, stop_acti...
def hidari(b):
sleep(1)
mL.run_timed(speed_sp=-100, time_sp=b, stop_acti...
def bihidari(c):
mR.run_timed(time_sp=c, speed_sp=-100, stop_acti...
mL.run_timed(time_sp=c, speed_sp=100, stop_actio...
def bimigi(d):
mR.run_timed(time_sp=d, speed_sp=100, stop_actio...
mL.run_timed(time_sp=d, speed_sp=-100, stop_acti...
def koutai(e):
mR.run_timed(speed_sp=100, time_sp=e, stop_actio...
mL.run_timed(speed_sp=100, time_sp=e, stop_actio...
def zensin(f):
mR.run_timed(speed_sp=-100, time_sp=f, stop_acti...
mL.run_timed(speed_sp=-100, time_sp=f, stop_acti...
sleep(1)
def zensin_forever(g):
mR.run_forever(speed_sp=-g, stop_action='brake')
mL.run_forever(speed_sp=-g, stop_action='brake')
def Trace_Method():
while True:
if csL.value() >= 15 and csR.value() >= ...
zensin_forever(100)
sleep(0.1)
elif csL.value() <= 14 and csR.value() >...
bihidari(100)
sleep(0.1)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
sleep(0.1)
else:
mR.stop()
mL.stop()
sleep(0.1)
break
先ほど述べた部分である。
def main():
Trace_Method()
sleep(0.1)
ライントレースを行う。元の位置の四角い線を捉えるまで進む...
zensin_forever(100)
sleep(4)
mL.stop()
mR.stop()
bihidari(1900)
sleep(2.1)
Trace_Method()
sleep(0.1)
zensin_forever(100)
sleep(0.3)
mL.stop()
mR.stop()
位置Mから位置Kまで移動する。
arm.reset()
sleep(0.1)
arm.run_to_rel_pos(position_sp=160, speed_sp=250...
sleep(3)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=25...
hand.reset()
sleep(2)
arm.reset()
arm.run_to_rel_pos(position_sp=160, speed_sp=250...
sleep(2)
トレイを傾ける。二回傾けることで一回より玉をはじき出す精...
hand.run_to_rel_pos(position_sp=80, speed_sp=300...
sleep(1)
arm.reset()
はじき出した玉を回収、arm.reset()で戻しておく、誤作動が減...
arm.run_to_rel_pos(position_sp=-160, speed_sp=10...
sleep(3)
bihidari(2000)
sleep(3)
zensin_forever(100)
sleep(3)
mR.stop()
mL.stop()
sleep(1)
アームをあげてから回転、移動。もう一枚のステージに移動
Trace_Method()
sleep(1)
koutai(800)
sleep(1)
koutai(800)
sleep(1)
arm.reset()
ゴールのトレイ前に移動(I’)。その後の動作はトレイにボー...
arm.run_to_rel_pos(position_sp=160, speed_sp=120...
sleep(2)
hand.reset()
hand.run_to_rel_pos(position_sp=-2000, speed_sp=...
sleep(5)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=12...
main()
*反省 [#ofe40529]
成功確率が高いとはいえない、ライントレースを少なくしたの...
終了行:
[[2019a/Member]]
*目次 [#p8d7fd6d]
#contents
*課題3 [#td8c3b1b]
ピンポン玉または青と赤のボールを運搬して、所定の容器の中...
&ref(2019a-mission3.png);
プラ容器内の玉を1個運べば8点。二つとも運べば20点。
L地点とL'地点の玉をどちらか1個運べば4点、2個とも運べば12...
競技終了後、ゴールのプラ容器が完全に円から出しまった場合...
競技終了後、ゴールのプラ容器の半分以上が円から出ていれば...
競技終了後、ゴールのプラ容器にもとのプラ容器が触れていれ...
競技終了後、ゴールのプラ容器にもとのプラ容器が触れていれ...
競技終了後、ゴールのプラ容器にロボットが触れていれば、も...
技術点の計算方法
以下の動作の精度・スピード・確実性などを含めた技術的な工...
玉を探し取りにいくまでの動作 (3点)
玉を掴む動作 (3点)
玉をを運ぶ動作 (2点)
玉を容器の中に入れる動作 (2点)
2台のRIS、NXT、EV3の連携の良さ(2点)
自立型のロボットとしての形や動作の美しさ、斬新さ(2点)
その他 (3点)
*機体 [#da026a66]
機体の説明を行う。移動用のモーターは機動性を確保するため...
&ref(Inked18598_LI.jpg);
**赤丸 [#b6faee35]
トレイを倒すための機構でミディアムモーターを使用している...
**青丸 [#u53ff9ad]
ボールを捉えるための機構でミディアムモーターを使用。赤丸...
**黄丸 [#pac2b58c]
&ref(2図.png);
カラーセンサーを二つ使い、精度を良くライントレースをさせ...
*プログラム [#uadaaa47]
**導入 [#z58889f8]
ev3dev用に書かれたpythonライブラリやsleep関数などを導入す...
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
mR = LargeMotor('outC')
mL = LargeMotor('outA')
csR = ColorSensor('in1')
csL = ColorSensor('in2')
arm = LargeMotor('outD')
hand = MediumMotor('outB')
**定義 [#h9a7dfc3]
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...
左へ旋回する簡単なプログラム
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...
左同様
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=100, time_sp=f, stop_actio...
sleep(1)
time_spにより時間を指定して前進、後退を行う。
zensin_forever(g):
mR.run_forever(speed_sp=g, stop_action='brake')
mL.run_forever(speed_sp=g, stop_action='brake')
速度指定して前進させる定義。
def Trace_Method():
while True:
if csL.value() >= 15 and csR.value() >= ...
zensin_forever(100)
sleep(0.1)
elif csL.value() <= 14 and csR.value() >...
bihidari(100)
sleep(0.1)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
sleep(0.1)
else:
mR.stop()
mL.stop()
sleep(0.1)
break
ライントレースの定義。黄丸の図で触れたように何もなければ...
**全文 [#z0dd7c89]
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
mR = LargeMotor('outC')
mL = LargeMotor('outA')
csR = ColorSensor('in1')
csL = ColorSensor('in2')
arm = LargeMotor('outD')
hand = MediumMotor('outB')
def migi(a):
sleep(1)
mR.run_timed(speed_sp=-100, time_sp=a, stop_acti...
def hidari(b):
sleep(1)
mL.run_timed(speed_sp=-100, time_sp=b, stop_acti...
def bihidari(c):
mR.run_timed(time_sp=c, speed_sp=-100, stop_acti...
mL.run_timed(time_sp=c, speed_sp=100, stop_actio...
def bimigi(d):
mR.run_timed(time_sp=d, speed_sp=100, stop_actio...
mL.run_timed(time_sp=d, speed_sp=-100, stop_acti...
def koutai(e):
mR.run_timed(speed_sp=100, time_sp=e, stop_actio...
mL.run_timed(speed_sp=100, time_sp=e, stop_actio...
def zensin(f):
mR.run_timed(speed_sp=-100, time_sp=f, stop_acti...
mL.run_timed(speed_sp=-100, time_sp=f, stop_acti...
sleep(1)
def zensin_forever(g):
mR.run_forever(speed_sp=-g, stop_action='brake')
mL.run_forever(speed_sp=-g, stop_action='brake')
def Trace_Method():
while True:
if csL.value() >= 15 and csR.value() >= ...
zensin_forever(100)
sleep(0.1)
elif csL.value() <= 14 and csR.value() >...
bihidari(100)
sleep(0.1)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
elif csL.value() >= 15 and csR.value() <...
bimigi(100)
sleep(0.1)
else:
mR.stop()
mL.stop()
sleep(0.1)
break
先ほど述べた部分である。
def main():
Trace_Method()
sleep(0.1)
ライントレースを行う。元の位置の四角い線を捉えるまで進む...
zensin_forever(100)
sleep(4)
mL.stop()
mR.stop()
bihidari(1900)
sleep(2.1)
Trace_Method()
sleep(0.1)
zensin_forever(100)
sleep(0.3)
mL.stop()
mR.stop()
位置Mから位置Kまで移動する。
arm.reset()
sleep(0.1)
arm.run_to_rel_pos(position_sp=160, speed_sp=250...
sleep(3)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=25...
hand.reset()
sleep(2)
arm.reset()
arm.run_to_rel_pos(position_sp=160, speed_sp=250...
sleep(2)
トレイを傾ける。二回傾けることで一回より玉をはじき出す精...
hand.run_to_rel_pos(position_sp=80, speed_sp=300...
sleep(1)
arm.reset()
はじき出した玉を回収、arm.reset()で戻しておく、誤作動が減...
arm.run_to_rel_pos(position_sp=-160, speed_sp=10...
sleep(3)
bihidari(2000)
sleep(3)
zensin_forever(100)
sleep(3)
mR.stop()
mL.stop()
sleep(1)
アームをあげてから回転、移動。もう一枚のステージに移動
Trace_Method()
sleep(1)
koutai(800)
sleep(1)
koutai(800)
sleep(1)
arm.reset()
ゴールのトレイ前に移動(I’)。その後の動作はトレイにボー...
arm.run_to_rel_pos(position_sp=160, speed_sp=120...
sleep(2)
hand.reset()
hand.run_to_rel_pos(position_sp=-2000, speed_sp=...
sleep(5)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=12...
main()
*反省 [#ofe40529]
成功確率が高いとはいえない、ライントレースを少なくしたの...
ページ名: