嵩西 健太 石田 優耶 松井 春樹
移動方法はキャタピラで、ペンを持ったアームは振り下ろすタイプです。アーム部分のモーターには強い力が加わったら空回りするギアをつけて、アームを振り上げるときの破損の心配を最小限にしました。基本的に文字を書くには本体自体が筆順を追います。しかし、はねやはらいの部分は本体を回転させながら書く形をとりました。他にも、動いているうちにアームの部分が下がってしまうので、それを防ぐためにアームを上げたまま保つためのタイヤを付けました。
プログラムは関数を使って簡略化できたのですが、キャタピラに不具合が生じ始めました。ギア等の接続がゆるいとわかったので調整し直しました。が、旋回時に負荷がかかるのでキャタピラを抑えている青いパーツを外して少しプログラムを変更して誤差を修正しました。
void turn_right(int t) //右に曲がる { OnFwd(OUT_C); OnRev(OUT_A); Wait(t); Off(OUT_A+OUT_C); } void turn_left(int u) //左に曲がる { OnFwd(OUT_A); OnRev(OUT_C); Wait(u); Off(OUT_A+OUT_C); } void up(int v) //アームを上げる { OnFwd(OUT_B); Wait(v); Off(OUT_B); } void down(int w) //アームを下げる { OnRev(OUT_B); Wait(w); Off(OUT_B); } void go_straight(int x) //前進 { OnFwd(OUT_A+OUT_C); Wait(x); Off(OUT_A+OUT_C); } void go_back(int y) //後退 { OnRev(OUT_A+OUT_C); Wait(y); Off(OUT_A+OUT_C); } task main() { go_straight(40); //ペンを上げたまま、まずは直進 down(14); //ペンを下ろします go_straight(140); //1画目の棒線 turn_right(60); //1画目のはね up(14); //ペンを上げます turn_right(458); //マシンを回転させて2画目にバックでいく準備 go_back(200); //マシンがバックします down(14); //ペンを下ろして2画目の準備 go_straight(80); //2画目の横線 turn_right(172); //2画目のはらい up(14); //ペンを上げます turn_right(163); //マシンを回転させて3画目にバックでいく準備 go_back(285); //マシンがバックします down(14); //ペンを下ろして3画目の準備 go_straight(70); //3画目 up(14); //ペンを上げます turn_left(14); //3画目と4画目を離すための回転です。人間が書いたような臨場感を持たそうとしました down(14);ペンを下ろして4画目の準備 turn_left(172); //4画目 up(14); //ペンを上げて終了 }
キャタピラは回転させるときに摩擦が大きいので、タイヤを使い上手く回転させたい。重心軸をきちんと配慮して動作に支障をきたさない様にしたいと思った。マシンが文字をおうパターンしか考えていなかったので、より多くのアイデアを考察すべきだと思った。また、プログラムや基本的なマシンの組み立ても終わり余裕があるなら、マシンの体裁をよくしたいと思った。