課題1の目次
今回は書道ロボットを作成するという課題だった。
自分の漢字で7画以上の文字を書くという課題だったので「相」という漢字を選び書き順通りに書くことにした。
最初は、初めに作ったロボットにペンを上下させるモーターを取り付けただけだったが、そのやり方では字を綺麗に書くのが大変だったので次に、前後移動するロボットにアームを付けたロボットを作ろうとした。
しかしアームを取り付けるのが思っていたよりも難しく、結局前に作ったロボットを作り直し、工夫して文字を書くことにした。
ペンの上げ下げにモーターを一つ、前後のタイヤに二つモーターを使用し、ペンを上げると紙からペンが浮き、下げると字が書けるようになっている。
ペンの上げ下げをするモーターは動かしすぎると本体にぶつかってしまい、足りないとペンが紙から離れないので、何度か調整して0.05秒にするとちょうどいいことが分かった。また、ペンは輪ゴムで固定した。
#define turn_left OnFwd(OUT_A); OnRev(OUT_C); Wait(110); #define turn_right OnRev(OUT_A); OnFwd(OUT_C); Wait(110); #define up OnFwd(OUT_B); Wait(5); Off(OUT_B); #define down OnRev(OUT_B); Wait(5); Off(OUT_B); task main() { OnRev(OUT_AC); Wait(70); //1画目 up; OnFwd(OUT_AC); Wait(110); turn_right; OnRev(OUT_AC); Wait(50); down; OnRev(OUT_AC); Wait(200); //2画目 up; OnFwd(OUT_AC); Wait(230); OnRev(OUT_A); OnFwd(OUT_C); Wait(50); OnRev(OUT_AC); Wait(100); down; OnRev(OUT_AC); Wait(50); //3画目 up; OnFwd(OUT_AC); Wait(170); turn_left; OnRev(OUT_AC); Wait(70); down; OnRev(OUT_AC); Wait(50); //4画目 up; OnRev(OUT_A); OnFwd(OUT_C); Wait(50); OnFwd(OUT_AC); Wait(50); turn_left; OnFwd(OUT_AC); Wait(50); turn_right; down; OnRev(OUT_AC); Wait(180); //5画目 up; OnFwd(OUT_AC); Wait(300); turn_left; OnRev(OUT_AC); Wait(80); down; OnRev(OUT_AC); Wait(50); //6-1画目 up; OnFwd(OUT_AC); Wait(100); turn_right; OnRev(OUT_AC); Wait(100); down; OnRev(OUT_AC); Wait(180); //6-2画目 up; OnFwd(OUT_AC); Wait(220); turn_left; OeRev(OUT_AC); Wait(10); down; OnRev(OUT_AC); Wait(50); //7画目 up; turn_right; OnRev(OUT_AC); Wait(30); turn_left; OnFwd(OUT_AC); Wait(20); down; OnRev(OUT_AC); Wait(50); //8画目 up; turn_right; OnRev(OUT_AC); Wait(40); turn_left; OnFwd(OUT_AC); Wait(30); down; OnRev(OUT_AC); Wait(50); //9画目 Off(OUT_AC);
字を書くときに本体後ろにペンがついているため曲がる時にペンが大きくずれてしまうので、そのずれを修正するために少し下がってからペンを下げる工夫をすることでずれをできるだけ小さくした。
修正する時には何度も動かしてその動きを見てプログラムを少しずつ修正していった。
また、ペンを前にして字を書こうとするとペン先がかすれてきてうまく書けなくなるので、ペンが後ろになるようにプログラムを書くことで字がかすれることなく書くことができた。
直角に曲がることと、ペンの上げ下げが多いので右折と左折とペンの上げ下げを定義することでプログラムを短くできた。
本体にペンを取り付けたため細かい調整が多くプログラムが長くなってしまった。
また、「木」の部分は普通に読めるくらいにはなったが、時間が足りず「目」の部分があまりきれいにできなかったのが残念だった。
次の課題ではもっとうまくできるようにしたい。