習字ロボ ”大将”

命名理由:不明

・1代目:筆を上げ下げする際のタイミングがシビアで却下

・2代目:バランスが悪すぎて全長が50cmほどになり、さらに走ることで自己崩壊

と、これまでの経験により安定感を増すために、タイヤをやめキャタピラを採用することにしました。

更に、二代目では本体を縦にして後方に設置したため、かなりの後ろ体重になってしまった。それを教訓に今度は横に置いてみました。左右でのバランスが気になるがキャタピラは横幅が結構あるので横転はないだろうと思います。

大将

苦労したところ

3代目は、本体の構成を基本から全て崩して1から作り直しました。ただしキャタビラは本に載っているものをそのまま利用。 真ん中に下ろしたかったので、中心に来るように調節しましたが、最終的には少しずれてしまいました。

工夫したところ

下の図のように、ペンを上げ下げするためのギアを二列にし、安定化を狙いました。

この形体自体は2代目のときに完成していましたが、一つのギアで支えていたため不安定だったので、今回の形にしました。

ペン上げ機構

プログラム

『丘』を書く!

task main()

{

 OnFwd(OUT_B);
 Wait(6);        //ペンを下げる

 OnFwd(OUT_A+OUT_C);
 Wait(90);       //一画目
 
 OnRev(OUT_B);
 Wait(6);        //ペンを上げる
 
 
 OnFwd(OUT_C);
 OnRev(OUT_A);
 Wait(50);       //左に旋回

 OnFwd(OUT_B);
 Wait(6);    //ペンを下げる
 
 OnFwd(OUT_A+OUT_C);
 Wait(100);   //2画目
 
 OnRev(OUT_B);
 Wait(6);        //ペンを上げる
 
 OnRev(OUT_A+OUT_C);
 Wait(100);      //同じ距離を戻る
 
 
 OnFwd(OUT_C);
 OnRev(OUT_A);
 Wait(200);   //90°回転
 
 OnFwd(OUT_B);
 Wait(6);    //ペンを下げる
 
 
 OnFwd(OUT_A+OUT_C);
 Wait(100);   //3画目
 
 OnRev(OUT_B);
 Wait(6);        //ペンを上げる
 
 OnRev(OUT_A+OUT_C);
 Wait(30);    //少し下がる
 
 OnFwd(OUT_A);
 OnRev(OUT_C);
 Wait(200);   //90°回転
 
 OnFwd(OUT_A+OUT_C);
 Wait(10);    //ずれ修正のための前進
 
 OnFwd(OUT_B);
 Wait(6);    //ペンを下げる
 
 OnFwd(OUT_A+OUT_C);
 Wait(90);    //4画目
 
 OnRev(OUT_B);
 Wait(6);    //ペンを上げる
 
 OnRev(OUT_A+OUT_C);
 Wait(10);    //ずれ修正のための後退
 
 OnFwd(OUT_C);
 OnRev(OUT_A);
 Wait(206);   //90°回転、少しずれるための補正
 
 OnRev(OUT_A+OUT_C);
 Wait(125);   //5画目のための移動
 
 OnFwd(OUT_B);
 Wait(6);    //ペンを下げる
 
 OnFwd(OUT_A+OUT_C);
 Wait(180);   //5画目
 
 OnRev(OUT_B);
 Wait(6);    //ペンを上げる
 
 Float(OUT_A+OUT_C);  //静止
 }

苦労したところ

苦労したといえば、繰り返しとか、簡略化できそうなところもそのままやってしまったために、プログラムが長くなってしまったこと。次のプログラムではもっと簡略化を図りたいと思います。

『木』を書く!

task main()
{


OnFwd(OUT_B);

Wait(6);                                      //ペンを下げる

OnFwd(OUT_A+OUT_C);

Wait(110);                                  //一画目


OnRev(OUT_B);
Wait(6);                                      //ペンを上げる



OnRev(OUT_A+OUT_C);
Wait(55);
                                                 //移動


OnFwd(OUT_A);
OnRev(OUT_C);

Wait(200);                                 //旋回





OnRev(OUT_A+OUT_C);
Wait(50);                                    //移動


OnFwd(OUT_B);

Wait(6);                                       //ペンを下げる


OnFwd(OUT_A+OUT_C);

Wait(180);                                   //二画目


OnRev(OUT_B);
Wait(6);                                        //ペンを上げる


OnRev(OUT_A+OUT_C);

Wait(100);                                    //移動



OnFwd(OUT_A); OnRev(OUT_C);

Wait(90);                             //旋回


OnFwd(OUT_B);

Wait(6);                                  //ペンを下げる


OnFwd(OUT_A+OUT_C);Wait(140);      //三画目


OnRev(OUT_B);

Wait(5);                                         //ペンを上げる


OnRev(OUT_A+OUT_C);

Wait(130);                                     //移動



OnRev(OUT_A);OnFwd(OUT_C);

Wait(180);                                     //旋回




OnFwd(OUT_B);

Wait(6);                             //ペンを下げる


OnFwd(OUT_A+OUT_C);
Wait(140);                 //四画目


OnRev(OUT_B);

Wait(6);                          //ペンを上げる


Float(OUT_A+OUT_C);                  //終了

}

苦労したところ

まず最初に苦労したのはペンの上げ下げです。

あまり時間が長過ぎると巻き込んで崩壊する恐れがあるのでWait(1)から調整していくことにしました。

また角度の調整はキリのいい数字で偶然ですがなかなかうまくいきました。

そしてもっとも難しかったのは真ん中の線が集まるところです。

というより今でも運がよくないと線がズレます。ここはもう少し改良したいところです。

サブルーチンを使うほど繰り返し使うものはなかったので、使用はしていません。

まとめ

二人の時間があまり合わなかったため完成がかなりギリギリになってしまいましたが、それでも最終的に完成したものは自分の中ではよかったと思います。

プログラミングが少し雑だったかもしれないので、直したいと思いました。

難しかったですが、自分の作ったプログラムでちゃんと文字を書いたのを見てに感動してしまいました。

コメントをどうぞ

  • もう少し頑張ってください。 -- ヒロヤ? 2007-05-24 (木) 00:25:09
  • 『丘』プログラムの説明もあるとさらに良いでしょう。 -- ヒロヤ? 2007-06-06 (水) 21:44:03


添付ファイル: filecimg0249_Medium.jpg 199件 [詳細] fileImage048.jpg 232件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-06-21 (木) 13:21:14