こんにちは。haraです。
前回の更新は、昨年の6月でしたので、マイクロマウスを触らないまま半年以上たっていました。
前回は、在宅での研修でしたので 6x4の迷路でしか走行していませんでしたが、全日本マイクロマウス大会
に参加するために、フルの迷路を試走しました。
自宅からの移動しているときにカバンの中でセンサが曲がってしまっていたようで、最初の超信地走行でもうまく動作しませんでした…。
このままでは、各パラメータの設定も役に立ちませんので、再度調整をします。
まずは、図のようにスタート地点に置いて、左右のセンサの値を調整します。
両サイドの値がなるべく同じになるように、発光素子と受光素子の方向を調整してみました。
最終的には、両サイドともに300-400の間になるように調整しました。
調整が終わったあとにフル迷路が走行できるかを確認するために、以前(超信地走行でフル迷路を走破したとき)のプログラムを発掘し、
走行させてみます。
少し不安定でしたが、迷路は何とか走行できましたので、現在のハードウェア設定にあわせて、各パラメータの調整をします。
数回の試行後、安定して走行できるようになりました。
安定して走行できるようになったところで、このプログラムをベースにして前回実装したスラロームを追加していきます。
追加したスラロームの関数は、前回のものをそのまま利用して、まずは回転半径を80,75,70と変化させて走行させましたが、どうもうまくいきません。
やはり、走行距離が長いと最後の方の誤差の蓄積でうまくいかないようです。
色々考えて&試行して、最終的には下のパラメータで落ち着くことになりました。
// Sensor thresholds #define REF_SEN_R 500 // 500 #define REF_SEN_L 500 // 500 #define TH_SEN_R 122 // 170 #define TH_SEN_L 122 // 170 #define TH_SEN_FR 115 // 143 #define TH_SEN_FL 115 // 145 スラロームターンの半径: 75 スラローム時の速度: 320 (探索時の速度 X 0.8)
結局この調整でもっとも大事だったのは、スラローム時の速度でした。いままでは、探索時の速度をそのまま利用していたのですが、複数のターンが連なっている場所での失敗率が大きかったので、脱調が起きていたのだと推測しています。
このパラメータの調整で、今回のマイクロマウス大会の迷路走行を行いました。
迷路走行は、与えられた課題を制限時間5分、試走5回以内での走行がルールでしたが、実際に走ったのは時間が足りず以下の結果になりました。
第一走行(超信地走行で探索) :1:05.973
第二走行(超信地走行で最短走行):0:31.110
第三走行(スラロームで探索) :0:46.574
結果的には、大会に出すということで安全策をとって超信地走行の走行を優先したために、スラローム走行の時間が十分に取れなかったことが残念です。
スラローム走行での探索と最短走行を最初から行えばもう少しタイムもよかったかもしれませんが、初の大会参加ということで記録を残すという意味ではよかったのかもしれません。
マイクロマウス研修は、まだまだつづくのでもうしばらくお付き合いください。