[[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]

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