JP2016514272A - 磁気センサの動的校正 - Google Patents

磁気センサの動的校正 Download PDF

Info

Publication number
JP2016514272A
JP2016514272A JP2016501038A JP2016501038A JP2016514272A JP 2016514272 A JP2016514272 A JP 2016514272A JP 2016501038 A JP2016501038 A JP 2016501038A JP 2016501038 A JP2016501038 A JP 2016501038A JP 2016514272 A JP2016514272 A JP 2016514272A
Authority
JP
Japan
Prior art keywords
computing device
magnetic sensor
sensor
system state
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016501038A
Other languages
English (en)
Inventor
エー. ブリスト,ゲイリー
エー. ブリスト,ゲイリー
ジェイ. ダニエル,ケヴィン
ジェイ. ダニエル,ケヴィン
エー. コーワン,メリッサ
エー. コーワン,メリッサ
Original Assignee
インテル コーポレイション
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Priority claimed from PCT/US2014/022695 external-priority patent/WO2014150241A1/en
Publication of JP2016514272A publication Critical patent/JP2016514272A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Measuring Magnetic Variables (AREA)

Abstract

磁気センサを動的に校正する計算デバイス、システム、装置、及び少なくとも1つの機械読み取り可能媒体をここで説明する。計算デバイスはセンサハブと、そのセンサハブに通信可能に結合した磁気センサとを含む。磁気センサは計算デバイスに対応するセンサデータを収集するように構成されている。また計算デバイスは、記憶された命令を実行するように構成されたプロセッサと、命令を記憶するストレージデバイスとを含む。ストレージデバイスは、プロセッサにより実行された時、計算デバイスのシステム状態を決定し、計算デバイスの決定されたシステム状態をセンサハブに送るように構成されたプロセッサ実行可能コードを含む。センサハブは、磁気センサを介して収集されたセンサデータと、計算デバイスの決定されたシステム状態とに基づき、磁気センサを動的に校正するように構成されている。

Description

本発明は概して磁気センサの動的校正に関する。より具体的には、本発明は、磁気センサが存在する計算デバイスのシステム状態に基づいて磁気センサを動的に校正する計算デバイス、方法、装置、及び少なくとも1つの機械読み取り可能媒体に関する。
磁気センサは、計算デバイスのプラットフォーム中に集積され、ヘディング情報、例えば計算デバイスが向いている方向に関する情報を測定又は検出するコンパスとして用いられることが多い。かかるヘディング情報はナビゲーションアプリケーション、知覚計算(perceptual computing)アプリケーション、ゲームアプリケーションなどに用いることができる。しかし、計算デバイスのプラットフォームにより生じる干渉は、磁気センサの正しい動作を妨げ、ヘディング測定値(heading measurements)が不正確になる。具体的に、磁気センサの入力における計算デバイスのプラットフォームにより生じる磁場は、計算デバイスのさまざまなコンポーネントのシステム状態と、そのコンポーネントの磁気センサに対する近さとに基づき、シフトする。
現在の手法によれば、磁場におけるかかるプラットフォームに起因するシフトは、回転面内での磁気センサの重心を計算、モニタ、及びトラッキングすることにより対応される。しかし、かかる手法は、計算デバイスのコンポーネントのシステム状態における変化により生じる磁場のシフトを適切に対応できない。例えば、かかる手法は、計算デバイスのバッテリーが充電されているとき、又は計算デバイスの全体的なパワー消費が変化したときに生じる、計算デバイスのパワー状態の変化により生じる、センサにおいて見られる磁場のシフトに対応(account for)できない。
現在、コンポーネントのシステム状態における変化に起因する磁場のシフトは、外部干渉の変化に起因する磁場のシフトと同様に処理されている。かかる手法によると、複数のセンサ測定値を用いて外部環境の変化を検出し、次いで、外部環境の変化により生じた磁場のシフトを計算するアルゴリズムを用いる。結果として、磁気センサを読む計算デバイスの方位出力は、磁場の物理的シフトの発生と、磁場のシフトの検出及び計算との間の時間には正しくない。
一定磁場におけるすべての磁気センサ方位にわたる磁気センサの出力を示す図である。 磁気センサの出力のシフトを示すグラフである。 ここに説明する磁気センサを動的に校正する手法を実装できる計算デバイスを示すブロック図である。 図3の計算デバイスのセンサハブを示すブロック図である。 計算デバイスの磁気センサを動的に校正する方法を示すプロセスフロー図である。 計算デバイスの磁気センサを動的に校正するコードを記憶した有体かつ非一時的機械読み取り可能媒体を示すブロック図である。 本開示と図面を通して同じ数字を用いて同じコンポーネントとフィーチャを参照する。100番台の数字は最初に図1に現れるフィーチャを指し、200番台の数字は最初に図2に現れるフィーチャを指し、以下同様である。
上記の通り、計算デバイスのプラットフォームにより生じる干渉は、計算デバイス中の磁気センサの適切な機能を妨げ、これは磁気センサの入力においてプラットフォームにより生じる磁場をシフトすることによる。さらに、現在の手法は、計算デバイスのコンポーネントのシステム状態における変化により生じる磁場のシフトに自動的に対応(account for)できない。
計算デバイスのプラットフォームの磁気センサにより測定された磁場、例えばBsensorは、回転による歪みが無視できるので、3つの磁場のベクトル和とそれらの各座標系として、式(1)に示すように表せる。3つの磁場は、プラットフォームにより生じる磁場、例えばBplatform、地球の磁場、例えばBearth、及びプラットフォーム外部の磁場源からの貢献、例えばBambientを含む。
Figure 2016514272
式(1)において、
[外1]
Figure 2016514272
はプラットフォーム/センサ座標に等しく、
[外2]
Figure 2016514272
は世界座標に等しい。また、
[外3]
Figure 2016514272
はプラットフォーム/センサ座標と世界座標の回転変換行列である。各ベクトルの絶対値は、磁力の強さと、世界座標系及びプラットフォーム/センサ座標系における境界への近さとの両方の関数である。
プラットフォームの真のヘディングは式(2)により決定できる。
Figure 2016514272
ヘディング情報を決定する現在の実装は、式(2)に示したarctan関数から角度を正しく計算するため、磁気センサにおけるプラットフォーム誘導磁場により磁気センサ出力を調整する。しかし、この値は、計算デバイスのコンポーネントのシステム状態の変化により誘導された磁場によりシフトされる。
図1は、一定磁場におけるすべての磁気センサ方位にわたる磁気センサの出力102を示すグラフ100である。図1に示したように、磁気センサは、一定磁場中で磁気センサのz軸の周りに回転したとき、重心104は原点すなわちx−y座標(0,0)になる。グラフ100のx軸106は、x方向のカウント数を表し、グラフ100のy軸108はy方向のカウント数を表す。
図2は、磁気センサの出力のシフトを示すグラフ200である。グラフ200のx軸202は、x方向のカウント数を表し、グラフ200のy軸204はy方向のカウント数を表す。グラフ200は理想的な場合の磁気センサの出力206を示す。グラフ200も磁気センサの出力208を示すが、計算デバイスが磁気センサと同じ基準フレーム内に固定され、すべての方位にわたり一定のシフトを生じる磁場源を含む場合のものである。センサ出力は、計算デバイスが一以上のコンポーネントのシステム状態の変化を経験した時にシフトし得る。
現在の手法によれば、計算デバイスは、プラットフォーム誘導磁場によるシフトを推定する複雑なトラッキングアルゴリズムに依存するか、又は工場校正時に決定された静的オフセットに依存する。しかし、計算デバイスの一以上のコンポーネントのシステム状態の変化は、十分近ければ、磁気センサにより検出可能な一以上の新しい局所的な磁場を誘導し得る。かかる磁場により生じる磁気センサの出力における瞬間的なシフトは、現在の手法では自動的に対応できない(account for)。
それゆえ、ここに説明する実施形態は磁気センサの状態駆動校正(state driven calibration)を提供する。具体的に、ここに説明する実施形態は、計算デバイスのシステム状態から得られる校正オフセット値に基づき、計算デバイスの磁気センサの出力を動的に補正する計算デバイス、方法、及び少なくとも1つの機械読み取り可能媒体を提供する。
ここに説明する実施形態は、センサ応答のシフトを直接追跡する間違った方向ヘディング計算の源を無くし、磁気センサ応答のシフトを検出するのにかかる時間を短縮し得る。さらに、ここに説明する実施形態は、計算デバイスのシステム状態によるセンサシフトの計算及びトラッキングに関連する計算負荷を低減し得る。結果として、磁気センサは、磁場のプラットフォーム誘導シフトに関わらず、真のヘディングをトラッキングし得る。
また、以下の説明及び請求項において、「coupled」と「connected」との用語及びその変化形を用いることがある。言うまでもなく、これらの用語は互いに同意語として使用したものではない。例えば、一部の実施形態では、「接続された」という用語を用いて、2以上の要素が互いに物理的または電気的に直接的に接触していることを示している。「結合された」という用語は、2つ以上の要素が物理的または電気的に直接的に接触していることを示している。しかし、「結合された」という用語は、複数の要素が互いに直接的には接触してないが、互いに協働または相互作用することを示している。
ある実施形態は、ハードウェア、ファームウェア、及びソフトウェアの1つまたはその組合せで実施することができる。ある実施形態は、機械読み取り可能媒体に格納された命令として実施することもできる。コンピューティングプラットフォームがこの命令を読み出し、実行して、ここに説明した動作を実行する。機械読み取り可能媒体には、機械、例えばコンピュータによる読み取りが可能な形式で情報を格納または伝送する任意のメカニズムが含まれる。例えば、機械読み取り可能媒体には、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM);磁気ディスク記憶媒体;光記憶媒体;フラッシュメモリデバイス;電子的、光学的、音響的その他の形式の伝送信号、例えば搬送波、赤外線信号、デジタル信号、信号を送受信するインタフェース等、などが含まれる。
実施形態は実装又は実施例である。本明細書において「一実施形態」、「ある実施形態」、「さまざまな実施形態」、「他の実施形態」とは、その実施形態に関して説明する機能、構造、特徴がここに説明した少なくともある実施形態に含まれるが、必ずしもすべての実施形態には含まれないことを意味している。「一実施形態」や「ある実施形態」と言っても、必ずしも同じ実施形態を指しているとは限らない。
ここに説明し図示したコンポーネント、フィーチャ、構造、又は特徴のすべてが、すべての場合にある具体的な実施形態に含まれる必要はない。例えば、明細書において、コンポーネント、フィーチャ、構造又は特徴が、含まれ「得る」、含まれることが「できる」と言った場合、その具体的なコンポーネント、フィーチャ、構造又は特徴がすべての場合に含まれなくてもよい。明細書又は特許請求の範囲で「一」要素と言う場合、これはその要素が1つだけあることを意味するのではない。明細書又は特許請求の範囲で「一追加」要素と言う場合、これはその追加要素が1つより多くあることを排除するものではない。
留意点として、具体的なインプリメンテーションを参照して実施形態を説明したが、ある実施形態では他のインプリメンテーションが可能である。また、図面に示し及び/又はここに説明した、回路要素の構成及び/又は順序、又はその他の特徴は、図示して説明した具体的な方法で構成されなくてもよい。ある実施形態では、他の多くの構成が可能である。
図に示した各システムでは、ある場合の要素は、それぞれ同じ参照番号又は異なる参照番号を有し、表示された要素が異なる及び/又は同じことを示唆している。しかし、要素は、フレキシブルであり、異なるインプリメンテーションを有し、ここに示し説明したシステムの一部又は全部と機能する。図面に示した様々な要素は同じもの又は違うものである。どれを第1の要素と呼び、どれを第2の要素と呼ぶかは任意的である。
図3は、ここに説明する磁気センサを動的に校正する手法を実装できる計算デバイス300を示すブロック図である。計算デバイス300は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイルデバイス、サーバ、又はセルラ電話などであってもよい。計算デバイス300は、記憶された命令を実行するように構成されたプロセッサ302と、そのプロセッサ302により実行可能な命令を記憶するメモリデバイス304とを含み得る。プロセッサ302は、シングルコアプロセッサ、マルチコアプロセッサ、計算クラスタ、又はその他の構成であり得る。プロセッサ302は、複数命令セットコンピュータ(CISC)プロセッサ、縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セット互換プロセッサ、マルチコア、またはその他の任意のマイクロプロセッサまたは中央処理装置(CPU)として実装できる。幾つかの実施形態では、プロセッサ302は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサなどを含む。
メモリデバイス304は、ランダムアクセスメモリ(例えば、SRAM,DRAM,ゼロキャパシタRAM,SONOS,eDRAM,EDORAM,DDRRAM,RRAM,PRAMなど)、リードオンリーメモリ(例えば、MaskROM,PROM,EPROM,EEPROMなど)、フラッシュメモリ、又はその他の好適なメモリシステムを含み得る。メモリデバイス304は、プロセッサ302により実行可能であり、計算デバイス300のシステム状態に基づきシステムデバイス300内に実装された磁気センサ306を動的に校正するサポートを提供するために用いられる命令を記憶する。
プロセッサ302は、システムバス308(例えば、PCI,ISA,PCI−Express,HyperTransport(登録商標),NuBusなど)を通して、計算デバイス300を一以上のI/Oデバイス312に入出力(I/O)デバイスインタフェース310に接続され得る。I/Oデバイス312は、例えば、キーボード、ポインティングデバイスなどを含み得る。ポインティングデバイスは、タッチパッドやタッチスクリーンなどを含み得る。I/Oデバイス312は、計算デバイス300の組み込みコンポーネントであってもよく、又は計算デバイス300に外部接続されたデバイスであってもよい。
プロセッサ302は、システムバス308を通して、計算デバイス300をディスプレイデバイス316に接続するように構成されたディスプレイデバイスインタフェース314にリンクされてもよい。ディスプレイデバイス316は、計算デバイス300の組み込みコンポーネントであるディスプレイスクリーンを含み得る。ディスプレイデバイス316は、コンピュータモニタ、テレビジョン、又はプロジェクタなども含み得る。これらは計算デバイス300に外部接続される。
プロセッサ302は、バス308を通してネットワークインタフェースコントローラ(NIC)318にもリンクされ得る。NIC308は、プロセッサ302を、バス308を通してネットワーク320に接続するように構成され得る。ネットワーク320はワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、又はインターネットなどであり得る。
計算デバイス300はストレージデバイス322を含んでいてもよい。ストレージデバイス322は、ハードドライブ、光ドライブ、フラッシュドライブ、ドライブアレイなどの物理的メモリを含み得る。ストレージデバイス322は、リモートストレージドライブも含み得る。ストレージデバイス322は、計算デバイス300のシステム状態に基づき磁気センサ306を動的に校正するサポートを提供する命令を記憶し得る。さまざまな実施形態では、計算デバイス300のシステム状態は計算デバイス300のさまざまな個々のコンポーネントのシステム状態の和を含む。
ストレージデバイス322はオペレーティングシステム324を含み得る。オペレーティングシステム324は一以上のドライバをインストールしている。ドライバにより、ハードウェア又はオペレーティングシステム324上にインストールされストレージデバイス322内にある一以上のアプリケーション326は、計算デバイス300のオペレーティングシステム324又は(磁気センサ306を含む)その他のハードウェアと通信できる。ドライバを用いて、センサハブ(又はコントローラ)328はセンサデータを、磁気センサ306から、オペレーティングシステム324にインストールされている一以上のアプリケーション326のどれかに通信できる。
さまざまな実施形態では、磁気センサ306はプロセッサ302にバス308を介して接続される。磁気センサ306は、プライベートバス又はセンサインタフェース(図示せず)を介してプロセッサ302に直接接続してもよい。さらに、さまざまな実施形態では、磁気センサ306はセンサインタフェースを介してセンサハブ328に通信可能に結合している。センサハブ328は、磁気センサ306からセンサデータを収集するように構成されてもよい。幾つかの実施形態では、計算デバイス300内の一以上のマイクロコントローラは、磁気センサ306を介して収集されたセンサデータをセンサハブ328に提供してもよい。センサデータは、磁気ヘディング、磁北、グローバルポジション、標高、他の計算デバイスへの近さなどに関するデータを含み得る。
センサハブ328は、磁気センサ306を介して収集されたセンサデータと、計算デバイス300の現在のシステム状態とに基づき、磁気センサ306を動的に校正するように構成されてもよい。さまざまな実施形態では、センサハブ328は、さらに図4を参照して説明するように、記憶されたバイアスバッファ330内に記憶された校正オフセット値を用いて、かかる動的校正手順を行う。また、センサハブ328は、図4を参照してさらに説明するように、磁気センサやシステム状態バッファ332に基づき、記憶されたバイアスバッファ330内の校正オフセット値を継続的に又は定期的に更新してもよい。
幾つかの実施形態では、センサハブ328はカーネルレベルで動作し、計算デバイス300のオペレーティングシステム324を介して実装される。他の実施形態では、センサハブ328は、プロセッサレベルで動作し、プロセッサ302や計算デバイス300内にある任意数のその他のハードウェアを介して実装される。さらに、さまざまな実施形態では、センサハブ328は、オペレーティングシステム324とプロセッサ302との両方を介して同時に実装される。これは望ましいが、その理由は、幾つかの場合には、プロセッサ302が、オペレーティングシステム324にエクスポーズ(exposed)されないシステム状態変化に関するデータを知っていることである。また、幾つかの場合には、オペレーティングシステム324は、プロセッサ302にエクスポーズされていない、例えばウェブカムやラジオなどの新しくインストールされたハードウェアのシステム状態変化イベントに関するデータを知っているかも知れない。
また、幾つかの実施形態では、センサハブ328はファームウェアを含む。例えば、センサハブ328は、レジスタ・トランジスタロジック(RTL)又はカーネルレベル及び/又はプロセッサレベルにあるその他の任意の好適なタイプのロジックを含んでもよい。
言うまでもなく、図3のブロック図は、計算デバイス300が図3に示したすべてのコンポーネントを含むことを示すことを意図したものではない。さらに、計算デバイス300は、具体的な実装の詳細に応じて、図3に示していない別のコンポーネントをいくつ含んでいてもよい。
図4は、図3の計算デバイス300のセンサハブ328を示すブロック図である。同じ数字を付したアイテムは図3を参照して説明した通りである。図3に示したように、センサハブ328は、センサデータを磁気センサから磁気センサ出力400の形式で受け取ることができる。センサハブ328は、次いで、検出された複数のシステム状態変化イベントに基づき計算デバイスのシステム状態402を決定できる。かかるシステム状態変化イベントは、例えば、計算デバイス300のラジオのスイッチを入れること、計算デバイス300のバッテリーの充電、又は計算デバイス300のプロセッサ302をターボモードに入れることを含み得る。さまざまな実施形態では、システム状態変化イベントは、プロセッサ302、一以上のマイクロコントローラ、又は計算デバイス300内にあるその他のハードウェアを介して検出され、検出されたシステム状態変化イベントは次いでセンサハブ328に送られる。
さまざまな実施形態では、センサハブ328は、記憶されたバイアスバッファ330内にある校正オフセットテーブル406から検出された各システム状態変化イベントの校正オフセット値404を決定できる。校正オフセットテーブル406は、計算デバイス300のさまざまなシステム状態に基づき生成され得る。校正オフセットテーブル406は、磁気センサ306の性能を維持するためリアルタイムで使える。具体的に、校正オフセットテーブル406は、以下に表1に示すように、さまざまなシステム状態変化イベントに関する校正オフセット値を含んでいてもよい。幾つかの実施形態では、校正オフセット値は、計算デバイス300のブートアップシーケンスの間に、測定され、記憶されたバイアスバッファ330の校正オフセットテーブル406に記憶されてもよい。
表1:校正オフセットテーブルの例
Figure 2016514272
センサハブ328中のシステム状態決定モジュール408は、次いで、計算デバイス300の決定されたシステム状態402に対応する、結合された校正オフセット値410を決定でき、これはシステム状態変化イベントの校正オフセット値404を合計することにより行う。結合された校正オフセット値410は、図4に示したように、補正磁気センサ出力決定モジュール412に送信され得る。補正磁気センサ出力決定モジュール412は、磁気センサを介して収集された磁気センサ出力400から、結合された校正オフセット値410を減算して、補正磁気センサ出力414を取得できる。より具体的に、補正磁気センサ出力決定モジュール412は、式(3)に示すように、磁気センサ306により測定された磁場BMeasuredと、計算デバイス300のシステム状態の変化により誘導された磁場BSystemSateのシフトに対応(account for)する結合された校正オフセット値とに基づき、磁気センサの補正磁場BCorrectedを決定し得る。
Figure 2016514272
さまざまな実施形態では、補正磁気センサ出力414は、計算デバイス300に実行されるいくつのアプリケーションにでも、計算デバイス300の周囲磁場416として提供できる。また、さまざまな実施形態では、補正磁気センサ出力414及び結合された校正オフセット値410は、磁気センサ・システム状態バッファ332に提供され得る。磁気センサ・システム状態バッファ332は、記憶されたバイアスバッファ330の校正オフセットテーブル406内の校正オフセット値を更新するために用い得る。具体的に、磁気センサ・システム状態バッファ332は、過去の補正磁気センサ出力と、対応する結合された校正オフセット値とをリストするテーブル418を含んでいてもよい。さまざまな実施形態では、テーブル418は、現在の補正磁気センサ出力414と現在の結合された校正オフセット値410で継続的に更新され得る。
さまざまな実施形態では、現在の補正磁気センサ出力414と現在の結合校正オフセット値410は、及び更新されたテーブル418に関する情報は、動的磁気センサ校正モジュール420に送られ得る。動的磁気センサ校正モジュール420は、次いで、記憶されたバイアスバッファ330の校正オフセットテーブル406内の校正オフセット値のリアルタイム更新を介して、計算デバイス300の磁気センサ306を動的に校正できる。具体的に、現在の補正磁気センサ出力414と現在の結合校正オフセット値410とは既存の校正オフセット値と比較され、対応するシステム状態変化イベントのいずれかの銃剣が変化したことをデータが示す場合、既存の校正オフセット値は記憶されたバイアスバッファ330の校正オフセットテーブル406において変更又は置換され得る。
言うまでもなく、図4のブロック図は、センサハブ328が図4に示したすべてのコンポーネントを含むことを示すことを意図したものではない。さらに、センサハブ328は、具体的な実装の詳細に応じて、図4に示していない別のコンポーネントをいくつ含んでいてもよい。
図5は、計算デバイスの磁気センサを動的に校正する方法を示すプロセスフロー図である。方法500は、磁気センサがある計算デバイスにより実施され得る。計算デバイスは、図3と図4を参照して説明した計算デバイス300であってもよいし、ここに説明する手法により動的に校正される磁気センサを含む任意の好適な計算デバイスであってもよい。
方法500は、ブロック502で始まり、計算デバイスのセンサデータが磁気センサを介して収集される。センサデータは磁気センサの出力であってもよい。センサデータは、磁気ヘディング、磁北、グローバルポジション、標高、他の計算デバイスへの近さなどに関するデータを含み得る。
ブロック504において、計算デバイスのシステム状態が決定される。計算デバイスのシステム状態は、計算デバイスのさまざまな個別コンポーネントのシステム状態に基づいて決定され得る。さらに、計算デバイスのシステム状態は、例えば、計算デバイスのラジオのスイッチを入れること、又は計算デバイスのバッテリーを充電することなどのシステム状態変化イベントに基づき決定され得る。
ブロック506において、計算デバイスの磁気センサは、センサデータと計算デバイスのシステム状態とに基づいて動的に校正される。さまざまな実施形態では、磁気センサを動的に校正するステップは、計算デバイスの決定されたシステム状態に対応するシステム状態変化イベントに対する校正オフセット値を決定するステップと、校正オフセット値を用いて磁気センサ出力を補正するステップとを含む。具体的に、磁気センサ出力は、計算デバイスのさまざまなコンポーネントのシステム状態の変化により生じる磁場のシフトを説明するように補正してもよい。磁気センサの補正出力は、次いで、計算デバイス上で実行されているアプリケーションに提供されてもよい。
さらに、幾つかの実施形態では、磁気センサを動的に校正するステップは、計算デバイスの決定されたシステム状態に対応するシステム状態変化イベントの各々の校正オフセット値を決定するステップを含む。結合校正オフセット値は、システム状態変化イベントの校正オフセット値の和を取ることにより決定してもよく、磁気センサ出力は、磁気センサ出力値から結合校正オフセット値を減算することにより補正され得る。補正磁気センサ出力は、次いで、計算デバイス上で実行されているアプリケーションに提供されてもよい。
さまざまな実施形態では、システム状態変化イベントの校正オフセット値は、計算デバイスのブートアップシーケンスの間に決定され得る。さらに、校正オフセット値は、リアルタイムで校正され、これは現在の補正磁気センサ出力と現在の結合校正オフセット値とを既存の校正オフセット値と比較して、対応するシステム状態変化イベントの状態が変化したことをデータが示す場合、既存の校正オフセット値を変更又は置換することにより行うことができる。
言うまでもなく、図5に示したプロセスフロー図は、方法500のブロックがある特定の順序で実行されなければならないことや、方法500のすべてのブロックがすべての場合に含まれなければならないことを示すことを意図していない。さらに、具体的な実装の詳細に応じて、別のブロックをいくつでも方法500に含めてもよい。
方法500はさまざまなアプリケーションに用いることもできる。例えば、さまざまな実施形態では、方法500による計算デバイスの磁気センサの校正により、計算デバイス上で実行されたロケーションアプリケーション(すなわち任意のタイプのロケーション情報を利用するアプリケーション)が正しく機能できる。
図6は、計算デバイスの磁気センサを動的に校正するコードを記憶した有体かつ非一時的機械読み取り可能媒体600を示すブロック図である。有体かつ非一時的機械読み取り可能媒体600は、コンピュータバス604によりプロセッサ602によりアクセスされ得る。さらに、有体かつ非一時的機械読み取り可能媒体600は、プロセッサ602にここに説明した方法を実行するように命令するように構成されたコードを含んでいてもよい。
ここに説明したさまざまなソフトウェアコンポーネントは、図6に示すように、有体かつ非一時的機械読み取り可能媒体600に記憶されてもよい。例えば、システム状態決定モジュール606は、計算デバイスのシステム状態を決定するように構成されてもよい。また、補正磁気センサ出力決定モジュール608は、計算デバイスのシステム状態に基づき磁気センサの出力を補正するように構成され得る。さらに、動的磁気センサ校正モジュール610は、計算デバイスのシステム状態及び補正磁気センサ出力に基づいて、計算デバイスの磁気センサを動的に校正するように構成されてもよい。
言うまでもなく、図6のブロック図は、有体かつ非一時的機械読み取り可能媒体600が図6に示したすべてのコンポーネントを含むことを示すことを意図したものではない。さらに、具体的な実装の詳細に応じて、図6に示していない別のコンポーネントをいくつでも、有体かつ非一時的機械読み取り可能媒体600に含むこともできる。
実施例1
ここに計算デバイスを提供する。計算デバイスはセンサハブと、そのセンサハブに通信可能に結合した磁気センサとを含む。磁気センサは計算デバイスに対応するセンサデータを収集するように構成されている。計算デバイスはプロセッサとストレージデバイスも含む。ストレージデバイスは、プロセッサにより実行された時、計算デバイスのシステム状態を決定し、計算デバイスの決定されたシステム状態をセンサハブに送るように構成されたプロセッサ実行可能コードを含む。センサハブは、磁気センサを介して収集されたセンサデータと、計算デバイスの決定されたシステム状態とに基づき、磁気センサを動的に校正するように構成されている。
センサハブは、計算デバイスの決定されたシステム状態に対応するシステム状態変化イベントに対する校正オフセット値を決定し、その校正オフセット値を用いてセンサデータを含む磁気センサの出力を補正することにより、磁気センサを動的に校正するように構成されてもよい。具体的に、センサハブは、磁気センサの出力の値から校正オフセット値を減算することにより、磁気センサの出力を校正するように構成されてもよい。磁気センサの補正出力は、計算デバイスに対応する周囲磁場を含んでいてもよく、センサハブは、周囲磁場を計算デバイス上で実行されているアプリケーションに提供するように構成されていてもよい。
さらに、センサハブは、計算デバイスの決定されたシステム状態に対応する各システム状態変化イベントに対する校正オフセット値を決定し、その校正オフセット値を用いてセンサデータを含む磁気センサの出力を補正することにより、磁気センサを動的に校正するように構成されてもよい。具体的に、センサハブは、システム状態変化イベントの校正オフセット値を加算することにより、計算デバイスの決定されたシステム状態に対応する結合校正オフセット値を決定し、磁気センサの出力の値から結合校正オフセット値を減算することにより、磁気センサの出力を補正するように構成されてもよい。磁気センサの補正出力は、計算デバイスに対応する周囲磁場を含んでいてもよく、センサハブは、周囲磁場を計算デバイス上で実行されているアプリケーションに提供するように構成されていてもよい。
センサハブは計算デバイスのオペレーティングシステムを介して実行されてもよいし、計算デバイスのプロセッサを介して実装されてもよい。また、センサハブは、オペレーティングシステム及び計算デバイスのプロセッサの両方を介して実装されてもよい。さらに、磁気センサは、センサインタフェースを介してセンサハブとプロセッサに通信可能に結合していてもよい。
実施例2
計算デバイスの磁気センサを動的に校正する方法をここに提供する。該方法は、磁気センサを介して計算デバイスのセンサデータを収集するステップと、前記計算デバイスのシステム状態を決定するステップと、前記計算デバイスの磁気センサを、前記センサデータと前記計算デバイスのシステム状態とに基づいて動的に校正するステップとを有する。
前記磁気センサを動的に校正するステップは、前記計算デバイスの決定されたシステム状態に対応するシステム状態変化イベントの校正オフセット値を決定するステップを含んでいても良い。校正オフセット値を用いてセンサデータを含む磁気センサの出力を補正してもよい。磁気センサの補正出力は、計算デバイス上で実行されているアプリケーションに提供されてもよい。
さらに、磁気センサを動的に校正するステップは、前記計算デバイスの決定されたシステム状態に対応する複数のシステム状態変化イベントの各々の校正オフセット値を決定するステップと、前記システム状態変化イベントの校正オフセット値を合計することにより結合校正オフセット値を決定するステップとを含んでもよい。前記磁気センサの出力は、次いで、前記磁気センサの出力の値から前記結合校正オフセット値を減算することにより、補正されてもよい。磁気センサの補正出力は、計算デバイス上で実行されているアプリケーションに提供されてもよい。
実施例3
少なくとも1つの機械読み取り可能媒体をここで提供する。機械読み取り可能媒体は、記憶された命令を含み、該命令は、プロセッサで実行されるのに応じて、そのプロセッサに、計算デバイス内にある磁気センサの出力を決定させる。出力はセンサデータを含む。該命令は、プロセッサに、前記計算デバイスのシステム状態を決定し、前記計算デバイスの決定されたシステム状態に対応する複数のシステム状態変化イベントの各々の校正オフセット値を決定させる。また、該命令は、プロセッサに、前記システム状態変化イベントの校正オフセット値を合計することにより結合校正オフセット値を計算し、前記磁気センサの出力の値から前記結合校正オフセット値を減算することにより、前記磁気センサの補正出力を計算させる。さらに、該命令は、プロセッサに、前記結合校正オフセット値と前記磁気センサの補正出力とに基づいて、前記システム状態変化イベントのどれかの校正オフセット値を更新することにより前記磁気センサを動的に校正させる。
また、前記命令は、前記プロセッサに、前記磁気センサの補正出力を前記計算デバイス上で実行されている一以上のアプリケーションに提供させてもよい。前記磁気センサの補正出力は前記計算デバイスに対応する周囲磁場を含んでもよい。
実施例4
磁気センサを動的に校正する装置をここに提供する。前記装置は、磁気センサと、
プロセッサと、プロセッサ実行可能コードを含むストレージデバイスであって、該コードは、プロセッサにより実行されると、磁気センサを介して装置のセンサデータを収集し、装置のシステム状態を決定するように校正されている。また、前記装置は、前記センサデータと前記装置のシステム状態とに基づいて、前記磁気センサを動的に校正するように校正されたコントローラとを含む。
コントローラはセンサハブを含み得る。コントローラは、前記装置の決定されたシステム状態に対応するシステム状態変化イベントに対する校正オフセット値を決定し、校正オフセット値を用いてセンサデータを含む磁気センサの出力を補正することにより、前記磁気センサを動的に校正するように校正されてもよい。プロセッサ実行可能コードは、前記磁気センサの補正出力を前記装置上で実行されているアプリケーションに提供するように構成されていてもよい。
言うまでもなく、上記実施例の細目は一以上の実施形態のどこで用いても良い。例えば、上記の計算デバイスのすべての任意的フィーチャは、ここに説明した方法や機械読み取り可能媒体に対して実装されてもよい。さらに、ここで実施形態を説明するためにフロー図及び/又は状態図を使ったが、本発明はこれらの図や対応するここでの説明に限定されない。例えば、フローは、例示された各ボックスや状態を通って、図示し説明したのと同じ順序で動く必要はない。
本発明は、ここに列記した具体的な詳細事項に限定されない。実際、本開示の利益を享受する当業者には、上記の説明と図面から、本発明の範囲内で、多数の変形を行うことができるだろう。したがって、本発明の範囲を画定するのは、補正も含めた以下の請求項である。

Claims (24)

  1. 計算デバイスであって、
    センサハブと、
    前記センサハブに通信可能に結合した磁気センサであって、前記磁気センサは前記計算デバイスに対応するセンサデータを収集するように構成されている、磁気センサと、
    プロセッサと、
    プロセッサ実行可能コードを含むストレージデバイスであって、前記プロセッサ実行可能コードは、前記プロセッサにより実行されたとき、前記計算デバイスのシステム状態を決定し、前記計算デバイスの決定されたシステム状態を前記センサハブに送るように構成された、ストレージデバイスとを有し、
    前記センサハブは、前記磁気センサを介して収集されたセンサデータと、前記計算デバイスの決定されたシステム状態とに基づき、前記磁気センサを動的に校正するように構成されている、計算デバイス。
  2. 前記センサハブは、前記計算デバイスの決定されたシステム状態に対応するシステム状態変化イベントに対する校正オフセット値を決定し、前記校正オフセット値を用いて、前記センサデータを含む前記磁気センサの出力を補正することにより、前記磁気センサを動的に校正するように構成される、請求項1に記載の計算デバイス。
  3. 前記センサハブは、前記磁気センサの出力の値から前記校正オフセット値を減算することにより、前記磁気センサの出力を補正するように構成されている、
    請求項2に記載の計算デバイス。
  4. 前記磁気センサの補正出力は、前記計算デバイスに対応する周囲磁場を含み、前記センサハブは、前記周囲磁場を前記計算デバイスにおいて実行されているアプリケーションに提供するように構成されている、請求項2に記載の計算デバイス。
  5. 前記センサハブは、前記計算デバイスの決定されたシステム状態に対応する複数のシステム状態変化イベントの各々に対する校正オフセット値を決定し、前記校正オフセット値を用いて、前記センサデータを含む前記磁気センサの出力を補正することにより、前記磁気センサを動的に校正するように構成される、請求項1に記載の計算デバイス。
  6. 前記センサハブは、
    前記複数のシステム状態変化イベントの校正オフセット値を合計することにより、前記計算デバイスの決定されたシステム状態に対応する結合校正オフセット値を決定し、前記磁気センサの出力の値から前記結合校正オフセット値を減算することにより、前記磁気センサの出力を補正するように構成されている、請求項5に記載の計算デバイス。
  7. 前記磁気センサの補正出力は、前記計算デバイスに対応する周囲磁場を含み、前記センサハブは、前記周囲磁場を前記計算デバイスにおいて実行されているアプリケーションに提供するように構成されている、請求項5に記載の計算デバイス。
  8. 前記センサハブは前記計算デバイスのオペレーティングシステムを介して実装される、
    請求項1に記載の計算デバイス。
  9. 前記センサハブは前記計算デバイスのプロセッサを介して実装される、
    請求項1に記載の計算デバイス。
  10. 前記センサハブは前記計算デバイスのオペレーティングシステムと前記計算デバイスのプロセッサとの両方を介して実装される、請求項1に記載の計算デバイス。
  11. 前記磁気センサは、センサインタフェースを介して前記センサハブ及び前記プロセッサに通信可能に結合している、請求項1に記載の計算デバイス。
  12. 計算デバイスの磁気センサを動的に校正する方法であって、
    磁気センサを介して計算デバイスのセンサデータを収集するステップと、
    前記計算デバイスのシステム状態を決定するステップと、
    前記計算デバイスの磁気センサを、前記センサデータと前記計算デバイスのシステム状態とに基づいて動的に校正するステップとを有する、方法。
  13. 前記磁気センサを動的に校正するステップは、前記計算デバイスの決定されたシステム状態に対応するシステム状態変化イベントの校正オフセット値を決定するステップを有する、請求項12に記載の方法。
  14. 前記校正オフセット値を用いて前記センサデータを含む前記磁気センサの出力を補正するステップを有する、請求項13に記載の方法。
  15. 前記磁気センサの補正された出力を前記計算デバイスにおいて実行されているアプリケーションに提供するステップを有する、請求項14に記載の方法。
  16. 前記磁気センサを動的に校正するステップは、
    前記計算デバイスの決定されたシステム状態に対応する複数のシステム状態変化イベントの各々の校正オフセット値を決定するステップと、
    前記複数のシステム状態変化イベントの校正オフセット値を合計することにより結合校正オフセット値を決定するステップと、
    前記磁気センサの出力の値から前記結合校正オフセット値を減算することにより、前記磁気センサの出力を補正するステップとを有する、
    請求項12に記載の方法。
  17. 前記磁気センサの補正された出力を前記計算デバイスにおいて実行されているアプリケーションに提供するステップを有する、請求項16に記載の方法。
  18. 命令が記憶された少なくとも1つの機械読み取り可能媒体であって、前記命令は、プロセッサで実行されるのに応じて、前記プロセッサに、
    計算デバイスにある磁気センサの出力を決定させ、前記出力はセンサデータを含み、
    前記計算デバイスのシステム状態を決定させ、
    決定されたシステム状態に対応する各システム状態変化イベントの校正オフセット値を決定させ、
    前記システム状態変化イベントの校正オフセット値を合計することにより結合校正オフセット値を計算させ、
    前記磁気センサの出力の値から前記結合校正オフセット値を減算することにより、前記磁気センサの補正出力を計算させ、
    前記結合校正オフセット値と前記磁気センサの補正出力とに基づいて、前記システム状態変化イベントのどれかの校正オフセット値を更新することにより前記磁気センサを動的に校正させる、
    少なくとも1つの機械読み取り可能媒体。
  19. 前記命令は、前記プロセッサに、前記磁気センサの補正出力を前記計算デバイスにおいて実行されている一以上のアプリケーションに提供させる、
    請求項18に記載の少なくとも1つの機械読み取り可能媒体。
  20. 前記磁気センサの補正出力は前記計算デバイスに対応する周囲磁場を含む、
    請求項18に記載の少なくとも1つの機械読み取り可能媒体。
  21. 磁気センサを動的に校正する装置であって、
    磁気センサと、
    プロセッサと、
    プロセッサ実行可能コードを含むストレージデバイスであって、前記プロセッサ実行可能コードは、前記プロセッサにより実行されたとき、前記磁気センサを介して前記装置のセンサデータを収集し、前記装置のシステム状態を決定するように構成されたストレージデバイスと、
    前記センサデータと前記装置のシステム状態とに基づいて、前記磁気センサを動的に校正するように校正されたコントローラとを有する、装置。
  22. 前記コントローラはセンサハブを有する、請求項21に記載の装置。
  23. 前記コントローラは、前記装置の決定されたシステム状態に対応するシステム状態変化イベントに対する校正オフセット値を決定し、前記校正オフセット値を用いて、前記センサデータを含む前記磁気センサの出力を補正することにより、前記磁気センサを動的に校正するように構成される、
    請求項21に記載の装置。
  24. プロセッサ実行可能コードは、前記磁気センサの補正出力を前記装置において実行されているアプリケーションに提供するように構成されている、請求項23に記載の装置。
