[[2008b/MemberOnly/進行状況A]]

*課題 [#r537baf2]
似顔絵ロボットの作成。
A3用紙にロボットを使い似顔絵を描く。

**目次 [#nc2d7772]
#contents

*ロボットについて [#o6d8904e]
**本体 [#lbf50279]
キット付属の冊子にあるドライブベースを参考として工夫を加えた。


**車輪部分 [#l08f3a66]
2つのタイヤを使い動かす。

初めは、キャタピラで動かそうと思ったが、床との接地面が大きいため失敗となった。

タイヤに変えようとしたが、ギアをペンの部分で使っているために足りず、2輪にした。

2輪に変えたので動きを安定させるために、付属冊子の軸車輪を参考にして、ロボットの後方にキャスターを付けた。

&ref(2008b/A8/課題1右/kyasuta-.JPG,50%,キャスター部分);


**ペン部分 [#j5446512]
ペンは、部品で固定しモーターとギアでつないだ。

そうすることでペン先を浮かせたり下げたりできるようにした。

ペンがぶれて描かれた線が点線になってしまったり、ペンがロボットの下に回り込んでしまうなど、悩む箇所が多々あった。

描かれた線が点線になってしまうことの解決策として、ペン先の固いものから、柔らかい筆ペンに変更した。

ペンがロボットの下に回り込んでしまうなど、ペンが不安定ということの解決策としては、ペンの太さに合わせて数カ所でしっかり固定するようにした。

&ref(2008b/A8/課題1右/pengia.JPG,50%,ペンとギア部分);


*プログラムについて [#w0ac5ae8]


**1つ目 [#xca126af]

 task main()
 {OnFwd(OUT_A+OUT_B);OnRev(OUT_C);  Wait(237); //輪郭をかく
 Off(OUT_A+OUT_C);  OnRev(OUT_B);   Wait(5);
 OnRev(OUT_A+OUT_C);                Wait(20);
 OnRev(OUT_A+OUT_C);OnFwd(OUT_B);   Wait(20); //左目をかく
 OnRev(OUT_A+OUT_C);OnRev(OUT_B);   Wait(20);
 OnRev(OUT_A+OUT_C);OnFwd(OUT_B);   Wait(20); //右目をかく
 OnFwd(OUT_A+OUT_C);OnRev(OUT_B);   Wait(80);
 OnFwd(OUT_A);OnRev(OUT_C);         Wait(40);
 OnRev(OUT_A+OUT_C);                Wait(30);
 OnRev(OUT_A+OUT_C);OnFwd(OUT_B);   Wait(10); //鼻をかく
 OnFwd(OUT_A+OUT_C);OnRev(OUT_B);   Wait(27);
 OnFwd(OUT_A);OnRev(OUT_C);         Wait(20);
 OnFwd(OUT_C);OnRev(OUT_A);OnFwd(OUT_B);Wait(30); //口をかく
 Off(OUT_A+OUT_B+OUT_C);
 }


**2つ目 [#k8bc4919]
 task main(){
 OnFwd(OUT_A+OUT_B);OnRev(OUT_C);            Wait(230); //輪郭をかく
                                OnRev(OUT_B);Wait(5);
 OnRev(OUT_A+OUT_C);             OnFwd(OUT_B);Wait(20); //眼鏡をかく
 repeat(2){
 OnFwd(OUT_A);      OnRev(OUT_C);             Wait(10);
 OnFwd(OUT_C);      OnRev(OUT_A);             Wait(18);
 OnRev(OUT_A+OUT_C);                          Wait(25);
 OnFwd(OUT_A);      OnRev(OUT_C);             Wait(20);
 OnFwd(OUT_C);      OnRev(OUT_A);             Wait(7);
 OnRev(OUT_A+OUT_C);                          Wait(20);
 }
 OnFwd(OUT_A+OUT_C);             OnRev(OUT_B);Wait(130);
 OnFwd(OUT_C);      OnRev(OUT_A);             Wait(62);
 OnFwd(OUT_A+OUT_C);Wait(20);
 Off(OUT_A+OUT_C);Wait(30);
 OnRev(OUT_A+OUT_C);                          Wait(30);
 OnRev(OUT_A+OUT_C);             OnFwd(OUT_B);Wait(20); //鼻をかく
 OnFwd(OUT_A+OUT_C);             OnRev(OUT_B);Wait(30);
 OnFwd(OUT_C);      OnRev(OUT_A);OnFwd(OUT_B);Wait(20); //口をかく
 Off(OUT_A+OUT_B+OUT_C);         Off(OUT_B);
 }

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