目次 #ref(./100518robo.jpg,around,right,80%,お絵かきロボット) #contents #clear *課題 [#ma0b0e96] **お絵描きロボット [#h1281fa6] A3の紙に相棒の似顔絵を書くロボットを作成せよ。 **メンバー [#qc5144cd] みのう・みさいづ *ロボットの製作 [#gf67d56a] **製作したロボット [#z758577f] #ref(./100518lb.jpg,around,80%,ロボット画像1) #ref(./100518lf.jpg,around,80%,ロボット画像2) #clear **工夫した点 [#q2897ee3] -ペンの動作部にウォームギアを使用して速度を落とし、制御しやすくした。 -土台部分、本体及びペンの動作に関わるところは、それぞれ一体になっており、取り外し、組み立てが容易である。 #ref(./100519parts.jpg,80%,取り外した様子) **今後改善すべき点 [#ka25520b] -土台部分と本体とのつながりが弱いので、その部分の強度を改善したい。 -ペンの持ち方、動き方についても改善したい。 *プログラムの作成(みのう) [#bfced5af] **完成した似顔絵 [#o9a9c6fe] #ref(./100519face_n.jpg,80%,完成した似顔絵(みのう)) **作成したプログラム [#tf2b9bcb] #define FORTY_FIVE_DEG 52 int pen_can_up=0; int pen_can_dw=1; #define up_pen repeat(pen_can_up){OnRev(OUT_B);Wait(53);Off(OUT_B);}pen_can_up=0;pen_can_dw=1; #define dw_pen repeat(pen_can_dw){OnFwd(OUT_B);Wait(50);Off(OUT_B);}pen_can_dw=0;pen_can_up=1; #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); #define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); #define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); #define turn_left_f(t) OnRev(OUT_A);OnRev(OUT_C);Wait(65);OnRev(OUT_A);OnFwd(OUT_C);Wait(t);OnFwd(OUT_A);OnFwd(OUT_C);Wait(65);Off(OUT_A+OUT_C); #define turn_right_f(t) OnRev(OUT_A);OnRev(OUT_C);Wait(65);OnFwd(OUT_A);OnRev(OUT_C);Wait(t);OnFwd(OUT_A);OnFwd(OUT_C);Wait(65);Off(OUT_A+OUT_C); task main () { draw_outline(); // begin move eye place go_back(100); turn_left(105); go_straight(90); // end move eye place draw_eye(); // begin move hair place go_back(120); // end move hair place draw_hair(); // begin move nose place go_straight(10); turn_right(110); go_straight(75); // end move nose place draw_nose(); // begin move mouth place go_back(60); turn_left(110); go_straight(35); // end move mouth draw_mouth(); } sub draw_outline() { dw_pen; go_straight(100); up_pen; turn_left_f(FORTY_FIVE_DEG); dw_pen; go_straight(40); up_pen; turn_left_f(FORTY_FIVE_DEG); dw_pen; go_straight(60); up_pen; turn_left_f(FORTY_FIVE_DEG); dw_pen; go_straight(40); up_pen; turn_left_f(FORTY_FIVE_DEG); dw_pen; go_straight(100); up_pen; } sub draw_eye() { dw_pen; go_straight(20); up_pen; go_straight(35); dw_pen; go_straight(20); up_pen; } sub draw_hair() { dw_pen; turn_left(210); up_pen; } sub draw_nose() { dw_pen; go_straight(25); up_pen; } sub draw_mouth() { dw_pen; go_straight(60); up_pen; turn_left_f(FORTY_FIVE_DEG); dw_pen; go_straight(10); up_pen; } **工夫した点 [#i5a884ea] -ペンを2回以上連続で上げたり下げたりしないよう(ifを使って良いか分からなかったので)repeatを使った。 -サブルーチンを使うことにより、それぞれの動作を容易にコメントアウトでき、途中から途中までの動作チェックを容易にした。 **今後改善すべき点 [#bf201c06] -線の角のつなぎがうまくいかないので改善したい。 -髪がずれてしまっているのでその点を改善することと、量ももう少し増やしたい。 -マクロを使用したせいか、プログラムの転送に時間がかかったので、その点を改善したい。 *プログラムの作成(みさいづ) [#u6f91fcc] **完成した似顔絵 [#b8bc585f] #ref(./100519face_d.jpg,80%,完成した似顔絵(みさいづ)) **作成したプログラム [#tf2b9bcb] **工夫した点 [#i5a884ea] **今後改善すべき点 [#bf201c06] *反省・感想 [#rdeb363f] -ペンの動作部の製作に時間をかけすぎてしまい、プログラムの調整の時間が足りなくなってしまった。今後は時間配分を考えて製作したい。また、いろいろな経験が出来たので、このことを忘れずに、今後に生かしていきたい。(みのう) -(みさいづ) *コメントをどうぞ [#b722e30e] #comment