2009b

課題 

ロボット、プログラムを工夫して、グループの人の似顔絵を描こう。

メンバー

SHIMA  ゆうたろう☆  NISHI

ロボット概要

製作

当初は、キャタピラを使っていました。そして、僕たちは気づいた…

僕たちの方針じゃあキャタピラは使えないということに。紙の上を進むタイプだと、紙を

巻き込んで全く描けないのですorz

2000.jpg

失敗を生かして、タイヤに変更しました〜〜!

現在は、こんな感じです。

6000.jpg

  ↑前

aaaa.jpg

  ↑後ろ

タイヤは、MIND STORMS の組み方を参考にしました。

ペンの仕組みは単純で、ギアに直接つなげたアームにペンを固定して、ギアの回転によりペンを上げ下げさせます。(上の図は、ペンをあげた状態です。) アームは、ギアで動作を遅くしたのと、稼動したとき下がらないようにペンの固定部分をかるくしました。

また、後ろのゴタゴタした配線は、短い配線の調子が悪かったため、長い配線を使用し束ねたためです。

プログラム

大体の構図はできても、直進や回転の微調整が難しかったです。

以下に、各々の最終的なプログラムをアップします。

SHIMA.ver

#define p 10
task main()
{
 
 //face line start
        OnFwd(OUT_B);        //down a pen
        Wait(p);
        Off(OUT_B); 
        OnRev(OUT_C);        //face line (a big circle)
        Wait(1200);
        OnRev(OUT_B);        //up a pen
        Wait(p);
        Off(OUT_B+OUT_C);
 //face line end
 
 //nose start  
       OnRev(OUT_A);        //turn-right (a 90 degree)
        Wait(100);
        Off(OUT_A);
        OnFwd(OUT_A+OUT_C);  //go front
        Wait(15);
        Off(OUT_A+OUT_C);
        OnFwd(OUT_B);        //down a pen
        Wait(p);
        Off(OUT_B);
        OnFwd(OUT_A+OUT_C);  //go front
        Wait(30);
        Off(OUT_A+OUT_C);
        OnRev(OUT_B);        //up a pen
        Wait(p);
        Off(OUT_B);
 //nose end
 
 //mouth start
       OnFwd(OUT_A+OUT_C);  //go front
        Wait(15);
        Off(OUT_A+OUT_C);
        OnFwd(OUT_B);        //down a pen
        Wait(p);
        Off(OUT_B);
        OnRev(OUT_C);        //turn-left (a 90 degree)
        Wait(100);
        Off(OUT_C);
        OnRev(OUT_B);        //up a pen
        Wait(p);
        Off(OUT_B);
        OnRev(OUT_C);        //turn-left (a 90 degree)
        Wait(100);
        Off(OUT_C);
        OnFwd(OUT_A+OUT_C);  //go front
        Wait(70);
        Off(OUT_A+OUT_C);
 //mouth end
 
 //right eye start  
        OnRev(OUT_C);        //turn-left
        Wait(120);
        Off(OUT_C);
        OnRev(OUT_A+OUT_C);  //go back
        Wait(50);
        Off(OUT_A+OUT_C);
        OnFwd(OUT_B);        //down a pen
        Wait(p);
        Off(OUT_B);
        OnRev(OUT_A+OUT_C);  //go back
        Wait(30);
        Off(OUT_A+OUT_C);
        OnRev(OUT_B);        //up a pen
        Wait(p);
        Off(OUT_B);
 //right eye end
 
 //left eye start
        OnRev(OUT_A+OUT_C);  //go back
        Wait(30);
        OnFwd(OUT_B);        //down a pen
        Wait(p);
        Off(OUT_B);
        OnRev(OUT_A+OUT_C);  //go back
        Wait(30);
        Off(OUT_A+OUT_C);
        OnRev(OUT_B);        //up a pen
        Wait(p);
        Off(OUT_B);
 //left eye end
 }

僕(SHIMA)の作品です。↓

no1.jpg

↑右目が輪郭の外にはみ出してしまいました。

そして、口と鼻が近すぎました。

no2.jpg

↑よく見ると、こんな見方もできます。

ニコちゃんマークがよだれを垂らしています。

NISHI.ver

 void lift(){                                 // ude wo ageru
    OnRev(OUT_B); Wait(16); 
    Off(OUT_B); }
void down(){                            // ude wo sageru
     OnFwd(OUT_B); Wait(16);
     Off(OUT_B); }
void turn_left(int t){             // sasetu
     OnRev(OUT_A); OnFwd(OUT_C); Wait(t);
     Float(OUT_A+OUT_C); }
void turn_right(int t){           // usetu
      OnRev(OUT_C); OnFwd(OUT_A); Wait(t);
      Float(OUT_A+OUT_C); }
void  go_straight(int t){       // tyokusin
      OnFwd(OUT_A+OUT_C); Wait(t);
      Float(OUT_A+OUT_C); }
void go_back(int t){              // koutai
      OnRev(OUT_A+OUT_C); Wait(t);
      Float(OUT_A+OUT_C); }

task main(){
      go_straight(30); lift();        // me wo kaku
      go_straight(15); down(); 
      go_straight(30); lift();
      turn_right(89); go_straight(10); 
      turn_right(89); go_straight(34);
       
      turn_left(90); go_straight(12);   // hana kuti wo kaku
      down(); go_straight(20); lift();
      go_straight(47); turn_right(89); 
      down(); go_back(35); go_straight(30); 
      lift();
       
      turn_right(45); go_straight(116);     // rinkaku wo kaku
      turn_left(134); down(); go_straight(90); 
      lift(); go_straight(10); 
      turn_left(89); down(); go_straight(87);
      lift(); go_straight(10); 
      turn_left(89); down(); go_straight(95); 
      turn_left(90);                              // maegami wo kaku
repeat(5){
      OnFwd(OUT_C); Wait(20); Off(OUT_C); 
      OnFwd(OUT_A); Wait(20); Off(OUT_A); }
      lift(); 
}

このプログラムだと、目、鼻、口まではうまく描けるのですが、輪郭が途中から歪んでしまいました。

目、鼻あたりと同じ角度で設定しましたが、設定を変えるべきでした。

2.jpg

↑なんかゆる〜いブラック・○ックっぽいかも?

ちなみに これSHIMA(のつもり)です。

ゆうたろう☆.ver

#define pen_up OnRev(OUT_B);SetPower(OUT_B,2);Wait(40);Off(OUT_B); //ペン上げる
#define pen_down OnFwd(OUT_B);SetPower(OUT_B,2);Wait(40);Off(OUT_B); //ペン下げる 
#define turn_right OnFwd(OUT_A);OnRev(OUT_C); //右に向く
#define turn_left OnFwd(OUT_C);OnRev(OUT_A); //左に向く
#define stop_wheel Off(OUT_A+OUT_C); //止まる
task main()
{
pen_down;
OnFwd(OUT_A);
Wait(1000);
stop_wheel;
pen_up;      //輪郭を描く

OnFwd(OUT_A+OUT_C);
Wait(35);
Float(OUT_A+OUT_C);

turn_right;
Wait(95);
stop_wheel;

OnRev(OUT_A+OUT_C);
Wait(60);
stop_wheel;

pen_down;
OnFwd(OUT_A+OUT_C);
Wait(150);
Float(OUT_A+OUT_C);
pen_up;        //帽子を描く

turn_right;
Wait(150);
stop_wheel; 

OnRev(OUT_A+OUT_C);
Wait(20);
stop_wheel; 

pen_down;
OnFwd(OUT_A+OUT_C);
Wait(30);
stop_wheel;
pen_up;        //左目を描く

OnFwd(OUT_A+OUT_C);
Wait(40);
stop_wheel; 

turn_right;
Wait(56);
stop_wheel; 

pen_down;
OnFwd(OUT_A+OUT_C);
Wait(25);
Off(OUT_A+OUT_C);
pen_up;         //右目を描く 

turn_left;
Wait(150);
stop_wheel;

OnFwd(OUT_A+OUT_C);
Wait(65);
stop_wheel;

turn_left;
Wait(60);
stop_wheel;

OnRev(OUT_A+OUT_C);
Wait(80);
stop_wheel;

pen_down;
OnFwd(OUT_A+OUT_C);
Wait(30);
stop_wheel;
pen_up;           //口を描く
}

僕がプログラムを入力してる最中、西尾君は帽子をかぶってたので帽子を描きました。 鼻がない?なに、気にすることはない。クリリンだって鼻はないじゃない。 気にすることはない。

911.jpg

感想

  SHIMA :時間との格闘の末、7割ぐらいうまくいったと思います。まだ、手直しが必要な部分があり、改善の余地が必要です。時間の調節が、かなり難しかったです。プログラミングもまだ簡単にできると思うので、試行錯誤したいと思います。 最後に、キャタピラは、お勧めできません。(紙を巻き込むため)なので、皆さんお気をつけ下さい。

NISHI :タイヤでは動作が早すぎて、微調整が難し過ぎました。その点ではキャタピラは最高でした。

ロボットとプログラムのバランスが重要だと学びました。

ゆうたろう☆ :本当は笑い男が描きたかったんDA。点数をつけるなら50点くらいなんDA。あと、キャタピラは罠です。

まだタイヤに変えた後の写真が貼れてなかったり、プログラムに説明がなかったりと終わってないと判断したので、評価はしていません。 FI

写真等はまた補完していただくとして、言葉の説明が少し少なすぎます。ロボットについても、外見だけでなく、どこを工夫したかという点を説明してください。それから、プログラムの中に、コメントとして説明を入れてみてください。ページの見た目を見やすくするためにも、ソースは半角空白ではじめて整形済みテキストにするなどを徹底してください。他の点も、整形ルールを参考して直してみてください。 こさか(KA)

ページの整形ができて、格段に見やすくなりましたね!ロボットの説明については、言葉の説明だけでは少し分かりづらい点(例えばペンまわり)の写真もあった方がいいかと思います。プログラムのコメントには日本語の文字や文章を使っていただいてかまいません(もちろん、英語でもいいですが、私は苦手です。笑)。プログラムの説明をもう少し詳しくするとわかりやすいです。例えば、一口に「目を描く」といっても、目の位置に移動する、どんな線を描く(直線、曲線等)というように色々あります。それから、コメントフォームをつけていただけると、こちらとしては楽でいいです。 こさか

ロボットの説明に関しては、こさかさんの言うとおり、ペンの上げ下げの写真や図があった方がいいです。工夫した点や構造・機能がわかりにくい点は焦点をあてて説明していきましょう。また、一人目のプログラムはサブルーチンや関数を使った方がすっきりすると思います。 FI


添付ファイル: file911.jpg 197件 [詳細] fileno2.jpg 214件 [詳細] fileno1.jpg 203件 [詳細] fileno.2.jpg 122件 [詳細] file2.jpg 211件 [詳細] fileaaaa.jpg 223件 [詳細] file2009.jpg 132件 [詳細] file6000.jpg 215件 [詳細] file2000.jpg 212件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-20 (金) 08:10:35