[[2015a/Member]] * ロボット本体の説明 [#p0cd62e5] ** ロボットの紹介 [#m86de2bc] #ref(./a.jpg) ** アーム [#wf553ff9] アームはに左右に動くように設計されています。端にペンが接続されており、本体の縦の動きと組み合わせることで斜めの線を引くことができます。 -アーム部分の拡大写真 #ref(./DSC_0646.jpg) - ペン固定部 #ref(./b.jpg) ** ペンの上げ下げ [#q77603ac] モーターが足りなかったのでペンを上げ下げする機構は備わっていません。ですので、全ての文字は一筆書きで書く必要があります。 ** 工夫した点 [#c1d0e303] -モーターを使い、横向きにアームが動くようにした点 -本体の移動によって縦の線を引くようにしたので、プログラミングを簡略にできた点 ** 部品について [#id2abce4] -モーター A、B端子はタイヤに、C端子は筆を操作する機構に繋がっています。 -タイヤ タイヤによって前後に移動します。 * 苦労した点 [#r1e52b57] -アームが安定しないことにより、描画時に小さくないずれが生じた点。 -モーターの数が足りず、ペンを上げ下げする機構を無くさざるを得なかった点。 -構造上どうしても複数回筆の通る位置があり、ずれてしまう点 -ロボットの構造上、細かい止め、はね、払いの表現が難しい ** 部品について [#id2abce4] -モーター A、B端子はタイヤに、C端子は筆を操作する機構に繋がっています。 -タイヤ タイヤによって前後に移動します。 * プログラムの説明 [#s411662e] ** 『辛』を書くプログラム [#hcbc2c72] void arm_nobi(int a) { OnRev(OUT_B); Wait(a); Off(OUT_B); } void arm_tizimi(int b) { OnFwd(OUT_B); Wait(b); Off(OUT_B); } void go_straight(int c) { OnFwd(OUT_A+OUT_C); Wait(c); Off(OUT_A+OUT_C); } void go_back(int d) { OnRev(OUT_A+OUT_C); Wait(d); Off(OUT_A+OUT_C); } task main() { /* 一画目 */ go_straight(20); Wait(50); /* 二画目 */ arm_nobi(30); arm_tizimi(60); Wait(50); /* 三画目・四画目 */ arm_nobi(20); go_straight(20); go_back(20); arm_nobi(20); go_straight(20); Wait(50); /* 五画目 */ arm_nobi(20); arm_tizimi(60); arm_nobi(30); Wait(50); /* 六画目・七画目 */ go_straight(20); arm_nobi(40); arm_tizimi(80); arm_nobi(40); go_straight(40); } ** ロボットによる作品『辛』 [#ha6f387d] #ref(./150608_2254-01.jpg) ** 反省点 [#i306dbaa] -筆を持ち上げる機構を作ることが出来ず、一筆書きになってしまい、線が重複する箇所が汚くなってしまった。 -文字自体は読めるものではなかったが、実際にプログラムを送りロボットを動かすことで、ロボットがプログラム通りうまく動くよな一筋縄でいくような存在ではないと思い知らされた。