(57)【要約】【課題】適切に参照値を生成できる参照値生成装置及び参照値生成方法を提供する。【解決手段】参照値生成装置は、姿勢情報を算出する方位姿勢角算出部と、歩行を検出する歩行検出部と、歩行の１歩につき複数の姿勢情報を、連続する少なくとも３歩分記憶する第１記憶部と、少なくとも３歩分の姿勢情報のうち３歩目以降のある１歩分の姿勢情報と、ある１歩分の姿勢情報よりも２歩前の１歩分の姿勢情報との相関係数を算出する相関係数算出部と、相関係数が閾値以上であるか否かを判定する相関係数判定部と、相関係数が閾値以上であると判定された１歩分の姿勢情報に含まれる代表値を、歩行の複数歩分記憶する第２記憶部と、ある１歩について相関係数が閾値以上であると判定された場合に、ある１歩よりも過去の複数歩分の代表値を用いて、ある１歩分の姿勢情報を補正することに用いる参照値を生成する参照値生成部と、を含む。【選択図】図２
2015017858.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの身体に装着されたジャイロセンサーの出力から少なくとも１軸の方位角又は姿勢角（以下総称して「姿勢情報」という。）を算出する方位姿勢角算出部と、
前記ユーザーの身体に装着された慣性センサーの出力に基いて前記ユーザーの歩行を検出する歩行検出部と、
前記歩行の１歩につき複数の姿勢情報を、連続する少なくとも３歩分記憶する第１記憶部と、
前記少なくとも３歩分の姿勢情報のうち３歩目以降のある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも２歩前の１歩分の姿勢情報との相関係数を算出する相関係数算出部と、
前記相関係数が閾値以上であるか否かを判定する相関係数判定部と、
前記相関係数が前記閾値以上であると判定された１歩分の姿勢情報に含まれる代表値を記憶する第２記憶部と、
前記相関係数が前記閾値以上であると判定された１歩の前記代表値よりも過去に前記第２記憶部に記憶された複数歩分の代表値を用いて、前記ある１歩分の姿勢情報を補正することに用いる参照値を生成する参照値生成部と、
を含む、参照値生成装置。
【請求項２】
請求項１に記載の参照値生成装置において、さらに、
前記相関係数算出部は、前記ある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも１歩前の１歩分の姿勢情報との相関係数を算出し、
前記相関係数判定部は、前記１歩前の１歩分の姿勢情報との相関係数の符号が負で、かつ、大きさが前記閾値以上であるか否かを判定し、
前記参照値生成部は、前記１歩前の１歩分の姿勢情報との相関係数の符号が負で、かつ、大きさが前記閾値以上であると判定された場合に、前記参照値を生成する、
参照値生成装置。
【請求項３】
請求項１に記載の参照値生成装置において、さらに、
前記相関係数が閾値未満であると判定された場合に、前記過去の前記代表値を消去する方位姿勢角消去部を含む、
参照値生成装置。
【請求項４】
ユーザーの身体に装着されたジャイロセンサーの出力から少なくとも１軸の方位角又は姿勢角（以下総称して「姿勢情報」という。）を算出することと、
前記ユーザーの身体に装着された慣性センサーの出力に基いて前記ユーザーの歩行を検出することと、
前記歩行の１歩につき複数の姿勢情報を、連続する少なくとも３歩分記憶することと、
前記少なくとも３歩分の姿勢情報のうち３歩目以降のある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも２歩前の１歩分の姿勢情報との相関係数を算出することと、
前記相関係数が閾値以上であるか否かを判定することと、
前記相関係数が前記閾値以上であると判定された１歩分の姿勢情報に含まれる代表値を記憶することと、
前記相関係数が前記閾値以上であると判定された１歩の前記代表値よりも過去に記憶された複数歩分の前記代表値を用いて、前記ある１歩分の姿勢情報を補正することに用いる参照値を生成することと、
を含む、参照値生成方法。
【請求項５】
請求項４に記載の参照値生成方法において、さらに、
前記算出することは、前記ある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも１歩前の１歩分の姿勢情報との前記相関係数を算出することを含み、
前記判定することは、前記１歩前の１歩分の姿勢情報との前記相関係数の符号が負で、かつ、大きさが閾値以上であるか否かを判定することを含み、
前記生成することは、前記１歩前の１歩分の姿勢情報との前記相関係数の符号が負で、かつ、大きさが前記閾値以上であると判定された場合に、前記参照値を生成することを含む、
参照値生成方法。
【請求項６】
請求項４に記載の参照値生成方法において、さらに、
前記相関係数が閾値未満であると判定された場合に、前記過去の前記代表値を消去することを含む、
参照値生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、参照値生成装置及び参照値生成方法に関するものである。
【背景技術】
【０００２】
慣性航法システムにおいて、過去のデータを現在のデータの参照値として利用することが知られている。ところが、人間は、歩行や走行時（以下総称して「歩行」という）、１歩毎に体が左右に動く（ぶれる）。そのため、人間を対象とした慣性航法システムにおいて、ある１歩についてのユーザーの方位角を補正するのに直前の１歩（現在の１歩とは反対の足）のデータを参照値とすると、正しく補正ができない。また、ユーザーが直進していない場合は、同じ足の過去のデータを参照しても適切に補正ができない。このことから参照値を適切に生成できる手法が必要であった。
【０００３】
ユーザーの方位角を推定する方法として、１歩毎に左右の足のデータを区別して、ユーザーの方位角を推定することが行われている。例えば、歩行タイミングに基づいて、水平方向加速度を１歩分の水平方向加速度に区分し、主成分分析を用いて、１歩分の水平方向加速度から、歩毎方向を算出することと、奇数歩目の歩毎方向と偶数歩目の歩毎方向との二等分線の方向を、進行方向として算出する方法が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６３８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１において奇数歩目と偶数歩目との分類は、単に、歩毎方向を交互に分類することで行っている。歩行検出（１歩の判定）は加速度の極大値などを用いて行われることが一般的であることから、交互に分類すると、例えば極大値に類似するピークを極大値として誤検出があった場合、左右足の判定が狂ってしまう。すると、例えば過去の検出値を参照して現在の検出値を補正するような手法においては、違う足のデータを参照してしまい、正しく方位角を求めることができないおそれがある。また、別途直進判別を行う必要があり、こちらの精度も問題となるおそれがある。
【０００６】
方位角を求める他の方法として、例えば、ＧＰＳ方位又は地磁気方位角を用いて、ジャイロセンサーのバイアス誤差を補正することが挙げられる。これらの手法によって、より精度の高い進行方位を得ることができるが、歩行の場合、比較的低速で、かつマルチパスの場所を通行することも多いため、ＧＰＳから求められた方位角の精度が悪くて、絶対方位又は観測情報として利用できないおそれがある。一方、地磁気センサーは鉄の付近や、屋内環境など磁場の外乱や歪みが多く発生する場所には、観測される磁気ベクトルは必ずしも地磁気ベクトルとは一致しないので、こちらも正しい方位角を検出できないおそれがある。このように、外部（ＧＰＳや地磁気センサー）から正しい方位角が得られない間、ジャイロセンサーを補正できないおそれがある。
【課題を解決するための手段】
【０００７】
本発明は上記の課題に鑑みてなされたものであり、その目的とするところは、適切に参照値を生成できる新たな手法を提案することにある。
【０００８】
［適用例１］本適用例に係る参照値生成装置は、ユーザーの身体に装着されたジャイロセンサーの出力から少なくとも１軸の方位角又は姿勢角（以下総称して「姿勢情報」という。）を算出する方位姿勢角算出部と、前記ユーザーの身体に装着された慣性センサーの出力に基いて前記ユーザーの歩行を検出する歩行検出部と、前記歩行の１歩につき複数の姿勢情報を、連続する少なくとも３歩分記憶する第１記憶部と、前記少なくとも３歩分の姿勢情報のうち３歩目以降のある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも２歩前の１歩分の姿勢情報との相関係数を算出する相関係数算出部と、前記相関係数が閾値以上であるか否かを判定する相関係数判定部と、前記相関係数が前記閾値以上であると判定された１歩分の姿勢情報に含まれる代表値を記憶する第２記憶部と、前記相関係数が前記閾値以上であると判定された１歩の前記代表値よりも過去に前記第２記憶部に記憶された複数歩分の代表値を用いて、前記ある１歩分の姿勢情報を補正することに用いる参照値を生成する参照値生成部と、を含む。
【０００９】
本適用例によれば、相関係数算出部は、ある１歩分の姿勢情報（方位角又は姿勢角）と、当該ある１歩よりも２歩前の１歩分の姿勢情報との相関係数を算出する。本願発明者の検討の結果、ユーザーが直進している場合、同じ足（例えば右足同士）の２歩分の姿勢情報の間には正の相関があることが明らかとなった。そこで、相関係数判定部によって相関係数が閾値以上であると判定された場合に、参照値生成部が同様の条件を満たす過去の複数の代表値を用いて参照値を生成する。これにより、左右足の誤判定を抑制できるので、外部から姿勢情報が得られない間でも、また、別途直進判定を行わなくてもジャイロセンサーから得られた姿勢情報によって、適切な参照値を生成できる。
【００１０】
［適用例２］上記適用例に記載の参照値生成装置において、さらに、前記相関係数算出部は、前記ある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも１歩前の１歩分の姿勢情報との相関係数を算出し、前記相関係数判定部は、前記１歩前の１歩分の姿勢情報との相関係数の符号が負で、かつ、大きさが前記閾値以上であるか否かを判定し、前記参照値生成部は、前記１歩前の１歩分の姿勢情報との相関係数の符号が負で、かつ、大きさが前記閾値以上であると判定された場合に、前記参照値を生成してもよい。
【００１１】
本願発明者の検討の結果、ユーザーが直進している場合、右足と左足の各１歩分の姿勢情報の間には負の相関があることが明らかとなった。２歩前の姿勢情報に加えて、１歩前の姿勢情報についても相関係数を判定することで、より精度良くユーザーの左右の足を区別できる。そのため、より精度の高い参照値を生成できる。
【００１２】
［適用例３］上記適用例に記載の参照値生成装置において、さらに、前記相関係数が閾値未満であると判定された場合に、前記過去の前記代表値を消去する方位姿勢角消去部、を含んでもよい。
【００１３】
本適用例によれば、相関係数が閾値未満である場合に、過去の代表値を消去する。相関係数が閾値未満である場合は、例えばユーザーが方向転換している場合などである。このような場合には、これまでの代表値を使用すると適切でない参照値を生成してしまうおそれがある。そこで、過去の代表値を消去することで、適切でない参照値を生成することを抑制することができる。
【００１４】
［適用例４］本適用例に係る参照値生成方法は、ユーザーの身体に装着されたジャイロセンサーの出力から少なくとも１軸の方位角又は姿勢角（以下総称して「姿勢情報」という。）を算出することと、前記ユーザーの身体に装着された慣性センサーの出力に基いて前記ユーザーの歩行を検出することと、前記歩行の１歩につき複数の姿勢情報を、連続する少なくとも３歩分記憶することと、前記少なくとも３歩分の姿勢情報のうち３歩目以降のある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも２歩前の１歩分の姿勢情報との相関係数を算出することと、前記相関係数が閾値以上であるか否かを判定することと、前記相関係数が前記閾値以上であると判定された１歩分の姿勢情報に含まれる代表値を記憶することと、前記相関係数が前記閾値以上であると判定された１歩の前記代表値よりも過去に記憶された複数歩分の前記代表値を用いて、前記ある１歩分の姿勢情報を補正することに用いる参照値を生成することと、を含む。
【００１５】
本適用例によれば、歩行が検出されるたびに、ある１歩分の姿勢情報と、当該ある１歩分よりも２歩前の１歩分の姿勢情報との相関係数を算出する。本願発明者の検討の結果、ユーザーが直進している場合、同じ足（例えば右足同士）の２歩分の姿勢情報の間には正の相関があることが明らかとなった。そこで、相関係数が閾値以上であると判定された場合に、同様の条件を満たす過去の複数の代表値を用いて参照値を生成する。これにより、左右足の誤判定を抑制できるので、外部から正しい姿勢情報が得られない間でも、また、別途直進判定を行わなくても、ジャイロセンサーから得られた姿勢情報によって、より適切な参照値を生成できる。
【００１６】
［適用例５］上記適用例に記載の参照値生成方法において、さらに、前記算出することは、前記ある１歩分の姿勢情報と、前記ある１歩分の姿勢情報よりも１歩前の１歩分の姿勢情報との前記相関係数を算出することを含み、前記判定することは、前記１歩前の１歩分の姿勢情報との前記相関係数の符号が負で、かつ、大きさが閾値以上であるか否かを判定することを含み、前記生成することは、前記１歩前の１歩分の姿勢情報との前記相関係数の符号が負で、かつ、大きさが前記閾値以上であると判定された場合に、前記参照値を生成することを含んでもよい。
【００１７】
本適用例によれば、２歩前の姿勢情報に加えて、１歩前の姿勢情報についても相関係数を判定することで、より精度良くユーザーの左右の足を区別できる。そのため、より精度の高い参照値を生成できる。
【００１８】
［適用例６］上記適用例に記載の参照値生成方法において、さらに、前記相関係数が閾値未満であると判定された場合に、前記過去の前記代表値を消去することを含んでもよい。
【００１９】
本適用例によれば、相関係数が閾値未満である場合に過去の代表値を消去する。これにより、適切でない参照値を生成することを抑制することができる。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態に係る全体システムの概略構成を示す図。
【図２】第１実施形態に係るＩＮＳのシステム構成の一例を示す図。
【図３】第１実施形態に係る参照値生成部のシステム構成の一例を示す図。
【図４】ランニングデータの一例を示す図。
【図５】図４の一部を拡大して示す図。
【図６】直進中の方位角の相関を説明する図。
【図７】第１実施形態に係る回転中（ユーザーが方向転換しているとき）の方位角の相関を説明する図。
【図８】本実施例に係るＩＮＳ演算システムの概略構成の一例を示す図。
【図９】本実施例に係るＩＮＳ演算装置の機能構成の一例を示すブロック図。
【図１０】本実施例に係る記憶部に記憶されているメインプログラムに従って処理部が実行するメイン処理の流れを示すフローチャート。
【図１１】ウォーキングデータを用いた実施例の検証結果（過去複数の代表値を用いて参照値を生成）を示す図。
【図１２】ウォーキングデータを用いた比較例の検証結果（２歩前の１つの代表値を参照値として使用）を示す図。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。ただし、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２２】
（第１実施形態）
１．原理
（全体システム）
図１は、本実施形態に係る全体システム１の概略構成を示す図である。
本実施形態に係る全体システム１は、ＩＮＳ（Inertial Navigation System）１０と、参照値生成部２０と、誤差推定部３０と、を備えて構成される。
【００２３】
以下参照する図面では、センサーのブロックを二重線で示し、センサーの計測結果を利用して演算処理を行う処理ブロックを一重線で示す。一重線で示される処理ブロックは、例えば電子機器に搭載されるプロセッサー（ホストプロセッサー）が処理主体となる処理ブロックである。なお、各処理ブロックの処理の主体は、本発明を適用するシステムに応じて適宜設定可能である。
【００２４】
本実施形態では、２種類の座標系を定義する。第１の座標系は、センサーに対応づけられた三次元直交座標系でなるローカル座標系（センサー座標系）である。本実施形態では、ローカル座標系の３軸をｕ軸、ｖ軸、及びｗ軸と表記する。
【００２５】
第２の座標系は、慣性航法演算を行う際の基準とする絶対座標系である。絶対座標系は、例えば、北東下座標系として知られるＮＥＤ（North East Down）座標系や、東北上座標系として知られるＥＮＵ（East North Up）座標系、地球中心地球固定座標系として知られるＥＣＥＦ（Earth Centered Earth Fixed）座標系といった各種の座標系を適用できる。本実施形態では、絶対座標系の３軸をＸ軸、Ｙ軸、及びＺ軸と表記する。
【００２６】
加速度や速度には、大きさの他に方向がある。本明細書では、原則として、加速度や速度と言ったときは加速度や速度の大きさ（スカラー量）を表すものとし、加速度ベクトルや速度ベクトルと言ったときは大きさ（スカラー量）に加えて方向を表すものとする。また、各座標系において定義される諸量を明確にするため、各諸量を表す文言の先頭に座標系の種類を付して説明する。例えば、ローカル座標系で表した加速度ベクトルのことを「ローカル座標加速度ベクトル」と称し、絶対座標系で表した加速度ベクトルのことを「絶対座標加速度ベクトル」と称する。他の諸量についても同様である。
【００２７】
ＩＮＳ１０は、慣性航法システムとして知られ、自立的な測位が可能に構成されたシステムである。ＩＮＳ１０は、加速度センサー５Ａやジャイロセンサー５Ｂ（図２参照）、地磁気センサーといった慣性センサーや、これらの慣性センサーをパッケージ化したＩＭＵ（Inertial Measurement Unit）によって計測された計測結果に基づいて、位置や速度（速度ベクトル）、姿勢角等を演算して出力する。ＩＭＵは、慣性計測ユニットとして知られるセンサーユニットであり、ローカル座標系で表した加速度ベクトル及び角速度ベクトルを計測して出力可能に構成されている。
【００２８】
図２は、本実施形態に係るＩＮＳ１０のシステム構成の一例を示す図である。図３は、本実施形態に係る参照値生成部２０のシステム構成の一例を示す図である。
【００２９】
ＩＮＳ１０は、センサーとして、加速度センサー５Ａと、ジャイロセンサー５Ｂと、を有する。また、処理ブロックとして、姿勢情報算出部（方位姿勢角算出部）１１と、絶対座標加速度ベクトル算出部１３と、絶対座標速度ベクトル算出部１５と、絶対座標位置算出部１７と、重力算出部１８と、歩行検出部４０と、図示しない補正部と、を有する。参照値生成部２０は、相関係数算出部４２と、相関係数判定部４４と、姿勢情報更新部（方位姿勢角更新部）４６と、を有する。
【００３０】
加速度センサー５Ａは、加速度ベクトルをローカル座標系で計測するセンサーである。また、ジャイロセンサー５Ｂは、角速度ベクトルをローカル座標系で計測するセンサーである。これらのセンサーには、例えばＭＥＭＳ（Micro Electro Mechanical Systems）の技術を利用したＭＥＭＳセンサーが用いられる。
【００３１】
姿勢情報算出部１１は、ユーザーの身体に装着されたジャイロセンサー５Ｂの出力から少なくとも１軸の姿勢情報（方位角又は姿勢角）を算出する。姿勢情報算出部１１は、ジャイロセンサー５Ｂによって計測された角速度ベクトルと、姿勢情報記憶部（記憶部）１１Ａに記憶されている姿勢情報とを用いて、最新の姿勢情報を算出する。姿勢情報は、例えば、クォータニオンや方向余弦行列（以下、「ＤＣＭ（Direction Cosine Matrix）」と称す。）、オイラー角といった、各種の姿勢表現に基づき定義される姿勢を示す情報のことを意味する。なお、各種の姿勢表現については従来公知であるため、ここでは詳細な説明を省略する。
【００３２】
姿勢情報算出部１１は、算出した最新の姿勢情報を姿勢情報記憶部１１Ａに記憶させる。また、姿勢情報記憶部１１Ａは、第１姿勢情報記憶部（第１記憶部）１１Ａ−１を含み、第１記憶部１１Ａ−１には、歩行検出部４０で検出された１歩につき複数の姿勢情報が、連続する少なくとも３歩分記憶される。ここで、「連続する３歩」とは、当該３歩の期間に他の１歩の検出が含まれないことを意味する。また、姿勢情報記憶部１１Ａは、第２姿勢情報記憶部（第２記憶部）１１Ａ−２を含み、第２記憶部１１Ａ−２には、後述する相関係数の判定結果に基いて、１歩分の姿勢情報に含まれる代表値が複数歩分記憶される。
【００３３】
絶対座標加速度ベクトル算出部１３は、加速度センサー５Ａによって計測されたローカル座標加速度ベクトルと、姿勢情報算出部１１から入力した姿勢情報とを用いて、最新の絶対座標加速度ベクトルを算出する。具体的には、ローカル座標加速度ベクトルを絶対座標加速度ベクトルに座標変換して、最新の絶対座標加速度ベクトルを算出する。座標変換は公知の技術を適用可能であるため、説明を省略する。
【００３４】
絶対座標速度ベクトル算出部１５は、絶対座標加速度ベクトル算出部１３から入力した絶対座標加速度ベクトルと、重力算出部１８から入力した重力情報と、絶対座標速度ベクトル記憶部１５Ａに記憶された絶対座標速度ベクトルとを用いて、絶対座標速度ベクトルを算出する。この際、重力方向及びコリオリの力を重力情報及び記憶された絶対座標速度ベクトルに基づいて補正する。地球は楕円形をしているため、地球中心からみた緯度と地理学上の緯度とは異なる。そのため、重力方向についての補正が必要であり、地球は宇宙の慣性空間に対して回転しているため、コリオリの力の補正も必要となる。
【００３５】
絶対座標速度ベクトル算出部１５は、上記のように重力方向を加味して、絶対座標加速度ベクトルを、絶対座標速度ベクトル記憶部１５Ａに記憶された絶対座標速度ベクトルに積算することで最新の絶対座標速度ベクトルを算出する。そして、算出した最新の絶対座標速度ベクトルを絶対座標速度ベクトル記憶部１５Ａに記憶させる。
【００３６】
絶対座標位置算出部１７は、絶対座標速度ベクトル算出部１５から入力した絶対座標速度ベクトルを、絶対座標位置記憶部１７Ａに記憶された絶対座標位置に積算することで絶対座標位置を算出する。そして、算出した最新の絶対位置座標を絶対座標位置記憶部１７Ａに記憶させる。
【００３７】
重力算出部１８は、絶対座標位置算出部１７から入力した絶対座標位置を用いて、重力情報を算出して、絶対座標速度ベクトル算出部１５に出力する。
【００３８】
補正部（図示せず）は、誤差推定部３０によって推定された誤差情報を用いて、各算出部で算出された積算値を補正する。具体的には、計測角速度ベクトルを、誤差情報に含まれる角速度バイアスを用いて補正する。また、姿勢情報記憶部１１Ａに記憶された姿勢情報を、誤差情報に含まれる姿勢角誤差を用いて補正する。また、計測加速度ベクトルを、誤差情報に含まれる加速度バイアスを用いて補正する。
【００３９】
また、絶対座標速度ベクトル記憶部１５Ａに記憶された絶対座標速度ベクトルを、誤差情報に含まれる速度ベクトル誤差を用いて補正し、絶対座標位置記憶部１７Ａに記憶された絶対座標位置を、誤差情報に含まれる位置誤差を用いて補正する。
【００４０】
歩行検出部４０は、ユーザーの身体に装着された加速度センサー５Ａの出力に基いてユーザーの歩行の１歩を検出する。なお、以下の方法は一つの例であり、慣性センサーを用いた他の公知の歩行検出方法も適用可能である。
【００４１】
（歩数検出の原理）
ここで、本実施形態における歩数検出（歩行検出）の原理について説明する。歩数は、加速度センサー５Ａにより検出された直交３軸の加速度のうち、ユーザーの上下動の加速度であるｗ軸の加速度に基づいて検出する。
【００４２】
具体的には、ｗ軸の加速度の時系列変化において、加速度がピーク（極大値）となった時刻がユーザーの足が地表からの最高点に達したタイミングと推定できる。そこで、極大値を検出したらユーザーにより１歩が踏み出されたものと判定し、１歩とカウントする。しかし、加速度センサー５Ａにより検出されるｗ軸の加速度には高周波のノイズ成分が含まれ得る。そのため、１歩であると思って検出した加速度のピークが“真の”ピークではなく、単なるノイズ成分である“偽の”ピークである場合があり、歩数のミスカウントに繋がるという問題がある。
【００４３】
上述したｗ軸の加速度に含まれるノイズは高周波の成分である。そこで、例えばｗ軸の加速度に対してフィルター処理を行うことで、加速度センサー５Ａにより検出されるｗ軸の加速度の低周波成分を抽出する。具体的には、歩行における加速度の周波数は、高く見積もっても５［Ｈｚ］程度であり、１０［Ｈｚ］となることはないと言える。そのため、数［Ｈｚ］をカットオフ周波数（所定の閾値周波数）として、それよりも高い周波数成分をカットすることで、加速度の低周波成分、すなわち歩行時の加速度の成分を抽出する。そして、抽出した低周波成分の加速度のピークを検出して１歩と判定する。ある加速度のピークから次の加速度のピークまでの時間が「１歩に要する時間」である。また、本明細書においては特に断りがない限り、ある加速度のピークから次の加速度のピークまでの期間に含まれる複数の姿勢情報を、「１歩分の姿勢情報」と表現する。
【００４４】
図３に戻り、相関係数算出部４２は、第１記憶部１１Ａ−１に記憶された少なくとも３歩分の姿勢情報のうち３歩目以降のある１歩分の姿勢情報と、第１記憶部１１Ａ−１に記憶された当該少なくとも３歩分の姿勢情報のうち、ある１歩分よりも２歩前の１歩分の姿勢情報との相関係数を算出する。また、相関係数算出部４２は、ある１歩分の姿勢情報と、上記少なくとも３歩分の姿勢情報のうちある１歩分よりも１歩前の１歩分の姿勢情報との相関係数を算出する。２歩前の１歩分の姿勢情報とだけ相関係数を算出してもよいが、１歩前の姿勢情報も相関係数の判定に用いることで、より適切に参照値を生成できる。
【００４５】
ある１歩分の姿勢情報は、例えば最新の１歩分の姿勢情報である。過去の姿勢情報であっても良いが、第１記憶部１１Ａ−１の容量を軽減するため、第１記憶部１１Ａ−１に記憶する姿勢情報は多くても５歩分程度とし、記憶されている範囲内で相関係数の算出を行うことが好ましい。
【００４６】
相関係数判定部４４は、相関係数算出部４２で算出された相関係数が閾値以上であるか否かを判定する。例えば、相関係数は、０．７以上とすることができる。なお、判定の精度を上げるには、相関係数を０．８以上にしてもよい。
【００４７】
（相関係数の判定方法）
ここで、本実施形態における相関係数の判定方法について説明する。以下においては、ある１歩は最新の１歩であるものとして説明する。歩行が検出されるたびに、相関係数算出部４２が現在の１歩分の姿勢情報と、過去の左右２歩（すなわち１歩前及び２歩前）分の姿勢情報との相関係数を算出する。相関係数判定部４４は、相関係数の大きさと符号を判定する。これによって、ユーザーが直進中か否かの判断及び、左右足の分別を行う。
【００４８】
具体的には、相関係数算出部４２は、現在の１歩分の姿勢情報と、２歩前の１歩分の姿勢情報とを時系列順に対応させた場合の相関係数を算出する。なお、相関係数の算出方法それ自体は公知の手法を適用可能であるので、ここでは説明を省略する。２歩前の１歩分の姿勢情報についても同様である。相関係数判定部４４は、２歩前の１歩との相関係数が閾値以上の正の相関があるか否か、及び、１歩前の１歩との相関係数の絶対値（大きさ）が閾値以上で、かつ負の相関があるか否かを判定する。以下、記載を簡潔にするため、「２歩前の１歩との相関係数が閾値以上の正の相関があるか否か、及び、１歩前の１歩との相関係数の絶対値（大きさ）が閾値以上で、かつ負の相関があるか否か」を「判定条件」と称する。
【００４９】
本願発明者の検討の結果、ユーザーが直進中である場合、同じ足を踏み出したときの姿勢情報の変化は毎回類似した傾向を示すので、正の相関が見られることが明らかとなった。一方、ユーザーが直進中である場合、反対の足を踏み出したときには、負の相関が見られることが明らかとなった。ユーザーが直進していない場合には、相関係数が小さくなり、一定の傾向が見られない。そこで、上記のように相関係数を判定することで、ユーザーが直進中であるか否か、及び、歩行検出が適切であったかを判別できる。
【００５０】
なお、ユーザーが直進中であるか否かの判定をより確実に行うには、相関係数の判定に加えて、歩行検出タイミングにおける姿勢情報の変化量が閾値以内であるか否かを判定するとよい。
【００５１】
相関係数が判定条件を満たすと判定された場合、姿勢情報更新部４６は、最新の１歩について、歩行検出タイミングで得られた姿勢情報を当該１歩の代表値として第２記憶部１１Ａ−２に記憶させる。第２記憶部１１Ａ−２には、判定によって判別された左右の足毎に区別して、代表値が記憶される。第２記憶部１１Ａ−２に同様にして記憶されている過去複数の歩行の代表値から最新の１歩分の姿勢情報の参照値を生成し、ジャイロバイアス及び姿勢情報の誤差の推定、補正を行う。参照値の生成については後述する。
【００５２】
直進中の条件が満たされない場合、第２記憶部１１Ａ−２に記憶された姿勢情報の履歴（過去の代表値）を姿勢情報更新部４６により消去する。この場合、姿勢情報更新部４６は姿勢情報消去部であるとも言える。姿勢情報更新部４６は、相関係数判定部４４で相関係数相関係数が判定条件を満たさないと判定されたら、第２記憶部１１Ａ−２に記憶された姿勢情報を消去する。
【００５３】
以下、現在の１歩分の姿勢情報と、２歩前及び１歩前の各１歩の姿勢情報との相関係数について説明する。
【００５４】
図４は、ランニングデータの一例を示す図である。なお、縦軸は方位角（deg）、横軸は時間（sec）である。腰にＩＮＳ１０を装着したユーザーがまっすぐ進行（走行）したときの１歩分ずつの方位角を示す図である。走行中に検出されたｗ軸（ヨー角）の角速度を積算することで得られた方位角を図示している。歩行検出タイミングが黒い印で示されており、印から印までの間が１歩分の方位角である。ユーザーがまっすぐ進行している間、歩行（走行）が検出されるたびに、左右の足が示す方向（方位角）が異なるが、同足なら同一方向を示し、回転がない限り、左右の足の動きと同調して方位角の交代が繰り返されている。
【００５５】
図５は、図４の一部を拡大して示す図である。なお、縦軸は方位角（deg）、横軸は時間（sec）である。上段の丸印は、現在の走行検出タイミングにおける方位角を示している。また、上段の縦線は、同足の過去の走行検出タイミングにおける方位角を示している。さらに、下段の縦線と丸は、他方の足の走行検出タイミングにおける方位角を示している。図５に示すように、直進中において、同足の２歩分の方位角の変化は良く似た傾向がみられ、異なる足の２歩分の方位角の変化は互いに逆の傾向を示している様子がみられる。
【００５６】
図６は、直進中の方位角の相関を説明する図である。（Ａ）は直進中の方位角の遷移を示す図、（Ｂ）は同足の２歩分の方位角の相関図、（Ｃ）は異なる足の２歩分の方位角の相関図である。なお、（Ａ）の縦軸は方位角（deg）、横軸は時間（sec）であり、（Ｂ）の縦軸は足ｆ１の方位角（deg）、横軸は足ｆ３の方位角（deg）であり、（Ｃ）の縦軸は足ｆ２の方位角（deg）、横軸は足ｆ３の方位角（deg）である。図６（Ａ）において、＋印は歩行が検出されたタイミングを表す。最新の歩行検出の時点から１つ前の歩行検出までの方位角を足ｆ３の姿勢情報、同様に１歩ずつ過去に向かって、足ｆ２、足ｆ１としている。ｆ１とｆ３とは同じ足の歩行である。ユーザーが直進中の場合に、現在の１歩分の方位角と、過去の左右各１歩分の方位角との相関をとってみると、図６（Ｂ）に示すように、同じ足（足ｆ３と足ｆ１）の２歩間の方位角の相関は、相関値＝０．９９９で強い正の相関がみられた。また、図６（Ｃ）に示すように、異なる足（足ｆ３と足ｆ２）の２歩間の方位角の相関は、相関値＝−０．９８で明確な負の相関がみられた。
【００５７】
図７は、本実施形態に係る回転中（ユーザーが方向転換しているとき）の方位角の相関を説明する図である。（Ａ）は回転中の方位角の遷移を示す図、（Ｂ）は回転中の１歩と２歩前（同足）の１歩との相関図、（Ｃ）は回転中の１歩と１歩前（異なる足）の１歩との相関図である。足の符号（ｇ１〜ｇ３）は、図６と同様、ある歩行検出タイミングから１つ前の歩行検出タイミングまでを表す。なお、（Ａ）の縦軸は方位角（deg）、横軸は時間（sec）であり、（Ｂ）の縦軸は足ｇ１の方位角（deg）、横軸は足ｇ３の方位角（deg）であり、（Ｃ）の縦軸は足ｇ２の方位角（deg）、横軸は足ｇ３の方位角（deg）である。図７（Ｂ）に示すように、回転中の１歩の足ｇ３と２歩前の同足の足ｇ１との相関は相関値＝０．０２２で、同じ足であるにも関わらず相関がみられなかった。また、図７（Ｃ）に示すように、回転中の１歩の足ｇ３と１歩前の反対の足ｇ２との相関は相関値＝０．４９で、負の相関がみられなかった。
【００５８】
図２に戻り、ＩＮＳ１０からは、最終的に、姿勢情報と、絶対座標速度ベクトルと、絶対座標位置とが演算結果として出力される。
【００５９】
（参照値の生成方法）
図１に戻り、参照値生成部２０は、誤差推定部３０が姿勢や速度、センサーバイアス等の補正量を求めるカルマンフィルター処理を行う際に観測情報とする参照値を生成する。参照値生成部２０は、参照値を生成する装置（参照値生成装置）とも言える。参照値生成部２０は、相関係数判定部４４で相関係数が判定条件を満たすと判定されたら、第２記憶部１１Ａ−２に記憶された過去の複数の代表値を用いて当該最新の１歩の代表値を補正することに用いる参照値を生成する。参照値の生成方法としては種々の方法を適用可能であるが、本実施形態では、フィルタリング処理を適用する場合を例示する。
【００６０】
具体的には、参照値生成部２０は、相関係数が判定条件を満たすと判定されるたびに、第２記憶部１１Ａ−２を参照する。第２記憶部１１Ａ−２に最新の１歩と同じ足の複数の代表値が記憶されていれば、第２記憶部１１Ａ−２から当該同じ足の過去複数の代表値を抽出してフィルタリング処理する。そして、得られた値を、今回の１歩の代表値の参照値として、ジャイロバイアス及び姿勢情報の補正に用いる。
【００６１】
aRef（left，k）＝filter［leftBuffer（k−１，k−２，…k−n）]
aRef（right，k）＝filter［rightBuffer（k−１，k−２，…k−n）
ただし、aRef（left，k）は左足のｋ番目の参照値、aRef（right，k）は右足のｋ番目の参照値、leftBuffer（k−１，k−２，…k−n）は第２記憶部１１Ａ−２の左足のk−１〜k−n番目の代表値（k＞n、k＞１）、rightBuffer（k−１，k−２，…k−n）は第２記憶部１１Ａ−２の右足のk−１〜k−n番目の代表値（k＞n、k＞１）である。
【００６２】
filterには、例えば、ウィンドー付移動平均法を用いてもよい。
ウィンドーサイズがＮでkがＮより小さい場合、
aRef（left，k）＝（k−１）／k＊aRef（left，k−１）＋１／k＊Att（left，k）
aRef（right，k）＝（k−１）／k＊aRef（right，k−１）＋１／k＊Att（right，k）
ただし、Att（left，k）は左足のｋ番目の姿勢角、Att（right，k）は右足のｋ番目の姿勢角、（k−１）／k，１／kは重み付けである。
【００６３】
kがＮより大きい場合、
aRef（left，k）＝（N−１）／N＊aRef（left，k−１）＋１／N＊Att（left，k）
aRef（right，k）＝（N−１）／N＊aRef（right，k−１）＋１／N＊Att（right，k）
ただし、（N−１）／N，１／Nは重み付けである。
【００６４】
本方法で得られた参照値は、過去の複数の検出値を統合した参照値であるので最新の１歩よりも１サンプル前の１つの検出値（２歩前の代表値）のみを参照する方法に比べて精度が安定的で、カルマンフィルターでの観測情報の分散値の調整がし易くなる。
【００６５】
（誤差推定方法及び補正方法）
誤差推定部３０は、参照値生成部２０によって生成された参照値を用いて、所定の誤差推定演算を行うことで、ＩＮＳ１０が演算する各諸量に含まれる誤差を推定する。誤差推定の手法としては種々の手法を適用可能であるが、本実施形態では、カルマンフィルターを適用する場合を例示する。
【００６６】
具体的には、例えば、ＩＮＳ１０により演算される姿勢情報の誤差（姿勢角誤差）、絶対座標速度ベクトルの誤差（速度ベクトル誤差）、絶対座標位置の誤差（位置誤差）、加速度センサー５Ａのバイアス誤差（加速度バイアス）、及びジャイロセンサー５Ｂのバイアス誤差（ジャイロバイアス）を成分とする状態ベクトル“Ｘ”を設定する。また、ＩＮＳ１０から出力されるＩＮＳ演算結果を、入力ベクトル“Ｕ”（制御入力）として設定する。
【００６７】
また、姿勢角に係る観測情報として、参照値と、ＩＮＳ１０から入力された姿勢情報（最新の１歩の代表値）から求まる姿勢角との差を算出する。そして、これらの差を成分とする観測ベクトル“Ｚ”を設定する。
【００６８】
上記のように状態ベクトル“Ｘ”、入力ベクトル“Ｕ”、及び観測ベクトル“Ｚ”を設定し、カルマンフィルターの理論に基づく予測演算（時刻更新）及び補正演算（観測更新）を行って、状態ベクトル“Ｘ”の推定値（状態推定値）を求める。状態推定値の各成分が誤差情報となる。これは、参照値を観測情報として、検出値の補正量を求めるカルマンフィルター処理を行うことに相当する。
【００６９】
誤差推定部３０によって推定された誤差情報は、ＩＮＳ１０にフィードバックされる。そして、このフィードバックされた誤差情報に基づいて、前述したように、ＩＮＳ１０の各処理ブロックで実行される演算が、誤差情報を用いて補正部によって補正される。これは、補正量に基づいて検出値を補正することや、検出値を用いて位置を算出することに相当する。
【００７０】
（電子機器の構成例）
次に、原理で説明した参照値生成装置を適用した電子機器の構成例について説明する。ただし、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【００７１】
図８は、本実施例に係るＩＮＳ演算システムの概略構成の一例を示す図である。
ＩＮＳ演算システムは、人間に装着されるＩＮＳ演算装置１０００を備えて構成される。ＩＮＳ演算装置１０００は、例えばユーザーの右腰に装着して利用される。ユーザーがウオーキングやランニング等の運動を行う際に、右腰に装置を装着した状態で運動を行う。位置等の情報を履歴的に記憶しておくことで、ユーザーは後から移動経路を確認したり、ＩＮＳ演算装置１０００をパソコン等に接続することで、運動記録等の各種の情報の編集を行ったりできる。
【００７２】
ＩＮＳ演算装置１０００は、加速度センサー５Ａ及びジャイロセンサー５Ｂを有するセンサーユニットとしてのＩＭＵ５００を具備し、ＩＭＵ５００に対応づけられたローカル座標系における加速度ベクトル及び角速度ベクトルを計測する。また、ＩＮＳ演算装置１０００は、参照値生成装置を有し、ユーザーの位置、速度ベクトル、及び姿勢角といった各諸量の検出値を補正する際の参照値を生成する。そして、生成した参照値を用いて、原理で説明したようにＩＮＳ演算結果を補正する。
【００７３】
（機能構成）
図９は、本実施例に係るＩＮＳ演算装置１０００の機能構成の一例を示すブロック図である。
ＩＮＳ演算装置１０００は、主要な機能構成として、処理部１００と、操作部２００と、表示部３００と、音出力部４００と、ＩＭＵ５００と、記憶部６００と、を備えて構成される。
【００７４】
処理部１００は、記憶部６００に記憶されているシステムプログラム等の各種プログラムに従ってＩＮＳ演算装置１０００の各部を統括的に制御する制御装置及び演算装置であり、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサーを有して構成される。処理部１００は、所定のプログラムがロードされ実行されることにより、上述した姿勢情報算出部１１、絶対座標加速度ベクトル算出部１３、絶対座標速度ベクトル算出部１５、絶対座標位置算出部１７、重力算出部１８、補正部（図示せず）、歩行検出部４０、相関係数算出部４２、相関係数判定部４４、及び姿勢情報更新部４６である処理ブロックとして機能する。
【００７５】
操作部２００は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部１００に出力する。この操作部２００の操作により、運動の開始や運動の終了といった各種指示入力がなされる。
【００７６】
表示部３００は、ＬＣＤ（Liquid Crystal Display）等により構成され、処理部１００から入力される表示信号に基づいた各種表示を行う。表示部３００には、ＩＮＳ演算結果である位置や速度ベクトル、姿勢角等の情報が表示される。
【００７７】
音出力部４００は、スピーカー等を有して構成される音出力装置であり、処理部１００から出力される音出力信号に基づいた各種音出力を行う。音出力部４００からは、音声ガイダンスや、歩行あるいは走行に係るペース音等が音出力される。
【００７８】
記憶部６００は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置によって構成され、ＩＮＳ演算装置１０００のシステムプログラムや、ＩＮＳ演算等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【００７９】
（データ構成）
記憶部６００には、プログラムとして、処理部１００により読み出され、メイン処理（図１０参照）として実行されるメインプログラム６１０が記憶されている。メインプログラム６１０は、参照値生成処理を含む。これらの処理については、図１０のフローチャートを用いて詳細に後述する。
【００８０】
また、記憶部６００には、データとして、ＩＭＵ計測データ６２０と、演算データ６３０と、誤差データ６４０と、履歴データ６５０と、参照値データ６６０と、が記憶される。
【００８１】
ＩＭＵ計測データ６２０は、ＩＭＵ５００の計測結果のデータである。例えば、加速度センサー５Ａにより計測されたローカル座標加速度ベクトルと、ジャイロセンサー５Ｂにより計測されたローカル座標角速度ベクトルとが時系列に記憶される。
【００８２】
演算データ６３０は、ＩＮＳ演算処理を行うことで算出したＩＮＳ演算結果が記憶されたデータである。図２のＩＮＳ１０の慣性航法演算及び、参照値生成部２０の演算の過程で求められる各諸量に係る処理中データがこれに含まれる。
【００８３】
誤差データ６４０は、誤差算出処理を行うことで算出したＩＮＳ演算誤差が記憶されたデータである。図１の誤差推定部３０の誤差推定演算の結果として得られるＩＮＳ演算結果の誤差がこれに含まれる。
【００８４】
履歴データ６５０は、参照値を生成するために用いられる履歴（代表値）のデータである。参照値データ６６０は、参照値生成処理を行うことで生成された参照値のデータである。
【００８５】
（処理の流れ）
図１０は、本実施例に係る記憶部６００に記憶されているメインプログラム６１０に従って処理部１００が実行するメイン処理の流れを示すフローチャートである。
まず、処理部１００は、初期設定を行う（ステップＳ１）。例えば、誤差推定処理において、カルマンフィルターで利用する各種パラメーター値（カルマンフィルターパラメーター値）の初期設定を行う。
【００８６】
次に、処理部１００は、ユーザーの身体に装着されたジャイロセンサー５Ｂの出力から少なくとも１軸の姿勢情報の算出を開始する（ステップＳ３）。
【００８７】
次に、処理部１００は、ユーザーの身体に装着された加速度センサー５Ａの出力に基いてユーザーの歩行の１歩を検出する（ステップＳ５）。
【００８８】
次に、処理部１００は、検出された１歩毎に少なくとも連続する３歩分の姿勢情報を演算データ６３０として記憶部６００に記憶する（ステップＳ７）。
【００８９】
次に、処理部１００は、演算データ６３０として記憶部６００に記憶された最新の１歩分の姿勢情報と、最新の１歩よりも２歩前の１歩分の姿勢情報との相関係数、及び、最新の１歩分の姿勢情報と、最新の１歩よりも１歩前の１歩分の姿勢情報との相関係数を算出する（ステップＳ９）。
【００９０】
次に、処理部１００は、相関係数が判定条件を満たすか否かを判定する（ステップＳ１１）。
【００９１】
次に、処理部１００は、相関係数が判定条件を満たすと判定されたら（ステップＳ１１；Ｙｅｓ）、過去の複数の代表値から最新の１歩分の姿勢情報を補正する際の参照値を生成する（ステップＳ１３）。また、履歴データ６５０を更新する（ステップＳ１２）。具体的には、最新の１歩分の姿勢情報から代表値を抽出し、履歴データ６５０として記憶部６００に記憶させる。
【００９２】
相関係数が判定条件を満たさないと判定されたら（ステップＳ１１；Ｎｏ）、記憶部６００に記憶する履歴データ６５０を消去して（ステップＳ１５）、姿勢情報の算出（ステップＳ３）に戻る。なお、相関がない期間は、積分で姿勢情報の算出を続けてもよい。ジャイロバイアスは最後に相関があったときまでの値を使用してもよい。次に相関がみられたら、補正を再開するが、方位角には補正できなかった期間のバイアスが累積してしまうので、適宜外部（ＧＰＳ、地磁気センサーなど）の観測値を用いて補正してもよい。
【００９３】
次に、処理部１００は、ステップＳ１３で生成した参照値に基づいて、記憶部６００の参照値データ６６０を更新する（ステップＳ１７）。
【００９４】
次に、処理部１００は、誤差推定処理を行う（ステップＳ１９）。つまり、ステップＳ１３で生成した参照値データ６６０を観測情報とするカルマンフィルター処理を行って、ＩＮＳ演算処理の演算データ６３０に含まれる誤差を推定する。そして、推定した誤差（補正量）を誤差データ６４０として記憶部６００に記憶させる。
【００９５】
次に、処理部１００は、補正処理を行う（ステップＳ２１）。つまり、誤差データ６４０に記憶されている各演算結果の誤差（補正量）を用いて、演算データ６３０に含まれる各演算結果を補正する。そして、補正された演算データ６３０を用いて演算したＩＮＳ演算結果を出力する（ステップＳ２３）。その後、処理部１００は、処理を終了するか否かを判定する（ステップＳ２５）。処理を継続すると判定した場合は（ステップＳ２５；Ｎｏ）、姿勢情報の算出（ステップＳ３）に戻る。
【００９６】
一方、ステップＳ２５において処理を終了すると判定した場合は（ステップＳ２５；Ｙｅｓ）、処理部１００は、メイン処理を終了する。
【００９７】
なお、本実施形態では、処理部１００は、過去の複数の代表値から最新の１歩分の姿勢情報を補正する際の参照値を生成すると説明したが、参照値の生成方法はこれに限られない。例えば、処理部１００は、所定数以上前の１つの代表値を、最新の１歩分の姿勢情報のジャイロバイアス、方位角（ヨー角）、姿勢角（ピッチ角、ロール角）の補正用の参照値としてもよい。
【００９８】
２．実施例
図１１は、ウォーキングデータを用いた実施例の検証結果（過去複数の代表値を用いて参照値を生成）を示す図である。（Ａ）は検証結果を示す図であり、（Ｂ）はジャイロバイアスの推定を示す図、（Ｃ）は方位角の推定を示す図である。なお、（Ｂ）の縦軸の単位は（dps）（degree per second）、（Ｃ）の縦軸の単位は（deg）であり、（Ｂ）（Ｃ）ともに横軸は時間（sec）である。図（Ａ）に示すコースＣを歩行して得られたデータを使用して上記実施形態の方法で参照値を生成し、軌跡Ｅを描いた。歩行距離は、７９９．１ｍである。図１１（Ｂ）に示すように、ジャイロバイアスの推定は３軸共に正しい値を示している。また、図１１（Ｃ）に示すように、方位角の推定もほぼ正しい値を示している。その結果、図１１（Ａ）に示すように、プロットされた軌跡Ｅは真の軌跡Ｃとほぼ一致している。
【００９９】
図１２は、ウォーキングデータを用いた比較例の検証結果（２歩前の１つの代表値を参照値として使用）を示す図である。（Ａ）は検証結果を示す図であり、（Ｂ）はジャイロバイアスの推定を示す図、（Ｃ）は方位角の推定を示す図である。なお、（Ｂ）の縦軸の単位は（dps）、（Ｃ）の縦軸の単位は（deg）であり、（Ｂ）（Ｃ）ともに横軸は時間（sec）である。図１１に示すウォーキングデータと同一のデータだが、２歩前の１点だけの情報を参照値にすると、図１２（Ｂ）に示すように、ジャイロバイアスの推定に失敗している。特にヨー角の推定に失敗している。また、図１２（Ｃ）に示すように、方位角の推定も失敗している。その結果、図１２（Ａ）に示すように、プロットされた軌跡Ｆは真の軌跡Ｃから大きくずれている。
【０１００】
以上のように、ある１歩分の姿勢情報と、過去の左右２歩分の姿勢情報との相関係数の大きさと符号によって、歩行中の参照値生成及び左右足の分別をより正確かつ簡単に行うことができる。
【０１０１】
また、２歩前の１点の代表値を利用する方法に比べて、過去複数の代表値を利用して統合的な参照値を生成することにより、精度的に安定性を持つことができるため、ジャイロバイアスを正しく推定でき、かつ、姿勢情報も精度よく補正することができる。
【０１０２】
さらに、歩行検出タイミングに合わせて、参照値が生成され、カルマンフィルターの観測更新を１歩毎にしか行わないため、１サンプル毎に更新する場合と比べて、計算負荷がかなり軽減される。
【０１０３】
（第２実施形態）
第１実施形態では、参照値の生成方法として過去複数の代表値をフィルタリング処理して得られた値を用いて今回参照値を生成する例を説明したが、参照値の生成方法はこれに限られない。本実施形態では、過去の代表値のうち、第２記憶部１１Ａ−２に記憶された一番目の代表値（最も古い代表値）を今回の１歩分の姿勢情報を補正する参照値とする。以下、第１実施形態と同じ構成要件には同一符号を付し、それらの説明を省略又は簡略化する。
【０１０４】
具体的には、本実施形態では、相関係数が判定条件を満たすと判定されるたびに、第２記憶部１１Ａ−２がに最新の１歩と同じ足の複数の代表値が記憶されていれば、それらの代表値のうち一番目の代表値を、今回検出値の参照値として、ジャイロバイアス及び姿勢情報の補正に用いる。
【０１０５】
aRef（left，k）＝leftBuffer（１）
aRef（right，k）＝rightBuffer（１）
ただし、aRef（left，k）は左足のｋ番目の参照値、aRef（right，k）は右足のｋ番目の参照値、leftBuffer（１）は第２記憶部１１Ａ−２の左足の１番目の代表値、rightBuffer（１）は第２記憶部１１Ａ−２の右足の１番目の代表値で、k＞１である。
【０１０６】
本方法で得られた参照値によれば、姿勢情報記憶部１１Ａの一番目の姿勢角はバイアスの累積誤差の影響が最も少ないため、参照値として使用することで、ジャイロバイアスと姿勢情報の誤差推定の精度を向上することが期待できる。
【０１０７】
（第３実施形態）
本実施形態では、過去の複数の代表値をフィルタリング処理して得られた値と、同足の代表値のうち第２記憶部１１Ａ−２に記憶された一番目の姿勢角との重み付け平均を行って得られた値を参照値とする。以下、第１及び第２実施形態と同じ構成要件には同一符号を付し、それらの説明を省略又は簡略化する。
【０１０８】
具体的には、本実施形態では、歩行が検出されるたびに、第２記憶部１１Ａ−２に最新の１歩と同じ足の複数の代表値が記憶されていれば、それらの代表値を抽出して、フィルタリング処理する。得られた値と、同じ足の第２記憶部１１Ａ−２に記憶された１番目の姿勢角との重み付け平均を行って、得られた値を参照値として、ジャイロバイアス及び姿勢情報の補正に用いる。
【０１０９】
aRef_１（left，k）＝filter［leftBuffer（k−１，k−２，…k−n）］
aRef_１（right，k）＝filter［rightBuffer（k−１，k−２，…k−n）
ただし、aRef_１（left，k）は左足のｋ番目の参照値、aRef_１（right，k）は右足のｋ番目の参照値、leftBuffer（k−１，k−２，…k−n）は第２記憶部１１Ａ−２の左足のk−１〜k−n番目の代表値（k＞n）、rightBuffer（k−１，k−２，…k−n）は第２記憶部１１Ａ−２の右足のk−１〜k−n番目の代表値（k＞n）である。
【０１１０】
aRef_２（left，k）＝leftBuffer（１）
aRef_２（right，k）＝rightBuffer（１）
ただし、aRef_２（left，k）は左足のｋ番目の参照値、aRef_２（right，k）は右足のｋ番目の参照値、leftBuffer（１）は第２記憶部１１Ａ−２の左足の１番目の代表値、rightBuffer（１）は第２記憶部１１Ａ−２の右足の１番目の代表値である。
【０１１１】
aRef（left，k）＝p１＊aRef_１（left，k）＋p２＊aRef_２（left，k）
aRef（right，k）＝p１＊aRef_１（left，k）＋p２＊aRef_２（left，k）
ここで、０＜p１＜１、０＜p２＜１、p１＋p２＝１を満たす。
ただし、aRef（left，k）は左足のｋ番目の参照値、aRef（right，k）は右足のｋ番目の参照値、p１，p２は重み付けである。
【０１１２】
本方法で得られた参照値によれば、バイアスの累積誤差の最も少ない値と、フィルタリングされた精度的に安定性を持つ値との重み付け平均を参照値にしたため、ジャイロバイアスを正しく推定できると共に、姿勢情報も精度よく補正することができる。
【０１１３】
（変形例）
本発明を適用可能な実施形態及び実施例は、上記の実施形態及び実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施形態及び実施例と同一の構成要素については同一の符号を付して説明を省略し、上記の実施形態及び実施例とは異なる部分を中心に説明する。
【０１１４】
１．補正方法
上記の実施形態では、慣性航法演算結果を補正する手法としてカルマンフィルターを例に挙げて説明したが、補正方法はこれに限られない。例えば、カルマンフィルターではなく、平均化フィルターを用いて誤差を補正することとしてもよい。
【０１１５】
具体的には、ＩＮＳ１０によって演算されたＩＮＳ演算結果（入力ベクトル“Ｕ”）と、参照値生成部２０によって生成された参照値（観測ベクトル“Ｚ”）との平均化処理を行い、その結果を出力することも可能である。この場合において、平均化処理は、単純な算術平均や幾何平均を適用してもよいし、加重平均を適用してもよい。
【０１１６】
２．姿勢情報
上記の実施形態では、姿勢情報として方位角を用いる場合を説明したが、姿勢情報は姿勢角（ロール角又はピッチ角）であってもよい。ユーザーが歩行した場合、姿勢角にも方位角と同様の変化を示すので、３歩分の姿勢角の間での相関も方位角の場合と同様の傾向となる。そのため、同様の方法によって適切に参照値を生成できる。
【０１１７】
３．代表値の記憶
上記の実施形態では、複数の代表値を記憶し、当該複数の代表値を用いて参照値を生成する例を説明したが、代表値から計算される平均値を記憶してもよい。例えば、相関係数が判定条件を満たした場合に、新たな代表値と記憶部６００に記憶されている代表値（又は平均値）との平均値を算出し、履歴データ６５０を上書きする。次に代表値が得られたら、記憶されている履歴データ６５０との平均を算出し、再度上書きする。これにより、複数の代表値をそのまま記憶する場合と比較して、記憶するデータ量の増加を抑制できる。なお、平均値は複数の代表値から得られるので、平均値を記憶することも複数の代表値を記憶することに含まれるものとする。
【０１１８】
４．処理の主体
上記の実施例では、電子機器にＩＭＵ５００が搭載され、ＩＭＵ５００の計測結果に基づいて、電子機器の処理部１００が慣性航法演算処理を行うものとして説明した。しかし、電子機器にＩＮＳ１０を搭載することとし、ＩＮＳ１０の処理部が慣性航法演算処理を行うこととしてもよい。この場合、電子機器の処理部１００は、ＩＮＳ１０から出力される慣性航法演算結果に含まれる誤差（慣性航法演算誤差）を推定する処理を行う。そして、推定した慣性航法演算誤差を用いて、ＩＮＳ１０から入力した慣性航法演算結果を補正する。
【０１１９】
また、電子機器にＧＰＳ等の衛星測位システムを適用したセンサーユニットを搭載することとし、このセンサーユニットの計測結果を利用して、慣性航法演算結果をさらに補正することとしてもよい。
【０１２０】
５．対象
上記実施形態では、ユーザーが歩行者である例を説明したが、姿勢情報の変化が同様の傾向を示す移動体であれば上記の参照値生成方法を使用することが可能である。例えば、２足歩行ロボットのＩＮＳ演算装置に適用してもよい。
【０１２１】
６．電子機器
上記の実施例では、腰に装着するＩＮＳ演算装置１０００に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、携帯型ナビゲーション装置（ポータブルナビ）や携帯型電話機、パソコン、ＰＤＡ（Personal Digital Assistants）といった他の電子機器にも本発明を適用可能である。
【符号の説明】
【０１２２】
１…全体システム  ５Ａ…加速度センサー（慣性センサー）  ５Ｂ…ジャイロセンサー  １０…ＩＮＳ  １１…姿勢情報算出部（方位姿勢角算出部）  １１Ａ…姿勢情報記憶部（記憶部）  １３…絶対座標加速度ベクトル算出部  １５…絶対座標速度ベクトル算出部  １５Ａ…絶対座標速度ベクトル記憶部  １７…絶対座標位置算出部  １７Ａ…絶対座標位置記憶部  １８…重力算出部  ２０…参照値生成部  ３０…誤差推定部  ４０…歩行検出部  ４２…相関係数算出部  ４４…相関係数判定部  ４６…姿勢情報更新部（方位姿勢角更新部）  １００…処理部  ２００…操作部  ３００…表示部  ４００…音出力部  ５００…ＩＭＵ  ６００…記憶部  ６１０…メインプログラム  ６２０…ＩＭＵ計測データ  ６３０…演算データ  ６４０…誤差データ  ６５０…履歴データ  ６６０…参照値データ  １０００…ＩＮＳ演算装置。
【図１】
2015017858.tif 000003
【図２】
2015017858.tif 000004
【図３】
2015017858.tif 000005
【図４】
2015017858.tif 000006
【図８】
2015017858.tif 000007
【図９】
2015017858.tif 000008
【図１０】
2015017858.tif 000009
【図５】
2015017858.tif 000010
【図６】
2015017858.tif 000011
【図７】
2015017858.tif 000012
【図１１】
2015017858.tif 000013
【図１２】
2015017858.tif 000014