2019a/Member

課題1

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

私たちは、現在住んでいる「松本」という地名を選んだ。

ロボットの説明

前後左右に動いて、文字を書くロボットを作ることにした。下記の3つの構造を組み合わせ、ロボットを組み立てた。

  1. ロボットを前後に動かす
  2. ペンを左右に動かす
  3. ペンを上下に動かす

以下がロボットの写真である。

robo1.jpg

1.ロボットを前後に動かす

一つのタイヤで二つのモーターを一気に動かせるようにした。

また、歯車を2列にして使い、(8/24)×(8/40)=1/15 とスピードを減速させた。

robo2.jpg

2.ペンを左右に動かす

歯車の回転運動を左右の直線運動に帰るために、平らでギザギザしたパーツを使用した。

ここでも、減速をするために歯車を使いスピードを(8/40)×(8/24)=1/15 とし、白い歯車を使うことで、大きな負荷がかかっても空回りしてロボットが壊れることを予防した。 1のロボットを前後に動かす際と似たような歯車の使いかたをしたが、タイヤを使う点、ギザギザのパーツを使う点が異なっており、左右で程よいバランスに動くように歯車の数や大きさを調節するのが大変だった。

さらに、左右の動きを安定化させるために右側にモーターの力が伝わらない歯車を設置した。

上部の青いパーツは、位置を微調整する際に使用した。

robo3.jpg

3.ペンを上下に動かす

ここでも、ペンを左右に動かすときにと同様に、青いパーツを取り付けて簡単に微調整を行えるようにした。

robo5.jpg

写真右側のモーターから左側のペンに動力を伝える。

接合部分の紫色のチューブによって、モーターが回りすぎても空回りし、ロボットが壊れることを予防できた。

aiu.jpg

プロブラム

プログラムを書くためにdefineを使い、プログラムを見やすくした。 定義したものは以下の通り。

  • 上下の動き
    #define TATE_down150 OnFwd(OUT_B);Wait(150);Off(OUT_B);  //下に動く
    #define TATE_down50 OnFwd(OUT_B);Wait(50);Off(OUT_B);
    #define TATE_UP50 OnRev(OUT_B);Wait(50);Off(OUT_B);  //上に動く
    #define TATE_UP100 OnRev(OUT_B);Wait(100);Off(OUT_B);
    #define TATE_UP25 OnRev(OUT_B);Wait(25);Off(OUT_B);
  • 斜めの動き
    #define NANAME_right OnFwd(OUT_B);OnRev(OUT_C);Wait(100);Off(OUT_BC);  //斜め右に動く
    #define NANAME_right_half OnFwd(OUT_B);OnRev(OUT_C);Wait(050);Off(OUT_BC); 
    #define NANAME_right_quarter OnFwd(OUT_B);OnRev(OUT_C);Wait(025);Off(OUT_BC); 
    #define NANAME_rightback OnRev(OUT_B);OnFwd(OUT_C);Wait(100);Off(OUT_BC);
    #define NANAME_rightback_half OnRev(OUT_B);OnFwd(OUT_C);Wait(050);Off(OUT_BC);
    #define NANAME_rightback_quarter OnRev(OUT_B);OnFwd(OUT_C);Wait(035);Off(OUT_BC);
    #define NANAME_left OnFwd(OUT_BC);Wait(100);Off(OUT_BC);   //斜め左に動く
    #define NANAME_left_half OnFwd(OUT_BC);Wait(050);Off(OUT_BC); 
    #define NANAME_leftback OnRev(OUT_BC);Wait(100);Off(OUT_BC); 
    #define NANAME_leftback_half OnRev(OUT_BC);Wait(050);Off(OUT_BC); 
  • 横の動き
    #define YOKO_left100 OnFwd(OUT_C);Wait(100);Off(OUT_C);  //左に動く
    #define YOKO_left50 OnFwd(OUT_C);Wait(50);Off(OUT_C);
    #define YOKO_right100 OnRev(OUT_C);Wait(100);Off(OUT_C);  //右に動く
    #define YOKO_right50 OnRev(OUT_C);Wait(050);Off(OUT_C);
  • ペンの上下
    #define UP OnFwd(OUT_A);Wait(100);Off(OUT_A);  //ペンが上がる
    #define DOWN OnRev(OUT_A);Wait(50);Off(OUT_A);  //ペンが下がる
    

「松」を書く

「松」の書き順は以下の通り。

matsu.jpg
task main()
{
    YOKO_right100; //1画目
    UP;
    YOKO_left50;  //1から2への移動
    TATE_UP50;
    DOWN;  //2画目
    TATE_down150;
    UP;
    TATE_UP100;  //2から3への移動
    DOWN;  //3画目
    NANAME_left_half; 
    UP;
    NANAME_leftback_half;  //3から4への移動
    DOWN;  //4画目
    NANAME_right_half;
    UP;
    TATE_UP100;  //4から5への移動
    YOKO_right50;
    DOWN;  //5画目
    NANAME_left_half;
    UP;
    NANAME_leftback_half;  //5から6への移動
    YOKO_right50;
    DOWN;  //6画目
    NANAME_right_half;
    UP;
    YOKO_left100;  //6から7への移動
    DOWN;  //7画目
    NANAME_left_half;
    YOKO_right100;
    UP;
    NANAME_rightback_quarter;  //7から8への移動
    DOWN;   //8画目
    NANAME_right_half;
    UP;

「松」から「本」への移動

    YOKO_left100;
    YOKO_left100;
    TATE_down150;

「本」を書く

「本」の書き順は以下の通り。

moto.jpg
    DOWN;  //1画目
    YOKO_right100;
    YOKO_right100;
    UP;
    YOKO_left100;  //1から2への移動
    TATE_UP50;
    DOWN; //2画目
    TATE_down150;
    UP;
    TATE_UP50;  //2から3への移動
    TATE_UP50;
    DOWN;  //3画目
    NANAME_left;
    UP;
    NANAME_leftback;  //3から4への移動
    DOWN;  //4画目
    NANAME_right;
    UP;
    YOKO_left100;  //4から5への移動
    YOKO_left50;
    TATE_UP25;
    DOWN;  //5画目
    YOKO_right100;
}

完成した文字

moji.jpg

まとめ

結構きれいに書けたのではないかと思う。ただ、問題点として、以下があげられる。

  • 斜めの線がガタガタしてしまう
  • 左右に動くときにペンがぶれる
  • 文字の右側の部分がかすれた感じになる
  • 車体の上下が分解しやすかった

解決策としては、

  • 歯車をきつくあわせる
  • ペンの固定を強化する
  • 左右の重さのバランスをとる
  • 縦に固定するパーツを使う

添付ファイル: filemoto.jpg 14件 [詳細] filematsu.jpg 14件 [詳細] filemoji.jpg 17件 [詳細] fileaiu.jpg 15件 [詳細] filerobo5.jpg 15件 [詳細] filerobo4.JPG 6件 [詳細] filerobo3.jpg 16件 [詳細] filerobo2.jpg 15件 [詳細] filerobo1.jpg 15件 [詳細] filerobo1..jpg 6件 [詳細] fileIMG_4348.jpg 8件 [詳細]

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