- 追加された行はこの色です。
- 削除された行はこの色です。
[[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]
プログラムに説明を書いてください。他のグループを参考にしてみてください。