JP2015184160A - 参照値生成方法、運動解析方法、参照値生成装置及びプログラム - Google Patents
参照値生成方法、運動解析方法、参照値生成装置及びプログラム Download PDFInfo
- Publication number
- JP2015184160A JP2015184160A JP2014061551A JP2014061551A JP2015184160A JP 2015184160 A JP2015184160 A JP 2015184160A JP 2014061551 A JP2014061551 A JP 2014061551A JP 2014061551 A JP2014061551 A JP 2014061551A JP 2015184160 A JP2015184160 A JP 2015184160A
- Authority
- JP
- Japan
- Prior art keywords
- reference value
- error
- posture angle
- unit
- angle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
- G06V40/25—Recognition of walking or running movements, e.g. gait recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
- G06F2218/04—Denoising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
【課題】移動体の状態を表す指標の誤差を推定するための参照値を精度よく生成することが可能な参照値生成方法、参照値生成装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供すること。
【解決手段】移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、を含む、参照値生成方法。
【選択図】図15
【解決手段】移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、を含む、参照値生成方法。
【選択図】図15
Description
本発明は、参照値生成方法、運動解析方法、参照値生成装置及びプログラムに関する。
慣性センサーの検出結果を利用して移動体の位置や速度を算出する慣性航法が広く知られている。移動体として人を想定し、胴体に慣性センサーを装着した場合、人が移動する際には胴体の姿勢(姿勢角)が時々刻々変化するため、姿勢角を正確に推定できなければ進行方向を正確に特定できず、位置や速度の算出精度が低下する。
慣性センサーの検出結果から姿勢角を算出する場合、検出結果から回転量を算出して前回の姿勢角に積算(回転演算)する処理が繰り返される。ところが、慣性センサーの検出結果にはバイアス誤差が含まれるため、バイアス誤差等による姿勢角の誤差を正確に推定し、姿勢角を補正する必要がある。バイアス誤差や姿勢角の誤差を推定するためには基準となる参照値が必要であるが、この参照値に誤りがあると誤差を正しく推定することができない。GPS(Global Positioning System)の計測情報を利用して参照値を生成することもできるが、GPSの計測精度や計測タイミングによっては必ずしも正確な参照値が得られるとは限らない。そこで、特許文献1では、ユーザーの移動時の姿勢、速度、角速度及び加速度の検出値を記憶しておき、現在までの検出値の変遷に類似する過去の検出値の変遷部分を抽出し、抽出した結果を用いて参照値を生成する手法が提案されている。
しかしながら、特許文献1の手法では、類似する変遷部分の抽出を頻繁に行う必要があり演算処理の負荷が大きく、また、類似する変遷部分の検出値と真の値との差が大きい場合には参照値の精度も低下するという問題がある。
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、移動体の状態を表す指標の誤差を推定するための参照値を精度よく生成することが可能な参照値生成方法、参照値生成装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供することができる。
本発明は前述の課題の少なくとも一部を解決するためになされたものであり、以下の態様または適用例として実現することが可能である。
[適用例1]
本適用例に係る参照値生成方法は、移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、を含む。
本適用例に係る参照値生成方法は、移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、を含む。
傾向推定式を算出することは、傾向推定式を特定するためのパラメーターを算出するこ
とでもよい。
とでもよい。
本適用例に係る参照値生成方法によれば、移動体の運動が所定の条件を満たす期間に算出した傾向推定式を用いることで、検出結果のばらつきの影響を低減させた参照値を生成することができる。従って、本適用例に係る参照値生成方法を用いて生成した参照値を用いることにより、移動体の状態を表す指標の誤差の推定精度を向上させることができる。
[適用例2]
上記適用例に係る参照値生成方法は、前記所定の条件は前記移動体が直進していることであり、前記移動体が直進している期間に算出した姿勢角のうち所定のタイミングで算出した姿勢角を用いて、前記傾向推定式を算出してもよい。
上記適用例に係る参照値生成方法は、前記所定の条件は前記移動体が直進していることであり、前記移動体が直進している期間に算出した姿勢角のうち所定のタイミングで算出した姿勢角を用いて、前記傾向推定式を算出してもよい。
本適用例に係る参照値生成方法によれば、直進期間における姿勢は互いに類似した傾向を有する。直進期間に傾向推定式を算出することで、傾向推定式の信頼性が高まり、参照値の精度が向上する。
[適用例3]
上記適用例に係る参照値生成方法は、さらに、前記センサーの検出結果を用いて、前記移動体の歩行周期を検出することを含み、前記所定のタイミングは、前記歩行周期に同期したタイミングであってもよい。
上記適用例に係る参照値生成方法は、さらに、前記センサーの検出結果を用いて、前記移動体の歩行周期を検出することを含み、前記所定のタイミングは、前記歩行周期に同期したタイミングであってもよい。
本適用例に係る参照値生成方法によれば、移動体の歩行状態の周期性を利用して、姿勢角がほぼ一定のタイミングで傾向推定式を算出するので、傾向推定式の信頼性が高まり、参照値の精度が向上する。
[適用例4]
上記適用例に係る参照値生成方法は、前記所定の条件は前記移動体が静止していることであり、前記移動体が静止している期間に算出した姿勢角を用いて、前記傾向推定式を算出してもよい。
上記適用例に係る参照値生成方法は、前記所定の条件は前記移動体が静止していることであり、前記移動体が静止している期間に算出した姿勢角を用いて、前記傾向推定式を算出してもよい。
本適用例に係る参照値生成方法によれば、移動体がほとんど姿勢を変えない静止期間に傾向推定式を算出することで、傾向推定式の信頼性が高まり、参照値の精度が向上する。
[適用例5]
上記適用例に係る参照値生成方法において、さらに、前記傾向推定式を用いて、前記運動が前記所定の条件を満たすか否かを判定してもよい。
上記適用例に係る参照値生成方法において、さらに、前記傾向推定式を用いて、前記運動が前記所定の条件を満たすか否かを判定してもよい。
本適用例に係る参照値生成方法によれば、所定の条件を満たす期間(例えば、直進期間や静止期間)の判定に傾向推定式を用いることで、センサーの検出結果から直接判定する必要がなくなり、判定処理の負荷を低減させることができる。
[適用例6]
上記適用例に係る参照値生成方法において、前記運動が前記所定の条件を満たす期間毎に前記傾向推定式を算出してもよい。
上記適用例に係る参照値生成方法において、前記運動が前記所定の条件を満たす期間毎に前記傾向推定式を算出してもよい。
本適用例に係る参照値生成方法によれば、所定の条件を満たす期間毎に傾向推定式を算出するので、例えば、移動体の運動が所定の条件を満たさない期間がある場合であっても、参照値の精度を維持することができる。
[適用例7]
上記適用例に係る参照値生成方法において、前記傾向推定式は、1次回帰式であってもよい。
上記適用例に係る参照値生成方法において、前記傾向推定式は、1次回帰式であってもよい。
センサーのバイアスがほぼ一定である場合には、傾向推定式を算出するタイミングで実際の移動体の姿勢(姿勢角)がほぼ同じであれば、算出される姿勢角はセンサーのバイアス分ずつ線形に変化する。従って、本適用例に係る参照値生成方法によれば、傾向推定式を1次回帰式とすることで移動体の過去の真の姿勢(姿勢角)を精度よく推定し、参照値を精度よく生成することができる。
[適用例8]
上記適用例に係る参照値生成方法において、前記センサーは、加速度センサー及び角速度センサーの少なくとも一方を含んでもよい。
上記適用例に係る参照値生成方法において、前記センサーは、加速度センサー及び角速度センサーの少なくとも一方を含んでもよい。
本適用例に係る参照値生成方法によれば、加速度センサーあるいは角速度センサーの検出結果を用いて傾向推定式を算出することができる。
[適用例9]
本適用例に係る運動解析方法は、上記のいずれかの参照値生成方法を用いて前記参照値を生成することと、前記参照値を用いて、前記誤差を推定することと、推定した前記誤差を用いて、前記指標を補正することと、補正した前記指標を用いて、前記運動を解析することと、を含む、運動解析方法。
本適用例に係る運動解析方法は、上記のいずれかの参照値生成方法を用いて前記参照値を生成することと、前記参照値を用いて、前記誤差を推定することと、推定した前記誤差を用いて、前記指標を補正することと、補正した前記指標を用いて、前記運動を解析することと、を含む、運動解析方法。
本適用例に係る運動解析方法によれば、上記適用例に係る参照値生成方法を用いて生成した参照値を用いることで移動体の状態を表す指標の誤差を精度よく推定することができ、当該誤差を用いて精度よく補正された指標を用いて移動体の運動を精度よく解析することができる。
[適用例10]
本適用例に係る参照値生成装置は、移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出する姿勢角算出部と、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出し、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成する傾向推定式算出部と、を含む。
本適用例に係る参照値生成装置は、移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出する姿勢角算出部と、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出し、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成する傾向推定式算出部と、を含む。
本適用例に係る参照値生成装置によれば、移動体の運動が所定の条件を満たす期間に算出した傾向推定式を用いることで、検出結果のばらつきの影響を低減させた参照値を生成することができる。従って、本適用例に係る参照値生成装置を用いて生成した参照値を用いることにより、移動体の状態を表す指標の誤差の推定精度を向上させることができる。
[適用例11]
本適用例に係るプログラムは、移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、をコンピューターに実行させる。
本適用例に係るプログラムは、移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、をコンピューターに実行させる。
本適用例に係るプログラムによれば、移動体の運動が所定の条件を満たす期間に算出した傾向推定式を用いることで、検出結果のばらつきの影響を低減させた参照値を生成することができる。従って、本適用例に係るプログラムを用いて生成した参照値を用いることにより、移動体の状態を表す指標の誤差の推定精度を向上させることができる。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.運動解析システム
1−1.システムの概要
図1は、本実施形態の運動解析システム1の概要について説明するための図である。図1に示すように、本実施形態の運動解析システム1は、運動解析装置2及び表示装置3を含んで構成されている。運動解析装置2は、ユーザー(移動体の一例)の胴体部分(例えば、右腰又は左腰)に装着される。運動解析装置2は、慣性計測ユニット(IMU:Inertial Measurement Unit)10を内蔵し、ユーザーの歩行(走行も含む)における動きを捉えて、速度、位置、姿勢角(ロール角、ピッチ角、ヨー角)等を計算し、さらに、ユーザーの運動を解析して運動解析情報を生成する。運動には、直進、カーブ、静止等の各種動作が含まれる。本実施形態では、ユーザーが静止している状態で、慣性計測ユニット(IMU)10の1つの検出軸(以下ではz軸とする)が重力加速度方向(鉛直下向き)とほぼ一致するように、運動解析装置2が装着される。運動解析装置2は、生成した運動解析情報を表示装置3に送信する。
1−1.システムの概要
図1は、本実施形態の運動解析システム1の概要について説明するための図である。図1に示すように、本実施形態の運動解析システム1は、運動解析装置2及び表示装置3を含んで構成されている。運動解析装置2は、ユーザー(移動体の一例)の胴体部分(例えば、右腰又は左腰)に装着される。運動解析装置2は、慣性計測ユニット(IMU:Inertial Measurement Unit)10を内蔵し、ユーザーの歩行(走行も含む)における動きを捉えて、速度、位置、姿勢角(ロール角、ピッチ角、ヨー角)等を計算し、さらに、ユーザーの運動を解析して運動解析情報を生成する。運動には、直進、カーブ、静止等の各種動作が含まれる。本実施形態では、ユーザーが静止している状態で、慣性計測ユニット(IMU)10の1つの検出軸(以下ではz軸とする)が重力加速度方向(鉛直下向き)とほぼ一致するように、運動解析装置2が装着される。運動解析装置2は、生成した運動解析情報を表示装置3に送信する。
表示装置3は、リスト型(腕時計型)の携帯情報機器であり、ユーザーの手首等に装着される。ただし、表示装置3は、ヘッドマウントディスプレイ(HMD:Head Mount Display)やスマートフォン等の携帯情報機器であってもよい。ユーザーは、表示装置3を操作して運動解析装置2による計測のスタートやストップを指示することができる。表示装置3は、計測スタートや計測ストップを指示するコマンドを運動解析装置2に送信する。運動解析装置2は、計測スタートのコマンドを受信すると、慣性計測ユニット(IMU)10による計測を開始し、計測結果に基づきユーザーの運動を解析し、運動解析情報を生成する。運動解析装置2は生成した運動解析情報を表示装置3に送信し、表示装置3は運動解析情報を受信し、受信した運動解析情報を文字、図形、音等の各種の形態でユーザーに提示する。ユーザーは表示装置3を介して運動解析情報を認識することができる。
なお、運動解析装置2と表示装置3との間のデータ通信は、無線通信でもよいし、有線通信でもよい。
本実施形態では、以下において、運動解析装置2がユーザーの歩行速度を推定して移動経路や移動時間等を含む運動解析情報を生成する場合を例に挙げて詳細に説明するが、本実施形態の運動解析システム1は、歩行以外の移動を伴う運動における運動解析情報を生成する場合にも、同様に適用することができる。
1−2.座標系
以下の説明において必要となる座標系を定義する。
・eフレーム(Earth Center Earth Fixed Frame):地球の中心を原点とし、自転軸に平行にz軸をとった右手系の三次元直交座標
・nフレーム(Navigation Frame):移動体(ユーザー)を原点とし、x軸を北、y軸を東、z軸を重力方向とした三次元直交座標系
・bフレーム(Body Frame):センサー(慣性計測ユニット(IMU)10)を基準とする三次元直交座標系
・mフレーム(Moving Frame):移動体(ユーザー)を原点とし、移動体(ユーザー)の進行方向をx軸とした右手系の三次元直交座標系
以下の説明において必要となる座標系を定義する。
・eフレーム(Earth Center Earth Fixed Frame):地球の中心を原点とし、自転軸に平行にz軸をとった右手系の三次元直交座標
・nフレーム(Navigation Frame):移動体(ユーザー)を原点とし、x軸を北、y軸を東、z軸を重力方向とした三次元直交座標系
・bフレーム(Body Frame):センサー(慣性計測ユニット(IMU)10)を基準とする三次元直交座標系
・mフレーム(Moving Frame):移動体(ユーザー)を原点とし、移動体(ユーザー)の進行方向をx軸とした右手系の三次元直交座標系
1−3.システムの構成
図2は、運動解析装置2及び表示装置3の構成例を示す機能ブロック図である。図2に示すように、運動解析装置2(参照値生成装置の一例)は、慣性計測ユニット(IMU)10、処理部20、記憶部30、通信部40及びGPSユニット50を含んで構成されている。ただし、本実施形態の運動解析装置2は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
図2は、運動解析装置2及び表示装置3の構成例を示す機能ブロック図である。図2に示すように、運動解析装置2(参照値生成装置の一例)は、慣性計測ユニット(IMU)10、処理部20、記憶部30、通信部40及びGPSユニット50を含んで構成されている。ただし、本実施形態の運動解析装置2は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
慣性計測ユニット10(センサーの一例)は、加速度センサー12、角速度センサー14及び信号処理部16を含んで構成されている。
加速度センサー12は、互いに交差する(理想的には直交する)3軸方向の各々の加速度を検出し、検出した3軸加速度の大きさ及び向きに応じたデジタル信号(加速度データ)を出力する。
角速度センサー14は、互いに交差する(理想的には直交する)3軸方向の各々の角速度を検出し、計測した3軸角速度の大きさ及び向きに応じたデジタル信号(角速度データ)を出力する。
信号処理部16は、加速度センサー12と角速度センサー14から、それぞれ加速度データと角速度データを受け取って時刻情報を付して不図示の記憶部に記憶し、記憶した加速度データと角速度データに時刻情報を付して所定のフォーマットに合わせたセンシングデータを生成し、処理部20に出力する。
加速度センサー12及び角速度センサー14は、それぞれ3軸が、慣性計測ユニット10を基準とするセンサー座標系(bフレーム)の3軸と一致するように取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、信号処理部16は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、加速度データ及び角速度データをセンサー座標系(bフレーム)のデータに変換する処理を行う。なお、信号処理部16の代わりに後述する処理部20が当該変換処理を行ってもよい。
さらに、信号処理部16は、加速度センサー12及び角速度センサー14の温度補正処
理を行ってもよい。なお、信号処理部16の代わりに後述する処理部20が当該温度補正処理を行ってもよいし、加速度センサー12及び角速度センサー14に温度補正の機能が組み込まれていてもよい。
理を行ってもよい。なお、信号処理部16の代わりに後述する処理部20が当該温度補正処理を行ってもよいし、加速度センサー12及び角速度センサー14に温度補正の機能が組み込まれていてもよい。
加速度センサー12と角速度センサー14は、アナログ信号を出力するものであってもよく、この場合は、信号処理部16が、加速度センサー12の出力信号と角速度センサー14の出力信号をそれぞれA/D変換してセンシングデータを生成すればよい。
GPSユニット50は、測位用衛星の一種であるGPS衛星から送信されるGPS衛星信号を受信し、当該GPS衛星信号を利用して測位計算を行ってnフレームにおけるユーザーの位置及び速度(大きさと向きを含むベクトル)を算出し、これらに時刻情報や測位精度情報を付したGPSデータを処理部20に出力する。なお、GPSを利用して、位置や速度を算出する方法や時刻情報を生成する方法については公知であるため、詳細な説明を省略する。
処理部20は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等により構成され、記憶部30に記憶されている各種プログラムに従って、各種の演算処理や制御処理を行う。特に、処理部20は、慣性計測ユニット10からセンシングデータを受け取り、GPSユニット50からGPSデータを受け取り、センシングデータとGPSデータとを用いてユーザーの速度、位置、姿勢角等を算出する。また、処理部20は、算出したこれらの情報を用いて各種の演算処理を行ってユーザーの運動を解析し、移動経路や移動時間等を含む運動解析情報(画像データ、テキストデータ音データ等)を生成する。そして、処理部20は、生成した運動解析情報を、通信部40を介して表示装置3に送信する。
記憶部30は、例えば、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の各種ICメモリーやハードディスクやメモリーカードなどの記録媒体等により構成される。
記憶部30には、処理部20によって読み出され、運動解析処理(図13参照)を実行するための運動解析プログラム300が記憶されている。運動解析プログラム300は、歩行検出処理(図14参照)を実行するための歩行検出プログラム301及び傾向推定式算出処理(図15参照)を実行するための傾向推定式算出プログラム302をサブルーチンとして含む。
また、記憶部30には、センシングデータテーブル310、GPSデータテーブル320、算出データテーブル330及び運動解析情報340等が記憶される。
センシングデータテーブル310は、処理部20が慣性計測ユニット10から受け取ったセンシングデータ(慣性計測ユニット10の検出結果)を時系列に記憶するデータテーブルである。図3は、センシングデータテーブル310の構成例を示す図である。図3に示すように、センシングデータテーブル310は、慣性計測ユニット10の検出時刻311、加速度センサー12により検出された加速度312及び角速度センサー14により検出された角速度313が対応付けられたセンシングデータが時系列に並べられて構成される。処理部20は、計測を開始すると、サンプリング周期Δt(例えば、20ms)の経過毎に、センシングデータテーブル310に新たなセンシングデータを付加する。さらに、処理部20は、拡張カルマンフィルターを用いた誤差推定(後述)により推定された加速度バイアス及び角速度バイアスを用いて加速度及び角速度を補正し、補正後の加速度及び角速度を上書きしてセンシングデータテーブル310を更新する。
GPSデータテーブル320は、処理部20がGPSユニット50から受け取ったGPSデータ(GPSユニット(GPSセンサー)50の検出結果)を時系列に記憶するデータテーブルである。図4は、GPSデータテーブル320の構成例を示す図である。図4に示すように、GPSデータテーブル320は、GPSユニット50が測位計算を行った時刻321、測位計算により算出した位置322、測位計算により算出した速度323、測位精度(DOP(Dilution of Precision))324、受信したGPS衛星信号の信号強度325等が対応付けられたGPSデータが時系列に並べられて構成される。処理部20は、計測を開始すると、GPSデータを取得する毎に(センシングデータの取得タイミングとは非同期に)、新たなGPSデータを付加してGPSデータテーブル320を更新する。
算出データテーブル330は、処理部20がセンシングデータを用いて算出した速度、位置及び姿勢角を時系列に記憶するデータテーブルである。図5は、算出データテーブル330の構成例を示す図である。図5に示すように、算出データテーブル330は、処理部20が計算した時刻331、速度332、位置333及び姿勢角334が対応付けられた算出データが時系列に並べられて構成される。処理部20は、計測を開始すると、新たにセンシングデータを取得する毎に、すなわち、サンプリング周期Δtの経過毎に、速度、位置及び姿勢角を算出し、算出データテーブル330に新たな算出データを付加する。さらに、処理部20は、拡張カルマンフィルターを用いた誤差推定により推定された速度誤差、位置誤差及び姿勢角誤差を用いて、速度、位置及び姿勢角を補正し、補正後の速度、位置及び姿勢角を上書きして算出データテーブル330を更新する。
運動解析情報340は、ユーザーの運動に関する各種情報であり、本実施形態では、処理部20が算出した、歩行による移動に関する情報、歩行運動の評価指標に関する情報、歩行に関するアドバイス、指導、警告等の情報を含む。
通信部40は、表示装置3の通信部140との間でのデータ通信を行うものであり、処理部20が生成した運動解析情報を受け取って表示装置3に送信する処理、表示装置3から送信されたコマンド(計測スタート/ストップのコマンド等)を受信して処理部20に送る処理等を行う。
表示装置3は、処理部120、記憶部130、通信部140、操作部150、計時部160、表示部170及び音出力部180を含んで構成されている。ただし、本実施形態の表示装置3は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
処理部120は、記憶部130に記憶されているプログラムに従って、各種の演算処理や制御処理を行う。例えば、処理部120は、操作部150から受け取った操作データに応じた各種処理(計測スタート/ストップのコマンドを通信部140に送る処理や操作データに応じた表示処理や音出力処理等)、通信部140から運動解析情報を受け取って表示部170や音出力部180に送る処理、計時部160から受け取った時刻情報に応じた時刻画像データを生成して表示部170に送る処理等を行う。
記憶部130は、例えば、処理部120が各種処理を行うためのプログラムやデータが記憶されるROMや処理部120の作業領域となるRAM等の各種ICメモリーにより構成される。
通信部140は、運動解析装置2の通信部40との間でのデータ通信を行うものであり、処理部120から操作データに応じたコマンド(計測スタート/ストップのコマンド等)を受け取って運動解析装置2に送信する処理、運動解析装置2から送信された運動解析
情報(画像データ、テキストデータ、音データ等の各種データ)を受信して処理部120に送る処理等を行う。
情報(画像データ、テキストデータ、音データ等の各種データ)を受信して処理部120に送る処理等を行う。
操作部150は、ユーザーからの操作データ(計測スタート/ストップ、表示内容の選択等の操作データ)を取得し、処理部120に送る処理を行う。操作部150は、例えば、タッチパネル型ディスプレイ、ボタン、キー、マイクなどであってもよい。
計時部160は、年、月、日、時、分、秒等の時刻情報を生成する処理を行う。計時部160は、例えば、リアルタイムクロック(RTC:Real Time Clock)ICなどで実現される。
表示部170は、処理部120から送られてきた画像データやテキストデータを、文字、グラフ、表、アニメーション、その他の画像として表示するものである。表示部170は、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)ディスプレイ、EPD(Electrophoretic Display)等のディスプレイで実現され、タッチパネル型ディスプレイであってもよい。なお、1つのタッチパネル型ディスプレイで操作部150と表示部170の機能を実現するようにしてもよい。
音出力部180は、処理部120から送られてきた音データを、音声やブザー音等の音として出力するものである。音出力部180は、例えば、スピーカーやブザーなどで実現される。
図6は、運動解析装置2の処理部20の構成例を示す機能ブロック図である。本実施形態では、処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、バイアス除去部210、積分処理部220、誤差推定部230、歩行検出部240、傾向推定式算出部250、座標変換部260及び運動解析部270として機能する。
バイアス除去部210は、新たに取得したセンシングデータに含まれる加速度(3軸加速度)及び角速度から、それぞれ、誤差推定部230が推定した加速度バイアスba及び角速度バイアスbωを減算し、加速度及び角速度を補正する処理を行う。なお、計測開始直後の初期状態では加速度バイアスba及び角速度バイアスbωが存在しないため、バイアス除去部210は、ユーザーの初期状態は静止状態であるものとして、慣性計測ユニットをからのセンシングデータを用いて、初期バイアスを計算する。
積分処理部220は、バイアス除去部210が補正した加速度及び角速度からeフレームの速度ve、位置pe及び姿勢角(ロール角φbe、ピッチ角θbe、ヨー角ψbe)を算出する処理を行う。具体的には、積分処理部220は、まず、ユーザーの初期状態は静止状態であるものとして、初期速度をゼロとし、あるいは、GPSデータに含まれる速度から初期速度を算出し、さらに、GPSデータに含まれる位置から初期位置を算出する。また、積分処理部220は、バイアス除去部210が補正したbフレームの3軸加速度から重力加速度の向きを特定してロール角φbeとピッチ角θbeの初期値を算出するとともに、GPSデータに含まれる速度からヨー角ψbeの初期値を算出し、eフレームの初期姿勢角とする。GPSデータが得られない場合はヨー角ψbeの初期値を例えばゼロとする。そして、積分処理部220は、算出した初期姿勢角から式(1)で表されるbフレームからeフレームへの座標変換行列(回転行列)Cb eの初期値を算出する。
その後は、積分処理部220は、バイアス除去部210が補正した3軸角速度を積算(回転演算)して座標変換行列Cb eを算出し、式(2)より姿勢角を算出する。
また、積分処理部220は、座標変換行列Cb eを用いて、バイアス除去部210が補正したbフレームの3軸加速度をeフレームの3軸加速度に変換し、重力加速度成分を除去して積算することでeフレームの速度veを算出する。また、積分処理部220は、eフレームの速度veを積算してeフレームの位置peを算出する。
また、積分処理部220は、誤差推定部230が推定した速度誤差δve、位置誤差δpe及び姿勢角誤差εeを用いて、速度ve、位置pe及び姿勢角を補正する処理も行う。
さらに、積分処理部220は、bフレームからmフレームへの座標変換行列Cb m及びeフレームからmフレームへの座標変換行列Ce mも算出する。これらの座標変換行列は座標変換情報として後述する座標変換部260の座標変換処理に用いられる。
誤差推定部230は、積分処理部220が算出した速度・位置、姿勢角、バイアス除去部210が補正した加速度や角速度、GPSデータ等を用いて、ユーザーの状態を表す指標の誤差を推定する。本実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。すなわち、誤差推定部230は、積分処理部220が算出した速度veの誤差(速度誤差)δve、積分処理部220が算出した姿勢角の誤差(姿勢角誤差)εe、加速度バイアスba、角速度バイアスbω及び積分処理部220が算出した位置peの誤差(位置誤差)δpeを拡張カルマンフィルターの状態変数とし、状態ベクトルXを式(3)のように定義する。
誤差推定部230は、拡張カルマンフィルターの予測式を用いて、状態ベクトルXに含まれる状態変数(ユーザーの状態を表す指標の誤差)を予測する。拡張カルマンフィルターの予測式は、式(4)のように表される。式(4)において、行列Φは、前回の状態ベクトルXと今回の状態ベクトルXを関連付ける行列であり、その要素の一部は姿勢角や位置等を反映しながら時々刻々変化するように設計される。また、Qはプロセスノイズを表す行列であり、その各要素はあらかじめ適切な値に設定される。また、Pは状態変数の誤差共分散行列である。
また、誤差推定部230は、拡張カルマンフィルターの更新式を用いて、予測した状態変数(ユーザーの状態を表す指標の誤差)を更新(補正)する。拡張カルマンフィルターの更新式は、式(5)のように表される。Z及びHはそれぞれ観測ベクトル及び観測行列であり、更新式(5)は、実際の観測ベクトルZと状態ベクトルXから予測されるベクトルHXとの差を用いて、状態ベクトルXを補正することを表している。Rは、観測誤差の共分散行列であり、あらかじめ決められた一定値であってもよいし、動的に変更してもよい。Kはカルマンゲインであり、Rが小さいほどKが大きくなる。式(5)より、Kが大きい(Rが小さい)ほど、状態ベクトルXの補正量が大きくなり、その分、Pが小さくなる。
誤差推定の方法(状態ベクトルXの推定方法)としては、例えば、以下のようなものが挙げられる。
姿勢角誤差に基づく補正による誤差推定方法:
図7は、運動解析装置2を右腰に装着したユーザーが歩行動作(直進)をする場合のユーザーの移動を俯瞰した図である。また、図8は、ユーザーが歩行動作(直進)をする場
合に慣性計測ユニット10の検出結果から算出したヨー角(方位角)の一例を示す図であり、横軸は時間、縦軸はヨー角(方位角)である。
図7は、運動解析装置2を右腰に装着したユーザーが歩行動作(直進)をする場合のユーザーの移動を俯瞰した図である。また、図8は、ユーザーが歩行動作(直進)をする場
合に慣性計測ユニット10の検出結果から算出したヨー角(方位角)の一例を示す図であり、横軸は時間、縦軸はヨー角(方位角)である。
ユーザーの歩行動作に伴い、ユーザーに対する慣性計測ユニット10の姿勢が随時変化する。ユーザーが右足を踏み出した状態では、図7中の(2)や(4)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して左側に傾いた姿勢となる。それに対して、ユーザーが左足を踏み出した状態では、図7中の(1)や(3)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して右側に傾いた姿勢となる。つまり、慣性計測ユニット10の姿勢は、ユーザーの歩行動作に伴い、左右1歩ずつの2歩毎に周期的に変化することになる。図8では、例えば、右足を踏み出した状態でヨー角が極大となり(図8中の○)、左足を踏み出した状態でヨー角が極小となっている(図8中の●)。そこで、前回(2歩前)の姿勢角と今回の姿勢角は等しく、かつ、前回の姿勢角は真の姿勢であるものとして誤差を推定することができる。この方法では、観測ベクトルZ及び観測行列Hは、式(6)のようになる。式(6)において、O3,3は3行3列の零行列であり、I3は3行3列の単位行列であり、O3,9は3行9列の零行列である。式(6)のΨは式(7)で計算される。
式(7)において、Cb e(+)は今回の姿勢角であり、Cb e(−)は前回の姿勢角である。式(6)の観測ベクトルZは前回の姿勢角と今回の姿勢角との差であり、この方法では、更新式(5)により、姿勢角誤差εeと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
角速度バイアスに基づく補正による誤差推定方法:
前回(2歩前)の姿勢角と今回の姿勢角は等しいが、前回の姿勢角は真の姿勢である必要はないものとして誤差を推定する方法である。この方法では、観測ベクトルZ及び観測行列Hは、式(8)のようになる。式(8)において、O3,9は3行9列の零行列であり、I3は3行3列の単位行列であり、O3,3は3行3列の零行列である。
前回(2歩前)の姿勢角と今回の姿勢角は等しいが、前回の姿勢角は真の姿勢である必要はないものとして誤差を推定する方法である。この方法では、観測ベクトルZ及び観測行列Hは、式(8)のようになる。式(8)において、O3,9は3行9列の零行列であり、I3は3行3列の単位行列であり、O3,3は3行3列の零行列である。
式(8)において、Cb e(+)は今回の姿勢角であり、Cb e(−)は前回の姿勢角である。また、τ-+は前回の姿勢角から今回の姿勢角に変わるまでの時間である。式(8)の観測ベクトルZは前回の姿勢角及び今回の姿勢角から算出される角速度バイアスであり、この方法では、更新式(5)により、角速度バイアスbωと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
方位角誤差に基づく補正による誤差推定方法:
前回(2歩前)のヨー角(方位角)と今回のヨー角(方位角)は等しく、かつ、前回のヨー角(方位角)は真のヨー角(方位角)であるものとして誤差を推定する方法である。この方法では、観測ベクトルZ及び観測行列Hは、式(9)のようになる。式(9)において、O1,3は1行3列の零行列であり、O1,9は1行9列の零行列である。式(9)の各偏微分は式(10)で計算される。また、式(10)のn1,n2,n3,d1,d2,d3は式(11)で計算される。
前回(2歩前)のヨー角(方位角)と今回のヨー角(方位角)は等しく、かつ、前回のヨー角(方位角)は真のヨー角(方位角)であるものとして誤差を推定する方法である。この方法では、観測ベクトルZ及び観測行列Hは、式(9)のようになる。式(9)において、O1,3は1行3列の零行列であり、O1,9は1行9列の零行列である。式(9)の各偏微分は式(10)で計算される。また、式(10)のn1,n2,n3,d1,d2,d3は式(11)で計算される。
式(9)において、ψbe(+)は今回のヨー角(方位角)であり、ψbe(−)は前回のヨー角(方位角)である。式(9)の観測ベクトルZは前回の方位角と今回の方位角との差であり、この方法では、更新式(5)により、方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
停止に基づく補正による誤差推定方法:
停止時は速度がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veとゼロとの差であり、更新式(5)により、速度誤差δveに基づいて状態ベクトルXを補正し、誤差を推定する。
停止時は速度がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veとゼロとの差であり、更新式(5)により、速度誤差δveに基づいて状態ベクトルXを補正し、誤差を推定する。
静止に基づく補正による誤差推定方法:
静止時は速度がゼロであり、かつ、姿勢変化がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veの誤差及び積分処理部220が算出した前回の姿勢角と今回の姿勢角との差であり、更新式(5)により、速度誤差δve及び姿勢角誤差εeに基づいて状態ベクトルXを補正し、誤差を推定する。
静止時は速度がゼロであり、かつ、姿勢変化がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veの誤差及び積分処理部220が算出した前回の姿勢角と今回の姿勢角との差であり、更新式(5)により、速度誤差δve及び姿勢角誤差εeに基づいて状態ベクトルXを補正し、誤差を推定する。
GPSの観測値に基づく補正による誤差推定方法:
積分処理部220が算出した速度ve、位置peあるいはヨー角ψbeとGPSデータから算出される速度、位置あるいは方位角(eフレームに変換後の速度、位置、方位角)は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度、位置あるいはヨー角とGPSデータから算出される速度、位置速度あるいは方位角との差であり、更新式(5)により、速度誤差δve、位置誤差δpeあるいは方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
積分処理部220が算出した速度ve、位置peあるいはヨー角ψbeとGPSデータから算出される速度、位置あるいは方位角(eフレームに変換後の速度、位置、方位角)は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度、位置あるいはヨー角とGPSデータから算出される速度、位置速度あるいは方位角との差であり、更新式(5)により、速度誤差δve、位置誤差δpeあるいは方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
このうち、「姿勢角誤差に基づく補正による誤差推定方法」、「方位角誤差に基づく補正による誤差推定方法」、「角速度バイアスに基づく補正による誤差推定方法」(以下、「姿勢角を用いた誤差推定方法」と総称する)は、GPSデータのような外部情報が不要であり、かつ、歩行時にも適用できるという利点がある。ただし、これらの手法では、いずれも前回の姿勢角(方位角)と今回の姿勢角(方位角)が等しいことが条件となっているが、実際には毎回同じ姿勢角(方位角)になるとは限らない。例えば、図9(A)は、被験者が直進した時の2歩毎(例えば、右足を踏み出した状態毎)の姿勢角(ヨー角)の算出結果を示す図である。また、図9(B)は、図9(A)の各時刻のヨー角に対して2歩前のヨー角との差分の時間変化を示す図である。図9(A)のヨー角は、角速度バイアスを補正せずに算出したものであり、角速度バイアスに応じた傾きをもって変化している。図9(B)では、ヨー角の差分が大きく変化しており一定値に収束していないため、角
速度バイアスを正確に推定することが難しい。すなわち、前回の姿勢角(方位角)と今回の姿勢角(方位角)が等しいという条件では、誤差推定の信頼度を向上させることが難しい。
速度バイアスを正確に推定することが難しい。すなわち、前回の姿勢角(方位角)と今回の姿勢角(方位角)が等しいという条件では、誤差推定の信頼度を向上させることが難しい。
これらの手法では、時々刻々変化する前回の姿勢角をリファレンスの姿勢角とすることに問題がある。そこで、前回の姿勢角に代えて、直進中の2歩毎の姿勢角のうちの任意の1つの姿勢角をリファレンスの姿勢角に固定することが考えられる。バイアスによる姿勢角の変化をとらえやすくするためには、直進開始時の姿勢角をリファレンスの姿勢角とすることが好ましい。図9(C)は、図9(A)の各時刻のヨー角に対して直進が始まった時のヨー角(最も古いヨー角)との差分の時間変化を示す図である。図9(C)では、時間の経過とともにヨー角の差分が角速度バイアスに応じた一定値に収束しており、角速度バイアスをより正確に推定することが可能である。従って、直進が始まった時の姿勢角をリファレンスの姿勢角に固定して使用し、姿勢角を用いた誤差推定方法を適用すれば、拡張カルマンフィルターによる誤差推定の精度が向上する。
ただし、直進が始まった付近のヨー角にもばらつきがある。例えば、図10(A)は図9(A)と同じヨー角の時間変化を示す図であるが、直進開始時のヨー角にばらつきがある。そのため、直進開始時の姿勢角も誤差を含んでいる可能性が高く、誤差を持った姿勢角をリファレンスの姿勢角として拡張カルマンフィルターを適用し続けると、その誤差が角速度バイアスとみなされてしまい、角速度バイアスの推定精度に限界が生じる。
これに対して、姿勢角の誤差を角速度バイアスによる誤差とばらつきによる誤差とに分離し、リファレンスの姿勢角からばらつきによる誤差をできるだけ除去すれば、角速度バイアスをより正確に推定することが可能になると考えられる。例えば、直進開始から現在までの2歩毎の姿勢角の変化から、ばらつきによる誤差を除去した姿勢角を推定するための傾向推定式を動的に算出し、この傾向推定式を用いて算出される直進開始時の姿勢角をリファレンス姿勢角とすればよい。例えば、図10(B)は、図9(A)のヨー角に対して一次回帰直線を求めた図であるが、この回帰直線上の姿勢角はばらつきによる誤差が小さく、回帰直線の傾きが角速度バイアスによる誤差に対応する。
そこで、本実施形態では2歩毎の歩行周期を検出し、2歩毎の姿勢角(補正前の姿勢角)を用いて傾向推定式を動的に算出し、傾向推定式から計算される直進開始時の姿勢角をリファレンスの姿勢角(前回の姿勢角)として、姿勢角を用いた誤差推定方法を適用し、拡張カルマンフィルターによる誤差推定を行う。
図6に戻り、歩行検出部240は、慣性計測ユニット10の検出結果(具体的には、バイアス除去部210が補正したセンシングデータ)を用いて、ユーザーの歩行周期(歩行タイミング)を検出する処理を行う。図7及び図8で説明したように、ユーザーの歩行時にはユーザーの姿勢が周期的に(2歩(左右1歩ずつ)毎に)変化するため、慣性計測ユニット10が検出する加速度も周期的に変化する。図11は、ユーザーの歩行時に慣性計測ユニット10が検出した3軸加速度の一例を示す図である。図11において、横軸は時間であり、縦軸は加速度値である。図11に示すように、3軸加速度は周期的に変化しており、特にz軸(重力方向の軸)加速度は、周期性をもって規則的に変化していることがわかる。このz軸加速度は、ユーザーの上下動の加速度を反映しており、z軸加速度が所定の閾値以上の極大値となる時から次に閾値以上の極大値となるまでの期間が1歩の期間に相当する。そして、右足を踏み出している状態の1歩と左足を踏み出している状態の1歩が交互に繰り返される。
そこで、本実施形態では、歩行検出部240は、慣性計測ユニット10が検出するz軸加速度(ユーザーの上下動の加速度に相当する)が所定の閾値以上の極大値となる2回毎
に1回、歩行周期を検出する。ただし、実際には、慣性計測ユニット10が検出するz軸加速度には高周波のノイズ成分が含まれるため、歩行検出部240は、z軸加速度をローパスフィルターを通過させてノイズが除去されたz軸加速度を用いて歩行周期を検出する。
に1回、歩行周期を検出する。ただし、実際には、慣性計測ユニット10が検出するz軸加速度には高周波のノイズ成分が含まれるため、歩行検出部240は、z軸加速度をローパスフィルターを通過させてノイズが除去されたz軸加速度を用いて歩行周期を検出する。
傾向推定式算出部250は、所定の条件を満たす期間において算出した姿勢角を用いて、姿勢角の傾向推定式を算出する処理を行う。具体的には、傾向推定式算出部250は、当該所定の条件としてユーザーが直進していることを判定し、直進している期間において積分処理部220が算出した姿勢角のうち所定のタイミングで算出した姿勢角(補正前の姿勢角)を用いて、姿勢角の傾向推定式を算出する。本実施形態では、当該所定のタイミングは、歩行検出部240が歩行周期を検出したタイミングに同期したタイミングであり、歩行周期を検出したタイミングと同じタイミングでもよい。なお、補正後の姿勢角を用いて算出された傾向推定式は傾きが小さくなり、後述する傾向推定式を利用した直進判定ができない、あるいは判定精度が低下するため、傾向推定式算出部250は、補正前の姿勢角を用いて傾向推定式を算出する。
本実施形態では、傾向推定式として、係数a,bを用いて式(12)のような1次回帰式を使用する。yは積分処理部220が算出した補正前の姿勢角(ロール角、ピッチ角、ヨー角のいずれか)であり、xは当該姿勢角に対応づけられる時刻である。傾向推定式算出部250は、歩行周期が検出される毎に、補正前のロール角、ピッチ角、ヨー角について、それぞれ1次回帰式(12)を計算する。
a及びbは、それぞれ、式(13)及び式(14)のように計算される。また、回帰直線の相関係数rは式(15)のように計算される。
式(14)及び式(15)のS(x,y)、S(x,x)及びS(y,y)は、それぞ
れ、式(16)、式(17)及び式(18)で計算される。
れ、式(16)、式(17)及び式(18)で計算される。
式(13)〜式(18)より、積分処理部220が姿勢角yiを算出(更新)する毎に、その時刻xiと補正前の姿勢角yiを用いてΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nの6つのパラメーターを計算すれば、係数a,b及び相関係数rを計算(更新)することができる。そこで、本実施形態では、傾向推定式算出部250は、歩行検出部240が歩行周期を検出すると、その時刻と当該時刻で積分処理部220が算出した補正前の姿勢角とを用いて、記憶部30に保存されているΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nの6つのパラメーターを更新し、記憶部30に保存(記憶)する。この6つのパラメーターを保存することで、1次回帰式(12)の計算に必要なn個の姿勢角とn個の時刻を記憶する必要がなくなる。
本実施形態では、傾向推定式算出部250は、直進の開始時に傾向推定式の計算を開始し、直進が終了するまで、2歩毎に傾向推定式を更新する。
また、傾向推定式算出部250は、算出(更新)した傾向推定式(1次回帰式(12))を用いて、ユーザーの状態を表す指標の誤差(速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpe)を推定するための参照値(リファレンスの姿勢角)を生成する処理を行う。具体的には、傾向推定式算出部250は、1次回帰式(12)が更新される毎に、例えば、1次回帰式(12)の計算を開始した時刻(直進開始時刻)を1次回帰式(12)のxに代入し、リファレンスの姿勢角を算出する。
ここで、ユーザーが進行方向を変えると、進行方向が変わる前後では、姿勢角が異なるため、直進開始前の姿勢角を直進開始後にリファレンスの姿勢角として使用することはで
きない。従って、直進判定が必要になる。慣性計測ユニット10が検出した加速度や角速度の変化量から直進判定を行うこともできるが判定精度に問題があり、精度よく判定する手法は確立されていない。
きない。従って、直進判定が必要になる。慣性計測ユニット10が検出した加速度や角速度の変化量から直進判定を行うこともできるが判定精度に問題があり、精度よく判定する手法は確立されていない。
傾向推定式算出部250は、傾向推定式(1次回帰式(12))を算出(更新)する時に、傾向推定式を利用して直進判定を行う。本実施形態では、傾向推定式算出部250は、1次回帰式(12)を利用して、以下の4つの条件がすべて満たされている場合に直進と判定する。
条件1:基準となる時刻(例えば、)での、補正前の姿勢角と回帰直線上の姿勢角(リファレンス姿勢角)との差(A)が一定値以下
条件2:現在の時刻での、補正前の姿勢角と回帰直線上の姿勢角との差(B)が一定値以下
条件3:回帰直線の傾きの絶対値が一定値以下
条件4:回帰直線の相関係数rが一定値以上
条件1:基準となる時刻(例えば、)での、補正前の姿勢角と回帰直線上の姿勢角(リファレンス姿勢角)との差(A)が一定値以下
条件2:現在の時刻での、補正前の姿勢角と回帰直線上の姿勢角との差(B)が一定値以下
条件3:回帰直線の傾きの絶対値が一定値以下
条件4:回帰直線の相関係数rが一定値以上
条件1は、ユーザーが進行方向を変えると、算出(更新)される回帰直線の傾きが変わっていくので、直進開始時の2つの姿勢角の差(A)が大きくなっていくことに基づく条件である。条件2は、ユーザーが進行方向を変えると方位が変化するため、現在の2つの姿勢角の差(B)が大きくなることに基づく条件である。条件3は、直進時には、回帰直線の傾きが角速度バイアスに対応するため、回帰直線の傾きはある程度決まった範囲に収まることに基づく条件である。条件4は、回帰直線の相関係数rが大きいほど、補正前の各姿勢角と回帰直線上の姿勢角との差小さく、より直進に近いことに基づく条件である。
図12は、回帰直線と補正前のヨー角との関係の一例を示す図である。図12では、現在の時刻がtNであり、基準となる時刻が現在から12歩(2歩?6)前の時刻tN-6である。すなわち、時刻tN-6は、直進が始まった時刻であり、新たに回帰直線の計算が開始された時刻である。図12の例では、現在の時刻tNにおいて、時刻tN-6,tN-5,tN-4,tN-3,tN-2,tN-1,tNの7個の補正前のヨー角ψN-6,ψN-5,ψN-4,ψ-3,ψN-2,ψ-1,ψN(●で表記)から回帰式(12)の係数a,bが計算された回帰直線Lが図示されている。条件1は、直線が始まった時刻tN-6での、補正前のヨー角ψN-6と回帰直線L上のヨー角ψ’N-6(?で表記)との差が一定値以下であることを意味する。条件2は、現在の時刻tNでの、補正前のヨー角ψNと回帰直線L上のヨー角ψ’N(?で表記)との差が一定値以下であることを意味する。条件3は、回帰直線Lの傾き(回帰式(12)の係数a)が一定値以下であることを意味する。条件4は、回帰直線L(回帰式(12))の相関係数rが一定値以上であることを意味する。
傾向推定式算出部250は、この条件1〜4がすべて満たされていれば直進と判定し、誤差推定部230は、直線が始まった時刻tN-6でのヨー角ψN-6をリファレンスのヨー角として観測ベクトルZを作成し、拡張カルマンフィルターによる誤差推定を行う。そして、傾向推定式算出部250は、時刻tN+1において、2歩後の補正前の姿勢角ψN+1を用いて回帰直線Lと相関係数rを更新する。
また、傾向推定式算出部250は、条件1〜4の1つ以上が満たされていなければ直進ではないと判定し、回帰直線Lを更新せずに、パラメーターΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nを初期化(0にリセット)する。この場合、誤差推定部230は、「姿勢角を用いた誤差推定方法」に用いる観測ベクトルZを作成しない。つまり、拡張カルマンフィルターによる「姿勢角を用いた誤差推定方法」を行わない。
なお、実際には、傾向推定式算出部250は、ロール角、ピッチ角、ヨー角について、それぞれ算出した傾向推定式を用いて上記1〜4を満たすか否かを判定し、ロール角、ピ
ッチ角、ヨー角のすべてについて、上記1〜4が満たされる場合に直進と判定する。
ッチ角、ヨー角のすべてについて、上記1〜4が満たされる場合に直進と判定する。
本実施形態では、誤差推定部230は、少なくとも、傾向推定式(回帰式)を利用して姿勢角を用いた誤差推定方法を改良して適用し、さらにその他の誤差推定方法の一部又は全部を適用した観測ベクトルZ及び観測行列Hを作成し、拡張カルマンフィルターを用いて状態ベクトルXを推定する。
座標変換部260は、積分処理部220が算出したbフレームからmフレームへの座標変換情報(座標変換行列Cb m)を用いて、バイアス除去部210が補正したbフレームの加速度及び角速度をそれぞれmフレームの加速度及び角速度に変換する座標変換処理を行う。また、座標変換部260は、積分処理部220が算出したeフレームからmフレームへの座標変換情報(座標変換行列Ce m)を用いて、積分処理部220が算出したeフレームの速度、位置及び姿勢角をそれぞれmフレームの速度、位置及び姿勢角に変換する座標変換処理を行う。
運動解析部270は、座標変換部260が座標変換した後のmフレームの加速度、角速度、速度、位置及び姿勢角を用いて各種の演算を行ってユーザーの運動を解析し、運動解析情報340を生成する処理を行う。本実施形態では、運動解析部270は、ユーザーの歩行における、移動経路、移動速度、移動時間等の移動に関する情報、前傾の度合い、左右の動きの差、推進効率、エネルギー消費量、エネルギー効率等の歩行運動の評価指標に関する情報、より良い歩行のためのアドバイスや指導の情報、姿勢が悪いことを示す警告情報(表示装置3に警告表示や警告音等を出力させるための情報)等を含む運動解析情報340を生成する。
処理部20は、この運動解析情報340を表示装置3に送信し、運動解析情報340は、表示装置3の表示部170にテキスト、画像、図形等で表示され、あるいは、音出力部180から音声やブザー音等で出力される。基本的には、運動解析情報340を表示部170に表示させることで、ユーザーは運動解析情報を知りたい時に表示部170を見て確認することができ、ユーザーに注意を喚起したい情報(警告情報等)を少なくとも音として出力させることで、ユーザーは常に表示部170を見ながら歩行する必要もなくなる。
1−4.処理の手順
図13は、処理部20による運動解析処理の手順の一例(運動解析方法の一例)を示すフローチャート図である。処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、図13のフローチャートの手順で運動解析処理を実行する。
図13は、処理部20による運動解析処理の手順の一例(運動解析方法の一例)を示すフローチャート図である。処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、図13のフローチャートの手順で運動解析処理を実行する。
図13に示すように、処理部20は、計測スタートのコマンドを受信した場合(S1のY)、まず、ユーザーが静止しているものとして、慣性計測ユニット10が計測したセンシングデータ、及び、GPSデータを用いて、初期姿勢、初期位置、初期バイアスを計算する(S2)。
次に、処理部20は、慣性計測ユニット10からセンシングデータを取得し、取得したセンシングデータをセンシングデータテーブル310に付加する(S3)。
次に、処理部20は、初期バイアスを用いて(S15でバイアス情報(加速度バイアスba及び角速度バイアスbω)を保存した後は、加速度バイアスba及び角速度バイアスbωを用いて)、S3で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル310を更新する(S4)。
次に、処理部20は、S4で補正したセンシングデータを積分して速度、位置及び姿勢角を計算し、計算した速度、位置及び姿勢角を含む算出データを算出データテーブル330に付加する(S5)。
次に、処理部20は、歩行検出処理を行う(S6)。この歩行検出処理の手順の一例は後述する。
処理部20は、歩行検出処理(S6)により歩行周期を検出した場合(S7のY)、記憶部30(算出データテーブル330)から補正後の姿勢角とその算出時刻を取得する(S8)。さらに、処理部20は、記憶部30から姿勢角の誤差情報(姿勢角誤差εe)とバイアス情報(角速度バイアスbω)を取得する(S9)。
次に、処理部20は、傾向推定式算出処理(回帰直線計算)(S10)と姿勢角を用いた誤差推定方法用の設定情報作成処理(S11)を行う。この傾向推定式算出処理(回帰直線計算)(S10)及び姿勢角を用いた誤差推定方法用の設定情報作成処理(S11)の手順の一例は後述する。
次に、処理部20は、その他の誤差推定方法(姿勢角を用いた誤差推定方法以外の誤差推定方法)用の設定情報(拡張カルマンフィルターのその他の誤差推定用のZ、H、R等)を作成する(S12)。なお、処理部20は、歩行周期を検出しなかった場合は(S7のN)、S8〜S11の処理を行わずにS12の処理を行う。
次に、処理部20は、誤差推定処理を行い(S13)、速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpeを推定する。
次に、処理部20は、S13の処理で得られた姿勢角の誤差情報(姿勢角誤差εe)とバイアス情報(角速度バイアスbω)を記憶部30に保存(記憶)する(S14)。
次に、処理部20は、S13で推定した速度誤差δve、姿勢角誤差εe及び位置誤差δpeを用いて、速度、位置及び姿勢角をそれぞれ補正し、補正した速度、位置及び姿勢角により算出データテーブル330を更新する(S15)。
次に、処理部20は、センシングデータテーブル310に記憶されているセンシングデータ(bフレームの加速度及び角速度)及び算出データテーブル330に記憶されている算出データ(eフレームの速度、位置及び姿勢角)を、mフレームの加速度、角速度、速度、位置及び姿勢角に座標変換する(S16)。処理部20は、このmフレームの加速度、角速度、速度、位置及び姿勢角を時系列に記憶部30に記憶する。
次に、処理部20は、S16で座標変換した後のmフレームの加速度、角速度、速度、位置及び姿勢角を用いて、ユーザーの運動をリアルタイムに解析し、運動解析情報を生成する(S17)。
次に、処理部20は、S17で生成した運動解析情報を表示装置3に送信する(S18)。表示装置3に送信された運動解析情報は、ユーザーの歩行中にリアルタイムにフィードバックされる。なお、本明細書において「リアルタイム」とは、処理対象の情報が取得されたタイミングで処理を開始することを意味する。したがって、情報の取得から処理完了までにある程度の時間差がある場合も含む。
そして、処理部20は、計測ストップのコマンドを受信するまで(S19のNかつS2
0のN)、前回センシングデータを取得してからサンプリング周期Δtが経過する毎に(S19のY)、S3以降の処理を繰り返す。計測ストップのコマンドを受信すると(S20のY)、S16で座標変換して時系列に記憶したmフレームの加速度、角速度、速度、位置及び姿勢角やS17の解析結果を用いて、ユーザーが行った運動を解析し、運動解析情報を生成する(S21)。S21において、処理部20は、計測ストップのコマンドを受信すると、直ちに運動解析処理を行ってもよいし、ユーザーの操作による運動解析コマンドを受信した場合に運動解析処理を行ってもよい。また、処理部20は、S21で生成した運動解析情報を表示装置3に送信してもよいし、パーソナルコンピューターやスマートフォン等の機器に送信してもよいし、メモリーカードに記録してもよい。
0のN)、前回センシングデータを取得してからサンプリング周期Δtが経過する毎に(S19のY)、S3以降の処理を繰り返す。計測ストップのコマンドを受信すると(S20のY)、S16で座標変換して時系列に記憶したmフレームの加速度、角速度、速度、位置及び姿勢角やS17の解析結果を用いて、ユーザーが行った運動を解析し、運動解析情報を生成する(S21)。S21において、処理部20は、計測ストップのコマンドを受信すると、直ちに運動解析処理を行ってもよいし、ユーザーの操作による運動解析コマンドを受信した場合に運動解析処理を行ってもよい。また、処理部20は、S21で生成した運動解析情報を表示装置3に送信してもよいし、パーソナルコンピューターやスマートフォン等の機器に送信してもよいし、メモリーカードに記録してもよい。
なお、図13では、処理部20は、計測スタートのコマンドを受信しなければ(S1のN)、S1〜S21の処理を行わないが、過去に記憶させたmフレームの加速度、角速度、速度、位置及び姿勢角やS17の解析結果を用いてS21の処理を行ってもよい。
図14は、歩行検出処理(図13のS6の処理)の手順の一例を示すフローチャート図である。処理部20(歩行検出部240)は、記憶部30に記憶されている歩行検出プログラム301を実行することにより、図14のフローチャートの手順で歩行検出処理を実行する。
図14に示すように、処理部20は、図13のS4で補正した加速度に含まれるz軸加速度をローパスフィルター処理し(S100)、ノイズを除去する。
次に、処理部20は、S100でローパス処理したz軸加速度が閾値以上かつ極大値の場合に(S110のY)、歩行検出有効フラグがオンであれば(S120のY)、このタイミングで歩行周期を検出する(S130)。そして、処理部20は、歩行検出有効フラグをオフし(S140)、歩行検出処理を終了する。
一方、z軸加速度が閾値以上かつ極大値の場合に(S110のY)、歩行検出有効フラグがオフであれば(S120のN)、歩行周期を検出せずに、歩行検出有効フラグをオンし(S150)、歩行検出処理を終了する。なお、処理部20は、z軸加速度が閾値未満か極大値でなければ(S110のN)、S120以降の処理を行わずに歩行処理を終了する。
図15は、傾向推定式算出処理(回帰直線計算)(図13のS10の処理)の手順の一例を示すフローチャート図である。処理部20(傾向推定式算出部250)は、記憶部30に記憶されている傾向推定式算出プログラム302を実行することにより、図15のフローチャートの手順で傾向推定式算出処理(回帰直線計算)を実行する。
図15に示すように、処理部20は、初期化フラグがオンであれば(S200のY)、回帰式(12)を算出するためのパラメーターΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nを初期化(0にリセット)し(S202)、初期化フラグをオフし(S204)、推定傾向式算出処理(回帰直線計算)を終了する。
処理部20(傾向推定式算出部250)は、初期化フラグがオフであれば(S200のN)、図13のS8で取得した補正後の姿勢角、図13のS9で取得した姿勢角の誤差情報(姿勢角誤差εe)とバイアス情報(角速度バイアスbω)を用いて、補正前の姿勢角を計算する(S206)。なお、積分処理部220が算出した補正前の姿勢角を記憶部30に保存しておけば、このS206の処理は不要である。
次に、処理部20は、図13のS8で取得した時刻、S206で計算した補正前の姿勢
角、記憶部30に保存(又は初期化)されているパラメーターΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nを用いて、回帰直線を計算し、得られたパラメーターΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nを保存する(S208)。
角、記憶部30に保存(又は初期化)されているパラメーターΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nを用いて、回帰直線を計算し、得られたパラメーターΣxiyi,Σxi,Σyi,Σxi 2,Σyi 2,nを保存する(S208)。
次に、処理部20は、S206で計算した回帰直線からリファレンスの姿勢角を計算する(S210)。また、処理部20は、回帰直線上の現在の姿勢角を計算する(S212)。
次に、処理部20は、リファレンスの姿勢角とその時の補正前の姿勢角との差(A)を計算する(S214)。また、処理部20は、現在の回帰直線上の姿勢角と補正前の姿勢角との差(B)を計算する(S216)。また、処理部20は、回帰直線の相関係数rを計算する(S218)。
そして、処理部20は、S208で得られた回帰直線をN個未満(例えば10個未満)の姿勢角で計算した場合(S220のN)、前回(2歩前)と今回の姿勢角との差が30度以上であれば(S222のY)、ユーザーが進行方向を変えたと判断して初期化フラグをオンし(S224)、推定傾向式算出処理(回帰直線計算)を終了する。なお、処理部20は、前回(2歩前)と今回の姿勢角との差が30度未満であれば(S222のN)、初期化フラグをオフのまま推定傾向式算出処理(回帰直線計算)を終了する。
また、処理部20は、S208で得られた回帰直線をN個以上(例えば10個以上)の姿勢角で計算した場合(S220のY)、S218で計算した相関係数rが0.1よりも大きい場合(S226のY)、ユーザーが進行方向を変えたと判断して初期化フラグをオンし(S228)、推定傾向式算出処理(回帰直線計算)を終了する。
また、処理部20は、S218で計算した相関係数rが0.1以下の場合(S226のN)、S214で計算したAが0.05未満、かつ、S216で計算したBが0.05未満、かつ、回帰直線の傾き(係数a)が0.1度/s未満であれば(S230のY)、信頼度を「高」に設定する(S232)。
また、処理部20は、Aが0.05以上、又は、Bが0.05以上、又は、回帰直線の傾き(係数a)が0.1度/s以上の場合(S230のN)、Aが0.1未満、かつ、SBが0.1未満、かつ、回帰直線の傾き(係数a)が0.2度/s未満であれば(S234のY)、信頼度を「中」に設定する(S236)。
また、処理部20はAが0.1以上、又は、Bが0.1以上、又は、回帰直線の傾き(係数a)が0.2度/s以上であれば(S234のN)、信頼度を「低」に設定する(S238)。
そして、処理部20は、S210で計算したリファレンス姿勢角とS232、S236又はS238で設定した信頼度を出力し(S240)、推定傾向式算出処理(回帰直線計算)を終了する。
なお、S214,S216,S218の計算は、S220でYの場合にのみ行ってもよい。
図16は、姿勢角を用いた誤差推定方法用の設定情報作成処理(図13のS11の処理)の手順の一例を示すフローチャート図である。
図16に示すように、処理部20(誤差推定部230)は、傾向推定式算出処理(回帰
直線計算)(図13のS10、図15のS200〜S240の処理)でリファレンス姿勢角と信頼度が出力された場合(S300のY)、出力されたリファレンス姿勢角を用いて拡張カルマンフィルターの観測ベクトルZ及び観測行列Hを作成する(S310)。
直線計算)(図13のS10、図15のS200〜S240の処理)でリファレンス姿勢角と信頼度が出力された場合(S300のY)、出力されたリファレンス姿勢角を用いて拡張カルマンフィルターの観測ベクトルZ及び観測行列Hを作成する(S310)。
次に、処理部20は、出力された信頼度が「高」であれば(S320のN)、拡張カルマンフィルターのRを0.01に設定し(S330)、設定情報作成処理を終了する。
また、処理部20は、出力された信頼度が「中」であれば(S340のY)、拡張カルマンフィルターのRを0.1に設定し(S350)、設定情報作成処理を終了する。
また、処理部20は、出力された信頼度が「低」であれば(S340のN)、拡張カルマンフィルターのRを1に設定し(S360)、設定情報作成処理を終了する。
1−5.効果
本実施形態によれば、ユーザーの直進期間において算出した傾向推定式(1次回帰式)を用いることで、角速度バイアスによるばらつきを低減させた真の姿勢角に近い参照値(リファレンスの姿勢角)を生成することができる。従って、本適用例に係る参照値生成方法を用いて生成した参照値を用いることにより、ユーザーの状態を表す指標の誤差の推定精度を向上させることができる。
本実施形態によれば、ユーザーの直進期間において算出した傾向推定式(1次回帰式)を用いることで、角速度バイアスによるばらつきを低減させた真の姿勢角に近い参照値(リファレンスの姿勢角)を生成することができる。従って、本適用例に係る参照値生成方法を用いて生成した参照値を用いることにより、ユーザーの状態を表す指標の誤差の推定精度を向上させることができる。
また、本実施形態によれば、ユーザーの歩行状態の周期性を利用して、姿勢角がほぼ一定のタイミングで傾向推定式(1次回帰式)を算出するので、傾向推定式(1次回帰式)の信頼性が高まり、参照値(リファレンスの姿勢角)の精度が向上する。
また、本実施形態によれば、傾向推定式(1次回帰式)を算出する過程において、傾向推定式(1次回帰式)と姿勢角とに基づく条件を判定することで、判定処理の付加を低減しながら効率的かつ精度よく直進判定を行うことができる。そして、本実施形態によれば、ユーザーが進行方向を変えた場合には、傾向推定式(1次回帰式)の算出処理を終了し、姿勢角を参照値とする誤差推定を行わないので、誤差の推定精度の低下を抑制することができる。
また、本実施形態によれば、精度よく生成した参照値(リファレンスの姿勢角)を用いて拡張カルマンフィルターを適用し、推定した誤差を用いて、ユーザーの速度、位置、姿勢角等の情報を精度よく補正することができる。さらに、本実施形態によれば、この精度よく補正したユーザーの速度、位置、姿勢等の情報を用いて、ユーザーの歩行運動を精度よく解析することができる。
2.変形例
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
2−1.センサー
上記の実施形態では、加速度センサー12と角速度センサー14が慣性計測ユニット10として一体化された運動解析装置2に内蔵されているが、加速度センサー12と角速度センサー14は一体化されていなくてもよい。あるいは、加速度センサー12と角速度センサー14とが運動解析装置2に内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、例えば、いずれか一方のセンサー座標系を上記の実施形態のbフレームとして、他方のセンサー座標系を当該bフレームに変換し、上記の実施形態を適用すればよい。
上記の実施形態では、加速度センサー12と角速度センサー14が慣性計測ユニット10として一体化された運動解析装置2に内蔵されているが、加速度センサー12と角速度センサー14は一体化されていなくてもよい。あるいは、加速度センサー12と角速度センサー14とが運動解析装置2に内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、例えば、いずれか一方のセンサー座標系を上記の実施形態のbフレームとして、他方のセンサー座標系を当該bフレームに変換し、上記の実施形態を適用すればよい。
また、上記の実施形態では、センサー(運動解析装置2(IMU10))のユーザーへの装着部位を腰として説明したが、腰以外の部位に装着することとしてもよい。好適な装着部位はユーザーの体幹(四肢以外の部位)である。しかしながら、体幹に限らず、腕以外の例えばユーザーの頭や足に装着することとしてもよい。
2−2.歩行検出
上記の実施形態では、歩行検出部240は、ユーザーの上下動の加速度(z軸加速度)が閾値以上で極大値となるタイミングで歩行周期を検出しているが、これに限らず、例えば、上下動の加速度(z軸加速度)が正から負に変化する(ゼロクロスする)タイミング(又は負から正にゼロクロスするタイミング)で歩行周期を検出してもよい。あるいは、歩行検出部240は、上下動の加速度(z軸加速度)を積分して上下動の速度(z軸速度)を算出し、算出した上下動の速度(z軸速度)を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。また、例えば、歩行検出部240は、x軸、y軸、z軸の合成加速度を算出し、算出した合成加速度を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該合成加速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。
上記の実施形態では、歩行検出部240は、ユーザーの上下動の加速度(z軸加速度)が閾値以上で極大値となるタイミングで歩行周期を検出しているが、これに限らず、例えば、上下動の加速度(z軸加速度)が正から負に変化する(ゼロクロスする)タイミング(又は負から正にゼロクロスするタイミング)で歩行周期を検出してもよい。あるいは、歩行検出部240は、上下動の加速度(z軸加速度)を積分して上下動の速度(z軸速度)を算出し、算出した上下動の速度(z軸速度)を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。また、例えば、歩行検出部240は、x軸、y軸、z軸の合成加速度を算出し、算出した合成加速度を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該合成加速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。
2−3.傾向推定式の算出条件
上記の実施形態では、傾向推定式(回帰直線)に関する条件1〜4が満たされる場合に直進と判定し、傾向推定式(回帰直線)を更新しているが、直進判定の方法はこれに限らず、例えば、条件1〜4の一部が満たされた場合に直進と判定してもよいし、条件1及び条件2が直線判定の精度に影響するため条件1及び条件2を満たす場合に直進と判定してもよい。あるいは、傾向推定式(回帰直線)に関する条件で判定するのではなく、GPSデータに含まれる速度や位置、センシングデータに含まれる加速度等を用いて直進か否かを判定してもよい。
上記の実施形態では、傾向推定式(回帰直線)に関する条件1〜4が満たされる場合に直進と判定し、傾向推定式(回帰直線)を更新しているが、直進判定の方法はこれに限らず、例えば、条件1〜4の一部が満たされた場合に直進と判定してもよいし、条件1及び条件2が直線判定の精度に影響するため条件1及び条件2を満たす場合に直進と判定してもよい。あるいは、傾向推定式(回帰直線)に関する条件で判定するのではなく、GPSデータに含まれる速度や位置、センシングデータに含まれる加速度等を用いて直進か否かを判定してもよい。
また、上記の実施形態では、ユーザーの直進時に傾向推定式(回帰直線)を算出しているが、ユーザーの静止時や停止時に傾向推定式(回帰直線)を算出してもよい。静止時又は停止時は、ユーザーの姿勢変化に周期性がないので、例えば、サンプリング周期Δt毎に、傾向推定式(回帰直線)を算出してもよい。また、ユーザーが静止あるいは停止しているか否かは、傾向推定式(回帰直線)に関する所定の条件が満たされるか否かで判定してもよいし、GPSデータに含まれる速度や位置、センシングデータに含まれる加速度や角速度を用いて判定してもよい。誤差推定部230は、静止時に傾向推定式(回帰直線)から算出されるリファレンスの姿勢角を用いて誤差推定処理を行ってもよい。また、例えば、傾向推定式(回帰直線)を用いて静止時のユーザーの微妙な動きによる姿勢変化を検出した場合には、誤差推定部230が誤差推定処理を行わないようにしてもよい。
2−4.誤差推定
上記の実施形態では、誤差推定部230は、GPS衛星からの信号を用いて誤差推定処理を行ってもよいが、GPS以外の全地球航法衛星システム(GNSS:Global Navigation Satellite System)の測位用衛星やGNSS以外の測位用衛星からの信号を用いて誤差推定処理を行ってもよい。あるいは、誤差推定部230は地磁気センサーの検出信号を用いて誤差推定処理を行ってもよい。例えば、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO、BeiDou(BeiDou Navigation Satellite System)といった衛星測位システムのうち1つ、あるいは2つ以上を利用してもよい。また、屋内測位システム(IMES:Indoor Messaging System)等を利用してもよい。
上記の実施形態では、誤差推定部230は、GPS衛星からの信号を用いて誤差推定処理を行ってもよいが、GPS以外の全地球航法衛星システム(GNSS:Global Navigation Satellite System)の測位用衛星やGNSS以外の測位用衛星からの信号を用いて誤差推定処理を行ってもよい。あるいは、誤差推定部230は地磁気センサーの検出信号を用いて誤差推定処理を行ってもよい。例えば、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO、BeiDou(BeiDou Navigation Satellite System)といった衛星測位システムのうち1つ、あるいは2つ以上を利用してもよい。また、屋内測位システム(IMES:Indoor Messaging System)等を利用してもよい。
また、上記の実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定しているが、速度、姿勢角、加速度、角速度及び位置の一部をユーザーの状態を表す指標として、その誤差を推定してもよい。あるいは、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置以外のもの(例えば、移動距離)をユーザーの状態を表す指標として、その誤差を推定してもよい。
また、上記の実施形態では、誤差推定部230による誤差の推定に拡張カルマンフィルターを用いているが、パーティクルフィルターやH∞(Hインフィニティー)フィルター等の他の推定手段に代えてもよい。
2−5.その他
上記の実施形態では、積分処理部220がeフレームの速度、位置及び姿勢角を算出し、座標変換部260がこれをmフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部220がmフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部270は、積分処理部220が算出したmフレームの速度、位置、姿勢角を用いて運動解析処理を行えばよいので、座標変換部260による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部230はmフレームの速度、位置、姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
上記の実施形態では、積分処理部220がeフレームの速度、位置及び姿勢角を算出し、座標変換部260がこれをmフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部220がmフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部270は、積分処理部220が算出したmフレームの速度、位置、姿勢角を用いて運動解析処理を行えばよいので、座標変換部260による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部230はmフレームの速度、位置、姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
また、上記の実施形態では、処理部20が画像データ、音データ、テキストデータ等の運動解析情報を生成しているが、これに限らず、例えば、処理部20は、推進効率やエネルギー消費量などの計算結果を送信し、当該計算結果を受信した表示装置3の処理部120が当該計算結果に応じた画像データ、音声データ、テキストデータ(アドバイス等)を作成してもよい。
また、上記の実施形態では、処理部20が、計測ストップのコマンドを受信した後、ユーザーが行った運動を解析し、運動解析情報を生成する処理(図13のS21)を行っているが、この運動解析処理(後処理)は、処理部20が行わなくてもよい。例えば、処理部20が、記憶部30に記憶されている各種の情報をパーソナルコンピューター、スマートフォン、ネットワークサーバー等の機器に送信し、これらの機器が運動解析処理(後処理)を行ってもよい。
また、上記の実施形態では、表示装置3は、表示部170と音出力部180から運動解析情報を出力しているが、これに限らず、例えば、表示装置3に振動機構を設けて、振動機構を各種のパターンで振動させることにより各種情報を出力してもよい。
また、上記の実施形態では、GPSユニット50は運動解析装置2に設けられているが、表示装置3に設けられていてもよい。この場合、表示装置3の処理部120がGPSユニット50からGPSデータを受け取って通信部140を介して運動解析装置2に送信し、運動解析装置2の処理部20が通信部40を介してGPSデータを受信し、受信したGPSデータをGPSデータテーブル320に付加すればよい。
また、上記の実施形態では、運動解析装置2と表示装置3が別体となっているが、運動解析装置2と表示装置3が一体化された運動解析装置であってもよい。
また、上記の実施形態では、運動解析装置2がユーザーに装着されているが、これに限らず、慣性計測ユニット(慣性センサー)やGPSユニットをユーザーの胴体等に装着し、慣性計測ユニット(慣性センサー)やGPSユニットはそれぞれ検出結果をスマートフ
ォン等の携帯情報機器やパーソナルコンピューター等の設置型の情報機器に送信し、これらの機器が受信した検出結果を用いてユーザーの運動を解析してもよい。あるいは、ユーザーの胴体等に装着された慣性計測ユニット(慣性センサー)やGPSユニットが検出結果をメモリーカード等の記録媒体に記録し、当該記録媒体をスマートフォンやパーソナルコンピューター等の情報機器が当該記録媒体から検出結果を読み出して運動解析処理を行ってもよい。
ォン等の携帯情報機器やパーソナルコンピューター等の設置型の情報機器に送信し、これらの機器が受信した検出結果を用いてユーザーの運動を解析してもよい。あるいは、ユーザーの胴体等に装着された慣性計測ユニット(慣性センサー)やGPSユニットが検出結果をメモリーカード等の記録媒体に記録し、当該記録媒体をスマートフォンやパーソナルコンピューター等の情報機器が当該記録媒体から検出結果を読み出して運動解析処理を行ってもよい。
また、上記の実施形態では、人の歩行を対象としていたが、本発明は、これに限らず、動物や歩行ロボット等の移動体の歩行にも同様に適用することができる。また、本発明は、歩行に限らず、登山、トレイルラン、スキー(クロスカントリーやスキージャンプも含む)、スノーボード、水泳、自転車の走行、スケート、ゴルフ、テニス、野球、リハビリテーション等の多種多様な運動に適用することができる。
上述した各実施形態および各変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
1 運動解析システム、2 運動解析装置、3 表示装置、10 慣性計測ユニット(IMU)、12 加速度センサー、14 角速度センサー、16 信号処理部、20 処理部、30 記憶部、40 通信部、50 GPSユニット、120 処理部、130 記憶部、140 通信部、150 操作部、160 計時部、170 表示部、180 音出力部、210 バイアス除去部、220 積分処理部、230 誤差推定部、240 歩行検出部、250 傾向推定式算出部、260 座標変換部、270 運動解析部
Claims (11)
- 移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、
前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、
前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、を含む、参照値生成方法。 - 前記所定の条件は前記移動体が直進していることであり、
前記移動体が直進している期間に算出した姿勢角のうち所定のタイミングで算出した姿勢角を用いて、前記傾向推定式を算出する、請求項1に記載の参照値生成方法。 - さらに、前記センサーの検出結果を用いて、前記移動体の歩行周期を検出することを含み、
前記所定のタイミングは、前記歩行周期に同期したタイミングである、請求項2に記載の参照値生成方法。 - 前記所定の条件は前記移動体が静止していることであり、
前記移動体が静止している期間に算出した姿勢角を用いて、前記傾向推定式を算出する、請求項1乃至3のいずれか一項に記載の参照値生成方法。 - さらに、前記傾向推定式を用いて、前記運動が前記所定の条件を満たすか否かを判定する、請求項1乃至4のいずれか一項に記載の参照値生成方法。
- 前記運動が前記所定の条件を満たす期間毎に前記傾向推定式を算出する、請求項1乃至5のいずれか一項に記載の参照値生成方法。
- 前記傾向推定式は、1次回帰式である、請求項1乃至6のいずれか一項に記載の参照値生成方法。
- 前記センサーは、加速度センサー及び角速度センサーの少なくとも一方を含む、請求項1乃至7のいずれか一項に記載の参照値生成方法。
- 請求項1乃至8のいずれか一項に記載の参照値生成方法を用いて前記参照値を生成することと、
前記参照値を用いて、前記誤差を推定することと、
推定した前記誤差を用いて、前記指標を補正することと、
補正した前記指標を用いて、前記運動を解析することと、を含む、運動解析方法。 - 移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出する姿勢角算出部と、
前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出し、前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成する傾向推定式算出部と、を含む、参照値生成装置。 - 移動体に取り付けられたセンサーの検出結果を用いて、前記移動体の姿勢角を算出することと、
前記移動体の運動が所定の条件を満たす期間に算出した姿勢角を用いて、姿勢角の傾向推定式を算出することと、
前記傾向推定式を用いて、前記移動体の状態を表す指標の誤差を推定するための参照値を生成することと、をコンピューターに実行させる、プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014061551A JP2015184160A (ja) | 2014-03-25 | 2014-03-25 | 参照値生成方法、運動解析方法、参照値生成装置及びプログラム |
PCT/JP2015/001387 WO2015146047A1 (ja) | 2014-03-25 | 2015-03-12 | 参照値生成方法、運動解析方法、参照値生成装置及びプログラム |
US15/128,941 US20180180441A1 (en) | 2014-03-25 | 2015-03-12 | Reference value generation method, exercise analysis method, reference value generation apparatus, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014061551A JP2015184160A (ja) | 2014-03-25 | 2014-03-25 | 参照値生成方法、運動解析方法、参照値生成装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015184160A true JP2015184160A (ja) | 2015-10-22 |
Family
ID=54194601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014061551A Pending JP2015184160A (ja) | 2014-03-25 | 2014-03-25 | 参照値生成方法、運動解析方法、参照値生成装置及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180180441A1 (ja) |
JP (1) | JP2015184160A (ja) |
WO (1) | WO2015146047A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017085756A1 (ja) * | 2015-11-16 | 2017-05-26 | 富士通株式会社 | 情報処理装置、方法及びプログラム |
JP2017177203A (ja) * | 2016-03-31 | 2017-10-05 | Jfeスチール株式会社 | 圧延荷重測定装置の異常検出方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6776882B2 (ja) * | 2015-12-28 | 2020-10-28 | 住友ゴム工業株式会社 | 運動解析装置、方法及びプログラム |
JP6645481B2 (ja) | 2017-08-03 | 2020-02-14 | カシオ計算機株式会社 | 活動記録データ処理装置、活動記録データ処理方法及び活動記録データ処理プログラム |
JP6686985B2 (ja) | 2017-08-03 | 2020-04-22 | カシオ計算機株式会社 | 軌跡推定装置、軌跡推定方法及び軌跡推定プログラム |
JP6610626B2 (ja) | 2017-08-03 | 2019-11-27 | カシオ計算機株式会社 | 活動状況解析装置、活動状況解析方法及びプログラム |
US11002999B2 (en) * | 2019-07-01 | 2021-05-11 | Microsoft Technology Licensing, Llc | Automatic display adjustment based on viewing angle |
CN113984046B (zh) * | 2021-10-25 | 2023-05-30 | 北京航空航天大学 | 一种基于体域惯性传感器网多特征融合的高精度室内定位方法 |
KR102665850B1 (ko) * | 2023-02-10 | 2024-05-14 | 김준범 | 보행 자세 교정 정보 제공 방법 및 이를 이용한 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5691387B2 (ja) * | 2009-10-30 | 2015-04-01 | カシオ計算機株式会社 | 歩行計測装置、歩行計測方法およびプログラム |
JP5206764B2 (ja) * | 2010-10-22 | 2013-06-12 | カシオ計算機株式会社 | 測位装置、測位方法およびプログラム |
JP5821513B2 (ja) * | 2011-10-18 | 2015-11-24 | セイコーエプソン株式会社 | 参照値生成方法及び参照値生成装置 |
GB201500411D0 (en) * | 2014-09-15 | 2015-02-25 | Isis Innovation | Determining the position of a mobile device in a geographical area |
-
2014
- 2014-03-25 JP JP2014061551A patent/JP2015184160A/ja active Pending
-
2015
- 2015-03-12 US US15/128,941 patent/US20180180441A1/en not_active Abandoned
- 2015-03-12 WO PCT/JP2015/001387 patent/WO2015146047A1/ja active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017085756A1 (ja) * | 2015-11-16 | 2017-05-26 | 富士通株式会社 | 情報処理装置、方法及びプログラム |
JP2017177203A (ja) * | 2016-03-31 | 2017-10-05 | Jfeスチール株式会社 | 圧延荷重測定装置の異常検出方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015146047A1 (ja) | 2015-10-01 |
US20180180441A1 (en) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015146047A1 (ja) | 参照値生成方法、運動解析方法、参照値生成装置及びプログラム | |
WO2015146046A1 (ja) | 相関係数補正方法、運動解析方法、相関係数補正装置及びプログラム | |
US11134865B2 (en) | Motion analysis system, motion analysis apparatus, motion analysis program, and motion analysis method | |
US10740599B2 (en) | Notification device, exercise analysis system, notification method, notification program, exercise support method, and exercise support device | |
WO2015146048A1 (ja) | 誤差推定方法、運動解析方法、誤差推定装置、及びプログラム | |
JP7342864B2 (ja) | 測位プログラム、測位方法、及び測位装置 | |
US20160029954A1 (en) | Exercise analysis apparatus, exercise analysis system, exercise analysis method, and exercise analysis program | |
US20210254979A1 (en) | Method of estimating a metric of interest related to the motion of a body | |
JP7023234B2 (ja) | 歩行者の動きを推定する方法 | |
US20150192413A1 (en) | Motion Tracking with Reduced On-Body Sensors Set | |
US20160030807A1 (en) | Exercise analysis system, exercise analysis apparatus, exercise analysis program, and exercise analysis method | |
US9677888B2 (en) | Determining sensor orientation in indoor navigation | |
JP2015190850A (ja) | 誤差推定方法、運動解析方法、誤差推定装置及びプログラム | |
JP2011503571A (ja) | 物体の方位測定 | |
JP2016116743A (ja) | 運動支援装置、運動支援方法及びプログラム | |
US20160030806A1 (en) | Exercise ability evaluation method, exercise ability evaluation apparatus, exercise ability calculation method, and exercise ability calculation apparatus | |
JP2016033473A (ja) | 位置算出方法及び位置算出装置 | |
Sadi et al. | New jump trajectory determination method using low-cost MEMS sensor fusion and augmented observations for GPS/INS integration | |
JP2015188605A (ja) | 誤差推定方法、運動解析方法、誤差推定装置及びプログラム | |
TWI687705B (zh) | 用於跟蹤和確定物體位置的方法和系統 | |
JP2013088280A (ja) | 参照値生成方法及び参照値生成装置 | |
JP2015184158A (ja) | 誤差推定方法、運動解析方法、誤差推定装置及びプログラム | |
JP2016032579A (ja) | 運動能力算出方法、運動能力算出装置、運動能力算出システム、およびプログラム | |
JP2016099270A (ja) | 位置算出方法、位置算出装置及び位置算出プログラム | |
JP7035440B2 (ja) | 位置計測方法、電子機器及び測位システム |