2015b/Member/Pipikun/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015b/MemberOnly]]
目次
#Contents
*今回の目標 [#p845da84]
交差点を認識するライントレースロボットをプログラミングし...
*ロボットの構造について [#tfa68c06]
&ref(./robo 1.jpg,20%,ロボット前頭部);
これはロボット前頭部の写真である。なるべく小回りがきくよ...
&ref(./robo 2.jpg,20%,右側面);
後ろに小さなタイヤを付けることによってスムーズな走行を可...
&ref(./robo 3.jpg,20%,前頭部アップ);
反応が鈍く正確でなくなってしまうので、最大限床に近づける...
*コースについて [#s78e1331]
**走行順路 [#ga321ee9]
#ref(./コース説明2.png,1%.道順)
コースはこのようになっていて、赤(交差点を直進)→黄(交差点...
**苦労した部分 [#m14a491d]
#ref(./コース2.jpg,40%,苦労したところ)
苦労した点は主に二か所あった。
一つ目(緑色のところ)は半径の小さいカーブになっていて、白...
二つ目(ピンクのところ)は、交差点に差し掛かる前の道が少し...
*プログラムについて [#c633c72e]
プログラムは大きく分けて、ライン境界線をすすんでいる時と...
**使用した定義 [#ba56951f]
#define straight OnFwd(OUT_BC,30);
#define turn_left OnFwd(OUT_B,30);Off(OUT_C);
#define turn_right OnFwd(OUT_C,30);Off(OUT_B);
#define TURN_LEFT OnFwd(OUT_B,30);OnRev(OUT_C,30);
#define TURN_RIGHT OnFwd(OUT_C,30);OnRev(OUT_B,30);
#define THRESHOLD 42
#define TMAX 158
SetSensorLight(S3);
long t0=CurrentTick();
int kousaten=0;
**ライン上の走行 [#v6094b36]
まず黒い線の周囲の明るさをセンサーではかり、しきい値を決...
#ref(./black.jpg,50%,ライン上の明るさ)
そのあと、±の範囲を調整することによって線上で五段階の明る...
while(CurrentTick()-t0<TMAX){
if(SENSOR_3<THRESHOLD-12){
TURN_LEFT;
} else {
if(SENSOR_3<THRESHOLD-7){
turn_left;
}else if(SENSOR_3<THRESHOLD+7){
straight;
}else if(SENSOR_3<THRESHOLD+12){
turn_right;
}else{
TURN_RIGHT;
}
t0=CurrentTick();
**交差点について [#vb8b4087]
上記の五段階認識のうち「もっとも黒い」時が一定期間()続い...
Off(OUT_BC);
Wait(1000);
TURN_RIGHT;
Wait(300);
t0=CurrentTick();
kousaten++;
交差点に対して、「右折する」「左折する」「直進する」の三...
***交差点を直進するとき [#j760474f]
if(kousaten<=2){
TURN_LEFT;
Wait(400);
t0=CurrentTick();
***交差点を右折するとき [#d77d958c]
}else if(kousaten<=4){
TURN_RIGHT;
Wait(300);
t0=CurrentTick()
***交差点を左折するとき [#i1844d0e]
}else{
TURN_LEFT;
Wait(1000);
t0=CurrentTick();
*最後に [#wca7af2f]
**改善した点 [#b6677b02]
最初、旋回動作の際のモーターの出力比を1:2にしていたが、ど...
それぞれの交差点を曲がるときに、それにあった動作をしなく...
また、プログラムをまとめることによって簡略化に成功した。
**感想 [#abc12394]
前回の書道ロボットのように1パターンの動きをするのではなく...
終了行:
[[2015b/MemberOnly]]
目次
#Contents
*今回の目標 [#p845da84]
交差点を認識するライントレースロボットをプログラミングし...
*ロボットの構造について [#tfa68c06]
&ref(./robo 1.jpg,20%,ロボット前頭部);
これはロボット前頭部の写真である。なるべく小回りがきくよ...
&ref(./robo 2.jpg,20%,右側面);
後ろに小さなタイヤを付けることによってスムーズな走行を可...
&ref(./robo 3.jpg,20%,前頭部アップ);
反応が鈍く正確でなくなってしまうので、最大限床に近づける...
*コースについて [#s78e1331]
**走行順路 [#ga321ee9]
#ref(./コース説明2.png,1%.道順)
コースはこのようになっていて、赤(交差点を直進)→黄(交差点...
**苦労した部分 [#m14a491d]
#ref(./コース2.jpg,40%,苦労したところ)
苦労した点は主に二か所あった。
一つ目(緑色のところ)は半径の小さいカーブになっていて、白...
二つ目(ピンクのところ)は、交差点に差し掛かる前の道が少し...
*プログラムについて [#c633c72e]
プログラムは大きく分けて、ライン境界線をすすんでいる時と...
**使用した定義 [#ba56951f]
#define straight OnFwd(OUT_BC,30);
#define turn_left OnFwd(OUT_B,30);Off(OUT_C);
#define turn_right OnFwd(OUT_C,30);Off(OUT_B);
#define TURN_LEFT OnFwd(OUT_B,30);OnRev(OUT_C,30);
#define TURN_RIGHT OnFwd(OUT_C,30);OnRev(OUT_B,30);
#define THRESHOLD 42
#define TMAX 158
SetSensorLight(S3);
long t0=CurrentTick();
int kousaten=0;
**ライン上の走行 [#v6094b36]
まず黒い線の周囲の明るさをセンサーではかり、しきい値を決...
#ref(./black.jpg,50%,ライン上の明るさ)
そのあと、±の範囲を調整することによって線上で五段階の明る...
while(CurrentTick()-t0<TMAX){
if(SENSOR_3<THRESHOLD-12){
TURN_LEFT;
} else {
if(SENSOR_3<THRESHOLD-7){
turn_left;
}else if(SENSOR_3<THRESHOLD+7){
straight;
}else if(SENSOR_3<THRESHOLD+12){
turn_right;
}else{
TURN_RIGHT;
}
t0=CurrentTick();
**交差点について [#vb8b4087]
上記の五段階認識のうち「もっとも黒い」時が一定期間()続い...
Off(OUT_BC);
Wait(1000);
TURN_RIGHT;
Wait(300);
t0=CurrentTick();
kousaten++;
交差点に対して、「右折する」「左折する」「直進する」の三...
***交差点を直進するとき [#j760474f]
if(kousaten<=2){
TURN_LEFT;
Wait(400);
t0=CurrentTick();
***交差点を右折するとき [#d77d958c]
}else if(kousaten<=4){
TURN_RIGHT;
Wait(300);
t0=CurrentTick()
***交差点を左折するとき [#i1844d0e]
}else{
TURN_LEFT;
Wait(1000);
t0=CurrentTick();
*最後に [#wca7af2f]
**改善した点 [#b6677b02]
最初、旋回動作の際のモーターの出力比を1:2にしていたが、ど...
それぞれの交差点を曲がるときに、それにあった動作をしなく...
また、プログラムをまとめることによって簡略化に成功した。
**感想 [#abc12394]
前回の書道ロボットのように1パターンの動きをするのではなく...
ページ名: