*書道ロボットN6課題 [#g56ce85f] 今回の課題は、七画以上の自分の名前を一文字書くというものです。私は、「高」という文字を書くことにしました。 *ロボットの説明&指定モーター、プログラミング [#r5a9e0af] 今回のロボット製作におけるテーマは「オリジナル性のあるロボットを作ろう!!」というテーマと「様々なパーツの活用法を考え、取り入れていく。」というこの2つを考えながらロボットを作りました。 #ref(./11781.jpg,50%); 今回はモーターが3つあるので建て横の動きに加えてペンの上げ下げを加えて1つのモーターに一方向のベクトルを与えるように作ってみました。 **ペンの上げ下げ [#m04afab7] ペンの上げ下げは写真の部品を使いペンが地面に接するか否かで上げ下げとすることにしました。 #ref(./11909.jpg); #ref(./11909.jpg,50%); モーターはCのモーターを使い、ペンの上げ下げのプログラミングは以下の通りに定義し、プログラミングを作っていきました。 #define up RotateMotor(OUT_C,50,40); #define down RotateMotor(OUT_C,-50,40); **横移動 [#nacf1862] 今回、ロボット製作に当たり私が最も苦労したポイントです。タイヤを横から挟み込むことによりタイヤのゴムの特性を生かして固定することを可能にしました。そしてその先にペンの上げ下げを可能にするモーターを固定して横移動を可能にしました。 先にモーターだけ載せているとバランスが崩れて倒れこんでしまうのでその反対側に安定するようにNXCを置き、力のバランスを保ちつつホイールを置き安定させました。モーターはBのモーターを使いました。 #ref(./16348.jpg,25%); **縦移動 [#mce623c4] 縦に関してはこれといったポイントはありませんが重心の真ん中に据え、安定できるようにしモーターを挟み込む形でタイヤを付けました。 *全体を通してのプログラミング [#pd98032a] #define up RotateMotor(OUT_C,50,40); #define down RotateMotor(OUT_C,-50,40); #define sikaku RotateMotor(OUT_A,50,50);RotateMotor(OUT_B,50,90);RotateMotor (OUT_A,-50,15);RotateMotor(OUT_B,-50,90); task main () { down; tate; up; RotateMoter(OUT_B,-50,55); down; RotateMoter(OUT_B,50,110); up; RotateMoter(OUT_A,-50,30); RotateMoter(OUT_B,-50,100); down; sikaku; up; RotateMoter(OUT_A,-50,60); RotateMoter(OUT_B,-50,10); down; RotateMoter(OUT_A,-50,45); RotateMoterOUT_B,50,110); RotateMoter(OUT_A,50,45); up; RotateMoter(OUT_B,50,100); down; sikaku; up; } プログラミングをしていくうえでのポイントは私の文字は線対称なのでそのバランスをしっかり考えつつ作っていい来ました。後、私の文字の中に四角が二つあるので四角で定義してしまいプログラミングを短くしました。 *今回の良かった点、悪かった点(改善点) [#had58669] 今回の最も良かった点は横移動をするためのロボットの構造です。一度作ったときは構造が不安定でしたが作りなおしたときに最初の反省を意識しつつ構造の良い点を引き継ぎ全体が安定し、バランスの良いロボットができたことがいい結果につながりました。ほかの良い点はプログラミングの際四角を定義して短縮できたことやペンの上げ下げを簡単な構造でありつつ、なかなか使わなさそうなパーツを使ってでき最初に挙げたテーマをきちんと達成できたことです。 悪かった点は時間がかかりすぎたことです。社会に出れば納期の問題もあるのでできるだけ早くタスクを終わらし余裕をもってこなしていけるよう努力していきたいです。後、固定のためとはいえパーツを少し使いすぎたかなと思いました。できるだけコストを抑えるためにも少ないパーツで作りかつ、きちんと固定して安定したロボットを作りたいです。