課題2では課題1のコースを2つ組み合わせ新たなコースを造り、物を運ぶ動作に加え、物を受け渡す動作をが加わった。前回と同じ部品点数で物を投げる・受け取ると言う動作を加えなければいけなかった。†1つのコースを往復することが課題の最終目標であった。得点を獲得するためには計10箇所のポイントをクリアする必要があった。ここで最も重要なことは途中で失敗をするとそれ以降の得点が取れないことにある。開発はこの事を意識してやらなくてはならなかった。最初のボールを掴む動作を失敗した時点で、得点は取れずに終わってしまう。自分が開発を進める中で気を使った部分はこの初めのボールを掴む動作でもあった。機体には“染五郎”と言う名前を付けた。機体は出来るだけ同じプログラムで動くように同じ設計の機体を2機作った。前回から使っていた機体を改良して使った。前回の機体と今回の機体では掴む動作の他に投げる動作を必要ようとしていたため、前回より難しかった。掴む動作と投げる動作を逆向きにすることで2つの動作を1つのモータで実現した。†プルグラムは基本的に前回の課題で扱ったものを基準に作った。ここでは新しく使いされたマクロと主なプログラムのアウトラインを紹介したい。今回の課題でつかされたプログラムは共同で作業を行っていた人から受け継いで使ったものである。プログラムを参考にさしていただいたのはチームメンバーの"ryu"さんとです。このプログラムのマクロで追加されたのは基本的に投げる部分だけである。このプログラムのほとんどは以前の課題で使ってきたプログラムを組み合われているので、一から作らずに楽にできる。細かい部分では調整が必要だった。90°を正確に曲がるところが気を使った。PlaySound(SOUND_CLICK);//ブザー3Wait(1000);trace_R();turn_SR;Wait(700);//////////////////////////////二回目の交差点終了/////////////////////////////////////trace_L();Wait(1000);PlaySound(SOUND_CLICK);PlaySound(SOUND_CLICK);//////////////////////////////////三回目の交差点認識////////////////////////////////go_b;Wait(800);Off(OUT_AC);Wait(100);RotateMotor(OUT_A,-70,410);//90°向きを変えるthrow;RotateMotor(OUT_A,70,470);//向きをもどす。多めに回すことで確実にライン上にセンサーがくるようにした。自分が担当した初めのボールを取りにいく部分と初めの投げる角度を調整するところが最も苦労した。今回のプログラミングでは、出来るだけ一定の動きだけで動けないかということを考えました。今まで使ってきたライントレースのプログラムに加え、ボールを打つ・取るという動作をルーチンとして加えました。このプログラムのまとまりを組み合わせることですべての動作を実現しようとしました。苦労した部分は最初のボールを取る部分だった。一度ラインから離れるためその後の動作をどうするかで苦労しました。何度もライン際の動きを観察しながらもっとも良い動きを試行錯誤した。最終的に本番ではうまくいって良かった。ボールを投げる動作への移り変わるがなかなか難しかった。機種の向きや投げる強さは何回か繰り替え調整することで出来た。最終課題はなかなか難しかった。最終日に空き缶に当てるようにまで改良が出来たが本番では2本パスが通った状態で終了してしまた。ロボコンでの自分の力を十分に発揮するためには事前に成功する確立を十分に上げる必要があると感じた。今回のようなハード制御のプログラミングは珍しいので特別な経験になって良かった。