2008b/A9/課題1左
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2008b/MemberOnly/進行状況A]]
*目次 [#c81da1f0]
#contents
*課題 [#gbb357c3]
''&size(20){○A3の紙に相棒の似顔絵を描くロボットを作成せよ!○}; ''
*お絵かきロボットの紹介 [#h9ccbb42]
**図解 [#eb7452a7]
シンプルなマシンなのでエアロパーツや諸所の箇所に色付きロゴでアクセントを加えました。
#ref(roboA1.jpg)
強度を上げるためロゴを互いに噛み合わせるように組んでいます。
#ref(構造.JPG)
ペンの上げ下げは図のモーターに直接取り付けたギアの回転で行います。
**ロボの作製の工夫点 [#t44b67e5]
◯ロボットにペンを持たせる方法
ロボットにアームを付けて、そのアームにペンを付けようかとも考えましたが、ペン先がずれやすく、プログラムだけでは修正が困難になると思われたのでロボット全体の中心を垂直にペンが通るように固定することにしました。~
重心である電源や電池のある部位となるべく近くすることでペン先のずれを起こしにくい工夫ができました。
*作成プログラム [#b7808850]
顔の輪郭から始めるのでまずはペン先を地面につけた状態からスタート。
**プログラム名 /* Draw a Face of Friend */ [#g6cc2ab5]
#define pen_up OnFwd(OUT_B);Wait(7);Off(OUT_B); //ペンの上昇
#define pen_down OnRev(OUT_B);Wait(18);Off(OUT_B); //ペンの下降
#define turn_right pen_up;OnRev(OUT_A+OUT_C);Wait(8);OnFwd(OUT_A);OnRev(OUT_C);Wait(90);OnFwd(OUT_A+OUT_C); Wait(10); //右に90度曲旋回
#define turn_left pen_up;OnRev(OUT_A+OUT_C);Wait(8);OnFwd(OUT_C);OnRev(OUT_A);Wait(100);OnFwd(OUT_A+OUT_C);Wait(10); //左に90度旋回
始めにマクロで基本動作の記述を行っています。
task main()
{
pen_down; // 輪郭を描きます
OnFwd(OUT_A);
Wait(805);
Off(OUT_A);
turn_right;
repeat(2) { //目を描きます
OnFwd(OUT_A+OUT_C);
Wait(18);
pen_down;
Wait(10);
pen_up;
}
turn_left; //移動を行う
OnFwd(OUT_A+OUT_C);
Wait(42);
turn_left;
OnFwd(OUT_A+OUT_C);
Wait(25);
pen_down; //口を描きます
OnFwd(OUT_A+OUT_C);
Wait(35);
pen_up;
OnRev(OUT_A+OUT_C);
Wait(17);
turn_left;
OnFwd(OUT_A+OUT_C); //鼻を描きます
Wait(7);
pen_down;
Wait(7);
pen_UP;
Wait(40); //絵の外側へ
Off(OUT_A+OUT_C);
}
**プログラムの工夫点 [#o16eca8f]
・プログラムの最初の段階でペンの上げ下げや方向転換の基本動作をマクロに組み込むことでプログラムの簡素化と作業の簡略化を行いました。
・下図のように直角の方向転換時には重心のズレがでました。~
そこで縦方向と横方向のズレに分解することで前後移動で誤差修正を行うプログラムを加えました。さらに方向転換時のマクロに組み込むことでプログラムの簡略化が出来ました。
#ref(誤差図.jpg)
X:横方向のズレ Y:縦方向のズレ
*<出来た似顔絵> [#obdcea9e]
左が描かれた顔です。描画手順は右側で矢印に沿った順序になっています。
#ref(作製画.jpg)
しらけた顔つきになってしまいました。
*感想 [#v2b5a966]
このようなロボットを作ることやプログラムを組むことは初めてだったので何から何まで手探りでとても大変でした。~
うまくいかないことの方が多かったですが顔が描き上げられた瞬間は達成感がありました。~
しかし笑い顔にした方が愛嬌がでそうですね。
*よろしければコメントをどうぞ [#k36c4272]
- 繰り返し文を使うのは良いアイデアです。 -- [[なかむら]] &new{2008-11-29 (土) 13:08:00};
#comment
他の班にはないよい工夫だと思います。ロボットの説明がもう少しあれば良かったです。 FI
終了行:
[[2008b/MemberOnly/進行状況A]]
*目次 [#c81da1f0]
#contents
*課題 [#gbb357c3]
''&size(20){○A3の紙に相棒の似顔絵を描くロボットを作成せよ!○}; ''
*お絵かきロボットの紹介 [#h9ccbb42]
**図解 [#eb7452a7]
シンプルなマシンなのでエアロパーツや諸所の箇所に色付きロゴでアクセントを加えました。
#ref(roboA1.jpg)
強度を上げるためロゴを互いに噛み合わせるように組んでいます。
#ref(構造.JPG)
ペンの上げ下げは図のモーターに直接取り付けたギアの回転で行います。
**ロボの作製の工夫点 [#t44b67e5]
◯ロボットにペンを持たせる方法
ロボットにアームを付けて、そのアームにペンを付けようかとも考えましたが、ペン先がずれやすく、プログラムだけでは修正が困難になると思われたのでロボット全体の中心を垂直にペンが通るように固定することにしました。~
重心である電源や電池のある部位となるべく近くすることでペン先のずれを起こしにくい工夫ができました。
*作成プログラム [#b7808850]
顔の輪郭から始めるのでまずはペン先を地面につけた状態からスタート。
**プログラム名 /* Draw a Face of Friend */ [#g6cc2ab5]
#define pen_up OnFwd(OUT_B);Wait(7);Off(OUT_B); //ペンの上昇
#define pen_down OnRev(OUT_B);Wait(18);Off(OUT_B); //ペンの下降
#define turn_right pen_up;OnRev(OUT_A+OUT_C);Wait(8);OnFwd(OUT_A);OnRev(OUT_C);Wait(90);OnFwd(OUT_A+OUT_C); Wait(10); //右に90度曲旋回
#define turn_left pen_up;OnRev(OUT_A+OUT_C);Wait(8);OnFwd(OUT_C);OnRev(OUT_A);Wait(100);OnFwd(OUT_A+OUT_C);Wait(10); //左に90度旋回
始めにマクロで基本動作の記述を行っています。
task main()
{
pen_down; // 輪郭を描きます
OnFwd(OUT_A);
Wait(805);
Off(OUT_A);
turn_right;
repeat(2) { //目を描きます
OnFwd(OUT_A+OUT_C);
Wait(18);
pen_down;
Wait(10);
pen_up;
}
turn_left; //移動を行う
OnFwd(OUT_A+OUT_C);
Wait(42);
turn_left;
OnFwd(OUT_A+OUT_C);
Wait(25);
pen_down; //口を描きます
OnFwd(OUT_A+OUT_C);
Wait(35);
pen_up;
OnRev(OUT_A+OUT_C);
Wait(17);
turn_left;
OnFwd(OUT_A+OUT_C); //鼻を描きます
Wait(7);
pen_down;
Wait(7);
pen_UP;
Wait(40); //絵の外側へ
Off(OUT_A+OUT_C);
}
**プログラムの工夫点 [#o16eca8f]
・プログラムの最初の段階でペンの上げ下げや方向転換の基本動作をマクロに組み込むことでプログラムの簡素化と作業の簡略化を行いました。
・下図のように直角の方向転換時には重心のズレがでました。~
そこで縦方向と横方向のズレに分解することで前後移動で誤差修正を行うプログラムを加えました。さらに方向転換時のマクロに組み込むことでプログラムの簡略化が出来ました。
#ref(誤差図.jpg)
X:横方向のズレ Y:縦方向のズレ
*<出来た似顔絵> [#obdcea9e]
左が描かれた顔です。描画手順は右側で矢印に沿った順序になっています。
#ref(作製画.jpg)
しらけた顔つきになってしまいました。
*感想 [#v2b5a966]
このようなロボットを作ることやプログラムを組むことは初めてだったので何から何まで手探りでとても大変でした。~
うまくいかないことの方が多かったですが顔が描き上げられた瞬間は達成感がありました。~
しかし笑い顔にした方が愛嬌がでそうですね。
*よろしければコメントをどうぞ [#k36c4272]
- 繰り返し文を使うのは良いアイデアです。 -- [[なかむら]] &new{2008-11-29 (土) 13:08:00};
#comment
他の班にはないよい工夫だと思います。ロボットの説明がもう少しあれば良かったです。 FI
ページ名: