(57)【特許請求の範囲】
【請求項１】
ユーザーの移動状況を判定する判定部と、
所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定する設定部と、
前記パラメーターの値を用いて前記誤差推定処理を実行する誤差推定処理部と、
前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行う慣性航法演算部と、を備え、
前記慣性航法演算は、前記ユーザーの加速度の計測値を用いた航法演算であり、
前記誤差推定処理は、前記パラメーターを前記計測値の誤差に基づくパラメーターとするカルマンフィルター処理であり、
前記パラメーターは、所定の空間座標系を規定する各軸に係るパラメーターが含まれ、
前記設定する処理は、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づき前記パラメーターの値を設定することを含む、慣性航法演算装置。
【請求項２】
前記判定部は、少なくとも歩行状況及び静止状況の何れであるかを判定することを含み、
前記設定部は、重力方向の誤差の分散が、前記移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づき前記パラメーターの値を設定することを含む、
請求項１に記載の慣性航法演算装置。
【請求項３】
ユーザーの移動状況を判定する判定部と、
所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定する設定部と、
前記パラメーターの値を用いて前記誤差推定処理を実行する誤差推定処理部と、
前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行う慣性航法演算部と、を備え、
前記慣性航法演算は、前記ユーザーの加速度の計測値を用いた航法演算であり、
前記誤差推定処理は、前記パラメーターを前記計測値の誤差に基づくパラメーターとするカルマンフィルター処理であり、
前記判定部は、歩行状況であるかを判定することを含み、
前記移動状況の判定結果が歩行状況である場合に、前記ユーザーの上下方向の加速度の計測値に基づいて前記ユーザーの歩幅及び一歩所要時間を検出することと、
前記歩幅及び前記一歩所要時間と、前記ユーザーの移動方向とに基づいて、歩行時における前記ユーザーの速度ベクトルを算出することと、
を含み、
前記誤差推定処理は、前記移動状況の判定結果が歩行状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、前記速度ベクトルを観測値とするカルマンフィルター処理である、慣性航法演算装置。
【請求項４】
前記パラメーターは、所定の空間座標系を規定する各軸に係るパラメーターが含まれ、
前記設定する処理は、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づき前記パラメーターの値を設定することを含む、請求項３に記載の慣性航法演算装置。
【請求項５】
前記判定部は、少なくとも歩行状況及び静止状況の何れであるかを判定することを含み、
前記設定部は、重力方向の誤差の分散が、前記移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づき前記パラメーターの値を設定することを含む、
請求項４に記載の慣性航法演算装置。
【請求項６】
ユーザーの移動状況を判定する判定部と、
所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定する設定部と、
前記パラメーターの値を用いて前記誤差推定処理を実行する誤差推定処理部と、
前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行う慣性航法演算部と、を備え、
前記慣性航法演算は、前記ユーザーの加速度の計測値を用いた航法演算であり、
前記誤差推定処理は、前記パラメーターを前記計測値の誤差に基づくパラメーターとするカルマンフィルター処理であり、
前記判定部は、前記ユーザーが移動体へ乗った状況であるかを判定することを含み、
前記誤差推定処理は、前記移動状況の判定結果が移動体へ乗った状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、所定の制約速度ベクトルを観測値とするカルマンフィルター処理である、慣性航法演算装置。
【請求項７】
前記パラメーターは、所定の空間座標系を規定する各軸に係るパラメーターが含まれ、  前記設定する処理は、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づき前記パラメーターの値を設定することを含む、
請求項６に記載の慣性航法演算装置。
【請求項８】
前記判定部は、少なくとも歩行状況及び静止状況の何れであるかを判定することを含み、
前記設定部は、重力方向の誤差の分散が、前記移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づき前記パラメーターの値を設定することを含む、
請求項７に記載の慣性航法演算装置。
【請求項９】
前記判定部は、歩行状況であるかを判定することを含み、
前記移動状況の判定結果が歩行状況である場合に、前記ユーザーの上下方向の加速度の
計測値に基づいて前記ユーザーの歩幅及び一歩所要時間を検出することと、
前記歩幅及び前記一歩所要時間と、前記ユーザーの移動方向とに基づいて、歩行時にお
ける前記ユーザーの速度ベクトルを算出することと、
を含み、
前記誤差推定処理は、前記移動状況の判定結果が歩行状況である場合に、前記パラメー
ターを前記計測値の誤差に基づくパラメーターとし、前記速度ベクトルを観測値とするカ
ルマンフィルター処理である、
請求項６〜８の何れか一項に記載の慣性航法演算装置。
【請求項１０】
前記演算値は、所定の慣性航法演算に係る演算結果及び演算過程の値のいずれかである、請求項１〜９の何れか一項に記載の慣性航法演算装置。
【請求項１１】
請求項１〜１０の何れか一項に記載の慣性航法演算装置を搭載した電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、慣性航法演算を行う方法等に関する。
【背景技術】
【０００２】
いわゆるシームレス測位やモーションセンシング、姿勢制御など様々な分野において、センサーの活用が注目されている。センサーとしては、加速度センサーやジャイロセンサー、圧力センサー、地磁気センサーなどが広く知られている。センサーの計測結果を利用して慣性航法演算を行って移動体（例えば自転車や自動車、電車、船、飛行機など）の位置算出を行う技術も考案されている。
【０００３】
その中でも、慣性航法等を利用して人間自身の位置を算出する技術が、特許文献１や特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７２４５２５４号明細書
【特許文献２】米国特許公開第２０１０／０１９８５１１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
歩行用の位置算出の技術では、位置算出の精度が、もっぱら位置算出装置に搭載される慣性センサーの計測誤差に依存する。そのため、慣性センサーの計測誤差を補正することが必要となる。ユーザーは、常に歩行で移動するとは限らず、ユーザーの移動状況は常に変化する。例えば、ユーザーの身体の一部に位置算出装置を装着して日常的にユーザーの位置を慣性航法演算で求める状況を想定した場合、ユーザーは、歩行の他にも、自転車に乗って移動したり、自動車に乗って移動したり、エレベーターに乗って移動したりと、ユーザーの移動状況は随時変化する。
【０００６】
慣性センサーの計測誤差は、このようなユーザーの移動状況に応じて変化すると考えられる。つまり、歩行時であれば、ユーザーの足の運びや身体の上下動に起因して、慣性センサーの計測誤差は大きくなる傾向がある。しかし、ユーザーが静止している状況や身体的運動が不要の何らかの移動体に乗っている状況であれば、慣性センサーの計測誤差は小さくなる傾向がある。
【０００７】
本発明は上述した課題に鑑みて為されたものであり、ユーザーの移動状況を考慮した新たな慣性航法演算の手法を提案することを目的とする。
【課題を解決するための手段】
【０００８】
以上の課題を解決するための第１の形態は、ユーザーの移動状況を判定することと、所定の慣性航法演算に係る演算結果及び演算過程の値の何れか（以下、「演算値」という。）に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定することと、前記パラメーターの値を用いて前記誤差推定処理を実行することと、前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行うことと、を含む慣性航法演算方法である。
【０００９】
また、他の形態として、ユーザーの移動状況を判定する判定部と、所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定する設定部と、前記パラメーターの値を用いて前記誤差推定処理を実行する誤差推定処理部と、前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行う慣性航法演算部と、を備えた慣性航法演算装置を構成することとしてもよい。
【００１０】
この第１の形態等によれば、ユーザーの移動状況を判定し、所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、移動状況の判定結果に基づいて設定する。これにより、ユーザーの移動状況に基づいて、誤差推定処理に係るパラメーターの値を適正化し、演算値に含まれる誤差を正しく推定できる。これによって、より正確な位置を算出できる新たな慣性航法演算の手法を実現できる。
【００１１】
また、第２の形態として、第１の形態の慣性航法演算方法において、前記慣性航法演算は、前記ユーザーの加速度の計測値を用いた航法演算であり、前記誤差推定処理は、前記パラメーターを前記計測値の誤差に基づくパラメーターとするカルマンフィルター処理である、慣性航法演算方法を構成することとしてもよい。
【００１２】
この第２の形態によれば、慣性航法演算は、ユーザーの加速度の計測値を用いた航法演算であるが、この加速度の計測値には誤差が含まれ得る。そこで、移動状況の判定結果に基づいて設定するパラメーターを、加速度の計測値の誤差に基づくパラメーターとする。そして、この計測値の誤差に基づくパラメーターとするカルマンフィルター処理を実行することで、演算値に含まれる誤差を正しく見積もることが可能となる。
【００１３】
また、第３の形態として、第２の形態の慣性航法演算方法において、前記パラメーターを、所定の空間座標系を規定する各軸に係るパラメーターを含むこととし、前記設定することは、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づき前記パラメーターの値を設定することを含む、慣性航法演算方法を構成することとしてもよい。
【００１４】
例えば、ユーザーが歩行する際には身体が上下動するため、上下方向の加速度の計測値に含まれる誤差は大きくなり、その分散も大きくなる傾向がある。そこで、第３の形態のように、所定の空間座標系において、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づきパラメーターの値を設定する。これにより、演算値に含まれる誤差をより正しく見積もることが可能となる。
【００１５】
また、第４の形態として、第３の形態の慣性航法演算方法において、前記移動状況を判定することは、少なくとも歩行状況及び静止状況の何れであるかを判定することを含み、前記設定することは、重力方向の誤差の分散が、前記移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づき前記パラメーターの値を設定することを含む、慣性航法演算方法を構成することとしてもよい。
【００１６】
ユーザーが歩行している状況では、静止している状況と比べて重力方向の誤差が大きくなり、その分散も大きくなる傾向がある。そこで、第４の形態のように、少なくとも歩行状況及び静止状況の何れであるかを判定する。そして、重力方向の誤差の分散が、移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づきパラメーターの値を設定することで、演算値に含まれる誤差をより正しく見積もることが可能となる。
【００１７】
また、第５の形態として、第２〜第４の何れかの形態の慣性航法演算方法において、前記移動状況を判定することは、少なくとも歩行状況であるかを判定することを含み、前記移動状況の判定結果が歩行状況である場合に、前記ユーザーの上下方向の加速度の計測値に基づいて前記ユーザーの歩幅及び一歩所要時間を検出することと、前記歩幅及び一歩所要時間と、前記ユーザーの移動方向とに基づいて、歩行時における前記ユーザーの速度ベクトルを算出することと、を含み、前記誤差推定処理は、前記移動状況の判定結果が歩行状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、前記速度ベクトルを観測値とするカルマンフィルター処理である、慣性航法演算方法を構成することとしてもよい。
【００１８】
この第５の形態によれば、少なくとも歩行状況であるかを判定し、歩行状況である場合に、ユーザーの上下方向の加速度の計測値に基づいてユーザーの歩幅及び一歩所要時間を検出する。ユーザーの上下方向の加速度と歩幅との間には相関がある。また、上下方向の加速度の時系列変化のピーク値から、一歩所要時間を割り出すことができる。歩幅及び一歩所要時間と、ユーザーの移動方向とを用いれば、歩行時におけるユーザーの速度ベクトルを算出することができる。そして、移動状況の判定結果が歩行状況である場合に、パラメーターを加速度の計測値の誤差に基づくパラメーターとし、算出した速度ベクトルを観測値とするカルマンフィルター処理を行うことで、演算値に含まれる誤差を適切に推定することができる。
【００１９】
また、第６の形態として、第２〜第５の何れかの形態の慣性航法演算方法において、前記移動状況を判定することは、少なくとも前記ユーザーが移動体へ乗った状況であるかを判定することを含み、前記誤差推定処理は、前記移動状況の判定結果が移動体へ乗った状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、所定の制約速度ベクトルを観測値とするカルマンフィルター処理である、慣性航法演算方法を構成することとしてもよい。
【００２０】
この第６の形態によれば、少なくともユーザーが移動体へ乗った状況であるかを判定する。そして、移動状況の判定結果が移動体へ乗った状況である場合に、パラメーターを計測値の誤差に基づくパラメーターとし、所定の制約速度ベクトルを観測値とするカルマンフィルター処理を行う。ユーザーが移動体へ乗った状況であれば、ユーザーの移動方向は移動体の移動方向と一致する。そのため、移動体の移動方向に基づいて制約速度ベクトルを設定することで、演算値に含まれる誤差を適切に推定することができる。
【図面の簡単な説明】
【００２１】
【図１】全体システムのシステム構成の説明図。
【図２】ＩＮＳのシステム構成の説明図。
【図３】ＩＮＳ演算システムのシステム構成図。
【図４】慣性航法演算装置の機能構成の一例を示すブロック図。
【図５】入力誤差共分散行列設定用データのデータ構成の一例を示す図。
【図６】歩幅モデルデータのデータ構成の一例を示す図。
【図７】メイン処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２３】
１．原理
１−１．全体システム
図１は、本実施形態における全体システム１の概略構成を示す図である。全体システム１は、ＩＮＳ（Inertial Navigation System）１０と、移動状況判定部２０と、観測情報生成部３０と、パラメーター値設定部４０と、誤差推定処理部５０とを備えて構成される。但し、これらの機能部は一例として記載したものであり、必ずしもこれら全ての機能部を必須構成要素としなければならないわけではない。
【００２４】
以下参照する図面では、センサーのブロックを二重の実線で示し、センサーの計測結果を利用して演算処理を行う処理ブロックを１本の実線で示す。処理ブロックは、例えば電子機器に搭載されるプロセッサー（ホストプロセッサー）が処理主体となる。なお、各処理ブロックの処理の主体は、本発明を適用するシステムに応じて適宜設定可能である。
【００２５】
本実施形態では、２種類の座標系を定義する。第１の座標系は、センサーに対応付けられた三次元直交座標系でなるローカル座標系（センサー座標系）である。本実施形態では、ローカル座標系の３軸をｘ軸、ｙ軸及びｚ軸と表記する。
【００２６】
第２の座標系は、慣性航法演算を行う際の基準とする空間座標系である絶対座標系である。絶対座標系は、例えば北東下座標系として知られるＮＥＤ（North East Down）座標系であり、重力方向の軸を含む座標系である。本実施形態では、絶対座標系の３軸をＸ軸、Ｙ軸及びＺ軸と表記する。
【００２７】
加速度や速度には、大きさの他に方向がある。本明細書では、原則として、加速度や速度と言ったときは加速度や速度の大きさ（スカラー量）を表すものとし、加速度ベクトルや速度ベクトルと言ったときは大きさ（スカラー量）に加えて方向を表すものとする。また、各座標系において定義される諸量を明確にするため、各諸量を表す文言の先頭に座標系の種類を付して説明する。例えば、ローカル座標系で表した加速度ベクトルのことを「ローカル座標加速度ベクトル」と称し、絶対座標系で表した加速度ベクトルのことを「絶対座標加速度ベクトル」と称する。他の諸量についても同様である。
【００２８】
ＩＮＳ１０は、慣性航法システムとして知られ、自立的な測位が可能に構成されたシステムである。ＩＮＳ１０は、加速度センサー５Ａやジャイロセンサー５Ｂといった慣性センサーや、これらの慣性センサーをパッケージ化したＩＭＵ（Inertial Measurement Unit）によって計測された計測結果に基づいて、位置や速度（速度ベクトル）、姿勢角等を演算して出力する。ＩＭＵは、慣性計測ユニットとして知られるセンサーユニットであり、ローカル座標系で表した加速度ベクトル及び角速度を計測して出力可能に構成されている。
【００２９】
図２は、ＩＮＳ１０のシステム構成の一例を示す図である。ＩＮＳ１０は、慣性センサーとして、加速度センサー５Ａと、ジャイロセンサー５Ｂとを有する。また、処理ブロックとして、姿勢情報算出部１１と、絶対座標加速度ベクトル算出部１３と、絶対座標速度ベクトル算出部１５と、絶対座標位置算出部１７と、重力算出部１８と、補正部１９とを有する。ＩＮＳ１０は、誤差推定処理部５０によって推定された誤差を用いて演算値を補正して慣性航法演算を行う慣性航法演算部である。
【００３０】
加速度センサー５Ａは、加速度をローカル座標系で計測するセンサーである。また、ジャイロセンサー５Ｂは、角速度をローカル座標系で計測するセンサーである。これらのセンサーには、例えばＭＥＭＳ（Micro Electro Mechanical Systems）の技術を利用したＭＥＭＳセンサーが用いられる。
【００３１】
姿勢情報算出部１１は、ジャイロセンサー５Ｂによって計測された角速度と、姿勢情報記憶部１１Ａに記憶されている姿勢情報とを用いて、最新の姿勢情報を算出する。姿勢情報は、例えば、クォータニオンや方向余弦行列（ＤＣＭ（Direction Cosine Matrix））、オイラー角といった、各種の姿勢表現に基づき定義される姿勢を示す情報のことを意味する。姿勢情報算出部１１は、算出した最新の姿勢情報を姿勢情報記憶部１１Ａに記憶させる。
【００３２】
絶対座標加速度ベクトル算出部１３は、加速度センサー５Ａによって計測されたローカル座標加速度ベクトルと、姿勢情報算出部１１から入力した姿勢情報とを用いて、最新の絶対座標加速度ベクトルを算出する。具体的には、ローカル座標系における加速度ベクトルを絶対座標系に座標変換し、最新の絶対座標加速度ベクトルを算出する。座標変換は公知の技術を適用可能であるため、説明を省略する。絶対座標加速度ベクトル算出部１３は、算出した最新の絶対座標加速度ベクトルを絶対座標加速度ベクトル記憶部１３Ａに記憶させる。
【００３３】
絶対座標速度ベクトル算出部１５は、絶対座標加速度ベクトル算出部１３から入力した絶対座標加速度ベクトルと、重力算出部１８から入力した重力情報と、絶対座標速度ベクトル記憶部１５Ａに記憶された絶対座標速度ベクトルとを用いて、絶対座標速度ベクトルを算出する。この際、重力方向及びコリオリの力を重力情報に基づいて補正する。地球は楕円形をしているため、地球中心から見た緯度と地理学上の緯度とは異なる。そのため、重力方向についての補正が必要であり、地球は宇宙の慣性空間に対して回転しているため、コリオリの力の補正も必要となる。
【００３４】
絶対座標速度ベクトル算出部１５は、上記のように重力方向を加味して、絶対座標加速度ベクトルを積算して得られた相対速度ベクトルを、絶対座標速度ベクトル記憶部１５Ａに記憶された絶対座標速度ベクトルに加算することで最新の絶対座標速度ベクトルを算出する。そして、算出した最新の絶対座標速度ベクトル記憶部１５Ａに記憶させる。
【００３５】
絶対座標位置算出部１７は、絶対座標速度ベクトル算出部１５から入力した絶対座標速度ベクトルを積算して得られた相対位置ベクトルを、絶対座標位置記憶部１７Ａに記憶された絶対座標位置に加算することで絶対座標位置を算出する。そして、算出した最新の絶対位置座標を絶対座標位置記憶部１７Ａに記憶させる。
【００３６】
重力算出部１８は、絶対座標位置算出部１７から入力した絶対座標位置を用いて、重力情報を算出して、絶対座標速度ベクトル算出部１５に出力する。
【００３７】
補正部１９は、誤差推定処理部５０によって推定された誤差情報を用いて、各算出部で算出された積算値を補正する。具体的には、姿勢情報記憶部１１Ａに記憶された姿勢情報を、誤差情報に含まれる姿勢角誤差を用いて補正する。また、ジャイロセンサー５Ｂからの角速度計測値と加速度センサー５Ａからの加速度計測値を、誤差情報に含まれる角速度バイアスと加速度バイアスを用いてそれぞれ補正する。
【００３８】
また、絶対座標速度ベクトル記憶部１５Ａに記憶された絶対座標速度ベクトルを、誤差情報に含まれる速度ベクトル誤差を用いて補正し、絶対座標位置記憶部１７Ａに記憶された絶対座標位置を、誤差情報に含まれる位置誤差を用いて補正する。
【００３９】
ＩＮＳ１０からは、最終的に、姿勢情報と、絶対座標速度ベクトルと、絶対座標位置と、加速度ベクトルと、角速度との演算値が出力される。これらの演算値のうち、絶対座標位置は、所定の慣性航法演算に係る演算結果の値の一例である。また、それ以外の諸量は、所定の慣性航法演算に係る演算過程の値の一例である。
【００４０】
また、図２では図示を省略しているが、ＩＮＳ１０は、加速度センサー５Ａからの加速度計測値に含まれる誤差（以下、「加速度誤差」と称す。）と、ジャイロセンサー５Ｂからの角速度計測値に含まれる誤差（以下、「角速度誤差」と称す。）とを演算し、それらの演算値を誤差推定処理部５０に出力する。
【００４１】
移動状況判定部２０は、ユーザーの移動状況を判定する。具体的には、移動状況判定部２０は、例えばＩＮＳ１０によって演算されたＩＮＳ演算結果（姿勢情報、速度ベクトル、位置、加速度、角速度）等の情報に基づいて、ユーザーが歩行している状況（以下、「歩行状況」と称す。）であるか、静止している状況（以下、「静止状況」と称す。）であるか、ユーザーが移動体へ乗った状況（以下、「乗車状況」と称す。）であるかを判定する。移動体としては、四輪自動車や二輪自動車、電車、自転車、エレベーターといった、ユーザーが日常的に利用する移動体を想定することができる。
【００４２】
静止状況では、原理的には、加速度ベクトルや角速度、速度ベクトル等の値がゼロとなるため、この状態を検知することで、静止状況を判定できる。歩行状況では、例えば上下方向の加速度が非常に短い周期で振動する。そのため、この状態を検知することで、歩行状況を判定できる。また、乗車状況では、ユーザーが静止しているのであれば、原理的には、移動体の進行方向にのみ加速度が検出される。そのため、例えば、一定時間以上、同一の軸方向に対して、略同一の大きさの加速度が検知されたか否かを判定することで、ユーザーが移動体に乗っている状況であるか否かが判定できる。
【００４３】
図１に戻り、観測情報生成部３０は、移動状況判定部２０の判定結果に基づいて、誤差推定処理部５０が誤差推定処理を行う際に用いる観測情報を生成する。
【００４４】
具体的には、ユーザーの移動状況が「歩行状況」である場合は、ユーザーの上下方向の加速度に基づいて、歩幅及び一歩に要した時間（以下、「一歩所要時間」と称す。）を検出する。そして、歩幅と、一歩所要時間と、ユーザーの移動方向とに基づいて、ユーザーの歩行時における速度ベクトル（以下、「歩行時速度ベクトル」と称す。）を算出し、それを観測情報とする。ユーザーの移動方向は、例えば、地磁気センサー等の方位センサーを装置に搭載しておくことで計測してもよいし、衛星測位システムの一種であるＧＰＳ（Global Positioning System）を利用したＧＰＳセンサーを装置に搭載しておくことで計測してもよい。
【００４５】
ユーザーの移動状況が「静止状況」である場合は、理想的にはユーザーの速度がゼロ（速度ベクトルがゼロベクトル）となるはずである。そのため、例えば、「絶対座標系におけるユーザーの各軸の速度成分＝０」を観測情報として与えることができる。
【００４６】
ユーザーの移動状況が「乗車状況」である場合は、ユーザーが乗っている移動体の進行方向を検出して、所定の制約速度ベクトルを観測情報とする。本実施形態においては、移動体として四輪自動車を想定する。通常、四輪自動車はジャンプや横滑りすることはないため、四輪自動車に対する上下方向や左右方向の速度成分をゼロと仮定し、「移動体の縦横方向の速度成分＝０」を観測情報として与える。
【００４７】
なお、移動体として四輪自動車以外を想定することとしてもよいのは勿論である。例えば、エレベーターを考えた場合、エレベーターは上下方向以外に移動することはないため、「移動体の前後左右方向の速度成分＝０」を観測情報として与えることができる。
【００４８】
パラメーター値設定部４０は、ＩＮＳ１０が行う慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を設定する。このパラメーター値の設定方法については、詳細に後述する。
【００４９】
誤差推定処理部５０は、観測情報生成部３０によって生成された観測情報を用いて、ＩＮＳ１０によって演算された演算値に含まれる誤差を推定する所定の誤差推定処理を行う。誤差推定処理として、本実施形態では、カルマンフィルター処理を適用する場合を一例として説明する。
【００５０】
具体的には、ＩＮＳ１０により演算される姿勢情報の誤差（姿勢誤差）、絶対座標速度ベクトルの誤差（速度ベクトル誤差）、絶対座標位置の誤差（位置誤差）、加速度センサー５Ａのバイアス（加速度バイアス）及びジャイロセンサー５Ｂのバイアス（ジャイロバイアス）を成分とする状態ベクトル「ｘ」を設定する。また、ＩＮＳ１０から演算値として出力される加速度誤差及び角速度誤差を入力誤差ベクトル「ｕ」として設定する。また、観測情報生成部３０によって生成された観測情報を観測ベクトル「ｚ」として設定する。
【００５１】
上記のように状態ベクトル「ｘ」、入力誤差ベクトル「ｕ」及び観測ベクトル「ｚ」を設定し、カルマンフィルターの理論に基づく予測演算（時刻更新）及び補正演算（観測更新）を行って、状態ベクトル「ｘ」の推定値（状態推定値）を求める。状態推定値の各成分が、慣性航法演算に係る演算値に含まれる誤差となる。
【００５２】
誤差推定処理部５０によって推定された誤差情報は、ＩＮＳ１０にフィードバックされる。そして、前述したように、このフィードバックされた誤差情報に基づいて、ＩＮＳ１０の各処理ブロックで実行される積算が、誤差情報を用いて補正部１９によって補正される。つまり、誤差推定処理によって推定された誤差を用いて演算値が補正されて慣性航法演算が行われる。
【００５３】
１−２．パラメーター値の設定
本実施形態において、カルマンフィルター処理における状態方程式は、次式（１）で与えられる。
【数１】
0005906687.tif 000002
【００５４】
ここで、「ｘ」は状態ベクトルであり、「ｕ」は入力誤差ベクトルであり、「ｖ」はプロセス誤差ベクトルである。また、「Ｆ」、「Ａ」、「Ｂ」は、それぞれのベクトルを状態空間に変換するための行列である。
【００５５】
本実施形態において、入力誤差ベクトル「ｕ」は、加速度センサー５Ａによって計測された３次元の加速度（加速度計測値）及びジャイロセンサー５Ｂによって計測された３次元の角速度（角速度計測値）の合計６成分のそれぞれの誤差とする。ユーザーの歩行時には、加速度センサー５Ａやジャイロセンサー５Ｂといった慣性センサーは、歩行運動によって絶えず振動や衝撃を受ける。このため、これらの慣性センサーからの出力値は、ユーザーの真の加速度や角速度を示したものであるとは限らず、大きな誤差を含み得る。また、それらの誤差も大きくばらつく傾向がある。
【００５６】
そこで、入力誤差ベクトル「ｕ」の各成分の共分散を考える。このとき、入力誤差ベクトル「ｕ」の各成分の共分散は、角速度及び加速度の誤差の分散値を対角成分とする対角行列で表すことができる。詳細には、入力誤差の共分散を表す行列として、次式（２）に示すような入力誤差ベクトル「ｕ」の共分散行列「Ｑｕ」（以下、「入力誤差共分散行列」と称す。）を定義することができる。
【数２】
0005906687.tif 000003
【００５７】
式（２）において、「σgx」、「σgy」及び「σgz」それぞれの二乗値は、ローカル座標系のｘ軸、ｙ軸及びｚ軸周りの角速度の誤差の分散値である。また、「σax」、「σay」及び「σaz」それぞれの二乗値は、それぞれローカル座標系のｘ軸、ｙ軸及びｚ軸の加速度の誤差の分散値である。
【００５８】
また、式（１）において、「ｖ」は、角速度及び加速度に含まれるプロセス誤差を成分とするプロセス誤差ベクトルであり、システムに固有のノイズである。プロセス誤差ベクトル「ｖ」の各成分の共分散は、角速度及び加速度のバイアスの分散値を対角成分とする対角行列で表すことができる。具体的には、次式（３）に示すようなプロセス誤差ベクトル「ｖ」の共分散行列「Ｑｖ」を定義することができる。
【数３】
0005906687.tif 000004
【００５９】
式（３）において、「σgbx」、「σgby」及び「σgbz」それぞれの二乗値は、ローカル座標系のｘ軸、ｙ軸及びｚ軸周りの角速度のバイアスの分散値である。また、「σabx」、「σaby」及び「σabz」それぞれの二乗値は、ローカル座標系のｘ軸、ｙ軸及びｚ軸の加速度のバイアスの分散値である。
【００６０】
このとき、式（１）の状態方程式を離散時間系の状態方程式として書き直すと、次式（４）のようになる。
【数４】
0005906687.tif 000005
【００６１】
但し、下付きの添え字の「ｋ」は、ｋ番目の演算ステップであることを示す。また、右辺第１項の「φk」は、ステップ「ｋ」からステップ「ｋ＋１」への状態ベクトル「ｘ」の遷移を表す状態遷移行列である。右辺第２項の「ｗｕ」は離散化後の入力誤差を示し、右辺第３項の「ｗｖ」は離散化後のプロセス誤差を示す。
【００６２】
このとき、状態ベクトル「ｘ」の誤差共分散「Ｐ」の更新式は、次式（５）のように書き表すことができる。
【数５】
0005906687.tif 000006
【００６３】
但し、「ＱＵk」は入力誤差「ｗｕ」の共分散行列であり、「ＱＶk」はプロセス誤差「ｗｖ」の共分散行列である。本実施形態において特徴的であるのは、式（５）において、誤差を表すパラメーター（誤差パラメーター）として、プロセス誤差「ｗｖ」の共分散行列「ＱＶk」の他に、入力誤差「ｗｕ」の共分散行列「ＱＵk」を加えた点にある。
【００６４】
そして、本実施形態では、ユーザーの移動状況の判定結果に基づいて、異なる入力誤差共分散行列「Ｑｕ」を設定することによって、「ＱＵk」を調整することができる。ここで、入力誤差共分散行列「Ｑｕ」は、パラメーター値設定部４０が移動状況判定部２０の判定結果に基づいて設定するパラメーターであり、ユーザーの加速度及び角速度の計測値の誤差に基づくパラメーターの一例である。なお、プロセス誤差「ｗｖ」の共分散行列「ＱＶk」については、例えば固定値を設定することができる。
【００６５】
具体的に説明する。ユーザーの移動状況に応じて、大小関係が異なる分散値（パラメーター値）を設定する。歩行状況では、ユーザーが静止している状況と比べて、加速度センサーにより計測される加速度に誤差が混入し易く、誤差の分散（ばらつき）も大きくなる傾向がある。歩行時には、ユーザーが腕や足を前後に動かし、身体を上下動させながら進行するため、振動や衝撃による影響を受け易いためである。そのため、移動状況の判定結果が歩行状況である場合は、各軸の誤差の分散値を静止状況の場合と比べて大きく設定する。
【００６６】
また、乗車状況については、静止状況と比べて相対的に大きな分散値を設定する。乗車状況では、たとえユーザーが静止していたとしても、移動体の振動や衝撃に伴い、ユーザーの身体も振動や衝撃による影響を受ける。その結果、静止状況と比べて慣性センサーの計測結果に誤差が混入し易く、誤差の分散も大きくなる傾向があるためである。
【００６７】
また、各移動状況について、加速度に対する分散値を、角速度に対する分散値と比べて相対的に大きく設定することとしてもよい。これは、角速度と比べて加速度の方が誤差の影響を受け易いためである。つまり、歩行時や静止時には、ユーザーの姿勢はそれほど大きくは変化しないため、ジャイロセンサーにより計測される角速度に大きな誤差が混入するとは考えにくいためである。
【００６８】
なお、加速度及び角速度の各成分について、ｘ軸〜ｚ軸に係る分散値として全て同じ値を設定することとしてもよいが、座標軸毎に異なる値を設定することとしてもよい。例えば、移動状況に関わらず、重力方向の誤差の分散値を他方向の誤差の分散値より大きく設定することとしてもよい。これは、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づきパラメーターの値を設定することに相当する。
【００６９】
また、歩行時には、特にユーザーの体の上下動に起因して、重力方向に誤差が重畳し易い。そこで、重力方向の誤差の分散値を、移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きく設定することとしてもよい。これは、重力方向の誤差の分散が、移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づきパラメーターの値を設定することに相当する。
【００７０】
これらの場合は、例えば、ローカル座標系の各検出軸のうち、重力方向の軸に最も近い軸を感度軸として検出する。そして、検出した感度軸の誤差の分散値を、他の検出軸の誤差の分散値よりも大きく設定する。つまり、慣性演算装置（慣性センサー）がユーザーに装着された状態において、ローカル座標系と絶対座標系との相対関係を判定し、その相対関係に基づいて、特定方向の検出軸に対する誤差の分散値を大きく設定する。
【００７１】
入力誤差共分散行列「Ｑｕ」はローカル座標系を基準として定められる行列であるが、上記のようにローカル座標系と絶対座標系との相対関係を判定することで、入力誤差共分散行列「Ｑｕ」は、空間座標系を規定する各軸に係るパラメーターを含む行列と等価となる。重力方向に対応する感度軸を判定した上で、その感度軸に対する加速度の誤差の分散値を、他の検出軸に対する加速度の誤差の分散値よりも大きく設定する。
【００７２】
上記のように移動状況の判定結果に基づいて入力誤差共分散行列「Ｑｕ」を設定したならば、式（４）及び（５）に従って、状態ベクトル「ｘ」及び誤差共分散「Ｐ」の予測演算を行う。そして、観測情報生成部３０によって観測情報が生成・出力されるタイミングで、従来公知のカルマンフィルターの補正演算の演算式（観測更新の演算式）に従って、状態ベクトル「ｘ」及び誤差共分散「Ｐ」の補正演算を行う。
【００７３】
２．実施例
次に、原理で説明した慣性航法演算装置を適用した電子機器の実施例について説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【００７４】
図３は、本実施例におけるＩＮＳ演算システムの概略構成の一例を示す図である。ＩＮＳ演算システムは、人間に搭載される慣性航法演算装置１０００を備えて構成される。慣性航法演算装置１０００は、例えばユーザーの右腰に装着して利用される。ユーザーがウオーキングやランニング等の運動を行う際に、右腰に装置を装着した状態で運動を行う。位置等の情報を履歴的に記憶しておくことで、ユーザーは後から移動経路を確認したり、慣性航法演算装置１０００をパソコン等に接続することで、運動記録等の各種の情報の編集を行うことができる。
【００７５】
また、本実施例では、ユーザーがウオーキングやランニング等の運動を行う場合に限らず、日常的に慣性航法演算装置を装着して、位置等の演算を行う場合も想定している。つまり、移動状況として歩行状況ばかりでなく、各種の移動体（自動車や自転車、エレベーター等）に乗った状態で移動する状況を想定する。
【００７６】
慣性航法演算装置１０００は、加速度センサー５Ａ及びジャイロセンサー５Ｂを有するセンサーユニットとしてのＩＭＵ５００を具備し、ＩＭＵ５００に対応付けられたローカル座標系における加速度及び角速度を計測する。また、慣性航法演算装置１０００は、参照値生成装置を有し、ユーザーの位置、速度ベクトル及び姿勢角といった各諸量の検出値を補正する際の参照値を生成する。そして、生成した参照値を用いて、原理で説明したようにＩＮＳ演算結果を補正する。
【００７７】
２−１．機能構成
図４は、慣性航法演算装置１０００の機能構成の一例を示すブロック図である。慣性航法演算装置１０００は、主要な機能構成として、処理部１００と、操作部２００と、表示部３００と、音出力部４００と、ＩＭＵ５００と、方位センサー５５０と、記憶部６００とを備えて構成される。
【００７８】
処理部１００は、記憶部６００に記憶されているシステムプログラム等の各種プログラムに従って慣性航法演算装置１０００の各部を統括的に制御する制御装置及び演算装置であり、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサーを有して構成される。
【００７９】
操作部２００は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部１００に出力する。この操作部２００の操作により、運動の開始や運動の終了といった各種指示入力がなされる。
【００８０】
表示部３００は、ＬＣＤ（Liquid Crystal Display）等により構成され、処理部１００から入力される表示信号に基づいた各種表示を行う。表示部３００には、慣性航法演算に係る演算値等の情報が表示される。
【００８１】
音出力部４００は、スピーカー等を有して構成される音出力装置であり、処理部１００から出力される音出力信号に基づいた各種音出力を行う。音出力部４００からは、音声ガイダンスや、歩行或いは走行に係るペース音等が音出力される。
【００８２】
ＩＭＵ５００は、慣性計測ユニットとして知られるセンサーユニットであり、例えば加速度センサー５Ａとジャイロセンサー５Ｂとがこれに含まれる。ＩＭＵ５００によって計測された加速度及び角速度は、処理部１００に随時出力される。
【００８３】
方位センサー５５０は、ユーザーの移動方向を検出するためのセンサーであり、例えば地磁気センサーを有して構成される。方位センサー５５０によって検出されたユーザーの移動方向は、処理部１００に随時出力される。
【００８４】
記憶部６００は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置によって構成され、慣性航法演算装置１０００のシステムプログラムや、ＩＮＳ演算等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【００８５】
２−２．データ構成
記憶部６００には、プログラムとして、処理部１００により読み出され、メイン処理（図７参照）として実行されるメインプログラム６１０が記憶されている。メイン処理については、フローチャートを用いて詳細に後述する。
【００８６】
また、記憶部６００には、データとして、ＩＭＵ計測データ６２０と、演算データ６３０と、演算誤差データ６４０と、入力誤差共分散行列設定用データ６５０と、歩幅モデルデータ６６０と、歩行時観測情報６７０と、乗車時観測情報６８０と、静止時観測情報６９０とが記憶される。
【００８７】
ＩＭＵ計測データ６２０は、ＩＭＵ５００の計測結果のデータである。例えば、加速度センサー５Ａによって計測された加速度（計測加速度）と、ジャイロセンサー５Ｂによって計測された角速度（計測角速度）とが時系列に記憶される。
【００８８】
演算データ６３０は、慣性航法演算に係る演算結果や演算過程に係る演算値が記憶されたデータである。図２のＩＮＳ１０の慣性航法演算の演算過程で求められる各諸量に係る処理中データや、演算結果として求められる絶対座標位置等のデータがこれに含まれる。
【００８９】
演算誤差データ６４０は、誤差算出処理を行うことで算出したＩＮＳ演算誤差が記憶されたデータである。図１の誤差推定処理部５０の誤差推定処理の結果として得られるＩＮＳ演算結果の誤差がこれに含まれる。
【００９０】
入力誤差共分散行列設定用データ６５０は、入力誤差共分散行列を設定するために用いられるデータであり、そのデータ構成例を図５に示す。入力誤差共分散行列設定用データ６５０には、移動状況６５０Ａと、パラメーターセット６５０Ｂとが対応付けて定められている。
【００９１】
移動状況６５０Ａには、歩行状況や乗車状況、静止状況といったユーザーの移動状況が定められている。また、パラメーターセット６５０Ｂは、対応する移動状況６５０Ａについて、入力誤差共分散行列「Ｑｕ」の対角成分に設定する６種類の分散値の組（パラメーター値のセット）が定められている。
【００９２】
歩幅モデルデータ６６０は、ユーザーの歩幅をモデル化したデータであり、そのデータ構成の一例を図６に示す。実験を行った結果、人間が歩行する場合、その上下方向の加速度と歩幅との間には、正の相関があることが発見された。そこで、本実施例では、上下方向の加速度「ｘ」を変数とし、歩幅「ｙ」を関数値とする一次関数で近似した歩幅推測モデル式を歩幅モデルデータ６６０として定めている。
【００９３】
歩行時観測情報６７０は、ユーザーの移動状況が「歩行状況」である場合に設定するカルマンフィルター処理の観測情報である。ユーザーの歩幅及び一歩所要時間と、ユーザーの移動方向とに基づいて算出される歩行時速度ベクトル６７０Ａがこれに含まれる。
【００９４】
乗車時観測情報６８０は、ユーザーの移動状況が「乗車状況」である場合に設定するカルマンフィルター処理の観測情報である。移動体の進行方向以外の速度成分をゼロとする移動時制約速度ベクトル６８０Ａがこれに含まれる。
【００９５】
静止時観測情報６９０は、ユーザーの移動状況が「静止状況」である場合に設定するカルマンフィルター処理の観測情報である。絶対座標系における速度成分をゼロとする静止時制約速度ベクトル６９０Ａがこれに含まれる。
【００９６】
２−３．処理の流れ
図７は、記憶部６００に記憶されているメインプログラム６１０に従って処理部１００が実行するメイン処理の流れを示すフローチャートである。
【００９７】
最初に、処理部１００は、初期設定を行う（ステップＡ１）。具体的には、誤差推定処理で用いる各種パラメーター（カルマンフィルター処理の演算パラメーター）の値を初期設定する。また、重力方向に最も近い慣性センサーの検出軸を判定する。
【００９８】
そして、処理部１００は、ＩＭＵ５００からデータの取得を開始し、取得したデータをＩＭＵ計測データ６２０として記憶部６００に記憶させる（ステップＡ３）。次いで、処理部１００は、ＩＭＵ計測データ６２０を用いて慣性航法演算処理を行い、その演算結果を演算データ６３０として記憶部６００に記憶させる（ステップＡ５）。
【００９９】
その後、処理部１００は、ＩＭＵ５００の計測結果や、慣性航法演算処理に係る演算値に基づいて、ユーザーの移動状況を判定する移動状況判定処理を行う（ステップＡ７）。そして、処理部１００は、記憶部６００に記憶された入力誤差共分散行列設定用データ６５０を参照して、ステップＡ７で判定した移動状況に基づいて入力誤差共分散行列を設定する（ステップＡ９）。
【０１００】
次いで、処理部１００は、ステップＡ９で設定した入力誤差共分散行列に基づき、式（４）及び（５）に従って、カルマンフィルターの予測演算を行う（ステップＡ１１）。つまり、状態ベクトル「ｘ」及び誤差共分散「Ｐ」を予測する演算を行う。
【０１０１】
その後、処理部１００は、ユーザーの移動状況が「歩行状況」であるか否かを判定する（ステップＡ１３）。「歩行状況」ではないと判定した場合は（ステップＡ１３；Ｎｏ）、処理部１００は、ステップＡ１７へと処理を移行する。
【０１０２】
それに対し、「歩行状況」であると判定した場合は（ステップＡ１３；Ｙｅｓ）、処理部１００は、歩行時速度ベクトル６７０Ａを算出し、歩行時観測情報６７０として設定する（ステップＡ１５）。
【０１０３】
具体的には、上下方向の加速度に対するピーク判定を行い、前回の加速度のピークから今回の加速度のピークまでの時間を一歩所要時間として算出する。また、記憶部６００に記憶された歩幅モデルデータ６６０を参照して、ユーザーの歩幅を判定する。そして、一歩所要時間及び歩幅と、方位センサー５５０によって検出されたユーザーの移動方向とに基づいて、歩行時におけるユーザーの速度ベクトル（歩行時速度ベクトル）を算出する。
【０１０４】
次いで、処理部１００は、ユーザーの移動状況が「乗車状況」であるか否かを判定し（ステップＡ１７）、「乗車状況」ではないと判定した場合は（ステップＡ１７；Ｎｏ）、ステップＡ２１へと処理を移行する。また、「乗車状況」であると判定した場合は（ステップＡ１７；Ｙｅｓ）、処理部１００は、移動時制約速度ベクトル６８０Ａを乗車時観測情報６８０として設定する（ステップＡ１９）。
【０１０５】
次いで、処理部１００は、ユーザーの移動状況が「静止状況」であるか否かを判定し（ステップＡ２１）、「静止状況」ではないと判定した場合は（ステップＡ２１；Ｎｏ）、ステップＡ２５へと処理を移行する。また、「静止状況」であると判定した場合は（ステップＡ２１；Ｙｅｓ）、処理部１００は、静止時制約速度ベクトル６９０Ａを静止時観測情報６９０として設定する（ステップＡ２３）。
【０１０６】
次いで、処理部１００は、カルマンフィルターの補正演算を実行する（ステップＡ２５）。具体的には、ステップＡ１５、Ａ１９及びＡ２３の何れかにおいて設定した観測情報を用いて、カルマンフィルターの理論に基づく補正演算を行う。そして、その演算結果を演算誤差として演算誤差データ６４０に記憶させる。
【０１０７】
次いで、処理部１００は、ステップＡ５で求めたＩＮＳ演算結果を出力する（ステップＡ２７）。そして、処理部１００は、処理を終了するか否かを判定し（ステップＡ２９）、処理を継続すると判定した場合は（ステップＡ２９；Ｎｏ）、補正処理を行う（ステップＡ３１）。つまり、演算誤差データ６４０に記憶されている各演算結果の誤差（補正量）を用いて、演算データ６３０に含まれる各演算結果を補正する。
【０１０８】
一方、ステップＡ２９において処理を終了すると判定した場合は（ステップＡ２９；Ｙｅｓ）、処理部１００は、メイン処理を終了する。
【０１０９】
３．作用効果
本実施形態によれば、ユーザーの移動状況を判定し、所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、移動状況の判定結果に基づいて設定する。具体的には、ユーザーの移動状況に応じて、カルマンフィルター処理で用いるパラメーターである入力誤差共分散行列「Ｑｕ」の値を設定する。これにより、ユーザーの移動状況に基づいて、誤差推定処理に係るパラメーターの値を適正化することができる。適正化したパラメーターの値を用いて誤差推定処理を実行することで、演算値に含まれる誤差を正しく推定することができる。このようにして推定した誤差を用いれば、慣性航法演算に係る演算値を適切に補正できる。
【０１１０】
入力誤差共分散行列「Ｑｕ」を固定値とすると、次のような問題が生ずる。誤差共分散「Ｐ」が真値よりも過度に大きく算出された場合、１ステップ前の状態ベクトル「ｘ」の値よりも観測値「ｚ」を信用するようにフィルターが作用し、求められる状態ベクトル「ｘ」の推定値が観測値に引きずられる現象が生じる。一方、誤差共分散「Ｐ」が真値よりも過度に小さく算出された場合は、観測値「ｚ」よりも１ステップ前の状態ベクトル「ｘ」の値を信用するようにフィルターが作用し、状態推定値が不安定になる問題が生ずる。
【０１１１】
ユーザーの移動状況によって、ユーザーの身体に取り付けた慣性センサー（慣性演算装置）の計測値に含まれる誤差（ノイズ）の大きさが変化する。歩行中は、絶えず振動や衝撃を受けるために、特に重力方向の計測値に誤差が混入し易い。一方、ユーザーが静止している場合や移動体に乗っている状況では、歩行の場合と比べて、重力方向の計測値に誤差が混入しにくい。この傾向に基づき、ユーザーの移動状況に応じて入力誤差共分散行列「Ｑｕ」を可変にすることで、カルマンフィルターの入力に含まれる誤差を補償し、状態ベクトル「ｘ」の誤差共分散「Ｐ」を真値に近付けることができる。その結果、上記の問題が解消され、慣性航法演算の誤差を正しく推定することが可能となる。
【０１１２】
４．変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明する。
【０１１３】
４−１．観測情報
衛星測位システムを利用して算出した位置や速度ベクトル等の情報を観測情報として、上記の実施形態と同様に誤差推定を行うことも可能である。
【０１１４】
例えば、衛星測位システムの一種であるＧＰＳを利用して、ユーザーの位置及び速度ベクトルを算出する。そして、ＧＰＳの演算結果の出力タイミングにおいて、位置及び速度ベクトルを観測情報として用いて、カルマンフィルターの理論に基づく補正演算を行うこととしてもよい。なお、位置及び速度ベクトルの算出方法は従来公知であるため、ここでは詳細な説明を省略する。
【０１１５】
また、他にも、ＲＦ（Radio Frequency）タグから位置情報等の情報を取得して、観測情報として利用することとしてもよい。この場合は、慣性航法演算装置に、ＲＦタグに埋め込まれた位置情報を読み取るためのタグリーダーを具備しておく。そして、所定位置に予め配置されたＲＦタグに慣性航法演算装置を翳すことで位置情報を取得し、この位置情報を観測情報として用いて、カルマンフィルターの理論に基づく補正演算を行うこととしてもよい。
【０１１６】
４−２．パラメーター値の設定
上記の実施形態では、ユーザーの移動状況に応じたパラメーター値として、入力誤差の共分散を固定的に設定するものとして説明した。しかし、ユーザーの移動状況を確定することが困難な状況も存在する。例えば、ユーザーが移動体に乗った状態で動作をしている場合は、ユーザーの移動状況が歩行状況であるのか、乗車状況であるのかの判断が困難な場合がある。
【０１１７】
そこで、このような場合は、２種類以上の入力誤差の共分散を混合して設定することとしてもよい。例えば、ユーザーが歩行している状況と、ユーザーが移動体に乗っている状況との可能性が五分五分であると判定した場合において、歩行状況について予め定められた入力誤差の共分散と、乗車状況について予め定められた入力誤差の共分散とを加算平均し、その値を設定することとしてもよい。
【０１１８】
４−３．処理の主体
上記の実施例では、電子機器にＩＭＵが搭載され、ＩＭＵの計測結果に基づいて、電子機器の処理部が慣性航法演算処理を行うものとして説明した。しかし、電子機器にＩＮＳを搭載することとし、ＩＮＳの処理部が慣性航法演算処理を行うこととしてもよい。この場合は、例えば、電子機器の処理部が、ＩＮＳから出力される慣性航法演算結果に含まれる誤差（慣性航法演算誤差）を推定する処理を行う。そして、推定した慣性航法演算誤差を用いて、ＩＮＳから入力した慣性航法演算結果を補正する。
【０１１９】
また、電子機器にＧＰＳ（Global Positioning System）等の衛星測位システムを適用したセンサーユニットを搭載することとし、このセンサーユニットの計測結果を利用して、慣性航法演算結果を補正することとしてもよい。
【０１２０】
４−４．電子機器
上記の実施例では、腰に装着する慣性航法演算装置に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、携帯型ナビゲーション装置（ポータブルナビ）や携帯型電話機、パソコン、ＰＤＡといった他の電子機器にも本発明を適用可能である。
【符号の説明】
【０１２１】
１  全体システム、  ５Ａ  加速度センサー、  ５Ｂ  ジャイロセンサー、  １０  ＩＮＳ、  １１  姿勢情報算出部、  １３  絶対座標加速度ベクトル算出部、  １５  絶対座標速度ベクトル算出部、  １７  絶対座標位置算出部、  １８  重力算出部、  １９  補正部、  ２０  移動状況判定部、  ３０  観測情報生成部、  ４０  パラメーター値設定部、  ５０  誤差推定処理部、  １００  処理部、  ２００  操作部、  ３００  表示部、  ４００  音出力部、  ５００  ＩＮＳ、  ５５０  方位センサー、  ６００  記憶部、１０００  慣性航法演算装置
【図１】
0005906687.tif 000007
【図２】
0005906687.tif 000008
【図３】
0005906687.tif 000009
【図４】
0005906687.tif 000010
【図５】
0005906687.tif 000011
【図６】
0005906687.tif 000012
【図７】
0005906687.tif 000013