〜課題1の目次〜
書道ロボットの製作。詳しくはhttp://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMission1を参照。
以上、筆ペン側からA,B,Cの3つのモータを用いて、筆ペンで文字を書くロボットを製作した。
筆ペンが下がりすぎてしまうのを防ぐため、動きを制限するパーツを取り付けた。
モータAとモータBの連結は写真のようなギアを用いた。 これにより、モータCではForwardでロボットが左へ動くが、モータBはForwardで右へ動くことになる。
この書道ロボットはモータB,Cを同時に動かすことで前後に動くので
当初1個だったキャスターを2個用いることで動きがスムーズになった。
今回製作したロボット本体(モータCの部分)はその場を動かないので、同じ線であってもプログラミングが変わってしまう。
例えば、横線を縦に並べて2本書くとき、
1本目を書き始める位置と2本目を書き始める位置ではモータの位置関係異なっているため、モータの速度と動かす時間が異なることになる。
電池の消耗により、動かすごとに一画一画の長さが変わってしまい、プログラミングの手直しがとても大変だった。
#define down_pen OnFwd(OUT_A,10);Wait(800);Off(OUT_A);Wait(500); #define up_pen OnRev(OUT_A,10);Wait(800);Off(OUT_A);Wait(500); #define bc_off Off(OUT_BC);Wait(1500); #define b_off Off(OUT_B);Wait(1500); #define c_off Off(OUT_C);Wait(1500); task main () { OnRev(OUT_B,20); //奈ー2画目 Wait(750); b_off; up_pen; OnFwd(OUT_B,20); //元に戻る Wait(500); b_off; OnFwd(OUT_C,20); //位置の調整 Wait(250); c_off; down_pen; OnRev(OUT_C,20); //奈ー1画目 Wait(550); c_off; up_pen; OnRev(OUT_B,20); //位置の調整 Wait(100); b_off; OnFwd(OUT_C,20); //位置の調整 Wait(100); c_off; down_pen; OnRev(OUT_C,25); //奈ー3画目 OnRev(OUT_B,25); Wait(450); bc_off; up_pen; OnFwd(OUT_B,15); OnFwd(OUT_C,20); //位置の調整 Wait(400); bc_off; down_pen; OnRev(OUT_C,25); //奈ー4画目 Wait(80); b_off; up_pen; OnRev(OUT_B,20); //位置の調整 Wait(50); b_off; OnFwd(OUT_C,20); Wait(50); c_off; down_pen; OnRev(OUT_C,20); //奈ー5画目 Wait(450); c_off; up_pen; OnFwd(OUT_C,15); //位置の調整 OnRev(OUT_B,15); Wait(100); bc_off; down_pen; OnRev(OUT_B,20); //奈ー6画目 OnRev(OUT_C,25); Wait(250); bc_off; up_pen; OnFwd(OUT_C,20); //位置の調整 Wait(100); c_off; down_pen; OnFwd(OUT_B,20); //奈ー7画目 OnFwd(OUT_C,20); Wait(300); bc_off; up_pen; OnRev(OUT_C,20); //位置の調整 Wait(300); c_off; down_pen; OnRev(OUT_C,20); //奈ー8画目 Wait(250); c_off; }
最終的に読める字が書けず、とても残念である。
その上、時間がかかりすぎてしまった。やはり車のようなロボットを製作し、ロボット自体を動かした方が時間がかかりすぎず、読める字をかけたかもしれない。しかし、今回試行錯誤しながらプログラミングを考えることができ、とても良い経験になったと思う。また、今回の課題でタイピングもだんだんと速くできるようになった。次回の課題は今回の反省点を活かせるよう取り組みたい。