書道ロボットを作成し、自分の名前の7画以上の漢字を書く。今回は「見」を書いた。
まず、前後左右、ペンの上げ下げについてをマクロとして定義した。書き順はバラバラなため画像で示す。
/*ペンの上げ下げ*/ #define UP OnFwd(OUT_C);Wait(5);Off(OUT_C); #define DOWN OnRev(OUT_C);Wait(5);Off(OUT_C); /*左右の移動*/ #define MIGI(MIGI_TIME) OnFwd(OUT_B);Wait(MIGI_TIME);Off(OUT_B); #define LEFT(LEFT_TIME) OnRev(OUT_B);Wait(LEFT_TIME);Off(OUT_B); /*前後運動*/ #define GO(GO_TIME) OnRev(OUT_A);Wait(GO_TIME);Off(OUT_A); #define BACK(BACK_TIME) OnFwd(OUT_A);Wait(BACK_TIME);Off(OUT_A); task main() {
// 1画目
MIGI(80); BACK(50); LEFT(80); GO(50); UP;
// 移動
BACK(30);
// 2画目
DOWN; MIGI(80); UP;
// 移動
BACK(30);
// 3画目
DOWN; LEFT(80); UP;
// 移動
BACK(30); MIGI(30);
// 4画目
DOWN; BACK(50); UP;
// 移動
GO(40); MIGI(30);
// 5画目
DOWN; BACK(40); MIGI(30); }
今回のロボットは、全体を通して安定性が低かった。ロボ本体の改良はもちろん、プログラムを工夫して安定性を高めなければならなかった。