2015a/Member/yuki/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*ロボット本体の説明 [#p47131b1]
出力端子Aで左のタイヤ、Cで右のタイヤを操作する。またBでア...
**アームの説明 [#xc4e9410]
アームはクワガタのような形をしていて、ボールを挟むように...
シュートもできるようにしてある。本体の後ろ側にあるモータ...
#ref(./6.jpg,50%)
**タイヤの説明 [#b8ff6ae9]
タイヤはROBOTICS INVENTION SYSTEM 2.0の17頁にあるものを使...
またタイヤとコンピュータとの間には少し空間があり、アーム...
#ref(./5.jpg,40%)
#ref(./7.jpg,40%)
*プログラムの説明 [#zeff2aa7]
今回図のCからAへ向かうプログラムを作成した。
#ref(./2015a-mission2.png,50%)
そのプログラムは下記のとおりである。
またこのプログラムは黒線の左側をライントレースするプログ...
定義の説明はプログラム内に、task mainの説明はプログラムの...
#define THRESHOLD 45
#define set_power_h SetPower(OUT_AC,7);
#define set_power_l SetPower(OUT_AC,3);
#define go_forward OnFwd(OUT_AC);
#define turn_right_w set_power_l;OnFwd(OUT_A);Off(OUT_C)...
#define turn_right_s set_power_h;OnFwd(OUT_A);OnRev(OUT_...
#define turn_left_w set_power_l;OnFwd(OUT_C);Off(OUT_A);...
#define turn_left_s set_power_h;OnFwd(OUT_C);OnRev(OUT_A...
#define STEP 1
#define hasamu OnFwd(OUT_B);Wait(15);Off(OUT_B); //ボー...
#define hanasu OnRev(OUT_B);Wait(15);Off(OUT_B); //ボー...
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
int m = 0;
int n = 0;
int time = 6;
while (m < 5)
{ if (m == 1)
{ hasamu;m++;
} else if (m == 2)
{ time -= 1;m++;}
else {
while (n < time) { //指定された回数turn_left_sした...
if (SENSOR_2 < THRESHOLD-5) {
turn_left_s;n++;
} else {
if (SENSOR_2 < THRESHOLD-2) {
turn_left_w;
} else if (SENSOR_2 < THRESHOLD+4) {
go_forward;
} else if (SENSOR_2 < THRESHOLD+6) {
turn_right_w;
} else {
turn_right_s;
}
n = 0;
}
Wait(STEP);
}
Off(OUT_AC);Wait(200);
turn_right_s; Wait(10);
go_forward;Wait(10);//交差点判断後、方向修正して交差点を...
n = 0;m ++;
}}
Off(OUT_AC);
hanasu;
}
**task mainの説明 [#g3e068d4]
変数mは次に何をすればいいのかの判断に使われる。
mは交差点判断したとき、挟む動作をしたときに1ずつプラスさ...
mによって交差点Qを判断した後に挟む動作をし、その後ライン...
変数nは交差点判断に使われる。交差点Qまでのカーブは急であ...
T字路Pで右折するのは、交差点判断した後ライントレースに戻...
*反省 [#xe4174cb]
今回はロボット本体は簡単であったが、プログラムの調節が難...
この課題期間に一回授業を欠席してしまったため、事前に伝え...
終了行:
*ロボット本体の説明 [#p47131b1]
出力端子Aで左のタイヤ、Cで右のタイヤを操作する。またBでア...
**アームの説明 [#xc4e9410]
アームはクワガタのような形をしていて、ボールを挟むように...
シュートもできるようにしてある。本体の後ろ側にあるモータ...
#ref(./6.jpg,50%)
**タイヤの説明 [#b8ff6ae9]
タイヤはROBOTICS INVENTION SYSTEM 2.0の17頁にあるものを使...
またタイヤとコンピュータとの間には少し空間があり、アーム...
#ref(./5.jpg,40%)
#ref(./7.jpg,40%)
*プログラムの説明 [#zeff2aa7]
今回図のCからAへ向かうプログラムを作成した。
#ref(./2015a-mission2.png,50%)
そのプログラムは下記のとおりである。
またこのプログラムは黒線の左側をライントレースするプログ...
定義の説明はプログラム内に、task mainの説明はプログラムの...
#define THRESHOLD 45
#define set_power_h SetPower(OUT_AC,7);
#define set_power_l SetPower(OUT_AC,3);
#define go_forward OnFwd(OUT_AC);
#define turn_right_w set_power_l;OnFwd(OUT_A);Off(OUT_C)...
#define turn_right_s set_power_h;OnFwd(OUT_A);OnRev(OUT_...
#define turn_left_w set_power_l;OnFwd(OUT_C);Off(OUT_A);...
#define turn_left_s set_power_h;OnFwd(OUT_C);OnRev(OUT_A...
#define STEP 1
#define hasamu OnFwd(OUT_B);Wait(15);Off(OUT_B); //ボー...
#define hanasu OnRev(OUT_B);Wait(15);Off(OUT_B); //ボー...
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
int m = 0;
int n = 0;
int time = 6;
while (m < 5)
{ if (m == 1)
{ hasamu;m++;
} else if (m == 2)
{ time -= 1;m++;}
else {
while (n < time) { //指定された回数turn_left_sした...
if (SENSOR_2 < THRESHOLD-5) {
turn_left_s;n++;
} else {
if (SENSOR_2 < THRESHOLD-2) {
turn_left_w;
} else if (SENSOR_2 < THRESHOLD+4) {
go_forward;
} else if (SENSOR_2 < THRESHOLD+6) {
turn_right_w;
} else {
turn_right_s;
}
n = 0;
}
Wait(STEP);
}
Off(OUT_AC);Wait(200);
turn_right_s; Wait(10);
go_forward;Wait(10);//交差点判断後、方向修正して交差点を...
n = 0;m ++;
}}
Off(OUT_AC);
hanasu;
}
**task mainの説明 [#g3e068d4]
変数mは次に何をすればいいのかの判断に使われる。
mは交差点判断したとき、挟む動作をしたときに1ずつプラスさ...
mによって交差点Qを判断した後に挟む動作をし、その後ライン...
変数nは交差点判断に使われる。交差点Qまでのカーブは急であ...
T字路Pで右折するのは、交差点判断した後ライントレースに戻...
*反省 [#xe4174cb]
今回はロボット本体は簡単であったが、プログラムの調節が難...
この課題期間に一回授業を欠席してしまったため、事前に伝え...
ページ名: