目次
今回の課題は、似顔絵を描くロボットの作成である。
内容は、A4の用紙にメンバーの似顔絵を描く。
ペンを固定する装置をロボット前方に取り付け、上げ下げできるようにした。
モーターAとCをタイヤの回転に使用し、モーターBをペンの上げ下げに使用した。
ペンを固定する部品の後方に小さいブロックやドラゴンの羽を付けることで、重心を後ろにずらした。
#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); }
予定
結果
今回、私はロボットに似顔絵を描かせることができなかった。
輪郭を描き終わったあとに予定の描き始めの位置に戻ってこれていなかった。
これは回転するたびに角度が大きくなってしまうことが原因であろう。
また、ペンが紙に擦れるたび、また上げ下げするたびにペンがずれてしまう。
輪ゴムを使うことでペンを固定してみたが、改善は見られなかった。
他の班のロボットを見てみると、タイヤでペンをはさむことにより衝撃を緩和させていた。
タイヤを走行に使用することしか考えられなかったので、斬新な発想だと思った。
次回は、部品を様々な用途に使用していきたい。