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);//口を描く
}

完成した似顔絵

感想

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

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

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

コメントお願いします



添付ファイル: fileaiueo.bmp 185件 [詳細] filehi3f0060.bmp 392件 [詳細] filehi3f0059.bmp 158件 [詳細] file2009052119330000.JPG 336件 [詳細] file2009052119320001.JPG 337件 [詳細] file2009052119320000.JPG 371件 [詳細] file2009052119310001.JPG 350件 [詳細] file2009052119310000.JPG 349件 [詳細] file2009052119290001.JPG 323件 [詳細] file2009052119290000.JPG 334件 [詳細] file2009052119280001.JPG 268件 [詳細] file2009052119280000.JPG 132件 [詳細] file2009052119270001.JPG 314件 [詳細] file2009052119270000.JPG 290件 [詳細] file2009052119250000.JPG 146件 [詳細] file2009052119240001.JPG 164件 [詳細] file2009052119240000.JPG 341件 [詳細] file2009052119210000.JPG 311件 [詳細] file2009052119200002.JPG 299件 [詳細] file2009052119200001.JPG 338件 [詳細] file2009052119200000.JPG 317件 [詳細] file2009052119190000.JPG 148件 [詳細] file2009052119180001.JPG 169件 [詳細] file2009052119180000.JPG 145件 [詳細] file2009052119170001.JPG 311件 [詳細] file2009052119170000.JPG 141件 [詳細] file2009052119090002.JPG 138件 [詳細] file2009052119090001.JPG 156件 [詳細] file2009052119090000.JPG 131件 [詳細] file2009052119080002.JPG 153件 [詳細] file2009052119080001.JPG 147件 [詳細] file2009052119080000.JPG 308件 [詳細] file2009052119070001.JPG 131件 [詳細] file2009052119070000.JPG 125件 [詳細] file2009052119060000.JPG 337件 [詳細] file2009052119040000.JPG 319件 [詳細] fileface2.jpg 293件 [詳細] fileface.jpg 291件 [詳細] file857fe79a-7e14-11dc-b234-775eb99e99a1.jpg 149件 [詳細]

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