説明

参照値生成方法及び参照値生成装置

【課題】ユーザーの移動時の計測誤差を補正するための参照値を生成する新たな手法の提案。
【解決手段】ローカル座標速度ベクトル算出部21によって算出されたローカル座標速度ベクトル及び姿勢角算出部25によって算出された姿勢角に基づいて、ユーザーの移動時の姿勢及び速度を検出した検出値の変遷に類似する過去の検出値の変遷部分が、参照速度ベクトル算出部23及び参照姿勢角算出部27がそれぞれ有する相関演算部によって、所定の相関演算を行うことで抽出される。そして、当該抽出結果を用いて、検出値を補正する際の検出値の参照値が、参照速度ベクトル算出部23及び参照姿勢角算出部27によって算出・生成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値を補正する際に利用される参照値の生成方法等に関する。
【背景技術】
【0002】
いわゆるシームレス測位やモーションセンシング、姿勢制御など様々な分野において、センサーの活用が注目されている。センサーとしては、加速度センサーやジャイロセンサー、圧力センサー、地磁気センサーなどが広く知られている。センサーの計測結果を利用して慣性航法演算を行って移動体(例えば自転車や自動車、電車、船、飛行機など)の位置算出を行う技術も考案されている。
【0003】
その中でも、移動体として人間を想定し、慣性航法等を利用して人間の位置を算出する技術が、特許文献1〜4に開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許公報11/379269号明細書
【特許文献2】米国特許公報09/212766号明細書
【特許文献3】米国特許公報08/405087号明細書
【特許文献4】米国特許公報06/465274号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば3軸の加速度センサーの計測結果を利用して歩行中の位置を算出する場合は、加速度センサーの計測結果である加速度ベクトルを積算して速度ベクトルを求め、速度ベクトルを積算して位置を算出する。しかし、センサーの計測結果に含まれるバイアス等の影響により、積算を繰り返すことで、慣性航法の演算誤差が累積するという問題がある。
【0006】
つまり、歩行用の位置算出の技術では、位置算出の精度が、もっぱら位置算出装置に搭載される慣性センサーの計測誤差に依存する。そのため、慣性センサーの計測誤差を補正する必要が生じる。計測誤差を補正するためには、補正の基準となる参照値が必要となる。参照値に誤りがあると、計測誤差を正しく補正できないことになる。
【0007】
本発明は上述した課題に鑑みて為されたものであり、ユーザーの移動時の計測誤差を補正するための参照値を生成する新たな手法を提案することを目的とする。
【課題を解決するための手段】
【0008】
以上の課題を解決するための第1の形態は、ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値を記憶部に記憶することと、現在までの前記検出値の変遷に類似する過去の前記検出値の変遷部分を前記記憶部から抽出することと、前記抽出結果を用いて、前記検出値を補正する際の前記検出値の参照値を生成することと、を含む参照値生成方法である。
【0009】
また、他の形態として、ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値を記憶する記憶部と、現在までの前記検出値の変遷に類似する過去の前記検出値の変遷部分を前記記憶部から抽出する抽出部と、前記抽出部の抽出結果を用いて、前記検出値を補正する際の前記検出値の参照値を生成する生成部と、を備えた参照値生成装置を構成することとしてもよい。
【0010】
この第1の形態等によれば、ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値を記憶部に記憶する。そして、現在までの検出値の変遷に類似する過去の検出値の変遷部分を記憶部から抽出し、当該抽出結果を用いて、検出値を補正する際の検出値の参照値を生成する。現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出するといった簡易な手法により、ユーザーの移動時に検出された姿勢、速度、角速度及び加速度の何れかを補正する際に利用される参照値を生成することができる。
【0011】
また、第2の形態として、第1の形態の参照値生成方法において、前記抽出することは、前記検出値の変遷に最も類似する過去の前記検出値の変遷部分を抽出することを含む、参照値生成方法を構成することとしてもよい。
【0012】
この第2の形態によれば、検出値の変遷に最も類似する過去の検出値の変遷部分を抽出することで、検出値を補正する際の当該検出値の参照値として適切な値を生成することができる。
【0013】
また、第3の形態として、第1又は第2の形態の参照値生成方法において、前記抽出することは、現在までの前記検出値の変遷と、過去の前記検出値の変遷との類似度を算出することを含み、前記算出された類似度のうちの最も高い類似度が、所定の高類似条件を満たさない場合に、最新の前記検出値を用いて、前記参照値を生成することを含む、参照値生成方法を構成することとしてもよい。
【0014】
類似度が低いにも関わらず、過去の検出値の変遷部分を用いて参照値を生成した場合、その参照値は適切な値ではない可能性が高い。すなわち、その参照値を用いて検出値を補正しても、正しく補正できない可能性が高い。そこで、第3の形態によれば、現在までの検出値の変遷と、過去の検出値の変遷との類似度のうちの最も高い類似度が、所定の高類似条件を満たさない場合には、最新の検出値を用いて参照値を生成する。これにより、例えば、ユーザーが移動中に方向転換をする場面など、ユーザーの移動時に検出される諸量が瞬間的に大きく変化する場面では、その場面に見合った適切な参照値を生成することが可能となる。
【0015】
また、第4の形態として、第1〜第3の何れかの形態の参照値生成方法において、前記抽出することは、ユーザーの上下動の加速度のうち隣接するピーク間の時間間隔である着地時間間隔に基づき定まる前記類似の判定のための時間範囲を用いて、現在を終期とする当該時間範囲の前記検出値の変遷に類似する過去の当該時間範囲の前記検出値の変遷を抽出することである、参照値生成方法を構成することとしてもよい。
【0016】
この第4の形態によれば、ユーザーの上下動の加速度のうち隣接するピーク間の時間間隔である着地時間間隔に基づき定まる類似の判定のための時間範囲を用いることで、現在を終期とする当該時間範囲の検出値の変遷に類似する過去の当該時間範囲の検出値の変遷を適切に抽出することができる。その結果、適切な参照値を生成することが可能となる。
【0017】
また、第5の形態として、第1〜第4の何れかの形態の参照値生成方法において、前記記憶部は、ユーザーが2歩歩行する間に検出される前記検出値を記憶する容量として定められた所定容量以上の容量を有する、参照値生成方法を構成することとしてもよい。
【0018】
この第5の形態によれば、記憶部が、ユーザーが2歩歩行する間に検出される検出値を記憶する容量として定められた所定容量以上の容量を有する構成となることで、人間の歩行時における姿勢、速度、角速度及び加速度の周期性に基づいて、現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出することが可能となる。
【0019】
また、第6の形態として、第1〜第5の何れかの形態の参照値生成方法において、前記参照値を観測情報として、前記検出値の補正量を求めるカルマンフィルター処理を行うことと、前記補正量に基づいて前記検出値を補正することと、前記検出値を用いて位置を算出することと、を含む参照値生成方法を構成することとしてもよい。
【0020】
この第6の形態によれば、上記の何れかの形態で求めた参照値を観測情報として、検出値の補正量を求めるカルマンフィルター処理を行うことで、検出値の補正量を正しく求めることができる。そして、求めた補正量に基づいて検出値を補正し、補正結果の検出値を用いて位置を算出することで、位置を正しく算出することが可能となる。
【0021】
また、第7の形態として、第1〜第5の何れかの形態の参照値生成方法において、前記検出値には、ユーザーの移動時の絶対座標における速度ベクトルを示す値が少なくとも含まれ、加速度センサーの計測値に基づいて定まる加速度ベクトルを積算して、絶対座標における速度ベクトルを求めることと、前記速度ベクトルを積算して、絶対座標における位置を算出することと、前記参照値を用いて、前記加速度ベクトルの積算、及び、前記速度ベクトルの積算の何れかを補正すること、を含む参照値生成方法を構成することとしてもよい。
【0022】
この第7の形態によれば、加速度センサーの計測値に基づいて定まる加速度ベクトルを積算して、絶対座標における速度ベクトルを求める。求めた速度ベクトルを積算して、絶対座標における位置を算出する。そして、参照値を用いて、加速度ベクトルの積算、及び、速度ベクトルの積算の何れかを補正する。これにより、積算を繰り返して位置を算出する場合に生じる演算誤差の累積を防止することができる。
【図面の簡単な説明】
【0023】
【図1】全体システムのシステム構成の説明図。
【図2】INSのシステム構成の説明図。
【図3】参照値生成部の機能構成の説明図。
【図4】ローカル座標速度ベクトルの時間変化の一例を示す図。
【図5】姿勢角の時間変化の一例を示す図。
【図6】相関演算結果の一例を示す図。
【図7】INS演算システムのシステム構成図。
【図8】INS演算装置の機能構成の一例を示すブロック図。
【図9】メイン処理の流れを示すフローチャート。
【図10】参照値生成処理の流れを示すフローチャート。
【発明を実施するための形態】
【0024】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【0025】
1.原理
1−1.全体システム
図1は、本実施形態における全体システム1の概略構成を示す図である。全体システム1は、INS(Inertial Navigation System)10と、参照値生成部20と、誤差推定部30とを備えて構成される。
【0026】
以下参照する図面では、センサーのブロックを二重線で示し、センサーの計測結果を利用して演算処理を行う処理ブロックを一重線で示す。一重線で示される処理ブロックは、例えば電子機器に搭載されるプロセッサー(ホストプロセッサー)が処理主体となる処理ブロックである。なお、各処理ブロックの処理の主体は、本発明を適用するシステムに応じて適宜設定可能である。
【0027】
本実施形態では、2種類の座標系を定義する。第1の座標系は、センサーに対応付けられた三次元直交座標系でなるローカル座標系(センサー座標系)である。本実施形態では、ローカル座標系の3軸をu軸、v軸及びw軸と表記する。
【0028】
第2の座標系は、慣性航法演算を行う際の基準とする絶対座標系である。絶対座標系は、例えば、北東下座標系として知られるNED(North East Down)座標系や、東北上座標系として知られるENU(East North Up)座標系、地球中心地球固定座標系として知られるECEF(Earth Centered Earth Fixed)座標系といった各種の座標系を適用できる。本実施形態では、絶対座標系の3軸をX軸、Y軸及びZ軸と表記する。
【0029】
加速度や速度には、大きさの他に方向がある。本明細書では、原則として、加速度や速度と言ったときは加速度や速度の大きさ(スカラー量)を表すものとし、加速度ベクトルや速度ベクトルと言ったときは大きさ(スカラー量)に加えて方向を表すものとする。また、各座標系において定義される諸量を明確にするため、各諸量を表す文言の先頭に座標系の種類を付して説明する。例えば、ローカル座標系で表した加速度ベクトルのことを「ローカル座標加速度ベクトル」と称し、絶対座標系で表した加速度ベクトルのことを「絶対座標加速度ベクトル」と称する。他の諸量についても同様である。
【0030】
INS10は、慣性航法システムとして知られ、自立的な測位が可能に構成されたシステムである。INS10は、加速度センサー5Aやジャイロセンサー5B、地磁気センサーといった慣性センサーや、これらの慣性センサーをパッケージ化したIMU(Inertial Measurement Unit)によって計測された計測結果に基づいて、位置や速度(速度ベクトル)、姿勢角等を演算して出力する。IMUは、慣性計測ユニットとして知られるセンサーユニットであり、ローカル座標系で表した加速度ベクトル及び角速度ベクトルを計測して出力可能に構成されている。
【0031】
図2は、INS10のシステム構成の一例を示す図である。INS10は、センサーとして、加速度センサー5Aと、ジャイロセンサー5Bとを有する。また、処理ブロックとして、姿勢情報算出部11と、絶対座標加速度ベクトル算出部13と、絶対座標速度ベクトル算出部15と、絶対座標位置算出部17と、重力算出部18と、補正部19とを有する。
【0032】
加速度センサー5Aは、加速度ベクトルをローカル座標系で計測するセンサーである。また、ジャイロセンサー5Bは、角速度ベクトルをローカル座標系で計測するセンサーである。これらのセンサーには、例えばMEMS(Micro Electro Mechanical Systems)の技術を利用したMEMSセンサーが用いられる。
【0033】
姿勢情報算出部11は、ジャイロセンサー5Bによって計測された角速度ベクトルと、姿勢情報記憶部11Aに記憶されている姿勢情報とを用いて、最新の姿勢情報を算出する。姿勢情報は、例えば、クォータニオンや方向余弦行列(以下、「DCM(Direction Cosine Matrix)」と称す。)、オイラー角といった、各種の姿勢表現に基づき定義される姿勢を示す情報のことを意味する。なお、各種の姿勢表現については従来公知であるため、ここでは詳細な説明を省略する。姿勢情報算出部11は、算出した最新の姿勢情報を姿勢情報記憶部11Aに記憶させる。
【0034】
絶対座標加速度ベクトル算出部13は、加速度センサー5Aによって計測されたローカル座標加速度ベクトルと、姿勢情報算出部11から入力した姿勢情報とを用いて、最新の絶対座標加速度ベクトルを算出する。具体的には、ローカル座標加速度ベクトルを絶対座標加速度ベクトルに座標変換して、最新の絶対座標加速度ベクトルを算出する。座標変換は公知の技術を適用可能であるため、説明を省略する。
【0035】
絶対座標速度ベクトル算出部15は、絶対座標加速度ベクトル算出部13から入力した絶対座標加速度ベクトルと、重力算出部18から入力した重力情報と、絶対座標速度ベクトル記憶部15Aに記憶された絶対座標速度ベクトルとを用いて、絶対座標速度ベクトルを算出する。この際、重力方向及びコリオリの力を重力情報及び記憶された絶対座標速度ベクトルに基づいて補正する。地球は楕円形をしているため、地球中心から見た緯度と地理学上の緯度とは異なる。そのため、重力方向についての補正が必要であり、地球は宇宙の慣性空間に対して回転しているため、コリオリの力の補正も必要となる。
【0036】
絶対座標速度ベクトル算出部15は、上記のように重力方向を加味して、絶対座標加速度ベクトルを、絶対座標速度ベクトル記憶部15Aに記憶された絶対座標速度ベクトルに積算することで最新の絶対座標速度ベクトルを算出する。そして、算出した最新の絶対座標速度ベクトル記憶部15Aに記憶させる。
【0037】
絶対座標位置算出部17は、絶対座標速度ベクトル算出部15から入力した絶対座標速度ベクトルを、絶対座標位置記憶部17Aに記憶された絶対座標位置に積算することで絶対座標位置を算出する。そして、算出した最新の絶対位置座標を絶対座標位置記憶部17Aに記憶させる。
【0038】
重力算出部18は、絶対座標位置算出部17から入力した絶対座標位置を用いて、重力情報を算出して、絶対座標速度ベクトル算出部15に出力する。
【0039】
補正部19は、誤差推定部30によって推定された誤差情報を用いて、各算出部で算出された積算値を補正する。具体的には、計測角速度ベクトルを、誤差情報に含まれる角速度バイアスを用いて補正する。また、姿勢情報記憶部11Aに記憶された姿勢情報を、誤差情報に含まれる姿勢角誤差を用いて補正する。また、計測加速度ベクトルを、誤差情報に含まれる加速度バイアスを用いて補正する。
【0040】
また、絶対座標速度ベクトル記憶部15Aに記憶された絶対座標速度ベクトルを、誤差情報に含まれる速度ベクトル誤差を用いて補正し、絶対座標位置記憶部17Aに記憶された絶対座標位置を、誤差情報に含まれる位置誤差を用いて補正する。
【0041】
INS10からは、最終的に、姿勢情報と、絶対座標速度ベクトルと、絶対座標位置とが演算結果として出力される。
【0042】
1−2.参照値の生成方法
図1に戻り、参照値生成部20は、誤差推定部30が、姿勢や速度、加速度、位置等の補正量を求めるカルマンフィルター処理を行う際に観測情報とする参照値を生成する。参照値生成部20は、参照値を生成する装置(参照値生成装置)とも言える。
【0043】
本願発明者は、ユーザーが歩行或いは走行する移動時には、ローカル座標速度ベクトルの各軸成分と、姿勢角の各軸成分とに、それぞれ周期性が現れることを実験によって確認した。かかる知見に基づき、ユーザーの移動時の姿勢、速度を算出した算出値を、記憶部に記憶する。そして、現在までの算出値の変遷に類似する過去の算出値の変遷部分を抽出し、当該抽出結果を用いて参照値を生成する。慣性センサーの計測結果や、各処理ブロックによって算出される算出値は、それぞれ姿勢や速度、角速度及び加速度の何れかを検出した検出値の一例である。
【0044】
図4は、ユーザーの歩行時におけるローカル座標速度ベクトルの時間変化を示す実験結果の一例である。ユーザーの腰に慣性センサーを装着して、u軸、v軸及びw軸の加速度をそれぞれ積算することで(但し、重力成分を除外して積算した。)、u軸、v軸及びw軸の速度をそれぞれ算出した結果を図示している。横軸は時間軸であり、縦軸は速度の値である。この実験結果を見ると、u軸、v軸及びw軸の何れの速度成分も、ユーザーの歩行に伴い、周期的な変遷を示すことがわかる。これは、歩行時には、人間はほぼ一定周期で同じ足の運びをする傾向があるためである。
【0045】
図5は、ユーザーの歩行中における姿勢角の時間変化を示す実験結果の一例である。実験方法は上記と同様である。u軸、v軸及びw軸の軸周りの角速度ベクトルを利用して姿勢更新することで求めたロール角、ピッチ角及びヨー角を図示している。横軸は時間軸であり、縦軸は姿勢角の値である。この実験結果を見ると、ロール角、ピッチ角及びヨー角の何れも、ユーザーが真っ直ぐ進行している間は、周期的な変遷を示す傾向がある。但し、ヨー角について、ユーザーが方向転換をする際には周期性が現れない。ユーザーが方向転換をする際には、ヨー角の算出値が瞬間的に大きく変化する。
【0046】
なお、上記は人間の腰に慣性センサーを設置した場合の実験結果であるが、慣性センサーをユーザーが手に持った状態や、ユーザーの胸ポケットに入れた状態、ユーザーの鞄の中に入れた状態といった種々の状態で同様の測定を行ってみた。その結果、慣性センサーの装着場所に依らずに、ローカル座標速度ベクトル及び姿勢角には周期性が現れることを確認した。
【0047】
本実施形態では、上記の周期性に着目し、ローカル座標速度ベクトルの各軸の速度成分と、姿勢角の各軸の成分とのそれぞれについて、過去に検出された値(過去の算出値)を利用して参照値を生成する。具体的には、現在を終期とする所定の時間範囲の検出値の変遷に類似する過去の当該時間範囲の検出値の変遷を抽出する。この方法として、本実施形態では、相関演算を利用する。
【0048】
詳細に説明する。まず、現在を終期とする所定の時間範囲(例えば1秒間)の検出値のデータ列を選択する。このデータ列は固定である。一方、同じ時間範囲(例えば1秒間)の過去の検出値のデータ列を、選択する期間(いつの時点の1秒間とするか)をずらしながら選択する。そして、選択したデータ列それぞれを、現在を終期とするデータ列と比較する相関演算を行って、相関値(類似度)を算出する。相関演算は畳み込み演算で行う。所定期間(例えば現在から過去3秒間の間)の中から選択するデータ列をずらしながら相関演算をすることで、現在までの検出値の変遷に最も類似する過去の検出値の変遷部分を抽出することができる。
【0049】
図6は、本実施形態の相関演算を説明するための図である。ローカル座標速度ベクトルのうちのw軸の速度成分に関して図示している。横軸は時間軸であり、縦軸は速度である。図中の左右中央の時刻“41[秒]”を基準として、左側の実線で示した検出値(サンプル値)のうちの連続する所定数の検出値を第1データ列とし、右側の点線で示した検出値のうちの所定数の検出値を第2データ列とする。但し、「所定数」は、2歩歩くのに要する時間以上のサンプル数となるように定めた。そして、第1データ列の選択位置を時間軸方向にずらして、第2データ列との相関演算を行った結果を図6の右下部に示す。この図において、横軸は検出値のズレ分であり、縦軸は相関値である。
【0050】
この結果を見ると、第1データ列を「+2サンプル分」ずらした場合に、最も高い相関が得られる。そして、この相関値をピーク(相関ピーク値)として、第1データ列の選択位置をずらすほど、相関値が低減していくことがわかる。なお、図示していないが、ずらす量を更に大きくしていくと、相関値は低減から増加に転じ、「+2サンプル分」ずらした場合と同様のピーク状の値を示した。従って、ユーザーの移動において、検出値が周期的に変遷することが推察される。そこで、第2データ列を、最新の検出値を周期とするデータ列とし、第1データ列を時間軸方向にずらしながら相関演算することで、現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出することができる。
【0051】
また、相関値がピークとなった「+2サンプル分」ずらした場合の第1データ列を構成する検出値と、第2データ列を構成する検出値とは、時刻順に比較すると、互いに近似する値であると言える。そのため、現在までの検出値の変遷に類似する過去の検出値の変遷部分が抽出できれば、最新の検出値に近似するはずの過去の検出値を、抽出された変遷部分の中から選択することが可能となる。最新の検出値を補正する際には、その最新の検出値に対応する、その最新の検出値に近似するはずの過去の検出値を、参照値として利用することができるのである。
【0052】
本実施形態において、相関演算は畳み込み演算で行われる。また、第2データ列を固定とし、第1データ列のみを時間軸方向にずらす。このため、第2データ列の終端の検出値を最新の検出値とし、ずらして選択していく第1データ列の終端の検出値に、相関演算結果を対応づける。こうすることで、最も高い相関値が対応づけられた検出値が、最新の検出値に近似するはずの過去の検出値であると簡単に判断できる。
【0053】
なお、図6を参照して速度に関して説明したが、姿勢角についても同様である。また、相関演算を行う際には、ローカル座標速度ベクトルの各成分及び姿勢角の各成分それぞれについて、バンドパスフィルター等のデジタル信号処理を実行して信号の直流成分をカットし、信号の交流成分に対して相関演算を行うことにすると好適である。
【0054】
図3に戻る。図3は、参照値生成部20の機能構成の一例を示す図である。参照値生成部20は、ローカル座標速度ベクトル算出部21と、参照速度ベクトル算出部23と、姿勢角算出部25と、参照姿勢角算出部27とを有する。
【0055】
ローカル座標速度ベクトル算出部21は、INS10から入力した絶対座標速度ベクトルを、同じくINS10から入力した姿勢情報を用いて座標変換することで、ローカル座標速度ベクトルを算出する。
【0056】
参照速度ベクトル算出部23は、ローカル座標速度ベクトル算出部21から入力したローカル座標速度ベクトルを時刻と対応づけて記憶部に履歴的に記憶するとともに、ローカル座標速度ベクトルの各軸の速度成分それぞれについて過去のデータを読み出し、上記の原理に従った相関演算を行う。
【0057】
参照速度ベクトル算出部23は、第1の相関演算部23Aと、第1の相関ピーク判定部23Bとを有する。参照速度ベクトル算出部23は、参照値を生成する生成部に相当する。また、第1の相関演算部23A及び第1の相関ピーク判定部23Bは、現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出する抽出部に相当する。
【0058】
第1の相関演算部23Aは、履歴的に記憶された過去のローカル座標速度ベクトルについて第1の相関演算を行う。相関演算は上述の原理の通りである。これにより、現在の算出値に対して、過去のどの算出値が最も高い相関を有するかを判定する。
【0059】
第1の相関ピーク判定部23Bは、第1の相関演算部23Aの相関演算の結果に基づいて、相関ピーク値を判定する。現在の算出値と高い相関を有する算出値が過去に存在する場合には、相関ピーク値は比較的大きい値となる。しかし、現在の算出値と高い相関を有する算出値が過去に存在しなければ、相関ピーク値は比較的小さい値となる。そこで、相関ピーク値が所定の閾値を超えている場合は、相関ピーク値を「OK」と判定する。他方、所定の閾値を超えていない場合は、相関ピーク値を「NG」と判定する。
【0060】
第1の相関ピーク判定部23Bによって相関ピーク値が「OK」と判定された場合には、その相関ピーク値及びズレ量に基づいて過去の検出値を読み出して、参照値として設定する。それに対し、相関ピーク値が「NG」と判定された場合には、最新の速度の検出値を参照値とする。つまり、相関がとれなかった場合は、過去の検出値を用いるのではなく、最新の検出値を参照値として用いる。これは、算出された類似度のうちの最も高い類似度が、所定の高類似条件を満たさない場合に、最新の速度の検出値を用いて、参照値を生成することに相当する。
【0061】
姿勢角算出部25は、INS10から入力した姿勢情報を用いて姿勢角を算出する。姿勢角は、ローカル座標と絶対座標間の3軸回転角度であり、ロール角、ピッチ角及びヨー角のオイラー角で表される。INS10から入力した姿勢情報がクォータニオンである場合は、クォータニオンからオイラー角に変換する。また、INS10から入力した姿勢情報がDCMである場合は、DCMからオイラー角に変換する。なお、これらの変換は従来公知であるため、ここでは説明を省略する。
【0062】
参照姿勢角算出部27は、姿勢角算出部25から入力した姿勢角を用いて、参照姿勢角を算出する。この場合、姿勢角算出部25によって算出された姿勢角の各成分は、3つの記憶部にそれぞれ格納される。
【0063】
参照姿勢角算出部27は、第2の相関演算部27Aと、第2の相関ピーク判定部27Bとを有する。第2の相関演算部27Aが行う相関演算の方法、及び、第2の相関ピーク判定部27Bが行う相関ピーク判定の方法は、上記と同様である。
【0064】
参照姿勢角算出部27は、相関ピーク値が所定の閾値を超えている場合には、相関ピーク値を「OK」と判定する。他方、所定の閾値を超えていない場合には、相関ピーク値を「NG」と判定する。そして、相関ピーク値を「OK」と判定した場合には、その相関ピーク値及びズレ量に基づいて過去の検出値を読み出して、姿勢角の参照値として設定する。それに対し、相関ピーク値を「NG」と判定した場合には、最新の姿勢角の検出値を参照値として設定する。
【0065】
例えば、ユーザーが歩行時に方向転換をした場合には、ヨー角が瞬間的に大きく変化する。そのため、方向転換時にヨー角について相関演算を行うと、うまく相関がとれず、相関ピーク値は小さくなる傾向がある。その結果、相関ピークは閾値を超えず、相関ピーク値が「NG」と判定される。つまり、ユーザーが歩行時に方向転換をした場合には、相関がとれないために、過去のヨー角の検出値ではなく、最新のヨー角の検出値が参照値として設定されることになる。
【0066】
1−3.誤差推定方法及び補正方法
図1に戻り、誤差推定部30は、参照値生成部20によって生成された参照値を用いて、所定の誤差推定演算を行うことで、INS10が演算する各諸量に含まれる誤差を推定する。誤差推定の手法としては種々の手法を適用可能であるが、本実施形態では、カルマンフィルターを適用する場合を例示する。
【0067】
具体的には、例えば、INS10により演算される姿勢情報の誤差(姿勢誤差)、絶対座標速度ベクトルの誤差(速度ベクトル誤差)、絶対座標位置の誤差(位置誤差)、加速度センサー5Aのバイアス(加速度バイアス)及びジャイロセンサー5Bのバイアス(ジャイロバイアス)を成分とする状態ベクトル“X”を設定する。また、INS10から出力されるINS演算結果を、入力ベクトル“U”(制御入力)として設定する。
【0068】
また、速度に係る観測情報として、参照速度ベクトルを絶対座標で表した絶対座標参照速度ベクトルと、INS10から入力した絶対座標速度ベクトルとの差を算出する。また、姿勢角に係る観測情報として、参照姿勢角と、INS10から入力した姿勢角情報から求まる姿勢角との差を算出する。そして、これらの差を成分とする観測ベクトル“Z”を設定する。
【0069】
上記のように状態ベクトル“X”、入力ベクトル“U”及び観測ベクトル“Z”を設定し、カルマンフィルターの理論に基づく予測演算(時刻更新)及び補正演算(観測更新)を行って、状態ベクトル“X”の推定値(状態推定値)を求める。状態推定値の各成分が誤差情報となる。これは、参照値を観測情報として、検出値の補正量を求めるカルマンフィルター処理を行うことに相当する。
【0070】
誤差推定部30によって推定された誤差情報は、INS10にフィードバックされる。そして、このフィードバックされた誤差情報に基づいて、前述したように、INS10の各処理ブロックで実行される積算が、誤差情報を用いて補正部19によって補正される。これは、補正量に基づいて検出値を補正することや、検出値を用いて位置を算出することに相当する。
【0071】
2.実施例
次に、原理で説明した参照値生成装置を適用した電子機器の実施例について説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
【0072】
図7は、本実施例におけるINS演算システムの概略構成の一例を示す図である。INS演算システムは、人間に搭載されるINS演算装置1000を備えて構成される。INS演算装置1000は、例えばユーザーの右腰に装着して利用される。ユーザーがウオーキングやランニング等の運動を行う際に、右腰に装置を装着した状態で運動を行う。位置等の情報を履歴的に記憶しておくことで、ユーザーは後から移動経路を確認したり、INS演算装置1000をパソコン等に接続することで、運動記録等の各種の情報の編集を行うことができる。
【0073】
INS演算装置1000は、加速度センサー5A及びジャイロセンサー5Bを有するセンサーユニットとしてのIMU500を具備し、IMU500に対応付けられたローカル座標系における加速度ベクトル及び角速度ベクトルを計測する。また、INS演算装置1000は、参照値生成装置を有し、ユーザーの位置、速度ベクトル及び姿勢角といった各諸量の検出値を補正する際の参照値を生成する。そして、生成した参照値を用いて、原理で説明したようにINS演算結果を補正する。
【0074】
2−1.機能構成
図8は、INS演算装置1000の機能構成の一例を示すブロック図である。INS演算装置1000は、主要な機能構成として、処理部100と、操作部200と、表示部300と、音出力部400と、IMU500と、記憶部600とを備えて構成される。
【0075】
処理部100は、記憶部600に記憶されているシステムプログラム等の各種プログラムに従ってINS演算装置1000の各部を統括的に制御する制御装置及び演算装置であり、CPU(Central Processing Unit)やDSP(Digital Signal Processor)等のプロセッサーを有して構成される。
【0076】
操作部200は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部100に出力する。この操作部200の操作により、運動の開始や運動の終了といった各種指示入力がなされる。
【0077】
表示部300は、LCD(Liquid Crystal Display)等により構成され、処理部100から入力される表示信号に基づいた各種表示を行う。表示部300には、INS演算結果である位置や速度ベクトル、姿勢角等の情報が表示される。
【0078】
音出力部400は、スピーカー等を有して構成される音出力装置であり、処理部100から出力される音出力信号に基づいた各種音出力を行う。音出力部400からは、音声ガイダンスや、歩行或いは走行に係るペース音等が音出力される。
【0079】
記憶部600は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置によって構成され、INS演算装置1000のシステムプログラムや、INS演算等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0080】
2−2.データ構成
記憶部600には、プログラムとして、処理部100により読み出され、メイン処理(図9参照)として実行されるメインプログラム610が記憶されている。メインプログラム610は、参照値生成処理(図10参照)として実行される参照値生成プログラム611をサブルーチンとして含む。これらの処理については、フローチャートを用いて詳細に後述する。
【0081】
また、記憶部600には、データとして、IMU計測データ620と、演算データ630と、誤差データ640と、履歴データ650と、参照値データ660とが記憶される。
【0082】
IMU計測データ620は、IMU500の計測結果のデータである。例えば、加速度センサーにより計測されたローカル座標加速度ベクトルと、ジャイロセンサー5Bにより計測されたローカル座標角速度ベクトルとが時系列に記憶される。
【0083】
演算データ630は、INS演算処理を行うことで算出したINS演算結果が記憶されたデータである。図2のINS10の慣性航法演算の過程で求められる各諸量に係る処理中データがこれに含まれる。
【0084】
誤差データ640は、誤差算出処理を行うことで算出したINS演算誤差が記憶されたデータである。図1の誤差推定部30の誤差推定演算の結果として得られるINS演算結果の誤差がこれに含まれる。
【0085】
履歴データ650は、参照値を生成するために用いられる履歴のデータである。図3のローカル座標速度ベクトル算出部21の演算結果を履歴的に記憶したローカル座標速度ベクトル履歴データ651と、姿勢角算出部25の演算結果を履歴的に記憶した姿勢角履歴データ653とがこれに含まれる。
【0086】
履歴データ650を記憶するための容量としては、人間が2歩歩行する間に検出される検出値を記憶するのに必要な容量として定められた所定容量以上が予め用意されている。
具体的には、本実施形態では、ゆっくり歩いた場合の歩行速度を想定し、この速度で2歩歩行する間に検出される検出値を記憶するのに必要な容量を定める。これを定式化すると、次式(1)に従って容量“L”を算出する。
L=fs×2×Tmax×1回の検出データ量 ・・・(1)
式(1)において、“fs”は、INS10が積算を行う周波数であり、“Tmax”は、一番遅い速度を想定した場合の周期である。
【0087】
参照値データ660は、参照値生成処理を行うことで生成された参照値のデータである。図3の参照速度ベクトル算出部23の演算結果である参照速度ベクトル661と、参照姿勢角算出部27の演算結果である参照姿勢角663とがこれに含まれる。
【0088】
2−3.処理の流れ
図9は、記憶部600に記憶されているメインプログラム610に従って処理部100が実行するメイン処理の流れを示すフローチャートである。
【0089】
最初に、処理部100は、初期設定を行う(ステップA1)。例えば、誤差推定処理において、カルマンフィルターで利用する各種パラメーター値(カルマンフィルターパラメーター値)の初期設定を行う。
【0090】
次いで、処理部100は、IMU500からデータの取得を開始し、取得したデータをIMU計測データ620として記憶部600に記憶させる(ステップA3)。そして、処理部100は、IMU計測データ620を用いてINS演算処理を行い、その演算結果を演算データ630として記憶部600に記憶させる(ステップA5)。その後、処理部100は、記憶部600に記憶されている参照値生成プログラム611に従って、参照値生成処理を行う(ステップA7)。
【0091】
図10は、参照値生成処理の流れを示すフローチャートである。
まず、処理部100は、ローカル座標速度ベクトル算出処理を行う(ステップB1)。そして、処理部100は、算出したローカル座標速度ベクトルを構成する各速度成分について、ループAの処理を行う(ステップB3〜B13)。ループAの処理では、処理部100は、第1の相関演算を行う(ステップB5)。
【0092】
次いで、処理部100は、第1の相関演算の結果として求まる相関値(類似度)のうち、最も高い相関値である相関ピーク値が所定の閾値を超えたか否か(所定の高類似条件を満たしたか否か)の判定を行う(ステップB7)。相関ピーク値の判定結果が「OK」である場合は(ステップB7;OK)、処理部100は、原理で説明したように、最も高い相関値が対応づけられた検出値をローカル座標速度ベクトル履歴データ651から読み出して、速度参照値として設定する(ステップB9)。
【0093】
他方、相関ピーク値の判定結果が「NG」である場合は(ステップB7;NG)、処理部100は、当該速度成分の今回の算出値を速度参照値として設定する(ステップB11)。ステップB9又はB11の後、処理部100は、次の速度成分へと処理を移行する。全ての速度成分についてステップB5〜B11までの処理を行ったならば、処理部100は、ループAの処理を終了する(ステップB13)。
【0094】
次いで、処理部100は、姿勢角算出処理を行う(ステップB15)。そして、処理部100は、各姿勢角成分について、ループBの処理を行う(ステップB17〜B27)。ループBの処理では、処理部100は、第2の相関演算を行う(ステップB19)。
【0095】
次いで、処理部100は、第2の相関演算の結果として求まる相関値(類似度)のうち、最も高い相関値である相関ピーク値が所定の閾値を超えたか否か(所定の高類似条件を満たしたか否か)の判定を行う(ステップB21)。相関ピーク値の判定結果が「OK」である場合は(ステップB21;OK)、処理部100は、原理で説明したように最も高い相関値が対応づけられた検出値を姿勢角履歴データ653から、姿勢角参照値として設定する(ステップB23)。
【0096】
他方、相関ピーク値の判定結果が「NG」である場合は(ステップB21;NG)、処理部100は、当該姿勢角成分の今回の算出値を姿勢角参照値として設定する(ステップB25)。ステップB23又はB25の後、処理部100は、次の姿勢角成分へと処理を移行する。全ての姿勢角成分についてステップB19〜B25までの処理を行ったならば、処理部100は、ループBの処理を終了する(ステップB27)。
【0097】
次いで、処理部100は、各速度成分についてステップB9又はB11で設定した速度参照値と、各姿勢角成分についてステップB23又はB25で設定した姿勢角参照値に基づいて、記憶部600の参照値データ660を更新する(ステップB29)。そして、処理部100は、参照値生成処理を終了する。
【0098】
図9のメイン処理に戻り、参照値生成処理を行った後、処理部100は、誤差推定処理を行う(ステップA9)。つまり、参照値生成処理で生成した参照値データ660を観測情報とするカルマンフィルター処理を行って、INS演算処理の演算データ630に含まれる誤差を推定する。そして、推定した誤差(補正量)を誤差データ640として記憶部600に記憶させる。
【0099】
次いで、処理部100は、INS演算結果を出力する(ステップA11)。その後、処理部100は、処理を終了するか否かを判定し(ステップA13)、処理を継続すると判定した場合は(ステップA13;No)、補正処理を行う(ステップA15)。つまり、誤差データ640に記憶されている各演算結果の誤差(補正量)を用いて、演算データ630に含まれる各演算結果を補正する。
【0100】
一方、ステップA13において処理を終了すると判定した場合は(ステップA13;Yes)、処理部100は、メイン処理を終了する。
【0101】
3.作用効果
本実施形態によれば、ユーザーの移動時の姿勢及び速度を検出した検出値を記憶部に記憶する。そして、現在までの検出値の変遷に類似する過去の検出値の変遷部分を記憶部から抽出し、当該抽出結果を用いて、検出値を補正する際の検出値の参照値を生成する。現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出するといった簡易な手法により、ユーザーの移動時の姿勢及び速度を検出した検出値を補正する際に利用する参照値を生成することができる。この際、例えば、現在までの検出値の変遷に最も類似する過去の検出値の変遷部分を抽出することで、適切な参照値を生成することができる。
【0102】
本実施形態では、ローカル座標速度ベクトルの各速度成分と、姿勢角の各成分とが時々刻々と検出されていく。検出されたデータ列の中から、選択する一定の時間範囲をずらしながら、一部のデータ列を選択する。そして、選択したデータ列それぞれを、現在を終期とする同じ時間範囲のデータ列と比較する相関演算を行って、相関値(類似度)を算出する。そして、相関値が最大となったデータ列を特定し、当該データ列に含まれるデータの中から参照値を設定する。
【0103】
また、最大となった相関値が所定の閾値を超えているか、すなわち最も高い類似度が所定の高類似条件を満たすか否かを判定する。所定の閾値を超えていない(高類似条件を満たさない)場合には、例えば、ユーザーが移動中に方向転換をする場面など、ユーザーの移動時に検出される諸量が瞬間的に大きく変化する場面と考えられる。従って、この場合には、最新の検出値を用いて参照値を設定する。
【0104】
4.変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施例と同一の構成要素については同一の符号を付して説明を省略し、上記の実施例とは異なる部分を中心に説明する。
【0105】
4−1.参照値
上記の実施形態では、ユーザーの移動時の姿勢、速度を検出した検出値に対する参照値の生成方法について説明した。しかし、本願発明者が行った実験によれば、加速度センサーによって計測される加速度(ローカル座標加速度ベクトル)や、ジャイロセンサーによって計測される角速度(ローカル座標角速度ベクトル)についても、ユーザーの移動時に周期性が現れることが判明した。
【0106】
そこで、ユーザーの移動時に加速度センサーによって計測されるローカル座標加速度ベクトルの各成分(各軸の加速度の検出値)や、ジャイロセンサーによって計測されるローカル座標角速度ベクトルの各成分(各軸周りの角速度の検出値)を対象として、上記の実施形態と同様の方法によって参照値を生成することとしてもよい。つまり、ローカル座標加速度ベクトルの各成分やローカル座標角速度ベクトルの各成分について、現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出する。そして、抽出した変遷部分から、ローカル座標加速度ベクトルの各成分や、ローカル座標角速度ベクトルの各成分の検出値の参照値を生成する。
【0107】
なお、この場合において、ユーザーの移動時の姿勢、速度、角速度及び加速度の検出値の全部について参照値を生成することとしてもよいが、その一部の検出値についてのみ参照値を生成することとしてもよい。つまり、ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値について参照値を生成することとすればよい。
【0108】
また、姿勢や速度、角速度、加速度の他に、位置の検出値を補正する際の当該検出値の参照値を生成することも可能である。この場合は、INSによって演算された絶対座標位置の単位時間における変化分(以下、「位置変化分」と称す。)を用いて、上記の実施形態と同様に相関演算を行うなどして、位置変化分の参照値を生成することが可能である。
【0109】
位置そのものに着目した場合、ユーザーの移動中にユーザー位置は常に変化するため、位置そのものについて過去に検出された検出値との相関演算を行ったとしても、うまく相関がとれるとは限らない。しかし、ユーザーはある程度同じペースで移動(歩行或いは走行)することが想定される。従って、単位時間当たりの位置変化分(単位時間当たりの移動距離)に着目した場合、そのバラツキは比較的小さくなると考えられる。そこで、位置変化分について、今回算出した位置変化分と、過去に算出して蓄積的に記憶しておいた位置変化分との相関を計算し、その相関演算の結果に基づいて、位置変化分の参照値を生成することとしてもよい。
【0110】
4−2.補正方法
上記の実施形態では、慣性航法演算結果を補正する手法としてカルマンフィルターを例に挙げて説明したが、補正方法はこれに限られない。例えば、カルマンフィルターではなく、平均化フィルターを用いて誤差を補正することとしてもよい。
【0111】
具体的には、INS10によって演算されたINS演算結果(入力ベクトル“U”)と、参照値生成部20によって生成された参照値(観測ベクトル“Z”)との平均化処理を行い、その結果を出力することも可能である。この場合において、平均化処理は、単純な算術平均や幾何平均を適用してもよいし、加重平均を適用してもよい。
【0112】
加重平均を適用する場合、現在までの検出値の変遷と、過去の検出値の変遷との類似度に基づいて加重平均の重みを設定すると効果的である。具体的には、類似度が高いほど、参照値を信用して加重平均を行うように参照値に対する重みを高く設定する。それに対し、類似度が低いほど、INS演算結果を信用して加重平均を行うように参照値に対する重みを低く設定する。なお、これらの手法以外にも、補正部の補正手法としては任意の手法を適用可能である。
【0113】
4−3.類似性の判定
上記の実施形態では、現在までの検出値の変遷に最も類似する過去の検出値の変遷部分を抽出するために、相関演算を行う場合を例に挙げて説明した。しかし、変遷部分の抽出方法は何もこれに限られるわけではない。例えば、ピーク検知の手法を利用して、現在までの検出値の変遷に最も類似する過去の検出値の変遷部分を抽出することとしてもよい。また、パターンマッチングの手法を適用して、現在までの検出値の変遷に最も類似する過去の検出値の変遷部分を抽出することとしてもよい。
【0114】
また、上記の実施形態では、相関演算を行う際に、現在を終期とする所定の時間範囲の検出値の変遷に類似する過去の当該時間範囲の検出値の変遷を抽出することとして説明したが、所定の時間範囲は適宜設定可能である。例えば、ユーザーが歩行することを想定し、ユーザーの着地時間間隔に基づき定まる類似の判定のための時間範囲を用いて、現在を終期とする当該時間範囲の前記検出値の変遷に類似する過去の当該時間範囲の前記検出値の変遷を抽出することとしてもよい。
【0115】
この場合は、例えば、加速度センサーの計測結果に基づいて、ユーザーの一歩に要する時間を判定する。この判定は、例えば、ユーザーの上下動の加速度(w軸方向の加速度)に対するピーク判定を行う。隣接するピーク間の時間は、ユーザーが一歩に要した時間である。このため、隣り合うピーク間の時間間隔を判定して、着地時間間隔として設定することとすればよい。
【0116】
4−4.参照値の生成方法
上記の実施形態では、速度ベクトルと姿勢角とのそれぞれについて、相関演算を個別に行って参照値を生成した。しかし、ユーザーの歩行中には、速度ベクトルの変遷と、姿勢角の変遷との間には、ある程度の相関が見られるはずである。そこで、一方の相関演算を省略することも可能である。
【0117】
この場合は、速度ベクトルと姿勢角との何れか一方についてのみ相関演算を行う。そして、相関演算の結果に基づいて参照値を生成する場合に、同一タイミングにおける検出値を読み出して、参照値を生成するようにする。つまり、速度ベクトルについてのみ相関演算を行うのであれば、速度ベクトルについて相関ピーク値に相当するズレ分だけ値をずらして参照値を設定する場合に、姿勢角についても同じズレ分だけ値をずらして参照値を設定するようにする。これにより、一方の相関演算を省略することが可能となり、演算量を削減することができる。
【0118】
4−5.類似度が低い場合の処理
上記の実施形態では、ローカル座標速度ベクトル及び姿勢角の検出値のそれぞれについて、現在までの検出値の変遷と、過去の検出値の変遷との類似度を算出し、算出された類似度のうちの最も高い類似度が所定の高類似条件を満たさない場合に、最新の検出値を用いて参照値を生成するものとして説明した。しかし、現在までの検出値の変遷と、過去の検出値の変遷との類似度が低い場合には、必ずしも最新の検出値を用いて参照値を生成しなくてもよい。つまり、類似度のうちの最も高い類似度が所定の高類似条件を満たさない場合には、参照値を生成せずに、最新の検出値を記憶部に履歴保存するに留めることとしてもよい。
【0119】
また、この場合において、ローカル座標速度ベクトルと姿勢角とで、類似度が所定の高類似条件を満たさない場合の処理を変えることとしてもよい。例えば、ローカル座標速度ベクトルについて算出した類似度が所定の高類似条件を満たさない場合は、参照速度ベクトルを生成せずに、最新のローカル座標速度ベクトルを記憶部に履歴保存するに留める。それに対して、姿勢角について算出した類似度が所定の高類似条件を満たさない場合は、最新の姿勢角を用いて参照値を生成する。逆の場合についても同様である。
【0120】
4−6.処理の主体
上記の実施例では、電子機器にIMUが搭載され、IMUの計測結果に基づいて、電子機器の処理部が慣性航法演算処理を行うものとして説明した。しかし、電子機器にINSを搭載することとし、INSの処理部が慣性航法演算処理を行うこととしてもよい。この場合、電子機器の処理部は、INSから出力される慣性航法演算結果に含まれる誤差(慣性航法演算誤差)を推定する処理を行う。そして、推定した慣性航法演算誤差を用いて、INSから入力した慣性航法演算結果を補正する。
【0121】
また、電子機器にGPS(Global Positioning System)等の衛星測位システムを適用したセンサーユニットを搭載することとし、このセンサーユニットの計測結果を利用して、慣性航法演算結果を補正することとしてもよい。
【0122】
4−7.電子機器
上記の実施例では、腰に装着するINS演算装置に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、携帯型ナビゲーション装置(ポータブルナビ)や携帯型電話機、パソコン、PDAといった他の電子機器にも本発明を適用可能である。
【符号の説明】
【0123】
1 全体システム、 5A 加速度センサー、 5B ジャイロセンサー、 10 INS、 11 姿勢情報算出部、 13 絶対座標加速度ベクトル算出部、 15 絶対座標速度ベクトル算出部、 17 絶対座標位置算出部、 18 重力算出部、 19 補正部、 20 参照値生成部、 21 ローカル座標速度ベクトル算出部、 23 参照速度ベクトル算出部、 25 姿勢角算出部、 27 参照姿勢角算出部、 30 誤差推定部、 100 処理部、 200 操作部、 300 表示部、 400 音出力部、 500 INS、 600 記憶部、1000 INS演算装置

