目次

課題

課題について

大学での新生活を表す漢字一字をA4の紙に書く。(文字自体は15cm×15cm以内の大きさで7画以上)

選んだ漢字

「志」…僕が大好きなアイドルグループのメンバーの一人である志田愛佳さんの頭文字であることと、

自分自身の目標を明確にして大学生活を送りたいという思いからこの字を選びました。

ロボットの概要

全体

1495784174930.jpg

写真左部分の本体をX軸、本体付属のレール上のサブ機をY軸とし、それぞれの動きを組み合わせて文字を書く。

本体

DSC_0426.JPG

サブ機をレール上に乗せるので、安定感向上のためにタイヤを計4組使用した。また、レール上のサブ機が倒れないようにレールの両端に壁を作った。

サブ機

DSC_0427.JPG

サブ機にはY軸の移動用のモーターに加えて筆を上げる/下げるためのモーターを取り付けた。 サブ機の幅をレール幅と揃えることで安定化を試みた。

ペン装着部分

DSC_0156.JPG

パーツを組み合わせてモーターの可動によって筆を垂直に移動させることができるようにした。

プログラム

目標としたこと

「志」の標準的な書き順通りに書くこと。

自身の書道経験をもとに、筆の入れ方と上げ方を垂直にして、調度良いスピードで筆を運ぶこと。

書き順

_20170803_182319.JPG

プログラム

#define ageru OnFwd(OUT_C,40);Wait(2000);        //ペン装着部分のアームの上下動を定義
#define sageru OnFwd(OUT_C,-40);Wait(2000);      //(ageru):アーム上昇,(sageru):アーム下降
#define xrig(t) OnFwd(OUT_A,40);Wait(t);        //X軸の移動,(t)で稼働時間の関数をとる
#define xlef(t) OnFwd(OUT_A,-40);Wait(t);       //(xrig):X軸右方向移動,(xlef):X軸左方向移動
#define ymae(t) OnFwd(OUT_B,60);Wait(t);        //Y軸の移動,(t)で稼働時間の関数をとる
#define yura(t) OnFwd(OUT_B,-60);Wait(t);       //(ymae):Y軸前方移動,(yura):Y軸後方移動
#define tome Off(OUT_ABC);Wait(1000);           //(tome):動作の安定化のための静止動作
task main ()
{
    sageru;                                     //1画目
    tome;
    xrig(800);
    tome;
    ageru;                                      //1~2画目移動
    tome;
    xlef(450);
    tome;
    ymae(150);
    tome;
    sageru;                                    //2画目
    tome;
    yura(200);
    tome;
    ageru;
    tome;
    xlef(150);                                //2~3画目移動
    tome;
    sageru;                                  //3画目
    tome;
    xrig(450);
    tome;
    ageru;
    tome;
    xlef(410);                               //3~4画目移動
    tome;
    yura(80);
    tome;
    sageru;                                //4画目
    tome;
    xlef(10);yura(100);
    tome;
    ageru;
    tome;
    xrig(130);                              //4~5画目移動
    tome;
    ymae(120);
    tome;
    sageru;                                //5画目
    tome;
    OnFwd(OUT_B,-35);xrig(300);Off(OUT_C);xrig(150);
    tome;
    xlef(50);ymae(100);
    tome;
    ageru;
    tome;
    xlef(100);                             //5~6画目移動
    tome;
    ymae(140);
    tome;
    sageru;                                //6画目
    tome;
    xrig(50);yura(110);
    tome;
    ageru;
    tome;
    xrig(130);                             //6~7画目移動
    tome;
    ymae(130);
    tome;
    sageru;                                //7画目
    tome;
    xrig(20);yura(110);
    tome;
    ageru;
    tome;
}

プログラミングで工夫した点

・まずはじめにX軸とY軸、筆の上下動を定義することで、

 プログラミングを視覚的にも簡潔になるようにまとめた。

・時間関数を取ることでプログラミング・修正を容易に行えるようにした。

まとめ

完成作品

_20170526_164244.JPG

10回程度同じプログラムを試してみた結果、安定して字が書けました。

よって適切なプログラミングができたと考えられます。

反省・感想

・最初に組んでみたロボットで字を書いてみたところ、動作中の転倒が多く

 字を書く際の筆圧によってブレーキがかかってしまうことを発見した。

 そこで安定性を高めるためにロボットをもう一度組み直した結果このロボットが完成した。

 力のかかり方を大雑把で良いので把握して、そこを補強することが重要だと感じた。

・この字の最大の難関は5画目の曲線で、X軸とY軸のスピード調整に苦労したが、

 試行錯誤を重ねることによって最終的によいプログラミングができた。

再度挑戦する際には

ロボットの動かし方をきめること(軸のとり方)、プログラミングの効率化

(最初に縦と横をそれぞれきれいに書くことのできるプログラミングを

見つけること)が最終的に簡潔にまとまったプログラミングになるので、

地道な作業をする中でも、自分は今何のプログラミングしているか理解しながら

進めることがプログラミングの効率化には重要だと感じた。


添付ファイル: file_20170803_182319.JPG 104件 [詳細] fileDSC_0156.JPG 96件 [詳細] fileDSC_0427.JPG 82件 [詳細] file_20170526_164244.JPG 91件 [詳細] fileDSC_0426.JPG 79件 [詳細] file1495784174930.jpg 83件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-03 (木) 18:33:41 (750d)