2016a/Member/nono/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
*目次 [#hf5c1d7d]
#contents
*今回の課題 [#j34a4692]
今回は光センサーを使ってライントレースを行う課題です。
今回のコースは下の図である。
#ref(2016a-mission2.png)
私は
A地点からB地点までを
A地点 → P直進 → Q直進 → Q直進 → R左折 → B地点
の順で進みます。
1つ目の交差点:直進
2つ目の交差点:直進
3つ目の交差点:直進
4つ目の交差点:左折
というように直進がほとんどであるが、左折が一箇所あるので...
*使用したロボット [#x04d3d0d]
#ref(IMG_0747.JPG)
#ref(IMG_0748.JPG)
カーブが多いため、横幅が狭い小回りの利いたロボットを製作...
?
誤作動を防ぐため、センサーを中央に近い部分に取り付けまし...
?
小回りが利くようになるには、できるだけ車体を小さくし、タ...
?
タイヤも小さいタイヤ2つしか使っていないので、バランスを...
余分なものを取り除いた簡易な作りになってしまったため、カ...
*プログラム [#reaeff61]
多くのやり方を試したのですが、やはりサブルーチンをメイン...
**Define [#n55d1d08]
#define STARTIME 300//交差点を判断しない時間
#define JUDGETIME 25//交差点を判断する時間
/*トレースの動き*/
#define TLL rev(OUT_A);fwd(OUT_C)//左旋回
#define TL Off(OUT_A);fwd(OUT_C)//左折
#define TRR rev(OUT_C);fwd(OUT_A)//右旋回
#define TR Off(OUT_C);fwd(OUT_A)//右折
#define ST fwd(OUT_AC)//直進
#define CHECKCROSS FastTimer(0) <= JUDGETIME || FastTime...
トレースに旋回と片方のタイヤを軸にして曲がる動きを両方プ...
**サブルーチン [#i9d7982c]
***トレースを行うサブルーチン [#x034d0d3]
sub trace()
{
ClearTimer(0);//タイマーをリセット
while(CHECKCROSS){
if(FastTimer(1) < STARTIME){
ClearTimer(0);
}
if(54 <= SENSOR_2){
TRR;
}else if(51 <= SENSOR_2){
TR;
}else if(46 <= SENSOR_2){
ST;
}else if(43 <= SENSOR_2){
TL;
}else {
TLL;
}
if(44 <= SENSOR_2) ClearTimer(0);//白を認識した...
}
Off(OUT_AC);
PlaySound(SOUND_CLICK);//ピッと鳴る
Wait(100);//一秒間停止する
ClearTimer(0);
}
スタート時の交差点や誤作動を防ぐため、初めのSTARTIMEの間...
トレース中に白を認識できればタイマをリセットし、白を認識...
***交差点で直進するサブルーチン [#f70277a4]
sub PQ_ST()
{
ST;
Wait(30);
}
***交差点で左折するサブルーチン [#s8da206d]
sub PQ_TL()
{
ClearTimer(1);
}
左側走行なのでクリアタイマ1で左折します。
**タスクメイン [#o6e38b66]
task main(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(1);
trace();
PQ_ST();//点Pで直進
trace();
PQ_ST();//点Qで直進
trace();
PQ_ST();//点Qで直進
trace();
PQ_TL();//点Rで左折
trace();
PlaySound(SOUND_UP); //ゴール時の音
}
サブルーチンを多く使用しているため、簡単でわかりやすいタ...
*まとめ [#z59ce1da]
**結論 [#x4fc387a]
前回の課題より難易度は高くなったが、満足のできる結果にな...
光センサーを使った初めての授業の時は、ジグザグにしか進む...
**プログラムについて [#t6776234]
最初は先生が言っていたサブルーチンがあまり理解できなくて...
プログラムに対する理解が一層深まったと思います。
**ロボットについて [#jb15679e]
今回成功率が上がった一番の理由はロボットだと思います。
レポート締切の一週間前まで説明書通りのロボットを使用して...
どうしていいかわからず、プログラムを改良しなければならな...
終了行:
[[2016a/Member]]
*目次 [#hf5c1d7d]
#contents
*今回の課題 [#j34a4692]
今回は光センサーを使ってライントレースを行う課題です。
今回のコースは下の図である。
#ref(2016a-mission2.png)
私は
A地点からB地点までを
A地点 → P直進 → Q直進 → Q直進 → R左折 → B地点
の順で進みます。
1つ目の交差点:直進
2つ目の交差点:直進
3つ目の交差点:直進
4つ目の交差点:左折
というように直進がほとんどであるが、左折が一箇所あるので...
*使用したロボット [#x04d3d0d]
#ref(IMG_0747.JPG)
#ref(IMG_0748.JPG)
カーブが多いため、横幅が狭い小回りの利いたロボットを製作...
?
誤作動を防ぐため、センサーを中央に近い部分に取り付けまし...
?
小回りが利くようになるには、できるだけ車体を小さくし、タ...
?
タイヤも小さいタイヤ2つしか使っていないので、バランスを...
余分なものを取り除いた簡易な作りになってしまったため、カ...
*プログラム [#reaeff61]
多くのやり方を試したのですが、やはりサブルーチンをメイン...
**Define [#n55d1d08]
#define STARTIME 300//交差点を判断しない時間
#define JUDGETIME 25//交差点を判断する時間
/*トレースの動き*/
#define TLL rev(OUT_A);fwd(OUT_C)//左旋回
#define TL Off(OUT_A);fwd(OUT_C)//左折
#define TRR rev(OUT_C);fwd(OUT_A)//右旋回
#define TR Off(OUT_C);fwd(OUT_A)//右折
#define ST fwd(OUT_AC)//直進
#define CHECKCROSS FastTimer(0) <= JUDGETIME || FastTime...
トレースに旋回と片方のタイヤを軸にして曲がる動きを両方プ...
**サブルーチン [#i9d7982c]
***トレースを行うサブルーチン [#x034d0d3]
sub trace()
{
ClearTimer(0);//タイマーをリセット
while(CHECKCROSS){
if(FastTimer(1) < STARTIME){
ClearTimer(0);
}
if(54 <= SENSOR_2){
TRR;
}else if(51 <= SENSOR_2){
TR;
}else if(46 <= SENSOR_2){
ST;
}else if(43 <= SENSOR_2){
TL;
}else {
TLL;
}
if(44 <= SENSOR_2) ClearTimer(0);//白を認識した...
}
Off(OUT_AC);
PlaySound(SOUND_CLICK);//ピッと鳴る
Wait(100);//一秒間停止する
ClearTimer(0);
}
スタート時の交差点や誤作動を防ぐため、初めのSTARTIMEの間...
トレース中に白を認識できればタイマをリセットし、白を認識...
***交差点で直進するサブルーチン [#f70277a4]
sub PQ_ST()
{
ST;
Wait(30);
}
***交差点で左折するサブルーチン [#s8da206d]
sub PQ_TL()
{
ClearTimer(1);
}
左側走行なのでクリアタイマ1で左折します。
**タスクメイン [#o6e38b66]
task main(){
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(1);
trace();
PQ_ST();//点Pで直進
trace();
PQ_ST();//点Qで直進
trace();
PQ_ST();//点Qで直進
trace();
PQ_TL();//点Rで左折
trace();
PlaySound(SOUND_UP); //ゴール時の音
}
サブルーチンを多く使用しているため、簡単でわかりやすいタ...
*まとめ [#z59ce1da]
**結論 [#x4fc387a]
前回の課題より難易度は高くなったが、満足のできる結果にな...
光センサーを使った初めての授業の時は、ジグザグにしか進む...
**プログラムについて [#t6776234]
最初は先生が言っていたサブルーチンがあまり理解できなくて...
プログラムに対する理解が一層深まったと思います。
**ロボットについて [#jb15679e]
今回成功率が上がった一番の理由はロボットだと思います。
レポート締切の一週間前まで説明書通りのロボットを使用して...
どうしていいかわからず、プログラムを改良しなければならな...
ページ名: