[[2015a/Member]]

*ロボット本体について [#e71ddc91]
**アームについて [#x0f46e14]
このロボットのアームには二つのモーターが使用されている。一つは筆ペンを上下させ、もう一つは筆ペン自体を横に動かす役割を担っているものである。

下の写真がアームの機構に使われている2つのモーターである。上が筆の上下、下が筆ペンを動かしている。この写真から分かるように、筆ペン自体を動かしている下のモーターには歯車が付けられている。モーターの回転によって歯車が動き、噛み合う様に付けられた下の歯車がレール上を移動する機構となっている。しかし、この機構の欠点はレールの長さが文字を書くのに十分でないため、縦画と比べると横画の自由度が非常に低くなってしまう事である。
#ref(./IMG_2682.JPG,10%)
**母機について [#j85cbd23]
設置したアームには、パーツを多く要しているので非常に重たくなっている。従って、少ないパーツで機体を安定させるために車高を低く、長くした。しかし、この機体の欠点は、重量のあるものが後方にあったため重心が後方に偏っていたにも関わらず、動力が前方にあった事である。このままでは前方のタイヤの摩擦が足りなく、重たい機体が動きにくいので、前方に重りとして電池を複数取り付けている。

上の写真はマシン前方、下はマシン後方の写真である。上の写真のタイヤ同士の幅が小さいものは、マシン全体を動かすモーターが付けられた車輪である。一方で、下のタイヤ同士の幅が大きいものは補助輪のような役割を担っている車輪である。
#ref(./IMG_2673.JPG,10%)
#ref(./IMG_2671.JPG,10%)
*プログラムについて [#sd7432fe]
アームを下げて筆ペンを紙に接地する動作をarm_shitaで表し、逆に筆ペンを上げる動作をarm_ueとしている。
今回文字を書くにあたって注意したプログラムは、一つの行動が終わるごとに1〜2秒間の停止時間を組み込んだ点である。設計上アームは横揺れが起きてしまい、次々に動作をさせるとアームが大きく揺れて線が歪んでしまうので、それを防止する為に一つ一つのプログラムの一番最後に取り入れた。

 #define HARAI(t) OnRev(OUT_C,30);OnFwd(OUT_B,50);Wait(t);Off(OUT_BC);Wait(1000);
 #define arm_shita(t) OnFwd(OUT_A,30);Wait(t);Off(OUT_A);Wait(2000);
 #define arm_ue(t) OnRev(OUT_A,30);Wait(t);Off(OUT_A);Wait(2000);
 #define HARAI_back(t,s) OnFwd(OUT_C,20);Wait(t);OnRev(OUT_B,40);Wait(s);Off(OUT_BC);Wait(1000);
 #define tate_sen(t) OnFwd(OUT_B,50);OnFwd(OUT_C,20);Wait(t);Off(OUT_BC);Wait(1000);
 #define modoru(t) OnRev(OUT_B,40);Wait(t);Off(OUT_B);Wait(1000);
 #define yoko_sen(t,s,r) OnFwd(OUT_C,30);Wait(t);OnFwd(OUT_A,30);Wait(s);Off(OUT_A);OnRev(OUT_C,20);Wait(r);Off(OUT_AC);Wait(1000);
 #define ichi_syuusei(t,s) OnFwd(OUT_C,20);Wait(t);OnRev(OUT_B,30);Wait(s);Off(OUT_B);Wait(1000);
 #define tate_shita(t,s) OnFwd(OUT_B,50);Wait(t);OnFwd(OUT_C,15);Wait(s);Off(OUT_BC);Wait(1000);
 #define left_right(t) OnFwd(OUT_C,30);Wait(t);Off(OUT_C);Wait(1000);
 #define right_left(t) OnRev(OUT_C,20);Wait(t);Off(OUT_C);Wait(1000);
 #define shita_tate(t) OnRev(OUT_B,50);Wait(t);Off(OUT_B);Wait(1000);
 task main()
 {
 arm_shita(500);//ロボットのアームを下にさげ、筆を紙に接触させる
 HARAI(800);//一画目 青の線 
 arm_ue(300);//アームを上にあげ、筆を紙から離す。一画目終了
 HARAI_back(100,150);//ロボットを二画目の書き始めの位置まで移動
 arm_shita(600);//アームを下げて、筆を紙に付ける
 tate_sen(600);//二画目 赤の線 
 arm_ue(300);アームを上げて、筆を紙から離す。ここまでで二画目が終わり、にんべんが完成
 modoru(800);//三画目を書くための位置まで移動
 arm_shita(500);//筆を紙に付ける
 yoko_sen(600,600,1000);//三画目 黄色の線 
 arm_ue(300);//筆を紙から離す 三画目終了
 ichi_syuusei(300,300);//四画目の位置まで移動
 arm_shita(500);//筆を紙に付ける
 HARAI(500);//四画目 緑の線
 arm_ue(300);//筆を離す 四画目終了
 HARAI_back(100,150);//佑の口の字を書くために位置を移動
 arm_shita(600);//筆を紙に付ける
 tate_shita(300,300);//口の字 灰色の線 以降は下図の矢印通りに反時計回りで一画ずつ書いている
 left_right(200);
 shita_tate(250);
 right_left(200);
 arm_ue(300);//筆を離す 「佑」の完成
 }

*書いた文字 [#w2c7abda]
今回書く文字は「佑」である。三画目の横棒を右から左に書いているのは、マシンの性質上そのようにせざるを得ないからである。
#ref(./11111.png)  
#ref(./IMG_2666.JPG,10%)
*今回の課題に対する感想 [#r93b02d0]
マシンで文字を書くという事は予想以上に困難であった。どのような機構で、どのようなプログラムを組み、それらによって生じた問題点をどのように修正していくか、という事を常に考えなければならず、試行錯誤の連続であった。特にプログラムは、斜め線を書く際のマシン本体とアームの動く速度の調節、次に書く線までのマシン移動が非常に難しかった。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS