写真が横向きなのですが、どうしたらいいのでしょうか。

目次
#contents
*書道ロボット [#v690f3d5]


*ロボット概要 [#occ2d3ca]
&ref(2015b/Member/nakami/Mission1/image1.JPG,50%);
&ref(2015b/Member/nakami/Mission1/image2.JPG,50%);

「良」を書き順通りに書く書道ロボットを作成しました。
縦の画は車輪の前進後進、横の画は筆の左右の移動、斜めの画はこれらの組み合わせで書きます。
モーターは3つであるので車輪の前進後進に一つ、筆の左右の移動に一つ、筆の上げ下げに一つ使います。
**ロボット本体 [#k89d7ab1]

&ref(2015b/Member/nakami/Mission1/motorA1.JPG,50%);
&ref(2015b/Member/nakami/Mission1/motorA2.JPG,50%);
&ref(2015b/Member/nakami/Mission1/motorA3.JPG,50%);

前に小さい車輪2つ、後ろに大きい車輪2つ。モーター一つで前後輪を動かせるようにしました。

工夫した点:何より重心を低くし、本体の安定性を重視しました。

**アーム [#hc8c96c5]
&ref(2015b/Member/nakami/Mission1/image3.JPG,50%);
&ref(2015b/Member/nakami/Mission1/image4.JPG,50%);
&ref(2015b/Member/nakami/Mission1/image2 (1).JPG,50%);

大小の円車を利用し、ペンを上下させるアーム部分にしました。

筆の左右の移動:&ref(2015b/Member/nakami/Mission1/motor.JPG,50%);
&ref(2015b/Member/nakami/Mission1/motorB2.JPG,50%);

モーターBに歯車をつけ、ギザギザのパーツが噛み合うようにブロックを組み合わせました。この時も高さがでないようにし、安定感にこだわりました。


筆の上げ下げ:&ref(2015b/Member/nakami/Mission1/image4.JPG,50%);

大小の円車をゴムの摩擦で連動させました。下の小さい円車がモーターによって動き、ゴムの摩擦で上の大きい円車も同時に動きます。

また、重量のバランスのために、モーターCとアームをモーターBを挟んで左右に分けました。紫のチューブと十字棒を使って、モーターとアームを連動させました。


工夫した点:

バランスを考え、本体を中心としてモーターとペンを左右に分けました。

書くものは筆ペンを使うことで筆圧を下げ、摩擦力や抗力を少なくし、ロボットやペンにズレが生じることなくスムーズに動くようにしました。

筆を持たせる角度は70度くらいにし、習字らしい字の始まり方を意識しました。

苦労した点:

モーターCとアームを左右に分けたことで、離れたものをモーターで動かすにはどうすればいいか、という問題に頭を悩ませました。チューブでつなげるだけで連動するのか、と思いましたが、連動しました。

書き始めの時点でのペンの傾き加減や高さなどによって、ペンが紙に届かなかったり、つっかえたりしてしまいました。歯車を一段階ずつ大きいものにすることで、ペンの上下の可動範囲が大きくなり、改善することができました。

筆の安定性、耐久性は最後まで苦労しました。筆の左右の動き、上げ下げにより筆の角度が変わってしまったり、左右がズレてしまったりしました。強度を上げようにも重たくなってバランスが悪くなってしまうので、加わる力を減らすようにと努めました。具体的にはズレにつながる幅は小さな灰色のパーツで埋めたり、ゴムによる摩擦が目的外のところで起きないように幅を持たせたりしました。



*プログラム [#fcf5d143]
モーターA:車輪(車輪の前進後進)
モーターB:アーム(筆の左右の動き)
モーターC:筆ペン(筆の上げ下げ)
 #define Rest Off(OUT_ABC);Wait(100);
 #define Write_in OnRev(OUT_C);Wait(15);Rest
 #define Write_off OnFwd(OUT_C);Wait(15);Rest
 #define Write_A(k) OnRev(OUT_A);Wait(k);Rest
 #define Back_A(k) OnFwd(OUT_A);Wait(k);Rest
 #define Write_B(l) OnFwd(OUT_B);Wait(l);Rest
 #define Back_B(l) OnRev(OUT_B);Wait(l);Rest

 #define Hanekaeri OnFwd(OUT_A);OnFwd(OUT_B);Wait(7);Off(OUT_AB);Write_off;

 task main()
 {
 Write_in//一画目
 Write_A(10)  
 Write_off

 Back_B(7)

 Write_in//二画目
 Write_B(14)
 Write_A(20)
 Write_off

 Back_B(14)
 Back_A(10)

 Write_in//三画目
 Write_B(14)
 Write_off
 
 Back_B(14)
 Write_A(10)

 Write_in//四画目
 Write_B(14)
 Write_off
 
 Back_B(14)
 Back_A(20)

 Write_in//五画目
 Write_A(50)
 
 OnRev(OUT_C);Wait(5);//押さえ直し

 Hanekaeri//五画目の跳ね返り

 Back_A(10)
 Write_B(10)

 Write_in//六画目
 OnRev(OUT_A);OnRev(OUT_B);Wait(9);Off(OUT_AB);
 Write_off

 Back_B(3)
 Back_A(11)

 Write_in//七画目
 OnRev(OUT_A);OnFwd(OUT_B);Wait(12);OnRev(OUT_A);OnFwd(OUT_B);Write_off;
 Off(OUT_ABC);
 }
 

工夫した点:

すべての動作のあとに「休む」を入れて次の動作に衝撃などの影響が及ばないようにしました。

跳ね返り、はらいはプログラムミスが無いように、定義をせずにそのまま表しました。

5画目の跳ね返り、6画目、7画目のはらいをペンを離しながらはらうことで、習字らしい字を表現しました。

5画目の跳ね返りは、実際に人が習字で跳ね返りを書く際、一度力を入れなおすように、一度筆を止め、筆を付けたままさらに少しだけ筆を下げてから斜め上に跳ね返りました。

苦労した点:

筆の左右の動きで、可動範囲いっぱいっぱいに動かすと、ストッパーで止まる衝撃が全体に影響し、ロボット全体がズレてしまい、字が大きくゆがんでしまいました。比率は変えずに数値を小さめにすることで、改善していきました。

5画目の跳ね返りについて、跳ね返りが大きすたり、小さすぎたりしました。


6画目、7画目のペンの着地点がなかなかうまくいきませんでした。最初は紙上で座標軸をとり、1 ∼5画目のバランスを参考に、数値を決め、そこから微調整していきました。ここでも数値を小さめにすることで、ロボットに衝撃などが無いように意識しました。

*反省 [#t91cc2ab]
名前を付け忘れました。愛着はすごくあったのですが。後付けですが「良筆」です。

作成途中の写真や、改良前の写真がもっとあればよかったと思います。製作過程のレポートが足りないかったと思います。

プログラミングについて、もう少しうまい書き方ができたのではないかと思いました。短くする術をもっとたくさん学んで行こうと思います。

*感想 [#ofb6a780]
他のグループのロボットを見てたくさんの刺激を受けました。自分には全く無い発想ばかりでした。
次回の作品の引き出しとさせてもらいます。


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