2019年度のマイクロマウス振り返り
こちらは"Mice Advent Calendar 2019"の16日目の記事です。
15日目はKT33さんの"探索アルゴリズムについて"でした。
やっぱり、スマートに探索するマウスは見ていて格好良いですよねぇ。
速さだけでなく、賢く探索してこそマイクロマウスの真髄だと思いますね。
どうも、あやたかです。
ブログをこちらに移行することにしました。
今後はこちらの方をよろしくお願いします!
(そもそも以前のブログはほとんど更新してなかったけど(反省))
それでは本題へ。
旧ハーフサイズのマイクロマウスを作ったのは今回が初めてで、
何かと苦労することが多かったです。
この記事ではその辺を振り返っていこうと思います。
まずは今年の機体紹介から。
機体紹介
自分は機体名を決めてから作り始めるのですが、今回は白狐の面をイメージしたデザインにしました。
頭の中では軽いキャラ設定もあったりします笑。
機体名 | 白狐(びゃっこ) |
---|---|
MCU | STM32F722RET6 |
IMU | ICM-20602 |
壁センサ | VSMY2941GX01(発光側) + AM2520PD1BT03(受光側) |
磁気式エンコーダ | MA700 |
走行モータ | MK06-4.5 |
吸引モータ | Φ6x12mmの中華モータ |
LiPo | 3.7V 100mAh (CX-10用) |
ハード面として工夫しているのは立てたセンサ基板に発光回路と受光回路を載せていることです。
発光回路は定電流回路、受光回路はフォトダイオードの電流を電圧に変換するトランスインピーダンスアンプをそれぞれ採用しています。
この実装にはかなり面積を食うのでセンサ基板にまとめることでシャーシ基板の配線に余裕を持たせています。
また、部品の実装にはホットプレートリフローを利用しています。
0603(mm)のチップ部品やICM-20602のようなLGAパッケージもあまり苦労することなく付けれるのでおすすめです。
苦労した(している)点
赤外線LEDの遮光
壁センサの発光素子である赤外線LEDは面実装タイプを使っているのですが、 赤外線LEDとフォトダイオードの間を遮光しなければセンサ値が飽和してしまい使い物になりませんでした。 今はベタGNDを引いた基板で仕切り、赤外線LEDに熱収縮チューブを巻いて遮光しています。
近距離しか見えない壁センサ
製作当初は赤外線LEDの発光強度と視野角のせいか近距離しか見えていませんでした。 いくつかのLEDを試して落ち着いたものがスペック表に書いたVSMY2941GX01です。 このシリーズの中では最も視野角が狭いです。 複数のLEDを試してみて気づいたのは、反射光の輪郭がはっきり出ているLEDはセンサ値が高く出るという点です。 クラシックでしばしば使われるSFH4550などはその輪郭がかなりはっきり出ており、こういった特性のあるセンサを選ぶのが良さそうです。
走行距離がずれる
白狐は加速度センサと磁気式エンコーダからカルマンフィルタを用いて速度を推定しているのですが、
その推定速度を用いると再現性なく走行距離がずれてしまうといった症状を抱えていました。
原因は加速度センサのオフセットでした。走る前にその都度オフセットを取得していたのですが、
加速度センサの分解能を考えると数十mm/s2の誤差を含んでしまうせいで推定速度がずれ、走行距離に影響していました。
今はオフセット値を固定にしたことで走行距離のずれはかなり小さくなりました。
※速度推定はいまだに悩んでおり、吸引走行を考えるとまだまだ見直す必要があると考えています。
2019年度戦績
学生大会 5位
全日本大会 33位
全日本は最短走行をすることが出来ませんでした。 ファイナルにも出れなかったのであまり納得のいかない結果となりました。
反省点
一番、反省すべき点は開発にあまり時間が掛けられなかったことかなと感じています。
まずは、なるべくマウスに触れる、そこから始めなければ。
来年こそは32x32の迷路を走るぞー!
明日はsshunさんの"5年ぶりにマウスを作ってみたら辛かった話"です。
それでは、お楽しみに!