2018b/Member/miyashi/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題2 [#z655447d]
下の図のようなコースを各チームで作成し、「ミッション」を...
ミッション
1.ロボットを正方形Y内におき、Lをスタート
2.Eを一時停止して直進
3.Iを一時停止して左折
4.Hを直進
5.Kを直進
6.Jを左折
7.Cを一時停止して右折
8.Eを一時停止して直進
9.Gを一時停止して直進
10.長方形X内に入って停止
また、一時停止の指定がある場所は、1秒間停止し、ボールはロ...
&ref(2018b/Member/miyashi/Mission2/s_コース2.png,100%,課...
*ロボットの説明 [#n7f9b6d5]
**目的と外観[#y914cc09]
今回はライントレースをするロボットが必要であるということ...
&ref(2018b/Member/miyashi/Mission2/s_寸法.png,100%,外観と...
**車体とその他機構の説明 [#lf29caed]
以下で、センサ類の扱いとボール投射機構の説明をする。
***センサ類の取付場所の工夫 [#r7cf4225]
カラーセンサは車輪と離れすぎていると少しの車輪の動きでカ...
超音波センサはボールを空き缶に正確にぶつけるために、投射...
&ref(2018b/Member/miyashi/Mission2/s_センサ.png,100%,セン...
***ボール投射機構 [#ub287e8a]
MediumMotorを利用し、滑り台のイメージでボールを投射する。...
&ref(2018b/Member/miyashi/Mission2/s_投射.png,100%,投射機...
*ライントレースについて [#j0de7330]
**その前に [#s2f20d04]
事前に行ったカラーセンサの値の調査では、黒を映していると...
**本題 [#a555eaf6]
今回の課題で肝となるライントレースだが、白と黒線の境界を...
def linetrace_rin():
c1=cs.value()
while c1>13: ...
c1=cs.value()
x=(abs(c1-10)/70)*100 ...
if x>100: ...
x=100
l=(x/100)*210-30 ...
r=150-l ...
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() ...
このプログラムでライントレースを行う本質は左右の車輪の速...
上記のプログラムは車の進行方向に対し、左に白、右に黒線が...
def linetrace_lin():
c1=cs.value()
while c1>13: ...
c1=cs.value()
x=abs((c1-10)/70)*100 ...
if x>100: ...
x=100
r=(x/100)*210-30 ...
l=150-r ...
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() ...
これは、一つ目のプログラムのlとrを入れ替えただけであるの...
こうして、黒線がどちら側にあっても、プログラムを場合によ...
右が一つ目、左が二つ目のプログラムである。
&ref(2018b/Member/miyashi/Mission2/s_ライントレース.png,1...
*プロブラムの説明 [#g1204ff9]
**プログラムの前に [#q728a032]
以下を入力した。
#!/usr/bin/env python3
from ev3dev.ev3 import *
import time
ml=LargeMotor('outA') #左側の車輪を動かすモータをml...
mr=LargeMotor('outD') #右側の車輪を動かすモータをmr...
mm=MediumMotor('outC') #投射機構を上下させるモータを...
cs=ColorSensor('in4') #カラーセンサをcsとする。
ts=TouchSensor('in1') #タッチセンサをtsとする。
us=UltrasonicSensor('in2') #超音波センサをusとする。
**定義した関数 [#p39d622f]
***回転、直進、停止などの基本的な関数 [#h3eb174a]
それぞれのモータを止める。適宜、利用するために作った。
def stop():
ml.stop()
mr.stop()
指定した秒数、走らせる関数。扱いやすくするためにスピード...
def runtime(l,r):
ml.run_timed(time_sp=l*1000,speed_sp=70,stop_act...
mr.run_timed(time_sp=r*1000,speed_sp=70,stop_act...
time.sleep((l+r)/2)
指定した角度だけ、車輪を回転させる関数。バッテリー残量に...
def angle(l,r):
ml.run_to_rel_pos(position_sp=l,speed_sp=70,stop...
mr.run_to_rel_pos(position_sp=r,speed_sp=70,stop...
***ボールを投射する関数 [#uddc3dc3]
ボールを転がすために、はしごを降ろす関数である。降ろした...
def shoot():
mm.run_to_rel_pos(position_sp=-60,speed_sp=150,s...
time.sleep(3)
mm.run_to_rel_pos(position_sp=60,speed_sp=150,st...
time.sleep(3)
その場で一回転して最も近い位置にある物体にボールをぶつけ...
def discover():
t0=time.time() #計測開始時間をt0とする。
u1=us.value() #u1を超音波センサが計測した値と...
ml.run_to_rel_pos(position_sp=-700,speed_sp=150,...
mr.run_to_rel_pos(position_sp=700,speed_sp=150,s...
t2=time.time()
while t2-t0<4.7: #t2-t0が4.7より小さいなら、...
u2=us.value() #超音波センサで計測した...
if u2<u1: #計測値が小さくなる。つまり...
u1=u2 #最小値を更新する。
t1=time.time() #更新したときの...
t2=time.time() #t2を計測する。
time.sleep(1)
ml.run_timed(time_sp=(t1-t0)*1000,speed_sp=-150,...
mr.run_timed(time_sp=(t1-t0)*1000,speed_sp=150,s...
time.sleep(t1-t0)
time.sleep(1)
shoot() #ボールを転がす。
ml.run_timed(time_sp=(t1-t0)*1000,speed_sp=150,s...
mr.run_timed(time_sp=(t1-t0)*1000,speed_sp=-150,...
time.sleep(t1-t0)
&ref(2018b/Member/miyashi/Mission2/s_discover.png,100%,di...
***ライントレースする関数 [#bfe66ff7]
先程紹介した二つのライントレースする関数は省略し、残る二...
黒線が右にある場合。
def linetrace_rout():
c1=cs.value() #計測値をc1とする。
while c1<40: #c1<40ならば以下を繰り返す。
c1=cs.value() #c1を計測。
x=(abs(c1-10)/70)*100 #xの値を求める。
if x>100: #xの値の最大値を100とする。
x=100
l=(x/100)*120-40 #lの値を決める。
r=40-l #rの値を決める。
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() #止める。
黒線が左にある場合。
def linetrace_lout():
c1=cs.value() #計測値をc1とする。
while c1<40: #c1<40ならば以下を繰り返す。
c1=cs.value() #c1を計測。
x=(abs(c1-10)/70)*100 #xの値を求める。
if x>100: #xの値の最大値を100とす...
x=100
r=(x/100)*120-40 #rの値を求める。
l=40-r #lの値を求める。
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() #止める。
先述のプログラムとこのプログラムの計4つを組み合わせること...
**コースごとの関数 [#ye4cb4d2]
課題の指定通り、交差点ごとにひとつづつ関数を作った。また...
LからEまでの関数。
def LtoE():
runtime(2,2) #START位置のすぐそばの黒線でラ...
linetrace_rin() #黒線の左側でライントレース。E...
time.sleep(1) #課題の指示通り、1秒停止する。
print("LtoE")
EからIまでの関数。
def EtoI():
runtime(2,2) #交差点内の黒線でライントレース...
linetrace_rin() #黒線の左側でライントレース。I...
time.sleep(1) #課題の指示通り、1秒停止する。
print("EtoI")
IからHまでの関数。
def ItoH():
linetrace_rout() #明確な白を検知するまで反時計回...
linetrace_rin() #黒線の左側でライントレース。H...
print("ItoH")
HからKまでの関数。
def HtoK():
angle(70,0) #交差点内の黒線でライントレース...
time.sleep(2)
linetrace_rin() #黒線の左側でライントレース。K...
print("HtoK")
KからJまでの関数。
def KtoJ():
angle(90,30) #交差点内の黒線でライントレース...
time.sleep(2)
linetrace_rin() #黒線の左側でライントレース。J...
print("KtoJ")
JからCまでの関数。
def JtoC():
angle(40,100) #今後のコースを考えると、逆(黒...
time.sleep(2)
linetrace_lin() #黒線の右側でライントレース。C...
time.sleep(1) #課題の指示通り、1秒停止する。
print("JtoC")
CからEまでの関数。
def CtoE():
angle(120,0) #今後のコースを考えると、逆(黒...
time.sleep(2)
linetrace_rin() #黒線の左側でライントレース。U...
linetrace_rout() #黒線の左側でライントレース。直...
linetrace_rin() #黒線の左側でライントレース。E...
time.sleep(1) #課題の指示通り、1秒停止する。
print("CtoE")
EからGまでの関数。
def EtoG():
runtime(2,2) #交差点内の黒線でライントレース...
linetrace_rin() #黒線の左側でライントレース。F...
linetrace_rout() #黒線の左側でライントレース。U...
linetrace_rin() #黒線の左側でライントレース。G...
time.sleep(1) #課題の指示通り、1秒停止する。
print("EtoG")
GからGOALまでの関数。
def GOAL():
runtime(2,2) #交差点内の黒線でライントレース...
linetrace_rin() #黒線の左側でライントレース。GO...
runtime(5,5) #交差点内の黒線でライントレース...
print("GOAL")
**作動プログラム [#m3874ac4]
LtoE()
EtoI()
ItoH()
HtoK()
discover()
KtoJ()
JtoO()
OtoE()
EtoG()
GOAL()
*本番について [#r7ca1ba8]
私の担当したコースでは本番は行っていないが、相方が成功し...
*今回の課題を振り返って [#q319483b]
**ライントレースの苦労話 [#xd2e75db]
今回最も苦労した部分は、ライントレースの方法である。当初...
変化率でのライントレースを断念した次は、変化率を既存の関...
tanhx=(exp(x)-exp(-x))/(exp(x)+exp(-x)) であり、概形は下...
&ref(2018b/Member/miyashi/Mission2/s_tanhx.png,100%,tanhx...
このグラフが示すように、xの値が極端に大きかったり小さかっ...
def forward(l,r):
ml.run_forever(speed_sp=l,stop_action='brake') ...
mr.run_forever(speed_sp=r,stop_action='brake') ...
def linetrace():
while ts.value()==0: #試験的にこの定義で動...
t1=time.time() #t1とc1を同時に計測
c1=cs.value()
time.sleep(0.05) #変化率の分母は0.05秒
t2=time.time() #t2とc2を同時に計測
c2=cs.value()
w=((c2-c1)/(t2-t1)) #変化率wは0.05当...
x=round(w)/100 #変化率を四捨五入し、/...
y=(math.exp(x)-math.exp(-x))/(math.exp(x...
z=round(y*150) #yを*150して四捨五入。...
if z>0: #zの値により、白から黒...
a=50-z
b=50+z
if 0>z: #zの値により、黒から白...
a=50-z
b=50+z
if z==0: #変化がないならば直進...
a=50
b=50
forward(a,b) #a,bの速度で車輪を動か...
上記のように安定した動きができなかった。理由を考察すると...
そこでたどり着いたのが今の方法だった。x,l,rの関係式の係数...
**ライントレース方法の没案 [#k4890a7e]
上記以外にも没にした案があった。それは、カラーセンサが黒...
まずはライントレースの定義から。上記のx,r,lの式の中身が異...
def linetrace_l():
c1=cs.value() #カラーセンサの計測値をc1とす...
x=abs((c1-10)/70)*100 #xの値を決定。
if x>100: #xの最大値は100とする。
x=100
r=(x/100)*60-20 #rの値を確定。
l=20-r #lの値を確定。
ml.run_forever(speed_sp=l*5,stop_action='brake')...
mr.run_forever(speed_sp=r*5,stop_action='brake')...
当然逆側のライントレースもある。掲載は割愛。
次に問題のプログラム。これはコース1のGからEまでを渡るも...
def GtoE():
i=0 #明確な黒の値を取った回数をiとし、この回...
c2=cs.value() #計測値をc2とする。
while i<85: #明確な黒の値を85回とるまで以...
c2=cs.value()
linetrace_l() #ライントレースする。
if c2<13: #明確な黒の値を取ったと...
i=i+1
else: #明確な黒の値でない場合...
i=i
stop() #止まる。
前述したが、この方法は事前に何回も交差点ごとのiの値を考慮...
**感想 [#a128bca2]
前回の課題とは異なり、今回はコースが与えられていて、自分...
反省としては、ライントレースの速度だ。できる限り速く動か...
*その他 [#jb33a70c]
**動画はこちら [#a11a6b71]
https://www.youtube.com/watch?v=TXf0GQCezDk
**閲覧回数 [#f975e5a9]
総計:&counter(total); 今日:&counter(today); 昨日:&counter...
終了行:
目次
#contents
*課題2 [#z655447d]
下の図のようなコースを各チームで作成し、「ミッション」を...
ミッション
1.ロボットを正方形Y内におき、Lをスタート
2.Eを一時停止して直進
3.Iを一時停止して左折
4.Hを直進
5.Kを直進
6.Jを左折
7.Cを一時停止して右折
8.Eを一時停止して直進
9.Gを一時停止して直進
10.長方形X内に入って停止
また、一時停止の指定がある場所は、1秒間停止し、ボールはロ...
&ref(2018b/Member/miyashi/Mission2/s_コース2.png,100%,課...
*ロボットの説明 [#n7f9b6d5]
**目的と外観[#y914cc09]
今回はライントレースをするロボットが必要であるということ...
&ref(2018b/Member/miyashi/Mission2/s_寸法.png,100%,外観と...
**車体とその他機構の説明 [#lf29caed]
以下で、センサ類の扱いとボール投射機構の説明をする。
***センサ類の取付場所の工夫 [#r7cf4225]
カラーセンサは車輪と離れすぎていると少しの車輪の動きでカ...
超音波センサはボールを空き缶に正確にぶつけるために、投射...
&ref(2018b/Member/miyashi/Mission2/s_センサ.png,100%,セン...
***ボール投射機構 [#ub287e8a]
MediumMotorを利用し、滑り台のイメージでボールを投射する。...
&ref(2018b/Member/miyashi/Mission2/s_投射.png,100%,投射機...
*ライントレースについて [#j0de7330]
**その前に [#s2f20d04]
事前に行ったカラーセンサの値の調査では、黒を映していると...
**本題 [#a555eaf6]
今回の課題で肝となるライントレースだが、白と黒線の境界を...
def linetrace_rin():
c1=cs.value()
while c1>13: ...
c1=cs.value()
x=(abs(c1-10)/70)*100 ...
if x>100: ...
x=100
l=(x/100)*210-30 ...
r=150-l ...
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() ...
このプログラムでライントレースを行う本質は左右の車輪の速...
上記のプログラムは車の進行方向に対し、左に白、右に黒線が...
def linetrace_lin():
c1=cs.value()
while c1>13: ...
c1=cs.value()
x=abs((c1-10)/70)*100 ...
if x>100: ...
x=100
r=(x/100)*210-30 ...
l=150-r ...
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() ...
これは、一つ目のプログラムのlとrを入れ替えただけであるの...
こうして、黒線がどちら側にあっても、プログラムを場合によ...
右が一つ目、左が二つ目のプログラムである。
&ref(2018b/Member/miyashi/Mission2/s_ライントレース.png,1...
*プロブラムの説明 [#g1204ff9]
**プログラムの前に [#q728a032]
以下を入力した。
#!/usr/bin/env python3
from ev3dev.ev3 import *
import time
ml=LargeMotor('outA') #左側の車輪を動かすモータをml...
mr=LargeMotor('outD') #右側の車輪を動かすモータをmr...
mm=MediumMotor('outC') #投射機構を上下させるモータを...
cs=ColorSensor('in4') #カラーセンサをcsとする。
ts=TouchSensor('in1') #タッチセンサをtsとする。
us=UltrasonicSensor('in2') #超音波センサをusとする。
**定義した関数 [#p39d622f]
***回転、直進、停止などの基本的な関数 [#h3eb174a]
それぞれのモータを止める。適宜、利用するために作った。
def stop():
ml.stop()
mr.stop()
指定した秒数、走らせる関数。扱いやすくするためにスピード...
def runtime(l,r):
ml.run_timed(time_sp=l*1000,speed_sp=70,stop_act...
mr.run_timed(time_sp=r*1000,speed_sp=70,stop_act...
time.sleep((l+r)/2)
指定した角度だけ、車輪を回転させる関数。バッテリー残量に...
def angle(l,r):
ml.run_to_rel_pos(position_sp=l,speed_sp=70,stop...
mr.run_to_rel_pos(position_sp=r,speed_sp=70,stop...
***ボールを投射する関数 [#uddc3dc3]
ボールを転がすために、はしごを降ろす関数である。降ろした...
def shoot():
mm.run_to_rel_pos(position_sp=-60,speed_sp=150,s...
time.sleep(3)
mm.run_to_rel_pos(position_sp=60,speed_sp=150,st...
time.sleep(3)
その場で一回転して最も近い位置にある物体にボールをぶつけ...
def discover():
t0=time.time() #計測開始時間をt0とする。
u1=us.value() #u1を超音波センサが計測した値と...
ml.run_to_rel_pos(position_sp=-700,speed_sp=150,...
mr.run_to_rel_pos(position_sp=700,speed_sp=150,s...
t2=time.time()
while t2-t0<4.7: #t2-t0が4.7より小さいなら、...
u2=us.value() #超音波センサで計測した...
if u2<u1: #計測値が小さくなる。つまり...
u1=u2 #最小値を更新する。
t1=time.time() #更新したときの...
t2=time.time() #t2を計測する。
time.sleep(1)
ml.run_timed(time_sp=(t1-t0)*1000,speed_sp=-150,...
mr.run_timed(time_sp=(t1-t0)*1000,speed_sp=150,s...
time.sleep(t1-t0)
time.sleep(1)
shoot() #ボールを転がす。
ml.run_timed(time_sp=(t1-t0)*1000,speed_sp=150,s...
mr.run_timed(time_sp=(t1-t0)*1000,speed_sp=-150,...
time.sleep(t1-t0)
&ref(2018b/Member/miyashi/Mission2/s_discover.png,100%,di...
***ライントレースする関数 [#bfe66ff7]
先程紹介した二つのライントレースする関数は省略し、残る二...
黒線が右にある場合。
def linetrace_rout():
c1=cs.value() #計測値をc1とする。
while c1<40: #c1<40ならば以下を繰り返す。
c1=cs.value() #c1を計測。
x=(abs(c1-10)/70)*100 #xの値を求める。
if x>100: #xの値の最大値を100とする。
x=100
l=(x/100)*120-40 #lの値を決める。
r=40-l #rの値を決める。
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() #止める。
黒線が左にある場合。
def linetrace_lout():
c1=cs.value() #計測値をc1とする。
while c1<40: #c1<40ならば以下を繰り返す。
c1=cs.value() #c1を計測。
x=(abs(c1-10)/70)*100 #xの値を求める。
if x>100: #xの値の最大値を100とす...
x=100
r=(x/100)*120-40 #rの値を求める。
l=40-r #lの値を求める。
ml.run_forever(speed_sp=l,stop_action='b...
mr.run_forever(speed_sp=r,stop_action='b...
stop() #止める。
先述のプログラムとこのプログラムの計4つを組み合わせること...
**コースごとの関数 [#ye4cb4d2]
課題の指定通り、交差点ごとにひとつづつ関数を作った。また...
LからEまでの関数。
def LtoE():
runtime(2,2) #START位置のすぐそばの黒線でラ...
linetrace_rin() #黒線の左側でライントレース。E...
time.sleep(1) #課題の指示通り、1秒停止する。
print("LtoE")
EからIまでの関数。
def EtoI():
runtime(2,2) #交差点内の黒線でライントレース...
linetrace_rin() #黒線の左側でライントレース。I...
time.sleep(1) #課題の指示通り、1秒停止する。
print("EtoI")
IからHまでの関数。
def ItoH():
linetrace_rout() #明確な白を検知するまで反時計回...
linetrace_rin() #黒線の左側でライントレース。H...
print("ItoH")
HからKまでの関数。
def HtoK():
angle(70,0) #交差点内の黒線でライントレース...
time.sleep(2)
linetrace_rin() #黒線の左側でライントレース。K...
print("HtoK")
KからJまでの関数。
def KtoJ():
angle(90,30) #交差点内の黒線でライントレース...
time.sleep(2)
linetrace_rin() #黒線の左側でライントレース。J...
print("KtoJ")
JからCまでの関数。
def JtoC():
angle(40,100) #今後のコースを考えると、逆(黒...
time.sleep(2)
linetrace_lin() #黒線の右側でライントレース。C...
time.sleep(1) #課題の指示通り、1秒停止する。
print("JtoC")
CからEまでの関数。
def CtoE():
angle(120,0) #今後のコースを考えると、逆(黒...
time.sleep(2)
linetrace_rin() #黒線の左側でライントレース。U...
linetrace_rout() #黒線の左側でライントレース。直...
linetrace_rin() #黒線の左側でライントレース。E...
time.sleep(1) #課題の指示通り、1秒停止する。
print("CtoE")
EからGまでの関数。
def EtoG():
runtime(2,2) #交差点内の黒線でライントレース...
linetrace_rin() #黒線の左側でライントレース。F...
linetrace_rout() #黒線の左側でライントレース。U...
linetrace_rin() #黒線の左側でライントレース。G...
time.sleep(1) #課題の指示通り、1秒停止する。
print("EtoG")
GからGOALまでの関数。
def GOAL():
runtime(2,2) #交差点内の黒線でライントレース...
linetrace_rin() #黒線の左側でライントレース。GO...
runtime(5,5) #交差点内の黒線でライントレース...
print("GOAL")
**作動プログラム [#m3874ac4]
LtoE()
EtoI()
ItoH()
HtoK()
discover()
KtoJ()
JtoO()
OtoE()
EtoG()
GOAL()
*本番について [#r7ca1ba8]
私の担当したコースでは本番は行っていないが、相方が成功し...
*今回の課題を振り返って [#q319483b]
**ライントレースの苦労話 [#xd2e75db]
今回最も苦労した部分は、ライントレースの方法である。当初...
変化率でのライントレースを断念した次は、変化率を既存の関...
tanhx=(exp(x)-exp(-x))/(exp(x)+exp(-x)) であり、概形は下...
&ref(2018b/Member/miyashi/Mission2/s_tanhx.png,100%,tanhx...
このグラフが示すように、xの値が極端に大きかったり小さかっ...
def forward(l,r):
ml.run_forever(speed_sp=l,stop_action='brake') ...
mr.run_forever(speed_sp=r,stop_action='brake') ...
def linetrace():
while ts.value()==0: #試験的にこの定義で動...
t1=time.time() #t1とc1を同時に計測
c1=cs.value()
time.sleep(0.05) #変化率の分母は0.05秒
t2=time.time() #t2とc2を同時に計測
c2=cs.value()
w=((c2-c1)/(t2-t1)) #変化率wは0.05当...
x=round(w)/100 #変化率を四捨五入し、/...
y=(math.exp(x)-math.exp(-x))/(math.exp(x...
z=round(y*150) #yを*150して四捨五入。...
if z>0: #zの値により、白から黒...
a=50-z
b=50+z
if 0>z: #zの値により、黒から白...
a=50-z
b=50+z
if z==0: #変化がないならば直進...
a=50
b=50
forward(a,b) #a,bの速度で車輪を動か...
上記のように安定した動きができなかった。理由を考察すると...
そこでたどり着いたのが今の方法だった。x,l,rの関係式の係数...
**ライントレース方法の没案 [#k4890a7e]
上記以外にも没にした案があった。それは、カラーセンサが黒...
まずはライントレースの定義から。上記のx,r,lの式の中身が異...
def linetrace_l():
c1=cs.value() #カラーセンサの計測値をc1とす...
x=abs((c1-10)/70)*100 #xの値を決定。
if x>100: #xの最大値は100とする。
x=100
r=(x/100)*60-20 #rの値を確定。
l=20-r #lの値を確定。
ml.run_forever(speed_sp=l*5,stop_action='brake')...
mr.run_forever(speed_sp=r*5,stop_action='brake')...
当然逆側のライントレースもある。掲載は割愛。
次に問題のプログラム。これはコース1のGからEまでを渡るも...
def GtoE():
i=0 #明確な黒の値を取った回数をiとし、この回...
c2=cs.value() #計測値をc2とする。
while i<85: #明確な黒の値を85回とるまで以...
c2=cs.value()
linetrace_l() #ライントレースする。
if c2<13: #明確な黒の値を取ったと...
i=i+1
else: #明確な黒の値でない場合...
i=i
stop() #止まる。
前述したが、この方法は事前に何回も交差点ごとのiの値を考慮...
**感想 [#a128bca2]
前回の課題とは異なり、今回はコースが与えられていて、自分...
反省としては、ライントレースの速度だ。できる限り速く動か...
*その他 [#jb33a70c]
**動画はこちら [#a11a6b71]
https://www.youtube.com/watch?v=TXf0GQCezDk
**閲覧回数 [#f975e5a9]
総計:&counter(total); 今日:&counter(today); 昨日:&counter...
ページ名: