課題1

出身地の都道府県や市、町などの中から2文字を選び、それをA4のの用紙に書くロボットを製作せよ。

選んだ文字

滋賀県にある、とある町の名前の「高田」という文字を選んだ。

ロボットの説明

アーム

右や左に曲がったり、旋回しても筆ペンの用紙上での位置がブレないように筆先が前輪を結んだ直線の中点の真上に設置した。また、アームのコンパクト化、筆先のブレ防止のために歯車と螺旋状の部品を用いて、筆ペンを地面と垂直に固定したまま上下に動かせるようにした。(図A)筆は部品同士で挟んでアームに固定している。仕組みは図のようになっている。(図B)

buhinnB.png penjouge.png

IMG_1261.jpg ※筆部分は見やすいように蛍光ペン使用している。

車輪部分

シンプルな三輪構造で前輪が二輪、後輪が一輪となっている。前輪の二輪が駆動し、後輪は360°回転可能となっている。

IMG_1250.jpg

プログラミングにあたっての準備

#define arm_down OnFwd(OUT_A,50);Wait(150);Off(OUT_A);//筆ペンを上げる
#define arm_up OnRev(OUT_A,50);Wait(150);Off(OUT_A);//筆ペンを下ろす
#define go_straight OnFwd(OUT_B,40);OnFwd(OUT_C,43);//前進する
左右のモータの出力が異なるため調整した。
#define turn_right OnFwd(OUT_C,25);OnRev(OUT_B,25);Wait(1425);Off(OUT_BC);//直角右に曲がる
#define turn_left OnFwd(OUT_B,25);OnRev(OUT_C,25);Wait(1425);Off(OUT_BC);//直角左に曲がる
#define turn_R OnFwd(OUT_C,25);OnRev(OUT_B,25);//右に曲がる
#define turn_L OnRev(OUT_C,25);OnFwd(OUT_B,25);//左に曲がる
#define off Off(OUT_BC);//停止する

プログラム本編

高田割り振り.png

「高」を書くためのプログラム

   arm_down    //筆ペンを下ろす・・・〇呂泙
   go_straight     //前に進む
   Wait(150);   //0.15秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・―わり
   turn_right      //右に90度曲がる・・・移動始まり
   go_straight     //前に進む
   Wait(350);      //0.35秒間状態を保つ
   off             //車輪を止める
   u_turn          //180度回る・・・移動終わり
   arm_down        //筆ペンを下ろす・・・∋呂泙
   go_straight     //前に進む
   Wait(700);      //0.70秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・⊇わり
   turn_R          //右に曲がる・・・移動始まり
   Wait(2700);     //2.70秒間状態を保つ
   off             //車輪を止める
   go_straight     //前に進む
   Wait(650);      //0.65秒間状態を保つ
   off             //車輪を止める
   turn_L     //左に曲がる
   Wait(1275);     //1.275秒間状態を保つ
   off             //車輪を止める・・・移動終わり
   arm_down        //筆ペンを下ろす・・・始まり
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(500);      //0.50秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・終わり
   turn_left       //左に90度曲がる・・・移動始まり
   go_straight     //前に進む
   Wait(500);      //0.50秒間状態を保つ
   off             //車輪を止める
   turn_L          //左に曲がる
   Wait(950);      //0.95秒間状態を保つ
   off             //車輪を止める
   go_straight     //前に進む
   Wait(230);      //0.23秒間状態を保つ
   off             //車輪を止める
   turn_L          //左に曲がる
   Wait(425);      //0.425秒間状態を保つ
   off             //車輪を止める
   go_straight     //前に進む
   Wait(500);      //0.50秒間状態を保つ
   off             //車輪を止める
   u_turn          //180度回る・・・移動終わり
   arm_down        //筆ペンを下ろす・・・せ呂泙
   go_straight     //前に進む
   Wait(500);      //0.50秒間状態を保つ
   off             //車輪を止める
   turn_right      //右に90度曲がる
   go_straight     //前に進む
   Wait(765);      //0.765秒間状態を保つ
   off             //車輪を止める
   turn_right      //右に90度曲がる
   go_straight     //前に進む
   Wait(500);      //0.50秒間状態を保つ
   off             //車輪を止める
   turn_right      //右に90度曲がる
   turn_R          //右に曲がる
   Wait(425);      //0.425秒間状態を保つ
   off             //車輪を止める
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・そわり
   go_straight     //前に進む・・・移動始まり
   Wait(378);      //0.378秒間状態を保つ
   off             //車輪を止める
   turn_L          //左に曲がる
   Wait(1850);     //1,85秒間状態を保つ
   off             //車輪を止める・・・移動終わり
   arm_down        //筆ペンを下ろす・・・セ呂泙
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(150);      //0.15秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・ソわり

「田」を書くためのプログラム

   arm_down        //筆ペンを下ろす・・・始まり
   go_straight     //前に進む
   Wait(460);      //0.46秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(460);      //0.46秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(460);      //0.46秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(460);      //0.46秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・終わり
   turn_left       //左に90度曲がる・・・移動始まり
   go_straight     //前に進む
   Wait(230);      //0.23秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる・・・移動終わり
   arm_down        //筆ペンを下ろす・・・Щ呂泙
   go_straight     //前に進む
   Wait(460);      //0.46秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・Ыわり
   turn_left       //左に90度曲がる・・・移動始まり
   go_straight     //前に進む
   Wait(230);      //0.23秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる
   go_straight     //前に進む
   Wait(230);      //0.23秒間状態を保つ
   off             //車輪を止める
   turn_left       //左に90度曲がる・・・移動終わり
   arm_down        //筆ペンを下ろす・・・┿呂泙
   go_straight     //前に進む
   Wait(430);      //0.43秒間状態を保つ
   off             //車輪を止める
   arm_up          //筆ペンを上げる・・・┰わり

filetakada.pdf

青線は筆先が接地しており、赤線は接地していない。

完成した文字

IMG_1257ex2.jpg 少し傾いてしまったが、線はきれいに引けた。

課題1を振り返って

苦労した点

ロボット第一弾は重心が後方に偏ってしまい、旋回時に前輪が浮いてしまうという問題が起こったので、解決するために重心を偏らせず、うまく機能するようなロボットを製作するのが大変だった。また、ロボットの燃費が非常に悪く、一通り動作させる度に出力が変わってしまい、プログラミングと動作がずれてしまうところを調整することも大変だった。

良かった点

ロボット製作において、アームの接地位置を前輪の中点においたことや、アームのリーチを無くし、歯車を使うことでロボット全体のコンパクト化が可能になったこと、また、プログラムにおいて、できるだけ#defineを使い一文一文を短く出来たことがよかった。

反省点

ロボット第一弾が完成し、それに合わせたプログラミングが大方できたところでロボットに問題が生じ、最初から作り直すことがあったので、逐一確認して、最小限の手直しで済むようにしたい。また、プログラミングの行数が多くなってしまったので、様々な関数を駆使して短く抑えられるようにしたい。


添付ファイル: file高田割り振り.png 6件 [詳細] filepenjouge.png 8件 [詳細] filebuhinnB.png 5件 [詳細] filepenueshita (3).png [詳細] filebuhinnA.png 3件 [詳細] filepenueshita2.tiff 5件 [詳細] filepenueshita.tif 5件 [詳細] fileIMG_1261.jpg 9件 [詳細] fileIMG_1252.jpg 5件 [詳細] fileIMG_1251.jpg 5件 [詳細] fileIMG_1250.jpg 6件 [詳細] fileIMG_1250ex.jpg 4件 [詳細] fileIMG_1257ex2.jpg 9件 [詳細] filetakada.pdf 10件 [詳細] fileIMG_1261ex.jpg 5件 [詳細] fileIMG_1252ex.jpg 4件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-17 (金) 15:02:32 (120d)