全日本に向けて入れた対応の一つに、3×3区間のゴールの中心区間に仮想壁をたてる処理をいれた。
これは、串区間の制御との整合をとるために必要な処理で、整合の問題となる串区間の処理は、両側の壁が無い状態、かつ、壁切れからの距離が1.5区間相当続いた場合に、その方向に進むという処理になる。
3×3区間のゴールの中央部は、壁も柱も無いので上記条件に当てはまるため、その結果、左右のどちらかの方向に機体の進行方向が揺らぐという問題が発生する。
そこで、3×3区間のゴールの中心区間に仮想壁をたてると、機体は中央部分を通過しないようになるため、上記条件に嵌らないようになった。
ちなみに、最短走行時には、仮想壁を外して真ん中の区間を通過するようにする。
月: 2022年3月
省エネ化(壁センサ)
現機体は壁センサの消費電流が約20mAあり、アイドル時の総電流(99.6mA)の20%を締める消費になっている。
そこで、全日本の迷路で最短走行までにバッテリを温存すべく、省エネ化を検討した。
1つ目は、探索走行中の壁センサの使用頻度を下げる。具体的には2ms毎に赤外線センサを発行させ、その反射量を測定する。(最短時には1ms毎)。これにより壁センサの消費電流を半減できる。
制御のmainループは1ms周期でジャイロやエンコーダの値を用いて動いており、探索時の遅い速度では2ms毎での壁センサの取得でも影響は少ないと考えた(具体的には300m/sで走る探索速度だと2msで0.6mmしか進まず、0.6mmの走行では壁と車体の距離は大きく変わらない)
2つ目は、超信地旋回中は壁センサをOFFにする。超信地旋回中は壁を見ていないのでOFFにしても影響はない。一方、ターン中は壁を見る条件もあるので、OFFにはしていない。
3つ目は、アイドルモード(パラメータ入力操作受けつけ、最短ゴール後等)で壁センサの更新頻度を500msに1回にする。完全にOFFにしないのは、走行開始の入力に壁センサを使う場合があるため。
マイクロマウス2021
国際ロボット展で行われたマイクロマウス2021に参加する。リアルでの前日本大会。本当にありがたい。
今回の大会では斜め走行での最短の成功を目標としていて、それを無事達成できた。
また、70mAhのリポで探索と最短を十分走れることを確認できた。
また、マイクロマウス2019でのリタイアの原因である30区画後くらいの直線の後のターン区間の間違いが発生しなかった。これは、4輪化と吸引機構の導入によって、タイヤの滑りや、迷路の継ぎ目でのタイヤの空転が減ったことが効いたと考えている
来シーズへの課題は、横壁センサの取り付け角度。横壁センサが壁面と床の境界付近を見ているため、壁が床面までしっかりと刺さっていない場合に読み間違いを起こしてしまった。これは、床面が黒色じゃない場合にセンサの値がくるっていたのを見過ごしていたことが原因で、あの規模の迷路の壁の全てを床面まで挿入することを保障するのは無理だろう。
課題の2つ目は最短経路所導出。本番での探索は全面探索はできなかったが、それでも西北東の長い直線を通るルートは選択できたはず。いまの最短経路導出では3歩分の重みづけにより上述のルートを選べなかった。ダイクストラ法を考えるときが来たかな?
課題の3つ目は、探索方法の種類の拡充。全面と往復の2種類に加えて、行だけの片道探索、雑な全面探索、直線優先の探索等を選べるようにしていれば、2回目の探索の失敗は防げたと思える。
つづいて、Finalでのパラメータ。探索の失敗により一回限りの最短走行なので、前日の試走で最も完走率の高かったパラメータを選択した。
最大速度は3m/s
加速度は10m/ss
ターン速度は0.8m/s
素晴らしい大会を運営してくださった皆様、ありがとうございました。