2019a/Member/Hajime/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
目次
#contents
* 課題について [#i0861621]
今回の課題はコースをライントレースをして、ピンポン玉を回...
#ref(./r.png,100%,)
* ロボットについて [#g60add42]
全体画像
#ref(./o.JPG,10%,)
私たちのロボットは小回りがきくような小さなロボットを作り...
センサーはできるだけ、ロボットの近くに置くようにしました。
そして、ピンポン玉を回収する機構は、あまりいいものを思い...
#ref(./p.JPG,10%,)
また挟み込む機構を作るにあたって、歯車を使い1つのモーター...
#ref(./q.JPG,10%,)
* プログラミングについて [#t64abddc]
私が通る道のりはAからBに向かっていく順路です。
今回も、多くのプログラミングを書くので多少は楽にするために
#define
を多く使っています。
int black_time=30; //黒色を判別している時間...
black_timeは交差点に入ったときに黒の場所をどのくらい曲が...
#define gr OnFwd(OUT_A); Off(OUT_C); /...
#define s OnFwd(OUT_A); OnRev(OUT_C); //直進
#define gl OnRev(OUT_A); OnRev(OUT_C); //左...
#define b OnRev(OUT_A); OnFwd(OUT_C); ...
#define close OnFwd(OUT_B); Wait(20); Off(OUT_B); Wai...
#define open OnRev(OUT_B); Wait(20); Off(OUT_B); Wai...
また、サブルーチンを使っています。
このプログラムはライントレースをするためものです
sub follow_line()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
while(FastTimer(0)<black_time){ //black_timeが...
if(SENSOR_2<36){ //黒色の時
migisenkai //右に旋回
}else if((SENSOR_2>=36)&&(SENSOR_2<39)){ //...
usetsu ClearTimer(0); //右折,タイマ...
}else if((SENSOR_2>=39)&&(SENSOR_2<43)){ /...
chokushin ClearTimer(0); //直進,タイマー...
}else if((SENSOR_2>=43)&&(SENSOR_2<47)){ /...
sasetsu ClearTimer(0); //左折,タイマー...
}else if(SENSOR_2>=47){ //白色の時
hidarisenkai ClearTimer(0); //左に旋回,...
}
}
Off(OUT_AC);
Wait(100);
ClearTimer(0);
}
ここからメインプログラムです。
なぜか、follow_lineが一つだけだとうごかないが、2つ重ねる...
task main (){
ピンポン玉をつかむ機構はそこまで速さはいらないのでパワー...
SetPower(OUT_B,1);
follow_line();
follow_line();
ここまでがBからCまでです。
gl;
Wait(30);
Off(OUT_AC);
s;
Wait(30);
Off(OUT_AC);
交差点を通過するためのプログラムです。
follow_line();
follow_line();
CからDまでです。
gr;
Wait(30);
Off(OUT_AC);
s;
Wait(30);
Off(OUT_AC);
これも交差点のためのプログラムです
follow_line();
follow_line();
DE間のプログラムです。
s;
gr;
Wait(150);
Off(OUT_AC);
90度のカーブのためのプログラムです。
follow_line();
follow_line();
EF間です。
b;
Wait(50);
Off(OUT_AC);
gr;
Wait(140);
Off(OUT_AC);
ロボットが少しずれてしまっているので少し後退させまた動か...
follow_line();
follow_line();
GH間です
gl;
Wait(130);
Off(OUT_AC);
s;
Wait(60);
Off(OUT_AC);
交差点のプログラムです。
follow_line();
follow_line();
HI間です
gl;
Wait(100);
Off(OUT_AC);
s;
Wait(50);
Off(OUT_AC);
Iの交差点ようです。
follow_line();
follow_line();
IJ間です。
s;
Wait(30);
Off(OUT_AC);
ここは交差点プログラムを使わずに、まっすぐ行けばKまでい...
gr;
Wait(30)
Off(OUT_AC);
s;
Wait(20);
Off(OUT_AC);
一回ロボット自体を回転させKからLまでです。
close;
ここでピンポン玉をつかみます。
gr;
Wait(250);
Off(OUT_AC);
このプログラムはロボットを180度回転させます。
s;
Wait(20);
Off(OUT_AC);
そしてこのプログラムはロボットをラインの上に動かすプログ...
follow_line;
follow_line;
KM間です
ラインの左側を通ることで交差点を通らずに行ったので交差点...
b;
Wait(50);
Off(OUT_AC);
これはシュートするために一回後退するプログラムです。
open;
s;
Wait(50);
Off(OUT_AC);
ここまでがシュートでした。
* 最後に [#r581175d]
今回良かった点
・ロボット自体が小さいおかげか小回りや大回りがfollow_lin...
・ロボットが大きくならなかったので持ち運びが楽だった。
・ピンポン玉をつかむ機構と簡単に分けることができる
・簡単につなげることもできる
・ロボットが壊れることがなかった。
今回悪かった点
・交差点でいちいちプログラムを書いていた点(交差点プログ...
・90度のカーブがうまくプログラムを書けなかった。
・何度かうまく動かなくなることがあった。
終了行:
[[2019a/Member]]
目次
#contents
* 課題について [#i0861621]
今回の課題はコースをライントレースをして、ピンポン玉を回...
#ref(./r.png,100%,)
* ロボットについて [#g60add42]
全体画像
#ref(./o.JPG,10%,)
私たちのロボットは小回りがきくような小さなロボットを作り...
センサーはできるだけ、ロボットの近くに置くようにしました。
そして、ピンポン玉を回収する機構は、あまりいいものを思い...
#ref(./p.JPG,10%,)
また挟み込む機構を作るにあたって、歯車を使い1つのモーター...
#ref(./q.JPG,10%,)
* プログラミングについて [#t64abddc]
私が通る道のりはAからBに向かっていく順路です。
今回も、多くのプログラミングを書くので多少は楽にするために
#define
を多く使っています。
int black_time=30; //黒色を判別している時間...
black_timeは交差点に入ったときに黒の場所をどのくらい曲が...
#define gr OnFwd(OUT_A); Off(OUT_C); /...
#define s OnFwd(OUT_A); OnRev(OUT_C); //直進
#define gl OnRev(OUT_A); OnRev(OUT_C); //左...
#define b OnRev(OUT_A); OnFwd(OUT_C); ...
#define close OnFwd(OUT_B); Wait(20); Off(OUT_B); Wai...
#define open OnRev(OUT_B); Wait(20); Off(OUT_B); Wai...
また、サブルーチンを使っています。
このプログラムはライントレースをするためものです
sub follow_line()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
while(FastTimer(0)<black_time){ //black_timeが...
if(SENSOR_2<36){ //黒色の時
migisenkai //右に旋回
}else if((SENSOR_2>=36)&&(SENSOR_2<39)){ //...
usetsu ClearTimer(0); //右折,タイマ...
}else if((SENSOR_2>=39)&&(SENSOR_2<43)){ /...
chokushin ClearTimer(0); //直進,タイマー...
}else if((SENSOR_2>=43)&&(SENSOR_2<47)){ /...
sasetsu ClearTimer(0); //左折,タイマー...
}else if(SENSOR_2>=47){ //白色の時
hidarisenkai ClearTimer(0); //左に旋回,...
}
}
Off(OUT_AC);
Wait(100);
ClearTimer(0);
}
ここからメインプログラムです。
なぜか、follow_lineが一つだけだとうごかないが、2つ重ねる...
task main (){
ピンポン玉をつかむ機構はそこまで速さはいらないのでパワー...
SetPower(OUT_B,1);
follow_line();
follow_line();
ここまでがBからCまでです。
gl;
Wait(30);
Off(OUT_AC);
s;
Wait(30);
Off(OUT_AC);
交差点を通過するためのプログラムです。
follow_line();
follow_line();
CからDまでです。
gr;
Wait(30);
Off(OUT_AC);
s;
Wait(30);
Off(OUT_AC);
これも交差点のためのプログラムです
follow_line();
follow_line();
DE間のプログラムです。
s;
gr;
Wait(150);
Off(OUT_AC);
90度のカーブのためのプログラムです。
follow_line();
follow_line();
EF間です。
b;
Wait(50);
Off(OUT_AC);
gr;
Wait(140);
Off(OUT_AC);
ロボットが少しずれてしまっているので少し後退させまた動か...
follow_line();
follow_line();
GH間です
gl;
Wait(130);
Off(OUT_AC);
s;
Wait(60);
Off(OUT_AC);
交差点のプログラムです。
follow_line();
follow_line();
HI間です
gl;
Wait(100);
Off(OUT_AC);
s;
Wait(50);
Off(OUT_AC);
Iの交差点ようです。
follow_line();
follow_line();
IJ間です。
s;
Wait(30);
Off(OUT_AC);
ここは交差点プログラムを使わずに、まっすぐ行けばKまでい...
gr;
Wait(30)
Off(OUT_AC);
s;
Wait(20);
Off(OUT_AC);
一回ロボット自体を回転させKからLまでです。
close;
ここでピンポン玉をつかみます。
gr;
Wait(250);
Off(OUT_AC);
このプログラムはロボットを180度回転させます。
s;
Wait(20);
Off(OUT_AC);
そしてこのプログラムはロボットをラインの上に動かすプログ...
follow_line;
follow_line;
KM間です
ラインの左側を通ることで交差点を通らずに行ったので交差点...
b;
Wait(50);
Off(OUT_AC);
これはシュートするために一回後退するプログラムです。
open;
s;
Wait(50);
Off(OUT_AC);
ここまでがシュートでした。
* 最後に [#r581175d]
今回良かった点
・ロボット自体が小さいおかげか小回りや大回りがfollow_lin...
・ロボットが大きくならなかったので持ち運びが楽だった。
・ピンポン玉をつかむ機構と簡単に分けることができる
・簡単につなげることもできる
・ロボットが壊れることがなかった。
今回悪かった点
・交差点でいちいちプログラムを書いていた点(交差点プログ...
・90度のカーブがうまくプログラムを書けなかった。
・何度かうまく動かなくなることがあった。
ページ名: