2019a/Member

課題について

課題内容

これまで住んだことのある都道府県名、市町村名、地区名などの中から2文字以上、かつ合計10画以上のものを選び、それをA4の紙を書くロボットを製作せよ。

選んだ文字

私は、今住んでいる「信州」を選んだ。

プログラム

  モータAが本体(前後移動)、Bがペンの上下移動、Cが横移動

最初にペンの上下の動きを定義した。

#define pen_down OnRev(OUT_B,20);Wait(400);
#define pen_up OnFwd(OUT_B,20);Wait(400);

「信」の部分

task main()
{
 pen_down
 OnFwd(OUT_C,40);
 OnFwd(OUT_A,25);Wait(400);
 Off(OUT_AC);
 pen_up
 OnRev(OUT_C,40);
 OnRev(OUT_A,25);
 Wait(200);Off(OUT_AC);
 pen_down
 OnFwd(OUT_A,25);Wait(800);Off(OUT_A);
 pen_up
 OnRev(OUT_A,25);Wait(900);Off(OUT_A);
 OnRev(OUT_C,40);Wait(400);Off(OUT_C);
 pen_down
 OnRev(OUT_C,40);
 OnFwd(OUT_A,25);
 Wait(150);Off(OUT_AC);
 pen_up
 OnFwd(OUT_C,40);Wait(200);
 OnFwd(OUT_A,25);Wait(150);
 Off(OUT_AC);
 pen_down
 OnRev(OUT_C,40);Wait(300);
 pen_up
    repeat(2)
     {
      OnFwd(OUT_C,40);Wait(300);
      OnFwd(OUT_A,25);Wait(150);
      Off(OUT_AC);
      pen_down
      OnRev(OUT_C,40);Wait(150);Off(OUT_C);
      pen_up
      OnRev(OUT_C,40);Wait(300);Off(OUT_C);
     }
 OnFwd(OUT_A,25);Wait(150);
 OnFwd(OUT_C,40);Wait(300);
 pen_down
 OnFwd(OUT_A,25);Wait(200);
 OnRev(OUT_C,40);Wait(200);
 OnRev(OUT_A,25);Wait(200);
 OnFwd(OUT_C,40);Wait(200);
 pen_up
 OnFwd(OUT_A,25);Wait(800);Off(OUT_A);
 OnFwd(OUT_C,40);Wait(400);Off(OUT_C);

「州」の部分

 repeat(3)
    {
     pen_down
     OnFwd(OUT_A,25);Wait(150);Off(OUT_A);
     pen_up
     OnRev(OUT_C,40);Wait(150);Off(OUT_C);
     OnRev(OUT_A,25);Wait(300);Off(OUT_A);
     pen_down
     OnFwd(OUT_A,25);Wait(600);Off(OUT_A);
     pen_up
     OnRev(OUT_C,40);Wait(150);Off(OUT_C);
     OnRev(OUT_A,25);Wait(450);Off(OUT_A);
    }
}

同じ動きの繰り返しとなるところには、repeatを使用して短くした。

ロボット

写真はリンク先

ロボット俯瞰
本体は前後にしか動かさない。

正面
ペンを上下させる機構と横に動かす機構。

書けた文字
何度も試したなかで一番良さそうだったもの。

まとめ

プログラムについて

単純な命令しか使用していないので、まだまだ改善の余地はあると感じた。例えば、最初に全ての動作を定義しておき、速度や時間だけそれぞれの箇所で調節できるようにすれば、より分かりやすくなると思う。

ロボットについて

横移動の機構が、モータを立てた形にしたために倒れやすくなってしまった。また、タイヤが細くやや不安定であった。もし次があるなら、この部分の安定性を重視していきたい。

文字について

ペンの位置がずれると結果がかなり違ってくるので、固定や調節の方法をもっと考える必要があると感じた。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-07 (金) 23:57:07 (18d)