JP2016501038A 2014-03-10 2014-03-10 磁気センサの動的校正 Pending JP2016514272A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/022695 WO2014150241A1 (en) 2013-03-15 2014-03-10 Dynamically calibrating magnetic sensors

Publications (1)

Publication Number Publication Date
JP2016514272A true JP2016514272A (ja) 2016-05-19

Family

ID=56019968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016501038A Pending JP2016514272A (ja) 2014-03-10 2014-03-10 磁気センサの動的校正

Country Status (1)

Country Link
JP (1) JP2016514272A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005291934A (ja) * 2004-03-31 2005-10-20 Kyocera Corp 携帯通信端末とその地磁気センサの誤差補正方法
JP2007240270A (ja) * 2006-03-07 2007-09-20 Yamaha Corp 磁気データ処理装置、方法及びプログラム
JP2013510317A (ja) * 2009-11-04 2013-03-21 クアルコム,インコーポレイテッド モバイル電子デバイスにおける正確な磁気コンパス

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005291934A (ja) * 2004-03-31 2005-10-20 Kyocera Corp 携帯通信端末とその地磁気センサの誤差補正方法
JP2007240270A (ja) * 2006-03-07 2007-09-20 Yamaha Corp 磁気データ処理装置、方法及びプログラム
JP2013510317A (ja) * 2009-11-04 2013-03-21 クアルコム,インコーポレイテッド モバイル電子デバイスにおける正確な磁気コンパス

Similar Documents

Publication Publication Date Title
CN109163721B (zh) 姿态测量方法及终端设备
CN110133582B (zh) 补偿电磁跟踪系统中的畸变
US9316513B2 (en) System and method for calibrating sensors for different operating environments
TWI555994B (zh) 磁性感測器的動態校準技術
JP4775478B2 (ja) 位置算出方法及び位置算出装置
KR20090028274A (ko) 로봇의 위치를 계산하기 위한 장치 및 방법
US20160370188A1 (en) Inertial device, control method and program
US8510079B2 (en) Systems and methods for an advanced pedometer
WO2016150312A1 (zh) 一种地磁传感器校准方法、装置及智能设备
US9811165B2 (en) Electronic system with gesture processing mechanism and method of operation thereof
JP5348093B2 (ja) 位置算出方法及び位置算出装置
JP6384194B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2016514272A (ja) 磁気センサの動的校正
JP2016522389A (ja) 磁気ヘディングの計算
CN113407045B (zh) 一种光标控制方法、装置、电子设备和存储介质
US11620846B2 (en) Data processing method for multi-sensor fusion, positioning apparatus and virtual reality device
WO2018014449A1 (zh) 改善相对位置传感器性能的方法、装置及计算机存储介质
JP5817163B2 (ja) 状態推定装置、電子機器及びプログラム
CN111078489B (zh) 电子装置及其姿态校正方法
Rasteiro et al. Low-complexity MARG algorithms for increased accuracy in space pointing devices
KR20230026302A (ko) 자력계 보정 오차 균등화를 통한 자기 실내 위치확인
JP2015108595A (ja) センサー出力補正装置、センサー出力補正方法及びセンサー出力補正プログラム
JP2012195749A (ja) 携帯端末用撮像方向表示方法、撮像方向表示機能付き携帯端末、携帯端末用撮像方向表示システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170804

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170817

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20171020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181128