2019a/Member/L/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
#CONTENTS
*課題について [#d390098d]
A地点を出発し、経路を黒い線にそって動くロボットを作成する...
A地点から出発 → M → K(直進) → L(ピンポン玉をつかむ) → K(...
交差点では1秒間停止し、丁字路では直角方向に進入する時のみ...
詳しいコースは[[2019a/Mission2]]
*ロボット本体の説明 [#h9da34e7]
今回のロボットは、コースの細かいカーブを曲がりやすくする...
下の写真は、ロボット全体の写真になります。
#ref(2019a/Member/L/Mission2/3715690D-8ABD-4AEA-B503-ED00...
ピンポン球を運ぶアームは、掴むと振動で落としたり、より精...
#ref(2019a/Member/L/Mission2/B6DC8DF7-F33A-4178-8F46-52A0...
最後のシュートは、アームをあげ、バックしてから、もう一度...
下の写真は、ロボットを下から見た写真です。見てわかるよう...
#ref(2019a/Member/L/Mission2/4521DEB7-ECD4-4523-9EC4-C125...
*プログラムについて [#t29f7086]
用意した定義は、ライントレースの時に使用する。左のタイヤ...
#define migi OnFwd(OUT_A);Off(OUT_B);
#define hidari OnFwd(OUT_B);Off(OUT_A);
#define hidariback OnRev(OUT_A);Off(OUT_B);
#define migiback OnRev(OUT_B);Off(OUT_A);
#define amuage OnFwd(OUT_C);Wait(10);
#define amusage OnRev(OUT_C);Wait(10);
次にサブルーチンについて説明します。使ったサブルーチンは...
1つ目は、線の右側の境界をライントレースしていき、指定した...
int t;
sub Line()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<t){
if(SENSOR_1<35){migi;}
else if(SENSOR_1=35){OnFwd(OUT_AB);}
else if(SENSOR_1>35){hidari;}
}
Off(OUT_AB);
}
2つ目は、線の左側の境界をライントレースしていき、交差点を...
sub Line_kousatenn()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=t){
if(SENSOR_1>35){migi;;ClearTimer(0);}
else if(SENSOR_1=35){OnFwd(OUT_AB);ClearTimer(0);}
else if(SENSOR_1<35){hidari;}
}
Off(OUT_AB);
}
3つ目は、右側のライントレースをバックしてやるものです。こ...
sub Line_back()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=t){
if(SENSOR_1<35){migiback;}
else if(SENSOR_1=35){OnRev(OUT_AB);}
else if(SENSOR_1>35){hidariback;}
}
Off(OUT_AB);
}
4つ目は、2つ目のサブルーチンによって交差点を感知したあと...
sub syuusei()
{
migi;Wait(28);Off(OUT_AB);
}
次からがロボットのタスクメインになります。(1文字進むごと...
task main()
{
t=510;
Line();
MからLまで
amusage;
ピンポン球の回収
t=100;
Line_back();
OnFwd(OUT_B);Wait(28);
LからKまで
t=28;
Line_kousatenn();
Kの交差点感知
t=28;
Line_kousatenn();
KからJ交差点感知
t=28;
Line_kousatenn();
syuusei();
JからI交差点感知
t=28;
Line_kousatenn();
syuusei();
IからH交差点感知
t=28;
Line_kousatenn();
HからG交差点感知
t=28;
Line_kousatenn();
GからFまで
t=28;
Line_kousatenn();
FからEまで
t=28;
Line_kousatenn();
syuusei();
EからD交差点感知
t=28;
Line_kousatenn();
syuusei();
DからC交差点感知
t=28;
Line_kousatenn();
syuusei();
CからB交差点感知
amuage;
OnRev(OUT_AB);Wait(20);
amusage;
OnFwd(OUT_AB);Wait(30);
}
ピンポン球シュート
*まとめ [#he90174c]
最初の方を時間指定にしてしまったため、序盤のズレによって...
終了行:
[[2019a/Member]]
#CONTENTS
*課題について [#d390098d]
A地点を出発し、経路を黒い線にそって動くロボットを作成する...
A地点から出発 → M → K(直進) → L(ピンポン玉をつかむ) → K(...
交差点では1秒間停止し、丁字路では直角方向に進入する時のみ...
詳しいコースは[[2019a/Mission2]]
*ロボット本体の説明 [#h9da34e7]
今回のロボットは、コースの細かいカーブを曲がりやすくする...
下の写真は、ロボット全体の写真になります。
#ref(2019a/Member/L/Mission2/3715690D-8ABD-4AEA-B503-ED00...
ピンポン球を運ぶアームは、掴むと振動で落としたり、より精...
#ref(2019a/Member/L/Mission2/B6DC8DF7-F33A-4178-8F46-52A0...
最後のシュートは、アームをあげ、バックしてから、もう一度...
下の写真は、ロボットを下から見た写真です。見てわかるよう...
#ref(2019a/Member/L/Mission2/4521DEB7-ECD4-4523-9EC4-C125...
*プログラムについて [#t29f7086]
用意した定義は、ライントレースの時に使用する。左のタイヤ...
#define migi OnFwd(OUT_A);Off(OUT_B);
#define hidari OnFwd(OUT_B);Off(OUT_A);
#define hidariback OnRev(OUT_A);Off(OUT_B);
#define migiback OnRev(OUT_B);Off(OUT_A);
#define amuage OnFwd(OUT_C);Wait(10);
#define amusage OnRev(OUT_C);Wait(10);
次にサブルーチンについて説明します。使ったサブルーチンは...
1つ目は、線の右側の境界をライントレースしていき、指定した...
int t;
sub Line()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<t){
if(SENSOR_1<35){migi;}
else if(SENSOR_1=35){OnFwd(OUT_AB);}
else if(SENSOR_1>35){hidari;}
}
Off(OUT_AB);
}
2つ目は、線の左側の境界をライントレースしていき、交差点を...
sub Line_kousatenn()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=t){
if(SENSOR_1>35){migi;;ClearTimer(0);}
else if(SENSOR_1=35){OnFwd(OUT_AB);ClearTimer(0);}
else if(SENSOR_1<35){hidari;}
}
Off(OUT_AB);
}
3つ目は、右側のライントレースをバックしてやるものです。こ...
sub Line_back()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=t){
if(SENSOR_1<35){migiback;}
else if(SENSOR_1=35){OnRev(OUT_AB);}
else if(SENSOR_1>35){hidariback;}
}
Off(OUT_AB);
}
4つ目は、2つ目のサブルーチンによって交差点を感知したあと...
sub syuusei()
{
migi;Wait(28);Off(OUT_AB);
}
次からがロボットのタスクメインになります。(1文字進むごと...
task main()
{
t=510;
Line();
MからLまで
amusage;
ピンポン球の回収
t=100;
Line_back();
OnFwd(OUT_B);Wait(28);
LからKまで
t=28;
Line_kousatenn();
Kの交差点感知
t=28;
Line_kousatenn();
KからJ交差点感知
t=28;
Line_kousatenn();
syuusei();
JからI交差点感知
t=28;
Line_kousatenn();
syuusei();
IからH交差点感知
t=28;
Line_kousatenn();
HからG交差点感知
t=28;
Line_kousatenn();
GからFまで
t=28;
Line_kousatenn();
FからEまで
t=28;
Line_kousatenn();
syuusei();
EからD交差点感知
t=28;
Line_kousatenn();
syuusei();
DからC交差点感知
t=28;
Line_kousatenn();
syuusei();
CからB交差点感知
amuage;
OnRev(OUT_AB);Wait(20);
amusage;
OnFwd(OUT_AB);Wait(30);
}
ピンポン球シュート
*まとめ [#he90174c]
最初の方を時間指定にしてしまったため、序盤のズレによって...
ページ名: