2009a/A10/課題1右

目次

課題 似顔絵の作成

これが完成した似顔絵ロボットです

正面から見た図

2009052119080000.JPG

背面から見た図

2009052119170001.JPG

ロボットの制作

基礎設計

メンバーで検討し、ドライブベースは練習で用いた基本的な構造にしようということに決まった。似顔絵を書くうえでペンが車輪の中心を結んだラインの半分にあればよいという意見を採用することになり、ペンを車体の真ん中にセットすることにした。

2009052119320000.JPG

真ん中にある青いパーツと黒いバーはペンを真ん中で支えるためのもので、ペンのぶれを極限まで小さくすることに成功した。

2009052119320001.JPG
2009052119330000.JPG

車輪設計

練習用の基本構造には4輪・キャタピラ・足という3つがあったが、小回りが効き旋回が楽であるという理由から、2輪構造でロボットを製作することに決定した。

2009052119200000.JPG

 2輪には夢がある!!

2009052119270000.JPG

ガッチリした構造でタイヤはブレない!!

2009052119270001.JPG

工夫した点

1.タイヤを直接モーターに接続して試運転をしたところ、あまりにも速度が速すぎ、これでは速すぎて書くことができないという判断になり、ギア比の工夫を行い速度を落とした。

2009052119210000.JPG

2.2輪構造にしたため、どのようにして安定感を得るかというのが問題となり、それを工夫するための工夫をした。

2009052119200001.JPG

 補強材として黒のブロックで支えるだけだと、ガタガタと鳴り安定感にかけたため、ギアをブロックにつけたところ安定感が抜群に増して問題無くなった。  ギアの固定が重要!!

2009052119200002.JPG

3.真ん中にペンを固定するためにペンをどう支え、行動時にいかにブレなくするかという工夫。 縦横斜め、どの方向に行動しようとも絶対にペンがブレない!!

2009052119310000.JPG

 見よ!この華麗なる一直線!安定感抜群!!

2009052119310001.JPG

 青い○穴があるパーツで前後をカバーし、黒いバーで左右のブレをカバーしている。

2009052119280001.JPG

 ペン接続部。

2009052119240000.JPG

4.ペンの固定法。

2009052119290000.JPG

 上で述べたように3点でペンを固定することにし、ペンの固定具自体にギア動作部を接続することで常に紙に垂直に書けるようになった。

2009052119290001.JPG

プログラム一覧

丸山のプログラム

#define go(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//前身
#define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//後退
#define right(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);//右回転
#define left(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);//左回転
#define Bdn OnFwd(OUT_B);Wait(12);Off(OUT_B);Wait(100);//ペンを下げる
#define Bup OnRev(OUT_B);Wait(12);Off(OUT_B);Wait(100);//ペンを上げる
#define DCa(t) repeat(t) {OnFwd(OUT_A+OUT_C);Wait(1);Off(OUT_C);Wait(5);}Off(OUT_A+OUT_C);//円の描写(大)
#define DCb(t) repeat(t) {OnRev(OUT_A+OUT_C);Wait(1);Off(OUT_C);Wait(10);}Off(OUT_A+OUT_C);//円の描写(小)
task main () {
Bdn;DCa(90);Bup;//輪郭の描写
left(35);go(28);right(21);//口への移動
Bdn;DCb(8);Bup;//口の描写
right(36);back(45);right(60);//右目への移動
Bdn;back(18);right(36);back(18);Bup;//右目の描写
left(18);back(15);left(18);//左目への移動
Bdn;back(18);right(36);back(18);Bup;//左目の描写
left(40);go(50);left(25);//鼻への移動
Bdn;go(25);right(45);back(20);right(45);go(25);Bup//鼻の描写
left(18);go(60);right(30);//髪への移動
Bdn;repeat(6) {go(30);left(15);back(40);right(15);}Bup;//髪の描写
}

完成した似顔絵

face.jpg 左が実際に書かれた顔。 face2.jpg マジックでなぞると 左のようになる。

高橋のプログラム

 僕等の似顔絵ロボットはAに接続したのモーターが右のタイヤを、Bのモーターがペンを、Cに接続したモーターが左のタイヤを動かす設計になっています。

今回のプログラムで使用したマクロ

#define set SetPower(OUT_A+OUT_C,3);SetPower(OUT_B,1)//車輪とペンのモーターの出力設定
#define gomae(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//100分のt秒前進するマクロ
#define r(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);//100分のt秒右旋回するマクロ
#define l(t) OnRev(OUT_C);OnFwd(OUT_A);Wait(t);Off(OUT_A+OUT_C);//100分のt秒左旋回するマクロ

 今回はシャープペンシルを用いたためペン下げのプログラムにはOffの定義がなく、常に下方向に力が加わり比較的濃く書けるようになっている

#define bdown OnFwd(OUT_B);Wait(20);//ペン下げ
#define bup OnRev(OUT_B);Wait(15);Off(OUT_B);ペン上げ

ここからが行動のプログラム

出力固定とペン下げ

task main (){set;bdown;Wait(5);//これにより筆圧が上がる
repeat(18){OnFwd(OUT_A+OUT_C);Wait(3);Off(OUT_C);Wait(18);}gomae(20);//輪郭の描写
repeat(18){OnFwd(OUT_A+OUT_C);Wait(3);Off(OUT_C);Wait(18);}gomae(20);
l(40);gomae(10);bdown;repeat(15){OnFwd(OUT_A+OUT_C);Wait(5);OnRev(OUT_C);Wait(6);}//眼鏡の描写
l(60);gomae(10);bdown;repeat(15){OnFwd(OUT_A+OUT_C);Wait(5);OnRev(OUT_C);Wait(6);}
bup;gomae(10);l(140);//目の描写
gomae(35);bdown;gomae(20);bup;gomae(12);bdown;gomae(32);bup;gomae(12);bdown;gomae(20);bup;gomae(20);
l(180);gomae(10);bdown;repeat(15){OnFwd(OUT_A+OUT_C);Wait(5);OnRev(OUT_C);Wait(6);}//眼鏡の描写
l(60);gomae(10);bdown;repeat(15){OnFwd(OUT_A+OUT_C);Wait(5);OnRev(OUT_C);Wait(6);}
l(150);gomae(60);r(90);bdown;gomae(20);l(20);bdown;gomae(15);//鼻の描写
r(20);gomae(30);l(100);bdown;//口の描写
repeat(12){OnFwd(OUT_A+OUT_C);Wait(4);OnRev(OUT_C);Wait(6);}
repeat(2){OnFwd(OUT_A+OUT_C);Wait(4);OnRev(OUT_A);Wait(6);}
l(80);gomae(150);l(120);//髪の描写
repeat(4){l(180);bdown;gomae(30);r(180);bdown;gomae(30);}
Off(OUT_A+OUT_B+OUT_C);//終了
}

完成した似顔絵

2009052119040000.JPG

シャープペンシルで書いたため薄いですがご了承ください。

2009052119060000.JPG

橋本のプログラム

#define go(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//前進
#define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//後退
#define right(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);//右に旋回
#define left(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);//左に旋回
#define Bdn OnFwd(OUT_B); Wait(16);Off(OUT_B);//ぺんを降ろす
#define Bup OnRev(OUT_B); Wait(16); Off(OUT_B);//ぺんを上げる
#define DC(t) repeat(t) {OnFwd(OUT_A+OUT_C);Wait(1); Off(OUT_C); Wait(10) ; }Off(OUT_A+OUT_C)円を描く
task main ()  {
Bdn ; DC(52); Bup;//輪郭を描く
Wait(50);
left(60); Bdn;go(25);Bup;//左目を描く 
Wait(50);
go(25);
Wait(50);
Bdn;go(25);Bup;//右目を描く
Wait(50);
right(35);
Wait(50);
back(40);
Wait(50);
Bdn;repeat(25) {OnFwd(OUT_A);Wait(6);OnRev(OUT_C);Wait(6);}Off(OUT_A+OUT_C);//口を描く
}

完成した似顔絵

感想

丸山:時間がなく細かい調整ができなかったのが残念でした。プログラミングの基本が覚えられてよかったです。

高橋:時間がなく期限日の木曜日はほぼ一日パソコンに触っていました。プログラミングを考えるのは楽しかったが、マクロの使用による行動時間設定を細かくするのが大変で、空き時間丸一日を使っても足りなかった。今度は安定した行動をする、プログラムとロボットを作りたい。

橋本:あまり時間を割くことができずちょっとシンプルな顔になっちゃったけど、 無事に似顔絵ができてよかったです。今度作るときはもっと複雑な、より似顔絵らしく描きたいと思います。

コメントお願いします

  • マクロを使えているのは良いと思います。ロボットの説明には写真や図を使った方がわかりやすいと思います。 -- FI? 2009-05-21 (木) 19:30:17
  • たった今全ての作業を終了致しました。氷菓の -- 製作者T? 2009-05-21 (木) 19:37:13
  • 失礼しました。評価のほどよろしくお願いします。 -- 制作者T? 2009-05-21 (木) 19:38:07
  • ロボットの製作過程がアツく詳しく素晴らしいです。ただプログラムの説明はちょっと寂しいです。似顔絵を似せるためにどこを工夫したのか、そしてそれはプログラムのどこかまで書けるとより良くなると思います。 -- こさか? 2009-05-21 (木) 23:01:54
  • 後からマジックでなぞらなくても、はっきりと線が描けるように工夫してください。 -- 松本 2009-05-22 (金) 11:04:33
  • ロボットの説明はとても良いと思います。後は、プログラムの説明を充実させてください より優れたレポートにするには、深くなりそうなポイントはどんどん切り込んでください。例えば、ギア比を工夫したとありますが具体的にはどうしたのかとか今のロボットの問題点とその解決策など、これには限りませんがいろいろあると思います-- FI? 2009-06-05 (金) 10:16:28


添付ファイル: fileaiueo.bmp 137件 [詳細] filehi3f0060.bmp 284件 [詳細] filehi3f0059.bmp 102件 [詳細] file2009052119330000.JPG 207件 [詳細] file2009052119320001.JPG 231件 [詳細] file2009052119320000.JPG 236件 [詳細] file2009052119310001.JPG 215件 [詳細] file2009052119310000.JPG 243件 [詳細] file2009052119290001.JPG 220件 [詳細] file2009052119290000.JPG 240件 [詳細] file2009052119280001.JPG 193件 [詳細] file2009052119280000.JPG 109件 [詳細] file2009052119270001.JPG 219件 [詳細] file2009052119270000.JPG 218件 [詳細] file2009052119250000.JPG 117件 [詳細] file2009052119240001.JPG 112件 [詳細] file2009052119240000.JPG 240件 [詳細] file2009052119210000.JPG 206件 [詳細] file2009052119200002.JPG 209件 [詳細] file2009052119200001.JPG 225件 [詳細] file2009052119200000.JPG 197件 [詳細] file2009052119190000.JPG 115件 [詳細] file2009052119180001.JPG 116件 [詳細] file2009052119180000.JPG 111件 [詳細] file2009052119170001.JPG 209件 [詳細] file2009052119170000.JPG 110件 [詳細] file2009052119090002.JPG 110件 [詳細] file2009052119090001.JPG 129件 [詳細] file2009052119090000.JPG 111件 [詳細] file2009052119080002.JPG 116件 [詳細] file2009052119080001.JPG 110件 [詳細] file2009052119080000.JPG 210件 [詳細] file2009052119070001.JPG 106件 [詳細] file2009052119070000.JPG 106件 [詳細] file2009052119060000.JPG 226件 [詳細] file2009052119040000.JPG 223件 [詳細] fileface2.jpg 219件 [詳細] fileface.jpg 216件 [詳細] file857fe79a-7e14-11dc-b234-775eb99e99a1.jpg 109件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-26 (金) 18:05:14 (3706d)