*書道ロボット [#bafe2f39]
*内容 [#z1c14d3a]
出身地の『水戸』を二人で書くことにしました。
『水戸』という字を書くことにしました。

*プログラム [#b095b10f]
**『水』 [#g84a316e]


task main()
{
   OnFwd(OUT_B);Wait(50); //ペンを下ろす//1
   OnRev(OUT_A+OUT_C);Wait(250);//後退
   OnRev(OUT_C); OnFwd(OUT_A);Wait(30);//方向転換(逆時計)
   OnRev(OUT_B);// ペンを上げる
   OnFwd(OUT_A+OUT_C);Wait(50);//前進
   Off(OUT_B);//ペンを止める
   OnFwd(OUT_A+OUT_C);Wait(100);//前進
   OnRev(OUT_C); OnFwd(OUT_A);Wait(80);//方向転換
   OnFwd(OUT_B);//ペンを下ろす//2
   Off(OUT_A+OUT_C);Wait(30)//一時停止
   Off(OUT_B);//ペンを止める
   OnRev(OUT_A+OUT_C);Wait(60);//後退
   OnRev(OUT_B);// ペンを上げる
   OnRev(OUT_C); OnFwd(OUT_A);Wait(130);//方向転換(逆時計)
   OnFwd(OUT_B);//ペンを下ろす//2
   Off(OUT_A+OUT_C);Wait(30)//一時停止   
   OnFwd(OUT_A+OUT_C);Wait(180);//前進
   OnRev(OUT_B);// ペンを上げる
   OnRev(OUT_A+OUT_C);Wait(100);//後退
   Off(OUT_B);//ペンを止める
   OnRev(OUT_A+OUT_C);Wait(300);//後退
   OnFwd(OUT_B);//ペンを下ろす
   OnFwd(OUT_A+OUT_C);Wait(200);//前進//3
   OnRev(OUT_B);//ペンを上げる
   Off(OUT_A+OUT_C);Wait(30)//一時停止
   OnRev(OUT_A); OnFwd(OUT_C);Wait(200);//方向転換(逆時計)
   OnFwd(OUT_B);//ペンを下ろす
   Off(OUT_A+OUT_C);Wait(30)//一時停止
   OnRev(OUT_A+OUT_C);Wait(100);//後退//4
   Off(OUT_A+OUT_C+OUT_B);//停止
   } 
**『戸』 [#w8642755]
  task main()
 {
    OnFwd(OUT_B);Wait(5);
    OnRev(OUT_A+OUT_C);Wait(300);
    OnRev(OUT_C); OnFwd(OUT_A);Wait(5);
    OnFwd(OUT_A+OUT_C);OnRev(OUT_B);Wait(10);
    OnRev(OUT_C); OnFwd(OUT_A);Wait(50);
    OnFwd(OUT_A+OUT_C);Wait(150);
    OnRev(OUT_C); OnFwd(OUT_A);Wait(80);
    OnFwd(OUT_B);OnRev(OUT_A+OUT_C);Wait(80);
    OnRev(OUT_C); OnFwd(OUT_A);Wait(5);
    OnFwd(OUT_A+OUT_C);Wait(200);
    OnRev(OUT_A+OUT_C);Wait(400);
    OnFwd(OUT_A+OUT_C);OnFwd(OUT_B);Wait(200);
    OnRev(OUT_A); OnFwd(OUT_C);Wait(100);
    OnRev(OUT_A+OUT_C);Wait(100);
    Off(OUT_A+OUT_C);
   }
 task main()
{
   OnFwd(OUT_A+OUT_C); Wait(100);  //一画目
   OnRev(OUT_B);Wait(5); //ペンをあげる
   OnRev(OUT_A+OUT_C); Wait(100); //後退し、元の位置へ
   OnFwd(OUT_C);OnRev(OUT_A); Wait(200);//90度回転
   OnFwd(OUT_A+OUT_C); Wait(50); //二画目の位置へ前進
   OnFwd(OUT_A);OnRev(OUT_C); Wait(190);//90度回転
   OnFwd(OUT_B);Wait(5);//ペンをおろす
   OnFwd(OUT_A+OUT_C); Wait(100);//二画目
   OnRev(OUT_B);Wait(5);//ペンをあげる
   OnFwd(OUT_C);OnRev(OUT_A); Wait(190);//90度回転
   OnFwd(OUT_B);Wait(5);//ペンをおろす
   OnFwd(OUT_A+OUT_C); Wait(50);//二画目
   OnRev(OUT_B);Wait(5);//ペンをあげる
   OnFwd(OUT_C);OnRev(OUT_A); Wait(200);//90度回転
   OnFwd(OUT_B);Wait(5);//ペンをおろす
   OnFwd(OUT_A+OUT_C); Wait(100);//三画目
   OnRev(OUT_B);Wait(5);//ペンをあげる
   OnFwd(OUT_C);OnRev(OUT_A); Wait(220);//90度回転
   OnFwd(OUT_A+OUT_C); Wait(50);//二画目の位置へ前進
   OnFwd(OUT_B);Wait(5);//ペンをおろす
   OnRev(OUT_A+OUT_C); Wait(120);//四画目
   OnFwd(OUT_C); OnRev(OUT_A);Wait(40);//四画目のはらいの部分
   OnRev(OUT_A+OUT_C); Wait(100);
   Off(OUT_A+OUT_B+OUT_C);
 }


*考察 [#m2d5ee70]
(1) まず第一に、ロボットアームを使用して文字を書くことにした。モーターを3つ利用し、上下左右と前後の動きをさせた。しかし、作成したアームでは直線を書くときに3つのモーターを同時に動かすため、プログラムが非常に複雑になり、組むのが難しくなってしまった。

(2) (1)によりアームのみは断念した。次に、車体をベースとした、ペンを前方に取り付け文字を書くロボットを作製した。しかし、実際にプログラムを組み動かしてみたところ、ペンをあげて方向転換したときにペンが回転の中心にないため終点と始点がずれてしまい、「戸」の「口」の部分が書けないことが判明した。

(3) (2)によりペンを車体の中央に移し、「戸」の文字を書けるようにした。実際に書いてみたが、直線が点線になってしまった。また、ペンを持つアームの部分が大きすぎ、車体のバランスが悪くなり走行に支障が出ると考えた。相談の結果改良の余地があるという結論になり、アームの部分を作り直すことが決まった。

(4) (3)の点線になる理由は車体のスピードにあると考え、車輪からキャタピラにかえた。また、車輪のときは直線が右に反れてしまっていたが、キャタピラに変えるとだいぶ良くなった。問題のアームの部分も下の写真のようにしてバランスをとった。

&ref(2007a/A3/課題1左/SN3300089.jpg,50%,ギアの詳細);
&ref(2007a/A3/課題1左/SN330091.jpg,50%,車体全体);

*反省点 、感想[#tb9795ad]
モーターAとCを前進、後退に使用し、モーターCをペンの上下運動に使用した。
*反省 、感想[#tb9795ad]
 (1)〜(3)段階の車体の様子を写真を使って示すことができなっかたので、過程の段階もわかりやすく示せるようにしたい。また、キャタピラを使うと速度が下がるが、その分ギアを大量に使うので、アームの部分を作るのが難しかった。これは、今後のためにも覚えておく必要があると思った。

今回はロボットアームをあきらめたが、もし、次に機会があればぜひ作ってみたい。

「戸」の「口」の部分を書き順通りにペンを離さず書きたかったが、回転する時に車体が揺れてしまいうまく繋がらなかった。なので、一度ペンをあげる作業が加わってしまった。


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