2019a/Member/Kaguya/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&size(30){目次};
#contents(level=1)
*課題 [#gf74618b]
&ref(map3.png);
今回の課題は上のマップに配置されたボールを集めてこの中に...
箱の中のボールは一つ8点、両方とれば20点。床のボールは一つ...
それに加えて、技術点等々の加算あり。
*ロボットの機構・仕組み [#w741222b]
&ref(zentai3kai.png);
ロボットの全体像。~
**?:箱を倒すためのアーム [#x31b8958]
これを倒して箱を傾け、中のボールを転がす。~
傾けやすいように先端に横方向に棒を付ける。
**?:移動のためのモーター [#z39dd82e]
二個独立のモーター。
**?:ボールを掴むためのハンド [#m0f7bd82]
&ref(arm3.jpg);
メディアムモーターで曲がったブロックを回転させボールを掴...
ハンドの反対側についている斜めのブロックは入る時にボール...
**?:カラーセンサー [#rf266690]
今回はカラーセンサーが二つ使えるので、より精度を良くライ...
*プログラム [#xe3c5165]
**インポートと接続のなにか [#r7980817]
#!/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')
armは?~
handは?~
**よく使う動作の定義 [#g139b102]
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)
時間を指定して前進、後退。
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
ライントレースするためのメソッド。~
右のセンサーが黒に触れたら右に曲がる。左のセンサーが黒に...
**実際の動きのプログラム[#e554ab0b]
&ref(map3kai.png);
?~
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()
箱を傾け、ボールを回収する
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=250...
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.run_to_rel_pos(position_sp=-160, speed_sp=100...
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()
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=1...
sleep(5)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=120...
*問題及びその反省 [#q50765bc]
ライントレースを諦めていて、手動処理が多かったので結果が...
ボールを回収するシステムをこの発想でもっと洗練されたもの...
終了行:
&size(30){目次};
#contents(level=1)
*課題 [#gf74618b]
&ref(map3.png);
今回の課題は上のマップに配置されたボールを集めてこの中に...
箱の中のボールは一つ8点、両方とれば20点。床のボールは一つ...
それに加えて、技術点等々の加算あり。
*ロボットの機構・仕組み [#w741222b]
&ref(zentai3kai.png);
ロボットの全体像。~
**?:箱を倒すためのアーム [#x31b8958]
これを倒して箱を傾け、中のボールを転がす。~
傾けやすいように先端に横方向に棒を付ける。
**?:移動のためのモーター [#z39dd82e]
二個独立のモーター。
**?:ボールを掴むためのハンド [#m0f7bd82]
&ref(arm3.jpg);
メディアムモーターで曲がったブロックを回転させボールを掴...
ハンドの反対側についている斜めのブロックは入る時にボール...
**?:カラーセンサー [#rf266690]
今回はカラーセンサーが二つ使えるので、より精度を良くライ...
*プログラム [#xe3c5165]
**インポートと接続のなにか [#r7980817]
#!/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')
armは?~
handは?~
**よく使う動作の定義 [#g139b102]
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)
時間を指定して前進、後退。
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
ライントレースするためのメソッド。~
右のセンサーが黒に触れたら右に曲がる。左のセンサーが黒に...
**実際の動きのプログラム[#e554ab0b]
&ref(map3kai.png);
?~
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()
箱を傾け、ボールを回収する
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=250...
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.run_to_rel_pos(position_sp=-160, speed_sp=100...
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()
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=1...
sleep(5)
arm.reset()
arm.run_to_rel_pos(position_sp=-160, speed_sp=120...
*問題及びその反省 [#q50765bc]
ライントレースを諦めていて、手動処理が多かったので結果が...
ボールを回収するシステムをこの発想でもっと洗練されたもの...
ページ名: