[[2010a/A5R]] #contents *課題 似顔絵ロボット [#v78eaf46] **目標 [#rf0f9e08] コンパクトなロボットを目指す **ロボットの外観 [#veec9196] **Andoのプログラム [#w942b217] #define tt 48 //90°(基準値) #define ct 54 //ターンの位置調整時間 sub pon() //ペン接地 { OnFwd(OUT_B);Wait(100); Off(OUT_B); } sub poff() //ペン上げ { OnRev(OUT_B);Wait(150); Off(OUT_B); } void left(int t) { OnRev(OUT_A); OnFwd(OUT_C); Wait(t); Off(OUT_A+OUT_C); } void right(int t) { OnFwd(OUT_A); OnRev(OUT_C); Wait(t); Off(OUT_A+OUT_C); } void go(int t) { OnFwd(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C); } void back(int t) { OnRev(OUT_A+OUT_C);Wait(t); Off(OUT_A+OUT_C); } void adj() //位置調整 { poff(); go(ct); } void goon(int t) //描画前進 { back(ct); pon(); go(t); } sub jigzag() //ジグザグ走行 { OnFwd(OUT_A);Wait(30);Off(OUT_A); OnFwd(OUT_C);Wait(30);Off(OUT_C); } task main() { //輪郭 goon(100); adj(); left(tt); goon(80); adj(); left(tt); goon(100); //目 poff(); go(20); left(tt); //back(10); goon(80); adj(); right(tt/3*5);//150° goon(30); adj(); right(tt/3*2);//60° goon(30); adj(); left(tt/3*2);//60° goon(30); adj(); right(tt/3*2);//60° goon(30); adj(); right(tt/3*2);//60° //口 right(25); go(60); right(tt); goon(40); adj(); go(20); right(tt+10); go(40+ct); right(tt); back(ct); //髪 pon(); repeat(3) { jigzag(); } //終わり //poff(); //back(150); } ***完成した絵 [#kfc08ed1] &br;&ref(Kpict.JPG); **のプログラム [#g9932b71] ***完成した絵 [#sc267817] &br;&ref(Dpict.JPG); **問題点&工夫したところ [#de6856bc] 後輪をよく動くようにした。機動力が上がった。 棒を押し出してアームをあげるの仕組みにしたら、上げ幅がとても小さくなった。 ***感想 [#m6597424] 思いのほか大変だった。ロボットが握りが弱い寿司のように崩れる場面があって、 メンテナンスの事も考えて作る必要があると感じた。うまくいくときいかないときがあるので確実性も必要だと思った。(Ando) ***コメントをどうぞ [#tf7e2aff] #comment