2016a/Member/Unredeemedsoul/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*課題の説明 [#g820ba95]
今回は以下の図のようにな図を作り、経路を黒い線にそって動...
#ref(99AA.jpg)
そして、下に述べているように三つの経路がある。
A地点からB地点へ (一人目)
A地点 → P直進 → Q直進 → Q直進 → R左折 → B地点
B地点からC地点へ (二人目)
B地点 → R右折 → Q直進 → Q直進 →P右折 → S右折 → C地点
C地点からA地点へ (三人目)
C地点 → S左折 → P左折 → Q直進 → Q直進 → R右折 → P左折...
私はB地点からC地点への二つ目の経路をやった。
#ref(Bebo.png)
*ロボットの説明 [#q1613c2a]
光センサーで経路の黒い線と白いところをより読みやすくする...
このようなことをしてからよりよい位置に光センサーをつけた...
以下の写真のようにして、光センサーを本体に付け加えた
#ref(ALDOBBA.jpg)
#ref(A99.jpg)
*プログラムの説明 [#d10bc423]
**マクロの定義 [#o5b772b5]
#define turn_right OnFwd(OUT_A);SetPower(OUT_AC,1);Off...
#define turn_left OnFwd(OUT_C);SetPower(OUT_AC,1);Off(...
#define Go OnFwd(OUT_AC) ...
#define turn_right2 OnFwd(OUT_A);OnRev(OUT_C);SetPower...
#define turn_left2 OnFwd(OUT_C);OnRev(OUT_A);SetPower(...
#define intersection Off(OUT_AC);PlaySound(SOUND_FAST_...
#define Stop Off(OUT_AC); // 停止
左に曲がる時と右に曲がる時、Setpowerをつかい、スピードを...
そしてintersectionという定義を書き、これは交差点を認識し...
認識したら、停止し、音を鳴らして、そして一秒を待つという...
**ライントレースの定義 [#e1d075d7]
ロボットの動きは上のような定義で、ロボットは黒い線の右に...
sub line_follow() //黒い線...
{
ClearTimer(0); //タイマ...
while(FastTimer(0) <25){ // 黒と...
if(SENSOR_2 < 45){ // 黒く...
turn_right2;
} else{
if(SENSOR_2 < 48){ // 少し...
turn_right;
}else if(SENSOR_2 < 53){ // 黒と...
Go;
}else if(SENSOR_2 < 56){ // 少し...
turn_left;
}else{
turn_left2; // 白くな...
}
ClearTimer(0);
}
}
}
**サブルーチンの定義 [#vc4ac98a]
ミッションを完成するためにロボットは交差点を認識した後、...
その動きは右折と直進だったので、以下のようにサブルーチン...
sub migi() //右折
{
turn_right2; //右旋回
Wait(15);
}
ロボットは黒い線の右側にそって動ぎ、交差点を認識したら右...
#ref(Blue.jpg)
そしてロボットを直進させるため、上の写真に書いてあるよう...
sub mae() //直進という定義
{
turn_left2; //左旋回
Wait(25);
Go; //直進
Wait(20);
}
*メインプログラム [#jb2487a4]
以上書いて来た定義を使い、メインプログラムを書いた。
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
Go; //コースのB...
Wait(70);
line_follow(); //黒い線に入...
intersection; //R地点の交...
migi(); //右折する
line_follow(); //R地点からQ...
intersection; //Q地点の交...
mae(); //直進する ...
line_follow(); //Q地点から...
intersection; //Q地点の交...
mae(); //直進する
line_follow(); //Q地点からP...
intersection; //P地点の交...
migi(); //右折する
line_follow(); //P地点からS...
intersection; //S地点の交...
migi(); //右折する
line_follow(); //S地点からC...
intersection; //C地点の交...
mae(); //直進する
Go; //C地点の中...
Wait(100);
Stop;
}
最初のGoとWaitは図のB地点にロボットが止まっている時、直進...
そして、コースの最後にC地点のところに入るため、またGo,Wai...
*まとめ・感想 [#u0c6d8d2]
#ref(A9.jpg)
59.55秒で二つ目のコースのゴールまでロボットを動かした。
明るさと暗さを測るのが大変で、センサーの位置を変えること...
しかし、チームワークで少し楽になっていて、コースの最後ま...
終了行:
#contents
*課題の説明 [#g820ba95]
今回は以下の図のようにな図を作り、経路を黒い線にそって動...
#ref(99AA.jpg)
そして、下に述べているように三つの経路がある。
A地点からB地点へ (一人目)
A地点 → P直進 → Q直進 → Q直進 → R左折 → B地点
B地点からC地点へ (二人目)
B地点 → R右折 → Q直進 → Q直進 →P右折 → S右折 → C地点
C地点からA地点へ (三人目)
C地点 → S左折 → P左折 → Q直進 → Q直進 → R右折 → P左折...
私はB地点からC地点への二つ目の経路をやった。
#ref(Bebo.png)
*ロボットの説明 [#q1613c2a]
光センサーで経路の黒い線と白いところをより読みやすくする...
このようなことをしてからよりよい位置に光センサーをつけた...
以下の写真のようにして、光センサーを本体に付け加えた
#ref(ALDOBBA.jpg)
#ref(A99.jpg)
*プログラムの説明 [#d10bc423]
**マクロの定義 [#o5b772b5]
#define turn_right OnFwd(OUT_A);SetPower(OUT_AC,1);Off...
#define turn_left OnFwd(OUT_C);SetPower(OUT_AC,1);Off(...
#define Go OnFwd(OUT_AC) ...
#define turn_right2 OnFwd(OUT_A);OnRev(OUT_C);SetPower...
#define turn_left2 OnFwd(OUT_C);OnRev(OUT_A);SetPower(...
#define intersection Off(OUT_AC);PlaySound(SOUND_FAST_...
#define Stop Off(OUT_AC); // 停止
左に曲がる時と右に曲がる時、Setpowerをつかい、スピードを...
そしてintersectionという定義を書き、これは交差点を認識し...
認識したら、停止し、音を鳴らして、そして一秒を待つという...
**ライントレースの定義 [#e1d075d7]
ロボットの動きは上のような定義で、ロボットは黒い線の右に...
sub line_follow() //黒い線...
{
ClearTimer(0); //タイマ...
while(FastTimer(0) <25){ // 黒と...
if(SENSOR_2 < 45){ // 黒く...
turn_right2;
} else{
if(SENSOR_2 < 48){ // 少し...
turn_right;
}else if(SENSOR_2 < 53){ // 黒と...
Go;
}else if(SENSOR_2 < 56){ // 少し...
turn_left;
}else{
turn_left2; // 白くな...
}
ClearTimer(0);
}
}
}
**サブルーチンの定義 [#vc4ac98a]
ミッションを完成するためにロボットは交差点を認識した後、...
その動きは右折と直進だったので、以下のようにサブルーチン...
sub migi() //右折
{
turn_right2; //右旋回
Wait(15);
}
ロボットは黒い線の右側にそって動ぎ、交差点を認識したら右...
#ref(Blue.jpg)
そしてロボットを直進させるため、上の写真に書いてあるよう...
sub mae() //直進という定義
{
turn_left2; //左旋回
Wait(25);
Go; //直進
Wait(20);
}
*メインプログラム [#jb2487a4]
以上書いて来た定義を使い、メインプログラムを書いた。
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
Go; //コースのB...
Wait(70);
line_follow(); //黒い線に入...
intersection; //R地点の交...
migi(); //右折する
line_follow(); //R地点からQ...
intersection; //Q地点の交...
mae(); //直進する ...
line_follow(); //Q地点から...
intersection; //Q地点の交...
mae(); //直進する
line_follow(); //Q地点からP...
intersection; //P地点の交...
migi(); //右折する
line_follow(); //P地点からS...
intersection; //S地点の交...
migi(); //右折する
line_follow(); //S地点からC...
intersection; //C地点の交...
mae(); //直進する
Go; //C地点の中...
Wait(100);
Stop;
}
最初のGoとWaitは図のB地点にロボットが止まっている時、直進...
そして、コースの最後にC地点のところに入るため、またGo,Wai...
*まとめ・感想 [#u0c6d8d2]
#ref(A9.jpg)
59.55秒で二つ目のコースのゴールまでロボットを動かした。
明るさと暗さを測るのが大変で、センサーの位置を変えること...
しかし、チームワークで少し楽になっていて、コースの最後ま...
ページ名: