課題1:A4の紙に自分の名前の中の4画以上の1文字を上手に描くロボットを作成せよ。 書く字は祐介の「介」です。
このロボットは、説明書にシークレットとして載っていたもので、少し特殊な動きをします。具体的には、「使用するモーターは一つで、前方回転で前進、後方回転で”右斜め後ろ”に進む」ということです。このことの利点は、
欠点は、
筆は、車体の真ん中に二つのタイヤではさんでおり、モーターの回転で上げ下げします。
task main() { OnFwd(OUT_C);Wait(25);Off(OUT_C); //筆を紙に下ろす OnFwd(OUT_A);Wait(300); //第一画目 OnRev(OUT_C);Wait(25);Off(OUT_C); //筆を上げる OnRev(OUT_A);Wait(540);Off(OUT_A); //二画目へ向かって移動、方向転換 OnFwd(OUT_A);Wait(100); //直進 OnFwd(OUT_C);Wait(25);Off(OUT_C); //筆を下ろす OnFwd(OUT_A);Wait(300); //二画目 OnRev(OUT_C);Wait(25);Off(OUT_C); //筆を上げる OnRev(OUT_A);Wait(950);OnFwd(OUT_A);Wait(480); //以下、三画目へ移動 OnRev(OUT_A);Wait(780); // OnFwd(OUT_A);Wait(50); // OnFwd(OUT_C);Wait(27);Off(OUT_C); //筆を下ろす OnFwd(OUT_A);Wait(200); //三画目 OnRev(OUT_C);Wait(25);Off(OUT_C); //筆を上げる OnRev(OUT_A);Wait(920);OnFwd(OUT_A);Wait(500); //以下、四画目へ移動 OnRev(OUT_A);Wait(1170); // OnFwd(OUT_A);Wait(250); // OnFwd(OUT_C);Wait(27);Off(OUT_C); //筆を下ろす OnFwd(OUT_A);Wait(300);Off(OUT_A); //四画目、停止 OnRev(OUT_C); //筆を放し、終了 }
この課題で最も苦労したのは、やはりキャタピラによる誤差です。しかも、ロボットを作り替える時間の余裕がなかったので、とにかくプログラムの調整を続けるしかありませんでした。それから紙が動かないように必死で押さえるのにもなかなか体力を使いました。以上のことから学んだことは、ロボットはシンプルなものが一番、ということです。