2016a/Member/ryo/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題 [#b3dac50c]
自分の似顔絵を描く、お絵かきロボットを製作すること。~
条件としては~
・ペン以外はキットの部品を使うこと。~
・プログラムはなるべく簡単に作ること。~
・A4サイズの紙に収まる大きさにすること。~
である。~
[[(2016年前期/課題1より):http://yakushi.shinshu-u.ac.jp/r...
*ロボットの説明 [#s126c317]
#ref(2016a/Member/ryo/Mission1/image1.JPG,120%,ロボット本...
これがロボットの全体像。
#ref(2016a/Member/ryo/Mission1/image5.JPG,100%.タイヤ)
ペンを持たせるため、タイヤを二個取り付け挟んだ。~
また、タイヤの片側をモータとつなげ、もう片方は空回りさせ...
#ref(2016a/Member/ryo/Mission1/image3.JPG,120%,ロボット本...
タイヤだけではペンが安定しなかったため、タイヤ下に補助を...
ペンはタイヤ間の距離を考慮し、太さが合うペンを取り付けた。
*下書き [#fa9bc848]
#ref(2016a/Member/ryo/Mission1/image1 (5).JPG,80%.下書き)
できるだけロボットの移動距離が短くなるように順路を考えた。~
また、プログラミングのしやすさを考え、直角を多用できるよ...
髪以外左右対称にしたため、移動距離などがプログラミングし...
*プログラムの説明 [#x04133ba]
**定義の説明 [#v552995a]
#define go_fwd(t)
t秒間直進。
#define Turn_L
#define Turn_R
これらは直角に回転するよう定義したもの。~
ペンを上げ直角回転し、位置の修正、ペンを下げるまでを一...
Turn_Lが左回転、Turn_Rが右回転。
#define Turn_L_i
#define Turn_L_ii
#define Turn_L_iii
これらは髪の毛を描くときに使った定義。~
それぞれ左回転をするが、回転時間を変え、角度を変えた。~
ペンを上げ直角回転し、位置の修正、ペンを下げるまでを一...
#define pen_up
#define pen_down
これらはペンの上下に関する定義。~
pen_upでペンを上げpen_downでペンを下げる。
**プログラム [#z44098e9]
(行変更の際の記号が¥となっている)
#define go_fwd(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC) ...
#define Turn_L pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(93);Of...
OnFwd(OUT_AC);Wait(62);Off(OUT_AC);\...
pen_down;
#define pen_up OnFwd(OUT_B);Wait(15);Off(OUT_B); ...
#define pen_down OnRev(OUT_B);Wait(15);Off(OUT_B);
#define Turn_L_i pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(55);Off...
OnFwd(OUT_AC);Wait(65);Off(OUT_AC);\...
pen_down;
#define Turn_L_ii pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(68);Of...
OnFwd(OUT_AC);Wait(65);Off(OUT_AC);\
pen_down;
#define Turn_L_iii pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(160);O...
OnFwd(OUT_AC);Wait(72);Off(OUT_AC);\
pen_down;
#define Turn_R pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_A);OnRev(OUT_C);Wait(93);Of...
OnFwd(OUT_AC);Wait(62);Off(OUT_AC);\...
pen_down;
task main()
{
repeat(2) {
go_fwd(90);
Turn_L;
go_fwd(80);
Turn_L;
} //輪郭
pen_up;
go_fwd(50);
pen_down;
Turn_L_i;
go_fwd(29);
Turn_L_ii;
go_fwd(58); //髪の毛
Turn_L_iii;
pen_up;
go_fwd(24);
pen_down;
Turn_R;
go_fwd(24); //右目
pen_up;
go_fwd(10);
pen_down;
Turn_L;
go_fwd(34); //口
Turn_L;
pen_up;
go_fwd(10);
pen_down;
go_fwd(24); //左目
}
輪郭部分でrepeatを使って簡略化することができた。~
回転した後、位置のずれが起こるため、回転する際に後退、回...
ペンの上下、回転、位置の修正までを一つの定義にまとめ、プ...
*感想 [#w8b136a8]
#ref(2016a/Member/ryo/Mission1/kao.JPG,100%.タイヤ)
これが完成品。下書きに近い顔を描くことができたと思う。定...
回転の後、位置ずれが起こるため、後退・前進を使って修正し...
電池の減り具合でロボットのスピードも変わってしまうため、...
何度も繰り返し試験運転をしなければいけなかったため、大変...
次の課題も頑張りたい。
終了行:
目次
#contents
*課題 [#b3dac50c]
自分の似顔絵を描く、お絵かきロボットを製作すること。~
条件としては~
・ペン以外はキットの部品を使うこと。~
・プログラムはなるべく簡単に作ること。~
・A4サイズの紙に収まる大きさにすること。~
である。~
[[(2016年前期/課題1より):http://yakushi.shinshu-u.ac.jp/r...
*ロボットの説明 [#s126c317]
#ref(2016a/Member/ryo/Mission1/image1.JPG,120%,ロボット本...
これがロボットの全体像。
#ref(2016a/Member/ryo/Mission1/image5.JPG,100%.タイヤ)
ペンを持たせるため、タイヤを二個取り付け挟んだ。~
また、タイヤの片側をモータとつなげ、もう片方は空回りさせ...
#ref(2016a/Member/ryo/Mission1/image3.JPG,120%,ロボット本...
タイヤだけではペンが安定しなかったため、タイヤ下に補助を...
ペンはタイヤ間の距離を考慮し、太さが合うペンを取り付けた。
*下書き [#fa9bc848]
#ref(2016a/Member/ryo/Mission1/image1 (5).JPG,80%.下書き)
できるだけロボットの移動距離が短くなるように順路を考えた。~
また、プログラミングのしやすさを考え、直角を多用できるよ...
髪以外左右対称にしたため、移動距離などがプログラミングし...
*プログラムの説明 [#x04133ba]
**定義の説明 [#v552995a]
#define go_fwd(t)
t秒間直進。
#define Turn_L
#define Turn_R
これらは直角に回転するよう定義したもの。~
ペンを上げ直角回転し、位置の修正、ペンを下げるまでを一...
Turn_Lが左回転、Turn_Rが右回転。
#define Turn_L_i
#define Turn_L_ii
#define Turn_L_iii
これらは髪の毛を描くときに使った定義。~
それぞれ左回転をするが、回転時間を変え、角度を変えた。~
ペンを上げ直角回転し、位置の修正、ペンを下げるまでを一...
#define pen_up
#define pen_down
これらはペンの上下に関する定義。~
pen_upでペンを上げpen_downでペンを下げる。
**プログラム [#z44098e9]
(行変更の際の記号が¥となっている)
#define go_fwd(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC) ...
#define Turn_L pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(93);Of...
OnFwd(OUT_AC);Wait(62);Off(OUT_AC);\...
pen_down;
#define pen_up OnFwd(OUT_B);Wait(15);Off(OUT_B); ...
#define pen_down OnRev(OUT_B);Wait(15);Off(OUT_B);
#define Turn_L_i pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(55);Off...
OnFwd(OUT_AC);Wait(65);Off(OUT_AC);\...
pen_down;
#define Turn_L_ii pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(68);Of...
OnFwd(OUT_AC);Wait(65);Off(OUT_AC);\
pen_down;
#define Turn_L_iii pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_C);OnRev(OUT_A);Wait(160);O...
OnFwd(OUT_AC);Wait(72);Off(OUT_AC);\
pen_down;
#define Turn_R pen_up;\
OnRev(OUT_AC);Wait(65);Off(OUT_AC);\
OnFwd(OUT_A);OnRev(OUT_C);Wait(93);Of...
OnFwd(OUT_AC);Wait(62);Off(OUT_AC);\...
pen_down;
task main()
{
repeat(2) {
go_fwd(90);
Turn_L;
go_fwd(80);
Turn_L;
} //輪郭
pen_up;
go_fwd(50);
pen_down;
Turn_L_i;
go_fwd(29);
Turn_L_ii;
go_fwd(58); //髪の毛
Turn_L_iii;
pen_up;
go_fwd(24);
pen_down;
Turn_R;
go_fwd(24); //右目
pen_up;
go_fwd(10);
pen_down;
Turn_L;
go_fwd(34); //口
Turn_L;
pen_up;
go_fwd(10);
pen_down;
go_fwd(24); //左目
}
輪郭部分でrepeatを使って簡略化することができた。~
回転した後、位置のずれが起こるため、回転する際に後退、回...
ペンの上下、回転、位置の修正までを一つの定義にまとめ、プ...
*感想 [#w8b136a8]
#ref(2016a/Member/ryo/Mission1/kao.JPG,100%.タイヤ)
これが完成品。下書きに近い顔を描くことができたと思う。定...
回転の後、位置ずれが起こるため、後退・前進を使って修正し...
電池の減り具合でロボットのスピードも変わってしまうため、...
何度も繰り返し試験運転をしなければいけなかったため、大変...
次の課題も頑張りたい。
ページ名: