- 追加された行はこの色です。
- 削除された行はこの色です。
[[2016a/Member]]
目次
#contents
*はじめに [#e2420186]
今回の課題はライントレスです。
図のようなコースを使ってこの黒線の上をRISで走らせます。
3つのコースが用意され、私はC地点からA地点のコースを走らせます。
C地点からA地点はC地点 → S左折 → P左折 → Q直進 → Q直進 → R右折 → P左折 → A地点の順に進みます。
*ロボットの紹介 [#lc1cff07]
**ロボットの説明 [#fd2bca38]
RIS本体の前方に光センサーを装着します。
&ref(2016a/Member/kosi/Mission1/P_20160707_170517.jpg,30%,robo1);
*プログラム [#b51fbed1]
**定義の説明 [#m7103da1]
#define time 5
#define turn_right OnFwd(OUT_A);OnRev(OUT_C);Wait(time);
#define turn_right_oo OnFwd(OUT_A);Off(OUT_C);Wait(time);
#define turn_left OnFwd(OUT_C); OnRev(OUT_A);Wait(time);
#define turn_left_oo Off(OUT_A); OnFwd(OUT_C);Wait(time);
#define go_forward(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);
#define black 40
#define white 50
#define STAP 1
**subの説明 [#fa5ad731]
sub line_go()
{
ClearTimer(0);
while(FastTimer(0)<36){
if(SENSOR_2 <= black){
turn_right_oo;
}else if(SENSOR_2 < black+2){
turn_right;
}else if(SENSOR_2 > white-2){
turn_left_oo;
ClearTimer(0);
}else if(SENSOR_2 >= white){
turn_left
ClearTimer(0);
}else{
OnFwd(OUT_AC);
ClearTimer(0);
}
Wait(STAP);
}
Off(OUT_AC);
ClearTimer(0);
PlaySound(SOUND_UP);
Wait(100);
}
sub crossing_right()
{
repeat(10){
turn_right;
}
}
sub crossing_left()
{
repeat(8){
turn_left;
}
}
**プログラム [#edefa94e]
*感想 [#xc024e6d]
**プログラムについて [#udc4a7f6]
今回のプログラミングは、はじめsubについて理解できずとても苦労しました。
交差点Qから交差点Rの急カーブは特に交差点だと認識してしまうところが反省点です。
もう少し時間設定を精密にしていけばよかったのかと思います。
**ライントレスについて [#qb42dc35]