2008a/A3/課題1左
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2008a/MemberOnly/進行状況A]]
*目次 [#o1ed723a]
#contents
*課題 [#yc31a176]
**お絵描きロボット [#ia65c71a]
・A3用紙に相棒の似顔絵を書くロボットの製作
*使用したロボット [#e4627d0d]
**課題を行うために必要な機能 [#i4bfb23b]
・前進後退ができる
・左右に方向転換ができる
・ペンを装着し固定できる
・モーターによってペンを上げ下げできる
・動作中に分解しない耐久性がある
この条件でロボットを制作した
** [#xe24202b]
**ロボットの写真 [#h57a5e31]
#ref(080528_1857~01.jpg)
#ref(080528_1857~02.jpg)
このロボットでは、ギアを使ってペンを持ち上げる装置を作るのが大変だった。ギアを使ってペンを持ち上げるにはバランスなどを考えることが必要であり、うまくバランスをとるために片側を重くすることにした。
#ref(080528_1857~03.jpg)
*プログラム [#x90d726e]
**A [#ebd9382c]08E1606H 奥沢 [#z02fabcd]
task main()
{
OnFwd(OUT_A);
Wait(800);
Off(OUT_A);//輪郭を書く
OnFwd(OUT_C);
OnRev(OUT_A);//旋回
Wait(100);//
OnFwd(OUT_C);
Wait(8);
OnFwd(OUT_A+OUT_C);//前進
Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_B);//ペン上げる
Wait(50);
Off(OUT_B);//ペン下げる
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(300);//旋回
OnFwd(OUT_A+OUT_C);//前進
Wait(200);
OnFwd(OUT_B);ペン上げる
Wait(50);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(50);//旋回
OnFwd(OUT_B);//ペン上げる
Wait(50);
Off(OUT_A+OUT_C);
Off(OUT_B);
}
#ref(3G0144.JPG)
**B [#d2d2d14f]08T2100A 吉沢 [#m46702bc]
task main()
{
OnFwd(OUT_A+OUT_C);//輪郭 前進
Wait(180);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(22);
OnRev(OUT_C);//旋回
OnFwd(OUT_A);
Wait(101);
OnRev(OUT_A+OUT_C);//後退
Wait(40);
Off(OUT_A+OUT_C);
Wait(30);
OnRev(OUT_B);ペン下げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(160);
Off(OUT_A+OUT_C);
Wait(30);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(30);
Off(OUT_A+OUT_C);
Wait(30);
OnRev(OUT_C);//旋回
OnFwd(OUT_A);
Wait(101);
OnRev(OUT_A+OUT_C);//後退
Wait(40);
Off(OUT_A+OUT_C);
Wait(30);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(160);
Off(OUT_A+OUT_C);
Wait(30);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(22);
OnRev(OUT_A+OUT_C);//目
Wait(20);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A);//旋回
OnRev(OUT_C);
Wait(100);
OnRev(OUT_A+OUT_C);//後退
Wait(50);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A+OUT_C);//前進
Wait(10);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A+OUT_C);//前進
Wait(10;;;;;;);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A+OUT_C);//前進
Wait(10);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A+OUT_C);//前進
Wait(10);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A);//旋回
OnRev(OUT_C);
Wait(100);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A+OUT_C);//口
Wait(70);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A);//旋回
OnRev(OUT_C);
Wait(101);
OnRev(OUT_A+OUT_C);//後退
Wait(60);
Off(OUT_A+OUT_C);
Wait(20);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(40);
Off(OUT_A+OUT_C);
Wait(20);
}
#ref(080528_1855~01.jpg)
顔を四角くすることにこだわっていたら、プログラムがすごく長くなってしまったので、見にくかった。これをアドバイス通り関数を使って表したいと思う。
*苦労した点 [#qc53bb3c]
**問題点 [#f7fd4d2b]
1:ペンをうまく固定できない
2:ペンが紙との摩擦で変な方向に曲がってしまう
3:最後の目と口が変な方向に行ってしまう
**解決策 [#s62242bd]
ペンの安定性を高める為に周りをブロックで固めた。
プログラムの正確さを高めるため、何度も微調整を行った。
*コメントをどうぞ [#yf0323e4]
- まず、輪郭と髪は続けて書けるので上手くいったが、目と口を書くのが難しかった。目と口を最後に書くと変な所でロボットが書き始めるので苦労した。もしかすると初めに目と口を書いてしまうと上手くいくかもしれないです。私はプログラミングは初めてでしたが、自分の試行錯誤と人の協力もあって何とかできました。良かったです。 -- [[奥澤良尚(08E1606H)]] &new{2008-05-23 (金) 18:14:51};
#comment
良かった点~
①ホームページに書くべきことは概ね書けています。~
改善点
①ロボットの写真ははるだけではなく、各機構に分けて説明するとわかりやすいです。
②プログラムに関数を使ってみると、見やすいし、今後につながると思います。
終了行:
[[2008a/MemberOnly/進行状況A]]
*目次 [#o1ed723a]
#contents
*課題 [#yc31a176]
**お絵描きロボット [#ia65c71a]
・A3用紙に相棒の似顔絵を書くロボットの製作
*使用したロボット [#e4627d0d]
**課題を行うために必要な機能 [#i4bfb23b]
・前進後退ができる
・左右に方向転換ができる
・ペンを装着し固定できる
・モーターによってペンを上げ下げできる
・動作中に分解しない耐久性がある
この条件でロボットを制作した
** [#xe24202b]
**ロボットの写真 [#h57a5e31]
#ref(080528_1857~01.jpg)
#ref(080528_1857~02.jpg)
このロボットでは、ギアを使ってペンを持ち上げる装置を作るのが大変だった。ギアを使ってペンを持ち上げるにはバランスなどを考えることが必要であり、うまくバランスをとるために片側を重くすることにした。
#ref(080528_1857~03.jpg)
*プログラム [#x90d726e]
**A [#ebd9382c]08E1606H 奥沢 [#z02fabcd]
task main()
{
OnFwd(OUT_A);
Wait(800);
Off(OUT_A);//輪郭を書く
OnFwd(OUT_C);
OnRev(OUT_A);//旋回
Wait(100);//
OnFwd(OUT_C);
Wait(8);
OnFwd(OUT_A+OUT_C);//前進
Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_B);//ペン上げる
Wait(50);
Off(OUT_B);//ペン下げる
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(300);//旋回
OnFwd(OUT_A+OUT_C);//前進
Wait(200);
OnFwd(OUT_B);ペン上げる
Wait(50);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(50);//旋回
OnFwd(OUT_B);//ペン上げる
Wait(50);
Off(OUT_A+OUT_C);
Off(OUT_B);
}
#ref(3G0144.JPG)
**B [#d2d2d14f]08T2100A 吉沢 [#m46702bc]
task main()
{
OnFwd(OUT_A+OUT_C);//輪郭 前進
Wait(180);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(22);
OnRev(OUT_C);//旋回
OnFwd(OUT_A);
Wait(101);
OnRev(OUT_A+OUT_C);//後退
Wait(40);
Off(OUT_A+OUT_C);
Wait(30);
OnRev(OUT_B);ペン下げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(160);
Off(OUT_A+OUT_C);
Wait(30);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(30);
Off(OUT_A+OUT_C);
Wait(30);
OnRev(OUT_C);//旋回
OnFwd(OUT_A);
Wait(101);
OnRev(OUT_A+OUT_C);//後退
Wait(40);
Off(OUT_A+OUT_C);
Wait(30);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(160);
Off(OUT_A+OUT_C);
Wait(30);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(22);
OnRev(OUT_A+OUT_C);//目
Wait(20);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A);//旋回
OnRev(OUT_C);
Wait(100);
OnRev(OUT_A+OUT_C);//後退
Wait(50);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A+OUT_C);//前進
Wait(10);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A+OUT_C);//前進
Wait(10;;;;;;);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A+OUT_C);//前進
Wait(10);
OnFwd(OUT_B);//ペン上げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A+OUT_C);//前進
Wait(10);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(5);
OnFwd(OUT_A);//旋回
OnRev(OUT_C);
Wait(100);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A+OUT_C);//口
Wait(70);
Off(OUT_A+OUT_C);
Wait(20);
OnFwd(OUT_A);//旋回
OnRev(OUT_C);
Wait(101);
OnRev(OUT_A+OUT_C);//後退
Wait(60);
Off(OUT_A+OUT_C);
Wait(20);
OnRev(OUT_B);//ペン下げ
Wait(14);
Off(OUT_B);
Wait(22);
OnFwd(OUT_A+OUT_C);//前進
Wait(40);
Off(OUT_A+OUT_C);
Wait(20);
}
#ref(080528_1855~01.jpg)
顔を四角くすることにこだわっていたら、プログラムがすごく長くなってしまったので、見にくかった。これをアドバイス通り関数を使って表したいと思う。
*苦労した点 [#qc53bb3c]
**問題点 [#f7fd4d2b]
1:ペンをうまく固定できない
2:ペンが紙との摩擦で変な方向に曲がってしまう
3:最後の目と口が変な方向に行ってしまう
**解決策 [#s62242bd]
ペンの安定性を高める為に周りをブロックで固めた。
プログラムの正確さを高めるため、何度も微調整を行った。
*コメントをどうぞ [#yf0323e4]
- まず、輪郭と髪は続けて書けるので上手くいったが、目と口を書くのが難しかった。目と口を最後に書くと変な所でロボットが書き始めるので苦労した。もしかすると初めに目と口を書いてしまうと上手くいくかもしれないです。私はプログラミングは初めてでしたが、自分の試行錯誤と人の協力もあって何とかできました。良かったです。 -- [[奥澤良尚(08E1606H)]] &new{2008-05-23 (金) 18:14:51};
#comment
良かった点~
①ホームページに書くべきことは概ね書けています。~
改善点
①ロボットの写真ははるだけではなく、各機構に分けて説明するとわかりやすいです。
②プログラムに関数を使ってみると、見やすいし、今後につながると思います。
ページ名: