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