マイクロマウス研修(鍬形)

光センサの角度とセンサ感度の関係 – マイクロマウス研修(鍬形)Part 4

マイクロマウス研修(鍬形)

鍬形です。社内研修でマイクロマウスやってます。前回はロボットが迷路探索中に壁と衝突してしまいゴールできませんでした。今回はさらに調整を重ねて無事迷路を完走することができたので記事後半の動画をぜひご覧ください!調整において重要な光センサの角度と感度の関係についてご紹介します。

本連載一覧はマイクロマウス研修(鍬形)をご覧ください。

光センサの角度調整

光センサは赤外線LEDから赤外線を出力し、迷路内の壁に反射して戻ってくる光の強さを計測しています。基本的には壁と光センサの距離が近いほどセンサ値が高くなるので、センサ値が一定の値以上になると壁があると判断するプログラムを実装しています。ちなみに判断の基準となる一定の値のことを閾値とよびます。

光センサの値はセンサと壁の距離だけでなく、センサと壁の角度も大きく影響します。光センサの光軸が壁に対して垂直なとき最もセンサ値が高く、垂直からずれるほど低くなります。前回は壁の端に光センサが反応した際、瞬間的なセンサ値の変化で姿勢が乱れて前壁検知に失敗、衝突をしてしまいました。姿勢の乱れによって前壁検知用の光センサが前壁に対して垂直からずれることで、センサ値が低くなったからです。

前壁検知を姿勢の乱れに強くする方法として光センサの向きを左右に広げる方法があります。下図上半分のように機体に対してまっすぐに光センサがついている場合は左右とも同じようなセンサ値となりますが、下半分のように左右に広げるとセンサ値が最大となる機体の姿勢が、左右の光センサで異なるようになります。結果的に前壁検知に用いる閾値が同じ場合、光センサを広げたほうが幅広い姿勢で前壁を検知できるようになります。

右のグラフの姿勢とは壁と機体が垂直な状態を0とした機体の角度です。機体が壁に対して左右に傾くとセンサ値が下がる様子を表現しています。

そこで5°程度外側に光センサの向きを曲げました。機体が壁に対して5°傾いたときにセンサ値が最大となるのでかなり姿勢が乱れても前壁検知できそうです。

閾値調整との違い

今回は光センサを物理的に角度調整して前壁検知の成功率を高めましたが、プログラム側で閾値を下げることでも同様のことができそうです。下記のグラフだと赤線の閾値を下げることで前壁を検知する姿勢の幅が広がっていることがわかります。

左が光センサに角度をつけた場合、右が閾値を下げた場合のグラフのイメージです

閾値を下げることで問題になるのは光センサの感度です。感度とは状態の変化に応じたセンサ値の変化の度合いのことです。今回使う光センサでいえば光センサと壁の距離が3cmから5cmに変わったとき、センサ値は大きく変わるはずです。これを感度が高いといいます。そのまま距離を離し続けて10mから100mに変わったときはセンサ値がさほど変わらないと想像できます。これを感度が低いといいます。

上記のグラフでいうとセンサ値は最大値から離れるほど傾きがなだらかになっているので、姿勢のずれが大きくなるほど感度が低くなっていることがわかります。感度が低いと10mと100mの区別がつかなくなるのと同じように、姿勢がずれてるのか前壁から距離があるのかわからなくなります。つまり閾値を下げて感度が低いセンサ値を使っているとまだ壁から距離がある状態でも壁を検知する場合があると考えることができます。

このように閾値はできるだけセンサの感度が高い値で設定すると誤作動を防ぐことができます。光センサの角度を広げることは姿勢のずれに対してセンサの感度を高める役割を果たしていることがわかります。

ついに迷路完走🙌

ゴール後の探索ですこし壁にぶつかってしまいましたがなんとかゴールすることができました。動画内でも言ってるのですが初めてのおつかいを見守るような心境です。動作開始したあとは固唾を呑んで見守るしかないのは自律移動ロボットならではですね。

ちなみにスタートからゴールのタイムは1分13秒85でした。ゆっくり走行してるので集中研修の期間でどれくらいタイムが縮められるか楽しみです。

今回は光センサの角度調整についてご紹介しました。調整を通して、検出したい対象に合わせてセンサの配置や感度の特性を考慮する必要があることがよくわかりました。本記事ではマイクロマウスだったので迷路の壁検知を扱いましたが、ライントレース等他の競技においても重要な考え方になります。

次回はタイムを縮める第一歩としてスラローム走行を実装します。

タイトルとURLをコピーしました