[[2008a/MemberOnly/進行状況A]] *目次 [#p7316d32] #contents *課題 [#v8c3ecf3] レゴマインドストームを使って、人!?の顔を書く!! *ロボット [#j463e2f9] **写真 [#n6c2ec10] #ref(2008a/A8/課題1右/114.jpg) 斜め前から(タッチセンサーは関係ないものである) #ref(2008a/A8/課題1右/112.jpg) 真横から。非常にコンパクトである。 #ref(2008a/A8/課題1右/115.jpg) シンプルに、かつ丈夫で小回りが利くコンパクトな仕上がりとなった。 #ref(2008a/A8/課題1右/113.jpg) アームは、間にペンを差し込めば、完全にホールドできる。 *プログラム [#f7585ae3] /* This program makes robot draw face*/ #define Go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); #define Go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); #define Turn_right(t) OnFrd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); #define Turn_left(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C); #define U_turn OnFwd(OUT_A);OnRev(OUT_C);Wait(200);Off(OUT_A+OUT_C); #define Pen_up OnRev(OUT_B);Wait(15);Off(OUT_B); #define Pen_down OnFwd(OUT_B);Wait(15);Off(OUT_B); #define Stop_Time 20 task main() { SetPower(OUT_A+OUT_C,4); OnFwd(OUT_A); /*Outline of face*/ OnRev(OUT_C); Wait(400); Off(OUT_A+OUT_C); Wait(Stop_Time); repeat(2) /*Eyebrow*/ { Pen_up; Go_back(30); Pen_down; Go_back(30) } Pen_up; /*Eye*/ Go_straight(55); Turn_left; Pen_down;/*Right eye*/ Go_straight(20); Pen_up; Go_back(20); Turn_right; Go_straight(30); Turn_left; Pen_down; /*Left eye*/ Go_straight(20); Pen_up; Go_straight(20); Turn_left; Go_straight(35); /*Mouth*/ Off(OUT_A+OUT_B+OUT_C); } *プログラムの解説 [#x58ebcbf] 1;まず輪郭を書かせる。(円) 2;そこから眉毛を書く。 3;眉毛の途中まで戻って、左に90度回転し、目をかく。 4;最後に口の位置まで動き、口をかく。 *工夫した点 [#ue3d52f4] ペンを完全に固定できるようにアームを工夫した。それから、ロボットのほうはシンプルだが頑丈に作った。 *苦労した点 [#ae80edd9] プログラムを作ったロボットにあわせるのが大変。 *失敗した点 [#oaf7aceb] タイヤが前輪後輪とも大きく、摩擦によって、回転がうまくいかない。 よって前後の幅を短くしタイヤも小さくし、小回りができるようにした。 さらに四輪駆動にすることによって、滝機動性を確保できた。 *感想 [#l438e9fe] 関数を理解することができない。この先がかなり不安だ。 ロボティクスの授業はかなり奥が深いが、それなりに時間が確保できないと、なかなかうまくできない。 *その他 [#w558af0f] プログラムに説明を書いてください。他のグループを参考にしてみてください。