2019a/Member

課題について

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

文字の書き順や書き出しの方向については下画像の赤色の番号、矢印方向の通りです。「松本」の文字に沿った動き以外は青色のアルファベット、矢印で表しています。

松本の字動き

プログラミングについて

多くの角度や長さを待機時間の調整によって使用するため、今回のプログラミングに関してはあえて#defineで定義しませんでした。 あらかじめ何秒で何度曲がるか、何センチ進むかなどを計測しておいてからプログラミング製作→実践→微調整という作業を行いました。

「松」の字の「木」辺の横棒左端からスタート

task main (){
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //1の書き出し
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);
OnRev(OUT_AC);Wait(20);Off(OUT_AC);

OnFwd(OUT_A);OnRev(OUT_C);Wait(102);Off(OUT_AC);    //△僚颪出しへ位置調整
OnRev(OUT_AC);Wait(20);Off(OUT_AC);                 
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //⊇颪出し   
OnFwd(OUT_AC);Wait(80);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);    

OnRev(OUT_AC);Wait(60);Off(OUT_AC);    //   の書き出しへ位置調整
OnFwd(OUT_A);OnRev(OUT_C);Wait(34);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //の書き出し
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);

OnRev(OUT_AC);Wait(40);Off(OUT_AC);    //い僚颪出しへ位置調整
OnFwd(OUT_C);OnRev(OUT_A);Wait(85);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //そ颪出し
OnFwd(OUT_AC);Wait(20);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);

OnRev(OUT_AC);Wait(40);Off(OUT_AC);    // 「松」の字の「木」辺の横棒の右端へ移動
OnFwd(OUT_C);OnRev(OUT_A);Wait(35);Off(OUT_AC);

OnFwd(OUT_AC);Wait(30);Off(OUT_AC);    //Aの移動

OnFwd(OUT_C);OnRev(OUT_A);Wait(68);Off(OUT_AC);      //イ僚颪出しへ位置調整 
OnRev(OUT_AC);Wait(13);Off(OUT_AC);  
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //ソ颪出し
OnFwd(OUT_AC);Wait(26);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);

OnFwd(OUT_A);OnRev(OUT_C);Wait(68);Off(OUT_AC);    //右へ旋回してBの移動
OnFwd(OUT_AC);Wait(20);Off(OUT_AC);

OnFwd(OUT_A);OnRev(OUT_C);Wait(68);Off(OUT_AC);    
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //書き出し
OnFwd(OUT_AC);Wait(26);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);

OnRev(OUT_AC);Wait(13);Off(OUT_AC);    //Cの移動方向へ向き調整  
OnFwd(OUT_A);OnRev(OUT_C);Wait(136);Off(OUT_AC);    //Cの移動
OnFwd(OUT_AC);Wait(14);Off(OUT_AC);

OnFwd(OUT_C);OnRev(OUT_A);Wait(68);Off(OUT_AC);    //Г僚颪出し方向を調整
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //Ы颪出し
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnFwd(OUT_C);OnRev(OUT_A);Wait(136);Off(OUT_AC);    //方向転換
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnRev(OUT_B);Wait(4); Off(OUT_B);

OnFwd(OUT_A);OnRev(OUT_C);Wait(68);Off(OUT_AC);    //┐僚颪出しへ位置調整
OnRev(OUT_AC);Wait(10);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //┰颪出し
OnFwd(OUT_AC);Wait(20);Off(OUT_AC);
OnRev(OUT_B);Wait(4);Off(OUT_B);

「松」の字終了

「本」の字開始位置まで移動

OnFwd(OUT_AC);Wait(10);Off(OUT_AC);    //Dの移動 
OnFwd(OUT_A);OnRev(OUT_C);Wait(136);Off(OUT_AC);
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnFwd(OUT_C);OnRev(OUT_A);Wait(102);Off(OUT_AC);

「本」の字開始位置の縦棒頂点に到着

「本」の字開始

OnFwd(OUT_B);Wait(4);Off(OUT_B);    //の書き出し
OnFwd(OUT_AC);Wait(80);Off(OUT_AC);
OnRev(OUT_B);Wait(4);Off(OUT_B);

OnRev(OUT_AC);Wait(20);Off(OUT_AC);    //の書き出しへ位置調整
OnFwd(OUT_C);OnRev(OUT_A);Wait(102);Off(OUT_AC);
OnRev(OUT_AC);Wait(13);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //書き出し
OnFwd(OUT_AC);Wait(26);Off(OUT_AC);
OnRev(OUT_B);Wait(4);Off(OUT_B);

OnRev(OUT_AC);Wait(13);Off(OUT_AC);    //の書き出しへ位置調整
OnFwd(OUT_A);OnRev(OUT_C);Wait(102);Off(OUT_AC);
OnRev(OUT_AC);Wait(40);Off(OUT_AC);
OnFwd(OUT_A);OnRev(OUT_C);Wait(51);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //書き出し
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnRev(OUT_B);Wait(4);Off(OUT_B);

OnRev(OUT_AC);Wait(40);Off(OUT_AC);    //の書き出しへ位置調整
OnFwd(OUT_C);OnRev(OUT_A);Wait(102);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //書き出し
OnFwd(OUT_AC);Wait(40);Off(OUT_AC);
OnRev(OUT_B);Wait(4);Off(OUT_B)
 
OnRev(OUT_AC);Wait(40);Off(OUT_AC);    //の書き出しへ位置調整
OnFwd(OUT_C);OnRev(OUT_A);Wait(51);Off(OUT_AC);
OnRev(OUT_AC);Wait(27);Off(OUT_AC);
OnFwd(OUT_B);Wait(4);Off(OUT_B);    //書き出し
OnFwd(OUT_AC);Wait(54);Off(OUT_AC);
OnRev(OUT_B);Wait(4);Off(OUT_B);}

「本」の字終了

「松本」終了

 

ロボットについて

動きがそのまま文字としてかけるような四輪のロボットにしました。 ペンにはサインペンを使用。ペンの固定には輪ゴムを使用。

ペンの設置
  工夫した点
  • ペンを斜めに設置

RIS_draw

上の画像は今回使用したロボットを横から見た際のペンの状態を簡易的に表したものです。 緑の棒をペンとしてペンは赤い円を軸として地面との接地、離地を行う。

  • 斜めにペンを設置することによってペンの上げ下げが早く行なえるようにして文字を書く一連の動作の効率化を図りました。
  • 人間は文字を書くときにペンを斜めにして文字を書くのでそれを模倣して斜めにペンを設置すれば自然な文字がかけるのではないかと考え、このようにしました。
    ペンの設置
  • ペンの接地箇所をロボット旋回時の軸に置くことによってロボット旋回後の文字の位置が失われないようにしました。

    ペンの設置

結果

少し傾いてしまったり多少のズレがあったが字一つ一つはきれいに書かせることができた。 「松」の辺である「木」のバランスに気を付けてプログラミングを設定したのでそこがうまくできてよかった。 文字が途切れてしまっている箇所がいくつかあり、自然な文字にはできなくて残念だった。

ペンの設置

まとめ

大まかなプログラミングに関しては短時間で作ることができたが実際にプログラムをロボットにインストールして動かしてみると回転しすぎたりしてその微調整が大変だった。 次の課題では今回のロボット製作の経験を基により効率よくテストや微調整を行い、正確なロボットが作れるようにしたい。


添付ファイル: fileRIS_mission1_draw.jpg 5件 [詳細] filematumoto (1).jpg 9件 [詳細] fileimage1 - コピー.jpeg 12件 [詳細] fileimage4.jpeg 17件 [詳細] fileimage2 - コピー.jpeg 20件 [詳細] fileimage5.jpeg 32件 [詳細]

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