*目次 [#sb3c05b8]
#contents
*課題 [#uce1ec00]
**お絵描きロボット [#rc5e78b4]
・A3用紙に相棒の似顔絵を書くロボットの製作
*使用したロボット [#u7422baf]
**課題を行うために必要な機能 [#c4b48700]
・前進後進が可能~
・左右に方向転換、及びその場での回転が可能~
・ペンを装着し固定できる~
・モーターによってペンを上げ下げできる~
・動作中に分解しない耐久性がある~
** [#j820f724]

**ロボットの説明 [#ydb80455]
*プログラム [#x13897ce]
Bのプログラム学籍番号08T1054H
task main()
#ref(080710_1756~0002.jpg)
鉛筆を下げる装置の写真ー2つのハンドルのようなものの右側のものをモーターで動かすことによって鉛筆を上下に動かす。例えば、モーターを時計回りに動かすと鉛筆は持ち上がり、線を書くことができなくなるが、逆の回転にすることによって鉛筆が下がり線を書くことができるようになる。
#ref(080710_1756~0001.jpg)
上からとった写真ー4点で支えることで、鉛筆がぶれることなく下げられるようにしました。またハンドルのようなものにゴムをつけることによって、ゴムが滑り止めの役目になり鉛筆が滑らなくなり、鉛筆の安定感がました。

{

OnRev(OUT_B);
#ref(080521_2052~0002.jpg)
真正面からの写真ーAが右のキャタピラのモーター、Cが左のキャタピラのモーター、Bが鉛筆を下げるためのモーターに接続されています。Bのモーターを動かして線を書くときは、モーターを動かし続けないと線が薄くなってしまいます。しかし線を書かないときは、Bのモーターを動かして鉛筆を上げなければなりませんが、1秒もモーターを動かすと鉛筆が飛び出してしまうので、逆にBのモーターは一瞬だけ動かします。

OnFwd(OUT_A+OUT_C);

Wait(60);
*プログラム [#x13897ce]
Aのプログラム学籍番号08A3024A

Off(OUT_A+OUT_C);
#ref(080528_1906~01.JPG)

OnFwd(OUT_C);

Wait(420);
 task main()
 { 
 OnRev(OUT_B); /顔を書き始める
 OnFwd(OUT_A+OUT_C);
 Wait(60);
 Off(OUT_A+OUT_C);
 OnFwd(OUT_C);
 Wait(440);
 Off(OUT_C);
 OnFwd(OUT_A+OUT_C);
 Wait(50);
 Off(OUT_A+OUT_C);
 OnFwd(OUT_C);
 Wait(430);
 Off(OUT_C+OUT_B);
 OnFwd(OUT_B);/髪を書き始めるための準備
 Wait(10);
 Off(OUT_B);
 OnFwd(OUT_C);
 Wait(150);
 Off(OUT_C);
 OnRev(OUT_A);
 Wait(110);
 Off(OUT_A);
 OnRev(OUT_B);/髪を書き始める
 OnFwd(OUT_A+OUT_C);
 Wait(130);
 Off(OUT_A+OUT_B+OUT_C);
 OnFwd(OUT_B);/眉毛を書き始めるための準備
 Wait(10);
 Off(OUT_B);
 OnFwd(OUT_A);
 Wait(185);
 Off(OUT_A);
 OnRev(OUT_A+OUT_C);
 Wait(30);
 Off(OUT_A+OUT_C);
 OnRev(OUT_A);
 Wait(185);
 Off(OUT_A);
 OnRev(OUT_B);/眉毛を書き始める
 OnRev(OUT_A+OUT_C);
 Wait(40);
 Off(OUT_A+OUT_C+OUT_B);
 OnFwd(OUT_B);/目を書き始めるための準備
 Wait(10);
 Off(OUT_B);
 OnFwd(OUT_A);
 Wait(185);
 Off(OUT_A);
 OnRev(OUT_A+OUT_C);
 Wait(90);
 Off(OUT_A+OUT_C);
 OnRev(OUT_A+OUT_B+OUT_C);/目を書き始める
 Wait(20);
 Off(OUT_A+OUT_B+OUT_C);
 OnFwd(OUT_B);/口を書き始めるための準備
 Wait(10);
 Off(OUT_B);
 OnRev(OUT_C);
 Wait(110);
 Off(OUT_C);
 OnRev(OUT_B+OUT_C);/口を書き始める
 Wait(60);
 Off(OUT_B+OUT_C);/終了
 }

Off(OUT_C);
#ref(080528_1906~01.jpg)

OnFwd(OUT_A+OUT_C);
Bのプログラム学籍番号08T1054H

Wait(50);

Off(OUT_A+OUT_C);

OnFwd(OUT_C);
 task main()
 {
 OnRev(OUT_B);   //鉛筆を下げる
 OnFwd(OUT_A+OUT_C);//輪郭を書き始める
 Wait(60);
 Off(OUT_A+OUT_C);
 OnFwd(OUT_C);
 Wait(420);
 Off(OUT_C);
 OnFwd(OUT_A+OUT_C);
 Wait(50);
 Off(OUT_A+OUT_C);
 OnFwd(OUT_C);
 Wait(450);//輪郭終了
 Off(OUT_C+OUT_B);
 OnFwd(OUT_B);//鉛筆を上げる
 Wait(5);
 Off(OUT_B); 
 OnRev(OUT_A);//口をかく準備に移る
 Wait(700);
 Off(OUT_A);
 OnRev(OUT_A+OUT_C);
 Wait(150);
 Off(OUT_A+OUT_C);
 OnRev(OUT_B);//鉛筆をおろす
 OnRev(OUT_A);//口をかき始める
 Wait(120);
 Off(OUT_B);//口終了
 OnFwd(OUT_B);//目をかく準備に入る
 Wait(10);
 Off(OUT_B);
 OnRev(OUT_A);
 Wait(100); 
 OnRev(OUT_B);
 Wait(10);
 Off(OUT_B);
 OnRev(OUT_C);
 Wait(300);
 Off(OUT_C);//プログラム終了
 }        	

Wait(450);

Off(OUT_C+OUT_B);

OnFwd(OUT_B);

Wait(5);

Off(OUT_B); 

OnRev(OUT_A);

Wait(700);

Off(OUT_A);

OnRev(OUT_A+OUT_C);

Wait(150);

Off(OUT_A+OUT_C);

OnRev(OUT_B);

OnRev(OUT_A);

Wait(120);

Off(OUT_B);

OnFwd(OUT_B);

Wait(10);

Off(OUT_B);

OnRev(OUT_A);

Wait(100); 

OnRev(OUT_B);

Wait(10);

Off(OUT_B);

OnRev(OUT_C);

Wait(300);
Off(OUT_C);
}        	 

Aのプログラムはまだです
 
#ref(080528_1904~0001.jpg)
*苦労した点 [#p448013e]
**問題点 [#je6a2d95]
1:どのようにペンをつけるか。

2:ペンをつけても、字が薄いのでなかなか書けなかった。

3:慣れない式をたてるので、順番を間違えたり、;をうち忘れてしまうことが多かった。

4:毎回違う動きをするので、微妙に違ってしまった。


**解決策 [#sf89f9a0]
1:ローラーみたいなものを使って、真ん中で、上げ下げした。

1:ローラー使って、真ん中で、上げ下げした。4点で支えることで安定させました。

2:字の薄さを、改善するために、Bのモーター動かし続けた。

3:あとは地道に努力しました。





*コメントをどうぞ [#wb767581]
#comment

良かった点
+ペンを持ち上げる機構を工夫したようです。

改善点
+プログラムとロボットの説明が必要です。部分に分けて説明するとわかりやすいと思います。
+解決策は図や写真を用いるとわかりやすいと思います。写真に矢印や文字を書き込めるソフトもあります。


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