[[2016a/Member]] #contents *似顔絵ロボットの作成 [#a003a075] ベースはそのままにし、そこにペンを持つ機能を付け加えた。 #ref(2016a/Member/morita/Mission1/IMG_0111.JPG,center,8%,似顔絵ロボット) ペンを持つ部分については、二つのタイヤを使い、間に挟むようにした。また、タイヤの一つにモータを取り付け、タイヤを動かすことによりペンを上下できるようにしたかったが、モータが動かなかったのでうまく上下させることができなかった。 #ref(2016a/Member/morita/Mission1/IMG_0109.JPG,center,8%,似顔絵ロボット) #ref(2016a/Member/morita/Mission1/IMG_0110.JPG,center,8%,似顔絵ロボット) *似顔絵ロボットの動作について [#nc7fb615] 定義 #define pen_ageru OnRev(OUT_B); Wait(30); //ペンを上げる #define pen_sageru OnFwd(OUT_B); Wait(30); //ペンを下ろす タスクメイン ・定義 #define pen_ageru OnRev(OUT_B); Wait(30); Off(OUT_B); //ペンを上げる #define pen_sageru OnFwd(OUT_B); Wait(30); Off(OUT_B); //ペンを下ろす ・タスクメイン task main () { OnFwd(OUT_A); //顔の輪郭 Wait(650); Off(OUT_A); pen_ageru; OnRev(OUT_AC); Wait(100); Off(OUT_AC); pen_sageru; OnFwd(OUT_A); //口の部分 Wait(100); Off(OUT_A); OnFwd(OUT_C); // 口の部分 Wait(100); Off(OUT_C); OnFwd(OUT_A); // 口の部分 Wait(100); Off(OUT_A); pen_ageru; OnRev(OUT_AC); Wait(150); Off(OUT_AC); OnFwd(OUT_A); //90度回転 Wait(160); Off(OUT_A); pen_sageru; OnRev(OUT_AC); //左目を書く Wait(80); Off(OUT_AC); pen_ageru; OnRev(OUT_AC); //目と目の間隔を空ける Wait(80); Off(OUT_AC); pen_sageru; OnRev(OUT_AC); //右目を書く Wait(80); Off(OUT_AC); } ロボットを動かしたときに、ペンが紙から離れてしまい、それを直すのにかなりの時間をかけてしまったので、はっきりとした線を書くことはできるようになったが、上に書いたプログラムのような似顔絵にはならなかった。 #ref(2016a/Member/morita/Mission1/IMG_0113.JPG,left,6%,似顔絵?) また、上に書いたプログラムで下図のような似顔絵を作ろうとした。 #ref(2016a/Member/morita/Mission1/IMG_0114.JPG,left,6%,理想の似顔絵) *感想 [#s07581e2] 今回、ロボットに似顔絵を描かせることはできなかった。ロボットを動かしたときに、ペンが紙に当たらなくて最初は線さえも書けなかったけれど、最後になんとか線は書けるようになったので、その点はよかった。自分が考えている通りにロボットが動いてくれなかったことが難しいところだった。ペンを輪ゴムで固定する方法も試してみればよかった。 思っていたよりも課題が大変でなかなか成功することが出来なかったので、次回の課題からはもっと計画的に取り組めるようにしたい。またメンバーの予定が合わないことも多かったので、あらかじめ集まれる日を決めておけば良かった。