#contents
*制作したロボット [#mf921c4d]

 図1、2に示したロボットが今回私たちがライントレースに使用したロボットです。構造としては非常にシンプルで具体的にはマニュアルに掲載されていた基礎構造の正面部分に光センサーを装着したのみとなっています。

&ref(ロボ ライントレース.jpg);

 図1の赤で示した部位がセンサーで図2にはセンサーの感光部位を示しています。
 機体が動いた際の衝撃でセンサーが動かないようにしっかりと固定しました。
 


* ライントレースコース [#g4b43e5c]

 以下の図3に今回ロボットを走らせたコースを示します。

 順路としては図で示した通りB⇒1⇒R⇒2⇒Q⇒3⇒Q⇒4⇒P⇒5⇒S⇒6⇒Cです。

 このコースで最も苦戦したのは交差点でした。

&ref(似顔絵.JPG);

&ref(書き順.jpg);
 

*プログラム [#gd86e20f]
**定義 [#w6b36881]
 前進や、後退の際、一度にモーターの出力と、稼働時間を決められるようなdefineを作りました。
 
 ペンの上げ下げはペンを下げる際の稼働時間を少し長めにとりました。
     
        #define SPEED 75 
	#define turn_left(t,w1,w2) OnFwd(OUT_A,w1); OnRev(OUT_C,w2); Wait(t);Off(OUT_AC);	//モーターA,Cがそれぞれw1,w2の出力で稼働時間tの間左に旋回する。
	#define turn_right(t,w1,w2) OnFwd(OUT_C,w1); OnRev(OUT_A,w2); Wait(t);Off(OUT_AC);	//モーターA,Cがそれぞれw1,w2の出力で稼働時間tの間右に旋回する。
	#define pen_up OnFwd(OUT_B,5);Wait(1000);Off(OUT_B);					//ペンを上げる動作。
	#define pen_down OnRev(OUT_B,5);Wait(1010);Off(OUT_B);					//ペンを下げる動作。
	#define go_rev(t,s1,s2) OnRev(OUT_A,s1); OnRev(OUT_C,s2); Wait(t); Off(OUT_AC);		//モーターA,Cがそれぞれs1,s2の出力で稼働時間tの間後退する。
	#define go_fwd(t,s1,s2) OnFwd(OUT_A,s1);OnFwd(OUT_C,s2);Wait(t);Off(OUT_AC);		//モーターA,Cがそれぞれs1,s2の出力で稼働時間tの前進する。
	#define en1 OnFwd(OUT_A,20);OnFwd(OUT_C,50);Wait(5300);Off(OUT_AC);			//輪郭を描く円周動作	
	


**冒頭及び輪郭 [#e509ec94]

輪郭は結局、始点と終点が完全に一致することはありませんでした。

        task main()
        {
	pen_up ;
	pen_down ;
	en1 ;
	pen_up ;
	pen_down;

**髪の毛 [#x4c2d547]

        int i;
	for(i=1;i<=6;i++){
	OnRev(OUT_A,30); 
	Wait(400);
	Off(OUT_AC);
	OnRev(OUT_C,30);
	Wait(400);
	Off(OUT_AC);
	}

**口 [#q51933bd]

	pen_up;
	turn_right(300,50,50);
	go_fwd(500,50,50);
	pen_down;
	go_fwd(350,40,40);
	pen_up;

**鼻 [#y4db9a03]

	go_rev(500,50,50);
	turn_left(300,30,30);
	go_fwd(300,40,40)
	pen_down;
	turn_right(300,30,30);
	go_fwd(200,30,30);
	pen_up;

**目  [#j22e99e5]

        go_rev(400,40,40);
	turn_left(200,40,40);
	pen_down;
	turn_right(200,20,20);
	pen_up;
	turn_left(200,20,20);
	go_fwd(600,50,65);
	pen_down;
	turn_right(200,20,20);
        }



*反省点と感想 [#k98aee16]

 床の状況や、紙の材質、ペンの種類などによって、できる似顔絵の様相が大きく異なった事から今後は、センサーなどを用いて様々な状況に対応できるロボットを作るべきだと思いました、

 また、今回のプログラミングでは同時に1つの動作しか命令できなかったので、今後は同時に並列して複数の動作を行えるようなプログラミングをしていきたいです。
 しかし、似顔絵自体は人の顔だと認識できるものが出来上がって良かったです。


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