- 追加された行はこの色です。
- 削除された行はこの色です。
[[2011a]]
目次
#contents
*メンバー紹介的な何か [#u781069e]
-いばらきけんみん
-ばるす!
*課題的な何か [#u409d42c]
相棒の似顔絵を面白く描く。
*ロボット的な何か [#kb9fb980]
**名前 [#pa1b0680]
ムスカRV-X05 (命名いばらきけんみん)
**特徴 [#o28a7023]
-落ちこぼれ。でもいい奴。
-小回りの利く四輪型で安定してお絵描きできるすごいやつ。%%でも落ちこぼれ。%%
-しかもペンを持つ部分がスライド式なのでぶれない。すごくぶれない。
**改善点 [#f57c8e8f]
-当初は見た目と安定性を考え、キャタピラ型だったのだが、動くときに紙を巻き込んでしまい絵が描けなかったので四輪型になった。結果、小回りが利くのはもちろんのこと、小型化にも成功した。
-当初は作りやすさを考え、アーム型だったが、見た目の向上と安定化のため、アーム型からスライド型に変更された。
*プログラミング的な何か [#qc6c5571]
**こういうところを頑張った [#ade9022b]
-プログラミングにサブルーチンやリピートを使って、効率化したところ。
-顔の輪郭にこだわり、はっきりとした線が引けるように微調整を重ねたところ。
特に、回転した後に線が離れるのを直すように努力した。
**サブルーチンとか [#k1a8de58]
最も使うであろうモーターに対する命令を定義やマクロ、サブルーチンや関数を使用して表した。
#define a OUT_A
#define b OUT_B
#define c OUT_C
#define d OUT_A+OUT_C
#define e OnFwd(OUT_A);Wait(20);Off(OUT_A);
#define f OnFwd(OUT_C);Wait(20);Off(OUT_C);
void turn_left(int t)
{
OnRev(b);Wait(100);Off(b); //bあげる
OnFwd(d);Wait(58);Off(d); //書かずに進む
OnFwd(c);OnRev(a);Wait(t);Off(d); //回転
OnRev(d);Wait(66);Off(d); //バック
OnFwd(b);Wait(100);Off(b); //bさげる
}
sub turn_right()
{OnRev(b);Wait(100);Off(b); //bあげる
OnFwd(d);Wait(50);Off(d); //書かずに進む
OnFwd(a);OnRev(c);Wait(100);Off(d); //回転
OnRev(d);Wait(66);Off(d); //バック
OnFwd(b);Wait(100);Off(b); //bさげる
}
ただ、最初に定義を考えてからプログラムを考えたせいで、途中で微調整が出来ず、かえってプログラムが長く見にくくなってしまった。
**輪郭 [#i2b7f03e]
repeat(6){e;f;} //髪の毛
画像
おそらく最もコンパクト化に成功した部分
OnRev(b);Wait(100);Off(b); //bあげる
OnFwd(d);Wait(58);Off(d); //書かずに進む
OnFwd(c);OnRev(a);Wait(90);Off(d); //回転
OnRev(d);Wait(66);Off(d); //バック
OnFwd(b);Wait(100);Off(b); //bさげる
%%画像%%
髪の書き終わりから顔の書き始めにつながる部分。割とスムーズに行った。
OnFwd(d);Wait(100);Off(d); //前進 //輪郭初め
turn_left(50);
OnFwd(d);Wait(46);Off(d); //前進
turn_left(40);
OnFwd(d);Wait(52);Off(d); //前進
turn_left(50);
OnFwd(d);Wait(46);Off(d); //前進
turn_left(45);
OnFwd(d);Wait(100);Off(d); //前進 //輪郭終わり
輪郭。おそらく最も手間をかけた部分。というかここで力尽きた。orz
画像
OnRev(d);Wait(30);Off(d); //バック
turn_left(30);
OnFwd(d);Wait(21);Off(d);
turn_left(66);
OnFwd(d);Wait(95);Off(d);
turn_left(66);
OnFwd(d);Wait(21);Off(d);
turn_left(125);
**眼鏡 [#ad618a41]
OnFwd(d);Wait(115);Off(d);
OnRev(d);Wait(15);Off(d);
turn_right();
OnFwd(d);Wait(30);Off(d);
turn_right();
OnFwd(d);Wait(38);Off(d);
turn_right();
OnFwd(d);Wait(30);Off(d);
turn_left(100);
OnRev(b);Wait(100);Off(b); //bあげる
OnFwd(d);Wait(30);Off(d);
OnFwd(b);Wait(100);Off(b); //bさげる
turn_left(100);
OnFwd(d);Wait(30);Off(d);
turn_right();
OnFwd(d);Wait(38);Off(d);
turn_right();
OnFwd(d);Wait(30);Off(d);
**鼻と口 [#cc73cbbd]
OnRev(b);Wait(100);Off(b); //bあげる
OnRev(d); Wait(75);Off(d);
OnFwd(b);Wait(100);Off(b); //bさげる
turn_right();
OnFwd(d);Wait(32);Off(d);
turn_left(100);
OnRev(b);Wait(100);Off(b); //bあげる
OnFwd(d);Wait(16);Off(d);
OnFwd(b);Wait(100);Off(b); //bさげる
e;f;Off(d);
*感想的な何か [#t191b099]
-時間内にマシンが完成しなかったので、一時はどうなるかと思いましたが、納得の出来るマシンを作り上げることができたと思います。この小回りの利く車体を生かしたプログラミングを心がけましたが、その分誤差が出やすくなってしまったので、大変でした。もう少し時間をかけられれば、もっと綺麗な顔になったのかもしれません。(いばらきけんみん)
-機体を設計するときからプログラミングが終わるときまで、始終頭を悩ましてくれたムスカRV-X05だが、なんだかんだ言って結構いい出来になったと自負している。ムスカも満足だろう(違)。ただ、サブルーチンや関数を最初に決めたのは失敗だった。見やすくなると思ったのだが微調整ができずにかえって見にくくなってしまった。プログラムをマシンに転送する時間もバカにならない…。いや、マジで。次からは気を付けようと思う。(ばるす!)
*コメント欄的な何か [#w364db69]
ゆっくりかいていってね!!!
- わーすごーいこのマシーンすごーい(棒) -- [[ばるす!]] &new{2011-05-20 (金) 12:11:50};
- 今編集中? -- [[いばらき]] &new{2011-05-20 (金) 12:34:50};
#comment