[[2017a/Member]]

目次
#contents

* 課題1 [#tb726ef4]
大学生活を表す七画以上の漢字を15兒擁の紙に書かせる。 
詳しくは[[課題1>2017a/Mission1]]参照
** 選んだ漢字 [#se19013c]
もともと「住」んでいた馴染みのある土地なので、「住」にした。

* ロボットの説明 [#c7ed0367]
** 全体図 [#p6c01be4]
&ref(./S_6110666459066.jpg,50%,横図);
&ref(./S_6110666588012.jpg,100%,上図);

1番最初に説明書を見ながら作った、タイヤが着いたベースを元に、前方にペンを取り付けるようにした。

また、ペンを付けたままでもプログラムを書き込めるよう、

赤外線受信部が後ろに来るようにした結果、タイヤのモーターへの接続が逆になった。
**ペンを動かす機構 [#s7af6faf]
&ref(./S_6126607297150.jpg,50%,ペン);

ペンをタイヤで挟み、一方を回転させることで、ペンを上下させることが出来る。

**筆圧調整 [#jaf36ab5]
&ref(./S_6126607339885.jpg,50%,筆圧器横);  &ref(./S_6126607371287.jpg,50%,筆圧器上);


ペンに被さるようにバーを取り付け、それをゴムで固定することにより、ペンを下げている時でも常に一定の圧力が上からかかり続けるので、

線が掠れることなく、真っ直ぐに引けるようになった。



* プログラムの説明 [#m6e60962]
** 書き順 [#dfd4b52e]
&ref(./,100%,書き順);
&ref(./DSC_0371-480x640.JPG,100%,書き順);


直線のみで書けるよう、最後の2画を一本の直線を分割して使う等、若干漢字を変形させた。

** マクロとサブルーチン [#sc0e66c7]

 #define go_forward(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC); //何も書かずに前進
 #define go_back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC); //何も書かずに後退
 
 sub pen_down()
     {OnRev(OUT_B);Wait(5);Off(OUT_B);Wait(20);} //ペンを上げる
 sub pen_up()
     {OnFwd(OUT_B);Wait(5);Off(OUT_B);Wait(20);} //ペンを下げる
 #define write_forward(t) pen_down();OnFwd(OUT_AC);Wait(t);Off(OUT_AC);pen_up(); //書きながら前進
 #define write_back(t) pen_down();OnRev(OUT_AC);Wait(t);Off(OUT_AC);pen_up(); //書きながら後退

 #define turn_l_large(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);Wait(20); //右回転(大)                       
 #define turn_r_large(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);Wait(20); //左回転(大)

 #define turn_l_small(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_AC);Wait(20); //右回転(小)
 #define turn_r_small(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_AC);Wait(20); //左回転(小)               

この漢字は回転を多用するので、


片方のタイヤだけを動かすことでもう一方のタイヤを中心に大きく回転する 回転(大)と


両方のタイヤをそれぞれ逆方向へ動かすことで、ロボットの中心を軸に小さく回転する 回転(小)


の二種類の回転のサブルーチンを用意した。
** メインプログラム [#mc9669c9]
 task main()
      {  Wait(50);pen_up(); 
         write_forward(52);go_forward(40);turn_l_laege(75); //一画目
         go_back(100);write_back(82);go_forward(15);turn_l_laege(220); //二画目
         go_back(175); write_back(69); //三画目
         turn_r_small(110);go_forward(50);turn_l_small(100);
         go_forward(13);write_forward(50); //四画目
         turn_r_small(110);go_forward(45);turn_l_small(100);
         write_back(60); go_forward(116);turn_r_small(110);go_back(52); //五画目
         write_back(10);go_back(22); write_back(90); //六画・七画目
        
                                                               } 
* まとめ [#g7e395c0]
** 書けた漢字 [#k14241d9]
&ref(./S_6136538138119.jpg,100%,発表会で書いた漢字);
** 考察 [#v5f01383]
・書き方の中に回転を多く含んでいたので、紙をしっかりと固定しておかないと、タイヤと紙の摩擦が大きくなって曲がってしまうことが分かった。

・特に、タイヤを軸にした大きな回転は途中で軸がズレてしまう事が多く、安定性に欠けてしまった。

・発表会では、人偏は飛び出さずにうまく書くことができたが、右側の「主」を書くときに、三回目の横棒がズレてしまった結果、一番最後の直線が大きく外れてしまった。
** 感想 [#ae348fdf]
ロボの制作もプログラムを書くことも初めての経験だったので戸惑ったが、ロボはパートナーと協力して良い機構を取り入れ得られたのでよかった。

プログラム制作では、いかに分かりやすく・短くするかを考えることや、そのプログラム通りにロボットが動くことに楽しさを感じたが、

紙との摩擦や紙へ乗り上げる時の段差など、計算だけでは分からないことも多く、様々な事を予想して制作していくことが大切なのだと思った。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS