2019a/Member/ofuse/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
*制作目標 [#td3853be]
10画以上の地名を書くロボットを制作。
関数を生かせるように同じ形の部位が出てくる地名が良いと考...
*ロボットの概要 [#n71effc0]
今回の課題を行う上で文字を書くのに必要な要素は水平方向に...
&ref(006.jpg);
*動作域解説 [#d43a9dda]
-縦軸
&ref(005.jpg);
LargeMotorを使用。タイヤを利用して本体ごと移動することで...
-横軸
&ref(004.jpg);
LargeMotor使用。写真のようなスライド式にした。モーターを...
-垂直
&ref(002.jpg);
#上げた場合
&ref(001.jpg);
#下げた場合
MIdiumMotorを使用。ペンの固定には小タイヤのゴム部分を使用...
-その他の工夫
全体の重心を意識してEV3本体は可動部の反対につけた。
可動域に配線が絡まないよう、接続位置に注意した。
*プログラム解説 [#rede844e]
-動作までの準備
モーターと出力位置の設定。
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
l = LargeMotor('outC')
m = LargeMotor('outB')
n = MediumMotor('outA')
リセットは関数にしてまとめて行うこととした
def motor_hakusi():
l.reset()
m.reset()
n.reset()
縦軸の動きの関数。微調整のため、変数を置いた。
def move_tate(a,b):
l.run_forever(speed_sp=a, stop_action='hold')
sleep(b)
l.stop()
def yoko_right(c,d):
m.run_forever(speed_sp=c, stop_action='hold')
sleep(d)
m.stop()
共に横軸の関数。縦軸同様変数を設定した。
def yoko_left(g):
m.run_forever(speed_sp=-100, stop_action='hold')
sleep(g)
m.stop()
ペンを上げる動作
def fude_age():
n.run_to_rel_pos(position_sp=-45, speed_sp=200, stop_...
sleep(1)
ペンを下げる動作
def fude_sage():
n.run_to_rel_pos(position_sp=45, speed_sp=200, stop_a...
sleep(1)
口の字を書く関数。先に定義した関数を使ってまとめた。左上...
def kuchi(e,f):
fude_sage()
yoko_right(100,e)
move_tate(-80,1)
yoko_left(f)
move_tate(80,1)
fude_age()
川の左の動きを設定した。縦軸を動かしながら横軸を左右にず...
def hidari_shita(x):
l.run_forever(speed_sp=-130,stop_action='brake')
m.run_forever(speed_sp=60,stop_action='brake')
sleep(x)
m.stop()
sleep(2*x)
m.run_forever(speed_sp=-75,stop_action='brake')
sleep(3*x)
m.stop()
l.stop()
-動作部分
はじめにresetしておき中央の口を書くよう設定。座標を固定す...
motor_hakusi()
yoko_left(1)
yoko_right(105,1/3)
kuchi(1/3,1/2)
左下の口を書く。
motor_hakusi()
yoko_left(2)
move_tate(-120,1)
kuchi(1/2,2)
右下の口を書く。
motor_hakusi()
yoko_right(100,1)
yoko_left(1/3)
kuchi(2/5,2/5)
品の下へ移動。続いて川の一画目を書く。
motor_hakusi()
move_tate(-150,1)
yoko_left(2)
yoko_right(50,1/4)
fude_sage()
hidari_shita(1/6)
fude_age()
川の二画目を書く。少し短く設定した。
motor_hakusi()
move_tate(115,1)
yoko_left(1)
yoko_right(130,1/2)
fude_sage()
move_tate(-105,1)
fude_age()
川の三画目を書く。最も長くした。
motor_hakusi()
move_tate(165,1)
yoko_right(100,1)
fude_sage()
move_tate(-200,1)
fude_age()
move_tate(-150,2)
*結果・改善点
&ref(1888.JPG);
&ref(1889.JPG);
最終的には何と書いてあるかわかる程度にはなったが、もう少...
横軸移動において設計の関係から場所によって進む距離が変わ...
ロボットが軟弱だったためにプログラミングで修正しようとし...
終了行:
[[2019a/Member]]
*制作目標 [#td3853be]
10画以上の地名を書くロボットを制作。
関数を生かせるように同じ形の部位が出てくる地名が良いと考...
*ロボットの概要 [#n71effc0]
今回の課題を行う上で文字を書くのに必要な要素は水平方向に...
&ref(006.jpg);
*動作域解説 [#d43a9dda]
-縦軸
&ref(005.jpg);
LargeMotorを使用。タイヤを利用して本体ごと移動することで...
-横軸
&ref(004.jpg);
LargeMotor使用。写真のようなスライド式にした。モーターを...
-垂直
&ref(002.jpg);
#上げた場合
&ref(001.jpg);
#下げた場合
MIdiumMotorを使用。ペンの固定には小タイヤのゴム部分を使用...
-その他の工夫
全体の重心を意識してEV3本体は可動部の反対につけた。
可動域に配線が絡まないよう、接続位置に注意した。
*プログラム解説 [#rede844e]
-動作までの準備
モーターと出力位置の設定。
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep
l = LargeMotor('outC')
m = LargeMotor('outB')
n = MediumMotor('outA')
リセットは関数にしてまとめて行うこととした
def motor_hakusi():
l.reset()
m.reset()
n.reset()
縦軸の動きの関数。微調整のため、変数を置いた。
def move_tate(a,b):
l.run_forever(speed_sp=a, stop_action='hold')
sleep(b)
l.stop()
def yoko_right(c,d):
m.run_forever(speed_sp=c, stop_action='hold')
sleep(d)
m.stop()
共に横軸の関数。縦軸同様変数を設定した。
def yoko_left(g):
m.run_forever(speed_sp=-100, stop_action='hold')
sleep(g)
m.stop()
ペンを上げる動作
def fude_age():
n.run_to_rel_pos(position_sp=-45, speed_sp=200, stop_...
sleep(1)
ペンを下げる動作
def fude_sage():
n.run_to_rel_pos(position_sp=45, speed_sp=200, stop_a...
sleep(1)
口の字を書く関数。先に定義した関数を使ってまとめた。左上...
def kuchi(e,f):
fude_sage()
yoko_right(100,e)
move_tate(-80,1)
yoko_left(f)
move_tate(80,1)
fude_age()
川の左の動きを設定した。縦軸を動かしながら横軸を左右にず...
def hidari_shita(x):
l.run_forever(speed_sp=-130,stop_action='brake')
m.run_forever(speed_sp=60,stop_action='brake')
sleep(x)
m.stop()
sleep(2*x)
m.run_forever(speed_sp=-75,stop_action='brake')
sleep(3*x)
m.stop()
l.stop()
-動作部分
はじめにresetしておき中央の口を書くよう設定。座標を固定す...
motor_hakusi()
yoko_left(1)
yoko_right(105,1/3)
kuchi(1/3,1/2)
左下の口を書く。
motor_hakusi()
yoko_left(2)
move_tate(-120,1)
kuchi(1/2,2)
右下の口を書く。
motor_hakusi()
yoko_right(100,1)
yoko_left(1/3)
kuchi(2/5,2/5)
品の下へ移動。続いて川の一画目を書く。
motor_hakusi()
move_tate(-150,1)
yoko_left(2)
yoko_right(50,1/4)
fude_sage()
hidari_shita(1/6)
fude_age()
川の二画目を書く。少し短く設定した。
motor_hakusi()
move_tate(115,1)
yoko_left(1)
yoko_right(130,1/2)
fude_sage()
move_tate(-105,1)
fude_age()
川の三画目を書く。最も長くした。
motor_hakusi()
move_tate(165,1)
yoko_right(100,1)
fude_sage()
move_tate(-200,1)
fude_age()
move_tate(-150,2)
*結果・改善点
&ref(1888.JPG);
&ref(1889.JPG);
最終的には何と書いてあるかわかる程度にはなったが、もう少...
横軸移動において設計の関係から場所によって進む距離が変わ...
ロボットが軟弱だったためにプログラミングで修正しようとし...
ページ名: