JP5040103B2 - 磁気センサ制御装置、方法及びプログラム - Google Patents

磁気センサ制御装置、方法及びプログラム Download PDF

Info

Publication number
JP5040103B2
JP5040103B2 JP2005337412A JP2005337412A JP5040103B2 JP 5040103 B2 JP5040103 B2 JP 5040103B2 JP 2005337412 A JP2005337412 A JP 2005337412A JP 2005337412 A JP2005337412 A JP 2005337412A JP 5040103 B2 JP5040103 B2 JP 5040103B2
Authority
JP
Japan
Prior art keywords
magnetic data
point
magnetic
buffer
points
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.)
Expired - Fee Related
Application number
JP2005337412A
Other languages
English (en)
Other versions
JP2007139715A (ja
Inventor
伊吹 半田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2005337412A priority Critical patent/JP5040103B2/ja
Priority to EP06021133.1A priority patent/EP1775550B1/en
Priority to KR1020060098331A priority patent/KR100837472B1/ko
Priority to US11/548,022 priority patent/US7418359B2/en
Priority to TW095137400A priority patent/TWI321217B/zh
Priority to CN2010101333973A priority patent/CN101782633B/zh
Priority to CN2006101411139A priority patent/CN1948905B/zh
Publication of JP2007139715A publication Critical patent/JP2007139715A/ja
Priority to US12/163,683 priority patent/US7676341B2/en
Application granted granted Critical
Publication of JP5040103B2 publication Critical patent/JP5040103B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • Y02P10/212

Landscapes

  • Measuring Magnetic Variables (AREA)

Description

本発明は磁気センサ制御装置、方法及びプログラムに関する。
従来、移動体に搭載され、地磁気の方向を検出する3次元磁気センサが知られている。一般に3次元磁気センサは、磁界のベクトルを互いに直交する3方向の成分に分解してスカラー量を検出するための3つの磁気センサモジュールを備えている。3次元磁気センサの出力である磁気データは、そのような3つの磁気センサモジュールのそれぞれの出力の組み合わせからなるため、3成分を有する。磁気データを成分とするベクトルの方向と大きさが、3次元磁気センサが検出している磁界の方向と大きさである。3次元磁気センサの出力に基づいて地磁気の方向又は大きさを特定するとき、移動体の着磁成分を打ち消すために3次元磁気センサの出力を補正する処理が必要である。この補正処理の操作値はオフセットと呼ばれている。オフセットは3次元磁気センサが検出している移動体の着磁による磁界のベクトルを表しており、3次元磁気センサの出力である磁気データからオフセットが引き算されることによって移動体の着磁成分が打ち消される。磁気データを成分とする点を通る球面の中心を求めることによってオフセットを算出することができる。
ところで、磁気データを成分とする点の集合は現実には完全な球面にならない。なぜならば、3次元磁気センサの出力自体がガウス分布に従う測定誤差を有しているし、現実には完全に一様な磁界は存在しないためオフセットを算出するために必要な磁気データが蓄積される期間中に3次元磁気センサが測定している磁界が変動するし、3次元磁気センサの出力をディジタル値で取り出すまでの計算誤差があるからである。
従来の磁気センサのオフセット算出方法は、多数の磁気データを蓄積し、それらの統計処理によって、最も確からしいオフセットを算出するものであった(例えば特許文献1参照)。しかし、多数の磁気データの統計処理をする場合には、母集団となる磁気データ群の分布が満遍なく広く、特異な磁気データが母集団から排除されていなければ精度のよいオフセットを算出することができない。したがって、精度のよいオフセットを算出するには母集団をある程度選抜する必要もあり、結局のところ統計処理だけで精度のよいオフセットを算出することはできない。また、統計処理によって最も確からしい球面の中心を求める処理量は相当多く、時間と資源の消費が多い。
国際公開第2004−003476号パンフレット
本発明は、オフセットの算出に統計処理を用いる必要のない磁気センサ制御装置、方法及びプログラムを提供することを目的とする。
(1)上記目的を達成するための磁気センサ制御装置は、3次元磁気センサから順次出力される、3成分を有する複数の磁気データを入力する入力手段と、入力された複数の前記磁気データから、予め決められた4点選抜条件を満たす4つの前記磁気データを選抜する選抜手段と、選抜された4つの前記磁気データを成分とする4点から等距離にある点である中心点を算出する算出手段と、前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、を備える。
3次元磁気センサから順次出力される磁気データから、予め決められた4点選抜条件を満たす4つの磁気データを選抜し、選抜された4つの磁気データを成分とする4点から等距離にある点である中心点を算出することにより、オフセットの算出に統計処理を用いる必要がなくなるため、効率よくオフセットを算出することができる。尚、算出されたオフセットの信頼性を統計処理によって評価することも可能である。
(2)前記磁気センサ制御装置は、入力された複数の前記磁気データを格納するバッファをさらに備えてもよい。前記選抜手段は、n(n=2、3又は4)番目の前記磁気データを選抜する前に予め決められた所定の選抜条件を満たすn−1番目の前記磁気データを選抜し、n−1番目までの前記磁気データとして選抜されなかった前記磁気データを前記バッファから取得してn番目の前記磁気データの選抜候補としてもよい。
4点選抜条件を満たす4つの磁気データを、多数の磁気データから一度に選抜するためには選抜試行回数が大きくばらつき、選抜に要する最大処理量が膨大になる可能性がある。そこで、選抜条件を段階的に設定し、n番目の磁気データをある条件で選抜する前に別の選抜条件を満たすn−1番目の磁気データを選抜しておくことにより、選抜に要する最大処理量を低減することができる。さらに、n番目の磁気データをある条件で選抜するときに、n−1番目までの磁気データとして選抜されなかった磁気データを再び選抜候補とすることにより、オフセットを算出するために必要な磁気データの個数を低減することができる。その結果、磁気データのオフセットを算出するために必要な磁気データを収集するために必要となる、3次元磁気センサを搭載している移動体の操作量が低減されるし、オフセットの算出時間が短縮される。
(3)前記選抜手段は、選抜候補の3つの前記磁気データを格納するための3つのデータ構造体に、入力された前記磁気データを格納しながら、3つの前記データ構造体に格納された3つの前記磁気データが予め決められた3点選抜条件を満たすまで、前記データ構造体を更新し、前記3点選抜条件を満たす3つの前記磁気データを選抜してもよい。
4点選抜条件を満たす4番目の磁気データを選抜する前に、3番目までの磁気データの選抜を済ませておくことにより、選抜に要する最大処理量を低減することができる。3番目の磁気データの選抜をする過程では、1つずつ磁気データが更新される、3つの磁気データを格納可能な3つのデータ構造体を用いることができる。磁気データを格納するためのデータ構造体は、例えば、磁気データの3成分を格納するための3つの変数を要素とする配列として定義することができる。
(4)前記選抜手段は、最後に入力された前記磁気データを3つの前記データ構造体のいずれかに格納するとき、最後に入力された前記磁気データで更新されることによって3つの前記データ構造体に格納されている3つの前記磁気データを成分とする3点を通る円弧の弦の長さが延長され少なくとも短縮されないように1つの前記データ構造体を選択し、選択した前記データ構造体を、最後に入力された前記磁気データで更新してもよい。
3つの磁気データを成分とする3点を通る円は、最終的に求まるオフセットを成分とする点を中心とする球の断面円の円周になる。その断面円を正確なオフセットを成分とする点を中心とする球の断面円に近づけるためには、その断面円の面積が広く、その断面円を規定する3点が円周上で広い範囲に満遍なく分散していることが望ましい。したがって、3つの磁気データを成分とする3点を通る弦の長さは長い方が望ましい。そこで、最後に入力された磁気データを3つのデータ構造体のいずれかに格納するときには、3つのデータ構造体に格納されている3つの磁気データを成分とする3点を通る円弧の弦の長さがデータ構造体の更新によって長くなるように、更新対象となるデータ構造体が選択されることが望ましい。
(5)前記選抜手段は、3つの前記データ構造体の更新回数が予め決められた所定回数を超えると3つの前記データ構造体をリセットしてもよい。
3点選抜条件を満たす3つの磁気データが選抜されている過程において2番目までの磁気データが選抜された後に磁気センサが存在している磁界が激変した場合などには、3点選抜条件を満たす磁気データがいつまでも入力されない可能性がある。このような問題を未然に防止するため、3つのデータ構造体の更新回数が予め決められた所定回数を超えたときには3つのデータ構造体をいったんリセットすることが望ましい。その結果、変化後の磁界について磁気データが3つの空のデータ構造体に格納されることになるため、3点選抜条件が満たされる3つの磁気データがいつまでも選抜されないという問題は起こらなくなる。
(6)前記3点選抜条件は、前記データ構造体に格納された3つの前記磁気データを成分とする3点を頂点とする三角形の正三角形に対する歪みに相関する条件を含んでもよい。
3つの磁気データを成分とする3点を通る円は、最終的に求まるオフセットを成分とする点を中心とする球の断面円の円周になる。その断面円を正確なオフセットを成分とする点を中心とする球の断面円に近づけるためには、その断面円を規定する3点が円周上で等間隔に分散していることが望ましい。したがって、3つの磁気データを成分とする3点を頂点とする三角形の正三角形に対する歪みに関して3点選抜条件を設定することが望ましい。3つの磁気データを成分とする3点を頂点とする三角形が正三角形であるとき、3点が円周上で等間隔に分散していることになる。
三角形の正三角形に対する歪みは三角形のいくつかの属性に着目して定義することができる。
(7−9)例えば、前記3点選抜条件は、前記三角形の内角のばらつきが予め決められた所定範囲内にあることを含んでもよい。また例えば、前記3点選抜条件は、前記三角形の辺の長さのばらつきが予め決められた所定範囲内にあることを含んでもよい。また例えば、前記3点選抜条件は、前記三角形の重心から各頂点までの距離のばらつきが予め決められた所定範囲内にあることを含んでもよい。
値のばらつきは数学的に任意に定義することができるが、条件判定に必要な計算量や処理時間や、条件判定の過程で得られた計算結果の再利用可能性などを勘案して定義することが望ましい。
(10)したがって、前記3点選抜条件は、下記の3行3列の対称行列Aの最大固有値に対する中間固有値の比が所定値以上であることを含むことが望ましい。
Figure 0005040103
ただし、
i(i=0,1,2)は前記三角形の各頂点であり、d3は前記三角形の重心である。
(11)前記4点選抜条件は、選抜候補の4つの前記磁気データを成分とする4点を頂点とする四面体の正四面体に対する歪みに相関する条件を含んでもよい。
4つの磁気データを成分とする4点は、最終的に求まるオフセットを成分とする点を中心とする球面を規定する。その球面を、正確なオフセットを成分とする点を中心とする球面に近づけるためには、その球面を規定する4点が球面上の広い範囲に満遍なく分散していることが望ましい。その球面を規定する4点が球面上で満遍なく分散しているとき、それらの4点を頂点とする四面体は正四面体となる。したがって、選抜候補の4つの磁気データを成分とする4点を頂点とする四面体の正四面体に対する歪みに関して4点選抜条件を設定することが望ましい。
四面体の正四面体に対する歪みは正四面体のいくつかの属性に着目して定義することができる。
(12−14)例えば、前記4点選抜条件は、前記四面体の各頂点の立体角のばらつきが予め決められた所定範囲内にあることを含んでもよい。また例えば、前記4点選抜条件は、前記四面体の各面の面積のばらつきが予め決められた所定範囲内にあることを含んでもよい。また例えば、前記4点選抜条件は、前記四面体の重心から各頂点までの距離のばらつきが予め決められた所定範囲内にあることを含んでもよい。
既に述べたとおり値のばらつきは数学的に任意に定義することができるが、条件判定に必要な計算量や処理時間や、条件判定の過程で得られた計算結果の再利用可能性などを勘案して定義することが望ましい。
(15)したがって、前記4点選抜条件は、下記の3行3列の対称行列Bの各固有値のいずれか2組のそれぞれの比がそれぞれ予め決められた所定値より大きいことであることが望ましい。尚、1組の固有値の比のしきい値(所定値)の組み合わせを1通りだけ決めておいてもよいし、しきい値の組み合わせを複数通り決めておき、2組の固有値のそれぞれの比がいずれかの組み合わせに相当する2つのしきい値よりもそれぞれ大きいことを4点選抜条件としてもよい。
Figure 0005040103
ただし、
i(i=0,1,2,3)は前記四面体の各頂点であり、d4は前記四面体の重心である。
(16)前記磁気センサ制御装置は、入力された所定数の前記磁気データを格納するバッファをさらに備えてもよい。前記選抜手段は、前記バッファに格納された前記磁気データのうち、対応する2点が特定の方向に最も離れた2つの前記磁気データを第1点と第2点として選抜し、前記バッファに格納された前記磁気データのうち、前記第1点又は前記第2点として選抜されていないさらに2つの前記磁気データを第3点及び第4点として選抜してもよい。
対応する2点が特定の方向に最も離れている2つの磁気データが必ず選抜されると、たとえバッファに格納されている磁気データに対応する点が特定の平面の近傍に偏って分布していても、そのような2点に対応する磁気データが選抜されない場合より正確にオフセットを求めることができる。
(17)前記選抜手段は、前記特定の方向のベクトルをaとし、前記バッファに格納された前記所定数の前記磁気データに対応する点の重心の位置ベクトルをdとし、前記バッファに格納された任意の前記磁気データに対応する点の位置ベクトルをqとするとき、D=a・(q−d)であるDが最大となる前記磁気データと最小となる前記磁気データとを前記第1点と前記第2点として選抜してもよい。
このように第1点と第2点とが選抜されると、対応する2点が特定の方向に最も離れている2つの磁気データが選抜される。
(18)下記の3行3列の対称行列Cの最小固有値に対応する固有ベクトルが前記特定の方向のベクトルであってもよい。
Figure 0005040103
バッファに格納されている磁気データに対応する点が特定の平面の近傍に偏って分布している場合、その平面に垂直な方向に最も離れた2点に対応する2つの磁気データを選抜することにより、そのような2点に対応する磁気データが選抜されない場合より正確にオフセットを求めることができる。上記対称行列Cの最小固有値に対応する固有ベクトルの方向は、バッファに格納されている磁気データに対応する点が近傍に偏っている平面に垂直である。
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。また、本発明は、磁気センサ制御装置としてだけでなく、磁気センサ制御装置と3次元磁気センサとを組み合わせた磁気測定装置としても、磁気センサ制御方法としても、磁気センサ制御プログラムとしても特定可能である。
以下、本発明の実施の形態を以下の順に説明する。
A.第一の実施形態
[1.全体説明]
1−1.基本原理
1−2.ハードウェア構成
1−3.ソフトウェア構成
[2.処理の流れ]
2−1.バッファ更新
2−2.1点目の選抜候補仮決定
2−3.2点目の選抜候補仮決定
2−4.3点目までの選抜
・3点の更新
・3点選抜条件
・選抜検証
・3点のリセット
2−5.4点目の選抜
・概要
・4点選抜条件
・方位球の算出
・方位球の検証
・オフセットの設定
B.第二の実施形態
[1.全体説明]
1−1.基本原理
はじめに本実施形態が利用する基本原理について説明する。
本実施形態では、3次元磁気センサの出力に含まれる、それが搭載されている移動体の着磁成分を打ち消すためのオフセットを設定する。オフセットを求めるためには、3次元磁気センサの出力である磁気データを成分とするベクトル空間内の無数の点の集合である立体面に近似の球面を特定する。この球面を方位球の球面というものとする。方位球の中心点の成分がオフセットであり、その半径が磁界の強さである。3次元磁気センサの出力自体に計測誤差があるため、移動体が一定の磁界で回転しても、磁気データを成分とする点の集合は球面にはならない。本実施形態では、磁気データを成分とする4点を選抜し、選抜された4点から、それらを通る球面の中心点と半径とを求め、求めた球面の中心をオフセットとして設定する。この方法でオフセットに含まれる3次元磁気センサ自体の計測誤差による誤差を低減するためには、3次元磁気センサ自体の計測誤差が含まれている4つの磁気データを成分とする4点を、それら4点を通る球面上で広い範囲で満遍なく分散するように選抜することが重要である。以下、理解を容易にするため、2次元磁気センサに置き換えて補足説明する。
図2は、2次元磁気センサの出力である磁気データを成分とする3点を通る方位円(実線)と、計測誤差がない理想2次元磁気センサの磁気データを成分とする無数の点の集合である真の方位円(破線)との関係を示している。2次元磁気センサの磁気データを成分とする3点がそれらを通る円周上の狭い範囲に分布しているとき、それらの3点から求まる方位円の中心(×)と、求めるべき理想2次元磁気センサの真の方位円の中心(+)との距離は、図2(A)に示すように大きくなる。これに対し、2次元磁気センサの磁気データを成分とする3点がそれらを通る円周上の広い範囲に満遍なく分布しているとき、それらの3点から求まる方位円の中心(×)と、求めるべき理想2次元磁気センサの真の方位円の中心(+)との距離は、図2(B)に示すように小さくなる。2次元磁気センサの磁気データを成分とする3点がそれらを通る円周で等間隔に分布しているとき、すなわちそれら3点を頂点とする三角形が正三角形になるとき、オフセットの誤差を最も小さくすることができる。
3次元磁気センサでは、方位球を求めるために選抜される4点が、それらを頂点とする四面体が正四面体であるときに、オフセットの誤差を最も小さくすることができる。したがって、本実施形態では、磁気データを成分とする4点を、それらを頂点とする四面体の正四面体に対する歪みが特定のしきい値より小さくなるように選抜する。
ここで、予め4点を選抜し、選抜された4点を通る球面を求め、その球面からオフセットを求める本実施形態の方法と、5点以上の多数の点を通る立体面に近似の球面を統計的手法によって求め、その球面からオフセットを求める方法とを比較しておく。統計的手法を用いる方法では、磁気データを成分とする点が偏在していたり、母集団に特異な磁気データが含まれていれば、それらの点から求まる方位球の中心は真の方位球の中心から大きくずれる。したがって、統計的手法を用いてオフセットの誤差を低減しようとすれば、統計的手法によって方位球を求める母集団のばらつきを検証したり、母集団を選抜する必要がある。本実施形態の方法では、適正な4点を選抜することができれば、計算量の多い統計的手法を用いずとも、統計的手法を用いた方法によって得られるオフセットの精度に遜色のない精度のオフセットを求めることができる。
1−2.ハードウェア構成
図3は、本発明が適用される移動体の一例である携帯型電話機3の外観を示す模式図である。携帯型電話機3には3次元磁気センサ4が搭載されている。3次元磁気センサは互いに直交するx、y、zの3方向の磁界のベクトル成分を検出することによって磁界の方向及び強さを検出する。携帯型電話機3のディスプレイ2には、文字や画像の各種情報が表示される。例えば、ディスプレイ2には、地図と、方位を示す矢印や文字が表示される。
図4は、本発明が適用される3次元磁気センサ4と磁気センサ制御装置1とを備える磁気測定装置を示すブロック図である。3次元磁気センサ4は、様々な移動体に搭載され、地磁気による磁界ベクトルのx方向成分、y方向成分、z方向成分をそれぞれ検出するx軸センサ30とy軸センサ32とz軸センサ34とを備えている。x軸センサ30、y軸センサ32、z軸センサ34は、いずれも磁気抵抗素子、ホール素子等で構成され、指向性のある1次元磁気センサであればどのようなものであってもよい。x軸センサ30、y軸センサ32及びz軸センサ34は、それぞれの感度方向が互いに直交するように固定されている。x軸センサ30、y軸センサ32及びz軸センサ34の出力は、時分割して磁気センサI/F(Inter Face)22に入力される。磁気センサI/F22では、x軸センサ30、y軸センサ32及びz軸センサ34からの入力が増幅された後にAD変換される。磁気センサI/F22から出力されるディジタルの磁気データは、バス5を介して磁気センサ制御装置1に入力される。
磁気センサ制御装置1は、CPU40とROM42とRAM44とを備えている所謂コンピュータである。CPU40は、例えば携帯型電話機3等の移動体の全体制御を司るプロセッサである。ROM42は、CPU40によって実行される磁気センサ制御プログラムや、移動体の機能を実現するための種々のプログラム、例えばナビゲーションプログラムが格納されている、不揮発性の記憶媒体である。RAM44はCPU40の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。尚、磁気センサ制御装置1と3次元磁気センサ1とを1チップの磁気測定装置として構成することもできる。
1−3.ソフトウェア構成
図5は、磁気センサ制御プログラム90の構成を示すブロック図である。磁気センサ制御プログラム90は、ナビゲーションプログラム98に方位データを提供するためのプログラムであって、ROM42に格納されている。方位データは地磁気の方向を示す2次元ベクトルデータである。尚、方位データは3次元ベクトルデータとしてナビゲーションプログラム98に提供されてもよい。CPU40が磁気センサ制御プログラム90を実行するとき、CPU40、RAM44及びROM42は磁気センサ制御装置として機能する。磁気センサ制御プログラム90は、バッファ管理モジュール92、オフセット設定モジュール94、方位演算モジュール96等のモジュール群で構成されている。
バッファ管理モジュール92は、磁気センサ4から順次入力する磁気データをオフセット演算に用いるためにバッファに蓄積するプログラム部品であって、CPU40を入力手段として機能させる。磁気センサ4から順次入力される磁気データを順次選抜にかけ、選抜されなかった磁気データを廃棄することもできる。しかし、n点目(n=2,3)の選抜条件とn+k点目(k=1、2)の選抜条件とが異なれば、n点目として選抜されなかった磁気データであっても、n+k点目として選抜され得る。したがって、バッファ管理モジュール92が管理するバッファは、単に入力タイミングと処理タイミングのずれを緩衝するだけではなく、一度は選抜されなかった磁気データを再度選抜候補として利用可能にする目的でも利用される。尚、このバッファはハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。
オフセット設定モジュール94は、バッファ管理モジュール92によって保持されている磁気データから4つの磁気データを選抜し、選抜された4つの磁気データからオフセットを算出し、算出したオフセットを設定するプログラム部品であって、CPU40を選抜手段、算出手段及び設定手段として機能させる。
方位演算モジュール96は、磁気センサ4から順次入力される磁気データと、設定されているオフセットとを用いて方位データを生成するプログラム部品である。具体的には、方位演算モジュール96は、3次元ベクトルデータである磁気データの各成分からオフセットデータの各成分を引き算して得られる3成分のうちの2成分又は3成分全部を方位データとして出力する。
ナビゲーションプログラム98は、目的地までの誘導経路を探索し、地図上に誘導経路を表示する周知のプログラムである。地図の認識のし易さから、地図は現実の方位に地図上の方位が一致するように画面表示される。したがって例えば、携帯型電話機3が回転すると、ディスプレイ2に表示される地図は地面に対して回転しないようにディスプレイ2に対して回転する。このような地図の表示処理に方位データが用いられる。もちろん、方位データは、単に南北東西を文字や矢印で表示するためにのみ用いられてもよい。
[処理の流れ]
2−1.バッファ更新
図6は、バッファ更新の処理の流れを示すフローチャートである。図6に示す処理は、オフセットの更新要求が発生したときにCPU40がバッファ管理モジュール92を実行することによって進行する。
ステップS100では、オフセットの算出に用いられる複数の磁気データを蓄積するためのバッファが初期化される。具体的には例えば、RAM44のバッファエリアに格納されているデータが削除される。
ステップS102では、磁気センサ4からの新たな磁気データの入力が待たれる。
磁気センサ4から新たな磁気データの入力があると、バッファの更新必要性が判定される(ステップS104)。携帯型電話機3がほとんど動いていない状況において、短い時間間隔で順次磁気センサ4から入力があると、連続入力される2つの磁気データを成分とする2点間の距離が近くなる。互いの距離が近い2点がオフセットを求めるために必要となる4点に含まれることは望まれない。また、磁気データを成分とする各点の距離が互いに近い複数の磁気データが限られた容量のバッファに格納されることは、メモリ資源の浪費であるし、無駄なバッファの更新処理を発生させる。そこで、バッファの更新必要性が次のように判定される。例えば、直前に入力された磁気データを成分とする点と最後に入力された磁気データを成分とする点との距離があるしきい値より小さければ、バッファの更新必要性がないと判定され、最後に入力された磁気データはバッファに格納されることなく破棄される。そうでない場合、バッファの更新必要性があると判定される。その結果例えば、図7に示す順序で磁気データの入力があったときには、黒丸で表された磁気データはバッファに格納されず、白丸で表された磁気データはバッファに格納されることになる。尚、図7では磁気データの入力順序が白丸及び黒丸の添え字で表されている。
上記の判定条件に加えてさらに次の条件を加えてバッファの更新要否を判定すると、キャリブレーションの成功確率を上げることができる。ここでバッファに格納されたNqmax個のデータ列をq0,q1,・・・qNqmax-1とし、集合Qを、Q={qi| 0 ≦ i ≦ Nqmax-1}とする。
追加的な更新条件:あるしきい値qminに対し、磁気データを成分とする点qが、i < Nqmax-1なる全てのiについて||q-qi||2 > qminを満たすときに限り、最後の磁気データを格納してバッファを更新する。
尚、キャリブレーションの失敗とは、オフセットの更新要求が発生して磁気データの蓄積が開始された後に、蓄積された磁気データからはオフセットを求めることができなかった結果として、それまでに蓄積された磁気データを全て破棄することをいう。
バッファの更新必要性があると判定されると、バッファが更新される(ステップS106)。更新アルゴリズムは例えばFIFO(First In First Out)とする。
2−2.1点目の選抜候補仮決定
図1は、オフセット設定の処理の流れを示すフローチャートである。図1に示す処理は、オフセットの更新要求が発生したときにCPU40がオフセット設定モジュール94を実行することによって進行する。尚、オフセット設定モジュール94の実行によって以下に述べる処理が進行している時には、バッファ管理モジュール92による処理がマルチタスク環境で並行して進行している。
ステップS200では、選抜候補が全て破棄される初期化が実行される。具体的には、オフセット設定モジュール94によって宣言される、選抜候補を格納するための4つのデータ構造体p0、p1、p2、p3がリセットされるとともに、バッファも初期化される。データ構造体p0、p1、p2、p3には、追って説明があるように、4点目までが選抜されてオフセットが設定されるまで、選抜候補としての磁気データが格納される。それぞれのデータ構造体p0、p1、p2、p3は、磁気データの3成分を格納するための3つの変数からなる配列である。
ステップS202では、前述したバッファの更新が待たれる。
バッファが更新されると、1点目の選抜候補が仮決定される(ステップS204)。すなわち、バッファ初期化(ステップS200)後に最初に入力された磁気データが1点目の選抜候補となる。1点目の選抜候補はデータ構造体p0に格納される。尚、1点目の選抜候補が格納されるデータ構造体p0は、追って説明があるように更新される可能性があるため、この処理では1点目の選抜候補が仮決定されているに過ぎない。
2−3.2点目の選抜候補仮決定
ステップS206では、再びバッファの更新が待たれる。
バッファが再び更新されると、2点目の選抜候補が仮決定される。すなわち、バッファ初期化(ステップS200)後に2番目に入力された磁気データが2点目の選抜候補となる。2点目の選抜候補はデータ構造体p1に格納される。尚、2点目の選抜候補が格納されるデータ構造体p1も、追って説明があるように更新される可能性があるため、この処理では2点目の選抜候補が仮決定されているに過ぎない。
2−4.3点目までの選抜
・3点の更新
ステップS210ではリセットカウンタがリセットされる。リセットカウンタは予め決められたカウント回数でカウントアップするように設定される。このリセットカウンタは、2点目の選抜候補の仮決定後に3点目の選抜候補が決定されずに、いつまでもオフセットの算出が完了しない問題が発生することを未然に防ぐために用いられている。具体的には、2点目の選抜候補の仮決定直後に携帯型電話機3が存在している磁界が激変したにもかかわらず、2点目までの選抜候補が更新されない場合には、3点目の選抜候補が決定されない可能性がある。後述するように選抜候補の3点を通る円の大きさが一定範囲内に収まっていて且つ3点を頂点とする三角形が所定条件を満たさない限り、3点目の選抜候補が決定されることがないにも関わらず、磁界の強さが激変すればそれらの条件が満たされないからである。
ステップS212及びステップS214では、新たな磁気データの入力があるとリセットカウンタがインクリメントされる。すなわち、2点目の選抜候補がステップS208で最初に仮決定された後に入力される磁気データの個数がカウントされる。
ステップS216では、再びバッファの更新が待たれる。
バッファが再び更新されると、ステップS218では、3点選抜条件によって選抜される候補として保持するため、最後に入力されバッファに最後に格納された磁気データを、現に存在している3点目までの選抜候補のいずれを更新して保持するべきかが決定される(尚、3点選抜条件を用いた選抜が実行されていなければ、2点目までの選抜候補が存在しているだけであるが、実行される処理内容は同じである)。すなわち、最後に入力されバッファに最後に格納された磁気データがいずれのデータ構造体p0、p1、p2に格納されるかが決定される。なぜならば、データ構造体p0、p1、p2は意味づけが次のように異なるデータ構造体だからである。
データ構造体p0、p1、p2に格納される磁気データを成分とする3点は、それらが同一直線上にない限りにおいて、それらを通る円弧を一義的に規定する。データ構造体p0、p1はその円弧の両端の点の成分である磁気データを格納するデータ構造体として意味づけされている。データ構造体p2はその円弧の中間点の成分である磁気データを格納するデータ構造体として意味づけされている。したがって、3点目が選抜されるまで、3点目までの選抜候補を保持するために、最後に入力されバッファに最後に格納された磁気データがいずれのデータ構造体p0、p1、p2に格納されるかが決定されなければならない。
ところで、データ構造体p0、p1、p2に対して意味づけがこのようにされているのは、次の理由による。選抜候補である3点は、選抜候補の4点を通る方位球の球面上に位置することになる。前述したとおり、方位球を求めるために用いられる4点が、それらの4点を通る球面上で広い範囲に満遍なく分散しているほど、オフセットの誤差は小さくなる。したがって、選抜候補である3点を通る円弧の弦の長さがある程度までは長いほど、オフセットの誤差は小さくなり、その弦の長さが短すぎるとオフセットの誤差が大きくなる。このため、選抜候補である3点を通る円弧の弦の長さがある程度までは長くなるように、磁気データがバッファに格納される度に、3点目までの選抜候補を更新することが望ましい。
図8は選抜候補の3点の更新を説明するための模式図である。今、データ構造体p0、p1、p2に図8(B)に示す磁気データが格納されているものとする。(図8に示す1、4、5、6の各数字は、バッファへの格納順を管理するための数字であって、その数字でバッファ内で管理されている磁気データが各データ構造体に格納されていることを意味している。ここでは各数字で管理されている磁気データを磁気データ1、磁気データ4、磁気データ5、磁気データ6ということにする。)この状態では、選抜候補の3点を通る円弧の弦は、磁気データ1を成分とする点と磁気データ5を成分とする点とを結ぶ線分(破線)である。次に、磁気データ6がバッファに格納されたとする。このとき、3つの磁気データを成分とする3点が通る円弧の弦は、p0、p1、p2の定義によれば、p1に格納されている磁気データを成分とする点とp0に格納されている磁気データを成分とする点との距離として算出される。したがって、仮に、磁気データ6を成分とする点の、磁気データ1、4、5を成分とする3点に対する位置関係が図8(A)に示す状態だとすれば、p0に格納されている選抜候補を更新しなければ、円弧の弦が長くなったという計算結果は得られない。また仮に、磁気データ6が円弧の弦を長くしない値である場合には、p2に格納されている選抜候補を更新しなければ、計算結果としては円弧の弦は短くなるため、p2に格納されている選抜候補を更新する必要がある。
3つの磁気データを成分とする3点を通る円弧の弦が更新毎に少なくとも短くならず最も効率よく伸張される条件は、次のように導かれる。バッファに最後に格納された磁気データをqとする。p0、p1、p2は、ここでは各データ構造体に格納されている磁気データとする。図9では、q、p0、p1、p2を成分とする点が黒丸で表され、それらの4点を通る方位球が実線で表され、p0、p1を通り線分p01に垂直な2つの面S0及びS1が破線で表されている。qによって、選抜候補である3点を通る円弧の弦が長くなる範囲は、面S0及びS1に挟まれ線分p01によって貫かれている空間の外側にqを成分とする点があるときである。このとき、次式(3)、(4)が成立する。
Figure 0005040103
式(3)が成り立つ場合、p2をp1に更新し、新たにp1をqで更新することによって弦を延長することができる。式(4)が成り立つ場合、p2をp0に更新し、新たにp0をqで更新することによって弦を延長することができる。これらの何れでもない場合、p2をqで更新するが、弦は延長されない。
ステップS220では、上記のようにして決定された、更新すべき選抜候補が、バッファに最後に格納された磁気データで更新される。その結果、例えば図8(B)に示す磁気データが格納されていたデータ構造体p0、p1、p2は、図8(C)に示すように更新される。このとき、選抜候補であった3点を通る円は、その円を含む平面に交わる平面に含まれる新たな円に更新される。またこの処理によって選抜候補であった3点を通る円の面積は大きくなる傾向がある。
・3点選抜条件
ステップS222では、3つの選抜候補である磁気データが3点選抜条件の1つを満たしているかが判定される。3点の選抜条件は2つの観点から導かれている。第一の観点は、選抜候補である磁気データを成分とする3点がそれら3点を通る円周上で十分ばらついているか、すなわち、それら3点を頂点とする三角形が正三角形に近くなっているか、という観点である。したがって、第一の観点での選抜が実行されるときには、選抜候補である磁気データを成分とする3点を頂点とする三角形の正三角形に対する歪みが算定される。第二の観点は、選抜候補である磁気データを成分とする3点を通る円の面積が十分大きいか、という観点である。この3点を通る円の面積が小さいときは、これらの3点を通る方位球の球面上で3点が狭い範囲に分布しているか、正確なオフセットを算出するに当たって想定外の磁界が測定されていることになる。またこれらの3点を通る円の面積が大きすぎるときは、正確なオフセットを算出するに当たって想定外の磁界が測定されていることになる。したがって、第二の観点で選抜が実行されるときには、選抜候補である磁気データを成分とする3点を通る円の半径が算定される。尚、以下の説明では、第一の観点で選抜候補が選抜されるべきかを判定するための条件を単に3点選抜条件ともいい、第二の観点で選抜候補が選抜されるべきかを判定することを、3点選抜の検証ともいうものとする。
まず、ステップS222で適用される第一の観点から3点選抜条件を説明する。本実施形態では、図10に示すように選抜候補である磁気データを成分とする3点を頂点とする三角形の正三角形に対する歪みが、その三角形の重心d3を始点とし各頂点を終点とするベクトルの和を用いて表現される3行3列の対称行列の固有値によって評価される。三角形の重心d3は次式(5)によって求められる。
Figure 0005040103
第一の観点から導かれる3点選抜条件は、次式(6)によって定義される対称行列Aの固有値・A1、・A2、・A3のうち中間固有値・A2の最大固有値・A1に対する比が予め決められた所定のしきい値E0以上であることである。
Figure 0005040103
式(6)は、pi=(pix,piy,piz),d3=(d3x,d3y,d3z)とすると式(7)のようにも書ける。
Figure 0005040103
ただし、以下の通りである。
Figure 0005040103
Figure 0005040103
Figure 0005040103
Figure 0005040103
Figure 0005040103
Figure 0005040103
対称行列Aの定義から、全ての固有値は非負実数である。計算誤差を考慮しなければ最小固有値・A3は0である。第一の観点から導かれた3点選抜条件は、上述したとおり、次式(14)で定義される評価量EAがしきい値E0に対して、EA≧E0を満たすことである。
Figure 0005040103
ところで、選抜候補である磁気データを成分とする3点を頂点とする三角形の正三角形に対する歪みは、その三角形の内角のばらつき、その三角形の辺の長さのばらつき、その三角形の重心から各頂点までの距離のばらつき、などによって定義することができる。さらに、これらのばらつきは、前述した対称行列Aの固有値を用いた評価量EAによって定義することができる。したがって、第一の観点から導かれる3点選抜条件は、選抜候補である磁気データを成分とする3点を頂点とする三角形の内角のばらつき、又は、その三角形の辺の長さのばらつき、又は、その三角形の重心から各頂点までの距離のばらつきが予め決められた所定範囲内にあることであるともいえる。
第一の観点から導かれた3点選抜条件が満たされなかった場合、リセットカウンタがカウントアップしているかが判定され(ステップS224)、カウントアップしていなければステップS216の処理に戻って、これまで説明した処理を繰り返す。すなわち、最後にバッファに格納された磁気データを新たな選抜候補とするための、データ構造体p0、p1、p2の更新処理が繰り返される。カウントアップしている場合、2点目の選抜候補の仮決定直後に携帯型電話機3が存在している磁界が激変しているなどの事情によって、3点目までの選抜がいつまでも完了しない可能性があるため、ステップS200の処理に戻ってバッファ及びデータ構造体p0、p1、p2が全てリセットされる。
・選抜検証
第一の観点から導かれた3点選抜条件が満たされた場合、第一の観点で選抜された磁気データが第二の観点によって検証される(ステップS226)。この処理では、前述したとおり、選抜候補である磁気データを成分とする3点を通る円の半径が算定される。そのような半径を算定する様々な方法が知られているが、本実施形態では、全体の計算量を低減し、処理を高速化するため、対称行列Aの固有ベクトルを用いた方法が採用される。この方法を採用し、かつ対称行列Aの前述の固有値を算定する手法としてヤコビ法を採用すれば、全体の計算量が低減される。以下、具体的に説明する。
行列Aの固有ベクトルを基底とする座標系でp0、p1、p2を書き直すと、最小固有値・A3に対する固有ベクトルlA3の成分については各点について一定の値をとるので、ともに大きさ1で正規化された最大固有値・A1に対する固有ベクトルlA1及び中間固有値・A2に対する固有ベクトルlA2の成分のみに着目し、各点を2次元空間上の3点とみなせば、連立一次方程式により円の方程式を求めることができる。さらに具体的に説明する。
まず行列Lを次式(15)で定義する。行列Lは、ヤコビ法を用いて対称行列Aの前述の固有値を算定する過程で求まる。
Figure 0005040103
点pi(0≦i≦2)に対し、次式(16)の一次変換を行い、p'iの第三成分を無視し、第一成分及び第二成分だけを用いればよい。
Figure 0005040103
したがって、次式(17)が導かれるが、右辺第三項は無視できるため、2次元空間内の3点p"0 = ( p'01 ,p'02 ), p"1 = ( p'11, p'12 ), p"2 = ( p'21, p'22 )を通る円を求めることに帰結される。
Figure 0005040103
円の中心点をc"3 = ( c'31, c'32 ) とすると、中心点を求める連立一次方程式は次式(18)である。
Figure 0005040103
c'3rは特に後に用いる必要のない値であるが、3元1次連立方程式を立てるために追加されている。最終的に半径r3は、次式(19)で算定されるc'3とp'0とのユークリッド距離として求まる。
Figure 0005040103
以上のようにして求められた、三点選抜条件を満たす3つの磁気データを成分とする3点を通る円の半径がしきい値rmaxからrminまでの範囲内であれば、合格とする。そうでない場合、不合格となってステップS200の処理に戻り、バッファ及びデータ構造体p0、p1、p2がリセットされる。
2−5.4点目の選抜
・概要
以上の処理によって3点目までが選抜された時点では、最終的に求まる方位円の十分に大きな断面円の円周上で十分にばらついて位置する3点が選抜されている。それらの3点を含む平面上にない1点を成分とする磁気データを用いてそれらの4点を通る球面の方程式を求めることはできる。しかし、4点目が無作為に選ばれたのでは、オフセットの誤差は小さくならない。そこで本実施形態では、オフセットの誤差を低減するために、複数の4点目の選抜候補に対して、最適な4点目の選抜が試行される。すなわち、バッファに格納されている磁気データを全て4点目の選抜候補とした選抜が試行される。バッファに空きが残っている場合には、全ての空きが埋まるまで4点目の選抜は実行されない(ステップS228)。4点目が選抜されるとき、図11に示されるように、3点目までの選抜候補としては決定されなかった磁気データ(仮決定されたがその後に棄却されたものも含まれる。)が、4点目の選抜候補として順次選抜にかけられる。図11では、バッファで磁気データの入力順を管理するための識別子が0〜Nqmax−1までの数字で示されている。小さい数字ほど、先に入力された磁気データが格納されるデータ構造体を表している。
・4点選抜条件
ステップS230では、既に選抜された3点を成分とする磁気データに対して、バッファに格納されている全ての磁気データが1つづつ順次組み合わせられ、4つの磁気データが4点選抜条件を満たしているかが順次判定され、バッファに格納されている磁気データのうちで4点選抜条件を満たすもののうち、最も評価が高い1つが4点目として選抜される。4点選抜条件は、選抜候補である磁気データを成分とする4点がそれら4点を通る球面上で十分ばらついているか、すなわち、図12に示したそれら4点を頂点とする四面体が正四面体に近くなっているか、という観点で4点目を選抜する条件である。したがって、選抜候補である磁気データを成分とする4点を頂点とする四面体の正四面体に対する歪みが算定される。四面体の正四面体に対する歪みは、その四面体の各頂点の立体角のばらつき、その四面体の面の面積のばらつき、その四面体の重心から各頂点までの距離のばらつき、などによって定義することができる。これらのばらつきは、その四面体の重心d4を始点とし各頂点を終点とするベクトルの和を用いて表現される3行3列の対称行列Bの固有値によって評価される。四面体の重心d4は次式(20)によって求められる。
Figure 0005040103
対称行列Bは次式で定義される。
Figure 0005040103
対称行列Bの最大固有値・B3に対する最小固有値・B1の比が大きいほど、四面体の正四面体に対する歪みが小さい、すなわち、その四面体の各頂点の立体角のばらつき、その四面体の面の面積のばらつき、その四面体の重心から各頂点までの距離のばらつきのいずれも小さいといえる。したがって、4点選抜条件は、次式(22)によって求まるEB1が最大になることである。
Figure 0005040103
バッファに格納されている全ての磁気データについてEB1が算出され、その最大値が確定した時点で、EB1が最大になる4点目の磁気データが最終的な選抜候補としてデータ構造体p3に格納される。このようにして確定した最終的な4点目までの選抜候補である磁気データが格納されているp0、p1、p2、p3について、さらに別の評価量EB2が次式(23)によって求められる。
Figure 0005040103
尚、・B2は対称行列Bの中間固有値である。予め決められた所定のしきい値E2、E3に対し、次式(24)が満たされない場合、球面の方程式を求める際に大きな誤差が混入するおそれがあるため、ステップS200の処理に戻ってバッファ及びデータ構造体p0、p1、p2、p3が全てリセットされる。次式(24)が満たされる場合、4点目の選抜候補が最終的に選抜される。
Figure 0005040103
ただし、2つのしきい値の1通りの組み合わせを用いて4点目の選抜が行われるよりも、2つのしきい値の組み合わせを2組以上設定し、次式(25)が全てのiに対して成り立たないときにバッファ及びデータ構造体p0、p1、p2、p3が全てリセットされる方が、キャリブレーションの失敗回数を減らすという観点で合理的である。
Figure 0005040103
・方位球の算出
以上の処理によって4点目までの磁気データが選抜されると、すなわち、p0、p1、p2、p3が確定すると、方位球の中心点及び半径が求められる(ステップS232)。方位球の中心点c4=(c4x、c4y、c4z)は次式によって求められる。c4rは特に後に用いられない値であるが、4元1次連立方程式を立てるために追加されている。
Figure 0005040103
方位球の半径rは、c4とp0とのユークリッド距離として次式(27)によって求められる。
Figure 0005040103
・方位球の検証
ステップS234では、算出された方位球の妥当性が検証される。方位球の半径が予め決められた所定の範囲内にない場合、算出された方位球の中心点はオフセットとして採用されず、ステップS200の処理に戻ってバッファ及びデータ構造体p0、p1、p2、p3が全てリセットされる。
本実施形態では、選抜された4つの磁気データだけではなく、さらにバッファに格納されている一部又は全部の磁気データを用いて方位球の妥当性が統計処理によって検証される。この検証は、オフセットの誤差のばらつきを小さくするためにはある程度有効であるが、必ずしも必要な処理ではない。この検証では、次式(28)によって評価量Sが求められ、予め決められた所定のしきい値Stに対し、S>Stである場合には、算出された方位球の中心点はオフセットとして採用されず、ステップS200の処理に戻ってバッファ及びデータ構造体p0、p1、p2、p3が全てリセットされる。そうでない場合には、次のようにオフセットが設定される。
Figure 0005040103
・オフセットの設定
算出された方位球が妥当であった場合、ステップS236においてオフセットが設定される。すなわち、算出された方位球の中心点の各成分がオフセットの各成分として設定される。
B.第二の実施形態
上述した第一の実施形態では、磁気センサ制御装置に入力される磁気データを選別してバッファに蓄積するとき、バッファに蓄積される磁気データq0,q1,・・・qNqmax-1を成分とする点同士の距離に着目した。しかし第一の実施形態では、移動体の方向の変化のしかたによっては3点目及び4点目の選抜において不合格となってオフセットが定まらない場合がある。また第一の実施形態では、平面的に分布する点、すなわち特定の平面からの距離が近い点に対応する磁気データばかりがバッファに蓄積される可能性は排除されていない。平面的に分布する点に対応する磁気データから求められるオフセットの、真のオフセットに対する誤差は大きくなりやすい。そこで本発明の第二の実施形態では、移動体の変化のしかたによらず、たとえ特定の平面からの距離が近い点に対応する磁気データばかりがバッファに蓄積されたとしても真のオフセットからの誤差が小さいオフセットを算出することを目的として、最初の2点の選抜方法が以下のように変更される。
図13は本発明の第二実施形態によるオフセットの設定処理の流れを示すフローチャートである。図13に示す処理は、オフセットの更新要求が発生したときにCPU40がオフセット設定モジュール94を実行することによって進行する。尚、第一実施形態と同様に、オフセット設定モジュール94の実行によって以下に述べる処理が進行している時には、バッファ管理モジュール92による処理がマルチタスク環境で並行して進行している。
ステップS300では、選抜候補が全て破棄される初期化が実行される。具体的にはオフセット設定モジュール94によって宣言される、選抜候補を格納するための4つのデータ構造体p0、p1、p2、p3がリセットされるとともに、バッファも初期化される。
ステップS302ではバッファの更新が待たれる。
バッファが更新されると、バッファに空きがあるか、すなわちバッファに格納されているデータ個数が予め決められたNqmax個であるか否かが判定される(ステップS304)。バッファに格納されているデータ個数がNqmax個に達するまで、ステップS302、S304の処理が繰り返される。このように、本実施形態ではバッファにNqmax個の磁気データが蓄積されるまで1点の磁気データも選抜されない。
バッファにNqmax個の磁気データが蓄積されると、1点目と2点目の磁気データが選抜される(ステップS306)。バッファに格納されたNqmax個のデータ列をq0,q1,・・・qNqmax-1とし、集合Qを、Q={qi| 0 ≦ i ≦ Nqmax-1}とするとき、q0,q1,・・・qNqmax-1を成分とするそれぞれの点をデータ点q0,q1,・・・qNqmax-1というものとする。第一実施形態と同様に集合Qが多重集合とならないように磁気データは蓄積されている。
特定の平面の近傍に偏って分布している集合Qから精度よくオフセットを求めるためには、特定の方向に最も離れている2点に対応する磁気データが必ず選抜されることが望ましい。集合Qが近傍に偏在している平面に垂直な方向に最も離れた2点が選抜されることが最も合理的であるが、無作為に決めた方向に最も離れた2点が選抜されても平均的には相当の効果がある。具体的な選抜方法は以下の通りである。
ある特定の向きと大きさを持つベクトルaと、データ点q0,q1,・・・qNqmax-1の重心dNを始点とし各データ点を終点とするベクトルとの内積Dが最大となるデータ点qiをp0とし、その内積Dが最小となるデータ点qiをp1とする。データ点q0,q1,・・・qNqmax-1の重心dNは次式(29)によって求められる。データ点q0,q1,・・・qNqmax-1の重心dNを始点としデータ点qiを終点とするベクトルと、ベクトルaとの内積Dは次式(30)で求められる。
Figure 0005040103
集合Qの要素を上式(30)のqiに順次代入してDiを求め、Diが最大となるデータ点qiをp0とし、Diが最小となるデータ点qiをp1とすると、ベクトルaの向きと平行な直線に下ろした垂線の足が互いに最も離れる2つのデータ点が選抜される。そして本実施形態では、ここで選抜された2つのデータ点は、集合Qが破棄されない限り、他のデータ点に入れ替わることはない。すなわち、本実施形態でオフセットが設定される場合には、ここで選抜された2つの磁気データを必ず含む4つの磁気データに基づいて算出されたオフセットが設定される。したがって、たとえ特定の平面からの距離が近い点に対応する磁気データばかりがバッファに蓄積されたとしても真のオフセットからの誤差が小さいオフセットを算出することができる。
ところで、集合Qが特定の平面の近傍に偏って分布しているときには、バッファに格納された磁気データを全て破棄して集合Qの蓄積をやり直してもよい。集合Qが特定の平面の近傍に偏って分布しているか否かは以下のように判定される。
集合Qが特定の平面の近傍に偏って分布している場合、データ点q0,q1,・・・qNqmax-1の重心dNを用いて次式(31)で表される行列Cの最大固有値λC1と最小固有値λC3との比λC3/λC1が小さくなる。集合Qが特定の平面上に偏って分布している場合、λC3/λC1は0である。そこで、λC3/λC1を予め決められた固定値が比較され、λC3/λC1がその固定値よりも小さければ集合Qが特定の平面の近傍に偏って分布していると判定される。
Figure 0005040103
また、集合Qが特定の平面の近傍に偏って分布している場合、上述したとおり、その平面と垂直な方向に最も離れた2点が選抜されることが最も合理的である。集合Qが特定の平面上に分布しているとき、行列Cの最小固有値λC3に対する固有ベクトルは、その平面の法線ベクトルと一致する。また、集合Qが特定の平面の近傍に偏って分布している場合でも、行列Cの最小固有値λC3に対する固有ベクトルは、その平面の法線ベクトルとほぼ一致する。そこで、上述したある特定の向きと大きさを持つベクトルaは行列Cの最小固有値λC3に対する固有ベクトルであることが望ましい。
ステップS308では3点目の選抜が行われる。具体的にはQの要素のうちp0としてもp1としても選抜されなかったデータ点qiがp2と仮定されて第一実施形態のステップ222について説明された評価量EAが算出され、評価量EAが最大になるqiがp2として選抜される。尚、第一実施形態のステップS226について説明された第二の観点からp0、p1、p2の検証が実施され、不合格の場合にはステップS300の処理に戻ってバッファがリセットされてもよい。
ステップS310では第一実施形態のステップS230と同様にして4点目が選抜される。
ステップS312では第一実施形態のステップS232と同様にして方位球が算出される。
ステップS314では第一実施形態のステップS234と同様にして方位球が検証される。
ステップS316では第一実施形態のステップS236と同様にしてオフセットが設定される。
本発明の実施の形態に係るフローチャート。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係るブロック図。 本発明の実施の形態に係るブロック図。 本発明の実施の形態に係るフローチャート。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係る模式図。 本発明の実施の形態に係るフローチャート。
符号の説明
1:磁気センサ制御装置、4:3次元磁気センサ、90:磁気センサ制御プログラム、92:バッファ管理モジュール(入力手段)、94:オフセット設定モジュール(選抜手段、算出手段、設定手段)

Claims (7)

  1. 3次元磁気センサから順次出力される、3成分を有する複数の磁気データを入力する入力手段と、
    入力された所定数の前記磁気データを格納するバッファと、
    入力された複数の前記磁気データから、予め決められた4点選抜条件を満たす4つの前記磁気データを選抜する選抜手段と、
    選抜された4つの前記磁気データを成分とする4点から等距離にある点である中心点を算出する算出手段と、
    前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、
    を備え、
    前記選抜手段は、前記バッファに格納された前記磁気データが特定の平面の近傍に偏在している場合、前記バッファに格納された前記磁気データのうち、対応する2点が、前記特定の平面に垂直な方向に最も離れた2つの前記磁気データを、第1点と第2点として選抜し、前記バッファに格納された前記磁気データのうち、前記第1点又は前記第2点として選抜されていないさらに2つの前記磁気データを第3点及び第4点として選抜する、
    磁気センサ制御装置。
  2. 前記選抜手段は、前記特定の方向のベクトルをaとし、前記バッファに格納された前記所定数の前記磁気データに対応する点の重心の位置ベクトルをdとし、前記バッファに格納された任意の前記磁気データに対応する点の位置ベクトルをqとするとき、D=a・(q−d)であるDが最大となる前記磁気データと最小となる前記磁気データとを前記第1点と前記第2点として選抜する、
    請求項に記載の磁気センサ制御装置。
  3. 前記バッファに格納されたN個のデータ列をq 0 ,q 1 ,・・・q Nqmax-1 とし、集合Qを、Q={qi| 0 ≦ i ≦ N qmax -1}、集合Qの重心の位置ベクトルをd とするとき、下記の3行3列の対称行列Cの最小固有値に対応する固有ベクトルが前記特定の方向のベクトルである、
    請求項に記載の磁気センサ制御装置。
    Figure 0005040103
  4. 請求項1〜のいずれか一項に記載の磁気センサ制御装置と、
    前記3次元磁気センサと、
    を備えることを特徴とする磁気測定装置。
  5. 3次元磁気センサから順次出力される、3成分を有する複数の磁気データを入力し、
    入力された複数の前記磁気データから、予め決められた4点選抜条件を満たす4つの前記磁気データを選抜し、
    選抜された4つの前記磁気データを成分とする4点から等距離にある点である中心点を算出し、
    前記中心点の成分を前記磁気データのオフセットとして設定する、ことを含み、
    前記磁気データを選抜するとき、前記バッファに格納された前記磁気データが特定の平面の近傍に偏在している場合、バッファに格納された前記磁気データのうち、対応す
    る2点が、前記特定の平面に垂直な方向に最も離れた2つの前記磁気データを、第1点と第2点として選抜し、前記バッファに格納された前記磁気データのうち、前記第1点又は前記第2点として選抜されていないさらに2つの前記磁気データを第3点及び第4点として選抜する、
    磁気センサのオフセット設定方法。
  6. 3次元磁気センサから順次出力される、3成分を有する複数の磁気データを入力する入力手段と、
    入力された所定数の前記磁気データを格納するバッファと、
    入力された複数の前記磁気データから、予め決められた4点選抜条件を満たす4つの前
    記磁気データを選抜する選抜手段であって、前記バッファに格納された前記磁気データが特定の平面の近傍に偏在している場合、前記バッファに格納された前記磁気データのうち、対応する2点が、前記特定の平面に垂直な方向に最も離れた2つの前記磁気データを、第1点と第2点として選抜し、前記バッファに格
    納された前記磁気データのうち、前記第1点又は前記第2点として選抜されていないさらに2つの前記磁気データを第3点及び第4点として選抜する選抜手段と、
    選抜された4つの前記磁気データを成分とする4点から等距離にある点である中心点を算出する算出手段と、
    前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、
    してコンピュータを機能させる磁気センサのオフセット設定プログラム。


  7. 請求項に記載のオフセット設定プログラムが格納されたコンピュータ読み取り可能な記録媒体。
JP2005337412A 2005-10-11 2005-11-22 磁気センサ制御装置、方法及びプログラム Expired - Fee Related JP5040103B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2005337412A JP5040103B2 (ja) 2005-11-22 2005-11-22 磁気センサ制御装置、方法及びプログラム
EP06021133.1A EP1775550B1 (en) 2005-10-11 2006-10-09 Magnetic sensor control device
US11/548,022 US7418359B2 (en) 2005-10-11 2006-10-10 Magnetic sensor control device
KR1020060098331A KR100837472B1 (ko) 2005-10-11 2006-10-10 자기 센서 제어 장치
TW095137400A TWI321217B (en) 2005-10-11 2006-10-11 Magnetic sensor control device, magnetic measurement apparatus, offset setting method for magnetic sensors, and computer-readable recording medium
CN2010101333973A CN101782633B (zh) 2005-10-11 2006-10-11 磁传感器控制设备
CN2006101411139A CN1948905B (zh) 2005-10-11 2006-10-11 磁传感器控制设备
US12/163,683 US7676341B2 (en) 2005-10-11 2008-06-27 Magnetic sensor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005337412A JP5040103B2 (ja) 2005-11-22 2005-11-22 磁気センサ制御装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2007139715A JP2007139715A (ja) 2007-06-07
JP5040103B2 true JP5040103B2 (ja) 2012-10-03

Family

ID=38202747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005337412A Expired - Fee Related JP5040103B2 (ja) 2005-10-11 2005-11-22 磁気センサ制御装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5040103B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4590511B2 (ja) * 2007-03-23 2010-12-01 アイチ・マイクロ・インテリジェント株式会社 電子コンパス
JP5266754B2 (ja) 2007-12-28 2013-08-21 ヤマハ株式会社 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム
JP5067155B2 (ja) 2007-12-28 2012-11-07 ヤマハ株式会社 磁気データ処理装置、ナビゲーション装置、磁気データ処理方法および磁気データ処理プログラム
CN102510994B (zh) 2009-09-26 2014-01-08 阿尔卑斯电气株式会社 地磁检测装置
JP5309373B2 (ja) * 2010-11-26 2013-10-09 アイチ・マイクロ・インテリジェント株式会社 電子コンパス
JP6019585B2 (ja) * 2012-01-06 2016-11-02 ヤマハ株式会社 端末装置
FI126012B (fi) 2012-12-31 2016-05-31 Suunto Oy Menetelmä ja laite suunnan määrittämiseksi magneettikentässä
JP6908067B2 (ja) * 2019-03-18 2021-07-21 Tdk株式会社 信号処理回路、位置検出装置および磁気センサシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005265414A (ja) * 2004-03-16 2005-09-29 Citizen Watch Co Ltd 電子方位計及び記録媒体
EP1795864A4 (en) * 2004-09-29 2011-11-02 Amosense Co Ltd MAGNETIC SENSOR CONTROL METHOD, MAGNETIC SENSOR CONTROL MODULE, AND PORTABLE TERMINAL DEVICE
JP4830441B2 (ja) * 2005-10-11 2011-12-07 ヤマハ株式会社 磁気センサ制御装置、方法及びプログラム

Also Published As

Publication number Publication date
JP2007139715A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
JP4830441B2 (ja) 磁気センサ制御装置、方法及びプログラム
JP5040103B2 (ja) 磁気センサ制御装置、方法及びプログラム
KR100837472B1 (ko) 자기 센서 제어 장치
JP4844179B2 (ja) 磁気データ処理装置、方法及びプログラム
KR101152095B1 (ko) 자기 데이터 처리 장치, 방법, 및 컴퓨터 판독가능한 저장 매체
JP5067155B2 (ja) 磁気データ処理装置、ナビゲーション装置、磁気データ処理方法および磁気データ処理プログラム
CN113808121A (zh) 一种纱线亚像素级直径测量方法及***
JP5035448B2 (ja) 磁気センサ制御装置および方法
JP5375394B2 (ja) 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム
CN111932612B (zh) 基于二阶隐马尔科夫模型的智能车视觉定位方法及装置
US8577636B2 (en) Azimuth calculation program and electronic compass
CN111143500A (zh) 可视化面积计算方法、终端、控制设备及存储介质
JP4899506B2 (ja) 磁気センサ制御装置、磁気測定装置、オフセット設定方法及びオフセット設定プログラム
CN113436272B (zh) 水下立体视觉***球面折射矫正方法、电子设备
CN113239815B (zh) 一种基于真实语义全网络学习的遥感影像分类方法、装置及设备
JP5375791B2 (ja) 磁気データ処理装置、方法及びプログラム
JP2011180097A (ja) 磁気データ処理装置、方法及びプログラムならびに磁気測定装置
US20110010121A1 (en) Magnetic data processing device, magnetic data processing method, and magnetic data processing program
Zhou et al. Virtual Heading Directions Based Adaptability Analysis Method for Gravity-aided Navigation
CN117782186A (zh) 一种无人机检测仪的光轴角精度确定方法及相关装置
CN117911723A (zh) 基于亚像素视觉定位的球形永磁体轨迹跟踪方法及***
Dobramysl et al. Triangulation sensing: how cells recover a source from diffusing particles in three dimensions
CN117705155A (zh) 任意构型陀螺在线自诊断优化方法及装置
CN117746366A (zh) 道路标线评估方法、装置、设备、存储介质及程序产品
CN117195746A (zh) 一种基于多元策略蜻蜓算法的梁结构损伤识别方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20070824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120522

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120625

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees