[[2019a/Member]]
#CONTENTS

*課題について [#d390098d]
A地点を出発し、経路を黒い線にそって動くロボットを作成する 。

A地点から出発 → M → K(直進) → L(ピンポン玉をつかむ) → K(右折) → J(一時停止の後、左折) → I(直進) → H(直進) → G(左折) → F → E → D(一時停止の後、直進) → C(直進) → B(一時停止) → シュート→ A地点に入る(ゴール)
交差点では1秒間停止し、丁字路では直角方向に進入する時のみ一時停止すること。

詳しいコースは[[2019a/Mission2]]

*ロボット本体の説明 [#h9da34e7]
今回のロボットは、コースの細かいカーブを曲がりやすくするため、小型化することに努め、縦横の大きさを小さくして、タイやを2つにしました。

下の写真は、ロボット全体の写真になります。

ピンポン球を運ぶアームは、掴むと振動で落としたり、より精密な操作が必要になると判断したため、下の写真のようにピンポン球を囲んで運ぶようにしました。

最後のシュートは、アームをあげ、バックしてから、もう一度アームを下げ押し込むようにします。

下の写真は、ロボットを下から見た写真です。見てわかるように前側にライントレース用の光センサーがあり、左右の車輪用のモーターをくっつけてロボットの土台にしています。

*プログラムについて [#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);

int t;

sub Line()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<t){
 if(SENSOR_1<40){migi;}
  else if(SENSOR_2<43){OnFwd(OUT_AB);}
  else if(SENSOR_2<48){hidari;}
 }
Off(OUT_AC);
}

sub Line_kousatenn()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=t){
 if(SENSOR_1<40){migi;}
  else if(SENSOR_2<43){OnFwd(OUT_AB);ClearTimer(0);}
  else if(SENSOR_2<48){hidari;ClearTimer(0);}
 }
Off(OUT_AC);
}
 
sub Line_back()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=t){
 if(SENSOR_1<40){migiback;}
  else if(SENSOR_2<43){OnRev(OUT_AB);ClearTimer(0);}
  else if(SENSOR_2<48){hidariback;ClearTimer(0);}
 }
Off(OUT_AC);
}

sub syuusei()
{
migi;Wait(28);Off(OUT_AB);
}
 

task main()
{
t=510;
Line();

amusage;

t=100;
Line_back();
OnFwd(OUT_B);Wait(28);

t=28;
Line_kousatenn();

t=0;
Line_kousatenn();
syuusei();

t=0;
Line_kousatenn();
syuusei();

t=0;
Line_kousatenn();
t=0;
Line_kousatenn();

t=0;
Line_kousatenn();

t=0;
Line_kousatenn();
syuusei();

t=0;
Line_kousatenn();
syuusei();

t=0;
Line_kousatenn();
syuusei();

amuage;
OnRev(OUT_AB);Wait(20);
amusage;
OnFwd(OUT_AB);Wait(30);
}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS