[[2016a/Member]]

目次
#contents

*はじめに [#w05bbff9]
 今回の課題は、似顔絵を描くロボットの作成である。

 内容は、A4の用紙にメンバーの似顔絵を描く。

*ロボットの説明 [#e19dd5f2]
 ペンを固定する装置をロボット前方に取り付け、上げ下げできるようにした。

#ref(2016a/Member/Yamada/Mission1/4.jpg,100%,4)
#ref(2016a/Member/Yamada/Mission1/5.jpg,100%,5)

*プログラミングの説明 [#w3261d7c]
 #define go_forward(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);     //前進
 #define go_backward(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);  //後進
 #define turn_time90 95                                       //90度回転に要する時間
 #define lift_up OnFwd(OUT_B);Wait(80);Off(OUT_B);            //ペンを上げる
 #define lift_down OnRev(OUT_B);Wait(80);Off(OUT_B);          //ペンを下げる
 #define turn_forward OnFwd(OUT_AC);Wait(105);Off(OUT_AC);    //90度回転時の前進
 #define turn_backward OnRev(OUT_AC);Wait(105);Off(OUT_AC);   //90度回転時の後進
 
 sub turn_left90()        //90度反時計まわりに回転
 {
   lift_up;
   turn_forward;
   OnFwd(OUT_A);
   OnRev(OUT_C);
   Wait(turn_time90);
   turn_backward;
   lift_down;
 }
 
 sub turn_right90()       //90度時計まわりに回転
 {
   lift_up;
   turn_forward;
   OnFwd(OUT_C);
   OnRev(OUT_A);
   Wait(turn_time90);
   turn_backward;
   lift_down;
 }

 task main()
 {
   repeat(4){                 //輪郭と髪
      go_forward(127);
      turn_left90();
   }

   go_forward(25);            //口
   turn_left90();
   go_forward(127);
   turn_right90();
   go_forward(68);
   turn_right90();

   lift_up;                   //右目
   go_forward(51);
   lift_down;
   go_forward(25);

   lift_up;                   //左目
   go_forward(8);
   turn_right90();
   go_forward(34);
   lift_down;
   go_forward(25);

   lift_up;                   //鼻
   turn_right90();
   go_forward(42);
   turn_right90();
   go_forward(25);
   turn_right90();
   go_forward(13);
   turn_left90();
   go_forward(25);
   Off(OUT_AC);
 }

*感想・考察 [#v1bdd50d]
 今回、私はロボットに似顔絵を描かせることができなかった。ペンが紙に擦れるたび、また上げ下げするたびにペンがずれてしまう。輪ゴムを使うことでペンを固定してみたが、改善は見られなかった。

 他の班のロボットを見てみると、タイヤでペンをはさむことにより衝撃を緩和させていた。タイヤを走行に使用することしか考えられなかったので、斬新な発想だと思った。次回は、部品を様々な用途に使用していきたい。
 

  


 


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