[[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] 今回、私はロボットに似顔絵を描かせることができなかった。ペンが紙に擦れるたび、また上げ下げするたびにペンがずれてしまう。輪ゴムを使うことでペンを固定してみたが、改善は見られなかった。 他の班のロボットを見てみると、タイヤでペンをはさむことにより衝撃を緩和させていた。タイヤを走行に使用することしか考えられなかったので、斬新な発想だと思った。次回は、部品を様々な用途に使用していきたい。