【特許請求の範囲】
【請求項1】
ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値を記憶部に記憶することと、
現在までの前記検出値の変遷に類似する過去の前記検出値の変遷部分を前記記憶部から抽出することと、
前記抽出結果を用いて、前記検出値を補正する際の前記検出値の参照値を生成することと、
を含む参照値生成方法。
【請求項2】
前記抽出することは、前記検出値の変遷に最も類似する過去の前記検出値の変遷部分を抽出することを含む、
請求項1に記載の参照値生成方法。
【請求項3】
前記抽出することは、現在までの前記検出値の変遷と、過去の前記検出値の変遷との類似度を算出することを含み、
前記算出された類似度のうちの最も高い類似度が、所定の高類似条件を満たさない場合に、最新の前記検出値を用いて、前記参照値を生成することを含む、
請求項1又は2に記載の参照値生成方法。
【請求項4】
前記抽出することは、ユーザーの上下動の加速度のうち隣接するピーク間の時間間隔である着地時間間隔に基づき定まる前記類似の判定のための時間範囲を用いて、現在を終期とする当該時間範囲の前記検出値の変遷に類似する過去の当該時間範囲の前記検出値の変遷を抽出することである、
請求項1〜3の何れか一項に記載の参照値生成方法。
【請求項5】
前記記憶部は、ユーザーが2歩歩行する間に検出される前記検出値を記憶する容量として定められた所定容量以上の容量を有する、
請求項1〜4の何れか一項に記載の参照値生成方法。
【請求項6】
前記参照値を観測情報として、前記検出値の補正量を求めるカルマンフィルター処理を行うことと、
前記補正量に基づいて前記検出値を補正することと、
前記検出値を用いて位置を算出することと、
を含む請求項1〜5の何れか一項に記載の参照値生成方法。
【請求項7】
前記検出値には、ユーザーの移動時の絶対座標における速度ベクトルを示す値が少なくとも含まれ、
加速度センサーの計測値に基づいて定まる加速度ベクトルを積算して、絶対座標における速度ベクトルを求めることと、
前記速度ベクトルを積算して、絶対座標における位置を算出することと、
前記参照値を用いて、前記加速度ベクトルの積算、及び、前記速度ベクトルの積算の何れかを補正すること、
を含む請求項1〜5の何れか一項に記載の参照値生成方法。
【請求項8】
ユーザーの移動時の姿勢、速度、角速度及び加速度の何れかを検出した検出値を記憶する記憶部と、
現在までの前記検出値の変遷に類似する過去の前記検出値の変遷部分を前記記憶部から抽出する抽出部と、
前記抽出部の抽出結果を用いて、前記検出値を補正する際の前記検出値の参照値を生成する生成部と、
を備えた参照値生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate