目次
#contents
* ロボットの紹介 [#pa90a329]
今回作ったロボットは、三つのモーターを前後移動(モーターA)、ペンの左右移動(モーターB)、ペンの上下移動(モーターC)に割り振り、それぞれを動かすことによって文字を書く書道ロボットです。
斜め線もモーターAとモーターBを同時に動かすことで書くことができます。
#ref(2015b/Member/fujiTaka/Mission1/zentai.jpg,50%)
* ロボット本体 [#r7ee4fc3]
** モーターA(車輪部分) [#h52b82a3]
#ref(2015b/Member/fujiTaka/Mission1/motora.jpg,50%)
モーターに右側前後の車輪の歯車が直接接触しています。モーター一つで車輪を動かすために前後の車輪の間隔を狭くしたので、土台としては小さくすぎてバランスが取りづらいかと思いましたが、最終的にロボットの高さが想定より高くならなかったので特に問題はありませんでした。
** モーターB(左右動作の部分) [#jffd9115]
ペン側にはストッパーを付け、左右の過剰運動でロボットが壊れないようになっています。
問題点
�〆険Δ硫墜旭茲�決まっているので、可動域を超えた幅の文字は書けない
�⊆命燭猟未螢癲璽拭�Bの周囲にしか支えがないため、一番右または左に動いた時に地面との平行を保てない。そのため、ペンを付ける際にはうまく位置を調節しないと掠れたり左右で字の太さが変わったりする。
** モーターC(ペンの部分) [#w4d08420]
#ref(2015b/Member/fujiTaka/Mission1/motorc.jpg,50%)
最初はモーターCに黒い長い部品に写真の黄色いくの字の部品が付いているだけだったのですが(写真は撮っていませんでした)、ペンを持ち上げてもペンの重みで下がってきてしまう。安定感がなさすぎるということで今の形になりました。
これは過去の受講生のロボットを参考にしました。しかし、自分たちのロボットではモーターBの問題点で書いたように、モーターCからペン部分までのところに安定感がないためペンを十分に持ち上げることができず、画ごとに繋がったり、逆にペンが紙に届かなかったりという問題が生じました。これを解決するために耐久性、安定性の強化を行おうとしたのですが、うまくいかず。そこで自分たちはペンの上下運動を大きくすることでこれを解決しました(プーリーの大きさを変え、部品を一部長いものに替えた)。
上下運動が行き過ぎないように、過剰な運動分はプーリーが空回りするようにしました。
問題点
モーターCとペン部分をつなぐ紫の管が柔らかいため簡単にズレる。そして外れやすい。
**全体的に [#ga7a0d85]
最後にいらない部品を削ったらかなり安定感が増し、文字を書ききるまでの短い時間ならあまりズレることもなく文字を書くことが出来るようになりました。
初期段階から修正を加えていくうえで、「とりあえず目的の文字を書ききることが出来る」を目的として耐久面は二の次だったので、やはり他の班のロボットと比べると耐久性は見劣りするかなと思います。
* プログラム [#ue29f623]
#define REST Off(OUT_ABC);Wait(100);
#define WRITE_IN OnRev(OUT_C);Wait(10);REST
#define WRITE_OFF OnFwd(OUT_C);Wait(10);REST
#define RIGHT_B(t) OnFwd(OUT_B);Wait(t);REST
#define LEFT_B(s) OnRev(OUT_B);Wait(s);REST
#define GO_A(u) OnFwd(OUT_A);Wait(u);REST
#define BACK_A(z) OnRev(OUT_A);Wait;REST
task main()
{
WRITE_IN
RIGHT_B(18)//一画目(ー)
WRITE_OFF
GO_A(18)
LEFT_B(10)
WRITE_IN
BACK_A(20)//二画目��(|)
OnRev(OUT_AB);Wait(7);OnRev(OUT_AB);WRITE_OFF//二画目��(/)
GO_A(17)
RIGHT_B(11)
WRITE_IN
OnRev(OUT_A);OnFwd(OUT_B);Wait(7);OnRev(OUT_A);OnFwd(OUT_B);WRITE_OFF//三画目(╲)
GO_A(5)
LEFT_B(15)
WRITE_IN
RIGHT_B(12)WRITE_OFF//四画目(-)
BACK_A(10)
LEFT_B(17)
WRITE_IN
RIGHT_B(20)WRITE_OFF//五画目(ー)
LEFT_B(9)
BACK_A(4)
WRITE_IN
BACK_A(20)OnFwd(OUT_A);OnRev(OUT_B);WRITE_OFF//六画目(亅)
RIGHT_B(8)
WRITE_IN
OnRev(OUT_AB);Wait(7);OnRev(OUT_AB);WRITE_OFF//七画目(/)
GO_A(16)
RIGHT_B(17)
WRITE_IN
OnRev(OUT_A);OnFwd(OUT_B);Wait(6);OnRev(OUT_A);OnFwd(OUT_B);WRITE_OFF//八画目(╲)
Off(OUT_ABC);
}
* プログラムについて [#id10c8ab]
・ペンの昇降、横棒、縦棒などのよく使う動きは最初に定義した。
・二画目を一度に書くことが難しかったので二つに分けた。
・斜め線はモーターAとモーターBの動くスピードがうまく合わなかったのでモーターBの動きに合わせて調節した。
・払いは最初からモーターABの動きにCを合わせてしまうとすぐに線が途切れてしまうので、途中までモーターABを動かしてからCを動かすようにした。
** 作品 [#h75d51e9]
#ref(2015b/Member/fujiTaka/Mission1/kansei.jpg,30%)
** 感想とまとめ [#r8cc0555]
今回が初めてのロボット制作でしたが、とても楽しく作ることができました。特にプログラミングは楽しくて、秒数の調節で試行錯誤したり、思い通りに動かすために考える時間は充実していました。
ロボットに関しては基本的なつくりではありましたが、最終的にはとてもコンパクトになって安定感もだせてよかったのではないかなと思います。長く時間がかかる文字や複雑な文字を書くのにはには向いてないかもしれないけど、今回のような文字なら安定してかけると思います。
他のグループの発表を見て、とても感心しました。全然ぶれないし見たことのない面白いつくりのものもありました。それらのロボット達も参考にして、この先もっと色々な発想をして面白いロボットを作ってみたいと思います。