2015b/Member/nakami/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015b/Member]]
目次
#contents
*課題内容 [#rfff7a71]
ライントレースカーの作成
#ref(2015b/Member/nakami/Mission2/2015b-mission2.png);
上の図が課題のコースです。
私は次のような順路でライントレースしました。
A→P直進→Q直進→Q右折→P右折→Q左折→P左折→B
また、課された条件は
・光センサーの使用は一つ
・交差点では1秒間停止する
というものでした。二つ目の条件はロボットが交差点を判断し...
*ロボット本体 [#ga13556e]
次の写真がロボットの全体です。
&ref(2015b/Member/nakami/Mission2/image1.JPG,10%);写真1→
&ref(2015b/Member/nakami/Mission2/image1(6).JPG,10%);写真2
&ref(2015b/Member/nakami/Mission2/image2(1).JPG,10%);写真3
ドライブベースのロボットでは動作は左折、右折など進行方向...
そのことを踏まえ、ブレを最小限にするために車体をできる限...
1のロボットでも身軽である自信あったのですが、先生のアドバ...
*プログラム [#tbb7a2d5]
ライン上を進む、交差点を{直進or右折or左折}するの4つの動...
定義、サブルーチンのプログラム
#define THRESHOLD 40
#define straight OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
#define light OnFwd(OUT_A);OnRev(OUT_C);Wait(50);Off(OUT...
#define left OnFwd(OUT_C);Off(OUT_A);Wait(50);Off(OUT_AC);
int tmax=20;
sub line()
{
ClearTimer(0);
while(FastTimer(0)<=tmax)
{
if (SENSOR_2>49){ //migi旋回
OnFwd(OUT_A);
OnRev(OUT_C);
ClearTimer(0);
} else if(SENSOR_2>46){ //migi折
OnFwd(OUT_A);
Off(OUT_C);
ClearTimer(0);
} else if(SENSOR_2>43){ //中間
OnFwd(OUT_AC);
ClearTimer(0);
} else if(SENSOR_2>39){ //hidari折
OnFwd(OUT_C);
Off(OUT_A);
ClearTimer(0);
} else { //hidari旋回
OnFwd(OUT_C);
OnRev(OUT_A);
}
}//whileカッコ閉
Off(OUT_AC);PlaySound(SOUND_CLICK);Wait(100);
}
交差点における右折について、左旋回にかかる秒数で交差点か...
また、ライントレースは進行方向の道に対して左側をトレース...
定義、サブルーチンにより、メインタスクは以下のようにシン...
メインタスクのプログラム
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
line();
straight; //?
line();
straight; //?
line();
light; //?
line();
light; //?
line();
left; //?
line();
tmax=20;
left; //?
line();
straight; //?
}
以上のようなプログラムでは?を交差点と判断することができま...
それは
int cross=0;
を使い、ライントレースが1区画のライントレースが終わるたび...
sub line() の最後に
cross++;
を付け加えます。交差点を4つ通過したあと、?の交差点を認知...
if(cross=4){tmax=15};
これで交差点?を判断することもできました。
*反省、感想 [#ed1a2225]
今回の課題はプログラミングに重点が置かれており、非常に苦...
写真の向きはどうも修正できませんでした。編集したら取り込...
終了行:
[[2015b/Member]]
目次
#contents
*課題内容 [#rfff7a71]
ライントレースカーの作成
#ref(2015b/Member/nakami/Mission2/2015b-mission2.png);
上の図が課題のコースです。
私は次のような順路でライントレースしました。
A→P直進→Q直進→Q右折→P右折→Q左折→P左折→B
また、課された条件は
・光センサーの使用は一つ
・交差点では1秒間停止する
というものでした。二つ目の条件はロボットが交差点を判断し...
*ロボット本体 [#ga13556e]
次の写真がロボットの全体です。
&ref(2015b/Member/nakami/Mission2/image1.JPG,10%);写真1→
&ref(2015b/Member/nakami/Mission2/image1(6).JPG,10%);写真2
&ref(2015b/Member/nakami/Mission2/image2(1).JPG,10%);写真3
ドライブベースのロボットでは動作は左折、右折など進行方向...
そのことを踏まえ、ブレを最小限にするために車体をできる限...
1のロボットでも身軽である自信あったのですが、先生のアドバ...
*プログラム [#tbb7a2d5]
ライン上を進む、交差点を{直進or右折or左折}するの4つの動...
定義、サブルーチンのプログラム
#define THRESHOLD 40
#define straight OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
#define light OnFwd(OUT_A);OnRev(OUT_C);Wait(50);Off(OUT...
#define left OnFwd(OUT_C);Off(OUT_A);Wait(50);Off(OUT_AC);
int tmax=20;
sub line()
{
ClearTimer(0);
while(FastTimer(0)<=tmax)
{
if (SENSOR_2>49){ //migi旋回
OnFwd(OUT_A);
OnRev(OUT_C);
ClearTimer(0);
} else if(SENSOR_2>46){ //migi折
OnFwd(OUT_A);
Off(OUT_C);
ClearTimer(0);
} else if(SENSOR_2>43){ //中間
OnFwd(OUT_AC);
ClearTimer(0);
} else if(SENSOR_2>39){ //hidari折
OnFwd(OUT_C);
Off(OUT_A);
ClearTimer(0);
} else { //hidari旋回
OnFwd(OUT_C);
OnRev(OUT_A);
}
}//whileカッコ閉
Off(OUT_AC);PlaySound(SOUND_CLICK);Wait(100);
}
交差点における右折について、左旋回にかかる秒数で交差点か...
また、ライントレースは進行方向の道に対して左側をトレース...
定義、サブルーチンにより、メインタスクは以下のようにシン...
メインタスクのプログラム
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
line();
straight; //?
line();
straight; //?
line();
light; //?
line();
light; //?
line();
left; //?
line();
tmax=20;
left; //?
line();
straight; //?
}
以上のようなプログラムでは?を交差点と判断することができま...
それは
int cross=0;
を使い、ライントレースが1区画のライントレースが終わるたび...
sub line() の最後に
cross++;
を付け加えます。交差点を4つ通過したあと、?の交差点を認知...
if(cross=4){tmax=15};
これで交差点?を判断することもできました。
*反省、感想 [#ed1a2225]
今回の課題はプログラミングに重点が置かれており、非常に苦...
写真の向きはどうも修正できませんでした。編集したら取り込...
ページ名: