[[2016a/Member]]
目次
#contents

*ロボット本体の説明 [#x16bd752]

**ロボットの説明 [#pab4c715]
今回、似顔絵を描くのに制作したロボットは、ベースはそのまま使い、モータを取り付けてモータの力をそのまま使い、ペンを回転させて紙にあてるという構造にしました。
#ref(DSC_0018.JPG)
モータにプーリーを取り付けて輪ゴムに負荷がかかりすぎないように写真のように固定しました。
#ref(DSC_0019.JPG)
**ペンの上下 [#fe0ac1bd]
ペンを下す際に毎回違ったところに下してしまうことを防止するために、写真の赤丸の部分のようにすることでペンが内側に入り、毎回同じ位置に下すことができるようにしました。
#ref(DSC_0020.JPG)

*プログラムの説明 [#ldf22b4d]
**マクロの説明 [#n602cfbc]
初めにマクロで前進、後退、右旋回、左旋回、ペンの上下のプログラムを時間を指定できるように作っておき、メインのプログラムを見やすくしました。

前進
 #define go_forward(t) OnFwd(OUT_AC);\
	Wait(t);Off(OUT_AC);
後退
 #define go_back(t) OnRev(OUT_AC);\
	Wait(t);Off(OUT_AC);
右旋回
 #define turn_right(t) OnRev(OUT_C); OnFwd(OUT_A);\
	Wait(t);Off(OUT_AC);
左旋回
 #define turn_left(t) OnRev(OUT_A); OnFwd(OUT_C);\
	Wait(t);Off(OUT_AC);
ペンを上げる
 #define p_up Wait(50);OnFwd(OUT_B);\
	Wait(5);Off(OUT_B);Wait(50);
ペンを下げる
 #define p_down Wait(50);OnRev(OUT_B);\
	Wait(6);Off(OUT_B);Wait(50);

**メインプログラム [#o455e578]
 task main()
 {
      p_up;               //顔の輪郭
      p_down;
      turn_right(420);    
      p_up;               
      p_down;             //髪
      go_forward(55);	    
      p_up;               
      go_back(55);        //目
      turn_right(84);
      go_forward(24);
      go_back(45);
      turn_right(84);
      go_forward(10);
      p_down;
      go_forward(10);
      p_up;
      go_forward(10);
      p_down;
      go_forward(10);
      p_up;	            
      go_back(45);        //口
      turn_right(84);
      go_back(65);
      turn_right(84);
      go_forward(15);
      p_down;
      go_forward(10);     
      p_up;
 }
***メインプログラムの説明 [#c08b1ba6]
ペンを一度上下させることで、最初のペンの位置の調整をしている。
顔の輪郭は、ペンの位置が中心ではないことを生かして、旋回することで円を描く。
 p_up;               //顔の輪郭
 p_down;
 turn_right(420);    
 p_up;    
円周上にペンがあるのでそのまま直線を引き、髪を描く。
 p_down;             //髪
 go_forward(55);	    
 p_up;
目の位置まで移動した後、直線で目を描く。
 go_back(55);        //目
 turn_right(84);
 go_forward(24);
 go_back(45);
 turn_right(84);
 go_forward(10);
 
 p_down;
 go_forward(10);
 p_up;
 go_forward(10);
 p_down;
 go_forward(10);
 p_up;	            
口の位置まで移動して、直線で描く。
 go_back(45);        //口
 turn_right(84);
 go_back(65);
 turn_right(84);
 go_forward(15);
 
 p_down;
 go_forward(10);     
 p_up;
*完成した似顔絵 [#z57e4c25]
ペンを下した時に短い線が出来て、予定とは違ったが、より顔らしくなった。
#ref(DSC_0021.JPG)

*感想・考察 [#cd4b79bb]
ペンの固定方法が思いつかず、少し強引な方法になってしまった。そのため、ペンが安定せず、線が薄くなったり、描けなかったりすることがあり残念だった。他のチームがやっていた、タイヤでペンを挟んで固定する方法などを使えば、ぶれることがなく、確実に描くことができると思いました。先輩方のロボットを見てみると本体から大きく改造しているものが多く、本体から改造すれば、もっとバランスが良くなり、部品が外れるなどのことも起きにくくなると思いました。最終的には何とか似顔絵っぽくなったので良かったです。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS