今回の課題は下図のようなコースを各チームで作成し、ミッションを遂行することである。ミッションとは指定された3つのコースのうち1つを選択し、ライントレースしながら紙コップを指定の場所まで運ぶことである。†キットに載っているような基本的な3輪駆動のロボットに前側に光センサ、後ろ側の基盤と駆動輪の間にコップを掴むアームを取り付けた。アームは3つ目のモーターを使って、上下に動くようになっていて、アームを下に降ろし掴むというよりは中に入れて引きずっていくようにした。正確な値を測りライントレースさせるために光センサはできるだけ地面に近づけるようにした。自分のコースの場合光センサが黒線のラインと左側の白い部分の境界線上を走ることにした。ライントレースをする上で重要な明るさを5段階に分けて測り各動作を決定した。するようになっている。測った結果しきい値は60になった。交差点認識に関しては時間ではなく最も黒い時が連続して何回続いたかという方法を採用した。調べた結果160回が最適だと判断した。光センサが最も暗いとき(値でいうと45以下の時)、を160回計測したとき、そこを交差点だと判断し、各動作を行う。値が45以下でなくなった瞬間最も暗いときの回数を初期化(0回)するようにしている。}ロボットが交差点だと判断したら音を鳴らして分かりやすくしている。†3パターンを用意した。通常のライントレースでは急カーブがうまく行かなかったので仕方なくそれ専用のライントレースサブルーチンを作った。このサブルーチンはnMAX_EFが指定された回数になるまでライントレースを繰り返すようになっている。通常のライントレースサブルーチンと違うのは、nの値を初期化しないところにある。turn_right_180;}コップを掴むときはアームを下におろしている。turn_right_180;}コップを離すときはアームを上に上げている。アームが進行方向とは後ろについているので掴む、離すときにロボットを180度回転(turn_right_180やturn_left_180)させている。}交差点を曲がるときに常にではないが、曲がりすぎて脱線したり、逆に曲がらな過ぎて上手くいかなかったりということが起こったのでそれらを防ぐために//微調整というものは入っている。微調整具合が各々違ったのでサブルーチンにはできなかった。†プログラムに関してはサブルーチンやマクロを使いながら前回の課題よりは大分コンパクトに収まっていて見やすくなったので良かった。実際に動かしてみると成功率は50%というところで完全性に関しては反省すべき点が多々あった。電池の残量によって変化したり、僅かな光の変化などもう少し完全性に注意すべきだった。次の課題では反省を活かせるようにしたい。