*目次 [#l009d94a] ・課題について[[#l899fe2d]] ・ロボットの説明[[#fc0fc420]] ・プログラムについて[[#s644a511]] ・まとめ [[#y3f8d024]] *課題について [#l899fe2d] 最初の課題は「松本の大学生活を表す漢字一文字を書くロボットを製作せよ」というものだった。 入学して1か月、まだ慣れない事も多く苦労していたので「苦」という漢字を選んだ。 誰が見てもすぐに「苦」とわかるようにきれいにはっきり書くことを目標にした。 *ロボットの説明 [#fc0fc420] 最初はペンの位置は固定してロボット本体が動いて字を書くように作成したがプログラムが上手くいかないため作り直すことにした。そして完成したのが下の写真のものだ。 写真 *プログラムについて [#s644a511] プログラムは大まかに「草冠」と「十」と「口」の3つだ。 「草冠」は簡単に思われるかもしれないが理論的な秒数ではうまくいかず微調整が何度も必要になった。 「十」は難しいプログラムではなかったがバランスを考えて自分が納得するまで改良を繰り返した。 「口」はペンを下したままX軸方向とY軸方向に順番に動かすだけでよかったので比較的に楽だった。 今回はプログラムを書きやすいようにロボットを作成したので、全体的に動きのプログラムは非常に簡単だった。ただし、字のバランスが悪かったり「口」の最初と最後が交わらなかったり動かす時間の調整にかなりの時間を費やした。おそらくロボットの慣性や歯車の噛み合わせが完璧でなかったこと、机との摩擦が原因だろう思う。また、慣性で動いた状態のままペンを下してしまうトラブルがあったのでペンを下す前に0.5秒ほど待つという工夫をした。この動きは頻繁にあるのでサブルーチンを使用した。そして完成したプログラムが下のものだ。 sub pen_up() { OnRev(OUT_B); } sub pen_down() { Off(OUT_AC); Wait(50); Off(OUT_B); Wait(100); } task main() { OnFwd(OUT_C); //1画目 Wait(53); Off(OUT_C); Wait(52); pen_up(); //移動 OnFwd(OUT_A); Wait(9); Off(OUT_A); OnRev(OUT_C); Wait(43); pen_down(); OnRev(OUT_A); //2画目 Wait(14); pen_up(); //移動 OnFwd(OUT_A); Wait(18); Off(OUT_A); OnFwd(OUT_C); Wait(40); pen_down(); OnRev(OUT_A); //3画目 Wait(14); Off(OUT_A); pen_up(); //移動 OnRev(OUT_C); Wait(22); pen_down(); OnRev(OUT_A); //4画目 Wait(11); Off(OUT_A); Wait(50); pen_up(); //移動 OnRev(OUT_C); Wait(30); pen_down(); OnFwd(OUT_C); //口部分 Wait(44); Off(OUT_C); Wait(50); OnRev(OUT_A); Wait(20); Off(OUT_A); Wait(50); OnRev(OUT_C); Wait(44); Off(OUT_C); Wait(50); OnFwd(OUT_A); Wait(16); Off(OUT_A); Wait(50); pen_up(); //移動 OnFwd(OUT_A); Wait(10); Off(OUT_A); OnRev(OUT_C); Wait(10); pen_down(); OnFwd(OUT_C); //ラスト画目 Wait(49); Off(OUT_ABC); }[[2017a/Member]] *まとめ [#y3f8d024] **書けた漢字 [#d9d729df] ロボットに動ける範囲の制限があったのでスタートの位置を気を付ける必要があった。下の写真が書けた漢字だ。上手くいったりいかなかったりしたので一番きれいに書けたものを選んだ。 **感想 [#pd39577b] こんなに時間をかけて何かを作成したのは初めてかもしれない。何度も投げ出したくなったけど、周りの人も苦労しているところを見ると最後まで頑張ることができた。でもまだいくつかの課題があると思う。ロボットは動き(特にペンの上下運動)をもう少しゆっくりできるように歯車の組み合わせを調整したほうがよかった。プログラムは長くなりすぎたのでもっとシンプルで分かりやすいようにすべきだった。次回からは今回の課題を達成できるように努力していきたい。 ロボットを作る時は「歯車が上手く嚙み合わない」「壊れやすい」「摩擦が大きくてモーターがうごかない」などのもんだいが発生した