†テーマとしては「野球ロボット」である。ピッチャー役とバッター役に分かれ、ピッチャーの投げたピンポン玉をバッターが打ち、置かれたいくつかのゴールに入れて得点する。今回私はバッターを担当した。課題2で使用したコース上に5つのゴールを置いたものをフィールドとする。実際のコースとゴールの位置、各ゴールに入った時の点数は下図のようである。ピッチャーはAからQへ、バッターはCからBへ移動し、競技を始める。今回は2つの機体を用いたので、バッターだけでなくピッチャーについても触れる。「マウンド」に着くために用いるライトセンサーが付いている。ピンポン玉は機体の後ろに装填し、ストッパー部分が回転することで射出され、同時に次弾が落ちてくる。最初レールが地面に水平になるよう延長して取り付けられていたが、かえって玉の軌道が逸れてしまったために取り外した。問題点としては射出の威力が足りないこと、軌道が逸れやすいこと、玉が2個同時に出てしまう時があることが挙げられる。初期の機体は各部固定が弱く分解しやすかったが、補強を重ねて安定した機体になった。前輪駆動で、「バット」はピッチャーに向き合うとき回転する角度が小さく済むように横向きに取り付けた。各パーツが大きいが、それなりに分解しやすい機体になった。†バットとは言うものの、打ち方としては、キャッチ→シュートという感じである。鉤爪のような形にすることで、キャッチした後ピンポン玉が転がって抜けないようにしている。爪が上がると、奥に付いた黒い棒がピンポン玉を打ち出す仕組みになっていて、打ち出された球はかなり正確にまっすぐ進む。一部ライントレースをするため、ライトセンサーを取り付けた。前回の反省を生かして地面との距離は前より近くした。当初はキャスターを採用していたが、思いのほか曲がりにくかった。よって摩擦の少ない別の部品に取り換えた。結果、回転がスムーズになった。†サイズの規定が大きな壁だった。バット部分を横に取り付けることで何とか収まったものの、ギリギリだった。NXT本体の取り付け方などをもっと工夫して、コンパクトにできればよかったと思う。ピッチャーから射出されるピンポン玉の軌道が逸れ気味だったので、バッター側でも鉤爪を横に広くするなどの工夫をするべきだった。本課題では、2つの機体のBluetoothによる通信が主目的となっていた。ピッチャー、バッター両者のプログラムの通信にかかわる部分で説明を入れていく。Masterはピッチャー、Slaveはバッターである。黒線の数をライトセンサーで数え、角度制御でマウンドまで移動する。投球は重力に従って転がしている。//バッター側DAGEKIのプログラムを実行。//バッター側からSIREIを受け取る。//SIREIの数字が11の時ピンポン玉を発射。}}Bluetoothの通信によって、打席に着いたバッターの打撃時のプログラムをピッチャー側から実行している。その後はバッター側から返信された数字次第でピンポン玉を発射するかしないかを決めている。位置に着くまでの動作は、三つに分かれている。最初は角度制御によってPとBを結ぶ線の近くまで進む。ライトセンサーによって黒線を発見次第、ライントレースの準備に入る。//ライントレースに移行するための方向転換}続いて五秒間のライントレースに入る。ライントレースの目的は、できる限り正確に「打席」に入ることである。//B手前で停止}最後に打席に入ってピッチャーと向かい合うように回転する。//打席に入った合図}最初は超音波センサーを用いてピッチャーとの向きを合わせようと試みたが、誤検知が多かったため、角度制御で合わせることにした。結果かなり正確に向きを合わせることに成功した。//2カ所変数にすることで、左右に好きな角度だけ回転できるようにしたまた、変数xを定義する。ピッチャー側が親だが、バッターが送った数字によってピンポン玉を発射するかどうか決めているので、実質の親はバッター側と言える。打撃回数カウント用のxを用いて、xの値によって機体の向きを変え、各ゴールを狙うようにしている。//xの値によって機体の向く向きを変える。†バッター担当は、打席に着くまでのプログラミングをする人と打撃のプログラミングをする人で分担して作業をした。効率よく進んだが、お互いのプログラムを十分理解しないままロボコンに臨んだことは反省点と言える。全体的に安定した動作ができたので、技術点を多くもらえた。†ピッチャーの玉がまっすぐ飛んでこなかったため、キャッチできず、基礎点がほとんどもらえなかった。右に回転する際紙が引っかかって角度がずれてしまった。†これまで学んできた、基本動作、ライントレース、通信をフルに使うなかなか難易度の高い課題だった。実際ロボコンでも完璧に成功したチームはなかった。私たちのチームは特に最初の移動については安定した動作をすることができた。肝心の打撃がうまくいかなかったのは詰めが甘かった。超音波センサーを使いこなせなかったことも悔やまれるが、角度制御のみでかなり正確に狙った位置へ着くことができたのはよかった。時間があれば、ハード、ソフト両面とも改善できたと考えてしまうが、まだまだ先の見通しと問題解決能力が足りなかったゆえの結果として受け止める。満足とはいえないまでも、これまで学んできたことを活用して、それなりのロボコンができたことをうれしく思う。†ロボットに興味がある、という至極単純な理由で受講した本講義だが、さまざまないい影響を受けることができた。レゴとはいえ説明書なしにロボットを組み立てる難しさ、プログラミングでエラーが返ってきたとき何がおかしいのかを見つける大変さ、コンパイルが通って、思い通りにロボットが動いた時の楽しさ。これらの経験をしたことで、よりロボットそしてプログラミングへの興味が増した。本講義を受けてよかったと思う。指導してくださった松本先生、ありがとうございました。