2018b/Member/miyashi/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題1 [#c7962be7]
これまで住んだことのある都道府県名、市町村名、地区名など...
* ロボットの説明 [#saf2230c]
** 目的 [#f63ee3a3]
このロボットは、授業で扱ったEV3の車型のロボにペンの昇降機...
** 外観 [#pa57bff9]
初期の車型から今回不要と思われるパーツは除外した。
縦26.5cm,横14.5cm,高さ18.5cm
&ref(2018b/Member/miyashi/Mission1/s_DSC_0544.JPG,100%,外...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0550.JPG,100%,側...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0552.JPG,100%,側...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0553.JPG,100%,上...
** 昇降機について [#i5b11051]
車の説明は割愛するとして、車に設置したペンの昇降機につい...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0543.JPG,100%,正...
ーMediumMotorを30度回転してペンを降ろす→
&ref(2018b/Member/miyashi/Mission1/s_DSC_0548.JPG,100%,正...
中が空洞になっている長方形のパーツをつけたのは、ペンの上...
* 書く文字と書き順 [#uff5caaf]
書く文字は大垣(岐阜県大垣市)である。本来の字の書き順でな...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0545.JPG,100%,書...
* プログラムの説明 [#q8f6b8c4]
** プログラムの前に [#a40b147a]
以下を入力した。
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep #sleep関数をインポート
ml = LargeMotor('outA') #左側の車輪を動かすモーター...
mr = LargeMotor('outB') #左側の車輪を動かすモーター...
mm = MediumMotor('outD') #昇降機に使用するモーターを...
** 定義した関数 [#p2fb9c45]
定義した関数は全部で5つ。
モーターをリセットする関数である。適宜、利用するために作...
def motor_init():
ml.reset()
mr.reset()
ペンの上げ下げの関数である。pen_upはペンを上昇させ、pen_d...
def pen_up():
mm.run_to_rel_pos(position_sp=30, speed_sp=400, stop...
sleep(2)
def pen_down():
mm.run_to_rel_pos(position_sp=-30, speed_sp=400, sto...
sleep(2)
車体の向いている角度を変える関数である。動くスピードが速...
def angle(left,right):
ml.run_to_rel_pos(position_sp=left, speed_sp=100, st...
mr.run_to_rel_pos(position_sp=right, speed_sp=100, s...
sleep(3)
車体を動かすメインの関数である。左右それぞれの回転角度と...
def forward(l,r,ls,rs):
ml.run_to_rel_pos(position_sp=l, speed_sp=ls, stop_a...
mr.run_to_rel_pos(position_sp=r, speed_sp=rs, stop_a...
sleep(3)
なお、angleはforwardでも代用可能だが、プログラミングの際...
** それぞれの文字 [#lc8e727b]
*** 大について [#ua0955a3]
motor_init()
mm.run_to_rel_pos(position_sp=-35, speed_sp=400, stop_ac...
sleep(2)
forward(-200,-200,200,200) #一画目(大の横棒)
motor_init()
pen_up()
angle(80,-80) #二画目を書くための角度調...
forward(-350,-350,400,400) #二画目を書くための位置調...
motor_init()
angle(200,0) #更にもう一度角度調整。や...
forward(340,340,400,400) #先ほどに近い位置に戻って...
motor_init()
pen_down()
forward(220,100,220,100) #二画目を書く。左右の回転...
motor_init()
forward(70,70,200,200) #二画目のうちの縦棒部分(...
motor_init()
pen_up()
forward(-60,-60,200,200) #縦棒と横棒の交点まで進む。
motor_init()
pen_down()
forward(-100,-220,100,220) #三画目を書く。曲線のため...
motor_init()
pen_up()
forward(100,230,100,230) #三画目を書く前の位置まで...
motor_init()
angle(0,38) #車体を紙と並行にする。
*** 垣について [#z9eaf2b4]
motor_init()
forward(-400,-400,400,400) #垣の字を書くために紙の下...
pen_down()
forward(160,160,100,100) #四画目を書く。
pen_up()
motor_init()
angle(-195,195) #五画目を書くための角度調...
motor_init()
forward(-80,-80,100,100) #垣の中の日の字の縦棒二本...
angle(193,-193) #直角よりやや多く曲げる。...
motor_init()
forward(-160,-160,100,100) #五画目の書き始め位置まで...
pen_down()
motor_init()
forward(160,160,100,100) #五画目を書く。
pen_up()
motor_init()
forward(-300,-300,100,100) #六画目を書くための位置移...
sleep(2)
motor_init()
angle(-210,210) #左にやや直角より多く曲げ...
sleep(2)
motor_init()
forward(210,210,100,100) #六画目の書き始め位置まで...
sleep(2)
pen_down()
motor_init()
forward(80,80,100,100) #六画目(横棒)を書く。
pen_up()
motor_init()
angle(200,-200) #縦棒と並行にする。
motor_init()
forward(-80,-80,100,100) #六画目と七画目の間隔を空...
motor_init()
angle(-200,200) #先程と同様に200回転して...
motor_init()
forward(-110,-110,100,100) #日の字の右にある縦棒の先...
motor_init()
pen_down()
forward(80,80,100,100) #二本の縦棒の先端部分を横...
motor_init()
pen_up()
forward(80,80,100,100) #七画目と八画目の間隔を80...
motor_init()
pen_down()
forward(80,80,100,100) #80の長さで八画目を書く。
motor_init()
pen_up()
forward(-120,-120,100,100) #再び日の部分の横棒を書く...
angle(200,-200) #同様に、200回転して縦棒...
motor_init()
forward(-80,-80,100,100) #隣り合う横棒である七画目...
motor_init()
angle(-200,200) #200回転して採算を取る。
motor_init()
forward(-120,-120,100,100) #右の縦棒の上から九画目を...
pen_down()
motor_init()
forward(80,80,100,100) #80の長さで九画目を書く。
pen_up()
motor_init()
angle(200,-200) #再び縦棒と並行にする。
motor_init()
forward(-70,-70,100,100) #九画目と十画目の間隔を70...
motor_init()
angle(-200,200) #同様に、採算を取り、回転...
motor_init()
forward(-50,-50,100,100) #右の縦棒の上から十画目を...
pen_down()
motor_init()
forward(80,80,100,100) #80の長さで進み、十画目を...
pen_up()
motor_init()
forward(80,80,100,100) #十画目と十一画目の間隔を...
pen_down()
motor_init()
forward(80,80,100,100) #80の長さで十一画目を書く。
pen_up()
motor_init()
forward(-160,-160,100,100) #日の下にある部分の横棒を...
motor_init()
angle(200,-200) #縦棒と並行にする。
motor_init()
forward(-80,-80,100,100) #十画目と十二画目の間隔を...
motor_init()
angle(-200,200) #同様に、採算を取る。
motor_init()
forward(-100,-100,100,100) #十二画目の書き始め位置の...
pen_down()
motor_init()
forward(120,120,100,100) #十二画目を書く。垣の字を...
pen_up()
motor_init()
forward(-230,-230,200,200) #230戻る。これは次の角度...
motor_init()
angle(-195,195) #直角に回転。
motor_init()
pen_down()
forward(200,200,100,100) #十三画目を書く。土へんの...
motor_init()
pen_up() #作業終了。
* 実際に書けた文字 [#pf5a5d07]
**失敗 [#t0959938]
angleやforwardの数値を変えて試行錯誤した結果である。本当...
&ref(2018b/Member/miyashi/Mission1/fail1.JPG,100%,失敗1);
&ref(2018b/Member/miyashi/Mission1/fail2.JPG,100%,失敗2);
**成功 [#n672b657]
試行した中で最もましな大垣である。この字を書いた時のプロ...
&ref(2018b/Member/miyashi/Mission1/success.JPG,100%,成功);
どう見ても大垣。
実際に書いた動画があるので以下にURLを貼る。https://www.yo...
** 本番で書いた文字 [#mcff32fb]
一番の成功とは言い難いが、まだ読めるレベルではある。土へ...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0566.JPG,100%,本...
* 考察 [#n6c5e777]
** 欠点 [#t11cf6b2]
同じコマンドを与えても試行ごとに動きが異なり、一回として...
** 改善案 [#r68dcb17]
先述の欠点が大きく影響したのは、「垣」である。字を書くプ...
* 余談 [#ef82db37]
今回、試行を重ねる時に度々、昇降機についたペンが重力によ...
#!/usr/bin/env python3 from ev3dev.ev3 import *
from time import sleep
mm = MediumMotor('outD')
mm.reset()
a = input("motiagerukakudo(30)to(-30)")
mm.run_to_rel_pos(position_sp=a, speed_sp=100, stop_acti...
このコマンドを実行すると、しばらく経ってコマンドプロンプ...
motiagerukakudo(30)to(-30)
と表示される。ここでMediumMotorを回したい角度の分、数値を...
* 感想 [#sdf2b6ac]
今回上手く字が書けなかったのは車型にしたことだ。確かに綺...
*その他 [#jb33a70c]
閲覧回数
総計:&counter(total); 今日:&counter(today); 昨日:&counter...
終了行:
目次
#contents
*課題1 [#c7962be7]
これまで住んだことのある都道府県名、市町村名、地区名など...
* ロボットの説明 [#saf2230c]
** 目的 [#f63ee3a3]
このロボットは、授業で扱ったEV3の車型のロボにペンの昇降機...
** 外観 [#pa57bff9]
初期の車型から今回不要と思われるパーツは除外した。
縦26.5cm,横14.5cm,高さ18.5cm
&ref(2018b/Member/miyashi/Mission1/s_DSC_0544.JPG,100%,外...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0550.JPG,100%,側...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0552.JPG,100%,側...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0553.JPG,100%,上...
** 昇降機について [#i5b11051]
車の説明は割愛するとして、車に設置したペンの昇降機につい...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0543.JPG,100%,正...
ーMediumMotorを30度回転してペンを降ろす→
&ref(2018b/Member/miyashi/Mission1/s_DSC_0548.JPG,100%,正...
中が空洞になっている長方形のパーツをつけたのは、ペンの上...
* 書く文字と書き順 [#uff5caaf]
書く文字は大垣(岐阜県大垣市)である。本来の字の書き順でな...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0545.JPG,100%,書...
* プログラムの説明 [#q8f6b8c4]
** プログラムの前に [#a40b147a]
以下を入力した。
#!/usr/bin/env python3
from ev3dev.ev3 import *
from time import sleep #sleep関数をインポート
ml = LargeMotor('outA') #左側の車輪を動かすモーター...
mr = LargeMotor('outB') #左側の車輪を動かすモーター...
mm = MediumMotor('outD') #昇降機に使用するモーターを...
** 定義した関数 [#p2fb9c45]
定義した関数は全部で5つ。
モーターをリセットする関数である。適宜、利用するために作...
def motor_init():
ml.reset()
mr.reset()
ペンの上げ下げの関数である。pen_upはペンを上昇させ、pen_d...
def pen_up():
mm.run_to_rel_pos(position_sp=30, speed_sp=400, stop...
sleep(2)
def pen_down():
mm.run_to_rel_pos(position_sp=-30, speed_sp=400, sto...
sleep(2)
車体の向いている角度を変える関数である。動くスピードが速...
def angle(left,right):
ml.run_to_rel_pos(position_sp=left, speed_sp=100, st...
mr.run_to_rel_pos(position_sp=right, speed_sp=100, s...
sleep(3)
車体を動かすメインの関数である。左右それぞれの回転角度と...
def forward(l,r,ls,rs):
ml.run_to_rel_pos(position_sp=l, speed_sp=ls, stop_a...
mr.run_to_rel_pos(position_sp=r, speed_sp=rs, stop_a...
sleep(3)
なお、angleはforwardでも代用可能だが、プログラミングの際...
** それぞれの文字 [#lc8e727b]
*** 大について [#ua0955a3]
motor_init()
mm.run_to_rel_pos(position_sp=-35, speed_sp=400, stop_ac...
sleep(2)
forward(-200,-200,200,200) #一画目(大の横棒)
motor_init()
pen_up()
angle(80,-80) #二画目を書くための角度調...
forward(-350,-350,400,400) #二画目を書くための位置調...
motor_init()
angle(200,0) #更にもう一度角度調整。や...
forward(340,340,400,400) #先ほどに近い位置に戻って...
motor_init()
pen_down()
forward(220,100,220,100) #二画目を書く。左右の回転...
motor_init()
forward(70,70,200,200) #二画目のうちの縦棒部分(...
motor_init()
pen_up()
forward(-60,-60,200,200) #縦棒と横棒の交点まで進む。
motor_init()
pen_down()
forward(-100,-220,100,220) #三画目を書く。曲線のため...
motor_init()
pen_up()
forward(100,230,100,230) #三画目を書く前の位置まで...
motor_init()
angle(0,38) #車体を紙と並行にする。
*** 垣について [#z9eaf2b4]
motor_init()
forward(-400,-400,400,400) #垣の字を書くために紙の下...
pen_down()
forward(160,160,100,100) #四画目を書く。
pen_up()
motor_init()
angle(-195,195) #五画目を書くための角度調...
motor_init()
forward(-80,-80,100,100) #垣の中の日の字の縦棒二本...
angle(193,-193) #直角よりやや多く曲げる。...
motor_init()
forward(-160,-160,100,100) #五画目の書き始め位置まで...
pen_down()
motor_init()
forward(160,160,100,100) #五画目を書く。
pen_up()
motor_init()
forward(-300,-300,100,100) #六画目を書くための位置移...
sleep(2)
motor_init()
angle(-210,210) #左にやや直角より多く曲げ...
sleep(2)
motor_init()
forward(210,210,100,100) #六画目の書き始め位置まで...
sleep(2)
pen_down()
motor_init()
forward(80,80,100,100) #六画目(横棒)を書く。
pen_up()
motor_init()
angle(200,-200) #縦棒と並行にする。
motor_init()
forward(-80,-80,100,100) #六画目と七画目の間隔を空...
motor_init()
angle(-200,200) #先程と同様に200回転して...
motor_init()
forward(-110,-110,100,100) #日の字の右にある縦棒の先...
motor_init()
pen_down()
forward(80,80,100,100) #二本の縦棒の先端部分を横...
motor_init()
pen_up()
forward(80,80,100,100) #七画目と八画目の間隔を80...
motor_init()
pen_down()
forward(80,80,100,100) #80の長さで八画目を書く。
motor_init()
pen_up()
forward(-120,-120,100,100) #再び日の部分の横棒を書く...
angle(200,-200) #同様に、200回転して縦棒...
motor_init()
forward(-80,-80,100,100) #隣り合う横棒である七画目...
motor_init()
angle(-200,200) #200回転して採算を取る。
motor_init()
forward(-120,-120,100,100) #右の縦棒の上から九画目を...
pen_down()
motor_init()
forward(80,80,100,100) #80の長さで九画目を書く。
pen_up()
motor_init()
angle(200,-200) #再び縦棒と並行にする。
motor_init()
forward(-70,-70,100,100) #九画目と十画目の間隔を70...
motor_init()
angle(-200,200) #同様に、採算を取り、回転...
motor_init()
forward(-50,-50,100,100) #右の縦棒の上から十画目を...
pen_down()
motor_init()
forward(80,80,100,100) #80の長さで進み、十画目を...
pen_up()
motor_init()
forward(80,80,100,100) #十画目と十一画目の間隔を...
pen_down()
motor_init()
forward(80,80,100,100) #80の長さで十一画目を書く。
pen_up()
motor_init()
forward(-160,-160,100,100) #日の下にある部分の横棒を...
motor_init()
angle(200,-200) #縦棒と並行にする。
motor_init()
forward(-80,-80,100,100) #十画目と十二画目の間隔を...
motor_init()
angle(-200,200) #同様に、採算を取る。
motor_init()
forward(-100,-100,100,100) #十二画目の書き始め位置の...
pen_down()
motor_init()
forward(120,120,100,100) #十二画目を書く。垣の字を...
pen_up()
motor_init()
forward(-230,-230,200,200) #230戻る。これは次の角度...
motor_init()
angle(-195,195) #直角に回転。
motor_init()
pen_down()
forward(200,200,100,100) #十三画目を書く。土へんの...
motor_init()
pen_up() #作業終了。
* 実際に書けた文字 [#pf5a5d07]
**失敗 [#t0959938]
angleやforwardの数値を変えて試行錯誤した結果である。本当...
&ref(2018b/Member/miyashi/Mission1/fail1.JPG,100%,失敗1);
&ref(2018b/Member/miyashi/Mission1/fail2.JPG,100%,失敗2);
**成功 [#n672b657]
試行した中で最もましな大垣である。この字を書いた時のプロ...
&ref(2018b/Member/miyashi/Mission1/success.JPG,100%,成功);
どう見ても大垣。
実際に書いた動画があるので以下にURLを貼る。https://www.yo...
** 本番で書いた文字 [#mcff32fb]
一番の成功とは言い難いが、まだ読めるレベルではある。土へ...
&ref(2018b/Member/miyashi/Mission1/s_DSC_0566.JPG,100%,本...
* 考察 [#n6c5e777]
** 欠点 [#t11cf6b2]
同じコマンドを与えても試行ごとに動きが異なり、一回として...
** 改善案 [#r68dcb17]
先述の欠点が大きく影響したのは、「垣」である。字を書くプ...
* 余談 [#ef82db37]
今回、試行を重ねる時に度々、昇降機についたペンが重力によ...
#!/usr/bin/env python3 from ev3dev.ev3 import *
from time import sleep
mm = MediumMotor('outD')
mm.reset()
a = input("motiagerukakudo(30)to(-30)")
mm.run_to_rel_pos(position_sp=a, speed_sp=100, stop_acti...
このコマンドを実行すると、しばらく経ってコマンドプロンプ...
motiagerukakudo(30)to(-30)
と表示される。ここでMediumMotorを回したい角度の分、数値を...
* 感想 [#sdf2b6ac]
今回上手く字が書けなかったのは車型にしたことだ。確かに綺...
*その他 [#jb33a70c]
閲覧回数
総計:&counter(total); 今日:&counter(today); 昨日:&counter...
ページ名: