†ピンポン玉または青と赤のボールを運搬して、所定の容器の中に入れる。†フィールドは課題2で使用した紙を使用する。生協のお弁当の四角いプラ容器2つをそれぞれ円内に置き、片方に玉を2個入れる。残りの2個の玉は課題2と同じ位置に置く。その際、ゴムタイヤやプレートの上に置いてもよい。プラ容器には色をつけたり文字や記号を書いてもよい。プラ容器は両面テープ等でフィールドに固定してもよい。2枚の紙の境界にはそれぞれ幅1cm、合計2cmの黒線を描いてもよい。競技時間は審判が続行不能と判断するまで、あるいはリタイアするまで。図のA地点または(および)A'地点からスタートする。接地している部分はそれぞれの領域内に収まるものとする(線上はOK)。上空部分は領域からはみ出していてもよい。開始の合図から5秒以内にスタートボタンを押す作業を完了すること。競技が終了するまで、ロボットに触ったり人間が遠隔で操作してはならない。途中でうまく動かなくなった場合、1回限り再スタートすることができる(再スタートの際に別プログラムで起動してよい)。競技終了後、ロボットが、ゴールのプラ容器に触れていてはいけない。競技終了後、もともと玉が入っていたプラ容器が、ゴールのプラ容器に触れていてはいけない。ルールについて詳しくはこちら。†ロボットの全体像は下の写真である。前は黄色いパーツがついているほうで、RISが乗っているほうが後ろだ。ロボットはアームと足回りの2つの部分に分けられる。以下でそれぞれについて説明する。上の動画にもあるようにアームは上下に動いてピンポン玉を取ったりはなしたりする。アームが完全に上がったときに少し斜めになっていて、ピンポン玉をつかむための黄色い部分が上がっても、ピンポン玉が落ちないようになっている。アーム部分が重たいため、パワーを出すために6枚のギアを使用した。†アームの前と後ろの重さのバランスをとるために後ろにモーターを取り付けた。後ろから動力を持ってくるために2か所で歯車を直角につけて、回転方向を変化させている。下の写真のように歯車を取り付けて、パワーが出るようにした。ピンポン玉が逃げないようにするためのものだ。†ピンポン玉を拾った後、機体の上部にピンポン玉を乗せる役割をする。ピンポン玉をコンベアで奥に送り、最大3つまで収納できるようになっている。部分でコンベアをピンポン玉に押し付け、ピンポン玉が途中で止まることを防止した。ベルトコンベアは片方が回転すればピンポン玉が収納できるので、片方のみ回転する。コンベアを回転させるためのギアは、下の写真のように取り付けた。上の写真のようにタイヤの上にRISを2台並べておいた。赤外線送受信部をくっつけて通信を行えるようにした。課題2と同様、タイヤは全部で3輪で、前輪2つが駆動輪、後輪1つは摩擦を減らすために、ゴムを外したホイールのみを取り付けた。光センサーは、タイヤの中心に近いところに取り付けた。車体が重たく、ガタガタ揺れると壊れそうだったので、極力ライントレースをしないように経路を考えた。†スタートしてから2本の黒い線を横切って、3本目の黒い線を認識したら、ライントレースを開始する。上の図にあるようにしばらく進んだら、ピンポン玉を取り、その場で90度回転してピンポン玉をリリパックの中に入れる。下がった後に90度回転し、リリパックに当たらないように移動した。3本の黒い線を横切り、ここでもリリパックに当たらないよう、斜めに移動。4本目の黒い線を横切った後、ライントレースを開始し、ピンポン玉をつかむ。†アームがリリパックの端に引っ掛かり、ピンポン玉がとれなくなることを防止するため、90度回転した後、少し下がってから、ピンポン玉をつかむようにした。†さらに下がり、90度回転する。2本目の黒い線で停止、少し前進してリリパックにピンピン玉を入れる。†2台のRISで通信を行うために、以下のようにマクロを定義をした。//動作終了を足のRISに送信}SendMessage(signal_end);はアームの動作が終わってから足のプログラムを再開させるために入れた。足のプログラムにはuntil(Message()==signal_end);が入っていて、アームの動作が終わった後足の動作が再開されるようになっている。†アームのメインプログラムは以下の通り。同じだが、アームを上げる際にもコンベアを動かしている。ピンポン玉が全部箱に入る前に、動作が終わってしまう。先に入ったピンポン玉に邪魔をされてピンポン玉が全部出ないという問題を解決するためにアームを上げながらコンベアを動かすようにした。下にライントレースに使用したサブルーチンを示す。//1秒止まれ}今回はコース取りの関係上交差点認識をする必要がないため、グローバル変数tを使って指定した秒数だけ動いて止まるようにしている。交差点認識について、詳しくは課題2のレポートを参照。以下が足のメインプログラムである。〇の中の数字は、経路の説明の図の数字に対応している。(黒ければ直進せよ)という命令を任意の数並べることで、好きな黒線の手前、または、黒線を超えてからロボットを止めることができる。この後にあるピンポン玉をつかむプログラム、90°回転するプログラムが正確に機能するようにライントレースをして、ロボットを黒線となるべく平行にするためのプログラム。時間制御することで、ピンポン玉を取りやすい位置にロボットを移動させることができる。アームのRISから一連の動きが終わったという信号を受け取ってからプログラムを再開させるためのもので、アームが動きながら足も動くことを防ぐために入れた。†ロボット自体の動きは、良かったと思う。得点も取れなかったし、紙の上に置いてあったピンポン玉もつかめなかったが、リリパックの中のピンポン玉は2つとも取ることが出来てうれしかった。調整段階では、ピンポン玉を4つともうまく運べていたので、今回ロボットが紙に引っ掛かってしまい得点をとれなかったのに悔しさもある。自分たちの詰めの甘さが本当に悔やまれる。今回の課題は、課題1,2に比べて難しく、チームのみんなと沢山悩んだが、完成し自分たちの思い通りの動きができたときには、達成感を感じた。ロボコンは4位だったが、時間がない中、チームのメンバー4人がそれぞれの強みを生かしてロボットを作り上げることが出来たと思う。