- 履歴一覧
- 2006a/C2/課題1右/program は削除されています。
[[2006a/C2]]
*実際に木を作るロボットのプログラム [#t5894338]
#define FF OUT_A+OUT_C
#define BASETIME 170
#define WHOLETIME 382
#define HALFTIME 191
#define QUARTERTIME 96
#define DQUARTERTIME 48
task main()
{
OnFwd(FF); //1
Wait(BASETIME);
Off(FF);
//age
Wait(100);
OnFwd(OUT_B);
Wait(13);
Off(OUT_B);
Wait(100);
OnRev(FF); //2
Wait(28);
Off(FF);
Wait(100);
OnFwd(FF); //3
Rev(OUT_A);
Wait(QUARTERTIME);
Off(FF);
Wait(100);
OnRev(FF); //4
Wait(29);
Off(FF);
//sage
Wait(100);
OnRev(OUT_B);
Wait(14);
Off(OUT_B);
Wait(100);
OnRev(FF); //5
Wait(BASETIME);
Off(FF);
//age
Wait(100);
OnFwd(OUT_B);
Wait(13);
Off(OUT_B);
Wait(100);
OnFwd(FF); //6
Wait(194);
Off(FF);
Wait(100);
OnFwd(FF); //7
Rev(OUT_C);
Wait(DQUARTERTIME);
Off(FF);
OnRev(FF); //7.5
Wait(66);
Off(FF);
//sage
Wait(100);
OnRev(OUT_B);
Wait(14);
Off(OUT_B);
Wait(100);
OnRev(FF); //8
Wait(137);
Off(FF);
//age
Wait(100);
OnFwd(OUT_B);
Wait(13);
Off(OUT_B);
Wait(100);
OnFwd(FF); //9
Wait(208);
Off(FF);
Wait(100);
OnFwd(FF); //10
Rev(OUT_A);
Wait(90);
Off(FF);
OnRev(FF); //10.5
Wait(71);
Off(FF);
//sage
Wait(100);
OnRev(OUT_B);
Wait(14);
Off(OUT_B);
Wait(100);
OnRev(FF); //11
Wait(137);
Off(FF);
//age
Wait(100);
OnFwd(OUT_B);
Wait(13);
Off(OUT_B);
Wait(100);
//FINISH
}
*プログラム作成において苦労した点 [#sc2469d6]
-マシンの動きを少なくすることで、生じる誤差も減ると考えたので、いかにして無駄な動きを省いてシンプルに動かすかということに苦心した。
-また、一度プログラムを書いてみると、字を書く部分(ペンを持つ部分)がマシンの前方にあるためにかなりの誤差が生じることがわかり、
その修正に手間取った。プログラム中の動きの名前に「10.5」などとあるのは、途中で微調整用プログラムを追加したためである。
-「木」という文字は4本の画(かく)が揃わなければならず、その調整についても面倒であった。
-何より、マシンの気分が悪いと毎回のように微妙に動きが違ってくるのが大変だったように感じる。