2019b/Member/zhiwen/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019b/Member]]
#contents
*課題1[#zb17adf1]
似顔絵を描くロボットを製作する。
*ロボット [#ia4c8170]
どのようなロボットに関しては良い案が思いつかなかったので...
&ref(IMG_20191121_213226.jpg);
&br;
&br;
&ref(IMG_20191121_213342.jpg);
*プログラム [#t451954a]
今回の課題はロボット自体はあまり凝ったことをしていないた...
#!/usr/bin/env python3
from ev3dev2.motor import MoveTank,Motor,OUTPUT_A,OUTPU...
from time import sleep
tank = MoveTank(OUTPUT_B,OUTPUT_C)
pen_M = Motor(OUTPUT_A)
class Pen:
def __init__(self):
self.pen_M = Motor(OUTPUT_A)
#ペンを下す
def down(self,speed=2,degree=0):
self.pen_M.on_to_position(speed,degree)
sleep(0.5)
#ペンを上げる
def up(self,speed=2,degree=15):
self.pen_M.on_to_position(speed,degree)
sleep(0.5)
class Car:
pi = 3.141592653589793
r_t = 2.8
v = 3.0
#定数読み込み
with open("constant", "r") as f:
cons_list = f.readlines()
k = float(cons_list[0].strip("k:").strip())
pen_d = float(cons_list[1].strip("pen_d:").strip())
def __init__(self):
self.tank = MoveTank(OUTPUT_B,OUTPUT_C)
#まっすぐ進む
def go_s(self,d):
self.tank.on_for_degrees(Car.v,Car.v, 180/(Car.pi...
sleep(0.5)
#方向転換
def cod(self,theta,rl):
self.go_s(Car.pen_d)
sleep(0.5)
if (rl=="l"):
self.tank.on_for_degrees((-1)*Car.v,Car.v,the...
else:
self.tank.on_for_degrees(Car.v,(-1)*Car.v,the...
self.go_s((-1)*Car.pen_d)
sleep(0.5)
pen = Pen()
car = Car()
#ペンの位置の調整
while True:
i=input("q=up,a=down,p=ok:")
if i=="p":
break
elif i=="q":
pen_M.on_for_degrees(1,1)
elif i=="a":
pen_M.on_for_degrees(1,-1)
print("position:",pen_M.position)
pen_M.reset()
pen_M.on_to_position(5,15)
#命令の読み込みとリストへの変換
command_list = []
while True:
file_name = input("file_name:")
try:
with open(file_name, "r") as f:
command_list_raw = f.readlines()
for command in command_list_raw:
command_list.append(command.strip().split...
print(command_list_raw) #debug
print(command_list) #debug
break
except:
pass
v = 10
#実行
for i,command in enumerate(command_list):
if len(command) == 1:
if command[0] == "pu":
pen.up()
elif command[0] == "pd":
pen.down()
else:
try:
car.go_s(float(command[0]))
except:
print("pass1:",i) #debug
elif len(command) == 2:
try:
pen.up()
car.cod(float(command[0]),command[1])
pen.down()
except:
print("pass3:",i) #debug
else:
print("else") #debug
print(i,command) #debug
constant(テキストファイル)
k:2.13
pen_d:9.27
test(テキストファイル)
pd
5
90,r
5
rinnkaku(テキストファイル)
pd
9
45,r
5
45,r
4
45,r
5
45,r
9
60,r
4.5
30,r
4
30,r
4.5
60,r
kami(テキストファイル)
pd
1.5
110,r
1.6
40,l
2
40,r
3.7
40,l
5
60,l
mayu(テキストファイル)
pd
pu
0.5
pd
90,l
pu
1
pd
3
pu
1.9
pd
3
pu
1
pd
90,r
me(テキストファイル)
pd
pd
pu
1.5
pd
pd
90,r
pu
2.7
pd
pd
pd
1.8
pu
2.9
pd
pd
1.6
pu
1.6
pd
pd
kuti(テキストファイル)
pd
pd
pu
4.5
pd
pd
90,l
pu
3.5
pd
pd
5
レポートの製作がギリギリになってしまい細かいところは書く...
*結果 [#k5142d57]
下にある画像の絵が今回作ったロボットで描いた絵です。最初...
&ref(IMG_20191121_205549_1__2.jpg);
終了行:
[[2019b/Member]]
#contents
*課題1[#zb17adf1]
似顔絵を描くロボットを製作する。
*ロボット [#ia4c8170]
どのようなロボットに関しては良い案が思いつかなかったので...
&ref(IMG_20191121_213226.jpg);
&br;
&br;
&ref(IMG_20191121_213342.jpg);
*プログラム [#t451954a]
今回の課題はロボット自体はあまり凝ったことをしていないた...
#!/usr/bin/env python3
from ev3dev2.motor import MoveTank,Motor,OUTPUT_A,OUTPU...
from time import sleep
tank = MoveTank(OUTPUT_B,OUTPUT_C)
pen_M = Motor(OUTPUT_A)
class Pen:
def __init__(self):
self.pen_M = Motor(OUTPUT_A)
#ペンを下す
def down(self,speed=2,degree=0):
self.pen_M.on_to_position(speed,degree)
sleep(0.5)
#ペンを上げる
def up(self,speed=2,degree=15):
self.pen_M.on_to_position(speed,degree)
sleep(0.5)
class Car:
pi = 3.141592653589793
r_t = 2.8
v = 3.0
#定数読み込み
with open("constant", "r") as f:
cons_list = f.readlines()
k = float(cons_list[0].strip("k:").strip())
pen_d = float(cons_list[1].strip("pen_d:").strip())
def __init__(self):
self.tank = MoveTank(OUTPUT_B,OUTPUT_C)
#まっすぐ進む
def go_s(self,d):
self.tank.on_for_degrees(Car.v,Car.v, 180/(Car.pi...
sleep(0.5)
#方向転換
def cod(self,theta,rl):
self.go_s(Car.pen_d)
sleep(0.5)
if (rl=="l"):
self.tank.on_for_degrees((-1)*Car.v,Car.v,the...
else:
self.tank.on_for_degrees(Car.v,(-1)*Car.v,the...
self.go_s((-1)*Car.pen_d)
sleep(0.5)
pen = Pen()
car = Car()
#ペンの位置の調整
while True:
i=input("q=up,a=down,p=ok:")
if i=="p":
break
elif i=="q":
pen_M.on_for_degrees(1,1)
elif i=="a":
pen_M.on_for_degrees(1,-1)
print("position:",pen_M.position)
pen_M.reset()
pen_M.on_to_position(5,15)
#命令の読み込みとリストへの変換
command_list = []
while True:
file_name = input("file_name:")
try:
with open(file_name, "r") as f:
command_list_raw = f.readlines()
for command in command_list_raw:
command_list.append(command.strip().split...
print(command_list_raw) #debug
print(command_list) #debug
break
except:
pass
v = 10
#実行
for i,command in enumerate(command_list):
if len(command) == 1:
if command[0] == "pu":
pen.up()
elif command[0] == "pd":
pen.down()
else:
try:
car.go_s(float(command[0]))
except:
print("pass1:",i) #debug
elif len(command) == 2:
try:
pen.up()
car.cod(float(command[0]),command[1])
pen.down()
except:
print("pass3:",i) #debug
else:
print("else") #debug
print(i,command) #debug
constant(テキストファイル)
k:2.13
pen_d:9.27
test(テキストファイル)
pd
5
90,r
5
rinnkaku(テキストファイル)
pd
9
45,r
5
45,r
4
45,r
5
45,r
9
60,r
4.5
30,r
4
30,r
4.5
60,r
kami(テキストファイル)
pd
1.5
110,r
1.6
40,l
2
40,r
3.7
40,l
5
60,l
mayu(テキストファイル)
pd
pu
0.5
pd
90,l
pu
1
pd
3
pu
1.9
pd
3
pu
1
pd
90,r
me(テキストファイル)
pd
pd
pu
1.5
pd
pd
90,r
pu
2.7
pd
pd
pd
1.8
pu
2.9
pd
pd
1.6
pu
1.6
pd
pd
kuti(テキストファイル)
pd
pd
pu
4.5
pd
pd
90,l
pu
3.5
pd
pd
5
レポートの製作がギリギリになってしまい細かいところは書く...
*結果 [#k5142d57]
下にある画像の絵が今回作ったロボットで描いた絵です。最初...
&ref(IMG_20191121_205549_1__2.jpg);
ページ名: