2018a/Member/montbell/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*目次 [#oa213c0e]
#contents
これまでの課題
[[2018a/Member/montbell/Mission1]]
[[2018a/Member/montbell/Mission2]]
*課題?:空き缶運搬ロボット [#zc6fa3cf]
:フィールドの説明 |
--フィールドは課題2で使用した紙を使用する。
--2種類の空き缶(Aタイプ,Bタイプ)をそれぞれ3個づつ用意し、...
:基本的なルール |
--AまたはA'からスタートする。
--Aタイプの空き缶を円Y内に、Bタイプの空き缶を円X内に運ぶ。
--開始の合図から5秒以内にスタートボタンを押す作業を完了...
(詳しい説明はhttp://yakushi.shinshu-u.ac.jp/robotics/?20...
*躯体本体 [#c7ee246c]
**設計思想 [#f93bda78]
このロボットは躯体を2ヶ所に置かれた缶の中央に配置し、両...
--2018.08.15追記分
大まかなロボットの動き
&ref(2018a/Member/montbell/Mission3/videotogif_2018.08.14...
**各部名称 [#zef0ca70]
&ref(2018a/Member/montbell/Mission3/IMG_20180809_205843-9...
&ref(2018a/Member/montbell/Mission3/IMG_20180809_210114-9...
&ref(2018a/Member/montbell/Mission3/IMG_20180809_210325-9...
:マジックアーム(写真オレンジ色の箇所)|
缶をつかむ機構。両側の缶を一度に掴むことが出来る。
:エレベータ(写真緑色の箇所)|
マジックアームを上下に動かす機構。
:移動モータ(写真紫色の箇所)|
駆体そのものを移動させるためのモータ。その場での回転も出...
**マジックアーム [#n31e6193]
以下の写真の補足はアームが伸びて缶を掴むときの動作を表し...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_214028-9...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_214219-1...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_214617-9...
基本的な機構は課題?のSTRIDEのX軸機構と全く同じものである...
**エレベータ [#hf6545fd]
以下の写真の補足はマジックアーム下降時の動きを表したもの...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_230514-1...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_230734-1...
エレベータは缶をマジックアームごと昇降させるための機構で...
**移動モータ [#l57e5b12]
&ref(2018a/Member/montbell/Mission3/IMG_20180812_212517-9...
移動モータはRightMotorとLeftMotorの2つのモータとそれに付...
**カラーセンサーの取り付け位置について [#f6b3e59f]
&ref(2018a/Member/montbell/Mission3/IMG_20180812_205145-4...
&ref(2018a/Member/montbell/Mission3/IMG_20180812_205431.p...
私たちのロボットは設計上本体を2ヶ所の缶の中央に移動させ...
*プログラム [#u1cb30da]
**関数...の前に [#f9c77c60]
まず次の文章をプログラムしました。各モータなどとの対応は...
--mA マジックアームを動かすミディアムモータ。
--mH キャタピラを動かしマジックアームを昇降させるラージ...
--mR 進行方向右側の移動モータを動かすラージモータ。
--mL 進行方向左側の移動モータを動かすラージモータ。
--cs カラーセンサ
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
mA = MediumMotor('outA')
mH = LargeMotor('outB')
mR = LargeMotor('outC')
mL = LargeMotor('outD')
cs = ColorSensor('in1')
cs.mode = 'COL-REFLECT'
mA.reset()
mH.reset()
mR.reset()
mL.reset()
**関数 [#cacd5865]
関数を作成します。
:ロボットを希望する方向へ動かす関数|
RとLにRightMotorとLeftMotorの回転角度を代入する。sにはsle...
RとLに正負が正反対の値を入れるとその場で回転させることが...
def move_position(R,L,s):
mR.run_to_rel_pos(position_sp=R, speed_sp=50, stop_actio...
mL.run_to_rel_pos(position_sp=L, speed_sp=50, stop_actio...
sleep(s)
:マジックアームを動かす関数|
xに正の値でアームを伸ばしながら缶をつかむ。sにはsleepの時...
def move_arm(x,s):
mA.run_to_rel_pos(position_sp=x, speed_sp=100, stop_acti...
sleep(s)
:エレベータを動かす関数|
xに正の値でマジックアームを上昇させる。sにはsleepの時間が...
def move_high(x,s):
mH.run_to_rel_pos(position_sp=x, speed_sp=130, stop_acti...
sleep(s)
:黒い線のとこまで直進する関数|
カラーセンサの値が75を下回るまで直進を続ける。
def move_straight():
t0 = time.time()
while time.time() - t0 < 0.3:
mR.run_to_rel_pos(position_sp=20, speed_sp=50, stop_act...
mL.run_to_rel_pos(position_sp=20, speed_sp=50, stop_act...
if cs.value() >= 75:
t0 = time.time()
**実際に走行させるためのプログラム [#w2632049]
Aから出発し所定の位置(2ヶ所の缶の中央)まで移動。
(詳しくは「カラーセンサーの取り付け位置について」の二枚目...
move_position(920,920,18)
move_position(180,-180,8)
move_position(360,360,10)
move_straight()
缶の1段目を掴み6個全てをロボットごと180度旋回させ場所を...
move_arm(700,6)
move_position(380,-380,11)
move_arm(-300,6)
アームの上昇させ缶の2段目を掴む。その後少し高さを上げ缶...
--ここで言う缶のツメとは缶を縦に重ねるときにはめる缶の頭...
move_high(1500,15)
move_arm(300,6)
move_high(800,10)
move_position(-200,200,8)
move_high(-2300,16)
move_position(-150,135,8)
move_arm(-300,6)
後処理
mA.reset()
mH.reset()
mR.reset()
mL.reset()
ここまでの動作で2種類それぞれ2つ、計4つの缶が所定の範...
*最後に [#yfa546f0]
今回テスト週間と期末レポートが重なったうえ直後に旅行に...
終了行:
*目次 [#oa213c0e]
#contents
これまでの課題
[[2018a/Member/montbell/Mission1]]
[[2018a/Member/montbell/Mission2]]
*課題?:空き缶運搬ロボット [#zc6fa3cf]
:フィールドの説明 |
--フィールドは課題2で使用した紙を使用する。
--2種類の空き缶(Aタイプ,Bタイプ)をそれぞれ3個づつ用意し、...
:基本的なルール |
--AまたはA'からスタートする。
--Aタイプの空き缶を円Y内に、Bタイプの空き缶を円X内に運ぶ。
--開始の合図から5秒以内にスタートボタンを押す作業を完了...
(詳しい説明はhttp://yakushi.shinshu-u.ac.jp/robotics/?20...
*躯体本体 [#c7ee246c]
**設計思想 [#f93bda78]
このロボットは躯体を2ヶ所に置かれた缶の中央に配置し、両...
--2018.08.15追記分
大まかなロボットの動き
&ref(2018a/Member/montbell/Mission3/videotogif_2018.08.14...
**各部名称 [#zef0ca70]
&ref(2018a/Member/montbell/Mission3/IMG_20180809_205843-9...
&ref(2018a/Member/montbell/Mission3/IMG_20180809_210114-9...
&ref(2018a/Member/montbell/Mission3/IMG_20180809_210325-9...
:マジックアーム(写真オレンジ色の箇所)|
缶をつかむ機構。両側の缶を一度に掴むことが出来る。
:エレベータ(写真緑色の箇所)|
マジックアームを上下に動かす機構。
:移動モータ(写真紫色の箇所)|
駆体そのものを移動させるためのモータ。その場での回転も出...
**マジックアーム [#n31e6193]
以下の写真の補足はアームが伸びて缶を掴むときの動作を表し...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_214028-9...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_214219-1...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_214617-9...
基本的な機構は課題?のSTRIDEのX軸機構と全く同じものである...
**エレベータ [#hf6545fd]
以下の写真の補足はマジックアーム下降時の動きを表したもの...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_230514-1...
&ref(2018a/Member/montbell/Mission3/IMG_20180811_230734-1...
エレベータは缶をマジックアームごと昇降させるための機構で...
**移動モータ [#l57e5b12]
&ref(2018a/Member/montbell/Mission3/IMG_20180812_212517-9...
移動モータはRightMotorとLeftMotorの2つのモータとそれに付...
**カラーセンサーの取り付け位置について [#f6b3e59f]
&ref(2018a/Member/montbell/Mission3/IMG_20180812_205145-4...
&ref(2018a/Member/montbell/Mission3/IMG_20180812_205431.p...
私たちのロボットは設計上本体を2ヶ所の缶の中央に移動させ...
*プログラム [#u1cb30da]
**関数...の前に [#f9c77c60]
まず次の文章をプログラムしました。各モータなどとの対応は...
--mA マジックアームを動かすミディアムモータ。
--mH キャタピラを動かしマジックアームを昇降させるラージ...
--mR 進行方向右側の移動モータを動かすラージモータ。
--mL 進行方向左側の移動モータを動かすラージモータ。
--cs カラーセンサ
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
mA = MediumMotor('outA')
mH = LargeMotor('outB')
mR = LargeMotor('outC')
mL = LargeMotor('outD')
cs = ColorSensor('in1')
cs.mode = 'COL-REFLECT'
mA.reset()
mH.reset()
mR.reset()
mL.reset()
**関数 [#cacd5865]
関数を作成します。
:ロボットを希望する方向へ動かす関数|
RとLにRightMotorとLeftMotorの回転角度を代入する。sにはsle...
RとLに正負が正反対の値を入れるとその場で回転させることが...
def move_position(R,L,s):
mR.run_to_rel_pos(position_sp=R, speed_sp=50, stop_actio...
mL.run_to_rel_pos(position_sp=L, speed_sp=50, stop_actio...
sleep(s)
:マジックアームを動かす関数|
xに正の値でアームを伸ばしながら缶をつかむ。sにはsleepの時...
def move_arm(x,s):
mA.run_to_rel_pos(position_sp=x, speed_sp=100, stop_acti...
sleep(s)
:エレベータを動かす関数|
xに正の値でマジックアームを上昇させる。sにはsleepの時間が...
def move_high(x,s):
mH.run_to_rel_pos(position_sp=x, speed_sp=130, stop_acti...
sleep(s)
:黒い線のとこまで直進する関数|
カラーセンサの値が75を下回るまで直進を続ける。
def move_straight():
t0 = time.time()
while time.time() - t0 < 0.3:
mR.run_to_rel_pos(position_sp=20, speed_sp=50, stop_act...
mL.run_to_rel_pos(position_sp=20, speed_sp=50, stop_act...
if cs.value() >= 75:
t0 = time.time()
**実際に走行させるためのプログラム [#w2632049]
Aから出発し所定の位置(2ヶ所の缶の中央)まで移動。
(詳しくは「カラーセンサーの取り付け位置について」の二枚目...
move_position(920,920,18)
move_position(180,-180,8)
move_position(360,360,10)
move_straight()
缶の1段目を掴み6個全てをロボットごと180度旋回させ場所を...
move_arm(700,6)
move_position(380,-380,11)
move_arm(-300,6)
アームの上昇させ缶の2段目を掴む。その後少し高さを上げ缶...
--ここで言う缶のツメとは缶を縦に重ねるときにはめる缶の頭...
move_high(1500,15)
move_arm(300,6)
move_high(800,10)
move_position(-200,200,8)
move_high(-2300,16)
move_position(-150,135,8)
move_arm(-300,6)
後処理
mA.reset()
mH.reset()
mR.reset()
mL.reset()
ここまでの動作で2種類それぞれ2つ、計4つの缶が所定の範...
*最後に [#yfa546f0]
今回テスト週間と期末レポートが重なったうえ直後に旅行に...
ページ名: