2019a/Member/TOY/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
目次
#contents
*課題について [#dcba9473]
詳しくは[[2019a/Mission1]]を参照してください。
私の場合は信州という字をロボットに書かせることにしました。
*ロボット本体の説明 [#c992b817]
#ref(./114514-1.JPG,10%,右手がロボット前部)
私のロボットは基本的には、2つのタイヤで移動して字を書くと...
?はペンを持つ部分でmedium Motor を+方向、-方向に回転させ...
下の画像がスイッチ切り替え動作の立体的な説明です。赤いの...
#ref(./114514-4.JPG,50%,スイッチの切り替え)
?large Motorにタイヤを付け、反対側と合わせて2つのタイヤで...
?ロボットの重心を下げ、動作を安定させるための重りです。再...
BRZ GT300の写真があるスバル公式サイト→https://www.subaru...
トヨタ公式サイトの86写真→https://toyota.jp/86/
?EV3本体です。ここですべての制御、通信を行っています。制...
*プログラミング、関数について [#lc39cce1]
言語は全てPython3で書かれており、python-ev3devというev3用...
def motor_init(): #?
mL.reset()
mR.reset()
def move_forward(t): #?
mL.run_timed(time_sp=t,speed_sp=250,stop_action='hol...
mR.run_timed(time_sp=t,speed_sp=250,stop_action='hol...
sleep(t/1000)
def move_back(t): #?
mL.run_timed(time_sp=t,speed_sp=-250,stop_action='h...
mR.run_timed(time_sp=t,speed_sp=-250,stop_action='h...
sleep(t/1000)
def turn_left(t): #?
mL.run_timed(time_sp=t,speed_sp=-190,stop_action='h...
mR.run_timed(time_sp=t,speed_sp=190,stop_action='ho...
sleep(t/1000)
def turn_right(t): #?
mL.run_timed(time_sp=t,speed_sp=190,stop_action='ho...
mR.run_timed(time_sp=t,speed_sp=-190,stop_action='h...
sleep(t/1000)
def switch_off(t): #?
mM.run_timed(time_sp=t,speed_sp=200,stop_action='ho...
sleep(t/1000)
def switch_on(t): #?
mM.run_timed(time_sp=t,speed_sp=-200,stop_action='h...
sleep(t/1000)
def back_left(t): #?
mR.run_timed(time_sp=t,speed_sp=-300,stop_action='h...
mL.run_timed(time_sp=t,speed_sp=-100,stop_action='h...
sleep(t/1000)
def back_right(t): #?
mR.run_timed(time_sp=t,speed_sp=-100,stop_action='h...
mL.run_timed(time_sp=t,speed_sp=-300,stop_action='h...
sleep(t/1000)
def moveforward_harai(t): #?
mR.run_timed(time_sp=t,speed_sp=100,stop_action='ho...
mL.run_timed(time_sp=t,speed_sp=300,stop_action='ho...
sleep(t/1000)
def moveback_harai(t): #?
mR.run_timed(time_sp=t,speed_sp=-100,stop_action='h...
mL.run_timed(time_sp=t,speed_sp=-300,stop_action='h...
sleep(t/1000)
*関数の説明 [#v1c98c85]
私が採用したmX.run_timed(X=L,R,M)は時間を指定してモーター...
?motor_init():モーターの設定をリセット、初期化します。
?move_forward(t):速度一定、時間tを指定して、その時間分だ...
?move_back(t):速度一定、時間tを指定して、その時間分だけモ...
?turn_left(t):速度一定、時間tを指定して、その時間分だけモ...
?turn_right():速度一定、時間tを指定して、その時間分だけモ...
?switch_off(t):速度一定、時間tを指定して、その時間分だけ...
?switch_on(t):速度一定、時間tを指定して、その時間分だけ前...
?back_left(t):速度一定、時間tを指定して、その時間分だけ左...
?back_right(t):速度一定、時間tを指定して、その時間分だけ...
?moveforward_harai:速度一定、時間tを指定して、その時間分...
?moveback_harai:速度一定、時間tを指定して、その時間分だけ...
*「信州」を書いてみた-全体的な問題と改善 [#h3b719bb]
まず「信州」を書く際に生じた、全体的な問題そしてその結果...
第二の問題は、モーターの速度です。最初move_forwardのspeed...
これを含めた改善にも関わらず、時間の関係上、結果として十...
下が実際に書いた「信州」です。書き順は「信」の「口」の部...
#ref(./114514-2.JPG,10%,信州)
#ref(./114514-3.JPG,10%,書き順)
これを書いたのは令和元年6/1土曜日の昼過ぎで、いざ本番や、...
*まず「信」を書いてみる-問題と改善 [#m38629f6]
ここからは、上の結果につながる過程、実際のプログラムの作...
#!/usr/bin/env python3 #言語はPython3という宣言
from ev3dev.ev3 import * #ev3devをインポートするという...
from time import sleep #時間はsleep関数を用いるという宣言
mL = LargeMotor('outB') #左側のモーターがBポートに繋が...
mR = LargeMotor('outC') #右側のモーターがCポートに繋が...
mM = MediumMotor('outA') #ペンの切り替えに使うモーター...
motor_init()
move_forward(500) #「信」の一画目を書いている
sleep(1)
switch_off(500) #筆を用紙から離している(以下switch_of...
sleep(1)
move_forward(350) #位置調整
sleep(1)
back_right(2000) #2画目の前まで移動(車でいうハンドル...
sleep(1)
back_left(990) #2画目の前まで移動(車でいうハンドルを...
sleep(1)
move_forward(1700) #2画目の直前まで移動
sleep(1)
switch_on(500) #筆を地面につける(以下switch_onは同様...
sleep(1)
move_forward(800) #2画目を書いている
sleep(1)
switch_off(500)
sleep(1)
back_right(1600) #3画目への移動
sleep(1)
turn_right(250) #3画目への角度調整
sleep(1)
move_forward(1090) #3画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(150) #3画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(750) #4画目への移動
sleep(1)
turn_right(600) #4画目への角度調整
sleep(1)
move_forward(2400) #4画目への移動
sleep(1)
back_right(1950) #4画目への移動
sleep(1)
move_forward(1200) #4画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(700) #4画目を書いている
sleep(1)
switch_off(500)
sleep(1)
back_right(500) #5画目への移動
sleep(1)
back_left(500) #5画目への移動
sleep(1)
move_forward(100) #5画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(420) #5画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(420) #6画目への移動
sleep(1)
back_right(500) #6画目への移動
sleep(1)
back_left(500) #6画目への移動
sleep(1)
move_forward(670) #6画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(420) #6画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(420) #7画目への移動
sleep(1)
back_right(500) #7画目への移動
sleep(1)
back_left(500) #7画目への移動
sleep(1)
move_forward(500) #7画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(400) #7画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(400) #8画目への移動
sleep(1)
back_right(500) #8画目への移動
sleep(1)
back_left(500) #8画目への移動
sleep(1)
move_forward(450) #8画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(400) #8画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_forward(400) #9画目への移動
sleep(1)
turn_left(900) #9画目への移動
sleep(1)
move_back(500) #9画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(200) #9画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(200) #10画目への移動
sleep(1)
turn_right(900) #10画目への移動
sleep(1)
move_forward(380) #10画目への移動
sleep(1)
turn_left(900)#10画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(200)#10画目を書いている
sleep(1)
switch_off(500)
ここから「信」を書く際に生じた問題とその改善策について述...
*次に「州」を書いてみる-問題と改善 [#p9cdbfdc]
次に、「州」を書くプログラムについて述べていきます。
下が実際のプログラムです。初期条件は筆が地面から離れてい...
switch_on(500) #信と同様に筆を地面につけます(以下同様)
sleep(1)
move_forward(200) #「州」の1画目を書いています
sleep(1)
switch_off(500) #信と同様に筆を地面から離します(以下...
sleep(1)
back_right(1400) #2画目の直線上にまで移動
sleep(1)
back_left(770) #2画目の直線上にまで移動
sleep(1)
move_forward(800) #2画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(1000) #2画目を書いている
sleep(1)
moveforward_harai(400) #2画目の「はらい」を書いている...
sleep(1)
switch_off(500)
sleep(1)
moveback_harai(400) #上のはらいを書く直前の位置まで復...
sleep(1)
back_right(1700) #3画目まで移動
sleep(1)
turn_right(500) #3画目の直線と平行になるよう向きを合わ...
sleep(1)
move_forward(1000) #3画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(400) #3画目を書いている
sleep(1)
move_back(400) #3画目を2回書いている(州の3画目の丸み...
sleep(1)
switch_off(500)
sleep(1)
move_back(500) #4画目まで移動
sleep(1)
turn_left(400) #4画目まで移動
sleep(1)
move_forward(1400) #4画目まで移動
sleep(1)
back_left(1750) #4画目の直線状まで移動
sleep(1)
move_forward(1000) #4画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(1000) #4画目を書いている
sleep(1)
switch_off(500)
sleep(1)
back_right(1600) #5画目まで移動
sleep(1)
move_forward(150) #5画目まで移動
sleep(1)
turn_right(700) #5画目の直線上まで移動
sleep(1)
move_forward(200) #5画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(200) #5画目を書いている
sleep(1)
switch_off(500)
sleep(1)
まず第一の問題は「州」という字の2画目に「はらい」があるこ...
*感想と反省 [#ie9a5e86]
結果としてはお世辞にも綺麗な字が書けたとは言えず、はっき...
終了行:
[[2019a/Member]]
目次
#contents
*課題について [#dcba9473]
詳しくは[[2019a/Mission1]]を参照してください。
私の場合は信州という字をロボットに書かせることにしました。
*ロボット本体の説明 [#c992b817]
#ref(./114514-1.JPG,10%,右手がロボット前部)
私のロボットは基本的には、2つのタイヤで移動して字を書くと...
?はペンを持つ部分でmedium Motor を+方向、-方向に回転させ...
下の画像がスイッチ切り替え動作の立体的な説明です。赤いの...
#ref(./114514-4.JPG,50%,スイッチの切り替え)
?large Motorにタイヤを付け、反対側と合わせて2つのタイヤで...
?ロボットの重心を下げ、動作を安定させるための重りです。再...
BRZ GT300の写真があるスバル公式サイト→https://www.subaru...
トヨタ公式サイトの86写真→https://toyota.jp/86/
?EV3本体です。ここですべての制御、通信を行っています。制...
*プログラミング、関数について [#lc39cce1]
言語は全てPython3で書かれており、python-ev3devというev3用...
def motor_init(): #?
mL.reset()
mR.reset()
def move_forward(t): #?
mL.run_timed(time_sp=t,speed_sp=250,stop_action='hol...
mR.run_timed(time_sp=t,speed_sp=250,stop_action='hol...
sleep(t/1000)
def move_back(t): #?
mL.run_timed(time_sp=t,speed_sp=-250,stop_action='h...
mR.run_timed(time_sp=t,speed_sp=-250,stop_action='h...
sleep(t/1000)
def turn_left(t): #?
mL.run_timed(time_sp=t,speed_sp=-190,stop_action='h...
mR.run_timed(time_sp=t,speed_sp=190,stop_action='ho...
sleep(t/1000)
def turn_right(t): #?
mL.run_timed(time_sp=t,speed_sp=190,stop_action='ho...
mR.run_timed(time_sp=t,speed_sp=-190,stop_action='h...
sleep(t/1000)
def switch_off(t): #?
mM.run_timed(time_sp=t,speed_sp=200,stop_action='ho...
sleep(t/1000)
def switch_on(t): #?
mM.run_timed(time_sp=t,speed_sp=-200,stop_action='h...
sleep(t/1000)
def back_left(t): #?
mR.run_timed(time_sp=t,speed_sp=-300,stop_action='h...
mL.run_timed(time_sp=t,speed_sp=-100,stop_action='h...
sleep(t/1000)
def back_right(t): #?
mR.run_timed(time_sp=t,speed_sp=-100,stop_action='h...
mL.run_timed(time_sp=t,speed_sp=-300,stop_action='h...
sleep(t/1000)
def moveforward_harai(t): #?
mR.run_timed(time_sp=t,speed_sp=100,stop_action='ho...
mL.run_timed(time_sp=t,speed_sp=300,stop_action='ho...
sleep(t/1000)
def moveback_harai(t): #?
mR.run_timed(time_sp=t,speed_sp=-100,stop_action='h...
mL.run_timed(time_sp=t,speed_sp=-300,stop_action='h...
sleep(t/1000)
*関数の説明 [#v1c98c85]
私が採用したmX.run_timed(X=L,R,M)は時間を指定してモーター...
?motor_init():モーターの設定をリセット、初期化します。
?move_forward(t):速度一定、時間tを指定して、その時間分だ...
?move_back(t):速度一定、時間tを指定して、その時間分だけモ...
?turn_left(t):速度一定、時間tを指定して、その時間分だけモ...
?turn_right():速度一定、時間tを指定して、その時間分だけモ...
?switch_off(t):速度一定、時間tを指定して、その時間分だけ...
?switch_on(t):速度一定、時間tを指定して、その時間分だけ前...
?back_left(t):速度一定、時間tを指定して、その時間分だけ左...
?back_right(t):速度一定、時間tを指定して、その時間分だけ...
?moveforward_harai:速度一定、時間tを指定して、その時間分...
?moveback_harai:速度一定、時間tを指定して、その時間分だけ...
*「信州」を書いてみた-全体的な問題と改善 [#h3b719bb]
まず「信州」を書く際に生じた、全体的な問題そしてその結果...
第二の問題は、モーターの速度です。最初move_forwardのspeed...
これを含めた改善にも関わらず、時間の関係上、結果として十...
下が実際に書いた「信州」です。書き順は「信」の「口」の部...
#ref(./114514-2.JPG,10%,信州)
#ref(./114514-3.JPG,10%,書き順)
これを書いたのは令和元年6/1土曜日の昼過ぎで、いざ本番や、...
*まず「信」を書いてみる-問題と改善 [#m38629f6]
ここからは、上の結果につながる過程、実際のプログラムの作...
#!/usr/bin/env python3 #言語はPython3という宣言
from ev3dev.ev3 import * #ev3devをインポートするという...
from time import sleep #時間はsleep関数を用いるという宣言
mL = LargeMotor('outB') #左側のモーターがBポートに繋が...
mR = LargeMotor('outC') #右側のモーターがCポートに繋が...
mM = MediumMotor('outA') #ペンの切り替えに使うモーター...
motor_init()
move_forward(500) #「信」の一画目を書いている
sleep(1)
switch_off(500) #筆を用紙から離している(以下switch_of...
sleep(1)
move_forward(350) #位置調整
sleep(1)
back_right(2000) #2画目の前まで移動(車でいうハンドル...
sleep(1)
back_left(990) #2画目の前まで移動(車でいうハンドルを...
sleep(1)
move_forward(1700) #2画目の直前まで移動
sleep(1)
switch_on(500) #筆を地面につける(以下switch_onは同様...
sleep(1)
move_forward(800) #2画目を書いている
sleep(1)
switch_off(500)
sleep(1)
back_right(1600) #3画目への移動
sleep(1)
turn_right(250) #3画目への角度調整
sleep(1)
move_forward(1090) #3画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(150) #3画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(750) #4画目への移動
sleep(1)
turn_right(600) #4画目への角度調整
sleep(1)
move_forward(2400) #4画目への移動
sleep(1)
back_right(1950) #4画目への移動
sleep(1)
move_forward(1200) #4画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(700) #4画目を書いている
sleep(1)
switch_off(500)
sleep(1)
back_right(500) #5画目への移動
sleep(1)
back_left(500) #5画目への移動
sleep(1)
move_forward(100) #5画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(420) #5画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(420) #6画目への移動
sleep(1)
back_right(500) #6画目への移動
sleep(1)
back_left(500) #6画目への移動
sleep(1)
move_forward(670) #6画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(420) #6画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(420) #7画目への移動
sleep(1)
back_right(500) #7画目への移動
sleep(1)
back_left(500) #7画目への移動
sleep(1)
move_forward(500) #7画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(400) #7画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(400) #8画目への移動
sleep(1)
back_right(500) #8画目への移動
sleep(1)
back_left(500) #8画目への移動
sleep(1)
move_forward(450) #8画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(400) #8画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_forward(400) #9画目への移動
sleep(1)
turn_left(900) #9画目への移動
sleep(1)
move_back(500) #9画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(200) #9画目を書いている
sleep(1)
switch_off(500)
sleep(1)
move_back(200) #10画目への移動
sleep(1)
turn_right(900) #10画目への移動
sleep(1)
move_forward(380) #10画目への移動
sleep(1)
turn_left(900)#10画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(200)#10画目を書いている
sleep(1)
switch_off(500)
ここから「信」を書く際に生じた問題とその改善策について述...
*次に「州」を書いてみる-問題と改善 [#p9cdbfdc]
次に、「州」を書くプログラムについて述べていきます。
下が実際のプログラムです。初期条件は筆が地面から離れてい...
switch_on(500) #信と同様に筆を地面につけます(以下同様)
sleep(1)
move_forward(200) #「州」の1画目を書いています
sleep(1)
switch_off(500) #信と同様に筆を地面から離します(以下...
sleep(1)
back_right(1400) #2画目の直線上にまで移動
sleep(1)
back_left(770) #2画目の直線上にまで移動
sleep(1)
move_forward(800) #2画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(1000) #2画目を書いている
sleep(1)
moveforward_harai(400) #2画目の「はらい」を書いている...
sleep(1)
switch_off(500)
sleep(1)
moveback_harai(400) #上のはらいを書く直前の位置まで復...
sleep(1)
back_right(1700) #3画目まで移動
sleep(1)
turn_right(500) #3画目の直線と平行になるよう向きを合わ...
sleep(1)
move_forward(1000) #3画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(400) #3画目を書いている
sleep(1)
move_back(400) #3画目を2回書いている(州の3画目の丸み...
sleep(1)
switch_off(500)
sleep(1)
move_back(500) #4画目まで移動
sleep(1)
turn_left(400) #4画目まで移動
sleep(1)
move_forward(1400) #4画目まで移動
sleep(1)
back_left(1750) #4画目の直線状まで移動
sleep(1)
move_forward(1000) #4画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(1000) #4画目を書いている
sleep(1)
switch_off(500)
sleep(1)
back_right(1600) #5画目まで移動
sleep(1)
move_forward(150) #5画目まで移動
sleep(1)
turn_right(700) #5画目の直線上まで移動
sleep(1)
move_forward(200) #5画目の直前まで移動
sleep(1)
switch_on(500)
sleep(1)
move_forward(200) #5画目を書いている
sleep(1)
switch_off(500)
sleep(1)
まず第一の問題は「州」という字の2画目に「はらい」があるこ...
*感想と反省 [#ie9a5e86]
結果としてはお世辞にも綺麗な字が書けたとは言えず、はっき...
ページ名: