磁気センサーを活用した未来の物体位置検知技術の検証

こんにちは、リクルートATL(アドバンスドテクノロジーラボ)でIoT関連の研究を行っている菅原です。
IoT技術では、さまざまなセンサーを組み合わせることで、複雑な機能や効果を提供することが可能です。
今回の取り組みでは、センサーの1つである地磁気センサーを、通常の用途以外で活用する可能性を検証したいと考えています。
地磁気センサーは、本来の機能としては地球の磁場の北極方向を測定し、その向きを3次元座標値で示すものです。

したがって、センサー内で測定される3次元座標と、センサーが測定対象とする磁場の3次元座標との相対的な位置関係が変化することで、センサーの出力値も変動すると考えられます。
この位置変化から、センサーの位置がどのように変化しているかを算出できる可能性があります。

このような仮説を検証するために、開き戸の開閉状態を地磁気センサーを用いて測定する実証実験を行いました。

開閉ドアの検知は通常、磁石と磁気センサーの組み合わせによって行われます。磁石と磁気センサーをドアの端とドアフレームに適切な位置関係で取り付けることで、開閉の検知が可能となります。しかしながら、ドアフレームに設置スペースがないなどの制約がある場合、この方法は利用できません。

今回の仮説では、測定対象の磁場として地磁気を利用しました。そのため、地磁気センサーを単体で使用することで、ドアの開閉を検知することが可能です。この方法では、設置に制約がなくなるため、適用範囲が広がると期待されます。

磁気センサーでドア開閉を検知する仕組み

磁気センサーのZ軸を開き戸の開閉軸と並行に下図のように設置し、ドアの開閉を検知する方法について考えてみました。

図1: 磁気センサーでドア開閉を検知する仕組み

ドアに取り付けられたセンサーの測定空間座標は、ドアの開閉時にドアとともに移動するため、絶対座標値を使用した判定は実現が難しいです。
そこで、座標値を初期設置座標からの距離に変換し、その距離の大小に基づいて位置判定を行う方法を検討しました。

ドアの開閉検知で必要な分解能は、②ドアのデッドボルト分開いた状態を検出できるかという点です。
この分解能が確保されると、基準値からわずか3度の開き角度の位置を測定できるようになり、90度の可動域をもつ開きドアでは30箇所の位置を判別できるようになります。

具体的な手順としては以下の通りです。

1. ドアが閉まっている状態では、初期設定値(基準値)を取得します。
2. ドアがデッドボルト分開いている状態(開角度3度)では、必要な最小移動判定状態の値を取得します。
3. 測定された値は分散するため、判定の際には閾値を利用します。
4. 上記の2つの状態の測定値の中間座標を中点座標とし、初期設定座標値と中点座標値の距離を判定の基準値とします。

この方法により、ドアの開閉状態を測定する際、初期設定座標からの距離を用いてドアの開き具合を判定できます。
このアプローチにより、絶対座標を使用せずに相対的な移動を基にした判定を行うことが可能です。
詳細な設定や閾値の調整など、実用化に向けてさらなる詳細な検討が必要ですが、これによりドアの開閉状態を確実に判定する方法を提案できていると思います。

具体的には、以下の通りです。

<初期設定座標の測定>

・ドアにセンサーを取り付け時にドアが閉まっている状態でセンシングを行います。
・X軸、Y軸の地磁気を50回センシングし、最大値、最小値を除き平均をとった値を初期値として保持します。

X軸の初期値座標:Xa Y軸の初期値座標:Ya

<判定値決定>

・ドアにセンサーを取り付け時にドアがデッドボルト分開いている状態でセンシングを行います。
X軸、Y軸の地磁気を50回センシングし、最大値、最小値を除き平均をとった値をデッドボルト値として保持します。

X軸のデッドボルト値座標:Xb Y軸のデッドボルト値座標:Yb

・X軸、 Y軸それぞれの初期値とデッドボルト値の中点座標を算出します。

・判定値を初期値と中心点座標の距離から算出します。

<開閉時判定>

・センサーを取り付け後、ドアがある状態でセンシングを行ます。
X軸、Y軸の地磁気を50回センシングし、最大値、最小値を除き平均をとった値を測定値座標として保持します。

X軸の測定値座標:Xd Y軸の測定値座標:Yd

・X軸、 Y軸それぞれの初期値座標と測定値座標の距離を測定値とし算出します。

・算出した値と判定値を比較し開閉状態を判定します。


La ≧ Lb :閉状態
La < Lb :開状態

実証実験概要

図2の様にドア開閉検知システムを構成して、「磁気センサーでドア開閉を検知する仕組み」でドアの開閉状態を正しく判定できるか検証します。

 ● 実証実験概要

・ドアにセンサーを図2の様に取り付ける
・初期値を測定する
・閉まった状態(角度0度)の測定を行う
・デッドボルド状態(角度3度)の測定を行う
・閉まった状態の判定が可能か検証
・開いた状態の判定が可能か検証

 ⚫︎使用する地磁気センサー

メーカー:BOSCH 型番:BMX055
・電源電圧:3.3Vまたは5V
・センサー:加速度3軸、ジャイロ3軸、磁気3軸
・インターフェイス:I2C


図2: 磁気センサーでドア開閉を検知実証実験した際の様子

実証実験結果

以下の測定を実施しました。
・初期値を測定
・ドアを90度以上開けた後、角度0度の状態(閉まった状態)にして測定
→毎回ドアの開閉を行い10回繰り返し実施
・ドアを90度以上開けた後、角度3度の状態(開いた状態)にして測定
→毎回ドアの開閉を行い10回繰り返し実施


図3: 磁気センサーでドア開閉を検知実証実験した際の測定値


図4: 磁気センサーでドア開閉を検知実証実験した際の測定結果グラフ

評価

上記の結果から、我々は新たに考案した磁気センサーを用いたドアの開閉検知ロジックが正しいことを証明しました。
ドアの素材や取り付け方によって測定値が変動しますが、センサーを取り付けた後に行う2つの状態の初期測定(ドアが閉まっている状態とドアがデッドボルトで少し開いている状態)により、ドアの開閉を正確に検知できることが確認されました。

通常、ドアの開閉検知は磁石と磁気センサーの組み合わせで行われますが、今回の実証実験では測定対象の磁場として地磁気を利用したため、ドアの開閉を地磁気センサー単体で検知できました。
これにより、電子錠にドアの開閉検知機能を組み込むことができ、より高機能な利用方法が期待されます。

この実証実験により、円弧状の移動に関する移動検知も同じロジックで判定できると考えられ、さまざまな円弧状の移動に対して移動検知を活用する可能性が期待されます。