キャタピー(言うことを聞かない悪い子です) 制作者 ユウジ&ARX-8 LAEVATEIN
ユウジが静岡県三島市出身で漢字が難しいので、先生から許可をもらって ARX-8 LAEVATEINの出身地である『水戸』を書くことにしました。
ペンの上げ下げの速度を落とすために下のようなギアをかませました。
ペンを持つ部分は下の写真の様にしたが完璧にペンを固定することは難しかった。
task main() {
OnFwd(OUT_B);Wait(50); //ペンを下ろす//1 OnRev(OUT_A+OUT_C);Wait(250);//後退 OnRev(OUT_C); OnFwd(OUT_A);Wait(30);//方向転換(逆時計) OnRev(OUT_B);// ペンを上げる OnFwd(OUT_A+OUT_C);Wait(50);//前進 Off(OUT_B);//ペンを止める OnFwd(OUT_A+OUT_C);Wait(100);//前進 OnRev(OUT_C); OnFwd(OUT_A);Wait(80);//方向転換 OnFwd(OUT_B);//ペンを下ろす//2 Off(OUT_A+OUT_C);Wait(30)//一時停止 Off(OUT_B);//ペンを止める OnRev(OUT_A+OUT_C);Wait(60);//後退 OnRev(OUT_B);// ペンを上げる OnRev(OUT_C); OnFwd(OUT_A);Wait(130);//方向転換(逆時計) OnFwd(OUT_B);//ペンを下ろす//2 Off(OUT_A+OUT_C);Wait(30)//一時停止 OnFwd(OUT_A+OUT_C);Wait(180);//前進 OnRev(OUT_B);// ペンを上げる OnRev(OUT_A+OUT_C);Wait(100);//後退 Off(OUT_B);//ペンを止める OnRev(OUT_A+OUT_C);Wait(300);//後退 OnFwd(OUT_B);//ペンを下ろす OnFwd(OUT_A+OUT_C);Wait(200);//前進//3 OnRev(OUT_B);//ペンを上げる Off(OUT_A+OUT_C);Wait(30)//一時停止 OnRev(OUT_A); OnFwd(OUT_C);Wait(200);//方向転換(逆時計) OnFwd(OUT_B);//ペンを下ろす Off(OUT_A+OUT_C);Wait(30)//一時停止 OnRev(OUT_A+OUT_C);Wait(100);//後退//4 Off(OUT_A+OUT_C+OUT_B);//停止 }
task main()
{
OnFwd(OUT_A+OUT_C); Wait(100); //一画目 Off(OUT_B); OnRev(OUT_B);Wait(5); //ペンをあげる Off(OUT_B); OnRev(OUT_A+OUT_C); Wait(100); //後退し、元の位置へ OnFwd(OUT_C);OnRev(OUT_A); Wait(200);//90度回転 OnFwd(OUT_A+OUT_C); Wait(50); //二画目の位置へ前進 OnFwd(OUT_A);OnRev(OUT_C); Wait(190);//90度回転 Off(OUT_A+OUT_C); OnFwd(OUT_B);Wait(5);//ペンをおろす Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(100);//二画目 Off(OUTA_A+OUT_C); OnRev(OUT_B);Wait(5);//ペンをあげる Off(OUT_B); OnFwd(OUT_C);OnRev(OUT_A); Wait(190);//90度回転 Off(OUT_A+OUT_C); OnFwd(OUT_B);Wait(5);//ペンをおろす Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(50);//二画目 Off(OUT_A+OUT_C); OnRev(OUT_B);Wait(5);//ペンをあげる Off(OUT_B); OnFwd(OUT_C);OnRev(OUT_A); Wait(200);//90度回転 Off(OUT_A+OUT_C); OnFwd(OUT_B);Wait(5);//ペンをおろす Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(100);//三画目 Off(OUT_A+OUT_C); OnRev(OUT_B);Wait(5);//ペンをあげる Off(OUT_B); OnFwd(OUT_C);OnRev(OUT_A); Wait(220);//90度回転 OnFwd(OUT_A+OUT_C); Wait(50);//二画目の位置へ前進 Off(OUT_A+OUT_C); OnFwd(OUT_B);Wait(5);//ペンをおろす Off(OUT_B); OnRev(OUT_A+OUT_C); Wait(120);//四画目 OnFwd(OUT_C); OnRev(OUT_A);Wait(40);//四画目のはらいの部分 OnRev(OUT_A+OUT_C); Wait(100); Off(OUT_A+OUT_B+OUT_C); }
水に見えないことも・・・・
(1) まず第一に、ロボットアームを使用して文字を書くことにした。モーターを3つ利用し、上下左右と前後の動きをさせた。しかし、作成したアームでは直線を書くときに3つのモーターを同時に動かすため、プログラムが非常に複雑になり、組むのが難しくなってしまった。
(2) (1)によりアームのみは断念した。次に、車体をベースとした、ペンを前方に取り付け文字を書くロボットを作製した。しかし、実際にプログラムを組み動かしてみたところ、ペンをあげて方向転換したときにペンが回転の中心にないため終点と始点がずれてしまい、「戸」の「口」の部分が書けないことが判明した。
(3) (2)によりペンを車体の中央に移し、「戸」の文字を書けるようにした。実際に書いてみたが、直線が点線になってしまった。また、ペンを持つアームの部分が大きすぎ、車体のバランスが悪くなり走行に支障が出ると考えた。相談の結果改良の余地があるという結論になり、アームの部分を作り直すことが決まった。
(4) (3)の点線になる理由は車体のスピードにあると考え、車輪からキャタピラにかえた。また、車輪のときは直線が右に反れてしまっていたが、キャタピラに変えるとだいぶ良くなった。問題のアームの部分も下の写真のようにしてバランスをとった。
モーターAとCを前進、後退に使用し、モーターCをペンの上下運動に使用した。
(1)〜(3)段階の車体の様子を写真を使って示すことができなっかたので、過程の段階もわかりやすく示せるようにしたい。また、キャタピラを使うと速度が下がるが、その分ギアを大量に使うので、アームの部分を作るのが難しかった。これは、今後のためにも覚えておく必要があると思った。回転のときのに有利になると考え、ペンを真ん中に持ってきたが、完璧にペン先を中心にして回ることは難しく方向転換の時にペン先がずれてしまうことが解った。
今回はロボットアームをあきらめたが、もし、次に機会があればぜひ作ってみたい。
「戸」の「口」の部分を書き順通りにペンを離さず書きたかったが、回転する時に車体が揺れてしまいうまく繋がらなかった。なので、一度ペンをあげる作業が加わってしまった。
コメントをどうぞ