(57)【特許請求の範囲】
【請求項１】
移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するコンピュータを、
前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する直進判別手段、
前記直進判別手段によって前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する選択手段、
前記選択手段によって選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する補正手段、
として機能させることを特徴とするセンサ補正プログラム。
【請求項２】
前記直進判別手段は、前記地磁気センサから取得した検出値の変化量が所定時間以上しきい値未満であれば、前記移動体が直進であると判別することを特徴とする請求項１に記載のセンサ補正プログラム。
【請求項３】
前記コンピュータを、さらに、
前記選択手段によって補正対象に選択された前記他のセンサの検出値の補正値を、前記選択手段によって選択されなかった前記一のセンサの検出値の所定時間の変化量を用いて算出する算出手段、として機能させ、
前記補正手段は、前記算出手段によって算出された補正値を用いて、前記他のセンサの検出値の誤差を補正することを特徴とする請求項１または２に記載のセンサ補正プログラム。
【請求項４】
前記選択手段は、前記直進判別手段によって前記移動体が直進中と判別された場合、前記ジャイロセンサの検出値を補正対象として選択し、
前記算出手段は、前記選択手段によって前記ジャイロセンサの検出値が補正対象と選択された場合、前記地磁気センサの前記所定時間における検出値の変化量をゼロとして前記ジャイロセンサのオフセット誤差を算出し、
前記補正手段は、前記算出手段によって算出されたオフセット誤差を補正値として、前記ジャイロセンサの検出値の誤差を補正することを特徴とする請求項３に記載のセンサ補正プログラム。
【請求項５】
前記選択手段は、前記直進判別手段によって前記移動体が直進中ではないと判別された場合、前記地磁気センサの検出値を補正対象として選択し、
前記算出手段は、前記選択手段によって前記地磁気センサの検出値が補正対象と選択された場合、前記ジャイロセンサの検出値の微少時間における変化量と前記地磁気センサの検出値の前記微少時間における変化量との差分を用いて、前記地磁気センサのオフセット誤差を算出し、
前記補正手段は、前記算出手段によって算出されたオフセット誤差を補正値として、前記地磁気センサの検出値の誤差を補正することを特徴とする請求項３または４に記載のセンサ補正プログラム。
【請求項６】
移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するセンサ補正装置であって、
前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する直進判別手段と、
前記直進判別手段によって前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する選択手段と、
前記選択手段によって選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する補正手段と、
を備えることを特徴とするセンサ補正装置。
【請求項７】
直進判別手段と、選択手段と、補正手段とを備え、移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するコンピュータが、
前記直進判別手段において、前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する直進判別工程と、
前記選択手段において、前記直進判別工程によって前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する選択工程と、
前記補正手段において、前記選択工程によって選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する補正工程と、
を実行することを特徴とするセンサ補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示技術は、地磁気センサとジャイロセンサの検出値のオフセット誤差を補正するセンサ補正プログラム、センサ補正装置およびセンサ補正方法に関する。
【背景技術】
【０００２】
従来より、歩行者や車両などの移動体を対象としたナビゲーションを実行する際には、ナビゲーションの対象となる移動体の向きを正しく検出する技術が要求されていた。たとえば、ナビゲーションにおいて、ヘッドアップ機能を実現するためには、移動体の方位を検出する技術が必須となる。移動体の方位を検出する技術として、今日ではジャイロセンサや地磁気センサを搭載する手法が広く利用されている。
【０００３】
地磁気センサは、現在位置の磁界を検出するセンサである。したがって、地磁気センサを移動体に搭載することによって、絶対的な方位変化を検出することができる。一方、ジャイロセンサは、角速度の変化を検出するセンサである。したがって、ジャイロセンサを移動体に搭載することによって、相対的な方位変化を検出することができる。
【０００４】
一般的に、地磁気センサやジャイロセンサによる検出値には誤差が含まれている。地磁気センサの場合、誤差発生の要因として、センサ内誤差（Ｘ軸方向とＹ軸方向の感度差など）、搭載機器内部に発生する磁界の干渉、外部の磁界の干渉、センサを傾けることによって生じる傾斜誤差、強力な磁石の接触による磁界の乱れといった５つの要素がある。
【０００５】
図２４は、地磁気センサの誤差要因を示す説明図である。地磁気センサの誤差は、地磁気中でコンパスを一回転させてＸ軸方向の磁界ＨｘとＹ軸方向の磁界Ｈｙを測定してＨｘ−Ｈｙ平面上の軌跡をチェックすることによって誤差の大きさや種類を特定することができる。誤差なく正しい測定がなされている場合には、図２４の（Ａ）Ｃｏｒｒｅｃｔ  ｔｒａｊｅｃｔｏｒｙ  ｏｆ  ｘ−ｙ  ｏｕｔｐｕｔのように、正確な円の軌跡が描かれる。
【０００６】
ところが、地磁気センサのＸ軸とＹ軸との間に感度差があると、（Ｂ）ＸｏｒＹ  ｇａｉｎ  ｅｒｒｏｒのように、感度の低い軸側の検出値が小さくなり、楕円が描かれてしまう。また、地磁気センサを携帯端末や車載装置に搭載した場合には、これら搭載機器内部で発生した磁界の影響を受け、（Ｃ）Ｏｆｆｓｅｔ  ｅｒｒｏｒのように、中心が原点からずれた円が描かれてしまう。また、地磁気センサのＸ軸とＹ軸との検出値が直交不良で干渉した場合には、（Ｄ）Ｘ−Ｙ  ｉｎｔｅｒｆｅｒｎｃｅのように、傾いた楕円が描かれてしまう。
【０００７】
さらに、地磁気センサが外部磁界の影響を受けた場合には、（Ｅ）Ｌｏｃａｌ  ｎｏｉｓｅ  ｆｉｅｌｄのように、円の半径が変化してしまう。たとえば、地磁気センサに鉄製の構造体が接近した場合には磁界が強くなり、円の半径は大きくなる（Ｌａｒｇｅ  ｃｉｒｃｌｅ）。反対に、地磁気センサを屋内に入れた場合には磁界が弱くなり、円の半径は小さくなる（Ｓｍａｌｌ  ｃｉｒｃｌｅ）。このように、地磁気センサの検出値には様々な要因によって誤差が含まれており、特に、オフセット誤差は、誤差を発生させる磁界の発生元が固定されないため、地磁気センサ自体の出力を調整しても適切にキャンセルできない。
【０００８】
図２５は、ジャイロセンサのオフセット誤差を示す説明図である。図２５のグラフ２５００は、ジャイロセンサの入力［°／ｓ］と出力［Ｖ］との関係を表している。グラフ２５００のように、ジャイロセンサを静止させた状態、すなわち、入力＝０の状態であっても、出力＝０とはならず、オフセット誤差分の出力が発生する。図２５の図表２５１０は、オフセット誤差の時間経過に伴う変化を示している。図表２５１０のように、オフセット誤差は、温度変化を要因とし、時間経過に伴い穏やかで継続的なずれを生じる。ジャイロセンサのオフセット誤差のずれの変化量の標準偏差をドリフトいい、ジャイロセンサの特性を表す誤差として重要視されている。
【０００９】
以上説明したように、地磁気センサやジャイロセンサの検出値にはオフセット誤差が含まれている。したがって、移動体の方位を正確に検出するには、オフセット誤差を補正しなければならない。ところが、上述したようにオフセット誤差の原因となる要素（搭載機器の磁界や温度）が変化するため誤差分を正確にキャンセルすることは難しい。そこで、地磁気センサとジャイロセンサのいずれか一方が常に正確になるような機構（たとえば、定期的に外部からオフセット誤差をキャンセルした値が提供されるなど）を用意して、正確な検出値が確保されたセンサを利用して、もう一方のセンサの検出値を補正する技術が提供されている（たとえば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第２５９１１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来技術の場合、地磁気センサとジャイロセンサのいずれか一方は常に正確な検出値を得ることが条件となっている。上述のように、地磁気センサにもジャイロセンサにもオフセット誤差は含まれているため、一方の検出値を補正するためには、たとえば、外部から定期的に移動体の方位に関する絶対値を取得するなど検出値のオフセット誤差を自動的にキャンセルする機能が必要になる。
【００１２】
一方のセンサの検出値の精度を保つため、定期的に絶対値を取得する手法を利用するには、移動体に対応する受信機構を設けなければならない。また、情報を提供する側も通信インフラが必要なことから利用範囲が限定されてしまう。たとえ、外部から方位に関する絶対値が取得可能な場合であっても、ビーコンなどの受信間隔が広い場合、オフセット誤差が蓄積し、オフセット誤差がキャンセルされる間の検出値については精度が低下してしまい、正確な方位を検出できないという問題があった。
【００１３】
本開示技術は、上述した従来技術による問題点を解消するため、地磁気センサとジャイロセンサの検出値に含まれるオフセット誤差を正確に補正するセンサ補正プログラム、センサ補正装置およびセンサ補正方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため、本開示技術は、移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するコンピュータにおいて、前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する処理と、前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する処理と、選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する処理と、を備えることを要件とする。
【発明の効果】
【００１５】
本センサ補正プログラム、センサ補正装置およびセンサ補正方法によれば地磁気センサとジャイロセンサの検出値に含まれるオフセット誤差を正確に補正することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態にかかるセンサ補正処理の一例を示す説明図である。
【図２】センサ補正装置の適用例を示すブロック図である。
【図３】センサ補正装置のハードウェア構成を示すブロック図である。
【図４】センサ補正装置の機能的構成を示すブロック図である。
【図５】本実施の形態にかかるセンサ補正処理の手順を示すフローチャートである。
【図６−１】実施例１におけるセンサ補正装置の動作手順を示すフローチャートである。
【図６−２】方位ベクトルとオフセット誤差との関係を示す説明図である。
【図６−３】方位変化量と方位ベクトルとの関係を示す説明図である。
【図７】実施例１における直進判定／補正対象選択処理の手順を示すフローチャートである。
【図８】走行時間とドリフト量との関係を表す説明図である。
【図９】実施例１におけるセンサ補正値算出処理の手順を示すフローチャートである。
【図１０】実施例１における地磁気センサ補正値算出処理の手順を示すフローチャートである。
【図１１】実施例１における方位情報取得処理の手順を示すフローチャートである。
【図１２】実施例１における方位変化量情報取得処理（地磁気センサ補正時）の手順を示すフローチャートである。
【図１３】実施例１におけるジャイロセンサ補正値算出処理の手順を示すフローチャートである。
【図１４】実施例１における角速度情報取得処理の手順を示すフローチャートである。
【図１５】実施例１における方位変化量情報取得処理（ジャイロセンサ補正時）の手順を示すフローチャートである。
【図１６】実施例１におけるセンサ補正処理の手順を示すフローチャートである。
【図１７】実施例１における地磁気センサ補正処理の手順を示すフローチャートである。
【図１８】実施例１におけるジャイロセンサ補正処理の手順を示すフローチャートである。
【図１９】実施例２における直進判定／補正対象選択処理の手順を示すフローチャートである。
【図２０】走行時間と車両位置の幅方向の誤差との関係を示す説明図である。
【図２１−１】実施例２における方位変化量情報取得処理（地磁気センサ補正時）の手順を示すフローチャートである。
【図２１−２】実施例２における方位変化量情報取得処理（ジャイロセンサ補正時）の手順を示すフローチャートである。
【図２２】複数の装置を利用したセンサ補正装置の構成例（その１）を示すブロック図である。
【図２３】複数の装置を利用したセンサ補正装置の構成例（その２）を示すブロック図である。
【図２４】地磁気センサの誤差要因を示す説明図である。
【図２５】ジャイロセンサのオフセット誤差を示す説明図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照して、この発明にかかるセンサ補正プログラム、センサ補正装置およびセンサ補正方法の好適な実施の形態を詳細に説明する。
【００１８】
（実施の形態）
図１は、本実施の形態にかかるセンサ補正処理の一例を示す説明図である。図１のように、本実施の形態では、移動体１３０の車載機器を利用して、移動体１３０の移動に関する情報を取得して、移動体１３０の走行を支援することができる。車載機器には、移動体の移動に関する情報を得るための機構として、センサ装置１１０と、センサ補正装置１００と、方位検出装置１２０とが備えられている。
【００１９】
センサ装置１１０は、移動体１３０の挙動に関する情報を検出するセンサとして、地磁気センサ１１１とジャイロセンサ１１２とが備えられている。地磁気センサ１１１は、移動体１３０の現在位置の磁界を検出することによって、絶対的な方位変化量を検出する。ジャイロセンサ１１２は、移動体１３０の角速度の変化を検出することによって、相対的な方位変化量を検出する。
【００２０】
通常、センサ装置１１０によって検出された検出値は、そのまま方位検出装置１２０に提供される。そして、方位検出装置１２０は、センサ装置１１０の検出値から移動体１３０の移動した方位を検出する。方位検出装置１２０による検出結果は、移動体１３０のナビゲーション処理に利用したり、外部装置（車両管理センタなど）による移動体１３０の管理に利用されたりする。ところが、実際にはセンサ装置１１０の検出値にはオフセット誤差が含まれており、検出値をそのまま利用して方位検出を行った場合、検出結果が実際の方位とずれてしまう可能性が高い。そこで、本実施の形態では、オフセット誤差をキャンセルするために、センサ装置１１０と方位検出装置１２０の間にセンサ補正装置１００を用意する。
【００２１】
図１のように、センサ補正装置１００は、センサ装置１１０が検出した検出値を取得すると、まず、移動体１３０の走行状態から、地磁気センサ１１１とジャイロセンサ１１２とのうち、より正確な検出値が出力されるセンサを判断する（ステップＳ１）。そして、センサ補正装置１００は、より正確なセンサの検出値を利用して、もう一方のセンサ（ステップＳ１において、より正確なセンサと判断されなかったセンサ）のセンサの検出値を補正する（ステップＳ２）。センサ補正装置１００は、ステップＳ２の補正が終了すると、より正確なセンサの検出値と、補正された検出値とを方位検出装置１２０に出力して（ステップＳ３）、一連のセンサ補正処理を終了する。
【００２２】
図２は、センサ補正装置の適用例を示すブロック図である。本実施の形態では、図１にて説明したようなセンサ補正処理を実現するため、各センサの特徴を利用する。具体的には、オフセット誤差の有無に関わらず地磁気センサ１１１の検出値は、移動体１３０が直進している間は一定であるという特徴と、短時間でのジャイロセンサ１１２の検出値は、オフセット誤差の有無に関わらず正確であるという特徴を利用する。したがって、図２のように、センサ補正装置１００は、移動体１３０の走行状態に応じてセンサ同士が互いに正確な検出値を用いて補正し合う構成を有している。
【００２３】
センサ補正装置１００には、地磁気センサ１１１とジャイロセンサ１１２のいずれの検出値を補正するかを選択する選択部１０１が用意されている。選択部１０１は、直進判別機能と対象選択機能とを備えている。選択部１０１は、地磁気センサ１１１とジャイロセンサ１１２とそれぞれの検出値を取得すると、直進判別機能を用いて移動体１３０が直進中か否かを判別する。その後、対象選択機能を用いて地磁気センサ１１１とジャイロセンサ１１２とのいずれの検出値を補正対象とするかを選択する。
【００２４】
選択部１０１において、地磁気センサ１１１の検出値が補正対象となると選択された場合には、地磁気センサ補正値算出部１０２によって、地磁気センサ１１１の検出値に含まれるオフセット誤差をキャンセルするためのセンサ補正値を算出する。地磁気センサ補正値算出部１０２では、ジャイロセンサ１１２の検出値が正確な値であるとして、地磁気センサ１１１の検出値の誤差を算出する。
【００２５】
同様に、選択部１０１において、ジャイロセンサ１１２の検出値が補正対象となると選択された場合には、ジャイロセンサ補正値算出部１０３によって、ジャイロセンサ１１２の検出値に含まれるオフセット誤差をキャンセルするためのセンサ補正値を算出する。ジャイロセンサ補正値算出部１０３では、地磁気センサ１１１の検出値が正確な値であるとして、ジャイロセンサ１１２の検出値の誤差を算出する。
【００２６】
地磁気センサ補正部１０４およびジャイロセンサ補正部１０５では、前段にある地磁気センサ補正値算出部１０２もしくはジャイロセンサ補正値算出部１０３によって算出されたセンサ補正値を利用して検出値に含まれたオフセット誤差をキャンセルする。すなわち、選択部１０１にて地磁気センサ１１１の検出値が選択された場合、地磁気センサ補正部１０４では、地磁気センサ１１１の検出値に対して、地磁気センサ補正値算出部１０２によって算出されたセンサ補正値を利用した補正処理が行われる。同様に、選択部１０１にてジャイロセンサ１１２の検出値が選択された場合、ジャイロセンサ補正部１０５では、ジャイロセンサ１１２の検出値に対して、ジャイロセンサ補正値算出部１０３によって算出されたセンサ補正値を利用した補正処理が行われる。
【００２７】
センサ補正装置１００の後段に設置された方位検出装置１２０には、地磁気センサ補正部１０４もしくはジャイロセンサ補正部１０５によって補正が施された検出値が入力される。なお、センサ補正装置１００の選択部１０１において補正対象に選択されていなかった検出値は、高い精度を保っているため、センサによる検出値がそのまま方位検出装置１２０に入力される。
【００２８】
以上説明したように、本実施の形態にかかるセンサ補正処理を用いることによって、移動体１３０に搭載された地磁気センサ１１１およびジャイロセンサ１１２のオフセット誤差を正確に補正することができる。方位検出装置１２０には、リアルタイムで高精度に補正された検出値が入力される。したがって、方位検出装置１２０において移動体１３０の方位を検出する際（移動体１３０の測位処理など）には、外部から方位情報が得られない場合であっても、高精度な方位検出が可能となる。
【００２９】
以下に、上述したようなセンサ補正処理を実現するセンサ補正装置１００の具体的な構成例と処理手順について順に説明する。
【００３０】
（センサ補正装置のハードウェア構成）
図３は、センサ補正装置のハードウェア構成を示すブロック図である。図３において、センサ補正装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０８と、入力デバイス３０９と、出力デバイス３１０と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００３１】
ここで、ＣＰＵ３０１は、センサ補正装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムやセンサ補正プログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００３２】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３３】
通信インターフェース（以下、「通信Ｉ／Ｆ」と略する）３０８は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、ローカルネットワークなどの各種ネットワークに接続され、このネットワークを介して他の装置に接続される。そして、通信Ｉ／Ｆ３０８は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信Ｉ／Ｆ３０８には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３４】
入力デバイス３０９は、センサ補正装置１００に対しての外部からの入力を受け付ける。入力デバイス３０９としては、具体的には、キーボード、マウスなどが挙げられる。
【００３５】
キーボードの場合、たとえば、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスの場合、たとえば、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。また、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３６】
出力デバイス３１０は、センサ補正装置１００によって補正が施された地磁気センサ１１１やジャイロセンサ１１２の検出値や、補正に用いた補正値などを出力する。出力デバイス３１０としては、具体的には、ディスプレイ、プリンタなどが挙げられる。
【００３７】
ディスプレイの場合、たとえば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイとしてさらに、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。また、プリンタの場合、たとえば、画像データや文書データを印刷する。さらに、レーザプリンタやインクジェットプリンタを採用することができる。
【００３８】
（センサ補正装置の機能的構成）
図４は、センサ補正装置の機能的構成を示すブロック図である。センサ補正装置１００は、直進判別部４０１と、選択部４０２と、算出部４０３と、補正部４０４と、取得部４０５と、を含む構成である。この制御部となる機能（直進判別部４０１〜取得部４０５）は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたセンサ補正プログラムをＣＰＵ３０１に実行させることにより、または、通信Ｉ／Ｆ３０８により接続した外部装置により、その機能を実現する。
【００３９】
直進判別部４０１は、センサ装置１１０を搭載した移動体１３０が直進中か否かを判別する機能を有する。具体的には、直進判別部４０１は、地磁気センサ１１１もしくはジャイロセンサ１１２の検出値の変化量がしきい値以下に収まるかに応じて移動体１３０が直進中か否かを判別する。直進判別の手法としては、たとえば、直進判別部４０１は、地磁気センサ１１１から取得した検出値の変化量が所定時間以上しきい値未満であれば、移動体１３０が直進であると判別したり、ジャイロセンサ１１２から取得した検出値が微少時間の間、しきい値未満であれば、移動体１３０が直進であると判別したりしてもよい。なお、判別結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４０】
選択部４０２は、センサ装置１１０から取得した検出値のうち補正対象となる検出値を選択する機能を有する。具体的には、選択部４０２は、直進判別部４０１の判別結果に基づいて、地磁気センサ１１１とジャイロセンサ１１２とから取得した検出値のうち、補正対象となる検出値を選択する機能を有する。なお、選択結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４１】
算出部４０３は、検出値の補正処理に利用するセンサ補正値を算出する機能を有する。具体的には、算出部４０３は、選択部４０２によって選択されたセンサの検出値の補正値を、選択部４０２によって選択されなかったセンサの検出値の所定時間の変化量（誤差を含まない正確な値）を用いて算出する。なお、算出された補正値は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４２】
補正部４０４は、算出部４０３によって算出された補正値を利用して、補正対象となっているセンサの検出値に対して補正を行う機能を有する。具体的には、補正部４０４は、選択部４０２によって補正対象として選択されなかったセンサの検出値の変化量を利用して、補正対象として選択されたセンサの検出値の変化量にどれだけ誤差が含まれているかを特定して補正値を算出する。なお、補正後の検出値は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４３】
取得部４０５は、追加センサ１１３の検出値を取得する機能を有する。図４の例では移動体１３０に搭載されたセンサ装置１１０は、実際の車載機器には地磁気センサ１１１およびジャイロセンサ１１２によって構成されているが、いずれか一方のセンサのみが搭載されている場合もある。また、２つのセンサが搭載されているが、故障してしまった、もしくは、検出値が取得できないといった事態が発生する可能性もある。
【００４４】
そこで、取得部４０５は、上述のようにセンサの検出値のうち、一方のセンサの検出値しか取得できない場合に、あらたに移動体１３０に用意した追加センサ１１３の検出値を利用してセンサ補正を行う。したがって、センサ装置１１０から地磁気センサ１１１の検出値のみが取得された場合には、追加センサ１１３としてジャイロセンサ１１２相当のセンサを用意することによって、取得部４０５から追加センサ１１３の検出値を取得してセンサ補正処理を行うことができる。
【００４５】
同様に、センサ装置１１０からジャイロセンサ１１２の検出値のみが取得された場合には、追加センサ１１３として地磁気センサ１１１相当のセンサを用意することによって、取得部４０５から追加センサ１１３の検出値を利用してセンサ補正処理を行うことができる。なお、取得された検出値は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶される。
【００４６】
なお、本実施の形態にかかるセンサ補正処理を実現する場合、センサ補正装置１００は、必要最低限の構成として直進判別部４０１と、選択部４０２とが用意されていればよい。すなわち、地磁気センサ１１１およびジャイロセンサ１１２の検出値のうち、より正確な値が検出されているセンサを判別し、補正対象と非補正対象とを自動的に選択できればよい。後段のセンサ補正処理は、非補正対象となったセンサの検出値を利用して、補正対象となったセンサの検出値を補正すればよく、具体的な補正手法は限定されない。
【００４７】
（センサ補正処理の手順）
図５は、本実施の形態にかかるセンサ補正処理の手順を示すフローチャートである。図５のフローチャートは、センサ装置１１０に搭載された各センサから取得した検出値に対して補正を施して補正後の検出値を出力するまでの手順を示している。図５の各処理を実行することによって、検出値に含まれていたオフセット誤差がキャンセルされるため、より高精度なセンサ補正処理を実現することができる。
【００４８】
図５において、まず、センサ補正装置１００の直進判別部４０１は、地磁気センサ１１１・ジャイロセンサ１１２の検出値を取得したか否かを判断する（ステップＳ５０１）。ステップＳ５０１では、地磁気センサ１１１とジャイロセンサ１１２との双方の検出値が取得された場合にのみ、検出値を取得したと判断し（ステップＳ５０１：Ｙｅｓ）、ステップＳ５０３の処理に移行する。
【００４９】
ステップＳ５０１において、地磁気センサ１１１とジャイロセンサ１１２との双方の検出値が取得されなかった場合（ステップＳ５０１：Ｎｏ）、センサ装置１１０は、移動体１３０に追加センサ１１３が設置されていれば追加センサ１１３の検出値を利用してセンサ補正を行う。したがって、取得部４０５は、追加センサ１１３の検出値を取得したか否かを判断する（ステップＳ５０２）。ステップＳ５０２において、取得部４０５が検出値を取得した場合（ステップＳ５０２：Ｙｅｓ）、追加センサ１１３が設定されていると判断し、センサ装置１１０は、センサ装置１１０と追加センサ１１３とから取得された各検出値を利用するものとして、ステップＳ５０３の処理に移行する。
【００５０】
一方、ステップＳ５０２において、取得部４０５からも検出値が取得されなかった場合には（ステップＳ５０２：Ｎｏ）、追加センサ１１３は用意されていないものと判断され、ステップＳ５０１の処理に戻り、センサ装置１１０から地磁気センサ１１１・ジャイロセンサ１１２の双方の検出値が取得されるまで待機状態となる。
【００５１】
ステップＳ５０１，Ｓ５０２を経て、各検出値が取得されると、直進判断部４０１は、直進判別の基準となる検出値の変化量を算出する（ステップＳ５０３）。なお、地磁気センサ１１１・ジャイロセンサ１１２それぞれの検出値のいずれも直進判別の基準として利用できる（後述する実施例１，２参照）。したがって、ステップＳ５０３では、センサ補正装置１００の利用者によってあらかじめ設定されたいずれか一方のセンサの検出値の変化量を算出すればよい。
【００５２】
つぎに、直進判別部４０１は、ステップＳ５０３において算出された変化量がしきい値未満となるか否かを判断する（ステップＳ５０４）。ステップＳ５０４において、変化量がしきい値未満であると判別された場合（ステップＳ５０４：Ｙｅｓ）、直進判別部４０１は、移動体１３０が直進中であると判別する（ステップＳ５０５）。一方、ステップＳ５０４において、変化量がしきい値未満ではないと判断された場合（ステップＳ５０４：Ｎｏ）、直進判別部４０１は、移動体１３０が直進中ではないと判別する（ステップＳ５０６）。
【００５３】
つぎに、選択部４０２は、直進判別部４０１の判別結果に応じて、センサ補正装置１００による補正対象となるセンサを選択する（ステップＳ５０７）。なお、ステップＳ５０７における選択基準は、ステップＳ５０３において、地磁気センサ１１１・ジャイロセンサ１１２のいずれの検出値を直進判別に利用しているかによって異なる。
【００５４】
ステップＳ５０７において、補正対象となるセンサが選択されると、算出部４０３は、非補正対象となるセンサの検出値を用いて補正対象となるセンサの補正値を算出する（ステップＳ５０８）。ステップＳ５０８において、補正値が算出されると、補正部４０４は、補正値を用いて補正対象のセンサの検出値を補正する（ステップＳ５０９）。以上の処理によって一連のセンサ補正処理が完了する。センサ補正処理は、地磁気センサ１１１およびジャイロセンサ１１２の検出値の取得に応じて逐次実行される。
【００５５】
最後に、センサ補正装置１００の処理が終了するか否かを判断し（ステップＳ５１０）、処理が終了していないと判断されるとステップＳ５０１の処理に戻り、ステップＳ５０９までの処理を繰り返す（ステップＳ５１０：Ｎｏのループ）。ステップＳ５１０において、処理が終了したと判断されると（ステップＳ５１０：Ｙｅｓ）、センサ補正装置１００は一連の処理を終了する。
【００５６】
つぎに、上述したセンサ補正装置１００によるセンサ補正処理の具体例を実施例１，２により説明する。
【００５７】
（実施例１）
実施例１は、地磁気センサ１１１の検出値を利用して移動体１３０が直進中か否かを判別する。そして、センサ補正装置１００は、移動体１３０が直進している場合、地磁気センサ１１１の検出値からジャイロセンサ１１２の検出値に含まれているオフセット誤差を補正する。
【００５８】
＜センサ補正装置の動作＞
図６−１は、実施例１におけるセンサ補正装置の動作手順を示すフローチャートである。図６−１のフローチャートは、センサ補正装置１００がセンサ装置１１０から取得した各センサの検出値を補正して、方位検出装置１２０に提供するまでの手順を示している。図６−１の各処理を実行することによって、あらたなセンサや、外部からの方位情報を取得することなく、正確なセンサ補正が可能となる。
【００５９】
図６−１において、まず、センサ補正装置１００は、電源がＯＮ状態か否かを判断する（ステップＳ６０１）。その後、センサ補正装置１００は、ステップＳ６０１において、電源がＯＮ状態と判断されるまで待ち（ステップＳ６０１：Ｎｏのループ）、電源ＯＮ状態と判断されると（ステップＳ６０１：Ｙｅｓ）、まず、直進判別／補正対象選択処理を行う（ステップＳ６０２）。
【００６０】
ステップＳ６０２によって補正対象となるセンサが選択されると、センサ補正装置１００は、つぎに、補正対象となるセンサの検出値を補正するための、センサ補正値算出処理を行う（ステップＳ６０３）。そして、センサ補正装置１００は、ステップＳ６０３によって算出されたセンサ補正値を用いて、補正対象として選択されたセンサの検出値のオフセット誤差をキャンセルするためにセンサ補正処理を行う（ステップＳ６０４）。
【００６１】
以上説明したステップＳ６０２〜Ｓ６０４の処理を行うことによって、センサ装置１１０から取得した各種センサの検出値のうち、より精度の高い検出値を利用して、精度の劣る検出値に含まれているオフセット誤差を自動的にキャンセルすることができる。センサ補正装置１００では、ステップＳ６０４の処理が終了すると、電源がＯＦＦ状態か否かを判断する（ステップＳ６０５）。ステップＳ６０５において、電源がＯＦＦ状態でなければ（ステップＳ６０５：Ｎｏ）、センサ補正装置１００は、ステップＳ６０２の処理に戻りセンサ補正処理を繰り返し、電源ＯＦＦ状態と判断されると（ステップＳ６０５：Ｙｅｓ）、一連の処理を終了する。
【００６２】
上述したように、センサ補正装置１００は、まず、移動体１３０が直進中か否かの判定を行い、その判定結果に応じて補正対象を選択する。直進中か否かを判定する際、実施例１では、地磁気センサ１１１の特徴から、移動体１３０の直進時に地磁気センサ１１１の出力が一定であることを利用する。
【００６３】
まず、センサ補正装置１００は、地磁気センサ１１１の検出値から求めた移動体１３０の方位が安定している（たとえば、ある一定時間以上移動して、方位角の変化量がしきい値以下の場合）とき、移動体１３０が直進していると判別する。その他に、センサ補正装置１００は、地磁気センサ１１１から検出された磁束密度の変化量がしきい値以下であれは、方位が安定するため、直進中と判断してもよい。
【００６４】
そして、移動体１３０が直進中であれば、移動体１３０は回転動作を行わないため、ジャイロセンサ１１２の検出値として得られる角速度は０となる。したがって、方位角の変化量（Δθ）＝０となるため、ジャイロセンサ１１２の検出値から求めた相対方位角も０となる。そこで、時刻ｔ１におけるジャイロセンサ１１２の検出値をセンサ出力Ｖ（ｔ１）と、時刻ｔ２におけるジャイロセンサ１１２の検出値をセンサ出力Ｖ（ｔ２）、基準電圧Ｖｏ、感度Ｖｓ、オフセット誤差Ｅとすると、相対方位角を下記（１）式に表すことができる。したがって、下記（２）式のような方程式が成り立つ。
【００６５】
【数１】
0005445067.tif 000002
【００６６】
上記（２）式を、Ｅについて解くことによってオフセット誤差（Ｅ）を算出することができる。そして、Ｖｏ＋Ｅを新たな基準電圧として角速度を改めて算出することで正確な角速度を出力することができる。
【００６７】
また、実施例１の場合、移動体１３０が直進中ではないと判別された場合は、ジャイロセンサ１１２の検出値を利用して地磁気センサ１１１の検出値に含まれているオフセット誤差を補正する。ジャイロセンサ１１２のオフセット誤差は温度など外的要因によってドリフトする。したがって、短時間のジャイロセンサ１１２の検出値であれば、オフセット誤差によるドリフト量は小さい。そこで、移動体１３０の短時間の動作により得られたジャイロセンサの出力は正確な値として扱う。
【００６８】
図６−２は、方位ベクトルとオフセット誤差との関係を示す説明図である。図６−２において、単位円６２１は、誤差を含まない正解の磁束密度で構成される方位ベクトル（Ｖｒ）を基準に描かれている。そして、地磁気センサ１１１により取得した磁束密度（Ｈｘ，Ｈｙ）で構成される方位ベクトル（Ｖｏ）、オフセット誤差ベクトル（Ｖｅ）とすると、オフセット誤差の影響を受けた正解の方位ベクトルは、単位円６２２を描く。すなわち、Ｖｒ＝Ｖｏ−Ｖｅという関係であることがわかる。
【００６９】
図６−３は、方位変化量と方位ベクトルとの関係を示す説明図である。単位円６３１は、ジャイロセンサ１１２により時刻ｔ１からｔ２における移動体の方位の変化量（Δθ）の検出値を表している。ジャイロセンサ１１２と地磁気センサ１１１は時刻同期されており、時刻ｔ１における方位ベクトルをＶｒ１，Ｖｏ１、時刻ｔ２における方位ベクトルをＶｒ２，Ｖｏ２とする。
【００７０】
各方位ベクトルは、それぞれＶｒ１＝Ｖｏ１−Ｖｅ（（３）式）、Ｖｒ２＝Ｖｏ２−Ｖｅ（（４）式）という関係となる。また、オイラーの公式より下記（５）式が成り立つ。
【００７１】
【数２】
0005445067.tif 000003
【００７２】
したがって、Ｖｅを求めるために、上記（５）式に（３），（４）式を代入すると下記（６）式となり、オフセット誤差を求めることができる。
【００７３】
【数３】
0005445067.tif 000004
【００７４】
そして、さらにＶｒ２を求めるために、上記（４）式に上記（６）式を代入すると、下記（７）式となり、正解の方位ベクトル（Ｖｒ２）が求まる。最後に下記（７）式によって求めた正解の方位ベクトルの偏角を求めることで、方位θを算出することができる。
【００７５】
【数４】
0005445067.tif 000005
【００７６】
実施例１では、上述した特徴を利用して上述したステップＳ６０２〜Ｓ６０４の処理を行う。したがって、以下に各ステップにおける詳細な処理内容について説明する。
【００７７】
＜直進判別／補正対象選択処理の手順＞
図７は、実施例１における直進判定／補正対象選択処理の手順を示すフローチャートである。図７のフローチャートは、図６−１のステップＳ６０２の詳細な処理を示している。具体的には、移動体１３０が直進中か否かを判断し、その判断結果を利用して地磁気センサ１１１とジャイロセンサ１１２のいずれの検出値を補正対象とするかの選択を行うまでの手順を示している。図７の各処理を実行することによって、移動体１３０に搭載されたセンサのうち、より正確な検出値を出力しているセンサが特定される。
【００７８】
図７において、まず、センサ補正装置１００は、地磁気センサ１１１から検出値として、磁束密度を取得する（ステップＳ７０１）。つぎに、センサ補正装置１００は、取得した磁束密度から方位変化量を算出する（ステップＳ７０２）。また、センサ補正装置１００は、ステップＳ７０１の処理を開始してからの移動体１３０の移動時間を算出し（ステップＳ７０３）、移動時間がしきい値以上か否かを判断する（ステップＳ７０４）。
【００７９】
ステップＳ７０４において、移動時間がしきい値以上と判断された場合（ステップＳ７０４：Ｙｅｓ）、センサ補正装置１００は、つぎに、方位変化量がしきい値未満か否かを判断する（ステップＳ７０５）。ステップＳ７０５において、方位変化量がしきい値未満と判断された場合（ステップＳ７０５：Ｙｅｓ）、センサ補正装置１００は、直進判定＝ｔｒｕｅ、すなわち、移動体１３０が直進中であると判断する（ステップＳ７０６）。
【００８０】
ステップＳ７０４において、移動時間がしきい値以上でない（ステップＳ７０４：Ｎｏ）、もしくは、ステップＳ７０５において、方位変化量がしきい値未満ではないと判断された場合（ステップＳ７０５：Ｎｏ）、センサ補正装置１００は、直進判定＝ｆａｌｓｅ、すなわち、移動体１３０が非直進中であると判断する（ステップＳ７０７）。
【００８１】
つぎに、センサ補正装置１００は、直進判定＝ｔｒｕｅになったかを判断し（ステップＳ７０８）、直進判定＝ｔｒｕｅの場合は（ステップＳ７０８：Ｙｅｓ）、補正対象としてジャイロセンサ１１２を選択し（ステップＳ７０９）、ステップＳ６０３の処理に移行する。一方、ステップＳ７０８において、直進判定＝ｆａｌｅｓの場合は（ステップＳ７０８：Ｎｏ）、補正対象として地磁気センサ１１１を選択し（ステップＳ７１０）、ステップＳ６０３の処理に移行する。
【００８２】
＜走行時間とドリフト量との関係＞
上述のように、センサ補正装置１００は、ステップＳ７０４において、移動体１３０の移動時間を直進判定の基準に利用している。これにより、ジャイロセンサ１１２の検出値のドリフトが経過時間に応じて蓄積される。したがって、一定以上の移動時間が経過したジャイロセンサ１１２（補正が施されなかった場合）の検出値は誤差が大きいため、地磁気センサ１１１の検出値をより正確な値として利用する。そこで、実施例１では、直近の補正処理後からの時間ｔを算出してステップＳ７０４の判断に適用する。
【００８３】
図８は、走行時間とドリフト量との関係を表す説明図である。図８のように、グラフ８１０のように、補正処理後の時間ｔの経過に応じて時間あたりの単位ドリフト量は増加する。したがって、下記のような設定がなされた場合、時間ｔ経過後にドリフトによって生じる角速度の誤差はＤｔとなる。
【００８４】
ｔ：誤差補正を実行してからの時間［ｓｅｃ］
Ｄ：ジャイロセンサのドリフト［ｄｅｇ／ｓｅｃ／ｓｅｃ］
α：アプリケーションの要求精度［ｄｅｇ］
（ナビゲーション装置であればα＝１０ｄｅｇ程度）
【００８５】
したがって、時間ｔ経過後にドリフトによって生じる角度の誤差は下記（８）式によって求められる（対応グラフ８２０）。
【００８６】
【数５】
0005445067.tif 000006
【００８７】
そして、上述のように、要求精度がαとすると、下記（９）式となる条件下では、ジャイロセンサ１１２の検出値を補正する必要がある。したがって、実施例１では、下記（１０）式を満たす時間ｔごとにジャイロセンサ１１２の検出値を補正するように設定する。
【００８８】
【数６】
0005445067.tif 000007
【００８９】
＜センサ補正値算出処理の手順＞
図９は、実施例１におけるセンサ補正値算出処理の手順を示すフローチャートである。図９のフローチャートは、ステップＳ６０３の詳細な処理内容を示している。図９の各処理を行うことによって、補正対象に選択されているセンサのオフセット誤差をキャンセルするためのセンサ補正値を算出することができる。
【００９０】
図９において、まず、センサ補正装置１００は、補正対象が地磁気センサ１１１か否かを判断する（ステップＳ９０１）。なお、補正対象がいずれのセンサであるかは、ステップＳ６０２における補正対象の選択結果を参照する。ステップＳ９０１において、補正対象が地磁気センサ１１１であると判断された場合（ステップＳ９０１：Ｙｅｓ）、センサ補正装置１００は、地磁気センサ補正値算出処理を行い（ステップＳ９０２）、ステップＳ６０４の処理に移行する。一方、ステップＳ９０１において、補正対象がジャイロセンサ１１２であると判断された場合（ステップＳ９０１：Ｎｏ）、センサ補正装置１００は、ジャイロセンサ補正値算出処理を行い（ステップＳ９０３）。ステップＳ６０４の処理に移行する。
【００９１】
以下に、ステップＳ９０２，Ｓ９０３の詳細な処理について説明する。
【００９２】
・地磁気センサ補正値算出処理
図１０は、実施例１における地磁気センサ補正値算出処理の手順を示すフローチャートである。図１０のフローチャートは、ステップＳ９０２の詳細な処理内容を示している。図１０の各処理を実行することによって、地磁気センサ１１１の検出値からオフセット誤差をキャンセルするためのセンサ補正値を算出することができる。
【００９３】
図１０において、センサ補正装置１００は、まず、移動体１３０の方位情報と方位変化量情報とをそれぞれ取得する（ステップＳ１００１，Ｓ１００２）。双方の情報が取得されると、センサ補正装置１００は、つぎに、取得した各情報、すなわち、時刻ｔ１における方位ベクトルＶｏ１、時刻ｔ２における方位ベクトルＶｏ２および方位変化量Δθがｎｕｌｌでないか否かを判断する（ステップＳ１００３）。
【００９４】
ステップＳ１００３において、取得した各情報がｎｕｌｌ（値なし、もしくは、不適切な値）でないと判断された場合（ステップＳ１００３：Ｙｅｓ）、センサ補正装置１００は、上記（６）式を用いてオフセット誤差ベクトル（Ｖｅ）を算出し（ステップＳ１００４）、ステップＳ６０４の処理に移行する。一方、ステップＳ１００３において、取得した各情報がｎｕｌｌであると判断された場合（ステップＳ１００３：Ｎｏ）、センサ補正装置１００は、オフセット誤差ベクトル（Ｖｅ）もｎｕｌｌとして（ステップＳ１００５）、ステップＳ６０４の処理に移行する。
【００９５】
ここで、ステップＳ１００１およびＳ１００２における各情報の取得処理について詳しく説明する。
【００９６】
図１１は、実施例１における方位情報取得処理の手順を示すフローチャートである。図１１のフローチャートは、ステップＳ１００１における方位情報取得処理の詳細な手順を示している。図１１において、センサ補正装置１００には、まず、地磁気センサ１１１からＸ方向、Ｙ方向の磁束密度（Ｈｘ，Ｈｙ）の検出値が入力される（ステップＳ１１０１）。
【００９７】
つぎに、センサ補正装置１００は、下記（１０）式を用いて方位角（θ’）を算出し（ステップＳ１１０２）、さらに、下記（１１）式を用いて方位ベクトル（Ｖｏ）を算出する（ステップＳ１１０３）。
θ’＝ａｔａｎ（Ｈｙ／Ｈｘ）  …（１０）
Ｖｏ＝ｃｏｓθ’＋ｓｉｎθ’  …（１１）
【００９８】
そして、センサ補正装置１００は、時刻ｔ１における方位ベクトルＶｏ１がｎｕｌｌか否かを判断する（ステップＳ１１０４）。ステップＳ１１０４において、Ｖｏ１がｎｕｌｌであると判断された場合（ステップＳ１１０４：Ｙｅｓ）、センサ補正装置１００は、時刻ｔ１における方位ベクトルＶｏ１は、未取得であると判断し、履歴１（Ｖｏ１）に、方位ベクトル（Ｖｏ）を保存し（ステップＳ１１０５）、ステップＳ１００３の処理に移行する。
【００９９】
ステップＳ１１０４において、Ｖｏ１がｎｕｌｌではないと判断された場合（ステップＳ１１０４：Ｎｏ）、センサ補正装置１００は、さらに時刻ｔ２における方位ベクトルＶｏ２がｎｕｌｌか否かを判断する（ステップＳ１１０６）。ステップＳ１１０６において、Ｖｏ２がｎｕｌｌであると判断された場合（ステップＳ１１０６：Ｙｅｓ）、センサ補正装置１００は、時刻ｔ２における方位ベクトルＶｏ２は、未取得であると判断し、履歴２（Ｖｏ２）に、方位ベクトル（Ｖｏ）を保存し（ステップＳ１１０８）、ステップＳ１００３の処理に移行する。なお、ステップＳ１１０６において、Ｖｏ２がｎｕｌｌではないと判断された場合（ステップＳ１１０６：Ｎｏ）、センサ補正装置１００は、履歴１（Ｖｏ１）に履歴２（Ｖｏ２）をコピーし（ステップＳ１１０７）、ステップＳ１１０８の処理に移行する。
【０１００】
図１２は、実施例１における方位変化量情報取得処理（地磁気センサ補正時）の手順を示すフローチャートである。図１２のフローチャートは、ステップＳ１００２における方位変化量情報取得処理の詳細な手順を示している。図１２において、センサ補正装置１００には、まず、時刻ｔ１がｎｕｌｌか否かを判断する（ステップＳ１２０１）。
【０１０１】
ステップＳ１２０１において、時刻ｔ１がｎｕｌｌと判断された場合（ステップＳ１２０１：Ｙｅｓ）、センサ補正装置１００は、履歴（ｔ１）にタイマ出力（ｔ）を保存し（ステップＳ１２０２）、さらに、ジャイロセンサ１１２の検出値であるジャイロ出力（Ｖ）を履歴（Ｖｔ１）に保存し（ステップＳ１２０３）、ステップＳ１２０９の処理に移行する。
【０１０２】
一方、ステップＳ１２０１において、時刻ｔ１がｎｕｌｌではないと判断された場合（ステップＳ１２０１：Ｎｏ）、センサ補正装置１００は、さらに時刻ｔ２がｎｕｌｌか否かを判断する（ステップＳ１２０４）。ステップＳ１２０４において、時刻ｔ２がｎｕｌｌであると判断された場合（ステップＳ１２０４：Ｙｅｓ）、センサ補正装置１００は、履歴（ｔ２）にタイマ出力（ｔ）を保存し（ステップＳ１２０７）、さらに、履歴（Ｖ(ｔ２)）にジャイロ出力（Ｖ）を保存し（ステップＳ１２０８）、ステップＳ１２０９の処理に移行する。
【０１０３】
一方、ステップＳ１２０４において、時刻ｔ２がｎｕｌｌでないと判断された場合（ステップＳ１２０４：Ｎｏ）、センサ補正装置１００は、履歴１（ｔ１）に履歴２（ｔ２）をコピーし（ステップＳ１２０５）、さらに、履歴１（Ｖ(ｔ１)）に履歴２（Ｖ(ｔ２)）をコピーし（ステップＳ１２０６）、ステップＳ１２０７の処理に移行する。
【０１０４】
センサ補正装置１００は、続いて、ｔ１，ｔ２がｎｕｌｌでないか否かを判断する（ステップＳ１２０９）。ステップＳ１２０９において、ｔ１，ｔ２がｎｕｌｌでないと判断されると（ステップＳ１２０９：Ｙｅｓ）、センサ補正装置１００は、感度（Ｖｓ）、基準電圧（Ｖｂ）を取得する（ステップＳ１２１０）。そして、センサ補正装置１００は、上記（１）式を用いて方位変化量（Δθ）を算出し（ステップＳ１２１１）、ステップＳ１００３の処理に移行する。なお、ステップＳ１２０９において、ｔ１，ｔ２がｎｕｌｌであると判断されると（ステップＳ１２０９：Ｎｏ）、そのままステップＳ１００３の処理に移行する。
【０１０５】
・ジャイロセンサ補正値算出処理
図１３は、実施例１におけるジャイロセンサ補正値算出処理の手順を示すフローチャートである。図１３のフローチャートは、ステップＳ９０３の詳細な処理内容を示している。図１３の各処理を実行することによって、ジャイロセンサ１１２の検出値からオフセット誤差をキャンセルするためのセンサ補正値を算出することができる。
【０１０６】
図１３において、センサ補正装置１００は、まず、移動体１３０の角速度情報と方位変化量情報とをそれぞれ取得する（ステップＳ１３０１，Ｓ１３０２）。双方の情報が取得されると、センサ補正装置１００は、つぎに、取得した各情報、すなわち、時刻ｔ１における方位ベクトルＶｔ１、時刻ｔ２における方位ベクトルＶｔ２および方位変化量Δθがｎｕｌｌでないか否かを判断する（ステップＳ１３０３）。
【０１０７】
ステップＳ１３０３において、取得した各情報がｎｕｌｌ（値なし、もしくは、不適切な値）でないと判断された場合（ステップＳ１３０３：Ｙｅｓ）、センサ補正装置１００は、上記（１）式を用いてオフセット誤差（Ｅ）を算出し（ステップＳ１３０４）、ステップＳ６０４の処理に移行する。一方、ステップＳ１３０３において、取得した各情報がｎｕｌｌであると判断された場合（ステップＳ１３０３：Ｎｏ）、センサ補正装置１００は、オフセット誤差（Ｅ）もｎｕｌｌとして（ステップＳ１３０５）、ステップＳ６０４の処理に移行する。
【０１０８】
ここで、ステップＳ１３０１およびＳ１３０２における各情報の取得処理について詳しく説明する。
【０１０９】
図１４は、実施例１における角速度情報取得処理の手順を示すフローチャートである。図１４のフローチャートは、ステップＳ１３０１における角速度情報取得処理の詳細な手順を示している。図１４において、センサ補正装置１００は、まず、時刻ｔ１がｎｕｌｌか否かを判断する（ステップＳ１４０１）。ステップ１４０１において、時刻ｔ１がｎｕｌｌと判断された場合（ステップＳ１４０１：Ｙｅｓ）、センサ補正装置１００は、履歴（ｔ１）にタイマ出力（ｔ）を保存し（ステップＳ１４０２）、ステップＳ１４０６の処理に移行する。
【０１１０】
一方、ステップＳ１４０１において、時刻ｔ１がｎｕｌｌではないと判断された場合（ステップＳ１４０１：Ｎｏ）、センサ補正装置１００は、さらに時刻ｔ２がｎｕｌｌか否かを判断する（ステップＳ１４０３）。ステップＳ１４０３において、時刻ｔ２がｎｕｌｌであると判断された場合（ステップＳ１４０３：Ｙｅｓ）、センサ補正装置１００は、履歴（ｔ２）にタイマ出力（ｔ）を保存し（ステップＳ１４０５）、ステップＳ１４０６の処理に移行する。なお、ステップＳ１４０３において、時刻ｔ２がｎｕｌｌでないと判断された場合（ステップＳ１４０３：Ｎｏ）、センサ補正装置１００は、履歴１（ｔ１）に履歴２（ｔ２）をコピーし（ステップＳ１４０４）、ステップＳ１４０５の処理に移行する。その後、センサ補正装置１００は、履歴ＤＢ（データ・ベース）（Ｖ（ｔ））にジャイロ出力（Ｖ）を保存し（ステップＳ１４０６）、ステップＳ１３０３の処理に移行する。
【０１１１】
図１５は、実施例１における方位変化量情報取得処理（ジャイロセンサ補正時）の手順を示すフローチャートである。図１５のフローチャートは、ステップＳ１３０２における方位変化量情報取得処理の詳細な手順を示している。図１５において、センサ補正装置１００は、方位変化量（Δθ）を０に設定し（ステップＳ１５０１）、ステップＳ１３０３の処理に移行する。
【０１１２】
＜センサ補正処理の手順＞
図１６は、実施例１におけるセンサ補正処理の手順を示すフローチャートである。図１６のフローチャートは、図６−１のステップＳ６０４の詳細な処理を表している。図１６の各処理を実行することによって、検出値に対してオフセット誤差をキャンセルするための補正が施されて高精度な検出値として提供することができる。
【０１１３】
図１６において、まず、センサ補正装置１００は、補正対象が地磁気センサ１１１か否かを判断する（ステップＳ１６０１）。なお、補正対象がいずれのセンサであるかは、ステップＳ６０２における補正対象の選択結果を参照する。ステップＳ１６０１において、補正対象が地磁気センサ１１１であると判断された場合（ステップＳ１６０１：Ｙｅｓ）、センサ補正装置１００は、地磁気センサ補正処理を行い（ステップＳ１６０２）、ステップＳ６０５の処理に移行する。一方、ステップＳ１６０１において、補正対象がジャイロセンサ１１２であると判断された場合（ステップＳ１６０１：Ｎｏ）、センサ補正装置１００は、ジャイロセンサ補正処理を行い（ステップＳ１６０３）、ステップＳ６０５の処理に移行する。
【０１１４】
以下に、ステップＳ１６０２，Ｓ１６０３の詳細な処理について説明する。
【０１１５】
図１７は、実施例１における地磁気センサ補正処理の手順を示すフローチャートである。図１７のフローチャートは、ステップＳ１６０２の地磁気センサ補正処理の詳細な手順を示している。図１７において、まず、センサ補正装置１００は、Ｖｏ２，Ｖｅがｎｕｌｌでないか否かを判断する（ステップＳ１７０１）。ステップＳ１７０１において、Ｖｏ２，Ｖｅがｎｕｌｌでないと判断された場合（ステップＳ１７０１：Ｙｅｓ）、センサ補正装置１００は、正解の方位ベクトル（Ｖｒ２）を算出し（ステップＳ１７０２）、方位ベクトル（Ｖｒ２）から正しい磁束密度（Ｘ，Ｙ）を出力し（ステップＳ１７０３）、ステップＳ６０５の処理に移行する。
【０１１６】
一方、ステップＳ１７０１において、Ｖｏ２，Ｖｅがｎｕｌｌであると判断された場合（ステップＳ１７０１：Ｎｏ）、センサ補正装置１００は、地磁気センサ１１１が出力した磁束密度（Ｈｘ，Ｈｙ）をそのまま出力して（ステップＳ１７０４）、ステップＳ６０５の処理に移行する。
【０１１７】
図１８は、実施例１におけるジャイロセンサ補正処理の手順を示すフローチャートである。図１８のフローチャートは、ステップＳ１６０３のジャイロセンサ補正処理の詳細な手順を示している。図１８において、まず、センサ補正装置１００は、規定の基準電圧（Ｖｏ）と感度（Ｖｓ）を取得する（ステップＳ１８０１）。その後、センサ補正装置１００は、補正値（Ｅ）から正解の基準電圧（Ｖｏ’）を算出し（ステップＳ１８０２）、さらに、正解の基準電圧（Ｖｏ’）から角速度（ω）を算出し、この値を出力し（ステップＳ１８０３）、ステップＳ６０５の処理に移行する。
【０１１８】
（実施例２）
実施例２は、ジャイロセンサ１１２の検出値を利用して移動体１３０が直進中か否かを判別する。そして、センサ補正装置１００は、移動体１３０が直進している場合、ジャイロセンサ１１２の検出値から地磁気センサ１１１の検出値に含まれているオフセット誤差を補正する。なお、実施例２の場合もセンサ補正装置１００の動作は図６−１と同様の手順をとる。
【０１１９】
実施例２の場合も、実施例１と同様に、まず移動体１３０が直進しているかどうかを判定する。そして、移動体１３０が直進している場合は、ジャイロセンサ１１２の検出値を利用して地磁気センサのオフセット誤差を補正する。具体的には、ジャイロセンサ１１２の検出値は短時間であれば正確であることを利用する。したがって、ジャイロセンサ１１２の検出値が一定時間安定している（方位角の変化量がしきい値以下）の場合、移動体が直進していると判定する。
【０１２０】
また、移動体１３０の直進判定にジャイロセンサ１１２の検出値として得られた角速度の変化量を用いてもよい。さらに、ジャイロセンサ１１２の検出値から求めた移動体１３０の方位を利用してもよい。ただし、移動体１３０の方位は移動距離による誤差の累積が大きいため、一定距離移動している間安定していることを条件とする。
【０１２１】
上述のように、移動体１３０が直進中と判断された場合、ジャイロセンサ１１２から取得される方位角の変化量（Δθ）は０である。したがって、Δθを０として実施例１の地磁気センサの補正方法と同様の処理を行うことによって、ジャイロセンサ１１２のオフセット誤差を補正することができる。
【０１２２】
移動体１３０が直進中でない場合は、地磁気センサ１１１の検出値を利用してジャイロセンサ１１２のオフセット誤差を補正する。具体的には、実施例１のジャイロセンサ１１２の補正手順と同様であるが、実施例２では、方位角の変化量（Δθ）が０ではないので、Δθを地磁気センサ１１１の検出値から求める処理に変更する。また、ジャイロセンサ１１２の出力誤差は時間に応じてドリフトするため（図８参照）、ジャイロセンサ１１２の連続通電時間を計測し、一定時間を超えた場合にジャイロセンサ１１２の補正を行うような設定であってもよい。
【０１２３】
上述のように、実施例２におけるセンサ補正処理は全体の手順は、実施例１と同様であるが、直進判定や補正対象選択など一部分では処理内容が異なる。したがって、以下には、実施例２のセンサ補正処理の中で実施例１と異なる処理を行う箇所について説明する。
【０１２４】
図１９は、実施例２における直進判定／補正対象選択処理の手順を示すフローチャートである。図１９のフローチャートは、実施例２における直進判定／補正対象選択処理（図６−１のステップＳ６０２相当）の詳細な処理を示している。具体的には、移動体１３０が直進中か否かを判断し、その判断結果を利用して地磁気センサ１１１とジャイロセンサ１１２のいずれの検出値を補正対象とするかの選択を行うまでの手順を示している。図１９の各処理を実行することによって、移動体１３０に搭載されたセンサのうち、より正確な検出値を出力しているセンサが特定される。
【０１２５】
図１９において、まず、センサ補正装置１００は、ジャイロセンサ１１２から検出値として、角速度を取得する（ステップＳ１９０１）。つぎに、センサ補正装置１００は、取得した角速度から方位変化量を算出する（ステップＳ１９０２）。また、センサ補正装置１００は、ステップＳ１９０１の処理を開始してからの移動体１３０の移動時間を計測し（ステップＳ１９０３）、計測した時間がしきい値未満か否かを判断する（ステップＳ１９０４）。
【０１２６】
ステップＳ１９０４において、計測時間がしきい値未満と判断された場合（ステップＳ１９０４：Ｙｅｓ）、センサ補正装置１００は、つぎに、方位変化量がしきい値未満か否かを判断する（ステップＳ１９０５）。ステップＳ１９０５において、方位変化量がしきい値未満と判断された場合（ステップＳ１９０５：Ｙｅｓ）、センサ補正装置１００は、直進判定＝ｔｒｕｅ、すなわち、移動体１３０が直進中であると判断する（ステップＳ１９０６）。
【０１２７】
ステップＳ１９０４において、計測した時間がしきい値未満でない（ステップＳ１９０４：Ｎｏ）、もしくは、ステップＳ１９０５において、方位変化量がしきい値未満ではないと判断された場合（ステップＳ１９０５：Ｎｏ）、センサ補正装置１００は、直進判定＝ｆａｌｓｅ、すなわち、移動体１３０が非直進中であると判断する（ステップＳ１９０７）。
【０１２８】
つぎに、センサ補正装置１００は、直進判定＝ｔｒｕｅになったかを判断し（ステップＳ１９０８）、直進判定＝ｔｒｕｅの場合は（ステップＳ１９０８：Ｙｅｓ）、補正対象として地磁気センサ１１１を選択し（ステップＳ１９０９）、ステップＳ６０３の処理に移行する。一方、ステップＳ１９０８において、直進判定＝ｆａｌｅｓの場合は（ステップＳ１９０８：Ｎｏ）、補正対象としてジャイロセンサ１１２を選択し（ステップＳ１９１０）、ステップＳ６０３の処理に移行する。
【０１２９】
＜走行時間と車両位置の幅方向の誤差との関係＞
上述のように、センサ補正装置１００は、ステップＳ１９０４において、移動体１３０の計測時間を直進判定の基準に利用している。実施例２の場合、ジャイロセンサ１１１の検出値に含まれる誤差が十分に小さい（ほとんどない）状態にて利用したい。そこで、走行時間として計測した時間が所定の値以下のうちにセンサ補正処理を行う必要がある。
【０１３０】
図２０は、走行時間と車両位置の幅方向の誤差との関係を示す説明図である。図２０のように、車両１３０は、ジャイロセンサ１１２と車速パルスを用いて自律測位を行う。下記のような各値が設定されている場合、センサ補正処理をｔ’以内に実行すればよい。
【０１３１】
Ｌ：車速パルスの１パルス毎に車両が進む距離（ｍ）
（ＪＩＳ規格では約０．３９ｍ）
（ドライブシャフトは６３７回転／ｋｍ（ＪＩＳ規格）⇒１．５７ｍ／回転）
（シャフト１回転が４パルスの場合０．３９ｍ／パルス）
Ｄ：ジャイロセンサのドリフト（ｄｅｇ／ｓｅｃ／ｓｅｃ）
ｔｎ：車速パルスのｎパルス目の周期（ｓｅｃ）
β：  道路幅員（ｍ）
（公道では２．７５ｍ：道路構造令に定められた公道の幅員の最小値（第３種第２〜４級、及び第４種第１〜３級の小型道路、車両が道路中央の場合、車両位置は道路端から１．３７５ｍ）
ｔ’：誤差補正を実行してからの時間（ｓｅｃ）
【０１３２】
移動体１３０が走行を開始して時間ｔ１後にドリフトによって生じる角度の誤差θ１は、下記（１１）式によって求められる。
【０１３３】
【数７】
0005445067.tif 000008
【０１３４】
さらに、時間ｔ１後に移動体１３０がＬだけ直進したときの車両位置Ｐ１の幅方向の誤差はＬｓｉｎ（θ１）となる。また、時間ｔ１＋ｔ２後にドリフトによって生じる角度の誤差はθ２となる。そして、時間ｔ１＋ｔ２後に移動体１３０がＬだけ直進したときの車両位置Ｐ２の幅方向の誤差は、Ｌｓｉｎ（θ１）＋Ｌｓｉｎ（θ１＋θ２）となる。
【０１３５】
したがって、ジャイロセンサ１１２の信頼性を移動体１３０の自律測位結果が道路内に収まるように定義すると、下記（１２）式の条件を満たす必要がある。したがって、実施例２では、下記（１３）式によって求まった時間ｔ’以内にセンサ補正処理を行うような設定とする。
【０１３６】
【数８】
0005445067.tif 000009
【０１３７】
図２１−１は、実施例２における方位変化量情報取得処理（地磁気センサ補正時）の手順を示すフローチャートである。図２１−１のフローチャートは、実施例２における方位変化量情報取得処理の詳細な手順を示している。図２１−１において、センサ補正装置１００は、方位変化量（Δθ）を０に設定し（ステップＳ２１００）、ステップＳ１００３の処理に移行する。
【０１３８】
図２１―２は、実施例２における方位変化量情報取得処理（ジャイロセンサ補正時）の手順を示すフローチャートである。図２１−２のフローチャートは、実施例２における方位変化量情報取得処理の詳細な手順を示している。図２１−２において、センサ補正装置１００は、まず、地磁気センサ１１１からＸ方向、Ｙ方向の磁束密度（Ｈｘ，Ｈｙ）の検出値を取得する（ステップＳ２１０１）。
【０１３９】
つぎに、センサ補正装置１００は、上記（１１）式を用いて方位角（θ’）を算出し（ステップＳ２１０２）、さらに、θ１がｎｕｌｌか否かを判断する（ステップＳ２１０３）。ステップＳ２１０３において、θ１がｎｕｌｌであると判断された場合（ステップＳ２１０３：Ｙｅｓ）、センサ補正装置１００は、時刻ｔ１の方位角は未取得であると判断し、履歴（θ１）に方位角（θ）を保存して（ステップＳ２１０４）、ステップＳ２１０８の処理に移行する。
【０１４０】
ステップＳ２１０３において、θ１がｎｕｌｌでないと判断された場合（ステップＳ２１０３：Ｎｏ）、センサ補正装置１００は、θ２がｎｕｌｌか否かを判断する（ステップＳ２１０５）。ステップＳ２１０５において、θ２がｎｕｌｌであると判断された場合（ステップＳ２１０５：Ｙｅｓ）、センサ補正装置１００は、時刻ｔ２における方位角θ２は、未取得であると判断し、履歴２（θ２）に、方位角（θ）を保存し（ステップＳ２１０７）、ステップＳ２１０８の処理に移行する。なお、ステップＳ２１０５において、θ２がｎｕｌｌではないと判断された場合（ステップＳ２１０５：Ｎｏ）、センサ補正装置１００は、履歴１（θ１）に履歴２（θ２）をコピーし（ステップＳ２１０６）、ステップＳ２１０７の処理に移行する。
【０１４１】
その後、センサ補正装置１００は、θ１，θ２がｎｕｌｌではないか否かを判断する（ステップＳ２１０８）。ステップＳ２１０８において、θ１，θ２がｎｕｌｌではないと判断された場合（ステップＳ２１０８：Ｙｅｓ）、方位変化量（Δθ）を算出し（ステップＳ２１０９）、ステップＳ１３０３の処理に移行する。一方、ステップＳ２１０８において、θ１，θ２がｎｕｌｌであると判断された場合（ステップＳ２１０８：Ｎｏ）、方位変化量（Δθ）をｎｕｌｌと判断し（ステップＳ２１１０）、ステップＳ１３０３の処理に移行する。
【０１４２】
また、実施例１，２で用いる地磁気センサ１１１、ジャイロセンサ１１２は、１軸、２軸、３軸と種類を問わず、いずれのセンサであっても、上述した手順を経て、センサ補正を行うことができる。
【０１４３】
（実施例１，２の併用）
本実施の形態にかかるセンサ補正装置１００は、上述した実施例１，２を併用した処理を実現してもよい。具体的には、たとえば、磁気外乱がある／ない場所により実施例１と２を組み合わせたセンサ補正装置１００を適用する手法が挙げられる。磁気外乱が発生する環境とは、たとえば、線路の近く、大型トラックの多い道路などを走行している際に地磁気センサ１１１の出力が狂う。磁気外乱がある環境では直進／曲がりに関わらず地磁気センサ１１１の出力には信頼性が低下する。
【０１４４】
そのため、地磁気センサ１１１を使ってジャイロセンサ１１２を補正することができない。このような場合、ジャイロセンサ１１２を使って地磁気センサ１１１のみを補正する。具体的には、直進判定は実施例２の処理を利用し、直進の場合のセンサ補正処理は実施例２を、非直進の場合のセンサ補正処理は実施例１をそれぞれ利用する。
【０１４５】
また、他の例としては、ジャイロセンサ１１２の補正が長い時間できなかった場合に実施例１と２を組み合わせてもよい。たとえば、実施例１によってセンサ補正を行っていたが、山道のように直進動作が検出できない状態になると、ジャイロセンサ１１２の補正ができなくなってしまう。同様に実施例２によってセンサ補正を行っていたが、直線に長く延びる道路を走行している場合も同様の問題が発生する。
【０１４６】
上述のような場合、ジャイロセンサ１１２の検出値の信頼性が低下してしまう。すなわち、ジャイロセンサ１１２を使って地磁気センサ１１１の検出値を補正することができない。そこで、地磁気センサ１１１の検出値を使ってジャイロセンサの検出値のみを補正するように設定する。具体的には、直進判定は実施例１を利用し、さらに、直進中は実施例１を、非直進中は実施例２をそれぞれ利用する。
【０１４７】
以上説明したように、本実施の形態にかかるセンサ補正装置１００は、移動体１３０の走行環境に応じて、その機能を併用してもよい。なお、実施例１，２のセンサ補正処理は、ソフトウェアとして提供されるため、実施例１，２を併用する場合であっても、ハードウェアの構成を変更する必要がなく、導入が容易という利点をもつ。
【０１４８】
（複数の装置を利用したセンサ補正装置の構成例）
つぎに、複数の装置を利用したセンサ補正装置の構成例について説明する。実施例１，２は、車載ナビゲーション装置に地磁気センサ１１１・ジャイロセンサ１１２のいずれか一方のみしか搭載されていない場合であっても、携帯電話などに搭載されたセンサを追加することによって、センサ補正処理を実現することができる。
【０１４９】
図２２，２３は、複数の装置を利用したセンサ補正装置の構成例を示すブロック図である。図２２は、車載ナビゲーション装置２２００にジャイロセンサ１１２のみが搭載されている場合に、地磁気センサ１１１を備えた携帯電話２２１０を車載ナビゲーション装置２２００に通信可能に接続することによって、本実施の形態にかかるセンサ補正処理を実現する。同様に、図２３は、車載ナビゲーション装置２３００に地磁気センサ１１１のみが搭載されている場合に、ジャイロセンサ１１２を備えた携帯電話２３１０を車載ナビゲーション装置２３００にすることによって、本実施の形態にかかるセンサ補正処理を実現する。
【０１５０】
複数の装置によってセンサ補正処理を実現する場合には、検出値や、補正後の検出値を装置間で送受するための通信機能が必要となる。図２２の場合には、車載ナビゲーション装置２２００のデータ受信部２２０１、データ送信部２２０２と、携帯電話２２１０のデータ送信部２２１１、データ受信部２２１２によって装置間の通信を行う。その後、車載ナビゲーション装置２２００のナビゲーションアプリ２２０３によって移動体１３０の測位を行い表示部２２０４に表示させる。
【０１５１】
図２３の場合には、車載ナビゲーション装置２３００のデータ送信部２３０１、データ受信部２３０２と、携帯電話２３１０のデータ受信部２３１１、データ送信部２３１２によって装置間の通信を行う。その後、携帯電話２３１０のナビゲーションアプリ２３１３によって移動体１３０の測位を行い、車載ナビゲーション装置２３００の表示部２３０３に表示させる。なお、図２２，２３の構成は一例であり、他の構成や３つ以上の装置でセンサ補正処理を実現してもよい。
【０１５２】
以上説明したように、センサ補正プログラム、センサ補正装置およびセンサ補正方法によれば、移動体１３０の走行状態に応じて、正確な値が得られるセンサを判別し、このセンサの検出値を利用して、もう一方のセンサの検出値を補正する。したがって、外部からの情報提供を受けることなく、自律的にセンサの検出値のオフセット誤差をキャンセルするため、高精度な方位検出を支援することができる。
【０１５３】
また、上記技術は、さらに、ジャイロセンサ１１２に代わって、地磁気センサ１１１から取得した検出値の変化量が所定時間以上しきい値未満であれば、移動体が直進であると判別する構成にすることによって、利用環境に応じて、最適な直進判別処理を利用することができる。
【０１５４】
また、上記技術は、さらに、ジャイロセンサ１１２から取得した検出値が微少時間の間、しきい値未満であれば、移動体が直進であると判別する機能を備えることによって、地磁気センサ１１１のオフセット誤差を高精度にキャンセルすることができる。
【０１５５】
また、上記技術は、さらに、選択されたセンサの検出値の補正値を、選択されなかった他のセンサの検出値の変化量を用いて算出する機能を備えることによって、２つのセンサのオフセット誤差の補正し、センサ同士で検出値の精度を向上させることができる。
【０１５６】
また、上記技術は、さらに、移動体１３０が直進中と判別された場合、ジャイロセンサ１１２の検出値を補正対象として選択し、地磁気センサ１１１の所定時間における検出値の変化量をゼロとしてジャイロセンサ１１２のオフセット誤差を算出する構成であってもよい。上述のような構成の場合、センサ補正装置１００では、ジャイロセンサ１１２の検出値から、地磁気センサ１１１の検出値を利用して算出されたオフセット誤差を除くことによって、誤差のない高精度な検出値を得ることができる。したがって、外部からの方位情報を利用せずに、自動的に誤差を補正して高精度な方位検出を維持することができる。
【０１５７】
また、上記技術は、さらに、移動体１３０が直進中ではないと判別された場合に、地磁気センサ１１１の検出値を補正対象として選択し、ジャイロセンサ１１２の検出値の微少時間における変化量と地磁気センサ１１１の検出値の微少時間における変化量との差分を用いて、地磁気センサ１１１のオフセット誤差を算出する構成であってもよい。上述のような構成の場合、センサ補正装置１００では、地磁気センサ１１１の検出値から、ジャイロセンサ１１２の検出値を利用して算出されたオフセット誤差を除くことによって、誤差のない高精度な検出値を得ることができる。したがって、外部からの方位情報を利用せずに、自動的に誤差を補正して高精度な方位検出を維持することができる。
【０１５８】
上記技術は、さらに、あらたに追加されたセンサから検出値を取得する機能を備えてもよい。上述のような構成にすることによって、移動体１３０に２つのセンサのうちの一方のみが搭載されている場合や、片方が故障している場合であっても、追加したセンサの検出値を利用して、センサ補正処理を実現することができる。したがって、移動体１３０に搭載された機器の構成に関わらず、幅広く本実施の形態にかかるセンサ補正処理を利用することができる。
【０１５９】
なお、本実施の形態で説明したセンサ補正方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本センサ補正プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本センサ補正プログラムは、インターネットなどのネットワークを介して配布してもよい。
【０１６０】
また、本実施の形態で説明したセンサ補正装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述したセンサ補正装置１００の機能（直進判別部４０１〜取得部４０５）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、センサ補正装置１００を製造することができる。
【０１６１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６２】
（付記１）移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するコンピュータを、
前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する直進判別手段、
前記直進判別手段によって前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する選択手段、
前記選択手段によって選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する補正手段、
として機能させることを特徴とするセンサ補正プログラム。
【０１６３】
（付記２）前記直進判別手段は、前記地磁気センサから取得した検出値の変化量が所定時間以上しきい値未満であれば、前記移動体が直進であると判別することを特徴とする付記１に記載のセンサ補正プログラム。
【０１６４】
（付記３）前記直進判別手段は、前記ジャイロセンサから取得した検出値が微少時間の間、しきい値未満であれば、前記移動体が直進であると判別することを特徴とする付記１に記載のセンサ補正プログラム。
【０１６５】
（付記４）前記コンピュータを、さらに、
前記選択手段によって補正対象に選択された前記他のセンサの検出値の補正値を、前記選択手段によって選択されなかった前記一のセンサの検出値の前記所定時間の変化量を用いて算出する算出手段、として機能させ、
前記補正手段は、前記算出手段によって算出された補正値を用いて、前記他のセンサの検出値の誤差を補正することを特徴とする付記１〜３のいずれか一つに記載のセンサ補正プログラム。
【０１６６】
（付記５）前記選択手段は、前記直進判別手段によって前記移動体が直進中と判別された場合、前記ジャイロセンサの検出値を補正対象として選択し、
前記算出手段は、前記選択手段によって前記ジャイロセンサの検出値が補正対象と選択された場合、前記地磁気センサの前記所定時間における検出値の変化量をゼロとして前記ジャイロセンサのオフセット誤差を算出し、
前記補正手段は、前記算出手段によって算出されたオフセット誤差を補正値として、前記ジャイロセンサの検出値の誤差を補正することを特徴とする付記４に記載のセンサ補正プログラム。
【０１６７】
（付記６）前記選択手段は、前記直進判別手段によって前記移動体が直進中ではないと判別された場合、前記地磁気センサの検出値を補正対象として選択し、
前記算出手段は、前記選択手段によって前記地磁気センサの検出値が補正対象と選択された場合、前記ジャイロセンサの検出値の微少時間における変化量と前記地磁気センサの検出値の前記微少時間における変化量との差分を用いて、前記地磁気センサのオフセット誤差を算出し、
前記補正手段は、前記算出手段によって算出されたオフセット誤差を補正値として、前記地磁気センサの検出値の誤差を補正することを特徴とする付記４または５に記載のセンサ補正プログラム。
【０１６８】
（付記７）前記コンピュータを、さらに、
前記地磁気センサおよびジャイロセンサのうち、一方のセンサの検出値のみを取得した場合、前記コンピュータに接続された携帯機器に備えられた前記一方のセンサ以外の他方のセンサの検出値を取得する取得手段として機能させ、
前記直進判別手段は、前記取得手段によって取得された他方のセンサの検出値と、前記一方のセンサの検出値とのいずれかの検出値の変化量がしきい値以下に収まるかに応じて前記移動体が直進中か否かを判別することを特徴とする付記１〜６のいずれか一つに記載のセンサ補正プログラム。
【０１６９】
（付記８）移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するセンサ補正装置であって、
前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する直進判別手段と、
前記直進判別手段によって前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する選択手段と、
前記選択手段によって選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する補正手段と、
を備えることを特徴とするセンサ補正装置。
【０１７０】
（付記９）直進判別手段と、選択手段と、補正手段とを備え、移動体に搭載された地磁気センサおよびジャイロセンサの検出値を取得して前記検出値に含まれるオフセット誤差を補正するコンピュータが、
前記直進判別手段において、前記地磁気センサもしくは前記ジャイロセンサの検出値の変化量がしきい値未満に収まるかに応じて前記移動体が直進中か否かを判別する直進判別工程と、
前記選択手段において、前記直進判別工程によって前記移動体が直進中か否かに応じて、前記地磁気センサおよび前記ジャイロセンサのうち正確な検出値が得られる一のセンサを特定し、他のセンサの検出値を補正対象に選択する選択工程と、
前記補正手段において、前記選択工程によって選択された他のセンサの検出値を、前記一のセンサの検出値を用いて補正する補正工程と、
を実行することを特徴とするセンサ補正方法。
【０１７１】
（付記１０）前記選択手段は、前記直進判別手段によって前記移動体が直進中と判別された場合、前記地磁気センサの検出値を補正対象として選択し、
前記算出手段は、前記選択手段によって前記地磁気センサの検出値が補正対象と選択された場合、前記ジャイロセンサの前記微少時間における検出値の変化量をゼロとして前記地磁気センサのオフセット誤差を算出し、
前記補正手段は、前記算出手段によって算出されたオフセット誤差を補正値として、前記地磁気センサの検出値の誤差を補正することを特徴とする付記４に記載のセンサ補正プログラム。
【０１７２】
(付記１１)前記選択手段は、前記直進判別手段によって前記移動体が直進中ではないと判別された場合、前記ジャイロセンサの検出値を補正対象として選択し、
前記算出手段は、前記選択手段によって前記ジャイロセンサの検出値が補正対象と選択された場合、前記地磁気センサの検出値の微少時間における変化量と前記ジャイロセンサの検出値の前記微少時間における変化量との差分を用いて、前記ジャイロセンサのオフセット誤差を算出し、
前記補正手段は、前記算出手段によって算出されたオフセット誤差を補正値として、前記ジャイロセンサの検出値の誤差を補正することを特徴とする付記４に記載のセンサ補正プログラム。
【符号の説明】
【０１７３】
１００  センサ補正装置
１０１  選択部
１０２  地磁気センサ補正値算出部
１０３  ジャイロセンサ補正値算出部
１０４  地磁気センサ補正部
１０５  ジャイロセンサ補正部
１１０  センサ装置
１１１  地磁気センサ
１１２  ジャイロセンサ
１１３  追加センサ
１２０  方位検出装置
１３０  移動体（車両）
４０１  直進判別部
４０２  選択部
４０３  算出部
４０４  補正部
４０５  取得部
【図１】
0005445067.tif 000010
【図２】
0005445067.tif 000011
【図３】
0005445067.tif 000012
【図４】
0005445067.tif 000013
【図５】
0005445067.tif 000014
【図６−１】
0005445067.tif 000015
【図６−２】
0005445067.tif 000016
【図６−３】
0005445067.tif 000017
【図７】
0005445067.tif 000018
【図８】
0005445067.tif 000019
【図９】
0005445067.tif 000020
【図１０】
0005445067.tif 000021
【図１１】
0005445067.tif 000022
【図１２】
0005445067.tif 000023
【図１３】
0005445067.tif 000024
【図１４】
0005445067.tif 000025
【図１５】
0005445067.tif 000026
【図１６】
0005445067.tif 000027
【図１７】
0005445067.tif 000028
【図１８】
0005445067.tif 000029
【図１９】
0005445067.tif 000030
【図２０】
0005445067.tif 000031
【図２１−１】
0005445067.tif 000032
【図２１−２】
0005445067.tif 000033
【図２２】
0005445067.tif 000034
【図２３】
0005445067.tif 000035
【図２４】
0005445067.tif 000036
【図２５】
0005445067.tif 000037