[[2009a]]


*目次 [#p341fe6b]
#contents
*課題1  お絵描きロボット[#jc6c908b]
相手の似顔絵を書くロボットの作成
*ロボット本体 [#g0d94c0f]
**ロボットの説明[#gcc04daa]
今回、私たちは突き刺し型ロボットを作りました。まず最初にできたのが下の写真です。
#ref(2009a/A7/課題1左/初号機.jpg,30%,試作品1号)
しかしギアがうまくかみ合わなかったり、小回りがあまり利かなかったので、改良しました。
工夫した点
最初キャタピラを使用していましたが、小回りや、止まりの良さなどを重視して車輪に変更しました。

**ロボットの基本構造[#q63d93c3]
#ref(2009a/A7/課題1左/CIMG0247.JPG,70%)
ロボットは縦にRCX本体をおき、ペンを一番上にあるモーターからの突き刺し型。そして、ペンの位置ができる限り回転の真ん中にいくようにと考えて4輪駆動の前輪をなるべく前にやり、バランスのとれた形を目指しました。
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        #ref(2009a/A7/課題1左/CIMG0238.JPG,50%)
     
***苦労した点 [#o708a5fb]

車輪がうまく噛み合ず、動き方がランダムでした。そしてその結果、プログラム通りにロボットの動きが実行されず、絵がなかなか思い通りにかけませんでした。そしてその問題を解決するために......
**ロボットのアーム[#za4922a8]
私たちは、ペンを片側に3個のギアをかませることで安定させました。また、先端の固定は、タイヤを支えるパーツとリンクをさせたこと、RCXの本体との間にパーツを一つ入れてあること、棒のパーツを使い、両サイドから圧迫することにより固定をしました。
***苦労した点 [#se1d4a6e]
最後に改良を加えるにあたり、ペンをできる限り回転の中心に近い位置に取り付けようと試み、3個目のモーターを高い位置にした結果、強度、パーツの数、ペンの安定などたくさんの課題を抱え、多少の強度と、形にこだわらない無理矢理なパーツの組み合わせにより、かろうじてペンの固定に成功しました
*プログラムについて[#qd74bf52]
**Fe2+のプログラム [#d97e2d07]
 #define fwd(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define rev(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define arev(t) OnRev(OUT_A);Wait(t);Off(OUT_A);
 #define crev(t) OnRev(OUT_C);Wait(t);Off(OUT_C);
 #define afwd(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);
 #define cfwd(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);
 #define circa(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);
 #define circb(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);
 #define pend OnFwd(OUT_B);Wait(15);Off(OUT_B);
 #define penu OnRev(OUT_B);Wait(12);Off(OUT_B);
私はまず髪の毛を書くために、輪郭にあわせて、ジグザグ に動くロボットを作る際に、ロボットの、微調整などが、大変でした。ジグザグに動く際にずれてしまい、微調整を繰り返しました。

 task main ()
 {
 penu;
 penu;
 afwd(350);//顔の輪郭
 afwd(350);
 pend;
 circa(170);
 fwd(30);
 penu;
 penu;
 afwd(250);
 fwd(20);
 repeat(10)//髪の毛
 repeat(10)
 {
 cfwd(40);
 rev(35);
 }
 pend;
 crev(200);//目
 crev(200);
 fwd(100);
 circa(120);
 fwd(30);
 penu;
 Wait(100);
 fwd(30);//口
 fwd(30);
 pend;
 Wait(100);
 fwd(30);
 pend;
 fwd(40);
 circa(200);
 fwd(25);
 penu;
 fwd(25);
 }

***工夫した点 [#z81f92bc]
**リナのプログラム [#naf9d9ef]
***工夫した点 [#p9d3b604]
輪郭をホームベース型にすることにより人間らしくし、髪も、輪郭を書くのではなく細かい動きで髪の毛を表現しました。
*コメント [#fed478b8]
コメントをどうぞ
- ロボットの説明を問題→対策の順にしている点が分かりやすいです。プログラムの説明はソースの合間に入れていった方がわかりやすくなると思います。 -- [[こさか]] &new{2009-05-21 (木) 22:48:56};
- プログラムは二つ必要です。 -- [[FI]] &new{2009-05-22 (金) 11:19:46};

#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS