(57)【要約】【課題】移動体の状態を表す指標の誤差を精度よく推定することが可能な誤差推定方法、誤差推定装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供すること。【解決手段】第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択することと、移動体の状態を表す指標の誤差を推定することと、を含み、前記誤差を推定することは、前記誤差を予測することと、前記第１モードを選択した場合に、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正することと、前記第２モードを選択した場合に、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正することと、を含む、誤差推定方法。【選択図】図１０
2015184158.tif 000002
【特許請求の範囲】
【請求項１】
第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択することと、
移動体の状態を表す指標の誤差を推定することと、を含み、
前記誤差を推定することは、
前記誤差を予測することと、
前記第１モードを選択した場合に、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正することと、
前記第２モードを選択した場合に、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正することと、を含む、誤差推定方法。
【請求項２】
前記第２センサーは、加速度センサー及び角速度センサーの少なくとも一方を含む、請求項１に記載の誤差推定方法。
【請求項３】
前記第１センサーは、測位用衛星からの信号を受信するセンサー又は地磁気センサーである、請求項１又は２に記載の誤差推定方法。
【請求項４】
前記第１センサーの検出結果が得られた場合には前記第１モードを選択し、前記第１センサーの検出結果が得られなかった場合には前記第２モードを選択する、請求項１乃至３のいずれか一項に記載の誤差推定方法。
【請求項５】
前記第１センサーの検出結果の精度が基準値以上の場合には前記第１モードを選択し、前記第１センサーの検出結果の精度が前記基準値未満の場合には前記第２モードを選択する、請求項１乃至３のいずれか一項に記載の誤差推定方法。
【請求項６】
さらに、前記第１モードを選択した場合に、前記第２センサーの検出結果に基づく第３参照値と、前記誤差のうちの前記第１誤差とは異なる第２誤差とを用いて、予測した前記誤差を補正することを含む、請求項１乃至５のいずれか一項に記載の誤差推定方法。
【請求項７】
請求項１乃至６のいずれか一項に記載の誤差推定方法を用いて前記誤差を推定することと、
推定した前記誤差を用いて、前記指標を補正することと、
補正した前記指標を用いて、前記移動体の運動を解析することと、を含む、運動解析方法。
【請求項８】
第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択するモード選択部と、
移動体の状態を表す指標の誤差を推定する誤差推定部と、を含み、
前記誤差推定部は、
前記誤差を予測し、前記第１モードが選択された場合には、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正し、前記第２モードが選択された場合には、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正する、誤差推定装置。
【請求項９】
第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択することと、
移動体の状態を表す指標の誤差を推定することと、をコンピューターに実行させ、
前記誤差を推定することは、
前記誤差を予測することと、
前記第１モードを選択した場合に、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正することと、
前記第２モードを選択した場合に、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正することと、を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差推定方法、運動解析方法、誤差推定装置及びプログラムに関する。
【背景技術】
【０００２】
慣性センサーの検出結果を利用して移動体の位置や速度を算出する慣性航法が広く知られている。移動体として人を想定し、胴体に慣性センサーを装着した場合、人が移動する際には胴体の姿勢（姿勢角）が時々刻々変化するため、姿勢角を正確に推定できなければ進行方向を正確に特定できず、位置や速度の算出精度が低下する。
【０００３】
慣性センサーの検出結果から姿勢角を算出する場合、検出結果から回転量を算出して前回の姿勢角に積算（回転演算）する処理が繰り返される。ところが、慣性センサーの検出結果にはバイアス誤差が含まれるため、バイアス誤差等による姿勢角の誤差を正確に推定し、姿勢角を補正する必要がある。例えば、特許文献１には、ＧＰＳ（Global Positioning System）を利用した電波航法装置と慣性航法装置の測定値から、カルマンフィルターにて慣性航法装置の測定誤差を推定する手法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１７４２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＧＰＳの計測精度や計測タイミングによっては、必ずしも高い推定精度を確保できるとは限らない。そこで、ＧＰＳを利用した姿勢角誤差の推定手法とその他の姿勢角誤差の推定手法（例えば、移動体の動きの規則性を利用した誤差推定手法）を併用することが考えられる。しかし、２つの異なる手法を併用して姿勢角誤差を推定する場合、二重の推定がなされることになり、正しく推定されない場合がある。
【０００６】
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、移動体の状態を表す指標の誤差を精度よく推定することが可能な誤差推定方法、誤差推定装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供することができる。
【課題を解決するための手段】
【０００７】
本発明は前述の課題の少なくとも一部を解決するためになされたものであり、以下の態様または適用例として実現することが可能である。
【０００８】
［適用例１］
本適用例に係る誤差推定方法は、第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択することと、移動体の状態を表す指標の誤差を推定することと、を含み、前記誤差を推定することは、前記誤差を予測することと、前記第１モードを選択した場合に、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正することと、前記第２モードを選択した場合に、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正することと、を含む。
【０００９】
本適用例に係る誤差推定方法によれば、移動体の状態を表す指標の誤差を、互いに異なる種類の参照値と同じ種類の誤差とを用いて補正する２つの異なるモードのいずれか一方を選択する。第１モードによる補正と第２モードによる補正が重複しないので、誤差を精度よく推定することができる。
【００１０】
［適用例２］
上記適用例に係る誤差推定方法において、前記第２センサーは、加速度センサー及び角速度センサーの少なくとも一方を含んでもよい。
【００１１】
本適用例に係る誤差推定方法によれば、第２モードでは、加速度センサーあるいは角速度センサーの検出結果に基づく参照値を用いて誤差を推定することができる。
【００１２】
［適用例３］
上記適用例に係る誤差推定方法において、前記第１センサーは、測位用衛星からの信号を受信するセンサー又は地磁気センサーであってもよい。
【００１３】
本適用例に係る誤差推定方法によれば、第１モードでは、測位用衛星からの信号を受信するセンサー又は地磁気センサーの検出結果に基づく参照値を用いて誤差を推定することができる。
【００１４】
［適用例４］
上記適用例に係る誤差推定方法において、前記第１センサーの検出結果が得られた場合には前記第１モードを選択し、前記第１センサーの検出結果が得られなかった場合には前記第２モードを選択してもよい。
【００１５】
本適用例に係る誤差推定方法によれば、前記第１センサーの検出結果が得られた場合に第１モードを選択することができる。
【００１６】
［適用例５］
上記適用例に係る誤差推定方法において、前記第１センサーの検出結果の精度が基準値以上の場合には前記第１モードを選択し、前記第１センサーの検出結果の精度が前記基準値未満の場合には前記第２モードを選択してもよい。
【００１７】
本適用例に係る誤差推定方法によれば、第１センサーの検出結果に基づく参照値の精度が基準値未満の場合には第２モードを選択するので、誤差の推定精度の低下を抑制することができる。
【００１８】
［適用例６］
上記適用例に係る誤差推定方法は、さらに、前記第１モードを選択した場合に、前記第２センサーの検出結果に基づく第３参照値と、前記誤差のうちの前記第１誤差とは異なる第２誤差とを用いて、予測した前記誤差を補正することを含んでもよい。
【００１９】
本適用例に係る誤差推定方法によれば、第１モードにおいて、第１センサーの検出結果に基づく第１参照値を用いた誤差推定と第２センサーの検出結果に基づく第３参照値を用いた誤差推定とを行うことができるので、第１モードでの誤差の推定精度をさらに向上させることができる。
【００２０】
［適用例７］
本適用例に係る運動解析方法は、上記のいずれかの誤差推定方法を用いて前記誤差を推定することと、推定した前記誤差を用いて、前記指標を補正することと、補正した前記指
標を用いて、前記移動体の運動を解析することと、を含む。
【００２１】
本適用例に係る運動解析方法によれば、上記適用例に係る誤差推定方法を用いて推定した移動体の状態を表す指標の誤差を用いて精度よく補正された指標を用いて移動体の運動を精度よく解析することができる。
【００２２】
［適用例８］
本適用例に係る誤差推定装置は、第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択するモード選択部と、移動体の状態を表す指標の誤差を推定する誤差推定部と、を含み、前記誤差推定部は、前記誤差を予測し、前記第１モードが選択された場合には、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正し、前記第２モードが選択された場合には、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正する。
【００２３】
本適用例に係る誤差推定装置によれば、移動体の状態を表す指標の誤差を、互いに異なる種類の参照値と同じ種類の誤差とを用いて補正する２つの異なるモードのいずれか一方を選択する。第１モードによる補正と第２モードによる補正が重複しないので、誤差を精度よく推定することができる。
【００２４】
［適用例９］
本適用例に係るプログラムは、第１センサーの検出結果に基づいて、第１モードと第２モードのいずれか一方を選択することと、移動体の状態を表す指標の誤差を推定することと、をコンピューターに実行させ、前記誤差を推定することは、前記誤差を予測することと、前記第１モードを選択した場合に、第２センサーの検出結果に基づく第２参照値を用いずに、前記第１センサーの検出結果に基づく第１参照値と前記誤差のうちの第１誤差とを用いて、予測した前記誤差を補正することと、前記第２モードを選択した場合に、前記第１参照値を用いずに、前記第２参照値と前記第１誤差とを用いて、予測した前記誤差を補正することと、を含む。
【００２５】
本適用例に係るプログラムによれば、移動体の状態を表す指標の誤差を、互いに異なる種類の参照値と同じ種類の誤差とを用いて補正する２つの異なるモードのいずれか一方を選択する。第１モードによる補正と第２モードによる補正が重複しないので、誤差を精度よく推定することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態の運動解析システムの概要についての説明図。
【図２】運動解析装置及び表示装置の構成例を示す機能ブロック図。
【図３】センシングデータテーブルの構成例を示す図。
【図４】ＧＰＳデータテーブルの構成例を示す図。
【図５】算出データテーブルの構成例を示す図。
【図６】運動解析装置の処理部の構成例を示す機能ブロック図。
【図７】ユーザーの歩行時の姿勢についての説明図。
【図８】ユーザーの歩行時のヨー角についての説明図。
【図９】ユーザーの歩行時の３軸加速度の一例を示す図。
【図１０】運動解析処理の手順の一例を示すフローチャート図。
【図１１】歩行検出処理の手順の一例を示すフローチャート図。
【発明を実施するための形態】
【００２７】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説
明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２８】
１．運動解析システム
１−１．システムの概要
図１は、本実施形態の運動解析システム１の概要について説明するための図である。図１に示すように、本実施形態の運動解析システム１は、運動解析装置２及び表示装置３を含んで構成されている。運動解析装置２は、ユーザー（移動体の一例）の胴体部分（例えば、右腰又は左腰）に装着される。運動解析装置２は、慣性計測ユニット（ＩＭＵ：Inertial Measurement Unit）１０を内蔵し、ユーザーの歩行（走行も含む）における動きを捉えて、速度、位置、姿勢角（ロール角、ピッチ角、ヨー角）等を計算し、さらに、ユーザーの運動を解析して運動解析情報を生成する。本実施形態では、ユーザーが静止している状態で、慣性計測ユニット（ＩＭＵ）１０の１つの検出軸（以下ではｚ軸とする）が重力加速度方向（鉛直下向き）とほぼ一致するように、運動解析装置２が装着される。運動解析装置２は、生成した運動解析情報を表示装置３に送信する。
【００２９】
表示装置３は、リスト型（腕時計型）の携帯情報機器であり、ユーザーの手首等に装着される。ただし、表示装置３は、ヘッドマウントディスプレイ（ＨＭＤ：Head Mount Display）やスマートフォン等の携帯情報機器であってもよい。ユーザーは、表示装置３を操作して運動解析装置２による計測のスタートやストップを指示することができる。表示装置３は、計測スタートや計測ストップを指示するコマンドを運動解析装置２に送信する。運動解析装置２は、計測スタートのコマンドを受信すると、慣性計測ユニット（ＩＭＵ）１０による計測を開始し、計測結果に基づきユーザーの運動を解析し、運動解析情報を生成する。運動解析装置２は生成した運動解析情報を表示装置３に送信し、表示装置３は運動解析情報を受信し、受信した運動解析情報を文字、図形、音等の各種の形態でユーザーに提示する。ユーザーは表示装置３を介して運動解析情報を認識することができる。
【００３０】
なお、運動解析装置２と表示装置３との間のデータ通信は、無線通信でもよいし、有線通信でもよい。
【００３１】
本実施形態では、以下において、運動解析装置２がユーザーの歩行速度を推定して移動経路や移動時間等を含む運動解析情報を生成する場合を例に挙げて詳細に説明するが、本実施形態の運動解析システム１は、歩行以外の移動を伴う運動における運動解析情報を生成する場合にも、同様に適用することができる。
【００３２】
１−２．座標系
以下の説明において必要となる座標系を定義する。
・ｅフレーム（Earth Center Earth Fixed Frame）：地球の中心を原点とし、自転軸に平行にｚ軸をとった右手系の三次元直交座標
・ｎフレーム（Navigation Frame）：移動体（ユーザー）を原点とし、ｘ軸を北、ｙ軸を東、ｚ軸を重力方向とした三次元直交座標系
・ｂフレーム（Body Frame）：センサー（慣性計測ユニット（ＩＭＵ）１０）を基準とする三次元直交座標系
・ｍフレーム（Moving Frame）：移動体（ユーザー）を原点とし、移動体（ユーザー）の進行方向をｘ軸とした右手系の三次元直交座標系
【００３３】
１−３．システムの構成
図２は、運動解析装置２及び表示装置３の構成例を示す機能ブロック図である。図２に示すように、運動解析装置２（誤差推定装置の一例）は、慣性計測ユニット（ＩＭＵ）１０、処理部２０、記憶部３０、通信部４０及びＧＰＳユニット５０を含んで構成されてい
る。ただし、本実施形態の運動解析装置２は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
【００３４】
慣性計測ユニット１０（第２センサーの一例）は、加速度センサー１２、角速度センサー１４及び信号処理部１６を含んで構成されている。
【００３５】
加速度センサー１２は、互いに交差する（理想的には直交する）３軸方向の各々の加速度を検出し、検出した３軸加速度の大きさ及び向きに応じたデジタル信号（加速度データ）を出力する。
【００３６】
角速度センサー１４は、互いに交差する（理想的には直交する）３軸方向の各々の角速度を検出し、計測した３軸角速度の大きさ及び向きに応じたデジタル信号（角速度データ）を出力する。
【００３７】
信号処理部１６は、加速度センサー１２と角速度センサー１４から、それぞれ加速度データと角速度データを受け取って時刻情報を付して不図示の記憶部に記憶し、記憶した加速度データと角速度データに時刻情報を付して所定のフォーマットに合わせたセンシングデータを生成し、処理部２０に出力する。
【００３８】
加速度センサー１２及び角速度センサー１４は、それぞれ３軸が、慣性計測ユニット１０を基準とするセンサー座標系（ｂフレーム）の３軸と一致するように取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、信号処理部１６は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、加速度データ及び角速度データをセンサー座標系（ｂフレーム）のデータに変換する処理を行う。なお、信号処理部１６の代わりに後述する処理部２０が当該変換処理を行ってもよい。
【００３９】
さらに、信号処理部１６は、加速度センサー１２及び角速度センサー１４の温度補正処理を行ってもよい。なお、信号処理部１６の代わりに後述する処理部２０が当該温度補正処理を行ってもよいし、加速度センサー１２及び角速度センサー１４に温度補正の機能が組み込まれていてもよい。
【００４０】
加速度センサー１２と角速度センサー１４は、アナログ信号を出力するものであってもよく、この場合は、信号処理部１６が、加速度センサー１２の出力信号と角速度センサー１４の出力信号をそれぞれＡ／Ｄ変換してセンシングデータを生成すればよい。
【００４１】
ＧＰＳユニット５０（第１センサーの一例）は、測位用衛星の一種であるＧＰＳ衛星から送信されるＧＰＳ衛星信号を受信し、当該ＧＰＳ衛星信号を利用して測位計算を行ってｎフレームにおけるユーザーの位置及び速度（大きさと向きを含むベクトル）を算出し、これらに時刻情報や測位精度情報を付したＧＰＳデータを処理部２０に出力する。なお、ＧＰＳを利用して、位置や速度を算出する方法や時刻情報を生成する方法については公知であるため、詳細な説明を省略する。
【００４２】
処理部２０は、例えば、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等により構成され、記憶部３０に記憶されている各種プログラムに従って、各種の演算処理や制御処理を行う。特に、処理部２０は、慣性計測ユニット１０からセンシングデータを受け取り、ＧＰＳユニット５０からＧＰＳデータを受け取り、センシングデータとＧＰＳデータとを用いてユーザーの速度、位置、姿勢角等を算出する。また、処理部２０は、算出したこれらの情報を用いて各種の演算処理を行ってユーザーの運動を解析し、移動経路や移動時間等を含む運動解析情報（画像データ、テキストデータ、音データ等）を生成する。そして、
処理部２０は、生成した運動解析情報を、通信部４０を介して表示装置３に送信する。
【００４３】
記憶部３０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の各種ＩＣメモリーやハードディスクやメモリーカードなどの記録媒体等により構成される。
【００４４】
記憶部３０には、処理部２０によって読み出され、運動解析処理（図１０参照）を実行するための運動解析プログラム３００が記憶されている。運動解析プログラム３００は、歩行検出処理（図１１参照）を実行するための歩行検出プログラム３０１をサブルーチンとして含む。
【００４５】
また、記憶部３０には、センシングデータテーブル３１０、ＧＰＳデータテーブル３２０、算出データテーブル３３０及び運動解析情報３４０等が記憶される。
【００４６】
センシングデータテーブル３１０は、処理部２０が慣性計測ユニット１０から受け取ったセンシングデータ（慣性計測ユニット１０の検出結果）を時系列に記憶するデータテーブルである。図３は、センシングデータテーブル３１０の構成例を示す図である。図３に示すように、センシングデータテーブル３１０は、慣性計測ユニット１０の検出時刻３１１、加速度センサー１２により検出された加速度３１２及び角速度センサー１４により検出された角速度３１３が対応付けられたセンシングデータが時系列に並べられて構成される。処理部２０は、計測を開始すると、サンプリング周期Δｔ（例えば、２０ｍｓ）の経過毎に、センシングデータテーブル３１０に新たなセンシングデータを付加する。さらに、処理部２０は、拡張カルマンフィルターを用いた誤差推定（後述）により推定された加速度バイアス及び角速度バイアスを用いて加速度及び角速度を補正し、補正後の加速度及び角速度を上書きしてセンシングデータテーブル３１０を更新する。
【００４７】
ＧＰＳデータテーブル３２０は、処理部２０がＧＰＳユニット５０から受け取ったＧＰＳデータ（ＧＰＳユニット（ＧＰＳセンサー）５０の検出結果）を時系列に記憶するデータテーブルである。図４は、ＧＰＳデータテーブル３２０の構成例を示す図である。図４に示すように、ＧＰＳデータテーブル３２０は、ＧＰＳユニット５０が測位計算を行った時刻３２１、測位計算により算出した位置３２２、測位計算により算出した速度３２３、測位精度（ＤＯＰ（Dilution of Precision））３２４、受信したＧＰＳ衛星信号の信号強度３２５等が対応付けられたＧＰＳデータが時系列に並べられて構成される。処理部２０は、計測を開始すると、ＧＰＳデータを取得する毎に（センシングデータの取得タイミングとは非同期に）、新たなＧＰＳデータを付加してＧＰＳデータテーブル３２０を更新する。
【００４８】
算出データテーブル３３０は、処理部２０がセンシングデータを用いて算出した速度、位置及び姿勢角を時系列に記憶するデータテーブルである。図５は、算出データテーブル３３０の構成例を示す図である。図５に示すように、算出データテーブル３３０は、処理部２０が計算した時刻３３１、速度３３２、位置３３３及び姿勢角３３４が対応付けられた算出データが時系列に並べられて構成される。処理部２０は、計測を開始すると、新たにセンシングデータを取得する毎に、すなわち、サンプリング周期Δｔの経過毎に、速度、位置及び姿勢角を算出し、算出データテーブル３３０に新たな算出データを付加する。さらに、処理部２０は、拡張カルマンフィルターを用いた誤差推定により推定された速度誤差、位置誤差及び姿勢角誤差を用いて、速度、位置及び姿勢角を補正し、補正後の速度、位置及び姿勢角を上書きして算出データテーブル３３０を更新する。
【００４９】
運動解析情報３４０は、ユーザーの運動に関する各種情報であり、本実施形態では、処理部２０が算出した、歩行による移動に関する情報、歩行運動の評価指標に関する情報、
歩行に関するアドバイス、指導、警告等の情報を含む。
【００５０】
通信部４０は、表示装置３の通信部１４０との間でのデータ通信を行うものであり、処理部２０が生成した運動解析情報を受け取って表示装置３に送信する処理、表示装置３から送信されたコマンド（計測スタート／ストップのコマンド等）を受信して処理部２０に送る処理等を行う。
【００５１】
表示装置３は、処理部１２０、記憶部１３０、通信部１４０、操作部１５０、計時部１６０、表示部１７０及び音出力部１８０を含んで構成されている。ただし、本実施形態の表示装置３は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
【００５２】
処理部１２０は、記憶部１３０に記憶されているプログラムに従って、各種の演算処理や制御処理を行う。例えば、処理部１２０は、操作部１５０から受け取った操作データに応じた各種処理（計測スタート／ストップのコマンドを通信部１４０に送る処理や操作データに応じた表示処理や音出力処理等）、通信部１４０から運動解析情報を受け取って表示部１７０や音出力部１８０に送る処理、計時部１６０から受け取った時刻情報に応じた時刻画像データを生成して表示部１７０に送る処理等を行う。
【００５３】
記憶部１３０は、例えば、処理部１２０が各種処理を行うためのプログラムやデータが記憶されるＲＯＭや処理部１２０の作業領域となるＲＡＭ等の各種ＩＣメモリーにより構成される。
【００５４】
通信部１４０は、運動解析装置２の通信部４０との間でのデータ通信を行うものであり、処理部１２０から操作データに応じたコマンド（計測スタート／ストップのコマンド等）を受け取って運動解析装置２に送信する処理、運動解析装置２から送信された運動解析情報（画像データ、テキストデータ、音データ等の各種データ）を受信して処理部１２０に送る処理等を行う。
【００５５】
操作部１５０は、ユーザーからの操作データ（計測スタート／ストップ、表示内容の選択等の操作データ）を取得し、処理部１２０に送る処理を行う。操作部１５０は、例えば、タッチパネル型ディスプレイ、ボタン、キー、マイクなどであってもよい。
【００５６】
計時部１６０は、年、月、日、時、分、秒等の時刻情報を生成する処理を行う。計時部１６０は、例えば、リアルタイムクロック（ＲＴＣ：Real Time Clock）ＩＣなどで実現される。
【００５７】
表示部１７０は、処理部１２０から送られてきた画像データやテキストデータを、文字、グラフ、表、アニメーション、その他の画像として表示するものである。表示部１７０は、例えば、ＬＣＤ（Liquid Crystal Display）、有機ＥＬ（Electroluminescence）ディスプレイ、ＥＰＤ（Electrophoretic Display）等のディスプレイで実現され、タッチパネル型ディスプレイであってもよい。なお、１つのタッチパネル型ディスプレイで操作部１５０と表示部１７０の機能を実現するようにしてもよい。
【００５８】
音出力部１８０は、処理部１２０から送られてきた音データを、音声やブザー音等の音として出力するものである。音出力部１８０は、例えば、スピーカーやブザーなどで実現される。
【００５９】
図６は、運動解析装置２の処理部２０の構成例を示す機能ブロック図である。本実施形態では、処理部２０は、記憶部３０に記憶されている運動解析プログラム３００を実行す
ることにより、バイアス除去部２１０、積分処理部２２０、誤差推定部２３０、歩行検出部２４０、参照値算出部２５０、モード選択部２６０、座標変換部２７０及び運動解析部２８０として機能する。
【００６０】
バイアス除去部２１０は、新たに取得したセンシングデータに含まれる加速度（３軸加速度）及び角速度から、それぞれ、誤差推定部２３０が推定した加速度バイアスｂａ及び角速度バイアスｂωを減算し、加速度及び角速度を補正する処理を行う。なお、計測開始直後の初期状態では加速度バイアスｂａ及び角速度バイアスｂωが存在しないため、バイアス除去部２１０は、ユーザーの初期状態は静止状態であるものとして、慣性計測ユニットをからのセンシングデータを用いて、初期バイアスを計算する。
【００６１】
積分処理部２２０は、バイアス除去部２１０が補正した加速度及び角速度からｅフレームの速度ｖｅ、位置ｐｅ及び姿勢角（ロール角φｂｅ、ピッチ角θｂｅ、ヨー角ψｂｅ）を算出する処理を行う。具体的には、積分処理部２２０は、まず、ユーザーの初期状態は静止状態であるものとして、初期速度をゼロとし、あるいは、ＧＰＳデータに含まれる速度から初期速度を算出し、さらに、ＧＰＳデータに含まれる位置から初期位置を算出する。また、積分処理部２２０は、バイアス除去部２１０が補正したｂフレームの３軸加速度から重力加速度の向きを特定してロール角φｂｅとピッチ角θｂｅの初期値を算出するとともに、ＧＰＳデータに含まれる速度からヨー角ψｂｅの初期値を算出し、ｅフレームの初期姿勢角とする。ＧＰＳデータが得られない場合はヨー角ψｂｅの初期値を例えばゼロとする。そして、積分処理部２２０は、算出した初期姿勢角から式（１）で表されるｂフレームからｅフレームへの座標変換行列（回転行列）Ｃｂｅの初期値を算出する。
【００６２】
【数１】
2015184158.tif 000003
【００６３】
その後は、積分処理部２２０は、バイアス除去部２１０が補正した３軸角速度を積算（回転演算）して座標変換行列Ｃｂｅを算出し、式（２）より姿勢角を算出する。
【００６４】
【数２】
2015184158.tif 000004
【００６５】
また、積分処理部２２０は、座標変換行列Ｃｂｅを用いて、バイアス除去部２１０が補正したｂフレームの３軸加速度をｅフレームの３軸加速度に変換し、重力加速度成分を除去して積算することでｅフレームの速度ｖｅを算出する。また、積分処理部２２０は、ｅフレームの速度ｖｅを積算してｅフレームの位置ｐｅを算出する。
【００６６】
また、積分処理部２２０は、誤差推定部２３０が推定した速度誤差δｖｅ、位置誤差δｐｅ及び姿勢角誤差εｅを用いて、速度ｖｅ、位置ｐｅ及び姿勢角を補正する処理も行う。
【００６７】
さらに、積分処理部２２０は、ｂフレームからｍフレームへの座標変換行列Ｃｂｍ及びｅフレームからｍフレームへの座標変換行列Ｃｅｍも算出する。これらの座標変換行列は座標変換情報として後述する座標変換部２７０の座標変換処理に用いられる。
【００６８】
誤差推定部２３０は、積分処理部２２０が算出した速度・位置、姿勢角、バイアス除去部２１０が補正した加速度や角速度、ＧＰＳデータ等を用いて、ユーザーの状態を表す指標の誤差を推定する。本実施形態では、誤差推定部２３０は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。すなわち、誤差推定部２３０は、積分処理部２２０が算出した速度ｖｅの誤差（速度誤差）δｖｅ、積分処理部２２０が算出した姿勢角の誤差（姿勢角誤差）εｅ、加速度バイアスｂａ、角速度バイアスｂω及び積分処理部２２０が算出した位置ｐｅの誤差（位置誤差）δｐｅを拡張カルマンフィルターの状態変数とし、状態ベクトルＸを式（３）のように定義する。
【００６９】
【数３】
2015184158.tif 000005
【００７０】
誤差推定部２３０は、拡張カルマンフィルターの予測式を用いて、状態ベクトルＸに含まれる状態変数（ユーザーの状態を表す指標の誤差）を予測する。拡張カルマンフィルターの予測式は、式（４）のように表される。式（４）において、行列Φは、前回の状態ベクトルＸと今回の状態ベクトルＸを関連付ける行列であり、その要素の一部は姿勢角や位置等を反映しながら時々刻々変化するように設計される。また、Ｑはプロセスノイズを表す行列であり、その各要素はあらかじめ適切な値に設定される。また、Ｐは状態変数の誤差共分散行列である。
【００７１】
【数４】
2015184158.tif 000006
【００７２】
また、誤差推定部２３０は、拡張カルマンフィルターの更新式を用いて、予測した状態変数（ユーザーの状態を表す指標の誤差）を更新（補正）する。拡張カルマンフィルターの更新式は、式（５）のように表される。Ｚ及びＨはそれぞれ観測ベクトル及び観測行列であり、更新式（５）は、実際の観測ベクトルＺと状態ベクトルＸから予測されるベクトルＨＸとの差を用いて、状態ベクトルＸを補正することを表している。Ｒは、観測誤差の共分散行列であり、あらかじめ決められた一定値であってもよいし、動的に変更してもよい。Ｋはカルマンゲインであり、Ｒが小さいほどＫが大きくなる。式（５）より、Ｋが大きい（Ｒが小さい）ほど、状態ベクトルＸの補正量が大きくなり、その分、Ｐが小さくな
る。
【００７３】
【数５】
2015184158.tif 000007
【００７４】
誤差推定の方法（状態ベクトルＸの推定方法）としては、例えば、以下のようなものが挙げられる。
【００７５】
姿勢角誤差に基づく補正による誤差推定方法：
図７は、運動解析装置２を右腰に装着したユーザーが歩行動作（直進）をする場合のユーザーの移動を俯瞰した図である。また、図８は、ユーザーが歩行動作（直進）をする場合に慣性計測ユニット１０の検出結果から算出したヨー角（方位角）の一例を示す図であり、横軸は時間、縦軸はヨー角（方位角）である。
【００７６】
ユーザーの歩行動作に伴い、ユーザーに対する慣性計測ユニット１０の姿勢が随時変化する。ユーザーが右足を踏み出した状態では、図７中の（２）や（４）に示すように、慣性計測ユニット１０は進行方向（ｍフレームのｘ軸）に対して左側に傾いた姿勢となる。それに対して、ユーザーが左足を踏み出した状態では、図７中の（１）や（３）に示すように、慣性計測ユニット１０は進行方向（ｍフレームのｘ軸）に対して右側に傾いた姿勢となる。つまり、慣性計測ユニット１０の姿勢は、ユーザーの歩行動作に伴い、左右１歩ずつの２歩毎に周期的に変化することになる。図８では、例えば、右足を踏み出した状態でヨー角が極大となり（図８中の○）、左足を踏み出した状態でヨー角が極小となっている（図８中の●）。そこで、前回（２歩前）の姿勢角と今回の姿勢角は等しく、かつ、前回の姿勢角は真の姿勢であるものとして誤差を推定することができる。この方法では、観測ベクトルＺ及び観測行列Ｈは、式（６）のようになる。式（６）において、Ｏ３，３は３行３列の零行列であり、Ｉ３は３行３列の単位行列であり、Ｏ３，９は３行９列の零行列である。式（６）のΨは式（７）で計算される。
【００７７】
【数６】
2015184158.tif 000008
【００７８】
【数７】
2015184158.tif 000009
【００７９】
式（７）において、Ｃｂｅ（＋）は今回の姿勢角であり、Ｃｂｅ（−）は前回の姿勢角
である。式（６）の観測ベクトルＺは前回の姿勢角と今回の姿勢角との差であり、この方法では、更新式（５）により、姿勢角誤差εｅと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８０】
角速度バイアスに基づく補正による誤差推定方法：
前回（２歩前）の姿勢角と今回の姿勢角は等しいが、前回の姿勢角は真の姿勢である必要はないものとして誤差を推定する方法である。この方法では、観測ベクトルＺ及び観測行列Ｈは、式（８）のようになる。式（８）において、Ｏ３，９は３行９列の零行列であり、Ｉ３は３行３列の単位行列であり、Ｏ３，３は３行３列の零行列である。
【００８１】
【数８】
2015184158.tif 000010
【００８２】
式（８）において、Ｃｂｅ（＋）は今回の姿勢角であり、Ｃｂｅ（−）は前回の姿勢角である。また、τ−＋は前回の姿勢角から今回の姿勢角に変わるまでの時間である。式（８）の観測ベクトルＺは前回の姿勢角及び今回の姿勢角から算出される角速度バイアスであり、この方法では、更新式（５）により、角速度バイアスｂωと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８３】
方位角誤差に基づく補正による誤差推定方法：
前回（２歩前）のヨー角（方位角）と今回のヨー角（方位角）は等しく、かつ、前回のヨー角（方位角）は真のヨー角（方位角）であるものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した前回のヨー角と今回のヨー角の差であり、更新式（５）により、方位角誤差εｚｅと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８４】
停止に基づく補正による誤差推定方法：
停止時は速度がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した速度ｖｅとゼロとの差であり、更新式（５）により、速度誤差δｖｅに基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８５】
静止に基づく補正による誤差推定方法：
静止時は速度がゼロであり、かつ、姿勢変化がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した速度ｖｅの誤差及び積分処理部２２０が算出した前回の姿勢角と今回の姿勢角との差であり、更新式（５）により、速度誤差δｖｅ及び姿勢角誤差εｅに基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８６】
ＧＰＳの観測値に基づく補正による誤差推定方法：
積分処理部２２０が算出した速度ｖｅ、位置ｐｅあるいはヨー角ψｂｅとＧＰＳデータから算出される速度、位置あるいは方位角（ｅフレームに変換後の速度、位置、方位角）は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した速度、位置あるいはヨー角とＧＰＳデータから算出される速度、位
置速度あるいは方位角との差であり、更新式（５）により、速度誤差δｖｅ、位置誤差δｐｅあるいは方位角誤差εｚｅと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。このうち、ＧＰＳデータから算出される方位角をリファレンスとする「ＧＰＳの方位角に基づく補正による誤差推定方法」では、観測ベクトルＺ及び観測行列Ｈは、式（９）のようになる。式（９）において、ψＩＮＳは積分処理部２２０が算出したヨー角ψｂｅから算出される方位角であり、ψｒｅｆはリファレンスの方位角である。また、式（９）において、Ｏ１，３は１行３列の零行列であり、Ｏ１，９は１行９列の零行列である。式（９）の各偏微分は式（１０）で計算される。また、式（１０）のｎ１，ｎ２，ｎ３，ｄ１，ｄ２，ｄ３は式（１１）で計算される。
【００８７】
【数９】
2015184158.tif 000011
【００８８】
【数１０】
2015184158.tif 000012
【００８９】
【数１１】
2015184158.tif 000013
【００９０】
このうち、「姿勢角誤差に基づく補正による誤差推定方法」、「方位角誤差に基づく補正による誤差推定方法」、「角速度バイアスに基づく補正による誤差推定方法」（以下、「姿勢角を用いた誤差推定方法」と総称する）は、ＧＰＳデータのような外部情報が不要であり、かつ、歩行時にも適用できるという利点がある。これらの手法では、いずれも前
回（２歩前）の姿勢角（方位角）と今回の姿勢角（方位角）が等しいことが条件となっているため、２歩毎のほぼ同じ姿勢角のタイミングで誤差を推定することが必要となる。
【００９１】
図６に戻り、歩行検出部２４０は、慣性計測ユニット１０の検出結果（具体的には、バイアス除去部２１０が補正したセンシングデータ）を用いて、ユーザーの歩行周期（歩行タイミング）を検出する処理を行う。図７及び図８で説明したように、ユーザーの歩行時にはユーザーの姿勢が周期的に（２歩（左右１歩ずつ）毎に）変化するため、慣性計測ユニット１０が検出する加速度も周期的に変化する。図９は、ユーザーの歩行時に慣性計測ユニット１０が検出した３軸加速度の一例を示す図である。図９において、横軸は時間であり、縦軸は加速度値である。図９に示すように、３軸加速度は周期的に変化しており、特にｚ軸（重力方向の軸）加速度は、周期性をもって規則的に変化していることがわかる。このｚ軸加速度は、ユーザーの上下動の加速度を反映しており、ｚ軸加速度が所定の閾値以上の極大値となる時から次に閾値以上の極大値となるまでの期間が１歩の期間に相当する。そして、右足を踏み出している状態の１歩と左足を踏み出している状態の１歩が交互に繰り返される。
【００９２】
そこで、本実施形態では、歩行検出部２４０は、慣性計測ユニット１０が検出するｚ軸加速度（ユーザーの上下動の加速度に相当する）が所定の閾値以上の極大値となる２回毎に１回、歩行周期を検出する。ただし、実際には、慣性計測ユニット１０が検出するｚ軸加速度には高周波のノイズ成分が含まれるため、歩行検出部２４０は、ｚ軸加速度をローパスフィルターを通過させてノイズが除去されたｚ軸加速度を用いて歩行周期を検出する。
【００９３】
参照値算出部２５０は、ＧＰＳデータ（ＧＰＳユニット５０の検出結果）が得られた（更新された）タイミングに同期して、ＧＰＳデータを用いて、誤差推定の参照値（リファレンス）を生成する。参照値算出部２５０は、例えば、参照値としてユーザーの進行方向の方位角を算出する。この場合、参照値算出部２５０は、例えば、ＧＰＳデータに含まれる速度の向きから進行方向の方位角を算出してもよいし、２つのＧＰＳデータに含まれる２つの位置から進行方向の方位角を算出してもよいし、ＧＰＳデータに方位角の情報が含まれている場合には当該方位角を進行方向の方位角としてもよい。
【００９４】
モード選択部２６０は、ＧＰＳデータ（ＧＰＳユニット５０の検出結果）に基づいて、誤差推定部２３０の誤差推定モードとして、第１モードと第２モードのいずれか一方を選択する。本実施形態では、モード選択部２６０は、歩行検出部２４０が歩行周期（２歩分の周期）を検出したタイミングで、前回歩行周期が検出された後にＧＰＳデータが更新されていた場合には第１モードを選択し、更新されていなければ第２モードを選択する。モード選択部２６０は、例えば、歩行周期が検出された時刻を記憶し、ＧＰＳデータテーブル３２０に含まれる最新のＧＰＳデータの時刻３２１と、歩行周期が検出された時刻とを比較して、ＧＰＳデータが更新されたか否かを判定することができる。
【００９５】
誤差推定部２３０は、モード選択部２６０が第１モードを選択した場合には、予測式（４）により予測した状態ベクトルＸを、センシングデータ（慣性計測ユニット１０の検出結果）に基づく第２参照値を用いずに、ＧＰＳデータ（ＧＰＳユニット５０の検出結果）に基づく第１参照値と状態ベクトルＸに含まれる状態変数のうちの第１状態変数（ユーザーの状態を表す指標の誤差のうちの第１誤差の一例）とを用いて、更新式（５）により補正する。また、誤差推定部２３０は、モード選択部２６０が第２モードを選択した場合には、予測式（４）により予測した状態ベクトルＸを、ＧＰＳデータ（ＧＰＳユニット５０の検出結果）に基づく第１参照値を用いずに、センシングデータ（慣性計測ユニット１０の検出結果）に基づく第２参照値と状態ベクトルＸに含まれる第１状態変数とを用いて、更新式（５）により補正する。要するに、誤差推定部２３０は、第１モードでは、積分処
理部２２０の算出結果に基づく第２参照値を用いずに、参照値算出部２５０がＧＰＳデータから算出した第１参照値を用いて観測ベクトルＺを算出し、ＨＸが第１状態変数の値となるような観測行列Ｈを設定する。また、誤差推定部２３０は、第２モードでは、参照値算出部２５０がＧＰＳデータから算出した第１参照値を用いずに、積分処理部２２０の算出結果に基づく第２参照値を用いて観測ベクトルＺを算出し、ＨＸが第１状態変数の値となるような観測行列Ｈを設定する。
【００９６】
例えば、誤差推定部２３０は、第１モードでは、「ＧＰＳの方位角に基づく補正による誤差推定方法」を用いて、参照値算出部２５０が算出する方位角を参照値ψｒｅｆ（第１参照値に相当する）として式（９）により観測ベクトルＺを算出し、式（９）の観測行列Ｈを設定してＨＸとして方位角誤差（第１状態変数に相当する）を算出し、更新式（５）により状態ベクトルＸを補正する。また、例えば、誤差推定部２３０は、第２モードでは、「姿勢角誤差に基づく補正による誤差推定方法」を用いて、積分処理部２２０が算出した前回の座標変換行列を参照値Ｃｂｅ（−）（第２参照値に相当する）として式（６）及び式（７）により観測ベクトルＺを算出し、式（６）の観測行列Ｈを設定してＨＸとして３次元の姿勢角誤差（方角誤差を要素として含む）を算出し、更新式（５）により状態ベクトルＸを補正する。この第１モードでの状態ベクトルＸの補正と第２モードでの状態ベクトルＸの補正では、ともにＺやＨＸとして、方位角誤差（第１状態変数に相当する）が計算されている。要するに、誤差推定部２３０は、状態ベクトルＸに含まれる同じ状態変数の差分（Ｚ−ＨＸ）を用いて状態ベクトルＸを補正する２つの異なる誤差推定方法（以下、「重複する補正を行う２つの誤差推定方法」という）を併用する場合、第１モードと第２モードでいずれか一方のみを排他的に選択する。このように、重複する補正を行う２つの誤差推定方法のいずれか一方を排他的に選択することで、二重の推定がなされることがなく、誤差の推定精度の低下を抑制することができる。
【００９７】
また、誤差推定部は、モード選択部２６０が第１モードを選択した場合には、さらに、予測式（４）により予測した状態ベクトルＸを、センシングデータ（慣性計測ユニット１０の検出結果）に基づく第３参照値と状態ベクトルＸに含まれる状態変数のうちの第２状態変数（ユーザーの状態を表す指標の誤差のうちの第２誤差の一例）とを用いて、更新式（５）により補正する。要するに、誤差推定部２３０は、第１モードでは、参照値算出部２５０がＧＰＳデータから算出した第１参照値と積分処理部２２０の算出結果に基づく第３参照値とを用いて観測ベクトルＺを算出し、ＨＸの要素が第１状態変数の値及び第２状態変数の値となるような観測行列Ｈを設定する。
【００９８】
例えば、誤差推定部２３０は、第１モードでは、「ＧＰＳの方位角に基づく補正による誤差推定方法」を用いて、参照値算出部２５０が算出する方位角を参照値ψｒｅｆ（第１参照値に相当する）とするとともに、「角速度バイアスに基づく補正による誤差推定方法」を用いて、積分処理部２２０が算出した前回の座標変換行列を参照値Ｃｂｅ（−）（第３参照値に相当する）として、式（９）のＺと式（８）のＺを合わせた観測ベクトルを算出する。さらに、誤差推定部２３０は、式（９）の観測行列Ｈと式（８）の観測行列Ｈとを合わせた観測行列を設定し、方角誤差（第１状態変数に相当する）の値と角速度バイアス（第２状態変数に相当する）の値を要素とするＨＸを算出し、更新式（５）により状態ベクトルＸを補正する。要するに、誤差推定部２３０は、第１モードでは、状態ベクトルＸに含まれる異なる状態変数の差分（Ｚ−ＨＸ）を用いて状態ベクトルＸを補正する２つの異なる誤差推定方法（以下、「重複しない補正を行う２つの誤差推定方法」という）を同時に適用する。このように、重複しない補正を行う２つの誤差推定方法を同時に適用しても、二重の推定がなされることはなく、誤差の推定精度を向上させることができる。
【００９９】
座標変換部２７０は、積分処理部２２０が算出したｂフレームからｍフレームへの座標変換情報（座標変換行列Ｃｂｍ）を用いて、バイアス除去部２１０が補正したｂフレーム
の加速度及び角速度をそれぞれｍフレームの加速度及び角速度に変換する座標変換処理を行う。また、座標変換部２７０は、積分処理部２２０が算出したｅフレームからｍフレームへの座標変換情報（座標変換行列Ｃｅｍ）を用いて、積分処理部２２０が算出したｅフレームの速度、位置及び姿勢角をそれぞれｍフレームの速度、位置及び姿勢角に変換する座標変換処理を行う。
【０１００】
運動解析部２８０は、座標変換部２７０が座標変換した後のｍフレームの加速度、角速度、速度、位置及び姿勢角を用いて各種の演算を行ってユーザーの運動を解析し、運動解析情報３４０を生成する処理を行う。本実施形態では、運動解析部２８０は、ユーザーの歩行における、移動経路、移動速度、移動時間等の移動に関する情報、前傾の度合い、左右の動きの差、推進効率、エネルギー消費量、エネルギー効率等の歩行運動の評価指標に関する情報、より良い歩行のためのアドバイスや指導の情報、姿勢が悪いことを示す警告情報（表示装置３に警告表示や警告音等を出力させるための情報）等を含む運動解析情報３４０を生成する。
【０１０１】
処理部２０は、この運動解析情報３４０を表示装置３に送信し、運動解析情報３４０は、表示装置３の表示部１７０にテキスト、画像、図形等で表示され、あるいは、音出力部１８０から音声やブザー音等で出力される。基本的には、運動解析情報３４０を表示部１７０に表示させることで、ユーザーは運動解析情報を知りたい時に表示部１７０を見て確認することができ、ユーザーに注意を喚起したい情報（警告情報等）を少なくとも音として出力させることで、ユーザーは常に表示部１７０を見ながら歩行する必要もなくなる。
【０１０２】
１−４．処理の手順
図１０は、処理部２０による運動解析処理の手順の一例（運動解析方法の一例）を示すフローチャート図である。処理部２０は、記憶部３０に記憶されている運動解析プログラム３００を実行することにより、図１０のフローチャートの手順で運動解析処理を実行する。
【０１０３】
図１０に示すように、処理部２０は、計測スタートのコマンドを受信した場合（Ｓ１のＹ）、まず、ユーザーが静止しているものとして、慣性計測ユニット１０が計測したセンシングデータ、及び、ＧＰＳデータを用いて、初期姿勢、初期位置、初期バイアスを計算する（Ｓ２）。
【０１０４】
次に、処理部２０は、慣性計測ユニット１０からセンシングデータを取得し、取得したセンシングデータをセンシングデータテーブル３１０に付加する（Ｓ３）。
【０１０５】
次に、処理部２０は、初期バイアスを用いて（Ｓ１５で加速度バイアスｂａ及び角速度バイアスｂωを推定した後は、加速度バイアスｂａ及び角速度バイアスｂωを用いて）、Ｓ３で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル３１０を更新する（Ｓ４）。
【０１０６】
次に、処理部２０は、Ｓ４で補正したセンシングデータを積分して速度、位置及び姿勢角を計算し、計算した速度、位置及び姿勢角を含む算出データを算出データテーブル３３０に付加する（Ｓ５）。
【０１０７】
次に、処理部２０は、ＧＰＳデータが更新された場合（Ｓ６のＹ）、ＧＰＳデータから参照値（例えば、方位角の参照値）を算出し（Ｓ７）、ＧＰＳデータ更新フラグをオンする（Ｓ８）。一方、ＧＰＳデータが更新されなかった場合は（Ｓ６のＮ）、処理部２０は、Ｓ７の処理及びＳ８の処理を行わない。
【０１０８】
次に、処理部２０は、歩行検出処理を行う（Ｓ９）。この歩行検出処理の手順の一例は後述する。
【０１０９】
次に、処理部２０は、歩行検出処理（Ｓ９）により歩行周期を検出した場合（Ｓ１０のＹ）、ＧＰＳデータ更新フラグがオンであれば（Ｓ１１のＹ）、第１モードを選択し（Ｓ１２）、第１モードで誤差推定処理を行い（Ｓ１３）、ＧＰＳデータ更新フラグをオフする（Ｓ１４）。処理部２０は、Ｓ１３において、センシングデータから算出した第２参照値を用いずに、Ｓ７で算出した第１参照値と第１状態変数とを用いてカルマンフィルターを適用し、速度誤差δｖｅ、姿勢角誤差εｅ、加速度バイアスｂａ、角速度バイアスｂω及び位置誤差δｐｅを推定する。また、処理部２０は、Ｓ１３において、センシングデータに基づく第３参照値を算出し、第３参照値と第２状態変数とを用いてカルマンフィルターを適用し、速度誤差δｖｅ、姿勢角誤差εｅ、加速度バイアスｂａ、角速度バイアスｂω及び位置誤差δｐｅを推定する。
【０１１０】
また、処理部２０は、ＧＰＳデータ更新フラグがオフであれば（Ｓ１１のＮ）、第２モードを選択し（Ｓ１５）、第２モードで誤差推定処理を行う（Ｓ１６）。処理部２０は、Ｓ１６において、センシングデータに基づく第２参照値を算出し、ＧＰＳデータに基づく第１参照値を用いずに、第２参照値と第１状態変数とを用いてカルマンフィルターを適用し、速度誤差δｖｅ、姿勢角誤差εｅ、加速度バイアスｂａ、角速度バイアスｂω及び位置誤差δｐｅを推定する。
【０１１１】
次に、処理部２０は、Ｓ１３又はＳ１６で推定した速度誤差δｖｅ、姿勢角誤差εｅ及び位置誤差δｐｅを用いて、速度、位置及び姿勢角をそれぞれ補正し、で補正した速度、位置及び姿勢角により算出データテーブル３３０を更新する（Ｓ１７）。
【０１１２】
また、処理部２０は、歩行周期を検出しなかった場合は（Ｓ１０のＮ）、Ｓ１１〜Ｓ１７の処理を行わない。
【０１１３】
次に、処理部２０は、センシングデータテーブル３１０に記憶されているセンシングデータ（ｂフレームの加速度及び角速度）及び算出データテーブル３３０に記憶されている算出データ（ｅフレームの速度、位置及び姿勢角）を、ｍフレームの加速度、角速度、速度、位置及び姿勢角に座標変換する（Ｓ１８）。処理部２０は、このｍフレームの加速度、角速度、速度、位置及び姿勢角を時系列に記憶部３０に記憶する。
【０１１４】
次に、処理部２０は、Ｓ１８で座標変換した後のｍフレームの加速度、角速度、速度、位置及び姿勢角を用いて、ユーザーの運動をリアルタイムに解析し、運動解析情報を生成する（Ｓ１９）。
【０１１５】
次に、処理部２０は、Ｓ１９で生成した運動解析情報を表示装置３に送信する（Ｓ２０）。表示装置３に送信された運動解析情報は、ユーザーの歩行中にリアルタイムにフィードバックされる。なお、本明細書において「リアルタイム」とは、処理対象の情報が取得されたタイミングで処理を開始することを意味する。したがって、情報の取得から処理完了までにある程度の時間差がある場合も含む。
【０１１６】
そして、処理部２０は、計測ストップのコマンドを受信するまで（Ｓ２１のＮかつＳ２２のＮ）、前回センシングデータを取得してからサンプリング周期Δｔが経過する毎に（Ｓ２１のＹ）、Ｓ３以降の処理を繰り返す。計測ストップのコマンドを受信すると（Ｓ２２のＹ）、Ｓ１８で座標変換して時系列に記憶したｍフレームの加速度、角速度、速度、位置及び姿勢角やＳ１９の解析結果を用いて、ユーザーが行った運動を解析し、運動解析
情報を生成する（Ｓ２３）。Ｓ２３において、処理部２０は、計測ストップのコマンドを受信すると、直ちに運動解析処理を行ってもよいし、ユーザーの操作による運動解析コマンドを受信した場合に運動解析処理を行ってもよい。また、処理部２０は、Ｓ２３で生成した運動解析情報を表示装置３に送信してもよいし、パーソナルコンピューターやスマートフォン等の機器に送信してもよいし、メモリーカードに記録してもよい。
【０１１７】
なお、図１０では、処理部２０は、計測スタートのコマンドを受信しなければ（Ｓ１のＮ）、Ｓ１〜Ｓ２３の処理を行わないが、過去に記憶させたｍフレームの加速度、角速度、速度、位置及び姿勢角やＳ１９の解析結果を用いてＳ２３の処理を行ってもよい。
【０１１８】
図１１は、歩行検出処理（図１０のＳ９の処理）の手順の一例を示すフローチャート図である。処理部２０（歩行検出部２４０）は、記憶部３０に記憶されている歩行検出プログラム３０１を実行することにより、図１１のフローチャートの手順で歩行検出処理を実行する。
【０１１９】
図１１に示すように、処理部２０は、図１０のＳ４で補正した加速度に含まれるｚ軸加速度をローパスフィルター処理し（Ｓ１００）、ノイズを除去する。
【０１２０】
次に、処理部２０は、Ｓ１００でローパス処理したｚ軸加速度が閾値以上かつ極大値の場合に（Ｓ１１０のＹ）、歩行検出有効フラグがオンであれば（Ｓ１２０のＹ）、このタイミングで歩行周期を検出する（Ｓ１３０）。そして、処理部２０は、歩行検出有効フラグをオフし（Ｓ１４０）、歩行検出処理を終了する。
【０１２１】
一方、ｚ軸加速度が閾値以上かつ極大値の場合に（Ｓ１１０のＹ）、歩行検出有効フラグがオフであれば（Ｓ１２０のＮ）、歩行周期を検出せずに、歩行検出有効フラグをオンし（Ｓ１５０）、歩行検出処理を終了する。なお、処理部２０は、ｚ軸加速度が閾値未満か極大値でなければ（Ｓ１１０のＮ）、Ｓ１２０以降の処理を行わずに歩行処理を終了する。
【０１２２】
１−５．効果
本実施形態によれば、重複する補正を行う２つの誤差推定方法のいずれか一方を排他的に選択しながら重複させずに併用するので、ユーザーの状態を表す指標の誤差を精度よく推定することができる。
【０１２３】
また、本実施形態によれば、歩行周期の検出タイミングにおいて、直近にＧＰＳデータが得られた場合には、相対的に信頼性の高い第１モードで誤差推定を行うことができ、直近にＧＰＳデータが得られなかった場合でも第２モードで誤差推定を行うことができる。
【０１２４】
また、本実施形態によれば、第１モードにおいて、重複しない補正を行う２つの誤差推定方法を同時に適用するので、二重の推定がなされることもなく、第１精度での誤差の推定精度を向上させることができる。
【０１２５】
また、本実施形態によれば、精度よく推定した誤差を用いて、ユーザーの速度、位置、姿勢角等の情報を精度よく補正することができる。さらに、本実施形態によれば、この精度よく補正したユーザーの速度、位置、姿勢等の情報を用いて、ユーザーの歩行運動を精度よく解析することができる。
【０１２６】
２．変形例
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の
符号を付して再度の説明を省略する。
【０１２７】
２−１．センサー
上記の実施形態では、加速度センサー１２と角速度センサー１４が慣性計測ユニット１０として一体化された運動解析装置２に内蔵されているが、加速度センサー１２と角速度センサー１４は一体化されていなくてもよい。あるいは、加速度センサー１２と角速度センサー１４とが運動解析装置２に内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、例えば、いずれか一方のセンサー座標系を上記の実施形態のｂフレームとして、他方のセンサー座標系を当該ｂフレームに変換し、上記の実施形態を適用すればよい。
【０１２８】
また、上記の実施形態では、センサー（運動解析装置２（ＩＭＵ１０））のユーザーへの装着部位を腰として説明したが、腰以外の部位に装着することとしてもよい。好適な装着部位はユーザーの体幹（四肢以外の部位）である。しかしながら、体幹に限らず、腕以外の例えばユーザーの頭や足に装着することとしてもよい。
【０１２９】
２−２．歩行検出
上記の実施形態では、歩行検出部２４０は、ユーザーの上下動の加速度（ｚ軸加速度）が閾値以上で極大値となるタイミングで歩行周期を検出しているが、これに限らず、例えば、上下動の加速度（ｚ軸加速度）が正から負に変化する（ゼロクロスする）タイミング（又は負から正にゼロクロスするタイミング）で歩行周期を検出してもよい。あるいは、歩行検出部２４０は、上下動の加速度（ｚ軸加速度）を積分して上下動の速度（ｚ軸速度）を算出し、算出した上下動の速度（ｚ軸速度）を用いて歩行周期を検出してもよい。この場合、歩行検出部２４０は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。また、例えば、歩行検出部２４０は、ｘ軸、ｙ軸、ｚ軸の合成加速度を算出し、算出した合成加速度を用いて歩行周期を検出してもよい。この場合、歩行検出部２４０は、例えば、当該合成加速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。
【０１３０】
２−３．モード選択
上記の実施形態では、モード選択部２６０は、ＧＰＳデータが更新された場合に第１モードを選択し、ＧＰＳデータが更新されなかった場合に第２モードを選択しているが、ＧＰＳデータが更新された場合、当該ＧＰＳデータの測位精度が基準値以上の場合（ＤＯＰ値が基準値以下の場合）には第１モードを選択し、当該測位精度が基準値未満の場合（ＤＯＰ値が基準値よりも大きい場合）には第２モードを選択してもよい。
【０１３１】
２−４．参照値算出
上記の実施形態では、参照値算出部２５０は、ＧＰＳ衛星からの信号を用いて参照値を算出しているが、ＧＰＳ以外の全地球航法衛星システム（ＧＮＳＳ：Global Navigation Satellite System）の測位用衛星やＧＮＳＳ以外の測位用衛星からの信号を用いて参照速度を算出してもよい。あるいは、参照値算出部２５０は地磁気センサーの検出信号を用いて方位角の参照値を算出してもよい。例えば、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ、ＢｅｉＤｏｕ（BeiDou Navigation Satellite System）といった衛星測位システムのうち１つ、あるいは２つ以上を利用してもよい。また、屋内測位システム（ＩＭＥＳ：Indoor Messaging System）等を利用してもよい。
【０１３２】
２−５．誤差推定
上記の実施形態では、誤差推定部２３０は、速度、姿勢角、加速度、角速度及び位置を
ユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定しているが、速度、姿勢角、加速度、角速度及び位置の一部をユーザーの状態を表す指標として、その誤差を推定してもよい。あるいは、誤差推定部２３０は、速度、姿勢角、加速度、角速度及び位置以外のもの（例えば、移動距離）をユーザーの状態を表す指標として、その誤差を推定してもよい。
【０１３３】
また、上記の実施形態では、誤差推定部２３０は、第１モードと第２モードで、方位角の参照値と方位角誤差とを用いて状態ベクトルＸを補正する、重複する補正を行う２つの誤差推定方法を排他的に選択しているが、これに限らず、例えば、距離の参照値と距離誤差とを用いて状態ベクトルＸを補正する、重複する補正を行う２つの誤差推定方法を排他的に選択してもよい。具体的には、状態ベクトルＸの状態変数として距離の誤差を定義し、誤差推定部２３０は、第１モードでは、ＧＰＳデータに基づく距離の参照値を第１参照値、距離の誤差を第１状態変数として、第１参照値と第１状態変数とを用いて状態ベクトルＸを補正する。また、誤差推定部２３０は、第２モードでは、センシングデータに基づく距離の参照値（例えば、加速度から歩幅を推定し、歩幅と歩数を掛けて距離の参照値を算出する等）を第２参照値、距離の誤差を第１状態変数として、第１参照値と第１状態変数とを用いて状態ベクトルＸを補正する。
【０１３４】
また、上記の実施形態では、誤差推定部２３０による誤差の推定に拡張カルマンフィルターを用いているが、パーティクルフィルターやＨ∞（Ｈインフィニティー）フィルター等の他の推定手段に代えてもよい。
【０１３５】
２−６．その他
上記の実施形態では、積分処理部２２０がｅフレームの速度、位置及び姿勢角を算出し、座標変換部２７０がこれをｍフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部２２０がｍフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部２８０は、積分処理部２２０が算出したｍフレームの速度、位置、姿勢角を用いて運動解析処理を行えばよいので、座標変換部２７０による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部２３０はｍフレームの速度、位置、姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
【０１３６】
また、上記の実施形態では、処理部２０が画像データ、音データ、テキストデータ等の運動解析情報を生成しているが、これに限らず、例えば、処理部２０は、推進効率やエネルギー消費量などの計算結果を送信し、当該計算結果を受信した表示装置３の処理部１２０が当該計算結果に応じた画像データ、音声データ、テキストデータ（アドバイス等）を作成してもよい。
【０１３７】
また、上記の実施形態では、処理部２０が、計測ストップのコマンドを受信した後、ユーザーが行った運動を解析し、運動解析情報を生成する処理（図１０のＳ２３）を行っているが、この運動解析処理（後処理）は、処理部２０が行わなくてもよい。例えば、処理部２０が、記憶部３０に記憶されている各種の情報をパーソナルコンピューター、スマートフォン、ネットワークサーバー等の機器に送信し、これらの機器が運動解析処理（後処理）を行ってもよい。
【０１３８】
また、上記の実施形態では、表示装置３は、表示部１７０と音出力部１８０から運動解析情報を出力しているが、これに限らず、例えば、表示装置３に振動機構を設けて、振動機構を各種のパターンで振動させることにより各種情報を出力してもよい。
【０１３９】
また、上記の実施形態では、ＧＰＳユニット５０は運動解析装置２に設けられているが、表示装置３に設けられていてもよい。この場合、表示装置３の処理部１２０がＧＰＳユ
ニット５０からＧＰＳデータを受け取って通信部１４０を介して運動解析装置２に送信し、運動解析装置２の処理部２０が通信部４０を介してＧＰＳデータを受信し、受信したＧＰＳデータをＧＰＳデータテーブル３２０に付加すればよい。
【０１４０】
また、上記の実施形態では、運動解析装置２と表示装置３が別体となっているが、運動解析装置２と表示装置３が一体化された運動解析装置であってもよい。
【０１４１】
また、上記の実施形態では、運動解析装置２がユーザーに装着されているが、これに限らず、慣性計測ユニット（慣性センサー）やＧＰＳユニットをユーザーの胴体等に装着し、慣性計測ユニット（慣性センサー）やＧＰＳユニットはそれぞれ検出結果をスマートフォン等の携帯情報機器やパーソナルコンピューター等の設置型の情報機器に送信し、これらの機器が受信した検出結果を用いてユーザーの運動を解析してもよい。あるいは、ユーザーの胴体等に装着された慣性計測ユニット（慣性センサー）やＧＰＳユニットが検出結果をメモリーカード等の記録媒体に記録し、当該記録媒体をスマートフォンやパーソナルコンピューター等の情報機器が当該記録媒体から検出結果を読み出して運動解析処理を行ってもよい。
【０１４２】
また、上記の実施形態では、人の歩行を対象としていたが、本発明は、これに限らず、動物や歩行ロボット等の移動体の歩行にも同様に適用することができる。また、本発明は、歩行に限らず、登山、トレイルラン、スキー（クロスカントリーやスキージャンプも含む）、スノーボード、水泳、自転車の走行、スケート、ゴルフ、テニス、野球、リハビリテーション等の多種多様な運動に適用することができる。
【０１４３】
上述した各実施形態および各変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
【０１４４】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１４５】
１  運動解析システム、２  運動解析装置、３  表示装置、１０  慣性計測ユニット（ＩＭＵ）、１２  加速度センサー、１４  角速度センサー、１６  信号処理部、２０  処理部、３０  記憶部、４０  通信部、５０  ＧＰＳユニット、１２０  処理部、１３０  記憶部、１４０  通信部、１５０  操作部、１６０  計時部、１７０  表示部、１８０  音出力部、２１０  バイアス除去部、２２０  積分処理部、２３０  誤差推定部、２４０  歩行検出部、２５０  参照値算出部、２６０  モード選択部、２７０  座標変換部、２８０  運動解析部
【図１】
2015184158.tif 000014
【図２】
2015184158.tif 000015
【図３】
2015184158.tif 000016
【図４】
2015184158.tif 000017
【図５】
2015184158.tif 000018
【図６】
2015184158.tif 000019
【図７】
2015184158.tif 000020
【図９】
2015184158.tif 000021
【図１０】
2015184158.tif 000022
【図１１】
2015184158.tif 000023
【図８】
2015184158.tif 000024