コンパスのキャリブレーションはどのように機能しますか?


8

コンパスのキャリブレーションがどのように機能するのか疑問に思っています。たとえば、8を描画したり、電話を3軸すべてに回転させたり(少なくとも機能するはずです)する理由です。次に、そのボタンを押し下げますが、スマートフォンを回転させるだけで、アプリの知識は基本的にゼロから始めることができます。それはどのように行われますか?また、特別なキャリブレーションモードを開始する必要がありますか、またはこれらの図(8のような)を直接Googleマップに描画できますか?Googleマップでは、私が実際に電話を動かしているだけでなく、コンパスを調整したいと思っているのですか。ヒントをありがとう!


重複と報告された場合は、同じ問題に対して2つの別々の質問を投稿しないでください。新しい情報で既存の質問を編集します。android.stackexchange.com/questions/30328/...
pzkpfw

1
磁場を介してオブジェクトを移動すると、電流が誘導される可能性があります。この場合、電流が測定されていると思います。図8は、電話が2D平面のすべての可能なベクトルに沿って移動していることを保証します。これにより、電話が北と南を区別できるようになります。おもう。マップが感知するのは簡単です。携帯電話でこのような不条理な動きをするのは、他にどのようなときですか。通常の動きとはかなり異なり、簡単に検出できるはずです。
Matthewが

@ bigbadonk420これは重複ではなく、まったく別の質問です。
マシュー

回答:


3

コンパスのキャリブレーションは、地球の磁場強度を検出することによって機能します。しかし、時々、変圧器のような他の電子機器からの強い干渉のために、コンパスセンサーは地球の磁極について間違った考えを得て、間違った方向を指すことができます。

そのため、すべての方向の磁気強度を判断できるように、8の方向に回転してコンパスを再調整するようユーザーに要求します。そのデータから、地球の実際の極を推定します。


1
これは実際には間違った答えです。キャリブレーションは、デバイスに取り付けられたオブジェクトからの歪みのみをキャンセルできます(したがって、キャリブレーション中にデバイスと共に回転します)。オブジェクトが環境内にある場合、電話は固定磁場を観測し、真北からどれだけ離れているかがわかりません。
Marko Topolnik

5

キャリブレーションの目的は、電話機のコンポーネント(ねじ、スピーカーの磁石など)が測定された磁場にどのように干渉するかを補正する方法を理解することです。

キャリブレーションプロセスは、電話機を回転させたときの磁場の変化を調べることで、磁場に対する内部と外部の寄与を分離できるという事実に基づいています。たとえば、ある方向では、スピーカーの磁石からの磁場が地球の磁場に加わります。ただし、電話を反対方向に向けると、2つのフィールドが部分的にキャンセルされます。

スマートフォンを振ると、磁力計は測定された磁場の大きさがどのように変化するかを記録し、これを使用してx、y、z磁場センサーを較正します。このプロセスの詳細については、同様の質問に対するgeometrikalの回答を参照してください。このキャリブレーションでは、磁場に対する他の外部オブジェクト(冷蔵庫など)の影響を補正できないことに注意してください。

Googleマップの実装について:Android APIにはそのような機能がないため、Googleマップはコンパスの調整を制御できないと思います。磁力計はおそらくそれ自体を継続的に調整しています。Googleマップは、正確に調整するために必要なデータを磁力計が収集できるように、スマートフォンを回転するように要求しています。

つまり、磁場センサーが使用されているときはいつでも、電話を振るだけでコンパスを校正できます。「校正モード」はありません。


しかし、Android OSは、キャリブレーション値を変更するタイミング、移動への応答、定期的な間隔、またはその両方をどのように決定するのですか?
Hamish_Fernsby

Androidは、測定値の履歴を維持し、ハード鉄補正を適用し続ける必要があります。これはドキュメントで指定されています
Marko Topolnik、2018年

3

空間のどのポイントでも、磁場の強さと方向は、そのポイントに影響を与えるすべての磁場ソースの正味の影響です。地球の磁場はその1つです。磁化されたドライバー、車、冷蔵庫の磁石などはすべてフィールドを生成します。フィールドは、ワイヤを流れる電流によっても生成されます。複数のソースからグラスに水を注ぐようなものです。ガラスの中に入ると、どこから来たのかわかりません。

ある点で磁場を測定することによって地球の「実際の極」を決定できる機器はありません。ただし、電話でできることは、電話軸がN / S磁力線に平行になる点を感知し、電話のどちら側が北を指しているかを決定することです。あなたは車や鉄鋼フェンスのように、磁化される可能性のあるオブジェクトから遠く離れてあなたのダンスを行う場合は、電話が測定されたフィールドがあり、主に地球のフィールドであるので、携帯電話のコンパスが適切に較正されます。しかし、電話を磁化された車に入れると、北の方向が間違ってしまいます。すべての車の鋼は、ある程度磁化されています。

このような高精度のコンパスは航空機で使用され、深刻な海上船舶には実際には、N / SおよびE / Wエラー用にネジで調整可能な小さな補正磁石があります。これらは、設置後に車両を既知の方位(たとえば、金属製の建物から離れた誘導路で測量士が描いたコンパスローズ)に向け、コンパスエラーが最小化されるまで磁石を使用して調整されます。次に、残りのエラーは「コンパス補正カード」に記録され、指示された読み取り値の補正に使用されます。「コンパス補正カード」で検索すると画像が見られます。

理論的には、瞬間的なGPSトラックが正確であるため、GPSを使用して、歩行中や運転中にコンパスを調整できます。よくあることかもしれませんが、これが行われたことは聞いていません。磁化された車でも機能します。ただし、飛行機や船では、車両の進行方向がある程度、通常は風にわずかにぶつかっており、GPSがこれを認識しないため、これは機能しません。


これは、Androidの一般的なキャリブレーション手順がどのように、そしてなぜ機能するのかを伝えていないようです。
ルスラン

1

Androidフォンで提供されるコンパスフィールド測定をテストしましたが、電話を180度回転させた場合、フィールドが正反対に変化しないことがわかりました。これは、センサーが正しい場合に当てはまるはずです。これは、携帯電話の詳細またはセンサーの読み取りの不正確さが原因である可能性があります。

それを補正せず、そのまま読み取りを使用して北方向を計算しようとすると、それらが正しくないことがわかります。垂直軸を中心に90度だけ電話を回転させても、測定された磁場は回転しません。同じ角度(どの角度でも同じです。90度で確認する方が簡単です)。

したがって、キャリブレーションの目的は、磁気センサーからの誤った読み取り値をより現実的な値に変換する補正式を開発することです。これにより、正しい方位を計算できます。私の推測では、電話の向きに依存せずに磁気ベクトルの長さが結果として得られる、各軸のゼロの最適なシフトを探しています(理想的な状況ではそうなりますが、任意の軸でゼロがシフトされる場合はそうではありません)。 )。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.