*課題 [#q096e5f1]
A地点から出発 → B → C(直進) → D(一時停止の後、直進) → E → F → G(一時停止の後、右折) → H → I → J(右折) → K(左折) → L(ピンポン玉をつかむ) → K(直進) → M(一時停止) → シュート→ A地点に入る(ゴール)
#ref(./2019a-mission2.png,6.0 KiB)
*ロボットの説明 [#nffd02a2]
前方にある四角い枠でボールを捕えるようにした。
*プログラム [#b9a27922]
AからスタートしてDまではたどり着けたが、Dの交差点で止まらせることができなかった。
**ライントレースの定義 [#w8f17a92]
#define THRESHOLD 45//しきい値
#define right1 OnFwd(OUT_B,30);OnRev(OUT_C,10);//急な右カーブ
#define right2 OnFwd(OUT_B,30);//右カーブ
#define left1 OnRev(OUT_B,10);OnFwd(OUT_C,30);//急な左カーブ
#define left2 OnFwd(OUT_C,30);//左カーブ
#define forword OnFwd(OUT_B,30);OnFwd(OUT_C,30);//直進
**BからDまでのプログラム [#e52c7827]
void linetrace_BD()
{SetSensorLight(S2);
while (true) {
if (SENSOR_2<THRESHOLD+15) {
right1;
}
else if (SENSOR_2<THRESHOLD+7) {
right2;
}
else if (SENSOR_2<THRESHOLD-7) {
forword;
}
else if (SENSOR_2<THRESHOLD-15) {
left2;
}
else {
left1;
}}}