目次

課題について

自分の住んでいた都道府県名、市町村名、地区名の中から、
2文字以上で13画以上の漢字を選び、それをA4の用紙に書くロボットを作成する。

選んだ文字

私たちが選んだ文字は、私の出身県にある「高山」という文字です。

ロボット本体について

書き方

ロボットをそれぞれx軸、y軸に分けて書けるようにした。

Inked1559666182987_LI.jpg

ロボットの仕組み

パーツ

これらのパーツが私のグループのロボットを形成しています。

1559666174509.jpg

ロボットの全容

以下の写真が完成したロボットです。
大まかに言うと、母体となる機器類にレールを取り付け、
そのレールの上をモーターが走り、モーターに取り付けられたいるペンが上下する設計となっています。

InkedInked1559666181450_LI.jpg

X軸

X軸は1枚目の写真の大きなタイヤが付いているものと
レールが付いているものを合体させたものを前後に動かすことにより制御しています。

1559666168350.jpg

Y軸

Y軸は、下記のパーツを主に使い、レールの上を
2つ目の写真のモーターが2つ合体しているパーツが走ることで制御している。

1559666172924.jpg
1559666163833.jpg

Z軸

Z軸は1枚目の写真の機構のペンを上下させることで制御している。

Inked1559666178167_LI.jpg

ここからペンの上下の具体的な構造を見ていきます。
まず、ペンの上げ方ですが下の図を見てもらうとわかりやすいのですが、
向かって正面右回りでモーターが回転すると小さい歯車が右に、大きい歯車が左に回転し、 大きい歯車に付いている3個穴の開いている部品が上に、モーターの上部にがっちりと固定されている
7個穴が開いている長い部品も上に上がり、ペンが固定されている部分が上に上げるという仕組みです。

Inked1559666179959_LI.jpg

ペンの下げ方は上記で記した上げ方の全く逆のことをすれば、ペンが下がります。

InkedInked1559666179958_LI.jpg

書き順

どうすれば簡単に書けるかを突き止めた結果、下の写真のような書き方になりました。

Inked1559666182986_LI.jpg

プログラムについて

まず、私たちのプログラミングは始めに#defineを使い、モーターの動作などをマクロを使い、定義しました。

#define arm_up OnFwd(OUT_B,20);Wait(700);Off(OUT_B);
#define arm_down OnRev(OUT_B,20);Wait(700);Off(OUT_B);
#define stopA Off(OUT_A);
#define stopC Off(OUT_C);
#define straightA OnRev(OUT_A,20);
#define backA OnFwd(OUT_A,20);
#define straightC OnFwd(OUT_C,20);
#define backC OnRev(OUT_C,20);

アームの上げ下げはarm_up,arm_down で行い、文字の書く方向は下の写真の通りです。

Inked1559666182989_LI.jpg

ここから下のプログラムは、
ペンを下ろし、
本体が文字を書き、
ペンを上げ、
本体が次の書く場所へと移動する
という動作の繰り返しです。

一画目

task main()
{
    arm_down;
    straightA;
    Wait(1500);
    stopA;
    arm_up;

一画目から二画目へ移動

    backA;
    Wait(750);
    stopA;

二画目

    arm_down;
    backC;
    Wait(385);
    stopC;
    arm_up;

二画目から三画目へ移動

    backA;
    Wait(385);
    stopA;
    straightC;
    Wait(565);
    stopC;

三画目

    arm_down;
    straightA;
    Wait(750);
    stopA;
    straightC;
    Wait(565);
    stopC;
    backA;
    Wait(750);
    stopA;
    backC;
    Wait(600);
    stopC;
    arm_up;

三画目から四画目へ移動

    backA;
    Wait(400);
    stopA;
    straightC;
    Wait(2000);
    stopC;
    straightA;
    Wait(281);
    stopA;

四画目

    arm_down;
    backA;
    Wait(310);
    stopA;
    backC;
    Wait(1125);
    stopC;
    straightA;
    Wait(1500);
    stopA;
    straightC;
    Wait(1125);
    stopC;
    arm_up;

四画目から五画目へ移動

    backA;
    Wait(1111);
    stopA;
    backC;
    Wait(281);
    stopC;

五画目へ

    arm_down;
    backC;
    Wait(562);
    stopC;
    straightA;
    Wait(750);
    stopA;
    straightC;
    Wait(562);
    stopC;
    backA;
    Wait(750);
    stopA;
    arm_up;

五画目から六画目へ移動

    backC;
    Wait(750);
    stopC;
    backA;
    Wait(1125);
    stopA;

六画目

    arm_down;
    straightC;
    Wait(1125);
    stopC;
    backA;
    Wait(1500);
    stopA;
    backC;
    Wait(1125);
    stopC;
    arm_up;

六画目から七画目へ移動

    backC;
    Wait(1125);
    stopC;
    straightA;
    Wait(725);
    stopA;

七画目

    arm_down;
    straightC;
    Wait(2250);
    stopC;
    arm_up;
    backA;
    Wait(2250);
    stopA;
}

完成した文字

1559666182984.jpg

まとめ

課題はきちんと達成することができました。かなり出来の良い漢字が書けたと思います。
しかし課題があるとするならば、「高」が少し横にずれてしまったことです。
原因は、筆圧が強すぎたのでずれてしまったのだと思います。
解決策としてはペンの高さをきちんと揃えるプログラミングをあらかじめ作り、
ペンの高さが一定になる所を精密に模索することが必要でした。


添付ファイル: fileInked1559666182989_LI.jpg 21件 [詳細] fileInked1559666182986_LI.jpg 16件 [詳細] fileInked1559666179959_LI.jpg 17件 [詳細] fileInkedInked1559666179958_LI.jpg 15件 [詳細] fileInked1559666178167_LI.jpg 17件 [詳細] file1559666182984.jpg 17件 [詳細] file1559666172924.jpg 24件 [詳細] fileInkedInked1559666181450_LI.jpg 21件 [詳細] fileInked1559666182987_LI.jpg 24件 [詳細] fileInked1559666181459_LI.jpg 10件 [詳細] file1559666179957.jpg 13件 [詳細] file1559666168350.jpg 27件 [詳細] file1559666163833.jpg 23件 [詳細] file1559666171310.jpg 8件 [詳細] file1559666172923.jpg 11件 [詳細] file1559666181458.jpg 14件 [詳細] file1559666174509.jpg 21件 [詳細]

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