2016a/Member/jake57/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
目次
#contents
*課題内容 [#p0f7e55d]
今回の課題は、ロボットに取り付けたセンサーを用いて下図...
#ref(2016a/Member/jake57/Mission2/miti.png,50%,コース図)
*ロボット [#i40d038b]
今回、この班で作成したロボットはこちらです。~
今回のロボットは冊子に掲載されていた簡単な型を利用しま...
#ref(2016a/Member/jake57/Mission2/20160701_165041a.jpg,20...
試行を重ねていくと、センサーがロボット本体の中心にある...
また、タイヤの数が多いとロボットの安定感は増しますが曲が...
#ref(2016a/Member/jake57/Mission2/20160701_165103a.jpg,30...
このように改良したことによって摩擦を抑えられ小回りもで...
*プログラム [#fd85da0e]
今回のプログラムはサブルーチンを用いてメインのプログラム...
プログラムを作成する際に、サブルーチンのところで何回もエ...
#define THRESHOLD 38
#define go_forward OnFwd(OUT_AC); // 直進を追加
#define turn_left1 OnRev(OUT_A); OnFwd(OUT_C); // 左...
#define turn_right1 OnFwd(OUT_A); OnRev(OUT_C); // 右...
#define turn_left2 Off(OUT_A); OnFwd(OUT_C);
#define turn_right2 OnFwd(OUT_A); Off(OUT_C);
#define STEP 1 // 1回の判断で動作させる時間
#define short_break Off(OUT_AC); Wait(100);
#define nMAX 6
#define turn_time 40
・交差点の判断方法~
上記にあるように「THRESHOLD 38」という値を黒と白の間の値...
そして、下記の「line_follow()」を行っているときの黒と白を...
sub line_follow() /...
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
int nOnline=0;
while (nOnline < nMAX) { //...
if (SENSOR_2 < THRESHOLD-4) { //...
turn_right1;
nOnline++;
} else {
if (SENSOR_2 < THRESHOLD-2) {
turn_right2;
} else if (SENSOR_2 < THRESHOLD+4) {
go_forward;
} else if (SENSOR_2 < THRESHOLD+7) {
turn_left2;
} else {
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
PlaySound(SOUND_DOUBLE_BEEP);
nOnline=0;
}
sub go_straight() /...
{
while (SENSOR_2 < THRESHOLD+4) {
turn_left2;
}
short_break;
turn_left2(turn_time);
go_forward;
Wait(20);
}
sub turn_right() ...
{
while (SENSOR_2 < THRESHOLD-2) {
turn_right1;
}
if(SENSOR_2 < THRESHOLD-2){
Off(OUT_AC);
short_break;
turn_right1;
Wait(STEP);
SetSensor(SENSOR_2, SENSOR_LIGHT);
int nOnline=0;
while (nOnline < nMAX) {
if (SENSOR_2 < THRESHOLD-4) {
turn_right1;
nOnline++;
} else {
if (SENSOR_2 < THRESHOLD-2) {
turn_right2;
} else if (SENSOR_2 < THRESHOLD+3) {
go_forward;
} else if (SENSOR_2 < THRESHOLD+5) {
turn_right2;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
PlaySound(SOUND_DOUBLE_BEEP);
nOnline=0;
}else{
turn_right1;
}
}
task main()
{
line_follow(); //ライ...
turn_right(); //R地...
line_follow(); //ライ...
go_straight(); //Q地...
line_follow(); //ライ...
go_straight(); //Q地...
line_follow(); //ライ...
turn_right(); //P地...
line_follow(); //ライ...
turn_right(); //S地...
line_follow(); //ライ...
Off(OUT_AC);
go_forward; //Cの...
Wait(100);
Off(OUT_AC);
PlaySound(SOUND_DOUBLE_BEEP);
}
*【結果】 [#kae11a10]
課題のコースを完走するのにかかった時間は42秒ほどでした。
*感想・考察 [#tc524f59]
今回の課題は前回とは異なり途中までは上手くいっていまし...
しかし、交差点を超えて真っ直ぐに進むという今回の一番の...
自分では解決できなかったので班員の知恵をかりることによっ...
考察としては、交差点を認識させるために今回は回数を用いて...
カクカクしてしまってタイムロスをしてしまっている様だった...
終了行:
[[2016a/Member]]
目次
#contents
*課題内容 [#p0f7e55d]
今回の課題は、ロボットに取り付けたセンサーを用いて下図...
#ref(2016a/Member/jake57/Mission2/miti.png,50%,コース図)
*ロボット [#i40d038b]
今回、この班で作成したロボットはこちらです。~
今回のロボットは冊子に掲載されていた簡単な型を利用しま...
#ref(2016a/Member/jake57/Mission2/20160701_165041a.jpg,20...
試行を重ねていくと、センサーがロボット本体の中心にある...
また、タイヤの数が多いとロボットの安定感は増しますが曲が...
#ref(2016a/Member/jake57/Mission2/20160701_165103a.jpg,30...
このように改良したことによって摩擦を抑えられ小回りもで...
*プログラム [#fd85da0e]
今回のプログラムはサブルーチンを用いてメインのプログラム...
プログラムを作成する際に、サブルーチンのところで何回もエ...
#define THRESHOLD 38
#define go_forward OnFwd(OUT_AC); // 直進を追加
#define turn_left1 OnRev(OUT_A); OnFwd(OUT_C); // 左...
#define turn_right1 OnFwd(OUT_A); OnRev(OUT_C); // 右...
#define turn_left2 Off(OUT_A); OnFwd(OUT_C);
#define turn_right2 OnFwd(OUT_A); Off(OUT_C);
#define STEP 1 // 1回の判断で動作させる時間
#define short_break Off(OUT_AC); Wait(100);
#define nMAX 6
#define turn_time 40
・交差点の判断方法~
上記にあるように「THRESHOLD 38」という値を黒と白の間の値...
そして、下記の「line_follow()」を行っているときの黒と白を...
sub line_follow() /...
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
int nOnline=0;
while (nOnline < nMAX) { //...
if (SENSOR_2 < THRESHOLD-4) { //...
turn_right1;
nOnline++;
} else {
if (SENSOR_2 < THRESHOLD-2) {
turn_right2;
} else if (SENSOR_2 < THRESHOLD+4) {
go_forward;
} else if (SENSOR_2 < THRESHOLD+7) {
turn_left2;
} else {
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
PlaySound(SOUND_DOUBLE_BEEP);
nOnline=0;
}
sub go_straight() /...
{
while (SENSOR_2 < THRESHOLD+4) {
turn_left2;
}
short_break;
turn_left2(turn_time);
go_forward;
Wait(20);
}
sub turn_right() ...
{
while (SENSOR_2 < THRESHOLD-2) {
turn_right1;
}
if(SENSOR_2 < THRESHOLD-2){
Off(OUT_AC);
short_break;
turn_right1;
Wait(STEP);
SetSensor(SENSOR_2, SENSOR_LIGHT);
int nOnline=0;
while (nOnline < nMAX) {
if (SENSOR_2 < THRESHOLD-4) {
turn_right1;
nOnline++;
} else {
if (SENSOR_2 < THRESHOLD-2) {
turn_right2;
} else if (SENSOR_2 < THRESHOLD+3) {
go_forward;
} else if (SENSOR_2 < THRESHOLD+5) {
turn_right2;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
PlaySound(SOUND_DOUBLE_BEEP);
nOnline=0;
}else{
turn_right1;
}
}
task main()
{
line_follow(); //ライ...
turn_right(); //R地...
line_follow(); //ライ...
go_straight(); //Q地...
line_follow(); //ライ...
go_straight(); //Q地...
line_follow(); //ライ...
turn_right(); //P地...
line_follow(); //ライ...
turn_right(); //S地...
line_follow(); //ライ...
Off(OUT_AC);
go_forward; //Cの...
Wait(100);
Off(OUT_AC);
PlaySound(SOUND_DOUBLE_BEEP);
}
*【結果】 [#kae11a10]
課題のコースを完走するのにかかった時間は42秒ほどでした。
*感想・考察 [#tc524f59]
今回の課題は前回とは異なり途中までは上手くいっていまし...
しかし、交差点を超えて真っ直ぐに進むという今回の一番の...
自分では解決できなかったので班員の知恵をかりることによっ...
考察としては、交差点を認識させるために今回は回数を用いて...
カクカクしてしまってタイムロスをしてしまっている様だった...
ページ名: