2011a

課題の内容

A4の紙に相棒の似顔絵を書くロボットを作成せよ。

  • ひとりにつき一つ以上のプログラムを作成すること。
  • ペン以外はキットに含まれる部品を使うこと。
  • キットに付属の高価な輪ゴムは切れやすいので切れないように細心の注意を払うこと。
  • 改良や調整をしやすくするため、ロボット本体だけでなく、プログラムについても可能な部分についてはサブルーチンや関数、マクロなどを使って部品に分けること。

メンバー紹介

  • たま

 ロボットの紹介

 本体

7.jpg

土台をできるだけ小さくして動きを少なくしました。

3.jpg

RCXが重く、動いてる途中で後ろに倒れてしまうのでつっかいを作りました。

 アーム

12.jpg

ペンの取り外しにするためにエレベータの形で作ったのですが、しっかりと固定ができなかったのでタイヤを利用して上下に動くように作りました。

完成

1.jpg

2.jpg

 プログラム

  • たま
    #define down OnRev(OUT_B);Wait(25);Float(OUT_B); //ペンを下げる
    #define up OnFwd(OUT_B);Wait(15);Float(OUT_B); //ペンを上げる  
    #define left(lt) OnRev(OUT_A);OnFwd(OUT_C);Wait(lt);Off(OUT_A+OUT_C); //左曲がり
    #define right(rt) OnFwd(OUT_A);OnRev(OUT_C);Wait(rt);Off(OUT_A+OUT_C); //右曲がり
    #define go(gt) OnFwd(OUT_A+OUT_C);Wait(gt);Off(OUT_A+OUT_C); //前進
    #define back(bt) OnRev(OUT_A+OUT_C);Wait(bt);Off(OUT_A+OUT_C); //後退
    task main()
    {
    down;
    left(200);
    right(200);  //輪郭
    back(25);
    up;
    back(25);
    down;
    back(20);
    up;      //目
    left(50);
    go(20);
    right(50);
    down;
    go(40);     //口
    }
sub w()
{ Wait(20);
}
sub maru()  //丸を描く
{ OnFwd(OUT_A);
 OnRev(OUT_C);
 Wait(220);
 OnRev(OUT_A);
 OnFwd(OUT_C);
 Wait(220);
 Off(OUT_A+OUT_C);
}
sub kak() //左曲がり
{ OnRev(OUT_A);
 OnFwd(OUT_C);
 Wait(45);
 Off(OUT_A+OUT_C);
}
sub kak2()  //右曲がり
{ OnFwd(OUT_A);
 OnRev(OUT_C);
 Wait(45);
 Off(OUT_A+OUT_C);
}
sub kak3()  //左曲がり(kakより時間が長くてもっと曲がる)
{ OnRev(OUT_A);
 OnFwd(OUT_C);
 Wait(55);
 Off(OUT_A+OUT_C);
}
sub up()  //ぺーんを上がる
{ OnFwd(OUT_B);
 Wait(15);
 Off(OUT_B);
} 
sub down()  //ぺーんを下がる
{ OnRev(OUT_B);
 Wait(20);
 Off(OUT_B);
}
void go(int t)  //前に行く
{ OnFwd(OUT_A+OUT_C); Wait(t);
 Off(OUT_A+OUT_C); 
 Wait(20);
}
void back(int t)  //後ろに行く
{ OnRev(OUT_A+OUT_C); Wait(t); 
 Off(OUT_A+OUT_C);
 Wait(20);}
task main()
{ down();
  w();
  maru();   //顔
  w();
  back(75);   
  up();
  w(); 
  kak();
  w();
  go(10);  //前髪
  kak2();
  w();
  go(10);
  down();  //目
  w();
  go(20);
  up();  
  w();
  go(10);
  down();
  w();
  go(20);
  w();
  up();
  w();
  go(60);
  w();
  kak();
  w();
  go(15);
  w();
  kak3();
  w();
  down();  //口
  w();
  go(30);
  w();
  up();
}

似顔絵

  • たま

1_1.jpg

2_1.jpg 2_2.jpg

赤い線はペンが書いた線,青い線は動いた経路です。

 感想

tama

ペンの稼動部の固定に苦労したが何とか作ることができた。似顔絵の完成度があまりよくなかったので機会があったらまた挑戦したい。

最初は何を作ればいいか分からなくて時間がかかったんです。 エレベータ形式でやろうと思ったけど固定するところがなくて諦めたのが残念です。 パトーナのアイディアのおかげでタイヤに変えてうまくできてよかった。 また機会があればRCXを動いて中心を正確に当てたい。

 コメントをお願いします

  • サブルーチンなどの名前は多少長くなっても分かりやすい名前にしましょう。 -- 松本 2011-05-27 (金) 10:29:32


添付ファイル: file2_2.jpg 178件 [詳細] file2_1.jpg 158件 [詳細] file12.jpg 165件 [詳細] file9.jpg 91件 [詳細] file7.jpg 180件 [詳細] file3.jpg 167件 [詳細] file1_1.jpg 167件 [詳細] file2.jpg 168件 [詳細] file1.jpg 171件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-05-27 (金) 10:29:32 (3006d)