2014b/Member?

課題

線を沿って行くロボットで指定されたコースで指令を完了する

作ったロボット

Fullshot

Referenceのロボットの通りに作った。 基本であるため説明は省略する。

工夫

Fullshot

光の反射、また光の明るさによって、影響を受け安いのが実際のところ発見された そこで、光量の影響を避けるためにセンサーのあたりに影ができるようにした。

Program

#define DO 523
#define RE 587
#define MI 659
#define PA 698
#define SOL 784
#define THRESHOLD 55
#define SPD_H 50
#define SPD_L 25
#define OnRL(spdR,spdL) OnFwd(OUT_B,spdR);OnFwd(OUT_C,spdL);
#define GOFWD OnRL(SPD_H,SPD_H);
#define L1 OnRL(SPD_L,-SPD_L);
#define L0 OnRL(SPD_L,0);
#define R0 OnRL(0,SPD_L);
#define R1 OnRL(-SPD_L,SPD_L);
#define STEP 1
#define nMAX 500
#define short_BRK Off(OUT_BC);Wait(1000);
#define CRS_T 200

#define CRS_LINE OnRL(SPD_L,SPD_L);Wait(CRS_T);short_BRK;

void CRSway(int Count)  // program for crossway
{

PlayTone(SOL,1);
short_BRK;
R1;
Wait(0.5*STEP*nMAX);

if(Count==1) //turn left
{PlayTone(DO,1);
OnFwd(OUT_B,50);
OnRev(OUT_C,20);
Wait(500);
Off(OUT_BC);}

else if(Count==2) //turn right
{PlayTone(RE,1);
OnFwd(OUT_BC,30);
Wait(300);
OnFwd(OUT_C,50);
OnRev(OUT_B,50);
Wait(300);
Off(OUT_BC);}

else if(Count==3) //turn left
{PlayTone(MI,1);
OnFwd(OUT_B,50);
OnRev(OUT_C,20);
Wait(500);
Off(OUT_BC);}

else if(Count==4) // go front
{PlayTone(PA,1);
OnFwd(OUT_BC,50);
Wait(800);
Off(OUT_BC);}

else if(Count==5)
{PlayTone(SOL,1);
OnFwd(OUT_BC,50);
Wait(800);
Off(OUT_BC);}


}


task main()
{
  	int CrossCount=0;
 	SetSensorLight(S3);
 	int nOnline=0;
	
	while(true){
		while(nOnline<nMAX){
		
			if(SENSOR_3<THRESHOLD-15)
				{L1;
				nOnline=nOnline+2;}
			
			else{
				if(SENSOR_3<THRESHOLD-5)
					{L0;
					nOnline++;}
				
				else if(SENSOR_3<THRESHOLD+5)
					{GOFWD;}
				
				else if(SENSOR_3<THRESHOLD+15)
					{R0;}
				
				else{R1;}
				nOnline=0;}
			Wait(STEP);
		  	}
		  	
		CrossCount++;
		CRSway(CrossCount);
		nOnline=0;
		}
          	
}

プログラム組み方

交差点判断のreferenceがあまりにも優秀であったため、交差点で直進するロボットで直線の部分を構造体に変わり、交差点に入ったらCrossCountで何回目か確認した後、CRSwayという交差点命令構造体に送り、何回かの変数により決められいた動作をする。だけで解決した。

もちろん速度、長さ、距離、時間などによって変化する値は全部やってみながら調節した。

また、何回目の交差点かによって、違う音が動作前になり、動作をわかりやすくした。


添付ファイル: file2.jpg 90件 [詳細] file1.jpg 120件 [詳細] file195434.JPG 68件 [詳細] fileWIN_20150113_195429.JPG 48件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-01-30 (金) 04:02:53