2019a/Member

課題1

課題内容

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

選んだ文字

長野といえば!の松本にしました

ロボット

ロボットの全体

漢字の丸みを再現するためX軸方向を回転型Y軸方向を直線型に分けた。これらを考えて以下の3つの機構を作成した。

.蹈椒奪箸Y軸方向に動かす

▲撻鵑X軸方向に動かす

ペンの上下

IMG_5819.png

.蹈椒奪箸Y軸方向に動かす

モーターにギアをつけ後輪を回すことでY軸に動くようにした。進む距離が減ったため細かな微調整がやりやすくなる。

IMG_5815.png

▲撻鵑X軸方向に動かす

モーターにギアをつけ円形に回るようにした。

IMG_5816.png

ペンの上下

ゴムで固定し回転方式でペンの上下をする。

IMG_5817.png

プログラム

漢字はやはり書き順通り書くのが一番うまく書けると考えた。松の木偏と本の木の部分の動き方が同じなので木に関してはペンの上下以外#defineを使わず数値を変更し角度と長さ変更だけにした。

課題

X軸が円形回転のためX軸方向に直線を書くとき丸くなってしまうのを回避するため前進や後退をする必要があった。

ペンの上下のプログラム

ペンを紙に接触させる、紙から離す

#define down OnFwd(OUT_C,30);Wait(250);Off(OUT_C); /ペンを下げる
#define up OnRev(OUT_C,30);Wait(250);Off(OUT_C); /ペンをあげる

松のプログラム

   OnRev(OUT_B,40); /     0→1移動
   Wait(2000);
   Off(OUT_B);
   down;//   一画目 課題部分
   OnFwd(OUT_B,40);
   Wait(1000);
   OnFwd(OUT_A,40);
   Wait(500);
   Off(OUT_A);
   OnRev(OUT_A,40);
   Wait(500);
   Off(OUT_AB);
   up;
   OnRev(OUT_A,63);//   1→2移動
   OnRev(OUT_B,55);
   Wait(800);
   Off(OUT_AB);
   down;//   二画目
   OnFwd(OUT_A,59);
   Wait(7400);
   Off(OUT_A);
   up;
   OnRev(OUT_A,60);//   2→3移動
   Wait(6100);
   Off(OUT_A);
   down;//   三画目
   OnFwd(OUT_A,60);
   OnRev(OUT_B,30);
   Wait(2900);
   Off(OUT_AB);
   up;
   OnRev(OUT_A,60);//   3→4移動
   OnFwd(OUT_B,27);
   Wait(2790);
   Off(OUT_AB);
   down;/   四画目
   OnFwd(OUT_A,60);
   OnFwd(OUT_B,25);
   Wait(2100);   
   Off(OUT_AB);  
   up;
   OnRev(OUT_A,60);//   4→5移動
   Wait(2100);
   Off(OUT_A);
   OnFwd(OUT_B,25);
   Wait(1350);
   Off(OUT_B);
   down;//   五画目
   OnFwd(OUT_A,60);
   OnRev(OUT_B,20); 
   Wait(2800);
   Off(OUT_AB);
   up:
   OnRev(OUT_A,60);//   5→6移動
   Wait(3250);
   Off(OUT_A);
   OnFwd(OUT_B,30);
   Wait(2100);
   Off(OUT_B);
   down;//   六画目
   OnFwd(OUT_A,60);
   OnFwd(OUT_B,29);
   Wait(2700);
   Off(OUT_A);
   up;
   OnFwd(OUT_A,9);//   6→7移動
   OnRev(OUT_B,50);
   Wait(1500);
   Off(OUT_AB);
   down;//   七画目 
   OnFwd(OUT_A,60);
   OnRev(OUT_B,17);
   Wait(3100);
   Off(OUT_AB);
   OnFwd(OUT_B,40); //課題部分
   OnRev(OUT_A,40);
   Wait(2700);
   Off(OUT_B);
   up;
   OnRev(OUT_A,40);//   7→8移動
   Wait(900);
   Off(OUT_A);
   OnRev(OUT_B,30);
   Wait(500);
   Off(OUT_B);
   down;//   八画目
   OnFwd(OUT_A,60);
   OnFwd(OUT_B,40);
   Wait(1000);
   Off(OUT_AB);
   up;

本のプログラム

   OnRev(OUT_B,30);//   0→1移動
   Wait(6800);
   Off(OUT_B);
   OnFwd(OUT_A,60);
   Wait(5000);
   Off(OUT_A);
   down;//   一画目 
   OnFwd(OUT_B,40);
   Wait(2400);
   Off(OUT_B);
   up;
   OnRev(OUT_A,43);//   1→2移動
   OnRev(OUT_B,34);
   Wait(1600);
   Off(OUT_AB);
   down;//   二画目
   OnFwd(OUT_A,60);
   Wait(8000);
   Off(OUT_A);
   up;
   OnRev(OUT_A,60);//   2→3移動
   Wait(7450);
   Off(OUT_A);
   down;//   三画目
   OnFwd(OUT_A,60);
   OnRev(OUT_B,30);
   Wait(4650);
   Off(OUT_AB);
   up;
   OnRev(OUT_A,60);//   3→4移動
   OnFwd(OUT_B,23);
   Wait(4650);
   Off(OUT_AB);
   down;//   四画目
   OnFwd(OUT_A,60);
   OnFwd(OUT_B,30);
   Wait(4600);   
   Off(OUT_AB);  
   up;
   OnRev(OUT_B,35);//   4→5移動
   Wait(3700);
   Off(OUT_B);
   OnFwd(OUT_A,30);
   Wait(500);
   Off(OUT_A);
   down;//   五画目
   OnFwd(OUT_B,40);
   Wait(1800);
   Off(OUT_B);
   up;

できた文字

IMG_5813.JPG IMG_5814.JPG IMG_5818.JPG

反省と感想

ペンの上下の方法を回転方式にしたため書き始めと書き終わりがはねてしまった。ギアが左右どっちかによってしまうためプログラミングで書くところと戻るところの数値に誤差が出てしまい細かな設定が必要だった。
実家暮らしでロボットを持ち帰るときに部品のパーツがずれたり組み立て直さないといけないことがあり大変だった。次のロボットの際にはロボットを持ち帰らないことを決意した。木には4本交わるところがあったためそこを合わせるのがとても苦労した。


添付ファイル: fileIMG_5819.png 11件 [詳細] fileIMG_5818.JPG 6件 [詳細] fileIMG_5817.png 9件 [詳細] fileIMG_5816.png 7件 [詳細] fileIMG_5815.png 10件 [詳細] fileIMG_5814.JPG 10件 [詳細] fileIMG_5813.JPG 8件 [詳細]

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