(57)【要約】【課題】移動体の状態を表す指標の誤差を推定するための参照値を精度よく生成することが可能な参照値生成方法、参照値生成装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供すること。【解決手段】移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、を含む、参照値生成方法。【選択図】図１５
2015184160.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）等のディスプレイで実現され、タッチパネル型ディスプレイであってもよい。なお、１つのタッチパネル型ディスプレイで操作部１５０と表示部１７０の機能を実現するようにしてもよい。
【００６３】
音出力部１８０は、処理部１２０から送られてきた音データを、音声やブザー音等の音として出力するものである。音出力部１８０は、例えば、スピーカーやブザーなどで実現される。
【００６４】
図６は、運動解析装置２の処理部２０の構成例を示す機能ブロック図である。本実施形態では、処理部２０は、記憶部３０に記憶されている運動解析プログラム３００を実行することにより、バイアス除去部２１０、積分処理部２２０、誤差推定部２３０、歩行検出部２４０、傾向推定式算出部２５０、座標変換部２６０及び運動解析部２７０として機能する。
【００６５】
バイアス除去部２１０は、新たに取得したセンシングデータに含まれる加速度（３軸加速度）及び角速度から、それぞれ、誤差推定部２３０が推定した加速度バイアスｂa及び角速度バイアスｂωを減算し、加速度及び角速度を補正する処理を行う。なお、計測開始直後の初期状態では加速度バイアスｂa及び角速度バイアスｂωが存在しないため、バイアス除去部２１０は、ユーザーの初期状態は静止状態であるものとして、慣性計測ユニットをからのセンシングデータを用いて、初期バイアスを計算する。
【００６６】
積分処理部２２０は、バイアス除去部２１０が補正した加速度及び角速度からｅフレームの速度ｖe、位置ｐe及び姿勢角（ロール角φbe、ピッチ角θbe、ヨー角ψbe）を算出する処理を行う。具体的には、積分処理部２２０は、まず、ユーザーの初期状態は静止状態であるものとして、初期速度をゼロとし、あるいは、ＧＰＳデータに含まれる速度から初期速度を算出し、さらに、ＧＰＳデータに含まれる位置から初期位置を算出する。また、積分処理部２２０は、バイアス除去部２１０が補正したｂフレームの３軸加速度から重力加速度の向きを特定してロール角φbeとピッチ角θbeの初期値を算出するとともに、ＧＰＳデータに含まれる速度からヨー角ψbeの初期値を算出し、ｅフレームの初期姿勢角とする。ＧＰＳデータが得られない場合はヨー角ψbeの初期値を例えばゼロとする。そして、積分処理部２２０は、算出した初期姿勢角から式（１）で表されるｂフレームからｅフレームへの座標変換行列（回転行列）Ｃbeの初期値を算出する。
【００６７】
【数１】
2015184160.tif 000003
【００６８】
その後は、積分処理部２２０は、バイアス除去部２１０が補正した３軸角速度を積算（回転演算）して座標変換行列Ｃbeを算出し、式（２）より姿勢角を算出する。
【００６９】
【数２】
2015184160.tif 000004
【００７０】
また、積分処理部２２０は、座標変換行列Ｃbeを用いて、バイアス除去部２１０が補正したｂフレームの３軸加速度をｅフレームの３軸加速度に変換し、重力加速度成分を除去して積算することでｅフレームの速度ｖeを算出する。また、積分処理部２２０は、ｅフレームの速度ｖeを積算してｅフレームの位置ｐeを算出する。
【００７１】
また、積分処理部２２０は、誤差推定部２３０が推定した速度誤差δｖe、位置誤差δｐe及び姿勢角誤差εeを用いて、速度ｖe、位置ｐe及び姿勢角を補正する処理も行う。
【００７２】
さらに、積分処理部２２０は、ｂフレームからｍフレームへの座標変換行列Ｃbm及びｅフレームからｍフレームへの座標変換行列Ｃemも算出する。これらの座標変換行列は座標変換情報として後述する座標変換部２６０の座標変換処理に用いられる。
【００７３】
誤差推定部２３０は、積分処理部２２０が算出した速度・位置、姿勢角、バイアス除去部２１０が補正した加速度や角速度、ＧＰＳデータ等を用いて、ユーザーの状態を表す指標の誤差を推定する。本実施形態では、誤差推定部２３０は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。すなわち、誤差推定部２３０は、積分処理部２２０が算出した速度ｖeの誤差（速度誤差）δｖe、積分処理部２２０が算出した姿勢角の誤差（姿勢角誤差）εe、加速度バイアスｂa、角速度バイアスｂω及び積分処理部２２０が算出した位置ｐeの誤差（位置誤差）δｐeを拡張カルマンフィルターの状態変数とし、状態ベクトルＸを式（３）のように定義する。
【００７４】
【数３】
2015184160.tif 000005
【００７５】
誤差推定部２３０は、拡張カルマンフィルターの予測式を用いて、状態ベクトルＸに含まれる状態変数（ユーザーの状態を表す指標の誤差）を予測する。拡張カルマンフィルターの予測式は、式（４）のように表される。式（４）において、行列Φは、前回の状態ベクトルＸと今回の状態ベクトルＸを関連付ける行列であり、その要素の一部は姿勢角や位置等を反映しながら時々刻々変化するように設計される。また、Ｑはプロセスノイズを表す行列であり、その各要素はあらかじめ適切な値に設定される。また、Ｐは状態変数の誤差共分散行列である。
【００７６】
【数４】
2015184160.tif 000006
【００７７】
また、誤差推定部２３０は、拡張カルマンフィルターの更新式を用いて、予測した状態変数（ユーザーの状態を表す指標の誤差）を更新（補正）する。拡張カルマンフィルターの更新式は、式（５）のように表される。Ｚ及びＨはそれぞれ観測ベクトル及び観測行列であり、更新式（５）は、実際の観測ベクトルＺと状態ベクトルＸから予測されるベクトルＨＸとの差を用いて、状態ベクトルＸを補正することを表している。Ｒは、観測誤差の共分散行列であり、あらかじめ決められた一定値であってもよいし、動的に変更してもよい。Ｋはカルマンゲインであり、Ｒが小さいほどＫが大きくなる。式（５）より、Ｋが大きい（Ｒが小さい）ほど、状態ベクトルＸの補正量が大きくなり、その分、Ｐが小さくなる。
【００７８】
【数５】
2015184160.tif 000007
【００７９】
誤差推定の方法（状態ベクトルＸの推定方法）としては、例えば、以下のようなものが挙げられる。
【００８０】
姿勢角誤差に基づく補正による誤差推定方法：
図７は、運動解析装置２を右腰に装着したユーザーが歩行動作（直進）をする場合のユーザーの移動を俯瞰した図である。また、図８は、ユーザーが歩行動作（直進）をする場
合に慣性計測ユニット１０の検出結果から算出したヨー角（方位角）の一例を示す図であり、横軸は時間、縦軸はヨー角（方位角）である。
【００８１】
ユーザーの歩行動作に伴い、ユーザーに対する慣性計測ユニット１０の姿勢が随時変化する。ユーザーが右足を踏み出した状態では、図７中の（２）や（４）に示すように、慣性計測ユニット１０は進行方向（ｍフレームのｘ軸）に対して左側に傾いた姿勢となる。それに対して、ユーザーが左足を踏み出した状態では、図７中の（１）や（３）に示すように、慣性計測ユニット１０は進行方向（ｍフレームのｘ軸）に対して右側に傾いた姿勢となる。つまり、慣性計測ユニット１０の姿勢は、ユーザーの歩行動作に伴い、左右１歩ずつの２歩毎に周期的に変化することになる。図８では、例えば、右足を踏み出した状態でヨー角が極大となり（図８中の○）、左足を踏み出した状態でヨー角が極小となっている（図８中の●）。そこで、前回（２歩前）の姿勢角と今回の姿勢角は等しく、かつ、前回の姿勢角は真の姿勢であるものとして誤差を推定することができる。この方法では、観測ベクトルＺ及び観測行列Ｈは、式（６）のようになる。式（６）において、Ｏ3,3は３行３列の零行列であり、Ｉ3は３行３列の単位行列であり、Ｏ3,9は３行９列の零行列である。式（６）のΨは式（７）で計算される。
【００８２】
【数６】
2015184160.tif 000008
【００８３】
【数７】
2015184160.tif 000009
【００８４】
式（７）において、Ｃbe（＋）は今回の姿勢角であり、Ｃbe（−）は前回の姿勢角である。式（６）の観測ベクトルＺは前回の姿勢角と今回の姿勢角との差であり、この方法では、更新式（５）により、姿勢角誤差εeと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８５】
角速度バイアスに基づく補正による誤差推定方法：
前回（２歩前）の姿勢角と今回の姿勢角は等しいが、前回の姿勢角は真の姿勢である必要はないものとして誤差を推定する方法である。この方法では、観測ベクトルＺ及び観測行列Ｈは、式（８）のようになる。式（８）において、Ｏ3,9は３行９列の零行列であり、Ｉ3は３行３列の単位行列であり、Ｏ3,3は３行３列の零行列である。
【００８６】
【数８】
2015184160.tif 000010
【００８７】
式（８）において、Ｃbe（＋）は今回の姿勢角であり、Ｃbe（−）は前回の姿勢角である。また、τ-+は前回の姿勢角から今回の姿勢角に変わるまでの時間である。式（８）の観測ベクトルＺは前回の姿勢角及び今回の姿勢角から算出される角速度バイアスであり、この方法では、更新式（５）により、角速度バイアスｂωと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００８８】
方位角誤差に基づく補正による誤差推定方法：
前回（２歩前）のヨー角（方位角）と今回のヨー角（方位角）は等しく、かつ、前回のヨー角（方位角）は真のヨー角（方位角）であるものとして誤差を推定する方法である。この方法では、観測ベクトルＺ及び観測行列Ｈは、式（９）のようになる。式（９）において、Ｏ1,3は１行３列の零行列であり、Ｏ1,9は１行９列の零行列である。式（９）の各偏微分は式（１０）で計算される。また、式（１０）のｎ1，ｎ2，ｎ3，ｄ1，ｄ2，ｄ3は式（１１）で計算される。
【００８９】
【数９】
2015184160.tif 000011
【００９０】
【数１０】
2015184160.tif 000012
【００９１】
【数１１】
2015184160.tif 000013
【００９２】
式（９）において、ψbe（＋）は今回のヨー角（方位角）であり、ψbe（−）は前回のヨー角（方位角）である。式（９）の観測ベクトルＺは前回の方位角と今回の方位角との差であり、この方法では、更新式（５）により、方位角誤差εzeと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００９３】
停止に基づく補正による誤差推定方法：
停止時は速度がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した速度ｖeとゼロとの差であり、更新式（５）により、速度誤差δｖeに基づいて状態ベクトルＸを補正し、誤差を推定する。
【００９４】
静止に基づく補正による誤差推定方法：
静止時は速度がゼロであり、かつ、姿勢変化がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した速度ｖeの誤差及び積分処理部２２０が算出した前回の姿勢角と今回の姿勢角との差であり、更新式（５）により、速度誤差δｖe及び姿勢角誤差εeに基づいて状態ベクトルＸを補正し、誤差を推定する。
【００９５】
ＧＰＳの観測値に基づく補正による誤差推定方法：
積分処理部２２０が算出した速度ｖe、位置ｐeあるいはヨー角ψbeとＧＰＳデータから算出される速度、位置あるいは方位角（ｅフレームに変換後の速度、位置、方位角）は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルＺは積分処理部２２０が算出した速度、位置あるいはヨー角とＧＰＳデータから算出される速度、位置速度あるいは方位角との差であり、更新式（５）により、速度誤差δｖe、位置誤差δｐeあるいは方位角誤差εzeと観測値との差に基づいて状態ベクトルＸを補正し、誤差を推定する。
【００９６】
このうち、「姿勢角誤差に基づく補正による誤差推定方法」、「方位角誤差に基づく補正による誤差推定方法」、「角速度バイアスに基づく補正による誤差推定方法」（以下、「姿勢角を用いた誤差推定方法」と総称する）は、ＧＰＳデータのような外部情報が不要であり、かつ、歩行時にも適用できるという利点がある。ただし、これらの手法では、いずれも前回の姿勢角（方位角）と今回の姿勢角（方位角）が等しいことが条件となっているが、実際には毎回同じ姿勢角（方位角）になるとは限らない。例えば、図９（Ａ）は、被験者が直進した時の２歩毎（例えば、右足を踏み出した状態毎）の姿勢角（ヨー角）の算出結果を示す図である。また、図９（Ｂ）は、図９（Ａ）の各時刻のヨー角に対して２歩前のヨー角との差分の時間変化を示す図である。図９（Ａ）のヨー角は、角速度バイアスを補正せずに算出したものであり、角速度バイアスに応じた傾きをもって変化している。図９（Ｂ）では、ヨー角の差分が大きく変化しており一定値に収束していないため、角
速度バイアスを正確に推定することが難しい。すなわち、前回の姿勢角（方位角）と今回の姿勢角（方位角）が等しいという条件では、誤差推定の信頼度を向上させることが難しい。
【００９７】
これらの手法では、時々刻々変化する前回の姿勢角をリファレンスの姿勢角とすることに問題がある。そこで、前回の姿勢角に代えて、直進中の２歩毎の姿勢角のうちの任意の１つの姿勢角をリファレンスの姿勢角に固定することが考えられる。バイアスによる姿勢角の変化をとらえやすくするためには、直進開始時の姿勢角をリファレンスの姿勢角とすることが好ましい。図９（Ｃ）は、図９（Ａ）の各時刻のヨー角に対して直進が始まった時のヨー角（最も古いヨー角）との差分の時間変化を示す図である。図９（Ｃ）では、時間の経過とともにヨー角の差分が角速度バイアスに応じた一定値に収束しており、角速度バイアスをより正確に推定することが可能である。従って、直進が始まった時の姿勢角をリファレンスの姿勢角に固定して使用し、姿勢角を用いた誤差推定方法を適用すれば、拡張カルマンフィルターによる誤差推定の精度が向上する。
【００９８】
ただし、直進が始まった付近のヨー角にもばらつきがある。例えば、図１０（Ａ）は図９（Ａ）と同じヨー角の時間変化を示す図であるが、直進開始時のヨー角にばらつきがある。そのため、直進開始時の姿勢角も誤差を含んでいる可能性が高く、誤差を持った姿勢角をリファレンスの姿勢角として拡張カルマンフィルターを適用し続けると、その誤差が角速度バイアスとみなされてしまい、角速度バイアスの推定精度に限界が生じる。
【００９９】
これに対して、姿勢角の誤差を角速度バイアスによる誤差とばらつきによる誤差とに分離し、リファレンスの姿勢角からばらつきによる誤差をできるだけ除去すれば、角速度バイアスをより正確に推定することが可能になると考えられる。例えば、直進開始から現在までの２歩毎の姿勢角の変化から、ばらつきによる誤差を除去した姿勢角を推定するための傾向推定式を動的に算出し、この傾向推定式を用いて算出される直進開始時の姿勢角をリファレンス姿勢角とすればよい。例えば、図１０（Ｂ）は、図９（Ａ）のヨー角に対して一次回帰直線を求めた図であるが、この回帰直線上の姿勢角はばらつきによる誤差が小さく、回帰直線の傾きが角速度バイアスによる誤差に対応する。
【０１００】
そこで、本実施形態では２歩毎の歩行周期を検出し、２歩毎の姿勢角（補正前の姿勢角）を用いて傾向推定式を動的に算出し、傾向推定式から計算される直進開始時の姿勢角をリファレンスの姿勢角（前回の姿勢角）として、姿勢角を用いた誤差推定方法を適用し、拡張カルマンフィルターによる誤差推定を行う。
【０１０１】
図６に戻り、歩行検出部２４０は、慣性計測ユニット１０の検出結果（具体的には、バイアス除去部２１０が補正したセンシングデータ）を用いて、ユーザーの歩行周期（歩行タイミング）を検出する処理を行う。図７及び図８で説明したように、ユーザーの歩行時にはユーザーの姿勢が周期的に（２歩（左右１歩ずつ）毎に）変化するため、慣性計測ユニット１０が検出する加速度も周期的に変化する。図１１は、ユーザーの歩行時に慣性計測ユニット１０が検出した３軸加速度の一例を示す図である。図１１において、横軸は時間であり、縦軸は加速度値である。図１１に示すように、３軸加速度は周期的に変化しており、特にｚ軸（重力方向の軸）加速度は、周期性をもって規則的に変化していることがわかる。このｚ軸加速度は、ユーザーの上下動の加速度を反映しており、ｚ軸加速度が所定の閾値以上の極大値となる時から次に閾値以上の極大値となるまでの期間が１歩の期間に相当する。そして、右足を踏み出している状態の１歩と左足を踏み出している状態の１歩が交互に繰り返される。
【０１０２】
そこで、本実施形態では、歩行検出部２４０は、慣性計測ユニット１０が検出するｚ軸加速度（ユーザーの上下動の加速度に相当する）が所定の閾値以上の極大値となる２回毎
に１回、歩行周期を検出する。ただし、実際には、慣性計測ユニット１０が検出するｚ軸加速度には高周波のノイズ成分が含まれるため、歩行検出部２４０は、ｚ軸加速度をローパスフィルターを通過させてノイズが除去されたｚ軸加速度を用いて歩行周期を検出する。
【０１０３】
傾向推定式算出部２５０は、所定の条件を満たす期間において算出した姿勢角を用いて、姿勢角の傾向推定式を算出する処理を行う。具体的には、傾向推定式算出部２５０は、当該所定の条件としてユーザーが直進していることを判定し、直進している期間において積分処理部２２０が算出した姿勢角のうち所定のタイミングで算出した姿勢角（補正前の姿勢角）を用いて、姿勢角の傾向推定式を算出する。本実施形態では、当該所定のタイミングは、歩行検出部２４０が歩行周期を検出したタイミングに同期したタイミングであり、歩行周期を検出したタイミングと同じタイミングでもよい。なお、補正後の姿勢角を用いて算出された傾向推定式は傾きが小さくなり、後述する傾向推定式を利用した直進判定ができない、あるいは判定精度が低下するため、傾向推定式算出部２５０は、補正前の姿勢角を用いて傾向推定式を算出する。
【０１０４】
本実施形態では、傾向推定式として、係数ａ，ｂを用いて式（１２）のような１次回帰式を使用する。ｙは積分処理部２２０が算出した補正前の姿勢角（ロール角、ピッチ角、ヨー角のいずれか）であり、ｘは当該姿勢角に対応づけられる時刻である。傾向推定式算出部２５０は、歩行周期が検出される毎に、補正前のロール角、ピッチ角、ヨー角について、それぞれ１次回帰式（１２）を計算する。
【０１０５】
【数１２】
2015184160.tif 000014
【０１０６】
ａ及びｂは、それぞれ、式（１３）及び式（１４）のように計算される。また、回帰直線の相関係数ｒは式（１５）のように計算される。
【０１０７】
【数１３】
2015184160.tif 000015
【０１０８】
【数１４】
2015184160.tif 000016
【０１０９】
【数１５】
2015184160.tif 000017
【０１１０】
式（１４）及び式（１５）のＳ（ｘ，ｙ）、Ｓ（ｘ，ｘ）及びＳ（ｙ，ｙ）は、それぞ
れ、式（１６）、式（１７）及び式（１８）で計算される。
【０１１１】
【数１６】
2015184160.tif 000018
【０１１２】
【数１７】
2015184160.tif 000019
【０１１３】
【数１８】
2015184160.tif 000020
【０１１４】
式（１３）〜式（１８）より、積分処理部２２０が姿勢角ｙiを算出（更新）する毎に、その時刻ｘiと補正前の姿勢角ｙiを用いてΣｘiｙi，Σｘi，Σｙi，Σｘi2，Σｙi2，ｎの６つのパラメーターを計算すれば、係数ａ，ｂ及び相関係数ｒを計算（更新）することができる。そこで、本実施形態では、傾向推定式算出部２５０は、歩行検出部２４０が歩行周期を検出すると、その時刻と当該時刻で積分処理部２２０が算出した補正前の姿勢角とを用いて、記憶部３０に保存されているΣｘiｙi，Σｘi，Σｙi，Σｘi2，Σｙi2，ｎの６つのパラメーターを更新し、記憶部３０に保存（記憶）する。この６つのパラメーターを保存することで、１次回帰式（１２）の計算に必要なｎ個の姿勢角とｎ個の時刻を記憶する必要がなくなる。
【０１１５】
本実施形態では、傾向推定式算出部２５０は、直進の開始時に傾向推定式の計算を開始し、直進が終了するまで、２歩毎に傾向推定式を更新する。
【０１１６】
また、傾向推定式算出部２５０は、算出（更新）した傾向推定式（１次回帰式（１２））を用いて、ユーザーの状態を表す指標の誤差（速度誤差δｖe、姿勢角誤差εe、加速度バイアスｂa、角速度バイアスｂω及び位置誤差δｐe）を推定するための参照値（リファレンスの姿勢角）を生成する処理を行う。具体的には、傾向推定式算出部２５０は、１次回帰式（１２）が更新される毎に、例えば、１次回帰式（１２）の計算を開始した時刻（直進開始時刻）を１次回帰式（１２）のｘに代入し、リファレンスの姿勢角を算出する。
【０１１７】
ここで、ユーザーが進行方向を変えると、進行方向が変わる前後では、姿勢角が異なるため、直進開始前の姿勢角を直進開始後にリファレンスの姿勢角として使用することはで
きない。従って、直進判定が必要になる。慣性計測ユニット１０が検出した加速度や角速度の変化量から直進判定を行うこともできるが判定精度に問題があり、精度よく判定する手法は確立されていない。
【０１１８】
傾向推定式算出部２５０は、傾向推定式（１次回帰式（１２））を算出（更新）する時に、傾向推定式を利用して直進判定を行う。本実施形態では、傾向推定式算出部２５０は、１次回帰式（１２）を利用して、以下の４つの条件がすべて満たされている場合に直進と判定する。
条件１：基準となる時刻（例えば、）での、補正前の姿勢角と回帰直線上の姿勢角（リファレンス姿勢角）との差（Ａ）が一定値以下
条件２：現在の時刻での、補正前の姿勢角と回帰直線上の姿勢角との差（Ｂ）が一定値以下
条件３：回帰直線の傾きの絶対値が一定値以下
条件４：回帰直線の相関係数ｒが一定値以上
【０１１９】
条件１は、ユーザーが進行方向を変えると、算出（更新）される回帰直線の傾きが変わっていくので、直進開始時の２つの姿勢角の差（Ａ）が大きくなっていくことに基づく条件である。条件２は、ユーザーが進行方向を変えると方位が変化するため、現在の２つの姿勢角の差（Ｂ）が大きくなることに基づく条件である。条件３は、直進時には、回帰直線の傾きが角速度バイアスに対応するため、回帰直線の傾きはある程度決まった範囲に収まることに基づく条件である。条件４は、回帰直線の相関係数ｒが大きいほど、補正前の各姿勢角と回帰直線上の姿勢角との差小さく、より直進に近いことに基づく条件である。
【０１２０】
図１２は、回帰直線と補正前のヨー角との関係の一例を示す図である。図１２では、現在の時刻がｔNであり、基準となる時刻が現在から１２歩（２歩？６）前の時刻ｔN-6である。すなわち、時刻ｔN-6は、直進が始まった時刻であり、新たに回帰直線の計算が開始された時刻である。図１２の例では、現在の時刻ｔNにおいて、時刻ｔN-6，ｔN-5，ｔN-4，ｔN-3，ｔN-2，ｔN-1，ｔNの７個の補正前のヨー角ψN-6，ψN-5，ψN-4，ψ-3，ψN-2，ψ-1，ψN（●で表記）から回帰式（１２）の係数ａ，ｂが計算された回帰直線Ｌが図示されている。条件１は、直線が始まった時刻ｔN-6での、補正前のヨー角ψN-6と回帰直線Ｌ上のヨー角ψ’N-6（？で表記）との差が一定値以下であることを意味する。条件２は、現在の時刻ｔNでの、補正前のヨー角ψNと回帰直線Ｌ上のヨー角ψ’N（？で表記）との差が一定値以下であることを意味する。条件３は、回帰直線Ｌの傾き（回帰式（１２）の係数ａ）が一定値以下であることを意味する。条件４は、回帰直線Ｌ（回帰式（１２））の相関係数ｒが一定値以上であることを意味する。
【０１２１】
傾向推定式算出部２５０は、この条件１〜４がすべて満たされていれば直進と判定し、誤差推定部２３０は、直線が始まった時刻ｔN-6でのヨー角ψN-6をリファレンスのヨー角として観測ベクトルＺを作成し、拡張カルマンフィルターによる誤差推定を行う。そして、傾向推定式算出部２５０は、時刻ｔN+1において、２歩後の補正前の姿勢角ψN+1を用いて回帰直線Ｌと相関係数ｒを更新する。
【０１２２】
また、傾向推定式算出部２５０は、条件１〜４の１つ以上が満たされていなければ直進ではないと判定し、回帰直線Ｌを更新せずに、パラメーターΣｘiｙi，Σｘi，Σｙi，Σｘi2，Σｙi2，ｎを初期化（０にリセット）する。この場合、誤差推定部２３０は、「姿勢角を用いた誤差推定方法」に用いる観測ベクトルＺを作成しない。つまり、拡張カルマンフィルターによる「姿勢角を用いた誤差推定方法」を行わない。
【０１２３】
なお、実際には、傾向推定式算出部２５０は、ロール角、ピッチ角、ヨー角について、それぞれ算出した傾向推定式を用いて上記１〜４を満たすか否かを判定し、ロール角、ピ
ッチ角、ヨー角のすべてについて、上記１〜４が満たされる場合に直進と判定する。
【０１２４】
本実施形態では、誤差推定部２３０は、少なくとも、傾向推定式（回帰式）を利用して姿勢角を用いた誤差推定方法を改良して適用し、さらにその他の誤差推定方法の一部又は全部を適用した観測ベクトルＺ及び観測行列Ｈを作成し、拡張カルマンフィルターを用いて状態ベクトルＸを推定する。
【０１２５】
座標変換部２６０は、積分処理部２２０が算出したｂフレームからｍフレームへの座標変換情報（座標変換行列Ｃbm）を用いて、バイアス除去部２１０が補正したｂフレームの加速度及び角速度をそれぞれｍフレームの加速度及び角速度に変換する座標変換処理を行う。また、座標変換部２６０は、積分処理部２２０が算出したｅフレームからｍフレームへの座標変換情報（座標変換行列Ｃem）を用いて、積分処理部２２０が算出したｅフレームの速度、位置及び姿勢角をそれぞれｍフレームの速度、位置及び姿勢角に変換する座標変換処理を行う。
【０１２６】
運動解析部２７０は、座標変換部２６０が座標変換した後のｍフレームの加速度、角速度、速度、位置及び姿勢角を用いて各種の演算を行ってユーザーの運動を解析し、運動解析情報３４０を生成する処理を行う。本実施形態では、運動解析部２７０は、ユーザーの歩行における、移動経路、移動速度、移動時間等の移動に関する情報、前傾の度合い、左右の動きの差、推進効率、エネルギー消費量、エネルギー効率等の歩行運動の評価指標に関する情報、より良い歩行のためのアドバイスや指導の情報、姿勢が悪いことを示す警告情報（表示装置３に警告表示や警告音等を出力させるための情報）等を含む運動解析情報３４０を生成する。
【０１２７】
処理部２０は、この運動解析情報３４０を表示装置３に送信し、運動解析情報３４０は、表示装置３の表示部１７０にテキスト、画像、図形等で表示され、あるいは、音出力部１８０から音声やブザー音等で出力される。基本的には、運動解析情報３４０を表示部１７０に表示させることで、ユーザーは運動解析情報を知りたい時に表示部１７０を見て確認することができ、ユーザーに注意を喚起したい情報（警告情報等）を少なくとも音として出力させることで、ユーザーは常に表示部１７０を見ながら歩行する必要もなくなる。
【０１２８】
１−４．処理の手順
図１３は、処理部２０による運動解析処理の手順の一例（運動解析方法の一例）を示すフローチャート図である。処理部２０は、記憶部３０に記憶されている運動解析プログラム３００を実行することにより、図１３のフローチャートの手順で運動解析処理を実行する。
【０１２９】
図１３に示すように、処理部２０は、計測スタートのコマンドを受信した場合（Ｓ１のＹ）、まず、ユーザーが静止しているものとして、慣性計測ユニット１０が計測したセンシングデータ、及び、ＧＰＳデータを用いて、初期姿勢、初期位置、初期バイアスを計算する（Ｓ２）。
【０１３０】
次に、処理部２０は、慣性計測ユニット１０からセンシングデータを取得し、取得したセンシングデータをセンシングデータテーブル３１０に付加する（Ｓ３）。
【０１３１】
次に、処理部２０は、初期バイアスを用いて（Ｓ１５でバイアス情報（加速度バイアスｂa及び角速度バイアスｂω）を保存した後は、加速度バイアスｂa及び角速度バイアスｂωを用いて）、Ｓ３で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル３１０を更新する（Ｓ４）。
【０１３２】
次に、処理部２０は、Ｓ４で補正したセンシングデータを積分して速度、位置及び姿勢角を計算し、計算した速度、位置及び姿勢角を含む算出データを算出データテーブル３３０に付加する（Ｓ５）。
【０１３３】
次に、処理部２０は、歩行検出処理を行う（Ｓ６）。この歩行検出処理の手順の一例は後述する。
【０１３４】
処理部２０は、歩行検出処理（Ｓ６）により歩行周期を検出した場合（Ｓ７のＹ）、記憶部３０（算出データテーブル３３０）から補正後の姿勢角とその算出時刻を取得する（Ｓ８）。さらに、処理部２０は、記憶部３０から姿勢角の誤差情報（姿勢角誤差εe）とバイアス情報（角速度バイアスｂω）を取得する（Ｓ９）。
【０１３５】
次に、処理部２０は、傾向推定式算出処理（回帰直線計算）（Ｓ１０）と姿勢角を用いた誤差推定方法用の設定情報作成処理（Ｓ１１）を行う。この傾向推定式算出処理（回帰直線計算）（Ｓ１０）及び姿勢角を用いた誤差推定方法用の設定情報作成処理（Ｓ１１）の手順の一例は後述する。
【０１３６】
次に、処理部２０は、その他の誤差推定方法（姿勢角を用いた誤差推定方法以外の誤差推定方法）用の設定情報（拡張カルマンフィルターのその他の誤差推定用のＺ、Ｈ、Ｒ等）を作成する（Ｓ１２）。なお、処理部２０は、歩行周期を検出しなかった場合は（Ｓ７のＮ）、Ｓ８〜Ｓ１１の処理を行わずにＳ１２の処理を行う。
【０１３７】
次に、処理部２０は、誤差推定処理を行い（Ｓ１３）、速度誤差δｖe、姿勢角誤差εe、加速度バイアスｂa、角速度バイアスｂω及び位置誤差δｐeを推定する。
【０１３８】
次に、処理部２０は、Ｓ１３の処理で得られた姿勢角の誤差情報（姿勢角誤差εe）とバイアス情報（角速度バイアスｂω）を記憶部３０に保存（記憶）する（Ｓ１４）。
【０１３９】
次に、処理部２０は、Ｓ１３で推定した速度誤差δｖe、姿勢角誤差εe及び位置誤差δｐeを用いて、速度、位置及び姿勢角をそれぞれ補正し、補正した速度、位置及び姿勢角により算出データテーブル３３０を更新する（Ｓ１５）。
【０１４０】
次に、処理部２０は、センシングデータテーブル３１０に記憶されているセンシングデータ（ｂフレームの加速度及び角速度）及び算出データテーブル３３０に記憶されている算出データ（ｅフレームの速度、位置及び姿勢角）を、ｍフレームの加速度、角速度、速度、位置及び姿勢角に座標変換する（Ｓ１６）。処理部２０は、このｍフレームの加速度、角速度、速度、位置及び姿勢角を時系列に記憶部３０に記憶する。
【０１４１】
次に、処理部２０は、Ｓ１６で座標変換した後のｍフレームの加速度、角速度、速度、位置及び姿勢角を用いて、ユーザーの運動をリアルタイムに解析し、運動解析情報を生成する（Ｓ１７）。
【０１４２】
次に、処理部２０は、Ｓ１７で生成した運動解析情報を表示装置３に送信する（Ｓ１８）。表示装置３に送信された運動解析情報は、ユーザーの歩行中にリアルタイムにフィードバックされる。なお、本明細書において「リアルタイム」とは、処理対象の情報が取得されたタイミングで処理を開始することを意味する。したがって、情報の取得から処理完了までにある程度の時間差がある場合も含む。
【０１４３】
そして、処理部２０は、計測ストップのコマンドを受信するまで（Ｓ１９のＮかつＳ２
０のＮ）、前回センシングデータを取得してからサンプリング周期Δｔが経過する毎に（Ｓ１９のＹ）、Ｓ３以降の処理を繰り返す。計測ストップのコマンドを受信すると（Ｓ２０のＹ）、Ｓ１６で座標変換して時系列に記憶したｍフレームの加速度、角速度、速度、位置及び姿勢角やＳ１７の解析結果を用いて、ユーザーが行った運動を解析し、運動解析情報を生成する（Ｓ２１）。Ｓ２１において、処理部２０は、計測ストップのコマンドを受信すると、直ちに運動解析処理を行ってもよいし、ユーザーの操作による運動解析コマンドを受信した場合に運動解析処理を行ってもよい。また、処理部２０は、Ｓ２１で生成した運動解析情報を表示装置３に送信してもよいし、パーソナルコンピューターやスマートフォン等の機器に送信してもよいし、メモリーカードに記録してもよい。
【０１４４】
なお、図１３では、処理部２０は、計測スタートのコマンドを受信しなければ（Ｓ１のＮ）、Ｓ１〜Ｓ２１の処理を行わないが、過去に記憶させたｍフレームの加速度、角速度、速度、位置及び姿勢角やＳ１７の解析結果を用いてＳ２１の処理を行ってもよい。
【０１４５】
図１４は、歩行検出処理（図１３のＳ６の処理）の手順の一例を示すフローチャート図である。処理部２０（歩行検出部２４０）は、記憶部３０に記憶されている歩行検出プログラム３０１を実行することにより、図１４のフローチャートの手順で歩行検出処理を実行する。
【０１４６】
図１４に示すように、処理部２０は、図１３のＳ４で補正した加速度に含まれるｚ軸加速度をローパスフィルター処理し（Ｓ１００）、ノイズを除去する。
【０１４７】
次に、処理部２０は、Ｓ１００でローパス処理したｚ軸加速度が閾値以上かつ極大値の場合に（Ｓ１１０のＹ）、歩行検出有効フラグがオンであれば（Ｓ１２０のＹ）、このタイミングで歩行周期を検出する（Ｓ１３０）。そして、処理部２０は、歩行検出有効フラグをオフし（Ｓ１４０）、歩行検出処理を終了する。
【０１４８】
一方、ｚ軸加速度が閾値以上かつ極大値の場合に（Ｓ１１０のＹ）、歩行検出有効フラグがオフであれば（Ｓ１２０のＮ）、歩行周期を検出せずに、歩行検出有効フラグをオンし（Ｓ１５０）、歩行検出処理を終了する。なお、処理部２０は、ｚ軸加速度が閾値未満か極大値でなければ（Ｓ１１０のＮ）、Ｓ１２０以降の処理を行わずに歩行処理を終了する。
【０１４９】
図１５は、傾向推定式算出処理（回帰直線計算）（図１３のＳ１０の処理）の手順の一例を示すフローチャート図である。処理部２０（傾向推定式算出部２５０）は、記憶部３０に記憶されている傾向推定式算出プログラム３０２を実行することにより、図１５のフローチャートの手順で傾向推定式算出処理（回帰直線計算）を実行する。
【０１５０】
図１５に示すように、処理部２０は、初期化フラグがオンであれば（Ｓ２００のＹ）、回帰式（１２）を算出するためのパラメーターΣｘiｙi，Σｘi，Σｙi，Σｘi2，Σｙi2，ｎを初期化（０にリセット）し（Ｓ２０２）、初期化フラグをオフし（Ｓ２０４）、推定傾向式算出処理（回帰直線計算）を終了する。
【０１５１】
処理部２０（傾向推定式算出部２５０）は、初期化フラグがオフであれば（Ｓ２００のＮ）、図１３のＳ８で取得した補正後の姿勢角、図１３のＳ９で取得した姿勢角の誤差情報（姿勢角誤差εe）とバイアス情報（角速度バイアスｂω）を用いて、補正前の姿勢角を計算する（Ｓ２０６）。なお、積分処理部２２０が算出した補正前の姿勢角を記憶部３０に保存しておけば、このＳ２０６の処理は不要である。
【０１５２】
次に、処理部２０は、図１３のＳ８で取得した時刻、Ｓ２０６で計算した補正前の姿勢
角、記憶部３０に保存（又は初期化）されているパラメーターΣｘiｙi，Σｘi，Σｙi，Σｘi2，Σｙi2，ｎを用いて、回帰直線を計算し、得られたパラメーターΣｘiｙi，Σｘi，Σｙi，Σｘi2，Σｙi2，ｎを保存する（Ｓ２０８）。
【０１５３】
次に、処理部２０は、Ｓ２０６で計算した回帰直線からリファレンスの姿勢角を計算する（Ｓ２１０）。また、処理部２０は、回帰直線上の現在の姿勢角を計算する（Ｓ２１２）。
【０１５４】
次に、処理部２０は、リファレンスの姿勢角とその時の補正前の姿勢角との差（Ａ）を計算する（Ｓ２１４）。また、処理部２０は、現在の回帰直線上の姿勢角と補正前の姿勢角との差（Ｂ）を計算する（Ｓ２１６）。また、処理部２０は、回帰直線の相関係数ｒを計算する（Ｓ２１８）。
【０１５５】
そして、処理部２０は、Ｓ２０８で得られた回帰直線をＮ個未満（例えば１０個未満）の姿勢角で計算した場合（Ｓ２２０のＮ）、前回（２歩前）と今回の姿勢角との差が３０度以上であれば（Ｓ２２２のＹ）、ユーザーが進行方向を変えたと判断して初期化フラグをオンし（Ｓ２２４）、推定傾向式算出処理（回帰直線計算）を終了する。なお、処理部２０は、前回（２歩前）と今回の姿勢角との差が３０度未満であれば（Ｓ２２２のＮ）、初期化フラグをオフのまま推定傾向式算出処理（回帰直線計算）を終了する。
【０１５６】
また、処理部２０は、Ｓ２０８で得られた回帰直線をＮ個以上（例えば１０個以上）の姿勢角で計算した場合（Ｓ２２０のＹ）、Ｓ２１８で計算した相関係数ｒが０．１よりも大きい場合（Ｓ２２６のＹ）、ユーザーが進行方向を変えたと判断して初期化フラグをオンし（Ｓ２２８）、推定傾向式算出処理（回帰直線計算）を終了する。
【０１５７】
また、処理部２０は、Ｓ２１８で計算した相関係数ｒが０．１以下の場合（Ｓ２２６のＮ）、Ｓ２１４で計算したＡが０．０５未満、かつ、Ｓ２１６で計算したＢが０．０５未満、かつ、回帰直線の傾き（係数ａ）が０．１度／ｓ未満であれば（Ｓ２３０のＹ）、信頼度を「高」に設定する（Ｓ２３２）。
【０１５８】
また、処理部２０は、Ａが０．０５以上、又は、Ｂが０．０５以上、又は、回帰直線の傾き（係数ａ）が０．１度／ｓ以上の場合（Ｓ２３０のＮ）、Ａが０．１未満、かつ、ＳＢが０．１未満、かつ、回帰直線の傾き（係数ａ）が０．２度／ｓ未満であれば（Ｓ２３４のＹ）、信頼度を「中」に設定する（Ｓ２３６）。
【０１５９】
また、処理部２０はＡが０．１以上、又は、Ｂが０．１以上、又は、回帰直線の傾き（係数ａ）が０．２度／ｓ以上であれば（Ｓ２３４のＮ）、信頼度を「低」に設定する（Ｓ２３８）。
【０１６０】
そして、処理部２０は、Ｓ２１０で計算したリファレンス姿勢角とＳ２３２、Ｓ２３６又はＳ２３８で設定した信頼度を出力し（Ｓ２４０）、推定傾向式算出処理（回帰直線計算）を終了する。
【０１６１】
なお、Ｓ２１４，Ｓ２１６，Ｓ２１８の計算は、Ｓ２２０でＹの場合にのみ行ってもよい。
【０１６２】
図１６は、姿勢角を用いた誤差推定方法用の設定情報作成処理（図１３のＳ１１の処理）の手順の一例を示すフローチャート図である。
【０１６３】
図１６に示すように、処理部２０（誤差推定部２３０）は、傾向推定式算出処理（回帰
直線計算）（図１３のＳ１０、図１５のＳ２００〜Ｓ２４０の処理）でリファレンス姿勢角と信頼度が出力された場合（Ｓ３００のＹ）、出力されたリファレンス姿勢角を用いて拡張カルマンフィルターの観測ベクトルＺ及び観測行列Ｈを作成する（Ｓ３１０）。
【０１６４】
次に、処理部２０は、出力された信頼度が「高」であれば（Ｓ３２０のＮ）、拡張カルマンフィルターのＲを０．０１に設定し（Ｓ３３０）、設定情報作成処理を終了する。
【０１６５】
また、処理部２０は、出力された信頼度が「中」であれば（Ｓ３４０のＹ）、拡張カルマンフィルターのＲを０．１に設定し（Ｓ３５０）、設定情報作成処理を終了する。
【０１６６】
また、処理部２０は、出力された信頼度が「低」であれば（Ｓ３４０のＮ）、拡張カルマンフィルターのＲを１に設定し（Ｓ３６０）、設定情報作成処理を終了する。
【０１６７】
１−５．効果
本実施形態によれば、ユーザーの直進期間において算出した傾向推定式（１次回帰式）を用いることで、角速度バイアスによるばらつきを低減させた真の姿勢角に近い参照値（リファレンスの姿勢角）を生成することができる。従って、本適用例に係る参照値生成方法を用いて生成した参照値を用いることにより、ユーザーの状態を表す指標の誤差の推定精度を向上させることができる。
【０１６８】
また、本実施形態によれば、ユーザーの歩行状態の周期性を利用して、姿勢角がほぼ一定のタイミングで傾向推定式（１次回帰式）を算出するので、傾向推定式（１次回帰式）の信頼性が高まり、参照値（リファレンスの姿勢角）の精度が向上する。
【０１６９】
また、本実施形態によれば、傾向推定式（１次回帰式）を算出する過程において、傾向推定式（１次回帰式）と姿勢角とに基づく条件を判定することで、判定処理の付加を低減しながら効率的かつ精度よく直進判定を行うことができる。そして、本実施形態によれば、ユーザーが進行方向を変えた場合には、傾向推定式（１次回帰式）の算出処理を終了し、姿勢角を参照値とする誤差推定を行わないので、誤差の推定精度の低下を抑制することができる。
【０１７０】
また、本実施形態によれば、精度よく生成した参照値（リファレンスの姿勢角）を用いて拡張カルマンフィルターを適用し、推定した誤差を用いて、ユーザーの速度、位置、姿勢角等の情報を精度よく補正することができる。さらに、本実施形態によれば、この精度よく補正したユーザーの速度、位置、姿勢等の情報を用いて、ユーザーの歩行運動を精度よく解析することができる。
【０１７１】
２．変形例
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
【０１７２】
２−１．センサー
上記の実施形態では、加速度センサー１２と角速度センサー１４が慣性計測ユニット１０として一体化された運動解析装置２に内蔵されているが、加速度センサー１２と角速度センサー１４は一体化されていなくてもよい。あるいは、加速度センサー１２と角速度センサー１４とが運動解析装置２に内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、例えば、いずれか一方のセンサー座標系を上記の実施形態のｂフレームとして、他方のセンサー座標系を当該ｂフレームに変換し、上記の実施形態を適用すればよい。
【０１７３】
また、上記の実施形態では、センサー（運動解析装置２（ＩＭＵ１０））のユーザーへの装着部位を腰として説明したが、腰以外の部位に装着することとしてもよい。好適な装着部位はユーザーの体幹（四肢以外の部位）である。しかしながら、体幹に限らず、腕以外の例えばユーザーの頭や足に装着することとしてもよい。
【０１７４】
２−２．歩行検出
上記の実施形態では、歩行検出部２４０は、ユーザーの上下動の加速度（ｚ軸加速度）が閾値以上で極大値となるタイミングで歩行周期を検出しているが、これに限らず、例えば、上下動の加速度（ｚ軸加速度）が正から負に変化する（ゼロクロスする）タイミング（又は負から正にゼロクロスするタイミング）で歩行周期を検出してもよい。あるいは、歩行検出部２４０は、上下動の加速度（ｚ軸加速度）を積分して上下動の速度（ｚ軸速度）を算出し、算出した上下動の速度（ｚ軸速度）を用いて歩行周期を検出してもよい。この場合、歩行検出部２４０は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。また、例えば、歩行検出部２４０は、ｘ軸、ｙ軸、ｚ軸の合成加速度を算出し、算出した合成加速度を用いて歩行周期を検出してもよい。この場合、歩行検出部２４０は、例えば、当該合成加速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。
【０１７５】
２−３．傾向推定式の算出条件
上記の実施形態では、傾向推定式（回帰直線）に関する条件１〜４が満たされる場合に直進と判定し、傾向推定式（回帰直線）を更新しているが、直進判定の方法はこれに限らず、例えば、条件１〜４の一部が満たされた場合に直進と判定してもよいし、条件１及び条件２が直線判定の精度に影響するため条件１及び条件２を満たす場合に直進と判定してもよい。あるいは、傾向推定式（回帰直線）に関する条件で判定するのではなく、ＧＰＳデータに含まれる速度や位置、センシングデータに含まれる加速度等を用いて直進か否かを判定してもよい。
【０１７６】
また、上記の実施形態では、ユーザーの直進時に傾向推定式（回帰直線）を算出しているが、ユーザーの静止時や停止時に傾向推定式（回帰直線）を算出してもよい。静止時又は停止時は、ユーザーの姿勢変化に周期性がないので、例えば、サンプリング周期Δｔ毎に、傾向推定式（回帰直線）を算出してもよい。また、ユーザーが静止あるいは停止しているか否かは、傾向推定式（回帰直線）に関する所定の条件が満たされるか否かで判定してもよいし、ＧＰＳデータに含まれる速度や位置、センシングデータに含まれる加速度や角速度を用いて判定してもよい。誤差推定部２３０は、静止時に傾向推定式（回帰直線）から算出されるリファレンスの姿勢角を用いて誤差推定処理を行ってもよい。また、例えば、傾向推定式（回帰直線）を用いて静止時のユーザーの微妙な動きによる姿勢変化を検出した場合には、誤差推定部２３０が誤差推定処理を行わないようにしてもよい。
【０１７７】
２−４．誤差推定
上記の実施形態では、誤差推定部２３０は、ＧＰＳ衛星からの信号を用いて誤差推定処理を行ってもよいが、ＧＰＳ以外の全地球航法衛星システム（ＧＮＳＳ：Global Navigation Satellite System）の測位用衛星やＧＮＳＳ以外の測位用衛星からの信号を用いて誤差推定処理を行ってもよい。あるいは、誤差推定部２３０は地磁気センサーの検出信号を用いて誤差推定処理を行ってもよい。例えば、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ、ＢｅｉＤｏｕ（BeiDou Navigation Satellite System）といった衛星測位システムのうち１つ、あるいは２つ以上を利用してもよい。また、屋内測位システム（ＩＭＥＳ：Indoor Messaging System）等を利用してもよい。
【０１７８】
また、上記の実施形態では、誤差推定部２３０は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定しているが、速度、姿勢角、加速度、角速度及び位置の一部をユーザーの状態を表す指標として、その誤差を推定してもよい。あるいは、誤差推定部２３０は、速度、姿勢角、加速度、角速度及び位置以外のもの（例えば、移動距離）をユーザーの状態を表す指標として、その誤差を推定してもよい。
【０１７９】
また、上記の実施形態では、誤差推定部２３０による誤差の推定に拡張カルマンフィルターを用いているが、パーティクルフィルターやＨ∞（Ｈインフィニティー）フィルター等の他の推定手段に代えてもよい。
【０１８０】
２−５．その他
上記の実施形態では、積分処理部２２０がｅフレームの速度、位置及び姿勢角を算出し、座標変換部２６０がこれをｍフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部２２０がｍフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部２７０は、積分処理部２２０が算出したｍフレームの速度、位置、姿勢角を用いて運動解析処理を行えばよいので、座標変換部２６０による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部２３０はｍフレームの速度、位置、姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
【０１８１】
また、上記の実施形態では、処理部２０が画像データ、音データ、テキストデータ等の運動解析情報を生成しているが、これに限らず、例えば、処理部２０は、推進効率やエネルギー消費量などの計算結果を送信し、当該計算結果を受信した表示装置３の処理部１２０が当該計算結果に応じた画像データ、音声データ、テキストデータ（アドバイス等）を作成してもよい。
【０１８２】
また、上記の実施形態では、処理部２０が、計測ストップのコマンドを受信した後、ユーザーが行った運動を解析し、運動解析情報を生成する処理（図１３のＳ２１）を行っているが、この運動解析処理（後処理）は、処理部２０が行わなくてもよい。例えば、処理部２０が、記憶部３０に記憶されている各種の情報をパーソナルコンピューター、スマートフォン、ネットワークサーバー等の機器に送信し、これらの機器が運動解析処理（後処理）を行ってもよい。
【０１８３】
また、上記の実施形態では、表示装置３は、表示部１７０と音出力部１８０から運動解析情報を出力しているが、これに限らず、例えば、表示装置３に振動機構を設けて、振動機構を各種のパターンで振動させることにより各種情報を出力してもよい。
【０１８４】
また、上記の実施形態では、ＧＰＳユニット５０は運動解析装置２に設けられているが、表示装置３に設けられていてもよい。この場合、表示装置３の処理部１２０がＧＰＳユニット５０からＧＰＳデータを受け取って通信部１４０を介して運動解析装置２に送信し、運動解析装置２の処理部２０が通信部４０を介してＧＰＳデータを受信し、受信したＧＰＳデータをＧＰＳデータテーブル３２０に付加すればよい。
【０１８５】
また、上記の実施形態では、運動解析装置２と表示装置３が別体となっているが、運動解析装置２と表示装置３が一体化された運動解析装置であってもよい。
【０１８６】
また、上記の実施形態では、運動解析装置２がユーザーに装着されているが、これに限らず、慣性計測ユニット（慣性センサー）やＧＰＳユニットをユーザーの胴体等に装着し、慣性計測ユニット（慣性センサー）やＧＰＳユニットはそれぞれ検出結果をスマートフ
ォン等の携帯情報機器やパーソナルコンピューター等の設置型の情報機器に送信し、これらの機器が受信した検出結果を用いてユーザーの運動を解析してもよい。あるいは、ユーザーの胴体等に装着された慣性計測ユニット（慣性センサー）やＧＰＳユニットが検出結果をメモリーカード等の記録媒体に記録し、当該記録媒体をスマートフォンやパーソナルコンピューター等の情報機器が当該記録媒体から検出結果を読み出して運動解析処理を行ってもよい。
【０１８７】
また、上記の実施形態では、人の歩行を対象としていたが、本発明は、これに限らず、動物や歩行ロボット等の移動体の歩行にも同様に適用することができる。また、本発明は、歩行に限らず、登山、トレイルラン、スキー（クロスカントリーやスキージャンプも含む）、スノーボード、水泳、自転車の走行、スケート、ゴルフ、テニス、野球、リハビリテーション等の多種多様な運動に適用することができる。
【０１８８】
上述した各実施形態および各変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
【０１８９】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１９０】
１  運動解析システム、２  運動解析装置、３  表示装置、１０  慣性計測ユニット（ＩＭＵ）、１２  加速度センサー、１４  角速度センサー、１６  信号処理部、２０  処理部、３０  記憶部、４０  通信部、５０  ＧＰＳユニット、１２０  処理部、１３０  記憶部、１４０  通信部、１５０  操作部、１６０  計時部、１７０  表示部、１８０  音出力部、２１０  バイアス除去部、２２０  積分処理部、２３０  誤差推定部、２４０  歩行検出部、２５０  傾向推定式算出部、２６０  座標変換部、２７０  運動解析部
【図１】
2015184160.tif 000021
【図２】
2015184160.tif 000022
【図３】
2015184160.tif 000023
【図４】
2015184160.tif 000024
【図５】
2015184160.tif 000025
【図６】
2015184160.tif 000026
【図７】
2015184160.tif 000027
【図１２】
2015184160.tif 000028
【図１３】
2015184160.tif 000029
【図１４】
2015184160.tif 000030
【図１５】
2015184160.tif 000031
【図１６】
2015184160.tif 000032
【図８】
2015184160.tif 000033
【図９】
2015184160.tif 000034
【図１０】
2015184160.tif 000035
【図１１】
2015184160.tif 000036